<!-- TROJAN_ENCRYPTED -->QGNoYXJzZXQgIlVURi04IjsKCi8qIQpBbmltYXRlLmNzcyAtIGh0dHA6Ly9kYW5lZGVuLm1lL2FuaW1hdGUKVmVyc2lvbiAtIDMuNC4wCkxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAtIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVQKCkNvcHlyaWdodCAoYykgMjAxNSBEYW5pZWwgRWRlbgoqLwoKLmFuaW1hdGVkIHsKICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7CiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxczsKICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7CiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDsKfQoKLmFuaW1hdGVkLmluZmluaXRlIHsKICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOwogIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOwp9CgouYW5pbWF0ZWQuaGluZ2UgewogIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAyczsKICBhbmltYXRpb24tZHVyYXRpb246IDJzOwp9CgouYW5pbWF0ZWQuYm91bmNlSW4sCi5hbmltYXRlZC5ib3VuY2VPdXQgewogIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAuNzVzOwogIGFuaW1hdGlvbi1kdXJhdGlvbjogLjc1czsKfQoKLmFuaW1hdGVkLmZsaXBPdXRYLAouYW5pbWF0ZWQuZmxpcE91dFkgewogIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAuNzVzOwogIGFuaW1hdGlvbi1kdXJhdGlvbjogLjc1czsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZSB7CiAgZnJvbSwgMjAlLCA1MyUsIDgwJSwgdG8gewogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTsKICB9CgogIDQwJSwgNDMlIHsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTsKICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCk7CiAgfQoKICA3MCUgewogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKTsKICB9CgogIDkwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwtNHB4LDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLC00cHgsMCk7CiAgfQp9CgpAa2V5ZnJhbWVzIGJvdW5jZSB7CiAgZnJvbSwgMjAlLCA1MyUsIDgwJSwgdG8gewogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTsKICB9CgogIDQwJSwgNDMlIHsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTsKICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCk7CiAgfQoKICA3MCUgewogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKTsKICB9CgogIDkwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwtNHB4LDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLC00cHgsMCk7CiAgfQp9CgouYm91bmNlIHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2U7CiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZTsKICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207CiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIGZsYXNoIHsKICBmcm9tLCA1MCUsIHRvIHsKICAgIG9wYWNpdHk6IDE7CiAgfQoKICAyNSUsIDc1JSB7CiAgICBvcGFjaXR5OiAwOwogIH0KfQoKQGtleWZyYW1lcyBmbGFzaCB7CiAgZnJvbSwgNTAlLCB0byB7CiAgICBvcGFjaXR5OiAxOwogIH0KCiAgMjUlLCA3NSUgewogICAgb3BhY2l0eTogMDsKICB9Cn0KCi5mbGFzaCB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxhc2g7CiAgYW5pbWF0aW9uLW5hbWU6IGZsYXNoOwp9CgovKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi8KCkAtd2Via2l0LWtleWZyYW1lcyBwdWxzZSB7CiAgZnJvbSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsKICB9CgogIDUwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTsKICB9CgogIHRvIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOwogIH0KfQoKQGtleWZyYW1lcyBwdWxzZSB7CiAgZnJvbSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsKICB9CgogIDUwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTsKICB9CgogIHRvIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOwogIH0KfQoKLnB1bHNlIHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBwdWxzZTsKICBhbmltYXRpb24tbmFtZTogcHVsc2U7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBydWJiZXJCYW5kIHsKICBmcm9tIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOwogIH0KCiAgMzAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpOwogIH0KCiAgNDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpOwogIH0KCiAgNTAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpOwogIH0KCiAgNjUlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45NSwgMS4wNSwgMSk7CiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjk1LCAxLjA1LCAxKTsKICB9CgogIDc1JSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAuOTUsIDEpOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIC45NSwgMSk7CiAgfQoKICB0byB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsKICB9Cn0KCkBrZXlmcmFtZXMgcnViYmVyQmFuZCB7CiAgZnJvbSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsKICB9CgogIDMwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTsKICB9CgogIDQwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTsKICB9CgogIDUwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTsKICB9CgogIDY1JSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOTUsIDEuMDUsIDEpOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NSwgMS4wNSwgMSk7CiAgfQoKICA3NSUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgLjk1LCAxKTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAuOTUsIDEpOwogIH0KCiAgdG8gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7CiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7CiAgfQp9CgoucnViYmVyQmFuZCB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcnViYmVyQmFuZDsKICBhbmltYXRpb24tbmFtZTogcnViYmVyQmFuZDsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIHNoYWtlIHsKICBmcm9tLCB0byB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOwogIH0KCiAgMTAlLCAzMCUsIDUwJSwgNzAlLCA5MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApOwogIH0KCiAgMjAlLCA0MCUsIDYwJSwgODAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7CiAgfQp9CgpAa2V5ZnJhbWVzIHNoYWtlIHsKICBmcm9tLCB0byB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOwogIH0KCiAgMTAlLCAzMCUsIDUwJSwgNzAlLCA5MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApOwogIH0KCiAgMjAlLCA0MCUsIDYwJSwgODAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7CiAgfQp9Cgouc2hha2UgewogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNoYWtlOwogIGFuaW1hdGlvbi1uYW1lOiBzaGFrZTsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIHN3aW5nIHsKICAyMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDE1ZGVnKTsKICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpOwogIH0KCiAgNDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpOwogICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpOwogIH0KCiAgNjAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTsKICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNWRlZyk7CiAgfQoKICA4MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTsKICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpOwogIH0KCiAgdG8gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpOwogICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTsKICB9Cn0KCkBrZXlmcmFtZXMgc3dpbmcgewogIDIwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpOwogICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7CiAgfQoKICA0MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7CiAgfQoKICA2MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpOwogICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTsKICB9CgogIDgwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpOwogICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7CiAgfQoKICB0byB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpOwogIH0KfQoKLnN3aW5nIHsKICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7CiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzd2luZzsKICBhbmltYXRpb24tbmFtZTogc3dpbmc7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyB0YWRhIHsKICBmcm9tIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOwogIH0KCiAgMTAlLCAyMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTsKICB9CgogIDMwJSwgNTAlLCA3MCUsIDkwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTsKICB9CgogIDQwJSwgNjAlLCA4MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTsKICB9CgogIHRvIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOwogIH0KfQoKQGtleWZyYW1lcyB0YWRhIHsKICBmcm9tIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOwogIH0KCiAgMTAlLCAyMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTsKICB9CgogIDMwJSwgNTAlLCA3MCUsIDkwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTsKICB9CgogIDQwJSwgNjAlLCA4MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTsKICB9CgogIHRvIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOwogIH0KfQoKLnRhZGEgewogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHRhZGE7CiAgYW5pbWF0aW9uLW5hbWU6IHRhZGE7Cn0KCi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqLwoKQC13ZWJraXQta2V5ZnJhbWVzIHdvYmJsZSB7CiAgZnJvbSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsKICAgIHRyYW5zZm9ybTogbm9uZTsKICB9CgogIDE1JSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7CiAgfQoKICAzMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7CiAgfQoKICA0NSUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpOwogIH0KCiAgNjAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDJkZWcpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDJkZWcpOwogIH0KCiAgNzUlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMWRlZyk7CiAgfQoKICB0byB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsKICAgIHRyYW5zZm9ybTogbm9uZTsKICB9Cn0KCkBrZXlmcmFtZXMgd29iYmxlIHsKICBmcm9tIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOwogICAgdHJhbnNmb3JtOiBub25lOwogIH0KCiAgMTUlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTsKICB9CgogIDMwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTsKICB9CgogIDQ1JSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7CiAgfQoKICA2MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7CiAgfQoKICA3NSUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTsKICB9CgogIHRvIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOwogICAgdHJhbnNmb3JtOiBub25lOwogIH0KfQoKLndvYmJsZSB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogd29iYmxlOwogIGFuaW1hdGlvbi1uYW1lOiB3b2JibGU7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBqZWxsbyB7CiAgZnJvbSwgMTEuMSUsIHRvIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOwogICAgdHJhbnNmb3JtOiBub25lOwogIH0KCiAgMjIuMiUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7CiAgICB0cmFuc2Zvcm06IHNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7CiAgfQoKICAzMy4zJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7CiAgICB0cmFuc2Zvcm06IHNrZXdYKDYuMjVkZWcpIHNrZXdZKDYuMjVkZWcpOwogIH0KCiAgNDQuNCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTsKICAgIHRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpOwogIH0KCiAgNTUuNSUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDEuNTYyNWRlZykgc2tld1koMS41NjI1ZGVnKTsKICAgIHRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpOwogIH0KCiAgNjYuNiUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7CiAgICB0cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7CiAgfQoKICA3Ny43JSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMC4zOTA2MjVkZWcpIHNrZXdZKDAuMzkwNjI1ZGVnKTsKICAgIHRyYW5zZm9ybTogc2tld1goMC4zOTA2MjVkZWcpIHNrZXdZKDAuMzkwNjI1ZGVnKTsKICB9CgogIDg4LjglIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMC4xOTUzMTI1ZGVnKSBza2V3WSgtMC4xOTUzMTI1ZGVnKTsKICAgIHRyYW5zZm9ybTogc2tld1goLTAuMTk1MzEyNWRlZykgc2tld1koLTAuMTk1MzEyNWRlZyk7CiAgfQp9CgpAa2V5ZnJhbWVzIGplbGxvIHsKICBmcm9tLCAxMS4xJSwgdG8gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7CiAgICB0cmFuc2Zvcm06IG5vbmU7CiAgfQoKICAyMi4yJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTsKICAgIHRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTsKICB9CgogIDMzLjMlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTsKICAgIHRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7CiAgfQoKICA0NC40JSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpOwogICAgdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7CiAgfQoKICA1NS41JSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpOwogICAgdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7CiAgfQoKICA2Ni42JSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTAuNzgxMjVkZWcpIHNrZXdZKC0wLjc4MTI1ZGVnKTsKICAgIHRyYW5zZm9ybTogc2tld1goLTAuNzgxMjVkZWcpIHNrZXdZKC0wLjc4MTI1ZGVnKTsKICB9CgogIDc3LjclIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgwLjM5MDYyNWRlZykgc2tld1koMC4zOTA2MjVkZWcpOwogICAgdHJhbnNmb3JtOiBza2V3WCgwLjM5MDYyNWRlZykgc2tld1koMC4zOTA2MjVkZWcpOwogIH0KCiAgODguOCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxMjVkZWcpIHNrZXdZKC0wLjE5NTMxMjVkZWcpOwogICAgdHJhbnNmb3JtOiBza2V3WCgtMC4xOTUzMTI1ZGVnKSBza2V3WSgtMC4xOTUzMTI1ZGVnKTsKICB9Cn0KCi5qZWxsbyB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogamVsbG87CiAgYW5pbWF0aW9uLW5hbWU6IGplbGxvOwogIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyOwogIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluIHsKICBmcm9tLCAyMCUsIDQwJSwgNjAlLCA4MCUsIHRvIHsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTsKICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7CiAgfQoKICAwJSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7CiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7CiAgfQoKICAyMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7CiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7CiAgfQoKICA0MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7CiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7CiAgfQoKICA2MCUgewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpOwogIH0KCiAgODAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45NywgLjk3LCAuOTcpOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NywgLjk3LCAuOTcpOwogIH0KCiAgdG8gewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOwogIH0KfQoKQGtleWZyYW1lcyBib3VuY2VJbiB7CiAgZnJvbSwgMjAlLCA0MCUsIDYwJSwgODAlLCB0byB7CiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7CiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApOwogIH0KCiAgMCUgewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpOwogIH0KCiAgMjAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpOwogIH0KCiAgNDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpOwogIH0KCiAgNjAlIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTsKICB9CgogIDgwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOTcsIC45NywgLjk3KTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOTcsIC45NywgLjk3KTsKICB9CgogIHRvIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsKICB9Cn0KCi5ib3VuY2VJbiB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW47CiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluOwp9CgpALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5Eb3duIHsKICBmcm9tLCA2MCUsIDc1JSwgOTAlLCB0byB7CiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7CiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApOwogIH0KCiAgMCUgewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCk7CiAgfQoKICA2MCUgewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCk7CiAgfQoKICA3NSUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApOwogIH0KCiAgOTAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApOwogIH0KCiAgdG8gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7CiAgICB0cmFuc2Zvcm06IG5vbmU7CiAgfQp9CgpAa2V5ZnJhbWVzIGJvdW5jZUluRG93biB7CiAgZnJvbSwgNjAlLCA3NSUsIDkwJSwgdG8gewogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTsKICB9CgogIDAlIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMDAwcHgsIDApOwogIH0KCiAgNjAlIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApOwogIH0KCiAgNzUlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTsKICB9CgogIDkwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTsKICB9CgogIHRvIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOwogICAgdHJhbnNmb3JtOiBub25lOwogIH0KfQoKLmJvdW5jZUluRG93biB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5Eb3duOwogIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkxlZnQgewogIGZyb20sIDYwJSwgNzUlLCA5MCUsIHRvIHsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTsKICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7CiAgfQoKICAwJSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKTsKICB9CgogIDYwJSB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKTsKICB9CgogIDc1JSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7CiAgfQoKICA5MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCk7CiAgfQoKICB0byB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsKICAgIHRyYW5zZm9ybTogbm9uZTsKICB9Cn0KCkBrZXlmcmFtZXMgYm91bmNlSW5MZWZ0IHsKICBmcm9tLCA2MCUsIDc1JSwgOTAlLCB0byB7CiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7CiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApOwogIH0KCiAgMCUgewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCk7CiAgfQoKICA2MCUgewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCk7CiAgfQoKICA3NSUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApOwogIH0KCiAgOTAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApOwogIH0KCiAgdG8gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7CiAgICB0cmFuc2Zvcm06IG5vbmU7CiAgfQp9CgouYm91bmNlSW5MZWZ0IHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkxlZnQ7CiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluTGVmdDsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluUmlnaHQgewogIGZyb20sIDYwJSwgNzUlLCA5MCUsIHRvIHsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTsKICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7CiAgfQoKICBmcm9tIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKTsKICB9CgogIDYwJSB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApOwogIH0KCiAgNzUlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7CiAgfQoKICA5MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKTsKICB9CgogIHRvIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOwogICAgdHJhbnNmb3JtOiBub25lOwogIH0KfQoKQGtleWZyYW1lcyBib3VuY2VJblJpZ2h0IHsKICBmcm9tLCA2MCUsIDc1JSwgOTAlLCB0byB7CiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7CiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApOwogIH0KCiAgZnJvbSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7CiAgfQoKICA2MCUgewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKTsKICB9CgogIDc1JSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApOwogIH0KCiAgOTAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCk7CiAgfQoKICB0byB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsKICAgIHRyYW5zZm9ybTogbm9uZTsKICB9Cn0KCi5ib3VuY2VJblJpZ2h0IHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblJpZ2h0OwogIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblJpZ2h0Owp9CgpALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5VcCB7CiAgZnJvbSwgNjAlLCA3NSUsIDkwJSwgdG8gewogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTsKICB9CgogIGZyb20gewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApOwogIH0KCiAgNjAlIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7CiAgfQoKICA3NSUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTsKICB9CgogIDkwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApOwogIH0KCiAgdG8gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsKICB9Cn0KCkBrZXlmcmFtZXMgYm91bmNlSW5VcCB7CiAgZnJvbSwgNjAlLCA3NSUsIDkwJSwgdG8gewogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTsKICB9CgogIGZyb20gewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApOwogIH0KCiAgNjAlIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7CiAgfQoKICA3NSUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTsKICB9CgogIDkwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApOwogIH0KCiAgdG8gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsKICB9Cn0KCi5ib3VuY2VJblVwIHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblVwOwogIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblVwOwp9CgpALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0IHsKICAyMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7CiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7CiAgfQoKICA1MCUsIDU1JSB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7CiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7CiAgfQoKICB0byB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7CiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7CiAgfQp9CgpAa2V5ZnJhbWVzIGJvdW5jZU91dCB7CiAgMjAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpOwogIH0KCiAgNTAlLCA1NSUgewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpOwogIH0KCiAgdG8gewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpOwogIH0KfQoKLmJvdW5jZU91dCB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0OwogIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXQ7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXREb3duIHsKICAyMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTsKICB9CgogIDQwJSwgNDUlIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7CiAgfQoKICB0byB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7CiAgfQp9CgpAa2V5ZnJhbWVzIGJvdW5jZU91dERvd24gewogIDIwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApOwogIH0KCiAgNDAlLCA0NSUgewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTsKICB9CgogIHRvIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTsKICB9Cn0KCi5ib3VuY2VPdXREb3duIHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXREb3duOwogIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXREb3duOwp9CgpALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0TGVmdCB7CiAgMjAlIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApOwogIH0KCiAgdG8gewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7CiAgfQp9CgpAa2V5ZnJhbWVzIGJvdW5jZU91dExlZnQgewogIDIwJSB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKTsKICB9CgogIHRvIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApOwogIH0KfQoKLmJvdW5jZU91dExlZnQgewogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dExlZnQ7CiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dExlZnQ7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRSaWdodCB7CiAgMjAlIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCk7CiAgfQoKICB0byB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7CiAgfQp9CgpAa2V5ZnJhbWVzIGJvdW5jZU91dFJpZ2h0IHsKICAyMCUgewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKTsKICB9CgogIHRvIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTsKICB9Cn0KCi5ib3VuY2VPdXRSaWdodCB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0UmlnaHQ7CiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFJpZ2h0Owp9CgpALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0VXAgewogIDIwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7CiAgfQoKICA0MCUsIDQ1JSB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTsKICB9CgogIHRvIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApOwogIH0KfQoKQGtleWZyYW1lcyBib3VuY2VPdXRVcCB7CiAgMjAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTsKICB9CgogIDQwJSwgNDUlIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApOwogIH0KCiAgdG8gewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7CiAgfQp9CgouYm91bmNlT3V0VXAgewogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFVwOwogIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRVcDsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbiB7CiAgZnJvbSB7CiAgICBvcGFjaXR5OiAwOwogIH0KCiAgdG8gewogICAgb3BhY2l0eTogMTsKICB9Cn0KCkBrZXlmcmFtZXMgZmFkZUluIHsKICBmcm9tIHsKICAgIG9wYWNpdHk6IDA7CiAgfQoKICB0byB7CiAgICBvcGFjaXR5OiAxOwogIH0KfQoKLmZhZGVJbiB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluOwogIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW47Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Eb3duIHsKICBmcm9tIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7CiAgfQoKICB0byB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7CiAgICB0cmFuc2Zvcm06IG5vbmU7CiAgfQp9CgpAa2V5ZnJhbWVzIGZhZGVJbkRvd24gewogIGZyb20gewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsKICB9CgogIHRvIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsKICAgIHRyYW5zZm9ybTogbm9uZTsKICB9Cn0KCi5mYWRlSW5Eb3duIHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duOwogIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duOwp9CgpALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluRG93bkJpZyB7CiAgZnJvbSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTsKICB9CgogIHRvIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsKICAgIHRyYW5zZm9ybTogbm9uZTsKICB9Cn0KCkBrZXlmcmFtZXMgZmFkZUluRG93bkJpZyB7CiAgZnJvbSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTsKICB9CgogIHRvIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsKICAgIHRyYW5zZm9ybTogbm9uZTsKICB9Cn0KCi5mYWRlSW5Eb3duQmlnIHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duQmlnOwogIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duQmlnOwp9CgpALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluTGVmdCB7CiAgZnJvbSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOwogIH0KCiAgdG8gewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOwogICAgdHJhbnNmb3JtOiBub25lOwogIH0KfQoKQGtleWZyYW1lcyBmYWRlSW5MZWZ0IHsKICBmcm9tIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7CiAgfQoKICB0byB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7CiAgICB0cmFuc2Zvcm06IG5vbmU7CiAgfQp9CgouZmFkZUluTGVmdCB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDsKICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnRCaWcgewogIGZyb20gewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7CiAgfQoKICB0byB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7CiAgICB0cmFuc2Zvcm06IG5vbmU7CiAgfQp9CgpAa2V5ZnJhbWVzIGZhZGVJbkxlZnRCaWcgewogIGZyb20gewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7CiAgfQoKICB0byB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7CiAgICB0cmFuc2Zvcm06IG5vbmU7CiAgfQp9CgouZmFkZUluTGVmdEJpZyB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluTGVmdEJpZzsKICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdEJpZzsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHsKICBmcm9tIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOwogIH0KCiAgdG8gewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOwogICAgdHJhbnNmb3JtOiBub25lOwogIH0KfQoKQGtleWZyYW1lcyBmYWRlSW5SaWdodCB7CiAgZnJvbSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsKICB9CgogIHRvIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsKICAgIHRyYW5zZm9ybTogbm9uZTsKICB9Cn0KCi5mYWRlSW5SaWdodCB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7CiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0Owp9CgpALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluUmlnaHRCaWcgewogIGZyb20gewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApOwogIH0KCiAgdG8gewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOwogICAgdHJhbnNmb3JtOiBub25lOwogIH0KfQoKQGtleWZyYW1lcyBmYWRlSW5SaWdodEJpZyB7CiAgZnJvbSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7CiAgfQoKICB0byB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7CiAgICB0cmFuc2Zvcm06IG5vbmU7CiAgfQp9CgouZmFkZUluUmlnaHRCaWcgewogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0QmlnOwogIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodEJpZzsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblVwIHsKICBmcm9tIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApOwogIH0KCiAgdG8gewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOwogICAgdHJhbnNmb3JtOiBub25lOwogIH0KfQoKQGtleWZyYW1lcyBmYWRlSW5VcCB7CiAgZnJvbSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTsKICB9CgogIHRvIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsKICAgIHRyYW5zZm9ybTogbm9uZTsKICB9Cn0KCi5mYWRlSW5VcCB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluVXA7CiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwOwp9CgpALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXBCaWcgewogIGZyb20gewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApOwogIH0KCiAgdG8gewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOwogICAgdHJhbnNmb3JtOiBub25lOwogIH0KfQoKQGtleWZyYW1lcyBmYWRlSW5VcEJpZyB7CiAgZnJvbSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7CiAgfQoKICB0byB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7CiAgICB0cmFuc2Zvcm06IG5vbmU7CiAgfQp9CgouZmFkZUluVXBCaWcgewogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwQmlnOwogIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcEJpZzsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXQgewogIGZyb20gewogICAgb3BhY2l0eTogMTsKICB9CgogIHRvIHsKICAgIG9wYWNpdHk6IDA7CiAgfQp9CgpAa2V5ZnJhbWVzIGZhZGVPdXQgewogIGZyb20gewogICAgb3BhY2l0eTogMTsKICB9CgogIHRvIHsKICAgIG9wYWNpdHk6IDA7CiAgfQp9CgouZmFkZU91dCB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dDsKICBhbmltYXRpb24tbmFtZTogZmFkZU91dDsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXREb3duIHsKICBmcm9tIHsKICAgIG9wYWNpdHk6IDE7CiAgfQoKICB0byB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTsKICB9Cn0KCkBrZXlmcmFtZXMgZmFkZU91dERvd24gewogIGZyb20gewogICAgb3BhY2l0eTogMTsKICB9CgogIHRvIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApOwogIH0KfQoKLmZhZGVPdXREb3duIHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bjsKICBhbmltYXRpb24tbmFtZTogZmFkZU91dERvd247Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0RG93bkJpZyB7CiAgZnJvbSB7CiAgICBvcGFjaXR5OiAxOwogIH0KCiAgdG8gewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApOwogIH0KfQoKQGtleWZyYW1lcyBmYWRlT3V0RG93bkJpZyB7CiAgZnJvbSB7CiAgICBvcGFjaXR5OiAxOwogIH0KCiAgdG8gewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApOwogIH0KfQoKLmZhZGVPdXREb3duQmlnIHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bkJpZzsKICBhbmltYXRpb24tbmFtZTogZmFkZU91dERvd25CaWc7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0TGVmdCB7CiAgZnJvbSB7CiAgICBvcGFjaXR5OiAxOwogIH0KCiAgdG8gewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsKICB9Cn0KCkBrZXlmcmFtZXMgZmFkZU91dExlZnQgewogIGZyb20gewogICAgb3BhY2l0eTogMTsKICB9CgogIHRvIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7CiAgfQp9CgouZmFkZU91dExlZnQgewogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0OwogIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRMZWZ0QmlnIHsKICBmcm9tIHsKICAgIG9wYWNpdHk6IDE7CiAgfQoKICB0byB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTsKICB9Cn0KCkBrZXlmcmFtZXMgZmFkZU91dExlZnRCaWcgewogIGZyb20gewogICAgb3BhY2l0eTogMTsKICB9CgogIHRvIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApOwogIH0KfQoKLmZhZGVPdXRMZWZ0QmlnIHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdEJpZzsKICBhbmltYXRpb24tbmFtZTogZmFkZU91dExlZnRCaWc7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0UmlnaHQgewogIGZyb20gewogICAgb3BhY2l0eTogMTsKICB9CgogIHRvIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOwogIH0KfQoKQGtleWZyYW1lcyBmYWRlT3V0UmlnaHQgewogIGZyb20gewogICAgb3BhY2l0eTogMTsKICB9CgogIHRvIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOwogIH0KfQoKLmZhZGVPdXRSaWdodCB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0OwogIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHQ7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0UmlnaHRCaWcgewogIGZyb20gewogICAgb3BhY2l0eTogMTsKICB9CgogIHRvIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTsKICB9Cn0KCkBrZXlmcmFtZXMgZmFkZU91dFJpZ2h0QmlnIHsKICBmcm9tIHsKICAgIG9wYWNpdHk6IDE7CiAgfQoKICB0byB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7CiAgfQp9CgouZmFkZU91dFJpZ2h0QmlnIHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHRCaWc7CiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodEJpZzsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcCB7CiAgZnJvbSB7CiAgICBvcGFjaXR5OiAxOwogIH0KCiAgdG8gewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsKICB9Cn0KCkBrZXlmcmFtZXMgZmFkZU91dFVwIHsKICBmcm9tIHsKICAgIG9wYWNpdHk6IDE7CiAgfQoKICB0byB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApOwogIH0KfQoKLmZhZGVPdXRVcCB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFVwOwogIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXA7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VXBCaWcgewogIGZyb20gewogICAgb3BhY2l0eTogMTsKICB9CgogIHRvIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApOwogIH0KfQoKQGtleWZyYW1lcyBmYWRlT3V0VXBCaWcgewogIGZyb20gewogICAgb3BhY2l0eTogMTsKICB9CgogIHRvIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApOwogIH0KfQoKLmZhZGVPdXRVcEJpZyB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFVwQmlnOwogIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXBCaWc7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBmbGlwIHsKICBmcm9tIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7CiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMzYwZGVnKTsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7CiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsKICB9CgogIDQwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTsKICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7CiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsKICB9CgogIDUwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTsKICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47CiAgfQoKICA4MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKC45NSwgLjk1LCAuOTUpOwogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCguOTUsIC45NSwgLjk1KTsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47CiAgfQoKICB0byB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpOwogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7CiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47CiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOwogIH0KfQoKQGtleWZyYW1lcyBmbGlwIHsKICBmcm9tIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7CiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMzYwZGVnKTsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7CiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsKICB9CgogIDQwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTsKICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7CiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsKICB9CgogIDUwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTsKICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47CiAgfQoKICA4MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKC45NSwgLjk1LCAuOTUpOwogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCguOTUsIC45NSwgLjk1KTsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47CiAgfQoKICB0byB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpOwogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7CiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47CiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOwogIH0KfQoKLmFuaW1hdGVkLmZsaXAgewogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZTsKICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlOwogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXA7CiAgYW5pbWF0aW9uLW5hbWU6IGZsaXA7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBmbGlwSW5YIHsKICBmcm9tIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpOwogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpOwogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKICAgIG9wYWNpdHk6IDA7CiAgfQoKICA0MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpOwogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47CiAgfQoKICA2MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7CiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7CiAgICBvcGFjaXR5OiAxOwogIH0KCiAgODAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpOwogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpOwogIH0KCiAgdG8gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsKICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpOwogIH0KfQoKQGtleWZyYW1lcyBmbGlwSW5YIHsKICBmcm9tIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpOwogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpOwogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKICAgIG9wYWNpdHk6IDA7CiAgfQoKICA0MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpOwogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47CiAgfQoKICA2MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7CiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7CiAgICBvcGFjaXR5OiAxOwogIH0KCiAgODAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpOwogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpOwogIH0KCiAgdG8gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsKICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpOwogIH0KfQoKLmZsaXBJblggewogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50OwogIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwSW5YOwogIGFuaW1hdGlvbi1uYW1lOiBmbGlwSW5YOwp9CgpALXdlYmtpdC1rZXlmcmFtZXMgZmxpcEluWSB7CiAgZnJvbSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTsKICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47CiAgICBvcGFjaXR5OiAwOwogIH0KCiAgNDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTsKICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0yMGRlZyk7CiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47CiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOwogIH0KCiAgNjAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpOwogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpOwogICAgb3BhY2l0eTogMTsKICB9CgogIDgwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKTsKICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKTsKICB9CgogIHRvIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7CiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsKICB9Cn0KCkBrZXlmcmFtZXMgZmxpcEluWSB7CiAgZnJvbSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTsKICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47CiAgICBvcGFjaXR5OiAwOwogIH0KCiAgNDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTsKICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0yMGRlZyk7CiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47CiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOwogIH0KCiAgNjAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpOwogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpOwogICAgb3BhY2l0eTogMTsKICB9CgogIDgwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKTsKICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKTsKICB9CgogIHRvIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7CiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsKICB9Cn0KCi5mbGlwSW5ZIHsKICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsKICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcEluWTsKICBhbmltYXRpb24tbmFtZTogZmxpcEluWTsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBPdXRYIHsKICBmcm9tIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7CiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsKICB9CgogIDMwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7CiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpOwogICAgb3BhY2l0eTogMTsKICB9CgogIHRvIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpOwogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpOwogICAgb3BhY2l0eTogMDsKICB9Cn0KCkBrZXlmcmFtZXMgZmxpcE91dFggewogIGZyb20gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsKICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpOwogIH0KCiAgMzAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTsKICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7CiAgICBvcGFjaXR5OiAxOwogIH0KCiAgdG8gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7CiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7CiAgICBvcGFjaXR5OiAwOwogIH0KfQoKLmZsaXBPdXRYIHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WDsKICBhbmltYXRpb24tbmFtZTogZmxpcE91dFg7CiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7CiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50Owp9CgpALXdlYmtpdC1rZXlmcmFtZXMgZmxpcE91dFkgewogIGZyb20gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsKICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpOwogIH0KCiAgMzAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTsKICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7CiAgICBvcGFjaXR5OiAxOwogIH0KCiAgdG8gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7CiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7CiAgICBvcGFjaXR5OiAwOwogIH0KfQoKQGtleWZyYW1lcyBmbGlwT3V0WSB7CiAgZnJvbSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpOwogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7CiAgfQoKICAzMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTVkZWcpOwogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTsKICAgIG9wYWNpdHk6IDE7CiAgfQoKICB0byB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTsKICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTsKICAgIG9wYWNpdHk6IDA7CiAgfQp9CgouZmxpcE91dFkgewogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50OwogIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WTsKICBhbmltYXRpb24tbmFtZTogZmxpcE91dFk7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkSW4gewogIGZyb20gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7CiAgICBvcGFjaXR5OiAwOwogIH0KCiAgNjAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgyMGRlZyk7CiAgICB0cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTsKICAgIG9wYWNpdHk6IDE7CiAgfQoKICA4MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC01ZGVnKTsKICAgIHRyYW5zZm9ybTogc2tld1goLTVkZWcpOwogICAgb3BhY2l0eTogMTsKICB9CgogIHRvIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOwogICAgdHJhbnNmb3JtOiBub25lOwogICAgb3BhY2l0eTogMTsKICB9Cn0KCkBrZXlmcmFtZXMgbGlnaHRTcGVlZEluIHsKICBmcm9tIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpOwogICAgb3BhY2l0eTogMDsKICB9CgogIDYwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMjBkZWcpOwogICAgdHJhbnNmb3JtOiBza2V3WCgyMGRlZyk7CiAgICBvcGFjaXR5OiAxOwogIH0KCiAgODAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7CiAgICB0cmFuc2Zvcm06IHNrZXdYKC01ZGVnKTsKICAgIG9wYWNpdHk6IDE7CiAgfQoKICB0byB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsKICAgIHRyYW5zZm9ybTogbm9uZTsKICAgIG9wYWNpdHk6IDE7CiAgfQp9CgoubGlnaHRTcGVlZEluIHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW47CiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJbjsKICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OwogIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Owp9CgpALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZE91dCB7CiAgZnJvbSB7CiAgICBvcGFjaXR5OiAxOwogIH0KCiAgdG8gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpOwogICAgb3BhY2l0eTogMDsKICB9Cn0KCkBrZXlmcmFtZXMgbGlnaHRTcGVlZE91dCB7CiAgZnJvbSB7CiAgICBvcGFjaXR5OiAxOwogIH0KCiAgdG8gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpOwogICAgb3BhY2l0eTogMDsKICB9Cn0KCi5saWdodFNwZWVkT3V0IHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0OwogIGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0OwogIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOwp9CgpALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW4gewogIGZyb20gewogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpOwogICAgb3BhY2l0eTogMDsKICB9CgogIHRvIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyOwogICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7CiAgICB0cmFuc2Zvcm06IG5vbmU7CiAgICBvcGFjaXR5OiAxOwogIH0KfQoKQGtleWZyYW1lcyByb3RhdGVJbiB7CiAgZnJvbSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsKICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMjAwZGVnKTsKICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7CiAgICBvcGFjaXR5OiAwOwogIH0KCiAgdG8gewogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsKICAgIHRyYW5zZm9ybTogbm9uZTsKICAgIG9wYWNpdHk6IDE7CiAgfQp9Cgoucm90YXRlSW4gewogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluOwogIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbjsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluRG93bkxlZnQgewogIGZyb20gewogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsKICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7CiAgICBvcGFjaXR5OiAwOwogIH0KCiAgdG8gewogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsKICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7CiAgICB0cmFuc2Zvcm06IG5vbmU7CiAgICBvcGFjaXR5OiAxOwogIH0KfQoKQGtleWZyYW1lcyByb3RhdGVJbkRvd25MZWZ0IHsKICBmcm9tIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpOwogICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpOwogICAgb3BhY2l0eTogMDsKICB9CgogIHRvIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOwogICAgdHJhbnNmb3JtOiBub25lOwogICAgb3BhY2l0eTogMTsKICB9Cn0KCi5yb3RhdGVJbkRvd25MZWZ0IHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25MZWZ0OwogIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25MZWZ0Owp9CgpALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5Eb3duUmlnaHQgewogIGZyb20gewogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpOwogICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7CiAgICBvcGFjaXR5OiAwOwogIH0KCiAgdG8gewogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207CiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsKICAgIHRyYW5zZm9ybTogbm9uZTsKICAgIG9wYWNpdHk6IDE7CiAgfQp9CgpAa2V5ZnJhbWVzIHJvdGF0ZUluRG93blJpZ2h0IHsKICBmcm9tIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOwogICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTsKICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpOwogICAgb3BhY2l0eTogMDsKICB9CgogIHRvIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOwogICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7CiAgICB0cmFuc2Zvcm06IG5vbmU7CiAgICBvcGFjaXR5OiAxOwogIH0KfQoKLnJvdGF0ZUluRG93blJpZ2h0IHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25SaWdodDsKICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duUmlnaHQ7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7CiAgZnJvbSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOwogICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpOwogICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7CiAgICBvcGFjaXR5OiAwOwogIH0KCiAgdG8gewogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsKICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7CiAgICB0cmFuc2Zvcm06IG5vbmU7CiAgICBvcGFjaXR5OiAxOwogIH0KfQoKQGtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7CiAgZnJvbSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOwogICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpOwogICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7CiAgICBvcGFjaXR5OiAwOwogIH0KCiAgdG8gewogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsKICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7CiAgICB0cmFuc2Zvcm06IG5vbmU7CiAgICBvcGFjaXR5OiAxOwogIH0KfQoKLnJvdGF0ZUluVXBMZWZ0IHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwTGVmdDsKICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5VcExlZnQ7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQgewogIGZyb20gewogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTkwZGVnKTsKICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTkwZGVnKTsKICAgIG9wYWNpdHk6IDA7CiAgfQoKICB0byB7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsKICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOwogICAgdHJhbnNmb3JtOiBub25lOwogICAgb3BhY2l0eTogMTsKICB9Cn0KCkBrZXlmcmFtZXMgcm90YXRlSW5VcFJpZ2h0IHsKICBmcm9tIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOwogICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7CiAgICBvcGFjaXR5OiAwOwogIH0KCiAgdG8gewogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207CiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsKICAgIHRyYW5zZm9ybTogbm9uZTsKICAgIG9wYWNpdHk6IDE7CiAgfQp9Cgoucm90YXRlSW5VcFJpZ2h0IHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwUmlnaHQ7CiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBSaWdodDsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dCB7CiAgZnJvbSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsKICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsKICAgIG9wYWNpdHk6IDE7CiAgfQoKICB0byB7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsKICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAyMDBkZWcpOwogICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAyMDBkZWcpOwogICAgb3BhY2l0eTogMDsKICB9Cn0KCkBrZXlmcmFtZXMgcm90YXRlT3V0IHsKICBmcm9tIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyOwogICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyOwogICAgb3BhY2l0eTogMTsKICB9CgogIHRvIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyOwogICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7CiAgICBvcGFjaXR5OiAwOwogIH0KfQoKLnJvdGF0ZU91dCB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0OwogIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXQ7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXREb3duTGVmdCB7CiAgZnJvbSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOwogICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207CiAgICBvcGFjaXR5OiAxOwogIH0KCiAgdG8gewogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsKICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTsKICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpOwogICAgb3BhY2l0eTogMDsKICB9Cn0KCkBrZXlmcmFtZXMgcm90YXRlT3V0RG93bkxlZnQgewogIGZyb20gewogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsKICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOwogICAgb3BhY2l0eTogMTsKICB9CgogIHRvIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTsKICAgIG9wYWNpdHk6IDA7CiAgfQp9Cgoucm90YXRlT3V0RG93bkxlZnQgewogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25MZWZ0OwogIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duTGVmdDsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dERvd25SaWdodCB7CiAgZnJvbSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsKICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsKICAgIG9wYWNpdHk6IDE7CiAgfQoKICB0byB7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsKICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpOwogICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpOwogICAgb3BhY2l0eTogMDsKICB9Cn0KCkBrZXlmcmFtZXMgcm90YXRlT3V0RG93blJpZ2h0IHsKICBmcm9tIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOwogICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOwogICAgb3BhY2l0eTogMTsKICB9CgogIHRvIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOwogICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7CiAgICBvcGFjaXR5OiAwOwogIH0KfQoKLnJvdGF0ZU91dERvd25SaWdodCB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93blJpZ2h0OwogIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duUmlnaHQ7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXRVcExlZnQgewogIGZyb20gewogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsKICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOwogICAgb3BhY2l0eTogMTsKICB9CgogIHRvIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpOwogICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpOwogICAgb3BhY2l0eTogMDsKICB9Cn0KCkBrZXlmcmFtZXMgcm90YXRlT3V0VXBMZWZ0IHsKICBmcm9tIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsKICAgIG9wYWNpdHk6IDE7CiAgfQoKICB0byB7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOwogICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTsKICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTsKICAgIG9wYWNpdHk6IDA7CiAgfQp9Cgoucm90YXRlT3V0VXBMZWZ0IHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcExlZnQ7CiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwTGVmdDsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dFVwUmlnaHQgewogIGZyb20gewogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207CiAgICBvcGFjaXR5OiAxOwogIH0KCiAgdG8gewogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpOwogICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7CiAgICBvcGFjaXR5OiAwOwogIH0KfQoKQGtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHsKICBmcm9tIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOwogICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOwogICAgb3BhY2l0eTogMTsKICB9CgogIHRvIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOwogICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDkwZGVnKTsKICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpOwogICAgb3BhY2l0eTogMDsKICB9Cn0KCi5yb3RhdGVPdXRVcFJpZ2h0IHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcFJpZ2h0OwogIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcFJpZ2h0Owp9CgpALXdlYmtpdC1rZXlmcmFtZXMgaGluZ2UgewogIDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7CiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsKICB9CgogIDIwJSwgNjAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7CiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsKICB9CgogIDQwJSwgODAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7CiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsKICAgIG9wYWNpdHk6IDE7CiAgfQoKICB0byB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA3MDBweCwgMCk7CiAgICBvcGFjaXR5OiAwOwogIH0KfQoKQGtleWZyYW1lcyBoaW5nZSB7CiAgMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsKICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0OwogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsKICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OwogIH0KCiAgMjAlLCA2MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTsKICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgODBkZWcpOwogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsKICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0OwogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsKICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OwogIH0KCiAgNDAlLCA4MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTsKICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNjBkZWcpOwogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsKICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0OwogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsKICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OwogICAgb3BhY2l0eTogMTsKICB9CgogIHRvIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA3MDBweCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTsKICAgIG9wYWNpdHk6IDA7CiAgfQp9CgouaGluZ2UgewogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGhpbmdlOwogIGFuaW1hdGlvbi1uYW1lOiBoaW5nZTsKfQoKLyogb3JpZ2luYWxseSBhdXRob3JlZCBieSBOaWNrIFBldHRpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrcGV0dGl0L2dsaWRlICovCgpALXdlYmtpdC1rZXlmcmFtZXMgcm9sbEluIHsKICBmcm9tIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTEyMGRlZyk7CiAgfQoKICB0byB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7CiAgICB0cmFuc2Zvcm06IG5vbmU7CiAgfQp9CgpAa2V5ZnJhbWVzIHJvbGxJbiB7CiAgZnJvbSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpOwogIH0KCiAgdG8gewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOwogICAgdHJhbnNmb3JtOiBub25lOwogIH0KfQoKLnJvbGxJbiB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm9sbEluOwogIGFuaW1hdGlvbi1uYW1lOiByb2xsSW47Cn0KCi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqLwoKQC13ZWJraXQta2V5ZnJhbWVzIHJvbGxPdXQgewogIGZyb20gewogICAgb3BhY2l0eTogMTsKICB9CgogIHRvIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTsKICB9Cn0KCkBrZXlmcmFtZXMgcm9sbE91dCB7CiAgZnJvbSB7CiAgICBvcGFjaXR5OiAxOwogIH0KCiAgdG8gewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAxMjBkZWcpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAxMjBkZWcpOwogIH0KfQoKLnJvbGxPdXQgewogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvbGxPdXQ7CiAgYW5pbWF0aW9uLW5hbWU6IHJvbGxPdXQ7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW4gewogIGZyb20gewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpOwogIH0KCiAgNTAlIHsKICAgIG9wYWNpdHk6IDE7CiAgfQp9CgpAa2V5ZnJhbWVzIHpvb21JbiB7CiAgZnJvbSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7CiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7CiAgfQoKICA1MCUgewogICAgb3BhY2l0eTogMTsKICB9Cn0KCi56b29tSW4gewogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JbjsKICBhbmltYXRpb24tbmFtZTogem9vbUluOwp9CgpALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluRG93biB7CiAgZnJvbSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7CiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7CiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7CiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApOwogIH0KCiAgNjAlIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOwogIH0KfQoKQGtleWZyYW1lcyB6b29tSW5Eb3duIHsKICBmcm9tIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTsKICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7CiAgfQoKICA2MCUgewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApOwogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7CiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7CiAgfQp9Cgouem9vbUluRG93biB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluRG93bjsKICBhbmltYXRpb24tbmFtZTogem9vbUluRG93bjsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JbkxlZnQgewogIGZyb20gewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApOwogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTsKICB9CgogIDYwJSB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7CiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTsKICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTsKICB9Cn0KCkBrZXlmcmFtZXMgem9vbUluTGVmdCB7CiAgZnJvbSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7CiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7CiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApOwogIH0KCiAgNjAlIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOwogIH0KfQoKLnpvb21JbkxlZnQgewogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JbkxlZnQ7CiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JbkxlZnQ7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5SaWdodCB7CiAgZnJvbSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LCAwLCAwKTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApOwogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTsKICB9CgogIDYwJSB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOwogIH0KfQoKQGtleWZyYW1lcyB6b29tSW5SaWdodCB7CiAgZnJvbSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LCAwLCAwKTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApOwogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTsKICB9CgogIDYwJSB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOwogIH0KfQoKLnpvb21JblJpZ2h0IHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5SaWdodDsKICBhbmltYXRpb24tbmFtZTogem9vbUluUmlnaHQ7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5VcCB7CiAgZnJvbSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApOwogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTsKICB9CgogIDYwJSB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOwogIH0KfQoKQGtleWZyYW1lcyB6b29tSW5VcCB7CiAgZnJvbSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApOwogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTsKICB9CgogIDYwJSB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOwogIH0KfQoKLnpvb21JblVwIHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5VcDsKICBhbmltYXRpb24tbmFtZTogem9vbUluVXA7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0IHsKICBmcm9tIHsKICAgIG9wYWNpdHk6IDE7CiAgfQoKICA1MCUgewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpOwogIH0KCiAgdG8gewogICAgb3BhY2l0eTogMDsKICB9Cn0KCkBrZXlmcmFtZXMgem9vbU91dCB7CiAgZnJvbSB7CiAgICBvcGFjaXR5OiAxOwogIH0KCiAgNTAlIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTsKICB9CgogIHRvIHsKICAgIG9wYWNpdHk6IDA7CiAgfQp9Cgouem9vbU91dCB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dDsKICBhbmltYXRpb24tbmFtZTogem9vbU91dDsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXREb3duIHsKICA0MCUgewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7CiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7CiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApOwogIH0KCiAgdG8gewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7CiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTsKICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207CiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTsKICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTsKICB9Cn0KCkBrZXlmcmFtZXMgem9vbU91dERvd24gewogIDQwJSB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTsKICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7CiAgfQoKICB0byB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApOwogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tOwogICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOwogIH0KfQoKLnpvb21PdXREb3duIHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0RG93bjsKICBhbmltYXRpb24tbmFtZTogem9vbU91dERvd247Cn0KCkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0TGVmdCB7CiAgNDAlIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTsKICB9CgogIHRvIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApOwogICAgdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyOwogICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7CiAgfQp9CgpAa2V5ZnJhbWVzIHpvb21PdXRMZWZ0IHsKICA0MCUgewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsIDAsIDApOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsIDAsIDApOwogIH0KCiAgdG8gewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjsKICB9Cn0KCi56b29tT3V0TGVmdCB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dExlZnQ7CiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRMZWZ0Owp9CgpALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dFJpZ2h0IHsKICA0MCUgewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7CiAgfQoKICB0byB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApOwogICAgdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyOwogICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyOwogIH0KfQoKQGtleWZyYW1lcyB6b29tT3V0UmlnaHQgewogIDQwJSB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTsKICB9CgogIHRvIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApOwogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7CiAgfQp9Cgouem9vbU91dFJpZ2h0IHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0UmlnaHQ7CiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRSaWdodDsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXRVcCB7CiAgNDAlIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTsKICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7CiAgfQoKICB0byB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7CiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tOwogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7CiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7CiAgfQp9CgpAa2V5ZnJhbWVzIHpvb21PdXRVcCB7CiAgNDAlIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTsKICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7CiAgfQoKICB0byB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7CiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tOwogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7CiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7CiAgfQp9Cgouem9vbU91dFVwIHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0VXA7CiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRVcDsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5Eb3duIHsKICBmcm9tIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsKICAgIHZpc2liaWxpdHk6IHZpc2libGU7CiAgfQoKICB0byB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOwogIH0KfQoKQGtleWZyYW1lcyBzbGlkZUluRG93biB7CiAgZnJvbSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7CiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOwogIH0KCiAgdG8gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsKICB9Cn0KCi5zbGlkZUluRG93biB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJbkRvd247CiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5Eb3duOwp9CgpALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJbkxlZnQgewogIGZyb20gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOwogICAgdmlzaWJpbGl0eTogdmlzaWJsZTsKICB9CgogIHRvIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7CiAgfQp9CgpAa2V5ZnJhbWVzIHNsaWRlSW5MZWZ0IHsKICBmcm9tIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsKICAgIHZpc2liaWxpdHk6IHZpc2libGU7CiAgfQoKICB0byB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOwogIH0KfQoKLnNsaWRlSW5MZWZ0IHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluTGVmdDsKICBhbmltYXRpb24tbmFtZTogc2xpZGVJbkxlZnQ7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluUmlnaHQgewogIGZyb20gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsKICAgIHZpc2liaWxpdHk6IHZpc2libGU7CiAgfQoKICB0byB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOwogIH0KfQoKQGtleWZyYW1lcyBzbGlkZUluUmlnaHQgewogIGZyb20gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsKICAgIHZpc2liaWxpdHk6IHZpc2libGU7CiAgfQoKICB0byB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOwogIH0KfQoKLnNsaWRlSW5SaWdodCB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJblJpZ2h0OwogIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluUmlnaHQ7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluVXAgewogIGZyb20gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTsKICAgIHZpc2liaWxpdHk6IHZpc2libGU7CiAgfQoKICB0byB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOwogIH0KfQoKQGtleWZyYW1lcyBzbGlkZUluVXAgewogIGZyb20gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTsKICAgIHZpc2liaWxpdHk6IHZpc2libGU7CiAgfQoKICB0byB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOwogIH0KfQoKLnNsaWRlSW5VcCB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJblVwOwogIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluVXA7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dERvd24gewogIGZyb20gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsKICB9CgogIHRvIHsKICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7CiAgfQp9CgpAa2V5ZnJhbWVzIHNsaWRlT3V0RG93biB7CiAgZnJvbSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOwogIH0KCiAgdG8gewogICAgdmlzaWJpbGl0eTogaGlkZGVuOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTsKICB9Cn0KCi5zbGlkZU91dERvd24gewogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0RG93bjsKICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXREb3duOwp9CgpALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXRMZWZ0IHsKICBmcm9tIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7CiAgfQoKICB0byB7CiAgICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7CiAgfQp9CgpAa2V5ZnJhbWVzIHNsaWRlT3V0TGVmdCB7CiAgZnJvbSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOwogIH0KCiAgdG8gewogICAgdmlzaWJpbGl0eTogaGlkZGVuOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOwogIH0KfQoKLnNsaWRlT3V0TGVmdCB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXRMZWZ0OwogIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dExlZnQ7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dFJpZ2h0IHsKICBmcm9tIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7CiAgfQoKICB0byB7CiAgICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOwogIH0KfQoKQGtleWZyYW1lcyBzbGlkZU91dFJpZ2h0IHsKICBmcm9tIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7CiAgfQoKICB0byB7CiAgICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOwogIH0KfQoKLnNsaWRlT3V0UmlnaHQgewogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0UmlnaHQ7CiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0UmlnaHQ7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dFVwIHsKICBmcm9tIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7CiAgfQoKICB0byB7CiAgICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7CiAgfQp9CgpAa2V5ZnJhbWVzIHNsaWRlT3V0VXAgewogIGZyb20gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsKICB9CgogIHRvIHsKICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsKICB9Cn0KCi5zbGlkZU91dFVwIHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFVwOwogIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFVwOwp9