ZGlmZiAtLWdpdCBhL0ZpbGVsaXN0IGIvRmlsZWxpc3QKaW5kZXggNjllNzcwMi4uYWNjNTM0YyAxMDA2NDQKLS0tIGEvRmlsZWxpc3QKKysrIGIvRmlsZWxpc3QKQEAgLTM2MSw4ICszNjEsNyBAQAogCQlzcmMvSU5TVEFMTG1hYy50eHQgXAogCQlzcmMvZGVocXgucHkgXAogCQlzcmMvZ3VpX21hYy5jIFwKLQkJc3JjL2d1aV9tYWMuaWNucyBcCi0JCXNyYy9kb2MtdHh0LmljbnMgXAorCQlzcmMvb3NfbWFjX3JzcmMvKi5pY25zIFwKIAkJc3JjL29zX21hYy5oIFwKIAkJc3JjL29zX21hYy5yc3IuaHF4IFwKIAkJc3JjL29zX21hY19jb252LmMgXApAQCAtNTIyLDcgKzUyMSw2IEBACiAjIFVuaXggcnVudGltZQogUlRfVU5JWCA9CVwKIAkJUkVBRE1FX3VuaXgudHh0IFwKLQkJcnVudGltZS9LVmltLmRlc2t0b3AgXAogCQlydW50aW1lL2hpMTYtYWN0aW9uLW1ha2UucG5nIFwKIAkJcnVudGltZS9oaTIyLWFjdGlvbi1tYWtlLnBuZyBcCiAJCXJ1bnRpbWUvdmltMTZ4MTYucG5nIFwKZGlmZiAtLWdpdCBhL3J1bnRpbWUvS1ZpbS5kZXNrdG9wIGIvcnVudGltZS9LVmltLmRlc2t0b3AKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI1ZWYyMGEuLjAwMDAwMDAKLS0tIGEvcnVudGltZS9LVmltLmRlc2t0b3AKKysrIC9kZXYvbnVsbApAQCAtMSw0NCArMCwwIEBACi0jIEtERSBDb25maWcgRmlsZQotW0Rlc2t0b3AgRW50cnldCi1UeXBlPUFwcGxpY2F0aW9uCi1FeGVjPWt2aW0gLWYgJUYKLUljb249a3ZpbQotTWluaUljb249a3ZpbQotRG9jUGF0aD1rdmltL2luZGV4Lmh0bWwKLUNvbW1lbnQ9Ci1Db21tZW50W3h4XT14eAotVGVybWluYWw9MAotTmFtZT1LVmltCi1OYW1lW2VvXT1WSU0tZmFzYWRvCi1OYW1lW3N2XT1LdmltCi1OYW1lW3h4XT14eAotQ29tbWVudD1UZXh0IEVkaXRvcgotQ29tbWVudFthcl092YXYrdix2LEg2YbYtdmI2LUKLUNvbW1lbnRbYmddPdCi0LXQutGB0YIg0KDQtdC00LDQutGC0L7RgAotQ29tbWVudFtkZV09VGV4dGVkaXRvcgotQ29tbWVudFtlbF09zpTOuc6/z4HOuM+Jz4TOrs+CIM6azrXOuc68zq3Ovc6/z4UKLUNvbW1lbnRbZW9dPVRla3N0cmVkYWt0aWxvCi1Db21tZW50W2V0XT1UZWtzdGlyZWRha3RvcgotQ29tbWVudFtldV09VGVzdHUgRWRpdG9yZWEKLUNvbW1lbnRbZmldPVRla3N0aWVkaXRvcmkKLUNvbW1lbnRbaGVdPdei15XXqNeaINeY16fXodeYCi1Db21tZW50W2lzXT1UZXh0YXJpdGlsbAotQ29tbWVudFtqYV0944OG44Kt44K544OI44Ko44OH44Kj44K/Ci1Db21tZW50W2x0XT1UZWtzdG8gcmVkYWt0b3JpdXMKLUNvbW1lbnRbbXRdPUVkaXR1ciB0YXQtdGVzdAotQ29tbWVudFtwdF9CUl09RWRpdG9yIGRlIFRleHRvCi1Db21tZW50W3JvXT1FZGl0b3IgZGUgdGV4dAotQ29tbWVudFtydV090YDQtdC00LDQutGC0L7RgAotQ29tbWVudFtza109VGV4dG92w70gZWRpdG9yCi1Db21tZW50W3NsXT1VcmVqZXZhbG5payBiZXNlZGlsCi1Db21tZW50W3RhXT3Cr8Kow4MgwqbCvsKhw4zDtMOAwqHDh8O3Ci1Db21tZW50W3RyXT1NZXRpbiBEw7x6ZW5sZXlpY2kKLUNvbW1lbnRbdWtdPdCg0LXQtNCw0LrRgtC+0YAg0YLQtdC60YHRgtGW0LIKLUNvbW1lbnRbdmldPVRyw6xuaCBzb+G6oW4gdsSDbiBi4bqjbgotQ29tbWVudFt4eF09eHgKLUNvbW1lbnRbemhfQ05dPeaWh+acrOe8lui+keWZqAotQ29tbWVudFt6aF9UV1095paH5a2X57eo6Lyv5ZmoCi1NaW1lVHlwZT1hcHBsaWNhdGlvbi9tYXRobWwreG1sO2FwcGxpY2F0aW9uL3hodG1sK3htbDthcHBsaWNhdGlvbi94LXBlcmw7YXBwbGljYXRpb24veC1weXRob247YXBwbGljYXRpb24veC1zaGVsbHNjcmlwdDthdWRpby94LW1wZWd1cmw7YXVkaW8veC1zY3BscztpbWFnZS9zdmcreG1sO21lc3NhZ2UvbmV3czttZXNzYWdlL3JmYzgyMjt0ZXh0L2NhbGVuZGFyO3RleHQvY3NzO3RleHQvZW5nbGlzaDt0ZXh0L2h0bWw7dGV4dC9tcm1sO3RleHQvcGxhaW47dGV4dC9yZGY7dGV4dC9yc3M7dGV4dC9ydGY7dGV4dC9zZ21sO3RleHQvdm5kLndhcC53bWw7dGV4dC94LWFkYXNyYzt0ZXh0L3gtYmlidGV4O3RleHQveC1jaGRyO3RleHQveC1jKytoZHI7dGV4dC94LWNzcmM7dGV4dC94LWMrK3NyYzt0ZXh0L3gtY3N2O3RleHQveC1kaWZmO3RleHQveC1qYXZhO3RleHQveC1rYXRlZmlsZWxpc3Q7dGV4dC94LWxhdGV4O3RleHQveC1sb2c7dGV4dC94LWx5eDt0ZXh0L3gtbWFrZWZpbGU7dGV4dC94bWNkO3RleHQveG1sO3RleHQveC1tb2M7dGV4dC94LW1zd2ludXJsO3RleHQveC1vYmpjc3JjO3RleHQveC1wYXNjYWw7dGV4dC94LXBlcmw7dGV4dC94LXB5dGhvbjt0ZXh0L3gtdGNsO3RleHQveC10ZXg7dGV4dC94LXZjYWxlbmRhcjt0ZXh0L3gtdmNhcmQ7dGV4dC94LXhzbGZvO3RleHQveC14c2x0Ci1YLUtERS1TdGFydHVwTm90aWZ5PXRydWUKLVgtS0RFLUF1dGhvcml6ZUFjdGlvbj1zaGVsbCBhY2Nlc3MKLQpkaWZmIC0tZ2l0IGEvcnVudGltZS9hdXRvbG9hZC9nemlwLnZpbSBiL3J1bnRpbWUvYXV0b2xvYWQvZ3ppcC52aW0KaW5kZXggYTY0NjdiOC4uZjZmN2JjNCAxMDA2NDQKLS0tIGEvcnVudGltZS9hdXRvbG9hZC9nemlwLnZpbQorKysgYi9ydW50aW1lL2F1dG9sb2FkL2d6aXAudmltCkBAIC0xLDYgKzEsNiBAQAogIiBWaW0gYXV0b2xvYWQgZmlsZSBmb3IgZWRpdGluZyBjb21wcmVzc2VkIGZpbGVzLgogIiBNYWludGFpbmVyOiBCcmFtIE1vb2xlbmFhciA8QnJhbUB2aW0ub3JnPgotIiBMYXN0IENoYW5nZTogMjAwNSBKdWwgMjYKKyIgTGFzdCBDaGFuZ2U6IDIwMDYgTWFyIDMxCiAKICIgVGhlc2UgZnVuY3Rpb25zIGFyZSB1c2VkIGJ5IHRoZSBnemlwIHBsdWdpbi4KIApAQCAtODQsOSArODQsMTQgQEAKICAgICAnWywnXWQgXwogICBlbmRpZgogICAiIHJlYWQgaW4gdGhlIHVuY29tcHJlc3NlZCBsaW5lcyAiJ1stMXIgdG1wIgorICAiIFVzZSArK2VkaXQgaWYgdGhlIGJ1ZmZlciB3YXMgZW1wdHksIGtlZXAgdGhlICdmZicgYW5kICdmZW5jJyBvcHRpb25zLgogICBzZXRsb2NhbCBub2JpbgogICBpZiBleGlzdHMoIjpsb2NrbWFya3MiKQotICAgIGV4ZWN1dGUgInNpbGVudCBsb2NrbWFya3MgIiAuIGwgLiAiciAiIC4gdG1wCisgICAgaWYgZW1wdHkKKyAgICAgIGV4ZWN1dGUgInNpbGVudCBsb2NrbWFya3MgIiAuIGwgLiAiciArK2VkaXQgIiAuIHRtcAorICAgIGVsc2UKKyAgICAgIGV4ZWN1dGUgInNpbGVudCBsb2NrbWFya3MgIiAuIGwgLiAiciAiIC4gdG1wCisgICAgZW5kaWYKICAgZWxzZQogICAgIGV4ZWN1dGUgInNpbGVudCAiIC4gbCAuICJyICIgLiB0bXAKICAgZW5kaWYKZGlmZiAtLWdpdCBhL3J1bnRpbWUvYXV0b2xvYWQvbmV0cncudmltIGIvcnVudGltZS9hdXRvbG9hZC9uZXRydy52aW0KaW5kZXggMzk5ZjY3MS4uMDBhM2YzZSAxMDA2NDQKLS0tIGEvcnVudGltZS9hdXRvbG9hZC9uZXRydy52aW0KKysrIGIvcnVudGltZS9hdXRvbG9hZC9uZXRydy52aW0KQEAgLTEsNyArMSw3IEBACiAiIG5ldHJ3LnZpbTogSGFuZGxlcyBmaWxlIHRyYW5zZmVyIGFuZCByZW1vdGUgZGlyZWN0b3J5IGxpc3RpbmcgYWNyb3NzIGEgbmV0d29yawogIiAgICAgICAgICAgIEFVVE9MT0FEIFBPUlRJT04KLSIgRGF0ZToJCU1hciAyMiwgMjAwNgotIiBWZXJzaW9uOgk4MworIiBEYXRlOgkJTWFyIDMxLCAyMDA2CisiIFZlcnNpb246CTg0CiAiIE1haW50YWluZXI6CUNoYXJsZXMgRSBDYW1wYmVsbCwgSnIgPGRyY2hpcE5PU1BBTSBhdCBjYW1wYmVsbGZhbWlseSBkb3QgYml6PgogIiBHZXRMYXRlc3RWaW1TY3JpcHRzOiAxMDc1IDEgOkF1dG9JbnN0YWxsOiBuZXRydy52aW0KICIgQ29weXJpZ2h0OiAgICBDb3B5cmlnaHQgKEMpIDE5OTktMjAwNSBDaGFybGVzIEUuIENhbXBiZWxsLCBKci4ge3t7MQpAQCAtMjMsNyArMjMsNyBAQAogaWYgJmNwIHx8IGV4aXN0cygiZzpsb2FkZWRfbmV0cnciKQogICBmaW5pc2gKIGVuZGlmCi1sZXQgZzpsb2FkZWRfbmV0cncgPSAidjgzIgorbGV0IGc6bG9hZGVkX25ldHJ3ID0gInY4NCIKIGlmIHY6dmVyc2lvbiA8IDcwMAogIGVjaG9obCBXYXJuaW5nTXNnIHwgZWNobyAiKioqbmV0cncqKiogeW91IG5lZWQgdmltIHZlcnNpb24gNy4wIG9yIGxhdGVyIGZvciB2ZXJzaW9uICIuZzpsb2FkZWRfbmV0cncuIiBvZiBuZXRydyIgfCBlY2hvaGwgTm9uZQogIGZpbmlzaApAQCAtNDA0LDggKzQwNCw5IEBACiAgICBjYWxsIHM6TmV0TWV0aG9kKGNob2ljZSkKIAogICAgIiBDaGVjayBpZiBOZXRCcm93c2UoKSBzaG91bGQgYmUgaGFuZGxpbmcgdGhpcyByZXF1ZXN0Ci0iICAgY2FsbCBEZWNobygiY2hlY2tpbmcgaWYgbmV0bGlzdDogY2hvaWNlPCIuY2hvaWNlLiI+IG5ldHJ3X2xpc3RfY21kPCIuZzpuZXRyd19saXN0X2NtZC4iPiIpCisiICAgY2FsbCBEZWNobygiY2hlY2tpbmcgaWYgTmV0QnJvd3NlKCkgc2hvdWxkIGhhbmRsZSBjaG9pY2U8Ii5jaG9pY2UuIj4gd2l0aCBuZXRyd19saXN0X2NtZDwiLmc6bmV0cndfbGlzdF9jbWQuIj4iKQogICAgaWYgY2hvaWNlID1+ICJeLipbXC9dJCIKKyIgICAgY2FsbCBEZWNobygieWVzLCBjaG9pY2UgbWF0Y2hlcyAnXi4qW1wvXSQnIikKICAgICBrZWVwanVtcHMgY2FsbCBzOk5ldEJyb3dzZShjaG9pY2UpCiAiICAgIGNhbGwgRHJldCgiTmV0UmVhZCIpCiAgICAgcmV0dXJuCkBAIC00NTcsNiArNDU4LDcgQEAKICAgIGVsc2VpZiBiOm5ldHJ3X21ldGhvZCAgPT0gMgkJIiByZWFkIHdpdGggZnRwICsgPC5uZXRyYz4KICIgICAgIGNhbGwgRGVjaG8oInJlYWQgdmlhIGZ0cCsubmV0cmMgKG1ldGhvZCAjMikiKQogICAgICBsZXQgbmV0cndfZm5hbWU9IGVzY2FwZShiOm5ldHJ3X2ZuYW1lLGc6bmV0cndfZm5hbWVfZXNjYXBlKQorIiAgICAgY2FsbCBEZWNobygibmV0cndfZm5hbWU8Ii5uZXRyd19mbmFtZS4iPiIpCiAgICAgIG5ldwogICAgICBzZXRsb2NhbCBmZj11bml4CiAgICAgIGV4ZSAicHV0ID0nIi5nOm5ldHJ3X2Z0cG1vZGUuIiciCkBAIC03ODAsNyArNzgyLDcgQEAKICIgICBjYWxsIERlY2hvKCJjYWxsaW5nIE5ldFJlYWRGaXh1cChtZXRob2Q8Ii5hOm1ldGhvZC4iPiBsaW5lMT0iLmxpbmUxLiIgbGluZTI9Ii5saW5lMi4iKSIpCiAgICBjYWxsIE5ldFJlYWRGaXh1cChhOm1ldGhvZCwgbGluZTEsIGxpbmUyKQogIiBlbHNlICIgRGVjaG8KLSIgIGNhbGwgRGVjaG8oIk5ldFJlYWRGaXh1cCgpIG5vdCBjYWxsZWQsIGRvZXNuJ3QgZXhpc3QiKQorIiAgY2FsbCBEZWNobygiTmV0UmVhZEZpeHVwKCkgbm90IGNhbGxlZCwgZG9lc24ndCBleGlzdCAgKGxpbmUxPSIubGluZTEuIiBsaW5lMj0iLmxpbmUyLiIpIikKICAgZW5kaWYKIAogICAiIHVwZGF0ZSB0aGUgQnVmZmVycyBtZW51CkBAIC0xMjM5LDcgKzEyNDEsNiBAQAogICAgZXhlICJzaWxlbnQgZG9hdSBCdWZSZWFkUHJlICIuZm5hbWUKICAgIHNpbGVudCBjYWxsIG5ldHJ3I05ldFJlYWQoMixtZXRob2QuIjovLyIudXNlci5tYWNoaW5lLiIvIi5wYXRoKQogICAgZXhlICJzaWxlbnQgZG9hdSBCdWZSZWFkUG9zdCAiLmZuYW1lCi0gICBrZWVwanVtcHMgMWQKIAogICAgIiBzYXZlIGNlcnRhaW4gd2luZG93LW9yaWVudGVkIHZhcmlhYmxlcyBpbnRvIGJ1ZmZlci1vcmllbnRlZCB2YXJpYWJsZXMKICAgIGNhbGwgczpTZXRCdWZXaW5WYXJzKCkKQEAgLTEzNTIsNyArMTM1Myw3IEBACiAgICBlbmRpZgogICAgbGV0IHc6bmV0cndfYmFubmVyY250PSB3Om5ldHJ3X2Jhbm5lcmNudCArIDEKICAgZW5kaWYKLSAga2VlcGp1bXBzIHB1dCA9J1wiICAgUXVpY2sgSGVscDogICAgPzpoZWxwICAtOmdvIHVwIGRpciAgRDpkZWxldGUgIFI6cmVuYW1lICBzOnNvcnQtYnkgIHg6ZXhlYycKKyAga2VlcGp1bXBzIHB1dCA9J1wiICAgUXVpY2sgSGVscDogPEYxPjpoZWxwICAtOmdvIHVwIGRpciAgRDpkZWxldGUgIFI6cmVuYW1lICBzOnNvcnQtYnkgIHg6ZXhlYycKICAga2VlcGp1bXBzIHB1dCA9J1wiID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PScKIAogICAiIHJlbW90ZSByZWFkIHRoZSByZXF1ZXN0ZWQgZGlyZWN0b3J5IGxpc3RpbmcKQEAgLTI5NDMsNyArMjk0NCw3IEBACiAgICBlbmRpZgogICAgbGV0IHc6bmV0cndfYmFubmVyY250PSB3Om5ldHJ3X2Jhbm5lcmNudCArIDEKICAgZW5kaWYKLSAga2VlcGp1bXBzIHB1dCA9J1wiICAgUXVpY2sgSGVscDogICAgPzpoZWxwICAtOmdvIHVwIGRpciAgRDpkZWxldGUgIFI6cmVuYW1lICBzOnNvcnQtYnkgIHg6ZXhlYycKKyAga2VlcGp1bXBzIHB1dCA9J1wiICAgUXVpY2sgSGVscDogPEYxPjpoZWxwICAtOmdvIHVwIGRpciAgRDpkZWxldGUgIFI6cmVuYW1lICBzOnNvcnQtYnkgIHg6ZXhlYycKICAga2VlcGp1bXBzIHB1dCA9J1wiID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0nCiAgIGxldCB3Om5ldHJ3X2Jhbm5lcmNudD0gdzpuZXRyd19iYW5uZXJjbnQgKyAyCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvYXV0b2xvYWQvcGhwY29tcGxldGUudmltIGIvcnVudGltZS9hdXRvbG9hZC9waHBjb21wbGV0ZS52aW0KaW5kZXggNGQ0NDhkYy4uOGNiNGRiMCAxMDA2NDQKLS0tIGEvcnVudGltZS9hdXRvbG9hZC9waHBjb21wbGV0ZS52aW0KKysrIGIvcnVudGltZS9hdXRvbG9hZC9waHBjb21wbGV0ZS52aW0KQEAgLTEsNyArMSw3IEBACiAiIFZpbSBjb21wbGV0aW9uIHNjcmlwdAogIiBMYW5ndWFnZToJUEhQCiAiIE1haW50YWluZXI6CU1pa29sYWogTWFjaG93c2tpICggbWlrbWFjaCBBVCB3cCBET1QgcGwgKQotIiBMYXN0IENoYW5nZToJMjAwNiBNYXIgLS0tCisiIExhc3QgQ2hhbmdlOgkyMDA2IEFwciAwNQogIgogIiAgIFRPRE86CiAiICAgLSBDbGFzcyBhd2FyZSBjb21wbGV0aW9uOgpAQCAtNDcsNDAwICs0Nyw1OTQgQEAKIAkJCSIgV2UgY2FuIGJlIGFsc28gaW5zaWRlIG9mIHBocFN0cmluZyB3aXRoIEhUTUwgdGFncy4gRGVhbCB3aXRoCiAJCQkiIGl0IGxhdGVyICh0aW1lLCBub3QgbGluZXMpLgogCQllbmRpZgotCWVsc2UKLQkJIiBJZiBleGlzdHMgYjpwaHBfbWVudSBpdCBtZWFucyBjb21wbGV0aW9uIHdhcyBhbHJlYWR5IGNvbnN0cnVjdGVkIHdlCi0JCSIgZG9uJ3QgbmVlZCB0byBkbyBhbnl0aGluZyBtb3JlCi0JCWlmIGV4aXN0cygiYjpwaHBfbWVudSIpCi0JCQlyZXR1cm4gYjpwaHBfbWVudQotCQllbmRpZgotCQkiIEluaXRpYWxpemUgYmFzZSByZXR1cm4gbGlzdHMKLQkJbGV0IHJlcyA9IFtdCi0JCSIgYTpiYXNlIGlzIHZlcnkgc2hvcnQgLSB3ZSBuZWVkIGNvbnRleHQKLQkJaWYgZXhpc3RzKCJiOmNvbXBsX2NvbnRleHQiKQotCQkJbGV0IGNvbnRleHQgPSBiOmNvbXBsX2NvbnRleHQKLQkJCXVubGV0ISBiOmNvbXBsX2NvbnRleHQKLQkJZW5kaWYKIAotCQlpZiAhZXhpc3RzKCdnOnBocF9idWlsdGluX2Z1bmN0aW9ucycpCi0JCQljYWxsIHBocGNvbXBsZXRlI0xvYWREYXRhKCkKLQkJZW5kaWYKKwllbmRpZgorCSIgSWYgZXhpc3RzIGI6cGhwX21lbnUgaXQgbWVhbnMgY29tcGxldGlvbiB3YXMgYWxyZWFkeSBjb25zdHJ1Y3RlZCB3ZQorCSIgZG9uJ3QgbmVlZCB0byBkbyBhbnl0aGluZyBtb3JlCisJaWYgZXhpc3RzKCJiOnBocF9tZW51IikKKwkJcmV0dXJuIGI6cGhwX21lbnUKKwllbmRpZgorCSIgSW5pdGlhbGl6ZSBiYXNlIHJldHVybiBsaXN0cworCWxldCByZXMgPSBbXQorCWxldCByZXMyID0gW10KKwkiIGE6YmFzZSBpcyB2ZXJ5IHNob3J0IC0gd2UgbmVlZCBjb250ZXh0CisJaWYgZXhpc3RzKCJiOmNvbXBsX2NvbnRleHQiKQorCQlsZXQgY29udGV4dCA9IGI6Y29tcGxfY29udGV4dAorCQl1bmxldCEgYjpjb21wbF9jb250ZXh0CisJZW5kaWYKIAotCQlsZXQgc2NvbnRleHQgPSBzdWJzdGl0dXRlKGNvbnRleHQsIAotCQkJCVwgJ1wkXD9bYS16QS1aX1x4N2YtXHhmZl1bYS16QS1aXzAtOVx4N2YtXHhmZl0qJCcsICcnLCAnJykKKwlpZiAhZXhpc3RzKCdnOnBocF9idWlsdGluX2Z1bmN0aW9ucycpCisJCWNhbGwgcGhwY29tcGxldGUjTG9hZERhdGEoKQorCWVuZGlmCiAKLQkJaWYgc2NvbnRleHQgPX4gJ1woPVxzKm5ld1x8ZXh0ZW5kc1wpXHNcKyQnCi0JCQkiIENvbXBsZXRlIGNsYXNzIG5hbWUKLQkJCSIgSW50ZXJuYWwgc29sdXRpb24gZm9yIGZpbmRpbmcgY2xhc3NlcyBpbiBjdXJyZW50IGZpbGUuCi0JCQlsZXQgZmlsZSA9IGdldGxpbmUoMSwgJyQnKQotCQkJY2FsbCBmaWx0ZXIoZmlsZSwgCi0JCQkJCVwgJ3Y6dmFsID1+ICJjbGFzc1xcc1xcK1thLXpBLVpfXFx4N2YtXFx4ZmZdW2EtekEtWl8wLTlcXHg3Zi1cXHhmZl0qXFxzKigiJykKLQkJCWxldCBmbmFtZXMgPSBqb2luKG1hcCh0YWdmaWxlcygpLCAnZXNjYXBlKHY6dmFsLCAiIFxcIiknKSkKLQkJCWxldCBqZmlsZSA9IGpvaW4oZmlsZSwgJyAnKQotCQkJbGV0IGludF92YWx1ZXMgPSBzcGxpdChqZmlsZSwgJ2NsYXNzXHNcKycpCi0JCQlsZXQgaW50X2NsYXNzZXMgPSB7fQotCQkJZm9yIGkgaW4gaW50X3ZhbHVlcwotCQkJCWxldCBjX25hbWUgPSBtYXRjaHN0cihpLCAnXlthLXpBLVpfXHg3Zi1ceGZmXVthLXpBLVpfMC05XHg3Zi1ceGZmXSonKQotCQkJCWlmIGNfbmFtZSAhPSAnJwotCQkJCQlsZXQgaW50X2NsYXNzZXNbY19uYW1lXSA9ICcnCi0JCQkJZW5kaWYKLQkJCWVuZGZvcgorCWxldCBzY29udGV4dCA9IHN1YnN0aXR1dGUoY29udGV4dCwgJ1wkXD9bYS16QS1aX1x4N2YtXHhmZl1bYS16QS1aXzAtOVx4N2YtXHhmZl0qJCcsICcnLCAnJykKIAotCQkJIiBQcmVwYXJlIGxpc3Qgb2YgZnVuY3Rpb25zIGZyb20gdGFncyBmaWxlCi0JCQlsZXQgZXh0X2NsYXNzZXMgPSB7fQotCQkJbGV0IGZuYW1lcyA9IGpvaW4obWFwKHRhZ2ZpbGVzKCksICdlc2NhcGUodjp2YWwsICIgXFwiKScpKQotCQkJaWYgZm5hbWVzICE9ICcnCi0JCQkJZXhlICdzaWxlbnQhIHZpbWdyZXAgL14nLmE6YmFzZS4nLipcdGNcKFx0XHwkXCkvaiAnLmZuYW1lcwotCQkJCWxldCBxZmxpc3QgPSBnZXRxZmxpc3QoKQotCQkJCWZvciBmaWVsZCBpbiBxZmxpc3QKLQkJCQkJIiBbOnNwYWNlOl0gdGhpbmc6IHdlIGRvbid0IGhhdmUgdG8gYmUgc28gc3RyaWN0IHdoZW4KLQkJCQkJIiBkZWFsaW5nIHdpdGggdGFncyBmaWxlcyAtIGVudHJpZXMgdGhlcmUgd2VyZSBhbHJlYWR5Ci0JCQkJCSIgY2hlY2tlZCBieSBjdGFncy4KLQkJCQkJbGV0IGl0ZW0gPSBtYXRjaHN0cihmaWVsZFsndGV4dCddLCAnXlteWzpzcGFjZTpdXVwrJykKLQkJCQkJbGV0IGV4dF9jbGFzc2VzW2l0ZW1dID0gJycKLQkJCQllbmRmb3IKKwlpZiBzY29udGV4dCA9fiAnXCg9XHMqbmV3XHxleHRlbmRzXClcc1wrJCcKKwkJIiBDb21wbGV0ZSBjbGFzcyBuYW1lCisJCSIgSW50ZXJuYWwgc29sdXRpb24gZm9yIGZpbmRpbmcgY2xhc3NlcyBpbiBjdXJyZW50IGZpbGUuCisJCWxldCBmaWxlID0gZ2V0bGluZSgxLCAnJCcpCisJCWNhbGwgZmlsdGVyKGZpbGUsIAorCQkJCVwgJ3Y6dmFsID1+ICJjbGFzc1xcc1xcK1thLXpBLVpfXFx4N2YtXFx4ZmZdW2EtekEtWl8wLTlcXHg3Zi1cXHhmZl0qXFxzKigiJykKKwkJbGV0IGZuYW1lcyA9IGpvaW4obWFwKHRhZ2ZpbGVzKCksICdlc2NhcGUodjp2YWwsICIgXFwiKScpKQorCQlsZXQgamZpbGUgPSBqb2luKGZpbGUsICcgJykKKwkJbGV0IGludF92YWx1ZXMgPSBzcGxpdChqZmlsZSwgJ2NsYXNzXHNcKycpCisJCWxldCBpbnRfY2xhc3NlcyA9IHt9CisJCWZvciBpIGluIGludF92YWx1ZXMKKwkJCWxldCBjX25hbWUgPSBtYXRjaHN0cihpLCAnXlthLXpBLVpfXHg3Zi1ceGZmXVthLXpBLVpfMC05XHg3Zi1ceGZmXSonKQorCQkJaWYgY19uYW1lICE9ICcnCisJCQkJbGV0IGludF9jbGFzc2VzW2NfbmFtZV0gPSAnJwogCQkJZW5kaWYKKwkJZW5kZm9yCiAKLQkJCWNhbGwgZXh0ZW5kKGludF9jbGFzc2VzLCBleHRfY2xhc3NlcykKLQotCQkJZm9yIG0gaW4gc29ydChrZXlzKGludF9jbGFzc2VzKSkKLQkJCQlpZiBtID1+ICdeJy5hOmJhc2UKLQkJCQkJY2FsbCBhZGQocmVzLCBtKQotCQkJCWVuZGlmCisJCSIgUHJlcGFyZSBsaXN0IG9mIGZ1bmN0aW9ucyBmcm9tIHRhZ3MgZmlsZQorCQlsZXQgZXh0X2NsYXNzZXMgPSB7fQorCQlsZXQgZm5hbWVzID0gam9pbihtYXAodGFnZmlsZXMoKSwgJ2VzY2FwZSh2OnZhbCwgIiBcXCIpJykpCisJCWlmIGZuYW1lcyAhPSAnJworCQkJZXhlICdzaWxlbnQhIHZpbWdyZXAgL14nLmE6YmFzZS4nLipcdGNcKFx0XHwkXCkvaiAnLmZuYW1lcworCQkJbGV0IHFmbGlzdCA9IGdldHFmbGlzdCgpCisJCQlmb3IgZmllbGQgaW4gcWZsaXN0CisJCQkJIiBbOnNwYWNlOl0gdGhpbmc6IHdlIGRvbid0IGhhdmUgdG8gYmUgc28gc3RyaWN0IHdoZW4KKwkJCQkiIGRlYWxpbmcgd2l0aCB0YWdzIGZpbGVzIC0gZW50cmllcyB0aGVyZSB3ZXJlIGFscmVhZHkKKwkJCQkiIGNoZWNrZWQgYnkgY3RhZ3MuCisJCQkJbGV0IGl0ZW0gPSBtYXRjaHN0cihmaWVsZFsndGV4dCddLCAnXlteWzpzcGFjZTpdXVwrJykKKwkJCQlsZXQgZXh0X2NsYXNzZXNbaXRlbV0gPSAnJwogCQkJZW5kZm9yCisJCWVuZGlmCiAKLQkJCWxldCBpbnRfbGlzdCA9IHJlcworCQljYWxsIGV4dGVuZChpbnRfY2xhc3NlcywgZXh0X2NsYXNzZXMpCiAKLQkJCWxldCBmaW5hbF9tZW51ID0gW10KLQkJCWZvciBpIGluIGludF9saXN0Ci0JCQkJbGV0IGZpbmFsX21lbnUgKz0gW3snd29yZCc6aSwgJ2tpbmQnOidjJ31dCi0JCQllbmRmb3IKKwkJZm9yIG0gaW4gc29ydChrZXlzKGludF9jbGFzc2VzKSkKKwkJCWlmIG0gPX4gJ14nLmE6YmFzZQorCQkJCWNhbGwgYWRkKHJlcywgbSkKKwkJCWVuZGlmCisJCWVuZGZvcgogCi0JCQlyZXR1cm4gZmluYWxfbWVudQorCQlsZXQgaW50X2xpc3QgPSByZXMKIAotCQllbHNlaWYgc2NvbnRleHQgPX4gJ1woLT5cfDo6XCkkJwotCQkJIiBDb21wbGV0ZSB1c2VyIGZ1bmN0aW9ucyBhbmQgdmFyaWFibGVzCi0JCQkiIEludGVybmFsIHNvbHV0aW9uIGZvciBjdXJyZW50IGZpbGUuCi0JCQkiIFRoYXQgc2VlbXMgYXMgdW5uZWNlc3NhcnkgcmVwZWF0aW5nIG9mIGZ1bmN0aW9ucyBidXQgdGhlcmUgYXJlCi0JCQkiIGZldyBub3Qgc28gc3VidGxlIGRpZmZlcmVuY2VzIGFzIG5vdCBhcHBlbmRpbmcgb2YgJCBhbmQgYWRkaXRpb24KLQkJCSIgb2YgJ2tpbmQnIHRhZyAobm90IG5lY2Vzc2FyeSBpbiByZWd1bGFyIGNvbXBsZXRpb24pCi0JCQlpZiBhOmJhc2UgPX4gJ15cJCcKLQkJCQlsZXQgYWRkZG9sbGFyID0gJyQnCisJCWxldCBmaW5hbF9tZW51ID0gW10KKwkJZm9yIGkgaW4gaW50X2xpc3QKKwkJCWxldCBmaW5hbF9tZW51ICs9IFt7J3dvcmQnOmksICdraW5kJzonYyd9XQorCQllbmRmb3IKKworCQlyZXR1cm4gZmluYWxfbWVudQorCisJZWxzZWlmIHNjb250ZXh0ID1+ICdcKC0+XHw6OlwpJCcKKwkJIiBDb21wbGV0ZSB1c2VyIGZ1bmN0aW9ucyBhbmQgdmFyaWFibGVzCisJCSIgSW50ZXJuYWwgc29sdXRpb24gZm9yIGN1cnJlbnQgZmlsZS4KKwkJIiBUaGF0IHNlZW1zIGFzIHVubmVjZXNzYXJ5IHJlcGVhdGluZyBvZiBmdW5jdGlvbnMgYnV0IHRoZXJlIGFyZQorCQkiIGZldyBub3Qgc28gc3VidGxlIGRpZmZlcmVuY2VzIGFzIG5vdCBhcHBlbmRpbmcgb2YgJCBhbmQgYWRkaXRpb24KKwkJIiBvZiAna2luZCcgdGFnIChub3QgbmVjZXNzYXJ5IGluIHJlZ3VsYXIgY29tcGxldGlvbikKKworCQlpZiBzY29udGV4dCA9fiAnLT4kJyAmJiBzY29udGV4dCAhfiAnXCR0aGlzLT4kJworCisJCQkiIEdldCBuYW1lIG9mIHRoZSBjbGFzcworCQkJbGV0IGNsYXNzbmFtZSA9IHBocGNvbXBsZXRlI0dldENsYXNzTmFtZShzY29udGV4dCkKKworCQkJIiBHZXQgbG9jYXRpb24gb2YgY2xhc3MgZGVmaW5pdGlvbiwgd2UgaGF2ZSB0byBpdGVyYXRlIHRocm91Z2ggYWxsCisJCQkiIHRhZ3MgZmlsZXMgc2VwYXJhdGVseSBiZWNhdXNlIHdlIG5lZWQgcmVsYXRpdmUgcGF0aCBmcm9tIGN1cnJlbnQKKwkJCSIgZmlsZSB0byB0aGUgZXhhY3QgZmlsZSAodGFncyBmaWxlIGNhbiBiZSBpbiBkaWZmZXJlbnQgZGlyKQorCQkJaWYgY2xhc3NuYW1lICE9ICcnCisJCQkJbGV0IGNsYXNzbG9jYXRpb24gPSBwaHBjb21wbGV0ZSNHZXRDbGFzc0xvY2F0aW9uKGNsYXNzbmFtZSkKIAkJCWVsc2UKLQkJCQlsZXQgYWRkZG9sbGFyID0gJycKKwkJCQlsZXQgY2xhc3Nsb2NhdGlvbiA9ICcnCiAJCQllbmRpZgotCQkJbGV0IGZpbGUgPSBnZXRsaW5lKDEsICckJykKLQkJCWxldCBqZmlsZSA9IGpvaW4oZmlsZSwgJyAnKQotCQkJbGV0IHNmaWxlID0gc3BsaXQoamZpbGUsICdcJCcpCi0JCQlsZXQgaW50X3ZhcnMgPSB7fQotCQkJZm9yIGkgaW4gc2ZpbGUKLQkJCQlpZiBpID1+ICdeXCRbYS16QS1aX1x4N2YtXHhmZl1bYS16QS1aXzAtOVx4N2YtXHhmZl0qXHMqPVxzKm5ldycKLQkJCQkJbGV0IHZhbCA9IG1hdGNoc3RyKGksICdeW2EtekEtWl9ceDdmLVx4ZmZdW2EtekEtWl8wLTlceDdmLVx4ZmZdKicpLictPicKLQkJCQllbHNlCi0JCQkJCWxldCB2YWwgPSBtYXRjaHN0cihpLCAnXlthLXpBLVpfXHg3Zi1ceGZmXVthLXpBLVpfMC05XHg3Zi1ceGZmXSonKQotCQkJCWVuZGlmCi0JCQkJaWYgdmFsICF+ICcnCi0JCQkJCWxldCBpbnRfdmFyc1thZGRkb2xsYXIudmFsXSA9ICcnCi0JCQkJZW5kaWYKLQkJCWVuZGZvcgotCQkJCi0JCQkiIGN0YWdzIGhhcyBnb29kIHN1cHBvcnQgZm9yIFBIUCwgdXNlIHRhZ3MgZmlsZSBmb3IgZXh0ZXJuYWwKLQkJCSIgdmFyaWFibGVzCi0JCQlsZXQgZm5hbWVzID0gam9pbihtYXAodGFnZmlsZXMoKSwgJ2VzY2FwZSh2OnZhbCwgIiBcXCIpJykpCi0JCQlsZXQgZXh0X3ZhcnMgPSB7fQotCQkJaWYgZm5hbWVzICE9ICcnCi0JCQkJbGV0IHNiYXNlID0gc3Vic3RpdHV0ZShhOmJhc2UsICdeXCQnLCAnJywgJycpCi0JCQkJZXhlICdzaWxlbnQhIHZpbWdyZXAgL14nLnNiYXNlLicuKlx0dlwoXHRcfCRcKS9qICcuZm5hbWVzCi0JCQkJbGV0IHFmbGlzdCA9IGdldHFmbGlzdCgpCi0JCQkJZm9yIGZpZWxkIGluIHFmbGlzdAotCQkJCQlsZXQgaXRlbSA9IG1hdGNoc3RyKGZpZWxkWyd0ZXh0J10sICdeW15bOnNwYWNlOl1dXCsnKQotCQkJCQkiIEFkZCAtPiBpZiBpdCBpcyBwb3NzaWJsZSBvYmplY3QgZGVjbGFyYXRpb24KLQkJCQkJbGV0IGNsYXNzbmFtZSA9ICcnCi0JCQkJCWlmIGZpZWxkWyd0ZXh0J10gPX4gaXRlbS4nXHMqPVxzKm5ld1xzXCsnCi0JCQkJCQlsZXQgaXRlbSA9IGl0ZW0uJy0+JwotCQkJCQkJbGV0IGNsYXNzbmFtZSA9IG1hdGNoc3RyKGZpZWxkWyd0ZXh0J10sIAotCQkJCQkJCQlcICc9XHMqbmV3XHNcK1x6c1thLXpBLVpfMC05XHg3Zi1ceGZmXVwrXHplJykKKworCQkJaWYgZmlsZXJlYWRhYmxlKGNsYXNzbG9jYXRpb24pCisJCQkJbGV0IGNsYXNzZmlsZSA9IHJlYWRmaWxlKGNsYXNzbG9jYXRpb24pCisJCQkJbGV0IGNsYXNzY29udGVudCA9ICcnCisJCQkJbGV0IGNsYXNzY29udGVudCAuPSAiXG4iLnBocGNvbXBsZXRlI0dldENsYXNzQ29udGVudHMoY2xhc3NmaWxlLCBjbGFzc25hbWUpCisJCQkJbGV0IHNjY29udGVudCA9IHNwbGl0KGNsYXNzY29udGVudCwgIlxuIikKKworCQkJCSIgWUVTLCBZRVMsIFlFUyEgLSB3ZSBoYXZlIHdob2xlIGNvbnRlbnQgaW5jbHVkaW5nIGV4dGVuZHMhCisJCQkJIiBOb3cgd2UgbmVlZCB0byBnZXQgdHdvIGVsZW1lbnRzOiBwdWJsaWMgZnVuY3Rpb25zIGFuZCBwdWJsaWMKKwkJCQkiIHZhcnMKKwkJCQkiIE5PLCBOTywgTk8hIC0gdGhpcmQgc2VwYXJhdGUgZmlsdGVyaW5nIGxvb2tpbmcgZm9yIGNvbnRlbnQKKwkJCQkiIDooLCBidXQgYWxsIG9mIHRoZW0gaGF2ZSBkaWZmZXJlbmNlcy4gVG8gc3F1ZWV6ZSB0aGVtIGludG8KKwkJCQkiIG9uZSBpbXBsZW1lbnRhdGlvbiB3b3VsZCByZXF1aXJlIG1hbnkgYWRkaXRpb25hbCBhcmd1bWVudHMKKwkJCQkiIGFuZCBpZnMuIE5vIGdvb2Qgc29sdXRpb24KKwkJCQkiIEZ1bmN0aW9ucyBkZWNsYXJlZCB3aXRoIHB1YmxpYyBrZXl3b3JkIG9yIHdpdGhvdXQgYW55CisJCQkJIiBrZXl3b3JkIGFyZSBwdWJsaWMKKwkJCQlsZXQgZnVuY3Rpb25zID0gZmlsdGVyKGRlZXBjb3B5KHNjY29udGVudCksIAorCQkJCQkJXCAndjp2YWwgPX4gIl5cXHMqXFwocHVibGljXFxzXFwqXFwpXFw/ZnVuY3Rpb24iJykKKwkJCQlsZXQgamZ1bmNzID0gam9pbihmdW5jdGlvbnMsICcgJykKKwkJCQlsZXQgc2Z1bmNzID0gc3BsaXQoamZ1bmNzLCAnZnVuY3Rpb25cc1wrJykKKwkJCQlsZXQgY19mdW5jdGlvbnMgPSB7fQorCQkJCWZvciBpIGluIHNmdW5jcworCQkJCQlsZXQgZl9uYW1lID0gbWF0Y2hzdHIoaSwgCisJCQkJCQkJXCAnXiZcP1x6c1thLXpBLVpfXHg3Zi1ceGZmXVthLXpBLVpfMC05XHg3Zi1ceGZmXSpcemUnKQorCQkJCQlsZXQgZl9hcmdzID0gbWF0Y2hzdHIoaSwgCisJCQkJCQkJXCAnXiZcP1thLXpBLVpfXHg3Zi1ceGZmXVthLXpBLVpfMC05XHg3Zi1ceGZmXSpccyooXHpzLlx7LX1cemUpXF9zKnsnKQorCQkJCQlpZiBmX25hbWUgIT0gJycKKwkJCQkJCWxldCBjX2Z1bmN0aW9uc1tmX25hbWUuJygnXSA9IGZfYXJncwogCQkJCQllbmRpZgotCQkJCQlsZXQgZXh0X3ZhcnNbYWRkZG9sbGFyLml0ZW1dID0gY2xhc3NuYW1lCiAJCQkJZW5kZm9yCi0JCQllbmRpZgotCi0JCQkiIE5vdyB3ZSBoYXZlIGFsbCB2YXJpYWJsZXMgaW4gaW50X3ZhcnMgZGljdGlvbmFyeQotCQkJY2FsbCBleHRlbmQoaW50X3ZhcnMsIGV4dF92YXJzKQotCi0JCQkiIEludGVybmFsIHNvbHV0aW9uIGZvciBmaW5kaW5nIGZ1bmN0aW9ucyBpbiBjdXJyZW50IGZpbGUuCi0JCQlsZXQgZmlsZSA9IGdldGxpbmUoMSwgJyQnKQotCQkJY2FsbCBmaWx0ZXIoZmlsZSwgCi0JCQkJCVwgJ3Y6dmFsID1+ICJmdW5jdGlvblxcc1xcKyZcXD9bYS16QS1aX1xceDdmLVxceGZmXVthLXpBLVpfMC05XFx4N2YtXFx4ZmZdKlxccyooIicpCi0JCQlsZXQgZm5hbWVzID0gam9pbihtYXAodGFnZmlsZXMoKSwgJ2VzY2FwZSh2OnZhbCwgIiBcXCIpJykpCi0JCQlsZXQgamZpbGUgPSBqb2luKGZpbGUsICcgJykKLQkJCWxldCBpbnRfdmFsdWVzID0gc3BsaXQoamZpbGUsICdmdW5jdGlvblxzXCsnKQotCQkJbGV0IGludF9mdW5jdGlvbnMgPSB7fQotCQkJZm9yIGkgaW4gaW50X3ZhbHVlcwotCQkJCWxldCBmX25hbWUgPSBtYXRjaHN0cihpLCAKLQkJCQkJCVwgJ14mXD9cenNbYS16QS1aX1x4N2YtXHhmZl1bYS16QS1aXzAtOVx4N2YtXHhmZl0qXHplJykKLQkJCQlsZXQgZl9hcmdzID0gbWF0Y2hzdHIoaSwgCi0JCQkJCQlcICdeJlw/W2EtekEtWl9ceDdmLVx4ZmZdW2EtekEtWl8wLTlceDdmLVx4ZmZdKlxzKihcenMuXHstfVx6ZSlcX3MqeycpCi0JCQkJbGV0IGludF9mdW5jdGlvbnNbZl9uYW1lLicoJ10gPSBmX2FyZ3MKLQkJCWVuZGZvcgotCi0JCQkiIFByZXBhcmUgbGlzdCBvZiBmdW5jdGlvbnMgZnJvbSB0YWdzIGZpbGUKLQkJCWxldCBleHRfZnVuY3Rpb25zID0ge30KLQkJCWlmIGZuYW1lcyAhPSAnJwotCQkJCWV4ZSAnc2lsZW50ISB2aW1ncmVwIC9eJy5hOmJhc2UuJy4qXHRmXChcdFx8JFwpL2ogJy5mbmFtZXMKLQkJCQlsZXQgcWZsaXN0ID0gZ2V0cWZsaXN0KCkKLQkJCQlmb3IgZmllbGQgaW4gcWZsaXN0Ci0JCQkJCSIgRmlsZSBuYW1lCi0JCQkJCWxldCBpdGVtID0gbWF0Y2hzdHIoZmllbGRbJ3RleHQnXSwgJ15bXls6c3BhY2U6XV1cKycpCi0JCQkJCWxldCBmbmFtZSA9IG1hdGNoc3RyKGZpZWxkWyd0ZXh0J10sICdcdFx6c1xmXCtcemUnKQotCQkJCQlsZXQgcHJvdG90eXBlID0gbWF0Y2hzdHIoZmllbGRbJ3RleHQnXSwgCi0JCQkJCQkJXCAnZnVuY3Rpb25cc1wrJlw/W15bOnNwYWNlOl1dXCtccyooXHMqXHpzLlx7LX1cemVccyopXHMqe1w/JykKLQkJCQkJbGV0IGV4dF9mdW5jdGlvbnNbaXRlbS4nKCddID0gcHJvdG90eXBlLicpIC0gJy5mbmFtZQotCQkJCWVuZGZvcgotCQkJZW5kaWYKLQotCQkJbGV0IGFsbF92YWx1ZXMgPSB7fQotCQkJY2FsbCBleHRlbmQoYWxsX3ZhbHVlcywgaW50X2Z1bmN0aW9ucykKLQkJCWNhbGwgZXh0ZW5kKGFsbF92YWx1ZXMsIGV4dF9mdW5jdGlvbnMpCi0JCQljYWxsIGV4dGVuZChhbGxfdmFsdWVzLCBpbnRfdmFycykgIiBleHRlcm5hbCB2YXJpYWJsZXMgYXJlIGFscmVhZHkgaW4KLQkJCWNhbGwgZXh0ZW5kKGFsbF92YWx1ZXMsIGc6cGhwX2J1aWx0aW5fb2JqZWN0X2Z1bmN0aW9ucykKLQotCQkJZm9yIG0gaW4gc29ydChrZXlzKGFsbF92YWx1ZXMpKQotCQkJCWlmIG0gPX4gJ1woXlx8OjpcKScuYTpiYXNlCi0JCQkJCWNhbGwgYWRkKHJlcywgbSkKLQkJCQllbmRpZgotCQkJZW5kZm9yCi0KLQkJCWxldCBzdGFydF9saXN0ID0gcmVzCi0KLQkJCWxldCBmaW5hbF9saXN0ID0gW10KLQkJCWZvciBpIGluIHN0YXJ0X2xpc3QKLQkJCQlpZiBoYXNfa2V5KGludF92YXJzLCBpKQotCQkJCQlsZXQgY2xhc3MgPSAnICcKLQkJCQkJaWYgYWxsX3ZhbHVlc1tpXSAhPSAnJwotCQkJCQkJbGV0IGNsYXNzID0gaS4nIGNsYXNzICcKKwkJCQkiIFZhcmlhYmxlcyBkZWNsYXJlZCB3aXRoIHZhciBvciB3aXRoIHB1YmxpYyBrZXl3b3JkIGFyZQorCQkJCSIgcHVibGljCisJCQkJbGV0IHZhcmlhYmxlcyA9IGZpbHRlcihkZWVwY29weShzY2NvbnRlbnQpLCAKKwkJCQkJCVwgJ3Y6dmFsID1+ICJeXFxzKlxcKHB1YmxpY1xcfHZhclxcKVxcc1xcK1xcJCInKQorCQkJCWxldCBqdmFycyA9IGpvaW4odmFyaWFibGVzLCAnICcpCisJCQkJbGV0IHN2YXJzID0gc3BsaXQoanZhcnMsICdcJCcpCisJCQkJbGV0IGNfdmFyaWFibGVzID0ge30KKwkJCQlmb3IgaSBpbiBzdmFycworCQkJCQlsZXQgY192YXIgPSBtYXRjaHN0cihpLCAKKwkJCQkJCQlcICdeXHpzW2EtekEtWl9ceDdmLVx4ZmZdW2EtekEtWl8wLTlceDdmLVx4ZmZdKlx6ZScpCisJCQkJCWlmIGNfdmFyICE9ICcnCisJCQkJCQlsZXQgY192YXJpYWJsZXNbY192YXJdID0gJycKIAkJCQkJZW5kaWYKLQkJCQkJbGV0IGZpbmFsX2xpc3QgKz0gW3snd29yZCc6aSwgJ2luZm8nOmNsYXNzLmFsbF92YWx1ZXNbaV0sICdraW5kJzondid9XQotCQkJCWVsc2UKLQkJCQkJbGV0IGZpbmFsX2xpc3QgKz0gCi0JCQkJCQkJXCBbeyd3b3JkJzpzdWJzdGl0dXRlKGksICcuKjo6JywgJycsICcnKSwgCi0JCQkJCQkJXCAgICdpbmZvJzppLmFsbF92YWx1ZXNbaV0sCi0JCQkJCQkJXCAgICdraW5kJzonZid9XQotCQkJCWVuZGlmCi0JCQllbmRmb3IKKwkJCQllbmRmb3IKIAotCQkJcmV0dXJuIGZpbmFsX2xpc3QKKwkJCQlsZXQgYWxsX3ZhbHVlcyA9IHt9CisJCQkJY2FsbCBleHRlbmQoYWxsX3ZhbHVlcywgY19mdW5jdGlvbnMpCisJCQkJY2FsbCBleHRlbmQoYWxsX3ZhbHVlcywgY192YXJpYWJsZXMpCisJCQkJY2FsbCBleHRlbmQoYWxsX3ZhbHVlcywgZzpwaHBfYnVpbHRpbl9vYmplY3RfZnVuY3Rpb25zKQorCisJCQkJZm9yIG0gaW4gc29ydChrZXlzKGFsbF92YWx1ZXMpKQorCQkJCQlpZiBtID1+ICdeJy5hOmJhc2UgJiYgbSAhfiAnOjonCisJCQkJCQljYWxsIGFkZChyZXMsIG0pCisJCQkJCWVsc2VpZiBtID1+ICc6OicuYTpiYXNlCisJCQkJCQljYWxsIGFkZChyZXMyLCBtKQorCQkJCQllbmRpZgorCQkJCWVuZGZvcgorCisJCQkJbGV0IHN0YXJ0X2xpc3QgPSByZXMgKyByZXMyCisKKwkJCQlsZXQgZmluYWxfbGlzdCA9IFtdCisJCQkJZm9yIGkgaW4gc3RhcnRfbGlzdAorCQkJCQlpZiBoYXNfa2V5KGNfdmFyaWFibGVzLCBpKQorCQkJCQkJbGV0IGNsYXNzID0gJyAnCisJCQkJCQlpZiBhbGxfdmFsdWVzW2ldICE9ICcnCisJCQkJCQkJbGV0IGNsYXNzID0gaS4nIGNsYXNzICcKKwkJCQkJCWVuZGlmCisJCQkJCQlsZXQgZmluYWxfbGlzdCArPSAKKwkJCQkJCQkJXCBbeyd3b3JkJzppLCAKKwkJCQkJCQkJXCAgICdpbmZvJzpjbGFzcy5hbGxfdmFsdWVzW2ldLCAKKwkJCQkJCQkJXCAgICdraW5kJzondid9XQorCQkJCQllbHNlCisJCQkJCQlsZXQgZmluYWxfbGlzdCArPSAKKwkJCQkJCQkJXCBbeyd3b3JkJzpzdWJzdGl0dXRlKGksICcuKjo6JywgJycsICcnKSwgCisJCQkJCQkJCVwgICAnaW5mbyc6aS5hbGxfdmFsdWVzW2ldLicpJywKKwkJCQkJCQkJXCAgICdraW5kJzonZid9XQorCQkJCQllbmRpZgorCQkJCWVuZGZvcgorCisJCQkJcmV0dXJuIGZpbmFsX2xpc3QKKworCQkJZW5kaWYKKwogCQllbmRpZgogCiAJCWlmIGE6YmFzZSA9fiAnXlwkJwotCQkJIiBDb21wbGV0ZSB2YXJpYWJsZXMKLQkJCSIgQnVpbHQtaW4gdmFyaWFibGVzIHt7ewotCQkJbGV0IGc6cGhwX2J1aWx0aW5fdmFycyA9IHsnJEdMT0JBTFMnOicnLAotCQkJCQkJCQkJXCAnJF9TRVJWRVInOicnLAotCQkJCQkJCQkJXCAnJF9HRVQnOicnLAotCQkJCQkJCQkJXCAnJF9QT1NUJzonJywKLQkJCQkJCQkJCVwgJyRfQ09PS0lFJzonJywKLQkJCQkJCQkJCVwgJyRfRklMRVMnOicnLAotCQkJCQkJCQkJXCAnJF9FTlYnOicnLAotCQkJCQkJCQkJXCAnJF9SRVFVRVNUJzonJywKLQkJCQkJCQkJCVwgJyRfU0VTU0lPTic6JycsCi0JCQkJCQkJCQlcICckSFRUUF9TRVJWRVJfVkFSUyc6JycsCi0JCQkJCQkJCQlcICckSFRUUF9FTlZfVkFSUyc6JycsCi0JCQkJCQkJCQlcICckSFRUUF9DT09LSUVfVkFSUyc6JycsCi0JCQkJCQkJCQlcICckSFRUUF9HRVRfVkFSUyc6JycsCi0JCQkJCQkJCQlcICckSFRUUF9QT1NUX1ZBUlMnOicnLAotCQkJCQkJCQkJXCAnJEhUVFBfUE9TVF9GSUxFUyc6JycsCi0JCQkJCQkJCQlcICckSFRUUF9TRVNTSU9OX1ZBUlMnOicnLAotCQkJCQkJCQkJXCAnJHBocF9lcnJvcm1zZyc6JycsCi0JCQkJCQkJCQlcICckdGhpcyc6JycKLQkJCQkJCQkJCVwgfQotCQkJIiB9fX0KLQotCQkJIiBJbnRlcm5hbCBzb2x1dGlvbiBmb3IgY3VycmVudCBmaWxlLgotCQkJbGV0IGZpbGUgPSBnZXRsaW5lKDEsICckJykKLQkJCWxldCBqZmlsZSA9IGpvaW4oZmlsZSwgJyAnKQotCQkJbGV0IGludF92YWxzID0gc3BsaXQoamZpbGUsICdcemVcJCcpCi0JCQlsZXQgaW50X3ZhcnMgPSB7fQotCQkJZm9yIGkgaW4gaW50X3ZhbHMKLQkJCQlpZiBpID1+ICdeXCRbYS16QS1aX1x4N2YtXHhmZl1bYS16QS1aXzAtOVx4N2YtXHhmZl0qXHMqPVxzKm5ldycKLQkJCQkJbGV0IHZhbCA9IG1hdGNoc3RyKGksIAotCQkJCQkJCVwgJ15cJFthLXpBLVpfXHg3Zi1ceGZmXVthLXpBLVpfMC05XHg3Zi1ceGZmXSonKS4nLT4nCi0JCQkJZWxzZQotCQkJCQlsZXQgdmFsID0gbWF0Y2hzdHIoaSwgCi0JCQkJCQkJXCAnXlwkW2EtekEtWl9ceDdmLVx4ZmZdW2EtekEtWl8wLTlceDdmLVx4ZmZdKicpCi0JCQkJZW5kaWYKLQkJCQlpZiB2YWwgIT0gJycKLQkJCQkJbGV0IGludF92YXJzW3ZhbF0gPSAnJwotCQkJCWVuZGlmCi0JCQllbmRmb3IKLQotCQkJY2FsbCBleHRlbmQoaW50X3ZhcnMsZzpwaHBfYnVpbHRpbl92YXJzKQotCQkJCi0JCQkiIGN0YWdzIGhhcyBnb29kIHN1cHBvcnQgZm9yIFBIUCwgdXNlIHRhZ3MgZmlsZSBmb3IgZXh0ZXJuYWwKLQkJCSIgdmFyaWFibGVzCi0JCQlsZXQgZm5hbWVzID0gam9pbihtYXAodGFnZmlsZXMoKSwgJ2VzY2FwZSh2OnZhbCwgIiBcXCIpJykpCi0JCQlsZXQgZXh0X3ZhcnMgPSB7fQotCQkJaWYgZm5hbWVzICE9ICcnCi0JCQkJbGV0IHNiYXNlID0gc3Vic3RpdHV0ZShhOmJhc2UsICdeXCQnLCAnJywgJycpCi0JCQkJZXhlICdzaWxlbnQhIHZpbWdyZXAgL14nLnNiYXNlLicuKlx0dlwoXHRcfCRcKS9qICcuZm5hbWVzCi0JCQkJbGV0IHFmbGlzdCA9IGdldHFmbGlzdCgpCi0JCQkJZm9yIGZpZWxkIGluIHFmbGlzdAotCQkJCQlsZXQgaXRlbSA9ICckJy5tYXRjaHN0cihmaWVsZFsndGV4dCddLCAnXlteWzpzcGFjZTpdXVwrJykKLQkJCQkJbGV0IG1fbWVudSA9ICcnCi0JCQkJCSIgQWRkIC0+IGlmIGl0IGlzIHBvc3NpYmxlIG9iamVjdCBkZWNsYXJhdGlvbgotCQkJCQkiIEhvdyB0byBkZXRlY3QgaWYgcHJldmlvdXMgbGluZSBpcyBoZWxwIGxpbmU/Ci0JCQkJCWlmIGZpZWxkWyd0ZXh0J10gPX4gaXRlbS4nXHMqPVxzKm5ld1xzXCsnCi0JCQkJCQlsZXQgaXRlbSA9IGl0ZW0uJy0+JwotCQkJCQkJbGV0IG1fbWVudSA9IG1hdGNoc3RyKGZpZWxkWyd0ZXh0J10sIAotCQkJCQkJCQlcICc9XHMqbmV3XHNcK1x6c1thLXpBLVpfMC05XHg3Zi1ceGZmXVwrXHplJykKLQkJCQkJZW5kaWYKLQkJCQkJbGV0IGV4dF92YXJzW2l0ZW1dID0gbV9tZW51Ci0JCQkJZW5kZm9yCi0JCQllbmRpZgotCi0JCQljYWxsIGV4dGVuZChpbnRfdmFycywgZXh0X3ZhcnMpCi0JCQlsZXQgZzphMCA9IGtleXMoaW50X3ZhcnMpCi0KLQkJCWZvciBtIGluIHNvcnQoa2V5cyhpbnRfdmFycykpCi0JCQkJaWYgbSA9fiAnXlwnLmE6YmFzZQotCQkJCQljYWxsIGFkZChyZXMsIG0pCi0JCQkJZW5kaWYKLQkJCWVuZGZvcgotCi0JCQlsZXQgaW50X2xpc3QgPSByZXMKLQotCQkJbGV0IGludF9kaWN0ID0gW10KLQkJCWZvciBpIGluIGludF9saXN0Ci0JCQkJaWYgaW50X3ZhcnNbaV0gIT0gJycKLQkJCQkJbGV0IGNsYXNzID0gJyAnCi0JCQkJCWlmIGludF92YXJzW2ldICE9ICcnCi0JCQkJCQlsZXQgY2xhc3MgPSBpLicgY2xhc3MgJwotCQkJCQllbmRpZgotCQkJCQlsZXQgaW50X2RpY3QgKz0gW3snd29yZCc6aSwgJ2luZm8nOmNsYXNzLmludF92YXJzW2ldLCAna2luZCc6J3YnfV0KLQkJCQllbHNlCi0JCQkJCWxldCBpbnRfZGljdCArPSBbeyd3b3JkJzppLCAna2luZCc6J3YnfV0KLQkJCQllbmRpZgotCQkJZW5kZm9yCi0KLQkJCXJldHVybiBpbnRfZGljdAotCisJCQlsZXQgYWRkZG9sbGFyID0gJyQnCiAJCWVsc2UKLQkJCSIgQ29tcGxldGUgZXZlcnl0aGluZyBlbHNlIC0gCi0JCQkiICArIGZ1bmN0aW9ucywgIERPTkUKLQkJCSIgICsga2V5d29yZHMgb2YgbGFuZ3VhZ2UgRE9ORQotCQkJIiAgKyBkZWZpbmVzIChjb25zdGFudCBkZWZpbml0aW9ucyksIERPTkUKLQkJCSIgICsgZXh0ZW5kIGtleXdvcmRzIGZvciBwcmVkZWZpbmVkIGNvbnN0YW50cywgRE9ORQotCQkJIiAgKyBjbGFzc2VzIChhZnRlciBuZXcpLCBET05FCi0JCQkiICArIGxpbWl0IGNob2ljZSBhZnRlciAtPiBhbmQgOjogdG8gZnVuY3MgYW5kIHZhcnMgRE9ORQotCi0JCQkiIEludGVybmFsIHNvbHV0aW9uIGZvciBmaW5kaW5nIGZ1bmN0aW9ucyBpbiBjdXJyZW50IGZpbGUuCi0JCQlsZXQgZmlsZSA9IGdldGxpbmUoMSwgJyQnKQotCQkJY2FsbCBmaWx0ZXIoZmlsZSwgJ3Y6dmFsID1+ICJmdW5jdGlvblxcc1xcKyZcXD9bYS16QS1aX1xceDdmLVxceGZmXVthLXpBLVpfMC05XFx4N2YtXFx4ZmZdKlxccyooIicpCi0JCQlsZXQgZm5hbWVzID0gam9pbihtYXAodGFnZmlsZXMoKSwgJ2VzY2FwZSh2OnZhbCwgIiBcXCIpJykpCi0JCQlsZXQgamZpbGUgPSBqb2luKGZpbGUsICcgJykKLQkJCWxldCBpbnRfdmFsdWVzID0gc3BsaXQoamZpbGUsICdmdW5jdGlvblxzXCsnKQotCQkJbGV0IGludF9mdW5jdGlvbnMgPSB7fQotCQkJZm9yIGkgaW4gaW50X3ZhbHVlcwotCQkJCWxldCBmX25hbWUgPSBtYXRjaHN0cihpLCAKLQkJCQkJCVwgJ14mXD9cenNbYS16QS1aX1x4N2YtXHhmZl1bYS16QS1aXzAtOVx4N2YtXHhmZl0qXHplJykKLQkJCQlsZXQgZl9hcmdzID0gbWF0Y2hzdHIoaSwgCi0JCQkJCQlcICdeJlw/W2EtekEtWl9ceDdmLVx4ZmZdW2EtekEtWl8wLTlceDdmLVx4ZmZdKlxzKihccypcenMuXHstfVx6ZVxzKilcX3MqeycpCi0JCQkJbGV0IGludF9mdW5jdGlvbnNbZl9uYW1lLicoJ10gPSBmX2FyZ3MuJyknCi0JCQllbmRmb3IKLQotCQkJIiBQcmVwYXJlIGxpc3Qgb2YgZnVuY3Rpb25zIGZyb20gdGFncyBmaWxlCi0JCQlsZXQgZXh0X2Z1bmN0aW9ucyA9IHt9Ci0JCQlpZiBmbmFtZXMgIT0gJycKLQkJCQlleGUgJ3NpbGVudCEgdmltZ3JlcCAvXicuYTpiYXNlLicuKlx0ZlwoXHRcfCRcKS9qICcuZm5hbWVzCi0JCQkJbGV0IHFmbGlzdCA9IGdldHFmbGlzdCgpCi0JCQkJZm9yIGZpZWxkIGluIHFmbGlzdAotCQkJCQkiIEZpbGUgbmFtZQotCQkJCQlsZXQgaXRlbSA9IG1hdGNoc3RyKGZpZWxkWyd0ZXh0J10sICdeW15bOnNwYWNlOl1dXCsnKQotCQkJCQlsZXQgZm5hbWUgPSBtYXRjaHN0cihmaWVsZFsndGV4dCddLCAnXHRcenNcZlwrXHplJykKLQkJCQkJbGV0IHByb3RvdHlwZSA9IG1hdGNoc3RyKGZpZWxkWyd0ZXh0J10sIAotCQkJCQkJCVwgJ2Z1bmN0aW9uXHNcKyZcP1teWzpzcGFjZTpdXVwrXHMqKFxzKlx6cy5cey19XHplXHMqKVxzKntcPycpCi0JCQkJCWxldCBleHRfZnVuY3Rpb25zW2l0ZW0uJygnXSA9IHByb3RvdHlwZS4nKSAtICcuZm5hbWUKLQkJCQllbmRmb3IKKwkJCWxldCBhZGRkb2xsYXIgPSAnJworCQllbmRpZgorCQlsZXQgZmlsZSA9IGdldGxpbmUoMSwgJyQnKQorCQlsZXQgamZpbGUgPSBqb2luKGZpbGUsICcgJykKKwkJbGV0IHNmaWxlID0gc3BsaXQoamZpbGUsICdcJCcpCisJCWxldCBpbnRfdmFycyA9IHt9CisJCWZvciBpIGluIHNmaWxlCisJCQlpZiBpID1+ICdeXCRbYS16QS1aX1x4N2YtXHhmZl1bYS16QS1aXzAtOVx4N2YtXHhmZl0qXHMqPVxzKm5ldycKKwkJCQlsZXQgdmFsID0gbWF0Y2hzdHIoaSwgJ15bYS16QS1aX1x4N2YtXHhmZl1bYS16QS1aXzAtOVx4N2YtXHhmZl0qJykuJy0+JworCQkJZWxzZQorCQkJCWxldCB2YWwgPSBtYXRjaHN0cihpLCAnXlthLXpBLVpfXHg3Zi1ceGZmXVthLXpBLVpfMC05XHg3Zi1ceGZmXSonKQogCQkJZW5kaWYKLQotCQkJIiBBbGwgZnVuY3Rpb25zCi0JCQljYWxsIGV4dGVuZChpbnRfZnVuY3Rpb25zLCBleHRfZnVuY3Rpb25zKQotCQkJY2FsbCBleHRlbmQoaW50X2Z1bmN0aW9ucywgZzpwaHBfYnVpbHRpbl9mdW5jdGlvbnMpCi0KLQkJCSIgSW50ZXJuYWwgc29sdXRpb24gZm9yIGZpbmRpbmcgY29uc3RhbnRzIGluIGN1cnJlbnQgZmlsZQotCQkJbGV0IGZpbGUgPSBnZXRsaW5lKDEsICckJykKLQkJCWNhbGwgZmlsdGVyKGZpbGUsICd2OnZhbCA9fiAiZGVmaW5lXFxzKigiJykKLQkJCWxldCBqZmlsZSA9IGpvaW4oZmlsZSwgJyAnKQotCQkJbGV0IGludF92YWx1ZXMgPSBzcGxpdChqZmlsZSwgJ2RlZmluZVxzKihccyonKQotCQkJbGV0IGludF9jb25zdGFudHMgPSB7fQotCQkJZm9yIGkgaW4gaW50X3ZhbHVlcwotCQkJCWxldCBjX25hbWUgPSBtYXRjaHN0cihpLCAnXChbIicnXVwpXHpzW2EtekEtWl9ceDdmLVx4ZmZdW2EtekEtWl8wLTlceDdmLVx4ZmZdKlx6ZVwxJykKLQkJCQkiIGxldCBjX3ZhbHVlID0gbWF0Y2hzdHIoaSwgCi0JCQkJIiBcICdcKFsiJyddXClbYS16QS1aX1x4N2YtXHhmZl1bYS16QS1aXzAtOVx4N2YtXHhmZl0qXDFccyosXHMqXHpzLlx7LX1cemVccyopJykKLQkJCQlpZiBjX25hbWUgIT0gJycKLQkJCQkJbGV0IGludF9jb25zdGFudHNbY19uYW1lXSA9ICcnICIgY192YWx1ZQotCQkJCWVuZGlmCi0JCQllbmRmb3IKLQotCQkJIiBQcmVwYXJlIGxpc3Qgb2YgY29uc3RhbnRzIGZyb20gdGFncyBmaWxlCi0JCQlsZXQgZm5hbWVzID0gam9pbihtYXAodGFnZmlsZXMoKSwgJ2VzY2FwZSh2OnZhbCwgIiBcXCIpJykpCi0JCQlsZXQgZXh0X2NvbnN0YW50cyA9IHt9Ci0JCQlpZiBmbmFtZXMgIT0gJycKLQkJCQlleGUgJ3NpbGVudCEgdmltZ3JlcCAvXicuYTpiYXNlLicuKlx0ZFwoXHRcfCRcKS9qICcuZm5hbWVzCi0JCQkJbGV0IHFmbGlzdCA9IGdldHFmbGlzdCgpCi0JCQkJZm9yIGZpZWxkIGluIHFmbGlzdAotCQkJCQlsZXQgaXRlbSA9IG1hdGNoc3RyKGZpZWxkWyd0ZXh0J10sICdeW15bOnNwYWNlOl1dXCsnKQotCQkJCQlsZXQgZXh0X2NvbnN0YW50c1tpdGVtXSA9ICcnCi0JCQkJZW5kZm9yCisJCQlpZiB2YWwgIX4gJycKKwkJCQlsZXQgaW50X3ZhcnNbYWRkZG9sbGFyLnZhbF0gPSAnJwogCQkJZW5kaWYKLQotCQkJIiBBbGwgY29uc3RhbnRzCi0JCQljYWxsIGV4dGVuZChpbnRfY29uc3RhbnRzLCBleHRfY29uc3RhbnRzKQotCQkJIiBUcmVhdCBrZXl3b3JkcyBhcyBjb25zdGFudHMKLQotCQkJbGV0IGFsbF92YWx1ZXMgPSB7fQotCi0JCQkiIE9uZSBiaWcgZGljdGlvbmFyeSBvZiBmdW5jdGlvbnMKLQkJCWNhbGwgZXh0ZW5kKGFsbF92YWx1ZXMsIGludF9mdW5jdGlvbnMpCi0KLQkJCSIgQWRkIGNvbnN0YW50cwotCQkJY2FsbCBleHRlbmQoYWxsX3ZhbHVlcywgaW50X2NvbnN0YW50cykKLQkJCSIgQWRkIGtleXdvcmRzCi0JCQljYWxsIGV4dGVuZChhbGxfdmFsdWVzLCBiOnBocF9rZXl3b3JkcykKLQotCQkJZm9yIG0gaW4gc29ydChrZXlzKGFsbF92YWx1ZXMpKQotCQkJCWlmIG0gPX4gJ14nLmE6YmFzZQotCQkJCQljYWxsIGFkZChyZXMsIG0pCisJCWVuZGZvcgorCQkKKwkJIiBjdGFncyBoYXMgZ29vZCBzdXBwb3J0IGZvciBQSFAsIHVzZSB0YWdzIGZpbGUgZm9yIGV4dGVybmFsCisJCSIgdmFyaWFibGVzCisJCWxldCBmbmFtZXMgPSBqb2luKG1hcCh0YWdmaWxlcygpLCAnZXNjYXBlKHY6dmFsLCAiIFxcIiknKSkKKwkJbGV0IGV4dF92YXJzID0ge30KKwkJaWYgZm5hbWVzICE9ICcnCisJCQlsZXQgc2Jhc2UgPSBzdWJzdGl0dXRlKGE6YmFzZSwgJ15cJCcsICcnLCAnJykKKwkJCWV4ZSAnc2lsZW50ISB2aW1ncmVwIC9eJy5zYmFzZS4nLipcdHZcKFx0XHwkXCkvaiAnLmZuYW1lcworCQkJbGV0IHFmbGlzdCA9IGdldHFmbGlzdCgpCisJCQlmb3IgZmllbGQgaW4gcWZsaXN0CisJCQkJbGV0IGl0ZW0gPSBtYXRjaHN0cihmaWVsZFsndGV4dCddLCAnXlteWzpzcGFjZTpdXVwrJykKKwkJCQkiIEFkZCAtPiBpZiBpdCBpcyBwb3NzaWJsZSBvYmplY3QgZGVjbGFyYXRpb24KKwkJCQlsZXQgY2xhc3NuYW1lID0gJycKKwkJCQlpZiBmaWVsZFsndGV4dCddID1+IGl0ZW0uJ1xzKj1ccypuZXdcc1wrJworCQkJCQlsZXQgaXRlbSA9IGl0ZW0uJy0+JworCQkJCQlsZXQgY2xhc3NuYW1lID0gbWF0Y2hzdHIoZmllbGRbJ3RleHQnXSwgCisJCQkJCQkJXCAnPVxzKm5ld1xzXCtcenNbYS16QS1aXzAtOVx4N2YtXHhmZl1cK1x6ZScpCiAJCQkJZW5kaWYKKwkJCQlsZXQgZXh0X3ZhcnNbYWRkZG9sbGFyLml0ZW1dID0gY2xhc3NuYW1lCiAJCQllbmRmb3IKLQotCQkJbGV0IGludF9saXN0ID0gcmVzCi0KLQkJCWxldCBmaW5hbF9saXN0ID0gW10KLQkJCWZvciBpIGluIGludF9saXN0Ci0JCQkJaWYgaGFzX2tleShpbnRfZnVuY3Rpb25zLCBpKQotCQkJCQlsZXQgZmluYWxfbGlzdCArPSAKLQkJCQkJCQlcIFt7J3dvcmQnOmksIAotCQkJCQkJCVwgICAnaW5mbyc6aS5pbnRfZnVuY3Rpb25zW2ldLAotCQkJCQkJCVwgICAna2luZCc6J2YnfV0KLQkJCQllbHNlaWYgaGFzX2tleShpbnRfY29uc3RhbnRzLCBpKQotCQkJCQlsZXQgZmluYWxfbGlzdCArPSBbeyd3b3JkJzppLCAna2luZCc6J2QnfV0KLQkJCQllbHNlCi0JCQkJCWxldCBmaW5hbF9saXN0ICs9IFt7J3dvcmQnOml9XQotCQkJCWVuZGlmCi0JCQllbmRmb3IKLQotCQkJcmV0dXJuIGZpbmFsX2xpc3QKLQogCQllbmRpZgogCisJCSIgTm93IHdlIGhhdmUgYWxsIHZhcmlhYmxlcyBpbiBpbnRfdmFycyBkaWN0aW9uYXJ5CisJCWNhbGwgZXh0ZW5kKGludF92YXJzLCBleHRfdmFycykKKworCQkiIEludGVybmFsIHNvbHV0aW9uIGZvciBmaW5kaW5nIGZ1bmN0aW9ucyBpbiBjdXJyZW50IGZpbGUuCisJCWxldCBmaWxlID0gZ2V0bGluZSgxLCAnJCcpCisJCWNhbGwgZmlsdGVyKGZpbGUsIAorCQkJCVwgJ3Y6dmFsID1+ICJmdW5jdGlvblxcc1xcKyZcXD9bYS16QS1aX1xceDdmLVxceGZmXVthLXpBLVpfMC05XFx4N2YtXFx4ZmZdKlxccyooIicpCisJCWxldCBmbmFtZXMgPSBqb2luKG1hcCh0YWdmaWxlcygpLCAnZXNjYXBlKHY6dmFsLCAiIFxcIiknKSkKKwkJbGV0IGpmaWxlID0gam9pbihmaWxlLCAnICcpCisJCWxldCBpbnRfdmFsdWVzID0gc3BsaXQoamZpbGUsICdmdW5jdGlvblxzXCsnKQorCQlsZXQgaW50X2Z1bmN0aW9ucyA9IHt9CisJCWZvciBpIGluIGludF92YWx1ZXMKKwkJCWxldCBmX25hbWUgPSBtYXRjaHN0cihpLCAKKwkJCQkJXCAnXiZcP1x6c1thLXpBLVpfXHg3Zi1ceGZmXVthLXpBLVpfMC05XHg3Zi1ceGZmXSpcemUnKQorCQkJbGV0IGZfYXJncyA9IG1hdGNoc3RyKGksIAorCQkJCQlcICdeJlw/W2EtekEtWl9ceDdmLVx4ZmZdW2EtekEtWl8wLTlceDdmLVx4ZmZdKlxzKihcenMuXHstfVx6ZSlcX3MqeycpCisJCQlsZXQgaW50X2Z1bmN0aW9uc1tmX25hbWUuJygnXSA9IGZfYXJncy4nKScKKwkJZW5kZm9yCisKKwkJIiBQcmVwYXJlIGxpc3Qgb2YgZnVuY3Rpb25zIGZyb20gdGFncyBmaWxlCisJCWxldCBleHRfZnVuY3Rpb25zID0ge30KKwkJaWYgZm5hbWVzICE9ICcnCisJCQlleGUgJ3NpbGVudCEgdmltZ3JlcCAvXicuYTpiYXNlLicuKlx0ZlwoXHRcfCRcKS9qICcuZm5hbWVzCisJCQlsZXQgcWZsaXN0ID0gZ2V0cWZsaXN0KCkKKwkJCWZvciBmaWVsZCBpbiBxZmxpc3QKKwkJCQkiIEZpbGUgbmFtZQorCQkJCWxldCBpdGVtID0gbWF0Y2hzdHIoZmllbGRbJ3RleHQnXSwgJ15bXls6c3BhY2U6XV1cKycpCisJCQkJbGV0IGZuYW1lID0gbWF0Y2hzdHIoZmllbGRbJ3RleHQnXSwgJ1x0XHpzXGZcK1x6ZScpCisJCQkJbGV0IHByb3RvdHlwZSA9IG1hdGNoc3RyKGZpZWxkWyd0ZXh0J10sIAorCQkJCQkJXCAnZnVuY3Rpb25cc1wrJlw/W15bOnNwYWNlOl1dXCtccyooXHMqXHpzLlx7LX1cemVccyopXHMqe1w/JykKKwkJCQlsZXQgZXh0X2Z1bmN0aW9uc1tpdGVtLicoJ10gPSBwcm90b3R5cGUuJykgLSAnLmZuYW1lCisJCQllbmRmb3IKKwkJZW5kaWYKKworCQlsZXQgYWxsX3ZhbHVlcyA9IHt9CisJCWNhbGwgZXh0ZW5kKGFsbF92YWx1ZXMsIGludF9mdW5jdGlvbnMpCisJCWNhbGwgZXh0ZW5kKGFsbF92YWx1ZXMsIGV4dF9mdW5jdGlvbnMpCisJCWNhbGwgZXh0ZW5kKGFsbF92YWx1ZXMsIGludF92YXJzKSAiIGV4dGVybmFsIHZhcmlhYmxlcyBhcmUgYWxyZWFkeSBpbgorCQljYWxsIGV4dGVuZChhbGxfdmFsdWVzLCBnOnBocF9idWlsdGluX29iamVjdF9mdW5jdGlvbnMpCisKKwkJZm9yIG0gaW4gc29ydChrZXlzKGFsbF92YWx1ZXMpKQorCQkJaWYgbSA9fiAnXCheXHw6OlwpJy5hOmJhc2UKKwkJCQljYWxsIGFkZChyZXMsIG0pCisJCQllbmRpZgorCQllbmRmb3IKKworCQlsZXQgc3RhcnRfbGlzdCA9IHJlcworCisJCWxldCBmaW5hbF9saXN0ID0gW10KKwkJZm9yIGkgaW4gc3RhcnRfbGlzdAorCQkJaWYgaGFzX2tleShpbnRfdmFycywgaSkKKwkJCQlsZXQgY2xhc3MgPSAnICcKKwkJCQlpZiBhbGxfdmFsdWVzW2ldICE9ICcnCisJCQkJCWxldCBjbGFzcyA9IGkuJyBjbGFzcyAnCisJCQkJZW5kaWYKKwkJCQlsZXQgZmluYWxfbGlzdCArPSBbeyd3b3JkJzppLCAnaW5mbyc6Y2xhc3MuYWxsX3ZhbHVlc1tpXSwgJ2tpbmQnOid2J31dCisJCQllbHNlCisJCQkJbGV0IGZpbmFsX2xpc3QgKz0gCisJCQkJCQlcIFt7J3dvcmQnOnN1YnN0aXR1dGUoaSwgJy4qOjonLCAnJywgJycpLCAKKwkJCQkJCVwgICAnaW5mbyc6aS5hbGxfdmFsdWVzW2ldLAorCQkJCQkJXCAgICdraW5kJzonZid9XQorCQkJZW5kaWYKKwkJZW5kZm9yCisKKwkJcmV0dXJuIGZpbmFsX2xpc3QKIAllbmRpZgorCisJaWYgYTpiYXNlID1+ICdeXCQnCisJCSIgQ29tcGxldGUgdmFyaWFibGVzCisJCSIgQnVpbHQtaW4gdmFyaWFibGVzIHt7eworCQlsZXQgZzpwaHBfYnVpbHRpbl92YXJzID0geyckR0xPQkFMUyc6JycsCisJCQkJCQkJCVwgJyRfU0VSVkVSJzonJywKKwkJCQkJCQkJXCAnJF9HRVQnOicnLAorCQkJCQkJCQlcICckX1BPU1QnOicnLAorCQkJCQkJCQlcICckX0NPT0tJRSc6JycsCisJCQkJCQkJCVwgJyRfRklMRVMnOicnLAorCQkJCQkJCQlcICckX0VOVic6JycsCisJCQkJCQkJCVwgJyRfUkVRVUVTVCc6JycsCisJCQkJCQkJCVwgJyRfU0VTU0lPTic6JycsCisJCQkJCQkJCVwgJyRIVFRQX1NFUlZFUl9WQVJTJzonJywKKwkJCQkJCQkJXCAnJEhUVFBfRU5WX1ZBUlMnOicnLAorCQkJCQkJCQlcICckSFRUUF9DT09LSUVfVkFSUyc6JycsCisJCQkJCQkJCVwgJyRIVFRQX0dFVF9WQVJTJzonJywKKwkJCQkJCQkJXCAnJEhUVFBfUE9TVF9WQVJTJzonJywKKwkJCQkJCQkJXCAnJEhUVFBfUE9TVF9GSUxFUyc6JycsCisJCQkJCQkJCVwgJyRIVFRQX1NFU1NJT05fVkFSUyc6JycsCisJCQkJCQkJCVwgJyRwaHBfZXJyb3Jtc2cnOicnLAorCQkJCQkJCQlcICckdGhpcyc6JycKKwkJCQkJCQkJXCB9CisJCSIgfX19CisKKwkJIiBJbnRlcm5hbCBzb2x1dGlvbiBmb3IgY3VycmVudCBmaWxlLgorCQlsZXQgZmlsZSA9IGdldGxpbmUoMSwgJyQnKQorCQlsZXQgamZpbGUgPSBqb2luKGZpbGUsICcgJykKKwkJbGV0IGludF92YWxzID0gc3BsaXQoamZpbGUsICdcemVcJCcpCisJCWxldCBpbnRfdmFycyA9IHt9CisJCWZvciBpIGluIGludF92YWxzCisJCQlpZiBpID1+ICdeXCRbYS16QS1aX1x4N2YtXHhmZl1bYS16QS1aXzAtOVx4N2YtXHhmZl0qXHMqPVxzKm5ldycKKwkJCQlsZXQgdmFsID0gbWF0Y2hzdHIoaSwgCisJCQkJCQlcICdeXCRbYS16QS1aX1x4N2YtXHhmZl1bYS16QS1aXzAtOVx4N2YtXHhmZl0qJykuJy0+JworCQkJZWxzZQorCQkJCWxldCB2YWwgPSBtYXRjaHN0cihpLCAKKwkJCQkJCVwgJ15cJFthLXpBLVpfXHg3Zi1ceGZmXVthLXpBLVpfMC05XHg3Zi1ceGZmXSonKQorCQkJZW5kaWYKKwkJCWlmIHZhbCAhPSAnJworCQkJCWxldCBpbnRfdmFyc1t2YWxdID0gJycKKwkJCWVuZGlmCisJCWVuZGZvcgorCisJCWNhbGwgZXh0ZW5kKGludF92YXJzLGc6cGhwX2J1aWx0aW5fdmFycykKKwkJCisJCSIgY3RhZ3MgaGFzIHN1cHBvcnQgZm9yIFBIUCwgdXNlIHRhZ3MgZmlsZSBmb3IgZXh0ZXJuYWwgdmFyaWFibGVzCisJCWxldCBmbmFtZXMgPSBqb2luKG1hcCh0YWdmaWxlcygpLCAnZXNjYXBlKHY6dmFsLCAiIFxcIiknKSkKKwkJbGV0IGV4dF92YXJzID0ge30KKwkJaWYgZm5hbWVzICE9ICcnCisJCQlsZXQgc2Jhc2UgPSBzdWJzdGl0dXRlKGE6YmFzZSwgJ15cJCcsICcnLCAnJykKKwkJCWV4ZSAnc2lsZW50ISB2aW1ncmVwIC9eJy5zYmFzZS4nLipcdHZcKFx0XHwkXCkvaiAnLmZuYW1lcworCQkJbGV0IHFmbGlzdCA9IGdldHFmbGlzdCgpCisJCQlmb3IgZmllbGQgaW4gcWZsaXN0CisJCQkJbGV0IGl0ZW0gPSAnJCcubWF0Y2hzdHIoZmllbGRbJ3RleHQnXSwgJ15bXls6c3BhY2U6XV1cKycpCisJCQkJbGV0IG1fbWVudSA9ICcnCisJCQkJIiBBZGQgLT4gaWYgaXQgaXMgcG9zc2libGUgb2JqZWN0IGRlY2xhcmF0aW9uCisJCQkJaWYgZmllbGRbJ3RleHQnXSA9fiBpdGVtLidccyo9XHMqbmV3XHNcKycKKwkJCQkJbGV0IGl0ZW0gPSBpdGVtLictPicKKwkJCQkJbGV0IG1fbWVudSA9IG1hdGNoc3RyKGZpZWxkWyd0ZXh0J10sIAorCQkJCQkJCVwgJz1ccypuZXdcc1wrXHpzW2EtekEtWl8wLTlceDdmLVx4ZmZdXCtcemUnKQorCQkJCWVuZGlmCisJCQkJbGV0IGV4dF92YXJzW2l0ZW1dID0gbV9tZW51CisJCQllbmRmb3IKKwkJZW5kaWYKKworCQljYWxsIGV4dGVuZChpbnRfdmFycywgZXh0X3ZhcnMpCisJCWxldCBnOmEwID0ga2V5cyhpbnRfdmFycykKKworCQlmb3IgbSBpbiBzb3J0KGtleXMoaW50X3ZhcnMpKQorCQkJaWYgbSA9fiAnXlwnLmE6YmFzZQorCQkJCWNhbGwgYWRkKHJlcywgbSkKKwkJCWVuZGlmCisJCWVuZGZvcgorCisJCWxldCBpbnRfbGlzdCA9IHJlcworCisJCWxldCBpbnRfZGljdCA9IFtdCisJCWZvciBpIGluIGludF9saXN0CisJCQlpZiBpbnRfdmFyc1tpXSAhPSAnJworCQkJCWxldCBjbGFzcyA9ICcgJworCQkJCWlmIGludF92YXJzW2ldICE9ICcnCisJCQkJCWxldCBjbGFzcyA9IGkuJyBjbGFzcyAnCisJCQkJZW5kaWYKKwkJCQlsZXQgaW50X2RpY3QgKz0gW3snd29yZCc6aSwgJ2luZm8nOmNsYXNzLmludF92YXJzW2ldLCAna2luZCc6J3YnfV0KKwkJCWVsc2UKKwkJCQlsZXQgaW50X2RpY3QgKz0gW3snd29yZCc6aSwgJ2tpbmQnOid2J31dCisJCQllbmRpZgorCQllbmRmb3IKKworCQlyZXR1cm4gaW50X2RpY3QKKworCWVsc2UKKwkJIiBDb21wbGV0ZSBldmVyeXRoaW5nIGVsc2UgLSAKKwkJIiAgKyBmdW5jdGlvbnMsICBET05FCisJCSIgICsga2V5d29yZHMgb2YgbGFuZ3VhZ2UgRE9ORQorCQkiICArIGRlZmluZXMgKGNvbnN0YW50IGRlZmluaXRpb25zKSwgRE9ORQorCQkiICArIGV4dGVuZCBrZXl3b3JkcyBmb3IgcHJlZGVmaW5lZCBjb25zdGFudHMsIERPTkUKKwkJIiAgKyBjbGFzc2VzIChhZnRlciBuZXcpLCBET05FCisJCSIgICsgbGltaXQgY2hvaWNlIGFmdGVyIC0+IGFuZCA6OiB0byBmdW5jcyBhbmQgdmFycyBET05FCisKKwkJIiBJbnRlcm5hbCBzb2x1dGlvbiBmb3IgZmluZGluZyBmdW5jdGlvbnMgaW4gY3VycmVudCBmaWxlLgorCQlsZXQgZmlsZSA9IGdldGxpbmUoMSwgJyQnKQorCQljYWxsIGZpbHRlcihmaWxlLCAKKwkJCQlcICd2OnZhbCA9fiAiZnVuY3Rpb25cXHNcXCsmXFw/W2EtekEtWl9cXHg3Zi1cXHhmZl1bYS16QS1aXzAtOVxceDdmLVxceGZmXSpcXHMqKCInKQorCQlsZXQgZm5hbWVzID0gam9pbihtYXAodGFnZmlsZXMoKSwgJ2VzY2FwZSh2OnZhbCwgIiBcXCIpJykpCisJCWxldCBqZmlsZSA9IGpvaW4oZmlsZSwgJyAnKQorCQlsZXQgaW50X3ZhbHVlcyA9IHNwbGl0KGpmaWxlLCAnZnVuY3Rpb25cc1wrJykKKwkJbGV0IGludF9mdW5jdGlvbnMgPSB7fQorCQlmb3IgaSBpbiBpbnRfdmFsdWVzCisJCQlsZXQgZl9uYW1lID0gbWF0Y2hzdHIoaSwgCisJCQkJCVwgJ14mXD9cenNbYS16QS1aX1x4N2YtXHhmZl1bYS16QS1aXzAtOVx4N2YtXHhmZl0qXHplJykKKwkJCWxldCBmX2FyZ3MgPSBtYXRjaHN0cihpLCAKKwkJCQkJXCAnXiZcP1thLXpBLVpfXHg3Zi1ceGZmXVthLXpBLVpfMC05XHg3Zi1ceGZmXSpccyooXHMqXHpzLlx7LX1cemVccyopXF9zKnsnKQorCQkJbGV0IGludF9mdW5jdGlvbnNbZl9uYW1lLicoJ10gPSBmX2FyZ3MuJyknCisJCWVuZGZvcgorCisJCSIgUHJlcGFyZSBsaXN0IG9mIGZ1bmN0aW9ucyBmcm9tIHRhZ3MgZmlsZQorCQlsZXQgZXh0X2Z1bmN0aW9ucyA9IHt9CisJCWlmIGZuYW1lcyAhPSAnJworCQkJZXhlICdzaWxlbnQhIHZpbWdyZXAgL14nLmE6YmFzZS4nLipcdGZcKFx0XHwkXCkvaiAnLmZuYW1lcworCQkJbGV0IHFmbGlzdCA9IGdldHFmbGlzdCgpCisJCQlmb3IgZmllbGQgaW4gcWZsaXN0CisJCQkJIiBGaWxlIG5hbWUKKwkJCQlsZXQgaXRlbSA9IG1hdGNoc3RyKGZpZWxkWyd0ZXh0J10sICdeW15bOnNwYWNlOl1dXCsnKQorCQkJCWxldCBmbmFtZSA9IG1hdGNoc3RyKGZpZWxkWyd0ZXh0J10sICdcdFx6c1xmXCtcemUnKQorCQkJCWxldCBwcm90b3R5cGUgPSBtYXRjaHN0cihmaWVsZFsndGV4dCddLCAKKwkJCQkJCVwgJ2Z1bmN0aW9uXHNcKyZcP1teWzpzcGFjZTpdXVwrXHMqKFxzKlx6cy5cey19XHplXHMqKVxzKntcPycpCisJCQkJbGV0IGV4dF9mdW5jdGlvbnNbaXRlbS4nKCddID0gcHJvdG90eXBlLicpIC0gJy5mbmFtZQorCQkJZW5kZm9yCisJCWVuZGlmCisKKwkJIiBBbGwgZnVuY3Rpb25zCisJCWNhbGwgZXh0ZW5kKGludF9mdW5jdGlvbnMsIGV4dF9mdW5jdGlvbnMpCisJCWNhbGwgZXh0ZW5kKGludF9mdW5jdGlvbnMsIGc6cGhwX2J1aWx0aW5fZnVuY3Rpb25zKQorCisJCSIgSW50ZXJuYWwgc29sdXRpb24gZm9yIGZpbmRpbmcgY29uc3RhbnRzIGluIGN1cnJlbnQgZmlsZQorCQlsZXQgZmlsZSA9IGdldGxpbmUoMSwgJyQnKQorCQljYWxsIGZpbHRlcihmaWxlLCAndjp2YWwgPX4gImRlZmluZVxccyooIicpCisJCWxldCBqZmlsZSA9IGpvaW4oZmlsZSwgJyAnKQorCQlsZXQgaW50X3ZhbHVlcyA9IHNwbGl0KGpmaWxlLCAnZGVmaW5lXHMqKFxzKicpCisJCWxldCBpbnRfY29uc3RhbnRzID0ge30KKwkJZm9yIGkgaW4gaW50X3ZhbHVlcworCQkJbGV0IGNfbmFtZSA9IG1hdGNoc3RyKGksICdcKFsiJyddXClcenNbYS16QS1aX1x4N2YtXHhmZl1bYS16QS1aXzAtOVx4N2YtXHhmZl0qXHplXDEnKQorCQkJIiBsZXQgY192YWx1ZSA9IG1hdGNoc3RyKGksIAorCQkJIiBcICdcKFsiJyddXClbYS16QS1aX1x4N2YtXHhmZl1bYS16QS1aXzAtOVx4N2YtXHhmZl0qXDFccyosXHMqXHpzLlx7LX1cemVccyopJykKKwkJCWlmIGNfbmFtZSAhPSAnJworCQkJCWxldCBpbnRfY29uc3RhbnRzW2NfbmFtZV0gPSAnJyAiIGNfdmFsdWUKKwkJCWVuZGlmCisJCWVuZGZvcgorCisJCSIgUHJlcGFyZSBsaXN0IG9mIGNvbnN0YW50cyBmcm9tIHRhZ3MgZmlsZQorCQlsZXQgZm5hbWVzID0gam9pbihtYXAodGFnZmlsZXMoKSwgJ2VzY2FwZSh2OnZhbCwgIiBcXCIpJykpCisJCWxldCBleHRfY29uc3RhbnRzID0ge30KKwkJaWYgZm5hbWVzICE9ICcnCisJCQlleGUgJ3NpbGVudCEgdmltZ3JlcCAvXicuYTpiYXNlLicuKlx0ZFwoXHRcfCRcKS9qICcuZm5hbWVzCisJCQlsZXQgcWZsaXN0ID0gZ2V0cWZsaXN0KCkKKwkJCWZvciBmaWVsZCBpbiBxZmxpc3QKKwkJCQlsZXQgaXRlbSA9IG1hdGNoc3RyKGZpZWxkWyd0ZXh0J10sICdeW15bOnNwYWNlOl1dXCsnKQorCQkJCWxldCBleHRfY29uc3RhbnRzW2l0ZW1dID0gJycKKwkJCWVuZGZvcgorCQllbmRpZgorCisJCSIgQWxsIGNvbnN0YW50cworCQljYWxsIGV4dGVuZChpbnRfY29uc3RhbnRzLCBleHRfY29uc3RhbnRzKQorCQkiIFRyZWF0IGtleXdvcmRzIGFzIGNvbnN0YW50cworCisJCWxldCBhbGxfdmFsdWVzID0ge30KKworCQkiIE9uZSBiaWcgZGljdGlvbmFyeSBvZiBmdW5jdGlvbnMKKwkJY2FsbCBleHRlbmQoYWxsX3ZhbHVlcywgaW50X2Z1bmN0aW9ucykKKworCQkiIEFkZCBjb25zdGFudHMKKwkJY2FsbCBleHRlbmQoYWxsX3ZhbHVlcywgaW50X2NvbnN0YW50cykKKwkJIiBBZGQga2V5d29yZHMKKwkJY2FsbCBleHRlbmQoYWxsX3ZhbHVlcywgZzpwaHBfa2V5d29yZHMpCisKKwkJZm9yIG0gaW4gc29ydChrZXlzKGFsbF92YWx1ZXMpKQorCQkJaWYgbSA9fiAnXicuYTpiYXNlCisJCQkJY2FsbCBhZGQocmVzLCBtKQorCQkJZW5kaWYKKwkJZW5kZm9yCisKKwkJbGV0IGludF9saXN0ID0gcmVzCisKKwkJbGV0IGZpbmFsX2xpc3QgPSBbXQorCQlmb3IgaSBpbiBpbnRfbGlzdAorCQkJaWYgaGFzX2tleShpbnRfZnVuY3Rpb25zLCBpKQorCQkJCWxldCBmaW5hbF9saXN0ICs9IAorCQkJCQkJXCBbeyd3b3JkJzppLCAKKwkJCQkJCVwgICAnaW5mbyc6aS5pbnRfZnVuY3Rpb25zW2ldLAorCQkJCQkJXCAgICdraW5kJzonZid9XQorCQkJZWxzZWlmIGhhc19rZXkoaW50X2NvbnN0YW50cywgaSkKKwkJCQlsZXQgZmluYWxfbGlzdCArPSBbeyd3b3JkJzppLCAna2luZCc6J2QnfV0KKwkJCWVsc2UKKwkJCQlsZXQgZmluYWxfbGlzdCArPSBbeyd3b3JkJzppfV0KKwkJCWVuZGlmCisJCWVuZGZvcgorCisJCXJldHVybiBmaW5hbF9saXN0CisKKwllbmRpZgorCiBlbmRmdW5jdGlvbgogCitmdW5jdGlvbiEgcGhwY29tcGxldGUjR2V0Q2xhc3NOYW1lKHNjb250ZXh0KSAiIHt7eworCSIgR2V0IGNsYXNzIG5hbWUKKwkiIENsYXNzIG5hbWUgY2FuIGJlIGRldGVjdGVkIGluIGZldyB3YXlzOgorCSIgQHZhciAkbXlWYXIgY2xhc3MKKwkiIGxpbmUgYWJvdmUKKwkiIG9yIGxpbmUgaW4gdGFncyBmaWxlCisKKwlsZXQgb2JqZWN0ID0gbWF0Y2hzdHIoYTpzY29udGV4dCwgJ1x6c1thLXpBLVpfMC05XHg3Zi1ceGZmXVwrXHplLT4nKQorCWxldCBpID0gMQorCXdoaWxlIGkgPCBsaW5lKCcuJykKKwkJbGV0IGxpbmUgPSBnZXRsaW5lKGxpbmUoJy4nKS1pKQorCQlpZiBsaW5lID1+ICdeXHMqXCpcL1w/XHMqJCcKKwkJCWxldCBpICs9IDEKKwkJCWNvbnRpbnVlCisJCWVsc2UKKwkJCWlmIGxpbmUgPX4gJ0B2YXJcc1wrXCQnLm9iamVjdC4nXHNcK1thLXpBLVpfMC05XHg3Zi1ceGZmXVwrJworCQkJCWxldCBjbGFzc25hbWUgPSBtYXRjaHN0cihsaW5lLCAnQHZhclxzXCtcJCcub2JqZWN0Lidcc1wrXHpzW2EtekEtWl8wLTlceDdmLVx4ZmZdXCsnKQorCQkJCXJldHVybiBjbGFzc25hbWUKKwkJCWVsc2UKKwkJCQlicmVhaworCQkJZW5kaWYKKwkJZW5kaWYKKwllbmR3aGlsZQorCisJIiBPSywgZmlyc3Qgd2F5IGZhaWxlZCwgbm93IGNoZWNrIHRhZ3MgZmlsZShzKQorCWxldCBmbmFtZXMgPSBqb2luKG1hcCh0YWdmaWxlcygpLCAnZXNjYXBlKHY6dmFsLCAiIFxcIiknKSkKKwlleGUgJ3NpbGVudCEgdmltZ3JlcCAvXicub2JqZWN0LicuKlwkJy5vYmplY3QuJy4qPVxzKm5ld1xzXCsuKlx0dlwoXHRcfCRcKS9qICcuZm5hbWVzCisJbGV0IHFmbGlzdCA9IGdldHFmbGlzdCgpCisJaWYgbGVuKHFmbGlzdCkgPT0gMAorCQlyZXR1cm4gW10KKwllbmRpZgorCSIgSW4gYWxsIHByb3Blcmx5IG1hbmFnZWQgcHJvamVjdHMgaXQgc2hvdWxkIGJlIG9uZSBpdGVtIGxpc3QsIGV2ZW4gaWYgaXQKKwkiICppcyogbG9uZ2VyIHdlIGNhbm5vdCBzb2x2ZSBjb25mbGljdHMsIGFzc3VtZSBpdCBpcyBmaXJzdCBlbGVtZW50CisJbGV0IGNsYXNzbmFtZSA9IG1hdGNoc3RyKHFmbGlzdFswXVsndGV4dCddLCAnPVxzKm5ld1xzXCtcenNbYS16QS1aXzAtOVx4N2YtXHhmZl1cK1x6ZScpCisJcmV0dXJuIGNsYXNzbmFtZQorCitlbmRmdW5jdGlvbgorIiB9fX0KK2Z1bmN0aW9uISBwaHBjb21wbGV0ZSNHZXRDbGFzc0xvY2F0aW9uKGNsYXNzbmFtZSkgIiB7e3sKKwkiIEdldCBjbGFzcyBsb2NhdGlvbgorCWZvciBmbmFtZSBpbiB0YWdmaWxlcygpCisJCWxldCBmaGVhZCA9IGZuYW1lbW9kaWZ5KGZuYW1lLCAiOmgiKQorCQlpZiBmaGVhZCAhPSAnJworCQkJbGV0IHBzZXAgPSAnLycKKwkJCWxldCBmaGVhZCAuPSBwc2VwCisJCWVuZGlmCisJCWxldCBmbmFtZSA9IGVzY2FwZShmbmFtZSwgIiBcXCIpCisJCWV4ZSAnc2lsZW50ISB2aW1ncmVwIC9eJy5hOmNsYXNzbmFtZS4nLipcdGNcKFx0XHwkXCkvaiAnLmZuYW1lCisJCWxldCBxZmxpc3QgPSBnZXRxZmxpc3QoKQorCQkiIEFzIGluIEdldENsYXNzTmFtZSB3ZSBjYW4gbWFuYWdlIG9ubHkgb25lIGVsZW1lbnQKKwkJbGV0IGNsYXNzbG9jYXRpb24gPSBtYXRjaHN0cihxZmxpc3RbMF1bJ3RleHQnXSwgJ1x0XHpzXGZcK1x6ZVx0JykKKwkJIiBBbmQgb25seSBvbmUgY2xhc3MgbG9jYXRpb24KKwkJaWYgY2xhc3Nsb2NhdGlvbiAhPSAnJworCQkJbGV0IHBzZXQgPSAnLycgIiBOb3RlOiBzbGFzaCBpcyBwb3RlbnRpYWwgcHJvYmxlbSEKKwkJCWxldCBjbGFzc2xvY2F0aW9uID0gZmhlYWQuY2xhc3Nsb2NhdGlvbgorCQkJcmV0dXJuIGNsYXNzbG9jYXRpb24KKwkJZW5kaWYKKwllbmRmb3IKKworZW5kZnVuY3Rpb24KKyIgfX19CisKK2Z1bmN0aW9uISBwaHBjb21wbGV0ZSNHZXRDbGFzc0NvbnRlbnRzKGZpbGUsIG5hbWUpICIge3t7CisJbGV0IGNmaWxlID0gam9pbihhOmZpbGUsICJcbiIpCisJIiBXZSB1c2UgbmV3IGJ1ZmZlciBhbmQgKGxhdGVyKSBub3JtYWwhIGJlY2F1c2UgCisJIiB0aGlzIGlzIHRoZSBtb3N0IGVmZmljaWVudCB3YXkuIFRoZSBvdGhlciB3YXkKKwkiIGlzIHRvIGdvIHRocm91Z2ggdGhlIGxvb29uZyBzdHJpbmcgbG9va2luZyBmb3IKKwkiIG1hdGNoaW5nIHt9IAorCWJlbG93IDFuZXcKKwkwcHV0ID1jZmlsZQorCWNhbGwgc2VhcmNoKCdjbGFzc1xzXCsnLmE6bmFtZSkKKwlsZXQgY2ZsaW5lID0gbGluZSgnLicpCisJIiBDYXRjaCBleHRlbmRzCisJaWYgZ2V0bGluZSgnLicpID1+ICdleHRlbmRzJworCQlsZXQgZXh0ZW5kc19jbGFzcyA9IG1hdGNoc3RyKGdldGxpbmUoJy4nKSwgCisJCQkJXCAnY2xhc3Ncc1wrJy5hOm5hbWUuJ1xzXCtleHRlbmRzXHNcK1x6c1thLXpBLVpfMC05XHg3Zi1ceGZmXVwrXHplJykKKwllbHNlCisJCWxldCBleHRlbmRzX2NsYXNzID0gJycKKwllbmRpZgorCW5vcm1hbCEgJQorCWxldCBjbGFzc2MgPSBnZXRsaW5lKGNmbGluZSwgIi4iKQorCWxldCBjbGFzc2NvbnRlbnQgPSBqb2luKGNsYXNzYywgIlxuIikKKworCWJ3ISAlCisJaWYgZXh0ZW5kc19jbGFzcyAhPSAnJworCQlsZXQgY2xhc3Nsb2NhdGlvbiA9IHBocGNvbXBsZXRlI0dldENsYXNzTG9jYXRpb24oZXh0ZW5kc19jbGFzcykKKwkJaWYgZmlsZXJlYWRhYmxlKGNsYXNzbG9jYXRpb24pCisJCQlsZXQgY2xhc3NmaWxlID0gcmVhZGZpbGUoY2xhc3Nsb2NhdGlvbikKKwkJCWxldCBjbGFzc2NvbnRlbnQgLj0gIlxuIi5waHBjb21wbGV0ZSNHZXRDbGFzc0NvbnRlbnRzKGNsYXNzZmlsZSwgZXh0ZW5kc19jbGFzcykKKwkJZW5kaWYKKwllbmRpZgorCisJcmV0dXJuIGNsYXNzY29udGVudAorZW5kZnVuY3Rpb24KKyIgfX19CisKIGZ1bmN0aW9uISBwaHBjb21wbGV0ZSNMb2FkRGF0YSgpICIge3t7CiAiIEtleXdvcmRzL3Jlc2VydmVkIHdvcmRzLCBhbGwgb3RoZXIgc3BlY2lhbCB0aGluZ3Mge3t7CiAiIExhdGVyIGl0IGlzIHBvc3NpYmxlIHRvIGFkZCBzb21lIGhlbHAgdG8gdmFsdWVzLCBvciB0eXBlIG9mCiAiIGRlZmluZWQgdmFyaWFibGUKLWxldCBiOnBocF9rZXl3b3JkcyA9IHsKK2xldCBnOnBocF9rZXl3b3JkcyA9IHsKIFwgJ1BIUF9TRUxGJzonJywKIFwgJ2FyZ3YnOicnLAogXCAnYXJnYyc6JycsCmRpZmYgLS1naXQgYS9ydW50aW1lL2F1dG9sb2FkL3NxbGNvbXBsZXRlLnZpbSBiL3J1bnRpbWUvYXV0b2xvYWQvc3FsY29tcGxldGUudmltCmluZGV4IDEyM2YwMDQuLmIwNDE1YmMgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvYXV0b2xvYWQvc3FsY29tcGxldGUudmltCisrKyBiL3J1bnRpbWUvYXV0b2xvYWQvc3FsY29tcGxldGUudmltCkBAIC0xLDggKzEsOCBAQAogIiBWaW0gY29tcGxldGlvbiBzY3JpcHQKICIgTGFuZ3VhZ2U6ICAgIFNRTAogIiBNYWludGFpbmVyOiAgRGF2aWQgRmlzaGJ1cm4gPGZpc2hidXJuQGlhbnl3aGVyZS5jb20+Ci0iIFZlcnNpb246ICAgICAxLjAKLSIgTGFzdCBDaGFuZ2U6IFR1ZSBNYXIgMjggMjAwNiA0OjM5OjQ5IFBNCisiIFZlcnNpb246ICAgICAyLjAKKyIgTGFzdCBDaGFuZ2U6IE1vbiBBcHIgMDMgMjAwNiAxMDoyMTozNiBQTQogCiAiIFNldCBjb21wbGV0aW9uIHdpdGggQ1RSTC1YIENUUkwtTyB0byBhdXRvbG9hZGVkIGZ1bmN0aW9uLgogIiBUaGlzIGNoZWNrIGlzIGluIHBsYWNlIGluIGNhc2UgdGhpcyBzY3JpcHQgaXMKQEAgLTIxLDIwICsyMSwyMCBAQAogbGV0IGc6bG9hZGVkX3NxbF9jb21wbGV0aW9uID0gMQogCiAiIE1haW50YWlucyBmaWxlbmFtZSBvZiBkaWN0aW9uYXJ5Ci1sZXQgczpzcWxfZmlsZV90YWJsZSAgICAgICAgICAgICA9ICIiCi1sZXQgczpzcWxfZmlsZV9wcm9jZWR1cmUgICAgICAgICA9ICIiCi1sZXQgczpzcWxfZmlsZV92aWV3ICAgICAgICAgICAgICA9ICIiCitsZXQgczpzcWxfZmlsZV90YWJsZSAgICAgICAgPSAiIgorbGV0IHM6c3FsX2ZpbGVfcHJvY2VkdXJlICAgID0gIiIKK2xldCBzOnNxbF9maWxlX3ZpZXcgICAgICAgICA9ICIiCiAKICIgRGVmaW5lIHZhcmlvdXMgYXJyYXlzIHRvIGJlIHVzZWQgZm9yIGNhY2hpbmcKLWxldCBzOnRibF9uYW1lICAgICAgICAgICAgICAgICAgID0gW10KLWxldCBzOnRibF9hbGlhcyAgICAgICAgICAgICAgICAgID0gW10KLWxldCBzOnRibF9jb2xzICAgICAgICAgICAgICAgICAgID0gW10KLWxldCBzOnN5bl9saXN0ICAgICAgICAgICAgICAgICAgID0gW10KLWxldCBzOnN5bl92YWx1ZSAgICAgICAgICAgICAgICAgID0gW10KK2xldCBzOnRibF9uYW1lICAgICAgICAgICAgICA9IFtdCitsZXQgczp0YmxfYWxpYXMgICAgICAgICAgICAgPSBbXQorbGV0IHM6dGJsX2NvbHMgICAgICAgICAgICAgID0gW10KK2xldCBzOnN5bl9saXN0ICAgICAgICAgICAgICA9IFtdCitsZXQgczpzeW5fdmFsdWUgICAgICAgICAgICAgPSBbXQogIAogIiBVc2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlIHN5bnRheGNvbXBsZXRlIHBsdWdpbgotbGV0IHM6c2F2ZV9pbmMgPSAiIgotbGV0IHM6c2F2ZV9leGMgPSAiIgorbGV0IHM6c2F2ZV9pbmMgICAgICAgICAgICAgID0gIiIKK2xldCBzOnNhdmVfZXhjICAgICAgICAgICAgICA9ICIiCiBpZiBleGlzdHMoJ2c6b21uaV9zeW50YXhfZ3JvdXBfaW5jbHVkZV9zcWwnKQogICAgIGxldCBzOnNhdmVfaW5jID0gZzpvbW5pX3N5bnRheF9ncm91cF9pbmNsdWRlX3NxbAogZW5kaWYKQEAgLTQzLDEyICs0MywyMyBAQAogZW5kaWYKICAKICIgVXNlZCB3aXRoIHRoZSBjb2x1bW4gbGlzdAotbGV0IHM6c2F2ZV9wcmV2X3RhYmxlID0gIiIKK2xldCBzOnNhdmVfcHJldl90YWJsZSAgICAgICA9ICIiCiAKICIgRGVmYXVsdCB0aGUgb3B0aW9uIHRvIHZlcmlmeSB0YWJsZSBhbGlhcwogaWYgIWV4aXN0cygnZzpvbW5pX3NxbF91c2VfdGJsX2FsaWFzJykKICAgICBsZXQgZzpvbW5pX3NxbF91c2VfdGJsX2FsaWFzID0gJ2EnCiBlbmRpZgorIiBEZWZhdWx0IHN5bnRheCBpdGVtcyB0byBwcmVjYWNoZQoraWYgIWV4aXN0cygnZzpvbW5pX3NxbF9wcmVjYWNoZV9zeW50YXhfZ3JvdXBzJykKKyAgICBsZXQgZzpvbW5pX3NxbF9wcmVjYWNoZV9zeW50YXhfZ3JvdXBzID0gWworICAgICAgICAgICAgICAgIFwgJ3N5bnRheCcsCisgICAgICAgICAgICAgICAgXCAnc3FsS2V5d29yZCcsCisgICAgICAgICAgICAgICAgXCAnc3FsRnVuY3Rpb24nLAorICAgICAgICAgICAgICAgIFwgJ3NxbE9wdGlvbicsCisgICAgICAgICAgICAgICAgXCAnc3FsVHlwZScsCisgICAgICAgICAgICAgICAgXCAnc3FsU3RhdGVtZW50JworICAgICAgICAgICAgICAgIFwgXQorZW5kaWYKIAogIiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgZm9yIHRoZSAnb21uaWZ1bmMnIG9wdGlvbi4KIGZ1bmN0aW9uISBzcWxjb21wbGV0ZSNDb21wbGV0ZShmaW5kc3RhcnQsIGJhc2UpCkBAIC02MCw2ICs3MSw4IEBACiAgICAgICAgIGxldCBjb21wbF90eXBlID0gYjpzcWxfY29tcGxfdHlwZQogICAgIGVuZGlmCiAKKyAgICAiIEZpcnN0IHBhc3MgdGhyb3VnaCB0aGlzIGZ1bmN0aW9uIGRldGVybWluZXMgaG93IG11Y2ggb2YgdGhlIGxpbmUgc2hvdWxkCisgICAgIiBiZSByZXBsYWNlZCBieSB3aGF0ZXZlciBpcyBjaG9zZW4gZnJvbSB0aGUgY29tcGxldGlvbiBsaXN0CiAgICAgaWYgYTpmaW5kc3RhcnQKICAgICAgICAgIiBMb2NhdGUgdGhlIHN0YXJ0IG9mIHRoZSBpdGVtLCBpbmNsdWRpbmcgIi4iCiAgICAgICAgIGxldCBsaW5lID0gZ2V0bGluZSgnLicpCkBAIC02OCwxNSArODEsMTYgQEAKICAgICAgICAgd2hpbGUgc3RhcnQgPiAwCiAgICAgICAgICAgICBpZiBsaW5lW3N0YXJ0IC0gMV0gPX4gJ1x3JwogICAgICAgICAgICAgICAgIGxldCBzdGFydCAtPSAxCi0gICAgICAgICAgICBlbHNlaWYgbGluZVtzdGFydCAtIDFdID1+ICdcLicgJiYgY29tcGxfdHlwZSA9fiAnY29sdW1uXHx0YWJsZScKLSAgICAgICAgICAgICAgICAiIElmIHRoZSBjb21wbGV0aW9uIHR5cGUgaXMgdGFibGUgb3IgY29sdW1uCi0gICAgICAgICAgICAgICAgIiBUaGVuIGFzc3VtZSB3ZSBhcmUgbG9va2luZyBmb3IgY29sdW1uIGNvbXBsZXRpb24KLSAgICAgICAgICAgICAgICAiIGNvbHVtbl90eXBlIGNhbiBiZSBlaXRoZXIgJ2NvbHVtbicgb3IgJ2NvbHVtbl9jc3YnCi0gICAgICAgICAgICAgICAgaWYgbGFzdHdvcmQgPT0gLTEKKyAgICAgICAgICAgIGVsc2VpZiBsaW5lW3N0YXJ0IC0gMV0gPX4gJ1wuJyAmJiBjb21wbF90eXBlID1+ICdjb2x1bW4nCisgICAgICAgICAgICAgICAgIiBJZiB0aGUgY29tcGxldGlvbiB0eXBlIGlzIGNvbHVtbiB0aGVuIGFzc3VtZSB3ZSBhcmUgbG9va2luZworICAgICAgICAgICAgICAgICIgZm9yIGNvbHVtbiBjb21wbGV0aW9uIGNvbHVtbl90eXBlIGNhbiBiZSBlaXRoZXIgCisgICAgICAgICAgICAgICAgIiAnY29sdW1uJyBvciAnY29sdW1uX2NzdicKKyAgICAgICAgICAgICAgICBpZiBsYXN0d29yZCA9PSAtMSAmJiBjb21wbF90eXBlID09ICdjb2x1bW4nCisgICAgICAgICAgICAgICAgICAgICIgRG8gbm90IHJlcGxhY2UgdGhlIHRhYmxlIG5hbWUgcHJlZml4IG9yIGFsaWFzCisgICAgICAgICAgICAgICAgICAgICIgaWYgY29tcGxldGluZyBvbmx5IGEgc2luZ2xlIGNvbHVtbiBuYW1lCiAgICAgICAgICAgICAgICAgICAgIGxldCBsYXN0d29yZCA9IHN0YXJ0CiAgICAgICAgICAgICAgICAgZW5kaWYKICAgICAgICAgICAgICAgICBsZXQgc3RhcnQgLT0gMQotICAgICAgICAgICAgICAgIGxldCBiOnNxbF9jb21wbF90eXBlID0gJ2NvbHVtbicKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICBicmVhawogICAgICAgICAgICAgZW5kaWYKQEAgLTkyLDggKzEwNiwxMiBAQAogICAgICAgICByZXR1cm4gbGFzdHdvcmQKICAgICBlbmRpZgogCisgICAgIiBTZWNvbmQgcGFzcyB0aHJvdWdoIHRoaXMgZnVuY3Rpb24gd2lsbCBkZXRlcm1pbmUgd2hhdCBkYXRhIHRvIHB1dCBpbnNpZGUKKyAgICAiIG9mIHRoZSBjb21wbGV0aW9uIGxpc3QKKyAgICAiIHM6cHJlcGVuZGVkIGlzIHNldCBieSB0aGUgZmlyc3QgcGFzcwogICAgIGxldCBiYXNlID0gczpwcmVwZW5kZWQgLiBhOmJhc2UKIAorICAgICIgRGVmYXVsdCB0aGUgY29tcGxldGlvbiBsaXN0IHRvIGFuIGVtcHR5IGxpc3QKICAgICBsZXQgY29tcGxfbGlzdCA9IFtdCiAKICAgICAiIERlZmF1bHQgdG8gdGFibGUgbmFtZSBjb21wbGV0aW9uCkBAIC0xNzgsMzYgKzE5Niw4IEBACiAgICAgICAgIGxldCBzOnRibF9jb2xzICA9IFtdCiAgICAgICAgIGxldCBzOnN5bl9saXN0ICA9IFtdCiAgICAgICAgIGxldCBzOnN5bl92YWx1ZSA9IFtdCi0gICAgICAgIHJldHVybiBbXQogICAgIGVsc2UKLSAgICAgICAgIiBEZWZhdWx0IHRvIGVtcHR5IG9yIG5vdCBmb3VuZAotICAgICAgICBsZXQgY29tcGxfbGlzdCA9IFtdCi0gICAgICAgICIgQ2hlY2sgaWYgd2UgaGF2ZSBhbHJlYWR5IGNhY2hlZCB0aGUgc3ludGF4IGxpc3QKLSAgICAgICAgbGV0IGxpc3RfaWR4ID0gaW5kZXgoczpzeW5fbGlzdCwgY29tcGxfdHlwZSwgMCwgJmlnbm9yZWNhc2UpCi0gICAgICAgIGlmIGxpc3RfaWR4ID4gLTEKLSAgICAgICAgICAgICIgUmV0dXJuIHByZXZpb3VzbHkgY2FjaGVkIHZhbHVlCi0gICAgICAgICAgICBsZXQgY29tcGxfbGlzdCA9IHM6c3luX3ZhbHVlW2xpc3RfaWR4XQotICAgICAgICBlbHNlCi0gICAgICAgICAgICAiIFJlcXVlc3QgdGhlIHN5bnRheCBsaXN0IGl0ZW1zIGZyb20gdGhlIAotICAgICAgICAgICAgIiBzeW50YXggY29tcGxldGlvbiBwbHVnaW4KLSAgICAgICAgICAgIGlmIGNvbXBsX3R5cGUgPT0gJ3N5bnRheCcKLSAgICAgICAgICAgICAgICAiIEhhbmRsZSB0aGlzIHNwZWNpYWwgY2FzZS4gIFRoaXMgYWxsb3dzIHRoZSB1c2VyCi0gICAgICAgICAgICAgICAgIiB0byBpbmRpY2F0ZSB0aGV5IHdhbnQgYWxsIHRoZSBzeW50YXggaXRlbXMgYXZhaWxhYmxlLAotICAgICAgICAgICAgICAgICIgc28gZG8gbm90IHNwZWNpZnkgYSBzcGVjaWZpYyBpbmNsdWRlIGxpc3QuCi0gICAgICAgICAgICAgICAgbGV0IGc6b21uaV9zeW50YXhfZ3JvdXBfaW5jbHVkZV9zcWwgPSAnJwotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICIgVGhlIHVzZXIgaGFzIHNwZWNpZmllZCBhIHNwZWNpZmljIHN5bnRheCBncm91cAotICAgICAgICAgICAgICAgIGxldCBnOm9tbmlfc3ludGF4X2dyb3VwX2luY2x1ZGVfc3FsID0gY29tcGxfdHlwZQotICAgICAgICAgICAgZW5kaWYKLSAgICAgICAgICAgIGxldCBnOm9tbmlfc3ludGF4X2dyb3VwX2V4Y2x1ZGVfc3FsID0gJycKLSAgICAgICAgICAgIGxldCBzeW5fdmFsdWUgICAgICAgICAgICAgICAgICAgICAgID0gT21uaVN5bnRheExpc3QoKQotICAgICAgICAgICAgbGV0IGc6b21uaV9zeW50YXhfZ3JvdXBfaW5jbHVkZV9zcWwgPSBzOnNhdmVfaW5jCi0gICAgICAgICAgICBsZXQgZzpvbW5pX3N5bnRheF9ncm91cF9leGNsdWRlX3NxbCA9IHM6c2F2ZV9leGMKLSAgICAgICAgICAgICIgQ2FjaGUgdGhlc2UgdmFsdWVzIGZvciBsYXRlciB1c2UKLSAgICAgICAgICAgIGxldCBzOnN5bl9saXN0ICA9IGFkZCggczpzeW5fbGlzdCwgIGNvbXBsX3R5cGUgKQotICAgICAgICAgICAgbGV0IHM6c3luX3ZhbHVlID0gYWRkKCBzOnN5bl92YWx1ZSwgc3luX3ZhbHVlICkKLSAgICAgICAgICAgIGxldCBjb21wbF9saXN0ICA9IHN5bl92YWx1ZQotICAgICAgICBlbmRpZgorICAgICAgICBsZXQgY29tcGxfbGlzdCA9IHM6U1FMQ0dldFN5bnRheExpc3QoY29tcGxfdHlwZSkKICAgICBlbmRpZgogCiAgICAgaWYgYmFzZSAhPSAnJwpAQCAtMjE3LDYgKzIwNywxMCBAQAogICAgICAgICBsZXQgY29tcGxfbGlzdCA9IGZpbHRlcihjb3B5KGNvbXBsX2xpc3QpLCBleHByKQogICAgIGVuZGlmCiAKKyAgICBpZiBleGlzdHMoJ2I6c3FsX2NvbXBsX3NhdmVmdW5jJykgJiYgYjpzcWxfY29tcGxfc2F2ZWZ1bmMgIT0gIiIKKyAgICAgICAgbGV0ICZvbW5pZnVuYyA9IGI6c3FsX2NvbXBsX3NhdmVmdW5jCisgICAgZW5kaWYKKwogICAgIHJldHVybiBjb21wbF9saXN0CiBlbmRmdW5jCiAKQEAgLTIzMiw2ICsyMjYsNzAgQEAKICAgICBlY2hvaGwgTm9uZQogZW5kZnVuY3Rpb24KICAgICAgIAorZnVuY3Rpb24hIHNxbGNvbXBsZXRlI1ByZUNhY2hlU3ludGF4KC4uLikKKyAgICBsZXQgc3luX2dyb3VwX2FyciA9IFtdCisgICAgaWYgYTowID4gMCAKKyAgICAgICAgbGV0IHN5bl9ncm91cF9hcnIgPSBhOjEKKyAgICBlbHNlCisgICAgICAgIGxldCBzeW5fZ3JvdXBfYXJyID0gZzpvbW5pX3NxbF9wcmVjYWNoZV9zeW50YXhfZ3JvdXBzCisgICAgZW5kaWYKKyAgICBpZiAhZW1wdHkoc3luX2dyb3VwX2FycikKKyAgICAgICAgZm9yIGdyb3VwX25hbWUgaW4gc3luX2dyb3VwX2FycgorICAgICAgICAgICAgY2FsbCBzOlNRTENHZXRTeW50YXhMaXN0KGdyb3VwX25hbWUpCisgICAgICAgIGVuZGZvcgorICAgIGVuZGlmCitlbmRmdW5jdGlvbgorCitmdW5jdGlvbiEgc3FsY29tcGxldGUjTWFwKHR5cGUpCisgICAgIiBUZWxsIHRoZSBTUUwgcGx1Z2luIHdoYXQgeW91IHdhbnQgdG8gY29tcGxldGUKKyAgICBsZXQgYjpzcWxfY29tcGxfdHlwZT1hOnR5cGUKKyAgICAiIFJlY29yZCBwcmV2aW91cyBvbW5pZnVuYywgaWYgdGhlIFNRTCBjb21wbGV0aW9uCisgICAgIiBpcyBiZWluZyB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggb3RoZXIgZmlsZXR5cGUKKyAgICAiIGNvbXBsZXRpb24gcGx1Z2lucworICAgIGlmICZvbW5pZnVuYyAhPSAiIiAmJiAmb21uaWZ1bmMgIT0gJ3NxbGNvbXBsZXRlI0NvbXBsZXRlJworICAgICAgICAiIFJlY29yZCB0aGUgcHJldmlvdXMgb21uaWZ1bmMsIHRoZSBwbHVnaW4KKyAgICAgICAgIiB3aWxsIGF1dG9tYXRpY2FsbHkgc2V0IHRoaXMgYmFjayBzbyB0aGF0IGl0CisgICAgICAgICIgZG9lcyBub3QgaW50ZXJmZXJlIHdpdGggb3RoZXIgZnRwbHVnaW5zIHNldHRpbmdzCisgICAgICAgIGxldCBiOnNxbF9jb21wbF9zYXZlZnVuYz0mb21uaWZ1bmMKKyAgICBlbmRpZgorICAgICIgU2V0IHRoZSBPTU5JIGZ1bmMgZm9yIHRoZSBTUUwgY29tcGxldGlvbiBwbHVnaW4KKyAgICBsZXQgJm9tbmlmdW5jPSdzcWxjb21wbGV0ZSNDb21wbGV0ZScKK2VuZGZ1bmN0aW9uCisKK2Z1bmN0aW9uISBzOlNRTENHZXRTeW50YXhMaXN0KHN5bl9ncm91cCkKKyAgICBsZXQgc3luX2dyb3VwICA9IGE6c3luX2dyb3VwCisgICAgbGV0IGNvbXBsX2xpc3QgPSBbXQorCisgICAgIiBDaGVjayBpZiB3ZSBoYXZlIGFscmVhZHkgY2FjaGVkIHRoZSBzeW50YXggbGlzdAorICAgIGxldCBsaXN0X2lkeCA9IGluZGV4KHM6c3luX2xpc3QsIHN5bl9ncm91cCwgMCwgJmlnbm9yZWNhc2UpCisgICAgaWYgbGlzdF9pZHggPiAtMQorICAgICAgICAiIFJldHVybiBwcmV2aW91c2x5IGNhY2hlZCB2YWx1ZQorICAgICAgICBsZXQgY29tcGxfbGlzdCA9IHM6c3luX3ZhbHVlW2xpc3RfaWR4XQorICAgIGVsc2UKKyAgICAgICAgIiBSZXF1ZXN0IHRoZSBzeW50YXggbGlzdCBpdGVtcyBmcm9tIHRoZSAKKyAgICAgICAgIiBzeW50YXggY29tcGxldGlvbiBwbHVnaW4KKyAgICAgICAgaWYgc3luX2dyb3VwID09ICdzeW50YXgnCisgICAgICAgICAgICAiIEhhbmRsZSB0aGlzIHNwZWNpYWwgY2FzZS4gIFRoaXMgYWxsb3dzIHRoZSB1c2VyCisgICAgICAgICAgICAiIHRvIGluZGljYXRlIHRoZXkgd2FudCBhbGwgdGhlIHN5bnRheCBpdGVtcyBhdmFpbGFibGUsCisgICAgICAgICAgICAiIHNvIGRvIG5vdCBzcGVjaWZ5IGEgc3BlY2lmaWMgaW5jbHVkZSBsaXN0LgorICAgICAgICAgICAgbGV0IGc6b21uaV9zeW50YXhfZ3JvdXBfaW5jbHVkZV9zcWwgPSAnJworICAgICAgICBlbHNlCisgICAgICAgICAgICAiIFRoZSB1c2VyIGhhcyBzcGVjaWZpZWQgYSBzcGVjaWZpYyBzeW50YXggZ3JvdXAKKyAgICAgICAgICAgIGxldCBnOm9tbmlfc3ludGF4X2dyb3VwX2luY2x1ZGVfc3FsID0gc3luX2dyb3VwCisgICAgICAgIGVuZGlmCisgICAgICAgIGxldCBnOm9tbmlfc3ludGF4X2dyb3VwX2V4Y2x1ZGVfc3FsID0gJycKKyAgICAgICAgbGV0IHN5bl92YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgPSBPbW5pU3ludGF4TGlzdCgpCisgICAgICAgIGxldCBnOm9tbmlfc3ludGF4X2dyb3VwX2luY2x1ZGVfc3FsID0gczpzYXZlX2luYworICAgICAgICBsZXQgZzpvbW5pX3N5bnRheF9ncm91cF9leGNsdWRlX3NxbCA9IHM6c2F2ZV9leGMKKyAgICAgICAgIiBDYWNoZSB0aGVzZSB2YWx1ZXMgZm9yIGxhdGVyIHVzZQorICAgICAgICBsZXQgczpzeW5fbGlzdCAgPSBhZGQoIHM6c3luX2xpc3QsICBzeW5fZ3JvdXAgKQorICAgICAgICBsZXQgczpzeW5fdmFsdWUgPSBhZGQoIHM6c3luX3ZhbHVlLCBzeW5fdmFsdWUgKQorICAgICAgICBsZXQgY29tcGxfbGlzdCAgPSBzeW5fdmFsdWUKKyAgICBlbmRpZgorCisgICAgcmV0dXJuIGNvbXBsX2xpc3QKK2VuZGZ1bmN0aW9uCisKIGZ1bmN0aW9uISBzOlNRTENDaGVjazRkYmV4dCgpCiAgICAgaWYgIWV4aXN0cygnZzpsb2FkZWRfZGJleHQnKQogICAgICAgICBsZXQgbXNnID0gIlRoZSBkYmV4dCBwbHVnaW4gbXVzdCBiZSBsb2FkZWQgZm9yIGR5bmFtaWMgU1FMIGNvbXBsZXRpb24iCmRpZmYgLS1naXQgYS9ydW50aW1lL2F1dG9sb2FkL3Rhci52aW0gYi9ydW50aW1lL2F1dG9sb2FkL3Rhci52aW0KaW5kZXggNDFhMDA2ZS4uMmZjN2VmNiAxMDA2NDQKLS0tIGEvcnVudGltZS9hdXRvbG9hZC90YXIudmltCisrKyBiL3J1bnRpbWUvYXV0b2xvYWQvdGFyLnZpbQpAQCAtMSw2ICsxLDYgQEAKICIgdGFyLnZpbTogSGFuZGxlcyBicm93c2luZyB0YXJmaWxlcwogIiAgICAgICAgICAgIEFVVE9MT0FEIFBPUlRJT04KLSIgRGF0ZToJCQlEZWMgMjQsIDIwMDUKKyIgRGF0ZToJCQlNYXIgMjcsIDIwMDYKICIgVmVyc2lvbjoJCTcKICIgTWFpbnRhaW5lcjoJQ2hhcmxlcyBFIENhbXBiZWxsLCBKciA8ZHJjaGlwTk9TUEFNIGF0IGNhbXBiZWxsZmFtaWx5IGRvdCBiaXo+CiAiIExpY2Vuc2U6CQlWaW0gTGljZW5zZSAgKHNlZSB2aW0ncyA6aGVscCBsaWNlbnNlKQpAQCAtMjUsNiArMjUsNyBAQAogIGZpbmlzaAogZW5kaWYKIGxldCBnOmxvYWRlZF90YXI9ICJ2NyIKKyJjYWxsIERlY2hvKCJsb2FkaW5nIGF1dG9sb2FkL3Rhci52aW0iKQogCiAiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIiAgRGVmYXVsdCBTZXR0aW5nczoge3t7MQpAQCAtMzQsNiArMzUsOSBAQAogaWYgIWV4aXN0cygiZzp0YXJfcmVhZG9wdGlvbnMiKQogIGxldCBnOnRhcl9yZWFkb3B0aW9ucz0gIk9QeGYiCiBlbmRpZgoraWYgIWV4aXN0cygiZzp0YXJfY21kIikKKyBsZXQgZzp0YXJfY21kPSAidGFyIgorZW5kaWYKIGlmICFleGlzdHMoImc6dGFyX3dyaXRlb3B0aW9ucyIpCiAgbGV0IGc6dGFyX3dyaXRlb3B0aW9ucz0gInVmIgogZW5kaWYKQEAgLTUwLDE0ICs1NCwxNSBAQAogICBzZXQgcmVwb3J0PTEwCiAKICAgIiBzYW5pdHkgY2hlY2tzCi0gIGlmICFleGVjdXRhYmxlKCJ0YXIiKQotICAgZWNob2hsIEVycm9yIHwgZWNobyAnKioqZXJyb3IqKiogKHRhciNCcm93c2UpICJ0YXIiIG5vdCBhdmFpbGFibGUgb24geW91ciBzeXN0ZW0nCisgIGlmICFleGVjdXRhYmxlKGc6dGFyX2NtZCkKKyAgIGVjaG9obCBFcnJvciB8IGVjaG8gJyoqKmVycm9yKioqICh0YXIjQnJvd3NlKSAiJy5nOnRhcl9jbWQuJyIgbm90IGF2YWlsYWJsZSBvbiB5b3VyIHN5c3RlbScKICAgIGNhbGwgaW5wdXRzYXZlKCl8Y2FsbCBpbnB1dCgiUHJlc3MgPGNyPiB0byBjb250aW51ZSIpfGNhbGwgaW5wdXRyZXN0b3JlKCkKICAgIGxldCAmcmVwb3J0PSByZXBrZWVwCiAiICAgY2FsbCBEcmV0KCJ0YXIjQnJvd3NlIikKICAgIHJldHVybgogICBlbmRpZgogICBpZiAhZmlsZXJlYWRhYmxlKGE6dGFyZmlsZSkKKyIgICBjYWxsIERlY2hvKCdhOnRhcmZpbGU8Jy5hOnRhcmZpbGUuJz4gbm90IGZpbGVyZWFkYWJsZScpCiAgICBpZiBhOnRhcmZpbGUgIX4jICdeXGFcKzovLycKICAgICAiIGlmIGl0cyBhbiB1cmwsIGRvbid0IGNvbXBsYWluLCBsZXQgdXJsLWhhbmRsZXJzIHN1Y2ggYXMgdmltIGRvIGl0cyB0aGluZwogICAgIGVjaG9obCBFcnJvciB8IGVjaG8gIioqKmVycm9yKioqICh0YXIjQnJvd3NlKSBGaWxlIG5vdCByZWFkYWJsZTwiLmE6dGFyZmlsZS4iPiIgfCBlY2hvaGwgTm9uZQpAQCAtODAsMjAgKzg1LDMzIEBACiAgIHNldCBmdD10YXIKIAogICAiIGdpdmUgaGVhZGVyCisiICBjYWxsIERlY2hvKCJwcmludGluZyBoZWFkZXIiKQogICBleGUgIiRwdXQgPSciLidcIicuIiB0YXIudmltIHZlcnNpb24gIi5nOmxvYWRlZF90YXIuIiciCiAgIGV4ZSAiJHB1dCA9JyIuJ1wiJy4iIEJyb3dzaW5nIHRhcmZpbGUgIi5hOnRhcmZpbGUuIiciCiAgIGV4ZSAiJHB1dCA9JyIuJ1wiJy4iIFNlbGVjdCBhIGZpbGUgd2l0aCBjdXJzb3IgYW5kIHByZXNzIEVOVEVSIi4iJyIKICAgMGQKICAgJAogCi0gIGlmIGE6dGFyZmlsZSA9fiMgJ1wuXChnelx8dGd6XCkkJwotICAgZXhlICJzaWxlbnQgciEgZ3ppcCAtZCAtYyAnIi5hOnRhcmZpbGUuIid8IHRhciAtIi5nOnRhcl9icm93c2VvcHRpb25zLiIgLSAiCi0gIGVsc2VpZiBhOnRhcmZpbGUgPX4jICdcLmJ6MiQnCi0gICBleGUgInNpbGVudCByISBiemlwMiAtZCAtYyAnIi5hOnRhcmZpbGUuIid8IHRhciAtIi5nOnRhcl9icm93c2VvcHRpb25zLiIgLSAiCi0gIGVsc2UKLSAgIGV4ZSAic2lsZW50IHIhIHRhciAtIi5nOnRhcl9icm93c2VvcHRpb25zLiIgJyIuYTp0YXJmaWxlLiInIgorICBsZXQgdGFyZmlsZT0gYTp0YXJmaWxlCisgIGlmIGhhcygid2luMzIiKSAmJiBleGVjdXRhYmxlKCJjeWdwYXRoIikKKyAgICIgYXNzdW1pbmcgY3lnd2luCisgICBsZXQgdGFyZmlsZT1zdWJzdGl0dXRlKHN5c3RlbSgiY3lncGF0aCAtdSAiLnRhcmZpbGUpLCdcbiQnLCcnLCdlJykKICAgZW5kaWYKLSAgc2lsZW50ICVnQC8kQGQKKyAgaWYgdGFyZmlsZSA9fiMgJ1wuXChnelx8dGd6XCkkJworIiAgIGNhbGwgRGVjaG8oImV4ZSBzaWxlbnQgciEgZ3ppcCAtZCAtYyAnIi50YXJmaWxlLiInfCB0YXIgLSIuZzp0YXJfYnJvd3Nlb3B0aW9ucy4iIC0gIikKKyAgIGV4ZSAic2lsZW50IHIhIGd6aXAgLWQgLWMgJyIudGFyZmlsZS4iJ3wgdGFyIC0iLmc6dGFyX2Jyb3dzZW9wdGlvbnMuIiAtICIKKyAgZWxzZWlmIHRhcmZpbGUgPX4jICdcLmJ6MiQnCisiICAgY2FsbCBEZWNobygiZXhlIHNpbGVudCByISBiemlwMiAtZCAtYyAnIi50YXJmaWxlLiInfCB0YXIgLSIuZzp0YXJfYnJvd3Nlb3B0aW9ucy4iIC0gIikKKyAgIGV4ZSAic2lsZW50IHIhIGJ6aXAyIC1kIC1jICciLnRhcmZpbGUuIid8IHRhciAtIi5nOnRhcl9icm93c2VvcHRpb25zLiIgLSAiCisgIGVsc2UKKyIgICBjYWxsIERlY2hvKCJleGUgc2lsZW50IHIhICIuZzp0YXJfY21kLiIgLSIuZzp0YXJfYnJvd3Nlb3B0aW9ucy4iICciLnRhcmZpbGUuIiciKQorICAgZXhlICJzaWxlbnQgciEgIi5nOnRhcl9jbWQuIiAtIi5nOnRhcl9icm93c2VvcHRpb25zLiIgJyIudGFyZmlsZS4iJyIKKyAgZW5kaWYKKyAgaWYgdjpzaGVsbF9lcnJvciAhPSAwCisgICBlY2hvaGwgRXJyb3IgfCBlY2hvICcqKiplcnJvcioqKiAodGFyI0Jyb3dzZSkgd2hpbGUgYnJvd3Npbmc7IGNoZWNrIHlvdXIgZzp0YXJfYnJvd3Nlb3B0aW9uczwiLmc6dGFyX2Jyb3dzZW9wdGlvbnMuIj4iCisiICBjYWxsIERyZXQoInRhciNCcm93c2UgOiB3OnRhcmZpbGU8Ii53OnRhcmZpbGUuIj4iKQorICAgcmV0dXJuCisgIGVuZGlmCiAKICAgc2V0bG9jYWwgbm9tYSBub21vZCBybwogICBub3JlbWFwIDxzaWxlbnQ+IDxidWZmZXI+IDxjcj4gOmNhbGwgPFNJRD5UYXJCcm93c2VTZWxlY3QoKTxjcj4KQEAgLTEyMSwxMiArMTM5LDIxIEBACiAgICIgYWJvdXQgdG8gbWFrZSBhIG5ldyB3aW5kb3csIG5lZWQgdG8gdXNlIHc6dGFyZmlsZQogICBsZXQgdGFyZmlsZT0gdzp0YXJmaWxlCiAgIGxldCBjdXJmaWxlPSBleHBhbmQoIiUiKQorICBpZiBoYXMoIndpbjMyIikgJiYgZXhlY3V0YWJsZSgiY3lncGF0aCIpCisgICAiIGFzc3VtaW5nIGN5Z3dpbgorICAgbGV0IHRhcmZpbGU9c3Vic3RpdHV0ZShzeXN0ZW0oImN5Z3BhdGggLXUgIi50YXJmaWxlKSwnXG4kJywnJywnZScpCisgIGVuZGlmCiAKICAgbmV3CiAgIHdpbmNtZCBfCiAgIGxldCBzOnRibGZpbGVfe3dpbm5yKCl9PSBjdXJmaWxlCi0iICBjYWxsIERlY2hvKCJleGUgZSB0YXJmaWxlOiIudGFyZmlsZS4nOicuZm5hbWUpCi0gIGV4ZSAiZSB0YXJmaWxlOiIudGFyZmlsZS4nOicuZm5hbWUKKyIgIGlmIGhhcygidW5peCIpCisiIiAgIGNhbGwgRGVjaG8oImV4ZSBlIHRhcmZpbGU6Ii50YXJmaWxlLic6Jy5mbmFtZSkKKyIgICBleGUgImUgdGFyZmlsZToiLnRhcmZpbGUuJzonLmZuYW1lCisiICBlbHNlaWYgaGFzKCJ3aW4zMiIpCisiICAgY2FsbCB0YXIjUmVhZCgidGFyZmlsZToiLnRhcmZpbGUuJzonLmZuYW1lLDEpCisiICBlbmRpZgorICBjYWxsIHRhciNSZWFkKCJ0YXJmaWxlOiIudGFyZmlsZS4nOicuZm5hbWUsMSkKICAgZmlsZXR5cGUgZGV0ZWN0CiAKICAgbGV0ICZyZXBvcnQ9IHJlcGtlZXAKQEAgLTE0MSw3ICsxNjgsMTIgQEAKICAgc2V0IHJlcG9ydD0xMAogICBsZXQgdGFyZmlsZSA9IHN1YnN0aXR1dGUoYTpmbmFtZSwndGFyZmlsZTpcKC5cey19XCk6LiokJywnXDEnLCcnKQogICBsZXQgZm5hbWUgICA9IHN1YnN0aXR1dGUoYTpmbmFtZSwndGFyZmlsZTouXHstfTpcKC4qXCkkJywnXDEnLCcnKQotIiAgY2FsbCBEZWNobygidGFyZmlsZTwiLnRhcmZpbGUuIj4gZm5hbWU8Ii5mbmFtZS4iPiIpCisgIGlmIGhhcygid2luMzIiKSAmJiBleGVjdXRhYmxlKCJjeWdwYXRoIikKKyAgICIgYXNzdW1pbmcgY3lnd2luCisgICBsZXQgdGFyZmlsZT1zdWJzdGl0dXRlKHN5c3RlbSgiY3lncGF0aCAtdSAiLnRhcmZpbGUpLCdcbiQnLCcnLCdlJykKKyAgZW5kaWYKKyIgIGNhbGwgRGVjaG8oInRhcmZpbGU8Ii50YXJmaWxlLiI+IikKKyIgIGNhbGwgRGVjaG8oImZuYW1lPCIuZm5hbWUuIj4iKQogCiAgIGlmIHRhcmZpbGUgPX4jICdcLlwoZ3pcfHRnelwpJCcKICIgICBjYWxsIERlY2hvKCJleGUgc2lsZW50IHIhIGd6aXAgLWQgLWMgJyIudGFyZmlsZS4iJ3wgdGFyIC1PUHhmIC0gJyIuZm5hbWUuIiciKQpAQCAtMTUxLDcgKzE4Myw3IEBACiAgICBleGUgInNpbGVudCByISBiemlwMiAtZCAtYyAnIi50YXJmaWxlLiInfCB0YXIgLSIuZzp0YXJfcmVhZG9wdGlvbnMuIiAtICciLmZuYW1lLiInIgogICBlbHNlCiAiICAgY2FsbCBEZWNobygiZXhlIHNpbGVudCByISB0YXIgLSIuZzp0YXJfcmVhZG9wdGlvbnMuIiAnIi50YXJmaWxlLiInICciLmZuYW1lLiInIikKLSAgIGV4ZSAic2lsZW50IHIhIHRhciAtIi5nOnRhcl9yZWFkb3B0aW9ucy4iICciLnRhcmZpbGUuIicgJyIuZm5hbWUuIiciCisgICBleGUgInNpbGVudCByISAiLmc6dGFyX2NtZC4iIC0iLmc6dGFyX3JlYWRvcHRpb25zLiIgJyIudGFyZmlsZS4iJyAnIi5mbmFtZS4iJyIKICAgZW5kaWYKICAgbGV0IHc6dGFyZmlsZT0gYTpmbmFtZQogICBleGUgImZpbGUgdGFyZmlsZToiLmZuYW1lCkBAIC0xNzIsOCArMjA0LDggQEAKICAgc2V0IHJlcG9ydD0xMAogCiAgICIgc2FuaXR5IGNoZWNrcwotICBpZiAhZXhlY3V0YWJsZSgidGFyIikKLSAgIGVjaG9obCBFcnJvciB8IGVjaG8gJyoqKmVycm9yKioqICh0YXIjQnJvd3NlKSAidGFyIiBub3QgYXZhaWxhYmxlIG9uIHlvdXIgc3lzdGVtJworICBpZiAhZXhlY3V0YWJsZShnOnRhcl9jbWQpCisgICBlY2hvaGwgRXJyb3IgfCBlY2hvICcqKiplcnJvcioqKiAodGFyI0Jyb3dzZSkgIicuZzp0YXJfY21kLiciIG5vdCBhdmFpbGFibGUgb24geW91ciBzeXN0ZW0nCiAgICBjYWxsIGlucHV0c2F2ZSgpfGNhbGwgaW5wdXQoIlByZXNzIDxjcj4gdG8gY29udGludWUiKXxjYWxsIGlucHV0cmVzdG9yZSgpCiAgICBsZXQgJnJlcG9ydD0gcmVwa2VlcAogIiAgIGNhbGwgRHJldCgidGFyI1dyaXRlIikKZGlmZiAtLWdpdCBhL3J1bnRpbWUvYXV0b2xvYWQvdmltYmFsbC52aW0gYi9ydW50aW1lL2F1dG9sb2FkL3ZpbWJhbGwudmltCmluZGV4IDZmYTlhMGQuLjg2ZjBlODggMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvYXV0b2xvYWQvdmltYmFsbC52aW0KKysrIGIvcnVudGltZS9hdXRvbG9hZC92aW1iYWxsLnZpbQpAQCAtMSw3ICsxLDcgQEAKICIgdmltYmFsbCA6IGNvbnN0cnVjdCBhIGZpbGUgY29udGFpbmluZyBib3RoIHBhdGhzIGFuZCBmaWxlcwogIiBBdXRob3I6IENoYXJsZXMgRS4gQ2FtcGJlbGwsIEpyLgotIiBEYXRlOiAgIE1hciAyMiwgMjAwNgotIiBWZXJzaW9uOiA1CisiIERhdGU6ICAgTWFyIDMxLCAyMDA2CisiIFZlcnNpb246IDYKICIgR2V0TGF0ZXN0VmltU2NyaXB0czogMTUwMiAxIDpBdXRvSW5zdGFsbDogdmltYmFsbC52aW0KICIgQ29weXJpZ2h0OiAoYykgMjAwNC0yMDA2IGJ5IENoYXJsZXMgRS4gQ2FtcGJlbGwsIEpyLgogIiAgICAgICAgICAgIFRoZSBWSU0gTElDRU5TRSBhcHBsaWVzIHRvIFZpbWJhbGwudmltLCBhbmQgVmltYmFsbC50eHQKQEAgLTE1LDcgKzE1LDcgQEAKICBmaW5pc2gKIGVuZGlmCiBsZXQgczprZWVwY3BvICAgICAgICA9ICZjcG8KLWxldCBnOmxvYWRlZF92aW1iYWxsID0gInY1IgorbGV0IGc6bG9hZGVkX3ZpbWJhbGwgPSAidjYiCiBzZXQgY3BvJnZpbQogCiAiID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpAQCAtMTkwLDcgKzE5MCw3IEBACiAiICAgY2FsbCBEZWNobygieWFua2VkICIuZnNpemUuIiBsaW5lcyBpbnRvIHJlZ2lzdGVyLWEiKQogCiAiICAgY2FsbCBEZWNobygiZGlkaGVscDwiLmRpZGhlbHAuIj4gZm5hbWU8Ii5mbmFtZS4iPiIpCi0gICBpZiBkaWRoZWxwID09ICIiICYmIGZuYW1lID1+ICdkb2MvW14vXVwrXC50eHQkJworICAgaWYgYTpyZWFsbHkgJiYgZGlkaGVscCA9PSAiIiAmJiBmbmFtZSA9fiAnZG9jL1teL11cK1wudHh0JCcKICAgIAlsZXQgZGlkaGVscD0gc3Vic3RpdHV0ZShmbmFtZSwnXlwoLipcPGRvY1wpWy9cXF1bXi5dKlwudHh0JCcsJ1wxJywnZScpCiAiCWNhbGwgRGVjaG8oImRpZGhlbHA8Ii5kaWRoZWxwLiI+IikKICAgIGVuZGlmCmRpZmYgLS1naXQgYS9ydW50aW1lL2F1dG9sb2FkL3htbGNvbXBsZXRlLnZpbSBiL3J1bnRpbWUvYXV0b2xvYWQveG1sY29tcGxldGUudmltCmluZGV4IDI1NTFjYWUuLjU4MmRjMTAgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvYXV0b2xvYWQveG1sY29tcGxldGUudmltCisrKyBiL3J1bnRpbWUvYXV0b2xvYWQveG1sY29tcGxldGUudmltCkBAIC0xLDEzICsxLDEzIEBACiAiIFZpbSBjb21wbGV0aW9uIHNjcmlwdAogIiBMYW5ndWFnZToJWE1MCiAiIE1haW50YWluZXI6CU1pa29sYWogTWFjaG93c2tpICggbWlrbWFjaCBBVCB3cCBET1QgcGwgKQotIiBMYXN0IENoYW5nZToJMjAwNiBNYXIgMTkKKyIgTGFzdCBDaGFuZ2U6CTIwMDYgTWFyIDMxCiAKICIgVGhpcyBmdW5jdGlvbiB3aWxsIGNyZWF0ZSBEaWN0aW9uYXJ5IHdpdGggdXNlcnMgbmFtZXNwYWNlIHN0cmluZ3MgYW5kIHZhbHVlcwogIiBjYW5vbmljYWwgKHN5c3RlbSkgbmFtZXMgb2YgZGF0YSBmaWxlcy4gIE5hbWVzIHNob3VsZCBiZSBsb3dlcmNhc2UsCiAiIGRlc2NyaXB0aXZlIHRvIGF2b2lkIGFueSBmdXR1cmUgY29uZmxpY3RzLiBGb3IgZXhhbXBsZSAneGh0bWwxMHMnIHNob3VsZCBiZQogIiBuYW1lIGZvciBkYXRhIG9mIFhIVE1MIDEuMCBTdHJpY3QgYW5kICd4aHRtbDEwdCcgZm9yIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwKLSIgVXNlciBpbnRlcmZhY2Ugd2lsbCBiZSBwcm92aWRlZCBieSBYTUxucyBjb21tYW5kIGRlZmluZWQgLi4uCisiIFVzZXIgaW50ZXJmYWNlIHdpbGwgYmUgcHJvdmlkZWQgYnkgWE1MbnMgY29tbWFuZCBkZWZpbmVkIGluIGZ0cGx1Z2luL3htbC52aW0KICIgQ3VycmVudGx5IHN1cHBvcnRlZCBjYW5vbmljYWxzIGFyZToKICIgeGh0bWwxMHMgLSBYSFRNTCAxLjAgU3RyaWN0CiAiIHhzbCAgICAgIC0gWFNMCkBAIC0yMjQsOCArMjI0LDEzIEBACiAJCQlsZXQgYXR0cnMgPSBbJ2VuY29kaW5nJywgJ3ZlcnNpb249IjEuMCInLCAndmVyc2lvbiddCiAJCWVsc2VpZiB0YWcgPX4gJ14hJwogCQkJIiBEb24ndCBtYWtlIGNvbXBsZXRpb24gYXQgYWxsCisJCQkiCiAJCQlyZXR1cm4gW10KIAkJZWxzZQorICAgICAgICAgICAgaWYgIWhhc19rZXkoZzp4bWxkYXRheydfJy5nOnhtbGRhdGFfY29ubmVjdGlvbltiOnhtbF9uYW1lc3BhY2VdfSwgdGFnKQorCQkJCSIgQWJhbmRvbiB3aGVuIGRhdGEgZmlsZSBpc24ndCBjb21wbGV0ZQorIAkJCQlyZXR1cm4gW10KKyAJCQllbmRpZgogCQkJbGV0IGF0dHJzID0ga2V5cyhnOnhtbGRhdGF7J18nLmc6eG1sZGF0YV9jb25uZWN0aW9uW2I6eG1sX25hbWVzcGFjZV19W3RhZ11bMV0pCiAJCWVuZGlmCiAKQEAgLTMyNCw2ICszMjksMTAgQEAKIAkgICAgbGV0IHRhZ3MgPSBrZXlzKGc6eG1sZGF0YXsnXycuZzp4bWxkYXRhX2Nvbm5lY3Rpb25bYjp4bWxfbmFtZXNwYWNlXX0pCiAJCWNhbGwgZmlsdGVyKHRhZ3MsICd2OnZhbCAhfiAiXnZpbXhtbCInKQogCWVsc2UKKwkJaWYgIWhhc19rZXkoZzp4bWxkYXRheydfJy5nOnhtbGRhdGFfY29ubmVjdGlvbltiOnhtbF9uYW1lc3BhY2VdfSwgdGFnKQorCQkJIiBBYmFuZG9uIHdoZW4gZGF0YSBmaWxlIGlzbid0IGNvbXBsZXRlCisJCQlyZXR1cm4gW10KKwkJZW5kaWYKIAkJbGV0IHRhZ3MgPSBnOnhtbGRhdGF7J18nLmc6eG1sZGF0YV9jb25uZWN0aW9uW2I6eG1sX25hbWVzcGFjZV19W29wZW50YWddWzBdCiAJZW5kaWYKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9hdXRvbG9hZC96aXAudmltIGIvcnVudGltZS9hdXRvbG9hZC96aXAudmltCmluZGV4IDk5YmRkNzkuLjY3OTBmNGYgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvYXV0b2xvYWQvemlwLnZpbQorKysgYi9ydW50aW1lL2F1dG9sb2FkL3ppcC52aW0KQEAgLTc1LDExICs3NSwxNSBAQAogICAwZAogICAkCiAKLSIgIGNhbGwgRGVjaG8oImV4ZSBzaWxlbnQgciEgdW56aXAgLWwgJyIuZXNjYXBlKGE6emlwZmlsZSxzOnppcGZpbGVfZXNjYXBlKS4iJyIpCi0gIGV4ZSAic2lsZW50IHIhIHVuemlwIC1sICIuZXNjYXBlKGE6emlwZmlsZSxzOnppcGZpbGVfZXNjYXBlKQorIiAgY2FsbCBEZWNobygiZXhlIHNpbGVudCByISB1bnppcCAtbCAnIi5hOnppcGZpbGUuIiciKQorICBleGUgInNpbGVudCByISB1bnppcCAtbCAnIi5hOnppcGZpbGUuIiciCisiICBjYWxsIERlY2hvKCJsaW5lIDY6ICIuZ2V0bGluZSg2KSkKKyAgbGV0IG5hbWVjb2w9IHN0cmlkeChnZXRsaW5lKDYpLCdOYW1lJykgKyAxCisiICBjYWxsIERlY2hvKCJuYW1lY29sPSIubmFtZWNvbCkKKyAgNCwkZy9eXHMqLS0tLS9kCisgIDQsJGcvXlxzKlxhL2QKICAgJGQKLSAgc2lsZW50IDQsJHYvXlxzXCtcZFwrXHNcezAsNX1cZC9kCi0gIHNpbGVudCAgNCwkcy9eXCUoLipcKVxzXCtcKFxTXCkvXDEvCisgIGV4ZSAnc2lsZW50IDQsJHMvXi4qXCUnLm5hbWVjb2wuJ2MvLycKIAogICBzZXRsb2NhbCBub21hIG5vbW9kIHJvCiAgIG5vcmVtYXAgPHNpbGVudD4gPGJ1ZmZlcj4gPGNyPiA6Y2FsbCA8U0lEPlppcEJyb3dzZVNlbGVjdCgpPGNyPgpAQCAtMTE0LDE1ICsxMTgsMTUgQEAKIAogICAiIGdldCB6aXBmaWxlIHRvIHRoZSBuZXctd2luZG93CiAgIGxldCB6aXBmaWxlPSBzdWJzdGl0dXRlKHc6emlwZmlsZSwnLnppcCQnLCcnLCdlJykKLSAgbGV0IGN1cmZpbGU9IGVzY2FwZShleHBhbmQoIiUiKSxzOnppcGZpbGVfZXNjYXBlKQorICBsZXQgY3VyZmlsZT0gZXhwYW5kKCIlIikKICIgIGNhbGwgRGVjaG8oInppcGZpbGU8Ii56aXBmaWxlLiI+IikKICIgIGNhbGwgRGVjaG8oImN1cmZpbGU8Ii5jdXJmaWxlLiI+IikKIAogICBuZXcKICAgd2luY21kIF8KICAgbGV0IHM6emlwZmlsZV97d2lubnIoKX09IGN1cmZpbGUKLSIgIGNhbGwgRGVjaG8oImV4ZSBlIHppcGZpbGU6Ii5lc2NhcGUoemlwZmlsZSxzOnppcGZpbGVfZXNjYXBlKS4nOicuZm5hbWUpCi0gIGV4ZSAiZSB6aXBmaWxlOiIuZXNjYXBlKHppcGZpbGUsczp6aXBmaWxlX2VzY2FwZSkuJzonLmZuYW1lCisiICBjYWxsIERlY2hvKCJleGUgZSB6aXBmaWxlOiIuZXNjYXBlKHppcGZpbGUsczp6aXBmaWxlX2VzY2FwZSkuJzonLmVzY2FwZShmbmFtZSxzOnppcGZpbGVfZXNjYXBlKSkKKyAgZXhlICJlIHppcGZpbGU6Ii5lc2NhcGUoemlwZmlsZSxzOnppcGZpbGVfZXNjYXBlKS4nOicuZXNjYXBlKGZuYW1lLHM6emlwZmlsZV9lc2NhcGUpCiAgIGZpbGV0eXBlIGRldGVjdAogCiAgIGxldCAmcmVwb3J0PSByZXBrZWVwCkBAIC0xNDAsOCArMTQ0LDggQEAKICAgbGV0IGZuYW1lICAgPSBzdWJzdGl0dXRlKGE6Zm5hbWUsJ3ppcGZpbGU6Llx7LX06XChbXlxcXS4qXCkkJywnXDEnLCcnKQogIiAgY2FsbCBEZWNobygiemlwZmlsZTwiLnppcGZpbGUuIj4gZm5hbWU8Ii5mbmFtZS4iPiIpCiAKLSIgIGNhbGwgRGVjaG8oImV4ZSByISB1bnppcCAtcCAnIi5lc2NhcGUoemlwZmlsZSxzOnppcGZpbGVfZXNjYXBlKS4iJyAiLmZuYW1lKQotICBleGUgInIhIHVuemlwIC1wICIuZXNjYXBlKHppcGZpbGUsczp6aXBmaWxlX2VzY2FwZSkuIiAiLmZuYW1lCisiICBjYWxsIERlY2hvKCJleGUgciEgdW56aXAgLXAgJyIuemlwZmlsZS4iJyAnIi5mbmFtZS4iJyIpCisgIGV4ZSAic2lsZW50IHIhIHVuemlwIC1wICciLnppcGZpbGUuIicgJyIuZm5hbWUuIiciCiAKICAgIiBjbGVhbnVwCiAgIDBkCkBAIC0xNTQsNyArMTU4LDcgQEAKICIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAiIHppcCNXcml0ZToge3t7MgogZnVuISB6aXAjV3JpdGUoZm5hbWUpCi0iICBjYWxsIERmdW5jKCJ6aXAjV3JpdGUoZm5hbWU8Ii5hOmZuYW1lLiIpIHppcGZpbGVfIi53aW5ucigpLiI8Ii5zOnppcGZpbGVfe3dpbm5yKCl9LiI+IikKKyIgIGNhbGwgRGZ1bmMoInppcCNXcml0ZShmbmFtZTwiLmE6Zm5hbWUuIj4pIHppcGZpbGVfIi53aW5ucigpLiI8Ii5zOnppcGZpbGVfe3dpbm5yKCl9LiI+IikKICAgbGV0IHJlcGtlZXA9ICZyZXBvcnQKICAgc2V0IHJlcG9ydD0xMAogCkBAIC0yMTEsNiArMjE1LDcgQEAKICAgIGlmIGV4ZWN1dGFibGUoImN5Z3BhdGgiKQogICAgIGxldCBkaXJwYXRoID0gc3Vic3RpdHV0ZShzeXN0ZW0oImN5Z3BhdGggIi5kaXJwYXRoKSwnXG4nLCcnLCdlJykKICAgIGVuZGlmCisiICAgY2FsbCBEZWNobygibWtkaXIoZGlycGF0aDwiLmRpcnBhdGguIj4scCkiKQogICAgY2FsbCBta2RpcihkaXJwYXRoLCJwIikKICAgZW5kaWYKICAgaWYgemlwZmlsZSAhfiAnLycKQEAgLTIxOCwxMyArMjIzLDEzIEBACiAgIGVuZGlmCiAiICBjYWxsIERlY2hvKCJ6aXBmaWxlPCIuemlwZmlsZS4iPiBmbmFtZTwiLmZuYW1lLiI+IikKIAotICBleGUgInchICIuZm5hbWUKKyAgZXhlICJ3ISAiLmVzY2FwZShmbmFtZSxzOnppcGZpbGVfZXNjYXBlKQogICBpZiBleGVjdXRhYmxlKCJjeWdwYXRoIikKICAgIGxldCB6aXBmaWxlID0gc3Vic3RpdHV0ZShzeXN0ZW0oImN5Z3BhdGggIi56aXBmaWxlKSwnXG4nLCcnLCdlJykKICAgZW5kaWYKIAotIiAgY2FsbCBEZWNobygiemlwIC11ICIuemlwZmlsZS4iLnppcCAiLmZuYW1lKQotICBjYWxsIHN5c3RlbSgiemlwIC11ICIuemlwZmlsZS4iLnppcCAiLmZuYW1lKQorIiAgY2FsbCBEZWNobygiemlwIC11ICciLnppcGZpbGUuIi56aXAnICciLmZuYW1lLiInIikKKyAgY2FsbCBzeXN0ZW0oInppcCAtdSAnIi56aXBmaWxlLiIuemlwJyAnIi5mbmFtZS4iJyIpCiAgIGlmIHY6c2hlbGxfZXJyb3IgIT0gMAogICAgZWNob2hsIEVycm9yIHwgZWNobyAiKioqZXJyb3IqKiogKHppcCNXcml0ZSkgc29ycnksIHVuYWJsZSB0byB1cGRhdGUgIi56aXBmaWxlLiIgd2l0aCAiLmZuYW1lIHwgZWNob2hsIE5vbmUKICAgIGNhbGwgaW5wdXRzYXZlKCl8Y2FsbCBpbnB1dCgiUHJlc3MgPGNyPiB0byBjb250aW51ZSIpfGNhbGwgaW5wdXRyZXN0b3JlKCkKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2F1dG9jbWQudHh0IGIvcnVudGltZS9kb2MvYXV0b2NtZC50eHQKaW5kZXggNjkzMmU4MS4uMzE3NTE4ZCAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvYXV0b2NtZC50eHQKKysrIGIvcnVudGltZS9kb2MvYXV0b2NtZC50eHQKQEAgLTEsNCArMSw0IEBACi0qYXV0b2NtZC50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuMGMuICBMYXN0IGNoYW5nZTogMjAwNiBNYXIgMTUKKyphdXRvY21kLnR4dCogICBGb3IgVmltIHZlcnNpb24gNy4wYy4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAwNAogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtNTEwLDYgKzUxMCwxMCBAQAogCQkJCWp1c3QgYmVmb3JlIHRoZSBjaGFuZ2UgaXMgYXBwbGllZCB0byB0aGUgdGV4dC4KIAkJCQlXQVJOSU5HOiBJZiB0aGUgYXV0b2NvbW1hbmQgbW92ZXMgdGhlIGN1cnNvcgogCQkJCXRoZSBlZmZlY3Qgb2YgdGhlIGNoYW5nZSBpcyB1bmRlZmluZWQuCisJCQkJCQkJKkU3ODgqCisJCQkJSXQgaXMgbm90IGFsbG93ZWQgdG8gY2hhbmdlIHRvIGFub3RoZXIgYnVmZmVyCisJCQkJaGVyZS4gIFlvdSBjYW4gcmVsb2FkIHRoZSBidWZmZXIgYnV0IG5vdCBlZGl0CisJCQkJYW5vdGhlciBvbmUuCiAJCQkJCQkJKkZpbGVDaGFuZ2VkU2hlbGwqCiBGaWxlQ2hhbmdlZFNoZWxsCQlXaGVuIFZpbSBub3RpY2VzIHRoYXQgdGhlIG1vZGlmaWNhdGlvbiB0aW1lIG9mCiAJCQkJYSBmaWxlIGhhcyBjaGFuZ2VkIHNpbmNlIGVkaXRpbmcgc3RhcnRlZC4KZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2RpZmYudHh0IGIvcnVudGltZS9kb2MvZGlmZi50eHQKaW5kZXggM2RmNTEzZS4uMjFiMmYzYSAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvZGlmZi50eHQKKysrIGIvcnVudGltZS9kb2MvZGlmZi50eHQKQEAgLTEsNCArMSw0IEBACi0qZGlmZi50eHQqICAgICAgRm9yIFZpbSB2ZXJzaW9uIDcuMGMuICBMYXN0IGNoYW5nZTogMjAwNiBNYXIgMTUKKypkaWZmLnR4dCogICAgICBGb3IgVmltIHZlcnNpb24gNy4wYy4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAwNAogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtMjcyLDYgKzI3MiwxMCBAQAogTm90ZSB0aGF0IGRlbGV0ZWQgbGluZXMgYXJlIGRpc3BsYXllZCwgYnV0IG5vdCBjb3VudGVkIGFzIHRleHQgbGluZXMuICBZb3UKIGNhbid0IG1vdmUgdGhlIGN1cnNvciBpbnRvIHRoZW0uICBUbyBmaWxsIHRoZSBkZWxldGVkIGxpbmVzIHdpdGggdGhlIGxpbmVzCiBmcm9tIGFub3RoZXIgYnVmZmVyIHVzZSAiOmRpZmZnZXQiIG9uIHRoZSBsaW5lIGJlbG93IHRoZW0uCisJCQkJCQkJCSpFNzg3KgorV2hlbiB0aGUgYnVmZmVyIHRoYXQgaXMgYWJvdXQgdG8gYmUgbW9kaWZpZWQgaXMgcmVhZC1vbmx5IGFuZCB0aGUgYXV0b2NvbW1hbmQKK3RoYXQgaXMgdHJpZ2dlcmVkIGJ5IHxGaWxlQ2hhbmdlZFJPfCBjaGFuZ2VzIGJ1ZmZlcnMgdGhlIGNvbW1hbmQgd2lsbCBmYWlsLgorVGhlIGF1dG9jb21tYW5kIG11c3Qgbm90IGNoYW5nZSBidWZmZXJzLgogCiBUaGUgW2J1ZnNwZWNdIGFyZ3VtZW50IGFib3ZlIGNhbiBiZSBhIGJ1ZmZlciBudW1iZXIsIGEgcGF0dGVybiBmb3IgYSBidWZmZXIKIG5hbWUgb3IgYSBwYXJ0IG9mIGEgYnVmZmVyIG5hbWUuICBFeGFtcGxlczoKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2VkaXRpbmcudHh0IGIvcnVudGltZS9kb2MvZWRpdGluZy50eHQKaW5kZXggN2E2N2E2OS4uZWVjZGQ4NiAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvZWRpdGluZy50eHQKKysrIGIvcnVudGltZS9kb2MvZWRpdGluZy50eHQKQEAgLTEsNCArMSw0IEBACi0qZWRpdGluZy50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuMGMuICBMYXN0IGNoYW5nZTogMjAwNiBNYXIgMDYKKyplZGl0aW5nLnR4dCogICBGb3IgVmltIHZlcnNpb24gNy4wYy4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAwMgogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtNDIyLDE0ICs0MjIsMTggQEAKIFRoZSBbKytvcHRdIGFyZ3VtZW50IGNhbiBiZSB1c2VkIHRvIGZvcmNlIHRoZSB2YWx1ZSBvZiAnZmlsZWZvcm1hdCcsCiAnZmlsZWVuY29kaW5nJyBvciAnYmluYXJ5JyB0byBhIHZhbHVlIGZvciBvbmUgY29tbWFuZCwgYW5kIHRvIHNwZWNpZnkgdGhlCiBiZWhhdmlvciBmb3IgYmFkIGNoYXJhY3RlcnMuICBUaGUgZm9ybSBpczogPgorCSsre29wdG5hbWV9CitPcjogPgogCSsre29wdG5hbWV9PXt2YWx1ZX0KIAotV2hlcmUge29wdG5hbWV9IGlzIG9uZSBvZjoJCSorK2ZmKiAqKytlbmMqICorK2JpbiogKisrbm9iaW4qCitXaGVyZSB7b3B0bmFtZX0gaXMgb25lIG9mOgkgICAgKisrZmYqICorK2VuYyogKisrYmluKiAqKytub2JpbiogKisrZWRpdCoKICAgICBmZiAgICAgb3IgIGZpbGVmb3JtYXQgICBvdmVycmlkZXMgJ2ZpbGVmb3JtYXQnCiAgICAgZW5jICAgIG9yICBlbmNvZGluZwkgICAgb3ZlcnJpZGVzICdmaWxlZW5jb2RpbmcnCiAgICAgYmluICAgIG9yICBiaW5hcnkJICAgIHNldHMgJ2JpbmFyeScKICAgICBub2JpbiAgb3IgIG5vYmluYXJ5CSAgICByZXNldHMgJ2JpbmFyeScKICAgICBiYWQgICAgICAgICAgICAgICAgICAgICBzcGVjaWZpZXMgYmVoYXZpb3IgZm9yIGJhZCBjaGFyYWN0ZXJzCisgICAgZWRpdAkJICAgIGZvciB8OnJlYWR8IG9ubHk6IGtlZXAgb3B0aW9uIHZhbHVlcyBhcyBpZiBlZGl0aW5nCisgICAgCQkJICAgIGEgZmlsZQogCiB7dmFsdWV9IGNhbm5vdCBjb250YWluIHdoaXRlIHNwYWNlLiAgSXQgY2FuIGJlIGFueSB2YWxpZCB2YWx1ZSBmb3IgdGhlc2UKIG9wdGlvbnMuICBFeGFtcGxlczogPgpAQCAtODk3LDYgKzkwMSw3IEBACiAJCQlUaGUgWyFdIGlzIG5lZWRlZCB0byBvdmVyd3JpdGUgYW4gZXhpc3RpbmcgZmlsZS4KIAkJCVdoZW4gJ2ZpbGV0eXBlJyBpcyBlbXB0eSBmaWxldHlwZSBkZXRlY3Rpb24gaXMgZG9uZQogCQkJd2l0aCB0aGUgbmV3IG5hbWUsIGJlZm9yZSB0aGUgZmlsZSBpcyB3cml0dGVuLgorCQkJV2hlbiB0aGUgd3JpdGUgd2FzIHN1Y2Nlc3NmdWwgJ3JlYWRvbmx5JyBpcyByZXNldC4KIAkJCXtub3QgaW4gVml9CiAKIAkJCQkJCQkqOnVwKiAqOnVwZGF0ZSoKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2V2YWwudHh0IGIvcnVudGltZS9kb2MvZXZhbC50eHQKaW5kZXggODE0NjNiNC4uYjgzMGNhMCAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvZXZhbC50eHQKKysrIGIvcnVudGltZS9kb2MvZXZhbC50eHQKQEAgLTEsNCArMSw0IEBACi0qZXZhbC50eHQqICAgICAgRm9yIFZpbSB2ZXJzaW9uIDcuMGMuICBMYXN0IGNoYW5nZTogMjAwNiBNYXIgMjkKKypldmFsLnR4dCogICAgICBGb3IgVmltIHZlcnNpb24gNy4wYy4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAwNAogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtMTEwLDggKzExMCw4IEBACiAJOmxldCBGbiA9IGZ1bmN0aW9uKCJNeUZ1bmMiKQogCTplY2hvIEZuKCkKIDwJCQkJCQkJKkU3MDQqICpFNzA1KiAqRTcwNyoKLUEgRnVuY3JlZiB2YXJpYWJsZSBtdXN0IHN0YXJ0IHdpdGggYSBjYXBpdGFsLCAiczoiLCAidzoiIG9yICJiOiIuICBZb3UgY2Fubm90Ci1oYXZlIGJvdGggYSBGdW5jcmVmIHZhcmlhYmxlIGFuZCBhIGZ1bmN0aW9uIHdpdGggdGhlIHNhbWUgbmFtZS4KK0EgRnVuY3JlZiB2YXJpYWJsZSBtdXN0IHN0YXJ0IHdpdGggYSBjYXBpdGFsLCAiczoiLCAidzoiLCAidDoiIG9yICJiOiIuICBZb3UKK2Nhbm5vdCBoYXZlIGJvdGggYSBGdW5jcmVmIHZhcmlhYmxlIGFuZCBhIGZ1bmN0aW9uIHdpdGggdGhlIHNhbWUgbmFtZS4KIAogQSBzcGVjaWFsIGNhc2UgaXMgZGVmaW5pbmcgYSBmdW5jdGlvbiBhbmQgZGlyZWN0bHkgYXNzaWduaW5nIGl0cyBGdW5jcmVmIHRvIGEKIERpY3Rpb25hcnkgZW50cnkuICBFeGFtcGxlOiA+CkBAIC01MDQsNyArNTA0LDcgQEAKIEl0IGlzIGFsc28gcG9zc2libGUgdG8gYWRkIGEgZnVuY3Rpb24gd2l0aG91dCB0aGUgImRpY3QiIGF0dHJpYnV0ZSBhcyBhCiBGdW5jcmVmIHRvIGEgRGljdGlvbmFyeSwgYnV0IHRoZSAic2VsZiIgdmFyaWFibGUgaXMgbm90IGF2YWlsYWJsZSB0aGVuLgogCi0JCQkJCQkqbnVtYmVyZWQtZnVuY3Rpb24qCisJCQkJKm51bWJlcmVkLWZ1bmN0aW9uKiAqYW5vbnltb3VzLWZ1bmN0aW9uKgogVG8gYXZvaWQgdGhlIGV4dHJhIG5hbWUgZm9yIHRoZSBmdW5jdGlvbiBpdCBjYW4gYmUgZGVmaW5lZCBhbmQgZGlyZWN0bHkKIGFzc2lnbmVkIHRvIGEgRGljdGlvbmFyeSBpbiB0aGlzIHdheTogPgogCTpsZXQgbXlkaWN0ID0geydkYXRhJzogWzAsIDEsIDIsIDNdfQpAQCAtMTAzMCw2ICsxMDMwLDcgQEAKIAkJKG5vdGhpbmcpIEluIGEgZnVuY3Rpb246IGxvY2FsIHRvIGEgZnVuY3Rpb247IG90aGVyd2lzZTogZ2xvYmFsCiB8YnVmZmVyLXZhcmlhYmxlfCAgICBiOgkgIExvY2FsIHRvIHRoZSBjdXJyZW50IGJ1ZmZlci4KIHx3aW5kb3ctdmFyaWFibGV8ICAgIHc6CSAgTG9jYWwgdG8gdGhlIGN1cnJlbnQgd2luZG93LgorfHRhYnBhZ2UtdmFyaWFibGV8ICAgdDoJICBMb2NhbCB0byB0aGUgY3VycmVudCB0YWIgcGFnZS4KIHxnbG9iYWwtdmFyaWFibGV8ICAgIGc6CSAgR2xvYmFsLgogfGxvY2FsLXZhcmlhYmxlfCAgICAgbDoJICBMb2NhbCB0byBhIGZ1bmN0aW9uLgogfHNjcmlwdC12YXJpYWJsZXwgICAgczoJICBMb2NhbCB0byBhIHw6c291cmNlfCdlZCBWaW0gc2NyaXB0LgpAQCAtMTA2Myw2ICsxMDY0LDExIEBACiBBIHZhcmlhYmxlIG5hbWUgdGhhdCBpcyBwcmVjZWRlZCB3aXRoICJ3OiIgaXMgbG9jYWwgdG8gdGhlIGN1cnJlbnQgd2luZG93LiAgSXQKIGlzIGRlbGV0ZWQgd2hlbiB0aGUgd2luZG93IGlzIGNsb3NlZC4KIAorCQkJCQkJKnRhYnBhZ2UtdmFyaWFibGUqICp0OnZhcioKK0EgdmFyaWFibGUgbmFtZSB0aGF0IGlzIHByZWNlZGVkIHdpdGggInQ6IiBpcyBsb2NhbCB0byB0aGUgY3VycmVudCB0YWIgcGFnZSwKK0l0IGlzIGRlbGV0ZWQgd2hlbiB0aGUgdGFiIHBhZ2UgaXMgY2xvc2VkLiB7bm90IGF2YWlsYWJsZSB3aGVuIGNvbXBpbGVkCit3aXRob3V0IHRoZSArd2luZG93cyBmZWF0dXJlfQorCiAJCQkJCQkqZ2xvYmFsLXZhcmlhYmxlKiAqZzp2YXIqCiBJbnNpZGUgZnVuY3Rpb25zIGdsb2JhbCB2YXJpYWJsZXMgYXJlIGFjY2Vzc2VkIHdpdGggImc6Ii4gIE9taXR0aW5nIHRoaXMgd2lsbAogYWNjZXNzIGEgdmFyaWFibGUgbG9jYWwgdG8gYSBmdW5jdGlvbi4gIEJ1dCAiZzoiIGNhbiBhbHNvIGJlIHVzZWQgaW4gYW55IG90aGVyCkBAIC0xNjI4LDYgKzE2MzQsNyBAQAogCQkJCVN0cmluZwljaGVjayBmb3IgbWFwcGluZ3MgbWF0Y2hpbmcge25hbWV9CiBtYXRjaCgge2V4cHJ9LCB7cGF0fVssIHtzdGFydH1bLCB7Y291bnR9XV0pCiAJCQkJTnVtYmVyCXBvc2l0aW9uIHdoZXJlIHtwYXR9IG1hdGNoZXMgaW4ge2V4cHJ9CittYXRjaGFyZygge25yfSkJCQlMaXN0CWFyZ3VtZW50cyBvZiB8Om1hdGNofAogbWF0Y2hlbmQoIHtleHByfSwge3BhdH1bLCB7c3RhcnR9Wywge2NvdW50fV1dKQogCQkJCU51bWJlcglwb3NpdGlvbiB3aGVyZSB7cGF0fSBlbmRzIGluIHtleHByfQogbWF0Y2hsaXN0KCB7ZXhwcn0sIHtwYXR9Wywge3N0YXJ0fVssIHtjb3VudH1dXSkKQEAgLTE2NDEsNiArMTY0OCw3IEBACiBtb2RlKCkJCQkJU3RyaW5nCWN1cnJlbnQgZWRpdGluZyBtb2RlCiBuZXh0bm9uYmxhbmsoIHtsbnVtfSkJCU51bWJlcglsaW5lIG5yIG9mIG5vbi1ibGFuayBsaW5lID49IHtsbnVtfQogbnIyY2hhcigge2V4cHJ9KQkJU3RyaW5nCXNpbmdsZSBjaGFyIHdpdGggQVNDSUkgdmFsdWUge2V4cHJ9CitwYXRoc2hvcnRlbigge2V4cHJ9KQkJU3RyaW5nCXNob3J0ZW4gZGlyZWN0b3J5IG5hbWVzIGluIGEgcGF0aAogcHJldm5vbmJsYW5rKCB7bG51bX0pCQlOdW1iZXIJbGluZSBuciBvZiBub24tYmxhbmsgbGluZSA8PSB7bG51bX0KIHByaW50Zigge2ZtdH0sIHtleHByMX0uLi4pCVN0cmluZyAgZm9ybWF0IHRleHQKIHB1bXZpc2libGUoKQkJCU51bWJlciAgd2hldGhlciBwb3B1cCBtZW51IGlzIHZpc2libGUKQEAgLTIyNTIsNiArMjI2MCw5IEBACiAJCWV4dGVuc2lvbi4KIAkJT24gTVMtRE9TIGFuZCBNUy1XaW5kb3dzIGl0IG9ubHkgY2hlY2tzIGlmIHRoZSBmaWxlIGV4aXN0cyBhbmQKIAkJaXMgbm90IGEgZGlyZWN0b3J5LCBub3QgaWYgaXQncyByZWFsbHkgZXhlY3V0YWJsZS4KKwkJT24gTVMtV2luZG93cyBhbiBleGVjdXRhYmxlIGluIHRoZSBzYW1lIGRpcmVjdG9yeSBhcyBWaW0gaXMKKwkJYWx3YXlzIGZvdW5kLiAgU2luY2UgdGhpcyBkaXJlY3RvcnkgaXMgYWRkZWQgdG8gJFBBVEggaXQKKwkJc2hvdWxkIGFsc28gd29yayB0byBleGVjdXRlIGl0IHx3aW4zMi1QQVRIfC4KIAkJVGhlIHJlc3VsdCBpcyBhIE51bWJlcjoKIAkJCTEJZXhpc3RzCiAJCQkwCWRvZXMgbm90IGV4aXN0CkBAIC0yNzIwLDEwICsyNzMxLDEwIEBACiAJCU90aGVyd2lzZSB0aGUgYWN0dWFsIGZvbnQgbmFtZSBpcyByZXR1cm5lZCwgb3Ige25hbWV9IGlmIHRoZQogCQlHVUkgZG9lcyBub3Qgc3VwcG9ydCBvYnRhaW5pbmcgdGhlIHJlYWwgbmFtZS4KIAkJT25seSB3b3JrcyB3aGVuIHRoZSBHVUkgaXMgcnVubmluZywgdGh1cyBub3QgeW91IHlvdXIgdmltcmMgb3IKLQkJTm90ZSB0aGF0IHRoZSBHVEsgMiBHVUkgYWNjZXB0cyBhbnkgZm9udCBuYW1lLCB0aHVzIGNoZWNraW5nCi0JCWZvciBhIHZhbGlkIG5hbWUgZG9lcyBub3Qgd29yay4KIAkJZ3ZpbXJjIGZpbGUuICBVc2UgdGhlIHxHVUlFbnRlcnwgYXV0b2NvbW1hbmQgdG8gdXNlIHRoaXMKIAkJZnVuY3Rpb24ganVzdCBhZnRlciB0aGUgR1VJIGhhcyBzdGFydGVkLgorCQlOb3RlIHRoYXQgdGhlIEdUSyAyIEdVSSBhY2NlcHRzIGFueSBmb250IG5hbWUsIHRodXMgY2hlY2tpbmcKKwkJZm9yIGEgdmFsaWQgbmFtZSBkb2VzIG5vdCB3b3JrLgogCiBnZXRmcGVybSh7Zm5hbWV9KQkJCQkJKmdldGZwZXJtKCkqCiAJCVRoZSByZXN1bHQgaXMgYSBTdHJpbmcsIHdoaWNoIGlzIHRoZSByZWFkLCB3cml0ZSwgYW5kIGV4ZWN1dGUKQEAgLTMxMzcsOSArMzE0OCw5IEBACiAJCU5PVEU6IENvbW1hbmQtbGluZSBjb21wbGV0aW9uIGlzIG5vdCBzdXBwb3J0ZWQuCiAKIGlucHV0bGlzdCh7dGV4dGxpc3R9KQkJCQkJKmlucHV0bGlzdCgpKgotCQl7dGV4dGxpc3R9IG11c3QgYmUgYSBsaXN0IG9mIHN0cmluZ3MuICBUaGlzIGxpc3QgaXMgZGlzcGxheWVkLAotCQlvbmUgc3RyaW5nIHBlciBsaW5lLiAgVGhlIHVzZXIgd2lsbCBiZSBwcm9tcHRlZCB0byBlbnRlciBhCi0JCW51bWJlciwgd2hpY2ggaXMgcmV0dXJuZWQuCisJCXt0ZXh0bGlzdH0gbXVzdCBiZSBhIHxMaXN0fCBvZiBzdHJpbmdzLiAgVGhpcyB8TGlzdHwgaXMKKwkJZGlzcGxheWVkLCBvbmUgc3RyaW5nIHBlciBsaW5lLiAgVGhlIHVzZXIgd2lsbCBiZSBwcm9tcHRlZCB0bworCQllbnRlciBhIG51bWJlciwgd2hpY2ggaXMgcmV0dXJuZWQuCiAJCVRoZSB1c2VyIGNhbiBhbHNvIHNlbGVjdCBhbiBpdGVtIGJ5IGNsaWNraW5nIG9uIGl0IHdpdGggdGhlCiAJCW1vdXNlLiAgRm9yIHRoZSBmaXJzdCBzdHJpbmcgMCBpcyByZXR1cm5lZC4gIFdoZW4gY2xpY2tpbmcKIAkJYWJvdmUgdGhlIGZpcnN0IGl0ZW0gYSBuZWdhdGl2ZSBudW1iZXIgaXMgcmV0dXJuZWQuICBXaGVuCkBAIC0zMTk2LDcgKzMyMDcsNyBAQAogCQlleGlzdCwgb3IgaXNuJ3QgYSBkaXJlY3RvcnksIHRoZSByZXN1bHQgaXMgRkFMU0UuICB7ZGlyZWN0b3J5fQogCQlpcyBhbnkgZXhwcmVzc2lvbiwgd2hpY2ggaXMgdXNlZCBhcyBhIFN0cmluZy4KIAotaXNsb2NrZWQoe2V4cHJ9KQkJCQkJKmlzbG9ja2VkKCkqCitpc2xvY2tlZCh7ZXhwcn0pCQkJCQkqaXNsb2NrZWQoKSogKkU3ODYqCiAJCVRoZSByZXN1bHQgaXMgYSBOdW1iZXIsIHdoaWNoIGlzIG5vbi16ZXJvIHdoZW4ge2V4cHJ9IGlzIHRoZQogCQluYW1lIG9mIGEgbG9ja2VkIHZhcmlhYmxlLgogCQl7ZXhwcn0gbXVzdCBiZSB0aGUgbmFtZSBvZiBhIHZhcmlhYmxlLCB8TGlzdHwgaXRlbSBvcgpAQCAtMzQ3OSw2ICszNDkwLDE4IEBACiAJCXRoZSBwYXR0ZXJuLiAgJ3NtYXJ0Y2FzZScgaXMgTk9UIHVzZWQuICBUaGUgbWF0Y2hpbmcgaXMgYWx3YXlzCiAJCWRvbmUgbGlrZSAnbWFnaWMnIGlzIHNldCBhbmQgJ2Nwb3B0aW9ucycgaXMgZW1wdHkuCiAKKworbWF0Y2hhcmcoe25yfSkJCQkJCQkJKm1hdGNoYXJnKCkqCisJCVNlbGVjdHMgdGhlIHtucn0gbWF0Y2ggaXRlbSwgYXMgc2V0IHdpdGggYSB8Om1hdGNofCwgCisJCXw6Mm1hdGNofCBvciB8OjNtYXRjaHwgY29tbWFuZC4KKwkJUmV0dXJuIGEgfExpc3R8IHdpdGggdHdvIGVsZW1lbnRzOgorCQkJVGhlIG5hbWUgb2YgdGhlIGhpZ2hsaWdodCBncm91cCB1c2VkCisJCQlUaGUgcGF0dGVybiB1c2VkLgorCQlXaGVuIHtucn0gaXMgbm90IDEsIDIgb3IgMyByZXR1cm5zIGFuIGVtcHR5IHxMaXN0fC4KKwkJV2hlbiB0aGVyZSBpcyBubyBtYXRjaCBpdGVtIHNldCByZXR1cm5zIFsnJywgJyddLgorCQlUaGlzIGlzIHVzZWYgdG8gc2F2ZSBhbmQgcmVzdG9yZSBhIHw6bWF0Y2h8LgorCisKIG1hdGNoZW5kKHtleHByfSwge3BhdH1bLCB7c3RhcnR9Wywge2NvdW50fV1dKQkJCSptYXRjaGVuZCgpKgogCQlTYW1lIGFzIG1hdGNoKCksIGJ1dCByZXR1cm4gdGhlIGluZGV4IG9mIGZpcnN0IGNoYXJhY3RlciBhZnRlcgogCQl0aGUgbWF0Y2guICBFeGFtcGxlOiA+CkBAIC0zNTk4LDYgKzM2MjEsMTUgQEAKIAkJCWNhbGwgc2V0cG9zKCcuJywgc2F2ZV9jdXJzb3IpCiA8CQlBbHNvIHNlZSB8c2V0cG9zKCl8LgogCitwYXRoc2hvcnRlbih7ZXhwcn0pCQkJCQkqcGF0aHNob3J0ZW4oKSoKKwkJU2hvcnRlbiBkaXJlY3RvcnkgbmFtZXMgaW4gdGhlIHBhdGgge2V4cHJ9IGFuZCByZXR1cm4gdGhlCisJCXJlc3VsdC4gIFRoZSB0YWlsLCB0aGUgZmlsZSBuYW1lLCBpcyBrZXB0IGFzLWlzLiAgVGhlIG90aGVyCisJCWNvbXBvbmVudHMgaW4gdGhlIHBhdGggYXJlIHJlZHVjZWQgdG8gc2luZ2xlIGxldHRlcnMuICBMZWFkaW5nCisJCSd+JyBhbmQgJy4nIGNoYXJhY3RlcnMgYXJlIGtlcHQuICBFeGFtcGxlOiA+CisJCQk6ZWNobyBwYXRoc2hvcnRlbignfi8udmltL2F1dG9sb2FkL215ZmlsZS52aW0nKQorPAkJCX4vLnYvYS9teWZpbGUudmltIH4KKwkJSXQgZG9lc24ndCBtYXR0ZXIgaWYgdGhlIHBhdGggZXhpc3RzIG9yIG5vdC4KKwogcHJldm5vbmJsYW5rKHtsbnVtfSkJCQkJCSpwcmV2bm9uYmxhbmsoKSoKIAkJUmV0dXJuIHRoZSBsaW5lIG51bWJlciBvZiB0aGUgZmlyc3QgbGluZSBhdCBvciBhYm92ZSB7bG51bX0KIAkJdGhhdCBpcyBub3QgYmxhbmsuICBFeGFtcGxlOiA+CkBAIC01MDM2LDcgKzUwNjgsNiBAQAogZ3VpX2F0aGVuYQkJQ29tcGlsZWQgd2l0aCBBdGhlbmEgR1VJLgogZ3VpX2d0awkJCUNvbXBpbGVkIHdpdGggR1RLKyBHVUkgKGFueSB2ZXJzaW9uKS4KIGd1aV9ndGsyCQlDb21waWxlZCB3aXRoIEdUSysgMiBHVUkgKGd1aV9ndGsgaXMgYWxzbyBkZWZpbmVkKS4KLWd1aV9rZGUJCQlDb21waWxlZCB3aXRoIEtERSBHVUkgfEtWaW18CiBndWlfbWFjCQkJQ29tcGlsZWQgd2l0aCBNYWNpbnRvc2ggR1VJLgogZ3VpX21vdGlmCQlDb21waWxlZCB3aXRoIE1vdGlmIEdVSS4KIGd1aV9waG90b24JCUNvbXBpbGVkIHdpdGggUGhvdG9uIEdVSS4KQEAgLTU2NTQsNiArNTY4NSw3IEBACiAJCQkgIGc6CWdsb2JhbCB2YXJpYWJsZXMKIAkJCSAgYjoJbG9jYWwgYnVmZmVyIHZhcmlhYmxlcwogCQkJICB3Oglsb2NhbCB3aW5kb3cgdmFyaWFibGVzCisJCQkgIHQ6CWxvY2FsIHRhYiBwYWdlIHZhcmlhYmxlcwogCQkJICBzOglzY3JpcHQtbG9jYWwgdmFyaWFibGVzCiAJCQkgIGw6CWxvY2FsIGZ1bmN0aW9uIHZhcmlhYmxlcwogCQkJICB2OglWaW0gdmFyaWFibGVzLgpAQCAtNTcxMSw4ICs1NzQzLDggQEAKIAogCQkJTm90ZSB0aGF0IHdoZW4gdHdvIHZhcmlhYmxlcyByZWZlciB0byB0aGUgc2FtZSB8TGlzdHwKIAkJCWFuZCB5b3UgbG9jayBvbmUgb2YgdGhlbSwgdGhlIHxMaXN0fCB3aWxsIGFsc28gYmUKLQkJCWxvY2tlZCB3aGVuIHVzZWQgdGhyb3VnaCB0aGUgb3RoZXIgdmFyaWFibGUuICBFeGFtcGxlOgotCQkJPgorCQkJbG9ja2VkIHdoZW4gdXNlZCB0aHJvdWdoIHRoZSBvdGhlciB2YXJpYWJsZS4KKwkJCUV4YW1wbGU6ID4KIAkJCQk6bGV0IGwgPSBbMCwgMSwgMiwgM10KIAkJCQk6bGV0IGNsID0gbAogCQkJCTpsb2NrdmFyIGwKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2d1aS50eHQgYi9ydW50aW1lL2RvYy9ndWkudHh0CmluZGV4IGQ4Mzg2ODAuLmNkMjVjMTkgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL2d1aS50eHQKKysrIGIvcnVudGltZS9kb2MvZ3VpLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpndWkudHh0KiAgICAgICBGb3IgVmltIHZlcnNpb24gNy4wYy4gIExhc3QgY2hhbmdlOiAyMDA2IE1hciAyMAorKmd1aS50eHQqICAgICAgIEZvciBWaW0gdmVyc2lvbiA3LjBjLiAgTGFzdCBjaGFuZ2U6IDIwMDYgQXByIDAyCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC0zNiw2ICszNiwxMCBAQAogfGd1aS14MTEtc3RhcnR8LgogCiAJCQkJCSpndWktaW5pdCogKmd2aW1yYyogKi5ndmltcmMqICpfZ3ZpbXJjKgorVGhlIGd2aW1yYyBmaWxlIGlzIHdoZXJlIEdVSS1zcGVjaWZpYyBzdGFydHVwIGNvbW1hbmRzIHNob3VsZCBiZSBwbGFjZWQuICBJdAoraXMgYWx3YXlzIHNvdXJjZWQgYWZ0ZXIgdGhlIHx2aW1yY3wgZmlsZS4gIElmIHlvdSBoYXZlIG9uZSB0aGVuIHRoZSAkTVlHVklNUkMKK2Vudmlyb25tZW50IHZhcmlhYmxlIGhhcyBpdHMgbmFtZS4KKwogV2hlbiB0aGUgR1VJIHN0YXJ0cyB1cCBpbml0aWFsaXphdGlvbnMgYXJlIGNhcnJpZWQgb3V0LCBpbiB0aGlzIG9yZGVyOgogLSBUaGUgJ3Rlcm0nIG9wdGlvbiBpcyBzZXQgdG8gImJ1aWxnaW5fZ3VpIiBhbmQgdGVybWluYWwgb3B0aW9ucyBhcmUgcmVzZXQgdG8KICAgdGhlaXIgZGVmYXVsdCB2YWx1ZSBmb3IgdGhlIEdVSSB8dGVybWluYWwtb3B0aW9uc3wuCkBAIC02Niw2ICs3MCw4IEBACiAgIC0gRm9yIFdpbjMyLCB3aGVuICRIT01FIGlzIG5vdCBzZXQsICIkVklNXF9ndmltcmMiIGlzIHVzZWQuCiAgIC0gV2hlbiBhICJfZ3ZpbXJjIiBmaWxlIGlzIG5vdCBmb3VuZCwgIi5ndmltcmMiIGlzIHRyaWVkIHRvby4gIEFuZCB2aWNlCiAgICAgdmVyc2EuCisgIFRoZSBuYW1lIG9mIHRoZSBmaXJzdCBmaWxlIGZvdW5kIGlzIHN0b3JlZCBpbiAkTVlHVklNUkMsIHVubGVzcyBpdCB3YXMKKyAgYWxyZWFkeSBzZXQuCiAtIElmIHRoZSAnZXhyYycgb3B0aW9uIGlzIHNldCAod2hpY2ggaXMgTk9UIHRoZSBkZWZhdWx0KSB0aGUgZmlsZSAuLy5ndmltcmMKICAgaXMgc291cmNlZCwgaWYgaXQgZXhpc3RzIGFuZCBpc24ndCB0aGUgc2FtZSBmaWxlIGFzIHRoZSBzeXN0ZW0gb3IgdXNlcgogICBndmltcmMgZmlsZS4gIElmIHRoaXMgZmlsZSBpcyBub3Qgb3duZWQgYnkgeW91LCBzb21lIHNlY3VyaXR5IHJlc3RyaWN0aW9ucwpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvaGFuZ3VsaW4udHh0IGIvcnVudGltZS9kb2MvaGFuZ3VsaW4udHh0CmluZGV4IDdlMGVjMWUuLjE4ZmRmNjAgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL2hhbmd1bGluLnR4dAorKysgYi9ydW50aW1lL2RvYy9oYW5ndWxpbi50eHQKQEAgLTEsNCArMSw0IEBACi0qaGFuZ3VsaW4udHh0KiAgRm9yIFZpbSB2ZXJzaW9uIDcuMGMuICBMYXN0IGNoYW5nZTogMjAwNSBNYXIgMjkKKypoYW5ndWxpbi50eHQqICBGb3IgVmltIHZlcnNpb24gNy4wYy4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAwMgogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBDaGktRGVvayBId2FuZyBhbmQgU3VuZy1IeXVuIE5hbQpAQCAtNDgsNyArNDgsNyBAQAogCiBIYW5ndWwgRm9udHMKIC0tLS0tLS0tLS0tLQotWW91IGNhbiBzZXQgdGV4dCBmb250IHVzaW5nICRIT01FLy5YZGVmYXVsdHMgb3IgJEhPTUUvLmd2aW1yYy4KK1lvdSBjYW4gc2V0IHRleHQgZm9udCB1c2luZyAkSE9NRS8uWGRlZmF1bHRzIG9yIGluIHlvdXIgZ3ZpbXJjIGZpbGUuCiBCdXQgdG8gdXNlIEhhbmd1bCwgeW91IHNob3VsZCBzZXQgJ2d1aWZvbnRzZXQnIGluIHlvdXIgdmltcmMuCiAKICRIT01FLy5YZGVmYXVsdHM6ID4KZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2hlbHAudHh0IGIvcnVudGltZS9kb2MvaGVscC50eHQKaW5kZXggZDk5ZjIxZi4uMjI5MjIwZiAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvaGVscC50eHQKKysrIGIvcnVudGltZS9kb2MvaGVscC50eHQKQEAgLTEsNCArMSw0IEBACi0qaGVscC50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjBjLiAgTGFzdCBjaGFuZ2U6IDIwMDYgTWFyIDI0CisqaGVscC50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjBjLiAgTGFzdCBjaGFuZ2U6IDIwMDYgQXByIDAyCiAKIAkJCVZJTSAtIG1haW4gaGVscCBmaWxlCiAJCQkJCQkJCQkgawpAQCAtODUsNyArODUsNyBAQAogfHVzcl85MC50eHR8ICBJbnN0YWxsaW5nIFZpbQogCiAKLVJFRkVSRU5DRSBNQU5VQUw6IFRoZXNlIGZpbGVzIGV4cGxhaW4gZXZlcnkgZGV0YWlsIG9mIFZpbS4JKnJlZi10b2MqCitSRUZFUkVOQ0UgTUFOVUFMOiBUaGVzZSBmaWxlcyBleHBsYWluIGV2ZXJ5IGRldGFpbCBvZiBWaW0uCSpyZWZlcmVuY2VfdG9jKgogCiBHZW5lcmFsIHN1YmplY3RzIH4KIHxpbnRyby50eHR8CWdlbmVyYWwgaW50cm9kdWN0aW9uIHRvIFZpbTsgbm90YXRpb24gdXNlZCBpbiBoZWxwIGZpbGVzCkBAIC0xOTUsNiArMTk1LDEyIEBACiB8cGlfemlwLnR4dHwJWmlwIGFyY2hpdmUgZXhwbG9yZXIKIAogTE9DQUwgQURESVRJT05TOgkJCQkqbG9jYWwtYWRkaXRpb25zKgorfGNlY3V0aWwudHh0fAlEckNoaXAncyBVdGlsaXRpZXMJCQkJSnVuIDExLCAyMDA0Cit8ZXhhbXBsZS50eHR8CUV4YW1wbGUgZm9yIGEgbG9jYWxseSBhZGRlZCBoZWxwIGZpbGUKK3xtYXRjaGl0LnR4dHwgICBFeHRlbmRlZCAiJSIgbWF0Y2hpbmcKK3x0ZXN0LnR4dHwJVGVzdGluZyB0aGUgaOlscCBj9m1t5W5kIG70dworfHR5cGVjb3JyLnR4dHwJUGx1Z2luIGZvciBjb3JyZWN0aW5nIHR5cGluZyBtaXN0YWtlcworfGhlbHBwLnR4dHwJRHVtbXkgbGluZSB0byBhdm9pZCBhbiBlcnJvciBtZXNzYWdlCiAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogKmJhcnMqCQlCYXJzIGV4YW1wbGUKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2hvd3RvLnR4dCBiL3J1bnRpbWUvZG9jL2hvd3RvLnR4dAppbmRleCBmOGY3NTQzLi5mNmI4MWE4IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9ob3d0by50eHQKKysrIGIvcnVudGltZS9kb2MvaG93dG8udHh0CkBAIC0xLDQgKzEsNCBAQAotKmhvd3RvLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMGMuICBMYXN0IGNoYW5nZTogMjAwMSBTZXAgMDMKKypob3d0by50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjBjLiAgTGFzdCBjaGFuZ2U6IDIwMDYgQXByIDAyCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMCSAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTc1LDcgKzc1LDcgQEAKIHxhdXRvLXNldHRpbmd8CQlzZXQgb3B0aW9ucyBhdXRvbWF0aWNhbGx5CiB8dGVybS1kZXBlbmRlbnQtc2V0dGluZ3N8IHNldCBvcHRpb25zIGRlcGVuZGluZyBvbiB0ZXJtaW5hbCBuYW1lCiB8c2F2ZS1zZXR0aW5nc3wJCXNhdmUgc2V0dGluZ3MKLXw6cXVvdGV8CQljb21tZW50IG15IGV4cmMvdmltcmMvZ3ZpbXJjIGZpbGVzCit8OnF1b3RlfAkJY29tbWVudCBteSAudmltIGZpbGVzCiB8J2hlbHBoZWlnaHQnfAkJY2hhbmdlIHRoZSBkZWZhdWx0IGhlbHAgaGVpZ2h0CiB8J2hpZ2hsaWdodCd8CQlzZXQgdmFyaW91cyBoaWdobGlnaHRpbmcgbW9kZXMKIHwndGl0bGUnfAkJc2V0IHRoZSB3aW5kb3cgdGl0bGUKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2luc2VydC50eHQgYi9ydW50aW1lL2RvYy9pbnNlcnQudHh0CmluZGV4IDRlYjRiY2YuLjQxN2E0YjMgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL2luc2VydC50eHQKKysrIGIvcnVudGltZS9kb2MvaW5zZXJ0LnR4dApAQCAtMSw0ICsxLDQgQEAKLSppbnNlcnQudHh0KiAgICBGb3IgVmltIHZlcnNpb24gNy4wYy4gIExhc3QgY2hhbmdlOiAyMDA2IE1hciAyOQorKmluc2VydC50eHQqICAgIEZvciBWaW0gdmVyc2lvbiA3LjBjLiAgTGFzdCBjaGFuZ2U6IDIwMDYgQXByIDA1CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC0xMDA0LDEwICsxMDA0LDEyIEBACiBFYWNoIGxpc3QgaXRlbSBjYW4gZWl0aGVyIGJlIGEgc3RyaW5nIG9yIGEgRGljdGlvbmFyeS4gIFdoZW4gaXQgaXMgYSBzdHJpbmcgaXQKIGlzIHVzZWQgYXMgdGhlIGNvbXBsZXRpb24uICBXaGVuIGl0IGlzIGEgRGljdGlvbmFyeSBpdCBjYW4gY29udGFpbiB0aGVzZQogaXRlbXM6Ci0Jd29yZAkJdGhlIGNvbXBsZXRpb24sIG1hbmRhdG9yeQotCWFiYnIJCWFiYnJldmlhdGlvbiBvZiAid29yZCIsIHRvIGJlIHVzZWQgaW4gdGhlIG1lbnUKLQltZW51CQlleHRyYSB0ZXh0IGZvciB0aGUgcG9wdXAgbWVudQotCWluZm8JCW1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGl0ZW0KKwl3b3JkCQl0aGUgdGV4dCB0aGF0IHdpbGwgYmUgaW5zZXJ0ZWQsIG1hbmRhdG9yeQorCWFiYnIJCWFiYnJldmlhdGlvbiBvZiAid29yZCI7IHdoZW4gbm90IGVtcHR5IGl0IGlzIHVzZWQgaW4KKwkJCXRoZSBtZW51IGluc3RlYWQgb2YgIndvcmQiCisJbWVudQkJZXh0cmEgdGV4dCBmb3IgdGhlIHBvcHVwIG1lbnUsIGFmdGVyICJ3b3JkIiBvciAiYWJiciIKKwlpbmZvCQltb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBpdGVtLCBjYW4gYmUgZGlzcGxheWVkIGluIGEKKwkJCXByZXZpZXcgd2luZG93CiAJa2luZAkJc2luZ2xlIGxldHRlciBpbmRpY2F0aW5nIHRoZSB0eXBlIG9mIGNvbXBsZXRpb24KIAlpY2FzZQkJd2hlbiBub24temVybyBjYXNlIGlzIHRvIGJlIGlnbm9yZWQ7IHdoZW4gb21pdHRlZAogCQkJdGhlICdpZ25vcmVjYXNlJyBvcHRpb24gaXMgdXNlZApAQCAtMTI5MSw2ICsxMjkzLDE0IEBACiAtIGFmdGVyICQgdmFyaWFibGVzIG5hbWUKICAgLSBpZiB2YXJpYWJsZSB3YXMgZGVjbGFyZWQgYXMgb2JqZWN0IGFkZCAiLT4iLCBpZiB0YWdzIGZpbGUgaXMgYXZhaWxhYmxlIHNob3cKICAgICBuYW1lIG9mIGNsYXNzCisgIC0gYWZ0ZXIgIi0+IiBjb21wbGV0ZSBvbmx5IGZ1bmN0aW9uIGFuZCB2YXJpYWJsZSBuYW1lcyBzcGVjaWZpYyBmb3IgZ2l2ZW4KKyAgICBjbGFzcy4gVG8gZmluZCBjbGFzcyBsb2NhdGlvbiBhbmQgY29udGVudHMgdGFncyBmaWxlIGlzIHJlcXVpcmVkLiBCZWNhdXNlCisgICAgUEhQIGlzbid0IHN0cm9uZ2x5IHR5cGVkIGxhbmd1YWdlIHVzZXIgY2FuIHVzZSBAdmFyIHRhZyB0byBkZWNsYXJlIGNsYXNzOiA+CisKKyAgICAJLyogQHZhciAkbXlWYXIgbXlDbGFzcyAqLworCSRteVZhci0+Cis8CisgICAgU3RpbGwsIHRvIGZpbmQgbXlDbGFzcyBjb250ZW50cyB0YWdzIGZpbGUgaXMgcmVxdWlyZWQuCiAKIC0gZnVuY3Rpb24gbmFtZXMgd2l0aCBhZGRpdG9uYWwgaW5mbzoKICAgLSBpbiBjYXNlIG9mIGJ1aWx0LWluIGZ1bmN0aW9ucyBsaXN0IG9mIHBvc3NpYmxlIGFyZ3VtZW50cyBhbmQgYWZ0ZXIgfCB0eXBlCkBAIC0xMzc1LDYgKzEzODUsMTIgQEAKIHdpdGggZGF0YSBwdWxsZWQgZGlyZWN0bHkgZnJvbSB3aXRoaW4gYSBkYXRhYmFzZS4gIEZvciBkZXRhaWxlZCBpbnN0cnVjdGlvbnMKIGFuZCBhIHR1dG9yaWFsIHNlZSB8b21uaS1zcWwtY29tcGxldGlvbnwuCiAKK1RoZSBTUUwgY29tcGxldGlvbiBwbHVnaW4gY2FuIGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBvdGhlciBjb21wbGV0aW9uCitwbHVnaW5zLiAgRm9yIGV4YW1wbGUsIHRoZSBQSFAgZmlsZXR5cGUgaGFzIGl0J3Mgb3duIGNvbXBsZXRpb24gcGx1Z2luLgorU2luY2UgUEhQIGlzIG9mdGVuIHVzZWQgdG8gZ2VuZXJhdGUgZHluYW1pYyB3ZWJzaXRlIGJ5IGFjY2Vzc2luZyBhIGRhdGFiYXNlLAordGhlIFNRTCBjb21wbGV0aW9uIHBsdWdpbiBjYW4gYWxzbyBiZSBlbmFibGVkLiAgVGhpcyBhbGxvd3MgeW91IHRvIGNvbXBsZXRlCitQSFAgY29kZSBhbmQgU1FMIGNvZGUgYXQgdGhlIHNhbWUgdGltZS4KKwogCiBYTUwJCQkJCQkJKmZ0LXhtbC1vbW5pKgogCkBAIC0xNjM0LDExICsxNjUwLDE1IEBACiAxMC4gSW5zZXJ0aW5nIGEgZmlsZQkJCQkJKmluc2VydGluZy1maWxlKgogCiAJCQkJCQkJKjpyKiAqOnJlKiAqOnJlYWQqCi06cltlYWRdIFtuYW1lXQkJSW5zZXJ0IHRoZSBmaWxlIFtuYW1lXSAoZGVmYXVsdDogY3VycmVudCBmaWxlKSBiZWxvdworOnJbZWFkXSBbKytvcHRdIFtuYW1lXQorCQkJSW5zZXJ0IHRoZSBmaWxlIFtuYW1lXSAoZGVmYXVsdDogY3VycmVudCBmaWxlKSBiZWxvdwogCQkJdGhlIGN1cnNvci4KKwkJCVNlZSB8KytvcHR8IGZvciB0aGUgcG9zc2libGUgdmFsdWVzIG9mIFsrK29wdF0uCiAKLTp7cmFuZ2V9cltlYWRdIFtuYW1lXQlJbnNlcnQgdGhlIGZpbGUgW25hbWVdIChkZWZhdWx0OiBjdXJyZW50IGZpbGUpIGJlbG93Cis6e3JhbmdlfXJbZWFkXSBbKytvcHRdIFtuYW1lXQorCQkJSW5zZXJ0IHRoZSBmaWxlIFtuYW1lXSAoZGVmYXVsdDogY3VycmVudCBmaWxlKSBiZWxvdwogCQkJdGhlIHNwZWNpZmllZCBsaW5lLgorCQkJU2VlIHwrK29wdHwgZm9yIHRoZSBwb3NzaWJsZSB2YWx1ZXMgb2YgWysrb3B0XS4KIAogCQkJCQkJCSo6ciEqICo6cmVhZCEqCiA6cltlYWRdICF7Y21kfQkJRXhlY3V0ZSB7Y21kfSBhbmQgaW5zZXJ0IGl0cyBzdGFuZGFyZCBvdXRwdXQgYmVsb3cKQEAgLTE2NjMsNiArMTY4MywxNCBAQAogdXNlZCwgZm9yIGV4YW1wbGUsIHdoZW4geW91IHdhbnQgdG8gZWRpdCB0aGF0IGZpbGUgaW5zdGVhZDogIjplISAjIi4gIFRoaXMgY2FuCiBiZSBzd2l0Y2hlZCBvZmYgYnkgcmVtb3ZpbmcgdGhlICdhJyBmbGFnIGZyb20gdGhlICdjcG9wdGlvbnMnIG9wdGlvbi4KIAorT2YgdGhlIFsrK29wdF0gYXJndW1lbnRzIG9uZSBpcyBzcGVjaWZpY2FsbHkgZm9yICI6cmVhZCIsIHRoZSArK2VkaXQgYXJndW1lbnQuCitUaGlzIGlzIHVzZWZ1bCB3aGVuIHRoZSAiOnJlYWQiIGNvbW1hbmQgaXMgYWN0dWFsbHkgdXNlZCB0byByZWFkIGEgZmlsZSBpbnRvCit0aGUgYnVmZmVyIGFzIGlmIGVkaXRpbmcgdGhhdCBmaWxlLiAgVXNlIHRoaXMgY29tbWFuZCBpbiBhbiBlbXB0eSBidWZmZXI6ID4KKwk6cmVhZCArK2VkaXQgZmlsZW5hbWUKK1RoZSBlZmZlY3QgaXMgdGhhdCB0aGUgJ2ZpbGVmb3JtYXQnLCAnZmlsZWVuY29kaW5nJywgJ2JvbWInLCBldGMuIG9wdGlvbnMgYXJlCitzZXQgdG8gd2hhdCBoYXMgYmVlbiBkZXRlY3RlZCBmb3IgImZpbGVuYW1lIi4gIE5vdGUgdGhhdCBhIHNpbmdsZSBlbXB0eSBsaW5lCityZW1haW5zLCB5b3UgbWF5IHdhbnQgdG8gZGVsZXRlIGl0LgorCiAJCQkJCQkJKmZpbGUtcmVhZCoKIFRoZSAnZmlsZWZvcm1hdCcgb3B0aW9uIHNldHMgdGhlIDxFT0w+IHN0eWxlIGZvciBhIGZpbGU6CiAnZmlsZWZvcm1hdCcgICAgY2hhcmFjdGVycwkgICBuYW1lCQkJCX4KZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL21ieXRlLnR4dCBiL3J1bnRpbWUvZG9jL21ieXRlLnR4dAppbmRleCA3NGIyZjhlLi4zYjY5MzRiIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9tYnl0ZS50eHQKKysrIGIvcnVudGltZS9kb2MvbWJ5dGUudHh0CkBAIC0xLDQgKzEsNCBAQAotKm1ieXRlLnR4dCogICAgIEZvciBWaW0gdmVyc2lvbiA3LjBjLiAgTGFzdCBjaGFuZ2U6IDIwMDYgTWFyIDI5CisqbWJ5dGUudHh0KiAgICAgRm9yIFZpbSB2ZXJzaW9uIDcuMGMuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMDIKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwJICBieSBCcmFtIE1vb2xlbmFhciBldCBhbC4KQEAgLTk4NSw3ICs5ODUsNyBAQAogICAgIFRoaXMgd29ya3MgaW4gdGhlIHNhbWUgd2F5IHdoZW4gdXNpbmcgWElNLgogCiAgICAgWW91IGNhbiBzZWxlY3QgY3Vyc29yIGNvbG9yIHdoZW4gc3RhdHVzIGlzIG9uIGJ5IHVzaW5nIGhpZ2hsaWdodCBncm91cAotICAgIEN1cnNvcklNLiAgRm9yIGV4YW1wbGUsIGFkZCB0aGVzZSBsaW5lcyB0byB5b3VyIF9ndmltcmM6ID4KKyAgICBDdXJzb3JJTS4gIEZvciBleGFtcGxlLCBhZGQgdGhlc2UgbGluZXMgdG8geW91ciB8Z3ZpbXJjfDogPgogCiAJaWYgaGFzKCdtdWx0aV9ieXRlX2ltZScpCiAJICAgIGhpZ2hsaWdodCBDdXJzb3IgZ3VpZmc9Tk9ORSBndWliZz1HcmVlbgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2Mvb3B0aW9ucy50eHQgYi9ydW50aW1lL2RvYy9vcHRpb25zLnR4dAppbmRleCBmMTc2NTY2Li5iMDRiYjU1IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9vcHRpb25zLnR4dAorKysgYi9ydW50aW1lL2RvYy9vcHRpb25zLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpvcHRpb25zLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMGMuICBMYXN0IGNoYW5nZTogMjAwNiBNYXIgMjkKKypvcHRpb25zLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMGMuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMDUKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwJICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtNjg0LDggKzY4NCw3IEBACiAJb3Igc2VsZWN0ZWQuCiAJVGhpcyBvcHRpb24gaXMgcHJvdmlkZWQgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgd2l0aCB0aGUgVmltCiAJcmVsZWFzZWQgd2l0aCBTdW4gT05FIFN0dWRpbyA0IEVudGVycHJpc2UgRWRpdGlvbi4KLQlOb3RlOiBXaGVuIHRoaXMgb3B0aW9uIGlzIG9uIHNvbWUgcGx1Z2lucyBtYXkgbm90IHdvcmsuICBUaGUgZGlyZWN0b3J5Ci0JYnJvd3NlciBzZXRzIGlmIG9mZi4KKwlOb3RlOiBXaGVuIHRoaXMgb3B0aW9uIGlzIG9uIHNvbWUgcGx1Z2lucyBtYXkgbm90IHdvcmsuCiAKIAkJCQkqJ2FyYWJpYycqIConYXJhYicqIConbm9hcmFiaWMnKiAqJ25vYXJhYicqCiAnYXJhYmljJyAnYXJhYicJCWJvb2xlYW4gKGRlZmF1bHQgb2ZmKQpAQCAtMTQ4OCw4ICsxNDg3LDggQEAKIAl8Zm9sZC1tYXJrZXJ8LgogCiAJCQkqJ2NvbXBhdGlibGUnKiAqJ2NwJyogKidub2NvbXBhdGlibGUnKiAqJ25vY3AnKgotJ2NvbXBhdGlibGUnICdjcCcJYm9vbGVhbgkoZGVmYXVsdCBvbiwgb2ZmIHdoZW4gYSAudmltcmMgb3IgLmd2aW1yYyBmaWxlCi0JCQkJCQkJCWlzIGZvdW5kKQorJ2NvbXBhdGlibGUnICdjcCcJYm9vbGVhbgkoZGVmYXVsdCBvbiwgb2ZmIHdoZW4gYSB8dmltcmN8IG9yIHxndmltcmN8CisJCQkJCQkJCWZpbGUgaXMgZm91bmQpCiAJCQlnbG9iYWwKIAkJCXtub3QgaW4gVml9CiAJVGhpcyBvcHRpb24gaGFzIHRoZSBlZmZlY3Qgb2YgbWFraW5nIFZpbSBlaXRoZXIgbW9yZSBWaS1jb21wYXRpYmxlLCBvcgpAQCAtMTUwNCwxMCArMTUwMywxMCBAQAogCW9wdGlvbnMuICBUaGlzIGRlZmF1bHQgd2FzIGNob3NlbiBmb3IgdGhvc2UgcGVvcGxlIHdobyB3YW50IHRvIHVzZSBWaW0KIAlqdXN0IGxpa2UgVmksIGFuZCBkb24ndCBldmVuICh3YW50IHRvKSBrbm93IGFib3V0IHRoZSAnY29tcGF0aWJsZScKIAlvcHRpb24uCi0JV2hlbiBhICIudmltcmMiIG9yICIuZ3ZpbXJjIiBmaWxlIGlzIGZvdW5kIHdoaWxlIFZpbSBpcyBzdGFydGluZyB1cCwKKwlXaGVuIGEgfHZpbXJjfCBvciB8Z3ZpbXJjfCBmaWxlIGlzIGZvdW5kIHdoaWxlIFZpbSBpcyBzdGFydGluZyB1cCwKIAl0aGlzIG9wdGlvbiBpcyBzd2l0Y2hlZCBvZmYsIGFuZCBhbGwgb3B0aW9ucyB0aGF0IGhhdmUgbm90IGJlZW4KIAltb2RpZmllZCB3aWxsIGJlIHNldCB0byB0aGUgVmltIGRlZmF1bHRzLiAgRWZmZWN0aXZlbHksIHRoaXMgbWVhbnMKLQl0aGF0IHdoZW4gYSAiLnZpbXJjIiBvciAiLmd2aW1yYyIgZmlsZSBleGlzdHMsIFZpbSB3aWxsIHVzZSB0aGUgVmltCisJdGhhdCB3aGVuIGEgfHZpbXJjfCBvciB8Z3ZpbXJjfCBmaWxlIGV4aXN0cywgVmltIHdpbGwgdXNlIHRoZSBWaW0KIAlkZWZhdWx0cywgb3RoZXJ3aXNlIGl0IHdpbGwgdXNlIHRoZSBWaSBkZWZhdWx0cy4gIChOb3RlOiBUaGlzIGRvZXNuJ3QKIAloYXBwZW4gZm9yIHRoZSBzeXN0ZW0td2lkZSB2aW1yYyBvciBndmltcmMgZmlsZSkuICBBbHNvIHNlZQogCXxjb21wYXRpYmxlLWRlZmF1bHR8IGFuZCB8cG9zaXgtY29tcGxpYW5jZXwuCkBAIC0yNzE5LDYgKzI3MTgsOCBAQAogPAlUaGlzIGlzIHNpbWlsYXIgdG8gdGhlIGRlZmF1bHQsIGV4Y2VwdCB0aGF0IHRoZXNlIGNoYXJhY3RlcnMgd2lsbCBhbHNvCiAJYmUgdXNlZCB3aGVuIHRoZXJlIGlzIGhpZ2hsaWdodGluZy4KIAorCWZvciAic3RsIiBhbmQgInN0bG5jIiBvbmx5IHNpbmdsZS1ieXRlIHZhbHVlcyBhcmUgc3VwcG9ydGVkLgorCiAJVGhlIGhpZ2hsaWdodGluZyB1c2VkIGZvciB0aGVzZSBpdGVtczoKIAkgIGl0ZW0JCWhpZ2hsaWdodCBncm91cCB+CiAJICBzdGw6YwkJU3RhdHVzTGluZQkJfGhsLVN0YXR1c0xpbmV8CkBAIC0yODk0LDYgKzI4OTUsNyBAQAogCQlxdWlja2ZpeAkiOmNuIiwgIjpjcmV3IiwgIjptYWtlIiwgZXRjLgogCQlzZWFyY2gJCXNlYXJjaCBmb3IgYSBwYXR0ZXJuOiAiLyIsICJuIiwgIioiLCAiZ2QiLCBldGMuCiAJCQkJKG5vdCBmb3IgYSBzZWFyY2ggcGF0dGVybiBpbiBhICI6IiBjb21tYW5kKQorCQkJCUFsc28gZm9yIHxbc3wgYW5kIHxdc3wuCiAJCXRhZwkJanVtcGluZyB0byBhIHRhZzogIjp0YSIsIENUUkwtVCwgZXRjLgogCQl1bmRvCQl1bmRvIG9yIHJlZG86ICJ1IiBhbmQgQ1RSTC1SCiAJV2hlbiB0aGUgY29tbWFuZCBpcyBwYXJ0IG9mIGEgbWFwcGluZyB0aGlzIG9wdGlvbiBpcyBub3QgdXNlZC4gIEFkZApAQCAtMzMzMiw3ICszMzM0LDcgQEAKIAkJY2FuIHVzZSAiZ3ZpbSAtZiIgb3IgIjpndWkgLWYiIHRvIHN0YXJ0IHRoZSBHVUkgaW4gdGhlCiAJCWZvcmVncm91bmQuICB8Z3VpLWZvcmt8CiAJCU5vdGU6IFNldCB0aGlzIG9wdGlvbiBpbiB0aGUgdmltcmMgZmlsZS4gIFRoZSBmb3JraW5nIG1heSBoYXZlCi0JCWhhcHBlbmVkIGFscmVhZHkgd2hlbiB0aGUgZ3ZpbXJjIGZpbGUgaXMgcmVhZC4KKwkJaGFwcGVuZWQgYWxyZWFkeSB3aGVuIHRoZSB8Z3ZpbXJjfCBmaWxlIGlzIHJlYWQuCiAKIAkgICdpJwlVc2UgYSBWaW0gaWNvbi4gIEZvciBHVEsgd2l0aCBLREUgaXQgaXMgdXNlZCBpbiB0aGUgbGVmdC11cHBlcgogCQljb3JuZXIgb2YgdGhlIHdpbmRvdy4gIEl0J3MgYmxhY2smd2hpdGUgb24gbm9uLUdUSywgYmVjYXVzZSBvZgpAQCAtMzM0MSw3ICszMzQzLDcgQEAKIAkgICdtJwlNZW51IGJhciBpcyBwcmVzZW50LgogCSAgJ00nCVRoZSBzeXN0ZW0gbWVudSAiJFZJTVJVTlRJTUUvbWVudS52aW0iIGlzIG5vdCBzb3VyY2VkLiAgTm90ZQogCQl0aGF0IHRoaXMgZmxhZyBtdXN0IGJlIGFkZGVkIGluIHRoZSAudmltcmMgZmlsZSwgYmVmb3JlCi0JCXN3aXRjaGluZyBvbiBzeW50YXggb3IgZmlsZXR5cGUgcmVjb2duaXRpb24gKHdoZW4gdGhlIC5ndmltcmMKKwkJc3dpdGNoaW5nIG9uIHN5bnRheCBvciBmaWxldHlwZSByZWNvZ25pdGlvbiAod2hlbiB0aGUgfGd2aW1yY3wKIAkJZmlsZSBpcyBzb3VyY2VkIHRoZSBzeXN0ZW0gbWVudSBoYXMgYWxyZWFkeSBiZWVuIGxvYWRlZDsgdGhlCiAJCSI6c3ludGF4IG9uIiBhbmQgIjpmaWxldHlwZSBvbiIgY29tbWFuZHMgbG9hZCB0aGUgbWVudSB0b28pLgogCSAgJ2cnCUdyZXkgbWVudSBpdGVtczogTWFrZSBtZW51IGl0ZW1zIHRoYXQgYXJlIG5vdCBhY3RpdmUgZ3JleS4gIElmCkBAIC0zMzc0LDcgKzMzNzYsNyBAQAogCSAgJ3AnCVVzZSBQb2ludGVyIGNhbGxiYWNrcyBmb3IgWDExIEdVSS4gIFRoaXMgaXMgcmVxdWlyZWQgZm9yIHNvbWUKIAkJd2luZG93IG1hbmFnZXJzLiAgSWYgdGhlIGN1cnNvciBpcyBub3QgYmxpbmtpbmcgb3IgaG9sbG93IGF0CiAJCXRoZSByaWdodCBtb21lbnQsIHRyeSBhZGRpbmcgdGhpcyBmbGFnLiAgVGhpcyBtdXN0IGJlIGRvbmUKLQkJYmVmb3JlIHN0YXJ0aW5nIHRoZSBHVUkuICBTZXQgaXQgaW4geW91ciBndmltcmMuICBBZGRpbmcgb3IKKwkJYmVmb3JlIHN0YXJ0aW5nIHRoZSBHVUkuICBTZXQgaXQgaW4geW91ciB8Z3ZpbXJjfC4gIEFkZGluZyBvcgogCQlyZW1vdmluZyBpdCBhZnRlciB0aGUgR1VJIGhhcyBzdGFydGVkIGhhcyBubyBlZmZlY3QuCiAJICAnRicJQWRkIGEgZm9vdGVyLiAgT25seSBmb3IgTW90aWYuICBTZWUgfGd1aS1mb290ZXJ8LgogCkBAIC0zNDY5LDcgKzM0NzEsNyBAQAogCQkJCSAgICAgIjg6U3BlY2lhbEtleSxAOk5vblRleHQsZDpEaXJlY3RvcnksCiAJCQkJICAgICBlOkVycm9yTXNnLGk6SW5jU2VhcmNoLGw6U2VhcmNoLG06TW9yZU1zZywKIAkJCQkgICAgIE06TW9kZU1zZyxuOkxpbmVOcixyOlF1ZXN0aW9uLAotCQkJCSAgICAgczpTdGF0dXNMaW5lLFM6U3RhdHVzTGluZU5DLGM6VmVydFNwbGl0CisJCQkJICAgICBzOlN0YXR1c0xpbmUsUzpTdGF0dXNMaW5lTkMsYzpWZXJ0U3BsaXQsCiAJCQkJICAgICB0OlRpdGxlLHY6VmlzdWFsLHc6V2FybmluZ01zZyxXOldpbGRNZW51LAogCQkJCSAgICAgZjpGb2xkZWQsRjpGb2xkQ29sdW1uLEE6RGlmZkFkZCwKIAkJCQkgICAgIEM6RGlmZkNoYW5nZSxEOkRpZmZEZWxldGUsVDpEaWZmVGV4dCwKQEAgLTM1NjAsNyArMzU2Miw3IEBACiAJaGlnaGxpZ2h0IGFsbCBvZiB0aGUgbWF0Y2hlZCB0ZXh0LiAgSG93ZXZlciwgdGhpcyBkZXBlbmRzIG9uIHdoZXJlIHRoZQogCXNlYXJjaCBzdGFydHMuICBUaGlzIHdpbGwgYmUgdGhlIGZpcnN0IGxpbmUgaW4gdGhlIHdpbmRvdyBvciB0aGUgZmlyc3QKIAlsaW5lIGJlbG93IGEgY2xvc2VkIGZvbGQuICBBIG1hdGNoIGluIGEgcHJldmlvdXMgbGluZSB3aGljaCBpcyBub3QKLQlkcmF3biBtYXkgbm90IGNvbnRpbnVlIGluIGFuIG5ld2x5IGRyYXduIGxpbmUuCisJZHJhd24gbWF5IG5vdCBjb250aW51ZSBpbiBhIG5ld2x5IGRyYXduIGxpbmUuCiAJTk9URTogVGhpcyBvcHRpb24gaXMgcmVzZXQgd2hlbiAnY29tcGF0aWJsZScgaXMgc2V0LgogCiAJCQkJCQkqJ2hpc3RvcnknKiAqJ2hpJyoKQEAgLTQyNjUsNyArNDI2Nyw3IEBACiAKIAlUaGUgY2hhcmFjdGVycyAnOicgYW5kICcsJyBzaG91bGQgbm90IGJlIHVzZWQuICBVVEYtOCBjaGFyYWN0ZXJzIGNhbgogCWJlIHVzZWQgd2hlbiAnZW5jb2RpbmcnIGlzICJ1dGYtOCIsIG90aGVyd2lzZSBvbmx5IHByaW50YWJsZQotCWNoYXJhY3RlcnMgYXJlIGFsbG93ZWQuCisJY2hhcmFjdGVycyBhcmUgYWxsb3dlZC4gIEFsbCBjaGFyYWN0ZXJzIG11c3QgYmUgc2luZ2xlIHdpZHRoLgogCiAJRXhhbXBsZXM6ID4KIAkgICAgOnNldCBsY3M9dGFiOj4tLHRyYWlsOi0KQEAgLTUzNjksNiArNTM3MSw4IEBACiAJCQkgICBnb2luZyBiYWNrIHRvIHRoZSBvdGhlciB3aW5kb3csIGl0IHN0aWxsIHVzZXMgdGhlCiAJCQkgICBzYW1lIHJlbGF0aXZlIG9mZnNldC4KIAlBbHNvIHNlZSB8c2Nyb2xsLWJpbmRpbmd8LgorCVdoZW4gJ2RpZmYnIG1vZGUgaXMgYWN0aXZlIHRoZXJlIGFsd2F5cyBpcyB2ZXJ0aWNhbCBzY3JvbGwgYmluZGluZywKKwlldmVuIHdoZW4gInZlciIgaXNuJ3QgdGhlcmUuCiAKIAkJCQkJCSonc2VjdGlvbnMnKiAqJ3NlY3QnKgogJ3NlY3Rpb25zJyAnc2VjdCcJc3RyaW5nCShkZWZhdWx0ICJTSE5ISCBIVW5oc2giKQpAQCAtNTk2OSw4ICs1OTczLDkgQEAKIAl8emd8IGFuZCB8end8IGNvbW1hbmRzIGNhbiBiZSB1c2VkIHRvIGFjY2VzcyBlYWNoLiAgVGhpcyBhbGxvd3MgdXNpbmcKIAlhIHBlcnNvbmFsIHdvcmQgbGlzdCBmaWxlIGFuZCBhIHByb2plY3Qgd29yZCBsaXN0IGZpbGUuCiAJV2hlbiBhIHdvcmQgaXMgYWRkZWQgd2hpbGUgdGhpcyBvcHRpb24gaXMgZW1wdHkgVmltIHdpbGwgc2V0IGl0IGZvcgotCXlvdTogVXNpbmcgdGhlIGZpcnN0ICJzcGVsbCIgZGlyZWN0b3J5IGluICdydW50aW1lcGF0aCcgdGhhdCBpcwotCXdyaXRhYmxlIGFuZCB0aGUgZmlyc3QgbGFuZ3VhZ2UgbmFtZSB0aGF0IGFwcGVhcnMgaW4gJ3NwZWxsbGFuZycsCisJeW91OiBVc2luZyB0aGUgZmlyc3QgZGlyZWN0b3J5IGluICdydW50aW1lcGF0aCcgdGhhdCBpcyB3cml0YWJsZS4gIElmCisJdGhlcmUgaXMgbm8gInNwZWxsIiBkaXJlY3RvcnkgeWV0IGl0IHdpbGwgYmUgY3JlYXRlZC4gIEZvciB0aGUgZmlsZQorCW5hbWUgdGhlIGZpcnN0IGxhbmd1YWdlIG5hbWUgdGhhdCBhcHBlYXJzIGluICdzcGVsbGxhbmcnIGlzIHVzZWQsCiAJaWdub3JpbmcgdGhlIHJlZ2lvbi4KIAlUaGUgcmVzdWx0aW5nICIuc3BsIiBmaWxlIHdpbGwgYmUgdXNlZCBmb3Igc3BlbGwgY2hlY2tpbmcsIGl0IGRvZXMgbm90CiAJaGF2ZSB0byBhcHBlYXIgaW4gJ3NwZWxsbGFuZycuCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9vc19kb3MudHh0IGIvcnVudGltZS9kb2Mvb3NfZG9zLnR4dAppbmRleCAwMmNiMDMyLi43ZTc3MTFjIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9vc19kb3MudHh0CisrKyBiL3J1bnRpbWUvZG9jL29zX2Rvcy50eHQKQEAgLTEsNCArMSw0IEBACi0qb3NfZG9zLnR4dCogICAgRm9yIFZpbSB2ZXJzaW9uIDcuMGMuICBMYXN0IGNoYW5nZTogMjAwNiBGZWIgMTQKKypvc19kb3MudHh0KiAgICBGb3IgVmltIHZlcnNpb24gNy4wYy4gIExhc3QgY2hhbmdlOiAyMDA2IE1hciAzMAogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtNzcsMTAgKzc3LDExIEBACiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIDMuIFN0YW5kYXJkIG1hcHBpbmdzCQkJCSpkb3Mtc3RhbmRhcmQtbWFwcGluZ3MqCiAKLUNUUkwtUGFnZVVwCWN1cnNvciB0byBmaXJzdCBzY3JlZW4gbGluZQkJCSo8Qy1QYWdlVXA+KgotQ1RSTC1QYWdlRG93bgljdXJzb3IgdG8gbGFzdCBzY3JlZW4gbGluZSwgbGFzdCBjaGFyYWN0ZXIJKjxDLVBhZ2VEb3duPioKK1RoZSBtYXBwaW5ncyBmb3IgQ1RSTC1QYWdlVXAgYW5kIENUUkwtUGFnZURvd24gaGF2ZSBiZWVuIHJlbW92ZWQsIHRoZXkgbm93CitqdW1wIHRvIHRoZSBuZXh0IG9yIHByZXZpb3VzIHRhYiBwYWdlIHw8Qy1QYWdlVXA+fCB8PEMtUGFnZURvd24+fAogCi1UaGVzZSBtYXBwaW5ncyBhY2NvbXBsaXNoIHRoaXM6CitJZiB5b3Ugd2FudCB0aGVtIHRvIG1vdmUgdG8gdGhlIGZpcnN0IGFuZCBsYXN0IHNjcmVlbiBsaW5lIHlvdSBjYW4gdXNlIHRoZXNlCittYXBwaW5nczoKIAoga2V5CQlrZXkgY29kZSAgICAgTm9ybWFsL1Zpc3VhbCBtb2RlCSAgICBJbnNlcnQgbW9kZSB+CiBDVFJMLVBhZ2VVcAk8TS1OPjxNLUMtRD4JICAgIEgJCSAgICA8Qy1PPkgKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL29zX3dpbjMyLnR4dCBiL3J1bnRpbWUvZG9jL29zX3dpbjMyLnR4dAppbmRleCBjODk0ZjBhLi4wODYxMTI3IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9vc193aW4zMi50eHQKKysrIGIvcnVudGltZS9kb2Mvb3Nfd2luMzIudHh0CkBAIC0xLDQgKzEsNCBAQAotKm9zX3dpbjMyLnR4dCogIEZvciBWaW0gdmVyc2lvbiA3LjBjLiAgTGFzdCBjaGFuZ2U6IDIwMDUgTWFyIDI5Cisqb3Nfd2luMzIudHh0KiAgRm9yIFZpbSB2ZXJzaW9uIDcuMGMuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMDIKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgR2VvcmdlIFJlaWxseQpAQCAtODcsNiArODcsMTIgQEAKIHByb2JhYmx5IGdldCB2ZXJ5IHN0cmFuZ2UgYmVoYXZpb3IgZnJvbSBWaW0uICBUaGVyZWZvcmUgVmltIGRvZXMgbm90IG9idGFpbgogdGhlIGRlZmF1bHQgdmFsdWUgb2YgJ3Rlcm0nIGZyb20gdGhlIGVudmlyb25tZW50IHZhcmlhYmxlICJURVJNIi4KIAorJFBBVEgJCQkJCQkJKndpbjMyLVBBVEgqCisKK1RoZSBkaXJlY3Rvcnkgb2YgdGhlIFZpbSBleGVjdXRhYmxlIGlzIGFwcGVuZGVkIHRvICRQQVRILiAgVGhpcyBpcyBtb3N0bHkgdG8KK21ha2UgIiF4eGQnIHdvcmssIGFzIGl0IGlzIGluIHRoZSBUb29scyBtZW51LiAgQW5kIGl0IGFsc28gbWVhbnMgdGhhdCB3aGVuCitleGVjdXRhYmxlKCkgcmV0dXJucyAxIHRoZSBleGVjdXRhYmxlIGNhbiBhY3R1YWxseSBiZSBleGVjdXRlZC4KKwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAzLiBSZXN0b3JlIHNjcmVlbiBjb250ZW50cwkJCQkqd2luMzItcmVzdG9yZSoKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvcGF0dGVybi50eHQgYi9ydW50aW1lL2RvYy9wYXR0ZXJuLnR4dAppbmRleCBmNDE1NTc0Li4zYmQ4YzQwIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9wYXR0ZXJuLnR4dAorKysgYi9ydW50aW1lL2RvYy9wYXR0ZXJuLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpwYXR0ZXJuLnR4dCogICBGb3IgVmltIHZlcnNpb24gNy4wYy4gIExhc3QgY2hhbmdlOiAyMDA2IE1hciAyNQorKnBhdHRlcm4udHh0KiAgIEZvciBWaW0gdmVyc2lvbiA3LjBjLiAgTGFzdCBjaGFuZ2U6IDIwMDYgQXByIDAyCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC0xMjIwLDYgKzEyMjAsOSBAQAogCQknaWdub3JlY2FzZScgZG9lcyBub3QgYXBwbHksIHVzZSB8L1xjfCBpbiB0aGUgcGF0dGVybiB0bwogCQlpZ25vcmUgY2FzZS4gIE90aGVyd2lzZSBjYXNlIGlzIG5vdCBpZ25vcmVkLgogCisJCUFsc28gc2VlIHxtYXRjaGFyZygpfCwgaXQgcmV0dXJucyB0aGUgaGlnaGxpZ2h0IGdyb3VwIGFuZAorCQlwYXR0ZXJuIG9mIGEgcHJldmlvdXMgOm1hdGNoIGNvbW1hbmQuCisKIAkJQW5vdGhlciBleGFtcGxlLCB3aGljaCBoaWdobGlnaHRzIGFsbCBjaGFyYWN0ZXJzIGluIHZpcnR1YWwKIAkJY29sdW1uIDcyIGFuZCBtb3JlOiA+CiAJCQk6aGlnaGxpZ2h0IHJpZ2h0TWFyZ2luIHRlcm09Ym9sZCBjdGVybWZnPWJsdWUgZ3VpZmc9Ymx1ZQpAQCAtMTIzNSwxMCArMTIzOCwxMCBAQAogCQlDbGVhciBhIHByZXZpb3VzbHkgZGVmaW5lZCBtYXRjaCBwYXR0ZXJuLgogCiAKLToybWF0W2NoXSB7Z3JvdXB9IC97cGF0dGVybn0vCis6Mm1hdFtjaF0ge2dyb3VwfSAve3BhdHRlcm59LwkJCQkJKjoybWF0Y2gqCiA6Mm1hdFtjaF0KIDoybWF0W2NoXSBub25lCi06M21hdFtjaF0ge2dyb3VwfSAve3BhdHRlcm59LworOjNtYXRbY2hdIHtncm91cH0gL3twYXR0ZXJufS8JCQkJCSo6M21hdGNoKgogOjNtYXRbY2hdCiA6M21hdFtjaF0gbm9uZQogCQlKdXN0IGxpa2UgfDptYXRjaHwgYWJvdmUsIGJ1dCBzZXQgYSBzZXBhcmF0ZSBtYXRjaC4gIFRodXMKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3BpX3BhcmVuLnR4dCBiL3J1bnRpbWUvZG9jL3BpX3BhcmVuLnR4dAppbmRleCBiM2ZjYjdkLi5hMzRmMzU0IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9waV9wYXJlbi50eHQKKysrIGIvcnVudGltZS9kb2MvcGlfcGFyZW4udHh0CkBAIC0xLDQgKzEsNCBAQAotKnBpX3BhcmVuLnR4dCogIEZvciBWaW0gdmVyc2lvbiA3LjBjLiAgTGFzdCBjaGFuZ2U6IDIwMDYgTWFyIDI5CisqcGlfcGFyZW4udHh0KiAgRm9yIFZpbSB2ZXJzaW9uIDcuMGMuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMDMKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTM4LDkgKzM4LDEzIEBACiBzeW50YXggaXRlbXMgYXJlIGlnbm9yZWQuICBBbnkgc3ludGF4IGl0ZW1zIHdpdGggInN0cmluZyIgb3IgImNvbW1lbnQiCiBzb21ld2hlcmUgaW4gdGhlaXIgbmFtZSBhcmUgY29uc2lkZXJlZCBzdHJpbmcgb3IgY29tbWVudCBpdGVtcy4KIAotVGhlIHNlYXJjaCBpcyBsaW1pdGVkIHRvIHdoYXQgaXMgdmlzaWJsZSBpbiB0aGUgd2luZG93LiAgVGhlIHBsdWdpbiBkb2Vzbid0Ci1zZWFyY2ggZnVydGhlciB0aGFuIDEwMCBsaW5lcyB0byBhdm9pZCBhIGxvbmcgZGVsYXkgd2hlbiB0aGVyZSBhcmUgY2xvc2VkCi1mb2xkcy4KK1RoZSBzZWFyY2ggaXMgbGltaXRlZCB0byBhdm9pZCBhIGRlbGF5IHdoZW4gbW92aW5nIHRoZSBjdXJzb3IuICBUaGUgbGltaXRzCithcmU6CistIFdoYXQgaXMgdmlzaWJsZSBpbiB0aGUgd2luZG93LgorLSAxMDAgbGluZXMgYWJvdmUgb3IgYmVsb3cgdGhlIGN1cnNvciB0byBhdm9pZCBhIGxvbmcgZGVsYXkgd2hlbiB0aGVyZSBhcmUKKyAgY2xvc2VkIGZvbGRzLgorLSAnc3lubWF4Y29sdW1uJyB0aW1lcyAyIGJ5dGVzIGJlZm9yZSBvciBhZnRlciB0aGUgY3Vyc29yIHRvIGF2b2lkIGEgZGVsYXkKKyAgaW4gYSBsb25nIGxpbmUgd2l0aCBzeW50YXggaGlnaGxpZ2h0aW5nLgogCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICB2aW06dHc9Nzg6dHM9ODpmdD1oZWxwOm5vcmw6CmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9waV90YXIudHh0IGIvcnVudGltZS9kb2MvcGlfdGFyLnR4dAppbmRleCBhOTg2ZWU5Li43N2ViMTllIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9waV90YXIudHh0CisrKyBiL3J1bnRpbWUvZG9jL3BpX3Rhci50eHQKQEAgLTEsNiArMSw4IEBACiAqdGFyLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMGMuICBMYXN0IGNoYW5nZTogMjAwNiBNYXIgMjQKIAotCVRhciBGaWxlIEludGVyZmFjZQorICAgICAgIAkgICAgICAgCSAgICAgICArPT09PT09PT09PT09PT09PT09PT0rCisgICAgICAgCSAgICAgICAJICAgICAgIHwgVGFyIEZpbGUgSW50ZXJmYWNlIHwKKyAgICAgICAJICAgICAgIAkgICAgICAgKz09PT09PT09PT09PT09PT09PT09KwogCiBBdXRob3I6ICBDaGFybGVzIEUuIENhbXBiZWxsLCBKci4gIDxOZHJPY2hpcEBTY2FtcGJlbGxQZmFtaWx5LkFiaXpNPgogCSAgKHJlbW92ZSBOT1NQQU0gZnJvbSBDYW1wYmVsbCdzIGVtYWlsIGZpcnN0KQpAQCAtMTIsNyArMTQsOCBAQAogMS4gQ29udGVudHMJCQkJCSp0YXIqICp0YXItY29udGVudHMqCiAgICAxLiBDb250ZW50cy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4ufHRhci1jb250ZW50c3wKICAgIDIuIFVzYWdlLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi58dGFyLXVzYWdlfAotICAgMy4gSGlzdG9yeS4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLnx0YXItaGlzdG9yeXwKKyAgIDMuIE9wdGlvbnMuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi58dGFyLW9wdGlvbnN8CisgICA0LiBIaXN0b3J5Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4ufHRhci1oaXN0b3J5fAogCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIDIuIFVzYWdlCQkJCQkqdGFyLXVzYWdlKiAqdGFyLW1hbnVhbCoKQEAgLTI0LDcgKzI3LDI1IEBACiAgICB0YXIgYXJjaGl2ZXMgdmlhIHRoZSBwbHVnaW4uCiAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotMy4gSGlzdG9yeQkJCQkJCSp0YXItaGlzdG9yeSoKKzMuIE9wdGlvbnMJCQkJCQkqdGFyLW9wdGlvbnMqCisKKyAgIFRoZXNlIG9wdGlvbnMgYXJlIHZhcmlhYmxlcyB0aGF0IG9uZSBtYXkgY2hhbmdlLCB0eXBpY2FsbHkgaW4gb25lJ3MKKyAgIDwudmltcmM+IGZpbGUuCisgICAgICAgICAgICAgICAgICAgICAgICAgRGVmYXVsdAorICAgVmFyaWFibGUgICAgICAgICAgICAgICBWYWx1ZSAgIEV4cGxhbmF0aW9uCisgICAqZzp0YXJfYnJvd3Nlb3B0aW9ucyogICJQdGYiICAgdXNlZCB0byBnZXQgYSBsaXN0IG9mIGNvbnRlbnRzCisgICAqZzp0YXJfcmVhZG9wdGlvbnMqICAgICJPUHhmIiAgdXNlZCB0byBleHRyYWN0IGEgZmlsZSBmcm9tIGEgdGFyYmFsbAorICAgKmc6dGFyX2NtZCogICAgICAgICAgICAidGFyIiAgIHRoZSBuYW1lIG9mIHRoZSB0YXIgcHJvZ3JhbQorICAgKmc6dGFyX3dyaXRlb3B0aW9ucyogICAidWYiICAgIHVzZWQgdG8gdXBkYXRlL3JlcGxhY2UgYSBmaWxlCisKKworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cis0LiBIaXN0b3J5CQkJCQkJKnRhci1oaXN0b3J5KgorCisgICB2NyBNYXIgMjIsIDIwMDYgKiB3b3JrIG9uIG1ha2luZyB0YXIgcGx1Z2luIHdvcmsgYWNyb3NzIG5ldHdvcmsKKyAgICAgIE1hciAyNywgMjAwNiAqIGc6dGFyX2NtZCBub3cgYXZhaWxhYmxlIGZvciB1c2VycyB0byBjaGFuZ2UgdGhlIG5hbWUKKyAgICAgICAgICAgICAgICAgICAgIG9mIHRoZSB0YXIgcHJvZ3JhbSB0byBiZSB1c2VkLiAgQnkgZGVmYXVsdCwgb2YgY291cnNlLAorCQkgICAgIGl0cyAidGFyIi4KICAgIHY2IERlYyAyMSwgMjAwNSAqIHdyaXRpbmcgdG8gZmlsZXMgbm90IGluIGRpcmVjdG9yaWVzIGNhdXNlZCBwcm9ibGVtcyAtCiAgICAgICAgICAgICAgICAgICAgICBmaXhlZCAocG9pbnRlZCBvdXQgYnkgQ2hyaXN0aWFuIFJvYmluc29uKQogICAgdjUgTm92IDIyLCAyMDA1ICogcmVwb3J0IG9wdGlvbiB3b3JrYXJvdW5kIGluc3RhbGxlZApkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvcGlfemlwLnR4dCBiL3J1bnRpbWUvZG9jL3BpX3ppcC50eHQKaW5kZXggOGU3MGJiZi4uZWViNWQ3NiAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvcGlfemlwLnR4dAorKysgYi9ydW50aW1lL2RvYy9waV96aXAudHh0CkBAIC0xLDE4ICsxLDIwIEBACi0qemlwLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMGMuICBMYXN0IGNoYW5nZTogMjAwNiBNYXIgMjQKKyp6aXAudHh0KglGb3IgVmltIHZlcnNpb24gNy4wYy4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAwMwogCi0JWmlwIEZpbGUgSW50ZXJmYWNlCisJCQkJKz09PT09PT09PT09PT09PT09PT09KworCQkJCXwgWmlwIEZpbGUgSW50ZXJmYWNlIHwKKwkJCQkrPT09PT09PT09PT09PT09PT09PT0rCiAKIEF1dGhvcjogIENoYXJsZXMgRS4gQ2FtcGJlbGwsIEpyLiAgPE5kck9jaGlwQFNjYW1wYmVsbFBmYW1pbHkuQWJpek0+CiAJICAocmVtb3ZlIE5PU1BBTSBmcm9tIENhbXBiZWxsJ3MgZW1haWwgZmlyc3QpCi1Db3B5cmlnaHQ6ICAgIENvcHlyaWdodCAoQykgMjAwNSBDaGFybGVzIEUuIENhbXBiZWxsLCBKci4ge3t7MSAqemlwLWNvcHlyaWdodCoKLSAgICAgICAgICAgICAgUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCB0byB1c2UgYW5kIGRpc3RyaWJ1dGUgdGhpcyBjb2RlLAotCSAgICAgIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb25zLCBwcm92aWRlZCB0aGF0IHRoaXMgY29weXJpZ2h0Ci0JICAgICAgbm90aWNlIGlzIGNvcGllZCB3aXRoIGl0LiBMaWtlIGFueXRoaW5nIGVsc2UgdGhhdCdzIGZyZWUsCi0JICAgICAgemlwLnZpbSwgemlwUGx1Z2luLnZpbSwgYW5kIHBpX3ppcC50eHQgYXJlIHByb3ZpZGVkICphcyBpcyoKLQkgICAgICBhbmQgaXQgY29tZXMgd2l0aCBubyB3YXJyYW50eSBvZiBhbnkga2luZCwgZWl0aGVyIGV4cHJlc3NlZCBvcgotCSAgICAgIGltcGxpZWQuIEJ5IHVzaW5nIHRoaXMgcGx1Z2luLCB5b3UgYWdyZWUgdGhhdCBpbiBubyBldmVudCB3aWxsCi0JICAgICAgdGhlIGNvcHlyaWdodCBob2xkZXIgYmUgbGlhYmxlIGZvciBhbnkgZGFtYWdlcyByZXN1bHRpbmcgZnJvbQotCSAgICAgIHRoZSB1c2Ugb2YgdGhpcyBzb2Z0d2FyZS4KK0NvcHlyaWdodDogQ29weXJpZ2h0IChDKSAyMDA1LDIwMDYgQ2hhcmxlcyBFIENhbXBiZWxsLCBKciB7e3sxICp6aXAtY29weXJpZ2h0KgorICAgICAgICAgICBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIHRvIHVzZSBhbmQgZGlzdHJpYnV0ZSB0aGlzIGNvZGUsCisJICAgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbnMsIHByb3ZpZGVkIHRoYXQgdGhpcyBjb3B5cmlnaHQKKwkgICBub3RpY2UgaXMgY29waWVkIHdpdGggaXQuIExpa2UgYW55dGhpbmcgZWxzZSB0aGF0J3MgZnJlZSwKKwkgICB6aXAudmltLCB6aXBQbHVnaW4udmltLCBhbmQgcGlfemlwLnR4dCBhcmUgcHJvdmlkZWQgKmFzIGlzKgorCSAgIGFuZCBpdCBjb21lcyB3aXRoIG5vIHdhcnJhbnR5IG9mIGFueSBraW5kLCBlaXRoZXIgZXhwcmVzc2VkIG9yCisJICAgaW1wbGllZC4gQnkgdXNpbmcgdGhpcyBwbHVnaW4sIHlvdSBhZ3JlZSB0aGF0IGluIG5vIGV2ZW50IHdpbGwKKwkgICB0aGUgY29weXJpZ2h0IGhvbGRlciBiZSBsaWFibGUgZm9yIGFueSBkYW1hZ2VzIHJlc3VsdGluZyBmcm9tCisJICAgdGhlIHVzZSBvZiB0aGlzIHNvZnR3YXJlLgogCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIDEuIENvbnRlbnRzCQkJCQkqemlwKiAqemlwLWNvbnRlbnRzKgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2Mvc3BlbGwudHh0IGIvcnVudGltZS9kb2Mvc3BlbGwudHh0CmluZGV4IGRiMDIxMGYuLmY3NmFiNTEgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3NwZWxsLnR4dAorKysgYi9ydW50aW1lL2RvYy9zcGVsbC50eHQKQEAgLTEsNCArMSw0IEBACi0qc3BlbGwudHh0KglGb3IgVmltIHZlcnNpb24gNy4wYy4gIExhc3QgY2hhbmdlOiAyMDA2IE1hciAyNworKnNwZWxsLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMGMuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMDMKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwJICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtNTAwLDcgKzUwMCw3IEBACiAJCTpta3NwZWxsIH4vLnZpbS9zcGVsbC9lbiAvdG1wL2VuX1VTIC90bXAvZW5fQ0EgL3RtcC9lbl9BVQogPAkJCVRoaXMgY29tYmluZXMgdGhlIEVuZ2xpc2ggd29yZCBsaXN0cyBmb3IgVVMsIENBIGFuZCBBVQogCQkJaW50byBvbmUgZW4uc3BsIGZpbGUuCi0JCQlVcCB0byBlaWdodCByZWdpb25zIGNhbiBiZSBjb21iaW5lZC4gKkU3NTQqICo3NTUqCisJCQlVcCB0byBlaWdodCByZWdpb25zIGNhbiBiZSBjb21iaW5lZC4gKkU3NTQqICpFNzU1KgogCQkJVGhlIFJFUCBhbmQgU0FMIGl0ZW1zIG9mIHRoZSBmaXJzdCAuYWZmIGZpbGUgd2hlcmUKIAkJCXRoZXkgYXBwZWFyIGFyZSB1c2VkLiB8c3BlbGwtUkVQfCB8c3BlbGwtU0FMfAogCkBAIC0xMDU4LDM2ICsxMDU4LDggQEAKIC0gTWFraW5nIHRoZSB3b3JkIHdpdGggdGhlIGFmZml4IHJhcmUsIGJ5IHVzaW5nIHRoZSB8c3BlbGwtUkFSRXwgZmxhZy4KIC0gRXhjbHVkZSB0aGUgd29yZCB3aXRoIHRoZSBhZmZpeCBmcm9tIGNvbXBvdW5kaW5nLCBieSB1c2luZyB0aGUKICAgfHNwZWxsLUNPTVBPVU5ERk9SQklERkxBR3wgZmxhZy4KLQotLT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS0KLU9MRCBTVFVGRjogVGhpcyBuZWVkcyB0byBiZSByZXdyaXR0ZW4gdG8gdXNlIGFmZml4IGZsYWdzLgotCQkJCQkJCSpzcGVsbC1hZmZpeC1yYXJlKgotQW4gZXh0cmEgaXRlbSBmb3IgVmltIGlzIHRoZSAicmFyZSIgZmxhZy4gIEl0IG11c3QgY29tZSBhZnRlciB0aGUgb3RoZXIKLWZpZWxkcywgYmVmb3JlIGEgY29tbWVudC4gIFdoZW4gdXNlZCB0aGVuIGFsbCB3b3JkcyB0aGF0IHVzZSB0aGUgYWZmaXggd2lsbCBiZQotbWFya2VkIGFzIHJhcmUgd29yZHMuICBFeGFtcGxlczoKLQotCVBGWCBGIDAgbmVuZSAgLiAgIHJhcmUgfgotCVNGWCBGIDAgb2luICAgbiAgIHJhcmUgICAjIGhhcmRseSBldmVyIHVzZWQgfgotCi1Ib3dldmVyLCBpZiB0aGUgd29yZCBhbHNvIGFwcGVhcnMgYXMgYSBnb29kIHdvcmQgaW4gYW5vdGhlciB3YXkgKGUuZy4sIGluCi1hbm90aGVyIHJlZ2lvbikgaXQgd29uJ3QgYmUgbWFya2VkIGFzIHJhcmUuCi0KLQkJCQkJCQkqc3BlbGwtYWZmaXgtbm9jb21wKgotQW5vdGhlciBleHRyYSBpdGVtIGZvciBWaW0gaXMgdGhlICJub2NvbXAiIGZsYWcuICBJdCBtdXN0IGNvbWUgYWZ0ZXIgdGhlIG90aGVyCi1maWVsZHMsIGJlZm9yZSBhIGNvbW1lbnQuICBJdCBjYW4gYmUgZWl0aGVyIGJlZm9yZSBvciBhZnRlciAicmFyZSIuICBXaGVuCi1wcmVzZW50IHRoZW4gYWxsIHdvcmRzIHRoYXQgdXNlIHRoZSBhZmZpeCB3aWxsIG5vdCBiZSBwYXJ0IG9mIGEgY29tcG91bmQgd29yZC4KLUV4YW1wbGU6Ci0JYWZmaXggZmlsZToKLQkJQ09NUE9VTkRGTEFHIGMgfgotCQlTRlggYSBZIDIgfgotCQlTRlggYSAwIHMgICAuIH4KLQkJU0ZYIGEgMCBpemUgLiBub2NvbXAgfgotCWRpY3Rpb25hcnk6Ci0JCXdvcmQvYyB+Ci0JCXV0aWwvYWMgfgotCi1UaGlzIGFsbG93cyBmb3IgIndvcmR1dGlsIiBhbmQgIndvcmR1dGlscyIgYnV0IG5vdCAid29yZHV0aWxpemUiLgotLT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS0KKy0gQWxsb3cgdGhlIHdvcmQgd2l0aCB0aGUgYWZmaXggdG8gYmUgcGFydCBvZiBhIGNvbXBvdW5kIHdvcmQgb24gdGhlIHNpZGUgb2YKKyAgdGhlIGFmZml4IHdpdGggdGhlIHxzcGVsbC1DT01QT1VORFBFUk1JVEZMQUd8LgogCiAJCQkJCQkgICAgKnNwZWxsLVBGWFBPU1RQT05FKgogV2hlbiBhbiBhZmZpeCBmaWxlIGhhcyB2ZXJ5IG1hbnkgcHJlZml4ZXMgdGhhdCBhcHBseSB0byBtYW55IHdvcmRzIGl0J3Mgbm90CkBAIC0xMTQ2LDYgKzExMTgsMTEgQEAKIGEgdHlwaW5nIG1pc3Rha2UgYW55d2F5LiAgV2hlbiB0aGUgc2FtZSB3b3JkIGlzIGZvdW5kIGFzIGdvb2QgaXQgd29uJ3QgYmUKIGhpZ2hsaWdodGVkIGFzIHJhcmUuCiAKK1RoaXMgZmxhZyBjYW4gYWxzbyBiZSB1c2VkIG9uIGFuIGFmZml4LCBzbyB0aGF0IGEgYmFzaWMgd29yZCBpcyBub3QgcmFyZSBidXQKK3RoZSBiYXNpYyB3b3JkIHBsdXMgYWZmaXggaXMgcmFyZSB8c3BlbGwtYWZmaXgtZmxhZ3N8LiAgSG93ZXZlciwgaWYgdGhlIHdvcmQKK2Fsc28gYXBwZWFycyBhcyBhIGdvb2Qgd29yZCBpbiBhbm90aGVyIHdheSAoZS5nLiwgaW4gYW5vdGhlciByZWdpb24pIGl0IHdvbid0CitiZSBtYXJrZWQgYXMgcmFyZS4KKwogCiBCQUQgV09SRFMJCQkJCQkqc3BlbGwtQkFEKgogCkBAIC0xMjQzLDYgKzEyMjAsMTIgQEAKIAogVGhpcyBhbGxvd3MgZm9yIHRoZSB3b3JkICJzdGFydC1lbmQiLCBidXQgbm90ICJzdGFydGVuZCIuCiAKK0FuIGFkZGl0aW9uYWwgaW1wbGllZCBydWxlIGlzIHRoYXQsIHdpdGhvdXQgZnVydGhlciBmbGFncywgYSB3b3JkIHdpdGggYQorcHJlZml4IGNhbm5vdCBiZSBjb21wb3VuZGVkIGFmdGVyIGFub3RoZXIgd29yZCwgYW5kIGEgd29yZCB3aXRoIGEgc3VmZml4CitjYW5ub3QgYmUgY29tcG91bmRlZCB3aXRoIGEgZm9sbG93aW5nIHdvcmQuICBUaHVzIHRoZSBhZmZpeCBjYW5ub3QgYXBwZWFyCitvbiB0aGUgaW5zaWRlIG9mIGEgY29tcG91bmQgd29yZC4gIFRoaXMgY2FuIGJlIGNoYW5nZWQgd2l0aCB0aGUKK3xzcGVsbC1DT01QT1VORFBFUk1JVEZMQUd8LgorCiAJCQkJCQkJKnNwZWxsLU5FRURDT01QT1VORCoKIFRoZSBORUVEQ09NUE9VTkQgZmxhZyBpcyB1c2VkIHRvIHJlcXVpcmUgdGhhdCBhIHdvcmQgaXMgdXNlZCBhcyBwYXJ0IG9mIGEKIGNvbXBvdW5kIHdvcmQuICBUaGUgd29yZCBpdHNlbGYgaXMgbm90IGEgZ29vZCB3b3JkLiAgRXhhbXBsZToKQEAgLTEyODIsMTMgKzEyNjUsMjQgQEAKIAogCQkJCQkJICAgICpzcGVsbC1DT01QT1VOREZPUkJJREZMQUcqCiBUaGUgQ09NUE9VTkRGT1JCSURGTEFHIHNwZWNpZmllcyBhIGZsYWcgdGhhdCBjYW4gYmUgdXNlZCBvbiBhbiBhZmZpeC4gIEl0Ci1tZWFucyB0aGF0IHRoZSB3b3JkIHBsdXMgYWZmaXggY2Fubm90IGJlIHVzZWQgaW4gYSBjb21wb3VuZCB3b3JkLgorbWVhbnMgdGhhdCB0aGUgd29yZCBwbHVzIGFmZml4IGNhbm5vdCBiZSB1c2VkIGluIGEgY29tcG91bmQgd29yZC4gIEV4YW1wbGU6CisJYWZmaXggZmlsZToKKwkJQ09NUE9VTkRGTEFHIGMgfgorCQlDT01QT1VOREZPUkJJREZMQUcgeCB+CisJCVNGWCBhIFkgMiB+CisJCVNGWCBhIDAgcyAgIC4gfgorCQlTRlggYSAwIGl6ZS94IC4gfgorCWRpY3Rpb25hcnk6CisJCXdvcmQvYyB+CisJCXV0aWwvYWMgfgorCitUaGlzIGFsbG93cyBmb3IgIndvcmR1dGlsIiBhbmQgIndvcmR1dGlscyIgYnV0IG5vdCAid29yZHV0aWxpemUiLgogCiAJCQkJCQkgICAgKnNwZWxsLUNPTVBPVU5EUEVSTUlURkxBRyoKIFRoZSBDT01QT1VORFBFUk1JVEZMQUcgc3BlY2lmaWVzIGEgZmxhZyB0aGF0IGNhbiBiZSB1c2VkIG9uIGFuIGFmZml4LiAgSXQKIG1lYW5zIHRoYXQgdGhlIHdvcmQgcGx1cyBhZmZpeCBjYW4gYWxzbyBiZSB1c2VkIGluIGEgY29tcG91bmQgd29yZCBpbiBhIHdheQotd2hlcmUgdGhlIGFmZml4IGVuZHMgdXAgaGFsZndheSB0aGUgd29yZC4KLU5PVCBJTVBMRU1FTlRFRCBZRVQuCit3aGVyZSB0aGUgYWZmaXggZW5kcyB1cCBoYWxmd2F5IHRoZSB3b3JkLiAgV2l0aG91dCB0aGlzIGZsYWcgdGhhdCBpcyBub3QKK2FsbG93ZWQuCiAKIAkJCQkJCSAgICAqc3BlbGwtQ09NUE9VTkRST09UKgogVGhlIENPTVBPVU5EUk9PVCBmbGFnIGlzIHVzZWQgZm9yIHdvcmRzIGluIHRoZSBkaWN0aW9uYXJ5IHRoYXQgYXJlIGFscmVhZHkgYQpAQCAtMTMwOSw5ICsxMzAzLDkgQEAKIAogT25seSBjYXNlLWZvbGRlZCBsZXR0ZXJzIG5lZWQgdG8gYmUgaW5jbHVkZWQuCiAKLUFib3ZlIGFub3RoZXIgd2F5IHRvIHJlc3RyaWN0IGNvbXBvdW5kaW5nIHdhcyBtZW50aW9uZWQgYWJvdmU6IGFkZGluZyAibm9jb21wIgotYWZ0ZXIgYW4gYWZmaXggY2F1c2VzIGFsbCB3b3JkcyB0aGF0IGFyZSBtYWRlIHdpdGggdGhhdCBhZmZpeCBub3QgYmUgYmUgdXNlZAotZm9yIGNvbXBvdW5kaW5nLiB8c3BlbGwtYWZmaXgtbm9jb21wfAorQWJvdmUgYW5vdGhlciB3YXkgdG8gcmVzdHJpY3QgY29tcG91bmRpbmcgd2FzIG1lbnRpb25lZCBhYm92ZTogQWRkaW5nIHRoZQorfHNwZWxsLUNPTVBPVU5ERk9SQklERkxBR3wgZmxhZyB0byBhbiBhZmZpeCBjYXVzZXMgYWxsIHdvcmRzIHRoYXQgYXJlIG1hZGUKK3dpdGggdGhhdCBhZmZpeCBub3QgYmUgYmUgdXNlZCBmb3IgY29tcG91bmRpbmcuCiAKIAogVU5MSU1JVEVEIENPTVBPVU5ESU5HCQkJCQkqc3BlbGwtTk9CUkVBSyoKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3NxbC50eHQgYi9ydW50aW1lL2RvYy9zcWwudHh0CmluZGV4IDVkMDdhNWMuLjI5YTBiY2UgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3NxbC50eHQKKysrIGIvcnVudGltZS9kb2Mvc3FsLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpzcWwudHh0KiAgIAlGb3IgVmltIHZlcnNpb24gNy4wYy4gIExhc3QgY2hhbmdlOiBUdWUgTWFyIDI4IDIwMDYgOTozMzoxNCBQTQorKnNxbC50eHQqICAgCUZvciBWaW0gdmVyc2lvbiA3LjBjLiAgTGFzdCBjaGFuZ2U6IE1vbiBBcHIgMDMgMjAwNiAxMDozNDowMCBQTQogCiBieSBEYXZpZCBGaXNoYnVybgogCkBAIC0yNiw3ICsyNiw4IEBACiAgICAgICAgIDQuMy4zIENvbXBsZXRlIFByb2NlZHVyZXMJCXxzcWwtY29tcGxldGlvbi1wcm9jZWR1cmVzfAogICAgICAgICA0LjMuNCBDb21wbGV0ZSBWaWV3cwkJCXxzcWwtY29tcGxldGlvbi12aWV3c3wKICAgICA0LjQgQ29tcGxldGlvbiBDdXN0b21pemF0aW9uCQl8c3FsLWNvbXBsZXRpb24tY3VzdG9taXphdGlvbnwKLSAgICA0LjUgQ3VzdG9taXppbmcgTWFwcwkJCXxzcWwtY29tcGxldGlvbi1tYXBzfAorICAgIDQuNSBTUUwgTWFwcwkgICAgICAgIAkJfHNxbC1jb21wbGV0aW9uLW1hcHN8CisgICAgNC42IFVzaW5nIHdpdGggb3RoZXIgZmlsZXR5cGVzCQl8c3FsLWNvbXBsZXRpb24tZmlsZXR5cGVzfAogCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIDEuIE5hdmlnYXRpb24JICAgICAgICAJCQkqc3FsLW5hdmlnYXRpb24qCkBAIC0zMjEsNDEgKzMyMiw0OCBAQAogLS0tLS0tLS0tLS0tLS0tCiBUaGUgc3RhdGljIHBvcHVwcyBjcmVhdGVkIGNvbnRhaW4gaXRlbXMgZGVmaW5lZCBieSB0aGUgYWN0aXZlIHN5bnRheCBydWxlcwogd2hpbGUgZWRpdGluZyBhIGZpbGUgd2l0aCBhIGZpbGV0eXBlIG9mIFNRTC4gIFRoZSBwbHVnaW4gZGVmaW5lcyAoYnkgZGVmYXVsdCkKLXZhcmlvdXMgbWFwcyB0byBoZWxwIHRoZSB1c2VyIHJlZmluZSB3aGljaCBsaXN0IG9mIGl0ZW1zIHRoZXkgd2lzaCBkaXNwbGF5ZWQuCit2YXJpb3VzIG1hcHMgdG8gaGVscCB0aGUgdXNlciByZWZpbmUgdGhlIGxpc3Qgb2YgaXRlbXMgdG8gYmUgZGlzcGxheWVkLgogVGhlIGRlZmF1bHRzIHN0YXRpYyBtYXBzIGFyZTogPgotICAgICAgICBpbWFwIDxidWZmZXI+IDxDLUM+YSA8Qy1cPjxDLU8+OmxldCBiOnNxbF9jb21wbF90eXBlPSdzeW50YXgnPENSPjxDLVg+PEMtTz4KLSAgICAgICAgaW1hcCA8YnVmZmVyPiA8Qy1DPnMgPEMtXD48Qy1PPjpsZXQgYjpzcWxfY29tcGxfdHlwZT0nc3FsU3RhdGVtZW50JzxDUj48Qy1YPjxDLU8+Ci0gICAgICAgIGltYXAgPGJ1ZmZlcj4gPEMtQz5mIDxDLVw+PEMtTz46bGV0IGI6c3FsX2NvbXBsX3R5cGU9J3NxbEZ1bmN0aW9uJzxDUj48Qy1YPjxDLU8+Ci0gICAgICAgIGltYXAgPGJ1ZmZlcj4gPEMtQz5rIDxDLVw+PEMtTz46bGV0IGI6c3FsX2NvbXBsX3R5cGU9J3NxbEtleXdvcmQnPENSPjxDLVg+PEMtTz4KLSAgICAgICAgaW1hcCA8YnVmZmVyPiA8Qy1DPm8gPEMtXD48Qy1PPjpsZXQgYjpzcWxfY29tcGxfdHlwZT0nc3FsT3B0aW9uJzxDUj48Qy1YPjxDLU8+Ci0gICAgICAgIGltYXAgPGJ1ZmZlcj4gPEMtQz5UIDxDLVw+PEMtTz46bGV0IGI6c3FsX2NvbXBsX3R5cGU9J3NxbFR5cGUnPENSPjxDLVg+PEMtTz4KKyAgICBpbWFwIDxidWZmZXI+IDxDLUM+YSA8Qy1cPjxDLU8+OmNhbGwgc3FsY29tcGxldGUjTWFwKCdzeW50YXgnKTxDUj48Qy1YPjxDLU8+CisgICAgaW1hcCA8YnVmZmVyPiA8Qy1DPmsgPEMtXD48Qy1PPjpjYWxsIHNxbGNvbXBsZXRlI01hcCgnc3FsS2V5d29yZCcpPENSPjxDLVg+PEMtTz4KKyAgICBpbWFwIDxidWZmZXI+IDxDLUM+ZiA8Qy1cPjxDLU8+OmNhbGwgc3FsY29tcGxldGUjTWFwKCdzcWxGdW5jdGlvbicpPENSPjxDLVg+PEMtTz4KKyAgICBpbWFwIDxidWZmZXI+IDxDLUM+byA8Qy1cPjxDLU8+OmNhbGwgc3FsY29tcGxldGUjTWFwKCdzcWxPcHRpb24nKTxDUj48Qy1YPjxDLU8+CisgICAgaW1hcCA8YnVmZmVyPiA8Qy1DPlQgPEMtXD48Qy1PPjpjYWxsIHNxbGNvbXBsZXRlI01hcCgnc3FsVHlwZScpPENSPjxDLVg+PEMtTz4KKyAgICBpbWFwIDxidWZmZXI+IDxDLUM+cyA8Qy1cPjxDLU8+OmNhbGwgc3FsY29tcGxldGUjTWFwKCdzcWxTdGF0ZW1lbnQnKTxDUj48Qy1YPjxDLU8+CiA8IAogVGhlIHN0YXRpYyBtYXBzICh3aGljaCBhcmUgYmFzZWQgb24gdGhlIHN5bnRheCBoaWdobGlnaHQgZ3JvdXBzKSBmb2xsb3cgdGhpcwogZm9ybWF0OiA+Ci0gICAgaW1hcCA8YnVmZmVyPiA8Qy1DPmsgPEMtXD48Qy1PPjpsZXQgYjpzcWxfY29tcGxfdHlwZT0nc3FsS2V5d29yZCc8Q1I+PEMtWD48Qy1PPgorICAgIGltYXAgPGJ1ZmZlcj4gPEMtQz5rIDxDLVw+PEMtTz46Y2FsbCBzcWxjb21wbGV0ZSNNYXAoJ3NxbEtleXdvcmQnKTxDUj48Qy1YPjxDLU8+CiA8CiBUaGlzIGNvbW1hbmQgYnJlYWtzIGRvd24gYXM6ID4KICAgICBpbWFwICAgICAgICAgICAgICAgICAgIC0gQ3JlYXRlIGFuIGluc2VydCBtYXAKICAgICA8YnVmZmVyPiAgICAgICAgICAgICAgIC0gT25seSBmb3IgdGhpcyBidWZmZXIKLSAgICA8Qy1DPmsgICAgICAgICAgICAgLSBZb3VyIGNob2ljZSBvZiBrZXkgbWFwCisgICAgPEMtQz5rICAgICAgICAgICAgICAgICAtIFlvdXIgY2hvaWNlIG9mIGtleSBtYXAKICAgICA8Qy1cPjxDLU8+ICAgICAgICAgICAgIC0gRXhlY3V0ZSBvbmUgY29tbWFuZCwgcmV0dXJuIHRvIEluc2VydCBtb2RlCi0gICAgOmxldCBiOnNxbF9jb21wbF90eXBlPSAtIENob29zZSB0aGUgaGlnaGxpZ2h0IGdyb3VwJ3MgZW50cmllcyB0byBkaXNwbGF5LgorICAgIDpjYWxsIHNxbGNvbXBsZXRlI01hcCggLSBBbGxvd3MgdGhlIFNRTCBjb21wbGV0aW9uIHBsdWdpbiB0byBwZXJmb3JtIHNvbWUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaG91c2VrZWVwaW5nIGZ1bmN0aW9ucyB0byBhbGxvdyBpdCB0byBiZSB1c2VkIGluCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmp1bmN0aW9uIHdpdGggb3RoZXIgY29tcGxldGlvbiBwbHVnaW5zLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbmRpY2F0ZSB3aGljaCBpdGVtIHlvdSB3YW50IHRoZSBTUUwgY29tcGxldGlvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbHVnaW4gdG8gY29tcGxldGUuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEluIHRoaXMgY2FzZSB3ZSBhcmUgYXNraW5nIHRoZSBwbHVnaW4gdG8gZGlzcGxheQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtcyBmcm9tIHRoZSBzeW50YXggaGlnaGxpZ2h0IGdyb3VwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzcWxLZXl3b3JkJy4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWW91IGNhbiB2aWV3IGEgbGlzdCBvZiBoaWdobGlnaHQgZ3JvdXAgbmFtZXMgdG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hvb3NlIGZyb20gYnkgZXhlY3V0aW5nIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOnN5bnRheCBsaXN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmQgd2hpbGUgZWRpdGluZyBhIFNRTCBmaWxlLgogICAgICdzcWxLZXl3b3JkJyAgICAgICAgICAgLSBEaXNwbGF5IHRoZSBpdGVtcyBmb3IgdGhlIHNxbEtleXdvcmQgaGlnaGxpZ2h0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyb3VwCi0gICAgPENSPiAgICAgICAgICAgICAgICAgICAtIEV4ZWN1dGUgdGhlIDpsZXQgY29tbWFuZAorICAgICk8Q1I+ICAgICAgICAgICAgICAgICAgLSBFeGVjdXRlIHRoZSA6bGV0IGNvbW1hbmQKICAgICA8Qy1YPjxDLU8+ICAgICAgICAgICAgIC0gVHJpZ2dlciB0aGUgc3RhbmRhcmQgb21uaSBjb21wbGV0aW9uIGtleSBzdHJva2UuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJ5IHNldHRpbmcgdGhlIGI6c3FsX2NvbXBsX3R5cGUgdmFyaWFibGUsIHRoaXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5zdHJ1Y3RzIHRoZSBTUUwgY29tcGxldGlvbiBwbHVnaW4gdG8gcG9wdWxhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIHBvcHVwIHdpdGggaXRlbXMgZnJvbSB0aGUgc3FsS2V5d29yZCBoaWdobGlnaHQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JvdXAuICBUaGUgcGx1Z2luIHdpbGwgYWxzbyBjYWNoZSB0aGlzIHJlc3VsdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnRpbCBWaW0gaXMgcmVzdGFydGVkLiAgVGhlIHN5bnRheCBsaXN0IGlzIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXRyaWV2ZWQgdXNpbmcgdGhlIHN5bnRheGNvbXBsZXRlIHBsdWdpbi4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFzc2luZyBpbiAnc3FsS2V5d29yZCcgaW5zdHJ1Y3RzIHRoZSBTUUwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcGxldGlvbiBwbHVnaW4gdG8gcG9wdWxhdGUgdGhlIHBvcHVwIHdpdGgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXMgZnJvbSB0aGUgc3FsS2V5d29yZCBoaWdobGlnaHQgZ3JvdXAuICBUaGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGx1Z2luIHdpbGwgYWxzbyBjYWNoZSB0aGlzIHJlc3VsdCB1bnRpbCBWaW0gaXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdGFydGVkLiAgVGhlIHN5bnRheCBsaXN0IGlzIHJldHJpZXZlZCB1c2luZworICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgc3ludGF4Y29tcGxldGUgcGx1Z2luLgogPAotU2V0dGluZyBiOnNxbF9jb21wbF90eXBlID0gJ3N5bnRheCcgaXMgYSBzcGVjaWFsIGNhc2UuICBUaGlzIGluc3RydWN0cyB0aGUKK1VzaW5nIHRoZSAnc3ludGF4JyBrZXl3b3JkIGlzIGEgc3BlY2lhbCBjYXNlLiAgVGhpcyBpbnN0cnVjdHMgdGhlCiBzeW50YXhjb21wbGV0ZSBwbHVnaW4gdG8gcmV0cmlldmUgYWxsIHN5bnRheCBpdGVtcy4gIFNvIHRoaXMgd2lsbCBlZmZlY3RpdmVseQogd29yayBmb3IgYW55IG9mIFZpbSdzIFNRTCBzeW50YXggZmlsZXMuICBBdCB0aGUgdGltZSBvZiB3cml0aW5nIHRoaXMgaW5jbHVkZXMKIDEwIGRpZmZlcmVudCBzeW50YXggZmlsZXMgZm9yIHRoZSBkaWZmZXJlbnQgZGlhbGVjdHMgb2YgU1FMIChzZWUgc2VjdGlvbiAzCkBAIC0zODMsNyArMzkxLDcgQEAKIHBsdWdpbiBpbnN0YWxsZWQsIChodHRwOi8vdmltLnNvdXJjZWZvcmdlLm5ldC9zY3JpcHQucGhwP3NjcmlwdF9pZD0zNTYpLgogCiBEeW5hbWljIG1vZGUgaXMgdXNlZCBieSBzZXZlcmFsIGZlYXR1cmVzIG9mIHRoZSBTUUwgY29tcGxldGlvbiBwbHVnaW4uICAKLUFmdGVyIGluc3RhbGxpbmcgdGhlIGRiZXh0IHBsdWdpbiBzZWUgdGhlIHxkYmV4dC10dXRvcmlhbHwgZm9yIGFkZGl0aW9uYWwKK0FmdGVyIGluc3RhbGxpbmcgdGhlIGRiZXh0IHBsdWdpbiBzZWUgdGhlIGRiZXh0LXR1dG9yaWFsIGZvciBhZGRpdGlvbmFsCiBjb25maWd1cmF0aW9uIGFuZCB1c2FnZS4gIFRoZSBkYmV4dCBwbHVnaW4gYWxsb3dzIHRoZSBTUUwgY29tcGxldGlvbiBwbHVnaW4KIHRvIGRpc3BsYXkgYSBsaXN0IG9mIHRhYmxlcywgcHJvY2VkdXJlcywgdmlld3MgYW5kIGNvbHVtbnMuID4KICAgICAgVGFibGUgTGlzdApAQCAtNDAzLDkgKzQxMSw3IEBACiAgICAgIFN0b3JlZCBQcm9jZWR1cmUgTGlzdCAgLSA8Qy1DPnAKICAgICAgVmlldyBMaXN0ICAgICAgICAgICAgICAtIDxDLUM+dgogICAgICBDb2x1bW4gTGlzdCAgICAgICAgICAgIC0gPEMtQz5jCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgLSAuPEMtWD48Qy1PPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gSWYgPEMtWD48Qy1PPiBpcyBwcmVzc2VkIGZvbGxvd2luZyBhIHBlcmlvZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXQgaXMgYXNzdW1lZCB5b3UgYXJlIGFza2luZyBmb3IgYSBjb2x1bW4gbGlzdC4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIFdpbmRvd3MgcGxhdGZvcm0gb25seQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gV2hlbiB2aWV3aW5nIGEgcG9wdXAgd2luZG93IGRpc3BsYXlpbmcgdGhlIGxpc3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mIHRhYmxlcywgeW91IGNhbiBwcmVzcyA8Qy1SaWdodD4sIHRoaXMgd2lsbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVwbGFjZSB0aGUgdGFibGUgY3VycmVudGx5IGhpZ2hsaWdodGVkIHdpdGgKQEAgLTQxOCw3ICs0MjQsNyBAQAogdGhlIHBvcHVwIHdpbmRvdy4gIFRoaXMgbWFrZXMgdGhlIHJlLWRpc3BsYXlpbmcgb2YgdGhlc2UgbGlzdHMgdmVyeQogZmFzdC4gIElmIG5ldyB0YWJsZXMgb3IgY29sdW1ucyBhcmUgYWRkZWQgdG8gdGhlIGRhdGFiYXNlIGl0IG1heSBiZWNvbWUgCiBuZWNlc3NhcnkgdG8gY2xlYXIgdGhlIHBsdWdpbnMgY2FjaGUuICBUaGUgZGVmYXVsdCBtYXAgZm9yIHRoaXMgaXM6ID4KLSAgICAgICAgaW1hcCA8YnVmZmVyPiA8Qy1DPlIgPEMtTz46bGV0IGI6c3FsX2NvbXBsX3R5cGU9J1Jlc2V0Q2FjaGUnPENSPjxDLVg+PEMtTz4KKyAgICBpbWFwIDxidWZmZXI+IDxDLUM+UiA8Qy1cPjxDLU8+OmNhbGwgc3FsY29tcGxldGUjTWFwKCdSZXNldENhY2hlJyk8Q1I+PEMtWD48Qy1PPgogPAogIAogNC4zIFNRTCBUdXRvcmlhbAkJCQkqc3FsLWNvbXBsZXRpb24tdHV0b3JpYWwqCkBAIC00NzIsNyArNDc4LDcgQEAKIGRiZXh0LnZpbSBpcyB3b3JraW5nIGFzIGV4cGVjdGVkLiAgSWYgbm90LCBwbGVhc2UgY29uc3VsdCB0aGUgZGJleHQudHh0IAogZG9jdW1lbnRhdGlvbi4KIAotQXNzdW1pbmcgeW91IGhhdmUgZm9sbG93ZWQgdGhlIHxkYmV4dC10dXRvcmlhbHwgeW91IGNhbiBwcmVzcyA8Qy1DPnQgdG8KK0Fzc3VtaW5nIHlvdSBoYXZlIGZvbGxvd2VkIHRoZSBkYmV4dC10dXRvcmlhbCB5b3UgY2FuIHByZXNzIDxDLUM+dCB0bwogZGlzcGxheSBhIGxpc3Qgb2YgdGFibGVzLiAgVGhlcmUgaXMgYSBkZWxheSB3aGlsZSBkYmV4dCBpcyBjcmVhdGluZyB0aGUgdGFibGUKIGxpc3QuICBBZnRlciB0aGUgbGlzdCBpcyBkaXNwbGF5ZWQgcHJlc3MgPEMtVz4uICBUaGlzIHdpbGwgcmVtb3ZlIGJvdGggdGhlIAogcG9wdXAgd2luZG93IGFuZCB0aGUgdGFibGUgbmFtZSBhbHJlYWR5IGNob3NlbiB3aGVuIHRoZSBsaXN0IGJlY2FtZSBhY3RpdmUuID4KQEAgLTQ5Niw3ICs1MDIsNyBAQAogdG9nZXRoZXIuICBJZiB5b3Ugd2lzaCB0byBlbmFibGUgdGhpcyBmdW5jdGlvbmFsaXR5IG9uIGEgKm5peCBwbGF0Zm9ybSBjaG9vc2UKIGEga2V5IGFuZCBjcmVhdGUgdGhpcyBtYXBwaW5nIChzZWUgfHNxbC1jb21wbGV0aW9uLW1hcHN8IGZvciBmdXJ0aGVyIAogZGV0YWlscyBvbiB3aGVyZSB0byBjcmVhdGUgdGhpcyBpbWFwKTogPgotICAgIGltYXAgPGJ1ZmZlcj4gPHlvdXJfa2V5c3Ryb2tlPiAgPENSPjxDLVw+PEMtTz46bGV0IGI6c3FsX2NvbXBsX3R5cGU9J2NvbHVtbic8Q1I+PEMtWD48Qy1PPgorICAgIGltYXAgPGJ1ZmZlcj4gPHlvdXJfa2V5c3Ryb2tlPiA8Q1I+PEMtXD48Qy1PPjpjYWxsIHNxbGNvbXBsZXRlI01hcCgnY29sdW1uJyk8Q1I+PEMtWD48Qy1PPgogPAogRXhhbXBsZSBvZiB1c2luZyBjb2x1bW4gY29tcGxldGlvbjoKICAgICAgLSBQcmVzcyA8Qy1DPnQgYWdhaW4gdG8gZGlzcGxheSB0aGUgbGlzdCBvZiB0YWJsZXMuICAKQEAgLTYxMSw5ICs2MTcsNjUgQEAKICAgICAgICAgICAgICAgICAgICBNWVRBQkxFTkFNRSAtLT4gTQogPAogIAotNC41IEN1c3RvbWl6aW5nIE1hcHMJCQkJKnNxbC1jb21wbGV0aW9uLW1hcHMqCi0tLS0tLS0tLS0tLS0tLS0tLS0tLQorNC41IFNRTCBNYXBzCSAgICAgICAgCQkJKnNxbC1jb21wbGV0aW9uLW1hcHMqCistLS0tLS0tLS0tLS0KIAorVGhlIGRlZmF1bHQgU1FMIG1hcHMgaGF2ZSBiZWVuIGRlc2NyaWJlZCBpbiBvdGhlciBzZWN0aW9ucyBvZiB0aGlzIGRvY3VtZW50IGluCitncmVhdGVyIGRldGFpbC4gIEhlcmUgaXMgYSBsaXN0IG9mIHRoZSBtYXBzIHdpdGggYSBicmllZiBkZXNjcmlwdGlvbiBvZiBlYWNoLgorCitTdGF0aWMgTWFwcworLS0tLS0tLS0tLS0KK1RoZXNlIGFyZSBtYXBzIHdoaWNoIHVzZSBwb3B1bGF0ZSB0aGUgY29tcGxldGlvbiBsaXN0IHVzaW5nIFZpbSdzIHN5bnRheAoraGlnaGxpZ2h0aW5nIHJ1bGVzLiA+CisgICAgPEMtQz5hCis8ICAgICAgIC0gRGlzcGxheXMgYWxsIFNRTCBzeW50YXggaXRlbXMuID4KKyAgICA8Qy1DPmsgCis8ICAgICAgIC0gRGlzcGxheXMgYWxsIFNRTCBzeW50YXggaXRlbXMgZGVmaW5lZCBhcyAnc3FsS2V5d29yZCcuID4KKyAgICA8Qy1DPmYgCis8ICAgICAgIC0gRGlzcGxheXMgYWxsIFNRTCBzeW50YXggaXRlbXMgZGVmaW5lZCBhcyAnc3FsRnVuY3Rpb24uID4KKyAgICA8Qy1DPm8KKzwgICAgICAgLSBEaXNwbGF5cyBhbGwgU1FMIHN5bnRheCBpdGVtcyBkZWZpbmVkIGFzICdzcWxPcHRpb24nLiA+CisgICAgPEMtQz5UCis8ICAgICAgIC0gRGlzcGxheXMgYWxsIFNRTCBzeW50YXggaXRlbXMgZGVmaW5lZCBhcyAnc3FsVHlwZScuID4KKyAgICA8Qy1DPnMKKzwgICAgICAgLSBEaXNwbGF5cyBhbGwgU1FMIHN5bnRheCBpdGVtcyBkZWZpbmVkIGFzICdzcWxTdGF0ZW1lbnQnLiA+CisKK0R5bmFtaWMgTWFwcworLS0tLS0tLS0tLS0tCitUaGVzZSBhcmUgbWFwcyB3aGljaCB1c2UgcG9wdWxhdGUgdGhlIGNvbXBsZXRpb24gbGlzdCB1c2luZyB0aGUgZGJleHQudmltIHBsdWdpbi4gPgorICAgIDxDLUM+dCAgCis8ICAgICAgIC0gRGlzcGxheXMgYSBsaXN0IG9mIHRhYmxlcy4gPgorICAgIDxDLUM+cAorPCAgICAgICAtIERpc3BsYXlzIGEgbGlzdCBvZiBwcm9jZWR1cmVzLiA+CisgICAgPEMtQz52Cis8ICAgICAgIC0gRGlzcGxheXMgYSBsaXN0IG9mIHZpZXdzLiA+CisgICAgPEMtQz5jCis8ICAgICAgIC0gRGlzcGxheXMgYSBsaXN0IG9mIGNvbHVtbnMgZm9yIGEgc3BlY2lmaWMgdGFibGUuID4KKyAgICA8Qy1DPmwKKzwgICAgICAgLSBEaXNwbGF5cyBhIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIGNvbHVtbnMgZm9yIGEgc3BlY2lmaWMgdGFibGUuID4KKyAgICA8Qy1DPkwKKzwgICAgICAgLSBEaXNwbGF5cyBhIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIGNvbHVtbnMgZm9yIGEgc3BlY2lmaWMgdGFibGUuCisgICAgICAgICAgVGhpcyBzaG91bGQgb25seSBiZSB1c2VkIHdoZW4gdGhlIGNvbXBsZXRpb24gd2luZG93IGlzIGFjdGl2ZS4gPgorICAgIDxDLVJpZ2h0PgorPCAgICAgICAtIERpc3BsYXlzIGEgbGlzdCBvZiBjb2x1bW5zIGZvciB0aGUgdGFibGUgY3VycmVudGx5IGhpZ2hsaWdodGVkIGluCisgICAgICAgICAgdGhlIGNvbXBsZXRpb24gd2luZG93LiAgPEMtUmlnaHQ+IGlzIG5vdCByZWNvZ25pemVkIG9uIG1vc3QgVW5peAorICAgICAgICAgIHN5c3RlbXMsIHNvIHRoaXMgbWFwcyBpcyBvbmx5IGNyZWF0ZWQgb24gdGhlIFdpbmRvd3MgcGxhdGZvcm0uCisgICAgICAgICAgSWYgeW91IHdvdWxkIGxpa2UgdGhlIHNhbWUgZmVhdHVyZSBvbiBVbml4LCBjaG9vc2UgYSBkaWZmZXJlbnQga2V5CisgICAgICAgICAgYW5kIG1ha2UgdGhlIHNhbWUgbWFwIGluIHlvdXIgdmltcmMuCisgICAgICAgICAgVGhpcyBzaG91bGQgb25seSBiZSB1c2VkIHdoZW4gdGhlIGNvbXBsZXRpb24gd2luZG93IGlzIGFjdGl2ZS4gPgorICAgIDxDLUxlZnQ+Cis8ICAgICAgIC0gRGlzcGxheXMgdGhlIGxpc3Qgb2YgdGFibGVzLgorICAgICAgICAgIDxDLUxlZnQ+IGlzIG5vdCByZWNvZ25pemVkIG9uIG1vc3QgVW5peCBzeXN0ZW1zLCBzbyB0aGlzIG1hcHMgaXMKKyAgICAgICAgICBvbmx5IGNyZWF0ZWQgb24gdGhlIFdpbmRvd3MgcGxhdGZvcm0uICBJZiB5b3Ugd291bGQgbGlrZSB0aGUgc2FtZQorICAgICAgICAgIGZlYXR1cmUgb24gVW5peCwgY2hvb3NlIGEgZGlmZmVyZW50IGtleSBhbmQgbWFrZSB0aGUgc2FtZSBtYXAgaW4KKyAgICAgICAgICB5b3VyIHZpbXJjLgorICAgICAgICAgIFRoaXMgc2hvdWxkIG9ubHkgYmUgdXNlZCB3aGVuIHRoZSBjb21wbGV0aW9uIHdpbmRvdyBpcyBhY3RpdmUuID4KKyAgICA8Qy1DPlIKKzwgICAgICAgLSBUaGlzIG1hcHMgcmVtb3ZlcyBhbGwgY2FjaGVkIGl0ZW1zIGFuZCBmb3JjZXMgdGhlIFNRTCBjb21wbGV0aW9uIAorICAgICAgICAgIHRvIHJlZ2VuZXJhdGUgdGhlIGxpc3Qgb2YgaXRlbXMuCisKK0N1c3RvbWl6aW5nIE1hcHMKKy0tLS0tLS0tLS0tLS0tLS0KIFlvdSBjYW4gY3JlYXRlIGFzIG1hbnkgYWRkaXRpb25hbCBrZXkgbWFwcyBhcyB5b3UgbGlrZS4gIEdlbmVyYWxseSwgdGhlIG1hcHMKIHdpbGwgYmUgc3BlY2lmeWluZyBkaWZmZXJlbnQgc3ludGF4IGhpZ2hsaWdodCBncm91cHMuICAKIApAQCAtNjI0LDcgKzY4Niw3IEBACiA8IAogRG8gbm8gZWRpdCBmdHBsdWdpbi9zcWwudmltIGRpcmVjdGx5ISAgSWYgeW91IGNoYW5nZSB0aGlzIGZpbGUgeW91ciBjaGFuZ2VzCiB3aWxsIGJlIG92ZXIgd3JpdHRlbiBvbiBmdXR1cmUgdXBkYXRlcy4gIFZpbSBoYXMgYSBzcGVjaWFsIGRpcmVjdG9yeSBzdHJ1Y3R1cmUKLXRoYXQgYWxsb3dzIHlvdSB0byBtYWtlIGN1c3RvbWl6YXRpb25zIHdpdGhvdXQgY2hhbmdpbmcgdGhlIGZpbGVzIHRoYXQgYXJlCit3aGljaCBhbGxvd3MgeW91IHRvIG1ha2UgY3VzdG9taXphdGlvbnMgd2l0aG91dCBjaGFuZ2luZyB0aGUgZmlsZXMgdGhhdCBhcmUKIGluY2x1ZGVkIHdpdGggdGhlIFZpbSBkaXN0cmlidXRpb24uICBJZiB5b3Ugd2lzaCB0byBjdXN0b21pemUgdGhlIG1hcHMKIGNyZWF0ZSBhbiBhZnRlci9mdHBsdWdpbi9zcWwudmltIChzZWUgfGFmdGVyLWRpcmVjdG9yeXwpIGFuZCBwbGFjZSB0aGUgc2FtZQogbWFwcyBmcm9tIHRoZSBmdHBsdWdpbi9zcWwudmltIGluIGl0IHVzaW5nIHlvdXIgb3duIGtleSBzdHJva2VzLiAgPEMtQz4gd2FzCkBAIC02MzIsNCArNjk0LDQ0IEBACiBwbGF0Zm9ybSB5b3UgY2FuIGFsc28gdXNlIDxDLVNwYWNlPiBvciBBTFQga2V5cy4KICAKIAorNC42IFVzaW5nIHdpdGggb3RoZXIgZmlsZXR5cGVzCQkgICAgICAgICpzcWwtY29tcGxldGlvbi1maWxldHlwZXMqCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworTWFueSB0aW1lcyBTUUwgY2FuIGJlIHVzZWQgd2l0aCBkaWZmZXJlbnQgZmlsZXR5cGVzLiAgRm9yIGV4YW1wbGUgUGVybCwgSmF2YSwKK1BIUCwgSmF2YXNjcmlwdCBjYW4gYWxsIGludGVyYWN0IHdpdGggYSBkYXRhYmFzZS4gIE9mdGVuIHlvdSBuZWVkIGJvdGggdGhlIFNRTAorY29tcGxldGlvbiBhcyB3ZWxsIGFzIHRoZSBjb21wbGV0aW9uIGNhcGFiaWxpdGllcyBmb3IgdGhlIGN1cnJlbnQgbGFuZ3VhZ2UgeW91CithcmUgZWRpdGluZy4KKworVGhpcyBjYW4gYmUgZW5hYmxlZCBlYXNpbHkgd2l0aCB0aGUgZm9sbG93aW5nIHN0ZXBzIChhc3N1bWluZyBhIFBlcmwgZmlsZSk6ID4KKyAgICAxLiAgOmUgdGVzdC5wbAorICAgIDIuICA6c2V0IGZpbGV0eXBlPXNxbAorICAgIDMuICA6c2V0IGZ0PXBlcmwKKworU3RlcCAxCistLS0tLS0KK0JlZ2lucyBieSBlZGl0aW5nIGEgUGVybCBmaWxlLiAgVmltIGF1dG9tYXRpY2FsbHkgc2V0cyB0aGUgZmlsZXR5cGUgdG8KKyJwZXJsIi4gIEJ5IGRlZmF1bHQsIFZpbSBydW5zIHRoZSBhcHByb3ByaWF0ZSBmaWxldHlwZSBmaWxlCitmdHBsdWdpbi9wZXJsLnZpbS4gIElmIHlvdSBhcmUgdXNpbmcgdGhlIHN5bnRheCBjb21wbGV0aW9uIHBsdWdpbiBieSBmb2xsb3dpbmcKK3RoZSBkaXJlY3Rpb25zIGF0IHxmdC1zeW50YXgtb21uaXwgdGhlbiB0aGUgfCdvbW5pZnVuYyd8IG9wdGlvbiBoYXMgYmVlbiBzZXQgdG8KKyJzeW50YXgjQ29tcGxldGUiLiAgUHJlc3NpbmcgPEMtWD48Qy1PPiB3aWxsIGRpc3BsYXkgdGhlIG9tbmkgcG9wdXAgY29udGFpbmluZwordGhlIHN5bnRheCBpdGVtcyBmb3IgUGVybC4KKworU3RlcCAyCistLS0tLS0KK01hbnVhbGx5IHNldHRpbmcgdGhlIGZpbGV0eXBlIHRvICdzcWwnIHdpbGwgYWxzbyBmaXJlIHRoZSBhcHByb3ByaWF0ZSBmaWxldHlwZQorZmlsZXMgZnRwbHVnaW4vc3FsLnZpbS4gIFRoaXMgZmlsZSB3aWxsIGRlZmluZSBhIG51bWJlciBvZiBidWZmZXIgc3BlY2lmaWMKK21hcHMgZm9yIFNRTCBjb21wbGV0aW9uLCBzZWUgfHNxbC1jb21wbGV0aW9uLW1hcHN8LiAgTm93IHRoZXNlIG1hcHMgaGF2ZQorYmVlbiBjcmVhdGVkIGFuZCB0aGUgU1FMIGNvbXBsZXRpb24gcGx1Z2luIGhhcyBiZWVuIGluaXRpYWxpemVkLiAgQWxsIFNRTAorc3ludGF4IGl0ZW1zIGhhdmUgYmVlbiBjYWNoZWQgaW4gcHJlcGFyYXRpb24uICBUaGUgU1FMIGZpbGV0eXBlIHNjcmlwdCBkZXRlY3RzCit3ZSBhcmUgYXR0ZW1wdGluZyB0byB1c2UgdHdvIGRpZmZlcmVudCBjb21wbGV0aW9uIHBsdWdpbnMuICBTaW5jZSB0aGUgU1FMIG1hcHMKK2JlZ2luIHdpdGggPEMtQz4sIHRoZSBtYXBzIHdpbGwgdG9nZ2xlIHRoZSB8J29tbmlmdW5jJ3wgd2hlbiBpbiB1c2UuICBTbyB5b3UKK2NhbiB1c2UgPEMtWD48Qy1PPiB0byBjb250aW51ZSB1c2luZyB0aGUgY29tcGxldGlvbiBmb3IgUGVybCAodXNpbmcgdGhlIHN5bnRheAorY29tcGxldGlvbiBwbHVnaW4pIGFuZCA8Qy1DPiB0byB1c2UgdGhlIFNRTCBjb21wbGV0aW9uIGZlYXR1cmVzLgorCitTdGVwIDMKKy0tLS0tLQorU2V0dGluZyB0aGUgZmlsZXR5cGUgYmFjayB0byBQZXJsIHNldHMgYWxsIHRoZSB1c3VhbCAicGVybCIgcmVsYXRlZCBpdGVtcyBiYWNrCithcyB0aGV5IHdlcmUuCisgICAgIAorCiB2aW06dHc9Nzg6dHM9ODpmdD1oZWxwOm5vcmw6CmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9zdGFydGluZy50eHQgYi9ydW50aW1lL2RvYy9zdGFydGluZy50eHQKaW5kZXggYzBmMmEwMy4uNGNhMjEzOSAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2Mvc3RhcnRpbmcudHh0CisrKyBiL3J1bnRpbWUvZG9jL3N0YXJ0aW5nLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpzdGFydGluZy50eHQqICBGb3IgVmltIHZlcnNpb24gNy4wYy4gIExhc3QgY2hhbmdlOiAyMDA2IE1hciAyNgorKnN0YXJ0aW5nLnR4dCogIEZvciBWaW0gdmVyc2lvbiA3LjBjLiAgTGFzdCBjaGFuZ2U6IDIwMDYgQXByIDAyCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC00MTMsNyArNDEzLDcgQEAKIAkJcHJvY2VzcyBhbmQgZXhpdHMgdGhlIGN1cnJlbnQgb25lLiAgIi1mIiBzaG91bGQgYmUgdXNlZCB3aGVuCiAJCWd2aW0gaXMgc3RhcnRlZCBieSBhIHByb2dyYW0gdGhhdCB3aWxsIHdhaXQgZm9yIHRoZSBlZGl0CiAJCXNlc3Npb24gdG8gZmluaXNoIChlLmcuLCBtYWlsIG9yIHJlYWRuZXdzKS4gIElmIHlvdSB3YW50IGd2aW0KLQkJbmV2ZXIgdG8gZm9yaywgaW5jbHVkZSAnZicgaW4gJ2d1aW9wdGlvbnMnIGluIHlvdXIgLmd2aW1yYy4KKwkJbmV2ZXIgdG8gZm9yaywgaW5jbHVkZSAnZicgaW4gJ2d1aW9wdGlvbnMnIGluIHlvdXIgfGd2aW1yY3wuCiAJCUNhcmVmdWw6IFlvdSBjYW4gdXNlICItZ2YiIHRvIHN0YXJ0IHRoZSBHVUkgaW4gdGhlIGZvcmVncm91bmQsCiAJCWJ1dCAiLWZnIiBpcyB1c2VkIHRvIHNwZWNpZnkgdGhlIGZvcmVncm91bmQgY29sb3IuICB8Z3VpLWZvcmt8CiAJCXtub3QgaW4gVml9CkBAIC00MzAsNyArNDMwLDcgQEAKIDwJCUFsc28gY29uc2lkZXIgdXNpbmcgYXV0b2NvbW1hbmRzOyBzZWUgfGF1dG9jb21tYW5kfC4KIAkJV2hlbiB7dmltcmN9IGlzIGVxdWFsIHRvICJOT05FIiAoYWxsIHVwcGVyY2FzZSksIGFsbAogCQlpbml0aWFsaXphdGlvbnMgZnJvbSBmaWxlcyBhbmQgZW52aXJvbm1lbnQgdmFyaWFibGVzIGFyZQotCQlza2lwcGVkLCBpbmNsdWRpbmcgcmVhZGluZyB0aGUgLmd2aW1yYyBmaWxlIHdoZW4gdGhlIEdVSQorCQlza2lwcGVkLCBpbmNsdWRpbmcgcmVhZGluZyB0aGUgfGd2aW1yY3wgZmlsZSB3aGVuIHRoZSBHVUkKIAkJc3RhcnRzLiAgTG9hZGluZyBwbHVnaW5zIGlzIGFsc28gc2tpcHBlZC4KIAkJV2hlbiB7dmltcmN9IGlzIGVxdWFsIHRvICJOT1JDIiAoYWxsIHVwcGVyY2FzZSksIHRoaXMgaGFzIHRoZQogCQlzYW1lIGVmZmVjdCBhcyAiTk9ORSIsIGJ1dCBsb2FkaW5nIHBsdWdpbnMgaXMgbm90IHNraXBwZWQuCkBAIC00NDAsNyArNDQwLDcgQEAKIAkJe25vdCBpbiBWaX0KIAogCQkJCQkJCSotVSogKkUyMzAqCi0tVSB7Z3ZpbXJjfQlUaGUgZmlsZSAiZ3ZpbXJjIiBpcyByZWFkIGZvciBpbml0aWFsaXphdGlvbnMgd2hlbiB0aGUgR1VJCistVSB7Z3ZpbXJjfQlUaGUgZmlsZSB7Z3ZpbXJjfSBpcyByZWFkIGZvciBpbml0aWFsaXphdGlvbnMgd2hlbiB0aGUgR1VJCiAJCXN0YXJ0cy4gIE90aGVyIEdVSSBpbml0aWFsaXphdGlvbnMgYXJlIHNraXBwZWQuICBXaGVuIHtndmltcmN9CiAJCWlzIGVxdWFsIHRvICJOT05FIiwgbm8gZmlsZSBpcyByZWFkIGZvciBHVUkgaW5pdGlhbGl6YXRpb25zIGF0CiAJCWFsbC4gIHxndWktaW5pdHwKQEAgLTc2MSw3ICs3NjEsOCBAQAogCiAJCQkgICpWSU1JTklUKiAqLnZpbXJjKiAqX3ZpbXJjKiAqRVhJTklUKiAqLmV4cmMqICpfZXhyYyoKICAgICAgYy4gRm91ciBwbGFjZXMgYXJlIHNlYXJjaGVkIGZvciBpbml0aWFsaXphdGlvbnMuICBUaGUgZmlyc3QgdGhhdCBleGlzdHMKLQlpcyB1c2VkLCB0aGUgb3RoZXJzIGFyZSBpZ25vcmVkLgorCWlzIHVzZWQsIHRoZSBvdGhlcnMgYXJlIGlnbm9yZWQuICBUaGUgJE1ZVklNUkMgZW52aXJvbm1lbnQgdmFyaWFibGUgaXMKKwlzZXQgdG8gdGhlIGZpbGUgdGhhdCB3YXMgZmlyc3QgZm91bmQsIHVubGVzcyAkTVlWSU1SQyB3YXMgYWxyZWFkeSBzZXQuCiAJLSAgVGhlIGVudmlyb25tZW50IHZhcmlhYmxlIFZJTUlOSVQgKHNlZSBhbHNvIHxjb21wYXRpYmxlLWRlZmF1bHR8KSAoKikKIAkgICBUaGUgdmFsdWUgb2YgJFZJTUlOSVQgaXMgdXNlZCBhcyBhbiBFeCBjb21tYW5kIGxpbmUuCiAJLSAgVGhlIHVzZXIgdmltcmMgZmlsZShzKToKQEAgLTkwNSw3ICs5MDYsOCBAQAogbm90IGJlZW4gc2V0IG9yIHJlc2V0IHdpbGwgYmUgY2hhbmdlZC4gIFRoaXMgaGFzIHRoZSBzYW1lIGVmZmVjdCBsaWtlIHRoZQogdmFsdWUgb2YgJ2NvbXBhdGlibGUnIGhhZCB0aGlzIHZhbHVlIHdoZW4gc3RhcnRpbmcgVmltLiAgTm90ZSB0aGF0IHRoaXMKIGRvZXNuJ3QgaGFwcGVuIGZvciB0aGUgc3lzdGVtLXdpZGUgdmltcmMgZmlsZS4gIEl0IGRvZXMgYWxzbyBoYXBwZW4gZm9yIGd2aW1yYwotZmlsZXMuCitmaWxlcy4gIFRoZSAkTVlWSU1SQyBvciAkTVlHVklNUkMgZmlsZSB3aWxsIGJlIHNldCB0byB0aGUgZmlyc3QgZm91bmQgdmltcmMKK2FuZC9vciBndmltcmMgZmlsZS4KIAogQnV0IHRoZXJlIGlzIGEgc2lkZSBlZmZlY3Qgb2Ygc2V0dGluZyBvciByZXNldHRpbmcgJ2NvbXBhdGlibGUnIGF0IHRoZSBtb21lbnQKIGEgLnZpbXJjIGZpbGUgaXMgZm91bmQ6IE1hcHBpbmdzIGFyZSBpbnRlcnByZXRlZCB0aGUgbW9tZW50IHRoZXkgYXJlCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9zeW50YXgudHh0IGIvcnVudGltZS9kb2Mvc3ludGF4LnR4dAppbmRleCAwZDAzN2Q2Li5hMGE1YjhkIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9zeW50YXgudHh0CisrKyBiL3J1bnRpbWUvZG9jL3N5bnRheC50eHQKQEAgLTEsNCArMSw0IEBACi0qc3ludGF4LnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMGMuICBMYXN0IGNoYW5nZTogMjAwNiBNYXIgMjgKKypzeW50YXgudHh0KglGb3IgVmltIHZlcnNpb24gNy4wYy4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAwNAogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTAkgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC04MSwxNCArODEsMTQgQEAKIAogTk9URTogV2hlbiB1c2luZyByZXZlcnNlIHZpZGVvICgiZ3ZpbSAtZmcgd2hpdGUgLWJnIGJsYWNrIiksIHRoZSBkZWZhdWx0IHZhbHVlCiBvZiAnYmFja2dyb3VuZCcgd2lsbCBub3QgYmUgc2V0IHVudGlsIHRoZSBHVUkgd2luZG93IGlzIG9wZW5lZCwgd2hpY2ggaXMgYWZ0ZXIKLXJlYWRpbmcgdGhlIC5ndmltcmMuICBUaGlzIHdpbGwgY2F1c2UgdGhlIHdyb25nIGRlZmF1bHQgaGlnaGxpZ2h0aW5nIHRvIGJlCityZWFkaW5nIHRoZSB8Z3ZpbXJjfC4gIFRoaXMgd2lsbCBjYXVzZSB0aGUgd3JvbmcgZGVmYXVsdCBoaWdobGlnaHRpbmcgdG8gYmUKIHVzZWQuICBUbyBzZXQgdGhlIGRlZmF1bHQgdmFsdWUgb2YgJ2JhY2tncm91bmQnIGJlZm9yZSBzd2l0Y2hpbmcgb24KLWhpZ2hsaWdodGluZywgaW5jbHVkZSB0aGUgIjpndWkiIGNvbW1hbmQgaW4gdGhlIC5ndmltcmM6ID4KK2hpZ2hsaWdodGluZywgaW5jbHVkZSB0aGUgIjpndWkiIGNvbW1hbmQgaW4gdGhlIHxndmltcmN8OiA+CiAKICAgIDpndWkJCSIgb3BlbiB3aW5kb3cgYW5kIHNldCBkZWZhdWx0IGZvciAnYmFja2dyb3VuZCcKICAgIDpzeW50YXggb24JIiBzdGFydCBoaWdobGlnaHRpbmcsIHVzZSAnYmFja2dyb3VuZCcgdG8gc2V0IGNvbG9ycwogCi1OT1RFOiBVc2luZyAiOmd1aSIgaW4gdGhlIC5ndmltcmMgbWVhbnMgdGhhdCAiZ3ZpbSAtZiIgd29uJ3Qgc3RhcnQgaW4gdGhlCitOT1RFOiBVc2luZyAiOmd1aSIgaW4gdGhlIHxndmltcmN8IG1lYW5zIHRoYXQgImd2aW0gLWYiIHdvbid0IHN0YXJ0IGluIHRoZQogZm9yZWdyb3VuZCEgIFVzZSAiOmd1aSAtZiIgdGhlbi4KIAogCkBAIC0xMDEzLDEwICsxMDEzLDEwIEBACiBmaXhlZCBzb3VyY2UgZm9ybSBpZiB0aGUgZm9ydHJhbl9maXhlZF9zb3VyY2UgdmFyaWFibGUgaGFzIGJlZW4gc2V0LiAgSWYKIG5laXRoZXIgb2YgdGhlc2UgdmFyaWFibGVzIGhhdmUgYmVlbiBzZXQsIHRoZSBzeW50YXggc2NyaXB0IGF0dGVtcHRzIHRvCiBkZXRlcm1pbmUgd2hpY2ggc291cmNlIGZvcm0gaGFzIGJlZW4gdXNlZCBieSBleGFtaW5pbmcgdGhlIGZpcnN0IGZpdmUgY29sdW1ucwotb2YgdGhlIGZpcnN0IDI1IGxpbmVzIG9mIHlvdXIgZmlsZS4gIElmIG5vIHNpZ25zIG9mIGZyZWUgc291cmNlIGZvcm0gYXJlCitvZiB0aGUgZmlyc3QgMjUwIGxpbmVzIG9mIHlvdXIgZmlsZS4gIElmIG5vIHNpZ25zIG9mIGZyZWUgc291cmNlIGZvcm0gYXJlCiBkZXRlY3RlZCwgdGhlbiB0aGUgZmlsZSBpcyBhc3N1bWVkIHRvIGJlIGluIGZpeGVkIHNvdXJjZSBmb3JtLiAgVGhlIGFsZ29yaXRobQogc2hvdWxkIHdvcmsgaW4gdGhlIHZhc3QgbWFqb3JpdHkgb2YgY2FzZXMuICBJbiBzb21lIGNhc2VzLCBzdWNoIGFzIGEgZmlsZSB0aGF0Ci1iZWdpbnMgd2l0aCAyNSBvciBtb3JlIGZ1bGwtbGluZSBjb21tZW50cywgdGhlIHNjcmlwdCBtYXkgaW5jb3JyZWN0bHkgZGVjaWRlCitiZWdpbnMgd2l0aCAyNTAgb3IgbW9yZSBmdWxsLWxpbmUgY29tbWVudHMsIHRoZSBzY3JpcHQgbWF5IGluY29ycmVjdGx5IGRlY2lkZQogdGhhdCB0aGUgZm9ydHJhbiBjb2RlIGlzIGluIGZpeGVkIGZvcm0uICBJZiB0aGF0IGhhcHBlbnMsIGp1c3QgYWRkIGEKIG5vbi1jb21tZW50IHN0YXRlbWVudCBiZWdpbm5pbmcgYW55d2hlcmUgaW4gdGhlIGZpcnN0IGZpdmUgY29sdW1ucyBvZiB0aGUKIGZpcnN0IHR3ZW50eSBmaXZlIGxpbmVzLCBzYXZlICg6dykgYW5kIHRoZW4gcmVsb2FkICg6ZSEpIHRoZSBmaWxlLgpAQCAtMjMwNCw3ICsyMzA0LDcgQEAKIAogU0gJCSpzaC52aW0qICpmdC1zaC1zeW50YXgqICpmdC1iYXNoLXN5bnRheCogKmZ0LWtzaC1zeW50YXgqCiAKLVRoaXMgY292ZXJzIHRoZSAibm9ybWFsIiBVbml4IChCb3VybmUpIHNoLCBiYXNoIGFuZCB0aGUgS29ybiBzaGVsbC4KK1RoaXMgY292ZXJzIHRoZSAibm9ybWFsIiBVbml4IChCb3JuZSkgc2gsIGJhc2ggYW5kIHRoZSBLb3JuIHNoZWxsLgogCiBWaW0gYXR0ZW1wdHMgdG8gZGV0ZXJtaW5lIHdoaWNoIHNoZWxsIHR5cGUgaXMgaW4gdXNlIGJ5IHNwZWNpZnlpbmcgdGhhdAogdmFyaW91cyBmaWxlbmFtZXMgYXJlIG9mIHNwZWNpZmljIHR5cGVzOiA+CkBAIC0yMzI4LDYgKzIzMjgsMTEgQEAKIDwgICBzaDogPgogCWxldCBpc19zaAkgPSAxCiAKK0lmIHRoZXJlJ3Mgbm8gIiMhIC4uLiIgbGluZSwgYW5kIHRoZSB1c2VyIGhhc24ndCBhdmFpbGVkIGhpbXNlbGYvaGVyc2VsZiBvZiBhCitkZWZhdWx0IHNoLnZpbSBzeW50YXggc2V0dGluZyBhcyBqdXN0IHNob3duLCB0aGVuIHN5bnRheC9zaC52aW0gd2lsbCBhc3N1bWUKK3RoZSBCb3JuZSBzaGVsbCBzeW50YXguICBObyBuZWVkIHRvIHF1b3RlIFJGQ3Mgb3IgbWFya2V0IHBlbmV0cmF0aW9uCitzdGF0aXN0aWNzIGluIGVycm9yIHJlcG9ydHMsIHBsZWFzZS4KKwogSWYsIGluIHlvdXIgPC52aW1yYz4sIHlvdSBzZXQgPgogCWxldCBnOnNoX2ZvbGRfZW5hYmxlZD0gMQogPgpAQCAtMzc2MCw3ICszNzY1LDcgQEAKIAloYXZlIHRoZSBzYW1lIGVmZmVjdC4KIAkidW5kZXJjdXJsIiBpcyBhIGN1cmx5IHVuZGVybGluZS4gIFdoZW4gInVuZGVyY3VybCIgaXMgbm90IHBvc3NpYmxlCiAJdGhlbiAidW5kZXJsaW5lIiBpcyB1c2VkLiAgSW4gZ2VuZXJhbCAidW5kZXJjdXJsIiBpcyBvbmx5IGF2YWlsYWJsZSBpbgotCXRoZSBHVUkuCisJdGhlIEdVSS4gIFRoZSBjb2xvciBpcyBzZXQgd2l0aCB8aGlnaGxpZ2h0LWd1aXNwfC4KIAogc3RhcnQ9e3Rlcm0tbGlzdH0JCQkJKmhpZ2hsaWdodC1zdGFydCogKkU0MjIqCiBzdG9wPXt0ZXJtLWxpc3R9CQkJCSp0ZXJtLWxpc3QqICpoaWdobGlnaHQtc3RvcCoKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3RhYnBhZ2UudHh0IGIvcnVudGltZS9kb2MvdGFicGFnZS50eHQKaW5kZXggODdiNDJjMC4uZGI1MWQ4NCAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdGFicGFnZS50eHQKKysrIGIvcnVudGltZS9kb2MvdGFicGFnZS50eHQKQEAgLTEsNCArMSw0IEBACi0qdGFicGFnZS50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuMGMuICBMYXN0IGNoYW5nZTogMjAwNiBNYXIgMDMKKyp0YWJwYWdlLnR4dCogICBGb3IgVmltIHZlcnNpb24gNy4wYy4gIExhc3QgY2hhbmdlOiAyMDA2IE1hciAzMQogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtMTE5LDEyICsxMTksMTQgQEAKIGxhYmVsIHRvIHN3aXRjaCB0byB0aGF0IHRhYiBwYWdlLiAgQ2xpY2sgd2hlcmUgdGhlcmUgaXMgbm8gbGFiZWwgdG8gZ28gdG8gdGhlCiBuZXh0IHRhYiBwYWdlLiAgfCd0YWJsaW5lJ3wKIAotOnRhYm5bZXh0XQkJCQkJKjp0YWJuKiAqOnRhYm5leHQqICpndCoKLWd0CQlHbyB0byB0aGUgbmV4dCB0YWIgcGFnZS4gIFdyYXBzIGFyb3VuZCBmcm9tIHRoZSBsYXN0IHRvIHRoZQorOnRhYm5bZXh0XQkJCQkqOnRhYm4qICo6dGFibmV4dCogKmd0KgorZ3QJCQkJCSpDVFJMLTxQYWdlRG93bj4qICo8Qy1QYWdlRG93bj4qCis8Qy1QYWdlRG93bj4JR28gdG8gdGhlIG5leHQgdGFiIHBhZ2UuICBXcmFwcyBhcm91bmQgZnJvbSB0aGUgbGFzdCB0byB0aGUKIAkJZmlyc3Qgb25lLgogCiA6dGFibltleHRdIHtjb3VudH0KLXtjb3VudH1ndAlHbyB0byB0YWIgcGFnZSB7Y291bnR9LiAgVGhlIGZpcnN0IHRhYiBwYWdlIGhhcyBudW1iZXIgb25lLgore2NvdW50fWd0CQkJCSpDVFJMLTxQYWdlVXA+KiAqPEMtUGFnZVVwPioKKzxDLVBhZ2VVcD4JR28gdG8gdGFiIHBhZ2Uge2NvdW50fS4gIFRoZSBmaXJzdCB0YWIgcGFnZSBoYXMgbnVtYmVyIG9uZS4KIAogCiA6dGFicFtyZXZpb3VzXQkJCQkqOnRhYnAqICo6dGFicHJldmlvdXMqICpnVCoKQEAgLTE5OCw2ICsyMDAsOCBAQAogd2l0aGluIG9uZSB0YWIgcGFnZS4gIE90aGVyIHRhYiBwYWdlcyBjYW4gc2hvdyBkaWZmZXJlbmNlcyBiZXR3ZWVuIG90aGVyCiBmaWxlcy4KIAorVmFyaWFibGVzIGxvY2FsIHRvIGEgdGFiIHBhZ2Ugc3RhcnQgd2l0aCAidDoiLiB8dGFicGFnZS12YXJpYWJsZXwKKwogVGhlIFRhYkxlYXZlIGFuZCBUYWJFbnRlciBhdXRvY29tbWFuZCBldmVudHMgY2FuIGJlIHVzZWQgdG8gZG8gc29tZXRoaW5nIHdoZW4KIHN3aXRjaGluZyBmcm9tIG9uZSB0YWIgcGFnZSB0byBhbm90aGVyLiAgVGhlIGV4YWN0IG9yZGVyIGRlcGVuZHMgb24gd2hhdCB5b3UKIGFyZSBkb2luZy4gIFdoZW4gY3JlYXRpbmcgYSBuZXcgdGFiIHBhZ2UgdGhpcyB3b3JrcyBhcyBpZiB5b3UgY3JlYXRlIGEgbmV3CmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy90YWdzIGIvcnVudGltZS9kb2MvdGFncwppbmRleCAzMmUyZjBiLi4zZTJkZTQ4IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy90YWdzCisrKyBiL3J1bnRpbWUvZG9jL3RhZ3MKQEAgLTEwNDIsNiArMTA0Miw3IEBACiArK2JhZAllZGl0aW5nLnR4dAkvKisrYmFkKgogKytiaW4JZWRpdGluZy50eHQJLyorK2JpbioKICsrYnVpbHRpbl90ZXJtcwl2YXJpb3VzLnR4dAkvKisrYnVpbHRpbl90ZXJtcyoKKysrZWRpdAllZGl0aW5nLnR4dAkvKisrZWRpdCoKICsrZW5jCWVkaXRpbmcudHh0CS8qKytlbmMqCiArK2ZmCWVkaXRpbmcudHh0CS8qKytmZioKICsrbm9iaW4JZWRpdGluZy50eHQJLyorK25vYmluKgpAQCAtMTY1NSw3ICsxNjU2LDYgQEAKIDQ1LjMJdXNyXzQ1LnR4dAkvKjQ1LjMqCiA0NS40CXVzcl80NS50eHQJLyo0NS40KgogNDUuNQl1c3JfNDUudHh0CS8qNDUuNSoKLTc1NQlzcGVsbC50eHQJLyo3NTUqCiA4ZzgJdmFyaW91cy50eHQJLyo4ZzgqCiA5MC4xCXVzcl85MC50eHQJLyo5MC4xKgogOTAuMgl1c3JfOTAudHh0CS8qOTAuMioKQEAgLTE2NzYsNiArMTY3Niw4IEBACiA6LgljbWRsaW5lLnR4dAkvKjouKgogOi8JY21kbGluZS50eHQJLyo6XC8qCiA6MGZpbGUJZWRpdGluZy50eHQJLyo6MGZpbGUqCis6Mm1hdGNoCXBhdHRlcm4udHh0CS8qOjJtYXRjaCoKKzozbWF0Y2gJcGF0dGVybi50eHQJLyo6M21hdGNoKgogOjouCWNtZGxpbmUudHh0CS8qOjouKgogOjo4CWNtZGxpbmUudHh0CS8qOjo4KgogOjplCWNtZGxpbmUudHh0CS8qOjplKgpAQCAtMjkwOSw4ICsyOTExLDggQEAKIDxDLUxlZnRNb3VzZT4JdGFnc3JjaC50eHQJLyo8Qy1MZWZ0TW91c2U+KgogPEMtTW91c2VEb3duPglzY3JvbGwudHh0CS8qPEMtTW91c2VEb3duPioKIDxDLU1vdXNlVXA+CXNjcm9sbC50eHQJLyo8Qy1Nb3VzZVVwPioKLTxDLVBhZ2VEb3duPglvc19kb3MudHh0CS8qPEMtUGFnZURvd24+KgotPEMtUGFnZVVwPglvc19kb3MudHh0CS8qPEMtUGFnZVVwPioKKzxDLVBhZ2VEb3duPgl0YWJwYWdlLnR4dAkvKjxDLVBhZ2VEb3duPioKKzxDLVBhZ2VVcD4JdGFicGFnZS50eHQJLyo8Qy1QYWdlVXA+KgogPEMtUmlnaHQ+CW1vdGlvbi50eHQJLyo8Qy1SaWdodD4qCiA8Qy1SaWdodE1vdXNlPgl0YWdzcmNoLnR4dAkvKjxDLVJpZ2h0TW91c2U+KgogPENSPgltb3Rpb24udHh0CS8qPENSPioKQEAgLTMxMTgsNiArMzEyMCw4IEBACiBDT01TUEVDCXN0YXJ0aW5nLnR4dAkvKkNPTVNQRUMqCiBDUi11c2VkLWZvci1OTAlwYXR0ZXJuLnR4dAkvKkNSLXVzZWQtZm9yLU5MKgogQ1RSTC02CWVkaXRpbmcudHh0CS8qQ1RSTC02KgorQ1RSTC08UGFnZURvd24+CXRhYnBhZ2UudHh0CS8qQ1RSTC08UGFnZURvd24+KgorQ1RSTC08UGFnZVVwPgl0YWJwYWdlLnR4dAkvKkNUUkwtPFBhZ2VVcD4qCiBDVFJMLUEJY2hhbmdlLnR4dAkvKkNUUkwtQSoKIENUUkwtQglzY3JvbGwudHh0CS8qQ1RSTC1CKgogQ1RSTC1DCXBhdHRlcm4udHh0CS8qQ1RSTC1DKgpAQCAtMzk2MSw2ICszOTY1LDcgQEAKIEU3NTIJc3BlbGwudHh0CS8qRTc1MioKIEU3NTMJc3BlbGwudHh0CS8qRTc1MyoKIEU3NTQJc3BlbGwudHh0CS8qRTc1NCoKK0U3NTUJc3BlbGwudHh0CS8qRTc1NSoKIEU3NTYJc3BlbGwudHh0CS8qRTc1NioKIEU3NTcJb3B0aW9ucy50eHQJLypFNzU3KgogRTc1OAlzcGVsbC50eHQJLypFNzU4KgpAQCAtMzk5NCw2ICszOTk5LDkgQEAKIEU3ODMJc3BlbGwudHh0CS8qRTc4MyoKIEU3ODQJdGFicGFnZS50eHQJLypFNzg0KgogRTc4NQlldmFsLnR4dAkvKkU3ODUqCitFNzg2CWV2YWwudHh0CS8qRTc4NioKK0U3ODcJZGlmZi50eHQJLypFNzg3KgorRTc4OAlhdXRvY21kLnR4dAkvKkU3ODgqCiBFNzkJbWVzc2FnZS50eHQJLypFNzkqCiBFODAJbWVzc2FnZS50eHQJLypFODAqCiBFODAwCWFyYWJpYy50eHQJLypFODAwKgpAQCAtNDQyOCw2ICs0NDM2LDcgQEAKIGFsdC1pbnB1dAlkZWJ1Z2dlci50eHQJLyphbHQtaW5wdXQqCiBhbHRlcm5hdGUtZmlsZQllZGl0aW5nLnR4dAkvKmFsdGVybmF0ZS1maWxlKgogYW1pZ2Etd2luZG93CXN0YXJ0aW5nLnR4dAkvKmFtaWdhLXdpbmRvdyoKK2Fub255bW91cy1mdW5jdGlvbglldmFsLnR4dAkvKmFub255bW91cy1mdW5jdGlvbioKIGFudC52aW0Jc3ludGF4LnR4dAkvKmFudC52aW0qCiBhcAltb3Rpb24udHh0CS8qYXAqCiBhcGFjaGUudmltCXN5bnRheC50eHQJLyphcGFjaGUudmltKgpAQCAtNTM5OCw2ICs1NDA3LDEwIEBACiBnOm5ldHJ3X3VzZV9udF9yY3AJcGlfbmV0cncudHh0CS8qZzpuZXRyd191c2VfbnRfcmNwKgogZzpuZXRyd193aW45NWZ0cAlwaV9uZXRydy50eHQJLypnOm5ldHJ3X3dpbjk1ZnRwKgogZzpuZXRyd193aW5zaXplCXBpX25ldHJ3LnR4dAkvKmc6bmV0cndfd2luc2l6ZSoKK2c6dGFyX2Jyb3dzZW9wdGlvbnMJcGlfdGFyLnR4dAkvKmc6dGFyX2Jyb3dzZW9wdGlvbnMqCitnOnRhcl9jbWQJcGlfdGFyLnR4dAkvKmc6dGFyX2NtZCoKK2c6dGFyX3JlYWRvcHRpb25zCXBpX3Rhci50eHQJLypnOnRhcl9yZWFkb3B0aW9ucyoKK2c6dGFyX3dyaXRlb3B0aW9ucwlwaV90YXIudHh0CS8qZzp0YXJfd3JpdGVvcHRpb25zKgogZzp2YXIJZXZhbC50eHQJLypnOnZhcioKIGc7CW1vdGlvbi50eHQJLypnOyoKIGc8CW1lc3NhZ2UudHh0CS8qZzwqCkBAIC02MDUyLDYgKzYwNjUsNyBAQAogbWF0Y2goKQlldmFsLnR4dAkvKm1hdGNoKCkqCiBtYXRjaC1oaWdobGlnaHQJcGF0dGVybi50eHQJLyptYXRjaC1oaWdobGlnaHQqCiBtYXRjaC1wYXJlbnMJdGlwcy50eHQJLyptYXRjaC1wYXJlbnMqCittYXRjaGFyZygpCWV2YWwudHh0CS8qbWF0Y2hhcmcoKSoKIG1hdGNoZW5kKCkJZXZhbC50eHQJLyptYXRjaGVuZCgpKgogbWF0Y2hpdC1pbnN0YWxsCXVzcl8wNS50eHQJLyptYXRjaGl0LWluc3RhbGwqCiBtYXRjaGxpc3QoKQlldmFsLnR4dAkvKm1hdGNobGlzdCgpKgpAQCAtNjQyNiw2ICs2NDQwLDcgQEAKIHBhcHAudmltCXN5bnRheC50eHQJLypwYXBwLnZpbSoKIHBhcmFncmFwaAltb3Rpb24udHh0CS8qcGFyYWdyYXBoKgogcGFzY2FsLnZpbQlzeW50YXgudHh0CS8qcGFzY2FsLnZpbSoKK3BhdGhzaG9ydGVuKCkJZXZhbC50eHQJLypwYXRoc2hvcnRlbigpKgogcGF0dGVybglwYXR0ZXJuLnR4dAkvKnBhdHRlcm4qCiBwYXR0ZXJuLWF0b21zCXBhdHRlcm4udHh0CS8qcGF0dGVybi1hdG9tcyoKIHBhdHRlcm4tbXVsdGktYnl0ZQlwYXR0ZXJuLnR4dAkvKnBhdHRlcm4tbXVsdGktYnl0ZSoKQEAgLTY2MDcsOCArNjYyMiw4IEBACiByZWRvCXVuZG8udHh0CS8qcmVkbyoKIHJlZG8tcmVnaXN0ZXIJdW5kby50eHQJLypyZWRvLXJlZ2lzdGVyKgogcmVmCWludHJvLnR4dAkvKnJlZioKLXJlZi10b2MJaGVscC50eHQJLypyZWYtdG9jKgogcmVmZXJlbmNlCWludHJvLnR4dAkvKnJlZmVyZW5jZSoKK3JlZmVyZW5jZV90b2MJaGVscC50eHQJLypyZWZlcmVuY2VfdG9jKgogcmVnZXhwCXBhdHRlcm4udHh0CS8qcmVnZXhwKgogcmVnZXhwLWNoYW5nZXMtNS40CXZlcnNpb241LnR4dAkvKnJlZ2V4cC1jaGFuZ2VzLTUuNCoKIHJlZ2lzdGVyCXNwb25zb3IudHh0CS8qcmVnaXN0ZXIqCkBAIC02ODc2LDkgKzY4OTEsNyBAQAogc3BlbGwtYWZmaXgtY29tbWVudAlzcGVsbC50eHQJLypzcGVsbC1hZmZpeC1jb21tZW50Kgogc3BlbGwtYWZmaXgtZmxhZ3MJc3BlbGwudHh0CS8qc3BlbGwtYWZmaXgtZmxhZ3MqCiBzcGVsbC1hZmZpeC1tYnl0ZQlzcGVsbC50eHQJLypzcGVsbC1hZmZpeC1tYnl0ZSoKLXNwZWxsLWFmZml4LW5vY29tcAlzcGVsbC50eHQJLypzcGVsbC1hZmZpeC1ub2NvbXAqCiBzcGVsbC1hZmZpeC1ub3Qtc3VwcG9ydGVkCXNwZWxsLnR4dAkvKnNwZWxsLWFmZml4LW5vdC1zdXBwb3J0ZWQqCi1zcGVsbC1hZmZpeC1yYXJlCXNwZWxsLnR4dAkvKnNwZWxsLWFmZml4LXJhcmUqCiBzcGVsbC1hZmZpeC12aW0Jc3BlbGwudHh0CS8qc3BlbGwtYWZmaXgtdmltKgogc3BlbGwtY29tcG91bmQJc3BlbGwudHh0CS8qc3BlbGwtY29tcG91bmQqCiBzcGVsbC1kaWMtZm9ybWF0CXNwZWxsLnR4dAkvKnNwZWxsLWRpYy1mb3JtYXQqCkBAIC02OTEzLDYgKzY5MjYsNyBAQAogc3FsLWNvbXBsZXRpb24tY29sdW1ucwlzcWwudHh0CS8qc3FsLWNvbXBsZXRpb24tY29sdW1ucyoKIHNxbC1jb21wbGV0aW9uLWN1c3RvbWl6YXRpb24Jc3FsLnR4dAkvKnNxbC1jb21wbGV0aW9uLWN1c3RvbWl6YXRpb24qCiBzcWwtY29tcGxldGlvbi1keW5hbWljCXNxbC50eHQJLypzcWwtY29tcGxldGlvbi1keW5hbWljKgorc3FsLWNvbXBsZXRpb24tZmlsZXR5cGVzCXNxbC50eHQJLypzcWwtY29tcGxldGlvbi1maWxldHlwZXMqCiBzcWwtY29tcGxldGlvbi1tYXBzCXNxbC50eHQJLypzcWwtY29tcGxldGlvbi1tYXBzKgogc3FsLWNvbXBsZXRpb24tcHJvY2VkdXJlcwlzcWwudHh0CS8qc3FsLWNvbXBsZXRpb24tcHJvY2VkdXJlcyoKIHNxbC1jb21wbGV0aW9uLXN0YXRpYwlzcWwudHh0CS8qc3FsLWNvbXBsZXRpb24tc3RhdGljKgpAQCAtNzAxNSw2ICs3MDI5LDcgQEAKIHN5c3RlbS12aW1yYwlzdGFydGluZy50eHQJLypzeXN0ZW0tdmltcmMqCiBzfgljaGFuZ2UudHh0CS8qc34qCiB0CW1vdGlvbi50eHQJLyp0KgordDp2YXIJZXZhbC50eHQJLyp0OnZhcioKIHRfIzIJdGVybS50eHQJLyp0XyMyKgogdF8jNAl0ZXJtLnR4dAkvKnRfIzQqCiB0XyUxCXRlcm0udHh0CS8qdF8lMSoKQEAgLTcxNzQsNiArNzE4OSw3IEBACiB0YWItcGFnZS1vdGhlcgl0YWJwYWdlLnR4dAkvKnRhYi1wYWdlLW90aGVyKgogdGFibGluZS1tZW51CXRhYnBhZ2UudHh0CS8qdGFibGluZS1tZW51KgogdGFicGFnZQl0YWJwYWdlLnR4dAkvKnRhYnBhZ2UqCit0YWJwYWdlLXZhcmlhYmxlCWV2YWwudHh0CS8qdGFicGFnZS12YXJpYWJsZSoKIHRhYnBhZ2UudHh0CXRhYnBhZ2UudHh0CS8qdGFicGFnZS50eHQqCiB0YWJwYWdlYnVmbGlzdCgpCWV2YWwudHh0CS8qdGFicGFnZWJ1Zmxpc3QoKSoKIHRhYnBhZ2VucigpCWV2YWwudHh0CS8qdGFicGFnZW5yKCkqCkBAIC03MjEwLDYgKzcyMjYsNyBAQAogdGFyLWNvcHlyaWdodAlwaV90YXIudHh0CS8qdGFyLWNvcHlyaWdodCoKIHRhci1oaXN0b3J5CXBpX3Rhci50eHQJLyp0YXItaGlzdG9yeSoKIHRhci1tYW51YWwJcGlfdGFyLnR4dAkvKnRhci1tYW51YWwqCit0YXItb3B0aW9ucwlwaV90YXIudHh0CS8qdGFyLW9wdGlvbnMqCiB0YXItdXNhZ2UJcGlfdGFyLnR4dAkvKnRhci11c2FnZSoKIHRhci50eHQJcGlfdGFyLnR4dAkvKnRhci50eHQqCiB0Y2wJaWZfdGNsLnR4dAkvKnRjbCoKQEAgLTc2NjMsNiArNzY4MCw3IEBACiB3aW4xNi12YXJpb3VzCWd1aV93MTYudHh0CS8qd2luMTYtdmFyaW91cyoKIHdpbjMyCW9zX3dpbjMyLnR4dAkvKndpbjMyKgogd2luMzItIXN0YXJ0CWd1aV93MzIudHh0CS8qd2luMzItIXN0YXJ0Kgord2luMzItUEFUSAlvc193aW4zMi50eHQJLyp3aW4zMi1QQVRIKgogd2luMzItY29sb3JzCWd1aV93MzIudHh0CS8qd2luMzItY29sb3JzKgogd2luMzItY29tcGlsaW5nCW9zX3dpbjMyLnR4dAkvKndpbjMyLWNvbXBpbGluZyoKIHdpbjMyLWN1cmRpcglvc193aW4zMi50eHQJLyp3aW4zMi1jdXJkaXIqCkBAIC03NjgyLDYgKzc3MDAsNyBAQAogd2luMzJzCW9zX3dpbjMyLnR4dAkvKndpbjMycyoKIHdpbmJ1Zm5yKCkJZXZhbC50eHQJLyp3aW5idWZucigpKgogd2luY29sKCkJZXZhbC50eHQJLyp3aW5jb2woKSoKK3dpbmRvdwl3aW5kb3dzLnR4dAkvKndpbmRvdyoKIHdpbmRvdy1jb250ZW50cwlpbnRyby50eHQJLyp3aW5kb3ctY29udGVudHMqCiB3aW5kb3ctZXhpdAllZGl0aW5nLnR4dAkvKndpbmRvdy1leGl0Kgogd2luZG93LW1vdmUtY3Vyc29yCXdpbmRvd3MudHh0CS8qd2luZG93LW1vdmUtY3Vyc29yKgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdG9kby50eHQgYi9ydW50aW1lL2RvYy90b2RvLnR4dAppbmRleCBlNWU5MzRiLi43NWMwNTIyIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy90b2RvLnR4dAorKysgYi9ydW50aW1lL2RvYy90b2RvLnR4dApAQCAtMSw0ICsxLDQgQEAKLSp0b2RvLnR4dCogICAgICBGb3IgVmltIHZlcnNpb24gNy4wYy4gIExhc3QgY2hhbmdlOiAyMDA2IE1hciAyOQorKnRvZG8udHh0KiAgICAgIEZvciBWaW0gdmVyc2lvbiA3LjBjLiAgTGFzdCBjaGFuZ2U6IDIwMDYgQXByIDA1CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMCSAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTMwLDIyICszMCwyMiBAQAogCQkJCQkJCSprbm93bi1idWdzKgogLS0tLS0tLS0tLS0tLS0tLS0tLS0gS25vd24gYnVncyBhbmQgY3VycmVudCB3b3JrIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKLVdoZW4gInNlYXJjaCIgaXMgaW4gJ2ZvbGRvcGVuJyBoYXZlIFtzIGFuZCBdcyBvcGVuIGZvbGRzLgotCiBOZXcgSHVuZ2FyaWFuIGRpY3Rpb25hcnkuIChMYWNpIE5lbWV0aCkKLSAgICB0ZXN0IENPTVBPVU5ERk9SQklERkxBRwotICAgIGltcGxlbWVudCB1c2Ugb2YgQ09NUE9VTkRQRVJNSVRGTEFHCi0gICAgaW1wbGVtZW50IHVzZSBvZiBDSEVDS0NPTVBPVU5EKiBmbGFncywgPGNvbXBvcHRpb25zPgotICAgIGltcGxlbWVudCB1c2luZyBDSEVDS0NPTVBPVU5EUEFUVEVSTjogbWF0Y2ggd29yZHMgd2l0aCBzbF9jb21wcGF0W10uCi0gICAgZXhwbGFpbiB0aGUgdXNlIG9mIGFmZml4IGZsYWdzLCByZXBsYWNlIHxzcGVsbC1hZmZpeC1yYXJlfAorLSAgIFN1cHBvcnQgZmxhZ3Mgb24gYSBzdWZmaXggdXNlZCBmb3Igc2Vjb25kIGxldmVsIGFmZml4ZXMuCisgICAgVGhlIGZsYWdzIG1heSBhbHNvIGJlIHVzZWQgZm9yIGNvbXBvdW5kaW5nLiAgRGVmYXVsdCBpcyBhbiBPUgorICAgIG1lY2hhbmlzbSB3aXRoIHRoZSBmbGFncyBvZiB0aGUgd29yZC4KKyAgICBBZGRpbmcgImNvbXBzZXQiIGZsYWcgb24gdGhlIGFmZml4ZXMgbWVhbnMgdGhlIGNvbXBvdW5kIGZsYWdzIG9mIHRoZSB3b3JkCisgICAgYXJlIG5vdCB1c2VkPwogCi0tICAgU2V0IHVzZXIgdmFyaWFibGVzIHRvIHRoZSBuYW1lcyBvZiB0aGUgYWN0dWFsbHkgdXNlZCB1c2VyIHZpbXJjIGZpbGUsCi0gICAgdGhlIGZpcnN0IGRpcmVjdG9yeSBsb29rZWQgZm9yIHVzZXIgcGx1Z2lucy9zeW50YXggZmlsZXMuCi0gICAgJE1ZVklNUkMgZm9yIC52aW1yYywgJE1ZR1ZJTVJDIGZvciAuZ3ZpbXJjLCAkTVlSVU5USU1FL3BsdWdpbiBmb3IKLSAgICBydW50aW1lIGZpbGVzPwotICAgIEFsc286IHdoZW4gdGhlIGVudmlyb25tZW50IHZhcmlhYmxlIGV4aXN0cywgdXNlIGl0LiAgSWYgaXQgZG9lc24ndAotICAgIGV4aXN0LCBzZXQgaXQuICBSZXF1aXJlcyBnb29kIG5hbWVzOiAkVklNX1VTRVJfVklNUkMgICRWSU1fVVNFUl9ESVIKLSAgICBBZGQgYSBtZW51IGl0ZW0gIlByZWZlcmVuY2VzIiB0aGF0IGRvZXMgInNwICRNWVZJTVJDIi4KKy0gICBpbXBsZW1lbnQgdXNlIG9mIENIRUNLQ09NUE9VTkQqIGZsYWdzLCA8Y29tcG9wdGlvbnM+IGluIC5zcGwgZmlsZQorCistICAgQWRkIENIRUNLQ09NUE9VTkRDQVNFOiB3aGVuIGNvbXBvdW5kaW5nIG1ha2UgbGVhZGluZyBjYXBpdGFsIGxvd2VyIGNhc2UuCisgICAgSG93IGlzIGl0IHN1cHBvc2VkIHRvIHdvcms/CisKKy0gICBpbXBsZW1lbnQgdXNpbmcgQ0hFQ0tDT01QT1VORFBBVFRFUk46IG1hdGNoIHdvcmRzIHdpdGggc2xfY29tcHBhdFtdLgorCitPYmV5ICdzd2l0Y2hidWYnICJ1c2VvcGVuIiB2YWx1ZSBmb3Igd2luZG93cyBpbiBvdGhlciB0YWJzLCBlLmcuIGZvciA6c2J1ZmZlci4KK09yIHVzZSBhbm90aGVyIHZhbHVlLCBlLmcuLCAidXNldGFiIj8KIAogQWRkIG1vcmUgdGVzdHMgZm9yIGFsbCBuZXcgZnVuY3Rpb25hbGl0eSBpbiBWaW0gNy4gIEVzcGVjaWFsbHkgbmV3IGZ1bmN0aW9ucy4KIApAQCAtNjQxLDcgKzY0MSw3IEBACiAgICAgVW54VXRpbHMuemlwIGFyY2hpdmUuCiAgICAgQWx0ZXJuYXRlIG9uZTogaHR0cDovL3d3dy5wcmFtb2R4LjIwbS5jb20vdGVlX2Zvcl93aW4zMi5odG0sIGJ1dCBXYWx0ZXIKICAgICBCcmlzY29lIHNheXMgaXQncyBub3QgYXMgZ29vZC4KLTggICAnZmlsbGNoYXJzJyBkb2Vzbid0IHdvcmsgZm9yIG11bHRpLWJ5dGUgY2hhcmFjdGVycy4KKzggICAic3RsIiBhbmQgInN0bG5jIiBpbiAnZmlsbGNoYXJzJyBkb24ndCB3b3JrIGZvciBtdWx0aS1ieXRlIGNoYXJhY3RlcnMuCiA4ICAgQ29tbWFuZCBsaW5lIGNvbXBsZXRpb246IGJ1ZmZlcnMgImZvby50eHQiIGFuZCAiLi4vYi9mb28udHh0IiwgY29tcGxldGluZwogICAgICI6YnVmIGZvbzxUYWI+IiBkb2Vzbid0IGZpbmQgdGhlIHNlY29uZCBvbmUuIChHZW9yZ2UgVi4gUmVpbGx5KQogNyAgIE91dHB1dCBmb3IgIjpzY3JpcHRuYW1lcyIgYW5kICI6YnJlYWtsaXN0IiBzaG91bGQgc2hvcnRlbiB0aGUgZmlsZSBuYW1lczoKQEAgLTEwOTAsNyArMTA5MCw2IEBACiAKIAogVGFiIHBhZ2VzOgotOSAgIFdpbjMyIEdVSTogbWVudSBmb3IgdGFiIHBhZ2VzIGxpbmUuCiA5ICAgR1VJIGltcGxlbWVudGF0aW9uIGZvciB0aGUgdGFiIHBhZ2VzIGxpbmUgZm9yIG90aGVyIHN5c3RlbXMuCiA4ICAgTWFrZSBHVUkgbWVudSBpbiB0YWIgcGFnZXMgbGluZSBjb25maWd1cmFibGUuICBMaWtlIHRoZSBwb3B1cCBtZW51LgogOCAgIHRhYiBwYWdlcyBpbiB0aGUgc2Vzc2lvbiBmaWxlLCBpZiAidGFicGFnZXMiIGluICdzZXNzaW9ub3B0aW9ucycKQEAgLTExMDYsMjggKzExMDUsMTQgQEAKIAogCiBTcGVsbCBjaGVja2luZzoKLS0gICBJbXBsZW1lbnQgQ09NUE9VTkRGT1JCSURGTEFHIC4KIC0gICBDaGVjayBvdXQgSHVuc3BlbGwgMS4xLjQuCiAgICAgVGhlIG1hbnBhZ2UgZG9lc24ndCBtYXRjaCB0aGUgc291cmNlIGNvZGUuLi4KICAgICBUcnkgdG8gbWFrZSB0aGUgbmV3bHkgYWRkZWQgZmVhdHVyZXMgY29tcGF0aWJsZS4KICAgICB3aGF0IGRvZXMgTUFYTkdSQU1TVUdTIGRvPwogICAgIGlzIENPTVBMRVhQUkVGSVhFUyBuZWNlc3Nhcnkgd2hlbiB3ZSBoYXZlIGZsYWdzIGZvciBhZmZpeGVzPwotLSAgIExvb2sgaW50byBIdW5nYXJpYW4gZGljdGlvbmFyeTogaHVfSFUtMS4wLnRhci5negotICAgIFRoaXMgb25lIGRvZXNuJ3QgbWF0Y2ggd2l0aCBIdW5zcGVsbCAxLjEuNC4KLS0gICBBZGQgQ0hFQ0tDT01QT1VORENBU0U6IHdoZW4gY29tcG91bmRpbmcgbWFrZSBsZWFkaW5nIGNhcGl0YWwgbG93ZXIgY2FzZS4KLSAgICBIb3cgaXMgaXQgc3VwcG9zZWQgdG8gd29yaz8KLS0gICBXaGVuIGNvbXBvdW5kaW5nIEh1bnNwZWxsIGRvZXNuJ3QgYWxsb3cgYWZmaXhlcyBpbnNpZGUgdGhlIGNvbXBvdW5kIHdvcmQsCi0gICAgb25seSBiZWZvcmUgYW5kIGFmdGVyIGl0LiAgQ09NUE9VTkRQRVJNSVRGTEFHIGNhbiBiZSB1c2VkIHRvIGFsbG93IGl0LgotICAgIENoZWNrIE15c3BlbGwgYW5kIEFzcGVsbCBpZiB0aGV5IGFsc28gd29yayB0aGlzIHdheS4KLSAgICBUaHVzIGEgd29yZCArIHN1ZmZpeCBuZWVkcyBhIGZsYWcgdGhhdCBpdCBjYW4ndCBiZSB1c2VkIHdpdGggYSBmb2xsb3dpbmcKLSAgICBjb21wb3VuZCwgYW5kIHdvcmQgKyBwcmVmaXggY2FuJ3QgYmUgYWZ0ZXIgYW5vdGhlciB3b3JkIGluIGEgY29tcG91bmQuCistICAgQWRkIGEgY29tbWFuZCB0aGUgcmVwZWF0cyBdcyBhbmQgej0sIHNob3dpbmcgdGhlIG1pc3NwZWxsZWQgd29yZCBpbiBpdHMKKyAgICBjb250ZXh0LiAgVGh1cyB0byBzcGVsbC1jaGVjayBhIHdob2xlIGZpbGUuCiAtICAgc3VnZ2VzdGlvbiBmb3IgIktHIiB0byAia2ciIHdoZW4gaXQncyBrZWVwY2FzZS4KLS0gICBTdXBwb3J0IGZsYWdzIG9uIGEgc3VmZml4LiAgVXNlZCBmb3Igc2Vjb25kIGxldmVsIGFmZml4ZXMsIHJhcmUgYW5kCi0gICAgbm9jb21wLiAgVGhlIGZsYWdzIG1heSBhbHNvIGJlIHVzZWQgZm9yIGNvbXBvdW5kaW5nLiAgRGVmYXVsdCBpcyBhbiBPUgotICAgIG1lY2hhbmlzbSB3aXRoIHRoZSBmbGFncyBvZiB0aGUgd29yZC4gIEFkZGluZyAiY29tcHNldCIgb24gdGhlIGFmZml4ZXMKLSAgICBtZWFucyB0aGUgY29tcG91bmQgZmxhZ3Mgb2YgdGhlIHdvcmQgYXJlIG5vdCB1c2VkLgotICAgIEluc3RlYWQgb2YgIlNGWCBhIDAgYWRkL0ZMQUdTIC4iIHdlIGNvdWxkIHVzZSAiU0ZYIGEgMCBhZGQgLiAvRkxBR1MiIChvcgotICAgIHN1cHBvcnQgYm90aCkuCiAtICAgU3VwcG9ydCBicmVha3BvaW50IGNoYXJhY3RlciA/IDB4YjcgYW5kIGlnbm9yZSBpdD8gIE1ha2VzIGl0IHBvc3NpYmxlIHRvCiAgICAgdXNlIHNhbWUgd29yZGxpc3QgZm9yIGh5cGhlbmF0aW9uLgogLSAgIENvbXBvdW5kIHdvcmQgaXMgYWNjZXB0ZWQgaWYgbnIgb2Ygd29yZHMgaXMgPD0gQ09NUE9VTkRXT1JETUFYIE9SIG5yIG9mCkBAIC0xMzM1LDYgKzEzMjAsOCBAQAogICAgIGNsdXN0ZXIgY2FuIGJlIGFkZGVkIHRvIGV4aXN0aW5nIHN5bnRheCBpdGVtcy4KIDggICBDIHN5bnRheDogRG9uJ3QgaGlnaGxpZ2h0IHt9IGFzIGVycm9ycyBpbnNpZGUgKCkgd2hlbiB1c2VkIGxpa2UgdGhpczoKICAgICAiKHsgc29tZXRoaW5nIH0pIiwgb2Z0ZW4gdXNlZCBpbiBHQ0MgY29kZS4KKzcgICBBZGQgYSAic3RhcnRncm91cCIgdG8gYSByZWdpb24uICBVc2VkIGxpa2UgIm5leHRncm91cCIgaW5zaWRlIHRoZSByZWdpb24sCisgICAgcHJlZmVycmVkIGl0ZW0gYXQgdGhlIHN0YXJ0IG9mIHRoZSByZWdpb24uIChDaGFybGVzIENhbXBiZWxsKQogOCAgIFdoZW4gZWRpdGluZyBhIG5ldyBmaWxlIHdpdGhvdXQgYSBuYW1lIGFuZCBnaXZpbmcgaXQgYSBuYW1lIChieSB3cml0aW5nCiAgICAgaXQpIGFuZCAnZmlsZXR5cGUnIGlzIG5vdCBzZXQsIGRldGVjdCB0aGUgZmlsZXR5cGUuICBBdm9pZCBkb2luZyBpdCBmb3IKICAgICAiOndxIGZpbGUiLgpAQCAtMjI0NSw2ICsyMjMyLDEyIEBACiAKIAogJ2NpbmRlbnQnLCAnc21hcnRpbmRlbnQnOgorOCAgIEFsaWduaW5nIHdpdGggImUiIG9mICJlcnJvciIgYmVjYXVzZSBvZiB0aGUgJzonIGRvZXNuJ3QgbWFrZSBzZW5zZToKKwljb3V0IDw8ICggIGEgPyBmKCkgOiAiZXJyb3IiKQorOCAgIFdyb25nIGluZGVudCB3aXRoIGRlZmF1bHQgc2V0dGluZ3Mgd2hlbiAoZGwpIGFwcGVhcnMgaW4gdGhpcyBsaW5lOgorCSAgICAoZGwpLT5iYXJiYXIoCisJCQkgZGspOworICAgIFdoZW4gIihkbCkiIGlzIGNoYW5nZWQgdG8gImRsIiBpdCB1c2VzICdzdycgKiAyIGFzIGV4cGVjdGVkLgogOCAgIFdyb25nIGluZGVudCBiZWxvdyA/IDogd2l0aCAoKToKIAlpZiAoKGEgPyAoYikgOiBjKSAhPSAwKQogCQkgICAgICAgYWxpZ25zIHdpdGggIjoiLgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdXNyXzA1LnR4dCBiL3J1bnRpbWUvZG9jL3Vzcl8wNS50eHQKaW5kZXggZTJjNjIwNy4uMDkwNmRjNyAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdXNyXzA1LnR4dAorKysgYi9ydW50aW1lL2RvYy91c3JfMDUudHh0CkBAIC0xLDQgKzEsNCBAQAotKnVzcl8wNS50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjBjLiAgTGFzdCBjaGFuZ2U6IDIwMDYgTWFyIDI0CisqdXNyXzA1LnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMGMuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMDIKIAogCQkgICAgIFZJTSBVU0VSIE1BTlVBTCAtIGJ5IEJyYW0gTW9vbGVuYWFyCiAKQEAgLTI1LDI3ICsyNSwyNyBAQAogKjA1LjEqCVRoZSB2aW1yYyBmaWxlCQkJCQkqdmltcmMtaW50cm8qCiAKIFlvdSBwcm9iYWJseSBnb3QgdGlyZWQgb2YgdHlwaW5nIGNvbW1hbmRzIHRoYXQgeW91IHVzZSB2ZXJ5IG9mdGVuLiAgVG8gc3RhcnQKLXdpdGggYWxsIHlvdXIgZmF2b3JpdGUgb3B0aW9uIHNldHRpbmdzIGFuZCBtYXBwaW5ncywgeW91IHdyaXRlIHRoZW0gaW4gd2hhdCBpcwotY2FsbGVkIHRoZSB2aW1yYyBmaWxlLiAgVmltIHJlYWRzIHRoaXMgZmlsZSB3aGVuIGl0IHN0YXJ0cyB1cC4KK1ZpbSB3aXRoIGFsbCB5b3VyIGZhdm9yaXRlIG9wdGlvbiBzZXR0aW5ncyBhbmQgbWFwcGluZ3MsIHlvdSB3cml0ZSB0aGVtIGluCit3aGF0IGlzIGNhbGxlZCB0aGUgdmltcmMgZmlsZS4gIFZpbSBleGVjdXRlcyB0aGUgY29tbWFuZHMgaW4gdGhpcyBmaWxlIHdoZW4gaXQKK3N0YXJ0cyB1cC4KIAotSWYgeW91IGhhdmUgdHJvdWJsZSBmaW5kaW5nIHlvdXIgdmltcmMgZmlsZSwgdXNlIHRoaXMgY29tbWFuZDogPgorSWYgeW91IGFscmVhZHkgaGF2ZSBhIHZpbXJjIGZpbGUgKGUuZy4sIHdoZW4geW91ciBzeXNhZG1pbiBoYXMgb25lIHNldHVwIGZvcgoreW91KSwgeW91IGNhbiBlZGl0IGl0IHRoaXMgd2F5OiA+CiAKLQk6c2NyaXB0bmFtZXMKKwk6ZWRpdCAkTVlWSU1SQwogCi1PbmUgb2YgdGhlIGZpcnN0IGZpbGVzIGluIHRoZSBsaXN0IHNob3VsZCBiZSBjYWxsZWQgIi52aW1yYyIgb3IgIl92aW1yYyIgYW5kCi1pcyBsb2NhdGVkIGluIHlvdXIgaG9tZSBkaXJlY3RvcnkuCi0gICBJZiB5b3UgZG9uJ3QgaGF2ZSBhIHZpbXJjIGZpbGUgeWV0LCBzZWUgfHZpbXJjfCB0byBmaW5kIG91dCB3aGVyZSB5b3UgY2FuCitJZiB5b3UgZG9uJ3QgaGF2ZSBhIHZpbXJjIGZpbGUgeWV0LCBzZWUgfHZpbXJjfCB0byBmaW5kIG91dCB3aGVyZSB5b3UgY2FuCiBjcmVhdGUgYSB2aW1yYyBmaWxlLiAgQWxzbywgdGhlICI6dmVyc2lvbiIgY29tbWFuZCBtZW50aW9ucyB0aGUgbmFtZSBvZiB0aGUKICJ1c2VyIHZpbXJjIGZpbGUiIFZpbSBsb29rcyBmb3IuCiAKLUZvciBVbml4IHRoaXMgZmlsZSBpcyBhbHdheXMgdXNlZDogPgorRm9yIFVuaXggYW5kIE1hY2ludG9zaCB0aGlzIGZpbGUgaXMgYWx3YXlzIHVzZWQgYW5kIGlzIHJlY29tbWVuZGVkOgogCi0Jfi8udmltcmMKKwl+Ly52aW1yYyB+CiAKLUZvciBNUy1ET1MgYW5kIE1TLVdpbmRvd3MgaXQgaXMgbW9zdGx5IG9uZSBvZiB0aGVzZTogPgorRm9yIE1TLURPUyBhbmQgTVMtV2luZG93cyB5b3UgY2FuIHVzZSBvbmUgb2YgdGhlc2U6CiAKLQkkSE9NRS9fdmltcmMKLQkkVklNL192aW1yYworCSRIT01FL192aW1yYyB+CisJJFZJTS9fdmltcmMgfgogCiBUaGUgdmltcmMgZmlsZSBjYW4gY29udGFpbiBhbGwgdGhlIGNvbW1hbmRzIHRoYXQgeW91IHR5cGUgYWZ0ZXIgYSBjb2xvbi4gIFRoZQogbW9zdCBzaW1wbGUgb25lcyBhcmUgZm9yIHNldHRpbmcgb3B0aW9ucy4gIEZvciBleGFtcGxlLCBpZiB5b3Ugd2FudCBWaW0gdG8KZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3Vzcl8yNC50eHQgYi9ydW50aW1lL2RvYy91c3JfMjQudHh0CmluZGV4IDM4NWJjN2UuLjg1MjFkNTkgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3Vzcl8yNC50eHQKKysrIGIvcnVudGltZS9kb2MvdXNyXzI0LnR4dApAQCAtMSw0ICsxLDQgQEAKLSp1c3JfMjQudHh0KglGb3IgVmltIHZlcnNpb24gNy4wYy4gIExhc3QgY2hhbmdlOiAyMDA1IEFwciAwMQorKnVzcl8yNC50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjBjLiAgTGFzdCBjaGFuZ2U6IDIwMDYgQXByIDAyCiAKIAkJICAgICBWSU0gVVNFUiBNQU5VQUwgLSBieSBCcmFtIE1vb2xlbmFhcgogCkBAIC0yMzIsNiArMjMyLDMyIEBACiBUaGUgcmVzdWx0cyBkZXBlbmQgb24gd2hhdCBpcyBmb3VuZCBpbiB5b3VyIGZpbGUgc3lzdGVtLCBvZiBjb3Vyc2UuICBUaGUKIG1hdGNoZXMgYXJlIHNvcnRlZCBhbHBoYWJldGljYWxseS4KIAorCitDT01QTEVUSU5HIElOIFNPVVJDRSBDT0RFCisKK1NvdXJjZSBjb2RlIGZpbGVzIGFyZSB3ZWxsIHN0cnVjdHVyZWQuICBUaGF0IG1ha2VzIGl0IHBvc3NpYmxlIHRvIGRvCitjb21wbGV0aW9uIGluIGFuIGludGVsbGlnZW50IHdheS4gIEluIFZpbSB0aGlzIGlzIGNhbGxlZCBPbW5pIGNvbXBsZXRpb24uICBJbgorc29tZSBvdGhlciBlZGl0b3JzIGl0J3MgY2FsbGVkIGludGVsbGlzZW5zZSwgYnV0IHRoYXQgaXMgYSB0cmFkZW1hcmsuCisKK1RoZSBrZXkgdG8gT21uaSBjb21wbGV0aW9uIGlzIENUUkwtWCBDVFJMLU8uICBPYnZpb3VzbHkgdGhlIE8gc3RhbmRzIGZvciBPbW5pCitoZXJlLCBzbyB0aGF0IHlvdSBjYW4gcmVtZW1iZXIgaXQgZWFzaWVyLiAgTGV0J3MgdXNlIGFuIGV4YW1wbGUgZm9yIGVkaXRpbmcgQworc291cmNlOgorCisJeyB+CisJICAgIHN0cnVjdCBmb28gKnA7IH4KKwkgICAgcC0+IH4KKworVGhlIGN1cnNvciBpcyBhZnRlciAicC0+Ii4gIE5vdyB0eXBlIENUUkwtWCBDVFJMLU8uICBWaW0gd2lsbCBvZmZlciB5b3UgYSBsaXN0CitvZiBhbHRlcm5hdGl2ZXMsIHdoaWNoIGFyZSB0aGUgaXRlbXMgdGhhdCAic3RydWN0IGZvbyIgY29udGFpbnMuICBUaGF0IGlzCitxdWl0ZSBkaWZmZXJlbnQgZnJvbSB1c2luZyBDVFJMLVAsIHdoaWNoIHdvdWxkIGNvbXBsZXRlIGFueSB3b3JkLCB3aGlsZSBvbmx5CittZW1iZXJzIG9mICJzdHJ1Y3QgZm9vIiBhcmUgdmFsaWQgaGVyZS4KKworRm9yIE9tbmkgY29tcGxldGlvbiB0byB3b3JrIHlvdSBtYXkgbmVlZCB0byBkbyBzb21lIHNldHVwLiAgRm9yIEMgY29kZSB5b3UKK25lZWQgdG8gY3JlYXRlIGEgdGFncyBmaWxlIGFuZCBzZXQgdGhlICd0YWdzJyBvcHRpb24uICBUaGF0IGlzIGV4cGxhaW5lZAorfGZ0LWMtb21uaXwuICBGb3Igb3RoZXIgZmlsZXR5cGVzIHlvdSBtYXkgbmVlZCB0byBkbyBzb21ldGhpbmcgc2ltaWxhciwgbG9vaworYmVsb3cgfGNvbXBsLW9tbmktZmlsZXR5cGVzfC4gIEl0IG9ubHkgd29ya3MgZm9yIHNwZWNpZmljIGZpbGV0eXBlcy4gIENoZWNrCit0aGUgdmFsdWUgb2YgdGhlICdvbW5pZnVuYycgb3B0aW9uIHRvIGZpbmQgb3V0IGlmIGl0IHdvdWxkIHdvcmsuCisKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogKjI0LjQqCVJlcGVhdGluZyBhbiBpbnNlcnQKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdXNyXzMxLnR4dCBiL3J1bnRpbWUvZG9jL3Vzcl8zMS50eHQKaW5kZXggYTVmYzAyZS4uODZkZTQwZCAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdXNyXzMxLnR4dAorKysgYi9ydW50aW1lL2RvYy91c3JfMzEudHh0CkBAIC0xLDQgKzEsNCBAQAotKnVzcl8zMS50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjBjLiAgTGFzdCBjaGFuZ2U6IDIwMDYgTWFyIDI0CisqdXNyXzMxLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMGMuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMDIKIAogCQkgICAgIFZJTSBVU0VSIE1BTlVBTCAtIGJ5IEJyYW0gTW9vbGVuYWFyCiAKQEAgLTI0OSw2ICsyNDksMTEgQEAKIGFuIHh0ZXJtIHRoYXQgc3VwcG9ydHMgcmVzaXppbmcpLgogICAgVGhlIGd2aW1yYyBmaWxlIGlzIHNlYXJjaGVkIGZvciBpbiB0aGUgc2FtZSBsb2NhdGlvbnMgYXMgdGhlIHZpbXJjIGZpbGUuCiBOb3JtYWxseSBpdCdzIG5hbWUgaXMgIn4vLmd2aW1yYyIgZm9yIFVuaXggYW5kICIkVklNL19ndmltcmMiIGZvciBNUy1XaW5kb3dzLgorVGhlICRNWUdWSU1SQyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBzZXQgdG8gaXQsIHRodXMgeW91IGNhbiB1c2UgdGhpcyBjb21tYW5kCit0byBlZGl0IHRoZSBmaWxlLCBpZiB5b3UgaGF2ZSBvbmU6ID4KKworCTplZGl0ICRNWUdWSU1SQworPAogICAgSWYgZm9yIHNvbWUgcmVhc29uIHlvdSBkb24ndCB3YW50IHRvIHVzZSB0aGUgbm9ybWFsIGd2aW1yYyBmaWxlLCB5b3UgY2FuCiBzcGVjaWZ5IGFub3RoZXIgb25lIHdpdGggdGhlICItVSIgYXJndW1lbnQ6ID4KIApkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdXNyX3RvYy50eHQgYi9ydW50aW1lL2RvYy91c3JfdG9jLnR4dAppbmRleCBiMjFiN2MzLi4xY2UyN2IyIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy91c3JfdG9jLnR4dAorKysgYi9ydW50aW1lL2RvYy91c3JfdG9jLnR4dApAQCAtMSw0ICsxLDQgQEAKLSp1c3JfdG9jLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMGMuICBMYXN0IGNoYW5nZTogMjAwNiBNYXIgMjQKKyp1c3JfdG9jLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMGMuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMDIKIAogCQkgICAgIFZJTSBVU0VSIE1BTlVBTCAtIGJ5IEJyYW0gTW9vbGVuYWFyCiAKQEAgLTQ5LDcgKzQ5LDcgQEAKIAogCiBSZWZlcmVuY2UgbWFudWFsCi18cmVmLXRvY3wgICAgIE1vcmUgZGV0YWlsZWQgaW5mb3JtYXRpb24gZm9yIGFsbCBjb21tYW5kcworfHJlZmVyZW5jZV90b2N8ICAgICBNb3JlIGRldGFpbGVkIGluZm9ybWF0aW9uIGZvciBhbGwgY29tbWFuZHMKIAogVGhlIHVzZXIgbWFudWFsIGlzIGF2YWlsYWJsZSBhcyBhIHNpbmdsZSwgcmVhZHkgdG8gcHJpbnQgSFRNTCBhbmQgUERGIGZpbGUKIGhlcmU6CmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy92ZXJzaW9uNy50eHQgYi9ydW50aW1lL2RvYy92ZXJzaW9uNy50eHQKaW5kZXggNDYzNTZiMC4uOGU1NWFhYyAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdmVyc2lvbjcudHh0CisrKyBiL3J1bnRpbWUvZG9jL3ZlcnNpb243LnR4dApAQCAtMSw0ICsxLDQgQEAKLSp2ZXJzaW9uNy50eHQqICBGb3IgVmltIHZlcnNpb24gNy4wYy4gIExhc3QgY2hhbmdlOiAyMDA2IE1hciAyOQorKnZlcnNpb243LnR4dCogIEZvciBWaW0gdmVyc2lvbiA3LjBjLiAgTGFzdCBjaGFuZ2U6IDIwMDYgQXByIDA1CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC04Niw2ICs4NiwxMiBAQAogRm9yIGZpbGV0eXBlIGRldGVjdGlvbjogRm9yIG1hbnkgdHlwZXMsIGluc3RlYWQgb2Ygfi8uZGlyL2ZpbGVuYW1lIHVzZQogKi8uZGlyL2ZpbGVuYW1lLCBzbyB0aGF0IGl0IGFsc28gd29ya3MgZm9yIG90aGVyIHVzZXIncyBmaWxlcy4KIAorRm9yIHF1aXRlIGEgZmV3IGZpbGV0eXBlcyB0aGUgaW5kZW50IHNldHRpbmdzIGhhdmUgYmVlbiBtb3ZlZCBmcm9tIHRoZQorZmlsZXR5cGUgcGx1Z2luIHRvIHRoZSBpbmRlbnQgcGx1Z2luLiAgSWYgeW91IHVzZWQ6ID4KKwk6ZmlsZXR5cGUgcGx1Z2luIG9uCitUaGVuIHNvbWUgaW5kZW50IHNldHRpbmdzIG1heSBiZSBtaXNzaW5nLiAgWW91IG5lZWQgdG8gdXNlOiA+CisJOmZpbGV0eXBlIHBsdWdpbiBpbmRlbnQgb24KKwogIjowdmVyYm9zZSIgbm93IHNldHMgJ3ZlcmJvc2UnIHRvIHplcm8gaW5zdGVhZCBvZiBvbmUuCiAKIFJlbW92ZWQgdGhlIG9sZCBhbmQgaW5jb21wbGV0ZSAiVmltQnVkZHkiIGNvZGUuCkBAIC0xNTEsNiArMTU3LDEwIEBACiBhYmJyZXZpYXRlZC4gIFRoaXMgY2F1c2VkIHVuZXhwZWN0ZWQgYmVoYXZpb3IsIHN1Y2ggYXMgPGxpPiBiZWluZyByZWNvZ25pemVkCiBhcyA8bGluZTE+LiAgVGhlIGl0ZW1zIGNhbiBubyBsb25nZXIgYmUgYWJicmV2aWF0ZWQuCiAKK1doZW4gZXhlY3V0aW5nIGEgRmlsZUNoYW5nZWRSTyBhdXRvY29tbWFuZCBpdCBpcyBubyBsb25nZXIgYWxsb3dlZCB0byBzd2l0Y2gKK3RvIGFub3RoZXIgYnVmZmVyIG9yIGVkaXQgYW5vdGhlciBmaWxlLiAgVGhpcyBpcyB0byBwcmV2ZW50IGNyYXNoZXMgKHRoZSBldmVudAoraXMgdHJpZ2dlcmVkIGRlZXAgZG93biBpbiB0aGUgY29kZSB3aGVyZSBjaGFuZ2luZyBidWZmZXJzIGlzIG5vdCBhbnRpY2lwYXRlZCkuCisKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogTkVXIEZFQVRVUkVTCQkJCQkJKm5ldy03KgogCkBAIC0xNzAsNyArMTgwLDcgQEAKIGNhbiBiZSB1c2VkIHRvIHR1cm4gdGhlIHN0cmluZyBiYWNrIGludG8gdGhlIHZhcmlhYmxlIHZhbHVlLgogCiBUaGUgfDpsZXR8IGNvbW1hbmQgY2FuIG5vdyB1c2UgIis9Ii4gICI6bGV0IHZhciArPSBleHByIiB3b3JrcyBsaWtlCi0iOmxldCB2YXIgPSB2YXIgKyBleHByIi4gICItPSIgYW5kICIuPSIgd29ya3MgaW4gYSBzaW1pbGFyIHdheS4KKyI6bGV0IHZhciA9IHZhciArIGV4cHIiLiAgIi09IiBhbmQgIi49IiB3b3JrIGluIGEgc2ltaWxhciB3YXkuCiAKIFdpdGggdGhlIHw6cHJvZmlsZXwgY29tbWFuZCB5b3UgY2FuIGZpbmQgb3V0IHdoZXJlIHlvdXIgZnVuY3Rpb24gb3Igc2NyaXB0CiB3YXN0ZXMgaXRzIHRpbWUuCkBAIC0yNzcsNiArMjg3LDggQEAKIFRoZSB8LS1yZW1vdGUtdGFifCBhcmd1bWVudCBjYW4gYmUgdXNlZCB0byBlZGl0IGEgZmlsZSBpbiBhIG5ldyB0YWIgcGFnZSBpbiBhbgogYWxyZWFkeSBydW5uaW5nIFZpbSBzZXJ2ZXIuCiAKK1ZhcmlhYmxlcyBzdGFydGluZyB3aXRoICJ0OiIgYXJlIGxvY2FsIHRvIGEgdGFiIHBhZ2UuCisKIE1vcmUgaW5mbyBoZXJlOiB8dGFicGFnZXwKIFRoZSBXaW4zMiBHVUkgdGFicyB3ZXJlIGltcGxlbWVudGVkIGJ5IFllZ2FwcGFuIExha3NobWFuYW4uCiAKQEAgLTc0Nyw2ICs3NTksNyBAQAogfG1hcGFyZygpfAkJZXh0cmEgYXJndW1lbnQ6IHVzZSBhYmJyZXZpYXRpb24KIHxtYXBjaGVjaygpfAkJZXh0cmEgYXJndW1lbnQ6IHVzZSBhYmJyZXZpYXRpb24KIHxtYXRjaCgpfAkJZXh0cmEgYXJndW1lbnQ6IGNvdW50Cit8bWF0Y2hhcmcoKXwJCXJldHVybiBhcmd1bWVudHMgb2YgfDptYXRjaHwgY29tbWFuZAogfG1hdGNoZW5kKCl8CQlleHRyYSBhcmd1bWVudDogY291bnQKIHxtYXRjaGxpc3QoKXwJCWxpc3Qgd2l0aCBtYXRjaCBhbmQgc3VibWF0Y2hlcyBvZiBhIHBhdHRlcm4gaW4gYSBzdHJpbmcKIHxtYXRjaHN0cigpfAkJZXh0cmEgYXJndW1lbnQ6IGNvdW50CkBAIC05ODEsNiArOTk0LDExIEBACiAKIE90aGVyczogfgogCitUaGUgfDpyZWFkfCBjb21tYW5kIGhhcyB0aGUgfCsrZWRpdHwgYXJndW1lbnQuICBUaGlzIG1lYW5zIGl0IHdpbGwgdXNlIHRoZQorZGV0ZWN0ZWQgJ2ZpbGVmb3JtYXQnLCAnZmlsZWVuY29kaW5nJyBhbmQgb3RoZXIgb3B0aW9ucyBmb3IgdGhlIGJ1ZmZlci4gIFRoaXMKK2Fsc28gZml4ZXMgdGhlIHByb2JsZW0gdGhhdCBlZGl0aW5nIGEgY29tcHJlc3NlZCBmaWxlIGRpZG4ndCBzZXQgdGhlc2UKK29wdGlvbnMuCisKIFRoZSBOZXRiZWFucyBpbnRlcmZhY2Ugd2FzIHVwZGF0ZWQgZm9yIFN1biBTdHVkaW8gMTAuICBUaGUgcHJvdG9jb2wgbnVtYmVyCiBnb2VzIGZyb20gMi4yIHRvIDIuMy4gKEdvcmRvbiBQcmlldXIpCiAKQEAgLTEwNTYsNiArMTA3NCw5IEBACiAKIFJ1YnkgaW50ZXJmYWNlOiBhZGQgbGluZSBudW1iZXIgbWV0aG9kcy4gKFJ5YW4gUGF1bCkKIAorVGhlICRNWVZJTVJDIGVudmlyb25tZW50IHZhcmlhYmxlIGlzIHNldCB0byB0aGUgZmlyc3QgZm91bmQgdmltcmMgZmlsZS4KK1RoZSAkTVlHVklNUkMgZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgc2V0IHRvIHRoZSBmaXJzdCBmb3VuZCBndmltcmMgZmlsZS4KKwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiBJTVBST1ZFTUVOVFMJCQkJCQkqaW1wcm92ZW1lbnRzLTcqCiAKQEAgLTIxODMsNyArMjIwNCw3IEBACiBSdWJ5IGludGVyZmFjZTogd2hlbiBpbnNlcnRpbmcvZGVsZXRpbmcgbGluZXMgZGlzcGxheSB3YXNuJ3QgdXBkYXRlZC4gKFJ5YW4KIFBhdWwpCiAKLS0tLSBmaXhlcyBzaW5jZSBWaW0gNi4wYiAtLS0KKy0tLSBmaXhlcyBzaW5jZSBWaW0gNy4wYiAtLS0KIAogR2V0dGluZyB0aGUgR0NDIHZlcnNpb24gaW4gY29uZmlndXJlIGRpZG4ndCB3b3JrIHdpdGggU29sYXJpcyBzZWQuICBGaXJzdAogc3RyaXAgYW55ICJkYXJ3aW4uIiBhbmQgdGhlbiBnZXQgdGhlIHZlcnNpb24gbnVtYmVyLgpAQCAtMjIxNyw3ICsyMjM4LDcgQEAKIAogVHlwaW5nIEJTIGF0IHRoZSAiej0iIHByb21wdCByZW1vdmVkIHRoZSBwcm9tcHQuCiAKLS0tLSBmaXhlcyBzaW5jZSBWaW0gNi4wYyAtLS0KKy0tLSBmaXhlcyBzaW5jZSBWaW0gNy4wYyAtLS0KIAogV2hlbiBqdW1waW5nIHRvIGFub3RoZXIgdGFiIHBhZ2UgdGhlIFZpbSB3aW5kb3cgc2l6ZSB3YXMgYWx3YXlzIHNldCwgZXZlbiB3aGVuCiBub3RoaW5nIGluIHRoZSBsYXlvdXQgY2hhbmdlZC4KQEAgLTIyNTUsNCArMjI3NiwxMTMgQEAKIFdpbjMyOiBTZXQgdGhlIGRlZmF1bHQgZm9yICdpc3ByaW50JyBiYWNrIHRvIHRoZSB3cm9uZyBkZWZhdWx0ICJALH4tMjU1IiwKIGJlY2F1c2UgbWFueSBwZW9wbGUgdXNlIFdpbmRvd3MtMTI1MiB3aGlsZSAnZW5jb2RpbmcnIGlzICJsYXRpbjEiLgogCitHVEs6IEFkZGVkIGEgd29ya2Fyb3VuZCBmb3IgZ3ZpbSBjcmFzaGluZyB3aGVuIHVzZWQgb3ZlciBhbiB1bnRydXN0ZWQgc3NoCitsaW5rLCBjYXVzZWQgYnkgR1RLIGRvaW5nIHNvbWV0aGluZyBuYXN0eS4gKEVkIENhdG11cikKKworV2luMzI6IFRoZSBmb250IHVzZWQgZm9yIHRoZSB0YWIgcGFnZSBsYWJlbHMgaXMgdG9vIGJpZy4gIFVzZSB0aGUgc3lzdGVtIG1lbnUKK2ZvbnQuIChHZW9yZ2UgUmVpbGx5KQorCitXaW4zMjogQWRqdXN0aW5nIHRoZSB3aW5kb3cgcG9zaXRpb24gYW5kIHNpemUgdG8ga2VlcCBpdCBvbiB0aGUgc2NyZWVuIGRpZG4ndAord29yayBwcm9wZXJseSB3aGVuIHRoZSB0YXNrYmFyIGlzIG9uIHRoZSBsZWZ0IG9yIHRvcCBvZiB0aGUgc2NyZWVuLgorCitUaGUgaW5zdGFsbG1hbi5zaCBhbmQgaW5zdGFsbG1sLnNoIHNjcmlwdHMgdXNlICR7MTB9LCB0aGF0IGRpZG4ndCB3b3JrIHdpdGgKK29sZCBzaGVsbHMuICBBbmQgdXNlICJ0ZXN0IC1mIiBpbnN0ZWFkIG9mICJ0ZXN0IC1lIi4KKworV2luMzI6IFdoZW4gJ2VuY29kaW5nJyB3YXMgc2V0IGluIHRoZSB2aW1yYyB0aGVuIGEgZGlyZWN0b3J5IGFyZ3VtZW50IGZvciBkaWZmCittb2RlIGRpZG4ndCB3b3JrLgorCitHVUk6IGF0IHRoZSBpbnB1dGxpc3QoKSBwcm9tcHQgdGhlIGN1cnNvcnNoYXBlIHdhcyBhZGp1c3RlZCBhcyBpZiB0aGUgd2luZG93cword2VyZSBzdGlsbCBhdCB0aGVpciBvbGQgcG9zaXRpb24uCisKK1RoZSBwYXJlbm1hdGNoIHBsdWdpbiBkaWRuJ3QgcmVtZW1iZXIgdGhlIGhpZ2hsaWdodGluZyBwZXIgd2luZG93LgorCitVc2luZyAiOmJkIiBmb3IgYSBidWZmZXIgdGhhdCdzIHRoZSBjdXJyZW50IHdpbmRvdyBpbiBhbm90aGVyIHRhYiBwYWdlIGNhdXNlZAorYSBjcmFzaC4KKworRm9yIGEgbmV3IHRhYiBwYWdlIHRoZSAnc2Nyb2xsJyBvcHRpb24gd2Fzbid0IHNldCB0byBhIGdvb2QgZGVmYXVsdC4KKworVXNpbmcgYW4gZW5kIG9mZnNldCBmb3IgYSBzZWFyY2ggIi9wYXQvZSIgZGlkbid0IHdvcmsgcHJvcGVybHkgZm9yIG11bHRpLWJ5dGUKK3RleHQuIChZdWtpaGlybyBOYWthZGFpcmEpCisKKyI6cy9cbi8sLyIgZG91YmxlZCB0aGUgdGV4dCB3aGVuIHVzZWQgb24gdGhlIGxhc3QgbGluZS4KKworV2hlbiAic2VhcmNoIiBpcyBpbiAnZm9sZG9wZW4nICJbcyIgYW5kICJdcyIgbm93IG9wZW4gZm9sZHMuCisKK1doZW4gdXNpbmcgYSBudW1iZXJlZCBmdW5jdGlvbiAiZGljdCIgY2FuIGJlIG9taXR0ZWQsIGJ1dCAic2VsZiIgZGlkbid0IHdvcmsKK3RoZW4uICBBbHdheXMgYWRkIEZDX0RJQ1QgdG8gdGhlIGZ1bmN0aW9uIGZsYWdzIHdoZW4gaXQncyBwYXJ0IG9mIGEKK2RpY3Rpb25hcnkuCisKK1doZW4gIi0tcmVtb3RlLXRhYiIgZXhlY3V0ZXMgbG9jYWxseSBpdCBsZWZ0IGFuIGVtcHR5IHRhYiBwYWdlLgorCisiZ3ZpbSAtdSBOT05FIiwgIjpzZXQgY3Vyc29yY29sdW1uIiwgIkMiIGluIHRoZSBzZWNvbmQgbGluZSBkaWRuJ3QgdXBkYXRlCit0ZXh0LiAgRG8gdXBkYXRlIGZ1cnRoZXIgbGluZXMgZXZlbiB0aG91Z2ggdGhlICIkIiBpcyBkaXNwbGF5ZWQuCisKK1ZNUzogU3VwcG9ydCBHVEsgYmV0dGVyLCBhbHNvIGVuYWJsZSArY2xpZW50c2VydmVyLiAoWm9sdGFuIEFycGFkZmZ5KQorCitXaGVuIGhpZ2hsaWdodGluZyBvZiBzdGF0dXNsaW5lIG9yIHRhYmxpbmUgaXMgY2hhbmdlZCB0aGVyZSB3YXMgbm8gcmVkcmF3IHRvCitzaG93IHRoZSBlZmZlY3QuCisKK01hYzogQWRkZWQgIkNGQnVuZGxlSWRlbnRpZmllciIgdG8gaW5mcGxpc3QueG1sLgorCitBZGRlZCB0YWJwYWdlLWxvY2FsIHZhcmlhYmxlcyB0OnZhci4KKworV2luMzI6IEFkZGVkIGRvdWJsZS1jbGljayBpbiB0YWIgcGFnZXMgbGluZSBjcmVhdGVzIG5ldyB0YWIuIChZZWdhcHBhbgorTGFrc2htYW5hbikKKworTW90aWY6IEFkZGVkIEdVSSB0YWIgcGFnZXMgbGluZS4gKFllZ2FwcGFuIExha3NobWFuYW4pCisKK0ZpeGVkIGNyYXNoIHdoZW4gJ2xpbmVzJyB3YXMgc2V0IHRvIDEwMDAgaW4gYSBtb2RlbGluZS4KKworV2hlbiBpbml0X3NwZWxsZmlsZSgpIGZpbmRzIGEgd3JpdGFibGUgZGlyZWN0b3J5IGluICdydW50aW1lcGF0aCcgYnV0IGl0Citkb2Vzbid0IGNvbnRhaW4gYSAic3BlbGwiIGRpcmVjdG9yeSwgY3JlYXRlIG9uZS4KKworV2luMzI6IGV4ZWN1dGFibGUoKSBhbHNvIGZpbmRzICJ4eGQiIGluIHRoZSBkaXJlY3Rvcnkgd2hlcmUgVmltIHdhcyBzdGFydGVkLAorYnV0ICIheHhkIiBkb2Vzbid0IHdvcmsuICBBcHBlbmQgdGhlIFZpbSBzdGFydGluZyBkaXJlY3RvcnkgdG8gJFBBVEguCisKK1RoZSB0YWIgcGFnZSBsYWJlbHMgYXJlIHNob3J0ZW5lZCwgZGlyZWN0b3J5IG5hbWVzIGFyZSByZWR1Y2VkIHRvIGEgc2luZ2xlCitsZXR0ZXIgYnkgZGVmYXVsdC4gIEFkZGVkIHRoZSBwYXRoc2hvcnRlbigpIGZ1bmN0aW9uIHRvIGFsbG93IGEgdXNlciB0byBkbyB0aGUKK3NhbWUuCisKKyI6c2F2ZWFzIiBub3cgcmVzZXRzICdyZWFkb25seScgaWYgdGhlIGZpbGUgd2FzIHN1Y2Nlc3NmdWxseSB3cml0dGVuLgorCitTZXQgJE1ZVklNUkMgZmlsZSB0byB0aGUgZmlyc3QgZm91bmQgLnZpbXJjIGZpbGUuCitTZXQgJE1ZR1ZJTVJDIGZpbGUgdG8gdGhlIGZpcnN0IGZvdW5kIC5ndmltcmMgZmlsZS4KK0FkZGVkIG1lbnUgaXRlbSAiU3RhcnR1cCBTZXR0aW5ncyIgdGhhdCBlZGl0cyB0aGUgJE1ZVklNUkMgZmlsZQorCitBZGRlZCBtYXRjaGFyZygpLgorCitFcnJvciBtZXNzYWdlIEU3NDUgYXBwZWFyZWQgdHdpY2UuICBSZW5hbWVkIG9uZSB0byBFNzg2LgorCitGaXhlZCBjcmFzaCB3aGVuIHVzaW5nICJhdSBCdWZSZWFkICogU2V4cGxvcmUiIGFuZCBkb2luZyAiOmhlbHAiLiAgV2FzIHdpcGluZworb3V0IGEgYnVmZmVyIHRoYXQncyBzdGlsbCBpbiBhIHdpbmRvdy4KKworIjpoYXJkY29weSIgcmVzdWx0ZWQgaW4gYW4gZXJyb3IgbWVzc2FnZSB3aGVuICdlbmNvZGluZycgaXMgInV0Zi04IiBhbmQKKydwcmludGVuY29kaW5nJyBpcyBlbXB0eS4gIE5vdyBpdCBhc3N1bWVzIGxhdGluMS4gKE1pa2UgV2lsbGlhbXMpCisKK1RoZSBjaGVjayBmb3IgdGhlIHRvb2xiYXIgZmVhdHVyZSBmb3IgTW90aWYsIGRlcGVuZGluZyBvbiBjZXJ0YWluIGluY2x1ZGVkCitmaWxlcywgd2Fzbid0IGRldGFpbGVkIGVub3VnaCwgY2F1c2luZyBidWlsZGluZyB0byBmYWlsIGluIGd1aV94bWVidy5jLgorCitVc2luZyBDVFJMLUUgaW4gSW5zZXJ0IG1vZGUgY29tcGxldGlvbiBhZnRlciBDVFJMLVAgaW5zZXJ0ZWQgdGhlIGZpcnN0IG1hdGNoCitpbnN0ZWFkIG9mIHRoZSBvcmlnaW5hbCB0ZXh0LgorCitXaGVuIGRpc3BsYXlpbmcgYSBVVEYtOCBjaGFyYWN0ZXIgd2l0aCBhIHplcm8gbG93ZXIgYnl0ZSBWaW0gbWlnaHQgdGhpbmsgdGhlCitwcmV2aW91cyBjaGFyYWN0ZXIgaXMgZG91YmxlLXdpZGUuCisKK1RoZSAibmJzcCIgaXRlbSBvZiAnbGlzdGNoYXJzJyBkaWRuJ3Qgd29yayB3aGVuICdlbmNvZGluZycgd2FzIHV0Zi04LgorCitNb3RpZjogd2hlbiBYbS94cG0uaCBpcyBtaXNzaW5nIGd1aV94bWVidy5jIHdvdWxkIG5vdCBjb21waWxlLgorSEFWRV9YTV9VTkhJR0hMSUdIVFRfSCB3YXMgbWlzc2luZyBhIFQuCisKK01hYzogTW92ZWQgdGhlIC5pY25zIGZpbGVzIGludG8gc3JjL29zX21hY19yc3JjLCBzbyB0aGF0IHRoZXkgY2FuIGFsbCBiZQorY29waWVkIGF0IG9uY2UuICBBZGp1c3RlZCB0aGUgSW5mby5wbGlzdCBmaWxlIGZvciB0aHJlZSBpY29ucy4KKworV2hlbiBWaXN1YWwgbW9kZSBpcyBhY3RpdmUgd2hpbGUgc3dpdGNoaW5nIHRvIGFub3RoZXIgdGFicGFnZSBjb3VsZCBnZXQgbWxfZ2V0CitlcnJvcnMuCisKK1doZW4gJ2xpc3QnIGlzIHNldCwgJ25vd3JhcCcgdGhlICQgaW4gdGhlIGZpcnN0IGNvbHVtbiBjYXVzZWQgJ2N1cnNvcmNvbHVtbicKK3RvIG1vdmUgdG8gdGhlIHJpZ2h0LgorCitXaGVuIGEgbGluZSB3cmFwcywgJ2N1cnNvcmNvbHVtbicgd2FzIG5ldmVyIGRpc3BsYXllZCBwYXN0IHRoZSBlbmQgb2YgdGhlCitsaW5lLgorCiAgdmltOnR3PTc4OnRzPTg6ZnQ9aGVscDpub3JsOgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdmltYmFsbC50eHQgYi9ydW50aW1lL2RvYy92aW1iYWxsLnR4dAppbmRleCAzMDVhZjk2Li4xZmMxZTM2IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy92aW1iYWxsLnR4dAorKysgYi9ydW50aW1lL2RvYy92aW1iYWxsLnR4dApAQCAtMSw0ICsxLDQgQEAKLSp2aW1iYWxsLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMGMuICBMYXN0IGNoYW5nZTogMjAwNiBNYXIgMjQKKyp2aW1iYWxsLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMGMuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMDEKIAogCVZpbWJhbGwgQXJjaGl2ZXIKIApAQCAtNTYsNiArNTYsOSBAQAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAzLiBWaW1iYWxsIEhpc3RvcnkJCQkJCSp2aW1iYWxsLWhpc3RvcnkqCiAKKwk0ICA6IE1hciAzMSwgMjAwNiAqIEJ1ZlJlYWRQb3N0IHNlZW1zIHRvIGZpcmUgdHdpY2U7IEJ1ZlJlYWRFbnRlcgorCSAgICAgICAgICAgICAgICAgICAgb25seSBmaXJlcyBvbmNlLCBzbyB0aGUgIlNvdXJjZSB0aGlzIGZpbGUuLi4iCisJCQkgICAgbWVzc2FnZSBpcyBub3cgaXNzdWVkIG9ubHkgb25jZS4KIAkzICA6IE1hciAyMCwgMjAwNiAqIHJlbW92ZWQgcXVlcnksIG5vdyByZXF1aXJlcyBzb3VyY2luZyB0byBiZQogCSAgICAgICAgICAgICAgICAgICAgZXh0cmFjdGVkICg6c28gJSkuICBNZXNzYWdlIHRvIHRoYXQgZWZmZWN0CiAJCQkgICAgaW5jbHVkZWQuCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy93aW5kb3dzLnR4dCBiL3J1bnRpbWUvZG9jL3dpbmRvd3MudHh0CmluZGV4IDk1NDM3M2UuLmI2ZGI1NDAgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3dpbmRvd3MudHh0CisrKyBiL3J1bnRpbWUvZG9jL3dpbmRvd3MudHh0CkBAIC0xLDQgKzEsNCBAQAotKndpbmRvd3MudHh0KiAgIEZvciBWaW0gdmVyc2lvbiA3LjBjLiAgTGFzdCBjaGFuZ2U6IDIwMDYgTWFyIDExCisqd2luZG93cy50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuMGMuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMDEKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTMzLDcgKzMzLDcgQEAKIGRpc2FibGVkIGF0IGNvbXBpbGUgdGltZX0KIAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0xLiBJbnRyb2R1Y3Rpb24JCQkJCQkqd2luZG93cy1pbnRybyoKKzEuIEludHJvZHVjdGlvbgkJCQkJKndpbmRvd3MtaW50cm8qICp3aW5kb3cqCiAKIEEgd2luZG93IGlzIGEgdmlld3BvcnQgb250byBhIGJ1ZmZlci4gIFlvdSBjYW4gdXNlIG11bHRpcGxlIHdpbmRvd3Mgb24gb25lCiBidWZmZXIsIG9yIHNldmVyYWwgd2luZG93cyBvbiBkaWZmZXJlbnQgYnVmZmVycy4KQEAgLTYxOCwxMyArNjE4LDE1IEBACiAJCVRoZSB8YXJndW1lbnQtbGlzdHwgaXMgc2V0LCBsaWtlIHdpdGggdGhlIHw6bmV4dHwgY29tbWFuZC4KIAkJVGhlIHB1cnBvc2Ugb2YgdGhpcyBjb21tYW5kIGlzIHRoYXQgaXQgY2FuIGJlIHVzZWQgZnJvbSBhCiAJCXByb2dyYW0gdGhhdCB3YW50cyBWaW0gdG8gZWRpdCBhbm90aGVyIGZpbGUsIGUuZy4sIGEgZGVidWdnZXIuCisJCVdoZW4gdXNpbmcgdGhlIHw6dGFifCBtb2RpZmllciBlYWNoIGFyZ3VtZW50IGlzIG9wZW5lZCBpbiBhCisJCXRhYiBwYWdlLiAgVGhlIGxhc3Qgd2luZG93IGlzIHVzZWQgaWYgaXQncyBlbXB0eS4KIAkJe29ubHkgYXZhaWxhYmxlIHdoZW4gY29tcGlsZWQgd2l0aCB0aGUgK2d1aSBmZWF0dXJlfQogCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIDguIERvIGEgY29tbWFuZCBpbiBhbGwgYnVmZmVycyBvciB3aW5kb3dzCQkJKmxpc3QtcmVwZWF0KgogCiAJCQkJCQkJKjp3aW5kbyoKLTp3aW5kb1shXSB7Y21kfQkJRXhlY3V0ZSB7Y21kfSBpbiBlYWNoIHdpbmRvdy4KKzp3aW5kbyB7Y21kfQkJRXhlY3V0ZSB7Y21kfSBpbiBlYWNoIHdpbmRvdy4KIAkJCUl0IHdvcmtzIGxpa2UgZG9pbmcgdGhpczogPgogCQkJCUNUUkwtVyB0CiAJCQkJOntjbWR9CmRpZmYgLS1naXQgYS9ydW50aW1lL2ZpbGV0eXBlLnZpbSBiL3J1bnRpbWUvZmlsZXR5cGUudmltCmluZGV4IGNhZDJjYzEuLjhkMWYxNTUgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZmlsZXR5cGUudmltCisrKyBiL3J1bnRpbWUvZmlsZXR5cGUudmltCkBAIC0xLDcgKzEsNyBAQAogIiBWaW0gc3VwcG9ydCBmaWxlIHRvIGRldGVjdCBmaWxlIHR5cGVzCiAiCiAiIE1haW50YWluZXI6CUJyYW0gTW9vbGVuYWFyIDxCcmFtQHZpbS5vcmc+Ci0iIExhc3QgQ2hhbmdlOgkyMDA2IE1hciAyOAorIiBMYXN0IENoYW5nZToJMjAwNiBBcHIgMDQKIAogIiBMaXN0ZW4gdmVyeSBjYXJlZnVsbHksIEkgd2lsbCBzYXkgdGhpcyBvbmx5IG9uY2UKIGlmIGV4aXN0cygiZGlkX2xvYWRfZmlsZXR5cGVzIikKQEAgLTE0Niw3ICsxNDYsNyBAQAogCVwgZW5kaWYKIAogIiBHcnViIChtdXN0IGJlIGJlZm9yZSBjYXRjaCAqLmxzdCkKLWF1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCAvYm9vdC9ncnViL21lbnUubHN0LC9ib290L2dydWIvZ3J1Yi5jb25mCXNldGYgZ3J1YgorYXUgQnVmTmV3RmlsZSxCdWZSZWFkIC9ib290L2dydWIvbWVudS5sc3QsL2Jvb3QvZ3J1Yi9ncnViLmNvbmYsL2V0Yy9ncnViLmNvbmYJc2V0ZiBncnViCiAKICIgQXNzZW1ibHkgKGFsbCBraW5kcykKICIgKi5sc3QgaXMgbm90IHB1cmUgYXNzZW1ibHksIGl0IGhhcyB0d28gZXh0cmEgY29sdW1ucyAoYWRkcmVzcywgYnl0ZSBjb2RlcykKQEAgLTYwMiwxMCArNjAyLDEwIEBACiBhdSBCdWZOZXdGaWxlLEJ1ZlJlYWQgKi5mcywqLmZ0CQkJc2V0ZiBmb3J0aAogCiAiIEZvcnRyYW4KLWF1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCAqLmYsKi5GLCouZm9yLCouZnBwLCouRlBQKi5mdG4sKi5mNzcsKi5GNzcsKi5mOTAsKi5GOTAsKi5mOTUsKi5GOTUJc2V0ZiBmb3J0cmFuCithdSBCdWZOZXdGaWxlLEJ1ZlJlYWQgKi5mLCouRiwqLmZvciwqLmZwcCwqLkZQUCwqLmZ0biwqLmY3NywqLkY3NywqLmY5MCwqLkY5MCwqLmY5NSwqLkY5NQlzZXRmIGZvcnRyYW4KIAogIiBGU3RhYgotYXUgQnVmTmV3RmlsZSxCdWZSZWFkIGZzdGFiCQkJc2V0ZiBmc3RhYgorYXUgQnVmTmV3RmlsZSxCdWZSZWFkIGZzdGFiLG10YWIJCXNldGYgZnN0YWIKIAogIiBHREIgY29tbWFuZCBmaWxlcwogYXUgQnVmTmV3RmlsZSxCdWZSZWFkIC5nZGJpbml0CQkJc2V0ZiBnZGIKQEAgLTg4MCw3ICs4ODAsNyBAQAogYXUgQnVmTmV3RmlsZSxCdWZSZWFkICoubWFuCQkJc2V0ZiBtYW4KIAogIiBNYW4gY29uZmlnCi1hdSBCdWZOZXdGaWxlLEJ1ZlJlYWQgL2V0Yy9tYW4uY29uZgkJc2V0ZiBtYW5jb25mCithdSBCdWZOZXdGaWxlLEJ1ZlJlYWQgL2V0Yy9tYW4uY29uZixtYW4uY29uZmlnCXNldGYgbWFuY29uZgogCiAiIE1hcGxlIFYKIGF1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCAqLm12LCoubXBsLCoubXdzCQlzZXRmIG1hcGxlCkBAIC0xNTU1LDYgKzE1NTUsMTAgQEAKICIgU0lOREEKIGF1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCAqLnNpbiwqLnM4NQkJc2V0ZiBzaW5kYQogCisiIFNpU1UKK2F1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCAqLnNzdCwqLnNzbSwqLnNzaSwqLi1zc3QsKi5fc3NpIHNldGYgc2lzdQorYXUgQnVmTmV3RmlsZSxCdWZSZWFkICouc3N0Lm1ldGEsKi4tc3N0Lm1ldGEsKi5fc3N0Lm1ldGEgc2V0ZiBzaXN1CisKICIgU0tJTEwKIGF1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCAqLmlsLCouaWxzLCouY2RmCQlzZXRmIHNraWxsCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZnRwbHVnaW4vZm9ydHJhbi52aW0gYi9ydW50aW1lL2Z0cGx1Z2luL2ZvcnRyYW4udmltCmluZGV4IGQxODliZjQuLmM4MTdiM2IgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZnRwbHVnaW4vZm9ydHJhbi52aW0KKysrIGIvcnVudGltZS9mdHBsdWdpbi9mb3J0cmFuLnZpbQpAQCAtMSwxMCArMSwxMSBAQAogIiBWaW0gc2V0dGluZ3MgZmlsZQogIiBMYW5ndWFnZToJRm9ydHJhbjkwIChhbmQgRm9ydHJhbjk1LCBGb3J0cmFuNzcsIEYgYW5kIGVsZjkwKQotIiBWZXJzaW9uOgkwLjQ0Ci0iIExhc3QgQ2hhbmdlOgkyMDAzIE1heSAxOAorIiBWZXJzaW9uOgkwLjQ1CisiIExhc3QgQ2hhbmdlOgkyMDA2IEFwci4gMDMKICIgVVJMOgkJaHR0cDovL3d3dy51bmIuY2EvY2hlbS9haml0L2Z0cGx1Z2luL2ZvcnRyYW4udmltCiAiIE1haW50YWluZXI6CUFqaXQgSi4gVGhha2thciA8YWppdEB1bmIuY2E+OyA8aHR0cDovL3d3dy51bmIuY2EvY2hlbS9haml0Lz4KICIgVXNhZ2U6CURvIDpoZWxwIGZvcnRyYW4tcGx1Z2luIGZyb20gVmltCisiIENyZWRpdHM6ICAgICAgVXNlZnVsIHN1Z2dlc3Rpb25zIHdlcmUgbWFkZSBieSBTdGVmYW5vIFphY2NoaXJvbGkKIAogIiBPbmx5IGRvIHRoZXNlIHNldHRpbmdzIHdoZW4gbm90IGRvbmUgeWV0IGZvciB0aGlzIGJ1ZmZlcgogaWYgZXhpc3RzKCJiOmRpZF9mdHBsdWdpbiIpCkBAIC0yNiwxMSArMjcsMTEgQEAKICAgZWxzZQogICAgICIgZjkwIGFuZCBmOTUgYWxsb3cgYm90aCBmaXhlZCBhbmQgZnJlZSBzb3VyY2UgZm9ybQogICAgICIgYXNzdW1lIGZpeGVkIHNvdXJjZSBmb3JtIHVubGVzcyBzaWducyBvZiBmcmVlIHNvdXJjZSBmb3JtCi0gICAgIiBhcmUgZGV0ZWN0ZWQgaW4gdGhlIGZpcnN0IGZpdmUgY29sdW1ucyBvZiB0aGUgZmlyc3QgMjUgbGluZXMKKyAgICAiIGFyZSBkZXRlY3RlZCBpbiB0aGUgZmlyc3QgZml2ZSBjb2x1bW5zIG9mIHRoZSBmaXJzdCAyNTAgbGluZXMKICAgICAiIERldGVjdGlvbiBiZWNvbWVzIG1vcmUgYWNjdXJhdGUgYW5kIHRpbWUtY29uc3VtaW5nIGlmIG1vcmUgbGluZXMKICAgICAiIGFyZSBjaGVja2VkLiBJbmNyZWFzZSB0aGUgbGltaXQgYmVsb3cgaWYgeW91IGtlZXAgbG90cyBvZiBjb21tZW50cyBhdAogICAgICIgdGhlIHZlcnkgdG9wIG9mIGVhY2ggZmlsZSBhbmQgeW91IGhhdmUgYSBmYXN0IGNvbXB1dGVyCi0gICAgbGV0IHM6bG1heCA9IDI1CisgICAgbGV0IHM6bG1heCA9IDI1MAogICAgIGlmICggczpsbWF4ID4gbGluZSgiJCIpICkKICAgICAgIGxldCBzOmxtYXggPSBsaW5lKCIkIikKICAgICBlbmRpZgpAQCAtNzMsNyArNzQsOCBAQAogIiBTZXQgJ2Zvcm1hdG9wdGlvbnMnIHRvIGJyZWFrIGNvbW1lbnQgYW5kIHRleHQgbGluZXMgYnV0IGFsbG93IGxvbmcgbGluZXMKIHNldGxvY2FsIGZvKz10Y3FsCiAKLXNldGxvY2FsIGluY2x1ZGU9XiNcXD1cXHMqaW5jbHVkZVxcc1xcKworc2V0bG9jYWwgaW5jbHVkZT1eXFxjI1xcPVxccyppbmNsdWRlXFxzXFwrCitzZXRsb2NhbCBzdWZmaXhlc2FkZCs9LmY5NSwuZjkwLC5mb3IsLmYsLkYsLmY3NywuZnRuLC5mcHAKIAogbGV0IHM6Y3Bvc2V0PSZjcG9wdGlvbnMKIHNldCBjcG9wdGlvbnMtPUMKQEAgLTgzLDYgKzg1LDcgQEAKICAgbGV0IHM6bm90ZW5kID0gJ1wlKFw8ZW5kXHNcK1wpXEA8IScKICAgbGV0IHM6bm90c2VsZWN0ID0gJ1wlKFw8c2VsZWN0XHNcK1wpXEA8IScKICAgbGV0IHM6bm90ZWxzZSA9ICdcJShcPGVuZFxzXCtcfFw8ZWxzZVxzXCtcKVxAPCEnCisgIGxldCBzOm5vdHByb2NlZHVyZSA9ICdcJShcc1wrcHJvY2VkdXJlXD5cKVxAIScKICAgbGV0IGI6bWF0Y2hfaWdub3JlY2FzZSA9IDEKICAgbGV0IGI6bWF0Y2hfd29yZHMgPQogICAgIFwgJ1w8c2VsZWN0XHMqY2FzZVw+OicgLiBzOm5vdHNlbGVjdC4gJ1w8Y2FzZVw+Olw8ZW5kXHMqc2VsZWN0XD4sJyAuCkBAIC05NSw3ICs5OCw3IEBACiAgICAgXCBzOm5vdGVuZCAuICdcPGludGVyZmFjZVw+Olw8ZW5kXHMqaW50ZXJmYWNlXD4sJy4KICAgICBcIHM6bm90ZW5kIC4gJ1w8c3Vicm91dGluZVw+Olw8ZW5kXHMqc3Vicm91dGluZVw+LCcuCiAgICAgXCBzOm5vdGVuZCAuICdcPGZ1bmN0aW9uXD46XDxlbmRccypmdW5jdGlvblw+LCcuCi0gICAgXCBzOm5vdGVuZCAuICdcPG1vZHVsZVw+Olw8ZW5kXHMqbW9kdWxlXD4sJy4KKyAgICBcIHM6bm90ZW5kIC4gJ1w8bW9kdWxlXD4nIC4gczpub3Rwcm9jZWR1cmUgLiAnOlw8ZW5kXHMqbW9kdWxlXD4sJy4KICAgICBcIHM6bm90ZW5kIC4gJ1w8cHJvZ3JhbVw+Olw8ZW5kXHMqcHJvZ3JhbVw+JwogZW5kaWYKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9pbmRlbnQvZm9ydHJhbi52aW0gYi9ydW50aW1lL2luZGVudC9mb3J0cmFuLnZpbQppbmRleCBiMTQyNzNhLi40NjU0MTJiIDEwMDY0NAotLS0gYS9ydW50aW1lL2luZGVudC9mb3J0cmFuLnZpbQorKysgYi9ydW50aW1lL2luZGVudC9mb3J0cmFuLnZpbQpAQCAtMiw3ICsyLDcgQEAKICIgTGFuZ3VhZ2U6CUZvcnRyYW45NSAoYW5kIEZvcnRyYW45MCwgRm9ydHJhbjc3LCBGIGFuZCBlbGY5MCkKICIgVmVyc2lvbjoJMC4zNgogIiBVUkw6CQlodHRwOi8vd3d3LnVuYi5jYS9jaGVtL2FqaXQvaW5kZW50L2ZvcnRyYW4udmltCi0iIExhc3QgQ2hhbmdlOgkyMDA0IEFwci4gMDUKKyIgTGFzdCBDaGFuZ2U6CTIwMDYgQXByLiAwMgogIiBNYWludGFpbmVyOglBaml0IEouIFRoYWtrYXIgPGFqaXRAdW5iLmNhPjsgPGh0dHA6Ly93d3cudW5iLmNhL2NoZW0vYWppdC8+CiAiIFVzYWdlOglEbyA6aGVscCBmb3J0cmFuLWluZGVudCBmcm9tIFZpbQogCkBAIC0xMiw5ICsxMiw2IEBACiBlbmRpZgogbGV0IGI6ZGlkX2luZGVudCA9IDEKIAotbGV0IHM6Y3Bvc2V0PSZjcG9wdGlvbnMKLXNldCBjcG9wdGlvbnMtPUMKLQogc2V0bG9jYWwgaW5kZW50a2V5cys9PX5lbmQsPX5jYXNlLD1+aWYsPX5lbHNlLD1+ZG8sPX53aGVyZSw9fmVsc2V3aGVyZSw9fnNlbGVjdAogc2V0bG9jYWwgaW5kZW50a2V5cys9PX5lbmRpZiw9fmVuZGRvLD1+ZW5kd2hlcmUsPX5lbmRzZWxlY3QKIApAQCAtMzAsMTEgKzI3LDExIEBACiAgIGVsc2UKICAgICAiIGY5MCBhbmQgZjk1IGFsbG93IGJvdGggZml4ZWQgYW5kIGZyZWUgc291cmNlIGZvcm0KICAgICAiIGFzc3VtZSBmaXhlZCBzb3VyY2UgZm9ybSB1bmxlc3Mgc2lnbnMgb2YgZnJlZSBzb3VyY2UgZm9ybQotICAgICIgYXJlIGRldGVjdGVkIGluIHRoZSBmaXJzdCBmaXZlIGNvbHVtbnMgb2YgdGhlIGZpcnN0IDI1IGxpbmVzCisgICAgIiBhcmUgZGV0ZWN0ZWQgaW4gdGhlIGZpcnN0IGZpdmUgY29sdW1ucyBvZiB0aGUgZmlyc3QgMjUwIGxpbmVzCiAgICAgIiBEZXRlY3Rpb24gYmVjb21lcyBtb3JlIGFjY3VyYXRlIGFuZCB0aW1lLWNvbnN1bWluZyBpZiBtb3JlIGxpbmVzCiAgICAgIiBhcmUgY2hlY2tlZC4gSW5jcmVhc2UgdGhlIGxpbWl0IGJlbG93IGlmIHlvdSBrZWVwIGxvdHMgb2YgY29tbWVudHMgYXQKICAgICAiIHRoZSB2ZXJ5IHRvcCBvZiBlYWNoIGZpbGUgYW5kIHlvdSBoYXZlIGEgZmFzdCBjb21wdXRlcgotICAgIGxldCBzOmxtYXggPSAyNQorICAgIGxldCBzOmxtYXggPSAyNTAKICAgICBpZiAoIHM6bG1heCA+IGxpbmUoIiQiKSApCiAgICAgICBsZXQgczpsbWF4ID0gbGluZSgiJCIpCiAgICAgZW5kaWYKQEAgLTY0LDYgKzYxLDkgQEAKICAgZW5kaWYKIGVuZGlmCiAKK2xldCBzOmNwb3NldD0mY3BvcHRpb25zCitzZXQgY3BvcHRpb25zLT1DCisKIGZ1bmN0aW9uIEZvcnRyYW5HZXRJbmRlbnQobG51bSkKICAgbGV0IGluZCA9IGluZGVudChhOmxudW0pCiAgIGxldCBwcmV2bGluZT1nZXRsaW5lKGE6bG51bSkKZGlmZiAtLWdpdCBhL3J1bnRpbWUvaW5kZW50L3B5dGhvbi52aW0gYi9ydW50aW1lL2luZGVudC9weXRob24udmltCmluZGV4IDNiNTYwYTguLmYyNjhiZjkgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvaW5kZW50L3B5dGhvbi52aW0KKysrIGIvcnVudGltZS9pbmRlbnQvcHl0aG9uLnZpbQpAQCAtNTYsNyArNTYsNyBAQAogICAiIFRyaWNrOiB1c2UgdGhlIG5vbi1leGlzdGluZyAiZHVtbXkiIHZhcmlhYmxlIHRvIGJyZWFrIG91dCBvZiB0aGUgbG9vcCB3aGVuCiAgICIgZ29pbmcgdG9vIGZhciBiYWNrLgogICBjYWxsIGN1cnNvcihwbG51bSwgMSkKLSAgbGV0IHBhcmxudW0gPSBzZWFyY2hwYWlyKCcoJywgJycsICcpJywgJ25iVycsCisgIGxldCBwYXJsbnVtID0gc2VhcmNocGFpcignKFx8e1x8XFsnLCAnJywgJylcfH1cfFxdJywgJ25iVycsCiAJICBcICJsaW5lKCcuJykgPCAiIC4gKHBsbnVtIC0gczptYXhvZmYpIC4gIiA/IGR1bW15IDoiCiAJICBcIC4gIiBzeW5JRGF0dHIoc3luSUQobGluZSgnLicpLCBjb2woJy4nKSwgMSksICduYW1lJykiCiAJICBcIC4gIiA9fiAnXFwoQ29tbWVudFxcfFN0cmluZ1xcKSQnIikKQEAgLTc1LDE0ICs3NSwxNCBAQAogICAiICAgICAgICsgYgogICAiICAgICAgICsgYykKICAgY2FsbCBjdXJzb3IoYTpsbnVtLCAxKQotICBsZXQgcCA9IHNlYXJjaHBhaXIoJygnLCAnJywgJyknLCAnYlcnLAorICBsZXQgcCA9IHNlYXJjaHBhaXIoJyhcfHtcfFxbJywgJycsICcpXHx9XHxcXScsICdiVycsCiAJICBcICJsaW5lKCcuJykgPCAiIC4gKGE6bG51bSAtIHM6bWF4b2ZmKSAuICIgPyBkdW1teSA6IgogCSAgXCAuICIgc3luSURhdHRyKHN5bklEKGxpbmUoJy4nKSwgY29sKCcuJyksIDEpLCAnbmFtZScpIgogCSAgXCAuICIgPX4gJ1xcKENvbW1lbnRcXHxTdHJpbmdcXCkkJyIpCiAgIGlmIHAgPiAwCiAgICAgaWYgcCA9PSBwbG51bQogICAgICAgIiBXaGVuIHRoZSBzdGFydCBpcyBpbnNpZGUgcGFyZW50aGVzaXMsIG9ubHkgaW5kZW50IG9uZSAnc2hpZnR3aWR0aCcuCi0gICAgICBsZXQgcHAgPSBzZWFyY2hwYWlyKCcoJywgJycsICcpJywgJ2JXJywKKyAgICAgIGxldCBwcCA9IHNlYXJjaHBhaXIoJyhcfHtcfFxbJywgJycsICcpXHx9XHxcXScsICdiVycsCiAJICBcICJsaW5lKCcuJykgPCAiIC4gKGE6bG51bSAtIHM6bWF4b2ZmKSAuICIgPyBkdW1teSA6IgogCSAgXCAuICIgc3luSURhdHRyKHN5bklEKGxpbmUoJy4nKSwgY29sKCcuJyksIDEpLCAnbmFtZScpIgogCSAgXCAuICIgPX4gJ1xcKENvbW1lbnRcXHxTdHJpbmdcXCkkJyIpCmRpZmYgLS1naXQgYS9ydW50aW1lL2xhbmcvbWVudV9kZV9kZS5sYXRpbjEudmltIGIvcnVudGltZS9sYW5nL21lbnVfZGVfZGUubGF0aW4xLnZpbQppbmRleCA2MjU0ZDA5Li5hMDhhNDFjIDEwMDY0NAotLS0gYS9ydW50aW1lL2xhbmcvbWVudV9kZV9kZS5sYXRpbjEudmltCisrKyBiL3J1bnRpbWUvbGFuZy9tZW51X2RlX2RlLmxhdGluMS52aW0KQEAgLTEwMiw3ICsxMDIsNyBAQAogCiAiIHt7eyAgVE9PTFMgLyBXRVJLWkVVR0UKIGlmIGhhcygic3BlbGwiKQotICAgIG1lbnV0cmFucyAmU3BlbGxpbmcJCQkJCSZSZWNodHNjaHJlaWJwcvxmdW5nCisgICAgbWVudXRyYW5zICZTcGVsbGluZwkJCQkJJlJlY2h0c2NocmVpYnVuZwogICAgIG1lbnV0cmFucyAmU3BlbGxcIENoZWNrXCBPbgkJCQkmUmVjaHRzY2hyZWlicHL8ZnVuZ1wgQW4KICAgICBtZW51dHJhbnMgU3BlbGxcIENoZWNrXCAmT2ZmCQkJUmVjaHRzY2hyZWlicHL8ZnVuZ1wgJkF1cwogICAgIG1lbnV0cmFucyBUb1wgJk5leHRcIGVycm9yPFRhYj5dcwkJCVp1bVwgJk7kY2hzdGVuXCBGZWhsZXI8VGFiPl1zCmRpZmYgLS1naXQgYS9ydW50aW1lL2xhbmcvbWVudV9pdF9pdC5sYXRpbjEudmltIGIvcnVudGltZS9sYW5nL21lbnVfaXRfaXQubGF0aW4xLnZpbQppbmRleCA2NTIyOGUxLi4xODQ5NTFjIDEwMDY0NAotLS0gYS9ydW50aW1lL2xhbmcvbWVudV9pdF9pdC5sYXRpbjEudmltCisrKyBiL3J1bnRpbWUvbGFuZy9tZW51X2l0X2l0LmxhdGluMS52aW0KQEAgLTEsNyArMSw3IEBACiAiIE1lbnUgVHJhbnNsYXRpb25zOglJdGFsaWFuIC8gSXRhbGlhbm8KLSIgTWFpbnRhaW5lcjoJCUFudG9uaW8gQ29sb21ibyA8YXpjMTBAeWFob28uY29tPgotIgkJCVZsYWQgU2FuZHJpbmkgPHNhdG9yNzJAbGliZXJvLml0PgotIiBMYXN0IENoYW5nZToJMjAwNSBBdWcgMTMKKyIgTWFpbnRhaW5lcjoJCUFudG9uaW8gQ29sb21ibyA8YXpjMTAwQGdtYWlsLmNvbT4KKyIJCQlWbGFkIFNhbmRyaW5pIDx2bGFkLmdlbnRseUBnbWFpbC5jb20+CisiIExhc3QgQ2hhbmdlOgkyMDA2IEFwciAwMwogCiAiIFF1aXQgd2hlbiBtZW51IHRyYW5zbGF0aW9ucyBoYXZlIGFscmVhZHkgYmVlbiBkb25lLgogaWYgZXhpc3RzKCJkaWRfbWVudV90cmFucyIpCkBAIC0zMyw2ICszMyw3IEBACiAiCiBtZW51dCAmT3BlblwuXC5cLjxUYWI+OmUJCSZBcHJpXC5cLlwuPFRhYj46ZQogbWVudXQgU3AmbGl0LU9wZW5cLlwuXC48VGFiPjpzcAlBJnByaVwgbnVvdmFcIEZpbmVzdHJhXC5cLlwuPFRhYj46c3AKK21lbnV0IE9wZW5cIFRhYlwuXC5cLjxUYWI+OnRhYm5ldyBBcHJpXCBudW92YVwgJkxpbmd1ZXR0YVwuXC5cLjxUYWI+OnRhYm5ldwogbWVudXQgJk5ldzxUYWI+OmVuZXcJCSZOdW92bzxUYWI+OmVuZXcKIG1lbnV0ICZDbG9zZTxUYWI+OmNsb3NlCQkmQ2hpdWRpPFRhYj46Y2xvc2UKIG1lbnV0ICZTYXZlPFRhYj46dwkJCSZTYWx2YTxUYWI+OncKQEAgLTg0LDcgKzg1LDcgQEAKIAogbWVudXQgVG9nZ2xlXCBJbnNlcnRcICZNb2RlPFRhYj46c2V0XCBpbSEJJk1vZGFsaXTgXCBJbnNlcmltZW50b1wgU+wvTm88VGFiPjpzZXRcIGltIQogbWVudXQgVG9nZ2xlXCBWaVwgQyZvbXBhdGlibGU8VGFiPjpzZXRcIGNwIQlDJm9tcGF0aWJpbGVcIFZpXCBT7C9ObzxUYWI+OnNldFwgY3AhCi1tZW51dCBTZWFyY2hcICZQYXRoXC5cLlwuCUNhJm1taW5vXCBkaVwgcmljZXJjYVwuXC5cLgorbWVudXQgU2VhcmNoXCAmUGF0aFwuXC5cLgkmUGVyY29yc29cIGRpXCByaWNlcmNhXC5cLlwuCiBtZW51dCBUYSZnXCBGaWxlc1wuXC5cLgkJRmlsZVwgVGEmZ1wuXC5cLgogIgogIiBPcHppb25pIEdVSQpAQCAtMTY2LDcgKzE2Nyw3IEBACiBtZW51dCBTcGVsbFwgQ2hlY2tcICZPZmYJCSZEaXNhdHRpdmFcIGNvbnRyb2xsb1wgb3J0b2dyYWZpY28KIG1lbnV0IFRvXCAmTmV4dFwgZXJyb3I8VGFiPl1zCQlFcnJvcmVcICZTZWd1ZW50ZTx0YWI+XXMKIG1lbnV0IFRvXCAmUHJldmlvdXNcIGVycm9yPFRhYj5bcwlFcnJvcmVcICZQcmVjZWRlbnRlPHRhYj5bcwotbWVudXQgU3VnZ2VzdFwgJkNvcnJlY3Rpb25zPFRhYj56PwkmU3VnZ2VyaW1lbnRpPFRhYj56PworbWVudXQgU3VnZ2VzdFwgJkNvcnJlY3Rpb25zPFRhYj56PQkmU3VnZ2VyaW1lbnRpPFRhYj56PQogbWVudXQgJlJlcGVhdFwgY29ycmVjdGlvbjxUYWI+OnNwZWxscmVwYWxsCSZSaXBldGlcIGNvcnJlemlvbmU8VGFiPjpzcGVsbHJlcGFsbAogbWVudXQgU2V0XCBsYW5ndWFnZVwgdG9cICJlbiIJCUltcG9zdGFcIGxpbmd1YVwgYVwgImVuIgogbWVudXQgU2V0XCBsYW5ndWFnZVwgdG9cICJlbl9hdSIJSW1wb3N0YVwgbGluZ3VhXCBhXCAiZW5fYXUiCmRpZmYgLS1naXQgYS9ydW50aW1lL21lbnUudmltIGIvcnVudGltZS9tZW51LnZpbQppbmRleCBhOWIxYzBlLi4zMWUyZmIzIDEwMDY0NAotLS0gYS9ydW50aW1lL21lbnUudmltCisrKyBiL3J1bnRpbWUvbWVudS52aW0KQEAgLTIsNyArMiw3IEBACiAiIFlvdSBjYW4gYWxzbyB1c2UgdGhpcyBhcyBhIHN0YXJ0IGZvciB5b3VyIG93biBzZXQgb2YgbWVudXMuCiAiCiAiIE1haW50YWluZXI6CUJyYW0gTW9vbGVuYWFyIDxCcmFtQHZpbS5vcmc+Ci0iIExhc3QgQ2hhbmdlOgkyMDA2IE1hciAwOQorIiBMYXN0IENoYW5nZToJMjAwNiBBcHIgMDIKIAogIiBOb3RlIHRoYXQgIjphbiIgKHNob3J0IGZvciAiOmFub3JlbWVudSIpIGlzIG9mdGVuIHVzZWQgdG8gbWFrZSBhIG1lbnUgd29yawogIiBpbiBhbGwgbW9kZXMgYW5kIGF2b2lkIHNpZGUgZWZmZWN0cyBmcm9tIG1hcHBpbmdzIGRlZmluZWQgYnkgdGhlIHVzZXIuCkBAIC0xNzcsNiArMTc3LDI4IEBACiAKIGFuIDIwLjQyNQkgJkVkaXQuLVNFUDMtCQkJCTxOb3A+CiBhbiAyMC40MzAJICZFZGl0LlNldHRpbmdzXCAmV2luZG93CQk6b3B0aW9uczxDUj4KK2FuIDIwLjQzNQkgJkVkaXQuU3RhcnR1cFwgJlNldHRpbmdzCQk6Y2FsbCA8U0lEPkVkaXRWaW1yYygpPENSPgorCitmdW4hIHM6RWRpdFZpbXJjKCkKKyAgaWYgJE1ZVklNUkMgIT0gJycKKyAgICBsZXQgZm5hbWUgPSAiJE1ZVklNUkMiCisgIGVsc2VpZiBoYXMoIndpbjMyIikgfHwgaGFzKCJkb3MzMiIpIHx8IGhhcygiZG9zMTYiKSB8fCBoYXMoIm9zMiIpCisgICAgaWYgJEhPTUUgIT0gJycKKyAgICAgIGxldCBmbmFtZSA9ICIkSE9NRS9fdmltcmMiCisgICAgZWxzZQorICAgICAgbGV0IGZuYW1lID0gIiRWSU0vX3ZpbXJjIgorICAgIGVuZGlmCisgIGVsc2VpZiBoYXMoImFtaWdhIikKKyAgICBsZXQgZm5hbWUgPSAiczoudmltcmMiCisgIGVsc2UKKyAgICBsZXQgZm5hbWUgPSAiJEhPTUUvLnZpbXJjIgorICBlbmRpZgorICBpZiAmbW9kCisgICAgZXhlICJzcGxpdCAiIC4gZm5hbWUKKyAgZWxzZQorICAgIGV4ZSAiZWRpdCAiIC4gZm5hbWUKKyAgZW5kaWYKK2VuZGZ1bgogCiBmdW4hIHM6Rml4RlRleHQoKQogICAiIEZpeCB0ZXh0IGluIG5hbWVsZXNzIHJlZ2lzdGVyIHRvIGJlIHVzZWQgd2l0aCA6cHJvbXB0ZmluZC4KZGlmZiAtLWdpdCBhL3J1bnRpbWUvbXN3aW4udmltIGIvcnVudGltZS9tc3dpbi52aW0KaW5kZXggZmIyOTIzNy4uMWNlZWY4NCAxMDA2NDQKLS0tIGEvcnVudGltZS9tc3dpbi52aW0KKysrIGIvcnVudGltZS9tc3dpbi52aW0KQEAgLTEsNyArMSw3IEBACiAiIFNldCBvcHRpb25zIGFuZCBhZGQgbWFwcGluZyBzdWNoIHRoYXQgVmltIGJlaGF2ZXMgYSBsb3QgbGlrZSBNUy1XaW5kb3dzCiAiCiAiIE1haW50YWluZXI6CUJyYW0gTW9vbGVuYWFyIDxCcmFtQHZpbS5vcmc+Ci0iIExhc3QgY2hhbmdlOgkyMDA2IE1hciAyOAorIiBMYXN0IGNoYW5nZToJMjAwNiBBcHIgMDIKIAogIiBiYWlsIG91dCBpZiB0aGlzIGlzbid0IHdhbnRlZCAobXJzdmltLnZpbSB1c2VzIHRoaXMpLgogaWYgZXhpc3RzKCJnOnNraXBfbG9hZGluZ19tc3dpbiIpICYmIGc6c2tpcF9sb2FkaW5nX21zd2luCkBAIC04Myw2ICs4Myw4IEBACiBpbm9yZW1hcCA8Qy1BPiA8Qy1PPmdnPEMtTz5nSDxDLU8+RwogY25vcmVtYXAgPEMtQT4gPEMtQz5nZ2dIPEMtTz5HCiBvbm9yZW1hcCA8Qy1BPiA8Qy1DPmdnZ0g8Qy1PPkcKK3Nub3JlbWFwIDxDLUE+IDxDLUM+Z2dnSDxDLU8+RworeG5vcmVtYXAgPEMtQT4gPEMtQz5nZ1ZHCiAKICIgQ1RSTC1UYWIgaXMgTmV4dCB3aW5kb3cKIG5vcmVtYXAgPEMtVGFiPiA8Qy1XPncKZGlmZiAtLWdpdCBhL3J1bnRpbWUvcGx1Z2luL21hdGNocGFyZW4udmltIGIvcnVudGltZS9wbHVnaW4vbWF0Y2hwYXJlbi52aW0KaW5kZXggNTc1MDUxNy4uYTM0NzVmMCAxMDA2NDQKLS0tIGEvcnVudGltZS9wbHVnaW4vbWF0Y2hwYXJlbi52aW0KKysrIGIvcnVudGltZS9wbHVnaW4vbWF0Y2hwYXJlbi52aW0KQEAgLTEsNiArMSw2IEBACiAiIFZpbSBwbHVnaW4gZm9yIHNob3dpbmcgbWF0Y2hpbmcgcGFyZW5zCiAiIE1haW50YWluZXI6ICBCcmFtIE1vb2xlbmFhciA8QnJhbUB2aW0ub3JnPgotIiBMYXN0IENoYW5nZTogMjAwNiBNYXIgMjkKKyIgTGFzdCBDaGFuZ2U6IDIwMDYgQXByIDA0CiAKICIgRXhpdCBxdWlja2x5IHdoZW46CiAiIC0gdGhpcyBwbHVnaW4gd2FzIGFscmVhZHkgbG9hZGVkIChvciBkaXNhYmxlZCkKQEAgLTE2LDggKzE2LDYgQEAKICAgYXV0b2NtZCEgQ3Vyc29yTW92ZWQsQ3Vyc29yTW92ZWRJICogY2FsbCBzOkhpZ2hsaWdodF9NYXRjaGluZ19QYWlyKCkKIGF1Z3JvdXAgRU5ECiAKLWxldCBzOnBhcmVuX2hsX29uID0gMAotCiAiIFNraXAgdGhlIHJlc3QgaWYgaXQgd2FzIGFscmVhZHkgZG9uZS4KIGlmIGV4aXN0cygiKnM6SGlnaGxpZ2h0X01hdGNoaW5nX1BhaXIiKQogICBmaW5pc2gKQEAgLTMwLDkgKzI4LDkgQEAKICIgZm9yIGFueSBtYXRjaGluZyBwYXJlbi4KIGZ1bmN0aW9uISBzOkhpZ2hsaWdodF9NYXRjaGluZ19QYWlyKCkKICAgIiBSZW1vdmUgYW55IHByZXZpb3VzIG1hdGNoLgotICBpZiBzOnBhcmVuX2hsX29uCisgIGlmIGV4aXN0cygndzpwYXJlbl9obF9vbicpICYmIHc6cGFyZW5faGxfb24KICAgICAzbWF0Y2ggbm9uZQotICAgIGxldCBzOnBhcmVuX2hsX29uID0gMAorICAgIGxldCB3OnBhcmVuX2hsX29uID0gMAogICBlbmRpZgogCiAgICIgQXZvaWQgdGhhdCB3ZSByZW1vdmUgdGhlIHBvcHVwIG1lbnUuCkBAIC02MywyMSArNjEsMjUgQEAKIAogICAiIEZpZ3VyZSBvdXQgdGhlIGFyZ3VtZW50cyBmb3Igc2VhcmNocGFpcnBvcygpLgogICAiIFJlc3RyaWN0IHRoZSBzZWFyY2ggdG8gdmlzaWJsZSBsaW5lcyB3aXRoICJzdG9wbGluZSIuCi0gICIgQW5kIGF2b2lkIHNlYXJjaGluZyB2ZXJ5IGZhciAoZS5nLiwgZm9yIGNsb3NlZCBmb2xkcykKKyAgIiBBbmQgYXZvaWQgc2VhcmNoaW5nIHZlcnkgZmFyIChlLmcuLCBmb3IgY2xvc2VkIGZvbGRzIGFuZCBsb25nIGxpbmVzKQogICBpZiBpICUgMiA9PSAwCiAgICAgbGV0IHNfZmxhZ3MgPSAnblcnCiAgICAgbGV0IGMyID0gcGxpc3RbaSArIDFdCi0gICAgbGV0IHN0b3BsaW5lID0gbGluZSgndyQnKQotICAgIGlmIHN0b3BsaW5lID4gY19sbnVtICsgMTAwCi0gICAgICBsZXQgc3RvcGxpbmUgPSBjX2xudSArIDEwMAorICAgIGlmIGhhcygiYnl0ZV9vZmZzZXQiKSAmJiBoYXMoInN5bnRheF9pdGVtcyIpICYmICZzbWMgPiAwCisgICAgICBsZXQgc3RvcGJ5dGUgPSBtaW4oW2xpbmUyYnl0ZSgiJCIpLCBsaW5lMmJ5dGUoIi4iKSArIGNvbCgiLiIpICsgJnNtYyAqIDJdKQorICAgICAgbGV0IHN0b3BsaW5lID0gbWluKFtsaW5lKCd3JCcpLCBieXRlMmxpbmUoc3RvcGJ5dGUpXSkKKyAgICBlbHNlCisgICAgICBsZXQgc3RvcGxpbmUgPSBtaW4oW2xpbmUoJ3ckJyksIGNfbG51bSArIDEwMF0pCiAgICAgZW5kaWYKICAgZWxzZQogICAgIGxldCBzX2ZsYWdzID0gJ25iVycKICAgICBsZXQgYzIgPSBjCiAgICAgbGV0IGMgPSBwbGlzdFtpIC0gMV0KLSAgICBsZXQgc3RvcGxpbmUgPSBsaW5lKCd3MCcpCi0gICAgaWYgc3RvcGxpbmUgPCBjX2xudW0gLSAxMDAKLSAgICAgIGxldCBzdG9wbGluZSA9IGNfbG51IC0gMTAwCisgICAgaWYgaGFzKCJieXRlX29mZnNldCIpICYmIGhhcygic3ludGF4X2l0ZW1zIikgJiYgJnNtYyA+IDAKKyAgICAgIGxldCBzdG9wYnl0ZSA9IG1heChbMSwgbGluZTJieXRlKCIuIikgKyBjb2woIi4iKSAtICZzbWMgKiAyXSkKKyAgICAgIGxldCBzdG9wbGluZSA9IG1heChbbGluZSgndzAnKSwgYnl0ZTJsaW5lKHN0b3BieXRlKV0pCisgICAgZWxzZQorICAgICAgbGV0IHN0b3BsaW5lID0gbWF4KFtsaW5lKCd3MCcpLCBjX2xudW0gLSAxMDBdKQogICAgIGVuZGlmCiAgIGVuZGlmCiAgIGlmIGMgPT0gJ1snCkBAIC04Niw3ICs4OCw3IEBACiAgIGVuZGlmCiAKICAgIiBXaGVuIG5vdCBpbiBhIHN0cmluZyBvciBjb21tZW50IGlnbm9yZSBtYXRjaGVzIGluc2lkZSB0aGVtLgotICBsZXQgc19za2lwID0nc3luSURhdHRyKHN5bklEKGNfbG51bSwgY19jb2wgLSBiZWZvcmUsIDApLCAibmFtZSIpICcgLgorICBsZXQgc19za2lwID0nc3luSURhdHRyKHN5bklEKGxpbmUoIi4iKSwgY29sKCIuIikgLSBiZWZvcmUsIDApLCAibmFtZSIpICcgLgogCVwgJz1+PyAgInN0cmluZ1xcfGNvbW1lbnQiJwogICBleGVjdXRlICdpZicgc19za2lwICd8IGxldCBzX3NraXAgPSAwIHwgZW5kaWYnCiAKQEAgLTEwNSw3ICsxMDcsNyBAQAogICBpZiBtX2xudW0gPiAwICYmIG1fbG51bSA+PSBsaW5lKCd3MCcpICYmIG1fbG51bSA8PSBsaW5lKCd3JCcpCiAgICAgZXhlICczbWF0Y2ggTWF0Y2hQYXJlbiAvXChcJScgLiBjX2xudW0gLiAnbFwlJyAuIChjX2NvbCAtIGJlZm9yZSkgLgogCSAgXCAnY1wpXHxcKFwlJyAuIG1fbG51bSAuICdsXCUnIC4gbV9jb2wgLiAnY1wpLycKLSAgICBsZXQgczpwYXJlbl9obF9vbiA9IDEKKyAgICBsZXQgdzpwYXJlbl9obF9vbiA9IDEKICAgZW5kaWYKIGVuZGZ1bmN0aW9uCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvcGx1Z2luL3ZpbWJhbGxQbHVnaW4udmltIGIvcnVudGltZS9wbHVnaW4vdmltYmFsbFBsdWdpbi52aW0KaW5kZXggY2I3MTQwNC4uMzUxNTg4OSAxMDA2NDQKLS0tIGEvcnVudGltZS9wbHVnaW4vdmltYmFsbFBsdWdpbi52aW0KKysrIGIvcnVudGltZS9wbHVnaW4vdmltYmFsbFBsdWdpbi52aW0KQEAgLTIxLDcgKzIxLDcgQEAKIGNvbSEgLXJhIC1uYT0rIC1iYW5nIE1rVmltYmFsbCBjYWxsIHZpbWJhbGwjTWtWaW1iYWxsKDxsaW5lMT4sPGxpbmUyPiw8YmFuZz4wLDxmLWFyZ3M+KQogY29tISAtbmE9MCBVc2VWaW1iYWxsICBjYWxsIHZpbWJhbGwjVmltYmFsbCgxKQogY29tISAtbmE9MCBWaW1iYWxsTGlzdCBjYWxsIHZpbWJhbGwjVmltYmFsbCgwKQotYXUgQnVmUmVhZFBvc3QgKi52YmEgZWNob2hsIFdhcm5pbmdNc2cgfCBlY2hvICJTb3VyY2UgdGhpcyBmaWxlIHRvIGV4dHJhY3QgaXQhICg6c28gJSkiIHwgZWNob2hsIE5vbmUKK2F1IEJ1ZkVudGVyICoudmJhIGVjaG9obCBXYXJuaW5nTXNnIHwgZWNobyAiU291cmNlIHRoaXMgZmlsZSB0byBleHRyYWN0IGl0ISAoOnNvICUpIiB8IGVjaG9obCBOb25lCiAKIGxldCAmY3BvPSBzOmtlZXBjcG8KIHVubGV0IHM6a2VlcGNwbwpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvYy52aW0gYi9ydW50aW1lL3N5bnRheC9jLnZpbQppbmRleCBmODI2MjYyLi5lMjRkYmUzIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9jLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9jLnZpbQpAQCAtMSw3ICsxLDcgQEAKICIgVmltIHN5bnRheCBmaWxlCiAiIExhbmd1YWdlOglDCiAiIE1haW50YWluZXI6CUJyYW0gTW9vbGVuYWFyIDxCcmFtQHZpbS5vcmc+Ci0iIExhc3QgQ2hhbmdlOgkyMDA1IEp1biAyMAorIiBMYXN0IENoYW5nZToJMjAwNiBBcHIgMDUKIAogIiBRdWl0IHdoZW4gYSAoY3VzdG9tKSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKIGlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCkBAIC0xODQsNyArMTg0LDcgQEAKIAogaWYgIWV4aXN0cygiY19ub19hbnNpIikgfHwgZXhpc3RzKCJjX2Fuc2lfY29uc3RhbnRzIikgfHwgZXhpc3RzKCJjX2dudSIpCiAgIGlmIGV4aXN0cygiY19nbnUiKQotICAgIHN5biBrZXl3b3JkIGNDb25zdGFudCBfX0dOVUNfXyBfX0ZVTkNUSU9OX18gX19QUkVUVFlfRlVOQ1RJT05fXworICAgIHN5biBrZXl3b3JkIGNDb25zdGFudCBfX0dOVUNfXyBfX0ZVTkNUSU9OX18gX19QUkVUVFlfRlVOQ1RJT05fXyBfX2Z1bmNfXwogICBlbmRpZgogICBzeW4ga2V5d29yZCBjQ29uc3RhbnQgX19MSU5FX18gX19GSUxFX18gX19EQVRFX18gX19USU1FX18gX19TVERDX18KICAgc3luIGtleXdvcmQgY0NvbnN0YW50IF9fU1REQ19WRVJTSU9OX18KQEAgLTE5NSw2ICsxOTUsNyBAQAogICBzeW4ga2V5d29yZCBjQ29uc3RhbnQgU0NIQVJfTUlOIFNJTlRfTUlOIFNMT05HX01JTiBTU0hSVF9NSU4KICAgc3luIGtleXdvcmQgY0NvbnN0YW50IFNDSEFSX01BWCBTSU5UX01BWCBTTE9OR19NQVggU1NIUlRfTUFYCiAgIGlmICFleGlzdHMoImNfbm9fYzk5IikKKyAgICBzeW4ga2V5d29yZCBjQ29uc3RhbnQgX19mdW5jX18KICAgICBzeW4ga2V5d29yZCBjQ29uc3RhbnQgTExPTkdfTUFYIFVMTE9OR19NQVgKICAgICBzeW4ga2V5d29yZCBjQ29uc3RhbnQgSU5UOF9NSU4gSU5UMTZfTUlOIElOVDMyX01JTiBJTlQ2NF9NSU4KICAgICBzeW4ga2V5d29yZCBjQ29uc3RhbnQgSU5UOF9NQVggSU5UMTZfTUFYIElOVDMyX01BWCBJTlQ2NF9NQVgKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2Rlc2MudmltIGIvcnVudGltZS9zeW50YXgvZGVzYy52aW0KaW5kZXggMGQwZGJiZC4uYTQ1NGZiMCAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvZGVzYy52aW0KKysrIGIvcnVudGltZS9zeW50YXgvZGVzYy52aW0KQEAgLTEsNyArMSw3IEBACiAiIFZpbSBzeW50YXggZmlsZQotIiBMYW5ndWFnZToJUk9DS0xpbnV4IC5kZXNjCi0iIE1haW50YWluZXI6CVBpb3RyIEVzZGVuLVRlbXBza2kgPGVzZGVuQHJvY2tsaW51eC5vcmc+Ci0iIExhc3QgQ2hhbmdlOgkyMDAyIEFwciAyMworIiBMYW5ndWFnZToJVDIgLyBST0NLIExpbnV4IC5kZXNjCisiIE1haW50YWluZXI6CVJlbsOpIFJlYmUgPHJlbmVAZXhhY3Rjb2RlLmRlPiwgUGlvdHIgRXNkZW4tVGVtcHNraSA8ZXNkZW5Acm9ja2xpbnV4Lm9yZz4KKyIgTGFzdCBDaGFuZ2U6CTIwMDYgTWFyIDMwCiAKICIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCiAiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCkBAIC0xNCwxMCArMTQsMTEgQEAKICIgc3ludGF4IGRlZmluaXRpb25zCiAKIHNldGwgaXNrZXl3b3JkKz0tCi1zeW4ga2V5d29yZCBkZXNjRmxhZyBESUVUTElCQyBjb250YWluZWQKK3N5biBrZXl3b3JkIGRlc2NGbGFnIERJRVRMSUJDIEtBRkZFIEpBSUwgRlBJQy1RVUlSSyBOTy1MSUJUT09MLVFVSVJLIEFVVE9NQUtFLVFVSVJLIE5PLUFTLU5FRURFRCBOTy1TU1AgY29udGFpbmVkCiBzeW4ga2V5d29yZCBkZXNjTGljZW5zZSBVbmtub3duIEdQTCBMR1BMIEZETCBNSVQgQlNEIE9wZW5Tb3VyY2UgRnJlZS10by11c2UgQ29tbWVyY2lhbCBjb250YWluZWQKIAogIiB0YWdzCitzeW4gbWF0Y2ggZGVzY1RhZyAvXlxbXChDT1BZXClcXS8KIHN5biBtYXRjaCBkZXNjVGFnIC9eXFtcKElcfFRJVExFXClcXS8KIHN5biBtYXRjaCBkZXNjVGFnIC9eXFtcKFRcfFRFWFRcKVxdLyBjb250YWluZWQKIHN5biBtYXRjaCBkZXNjVGFnIC9eXFtcKFVcfFVSTFwpXF0vCkBAIC0yOSw2ICszMCw3IEBACiBzeW4gbWF0Y2ggZGVzY1RhZyAvXlxbXChSXHxBUkNIXHxBUkNISVRFQ1RVUkVcKVxdLwogc3luIG1hdGNoIGRlc2NUYWcgL15cW1woTFx8TElDRU5TRVwpXF0vIGNvbnRhaW5lZAogc3luIG1hdGNoIGRlc2NUYWcgL15cW1woU1x8U1RBVFVTXClcXS8KK3N5biBtYXRjaCBkZXNjVGFnIC9eXFtcKE9cfENPTkZcKVxdLwogc3luIG1hdGNoIGRlc2NUYWcgL15cW1woVlx8VkVSXHxWRVJTSU9OXClcXS8KIHN5biBtYXRjaCBkZXNjVGFnIC9eXFtcKFBcfFBSSVx8UFJJT1JJVFlcKVxdLyBuZXh0Z3JvdXA9ZGVzY0luc3RhbGwgc2tpcHdoaXRlCiBzeW4gbWF0Y2ggZGVzY1RhZyAvXlxbXChEXHxET1dOXHxET1dOTE9BRFwpXF0vIG5leHRncm91cD1kZXNjU3VtIHNraXB3aGl0ZQpAQCAtMzYsNyArMzgsNyBAQAogIiBtaXNjCiBzeW4gbWF0Y2ggZGVzY1VybCAvXHdcKzpcL1wvXFNcKy8KIHN5biBtYXRjaCBkZXNjQ2F0ZWdvcnkgL1x3XCtcL1x3XCsvIGNvbnRhaW5lZAotc3luIG1hdGNoIGRlc2NFbWFpbCAvPFx3XCtAW1wuQS1aYS16MC05XVwrPi8KK3N5biBtYXRjaCBkZXNjRW1haWwgLzxbXC5BLVphLXowLTldXCtAW1wuQS1aYS16MC05XVwrPi8KIAogIiBwcmlvcml0eSB0YWcKIHN5biBtYXRjaCBkZXNjSW5zdGFsbFggL1gvIGNvbnRhaW5lZApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvZm9ydHJhbi52aW0gYi9ydW50aW1lL3N5bnRheC9mb3J0cmFuLnZpbQppbmRleCBhZTFmYThiLi40ZGQwMTRlIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9mb3J0cmFuLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9mb3J0cmFuLnZpbQpAQCAtMSw4ICsxLDggQEAKICIgVmltIHN5bnRheCBmaWxlCiAiIExhbmd1YWdlOglGb3J0cmFuOTUgKGFuZCBGb3J0cmFuOTAsIEZvcnRyYW43NywgRiBhbmQgZWxmOTApCi0iIFZlcnNpb246CTAuODYKKyIgVmVyc2lvbjoJMC44NwogIiBVUkw6CQlodHRwOi8vd3d3LnVuYi5jYS9jaGVtL2FqaXQvc3ludGF4L2ZvcnRyYW4udmltCi0iIExhc3QgQ2hhbmdlOgkyMDAzIE1hci4gMTIKKyIgTGFzdCBDaGFuZ2U6CTIwMDYgQXByLiAwNAogIiBNYWludGFpbmVyOglBaml0IEouIFRoYWtrYXIgKGFqaXQgQVQgdW5iLmNhKTsgPGh0dHA6Ly93d3cudW5iLmNhL2NoZW0vYWppdC8+CiAiIFVzYWdlOglEbyA6aGVscCBmb3J0cmFuLXN5bnRheCBmcm9tIFZpbQogIiBDcmVkaXRzOgpAQCAtNzQsNyArNzQsNyBAQAogICAgICIgRGV0ZWN0aW9uIGJlY29tZXMgbW9yZSBhY2N1cmF0ZSBhbmQgdGltZS1jb25zdW1pbmcgaWYgbW9yZSBsaW5lcwogICAgICIgYXJlIGNoZWNrZWQuIEluY3JlYXNlIHRoZSBsaW1pdCBiZWxvdyBpZiB5b3Uga2VlcCBsb3RzIG9mIGNvbW1lbnRzIGF0CiAgICAgIiB0aGUgdmVyeSB0b3Agb2YgZWFjaCBmaWxlIGFuZCB5b3UgaGF2ZSBhIGZhc3QgY29tcHV0ZXIuCi0gICAgbGV0IGI6bG1heCA9IDI1CisgICAgbGV0IGI6bG1heCA9IDI1MAogICAgIGlmICggYjpsbWF4ID4gbGluZSgiJCIpICkKICAgICAgIGxldCBiOmxtYXggPSBsaW5lKCIkIikKICAgICBlbmRpZgpAQCAtOTQsMTAgKzk0LDcgQEAKIAogc3luIGNhc2UgaWdub3JlCiAKLWlmIGI6Zm9ydHJhbl9kaWFsZWN0ID09ICJmNzciCi0gIHN5biBtYXRjaCBmb3J0cmFuSWRlbnRpZmllcgkJIlw8XGFcKFxhXHxcZFwpKlw+IiBjb250YWlucz1mb3J0cmFuU2VyaWFsTnVtYmVyCi1lbHNlCi0gIHN5biBtYXRjaCBmb3J0cmFuOTBJZGVudGlmaWVyCQkiXDxcYVx3Klw+IiBjb250YWlucz1mb3J0cmFuU2VyaWFsTnVtYmVyCitpZiBiOmZvcnRyYW5fZGlhbGVjdCAhPT8gImY3NyIKICAgaWYgdmVyc2lvbiA+PSA2MDAKICAgICBpZiBiOmZvcnRyYW5fZml4ZWRfc291cmNlID09IDEKICAgICAgIHN5biBtYXRjaCBmb3J0cmFuQ29uc3RydWN0TmFtZQkiXlxzXHs2LH1cenNcYVx3Klx6ZVxzKjoiCkBAIC0xMjAsNyArMTE3LDkgQEAKIAogc3luIG1hdGNoICAgZm9ydHJhblVuaXRIZWFkZXIJIlw8ZW5kXD4iCiAKLXN5biBrZXl3b3JkIGZvcnRyYW5UeXBlCQljaGFyYWN0ZXIgY29tcGxleCBpbnRlZ2VyCitzeW4gbWF0Y2ggZm9ydHJhblR5cGUJCSJcPGNoYXJhY3Rlclw+Igorc3luIG1hdGNoIGZvcnRyYW5UeXBlCQkiXDxjb21wbGV4XD4iCitzeW4gbWF0Y2ggZm9ydHJhblR5cGUJCSJcPGludGVnZXJcPiIKIHN5biBrZXl3b3JkIGZvcnRyYW5UeXBlCQlpbnRyaW5zaWMKIHN5biBtYXRjaCBmb3J0cmFuVHlwZQkJIlw8aW1wbGljaXRcPiIKIHN5biBrZXl3b3JkIGZvcnRyYW5TdHJ1Y3R1cmUJZGltZW5zaW9uCkBAIC0xMjksNyArMTI4LDcgQEAKIHN5biBrZXl3b3JkIGZvcnRyYW5DYWxsCQljYWxsCiBzeW4gbWF0Y2ggZm9ydHJhblVuaXRIZWFkZXIJIlw8ZnVuY3Rpb25cPiIKIHN5biBtYXRjaCBmb3J0cmFuVW5pdEhlYWRlcgkiXDxwcm9ncmFtXD4iCi1zeW4ga2V5d29yZCBmb3J0cmFuU3RhdGVtZW50CXJldHVybiBzdG9wCitzeW4ga2V5d29yZCBmb3J0cmFuS2V5d29yZAlyZXR1cm4gc3RvcAogc3luIGtleXdvcmQgZm9ydHJhbkNvbmRpdGlvbmFsCWVsc2UgdGhlbgogc3luIG1hdGNoIGZvcnRyYW5Db25kaXRpb25hbAkiXDxpZlw+Igogc3luIG1hdGNoIGZvcnRyYW5SZXBlYXQJCSJcPGRvXD4iCkBAIC0xMzcsNyArMTM2LDcgQEAKIHN5biBrZXl3b3JkIGZvcnRyYW5Ub2RvCQljb250YWluZWQgdG9kbyBmaXhtZQogCiAiQ2F0Y2ggZXJyb3JzIGNhdXNlZCBieSB0b28gbWFueSByaWdodCBwYXJlbnRoZXNlcwotc3luIHJlZ2lvbiBmb3J0cmFuUGFyZW4gdHJhbnNwYXJlbnQgc3RhcnQ9IigiIGVuZD0iKSIgY29udGFpbnM9QUxMQlVULGZvcnRyYW5QYXJlbkVycm9yLEBmb3J0cmFuQ29tbWVudEdyb3VwLGNJbmNsdWRlZAorc3luIHJlZ2lvbiBmb3J0cmFuUGFyZW4gdHJhbnNwYXJlbnQgc3RhcnQ9IigiIGVuZD0iKSIgY29udGFpbnM9QUxMQlVULGZvcnRyYW5QYXJlbkVycm9yLEBmb3J0cmFuQ29tbWVudEdyb3VwLGNJbmNsdWRlZCxAc3BlbGwKIHN5biBtYXRjaCAgZm9ydHJhblBhcmVuRXJyb3IgICAiKSIKIAogc3luIG1hdGNoIGZvcnRyYW5PcGVyYXRvcgkiXC5ccypuXD1lcXZccypcLiIKQEAgLTE0Niw4ICsxNDUsNyBAQAogCiBzeW4gbWF0Y2ggZm9ydHJhbkJvb2xlYW4JIlwuXHMqXCh0cnVlXHxmYWxzZVwpXHMqXC4iCiAKLXN5biBrZXl3b3JkIGZvcnRyYW5SZWFkV3JpdGUJYmFja3NwYWNlIGNsb3NlIGlucXVpcmUgb3BlbiByZXdpbmQgZW5kZmlsZQotc3luIGtleXdvcmQgZm9ydHJhblJlYWRXcml0ZQlyZWFkIHdyaXRlIHByaW50CitzeW4ga2V5d29yZCBmb3J0cmFuUmVhZFdyaXRlCWJhY2tzcGFjZSBjbG9zZSBlbmRmaWxlIGlucXVpcmUgb3BlbiBwcmludCByZWFkIHJld2luZCB3cml0ZQogCiAiSWYgdGFicyBhcmUgYWxsb3dlZCB0aGVuIHRoZSBsZWZ0IG1hcmdpbiBjaGVja3MgZG8gbm90IHdvcmsKIGlmIGV4aXN0cygiZm9ydHJhbl9oYXZlX3RhYnMiKQpAQCAtMTU2LDM2ICsxNTQsMTQgQEAKICAgc3luIG1hdGNoIGZvcnRyYW5UYWIJCSJcdCIKIGVuZGlmCiAKLXN5biBrZXl3b3JkIGZvcnRyYW5JTwkJdW5pdCBmaWxlIGlvc3RhdCBhY2Nlc3MgYmxhbmsgZm10IGZvcm0KLXN5biBrZXl3b3JkIGZvcnRyYW5JTwkJcmVjbCBzdGF0dXMgZXhpc3Qgb3BlbmVkIG51bWJlciBuYW1lZCBuYW1lCi1zeW4ga2V5d29yZCBmb3J0cmFuSU8JCXNlcXVlbnRpYWwgZGlyZWN0IHJlYwotc3luIGtleXdvcmQgZm9ydHJhbklPCQlmb3JtYXR0ZWQgdW5mb3JtYXR0ZWQgbmV4dHJlYworc3luIGtleXdvcmQgZm9ydHJhbklPCQlhY2Nlc3MgYmxhbmsgZGlyZWN0IGV4aXN0IGZpbGUgZm10IGZvcm0gZm9ybWF0dGVkIGlvc3RhdCBuYW1lIG5hbWVkIG5leHRyZWMgbnVtYmVyIG9wZW5lZCByZWMgcmVjbCBzZXF1ZW50aWFsIHN0YXR1cyB1bmZvcm1hdHRlZCB1bml0CiAKLXN5biBrZXl3b3JkIGZvcnRyYW42NkludHJpbnNpYwkJY2FicyBjY29zIGNleHAgY2xvZyBjc2luIGNzcXJ0Ci1zeW4ga2V5d29yZCBmb3J0cmFuNjZJbnRyaW5zaWMJCWRhY29zIGRhc2luIGRhdGFuIGRhdGFuMiBkY29zIGRjb3NoCi1zeW4ga2V5d29yZCBmb3J0cmFuNjZJbnRyaW5zaWMJCWRkaW0gZGV4cCBkaW50IGRsb2cgZGxvZzEwIGRtb2QgZGFicwotc3luIGtleXdvcmQgZm9ydHJhbjY2SW50cmluc2ljCQlkbmludCBkc2lnbiBkc2luIGRzaW5oIGRzcXJ0IGR0YW4KLXN5biBrZXl3b3JkIGZvcnRyYW42NkludHJpbnNpYwkJZHRhbmggaWFicyBpZGltIGlkbmludCBpc2lnbiBpZGludCBpZml4Ci1zeW4ga2V5d29yZCBmb3J0cmFuNjZJbnRyaW5zaWMJCWFtYXgwIGFtYXgxIGRtYXgxIG1heDAgbWF4MQotc3luIGtleXdvcmQgZm9ydHJhbjY2SW50cmluc2ljCQlhbWluMCBhbWluMSBkbWluMSBtaW4wIG1pbjEKLXN5biBrZXl3b3JkIGZvcnRyYW42NkludHJpbnNpYwkJYW1vZCBmbG9hdCBzbmdsIGFsb2cgYWxvZzEwCitzeW4ga2V5d29yZCBmb3J0cmFuNjZJbnRyaW5zaWMJCWFsb2cgYWxvZzEwIGFtYXgwIGFtYXgxIGFtaW4wIGFtaW4xIGFtb2QgY2FicyBjY29zIGNleHAgY2xvZyBjc2luIGNzcXJ0IGRhYnMgZGFjb3MgZGFzaW4gZGF0YW4gZGF0YW4yIGRjb3MgZGNvc2ggZGRpbSBkZXhwIGRpbnQgZGxvZyBkbG9nMTAgZG1heDEgZG1pbjEgZG1vZCBkbmludCBkc2lnbiBkc2luIGRzaW5oIGRzcXJ0IGR0YW4gZHRhbmggZmxvYXQgaWFicyBpZGltIGlkaW50IGlkbmludCBpZml4IGlzaWduIG1heDAgbWF4MSBtaW4wIG1pbjEgc25nbAogCiAiIEludHJpbnNpY3MgcHJvdmlkZWQgYnkgc29tZSB2ZW5kb3JzCi1zeW4ga2V5d29yZCBmb3J0cmFuRXh0cmFJbnRyaW5zaWMJY2RhYnMgY2Rjb3MgY2RleHAgY2Rsb2cgY2RzaW4gY2RzcXJ0Ci1zeW4ga2V5d29yZCBmb3J0cmFuRXh0cmFJbnRyaW5zaWMJY3FhYnMgY3Fjb3MgY3FleHAgY3Fsb2cgY3FzaW4gY3FzcXJ0Ci1zeW4ga2V5d29yZCBmb3J0cmFuRXh0cmFJbnRyaW5zaWMJcWFjb3MgcWFzaW4gcWF0YW4gcWF0YW4yIHFjb3MgcWNvc2gKLXN5biBrZXl3b3JkIGZvcnRyYW5FeHRyYUludHJpbnNpYwlxZGltIHFleHAgaXFpbnQgcWxvZyBxbG9nMTAgcW1vZCBxYWJzCi1zeW4ga2V5d29yZCBmb3J0cmFuRXh0cmFJbnRyaW5zaWMJcW5pbnQgcXNpZ24gcXNpbiBxc2luaCBxc3FydCBxdGFuCi1zeW4ga2V5d29yZCBmb3J0cmFuRXh0cmFJbnRyaW5zaWMJcXRhbmggcW1heDEgcW1pbjEKLXN5biBrZXl3b3JkIGZvcnRyYW5FeHRyYUludHJpbnNpYwlkaW1hZyBxaW1hZyBkY21wbHggcWNtcGx4IGRjb25qZyBxY29uamcKLXN5biBrZXl3b3JkIGZvcnRyYW5FeHRyYUludHJpbnNpYwlnYW1tYSBkZ2FtbWEgcWdhbW1hIGFsZ2FtYSBkbGdhbWEgcWxnYW1hCi1zeW4ga2V5d29yZCBmb3J0cmFuRXh0cmFJbnRyaW5zaWMJZXJmIGRlcmYgcWVyZiBlcmZjIGRlcmZjIHFlcmZjCi1zeW4ga2V5d29yZCBmb3J0cmFuRXh0cmFJbnRyaW5zaWMJZGZsb2F0CitzeW4ga2V5d29yZCBmb3J0cmFuRXh0cmFJbnRyaW5zaWMJYWxnYW1hIGNkYWJzIGNkY29zIGNkZXhwIGNkbG9nIGNkc2luIGNkc3FydCBjcWFicyBjcWNvcyBjcWV4cCBjcWxvZyBjcXNpbiBjcXNxcnQgZGNtcGx4IGRjb25qZyBkZXJmIGRlcmZjIGRmbG9hdCBkZ2FtbWEgZGltYWcgZGxnYW1hIGVyZiBlcmZjIGdhbW1hIGlxaW50IHFhYnMgcWFjb3MgcWFzaW4gcWF0YW4gcWF0YW4yIHFjbXBseCBxY29uamcgcWNvcyBxY29zaCBxZGltIHFlcmYgcWVyZmMgcWV4cCBxZ2FtbWEgcWltYWcgcWxnYW1hIHFsb2cgcWxvZzEwIHFtYXgxIHFtaW4xIHFtb2QgcW5pbnQgcXNpZ24gcXNpbiBxc2luaCBxc3FydCBxdGFuIHF0YW5oCiAKLXN5biBrZXl3b3JkIGZvcnRyYW43N0ludHJpbnNpYwlhYnMgYWNvcyBhaW1hZyBhaW50IGFuaW50IGFzaW4gYXRhbiBhdGFuMgotc3luIGtleXdvcmQgZm9ydHJhbjc3SW50cmluc2ljCWNvcyBzaW4gdGFuIHNpbmggY29zaCB0YW5oIGV4cCBsb2cgbG9nMTAKLXN5biBrZXl3b3JkIGZvcnRyYW43N0ludHJpbnNpYwlzaWduIHNxcnQgaW50IGNtcGx4IG5pbnQgbWluIG1heCBjb25qZwotc3luIGtleXdvcmQgZm9ydHJhbjc3SW50cmluc2ljCWNoYXIgaWNoYXIgaW5kZXgKK3N5biBrZXl3b3JkIGZvcnRyYW43N0ludHJpbnNpYwlhYnMgYWNvcyBhaW1hZyBhaW50IGFuaW50IGFzaW4gYXRhbiBhdGFuMiBjaGFyIGNtcGx4IGNvbmpnIGNvcyBjb3NoIGV4cCBpY2hhciBpbmRleCBpbnQgbG9nIGxvZzEwIG1heCBtaW4gbmludCBzaWduIHNpbiBzaW5oIHNxcnQgdGFuIHRhbmgKIHN5biBtYXRjaCBmb3J0cmFuNzdJbnRyaW5zaWMJIlw8bGVuXHMqWygsXSJtZT1zKzMKIHN5biBtYXRjaCBmb3J0cmFuNzdJbnRyaW5zaWMJIlw8cmVhbFxzKigibWU9cys0CiBzeW4gbWF0Y2ggZm9ydHJhblR5cGUJCSJcPGltcGxpY2l0XHNcK3JlYWwiCkBAIC0yMzEsMTUgKzIwNywxNiBAQAogCiBzeW4ga2V5d29yZCBmb3J0cmFuVHlwZUV4CWV4dGVybmFsCiBzeW4ga2V5d29yZCBmb3J0cmFuSU9FeAkJZm9ybWF0Ci1zeW4ga2V5d29yZCBmb3J0cmFuU3RhdGVtZW50RXgJY29udGludWUKLXN5biBtYXRjaCBmb3J0cmFuU3RhdGVtZW50RXgJIlw8Z29ccyp0b1w+Igorc3luIGtleXdvcmQgZm9ydHJhbktleXdvcmRFeAljb250aW51ZQorc3luIG1hdGNoIGZvcnRyYW5LZXl3b3JkRXgJIlw8Z29ccyp0b1w+Igogc3luIHJlZ2lvbiBmb3J0cmFuU3RyaW5nRXgJc3RhcnQ9KycrIGVuZD0rJysgY29udGFpbnM9Zm9ydHJhbkNvbnRpbnVlTWFyayxmb3J0cmFuTGVmdE1hcmdpbixmb3J0cmFuU2VyaWFsTnVtYmVyCiBzeW4ga2V5d29yZCBmb3J0cmFuNzdJbnRyaW5zaWNFeAlkaW0gbGdlIGxndCBsbGUgbGx0IG1vZAotc3luIGtleXdvcmQgZm9ydHJhblN0YXRlbWVudE9iCWFzc2lnbiBwYXVzZSB0bworc3luIGtleXdvcmQgZm9ydHJhbktleXdvcmRPYglhc3NpZ24gcGF1c2UgdG8KIAogaWYgYjpmb3J0cmFuX2RpYWxlY3QgIT0gImY3NyIKIAotICBzeW4ga2V5d29yZCBmb3J0cmFuVHlwZQl0eXBlIG5vbmUKKyAgc3luIG1hdGNoIGZvcnRyYW5UeXBlICAgICAgICAgIlw8dHlwZVw+IgorICBzeW4ga2V5d29yZCBmb3J0cmFuVHlwZQlub25lCiAKICAgc3luIGtleXdvcmQgZm9ydHJhblN0cnVjdHVyZQlwcml2YXRlIHB1YmxpYyBpbnRlbnQgb3B0aW9uYWwKICAgc3luIGtleXdvcmQgZm9ydHJhblN0cnVjdHVyZQlwb2ludGVyIHRhcmdldCBhbGxvY2F0YWJsZQpAQCAtMjUyLDcgKzIyOSw3IEBACiAgIHN5biBrZXl3b3JkIGZvcnRyYW5Vbml0SGVhZGVyCXJlc3VsdCBvcGVyYXRvciBhc3NpZ25tZW50CiAgIHN5biBtYXRjaCBmb3J0cmFuVW5pdEhlYWRlcgkiXDxpbnRlcmZhY2VcPiIKICAgc3luIG1hdGNoIGZvcnRyYW5Vbml0SGVhZGVyCSJcPHJlY3Vyc2l2ZVw+IgotICBzeW4ga2V5d29yZCBmb3J0cmFuU3RhdGVtZW50CWFsbG9jYXRlIGRlYWxsb2NhdGUgbnVsbGlmeSBjeWNsZSBleGl0CisgIHN5biBrZXl3b3JkIGZvcnRyYW5LZXl3b3JkCWFsbG9jYXRlIGRlYWxsb2NhdGUgbnVsbGlmeSBjeWNsZSBleGl0CiAgIHN5biBtYXRjaCBmb3J0cmFuQ29uZGl0aW9uYWwJIlw8c2VsZWN0XD4iCiAgIHN5biBrZXl3b3JkIGZvcnRyYW5Db25kaXRpb25hbAljYXNlIGRlZmF1bHQgd2hlcmUgZWxzZXdoZXJlCiAKQEAgLTI2MywyMSArMjQwLDkgQEAKICAgc3luIGtleXdvcmQgZm9ydHJhbklPCQlwYWQgcG9zaXRpb24gYWN0aW9uIGRlbGltIHJlYWR3cml0ZQogICBzeW4ga2V5d29yZCBmb3J0cmFuSU8JCWVvciBhZHZhbmNlIG5tbAogCi0gIHN5biBrZXl3b3JkIGZvcnRyYW45MEludHJpbnNpYwlhZGp1c3RsIGFkanVzdHIgYWxsIGFsbG9jYXRlZCBhbnkKLSAgc3luIGtleXdvcmQgZm9ydHJhbjkwSW50cmluc2ljCWFzc29jaWF0ZWQgYml0X3NpemUgYnRlc3QgY2VpbGluZwotICBzeW4ga2V5d29yZCBmb3J0cmFuOTBJbnRyaW5zaWMJY291bnQgY3NoaWZ0IGRhdGVfYW5kX3RpbWUKLSAgc3luIGtleXdvcmQgZm9ydHJhbjkwSW50cmluc2ljCWRpZ2l0cyBkb3RfcHJvZHVjdCBlb3NoaWZ0IGVwc2lsb24gZXhwb25lbnQKLSAgc3luIGtleXdvcmQgZm9ydHJhbjkwSW50cmluc2ljCWZsb29yIGZyYWN0aW9uIGh1Z2UgaWFuZCBpYmNsciBpYml0cyBpYnNldCBpZW9yCi0gIHN5biBrZXl3b3JkIGZvcnRyYW45MEludHJpbnNpYwlpb3IgaXNoZnQgaXNoZnRjIGxib3VuZCBsZW5fdHJpbQotICBzeW4ga2V5d29yZCBmb3J0cmFuOTBJbnRyaW5zaWMJbWF0bXVsIG1heGV4cG9uZW50IG1heGxvYyBtYXh2YWwgbWVyZ2UKLSAgc3luIGtleXdvcmQgZm9ydHJhbjkwSW50cmluc2ljCW1pbmV4cG9uZW50IG1pbmxvYyBtaW52YWwgbW9kdWxvIG12Yml0cyBuZWFyZXN0Ci0gIHN5biBrZXl3b3JkIGZvcnRyYW45MEludHJpbnNpYwlwYWNrIHByZXNlbnQgcHJvZHVjdCByYWRpeCByYW5kb21fbnVtYmVyCisgIHN5biBrZXl3b3JkIGZvcnRyYW45MEludHJpbnNpYwlhZGp1c3RsIGFkanVzdHIgYWxsIGFsbG9jYXRlZCBhbnkgYXNzb2NpYXRlZCBiaXRfc2l6ZSBidGVzdCBjZWlsaW5nIGNvdW50IGNzaGlmdCBkYXRlX2FuZF90aW1lIGRpZ2l0cyBkb3RfcHJvZHVjdCBlb3NoaWZ0IGVwc2lsb24gZXhwb25lbnQgZmxvb3IgZnJhY3Rpb24gaHVnZSBpYW5kIGliY2xyIGliaXRzIGlic2V0IGllb3IgaW9yIGlzaGZ0IGlzaGZ0YyBsYm91bmQgbGVuX3RyaW0gbWF0bXVsIG1heGV4cG9uZW50IG1heGxvYyBtYXh2YWwgbWVyZ2UgbWluZXhwb25lbnQgbWlubG9jIG1pbnZhbCBtb2R1bG8gbXZiaXRzIG5lYXJlc3QgcGFjayBwcmVjaXNpb24gcHJlc2VudCBwcm9kdWN0IHJhZGl4IHJhbmRvbV9udW1iZXIgcmFuZG9tX3NlZWQgcmFuZ2UgcmVwZWF0IHJlc2hhcGUgcnJzcGFjaW5nCisgIHN5biBrZXl3b3JkIGZvcnRyYW45MEludHJpbnNpYwlzY2FsZSBzY2FuIHNlbGVjdGVkX2ludF9raW5kIHNlbGVjdGVkX3JlYWxfa2luZCBzZXRfZXhwb25lbnQgc2hhcGUgc2l6ZSBzcGFjaW5nIHNwcmVhZCBzdW0gc3lzdGVtX2Nsb2NrIHRpbnkgdHJhbnNwb3NlIHRyaW0gdWJvdW5kIHVucGFjayB2ZXJpZnkKICAgc3luIG1hdGNoIGZvcnRyYW45MEludHJpbnNpYwkJIlw8bm90XD5cKFxzKlwuXClcQCEibWU9cyszCi0gIHN5biBrZXl3b3JkIGZvcnRyYW45MEludHJpbnNpYwlyYW5kb21fc2VlZCByYW5nZSByZXBlYXQgcmVzaGFwZSBycnNwYWNpbmcgc2NhbGUKLSAgc3luIGtleXdvcmQgZm9ydHJhbjkwSW50cmluc2ljCXNlbGVjdGVkX2ludF9raW5kIHNlbGVjdGVkX3JlYWxfa2luZCBzY2FuCi0gIHN5biBrZXl3b3JkIGZvcnRyYW45MEludHJpbnNpYwlzaGFwZSBzaXplIHNwYWNpbmcgc3ByZWFkIHNldF9leHBvbmVudAotICBzeW4ga2V5d29yZCBmb3J0cmFuOTBJbnRyaW5zaWMJdGlueSB0cmFuc3Bvc2UgdHJpbSB1Ym91bmQgdW5wYWNrIHZlcmlmeQotICBzeW4ga2V5d29yZCBmb3J0cmFuOTBJbnRyaW5zaWMJcHJlY2lzaW9uIHN1bSBzeXN0ZW1fY2xvY2sKICAgc3luIG1hdGNoIGZvcnRyYW45MEludHJpbnNpYwkiXDxraW5kXD5ccypbKCxdIm1lPXMrNAogCiAgIHN5biBtYXRjaCAgZm9ydHJhblVuaXRIZWFkZXIJIlw8ZW5kXHMqZnVuY3Rpb24iCkBAIC0zNDMsNyArMzA4LDcgQEAKIGVuZGlmCiAKIGlmIGI6Zm9ydHJhbl9kaWFsZWN0ICE9ICJmNzciCi0gIHN5biBtYXRjaCBmb3J0cmFuQ29tbWVudAlleGNsdWRlbmwgIiEuKiQiIGNvbnRhaW5zPUBmb3J0cmFuQ29tbWVudEdyb3VwCisgIHN5biBtYXRjaCBmb3J0cmFuQ29tbWVudAlleGNsdWRlbmwgIiEuKiQiIGNvbnRhaW5zPUBmb3J0cmFuQ29tbWVudEdyb3VwLEBzcGVsbAogZW5kaWYKIAogImNwcCBpcyBvZnRlbiB1c2VkIHdpdGggRm9ydHJhbgpAQCAtMzU2LDI2ICszMjEsMjcgQEAKIHN5biBtYXRjaAljSW5jbHVkZQkJIl5ccyojXHMqaW5jbHVkZVw+XHMqWyI8XSIgY29udGFpbnM9Y0luY2x1ZGVkCiAKICJTeW5jaHJvbmlzaW5nIGxpbWl0cyBhc3N1bWUgdGhhdCBjb21tZW50IGFuZCBjb250aW51YXRpb24gbGluZXMgYXJlIG5vdCBtaXhlZAotaWYgKGI6Zm9ydHJhbl9maXhlZF9zb3VyY2UgPT0gMCkKLSAgc3luIHN5bmMgbGluZWNvbnQgIiYiIG1heGxpbmVzPTQwCitpZiBleGlzdHMoImZvcnRyYW5fZm9sZCIpIHx8IGV4aXN0cygiZm9ydHJhbl9tb3JlX3ByZWNpc2UiKQorICBzeW4gc3luYyBmcm9tc3RhcnQKK2Vsc2VpZiAoYjpmb3J0cmFuX2ZpeGVkX3NvdXJjZSA9PSAwKQorICBzeW4gc3luYyBsaW5lY29udCAiJiIgbWlubGluZXM9MjAKIGVsc2UKICAgc3luIHN5bmMgbWlubGluZXM9MjAKIGVuZGlmCiAKIGlmIHZlcnNpb24gPj0gNjAwICYmIGV4aXN0cygiZm9ydHJhbl9mb2xkIikKIAotICBzeW4gc3luYyBmcm9tc3RhcnQKICAgaWYgKGI6Zm9ydHJhbl9maXhlZF9zb3VyY2UgPT0gMSkKICAgICBzeW4gcmVnaW9uIGZvcnRyYW5Qcm9ncmFtIHRyYW5zcGFyZW50IGZvbGQga2VlcGVuZCBzdGFydD0iXlxzKnByb2dyYW1cc1wrXHooXGFcdypcKSIgc2tpcD0iXlwoWyFjKl1cfFxzKiNcKS4qJCIgZXhjbHVkZW5sIGVuZD0iXDxlbmRccypcKHByb2dyYW1cKFxzXCtcejFcPlwpXD1cfCRcKSIgY29udGFpbnM9QUxMQlVULGZvcnRyYW5Nb2R1bGUKICAgICBzeW4gcmVnaW9uIGZvcnRyYW5Nb2R1bGUgdHJhbnNwYXJlbnQgZm9sZCBrZWVwZW5kIHN0YXJ0PSJeXHMqbW9kdWxlXHNcK1wocHJvY2VkdXJlXClcQCFceihcYVx3KlwpIiBza2lwPSJeXChbIWMqXVx8XHMqI1wpLiokIiBleGNsdWRlbmwgZW5kPSJcPGVuZFxzKlwobW9kdWxlXChcc1wrXHoxXD5cKVw9XHwkXCkiIGNvbnRhaW5zPUFMTEJVVCxmb3J0cmFuUHJvZ3JhbQotICAgIHN5biByZWdpb24gZm9ydHJhbkZ1bmN0aW9uIHRyYW5zcGFyZW50IGZvbGQga2VlcGVuZCBleHRlbmQgc3RhcnQ9Il5ccypcKGVsZW1lbnRhbCBcfHB1cmUgXHxyZWN1cnNpdmUgXClcPVxzKmZ1bmN0aW9uXHNcK1x6KFxhXHcqXCkiIHNraXA9Il5cKFshYypdXHxccyojXCkuKiQiIGV4Y2x1ZGVubCBlbmQ9Ilw8ZW5kXHMqXCgkXHxmdW5jdGlvblwoXHNcK1x6MVw+XClcPVwpIiBjb250YWlucz1BTExCVVQsZm9ydHJhblByb2dyYW0sZm9ydHJhbk1vZHVsZQorICAgIHN5biByZWdpb24gZm9ydHJhbkZ1bmN0aW9uIHRyYW5zcGFyZW50IGZvbGQga2VlcGVuZCBleHRlbmQgc3RhcnQ9Il5ccypcKGVsZW1lbnRhbCBcfHB1cmUgXHxyZWN1cnNpdmUgXClcPVxzKlwoXChcKHJlYWwgXHxpbnRlZ2VyIFx8bG9naWNhbCBcfGNvbXBsZXggXHxkb3VibGUgXHMqcHJlY2lzaW9uIFwpXHMqXCgoXChccypraW5kXHMqPVwpXD1ccypcd1wrXHMqKVwpXD1cKVx8dHlwZVxzXCsoXHMqXHdcK1xzKikgXHxjaGFyYWN0ZXIgXCgoXChccypsZW5ccyo9XClcPVxzKlxkXCtccyopXHwoXChccypraW5kXHMqPVwpXD1ccypcd1wrXHMqKVwpXD1cKVw9XHMqZnVuY3Rpb25cc1wrXHooXGFcdypcKSIgc2tpcD0iXlwoWyFjKl1cfFxzKiNcKS4qJCIgZXhjbHVkZW5sIGVuZD0iXDxlbmRccypcKCRcfGZ1bmN0aW9uXChcc1wrXHoxXD5cKVw9XCkiIGNvbnRhaW5zPUFMTEJVVCxmb3J0cmFuUHJvZ3JhbSxmb3J0cmFuTW9kdWxlCiAgICAgc3luIHJlZ2lvbiBmb3J0cmFuU3Vicm91dGluZSB0cmFuc3BhcmVudCBmb2xkIGtlZXBlbmQgZXh0ZW5kIHN0YXJ0PSJeXHMqXChlbGVtZW50YWwgXHxwdXJlIFx8cmVjdXJzaXZlIFwpXD1ccypzdWJyb3V0aW5lXHNcK1x6KFxhXHcqXCkiIHNraXA9Il5cKFshYypdXHxccyojXCkuKiQiIGV4Y2x1ZGVubCBlbmQ9Ilw8ZW5kXHMqXCgkXHxzdWJyb3V0aW5lXChcc1wrXHoxXD5cKVw9XCkiIGNvbnRhaW5zPUFMTEJVVCxmb3J0cmFuUHJvZ3JhbSxmb3J0cmFuTW9kdWxlCiAgICAgc3luIHJlZ2lvbiBmb3J0cmFuQmxvY2tEYXRhIHRyYW5zcGFyZW50IGZvbGQga2VlcGVuZCBzdGFydD0iXDxibG9ja1xzKmRhdGFcc1wrXHooXGFcdypcKSIgc2tpcD0iXlwoWyFjKl1cfFxzKiNcKS4qJCIgZXhjbHVkZW5sIGVuZD0iXDxlbmRccypcKCRcfGJsb2NrXHMqZGF0YVwoXHNcK1x6MVw+XClcPVwpIiBjb250YWlucz1BTExCVVQsZm9ydHJhblByb2dyYW0sZm9ydHJhbk1vZHVsZSxmb3J0cmFuU3Vicm91dGluZSxmb3J0cmFuRnVuY3Rpb24sZm9ydHJhbjc3TG9vcCxmb3J0cmFuQ2FzZSxmb3J0cmFuOTBMb29wLGZvcnRyYW5JZkJsb2NrCiAgICAgc3luIHJlZ2lvbiBmb3J0cmFuSW50ZXJmYWNlIHRyYW5zcGFyZW50IGZvbGQga2VlcGVuZCBleHRlbmQgc3RhcnQ9Il5ccyppbnRlcmZhY2VcPiIgc2tpcD0iXlwoWyFjKl1cfFxzKiNcKS4qJCIgZXhjbHVkZW5sIGVuZD0iXDxlbmRccyppbnRlcmZhY2VcPiIgY29udGFpbnM9QUxMQlVULGZvcnRyYW5Qcm9ncmFtLGZvcnRyYW5Nb2R1bGUsZm9ydHJhbjc3TG9vcCxmb3J0cmFuQ2FzZSxmb3J0cmFuOTBMb29wLGZvcnRyYW5JZkJsb2NrCiAgIGVsc2UKICAgICBzeW4gcmVnaW9uIGZvcnRyYW5Qcm9ncmFtIHRyYW5zcGFyZW50IGZvbGQga2VlcGVuZCBzdGFydD0iXlxzKnByb2dyYW1cc1wrXHooXGFcdypcKSIgc2tpcD0iXlxzKlshI10uKiQiIGV4Y2x1ZGVubCBlbmQ9Ilw8ZW5kXHMqXChwcm9ncmFtXChcc1wrXHoxXD5cKVw9XHwkXCkiIGNvbnRhaW5zPUFMTEJVVCxmb3J0cmFuTW9kdWxlCiAgICAgc3luIHJlZ2lvbiBmb3J0cmFuTW9kdWxlIHRyYW5zcGFyZW50IGZvbGQga2VlcGVuZCBzdGFydD0iXlxzKm1vZHVsZVxzXCtcKHByb2NlZHVyZVwpXEAhXHooXGFcdypcKSIgc2tpcD0iXlxzKlshI10uKiQiIGV4Y2x1ZGVubCBlbmQ9Ilw8ZW5kXHMqXChtb2R1bGVcKFxzXCtcejFcPlwpXD1cfCRcKSIgY29udGFpbnM9QUxMQlVULGZvcnRyYW5Qcm9ncmFtCi0gICAgc3luIHJlZ2lvbiBmb3J0cmFuRnVuY3Rpb24gdHJhbnNwYXJlbnQgZm9sZCBrZWVwZW5kIGV4dGVuZCBzdGFydD0iXlxzKlwoZWxlbWVudGFsIFx8cHVyZSBcfHJlY3Vyc2l2ZSBcKVw9XHMqZnVuY3Rpb25cc1wrXHooXGFcdypcKSIgc2tpcD0iXlxzKlshI10uKiQiIGV4Y2x1ZGVubCBlbmQ9Ilw8ZW5kXHMqXCgkXHxmdW5jdGlvblwoXHNcK1x6MVw+XClcPVwpIiBjb250YWlucz1BTExCVVQsZm9ydHJhblByb2dyYW0sZm9ydHJhbk1vZHVsZQorICAgIHN5biByZWdpb24gZm9ydHJhbkZ1bmN0aW9uIHRyYW5zcGFyZW50IGZvbGQga2VlcGVuZCBleHRlbmQgc3RhcnQ9Il5ccypcKGVsZW1lbnRhbCBcfHB1cmUgXHxyZWN1cnNpdmUgXClcPVxzKlwoXChcKHJlYWwgXHxpbnRlZ2VyIFx8bG9naWNhbCBcfGNvbXBsZXggXHxkb3VibGUgXHMqcHJlY2lzaW9uIFwpXHMqXCgoXChccypraW5kXHMqPVwpXD1ccypcd1wrXHMqKVwpXD1cKVx8dHlwZVxzXCsoXHMqXHdcK1xzKikgXHxjaGFyYWN0ZXIgXCgoXChccypsZW5ccyo9XClcPVxzKlxkXCtccyopXHwoXChccypraW5kXHMqPVwpXD1ccypcd1wrXHMqKVwpXD1cKVw9XHMqZnVuY3Rpb25cc1wrXHooXGFcdypcKSIgc2tpcD0iXlxzKlshI10uKiQiIGV4Y2x1ZGVubCBlbmQ9Ilw8ZW5kXHMqXCgkXHxmdW5jdGlvblwoXHNcK1x6MVw+XClcPVwpIiBjb250YWlucz1BTExCVVQsZm9ydHJhblByb2dyYW0sZm9ydHJhbk1vZHVsZQogICAgIHN5biByZWdpb24gZm9ydHJhblN1YnJvdXRpbmUgdHJhbnNwYXJlbnQgZm9sZCBrZWVwZW5kIGV4dGVuZCBzdGFydD0iXlxzKlwoZWxlbWVudGFsIFx8cHVyZSBcfHJlY3Vyc2l2ZSBcKVw9XHMqc3Vicm91dGluZVxzXCtceihcYVx3KlwpIiBza2lwPSJeXHMqWyEjXS4qJCIgZXhjbHVkZW5sIGVuZD0iXDxlbmRccypcKCRcfHN1YnJvdXRpbmVcKFxzXCtcejFcPlwpXD1cKSIgY29udGFpbnM9QUxMQlVULGZvcnRyYW5Qcm9ncmFtLGZvcnRyYW5Nb2R1bGUKICAgICBzeW4gcmVnaW9uIGZvcnRyYW5CbG9ja0RhdGEgdHJhbnNwYXJlbnQgZm9sZCBrZWVwZW5kIHN0YXJ0PSJcPGJsb2NrXHMqZGF0YVxzXCtceihcYVx3KlwpIiBza2lwPSJeXHMqWyEjXS4qJCIgZXhjbHVkZW5sIGVuZD0iXDxlbmRccypcKCRcfGJsb2NrXHMqZGF0YVwoXHNcK1x6MVw+XClcPVwpIiBjb250YWlucz1BTExCVVQsZm9ydHJhblByb2dyYW0sZm9ydHJhbk1vZHVsZSxmb3J0cmFuU3Vicm91dGluZSxmb3J0cmFuRnVuY3Rpb24sZm9ydHJhbjc3TG9vcCxmb3J0cmFuQ2FzZSxmb3J0cmFuOTBMb29wLGZvcnRyYW5JZkJsb2NrCiAgICAgc3luIHJlZ2lvbiBmb3J0cmFuSW50ZXJmYWNlIHRyYW5zcGFyZW50IGZvbGQga2VlcGVuZCBleHRlbmQgc3RhcnQ9Il5ccyppbnRlcmZhY2VcPiIgc2tpcD0iXlxzKlshI10uKiQiIGV4Y2x1ZGVubCBlbmQ9Ilw8ZW5kXHMqaW50ZXJmYWNlXD4iIGNvbnRhaW5zPUFMTEJVVCxmb3J0cmFuUHJvZ3JhbSxmb3J0cmFuTW9kdWxlLGZvcnRyYW43N0xvb3AsZm9ydHJhbkNhc2UsZm9ydHJhbjkwTG9vcCxmb3J0cmFuSWZCbG9jawpAQCAtNDIyLDMxICszODgsMzEgQEAKICAgIiBmb3J0cmFuQmxvY2tEYXRhCiAgICIgZm9ydHJhbjc3TG9vcCwgZm9ydHJhbjkwTG9vcCwgZm9ydHJhbklmQmxvY2ssIGZvcnRyYW5DYXNlCiAgICIgZm9ydHJhbk11bHRpQ29tbWVudExpbmVzCi0gIEhpTGluayBmb3J0cmFuU3RhdGVtZW50CQlTdGF0ZW1lbnQKLSAgSGlMaW5rIGZvcnRyYW5Db25zdHJ1Y3ROYW1lCVNwZWNpYWwKLSAgSGlMaW5rIGZvcnRyYW5Db25kaXRpb25hbAkJQ29uZGl0aW9uYWwKKyAgSGlMaW5rIGZvcnRyYW5LZXl3b3JkIAlLZXl3b3JkCisgIEhpTGluayBmb3J0cmFuQ29uc3RydWN0TmFtZQlJZGVudGlmaWVyCisgIEhpTGluayBmb3J0cmFuQ29uZGl0aW9uYWwJQ29uZGl0aW9uYWwKICAgSGlMaW5rIGZvcnRyYW5SZXBlYXQJCVJlcGVhdAotICBIaUxpbmsgZm9ydHJhblRvZG8JCQlUb2RvCi0gIEhpTGluayBmb3J0cmFuQ29udGludWVNYXJrCQlUb2RvCisgIEhpTGluayBmb3J0cmFuVG9kbwkJVG9kbworICBIaUxpbmsgZm9ydHJhbkNvbnRpbnVlTWFyawlUb2RvCiAgIEhpTGluayBmb3J0cmFuU3RyaW5nCQlTdHJpbmcKICAgSGlMaW5rIGZvcnRyYW5OdW1iZXIJCU51bWJlcgotICBIaUxpbmsgZm9ydHJhbk9wZXJhdG9yCQlPcGVyYXRvcgorICBIaUxpbmsgZm9ydHJhbk9wZXJhdG9yCU9wZXJhdG9yCiAgIEhpTGluayBmb3J0cmFuQm9vbGVhbgkJQm9vbGVhbgotICBIaUxpbmsgZm9ydHJhbkxhYmVsRXJyb3IJCUVycm9yCi0gIEhpTGluayBmb3J0cmFuT2Jzb2xldGUJCVRvZG8KLSAgSGlMaW5rIGZvcnRyYW5UeXBlCQkJVHlwZQotICBIaUxpbmsgZm9ydHJhblN0cnVjdHVyZQkJVHlwZQotICBIaUxpbmsgZm9ydHJhblN0b3JhZ2VDbGFzcwkJU3RvcmFnZUNsYXNzCi0gIEhpTGluayBmb3J0cmFuQ2FsbAkJCWZvcnRyYW5Vbml0SGVhZGVyCi0gIEhpTGluayBmb3J0cmFuVW5pdEhlYWRlcgkJZm9ydHJhblByZUNvbmRpdAotICBIaUxpbmsgZm9ydHJhblJlYWRXcml0ZQkJZm9ydHJhbjkwSW50cmluc2ljCi0gIEhpTGluayBmb3J0cmFuSU8JCQlmb3J0cmFuOTBJbnRyaW5zaWMKLSAgSGlMaW5rIGZvcnRyYW45NUludHJpbnNpYwkJZm9ydHJhbjkwSW50cmluc2ljCi0gIEhpTGluayBmb3J0cmFuNzdJbnRyaW5zaWMJCWZvcnRyYW45MEludHJpbnNpYwotICBIaUxpbmsgZm9ydHJhbjkwSW50cmluc2ljCQlTcGVjaWFsCisgIEhpTGluayBmb3J0cmFuTGFiZWxFcnJvcglFcnJvcgorICBIaUxpbmsgZm9ydHJhbk9ic29sZXRlCVRvZG8KKyAgSGlMaW5rIGZvcnRyYW5UeXBlCQlUeXBlCisgIEhpTGluayBmb3J0cmFuU3RydWN0dXJlCVR5cGUKKyAgSGlMaW5rIGZvcnRyYW5TdG9yYWdlQ2xhc3MJU3RvcmFnZUNsYXNzCisgIEhpTGluayBmb3J0cmFuQ2FsbAkJZm9ydHJhblVuaXRIZWFkZXIKKyAgSGlMaW5rIGZvcnRyYW5Vbml0SGVhZGVyCWZvcnRyYW5QcmVDb25kaXQKKyAgSGlMaW5rIGZvcnRyYW5SZWFkV3JpdGUJS2V5d29yZAorICBIaUxpbmsgZm9ydHJhbklPCQlLZXl3b3JkCisgIEhpTGluayBmb3J0cmFuOTVJbnRyaW5zaWMJZm9ydHJhbjkwSW50cmluc2ljCisgIEhpTGluayBmb3J0cmFuNzdJbnRyaW5zaWMJZm9ydHJhbjkwSW50cmluc2ljCisgIEhpTGluayBmb3J0cmFuOTBJbnRyaW5zaWMJRnVuY3Rpb24KIAogICBpZiAoIGI6Zm9ydHJhbl9kaWFsZWN0ID09ICJlbGYiIHx8IGI6Zm9ydHJhbl9kaWFsZWN0ID09ICJGIiApCi0gICAgSGlMaW5rIGZvcnRyYW5TdGF0ZW1lbnRPYglmb3J0cmFuT2Jzb2xldGUKKyAgICBIaUxpbmsgZm9ydHJhbktleXdvcmRPYglmb3J0cmFuT2Jzb2xldGUKICAgICBIaUxpbmsgZm9ydHJhbjY2SW50cmluc2ljCWZvcnRyYW5PYnNvbGV0ZQogICAgIEhpTGluayBmb3J0cmFuNzdJbnRyaW5zaWNSCWZvcnRyYW5PYnNvbGV0ZQogICAgIEhpTGluayBmb3J0cmFuVW5pdEhlYWRlclIJZm9ydHJhbk9ic29sZXRlCkBAIC00NTQsNDcgKzQyMCw0NyBAQAogICAgIEhpTGluayBmb3J0cmFuU3RvcmFnZUNsYXNzUglmb3J0cmFuT2Jzb2xldGUKICAgICBIaUxpbmsgZm9ydHJhbjkwU3RvcmFnZUNsYXNzUglmb3J0cmFuT2Jzb2xldGUKICAgICBIaUxpbmsgZm9ydHJhbjc3T3BlcmF0b3JSCWZvcnRyYW5PYnNvbGV0ZQotICAgIEhpTGluayBmb3J0cmFuSW5jbHVkZQkJZm9ydHJhbk9ic29sZXRlCisgICAgSGlMaW5rIGZvcnRyYW5JbmNsdWRlCWZvcnRyYW5PYnNvbGV0ZQogICBlbHNlCi0gICAgSGlMaW5rIGZvcnRyYW5TdGF0ZW1lbnRPYglTdGF0ZW1lbnQKKyAgICBIaUxpbmsgZm9ydHJhbktleXdvcmRPYglmb3J0cmFuS2V5d29yZAogICAgIEhpTGluayBmb3J0cmFuNjZJbnRyaW5zaWMJZm9ydHJhbjkwSW50cmluc2ljCiAgICAgSGlMaW5rIGZvcnRyYW43N0ludHJpbnNpY1IJZm9ydHJhbjkwSW50cmluc2ljCiAgICAgSGlMaW5rIGZvcnRyYW5Vbml0SGVhZGVyUglmb3J0cmFuUHJlQ29uZGl0CiAgICAgSGlMaW5rIGZvcnRyYW5UeXBlUgkJZm9ydHJhblR5cGUKICAgICBIaUxpbmsgZm9ydHJhblN0b3JhZ2VDbGFzc1IJZm9ydHJhblN0b3JhZ2VDbGFzcwogICAgIEhpTGluayBmb3J0cmFuNzdPcGVyYXRvclIJZm9ydHJhbk9wZXJhdG9yCi0gICAgSGlMaW5rIGZvcnRyYW5JbmNsdWRlCQlJbmNsdWRlCisgICAgSGlMaW5rIGZvcnRyYW5JbmNsdWRlCUluY2x1ZGUKICAgICBIaUxpbmsgZm9ydHJhbjkwU3RvcmFnZUNsYXNzUglmb3J0cmFuU3RvcmFnZUNsYXNzCiAgIGVuZGlmCiAKICAgaWYgKCBiOmZvcnRyYW5fZGlhbGVjdCA9PSAiRiIgKQogICAgIEhpTGluayBmb3J0cmFuTGFiZWxOdW1iZXIJZm9ydHJhbk9ic29sZXRlCi0gICAgSGlMaW5rIGZvcnRyYW5UYXJnZXQJCWZvcnRyYW5PYnNvbGV0ZQotICAgIEhpTGluayBmb3J0cmFuRm9ybWF0U3BlYwkJZm9ydHJhbk9ic29sZXRlCi0gICAgSGlMaW5rIGZvcnRyYW5GbG9hdERFeHAJCWZvcnRyYW5PYnNvbGV0ZQotICAgIEhpTGluayBmb3J0cmFuRmxvYXROb0RlYwkJZm9ydHJhbk9ic29sZXRlCisgICAgSGlMaW5rIGZvcnRyYW5UYXJnZXQJZm9ydHJhbk9ic29sZXRlCisgICAgSGlMaW5rIGZvcnRyYW5Gb3JtYXRTcGVjCWZvcnRyYW5PYnNvbGV0ZQorICAgIEhpTGluayBmb3J0cmFuRmxvYXRERXhwCWZvcnRyYW5PYnNvbGV0ZQorICAgIEhpTGluayBmb3J0cmFuRmxvYXROb0RlYwlmb3J0cmFuT2Jzb2xldGUKICAgICBIaUxpbmsgZm9ydHJhbkZsb2F0SW5pRGVjCWZvcnRyYW5PYnNvbGV0ZQogICAgIEhpTGluayBmb3J0cmFuRmxvYXRFbmREZWMJZm9ydHJhbk9ic29sZXRlCi0gICAgSGlMaW5rIGZvcnRyYW5UeXBlRXgJCWZvcnRyYW5PYnNvbGV0ZQorICAgIEhpTGluayBmb3J0cmFuVHlwZUV4CWZvcnRyYW5PYnNvbGV0ZQogICAgIEhpTGluayBmb3J0cmFuSU9FeAkJZm9ydHJhbk9ic29sZXRlCi0gICAgSGlMaW5rIGZvcnRyYW5TdGF0ZW1lbnRFeAlmb3J0cmFuT2Jzb2xldGUKLSAgICBIaUxpbmsgZm9ydHJhblN0cmluZ0V4CQlmb3J0cmFuT2Jzb2xldGUKKyAgICBIaUxpbmsgZm9ydHJhbktleXdvcmRFeAlmb3J0cmFuT2Jzb2xldGUKKyAgICBIaUxpbmsgZm9ydHJhblN0cmluZ0V4CWZvcnRyYW5PYnNvbGV0ZQogICAgIEhpTGluayBmb3J0cmFuNzdJbnRyaW5zaWNFeAlmb3J0cmFuT2Jzb2xldGUKICAgICBIaUxpbmsgZm9ydHJhblVuaXRIZWFkZXJFeAlmb3J0cmFuT2Jzb2xldGUKICAgICBIaUxpbmsgZm9ydHJhbkNvbmRpdGlvbmFsRXgJZm9ydHJhbk9ic29sZXRlCiAgICAgSGlMaW5rIGZvcnRyYW45MEludHJpbnNpY0V4CWZvcnRyYW5PYnNvbGV0ZQogICBlbHNlCiAgICAgSGlMaW5rIGZvcnRyYW5MYWJlbE51bWJlcglTcGVjaWFsCi0gICAgSGlMaW5rIGZvcnRyYW5UYXJnZXQJCVNwZWNpYWwKLSAgICBIaUxpbmsgZm9ydHJhbkZvcm1hdFNwZWMJCUlkZW50aWZpZXIKLSAgICBIaUxpbmsgZm9ydHJhbkZsb2F0REV4cAkJZm9ydHJhbkZsb2F0Ci0gICAgSGlMaW5rIGZvcnRyYW5GbG9hdE5vRGVjCQlmb3J0cmFuRmxvYXQKKyAgICBIaUxpbmsgZm9ydHJhblRhcmdldAlTcGVjaWFsCisgICAgSGlMaW5rIGZvcnRyYW5Gb3JtYXRTcGVjCUlkZW50aWZpZXIKKyAgICBIaUxpbmsgZm9ydHJhbkZsb2F0REV4cAlmb3J0cmFuRmxvYXQKKyAgICBIaUxpbmsgZm9ydHJhbkZsb2F0Tm9EZWMJZm9ydHJhbkZsb2F0CiAgICAgSGlMaW5rIGZvcnRyYW5GbG9hdEluaURlYwlmb3J0cmFuRmxvYXQKICAgICBIaUxpbmsgZm9ydHJhbkZsb2F0RW5kRGVjCWZvcnRyYW5GbG9hdAotICAgIEhpTGluayBmb3J0cmFuVHlwZUV4CQlmb3J0cmFuVHlwZQorICAgIEhpTGluayBmb3J0cmFuVHlwZUV4CWZvcnRyYW5UeXBlCiAgICAgSGlMaW5rIGZvcnRyYW5JT0V4CQlmb3J0cmFuSU8KLSAgICBIaUxpbmsgZm9ydHJhblN0YXRlbWVudEV4CWZvcnRyYW5TdGF0ZW1lbnQKLSAgICBIaUxpbmsgZm9ydHJhblN0cmluZ0V4CQlmb3J0cmFuU3RyaW5nCisgICAgSGlMaW5rIGZvcnRyYW5LZXl3b3JkRXgJZm9ydHJhbktleXdvcmQKKyAgICBIaUxpbmsgZm9ydHJhblN0cmluZ0V4CWZvcnRyYW5TdHJpbmcKICAgICBIaUxpbmsgZm9ydHJhbjc3SW50cmluc2ljRXgJZm9ydHJhbjkwSW50cmluc2ljCiAgICAgSGlMaW5rIGZvcnRyYW5Vbml0SGVhZGVyRXgJZm9ydHJhblVuaXRIZWFkZXIKICAgICBIaUxpbmsgZm9ydHJhbkNvbmRpdGlvbmFsRXgJZm9ydHJhbkNvbmRpdGlvbmFsCkBAIC01MDIsMjEgKzQ2OCwxOCBAQAogICBlbmRpZgogCiAgIEhpTGluayBmb3J0cmFuRmxvYXQJCUZsb2F0Ci0gIEhpTGluayBmb3J0cmFuOTBJZGVudGlmaWVyCQlmb3J0cmFuSWRlbnRpZmllcgotICAiVW5jb21tZW50IHRoZSBuZXh0IGxpbmUgaWYgeW91IHdhbnQgYWxsIGZvcnRyYW4gdmFyaWFibGVzIHRvIGJlIGhpZ2hsaWdodGVkCi0gICJIaUxpbmsgZm9ydHJhbklkZW50aWZpZXIJCUlkZW50aWZpZXIKLSAgSGlMaW5rIGZvcnRyYW5QcmVDb25kaXQJCVByZUNvbmRpdAorICBIaUxpbmsgZm9ydHJhblByZUNvbmRpdAlQcmVDb25kaXQKICAgSGlMaW5rIGZvcnRyYW5JbmNsdWRlCQlJbmNsdWRlCi0gIEhpTGluayBjSW5jbHVkZWQJCQlmb3J0cmFuU3RyaW5nCi0gIEhpTGluayBjSW5jbHVkZQkJCUluY2x1ZGUKLSAgSGlMaW5rIGNQcmVQcm9jCQkJUHJlUHJvYwotICBIaUxpbmsgY1ByZUNvbmRpdAkJCVByZUNvbmRpdAotICBIaUxpbmsgZm9ydHJhblBhcmVuRXJyb3IJCUVycm9yCisgIEhpTGluayBjSW5jbHVkZWQJCWZvcnRyYW5TdHJpbmcKKyAgSGlMaW5rIGNJbmNsdWRlCQlJbmNsdWRlCisgIEhpTGluayBjUHJlUHJvYwkJUHJlUHJvYworICBIaUxpbmsgY1ByZUNvbmRpdAkJUHJlQ29uZGl0CisgIEhpTGluayBmb3J0cmFuUGFyZW5FcnJvcglFcnJvcgogICBIaUxpbmsgZm9ydHJhbkNvbW1lbnQJCUNvbW1lbnQKLSAgSGlMaW5rIGZvcnRyYW5TZXJpYWxOdW1iZXIJCVRvZG8KLSAgSGlMaW5rIGZvcnRyYW5UYWIJCQlFcnJvcgorICBIaUxpbmsgZm9ydHJhblNlcmlhbE51bWJlcglUb2RvCisgIEhpTGluayBmb3J0cmFuVGFiCQlFcnJvcgogICAiIFZlbmRvciBleHRlbnNpb25zCi0gIEhpTGluayBmb3J0cmFuRXh0cmFJbnRyaW5zaWMJU3BlY2lhbAorICBIaUxpbmsgZm9ydHJhbkV4dHJhSW50cmluc2ljCUZ1bmN0aW9uCiAKICAgZGVsY29tbWFuZCBIaUxpbmsKIGVuZGlmCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9yaGVscC52aW0gYi9ydW50aW1lL3N5bnRheC9yaGVscC52aW0KaW5kZXggYWY4NjI2NC4uMTYzMzk5OCAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvcmhlbHAudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3JoZWxwLnZpbQpAQCAtMSw3ICsxLDcgQEAKICIgVmltIHN5bnRheCBmaWxlCiAiIExhbmd1YWdlOiAgICBSIEhlbHAgRmlsZQogIiBNYWludGFpbmVyOiAgSm9oYW5uZXMgUmFua2UgPGpyYW5rZUB1bmktYnJlbWVuLmRlPgotIiBMYXN0IENoYW5nZTogMjAwNiBN5HIgMDYKKyIgTGFzdCBDaGFuZ2U6IDIwMDYgQXByIDA1CiAiIFZlcnNpb246ICAgICAwLjUKICIgUmVtYXJrczogICAgIC0gTm93IGluY2x1ZGVzIFIgc3ludGF4IGhpZ2hsaWdodGluZyBpbiB0aGUgYXBwcm9wcmlhdGUKICIgICAgICAgICAgICAgICAgc2VjdGlvbnMgaWYgYW4gci52aW0gZmlsZSBpcyBpbiB0aGUgc2FtZSBkaXJlY3Rvcnkgb3IgaW4gdGhlCkBAIC0xNSw3ICsxNSw3IEBACiAKICIgVmVyc2lvbiBDbGVhcnM6IHt7ezEKICIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCisiIEZvciB2ZXJzaW9uIDYueCBhbmQgNy54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKIGlmIHZlcnNpb24gPCA2MDAgCiAgIHN5bnRheCBjbGVhcgogZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCkBAIC0zNiw3ICszNiw3IEBACiBsZXQgczpyc3ludGF4ID0gczpzeW50YXhkaXIgLiAiL3IudmltIgogaWYgZmlsZXJlYWRhYmxlKHM6cnN5bnRheCkgIAogICBzeW4gaW5jbHVkZSBAUiA8c2ZpbGU+OnA6aC9yLnZpbQotZWxzZWlmIGZpbGVyZWFkYWJsZSgnL3Vzci9zaGFyZS92aW0vdmltNjQvc3ludGF4L3IudmltJykgICJhbmQgZGViaWFuIGxvY2F0aW9uCitlbHNlaWYgZmlsZXJlYWRhYmxlKCcvdXNyL3NoYXJlL3ZpbS92aW1jdXJyZW50L3N5bnRheC9yLnZpbScpICAiYW5kIGRlYmlhbiBsb2NhdGlvbgogICBzeW4gaW5jbHVkZSBAUiAvdXNyL3NoYXJlL3ZpbS92aW1jdXJyZW50L3N5bnRheC9yLnZpbQogZWxzZSAKICAgc3luIG1hdGNoIHJoZWxwUkNvbW1lbnQgL1wjLiovCQkJCSJpZiBubyByLnZpbSBpcyBmb3VuZCwgZG8gY29tbWVudHMKQEAgLTQ2LDEyICs0NiwxMiBAQAogc3luIHJlZ2lvbiByaGVscFJjb2RlIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSJcXHVzYWdleyIgbWF0Y2hncm91cD1EZWxpbWl0ZXIgdHJhbnNwYXJlbnQgZW5kPS99LyBjb250YWlucz1AUixyaGVscElkZW50aWZpZXIKIHN5biByZWdpb24gcmhlbHBSY29kZSBtYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0iXFxzeW5vcHNpc3siIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHRyYW5zcGFyZW50IGVuZD0vfS8gY29udGFpbnM9QFIKIHN5biByZWdpb24gcmhlbHBSY29kZSBtYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0iXFxzcGVjaWFseyIgbWF0Y2hncm91cD1EZWxpbWl0ZXIgdHJhbnNwYXJlbnQgZW5kPS99LyBjb250YWlucz1AUiBjb250YWluZWQKLXN5biByZWdpb24gcmhlbHBSY29kZSBtYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0iXFxjb2RleyIgbWF0Y2hncm91cD1EZWxpbWl0ZXIgdHJhbnNwYXJlbnQgZW5kPS99LyBjb250YWlucz1AUiBjb250YWluZWQKK3N5biByZWdpb24gcmhlbHBSY29kZSBtYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0iXFxjb2RleyIgbWF0Y2hncm91cD1EZWxpbWl0ZXIgdHJhbnNwYXJlbnQgZW5kPS99LyBjb250YWlucz1AUixyaGVscExpbmsgY29udGFpbmVkCiAKICIgU3RyaW5ncyB7e3sxCiBzeW4gcmVnaW9uIHJoZWxwU3RyaW5nIHN0YXJ0PS8iLyBlbmQ9LyIvIAogCi0iIFNwZWNpYWwgVGVYIGNoYXJhY3RlcnMgICggXCQgXCYgXCUgXCMgXHsgXH0gXF8pIHt7ezEKKyIgU3BlY2lhbCBjaGFyYWN0ZXJzICAoIFwkIFwmIFwlIFwjIFx7IFx9IFxfKSB7e3sxCiBzeW4gbWF0Y2ggcmhlbHBTcGVjaWFsQ2hhciAgICAgICAgIlxcWyQmJSN7fV9dIgogCiAiIFNwZWNpYWwgRGVsaW1pdGVycyB7e3sxCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC92aW0udmltIGIvcnVudGltZS9zeW50YXgvdmltLnZpbQppbmRleCAzYTU1OTI1Li40ZDAyMjhlIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC92aW0udmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3ZpbS52aW0KQEAgLTEsOCArMSw4IEBACiAiIFZpbSBzeW50YXggZmlsZQogIiBMYW5ndWFnZToJVmltIDcuMCBzY3JpcHQKICIgTWFpbnRhaW5lcjoJRHIuIENoYXJsZXMgRS4gQ2FtcGJlbGwsIEpyLiA8TmRyT2NoaXBTQFBjYW1wYmVsbEFmYW1pbHkuTWJpej4KLSIgTGFzdCBDaGFuZ2U6CU1hcmNoIDI5LCAyMDA2Ci0iIFZlcnNpb246CTcuMC0zNwlOT1QgUkVMRUFTRUQKKyIgTGFzdCBDaGFuZ2U6CUFwcmlsIDA0LCAyMDA2CisiIFZlcnNpb246CTcuMC0zOAogIiBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBrZXl3b3JkIGxpc3RzOiB7e3sxCiAKICIgUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkIHt7ezIKQEAgLTU1LDcgKzU1LDcgQEAKIHN5biBjYXNlIG1hdGNoCiAKICIgRnVuY3Rpb24gTmFtZXMge3t7Mgotc3luIGtleXdvcmQgdmltRnVuY05hbWUgY29udGFpbmVkCWFkZCBhcHBlbmQgYXJnYyBhcmdpZHggYXJndiBicm93c2UgYnJvd3NlZGlyIGJ1ZmV4aXN0cyBidWZsaXN0ZWQgYnVmbG9hZGVkIGJ1Zm5hbWUgYnVmbnIgYnVmd2lubnIgYnl0ZTJsaW5lIGJ5dGVpZHggY2FsbCBjaGFuZ2VuciBjaGFyMm5yIGNpbmRlbnQgY29sIGNvbXBsZXRlIGNvbXBsZXRlX2FkZCBjb21wbGV0ZV9jaGVjayBjb25maXJtIGNvcHkgY291bnQgY3Njb3BlX2Nvbm5lY3Rpb24gY3Vyc29yIGRlZXBjb3B5IGRlbGV0ZSBkaWRfZmlsZXR5cGUgZGlmZl9maWxsZXIgZGlmZl9obElEIGVtcHR5IGVzY2FwZSBldmFsIGV2ZW50aGFuZGxlciBleGVjdXRhYmxlIGV4aXN0cyBleHBhbmQgZXhwcjggZXh0ZW5kIGZpbGVyZWFkYWJsZSBmaWxld3JpdGFibGUgZmlsdGVyIGZpbmRkaXIgZmluZGZpbGUgZm5hbWVtb2RpZnkgZm9sZGNsb3NlZCBmb2xkY2xvc2VkZW5kIGZvbGRsZXZlbCBmb2xkdGV4dCBmb2xkdGV4dHJlc3VsdCBmb3JlZ3JvdW5kIGZ1bmN0aW9uIGdhcmJhZ2Vjb2xsZWN0IGdldCBnZXRidWZsaW5lIGdldGJ1ZnZhciBnZXRjaGFyIGdldGNoYXJtb2QgZ2V0Y21kbGluZSBnZXRjbWRwb3MgZ2V0Y21kdHlwZSBnZXRjd2QgZ2V0Zm9udG5hbWUgZ2V0ZnBlcm0gZ2V0ZnNpemUgZ2V0ZnRpbWUgZ2V0ZnR5cGUgZ2V0bGluZSBnZXRsb2NsaXN0IGdldHBvcyBnZXRxZmxpc3QgZ2V0cmVnIGdldHJlZ3R5cGUgZ2V0d2lucG9zeCBnZXR3aW5wb3N5IGdldHdpbnZhciBnbG9iIGdsb2JwYXRoIGhhcyBoYXNfa2V5IGhhc21hcHRvIGhpc3RhZGQgaGlzdGRlbCBoaXN0Z2V0IGhpc3RuciBobGV4aXN0cyBobElEIGhvc3RuYW1lIGljb252IGluZGVudCBpbmRleCBpbnB1dCBpbnB1dGRpYWxvZyBpbnB1dGxpc3QgaW5wdXRyZXN0b3JlIGlucHV0c2F2ZSBpbnB1dHNlY3JldCBpbnNlcnQgaXNkaXJlY3RvcnkgaXNsb2NrZWQgaXRlbXMgam9pbiBrZXlzIGxlbiBsaWJjYWxsIGxpYmNhbGxuciBsaW5lIGxpbmUyYnl0ZSBsaXNwaW5kZW50IGxvY2FsdGltZSBtYXAgbWFwYXJnIG1hcGNoZWNrIG1hdGNoIG1hdGNoZW5kIG1hdGNobGlzdCBtYXRjaHN0ciBtYXggbWluIG1rZGlyIG1vZGUgbmV4dG5vbmJsYW5rIG5yMmNoYXIgcHJldm5vbmJsYW5rIHByaW50ZiBwdW12aXNpYmxlIHJhbmdlIHJlYWRmaWxlIHJlbHRpbWUgcmVsdGltZXN0ciByZW1vdGVfZXhwciByZW1vdGVfZm9yZWdyb3VuZCByZW1vdGVfcGVlayByZW1vdGVfcmVhZCByZW1vdGVfc2VuZCByZW1vdmUgcmVuYW1lIHJlcGVhdCByZXNvbHZlIHJldmVyc2Ugc2VhcmNoIHNlYXJjaGRlY2wgc2VhcmNocGFpciBzZWFyY2hwYWlycG9zIHNlYXJjaHBvcyBzZXJ2ZXIyY2xpZW50IHNlcnZlcmxpc3Qgc2V0YnVmdmFyIHNldGNtZHBvcyBzZXRsaW5lIHNldGxvY2xpc3Qgc2V0cG9zIHNldHFmbGlzdCBzZXRyZWcgc2V0d2ludmFyIHNpbXBsaWZ5IHNvcnQgc291bmRmb2xkIHNwZWxsYmFkd29yZCBzcGVsbHN1Z2dlc3Qgc3BsaXQgc3RyMm5yIHN0cmZ0aW1lIHN0cmlkeCBzdHJpbmcgc3RybGVuIHN0cnBhcnQgc3RycmlkeCBzdHJ0cmFucyBzdWJtYXRjaCBzdWJzdGl0dXRlIHN5bklEIHN5bklEYXR0ciBzeW5JRHRyYW5zIHN5c3RlbSB0YWJwYWdlYnVmbGlzdCB0YWJwYWdlbnIgdGFicGFnZXdpbm5yIHRhZ2ZpbGVzIHRhZ2xpc3QgdGVtcG5hbWUgdG9sb3dlciB0b3VwcGVyIHRyIHR5cGUgdmFsdWVzIHZpcnRjb2wgdmlzdWFsbW9kZSB3aW5idWZuciB3aW5jb2wgd2luaGVpZ2h0IHdpbmxpbmUgd2lubnIgd2lucmVzdGNtZCB3aW5yZXN0dmlldyB3aW5zYXZldmlldyB3aW53aWR0aCB3cml0ZWZpbGUgCitzeW4ga2V5d29yZCB2aW1GdW5jTmFtZSBjb250YWluZWQJYWRkIGFwcGVuZCBhcmdjIGFyZ2lkeCBhcmd2IGJyb3dzZSBicm93c2VkaXIgYnVmZXhpc3RzIGJ1Zmxpc3RlZCBidWZsb2FkZWQgYnVmbmFtZSBidWZuciBidWZ3aW5uciBieXRlMmxpbmUgYnl0ZWlkeCBjYWxsIGNoYW5nZW5yIGNoYXIybnIgY2luZGVudCBjb2wgY29tcGxldGUgY29tcGxldGVfYWRkIGNvbXBsZXRlX2NoZWNrIGNvbmZpcm0gY29weSBjb3VudCBjc2NvcGVfY29ubmVjdGlvbiBjdXJzb3IgZGVlcGNvcHkgZGVsZXRlIGRpZF9maWxldHlwZSBkaWZmX2ZpbGxlciBkaWZmX2hsSUQgZW1wdHkgZXNjYXBlIGV2YWwgZXZlbnRoYW5kbGVyIGV4ZWN1dGFibGUgZXhpc3RzIGV4cGFuZCBleHByOCBleHRlbmQgZmlsZXJlYWRhYmxlIGZpbGV3cml0YWJsZSBmaWx0ZXIgZmluZGRpciBmaW5kZmlsZSBmbmFtZW1vZGlmeSBmb2xkY2xvc2VkIGZvbGRjbG9zZWRlbmQgZm9sZGxldmVsIGZvbGR0ZXh0IGZvbGR0ZXh0cmVzdWx0IGZvcmVncm91bmQgZnVuY3Rpb24gZ2FyYmFnZWNvbGxlY3QgZ2V0IGdldGJ1ZmxpbmUgZ2V0YnVmdmFyIGdldGNoYXIgZ2V0Y2hhcm1vZCBnZXRjbWRsaW5lIGdldGNtZHBvcyBnZXRjbWR0eXBlIGdldGN3ZCBnZXRmb250bmFtZSBnZXRmcGVybSBnZXRmc2l6ZSBnZXRmdGltZSBnZXRmdHlwZSBnZXRsaW5lIGdldGxvY2xpc3QgZ2V0cG9zIGdldHFmbGlzdCBnZXRyZWcgZ2V0cmVndHlwZSBnZXR3aW5wb3N4IGdldHdpbnBvc3kgZ2V0d2ludmFyIGdsb2IgZ2xvYnBhdGggaGFzIGhhc19rZXkgaGFzbWFwdG8gaGlzdGFkZCBoaXN0ZGVsIGhpc3RnZXQgaGlzdG5yIGhsZXhpc3RzIGhsSUQgaG9zdG5hbWUgaWNvbnYgaW5kZW50IGluZGV4IGlucHV0IGlucHV0ZGlhbG9nIGlucHV0bGlzdCBpbnB1dHJlc3RvcmUgaW5wdXRzYXZlIGlucHV0c2VjcmV0IGluc2VydCBpc2RpcmVjdG9yeSBpc2xvY2tlZCBpdGVtcyBqb2luIGtleXMgbGVuIGxpYmNhbGwgbGliY2FsbG5yIGxpbmUgbGluZTJieXRlIGxpc3BpbmRlbnQgbG9jYWx0aW1lIG1hcCBtYXBhcmcgbWFwY2hlY2sgbWF0Y2ggbWF0Y2hhcmcgbWF0Y2hlbmQgbWF0Y2hsaXN0IG1hdGNoc3RyIG1heCBtaW4gbWtkaXIgbW9kZSBuZXh0bm9uYmxhbmsgbnIyY2hhciBwYXRoc2hvcnRlbiBwcmV2bm9uYmxhbmsgcHJpbnRmIHB1bXZpc2libGUgcmFuZ2UgcmVhZGZpbGUgcmVsdGltZSByZWx0aW1lc3RyIHJlbW90ZV9leHByIHJlbW90ZV9mb3JlZ3JvdW5kIHJlbW90ZV9wZWVrIHJlbW90ZV9yZWFkIHJlbW90ZV9zZW5kIHJlbW92ZSByZW5hbWUgcmVwZWF0IHJlc29sdmUgcmV2ZXJzZSBzZWFyY2ggc2VhcmNoZGVjbCBzZWFyY2hwYWlyIHNlYXJjaHBhaXJwb3Mgc2VhcmNocG9zIHNlcnZlcjJjbGllbnQgc2VydmVybGlzdCBzZXRidWZ2YXIgc2V0Y21kcG9zIHNldGxpbmUgc2V0bG9jbGlzdCBzZXRwb3Mgc2V0cWZsaXN0IHNldHJlZyBzZXR3aW52YXIgc2ltcGxpZnkgc29ydCBzb3VuZGZvbGQgc3BlbGxiYWR3b3JkIHNwZWxsc3VnZ2VzdCBzcGxpdCBzdHIybnIgc3RyZnRpbWUgc3RyaWR4IHN0cmluZyBzdHJsZW4gc3RycGFydCBzdHJyaWR4IHN0cnRyYW5zIHN1Ym1hdGNoIHN1YnN0aXR1dGUgc3luSUQgc3luSURhdHRyIHN5bklEdHJhbnMgc3lzdGVtIHRhYnBhZ2VidWZsaXN0IHRhYnBhZ2VuciB0YWJwYWdld2lubnIgdGFnZmlsZXMgdGFnbGlzdCB0ZW1wbmFtZSB0b2xvd2VyIHRvdXBwZXIgdHIgdHlwZSB2YWx1ZXMgdmlydGNvbCB2aXN1YWxtb2RlIHdpbmJ1Zm5yIHdpbmNvbCB3aW5oZWlnaHQgd2lubGluZSB3aW5uciB3aW5yZXN0Y21kIHdpbnJlc3R2aWV3IHdpbnNhdmV2aWV3IHdpbndpZHRoIHdyaXRlZmlsZSAKIAogIi0tLSBzeW50YXggYWJvdmUgZ2VuZXJhdGVkIGJ5IG1rdmltdmltIC0tLQogIiBTcGVjaWFsIFZpbSBIaWdobGlnaHRpbmcgKG5vdCBhdXRvbWF0aWMpIHt7ezEKZGlmZiAtLWdpdCBhL3J1bnRpbWUvdHV0b3IvdHV0b3IucGwgYi9ydW50aW1lL3R1dG9yL3R1dG9yLnBsCmluZGV4IDg0NzgyN2YuLjRjYWRiOGMgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvdHV0b3IvdHV0b3IucGwKKysrIGIvcnVudGltZS90dXRvci90dXRvci5wbApAQCAtNSw3ICs1LDcgQEAKICAgICAgVmltIHRvIHBvdOq/bnkgZWR5dG9yLCBrdPNyeSBwb3NpYWRhIHdpZWxlIHBvbGVjZfEsIHpieXQgZHW/byBieQogICAgICB3eWphtm5p5iBqZSB3c3p5c3RraWUgdyB0eW0gdHV0b3JpYWx1LiBUZW4gcHJ6ZXdvZG5payBtYSBuYXVjennmCiAgICAgIENp6iBwb3OzdWdpd2HmIHNp6iB3eXN0YXJjemFqsWNvIHdpZWxvbWEga29tZW5kYW1pIGJ5tiBt82ezILNhdHdvCi0gICAgIHW/eXdh5iBWaW0tYSBqYWtvIGVkeXRvcmEgb2fzbG5lZ28gcHJ6ZXpuYWN6ZW5pYS4KKyAgICAgdb95d2HmIFZpbWEgamFrbyBlZHl0b3JhIG9n82xuZWdvIHByemV6bmFjemVuaWEuCiAKICAgICAgQ3phcyBwb3RyemVibnkgbmEgdWtv8WN6ZW5pZSB0dXRvcmlhbGEgdG8gMjUgZG8gMzAgbWludXQgaSB6YWxlv3kKICAgICAgb2QgdGVnbyBqYWsgd2llbGUgY3phc3Ugc3DqZHppc3ogbmEgZWtzcGVyeW1lbnRvd2FuaXUuICAKQEAgLTE1LDEwICsxNSwxMCBAQAogCSB3Y3pltm5pZWoga29waeogdGVnbyBwbGlrdSBkbyDmd2ljemXxIChqZbZsaSB6YWN6sbNltiBrb21lbmSxCiAJICJ2aW10dXRvciIgdG8ganW/IHByYWN1amVzeiBuYSBrb3BpaSkuCiAKLSAgICAgV2G/bmUgamVzdCwgYnm2IHBhbWnqdGGzLCC/ZSBwcnpld29kbmlrIHRlbiB6b3N0YbMgemFwcm9qZWt0b3dhbnkgZG8KLSAgICAgbmF1a2kgcG9wcnpleiDmd2ljemVuaWEuIFRvIG96bmFjemEsIL9lIG11c2lzeiB3eWtvbnl3YeYgcG9sZWNlbmlhCi0gICAgIGJ5IG5hdWN6eeYgc2nqIGljaCBwcmF3aWSzb3dvLiBKZbZsaSBi6mR6aWVzeiBqZWR5bmllIGN6eXRhsyB0ZWtzdAotICAgICBzenlia28gemFwb21uaXN6IHdpZWxlIHBvbGVjZfEhCisJIFBhbWnqdGFqIL9lIHByemV3b2RuaWsgdGVuIHpvc3RhsyB6YXByb2pla3Rvd2FueSBkbyBuYXVraSBwb3ByemV6CisJIOZ3aWN6ZW5pYS4gT3puYWN6YSB0bywgv2UgbXVzaXN6IHd5a29ueXdh5iBwb2xlY2VuaWEgYnkgbmF1Y3p55iBzaeogaWNoCisJIHByYXdpZLNvd28uIEpltmxpIGLqZHppZXN6IGplZHluaWUgY3p5dGGzIHRla3N0IHN6eWJrbyB6YXBvbW5pc3ogd2llbGUKKwkgcG9sZWNl8SEKIAogICAgICBUZXJheiB1cGV3bmlqIHNp6iwgv2UgbmllIG1hc3ogd2Nptm5p6nRlZ28gQ2Fwc0xvY2thIGkgd2Npc2thaiAgagogICAgICB0YWsgZLN1Z28gZG9w82tpIExla2NqYSAxLjEuIG5pZSB3eXBls25pIGNhs2tvd2ljaWUgZWtyYW51LgpAQCAtNDUsNyArNDUsNyBAQAogCiBVd2FnYTogS2xhd2lzemUga3Vyc29yYSB0YWu/ZSBwb3dpbm55IGR6aWGzYeYsIGFsZSB1v3l3YWqxYyAgaGprbCAgYupkemllc3oKICAgICAgICB3IHN0YW5pZSBwb3J1c3ph5iBzaeogbyB3aWVsZSBzenliY2llaiBqYWsgc2nqIHR5bGtvIHByenl6d3ljemFpc3ouCi0JICAgTmFwcmF3ZOohCisgICAgICAgTmFwcmF3ZOohCiAKIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogCQkgICAgTGVrY2phIDEuMi46IFdZQ0hPRFpFTklFIFogVklNLWEKQEAgLTY1LDcgKzY1LDcgQEAKICAgICAgd3lqtuYgaSB3cvNjaeYgZG8gZWR5dG9yYS4KIAogVVdBR0E6IDpxITxFTlRFUj4gcG9yenVjYSB3c3plbGtpZSB6bWlhbnkgamFraWUgenJvYmmzZbYuIFcgbmFzdOpwbnljaAotbGVrY2phY2ggZG93aWVzeiBzaeogamFrIGplIHphcGFtaep0eXdh5i4KKyAgICAgICBsZWtjamFjaCBkb3dpZXN6IHNp6iBqYWsgamUgemFwYW1p6nR5d2HmLgogCiAgIDUuIFByemVuaWW2IGt1cnNvciBkbyBsZWtjamkgMS4zLgogCkBAIC0xNTAsMTYgKzE1MCwxNiBAQAogICAxLiBaYWtv8WN6IHR1dG9yaWFsIHRhayBqYWsgdyBsZWtjamkgMS4yLjogIDpxIQogCiAgIDIuIFcgcG93s29jZSB3eWRhaiBwb2xlY2VuaWU6ICB2aW0gdHV0b3I8RU5URVI+Ci0gICAgICJ2aW0iIGplc3QgcG9sZWNlbmllbSB1cnVjaGFtaWFqsWN5bSBlZHl0b3IgVmltbS4gJ3R1dG9yJyB0byBuYXp3YSBwbGlrdQorICAgICAidmltIiBqZXN0IHBvbGVjZW5pZW0gdXJ1Y2hhbWlharFjeW0gZWR5dG9yIFZpbS4gJ3R1dG9yJyB0byBuYXp3YSBwbGlrdQogICAgICBqYWtpIGNoY2VzeiBlZHl0b3dh5i4gVb95aiBwbGlrdSBqYWtpIG1vv2Ugem9zdGHmIHptaWVuaW9ueS4KIAogICAzLiBEb2RhaiBpIHVzdfEgdGVrc3QgdGFrIGphayBzaeogbmF1Y3p5s2W2IHcgcG9wcnplZG5pY2ggbGVrY2phY2guCiAKLSAgNC4gWmFwaXN6IHBsaWsgemUgem1pYW5hbWkgdyBvcHW25iBWaW1hOiAgOndxPEVOVEVSPgorICA0LiBaYXBpc3ogcGxpayB6ZSB6bWlhbmFtaSBpIG9wdbbmIFZpbWE6ICA6d3E8RU5URVI+CiAKICAgNS4gVXJ1Y2hvbSBwb25vd25pZSB2aW10dXRvciBpIHByemVqZLwgZG8gcG9kc3Vtb3dhbmlhIGxla2NqaS4KIAotICA2LiBQbyBwcnplY3p5dGFuaXUgd3N6eXN0a2ljaCBrcm9r83cgaSB6cm96dW1pZW5pdSBpY2g6IHd5a29uYWogamUuCisgIDYuIFBvIHByemVjenl0YW5pdSB3c3p5c3RraWNoIGtyb2vzdyBpIGljaCB6cm96dW1pZW5pdTogd3lrb25haiBqZS4KIAogCiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KQEAgLTE2OCwyMSArMTY4LDIxIEBACiAgIDEuIFBvcnVzemFzeiBrdXJzb3JlbSB1v3l3YWqxYyAic3RyemGzZWsiIGkga2xhd2lzenkgIGhqa2wgLgogICAgICAgIGggKHcgbGV3bykJIGogKHcgZPOzKQkgayAoZG8gZ/NyeSkJCWwgKHcgcHJhd28pCiAKLSAgMi4gQnkgd2VqtuYgZG8gVmltLWEgKHogcG93s29raSkgd3Bpc3o6CisgIDIuIEJ5IHdlarbmIGRvIFZpbWEgKHogcG93s29raSkgd3Bpc3o6CiAJCQkgICAgdmltIE5BWldBX1BMSUtVPEVOVEVSPgogCi0gIDMuIEJ5IHd5arbmIHogVmltLWEgd3Bpc3o6CisgIDMuIEJ5IHd5arbmIHogVmltYSB3cGlzejoKIAkJCSAgICA8RVNDPiA6cSE8RU5URVI+ICBieSB1c3VusWMgd3N6eXN0a2llIHptaWFueS4KIAkgICAgIExVQjoJICAgIDxFU0M+IDp3cTxFTlRFUj4gIGJ5IHptaWFueSB6YWNob3dh5i4KIAogICA0LiBCeSB1c3VuseYgem5hayBwb2Qga3Vyc29yZW0gd2Nptm5pajogIHgKIAogICA1LiBCeSB3c3Rhd2nmIHRla3N0IHByemVkIGt1cnNvcmVtIGx1YiBkb2Rh5joKLQlpICAgICAgICAgd3Bpc3ogdGVrc3QgICAgICA8RVNDPiB3c3Rhd2kgcHJ6ZWQga3Vyc29yZW0KLQlBICAgICAgICAgd3Bpc3ogdGVrc3QgICAgICA8RVNDPiBkb2RhIG5hIGtv8WN1IGxpbmlpCisJaSAgIHdwaXN6IHRla3N0ICAgPEVTQz4gICAgICAgICB3c3Rhd2kgcHJ6ZWQga3Vyc29yZW0KKwlBICAgd3Bpc3ogdGVrc3QgICA8RVNDPiAgICAgICAgIGRvZGEgbmEga2/xY3UgbGluaWkKIAogVVdBR0E6IFdjabZuaepjaWUgPEVTQz4gcHJ6ZW5pZXNpZSBDaeogeiBwb3dyb3RlbSBkbyB0cnlidSBOb3JtYWwKLWx1YiBvZHdvs2EgbmllY2hjaWFuZSBsdWIgY3rqtmNpb3dvIHdwcm93YWR6b25lIHBvbGVjZW5pYS4KKyAgICAgICBsdWIgb2R3b7NhIG5pZWNoY2lhbmUgbHViIGN66rZjaW93byB3cHJvd2Fkem9uZSBwb2xlY2VuaWEuCiAKIFRlcmF6IG1vv2VteSBrb250eW51b3dh5iBpIHByemVqtuYgZG8gTGVrY2ppIDIuCiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KQEAgLTE5NywxMSArMTk3LDExIEBACiAKICAgMy4gUHJ6ZXN18SBrdXJzb3IgbmEgcG9jerF0ZWsgd3lyYXp1LCBrdPNyZSBjaGNlc3ogdXN1brHmLgogCi0gIDQuIFdwaXN6ICAgZHcgICBieSB1c3VusWMgd3lyYXouCisgIDQuIFdwaXN6ICAgZHcgICBieSB1c3VuseYgd3lyYXouCiAKICAgVVdBR0E6IExpdGVyYSAgZCAgcG9qYXdpIHNp6iBuYSBkb2xlIGVrcmFudS4gVmltIGN6ZWthIG5hIHdwaXNhbmllICB3IC4gCi0JIEpltmxpIHpvYmFjenlzeiBpbm55IHpuYWsgd3Bpc2GzZbYgY2+2ILxsZSwgd2Nptm5paiA8RVNDPiBpIHphY3puaWoKLQkgb2QgcG9jerF0a3UuCisJIEpltmxpIHpvYmFjenlzeiBpbm55IHpuYWsgb3puYWN6YSB0bywgv2Ugd3Bpc2GzZbYgY2+2ILxsZSwgd2Nptm5pagorCSA8RVNDPiBpIHphY3puaWogb2QgcG9jerF0a3UuCiAKIC0tLT4gSmVzdCB0dSBwYXLqIHBhcGllciB3eXJhevN3LCBrdPNyZSBrYW1pZfEgbmllIG5hbGW/sSBkbyBub795Y2UgdGVnbyB6ZGFuaWEuCiAKQEAgLTMwNiwxMyArMzA2LDEzIEBACiAKIAkJICAgKiogV3Bpc3ogIGRkICBhYnkgdXN1brHmIGNhs7EgbGluaeouICoqCiAKLSAgWiBwb3dvZHUgY3rqc3RvtmNpIHVzdXdhbmlhIGNhs3ljaCBsaW5paSwgcHJvamVrdGFuY2kgVkkgemRlY3lkb3dhbGksIL9lCisgIFogcG93b2R1IGN66nN0b7ZjaSB1c3V3YW5pYSBjYbN5Y2ggbGluaWksIHByb2pla3RhbmNpIFZpIHpkZWN5ZG93YWxpLCC/ZQogICBi6mR6aWUgs2F0d2llaiB3cGlzYeYgZHdhIHJhenkgIGQgIGFieSB1c3VuseYgbGluaeouCiAKLSAgMS4gUHJ6ZW5pZbYga3Vyc29yIGRvIHpkYW5pYSBwb25pv2VqLgotICAyLiBXcGlzeiAgZGQgIGFieSB1c3VusWMgd2llcnN6LgorICAxLiBQcnplbmlltiBrdXJzb3IgZG8gZHJ1Z2llZ28gemRhbmlhIHogd2llcnN6eWthIHBvbmm/ZWouCisgIDIuIFdwaXN6ICBkZCAgYWJ5IHVzdW6x5iB3aWVyc3ouCiAgIDMuIFRlcmF6IHByemVuaWW2IHNp6iBkbyBjendhcnRlZ28gd2llcnN6YS4KLSAgNC4gV3Bpc3ogIDJkZCAgYWJ5IHVzdW6xYyBkd2lhIHdpZXJzemUuCisgIDQuIFdwaXN6ICAyZGQgIGFieSB1c3VusWMgZHdhIHdpZXJzemUuCiAKIC0tLT4gIDEpICBS879lIHOxIGN6ZXJ3b25lLAogLS0tPiAgMikgIEKzb3RvIGplc3QgZmFqbmUsCkBAIC0zMzcsNyArMzM3LDcgQEAKICAgNC4gVHltIHJhemVtIHBvcHJhdyB3c3p5c3RraWUgYrPqZHkgdyBsaW5paSB1v3l3YWqxYyBwb2xlY2VuaWEgIHggLgogICA1LiBUZXJheiB3Y2m2bmlqIHdpZWxraWUgVSBhYnkgcHJ6eXdy82Np5iBsaW5p6iBkbyBvcnlnaW5hbG5lZ28gc3RhbnUuCiAgIDYuIFRlcmF6IHdjabZuaWogIHUgIGtpbGthIHJhenkgYnkgY29mbrHmICBVICBpIHBvcHJ6ZWRuaWUgcG9sZWNlbmlhLgotICA3LiBUZXJheiB3cHN6IENUUkwtUiAodHJ6eW1haiBy83dub2N6ZbZuaWUgd2Nptm5p6nRlIGtsYXdpc3plIENUUkwgaSBSKQorICA3LiBUZXJheiB3cGlzeiBDVFJMLVIgKHRyenltYWogcvN3bm9jemW2bmllIHdjabZuaep0ZSBrbGF3aXN6ZSBDVFJMIGkgUikKICAgICAga2lsa2EgcmF6eSwgYnkgY29mbrHmIGNvZm5p6mNpYS4KIAogLS0tPiBQb29wcmF3IGJs6mR5eXkgdyB0ZWVqIGxpbmlpaSBpIHphYW1paWXxIGplIHBycnpleiBjb29mbmlqLgpAQCAtMzc3LDE0ICszNzcsMTQgQEAKIAogICAxLiBQcnplbmlltiBrdXJzb3IgZG8gcGllcndzemVqIGxpbmlpIC0tLT4gcG9uab9lai4KIAotICAyLiBXcGlzeiAgZGQgIGFieSB1c3VuseYgbGluaeogaSBwcnplY2hvd2HmIGqxIHcgcmVqZXN0cnplIFZpbS1hLgorICAyLiBXcGlzeiAgZGQgIGFieSB1c3VuseYgbGluaeogaSBwcnplY2hvd2HmIGqxIHcgcmVqZXN0cnplIFZpbWEuCiAKICAgMy4gUHJ6ZW5pZbYga3Vyc29yIGRvIGxpbmlpIGMpLCBQT1dZr0VKIHRlaiBnZHppZSB1c3Vuaep0YSBsaW5pYSBwb3dpbm5hCiAgICAgIHNp6iB6bmFqZG93YeYuCiAKICAgNC4gV2Nptm5paiAgcCAgYnkgd3N0YXdp5iBsaW5p6iBwb25pv2VqIGt1cnNvcmEuCiAKLSAgNS4gUG93dGFqIGtyb2tpIDIuIGRvIDQuIGG/IHpuYWpksSBzaeogdyBvZHBvd2llZG5pbSBwb3J6sWRrdS4KKyAgNS4gUG93dGFyemFqIGtyb2tpIDIuIGRvIDQuIGG/IHpuYWpksSBzaeogdyBvZHBvd2llZG5pbSBwb3J6sWRrdS4KIAogLS0tPiBkKSBKYWsgZHdhIGFuaW+za2kuCiAtLS0+IGIpIE5hIGRvbGUgZmlvs2tpLApAQCAtNDU2LDcgKzQ1Niw3IEBACiAKICAgNS4gV3Bpc3ogIGMkICwgcG9wcmF3IGtvbmllYyB3aWVyc3phIGkgd2Nptm5paiA8RVNDPi4KIAotLS0tPiBLb25pZWMgdGVnbyB3aWVyc3phIG11c2kgYnnmIHBvcHJhd2lvbnkgYWJ5IHd5Z2yxZGFsIHRhayBqYWsgZHJ1Z2kuCistLS0+IEtvbmllYyB0ZWdvIHdpZXJzemEgbXVzaSBieeYgcG9wcmF3aW9ueSBhYnkgd3lnbLFkYbMgdGFrIGphayBkcnVnaS4KIC0tLT4gS29uaWVjIHRlZ28gd2llcnN6YSBtdXNpIGJ55iBwb3ByYXdpb255IHW/eXdharFjIHBvbGVjZW5pYSAgYyQgLgogCiBVV0FHQTogIE1vv2VzeiB1v3l3YeYgPEJTPiBhYnkgcG9wcmF3aWHmIGKz6mR5IHcgY3phc2llIHBpc2FuaWEuCkBAIC01MjYsMTUgKzUyNiwxNSBAQAogICA1LiBBYnkgd3LzY2nmIGdkemllIGJ5s2W2IHdjabZuaWogIENUUkwtTy4gUG93dGFyemFqIGJ5IHdy82Np5iBkYWxlai4gQ1RSTC1JCiAgICAgIGlkemllIGRvIHByem9kdS4KIAotVVdBR0E6ICAnYrNvbmQnIHRvIG5pZSBqZXN0IG1ldG9kYSBieSBwcnplbGl0ZXJvd2HmIGKzsWQ7ICdis29uZCcgdG8gYrOxZC4KLVVXQUdBOiAgS2llZHkgc3p1a2FuaWUgb3NpsWduaWUga29uaWVjIHBsaWt1IGLqZHppZSBrb250eW51b3dhs28gb2QgcG9jerF0a3UKLW8gaWxlIG9wY2phICd3cmFwc2NhbicgbmllIHpvc3Rhs2EgcHJ6ZXN0YXdpb25hLgorVXdhZ2E6ICAnYrNvbmQnIHRvIG5pZSBqZXN0IG1ldG9kYSBieSBwcnplbGl0ZXJvd2HmIGKzsWQ7ICdis29uZCcgdG8gYrOxZC4KK1V3YWdhOiAgS2llZHkgc3p1a2FuaWUgb3NpsWduaWUga29uaWVjIHBsaWt1IGLqZHppZSBrb250eW51b3dhs28gb2QgcG9jerF0a3UKKyAgICAgICAgbyBpbGUgb3BjamEgJ3dyYXBzY2FuJyBuaWUgem9zdGGzYSBwcnplc3Rhd2lvbmEuCiAKIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogCQlMZWtjamEgNC4zLjogVyBQT1NaVUtJV0FOSVUgUEFSVUqhQ1lDSCBOQVdJQVPTVwogCiAKLQkJKiogV3Bpc3ogICUgIGJ5IHpuYWxlvOYgcGFzdWqxY3kgKSxdLCBsdWIgfSAuICoqCisJICAgICAgICoqIFdwaXN6ICAlICBieSB6bmFsZbzmIHBhcnVqsWN5ICksIF0sIGx1YiB9IC4gKioKIAogICAxLiBVbWlltuYga3Vyc29yIG5hIGt083J5bbYgeiAoLCBbLCBsdWIgeyB3IGxpbmlpIHBvbmm/ZWogb3puYWN6b25laiAtLS0+LgogCkBAIC01NDgsNyArNTQ4LDcgQEAKIAogLS0tPiBUbyAoIGplc3QgbGluaWEgdGVzdG93YSB6ICgsIFssIF0gaSB7LCB9IC4gKSkKIAotVVdBR0E6IFRhIGZ1bmtjamEgamVzdCBiYXJkem8gdb95dGVjem5hIHcgZGVidWdnb3dhbml1IHByb2dyYW11CitVd2FnYTogVGEgZnVua2NqYSBqZXN0IGJhcmR6byB1v3l0ZWN6bmEgdyBkZWJ1Z2dvd2FuaXUgcHJvZ3JhbXUKICAgICAgICB6IG5pZXNwYXJvd2FueW1pIG5hd2lhc2FtaSEKIAogCkBAIC01OTgsNyArNTk4LDcgQEAKICAgICAgQnkgemFtaWVuaeYgd3N6eXN0a2llIHN0YXJ5IG5hIG5vd3kgdyBsaW5paSB3cGlzeiAgICAgOnMvc3Rhcnkvbm93eS9nCiAgICAgIEJ5IHphbWllbmnmIGZyYXp5IHBvbWnqZHp5IGR3b21hIGxpbmlhbWkgIyB3cGlzeiAgICAgIDojLCNzL3N0YXJ5L25vd3kvZwogICAgICBCeSB6YW1pZW5p5iB3c3p5c3RraWUgd3lzdLFwaWVuaWEgdyBwbGlrdSB3cGlzeiAgICAgICA6JXMvc3Rhcnkvbm93eS9nCi0gICAgIEJ5IFZpbSBwcm9zabMgQ2nqIG8gcG90d2llcmR6aWVuaWUgZG9kYWogJ2MnCSAgIDolcy9zdGFyeS9ub3d5L2djCisgICAgIEJ5IFZpbSBwcm9zabMgQ2nqIG8gcG90d2llcmR6ZW5pZSBkb2RhaiAnYycJICAgOiVzL3N0YXJ5L25vd3kvZ2MKIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogCQkgTGVrY2phIDUuMS46IEpBSyBXWUtPTkHGIFBPTEVDRU5JQSBaRVdOylRSWk5FCiAKQEAgLTYwNiw3ICs2MDYsNyBAQAogCSoqIFdwaXN6ICA6ISAgYSBuYXN06nBuaWUgemV3bup0cnpuZSBwb2xlY2VuaWUgYnkgamUgd3lrb25h5i4gKioKIAogICAxLiBXcGlzeiB6bmFqb21lIHBvbGVjZW5pZSAgOiAgYnkgdXN0YXdp5iBrdXJzb3IgbmEgZG9sZSBla3JhbnUuIFRvIHBvendhbGEKLSAgICAgbmEgd3Byb3dhZHplbmllIHBvbGVjZW5pYS4KKyAgICAgbmEgd3Byb3dhZHplbmllIGtvbWVuZHkgbGluaWkgcG9sZWNl8S4KIAogICAyLiBUZXJheiB3c3RhdyAgISAgKHd5a3J6eWtuaWspLiBUbyB1bW+/bGl3aSBDaSB3eWtvbmFuaWUgZG93b2xuZWdvCiAgICAgIHpld27qdHJ6bmVnbyBwb2xlY2VuaWEgcG93s29raS4KQEAgLTYzOCwxMiArNjM4LDEyIEBACiAgIDQuIFRvIHBvbGVjZW5pZSB6YXBhbWnqdGEgY2GzeSBwbGlrIChWaW0gVHV0b3IpIHBvZCBuYXp3sSBURVNULgogICAgICBCeSB0byBzcHJhd2R6aeYgd3Bpc3ogIDohZGlyICBsdWIgIDohbHMgLCC/ZWJ5IHpub3d1IHpvYmFjennmIGxpc3TqIHBsaWvzdy4KIAotVXdhZ2E6IFphdXdhvywgv2UgZ2R5Ynm2IHRlcmF6IHd5c3plZLMgeiBWaW0tYSwgYSBuYXN06nBuaWUgd3N6ZWSzIHBvbm93bmllCi0gICAgICAga29tZW5ksSAgdmltIFRFU1QgLCBwbGlrIGJ5s2J5IGRva7NhZG6xIGtvcGmxIHR1dG9yaWFsYSBraWVkeSBnbworVXdhZ2E6IFphdXdhvywgv2UgZ2R5Ynm2IHRlcmF6IHd5c3plZLMgeiBWaW1hLCBhIG5hc3TqcG5pZSB3c3plZLMgcG9ub3duaWUKKyAgICAgICBwb2xlY2VuaWVtICB2aW0gVEVTVCAsIHBsaWsgYnmzYnkgZG9rs2FkbrEga29wabEgdHV0b3JpYWxhIGtpZWR5IGdvCiAgICAgICAgemFwaXN5d2GzZbYuCiAKLSAgNS4gVGVyYXogdXN18SBwbGlrIHdwaXN1arFjOgkJICAgOiFybSBURVNUCi0KKyAgNS4gVGVyYXogdXN18SBwbGlrIHdwaXN1arFjIChNUy1ET1MpOgkJICAgOiFkZWwgVEVTVAorICAgICAgICAgICAgICAgICAgICAgICAgICBsdWIgKFVuaXgpOiAgICAgICAgICAgICAgOiFybSBURVNUCiAKIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogCQkgICAgTGVrY2phIDUuMy46IFdZQlJBTklFIFRFS1NUVSBETyBaQVBJU1UKQEAgLTY4Nyw4ICs2ODcsOCBAQAogICAgICB0ZXJheiBzsSBkd2llIGtvcGllIExla2NqaSA1LjMuLCBvcnlnaW5hsyBpIGtvcGlhIHogcGxpa3UuCiAKIFVXQUdBOiBNb79lc3ogdGW/IHdjenl0YeYgd3lqtmNpZSB6ZXdu6nRyem5lZ28gcG9sZWNlbmlhLiBOYSBwcnp5a7NhZAotICAgICAgIDpyICFscyAgd2N6eXR1amUgd3lqtmNpZSBwb2xlY2VuaWEgbHMgaSB1bWllc3pjemEgamUgcG9kIGt1cnNvcmVtLgotCisgICAgICAgOnIgIWxzICB3Y3p5dHVqZSB3eWq2Y2llIHBvbGVjZW5pYSBscyBpIHVtaWVzemN6YSBqZSBwb2QgcG9uab9lagorICAgICAgIGt1cnNvcmEuCiAKIAogfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CkBAIC03MDMsNyArNzAzLDcgQEAKIAogCSAgOiFybSBOQVpXQV9QTElLVSAgLSAgdXN1d2EgcGxpayBOQVpXQV9QTElLVS4KIAotICAyLiAgOncgTkFaV0FfUExJS1UgIHphcGlzdWplIG9iZWNueSBwbGlrIFZpbS1hIG5hIGR5c2sgeiBuYXp3sSBOQVpXQV9QTElLVS4KKyAgMi4gIDp3IE5BWldBX1BMSUtVICB6YXBpc3VqZSBvYmVjbnkgcGxpayBWaW1hIG5hIGR5c2sgeiBuYXp3sSBOQVpXQV9QTElLVS4KIAogICAzLiAgdiBydWNoIDp3IE5BWldBX1BMSUtVICB6YXBpc3VqZSBXaXp1YWxuaWUgd3licmFuZSBsaW5pZSBkbyBOQVpXQV9QTElLVS4KIApAQCAtNzUyLDEzICs3NTIsMTMgQEAKICAgNC4gRG9rb/FjeiB3eXJheiB0YWsgamFrIHcgbGluaWkgcG9uab9lai4gV2Nptm5paiA8RVNDPiBhYnkgb3B1tmNp5iB0cnliCiAgICAgIEluc2VydC4KIAotICA1LiBVv3lqICBlICBieSBwcnplarbmIGRvIGtvbGVqbmVnbyBuaWVkb2tv8WN6b25lZ28gd3lyYXplIGkgcG93dGFyemFqIGtyb2tpCisgIDUuIFW/eWogIGUgIGJ5IHByemVqtuYgZG8ga29sZWpuZWdvIG5pZWRva2/xY3pvbmVnbyB3eXJhenUgaSBwb3d0YXJ6YWoga3Jva2kKICAgICAgMy4gaSA0LgogCiAtLS0+IFRhIGxpIHBveiBDaSDmd2kgZG9kYXcgdGVrcyBkbyBrb/EgbGluCiAtLS0+IFRhIGxpbmlhIHBvendvbGkgQ2kg5ndpY3p55iBkb2Rhd2FuaWUgdGVrc3R1IGRvIGtv8WNhIGxpbmlpLgogCi1Vd2FnYTogIGEgLCAgaSAgYW5kICBBICBwcm93YWR6sSBkbyB0cnlidSBJbnNlcnQsIGplZHlusSBy879uaWOxIGplc3QgbWllanNjZQorVXdhZ2E6ICBhICwgIGkgIG9yYXogIEEgIHByb3dhZHqxIGRvIHRyeWJ1IEluc2VydCwgamVkeW6xIHLzv25pY7EgamVzdCBtaWVqc2NlCiAgICAgICAgZ2R6aWUgbm93ZSB6bmFraSBi6mSxIGRvZGF3YW5lLgogfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAJCSAgIExla2NqYSA2LjMuOiBJTk5BIFdFUlNKQSBSRVBMQUNFICh6YW1pYW5hKQpAQCAtNzg5LDcgKzc4OSw3IEBACiAKICAgICAgICAqKiB1v3lqIG9wZXJhdG9yYSAgeSAgYWJ5IHNrb3Bpb3dh5iB0ZWtzdCBpICBwICBhYnkgZ28gd2tsZWnmICoqCiAKLSAgMS4gUHJ6ZWpkvCBkbyBsaW5paSBvem5hY3pvbmVqIC0tLT4gaSB1bWlltmMga3Vyc29yIHphICJhKSIuCisgIDEuIFByemVqZLwgZG8gbGluaWkgb3puYWN6b25laiAtLS0+IGkgdW1pZbbmIGt1cnNvciB6YSAiYSkiLgogCiAgIDIuIFdlamS8IHcgdHJ5YiBWaXN1YWwgIHYgIGkgcHJ6ZW5pZbYga3Vyc29yIG5hIHBvY3qxdGVrICJwaWVyd3N6eSIuCiAKQEAgLTc5OSw4ICs3OTksOCBAQAogCiAgIDUuIFdjabZuaWogIHAgIGFieSB3cGFrb3dh5iAocGFzdGUpIHRla3N0LiAgRG9kYWo6ICBhIGRydWdpPEVTQz4gLgogCi0gIDYuIFW/eWogdHJ5YnUgVmlzdWFsIGFieSB3eWJyYeYgIiBlbGVtZW50LiIsIHlhbmt1aiBnbyAgeSAsIHByemVqZLwgZG8ga2/xY2EKLSAgICAgbmFzdOpwbmVqIGxpbmlpICBqJCBpIHVwYWt1aiB0YW0gdGVrc3QgeiAgcCAuCisgIDYuIFW/eWogdHJ5YnUgV2l6dWFsbmVnbyBhYnkgd3licmHmICIgZWxlbWVudC4iLCB5YW5rdWogZ28gIHkgLCBwcnplamS8IGRvCisgICAgIGtv8WNhIG5hc3TqcG5laiBsaW5paSAgaiQgaSB1cGFrdWogdGFtIHRla3N0IHogIHAgLgogCiAtLS0+ICBhKSB0byBqZXN0IHBpZXJ3c3p5IGVsZW1lbnQuCiAgICAgICBiKQpAQCAtODE4LDcgKzgxOCw3IEBACiAgIDIuIFVzdGF3IG9wY2rqICdpYycgKElnbm9yZSBjYXNlIC0tIGlnbm9ydWogd2llbGtvtuYgbGl0ZXIpIHBvcHJ6ZXoKICAgICAgd3Bpc2FuaWU6CQk6c2V0IGljCiAKLSAgMy4gVGVyYXogc3p1a2FqICdpZ25vcmUnIHBvbm93bmllIHdjaXNrdWqxYzogIG4KKyAgMy4gVGVyYXogc3p1a2FqICdpZ25vcmUnIHBvbm93bmllIHdjaXNrYWqxYzogIG4KICAgICAgWmF1d2G/LCC/ZSBJZ25vcmUgaSBJR05PUkUgdGFrv2Ugc7EgdGVyYXogem5hbGV6aW9uZS4KIAogICA0LiBVc3RhdyBvcGNqZSAnaGxzZWFyY2gnIGkgJ2luY3NlYXJjaCc6ICAgIDpzZXQgaGxzIGlzCkBAIC04MzUsMTYgKzgzNSwxOCBAQAogCiAKICAgMS4gV3Bpc2FuaWUgIG8gIG90d2llcmEgbGluaeogUE9OSa9FSiBrdXJzb3JhLgotICAgICBXcGlzYW5pZSB3aWVsa2llZ28gIE8gIG90d2llcmEgbGluaeogUE9XWa9FSiBrdXJzb3JhLgotICAyLiBXcGlzeiAgYSAgYnkgd3N0YXdp5iB0ZWtzdCBaQSB6bmFraWVtIG5hLCBrdPNyeW0gamVzdCBrdXJzb3IuCi0gICAgIFdwaXNhbmllIHdpZWxraWVnbyAgQSAgZG9kYWplIHRla3N0IG5hIGtv8WN1IGxpbmlpLgorICAgICBXcGlzYW5pZSAgTyAgb3R3aWVyYSBsaW5p6iBQT1dZr0VKIGt1cnNvcmEuCisKKyAgMi4gV3Bpc2FuaWUgIGEgIGJ5IHdzdGF3aeYgdGVrc3QgWkEgem5ha2llbSBuYSwga3TzcnltIGplc3Qga3Vyc29yLgorICAgICBXcGlzYW5pZSAgQSAgZG9kYWplIHRla3N0IG5hIGtv8WN1IGxpbmlpLgorCiAgIDMuIFBvbGVjZW5pZSAgZSAgcHJ6ZW5vc2kgZG8ga2/xY2Egd3lyYXp1LgotICA0LiBPcGVyYXRvICB5ICB5YW5rdWplIChrb3BpdWplKSB0ZWtzdCwgIHAgIHBha3VqZSAod2tsZWphLCBwYXN0ZSkgZ28uCisgIDQuIE9wZXJhdG9yICB5ICB5YW5rdWplIChrb3BpdWplKSB0ZWtzdCwgIHAgIHBha3VqZSAod2tsZWphLCBwYXN0ZSkgZ28uCiAgIDUuIFdwaXNhbmllIHdpZWxraWVnbyAgUiAgd3Byb3dhZHphIHcgdHJ5YiBSZXBsYWNlICh6YW1pYW5hKSBkb3Dza2kKICAgICAgbmllIHpvc3RhbmllIHdjabZuaep0eSA8RVNDPi4KICAgNi4gV3Bpc2FuaWUgIjpzZXQgeHh4IiB1c3Rhd2lhIG9wY2rqICJ4eHgiLiBOaWV0a/NyZSBvcGNqZToKLQknaWMnICdpZ25vcmVjYXNlJwlpZ25vcnVqIHdpZWxrb7bmIHpuYWvzdwotCSdpcycgJ2luY3NlYXJjaCcJcG9rYb8gY3rqtmNpb3dlIGRvcGFzb3dhbmlhCisJJ2ljJyAgJ2lnbm9yZWNhc2UnCWlnbm9ydWogd2llbGtvtuYgem5ha/N3CisJJ2lzJyAgJ2luY3NlYXJjaCcJcG9rYb8gY3rqtmNpb3dlIGRvcGFzb3dhbmlhCiAJJ2hscycgJ2hsc2VhcmNoJwlwb2S2d2lldGwgd3N6eXN0a2llIGRvcGFzb3dhbmlhCiAgICAgIE1vv2VzeiB1v3nmIHphcvN3bm8gZLN1Z2llaiBqYWsgaSBrcvN0a2llaiBmb3JteS4KICAgNy4gRG9kYWogIm5vIiBhYnkgd3mzsWN6eeYgb3Bjauo6ICAgOnNldCBub2ljCkBAIC04NTQsMTQgKzg1NiwxNCBAQAogCiAKIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkJTEVLQ0pBIDcuMS4gSkFLIFVaWVNLQcYgUE9NT0MgCisJCQlMRUtDSkEgNy4xLiBKQUsgVVpZU0tBxiBQT01PQwogCiAJCSAgICAgICoqIFW/eWNpZSBzeXN0ZW11IHBvbW9jeSBvbi1saW5lICoqCiAKICAgVmltIHBvc2lhZGEgYmFyZHpvIGRvYnJ5IHN5c3RlbSBwb21vY3kgb24tbGluZS4gQnkgemFjerHmIHNwcvNidWogamVkbmVqCiAgIHogdHJ6ZWNoIG1vv2xpd2+2Y2k6Ci0JLSB3Y2m2bmlqIGtsYXdpc3ogPEhFTFA+IChqZbZsaSB0YWtvd3kgcG9zaWFkYXN6KQotCS0gd2Nptm5paiBrbGF3aXN6IDxGMT4gKGpltmxpIHRha293eSBwb3NpYWRhc3opCisJLSB3Y2m2bmlqIGtsYXdpc3ogPEhFTFA+IChqZbZsaSB0YWtpIG1hc3opCisJLSB3Y2m2bmlqIGtsYXdpc3ogPEYxPiAoamW2bGkgdGFraSBtYXN6KQogCS0gd3Bpc3ogICA6aGVscDxFTlRFUj4KIAogICBQcnplY3p5dGFqIHRla3N0IHcgb2tuaWUgcG9tb2N5ICBhYnkgZG93aWVkemll5iBzaeogamFrIGR6aWGzYSBwb21vYy4KQEAgLTg3OCw3ICs4ODAsNyBAQAogfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAJCSAgIExFS0NKQSA3LjIuIFRXT1JaRU5JRSBTS1JZUFRVIFNUQVJUT1dFR08KIAotCQkJICoqIFezsWN6IG1vv2xpd2+2Y2kgVmltLWEgKioKKwkJCSAgKiogV7OxY3ogbW+/bGl3b7ZjaSBWaW1hICoqCiAKICAgVmltIG1hIG8gd2llbGUgd2nqY2VqIG1vv2xpd2+2Y2kgbmm/IFZpLCBhbGUgd2nqa3N6b7bmIHogbmljaCBqZXN0IGRvbXm2bG5pZQogICB3ebOxY3pvbmEuIEpltmxpIGNoY2VzeiB3s7FjennmIHRlIG1vv2xpd2+2Y2kgbmEgc3RhcmNpZSBtdXNpc3ogdXR3b3J6eeYKQEAgLTk0MywyMyArOTQ1LDIzIEBACiAKIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogCi0gIFR1dGFqIHNp6iBrb/FjenkgdHV0b3JpYWwgVmltLWEuIFpvc3RhsyBvbiBwb215tmxhbnkgdGFrIGFieSBkYeYga3LzdGtpCisgIFR1dGFqIHNp6iBrb/FjenkgdHV0b3JpYWwgVmltYS4gWm9zdGGzIG9uIHBvbXm2bGFueSB0YWsgYWJ5IGRh5iBrcvN0a2kKICAgcHJ6ZWdssWQgamVnbyBtb79saXdvtmNpLCB3eXN0YXJjemFqsWN5IGJ5tiBt82ezIGdvIHW/eXdh5i4gSmVzdCBvbgogICBkYWxla2kgb2Qga29tcGxldG5vtmNpIHBvbmlld2G/IFZpbSBtYSBvIHdpZWxlLCB3aWVsZSB3aepjZWogcG9sZWNl8S4KIAogICBEbGEgZGFsc3plaiBuYXVraSByZWtvbWVuZHVqZW15IGtzabG/a+o6CiAJVmltIC0gVmkgSW1wcm92ZWQgLSBhdXRvciBTdGV2ZSBPdWFsbGluZQogCVd5ZGF3Y2E6IE5ldyBSaWRlcnMKLSAgUGllcndzemEga3NpsXprYSBjYbNrb3dpY2llIHBvtndp6mNvbmEgVmltLW93aS4gVb95dGVjem5hIHp3s2FzemN6YSBkbGEKKyAgUGllcndzemEga3NpsXprYSBjYbNrb3dpY2llIHBvtndp6mNvbmEgVmltb3dpLiBVv3l0ZWN6bmEgenezYXN6Y3phIGRsYQogICBwb2N6sXRrdWqxY3ljaC4gWmF3aWVyYSB3aWVsZSBwcnp5a7NhZPN3IGkgaWx1c3RyYWNqaS4KICAgWm9iYWN6IGh0dHA6Ly9pY2NmLWhvbGxhbmQub3JnLi9jbGljazUuaHRtbAogCi0gIFRhIGtzabG/a2EgamVzdCBzdGFyc3phIGkgYmFyZHppZWogbyBWaSBuab8gbyBWaW0taWUsIGFsZSB0YWu/ZSB3YXJ0YQorICBTdGFyc3phIHBvenljamEgaSBiYXJkemllaiBvIFZpIG5pvyBvIFZpbWllLCBhbGUgdGFrv2Ugd2FydGEKICAgcG9sZWNlbmlhOgogCUxlYXJuaW5nIHRoZSBWaSBFZGl0b3IgLSBhdXRvciBMaW5kYSBMYW1iCiAJV3lkYXdjYTogTydSZWlsbHkgJiBBc3NvY2lhdGVzIEluYy4KICAgVG8gZG9icmEga3Npsb9rYSBieSBkb3dpZWR6aWXmIHNp6iBuaWVtYWwgd3N6eXN0a2llZ28gY28gY2hjaWGzYnm2IHpyb2Jp5gotICB6IFZpLiBTevNzdGEgZWR5Y2phIHphd2llcmEgdGW/IGluZm9ybWFjamUgbyBWaW0taWUuCisgIHogVmkuIFN683N0YSBlZHljamEgemF3aWVyYSB0Zb8gaW5mb3JtYWNqZSBvIFZpbWllLgogCiAgIFBvIHBvbHNrdSB3eWRhbm86CiAJRWR5dG9yIHZpLiBMZWtzeWtvbiBraWVzem9ua293eSAtIGF1dG9yIEFybm9sZCBSb2JiaW5zCkBAIC05NjcsMTAgKzk2OSwxMCBAQAogCUlTQk46IDgzLTcxOTctNDcyLTgKIAlodHRwOi8vaGVsaW9uLnBsL2tzaWF6a2kvdmlsZWsuaHRtCiAgIEplc3QgdG8ga3Npsb9lY3prYSB6YXdpZXJharFjYSBzcGlzIHBvbGVjZfEgdmkgaSBqZWdvIG5handhv25pZWpzenljaAotICBrbG9u83cgKG1p6mR6eSBpbm55bWkgVmltLWEpLgorICBrbG9u83cgKG1p6mR6eSBpbm55bWkgVmltYSkuCiAKIAlFZHl0b3IgdmkgLSBhdXRvcnp5IExpbmRhIExhbWIgaSBBcm5vbGQgUm9iYmlucwotCVd5ZGF3Y2E6IEhlbGlvbiAyMDAxIChPJ1JlaWxseSkgLSB3ZyA2IGFuZy4gd3lkYW5pYQorCVd5ZGF3Y2E6IEhlbGlvbiAyMDAxIChPJ1JlaWxseSkgLSB3ZyA2LiBhbmcuIHd5ZGFuaWEKIAlJU0JOOiA4My03MTk3LTUzOS0yCiAJaHR0cDovL2hlbGlvbi5wbC9rc2lhemtpL3ZpZWR5dC5odG0KICAgUm96c3plcnpvbmEgd2Vyc2phIExlYXJuaW5nIHRoZSBWaSBFZGl0b3IgdyBwb2xza2ltIHSzdW1hY3plbml1LgpAQCAtOTgwLDcgKzk4Miw3IEBACiAgIENvbG9yYWRvIFN0YXRlIFVuaXZlcnNpdHkuCiAgIEUtbWFpbDogYndhcmVAbWluZXMuY29sb3JhZG8uZWR1LgogCi0gIFptb2R5Zmlrb3dhbmUgZGxhIFZpbS1hIHByemV6IEJyYW1hIE1vb2xlbmFhcmEuCisgIFptb2R5Zmlrb3dhbmUgZGxhIFZpbWEgcHJ6ZXogQnJhbWEgTW9vbGVuYWFyYS4KIAogfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAKQEAgLTk4OCw0ICs5OTAsNSBAQAogICBTaWVycGll8SAyMDAxLAogICByZXYuIE1hcnplYyAyMDAyCiAgIDJuZCByZXYuIFdyemVzaWXxIDIwMDQKKyAgM3JkIHJldi4gTWFyemVjIDIwMDYKICAgV3N6ZWxraWUgdXdhZ2kgcHJvc3rqIGtpZXJvd2HmIG5hOiBtaWttYWNoQHdwLnBsCmRpZmYgLS1naXQgYS9ydW50aW1lL3R1dG9yL3R1dG9yLnBsLmNwMTI1MCBiL3J1bnRpbWUvdHV0b3IvdHV0b3IucGwuY3AxMjUwCmluZGV4IGNjMmE2Y2MuLjRkYWVkMTggMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvdHV0b3IvdHV0b3IucGwuY3AxMjUwCisrKyBiL3J1bnRpbWUvdHV0b3IvdHV0b3IucGwuY3AxMjUwCkBAIC01LDcgKzUsNyBAQAogICAgICBWaW0gdG8gcG906r9ueSBlZHl0b3IsIGt083J5IHBvc2lhZGEgd2llbGUgcG9sZWNl8SwgemJ5dCBkdb9vIGJ5CiAgICAgIHd5amGcbmnmIGplIHdzenlzdGtpZSB3IHR5bSB0dXRvcmlhbHUuIFRlbiBwcnpld29kbmlrIG1hIG5hdWN6eeYKICAgICAgQ2nqIHBvc7N1Z2l3YeYgc2nqIHd5c3RhcmN6YWq5Y28gd2llbG9tYSBrb21lbmRhbWkgYnmcIG3zZ7Mgs2F0d28KLSAgICAgdb95d2HmIFZpbS1hIGpha28gZWR5dG9yYSBvZ/NsbmVnbyBwcnplem5hY3plbmlhLgorICAgICB1v3l3YeYgVmltYSBqYWtvIGVkeXRvcmEgb2fzbG5lZ28gcHJ6ZXpuYWN6ZW5pYS4KIAogICAgICBDemFzIHBvdHJ6ZWJueSBuYSB1a2/xY3plbmllIHR1dG9yaWFsYSB0byAyNSBkbyAzMCBtaW51dCBpIHphbGW/eQogICAgICBvZCB0ZWdvIGphayB3aWVsZSBjemFzdSBzcOpkemlzeiBuYSBla3NwZXJ5bWVudG93YW5pdS4gIApAQCAtMTUsMTAgKzE1LDEwIEBACiAJIHdjemWcbmllaiBrb3Bp6iB0ZWdvIHBsaWt1IGRvIOZ3aWN6ZfEgKGplnGxpIHphY3q5s2WcIGtvbWVuZLkKIAkgInZpbXR1dG9yIiB0byBqdb8gcHJhY3VqZXN6IG5hIGtvcGlpKS4KIAotICAgICBXYb9uZSBqZXN0LCBieZwgcGFtaep0YbMsIL9lIHByemV3b2RuaWsgdGVuIHpvc3RhsyB6YXByb2pla3Rvd2FueSBkbwotICAgICBuYXVraSBwb3ByemV6IOZ3aWN6ZW5pYS4gVG8gb3puYWN6YSwgv2UgbXVzaXN6IHd5a29ueXdh5iBwb2xlY2VuaWEKLSAgICAgYnkgbmF1Y3p55iBzaeogaWNoIHByYXdpZLNvd28uIEplnGxpIGLqZHppZXN6IGplZHluaWUgY3p5dGGzIHRla3N0Ci0gICAgIHN6eWJrbyB6YXBvbW5pc3ogd2llbGUgcG9sZWNl8SEKKwkgUGFtaep0YWogv2UgcHJ6ZXdvZG5payB0ZW4gem9zdGGzIHphcHJvamVrdG93YW55IGRvIG5hdWtpIHBvcHJ6ZXoKKwkg5ndpY3plbmlhLiBPem5hY3phIHRvLCC/ZSBtdXNpc3ogd3lrb255d2HmIHBvbGVjZW5pYSBieSBuYXVjennmIHNp6iBpY2gKKwkgcHJhd2lks293by4gSmWcbGkgYupkemllc3ogamVkeW5pZSBjenl0YbMgdGVrc3Qgc3p5YmtvIHphcG9tbmlzeiB3aWVsZQorCSBwb2xlY2XxIQogCiAgICAgIFRlcmF6IHVwZXduaWogc2nqLCC/ZSBuaWUgbWFzeiB3Y2mcbmnqdGVnbyBDYXBzTG9ja2EgaSB3Y2lza2FqICBqCiAgICAgIHRhayBks3VnbyBkb3Dza2kgTGVrY2phIDEuMS4gbmllIHd5cGWzbmkgY2Gza293aWNpZSBla3JhbnUuCkBAIC00NSw3ICs0NSw3IEBACiAKIFV3YWdhOiBLbGF3aXN6ZSBrdXJzb3JhIHRha79lIHBvd2lubnkgZHppYbNh5iwgYWxlIHW/eXdharljICBoamtsICBi6mR6aWVzegogICAgICAgIHcgc3RhbmllIHBvcnVzemHmIHNp6iBvIHdpZWxlIHN6eWJjaWVqIGphayBzaeogdHlsa28gcHJ6eXp3eWN6YWlzei4KLQkgICBOYXByYXdk6iEKKyAgICAgICBOYXByYXdk6iEKIAogfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAJCSAgICBMZWtjamEgMS4yLjogV1lDSE9EWkVOSUUgWiBWSU0tYQpAQCAtNjUsNyArNjUsNyBAQAogICAgICB3eWqc5iBpIHdy82Np5iBkbyBlZHl0b3JhLgogCiBVV0FHQTogOnEhPEVOVEVSPiBwb3J6dWNhIHdzemVsa2llIHptaWFueSBqYWtpZSB6cm9iabNlnC4gVyBuYXN06nBueWNoCi1sZWtjamFjaCBkb3dpZXN6IHNp6iBqYWsgamUgemFwYW1p6nR5d2HmLgorICAgICAgIGxla2NqYWNoIGRvd2llc3ogc2nqIGphayBqZSB6YXBhbWnqdHl3YeYuCiAKICAgNS4gUHJ6ZW5pZZwga3Vyc29yIGRvIGxla2NqaSAxLjMuCiAKQEAgLTE1MCwxNiArMTUwLDE2IEBACiAgIDEuIFpha2/xY3ogdHV0b3JpYWwgdGFrIGphayB3IGxla2NqaSAxLjIuOiAgOnEhCiAKICAgMi4gVyBwb3ezb2NlIHd5ZGFqIHBvbGVjZW5pZTogIHZpbSB0dXRvcjxFTlRFUj4KLSAgICAgInZpbSIgamVzdCBwb2xlY2VuaWVtIHVydWNoYW1pYWq5Y3ltIGVkeXRvciBWaW1tLiAndHV0b3InIHRvIG5hendhIHBsaWt1CisgICAgICJ2aW0iIGplc3QgcG9sZWNlbmllbSB1cnVjaGFtaWFquWN5bSBlZHl0b3IgVmltLiAndHV0b3InIHRvIG5hendhIHBsaWt1CiAgICAgIGpha2kgY2hjZXN6IGVkeXRvd2HmLiBVv3lqIHBsaWt1IGpha2kgbW+/ZSB6b3N0YeYgem1pZW5pb255LgogCiAgIDMuIERvZGFqIGkgdXN18SB0ZWtzdCB0YWsgamFrIHNp6iBuYXVjenmzZZwgdyBwb3ByemVkbmljaCBsZWtjamFjaC4KIAotICA0LiBaYXBpc3ogcGxpayB6ZSB6bWlhbmFtaSB3IG9wdZzmIFZpbWE6ICA6d3E8RU5URVI+CisgIDQuIFphcGlzeiBwbGlrIHplIHptaWFuYW1pIGkgb3B1nOYgVmltYTogIDp3cTxFTlRFUj4KIAogICA1LiBVcnVjaG9tIHBvbm93bmllIHZpbXR1dG9yIGkgcHJ6ZWpknyBkbyBwb2RzdW1vd2FuaWEgbGVrY2ppLgogCi0gIDYuIFBvIHByemVjenl0YW5pdSB3c3p5c3RraWNoIGtyb2vzdyBpIHpyb3p1bWllbml1IGljaDogd3lrb25haiBqZS4KKyAgNi4gUG8gcHJ6ZWN6eXRhbml1IHdzenlzdGtpY2gga3Jva/N3IGkgaWNoIHpyb3p1bWllbml1OiB3eWtvbmFqIGplLgogCiAKIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpAQCAtMTY4LDIxICsxNjgsMjEgQEAKICAgMS4gUG9ydXN6YXN6IGt1cnNvcmVtIHW/eXdharljICJzdHJ6YbNlayIgaSBrbGF3aXN6eSAgaGprbCAuCiAgICAgICAgaCAodyBsZXdvKQkgaiAodyBk87MpCSBrIChkbyBn83J5KQkJbCAodyBwcmF3bykKIAotICAyLiBCeSB3ZWqc5iBkbyBWaW0tYSAoeiBwb3ezb2tpKSB3cGlzejoKKyAgMi4gQnkgd2VqnOYgZG8gVmltYSAoeiBwb3ezb2tpKSB3cGlzejoKIAkJCSAgICB2aW0gTkFaV0FfUExJS1U8RU5URVI+CiAKLSAgMy4gQnkgd3lqnOYgeiBWaW0tYSB3cGlzejoKKyAgMy4gQnkgd3lqnOYgeiBWaW1hIHdwaXN6OgogCQkJICAgIDxFU0M+IDpxITxFTlRFUj4gIGJ5IHVzdW65YyB3c3p5c3RraWUgem1pYW55LgogCSAgICAgTFVCOgkgICAgPEVTQz4gOndxPEVOVEVSPiAgYnkgem1pYW55IHphY2hvd2HmLgogCiAgIDQuIEJ5IHVzdW655iB6bmFrIHBvZCBrdXJzb3JlbSB3Y2mcbmlqOiAgeAogCiAgIDUuIEJ5IHdzdGF3aeYgdGVrc3QgcHJ6ZWQga3Vyc29yZW0gbHViIGRvZGHmOgotCWkgICAgICAgICB3cGlzeiB0ZWtzdCAgICAgIDxFU0M+IHdzdGF3aSBwcnplZCBrdXJzb3JlbQotCUEgICAgICAgICB3cGlzeiB0ZWtzdCAgICAgIDxFU0M+IGRvZGEgbmEga2/xY3UgbGluaWkKKwlpICAgd3Bpc3ogdGVrc3QgICA8RVNDPiAgICAgICAgIHdzdGF3aSBwcnplZCBrdXJzb3JlbQorCUEgICB3cGlzeiB0ZWtzdCAgIDxFU0M+ICAgICAgICAgZG9kYSBuYSBrb/FjdSBsaW5paQogCiBVV0FHQTogV2NpnG5p6mNpZSA8RVNDPiBwcnplbmllc2llIENp6iB6IHBvd3JvdGVtIGRvIHRyeWJ1IE5vcm1hbAotbHViIG9kd2+zYSBuaWVjaGNpYW5lIGx1YiBjeuqcY2lvd28gd3Byb3dhZHpvbmUgcG9sZWNlbmlhLgorICAgICAgIGx1YiBvZHdvs2EgbmllY2hjaWFuZSBsdWIgY3rqnGNpb3dvIHdwcm93YWR6b25lIHBvbGVjZW5pYS4KIAogVGVyYXogbW+/ZW15IGtvbnR5bnVvd2HmIGkgcHJ6ZWqc5iBkbyBMZWtjamkgMi4KIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpAQCAtMTk3LDExICsxOTcsMTEgQEAKIAogICAzLiBQcnplc3XxIGt1cnNvciBuYSBwb2N6uXRlayB3eXJhenUsIGt083JlIGNoY2VzeiB1c3VuueYuCiAKLSAgNC4gV3Bpc3ogICBkdyAgIGJ5IHVzdW65YyB3eXJhei4KKyAgNC4gV3Bpc3ogICBkdyAgIGJ5IHVzdW655iB3eXJhei4KIAogICBVV0FHQTogTGl0ZXJhICBkICBwb2phd2kgc2nqIG5hIGRvbGUgZWtyYW51LiBWaW0gY3pla2EgbmEgd3Bpc2FuaWUgIHcgLiAKLQkgSmWcbGkgem9iYWN6eXN6IGlubnkgem5hayB3cGlzYbNlnCBjb5wgn2xlLCB3Y2mcbmlqIDxFU0M+IGkgemFjem5pagotCSBvZCBwb2N6uXRrdS4KKwkgSmWcbGkgem9iYWN6eXN6IGlubnkgem5hayBvem5hY3phIHRvLCC/ZSB3cGlzYbNlnCBjb5wgn2xlLCB3Y2mcbmlqCisJIDxFU0M+IGkgemFjem5paiBvZCBwb2N6uXRrdS4KIAogLS0tPiBKZXN0IHR1IHBhcuogcGFwaWVyIHd5cmF683csIGt083JlIGthbWll8SBuaWUgbmFsZb+5IGRvIG5vv3ljZSB0ZWdvIHpkYW5pYS4KIApAQCAtMzA2LDEzICszMDYsMTMgQEAKIAogCQkgICAqKiBXcGlzeiAgZGQgIGFieSB1c3VuueYgY2GzuSBsaW5p6i4gKioKIAotICBaIHBvd29kdSBjeupzdG+cY2kgdXN1d2FuaWEgY2GzeWNoIGxpbmlpLCBwcm9qZWt0YW5jaSBWSSB6ZGVjeWRvd2FsaSwgv2UKKyAgWiBwb3dvZHUgY3rqc3RvnGNpIHVzdXdhbmlhIGNhs3ljaCBsaW5paSwgcHJvamVrdGFuY2kgVmkgemRlY3lkb3dhbGksIL9lCiAgIGLqZHppZSCzYXR3aWVqIHdwaXNh5iBkd2EgcmF6eSAgZCAgYWJ5IHVzdW655iBsaW5p6i4KIAotICAxLiBQcnplbmllnCBrdXJzb3IgZG8gemRhbmlhIHBvbmm/ZWouCi0gIDIuIFdwaXN6ICBkZCAgYWJ5IHVzdW65YyB3aWVyc3ouCisgIDEuIFByemVuaWWcIGt1cnNvciBkbyBkcnVnaWVnbyB6ZGFuaWEgeiB3aWVyc3p5a2EgcG9uab9lai4KKyAgMi4gV3Bpc3ogIGRkICBhYnkgdXN1brnmIHdpZXJzei4KICAgMy4gVGVyYXogcHJ6ZW5pZZwgc2nqIGRvIGN6d2FydGVnbyB3aWVyc3phLgotICA0LiBXcGlzeiAgMmRkICBhYnkgdXN1brljIGR3aWEgd2llcnN6ZS4KKyAgNC4gV3Bpc3ogIDJkZCAgYWJ5IHVzdW65YyBkd2Egd2llcnN6ZS4KIAogLS0tPiAgMSkgIFLzv2Ugc7kgY3plcndvbmUsCiAtLS0+ICAyKSAgQrNvdG8gamVzdCBmYWpuZSwKQEAgLTMzNyw3ICszMzcsNyBAQAogICA0LiBUeW0gcmF6ZW0gcG9wcmF3IHdzenlzdGtpZSBis+pkeSB3IGxpbmlpIHW/eXdharljIHBvbGVjZW5pYSAgeCAuCiAgIDUuIFRlcmF6IHdjaZxuaWogd2llbGtpZSBVIGFieSBwcnp5d3LzY2nmIGxpbmnqIGRvIG9yeWdpbmFsbmVnbyBzdGFudS4KICAgNi4gVGVyYXogd2NpnG5paiAgdSAga2lsa2EgcmF6eSBieSBjb2ZuueYgIFUgIGkgcG9wcnplZG5pZSBwb2xlY2VuaWEuCi0gIDcuIFRlcmF6IHdwc3ogQ1RSTC1SICh0cnp5bWFqIHLzd25vY3plnG5pZSB3Y2mcbmnqdGUga2xhd2lzemUgQ1RSTCBpIFIpCisgIDcuIFRlcmF6IHdwaXN6IENUUkwtUiAodHJ6eW1haiBy83dub2N6ZZxuaWUgd2NpnG5p6nRlIGtsYXdpc3plIENUUkwgaSBSKQogICAgICBraWxrYSByYXp5LCBieSBjb2ZuueYgY29mbmnqY2lhLgogCiAtLS0+IFBvb3ByYXcgYmzqZHl5eSB3IHRlZWogbGluaWlpIGkgemFhbWlpZfEgamUgcHJyemV6IGNvb2ZuaWouCkBAIC0zNzcsMTQgKzM3NywxNCBAQAogCiAgIDEuIFByemVuaWWcIGt1cnNvciBkbyBwaWVyd3N6ZWogbGluaWkgLS0tPiBwb25pv2VqLgogCi0gIDIuIFdwaXN6ICBkZCAgYWJ5IHVzdW655iBsaW5p6iBpIHByemVjaG93YeYgarkgdyByZWplc3RyemUgVmltLWEuCisgIDIuIFdwaXN6ICBkZCAgYWJ5IHVzdW655iBsaW5p6iBpIHByemVjaG93YeYgarkgdyByZWplc3RyemUgVmltYS4KIAogICAzLiBQcnplbmllnCBrdXJzb3IgZG8gbGluaWkgYyksIFBPV1mvRUogdGVqIGdkemllIHVzdW5p6nRhIGxpbmlhIHBvd2lubmEKICAgICAgc2nqIHpuYWpkb3dh5i4KIAogICA0LiBXY2mcbmlqICBwICBieSB3c3Rhd2nmIGxpbmnqIHBvbmm/ZWoga3Vyc29yYS4KIAotICA1LiBQb3d0YWoga3Jva2kgMi4gZG8gNC4gYb8gem5hamS5IHNp6iB3IG9kcG93aWVkbmltIHBvcnq5ZGt1LgorICA1LiBQb3d0YXJ6YWoga3Jva2kgMi4gZG8gNC4gYb8gem5hamS5IHNp6iB3IG9kcG93aWVkbmltIHBvcnq5ZGt1LgogCiAtLS0+IGQpIEphayBkd2EgYW5pb7NraS4KIC0tLT4gYikgTmEgZG9sZSBmaW+za2ksCkBAIC00NTYsNyArNDU2LDcgQEAKIAogICA1LiBXcGlzeiAgYyQgLCBwb3ByYXcga29uaWVjIHdpZXJzemEgaSB3Y2mcbmlqIDxFU0M+LgogCi0tLS0+IEtvbmllYyB0ZWdvIHdpZXJzemEgbXVzaSBieeYgcG9wcmF3aW9ueSBhYnkgd3lnbLlkYWwgdGFrIGphayBkcnVnaS4KKy0tLT4gS29uaWVjIHRlZ28gd2llcnN6YSBtdXNpIGJ55iBwb3ByYXdpb255IGFieSB3eWdsuWRhsyB0YWsgamFrIGRydWdpLgogLS0tPiBLb25pZWMgdGVnbyB3aWVyc3phIG11c2kgYnnmIHBvcHJhd2lvbnkgdb95d2FquWMgcG9sZWNlbmlhICBjJCAuCiAKIFVXQUdBOiAgTW+/ZXN6IHW/eXdh5iA8QlM+IGFieSBwb3ByYXdpYeYgYrPqZHkgdyBjemFzaWUgcGlzYW5pYS4KQEAgLTUyNiwxNSArNTI2LDE1IEBACiAgIDUuIEFieSB3cvNjaeYgZ2R6aWUgYnmzZZwgd2NpnG5paiAgQ1RSTC1PLiBQb3d0YXJ6YWogYnkgd3LzY2nmIGRhbGVqLiBDVFJMLUkKICAgICAgaWR6aWUgZG8gcHJ6b2R1LgogCi1VV0FHQTogICdis29uZCcgdG8gbmllIGplc3QgbWV0b2RhIGJ5IHByemVsaXRlcm93YeYgYrO5ZDsgJ2Kzb25kJyB0byBis7lkLgotVVdBR0E6ICBLaWVkeSBzenVrYW5pZSBvc2m5Z25pZSBrb25pZWMgcGxpa3UgYupkemllIGtvbnR5bnVvd2GzbyBvZCBwb2N6uXRrdQotbyBpbGUgb3BjamEgJ3dyYXBzY2FuJyBuaWUgem9zdGGzYSBwcnplc3Rhd2lvbmEuCitVd2FnYTogICdis29uZCcgdG8gbmllIGplc3QgbWV0b2RhIGJ5IHByemVsaXRlcm93YeYgYrO5ZDsgJ2Kzb25kJyB0byBis7lkLgorVXdhZ2E6ICBLaWVkeSBzenVrYW5pZSBvc2m5Z25pZSBrb25pZWMgcGxpa3UgYupkemllIGtvbnR5bnVvd2GzbyBvZCBwb2N6uXRrdQorICAgICAgICBvIGlsZSBvcGNqYSAnd3JhcHNjYW4nIG5pZSB6b3N0YbNhIHByemVzdGF3aW9uYS4KIAogfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAJCUxla2NqYSA0LjMuOiBXIFBPU1pVS0lXQU5JVSBQQVJVSqVDWUNIIE5BV0lBU9NXCiAKIAotCQkqKiBXcGlzeiAgJSAgYnkgem5hbGWf5iBwYXN1arljeSApLF0sIGx1YiB9IC4gKioKKwkgICAgICAgKiogV3Bpc3ogICUgIGJ5IHpuYWxln+YgcGFydWq5Y3kgKSwgXSwgbHViIH0gLiAqKgogCiAgIDEuIFVtaWWc5iBrdXJzb3IgbmEga3TzcnltnCB6ICgsIFssIGx1YiB7IHcgbGluaWkgcG9uab9laiBvem5hY3pvbmVqIC0tLT4uCiAKQEAgLTU0OCw3ICs1NDgsNyBAQAogCiAtLS0+IFRvICggamVzdCBsaW5pYSB0ZXN0b3dhIHogKCwgWywgXSBpIHssIH0gLiApKQogCi1VV0FHQTogVGEgZnVua2NqYSBqZXN0IGJhcmR6byB1v3l0ZWN6bmEgdyBkZWJ1Z2dvd2FuaXUgcHJvZ3JhbXUKK1V3YWdhOiBUYSBmdW5rY2phIGplc3QgYmFyZHpvIHW/eXRlY3puYSB3IGRlYnVnZ293YW5pdSBwcm9ncmFtdQogICAgICAgIHogbmllc3Bhcm93YW55bWkgbmF3aWFzYW1pIQogCiAKQEAgLTU5OCw3ICs1OTgsNyBAQAogICAgICBCeSB6YW1pZW5p5iB3c3p5c3RraWUgc3RhcnkgbmEgbm93eSB3IGxpbmlpIHdwaXN6ICAgICA6cy9zdGFyeS9ub3d5L2cKICAgICAgQnkgemFtaWVuaeYgZnJhenkgcG9taepkenkgZHdvbWEgbGluaWFtaSAjIHdwaXN6ICAgICAgOiMsI3Mvc3Rhcnkvbm93eS9nCiAgICAgIEJ5IHphbWllbmnmIHdzenlzdGtpZSB3eXN0uXBpZW5pYSB3IHBsaWt1IHdwaXN6ICAgICAgIDolcy9zdGFyeS9ub3d5L2cKLSAgICAgQnkgVmltIHByb3NpsyBDaeogbyBwb3R3aWVyZHppZW5pZSBkb2RhaiAnYycJICAgOiVzL3N0YXJ5L25vd3kvZ2MKKyAgICAgQnkgVmltIHByb3NpsyBDaeogbyBwb3R3aWVyZHplbmllIGRvZGFqICdjJwkgICA6JXMvc3Rhcnkvbm93eS9nYwogfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAJCSBMZWtjamEgNS4xLjogSkFLIFdZS09OQcYgUE9MRUNFTklBIFpFV07KVFJaTkUKIApAQCAtNjA2LDcgKzYwNiw3IEBACiAJKiogV3Bpc3ogIDohICBhIG5hc3TqcG5pZSB6ZXdu6nRyem5lIHBvbGVjZW5pZSBieSBqZSB3eWtvbmHmLiAqKgogCiAgIDEuIFdwaXN6IHpuYWpvbWUgcG9sZWNlbmllICA6ICBieSB1c3Rhd2nmIGt1cnNvciBuYSBkb2xlIGVrcmFudS4gVG8gcG96d2FsYQotICAgICBuYSB3cHJvd2FkemVuaWUgcG9sZWNlbmlhLgorICAgICBuYSB3cHJvd2FkemVuaWUga29tZW5keSBsaW5paSBwb2xlY2XxLgogCiAgIDIuIFRlcmF6IHdzdGF3ICAhICAod3lrcnp5a25paykuIFRvIHVtb79saXdpIENpIHd5a29uYW5pZSBkb3dvbG5lZ28KICAgICAgemV3bup0cnpuZWdvIHBvbGVjZW5pYSBwb3ezb2tpLgpAQCAtNjM4LDEyICs2MzgsMTIgQEAKICAgNC4gVG8gcG9sZWNlbmllIHphcGFtaep0YSBjYbN5IHBsaWsgKFZpbSBUdXRvcikgcG9kIG5hene5IFRFU1QuCiAgICAgIEJ5IHRvIHNwcmF3ZHpp5iB3cGlzeiAgOiFkaXIgIGx1YiAgOiFscyAsIL9lYnkgem5vd3Ugem9iYWN6eeYgbGlzdOogcGxpa/N3LgogCi1Vd2FnYTogWmF1d2G/LCC/ZSBnZHlieZwgdGVyYXogd3lzemVksyB6IFZpbS1hLCBhIG5hc3TqcG5pZSB3c3plZLMgcG9ub3duaWUKLSAgICAgICBrb21lbmS5ICB2aW0gVEVTVCAsIHBsaWsgYnmzYnkgZG9rs2Fkbrkga29wabkgdHV0b3JpYWxhIGtpZWR5IGdvCitVd2FnYTogWmF1d2G/LCC/ZSBnZHlieZwgdGVyYXogd3lzemVksyB6IFZpbWEsIGEgbmFzdOpwbmllIHdzemVksyBwb25vd25pZQorICAgICAgIHBvbGVjZW5pZW0gIHZpbSBURVNUICwgcGxpayBiebNieSBkb2uzYWRuuSBrb3BpuSB0dXRvcmlhbGEga2llZHkgZ28KICAgICAgICB6YXBpc3l3YbNlnC4KIAotICA1LiBUZXJheiB1c3XxIHBsaWsgd3Bpc3VquWM6CQkgICA6IXJtIFRFU1QKLQorICA1LiBUZXJheiB1c3XxIHBsaWsgd3Bpc3VquWMgKE1TLURPUyk6CQkgICA6IWRlbCBURVNUCisgICAgICAgICAgICAgICAgICAgICAgICAgIGx1YiAoVW5peCk6ICAgICAgICAgICAgICA6IXJtIFRFU1QKIAogfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAJCSAgICBMZWtjamEgNS4zLjogV1lCUkFOSUUgVEVLU1RVIERPIFpBUElTVQpAQCAtNjg3LDggKzY4Nyw4IEBACiAgICAgIHRlcmF6IHO5IGR3aWUga29waWUgTGVrY2ppIDUuMy4sIG9yeWdpbmGzIGkga29waWEgeiBwbGlrdS4KIAogVVdBR0E6IE1vv2VzeiB0Zb8gd2N6eXRh5iB3eWqcY2llIHpld27qdHJ6bmVnbyBwb2xlY2VuaWEuIE5hIHByenlrs2FkCi0gICAgICAgOnIgIWxzICB3Y3p5dHVqZSB3eWqcY2llIHBvbGVjZW5pYSBscyBpIHVtaWVzemN6YSBqZSBwb2Qga3Vyc29yZW0uCi0KKyAgICAgICA6ciAhbHMgIHdjenl0dWplIHd5apxjaWUgcG9sZWNlbmlhIGxzIGkgdW1pZXN6Y3phIGplIHBvZCBwb25pv2VqCisgICAgICAga3Vyc29yYS4KIAogCiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KQEAgLTcwMyw3ICs3MDMsNyBAQAogCiAJICA6IXJtIE5BWldBX1BMSUtVICAtICB1c3V3YSBwbGlrIE5BWldBX1BMSUtVLgogCi0gIDIuICA6dyBOQVpXQV9QTElLVSAgemFwaXN1amUgb2JlY255IHBsaWsgVmltLWEgbmEgZHlzayB6IG5hene5IE5BWldBX1BMSUtVLgorICAyLiAgOncgTkFaV0FfUExJS1UgIHphcGlzdWplIG9iZWNueSBwbGlrIFZpbWEgbmEgZHlzayB6IG5hene5IE5BWldBX1BMSUtVLgogCiAgIDMuICB2IHJ1Y2ggOncgTkFaV0FfUExJS1UgIHphcGlzdWplIFdpenVhbG5pZSB3eWJyYW5lIGxpbmllIGRvIE5BWldBX1BMSUtVLgogCkBAIC03NTIsMTMgKzc1MiwxMyBAQAogICA0LiBEb2tv8WN6IHd5cmF6IHRhayBqYWsgdyBsaW5paSBwb25pv2VqLiBXY2mcbmlqIDxFU0M+IGFieSBvcHWcY2nmIHRyeWIKICAgICAgSW5zZXJ0LgogCi0gIDUuIFW/eWogIGUgIGJ5IHByemVqnOYgZG8ga29sZWpuZWdvIG5pZWRva2/xY3pvbmVnbyB3eXJhemUgaSBwb3d0YXJ6YWoga3Jva2kKKyAgNS4gVb95aiAgZSAgYnkgcHJ6ZWqc5iBkbyBrb2xlam5lZ28gbmllZG9rb/Fjem9uZWdvIHd5cmF6dSBpIHBvd3RhcnphaiBrcm9raQogICAgICAzLiBpIDQuCiAKIC0tLT4gVGEgbGkgcG96IENpIOZ3aSBkb2RhdyB0ZWtzIGRvIGtv8SBsaW4KIC0tLT4gVGEgbGluaWEgcG96d29saSBDaSDmd2ljennmIGRvZGF3YW5pZSB0ZWtzdHUgZG8ga2/xY2EgbGluaWkuCiAKLVV3YWdhOiAgYSAsICBpICBhbmQgIEEgIHByb3dhZHq5IGRvIHRyeWJ1IEluc2VydCwgamVkeW65IHLzv25pY7kgamVzdCBtaWVqc2NlCitVd2FnYTogIGEgLCAgaSAgb3JheiAgQSAgcHJvd2FkerkgZG8gdHJ5YnUgSW5zZXJ0LCBqZWR5brkgcvO/bmljuSBqZXN0IG1pZWpzY2UKICAgICAgICBnZHppZSBub3dlIHpuYWtpIGLqZLkgZG9kYXdhbmUuCiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KIAkJICAgTGVrY2phIDYuMy46IElOTkEgV0VSU0pBIFJFUExBQ0UgKHphbWlhbmEpCkBAIC03ODksNyArNzg5LDcgQEAKIAogICAgICAgICoqIHW/eWogb3BlcmF0b3JhICB5ICBhYnkgc2tvcGlvd2HmIHRla3N0IGkgIHAgIGFieSBnbyB3a2xlaeYgKioKIAotICAxLiBQcnplamSfIGRvIGxpbmlpIG96bmFjem9uZWogLS0tPiBpIHVtaWWcYyBrdXJzb3IgemEgImEpIi4KKyAgMS4gUHJ6ZWpknyBkbyBsaW5paSBvem5hY3pvbmVqIC0tLT4gaSB1bWllnOYga3Vyc29yIHphICJhKSIuCiAKICAgMi4gV2VqZJ8gdyB0cnliIFZpc3VhbCAgdiAgaSBwcnplbmllnCBrdXJzb3IgbmEgcG9jerl0ZWsgInBpZXJ3c3p5Ii4KIApAQCAtNzk5LDggKzc5OSw4IEBACiAKICAgNS4gV2NpnG5paiAgcCAgYWJ5IHdwYWtvd2HmIChwYXN0ZSkgdGVrc3QuICBEb2RhajogIGEgZHJ1Z2k8RVNDPiAuCiAKLSAgNi4gVb95aiB0cnlidSBWaXN1YWwgYWJ5IHd5YnJh5iAiIGVsZW1lbnQuIiwgeWFua3VqIGdvICB5ICwgcHJ6ZWpknyBkbyBrb/FjYQotICAgICBuYXN06nBuZWogbGluaWkgIGokIGkgdXBha3VqIHRhbSB0ZWtzdCB6ICBwIC4KKyAgNi4gVb95aiB0cnlidSBXaXp1YWxuZWdvIGFieSB3eWJyYeYgIiBlbGVtZW50LiIsIHlhbmt1aiBnbyAgeSAsIHByemVqZJ8gZG8KKyAgICAga2/xY2EgbmFzdOpwbmVqIGxpbmlpICBqJCBpIHVwYWt1aiB0YW0gdGVrc3QgeiAgcCAuCiAKIC0tLT4gIGEpIHRvIGplc3QgcGllcndzenkgZWxlbWVudC4KICAgICAgIGIpCkBAIC04MTgsNyArODE4LDcgQEAKICAgMi4gVXN0YXcgb3BjauogJ2ljJyAoSWdub3JlIGNhc2UgLS0gaWdub3J1aiB3aWVsa2+c5iBsaXRlcikgcG9wcnplegogICAgICB3cGlzYW5pZToJCTpzZXQgaWMKIAotICAzLiBUZXJheiBzenVrYWogJ2lnbm9yZScgcG9ub3duaWUgd2Npc2t1arljOiAgbgorICAzLiBUZXJheiBzenVrYWogJ2lnbm9yZScgcG9ub3duaWUgd2Npc2tharljOiAgbgogICAgICBaYXV3Yb8sIL9lIElnbm9yZSBpIElHTk9SRSB0YWu/ZSBzuSB0ZXJheiB6bmFsZXppb25lLgogCiAgIDQuIFVzdGF3IG9wY2plICdobHNlYXJjaCcgaSAnaW5jc2VhcmNoJzogICAgOnNldCBobHMgaXMKQEAgLTgzNSwxNiArODM1LDE4IEBACiAKIAogICAxLiBXcGlzYW5pZSAgbyAgb3R3aWVyYSBsaW5p6iBQT05Jr0VKIGt1cnNvcmEuCi0gICAgIFdwaXNhbmllIHdpZWxraWVnbyAgTyAgb3R3aWVyYSBsaW5p6iBQT1dZr0VKIGt1cnNvcmEuCi0gIDIuIFdwaXN6ICBhICBieSB3c3Rhd2nmIHRla3N0IFpBIHpuYWtpZW0gbmEsIGt083J5bSBqZXN0IGt1cnNvci4KLSAgICAgV3Bpc2FuaWUgd2llbGtpZWdvICBBICBkb2RhamUgdGVrc3QgbmEga2/xY3UgbGluaWkuCisgICAgIFdwaXNhbmllICBPICBvdHdpZXJhIGxpbmnqIFBPV1mvRUoga3Vyc29yYS4KKworICAyLiBXcGlzYW5pZSAgYSAgYnkgd3N0YXdp5iB0ZWtzdCBaQSB6bmFraWVtIG5hLCBrdPNyeW0gamVzdCBrdXJzb3IuCisgICAgIFdwaXNhbmllICBBICBkb2RhamUgdGVrc3QgbmEga2/xY3UgbGluaWkuCisKICAgMy4gUG9sZWNlbmllICBlICBwcnplbm9zaSBkbyBrb/FjYSB3eXJhenUuCi0gIDQuIE9wZXJhdG8gIHkgIHlhbmt1amUgKGtvcGl1amUpIHRla3N0LCAgcCAgcGFrdWplICh3a2xlamEsIHBhc3RlKSBnby4KKyAgNC4gT3BlcmF0b3IgIHkgIHlhbmt1amUgKGtvcGl1amUpIHRla3N0LCAgcCAgcGFrdWplICh3a2xlamEsIHBhc3RlKSBnby4KICAgNS4gV3Bpc2FuaWUgd2llbGtpZWdvICBSICB3cHJvd2FkemEgdyB0cnliIFJlcGxhY2UgKHphbWlhbmEpIGRvcPNraQogICAgICBuaWUgem9zdGFuaWUgd2NpnG5p6nR5IDxFU0M+LgogICA2LiBXcGlzYW5pZSAiOnNldCB4eHgiIHVzdGF3aWEgb3BjauogInh4eCIuIE5pZXRr83JlIG9wY2plOgotCSdpYycgJ2lnbm9yZWNhc2UnCWlnbm9ydWogd2llbGtvnOYgem5ha/N3Ci0JJ2lzJyAnaW5jc2VhcmNoJwlwb2thvyBjeuqcY2lvd2UgZG9wYXNvd2FuaWEKKwknaWMnICAnaWdub3JlY2FzZScJaWdub3J1aiB3aWVsa2+c5iB6bmFr83cKKwknaXMnICAnaW5jc2VhcmNoJwlwb2thvyBjeuqcY2lvd2UgZG9wYXNvd2FuaWEKIAknaGxzJyAnaGxzZWFyY2gnCXBvZJx3aWV0bCB3c3p5c3RraWUgZG9wYXNvd2FuaWEKICAgICAgTW+/ZXN6IHW/eeYgemFy83dubyBks3VnaWVqIGphayBpIGty83RraWVqIGZvcm15LgogICA3LiBEb2RhaiAibm8iIGFieSB3ebO5Y3p55iBvcGNq6jogICA6c2V0IG5vaWMKQEAgLTg1NCwxNCArODU2LDE0IEBACiAKIAogfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCQlMRUtDSkEgNy4xLiBKQUsgVVpZU0tBxiBQT01PQyAKKwkJCUxFS0NKQSA3LjEuIEpBSyBVWllTS0HGIFBPTU9DCiAKIAkJICAgICAgKiogVb95Y2llIHN5c3RlbXUgcG9tb2N5IG9uLWxpbmUgKioKIAogICBWaW0gcG9zaWFkYSBiYXJkem8gZG9icnkgc3lzdGVtIHBvbW9jeSBvbi1saW5lLiBCeSB6YWN6ueYgc3By82J1aiBqZWRuZWoKICAgeiB0cnplY2ggbW+/bGl3b5xjaToKLQktIHdjaZxuaWoga2xhd2lzeiA8SEVMUD4gKGplnGxpIHRha293eSBwb3NpYWRhc3opCi0JLSB3Y2mcbmlqIGtsYXdpc3ogPEYxPiAoamWcbGkgdGFrb3d5IHBvc2lhZGFzeikKKwktIHdjaZxuaWoga2xhd2lzeiA8SEVMUD4gKGplnGxpIHRha2kgbWFzeikKKwktIHdjaZxuaWoga2xhd2lzeiA8RjE+IChqZZxsaSB0YWtpIG1hc3opCiAJLSB3cGlzeiAgIDpoZWxwPEVOVEVSPgogCiAgIFByemVjenl0YWogdGVrc3QgdyBva25pZSBwb21vY3kgIGFieSBkb3dpZWR6aWXmIHNp6iBqYWsgZHppYbNhIHBvbW9jLgpAQCAtODc4LDcgKzg4MCw3IEBACiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KIAkJICAgTEVLQ0pBIDcuMi4gVFdPUlpFTklFIFNLUllQVFUgU1RBUlRPV0VHTwogCi0JCQkgKiogV7O5Y3ogbW+/bGl3b5xjaSBWaW0tYSAqKgorCQkJICAqKiBXs7ljeiBtb79saXdvnGNpIFZpbWEgKioKIAogICBWaW0gbWEgbyB3aWVsZSB3aepjZWogbW+/bGl3b5xjaSBuab8gVmksIGFsZSB3aeprc3pvnOYgeiBuaWNoIGplc3QgZG9teZxsbmllCiAgIHd5s7ljem9uYS4gSmWcbGkgY2hjZXN6IHezuWN6eeYgdGUgbW+/bGl3b5xjaSBuYSBzdGFyY2llIG11c2lzeiB1dHdvcnp55gpAQCAtOTQzLDIzICs5NDUsMjMgQEAKIAogfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAKLSAgVHV0YWogc2nqIGtv8WN6eSB0dXRvcmlhbCBWaW0tYS4gWm9zdGGzIG9uIHBvbXmcbGFueSB0YWsgYWJ5IGRh5iBrcvN0a2kKKyAgVHV0YWogc2nqIGtv8WN6eSB0dXRvcmlhbCBWaW1hLiBab3N0YbMgb24gcG9teZxsYW55IHRhayBhYnkgZGHmIGty83RraQogICBwcnplZ2y5ZCBqZWdvIG1vv2xpd2+cY2ksIHd5c3RhcmN6YWq5Y3kgYnmcIG3zZ7MgZ28gdb95d2HmLiBKZXN0IG9uCiAgIGRhbGVraSBvZCBrb21wbGV0bm+cY2kgcG9uaWV3Yb8gVmltIG1hIG8gd2llbGUsIHdpZWxlIHdp6mNlaiBwb2xlY2XxLgogCiAgIERsYSBkYWxzemVqIG5hdWtpIHJla29tZW5kdWplbXkga3Npub9r6joKIAlWaW0gLSBWaSBJbXByb3ZlZCAtIGF1dG9yIFN0ZXZlIE91YWxsaW5lCiAJV3lkYXdjYTogTmV3IFJpZGVycwotICBQaWVyd3N6YSBrc2m5emthIGNhs2tvd2ljaWUgcG+cd2nqY29uYSBWaW0tb3dpLiBVv3l0ZWN6bmEgenezYXN6Y3phIGRsYQorICBQaWVyd3N6YSBrc2m5emthIGNhs2tvd2ljaWUgcG+cd2nqY29uYSBWaW1vd2kuIFW/eXRlY3puYSB6d7Nhc3pjemEgZGxhCiAgIHBvY3q5dGt1arljeWNoLiBaYXdpZXJhIHdpZWxlIHByenlrs2Fk83cgaSBpbHVzdHJhY2ppLgogICBab2JhY3ogaHR0cDovL2ljY2YtaG9sbGFuZC5vcmcuL2NsaWNrNS5odG1sCiAKLSAgVGEga3Npub9rYSBqZXN0IHN0YXJzemEgaSBiYXJkemllaiBvIFZpIG5pvyBvIFZpbS1pZSwgYWxlIHRha79lIHdhcnRhCisgIFN0YXJzemEgcG96eWNqYSBpIGJhcmR6aWVqIG8gVmkgbmm/IG8gVmltaWUsIGFsZSB0YWu/ZSB3YXJ0YQogICBwb2xlY2VuaWE6CiAJTGVhcm5pbmcgdGhlIFZpIEVkaXRvciAtIGF1dG9yIExpbmRhIExhbWIKIAlXeWRhd2NhOiBPJ1JlaWxseSAmIEFzc29jaWF0ZXMgSW5jLgogICBUbyBkb2JyYSBrc2m5v2thIGJ5IGRvd2llZHppZeYgc2nqIG5pZW1hbCB3c3p5c3RraWVnbyBjbyBjaGNpYbNieZwgenJvYmnmCi0gIHogVmkuIFN683N0YSBlZHljamEgemF3aWVyYSB0Zb8gaW5mb3JtYWNqZSBvIFZpbS1pZS4KKyAgeiBWaS4gU3rzc3RhIGVkeWNqYSB6YXdpZXJhIHRlvyBpbmZvcm1hY2plIG8gVmltaWUuCiAKICAgUG8gcG9sc2t1IHd5ZGFubzoKIAlFZHl0b3IgdmkuIExla3N5a29uIGtpZXN6b25rb3d5IC0gYXV0b3IgQXJub2xkIFJvYmJpbnMKQEAgLTk2NywxMCArOTY5LDEwIEBACiAJSVNCTjogODMtNzE5Ny00NzItOAogCWh0dHA6Ly9oZWxpb24ucGwva3NpYXpraS92aWxlay5odG0KICAgSmVzdCB0byBrc2m5v2VjemthIHphd2llcmFquWNhIHNwaXMgcG9sZWNl8SB2aSBpIGplZ28gbmFqd2G/bmllanN6eWNoCi0gIGtsb27zdyAobWnqZHp5IGlubnltaSBWaW0tYSkuCisgIGtsb27zdyAobWnqZHp5IGlubnltaSBWaW1hKS4KIAogCUVkeXRvciB2aSAtIGF1dG9yenkgTGluZGEgTGFtYiBpIEFybm9sZCBSb2JiaW5zCi0JV3lkYXdjYTogSGVsaW9uIDIwMDEgKE8nUmVpbGx5KSAtIHdnIDYgYW5nLiB3eWRhbmlhCisJV3lkYXdjYTogSGVsaW9uIDIwMDEgKE8nUmVpbGx5KSAtIHdnIDYuIGFuZy4gd3lkYW5pYQogCUlTQk46IDgzLTcxOTctNTM5LTIKIAlodHRwOi8vaGVsaW9uLnBsL2tzaWF6a2kvdmllZHl0Lmh0bQogICBSb3pzemVyem9uYSB3ZXJzamEgTGVhcm5pbmcgdGhlIFZpIEVkaXRvciB3IHBvbHNraW0gdLN1bWFjemVuaXUuCkBAIC05ODAsNyArOTgyLDcgQEAKICAgQ29sb3JhZG8gU3RhdGUgVW5pdmVyc2l0eS4KICAgRS1tYWlsOiBid2FyZUBtaW5lcy5jb2xvcmFkby5lZHUuCiAKLSAgWm1vZHlmaWtvd2FuZSBkbGEgVmltLWEgcHJ6ZXogQnJhbWEgTW9vbGVuYWFyYS4KKyAgWm1vZHlmaWtvd2FuZSBkbGEgVmltYSBwcnpleiBCcmFtYSBNb29sZW5hYXJhLgogCiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KIApAQCAtOTg4LDQgKzk5MCw1IEBACiAgIFNpZXJwaWXxIDIwMDEsCiAgIHJldi4gTWFyemVjIDIwMDIKICAgMm5kIHJldi4gV3J6ZXNpZfEgMjAwNAorICAzcmQgcmV2LiBNYXJ6ZWMgMjAwNgogICBXc3plbGtpZSB1d2FnaSBwcm9zeuoga2llcm93YeYgbmE6IG1pa21hY2hAd3AucGwKZGlmZiAtLWdpdCBhL3J1bnRpbWUvdHV0b3IvdHV0b3IucGwudXRmLTggYi9ydW50aW1lL3R1dG9yL3R1dG9yLnBsLnV0Zi04CmluZGV4IDhmNjgwNWUuLjA2NTE4NGQgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvdHV0b3IvdHV0b3IucGwudXRmLTgKKysrIGIvcnVudGltZS90dXRvci90dXRvci5wbC51dGYtOApAQCAtNSw3ICs1LDcgQEAKICAgICAgVmltIHRvIHBvdMSZxbxueSBlZHl0b3IsIGt0w7NyeSBwb3NpYWRhIHdpZWxlIHBvbGVjZcWELCB6Ynl0IGR1xbxvIGJ5CiAgICAgIHd5amHFm25pxIcgamUgd3N6eXN0a2llIHcgdHltIHR1dG9yaWFsdS4gVGVuIHByemV3b2RuaWsgbWEgbmF1Y3p5xIcKICAgICAgQ2nEmSBwb3PFgnVnaXdhxIcgc2nEmSB3eXN0YXJjemFqxIVjbyB3aWVsb21hIGtvbWVuZGFtaSBiecWbIG3Ds2fFgiDFgmF0d28KLSAgICAgdcW8eXdhxIcgVmltLWEgamFrbyBlZHl0b3JhIG9nw7NsbmVnbyBwcnplem5hY3plbmlhLgorICAgICB1xbx5d2HEhyBWaW1hIGpha28gZWR5dG9yYSBvZ8OzbG5lZ28gcHJ6ZXpuYWN6ZW5pYS4KIAogICAgICBDemFzIHBvdHJ6ZWJueSBuYSB1a2/FhGN6ZW5pZSB0dXRvcmlhbGEgdG8gMjUgZG8gMzAgbWludXQgaSB6YWxlxbx5CiAgICAgIG9kIHRlZ28gamFrIHdpZWxlIGN6YXN1IHNwxJlkemlzeiBuYSBla3NwZXJ5bWVudG93YW5pdS4gIApAQCAtMTUsMTAgKzE1LDEwIEBACiAJIHdjemXFm25pZWoga29wacSZIHRlZ28gcGxpa3UgZG8gxId3aWN6ZcWEIChqZcWbbGkgemFjesSFxYJlxZsga29tZW5kxIUKIAkgInZpbXR1dG9yIiB0byBqdcW8IHByYWN1amVzeiBuYSBrb3BpaSkuCiAKLSAgICAgV2HFvG5lIGplc3QsIGJ5xZsgcGFtacSZdGHFgiwgxbxlIHByemV3b2RuaWsgdGVuIHpvc3RhxYIgemFwcm9qZWt0b3dhbnkgZG8KLSAgICAgbmF1a2kgcG9wcnpleiDEh3dpY3plbmlhLiBUbyBvem5hY3phLCDFvGUgbXVzaXN6IHd5a29ueXdhxIcgcG9sZWNlbmlhCi0gICAgIGJ5IG5hdWN6ecSHIHNpxJkgaWNoIHByYXdpZMWCb3dvLiBKZcWbbGkgYsSZZHppZXN6IGplZHluaWUgY3p5dGHFgiB0ZWtzdAotICAgICBzenlia28gemFwb21uaXN6IHdpZWxlIHBvbGVjZcWEIQorCSBQYW1pxJl0YWogxbxlIHByemV3b2RuaWsgdGVuIHpvc3RhxYIgemFwcm9qZWt0b3dhbnkgZG8gbmF1a2kgcG9wcnplegorCSDEh3dpY3plbmlhLiBPem5hY3phIHRvLCDFvGUgbXVzaXN6IHd5a29ueXdhxIcgcG9sZWNlbmlhIGJ5IG5hdWN6ecSHIHNpxJkgaWNoCisJIHByYXdpZMWCb3dvLiBKZcWbbGkgYsSZZHppZXN6IGplZHluaWUgY3p5dGHFgiB0ZWtzdCBzenlia28gemFwb21uaXN6IHdpZWxlCisJIHBvbGVjZcWEIQogCiAgICAgIFRlcmF6IHVwZXduaWogc2nEmSwgxbxlIG5pZSBtYXN6IHdjacWbbmnEmXRlZ28gQ2Fwc0xvY2thIGkgd2Npc2thaiAgagogICAgICB0YWsgZMWCdWdvIGRvcMOza2kgTGVrY2phIDEuMS4gbmllIHd5cGXFgm5pIGNhxYJrb3dpY2llIGVrcmFudS4KQEAgLTQ1LDcgKzQ1LDcgQEAKIAogVXdhZ2E6IEtsYXdpc3plIGt1cnNvcmEgdGFrxbxlIHBvd2lubnkgZHppYcWCYcSHLCBhbGUgdcW8eXdhasSFYyAgaGprbCAgYsSZZHppZXN6CiAgICAgICAgdyBzdGFuaWUgcG9ydXN6YcSHIHNpxJkgbyB3aWVsZSBzenliY2llaiBqYWsgc2nEmSB0eWxrbyBwcnp5end5Y3phaXN6LgotCSAgIE5hcHJhd2TEmSEKKyAgICAgICBOYXByYXdkxJkhCiAKIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogCQkgICAgTGVrY2phIDEuMi46IFdZQ0hPRFpFTklFIFogVklNLWEKQEAgLTY1LDcgKzY1LDcgQEAKICAgICAgd3lqxZvEhyBpIHdyw7NjacSHIGRvIGVkeXRvcmEuCiAKIFVXQUdBOiA6cSE8RU5URVI+IHBvcnp1Y2Egd3N6ZWxraWUgem1pYW55IGpha2llIHpyb2JpxYJlxZsuIFcgbmFzdMSZcG55Y2gKLWxla2NqYWNoIGRvd2llc3ogc2nEmSBqYWsgamUgemFwYW1pxJl0eXdhxIcuCisgICAgICAgbGVrY2phY2ggZG93aWVzeiBzacSZIGphayBqZSB6YXBhbWnEmXR5d2HEhy4KIAogICA1LiBQcnplbmllxZsga3Vyc29yIGRvIGxla2NqaSAxLjMuCiAKQEAgLTE1MCwxNiArMTUwLDE2IEBACiAgIDEuIFpha2/FhGN6IHR1dG9yaWFsIHRhayBqYWsgdyBsZWtjamkgMS4yLjogIDpxIQogCiAgIDIuIFcgcG93xYJvY2Ugd3lkYWogcG9sZWNlbmllOiAgdmltIHR1dG9yPEVOVEVSPgotICAgICAidmltIiBqZXN0IHBvbGVjZW5pZW0gdXJ1Y2hhbWlhasSFY3ltIGVkeXRvciBWaW1tLiAndHV0b3InIHRvIG5hendhIHBsaWt1CisgICAgICJ2aW0iIGplc3QgcG9sZWNlbmllbSB1cnVjaGFtaWFqxIVjeW0gZWR5dG9yIFZpbS4gJ3R1dG9yJyB0byBuYXp3YSBwbGlrdQogICAgICBqYWtpIGNoY2VzeiBlZHl0b3dhxIcuIFXFvHlqIHBsaWt1IGpha2kgbW/FvGUgem9zdGHEhyB6bWllbmlvbnkuCiAKICAgMy4gRG9kYWogaSB1c3XFhCB0ZWtzdCB0YWsgamFrIHNpxJkgbmF1Y3p5xYJlxZsgdyBwb3ByemVkbmljaCBsZWtjamFjaC4KIAotICA0LiBaYXBpc3ogcGxpayB6ZSB6bWlhbmFtaSB3IG9wdcWbxIcgVmltYTogIDp3cTxFTlRFUj4KKyAgNC4gWmFwaXN6IHBsaWsgemUgem1pYW5hbWkgaSBvcHXFm8SHIFZpbWE6ICA6d3E8RU5URVI+CiAKICAgNS4gVXJ1Y2hvbSBwb25vd25pZSB2aW10dXRvciBpIHByemVqZMW6IGRvIHBvZHN1bW93YW5pYSBsZWtjamkuCiAKLSAgNi4gUG8gcHJ6ZWN6eXRhbml1IHdzenlzdGtpY2gga3Jva8OzdyBpIHpyb3p1bWllbml1IGljaDogd3lrb25haiBqZS4KKyAgNi4gUG8gcHJ6ZWN6eXRhbml1IHdzenlzdGtpY2gga3Jva8OzdyBpIGljaCB6cm96dW1pZW5pdTogd3lrb25haiBqZS4KIAogCiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KQEAgLTE2OCwyMSArMTY4LDIxIEBACiAgIDEuIFBvcnVzemFzeiBrdXJzb3JlbSB1xbx5d2FqxIVjICJzdHJ6YcWCZWsiIGkga2xhd2lzenkgIGhqa2wgLgogICAgICAgIGggKHcgbGV3bykJIGogKHcgZMOzxYIpCSBrIChkbyBnw7NyeSkJCWwgKHcgcHJhd28pCiAKLSAgMi4gQnkgd2VqxZvEhyBkbyBWaW0tYSAoeiBwb3fFgm9raSkgd3Bpc3o6CisgIDIuIEJ5IHdlasWbxIcgZG8gVmltYSAoeiBwb3fFgm9raSkgd3Bpc3o6CiAJCQkgICAgdmltIE5BWldBX1BMSUtVPEVOVEVSPgogCi0gIDMuIEJ5IHd5asWbxIcgeiBWaW0tYSB3cGlzejoKKyAgMy4gQnkgd3lqxZvEhyB6IFZpbWEgd3Bpc3o6CiAJCQkgICAgPEVTQz4gOnEhPEVOVEVSPiAgYnkgdXN1bsSFYyB3c3p5c3RraWUgem1pYW55LgogCSAgICAgTFVCOgkgICAgPEVTQz4gOndxPEVOVEVSPiAgYnkgem1pYW55IHphY2hvd2HEhy4KIAogICA0LiBCeSB1c3VuxIXEhyB6bmFrIHBvZCBrdXJzb3JlbSB3Y2nFm25pajogIHgKIAogICA1LiBCeSB3c3Rhd2nEhyB0ZWtzdCBwcnplZCBrdXJzb3JlbSBsdWIgZG9kYcSHOgotCWkgICAgICAgICB3cGlzeiB0ZWtzdCAgICAgIDxFU0M+IHdzdGF3aSBwcnplZCBrdXJzb3JlbQotCUEgICAgICAgICB3cGlzeiB0ZWtzdCAgICAgIDxFU0M+IGRvZGEgbmEga2/FhGN1IGxpbmlpCisJaSAgIHdwaXN6IHRla3N0ICAgPEVTQz4gICAgICAgICB3c3Rhd2kgcHJ6ZWQga3Vyc29yZW0KKwlBICAgd3Bpc3ogdGVrc3QgICA8RVNDPiAgICAgICAgIGRvZGEgbmEga2/FhGN1IGxpbmlpCiAKIFVXQUdBOiBXY2nFm25pxJljaWUgPEVTQz4gcHJ6ZW5pZXNpZSBDacSZIHogcG93cm90ZW0gZG8gdHJ5YnUgTm9ybWFsCi1sdWIgb2R3b8WCYSBuaWVjaGNpYW5lIGx1YiBjesSZxZtjaW93byB3cHJvd2Fkem9uZSBwb2xlY2VuaWEuCisgICAgICAgbHViIG9kd2/FgmEgbmllY2hjaWFuZSBsdWIgY3rEmcWbY2lvd28gd3Byb3dhZHpvbmUgcG9sZWNlbmlhLgogCiBUZXJheiBtb8W8ZW15IGtvbnR5bnVvd2HEhyBpIHByemVqxZvEhyBkbyBMZWtjamkgMi4KIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpAQCAtMTk3LDExICsxOTcsMTEgQEAKIAogICAzLiBQcnplc3XFhCBrdXJzb3IgbmEgcG9jesSFdGVrIHd5cmF6dSwga3TDs3JlIGNoY2VzeiB1c3VuxIXEhy4KIAotICA0LiBXcGlzeiAgIGR3ICAgYnkgdXN1bsSFYyB3eXJhei4KKyAgNC4gV3Bpc3ogICBkdyAgIGJ5IHVzdW7EhcSHIHd5cmF6LgogCiAgIFVXQUdBOiBMaXRlcmEgIGQgIHBvamF3aSBzacSZIG5hIGRvbGUgZWtyYW51LiBWaW0gY3pla2EgbmEgd3Bpc2FuaWUgIHcgLiAKLQkgSmXFm2xpIHpvYmFjenlzeiBpbm55IHpuYWsgd3Bpc2HFgmXFmyBjb8WbIMW6bGUsIHdjacWbbmlqIDxFU0M+IGkgemFjem5pagotCSBvZCBwb2N6xIV0a3UuCisJIEplxZtsaSB6b2JhY3p5c3ogaW5ueSB6bmFrIG96bmFjemEgdG8sIMW8ZSB3cGlzYcWCZcWbIGNvxZsgxbpsZSwgd2NpxZtuaWoKKwkgPEVTQz4gaSB6YWN6bmlqIG9kIHBvY3rEhXRrdS4KIAogLS0tPiBKZXN0IHR1IHBhcsSZIHBhcGllciB3eXJhesOzdywga3TDs3JlIGthbWllxYQgbmllIG5hbGXFvMSFIGRvIG5vxbx5Y2UgdGVnbyB6ZGFuaWEuCiAKQEAgLTMwNiwxMyArMzA2LDEzIEBACiAKIAkJICAgKiogV3Bpc3ogIGRkICBhYnkgdXN1bsSFxIcgY2HFgsSFIGxpbmnEmS4gKioKIAotICBaIHBvd29kdSBjesSZc3RvxZtjaSB1c3V3YW5pYSBjYcWCeWNoIGxpbmlpLCBwcm9qZWt0YW5jaSBWSSB6ZGVjeWRvd2FsaSwgxbxlCisgIFogcG93b2R1IGN6xJlzdG/Fm2NpIHVzdXdhbmlhIGNhxYJ5Y2ggbGluaWksIHByb2pla3RhbmNpIFZpIHpkZWN5ZG93YWxpLCDFvGUKICAgYsSZZHppZSDFgmF0d2llaiB3cGlzYcSHIGR3YSByYXp5ICBkICBhYnkgdXN1bsSFxIcgbGluacSZLgogCi0gIDEuIFByemVuaWXFmyBrdXJzb3IgZG8gemRhbmlhIHBvbmnFvGVqLgotICAyLiBXcGlzeiAgZGQgIGFieSB1c3VuxIVjIHdpZXJzei4KKyAgMS4gUHJ6ZW5pZcWbIGt1cnNvciBkbyBkcnVnaWVnbyB6ZGFuaWEgeiB3aWVyc3p5a2EgcG9uacW8ZWouCisgIDIuIFdwaXN6ICBkZCAgYWJ5IHVzdW7EhcSHIHdpZXJzei4KICAgMy4gVGVyYXogcHJ6ZW5pZcWbIHNpxJkgZG8gY3p3YXJ0ZWdvIHdpZXJzemEuCi0gIDQuIFdwaXN6ICAyZGQgIGFieSB1c3VuxIVjIGR3aWEgd2llcnN6ZS4KKyAgNC4gV3Bpc3ogIDJkZCAgYWJ5IHVzdW7EhWMgZHdhIHdpZXJzemUuCiAKIC0tLT4gIDEpICBSw7PFvGUgc8SFIGN6ZXJ3b25lLAogLS0tPiAgMikgIELFgm90byBqZXN0IGZham5lLApAQCAtMzM3LDcgKzMzNyw3IEBACiAgIDQuIFR5bSByYXplbSBwb3ByYXcgd3N6eXN0a2llIGLFgsSZZHkgdyBsaW5paSB1xbx5d2FqxIVjIHBvbGVjZW5pYSAgeCAuCiAgIDUuIFRlcmF6IHdjacWbbmlqIHdpZWxraWUgVSBhYnkgcHJ6eXdyw7NjacSHIGxpbmnEmSBkbyBvcnlnaW5hbG5lZ28gc3RhbnUuCiAgIDYuIFRlcmF6IHdjacWbbmlqICB1ICBraWxrYSByYXp5IGJ5IGNvZm7EhcSHICBVICBpIHBvcHJ6ZWRuaWUgcG9sZWNlbmlhLgotICA3LiBUZXJheiB3cHN6IENUUkwtUiAodHJ6eW1haiByw7N3bm9jemXFm25pZSB3Y2nFm25pxJl0ZSBrbGF3aXN6ZSBDVFJMIGkgUikKKyAgNy4gVGVyYXogd3Bpc3ogQ1RSTC1SICh0cnp5bWFqIHLDs3dub2N6ZcWbbmllIHdjacWbbmnEmXRlIGtsYXdpc3plIENUUkwgaSBSKQogICAgICBraWxrYSByYXp5LCBieSBjb2ZuxIXEhyBjb2ZuacSZY2lhLgogCiAtLS0+IFBvb3ByYXcgYmzEmWR5eXkgdyB0ZWVqIGxpbmlpaSBpIHphYW1paWXFhCBqZSBwcnJ6ZXogY29vZm5pai4KQEAgLTM3NywxNCArMzc3LDE0IEBACiAKICAgMS4gUHJ6ZW5pZcWbIGt1cnNvciBkbyBwaWVyd3N6ZWogbGluaWkgLS0tPiBwb25pxbxlai4KIAotICAyLiBXcGlzeiAgZGQgIGFieSB1c3VuxIXEhyBsaW5pxJkgaSBwcnplY2hvd2HEhyBqxIUgdyByZWplc3RyemUgVmltLWEuCisgIDIuIFdwaXN6ICBkZCAgYWJ5IHVzdW7EhcSHIGxpbmnEmSBpIHByemVjaG93YcSHIGrEhSB3IHJlamVzdHJ6ZSBWaW1hLgogCiAgIDMuIFByemVuaWXFmyBrdXJzb3IgZG8gbGluaWkgYyksIFBPV1nFu0VKIHRlaiBnZHppZSB1c3VuacSZdGEgbGluaWEgcG93aW5uYQogICAgICBzacSZIHpuYWpkb3dhxIcuCiAKICAgNC4gV2NpxZtuaWogIHAgIGJ5IHdzdGF3acSHIGxpbmnEmSBwb25pxbxlaiBrdXJzb3JhLgogCi0gIDUuIFBvd3RhaiBrcm9raSAyLiBkbyA0LiBhxbwgem5hamTEhSBzacSZIHcgb2Rwb3dpZWRuaW0gcG9yesSFZGt1LgorICA1LiBQb3d0YXJ6YWoga3Jva2kgMi4gZG8gNC4gYcW8IHpuYWpkxIUgc2nEmSB3IG9kcG93aWVkbmltIHBvcnrEhWRrdS4KIAogLS0tPiBkKSBKYWsgZHdhIGFuaW/FgmtpLgogLS0tPiBiKSBOYSBkb2xlIGZpb8WCa2ksCkBAIC00NTYsNyArNDU2LDcgQEAKIAogICA1LiBXcGlzeiAgYyQgLCBwb3ByYXcga29uaWVjIHdpZXJzemEgaSB3Y2nFm25paiA8RVNDPi4KIAotLS0tPiBLb25pZWMgdGVnbyB3aWVyc3phIG11c2kgYnnEhyBwb3ByYXdpb255IGFieSB3eWdsxIVkYWwgdGFrIGphayBkcnVnaS4KKy0tLT4gS29uaWVjIHRlZ28gd2llcnN6YSBtdXNpIGJ5xIcgcG9wcmF3aW9ueSBhYnkgd3lnbMSFZGHFgiB0YWsgamFrIGRydWdpLgogLS0tPiBLb25pZWMgdGVnbyB3aWVyc3phIG11c2kgYnnEhyBwb3ByYXdpb255IHXFvHl3YWrEhWMgcG9sZWNlbmlhICBjJCAuCiAKIFVXQUdBOiAgTW/FvGVzeiB1xbx5d2HEhyA8QlM+IGFieSBwb3ByYXdpYcSHIGLFgsSZZHkgdyBjemFzaWUgcGlzYW5pYS4KQEAgLTUyNiwxNSArNTI2LDE1IEBACiAgIDUuIEFieSB3csOzY2nEhyBnZHppZSBiecWCZcWbIHdjacWbbmlqICBDVFJMLU8uIFBvd3RhcnphaiBieSB3csOzY2nEhyBkYWxlai4gQ1RSTC1JCiAgICAgIGlkemllIGRvIHByem9kdS4KIAotVVdBR0E6ICAnYsWCb25kJyB0byBuaWUgamVzdCBtZXRvZGEgYnkgcHJ6ZWxpdGVyb3dhxIcgYsWCxIVkOyAnYsWCb25kJyB0byBixYLEhWQuCi1VV0FHQTogIEtpZWR5IHN6dWthbmllIG9zacSFZ25pZSBrb25pZWMgcGxpa3UgYsSZZHppZSBrb250eW51b3dhxYJvIG9kIHBvY3rEhXRrdQotbyBpbGUgb3BjamEgJ3dyYXBzY2FuJyBuaWUgem9zdGHFgmEgcHJ6ZXN0YXdpb25hLgorVXdhZ2E6ICAnYsWCb25kJyB0byBuaWUgamVzdCBtZXRvZGEgYnkgcHJ6ZWxpdGVyb3dhxIcgYsWCxIVkOyAnYsWCb25kJyB0byBixYLEhWQuCitVd2FnYTogIEtpZWR5IHN6dWthbmllIG9zacSFZ25pZSBrb25pZWMgcGxpa3UgYsSZZHppZSBrb250eW51b3dhxYJvIG9kIHBvY3rEhXRrdQorICAgICAgICBvIGlsZSBvcGNqYSAnd3JhcHNjYW4nIG5pZSB6b3N0YcWCYSBwcnplc3Rhd2lvbmEuCiAKIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogCQlMZWtjamEgNC4zLjogVyBQT1NaVUtJV0FOSVUgUEFSVUrEhENZQ0ggTkFXSUFTw5NXCiAKIAotCQkqKiBXcGlzeiAgJSAgYnkgem5hbGXFusSHIHBhc3VqxIVjeSApLF0sIGx1YiB9IC4gKioKKwkgICAgICAgKiogV3Bpc3ogICUgIGJ5IHpuYWxlxbrEhyBwYXJ1asSFY3kgKSwgXSwgbHViIH0gLiAqKgogCiAgIDEuIFVtaWXFm8SHIGt1cnNvciBuYSBrdMOzcnltxZsgeiAoLCBbLCBsdWIgeyB3IGxpbmlpIHBvbmnFvGVqIG96bmFjem9uZWogLS0tPi4KIApAQCAtNTQ4LDcgKzU0OCw3IEBACiAKIC0tLT4gVG8gKCBqZXN0IGxpbmlhIHRlc3Rvd2EgeiAoLCBbLCBdIGkgeywgfSAuICkpCiAKLVVXQUdBOiBUYSBmdW5rY2phIGplc3QgYmFyZHpvIHXFvHl0ZWN6bmEgdyBkZWJ1Z2dvd2FuaXUgcHJvZ3JhbXUKK1V3YWdhOiBUYSBmdW5rY2phIGplc3QgYmFyZHpvIHXFvHl0ZWN6bmEgdyBkZWJ1Z2dvd2FuaXUgcHJvZ3JhbXUKICAgICAgICB6IG5pZXNwYXJvd2FueW1pIG5hd2lhc2FtaSEKIAogCkBAIC01OTgsNyArNTk4LDcgQEAKICAgICAgQnkgemFtaWVuacSHIHdzenlzdGtpZSBzdGFyeSBuYSBub3d5IHcgbGluaWkgd3Bpc3ogICAgIDpzL3N0YXJ5L25vd3kvZwogICAgICBCeSB6YW1pZW5pxIcgZnJhenkgcG9tacSZZHp5IGR3b21hIGxpbmlhbWkgIyB3cGlzeiAgICAgIDojLCNzL3N0YXJ5L25vd3kvZwogICAgICBCeSB6YW1pZW5pxIcgd3N6eXN0a2llIHd5c3TEhXBpZW5pYSB3IHBsaWt1IHdwaXN6ICAgICAgIDolcy9zdGFyeS9ub3d5L2cKLSAgICAgQnkgVmltIHByb3NpxYIgQ2nEmSBvIHBvdHdpZXJkemllbmllIGRvZGFqICdjJwkgICA6JXMvc3Rhcnkvbm93eS9nYworICAgICBCeSBWaW0gcHJvc2nFgiBDacSZIG8gcG90d2llcmR6ZW5pZSBkb2RhaiAnYycJICAgOiVzL3N0YXJ5L25vd3kvZ2MKIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogCQkgTGVrY2phIDUuMS46IEpBSyBXWUtPTkHEhiBQT0xFQ0VOSUEgWkVXTsSYVFJaTkUKIApAQCAtNjA2LDcgKzYwNiw3IEBACiAJKiogV3Bpc3ogIDohICBhIG5hc3TEmXBuaWUgemV3bsSZdHJ6bmUgcG9sZWNlbmllIGJ5IGplIHd5a29uYcSHLiAqKgogCiAgIDEuIFdwaXN6IHpuYWpvbWUgcG9sZWNlbmllICA6ICBieSB1c3Rhd2nEhyBrdXJzb3IgbmEgZG9sZSBla3JhbnUuIFRvIHBvendhbGEKLSAgICAgbmEgd3Byb3dhZHplbmllIHBvbGVjZW5pYS4KKyAgICAgbmEgd3Byb3dhZHplbmllIGtvbWVuZHkgbGluaWkgcG9sZWNlxYQuCiAKICAgMi4gVGVyYXogd3N0YXcgICEgICh3eWtyenlrbmlrKS4gVG8gdW1vxbxsaXdpIENpIHd5a29uYW5pZSBkb3dvbG5lZ28KICAgICAgemV3bsSZdHJ6bmVnbyBwb2xlY2VuaWEgcG93xYJva2kuCkBAIC02MzgsMTIgKzYzOCwxMiBAQAogICA0LiBUbyBwb2xlY2VuaWUgemFwYW1pxJl0YSBjYcWCeSBwbGlrIChWaW0gVHV0b3IpIHBvZCBuYXp3xIUgVEVTVC4KICAgICAgQnkgdG8gc3ByYXdkemnEhyB3cGlzeiAgOiFkaXIgIGx1YiAgOiFscyAsIMW8ZWJ5IHpub3d1IHpvYmFjennEhyBsaXN0xJkgcGxpa8Ozdy4KIAotVXdhZ2E6IFphdXdhxbwsIMW8ZSBnZHliecWbIHRlcmF6IHd5c3plZMWCIHogVmltLWEsIGEgbmFzdMSZcG5pZSB3c3plZMWCIHBvbm93bmllCi0gICAgICAga29tZW5kxIUgIHZpbSBURVNUICwgcGxpayBiecWCYnkgZG9rxYJhZG7EhSBrb3BpxIUgdHV0b3JpYWxhIGtpZWR5IGdvCitVd2FnYTogWmF1d2HFvCwgxbxlIGdkeWJ5xZsgdGVyYXogd3lzemVkxYIgeiBWaW1hLCBhIG5hc3TEmXBuaWUgd3N6ZWTFgiBwb25vd25pZQorICAgICAgIHBvbGVjZW5pZW0gIHZpbSBURVNUICwgcGxpayBiecWCYnkgZG9rxYJhZG7EhSBrb3BpxIUgdHV0b3JpYWxhIGtpZWR5IGdvCiAgICAgICAgemFwaXN5d2HFgmXFmy4KIAotICA1LiBUZXJheiB1c3XFhCBwbGlrIHdwaXN1asSFYzoJCSAgIDohcm0gVEVTVAotCisgIDUuIFRlcmF6IHVzdcWEIHBsaWsgd3Bpc3VqxIVjIChNUy1ET1MpOgkJICAgOiFkZWwgVEVTVAorICAgICAgICAgICAgICAgICAgICAgICAgICBsdWIgKFVuaXgpOiAgICAgICAgICAgICAgOiFybSBURVNUCiAKIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogCQkgICAgTGVrY2phIDUuMy46IFdZQlJBTklFIFRFS1NUVSBETyBaQVBJU1UKQEAgLTY4Nyw4ICs2ODcsOCBAQAogICAgICB0ZXJheiBzxIUgZHdpZSBrb3BpZSBMZWtjamkgNS4zLiwgb3J5Z2luYcWCIGkga29waWEgeiBwbGlrdS4KIAogVVdBR0E6IE1vxbxlc3ogdGXFvCB3Y3p5dGHEhyB3eWrFm2NpZSB6ZXduxJl0cnpuZWdvIHBvbGVjZW5pYS4gTmEgcHJ6eWvFgmFkCi0gICAgICAgOnIgIWxzICB3Y3p5dHVqZSB3eWrFm2NpZSBwb2xlY2VuaWEgbHMgaSB1bWllc3pjemEgamUgcG9kIGt1cnNvcmVtLgotCisgICAgICAgOnIgIWxzICB3Y3p5dHVqZSB3eWrFm2NpZSBwb2xlY2VuaWEgbHMgaSB1bWllc3pjemEgamUgcG9kIHBvbmnFvGVqCisgICAgICAga3Vyc29yYS4KIAogCiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KQEAgLTcwMyw3ICs3MDMsNyBAQAogCiAJICA6IXJtIE5BWldBX1BMSUtVICAtICB1c3V3YSBwbGlrIE5BWldBX1BMSUtVLgogCi0gIDIuICA6dyBOQVpXQV9QTElLVSAgemFwaXN1amUgb2JlY255IHBsaWsgVmltLWEgbmEgZHlzayB6IG5henfEhSBOQVpXQV9QTElLVS4KKyAgMi4gIDp3IE5BWldBX1BMSUtVICB6YXBpc3VqZSBvYmVjbnkgcGxpayBWaW1hIG5hIGR5c2sgeiBuYXp3xIUgTkFaV0FfUExJS1UuCiAKICAgMy4gIHYgcnVjaCA6dyBOQVpXQV9QTElLVSAgemFwaXN1amUgV2l6dWFsbmllIHd5YnJhbmUgbGluaWUgZG8gTkFaV0FfUExJS1UuCiAKQEAgLTc1MiwxMyArNzUyLDEzIEBACiAgIDQuIERva2/FhGN6IHd5cmF6IHRhayBqYWsgdyBsaW5paSBwb25pxbxlai4gV2NpxZtuaWogPEVTQz4gYWJ5IG9wdcWbY2nEhyB0cnliCiAgICAgIEluc2VydC4KIAotICA1LiBVxbx5aiAgZSAgYnkgcHJ6ZWrFm8SHIGRvIGtvbGVqbmVnbyBuaWVkb2tvxYRjem9uZWdvIHd5cmF6ZSBpIHBvd3RhcnphaiBrcm9raQorICA1LiBVxbx5aiAgZSAgYnkgcHJ6ZWrFm8SHIGRvIGtvbGVqbmVnbyBuaWVkb2tvxYRjem9uZWdvIHd5cmF6dSBpIHBvd3RhcnphaiBrcm9raQogICAgICAzLiBpIDQuCiAKIC0tLT4gVGEgbGkgcG96IENpIMSHd2kgZG9kYXcgdGVrcyBkbyBrb8WEIGxpbgogLS0tPiBUYSBsaW5pYSBwb3p3b2xpIENpIMSHd2ljennEhyBkb2Rhd2FuaWUgdGVrc3R1IGRvIGtvxYRjYSBsaW5paS4KIAotVXdhZ2E6ICBhICwgIGkgIGFuZCAgQSAgcHJvd2FkesSFIGRvIHRyeWJ1IEluc2VydCwgamVkeW7EhSByw7PFvG5pY8SFIGplc3QgbWllanNjZQorVXdhZ2E6ICBhICwgIGkgIG9yYXogIEEgIHByb3dhZHrEhSBkbyB0cnlidSBJbnNlcnQsIGplZHluxIUgcsOzxbxuaWPEhSBqZXN0IG1pZWpzY2UKICAgICAgICBnZHppZSBub3dlIHpuYWtpIGLEmWTEhSBkb2Rhd2FuZS4KIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogCQkgICBMZWtjamEgNi4zLjogSU5OQSBXRVJTSkEgUkVQTEFDRSAoemFtaWFuYSkKQEAgLTc4OSw3ICs3ODksNyBAQAogCiAgICAgICAgKiogdcW8eWogb3BlcmF0b3JhICB5ICBhYnkgc2tvcGlvd2HEhyB0ZWtzdCBpICBwICBhYnkgZ28gd2tsZWnEhyAqKgogCi0gIDEuIFByemVqZMW6IGRvIGxpbmlpIG96bmFjem9uZWogLS0tPiBpIHVtaWXFm2Mga3Vyc29yIHphICJhKSIuCisgIDEuIFByemVqZMW6IGRvIGxpbmlpIG96bmFjem9uZWogLS0tPiBpIHVtaWXFm8SHIGt1cnNvciB6YSAiYSkiLgogCiAgIDIuIFdlamTFuiB3IHRyeWIgVmlzdWFsICB2ICBpIHByemVuaWXFmyBrdXJzb3IgbmEgcG9jesSFdGVrICJwaWVyd3N6eSIuCiAKQEAgLTc5OSw4ICs3OTksOCBAQAogCiAgIDUuIFdjacWbbmlqICBwICBhYnkgd3Bha293YcSHIChwYXN0ZSkgdGVrc3QuICBEb2RhajogIGEgZHJ1Z2k8RVNDPiAuCiAKLSAgNi4gVcW8eWogdHJ5YnUgVmlzdWFsIGFieSB3eWJyYcSHICIgZWxlbWVudC4iLCB5YW5rdWogZ28gIHkgLCBwcnplamTFuiBkbyBrb8WEY2EKLSAgICAgbmFzdMSZcG5laiBsaW5paSAgaiQgaSB1cGFrdWogdGFtIHRla3N0IHogIHAgLgorICA2LiBVxbx5aiB0cnlidSBXaXp1YWxuZWdvIGFieSB3eWJyYcSHICIgZWxlbWVudC4iLCB5YW5rdWogZ28gIHkgLCBwcnplamTFuiBkbworICAgICBrb8WEY2EgbmFzdMSZcG5laiBsaW5paSAgaiQgaSB1cGFrdWogdGFtIHRla3N0IHogIHAgLgogCiAtLS0+ICBhKSB0byBqZXN0IHBpZXJ3c3p5IGVsZW1lbnQuCiAgICAgICBiKQpAQCAtODE4LDcgKzgxOCw3IEBACiAgIDIuIFVzdGF3IG9wY2rEmSAnaWMnIChJZ25vcmUgY2FzZSAtLSBpZ25vcnVqIHdpZWxrb8WbxIcgbGl0ZXIpIHBvcHJ6ZXoKICAgICAgd3Bpc2FuaWU6CQk6c2V0IGljCiAKLSAgMy4gVGVyYXogc3p1a2FqICdpZ25vcmUnIHBvbm93bmllIHdjaXNrdWrEhWM6ICBuCisgIDMuIFRlcmF6IHN6dWthaiAnaWdub3JlJyBwb25vd25pZSB3Y2lza2FqxIVjOiAgbgogICAgICBaYXV3YcW8LCDFvGUgSWdub3JlIGkgSUdOT1JFIHRha8W8ZSBzxIUgdGVyYXogem5hbGV6aW9uZS4KIAogICA0LiBVc3RhdyBvcGNqZSAnaGxzZWFyY2gnIGkgJ2luY3NlYXJjaCc6ICAgIDpzZXQgaGxzIGlzCkBAIC04MzUsMTYgKzgzNSwxOCBAQAogCiAKICAgMS4gV3Bpc2FuaWUgIG8gIG90d2llcmEgbGluacSZIFBPTknFu0VKIGt1cnNvcmEuCi0gICAgIFdwaXNhbmllIHdpZWxraWVnbyAgTyAgb3R3aWVyYSBsaW5pxJkgUE9XWcW7RUoga3Vyc29yYS4KLSAgMi4gV3Bpc3ogIGEgIGJ5IHdzdGF3acSHIHRla3N0IFpBIHpuYWtpZW0gbmEsIGt0w7NyeW0gamVzdCBrdXJzb3IuCi0gICAgIFdwaXNhbmllIHdpZWxraWVnbyAgQSAgZG9kYWplIHRla3N0IG5hIGtvxYRjdSBsaW5paS4KKyAgICAgV3Bpc2FuaWUgIE8gIG90d2llcmEgbGluacSZIFBPV1nFu0VKIGt1cnNvcmEuCisKKyAgMi4gV3Bpc2FuaWUgIGEgIGJ5IHdzdGF3acSHIHRla3N0IFpBIHpuYWtpZW0gbmEsIGt0w7NyeW0gamVzdCBrdXJzb3IuCisgICAgIFdwaXNhbmllICBBICBkb2RhamUgdGVrc3QgbmEga2/FhGN1IGxpbmlpLgorCiAgIDMuIFBvbGVjZW5pZSAgZSAgcHJ6ZW5vc2kgZG8ga2/FhGNhIHd5cmF6dS4KLSAgNC4gT3BlcmF0byAgeSAgeWFua3VqZSAoa29waXVqZSkgdGVrc3QsICBwICBwYWt1amUgKHdrbGVqYSwgcGFzdGUpIGdvLgorICA0LiBPcGVyYXRvciAgeSAgeWFua3VqZSAoa29waXVqZSkgdGVrc3QsICBwICBwYWt1amUgKHdrbGVqYSwgcGFzdGUpIGdvLgogICA1LiBXcGlzYW5pZSB3aWVsa2llZ28gIFIgIHdwcm93YWR6YSB3IHRyeWIgUmVwbGFjZSAoemFtaWFuYSkgZG9ww7NraQogICAgICBuaWUgem9zdGFuaWUgd2NpxZtuacSZdHkgPEVTQz4uCiAgIDYuIFdwaXNhbmllICI6c2V0IHh4eCIgdXN0YXdpYSBvcGNqxJkgInh4eCIuIE5pZXRrw7NyZSBvcGNqZToKLQknaWMnICdpZ25vcmVjYXNlJwlpZ25vcnVqIHdpZWxrb8WbxIcgem5ha8OzdwotCSdpcycgJ2luY3NlYXJjaCcJcG9rYcW8IGN6xJnFm2Npb3dlIGRvcGFzb3dhbmlhCisJJ2ljJyAgJ2lnbm9yZWNhc2UnCWlnbm9ydWogd2llbGtvxZvEhyB6bmFrw7N3CisJJ2lzJyAgJ2luY3NlYXJjaCcJcG9rYcW8IGN6xJnFm2Npb3dlIGRvcGFzb3dhbmlhCiAJJ2hscycgJ2hsc2VhcmNoJwlwb2TFm3dpZXRsIHdzenlzdGtpZSBkb3Bhc293YW5pYQogICAgICBNb8W8ZXN6IHXFvHnEhyB6YXLDs3dubyBkxYJ1Z2llaiBqYWsgaSBrcsOzdGtpZWogZm9ybXkuCiAgIDcuIERvZGFqICJubyIgYWJ5IHd5xYLEhWN6ecSHIG9wY2rEmTogICA6c2V0IG5vaWMKQEAgLTg1NCwxNCArODU2LDE0IEBACiAKIAogfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCQlMRUtDSkEgNy4xLiBKQUsgVVpZU0tBxIYgUE9NT0MgCisJCQlMRUtDSkEgNy4xLiBKQUsgVVpZU0tBxIYgUE9NT0MKIAogCQkgICAgICAqKiBVxbx5Y2llIHN5c3RlbXUgcG9tb2N5IG9uLWxpbmUgKioKIAogICBWaW0gcG9zaWFkYSBiYXJkem8gZG9icnkgc3lzdGVtIHBvbW9jeSBvbi1saW5lLiBCeSB6YWN6xIXEhyBzcHLDs2J1aiBqZWRuZWoKICAgeiB0cnplY2ggbW/FvGxpd2/Fm2NpOgotCS0gd2NpxZtuaWoga2xhd2lzeiA8SEVMUD4gKGplxZtsaSB0YWtvd3kgcG9zaWFkYXN6KQotCS0gd2NpxZtuaWoga2xhd2lzeiA8RjE+IChqZcWbbGkgdGFrb3d5IHBvc2lhZGFzeikKKwktIHdjacWbbmlqIGtsYXdpc3ogPEhFTFA+IChqZcWbbGkgdGFraSBtYXN6KQorCS0gd2NpxZtuaWoga2xhd2lzeiA8RjE+IChqZcWbbGkgdGFraSBtYXN6KQogCS0gd3Bpc3ogICA6aGVscDxFTlRFUj4KIAogICBQcnplY3p5dGFqIHRla3N0IHcgb2tuaWUgcG9tb2N5ICBhYnkgZG93aWVkemllxIcgc2nEmSBqYWsgZHppYcWCYSBwb21vYy4KQEAgLTg3OCw3ICs4ODAsNyBAQAogfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAJCSAgIExFS0NKQSA3LjIuIFRXT1JaRU5JRSBTS1JZUFRVIFNUQVJUT1dFR08KIAotCQkJICoqIFfFgsSFY3ogbW/FvGxpd2/Fm2NpIFZpbS1hICoqCisJCQkgICoqIFfFgsSFY3ogbW/FvGxpd2/Fm2NpIFZpbWEgKioKIAogICBWaW0gbWEgbyB3aWVsZSB3acSZY2VqIG1vxbxsaXdvxZtjaSBuacW8IFZpLCBhbGUgd2nEmWtzem/Fm8SHIHogbmljaCBqZXN0IGRvbXnFm2xuaWUKICAgd3nFgsSFY3pvbmEuIEplxZtsaSBjaGNlc3ogd8WCxIVjennEhyB0ZSBtb8W8bGl3b8WbY2kgbmEgc3RhcmNpZSBtdXNpc3ogdXR3b3J6ecSHCkBAIC05NDMsMjMgKzk0NSwyMyBAQAogCiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KIAotICBUdXRhaiBzacSZIGtvxYRjenkgdHV0b3JpYWwgVmltLWEuIFpvc3RhxYIgb24gcG9tecWbbGFueSB0YWsgYWJ5IGRhxIcga3LDs3RraQorICBUdXRhaiBzacSZIGtvxYRjenkgdHV0b3JpYWwgVmltYS4gWm9zdGHFgiBvbiBwb215xZtsYW55IHRhayBhYnkgZGHEhyBrcsOzdGtpCiAgIHByemVnbMSFZCBqZWdvIG1vxbxsaXdvxZtjaSwgd3lzdGFyY3phasSFY3kgYnnFmyBtw7NnxYIgZ28gdcW8eXdhxIcuIEplc3Qgb24KICAgZGFsZWtpIG9kIGtvbXBsZXRub8WbY2kgcG9uaWV3YcW8IFZpbSBtYSBvIHdpZWxlLCB3aWVsZSB3acSZY2VqIHBvbGVjZcWELgogCiAgIERsYSBkYWxzemVqIG5hdWtpIHJla29tZW5kdWplbXkga3NpxIXFvGvEmToKIAlWaW0gLSBWaSBJbXByb3ZlZCAtIGF1dG9yIFN0ZXZlIE91YWxsaW5lCiAJV3lkYXdjYTogTmV3IFJpZGVycwotICBQaWVyd3N6YSBrc2nEhXprYSBjYcWCa293aWNpZSBwb8Wbd2nEmWNvbmEgVmltLW93aS4gVcW8eXRlY3puYSB6d8WCYXN6Y3phIGRsYQorICBQaWVyd3N6YSBrc2nEhXprYSBjYcWCa293aWNpZSBwb8Wbd2nEmWNvbmEgVmltb3dpLiBVxbx5dGVjem5hIHp3xYJhc3pjemEgZGxhCiAgIHBvY3rEhXRrdWrEhWN5Y2guIFphd2llcmEgd2llbGUgcHJ6eWvFgmFkw7N3IGkgaWx1c3RyYWNqaS4KICAgWm9iYWN6IGh0dHA6Ly9pY2NmLWhvbGxhbmQub3JnLi9jbGljazUuaHRtbAogCi0gIFRhIGtzacSFxbxrYSBqZXN0IHN0YXJzemEgaSBiYXJkemllaiBvIFZpIG5pxbwgbyBWaW0taWUsIGFsZSB0YWvFvGUgd2FydGEKKyAgU3RhcnN6YSBwb3p5Y2phIGkgYmFyZHppZWogbyBWaSBuacW8IG8gVmltaWUsIGFsZSB0YWvFvGUgd2FydGEKICAgcG9sZWNlbmlhOgogCUxlYXJuaW5nIHRoZSBWaSBFZGl0b3IgLSBhdXRvciBMaW5kYSBMYW1iCiAJV3lkYXdjYTogTydSZWlsbHkgJiBBc3NvY2lhdGVzIEluYy4KICAgVG8gZG9icmEga3NpxIXFvGthIGJ5IGRvd2llZHppZcSHIHNpxJkgbmllbWFsIHdzenlzdGtpZWdvIGNvIGNoY2lhxYJiecWbIHpyb2JpxIcKLSAgeiBWaS4gU3rDs3N0YSBlZHljamEgemF3aWVyYSB0ZcW8IGluZm9ybWFjamUgbyBWaW0taWUuCisgIHogVmkuIFN6w7NzdGEgZWR5Y2phIHphd2llcmEgdGXFvCBpbmZvcm1hY2plIG8gVmltaWUuCiAKICAgUG8gcG9sc2t1IHd5ZGFubzoKIAlFZHl0b3IgdmkuIExla3N5a29uIGtpZXN6b25rb3d5IC0gYXV0b3IgQXJub2xkIFJvYmJpbnMKQEAgLTk2NywxMCArOTY5LDEwIEBACiAJSVNCTjogODMtNzE5Ny00NzItOAogCWh0dHA6Ly9oZWxpb24ucGwva3NpYXpraS92aWxlay5odG0KICAgSmVzdCB0byBrc2nEhcW8ZWN6a2EgemF3aWVyYWrEhWNhIHNwaXMgcG9sZWNlxYQgdmkgaSBqZWdvIG5handhxbxuaWVqc3p5Y2gKLSAga2xvbsOzdyAobWnEmWR6eSBpbm55bWkgVmltLWEpLgorICBrbG9uw7N3IChtacSZZHp5IGlubnltaSBWaW1hKS4KIAogCUVkeXRvciB2aSAtIGF1dG9yenkgTGluZGEgTGFtYiBpIEFybm9sZCBSb2JiaW5zCi0JV3lkYXdjYTogSGVsaW9uIDIwMDEgKE8nUmVpbGx5KSAtIHdnIDYgYW5nLiB3eWRhbmlhCisJV3lkYXdjYTogSGVsaW9uIDIwMDEgKE8nUmVpbGx5KSAtIHdnIDYuIGFuZy4gd3lkYW5pYQogCUlTQk46IDgzLTcxOTctNTM5LTIKIAlodHRwOi8vaGVsaW9uLnBsL2tzaWF6a2kvdmllZHl0Lmh0bQogICBSb3pzemVyem9uYSB3ZXJzamEgTGVhcm5pbmcgdGhlIFZpIEVkaXRvciB3IHBvbHNraW0gdMWCdW1hY3plbml1LgpAQCAtOTgwLDcgKzk4Miw3IEBACiAgIENvbG9yYWRvIFN0YXRlIFVuaXZlcnNpdHkuCiAgIEUtbWFpbDogYndhcmVAbWluZXMuY29sb3JhZG8uZWR1LgogCi0gIFptb2R5Zmlrb3dhbmUgZGxhIFZpbS1hIHByemV6IEJyYW1hIE1vb2xlbmFhcmEuCisgIFptb2R5Zmlrb3dhbmUgZGxhIFZpbWEgcHJ6ZXogQnJhbWEgTW9vbGVuYWFyYS4KIAogfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAKQEAgLTk4OCw0ICs5OTAsNSBAQAogICBTaWVycGllxYQgMjAwMSwKICAgcmV2LiBNYXJ6ZWMgMjAwMgogICAybmQgcmV2LiBXcnplc2llxYQgMjAwNAorICAzcmQgcmV2LiBNYXJ6ZWMgMjAwNgogICBXc3plbGtpZSB1d2FnaSBwcm9zesSZIGtpZXJvd2HEhyBuYTogbWlrbWFjaEB3cC5wbApkaWZmIC0tZ2l0IGEvc3JjL01ha2VfYmM1Lm1hayBiL3NyYy9NYWtlX2JjNS5tYWsKaW5kZXggYjA2M2NlMC4uZTUwYTQzNSAxMDA2NDQKLS0tIGEvc3JjL01ha2VfYmM1Lm1haworKysgYi9zcmMvTWFrZV9iYzUubWFrCkBAIC01MSw2ICs1MSw3IEBACiAjCQlOT1RFOiBjb21waWxhdGlvbiBvbiBXaW5OVC8ySy9YUCByZXF1aXJlcwogIwkJYXQgbGVhc3QgdmVyc2lvbiAxLjYuNSBvZiBSdWJ5LiAgRWFybGllciB2ZXJzaW9ucwogIwkJb2YgUnVieSB3aWxsIGNhdXNlIGEgY29tcGlsZSBlcnJvciBvbiB0aGVzZSBzeXN0ZW1zLgorIyAgIFJVQllfVkVSX0xPTkcgIHNhbWUsIGJ1dCBpbiBmb3JtYXQgd2l0aCBkb3QuICgxLjYpCiAjICAgRFlOQU1JQ19SVUJZIG5vIG9yIHllczogdXNlIHllcyB0byBsb2FkIHRoZSBSdWJ5IERMTCBkeW5hbWljYWxseSAobm8pCiAjIE1CWVRFCQlubyBvciB5ZXM6IHNldCB0byB5ZXMgZm9yIG11bHRpLWJ5dGUgc3VwcG9ydCAoeWVzKQogIyAgICAgICAgICAgICAgIE5PVEU6IG11bHRpLWJ5dGUgc3VwcG9ydCBpcyBicm9rZW4gaW4gdGhlIEJvcmxhbmQgbGlicmFyaWVzLApkaWZmIC0tZ2l0IGEvc3JjL01ha2Vfdm1zLm1tcyBiL3NyYy9NYWtlX3Ztcy5tbXMKaW5kZXggODliNTZhZi4uNTU3Y2I2ZCAxMDA2NDQKLS0tIGEvc3JjL01ha2Vfdm1zLm1tcworKysgYi9zcmMvTWFrZV92bXMubW1zCkBAIC0yLDcgKzIsNyBAQAogIyBNYWtlZmlsZSBmb3IgVmltIG9uIE9wZW5WTVMKICMKICMgTWFpbnRhaW5lcjogICBab2x0YW4gQXJwYWRmZnkgPGFycGFkZmZ5QHBvbGFyaG9tZS5jb20+Ci0jIExhc3QgY2hhbmdlOiAgMjAwNiBNYXIgMjQKKyMgTGFzdCBjaGFuZ2U6ICAyMDA2IE1hciAzMQogIwogIyBUaGlzIGhhcyBzY3JpcHQgYmVlbiB0ZXN0ZWQgb24gVk1TIDYuMiB0byA4LjIgb24gREVDIEFscGhhLCBWQVggYW5kIElBNjQKICMgd2l0aCBNTVMgYW5kIE1NSwpAQCAtOTgsNyArOTgsOCBAQAogCiAuSUZERUYgVkFYCiAuSUZERUYgREVDQwkgICAgICMgVkFYIHdpdGggREVDQwotQ0NfREVGICA9IGNjL2RlY2MKK0NDX0RFRiAgPSBjYyAjIC9kZWNjICMgc29tZSBzeXN0ZW0gcmVxdWlyZXMgdGhpcyBzd2l0Y2gKKyAgICAgICAgICAgICAgICAgICAgICMgYnV0IHdoZW4gaXQgaXMgbm90IHJlcXVpcmVkIC92ZXIgbWlnaHQgZmFpbAogUFJFRklYICA9IC9wcmVmaXg9YWxsCiAuRUxTRQkJICAgICAjIFZBWCB3aXRoIFZBWEMKIENDX0RFRgk9IGNjCkBAIC0xNDgsMTAgKzE0OSwxMSBAQAogIyBYL01vdGlmL0dUSyBleGVjdXRhYmxlICAoYWxzbyB3b3JrcyBpbiB0ZXJtaW5hbCBtb2RlICkKIAogLklGREVGIEdUSwotIyBkZWZpbmUgR1RLIHJvb3QgZGlyZWN0b3J5CisjIE5PVEU6IHlvdSBuZWVkIHRvIHNldCB1cCB5b3VyIEdUS19ESVIgKEdUSyByb290IGRpcmVjdG9yeSksIGJlY2F1c2UgaXQgaXMKKyMgdW5pcXVlIG9uIGV2ZXJ5IHN5c3RlbSAtIGxvZ2ljYWxzIGFyZSBub3QgYWNjZXB0ZWQKICMgcGxlYXNlIG5vdGU6IGRpcmVjdG9yeSBzaG91bGQgZW5kIHdpdGggLiBpbiBvcmRlciB0byAvdHJhbnM9Y29uYyB3b3JrCi0jIGV4YW1wbGU6IEdUS19ESVIgID0gJDEkREdBMTA0OltVU0VSUy5aQVkuV09SSy5HVEsxMjEwLl0KLUdUS19ESVIgID0gQUxQSEEkREtBMDpbR1RLMTI4Ll0KKyMgRXhhbXBsZTogR1RLX0RJUiAgPSAkMSRER0ExMDQ6W1VTRVJTLlpBWS5XT1JLLkdUSzEyMTAuXQorR1RLX0RJUiAgPSBES0EwOltHVEsxMjEwLl0KIERFRlMgICAgID0gIkhBVkVfQ09ORklHX0giLCJGRUFUX0dVSV9HVEsiCiBMSUJTICAgICA9ICxPU19WTVNfR1RLLk9QVC9PUFQKIEdVSV9GTEFHID0gL25hbWU9KGFzX2lzLHNob3J0KS9mbG9hdD1pZWVlL2llZWU9ZGVub3JtCmRpZmYgLS1naXQgYS9zcmMvTWFrZWZpbGUgYi9zcmMvTWFrZWZpbGUKaW5kZXggZWExNDYyYS4uYzc5Zjk2ZCAxMDA2NDQKLS0tIGEvc3JjL01ha2VmaWxlCisrKyBiL3NyYy9NYWtlZmlsZQpAQCAtMTMyMiw3ICsxMzIyLDggQEAKIERFU1RfTUFOX0lUID0gJChERVNUX01BTl9UT1ApL2l0JChNQU4xRElSKQogREVTVF9NQU5fSVRfSSA9ICQoREVTVF9NQU5fVE9QKS9pdC5JU084ODU5LTEkKE1BTjFESVIpCiBERVNUX01BTl9JVF9VID0gJChERVNUX01BTl9UT1ApL2l0LlVURi04JChNQU4xRElSKQotREVTVF9NQU5fUEwgPSAkKERFU1RfTUFOX1RPUCkvcGwuSVNPODg1OS0yJChNQU4xRElSKQorREVTVF9NQU5fUEwgPSAkKERFU1RfTUFOX1RPUCkvcGwkKE1BTjFESVIpCitERVNUX01BTl9QTF9JID0gJChERVNUX01BTl9UT1ApL3BsLklTTzg4NTktMiQoTUFOMURJUikKIERFU1RfTUFOX1BMX1UgPSAkKERFU1RfTUFOX1RPUCkvcGwuVVRGLTgkKE1BTjFESVIpCiBERVNUX01BTl9SVSA9ICQoREVTVF9NQU5fVE9QKS9ydS5LT0k4LVIkKE1BTjFESVIpCiBERVNUX01BTl9SVV9VID0gJChERVNUX01BTl9UT1ApL3J1LlVURi04JChNQU4xRElSKQpAQCAtMTUyMyw4ICsxNTI0LDggQEAKIAkkKEFMTF9HVUlfUFJPKSBcCiAJJChUQ0xfUFJPKQogCi1JQ09OX0FQUCA9IGd1aV9tYWMuaWNucwotSUNPTl9ET0NUWFQgPSBkb2MtdHh0LmljbnMKKyMgUmVzb3VyY2VzIHVzZWQgZm9yIHRoZSBNYWMgYXJlIGluIG9uZSBkaXJlY3RvcnkuCitSU1JDX0RJUiA9IG9zX21hY19yc3JjCiAKIFBST19NQU5VQUwgPSBvc19hbWlnYS5wcm8gb3NfbXNkb3MucHJvIG9zX3dpbjE2LnBybyBvc193aW4zMi5wcm8gXAogCW9zX21zd2luLnBybyBvc19iZW9zLnBybyBvc192bXMucHJvIG9zX3Jpc2Nvcy5wcm8gJChQRVJMX1BSTykKQEAgLTE5MDUsNiArMTkwNiw3IEBACiAJLSQoU0hFTEwpIC4vaW5zdGFsbG1hbi5zaCB4eGQgJChERVNUX01BTl9JVF9JKSAiLWl0IiAkKElOU1RBTExNQU5BUkdTKQogCS0kKFNIRUxMKSAuL2luc3RhbGxtYW4uc2ggeHhkICQoREVTVF9NQU5fSVRfVSkgIi1pdC5VVEYtOCIgJChJTlNUQUxMTUFOQVJHUykKIAktJChTSEVMTCkgLi9pbnN0YWxsbWFuLnNoIHh4ZCAkKERFU1RfTUFOX1BMKSAiLXBsIiAkKElOU1RBTExNQU5BUkdTKQorCS0kKFNIRUxMKSAuL2luc3RhbGxtYW4uc2ggeHhkICQoREVTVF9NQU5fUExfSSkgIi1wbCIgJChJTlNUQUxMTUFOQVJHUykKIAktJChTSEVMTCkgLi9pbnN0YWxsbWFuLnNoIHh4ZCAkKERFU1RfTUFOX1BMX1UpICItcGwuVVRGLTgiICQoSU5TVEFMTE1BTkFSR1MpCiAJLSQoU0hFTEwpIC4vaW5zdGFsbG1hbi5zaCB4eGQgJChERVNUX01BTl9SVSkgIi1ydSIgJChJTlNUQUxMTUFOQVJHUykKIAktJChTSEVMTCkgLi9pbnN0YWxsbWFuLnNoIHh4ZCAkKERFU1RfTUFOX1JVX1UpICItcnUuVVRGLTgiICQoSU5TVEFMTE1BTkFSR1MpCkBAIC0xOTE4LDYgKzE5MjAsNyBAQAogCS0kKFNIRUxMKSAuL2luc3RhbGxtYW4uc2ggaW5zdGFsbCAkKERFU1RfTUFOX0lUX0kpICItaXQiICQoSU5TVEFMTE1BTkFSR1MpCiAJLSQoU0hFTEwpIC4vaW5zdGFsbG1hbi5zaCBpbnN0YWxsICQoREVTVF9NQU5fSVRfVSkgIi1pdC5VVEYtOCIgJChJTlNUQUxMTUFOQVJHUykKIAktJChTSEVMTCkgLi9pbnN0YWxsbWFuLnNoIGluc3RhbGwgJChERVNUX01BTl9QTCkgIi1wbCIgJChJTlNUQUxMTUFOQVJHUykKKwktJChTSEVMTCkgLi9pbnN0YWxsbWFuLnNoIGluc3RhbGwgJChERVNUX01BTl9QTF9JKSAiLXBsIiAkKElOU1RBTExNQU5BUkdTKQogCS0kKFNIRUxMKSAuL2luc3RhbGxtYW4uc2ggaW5zdGFsbCAkKERFU1RfTUFOX1BMX1UpICItcGwuVVRGLTgiICQoSU5TVEFMTE1BTkFSR1MpCiAJLSQoU0hFTEwpIC4vaW5zdGFsbG1hbi5zaCBpbnN0YWxsICQoREVTVF9NQU5fUlUpICItcnUiICQoSU5TVEFMTE1BTkFSR1MpCiAJLSQoU0hFTEwpIC4vaW5zdGFsbG1hbi5zaCBpbnN0YWxsICQoREVTVF9NQU5fUlVfVSkgIi1ydS5VVEYtOCIgJChJTlNUQUxMTUFOQVJHUykKQEAgLTE5MzYsNiArMTkzOSw4IEBACiAJLSQoU0hFTEwpIC4vaW5zdGFsbG1sLnNoIGluc3RhbGwgIiQoR1VJX01BTl9UQVJHRVRTKSIgXAogCQkkKERFU1RfTUFOX1BMKSAkKElOU1RBTExNTEFSR1MpCiAJLSQoU0hFTEwpIC4vaW5zdGFsbG1sLnNoIGluc3RhbGwgIiQoR1VJX01BTl9UQVJHRVRTKSIgXAorCQkkKERFU1RfTUFOX1BMX0kpICQoSU5TVEFMTE1MQVJHUykKKwktJChTSEVMTCkgLi9pbnN0YWxsbWwuc2ggaW5zdGFsbCAiJChHVUlfTUFOX1RBUkdFVFMpIiBcCiAJCSQoREVTVF9NQU5fUExfVSkgJChJTlNUQUxMTUxBUkdTKQogCS0kKFNIRUxMKSAuL2luc3RhbGxtbC5zaCBpbnN0YWxsICIkKEdVSV9NQU5fVEFSR0VUUykiIFwKIAkJJChERVNUX01BTl9SVSkgJChJTlNUQUxMTUxBUkdTKQpAQCAtMjA3Nyw2ICsyMDgyLDcgQEAKIAktJChTSEVMTCkgLi9pbnN0YWxsbWFuLnNoIHVuaW5zdGFsbCAkKERFU1RfTUFOX0lUX0kpICIiICQoSU5TVEFMTE1BTkFSR1MpCiAJLSQoU0hFTEwpIC4vaW5zdGFsbG1hbi5zaCB1bmluc3RhbGwgJChERVNUX01BTl9JVF9VKSAiIiAkKElOU1RBTExNQU5BUkdTKQogCS0kKFNIRUxMKSAuL2luc3RhbGxtYW4uc2ggdW5pbnN0YWxsICQoREVTVF9NQU5fUEwpICIiICQoSU5TVEFMTE1BTkFSR1MpCisJLSQoU0hFTEwpIC4vaW5zdGFsbG1hbi5zaCB1bmluc3RhbGwgJChERVNUX01BTl9QTF9JKSAiIiAkKElOU1RBTExNQU5BUkdTKQogCS0kKFNIRUxMKSAuL2luc3RhbGxtYW4uc2ggdW5pbnN0YWxsICQoREVTVF9NQU5fUExfVSkgIiIgJChJTlNUQUxMTUFOQVJHUykKIAktJChTSEVMTCkgLi9pbnN0YWxsbWFuLnNoIHVuaW5zdGFsbCAkKERFU1RfTUFOX1JVKSAiIiAkKElOU1RBTExNQU5BUkdTKQogCS0kKFNIRUxMKSAuL2luc3RhbGxtYW4uc2ggdW5pbnN0YWxsICQoREVTVF9NQU5fUlVfVSkgIiIgJChJTlNUQUxMTUFOQVJHUykKQEAgLTIwOTcsNiArMjEwMyw4IEBACiAJLSQoU0hFTEwpIC4vaW5zdGFsbG1sLnNoIHVuaW5zdGFsbCAiJChHVUlfTUFOX1RBUkdFVFMpIiBcCiAJCSQoREVTVF9NQU5fUEwpICQoSU5TVEFMTE1MQVJHUykKIAktJChTSEVMTCkgLi9pbnN0YWxsbWwuc2ggdW5pbnN0YWxsICIkKEdVSV9NQU5fVEFSR0VUUykiIFwKKwkJJChERVNUX01BTl9QTF9JKSAkKElOU1RBTExNTEFSR1MpCisJLSQoU0hFTEwpIC4vaW5zdGFsbG1sLnNoIHVuaW5zdGFsbCAiJChHVUlfTUFOX1RBUkdFVFMpIiBcCiAJCSQoREVTVF9NQU5fUExfVSkgJChJTlNUQUxMTUxBUkdTKQogCS0kKFNIRUxMKSAuL2luc3RhbGxtbC5zaCB1bmluc3RhbGwgIiQoR1VJX01BTl9UQVJHRVRTKSIgXAogCQkkKERFU1RfTUFOX1JVKSAkKElOU1RBTExNTEFSR1MpCkBAIC0yMTA1LDcgKzIxMTMsNyBAQAogCS1ybSAtZiAkKERFU1RfTUFOKS94eGQuMQogCS1ybSAtZiAkKERFU1RfTUFOX0ZSKS94eGQuMSAkKERFU1RfTUFOX0ZSX0kpL3h4ZC4xICQoREVTVF9NQU5fRlJfVSkveHhkLjEKIAktcm0gLWYgJChERVNUX01BTl9JVCkveHhkLjEgJChERVNUX01BTl9JVF9JKS94eGQuMSAkKERFU1RfTUFOX0lUX1UpL3h4ZC4xCi0JLXJtIC1mICQoREVTVF9NQU5fUEwpL3h4ZC4xICQoREVTVF9NQU5fUExfVSkveHhkLjEKKwktcm0gLWYgJChERVNUX01BTl9QTCkveHhkLjEgJChERVNUX01BTl9QTF9JKS94eGQuMSAkKERFU1RfTUFOX1BMX1UpL3h4ZC4xCiAJLXJtIC1mICQoREVTVF9NQU5fUlUpL3h4ZC4xICQoREVTVF9NQU5fUlVfVSkveHhkLjEKIAktcm0gLWYgJChERVNUX0hFTFApLyoudHh0ICQoREVTVF9IRUxQKS90YWdzICQoREVTVF9IRUxQKS8qLnBsCiAJLXJtIC1mICQoREVTVF9IRUxQKS8qLj8/eCAkKERFU1RfSEVMUCkvdGFncy0/PwpAQCAtMjE2Miw5ICsyMTcwLDkgQEAKIAljcCBjb25maWcubWsuZGlzdCAkKFNIQURPV0RJUikKIAlta2RpciAkKFNIQURPV0RJUikveHhkCiAJY2QgJChTSEFET1dESVIpL3h4ZDsgbG4gLXMgLi4vLi4veHhkLyouW2NoXSAuLi8uLi94eGQvTWFrZSogLgotCWlmIHRlc3QgLWYgJChJQ09OX0FQUCk7IHRoZW4gXAorCWlmIHRlc3QgLWQgJChSU1JDX0RJUik7IHRoZW4gXAogCQljZCAkKFNIQURPV0RJUik7IFwKLQkJbG4gLXMgLi4vJChJQ09OX0FQUCkgLi4vJChJQ09OX0RPQ1RYVCkgLi4vb3NfbWFjLnJzci5ocXggLi4vZGVocXgucHkgLjsgXAorCQlsbiAtcyAuLi8kKFJTUkNfRElSKSAuLi9vc19tYWMucnNyLmhxeCAuLi9kZWhxeC5weSAuOyBcCiAJZmkKIAlta2RpciAkKFNIQURPV0RJUikvdGVzdGRpcgogCWNkICQoU0hBRE9XRElSKS90ZXN0ZGlyOyBsbiAtcyAuLi8uLi90ZXN0ZGlyL01ha2VmaWxlIFwKQEAgLTI1MjYsMTcgKzI1MzQsNyBAQAogCiAjIyMgQ29tbW9uIGZsYWdzCiBNNEZMQUdTWCA9ICQoTTRGTEFHUykgLURBUFBfRVhFPSQoVklNTkFNRSkgLURBUFBfTkFNRT0kKFZJTU5BTUUpIFwKLQkJLURBUFBfVkVSPSQoVkVSU0lPTikgLURJQ09OX0FQUD0kKElDT05fQVBQKQotCi0jIyMgSWNvbnMKLUlDT05TID0gJChSRVNESVIpLyQoSUNPTl9BUFApICQoUkVTRElSKS8kKElDT05fRE9DVFhUKQotCi0jIElmIHlvdSB1bmNvbW1lbnQgdGhlIGZvbGxvd2luZyBsaW5lcyB0aGUgKi5pY25zIGluIHRoZSBzcmMgZGlyZWN0b3J5IHdpbGwgYmUKLSMgZGV0ZWN0ZWQgYnkgdGhpcyBNYWtlZmlsZSBhdXRvbWF0aWNhbGx5LCBhbmQgdXNlZCBmb3IgVmltLgotI0lDT05fQVBQID0gJChzaGVsbCBpZiBbIC1lIGFwcC5pY25zIF0gOyB0aGVuIGVjaG8gYXBwLmljbnMgOyBlbHNlIGVjaG8gZ3VpX21hYy5pY25zIDsgZmkpCi0jSUNPTl9ET0MgPSAkKHNoZWxsIGlmIFsgLWUgZG9jLmljbnMgXSA7IHRoZW4gZWNobyBkb2MuaWNucyA7IGVsc2UgZWNobyA7IGZpKQotI0lDT05fRE9DVFhUID0gJChzaGVsbCBpZiBbIC1lIGRvYy10eHQuaWNucyBdIDsgdGhlbiBlY2hvIGRvYy10eHQuaWNucyA7IGVsc2UgZWNobyA7IGZpKQotI0lDT05TID0gJChhZGRwcmVmaXggJChSRVNESVIpLywgJChJQ09OX0FQUCkgJChJQ09OX0RPQykgJChJQ09OX0RPQ1RYVCkpCisJCS1EQVBQX1ZFUj0kKFZFUlNJT04pCiAKIGluc3RhbGxfbWFjb3N4OiBndWlfYnVuZGxlCiAjIFJlbW92ZSB0aGUgbGluayB0byB0aGUgcnVudGltZSBkaXIsIGRvbid0IHdhbnQgdG8gY29weSBhbGwgb2YgdGhhdC4KQEAgLTI1NzcsOSArMjU3NSw4IEBACiAJQGVjaG8gIkNyZWF0aW5nIEluZm8ucGxpc3QiCiAJbTQgJChNNEZMQUdTWCkgaW5mcGxpc3QueG1sID4gJChBUFBESVIpL0NvbnRlbnRzL0luZm8ucGxpc3QKIAotYnVuZGxlLXJlc291cmNlOiBidW5kbGUtZGlyIGJ1bmRsZS1pY29ucyBidW5kbGUtcnNyYwotCi1idW5kbGUtaWNvbnM6ICQoSUNPTlMpCitidW5kbGUtcmVzb3VyY2U6IGJ1bmRsZS1kaXIgYnVuZGxlLXJzcmMKKwljcCAtZiAkKFJTUkNfRElSKS8qLmljbnMgJChSRVNESVIpCiAKICMjIyBDbGFzc2ljIHJlc291cmNlcwogIyBSZXNvdXJjZSBmb3JrIChpbiB0aGUgZm9ybSBvZiBhIC5yc3JjIGZpbGUpIGZvciBDbGFzc2ljIFZpbSAoTWFjIE9TIDkpCkBAIC0yNjAzLDkgKzI2MDAsNiBAQAogCS0kKFNIRUxMKSAuL21raW5zdGFsbGRpcnMgJChBUFBESVIpL0NvbnRlbnRzL01hY09TCiAJLSQoU0hFTEwpIC4vbWtpbnN0YWxsZGlycyAkKFJFU0RJUikvRW5nbGlzaC5scHJvagogCi0kKFJFU0RJUikvJS5pY25zOiAlLmljbnMKLQljcCAkPCAkQAotCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICMjIyAoYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgJ21ha2UgZGVwZW5kJykKZGlmZiAtLWdpdCBhL3NyYy9hdXRvL2NvbmZpZ3VyZSBiL3NyYy9hdXRvL2NvbmZpZ3VyZQppbmRleCBlOGI5YTVkLi42NDRkNGVmIDEwMDc1NQotLS0gYS9zcmMvYXV0by9jb25maWd1cmUKKysrIGIvc3JjL2F1dG8vY29uZmlndXJlCkBAIC0yNzgxLDcgKzI3ODEsMTAgQEAKICAgdGVzdCAiJEdDQyIgPSB5ZXMgJiYgQ0ZMQUdTPSItTzIgLWZuby1zdHJlbmd0aC1yZWR1Y2UgLVdhbGwiCiBmaQogaWYgdGVzdCAiJEdDQyIgPSB5ZXM7IHRoZW4KLSAgZ2NjdmVyc2lvbj1gIiRDQyIgLS12ZXJzaW9uIHwgc2VkIC1lICcyLCRkJyAtZSAncy9kYXJ3aW4uLy8nIC1lICdzL15bXjAtOV0qXChbMC05XVwuWzAtOS5dKlwpLiokL1wxL2cnYAorICAgIGdjY3ZlcnNpb249YCIkQ0MiIC1kdW1wdmVyc2lvbmAKKyAgaWYgdGVzdCAieCRnY2N2ZXJzaW9uIiA9ICJ4IjsgdGhlbgorICAgICAgICBnY2N2ZXJzaW9uPWAiJENDIiAtLXZlcnNpb24gfCBzZWQgLWUgJzIsJGQnIC1lICdzL2Rhcndpbi4vLycgLWUgJ3MvXlteMC05XSpcKFswLTldXC5bMC05Ll0qXCkuKiQvXDEvZydgCisgIGZpCiAgICAgaWYgdGVzdCAiJGdjY3ZlcnNpb24iID0gIjMuMC4xIiAtbyAiJGdjY3ZlcnNpb24iID0gIjMuMC4yIiAtbyAiJGdjY3ZlcnNpb24iID0gIjQuMC4xIjsgdGhlbgogICAgIGVjaG8gJ0dDQyBbMzRdLjAuWzEyXSBoYXMgYSBidWcgaW4gdGhlIG9wdGltaXplciwgZGlzYWJsaW5nICItTyMiJwogICAgIENGTEFHUz1gZWNobyAiJENGTEFHUyIgfCBzZWQgJ3MvLU9bMjM0NTY3ODldLy1PLydgCkBAIC05MTMzLDYgKzkxMzYsNzAgQEAKIAogZG9uZQogCisKKyAgaWYgdGVzdCAkYWNfY3ZfaGVhZGVyX1htX1hwbVBfaCA9IHllczsgdGhlbgorICAgICAgICBlY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yIFhwbUF0dHJpYnV0ZXNfMjEgaW4gWG0vWHBtUC5oIiA+JjUKK2VjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yIFhwbUF0dHJpYnV0ZXNfMjEgaW4gWG0vWHBtUC5oLi4uICRFQ0hPX0MiID4mNgorICAgIGNhdCA+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLyogY29uZmRlZnMuaC4gICovCitfQUNFT0YKK2NhdCBjb25mZGVmcy5oID4+Y29uZnRlc3QuJGFjX2V4dAorY2F0ID4+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLyogZW5kIGNvbmZkZWZzLmguICAqLworI2luY2x1ZGUgPFhtL1hwbVAuaD4KK2ludAorbWFpbiAoKQoreworWHBtQXR0cmlidXRlc18yMSBhdHRyOworICA7CisgIHJldHVybiAwOworfQorX0FDRU9GCitybSAtZiBjb25mdGVzdC4kYWNfb2JqZXh0CitpZiB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19jb21waWxlXCIiKSA+JjUKKyAgKGV2YWwgJGFjX2NvbXBpbGUpIDI+Y29uZnRlc3QuZXIxCisgIGFjX3N0YXR1cz0kPworICBncmVwIC12ICdeICorJyBjb25mdGVzdC5lcjEgPmNvbmZ0ZXN0LmVycgorICBybSAtZiBjb25mdGVzdC5lcjEKKyAgY2F0IGNvbmZ0ZXN0LmVyciA+JjUKKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICAoZXhpdCAkYWNfc3RhdHVzKTsgfSAmJgorCSB7IGFjX3RyeT0ndGVzdCAteiAiJGFjX2Nfd2Vycm9yX2ZsYWciCisJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycicKKyAgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfdHJ5XCIiKSA+JjUKKyAgKGV2YWwgJGFjX3RyeSkgMj4mNQorICBhY19zdGF0dXM9JD8KKyAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICAoZXhpdCAkYWNfc3RhdHVzKTsgfTsgfSAmJgorCSB7IGFjX3RyeT0ndGVzdCAtcyBjb25mdGVzdC4kYWNfb2JqZXh0JworICB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY190cnlcIiIpID4mNQorICAoZXZhbCAkYWNfdHJ5KSAyPiY1CisgIGFjX3N0YXR1cz0kPworICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgIChleGl0ICRhY19zdGF0dXMpOyB9OyB9OyB0aGVuCisgIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6IHllcyIgPiY1CitlY2hvICIke0VDSE9fVH15ZXMiID4mNjsgY2F0ID4+Y29uZmRlZnMuaCA8PFxfQUNFT0YKKyNkZWZpbmUgWFBNQVRUUklCVVRFU19UWVBFIFhwbUF0dHJpYnV0ZXNfMjEKK19BQ0VPRgorCitlbHNlCisgIGVjaG8gIiRhc19tZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1CitzZWQgJ3MvXi98IC8nIGNvbmZ0ZXN0LiRhY19leHQgPiY1CisKK2VjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6IG5vIiA+JjUKK2VjaG8gIiR7RUNIT19UfW5vIiA+JjY7IGNhdCA+PmNvbmZkZWZzLmggPDxcX0FDRU9GCisjZGVmaW5lIFhQTUFUVFJJQlVURVNfVFlQRSBYcG1BdHRyaWJ1dGVzCitfQUNFT0YKKworCitmaQorcm0gLWYgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuJGFjX2V4dAorICBlbHNlCisgICAgY2F0ID4+Y29uZmRlZnMuaCA8PFxfQUNFT0YKKyNkZWZpbmUgWFBNQVRUUklCVVRFU19UWVBFIFhwbUF0dHJpYnV0ZXNfMjEKK19BQ0VPRgorCisgIGZpCiAgIENQUEZMQUdTPSRjcHBmbGFnc19zYXZlCiBmaQogCmRpZmYgLS1naXQgYS9zcmMvYnVmZmVyLmMgYi9zcmMvYnVmZmVyLmMKaW5kZXggYTI2ODA2NS4uMTVhYmFiNSAxMDA2NDQKLS0tIGEvc3JjL2J1ZmZlci5jCisrKyBiL3NyYy9idWZmZXIuYwpAQCAtMTgxNCw2ICsxODE0LDEwIEBACiAJdGV4dF9sb2NrZWRfbXNnKCk7CiAJcmV0dXJuIEZBSUw7CiAgICAgfQorI2lmZGVmIEZFQVRfQVVUT0NNRAorICAgIGlmIChjdXJidWZfbG9ja2VkKCkpCisJcmV0dXJuIEZBSUw7CisjZW5kaWYKIAogICAgIC8qIGFsdGZwb3MgbWF5IGJlIGNoYW5nZWQgYnkgZ2V0ZmlsZSgpLCBnZXQgaXQgbm93ICovCiAgICAgaWYgKGxudW0gPT0gMCkKQEAgLTMzMTYsNiArMzMyMCwxMiBAQAogCiAgICAgaWYgKGZpbGxjaGFyID09IDApCiAJZmlsbGNoYXIgPSAnICc7CisjaWZkZWYgRkVBVF9NQllURQorICAgIC8qIENhbid0IGhhbmRsZSBhIG11bHRpLWJ5dGUgZmlsbCBjaGFyYWN0ZXIgeWV0LiAqLworICAgIGVsc2UgaWYgKG1iX2NoYXIybGVuKGZpbGxjaGFyKSA+IDEpCisJZmlsbGNoYXIgPSAnLSc7CisjZW5kaWYKKwogICAgIC8qCiAgICAgICogR2V0IGxpbmUgJiBjaGVjayBpZiBlbXB0eSAoY3Vyc29ycG9zIHdpbGwgc2hvdyAiMC0xIikuCiAgICAgICogSWYgaW52ZXJzaW9uIGlzIHBvc3NpYmxlIHdlIHVzZSBpdC4gRWxzZSAnPScgY2hhcmFjdGVycyBhcmUgdXNlZC4KQEAgLTQzNjcsNiArNDM3NywxNCBAQAogICAgICsrYXV0b2NtZF9ub19sZWF2ZTsKICNlbmRpZgogICAgIHdpbl9lbnRlcihsYXN0d2luLCBGQUxTRSk7CisjaWZkZWYgRkVBVF9XSU5ET1dTCisgICAgLyogIjpkcm9wIGFsbCIgc2hvdWxkIHJlLXVzZSBhbiBlbXB0eSB3aW5kb3cgdG8gYXZvaWQgIi0tcmVtb3RlLXRhYiIKKyAgICAgKiBsZWF2aW5nIGFuIGVtcHR5IHRhYiBwYWdlIHdoZW4gZXhlY3V0ZWQgbG9jYWxseS4gKi8KKyAgICBpZiAoa2VlcF90YWJzICYmIGJ1ZmVtcHR5KCkgJiYgY3VyYnVmLT5iX253aW5kb3dzID09IDEKKwkJCSAgICAmJiBjdXJidWYtPmJfZmZuYW1lID09IE5VTEwgJiYgIWN1cmJ1Zi0+Yl9jaGFuZ2VkKQorCXVzZV9maXJzdHdpbiA9IFRSVUU7CisjZW5kaWYKKwogICAgIGZvciAoaSA9IDA7IGkgPCBjb3VudCAmJiBpIDwgYWxpc3QtPmFsX2dhLmdhX2xlbiAmJiAhZ290X2ludDsgKytpKQogICAgIHsKIAlpZiAoYWxpc3QgPT0gJmdsb2JhbF9hbGlzdCAmJiBpID09IGdsb2JhbF9hbGlzdC5hbF9nYS5nYV9sZW4gLSAxKQpkaWZmIC0tZ2l0IGEvc3JjL2NvbmZpZy5oLmluIGIvc3JjL2NvbmZpZy5oLmluCmluZGV4IDVhZGJjYjkuLjhlMDg2M2EgMTAwNjQ0Ci0tLSBhL3NyYy9jb25maWcuaC5pbgorKysgYi9zcmMvY29uZmlnLmguaW4KQEAgLTI0Myw2ICsyNDMsOSBAQAogI3VuZGVmIEhBVkVfWDExX1hNVV9FRElUUkVTX0gKICN1bmRlZiBIQVZFX1gxMV9TTV9TTUxJQl9ICiAKKy8qIERlZmluZSB0byB0aGUgdHlwZSBvZiB0aGUgWHBtQXR0cmlidXRlcyB0eXBlLiAqLworI3VuZGVmIFhQTUFUVFJJQlVURVNfVFlQRQorCiAvKiBEZWZpbmUgaWYgeW91IGhhdmUgPHN5cy93YWl0Lmg+IHRoYXQgaXMgUE9TSVguMSBjb21wYXRpYmxlLiAgKi8KICN1bmRlZiBIQVZFX1NZU19XQUlUX0gKIApkaWZmIC0tZ2l0IGEvc3JjL2NvbmZpZ3VyZS5pbiBiL3NyYy9jb25maWd1cmUuaW4KaW5kZXggYWVkZDczYS4uM2I4NjdlNSAxMDA2NDQKLS0tIGEvc3JjL2NvbmZpZ3VyZS5pbgorKysgYi9zcmMvY29uZmlndXJlLmluCkBAIC0yOSw3ICsyOSwxMiBAQAogICB0ZXN0ICIkR0NDIiA9IHllcyAmJiBDRkxBR1M9Ii1PMiAtZm5vLXN0cmVuZ3RoLXJlZHVjZSAtV2FsbCIKIGZpCiBpZiB0ZXN0ICIkR0NDIiA9IHllczsgdGhlbgotICBnY2N2ZXJzaW9uPWAiJENDIiAtLXZlcnNpb24gfCBzZWQgLWUgJzIsJGQnIC1lICdzL2Rhcndpbi4vLycgLWUgJ3MvXltbXjAtOV1dKlwoW1swLTldXVwuW1swLTkuXV0qXCkuKiQvXDEvZydgCisgIGRubCBtZXRob2QgdGhhdCBzaG91bGQgd29yayBmb3IgbmVhcmx5IGFsbCB2ZXJzaW9ucworICBnY2N2ZXJzaW9uPWAiJENDIiAtZHVtcHZlcnNpb25gCisgIGlmIHRlc3QgIngkZ2NjdmVyc2lvbiIgPSAieCI7IHRoZW4KKyAgICBkbmwgb2xkIG1ldGhvZDsgZmFsbC1iYWNrIGZvciB3aGVuIC1kdW1wdmVyc2lvbiBkb2Vzbid0IHdvcmsKKyAgICBnY2N2ZXJzaW9uPWAiJENDIiAtLXZlcnNpb24gfCBzZWQgLWUgJzIsJGQnIC1lICdzL2Rhcndpbi4vLycgLWUgJ3MvXltbXjAtOV1dKlwoW1swLTldXVwuW1swLTkuXV0qXCkuKiQvXDEvZydgCisgIGZpCiAgIGRubCB2ZXJzaW9uIDQuMC4xIHdhcyByZXBvcnRlZCB0byBjYXVzZSB0cm91YmxlIG9uIE1hY2ludG9zaCBieSBNYXJjaW4gRGFsZWNraQogICBpZiB0ZXN0ICIkZ2NjdmVyc2lvbiIgPSAiMy4wLjEiIC1vICIkZ2NjdmVyc2lvbiIgPSAiMy4wLjIiIC1vICIkZ2NjdmVyc2lvbiIgPSAiNC4wLjEiOyB0aGVuCiAgICAgZWNobyAnR0NDIFtbMzRdXS4wLltbMTJdXSBoYXMgYSBidWcgaW4gdGhlIG9wdGltaXplciwgZGlzYWJsaW5nICItTyMiJwpAQCAtMTg5Nyw2ICsxOTAyLDE3IEBACiAgIENQUEZMQUdTPSIkQ1BQRkxBR1MgJFhfQ0ZMQUdTIgogICBBQ19DSEVDS19IRUFERVJTKFhtL1htLmggWG0vWHBtUC5oIFhtL0pvaW5TaWRlVC5oIFhtL1RyYWl0UC5oIFhtL01hbmFnZXIuaCBcCiAJCSAgIFhtL1VuaGlnaGxpZ2h0VC5oKQorCisgIGlmIHRlc3QgJGFjX2N2X2hlYWRlcl9YbV9YcG1QX2ggPSB5ZXM7IHRoZW4KKyAgICBkbmwgU29sYXJpcyB1c2VzIFhwbUF0dHJpYnV0ZXNfMjEsIHZlcnkgYW5ub3lpbmcuCisgICAgQUNfTVNHX0NIRUNLSU5HKFtmb3IgWHBtQXR0cmlidXRlc18yMSBpbiBYbS9YcG1QLmhdKQorICAgIEFDX1RSWV9DT01QSUxFKFsjaW5jbHVkZSA8WG0vWHBtUC5oPl0sIFtYcG1BdHRyaWJ1dGVzXzIxIGF0dHI7XSwKKwlBQ19NU0dfUkVTVUxUKHllcyk7IEFDX0RFRklORShYUE1BVFRSSUJVVEVTX1RZUEUsIFhwbUF0dHJpYnV0ZXNfMjEpLAorCUFDX01TR19SRVNVTFQobm8pOyBBQ19ERUZJTkUoWFBNQVRUUklCVVRFU19UWVBFLCBYcG1BdHRyaWJ1dGVzKQorCSkKKyAgZWxzZQorICAgIEFDX0RFRklORShYUE1BVFRSSUJVVEVTX1RZUEUsIFhwbUF0dHJpYnV0ZXNfMjEpCisgIGZpCiAgIENQUEZMQUdTPSRjcHBmbGFnc19zYXZlCiBmaQogCmRpZmYgLS1naXQgYS9zcmMvZGlmZi5jIGIvc3JjL2RpZmYuYwppbmRleCAzOTI3MzM4Li5mMDJhYTVlIDEwMDY0NAotLS0gYS9zcmMvZGlmZi5jCisrKyBiL3NyYy9kaWZmLmMKQEAgLTEwMDAsNyArMTAwMCw4IEBACiAKICNpZmRlZiBGRUFUX0FVVE9DTUQKIAkJLyogRG8gZmlsZXR5cGUgZGV0ZWN0aW9uIHdpdGggdGhlIG5ldyBuYW1lLiAqLwotCQlkb19jbWRsaW5lX2NtZCgoY2hhcl91ICopIjpkb2F1IGZpbGV0eXBlZGV0ZWN0IEJ1ZlJlYWQiKTsKKwkJaWYgKGF1X2hhc19ncm91cCgoY2hhcl91ICopImZpbGV0eXBlZGV0ZWN0IikpCisJCSAgICBkb19jbWRsaW5lX2NtZCgoY2hhcl91ICopIjpkb2F1IGZpbGV0eXBlZGV0ZWN0IEJ1ZlJlYWQiKTsKICNlbmRpZgogCSAgICB9CiAJfQpAQCAtMjA1Niw2ICsyMDU3LDE5IEBACiAJYXVjbWRfcHJlcGJ1ZigmYWNvLCBjdXJ0YWItPnRwX2RpZmZidWZbaWR4X290aGVyXSk7CiAgICAgfQogCisgICAgLyogTWF5IGdpdmUgdGhlIHdhcm5pbmcgZm9yIGEgY2hhbmdlZCBidWZmZXIgaGVyZSwgd2hpY2ggY2FuIHRyaWdnZXIgdGhlCisgICAgICogRmlsZUNoYW5nZWRSTyBhdXRvY29tbWFuZCwgd2hpY2ggbWF5IGRvIG5hc3R5IHRoaW5ncyBhbmQgbWVzcworICAgICAqIGV2ZXJ5dGhpbmcgdXAuICovCisgICAgaWYgKCFjdXJidWYtPmJfY2hhbmdlZCkKKyAgICB7CisJY2hhbmdlX3dhcm5pbmcoMCk7CisJaWYgKGRpZmZfYnVmX2lkeChjdXJidWYpICE9IGlkeF90bykKKwl7CisJICAgIEVNU0coXygiRTc4NzogQnVmZmVyIGNoYW5nZWQgdW5leHBlY3RlZGx5IikpOworCSAgICByZXR1cm47CisJfQorICAgIH0KKwogICAgIGRwcmV2ID0gTlVMTDsKICAgICBmb3IgKGRwID0gY3VydGFiLT50cF9maXJzdF9kaWZmOyBkcCAhPSBOVUxMOyApCiAgICAgewpAQCAtMjEzMSw3ICsyMTQ1LDggQEAKIAkJbnIgPSBkcC0+ZGZfbG51bVtpZHhfZnJvbV0gKyBzdGFydF9za2lwICsgaTsKIAkJaWYgKG5yID4gY3VydGFiLT50cF9kaWZmYnVmW2lkeF9mcm9tXS0+Yl9tbC5tbF9saW5lX2NvdW50KQogCQkgICAgYnJlYWs7Ci0JCXAgPSB2aW1fc3Ryc2F2ZShtbF9nZXRfYnVmKGN1cnRhYi0+dHBfZGlmZmJ1ZltpZHhfZnJvbV0sIG5yLCBGQUxTRSkpOworCQlwID0gdmltX3N0cnNhdmUobWxfZ2V0X2J1ZihjdXJ0YWItPnRwX2RpZmZidWZbaWR4X2Zyb21dLAorCQkJCQkJCQkgIG5yLCBGQUxTRSkpOwogCQlpZiAocCAhPSBOVUxMKQogCQl7CiAJCSAgICBtbF9hcHBlbmQobG51bSArIGkgLSAxLCBwLCAwLCBGQUxTRSk7CkBAIC0yMTU0LDcgKzIxNjksOCBAQAogCQkvKiBDaGVjayBpZiB0aGVyZSBhcmUgYW55IG90aGVyIGJ1ZmZlcnMgYW5kIGlmIHRoZSBkaWZmIGlzCiAJCSAqIGVxdWFsIGluIHRoZW0uICovCiAJCWZvciAoaSA9IDA7IGkgPCBEQl9DT1VOVDsgKytpKQotCQkgICAgaWYgKGN1cnRhYi0+dHBfZGlmZmJ1ZltpXSAhPSBOVUxMICYmIGkgIT0gaWR4X2Zyb20gJiYgaSAhPSBpZHhfdG8KKwkJICAgIGlmIChjdXJ0YWItPnRwX2RpZmZidWZbaV0gIT0gTlVMTCAmJiBpICE9IGlkeF9mcm9tCisJCQkJCQkJCSYmIGkgIT0gaWR4X3RvCiAJCQkgICAgJiYgIWRpZmZfZXF1YWxfZW50cnkoZHAsIGlkeF9mcm9tLCBpKSkKIAkJCWJyZWFrOwogCQlpZiAoaSA9PSBEQl9DT1VOVCkKZGlmZiAtLWdpdCBhL3NyYy9kb2MtdHh0LmljbnMgYi9zcmMvZG9jLXR4dC5pY25zCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNjZiMGNlLi4wMDAwMDAwCi0tLSBhL3NyYy9kb2MtdHh0LmljbnMKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9zcmMvZWRpdC5jIGIvc3JjL2VkaXQuYwppbmRleCBkYTE1MDEwLi5lNzBhMjM1IDEwMDY0NAotLS0gYS9zcmMvZWRpdC5jCisrKyBiL3NyYy9lZGl0LmMKQEAgLTQwLDcgKzQwLDcgQEAKIHN0YXRpYyBjaGFyICpjdHJsX3hfbXNnc1tdID0KIHsKICAgICBOXygiIEtleXdvcmQgY29tcGxldGlvbiAoXk5eUCkiKSwgLyogY3RybF94X21vZGUgPT0gMCwgXlAvXk4gY29tcGwuICovCi0gICAgTl8oIiBeWCBtb2RlICheXV5EXkVeRl5JXkteTF5OXk9eUF5TXlVeVl5ZKSIpLAorICAgIE5fKCIgXlggbW9kZSAoXl1eRF5FXkZeSV5LXkxeTl5PXlBzXlVeVl5ZKSIpLAogICAgIE5VTEwsCiAgICAgTl8oIiBXaG9sZSBsaW5lIGNvbXBsZXRpb24gKF5MXk5eUCkiKSwKICAgICBOXygiIEZpbGUgbmFtZSBjb21wbGV0aW9uICheRl5OXlApIiksCkBAIC01Myw3ICs1Myw3IEBACiAgICAgTl8oIiBDb21tYW5kLWxpbmUgY29tcGxldGlvbiAoXlZeTl5QKSIpLAogICAgIE5fKCIgVXNlciBkZWZpbmVkIGNvbXBsZXRpb24gKF5VXk5eUCkiKSwKICAgICBOXygiIE9tbmkgY29tcGxldGlvbiAoXk9eTl5QKSIpLAotICAgIE5fKCIgU3BlbGxpbmcgc3VnZ2VzdGlvbiAoXlNeTl5QKSIpLAorICAgIE5fKCIgU3BlbGxpbmcgc3VnZ2VzdGlvbiAoc15OXlApIiksCiAgICAgTl8oIiBLZXl3b3JkIExvY2FsIGNvbXBsZXRpb24gKF5OXlApIiksCiB9OwogCkBAIC0zMTM5LDcgKzMxMzksOSBAQAogCSAgICBjYXNlIEN0cmxfUzoKIAkJY3RybF94X21vZGUgPSBDVFJMX1hfU1BFTEw7CiAjaWZkZWYgRkVBVF9TUEVMTAorCQkrK2Vtc2dfb2ZmOwkvKiBBdm9pZCBnZXR0aW5nIHRoZSBFNzU2IGVycm9yIHR3aWNlLiAqLwogCQlzcGVsbF9iYWNrX3RvX2JhZHdvcmQoKTsKKwkJLS1lbXNnX29mZjsKICNlbmRpZgogCQlicmVhazsKIAkgICAgY2FzZSBDdHJsX1JTQjoKQEAgLTMyODYsNyArMzI4OCw3IEBACiAJCWlmIChjb21wbF9sZWFkZXIgIT0gTlVMTCkKIAkJICAgIGluc19ieXRlcyhjb21wbF9sZWFkZXIgKyBjdXJ3aW4tPndfY3Vyc29yLmNvbCAtIGNvbXBsX2NvbCk7CiAJCWVsc2UgaWYgKGNvbXBsX2ZpcnN0X21hdGNoICE9IE5VTEwpCi0JCSAgICBpbnNfYnl0ZXMoY29tcGxfZmlyc3RfbWF0Y2gtPmNwX3N0cgorCQkgICAgaW5zX2J5dGVzKGNvbXBsX29yaWdfdGV4dAogCQkJCQkgICsgY3Vyd2luLT53X2N1cnNvci5jb2wgLSBjb21wbF9jb2wpOwogCQlyZXR2YWwgPSBUUlVFOwogCSAgICB9CmRpZmYgLS1naXQgYS9zcmMvZXZhbC5jIGIvc3JjL2V2YWwuYwppbmRleCA0Njk3ZTk3Li4xYjc1MjAxIDEwMDY0NAotLS0gYS9zcmMvZXZhbC5jCisrKyBiL3NyYy9ldmFsLmMKQEAgLTM2OSw2ICszNjksOSBAQAogc3RhdGljIHZvaWQgbGlzdF9nbG9iX3ZhcnMgX19BUkdTKCh2b2lkKSk7CiBzdGF0aWMgdm9pZCBsaXN0X2J1Zl92YXJzIF9fQVJHUygodm9pZCkpOwogc3RhdGljIHZvaWQgbGlzdF93aW5fdmFycyBfX0FSR1MoKHZvaWQpKTsKKyNpZmRlZiBGRUFUX1dJTkRPV1MKK3N0YXRpYyB2b2lkIGxpc3RfdGFiX3ZhcnMgX19BUkdTKCh2b2lkKSk7CisjZW5kaWYKIHN0YXRpYyB2b2lkIGxpc3RfdmltX3ZhcnMgX19BUkdTKCh2b2lkKSk7CiBzdGF0aWMgdm9pZCBsaXN0X3NjcmlwdF92YXJzIF9fQVJHUygodm9pZCkpOwogc3RhdGljIHZvaWQgbGlzdF9mdW5jX3ZhcnMgX19BUkdTKCh2b2lkKSk7CkBAIC01NjcsNiArNTcwLDcgQEAKIHN0YXRpYyB2b2lkIGZfbWFwYXJnIF9fQVJHUygodHlwdmFsX1QgKmFyZ3ZhcnMsIHR5cHZhbF9UICpyZXR0dikpOwogc3RhdGljIHZvaWQgZl9tYXBjaGVjayBfX0FSR1MoKHR5cHZhbF9UICphcmd2YXJzLCB0eXB2YWxfVCAqcmV0dHYpKTsKIHN0YXRpYyB2b2lkIGZfbWF0Y2ggX19BUkdTKCh0eXB2YWxfVCAqYXJndmFycywgdHlwdmFsX1QgKnJldHR2KSk7CitzdGF0aWMgdm9pZCBmX21hdGNoYXJnIF9fQVJHUygodHlwdmFsX1QgKmFyZ3ZhcnMsIHR5cHZhbF9UICpyZXR0dikpOwogc3RhdGljIHZvaWQgZl9tYXRjaGVuZCBfX0FSR1MoKHR5cHZhbF9UICphcmd2YXJzLCB0eXB2YWxfVCAqcmV0dHYpKTsKIHN0YXRpYyB2b2lkIGZfbWF0Y2hsaXN0IF9fQVJHUygodHlwdmFsX1QgKmFyZ3ZhcnMsIHR5cHZhbF9UICpyZXR0dikpOwogc3RhdGljIHZvaWQgZl9tYXRjaHN0ciBfX0FSR1MoKHR5cHZhbF9UICphcmd2YXJzLCB0eXB2YWxfVCAqcmV0dHYpKTsKQEAgLTU3OCw2ICs1ODIsNyBAQAogc3RhdGljIHZvaWQgZl9tb2RlIF9fQVJHUygodHlwdmFsX1QgKmFyZ3ZhcnMsIHR5cHZhbF9UICpyZXR0dikpOwogc3RhdGljIHZvaWQgZl9uZXh0bm9uYmxhbmsgX19BUkdTKCh0eXB2YWxfVCAqYXJndmFycywgdHlwdmFsX1QgKnJldHR2KSk7CiBzdGF0aWMgdm9pZCBmX25yMmNoYXIgX19BUkdTKCh0eXB2YWxfVCAqYXJndmFycywgdHlwdmFsX1QgKnJldHR2KSk7CitzdGF0aWMgdm9pZCBmX3BhdGhzaG9ydGVuIF9fQVJHUygodHlwdmFsX1QgKmFyZ3ZhcnMsIHR5cHZhbF9UICpyZXR0dikpOwogc3RhdGljIHZvaWQgZl9wcmV2bm9uYmxhbmsgX19BUkdTKCh0eXB2YWxfVCAqYXJndmFycywgdHlwdmFsX1QgKnJldHR2KSk7CiBzdGF0aWMgdm9pZCBmX3ByaW50ZiBfX0FSR1MoKHR5cHZhbF9UICphcmd2YXJzLCB0eXB2YWxfVCAqcmV0dHYpKTsKIHN0YXRpYyB2b2lkIGZfcHVtdmlzaWJsZSBfX0FSR1MoKHR5cHZhbF9UICphcmd2YXJzLCB0eXB2YWxfVCAqcmV0dHYpKTsKQEAgLTE2ODUsNiArMTY5MCw5IEBACiAJICAgIGxpc3RfZ2xvYl92YXJzKCk7CiAJICAgIGxpc3RfYnVmX3ZhcnMoKTsKIAkgICAgbGlzdF93aW5fdmFycygpOworI2lmZGVmIEZFQVRfV0lORE9XUworCSAgICBsaXN0X3RhYl92YXJzKCk7CisjZW5kaWYKIAkgICAgbGlzdF9zY3JpcHRfdmFycygpOwogCSAgICBsaXN0X2Z1bmNfdmFycygpOwogCSAgICBsaXN0X3ZpbV92YXJzKCk7CkBAIC0xOTQ3LDYgKzE5NTUsMTcgQEAKICAgICBsaXN0X2hhc2h0YWJsZV92YXJzKCZjdXJ3aW4tPndfdmFycy5kdl9oYXNodGFiLCAoY2hhcl91ICopInc6IiwgVFJVRSk7CiB9CiAKKyNpZmRlZiBGRUFUX1dJTkRPV1MKKy8qCisgKiBMaXN0IHRhYiBwYWdlIHZhcmlhYmxlcy4KKyAqLworICAgIHN0YXRpYyB2b2lkCitsaXN0X3RhYl92YXJzKCkKK3sKKyAgICBsaXN0X2hhc2h0YWJsZV92YXJzKCZjdXJ0YWItPnRwX3ZhcnMuZHZfaGFzaHRhYiwgKGNoYXJfdSAqKSJ0OiIsIFRSVUUpOworfQorI2VuZGlmCisKIC8qCiAgKiBMaXN0IFZpbSB2YXJpYWJsZXMuCiAgKi8KQEAgLTIwNDMsNiArMjA2Miw5IEBACiAJCQkJY2FzZSAnZyc6IGxpc3RfZ2xvYl92YXJzKCk7IGJyZWFrOwogCQkJCWNhc2UgJ2InOiBsaXN0X2J1Zl92YXJzKCk7IGJyZWFrOwogCQkJCWNhc2UgJ3cnOiBsaXN0X3dpbl92YXJzKCk7IGJyZWFrOworI2lmZGVmIEZFQVRfV0lORE9XUworCQkJCWNhc2UgJ3QnOiBsaXN0X3RhYl92YXJzKCk7IGJyZWFrOworI2VuZGlmCiAJCQkJY2FzZSAndic6IGxpc3RfdmltX3ZhcnMoKTsgYnJlYWs7CiAJCQkJY2FzZSAncyc6IGxpc3Rfc2NyaXB0X3ZhcnMoKTsgYnJlYWs7CiAJCQkJY2FzZSAnbCc6IGxpc3RfZnVuY192YXJzKCk7IGJyZWFrOwpAQCAtMzU3NywxMiArMzU5OSwyMCBAQAogICAgIHN0YXRpYyBsb25nX3UJZ2RvbmU7CiAgICAgc3RhdGljIGxvbmdfdQliZG9uZTsKICAgICBzdGF0aWMgbG9uZ191CXdkb25lOworI2lmZGVmIEZFQVRfV0lORE9XUworICAgIHN0YXRpYyBsb25nX3UJdGRvbmU7CisjZW5kaWYKICAgICBzdGF0aWMgaW50CQl2aWR4OwogICAgIHN0YXRpYyBoYXNoaXRlbV9UCSpoaTsKICAgICBoYXNodGFiX1QJCSpodDsKIAogICAgIGlmIChpZHggPT0gMCkKKyAgICB7CiAJZ2RvbmUgPSBiZG9uZSA9IHdkb25lID0gdmlkeCA9IDA7CisjaWZkZWYgRkVBVF9XSU5ET1dTCisJdGRvbmUgPSAwOworI2VuZGlmCisgICAgfQogCiAgICAgLyogR2xvYmFsIHZhcmlhYmxlcyAqLwogICAgIGlmIChnZG9uZSA8IGdsb2J2YXJodC5odF91c2VkKQpAQCAtMzYyOSw2ICszNjU5LDIxIEBACiAJcmV0dXJuIGNhdF9wcmVmaXhfdmFybmFtZSgndycsIGhpLT5oaV9rZXkpOwogICAgIH0KIAorI2lmZGVmIEZFQVRfV0lORE9XUworICAgIC8qIHQ6IHZhcmlhYmxlcyAqLworICAgIGh0ID0gJmN1cnRhYi0+dHBfdmFycy5kdl9oYXNodGFiOworICAgIGlmICh0ZG9uZSA8IGh0LT5odF91c2VkKQorICAgIHsKKwlpZiAodGRvbmUrKyA9PSAwKQorCSAgICBoaSA9IGh0LT5odF9hcnJheTsKKwllbHNlCisJICAgICsraGk7CisJd2hpbGUgKEhBU0hJVEVNX0VNUFRZKGhpKSkKKwkgICAgKytoaTsKKwlyZXR1cm4gY2F0X3ByZWZpeF92YXJuYW1lKCd0JywgaGktPmhpX2tleSk7CisgICAgfQorI2VuZGlmCisKICAgICAvKiB2OiB2YXJpYWJsZXMgKi8KICAgICBpZiAodmlkeCA8IFZWX0xFTikKIAlyZXR1cm4gY2F0X3ByZWZpeF92YXJuYW1lKCd2JywgKGNoYXJfdSAqKXZpbXZhcnNbdmlkeCsrXS52dl9uYW1lKTsKQEAgLTU2OTcsNyArNTc0Miw5IEBACiAgICAgbGlzdF9hcHBlbmQobCwgbGkpOwogICAgIGxpLT5saV90di52X3R5cGUgPSBWQVJfU1RSSU5HOwogICAgIGxpLT5saV90di52X2xvY2sgPSAwOwotICAgIGlmICgobGktPmxpX3R2LnZ2YWwudl9zdHJpbmcgPSAobGVuID49IDAgPyB2aW1fc3RybnNhdmUoc3RyLCBsZW4pCisgICAgaWYgKHN0ciA9PSBOVUxMKQorCWxpLT5saV90di52dmFsLnZfc3RyaW5nID0gTlVMTDsKKyAgICBlbHNlIGlmICgobGktPmxpX3R2LnZ2YWwudl9zdHJpbmcgPSAobGVuID49IDAgPyB2aW1fc3RybnNhdmUoc3RyLCBsZW4pCiAJCQkJCQkgOiB2aW1fc3Ryc2F2ZShzdHIpKSkgPT0gTlVMTCkKIAlyZXR1cm4gRkFJTDsKICAgICByZXR1cm4gT0s7CkBAIC01OTk1LDYgKzYwNDIsOSBAQAogICAgIGludAkJaTsKICAgICBmdW5jY2FsbF9UCSpmYzsKICAgICBpbnQJCWRpZF9mcmVlID0gRkFMU0U7CisjaWZkZWYgRkVBVF9XSU5ET1dTCisgICAgdGFicGFnZV9UCSp0cDsKKyNlbmRpZgogCiAgICAgLyoKICAgICAgKiAxLiBHbyB0aHJvdWdoIGFsbCBhY2Nlc3NpYmxlIHZhcmlhYmxlcyBhbmQgbWFyayBhbGwgbGlzdHMgYW5kIGRpY3RzCkBAIC02MDA5LDkgKzYwNTksMTUgQEAKIAlzZXRfcmVmX2luX2h0KCZidWYtPmJfdmFycy5kdl9oYXNodGFiLCBjb3B5SUQpOwogCiAgICAgLyogd2luZG93LWxvY2FsIHZhcmlhYmxlcyAqLwotICAgIEZPUl9BTExfV0lORE9XUyh3cCkKKyAgICBGT1JfQUxMX1RBQl9XSU5ET1dTKHRwLCB3cCkKIAlzZXRfcmVmX2luX2h0KCZ3cC0+d192YXJzLmR2X2hhc2h0YWIsIGNvcHlJRCk7CiAKKyNpZmRlZiBGRUFUX1dJTkRPV1MKKyAgICAvKiB0YWJwYWdlLWxvY2FsIHZhcmlhYmxlcyAqLworICAgIGZvciAodHAgPSBmaXJzdF90YWJwYWdlOyB0cCAhPSBOVUxMOyB0cCA9IHRwLT50cF9uZXh0KQorCXNldF9yZWZfaW5faHQoJnRwLT50cF92YXJzLmR2X2hhc2h0YWIsIGNvcHlJRCk7CisjZW5kaWYKKwogICAgIC8qIGdsb2JhbCB2YXJpYWJsZXMgKi8KICAgICBzZXRfcmVmX2luX2h0KCZnbG9idmFyaHQsIGNvcHlJRCk7CiAKQEAgLTcwMjEsNiArNzA3Nyw3IEBACiAgICAgeyJtYXBhcmciLAkJMSwgMywgZl9tYXBhcmd9LAogICAgIHsibWFwY2hlY2siLAkxLCAzLCBmX21hcGNoZWNrfSwKICAgICB7Im1hdGNoIiwJCTIsIDQsIGZfbWF0Y2h9LAorICAgIHsibWF0Y2hhcmciLAkxLCAxLCBmX21hdGNoYXJnfSwKICAgICB7Im1hdGNoZW5kIiwJMiwgNCwgZl9tYXRjaGVuZH0sCiAgICAgeyJtYXRjaGxpc3QiLAkyLCA0LCBmX21hdGNobGlzdH0sCiAgICAgeyJtYXRjaHN0ciIsCTIsIDQsIGZfbWF0Y2hzdHJ9LApAQCAtNzAzMiw2ICs3MDg5LDcgQEAKICAgICB7Im1vZGUiLAkJMCwgMCwgZl9tb2RlfSwKICAgICB7Im5leHRub25ibGFuayIsCTEsIDEsIGZfbmV4dG5vbmJsYW5rfSwKICAgICB7Im5yMmNoYXIiLAkJMSwgMSwgZl9ucjJjaGFyfSwKKyAgICB7InBhdGhzaG9ydGVuIiwJMSwgMSwgZl9wYXRoc2hvcnRlbn0sCiAgICAgeyJwcmV2bm9uYmxhbmsiLAkxLCAxLCBmX3ByZXZub25ibGFua30sCiAgICAgeyJwcmludGYiLAkJMiwgMTksIGZfcHJpbnRmfSwKICAgICB7InB1bXZpc2libGUiLAkwLCAwLCBmX3B1bXZpc2libGV9LApAQCAtMTE0ODQsNyArMTE1NDIsNyBAQAogCQl9CiAJICAgIH0KIAkgICAgZWxzZSBpZiAobHYubGxfcmFuZ2UpCi0JCUVNU0coXygiRTc0NTogUmFuZ2Ugbm90IGFsbG93ZWQiKSk7CisJCUVNU0coXygiRTc4NjogUmFuZ2Ugbm90IGFsbG93ZWQiKSk7CiAJICAgIGVsc2UgaWYgKGx2LmxsX25ld2tleSAhPSBOVUxMKQogCQlFTVNHMihfKGVfZGljdGtleSksIGx2LmxsX25ld2tleSk7CiAJICAgIGVsc2UgaWYgKGx2LmxsX2xpc3QgIT0gTlVMTCkKQEAgLTEyMTIwLDYgKzEyMTc4LDMwIEBACiB9CiAKIC8qCisgKiAibWF0Y2hhcmcoKSIgZnVuY3Rpb24KKyAqLworICAgIHN0YXRpYyB2b2lkCitmX21hdGNoYXJnKGFyZ3ZhcnMsIHJldHR2KQorICAgIHR5cHZhbF9UCSphcmd2YXJzOworICAgIHR5cHZhbF9UCSpyZXR0djsKK3sKKyAgICBpZiAocmV0dHZfbGlzdF9hbGxvYyhyZXR0dikgPT0gT0spCisgICAgeworI2lmZGVmIEZFQVRfU0VBUkNIX0VYVFJBCisJaW50CW1pID0gZ2V0X3R2X251bWJlcigmYXJndmFyc1swXSk7CisKKwlpZiAobWkgPj0gMSAmJiBtaSA8PSAzKQorCXsKKwkgICAgbGlzdF9hcHBlbmRfc3RyaW5nKHJldHR2LT52dmFsLnZfbGlzdCwKKwkJCQkgc3luX2lkMm5hbWUoY3Vyd2luLT53X21hdGNoX2lkW21pIC0gMV0pLCAtMSk7CisJICAgIGxpc3RfYXBwZW5kX3N0cmluZyhyZXR0di0+dnZhbC52X2xpc3QsCisJCQkJCSAgICAgY3Vyd2luLT53X21hdGNoX3BhdFttaSAtIDFdLCAtMSk7CisJfQorI2VuZGlmCisgICAgfQorfQorCisvKgogICogIm1hdGNoZW5kKCkiIGZ1bmN0aW9uCiAgKi8KICAgICBzdGF0aWMgdm9pZApAQCAtMTIzOTIsNiArMTI0NzQsMjkgQEAKIH0KIAogLyoKKyAqICJwYXRoc2hvcnRlbigpIiBmdW5jdGlvbgorICovCisgICAgc3RhdGljIHZvaWQKK2ZfcGF0aHNob3J0ZW4oYXJndmFycywgcmV0dHYpCisgICAgdHlwdmFsX1QJKmFyZ3ZhcnM7CisgICAgdHlwdmFsX1QJKnJldHR2OworeworICAgIGNoYXJfdQkqcDsKKworICAgIHJldHR2LT52X3R5cGUgPSBWQVJfU1RSSU5HOworICAgIHAgPSBnZXRfdHZfc3RyaW5nX2NoaygmYXJndmFyc1swXSk7CisgICAgaWYgKHAgPT0gTlVMTCkKKwlyZXR0di0+dnZhbC52X3N0cmluZyA9IE5VTEw7CisgICAgZWxzZQorICAgIHsKKwlwID0gdmltX3N0cnNhdmUocCk7CisJcmV0dHYtPnZ2YWwudl9zdHJpbmcgPSBwOworCWlmIChwICE9IE5VTEwpCisJICAgIHNob3J0ZW5fZGlyKHApOworICAgIH0KK30KKworLyoKICAqICJwcmV2bm9uYmxhbmsoKSIgZnVuY3Rpb24KICAqLwogICAgIHN0YXRpYyB2b2lkCkBAIC0xNjY1OCw2ICsxNjc2MywxMCBAQAogCWxlbiA9IDg7CiAgICAgZWxzZQogCWxlbiA9IDA7CisKKyAgICBpZiAoZWFwLT5yZWFkX2VkaXQpCisJbGVuICs9IDc7CisKICAgICBpZiAoZWFwLT5mb3JjZV9mZiAhPSAwKQogCWxlbiArPSAodW5zaWduZWQpU1RSTEVOKGVhcC0+Y21kICsgZWFwLT5mb3JjZV9mZikgKyA2OwogIyBpZmRlZiBGRUFUX01CWVRFCkBAIC0xNjY3Nyw2ICsxNjc4NiwxMCBAQAogCXNwcmludGYoKGNoYXIgKiluZXd2YWwsICIgKytub2JpbiIpOwogICAgIGVsc2UKIAkqbmV3dmFsID0gTlVMOworCisgICAgaWYgKGVhcC0+cmVhZF9lZGl0KQorCVNUUkNBVChuZXd2YWwsICIgKytlZGl0Iik7CisKICAgICBpZiAoZWFwLT5mb3JjZV9mZiAhPSAwKQogCXNwcmludGYoKGNoYXIgKiluZXd2YWwgKyBTVFJMRU4obmV3dmFsKSwgIiArK2ZmPSVzIiwKIAkJCQkJCWVhcC0+Y21kICsgZWFwLT5mb3JjZV9mZik7CkBAIC0xNzE0NCw2ICsxNzI1Nyw5IEBACiAJICAgIGNhc2UgJ3YnOiByZXR1cm4gJnZpbXZhcnNfdmFyOwogCSAgICBjYXNlICdiJzogcmV0dXJuICZjdXJidWYtPmJfYnVmdmFyOwogCSAgICBjYXNlICd3JzogcmV0dXJuICZjdXJ3aW4tPndfd2ludmFyOworI2lmZGVmIEZFQVRfV0lORE9XUworCSAgICBjYXNlICd0JzogcmV0dXJuICZjdXJ0YWItPnRwX3dpbnZhcjsKKyNlbmRpZgogCSAgICBjYXNlICdsJzogcmV0dXJuIGN1cnJlbnRfZnVuY2NhbCA9PSBOVUxMCiAJCQkJCT8gTlVMTCA6ICZjdXJyZW50X2Z1bmNjYWwtPmxfdmFyc192YXI7CiAJICAgIGNhc2UgJ2EnOiByZXR1cm4gY3VycmVudF9mdW5jY2FsID09IE5VTEwKQEAgLTE3MjA3LDYgKzE3MzIzLDEwIEBACiAJcmV0dXJuICZjdXJidWYtPmJfdmFycy5kdl9oYXNodGFiOwogICAgIGlmICgqbmFtZSA9PSAndycpCQkJCS8qIHdpbmRvdyB2YXJpYWJsZSAqLwogCXJldHVybiAmY3Vyd2luLT53X3ZhcnMuZHZfaGFzaHRhYjsKKyNpZmRlZiBGRUFUX1dJTkRPV1MKKyAgICBpZiAoKm5hbWUgPT0gJ3QnKQkJCQkvKiB0YWIgcGFnZSB2YXJpYWJsZSAqLworCXJldHVybiAmY3VydGFiLT50cF92YXJzLmR2X2hhc2h0YWI7CisjZW5kaWYKICAgICBpZiAoKm5hbWUgPT0gJ3YnKQkJCQkvKiB2OiB2YXJpYWJsZSAqLwogCXJldHVybiAmdmltdmFyaHQ7CiAgICAgaWYgKCpuYW1lID09ICdhJyAmJiBjdXJyZW50X2Z1bmNjYWwgIT0gTlVMTCkgLyogZnVuY3Rpb24gYXJndW1lbnQgKi8KQEAgLTE4NTI4LDYgKzE4NjQ4LDkgQEAKIAkgICAgZnVkaS5mZF9kaS0+ZGlfdHYudl9sb2NrID0gMDsKIAkgICAgZnVkaS5mZF9kaS0+ZGlfdHYudnZhbC52X3N0cmluZyA9IHZpbV9zdHJzYXZlKG5hbWUpOwogCSAgICBmcC0+dWZfcmVmY291bnQgPSAxOworCisJICAgIC8qIGJlaGF2ZSBsaWtlICJkaWN0IiB3YXMgdXNlZCAqLworCSAgICBmbGFncyB8PSBGQ19ESUNUOwogCX0KIAogCS8qIGluc2VydCB0aGUgbmV3IGZ1bmN0aW9uIGluIHRoZSBmdW5jdGlvbiBsaXN0ICovCmRpZmYgLS1naXQgYS9zcmMvZXhfY21kcy5jIGIvc3JjL2V4X2NtZHMuYwppbmRleCA5ZTg5MzkyLi40ZTdjMTY5IDEwMDY0NAotLS0gYS9zcmMvZXhfY21kcy5jCisrKyBiL3NyYy9leF9jbWRzLmMKQEAgLTI2MDEsNyArMjYwMSw5IEBACiAJICAgIC8qIElmICdmaWxldHlwZScgd2FzIGVtcHR5IHRyeSBkZXRlY3RpbmcgaXQgbm93LiAqLwogCSAgICBpZiAoKmN1cmJ1Zi0+Yl9wX2Z0ID09IE5VTCkKIAkgICAgewotCQkodm9pZClkb19kb2F1dG9jbWQoKGNoYXJfdSAqKSJmaWxldHlwZWRldGVjdCBCdWZSZWFkIiwgVFJVRSk7CisJCWlmIChhdV9oYXNfZ3JvdXAoKGNoYXJfdSAqKSJmaWxldHlwZWRldGVjdCIpKQorCQkgICAgKHZvaWQpZG9fZG9hdXRvY21kKChjaGFyX3UgKikiZmlsZXR5cGVkZXRlY3QgQnVmUmVhZCIsCisJCQkJCQkJCQlUUlVFKTsKIAkJZG9fbW9kZWxpbmVzKDApOwogCSAgICB9CiAjZW5kaWYKQEAgLTI2MTAsNiArMjYxMiw5IEBACiAJcmV0dmFsID0gYnVmX3dyaXRlKGN1cmJ1ZiwgZmZuYW1lLCBmbmFtZSwgZWFwLT5saW5lMSwgZWFwLT5saW5lMiwKIAkJCQkgZWFwLCBlYXAtPmFwcGVuZCwgZWFwLT5mb3JjZWl0LCBUUlVFLCBGQUxTRSk7CiAKKwkvKiBBZnRlciAiOnNhdmVhcyBmbmFtZSIgcmVzZXQgJ3JlYWRvbmx5Jy4gKi8KKwlpZiAoZWFwLT5jbWRpZHggPT0gQ01EX3NhdmVhcyAmJiByZXR2YWwgPT0gT0spCisJICAgIGN1cmJ1Zi0+Yl9wX3JvID0gRkFMU0U7CiAgICAgfQogCiB0aGVlbmQ6CkBAIC0yNjk4LDcgKzI3MDMsNiBAQAogCSAgICB9CiAJICAgIHN3YXBuYW1lID0gbWFrZXN3YXBuYW1lKGZuYW1lLCBmZm5hbWUsIGN1cmJ1ZiwgZGlyKTsKIAkgICAgciA9IHZpbV9mZXhpc3RzKHN3YXBuYW1lKTsKLQkgICAgdmltX2ZyZWUoc3dhcG5hbWUpOwogCSAgICBpZiAocikKIAkgICAgewogI2lmIGRlZmluZWQoRkVBVF9HVUlfRElBTE9HKSB8fCBkZWZpbmVkKEZFQVRfQ09OX0RJQUxPRykKQEAgLTI3MTEsNyArMjcxNSwxMCBAQAogCQkJCQkJCQkgICAgc3dhcG5hbWUpOwogCQkgICAgaWYgKHZpbV9kaWFsb2dfeWVzbm8oVklNX1FVRVNUSU9OLCBOVUxMLCBidWZmLCAyKQogCQkJCQkJCQkgICAhPSBWSU1fWUVTKQorCQkgICAgeworCQkJdmltX2ZyZWUoc3dhcG5hbWUpOwogCQkJcmV0dXJuIEZBSUw7CisJCSAgICB9CiAJCSAgICBlYXAtPmZvcmNlaXQgPSBUUlVFOwogCQl9CiAJCWVsc2UKQEAgLTI3MTksOSArMjcyNiwxMSBAQAogCQl7CiAJCSAgICBFTVNHMihfKCJFNzY4OiBTd2FwIGZpbGUgZXhpc3RzOiAlcyAoOnNpbGVudCEgb3ZlcnJpZGVzKSIpLAogCQkJCQkJCQkgICAgc3dhcG5hbWUpOworCQkgICAgdmltX2ZyZWUoc3dhcG5hbWUpOwogCQkgICAgcmV0dXJuIEZBSUw7CiAJCX0KIAkgICAgfQorCSAgICB2aW1fZnJlZShzd2FwbmFtZSk7CiAJfQogICAgIH0KICAgICByZXR1cm4gT0s7CkBAIC0yODg1LDYgKzI4OTQsMTAgQEAKIAogICAgIGlmICh0ZXh0X2xvY2tlZCgpKQogCXJldHVybiAxOworI2lmZGVmIEZFQVRfQVVUT0NNRAorICAgIGlmIChjdXJidWZfbG9ja2VkKCkpCisJcmV0dXJuIDE7CisjZW5kaWYKIAogICAgIGlmIChmbnVtID09IDApCiAgICAgewpAQCAtNDYwOSw3ICs0NjIyLDcgQEAKIAkJCQkgICAgc3ViLCBzdWJfZmlyc3RsaW5lLCBGQUxTRSwgcF9tYWdpYywgVFJVRSk7CiAKIAkJLyogV2hlbiB0aGUgbWF0Y2ggaW5jbHVkZWQgdGhlICIkIiBvZiB0aGUgbGFzdCBsaW5lIGl0IG1heQotCQkgKiBpbmNsdWRlIG9uZSBsaW5lIHRvbyBtdWNoLiAqLworCQkgKiBnbyBiZXlvbmQgdGhlIGxhc3QgbGluZSBvZiB0aGUgYnVmZmVyLiAqLwogCQlpZiAobm1hdGNoID4gY3VyYnVmLT5iX21sLm1sX2xpbmVfY291bnQgLSBzdWJfZmlyc3RsbnVtICsgMSkKIAkJewogCQkgICAgbm1hdGNoID0gY3VyYnVmLT5iX21sLm1sX2xpbmVfY291bnQgLSBzdWJfZmlyc3RsbnVtICsgMTsKQEAgLTQ3MDEsNiArNDcxNCwxNSBAQAogCQkvKiBSZW1lbWJlciBuZXh0IGNoYXJhY3RlciB0byBiZSBjb3BpZWQuICovCiAJCWNvcHljb2wgPSByZWdtYXRjaC5lbmRwb3NbMF0uY29sOwogCisJCWlmIChza2lwX21hdGNoKQorCQl7CisJCSAgICAvKiBBbHJlYWR5IGhpdCBlbmQgb2YgdGhlIGJ1ZmZlciwgc3ViX2ZpcnN0bG51bSBpcyBvbmUKKwkJICAgICAqIGxlc3MgdGhhbiB3aGF0IGl0IG91Z2h0IHRvIGJlLiAqLworCQkgICAgdmltX2ZyZWUoc3ViX2ZpcnN0bGluZSk7CisJCSAgICBzdWJfZmlyc3RsaW5lID0gdmltX3N0cnNhdmUoKGNoYXJfdSAqKSIiKTsKKwkJICAgIGNvcHljb2wgPSAwOworCQl9CisKIAkJLyoKIAkJICogTm93IHRoZSB0cmljayBpcyB0byByZXBsYWNlIENUUkwtTSBjaGFycyB3aXRoIGEgcmVhbCBsaW5lCiAJCSAqIGJyZWFrLiAgVGhpcyB3b3VsZCBtYWtlIGl0IGltcG9zc2libGUgdG8gaW5zZXJ0IGEgQ1RSTC1NIGluCkBAIC01NDE4LDExICs1NDQwLDEzIEBACiAgICAgaWYgKHRhZyAhPSBOVUxMKQogCWRvX3RhZyh0YWcsIERUX0hFTFAsIDEsIEZBTFNFLCBUUlVFKTsKIAotICAgIC8qIERlbGV0ZSB0aGUgZW1wdHkgYnVmZmVyIGlmIHdlJ3JlIG5vdCB1c2luZyBpdC4gKi8KKyAgICAvKiBEZWxldGUgdGhlIGVtcHR5IGJ1ZmZlciBpZiB3ZSdyZSBub3QgdXNpbmcgaXQuICBDYXJlZnVsOiBhdXRvY29tbWFuZHMKKyAgICAgKiBtYXkgaGF2ZSBqdW1wZWQgdG8gYW5vdGhlciB3aW5kb3csIGNoZWNrIHRoYXQgdGhlIGJ1ZmZlciBpcyBub3QgaW4gYQorICAgICAqIHdpbmRvdy4gKi8KICAgICBpZiAoZW1wdHlfZm51bSAhPSAwICYmIGN1cmJ1Zi0+Yl9mbnVtICE9IGVtcHR5X2ZudW0pCiAgICAgewogCWJ1ZiA9IGJ1Zmxpc3RfZmluZG5yKGVtcHR5X2ZudW0pOwotCWlmIChidWYgIT0gTlVMTCkKKwlpZiAoYnVmICE9IE5VTEwgJiYgYnVmLT5iX253aW5kb3dzID09IDApCiAJICAgIHdpcGVfYnVmZmVyKGJ1ZiwgVFJVRSk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9zcmMvZXhfY21kcy5oIGIvc3JjL2V4X2NtZHMuaAppbmRleCA5M2EwOThjLi5iNmMwZTQxIDEwMDY0NAotLS0gYS9zcmMvZXhfY21kcy5oCisrKyBiL3NyYy9leF9jbWRzLmgKQEAgLTExNDIsNiArMTE0Miw3IEBACiAgICAgaW50CQlhbW91bnQ7CQkvKiBudW1iZXIgb2YgJz4nIG9yICc8JyBmb3Igc2hpZnQgY29tbWFuZCAqLwogICAgIGludAkJcmVnbmFtZTsJLyogcmVnaXN0ZXIgbmFtZSAoTlVMIGlmIG5vbmUpICovCiAgICAgaW50CQlmb3JjZV9iaW47CS8qIDAsIEZPUkNFX0JJTiBvciBGT1JDRV9OT0JJTiAqLworICAgIGludAkJcmVhZF9lZGl0OwkvKiArK2VkaXQgYXJndW1lbnQgKi8KICAgICBpbnQJCWZvcmNlX2ZmOwkvKiArK2ZmPSBhcmd1bWVudCAoaW5kZXggaW4gY21kW10pICovCiAjaWZkZWYgRkVBVF9NQllURQogICAgIGludAkJZm9yY2VfZW5jOwkvKiArK2VuYz0gYXJndW1lbnQgKGluZGV4IGluIGNtZFtdKSAqLwpkaWZmIC0tZ2l0IGEvc3JjL2V4X2NtZHMyLmMgYi9zcmMvZXhfY21kczIuYwppbmRleCBjZjZkMDBmLi5hYjYxNmJiIDEwMDY0NAotLS0gYS9zcmMvZXhfY21kczIuYworKysgYi9zcmMvZXhfY21kczIuYwpAQCAtMjIyMyw3ICsyMjIzLDcgQEAKICNlbmRpZgogCiAjaWYgZGVmaW5lZChGRUFUX0FVVE9DTUQpICYmIGRlZmluZWQoRkVBVF9TWU5fSEwpCi0gICAgaWYgKGVhcC0+Y21kaWR4ICE9IENNRF93aW5kbykKKyAgICBpZiAoZWFwLT5jbWRpZHggIT0gQ01EX3dpbmRvICYmIGVhcC0+Y21kaWR4ICE9IENNRF90YWJkbykKIAkvKiBEb24ndCBkbyBzeW50YXggSEwgYXV0b2NvbW1hbmRzLiAgU2tpcHBpbmcgdGhlIHN5bnRheCBmaWxlIGlzIGEKIAkgKiBncmVhdCBzcGVlZCBpbXByb3ZlbWVudC4gKi8KIAlzYXZlX2VpID0gYXVfZXZlbnRfZGlzYWJsZSgiLFN5bnRheCIpOwpAQCAtMjQ4Niw3ICsyNDg2LDcgQEAKICAgICBjaGFyX3UJKmZuYW1lOwogICAgIHZvaWQJKmNvb2tpZTsKIHsKLSAgICAodm9pZClkb19zb3VyY2UoZm5hbWUsIEZBTFNFLCBGQUxTRSk7CisgICAgKHZvaWQpZG9fc291cmNlKGZuYW1lLCBGQUxTRSwgRE9TT19OT05FKTsKIH0KIAogLyoKQEAgLTI2NjksNyArMjY2OSw3IEBACiAJCQkJCQkgKTsKIAogICAgIC8qICI6c291cmNlIiByZWFkIGV4IGNvbW1hbmRzICovCi0gICAgZWxzZSBpZiAoZG9fc291cmNlKGZuYW1lLCBGQUxTRSwgRkFMU0UpID09IEZBSUwpCisgICAgZWxzZSBpZiAoZG9fc291cmNlKGZuYW1lLCBGQUxTRSwgRE9TT19OT05FKSA9PSBGQUlMKQogCUVNU0cyKF8oZV9ub3RvcGVuKSwgZm5hbWUpOwogfQogCkBAIC0yNzY2LDcgKzI3NjYsNyBAQAogZG9fc291cmNlKGZuYW1lLCBjaGVja19vdGhlciwgaXNfdmltcmMpCiAgICAgY2hhcl91CSpmbmFtZTsKICAgICBpbnQJCWNoZWNrX290aGVyOwkgICAgLyogY2hlY2sgZm9yIC52aW1yYyBhbmQgX3ZpbXJjICovCi0gICAgaW50CQlpc192aW1yYzsJICAgIC8qIGNhbGwgdmltcmNfZm91bmQoKSB3aGVuIGZpbGUgZXhpc3RzICovCisgICAgaW50CQlpc192aW1yYzsJICAgIC8qIERPU09fIHZhbHVlICovCiB7CiAgICAgc3RydWN0IHNvdXJjZV9jb29raWUgICAgY29va2llOwogICAgIGNoYXJfdQkJICAgICpzYXZlX3NvdXJjaW5nX25hbWU7CkBAIC0yODczLDggKzI4NzMsMTAgQEAKIAkJCQkJCQlzb3VyY2luZ19sbnVtLCBmbmFtZSk7CiAJdmVyYm9zZV9sZWF2ZSgpOwogICAgIH0KLSAgICBpZiAoaXNfdmltcmMpCi0JdmltcmNfZm91bmQoKTsKKyAgICBpZiAoaXNfdmltcmMgPT0gRE9TT19WSU1SQykKKwl2aW1yY19mb3VuZChmbmFtZV9leHAsIChjaGFyX3UgKikiTVlWSU1SQyIpOworICAgIGVsc2UgaWYgKGlzX3ZpbXJjID09IERPU09fR1ZJTVJDKQorCXZpbXJjX2ZvdW5kKGZuYW1lX2V4cCwgKGNoYXJfdSAqKSJNWUdWSU1SQyIpOwogCiAjaWZkZWYgVVNFX0NSTkwKICAgICAvKiBJZiBubyBhdXRvbWF0aWMgZmlsZSBmb3JtYXQ6IFNldCBkZWZhdWx0IHRvIENSLU5MLiAqLwpkaWZmIC0tZ2l0IGEvc3JjL2V4X2RvY21kLmMgYi9zcmMvZXhfZG9jbWQuYwppbmRleCBjYmEzZGE1Li4wZTBiY2FlIDEwMDY0NAotLS0gYS9zcmMvZXhfZG9jbWQuYworKysgYi9zcmMvZXhfZG9jbWQuYwpAQCAtMjE3Niw2ICsyMTc2LDE0IEBACiAJCWVycm9ybXNnID0gKGNoYXJfdSAqKV8oZV9zZWN1cmUpOwogCSAgICBnb3RvIGRvZW5kOwogCX0KKyNpZmRlZiBGRUFUX0FVVE9DTUQKKwlpZiAoIShlYS5hcmd0ICYgQ01EV0lOKQorIyBpZmRlZiBGRUFUX1VTUl9DTURTCisJCSYmICFVU0VSX0NNRElEWChlYS5jbWRpZHgpCisjIGVuZGlmCisJCSYmIGN1cmJ1Zl9sb2NrZWQoKSkKKwkgICAgZ290byBkb2VuZDsKKyNlbmRpZgogCiAJaWYgKCFuaSAmJiAhKGVhLmFyZ3QgJiBSQU5HRSkgJiYgZWEuYWRkcl9jb3VudCA+IDApCiAJewpAQCAtNDU4Nyw2ICs0NTk1LDE0IEBACiAJcmV0dXJuIE9LOwogICAgIH0KIAorICAgIC8qICI6cmVhZCArK2VkaXQgZmlsZSIgKi8KKyAgICBpZiAoU1RSTkNNUChhcmcsICJlZGl0IiwgNCkgPT0gMCkKKyAgICB7CisJZWFwLT5yZWFkX2VkaXQgPSBUUlVFOworCWVhcC0+YXJnID0gc2tpcHdoaXRlKGFyZyArIDQpOworCXJldHVybiBPSzsKKyAgICB9CisKICAgICBpZiAoU1RSTkNNUChhcmcsICJmZiIsIDIpID09IDApCiAgICAgewogCWFyZyArPSAyOwpAQCAtNjA4Niw2ICs2MTAyLDEwIEBACiAJdGV4dF9sb2NrZWRfbXNnKCk7CiAJcmV0dXJuOwogICAgIH0KKyNpZmRlZiBGRUFUX0FVVE9DTUQKKyAgICBpZiAoY3VyYnVmX2xvY2tlZCgpKQorCXJldHVybjsKKyNlbmRpZgogCiAjaWZkZWYgRkVBVF9ORVRCRUFOU19JTlRHCiAgICAgbmV0YmVhbnNGb3JjZWRRdWl0ID0gZWFwLT5mb3JjZWl0OwpAQCAtNjE1NSw2ICs2MTc1LDEwIEBACiAJdGV4dF9sb2NrZWRfbXNnKCk7CiAJcmV0dXJuOwogICAgIH0KKyNpZmRlZiBGRUFUX0FVVE9DTUQKKyAgICBpZiAoY3VyYnVmX2xvY2tlZCgpKQorCXJldHVybjsKKyNlbmRpZgogCiAgICAgZXhpdGluZyA9IFRSVUU7CiAgICAgaWYgKGVhcC0+Zm9yY2VpdCB8fCAhY2hlY2tfY2hhbmdlZF9hbnkoRkFMU0UpKQpAQCAtNjE3NSw3ICs2MTk5LDExIEBACiAJY21kd2luX3Jlc3VsdCA9IEtfSUdOT1JFOwogICAgIGVsc2UKICMgZW5kaWYKLQlpZiAoIXRleHRfbG9ja2VkKCkpCisJaWYgKCF0ZXh0X2xvY2tlZCgpCisjaWZkZWYgRkVBVF9BVVRPQ01ECisJCSYmICFjdXJidWZfbG9ja2VkKCkKKyNlbmRpZgorCQkpCiAJICAgIGV4X3dpbl9jbG9zZShlYXAtPmZvcmNlaXQsIGN1cndpbiwgTlVMTCk7CiB9CiAKQEAgLTYyNzUsNyArNjMwMywxMSBAQAogCQkgICAgcmV0dXJuOwogCQl9CiAJICAgIH0KLQkgICAgaWYgKCF0ZXh0X2xvY2tlZCgpKQorCSAgICBpZiAoIXRleHRfbG9ja2VkKCkKKyNpZmRlZiBGRUFUX0FVVE9DTUQKKwkJICAgICYmICFjdXJidWZfbG9ja2VkKCkKKyNlbmRpZgorCSAgICAgICApCiAJCXRhYnBhZ2VfY2xvc2UoZWFwLT5mb3JjZWl0KTsKIAl9CiAKQEAgLTY0ODEsNiArNjUxMywxMCBAQAogCXRleHRfbG9ja2VkX21zZygpOwogCXJldHVybjsKICAgICB9CisjaWZkZWYgRkVBVF9BVVRPQ01ECisgICAgaWYgKGN1cmJ1Zl9sb2NrZWQoKSkKKwlyZXR1cm47CisjZW5kaWYKIAogICAgIC8qCiAgICAgICogaWYgbW9yZSBmaWxlcyBvciB3aW5kb3dzIHdlIHdvbid0IGV4aXQKQEAgLTY1OTYsNiArNjYzMiwxMCBAQAogICAgIC8qIFBvc3Rwb25lIHRoaXMgd2hpbGUgZWRpdGluZyB0aGUgY29tbWFuZCBsaW5lLiAqLwogICAgIGlmICh0ZXh0X2xvY2tlZCgpKQogCXJldHVybjsKKyNpZmRlZiBGRUFUX0FVVE9DTUQKKyAgICBpZiAoY3VyYnVmX2xvY2tlZCgpKQorCXJldHVybjsKKyNlbmRpZgogCiAgICAgLyogQ2hlY2sgd2hldGhlciB0aGUgY3VycmVudCBidWZmZXIgaXMgY2hhbmdlZC4gSWYgc28sIHdlIHdpbGwgbmVlZAogICAgICAqIHRvIHNwbGl0IHRoZSBjdXJyZW50IHdpbmRvdyBvciBkYXRhIGNvdWxkIGJlIGxvc3QuCkBAIC0xMDMwMCw3ICsxMDM0MCw3IEBACiAgICAgZm5hbWUgPSBnZXRfdmlld19maWxlKCplYXAtPmFyZyk7CiAgICAgaWYgKGZuYW1lICE9IE5VTEwpCiAgICAgewotCWRvX3NvdXJjZShmbmFtZSwgRkFMU0UsIEZBTFNFKTsKKwlkb19zb3VyY2UoZm5hbWUsIEZBTFNFLCBET1NPX05PTkUpOwogCXZpbV9mcmVlKGZuYW1lKTsKICAgICB9CiB9CkBAIC0xMDY1OCw2ICsxMDY5OCw4IEBACiAgICAgewogCXZpbV9mcmVlKGN1cndpbi0+d19tYXRjaFttaV0ucmVncHJvZyk7CiAJY3Vyd2luLT53X21hdGNoW21pXS5yZWdwcm9nID0gTlVMTDsKKwl2aW1fZnJlZShjdXJ3aW4tPndfbWF0Y2hfcGF0W21pXSk7CisJY3Vyd2luLT53X21hdGNoX3BhdFttaV0gPSBOVUxMOwogCXJlZHJhd19sYXRlcihTT01FX1ZBTElEKTsJLyogYWx3YXlzIG5lZWQgYSByZWRyYXcgKi8KICAgICB9CiAKQEAgLTEwNzAzLDEyICsxMDc0NSwxNCBAQAogCSAgICBjID0gKmVuZDsKIAkgICAgKmVuZCA9IE5VTDsKIAkgICAgY3Vyd2luLT53X21hdGNoW21pXS5yZWdwcm9nID0gdmltX3JlZ2NvbXAocCArIDEsIFJFX01BR0lDKTsKLQkgICAgKmVuZCA9IGM7CiAJICAgIGlmIChjdXJ3aW4tPndfbWF0Y2hbbWldLnJlZ3Byb2cgPT0gTlVMTCkKIAkgICAgewogCQlFTVNHMihfKGVfaW52YXJnMiksIHApOworCQkqZW5kID0gYzsKIAkJcmV0dXJuOwogCSAgICB9CisJICAgIGN1cndpbi0+d19tYXRjaF9wYXRbbWldID0gdmltX3N0cnNhdmUocCArIDEpOworCSAgICAqZW5kID0gYzsKIAl9CiAgICAgfQogICAgIGVhcC0+bmV4dGNtZCA9IGZpbmRfbmV4dGNtZChlbmQpOwpkaWZmIC0tZ2l0IGEvc3JjL2V4X2dldGxuLmMgYi9zcmMvZXhfZ2V0bG4uYwppbmRleCBlYzZlZTU2Li5lNGExYzk5IDEwMDY0NAotLS0gYS9zcmMvZXhfZ2V0bG4uYworKysgYi9zcmMvZXhfZ2V0bG4uYwpAQCAtMTk0Miw2ICsxOTQyLDIzIEBACiAJRU1TRyhfKGVfc2VjdXJlKSk7CiB9CiAKKyNpZiBkZWZpbmVkKEZFQVRfQVVUT0NNRCkgfHwgZGVmaW5lZChQUk9UTykKKy8qCisgKiBDaGVjayBpZiAiY3VyYnVmX2xvY2siIGlzIHNldCBhbmQgcmV0dXJuIFRSVUUgd2hlbiBpdCBpcyBhbmQgZ2l2ZSBhbiBlcnJvcgorICogbWVzc2FnZS4KKyAqLworICAgIGludAorY3VyYnVmX2xvY2tlZCgpCit7CisgICAgaWYgKGN1cmJ1Zl9sb2NrID4gMCkKKyAgICB7CisJRU1TRyhfKCJFNzg4OiBOb3QgYWxsb3dlZCB0byBlZGl0IGFub3RoZXIgYnVmZmVyIG5vdyIpKTsKKwlyZXR1cm4gVFJVRTsKKyAgICB9CisgICAgcmV0dXJuIEZBTFNFOworfQorI2VuZGlmCisKICAgICBzdGF0aWMgaW50CiBjbWRsaW5lX2NoYXJzaXplKGlkeCkKICAgICBpbnQJCWlkeDsKZGlmZiAtLWdpdCBhL3NyYy9mZWF0dXJlLmggYi9zcmMvZmVhdHVyZS5oCmluZGV4IGIwYTg3NzQuLjdkMmY2NjggMTAwNjQ0Ci0tLSBhL3NyYy9mZWF0dXJlLmgKKysrIGIvc3JjL2ZlYXR1cmUuaApAQCAtNzUzLDcgKzc1Myw3IEBACiAvKgogICogR1VJIHRhYmxpbmUKICAqLwotI2lmIGRlZmluZWQoRkVBVF9XSU5ET1dTKSAmJiAoZGVmaW5lZChGRUFUX0dVSV9HVEspIFwKKyNpZiBkZWZpbmVkKEZFQVRfV0lORE9XUykgJiYgKGRlZmluZWQoRkVBVF9HVUlfR1RLKSB8fCBkZWZpbmVkKEZFQVRfR1VJX01PVElGKVwKIAl8fCAoZGVmaW5lZChGRUFUX0dVSV9NU1dJTikgJiYgKCFkZWZpbmVkKF9NU0NfVkVSKSB8fCBfTVNDX1ZFUiA+IDEwMjApKSkKICMgZGVmaW5lIEZFQVRfR1VJX1RBQkxJTkUKICNlbmRpZgpkaWZmIC0tZ2l0IGEvc3JjL2ZpbGVpby5jIGIvc3JjL2ZpbGVpby5jCmluZGV4IGNmMTRjNTEuLjZkOTJjMDcgMTAwNjQ0Ci0tLSBhL3NyYy9maWxlaW8uYworKysgYi9zcmMvZmlsZWlvLmMKQEAgLTIxNyw2ICsyMTcsNyBAQAogewogICAgIGludAkJZmQgPSAwOwogICAgIGludAkJbmV3ZmlsZSA9IChmbGFncyAmIFJFQURfTkVXKTsKKyAgICBpbnQJCXNldF9vcHRpb25zID0gbmV3ZmlsZSB8fCAoZWFwICE9IE5VTEwgJiYgZWFwLT5yZWFkX2VkaXQpOwogICAgIGludAkJY2hlY2tfcmVhZG9ubHk7CiAgICAgaW50CQlmaWx0ZXJpbmcgPSAoZmxhZ3MgJiBSRUFEX0ZJTFRFUik7CiAgICAgaW50CQlyZWFkX3N0ZGluID0gKGZsYWdzICYgUkVBRF9TVERJTik7CkBAIC00MTYsNyArNDE3LDcgQEAKICNlbmRpZgogCiAgICAgLyogc2V0IGRlZmF1bHQgJ2ZpbGVmb3JtYXQnICovCi0gICAgaWYgKG5ld2ZpbGUpCisgICAgaWYgKHNldF9vcHRpb25zKQogICAgIHsKIAlpZiAoZWFwICE9IE5VTEwgJiYgZWFwLT5mb3JjZV9mZiAhPSAwKQogCSAgICBzZXRfZmlsZWZvcm1hdChnZXRfZmlsZWZvcm1hdF9mb3JjZShjdXJidWYsIGVhcCksIE9QVF9MT0NBTCk7CkBAIC02MjIsNyArNjIzLDcgQEAKICAgICBpZiAoKGNoZWNrX3JlYWRvbmx5ICYmIGZpbGVfcmVhZG9ubHkpIHx8IGN1cmJ1Zi0+Yl9oZWxwKQogCWN1cmJ1Zi0+Yl9wX3JvID0gVFJVRTsKIAotICAgIGlmIChuZXdmaWxlKQorICAgIGlmIChzZXRfb3B0aW9ucykKICAgICB7CiAJY3VyYnVmLT5iX3BfZW9sID0gVFJVRTsKIAljdXJidWYtPmJfc3RhcnRfZW9sID0gVFJVRTsKQEAgLTc2OSw3ICs3NzAsNyBAQAogICAgIGlmIChlYXAgIT0gTlVMTCAmJiBlYXAtPmJhZF9jaGFyICE9IDApCiAgICAgewogCWJhZF9jaGFyX2JlaGF2aW9yID0gZWFwLT5iYWRfY2hhcjsKLQlpZiAobmV3ZmlsZSkKKwlpZiAoc2V0X29wdGlvbnMpCiAJICAgIGN1cmJ1Zi0+Yl9iYWRfY2hhciA9IGVhcC0+YmFkX2NoYXI7CiAgICAgfQogICAgIGVsc2UKQEAgLTg4NCw3ICs4ODUsNyBAQAogCSAgICBtbF9kZWxldGUobG51bS0tLCBGQUxTRSk7CiAJZmlsZV9yZXdpbmQgPSBGQUxTRTsKICNpZmRlZiBGRUFUX01CWVRFCi0JaWYgKG5ld2ZpbGUpCisJaWYgKHNldF9vcHRpb25zKQogCSAgICBjdXJidWYtPmJfcF9ib21iID0gRkFMU0U7CiAJY29udl9lcnJvciA9IDA7CiAjZW5kaWYKQEAgLTEzMjYsNyArMTMyNyw3IEBACiAJCSAgICBmaWxlc2l6ZSArPSBibGVuOwogCQkgICAgc2l6ZSAtPSBibGVuOwogCQkgICAgbWNoX21lbW1vdmUocHRyLCBwdHIgKyBibGVuLCAoc2l6ZV90KXNpemUpOwotCQkgICAgaWYgKG5ld2ZpbGUpCisJCSAgICBpZiAoc2V0X29wdGlvbnMpCiAJCQljdXJidWYtPmJfcF9ib21iID0gVFJVRTsKIAkJfQogCkBAIC0xOTU1LDcgKzE5NTYsNyBAQAogCQkgICAgZmlsZWZvcm1hdCA9IGRlZmF1bHRfZmlsZWZvcm1hdCgpOwogCiAJCS8qIGlmIGVkaXRpbmcgYSBuZXcgZmlsZTogbWF5IHNldCBwX3R4IGFuZCBwX2ZmICovCi0JCWlmIChuZXdmaWxlKQorCQlpZiAoc2V0X29wdGlvbnMpCiAJCSAgICBzZXRfZmlsZWZvcm1hdChmaWxlZm9ybWF0LCBPUFRfTE9DQUwpOwogCSAgICB9CiAJfQpAQCAtMjAzNyw3ICsyMDM4LDcgQEAKIAkJCQkJfHwgbHNlZWsoZmQsIChvZmZfdCkwTCwgU0VFS19TRVQpID09IDApKQogCQkJCXsKIAkJCQkgICAgZmlsZWZvcm1hdCA9IEVPTF9VTklYOwotCQkJCSAgICBpZiAobmV3ZmlsZSkKKwkJCQkgICAgaWYgKHNldF9vcHRpb25zKQogCQkJCQlzZXRfZmlsZWZvcm1hdChFT0xfVU5JWCwgT1BUX0xPQ0FMKTsKIAkJCQkgICAgZmlsZV9yZXdpbmQgPSBUUlVFOwogCQkJCSAgICBrZWVwX2ZpbGVmb3JtYXQgPSBUUlVFOwpAQCAtMjA4Nyw3ICsyMDg4LDggQEAKIAkJJiYgKmxpbmVfc3RhcnQgPT0gQ3RybF9aCiAJCSYmIHB0ciA9PSBsaW5lX3N0YXJ0ICsgMSkpCiAgICAgewotCWlmIChuZXdmaWxlKQkJCS8qIHJlbWVtYmVyIGZvciB3aGVuIHdyaXRpbmcgKi8KKwkvKiByZW1lbWJlciBmb3Igd2hlbiB3cml0aW5nICovCisJaWYgKHNldF9vcHRpb25zKQogCSAgICBjdXJidWYtPmJfcF9lb2wgPSBGQUxTRTsKIAkqcHRyID0gTlVMOwogCWlmIChtbF9hcHBlbmQobG51bSwgbGluZV9zdGFydCwKQEAgLTIwOTcsNyArMjA5OSw3IEBACiAJICAgIHJlYWRfbm9fZW9sX2xudW0gPSArK2xudW07CiAgICAgfQogCi0gICAgaWYgKG5ld2ZpbGUpCisgICAgaWYgKHNldF9vcHRpb25zKQogCXNhdmVfZmlsZV9mZihjdXJidWYpOwkJLyogcmVtZW1iZXIgdGhlIGN1cnJlbnQgZmlsZSBmb3JtYXQgKi8KIAogI2lmZGVmIEZFQVRfQ1JZUFQKQEAgLTIxMDYsOCArMjEwOCw5IEBACiAjZW5kaWYKIAogI2lmZGVmIEZFQVRfTUJZVEUKLSAgICAvKiBJZiBlZGl0aW5nIGEgbmV3IGZpbGU6IHNldCAnZmVuYycgZm9yIHRoZSBjdXJyZW50IGJ1ZmZlci4gKi8KLSAgICBpZiAobmV3ZmlsZSkKKyAgICAvKiBJZiBlZGl0aW5nIGEgbmV3IGZpbGU6IHNldCAnZmVuYycgZm9yIHRoZSBjdXJyZW50IGJ1ZmZlci4KKyAgICAgKiBBbHNvIGZvciAiOnJlYWQgKytlZGl0IGZpbGUiLiAqLworICAgIGlmIChzZXRfb3B0aW9ucykKIAlzZXRfc3RyaW5nX29wdGlvbl9kaXJlY3QoKGNoYXJfdSAqKSJmZW5jIiwgLTEsIGZlbmMsCiAJCQkJCQkgICAgICAgT1BUX0ZSRUV8T1BUX0xPQ0FMLCAwKTsKICAgICBpZiAoZmVuY19hbGxvY2VkKQpAQCAtMjM5OCw3ICsyNDAxLDcgQEAKIAogCS8qIFNhdmUgdGhlIGZpbGVmb3JtYXQgbm93LCBvdGhlcndpc2UgdGhlIGJ1ZmZlciB3aWxsIGJlIGNvbnNpZGVyZWQKIAkgKiBtb2RpZmllZCBpZiB0aGUgZm9ybWF0L2VuY29kaW5nIHdhcyBhdXRvbWF0aWNhbGx5IGRldGVjdGVkLiAqLwotCWlmIChuZXdmaWxlKQorCWlmIChzZXRfb3B0aW9ucykKIAkgICAgc2F2ZV9maWxlX2ZmKGN1cmJ1Zik7CiAKIAkvKgpAQCAtMjQ4Miw2ICsyNDg1LDcgQEAKICAgICBlYXAtPmZvcmNlX2ZmID0gNzsKIAogICAgIGVhcC0+Zm9yY2VfYmluID0gYnVmLT5iX3BfYmluID8gRk9SQ0VfQklOIDogRk9SQ0VfTk9CSU47CisgICAgZWFwLT5yZWFkX2VkaXQgPSBGQUxTRTsKICAgICBlYXAtPmZvcmNlaXQgPSBGQUxTRTsKICAgICByZXR1cm4gT0s7CiB9CkBAIC0zNzA1LDcgKzM3MDksNyBAQAogICAgIH0KICNlbmRpZgogCi0gICAgLyogV2hlbiB1c2luZyAiOnchIiBhbmQgd3JpdGluZyB0byB0aGUgY3VycmVudCBmaWxlLCByZWFkb25seSBtYWtlcyBubworICAgIC8qIFdoZW4gdXNpbmcgIjp3ISIgYW5kIHdyaXRpbmcgdG8gdGhlIGN1cnJlbnQgZmlsZSwgJ3JlYWRvbmx5JyBtYWtlcyBubwogICAgICAqIHNlbnNlLCByZXNldCBpdCwgdW5sZXNzICdaJyBhcHBlYXJzIGluICdjcG9wdGlvbnMnLiAgKi8KICAgICBpZiAoZm9yY2VpdCAmJiBvdmVyd3JpdGluZyAmJiB2aW1fc3RyY2hyKHBfY3BvLCBDUE9fS0VFUFJPKSA9PSBOVUxMKQogICAgIHsKQEAgLTQ2NTMsNyArNDY1Nyw3IEBACiAgICAgLyogRG8gZmlsZXR5cGUgZGV0ZWN0aW9uIG5vdyBpZiAnZmlsZXR5cGUnIGlzIGVtcHR5LiAqLwogICAgIGlmICgqY3VyYnVmLT5iX3BfZnQgPT0gTlVMKQogICAgIHsKLQlpZiAoYXVfZmluZF9ncm91cCgoY2hhcl91ICopImZpbGV0eXBlZGV0ZWN0IikgIT0gQVVHUk9VUF9FUlJPUikKKwlpZiAoYXVfaGFzX2dyb3VwKChjaGFyX3UgKikiZmlsZXR5cGVkZXRlY3QiKSkKIAkgICAgKHZvaWQpZG9fZG9hdXRvY21kKChjaGFyX3UgKikiZmlsZXR5cGVkZXRlY3QgQnVmUmVhZCIsIEZBTFNFKTsKIAlkb19tb2RlbGluZXMoMCk7CiAgICAgfQpAQCAtNzMyMSw3ICs3MzI1LDYgQEAKICAgICByZXR1cm4gQVVHUk9VUF9FUlJPUjsKIH0KIAotI2lmIGRlZmluZWQoRkVBVF9CUk9XU0UpIHx8IGRlZmluZWQoUFJPVE8pCiAvKgogICogUmV0dXJuIFRSVUUgaWYgYXVncm91cCAibmFtZSIgZXhpc3RzLgogICovCkBAIC03MzMxLDcgKzczMzQsNiBAQAogewogICAgIHJldHVybiBhdV9maW5kX2dyb3VwKG5hbWUpICE9IEFVR1JPVVBfRVJST1I7CiB9Ci0jZW5kaWYKIAogLyoKICAqICI6YXVncm91cCB7bmFtZX0iLgpkaWZmIC0tZ2l0IGEvc3JjL2dldGNoYXIuYyBiL3NyYy9nZXRjaGFyLmMKaW5kZXggZTk0MWY5NC4uMDdjNTk1ZiAxMDA2NDQKLS0tIGEvc3JjL2dldGNoYXIuYworKysgYi9zcmMvZ2V0Y2hhci5jCkBAIC0xMDU4LDYgKzEwNTgsNyBAQAogICAgIHJldHVybiB0eXBlYnVmLnRiX21hcGxlbiA9PSAwOwogfQogCisjaWYgZGVmaW5lZChGRUFUX1ZJU1VBTCkgfHwgZGVmaW5lZChQUk9UTykKIC8qCiAgKiBSZXR1cm4gdGhlIG51bWJlciBvZiBjaGFyYWN0ZXJzIHRoYXQgYXJlIG1hcHBlZCAob3Igbm90IHR5cGVkKS4KICAqLwpAQCAtMTA2Niw2ICsxMDY3LDcgQEAKIHsKICAgICByZXR1cm4gdHlwZWJ1Zi50Yl9tYXBsZW47CiB9CisjZW5kaWYKIAogLyoKICAqIHJlbW92ZSAibGVuIiBjaGFyYWN0ZXJzIGZyb20gdHlwZWJ1Zi50Yl9idWZbdHlwZWJ1Zi50Yl9vZmYgKyBvZmZzZXRdCkBAIC00NzQzLDEwICs0NzQ1LDEyIEBACiAjaWYgZGVmaW5lZChNU0RPUykgfHwgZGVmaW5lZChNU1dJTikgfHwgZGVmaW5lZChPUzIpCiAJLyogVXNlIHRoZSBXaW5kb3dzIChDVUEpIGtleWJpbmRpbmdzLiAqLwogIyBpZmRlZiBGRUFUX0dVSQorIyAgaWYgMAkgICAgLyogVGhlc2UgYXJlIG5vdyB1c2VkIHRvIG1vdmUgdGFiIHBhZ2VzICovCiAJeyhjaGFyX3UgKikiPEMtUGFnZVVwPiBIIiwgTk9STUFMK1ZJU19TRUx9LAogCXsoY2hhcl91ICopIjxDLVBhZ2VVcD4gPEMtTz5IIixJTlNFUlR9LAogCXsoY2hhcl91ICopIjxDLVBhZ2VEb3duPiBMJCIsIE5PUk1BTCtWSVNfU0VMfSwKIAl7KGNoYXJfdSAqKSI8Qy1QYWdlRG93bj4gPEMtTz5MPEMtTz4kIiwgSU5TRVJUfSwKKyMgIGVuZGlmCiAKIAkvKiBwYXN0ZSwgY29weSBhbmQgY3V0ICovCiAJeyhjaGFyX3UgKikiPFMtSW5zZXJ0PiBcIipQIiwgTk9STUFMfSwKQEAgLTQ3NTgsMTAgKzQ3NjIsMTIgQEAKIAl7KGNoYXJfdSAqKSI8Qy1YPiBcIipkIiwgVklTX1NFTH0sCiAJLyogTWlzc2luZzogQ1RSTC1DIChjYW5jZWwpIGFuZCBDVFJMLVYgKGJsb2NrIHNlbGVjdGlvbikgKi8KICMgZWxzZQorIyAgaWYgMAkgICAgLyogVGhlc2UgYXJlIG5vdyB1c2VkIHRvIG1vdmUgdGFiIHBhZ2VzICovCiAJeyhjaGFyX3UgKikiXDMxNlwyMDQgSCIsIE5PUk1BTCtWSVNfU0VMfSwgICAgLyogQ1RSTC1QYWdlVXAgaXMgIkgiICovCiAJeyhjaGFyX3UgKikiXDMxNlwyMDQgXDAxN0giLElOU0VSVH0sCSAgICAvKiBDVFJMLVBhZ2VVcCBpcyAiXk9IIiovCiAJeyhjaGFyX3UgKikiXDMxNnYgTCQiLCBOT1JNQUwrVklTX1NFTH0sCSAgICAvKiBDVFJMLVBhZ2VEb3duIGlzICJMJCIgKi8KIAl7KGNoYXJfdSAqKSJcMzE2diBcMDE3TFwwMTckIiwgSU5TRVJUfSwJICAgIC8qIENUUkwtUGFnZURvd24gPSJeT0xeTyQiKi8KKyMgIGVuZGlmCiAJeyhjaGFyX3UgKikiXDMxNncgPEMtSG9tZT4iLCBOT1JNQUwrVklTX1NFTH0sCiAJeyhjaGFyX3UgKikiXDMxNncgPEMtSG9tZT4iLCBJTlNFUlQrQ01ETElORX0sCiAJeyhjaGFyX3UgKikiXDMxNnUgPEMtRW5kPiIsIE5PUk1BTCtWSVNfU0VMfSwKZGlmZiAtLWdpdCBhL3NyYy9nbG9iYWxzLmggYi9zcmMvZ2xvYmFscy5oCmluZGV4IDc2NTE5OWIuLjkyMDNmMmEgMTAwNjQ0Ci0tLSBhL3NyYy9nbG9iYWxzLmgKKysrIGIvc3JjL2dsb2JhbHMuaApAQCAtNTk1LDYgKzU5NSwxMSBAQAogCQkJCS8qIG5vbi16ZXJvIHdoZW4gY2hhbmdpbmcgdGV4dCBhbmQganVtcGluZyB0bwogCQkJCSAqIGFub3RoZXIgd2luZG93IG9yIGJ1ZmZlciBpcyBub3QgYWxsb3dlZCAqLwogCisjaWZkZWYgRkVBVF9BVVRPQ01ECitFWFRFUk4gaW50CWN1cmJ1Zl9sb2NrIElOSVQoPSAwKTsKKwkJCQkvKiBub24temVybyB3aGVuIHRoZSBjdXJyZW50IGJ1ZmZlciBjYW4ndCBiZQorCQkJCSAqIGNoYW5nZWQuICBVc2VkIGZvciBGaWxlQ2hhbmdlZFJPLiAqLworI2VuZGlmCiAjaWZkZWYgRkVBVF9FVkFMCiAjIGRlZmluZSBIQVZFX1NBTkRCT1gKIEVYVEVSTiBpbnQJc2FuZGJveCBJTklUKD0gMCk7CmRpZmYgLS1naXQgYS9zcmMvZ3VpLmMgYi9zcmMvZ3VpLmMKaW5kZXggMDNiMzhiMC4uNGM3Yzc3NSAxMDA2NDQKLS0tIGEvc3JjL2d1aS5jCisrKyBiL3NyYy9ndWkuYwpAQCAtMzM1LDcgKzMzNSw3IEBACiAJaWYgKHZpbV9zdHJjaHIocF9nbywgR09fTk9TWVNNRU5VKSA9PSBOVUxMKQogCXsKIAkgICAgc3lzX21lbnUgPSBUUlVFOwotCSAgICBkb19zb3VyY2UoKGNoYXJfdSAqKVNZU19NRU5VX0ZJTEUsIEZBTFNFLCBGQUxTRSk7CisJICAgIGRvX3NvdXJjZSgoY2hhcl91ICopU1lTX01FTlVfRklMRSwgRkFMU0UsIERPU09fTk9ORSk7CiAJICAgIHN5c19tZW51ID0gRkFMU0U7CiAJfQogI2VuZGlmCkBAIC0zNTYsNyArMzU2LDcgQEAKIAl7CiAJICAgIGlmIChTVFJDTVAodXNlX2d2aW1yYywgIk5PTkUiKSAhPSAwCiAJCSAgICAmJiBTVFJDTVAodXNlX2d2aW1yYywgIk5PUkMiKSAhPSAwCi0JCSAgICAmJiBkb19zb3VyY2UodXNlX2d2aW1yYywgRkFMU0UsIEZBTFNFKSAhPSBPSykKKwkJICAgICYmIGRvX3NvdXJjZSh1c2VfZ3ZpbXJjLCBGQUxTRSwgRE9TT19OT05FKSAhPSBPSykKIAkJRU1TRzIoXygiRTIzMDogQ2Fubm90IHJlYWQgZnJvbSBcIiVzXCIiKSwgdXNlX2d2aW1yYyk7CiAJfQogCWVsc2UKQEAgLTM2NSw3ICszNjUsNyBAQAogCSAgICAgKiBHZXQgc3lzdGVtIHdpZGUgZGVmYXVsdHMgZm9yIGd2aW0sIG9ubHkgd2hlbiBmaWxlIG5hbWUgZGVmaW5lZC4KIAkgICAgICovCiAjaWZkZWYgU1lTX0dWSU1SQ19GSUxFCi0JICAgIGRvX3NvdXJjZSgoY2hhcl91ICopU1lTX0dWSU1SQ19GSUxFLCBGQUxTRSwgRkFMU0UpOworCSAgICBkb19zb3VyY2UoKGNoYXJfdSAqKVNZU19HVklNUkNfRklMRSwgRkFMU0UsIERPU09fTk9ORSk7CiAjZW5kaWYKIAogCSAgICAvKgpAQCAtMzc4LDE0ICszNzgsMTYgQEAKIAkgICAgICogVGhlIGZpcnN0IHRoYXQgZXhpc3RzIGlzIHVzZWQsIHRoZSByZXN0IGlzIGlnbm9yZWQuCiAJICAgICAqLwogCSAgICBpZiAocHJvY2Vzc19lbnYoKGNoYXJfdSAqKSJHVklNSU5JVCIsIEZBTFNFKSA9PSBGQUlMCi0JCSAmJiBkb19zb3VyY2UoKGNoYXJfdSAqKVVTUl9HVklNUkNfRklMRSwgVFJVRSwgVFJVRSkgPT0gRkFJTAorCQkgJiYgZG9fc291cmNlKChjaGFyX3UgKilVU1JfR1ZJTVJDX0ZJTEUsIFRSVUUsCisJCQkJCQkJICBET1NPX0dWSU1SQykgPT0gRkFJTAogI2lmZGVmIFVTUl9HVklNUkNfRklMRTIKLQkJICYmIGRvX3NvdXJjZSgoY2hhcl91ICopVVNSX0dWSU1SQ19GSUxFMiwgVFJVRSwgVFJVRSkgPT0gRkFJTAorCQkgJiYgZG9fc291cmNlKChjaGFyX3UgKilVU1JfR1ZJTVJDX0ZJTEUyLCBUUlVFLAorCQkJCQkJCSAgRE9TT19HVklNUkMpID09IEZBSUwKICNlbmRpZgogCQkJCSkKIAkgICAgewogI2lmZGVmIFVTUl9HVklNUkNfRklMRTMKLQkJKHZvaWQpZG9fc291cmNlKChjaGFyX3UgKilVU1JfR1ZJTVJDX0ZJTEUzLCBUUlVFLCBUUlVFKTsKKwkJKHZvaWQpZG9fc291cmNlKChjaGFyX3UgKilVU1JfR1ZJTVJDX0ZJTEUzLCBUUlVFLCBET1NPX0dWSU1SQyk7CiAjZW5kaWYKIAkgICAgfQogCkBAIC00MjksNyArNDMxLDcgQEAKIAkJCQkgICAgIChjaGFyX3UgKilHVklNUkNfRklMRSwgRkFMU0UpICE9IEZQQ19TQU1FCiAjZW5kaWYKIAkJCSkKLQkJICAgIGRvX3NvdXJjZSgoY2hhcl91ICopR1ZJTVJDX0ZJTEUsIFRSVUUsIFRSVUUpOworCQkgICAgZG9fc291cmNlKChjaGFyX3UgKilHVklNUkNfRklMRSwgVFJVRSwgRE9TT19HVklNUkMpOwogCiAJCWlmIChzZWN1cmUgPT0gMikKIAkJICAgIG5lZWRfd2FpdF9yZXR1cm4gPSBUUlVFOwpAQCAtMTE0Miw3ICsxMTQ0LDggQEAKIAl0ZXh0X2FyZWFfeSA9IFRPT0xCQVJfQlVUVE9OX0hFSUdIVCArIFRPT0xCQVJfQk9SREVSX0hFSUdIVDsKICNlbmRpZgogCi0jaWYgZGVmaW5lZChGRUFUX0dVSV9UQUJMSU5FKSAmJiBkZWZpbmVkKEZFQVRfR1VJX01TV0lOKQorIyBpZiBkZWZpbmVkKEZFQVRfR1VJX1RBQkxJTkUpICYmIChkZWZpbmVkKEZFQVRfR1VJX01TV0lOKSBcCisJfHwgZGVmaW5lZChGRUFUX0dVSV9NT1RJRikpCiAgICAgaWYgKGd1aV9oYXNfdGFibGluZSgpKQogCXRleHRfYXJlYV95ICs9IFRBQkxJTkVfSEVJR0hUOwogI2VuZGlmCkBAIC0xMjI4LDkgKzEyMzEsMTAgQEAKIAliYXNlX2hlaWdodCArPSBndWkudG9vbGJhcl9oZWlnaHQ7CiAjICBlbmRpZgogIyBlbmRpZgotIyBpZiBkZWZpbmVkKEZFQVRfR1VJX1RBQkxJTkUpICYmIGRlZmluZWQoRkVBVF9HVUlfTVNXSU4pCisjIGlmIGRlZmluZWQoRkVBVF9HVUlfVEFCTElORSkgJiYgKGRlZmluZWQoRkVBVF9HVUlfTVNXSU4pIFwKKwl8fCBkZWZpbmVkKEZFQVRfR1VJX01PVElGKSkKICAgICBpZiAoZ3VpX2hhc190YWJsaW5lKCkpCi0gICAgCWJhc2VfaGVpZ2h0ICs9IFRBQkxJTkVfSEVJR0hUOworCWJhc2VfaGVpZ2h0ICs9IFRBQkxJTkVfSEVJR0hUOwogIyBlbmRpZgogIyBpZmRlZiBGRUFUX0ZPT1RFUgogICAgIGlmICh2aW1fc3RyY2hyKHBfZ28sIEdPX0ZPT1RFUikgIT0gTlVMTCkKQEAgLTM0NDgsOCArMzQ1Miw5IEBACiAgICAgfQogICAgIGVsc2UKICAgICB7Ci0JLyogR2V0IHRoZSBidWZmZXIgbmFtZSBpbnRvIE5hbWVCdWZmW10gKi8KKwkvKiBHZXQgdGhlIGJ1ZmZlciBuYW1lIGludG8gTmFtZUJ1ZmZbXSBhbmQgc2hvcnRlbiBpdC4gKi8KIAlnZXRfdHJhbnNfYnVmbmFtZSh0cCA9PSBjdXJ0YWIgPyBjdXJidWYgOiB0cC0+dHBfY3Vyd2luLT53X2J1ZmZlcik7CisJc2hvcnRlbl9kaXIoTmFtZUJ1ZmYpOwogCiAJd3AgPSAodHAgPT0gY3VydGFiKSA/IGZpcnN0d2luIDogdHAtPnRwX2ZpcnN0d2luOwogCWZvciAod2luY291bnQgPSAwOyB3cCAhPSBOVUxMOyB3cCA9IHdwLT53X25leHQsICsrd2luY291bnQpCkBAIC00NTcxLDExICs0NTc2LDExIEBACiAJdXBkYXRlX21vdXNlc2hhcGUoU0hBUEVfSURYX0NMSU5FKTsKICMgIGlmZGVmIEZFQVRfVkVSVFNQTElUCiAgICAgZWxzZSBpZiAoIShTdGF0ZSAmIENNRExJTkUpICYmIFdfVlNFUF9XSURUSCh3cCkgPiAwICYmIGNvbCA9PSB3cC0+d193aWR0aAotCSAgICAmJiAocm93ICE9IHdwLT53X2hlaWdodCB8fCAhc3RsX2Nvbm5lY3RlZCh3cCkpKQorCSAgICAmJiAocm93ICE9IHdwLT53X2hlaWdodCB8fCAhc3RsX2Nvbm5lY3RlZCh3cCkpICYmIG1zZ19zY3JvbGxlZCA9PSAwKQogCXVwZGF0ZV9tb3VzZXNoYXBlKFNIQVBFX0lEWF9WU0VQKTsKICMgIGVuZGlmCiAgICAgZWxzZSBpZiAoIShTdGF0ZSAmIENNRExJTkUpICYmIFdfU1RBVFVTX0hFSUdIVCh3cCkgPiAwCi0JCQkJCQkgICAgICAgJiYgcm93ID09IHdwLT53X2hlaWdodCkKKwkJCQkgICYmIHJvdyA9PSB3cC0+d19oZWlnaHQgJiYgbXNnX3Njcm9sbGVkID09IDApCiAJdXBkYXRlX21vdXNlc2hhcGUoU0hBUEVfSURYX1NUQVRVUyk7CiAgICAgZWxzZQogCXVwZGF0ZV9tb3VzZXNoYXBlKC0yKTsKQEAgLTQ4MjUsNiArNDgzMCw3IEBACiAgICAgewogI2lmZGVmIEZFQVRfTUJZVEUKIAlpbnQgbCA9ICgqbWJfcHRyMmxlbikodGV4dCk7CisKIAlpZiAobCA+IDEpCiAJewogCSAgICB3aGlsZSAoLS1sID49IDApCmRpZmYgLS1naXQgYS9zcmMvZ3VpLmggYi9zcmMvZ3VpLmgKaW5kZXggY2FkODExNS4uZjIyMWMyOSAxMDA2NDQKLS0tIGEvc3JjL2d1aS5oCisrKyBiL3NyYy9ndWkuaApAQCAtMTYxLDYgKzE2MSw5IEBACiAjaWZkZWYgRkVBVF9HVUlfTVNXSU4KICMgZGVmaW5lIFRBQkxJTkVfSEVJR0hUIDIyCiAjZW5kaWYKKyNpZmRlZiBGRUFUX0dVSV9NT1RJRgorIyBkZWZpbmUgVEFCTElORV9IRUlHSFQgMzAKKyNlbmRpZgogCiAjaWYgZGVmaW5lZChOT19DT05TT0xFKSB8fCBkZWZpbmVkKEZFQVRfR1VJX0dUSykgfHwgZGVmaW5lZChGRUFUX0dVSV9YMTEpCiAjIGRlZmluZSBOT19DT05TT0xFX0lOUFVUCS8qIHVzZSBub19jb25zb2xlX2lucHV0KCkgdG8gY2hlY2sgaWYgdGhlcmUKZGlmZiAtLWdpdCBhL3NyYy9ndWlfZ3RrX2YuaCBiL3NyYy9ndWlfZ3RrX2YuaAppbmRleCAwNmM3ZWNkLi43NjdmODhhIDEwMDY0NAotLS0gYS9zcmMvZ3VpX2d0a19mLmgKKysrIGIvc3JjL2d1aV9ndGtfZi5oCkBAIC05LDEwICs5LDYgQEAKICNpZm5kZWYgX19HVEtfRk9STV9IX18KICNkZWZpbmUgX19HVEtfRk9STV9IX18KIAotI2lmZGVmIFZNUwotIyBpbmNsdWRlICJndWlfZ3RrX3Ztcy5oIgotI2VuZGlmCi0KICNpbmNsdWRlIDxnZGsvZ2RrLmg+CiAjaW5jbHVkZSA8Z3RrL2d0a2NvbnRhaW5lci5oPgogCmRpZmYgLS1naXQgYS9zcmMvZ3VpX2d0a192bXMuaCBiL3NyYy9ndWlfZ3RrX3Ztcy5oCmluZGV4IGU4ODcyOGYuLjFmOTY1YWYgMTAwNjQ0Ci0tLSBhL3NyYy9ndWlfZ3RrX3Ztcy5oCisrKyBiL3NyYy9ndWlfZ3RrX3Ztcy5oCkBAIC03Nyw2ICs3Nyw3IEBACiAvKiBJTlRSSU5TSUMuSCBvbWl0cyBwcm90byBpZiBYdEZyZWUgaXMgZGVmaW5lZCAqLwogLyogVk1TX0JFR0lOX0NfUExVU19QTFVTICovCiBleHRlcm4gdm9pZCBYdEZyZWUoY2hhciopOworZXh0ZXJuIHZvaWQgWFRGUkVFKGNoYXIqKTsKIC8qIFZNU19FTkRfQ19QTFVTX1BMVVMgKi8KIAogI2RlZmluZSBfWFJlZ2lzdGVyRmlsdGVyQnlUeXBlIF9YUkVHSVNURVJGSUxURVJCWVRZUEUKQEAgLTEyMyw2ICsxMjQsNyBAQAogI2RlZmluZSBYQ3JlYXRlUmVnaW9uIFhDUkVBVEVSRUdJT04KICNkZWZpbmUgWENyZWF0ZVNpbXBsZVdpbmRvdyBYQ1JFQVRFU0lNUExFV0lORE9XCiAjZGVmaW5lIFhDcmVhdGVXaW5kb3cgWENSRUFURVdJTkRPVworI2RlZmluZSBYRGVmYXVsdFJvb3RXaW5kb3cgWERFRkFVTFRST09UV0lORE9XCiAjZGVmaW5lIFhEZWZhdWx0U2NyZWVuT2ZEaXNwbGF5IFhERUZBVUxUU0NSRUVOT0ZESVNQTEFZCiAjZGVmaW5lIFhEZWZpbmVDdXJzb3IgWERFRklORUNVUlNPUgogI2RlZmluZSBYRGVsZXRlUHJvcGVydHkgWERFTEVURVBST1BFUlRZCkBAIC0xODYsNiArMTg4LDcgQEAKICNkZWZpbmUgWEdldFN1YkltYWdlIFhHRVRTVUJJTUFHRQogI2RlZmluZSBYR2V0VmlzdWFsSW5mbyBYR0VUVklTVUFMSU5GTwogI2RlZmluZSBYR2V0V01Db2xvcm1hcFdpbmRvd3MgWEdFVFdNQ09MT1JNQVBXSU5ET1dTCisjZGVmaW5lIFhHZXRXTUljb25OYW1lIFhHRVRXTUlDT05OQU1FCiAjZGVmaW5lIFhHZXRXTVByb3RvY29scyBYR0VUV01QUk9UT0NPTFMKICNkZWZpbmUgWEdldFdNSGludHMgWEdFVFdNSElOVFMKICNkZWZpbmUgWEdldFdNTmFtZSBYR0VUV01OQU1FCkBAIC0yODksNiArMjkyLDcgQEAKICNkZWZpbmUgWFNoYXBlQ29tYmluZVJlY3RhbmdsZXMgWFNIQVBFQ09NQklORVJFQ1RBTkdMRVMKICNkZWZpbmUgWFNoYXBlR2V0UmVjdGFuZ2xlcyBYU0hBUEVHRVRSRUNUQU5HTEVTCiAjZGVmaW5lIFhTaHJpbmtSZWdpb24gWFNIUklOS1JFR0lPTgorI2RlZmluZSBYU3RvcmVCdWZmZXIgWFNUT1JFQlVGRkVSCiAjZGVmaW5lIFhTdG9yZUNvbG9yIFhTVE9SRUNPTE9SCiAjZGVmaW5lIFhTdG9yZUNvbG9ycyBYU1RPUkVDT0xPUlMKICNkZWZpbmUgWFN0b3JlTmFtZSBYU1RPUkVOQU1FCkBAIC02MDMsNyArNjA3LDkgQEAKICNkZWZpbmUgWHRVbm1hbmFnZUNoaWxkIFhUVU5NQU5BR0VDSElMRAogI2RlZmluZSBYdFVubWFuYWdlQ2hpbGRyZW4gWFRVTk1BTkFHRUNISUxEUkVOCiAjZGVmaW5lIFh0VW5yZWFsaXplV2lkZ2V0IFhUVU5SRUFMSVpFV0lER0VUCisjZGVmaW5lIFh0VmFBcHBDcmVhdGVTaGVsbCBYVFZBQVBQQ1JFQVRFU0hFTEwKICNkZWZpbmUgWHRWYUNyZWF0ZU1hbmFnZWRXaWRnZXQgWFRWQUNSRUFURU1BTkFHRURXSURHRVQKKyNkZWZpbmUgWHRWYUNyZWF0ZVBvcHVwU2hlbGwgWFRWQUNSRUFURVBPUFVQU0hFTEwKICNkZWZpbmUgWHRWYUNyZWF0ZVdpZGdldCBYVFZBQ1JFQVRFV0lER0VUCiAjZGVmaW5lIFh0VmFHZXRWYWx1ZXMgWFRWQUdFVFZBTFVFUwogI2RlZmluZSBYdFZhU2V0VmFsdWVzIFhUVkFTRVRWQUxVRVMKZGlmZiAtLWdpdCBhL3NyYy9ndWlfbWFjLmljbnMgYi9zcmMvZ3VpX21hYy5pY25zCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NDA1ZGMxLi4wMDAwMDAwCi0tLSBhL3NyYy9ndWlfbWFjLmljbnMKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9zcmMvZ3VpX21vdGlmLmMgYi9zcmMvZ3VpX21vdGlmLmMKaW5kZXggYWM5NDY4ZS4uYTk4YzlkMSAxMDA2NDQKLS0tIGEvc3JjL2d1aV9tb3RpZi5jCisrKyBiL3NyYy9ndWlfbW90aWYuYwpAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgPFhtL0xhYmVsRy5oPgogI2luY2x1ZGUgPFhtL1RvZ2dsZUJHLmg+CiAjaW5jbHVkZSA8WG0vU2VwYXJhdG9HLmg+CisjaW5jbHVkZSA8WG0vTm90ZWJvb2suaD4KIAogI2luY2x1ZGUgPFgxMS9rZXlzeW0uaD4KICNpbmNsdWRlIDxYMTEvWGF0b20uaD4KQEAgLTYzLDYgKzY0LDExIEBACiBzdGF0aWMgV2lkZ2V0IHRvb2xCYXJGcmFtZTsKIHN0YXRpYyBXaWRnZXQgdG9vbEJhcjsKICNlbmRpZgorI2lmZGVmIEZFQVRfR1VJX1RBQkxJTkUKK3N0YXRpYyBXaWRnZXQJdGFiTGluZTsKK3N0YXRpYyBXaWRnZXQJdGFiTGluZV9tZW51ID0gMDsKK3N0YXRpYyBpbnQJc2hvd2luZ190YWJsaW5lID0gMDsKKyNlbmRpZgogI2lmZGVmIEZFQVRfRk9PVEVSCiBzdGF0aWMgV2lkZ2V0IGZvb3RlcjsKICNlbmRpZgpAQCAtNzUsNiArODEsMTEgQEAKICNlbmRpZgogCiBzdGF0aWMgdm9pZCBzY3JvbGxfY2IgX19BUkdTKChXaWRnZXQgdywgWHRQb2ludGVyIGNsaWVudF9kYXRhLCBYdFBvaW50ZXIgY2FsbF9kYXRhKSk7CisjaWZkZWYgRkVBVF9HVUlfVEFCTElORQorc3RhdGljIHZvaWQgdGFibGluZV9jYiBfX0FSR1MoKFdpZGdldCB3LCBYdFBvaW50ZXIgY2xpZW50X2RhdGEsIFh0UG9pbnRlciBjYWxsX2RhdGEpKTsKK3N0YXRpYyB2b2lkIHRhYmxpbmVfYnV0dG9uX2NiIF9fQVJHUygoV2lkZ2V0IHcsIFh0UG9pbnRlciBjbGllbnRfZGF0YSwgWHRQb2ludGVyIGNhbGxfZGF0YSkpOworc3RhdGljIHZvaWQgdGFibGluZV9tZW51X2NiIF9fQVJHUygoV2lkZ2V0IHcsIFh0UG9pbnRlcgljbG9zdXJlLCBYRXZlbnQJKmUsIEJvb2xlYW4gKmNvbnRpbnVlX2Rpc3BhdGNoKSk7CisjZW5kaWYKICNpZmRlZiBGRUFUX1RPT0xCQVIKICMgaWZkZWYgRkVBVF9GT09URVIKIHN0YXRpYyB2b2lkIHRvb2xiYXJidXR0b25fZW50ZXJfY2IgX19BUkdTKChXaWRnZXQsIFh0UG9pbnRlciwgWEV2ZW50ICosIEJvb2xlYW4gKikpOwpAQCAtMTIwLDYgKzEzMSw3NiBAQAogICAgIGd1aV9kcmFnX3Njcm9sbGJhcihzYiwgdmFsdWUsIGRyYWdnaW5nKTsKIH0KIAorI2lmZGVmIEZFQVRfR1VJX1RBQkxJTkUKKy8qQVJHU1VTRUQqLworICAgIHN0YXRpYyB2b2lkCit0YWJsaW5lX2NiKHcsIGNsaWVudF9kYXRhLCBjYWxsX2RhdGEpCisgICAgV2lkZ2V0CXc7CisgICAgWHRQb2ludGVyCWNsaWVudF9kYXRhLCBjYWxsX2RhdGE7Cit7CisgICAgWG1Ob3RlYm9va0NhbGxiYWNrU3RydWN0ICpucHRyOworCisgICAgbnB0ciA9IChYbU5vdGVib29rQ2FsbGJhY2tTdHJ1Y3QgKiljYWxsX2RhdGE7CisgICAgaWYgKG5wdHItPnJlYXNvbiAhPSAoaW50KVhtQ1JfTk9ORSkKKwlzZW5kX3RhYmxpbmVfZXZlbnQobnB0ci0+cGFnZV9udW1iZXIpOworfQorCisvKkFSR1NVU0VEKi8KKyAgICBzdGF0aWMgdm9pZAordGFibGluZV9idXR0b25fY2IodywgY2xpZW50X2RhdGEsIGNhbGxfZGF0YSkKKyAgICBXaWRnZXQJdzsKKyAgICBYdFBvaW50ZXIJY2xpZW50X2RhdGEsIGNhbGxfZGF0YTsKK3sKKyAgICBjaGFyX3UJc3RyaW5nWzNdOworICAgIGludAkJY21kLCB0YWJfaWR4OworCisgICAgWHRWYUdldFZhbHVlcyh3LCBYbU51c2VyRGF0YSwgJmNtZCwgTlVMTCk7CisgICAgWHRWYUdldFZhbHVlcyh0YWJMaW5lX21lbnUsIFhtTnVzZXJEYXRhLCAmdGFiX2lkeCwgTlVMTCk7CisKKyAgICBzdHJpbmdbMF0gPSBDU0k7CisgICAgc3RyaW5nWzFdID0gS1NfVEFCTUVOVTsKKyAgICBzdHJpbmdbMl0gPSBLRV9GSUxMRVI7CisgICAgYWRkX3RvX2lucHV0X2J1ZihzdHJpbmcsIDMpOworICAgIHN0cmluZ1swXSA9IHRhYl9pZHg7CisgICAgc3RyaW5nWzFdID0gKGNoYXJfdSkobG9uZyljbWQ7CisgICAgYWRkX3RvX2lucHV0X2J1Zl9jc2koc3RyaW5nLCAyKTsKK30KKworLypBUkdTVVNFRCovCisgICAgc3RhdGljIHZvaWQKK3RhYmxpbmVfbWVudV9jYih3LCBjbG9zdXJlLCBlLCBjb250aW51ZV9kaXNwYXRjaCkKKyAgICBXaWRnZXQJdzsKKyAgICBYdFBvaW50ZXIJY2xvc3VyZTsKKyAgICBYRXZlbnQJKmU7CisgICAgQm9vbGVhbgkqY29udGludWVfZGlzcGF0Y2g7Cit7CisgICAgV2lkZ2V0CQkJdGFiX3c7CisgICAgWEJ1dHRvblByZXNzZWRFdmVudAkJKmV2ZW50OworICAgIGludAkJCQl0YWJfaWR4ID0gMDsKKyAgICBXaWRnZXRMaXN0CQkJY2hpbGRyZW47CisgICAgQ2FyZGluYWwJCQludW1DaGlsZHJlbjsKKworICAgIGV2ZW50ID0gKFhCdXR0b25QcmVzc2VkRXZlbnQgKillOworCisgICAgaWYgKGV2ZW50LT5idXR0b24gIT0gQnV0dG9uMykKKwlyZXR1cm47CisKKyAgICBpZiAoZXZlbnQtPnN1YndpbmRvdyAhPSBOb25lKQorICAgIHsKKwl0YWJfdyA9IFh0V2luZG93VG9XaWRnZXQoWHREaXNwbGF5KHcpLCBldmVudC0+c3Vid2luZG93KTsKKwlpZiAodGFiX3cgIT0gKFdpZGdldCkwICYmIFhtSXNQdXNoQnV0dG9uKHRhYl93KSkKKwkgICAgWHRWYUdldFZhbHVlcyh0YWJfdywgWG1OcGFnZU51bWJlciwgJnRhYl9pZHgsIE5VTEwpOworICAgIH0KKworICAgIFh0VmFTZXRWYWx1ZXModGFiTGluZV9tZW51LCBYbU51c2VyRGF0YSwgdGFiX2lkeCwgTlVMTCk7CisgICAgWHRWYUdldFZhbHVlcyh0YWJMaW5lX21lbnUsIFhtTmNoaWxkcmVuLCAmY2hpbGRyZW4sIFhtTm51bUNoaWxkcmVuLAorCQkgICZudW1DaGlsZHJlbiwgTlVMTCk7CisgICAgWHRNYW5hZ2VDaGlsZHJlbihjaGlsZHJlbiwgbnVtQ2hpbGRyZW4pOworICAgIFhtTWVudVBvc2l0aW9uKHRhYkxpbmVfbWVudSwgKFhCdXR0b25QcmVzc2VkRXZlbnQgKillKSA7CisgICAgWHRNYW5hZ2VDaGlsZCh0YWJMaW5lX21lbnUpOworfQorI2VuZGlmCisKIC8qCiAgKiBFbmQgb2YgY2FsbC1iYWNrIHJvdXRpbmVzCiAgKi8KQEAgLTIyMiw2ICszMDMsMTMgQEAKICAgICB2b2lkCiBndWlfeDExX2NyZWF0ZV93aWRnZXRzKCkKIHsKKyNpZmRlZiBGRUFUX0dVSV9UQUJMSU5FCisgICAgV2lkZ2V0CWJ1dHRvbjsKKyAgICBBcmcJCWFyZ3NbMTBdOworICAgIGludAkJbjsKKyAgICBYbVN0cmluZwl4bXM7CisjZW5kaWYKKwogICAgIC8qCiAgICAgICogSW5zdGFsbCB0aGUgM0Qgc2hhZGUgZWZmZWN0IGRyYXdpbmcgcm91dGluZXMuCiAgICAgICovCkBAIC0zMTgsNiArNDA2LDU3IEBACiAKICNlbmRpZgogCisjaWZkZWYgRkVBVF9HVUlfVEFCTElORQorICAgIC8qIENyZWF0ZSB0aGUgVmltIEdVSSB0YWJsaW5lICovCisgICAgbiA9IDA7CisgICAgWHRTZXRBcmcoYXJnc1tuXSwgWG1OYmluZGluZ1R5cGUsIFhtTk9ORSk7IG4rKzsKKyAgICBYdFNldEFyZyhhcmdzW25dLCBYbU5vcmllbnRhdGlvbiwgWG1WRVJUSUNBTCk7IG4rKzsKKyAgICBYdFNldEFyZyhhcmdzW25dLCBYbU5iYWNrUGFnZVNpemUsIFhtTk9ORSk7IG4rKzsKKyAgICBYdFNldEFyZyhhcmdzW25dLCBYbU5iYWNrUGFnZU51bWJlciwgMCk7IG4rKzsKKyAgICBYdFNldEFyZyhhcmdzW25dLCBYbU5iYWNrUGFnZVBsYWNlbWVudCwgWG1UT1BfUklHSFQpOyBuKys7CisgICAgWHRTZXRBcmcoYXJnc1tuXSwgWG1ObWFqb3JUYWJTcGFjaW5nLCAwKTsgbisrOworICAgIFh0U2V0QXJnKGFyZ3Nbbl0sIFhtTnNoYWRvd1RoaWNrbmVzcywgMCk7IG4rKzsKKyAgICBYdFNldEFyZyhhcmdzW25dLCBYbU5sZWZ0QXR0YWNobWVudCwgWG1BVFRBQ0hfRk9STSk7IG4rKzsKKyAgICBYdFNldEFyZyhhcmdzW25dLCBYbU5yaWdodEF0dGFjaG1lbnQsIFhtQVRUQUNIX0ZPUk0pOyBuKys7CisgICAgdGFiTGluZSA9IFhtQ3JlYXRlTm90ZWJvb2sodmltRm9ybSwgIlZpbSB0YWJsaW5lIiwgYXJncywgbik7CisKKyAgICBYdEFkZENhbGxiYWNrKHRhYkxpbmUsIFhtTnBhZ2VDaGFuZ2VkQ2FsbGJhY2ssIChYdENhbGxiYWNrUHJvYyl0YWJsaW5lX2NiLAorCQkJTlVMTCk7CisgICAgWHRBZGRFdmVudEhhbmRsZXIodGFiTGluZSwgQnV0dG9uUHJlc3NNYXNrLCBGYWxzZSwKKwkJCShYdEV2ZW50SGFuZGxlcil0YWJsaW5lX21lbnVfY2IsIE5VTEwpOworCisgICAgLyogQ3JlYXRlIHRoZSB0YWJsaW5lIHBvcHVwIG1lbnUgKi8KKyAgICB0YWJMaW5lX21lbnUgPSBYbUNyZWF0ZVBvcHVwTWVudSh0YWJMaW5lLCAidGFibGluZSBwb3B1cCIsIE5VTEwsIDApOworCisgICAgLyogQWRkIHRoZSBidXR0b25zIHRvIHRoZSBtZW51ICovCisgICAgbiA9IDA7CisgICAgWHRTZXRBcmcoYXJnc1tuXSwgWG1OdXNlckRhdGEsIFRBQkxJTkVfTUVOVV9DTE9TRSk7IG4rKzsKKyAgICB4bXMgPSBYbVN0cmluZ0NyZWF0ZSgoY2hhciAqKSJDbG9zZSB0YWIiLCBTVFJJTkdfVEFHKTsKKyAgICBYdFNldEFyZyhhcmdzW25dLCBYbU5sYWJlbFN0cmluZywgeG1zKTsgbisrOworICAgIGJ1dHRvbiA9IFhtQ3JlYXRlUHVzaEJ1dHRvbih0YWJMaW5lX21lbnUsICJDbG9zZSIsIGFyZ3MsIG4pOworICAgIFh0QWRkQ2FsbGJhY2soYnV0dG9uLCBYbU5hY3RpdmF0ZUNhbGxiYWNrLAorCQkgIChYdENhbGxiYWNrUHJvYyl0YWJsaW5lX2J1dHRvbl9jYiwgTlVMTCk7CisgICAgWG1TdHJpbmdGcmVlKHhtcyk7CisKKyAgICBuID0gMDsKKyAgICBYdFNldEFyZyhhcmdzW25dLCBYbU51c2VyRGF0YSwgVEFCTElORV9NRU5VX05FVyk7IG4rKzsKKyAgICB4bXMgPSBYbVN0cmluZ0NyZWF0ZSgoY2hhciAqKSJOZXcgVGFiIiwgU1RSSU5HX1RBRyk7CisgICAgWHRTZXRBcmcoYXJnc1tuXSwgWG1ObGFiZWxTdHJpbmcsIHhtcyk7IG4rKzsKKyAgICBidXR0b24gPSBYbUNyZWF0ZVB1c2hCdXR0b24odGFiTGluZV9tZW51LCAiTmV3IFRhYiIsIGFyZ3MsIG4pOworICAgIFh0QWRkQ2FsbGJhY2soYnV0dG9uLCBYbU5hY3RpdmF0ZUNhbGxiYWNrLAorCQkgIChYdENhbGxiYWNrUHJvYyl0YWJsaW5lX2J1dHRvbl9jYiwgTlVMTCk7CisgICAgWG1TdHJpbmdGcmVlKHhtcyk7CisKKyAgICBuID0gMDsKKyAgICBYdFNldEFyZyhhcmdzW25dLCBYbU51c2VyRGF0YSwgVEFCTElORV9NRU5VX09QRU4pOyBuKys7CisgICAgeG1zID0gWG1TdHJpbmdDcmVhdGUoKGNoYXIgKikiT3BlbiB0YWIuLi4iLCBTVFJJTkdfVEFHKTsKKyAgICBYdFNldEFyZyhhcmdzW25dLCBYbU5sYWJlbFN0cmluZywgeG1zKTsgbisrOworICAgIGJ1dHRvbiA9IFhtQ3JlYXRlUHVzaEJ1dHRvbih0YWJMaW5lX21lbnUsICJPcGVuIHRhYi4uLiIsIGFyZ3MsIG4pOworICAgIFh0QWRkQ2FsbGJhY2soYnV0dG9uLCBYbU5hY3RpdmF0ZUNhbGxiYWNrLAorCQkgIChYdENhbGxiYWNrUHJvYyl0YWJsaW5lX2J1dHRvbl9jYiwgTlVMTCk7CisgICAgWG1TdHJpbmdGcmVlKHhtcyk7CisjZW5kaWYKKwogICAgIHRleHRBcmVhRm9ybSA9IFh0VmFDcmVhdGVNYW5hZ2VkV2lkZ2V0KCJ0ZXh0QXJlYUZvcm0iLAogCXhtRm9ybVdpZGdldENsYXNzLCB2aW1Gb3JtLAogCVhtTmxlZnRBdHRhY2htZW50LCBYbUFUVEFDSF9GT1JNLApAQCAtNTUwLDE4ICs2ODksNDYgQEAKIAkJWG1OdG9wQXR0YWNobWVudCwgWG1BVFRBQ0hfV0lER0VULAogCQlYbU50b3BXaWRnZXQsIG1lbnVCYXIsCiAJCU5VTEwpOwotCSAgICBYdFZhU2V0VmFsdWVzKHRleHRBcmVhRm9ybSwKLQkJWG1OdG9wQXR0YWNobWVudCwgWG1BVFRBQ0hfV0lER0VULAotCQlYbU50b3BXaWRnZXQsIFh0UGFyZW50KHRvb2xCYXIpLAotCQlOVUxMKTsKKyNpZmRlZiBGRUFUX0dVSV9UQUJMSU5FCisJICAgIGlmIChzaG93aW5nX3RhYmxpbmUpCisJICAgIHsKKwkJWHRWYVNldFZhbHVlcyh0YWJMaW5lLAorCQkJICAgICAgWG1OdG9wQXR0YWNobWVudCwgWG1BVFRBQ0hfV0lER0VULAorCQkJICAgICAgWG1OdG9wV2lkZ2V0LCBYdFBhcmVudCh0b29sQmFyKSwKKwkJCSAgICAgIE5VTEwpOworCQlYdFZhU2V0VmFsdWVzKHRleHRBcmVhRm9ybSwKKwkJCSAgICAgIFhtTnRvcEF0dGFjaG1lbnQsIFhtQVRUQUNIX1dJREdFVCwKKwkJCSAgICAgIFhtTnRvcFdpZGdldCwgdGFiTGluZSwKKwkJCSAgICAgIE5VTEwpOworCSAgICB9CisJICAgIGVsc2UKKyNlbmRpZgorCQlYdFZhU2V0VmFsdWVzKHRleHRBcmVhRm9ybSwKKwkJCSAgICAgIFhtTnRvcEF0dGFjaG1lbnQsIFhtQVRUQUNIX1dJREdFVCwKKwkJCSAgICAgIFhtTnRvcFdpZGdldCwgWHRQYXJlbnQodG9vbEJhciksCisJCQkgICAgICBOVUxMKTsKIAl9CiAJZWxzZQogI2VuZGlmCiAJewotCSAgICBYdFZhU2V0VmFsdWVzKHRleHRBcmVhRm9ybSwKLQkJWG1OdG9wQXR0YWNobWVudCwgWG1BVFRBQ0hfV0lER0VULAotCQlYbU50b3BXaWRnZXQsIG1lbnVCYXIsCi0JCU5VTEwpOworI2lmZGVmIEZFQVRfR1VJX1RBQkxJTkUKKwkgICAgaWYgKHNob3dpbmdfdGFibGluZSkKKwkgICAgeworCQlYdFZhU2V0VmFsdWVzKHRhYkxpbmUsCisJCQkgICAgICBYbU50b3BBdHRhY2htZW50LCBYbUFUVEFDSF9XSURHRVQsCisJCQkgICAgICBYbU50b3BXaWRnZXQsIG1lbnVCYXIsCisJCQkgICAgICBOVUxMKTsKKwkJWHRWYVNldFZhbHVlcyh0ZXh0QXJlYUZvcm0sCisJCQkgICAgICBYbU50b3BBdHRhY2htZW50LCBYbUFUVEFDSF9XSURHRVQsCisJCQkgICAgICBYbU50b3BXaWRnZXQsIHRhYkxpbmUsCisJCQkgICAgICBOVUxMKTsKKwkgICAgfQorCSAgICBlbHNlCisjZW5kaWYKKwkJWHRWYVNldFZhbHVlcyh0ZXh0QXJlYUZvcm0sCisJCQkgICAgICBYbU50b3BBdHRhY2htZW50LCBYbUFUVEFDSF9XSURHRVQsCisJCQkgICAgICBYbU50b3BXaWRnZXQsIG1lbnVCYXIsCisJCQkgICAgICBOVUxMKTsKIAl9CiAgICAgfQogICAgIGVsc2UKQEAgLTU3MywxNyArNzQwLDQ0IEBACiAJICAgIFh0VmFTZXRWYWx1ZXMoWHRQYXJlbnQodG9vbEJhciksCiAJCVhtTnRvcEF0dGFjaG1lbnQsIFhtQVRUQUNIX0ZPUk0sCiAJCU5VTEwpOwotCSAgICBYdFZhU2V0VmFsdWVzKHRleHRBcmVhRm9ybSwKLQkJWG1OdG9wQXR0YWNobWVudCwgWG1BVFRBQ0hfV0lER0VULAotCQlYbU50b3BXaWRnZXQsIFh0UGFyZW50KHRvb2xCYXIpLAotCQlOVUxMKTsKKyNpZmRlZiBGRUFUX0dVSV9UQUJMSU5FCisJICAgIGlmIChzaG93aW5nX3RhYmxpbmUpCisJICAgIHsKKwkJWHRWYVNldFZhbHVlcyh0YWJMaW5lLAorCQkJICAgICAgWG1OdG9wQXR0YWNobWVudCwgWG1BVFRBQ0hfV0lER0VULAorCQkJICAgICAgWG1OdG9wV2lkZ2V0LCBYdFBhcmVudCh0b29sQmFyKSwKKwkJCSAgICAgIE5VTEwpOworCQlYdFZhU2V0VmFsdWVzKHRleHRBcmVhRm9ybSwKKwkJCSAgICAgIFhtTnRvcEF0dGFjaG1lbnQsIFhtQVRUQUNIX1dJREdFVCwKKwkJCSAgICAgIFhtTnRvcFdpZGdldCwgdGFiTGluZSwKKwkJCSAgICAgIE5VTEwpOworCSAgICB9CisJICAgIGVsc2UKKyNlbmRpZgorCQlYdFZhU2V0VmFsdWVzKHRleHRBcmVhRm9ybSwKKwkJCSAgICAgIFhtTnRvcEF0dGFjaG1lbnQsIFhtQVRUQUNIX1dJREdFVCwKKwkJCSAgICAgIFhtTnRvcFdpZGdldCwgWHRQYXJlbnQodG9vbEJhciksCisJCQkgICAgICBOVUxMKTsKIAl9CiAJZWxzZQogI2VuZGlmCiAJewotCSAgICBYdFZhU2V0VmFsdWVzKHRleHRBcmVhRm9ybSwKLQkJWG1OdG9wQXR0YWNobWVudCwgWG1BVFRBQ0hfRk9STSwKLQkJTlVMTCk7CisjaWZkZWYgRkVBVF9HVUlfVEFCTElORQorCSAgICBpZiAoc2hvd2luZ190YWJsaW5lKQorCSAgICB7CisJCVh0VmFTZXRWYWx1ZXModGFiTGluZSwKKwkJCSAgICAgIFhtTnRvcEF0dGFjaG1lbnQsIFhtQVRUQUNIX0ZPUk0sCisJCQkgICAgICBOVUxMKTsKKwkJWHRWYVNldFZhbHVlcyh0ZXh0QXJlYUZvcm0sCisJCQkgICAgICBYbU50b3BBdHRhY2htZW50LCBYbUFUVEFDSF9XSURHRVQsCisJCQkgICAgICBYbU50b3BXaWRnZXQsIHRhYkxpbmUsCisJCQkgICAgICBOVUxMKTsKKwkgICAgfQorCSAgICBlbHNlCisjZW5kaWYKKwkJWHRWYVNldFZhbHVlcyh0ZXh0QXJlYUZvcm0sCisJCQkgICAgICBYbU50b3BBdHRhY2htZW50LCBYbUFUVEFDSF9GT1JNLAorCQkJICAgICAgTlVMTCk7CiAJfQogICAgIH0KIApAQCAtMjc3MCwxMCArMjk2NCwyNCBAQAogCX0KIAlndWkudG9vbGJhcl9oZWlnaHQgPSBndWlfbWNoX2NvbXB1dGVfdG9vbGJhcl9oZWlnaHQoKTsKIAlYdE1hbmFnZUNoaWxkKFh0UGFyZW50KHRvb2xCYXIpKTsKLQlYdFZhU2V0VmFsdWVzKHRleHRBcmVhRm9ybSwKLQkJWG1OdG9wQXR0YWNobWVudCwgWG1BVFRBQ0hfV0lER0VULAotCQlYbU50b3BXaWRnZXQsIFh0UGFyZW50KHRvb2xCYXIpLAotCQlOVUxMKTsKKyNpZmRlZiBGRUFUX0dVSV9UQUJMSU5FCisJaWYgKHNob3dpbmdfdGFibGluZSkKKwl7CisJICAgIFh0VmFTZXRWYWx1ZXModGFiTGluZSwKKwkJCSAgWG1OdG9wQXR0YWNobWVudCwgWG1BVFRBQ0hfV0lER0VULAorCQkJICBYbU50b3BXaWRnZXQsIFh0UGFyZW50KHRvb2xCYXIpLAorCQkJICBOVUxMKTsKKwkgICAgWHRWYVNldFZhbHVlcyh0ZXh0QXJlYUZvcm0sCisJCQkgIFhtTnRvcEF0dGFjaG1lbnQsIFhtQVRUQUNIX1dJREdFVCwKKwkJCSAgWG1OdG9wV2lkZ2V0LCB0YWJMaW5lLAorCQkJICBOVUxMKTsKKwl9CisJZWxzZQorI2VuZGlmCisJICAgIFh0VmFTZXRWYWx1ZXModGV4dEFyZWFGb3JtLAorCQkJICBYbU50b3BBdHRhY2htZW50LCBYbUFUVEFDSF9XSURHRVQsCisJCQkgIFhtTnRvcFdpZGdldCwgWHRQYXJlbnQodG9vbEJhciksCisJCQkgIE5VTEwpOwogCWlmIChYdElzTWFuYWdlZChtZW51QmFyKSkKIAkgICAgWHRWYVNldFZhbHVlcyhYdFBhcmVudCh0b29sQmFyKSwKIAkJICAgIFhtTnRvcEF0dGFjaG1lbnQsIFhtQVRUQUNIX1dJREdFVCwKQEAgLTI3ODgsMTQgKzI5OTYsNDUgQEAKICAgICB7CiAJZ3VpLnRvb2xiYXJfaGVpZ2h0ID0gMDsKIAlpZiAoWHRJc01hbmFnZWQobWVudUJhcikpCi0JICAgIFh0VmFTZXRWYWx1ZXModGV4dEFyZWFGb3JtLAotCQlYbU50b3BBdHRhY2htZW50LCBYbUFUVEFDSF9XSURHRVQsCi0JCVhtTnRvcFdpZGdldCwgbWVudUJhciwKLQkJTlVMTCk7CisJeworI2lmZGVmIEZFQVRfR1VJX1RBQkxJTkUKKwkgICAgaWYgKHNob3dpbmdfdGFibGluZSkKKwkgICAgeworCQlYdFZhU2V0VmFsdWVzKHRhYkxpbmUsCisJCQkgICAgICBYbU50b3BBdHRhY2htZW50LCBYbUFUVEFDSF9XSURHRVQsCisJCQkgICAgICBYbU50b3BXaWRnZXQsIG1lbnVCYXIsCisJCQkgICAgICBOVUxMKTsKKwkJWHRWYVNldFZhbHVlcyh0ZXh0QXJlYUZvcm0sCisJCQkgICAgICBYbU50b3BBdHRhY2htZW50LCBYbUFUVEFDSF9XSURHRVQsCisJCQkgICAgICBYbU50b3BXaWRnZXQsIHRhYkxpbmUsCisJCQkgICAgICBOVUxMKTsKKwkgICAgfQorCSAgICBlbHNlCisjZW5kaWYKKwkJWHRWYVNldFZhbHVlcyh0ZXh0QXJlYUZvcm0sCisJCQkgICAgICBYbU50b3BBdHRhY2htZW50LCBYbUFUVEFDSF9XSURHRVQsCisJCQkgICAgICBYbU50b3BXaWRnZXQsIG1lbnVCYXIsCisJCQkgICAgICBOVUxMKTsKKwl9CiAJZWxzZQotCSAgICBYdFZhU2V0VmFsdWVzKHRleHRBcmVhRm9ybSwKLQkJWG1OdG9wQXR0YWNobWVudCwgWG1BVFRBQ0hfRk9STSwKLQkJTlVMTCk7CisJeworI2lmZGVmIEZFQVRfR1VJX1RBQkxJTkUKKwkgICAgaWYgKHNob3dpbmdfdGFibGluZSkKKwkgICAgeworCQlYdFZhU2V0VmFsdWVzKHRhYkxpbmUsCisJCQkgICAgICBYbU50b3BBdHRhY2htZW50LCBYbUFUVEFDSF9GT1JNLAorCQkJICAgICAgTlVMTCk7CisJCVh0VmFTZXRWYWx1ZXModGV4dEFyZWFGb3JtLAorCQkJICAgICAgWG1OdG9wQXR0YWNobWVudCwgWG1BVFRBQ0hfV0lER0VULAorCQkJICAgICAgWG1OdG9wV2lkZ2V0LCB0YWJMaW5lLAorCQkJICAgICAgTlVMTCk7CisJICAgIH0KKwkgICAgZWxzZQorI2VuZGlmCisJCVh0VmFTZXRWYWx1ZXModGV4dEFyZWFGb3JtLAorCQkJICAgICAgWG1OdG9wQXR0YWNobWVudCwgWG1BVFRBQ0hfRk9STSwKKwkJCSAgICAgIE5VTEwpOworCX0KIAogCVh0VW5tYW5hZ2VDaGlsZChYdFBhcmVudCh0b29sQmFyKSk7CiAgICAgfQpAQCAtMjkxNCw2ICszMTUzLDE2NSBAQAogIyBlbmRpZgogI2VuZGlmCiAKKyNpZiBkZWZpbmVkKEZFQVRfR1VJX1RBQkxJTkUpIHx8IGRlZmluZWQoUFJPVE8pCisvKgorICogU2hvdyBvciBoaWRlIHRoZSB0YWJsaW5lLgorICovCisgICAgdm9pZAorZ3VpX21jaF9zaG93X3RhYmxpbmUoaW50IHNob3dpdCkKK3sKKyAgICBpZiAodGFiTGluZSA9PSAoV2lkZ2V0KTApCisJcmV0dXJuOworCisgICAgaWYgKCFzaG93aXQgIT0gIXNob3dpbmdfdGFibGluZSkKKyAgICB7CisJaWYgKHNob3dpdCkKKwl7CisJICAgIFh0TWFuYWdlQ2hpbGQodGFiTGluZSk7CisJICAgIFh0VW5tYW5hZ2VDaGlsZChYdE5hbWVUb1dpZGdldCh0YWJMaW5lLCAiUGFnZVNjcm9sbGVyIikpOworI2lmZGVmIEZFQVRfTUVOVQorIyBpZmRlZiBGRUFUX1RPT0xCQVIKKwkgICAgaWYgKFh0SXNNYW5hZ2VkKFh0UGFyZW50KHRvb2xCYXIpKSkKKwkJWHRWYVNldFZhbHVlcyh0YWJMaW5lLAorCQkJICAgICAgWG1OdG9wQXR0YWNobWVudCwgWG1BVFRBQ0hfV0lER0VULAorCQkJICAgICAgWG1OdG9wV2lkZ2V0LCBYdFBhcmVudCh0b29sQmFyKSwgTlVMTCk7CisJICAgIGVsc2UKKyMgZW5kaWYKKwkJaWYgKFh0SXNNYW5hZ2VkKG1lbnVCYXIpKQorCQlYdFZhU2V0VmFsdWVzKHRhYkxpbmUsCisJCQkgICAgICBYbU50b3BBdHRhY2htZW50LCBYbUFUVEFDSF9XSURHRVQsCisJCQkgICAgICBYbU50b3BXaWRnZXQsIG1lbnVCYXIsIE5VTEwpOworCSAgICBlbHNlCisjZW5kaWYKKwkJWHRWYVNldFZhbHVlcyh0YWJMaW5lLAorCQkJICAgICAgWG1OdG9wQXR0YWNobWVudCwgWG1BVFRBQ0hfRk9STSwgTlVMTCk7CisJICAgIFh0VmFTZXRWYWx1ZXModGV4dEFyZWFGb3JtLAorCQkJICBYbU50b3BBdHRhY2htZW50LCBYbUFUVEFDSF9XSURHRVQsCisJCQkgIFhtTnRvcFdpZGdldCwgdGFiTGluZSwKKwkJCSAgTlVMTCk7CisJfQorCWVsc2UKKwl7CisJICAgIFh0VW5tYW5hZ2VDaGlsZCh0YWJMaW5lKTsKKyNpZmRlZiBGRUFUX01FTlUKKyMgaWZkZWYgRkVBVF9UT09MQkFSCisJICAgIGlmIChYdElzTWFuYWdlZChYdFBhcmVudCh0b29sQmFyKSkpCisJCVh0VmFTZXRWYWx1ZXModGV4dEFyZWFGb3JtLAorCQkJICAgICAgWG1OdG9wQXR0YWNobWVudCwgWG1BVFRBQ0hfV0lER0VULAorCQkJICAgICAgWG1OdG9wV2lkZ2V0LCBYdFBhcmVudCh0b29sQmFyKSwgTlVMTCk7CisJICAgIGVsc2UKKyMgZW5kaWYKKwkJaWYgKFh0SXNNYW5hZ2VkKG1lbnVCYXIpKQorCQlYdFZhU2V0VmFsdWVzKHRleHRBcmVhRm9ybSwKKwkJCSAgICAgIFhtTnRvcEF0dGFjaG1lbnQsIFhtQVRUQUNIX1dJREdFVCwKKwkJCSAgICAgIFhtTnRvcFdpZGdldCwgbWVudUJhciwgTlVMTCk7CisJICAgIGVsc2UKKyNlbmRpZgorCQlYdFZhU2V0VmFsdWVzKHRleHRBcmVhRm9ybSwKKwkJCSAgICAgIFhtTnRvcEF0dGFjaG1lbnQsIFhtQVRUQUNIX0ZPUk0sIE5VTEwpOworCX0KKwlzaG93aW5nX3RhYmxpbmUgPSBzaG93aXQ7CisgICAgfQorfQorCisvKgorICogUmV0dXJuIFRSVUUgd2hlbiB0YWJsaW5lIGlzIGRpc3BsYXllZC4KKyAqLworICAgIGludAorZ3VpX21jaF9zaG93aW5nX3RhYmxpbmUodm9pZCkKK3sKKyAgICByZXR1cm4gdGFiTGluZSAhPSAoV2lkZ2V0KTAgJiYgc2hvd2luZ190YWJsaW5lOworfQorCisvKgorICogVXBkYXRlIHRoZSBsYWJlbHMgb2YgdGhlIHRhYmxpbmUuCisgKi8KKyAgICB2b2lkCitndWlfbWNoX3VwZGF0ZV90YWJsaW5lKHZvaWQpCit7CisgICAgdGFicGFnZV9UCQkqdHA7CisgICAgaW50CQkJbnIgPSAxLCBuOworICAgIEFyZwkJCWFyZ3NbMTBdOworICAgIGludAkJCWN1cnRhYmlkeCA9IDAsIGN1cnJlbnRwYWdlOworICAgIFdpZGdldAkJdGFiOworICAgIFhtTm90ZWJvb2tQYWdlSW5mbwlwYWdlX2luZm87CisgICAgWG1Ob3RlYm9va1BhZ2VTdGF0dXMgcGFnZV9zdGF0dXM7CisgICAgaW50CQkJbGFzdF9wYWdlLCB0YWJfY291bnQ7CisKKyAgICBpZiAodGFiTGluZSA9PSAoV2lkZ2V0KTApCisJcmV0dXJuOworCisgICAgLyogQWRkIGEgbGFiZWwgZm9yIGVhY2ggdGFiIHBhZ2UuICBUaGV5IGFsbCBjb250YWluIHRoZSBzYW1lIHRleHQgYXJlYS4gKi8KKyAgICBmb3IgKHRwID0gZmlyc3RfdGFicGFnZTsgdHAgIT0gTlVMTDsgdHAgPSB0cC0+dHBfbmV4dCwgKytucikKKyAgICB7CisJaWYgKHRwID09IGN1cnRhYikKKwkgICAgY3VydGFiaWR4ID0gbnI7CisKKwlwYWdlX3N0YXR1cyA9IFhtTm90ZWJvb2tHZXRQYWdlSW5mbyh0YWJMaW5lLCBuciwgJnBhZ2VfaW5mbyk7CisJaWYgKHBhZ2Vfc3RhdHVzID09IFhtUEFHRV9JTlZBTElECisJICAgIHx8IHBhZ2VfaW5mby5tYWpvcl90YWJfd2lkZ2V0ID09IChXaWRnZXQpMCkKKwl7CisJICAgIC8qIEFkZCB0aGUgdGFiICovCisJICAgIG4gPSAwOworCSAgICBYdFNldEFyZyhhcmdzW25dLCBYbU5ub3RlYm9va0NoaWxkVHlwZSwgWG1NQUpPUl9UQUIpOyBuKys7CisJICAgIFh0U2V0QXJnKGFyZ3Nbbl0sIFhtTnRyYXZlcnNhbE9uLCBGYWxzZSk7IG4rKzsKKwkgICAgWHRTZXRBcmcoYXJnc1tuXSwgWG1OYWxpZ25tZW50LCBYbUFMSUdOTUVOVF9CRUdJTk5JTkcpOyBuKys7CisJICAgIFh0U2V0QXJnKGFyZ3Nbbl0sIFhtTmhpZ2hsaWdodFRoaWNrbmVzcywgMSk7IG4rKzsKKwkgICAgWHRTZXRBcmcoYXJnc1tuXSwgWG1Oc2hhZG93VGhpY2tuZXNzICwgMSk7IG4rKzsKKwkgICAgdGFiID0gWG1DcmVhdGVQdXNoQnV0dG9uKHRhYkxpbmUsICItRW1wdHktIiwgYXJncywgbik7CisJICAgIFh0TWFuYWdlQ2hpbGQodGFiKTsKKwl9CisJZWxzZQorCSAgICB0YWIgPSBwYWdlX2luZm8ubWFqb3JfdGFiX3dpZGdldDsKKworCVh0VmFTZXRWYWx1ZXModGFiLCBYbU5wYWdlTnVtYmVyLCBuciwgTlVMTCk7CisJZ2V0X3RhYmxpbmVfbGFiZWwodHApOworCVh0VmFTZXRWYWx1ZXModGFiLCBYdFZhVHlwZWRBcmcsIFhtTmxhYmVsU3RyaW5nLCBYbVJTdHJpbmcsCisJCSAgICAgIE5hbWVCdWZmLCBTVFJMRU4oTmFtZUJ1ZmYpICsgMSwgTlVMTCk7CisgICAgfQorCisgICAgdGFiX2NvdW50ID0gbnIgLSAxOworCisgICAgWHRWYUdldFZhbHVlcyh0YWJMaW5lLCBYbU5sYXN0UGFnZU51bWJlciwgJmxhc3RfcGFnZSwgTlVMTCk7CisKKyAgICAvKiBSZW1vdmUgYW55IG9sZCBsYWJlbHMuICovCisgICAgd2hpbGUgKG5yIDw9IGxhc3RfcGFnZSkKKyAgICB7CisJaWYgKFhtTm90ZWJvb2tHZXRQYWdlSW5mbyh0YWJMaW5lLCBuciwgJnBhZ2VfaW5mbykgIT0gWG1QQUdFX0lOVkFMSUQKKwkgICAgJiYgcGFnZV9pbmZvLnBhZ2VfbnVtYmVyID09IG5yCisJICAgICYmIHBhZ2VfaW5mby5tYWpvcl90YWJfd2lkZ2V0ICE9IChXaWRnZXQpMCkKKwl7CisJICAgIFh0VW5tYW5hZ2VDaGlsZChwYWdlX2luZm8ubWFqb3JfdGFiX3dpZGdldCk7CisJICAgIFh0RGVzdHJveVdpZGdldChwYWdlX2luZm8ubWFqb3JfdGFiX3dpZGdldCk7CisJfQorCW5yKys7CisgICAgfQorCisgICAgWHRWYVNldFZhbHVlcyh0YWJMaW5lLCBYbU5sYXN0UGFnZU51bWJlciwgdGFiX2NvdW50LCBOVUxMKTsKKworICAgIFh0VmFHZXRWYWx1ZXModGFiTGluZSwgWG1OY3VycmVudFBhZ2VOdW1iZXIsICZjdXJyZW50cGFnZSwgTlVMTCk7CisgICAgaWYgKGN1cnJlbnRwYWdlICE9IGN1cnRhYmlkeCkKKwlYdFZhU2V0VmFsdWVzKHRhYkxpbmUsIFhtTmN1cnJlbnRQYWdlTnVtYmVyLCBjdXJ0YWJpZHgsIE5VTEwpOworfQorCisvKgorICogU2V0IHRoZSBjdXJyZW50IHRhYiB0byAibnIiLiAgRmlyc3QgdGFiIGlzIDEuCisgKi8KKyAgICB2b2lkCitndWlfbWNoX3NldF9jdXJ0YWIobnIpCisgICAgaW50CQlucjsKK3sKKyAgICBpbnQJCWN1cnJlbnRwYWdlOworCisgICAgaWYgKHRhYkxpbmUgPT0gKFdpZGdldCkwKQorCXJldHVybjsKKworICAgIFh0VmFHZXRWYWx1ZXModGFiTGluZSwgWG1OY3VycmVudFBhZ2VOdW1iZXIsICZjdXJyZW50cGFnZSwgTlVMTCk7CisgICAgaWYgKGN1cnJlbnRwYWdlICE9IG5yKQorCVh0VmFTZXRWYWx1ZXModGFiTGluZSwgWG1OY3VycmVudFBhZ2VOdW1iZXIsIG5yLCBOVUxMKTsKK30KKyNlbmRpZgorCiAvKgogICogU2V0IHRoZSBjb2xvcnMgb2YgV2lkZ2V0ICJpZCIgdG8gdGhlIG1lbnUgY29sb3JzLgogICovCmRpZmYgLS1naXQgYS9zcmMvZ3VpX3czMi5jIGIvc3JjL2d1aV93MzIuYwppbmRleCA3YTAxZDk4Li4wZTZlODU3IDEwMDY0NAotLS0gYS9zcmMvZ3VpX3czMi5jCisrKyBiL3NyYy9ndWlfdzMyLmMKQEAgLTcyNyw2ICs3MjcsMzMgQEAKIAkgICAgfQogCSAgICByZXR1cm4gTXlXaW5kb3dQcm9jKGh3bmQsIHVNc2csIHdQYXJhbSwgbFBhcmFtKTsKIAl9CisJY2FzZSBXTV9MQlVUVE9OREJMQ0xLOgorCXsKKwkgICAgLyoKKwkgICAgICogSWYgdGhlIHVzZXIgZG91YmxlIGNsaWNrZWQgdGhlIHRhYmxpbmUsIGNyZWF0ZSBhIG5ldyB0YWIKKwkgICAgICovCisJICAgIGlmIChndWlfbWNoX3Nob3dpbmdfdGFibGluZSgpKQorCSAgICB7CisJCVBPSU5UIHB0OworCQlSRUNUIHJlY3Q7CisKKwkJR2V0Q3Vyc29yUG9zKChMUFBPSU5UKSZwdCk7CisJCUdldFdpbmRvd1JlY3Qoc190ZXh0QXJlYSwgJnJlY3QpOworCQlpZiAocHQueSA8IHJlY3QudG9wKQorCQl7CisJCSAgICBjaGFyX3UJICAgIHN0cmluZ1szXTsKKworCQkgICAgc3RyaW5nWzBdID0gQ1NJOworCQkgICAgc3RyaW5nWzFdID0gS1NfVEFCTUVOVTsKKwkJICAgIHN0cmluZ1syXSA9IEtFX0ZJTExFUjsKKwkJICAgIGFkZF90b19pbnB1dF9idWYoc3RyaW5nLCAzKTsKKwkJICAgIHN0cmluZ1swXSA9IDA7CisJCSAgICBzdHJpbmdbMV0gPSAoY2hhcl91KShsb25nKVRBQkxJTkVfTUVOVV9ORVc7CisJCSAgICBhZGRfdG9faW5wdXRfYnVmX2NzaShzdHJpbmcsIDIpOworCQl9CisJICAgIH0KKwkgICAgcmV0dXJuIE15V2luZG93UHJvYyhod25kLCB1TXNnLCB3UGFyYW0sIGxQYXJhbSk7CisJfQogI2VuZGlmCiAKICAgICBjYXNlIFdNX1FVRVJZRU5EU0VTU0lPTjoJLyogU3lzdGVtIHdhbnRzIHRvIGdvIGRvd24uICovCkBAIC0xMTUyLDcgKzExNzksNyBAQAogICAgICAqIE90aGVyd2lzZSBvbmx5IGNoYXJhY3RlcnMgaW4gdGhlIGFjdGl2ZSBjb2RlcGFnZSB3aWxsIHdvcmsuICovCiAgICAgaWYgKEdldENsYXNzSW5mb1coc19oaW5zdCwgc3pWaW1XbmRDbGFzc1csICZ3bmRjbGFzc3cpID09IDApCiAgICAgewotCXduZGNsYXNzdy5zdHlsZSA9IDA7CisJd25kY2xhc3N3LnN0eWxlID0gQ1NfREJMQ0xLUzsKIAl3bmRjbGFzc3cubHBmblduZFByb2MgPSBfV25kUHJvYzsKIAl3bmRjbGFzc3cuY2JDbHNFeHRyYSA9IDA7CiAJd25kY2xhc3N3LmNiV25kRXh0cmEgPSAwOwpAQCAtMTE4Myw3ICsxMjEwLDcgQEAKIAogICAgIGlmIChHZXRDbGFzc0luZm8oc19oaW5zdCwgc3pWaW1XbmRDbGFzcywgJnduZGNsYXNzKSA9PSAwKQogICAgIHsKLQl3bmRjbGFzcy5zdHlsZSA9IDA7CisJd25kY2xhc3Muc3R5bGUgPSBDU19EQkxDTEtTOwogCXduZGNsYXNzLmxwZm5XbmRQcm9jID0gX1duZFByb2M7CiAJd25kY2xhc3MuY2JDbHNFeHRyYSA9IDA7CiAJd25kY2xhc3MuY2JXbmRFeHRyYSA9IDA7CkBAIC0xNDEyLDExICsxNDM5LDEzIEBACiAgICAgaW50CQl3aW5feHBvcywgd2luX3lwb3M7CiAgICAgV0lORE9XUExBQ0VNRU5UIHduZHBsOwogCi0gICAgLyogdHJ5IHRvIGtlZXAgd2luZG93IGNvbXBsZXRlbHkgb24gc2NyZWVuICovCi0gICAgLyogZ2V0IHNpemUgb2YgdGhlIHNjcmVlbiB3b3JrIGFyZWEgKGV4Y2x1ZGVzIHRhc2tiYXIsIGFwcGJhcnMpICovCisgICAgLyogVHJ5IHRvIGtlZXAgd2luZG93IGNvbXBsZXRlbHkgb24gc2NyZWVuLiAqLworICAgIC8qIEdldCBwb3NpdGlvbiBvZiB0aGUgc2NyZWVuIHdvcmsgYXJlYS4gIFRoaXMgaXMgdGhlIHBhcnQgdGhhdCBpcyBub3QKKyAgICAgKiB1c2VkIGJ5IHRoZSB0YXNrYmFyIG9yIGFwcGJhcnMuICovCiAgICAgZ2V0X3dvcmtfYXJlYSgmd29ya2FyZWFfcmVjdCk7CiAKLSAgICAvKiBnZXQgY3VycmVudCBwb3Npc2lvbiBvZiBvdXIgd2luZG93ICovCisgICAgLyogR2V0IGN1cnJlbnQgcG9zaXNpb24gb2Ygb3VyIHdpbmRvdy4gIE5vdGUgdGhhdCB0aGUgLmxlZnQgYW5kIC50b3AgYXJlCisgICAgICogcmVsYXRpdmUgdG8gdGhlIHdvcmsgYXJlYS4gICovCiAgICAgd25kcGwubGVuZ3RoID0gc2l6ZW9mKFdJTkRPV1BMQUNFTUVOVCk7CiAgICAgR2V0V2luZG93UGxhY2VtZW50KHNfaHduZCwgJnduZHBsKTsKIApAQCAtMTQ0MiwyOCArMTQ3MSwyMSBAQAogI2VuZGlmCiAJCQk7CiAKLSAgICAvKiBpZiB0aGUgd2luZG93IGlzIGdvaW5nIG9mZiB0aGUgc2NyZWVuLCBtb3ZlIGl0IG9uIHRvIHRoZSBzY3JlZW4gKi8KLSAgICBpZiAoKGRpcmVjdGlvbiAmIFJFU0laRV9IT1IpICYmIHdpbl94cG9zICsgd2luX3dpZHRoID4gd29ya2FyZWFfcmVjdC5yaWdodCkKLQl3aW5feHBvcyA9IHdvcmthcmVhX3JlY3QucmlnaHQgLSB3aW5fd2lkdGg7CisgICAgLyogSWYgdGhlIHdpbmRvdyBpcyBnb2luZyBvZmYgdGhlIHNjcmVlbiwgbW92ZSBpdCBvbiB0byB0aGUgc2NyZWVuLgorICAgICAqIHdpbl94cG9zIGFuZCB3aW5feXBvcyBhcmUgcmVsYXRpdmUgdG8gdGhlIHdvcmthcmVhLiAqLworICAgIGlmICgoZGlyZWN0aW9uICYgUkVTSVpFX0hPUikKKwkgICAmJiB3b3JrYXJlYV9yZWN0LmxlZnQgKyB3aW5feHBvcyArIHdpbl93aWR0aCA+IHdvcmthcmVhX3JlY3QucmlnaHQpCisJd2luX3hwb3MgPSB3b3JrYXJlYV9yZWN0LnJpZ2h0IC0gd2luX3dpZHRoIC0gd29ya2FyZWFfcmVjdC5sZWZ0OwogCi0gICAgaWYgKChkaXJlY3Rpb24gJiBSRVNJWkVfSE9SKSAmJiB3aW5feHBvcyA8IHdvcmthcmVhX3JlY3QubGVmdCkKLQl3aW5feHBvcyA9IHdvcmthcmVhX3JlY3QubGVmdDsKKyAgICBpZiAoKGRpcmVjdGlvbiAmIFJFU0laRV9IT1IpICYmIHdpbl94cG9zIDwgMCkKKwl3aW5feHBvcyA9IDA7CiAKICAgICBpZiAoKGRpcmVjdGlvbiAmIFJFU0laRV9WRVJUKQotCQkJICAgICAgJiYgd2luX3lwb3MgKyB3aW5faGVpZ2h0ID4gd29ya2FyZWFfcmVjdC5ib3R0b20pCi0Jd2luX3lwb3MgPSB3b3JrYXJlYV9yZWN0LmJvdHRvbSAtIHdpbl9oZWlnaHQ7CisJICAmJiB3b3JrYXJlYV9yZWN0LnRvcCArIHdpbl95cG9zICsgd2luX2hlaWdodCA+IHdvcmthcmVhX3JlY3QuYm90dG9tKQorCXdpbl95cG9zID0gd29ya2FyZWFfcmVjdC5ib3R0b20gLSB3aW5faGVpZ2h0IC0gd29ya2FyZWFfcmVjdC50b3A7CiAKLSAgICBpZiAoKGRpcmVjdGlvbiAmIFJFU0laRV9WRVJUKSAmJiB3aW5feXBvcyA8IHdvcmthcmVhX3JlY3QudG9wKQotCXdpbl95cG9zID0gd29ya2FyZWFfcmVjdC50b3A7Ci0KLSAgICAvKiBXaGVuIHRoZSB0YXNrYmFyIGlzIHBsYWNlZCBvbiB0aGUgbGVmdCBvciB0b3Agb2YgdGhlIHNjcmVlbiwKLSAgICAgKiBTZXRXaW5kb3dQbGFjZW1lbnQoKSBhZGRzIGl0cyB3aWR0aCBvciBoZWlnaHQgYXV0b21hdGljYWxseSwgY29tcGVuc2F0ZQotICAgICAqIGZvciB0aGF0LiAgV2hlbiB0aGUgb2Zmc2V0IGlzIG92ZXIgNDAwIGl0J3MgcHJvYmFibHkgc29tZXRoaW5nIGVsc2UsCi0gICAgICogc2tpcCBpdCB0aGVuIChqdXN0IGluIGNhc2UpLiAqLwotICAgIGlmICh3b3JrYXJlYV9yZWN0LmxlZnQgPiAwICYmIHdvcmthcmVhX3JlY3QubGVmdCA8IDQwMCkKLQl3aW5feHBvcyAtPSB3b3JrYXJlYV9yZWN0LmxlZnQ7Ci0gICAgaWYgKHdvcmthcmVhX3JlY3QudG9wID4gMCAmJiB3b3JrYXJlYV9yZWN0LnRvcCA8IDQwMCkKLQl3aW5feXBvcyAtPSB3b3JrYXJlYV9yZWN0LnRvcDsKKyAgICBpZiAoKGRpcmVjdGlvbiAmIFJFU0laRV9WRVJUKSAmJiB3aW5feXBvcyA8IDApCisJd2luX3lwb3MgPSAwOwogCiAgICAgd25kcGwucmNOb3JtYWxQb3NpdGlvbi5sZWZ0ID0gd2luX3hwb3M7CiAgICAgd25kcGwucmNOb3JtYWxQb3NpdGlvbi5yaWdodCA9IHdpbl94cG9zICsgd2luX3dpZHRoOwpAQCAtMjI5MCwxMyArMjMxMiwxMyBAQAogCiAgICAgZ2V0X3dvcmtfYXJlYSgmd29ya2FyZWFfcmVjdCk7CiAKLSAgICAqc2NyZWVuX3cgPSB3b3JrYXJlYV9yZWN0LnJpZ2h0CisgICAgKnNjcmVlbl93ID0gd29ya2FyZWFfcmVjdC5yaWdodCAtIHdvcmthcmVhX3JlY3QubGVmdAogCSAgICAgICAgLSBHZXRTeXN0ZW1NZXRyaWNzKFNNX0NYRlJBTUUpICogMjsKIAogICAgIC8qIEZJWE1FOiBkaXJ0eSB0cmljazogQmVjYXVzZSB0aGUgZ3VpX2dldF9iYXNlX2hlaWdodCgpIGRvZXNuJ3QgaW5jbHVkZQogICAgICAqIHRoZSBtZW51YmFyIGZvciBNU3dpbiwgd2Ugc3VidHJhY3QgaXQgZnJvbSB0aGUgc2NyZWVuIGhlaWdodCwgc28gdGhhdAogICAgICAqIHRoZSB3aW5kb3cgc2l6ZSBjYW4gYmUgbWFkZSB0byBmaXQgb24gdGhlIHNjcmVlbi4gKi8KLSAgICAqc2NyZWVuX2ggPSB3b3JrYXJlYV9yZWN0LmJvdHRvbQorICAgICpzY3JlZW5faCA9IHdvcmthcmVhX3JlY3QuYm90dG9tIC0gd29ya2FyZWFfcmVjdC50b3AKIAkgICAgICAgIC0gR2V0U3lzdGVtTWV0cmljcyhTTV9DWUZSQU1FKSAqIDIKIAkJLSBHZXRTeXN0ZW1NZXRyaWNzKFNNX0NZQ0FQVElPTikKICNpZmRlZiBGRUFUX01FTlUKQEAgLTM5NTYsMTEgKzM5NzgsMjQgQEAKICAgICBzdGF0aWMgdm9pZAogaW5pdGlhbGlzZV90YWJsaW5lKHZvaWQpCiB7CisjIGlmZGVmIFVTRV9TWVNNRU5VX0ZPTlQKKyAgICBMT0dGT05UICAgIGxmU3lzbWVudTsKKyMgZW5kaWYKKwogICAgIEluaXRDb21tb25Db250cm9scygpOwogCi0gICAgc190YWJod25kID0gQ3JlYXRlV2luZG93KFdDX1RBQkNPTlRST0wsICIiLCBXU19DSElMRHxUQ1NfRk9DVVNORVZFUiwKKyAgICBzX3RhYmh3bmQgPSBDcmVhdGVXaW5kb3coV0NfVEFCQ09OVFJPTCwgIlZpbSB0YWJsaW5lIiwKKwkgICAgV1NfQ0hJTER8VENTX0ZPQ1VTTkVWRVIsCiAJICAgIENXX1VTRURFRkFVTFQsIENXX1VTRURFRkFVTFQsIENXX1VTRURFRkFVTFQsCiAJICAgIENXX1VTRURFRkFVTFQsIHNfaHduZCwgTlVMTCwgc19oaW5zdCwgTlVMTCk7CisKKyMgaWZkZWYgVVNFX1NZU01FTlVfRk9OVAorICAgIGlmIChndWlfdzMyX2dldF9tZW51X2ZvbnQoJmxmU3lzbWVudSkgPT0gT0spCisgICAgeworCUhGT05UIGZvbnQgPSBDcmVhdGVGb250SW5kaXJlY3QoJmxmU3lzbWVudSk7CisJU2VuZE1lc3NhZ2Uoc190YWJod25kLCBXTV9TRVRGT05ULCAoV1BBUkFNKSBmb250LCBUUlVFKTsKKyAgICB9CisjIGVuZGlmCiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvc3JjL2d1aV94bWVidy5jIGIvc3JjL2d1aV94bWVidy5jCmluZGV4IGZmN2QyZTYuLjcwZTdkZjcgMTAwNjQ0Ci0tLSBhL3NyYy9ndWlfeG1lYncuYworKysgYi9zcmMvZ3VpX3htZWJ3LmMKQEAgLTI4LDcgKzI4LDcgQEAKICNpbmNsdWRlIDxYbS9YbVAuaD4KICNpbmNsdWRlIDxYbS9EcmF3UC5oPgogI2lmIGRlZmluZWQoSEFWRV9YTV9UUkFJVFBfSCkgJiYgZGVmaW5lZChIQVZFX1hNX01BTkFHRVJfSCkgXAotICAgICYmIGRlZmluZWQoSEFWRV9YTV9VTkhJR0hMSUdIVF9IKSAmJiBkZWZpbmVkKEhBVkVfWE1fWFBNUF9IKQorCSYmIGRlZmluZWQoSEFWRV9YTV9VTkhJR0hMSUdIVFRfSCkgJiYgZGVmaW5lZChIQVZFX1hNX1hQTVBfSCkKICMgaW5jbHVkZSA8WG0vVHJhaXRQLmg+CiAjIGluY2x1ZGUgPFhtL01hbmFnZXIuaD4KICMgaW5jbHVkZSA8WG0vVW5oaWdobGlnaHRULmg+CkBAIC0yNzQsNyArMjc0LDkgQEAKICAgICBzdGF0aWMgdm9pZAogc2V0X3BpeG1hcChYbUVuaGFuY2VkQnV0dG9uV2lkZ2V0IGViKQogewotICAgIFhwbUF0dHJpYnV0ZXMgICBhdHRyOworICAgIC8qIENvbmZpZ3VyZSBkZWZpbmVzIFhQTUFUVFJJQlVURVNfVFlQRSBhcyBYcG1BdHRyaWJ1dGVzIG9yIGFzCisgICAgICogWHBtQXR0cmlidXRlc18yMSwgZGVwZW5kaW5nIG9uIHdoYXQgaXMgaW4gWG0vWHBtUC5oLiAqLworICAgIFhQTUFUVFJJQlVURVNfVFlQRSAgIGF0dHI7CiAgICAgUGl4bWFwCSAgICBzZW5fcGl4OwogICAgIFdpbmRvdwkgICAgcm9vdDsKICAgICBzdGF0aWMgWHBtQ29sb3JTeW1ib2wgY29sb3JbOF0gPSB7CmRpZmYgLS1naXQgYS9zcmMvaGFyZGNvcHkuYyBiL3NyYy9oYXJkY29weS5jCmluZGV4IGU5YWEyYmQuLmU2Yzg5YTYgMTAwNjQ0Ci0tLSBhL3NyYy9oYXJkY29weS5jCisrKyBiL3NyYy9oYXJkY29weS5jCkBAIC0yNDczLDYgKzI0NzMsNyBAQAogICAgIGRvdWJsZSAgICAgIHRvcDsKICAgICBkb3VibGUgICAgICBib3R0b207CiAjaWZkZWYgRkVBVF9NQllURQorICAgIGludCAgICAgICAgIHByb3BzOwogICAgIGludCAgICAgICAgIGNtYXA7CiAgICAgY2hhcl91CSpwX2VuY29kaW5nOwogICAgIHN0cnVjdCBwcnRfcHNfZW5jb2RpbmdfUyAqcF9tYmVuYzsKQEAgLTI1MTAsMjIgKzI1MTEsMjYgQEAKICAgICAgKiBUaGlzIGlzIHRvIGNvcGUgd2l0aCB0aGUgZmFjdCB0aGF0IHZhcmlvdXMgdW5pY29kZSBlbmNvZGluZ3MgYXJlCiAgICAgICogc3VwcG9ydGVkIGluIG1vcmUgdGhhbiBvbmUgb2YgQ0pLLiAqLwogICAgIHBfbWJlbmMgPSBOVUxMOwotICAgIHBfbWJlbmNfZmlyc3QgPSBOVUxMOwotICAgIHBfbWJjaGFyID0gTlVMTDsKLSAgICBmb3IgKGNtYXAgPSAwOyBjbWFwIDwgTlVNX0VMRU1FTlRTKHBydF9wc19tYmZvbnRzKTsgY21hcCsrKQotICAgICAgICBpZiAocHJ0X21hdGNoX2VuY29kaW5nKChjaGFyICopcF9lbmNvZGluZywgJnBydF9wc19tYmZvbnRzW2NtYXBdLAorICAgIHByb3BzID0gZW5jX2Nhbm9uX3Byb3BzKHBfZW5jb2RpbmcpOworICAgIGlmICghKHByb3BzICYgRU5DXzhCSVQpICYmICgqcF9wZW5jICE9IE5VTCB8fCAqcF9wbWNzICE9IE5VTCkpCisgICAgeworICAgICAgICBwX21iZW5jX2ZpcnN0ID0gTlVMTDsKKyAgICAgICAgcF9tYmNoYXIgPSBOVUxMOworICAgICAgICBmb3IgKGNtYXAgPSAwOyBjbWFwIDwgTlVNX0VMRU1FTlRTKHBydF9wc19tYmZvbnRzKTsgY21hcCsrKQorICAgICAgICAgICAgaWYgKHBydF9tYXRjaF9lbmNvZGluZygoY2hhciAqKXBfZW5jb2RpbmcsICZwcnRfcHNfbWJmb250c1tjbWFwXSwKIAkJCQkJCQkJICAgICZwX21iZW5jKSkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKHBfbWJlbmNfZmlyc3QgPT0gTlVMTCkKLSAgICAgICAgICAgICAgICBwX21iZW5jX2ZpcnN0ID0gcF9tYmVuYzsKLSAgICAgICAgICAgIGlmIChwcnRfbWF0Y2hfY2hhcnNldCgoY2hhciAqKXBfcG1jcywgJnBydF9wc19tYmZvbnRzW2NtYXBdLAorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGlmIChwX21iZW5jX2ZpcnN0ID09IE5VTEwpCisgICAgICAgICAgICAgICAgICAgIHBfbWJlbmNfZmlyc3QgPSBwX21iZW5jOworICAgICAgICAgICAgICAgIGlmIChwcnRfbWF0Y2hfY2hhcnNldCgoY2hhciAqKXBfcG1jcywgJnBydF9wc19tYmZvbnRzW2NtYXBdLAogCQkJCQkJCQkgICAmcF9tYmNoYXIpKQotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQogCi0gICAgLyogVXNlIGZpcnN0IGVuY29kaW5nIG1hdGNoZWQgaWYgbm8gY2hhcnNldCBtYXRjaGVkICovCi0gICAgaWYgKHBfbWJjaGFyID09IE5VTEwgJiYgcF9tYmVuY19maXJzdCAhPSBOVUxMKQotICAgICAgICBwX21iZW5jID0gcF9tYmVuY19maXJzdDsKKyAgICAgICAgLyogVXNlIGZpcnN0IGVuY29kaW5nIG1hdGNoZWQgaWYgbm8gY2hhcnNldCBtYXRjaGVkICovCisgICAgICAgIGlmIChwX21iY2hhciA9PSBOVUxMICYmIHBfbWJlbmNfZmlyc3QgIT0gTlVMTCkKKyAgICAgICAgICAgIHBfbWJlbmMgPSBwX21iZW5jX2ZpcnN0OworICAgIH0KIAogICAgIHBydF9vdXRfbWJ5dGUgPSAocF9tYmVuYyAhPSBOVUxMKTsKICAgICBpZiAocHJ0X291dF9tYnl0ZSkKZGlmZiAtLWdpdCBhL3NyYy9pZl94Y21kc3J2LmMgYi9zcmMvaWZfeGNtZHNydi5jCmluZGV4IGQxOWY1MGQuLmVmNmUyNTcgMTAwNjQ0Ci0tLSBhL3NyYy9pZl94Y21kc3J2LmMKKysrIGIvc3JjL2lmX3hjbWRzcnYuYwpAQCAtMTExMSwxNCArMTExMSwyMyBAQAogICAgIGludAkJcmVzdWx0LCBhY3R1YWxGb3JtYXQ7CiAgICAgbG9uZ191CWJ5dGVzQWZ0ZXI7CiAgICAgQXRvbQlhY3R1YWxUeXBlOworICAgIFhFcnJvckhhbmRsZXIgb2xkX2hhbmRsZXI7CiAKICAgICAqcmVnUHJvcHAgPSBOVUxMOworICAgIG9sZF9oYW5kbGVyID0gWFNldEVycm9ySGFuZGxlcih4X2Vycm9yX2NoZWNrKTsKKyAgICBnb3RfeF9lcnJvciA9IEZBTFNFOworCiAgICAgcmVzdWx0ID0gWEdldFdpbmRvd1Byb3BlcnR5KGRweSwgUm9vdFdpbmRvdyhkcHksIDApLCByZWdpc3RyeVByb3BlcnR5LCAwTCwKIAkJCQkobG9uZylNQVhfUFJPUF9XT1JEUywgRmFsc2UsCiAJCQkJWEFfU1RSSU5HLCAmYWN0dWFsVHlwZSwKIAkJCQkmYWN0dWFsRm9ybWF0LCBudW1JdGVtc3AsICZieXRlc0FmdGVyLAogCQkJCXJlZ1Byb3BwKTsKIAorICAgIFhTeW5jKGRweSwgRkFMU0UpOworICAgICh2b2lkKVhTZXRFcnJvckhhbmRsZXIob2xkX2hhbmRsZXIpOworICAgIGlmIChnb3RfeF9lcnJvcikKKwlyZXR1cm4gRkFJTDsKKwogICAgIGlmIChhY3R1YWxUeXBlID09IE5vbmUpCiAgICAgewogCS8qIE5vIHByb3AgeWV0LiBMb2dpY2FsbHkgZXF1YWwgdG8gdGhlIGVtcHR5IGxpc3QgKi8KZGlmZiAtLWdpdCBhL3NyYy9pbmZwbGlzdC54bWwgYi9zcmMvaW5mcGxpc3QueG1sCmluZGV4IGYwYmE1ZmMuLmM1OGNmNzQgMTAwNjQ0Ci0tLSBhL3NyYy9pbmZwbGlzdC54bWwKKysrIGIvc3JjL2luZnBsaXN0LnhtbApAQCAtNCw2ICs0LDggQEAKIDxwbGlzdCB2ZXJzaW9uPSIwLjkiPgogCTxkaWN0PgogCisJCTxrZXk+Q0ZCdW5kbGVJZGVudGlmaWVyPC9rZXk+CisJCTxzdHJpbmc+b3JnLnZpbS5WaW0tQVBQX1ZFUjwvc3RyaW5nPgogCQk8a2V5PkNGQnVuZGxlSW5mb0RpY3Rpb25hcnlWZXJzaW9uPC9rZXk+CiAJCTxzdHJpbmc+Ni4wPC9zdHJpbmc+CiAKQEAgLTI1LDE5ICsyNyw0MCBAQAogCQk8a2V5PkNTUmVzb3VyY2VzRmlsZU1hcHBlZDwva2V5PgogCQk8dHJ1ZS8+CiAJCTxrZXk+Q0ZCdW5kbGVJY29uRmlsZTwva2V5PgotCQk8c3RyaW5nPklDT05fQVBQPC9zdHJpbmc+CisJCTxzdHJpbmc+YXBwLmljbnM8L3N0cmluZz4KIAogCQk8a2V5PkNGQnVuZGxlRG9jdW1lbnRUeXBlczwva2V5PgogCQk8YXJyYXk+CiAJCQk8ZGljdD4KIAkJCQk8a2V5PkNGQnVuZGxlVHlwZUV4dGVuc2lvbnM8L2tleT4KIAkJCQk8YXJyYXk+Ci0JCQkJCTxzdHJpbmc+Kjwvc3RyaW5nPgorCQkJCQk8c3RyaW5nPnR4dDwvc3RyaW5nPgorCQkJCQk8c3RyaW5nPnRleHQ8L3N0cmluZz4KKwkJCQk8L2FycmF5PgorCQkJCTxrZXk+Q0ZCdW5kbGVUeXBlTUlNRVR5cGVzPC9rZXk+CisJCQkJPGFycmF5PgorCQkJCQk8c3RyaW5nPnRleHQvcGxhaW48L3N0cmluZz4KIAkJCQk8L2FycmF5PgogCQkJCTxrZXk+Q0ZCdW5kbGVUeXBlSWNvbkZpbGU8L2tleT4KIAkJCQk8c3RyaW5nPmRvYy10eHQuaWNuczwvc3RyaW5nPgogCQkJCTxrZXk+Q0ZCdW5kbGVUeXBlTmFtZTwva2V5PgotCQkJCTxzdHJpbmc+TlNTdHJpbmdQYm9hcmRUeXBlPC9zdHJpbmc+CisJCQkJPHN0cmluZz5UZXh0IEZpbGU8L3N0cmluZz4KKwkJCQk8a2V5PkNGQnVuZGxlVHlwZVJvbGU8L2tleT4KKwkJCQk8c3RyaW5nPkVkaXRvcjwvc3RyaW5nPgorCQkJPC9kaWN0PgorCQkJPGRpY3Q+CisJCQkJPGtleT5DRkJ1bmRsZVR5cGVFeHRlbnNpb25zPC9rZXk+CisJCQkJPGFycmF5PgorCQkJCQk8c3RyaW5nPio8L3N0cmluZz4KKwkJCQk8L2FycmF5PgorCQkJCTxrZXk+Q0ZCdW5kbGVUeXBlTUlNRVR5cGVzPC9rZXk+CisJCQkJPGFycmF5PgorCQkJCQk8c3RyaW5nPnRleHQvKjwvc3RyaW5nPgorCQkJCTwvYXJyYXk+CisJCQkJPGtleT5DRkJ1bmRsZVR5cGVJY29uRmlsZTwva2V5PgorCQkJCTxzdHJpbmc+ZG9jLmljbnM8L3N0cmluZz4KKwkJCQk8a2V5PkNGQnVuZGxlVHlwZU5hbWU8L2tleT4KKwkJCQk8c3RyaW5nPkZpbGU8L3N0cmluZz4KIAkJCQk8a2V5PkNGQnVuZGxlVHlwZU9TVHlwZXM8L2tleT4KIAkJCQk8YXJyYXk+CiAJCQkJCTxzdHJpbmc+KioqKjwvc3RyaW5nPgpkaWZmIC0tZ2l0IGEvc3JjL2luc3RhbGxtYW4uc2ggYi9zcmMvaW5zdGFsbG1hbi5zaAppbmRleCAzYzM0YWI2Li45OTQzMTA5IDEwMDc1NQotLS0gYS9zcmMvaW5zdGFsbG1hbi5zaAorKysgYi9zcmMvaW5zdGFsbG1hbi5zaApAQCAtMjUsOCArMjUsMTEgQEAKIGhlbHBzb3VyY2U9JDcKIG1hbm1vZD0kOAogZXhlbmFtZT0kOQotdmltZGlmZm5hbWU9JHsxMH0KLWV2aW1uYW1lPSR7MTF9CisjIG9sZGVyIHNoZWxscyBkb24ndCBzdXBwb3J0ICR7MTB9CitzaGlmdAordmltZGlmZm5hbWU9JDkKK3NoaWZ0CitldmltbmFtZT0kOQogCiBoZWxwc3VibG9jPSRzY3JpcHRsb2MvZG9jCiBzeW5zdWJsb2M9JHNjcmlwdGxvYy9zeW50YXgKZGlmZiAtLWdpdCBhL3NyYy9pbnN0YWxsbWwuc2ggYi9zcmMvaW5zdGFsbG1sLnNoCmluZGV4IDhjYjkyNjQuLjBkZTYwYWQgMTAwNjQ0Ci0tLSBhL3NyYy9pbnN0YWxsbWwuc2gKKysrIGIvc3JjL2luc3RhbGxtbC5zaApAQCAtMzAsNDAgKzMwLDQ4IEBACiBleG5hbWU9JDcKIHZpZXduYW1lPSQ4CiBydmltbmFtZT0kOQotcnZpZXduYW1lPSR7MTB9Ci1ndmltbmFtZT0kezExfQotZ3ZpZXduYW1lPSR7MTJ9Ci1yZ3ZpbW5hbWU9JHsxM30KLXJndmlld25hbWU9JHsxNH0KLWd2aW1kaWZmbmFtZT0kezE1fQotZXZpZXduYW1lPSR7MTZ9CisjIG9sZCBzaGVsbHMgZG9uJ3QgdW5kZXJzdGFuZCAkezEwfQorc2hpZnQKK3J2aWV3bmFtZT0kOQorc2hpZnQKK2d2aW1uYW1lPSQ5CitzaGlmdAorZ3ZpZXduYW1lPSQ5CitzaGlmdAorcmd2aW1uYW1lPSQ5CitzaGlmdAorcmd2aWV3bmFtZT0kOQorc2hpZnQKK2d2aW1kaWZmbmFtZT0kOQorc2hpZnQKK2V2aWV3bmFtZT0kOQogCi1pZiB0ZXN0ICR3aGF0ID0gImluc3RhbGwiIC1hIFwoIC1lICRkZXN0ZGlyLyR2aW1uYW1lLjEgLW8gLWUgJGRlc3RkaXIvJHZpbWRpZmZuYW1lLjEgLW8gLWUgJGRlc3RkaXIvJGV2aWV3bmFtZS4xIFwpOyB0aGVuCitpZiB0ZXN0ICR3aGF0ID0gImluc3RhbGwiIC1hIFwoIC1mICRkZXN0ZGlyLyR2aW1uYW1lLjEgLW8gLWYgJGRlc3RkaXIvJHZpbWRpZmZuYW1lLjEgLW8gLWYgJGRlc3RkaXIvJGV2aWV3bmFtZS4xIFwpOyB0aGVuCiAgICBpZiB0ZXN0ICEgLWQgJGRlc3RkaXI7IHRoZW4KICAgICAgIGVjaG8gY3JlYXRpbmcgJGRlc3RkaXIKICAgICAgIC4vbWtpbnN0YWxsZGlycyAkZGVzdGRpcgogICAgZmkKIAogICAgIyBleAotICAgaWYgdGVzdCAhIC1lICRkZXN0ZGlyLyRleG5hbWUuMSAtYSAtZSAkZGVzdGRpci8kdmltbmFtZS4xOyB0aGVuCisgICBpZiB0ZXN0ICEgLWYgJGRlc3RkaXIvJGV4bmFtZS4xIC1hIC1mICRkZXN0ZGlyLyR2aW1uYW1lLjE7IHRoZW4KICAgICAgIGVjaG8gY3JlYXRpbmcgbGluayAkZGVzdGRpci8kZXhuYW1lLjEKICAgICAgIGNkICRkZXN0ZGlyOyBsbiAtcyAkdmltbmFtZS4xICRleG5hbWUuMQogICAgZmkKIAogICAgIyB2aWV3Ci0gICBpZiB0ZXN0ICEgLWUgJGRlc3RkaXIvJHZpZXduYW1lLjEgLWEgLWUgJGRlc3RkaXIvJHZpbW5hbWUuMTsgdGhlbgorICAgaWYgdGVzdCAhIC1mICRkZXN0ZGlyLyR2aWV3bmFtZS4xIC1hIC1mICRkZXN0ZGlyLyR2aW1uYW1lLjE7IHRoZW4KICAgICAgIGVjaG8gY3JlYXRpbmcgbGluayAkZGVzdGRpci8kdmlld25hbWUuMQogICAgICAgY2QgJGRlc3RkaXI7IGxuIC1zICR2aW1uYW1lLjEgJHZpZXduYW1lLjEKICAgIGZpCiAKICAgICMgcnZpbQotICAgaWYgdGVzdCAhIC1lICRkZXN0ZGlyLyRydmltbmFtZS4xIC1hIC1lICRkZXN0ZGlyLyR2aW1uYW1lLjE7IHRoZW4KKyAgIGlmIHRlc3QgISAtZiAkZGVzdGRpci8kcnZpbW5hbWUuMSAtYSAtZiAkZGVzdGRpci8kdmltbmFtZS4xOyB0aGVuCiAgICAgICBlY2hvIGNyZWF0aW5nIGxpbmsgJGRlc3RkaXIvJHJ2aW1uYW1lLjEKICAgICAgIGNkICRkZXN0ZGlyOyBsbiAtcyAkdmltbmFtZS4xICRydmltbmFtZS4xCiAgICBmaQogCiAgICAjIHJ2aWV3Ci0gICBpZiB0ZXN0ICEgLWUgJGRlc3RkaXIvJHJ2aWV3bmFtZS4xIC1hIC1lICRkZXN0ZGlyLyR2aW1uYW1lLjE7IHRoZW4KKyAgIGlmIHRlc3QgISAtZiAkZGVzdGRpci8kcnZpZXduYW1lLjEgLWEgLWYgJGRlc3RkaXIvJHZpbW5hbWUuMTsgdGhlbgogICAgICAgZWNobyBjcmVhdGluZyBsaW5rICRkZXN0ZGlyLyRydmlld25hbWUuMQogICAgICAgY2QgJGRlc3RkaXI7IGxuIC1zICR2aW1uYW1lLjEgJHJ2aWV3bmFtZS4xCiAgICBmaQpAQCAtNzEsMzcgKzc5LDM3IEBACiAgICAjIEdVSSB0YXJnZXRzIGFyZSBvcHRpb25hbAogICAgaWYgdGVzdCAiJGd1aSIgPSAieWVzIjsgdGhlbgogICAgICAgIyBndmltCi0gICAgICBpZiB0ZXN0ICEgLWUgJGRlc3RkaXIvJGd2aW1uYW1lLjEgLWEgLWUgJGRlc3RkaXIvJHZpbW5hbWUuMTsgdGhlbgorICAgICAgaWYgdGVzdCAhIC1mICRkZXN0ZGlyLyRndmltbmFtZS4xIC1hIC1mICRkZXN0ZGlyLyR2aW1uYW1lLjE7IHRoZW4KIAkgZWNobyBjcmVhdGluZyBsaW5rICRkZXN0ZGlyLyRndmltbmFtZS4xCiAJIGNkICRkZXN0ZGlyOyBsbiAtcyAkdmltbmFtZS4xICRndmltbmFtZS4xCiAgICAgICBmaQogCiAgICAgICAjIGd2aWV3Ci0gICAgICBpZiB0ZXN0ICEgLWUgJGRlc3RkaXIvJGd2aWV3bmFtZS4xIC1hIC1lICRkZXN0ZGlyLyR2aW1uYW1lLjE7IHRoZW4KKyAgICAgIGlmIHRlc3QgISAtZiAkZGVzdGRpci8kZ3ZpZXduYW1lLjEgLWEgLWYgJGRlc3RkaXIvJHZpbW5hbWUuMTsgdGhlbgogCSBlY2hvIGNyZWF0aW5nIGxpbmsgJGRlc3RkaXIvJGd2aWV3bmFtZS4xCiAJIGNkICRkZXN0ZGlyOyBsbiAtcyAkdmltbmFtZS4xICRndmlld25hbWUuMQogICAgICAgZmkKIAogICAgICAgIyByZ3ZpbQotICAgICAgaWYgdGVzdCAhIC1lICRkZXN0ZGlyLyRyZ3ZpbW5hbWUuMSAtYSAtZSAkZGVzdGRpci8kdmltbmFtZS4xOyB0aGVuCisgICAgICBpZiB0ZXN0ICEgLWYgJGRlc3RkaXIvJHJndmltbmFtZS4xIC1hIC1mICRkZXN0ZGlyLyR2aW1uYW1lLjE7IHRoZW4KIAkgZWNobyBjcmVhdGluZyBsaW5rICRkZXN0ZGlyLyRyZ3ZpbW5hbWUuMQogCSBjZCAkZGVzdGRpcjsgbG4gLXMgJHZpbW5hbWUuMSAkcmd2aW1uYW1lLjEKICAgICAgIGZpCiAKICAgICAgICMgcmd2aWV3Ci0gICAgICBpZiB0ZXN0ICEgLWUgJGRlc3RkaXIvJHJndmlld25hbWUuMSAtYSAtZSAkZGVzdGRpci8kdmltbmFtZS4xOyB0aGVuCisgICAgICBpZiB0ZXN0ICEgLWYgJGRlc3RkaXIvJHJndmlld25hbWUuMSAtYSAtZiAkZGVzdGRpci8kdmltbmFtZS4xOyB0aGVuCiAJIGVjaG8gY3JlYXRpbmcgbGluayAkZGVzdGRpci8kcmd2aWV3bmFtZS4xCiAJIGNkICRkZXN0ZGlyOyBsbiAtcyAkdmltbmFtZS4xICRyZ3ZpZXduYW1lLjEKICAgICAgIGZpCiAKICAgICAgICMgZ3ZpbWRpZmYKLSAgICAgIGlmIHRlc3QgISAtZSAkZGVzdGRpci8kZ3ZpbWRpZmZuYW1lLjEgLWEgLWUgJGRlc3RkaXIvJHZpbWRpZmZuYW1lLjE7IHRoZW4KKyAgICAgIGlmIHRlc3QgISAtZiAkZGVzdGRpci8kZ3ZpbWRpZmZuYW1lLjEgLWEgLWYgJGRlc3RkaXIvJHZpbWRpZmZuYW1lLjE7IHRoZW4KIAkgZWNobyBjcmVhdGluZyBsaW5rICRkZXN0ZGlyLyRndmltZGlmZm5hbWUuMQogCSBjZCAkZGVzdGRpcjsgbG4gLXMgJHZpbWRpZmZuYW1lLjEgJGd2aW1kaWZmbmFtZS4xCiAgICAgICBmaQogCiAgICAgICAjIGV2aWV3Ci0gICAgICBpZiB0ZXN0ICEgLWUgJGRlc3RkaXIvJGV2aWV3bmFtZS4xIC1hIC1lICRkZXN0ZGlyLyRldmltbmFtZS4xOyB0aGVuCisgICAgICBpZiB0ZXN0ICEgLWYgJGRlc3RkaXIvJGV2aWV3bmFtZS4xIC1hIC1mICRkZXN0ZGlyLyRldmltbmFtZS4xOyB0aGVuCiAJIGVjaG8gY3JlYXRpbmcgbGluayAkZGVzdGRpci8kZXZpZXduYW1lLjEKIAkgY2QgJGRlc3RkaXI7IGxuIC1zICRldmltbmFtZS4xICRldmlld25hbWUuMQogICAgICAgZmkKZGlmZiAtLWdpdCBhL3NyYy9tYWluLmFhcCBiL3NyYy9tYWluLmFhcAppbmRleCAzZmIyYTljLi4zY2UwODkwIDEwMDY0NAotLS0gYS9zcmMvbWFpbi5hYXAKKysrIGIvc3JjL21haW4uYWFwCkBAIC03MjQsNiArNzI0LDcgQEAKICAgICAgICAgICAgICAgICAkREVTVF9SVCAkREVTVF9IRUxQICRERVNUX0NPTCAkREVTVF9TWU4gJERFU1RfSU5ECiAgICAgICAgICAgICAgICAgJERFU1RfRlRQICRERVNUX0FVVE8gJERFU1RfUExVRyAkREVTVF9UVVRPUiAkREVTVF9DT01QCiAgICAgICAgICAgICAgICAgJERFU1RfU1BFTEwgJERFU1RfUFJJTlQKKyAgICAgICAgOmNobW9kIDc1NSBpbnN0YWxsbWFuLnNoCiAgICAgICAgIDpzeXMgLi9pbnN0YWxsbWFuLnNoIGluc3RhbGwgJChERVNUX01BTikgIiIgJChJTlNUQUxMTUFOQVJHUykKIAogICAgICAgICA6Y2QgJEhFTFBTT1VSQ0UKQEAgLTg1NSw2ICs4NTYsNyBAQAogICAgICAgICA6Y29weSB4eGQveHhkJEVYRVNVRiAkREVTVF9CSU4KICAgICAgICAgOmRvIHN0cmlwICRERVNUX0JJTi94eGQkRVhFU1VGCiAgICAgICAgIDpjaG1vZCAkQklOTU9EICRERVNUX0JJTi94eGQkRVhFU1VGCisgICAgICAgIDpjaG1vZCA3NTUgaW5zdGFsbG1hbi5zaAogICAgICAgICA6c3lzIC4vaW5zdGFsbG1hbi5zaCB4eGQgJChERVNUX01BTikgIiIgJChJTlNUQUxMTUFOQVJHUykKICMKICMgaW5zdGFsbCB0aGUgcnVudGltZSB0b29scwpAQCAtODkxLDYgKzg5Myw3IEBACiAKICMgaW5zdGFsbCB0aGUgbGFuZ3VhZ2Ugc3BlY2lmaWMgZmlsZXMgZm9yIHRvb2xzLCBpZiB0aGV5IHdlcmUgdW5wYWNrZWQKIGluc3RhbGwtdG9vbC1sYW5ndWFnZXM6CisgICAgICAgIDpjaG1vZCA3NTUgaW5zdGFsbG1hbi5zaAogICAgICAgICA6c3lzIC4vaW5zdGFsbG1hbi5zaCB4eGQgJChERVNUX01BTl9GUikgIi1mciIgJChJTlNUQUxMTUFOQVJHUykKIAk6c3lzIC4vaW5zdGFsbG1hbi5zaCB4eGQgJChERVNUX01BTl9GUl9JKSAiLWZyIiAkKElOU1RBTExNQU5BUkdTKQogCTpzeXMgLi9pbnN0YWxsbWFuLnNoIHh4ZCAkKERFU1RfTUFOX0ZSX1UpICItZnIuVVRGLTgiICQoSU5TVEFMTE1BTkFSR1MpCkBAIC05MDQsNiArOTA3LDcgQEAKIAogIyBpbnN0YWxsIHRoZSBsYW5ndWFnZSBzcGVjaWZpYyBmaWxlcywgaWYgdGhleSB3ZXJlIHVucGFja2VkCiBpbnN0YWxsLWxhbmd1YWdlcyB7dmlydHVhbH17Zm9yY2V9OiBsYW5ndWFnZXMgJERFU1RfTEFORyAkREVTVF9LTUFQCisgICAgICAgIDpjaG1vZCA3NTUgaW5zdGFsbG1hbi5zaAogICAgICAgICA6c3lzIC4vaW5zdGFsbG1hbi5zaCBpbnN0YWxsICQoREVTVF9NQU5fRlIpICItZnIiICQoSU5TVEFMTE1BTkFSR1MpCiAJOnN5cyAuL2luc3RhbGxtYW4uc2ggaW5zdGFsbCAkKERFU1RfTUFOX0ZSX0kpICItZnIiICQoSU5TVEFMTE1BTkFSR1MpCiAJOnN5cyAuL2luc3RhbGxtYW4uc2ggaW5zdGFsbCAkKERFU1RfTUFOX0ZSX1UpICItZnIuVVRGLTgiICQoSU5TVEFMTE1BTkFSR1MpCkBAIC05MTQsNiArOTE4LDcgQEAKIAk6c3lzIC4vaW5zdGFsbG1hbi5zaCBpbnN0YWxsICQoREVTVF9NQU5fUExfVSkgIi1wbC5VVEYtOCIgJChJTlNUQUxMTUFOQVJHUykKIAk6c3lzIC4vaW5zdGFsbG1hbi5zaCBpbnN0YWxsICQoREVTVF9NQU5fUlUpICItcnUiICQoSU5TVEFMTE1BTkFSR1MpCiAJOnN5cyAuL2luc3RhbGxtYW4uc2ggaW5zdGFsbCAkKERFU1RfTUFOX1JVX1UpICItcnUuVVRGLTgiICQoSU5TVEFMTE1BTkFSR1MpCisgICAgICAgIDpjaG1vZCA3NTUgaW5zdGFsbG1sLnNoCiAJOnN5cyAuL2luc3RhbGxtbC5zaCBpbnN0YWxsICIkKEdVSV9NQU5fVEFSR0VUUykiIFwKIAkJJChERVNUX01BTl9GUikgJChJTlNUQUxMTUxBUkdTKQogICAgICAgICA6c3lzIC4vaW5zdGFsbG1sLnNoIGluc3RhbGwgIiQoR1VJX01BTl9UQVJHRVRTKSIgXApAQCAtMTAzNCw2ICsxMDM5LDcgQEAKIAkJJChHVklNRElGRk5BTUUpICQoRVZJRVdOQU1FKQogCiBpbnN0YWxsbWFubGlua3Mge3ZpcnR1YWx9OgorICAgIDpjaG1vZCA3NTUgaW5zdGFsbG1sLnNoCiAgICAgOnN5cyAuL2luc3RhbGxtbC5zaCBpbnN0YWxsICIkKEdVSV9NQU5fVEFSR0VUUykiIFwKIAkJJChERVNUX01BTikgJChJTlNUQUxMTUxBUkdTKQogCkBAIC0xMDU0LDYgKzEwNjAsNyBAQAogIyBOb3RlOiAiZGVsZGlyIiB3aWxsIGZhaWwgaWYgYW55IGZpbGVzIHdlcmUgYWRkZWQgYWZ0ZXIgIm1ha2UgaW5zdGFsbCIsIHRoYXQKICMgaXMgaW50ZW50aW9uYWxseTogS2VlcCBmaWxlcyB0aGUgdXNlciBhZGRlZC4KIHVuaW5zdGFsbF9ydW50aW1lIHt2aXJ0dWFsfXtmb3JjZX06CisgICAgOmNobW9kIDc1NSBpbnN0YWxsbWFuLnNoCiAgICAgOnN5cyAuL2luc3RhbGxtYW4uc2ggdW5pbnN0YWxsICQoREVTVF9NQU4pICIiICQoSU5TVEFMTE1BTkFSR1MpCiAgICAgOnN5cyAuL2luc3RhbGxtYW4uc2ggdW5pbnN0YWxsICQoREVTVF9NQU5fRlIpICIiICQoSU5TVEFMTE1BTkFSR1MpCiAgICAgOnN5cyAuL2luc3RhbGxtYW4uc2ggdW5pbnN0YWxsICQoREVTVF9NQU5fRlJfSSkgIiIgJChJTlNUQUxMTUFOQVJHUykKQEAgLTEwNjUsNiArMTA3Miw3IEBACiAgICAgOnN5cyAuL2luc3RhbGxtYW4uc2ggdW5pbnN0YWxsICQoREVTVF9NQU5fUExfVSkgIiIgJChJTlNUQUxMTUFOQVJHUykKICAgICA6c3lzIC4vaW5zdGFsbG1hbi5zaCB1bmluc3RhbGwgJChERVNUX01BTl9SVSkgIiIgJChJTlNUQUxMTUFOQVJHUykKICAgICA6c3lzIC4vaW5zdGFsbG1hbi5zaCB1bmluc3RhbGwgJChERVNUX01BTl9SVV9VKSAiIiAkKElOU1RBTExNQU5BUkdTKQorICAgIDpjaG1vZCA3NTUgaW5zdGFsbG1sLnNoCiAgICAgOnN5cyAuL2luc3RhbGxtbC5zaCB1bmluc3RhbGwgIiQoR1VJX01BTl9UQVJHRVRTKSIgXAogICAgICAgICAgICAgJChERVNUX01BTikgJChJTlNUQUxMTUxBUkdTKQogICAgIDpzeXMgLi9pbnN0YWxsbWwuc2ggdW5pbnN0YWxsICIkKEdVSV9NQU5fVEFSR0VUUykiIFwKZGlmZiAtLWdpdCBhL3NyYy9tYWluLmMgYi9zcmMvbWFpbi5jCmluZGV4IDMyZjkxMTUuLmY4YjRmYTkgMTAwNjQ0Ci0tLSBhL3NyYy9tYWluLmMKKysrIGIvc3JjL21haW4uYwpAQCAtMjE2OCwxMSArMjE2OCwxMCBAQAogCiAjaWYgZGVmaW5lZChGRUFUX01CWVRFKSAmJiBkZWZpbmVkKFdJTjMyKQogCSAgICB7Ci0JCWV4dGVybiB2b2lkIHVzZWRfZmlsZV9hcmcoY2hhciAqLCBpbnQsIGludCk7Ci0KIAkJLyogUmVtZW1iZXIgdGhpcyBhcmd1bWVudCBoYXMgYmVlbiBhZGRlZCB0byB0aGUgYXJndW1lbnQgbGlzdC4KIAkJICogTmVlZGVkIHdoZW4gJ2VuY29kaW5nJyBpcyBjaGFuZ2VkLiAqLwotCQl1c2VkX2ZpbGVfYXJnKGFyZ3ZbMF0sIHBhcm1wLT5saXRlcmFsLCBwYXJtcC0+ZnVsbF9wYXRoKTsKKwkJdXNlZF9maWxlX2FyZyhhcmd2WzBdLCBwYXJtcC0+bGl0ZXJhbCwgcGFybXAtPmZ1bGxfcGF0aCwKKwkJCQkJCQkgICAgcGFybXAtPmRpZmZfbW9kZSk7CiAJICAgIH0KICNlbmRpZgogCX0KQEAgLTI1NjcsNyArMjU2Niw3IEBACiAgICAgICovCiAgICAgaWYgKHBhcm1wLT5ldmltX21vZGUpCiAgICAgewotCSh2b2lkKWRvX3NvdXJjZSgoY2hhcl91ICopRVZJTV9GSUxFLCBGQUxTRSwgRkFMU0UpOworCSh2b2lkKWRvX3NvdXJjZSgoY2hhcl91ICopRVZJTV9GSUxFLCBGQUxTRSwgRE9TT19OT05FKTsKIAlUSU1FX01TRygic291cmNlIGV2aW0gZmlsZSIpOwogICAgIH0KIApAQCAtMjU4OSw3ICsyNTg4LDcgQEAKIAl9CiAJZWxzZQogCXsKLQkgICAgaWYgKGRvX3NvdXJjZShwYXJtcC0+dXNlX3ZpbXJjLCBGQUxTRSwgRkFMU0UpICE9IE9LKQorCSAgICBpZiAoZG9fc291cmNlKHBhcm1wLT51c2VfdmltcmMsIEZBTFNFLCBET1NPX05PTkUpICE9IE9LKQogCQlFTVNHMihfKCJFMjgyOiBDYW5ub3QgcmVhZCBmcm9tIFwiJXNcIiIpLCBwYXJtcC0+dXNlX3ZpbXJjKTsKIAl9CiAgICAgfQpAQCAtMjYwNywxMCArMjYwNiwxMCBAQAogCSAqIEdldCBzeXN0ZW0gd2lkZSBkZWZhdWx0cywgaWYgdGhlIGZpbGUgbmFtZSBpcyBkZWZpbmVkLgogCSAqLwogI2lmZGVmIFNZU19WSU1SQ19GSUxFCi0JKHZvaWQpZG9fc291cmNlKChjaGFyX3UgKilTWVNfVklNUkNfRklMRSwgRkFMU0UsIEZBTFNFKTsKKwkodm9pZClkb19zb3VyY2UoKGNoYXJfdSAqKVNZU19WSU1SQ19GSUxFLCBGQUxTRSwgRE9TT19OT05FKTsKICNlbmRpZgogI2lmZGVmIE1BQ09TX1gKLQkodm9pZClkb19zb3VyY2UoKGNoYXJfdSAqKSIkVklNUlVOVElNRS9tYWNtYXAudmltIiwgRkFMU0UsIEZBTFNFKTsKKwkodm9pZClkb19zb3VyY2UoKGNoYXJfdSAqKSIkVklNUlVOVElNRS9tYWNtYXAudmltIiwgRkFMU0UsIERPU09fTk9ORSk7CiAjZW5kaWYKIAogCS8qCkBAIC0yNjI1LDE4ICsyNjI0LDIwIEBACiAJICovCiAJaWYgKHByb2Nlc3NfZW52KChjaGFyX3UgKikiVklNSU5JVCIsIFRSVUUpICE9IE9LKQogCXsKLQkgICAgaWYgKGRvX3NvdXJjZSgoY2hhcl91ICopVVNSX1ZJTVJDX0ZJTEUsIFRSVUUsIFRSVUUpID09IEZBSUwKKwkgICAgaWYgKGRvX3NvdXJjZSgoY2hhcl91ICopVVNSX1ZJTVJDX0ZJTEUsIFRSVUUsIERPU09fVklNUkMpID09IEZBSUwKICNpZmRlZiBVU1JfVklNUkNfRklMRTIKLQkJJiYgZG9fc291cmNlKChjaGFyX3UgKilVU1JfVklNUkNfRklMRTIsIFRSVUUsIFRSVUUpID09IEZBSUwKKwkJJiYgZG9fc291cmNlKChjaGFyX3UgKilVU1JfVklNUkNfRklMRTIsIFRSVUUsCisJCQkJCQkJICAgRE9TT19WSU1SQykgPT0gRkFJTAogI2VuZGlmCiAjaWZkZWYgVVNSX1ZJTVJDX0ZJTEUzCi0JCSYmIGRvX3NvdXJjZSgoY2hhcl91ICopVVNSX1ZJTVJDX0ZJTEUzLCBUUlVFLCBUUlVFKSA9PSBGQUlMCisJCSYmIGRvX3NvdXJjZSgoY2hhcl91ICopVVNSX1ZJTVJDX0ZJTEUzLCBUUlVFLAorCQkJCQkJCSAgIERPU09fVklNUkMpID09IEZBSUwKICNlbmRpZgogCQkmJiBwcm9jZXNzX2VudigoY2hhcl91ICopIkVYSU5JVCIsIEZBTFNFKSA9PSBGQUlMCi0JCSYmIGRvX3NvdXJjZSgoY2hhcl91ICopVVNSX0VYUkNfRklMRSwgRkFMU0UsIEZBTFNFKSA9PSBGQUlMKQorCQkmJiBkb19zb3VyY2UoKGNoYXJfdSAqKVVTUl9FWFJDX0ZJTEUsIEZBTFNFLCBET1NPX05PTkUpID09IEZBSUwpCiAJICAgIHsKICNpZmRlZiBVU1JfRVhSQ19GSUxFMgotCQkodm9pZClkb19zb3VyY2UoKGNoYXJfdSAqKVVTUl9FWFJDX0ZJTEUyLCBGQUxTRSwgRkFMU0UpOworCQkodm9pZClkb19zb3VyY2UoKGNoYXJfdSAqKVVTUl9FWFJDX0ZJTEUyLCBGQUxTRSwgRE9TT19OT05FKTsKICNlbmRpZgogCSAgICB9CiAJfQpAQCAtMjY3NCw3ICsyNjc1LDcgQEAKIAkJCQkgICAgICAoY2hhcl91ICopVklNUkNfRklMRSwgRkFMU0UpICE9IEZQQ19TQU1FCiAjZW5kaWYKIAkJCQkpCi0JCWkgPSBkb19zb3VyY2UoKGNoYXJfdSAqKVZJTVJDX0ZJTEUsIFRSVUUsIFRSVUUpOworCQlpID0gZG9fc291cmNlKChjaGFyX3UgKilWSU1SQ19GSUxFLCBUUlVFLCBET1NPX1ZJTVJDKTsKIAogCSAgICBpZiAoaSA9PSBGQUlMKQogCSAgICB7CkBAIC0yNjkyLDcgKzI2OTMsNyBAQAogCQkJCSAgICAgIChjaGFyX3UgKilFWFJDX0ZJTEUsIEZBTFNFKSAhPSBGUENfU0FNRQogI2VuZGlmCiAJCQkJKQotCQkgICAgKHZvaWQpZG9fc291cmNlKChjaGFyX3UgKilFWFJDX0ZJTEUsIEZBTFNFLCBGQUxTRSk7CisJCSAgICAodm9pZClkb19zb3VyY2UoKGNoYXJfdSAqKUVYUkNfRklMRSwgRkFMU0UsIERPU09fTk9ORSk7CiAJICAgIH0KIAl9CiAJaWYgKHNlY3VyZSA9PSAyKQpAQCAtMjczOSw3ICsyNzQwLDcgQEAKICAgICBpZiAoKGluaXRzdHIgPSBtY2hfZ2V0ZW52KGVudikpICE9IE5VTEwgJiYgKmluaXRzdHIgIT0gTlVMKQogICAgIHsKIAlpZiAoaXNfdmltaW5pdCkKLQkgICAgdmltcmNfZm91bmQoKTsKKwkgICAgdmltcmNfZm91bmQoTlVMTCwgTlVMTCk7CiAJc2F2ZV9zb3VyY2luZ19uYW1lID0gc291cmNpbmdfbmFtZTsKIAlzYXZlX3NvdXJjaW5nX2xudW0gPSBzb3VyY2luZ19sbnVtOwogCXNvdXJjaW5nX25hbWUgPSBlbnY7CmRpZmYgLS1naXQgYS9zcmMvbWlzYzEuYyBiL3NyYy9taXNjMS5jCmluZGV4IDE2Mjg2NDIuLjIyZGJmYzggMTAwNjQ0Ci0tLSBhL3NyYy9taXNjMS5jCisrKyBiL3NyYy9taXNjMS5jCkBAIC0yNDM3LDcgKzI0MzcsMTAgQEAKICAgICB7CiAJaW50CXNhdmVfbXNnX3Njcm9sbCA9IG1zZ19zY3JvbGw7CiAKKwkvKiBHaXZlIGEgd2FybmluZyBhYm91dCBjaGFuZ2luZyBhIHJlYWQtb25seSBmaWxlLiAgVGhpcyBtYXkgYWxzbworCSAqIGNoZWNrLW91dCB0aGUgZmlsZSwgdGh1cyBjaGFuZ2UgImN1cmJ1ZiIhICovCiAJY2hhbmdlX3dhcm5pbmcoMCk7CisKIAkvKiBDcmVhdGUgYSBzd2FwIGZpbGUgaWYgdGhhdCBpcyB3YW50ZWQuCiAJICogRG9uJ3QgZG8gdGhpcyBmb3IgIm5vZmlsZSIgYW5kICJub3dyaXRlIiBidWZmZXIgdHlwZXMuICovCiAJaWYgKGN1cmJ1Zi0+Yl9tYXlfc3dhcApAQCAtMjkxMyw3ICsyOTE2LDkgQEAKIAkgICAgJiYgY3VyYnVmLT5iX3Bfcm8pCiAgICAgewogI2lmZGVmIEZFQVRfQVVUT0NNRAorCSsrY3VyYnVmX2xvY2s7CiAJYXBwbHlfYXV0b2NtZHMoRVZFTlRfRklMRUNIQU5HRURSTywgTlVMTCwgTlVMTCwgRkFMU0UsIGN1cmJ1Zik7CisJLS1jdXJidWZfbG9jazsKIAlpZiAoIWN1cmJ1Zi0+Yl9wX3JvKQogCSAgICByZXR1cm47CiAjZW5kaWYKQEAgLTQ0NDgsNiArNDQ1Myw1MyBAQAogfQogI2VuZGlmCiAKKyNpZiBkZWZpbmVkKEZFQVRfR1VJX1RBQkxJTkUpIHx8IGRlZmluZWQoRkVBVF9XSU5ET1dTKSBcCisJfHwgZGVmaW5lZChGRUFUX0VWQUwpIHx8IGRlZmluZWQoUFJPVE8pCisvKgorICogU2hvcnRlbiB0aGUgcGF0aCBvZiBhIGZpbGUgZnJvbSAifi9mb28vLi4vLmJhci9mbmFtZSIgdG8gIn4vZi8uLi8uYi9mbmFtZSIKKyAqIEl0J3MgZG9uZSBpbi1wbGFjZS4KKyAqLworICAgIHZvaWQKK3Nob3J0ZW5fZGlyKHN0cikKKyAgICBjaGFyX3UgKnN0cjsKK3sKKyAgICBjaGFyX3UJKnRhaWwsICpzLCAqZDsKKyAgICBpbnQJCXNraXAgPSBGQUxTRTsKKworICAgIHRhaWwgPSBnZXR0YWlsKHN0cik7CisgICAgZCA9IHN0cjsKKyAgICBmb3IgKHMgPSBzdHI7IDsgKytzKQorICAgIHsKKwlpZiAocyA+PSB0YWlsKQkJICAgIC8qIGNvcHkgdGhlIHdob2xlIHRhaWwgKi8KKwl7CisJICAgICpkKysgPSAqczsKKwkgICAgaWYgKCpzID09IE5VTCkKKwkJYnJlYWs7CisJfQorCWVsc2UgaWYgKHZpbV9pc3BhdGhzZXAoKnMpKQkgICAgLyogY29weSAnLycgYW5kIG5leHQgY2hhciAqLworCXsKKwkgICAgKmQrKyA9ICpzOworCSAgICBza2lwID0gRkFMU0U7CisJfQorCWVsc2UgaWYgKCFza2lwKQorCXsKKwkgICAgKmQrKyA9ICpzOwkJICAgIC8qIGNvcHkgbmV4dCBjaGFyICovCisJICAgIGlmICgqcyAhPSAnficgJiYgKnMgIT0gJy4nKSAvKiBhbmQgbGVhZGluZyAifiIgYW5kICIuIiAqLworCQlza2lwID0gVFJVRTsKKyMgaWZkZWYgRkVBVF9NQllURQorCSAgICBpZiAoaGFzX21ieXRlKQorCSAgICB7CisJCWludCBsID0gbWJfcHRyMmxlbihzKTsKKworCQl3aGlsZSAoLS1sID4gMCkKKwkJICAgICpkKysgPSAqcysrOworCSAgICB9CisjIGVuZGlmCisJfQorICAgIH0KK30KKyNlbmRpZgorCiAvKgogICogUmV0dXJuIFRSVUUgaWYgdGhlIGRpcmVjdG9yeSBvZiAiZm5hbWUiIGV4aXN0cywgRkFMU0Ugb3RoZXJ3aXNlLgogICogQWxzbyByZXR1cm5zIFRSVUUgaWYgdGhlcmUgaXMgbm8gZGlyZWN0b3J5IG5hbWUuCmRpZmYgLS1naXQgYS9zcmMvbm9ybWFsLmMgYi9zcmMvbm9ybWFsLmMKaW5kZXggNTc1OTFmNy4uZTI4NWI4MCAxMDA2NDQKLS0tIGEvc3JjL25vcm1hbC5jCisrKyBiL3NyYy9ub3JtYWwuYwpAQCAtMzgyLDcgKzM4Miw3IEBACiAgICAge0tfWDJEUkFHLCBudl9tb3VzZSwJMCwJCQkwfSwKICAgICB7S19YMlJFTEVBU0UsIG52X21vdXNlLAkwLAkJCTB9LAogI2VuZGlmCi0gICAge0tfSUdOT1JFLAludl9pZ25vcmUsCTAsCQkJMH0sCisgICAge0tfSUdOT1JFLAludl9pZ25vcmUsCU5WX0tFRVBSRUcsCQkwfSwKICAgICB7S19OT1AsCW52X25vcCwJCTAsCQkJMH0sCiAgICAge0tfSU5TLAludl9lZGl0LAkwLAkJCTB9LAogICAgIHtLX0tJTlMsCW52X2VkaXQsCTAsCQkJMH0sCkBAIC00NDAsNyArNDQwLDcgQEAKICAgICB7S19EUk9QLAludl9kcm9wLAlOVl9TVFMsCQkJMH0sCiAjZW5kaWYKICNpZmRlZiBGRUFUX0FVVE9DTUQKLSAgICB7S19DVVJTT1JIT0xELCBudl9jdXJzb3Job2xkLCAwLAkJCTB9LAorICAgIHtLX0NVUlNPUkhPTEQsIG52X2N1cnNvcmhvbGQsIE5WX0tFRVBSRUcsCQkwfSwKICNlbmRpZgogfTsKIApAQCAtNTcyLDggKzU3Miw4IEBACiAjaWZkZWYgRkVBVF9WSVNVQUwKICAgICBwb3NfVAlvbGRfcG9zOwkJLyogY3Vyc29yIHBvc2l0aW9uIGJlZm9yZSBjb21tYW5kICovCiAgICAgaW50CQltYXBwZWRfbGVuOwotI2VuZGlmCiAgICAgc3RhdGljIGludAlvbGRfbWFwcGVkX2xlbiA9IDA7CisjZW5kaWYKICAgICBpbnQJCWlkeDsKIAogICAgIHZpbV9tZW1zZXQoJmNhLCAwLCBzaXplb2YoY2EpKTsJLyogYWxzbyByZXNldHMgY2EucmV0dmFsICovCkBAIC02MjQsNiArNjI0LDcgQEAKICAgICBMQU5HTUFQX0FESlVTVChjLCBUUlVFKTsKICNlbmRpZgogCisjaWZkZWYgRkVBVF9WSVNVQUwKICAgICAvKgogICAgICAqIElmIGEgbWFwcGluZyB3YXMgc3RhcnRlZCBpbiBWaXN1YWwgb3IgU2VsZWN0IG1vZGUsIHJlbWVtYmVyIHRoZSBsZW5ndGgKICAgICAgKiBvZiB0aGUgbWFwcGluZy4gIFRoaXMgaXMgdXNlZCBiZWxvdyB0byBub3QgcmV0dXJuIHRvIEluc2VydCBtb2RlIGZvciBhcwpAQCAtNjMyLDExICs2MzMsOSBAQAogICAgIGlmIChyZXN0YXJ0X2VkaXQgPT0gMCkKIAlvbGRfbWFwcGVkX2xlbiA9IDA7CiAgICAgZWxzZSBpZiAob2xkX21hcHBlZF9sZW4KLSNpZmRlZiBGRUFUX1ZJU1VBTAotCSAgICB8fCAoVklzdWFsX2FjdGl2ZSAmJiBtYXBwZWRfbGVuID09IDAgJiYgdHlwZWJ1Zl9tYXBsZW4oKSA+IDApCi0jZW5kaWYKLQkgICAgKQorCQl8fCAoVklzdWFsX2FjdGl2ZSAmJiBtYXBwZWRfbGVuID09IDAgJiYgdHlwZWJ1Zl9tYXBsZW4oKSA+IDApKQogCW9sZF9tYXBwZWRfbGVuID0gdHlwZWJ1Zl9tYXBsZW4oKTsKKyNlbmRpZgogCiAgICAgaWYgKGMgPT0gTlVMKQogCWMgPSBLX1pFUk87CkBAIC04MDUsNiArODA0LDEwIEBACiAJdGV4dF9sb2NrZWRfbXNnKCk7CiAJZ290byBub3JtYWxfZW5kOwogICAgIH0KKyNpZmRlZiBGRUFUX0FVVE9DTUQKKyAgICBpZiAoKG52X2NtZHNbaWR4XS5jbWRfZmxhZ3MgJiBOVl9OQ1cpICYmIGN1cmJ1Zl9sb2NrZWQoKSkKKwlnb3RvIG5vcm1hbF9lbmQ7CisjZW5kaWYKIAogI2lmZGVmIEZFQVRfVklTVUFMCiAgICAgLyoKQEAgLTExNTEsMTAgKzExNTQsMTIgQEAKICNlbmRpZgogICAgIH0KIAorI2lmZGVmIEZFQVRfVklTVUFMCiAgICAgLyogR2V0IHRoZSBsZW5ndGggb2YgbWFwcGVkIGNoYXJzIGFnYWluIGFmdGVyIHR5cGluZyBhIGNvdW50LCBzZWNvbmQKICAgICAgKiBjaGFyYWN0ZXIgb3IgInozMzM8Y3I+Ii4gKi8KICAgICBpZiAob2xkX21hcHBlZF9sZW4gPiAwKQogCW9sZF9tYXBwZWRfbGVuID0gdHlwZWJ1Zl9tYXBsZW4oKTsKKyNlbmRpZgogCiAgICAgLyoKICAgICAgKiBJZiBhbiBvcGVyYXRpb24gaXMgcGVuZGluZywgaGFuZGxlIGl0Li4uCkBAIC0xMjg4LDYgKzEyOTMsOCBAQAogI2lmZGVmIEZFQVRfVklTVUFMCiAJICAgICYmICgocmVzdGFydF9lZGl0ICE9IDAgJiYgIVZJc3VhbF9hY3RpdmUgJiYgb2xkX21hcHBlZF9sZW4gPT0gMCkKIAkJfHwgcmVzdGFydF9WSXN1YWxfc2VsZWN0ID09IDEpCisjZWxzZQorCSAgICAmJiByZXN0YXJ0X2VkaXQgIT0gMAogI2VuZGlmCiAJICAgICYmICEoY2EucmV0dmFsICYgQ0FfQ09NTUFORF9CVVNZKQogCSAgICAmJiBzdHVmZl9lbXB0eSgpCkBAIC0xMzAzLDkgKzEzMTAsOSBAQAogI2VuZGlmCiAJaWYgKHJlc3RhcnRfZWRpdCAhPSAwCiAjaWZkZWYgRkVBVF9WSVNVQUwKLQkJJiYgIVZJc3VhbF9hY3RpdmUKKwkJJiYgIVZJc3VhbF9hY3RpdmUgJiYgb2xkX21hcHBlZF9sZW4gPT0gMAogI2VuZGlmCi0JCSYmIG9sZF9tYXBwZWRfbGVuID09IDApCisJCSkKIAkgICAgKHZvaWQpZWRpdChyZXN0YXJ0X2VkaXQsIEZBTFNFLCAxTCk7CiAgICAgfQogCkBAIC00MDY1LDcgKzQwNzIsMjAgQEAKICAgICBjbWRhcmdfVAkqY2FwOwogewogICAgIGlmICghY2hlY2tjbGVhcm9wKGNhcC0+b2FwKSkKKyAgICB7CisjaWZkZWYgRkVBVF9XSU5ET1dTCisJaWYgKG1vZF9tYXNrICYgTU9EX01BU0tfQ1RSTCkKKwl7CisJICAgIC8qIDxDLVBhZ2VVcD46IHRhYiBwYWdlIGJhY2s7IDxDLVBhZ2VEb3duPjogdGFiIHBhZ2UgZm9yd2FyZCAqLworCSAgICBpZiAoY2FwLT5hcmcgPT0gQkFDS1dBUkQpCisJCWdvdG9fdGFicGFnZSgtKGludCljYXAtPmNvdW50MSk7CisJICAgIGVsc2UKKwkJZ290b190YWJwYWdlKChpbnQpY2FwLT5jb3VudDApOworCX0KKwllbHNlCisjZW5kaWYKIAkodm9pZClvbmVwYWdlKGNhcC0+YXJnLCBjYXAtPmNvdW50MSk7CisgICAgfQogfQogCiAvKgpAQCAtNTkxNCw2ICs1OTM0LDEzIEBACiAJdGV4dF9sb2NrZWRfbXNnKCk7CiAJcmV0dXJuOwogICAgIH0KKyNpZmRlZiBGRUFUX0FVVE9DTUQKKyAgICBpZiAoY3VyYnVmX2xvY2tlZCgpKQorICAgIHsKKwljbGVhcm9wKGNhcC0+b2FwKTsKKwlyZXR1cm47CisgICAgfQorI2VuZGlmCiAKICAgICBwdHIgPSBncmFiX2ZpbGVfbmFtZShjYXAtPmNvdW50MSwgJmxudW0pOwogCkBAIC02NDI0LDYgKzY0NTEsMTAgQEAKIAkJY2xlYXJvcGJlZXAoY2FwLT5vYXApOwogCQlicmVhazsKIAkgICAgfQorIyBpZmRlZiBGRUFUX0ZPTERJTkcKKwlpZiAoY2FwLT5vYXAtPm9wX3R5cGUgPT0gT1BfTk9QICYmIChmZG9fZmxhZ3MgJiBGRE9fU0VBUkNIKSAmJiBLZXlUeXBlZCkKKwkgICAgZm9sZE9wZW5DdXJzb3IoKTsKKyMgZW5kaWYKICAgICB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvc3JjL29wdGlvbi5jIGIvc3JjL29wdGlvbi5jCmluZGV4IGUwY2ZhMTMuLjJmN2U5MGEgMTAwNjQ0Ci0tLSBhL3NyYy9vcHRpb24uYworKysgYi9zcmMvb3B0aW9uLmMKQEAgLTQzMCw5ICs0MzAsOCBAQAogCiAjZGVmaW5lIElTS19MQVRJTjEgIChjaGFyX3UgKikiQCw0OC01NyxfLDE5Mi0yNTUiCiAKLS8qICdpc3ByaW50JyBmb3IgbGF0aW4xIGlzIGFsc28gdXNlZCBmb3IgTVMtV2luZG93cywgd2hlcmUgMHg4MCBpcyB1c2VkIGZvcgotICogdGhlIGN1cnJlbmN5IHNpZ24uICBUaGlzIGlzbid0IHJlYWxseSBsYXRpbjEgYnV0IFdpbmRvd3MtMTI1MiwgYnV0IHdlIGNhbid0Ci0gKiBkZXRlY3QgdGhhdC4gKi8KKy8qICdpc3ByaW50JyBmb3IgbGF0aW4xIGlzIGFsc28gdXNlZCBmb3IgTVMtV2luZG93cyBjcDEyNTIsIHdoZXJlIDB4ODAgaXMgdXNlZAorICogZm9yIHRoZSBjdXJyZW5jeSBzaWduLiAqLwogI2lmIGRlZmluZWQoTVNET1MpIHx8IGRlZmluZWQoTVNXSU4pIHx8IGRlZmluZWQoT1MyKQogIyBkZWZpbmUgSVNQX0xBVElOMSAoY2hhcl91ICopIkAsfi0yNTUiCiAjZWxzZQpAQCAtNjcyNyw2ICs2NzI2LDggQEAKIAkJICAgIHMgPSBwICsgbGVuICsgMTsKICNpZmRlZiBGRUFUX01CWVRFCiAJCSAgICBjMSA9IG1iX3B0cjJjaGFyX2Fkdigmcyk7CisJCSAgICBpZiAobWJfY2hhcjJjZWxscyhjMSkgPiAxKQorCQkJY29udGludWU7CiAjZWxzZQogCQkgICAgYzEgPSAqcysrOwogI2VuZGlmCkBAIC02NzM2LDYgKzY3MzcsOCBAQAogCQkJICAgIGNvbnRpbnVlOwogI2lmZGVmIEZFQVRfTUJZVEUKIAkJCWMyID0gbWJfcHRyMmNoYXJfYWR2KCZzKTsKKwkJCWlmIChtYl9jaGFyMmNlbGxzKGMyKSA+IDEpCisJCQkgICAgY29udGludWU7CiAjZWxzZQogCQkJYzIgPSAqcysrOwogI2VuZGlmCkBAIC0xMDI0MSwxMSArMTAyNDQsMTYgQEAKICAqIFJlc2V0ICdjb21wYXRpYmxlJyBhbmQgc2V0IHRoZSB2YWx1ZXMgZm9yIG9wdGlvbnMgdGhhdCBkaWRuJ3QgZ2V0IHNldCB5ZXQKICAqIHRvIHRoZSBWaW0gZGVmYXVsdHMuCiAgKiBEb24ndCBkbyB0aGlzIGlmIHRoZSAnY29tcGF0aWJsZScgb3B0aW9uIGhhcyBiZWVuIHNldCBvciByZXNldCBiZWZvcmUuCisgKiBXaGVuICJmbmFtZSIgaXMgbm90IE5VTEwsIHVzZSBpdCB0byBzZXQgJCJlbnZuYW1lIiB3aGVuIGl0IHdhc24ndCBzZXQgeWV0LgogICovCiAgICAgdm9pZAotdmltcmNfZm91bmQoKQordmltcmNfZm91bmQoZm5hbWUsIGVudm5hbWUpCisgICAgY2hhcl91CSpmbmFtZTsKKyAgICBjaGFyX3UJKmVudm5hbWU7CiB7Ci0gICAgaW50CSAgICBvcHRfaWR4OworICAgIGludAkJb3B0X2lkeDsKKyAgICBpbnQJCWRvZnJlZTsKKyAgICBjaGFyX3UJKnA7CiAKICAgICBpZiAoIW9wdGlvbl93YXNfc2V0KChjaGFyX3UgKikiY3AiKSkKICAgICB7CkBAIC0xMDI1NSw2ICsxMDI2MywyMyBAQAogCQlzZXRfb3B0aW9uX2RlZmF1bHQob3B0X2lkeCwgT1BUX0ZSRUUsIEZBTFNFKTsKIAlkaWRzZXRfb3B0aW9ucygpOwogICAgIH0KKworICAgIGlmIChmbmFtZSAhPSBOVUxMKQorICAgIHsKKwlwID0gdmltX2dldGVudihlbnZuYW1lLCAmZG9mcmVlKTsKKwlpZiAocCA9PSBOVUxMKQorCXsKKwkgICAgLyogU2V0ICRNWVZJTVJDIHRvIHRoZSBmaXJzdCB2aW1yYyBmaWxlIGZvdW5kLiAqLworCSAgICBwID0gRnVsbE5hbWVfc2F2ZShmbmFtZSwgRkFMU0UpOworCSAgICBpZiAocCAhPSBOVUxMKQorCSAgICB7CisJCXZpbV9zZXRlbnYoZW52bmFtZSwgcCk7CisJCXZpbV9mcmVlKHApOworCSAgICB9CisJfQorCWVsc2UgaWYgKGRvZnJlZSkKKwkgICAgdmltX2ZyZWUocCk7CisgICAgfQogfQogCiAvKgpkaWZmIC0tZ2l0IGEvc3JjL29zX21hY19yc3JjL2FwcC5pY25zIGIvc3JjL29zX21hY19yc3JjL2FwcC5pY25zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE0NDI2MTEKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvb3NfbWFjX3JzcmMvYXBwLmljbnMKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvc3JjL29zX21hY19yc3JjL2RvYy10eHQuaWNucyBiL3NyYy9vc19tYWNfcnNyYy9kb2MtdHh0LmljbnMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTI0YTczMAotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9vc19tYWNfcnNyYy9kb2MtdHh0LmljbnMKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvc3JjL29zX21hY19yc3JjL2RvYy5pY25zIGIvc3JjL29zX21hY19yc3JjL2RvYy5pY25zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk4NGQxMWQKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvb3NfbWFjX3JzcmMvZG9jLmljbnMKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvc3JjL29zX3VuaXguaCBiL3NyYy9vc191bml4LmgKaW5kZXggYzE0NThkNi4uODIxNDYyYyAxMDA2NDQKLS0tIGEvc3JjL29zX3VuaXguaAorKysgYi9zcmMvb3NfdW5peC5oCkBAIC0yMDMsMjkgKzIwMywzMyBAQAogI2VuZGlmCiAKICNpZmRlZiBWTVMKLSNpbmNsdWRlIDx1bml4aW8uaD4KLSNpbmNsdWRlIDx1bml4bGliLmg+Ci0jaW5jbHVkZSA8c2lnbmFsLmg+Ci0jaW5jbHVkZSA8ZmlsZS5oPgotI2luY2x1ZGUgPHNzZGVmLmg+Ci0jaW5jbHVkZSA8ZGVzY3JpcC5oPgotI2luY2x1ZGUgPGxpYmNsaWRlZi5oPgotI2luY2x1ZGUgPGxubWRlZi5oPgotI2luY2x1ZGUgPHBzbGRlZi5oPgotI2luY2x1ZGUgPHBydmRlZi5oPgotI2luY2x1ZGUgPGR2aWRlZi5oPgotI2luY2x1ZGUgPGRjZGVmLmg+Ci0jaW5jbHVkZSA8c3RzZGVmLmg+Ci0jaW5jbHVkZSA8aW9kZWYuaD4KLSNpbmNsdWRlIDx0dGRlZi5oPgotI2luY2x1ZGUgPHR0MmRlZi5oPgotI2luY2x1ZGUgPGpwaWRlZi5oPgotI2luY2x1ZGUgPHJtcy5oPgotI2luY2x1ZGUgPHRybWRlZi5oPgotI2luY2x1ZGUgPHN0cmluZy5oPgotI2luY2x1ZGUgPHN0YXJsZXQuaD4KLSNpbmNsdWRlIDxzb2NrZXQuaD4KLSNpbmNsdWRlIDxsaWIkcm91dGluZXMuaD4KKyMgaW5jbHVkZSA8dW5peGlvLmg+CisjIGluY2x1ZGUgPHVuaXhsaWIuaD4KKyMgaW5jbHVkZSA8c2lnbmFsLmg+CisjIGluY2x1ZGUgPGZpbGUuaD4KKyMgaW5jbHVkZSA8c3NkZWYuaD4KKyMgaW5jbHVkZSA8ZGVzY3JpcC5oPgorIyBpbmNsdWRlIDxsaWJjbGlkZWYuaD4KKyMgaW5jbHVkZSA8bG5tZGVmLmg+CisjIGluY2x1ZGUgPHBzbGRlZi5oPgorIyBpbmNsdWRlIDxwcnZkZWYuaD4KKyMgaW5jbHVkZSA8ZHZpZGVmLmg+CisjIGluY2x1ZGUgPGRjZGVmLmg+CisjIGluY2x1ZGUgPHN0c2RlZi5oPgorIyBpbmNsdWRlIDxpb2RlZi5oPgorIyBpbmNsdWRlIDx0dGRlZi5oPgorIyBpbmNsdWRlIDx0dDJkZWYuaD4KKyMgaW5jbHVkZSA8anBpZGVmLmg+CisjIGluY2x1ZGUgPHJtcy5oPgorIyBpbmNsdWRlIDx0cm1kZWYuaD4KKyMgaW5jbHVkZSA8c3RyaW5nLmg+CisjIGluY2x1ZGUgPHN0YXJsZXQuaD4KKyMgaW5jbHVkZSA8c29ja2V0Lmg+CisjIGluY2x1ZGUgPGxpYiRyb3V0aW5lcy5oPgorCisjIGlmZGVmIEZFQVRfR1VJX0dUSworIyAgaW5jbHVkZSAiZ3VpX2d0a192bXMuaCIKKyMgZW5kaWYKIAogdHlwZWRlZiBzdHJ1Y3QgZHNjJGRlc2NyaXB0b3IgICBERVNDOwogI2VuZGlmCmRpZmYgLS1naXQgYS9zcmMvb3Nfdm1zX2NvbmYuaCBiL3NyYy9vc192bXNfY29uZi5oCmluZGV4IDJlZGUzN2QuLjhiMDIwMDIgMTAwNjQ0Ci0tLSBhL3NyYy9vc192bXNfY29uZi5oCisrKyBiL3NyYy9vc192bXNfY29uZi5oCkBAIC0xNzksNyArMTc5LDcgQEAKICNlbmRpZgogCiAvKiBHVUkgc3VwcG9ydCBkZWZpbmVzICovCi0jaWZkZWYgRkVBVF9HVUlfTU9USUYKKyNpZiBkZWZpbmVkKEZFQVRfR1VJX01PVElGKSB8fCBkZWZpbmVkKEZFQVRfR1VJX0dUSykKICNkZWZpbmUgSEFWRV9YMTEKICNkZWZpbmUgVVNFX0ZPTlRTRVQKICN1bmRlZiAgWF9MT0NBTEUKZGlmZiAtLWdpdCBhL3NyYy9vc193aW4zMi5jIGIvc3JjL29zX3dpbjMyLmMKaW5kZXggYTJiMmM1MC4uMzk3MzU5MiAxMDA2NDQKLS0tIGEvc3JjL29zX3dpbjMyLmMKKysrIGIvc3JjL29zX3dpbjMyLmMKQEAgLTIxMyw2ICsyMTMsNyBAQAogZ2V0X2V4ZV9uYW1lKHZvaWQpCiB7CiAgICAgY2hhcgl0ZW1wWzI1Nl07CisgICAgc3RhdGljIGludAlkaWRfc2V0X1BBVEggPSBGQUxTRTsKIAogICAgIGlmIChleGVfbmFtZSA9PSBOVUxMKQogICAgIHsKQEAgLTIyMSw2ICsyMjIsMjkgQEAKIAlpZiAoKnRlbXAgIT0gTlVMKQogCSAgICBleGVfbmFtZSA9IEZ1bGxOYW1lX3NhdmUoKGNoYXJfdSAqKXRlbXAsIEZBTFNFKTsKICAgICB9CisKKyAgICBpZiAoIWRpZF9zZXRfUEFUSCAmJiBleGVfbmFtZSAhPSBOVUxMKQorICAgIHsKKwljaGFyX3UJICAgICpwOworCWNoYXJfdQkgICAgKm5ld3BhdGg7CisKKwkvKiBBcHBlbmQgb3VyIHN0YXJ0aW5nIGRpcmVjdG9yeSB0byAkUEFUSCwgc28gdGhhdCB3aGVuIGRvaW5nICIheHhkIgorCSAqIGl0J3MgZm91bmQgaW4gb3VyIHN0YXJ0aW5nIGRpcmVjdG9yeS4gIE5lZWRlZCBiZWNhdXNlIFNlYXJjaFBhdGgoKQorCSAqIGFsc28gbG9va3MgdGhlcmUuICovCisJcCA9IG1jaF9nZXRlbnYoIlBBVEgiKTsKKwluZXdwYXRoID0gYWxsb2MoKHVuc2lnbmVkKShTVFJMRU4ocCkgKyBTVFJMRU4oZXhlX25hbWUpICsgMikpOworCWlmIChuZXdwYXRoICE9IE5VTEwpCisJeworCSAgICBTVFJDUFkobmV3cGF0aCwgcCk7CisJICAgIFNUUkNBVChuZXdwYXRoLCAiOyIpOworCSAgICB2aW1fc3RybmNweShuZXdwYXRoICsgU1RSTEVOKG5ld3BhdGgpLCBleGVfbmFtZSwKKwkJCQkJICAgIGdldHRhaWxfc2VwKGV4ZV9uYW1lKSAtIGV4ZV9uYW1lKTsKKwkgICAgdmltX3NldGVudigoY2hhcl91ICopIlBBVEgiLCBuZXdwYXRoKTsKKwkgICAgdmltX2ZyZWUobmV3cGF0aCk7CisJfQorCisJZGlkX3NldF9QQVRIID0gVFJVRTsKKyAgICB9CiB9CiAKICNpZiBkZWZpbmVkKERZTkFNSUNfR0VUVEVYVCkgfHwgZGVmaW5lZChQUk9UTykKQEAgLTQ5MzMsNiArNDk1Nyw3IEBACiBzdGF0aWMgaW50CXVzZWRfZmlsZV9jb3VudCA9IDA7CS8qIG5yIG9mIGVudHJpZXMgaW4gdXNlZF9maWxlX2luZGV4ZXMgKi8KIHN0YXRpYyBpbnQJdXNlZF9maWxlX2xpdGVyYWwgPSBGQUxTRTsgIC8qIHRha2UgZmlsZSBuYW1lcyBsaXRlcmFsbHkgKi8KIHN0YXRpYyBpbnQJdXNlZF9maWxlX2Z1bGxfcGF0aCA9IEZBTFNFOyAgLyogZmlsZSBuYW1lIHdhcyBmdWxsIHBhdGggKi8KK3N0YXRpYyBpbnQJdXNlZF9maWxlX2RpZmZfbW9kZSA9IEZBTFNFOyAgLyogZmlsZSBuYW1lIHdhcyB3aXRoIGRpZmYgbW9kZSAqLwogc3RhdGljIGludAl1c2VkX2FsaXN0X2NvdW50ID0gMDsKIAogCkBAIC01MDAxLDcgKzUwMjYsNyBAQAogICogaXMgY2FsbGVkLgogICovCiAgICAgdm9pZAotdXNlZF9maWxlX2FyZyhjaGFyICpuYW1lLCBpbnQgbGl0ZXJhbCwgaW50IGZ1bGxfcGF0aCkKK3VzZWRfZmlsZV9hcmcoY2hhciAqbmFtZSwgaW50IGxpdGVyYWwsIGludCBmdWxsX3BhdGgsIGludCBkaWZmX21vZGUpCiB7CiAgICAgaW50CQlpOwogCkBAIC01MDE2LDYgKzUwNDEsNyBAQAogCX0KICAgICB1c2VkX2ZpbGVfbGl0ZXJhbCA9IGxpdGVyYWw7CiAgICAgdXNlZF9maWxlX2Z1bGxfcGF0aCA9IGZ1bGxfcGF0aDsKKyAgICB1c2VkX2ZpbGVfZGlmZl9tb2RlID0gZGlmZl9tb2RlOwogfQogCiAvKgpAQCAtNTA3Miw2ICs1MDk4LDIyIEBACiAJc3RyID0gdWNzMl90b19lbmMoQXJnbGlzdFdbaWR4XSwgTlVMTCk7CiAJaWYgKHN0ciAhPSBOVUxMKQogCXsKKyNpZmRlZiBGRUFUX0RJRkYKKwkgICAgLyogV2hlbiB1c2luZyBkaWZmIG1vZGUgbWF5IG5lZWQgdG8gY29uY2F0ZW5hdGUgZmlsZSBuYW1lIHRvCisJICAgICAqIGRpcmVjdG9yeSBuYW1lLiAgSnVzdCBsaWtlIGl0J3MgZG9uZSBpbiBtYWluKCkuICovCisJICAgIGlmICh1c2VkX2ZpbGVfZGlmZl9tb2RlICYmIG1jaF9pc2RpcihzdHIpICYmIEdBUkdDT1VOVCA+IDAKKwkJCQkgICAgICAmJiAhbWNoX2lzZGlyKGFsaXN0X25hbWUoJkdBUkdMSVNUWzBdKSkpCisJICAgIHsKKwkJY2hhcl91CSAgICAqcjsKKworCQlyID0gY29uY2F0X2ZuYW1lcyhzdHIsIGdldHRhaWwoYWxpc3RfbmFtZSgmR0FSR0xJU1RbMF0pKSwgVFJVRSk7CisJCWlmIChyICE9IE5VTEwpCisJCXsKKwkJICAgIHZpbV9mcmVlKHN0cik7CisJCSAgICBzdHIgPSByOworCQl9CisJICAgIH0KKyNlbmRpZgogCSAgICAvKiBSZS11c2UgdGhlIG9sZCBidWZmZXIgYnkgcmVuYW1pbmcgaXQuICBXaGVuIG5vdCB1c2luZyBsaXRlcmFsCiAJICAgICAqIG5hbWVzIGl0J3MgZG9uZSBieSBhbGlzdF9leHBhbmQoKSBiZWxvdy4gKi8KIAkgICAgaWYgKHVzZWRfZmlsZV9saXRlcmFsKQpkaWZmIC0tZ2l0IGEvc3JjL3BvL01ha2VmaWxlIGIvc3JjL3BvL01ha2VmaWxlCmluZGV4IDE4NWJjMmEuLmQzMGQ3MmYgMTAwNjQ0Ci0tLSBhL3NyYy9wby9NYWtlZmlsZQorKysgYi9zcmMvcG8vTWFrZWZpbGUKQEAgLTU2LDYgKzU2LDcgQEAKIAkJY3MuY3AxMjUwLm1vIFwKIAkJamEuc2ppcy5tbyBcCiAJCXBsLmNwMTI1MC5tbyBcCisJCXBsLlVURi04Lm1vIFwKIAkJcnUuY3AxMjUxLm1vIFwKIAkJc2suY3AxMjUwLm1vIFwKIAkJdWsuY3AxMjUxLm1vIFwKQEAgLTg3LDYgKzg4LDcgQEAKIAkJY3MuY3AxMjUwLmNrIFwKIAkJamEuc2ppcy5jayBcCiAJCXBsLmNwMTI1MC5jayBcCisJCXBsLlVURi04LmNrIFwKIAkJcnUuY3AxMjUxLmNrIFwKIAkJc2suY3AxMjUwLmNrIFwKIAkJdWsuY3AxMjUxLmNrIFwKQEAgLTE2OSw2ICsxNzEsMTIgQEAKIAlpY29udiAtZiBpc28tODg1OS0yIC10IGNwMTI1MCBwbC5wbyB8IFwKIAkJc2VkIC1lICdzL2NoYXJzZXQ9SVNPLTg4NTktMi9jaGFyc2V0PWNwMTI1MC8nIC1lICdzLyMgT3JpZ2luYWwgdHJhbnNsYXRpb25zLyMgR2VuZXJhdGVkIGZyb20gcGwucG8sIERPIE5PVCBFRElULycgPiBwbC5jcDEyNTAucG8KIAorIyBDb252ZXJ0IHBsLnBvIHRvIGNyZWF0ZSBwbC5VVEYtOC5wby4KK3BsLlVURi04LnBvOiBwbC5wbworCXJtIC1mIHBsLlVURi04LnBvCisJaWNvbnYgLWYgaXNvLTg4NTktMiAtdCB1dGYtOCBwbC5wbyB8IFwKKwkJc2VkIC1lICdzL2NoYXJzZXQ9SVNPLTg4NTktMi9jaGFyc2V0PXV0Zi04LycgLWUgJ3MvIyBPcmlnaW5hbCB0cmFuc2xhdGlvbnMvIyBHZW5lcmF0ZWQgZnJvbSBwbC5wbywgRE8gTk9UIEVESVQvJyA+IHBsLlVURi04LnBvCisKICMgQ29udmVydCBzay5wbyB0byBjcmVhdGUgc2suY3AxMjUwLnBvLgogc2suY3AxMjUwLnBvOiBzay5wbwogCXJtIC1mIHNrLmNwMTI1MC5wbwpkaWZmIC0tZ2l0IGEvc3JjL3BvL2RlLnBvIGIvc3JjL3BvL2RlLnBvCmluZGV4IDc2OWNhZjIuLmI3MjBlOTEgMTAwNjQ0Ci0tLSBhL3NyYy9wby9kZS5wbworKysgYi9zcmMvcG8vZGUucG8KQEAgLTMsMjkgKzMsMjYgQEAKICMgRG8gIjpoZWxwIHVnYW5kYSIgIGluIFZpbSB0byByZWFkIGNvcHlpbmcgYW5kIHVzYWdlIGNvbmRpdGlvbnMuCiAjIERvICI6aGVscCBjcmVkaXRzIiBpbiBWaW0gdG8gc2VlIGEgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkLgogIwotIyBQcmV2aW91cy1UcmFuc2xhdG9yKHMpOiBKb2hhbm5lcyBaZWxsbmVyIDxqb2hhbm5lc0B6ZWxsbmVyLm9yZz4KLSMKLSMgdGhvdWdodHMgKEdlZGFua2VuKQotIwotIyAtIG1hcmsgICAgOiBNYXJraWVydW5nIG9kZXIgTWFya2U/Ci0jIC0gYW1iaWdvdXM6IE1laHJkZXV0aWcKLSMKKyMgUHJldmlvdXMtVHJhbnNsYXRvcihzKTogCisjIEpvaGFubmVzIFplbGxuZXIgPGpvaGFubmVzQHplbGxuZXIub3JnPgorIyBHZXJmcmllZCBGdWNocyA8YWxmaWVAaXN0Lm9yZz4KKwogbXNnaWQgIiIKIG1zZ3N0ciAiIgogIlByb2plY3QtSWQtVmVyc2lvbjogVmltKGRldXRzY2gpXG4iCi0iUE9ULUNyZWF0aW9uLURhdGU6IDIwMDQtMDUtMTQgMTg6MTErMDIwMFxuIgotIlBPLVJldmlzaW9uLURhdGU6IDIwMDQtMTAtMTMgMTc6MjYrMDIwMFxuIgotIkxhc3QtVHJhbnNsYXRvcjogR2VyZnJpZWQgRnVjaHMgPGFsZmllQGlzdC5vcmc+XG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMDYtMDQtMDIgMTE6MzArMDIwMFxuIgorIlBPLVJldmlzaW9uLURhdGU6IDIwMDYtMDQtMDIgMTc6MjYrMDIwMFxuIgorIkxhc3QtVHJhbnNsYXRvcjogR2VvcmcgRGFobiA8Z29yZ3lkQHlhaG9vLmNvLnVrPlxuIgogIkxhbmd1YWdlLVRlYW06IEdlcm1hbiA8ZGVAbGkub3JnPlxuIgogIk1JTUUtVmVyc2lvbjogMS4wXG4iCiAiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PUlTT184ODU5LTFcbiIKICJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4LWJpdFxuIgogCiBtc2dpZCAiRTgyOiBDYW5ub3QgYWxsb2NhdGUgYW55IGJ1ZmZlciwgZXhpdGluZy4uLiIKLW1zZ3N0ciAiRTgyOiBLZWluIFB1ZmZlciBrYW5uIGFsbG96aWVydCB3ZXJkZW47IGJlZW5kZW4uLi4iCittc2dzdHIgIkU4MjogS2FubiBrZWluZW4gUHVmZmVyIGFsbG96aWVyZW47IGJlZW5kZW4uLi4iCiAKIG1zZ2lkICJFODM6IENhbm5vdCBhbGxvY2F0ZSBidWZmZXIsIHVzaW5nIG90aGVyIG9uZS4uLiIKLW1zZ3N0ciAiRTgzOiBQdWZmZXIga2FubiBuaWNodCBhbGxvemllcnQgd2VyZGVuOyBiZW51dHplIGVpbmVuIGFuZGVyZW4uLi4iCittc2dzdHIgIkU4MzogS2FubiBkZW4gUHVmZmVyIG5pY2h0IGFsbG96aWVyZW47IGJlbnV0emUgZWluZW4gYW5kZXJlbi4uLiIKIAogbXNnaWQgIkU1MTU6IE5vIGJ1ZmZlcnMgd2VyZSB1bmxvYWRlZCIKIG1zZ3N0ciAiRTUxNTogS2VpbmUgUHVmZmVyIHd1cmRlbiBhdXNnZWxhZGVuIgpAQCAtMzcsMzIgKzM0LDMyIEBACiBtc2dzdHIgIkU1MTc6IEtlaW5lIFB1ZmZlciB3dXJkZW4gZ2Vs9nNjaHQiCiAKIG1zZ2lkICIxIGJ1ZmZlciB1bmxvYWRlZCIKLW1zZ3N0ciAiMSBQdWZmZXIgYXVzZ2VsYWRlbiIKK21zZ3N0ciAiZWluIFB1ZmZlciBhdXNnZWxhZGVuIgogCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVkIGJ1ZmZlcnMgdW5sb2FkZWQiCiBtc2dzdHIgIiVkIFB1ZmZlciBhdXNnZWxhZGVuIgogCiBtc2dpZCAiMSBidWZmZXIgZGVsZXRlZCIKLW1zZ3N0ciAiMSBQdWZmZXIgZ2Vs9nNjaHQiCittc2dzdHIgImVpbiBQdWZmZXIgZ2Vs9nNjaHQiCiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWQgYnVmZmVycyBkZWxldGVkIgogbXNnc3RyICIlZCBQdWZmZXIgZ2Vs9nNjaHQiCiAKIG1zZ2lkICIxIGJ1ZmZlciB3aXBlZCBvdXQiCi1tc2dzdHIgIjEgUHVmZmVyIGdlbPZzY2h0IgorbXNnc3RyICJlaW4gUHVmZmVyIGdlbPZzY2h0IgogCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVkIGJ1ZmZlcnMgd2lwZWQgb3V0IgogbXNnc3RyICIlZCBQdWZmZXIgZ2Vs9nNjaHQiCiAKIG1zZ2lkICJFODQ6IE5vIG1vZGlmaWVkIGJ1ZmZlciBmb3VuZCIKLW1zZ3N0ciAiRTg0OiBFcyB3dXJkZSBrZWluZSB2ZXLkbmRlcnRlbiBQdWZmZXIgZ2VmdW5kZW4iCittc2dzdHIgIkU4NDogRXMgd3VyZGUga2VpbiB2ZXLkbmRlcnRlciBQdWZmZXIgZ2VmdW5kZW4iCiAKICMuIGJhY2sgd2hlcmUgd2Ugc3RhcnRlZCwgZGlkbid0IGZpbmQgYW55dGhpbmcuCiBtc2dpZCAiRTg1OiBUaGVyZSBpcyBubyBsaXN0ZWQgYnVmZmVyIgotbXNnc3RyICJFODU6IEVzIGdpYnQga2VpbmUgYW5nZXplaWd0ZSBQdWZmZXIiCittc2dzdHIgIkU4NTogRXMgZ2lidCBrZWluZSBhbmdlemVpZ3RlbiBQdWZmZXIiCiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTg2OiBCdWZmZXIgJWxkIGRvZXMgbm90IGV4aXN0IgpAQCAtNzYsMTggKzczLDE3IEBACiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTg5OiBObyB3cml0ZSBzaW5jZSBsYXN0IGNoYW5nZSBmb3IgYnVmZmVyICVsZCAoYWRkICEgdG8gb3ZlcnJpZGUpIgotbXNnc3RyICIiCi0iRTg5OiBQdWZmZXIgJWxkIHNlaXQgZGVyIGxldHp0ZW4gxG5kZXJ1bmcgbmljaHQgZ2VzY2hyaWViZW4gKGVyendpbmdlIG1pdCAhKSIKK21zZ3N0ciAiRTg5OiBQdWZmZXIgJWxkIG5pY2h0IGdlc2ljaGVydCBzZWl0IGRlciBsZXR6dGVuIMRuZGVydW5nIChlcnp3aW5nZSBtaXQgISkiCiAKIG1zZ2lkICJFOTA6IENhbm5vdCB1bmxvYWQgbGFzdCBidWZmZXIiCi1tc2dzdHIgIkU5MDogbGV0enRlciBQdWZmZXIga2FubiBuaWNodCBoZXJhdXMtZ2VsYWRlbiB3ZXJkZW4iCittc2dzdHIgIkU5MDogS2FubiBsZXR6dGVuIFB1ZmZlciBuaWNodCBhdXNsYWRlbiIKIAogbXNnaWQgIlcxNDogV2FybmluZzogTGlzdCBvZiBmaWxlIG5hbWVzIG92ZXJmbG93IgogbXNnc3RyICJXMTQ6IEFjaHR1bmc6INxiZXJsYXVmIGRlciBMaXN0ZSBkZXIgRGF0ZWluYW1lbiIKIAogIywgYy1mb3JtYXQKIG1zZ2lkICJFOTI6IEJ1ZmZlciAlbGQgbm90IGZvdW5kIgotbXNnc3RyICJFOTI6IGtlaW4gUHVmZmVyICVsZCBnZWZ1bmRlbiIKK21zZ3N0ciAiRTkyOiBLZWluIFB1ZmZlciAlbGQgZ2VmdW5kZW4iCiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTkzOiBNb3JlIHRoYW4gb25lIG1hdGNoIGZvciAlcyIKQEAgLTExNyw3ICsxMTMsNyBAQAogbXNnc3RyICJbTGVzZS1GZWhsZXJdIgogCiBtc2dpZCAiW3JlYWRvbmx5XSIKLW1zZ3N0ciAiW251ciBMZXNlbl0iCittc2dzdHIgIltOdXIgTGVzZW5dIgogCiAjLCBjLWZvcm1hdAogbXNnaWQgIjEgbGluZSAtLSVkJSUtLSIKQEAgLTEzMSwxNCArMTI3LDE0IEBACiBtc2dpZCAibGluZSAlbGQgb2YgJWxkIC0tJWQlJS0tIGNvbCAiCiBtc2dzdHIgIlplaWxlICVsZCB2b24gJWxkIC0tJWQlJS0tIFNwYWx0ZSAiCiAKLW1zZ2lkICJbTm8gZmlsZV0iCi1tc2dzdHIgIltLZWluZSBEYXRlaV0iCittc2dpZCAiW05vIE5hbWVdIgorbXNnc3RyICJbVW5iZW5hbm50XSIKIAogIy4gbXVzdCBiZSBhIGhlbHAgYnVmZmVyCiBtc2dpZCAiaGVscCIKLW1zZ3N0ciAiW0hpbGZlXSIKK21zZ3N0ciAiSGlsZmUiCiAKLW1zZ2lkICJbaGVscF0iCittc2dpZCAiW0hlbHBdIgogbXNnc3RyICJbSGlsZmVdIgogCiBtc2dpZCAiW1ByZXZpZXddIgpAQCAtMTQ3LDE0ICsxNDMsMTMgQEAKIG1zZ2lkICJBbGwiCiBtc2dzdHIgIkFsbGVzIgogCi0jIEVuZGUgc291bmRzIGJldHRlciB0aGFuICJVbnRlbiIKIG1zZ2lkICJCb3QiCiBtc2dzdHIgIkVuZGUiCiAKLSMgQW5mYW5nIHNvdW5kcyBiZXR0ZXIgdGhhbiAiT2JlbiIKIG1zZ2lkICJUb3AiCiBtc2dzdHIgIkFuZmFuZyIKIAorIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCiAiIyBCdWZmZXIgbGlzdDpcbiIKQEAgLTE2MiwyMiArMTU3LDIyIEBACiAiXG4iCiAiIyBMaXN0ZSBkZXIgUHVmZmVyOlxuIgogCi1tc2dpZCAiW0Vycm9yIExpc3RdIgotbXNnc3RyICJbRmVobGVybGlzdGVdIgorbXNnaWQgIltMb2NhdGlvbiBMaXN0XSIKK21zZ3N0ciAiW1Bvc2l0aW9uc2xpc3RlXSIKIAotbXNnaWQgIltObyBGaWxlXSIKLW1zZ3N0ciAiW0tlaW5lIERhdGVpXSIKK21zZ2lkICJbUXVpY2tmaXggTGlzdF0iCittc2dzdHIgIltRdWlja2ZpeCBMaXN0ZV0iCiAKIG1zZ2lkICIiCiAiXG4iCiAiLS0tIFNpZ25zIC0tLSIKIG1zZ3N0ciAiIgogIlxuIgotIi0tLSBPcHRpb25lbiAtLS0iCisiLS0tIFplaWNoZW4gLS0tIgogCiAjLCBjLWZvcm1hdAogbXNnaWQgIlNpZ25zIGZvciAlczoiCi1tc2dzdHIgIlZvcnplaWNoZW4gZvxyICVzOiIKK21zZ3N0ciAiWmVpY2hlbiBm/HIgJXM6IgogCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICBsaW5lPSVsZCAgaWQ9JWQgIG5hbWU9JXMiCkBAIC0xODUsMzkgKzE4MCwzOSBAQAogCiAjLCBjLWZvcm1hdAogbXNnaWQgIkU5NjogQ2FuIG5vdCBkaWZmIG1vcmUgdGhhbiAlbGQgYnVmZmVycyIKLW1zZ3N0ciAiRTk2OiBcImRpZmZcIiBpc3QgZvxyIG1laHIgYWxzICVsZCBQdWZmZXIgbmljaHQgbfZnbGljaCIKK21zZ3N0ciAiRTk2OiBLZWluZSBEaWZmZXJlbnogZvxyIG1laHIgYWxzICVsZCBQdWZmZXIiCiAKIG1zZ2lkICJFOTc6IENhbm5vdCBjcmVhdGUgZGlmZnMiCi1tc2dzdHIgIkU5NzogS2FubiBrZWluZSBcImRpZmZzXCIgZXJzdGVsbGVuIgorbXNnc3RyICJFOTc6IEthbm4ga2VpbmUgRGlmZmVyZW56IGVyc3RlbGxlbiIKIAogbXNnaWQgIlBhdGNoIGZpbGUiCiBtc2dzdHIgIlBhdGNoLURhdGVpIgogCiBtc2dpZCAiRTk4OiBDYW5ub3QgcmVhZCBkaWZmIG91dHB1dCIKLW1zZ3N0ciAiRTk4OiBcImRpZmZcIi1BdXNnYWJlIGthbm4gbmljaHQgZ2VsZXNlbiB3ZXJkZW4iCittc2dzdHIgIkU5ODogRGlmZmVyZW56LUF1c2dhYmUga2FubiBuaWNodCBnZWxlc2VuIHdlcmRlbiIKIAogbXNnaWQgIkU5OTogQ3VycmVudCBidWZmZXIgaXMgbm90IGluIGRpZmYgbW9kZSIKLW1zZ3N0ciAiRTk5OiBBa3R1ZWxsZXIgUHVmZmVyIGlzdCBuaWNodCBpbSBcImRpZmZcIi1Nb2R1cyIKK21zZ3N0ciAiRTk5OiBBa3R1ZWxsZXIgUHVmZmVyIGlzdCBuaWNodCBpbSBEaWZmZXJlbnotTW9kdXMiCiAKIG1zZ2lkICJFMTAwOiBObyBvdGhlciBidWZmZXIgaW4gZGlmZiBtb2RlIgotbXNnc3RyICJFMTAwOiBLZWluIHdlaXRlcmVyIFB1ZmZlciBpc3QgaW0gXCJkaWZmXCItTW9kdXMiCittc2dzdHIgIkUxMDA6IEtlaW4gd2VpdGVyZXIgUHVmZmVyIGlzdCBpbSBEaWZmZXJlbnotTW9kdXMiCiAKIG1zZ2lkICJFMTAxOiBNb3JlIHRoYW4gdHdvIGJ1ZmZlcnMgaW4gZGlmZiBtb2RlLCBkb24ndCBrbm93IHdoaWNoIG9uZSB0byB1c2UiCi1tc2dzdHIgIkUxMDE6IG1laHJkZXV0aWc6IE1laHIgYWxzIHp3ZWkgUHVmZmVyIGltIFwiZGlmZlwiLU1vZHVzIgorbXNnc3RyICJFMTAxOiBNZWhyZGV1dGlna2VpdDogTWVociBhbHMgendlaSBQdWZmZXIgaW0gRGlmZmVyZW56LU1vZHVzIgogCiAjLCBjLWZvcm1hdAogbXNnaWQgIkUxMDI6IENhbid0IGZpbmQgYnVmZmVyIFwiJXNcIiIKLW1zZ3N0ciAiRTEwMjogUHVmZmVyIFwiJXNcIiBrYW5uIG5pY2h0IGdlZnVuZGVuIHdlcmRlbiIKK21zZ3N0ciAiRTEwMjogS2FubiBQdWZmZXIgXCIlc1wiIG5pY2h0IGZpbmRlbiIKIAogIywgYy1mb3JtYXQKIG1zZ2lkICJFMTAzOiBCdWZmZXIgXCIlc1wiIGlzIG5vdCBpbiBkaWZmIG1vZGUiCi1tc2dzdHIgIkUxMDM6IFB1ZmZlciBcIiVzXCIgaXN0IG5pY2h0IGltIFwiZGlmZlwiLU1vZHVzIgorbXNnc3RyICJFMTAzOiBQdWZmZXIgXCIlc1wiIGlzdCBuaWNodCBpbSBEaWZmZXJlbnotTW9kdXMiCiAKIG1zZ2lkICJFMTA0OiBFc2NhcGUgbm90IGFsbG93ZWQgaW4gZGlncmFwaCIKIG1zZ3N0ciAiRTEwNDogJ0VzY2FwZScgaXN0IGluIGVpbmVtIERpZ3JhcGhlbiBuaWNodCBlcmxhdWJ0IgogCiBtc2dpZCAiRTU0NDogS2V5bWFwIGZpbGUgbm90IGZvdW5kIgotbXNnc3RyICJFNTQ0OiBcIktleW1hcFwiLURhdGVpIG5pY2h0IGdlZnVuZGVuIgorbXNnc3RyICJFNTQ0OiBEYXRlaSBm/HIgZGllIFRhc3RhdHVyLUJlbGVndW5nIG5pY2h0IGdlZnVuZGVuIgogCiBtc2dpZCAiRTEwNTogVXNpbmcgOmxvYWRrZXltYXAgbm90IGluIGEgc291cmNlZCBmaWxlIgogbXNnc3RyICJFMTA1OiA6bG9hZGtleW1hcCBhdd9lcmhhbGIgZWluZXIgZWluZ2VsZXNlbmVuIERhdGVpIgpAQCAtMjI2LDIyICsyMjEsMTcgQEAKIG1zZ3N0ciAiIFN0aWNod29ydC1Fcmfkbnp1bmcgKF5OXlApIgogCiAjLiBjdHJsX3hfbW9kZSA9PSAwLCBeUC9eTiBjb21wbC4KLW1zZ2lkICIgXlggbW9kZSAoXkVeWV5MXl1eRl5JXkteRF5WXk5eUCkiCi1tc2dzdHIgIiBeWC1Nb2R1cyAoXkVeWV5MXl1eRl5JXkteRF5WXk5eUCkiCi0KLSMuIFNjcm9sbCBoYXMgaXQncyBvd24gbXNncywgaW4gaXQncyBwbGFjZSB0aGVyZSBpcyB0aGUgbXNnIGZvciBsb2NhbAotIy4gKiBjdHJsX3hfbW9kZSA9IDAgKGVnIGNvbnRpbnVlX3N0YXR1cyAmIENPTlRfTE9DQUwpICAtLSBBY2V2ZWRvCi1tc2dpZCAiIEtleXdvcmQgTG9jYWwgY29tcGxldGlvbiAoXk5eUCkiCi1tc2dzdHIgIiBsb2thbGUgU3RpY2h3b3J0LUVyZ+RuenVuZyAoXk5eUCkiCittc2dpZCAiIF5YIG1vZGUgKF5dXkReRV5GXkleS15MXk5eT15Qc15VXlZeWSkiCittc2dzdHIgIiBeWCBNb2R1cyAoXl1eRF5FXkZeSV5LXkxeTl5PXlBzXlVeVl5ZKSIKIAogbXNnaWQgIiBXaG9sZSBsaW5lIGNvbXBsZXRpb24gKF5MXk5eUCkiCiBtc2dzdHIgIiBaZWlsZW4tRXJn5G56dW5nICheTF5OXlApIgogCiBtc2dpZCAiIEZpbGUgbmFtZSBjb21wbGV0aW9uICheRl5OXlApIgotbXNnc3RyICIgRGF0ZWluYW1lbnMtRXJn5G56dW5nICheRl5OXlApIgorbXNnc3RyICIgRGF0ZWluYW1lbi1Fcmfkbnp1bmcgKF5GXk5eUCkiCiAKIG1zZ2lkICIgVGFnIGNvbXBsZXRpb24gKF5dXk5eUCkiCi1tc2dzdHIgIiBUYWctRXJn5G56dW5nICheXV5OXlApIgorbXNnc3RyICIgVGFnLUVyZ+RuenVuZyAgKF5dXk5eUCkiCiAKIG1zZ2lkICIgUGF0aCBwYXR0ZXJuIGNvbXBsZXRpb24gKF5OXlApIgogbXNnc3RyICIgUGZhZG11c3Rlci1Fcmfkbnp1bmcgKF5OXlApIgpAQCAtMjU2LDE3ICsyNDYsMjkgQEAKIG1zZ3N0ciAiIFRoZXNhdXJ1cy1Fcmfkbnp1bmcgKF5UXk5eUCkiCiAKIG1zZ2lkICIgQ29tbWFuZC1saW5lIGNvbXBsZXRpb24gKF5WXk5eUCkiCi1tc2dzdHIgIiBLb21tYW5kby1aZWlsZW4tRXJn5G56dW5nICheVl5OXlApIgorbXNnc3RyICIgS29tbWFuZG96ZWlsZW4tRXJn5G56dW5nICheVl5OXlApIgorCittc2dpZCAiIFVzZXIgZGVmaW5lZCBjb21wbGV0aW9uICheVV5OXlApIgorbXNnc3RyICIgQmVudXR6ZXJkZWZpbmllcnRlIEVyZ+RuenVuZyAoXlVeTl5QKSIKKworbXNnaWQgIiBPbW5pIGNvbXBsZXRpb24gKF5PXk5eUCkiCittc2dzdHIgIiBPbW5pLUVyZ+RuenVuZyAoXk9eTl5QKSIKKworbXNnaWQgIiBTcGVsbGluZyBzdWdnZXN0aW9uIChzXk5eUCkiCittc2dzdHIgIiBSZWNodHNjaHJlaWJwcvxmdW5nLVZvcnNjaGxhZyAoc15OXlApIgorCittc2dpZCAiIEtleXdvcmQgTG9jYWwgY29tcGxldGlvbiAoXk5eUCkiCittc2dzdHIgIiBTY2hs/HNzZWx3b3J0LUxva2FsZSBFcmfkbnp1bmcoXk5eUCkiCiAKIG1zZ2lkICJIaXQgZW5kIG9mIHBhcmFncmFwaCIKLW1zZ3N0ciAiU3RpZd8gYW4gZGFzIEVuZGUgZWluZXMgQWJzYXR6ZXMiCi0KLW1zZ2lkICIndGhlc2F1cnVzJyBvcHRpb24gaXMgZW1wdHkiCi1tc2dzdHIgIkRpZSBPcHRpb24gJ3RoZXNhdXJ1cycgaXN0IGxlZXIiCittc2dzdHIgIkFic2F0emVuZGUgZXJyZWljaHQiCiAKIG1zZ2lkICInZGljdGlvbmFyeScgb3B0aW9uIGlzIGVtcHR5IgogbXNnc3RyICJEaWUgT3B0aW9uICdkaWN0aW9uYXJ5JyBpc3QgbGVlciIKIAorbXNnaWQgIid0aGVzYXVydXMnIG9wdGlvbiBpcyBlbXB0eSIKK21zZ3N0ciAiRGllIE9wdGlvbiAndGhlc2F1cnVzJyBpc3QgbGVlciIKKwogIywgYy1mb3JtYXQKIG1zZ2lkICJTY2FubmluZyBkaWN0aW9uYXJ5OiAlcyIKIG1zZ3N0ciAiRHVyY2hzdWNoZW4gZGVzIFf2cnRlcmJ1Y2hzOiAlcyIKQEAgLTI4MSwxMSArMjgzLDEyIEBACiBtc2dpZCAiU2Nhbm5pbmc6ICVzIgogbXNnc3RyICJEdXJjaHN1Y2hlOiAlcyIKIAorIywgYy1mb3JtYXQKIG1zZ2lkICJTY2FubmluZyB0YWdzLiIKIG1zZ3N0ciAiRHVyY2hzdWNoZW4gdm9uIFRhZ3MuIgogCiBtc2dpZCAiIEFkZGluZyIKLW1zZ3N0ciAiIEhpbnp1ZvxndW5nIGRlciIKK21zZ3N0ciAiIEb8Z2UgaGluenUiCiAKICMuIHNob3dtb2RlIG1pZ2h0IHJlc2V0IHRoZSBpbnRlcm5hbCBsaW5lIHBvaW50ZXJzLCBzbyBpdCBtdXN0CiAjLiAqIGJlIGNhbGxlZCBiZWZvcmUgbGluZSA9IG1sX2dldCgpLCBvciB3aGVuIHRoaXMgYWRkcmVzcyBpcyBubwpAQCAtMzExLDExICszMTQsMTAwIEBACiBtc2dpZCAibWF0Y2ggJWQiCiBtc2dzdHIgIlRyZWZmZXIgJWQiCiAKLSMuIFNraXAgZnVydGhlciBhcmd1bWVudHMgYnV0IGRvIGNvbnRpbnVlIHRvCi0jLiAqIHNlYXJjaCBmb3IgYSB0cmFpbGluZyBjb21tYW5kLgorbXNnaWQgIkUxODogVW5leHBlY3RlZCBjaGFyYWN0ZXJzIGluIDpsZXQiCittc2dzdHIgIkUxODogVW5lcndhcnRldGUgWmVpY2hlbiBpbiA6bGV0IgorCiAjLCBjLWZvcm1hdAotbXNnaWQgIkUxMDY6IFVua25vd24gdmFyaWFibGU6IFwiJXNcIiIKLW1zZ3N0ciAiRTEwNjogVW5iZWthbm50ZSBWYXJpYWJsZTogXCIlc1wiIgorbXNnaWQgIkU2ODQ6IGxpc3QgaW5kZXggb3V0IG9mIHJhbmdlOiAlbGQiCittc2dzdHIgIkU2ODQ6IExpc3QtSW5kZXggYXXfZXJoYWxiIGRlcyB6dWzkc3NpZ2VuIEJlcmVpY2hzOiAlbGQiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTEyMTogVW5kZWZpbmVkIHZhcmlhYmxlOiAlcyIKK21zZ3N0ciAiRTEyMTogVW5kZWZpbmllcnRlIFZhcmlhYmxlOiAlcyIKKworbXNnaWQgIkUxMTE6IE1pc3NpbmcgJ10nIgorbXNnc3RyICJFMTExOiBGZWhsZW5kZSAnXSciCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTY4NjogQXJndW1lbnQgb2YgJXMgbXVzdCBiZSBhIExpc3QiCittc2dzdHIgIkU2ODY6IEFyZ3VtZW50IHZvbiAlcyBtdXNzIGVpbmUgTGlzdGUgc2VpbiIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFNzEyOiBBcmd1bWVudCBvZiAlcyBtdXN0IGJlIGEgTGlzdCBvciBEaWN0aW9uYXJ5IgorbXNnc3RyICJFNzEyOiBBcmd1bWVudCB2b24gJXMgbXVzcyBlaW5lIExpc3RlIG9kZXIgZWluIFf2cnRlcmJ1Y2giCisKK21zZ2lkICJFNzEzOiBDYW5ub3QgdXNlIGVtcHR5IGtleSBmb3IgRGljdGlvbmFyeSIKK21zZ3N0ciAiRTcxMzogRGVyIFNjaGz8c3NlbCBm/HIgV/ZydGVyYnVjaCBkYXJmIG5pY2h0IGxlZXIgc2VpbiIKKworbXNnaWQgIkU3MTQ6IExpc3QgcmVxdWlyZWQiCittc2dzdHIgIkU3MTQ6IExpc3RlIGJlbvZ0aWd0IgorCittc2dpZCAiRTcxNTogRGljdGlvbmFyeSByZXF1aXJlZCIKK21zZ3N0ciAiRTcxNTogV/ZydGVyYnVjaCBiZW72dGlndCIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFMTE4OiBUb28gbWFueSBhcmd1bWVudHMgZm9yIGZ1bmN0aW9uOiAlcyIKK21zZ3N0ciAiRTExODogWnUgdmllbGUgQXJndW1lbnRlIGb8ciBGdW5rdGlvbjogJXMiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTcxNjogS2V5IG5vdCBwcmVzZW50IGluIERpY3Rpb25hcnk6ICVzIgorbXNnc3RyICJFNzE2OiBTY2hs/HNzZWwgbmljaHQgdm9yaGFuZGVuIGltIFf2cnRlcmJ1Y2g6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkUxMjI6IEZ1bmN0aW9uICVzIGFscmVhZHkgZXhpc3RzLCBhZGQgISB0byByZXBsYWNlIGl0IgorbXNnc3RyICJFMTIyOiBGdW5rdGlvbiAlcyBleGlzdGllcnQgYmVyZWl0czsgISB6dW0gRXJzZXR6ZW4gaGluenVm/GdlbiIKKworbXNnaWQgIkU3MTc6IERpY3Rpb25hcnkgZW50cnkgYWxyZWFkeSBleGlzdHMiCittc2dzdHIgIkU3MTc6IFf2cnRlcmJ1Y2gtRWludHJhZyBleGlzdGllcnQgYmVyZWl0cyIKKworbXNnaWQgIkU3MTg6IEZ1bmNyZWYgcmVxdWlyZWQiCittc2dzdHIgIkU3MTg6IEZ1bmNyZWYgYmVu9nRpZ3QiCisKK21zZ2lkICJFNzE5OiBDYW5ub3QgdXNlIFs6XSB3aXRoIGEgRGljdGlvbmFyeSIKK21zZ3N0ciAiRTcxOTogS2FubiBbOl0gbmljaHQgbWl0IGVpbmVtIFf2cnRlcmJ1Y2ggdmVyd2VuZGVuIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkU3MzQ6IFdyb25nIHZhcmlhYmxlIHR5cGUgZm9yICVzPSIKK21zZ3N0ciAiRTczNDogRmFsc2NoZXIgVHlwIGRlciBWYXJpYWJsZSBm/HIgJXM9IgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkUxMzA6IFVua25vd24gZnVuY3Rpb246ICVzIgorbXNnc3RyICJFMTMwOiBVbmJla2FubnRlIEZ1bmt0aW9uOiAlcyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFNDYxOiBJbGxlZ2FsIHZhcmlhYmxlIG5hbWU6ICVzIgorbXNnc3RyICJFNDYxOiBVbnp1bORzc2lnZXIgTmFtZSBkZXIgVmFyaWFibGU6ICVzIgorCittc2dpZCAiRTY4NzogTGVzcyB0YXJnZXRzIHRoYW4gTGlzdCBpdGVtcyIKK21zZ3N0ciAiRTY4NzogV2VuaWdlciBaaWVsZSBhbHMgTGlzdGVuZWludHLkZ2UiCisKK21zZ2lkICJFNjg4OiBNb3JlIHRhcmdldHMgdGhhbiBMaXN0IGl0ZW1zIgorbXNnc3RyICJFNjg4OiBNZWhyIFppZWxlIGFscyBMaXN0ZW5laW50cuRnZSIKKworbXNnaWQgIkRvdWJsZSA7IGluIGxpc3Qgb2YgdmFyaWFibGVzIgorbXNnc3RyICJEb3BwZWx0ZXMgOyBpbiBkZXIgTGlzdGUgdm9uIFZhcmlhYmxlbiIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFNzM4OiBDYW4ndCBsaXN0IHZhcmlhYmxlcyBmb3IgJXMiCittc2dzdHIgIkU3Mzg6IEthbm4gVmFyaWFibGVuIG5pY2h0IGF1Zmxpc3RlbjogJXMiCisKK21zZ2lkICJFNjg5OiBDYW4gb25seSBpbmRleCBhIExpc3Qgb3IgRGljdGlvbmFyeSIKK21zZ3N0ciAiRTY4OTogS2FubiBudXIgTGlzdGVuIHVuZCBX9nJ0ZXJi/GNoZXIgaW5kaXppZXJlbiIKKworbXNnaWQgIkU3MDg6IFs6XSBtdXN0IGNvbWUgbGFzdCIKK21zZ3N0ciAiRTcwODogWzpdIG11c3MgYW0gU2NobHVzcyBrb21tZW4iCisKK21zZ2lkICJFNzA5OiBbOl0gcmVxdWlyZXMgYSBMaXN0IHZhbHVlIgorbXNnc3RyICJFNzA5OiBbOl0gYmVu9nRpZ3QgZWluZSBMaXN0ZSBhbHMgV2VydCIKKworbXNnaWQgIkU3MTA6IExpc3QgdmFsdWUgaGFzIG1vcmUgaXRlbXMgdGhhbiB0YXJnZXQiCittc2dzdHIgIkU3MTA6IExpc3RlbndlcnQgaGF0IG1laHIgRWludHLkZ2UgYWxzIGRhcyBaaWVsIgorCittc2dpZCAiRTcxMTogTGlzdCB2YWx1ZSBoYXMgbm90IGVub3VnaCBpdGVtcyIKK21zZ3N0ciAiRTcxMTogTGlzdGVud2VydCBoYXQgbmljaHQgZ2Vu/GdlbmQgRWludHLkZ2UiCisKK21zZ2lkICJFNjkwOiBNaXNzaW5nIFwiaW5cIiBhZnRlciA6Zm9yIgorbXNnc3RyICJFNjkwOiBGZWhsZW5kZXMgXCJpblwiIG5hY2ggOmZvciIKIAogIywgYy1mb3JtYXQKIG1zZ2lkICJFMTA3OiBNaXNzaW5nIGJyYWNlczogJXMiCkBAIC0zMjUsMTQgKzQxNywzNSBAQAogbXNnaWQgIkUxMDg6IE5vIHN1Y2ggdmFyaWFibGU6IFwiJXNcIiIKIG1zZ3N0ciAiRTEwODogS2VpbmUgc29sY2hlIFZhcmlhYmxlOiBcIiVzXCIiCiAKK21zZ2lkICJFNzQzOiB2YXJpYWJsZSBuZXN0ZWQgdG9vIGRlZXAgZm9yICh1bilsb2NrIgorbXNnc3RyICJFNzQzOiBWYXJpYWJsZSBpc3QgenUgdGllZiB2ZXJzY2hhY2h0ZWx0IGb8ciAodW4pbG9jayIKKwogbXNnaWQgIkUxMDk6IE1pc3NpbmcgJzonIGFmdGVyICc/JyIKLW1zZ3N0ciAiRTEwOTogZmVobGVuZGVyICc6JyBuYWNoICc/JyIKK21zZ3N0ciAiRTEwOTogRmVobGVuZGVyICc6JyBuYWNoICc/JyIKKworbXNnaWQgIkU2OTE6IENhbiBvbmx5IGNvbXBhcmUgTGlzdCB3aXRoIExpc3QiCittc2dzdHIgIkU2OTE6IEthbm4gbnVyIGVpbmUgTGlzdGUgbWl0IGVpbmVyIExpc3RlIHZlcmdsZWljaGVuIgorCittc2dpZCAiRTY5MjogSW52YWxpZCBvcGVyYXRpb24gZm9yIExpc3RzIgorbXNnc3RyICJFNjkyOiBVbnp1bORzc2lnZSBPcGVyYXRpb24gZvxyIExpc3RlbiIKKworbXNnaWQgIkU3MzU6IENhbiBvbmx5IGNvbXBhcmUgRGljdGlvbmFyeSB3aXRoIERpY3Rpb25hcnkiCittc2dzdHIgIkU3MzU6IEthbm4gbnVyIGVpbiBX9nJ0ZXJidWNoIG1pdCBlaW5lbSBX9nJ0ZXJidWNoIHZlcmdsZWljaGVuIgorCittc2dpZCAiRTczNjogSW52YWxpZCBvcGVyYXRpb24gZm9yIERpY3Rpb25hcnkiCittc2dzdHIgIkU3MzY6IFVuenVs5HNzaWdlIE9wZXJhdGlvbiBm/HIgZWluIFf2cnRlcmJ1Y2giCisKK21zZ2lkICJFNjkzOiBDYW4gb25seSBjb21wYXJlIEZ1bmNyZWYgd2l0aCBGdW5jcmVmIgorbXNnc3RyICJFNjkzOiBLYW5uIG51ciBlaW5lIEZ1bmNyZWYgbWl0IGVpbmVyIEZ1bmNyZWYgdmVyZ2xlaWNoZW4iCisKK21zZ2lkICJFNjk0OiBJbnZhbGlkIG9wZXJhdGlvbiBmb3IgRnVuY3JlZnMiCittc2dzdHIgIkU2OTQ6IFVuenVs5HNzaWdlIE9wZXJhdGlvbiBm/HIgRnVuY3JlZnMiCiAKIG1zZ2lkICJFMTEwOiBNaXNzaW5nICcpJyIKLW1zZ3N0ciAiRTExMDogZmVobGVuZGUgJyknIgorbXNnc3RyICJFMTEwOiBGZWhsZW5kZSAnKSciCiAKLW1zZ2lkICJFMTExOiBNaXNzaW5nICddJyIKLW1zZ3N0ciAiRTExMTogZmVobGVuZGUgJ10nIgorbXNnaWQgIkU2OTU6IENhbm5vdCBpbmRleCBhIEZ1bmNyZWYiCittc2dzdHIgIkU2OTU6IEthbm4ga2VpbmUgRnVuY3JlZiBpbmRpemllcmVuIgogCiAjLCBjLWZvcm1hdAogbXNnaWQgIkUxMTI6IE9wdGlvbiBuYW1lIG1pc3Npbmc6ICVzIgpAQCAtMzUxLDI0ICs0NjQsMzcgQEAKIG1zZ3N0ciAiRTExNTogRmVobGVuZGVzIEFuZvxocnVuZ3N6ZWljaGVuOiAlcyIKIAogIywgYy1mb3JtYXQKLW1zZ2lkICJFMTE2OiBJbnZhbGlkIGFyZ3VtZW50cyBmb3IgZnVuY3Rpb24gJXMiCi1tc2dzdHIgIkUxMTY6IFVuenVs5HNzaWdlIEFyZ3VtZW50ZSBm/HIgRnVua3Rpb24gJXMiCittc2dpZCAiRTY5NjogTWlzc2luZyBjb21tYSBpbiBMaXN0OiAlcyIKK21zZ3N0ciAiRTY5NjogRmVobGVuZGVzIEtvbW1hIGluIGRlciBMaXN0ZTogJXMiCiAKICMsIGMtZm9ybWF0Ci1tc2dpZCAiRTExNzogVW5rbm93biBmdW5jdGlvbjogJXMiCi1tc2dzdHIgIkUxMTc6IFVuYmVrYW5udGUgRnVua3Rpb246ICVzIgorbXNnaWQgIkU2OTc6IE1pc3NpbmcgZW5kIG9mIExpc3QgJ10nOiAlcyIKK21zZ3N0ciAiRTY5NzogRmVobGVuZGVzIEVuZGUgZGVyIExpc3RlICddJzogJXMiCiAKICMsIGMtZm9ybWF0Ci1tc2dpZCAiRTExODogVG9vIG1hbnkgYXJndW1lbnRzIGZvciBmdW5jdGlvbjogJXMiCi1tc2dzdHIgIkUxMTg6IFp1IHZpZWxlIEFyZ3VtZW50ZSBm/HIgRnVua3Rpb246ICVzIgorbXNnaWQgIkU3MjA6IE1pc3NpbmcgY29sb24gaW4gRGljdGlvbmFyeTogJXMiCittc2dzdHIgIkU3MjA6IEZlaGxlbmRlciBEb3BwZWxwdW5rdCBpbSBX9nJ0ZXJidWNoOiAlcyIKIAogIywgYy1mb3JtYXQKLW1zZ2lkICJFMTE5OiBOb3QgZW5vdWdoIGFyZ3VtZW50cyBmb3IgZnVuY3Rpb246ICVzIgotbXNnc3RyICJFMTE5OiBOaWNodCBnZW51ZyBBcmd1bWVudGUgZvxyIEZ1bmt0aW9uOiAlcyIKK21zZ2lkICJFNzIxOiBEdXBsaWNhdGUga2V5IGluIERpY3Rpb25hcnk6IFwiJXNcIiIKK21zZ3N0ciAiRTcyMTogRG9wcGVsdGVyIFNjaGz8c3NlbCBpbSBX9nJ0ZXJidWNoOiBcIiVzXCIiCiAKICMsIGMtZm9ybWF0Ci1tc2dpZCAiRTEyMDogVXNpbmcgPFNJRD4gbm90IGluIGEgc2NyaXB0IGNvbnRleHQ6ICVzIgotbXNnc3RyICJFMTIwOiA8U0lEPiB3dXJkZSBuaWNodCBpbiBlaW5lciBTa3JpcHQtVW1nZWJ1bmcgYmVudXR6dDogJXMiCittc2dpZCAiRTcyMjogTWlzc2luZyBjb21tYSBpbiBEaWN0aW9uYXJ5OiAlcyIKK21zZ3N0ciAiRTcyMjogRmVobGVuZGVzIEtvbW1hIGltIFf2cnRlcmJ1Y2g6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkU3MjM6IE1pc3NpbmcgZW5kIG9mIERpY3Rpb25hcnkgJ30nOiAlcyIKK21zZ3N0ciAiRTcyMzogRmVobGVuZGVzIEVuZGUgZGVzIFf2cnRlcmJ1Y2hzICd9JzogJXMiCisKK21zZ2lkICJFNzI0OiB2YXJpYWJsZSBuZXN0ZWQgdG9vIGRlZXAgZm9yIGRpc3BsYXlpbmciCittc2dzdHIgIkU3MjQ6IFZhcmlhYmxlIGlzdCB6dSB0aWVmIHZlcnNjaGFjaHRlbHQgZvxyIGRpZSBBbnplaWdlIgorCittc2dpZCAiRTY5OTogVG9vIG1hbnkgYXJndW1lbnRzIgorbXNnc3RyICJFNjk5OiBadSB2aWVsZSBBcmd1bWVudGUiCisKK21zZ2lkICJFNzg1OiBjb21wbGV0ZSgpIGNhbiBvbmx5IGJlIHVzZWQgaW4gSW5zZXJ0IG1vZGUiCittc2dzdHIgIkU3ODU6IGNvbXBsZXRlKCkga2FubiBudXIgaW0gSW5zZXJ0IE1vZHVzIHZlcndlbmRldCB3ZXJkZW4iCiAKICMuCiAjLiAqIFllcyB0aGlzIGlzIHVnbHksIEkgZG9uJ3QgcGFydGljdWxhcmx5IGxpa2UgaXQgZWl0aGVyLiAgQnV0IGRvaW5nIGl0CkBAIC0zNzksOSArNTA1LDE3IEBACiBtc2dzdHIgIiZPayIKIAogIywgYy1mb3JtYXQKK21zZ2lkICJFNzM3OiBLZXkgYWxyZWFkeSBleGlzdHM6ICVzIgorbXNnc3RyICJFNzM3OiBTY2hs/HNzZWwgZXhpc3RpZXJ0IGJlcmVpdHM6ICVzIgorCisjLCBjLWZvcm1hdAogbXNnaWQgIistJXMlM2xkIGxpbmVzOiAiCiBtc2dzdHIgIistJXMlM2xkIFplaWxlbjogIgogCisjLCBjLWZvcm1hdAorbXNnaWQgIkU3MDA6IFVua25vd24gZnVuY3Rpb246ICVzIgorbXNnc3RyICJFNzAwOiBVbmJla2FubnRlIEZ1bmt0aW9uOiAlcyIKKwogbXNnaWQgIiIKICImT0tcbiIKICImQ2FuY2VsIgpAQCAtMzkyLDY2ICs1MjYsMTExIEBACiBtc2dpZCAiY2FsbGVkIGlucHV0cmVzdG9yZSgpIG1vcmUgb2Z0ZW4gdGhhbiBpbnB1dHNhdmUoKSIKIG1zZ3N0ciAiaW5wdXRyZXN0b3JlKCkgd3VyZGUg9mZ0ZXIgYWxzIGlucHV0c2F2ZSgpIGF1ZmdlcnVmZW4iCiAKLW1zZ2lkICJFNjU1OiBUb28gbWFueSBzeW1ib2xpYyBsaW5rcyAoY3ljbGU/KSIKLW1zZ3N0ciAiRTY1NTogWnUgdmllbGUgc3ltYm9saXNjaGUgTGlua3MgKGR1cmNoZ2VoZW4/KSIKK21zZ2lkICJFNzQ1OiBSYW5nZSBub3QgYWxsb3dlZCIKK21zZ3N0ciAiRTc0NTogQmVyZWljaCBuaWNodCBlcmxhdWJ0IgorCittc2dpZCAiRTcwMTogSW52YWxpZCB0eXBlIGZvciBsZW4oKSIKK21zZ3N0ciAiRTcwMTogVW56dWzkc3NpZ2VyIFR5cCBm/HIgbGVuKCkiCisKK21zZ2lkICJFNzI2OiBTdHJpZGUgaXMgemVybyIKK21zZ3N0ciAiRTcyNjogU3RyaWRlIGlzdCBOdWxsIgorCittc2dpZCAiRTcyNzogU3RhcnQgcGFzdCBlbmQiCittc2dzdHIgIkU3Mjc6IFN0YXJ0IGhpbnRlciBkZW0gRW5kZSIKKworbXNnaWQgIjxlbXB0eT4iCittc2dzdHIgIjxsZWVyPiIKIAogbXNnaWQgIkUyNDA6IE5vIGNvbm5lY3Rpb24gdG8gVmltIHNlcnZlciIKIG1zZ3N0ciAiRTI0MDogS2VpbmUgVmVyYmluZHVuZyB6dW0gVmltLVNlcnZlciIKIAotbXNnaWQgIkUyNzc6IFVuYWJsZSB0byByZWFkIGEgc2VydmVyIHJlcGx5IgotbXNnc3RyICJFMjc3OiBTZXJ2ZXItQW50d29ydCBrYW5uIG5pY2h0IGdlbGVzZW4gd2VyZGVuIgotCi1tc2dpZCAiRTI1ODogVW5hYmxlIHRvIHNlbmQgdG8gY2xpZW50IgotbXNnc3RyICJFMjU4OiBLYW5uIG5pY2h0IHp1bSBDbGllbnQgc2VuZGVuIgotCiAjLCBjLWZvcm1hdAogbXNnaWQgIkUyNDE6IFVuYWJsZSB0byBzZW5kIHRvICVzIgogbXNnc3RyICJFMjQxOiBLYW5uIG5pY2h0IHp1ICVzIHNlbmRlbiIKIAorbXNnaWQgIkUyNzc6IFVuYWJsZSB0byByZWFkIGEgc2VydmVyIHJlcGx5IgorbXNnc3RyICJFMjc3OiBTZXJ2ZXItQW50d29ydCBrYW5uIG5pY2h0IGdlbGVzZW4gd2VyZGVuIgorCittc2dpZCAiRTY1NTogVG9vIG1hbnkgc3ltYm9saWMgbGlua3MgKGN5Y2xlPykiCittc2dzdHIgIkU2NTU6IFp1IHZpZWxlIHN5bWJvbGlzY2hlIExpbmtzICh6aXJrdWzkcj8pIgorCittc2dpZCAiRTI1ODogVW5hYmxlIHRvIHNlbmQgdG8gY2xpZW50IgorbXNnc3RyICJFMjU4OiBLYW5uIG5pY2h0IHp1bSBDbGllbnQgc2VuZGVuIgorCittc2dpZCAiRTcwMjogU29ydCBjb21wYXJlIGZ1bmN0aW9uIGZhaWxlZCIKK21zZ3N0ciAiRTcwMjogRGllIFZlcmdsZWljaHNmdW5rdGlvbiBkZXIgU29ydGllcnVuZyBpc3QgZmVobGdlc2NobGFnZW4iCisKIG1zZ2lkICIoSW52YWxpZCkiCi1tc2dzdHIgIih1bmf8bHRpZykiCittc2dzdHIgIihVbmf8bHRpZykiCisKK21zZ2lkICJFNjc3OiBFcnJvciB3cml0aW5nIHRlbXAgZmlsZSIKK21zZ3N0ciAiRTY3NzogRmVobGVyIGJlaW0gU2NocmVpYmVuIGVpbmVyIHRlbXBvcuRyZW4gRGF0ZWkiCisKK21zZ2lkICJFNzAzOiBVc2luZyBhIEZ1bmNyZWYgYXMgYSBudW1iZXIiCittc2dzdHIgIkU3MDM6IEZ1bmNyZWYgYWxzIFphaGwgdmVyd2VuZGV0IgorCittc2dpZCAiRTc0NTogVXNpbmcgYSBMaXN0IGFzIGEgbnVtYmVyIgorbXNnc3RyICJFNzQ1OiBMaXN0ZSBhbHMgWmFobCB2ZXJ3ZW5kZXQiCisKK21zZ2lkICJFNzI4OiBVc2luZyBhIERpY3Rpb25hcnkgYXMgYSBudW1iZXIiCittc2dzdHIgIkU3Mjg6IFf2cnRlcmJ1Y2ggYWxzIFphaGwgdmVyd2VuZGV0IgorCittc2dpZCAiRTcyOTogdXNpbmcgRnVuY3JlZiBhcyBhIFN0cmluZyIKK21zZ3N0ciAiRTcyOTogRnVuY3JlZiBhbHMgU3RyaW5nIHZlcndlbmRldCIKKworbXNnaWQgIkU3MzA6IHVzaW5nIExpc3QgYXMgYSBTdHJpbmciCittc2dzdHIgIkU3MzA6IExpc3RlIGFscyBTdHJpbmcgdmVyd2VuZGV0IgorCittc2dpZCAiRTczMTogdXNpbmcgRGljdGlvbmFyeSBhcyBhIFN0cmluZyIKK21zZ3N0ciAiRTczMTogV/ZydGVyYnVjaCBhbHMgU3RyaW5nIHZlcndlbmRldCIKIAogIywgYy1mb3JtYXQKLW1zZ2lkICJFMTIxOiBVbmRlZmluZWQgdmFyaWFibGU6ICVzIgotbXNnc3RyICJFMTIxOiBWYXJpYWJsZSBuaWNodCBkZWZpbmllcnQ6ICVzIgorbXNnaWQgIkU3MDQ6IEZ1bmNyZWYgdmFyaWFibGUgbmFtZSBtdXN0IHN0YXJ0IHdpdGggYSBjYXBpdGFsOiAlcyIKK21zZ3N0ciAiRTcwNDogRnVuY3JlZiBWYXJpYWJsZSBtdXNzIG1pdCBlaW5lbSBHcm/fYnVjaHN0YWJlbiBiZWdpbm5lbjogJXMiCiAKICMsIGMtZm9ybWF0Ci1tc2dpZCAiRTQ2MTogSWxsZWdhbCB2YXJpYWJsZSBuYW1lOiAlcyIKLW1zZ3N0ciAiRTQ2MTogVW56dWzkc3NpZ2VyIFZhcmlhYmxlLU5hbWU6ICVzIgorbXNnaWQgIkU3MDU6IFZhcmlhYmxlIG5hbWUgY29uZmxpY3RzIHdpdGggZXhpc3RpbmcgZnVuY3Rpb246ICVzIgorbXNnc3RyICJFNzA1OiBLb25mbGlrdCBlaW5lcyBWYXJpYWJsZW5uYW1lbnMgbWl0IGJlc3RlaGVuZGVyIEZ1bmt0aW9uOiAlcyIKIAogIywgYy1mb3JtYXQKLW1zZ2lkICJFMTIyOiBGdW5jdGlvbiAlcyBhbHJlYWR5IGV4aXN0cywgYWRkICEgdG8gcmVwbGFjZSBpdCIKLW1zZ3N0ciAiRTEyMjogRnVua3Rpb24gJXMgZXhpc3RpZXJ0IGJlcmVpdHM7ICEgenVtIEVyc2V0emVuIGhpbnp1ZvxnZW4iCittc2dpZCAiRTcwNjogVmFyaWFibGUgdHlwZSBtaXNtYXRjaCBmb3I6ICVzIgorbXNnc3RyICJFNzA2OiBUeXAgZGVyIFZhcmlhYmxlIGZhbHNjaCB6dWdlb3JkbmV0OiAlcyIKIAogIywgYy1mb3JtYXQKLW1zZ2lkICJFMTIzOiBVbmRlZmluZWQgZnVuY3Rpb246ICVzIgotbXNnc3RyICJFMTIzOiBGdW5rdGlvbiBuaWNodCBkZWZpbmllcnQ6ICVzIgorbXNnaWQgIkU3NDE6IFZhbHVlIGlzIGxvY2tlZDogJXMiCittc2dzdHIgIkU3NDE6IFdlcnQgaXN0IGdlc3BlcnJ0OiAlcyIKKworbXNnaWQgIlVua25vd24iCittc2dzdHIgIlVuYmVrYW5udCIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFNzQyOiBDYW5ub3QgY2hhbmdlIHZhbHVlIG9mICVzIgorbXNnc3RyICJFNzQyOiBLYW5uIFdlcnQgbmljaHQg5G5kZXJuOiAlcyIKKworbXNnaWQgIkU2OTg6IHZhcmlhYmxlIG5lc3RlZCB0b28gZGVlcCBmb3IgbWFraW5nIGEgY29weSIKK21zZ3N0ciAiRTY5ODogVmFyaWFibGUgaXN0IHp1IHRpZWYgdmVyc2NoYWNodGVsdCBm/HIgZWluZSBLb3BpZSIKIAogIywgYy1mb3JtYXQKIG1zZ2lkICJFMTI0OiBNaXNzaW5nICcoJzogJXMiCi1tc2dzdHIgIkUxMjQ6IGZlaGxlbmRlcyAnKCc6ICVzIgorbXNnc3RyICJFMTI0OiBGZWhsZW5kZXMgJygnOiAlcyIKIAogIywgYy1mb3JtYXQKIG1zZ2lkICJFMTI1OiBJbGxlZ2FsIGFyZ3VtZW50OiAlcyIKIG1zZ3N0ciAiRTEyNTogVW56dWzkc3NpZ2VzIEFyZ3VtZW50OiAlcyIKIAogbXNnaWQgIkUxMjY6IE1pc3NpbmcgOmVuZGZ1bmN0aW9uIgotbXNnc3RyICJFMTI2OiBmZWhsZW5kZXMgOmVuZGZ1bmN0aW9uIgorbXNnc3RyICJFMTI2OiBGZWhsZW5kZXMgOmVuZGZ1bmN0aW9uIgogCiAjLCBjLWZvcm1hdAotbXNnaWQgIkUxMjc6IENhbm5vdCByZWRlZmluZSBmdW5jdGlvbiAlczogSXQgaXMgaW4gdXNlIgotbXNnc3RyICJFMTI3OiBGdW5rdGlvbiAlcyBrYW5uIG5pY2h0IHVtZGVmaW5pZXJ0IHdlcmRlbjogc2llIGlzdCBpbiBWZXJ3ZW5kdW5nIgorbXNnaWQgIkU3NDY6IEZ1bmN0aW9uIG5hbWUgZG9lcyBub3QgbWF0Y2ggc2NyaXB0IGZpbGUgbmFtZTogJXMiCittc2dzdHIgIkU3NDY6IEZ1bmt0aW9uc25hbWUgc3RpbW10IG5pY2h0IG1pdCBkZW0gTmFtZW4gZGVyIFNrcmlwdC1EYXRlaSD8YmVyZWluOiAlcyIKIAogbXNnaWQgIkUxMjk6IEZ1bmN0aW9uIG5hbWUgcmVxdWlyZWQiCi1tc2dzdHIgIkUxMjk6IEZ1bmt0aW9ucy1OYW1lIHdpcmQgdmVybGFuZ3QiCittc2dzdHIgIkUxMjk6IEZ1bmt0aW9uc25hbWUgd2lyZCB2ZXJsYW5ndCIKIAogIywgYy1mb3JtYXQKLW1zZ2lkICJFMTI4OiBGdW5jdGlvbiBuYW1lIG11c3Qgc3RhcnQgd2l0aCBhIGNhcGl0YWw6ICVzIgotbXNnc3RyICJFMTI4OiBGdW5rdGlvbnMtTmFtZSBtdXNzIG1pdCBHcm/fYnVjaHN0YWJlbiBiZWdpbm5lbjogJXMiCi0KLSMsIGMtZm9ybWF0Ci1tc2dpZCAiRTEzMDogVW5kZWZpbmVkIGZ1bmN0aW9uOiAlcyIKLW1zZ3N0ciAiRTEzMDogRnVua3Rpb24gbmljaHQgZGVmaW5pZXJ0OiAlcyIKK21zZ2lkICJFMTI4OiBGdW5jdGlvbiBuYW1lIG11c3Qgc3RhcnQgd2l0aCBhIGNhcGl0YWwgb3IgY29udGFpbiBhIGNvbG9uOiAlcyIKK21zZ3N0ciAiRTEyODogRnVua3Rpb25zbmFtZSBtdXNzIG1pdCBlaW5lbSBHcm/fYnVjaHN0YWJlbiBiZWdpbm5lbiBvZGVyIGVpbmVuIERvcHBlbHB1bmt0IGVudGhhbHRlbjogJXMiCiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTEzMTogQ2Fubm90IGRlbGV0ZSBmdW5jdGlvbiAlczogSXQgaXMgaW4gdXNlIgpAQCAtNDYwLDcgKzYzOSw2IEBACiBtc2dpZCAiRTEzMjogRnVuY3Rpb24gY2FsbCBkZXB0aCBpcyBoaWdoZXIgdGhhbiAnbWF4ZnVuY2RlcHRoJyIKIG1zZ3N0ciAiRTEzMjogRnVua3Rpb25zYXVmcnVmLVRpZWZlIPxiZXJzY2hyZWl0ZXQgJ21heGZ1bmNkZXB0aCciCiAKLSMuIGFsd2F5cyBzY3JvbGwgdXAsIGRvbid0IG92ZXJ3cml0ZQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYWxsaW5nICVzIgogbXNnc3RyICJydWZlICVzIGF1ZiIKQEAgLTQ3NCwxMCArNjUyLDkgQEAKIG1zZ3N0ciAiJXMgbGllZmVydGUgIyVsZCB6dXL8Y2siCiAKICMsIGMtZm9ybWF0Ci1tc2dpZCAiJXMgcmV0dXJuaW5nIFwiJXNcIiIKK21zZ2lkICIlcyByZXR1cm5pbmcgJXMiCiBtc2dzdHIgIiVzIGxpZWZlcnRlIFwiJXNcIiB6dXL8Y2siCiAKLSMuIGFsd2F5cyBzY3JvbGwgdXAsIGRvbid0IG92ZXJ3cml0ZQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb250aW51aW5nIGluICVzIgogbXNnc3RyICJ3ZWl0ZXIgaW4gJXMiCkBAIC00ODUsNiArNjYyLDcgQEAKIG1zZ2lkICJFMTMzOiA6cmV0dXJuIG5vdCBpbnNpZGUgYSBmdW5jdGlvbiIKIG1zZ3N0ciAiRTEzMzogOnJldHVybiBhdd9lcmhhbGIgZWluZXIgRnVua3Rpb24iCiAKKyMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgogIiMgZ2xvYmFsIHZhcmlhYmxlczpcbiIKQEAgLTQ5Miw2ICs2NzAsMTMgQEAKICJcbiIKICIjIGdsb2JhbGUgVmFyaWFibGVuOlxuIgogCittc2dpZCAiIgorIlxuIgorIlx0TGFzdCBzZXQgZnJvbSAiCittc2dzdHIgIiIKKyJcbiIKKyJcdFp1bGV0enQgZ2VzZXR6dCB2b24gIgorCiAjLCBjLWZvcm1hdAogbXNnaWQgIjwlcz4lcyVzICAlZCwgIEhleCAlMDJ4LCAgT2N0YWwgJTAzbyIKIG1zZ3N0ciAiPCVzPiVzJXMgICVkLCAgSGV4ICUwMngsICBPa3RhbCAlMDNvIgpAQCAtNTM5LDEwICs3MjQsMTAgQEAKIG1zZ3N0ciAiIEluZm9ybWF0aW9uIgogCiBtc2dpZCAiIG1hcmtzIgotbXNnc3RyICJNYXJraWVydW5nZW4iCittc2dzdHIgIiBNYXJraWVydW5nZW4iCiAKIG1zZ2lkICIgRkFJTEVEIgotbXNnc3RyICIgRFVSQ0hHRUZBTExFTiIKK21zZ3N0ciAiIEZFSExHRVNDSExBR0VOIgogCiAjLCBjLWZvcm1hdAogbXNnaWQgIkUxMzc6IFZpbWluZm8gZmlsZSBpcyBub3Qgd3JpdGFibGU6ICVzIgpAQCAtNTUwLDcgKzczNSw3IEBACiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTEzODogQ2FuJ3Qgd3JpdGUgdmltaW5mbyBmaWxlICVzISIKLW1zZ3N0ciAiRTEzODogU2NocmVpYmVuIGluIGRpZSB2aW1pbmZvLURhdGVpICVzIGlzdCBuaWNodCBt9mdsaWNoISIKK21zZ3N0ciAiRTEzODogU2NocmVpYmVuIGRlciB2aW1pbmZvLURhdGVpICVzIGlzdCBuaWNodCBt9mdsaWNoISIKIAogIywgYy1mb3JtYXQKIG1zZ2lkICJXcml0aW5nIHZpbWluZm8gZmlsZSBcIiVzXCIiCkBAIC01NjEsNiArNzQ2LDcgQEAKIG1zZ2lkICIjIFRoaXMgdmltaW5mbyBmaWxlIHdhcyBnZW5lcmF0ZWQgYnkgVmltICVzLlxuIgogbXNnc3RyICIjIERpZXNlIHZpbWluZm8tRGF0ZWkgd3VyZGUgdm9uIFZpbSAlcyBnZW5lcmllcnQuXG4iCiAKKyMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiMgWW91IG1heSBlZGl0IGl0IGlmIHlvdSdyZSBjYXJlZnVsIVxuIgogIlxuIgpAQCAtNTY4LDYgKzc1NCw3IEBACiAiIyBTaWUga/ZubmVuIHNpZSB2ZXLkbmRlcm4sIHdlbm4gU2llIHZvcnNpY2h0aWcgdm9yZ2VoZW4hXG4iCiAiXG4iCiAKKyMsIGMtZm9ybWF0CiBtc2dpZCAiIyBWYWx1ZSBvZiAnZW5jb2RpbmcnIHdoZW4gdGhpcyBmaWxlIHdhcyB3cml0dGVuXG4iCiBtc2dzdHIgIiMgV2VydCB2b24gJ2VuY29kaW5nJywgYWxzIGRpZXNlIERhdGVpIGdlc2NocmllYmVuIHd1cmRlXG4iCiAKQEAgLTU3NSwzOSArNzYyLDM5IEBACiBtc2dzdHIgIlVuenVs5HNzaWdlcyBaZWljaGVuIGFtIEFuZmFuZyIKIAogbXNnaWQgIlNhdmUgQXMiCi1tc2dzdHIgIlNjaHJlaWJlIEFscyIKLQotIy4gT3ZlcndyaXRpbmcgYSBmaWxlIHRoYXQgaXMgbG9hZGVkIGluIGFub3RoZXIgYnVmZmVyIGlzIG5vdCBhCi0jLiAqIGdvb2QgaWRlYS4KLW1zZ2lkICJFMTM5OiBGaWxlIGlzIGxvYWRlZCBpbiBhbm90aGVyIGJ1ZmZlciIKLW1zZ3N0ciAiRTEzOTogRGF0ZWkgaXN0IGluIGVpbmVtIGFuZGVyZW4gUHVmZmVyIGdlbGFkZW4iCittc2dzdHIgIlNjaHJlaWJlIGFscyIKIAogbXNnaWQgIldyaXRlIHBhcnRpYWwgZmlsZT8iCiBtc2dzdHIgIlBhcnRpZWxsZSBEYXRlaSBzY2hyZWliZW4/IgogCiBtc2dpZCAiRTE0MDogVXNlICEgdG8gd3JpdGUgcGFydGlhbCBidWZmZXIiCi1tc2dzdHIgIkUxNDA6IFZlcndlbmRlbiBTaWUgISB6dW0gU2NocmVpYmVuIHZvbiBwYXJ0aWVsbGVuIFB1ZmZlcm4iCittc2dzdHIgIkUxNDA6IFp1bSBTY2hyZWliZW4gdm9uIHBhcnRpZWxsZW4gUHVmZmVybiAhIHZlcndlbmRlbiIKIAogIywgYy1mb3JtYXQKLW1zZ2lkICJPdmVyd3JpdGUgZXhpc3RpbmcgZmlsZSBcIiUuKnNcIj8iCi1tc2dzdHIgItxiZXJzY2hyZWliZSBleGlzdGllcmVuZGUgRGF0ZWkgXCIlLipzXCI/IgorbXNnaWQgIk92ZXJ3cml0ZSBleGlzdGluZyBmaWxlIFwiJXNcIj8iCittc2dzdHIgItxiZXJzY2hyZWliZSBleGlzdGllcmVuZGUgRGF0ZWkgXCIlc1wiPyIKIAotIyBDdXJzb3I6IFNjaHJlaWJtYXJrZSBQb3NpdGlvbnNtYXJrZQorIywgYy1mb3JtYXQKK21zZ2lkICJTd2FwIGZpbGUgXCIlc1wiIGV4aXN0cywgb3ZlcndyaXRlIGFueXdheT8iCittc2dzdHIgIkF1c2xhZ2VydW5nc2RhdGVpIFwiJXNcIiBleGlzdGllcnQgYmVyZWl0cy4g3GJlcnNjaHJlaWJlbj8iCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTc2ODogU3dhcCBmaWxlIGV4aXN0czogJXMgKDpzaWxlbnQhIG92ZXJyaWRlcykiCittc2dzdHIgIkU3Njg6IEF1c2xhZ2VydW5nc2RhdGVpIGV4aXN0aWVydCBiZXJlaXRzOiAlcyAobWl0IDpzaWxlbnQhIGVyendpbmdlbikiCisKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTE0MTogTm8gZmlsZSBuYW1lIGZvciBidWZmZXIgJWxkIgogbXNnc3RyICJFMTQxOiBLZWluIERhdGVpbmFtZSBm/HIgUHVmZmVyICVsZCIKIAogbXNnaWQgIkUxNDI6IEZpbGUgbm90IHdyaXR0ZW46IFdyaXRpbmcgaXMgZGlzYWJsZWQgYnkgJ3dyaXRlJyBvcHRpb24iCi1tc2dzdHIgIiIKLSJFMTQyOiBEYXRlaSB3dXJkZSBuaWNodCBnZXNjaHJpZWJlbjogU2NocmVpYmVuIGlzdCBkdXJjaCBkaWUgJ3dyaXRlJy1PcHRpb24gIgotImF1c2dlc2NoYWx0ZXQiCittc2dzdHIgIkUxNDI6IERhdGVpIHd1cmRlIG5pY2h0IGdlc2NocmllYmVuOiBTY2hyZWliZW4gaXN0IGR1cmNoIGRpZSAnd3JpdGUnLU9wdGlvbiBhdXNnZXNjaGFsdGV0IgogCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKLSIncmVhZG9ubHknIG9wdGlvbiBpcyBzZXQgZm9yIFwiJS4qc1wiLlxuIgorIidyZWFkb25seScgb3B0aW9uIGlzIHNldCBmb3IgXCIlc1wiLlxuIgogIkRvIHlvdSB3aXNoIHRvIHdyaXRlIGFueXdheT8iCiBtc2dzdHIgIiIKLSIncmVhZG9ubHknLU9wdGlvbiBpc3QgZvxyIFwiJS4qc1wiIGdlc2V0enQuXG4iCisiJ3JlYWRvbmx5Jy1PcHRpb24gaXN0IGb8ciBcIiVzXCIgZ2VzZXR6dC5cbiIKICJN9mNodGVuIFNpZSB0cm90emRlbSBzY2hyZWliZW4/IgogCiBtc2dpZCAiRWRpdCBGaWxlIgpAQCAtNjE4LDcgKzgwNSw3IEBACiBtc2dzdHIgIkUxNDM6IEF1dG8tS29tbWFuZG9zIGz2c2NodGVuIHVuZXJ3YXJ0ZXQgbmV1ZW4gUHVmZmVyICVzIgogCiBtc2dpZCAiRTE0NDogbm9uLW51bWVyaWMgYXJndW1lbnQgdG8gOnoiCi1tc2dzdHIgIkUxNDQ6IG5pY2h0IG51bWVyaXNjaGVzIEFyZ3VtZW50IGb8ciA6eiIKK21zZ3N0ciAiRTE0NDogTmljaHQtbnVtZXJpc2NoZXMgQXJndW1lbnQgZvxyIDp6IgogCiBtc2dpZCAiRTE0NTogU2hlbGwgY29tbWFuZHMgbm90IGFsbG93ZWQgaW4gcnZpbSIKIG1zZ3N0ciAiRTE0NTogU2hlbGwgQmVmZWhsZSBzaW5kIGluIHJ2aW0gbmljaHQgZXJsYXVidCIKQEAgLTYzMywxMCArODIwLDE3IEBACiBtc2dpZCAiKEludGVycnVwdGVkKSAiCiBtc2dzdHIgIihVbnRlcmJyb2NoZW4pICIKIAorbXNnaWQgIjEgbWF0Y2giCittc2dzdHIgImVpbiBUcmVmZmVyIgorCiBtc2dpZCAiMSBzdWJzdGl0dXRpb24iCiBtc2dzdHIgImVpbmUgRXJzZXR6dW5nIgogCiAjLCBjLWZvcm1hdAorbXNnaWQgIiVsZCBtYXRjaGVzIgorbXNnc3RyICIlbGQgVHJlZmZlciIKKworIywgYy1mb3JtYXQKIG1zZ2lkICIlbGQgc3Vic3RpdHV0aW9ucyIKIG1zZ3N0ciAiJWxkIEVyc2V0enVuZ2VuIgogCkBAIC02NTcsNiArODUxLDcgQEAKIG1zZ2lkICJQYXR0ZXJuIGZvdW5kIGluIGV2ZXJ5IGxpbmU6ICVzIgogbXNnc3RyICJNdXN0ZXIgaW4gamVkZXIgWmVpbGUgZ2VmdW5kZW46ICVzIgogCisjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKICIjIExhc3QgU3Vic3RpdHV0ZSBTdHJpbmc6XG4iCkBAIC02ODMsNyArODc4LDcgQEAKIAogIywgYy1mb3JtYXQKIG1zZ2lkICJFMTUwOiBOb3QgYSBkaXJlY3Rvcnk6ICVzIgotbXNnc3RyICJFMTUwOiBrZWluIFZlcnplaWNobmlzOiAlcyIKK21zZ3N0ciAiRTE1MDogS2VpbiBWZXJ6ZWljaG5pczogJXMiCiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTE1MjogQ2Fubm90IG9wZW4gJXMgZm9yIHdyaXRpbmciCkBAIC03MjgsNyArOTIzLDcgQEAKIAogIywgYy1mb3JtYXQKIG1zZ2lkICJFMTU3OiBJbnZhbGlkIHNpZ24gSUQ6ICVsZCIKLW1zZ3N0ciAiRTE1NzogdW5n/Gx0aWdlIFplaWNoZW4tSUQ6ICVsZCIKK21zZ3N0ciAiRTE1NzogVW5n/Gx0aWdlIFplaWNoZW4tSUQ6ICVsZCIKIAogbXNnaWQgIiAoTk9UIEZPVU5EKSIKIG1zZ3N0ciAiIChOSUNIVCBHRUZVTkRFTikiCkBAIC03MzcsNyArOTMyLDcgQEAKIG1zZ3N0ciAiIChuaWNodCB1bnRlcnN0/HR6dCkiCiAKIG1zZ2lkICJbRGVsZXRlZF0iCi1tc2dzdHIgIltnZWz2c2NodF0iCittc2dzdHIgIltHZWz2c2NodF0iCiAKIG1zZ2lkICJFbnRlcmluZyBEZWJ1ZyBtb2RlLiAgVHlwZSBcImNvbnRcIiB0byBjb250aW51ZS4iCiBtc2dzdHIgIkRlYnVnLU1vZHVzLiBHZWJlbiBTaWUgXCJjb250XCIgenVtIEZvcnRzZXR6ZW4gZWluLiIKQEAgLTc2NSw5ICs5NjAsMTIgQEAKIG1zZ2lkICIlM2QgICVzICVzICBsaW5lICVsZCIKIG1zZ3N0ciAiJTNkICAlcyAlcyAgWmVpbGUgJWxkIgogCittc2dpZCAiRTc1MDogRmlyc3QgdXNlIDpwcm9maWxlIHN0YXJ0IDxmbmFtZT4iCittc2dzdHIgIkU3NTA6IEVyc3RlIFZlcndlbmR1bmcgdm9uIDpwcm9maWxlIHN0YXJ0ZXQgPGZuYW1lPiIKKwogIywgYy1mb3JtYXQKLW1zZ2lkICJTYXZlIGNoYW5nZXMgdG8gXCIlLipzXCI/IgotbXNnc3RyICLEbmRlcnVuZ2VuIGluIFwiJS4qc1wiIHNwZWljaGVybj8iCittc2dpZCAiU2F2ZSBjaGFuZ2VzIHRvIFwiJXNcIj8iCittc2dzdHIgIsRuZGVydW5nZW4gaW4gXCIlc1wiIHNwZWljaGVybj8iCiAKIG1zZ2lkICJVbnRpdGxlZCIKIG1zZ3N0ciAiVW5iZW5hbm50IgpAQCAtNzc3LDkgKzk3NSw3IEBACiBtc2dzdHIgIkUxNjI6IFB1ZmZlciBcIiVzXCIgd3VyZGUgc2VpdCBkZXIgbGV0enRlbiDEbmRlcnVuZyBuaWNodCBnZXNjaHJpZWJlbiIKIAogbXNnaWQgIldhcm5pbmc6IEVudGVyZWQgb3RoZXIgYnVmZmVyIHVuZXhwZWN0ZWRseSAoY2hlY2sgYXV0b2NvbW1hbmRzKSIKLW1zZ3N0ciAiIgotIkFjaHR1bmc6IFVuZXJ3YXJ0ZXRlciBFaW50cml0dCBpbiBlaW5lbiBhbmRyZW4gUHVmZmVyICj8YmVycHL8ZmVuIFNpZWRpZSAiCi0iQXV0b2NvbW1hbmRzKSIKK21zZ3N0ciAiQWNodHVuZzogVW5lcndhcnRldGVyIEVpbnRyaXR0IGluIGVpbmVuIGFuZHJlbiBQdWZmZXIgKPxiZXJwcvxmZW4gU2llIGRpZSBBdXRvY29tbWFuZG9zKSIKIAogbXNnaWQgIkUxNjM6IFRoZXJlIGlzIG9ubHkgb25lIGZpbGUgdG8gZWRpdCIKIG1zZ3N0ciAiRTE2MzogRXMgZ2lidCBudXIgZWluZSBEYXRlaSB6dW0gRWRpdGllcmVuIgpAQCAtODMzLDYgKzEwMjksMjEgQEAKIG1zZ2lkICJmaW5pc2hlZCBzb3VyY2luZyAlcyIKIG1zZ3N0ciAiTGVzZW4gdm9uICVzIGJlZW5kZXQiCiAKK21zZ2lkICJtb2RlbGluZSIKK21zZ3N0ciAibW9kZWxpbmUiCisKK21zZ2lkICItLWNtZCBhcmd1bWVudCIKK21zZ3N0ciAiLS1jbWQgQXJndW1lbnQiCisKK21zZ2lkICItYyBhcmd1bWVudCIKK21zZ3N0ciAiLWMgQXJndW1lbnQiCisKK21zZ2lkICJlbnZpcm9ubWVudCB2YXJpYWJsZSIKK21zZ3N0ciAiVW1nZWJ1bmdzdmFyaWFibGUiCisKK21zZ2lkICJlcnJvciBoYW5kbGVyIgorbXNnc3RyICJFcnJvci1IYW5kbGVyIgorCiBtc2dpZCAiVzE1OiBXYXJuaW5nOiBXcm9uZyBsaW5lIHNlcGFyYXRvciwgXk0gbWF5IGJlIG1pc3NpbmciCiBtc2dzdHIgIlcxNTogQWNodHVuZzogRmFsc2NoZXIgWmVpbGVudHJlbm5lciwgdmllbGxlaWNodCBmZWhsdCBlaW4gXk0iCiAKQEAgLTg0Myw3OCArMTA1NCw2IEBACiBtc2dzdHIgIkUxNjg6IDpmaW5pc2ggYXXfZXJoYWxiIGVpbmVyIGVpbmdlbGVzZW5lbiBEYXRlaSIKIAogIywgYy1mb3JtYXQKLW1zZ2lkICJQYWdlICVkIgotbXNnc3RyICJTZWl0ZSAlZCIKLQotbXNnaWQgIk5vIHRleHQgdG8gYmUgcHJpbnRlZCIKLW1zZ3N0ciAiS2VpbiBUZXh0IHp1bSBEcnVja2VuIgotCi0jLCBjLWZvcm1hdAotbXNnaWQgIlByaW50aW5nIHBhZ2UgJWQgKCVkJSUpIgotbXNnc3RyICJEcnVja2UgU2VpdGUgJWQgKCVkJSUpIgotCi0jLCBjLWZvcm1hdAotbXNnaWQgIiBDb3B5ICVkIG9mICVkIgotbXNnc3RyICIgS29waWUgJWQgdm9uICVkIgotCi0jLCBjLWZvcm1hdAotbXNnaWQgIlByaW50ZWQ6ICVzIgotbXNnc3RyICJHZWRydWNrdDogJXMiCi0KLW1zZ2lkICJQcmludGluZyBhYm9ydGVkIgotbXNnc3RyICJEcnVja2VuIGFiZ2Vicm9jaGVuIgotCi1tc2dpZCAiRTQ1NTogRXJyb3Igd3JpdGluZyB0byBQb3N0U2NyaXB0IG91dHB1dCBmaWxlIgotbXNnc3RyICJFNDU1OiBGZWhsZXIgYmVpbSBTY2hyZWliZW4gZGVyIFBvc3RTY3JpcHQgQXVzZ2FiZS1EYXRlaSIKLQotIywgYy1mb3JtYXQKLW1zZ2lkICJFNjI0OiBDYW4ndCBvcGVuIGZpbGUgXCIlc1wiIgotbXNnc3RyICJFNjI0OiBEYXRlaSBcIiVzXCIga2FubiBuaWNodCBnZfZmZm5ldCB3ZXJkZW4iCi0KLSMsIGMtZm9ybWF0Ci1tc2dpZCAiRTQ1NzogQ2FuJ3QgcmVhZCBQb3N0U2NyaXB0IHJlc291cmNlIGZpbGUgXCIlc1wiIgotbXNnc3RyICJFNDU3OiBQb3N0U2NyaXB0IFJlc3NvdXJjZS1EYXRlaSBcIiVzXCIga2FubiBuaWNodCBnZWxlc2VuIHdlcmRlbiIKLQotIywgYy1mb3JtYXQKLW1zZ2lkICJFNjE4OiBmaWxlIFwiJXNcIiBpcyBub3QgYSBQb3N0U2NyaXB0IHJlc291cmNlIGZpbGUiCi1tc2dzdHIgIkU2MTg6IERhdGVpIFwiJXNcIiBpc3Qga2VpbmUgUG9zdFNjcmlwdCBSZXNzb3VyY2UtRGF0ZWkiCi0KLSMsIGMtZm9ybWF0Ci1tc2dpZCAiRTYxOTogZmlsZSBcIiVzXCIgaXMgbm90IGEgc3VwcG9ydGVkIFBvc3RTY3JpcHQgcmVzb3VyY2UgZmlsZSIKLW1zZ3N0ciAiRTYxOTogRGF0ZWkgXCIlc1wiIGlzdCBrZWluZSB1bnRlcnN0/HR6dGUgUG9zdFNjcmlwdCBSZXNzb3VyY2UtRGF0ZWkiCi0KLSMsIGMtZm9ybWF0Ci1tc2dpZCAiRTYyMTogXCIlc1wiIHJlc291cmNlIGZpbGUgaGFzIHdyb25nIHZlcnNpb24iCi1tc2dzdHIgIkU2MjE6IFwiJXNcIiBSZXNzb3VyY2UtRGF0ZWkgaGF0IGRpZSBmYWxzY2hlIFZlcnNpb24iCi0KLW1zZ2lkICJFMzI0OiBDYW4ndCBvcGVuIFBvc3RTY3JpcHQgb3V0cHV0IGZpbGUiCi1tc2dzdHIgIkUzMjQ6IFBvc3RTY3JpcHQgQXVzZ2FiZS1EYXRlaSBrYW5uIG5pY2h0IGdl9mZmbmV0IHdlcmRlbiIKLQotIywgYy1mb3JtYXQKLW1zZ2lkICJFNDU2OiBDYW4ndCBvcGVuIGZpbGUgXCIlc1wiIgotbXNnc3RyICJFNDU2OiBEYXRlaSBcIiVzXCIga2FubiBuaWNodCBnZfZmZm5ldCB3ZXJkZW4iCi0KLW1zZ2lkICJFNDU2OiBDYW4ndCBmaW5kIFBvc3RTY3JpcHQgcmVzb3VyY2UgZmlsZSBcInByb2xvZy5wc1wiIgotbXNnc3RyICJFNDU2OiBQb3N0U2NyaXB0IFJlc3NvdXJjZS1EYXRlaSBcInByb2xvZy5wc1wiIG5pY2h0IGdlZnVuZGVuIgotCi0jLCBjLWZvcm1hdAotbXNnaWQgIkU0NTY6IENhbid0IGZpbmQgUG9zdFNjcmlwdCByZXNvdXJjZSBmaWxlIFwiJXMucHNcIiIKLW1zZ3N0ciAiRTQ1NjogUG9zdFNjcmlwdCBSZXNzb3VyY2UtRGF0ZWkgXCIlc1wiIG5pY2h0IGdlZnVuZGVuIgotCi0jLCBjLWZvcm1hdAotI34gbXNnaWQgIkU2MjA6IFVuYWJsZSB0byBjb252ZXJ0IGZyb20gbXVsdGktYnl0ZSB0byBcIiVzXCIgZW5jb2RpbmciCi0jfiBtc2dzdHIgIiIKLQotbXNnaWQgIlNlbmRpbmcgdG8gcHJpbnRlci4uLiIKLW1zZ3N0ciAiU2NoaWNrZSB6dW0gRHJ1Y2tlci4uLiIKLQotbXNnaWQgIkUzNjU6IEZhaWxlZCB0byBwcmludCBQb3N0U2NyaXB0IGZpbGUiCi1tc2dzdHIgIkUzNjU6IERydWNrIGRlciBQb3N0U2NyaXB0LURhdGVpIHNjaGx1ZyBmZWhsIgotCi1tc2dpZCAiUHJpbnQgam9iIHNlbnQuIgotbXNnc3RyICJEcnVja2F1ZnRyYWcgYWJnZXNjaGlja3QiCi0KLSMsIGMtZm9ybWF0CiBtc2dpZCAiQ3VycmVudCAlc2xhbmd1YWdlOiBcIiVzXCIiCiBtc2dzdHIgIk1vbWVudGFuZSAlc1NwcmFjaGU6IFwiJXNcIiIKIApAQCAtOTIzLDggKzEwNjIsNyBAQAogbXNnc3RyICJFMTk3OiBTcHJhY2hlIGthbm4gbmljaHQgYXVmIFwiJXNcIiBnZXNldHp0IHdlcmRlbiIKIAogbXNnaWQgIkVudGVyaW5nIEV4IG1vZGUuICBUeXBlIFwidmlzdWFsXCIgdG8gZ28gdG8gTm9ybWFsIG1vZGUuIgotbXNnc3RyICIiCi0iRXgtTW9kdXMuICBHZWJlbiBTaWUgXCJ2aXN1YWxcIiBlaW4sIHVtIHp1bSBOb3JtYWwtTW9kdXMgenVy/GNrenVrZWhyZW4uIgorbXNnc3RyICJFeC1Nb2R1cy4gR2ViZW4gU2llIFwidmlzdWFsXCIgZWluLCB1bSB6dW0gTm9ybWFsLU1vZHVzIHp1cvxja3p1a2VocmVuLiIKIAogIy4gbXVzdCBiZSBhdCBFT0YKIG1zZ2lkICJFNTAxOiBBdCBlbmQtb2YtZmlsZSIKQEAgLTk2NSwxNCArMTEwMywxNCBAQAogbXNnc3RyICJFMTcyOiBOdXIgZWluIERhdGVpbmFtZSBlcmxhdWJ0IgogCiBtc2dpZCAiMSBtb3JlIGZpbGUgdG8gZWRpdC4gIFF1aXQgYW55d2F5PyIKLW1zZ3N0ciAiMSB3ZWl0ZXJlIERhdGVpIHp1bSBFZGl0aWVyZW4uIFRyb3R6ZGVtIGJlZW5kZW4/IgorbXNnc3RyICJFaW5lIHdlaXRlcmUgRGF0ZWkgenVtIEVkaXRpZXJlbi4gVHJvdHpkZW0gYmVlbmRlbj8iCiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWQgbW9yZSBmaWxlcyB0byBlZGl0LiAgUXVpdCBhbnl3YXk/IgotbXNnc3RyICIlZCB3ZWl0ZXJlIERhdGVpZW4genVtIEVkaXRpZXJlbi4gIFRyb3R6ZGVtIGJlZW5kZW4/IgorbXNnc3RyICIlZCB3ZWl0ZXJlIERhdGVpZW4genVtIEVkaXRpZXJlbi4gVHJvdHpkZW0gYmVlbmRlbj8iCiAKIG1zZ2lkICJFMTczOiAxIG1vcmUgZmlsZSB0byBlZGl0IgotbXNnc3RyICJFMTczOiAxIHdlaXRlcmUgRGF0ZWkgenVtIEVkaXRpZXJlbiIKK21zZ3N0ciAiRTE3MzogRWluZSB3ZWl0ZXJlIERhdGVpIHp1bSBFZGl0aWVyZW4iCiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTE3MzogJWxkIG1vcmUgZmlsZXMgdG8gZWRpdCIKQEAgLTEwMDcsMTYgKzExNDUsNiBAQAogbXNnc3RyICJFMTc5OiBBcmd1bWVudCB3aXJkIHp1ciBWZXJ2b2xsc3TkbmRpZ3VuZyBiZW72dGlndCIKIAogIywgYy1mb3JtYXQKLW1zZ2lkICJFMTgwOiBJbnZhbGlkIGNvbXBsZXRlIHZhbHVlOiAlcyIKLW1zZ3N0ciAiRTE4MDogVW5n/Gx0aWdlciBWZXJ2b2xsc3TkbmRpZ3VuZ3MtV2VydDogJXMiCi0KLSN+IG1zZ2lkICJFNDY4OiBDb21wbGV0aW9uIGFyZ3VtZW50IG9ubHkgYWxsb3dlZCBmb3IgY3VzdG9tIGNvbXBsZXRpb24iCi0jfiBtc2dzdHIgIiIKLQotI34gbXNnaWQgIkU0Njc6IEN1c3RvbSBjb21wbGV0aW9uIHJlcXVpcmVzIGEgZnVuY3Rpb24gYXJndW1lbnQiCi0jfiBtc2dzdHIgIiIKLQotIywgYy1mb3JtYXQKIG1zZ2lkICJFMTgxOiBJbnZhbGlkIGF0dHJpYnV0ZTogJXMiCiBtc2dzdHIgIkUxODE6IFVuZ/xsdGlnZXMgQXR0cmlidXQ6ICVzIgogCkBAIC0xMDMxLDIxICsxMTU5LDQwIEBACiBtc2dzdHIgIkUxODQ6IFVuYmVrYW5udGVyIGJlbnV0emVyZGVmaW5pZXJ0ZXIgQmVmZWhsOiAlcyIKIAogIywgYy1mb3JtYXQKK21zZ2lkICJFMTgwOiBJbnZhbGlkIGNvbXBsZXRlIHZhbHVlOiAlcyIKK21zZ3N0ciAiRTE4MDogVW5n/Gx0aWdlciBWZXJ2b2xsc3TkbmRpZ3VuZ3MtV2VydDogJXMiCisKK21zZ2lkICJFNDY4OiBDb21wbGV0aW9uIGFyZ3VtZW50IG9ubHkgYWxsb3dlZCBmb3IgY3VzdG9tIGNvbXBsZXRpb24iCittc2dzdHIgIkU0Njg6IEFyZ3VtZW50IGb8ciBWZXJ2b2xsc3TkbmRpZ3VuZyBudXIgZvxyIGVpZ2VuZSBWZXJ2b2xsc3TkbmRpZ3VuZyBlcmxhdWJ0IgorCittc2dpZCAiRTQ2NzogQ3VzdG9tIGNvbXBsZXRpb24gcmVxdWlyZXMgYSBmdW5jdGlvbiBhcmd1bWVudCIKK21zZ3N0ciAiRTQ2NzogRWlnZW5lIFZlcnZvbGxzdORuZGlndW5nIGJlbvZ0aWd0IGVpbiBGdW5rdGlvbnNhcmd1bWVudCIKKworIywgYy1mb3JtYXQKIG1zZ2lkICJFMTg1OiBDYW5ub3QgZmluZCBjb2xvciBzY2hlbWUgJXMiCiBtc2dzdHIgIkUxODU6IFplaWxlICVzIGthbm4gbmljaHQgZ2VmdW5kZW4gd2VyZGVuIgogCiBtc2dpZCAiR3JlZXRpbmdzLCBWaW0gdXNlciEiCiBtc2dzdHIgIkhlcnpsaWNoZSBHcvzfZSwgVmltIEJlbnV0emVyISIKIAorbXNnaWQgIkU3ODQ6IENhbm5vdCBjbG9zZSBsYXN0IHRhYiBwYWdlIgorbXNnc3RyICJFNzg0OiBLYW5uIGxldHp0ZXMgVGFiIG5pY2h0IHNjaGxpZd9lbiIKKworbXNnaWQgIkFscmVhZHkgb25seSBvbmUgdGFiIHBhZ2UiCittc2dzdHIgIkVzIGV4aXN0aWVydCBiZXJlaXRzIG51ciBlaW4gVGFiIgorCiBtc2dpZCAiRWRpdCBGaWxlIGluIG5ldyB3aW5kb3ciCiBtc2dzdHIgIkVkaXRpZXJlIERhdGVpIGluIGVpbmVtIG5ldWVuIEZlbnN0ZXIiCiAKIG1zZ2lkICJObyBzd2FwIGZpbGUiCi1tc2dzdHIgIktlaW5lIEF1c2xhZ2VydW5ncy1EYXRlaSIKK21zZ3N0ciAiS2VpbmUgQXVzbGFnZXJ1bmdzZGF0ZWkiCiAKIG1zZ2lkICJBcHBlbmQgRmlsZSIKIG1zZ3N0ciAiRvxnZSBEYXRlaSBhbiIKIAorbXNnaWQgIkU3NDc6IENhbm5vdCBjaGFuZ2UgZGlyZWN0b3J5LCBidWZmZXIgaXMgbW9kaWZlZCAoYWRkICEgdG8gb3ZlcnJpZGUpIgorbXNnc3RyICJFNzQ3OiBLYW5uIGRhcyBWZXJ6ZWljaG5pcyBuaWNodCB3ZWNoc2VsbiwgZGEgZGVyIFB1ZmZlciB2ZXLkbmRlcnQgd3VyZGUgKGVyendpbmdlIG1pdCAhKSIKKwogbXNnaWQgIkUxODY6IE5vIHByZXZpb3VzIGRpcmVjdG9yeSIKIG1zZ3N0ciAiRTE4NjogS2VpbiB2b3JoZXJpZ2VzIFZlcnplaWNobmlzIgogCkBAIC0xMDYwLDggKzEyMDcsNyBAQAogbXNnc3RyICJGZW5zdGVyLVBvc2l0aW9uOiBYICVkLCBZICVkIgogCiBtc2dpZCAiRTE4ODogT2J0YWluaW5nIHdpbmRvdyBwb3NpdGlvbiBub3QgaW1wbGVtZW50ZWQgZm9yIHRoaXMgcGxhdGZvcm0iCi1tc2dzdHIgIiIKLSJFMTg4OiBkaWUgRmVuc3Rlci1Qb3NpdGlvbiBrYW5uIGb8ciBkaWVzZXMgVGVybWluYWwgbmljaHQgYmVzdGltbXQgd2VyZGVuIgorbXNnc3RyICJFMTg4OiBEaWUgRmVuc3Rlci1Qb3NpdGlvbiBrYW5uIGb8ciBkaWVzZXMgVGVybWluYWwgbmljaHQgYmVzdGltbXQgd2VyZGVuIgogCiBtc2dpZCAiRTQ2NjogOndpbnBvcyByZXF1aXJlcyB0d28gbnVtYmVyIGFyZ3VtZW50cyIKIG1zZ3N0ciAiRTQ2NjogOndpbnBvcyBiZW72dGlndCB6d2VpIG51bWVyaXNjaGUgQXJndW1lbnRlIgpAQCAtMTA3OSw2ICsxMjI1LDEwIEBACiBtc2dzdHIgIkVpbnN0ZWxsdW5nZW4gU3BlaWNoZXJuIgogCiAjLCBjLWZvcm1hdAorbXNnaWQgIkU3Mzk6IENhbm5vdCBjcmVhdGUgZGlyZWN0b3J5OiAlcyIKK21zZ3N0ciAiRTczOTogS2FubiBWZXJ6ZWljaG5pcyBuaWNodCBlcnN0ZWxsZW46ICVzIgorCisjLCBjLWZvcm1hdAogbXNnaWQgIkUxODk6IFwiJXNcIiBleGlzdHMgKGFkZCAhIHRvIG92ZXJyaWRlKSIKIG1zZ3N0ciAiRTE4OTogXCIlc1wiIGV4aXN0aWVydCAoZXJ6d2luZ2UgbWl0ICEpIgogCkBAIC0xMDg4LDkgKzEyMzgsNyBAQAogCiAjLiBzZXQgbWFyawogbXNnaWQgIkUxOTE6IEFyZ3VtZW50IG11c3QgYmUgYSBsZXR0ZXIgb3IgZm9yd2FyZC9iYWNrd2FyZCBxdW90ZSIKLW1zZ3N0ciAiIgotIkUxOTE6IEFyZ3VtZW50IG11c3MgZWluIEJ1Y2hzdGFiZSBvZGVyIHZvcnfkcnRzL3L8Y2t35HJ0cy1Bbmb8aHJ1bmdzemVpY2hlbiAiCi0ic2VpbiIKK21zZ3N0ciAiRTE5MTogQXJndW1lbnQgbXVzcyBlaW4gQnVjaHN0YWJlIG9kZXIgdm9yd+RydHMvcvxja3fkcnRzLUFuZvxocnVuZ3N6ZWljaGVuIHNlaW4iCiAKIG1zZ2lkICJFMTkyOiBSZWN1cnNpdmUgdXNlIG9mIDpub3JtYWwgdG9vIGRlZXAiCiBtc2dzdHIgIkUxOTI6IFJla3Vyc2l2ZSBWZXJ3ZW5kdW5nIHZvbiA6bm9ybWFsIHp1IHRpZWYiCkBAIC0xMTA1LDggKzEyNTMsNyBAQAogbXNnc3RyICJFNDk2OiBLZWluZSBBdXRvLUtvbW1hbmRvLVB1ZmZlcm51bW1lciB6dXIgRXJzZXR6dW5nIG1pdCBcIjxhYnVmPlwiIgogCiBtc2dpZCAiRTQ5Nzogbm8gYXV0b2NvbW1hbmQgbWF0Y2ggbmFtZSB0byBzdWJzdGl0dXRlIGZvciBcIjxhbWF0Y2g+XCIiCi1tc2dzdHIgIiIKLSJFNDk3OiBLZWluIHBhc3NlbmRlciBOYW1lIGVpbmVzIEF1dG8tS29tbWFuZG9zIHp1ciBFcnNldHp1bmcgbWl0IFwiPGFtYXRjaD5cIiIKK21zZ3N0ciAiRTQ5NzogS2VpbiBwYXNzZW5kZXIgTmFtZSBlaW5lcyBBdXRvLUtvbW1hbmRvcyB6dXIgRXJzZXR6dW5nIG1pdCBcIjxhbWF0Y2g+XCIiCiAKIG1zZ2lkICJFNDk4OiBubyA6c291cmNlIGZpbGUgbmFtZSB0byBzdWJzdGl0dXRlIGZvciBcIjxzZmlsZT5cIiIKIG1zZ3N0ciAiRTQ5ODoga2VpbiA6c291cmNlIERhdGVpbmFtZSB6dXIgRXJzZXR6dW5nIG1pdCBcIjxzZmlsZT5cIiIKQEAgLTExMjIsMTAgKzEyNjksMTAgQEAKIG1zZ3N0ciAiRTE5NTogdmltaW5mbyBrYW5uIG5pY2h0IHp1bSBMZXNlbiBnZfZmZm5ldCB3ZXJkZW4iCiAKIG1zZ2lkICJFMTk2OiBObyBkaWdyYXBocyBpbiB0aGlzIHZlcnNpb24iCi1tc2dzdHIgImVkOSkgS2VpbmUgRGlncmFwaGVuIGluIGRpZXNlciBWZXJzaW9uIgorbXNnc3RyICJFMTk2IEtlaW5lIERpZ3JhcGhlbiBpbiBkaWVzZXIgVmVyc2lvbiIKIAotI34gbXNnaWQgIkU2MDg6IENhbm5vdCA6dGhyb3cgZXhjZXB0aW9ucyB3aXRoICdWaW0nIHByZWZpeCIKLSN+IG1zZ3N0ciAiIgorbXNnaWQgIkU2MDg6IENhbm5vdCA6dGhyb3cgZXhjZXB0aW9ucyB3aXRoICdWaW0nIHByZWZpeCIKK21zZ3N0ciAiRTYwODogS2FubiBuaWNodCA6dGhyb3cgRXhjZXB0aW9ucyBtaXQgJ1ZpbScgUHLkZml4IgogCiAjLiBhbHdheXMgc2Nyb2xsIHVwLCBkb24ndCBvdmVyd3JpdGUKICMsIGMtZm9ybWF0CkBAIC0xMTUwLDggKzEyOTcsOCBAQAogbXNnc3RyICJBdXNuYWhtZSBnZWZhbmdlbjogJXMiCiAKICMsIGMtZm9ybWF0Ci0jfiBtc2dpZCAiJXMgbWFkZSBwZW5kaW5nIgotI34gbXNnc3RyICIiCittc2dpZCAiJXMgbWFkZSBwZW5kaW5nIgorbXNnc3RyICIlcyBzY2h3ZWJlbmQgZ2VtYWNodCIKIAogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyByZXN1bWVkIgpAQCAtMTE2NCw5ICsxMzExLDggQEAKIG1zZ2lkICJFeGNlcHRpb24iCiBtc2dzdHIgIkF1c25haG1lIgogCi0jLCBmdXp6eQotI34gbXNnaWQgIkVycm9yIGFuZCBpbnRlcnJ1cHQiCi0jfiBtc2dzdHIgIlRhc3RhdHVyLVVudGVyYnJlY2h1bmciCittc2dpZCAiRXJyb3IgYW5kIGludGVycnVwdCIKK21zZ3N0ciAiRmVobGVyIHVuZCBVbnRlcmJyZWNodW5nIgogCiBtc2dpZCAiRXJyb3IiCiBtc2dzdHIgIkZlaGxlciIKQEAgLTExODgsNyArMTMzNCw3IEBACiBtc2dzdHIgIkU1ODI6IDplbHNlaWYgb2huZSA6aWYiCiAKIG1zZ2lkICJFNTgzOiBtdWx0aXBsZSA6ZWxzZSIKLW1zZ3N0ciAiRTU4MzogbWVocmVyZSA6ZWxzZSIKK21zZ3N0ciAiRTU4MzogTWVocmVyZSA6ZWxzZSIKIAogbXNnaWQgIkU1ODQ6IDplbHNlaWYgYWZ0ZXIgOmVsc2UiCiBtc2dzdHIgIkU1ODQ6IDplbHNlaWYgbmFjaCA6ZWxzZSIKQEAgLTEyMDIsNiArMTM0OCwxMiBAQAogbXNnaWQgIkU1ODc6IDpicmVhayB3aXRob3V0IDp3aGlsZSIKIG1zZ3N0ciAiRTU4NzogOmJyZWFrIG9obmUgOndoaWxlIgogCittc2dpZCAiRTczMjogVXNpbmcgOmVuZGZvciB3aXRoIDp3aGlsZSIKK21zZ3N0ciAiRTczMjogQmVu/HR6dW5nIHZvbiA6ZW5kZm9yIG1pdCA6d2hpbGUiCisKK21zZ2lkICJFNzMzOiBVc2luZyA6ZW5kd2hpbGUgd2l0aCA6Zm9yIgorbXNnc3RyICJFNzMzOiBCZW78dHp1bmcgdm9uIDplbmR3aGlsZSBtaXQgOmZvciIKKwogbXNnaWQgIkU2MDE6IDp0cnkgbmVzdGluZyB0b28gZGVlcCIKIG1zZ3N0ciAiRTYwMTogOnRyeSBTY2hhY2h0ZWx1bmcgenUgdGllZiIKIApAQCAtMTIxOCw3ICsxMzcwLDcgQEAKIAogIy4gR2l2ZSB1cCBmb3IgYSBtdWx0aXBsZSAiOmZpbmFsbHkiIGFuZCBpZ25vcmUgaXQuCiBtc2dpZCAiRTYwNzogbXVsdGlwbGUgOmZpbmFsbHkiCi1tc2dzdHIgIkU2MDc6IG1laHJlcmUgOmZpbmFsbHkiCittc2dzdHIgIkU2MDc6IE1laHJlcmUgOmZpbmFsbHkiCiAKIG1zZ2lkICJFNjAyOiA6ZW5kdHJ5IHdpdGhvdXQgOnRyeSIKIG1zZ3N0ciAiRTYwMjogOmVuZHRyeSBvaG5lIDp0cnkiCkBAIC0xMjU5LDEwICsxNDExLDEwIEBACiBtc2dzdHIgIkUxOTg6IGNtZF9wY2hhciD8YmVyIGRpZSBM5G5nZSBkZXMgQmVmZWhscyBoaW5hdXMiCiAKIG1zZ2lkICJFMTk5OiBBY3RpdmUgd2luZG93IG9yIGJ1ZmZlciBkZWxldGVkIgotbXNnc3RyICJFMTk5OiBha3RpdmVzIEZlbnN0ZXIgb2RlciBQdWZmZXIgZ2Vs9nNjaHQiCittc2dzdHIgIkUxOTk6IEFrdGl2ZXMgRmVuc3RlciBvZGVyIFB1ZmZlciBnZWz2c2NodCIKIAogbXNnaWQgIklsbGVnYWwgZmlsZSBuYW1lIgotbXNnc3RyICJ1bnp1bORzc2lnZXIgRGF0ZWluYW1lIgorbXNnc3RyICJVbnp1bORzc2lnZXIgRGF0ZWluYW1lIgogCiBtc2dpZCAiaXMgYSBkaXJlY3RvcnkiCiBtc2dzdHIgImlzdCBlaW4gVmVyemVpY2huaXMiCkBAIC0xMjczLDYgKzE0MjUsMTIgQEAKIG1zZ2lkICJbTmV3IEZpbGVdIgogbXNnc3RyICJbTmV1ZSBEYXRlaV0iCiAKK21zZ2lkICJbTmV3IERJUkVDVE9SWV0iCittc2dzdHIgIltOZXVlcyBWRVJaRUlDSE5JU10iCisKK21zZ2lkICJbRmlsZSB0b28gYmlnXSIKK21zZ3N0ciAiW0RhdGVpIHp1IGdyb99dIgorCiBtc2dpZCAiW1Blcm1pc3Npb24gRGVuaWVkXSIKIG1zZ3N0ciAiW0tlaW5lIEVybGF1Ym5pc10iCiAKQEAgLTEyODAsOCArMTQzOCw3IEBACiBtc2dzdHIgIkUyMDA6ICpSZWFkUHJlIEF1dG8tS29tbWFuZG9zIGhhYmVuIGRpZSBEYXRlaSB1bmxlc2JhciBnZW1hY2h0IgogCiBtc2dpZCAiRTIwMTogKlJlYWRQcmUgYXV0b2NvbW1hbmRzIG11c3Qgbm90IGNoYW5nZSBjdXJyZW50IGJ1ZmZlciIKLW1zZ3N0ciAiIgotIkUyMDE6ICpSZWFkUHJlIEF1dG8tS29tbWFuZG9zIGT8cmZlbiBuaWNodCBkZW4gYWt0dWVsbGVuIFB1ZmZlciB3ZWNoc2VsbiIKK21zZ3N0ciAiRTIwMTogKlJlYWRQcmUgQXV0by1Lb21tYW5kb3MgZPxyZmVuIG5pY2h0IGRlbiBha3R1ZWxsZW4gUHVmZmVyIHdlY2hzZWxuIgogCiBtc2dpZCAiVmltOiBSZWFkaW5nIGZyb20gc3RkaW4uLi5cbiIKIG1zZ3N0ciAiVmltOiBMZXNlIHZvbiBzdGRpbi4uLlxuIgpAQCAtMTMyMyw4ICsxNDgwLDkgQEAKIG1zZ2lkICJbY3J5cHRlZF0iCiBtc2dzdHIgIlt2ZXJzY2hs/HNzZWx0XSIKIAotbXNnaWQgIltDT05WRVJTSU9OIEVSUk9SXSIKLW1zZ3N0ciAiW1VNV0FORExVTkdTLUZFSExFUl0iCisjLCBjLWZvcm1hdAorbXNnaWQgIltDT05WRVJTSU9OIEVSUk9SIGluIGxpbmUgJWxkXSIKK21zZ3N0ciAiVU1XQU5ETFVOR1NGRUhMRVIgaW4gWmVpbGUgJWxkXSIKIAogIywgYy1mb3JtYXQKIG1zZ2lkICJbSUxMRUdBTCBCWVRFIGluIGxpbmUgJWxkXSIKQEAgLTEzNDIsMjIgKzE1MDAsMjAgQEAKIG1zZ2lkICJjYW4ndCByZWFkIG91dHB1dCBvZiAnY2hhcmNvbnZlcnQnIgogbXNnc3RyICJBdXNnYWJlIHZvbiAnY2hhcmNvbnZlcnQnIGthbm4gbmljaHQgZ2VsZXNlbiB3ZXJkZW4iCiAKK21zZ2lkICJFNjc2OiBObyBtYXRjaGluZyBhdXRvY29tbWFuZHMgZm9yIGFjd3JpdGUgYnVmZmVyIgorbXNnc3RyICJFNjc2OiBLZWluZSD8YmVyZWluc3RpbW1lbmRlbiBBdXRva29tbWFuZG9zIGb8ciBhY3dyaXRlIFB1ZmZlciIKKwogbXNnaWQgIkUyMDM6IEF1dG9jb21tYW5kcyBkZWxldGVkIG9yIHVubG9hZGVkIGJ1ZmZlciB0byBiZSB3cml0dGVuIgotbXNnc3RyICIiCi0iRTIwMzogQXV0by1Lb21tYW5kb3MgaGFiZW4gZGVuIHp1IHNjaHJlaWJlbmRlbiBQdWZmZXIgZ2Vs9nNjaHQgb2RlciBoZXJhdXMgIgotImdlbGFkZW4iCittc2dzdHIgIkUyMDM6IEF1dG8tS29tbWFuZG9zIGhhYmVuIGRlbiB6dSBzY2hyZWliZW5kZW4gUHVmZmVyIGdlbPZzY2h0IG9kZXIgaGVyYXVzIGdlbGFkZW4iCiAKIG1zZ2lkICJFMjA0OiBBdXRvY29tbWFuZCBjaGFuZ2VkIG51bWJlciBvZiBsaW5lcyBpbiB1bmV4cGVjdGVkIHdheSIKLW1zZ3N0ciAiIgotIkUyMDQ6IEF1dG8tS29tbWFuZG9zIGhhYmVuIGRpZSBBbnphaGwgZGVyIFplaWxlbiBpbiB1bmVyd2FydGV0ZXIgV2Vpc2UgIgotInZlcuRuZGVydCIKK21zZ3N0ciAiRTIwNDogQXV0by1Lb21tYW5kb3MgaGFiZW4gZGllIEFuemFobCBkZXIgWmVpbGVuIGluIHVuZXJ3YXJ0ZXRlciBXZWlzZSB2ZXLkbmRlcnQiCiAKLSN+IG1zZ2lkICJOZXRCZWFucyBkaXNzYWxsb3dzIHdyaXRlcyBvZiB1bm1vZGlmaWVkIGJ1ZmZlcnMiCi0jfiBtc2dzdHIgIiIKK21zZ2lkICJOZXRCZWFucyBkaXNzYWxsb3dzIHdyaXRlcyBvZiB1bm1vZGlmaWVkIGJ1ZmZlcnMiCittc2dzdHIgIk5ldEJlYW5zIHZlcndlaWdlcnQgZGFzIFNjaHJlaWJlbiB2b24gdW52ZXLkbmRlcnRlbiBQdWZmZXJuIgogCi0jLCBmdXp6eQotI34gbXNnaWQgIlBhcnRpYWwgd3JpdGVzIGRpc2FsbG93ZWQgZm9yIE5ldEJlYW5zIGJ1ZmZlcnMiCi0jfiBtc2dzdHIgIktlaW5lIFN5bnRheC1FbGVtZW50ZSBkZWZpbmllcnQgZvxyIGRpZXNlbiBQdWZmZXIiCittc2dpZCAiUGFydGlhbCB3cml0ZXMgZGlzYWxsb3dlZCBmb3IgTmV0QmVhbnMgYnVmZmVycyIKK21zZ3N0ciAiUGFydGllbGxlcyBTY2hyZWliZW4gZvxyIE5ldEJlYW5zIFB1ZmZlciB2ZXJ3ZWlnZXJ0IgogCiBtc2dpZCAiaXMgbm90IGEgZmlsZSBvciB3cml0YWJsZSBkZXZpY2UiCiBtc2dzdHIgImlzdCBrZWluZSBEYXRlaSBvZGVyIGJlc2NocmVpYmJhcmVzIERldmljZSIKQEAgLTEzODQsNyArMTU0MCw3IEBACiBtc2dzdHIgIkU0NjA6IERlciBSZXNzb3VyY2Vmb3JrIGdlaHQgdmVybG9yZW4gKGVyendpbmdlIG1pdCAhKSIKIAogbXNnaWQgIkUyMTQ6IENhbid0IGZpbmQgdGVtcCBmaWxlIGZvciB3cml0aW5nIgotbXNnc3RyICJFMjE0OiB0ZW1wb3LkcmUgRGF0ZWkga2FubiBuaWNodCB6dW0gU2NocmVpYmVuIGdl9mZmbmV0IHdlcmRlbiIKK21zZ3N0ciAiRTIxNDogVGVtcG9y5HJlIERhdGVpIGthbm4gbmljaHQgenVtIFNjaHJlaWJlbiBnZfZmZm5ldCB3ZXJkZW4iCiAKIG1zZ2lkICJFMjEzOiBDYW5ub3QgY29udmVydCAoYWRkICEgdG8gd3JpdGUgd2l0aG91dCBjb252ZXJzaW9uKSIKIG1zZ3N0ciAiRTIxMzogRmVobGVyIGJlaSBkZXIgVW13YW5kbHVuZyAoc2NocmVpYmUgb2huZSBVbXdhbmRsdW5nIG1pdCAhKSIKQEAgLTE0MDgsNyArMTU2NCw3IEBACiBtc2dzdHIgIkU1MTQ6IFNjaHJlaWJmZWhsZXIgKERhdGVpc3lzdGVtIHZvbGw/KSIKIAogbXNnaWQgIiBDT05WRVJTSU9OIEVSUk9SIgotbXNnc3RyICJLT05WRVJUSUVSVU5HUy1GRUhMRVIiCittc2dzdHIgIktPTlZFUlRJRVJVTkdTRkVITEVSIgogCiBtc2dpZCAiW0RldmljZV0iCiBtc2dzdHIgIltBdXNnYWJlZ2Vy5HRdIgpAQCAtMTQ2NiwxNCArMTYyMiwxNCBAQAogbXNnc3RyICJbdW5peCBGb3JtYXRdIgogCiBtc2dpZCAiMSBsaW5lLCAiCi1tc2dzdHIgIjEgWmVpbGUsICIKK21zZ3N0ciAiZWluZSBaZWlsZSwgIgogCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVsZCBsaW5lcywgIgogbXNnc3RyICIlbGQgWmVpbGVuLCAiCiAKIG1zZ2lkICIxIGNoYXJhY3RlciIKLW1zZ3N0ciAiMSBaZWljaGVuIgorbXNnc3RyICJlaW4gWmVpY2hlbiIKIAogIywgYy1mb3JtYXQKIG1zZ2lkICIlbGQgY2hhcmFjdGVycyIKQEAgLTE1MjMsMjQgKzE2NzksMTggQEAKIAogIywgYy1mb3JtYXQKIG1zZ2lkICJXMTE6IFdhcm5pbmc6IEZpbGUgXCIlc1wiIGhhcyBjaGFuZ2VkIHNpbmNlIGVkaXRpbmcgc3RhcnRlZCIKLW1zZ3N0ciAiIgotIlcxMTogQWNodHVuZzogRGF0ZWkgXCIlc1wiIHd1cmRlIHZlcuRuZGVydCwgc2VpdCBtaXQgZGVtIEVkaXRpZXJlbiAiCi0iYW5nZWZhbmdlbiB3dXJkZSIKK21zZ3N0ciAiVzExOiBBY2h0dW5nOiBEYXRlaSBcIiVzXCIgd3VyZGUgdmVy5G5kZXJ0LCBzZWl0IG1pdCBkZW0gRWRpdGllcmVuIGFuZ2VmYW5nZW4gd3VyZGUiCiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiVzE2OiBXYXJuaW5nOiBNb2RlIG9mIGZpbGUgXCIlc1wiIGhhcyBjaGFuZ2VkIHNpbmNlIGVkaXRpbmcgc3RhcnRlZCIKLW1zZ3N0ciAiIgotIlcxMTogQWNodHVuZzogTW9kZSBkZXIgRGF0ZWkgXCIlc1wiIHd1cmRlIHZlcuRuZGVydCBzZWl0IG1pdCBkZW0gRWRpdGllcmVuICIKLSJhbmdlZmFuZ2VuIHd1cmRlIgorbXNnc3RyICJXMTY6IEFjaHR1bmc6IE1vZGUgZGVyIERhdGVpIFwiJXNcIiB3dXJkZSB2ZXLkbmRlcnQgc2VpdCBtaXQgZGVtIEVkaXRpZXJlbiBhbmdlZmFuZ2VuIHd1cmRlIgogCiAjLCBjLWZvcm1hdAogbXNnaWQgIlcxMzogV2FybmluZzogRmlsZSBcIiVzXCIgaGFzIGJlZW4gY3JlYXRlZCBhZnRlciBlZGl0aW5nIHN0YXJ0ZWQiCi1tc2dzdHIgIiIKLSJXMTM6IEFjaHR1ZzogRGF0ZWkgXCIlc1wiIHd1cmRlIGVyc3RlbGx0LCBuYWNoZGVtIG1pdCBkZW0gRWRpdGllcmVuIGJlZ29ubmVuICIKLSJ3dXJkZSIKK21zZ3N0ciAiVzEzOiBBY2h0dWc6IERhdGVpIFwiJXNcIiB3dXJkZSBlcnN0ZWxsdCwgbmFjaGRlbSBtaXQgZGVtIEVkaXRpZXJlbiBiZWdvbm5lbiB3dXJkZSIKIAotI34gbXNnaWQgIlNlZSBcIjpoZWxwIFcxMVwiIGZvciBtb3JlIGluZm8uIgotI34gbXNnc3RyICIiCittc2dpZCAiU2VlIFwiOmhlbHAgVzE2XCIgZm9yIG1vcmUgaW5mby4iCittc2dzdHIgIlNpZWhlIFwiOmhlbHAgVzE2XCIgZvxyIG1laHIgSW5mb3JtYXRpb24iCiAKIG1zZ2lkICJXYXJuaW5nIgogbXNnc3RyICJXYXJudW5nIgpAQCAtMTU1Miw5ICsxNzAyLDkgQEAKICImT0tcbiIKICImTGVzZSBEYXRlaSIKIAotIywgZnV6enksIGMtZm9ybWF0Ci0jfiBtc2dpZCAiRTQ2MjogQ291bGQgbm90IHByZXBhcmUgZm9yIHJlbG9hZGluZyBcIiVzXCIiCi0jfiBtc2dzdHIgIkUzMjE6IFwiJXNcIiBrb25udGUgbmljaHQgbmV1IGdlbGFkZW4gd2VyZGVuIgorIywgYy1mb3JtYXQKK21zZ2lkICJFNDYyOiBDb3VsZCBub3QgcHJlcGFyZSBmb3IgcmVsb2FkaW5nIFwiJXNcIiIKK21zZ3N0ciAiRTQ2MjogS29ubnRlIGRhcyBOZXVsYWRlbiB2b24gXCIlc1wiIG5pY2h0IHZvcmJlcmVpdGVuIgogCiAjLCBjLWZvcm1hdAogbXNnaWQgIkUzMjE6IENvdWxkIG5vdCByZWxvYWQgXCIlc1wiIgpAQCAtMTU4OCw2ICsxNzM4LDEwIEBACiAiXG4iCiAiLS0tIEF1dG8tS29tbWFuZG9zIC0tLSIKIAorIywgYy1mb3JtYXQKK21zZ2lkICJFNjgwOiA8YnVmZmVyPSVkPjogaW52YWxpZCBidWZmZXIgbnVtYmVyICIKK21zZ3N0ciAiRTY4MDogPGJ1ZmZlcj0lZD46IFVuZ/xsdGlnZSBQdWZmZXIgTnVtbWVyICIKKwogbXNnaWQgIkUyMTc6IENhbid0IGV4ZWN1dGUgYXV0b2NvbW1hbmRzIGZvciBBTEwgZXZlbnRzIgogbXNnc3RyICJFMjE3OiBBdXRvLUtvbW1hbmRvcyBr9m5uZW4gbmljaHQgZvxyIEFMTCBFcmVpZ25pc3NlIGF1c2dlZvxocnQgd2VyZGVuIgogCkBAIC0xNjIwLDE0ICsxNzc0LDE0IEBACiBtc2dzdHIgIkU0OTA6IEtlaW5lIEZhbHR1bmcgZ2VmdW5kZW4iCiAKIG1zZ2lkICJFMzUwOiBDYW5ub3QgY3JlYXRlIGZvbGQgd2l0aCBjdXJyZW50ICdmb2xkbWV0aG9kJyIKLW1zZ3N0ciAiIgotIkUzNTA6IEZhbHR1bmcga2FubiBtaXQgZGVyIGVpbmdlc3RlbGx0ZW4gTWV0aG9kZSAnZm9sZG1ldGhvZCcgbmljaHQgZXJ6ZXVndCAiCi0id2VyZGVuIgorbXNnc3RyICJFMzUwOiBGYWx0dW5nIGthbm4gbWl0IGRlciBha3R1ZWxsZW4gRmFsdHVuZ3NtZXRob2RlIG5pY2h0IGVyemV1Z3Qgd2VyZGVuIgogCiBtc2dpZCAiRTM1MTogQ2Fubm90IGRlbGV0ZSBmb2xkIHdpdGggY3VycmVudCAnZm9sZG1ldGhvZCciCi1tc2dzdHIgIiIKLSJFMzUxOiBGYWx0dW5nIGthbm4gbWl0IGRlciBlaW5nZXN0ZWxsdGVuIE1ldGhvZGUgJ2ZvbGRtZXRob2QnIG5pY2h0IGVudGZlcm50ICIKLSJ3ZXJkZW4iCittc2dzdHIgIkUzNTE6IEZhbHR1bmcga2FubiBtaXQgZGVyIGFrdHVlbGxlbiBGYWx0dW5nc21ldGhvZGUgbmljaHQgZ2Vs9nNjaHQgd2VyZGVuIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIistLSUzbGQgbGluZXMgZm9sZGVkICIKK21zZ3N0ciAiKy0tJTNsZCBaZWlsZW4gZ2VmYWx0ZXQgIgogCiBtc2dpZCAiRTIyMjogQWRkIHRvIHJlYWQgYnVmZmVyIgogbXNnc3RyICJFMjIyOiBadW0gTGVzZS1QdWZmZXIgSGluenVm/GdlbiIKQEAgLTE3MDksOSArMTg2Myw3IEBACiBtc2dzdHIgIlZJTSAtIERpYWxvZy4uLiIKIAogbXNnaWQgIkUyMzI6IENhbm5vdCBjcmVhdGUgQmFsbG9vbkV2YWwgd2l0aCBib3RoIG1lc3NhZ2UgYW5kIGNhbGxiYWNrIgotbXNnc3RyICIiCi0iRTIzMjogQmFsbG9vbkV2YWwga2FubiBuaWNodCBtaXQgc293b2hsIFwibWVzc2FnZVwiIHVuZCBcImNhbGxiYWNrXCIgZXJ6ZXVndCAiCi0id2VyZGVuIgorbXNnc3RyICJFMjMyOiBCYWxsb29uRXZhbCBrYW5uIG5pY2h0IG1pdCBzb3dvaGwgXCJtZXNzYWdlXCIgdW5kIFwiY2FsbGJhY2tcIiBlcnpldWd0IHdlcmRlbiIKIAogbXNnaWQgIlZpbSBkaWFsb2cuLi4iCiBtc2dzdHIgIlZJTSAtIERpYWxvZy4uLiIKQEAgLTE3MjUsOCArMTg3Nyw4IEBACiAiJk5laW5cbiIKICImQWJicmVjaGVuIgogCi0jfiBtc2dpZCAiSW5wdXQgX01ldGhvZHMiCi0jfiBtc2dzdHIgIiIKK21zZ2lkICJJbnB1dCBfTWV0aG9kcyIKK21zZ3N0ciAiRWluZ2FiZSBfTWV0aG9kZW4iCiAKIG1zZ2lkICJWSU0gLSBTZWFyY2ggYW5kIFJlcGxhY2UuLi4iCiBtc2dzdHIgIlZJTSAtIFN1Y2hlbiB1bmQgRXJzZXR6ZW4uLi4iCkBAIC0xNzQxLDE0ICsxODkzLDEyIEBACiBtc2dzdHIgIkVyc2V0emVuIG1pdDoiCiAKICMuIHdob2xlIHdvcmQgb25seSBidXR0b24KLSMsIGZ1enp5Ci0jfiBtc2dpZCAiTWF0Y2ggd2hvbGUgd29yZCBvbmx5IgotI34gbXNnc3RyICJQYXNzZW5kIGb8ciBlaW56ZWxuZSBX9nJ0ZXIiCittc2dpZCAiTWF0Y2ggd2hvbGUgd29yZCBvbmx5IgorbXNnc3RyICLcYmVyZWluc3RpbW11bmcgbnVyIG1pdCBnYW56ZW4gV/ZydGVybiIKIAogIy4gbWF0Y2ggY2FzZSBidXR0b24KLSMsIGZ1enp5Ci0jfiBtc2dpZCAiTWF0Y2ggY2FzZSIKLSN+IG1zZ3N0ciAiUGF0Y2gtRGF0ZWkiCittc2dpZCAiTWF0Y2ggY2FzZSIKK21zZ3N0ciAiS2xlaW4tL0dyb99zY2hyZWlidW5nIGJlYWNodGVuIgogCiBtc2dpZCAiRGlyZWN0aW9uIgogbXNnc3RyICJSaWNodHVuZyIKQEAgLTE3NjksMTEgKzE5MTksMjAgQEAKIG1zZ2lkICJSZXBsYWNlIEFsbCIKIG1zZ3N0ciAiQWxsZSBFcnNldHplbiIKIAotI34gbXNnaWQgIlZpbTogUmVjZWl2ZWQgXCJkaWVcIiByZXF1ZXN0IGZyb20gc2Vzc2lvbiBtYW5hZ2VyXG4iCi0jfiBtc2dzdHIgIiIKK21zZ2lkICJWaW06IFJlY2VpdmVkIFwiZGllXCIgcmVxdWVzdCBmcm9tIHNlc3Npb24gbWFuYWdlclxuIgorbXNnc3RyICJWaW06IFwiZGllXCItUmVxdWVzdCB2b24gU2Vzc2lvbi1NYW5hZ2VyIGVyaGFsdGVuXG4iCiAKLSN+IG1zZ2lkICJWaW06IE1haW4gd2luZG93IHVuZXhwZWN0ZWRseSBkZXN0cm95ZWRcbiIKLSN+IG1zZ3N0ciAiIgorbXNnaWQgIkNsb3NlIgorbXNnc3RyICJTY2hsaWXfZSIKKworbXNnaWQgIk5ldyB0YWIiCittc2dzdHIgIk5ldWVzIFRhYiIKKworbXNnaWQgIk9wZW4gVGFiLi4uIgorbXNnc3RyICLWZmZuZSBpbiBUYWIuLi4iCisKK21zZ2lkICJWaW06IE1haW4gd2luZG93IHVuZXhwZWN0ZWRseSBkZXN0cm95ZWRcbiIKK21zZ3N0ciAiVmltOiBIYXVwdGZlbnN0ZXIgdW5lcndhcnRldCBnZWz2c2NodFxuIgogCiBtc2dpZCAiRm9udCBTZWxlY3Rpb24iCiBtc2dzdHIgIkF1c3dhaGwgZGVyIFNjaHJpZnRhcnQiCkBAIC0xNzgxLDMxICsxOTQwLDQ5IEBACiBtc2dpZCAiVXNlZCBDVVRfQlVGRkVSMCBpbnN0ZWFkIG9mIGVtcHR5IHNlbGVjdGlvbiIKIG1zZ3N0ciAiQ1VUX0JVRkZFUjAgYW5zdGF0dCBkZXIgbGVlcmVuIEF1c3dhaGwgYmVudXR6dCIKIAotbXNnaWQgIkZpbHRlciIKLW1zZ3N0ciAiRmlsdGVyIgorbXNnaWQgIiZGaWx0ZXIiCittc2dzdHIgIiZGaWx0ZXIiCisKK21zZ2lkICImQ2FuY2VsIgorbXNnc3RyICImQWJicmVjaGVuIgogCiBtc2dpZCAiRGlyZWN0b3JpZXMiCiBtc2dzdHIgIlZlcnplaWNobmlzc2UiCiAKLW1zZ2lkICJIZWxwIgotbXNnc3RyICJIaWxmZSIKK21zZ2lkICJGaWx0ZXIiCittc2dzdHIgIkZpbHRlciIKKworbXNnaWQgIiZIZWxwIgorbXNnc3RyICImSGlsZmUiCiAKIG1zZ2lkICJGaWxlcyIKIG1zZ3N0ciAiRGF0ZWllbiIKIAorbXNnaWQgIiZPSyIKK21zZ3N0ciAiJk9rIgorCiBtc2dpZCAiU2VsZWN0aW9uIgogbXNnc3RyICJBdXN3YWhsIgogCi1tc2dpZCAiVW5kbyIKLW1zZ3N0ciAiUvxja2fkbmdpZyIKK21zZ2lkICJGaW5kICZOZXh0IgorbXNnc3RyICImTuRjaHN0ZSIKIAotIywgZnV6enksIGMtZm9ybWF0Ci0jfiBtc2dpZCAiRTYxMDogQ2FuJ3QgbG9hZCBaYXAgZm9udCAnJXMnIgotI34gbXNnc3RyICJFMjM1OiBaYXAtU2NocmlmdGFydCAnJXMnIGthbm4gbmljaHQgZ2VsYWRlbiB3ZXJkZW4iCittc2dpZCAiJlJlcGxhY2UiCittc2dzdHIgIiZFcnNldHplIgogCi0jLCBmdXp6eSwgYy1mb3JtYXQKLSN+IG1zZ2lkICJFNjExOiBDYW4ndCB1c2UgZm9udCAlcyIKLSN+IG1zZ3N0ciAiRTIzNTogU2NocmlmdGFydCAlcyBrYW5uIG5pY2h0IHZlcndlbmRldCB3ZXJkZW4iCittc2dpZCAiUmVwbGFjZSAmQWxsIgorbXNnc3RyICJFcnNldHplICZBbGxlcyIKKworbXNnaWQgIiZVbmRvIgorbXNnc3RyICImUvxja2fkbmdpZyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFNjEwOiBDYW4ndCBsb2FkIFphcCBmb250ICclcyciCittc2dzdHIgIkU2MTA6IFphcC1TY2hyaWZ0YXJ0ICclcycga2FubiBuaWNodCBnZWxhZGVuIHdlcmRlbiIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFNjExOiBDYW4ndCB1c2UgZm9udCAlcyIKK21zZ3N0ciAiRTYxMTogU2NocmlmdGFydCAlcyBrYW5uIG5pY2h0IHZlcndlbmRldCB3ZXJkZW4iCiAKIG1zZ2lkICIiCiAiXG4iCkBAIC0xODE1LDkgKzE5OTIsMjEgQEAKICJTZW5kZSBOYWNocmljaHQgenVtIEJlZW5kZW4gZGVzIEtpbmQtUHJvemVzc2VzLlxuIgogCiAjLCBjLWZvcm1hdAorbXNnaWQgIkU2NzE6IENhbm5vdCBmaW5kIHdpbmRvdyB0aXRsZSBcIiVzXCIiCittc2dzdHIgIkU2NzE6IEthbm4gRmVuc3RlcnRpdGVsIFwiJXNcIiBuaWNodCBmaW5kZW4iCisKKyMsIGMtZm9ybWF0CiBtc2dpZCAiRTI0MzogQXJndW1lbnQgbm90IHN1cHBvcnRlZDogXCItJXNcIjsgVXNlIHRoZSBPTEUgdmVyc2lvbi4iCi1tc2dzdHIgIiIKLSJFMjQzOiBBcmd1bWVudCB3aXJkIG5pY2h0IHVudGVyc3T8dHp0OiBcIi0lc1wiOyB2ZXJ3ZW5kZSBkaWUgT0xFIFZlcnNpb24uIgorbXNnc3RyICJFMjQzOiBBcmd1bWVudCB3aXJkIG5pY2h0IHVudGVyc3T8dHp0OiBcIi0lc1wiOyB2ZXJ3ZW5kZSBkaWUgT0xFIFZlcnNpb24uIgorCittc2dpZCAiRTY3MjogVW5hYmxlIHRvIG9wZW4gd2luZG93IGluc2lkZSBNREkgYXBwbGljYXRpb24iCittc2dzdHIgIkU2NzI6IEthbm4gRmVuc3RlciBuaWNodCBpbm5lcmhhbGIgZWluZXIgTURJIEFud2VuZHVuZyD2ZmZuZW4iCisKK21zZ2lkICJDbG9zZSB0YWIiCittc2dzdHIgIlRhYiBzY2hsaWXfZW4iCisKK21zZ2lkICJPcGVuIHRhYi4uLiIKK21zZ3N0ciAi1mZmbmUgaW4gVGFiLi4uIgogCiBtc2dpZCAiRmluZCBzdHJpbmcgKHVzZSAnXFxcXCcgdG8gZmluZCAgYSAnXFwnKSIKIG1zZ3N0ciAiU3VjaGUgWmVpY2hlbmtldHRlIChiZW78dHplICdcXFxcJyB1bSBlaW4gJ1xcJyB6dSBmaW5kZW4pIgpAQCAtMTgyNSwxNSArMjAxNCwyMCBAQAogbXNnaWQgIkZpbmQgJiBSZXBsYWNlICh1c2UgJ1xcXFwnIHRvIGZpbmQgIGEgJ1xcJykiCiBtc2dzdHIgIlN1Y2hlICYgRXJzZXR6ZSAodXNlICdcXFxcJyB1bSBlaW4gJ1xcJyB6dSBmaW5kZW4pIgogCisjLiBXZSBmYWtlIHRoaXM6IFVzZSBhIGZpbHRlciB0aGF0IGRvZXNuJ3Qgc2VsZWN0IGFueXRoaW5nIGFuZCBhIGRlZmF1bHQKKyMuICogZmlsZSBuYW1lIHRoYXQgd29uJ3QgYmUgdXNlZC4KK21zZ2lkICJOb3QgVXNlZCIKK21zZ3N0ciAiTmljaHQgdmVyd2VuZGV0IgorCittc2dpZCAiRGlyZWN0b3J5XHQqLm5vdGhpbmdcbiIKK21zZ3N0ciAiVmVyemVpY2huaXNcdCoubmljaHRzXG4iCisKIG1zZ2lkICJWaW0gRTQ1ODogQ2Fubm90IGFsbG9jYXRlIGNvbG9ybWFwIGVudHJ5LCBzb21lIGNvbG9ycyBtYXkgYmUgaW5jb3JyZWN0IgotbXNnc3RyICIiCi0iVmltIEU0NTg6IFwiQ29sb3JtYXBcIi1FaW50cmFnIGthbm4gbmljaHQgYWxsb3ppZXJ0IHdlcmRlbiwgZWluaWdlIEZhcmJlbiAiCi0ia/ZubmVuIGZhbHNjaCBzZWluIgorbXNnc3RyICJWaW0gRTQ1ODogXCJDb2xvcm1hcFwiLUVpbnRyYWcga2FubiBuaWNodCBhbGxvemllcnQgd2VyZGVuLCBlaW5pZ2UgRmFyYmVuIGv2bm5lbiBmYWxzY2ggc2VpbiIKIAogIywgYy1mb3JtYXQKIG1zZ2lkICJFMjUwOiBGb250cyBmb3IgdGhlIGZvbGxvd2luZyBjaGFyc2V0cyBhcmUgbWlzc2luZyBpbiBmb250c2V0ICVzOiIKLW1zZ3N0ciAiIgotIkUyNTA6IFNjaHJpZnRhcnRlbiBm/HIgZGllIGZvbGdlbmRlbiBaZWljaGVuc+R0emUgZmVobGVuIGltIFwiZm9udHNldFwiICVzOiIKK21zZ3N0ciAiRTI1MDogU2NocmlmdGFydGVuIGb8ciBkaWUgZm9sZ2VuZGVuIFplaWNoZW5z5HR6ZSBmZWhsZW4gaW0gXCJmb250c2V0XCIgJXM6IgogCiAjLCBjLWZvcm1hdAogbXNnaWQgIkUyNTI6IEZvbnRzZXQgbmFtZTogJXMiCkBAIC0xODU1LDkgKzIwNDksOSBAQAogbXNnaWQgIkZvbnQxOiAlc1xuIgogbXNnc3RyICJTY2hyaWZ0YXJ0IDE6ICVzXG4iCiAKLSMsIGZ1enp5LCBjLWZvcm1hdAotI34gbXNnaWQgIkZvbnQlbGQgd2lkdGggaXMgbm90IHR3aWNlIHRoYXQgb2YgZm9udDBcbiIKLSN+IG1zZ3N0ciAiU2NocmlmdGFydCVkIGlzdCBuaWNodCBkb3BwZWx0IHNvIGJyZWl0IHdpZSBTY2hyaWZ0YXJ0MFxuIgorIywgYy1mb3JtYXQKK21zZ2lkICJGb250JWxkIHdpZHRoIGlzIG5vdCB0d2ljZSB0aGF0IG9mIGZvbnQwXG4iCittc2dzdHIgIkRpZSBCcmVpdGUgZGVyIFNjaHJpZnRhcnQgJWxkIGlzdCBuaWNodCBkb3BwZWx0IHNvIGdyb98gd2llIGRpZSBkZXIgU2NocmlmdGFydCAwXG4iCiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRm9udDAgd2lkdGg6ICVsZFxuIgpAQCAtMTg3MSwxMSArMjA2NSwxMzUgQEAKICJTY2hyaWZ0YXJ0MSBCcmVpdGU6ICVsZFxuIgogIlxuIgogCittc2dpZCAiSW52YWxpZCBmb250IHNwZWNpZmljYXRpb24iCittc2dzdHIgIlVuZ/xsdGlnZSBTcGV6aWZpa2F0aW9uIGRlciBTY2hyaWZ0YXJ0IgorCittc2dpZCAiJkRpc21pc3MiCittc2dzdHIgIiZBdWZoZWJlbiIKKworbXNnaWQgIm5vIHNwZWNpZmljIG1hdGNoIgorbXNnc3RyICJrZWluZSBzcGV6aWZpc2NoZSDcYmVyZWluc3RpbW11bmciCisKK21zZ2lkICJWaW0gLSBGb250IFNlbGVjdG9yIgorbXNnc3RyICJWaW0gLSBBdXN3YWhsIGRlciBTY2hyaWZ0YXJ0IgorCittc2dpZCAiTmFtZToiCittc2dzdHIgIk5hbWU6ICIKKworIy4gY3JlYXRlIHRvZ2dsZSBidXR0b24KK21zZ2lkICJTaG93IHNpemUgaW4gUG9pbnRzIgorbXNnc3RyICJaZWlnZSBHcvbfZSBpbiBQdW5rdGVuIgorCittc2dpZCAiRW5jb2Rpbmc6IgorbXNnc3RyICJaZWljaGVuc2F0ejoiCisKK21zZ2lkICJGb250OiIKK21zZ3N0ciAiU2NocmlmdGFydCIKKworbXNnaWQgIlN0eWxlOiIKK21zZ3N0ciAiU3RpbDoiCisKK21zZ2lkICJTaXplOiIKK21zZ3N0ciAiR3L232U6IgorCiBtc2dpZCAiRTI1NjogSGFuZ3VsIGF1dG9tYXRhIEVSUk9SIgogbXNnc3RyICJFMjU2OiBIYW5ndWwtQXV0b21hdCBGZWhsZXIiCiAKK21zZ2lkICJFNTUwOiBNaXNzaW5nIGNvbG9uIgorbXNnc3RyICJFNTUwOiBGZWhsZW5kZXIgRG9wcGVscHVua3QiCisKK21zZ2lkICJFNTUxOiBJbGxlZ2FsIGNvbXBvbmVudCIKK21zZ3N0ciAiRTU1MTogVW56dWzkc3NpZ2UgS29tcG9uZW50ZSIKKworbXNnaWQgIkU1NTI6IGRpZ2l0IGV4cGVjdGVkIgorbXNnc3RyICJFNTUyOiBaaWZmZXIgZXJ3YXJ0ZXQiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFnZSAlZCIKK21zZ3N0ciAiU2V0ZSAlZCIKKworbXNnaWQgIk5vIHRleHQgdG8gYmUgcHJpbnRlZCIKK21zZ3N0ciAiS2VpbiBUZXh0IHp1bSBEcnVja2VuIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIlByaW50aW5nIHBhZ2UgJWQgKCVkJSUpIgorbXNnc3RyICJEcnVja2UgU2VpdGUgJWQgKCVkJSUpIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIiBDb3B5ICVkIG9mICVkIgorbXNnc3RyICIgS29waWVyZSAlZCB2b24gJWQiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJpbnRlZDogJXMiCittc2dzdHIgIkdlZHJ1Y2t0OiAlcyIKKworbXNnaWQgIlByaW50aW5nIGFib3J0ZWQiCittc2dzdHIgIkF1c2RydWNrIGFiZ2Vicm9jaGVuIgorCittc2dpZCAiRTQ1NTogRXJyb3Igd3JpdGluZyB0byBQb3N0U2NyaXB0IG91dHB1dCBmaWxlIgorbXNnc3RyICJFNDU1OiBGZWhsZXIgYmVpbSBTY2hyZWliZW4gZGVyIFBvc3RTY3JpcHQtQXVzZ2FiZWRhdGVpIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkU2MjQ6IENhbid0IG9wZW4gZmlsZSBcIiVzXCIiCittc2dzdHIgIkU2MjQ6IERhdGVpIFwiJXNcIiBrYW5uIG5pY2h0IGdl9mZmbmV0IHdlcmRlbiIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFNDU3OiBDYW4ndCByZWFkIFBvc3RTY3JpcHQgcmVzb3VyY2UgZmlsZSBcIiVzXCIiCittc2dzdHIgIkU0NTc6IFBvc3RTY3JpcHQgUmVzc291cmNlLURhdGVpIFwiJXNcIiBrYW5uIG5pY2h0IGdlbGVzZW4gd2VyZGVuIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkU2MTg6IGZpbGUgXCIlc1wiIGlzIG5vdCBhIFBvc3RTY3JpcHQgcmVzb3VyY2UgZmlsZSIKK21zZ3N0ciAiRTYxODogRGF0ZWkgXCIlc1wiIGlzdCBrZWluZSBQb3N0U2NyaXB0IFJlc3NvdXJjZS1EYXRlaSIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFNjE5OiBmaWxlIFwiJXNcIiBpcyBub3QgYSBzdXBwb3J0ZWQgUG9zdFNjcmlwdCByZXNvdXJjZSBmaWxlIgorbXNnc3RyICJFNjE5OiBEYXRlaSBcIiVzXCIgaXN0IGtlaW5lIHVudGVyc3T8dHp0ZSBQb3N0U2NyaXB0IFJlc3NvdXJjZS1EYXRlaSIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFNjIxOiBcIiVzXCIgcmVzb3VyY2UgZmlsZSBoYXMgd3JvbmcgdmVyc2lvbiIKK21zZ3N0ciAiRTYyMTogXCIlc1wiIFJlc3NvdXJjZS1EYXRlaSBoYXQgZGllIGZhbHNjaGUgVmVyc2lvbiIKKworbXNnaWQgIkU2NzM6IEluY29tcGF0aWJsZSBtdWx0aS1ieXRlIGVuY29kaW5nIGFuZCBjaGFyYWN0ZXIgc2V0LiIKK21zZ3N0ciAiRTY3MzogVW56dWzkc3NpZ2VyIE11bHRpLUJ5dGUgWmVpY2hlbnNhdHoiCisKK21zZ2lkICJFNjc0OiBwcmludG1iY2hhcnNldCBjYW5ub3QgYmUgZW1wdHkgd2l0aCBtdWx0aS1ieXRlIGVuY29kaW5nLiIKK21zZ3N0ciAiRTY3NDogcHJpbnRtYmNoYXJzZXQgZGFyZiBuaWNodCBsZWVyIHNlaW4gbWl0IE11bHRpLUJ5dGUgWmVpY2hlbnNhdHouIgorCittc2dpZCAiRTY3NTogTm8gZGVmYXVsdCBmb250IHNwZWNpZmllZCBmb3IgbXVsdGktYnl0ZSBwcmludGluZy4iCittc2dzdHIgIkU2NzU6IEtlaW5lIFN0YW5kYXJkc2NocmlmdGFydCBhbmdlZ2ViZW4gZvxyIE11bHRpLUJ5dGUgQXVzZHJ1Y2suIgorCittc2dpZCAiRTMyNDogQ2FuJ3Qgb3BlbiBQb3N0U2NyaXB0IG91dHB1dCBmaWxlIgorbXNnc3RyICJFMzI0OiBQb3N0U2NyaXB0IEF1c2dhYmUtRGF0ZWkga2FubiBuaWNodCBnZfZmZm5ldCB3ZXJkZW4iCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTQ1NjogQ2FuJ3Qgb3BlbiBmaWxlIFwiJXNcIiIKK21zZ3N0ciAiRTQ1NjogRGF0ZWkgXCIlc1wiIGthbm4gbmljaHQgZ2X2ZmZuZXQgd2VyZGVuIgorCittc2dpZCAiRTQ1NjogQ2FuJ3QgZmluZCBQb3N0U2NyaXB0IHJlc291cmNlIGZpbGUgXCJwcm9sb2cucHNcIiIKK21zZ3N0ciAiRTQ1NjogUG9zdFNjcmlwdCBSZXNzb3VyY2UtRGF0ZWkgXCJwcm9sb2cucHNcIiBuaWNodCBnZWZ1bmRlbiIKKworbXNnaWQgIkU0NTY6IENhbid0IGZpbmQgUG9zdFNjcmlwdCByZXNvdXJjZSBmaWxlIFwiY2lkZm9udC5wc1wiIgorbXNnc3RyICJFNDU2OiBQb3N0U2NyaXB0IFJlc3NvdXJjZS1EYXRlaSBcImNpZGZvbnQucHNcIiBuaWNodCBnZWZ1bmRlbiIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFNDU2OiBDYW4ndCBmaW5kIFBvc3RTY3JpcHQgcmVzb3VyY2UgZmlsZSBcIiVzLnBzXCIiCittc2dzdHIgIkU0NTY6IFBvc3RTY3JpcHQgUmVzc291cmNlLURhdGVpIFwiJXNcIiBuaWNodCBnZWZ1bmRlbiIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFNjIwOiBVbmFibGUgdG8gY29udmVydCB0byBwcmludCBlbmNvZGluZyBcIiVzXCIiCittc2dzdHIgIkU2MjA6IEtvbnZlcnRpZXJ1bmcgbmFjaCBkZW0gWmVpY2hlbnNhdHogZvxyIGRlbiBBdXNkcnVjayBcIiVzXCIgZmVobGdlc2NobGFnZW4iCisKK21zZ2lkICJTZW5kaW5nIHRvIHByaW50ZXIuLi4iCittc2dzdHIgIlNjaGlja2UgenVtIERydWNrZXIuLi4iCisKK21zZ2lkICJFMzY1OiBGYWlsZWQgdG8gcHJpbnQgUG9zdFNjcmlwdCBmaWxlIgorbXNnc3RyICJFMzY1OiBEcnVjayBkZXIgUG9zdFNjcmlwdC1EYXRlaSBzY2hsdWcgZmVobCIKKworbXNnaWQgIlByaW50IGpvYiBzZW50LiIKK21zZ3N0ciAiRHJ1Y2thdWZ0cmFnIGFiZ2VzY2hpY2t0IgorCiBtc2dpZCAiQWRkIGEgbmV3IGRhdGFiYXNlIgotbXNnc3RyICJEYXRlbmJhbmsgaGluenVm/GdlbiIKK21zZ3N0ciAiRWluZSBuZXVlIERhdGVuYmFuayBoaW56dWb8Z2VuIgogCiBtc2dpZCAiUXVlcnkgZm9yIGEgcGF0dGVybiIKIG1zZ3N0ciAiTXVzdGVyIHN1Y2hlbiIKQEAgLTE4OTIsNTcgKzIyMTAsNTIgQEAKIG1zZ2lkICJTaG93IGNvbm5lY3Rpb25zIgogbXNnc3RyICJWZXJiaW5kdW5nZW4gYW56ZWlnZW4iCiAKLSMsIGZ1enp5LCBjLWZvcm1hdAotI34gbXNnaWQgIkU1NjA6IFVzYWdlOiBjc1tjb3BlXSAlcyIKLSN+IG1zZ3N0ciAiVmVyd2VuZHVuZzogY3NbY29wZV0gJXMiCisjLCBjLWZvcm1hdAorbXNnaWQgIkU1NjA6IFVzYWdlOiBjc1tjb3BlXSAlcyIKK21zZ3N0ciAiRTU2MDogVmVyd2VuZHVuZzogY3NbY29wZV0gJXMiCiAKIG1zZ2lkICJUaGlzIGNzY29wZSBjb21tYW5kIGRvZXMgbm90IHN1cHBvcnQgc3BsaXR0aW5nIHRoZSB3aW5kb3cuXG4iCiBtc2dzdHIgIkRpZXNlciBjc2NvcGUtQmVmZWhsIHVudGVyc3T8dHp0IG5pY2h0IFRlaWxlbiBkZXMgRmVuc3RlcnMuXG4iCiAKLSMsIGZ1enp5Ci0jfiBtc2dpZCAiRTU2MjogVXNhZ2U6IGNzdGFnIDxpZGVudD4iCi0jfiBtc2dzdHIgIlZlcndlbmR1bmc6IGNzdGFnIDxpZGVudD4iCittc2dpZCAiRTU2MjogVXNhZ2U6IGNzdGFnIDxpZGVudD4iCittc2dzdHIgIkU1NjI6IFZlcndlbmR1bmc6IGNzdGFnIDxpZGVudD4iCiAKIG1zZ2lkICJFMjU3OiBjc3RhZzogdGFnIG5vdCBmb3VuZCIKIG1zZ3N0ciAiRTI1NzogY3N0YWc6IFRhZyBuaWNodCBnZWZ1bmRlbiIKIAotIywgZnV6enksIGMtZm9ybWF0Ci0jfiBtc2dpZCAiRTU2Mzogc3RhdCglcykgZXJyb3I6ICVkIgotI34gbXNnc3RyICJzdGF0KCVzKSBGZWhsZXI6ICVkIgorIywgYy1mb3JtYXQKK21zZ2lkICJFNTYzOiBzdGF0KCVzKSBlcnJvcjogJWQiCittc2dzdHIgIkU1NjM6IHN0YXQoJXMpIEZlaGxlcjogJWQiCiAKLSN+IG1zZ2lkICJFNTYzOiBzdGF0IGVycm9yIgotI34gbXNnc3RyICIiCittc2dpZCAiRTU2Mzogc3RhdCBlcnJvciIKK21zZ3N0ciAiRTU2MzogJ3N0YXQnIEZlaGxlciIKIAotIywgZnV6enksIGMtZm9ybWF0Ci0jfiBtc2dpZCAiRTU2NDogJXMgaXMgbm90IGEgZGlyZWN0b3J5IG9yIGEgdmFsaWQgY3Njb3BlIGRhdGFiYXNlIgotI34gbXNnc3RyICIlcyBpc3Qga2VpbiBWZXJ6ZWljaG5pcyBvZGVyIHp1bORzc2lnZSBjc2NvcGUgRGF0ZW5iYW5rIgorIywgYy1mb3JtYXQKK21zZ2lkICJFNTY0OiAlcyBpcyBub3QgYSBkaXJlY3Rvcnkgb3IgYSB2YWxpZCBjc2NvcGUgZGF0YWJhc2UiCittc2dzdHIgIkU1NjQ6ICVzIGlzdCBrZWluIFZlcnplaWNobmlzIG9kZXIgZWluZSBn/Gx0aWdlIGNzY29wZSBEYXRlbmJhbmsiCiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWRkZWQgY3Njb3BlIGRhdGFiYXNlICVzIgogbXNnc3RyICJjc29wZSBEYXRlbmJhbmsgJXMgaGluenVnZWb8Z3QiCiAKLSMsIGZ1enp5LCBjLWZvcm1hdAotI34gbXNnaWQgIkUyNjI6IGVycm9yIHJlYWRpbmcgY3Njb3BlIGNvbm5lY3Rpb24gJWxkIgotI34gbXNnc3RyICJFMjYyOiBGZWhsZXIgYmVpbSBMZXNlbiBhdXMgZGVyIGNzY29wZSBWZXJiaW5kdW5nICVkIgorIywgYy1mb3JtYXQKK21zZ2lkICJFMjYyOiBlcnJvciByZWFkaW5nIGNzY29wZSBjb25uZWN0aW9uICVsZCIKK21zZ3N0ciAiRTI2MjogRmVobGVyIGJlaW0gTGVzZW4gYXVzIGRlciBjc2NvcGUgVmVyYmluZHVuZyAlbGQiCiAKLSMsIGZ1enp5Ci0jfiBtc2dpZCAiRTU2MTogdW5rbm93biBjc2NvcGUgc2VhcmNoIHR5cGUiCi0jfiBtc2dzdHIgInVuYmVrYW5udGVyIGNzY29wZSBTdWNodHlwIgorbXNnaWQgIkU1NjE6IHVua25vd24gY3Njb3BlIHNlYXJjaCB0eXBlIgorbXNnc3RyICJFNTYxOiBVbmJla2FubnRlciBjc2NvcGUgU3VjaHR5cCIKIAotIywgZnV6enkKLSN+IG1zZ2lkICJFNTY2OiBDb3VsZCBub3QgY3JlYXRlIGNzY29wZSBwaXBlcyIKLSN+IG1zZ3N0ciAiY3Njb3BlIFBpcGVzIGtvbm50ZW4gbmljaHQgYW5nZWxlZ3Qgd2VyZGVuIgorbXNnaWQgIkU1NjY6IENvdWxkIG5vdCBjcmVhdGUgY3Njb3BlIHBpcGVzIgorbXNnc3RyICJFNTY2OiBjc2NvcGUgUGlwZXMga29ubnRlbiBuaWNodCBhbmdlbGVndCB3ZXJkZW4iCiAKLSMsIGZ1enp5Ci0jfiBtc2dpZCAiRTYyMjogQ291bGQgbm90IGZvcmsgZm9yIGNzY29wZSIKLSN+IG1zZ3N0ciAiRTMyMTogXCIlc1wiIGtvbm50ZSBuaWNodCBuZXUgZ2VsYWRlbiB3ZXJkZW4iCittc2dpZCAiRTYyMjogQ291bGQgbm90IGZvcmsgZm9yIGNzY29wZSIKK21zZ3N0ciAiRTYyMjogS29ubnRlIG5pY2h0IGb8ciBjc2NvcGUgdmVyendlaWdlbiIKIAogbXNnaWQgImNzX2NyZWF0ZV9jb25uZWN0aW9uIGV4ZWMgZmFpbGVkIgogbXNnc3RyICJjc19jcmVhdGVfY29ubmVjdGlvbiBleGVjIG1pc3NsYW5nIgogCi0jLCBmdXp6eQotI34gbXNnaWQgIkU2MjM6IENvdWxkIG5vdCBzcGF3biBjc2NvcGUgcHJvY2VzcyIKLSN+IG1zZ3N0ciAiY3Njb3BlIFBpcGVzIGtvbm50ZW4gbmljaHQgYW5nZWxlZ3Qgd2VyZGVuIgorbXNnaWQgIkU2MjM6IENvdWxkIG5vdCBzcGF3biBjc2NvcGUgcHJvY2VzcyIKK21zZ3N0ciAiRTYyMzogS29ubnRlIGNzY29wZSBQcm96ZXNzIG5pY2h0IGhlcnZvcmJyaW5nZW4iCiAKIG1zZ2lkICJjc19jcmVhdGVfY29ubmVjdGlvbjogZmRvcGVuIGZvciB0b19mcCBmYWlsZWQiCiBtc2dzdHIgImNzX2NyZWF0ZV9jb25uZWN0aW9uOiBmZG9wZW4gdm9uIHRvX2ZwIG1pc3NsYW5nIgpAQCAtMTk1MCw3MCArMjI2Myw2NiBAQAogbXNnaWQgImNzX2NyZWF0ZV9jb25uZWN0aW9uOiBmZG9wZW4gZm9yIGZyX2ZwIGZhaWxlZCIKIG1zZ3N0ciAiY3NfY3JlYXRlX2Nvbm5lY3Rpb246IGZkb3BlbiB2b24gZnJfZnAgbWlzc2xhbmciCiAKLSMsIGZ1enp5Ci0jfiBtc2dpZCAiRTU2Nzogbm8gY3Njb3BlIGNvbm5lY3Rpb25zIgotI34gbXNnc3RyICJrZWluZSBWZXJiaW5kdW5nZW4genUgY3Njb3BlIgorbXNnaWQgIkU1Njc6IG5vIGNzY29wZSBjb25uZWN0aW9ucyIKK21zZ3N0ciAiRTU2NzogS2VpbmUgY3Njb3BlIFZlcmJpbmR1bmdlbiIKIAogIywgYy1mb3JtYXQKIG1zZ2lkICJFMjU5OiBubyBtYXRjaGVzIGZvdW5kIGZvciBjc2NvcGUgcXVlcnkgJXMgb2YgJXMiCiBtc2dzdHIgIkUyNTk6IGtlaW5lIFRyZWZmZXIgZ2VmdW5kZW4gZvxyIGNzY29wZSBBbmZyYWdlbiAlcyBhdXMgJXMiCiAKICMsIGMtZm9ybWF0Ci0jfiBtc2dpZCAiRTQ2OTogaW52YWxpZCBjc2NvcGVxdWlja2ZpeCBmbGFnICVjIGZvciAlYyIKLSN+IG1zZ3N0ciAiIgorbXNnaWQgIkU0Njk6IGludmFsaWQgY3Njb3BlcXVpY2tmaXggZmxhZyAlYyBmb3IgJWMiCittc2dzdHIgIkU0Njk6IFVuenVs5HNzaWdlcyBjc2NvcGVxdWlja2ZpeCBGbGFnICVjIGb8ciAlYyIKIAogbXNnaWQgImNzY29wZSBjb21tYW5kczpcbiIKIG1zZ3N0ciAiY3Njb3BlIEJlZmVobGU6XG4iCiAKLSMsIGZ1enp5LCBjLWZvcm1hdAotI34gbXNnaWQgIiUtNXM6ICUtMzBzIChVc2FnZTogJXMpIgotI34gbXNnc3RyICIlLTVzOiAlLTMwcyAoVmVyd2VuZHVuZzogJXMpXG4iCisjLCBjLWZvcm1hdAorbXNnaWQgIiUtNXM6ICUtMzBzIChVc2FnZTogJXMpIgorbXNnc3RyICIlLTVzOiAlLTMwcyAoVmVyd2VuZHVuZzogJXMpIgogCi0jLCBmdXp6eSwgYy1mb3JtYXQKLSN+IG1zZ2lkICJFNjI1OiBjYW5ub3Qgb3BlbiBjc2NvcGUgZGF0YWJhc2U6ICVzIgotI34gbXNnc3RyICJjc29wZSBEYXRlbmJhbmsgJXMgaGluenVnZWb8Z3QiCisjLCBjLWZvcm1hdAorbXNnaWQgIkU2MjU6IGNhbm5vdCBvcGVuIGNzY29wZSBkYXRhYmFzZTogJXMiCittc2dzdHIgIkU2MjU6IEthbm4gY3Njb3BlIERhdGVuYmFuayBuaWNodCD2ZmZuZW46ICVzIgogCi0jLCBmdXp6eQotI34gbXNnaWQgIkU2MjY6IGNhbm5vdCBnZXQgY3Njb3BlIGRhdGFiYXNlIGluZm9ybWF0aW9uIgotI34gbXNnc3RyICJSZXZlcnRpZXJ1bmdzLUluZm9ybWF0aW9uIGthbm4gbmljaHQgZ2VzcGVpY2hlcnQgd2VyZGVuIgorbXNnaWQgIkU2MjY6IGNhbm5vdCBnZXQgY3Njb3BlIGRhdGFiYXNlIGluZm9ybWF0aW9uIgorbXNnc3RyICJFNjI2OiBLYW5uIGNzY29wZSBEYXRlbmJhbmstSW5mb3JtYXRpb25lbiBuaWNodCBiZWtvbW1lbiIKIAotIywgZnV6enkKLSN+IG1zZ2lkICJFNTY4OiBkdXBsaWNhdGUgY3Njb3BlIGRhdGFiYXNlIG5vdCBhZGRlZCIKLSN+IG1zZ3N0ciAiY3Njb3BlIERhdGVuYmFuayBuaWNodCBkb3BwZWx0IGhpbnp1Z2Vm/Gd0IgorbXNnaWQgIkU1Njg6IGR1cGxpY2F0ZSBjc2NvcGUgZGF0YWJhc2Ugbm90IGFkZGVkIgorbXNnc3RyICJFNTY4OiBjc2NvcGUgRGF0ZW5iYW5rIG5pY2h0IGRvcHBlbHQgaGluenVnZWb8Z3QiCiAKLSMsIGZ1enp5Ci0jfiBtc2dpZCAiRTU2OTogbWF4aW11bSBudW1iZXIgb2YgY3Njb3BlIGNvbm5lY3Rpb25zIHJlYWNoZWQiCi0jfiBtc2dzdHIgIm1heGltYWxlIEFuemFobCB2b24gY3Njb3BlIFZlcmJpbmR1bmdlbiBlcnJlaWNodCIKK21zZ2lkICJFNTY5OiBtYXhpbXVtIG51bWJlciBvZiBjc2NvcGUgY29ubmVjdGlvbnMgcmVhY2hlZCIKK21zZ3N0ciAiRTU2OTogTWF4aW1hbGUgQW56YWhsIHZvbiBjc2NvcGUgVmVyYmluZHVuZ2VuIGVycmVpY2h0IgogCiAjLCBjLWZvcm1hdAogbXNnaWQgIkUyNjE6IGNzY29wZSBjb25uZWN0aW9uICVzIG5vdCBmb3VuZCIKIG1zZ3N0ciAiRTI2MTogY3Njb3BlIFZlcmJpbmR1bmcgJXMgbmljaHQgZ2VmdW5kZW4iCiAKLSMsIGZ1enp5LCBjLWZvcm1hdAotI34gbXNnaWQgImNzY29wZSBjb25uZWN0aW9uICVzIGNsb3NlZCIKLSN+IG1zZ3N0ciAiY3Njb3BlIFZlcmJpbmR1bmcgJXMgZ2VzY2hsb3NzZW5cbiIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY3Njb3BlIGNvbm5lY3Rpb24gJXMgY2xvc2VkIgorbXNnc3RyICJjc2NvcGUgVmVyYmluZHVuZyAlcyBnZXNjaGxvc3NlbiIKIAogIy4gc2hvdWxkIG5vdCByZWFjaCBoZXJlCi0jLCBmdXp6eQotI34gbXNnaWQgIkU1NzA6IGZhdGFsIGVycm9yIGluIGNzX21hbmFnZV9tYXRjaGVzIgotI34gbXNnc3RyICJmYXRhbGVyIEZlaGxlciBpbiBjc19tYW5hZ2VfbWF0Y2hlcyIKK21zZ2lkICJFNTcwOiBmYXRhbCBlcnJvciBpbiBjc19tYW5hZ2VfbWF0Y2hlcyIKK21zZ3N0ciAiRTU3MDogRmF0YWxlciBGZWhsZXIgaW4gY3NfbWFuYWdlX21hdGNoZXMiCiAKLSMsIGZ1enp5LCBjLWZvcm1hdAotI34gbXNnaWQgIkNzY29wZSB0YWc6ICVzIgotI34gbXNnc3RyICJDc2NvcGUgVGFnOiAlc1xuIgorIywgYy1mb3JtYXQKK21zZ2lkICJDc2NvcGUgdGFnOiAlcyIKK21zZ3N0ciAiQ3Njb3BlIFRhZzogJXMiCiAKLSMsIGZ1enp5Ci0jfiBtc2dpZCAiIgotI34gIlxuIgotI34gIiAgICMgICBsaW5lIgotI34gbXNnc3RyICIgICAjICBaZWlsZSIKK21zZ2lkICIiCisiXG4iCisiICAgIyAgIGxpbmUiCittc2dzdHIgIiIKKyJcbiIKKyIgICAjICAgWmVpbGUiCiAKIG1zZ2lkICJmaWxlbmFtZSAvIGNvbnRleHQgLyBsaW5lXG4iCiBtc2dzdHIgIkRhdGVpbmFtZSAvIEtvbnRleHQgLyBaZWlsZVxuIgogCi0jLCBmdXp6eSwgYy1mb3JtYXQKLSN+IG1zZ2lkICJFNjA5OiBDc2NvcGUgZXJyb3I6ICVzIgotI34gbXNnc3RyICJFNDA6IEZlaGxlci1EYXRlaSAlcyBrYW5uIG5pY2h0IGdl9mZmbmV0IHdlcmRlbiIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTYwOTogQ3Njb3BlIGVycm9yOiAlcyIKK21zZ3N0ciAiRTYwOTogQ3Njb3BlIEZlaGxlcjogJXMiCiAKIG1zZ2lkICJBbGwgY3Njb3BlIGRhdGFiYXNlcyByZXNldCIKIG1zZ3N0ciAiYWxsZSBjc2NvcGUgRGF0ZW5iYW5rZW4genVy/GNrZ2VzZXR6dCIKQEAgLTIwMjUsMTUgKzIzMzQsNzEgQEAKIG1zZ3N0ciAiICMgcGlkICAgRGF0ZW5iYW5rIE5hbWVcdCAgICAgICAgICAgICAgICAgICAgZvxocmVuZGVyIFBmYWRcbiIKIAogbXNnaWQgIiIKKyI/Pz86IFNvcnJ5LCB0aGlzIGNvbW1hbmQgaXMgZGlzYWJsZWQsIHRoZSBNelNjaGVtZSBsaWJyYXJ5IGNvdWxkIG5vdCBiZSAiCisibG9hZGVkLiIKK21zZ3N0ciAiPz8/OiBEaWVzZXIgQmVmZWhsIGlzdCBuaWNodCB2ZXJm/GdiYXIsIGRpZSBNelNjaGVtZSBCaWJsaW90aGVrIGtvbm50ZSBuaWNodCAiCisiZ2VsYWRlbiB3ZXJkZW4iCisKK21zZ2lkICJpbnZhbGlkIGV4cHJlc3Npb24iCittc2dzdHIgInVuZ/xsdGlnZXIgQXVzZHJ1Y2siCisKK21zZ2lkICJleHByZXNzaW9ucyBkaXNhYmxlZCBhdCBjb21waWxlIHRpbWUiCittc2dzdHIgIkF1c2Ry/GNrZSB3dXJkZW4genVyIFplaXQgZGVzINxiZXJzZXR6ZW5zIG5pY2h0IHp1Z2VsYXNzZW4iCisKK21zZ2lkICJoaWRkZW4gb3B0aW9uIgorbXNnc3RyICJ2ZXJzdGVja3RlIE9wdGlvbiIKKworbXNnaWQgInVua25vd24gb3B0aW9uIgorbXNnc3RyICJ1bmJla2FubnRlIE9wdGlvbiIKKworbXNnaWQgIndpbmRvdyBpbmRleCBpcyBvdXQgb2YgcmFuZ2UiCittc2dzdHIgIkZlbnN0ZXJpbmRleCBhdd9lcmhhbGIgZGVzIHp1bORzc2lnZW4gQmVyZWljaHMiCisKK21zZ2lkICJjb3VsZG4ndCBvcGVuIGJ1ZmZlciIKK21zZ3N0ciAia29ubnRlIFB1ZmZlciBuaWNodCD2ZmZuZW4iCisKK21zZ2lkICJjYW5ub3Qgc2F2ZSB1bmRvIGluZm9ybWF0aW9uIgorbXNnc3RyICJrYW5uIFJldmVydGllcnVuZ3MtSW5mb3JtYXRpb24gbmljaHQgc3BlaWNoZXJuIgorCittc2dpZCAiY2Fubm90IGRlbGV0ZSBsaW5lIgorbXNnc3RyICJaZWlsZSBrYW5uIG5pY2h0IGdlbPZzY2h0IHdlcmRlbiIKKworbXNnaWQgImNhbm5vdCByZXBsYWNlIGxpbmUiCittc2dzdHIgIlplaWxlIGthbm4gbmljaHQgZXJzZXR6dCB3ZXJkZW4iCisKK21zZ2lkICJjYW5ub3QgaW5zZXJ0IGxpbmUiCittc2dzdHIgIlplaWxlIGthbm4gbmljaHQgZWluZ2Vm/Gd0IHdlcmRlbiIKKworbXNnaWQgInN0cmluZyBjYW5ub3QgY29udGFpbiBuZXdsaW5lcyIKK21zZ3N0ciAiWmVpY2hlbmZvbGdlIGthbm4ga2VpbmUgWmVpbGVuLXdlY2hzZWwgZW50aGFsdGVuIgorCittc2dpZCAiVmltIGVycm9yOiB+YSIKK21zZ3N0ciAiVmltIEZlaGxlcjogfmEiCisKK21zZ2lkICJWaW0gZXJyb3IiCittc2dzdHIgIlZpbSBGZWhsZXIiCisKK21zZ2lkICJidWZmZXIgaXMgaW52YWxpZCIKK21zZ3N0ciAidW5n/Gx0aWdlciBQdWZmZXIiCisKK21zZ2lkICJ3aW5kb3cgaXMgaW52YWxpZCIKK21zZ3N0ciAidW5n/Gx0aWdlcyBGZW5zdGVyIgorCittc2dpZCAibGluZW5yIG91dCBvZiByYW5nZSIKK21zZ3N0ciAiJ2xpbmVucicgYXXfZXJoYWxiIGRlcyB6dWzkc3NpZ2VuIEJlcmVpY2hzIgorCittc2dpZCAibm90IGFsbG93ZWQgaW4gdGhlIFZpbSBzYW5kYm94IgorbXNnc3RyICJpbiBkZXIgVmltLVNhbmRib3ggbmljaHQgZXJsYXVidCIKKworbXNnaWQgIiIKICJFMjYzOiBTb3JyeSwgdGhpcyBjb21tYW5kIGlzIGRpc2FibGVkLCB0aGUgUHl0aG9uIGxpYnJhcnkgY291bGQgbm90IGJlICIKICJsb2FkZWQuIgogbXNnc3RyICIiCiAiRTI2MzogRGllc2VyIEJlZmVobCBpc3QgbmljaHQgdmVyZvxnYmFyLCBkaWUgUHl0aG9uIEJpYmxpb3RoZWsga29ubnRlIG5pY2h0ICIKICJnZWxhZGVuIHdlcmRlbiIKIAotIywgZnV6enkKLSN+IG1zZ2lkICJFNjU5OiBDYW5ub3QgaW52b2tlIFB5dGhvbiByZWN1cnNpdmVseSIKLSN+IG1zZ3N0ciAiRTE0NzogS2FubiA6Z2xvYmFsIG5pY2h0IHJla3Vyc2l2IGF1c2b8aHJlbiIKK21zZ2lkICJFNjU5OiBDYW5ub3QgaW52b2tlIFB5dGhvbiByZWN1cnNpdmVseSIKK21zZ3N0ciAiRTY1OTogS2FubiBQeXRob24gbmljaHQgcmVrdXJzaXYgYXVzZvxocmVuIgogCiBtc2dpZCAiY2FuJ3QgZGVsZXRlIE91dHB1dE9iamVjdCBhdHRyaWJ1dGVzIgogbXNnc3RyICJPdXRwdXRPYmplY3QtQXR0cmlidXRlIGv2bm5lbiBuaWNodCBnZWz2c2NodCB3ZXJkZW4iCkBAIC0yMDUwLDEyICsyNDE1LDYgQEAKIG1zZ2lkICJFMjY0OiBQeXRob246IEVycm9yIGluaXRpYWxpc2luZyBJL08gb2JqZWN0cyIKIG1zZ3N0ciAiRTI2NDogUHl0aG9uOiBGZWhsZXIgYmVpIGRlciBJbml0aWFsaXNpZXJ1bmcgdm9uIEkvTyBPYmpla3RlbiIKIAotbXNnaWQgImludmFsaWQgZXhwcmVzc2lvbiIKLW1zZ3N0ciAidW5n/Gx0aWdlciBBdXNkcnVjayIKLQotbXNnaWQgImV4cHJlc3Npb25zIGRpc2FibGVkIGF0IGNvbXBpbGUgdGltZSIKLW1zZ3N0ciAiQXVzZHL8Y2tlIHd1cmRlbiB6dXIgWmVpdCBkZXMg3GJlcnNldHplbnMgbmljaHQgenVnZWxhc3NlbiIKLQogbXNnaWQgImF0dGVtcHQgdG8gcmVmZXIgdG8gZGVsZXRlZCBidWZmZXIiCiBtc2dzdHIgIlZlcnN1Y2gsIEJlenVnIGF1ZiBlaW5lbiBnZWz2c2NodGVuIFB1ZmZlciB6dSBuZWhtZW4iCiAKQEAgLTIwOTYsMjEgKzI0NTUsNiBAQAogbXNnaWQgIm5vIHN1Y2ggd2luZG93IgogbXNnc3RyICJ1bmf8bHRpZ2VzIEZlbnN0ZXIiCiAKLW1zZ2lkICJjYW5ub3Qgc2F2ZSB1bmRvIGluZm9ybWF0aW9uIgotbXNnc3RyICJSZXZlcnRpZXJ1bmdzLUluZm9ybWF0aW9uIGthbm4gbmljaHQgZ2VzcGVpY2hlcnQgd2VyZGVuIgotCi1tc2dpZCAiY2Fubm90IGRlbGV0ZSBsaW5lIgotbXNnc3RyICJaZWlsZSBrYW5uIG5pY2h0IGdlbPZzY2h0IHdlcmRlbiIKLQotbXNnaWQgImNhbm5vdCByZXBsYWNlIGxpbmUiCi1tc2dzdHIgIlplaWxlIGthbm4gbmljaHQgZXJzZXR6dCB3ZXJkZW4iCi0KLW1zZ2lkICJjYW5ub3QgaW5zZXJ0IGxpbmUiCi1tc2dzdHIgIlplaWxlIGthbm4gbmljaHQgZWluZ2Vm/Gd0IHdlcmRlbiIKLQotbXNnaWQgInN0cmluZyBjYW5ub3QgY29udGFpbiBuZXdsaW5lcyIKLW1zZ3N0ciAiWmVpY2hlbmZvbGdlIGthbm4ga2VpbmUgWmVpbGVuLXdlY2hzZWwgZW50aGFsdGVuIgotCiBtc2dpZCAiIgogIkUyNjY6IFNvcnJ5LCB0aGlzIGNvbW1hbmQgaXMgZGlzYWJsZWQsIHRoZSBSdWJ5IGxpYnJhcnkgY291bGQgbm90IGJlIGxvYWRlZC4iCiBtc2dzdHIgIiIKQEAgLTIyMTYsOSArMjU2MCw2IEBACiBtc2dpZCAibm90IGltcGxlbWVudGVkIHlldCIKIG1zZ3N0ciAibmljaHQgaW1wbGVtZW50aWVydCIKIAotbXNnaWQgInVua25vd24gb3B0aW9uIgotbXNnc3RyICJ1bmJla2FubnRlIE9wdGlvbiIKLQogIy4gPz8/CiBtc2dpZCAiY2Fubm90IHNldCBsaW5lKHMpIgogbXNnc3RyICJrYW5uIGtlaW5lIFplaWxlL1plaWxlbiBzZXR6ZW4iCkBAIC0yMjQ2LDggKzI1ODcsNyBAQAogbXNnc3RyICJ2aW0gRmVobGVyIgogCiBtc2dpZCAiY2Fubm90IGNyZWF0ZSBidWZmZXIvd2luZG93IGNvbW1hbmQ6IG9iamVjdCBpcyBiZWluZyBkZWxldGVkIgotbXNnc3RyICIiCi0iUHVmZmVyL0ZlbnN0ZXItQmVmZWhsIGthbm4gbmljaHQgYXVzZ2Vm/GhydCB3ZXJkZW46IGRhcyBPYmpla3Qgd2lyZCBnZWz2c2NodCIKK21zZ3N0ciAiUHVmZmVyL0ZlbnN0ZXItQmVmZWhsIGthbm4gbmljaHQgYXVzZ2Vm/GhydCB3ZXJkZW46IGRhcyBPYmpla3Qgd2lyZCBnZWz2c2NodCIKIAogbXNnaWQgIiIKICJjYW5ub3QgcmVnaXN0ZXIgY2FsbGJhY2sgY29tbWFuZDogYnVmZmVyL3dpbmRvdyBpcyBhbHJlYWR5IGJlaW5nIGRlbGV0ZWQiCkBAIC0yMjU5LDI2ICsyNTk5LDIzIEBACiAiRTI4MDogVENMIEZBVEFMIEVSUk9SOiByZWZsaXN0IGNvcnJ1cHQhPyBQbGVhc2UgcmVwb3J0IHRoaXMgdG8gdmltLWRldkB2aW0uIgogIm9yZyIKIG1zZ3N0ciAiIgotIkUyODA6IFRDTCBGQVRBTEVSIEZFSExFUjogcmVmbGlzdCBrYXB1dHQhPyBCaXR0ZSBiZW5hY2hyaWNodGlnZW4gU2llIHZpbS0iCi0iZGV2QHZpbS5vcmciCisiRTI4MDogVENMIEZBVEFMRVIgRkVITEVSOiByZWZsaXN0IGthcHV0dCE/IEJpdHRlIHZpbS1kZXZAdmltLm9yZyBiZW5hY2hyaWNodGlnZW4uIgogCiBtc2dpZCAiY2Fubm90IHJlZ2lzdGVyIGNhbGxiYWNrIGNvbW1hbmQ6IGJ1ZmZlci93aW5kb3cgcmVmZXJlbmNlIG5vdCBmb3VuZCIKLW1zZ3N0ciAiIgotImthbm4ga2VpbmVuIENhbGxiYWNrLUJlZmVobCByZWdpc3RyaWVyZW46IFB1ZmZlci9GZW5zdGVyLVJlZmVyZW56IG5pY2h0ICIKLSJnZWZ1bmRlbiIKK21zZ3N0ciAia2FubiBrZWluZW4gQ2FsbGJhY2stQmVmZWhsIHJlZ2lzdHJpZXJlbjogUHVmZmVyL0ZlbnN0ZXItUmVmZXJlbnogbmljaHQgZ2VmdW5kZW4iCiAKLSMsIGZ1enp5Ci0jfiBtc2dpZCAiIgotI34gIkU1NzE6IFNvcnJ5LCB0aGlzIGNvbW1hbmQgaXMgZGlzYWJsZWQ6IHRoZSBUY2wgbGlicmFyeSBjb3VsZCBub3QgYmUgbG9hZGVkLiIKLSN+IG1zZ3N0ciAiIgotI34gIkRpZXNlciBCZWZlaGwgaXN0IG5pY2h0IHZlcmb8Z2JhciwgZGEgZGllIFRjbCBCaWJsaW90aGVrIG5pY2h0IGdlbGFkZW4gIgotI34gIndlcmRlbiBrb25udGUiCittc2dpZCAiIgorIkU1NzE6IFNvcnJ5LCB0aGlzIGNvbW1hbmQgaXMgZGlzYWJsZWQ6IHRoZSBUY2wgbGlicmFyeSBjb3VsZCBub3QgYmUgbG9hZGVkLiIKK21zZ3N0ciAiRTU3MTogRGllc2VyIEJlZmVobCBpc3QgbmljaHQgdmVyZvxnYmFyOiBkaWUgVGNsIEJpYmxpb3RoZWsga29ubnRlIG5pY2h0IGdlbGFkZW4gd2VyZGVuIgogCiBtc2dpZCAiIgogIkUyODE6IFRDTCBFUlJPUjogZXhpdCBjb2RlIGlzIG5vdCBpbnQhPyBQbGVhc2UgcmVwb3J0IHRoaXMgdG8gdmltLWRldkB2aW0ub3JnIgogbXNnc3RyICIiCi0iRTI4MTogVENMIEZFSExFUjogRXhpdC1Db2RlIGlzdCBuaWNodCBpbnQhPyBCaXR0ZSBiZW5hY2hyaWNodGlnZW4gU2llIHZpbS0iCi0iZGV2QHZpbS5vcmciCisiRTI4MTogVENMIEZFSExFUjogRXhpdC1Db2RlIGlzdCBuaWNodCBpbnQhPyBCaXR0ZSB2aW0tZGV2QHZpbS5vcmcgYmVuYWNocmljaHRpZ2VuLiIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFNTcyOiBleGl0IGNvZGUgJWQiCittc2dzdHIgIkU1NzI6IEVraXQtQ29kZSAlZCIKIAogbXNnaWQgImNhbm5vdCBnZXQgbGluZSIKIG1zZ3N0ciAia2FubiBaZWlsZSBuaWNodCBlcmhhbHRlbiIKQEAgLTIyODksMTUgKzI2MjYsMTUgQEAKIG1zZ2lkICJFMjQ4OiBGYWlsZWQgdG8gc2VuZCBjb21tYW5kIHRvIHRoZSBkZXN0aW5hdGlvbiBwcm9ncmFtIgogbXNnc3RyICJFMjQ4OiBTY2hpY2tlbiBkZXMgQmVmZWhscyB6dW0gWmllbC1Qcm9ncmFtbSBzY2hsdWcgZmVobCIKIAotIywgZnV6enksIGMtZm9ybWF0Ci0jfiBtc2dpZCAiRTU3MzogSW52YWxpZCBzZXJ2ZXIgaWQgdXNlZDogJXMiCi0jfiBtc2dzdHIgIlVuZ/xsdGlnZSBTZXJ2ZXItSUQgdmVyd2VuZGV0OiAlcyIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTU3MzogSW52YWxpZCBzZXJ2ZXIgaWQgdXNlZDogJXMiCittc2dzdHIgIkU1NzM6IFVuZ/xsdGlnZSBTZXJ2ZXIgSUQgdmVyd2VuZGV0OiAlcyIKIAogbXNnaWQgIkUyNTE6IFZJTSBpbnN0YW5jZSByZWdpc3RyeSBwcm9wZXJ0eSBpcyBiYWRseSBmb3JtZWQuICBEZWxldGVkISIKIG1zZ3N0ciAiRTI1MTogUmVnaXN0cnktRWlnZW5zY2hhZnQgZGVyIFZJTSBJbnN0YW56IGlzdCBmZWhsZXJoYWZ0LiAgR2Vs9nNjaHQhIgogCi1tc2dpZCAiVW5rbm93biBvcHRpb24iCi1tc2dzdHIgIlVuYmVrYW5udGUgT3B0aW9uIgorbXNnaWQgIlVua25vd24gb3B0aW9uIGFyZ3VtZW50IgorbXNnc3RyICJVbmJla2FubnRlcyBPcHRpb25zYXJndW1lbnQiCiAKIG1zZ2lkICJUb28gbWFueSBlZGl0IGFyZ3VtZW50cyIKIG1zZ3N0ciAiWnUgdmllbGUgRWRpdG9yIEFyZ3VtZW50ZSIKQEAgLTIzMDUsMTIgKzI2NDIsMTEgQEAKIG1zZ2lkICJBcmd1bWVudCBtaXNzaW5nIGFmdGVyIgogbXNnc3RyICJBcmd1bWVudCBmZWhsdCBuYWNoIgogCi1tc2dpZCAiR2FyYmFnZSBhZnRlciBvcHRpb24iCi1tc2dzdHIgIlNjaHJvdHQgbmFjaCBkZXIgT3B0aW9uIgorbXNnaWQgIkdhcmJhZ2UgYWZ0ZXIgb3B0aW9uIGFyZ3VtZW50IgorbXNnc3RyICJTY2hyb3R0IG5hY2ggZGVtIE9wdGlvbnNhcmd1bWVudCIKIAotIywgZnV6enkKLSN+IG1zZ2lkICJUb28gbWFueSBcIitjb21tYW5kXCIsIFwiLWMgY29tbWFuZFwiIG9yIFwiLS1jbWQgY29tbWFuZFwiIGFyZ3VtZW50cyIKLSN+IG1zZ3N0ciAiWnUgdmllbGUgXCIrY29tbWFuZFwiIG9kZXIgXCItYyBjb21tYW5kXCIgQXJndW1lbnRlIgorbXNnaWQgIlRvbyBtYW55IFwiK2NvbW1hbmRcIiwgXCItYyBjb21tYW5kXCIgb3IgXCItLWNtZCBjb21tYW5kXCIgYXJndW1lbnRzIgorbXNnc3RyICJadSB2aWVsZSBcIitjb21tYW5kXCIsIFwiLWMgY29tbWFuZFwiIG9kZXIgXCItLWNtZCBjb21tYW5kXCIgQXJndW1lbnRlIgogCiBtc2dpZCAiSW52YWxpZCBhcmd1bWVudCBmb3IiCiBtc2dzdHIgIlVuZ/xsdGlnZXMgQXJndW1lbnQgZvxyIgpAQCAtMjMyNyw5ICsyNjYzLDggQEAKIG1zZ2lkICJDYW5ub3Qgb3BlbiBmb3Igc2NyaXB0IG91dHB1dDogXCIiCiBtc2dzdHIgImthbm4gbmljaHQgenVyIFNrcmlwdC1BdXNnYWJlIGdl9mZmbmV0IHdlcmRlbjogXCIiCiAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJWQgZmlsZXMgdG8gZWRpdFxuIgotbXNnc3RyICIlZCBEYXRlaWVuIHp1ciBCZWFyYmVpdHVuZ1xuIgorbXNnaWQgIlZpbTogRXJyb3I6IEZhaWx1cmUgdG8gc3RhcnQgZ3ZpbSBmcm9tIE5ldEJlYW5zXG4iCittc2dzdHIgIlZpbTogRmVobGVyOiBLb25udGUgZ3ZpbSBuaWNodCB2b24gTmV0QmVhbnMgYXVzIHN0YXJ0ZW5cbiIKIAogbXNnaWQgIlZpbTogV2FybmluZzogT3V0cHV0IGlzIG5vdCB0byBhIHRlcm1pbmFsXG4iCiBtc2dzdHIgIlZpbTogV2FybnVuZzogRGllIEF1c2dhYmUgZXJmb2xndCBuaWNodCBhdWYgZWluZW0gVGVybWluYWxcbiIKQEAgLTI0MDcsOSArMjc0Miw4IEBACiBtc2dpZCAiLWdcdFx0XHRSdW4gdXNpbmcgR1VJIChsaWtlIFwiZ3ZpbVwiKSIKIG1zZ3N0ciAiLWdcdFx0XHRTdGFydCBhbHMgR1VJICh3aWUgXCJndmltXCIpIgogCi0jLCBmdXp6eQotI34gbXNnaWQgIi1mICBvciAgLS1ub2ZvcmtcdEZvcmVncm91bmQ6IERvbid0IGZvcmsgd2hlbiBzdGFydGluZyBHVUkiCi0jfiBtc2dzdHIgIi1mXHRcdFx0Rm9yZGVyZ3J1bmQ6IEtlaW4gXCJmb3JrXCIgYmVpbSBTdGFydCBkZXMgR1VJIgorbXNnaWQgIi1mICBvciAgLS1ub2ZvcmtcdEZvcmVncm91bmQ6IERvbid0IGZvcmsgd2hlbiBzdGFydGluZyBHVUkiCittc2dzdHIgIi1mXHRcdFx0Vm9yZGVyZ3J1bmQ6IEtlaW4gXCJmb3JrXCIgYmVpbSBTdGFydCBkZXIgR1VJIgogCiBtc2dpZCAiLXZcdFx0XHRWaSBtb2RlIChsaWtlIFwidmlcIikiCiBtc2dzdHIgIi12XHRcdFx0VmkgTW9kdXMgKHdpZSBcInZpXCIpIgpAQCAtMjQ3NCwxNyArMjgwOCwxNCBAQAogbXNnaWQgIi1kZXYgPGRldmljZT5cdFx0VXNlIDxkZXZpY2U+IGZvciBJL08iCiBtc2dzdHIgIi1kZXYgPGRldmljZT5cdFx0VmVyd2VuZGUgPGRldmljZT4gZm9yIEkvTyIKIAotIywgZnV6enkKLSN+IG1zZ2lkICItQVx0XHRcdHN0YXJ0IGluIEFyYWJpYyBtb2RlIgotI34gbXNnc3RyICItRlx0XHRcdFN0YXJ0IGltIEZhcnNpIE1vZHVzIgorbXNnaWQgIi1BXHRcdFx0c3RhcnQgaW4gQXJhYmljIG1vZGUiCittc2dzdHIgIi1BXHRcdFx0U3RhcnQgaW0gQXJhYmlzY2hlbiBNb2R1cyIKIAotIywgZnV6enkKLSN+IG1zZ2lkICItSFx0XHRcdFN0YXJ0IGluIEhlYnJldyBtb2RlIgotI34gbXNnc3RyICItSFx0XHRcdFN0YXJ0IGltIEhlYnLkaXNjaGVuIE1vZHVzIgorbXNnaWQgIi1IXHRcdFx0U3RhcnQgaW4gSGVicmV3IG1vZGUiCittc2dzdHIgIi1IXHRcdFx0U3RhcnQgaW0gSGVicuRpc2NoZW4gTW9kdXMiCiAKLSMsIGZ1enp5Ci0jfiBtc2dpZCAiLUZcdFx0XHRTdGFydCBpbiBGYXJzaSBtb2RlIgotI34gbXNnc3RyICItRlx0XHRcdFN0YXJ0IGltIEZhcnNpIE1vZHVzIgorbXNnaWQgIi1GXHRcdFx0U3RhcnQgaW4gRmFyc2kgbW9kZSIKK21zZ3N0ciAiLUZcdFx0XHRTdGFydCBpbSBGYXJzaSBNb2R1cyIKIAogbXNnaWQgIi1UIDx0ZXJtaW5hbD5cdFNldCB0ZXJtaW5hbCB0eXBlIHRvIDx0ZXJtaW5hbD4iCiBtc2dzdHIgIi1UIDx0ZXJtaW5hbD5cdFNldHplIFRlcm1pbmFsLVR5cCBhdWYgPHRlcm1pbmFsPiIKQEAgLTI1MDEsOSArMjgzMiw4IEBACiBtc2dpZCAiLW9bTl1cdFx0T3BlbiBOIHdpbmRvd3MgKGRlZmF1bHQ6IG9uZSBmb3IgZWFjaCBmaWxlKSIKIG1zZ3N0ciAiLW9bTl1cdFx01mZmbmUgTiBGZW5zdGVyIChWb3JnYWJlOiBlaW56ZWxuIGb8ciBqZWRlIERhdGVpKSIKIAotIywgZnV6enkKLSN+IG1zZ2lkICItT1tOXVx0XHRMaWtlIC1vIGJ1dCBzcGxpdCB2ZXJ0aWNhbGx5IgotI34gbXNnc3RyICItT1tOXVx0XHR3aWUgLW8sIGFiZXIgdGVpbGUgdmVydGlrYWwiCittc2dpZCAiLU9bTl1cdFx0TGlrZSAtbyBidXQgc3BsaXQgdmVydGljYWxseSIKK21zZ3N0ciAiLU9bTl1cdFx0d2llIC1vLCBhYmVyIHRlaWxlIHZlcnRpa2FsIgogCiBtc2dpZCAiK1x0XHRcdFN0YXJ0IGF0IGVuZCBvZiBmaWxlIgogbXNnc3RyICIrXHRcdFx0U3RhcnRlIGFtIEVuZGUgZGVyIERhdGVpIgpAQCAtMjUyMSw4ICsyODUxLDcgQEAKIG1zZ3N0ciAiLVMgPHNlc3Npb24+XHRcdExlc2UgRGF0ZWkgPHNlc3Npb24+IG5hY2ggZGVtIExhZGVuIGRlciBlcnN0ZW4gRGF0ZWkiCiAKIG1zZ2lkICItcyA8c2NyaXB0aW4+XHRSZWFkIE5vcm1hbCBtb2RlIGNvbW1hbmRzIGZyb20gZmlsZSA8c2NyaXB0aW4+IgotbXNnc3RyICIiCi0iLXMgPHNjcmlwdGluPlx0TGVzZSBOb3JtYWwtTW9kdXMgQmVmZWhsZSBhdXMgZGVyIFNrcmlwdC1EYXRlaSA8c2NyaXB0aW4+IgorbXNnc3RyICItcyA8c2NyaXB0aW4+XHRMZXNlIE5vcm1hbC1Nb2R1cyBCZWZlaGxlIGF1cyBkZXIgU2tyaXB0LURhdGVpIDxzY3JpcHRpbj4iCiAKIG1zZ2lkICItdyA8c2NyaXB0b3V0Plx0QXBwZW5kIGFsbCB0eXBlZCBjb21tYW5kcyB0byBmaWxlIDxzY3JpcHRvdXQ+IgogbXNnc3RyICItdyA8c2NyaXB0b3V0Plx0QmVmZWhsZSBhbSBFbmRlIGRlciBTa3JpcHQtRGF0ZWkgPHNjcmlwdG91dD4gYW5m/GdlbiIKQEAgLTI1MzksMzAgKzI4NjgsMjcgQEAKIG1zZ2lkICItWFx0XHRcdERvIG5vdCBjb25uZWN0IHRvIFggc2VydmVyIgogbXNnc3RyICItWFx0XHRcdHN0ZWxsZSBrZWluZSBWZXJiaW5kdW5nIHp1bSBYLXNlcnZlciBoZXIiCiAKLSMsIGZ1enp5Ci0jfiBtc2dpZCAiLS1yZW1vdGUgPGZpbGVzPlx0RWRpdCA8ZmlsZXM+IGluIGEgVmltIHNlcnZlciBpZiBwb3NzaWJsZSIKLSN+IG1zZ3N0ciAiLS1yZW1vdGUgPERhdGVpZW4+XHRFZGl0aWVyZSA8RGF0ZWllbj4gaW4gZWluZW0gVmltIFNlcnZlciB1bmQgYmVlbmRlIgorbXNnaWQgIi0tcmVtb3RlIDxmaWxlcz5cdEVkaXQgPGZpbGVzPiBpbiBhIFZpbSBzZXJ2ZXIgaWYgcG9zc2libGUiCittc2dzdHIgIi0tcmVtb3RlIDxEYXRlaWVuPlx0RWRpdGllcmUgPERhdGVpZW4+IGluIGVpbmVtIFZpbSBTZXJ2ZXIgZmFsbHMgbfZnbGljaCIKIAotI34gbXNnaWQgIi0tcmVtb3RlLXNpbGVudCA8ZmlsZXM+ICBTYW1lLCBkb24ndCBjb21wbGFpbiBpZiB0aGVyZSBpcyBubyBzZXJ2ZXIiCi0jfiBtc2dzdHIgIiIKK21zZ2lkICItLXJlbW90ZS1zaWxlbnQgPGZpbGVzPiAgU2FtZSwgZG9uJ3QgY29tcGxhaW4gaWYgdGhlcmUgaXMgbm8gc2VydmVyIgorbXNnc3RyICItLXJlbW90ZS1zaWxlbnQgPERhdGVpZW4+ICBEYXNzZWxiZSBvaG5lIFdhcm51bmcsIHdlbm4ga2VpbiBTZXJ2ZXIgdm9yaGFuZGVuIGlzdCIKIAogbXNnaWQgIiIKICItLXJlbW90ZS13YWl0IDxmaWxlcz4gIEFzIC0tcmVtb3RlIGJ1dCB3YWl0IGZvciBmaWxlcyB0byBoYXZlIGJlZW4gZWRpdGVkIgogbXNnc3RyICIiCi0iLS1yZW1vdGUtd2FpdCA8RGF0ZWllbj4gIFdpZSAtLXJlbW90ZSwgYWJlciB3YXJ0ZSwgYmlzIGRpZSA8RGF0ZWllbj4gIgotImVkaXRpZXJ0IHd1cmRlbiIKKyItLXJlbW90ZS13YWl0IDxEYXRlaWVuPiAgV2llIC0tcmVtb3RlLCBhYmVyIHdhcnRlLCBiaXMgZGllIDxEYXRlaWVuPiBlZGl0aWVydCB3dXJkZW4iCiAKLSN+IG1zZ2lkICIiCi0jfiAiLS1yZW1vdGUtd2FpdC1zaWxlbnQgPGZpbGVzPiAgU2FtZSwgZG9uJ3QgY29tcGxhaW4gaWYgdGhlcmUgaXMgbm8gc2VydmVyIgotI34gbXNnc3RyICIiCittc2dpZCAiIgorIi0tcmVtb3RlLXdhaXQtc2lsZW50IDxmaWxlcz4gIFNhbWUsIGRvbid0IGNvbXBsYWluIGlmIHRoZXJlIGlzIG5vIHNlcnZlciIKK21zZ3N0ciAiIgorIi0tcmVtb3RlLXdhaXQtc2lsZW50IDxmaWxlcz4gIERhc3NlbGJlIG9obmUgV2FybnVuZywgd2VubiBrZWluIFNlcnZlciB2b3JoYW5kZW4gaXN0IgogCiBtc2dpZCAiLS1yZW1vdGUtc2VuZCA8a2V5cz5cdFNlbmQgPGtleXM+IHRvIGEgVmltIHNlcnZlciBhbmQgZXhpdCIKIG1zZ3N0ciAiLS1yZW1vdGUtc2VuZCA8a2V5cz5cdFNjaGlja2UgPGtleXM+IHp1IGVpbmVtIFZpbSBTZXJ2ZXIgdW5kIGJlZW5kZSIKIAogbXNnaWQgIi0tcmVtb3RlLWV4cHIgPGV4cHI+XHRFdmFsdWF0ZSA8ZXhwcj4gaW4gYSBWaW0gc2VydmVyIGFuZCBwcmludCByZXN1bHQiCi1tc2dzdHIgIiIKLSItLXJlbW90ZS1leHByIDxBdXNkcnVjaz5cdEb8aHJlIDxBdXNkcnVjaz4gaW4gZWluZW0gVmltIFNlcnZlciBhdXMgdW5kICIKLSJkcnVja2UgZGFzIEVyZ2VibmlzIgorbXNnc3RyICItLXJlbW90ZS1leHByIDxBdXNkcnVjaz5cdEb8aHJlIDxBdXNkcnVjaz4gaW4gZWluZW0gVmltIFNlcnZlciBhdXMgdW5kIGRydWNrZSBkYXMgRXJnZWJuaXMiCiAKIG1zZ2lkICItLXNlcnZlcmxpc3RcdFx0TGlzdCBhdmFpbGFibGUgVmltIHNlcnZlciBuYW1lcyBhbmQgZXhpdCIKIG1zZ3N0ciAiLS1zZXJ2ZXJsaXN0XHRcdERydWNrZSB2ZXJm/GdiYXJlIFZpbSBTZXJ2ZXIgTmFtZW4gdW5kIGJlZW5kZSIKQEAgLTI1NzMsMTMgKzI4OTksMTEgQEAKIG1zZ2lkICItaSA8dmltaW5mbz5cdFx0VXNlIDx2aW1pbmZvPiBpbnN0ZWFkIG9mIC52aW1pbmZvIgogbXNnc3RyICItaSA8dmltaW5mbz5cdFx0QmVudXR6ZSA8dmltaW5mbz4gc3RhdHQgLnZpbWluZm8iCiAKLSMsIGZ1enp5Ci0jfiBtc2dpZCAiLWggIG9yICAtLWhlbHBcdFByaW50IEhlbHAgKHRoaXMgbWVzc2FnZSkgYW5kIGV4aXQiCi0jfiBtc2dzdHIgIi1oXHRcdFx0ZHJ1Y2tlIG51ciBIaWxmZSAoZGllc2UgTmFjaHJpY2h0KSIKK21zZ2lkICItaCAgb3IgIC0taGVscFx0UHJpbnQgSGVscCAodGhpcyBtZXNzYWdlKSBhbmQgZXhpdCIKK21zZ3N0ciAiLWggIG9yICAtLWhlbHBcdEFuemVpZ2VuIGRlciBIaWxmZSAoZGllc2VuIFRleHQpIHVuZCBiZWVuZGVuIgogCi0jLCBmdXp6eQotI34gbXNnaWQgIi0tdmVyc2lvblx0XHRQcmludCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0IgotI34gbXNnc3RyICItLXZlcnNpb25cdFx0RHJ1Y2tlIG51ciBWZXJzaW9ucy1JbmZvcm1hdGlvbmVuIgorbXNnaWQgIi0tdmVyc2lvblx0XHRQcmludCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0IgorbXNnc3RyICItLXZlcnNpb25cdFx0VmVyc2lvbnNpbmZvcm1hdGlvbiBhbnplaWdlbiB1bmQgYmVlbmRlbiIKIAogbXNnaWQgIiIKICJcbiIKQEAgLTI1ODgsMTMgKzI5MTIsMTIgQEAKICJcbiIKICJBcmd1bWVudGUgZvxyIGRpZSBndmltIE1vdGlmIFZlcnNpb246XG4iCiAKLSMsIGZ1enp5Ci0jfiBtc2dpZCAiIgotI34gIlxuIgotI34gIkFyZ3VtZW50cyByZWNvZ25pc2VkIGJ5IGd2aW0gKG5lWHRhdyB2ZXJzaW9uKTpcbiIKLSN+IG1zZ3N0ciAiIgotI34gIlxuIgotI34gIkFyZ3VtZW50ZSBm/HIgZGllIGd2aW0gQXRoZW5hIFZlcnNpb246XG4iCittc2dpZCAiIgorIlxuIgorIkFyZ3VtZW50cyByZWNvZ25pc2VkIGJ5IGd2aW0gKG5lWHRhdyB2ZXJzaW9uKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkFyZ3VtZW50ZSBm/HIgZGllIGd2aW0gbmVYdGF3IFZlcnNpb246XG4iCiAKIG1zZ2lkICIiCiAiXG4iCkBAIC0yNjE2LDE2ICsyOTM5LDEzIEBACiBtc2dzdHIgIlx0XHRcdCAgKE5pY2h0IGltcGxlbWVudGllcnQpXG4iCiAKIG1zZ2lkICItYmFja2dyb3VuZCA8Y29sb3I+XHRVc2UgPGNvbG9yPiBmb3IgdGhlIGJhY2tncm91bmQgKGFsc286IC1iZykiCi1tc2dzdHIgIiIKLSItYmFja2dyb3VuZCA8RmFyYmU+XHRCZW51dHplIDxGYXJiZT4gZvxyIGRlbiBIaW50ZXJncnVuZCAoYXVjaCBtaXQ6IC1iZykiCittc2dzdHIgIi1iYWNrZ3JvdW5kIDxGYXJiZT5cdEJlbnV0emUgPEZhcmJlPiBm/HIgZGVuIEhpbnRlcmdydW5kIChhdWNoIG1pdDogLWJnKSIKIAogbXNnaWQgIi1mb3JlZ3JvdW5kIDxjb2xvcj5cdFVzZSA8Y29sb3I+IGZvciBub3JtYWwgdGV4dCAoYWxzbzogLWZnKSIKLW1zZ3N0ciAiIgotIi1mb3JlZ3JvdW5kIDxGYXJiZT5cdEJlbnV0emUgPEZhcmJlPiBm/HIgZGVuIFRleHQgVm9yZGVyZ3J1bmQgKGF1Y2ggbWl0OiAtZmcpIgorbXNnc3RyICItZm9yZWdyb3VuZCA8RmFyYmU+XHRCZW51dHplIDxGYXJiZT4gZvxyIGRlbiBUZXh0IFZvcmRlcmdydW5kIChhdWNoIG1pdDogLWZnKSIKIAogbXNnaWQgIi1mb250IDxmb250Plx0XHRVc2UgPGZvbnQ+IGZvciBub3JtYWwgdGV4dCAoYWxzbzogLWZuKSIKLW1zZ3N0ciAiIgotIi1mb250IDxTY2hyaWZ0YXJ0Plx0QmVudXR6ZSA8U2NocmlmdGFydD4gZvxyIG5vcm1hbGVuIFRleHQgKGF1Y2ggbWl0OiAtZm4pIgorbXNnc3RyICItZm9udCA8U2NocmlmdGFydD5cdEJlbnV0emUgPFNjaHJpZnRhcnQ+IGb8ciBub3JtYWxlbiBUZXh0IChhdWNoIG1pdDogLWZuKSIKIAogbXNnaWQgIi1ib2xkZm9udCA8Zm9udD5cdFVzZSA8Zm9udD4gZm9yIGJvbGQgdGV4dCIKIG1zZ3N0ciAiLWJvbGRmb250IDxTY2hyaWZ0YXJ0Plx0QmVudXR6ZSA8U2NocmlmdGFydD4gZvxyIEZldHRzY2hyaWZ0IgpAQCAtMjYzNCwyMyArMjk1NCwxNiBAQAogbXNnc3RyICItaXRhbGljZm9udCA8U2NocmlmdGFydD5cdEJlbnV0emUgPFNjaHJpZnRhcnQ+IGb8ciBnZW5laWd0ZW4gVGV4dCIKIAogbXNnaWQgIi1nZW9tZXRyeSA8Z2VvbT5cdFVzZSA8Z2VvbT4gZm9yIGluaXRpYWwgZ2VvbWV0cnkgKGFsc286IC1nZW9tKSIKLW1zZ3N0ciAiIgotIi1nZW9tZXRyeSA8Z2VvbT5cdGJlbnV0emUgPGdlb20+IGb8ciBkaWUgQW5mYW5ncyBBYm1lc3N1bmdlbiAoYXVjaCBtaXQ6IC0iCi0iZ2VvbSkiCittc2dzdHIgIi1nZW9tZXRyeSA8Z2VvbT5cdGJlbnV0emUgPGdlb20+IGb8ciBkaWUgQW5mYW5ncyBBYm1lc3N1bmdlbiAoYXVjaCBtaXQ6IC1nZW9tKSIKIAogbXNnaWQgIi1ib3JkZXJ3aWR0aCA8d2lkdGg+XHRVc2UgYSBib3JkZXIgd2lkdGggb2YgPHdpZHRoPiAoYWxzbzogLWJ3KSIKLW1zZ3N0ciAiIgotIi1ib3JkZXJ3aWR0aCA8QnJlaXRlPlx0QmVudXR6ZSBlaW5lbiBSYWhtZW4gZGVyIEJyZWl0ZSA8QnJlaXRlPiAoYXVjaCBtaXQ6IC0iCi0iYncpIgorbXNnc3RyICItYm9yZGVyd2lkdGggPEJyZWl0ZT5cdEJlbnV0emUgZWluZW4gUmFobWVuIGRlciBCcmVpdGUgPEJyZWl0ZT4gKGF1Y2ggbWl0OiAtYncpIgogCiBtc2dpZCAiLXNjcm9sbGJhcndpZHRoIDx3aWR0aD4gIFVzZSBhIHNjcm9sbGJhciB3aWR0aCBvZiA8d2lkdGg+IChhbHNvOiAtc3cpIgotbXNnc3RyICIiCi0iLXNjcm9sbGJhcndpZHRoIDxCcmVpdGU+ICBCZW51dHplIGVpbmUgU2Nyb2xsYmFyIGRlciBCcmVpdGUgPEJyZWl0ZT4gKGF1Y2ggIgotIm1pdDogLXN3KSIKK21zZ3N0ciAiLXNjcm9sbGJhcndpZHRoIDxCcmVpdGU+ICBCZW51dHplIGVpbmUgU2Nyb2xsYmFyIGRlciBCcmVpdGUgPEJyZWl0ZT4gKGF1Y2ggbWl0OiAtc3cpIgogCiBtc2dpZCAiLW1lbnVoZWlnaHQgPGhlaWdodD5cdFVzZSBhIG1lbnUgYmFyIGhlaWdodCBvZiA8aGVpZ2h0PiAoYWxzbzogLW1oKSIKLW1zZ3N0ciAiIgotIi1tZW51aGVpZ2h0IDxI9mhlPlx0QmVudXR6ZSBlaW5lbiBNZW78LUJhbGtlbiBkZXIgSPZoZSA8SPZoZT4gKGF1Y2ggbWl0OiAtbWgpIgorbXNnc3RyICItbWVudWhlaWdodCA8SPZoZT5cdEJlbnV0emUgZWluZW4gTWVu/C1CYWxrZW4gZGVyIEj2aGUgPEj2aGU+IChhdWNoIG1pdDogLW1oKSIKIAogbXNnaWQgIi1yZXZlcnNlXHRcdFVzZSByZXZlcnNlIHZpZGVvIChhbHNvOiAtcnYpIgogbXNnc3RyICItcmV2ZXJzZVx0XHRCZW51dHplIGludmVydGllcnRlIEZhcmJlbiAoYXVjaCBtaXQ6IC1ydikiCkBAIC0yNjg0LDQzICsyOTk3LDM1IEBACiBtc2dpZCAiLWRpc3BsYXkgPGRpc3BsYXk+XHRSdW4gdmltIG9uIDxkaXNwbGF5PiAoYWxzbzogLS1kaXNwbGF5KSIKIG1zZ3N0ciAiLWRpc3BsYXkgPGRpc3BsYXk+XHRTdGFydGUgdmltIGF1ZiA8ZGlzcGxheT4gKGF1Y2ggbWl0OiAtLWRpc3BsYXkpIgogCi0jfiBtc2dpZCAiLS1yb2xlIDxyb2xlPlx0U2V0IGEgdW5pcXVlIHJvbGUgdG8gaWRlbnRpZnkgdGhlIG1haW4gd2luZG93IgotI34gbXNnc3RyICIiCittc2dpZCAiLS1yb2xlIDxyb2xlPlx0U2V0IGEgdW5pcXVlIHJvbGUgdG8gaWRlbnRpZnkgdGhlIG1haW4gd2luZG93IgorbXNnc3RyICItLXJvbGUgPHJvbGU+XHRTZXR6ZSBlaW5lIGVpbmRldXRpZ2UgUm9sbGUsIHVtIGRhcyBIYXVwdGZlbnN0ZXIgenUgaWRlbnRpZml6aWVyZW4iCiAKIG1zZ2lkICItLXNvY2tldGlkIDx4aWQ+XHRPcGVuIFZpbSBpbnNpZGUgYW5vdGhlciBHVEsgd2lkZ2V0IgogbXNnc3RyICItLXNvY2tldGlkIDx4aWQ+XHTWZmZuZSBWaW0gaW4gZWluZW0gYW5kZXJlbiBHVEsgd2lkZ2V0IgogCi0jfiBtc2dpZCAiLVAgPHBhcmVudCB0aXRsZT5cdE9wZW4gVmltIGluc2lkZSBwYXJlbnQgYXBwbGljYXRpb24iCi0jfiBtc2dzdHIgIiIKK21zZ2lkICItUCA8cGFyZW50IHRpdGxlPlx0T3BlbiBWaW0gaW5zaWRlIHBhcmVudCBhcHBsaWNhdGlvbiIKK21zZ3N0ciAiLVAgPHBhcmVudCB0aXRsZT5cdNZmZm5lIFZpbSBpbm5lcmhhbGIgZGVyIFZhdGVyLUFwcGxpa2F0aW9uIgogCi0jfiBtc2dpZCAiTm8gZGlzcGxheSIKLSN+IG1zZ3N0ciAiIgorbXNnaWQgIk5vIGRpc3BsYXkiCittc2dzdHIgIktlaW5lIEFuemVpZ2UiCiAKICMuIEZhaWxlZCB0byBzZW5kLCBhYm9ydC4KLSMsIGZ1enp5Ci0jfiBtc2dpZCAiOiBTZW5kIGZhaWxlZC5cbiIKLSN+IG1zZ3N0ciAiIgotI34gIlxuIgotI34gIlNjaGlja2VuIGRlcyBBdXNkcnVja3Mgc2NobHVnIGZlaGwuXG4iCittc2dpZCAiOiBTZW5kIGZhaWxlZC5cbiIKK21zZ3N0ciAiOiBWZXJzZW5kdW5nIGZlaGxnZXNjaGxhZ2VuLlxuIgogCiAjLiBMZXQgdmltIHN0YXJ0IG5vcm1hbGx5LgotIywgZnV6enkKLSN+IG1zZ2lkICI6IFNlbmQgZmFpbGVkLiBUcnlpbmcgdG8gZXhlY3V0ZSBsb2NhbGx5XG4iCi0jfiBtc2dzdHIgIiIKLSN+ICJcbiIKLSN+ICJTY2hpY2tlbiBzY2hsdWcgZmVobC4gVmVyc3VjaGUgbG9rYWwgYXVzenVm/GhyZW5cbiIKK21zZ2lkICI6IFNlbmQgZmFpbGVkLiBUcnlpbmcgdG8gZXhlY3V0ZSBsb2NhbGx5XG4iCittc2dzdHIgIjogVmVyc2VuZHVuZyBmZWhsZ2VzY2hsYWdlbi4gVmVyc3VjaGUgbG9rYWxlIEF1c2b8aHJ1bmdcbiIKIAogIywgYy1mb3JtYXQKIG1zZ2lkICIlZCBvZiAlZCBlZGl0ZWQiCiBtc2dzdHIgIiVkIHZvbiAlZCBlZGl0aWVydCIKIAotIywgZnV6enkKLSN+IG1zZ2lkICJObyBkaXNwbGF5OiBTZW5kIGV4cHJlc3Npb24gZmFpbGVkLlxuIgotI34gbXNnc3RyICJTY2hpY2tlbiBkZXMgQXVzZHJ1Y2tzIHNjaGx1ZyBmZWhsLlxuIgorbXNnaWQgIk5vIGRpc3BsYXk6IFNlbmQgZXhwcmVzc2lvbiBmYWlsZWQuXG4iCittc2dzdHIgIktlaW5lIEFuemVpZ2U6IFZlcnNlbmRlbiBkZXMgQXVzZHJ1Y2tzIGZlaGxnZXNjaGxhZ2VuLlxuIgogCi0jLCBmdXp6eQotI34gbXNnaWQgIjogU2VuZCBleHByZXNzaW9uIGZhaWxlZC5cbiIKLSN+IG1zZ3N0ciAiU2NoaWNrZW4gZGVzIEF1c2RydWNrcyBzY2hsdWcgZmVobC5cbiIKK21zZ2lkICI6IFNlbmQgZXhwcmVzc2lvbiBmYWlsZWQuXG4iCittc2dzdHIgIjogVmVyc2VuZGVuIGRlcyBBdXNkcnVja3MgZmVobGdlc2NobGFnZW4uXG4iCiAKIG1zZ2lkICJObyBtYXJrcyBzZXQiCiBtc2dzdHIgIktlaW5lIE1hcmtpZXJ1bmdlbiBnZXNldHp0IgpAQCAtMjc0NiwxMyArMzA1MSwxMiBAQAogIiBTcHJ1bmcgWmVpbGUgU3AgRGF0ZWkvVGV4dCIKIAogIy4gSGlnaGxpZ2h0IHRpdGxlCi0jLCBmdXp6eQotI34gbXNnaWQgIiIKLSN+ICJcbiIKLSN+ICJjaGFuZ2UgbGluZSAgY29sIHRleHQiCi0jfiBtc2dzdHIgIiIKLSN+ICJcbiIKLSN+ICJNYXJrIFplaWxlIFNwICBEYXRlaS9UZXh0IgorbXNnaWQgIiIKKyJcbiIKKyJjaGFuZ2UgbGluZSAgY29sIHRleHQiCittc2dzdHIgIiIKKyJcbiIKKyLEbmRlci4gWmVpbGUgU3AgIFRleHQiCiAKIG1zZ2lkICIiCiAiXG4iCkBAIC0yNzY3LDIxICszMDcxLDIwIEBACiAiIyBKdW1wbGlzdCAobmV3ZXN0IGZpcnN0KTpcbiIKIG1zZ3N0ciAiIgogIlxuIgotIiMgR2VzY2hpY2h0ZSAobmV1ZXN0ZSBiaXMg5Gx0ZXN0ZSk6XG4iCisiIyBHZXNjaGljaHRlIChuZXVlc3RlIHp1ZXJzdCk6XG4iCiAKIG1zZ2lkICIiCiAiXG4iCiAiIyBIaXN0b3J5IG9mIG1hcmtzIHdpdGhpbiBmaWxlcyAobmV3ZXN0IHRvIG9sZGVzdCk6XG4iCiBtc2dzdHIgIiIKICJcbiIKLSIjIEdlc2NoaWNodGUgZGVyIE1hcmtpZXJ1bmdlbiBpbm5lcmhhbGIgdm9uIERhdGVpZW4gKG5ldWVzdGUgYmlzIORsdGVzdGUpOlxuIgorIiMgR2VzY2hpY2h0ZSBkZXIgTWFya2llcnVuZ2VuIGlubmVyaGFsYiB2b24gRGF0ZWllbiAobmV1ZXN0ZSB6dWVyc3QpOlxuIgogCiBtc2dpZCAiTWlzc2luZyAnPiciCiBtc2dzdHIgIic+JyBmZWhsdCIKIAotIywgZnV6enkKLSN+IG1zZ2lkICJFNTQzOiBOb3QgYSB2YWxpZCBjb2RlcGFnZSIKLSN+IG1zZ3N0ciAiSXN0IG5pY2h0IGVpbmUgenVs5HNzaWdlIENvZGUtU2VpdGUiCittc2dpZCAiRTU0MzogTm90IGEgdmFsaWQgY29kZXBhZ2UiCittc2dzdHIgIkU1NDM6IEtlaW5lIHp1bORzc2lnZSBDb2RlcGFnZSIKIAogbXNnaWQgIkUyODQ6IENhbm5vdCBzZXQgSUMgdmFsdWVzIgogbXNnc3RyICJFMjg0OiBLYW5uIGRpZSBJQyBXZXJ0ZSBuaWNodCBzZXR6ZW4iCkBAIC0yODA1LDggKzMxMDgsNyBAQAogbXNnc3RyICJFMjkwOiBkZXIg3GJlci1kZW0tUHVua3QgU3RpbCBiZW72dGlndCBmb250c2V0IgogCiBtc2dpZCAiRTI5MTogWW91ciBHVEsrIGlzIG9sZGVyIHRoYW4gMS4yLjMuIFN0YXR1cyBhcmVhIGRpc2FibGVkIgotbXNnc3RyICIiCi0iRTI5MTogSWhyIEdUSysgaXN0IORsdGVyIGFscyAxLjIuMy4gRGVyIFN0YXR1cy1CZXJlaWNoIHdpcmQgYWJnZXNjaGFsdGV0IgorbXNnc3RyICJFMjkxOiBJaHIgR1RLKyBpc3Qg5Gx0ZXIgYWxzIDEuMi4zLiBEZXIgU3RhdHVzLUJlcmVpY2ggd2lyZCBhYmdlc2NoYWx0ZXQiCiAKIG1zZ2lkICJFMjkyOiBJbnB1dCBNZXRob2QgU2VydmVyIGlzIG5vdCBydW5uaW5nIgogbXNnc3RyICJFMjkyOiBTZXJ2ZXIgZGVyIEVpbmdhYmUtTWV0aG9kZSBs5HVmdCBuaWNodCIKQEAgLTI4NDcsOSArMzE0OSw3IEBACiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTMwMzogVW5hYmxlIHRvIG9wZW4gc3dhcCBmaWxlIGZvciBcIiVzXCIsIHJlY292ZXJ5IGltcG9zc2libGUiCi1tc2dzdHIgIiIKLSJFMzAzOiBBdXNsYWdlcnVuZ3MtRGF0ZWkgZvxyIFwiJXNcIiBrb25udGUgbmljaHQgZ2X2ZmZuZXQgd2VyZGVuLCAiCi0iV2llZGVyaGVyc3RlbGx1bmcgdW5t9mdsaWNoIgorbXNnc3RyICJFMzAzOiBBdXNsYWdlcnVuZ3MtRGF0ZWkgZvxyIFwiJXNcIiBrb25udGUgbmljaHQgZ2X2ZmZuZXQgd2VyZGVuLCBXaWVkZXJoZXJzdGVsbHVuZyB1bm32Z2xpY2giCiAKIG1zZ2lkICJFMzA0OiBtbF90aW1lc3RhbXA6IERpZG4ndCBnZXQgYmxvY2sgMD8/IgogbXNnc3RyICJFMzA0OiBtbF90aW1lc3RhbXA6IEJsb2NrIE5yLiAwIG5pY2h0IGVyaGFsdGVuPyIKQEAgLTI4NTksOSArMzE1OSw3IEBACiBtc2dzdHIgIkUzMDU6IEtlaW5lIEF1c2xhZ2VydW5ncy1EYXRlaSBm/HIgJXMgZ2VmdW5kZW4iCiAKIG1zZ2lkICJFbnRlciBudW1iZXIgb2Ygc3dhcCBmaWxlIHRvIHVzZSAoMCB0byBxdWl0KTogIgotbXNnc3RyICIiCi0iR2ViZW4gU2llIGRpZSBOdW1tZXIgZGVyIEF1c2xhZ2VydW5ncy1EYXRlaSBlaW4gZGllIHZlcndlbmRldCB3ZXJkZW4gc29sbCAoMCAiCi0idW0gYWJ6dWJyZWNoZW4pOiAiCittc2dzdHIgIkdlYmVuIFNpZSBkaWUgTnVtbWVyIGRlciBBdXNsYWdlcnVuZ3MtRGF0ZWkgZWluIGRpZSB2ZXJ3ZW5kZXQgd2VyZGVuIHNvbGwgKDAgdW0gYWJ6dWJyZWNoZW4pOiAiCiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTMwNjogQ2Fubm90IG9wZW4gJXMiCkBAIC0yODc1LDggKzMxNzMsNyBAQAogIk1heWJlIG5vIGNoYW5nZXMgd2VyZSBtYWRlIG9yIFZpbSBkaWQgbm90IHVwZGF0ZSB0aGUgc3dhcCBmaWxlLiIKIG1zZ3N0ciAiIgogIlxuIgotIlZpZWxsZWljaHQgd3VyZGVuIGtlaW5lIMRuZGVydW5nZW4gdm9yZ2Vub21tZW4gb2RlciBWaW0gaGF0dGUgZGllICIKLSJBdXNsYWdlcnVuZ3MtRGF0ZWkgbmljaHQgYWt0dWFsaXNpZXJ0LiIKKyJWaWVsbGVpY2h0IHd1cmRlbiBrZWluZSDEbmRlcnVuZ2VuIHZvcmdlbm9tbWVuIG9kZXIgVmltIGhhdHRlIGRpZSBBdXNsYWdlcnVuZ3MtRGF0ZWkgbmljaHQgYWt0dWFsaXNpZXJ0LiIKIAogbXNnaWQgIiBjYW5ub3QgYmUgdXNlZCB3aXRoIHRoaXMgdmVyc2lvbiBvZiBWaW0uXG4iCiBtc2dzdHIgIiBrYW5uIG5pY2h0IHp1c2FtbWVuIG1pdCBkaWVzZXIgVmltIFZlcnNpb24gdmVyd2VuZGV0IHdlcmRlbi5cbiIKQEAgLTI5NTAsOCArMzI0Nyw3IEBACiBtc2dpZCAiIgogIkUzMTI6IEVycm9ycyBkZXRlY3RlZCB3aGlsZSByZWNvdmVyaW5nOyBsb29rIGZvciBsaW5lcyBzdGFydGluZyB3aXRoID8/PyIKIG1zZ3N0ciAiIgotIkUzMTI6IEZlaGxlciB3dXJkZW4gZmVzdGdlc3RlbGx0IHfkaHJlbmQgZGVyIFdpZWRlcmhlcnN0ZWxsdW5nOiBzdWNoZSBuYWNoICIKLSJaZWlsZW4gZGllIG1pdCA/Pz8gYmVnaW5uZW4iCisiRTMxMjogRmVobGVyIHd1cmRlbiBmZXN0Z2VzdGVsbHQgd+RocmVuZCBkZXIgV2llZGVyaGVyc3RlbGx1bmc6IHN1Y2hlIG5hY2ggWmVpbGVuIGRpZSBtaXQgPz8/IGJlZ2lubmVuIgogCiBtc2dpZCAiU2VlIFwiOmhlbHAgRTMxMlwiIGZvciBtb3JlIGluZm9ybWF0aW9uLiIKIG1zZ3N0ciAiTGVzZW4gU2llIFwiOmhlbHAgRTMxMlwiIGb8ciB3ZWl0ZXJlIEluZm9ybWF0aW9uZW4uIgpAQCAtMzE2Niw4ICszNDYyLDcgQEAKICIoMikgRWluZSBFZGl0aWVyLVNpdHp1bmcgZvxyIGRpZXNlIERhdGVpIGlzdCBhYmdlc3T8cnp0LlxuIgogCiBtc2dpZCAiICAgIElmIHRoaXMgaXMgdGhlIGNhc2UsIHVzZSBcIjpyZWNvdmVyXCIgb3IgXCJ2aW0gLXIgIgotbXNnc3RyICIiCi0iICAgIFdlbm4gZGllcyBkZXIgRmFsbCBpc3QsIHNvIHZlcndlbmRlbiBTaWUgXCI6cmVjb3ZlclwiIG9kZXIgXCJ2aW0gLXIgIgorbXNnc3RyICIgICAgV2VubiBkaWVzIGRlciBGYWxsIGlzdCwgc28gdmVyd2VuZGVuIFNpZSBcIjpyZWNvdmVyXCIgb2RlciBcInZpbSAtciAiCiAKIG1zZ2lkICIiCiAiXCJcbiIKQEAgLTMxOTksMzMgKzM0OTQsMzMgQEAKIG1zZ2lkICJTd2FwIGZpbGUgYWxyZWFkeSBleGlzdHMhIgogbXNnc3RyICJBdXNsYWdlcnVuZ3MtRGF0ZWkgaXN0IGJlcmVpdHMgdm9yaGFuZGVuISIKIAotIywgZnV6enkKLSN+IG1zZ2lkICIiCi0jfiAiJk9wZW4gUmVhZC1Pbmx5XG4iCi0jfiAiJkVkaXQgYW55d2F5XG4iCi0jfiAiJlJlY292ZXJcbiIKLSN+ICImUXVpdFxuIgotI34gIiZBYm9ydCIKLSN+IG1zZ3N0ciAiIgotI34gItZmZm5lbiBudXIgenVtICZMZXNlblxuIgotI34gIlRyb3R6ZGVtICZlZGl0aWVyZW5cbiIKLSN+ICImV2llZGVyaGVyc3RlbGxlblxuIgotI34gIiZBYmJyZWNoZW4iCittc2dpZCAiIgorIiZPcGVuIFJlYWQtT25seVxuIgorIiZFZGl0IGFueXdheVxuIgorIiZSZWNvdmVyXG4iCisiJlF1aXRcbiIKKyImQWJvcnQiCittc2dzdHIgIiIKKyLWZmZuZW4gbnVyIHp1bSAmTGVzZW5cbiIKKyJUcm90emRlbSAmZWRpdGllcmVuXG4iCisiJldpZWRlcmhlcnN0ZWxsZW5cbiIKKyImQmVlbmRlblxuIgorIiZBYmJyZWNoZW4iCiAKLSMsIGZ1enp5Ci0jfiBtc2dpZCAiIgotI34gIiZPcGVuIFJlYWQtT25seVxuIgotI34gIiZFZGl0IGFueXdheVxuIgotI34gIiZSZWNvdmVyXG4iCi0jfiAiJlF1aXRcbiIKLSN+ICImQWJvcnRcbiIKLSN+ICImRGVsZXRlIGl0IgotI34gbXNnc3RyICIiCi0jfiAi1mZmbmVuIG51ciB6dW0gJkxlc2VuXG4iCi0jfiAiVHJvdHpkZW0gJmVkaXRpZXJlblxuIgotI34gIiZXaWVkZXJoZXJzdGVsbGVuXG4iCi0jfiAiJkFiYnJlY2hlblxuIgotI34gIkVudCZmZXJuZW4iCittc2dpZCAiIgorIiZPcGVuIFJlYWQtT25seVxuIgorIiZFZGl0IGFueXdheVxuIgorIiZSZWNvdmVyXG4iCisiJkRlbGV0ZSBpdFxuIgorIiZRdWl0XG4iCisiJkFib3J0IgorbXNnc3RyICIiCisi1mZmbmVuIG51ciB6dW0gJkxlc2VuXG4iCisiVHJvdHpkZW0gJmVkaXRpZXJlblxuIgorIiZXaWVkZXJoZXJzdGVsbGVuXG4iCisiJkz2c2NoZW5cbiIKKyImQmVlbmRlblxuIgorIiZBYmJyZWNoZW4iCiAKIG1zZ2lkICJFMzI2OiBUb28gbWFueSBzd2FwIGZpbGVzIGZvdW5kIgogbXNnc3RyICJFMzI2OiBadSB2aWVsZSBBdXNsYWdlcnVuZ3MtRGF0ZWllbiBnZWZ1bmRlbiIKQEAgLTMyMzYsMTUgKzM1MzEsMTUgQEAKIG1zZ2lkICJFMzI4OiBNZW51IG9ubHkgZXhpc3RzIGluIGFub3RoZXIgbW9kZSIKIG1zZ3N0ciAiRTMyODogTWVu/CBleGlzdGllcnQgbnVyIGluIGFuZGVyZW4gTW9kdXMiCiAKLW1zZ2lkICJFMzI5OiBObyBtZW51IG9mIHRoYXQgbmFtZSIKLW1zZ3N0ciAiRTMyOTogS2VpbiBNZW78IG1pdCBkaWVzZW0gTmFtZW4iCisjLCBjLWZvcm1hdAorbXNnaWQgIkUzMjk6IE5vIG1lbnUgXCIlc1wiIgorbXNnc3RyICJFMzI5OiBLZWluIE1lbvwgXCIlc1wiIgogCiBtc2dpZCAiRTMzMDogTWVudSBwYXRoIG11c3Qgbm90IGxlYWQgdG8gYSBzdWItbWVudSIKIG1zZ3N0ciAiRTMzMDogTWVu/C1QZmFkIGRhcmYgbmljaHQgenVtIFVudGVybWVu/CBm/GhyZW4iCiAKIG1zZ2lkICJFMzMxOiBNdXN0IG5vdCBhZGQgbWVudSBpdGVtcyBkaXJlY3RseSB0byBtZW51IGJhciIKLW1zZ3N0ciAiIgotIkUzMzE6IE1lbvwtUHVua3Qga/ZubmVuIG5pY2h0IGRpcmVrdCB6dW0gTWVu/C1CYWxrZW4gaGluenVnZWb8Z3Qgd2VyZGVuIgorbXNnc3RyICJFMzMxOiBNZW78LVB1bmt0IGv2bm5lbiBuaWNodCBkaXJla3QgenVtIE1lbvwtQmFsa2VuIGhpbnp1Z2Vm/Gd0IHdlcmRlbiIKIAogbXNnaWQgIkUzMzI6IFNlcGFyYXRvciBjYW5ub3QgYmUgcGFydCBvZiBhIG1lbnUgcGF0aCIKIG1zZ3N0ciAiRTMzMjogVHJlbm5lciBrYW5uIG5pY2h0IFRlaWwgZGVzIE1lbvwtUGZhZGVzIHNlaW4iCkBAIC0zMjg2LDI5ICszNTgxLDI4IEBACiBtc2dpZCAibGluZSAlNGxkOiIKIG1zZ3N0ciAiWmVpbGUgJTRsZDoiCiAKLW1zZ2lkICJbc3RyaW5nIHRvbyBsb25nXSIKLW1zZ3N0ciAiW1plaWNoZW5rZXR0ZSB6dSBsYW5nXSIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTM1NDogSW52YWxpZCByZWdpc3RlciBuYW1lOiAnJXMnIgorbXNnc3RyICJFMzU0OiBVbmf8bHRpZ2VyIFJlZ2lzdGVyIE5hbWU6ICclcyciCiAKIG1zZ2lkICJNZXNzYWdlcyBtYWludGFpbmVyOiBCcmFtIE1vb2xlbmFhciA8QnJhbUB2aW0ub3JnPiIKLW1zZ3N0ciAi3GJlcnNldHp0IHZvbiBKb2hhbm5lcyBaZWxsbmVyIDxqb2hhbm5lc0B6ZWxsbmVyLm9yZz4iCittc2dzdHIgItxiZXJzZXR6dCB2b24gSm9oYW5uZXMgWmVsbG5lciA8am9oYW5uZXNAemVsbG5lci5vcmc+IHVuZCBHZW9yZyBEYWhuIDxnb3JneWRAeWFob28uY28udWs+IgogCiBtc2dpZCAiSW50ZXJydXB0OiAiCiBtc2dzdHIgIlVudGVyYnJlY2h1bmc6ICIKIAotbXNnaWQgIkhpdCBFTlRFUiB0byBjb250aW51ZSIKLW1zZ3N0ciAid2VpdGVyIG1pdCBkZXIgRUlOR0FCRVRBU1RFIgotCiBtc2dpZCAiSGl0IEVOVEVSIG9yIHR5cGUgY29tbWFuZCB0byBjb250aW51ZSIKIG1zZ3N0ciAiRHL8Y2tlbiBTaWUgZGllIEVJTkdBQkVUQVNURSBvZGVyIGdlYmVuIFNpZSBlaW5lbiBCZWZlaGwgZWluIgogCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGxpbmUgJWxkIgorbXNnc3RyICIlcyBaZWlsZSAlbGQiCisKIG1zZ2lkICItLSBNb3JlIC0tIgogbXNnc3RyICItLSBNZWhyIC0tIgogCi1tc2dpZCAiIChSRVQvQlM6IGxpbmUsIFNQQUNFL2I6IHBhZ2UsIGQvdTogaGFsZiBwYWdlLCBxOiBxdWl0KSIKLW1zZ3N0ciAiIChSRVQvQlM6IFplaWxlLCBMRUVSWkVJQ0hFTi9iOiBTZWl0ZSwgZC91OiBIYWxiZSBTZWl0ZSwgcTogRW5kZSkiCi0KLW1zZ2lkICIgKFJFVDogbGluZSwgU1BBQ0U6IHBhZ2UsIGQ6IGhhbGYgcGFnZSwgcTogcXVpdCkiCi1tc2dzdHIgIiAoUkVUOiBaZWlsZSwgTEVFUlpFSUNIRU46IFNlaXRlLCBkOiBIYWxiZSBTZWl0ZSwgcTogRW5kZSkiCittc2dpZCAiIFNQQUNFL2Qvajogc2NyZWVuL3BhZ2UvbGluZSBkb3duLCBiL3UvazogdXAsIHE6IHF1aXQgIgorbXNnc3RyICIgTEVFUlpFSUNIRU4vZC9qOiBTZWl0ZS9oYWxiZSBTZWl0ZS9aZWlsZSB2b3J35HJ0cywgYi91L2s6IHL8Y2t35HJ0cywgcTogRW5kZSIKIAogbXNnaWQgIlF1ZXN0aW9uIgogbXNnc3RyICJGcmFnZSIKQEAgLTMzNDEsMTEgKzM2MzUsMjMgQEAKIAogIy4gVE9ETzogbm9uLUdVSSBmaWxlIHNlbGVjdG9yIGhlcmUKIG1zZ2lkICJFMzM4OiBTb3JyeSwgbm8gZmlsZSBicm93c2VyIGluIGNvbnNvbGUgbW9kZSIKLW1zZ3N0ciAiRTMzODoga2VpbiBEYXRlaS1EaWFsb2cgaW0gS29uc29sZS1Nb2R1cyIKK21zZ3N0ciAiRTMzODogS2VpbiBEYXRlaS1EaWFsb2cgaW0gS29uc29sZS1Nb2R1cyIKKworbXNnaWQgIkU3NjY6IEluc3VmZmljaWVudCBhcmd1bWVudHMgZm9yIHByaW50ZigpIgorbXNnc3RyICJFNzY2OiBadSB3ZW5pZ2UgQXJndW1lbnRlIGb8ciBwcmludGYoKSIKKworbXNnaWQgIkU3Njc6IFRvbyBtYW55IGFyZ3VtZW50cyB0byBwcmludGYoKSIKK21zZ3N0ciAiRTc2NzogWnUgdmllbGUgQXJndW1lbnRlIGb8ciBwcmludGYoKSIKIAogbXNnaWQgIlcxMDogV2FybmluZzogQ2hhbmdpbmcgYSByZWFkb25seSBmaWxlIgogbXNnc3RyICJXMTA6IFdhcm51bmc6IMRuZGVybiBlaW5lciBzY2hyZWliZ2VzY2j8dHp0ZW4gRGF0ZWkiCiAKK21zZ2lkICJUeXBlIG51bWJlciBvciBjbGljayB3aXRoIG1vdXNlICg8RW50ZXI+IGNhbmNlbHMpOiAiCittc2dzdHIgIkJpdHRlIE51bW1lciBlaW5nZWJlbiBvZGVyIG1pdCBkZXIgTWF1cyBhdXN35GhsZW4gKGFiYnJlY2hlbiBtaXQgPEVudGVyPikiCisKK21zZ2lkICJDaG9pY2UgbnVtYmVyICg8RW50ZXI+IGNhbmNlbHMpOiAiCittc2dzdHIgIkdld/xuc2NodGUgTnVtbWVyIChhYmJyZWNoZW4gbWl0IDxFbnRlcj4pIgorCiBtc2dpZCAiMSBtb3JlIGxpbmUiCiBtc2dzdHIgImVpbmUgWmVpbGUgbWVociIKIApAQCAtMzM2Myw2ICszNjY5LDkgQEAKIG1zZ2lkICIgKEludGVycnVwdGVkKSIKIG1zZ3N0ciAiIChVbnRlcmJyb2NoZW4pIgogCittc2dpZCAiQmVlcCEiCittc2dzdHIgIkJlZXAhIgorCiBtc2dpZCAiVmltOiBwcmVzZXJ2aW5nIGZpbGVzLi4uXG4iCiBtc2dzdHIgIlZpbTogU2ljaGVybiBkZXIgRGF0ZWllbi4uLlxuIgogCkBAIC0zMzc5LDggKzM2ODgsNyBAQAogIltieXRlc10gdG90YWwgYWxsb2MtZnJlZWQgJWx1LSVsdSwgaW4gdXNlICVsdSwgcGVhayB1c2UgJWx1XG4iCiBtc2dzdHIgIiIKICJcbiIKLSJbQnl0ZXNdIGdlc2FtdCBhbGxvemllcnQtZnJlaSAlbHUtJWx1LCBpbiBWZXJ3ZW5kdW5nICVsdSwgbWF4aW1hbGUgIgotIlZlcndlbmR1bmcgJWx1XG4iCisiW0J5dGVzXSBnZXNhbXQgYWxsb3ppZXJ0LWZyZWkgJWx1LSVsdSwgaW4gVmVyd2VuZHVuZyAlbHUsIG1heGltYWxlIFZlcndlbmR1bmcgJWx1XG4iCiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgpAQCAtMzQwNSwyNSArMzcxMywyMCBAQAogbXNnaWQgIkNhbGxpbmcgc2hlbGwgdG8gZXhlY3V0ZTogXCIlc1wiIgogbXNnc3RyICJSdWZlIFNoZWxsIGF1ZiwgdW0gXCIlc1wiIGF1c3p1ZvxocmVuIgogCi0jLCBmdXp6eQotI34gbXNnaWQgIkU1NDU6IE1pc3NpbmcgY29sb24iCi0jfiBtc2dzdHIgImZlaGxlbmRlcyBLb21tYSIKK21zZ2lkICJFNTQ1OiBNaXNzaW5nIGNvbG9uIgorbXNnc3RyICJFNTQ1OiBGZWhsZW5kZXIgRG9wcGVscHVua3QiCiAKLSMsIGZ1enp5Ci0jfiBtc2dpZCAiRTU0NjogSWxsZWdhbCBtb2RlIgotI34gbXNnc3RyICJVbnp1bORzc2lnZXIgTW9kdXMiCittc2dpZCAiRTU0NjogSWxsZWdhbCBtb2RlIgorbXNnc3RyICJFNTQ2OiBVbnp1bORzc2lnZXIgTW9kdXMiCiAKLSMsIGZ1enp5Ci0jfiBtc2dpZCAiRTU0NzogSWxsZWdhbCBtb3VzZXNoYXBlIgotI34gbXNnc3RyICJVbnp1bORzc2lnZSBNYXVzLUZvcm0iCittc2dpZCAiRTU0NzogSWxsZWdhbCBtb3VzZXNoYXBlIgorbXNnc3RyICJFNTQ3OiBVbnp1bORzc2lnZSBNYXVzemVpZ2VyIgogCi0jLCBmdXp6eQotI34gbXNnaWQgIkU1NDg6IGRpZ2l0IGV4cGVjdGVkIgotI34gbXNnc3RyICJaaWZmZXIgZXJ3YXJ0ZXQiCittc2dpZCAiRTU0ODogZGlnaXQgZXhwZWN0ZWQiCittc2dzdHIgIkU1NDg6IFppZmZlciBlcndhcnRldCIKIAotIywgZnV6enkKLSN+IG1zZ2lkICJFNTQ5OiBJbGxlZ2FsIHBlcmNlbnRhZ2UiCi0jfiBtc2dzdHIgIlVuenVs5HNzaWdlIFByb3plbnRhbmdhYmUiCittc2dpZCAiRTU0OTogSWxsZWdhbCBwZXJjZW50YWdlIgorbXNnc3RyICJFNTQ5OiBVbnp1bORzc2lnZSBQcm96ZW50YW5nYWJlIgogCiBtc2dpZCAiRW50ZXIgZW5jcnlwdGlvbiBrZXk6ICIKIG1zZ3N0ciAiR2ViZW4gU2llIGJpdHRlIGRlbiBTY2hs/HNzZWwgZWluOiAiCkBAIC0zNDM5LDggKzM3NDIsOCBAQAogIkUzNDM6IEludmFsaWQgcGF0aDogJyoqW251bWJlcl0nIG11c3QgYmUgYXQgdGhlIGVuZCBvZiB0aGUgcGF0aCBvciBiZSAiCiAiZm9sbG93ZWQgYnkgJyVzJy4iCiBtc2dzdHIgIiIKLSJFMzQzOiBVbmf8bHRpZ2VyIFBmYWQ6ICcqKltOdW1tZXJdJyBtdXNzIGFtIEVuZGUgZGVzIFBmYWRzIHNlaW4sIG9kZXIgdm9uICclIgotInMnIGdlZm9sZ3Qgd2VyZGVuLiBTaWVoZSA6aGVscCBwYXRoLiIKKyJFMzQzOiBVbmf8bHRpZ2VyIFBmYWQ6ICcqKltOdW1tZXJdJyBtdXNzIGFtIEVuZGUgZGVzIFBmYWRzIHNlaW4sIG9kZXIgdm9uICIKKyInJXMnIGdlZm9sZ3Qgd2VyZGVuLiBTaWVoZSBcIjpoZWxwIHBhdGhcIi4iCiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTM0NDogQ2FuJ3QgZmluZCBkaXJlY3RvcnkgXCIlc1wiIGluIGNkcGF0aCIKQEAgLTM0NTgsMzUgKzM3NjEsMzIgQEAKIG1zZ2lkICJFMzQ3OiBObyBtb3JlIGZpbGUgXCIlc1wiIGZvdW5kIGluIHBhdGgiCiBtc2dzdHIgIkUzNDc6IEtlaW5lIHdlaXRlcmUgRGF0ZWkgXCIlc1wiIGltIFBmYWQgZ2VmdW5kZW4iCiAKLSMsIGZ1enp5Ci0jfiBtc2dpZCAiRTU1MDogTWlzc2luZyBjb2xvbiIKLSN+IG1zZ3N0ciAiZmVobGVuZGVzIEtvbW1hIgotCi0jLCBmdXp6eQotI34gbXNnaWQgIkU1NTE6IElsbGVnYWwgY29tcG9uZW50IgotI34gbXNnc3RyICJVbnp1bORzc2lnZSBLb21wb25lbnRlIgotCi0jLCBmdXp6eQotI34gbXNnaWQgIkU1NTI6IGRpZ2l0IGV4cGVjdGVkIgotI34gbXNnc3RyICJaaWZmZXIgZXJ3YXJ0ZXQiCi0KICMuIEdldCBoZXJlIHdoZW4gdGhlIHNlcnZlciBjYW4ndCBiZSBmb3VuZC4KLSN+IG1zZ2lkICJDYW5ub3QgY29ubmVjdCB0byBOZXRiZWFucyAjMiIKLSN+IG1zZ3N0ciAiIgorbXNnaWQgIkNhbm5vdCBjb25uZWN0IHRvIE5ldGJlYW5zICMyIgorbXNnc3RyICJLZWluZSBWZXJiaW5kdW5nIHp1IE5ldEJlYW5zICMyIgogCi0jfiBtc2dpZCAiQ2Fubm90IGNvbm5lY3QgdG8gTmV0YmVhbnMiCi0jfiBtc2dzdHIgIiIKK21zZ2lkICJDYW5ub3QgY29ubmVjdCB0byBOZXRiZWFucyIKK21zZ3N0ciAiS2VpbmUgVmVyYmluZHVuZyB6dSBOZXRCZWFucyIKIAogIywgYy1mb3JtYXQKLSN+IG1zZ2lkICJFNjY4OiBXcm9uZyBhY2Nlc3MgbW9kZSBmb3IgTmV0QmVhbnMgY29ubmVjdGlvbiBpbmZvIGZpbGU6IFwiJXNcIiIKLSN+IG1zZ3N0ciAiIgorbXNnaWQgIkU2Njg6IFdyb25nIGFjY2VzcyBtb2RlIGZvciBOZXRCZWFucyBjb25uZWN0aW9uIGluZm8gZmlsZTogXCIlc1wiIgorbXNnc3RyICJFNjY4OiBGYWxzY2hlciBadWdyaWZmc21vZHVzIGF1ZiBkaWUgTmV0QmVhbnMgWnVncmlmZi1JbmZvcm1hdGlvbnNkYXRlaTogXCIlc1wiIgogCi0jfiBtc2dpZCAicmVhZCBmcm9tIE5ldGJlYW5zIHNvY2tldCIKLSN+IG1zZ3N0ciAiIgorbXNnaWQgInJlYWQgZnJvbSBOZXRiZWFucyBzb2NrZXQiCittc2dzdHIgImdlbGVzZW4gdm9tIE5ldEJlYW5zIFNvY2tldCIKIAotIywgZnV6enksIGMtZm9ybWF0Ci0jfiBtc2dpZCAiRTY1ODogTmV0QmVhbnMgY29ubmVjdGlvbiBsb3N0IGZvciBidWZmZXIgJWxkIgotI34gbXNnc3RyICJFODY6IEthbm4gbmljaHQgenVtIFB1ZmZlciAlbGQgd2VjaHNlbG4iCisjLCBjLWZvcm1hdAorbXNnaWQgIkU2NTg6IE5ldEJlYW5zIGNvbm5lY3Rpb24gbG9zdCBmb3IgYnVmZmVyICVsZCIKK21zZ3N0ciAiRTY1ODogVmVyYmluZHVuZyB6dSBOZXRCZWFucyBm/HIgUHVmZmVyICVsZCB2ZXJsb3JlbiIKKworbXNnaWQgIkU1MDU6ICIKK21zZ3N0ciAiRTUwNTogIgorCittc2dpZCAiRTc3NDogJ29wZXJhdG9yZnVuYycgaXMgZW1wdHkiCittc2dzdHIgIkU3NzU6ICdvcGVyYXRvcmZ1bmMnIGlzIGVtcHR5IgorCittc2dpZCAiRTc3NTogRXZhbCBmZWF0dXJlIG5vdCBhdmFpbGFibGUiCittc2dzdHIgIkU3NzU6IEV2YWx1aWVydW5nc2Z1bmt0aW9uIG5pY2h0IHZlcmb8Z2JhciIKIAogbXNnaWQgIldhcm5pbmc6IHRlcm1pbmFsIGNhbm5vdCBoaWdobGlnaHQiCiBtc2dzdHIgIkFjaHR1bmc6IFRlcm1pbmFsIHVudGVyc3T8dHp0IGtlaW5lIEhlcnZvcmhlYnVuZyIKQEAgLTM0OTksMjMgKzM3OTksMTkgQEAKIG1zZ3N0ciAiRTM0OTogS2VpbiBNZXJrbWFsIHVudGVyIGRlbSBDdXJzb3IiCiAKIG1zZ2lkICJFMzUyOiBDYW5ub3QgZXJhc2UgZm9sZHMgd2l0aCBjdXJyZW50ICdmb2xkbWV0aG9kJyIKLW1zZ3N0ciAiIgotIkUzNTI6IEZhbHR1bmcga2FubiBtaXQgZGVyIGVpbmdlc3RlbGx0ZW4gTWV0aG9kZSAnZm9sZG1ldGhvZCcgbmljaHQgZ2Vs9nNjaHQgIgotIndlcmRlbiIKK21zZ3N0ciAiRTM1MjogRmFsdHVuZyBrYW5uIG1pdCBkZXIgZWluZ2VzdGVsbHRlbiBGYWx0dW5nc21ldGhvZGUgbmljaHQgZ2Vs9nNjaHQgd2VyZGVuIgogCi0jLCBmdXp6eQotI34gbXNnaWQgIkU2NjQ6IGNoYW5nZWxpc3QgaXMgZW1wdHkiCi0jfiBtc2dzdHIgIkU5MTogRGllIE9wdGlvbiAnc2hlbGwnIGlzdCBsZWVyIgorbXNnaWQgIkU2NjQ6IGNoYW5nZWxpc3QgaXMgZW1wdHkiCittc2dzdHIgIkU2NjQ6IExpc3RlIGRlciDEbmRlcnVuZ2VuIGlzdCBsZWVyIgogCi0jfiBtc2dpZCAiRTY2MjogQXQgc3RhcnQgb2YgY2hhbmdlbGlzdCIKLSN+IG1zZ3N0ciAiIgorbXNnaWQgIkU2NjI6IEF0IHN0YXJ0IG9mIGNoYW5nZWxpc3QiCittc2dzdHIgIkU2NjI6IEFtIEFuZmFuZyBkZXIgTGlzdGUgZGVyIMRuZGVydW5nZW4iCiAKLSN+IG1zZ2lkICJFNjYzOiBBdCBlbmQgb2YgY2hhbmdlbGlzdCIKLSN+IG1zZ3N0ciAiIgorbXNnaWQgIkU2NjM6IEF0IGVuZCBvZiBjaGFuZ2VsaXN0IgorbXNnc3RyICJFNjYzOiBBbSBFbmRlIGRlciBMaXN0ZSBkZXIgxG5kZXJ1bmdlbiIKIAotIywgZnV6enkKLSN+IG1zZ2lkICJUeXBlICA6cXVpdDxFbnRlcj4gIHRvIGV4aXQgVmltIgotI34gbXNnc3RyICJ0aXBwZSAgOnE8RW50ZXI+ICAgICAgICAgICAgICAgIHp1bSBCZWVuZGVuICAgICAgICAgICAgICAgIgorbXNnaWQgIlR5cGUgIDpxdWl0PEVudGVyPiAgdG8gZXhpdCBWaW0iCittc2dzdHIgIkJpdHRlICA6cXVpdDxFbnRlcj4gIGVpbmdlYmVuIHVtIFZpbSB6dSB2ZXJsYXNzZW4iCiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiMSBsaW5lICVzZWQgMSB0aW1lIgpAQCAtMzUyMyw3ICszODE5LDcgQEAKIAogIywgYy1mb3JtYXQKIG1zZ2lkICIxIGxpbmUgJXNlZCAlZCB0aW1lcyIKLW1zZ3N0ciAiMSBaZWlsZSAlcyAlZCBNYWwiCittc2dzdHIgImVpbmUgWmVpbGUgJXMgJWQgTWFsIgogCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVsZCBsaW5lcyAlc2VkIDEgdGltZSIKQEAgLTM1MzgsMTggKzM4MzQsMjEgQEAKIG1zZ3N0ciAiJWxkIFplaWxlbiB6dW0gRWlucvxja2VuLi4uICIKIAogbXNnaWQgIjEgbGluZSBpbmRlbnRlZCAiCi1tc2dzdHIgIjEgWmVpbGUgZWluZ2Vy/GNrdC4uLiAiCittc2dzdHIgImVpbmUgWmVpbGUgZWluZ2Vy/GNrdC4uLiAiCiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWxkIGxpbmVzIGluZGVudGVkICIKIG1zZ3N0ciAiJWxkIFplaWxlbiBlaW5nZXL8Y2t0Li4uICIKIAorbXNnaWQgIkU3NDg6IE5vIHByZXZpb3VzbHkgdXNlZCByZWdpc3RlciIKK21zZ3N0ciAiRTc0ODogS2VpbiBiZXJlaXRzIHZlcndlbmRldGVzIFJlZ2lzdGVyIgorCiAjLiBtdXN0IGRpc3BsYXkgdGhlIHByb21wdAogbXNnaWQgImNhbm5vdCB5YW5rOyBkZWxldGUgYW55d2F5IgogbXNnc3RyICJrYW5uIG5pY2h0IGtvcGllcmVuOyBs9nNjaGUgdHJvdHpkZW0iCiAKIG1zZ2lkICIxIGxpbmUgY2hhbmdlZCIKLW1zZ3N0ciAiMSBaZWlsZSB+IgorbXNnc3RyICJlaW5lIFplaWxlIGdl5G5kZXJ0IgogCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVsZCBsaW5lcyBjaGFuZ2VkIgpAQCAtMzU1OSw4ICszODU4LDE1IEBACiBtc2dpZCAiZnJlZWluZyAlbGQgbGluZXMiCiBtc2dzdHIgImdlYmUgJWxkIFplaWxlbiBmcmVpIgogCittc2dpZCAiYmxvY2sgb2YgMSBsaW5lIHlhbmtlZCIKK21zZ3N0ciAiQmxvY2sgdm9uIGVpbmVyIFplaWxlIGtvcGllcnQiCisKIG1zZ2lkICIxIGxpbmUgeWFua2VkIgotbXNnc3RyICJFaW5lIFplaWxlIGtvcGllcnQiCittc2dzdHIgImVpbmUgWmVpbGUga29waWVydCIKKworIywgYy1mb3JtYXQKK21zZ2lkICJibG9jayBvZiAlbGQgbGluZXMgeWFua2VkIgorbXNnc3RyICJCbG9jayB2b24gJWxkIFplaWxlbiBrb3BpZXJ0IgogCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVsZCBsaW5lcyB5YW5rZWQiCkBAIC0zNTg5LDEyICszODk1LDggQEAKICIjIFJlZ2lzdGVyOlxuIgogCiAjLCBmdXp6eSwgYy1mb3JtYXQKLSN+IG1zZ2lkICJFNTc0OiBVbmtub3duIHJlZ2lzdGVyIHR5cGUgJWQiCi0jfiBtc2dzdHIgIlVuYmVrYW5udGVyIFJlZ2lzdGVyIFR5cCAlZCIKLQotIywgYy1mb3JtYXQKLW1zZ2lkICJFMzU0OiBJbnZhbGlkIHJlZ2lzdGVyIG5hbWU6ICclcyciCi1tc2dzdHIgIkUzNTQ6IFVuenVs5HNzaWdlciBSZWdpc3RlciBOYW1lOiAnJXMnIgorbXNnaWQgIkU1NzQ6IFVua25vd24gcmVnaXN0ZXIgdHlwZSAlZCIKK21zZ3N0ciAiRTU3NDogVW5iZWthbm50ZXIgUmVnaXN0ZXIgVHlwICVkIgogCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVsZCBDb2xzOyAiCkBAIC0zNjAyLDE2MSArMzkwNCwxNDIgQEAKIAogIywgYy1mb3JtYXQKIG1zZ2lkICJTZWxlY3RlZCAlcyVsZCBvZiAlbGQgTGluZXM7ICVsZCBvZiAlbGQgV29yZHM7ICVsZCBvZiAlbGQgQnl0ZXMiCi1tc2dzdHIgIiVzJWxkIHZvbiAlbGQgWmVpbGVuOyAlbGQgdm9uICVsZCBXb3J0ZW47ICVsZCB2b24gJWxkIEJ5dGVzIgorbXNnc3RyICIlcyVsZCB2b24gJWxkIFplaWxlbjsgJWxkIHZvbiAlbGQgV/ZydGVybjsgJWxkIHZvbiAlbGQgQnl0ZXMiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlNlbGVjdGVkICVzJWxkIG9mICVsZCBMaW5lczsgJWxkIG9mICVsZCBXb3JkczsgJWxkIG9mICVsZCBDaGFyczsgJWxkIG9mICVsZCAiCisiQnl0ZXMiCittc2dzdHIgIiIKKyIlcyVsZCB2b24gJWxkIFplaWxlbjsgJWxkIHZvbiAlbGQgV/ZydGVybjsgJWxkIHZvbiAlbGQgWmVpY2hlbjsgJWxkIHZvbiAlbGQgIgorIkJ5dGVzIgogCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbCAlcyBvZiAlczsgTGluZSAlbGQgb2YgJWxkOyBXb3JkICVsZCBvZiAlbGQ7IEJ5dGUgJWxkIG9mICVsZCIKLW1zZ3N0ciAiU3BhbCAlcyB2b24gJXM7IFplaWxlICVsZCB2b24gJWxkOyBXb3J0ICVsZCB2b24gJWxkOyBCeXRlICVsZCB2b24gJWxkIgorbXNnc3RyICJTcCAlcyB2b24gJXM7IFplaWxlICVsZCB2b24gJWxkOyBXb3J0ICVsZCB2b24gJWxkOyBCeXRlICVsZCB2b24gJWxkIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDb2wgJXMgb2YgJXM7IExpbmUgJWxkIG9mICVsZDsgV29yZCAlbGQgb2YgJWxkOyBDaGFyICVsZCBvZiAlbGQ7IEJ5dGUgJWxkIG9mICIKKyIlbGQiCittc2dzdHIgIiIKKyJTcCAlcyB2b24gJXM7IFplaWxlICVsZCB2b24gJWxkOyBXb3J0ICVsZCB2b24gJWxkOyBaZWljaGVuICVsZCB2b24gJWxkOyBCeXRlICVsZCB2b24gIgorIiVsZCIKIAogIywgYy1mb3JtYXQKIG1zZ2lkICIoKyVsZCBmb3IgQk9NKSIKIG1zZ3N0ciAiKCslbGQgZvxyIEJPTSkiCiAKLSN+IG1zZ2lkICIlPCVmJWglbSU9UGFnZSAlTiIKLSN+IG1zZ3N0ciAiIgorbXNnaWQgIiU8JWYlaCVtJT1QYWdlICVOIgorbXNnc3RyICIlPCVmJWglbSU9U2VpdGUgJU4iCiAKIG1zZ2lkICJUaGFua3MgZm9yIGZseWluZyBWaW0iCiBtc2dzdHIgIkRhbmtlIGb8ciBkaWUgQmVudXR6dW5nIHZvbiBWaW0iCiAKLSMsIGZ1enp5Ci0jfiBtc2dpZCAiRTUxODogVW5rbm93biBvcHRpb24iCi0jfiBtc2dzdHIgIlVuYmVrYW5udGUgT3B0aW9uIgorbXNnaWQgIkU1MTg6IFVua25vd24gb3B0aW9uIgorbXNnc3RyICJFNTE4OiBVbmJla2FubnRlIE9wdGlvbiIKIAotIywgZnV6enkKLSN+IG1zZ2lkICJFNTE5OiBPcHRpb24gbm90IHN1cHBvcnRlZCIKLSN+IG1zZ3N0ciAiT3B0aW9uIG5pY2h0IHVudGVyc3T8dHp0IgorbXNnaWQgIkU1MTk6IE9wdGlvbiBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICJFNTE5OiBPcHRpb24gbmljaHQgdW50ZXJzdPx0enQiCiAKLSMsIGZ1enp5Ci0jfiBtc2dpZCAiRTUyMDogTm90IGFsbG93ZWQgaW4gYSBtb2RlbGluZSIKLSN+IG1zZ3N0ciAiTmljaHQgZXJsYXVidCBpbiBlaW5lciAnbW9kZWxpbmUnIgorbXNnaWQgIkU1MjA6IE5vdCBhbGxvd2VkIGluIGEgbW9kZWxpbmUiCittc2dzdHIgIkU1MjA6IE5pY2h0IGVybGF1YnQgaW4gZWluZXIgTW9kZWxpbmUiCiAKLW1zZ2lkICIiCi0iXG4iCi0iXHRMYXN0IHNldCBmcm9tICIKLW1zZ3N0ciAiIgotIlxuIgotIlx0WnVsZXR6dCBnZXNldHp0IHZvbiAiCittc2dpZCAiRTUyMTogTnVtYmVyIHJlcXVpcmVkIGFmdGVyID0iCittc2dzdHIgIkU1MjE6IFphaGwgYmVu9nRpZ3QgbmFjaCA9IgogCi0jLCBmdXp6eQotI34gbXNnaWQgIkU1MjE6IE51bWJlciByZXF1aXJlZCBhZnRlciA9IgotI34gbXNnc3RyICJCcmF1Y2hlIFphaGwgbmFjaCA9IgorbXNnaWQgIkU1MjI6IE5vdCBmb3VuZCBpbiB0ZXJtY2FwIgorbXNnc3RyICJFNTIyOiBOaWNodCBnZWZ1bmRlbiBpbiAndGVybWNhcCciCiAKLSMsIGZ1enp5Ci0jfiBtc2dpZCAiRTUyMjogTm90IGZvdW5kIGluIHRlcm1jYXAiCi0jfiBtc2dzdHIgIk5pY2h0IGdlZnVuZGVuIGluIHRlcm1jYXAiCisjLCBjLWZvcm1hdAorbXNnaWQgIkU1Mzk6IElsbGVnYWwgY2hhcmFjdGVyIDwlcz4iCittc2dzdHIgIkU1Mzk6IFVuenVs5HNzaWdlcyBaZWljaGVuIDwlcz4iCiAKLSMsIGZ1enp5LCBjLWZvcm1hdAotI34gbXNnaWQgIkU1Mzk6IElsbGVnYWwgY2hhcmFjdGVyIDwlcz4iCi0jfiBtc2dzdHIgIlVuenVs5HNzaWdlcyBaZWljaGVuIDwlcz4iCittc2dpZCAiRTUyOTogQ2Fubm90IHNldCAndGVybScgdG8gZW1wdHkgc3RyaW5nIgorbXNnc3RyICJFNTI5OiAndGVybScgZGFyZiBrZWluZSBsZWVyZSBaZWljaGVua2V0dGUgc2VpbiIKIAotIywgZnV6enkKLSN+IG1zZ2lkICJFNTI5OiBDYW5ub3Qgc2V0ICd0ZXJtJyB0byBlbXB0eSBzdHJpbmciCi0jfiBtc2dzdHIgIid0ZXJtJyBrYW5uIGtlaW5lIGxlZXJlIFplaWNoZW5rZXR0ZSBzZWluIgorbXNnaWQgIkU1MzA6IENhbm5vdCBjaGFuZ2UgdGVybSBpbiBHVUkiCittc2dzdHIgIkU1MzA6IEthbm4gVGVybWluYWwgaW4gZGVyIEdVSSBuaWNodCB2ZXLkbmRlcm4iCiAKLSMsIGZ1enp5Ci0jfiBtc2dpZCAiRTUzMDogQ2Fubm90IGNoYW5nZSB0ZXJtIGluIEdVSSIKLSN+IG1zZ3N0ciAiJ3Rlcm0nIGthbm4gaW0gR1VJIG5pY2h0IHZlcuRuZGVydCB3ZXJkZW4iCittc2dpZCAiRTUzMTogVXNlIFwiOmd1aVwiIHRvIHN0YXJ0IHRoZSBHVUkiCittc2dzdHIgIkU1MzE6IFZlcndlbmRlIFwiOmd1aVwiLCB1bSBkaWUgR1VJLVZlcnNpb24genUgc3RhcnRlbiIKIAotIywgZnV6enkKLSN+IG1zZ2lkICJFNTMxOiBVc2UgXCI6Z3VpXCIgdG8gc3RhcnQgdGhlIEdVSSIKLSN+IG1zZ3N0ciAiVmVyd2VuZGUgXCI6Z3VpXCIsIHVtIGRpZSBHVUktVmVyc2lvbiB6dSBzdGFydGVuIgorbXNnaWQgIkU1ODk6ICdiYWNrdXBleHQnIGFuZCAncGF0Y2htb2RlJyBhcmUgZXF1YWwiCittc2dzdHIgIkU1ODk6ICdiYWNrdXBleHQnIHVuZCAncGF0Y2htb2RlJyBzaW5kIGdsZWljaCIKIAotIywgZnV6enkKLSN+IG1zZ2lkICJFNTg5OiAnYmFja3VwZXh0JyBhbmQgJ3BhdGNobW9kZScgYXJlIGVxdWFsIgotI34gbXNnc3RyICInYmFja3VwZXh0JyB1bmQgJ3BhdGNobW9kZScgc2luZCBnbGVpY2giCittc2dpZCAiRTYxNzogQ2Fubm90IGJlIGNoYW5nZWQgaW4gdGhlIEdUSysgMiBHVUkiCittc2dzdHIgIkU2MTc6IEthbm4gaW4gZGVyIEdUSysgMiBHVUkgbmljaHQgdmVy5G5kZXJ0IHdlcmRlbiIKIAotIywgZnV6enkKLSN+IG1zZ2lkICJFNjE3OiBDYW5ub3QgYmUgY2hhbmdlZCBpbiB0aGUgR1RLKyAyIEdVSSIKLSN+IG1zZ3N0ciAiJ3Rlcm0nIGthbm4gaW0gR1VJIG5pY2h0IHZlcuRuZGVydCB3ZXJkZW4iCittc2dpZCAiRTUyNDogTWlzc2luZyBjb2xvbiIKK21zZ3N0ciAiRTUyNDogRmVobGVuZGVyIERvcHBlbHB1bmt0IgogCi0jLCBmdXp6eQotI34gbXNnaWQgIkU1MjQ6IE1pc3NpbmcgY29sb24iCi0jfiBtc2dzdHIgImZlaGxlbmRlcyBLb21tYSIKK21zZ2lkICJFNTI1OiBaZXJvIGxlbmd0aCBzdHJpbmciCittc2dzdHIgIkU1MjU6IFplaWNoZW5rZXR0ZSBkZXIgTORuZ2UgTnVsbCIKIAotIywgZnV6enkKLSN+IG1zZ2lkICJFNTI1OiBaZXJvIGxlbmd0aCBzdHJpbmciCi0jfiBtc2dzdHIgIlplaWNoZW5rZXR0ZSBkZXIgTORuZ2UgTnVsbCIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTUyNjogTWlzc2luZyBudW1iZXIgYWZ0ZXIgPCVzPiIKK21zZ3N0ciAiRTUyNjogRmVobGVuZGUgWmFobCBuYWNoIDwlcz4iCiAKLSMsIGZ1enp5LCBjLWZvcm1hdAotI34gbXNnaWQgIkU1MjY6IE1pc3NpbmcgbnVtYmVyIGFmdGVyIDwlcz4iCi0jfiBtc2dzdHIgImZlaGxlbmRlIFphaGwgbmFjaCA8JXM+IgorbXNnaWQgIkU1Mjc6IE1pc3NpbmcgY29tbWEiCittc2dzdHIgIkU1Mjc6IEZlaGxlbmRlcyBLb21tYSIKIAotIywgZnV6enkKLSN+IG1zZ2lkICJFNTI3OiBNaXNzaW5nIGNvbW1hIgotI34gbXNnc3RyICJLb21tYSBmZWhsdCIKK21zZ2lkICJFNTI4OiBNdXN0IHNwZWNpZnkgYSAnIHZhbHVlIgorbXNnc3RyICJFNTI4OiBFaW4gJyBXZXJ0IG11c3MgYW5nZWdlYmVuIHdlcmRlbiIKIAotIywgZnV6enkKLSN+IG1zZ2lkICJFNTI4OiBNdXN0IHNwZWNpZnkgYSAnIHZhbHVlIgotI34gbXNnc3RyICJlaW4gJy1XZXJ0IG11c3MgYW5nZWdlYmVuIHdlcmRlbiIKK21zZ2lkICJFNTk1OiBjb250YWlucyB1bnByaW50YWJsZSBvciB3aWRlIGNoYXJhY3RlciIKK21zZ3N0ciAiRTU5NTogRW50aORsdCBuaWNodC1kcnVja2JhcmUgb2RlciBNdWx0aS1CeXRlIFplaWNoZW4iCiAKLSMsIGZ1enp5Ci0jfiBtc2dpZCAiRTU5NTogY29udGFpbnMgdW5wcmludGFibGUgb3Igd2lkZSBjaGFyYWN0ZXIiCi0jfiBtc2dzdHIgImVudGjkbHQgbmljaHQtZHJ1Y2tiYXJlIFplaWNoZW4iCittc2dpZCAiRTU5NjogSW52YWxpZCBmb250KHMpIgorbXNnc3RyICJFNTk2OiBVbmf8bHRpZ2UgU2NocmlmdGFydChlbikiCiAKLSMsIGZ1enp5Ci0jfiBtc2dpZCAiRTU5NjogSW52YWxpZCBmb250KHMpIgotI34gbXNnc3RyICJVbmf8bHRpZ2VyIFNjaHJpZnRzYXR6IgorbXNnaWQgIkU1OTc6IGNhbid0IHNlbGVjdCBmb250c2V0IgorbXNnc3RyICJFNTk3OiBLYW5uIFwiRm9udHNldFwiIG5pY2h0IGF1c3fkaGxlbiIKIAotIyB3aGF0J3MgdGhlIGRpZmZlcmVuY2UgPwotIywgZnV6enkKLSN+IG1zZ2lkICJFNTk3OiBjYW4ndCBzZWxlY3QgZm9udHNldCIKLSN+IG1zZ3N0ciAiXCJmb250c2V0XCIga2FubiBuaWNodCBlaW5nZXN0ZWxsdCB3ZXJkZW4iCittc2dpZCAiRTU5ODogSW52YWxpZCBmb250c2V0IgorbXNnc3RyICJFNTk4OiBVbmf8bHRpZ2VzIFwiRm9udHNldFwiIgogCi0jLCBmdXp6eQotI34gbXNnaWQgIkU1OTg6IEludmFsaWQgZm9udHNldCIKLSN+IG1zZ3N0ciAiVW5n/Gx0aWdlciBGb250c2V0IgorbXNnaWQgIkU1MzM6IGNhbid0IHNlbGVjdCB3aWRlIGZvbnQiCittc2dzdHIgIkU1MzM6IEthbm4gQnJlaXRzY2hyaWZ0IG5pY2h0IGF1c3fkaGxlbiIKIAotIywgZnV6enkKLSN+IG1zZ2lkICJFNTMzOiBjYW4ndCBzZWxlY3Qgd2lkZSBmb250IgotI34gbXNnc3RyICJXZWl0ZXIgU2NocmlmdGFydCBrYW5uIG5pY2h0IGVuZ2VzdGVsbHQgd2VyZGVuIgorbXNnaWQgIkU1MzQ6IEludmFsaWQgd2lkZSBmb250IgorbXNnc3RyICJFNTM0OiBVbmf8bHRpZ2UgQnJlaXRzY2hyaWZ0IgogCi0jLCBmdXp6eQotI34gbXNnaWQgIkU1MzQ6IEludmFsaWQgd2lkZSBmb250IgotI34gbXNnc3RyICJVbmf8bHRpZ2VyIHdlaXRlciBTY2hyaWZ0c2F0eiIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTUzNTogSWxsZWdhbCBjaGFyYWN0ZXIgYWZ0ZXIgPCVjPiIKK21zZ3N0ciAiRTUzNTogVW5n/Gx0aWdlcyBaZWljaGVuIG5hY2ggPCVjPiIKIAotIywgZnV6enksIGMtZm9ybWF0Ci0jfiBtc2dpZCAiRTUzNTogSWxsZWdhbCBjaGFyYWN0ZXIgYWZ0ZXIgPCVjPiIKLSN+IG1zZ3N0ciAiVW56dWzkc3NpZ2VzIFplaWNoZW4gbmFjaCA8JWM+IgorbXNnaWQgIkU1MzY6IGNvbW1hIHJlcXVpcmVkIgorbXNnc3RyICJFNTM2OiBLb21tYSBiZW72dGlndCIKIAotIywgZnV6enkKLSN+IG1zZ2lkICJFNTM2OiBjb21tYSByZXF1aXJlZCIKLSN+IG1zZ3N0ciAiS29tbWEgYmVu9nRpZ3QiCisjLCBjLWZvcm1hdAorbXNnaWQgIkU1Mzc6ICdjb21tZW50c3RyaW5nJyBtdXN0IGJlIGVtcHR5IG9yIGNvbnRhaW4gJXMiCittc2dzdHIgIkU1Mzc6ICdjb21tZW50c3RyaW5nJyBtdXNzIGxlZXIgc2VpbiBvZGVyICVzIGVudGhhbHRlbiIKIAotIywgZnV6enksIGMtZm9ybWF0Ci0jfiBtc2dpZCAiRTUzNzogJ2NvbW1lbnRzdHJpbmcnIG11c3QgYmUgZW1wdHkgb3IgY29udGFpbiAlcyIKLSN+IG1zZ3N0ciAiJ2NvbW1lbnRzdHJpbmcnIG113yBsZWVyIHNlaW4sIG9kZXIgJXMgZW50aGFsdGVuIgorbXNnaWQgIkU1Mzg6IE5vIG1vdXNlIHN1cHBvcnQiCittc2dzdHIgIkU1Mzg6IEtlaW5lIE1hdXMtVW50ZXJzdPx0enVuZyIKIAotIywgZnV6enkKLSN+IG1zZ2lkICJFNTM4OiBObyBtb3VzZSBzdXBwb3J0IgotI34gbXNnc3RyICJLZWluZSBNYXVzLVVudGVyc3T8dHp1bmciCittc2dpZCAiRTU0MDogVW5jbG9zZWQgZXhwcmVzc2lvbiBzZXF1ZW5jZSIKK21zZ3N0ciAiRTU0MDogTmljaHQtZ2VzY2hsb3NzZW5lIEF1c2RydWNrc2ZvbGdlIgogCi0jIFhYWAotIywgZnV6enkKLSN+IG1zZ2lkICJFNTQwOiBVbmNsb3NlZCBleHByZXNzaW9uIHNlcXVlbmNlIgotI34gbXNnc3RyICJOaWNodCBnZXNjaGxvc3NlbmUgQXVzZHJ1Y2tzIEZvbGdlIgorbXNnaWQgIkU1NDE6IHRvbyBtYW55IGl0ZW1zIgorbXNnc3RyICJFNTQxOiBadSB2aWVsZSBFbGVtZW50ZSIKIAotIywgZnV6enkKLSN+IG1zZ2lkICJFNTQxOiB0b28gbWFueSBpdGVtcyIKLSN+IG1zZ3N0ciAienUgdmllbGUgUHVua3RlIgorbXNnaWQgIkU1NDI6IHVuYmFsYW5jZWQgZ3JvdXBzIgorbXNnc3RyICJFNTQyOiBVbmF1c2dld29nZW5lIEdydXBwZW4iCiAKLSMsIGZ1enp5Ci0jfiBtc2dpZCAiRTU0MjogdW5iYWxhbmNlZCBncm91cHMiCi0jfiBtc2dzdHIgIm5pY2h0IGF1c2dld29nZW5lIEdydXBwZW4iCittc2dpZCAiRTU5MDogQSBwcmV2aWV3IHdpbmRvdyBhbHJlYWR5IGV4aXN0cyIKK21zZ3N0ciAiRTU5MDogRWluIFZvcmFuc2ljaHRzZmVuc3RlciBleGlzdGllcnQgYmVyZWl0cyIKIAotIywgZnV6enkKLSN+IG1zZ2lkICJFNTkwOiBBIHByZXZpZXcgd2luZG93IGFscmVhZHkgZXhpc3RzIgotI34gbXNnc3RyICJFaW4gRmVuc3RlciB6dXIgVm9yYW5zaWNodCBleGlzdGllcnQgYmVyZWl0cyIKK21zZ2lkICJXMTc6IEFyYWJpYyByZXF1aXJlcyBVVEYtOCwgZG8gJzpzZXQgZW5jb2Rpbmc9dXRmLTgnIgorbXNnc3RyICJXMTc6IEFyYWJpc2NoIGJlbvZ0aWd0IFVURi04LCBiaXR0ZSAnOnNldCBlbmNvZGluZz11dGYtOCcgYXVzZvxocmVuIgogCi0jfiBtc2dpZCAiVzE3OiBBcmFiaWMgcmVxdWlyZXMgVVRGLTgsIGRvICc6c2V0IGVuY29kaW5nPXV0Zi04JyIKLSN+IG1zZ3N0ciAiIgorIywgYy1mb3JtYXQKK21zZ2lkICJFNTkzOiBOZWVkIGF0IGxlYXN0ICVkIGxpbmVzIgorbXNnc3RyICJFNTkzOiBNaW5kZXN0ZW5zICVkIFplaWxlbiB3ZXJkZW4gYmVu9nRpZ3QiCiAKLSMsIGZ1enp5LCBjLWZvcm1hdAotI34gbXNnaWQgIkU1OTM6IE5lZWQgYXQgbGVhc3QgJWQgbGluZXMiCi0jfiBtc2dzdHIgIm1pbmRlc3RlbnMgJWQgWmVpbGVuIHdlcmRlbiBiZW72dGlndCIKLQotIywgZnV6enksIGMtZm9ybWF0Ci0jfiBtc2dpZCAiRTU5NDogTmVlZCBhdCBsZWFzdCAlZCBjb2x1bW5zIgotI34gbXNnc3RyICJtaW5kZXN0ZW5zICVkIFNwYWx0ZW4gd2VyZGVuIGJlbvZ0aWd0IgorIywgYy1mb3JtYXQKK21zZ2lkICJFNTk0OiBOZWVkIGF0IGxlYXN0ICVkIGNvbHVtbnMiCittc2dzdHIgIkU1OTQ6IE1pbmRlc3RlbnMgJWQgU3BhbHRlbiB3ZXJkZW4gYmVu9nRpZ3QiCiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTM1NTogVW5rbm93biBvcHRpb246ICVzIgpAQCAtMzgyNSwxNCArNDEwOCwxNCBAQAogbXNnc3RyICJWaW0gc3RlaWd0IGF1cyBtaXQgJWRcbiIKIAogbXNnaWQgImNhbm5vdCBjaGFuZ2UgY29uc29sZSBtb2RlID8hXG4iCi1tc2dzdHIgImthbm4gS29uc29sZW4gTW9kdXMgbmljaHQgd2VjaHNlbG4gPyFcbiIKK21zZ3N0ciAia2FubiBLb25zb2xlbm1vZHVzIG5pY2h0IHdlY2hzZWxuID8hXG4iCiAKIG1zZ2lkICJtY2hfZ2V0X3NoZWxsc2l6ZTogbm90IGEgY29uc29sZT8/XG4iCi1tc2dzdHIgIm1jaF9nZXRfd2luc2l6ZTogaXN0IGtlaW5lIEtvbnNvbGU/P1xuIgorbXNnc3RyICJtY2hfZ2V0X3dpbnNpemU6IGtlaW5lIEtvbnNvbGU/P1xuIgogCiAjLiBpZiBWaW0gb3BlbmVkIGEgd2luZG93OiBFeGVjdXRpbmcgYSBzaGVsbCBtYXkgY2F1c2UgY3Jhc2hlcwogbXNnaWQgIkUzNjA6IENhbm5vdCBleGVjdXRlIHNoZWxsIHdpdGggLWYgb3B0aW9uIgotbXNnc3RyICJFMzYwOiBLYW5uIFNoZWxsIG5pY2h0IG1pdCBkZXIgLWYgT3B0aW9uIGF1cyBm/GhyZW4iCittc2dzdHIgIkUzNjA6IEthbm4gU2hlbGwgbmljaHQgbWl0IGRlciAtZiBPcHRpb24gYXVzZvxocmVuIgogCiBtc2dpZCAiQ2Fubm90IGV4ZWN1dGUgIgogbXNnc3RyICJLYW5uIG5pY2h0IGF1c2b8aHJlbiAiCkBAIC0zODUyLDYgKzQxMzUsOSBAQAogbXNnaWQgIi4uLih0cnVuY2F0ZWQpIgogbXNnc3RyICIuLi4oYWJnZXNjaG5pdHRlbikiCiAKK21zZ2lkICJNZXNzYWdlIgorbXNnc3RyICJOYWNocmljaHQiCisKIG1zZ2lkICInY29sdW1ucycgaXMgbm90IDgwLCBjYW5ub3QgZXhlY3V0ZSBleHRlcm5hbCBjb21tYW5kcyIKIG1zZ3N0ciAiJ2NvbHVtbnMnIGJldHLkZ3QgbmljaHQgODAsIGthbm4gZXh0ZXJuZSBCZWZlaGxlIG5pY2h0IGF1c2b8aHJlbiIKIApAQCAtMzg2MiwxNyArNDE0OCwxNCBAQAogbXNnaWQgInRvICVzIG9uICVzIgogbXNnc3RyICJuYWNoICVzIGF1ZiAlcyIKIAotIywgZnV6enksIGMtZm9ybWF0Ci0jfiBtc2dpZCAiRTYxMzogVW5rbm93biBwcmludGVyIGZvbnQ6ICVzIgotI34gbXNnc3RyICJFMTEzOiBVbmJla2FubnRlIE9wdGlvbjogJXMiCisjLCBjLWZvcm1hdAorbXNnaWQgIkU2MTM6IFVua25vd24gcHJpbnRlciBmb250OiAlcyIKK21zZ3N0ciAiRTYxMzogVW5iZWthbm50ZSBEcnVja2Vyc2NocmlmdGFydDogJXMiCiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTIzODogUHJpbnQgZXJyb3I6ICVzIgogbXNnc3RyICJFMjM4OiBGZWhsZXIgYmVpbSBEcnVja2VuOiAlcyIKIAotbXNnaWQgIlVua25vd24iCi1tc2dzdHIgIlVuYmVrYW5udCIKLQogIywgYy1mb3JtYXQKIG1zZ2lkICJQcmludGluZyAnJXMnIgogbXNnc3RyICJEcnVja2UgJyVzJyIKQEAgLTM5NTcsMzkgKzQyNDAsMzggQEAKICJcbiIKICJCZWZlaGwgYmVlbmRldFxuIgogCi0jLCBmdXp6eQotI34gbXNnaWQgIlhTTVAgbG9zdCBJQ0UgY29ubmVjdGlvbiIKLSN+IG1zZ3N0ciAiVmVyYmluZHVuZ2VuIGFuemVpZ2VuIgorbXNnaWQgIlhTTVAgbG9zdCBJQ0UgY29ubmVjdGlvbiIKK21zZ3N0ciAiWFNNUCB2ZXJsb3IgSUNFIFZlcmJpbmR1bmciCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGxlcnJvciA9IFwiJXNcIiIKK21zZ3N0ciAiZGxlcnJvciA9IFwiJXNcIiIKIAogbXNnaWQgIk9wZW5pbmcgdGhlIFggZGlzcGxheSBmYWlsZWQiCiBtc2dzdHIgItZmZm5lbiBkZXMgWC1EaXNwbGF5cyBzY2hsdWcgZmVobCIKIAotI34gbXNnaWQgIlhTTVAgaGFuZGxpbmcgc2F2ZS15b3Vyc2VsZiByZXF1ZXN0IgotI34gbXNnc3RyICIiCittc2dpZCAiWFNNUCBoYW5kbGluZyBzYXZlLXlvdXJzZWxmIHJlcXVlc3QiCittc2dzdHIgIiIKIAotIywgZnV6enkKLSN+IG1zZ2lkICJYU01QIG9wZW5pbmcgY29ubmVjdGlvbiIKLSN+IG1zZ3N0ciAia2VpbmUgVmVyYmluZHVuZ2VuIHp1IGNzY29wZSIKK21zZ2lkICJYU01QIG9wZW5pbmcgY29ubmVjdGlvbiIKK21zZ3N0ciAiWFNNUCD2ZmZuZXQgVmVyYmluZHVuZyIKIAotI34gbXNnaWQgIlhTTVAgSUNFIGNvbm5lY3Rpb24gd2F0Y2ggZmFpbGVkIgotI34gbXNnc3RyICIiCittc2dpZCAiWFNNUCBJQ0UgY29ubmVjdGlvbiB3YXRjaCBmYWlsZWQiCittc2dzdHIgIlhTTVAgSUNFIFZlcmJpbmR1bmdz/GJlcndhY2h1bmcgZmVobGdlc2NobGFnZW4iCiAKICMsIGMtZm9ybWF0Ci0jfiBtc2dpZCAiWFNNUCBTbWNPcGVuQ29ubmVjdGlvbiBmYWlsZWQ6ICVzIgotI34gbXNnc3RyICIiCittc2dpZCAiWFNNUCBTbWNPcGVuQ29ubmVjdGlvbiBmYWlsZWQ6ICVzIgorbXNnc3RyICJYU01QIFNtY09wZW5Db25uZWN0aW9uIGZlaGxnZXNjaGxhZ2VuOiAlcyIKIAogbXNnaWQgIkF0IGxpbmUiCiBtc2dzdHIgIkluIFplaWxlIgogCi0jfiBtc2dpZCAiQ291bGQgbm90IGFsbG9jYXRlIG1lbW9yeSBmb3IgY29tbWFuZCBsaW5lLiIKLSN+IG1zZ3N0ciAiIgorbXNnaWQgIkNvdWxkIG5vdCBsb2FkIHZpbTMyLmRsbCEiCittc2dzdHIgIktvbm50ZSB2aW0zMi5kbGwgbmljaHQgbGFkZW4hIgogCiBtc2dpZCAiVklNIEVycm9yIgogbXNnc3RyICJWSU0gRmVobGVyIgogCi1tc2dpZCAiQ291bGQgbm90IGxvYWQgdmltMzIuZGxsISIKLW1zZ3N0ciAiS29ubnRlIHZpbTMyLmRsbCBuaWNodCBsYWRlbiEiCi0KIG1zZ2lkICJDb3VsZCBub3QgZml4IHVwIGZ1bmN0aW9uIHBvaW50ZXJzIHRvIHRoZSBETEwhIgogbXNnc3RyICJLb25udGUgRnVua3Rpb25zLVplaWdlciBpbiBkZXIgRExMIG5pY2h0IGtvcnJpZ2llcmVuISIKIApAQCAtNDAwNSw3ICs0Mjg3LDcgQEAKIG1zZ3N0ciAic2NobGll32UiCiAKIG1zZ2lkICJsb2dvZmYiCi1tc2dzdHIgImF1cy1sb2dnZW4iCittc2dzdHIgImF1c2xvZ2dlbiIKIAogbXNnaWQgInNodXRkb3duIgogbXNnc3RyICJiZWVuZGVuIgpAQCAtNDAzNCw3ICs0MzE2LDcgQEAKIG1zZ3N0ciAiRTM3MzogVW5lcndhcnRldGVzICUlJWMgaW0gRm9ybWF0IgogCiBtc2dpZCAiRTM3NDogTWlzc2luZyBdIGluIGZvcm1hdCBzdHJpbmciCi1tc2dzdHIgIkUzNzQ6IGZlaGxlbmRlcyBdIGltIEZvcm1hdCIKK21zZ3N0ciAiRTM3NDogRmVobGVuZGUgXSBpbSBGb3JtYXQiCiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTM3NTogVW5zdXBwb3J0ZWQgJSUlYyBpbiBmb3JtYXQgc3RyaW5nIgpAQCAtNDA1NCw5ICs0MzM2LDggQEAKIG1zZ2lkICJFMzc5OiBNaXNzaW5nIG9yIGVtcHR5IGRpcmVjdG9yeSBuYW1lIgogbXNnc3RyICJFMzc5OiBGZWhsZW5kZXIgb2RlciBsZWVyZXIgVmVyemVpY2huaXNuYW1lIgogCi0jLCBmdXp6eQotI34gbXNnaWQgIkU1NTM6IE5vIG1vcmUgaXRlbXMiCi0jfiBtc2dzdHIgIktlaW5lIHdlaXRlcmVuIFB1bmt0ZSIKK21zZ2lkICJFNTUzOiBObyBtb3JlIGl0ZW1zIgorbXNnc3RyICJFNTUzOiBLZWluZSB3ZWl0ZXJlbiBFaW50cuRnZSIKIAogIywgYy1mb3JtYXQKIG1zZ2lkICIoJWQgb2YgJWQpJXMlczogIgpAQCAtNDA3OCw1NSArNDM1OSw1NSBAQAogbXNnaWQgIkUzODI6IENhbm5vdCB3cml0ZSwgJ2J1ZnR5cGUnIG9wdGlvbiBpcyBzZXQiCiBtc2dzdHIgIkUzODI6IEthbm4gbmljaHQgc2NocmVpYmVuLCAnYnVmdHlwZSctT3B0aW9uIGlzdCBnZXNldHp0IgogCi0jLCBmdXp6eSwgYy1mb3JtYXQKLSN+IG1zZ2lkICJFMzY5OiBpbnZhbGlkIGl0ZW0gaW4gJXMlJVtdIgotI34gbXNnc3RyICJFMjM5OiBVbmf8bHRpZ2VyIFRleHQgZvxyIGVpbiBaZWljaGVuOiAlcyIKK21zZ2lkICJFNjgzOiBGaWxlIG5hbWUgbWlzc2luZyBvciBpbnZhbGlkIHBhdHRlcm4iCittc2dzdHIgIkU2ODM6IERhdGVpbmFtZSBmZWhsdCBvZGVyIHVuZ/xsdGlnZXMgTXVzdGVyIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBvcGVuIGZpbGUgXCIlc1wiIgorbXNnc3RyICJLYW5uIERhdGVpIFwiJXNcIiBuaWNodCD2ZmZuZW4iCisKK21zZ2lkICJFNjgxOiBCdWZmZXIgaXMgbm90IGxvYWRlZCIKK21zZ3N0ciAiRTY4MTogQnVmZmVyIGlzdCBuaWNodCBnZWxhZGVuIgorCittc2dpZCAiRTc3NzogU3RyaW5nIG9yIExpc3QgZXhwZWN0ZWQiCittc2dzdHIgIkU3Nzc6IFplaWNoZW5rZXR0ZSBvZGVyIExpc3RlIGVyd2FydGV0IgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkUzNjk6IGludmFsaWQgaXRlbSBpbiAlcyUlW10iCittc2dzdHIgIkUzNjk6IFVuZ/xsdGlnZXMgRWxlbWVudCBpbiAlcyUlW10iCiAKIG1zZ2lkICJFMzM5OiBQYXR0ZXJuIHRvbyBsb25nIgogbXNnc3RyICJFMzM5OiBNdXN0ZXIgenUgbGFuZyIKIAotIywgZnV6enkKLSN+IG1zZ2lkICJFNTA6IFRvbyBtYW55IFxceigiCi0jfiBtc2dzdHIgIkU3NjogenUgdmllbGUgWyIKLQotIywgZnV6enksIGMtZm9ybWF0Ci0jfiBtc2dpZCAiRTUxOiBUb28gbWFueSAlcygiCi0jfiBtc2dzdHIgIkU3NjogenUgdmllbGUgWyIKLQotI34gbXNnaWQgIkU1MjogVW5tYXRjaGVkIFxceigiCi0jfiBtc2dzdHIgIiIKK21zZ2lkICJFNTA6IFRvbyBtYW55IFxceigiCittc2dzdHIgIkU1MDogWnUgdmllbGUgXFx6KCIKIAogIywgYy1mb3JtYXQKLSN+IG1zZ2lkICJFNTM6IFVubWF0Y2hlZCAlcyUlKCIKLSN+IG1zZ3N0ciAiIgorbXNnaWQgIkU1MTogVG9vIG1hbnkgJXMoIgorbXNnc3RyICJFNTE6IFp1IHZpZWxlICVzKCIKIAotIywgZnV6enksIGMtZm9ybWF0Ci0jfiBtc2dpZCAiRTU0OiBVbm1hdGNoZWQgJXMoIgotI34gbXNnc3RyICJLZWluIFRyZWZmZXIgZvxyOiAlcyIKLQotIywgZnV6enksIGMtZm9ybWF0Ci0jfiBtc2dpZCAiRTU1OiBVbm1hdGNoZWQgJXMpIgotI34gbXNnc3RyICJLZWluIFRyZWZmZXIgZvxyOiAlcyIKK21zZ2lkICJFNTI6IFVubWF0Y2hlZCBcXHooIgorbXNnc3RyICJFNTI6IFxceiggb2huZSDcYmVyZWluc3RpbW11bmciCiAKICMsIGMtZm9ybWF0Ci0jfiBtc2dpZCAiRTU2OiAlcyogb3BlcmFuZCBjb3VsZCBiZSBlbXB0eSIKLSN+IG1zZ3N0ciAiIgorbXNnaWQgIkU1MzogVW5tYXRjaGVkICVzJSUoIgorbXNnc3RyICJFNTM6ICVzJSUoIG9obmUg3GJlcmVpbnN0aW1tdW5nIgogCiAjLCBjLWZvcm1hdAotI34gbXNnaWQgIkU1NzogJXMrIG9wZXJhbmQgY291bGQgYmUgZW1wdHkiCi0jfiBtc2dzdHIgIiIKLQotIywgZnV6enksIGMtZm9ybWF0Ci0jfiBtc2dpZCAiRTU5OiBpbnZhbGlkIGNoYXJhY3RlciBhZnRlciAlc0AiCi0jfiBtc2dzdHIgIkUyMTU6IFVuenVs5HNzaWdlcyBaZWljaGVuIG5hY2ggKjogJXMiCittc2dpZCAiRTU0OiBVbm1hdGNoZWQgJXMoIgorbXNnc3RyICJFNTQ6ICVzKCBvaG5lINxiZXJlaW5zdGltbXVuZyIKIAogIywgYy1mb3JtYXQKLSN+IG1zZ2lkICJFNTg6ICVzeyBvcGVyYW5kIGNvdWxkIGJlIGVtcHR5IgotI34gbXNnc3RyICIiCittc2dpZCAiRTU1OiBVbm1hdGNoZWQgJXMpIgorbXNnc3RyICJFNTU6ICVzKSBvaG5lINxiZXJlaW5zdGltbXVuZyIKIAogIywgYy1mb3JtYXQKLSN+IG1zZ2lkICJFNjA6IFRvbyBtYW55IGNvbXBsZXggJXN7Li4ufXMiCi0jfiBtc2dzdHIgIiIKK21zZ2lkICJFNTk6IGludmFsaWQgY2hhcmFjdGVyIGFmdGVyICVzQCIKK21zZ3N0ciAiRTU5OiBVbmf8bHRpZ2VzIFplaWNoZW4gbmFjaCAlc0AiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTYwOiBUb28gbWFueSBjb21wbGV4ICVzey4uLn1zIgorbXNnc3RyICJFNjA6IFp1IHZpZWxlIGtvbXBsZXhlICVzey4uLn1zIgogCiAjLCBjLWZvcm1hdAogbXNnaWQgIkU2MTogTmVzdGVkICVzKiIKQEAgLTQxMzYsNTggKzQ0MTcsNTEgQEAKIG1zZ2lkICJFNjI6IE5lc3RlZCAlcyVjIgogbXNnc3RyICJFNjI6IFZlcnNjaGFjaHRlbHRlcyAlcyVjIgogCi0jLCBmdXp6eQotI34gbXNnaWQgIkU2MzogaW52YWxpZCB1c2Ugb2YgXFxfIgotI34gbXNnc3RyICJFMTc2OiBGYWxzY2hlIEFuemFobCB2b24gQXJndW1lbnRlbiIKK21zZ2lkICJFNjM6IGludmFsaWQgdXNlIG9mIFxcXyIKK21zZ3N0ciAiRTYzOiBVbmf8bHRpZ2UgVmVyd2VuZHVuZyB2b24gXFxfIgogCiAjLCBjLWZvcm1hdAogbXNnaWQgIkU2NDogJXMlYyBmb2xsb3dzIG5vdGhpbmciCiBtc2dzdHIgIkU2NDogJXMlYyBuYWNoIE5pY2h0cyIKIAotIywgZnV6enkKLSN+IG1zZ2lkICJFNjU6IElsbGVnYWwgYmFjayByZWZlcmVuY2UiCi0jfiBtc2dzdHIgIkUxMjU6IFVuenVs5HNzaWdlcyBBcmd1bWVudDogJXMiCittc2dpZCAiRTY1OiBJbGxlZ2FsIGJhY2sgcmVmZXJlbmNlIgorbXNnc3RyICJFNjU6IFVuZ/xsdGlnZSBS/GNrcmVmZXJlbnoiCiAKLSMsIGZ1enp5Ci0jfiBtc2dpZCAiRTY2OiBcXHooIG5vdCBhbGxvd2VkIGhlcmUiCi0jfiBtc2dzdHIgIkU0MDc6ICVzIGlzdCBoaWVyIG5pY2h0IGVybGF1YnQiCittc2dpZCAiRTY2OiBcXHooIG5vdCBhbGxvd2VkIGhlcmUiCittc2dzdHIgIkU2NjogXFx6KCBpc3QgaGllciBuaWNodCBlcmxhdWJ0IgogCi0jLCBmdXp6eQotI34gbXNnaWQgIkU2NzogXFx6MSBldCBhbC4gbm90IGFsbG93ZWQgaGVyZSIKLSN+IG1zZ3N0ciAiRTQwNzogJXMgaXN0IGhpZXIgbmljaHQgZXJsYXVidCIKK21zZ2lkICJFNjc6IFxcejEgZXQgYWwuIG5vdCBhbGxvd2VkIGhlcmUiCittc2dzdHIgIkU2NzogXFx6MSB1c3cuIGlzdCBoaWVyIG5pY2h0IGVybGF1YnQiCiAKLSMsIGZ1enp5Ci0jfiBtc2dpZCAiRTY4OiBJbnZhbGlkIGNoYXJhY3RlciBhZnRlciBcXHoiCi0jfiBtc2dzdHIgIkUyMTU6IFVuenVs5HNzaWdlcyBaZWljaGVuIG5hY2ggKjogJXMiCi0KLSMsIGZ1enp5LCBjLWZvcm1hdAotI34gbXNnaWQgIkU2OTogTWlzc2luZyBdIGFmdGVyICVzJSVbIgotI34gbXNnc3RyICJFMTA5OiBmZWhsZW5kZXIgJzonIG5hY2ggJz8nIgorbXNnaWQgIkU2ODogSW52YWxpZCBjaGFyYWN0ZXIgYWZ0ZXIgXFx6IgorbXNnc3RyICJFNjg6IFVuZ/xsdGlnZXMgWmVpY2hlbiBuYWNoIFxceiIKIAogIywgYy1mb3JtYXQKLSN+IG1zZ2lkICJFNzA6IEVtcHR5ICVzJSVbXSIKLSN+IG1zZ3N0ciAiIgorbXNnaWQgIkU2OTogTWlzc2luZyBdIGFmdGVyICVzJSVbIgorbXNnc3RyICJFNjk6IEZlaGxlbmRlIF0gbmFjaCAlcyUlWyIKIAotIywgZnV6enksIGMtZm9ybWF0Ci0jfiBtc2dpZCAiRTcxOiBJbnZhbGlkIGNoYXJhY3RlciBhZnRlciAlcyUlIgotI34gbXNnc3RyICJFMjE1OiBVbnp1bORzc2lnZXMgWmVpY2hlbiBuYWNoICo6ICVzIgorIywgYy1mb3JtYXQKK21zZ2lkICJFNzA6IEVtcHR5ICVzJSVbXSIKK21zZ3N0ciAiRTcwOiAlcyUlW10gaXN0IGxlZXIiCiAKLSMsIGZ1enp5LCBjLWZvcm1hdAotI34gbXNnaWQgIkU1NTQ6IFN5bnRheCBlcnJvciBpbiAlc3suLi59IgotI34gbXNnc3RyICJTeW50YXggRmVobGVyIGluICVzey4uLn0iCisjLCBjLWZvcm1hdAorbXNnaWQgIkU2Nzg6IEludmFsaWQgY2hhcmFjdGVyIGFmdGVyICVzJSVbZHhvdVVdIgorbXNnc3RyICJFNjc4OiBVbmf8bHRpZ2VzIFplaWNoZW4gbmFjaCAlcyUlW2R4b3VVXSIKIAotbXNnaWQgIkUzNjE6IENyYXNoIGludGVyY2VwdGVkOyByZWdleHAgdG9vIGNvbXBsZXg/IgotbXNnc3RyICJFMzYxOiBBYnN0dXJ6IHZlcmhpbmRlcnQ7IElzdCBkZXIgcmVndWzkcmUgQXVzZHJ1Y2sgenUga29tcGxpemllcnQ/IgorIywgYy1mb3JtYXQKK21zZ2lkICJFNzE6IEludmFsaWQgY2hhcmFjdGVyIGFmdGVyICVzJSUiCittc2dzdHIgIkU3MTogVW5n/Gx0aWdlcyBaZWljaGVuIG5hY2ggJXMlJSIKIAotbXNnaWQgIkUzNjM6IHBhdHRlcm4gY2F1c2VkIG91dC1vZi1zdGFjayBlcnJvciIKLW1zZ3N0ciAiRTM2MzogTXVzdGVyIGVyemV1Z3RlIGVpbmVuIFN0YXBlbC3cYmVybGF1Zi1GZWhsZXIiCisjLCBjLWZvcm1hdAorbXNnaWQgIkU3Njk6IE1pc3NpbmcgXSBhZnRlciAlc1siCittc2dzdHIgIkU3Njk6IEZlaGxlbmRlIF0gbmFjaCAlc1siCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTU1NDogU3ludGF4IGVycm9yIGluICVzey4uLn0iCittc2dzdHIgIkU1NTQ6IFN5bnRheGZlaGxlciBpbiAlc3suLi59IgogCiBtc2dpZCAiRXh0ZXJuYWwgc3VibWF0Y2hlczpcbiIKLW1zZ3N0ciAiZXh0ZXJuZSAnc3VibWF0Y2hlcyc6XG4iCi0KLSMsIGMtZm9ybWF0Ci1tc2dpZCAiKy0tJTNsZCBsaW5lcyBmb2xkZWQgIgotbXNnc3RyICIrLS0lM2xkIFplaWxlbiBnZWZhbHRldCAiCittc2dzdHIgIkV4dGVybmUgJ3N1Ym1hdGNoZXMnOlxuIgogCiBtc2dpZCAiIFZSRVBMQUNFIgogbXNnc3RyICIgVi1FUlNFVFpFTiIKQEAgLTQyMTMsNDggKzQ0ODcsMzYgQEAKIG1zZ2lkICIgSGVicmV3IgogbXNnc3RyICIgSGVicuRpc2NoIgogCi0jfiBtc2dpZCAiIEFyYWJpYyIKLSN+IG1zZ3N0ciAiIgorbXNnaWQgIiBBcmFiaWMiCittc2dzdHIgIiBBcmFiaXNjaCIKIAogbXNnaWQgIiAobGFuZykiCiBtc2dzdHIgIiAoU3ByYWNoZSkiCiAKLSMgZWlua2xlYmVuIGlzdCBlY2h0IFNjaGVp32UsIGFiZXIgZWluZvxnZW4KLSMgZ2lidHMgc2Nob24gLi4uCiBtc2dpZCAiIChwYXN0ZSkiCi1tc2dzdHIgIiAoZWlua2xlYmVuKSIKK21zZ3N0ciAiIChwYXN0ZSkiCiAKIG1zZ2lkICIgVklTVUFMIgogbXNnc3RyICIgVklTVUVMTCIKIAotIywgZnV6enkKLSN+IG1zZ2lkICIgVklTVUFMIExJTkUiCi0jfiBtc2dzdHIgIiBWSVNVRUxMIgorbXNnaWQgIiBWSVNVQUwgTElORSIKK21zZ3N0ciAiIFZJU1VFTEwgWkVJTEUiCiAKLSMsIGZ1enp5Ci0jfiBtc2dpZCAiIFZJU1VBTCBCTE9DSyIKLSN+IG1zZ3N0ciAiIFZJU1VFTEwiCittc2dpZCAiIFZJU1VBTCBCTE9DSyIKK21zZ3N0ciAiIFZJU1VFTEwgQkxPQ0siCiAKIG1zZ2lkICIgU0VMRUNUIgogbXNnc3RyICIgQVVTV0FITCIKIAotIywgZnV6enkKLSN+IG1zZ2lkICIgU0VMRUNUIExJTkUiCi0jfiBtc2dzdHIgIiBBVVNXQUhMIgorbXNnaWQgIiBTRUxFQ1QgTElORSIKK21zZ3N0ciAiIEFVU1dBSEwgWkVJTEUiCiAKLSMsIGZ1enp5Ci0jfiBtc2dpZCAiIFNFTEVDVCBCTE9DSyIKLSN+IG1zZ3N0ciAiIEFVU1dBSEwiCittc2dpZCAiIFNFTEVDVCBCTE9DSyIKK21zZ3N0ciAiIEFVU1dBSEwgQkxPQ0siCiAKIG1zZ2lkICJyZWNvcmRpbmciCiBtc2dzdHIgImF1ZnplaWNobmVuIgogCi1tc2dpZCAic2VhcmNoIGhpdCBUT1AsIGNvbnRpbnVpbmcgYXQgQk9UVE9NIgotbXNnc3RyICJTdWNoZSBlcnJlaWNodGUgZGVuIEFORkFORyB1bmQgd3VyZGUgYW0gRU5ERSBmb3J0Z2VzZXR6dCIKLQotbXNnaWQgInNlYXJjaCBoaXQgQk9UVE9NLCBjb250aW51aW5nIGF0IFRPUCIKLW1zZ3N0ciAiU3VjaGUgZXJyZWljaHRlIGRhcyBFTkRFIHVuZCB3dXJkZSBhbSBBTkZBTkcgZm9ydGdlc2V0enQiCi0KICMsIGMtZm9ybWF0CiBtc2dpZCAiRTM4MzogSW52YWxpZCBzZWFyY2ggc3RyaW5nOiAlcyIKIG1zZ3N0ciAiRTM4MzogVW56dWzkc3NpZ2VzIFN1Y2htdXN0ZXI6ICVzIgpAQCAtNDI5Myw2ICs0NTU1LDEwIEBACiBtc2dpZCAiU2Nhbm5pbmcgaW5jbHVkZWQgZmlsZTogJXMiCiBtc2dzdHIgIlNjYW5uZSBlaW5nZWb8Z3RlIERhdGVpOiAlcyIKIAorIywgYy1mb3JtYXQKK21zZ2lkICJTZWFyY2hpbmcgaW5jbHVkZWQgZmlsZSAlcyIKK21zZ3N0ciAiU3VjaGUgZWluZ2Vm/Gd0ZSBEYXRlaSAlcyIKKwogbXNnaWQgIkUzODc6IE1hdGNoIGlzIG9uIGN1cnJlbnQgbGluZSIKIG1zZ3N0ciAiRTM4NzogVHJlZmZlciBpc3QgYXVmIGRlciBtb21lbnRhbmVuIFplaWxlIgogCkBAIC00MzA4LDE2ICs0NTc0LDM2MyBAQAogbXNnaWQgIkUzODk6IENvdWxkbid0IGZpbmQgcGF0dGVybiIKIG1zZ3N0ciAiRTM4OTogTXVzdGVyIGtvbm50ZSBuaWNodCBnZWZ1bmRlbiB3ZXJkZW4iCiAKK21zZ2lkICJFNzU5OiBGb3JtYXQgZXJyb3IgaW4gc3BlbGwgZmlsZSIKK21zZ3N0ciAiRTc1OTogRm9ybWF0LUZlaGxlciBpbSBSZWNodHNjaHJlaWJ39nJ0ZXJidWNoIgorCittc2dpZCAiRTc1ODogVHJ1bmNhdGVkIHNwZWxsIGZpbGUiCittc2dzdHIgIkU3NTggQWJnZXNjaG5pdHRlbmVzIFJlY2h0c2NocmVpYnf2cnRlcmJ1Y2giCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHJhaWxpbmcgdGV4dCBpbiAlcyBsaW5lICVkOiAlcyIKK21zZ3N0ciAiQW5nZWjkbmd0ZXIgVGV4dCBpbiAlcyBaZWlsZSAlZDogJXMiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiQWZmaXggbmFtZSB0b28gbG9uZyBpbiAlcyBsaW5lICVkOiAlcyIKK21zZ3N0ciAiQWZmaXggTmFtZSB6dSBsYW5nIGluICVzIFplaWxlICVkOiAlcyIKKworbXNnaWQgIkU3NjE6IEZvcm1hdCBlcnJvciBpbiBhZmZpeCBmaWxlIEZPTCwgTE9XIG9yIFVQUCIKK21zZ3N0ciAiRTc2MTogRm9ybWF0LUZlaGxlciBpbiBBZmZpeC1EYXRlaSBGT0wsIExPVyBvZGVyIFVQUCIKKworbXNnaWQgIkU3NjI6IENoYXJhY3RlciBpbiBGT0wsIExPVyBvciBVUFAgaXMgb3V0IG9mIHJhbmdlIgorbXNnc3RyICJFNzYyOiBaZWljaGVuIGluIEZPTCwgTE9XIG9kZXIgVVBQIGF132VyaGFsYiBkZXMgenVs5HNzaWdlbiBCZXJlaWNocyIKKworbXNnaWQgIkNvbXByZXNzaW5nIHdvcmQgdHJlZS4uLiIKK21zZ3N0ciAiS29tcHJpbWllcmUgV/ZydGVyLUJhdW0uLi4iCisKK21zZ2lkICJFNzU2OiBTcGVsbCBjaGVja2luZyBpcyBub3QgZW5hYmxlZCIKK21zZ3N0ciAiRTc1NjogUmVjaHRzY2hyZWlicHL8ZnVuZyBpc3QgbmljaHQgYWt0aXZpZXJ0IgorCisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IENhbm5vdCBmaW5kIHdvcmQgbGlzdCBcIiVzLiVzLnNwbFwiIG9yIFwiJXMuYXNjaWkuc3BsXCIiCittc2dzdHIgIkFjaHR1bmc6IEthbm4gV/ZydGVyLUxpc3RlIFwiJXMuJXMuc3BsXCIgb2RlciBcIiVzLmFzY2lpLnNwbFwiIG5pY2h0IGZpbmRlbiIKKworIywgYy1mb3JtYXQKK21zZ2lkICJSZWFkaW5nIHNwZWxsIGZpbGUgXCIlc1wiIgorbXNnc3RyICJMZXNlIFJlY2h0c2NocmVpYnf2cnRlcmJ1Y2ggXCIlc1wiIGVpbiIKKworbXNnaWQgIkU3NTc6IFRoaXMgZG9lcyBub3QgbG9vayBsaWtlIGEgc3BlbGwgZmlsZSIKK21zZ3N0ciAiRTc1NzogRGFzIHNpZWh0IG5pY2h0IG5hY2ggZWluZW0gV/ZydGVyYnVjaCBm/HIgZGllIFJlY2h0c2NocmVpYnBy/GZ1bmcgYXVzIgorCittc2dpZCAiRTc3MTogT2xkIHNwZWxsIGZpbGUsIG5lZWRzIHRvIGJlIHVwZGF0ZWQiCittc2dzdHIgIkU3NzE6IEFsdGVzIFf2cnRlcmJ1Y2ggZvxyIGRpZSBSZWNodHNjaHJlaWJwcvxmdW5nLCBiZW72dGlndCBBa3R1YWxpc2llcnVuZyIKKworbXNnaWQgIkU3NzI6IFNwZWxsIGZpbGUgaXMgZm9yIG5ld2VyIHZlcnNpb24gb2YgVmltIgorbXNnc3RyICJFNzcyOiBX9nJ0ZXJidWNoIGb8ciBkaWUgUmVjaHRzY2hyZWlicHL8ZnVuZyBpc3QgZvxyIGVpbmUgbmV1ZXJlIFZlcnNpb24gdm9uIFZpbSIKKworbXNnaWQgIkU3NzA6IFVuc3VwcG9ydGVkIHNlY3Rpb24gaW4gc3BlbGwgZmlsZSIKK21zZ3N0ciAiRTc3MDogTmljaHQgdW50ZXJzdPx0enRlciBBYnNjaG5pdCBpbSBX9nJ0ZXJidWNoIGb8ciBkaWUgUmVjaHRzY2hyZWlicHL8ZnVuZyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiByZWdpb24gJXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiQWNodHVuZzogUmVnaW9uICVzIG5pY2h0IHVudGVyc3T8dHp0IgorCisjLCBjLWZvcm1hdAorbXNnaWQgIlJlYWRpbmcgYWZmaXggZmlsZSAlcyAuLi4iCittc2dzdHIgIkxlc2UgQWZmaXgtRGF0ZWkgJXMgLi4uIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvbnZlcnNpb24gZmFpbHVyZSBmb3Igd29yZCBpbiAlcyBsaW5lICVkOiAlcyIKK21zZ3N0ciAiS29udmVyc2lvbnNmZWhsZXIgYmVpbSBXb3J0IGluICVzIFplaWxlICVkOiAlcyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJDb252ZXJzaW9uIGluICVzIG5vdCBzdXBwb3J0ZWQ6IGZyb20gJXMgdG8gJXMiCittc2dzdHIgIktvbnZlcnNpb24gaW4gJXMgbmljaHQgdW50ZXJzdPx0enQ6IHZvbiAlcyBuYWNoICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvbnZlcnNpb24gaW4gJXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiS29udmVyc2lvbiBpbiAlcyBuaWNodCB1bnRlcnN0/HR6dCIKKworIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHZhbHVlIGZvciBGTEFHIGluICVzIGxpbmUgJWQ6ICVzIgorbXNnc3RyICJVbmf8bHRpZ2VyIFdlcnQgdm9uIEZMQUcgaW4gJXMgWmVpbGUgJWQ6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkZMQUcgYWZ0ZXIgdXNpbmcgZmxhZ3MgaW4gJXMgbGluZSAlZDogJXMiCittc2dzdHIgIkZMQUcgbmFjaCBkZW0gR2VicmF1Y2ggdm9uIEZsYWdzIGluICVzIFplaWxlICVkOiAlcyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJXcm9uZyBDT01QT1VORFdPUkRNQVggdmFsdWUgaW4gJXMgbGluZSAlZDogJXMiCittc2dzdHIgIkZhbHNjaGVyIENPTVBPVU5EV09SRE1BWCBXZXJ0IGluICVzIFplaWxlICVkOiAlcyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJXcm9uZyBDT01QT1VORE1JTiB2YWx1ZSBpbiAlcyBsaW5lICVkOiAlcyIKK21zZ3N0ciAiRmFsc2NoZXIgQ09NUE9VTkRNSU4gV2VydCBpbiAlcyBaZWlsZSAlZDogJXMiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiV3JvbmcgQ09NUE9VTkRTWUxNQVggdmFsdWUgaW4gJXMgbGluZSAlZDogJXMiCittc2dzdHIgIkZhbHNjaGVyIENPTVBPVU5EU1lMTUFYIFdlcnQgaW4gJXMgWmVpbGUgJWQ6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIldyb25nIENIRUNLQ09NUE9VTkRQQVRURVJOIHZhbHVlIGluICVzIGxpbmUgJWQ6ICVzIgorbXNnc3RyICJGYWxzY2hlciBDSEVDS0NPTVBPVU5EUEFUVEVSTiBXZXJ0IGluICVzIFplaWxlICVkOiAlcyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJEaWZmZXJlbnQgY29tYmluaW5nIGZsYWcgaW4gY29udGludWVkIGFmZml4IGJsb2NrIGluICVzIGxpbmUgJWQ6ICVzIgorbXNnc3RyICJVbnRlcnNjaGllZGxpY2hlcyB2ZXJrbvxwZmVuZGVzIEZsYWcgaW0gZm9ydGdlc2V0enRlbiBBZmZpeCBCbG9jayBpbiAlcyBaZWlsZSAlZDogJXMiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRHVwbGljYXRlIGFmZml4IGluICVzIGxpbmUgJWQ6ICVzIgorbXNnc3RyICJEb3BwZWx0ZXMgQWZmaXggaW4gJXMgWmVpbGUgJWQ6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJBZmZpeCBhbHNvIHVzZWQgZm9yIEJBRC9SQVJFL0tFRVBDQVNFL05FRURBRkZJWC9ORUVEQ09NUE9VTkQvTk9TVUdHRVNUIGluICVzICIKKyJsaW5lICVkOiAlcyIKK21zZ3N0ciAiIgorIkFmZml4IHdpcmQgYXVjaCBm/HIgQkFEL1JBUkUvS0VFUENBU0UvTkVFREFGRklYL05FRURDT01QT1VORC9OT1NVR0dFU1QgdmVyd2VuZGV0IGluICVzICIKKyJaZWlsZSAlZDogJXMiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXhwZWN0ZWQgWSBvciBOIGluICVzIGxpbmUgJWQ6ICVzIgorbXNnc3RyICJZIG9kZXIgTiBlcndhcnRldCBpbiAlcyBaZWlsZSAlZDogJXMiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiQnJva2VuIGNvbmRpdGlvbiBpbiAlcyBsaW5lICVkOiAlcyIKK21zZ3N0ciAiQmVkaW5ndW5nIHZlcmxldHp0IGluICVzIFplaWxlICVkOiAlcyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJBZmZpeCBmbGFncyBpZ25vcmVkIHdoZW4gUEZYUE9TVFBPTkUgdXNlZCBpbiAlcyBsaW5lICVkOiAlcyIKK21zZ3N0ciAiQWZmaXggRmxhZ3MgaWdub3JpZXJ0LCB3ZW5uIFBGWFBPU1RQT05FIHZlcndlbmRldCB3aXJkIGluICVzIFplaWxlICVkOiAlcyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFeHBlY3RlZCBSRVAoU0FMKSBjb3VudCBpbiAlcyBsaW5lICVkIgorbXNnc3RyICJFcndhcnRldGVzIFJFUChTQUwpIGdleuRobHQgaW4gJXMgWmVpbGUgJWQiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXhwZWN0ZWQgTUFQIGNvdW50IGluICVzIGxpbmUgJWQiCittc2dzdHIgIkVyd2FydGV0ZXMgTUFQIGdleuRobHQgaW4gJXMgWmVpbGUgJWQiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRHVwbGljYXRlIGNoYXJhY3RlciBpbiBNQVAgaW4gJXMgbGluZSAlZCIKK21zZ3N0ciAiRG9wcGVsdGVzIFplaWNoZW4gaW4gTUFQIGluICVzIFplaWxlICVkIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIlVucmVjb2duaXplZCBvciBkdXBsaWNhdGUgaXRlbSBpbiAlcyBsaW5lICVkOiAlcyIKK21zZ3N0ciAiTmljaHQgZXJrYW5udGVzIG9kZXIgZG9wcGVsdGVzIEVsZW1lbnQgaW4gJXMgWmVpbGUgJWQ6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIk1pc3NpbmcgRk9ML0xPVy9VUFAgbGluZSBpbiAlcyIKK21zZ3N0ciAiRmVobGVuZGUgRk9ML0xPVy9VUFAgWmVpbGUgaW4gJXMiCisKK21zZ2lkICJDT01QT1VORFNZTE1BWCB1c2VkIHdpdGhvdXQgU1lMTEFCTEUiCittc2dzdHIgIkNPTVBPVU5EU1lMTUFYIG9obmUgU1lMTEFCTEUgdmVyd2VuZGV0IgorCittc2dpZCAiVG9vIG1hbnkgcG9zdHBvbmVkIHByZWZpeGVzIgorbXNnc3RyICJadSB2aWVsZSB6dXL8Y2sgZ2VzdGVsbHRlIFBy5GZpeGUiCisKK21zZ2lkICJUb28gbWFueSBjb21wb3VuZCBmbGFncyIKK21zZ3N0ciAiWnUgdmllbGUgenVzYW1tZW5nZXNldHp0ZSBGbGFncyIKKworbXNnaWQgIlRvbyBtYW55IHBvc3BvbmVkIHByZWZpeGVzIGFuZC9vciBjb21wb3VuZCBmbGFncyIKK21zZ3N0ciAiWnUgdmllbGUgenVy/GNrIGdlc3RlbGx0ZSBQcuRmaXhlIHVuZC9vZGVyIHp1c2FtbWVuZ2VzZXR6dGUgRmxhZ3MiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWlzc2luZyBTT0ZPJXMgbGluZSBpbiAlcyIKK21zZ3N0ciAiRmVobGVuZGUgU09GTyVzIFplaWxlIGluICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkJvdGggU0FMIGFuZCBTT0ZPIGxpbmVzIGluICVzIgorbXNnc3RyICJTb3dvaGwgU0FMIGFscyBhdWNoIFNPRk8gWmVpbGVuIGluICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkZsYWcgaXMgbm90IGEgbnVtYmVyIGluICVzIGxpbmUgJWQ6ICVzIgorbXNnc3RyICJGbGFnIGlzdCBrZWluZSBaYWhsIGluICVzIFplaWxlICVkOiAlcyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJJbGxlZ2FsIGZsYWcgaW4gJXMgbGluZSAlZDogJXMiCittc2dzdHIgIlVuZXJsYXVidGVzIEZsYWcgaW4gJXMgWmVpbGUgJWQ6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHZhbHVlIGRpZmZlcnMgZnJvbSB3aGF0IGlzIHVzZWQgaW4gYW5vdGhlciAuYWZmIGZpbGUiCittc2dzdHIgIiVzIFdlcnQgdW50ZXJzY2hlaWRldCBzaWNoIHZvbiBkZW0sIHdhcyBpbiBlaW5lciBhbmRlcmVuIC5hZmYgRGF0ZWkgdmVyd2VuZGV0IHdpcmQiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZGluZyBkaWN0aW9uYXJ5IGZpbGUgJXMgLi4uIgorbXNnc3RyICJMZXNlIFf2cnRlcmJ1Y2gtRGF0ZWkgJXMgLi4uIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkU3NjA6IE5vIHdvcmQgY291bnQgaW4gJXMiCittc2dzdHIgIkU3NjA6IEtlaW5lIFf2cnRlciBnZXrkaGx0IGluICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgImxpbmUgJTZkLCB3b3JkICU2ZCAtICVzIgorbXNnc3RyICJaZWlsZSAlNmQsIFdvcnQgJTZkIC0gJXMiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRHVwbGljYXRlIHdvcmQgaW4gJXMgbGluZSAlZDogJXMiCittc2dzdHIgIkRvcHBlbHRlcyBXb3J0IGluICVzIFplaWxlICVkOiAlcyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJGaXJzdCBkdXBsaWNhdGUgd29yZCBpbiAlcyBsaW5lICVkOiAlcyIKK21zZ3N0ciAiRXJzdGVzIGRvcHBlbHRlcyBXb3J0IGluICVzIFplaWxlICVkOiAlcyIKKworIywgYy1mb3JtYXQKK21zZ2lkICIlZCBkdXBsaWNhdGUgd29yZChzKSBpbiAlcyIKK21zZ3N0ciAiJWQgZG9wcGVsdGUocykgV29ydChlKSBpbiAlcyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJJZ25vcmVkICVkIHdvcmQocykgd2l0aCBub24tQVNDSUkgY2hhcmFjdGVycyBpbiAlcyIKK21zZ3N0ciAiJWQgV29ydChlKSBtaXQgbmljaHQtQVNDSUkgWmVpY2hlbiBpZ25vcmllcnQgaW4gJXMiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZGluZyB3b3JkIGZpbGUgJXMgLi4uIgorbXNnc3RyICJMZXNlIFdvcnQtRGF0ZWkgJXMgLi4uIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkR1cGxpY2F0ZSAvZW5jb2Rpbmc9IGxpbmUgaWdub3JlZCBpbiAlcyBsaW5lICVkOiAlcyIKK21zZ3N0ciAiRG9wcGVsdGUgL2VuY29kaW5nPSBaZWlsZSBpZ25vcmllcnQgaW4gJXMgWmVpbGUgJWQ6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIi9lbmNvZGluZz0gbGluZSBhZnRlciB3b3JkIGlnbm9yZWQgaW4gJXMgbGluZSAlZDogJXMiCittc2dzdHIgIi9lbmNvZGluZz0gWmVpbGUgbmFjaCBXb3J0IGlnbm9yaWVydCBpbiAlcyBaZWlsZSAlZDogJXMiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRHVwbGljYXRlIC9yZWdpb25zPSBsaW5lIGlnbm9yZWQgaW4gJXMgbGluZSAlZDogJXMiCittc2dzdHIgIkRvcHBlbHRlIC9yZWdpb25zPSBaZWlsZSBpZ25vcmllcnQgaW4gJXMgWmVpbGUgJWQ6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIlRvbyBtYW55IHJlZ2lvbnMgaW4gJXMgbGluZSAlZDogJXMiCittc2dzdHIgIlp1IHZpZWxlIFJlZ2lvbmVuIGluICVzIFplaWxlICVkOiAlcyIKKworIywgYy1mb3JtYXQKK21zZ2lkICIvIGxpbmUgaWdub3JlZCBpbiAlcyBsaW5lICVkOiAlcyIKK21zZ3N0ciAiLyBaZWlsZSBpZ25vcmllcnQgaW4gJXMgWmVpbGUgJWQ6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgcmVnaW9uIG5yIGluICVzIGxpbmUgJWQ6ICVzIgorbXNnc3RyICJVbmf8bHRpZ2UgUmVnaW9uc251bW1lciBpbiAlcyBaZWlsZSAlZDogJXMiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5yZWNvZ25pemVkIGZsYWdzIGluICVzIGxpbmUgJWQ6ICVzIgorbXNnc3RyICJOaWNodCBlcmthbm50ZXMgRmxhZyBpbiAlcyBaZWlsZSAlZDogJXMiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWdub3JlZCAlZCB3b3JkcyB3aXRoIG5vbi1BU0NJSSBjaGFyYWN0ZXJzIgorbXNnc3RyICIlZCBX9nJ0ZXIgbWl0IG5pY2h0LUFTQ0lJIFplaWNoZW4gaWdub3JpZXJ0IgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvbXByZXNzZWQgJWQgb2YgJWQgbm9kZXM7ICVkICglZCUlKSByZW1haW5pbmciCittc2dzdHIgIiVkIHZvbiAlZCBLbm90ZW4ga29tcHJpbWllcnQ7ICVkICglZCUlKSD8YnJpZyIKKworbXNnaWQgIlJlYWRpbmcgYmFjayBzcGVsbCBmaWxlLi4uIgorbXNnc3RyICJMZXNlIFJlY2h0c2NocmVpYnf2cnRlcmJ1Y2ggenVy/GNrLi4uIgorCisjLgorIy4gKiBHbyB0aHJvdWdoIHRoZSB0cmllIG9mIGdvb2Qgd29yZHMsIHNvdW5kZm9sZCBlYWNoIHdvcmQgYW5kIGFkZCBpdCB0bworIy4gKiB0aGUgc291bmRmb2xkIHRyaWUuCisjLgorbXNnaWQgIlBlcmZvcm1pbmcgc291bmRmb2xkaW5nLi4uIgorbXNnc3RyICJG/GhyZSAnU291bmRmb2xkaW5nJyBkdXJjaC4uLiIKKworIywgYy1mb3JtYXQKK21zZ2lkICJOdW1iZXIgb2Ygd29yZHMgYWZ0ZXIgc291bmRmb2xkaW5nOiAlbGQiCittc2dzdHIgIkFuemFobCBkZXIgV/ZydGVyIG5hY2ggJ1NvdW5kZm9sZGluZyc6ICVsZCIKKworIywgYy1mb3JtYXQKK21zZ2lkICJUb3RhbCBudW1iZXIgb2Ygd29yZHM6ICVkIgorbXNnc3RyICJHZXNhbXRlIEFuemFobCB2b24gV/ZydGVybjogJWQiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiV3JpdGluZyBzdWdnZXN0aW9uIGZpbGUgJXMgLi4uIgorbXNnc3RyICJTY2hyZWliZSBEYXRlaSAlcyBm/HIgVm9yc2NobORnZSAuLi4iCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXN0aW1hdGVkIHJ1bnRpbWUgbWVtb3J5IHVzZTogJWQgYnl0ZXMiCittc2dzdHIgIkdlc2No5HR6dGVyIFNwZWljaGVyIHp1ciBMYXVmemVpdDogJWQgQnl0ZXMiCisKK21zZ2lkICJFNzUxOiBPdXRwdXQgZmlsZSBuYW1lIG11c3Qgbm90IGhhdmUgcmVnaW9uIG5hbWUiCittc2dzdHIgIkU3NTE6IEF1c2dhYmVkYXRlaSBkYXJmIGtlaW5lbiBSZWdpb25zbmFtZW4gaGFiZW4iCisKK21zZ2lkICJFNzU0OiBPbmx5IHVwIHRvIDggcmVnaW9ucyBzdXBwb3J0ZWQiCittc2dzdHIgIkU3NTQ6IE1heGltYWwgOCBSZWdpb25lbiB1bnRlcnN0/HR6dCIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFNzU1OiBJbnZhbGlkIHJlZ2lvbiBpbiAlcyIKK21zZ3N0ciAiRTc1NTogVW5n/Gx0aWdlIFJlZ2lvbiBpbiAlcyIKKworbXNnaWQgIldhcm5pbmc6IGJvdGggY29tcG91bmRpbmcgYW5kIE5PQlJFQUsgc3BlY2lmaWVkIgorbXNnc3RyICJBY2h0dW5nOiBTb3dvaGwgenVzYW1tZW5nZXNldHp0ZSBX9nJ0ZXIgYWxzIGF1Y2ggTk9CUkVBSyBhbmdlZ2ViZW4iCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiV3JpdGluZyBzcGVsbCBmaWxlICVzIC4uLiIKK21zZ3N0ciAiU2NocmVpYmUgUmVjaHRzY2hyZWlid/ZydGVyYnVjaCAlcyAuLi4iCisKK21zZ2lkICJEb25lISIKK21zZ3N0ciAiRmVydGlnISIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFNzY1OiAnc3BlbGxmaWxlJyBkb2VzIG5vdCBoYXZlICVsZCBlbnRyaWVzIgorbXNnc3RyICJFNzY1OiAnc3BlbGxmaWxlJyBoYXQgbmljaHQgJWxkIEVpbnRy5GdlIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIldvcmQgcmVtb3ZlZCBmcm9tICVzIgorbXNnc3RyICJXb3J0IGVudGZlcm50IHZvbiAlcyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJXb3JkIGFkZGVkIHRvICVzIgorbXNnc3RyICJXb3J0IHp1ICVzIGhpbnp1Z2Vm/Gd0IgorCittc2dpZCAiRTc2MzogV29yZCBjaGFyYWN0ZXJzIGRpZmZlciBiZXR3ZWVuIHNwZWxsIGZpbGVzIgorbXNnc3RyICJFNzYzOiAnV29yZCBDaGFyYWN0ZXJzJyB1bnRlcnNjaGVpZGVuIHNpY2ggendpc2NoZW4gUmVjaHRzY2hyZWlid/ZydGVyYvxjaGVybiIKKworbXNnaWQgIlNvcnJ5LCBubyBzdWdnZXN0aW9ucyIKK21zZ3N0ciAiTGVpZGVyIGtlaW5lIFZvcnNjaGzkZ2UiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiU29ycnksIG9ubHkgJWxkIHN1Z2dlc3Rpb25zIgorbXNnc3RyICJMZWlkZXIgbnVyICVsZCBWb3JzY2hs5GdlIgorCisjLiBhdm9pZCBtb3JlIHByb21wdAorIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2UgXCIlLipzXCIgdG86IgorbXNnc3RyICLEbmRlcmUgXCIlLipzXCIgbmFjaDoiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiIDwgXCIlLipzXCIiCittc2dzdHIgIiA8IFwiJS4qc1wiIgorCittc2dpZCAiRTc1MjogTm8gcHJldmlvdXMgc3BlbGwgcmVwbGFjZW1lbnQiCittc2dzdHIgIkU3NTI6IEtlaW5lIHZvcmhlcmdlaGVuZGUgRXJzZXR6dW5nIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkU3NTM6IE5vdCBmb3VuZDogJXMiCittc2dzdHIgIkU3NTM6IE5pY2h0IGdlZnVuZGVuOiAlcyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFNzc4OiBUaGlzIGRvZXMgbm90IGxvb2sgbGlrZSBhIC5zdWcgZmlsZTogJXMiCittc2dzdHIgIkU3Nzg6IERhcyBzaWVodCBuaWNodCBuYWNoIGVpbmVyIC5zdWcgRGF0ZWkgYXVzOiAlcyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFNzc5OiBPbGQgLnN1ZyBmaWxlLCBuZWVkcyB0byBiZSB1cGRhdGVkOiAlcyIKK21zZ3N0ciAiRTc3OTogVmVyYWx0ZXRlIC5zdWcgRGF0ZWk7IEFrdHVhbGlzaWVydW5nIGVyZm9yZGVybGljaDogJXMiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTc4MDogLnN1ZyBmaWxlIGlzIGZvciBuZXdlciB2ZXJzaW9uIG9mIFZpbTogJXMiCittc2dzdHIgIkU3ODA6IC5zdWcgRGF0ZWkgaXN0IGb8ciBlaW5lIG5ldWVyZSBWZXJzaW9uIHZvbiBWaW06ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkU3ODE6IC5zdWcgZmlsZSBkb2Vzbid0IG1hdGNoIC5zcGwgZmlsZTogJXMiCittc2dzdHIgIkU3ODE6IC5zdWcgRGF0ZWkgcGFzc3QgbmljaHQgenVyIC5zcGwgRGF0ZWk6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkU3ODI6IGVycm9yIHdoaWxlIHJlYWRpbmcgLnN1ZyBmaWxlOiAlcyIKK21zZ3N0ciAiRTc4MjogRmVobGVyIGJlaW0gTGVzZW4gZGVyIC5zdWcgRGF0ZWk6ICVzIgorCisjLiBUaGlzIHNob3VsZCBoYXZlIGJlZW4gY2hlY2tlZCB3aGVuIGdlbmVyYXRpbmcgdGhlIC5zcGwKKyMuICogZmlsZS4KK21zZ2lkICJFNzgzOiBkdXBsaWNhdGUgY2hhciBpbiBNQVAgZW50cnkiCittc2dzdHIgIkU3ODM6IERvcHBlbHRlcyBaZWljaGVuIGltIE1BUCBFaW50cmFnIgorCiAjLCBjLWZvcm1hdAogbXNnaWQgIkUzOTA6IElsbGVnYWwgYXJndW1lbnQ6ICVzIgotbXNnc3RyICJFMzkwOiBVbnp1bORzc2lnZXMgQXJndW1lbnQ6ICVzIgorbXNnc3RyICJFMzkwOiBVbmVybGF1YnRlcyBBcmd1bWVudDogJXMiCiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTM5MTogTm8gc3VjaCBzeW50YXggY2x1c3RlcjogJXMiCi1tc2dzdHIgIkUzOTE6IEtlaW4gc29sY2hlcyBTeW50YXgtQ2x1c3RlcjogJXMiCittc2dzdHIgIkUzOTE6IEtlaW4gc29sY2hlciBTeW50YXggQ2x1c3RlcjogJXMiCiAKIG1zZ2lkICJObyBTeW50YXggaXRlbXMgZGVmaW5lZCBmb3IgdGhpcyBidWZmZXIiCi1tc2dzdHIgIktlaW5lIFN5bnRheC1FbGVtZW50ZSBkZWZpbmllcnQgZvxyIGRpZXNlbiBQdWZmZXIiCittc2dzdHIgIktlaW5lIFN5bnRheC1FbGVtZW50ZSBm/HIgZGllc2VuIFB1ZmZlciBkZWZpbmllcnQiCiAKIG1zZ2lkICJzeW5jaW5nIG9uIEMtc3R5bGUgY29tbWVudHMiCiBtc2dzdHIgIlN5bmNocm9uaXNhdGlvbiBhbiBDLVN0aWwgS29tbWVudGFyZW4iCkBAIC00MzUwLDcgKzQ5NjMsNyBAQAogIi0tLSBTeW50YXggaXRlbXMgLS0tIgogbXNnc3RyICIiCiAiXG4iCi0iLS0tIFNhdHpiYXUgRWxlbWVudGUgLS0tIgorIi0tLSBTeW50YXgtRWxlbWVudGUgLS0tIgogCiAjLCBjLWZvcm1hdAogbXNnaWQgIkUzOTI6IE5vIHN1Y2ggc3ludGF4IGNsdXN0ZXI6ICVzIgpAQCAtNDM2Niw3ICs0OTc5LDcgQEAKIG1zZ3N0ciAiOyBUcmVmZmVyICIKIAogbXNnaWQgIiBsaW5lIGJyZWFrcyIKLW1zZ3N0ciAiIFplaWxlbi1VbWJy/GNoZSIKK21zZ3N0ciAiIFplaWxlbnVtYnL8Y2hlIgogCiBtc2dpZCAiRTM5MzogZ3JvdXBbdF1oZXJlIG5vdCBhY2NlcHRlZCBoZXJlIgogbXNnc3RyICJFMzkzOiBcImdyb3VwW3RdaGVyZVwiIGlzdCBhbiBkaWVzZXIgU3RlbGxlIHVuZ/xsdGlnIgpAQCAtNDM4NSw2ICs0OTk4LDEwIEBACiBtc2dzdHIgIkUzOTc6IERhdGVpbmFtZSB3aXJkIGJlbvZ0aWd0IgogCiAjLCBjLWZvcm1hdAorbXNnaWQgIkU3NDc6IE1pc3NpbmcgJ10nOiAlcyIKK21zZ3N0ciAiRTc0NzogRmVobGVuZGUgJ10nOiAlcyIKKworIywgYy1mb3JtYXQKIG1zZ2lkICJFMzk4OiBNaXNzaW5nICc9JzogJXMiCiBtc2dzdHIgIkUzOTg6IEZlaGxlbmRlcyAnPSc6ICVzIgogCkBAIC00Mzk3LDE0ICs1MDE0LDE0IEBACiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTQwMTogUGF0dGVybiBkZWxpbWl0ZXIgbm90IGZvdW5kOiAlcyIKLW1zZ3N0ciAiRTQwMTogTXVzdGVyIEFiZ3JlbnplciBuaWNodCBnZWZ1bmRlbjogJXMiCittc2dzdHIgIkU0MDE6IE11c3Rlci1BYmdyZW56ZXIgbmljaHQgZ2VmdW5kZW46ICVzIgogCiAjLCBjLWZvcm1hdAogbXNnaWQgIkU0MDI6IEdhcmJhZ2UgYWZ0ZXIgcGF0dGVybjogJXMiCiBtc2dzdHIgIkU0MDI6IFNjaHJvdHQgbmFjaCBNdXN0ZXI6ICVzIgogCiBtc2dpZCAiRTQwMzogc3ludGF4IHN5bmM6IGxpbmUgY29udGludWF0aW9ucyBwYXR0ZXJuIHNwZWNpZmllZCB0d2ljZSIKLW1zZ3N0ciAiRTQwMzogc3ludGF4IHN5bmM6IFplaWxlbiBGb3J0c2V0enVuZ3MgTXVzdGVyIHp3ZWlmYWNoIGFuZ2VnZWJlbiIKK21zZ3N0ciAiRTQwMzogU3ludGF4IHN5bmM6IFplaWxlbiBGb3J0c2V0enVuZ3MgTXVzdGVyIHp3ZWlmYWNoIGFuZ2VnZWJlbiIKIAogIywgYy1mb3JtYXQKIG1zZ2lkICJFNDA0OiBJbGxlZ2FsIGFyZ3VtZW50czogJXMiCkBAIC00NDI0LDggKzUwNDEsNyBAQAogCiAjLCBjLWZvcm1hdAogbXNnaWQgIkU0MDg6ICVzIG11c3QgYmUgZmlyc3QgaW4gY29udGFpbnMgbGlzdCIKLW1zZ3N0ciAiIgotIkU0MDg6ICVzIG11c3MgYWxzIEVyc3RlcyBpbiBkZXIgTGlzdGUgZGVyIGVudGhhbHRlbmVuIEVsZW1lbnRlIGF1ZnRyZXRlbiIKK21zZ3N0ciAiRTQwODogJXMgbXVzcyBhbHMgRXJzdGVzIGluIGRlciBMaXN0ZSBkZXIgZW50aGFsdGVuZW4gRWxlbWVudGUgYXVmdHJldGVuIgogCiAjLCBjLWZvcm1hdAogbXNnaWQgIkU0MDk6IFVua25vd24gZ3JvdXAgbmFtZTogJXMiCkBAIC00NDM1LDYgKzUwNTEsOSBAQAogbXNnaWQgIkU0MTA6IEludmFsaWQgOnN5bnRheCBzdWJjb21tYW5kOiAlcyIKIG1zZ3N0ciAiRTQxMDogVW5n/Gx0aWdlciA6c3ludGF4IEJlZmVobDogJXMiCiAKK21zZ2lkICJFNjc5OiByZWN1cnNpdmUgbG9vcCBsb2FkaW5nIHN5bmNvbG9yLnZpbSIKK21zZ3N0ciAiRTY3OTogUmVrdXJzaXZlIFNjaGxlaWZlIGJlaW0gTGFkZW4gdm9uIHN5bmNvbG9yLnZpbSIKKwogIywgYy1mb3JtYXQKIG1zZ2lkICJFNDExOiBoaWdobGlnaHQgZ3JvdXAgbm90IGZvdW5kOiAlcyIKIG1zZ3N0ciAiRTQxMTogSGVydm9yaGVidW5ncy1HcnVwcGUgbmljaHQgZ2VmdW5kZW46ICVzIgpAQCAtNDQ1Miw3ICs1MDcxLDcgQEAKIAogIywgYy1mb3JtYXQKIG1zZ2lkICJFNDE1OiB1bmV4cGVjdGVkIGVxdWFsIHNpZ246ICVzIgotbXNnc3RyICJFNDE1OiB1bmVyd2FydGV0ZXMgR2xlaWNoaGVpdHN6ZWljaGVuOiAlcyIKK21zZ3N0ciAiRTQxNTogVW5lcndhcnRldGVzIEdsZWljaGhlaXRzemVpY2hlbjogJXMiCiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTQxNjogbWlzc2luZyBlcXVhbCBzaWduOiAlcyIKQEAgLTQ0NjAsNyArNTA3OSw3IEBACiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTQxNzogbWlzc2luZyBhcmd1bWVudDogJXMiCi1tc2dzdHIgIkU0MTc6IGZlaGxlbmRlcyBBcmd1bWVudDogJXMiCittc2dzdHIgIkU0MTc6IEZlaGxlbmRlcyBBcmd1bWVudDogJXMiCiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTQxODogSWxsZWdhbCB2YWx1ZTogJXMiCkBAIC00NDg3LDIyICs1MTA2LDE3IEBACiBtc2dpZCAiRTQyNDogVG9vIG1hbnkgZGlmZmVyZW50IGhpZ2hsaWdodGluZyBhdHRyaWJ1dGVzIGluIHVzZSIKIG1zZ3N0ciAiRTQyNDogWnUgdmllbGUgdmVyc2NoaWVkZW4gSGVydm9yaGVidW5ncy1BdHRyaWJ1dGUgaW4gR2VicmF1Y2giCiAKLSN+IG1zZ2lkICJFNjY5OiBVbnByaW50YWJsZSBjaGFyYWN0ZXIgaW4gZ3JvdXAgbmFtZSIKLSN+IG1zZ3N0ciAiIgorbXNnaWQgIkU2Njk6IFVucHJpbnRhYmxlIGNoYXJhY3RlciBpbiBncm91cCBuYW1lIgorbXNnc3RyICJFNjY5OiBOaWNodCBkcnVja2JhcmUgWmVpY2hlbiBpbSBOYW1lbiBkZXIgR3J1cHBlIgogCi0jLiBUaGlzIGlzIGFuIGVycm9yLCBidXQgc2luY2UgdGhlcmUgcHJldmlvdXNseSB3YXMgbm8gY2hlY2sgb25seQotIy4gKiBnaXZlIGEgd2FybmluZy4KLSMsIGZ1enp5Ci0jfiBtc2dpZCAiVzE4OiBJbnZhbGlkIGNoYXJhY3RlciBpbiBncm91cCBuYW1lIgotI34gbXNnc3RyICJFMTgyOiBVbmf8bHRpZ2VyIEJlZmVobHMtTmFtZSIKK21zZ2lkICJXMTg6IEludmFsaWQgY2hhcmFjdGVyIGluIGdyb3VwIG5hbWUiCittc2dzdHIgIlcxODogVW5n/Gx0aWdlcyBaZWljaGVuIGltIE5hbWVuIGRlciBHcnVwcGUiCiAKLSMsIGZ1enp5Ci0jfiBtc2dpZCAiRTU1NTogYXQgYm90dG9tIG9mIHRhZyBzdGFjayIKLSN+IG1zZ3N0ciAiYW0gQW5mYW5nIGRlciBUYWctTGlzdGUiCittc2dpZCAiRTU1NTogYXQgYm90dG9tIG9mIHRhZyBzdGFjayIKK21zZ3N0ciAiRTU1NTogQW0gRW5kZSBkZXMgVGFnLVN0YWNrcyIKIAotIywgZnV6enkKLSN+IG1zZ2lkICJFNTU2OiBhdCB0b3Agb2YgdGFnIHN0YWNrIgotI34gbXNnc3RyICJhbSBFbmRlIGRlciBUYWctTGlzdGUiCittc2dpZCAiRTU1NjogYXQgdG9wIG9mIHRhZyBzdGFjayIKK21zZ3N0ciAiRTU1NjogQW0gQW5mYW5nIGRlcyBUYWctU3RhY2tzIgogCiBtc2dpZCAiRTQyNTogQ2Fubm90IGdvIGJlZm9yZSBmaXJzdCBtYXRjaGluZyB0YWciCiBtc2dzdHIgIkU0MjU6IEthbm4gbmljaHQgdm9yIGRlbiBlcnN0ZW4gcGFzc2VuZGVuIFRhZyBoaW5hdXNnZWhlbiIKQEAgLTQ1MTcsMTMgKzUxMzEsNiBAQAogbXNnaWQgImZpbGVcbiIKIG1zZ3N0ciAiRGF0ZWlcbiIKIAotIy4KLSMuICogQXNrIHRvIHNlbGVjdCBhIHRhZyBmcm9tIHRoZSBsaXN0LgotIy4gKiBXaGVuIHVzaW5nICI6c2lsZW50IiBhc3N1bWUgdGhhdCA8Q1I+IHdhcyBlbnRlcmVkLgotIy4KLW1zZ2lkICJFbnRlciBuciBvZiBjaG9pY2UgKDxDUj4gdG8gYWJvcnQpOiAiCi1tc2dzdHIgIkdld/xuc2NodGUgTnVtbWVyIChhYmJyZWNoZW4gbWl0IDxDUj4pOiAiCi0KIG1zZ2lkICJFNDI3OiBUaGVyZSBpcyBvbmx5IG9uZSBtYXRjaGluZyB0YWciCiBtc2dzdHIgIkU0Mjc6IEVzIGdpYnQgbnVyIGVpbmVuIHBhc3NlbmRlbiBUYWciCiAKQEAgLTQ1NzEsNyArNTE3OCw3IEBACiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQmVmb3JlIGJ5dGUgJWxkIgotbXNnc3RyICJ2b3IgYnl0ZSAlbGQiCittc2dzdHIgIlZvciBieXRlICVsZCIKIAogIywgYy1mb3JtYXQKIG1zZ2lkICJFNDMyOiBUYWdzIGZpbGUgbm90IHNvcnRlZDogJXMiCkBAIC00NTg4LDIzICs1MTk1LDE5IEBACiBtc2dzdHIgIkU0MzU6IFRhZyBrb25udGUgbmljaHQgZ2VmdW5kZW4gd2VyZGVuLCBkYXMgaXN0IG51ciBlaW5lIFZlcm11dHVuZyEiCiAKIG1zZ2lkICInIG5vdCBrbm93bi4gQXZhaWxhYmxlIGJ1aWx0aW4gdGVybWluYWxzIGFyZToiCi1tc2dzdHIgIiIKLSInIG5pY2h0IGJla2FubnQuIFp1ciBWZXJm/Gd1bmcgc3RlaGVuIGRpZSBmb2xnZW5kZW4gZWluZ2ViYXV0ZW4gVGVybWluYWxzOiIKK21zZ3N0ciAiJyBuaWNodCBiZWthbm50LiBadXIgVmVyZvxndW5nIHN0ZWhlbiBkaWUgZm9sZ2VuZGVuIGVpbmdlYmF1dGVuIFRlcm1pbmFsczoiCiAKIG1zZ2lkICJkZWZhdWx0aW5nIHRvICciCiBtc2dzdHIgIlZvcmVpbnN0ZWxsdW5nICciCiAKLSMsIGZ1enp5Ci0jfiBtc2dpZCAiRTU1NzogQ2Fubm90IG9wZW4gdGVybWNhcCBmaWxlIgotI34gbXNnc3RyICJ0ZXJtcGNhcC1EYXRlaSBrYW5uIG5pY2h0IGdl9mZmbmV0IHdlcmRlbiIKK21zZ2lkICJFNTU3OiBDYW5ub3Qgb3BlbiB0ZXJtY2FwIGZpbGUiCittc2dzdHIgIkU1NTc6IFRlcm1jYXAtRGF0ZWkga2FubiBuaWNodCBnZfZmZm5ldCB3ZXJkZW4iCiAKLSMsIGZ1enp5Ci0jfiBtc2dpZCAiRTU1ODogVGVybWluYWwgZW50cnkgbm90IGZvdW5kIGluIHRlcm1pbmZvIgotI34gbXNnc3RyICJUZXJtaW5hbC1FaW50cmFnIGtvbm50ZSBpbiBkZXIgdGVybWluZm8tRGF0ZWkgbmljaHQgZ2VmdW5kZW4gd2VyZGVuIgorbXNnaWQgIkU1NTg6IFRlcm1pbmFsIGVudHJ5IG5vdCBmb3VuZCBpbiB0ZXJtaW5mbyIKK21zZ3N0ciAiRTU1ODogVGVybWluYWwtRWludHJhZyBrb250ZSBpbiBkZXIgVGVybWluZm8tRGF0ZW5iYW5rIG5pY2h0IGdlZnVuZGVuIHdlcmRlbiIKIAotIywgZnV6enkKLSN+IG1zZ2lkICJFNTU5OiBUZXJtaW5hbCBlbnRyeSBub3QgZm91bmQgaW4gdGVybWNhcCIKLSN+IG1zZ3N0ciAiVGVybWluYWwtRWludHJhZyBrb25udGUgaW4gZGVyIHRlcm1jYXAtRGF0ZWkgbmljaHQgZ2VmdW5kZW4gd2VyZGVuIgorbXNnaWQgIkU1NTk6IFRlcm1pbmFsIGVudHJ5IG5vdCBmb3VuZCBpbiB0ZXJtY2FwIgorbXNnc3RyICJFNTU5OiBUZXJtaW5hbC1FaW50cmFnIGtvbm50ZSBpbiBkZXIgVGVybWNhcC1EYXRlaSBuaWNodCBnZWZ1bmRlbiB3ZXJkZW4iCiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTQzNjogTm8gXCIlc1wiIGVudHJ5IGluIHRlcm1jYXAiCkBAIC00NjI3LDI2ICs1MjMwLDYxIEBACiBtc2dpZCAiVmltOiBFcnJvciByZWFkaW5nIGlucHV0LCBleGl0aW5nLi4uXG4iCiBtc2dzdHIgIlZpbTogRmVobGVyIGJlaW0gTGVzZW4gZGVyIEVpbmdhYmUsIEFiYnJ1Y2guLi5cbiIKIAotIyBUT0RPOiBuZWVkIG1vcmUgd29yayEKLSMuIG11c3QgZGlzcGxheSB0aGUgcHJvbXB0CiBtc2dpZCAiTm8gdW5kbyBwb3NzaWJsZTsgY29udGludWUgYW55d2F5IgogbXNnc3RyICJS/GNrZ+RuZ2lnbWFjaHVuZyBuaWNodCBt9mdsaWNoOyBzZXR6ZSB0cm90eiBkZW0gZm9ydCIKIAorbXNnaWQgIkFscmVhZHkgYXQgb2xkZXN0IGNoYW5nZSIKK21zZ3N0ciAiQmVyZWl0cyBiZWkgZGVyIORsdGVzdGVuIMRuZGVydW5nIgorCittc2dpZCAiQWxyZWFkeSBhdCBuZXdlc3QgY2hhbmdlIgorbXNnc3RyICJCZXJlaXRzIGJlaSBkZXIgavxuZ3N0ZW4gxG5kZXJ1bmciCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5kbyBudW1iZXIgJWxkIG5vdCBmb3VuZCIKK21zZ3N0ciAiTnVtbWVyICVsZCB6dXIgUvxja2fkbmdpZ21hY2h1bmcgbmljaHQgZ2VmdW5kZW4iCisKIG1zZ2lkICJFNDM4OiB1X3VuZG86IGxpbmUgbnVtYmVycyB3cm9uZyIKIG1zZ3N0ciAiRTQzODogdV91bmRvOiBaZWlsZW5udW1tZXIgZmFsc2NoIgogCi1tc2dpZCAiMSBjaGFuZ2UiCi1tc2dzdHIgIjEgxG5kZXJ1bmciCittc2dpZCAibW9yZSBsaW5lIgorbXNnc3RyICJaZWlsZSBtZWhyIgorCittc2dpZCAibW9yZSBsaW5lcyIKK21zZ3N0ciAiWmVpbGVuIG1laHIiCisKK21zZ2lkICJsaW5lIGxlc3MiCittc2dzdHIgIlplaWxlIHdlbmlnZXIiCisKK21zZ2lkICJmZXdlciBsaW5lcyIKK21zZ3N0ciAiWmVpbGVuIHdlbmlnZXIiCisKK21zZ2lkICJjaGFuZ2UiCittc2dzdHIgIsRuZGVydW5nIgorCittc2dpZCAiY2hhbmdlcyIKK21zZ3N0ciAixG5kZXJ1bmdlbiIKIAogIywgYy1mb3JtYXQKLW1zZ2lkICIlbGQgY2hhbmdlcyIKLW1zZ3N0ciAiJWxkIMRuZGVydW5nZW4iCittc2dpZCAiJWxkICVzOyAlcyAjJWxkICAlcyIKK21zZ3N0ciAiJWxkICVzOyAlcyAjJWxkICAlcyIKKworbXNnaWQgImJlZm9yZSIKK21zZ3N0ciAidm9yIgorCittc2dpZCAiYWZ0ZXIiCittc2dzdHIgIm5hY2giCisKK21zZ2lkICJOb3RoaW5nIHRvIHVuZG8iCittc2dzdHIgIk5pY2h0cyB6dW0gdHVuIgorCittc2dpZCAibnVtYmVyIGNoYW5nZXMgIHRpbWUiCittc2dzdHIgIk51bW1lciDEbmQuICAgICBaZWl0IgogCiBtc2dpZCAiRTQzOTogdW5kbyBsaXN0IGNvcnJ1cHQiCi1tc2dzdHIgIkU0Mzk6IFL8Y2tnYW5nYmFya2VpdHNsaXN0ZSBrYXB1dHQiCittc2dzdHIgIkU0Mzk6IExpc3RlIGRlciBS/GNrZ+RuZ2lnbWFjaHVuZ2VuIGZlaGxlcmhhZnQiCiAKIG1zZ2lkICJFNDQwOiB1bmRvIGxpbmUgbWlzc2luZyIKLW1zZ3N0ciAiRTQ0MDogUvxja2dhbmdiYXJrZWl0c2xpc3RlIGZlaGx0IgorbXNnc3RyICJFNDQwOiBS/GNrZ+RuZ2lnbWFjaHVuZ3N6ZWlsZSBmZWhsdCIKIAogIy4gT25seSBNUyBWQyA0LjEgYW5kIGVhcmxpZXIgY2FuIGRvIFdpbjMycwogbXNnaWQgIiIKQEAgLTQ3NTAsNyArNTM4OCw3IEBACiAiSHVnZSB2ZXJzaW9uICIKIG1zZ3N0ciAiIgogIlxuIgotIk1vbnN0ZXIgVmVyc2lvbiAiCisiUmllc2lnZSBWZXJzaW9uICIKIAogbXNnaWQgIiIKICJcbiIKQEAgLTQ3ODMsMTYgKzU0MjEsMTQgQEAKIG1zZ2lkICJ3aXRob3V0IEdVSS4iCiBtc2dzdHIgIm9obmUgR1VJLiIKIAotIywgZnV6enkKLSN+IG1zZ2lkICJ3aXRoIEdUSzItR05PTUUgR1VJLiIKLSN+IG1zZ3N0ciAibWl0IEdUSy1HTk9NRSBHVUkuIgorbXNnaWQgIndpdGggR1RLMi1HTk9NRSBHVUkuIgorbXNnc3RyICJtaXQgR1RLMi1HTk9NRSBHVUkuIgogCiBtc2dpZCAid2l0aCBHVEstR05PTUUgR1VJLiIKIG1zZ3N0ciAibWl0IEdUSy1HTk9NRSBHVUkuIgogCi0jLCBmdXp6eQotI34gbXNnaWQgIndpdGggR1RLMiBHVUkuIgotI34gbXNnc3RyICJtaXQgR1RLIEdVSS4iCittc2dpZCAid2l0aCBHVEsyIEdVSS4iCittc2dzdHIgIm1pdCBHVEsyIEdVSS4iCiAKIG1zZ2lkICJ3aXRoIEdUSyBHVUkuIgogbXNnc3RyICJtaXQgR1RLIEdVSS4iCkBAIC00ODAwLDkgKzU0MzYsOCBAQAogbXNnaWQgIndpdGggWDExLU1vdGlmIEdVSS4iCiBtc2dzdHIgIm1pdCBYMTEtTW90aWYgR1VJLiIKIAotIywgZnV6enkKLSN+IG1zZ2lkICJ3aXRoIFgxMS1uZVh0YXcgR1VJLiIKLSN+IG1zZ3N0ciAibWl0IFgxMS1BdGhlbmEgR1VJLiIKK21zZ2lkICJ3aXRoIFgxMS1uZVh0YXcgR1VJLiIKK21zZ3N0ciAibWl0IFgxMS1uZVh0YXcgR1VJLiIKIAogbXNnaWQgIndpdGggWDExLUF0aGVuYSBHVUkuIgogbXNnc3RyICJtaXQgWDExLUF0aGVuYSBHVUkuIgpAQCAtNDgxNCw3ICs1NDQ5LDcgQEAKIG1zZ3N0ciAibWl0IFBob3RvbiBHVUkuIgogCiBtc2dpZCAid2l0aCBHVUkuIgotbXNnc3RyICJtaXQgR1RLLiIKK21zZ3N0ciAibWl0IEdVSS4iCiAKIG1zZ2lkICJ3aXRoIENhcmJvbiBHVUkuIgogbXNnc3RyICJtaXQgQ2FyYm9uIEdVSS4iCkBAIC00ODQ0LDcgKzU0NzksNyBAQAogbXNnc3RyICIgICAgICAgICBCZW51dHplci1leHJjLURhdGVpOiBcIiIKIAogbXNnaWQgIiAgMm5kIHVzZXIgZXhyYyBmaWxlOiBcIiIKLW1zZ3N0ciAiIHp3ZWl0ZSBCZW51dHplci12aW1yYy1EYXRlaTogXCIiCittc2dzdHIgIiB6d2VpdGUgQmVudXR6ZXItZXhyYy1EYXRlaTogXCIiCiAKIG1zZ2lkICIgIHN5c3RlbSBndmltcmMgZmlsZTogXCIiCiBtc2dzdHIgIiAgICAgICAgIFN5c3RlbS1ndmltcmMtRGF0ZWk6IFwiIgpAQCAtNDg5NSw2OSArNTUzMCw2NCBAQAogbXNnc3RyICJIZWxmZW4gU2llIGFybWVuIEtpbmRlcm4gaW4gVWdhbmRhISIKIAogbXNnaWQgInR5cGUgIDpoZWxwIGljY2Y8RW50ZXI+ICAgICAgIGZvciBpbmZvcm1hdGlvbiAiCi1tc2dzdHIgInRpcHBlICA6aGVscCBpY2NmPEVudGVyPiAgICAgICAgZvxyIEluZm9ybWF0aW9uZW4gZGFy/GJlciAiCittc2dzdHIgIlRpcHBlICA6aGVscCBpY2NmPEVudGVyPiAgICAgICAgZvxyIEluZm9ybWF0aW9uZW4gZGFy/GJlciAiCiAKIG1zZ2lkICJ0eXBlICA6cTxFbnRlcj4gICAgICAgICAgICAgICB0byBleGl0ICAgICAgICAgIgotbXNnc3RyICJ0aXBwZSAgOnE8RW50ZXI+ICAgICAgICAgICAgICAgIHp1bSBCZWVuZGVuICAgICAgICAgICAgICAgIgorbXNnc3RyICJUaXBwZSAgOnE8RW50ZXI+ICAgICAgICAgICAgICAgIHp1bSBCZWVuZGVuICAgICAgICAgICAgICAgIgogCiBtc2dpZCAidHlwZSAgOmhlbHA8RW50ZXI+ICBvciAgPEYxPiAgZm9yIG9uLWxpbmUgaGVscCIKLW1zZ3N0ciAidGlwcGUgIDpoZWxwPEVudGVyPiAgb2RlciA8RjE+ICBm/HIgT25saW5lIEhpbGZlICAgICAgICAgICIKK21zZ3N0ciAiVGlwcGUgIDpoZWxwPEVudGVyPiAgb2RlciA8RjE+ICBm/HIgT25saW5lIEhpbGZlICAgICAgICAgICIKIAotbXNnaWQgInR5cGUgIDpoZWxwIHZlcnNpb242PEVudGVyPiAgIGZvciB2ZXJzaW9uIGluZm8iCi1tc2dzdHIgInRpcHBlICA6aGVscCB2ZXJzaW9uNjxFbnRlcj4gICAgZvxyIFZlcnNpb25zLUluZm9ybWF0aW9uZW4iCittc2dpZCAidHlwZSAgOmhlbHAgdmVyc2lvbjc8RW50ZXI+ICAgZm9yIHZlcnNpb24gaW5mbyIKK21zZ3N0ciAiVGlwcGUgIDpoZWxwIHZlcnNpb243PEVudGVyPiAgICBm/HIgVmVyc2lvbnMtSW5mb3JtYXRpb25lbiIKIAogbXNnaWQgIlJ1bm5pbmcgaW4gVmkgY29tcGF0aWJsZSBtb2RlIgogbXNnc3RyICJWaSBrb21wYXRpYmxlIEVpbnN0ZWxsdW5nIgogCiBtc2dpZCAidHlwZSAgOnNldCBub2NwPEVudGVyPiAgICAgICAgZm9yIFZpbSBkZWZhdWx0cyIKLW1zZ3N0ciAidGlwcGUgIDpzZXQgbm9jcDxFbnRlcj4gICAgICAgICBm/HIgVmltLVZvcmVpbnN0ZWxsdW5nZW4gICIKK21zZ3N0ciAiVGlwcGUgIDpzZXQgbm9jcDxFbnRlcj4gICAgICAgICBm/HIgVmltLVZvcmVpbnN0ZWxsdW5nZW4gICIKIAogbXNnaWQgInR5cGUgIDpoZWxwIGNwLWRlZmF1bHQ8RW50ZXI+IGZvciBpbmZvIG9uIHRoaXMiCi1tc2dzdHIgInRpcHBlICA6aGVscCBjcC1kZWZhdWx0PEVudGVyPiAgZvxyIEluZm9ybWF0aW9uZW4gZGFy/GJlciAiCittc2dzdHIgIlRpcHBlICA6aGVscCBjcC1kZWZhdWx0PEVudGVyPiAgZvxyIEluZm9ybWF0aW9uZW4gZGFy/GJlciAiCiAKIG1zZ2lkICJtZW51ICBIZWxwLT5PcnBoYW5zICAgICAgICAgICBmb3IgaW5mb3JtYXRpb24gICAgIgotbXNnc3RyICJNZW78ICBIaWxmZS0+V2Fpc2VuICAgICAgICAgICBm/HIgSW5mb3JtYXRpb25lbiBkYXL8YmVyICAgICIKK21zZ3N0ciAiTWVu/CAgIEhpbGZlLT5XYWlzZW4gICAgICAgICAgICBm/HIgSW5mb3JtYXRpb25lbiBkYXL8YmVyICIKIAogbXNnaWQgIlJ1bm5pbmcgbW9kZWxlc3MsIHR5cGVkIHRleHQgaXMgaW5zZXJ0ZWQiCiBtc2dzdHIgIk1vZGUtZnJlaWVyIEJldHJpZWIsIGdldGlwcHRlciBUZXh0IHdpcmQgZWluZ2Vm/Gd0IgogCiBtc2dpZCAibWVudSAgRWRpdC0+R2xvYmFsIFNldHRpbmdzLT5Ub2dnbGUgSW5zZXJ0IE1vZGUgICIKLW1zZ3N0ciAiIgotIk1lbvwgIEVkaXRpZXJlbi0+R2xvYmFsZSBFaW5zdGVsbHVuZy0+RWluZvxnZS1Nb2R1cyBlaW4tIHVuZCBhdXNzY2hhbHRlbiAgIgorbXNnc3RyICJNZW78ICBFZGl0aWVyZW4tPkdsb2JhbGUgRWluc3RlbGx1bmctPkVpbmb8Z2UtTW9kdXMgZWluLSB1bmQgYXVzc2NoYWx0ZW4gICIKIAogbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciB0d28gbW9kZXMgICAgICAiCiBtc2dzdHIgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGb8ciB6d2VpIE1vZGkgICAgICAgIgogCiBtc2dpZCAibWVudSAgRWRpdC0+R2xvYmFsIFNldHRpbmdzLT5Ub2dnbGUgVmkgQ29tcGF0aWJsZSIKLW1zZ3N0ciAiIgotIk1lbvwgIEVkaXRpZXJlbi0+R2xvYmFsZSBFaW5zdGVsbHVuZy0+VmktS29tcGF0aWJpbGl05HQgZWluLSB1bmQgYXVzc2NoYWx0ZW4iCittc2dzdHIgIk1lbvwgIEVkaXRpZXJlbi0+R2xvYmFsZSBFaW5zdGVsbHVuZy0+VmktS29tcGF0aWJpbGl05HQgZWluLSB1bmQgYXVzc2NoYWx0ZW4iCiAKIG1zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgVmltIGRlZmF1bHRzICAgIgogbXNnc3RyICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBm/HIgVmltIFZvcmVpbnN0ZWxsdW5nZW4gICAiCiAKLSN+IG1zZ2lkICJTcG9uc29yIFZpbSBkZXZlbG9wbWVudCEiCi0jfiBtc2dzdHIgIiIKK21zZ2lkICJTcG9uc29yIFZpbSBkZXZlbG9wbWVudCEiCittc2dzdHIgIlVudGVyc3T8dHplbiBTaWUgZGllIEVudHdpY2tsdW5nIHZvbiBWaW0iCiAKLSN+IG1zZ2lkICJCZWNvbWUgYSByZWdpc3RlcmVkIFZpbSB1c2VyISIKLSN+IG1zZ3N0ciAiIgorbXNnaWQgIkJlY29tZSBhIHJlZ2lzdGVyZWQgVmltIHVzZXIhIgorbXNnc3RyICJXZXJkZW4gU2llIGVpbiByZWdpc3RyaWVydGVyIEJlbnV0emVyIHZvbiBWaW0hIgogCi0jLCBmdXp6eQotI34gbXNnaWQgInR5cGUgIDpoZWxwIHNwb25zb3I8RW50ZXI+ICAgIGZvciBpbmZvcm1hdGlvbiAiCi0jfiBtc2dzdHIgInRpcHBlICA6aGVscCBpY2NmPEVudGVyPiAgICAgICAgZvxyIEluZm9ybWF0aW9uZW4gZGFy/GJlciAiCittc2dpZCAidHlwZSAgOmhlbHAgc3BvbnNvcjxFbnRlcj4gICAgZm9yIGluZm9ybWF0aW9uICIKK21zZ3N0ciAiVGlwcGUgIDpoZWxwIHNwb25zb3I8RW50ZXI+ICAgICBm/HIgbWVociBJbmZvcm1hdGlvbmVuICAgICIKIAotIywgZnV6enkKLSN+IG1zZ2lkICJ0eXBlICA6aGVscCByZWdpc3RlcjxFbnRlcj4gICBmb3IgaW5mb3JtYXRpb24gIgotI34gbXNnc3RyICJ0aXBwZSAgOmhlbHAgaWNjZjxFbnRlcj4gICAgICAgIGb8ciBJbmZvcm1hdGlvbmVuIGRhcvxiZXIgIgorbXNnaWQgInR5cGUgIDpoZWxwIHJlZ2lzdGVyPEVudGVyPiAgIGZvciBpbmZvcm1hdGlvbiAiCittc2dzdHIgIlRpcHBlICA6aGVscCByZWdpc3RlcjxFbnRlcj4gICAgZvxyIG1laHIgSW5mb3JtYXRpb25lbiAgICAiCiAKLSMsIGZ1enp5Ci0jfiBtc2dpZCAibWVudSAgSGVscC0+U3BvbnNvci9SZWdpc3RlciAgZm9yIGluZm9ybWF0aW9uICAgICIKLSN+IG1zZ3N0ciAiTWVu/CAgSGlsZmUtPldhaXNlbiAgICAgICAgICAgZvxyIEluZm9ybWF0aW9uZW4gZGFy/GJlciAgICAiCittc2dpZCAibWVudSAgSGVscC0+U3BvbnNvci9SZWdpc3RlciAgZm9yIGluZm9ybWF0aW9uICAgICIKK21zZ3N0ciAiTWVu/CAgIEhpbGZlLT5TcG9uc29yL1JlZ2lzdGVyICBm/HIgbWVociBJbmZvcm1hdGlvbmVuICAgICIKIAogbXNnaWQgIldBUk5JTkc6IFdpbmRvd3MgOTUvOTgvTUUgZGV0ZWN0ZWQiCiBtc2dzdHIgIkFDSFRVTkc6IFdpbmRvd3MgOTUvOTgvTUUgd3VyZGUgZXJrYW5udCIKIAogbXNnaWQgInR5cGUgIDpoZWxwIHdpbmRvd3M5NTxFbnRlcj4gIGZvciBpbmZvIG9uIHRoaXMiCi1tc2dzdHIgInRpcHBlICA6aGVscCB3aW5kb3dzOTU8RW50ZXI+ICAgZvxyIEluZm9ybWF0aW9uZW4gZGFy/GJlciAiCittc2dzdHIgIlRpcHBlICA6aGVscCB3aW5kb3dzOTU8RW50ZXI+ICAgZvxyIEluZm9ybWF0aW9uZW4gZGFy/GJlciAiCiAKIG1zZ2lkICJFNDQxOiBUaGVyZSBpcyBubyBwcmV2aWV3IHdpbmRvdyIKIG1zZ3N0ciAiRTQ0MTogRXMgZ2lidCBrZWluIEZlbnN0ZXIgenVyIFZvcmFuc2ljaHQiCkBAIC00OTkwLDQzICs1NjIwLDExIEBACiBtc2dpZCAiRTM3MDogQ291bGQgbm90IGxvYWQgbGlicmFyeSAlcyIKIG1zZ3N0ciAiRTM3MDogQmlibGlvdGhlayAlcyBrb25udGUgbmljaHQgZ2VsYWRlbiB3ZXJkZW4iCiAKLSMsIGZ1enp5Ci0jfiBtc2dpZCAiU29ycnksIHRoaXMgY29tbWFuZCBpcyBkaXNhYmxlZDogdGhlIFBlcmwgbGlicmFyeSBjb3VsZCBub3QgYmUgbG9hZGVkLiIKLSN+IG1zZ3N0ciAiIgotI34gIkRpZXNlciBCZWZlaGwgaXN0IG5pY2h0IHZlcmb8Z2JhciwgZGEgZGllIFRjbCBCaWJsaW90aGVrIG5pY2h0IGdlbGFkZW4gIgotI34gIndlcmRlbiBrb25udGUiCittc2dpZCAiU29ycnksIHRoaXMgY29tbWFuZCBpcyBkaXNhYmxlZDogdGhlIFBlcmwgbGlicmFyeSBjb3VsZCBub3QgYmUgbG9hZGVkLiIKK21zZ3N0ciAiRGllc2VyIEJlZmVobCBpc3QgbmljaHQgdmVyZvxnYmFyLCBkYSBkaWUgUGVybC1CaWJsaW90aGVrIG5pY2h0IGdlbGFkZW4gd2VyZGVuIGtvbm50ZSIKIAotI34gbXNnaWQgIkUyOTk6IFBlcmwgZXZhbHVhdGlvbiBmb3JiaWRkZW4gaW4gc2FuZGJveCB3aXRob3V0IHRoZSBTYWZlIG1vZHVsZSIKLSN+IG1zZ3N0ciAiIgotCi1tc2dpZCAiRWRpdCB3aXRoICZtdWx0aXBsZSBWaW1zIgotbXNnc3RyICJFZGl0aWVyZSBtaXQgJm1laHJlcmVuIFZpbXMiCi0KLW1zZ2lkICJFZGl0IHdpdGggc2luZ2xlICZWaW0iCi1tc2dzdHIgIkVkaXRpZXJlIG1pdCBlaW5lbSAmVmltIgotCi0jLCBmdXp6eQotI34gbXNnaWQgIiZEaWZmIHdpdGggVmltIgotI34gbXNnc3RyICJFZGl0aWVyZSBtaXQgJlZpbSIKLQotbXNnaWQgIkVkaXQgd2l0aCAmVmltIgotbXNnc3RyICJFZGl0aWVyZSBtaXQgJlZpbSIKLQotIy4gTm93IGNvbmNhdGVuYXRlCi1tc2dpZCAiRWRpdCB3aXRoIGV4aXN0aW5nIFZpbSAtICYiCi1tc2dzdHIgIkVkaXRpZXJlIG1pdCBleGlzdGllcmVuZGVtIFZpbSAtICYiCi0KLW1zZ2lkICJFZGl0cyB0aGUgc2VsZWN0ZWQgZmlsZShzKSB3aXRoIFZpbSIKLW1zZ3N0ciAiRWRpdGllcmUgZGllIGF1c2dld+RobHRlbiBEYXRlaShlbikgbWl0IFZpbSIKLQotbXNnaWQgIkVycm9yIGNyZWF0aW5nIHByb2Nlc3M6IENoZWNrIGlmIGd2aW0gaXMgaW4geW91ciBwYXRoISIKLW1zZ3N0ciAiRmVobGVyIGJlaW0gU3RhcnRlbiBkZXMgUHJvemVzc2VzOiBJc3QgZ3ZpbSBpbSBQZmFkPyIKLQotbXNnaWQgImd2aW1leHQuZGxsIGVycm9yIgotbXNnc3RyICJndmltZXh0LmRsbCBGZWhsZXIiCi0KLW1zZ2lkICJQYXRoIGxlbmd0aCB0b28gbG9uZyEiCi1tc2dzdHIgIlBmYWQtTORuZ2UgenUgbGFuZyEiCittc2dpZCAiRTI5OTogUGVybCBldmFsdWF0aW9uIGZvcmJpZGRlbiBpbiBzYW5kYm94IHdpdGhvdXQgdGhlIFNhZmUgbW9kdWxlIgorbXNnc3RyICJFMjk5OiBQZXJsLUV2YWx1aWVydW5nIGluIGRlciBTYW5kYm94IG9obmUgZGVtICdTYWZlJyBNb2R1bCIKIAogbXNnaWQgIi0tTm8gbGluZXMgaW4gYnVmZmVyLS0iCiBtc2dzdHIgIi0tS2VpbmUgWmVpbGVuIGltIFB1ZmZlci0tIgpAQCAtNTAzNSw0NiArNTYzMyw0NSBAQAogIy4gKiBUaGUgZXJyb3IgbWVzc2FnZXMgdGhhdCBjYW4gYmUgc2hhcmVkIGFyZSBpbmNsdWRlZCBoZXJlLgogIy4gKiBFeGNsdWRlZCBhcmUgZXJyb3JzIHRoYXQgYXJlIG9ubHkgdXNlZCBvbmNlIGFuZCBkZWJ1Z2dpbmcgbWVzc2FnZXMuCiAjLgotIywgZnV6enkKLSN+IG1zZ2lkICJFNDcwOiBDb21tYW5kIGFib3J0ZWQiCi0jfiBtc2dzdHIgIkJlZmVobCBhYmdlYnJvY2hlbiIKK21zZ2lkICJFNDcwOiBDb21tYW5kIGFib3J0ZWQiCittc2dzdHIgIkU0NzA6IEJlZmVobCBhYmdlYnJvY2hlbiIKIAotIywgZnV6enkKLSN+IG1zZ2lkICJFNDcxOiBBcmd1bWVudCByZXF1aXJlZCIKLSN+IG1zZ3N0ciAiQXJndW1lbnQgd2lyZCBiZW72dGlndCIKK21zZ2lkICJFNDcxOiBBcmd1bWVudCByZXF1aXJlZCIKK21zZ3N0ciAiRTQ3MTogQXJndW1lbnQgYmVu9nRpZ3QiCiAKIG1zZ2lkICJFMTA6IFxcIHNob3VsZCBiZSBmb2xsb3dlZCBieSAvLCA/IG9yICYiCiBtc2dzdHIgIkUxMDogXFwgc29sbHRlIHZvbiAvLCA/IG9yICYgZ2Vmb2xndCB3ZXJkZW4iCiAKIG1zZ2lkICJFMTE6IEludmFsaWQgaW4gY29tbWFuZC1saW5lIHdpbmRvdzsgPENSPiBleGVjdXRlcywgQ1RSTC1DIHF1aXRzIgotbXNnc3RyICIiCi0iRTExOiBVbmf8bHRpZyBpbSBLb21tYW5kby1aZWlsZW4gRmVuc3RlcjsgPENSPiBm/GhydCBhdXMsIENUUkwtQyBiZWVuZGV0IgorbXNnc3RyICJFMTE6IFVuZ/xsdGlnIGltIEtvbW1hbmRvLVplaWxlbiBGZW5zdGVyOyA8Q1I+IGb8aHJ0IGF1cywgQ1RSTC1DIGJlZW5kZXQiCiAKIG1zZ2lkICJFMTI6IENvbW1hbmQgbm90IGFsbG93ZWQgZnJvbSBleHJjL3ZpbXJjIGluIGN1cnJlbnQgZGlyIG9yIHRhZyBzZWFyY2giCi1tc2dzdHIgIiIKLSJFMTI6IEJlZmVobCBuaWNodCB6dWzkc3NpZyB2b20gZXhyYy92aW1yYyBpbiBkZXIgbW9tZW50YW5lbiBWZXJ6ZWljaG5pcy0gIgotIm9kZXIgVGFnLVN1Y2hlIgorbXNnc3RyICJFMTI6IEJlZmVobCBuaWNodCB6dWzkc3NpZyB2b20gZXhyYy92aW1yYyBpbiBkZXIgbW9tZW50YW5lbiBWZXJ6ZWljaG5pcy0gb2RlciBUYWctU3VjaGUiCiAKIG1zZ2lkICJFMTcxOiBNaXNzaW5nIDplbmRpZiIKLW1zZ3N0ciAiRTE3MTogZmVobGVuZGVzIDplbmRpZiIKK21zZ3N0ciAiRTE3MTogRmVobGVuZGVzIDplbmRpZiIKIAotIywgZnV6enkKLSN+IG1zZ2lkICJFNjAwOiBNaXNzaW5nIDplbmR0cnkiCi0jfiBtc2dzdHIgIkUxNzE6IGZlaGxlbmRlcyA6ZW5kaWYiCittc2dpZCAiRTYwMDogTWlzc2luZyA6ZW5kdHJ5IgorbXNnc3RyICJFNjAwOiBGZWhsZW5kZXMgOmVuZHRyeSIKIAogbXNnaWQgIkUxNzA6IE1pc3NpbmcgOmVuZHdoaWxlIgogbXNnc3RyICJFMTcwOiBmZWhsZW5kZXMgOmVuZHdoaWxlIgogCi0jLCBmdXp6eQotI34gbXNnaWQgIkU1ODg6IDplbmR3aGlsZSB3aXRob3V0IDp3aGlsZSIKLSN+IG1zZ3N0ciAiOmVuZHdoaWxlIG9obmUgOndoaWxlIgorbXNnaWQgIkUxNzA6IE1pc3NpbmcgOmVuZGZvciIKK21zZ3N0ciAiRTE3MDogRmVobGVuZGVzIDplbmRmb3IiCisKK21zZ2lkICJFNTg4OiA6ZW5kd2hpbGUgd2l0aG91dCA6d2hpbGUiCittc2dzdHIgIkU1ODg6IDplbmR3aGlsZSBvaG5lIDp3aGlsZSIKKworbXNnaWQgIkU1ODg6IDplbmRmb3Igd2l0aG91dCA6Zm9yIgorbXNnc3RyICJFNTg4OiA6ZW5kZm9yIG9obmUgOmZvciIKIAogbXNnaWQgIkUxMzogRmlsZSBleGlzdHMgKGFkZCAhIHRvIG92ZXJyaWRlKSIKIG1zZ3N0ciAiRTEzOiBEYXRlaSBleGlzdGllcnQgYmVyZWl0cyAoZXJ6d2luZ2UgbWl0ICEpIgogCi0jLCBmdXp6eQotI34gbXNnaWQgIkU0NzI6IENvbW1hbmQgZmFpbGVkIgotI34gbXNnc3RyICJCZWZlaGwgc2NobHVnIGZlaGwiCisKK21zZ2lkICJFNDcyOiBDb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiRTQ3MjogQmVmZWhsIGZlaGxnZXNjaGxhZ2VuIgogCiAjLCBjLWZvcm1hdAogbXNnaWQgIkUyMzQ6IFVua25vd24gZm9udHNldDogJXMiCkBAIC01MDg4LDkgKzU2ODUsOCBAQAogbXNnaWQgIkUyMzY6IEZvbnQgXCIlc1wiIGlzIG5vdCBmaXhlZC13aWR0aCIKIG1zZ3N0ciAiRTIzNjogU2NocmlmdGFydCBcIiVzXCIgaGF0IGtlaW5lIGZlc3RlIEJyZWl0ZSIKIAotIywgZnV6enkKLSN+IG1zZ2lkICJFNDczOiBJbnRlcm5hbCBlcnJvciIKLSN+IG1zZ3N0ciAiSW50ZXJuZXIgRmVobGVyIgorbXNnaWQgIkU0NzM6IEludGVybmFsIGVycm9yIgorbXNnc3RyICJFNDczOiBJbnRlcm5lciBGZWhsZXIiCiAKIG1zZ2lkICJJbnRlcnJ1cHRlZCIKIG1zZ3N0ciAiVW50ZXJicm9jaGVuIgpAQCAtNTA5OCwxMyArNTY5NCwxMiBAQAogbXNnaWQgIkUxNDogSW52YWxpZCBhZGRyZXNzIgogbXNnc3RyICJFMTQ6IFVuZ/xsdGlnZSBBZHJlc3NlIgogCi0jLCBmdXp6eQotI34gbXNnaWQgIkU0NzQ6IEludmFsaWQgYXJndW1lbnQiCi0jfiBtc2dzdHIgIlVuZ/xsdGlnZXMgQXJndW1lbnQiCittc2dpZCAiRTQ3NDogSW52YWxpZCBhcmd1bWVudCIKK21zZ3N0ciAiRTQ3NDogVW5n/Gx0aWdlcyBBcmd1bWVudCIKIAotIywgZnV6enksIGMtZm9ybWF0Ci0jfiBtc2dpZCAiRTQ3NTogSW52YWxpZCBhcmd1bWVudDogJXMiCi0jfiBtc2dzdHIgIlVuZ/xsdGlnZXMgQXJndW1lbnQ6ICVzIgorIywgYy1mb3JtYXQKK21zZ2lkICJFNDc1OiBJbnZhbGlkIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiRTQ3NTogVW5n/Gx0aWdlcyBBcmd1bWVudDogJXMiCiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTE1OiBJbnZhbGlkIGV4cHJlc3Npb246ICVzIgpAQCAtNTExMywxNyArNTcwOCwxMyBAQAogbXNnaWQgIkUxNjogSW52YWxpZCByYW5nZSIKIG1zZ3N0ciAiRTE2OiBVbmf8bHRpZ2VyIEJlcmVpY2giCiAKLSMsIGZ1enp5Ci0jfiBtc2dpZCAiRTQ3NjogSW52YWxpZCBjb21tYW5kIgotI34gbXNnc3RyICJVbmf8bHRpZ2VyIEJlZmVobHMtTmFtZSIKK21zZ2lkICJFNDc2OiBJbnZhbGlkIGNvbW1hbmQiCittc2dzdHIgIkU0NzY6IFVuZ/xsdGlnZXIgQmVmZWhsIgogCiAjLCBjLWZvcm1hdAogbXNnaWQgIkUxNzogXCIlc1wiIGlzIGEgZGlyZWN0b3J5IgogbXNnc3RyICJFMTc6IFwiJXNcIiBpc3QgZWluIFZlcnplaWNobmlzIgogCi1tc2dpZCAiRTE4OiBVbmV4cGVjdGVkIGNoYXJhY3RlcnMgYmVmb3JlICc9JyIKLW1zZ3N0ciAiRTE4OiBVbmVyd2FydGV0ZXMgWmVpY2hlbiB2b3IgJz0nIgotCiAjLCBjLWZvcm1hdAogbXNnaWQgIkUzNjQ6IExpYnJhcnkgY2FsbCBmYWlsZWQgZm9yIFwiJXMoKVwiIgogbXNnc3RyICJFMzY0OiBCaWJsaW90aGVrcy1BdWZydWYgZvxyIFwiJXMoKVwiIHNjaGx1ZyBmZWhsIgpAQCAtNTE1MCwzMCArNTc0MSwyMCBAQAogbXNnaWQgIkUyNDogTm8gc3VjaCBhYmJyZXZpYXRpb24iCiBtc2dzdHIgIkUyNDogS2VpbmUgQWJr/HJ6dW5nIGdlZnVuZGVuIgogCi0jLCBmdXp6eQotI34gbXNnaWQgIkU0Nzc6IE5vICEgYWxsb3dlZCIKLSN+IG1zZ3N0ciAiISBuaWNodCBlcmxhdWJ0IgorbXNnaWQgIkU0Nzc6IE5vICEgYWxsb3dlZCIKK21zZ3N0ciAiRTQ3NzogS2VpbiAhIGVybGF1YnQiCiAKIG1zZ2lkICJFMjU6IEdVSSBjYW5ub3QgYmUgdXNlZDogTm90IGVuYWJsZWQgYXQgY29tcGlsZSB0aW1lIgotbXNnc3RyICIiCi0iRTI1OiBHVUkga2FubiBuaWNodCBiZW51dHp0IHdlcmRlbjogd3VyZGUgenVtIFplaXRwdW5rdCBkZXMg3GJlcnNldHplbnMgIgotIm5pY2h0IGVpbmdlc2NoYWx0ZXQuIgorbXNnc3RyICJFMjU6IEdVSSBrYW5uIG5pY2h0IGJlbnV0enQgd2VyZGVuOiB3dXJkZSB6dW0gWmVpdHB1bmt0IGRlcyDcYmVyc2V0emVucyBuaWNodCBlaW5nZXNjaGFsdGV0LiIKIAogbXNnaWQgIkUyNjogSGVicmV3IGNhbm5vdCBiZSB1c2VkOiBOb3QgZW5hYmxlZCBhdCBjb21waWxlIHRpbWVcbiIKLW1zZ3N0ciAiIgotIkUyNjogSGVicuRpc2NoIGthbm4gbmljaHQgYmVudXR6dCB3ZXJkZW46IHd1cmRlIHp1bSBaZWl0cHVua3QgZGVzICIKLSLcYmVyc2V0emVucyBuaWNodCBlaW5nZXNjaGFsdGV0LlxuIgorbXNnc3RyICJFMjY6IEhlYnLkaXNjaCBrYW5uIG5pY2h0IGJlbnV0enQgd2VyZGVuOiB3dXJkZSB6dW0gWmVpdHB1bmt0IGRlcyDcYmVyc2V0emVucyBuaWNodCBlaW5nZXNjaGFsdGV0LlxuIgogCiBtc2dpZCAiRTI3OiBGYXJzaSBjYW5ub3QgYmUgdXNlZDogTm90IGVuYWJsZWQgYXQgY29tcGlsZSB0aW1lXG4iCi1tc2dzdHIgIiIKLSJFMjc6IEZhcnNpIGthbm4gbmljaHQgYmVudXR6dCB3ZXJkZW46IHd1cmRlIHp1bSBaZWl0cHVua3QgZGVzINxiZXJzZXR6ZW5zICIKLSJuaWNodCBlaW5nZXNjaGFsdGV0LlxuIgorbXNnc3RyICJFMjc6IEZhcnNpIGthbm4gbmljaHQgYmVudXR6dCB3ZXJkZW46IHd1cmRlIHp1bSBaZWl0cHVua3QgZGVzINxiZXJzZXR6ZW5zIG5pY2h0IGVpbmdlc2NoYWx0ZXQuXG4iCiAKLSMsIGZ1enp5Ci0jfiBtc2dpZCAiRTgwMDogQXJhYmljIGNhbm5vdCBiZSB1c2VkOiBOb3QgZW5hYmxlZCBhdCBjb21waWxlIHRpbWVcbiIKLSN+IG1zZ3N0ciAiIgotI34gIkUyNzogRmFyc2kga2FubiBuaWNodCBiZW51dHp0IHdlcmRlbjogd3VyZGUgenVtIFplaXRwdW5rdCBkZXMg3GJlcnNldHplbnMgIgotI34gIm5pY2h0IGVpbmdlc2NoYWx0ZXQuXG4iCittc2dpZCAiRTgwMDogQXJhYmljIGNhbm5vdCBiZSB1c2VkOiBOb3QgZW5hYmxlZCBhdCBjb21waWxlIHRpbWVcbiIKK21zZ3N0ciAiRTgwMDogQXJhYmlzY2gga2FubiBuaWNodCBiZW51dHp0IHdlcmRlbjogd3VyZGUgenVtIFplaXRwdW5rdCBkZXMg3GJlcnNldHplbnMgbmljaHQgZWluZ2VzY2hhbHRldC5cbiIKIAogIywgYy1mb3JtYXQKIG1zZ2lkICJFMjg6IE5vIHN1Y2ggaGlnaGxpZ2h0IGdyb3VwIG5hbWU6ICVzIgpAQCAtNTE4OCwxMyArNTc2OSwxMiBAQAogbXNnaWQgIkUzMTogTm8gc3VjaCBtYXBwaW5nIgogbXNnc3RyICJFMzE6IEtlaW5lIFp1b3JkbnVuZyBnZWZ1bmRlbiIKIAotIywgZnV6enkKLSN+IG1zZ2lkICJFNDc5OiBObyBtYXRjaCIKLSN+IG1zZ3N0ciAiS2VpbiBUcmVmZmVyIgorbXNnaWQgIkU0Nzk6IE5vIG1hdGNoIgorbXNnc3RyICJFNDc5OiBLZWluIFRyZWZmZXIiCiAKLSMsIGZ1enp5LCBjLWZvcm1hdAotI34gbXNnaWQgIkU0ODA6IE5vIG1hdGNoOiAlcyIKLSN+IG1zZ3N0ciAiS2VpbiBUcmVmZmVyIGb8cjogJXMiCisjLCBjLWZvcm1hdAorbXNnaWQgIkU0ODA6IE5vIG1hdGNoOiAlcyIKK21zZ3N0ciAiRTQ4MDogS2VpbiBUcmVmZmVyOiAlcyIKIAogbXNnaWQgIkUzMjogTm8gZmlsZSBuYW1lIgogbXNnc3RyICJFMzI6IEtlaW4gRGF0ZWluYW1lIgpAQCAtNTIwOCwzNyArNTc4OCwzMyBAQAogbXNnaWQgIkUzNTogTm8gcHJldmlvdXMgcmVndWxhciBleHByZXNzaW9uIgogbXNnc3RyICJFMzU6IEtlaW5lIHZvcmhlcmlnZXIgcmVndWzkcmVyIEF1c2RydWNrIgogCi0jLCBmdXp6eQotI34gbXNnaWQgIkU0ODE6IE5vIHJhbmdlIGFsbG93ZWQiCi0jfiBtc2dzdHIgIkJlcmVpY2ggdW56dWzkc3NpZyIKK21zZ2lkICJFNDgxOiBObyByYW5nZSBhbGxvd2VkIgorbXNnc3RyICJFNDgxOiBLZWluIEJlcmVpY2ggZXJsYXVidCIKIAogbXNnaWQgIkUzNjogTm90IGVub3VnaCByb29tIgotbXNnc3RyICJFMzY6IHp1IHdlbmlnIFBsYXR6IgorbXNnc3RyICJFMzY6IFp1IHdlbmlnIFBsYXR6IgogCiAjLCBjLWZvcm1hdAogbXNnaWQgIkUyNDc6IG5vIHJlZ2lzdGVyZWQgc2VydmVyIG5hbWVkIFwiJXNcIiIKIG1zZ3N0ciAiRTI0NzogS2VpbiByZWdpc3RyaWVydGVyIFNlcnZlci1OYW1lIFwiJXNcIiIKIAotIywgZnV6enksIGMtZm9ybWF0Ci0jfiBtc2dpZCAiRTQ4MjogQ2FuJ3QgY3JlYXRlIGZpbGUgJXMiCi0jfiBtc2dzdHIgIkRhdGVpIGthbm4gbmljaHQgZXJ6ZXVndCB3ZXJkZW46ICVzIgorIywgYy1mb3JtYXQKK21zZ2lkICJFNDgyOiBDYW4ndCBjcmVhdGUgZmlsZSAlcyIKK21zZ3N0ciAiRTQ4MjogS2FubiBEYXRlaSAlcyBuaWNodCBlcnpldWdlbiIKIAotIywgZnV6enkKLSN+IG1zZ2lkICJFNDgzOiBDYW4ndCBnZXQgdGVtcCBmaWxlIG5hbWUiCi0jfiBtc2dzdHIgInRlbXAtRGF0ZWkga2FubiBuaWNodCBlcnpldWd0IHdlcmRlbiIKK21zZ2lkICJFNDgzOiBDYW4ndCBnZXQgdGVtcCBmaWxlIG5hbWUiCittc2dzdHIgIkU0ODM6IEthbm4gZGVuIE5hbWVuIGRlciB0ZW1wb3LkcmVuIERhdGVpIG5pY2h0IGVybWl0dGVsbiIKIAotIywgZnV6enksIGMtZm9ybWF0Ci0jfiBtc2dpZCAiRTQ4NDogQ2FuJ3Qgb3BlbiBmaWxlICVzIgotI34gbXNnc3RyICJFNDU2OiBEYXRlaSBcIiVzXCIga2FubiBuaWNodCBnZfZmZm5ldCB3ZXJkZW4iCisjLCBjLWZvcm1hdAorbXNnaWQgIkU0ODQ6IENhbid0IG9wZW4gZmlsZSAlcyIKK21zZ3N0ciAiRTQ4NDogS2FubiBkaWUgRGF0ZWkgJXMgbmljaHQg9mZmbmVuIgogCi0jLCBmdXp6eSwgYy1mb3JtYXQKLSN+IG1zZ2lkICJFNDg1OiBDYW4ndCByZWFkIGZpbGUgJXMiCi0jfiBtc2dzdHIgIkRhdGVpICVzIGthbm4gbmljaHQgZ2VsZXNlbiB3ZXJkZW4iCisjLCBjLWZvcm1hdAorbXNnaWQgIkU0ODU6IENhbid0IHJlYWQgZmlsZSAlcyIKK21zZ3N0ciAiRTQ4NTogS2FubiBEYXRlaSAlcyBuaWNodCBsZXNlbiIKIAotIywgZnV6enkKLSN+IG1zZ2lkICJFMzc6IE5vIHdyaXRlIHNpbmNlIGxhc3QgY2hhbmdlIChhZGQgISB0byBvdmVycmlkZSkiCi0jfiBtc2dzdHIgIiIKLSN+ICJFMzc6IHNlaXQgZGVyIGxldHp0ZW4gxG5kZXJ1bmcgd3VyZGUgbmljaHQgZ2VzY2hyaWViZW4gKGVyendpbmdlIG1pdCAhKSIKK21zZ2lkICJFMzc6IE5vIHdyaXRlIHNpbmNlIGxhc3QgY2hhbmdlIChhZGQgISB0byBvdmVycmlkZSkiCittc2dzdHIgIkUzNzogS2VpbiBTY2hyZWlidm9yZ2FuZyBzZWl0IGRlciBsZXR6dGVuIMRuZGVydW5nIChlcnp3aW5nZSBtaXQgISkiCiAKIG1zZ2lkICJFMzg6IE51bGwgYXJndW1lbnQiCiBtc2dzdHIgIkUzODogTnVsbC1Bcmd1bWVudCIKQEAgLTUyNTksMzEgKzU4MzUsMzAgQEAKIG1zZ2lkICJQYXR0ZXJuIG5vdCBmb3VuZCIKIG1zZ3N0ciAiTXVzdGVyIG5pY2h0IGdlZnVuZGVuIgogCi0jLCBmdXp6eSwgYy1mb3JtYXQKLSN+IG1zZ2lkICJFNDg2OiBQYXR0ZXJuIG5vdCBmb3VuZDogJXMiCi0jfiBtc2dzdHIgIk11c3RlciBuaWNodCBnZWZ1bmRlbjogJXMiCisjLCBjLWZvcm1hdAorbXNnaWQgIkU0ODY6IFBhdHRlcm4gbm90IGZvdW5kOiAlcyIKK21zZ3N0ciAiRTQ4NjogTXVzdGVyIG5pY2h0IGdlZnVuZGVuOiAlcyIKIAotIywgZnV6enkKLSN+IG1zZ2lkICJFNDg3OiBBcmd1bWVudCBtdXN0IGJlIHBvc2l0aXZlIgotI34gbXNnc3RyICJBcmd1bWVudCBtdXNzIHBvc2l0aXYgc2VpbiIKK21zZ2lkICJFNDg3OiBBcmd1bWVudCBtdXN0IGJlIHBvc2l0aXZlIgorbXNnc3RyICJFNDg3OiBBcmd1bWVudCBtdXNzIHBvc2l0aXYgc2VpbiIKIAotIywgZnV6enkKLSN+IG1zZ2lkICJFNDU5OiBDYW5ub3QgZ28gYmFjayB0byBwcmV2aW91cyBkaXJlY3RvcnkiCi0jfiBtc2dzdHIgIkUxODY6IEtlaW4gdm9yaGVyaWdlcyBWZXJ6ZWljaG5pcyIKK21zZ2lkICJFNDU5OiBDYW5ub3QgZ28gYmFjayB0byBwcmV2aW91cyBkaXJlY3RvcnkiCittc2dzdHIgIkU0NTk6IEthbm4gbmljaHQgaW5zIHZvcmhlcmdlaGVuZGUgVmVyemVpY2huaXMgd2VjaHNlbG4iCiAKIG1zZ2lkICJFNDI6IE5vIEVycm9ycyIKIG1zZ3N0ciAiRTQyOiBLZWluIEZlaGxlciIKIAorbXNnaWQgIkU3NzY6IE5vIGxvY2F0aW9uIGxpc3QiCittc2dzdHIgIkU3NzY6IEtlaW5lIFBvc2l0aW9uc2xpc3RlIgorCiBtc2dpZCAiRTQzOiBEYW1hZ2VkIG1hdGNoIHN0cmluZyIKIG1zZ3N0ciAiRTQzOiBCZXNjaORkaWd0ZXIgU3VjaGF1c2RydWNrIgogCiBtc2dpZCAiRTQ0OiBDb3JydXB0ZWQgcmVnZXhwIHByb2dyYW0iCiBtc2dzdHIgIkU0NDogc2NoYWRoYWZ0ZXMgcmVnZXhwIFByb2dyYW1tIgogCi0jLCBmdXp6eQotI34gbXNnaWQgIkU0NTogJ3JlYWRvbmx5JyBvcHRpb24gaXMgc2V0IChhZGQgISB0byBvdmVycmlkZSkiCi0jfiBtc2dzdHIgIiIKLSN+ICJFNDU6IERpZSBTY2hyZWlic2NodXR6LU9wdGlvbiAncmVhZG9ubHknIGlzdCBnZXNldHp0IChlcnp3aW5nZSBtaXQgISkiCittc2dpZCAiRTQ1OiAncmVhZG9ubHknIG9wdGlvbiBpcyBzZXQgKGFkZCAhIHRvIG92ZXJyaWRlKSIKK21zZ3N0ciAiRTQ1OiBEaWUgT3B0aW9uICdyZWFkb25seScgaXN0IGdlc2V0enQgKGVyendpbmdlIG1pdCAhKSIKIAogIywgYy1mb3JtYXQKIG1zZ2lkICJFNDY6IENhbm5vdCBzZXQgcmVhZC1vbmx5IHZhcmlhYmxlIFwiJXNcIiIKQEAgLTUyOTUsOSArNTg3MCw4IEBACiBtc2dpZCAiRTQ4OiBOb3QgYWxsb3dlZCBpbiBzYW5kYm94IgogbXNnc3RyICJFNDg6IEluIGVpbmVyIFNhbmRib3ggbmljaHQgZXJsYXVidCIKIAotIywgZnV6enkKLSN+IG1zZ2lkICJFNTIzOiBOb3QgYWxsb3dlZCBoZXJlIgotI34gbXNnc3RyICJoaWVyIG5pY2h0IGVybGF1YnQiCittc2dpZCAiRTUyMzogTm90IGFsbG93ZWQgaGVyZSIKK21zZ3N0ciAiRTUyMzogSGllciBuaWNodCBlcmxhdWJ0IgogCiBtc2dpZCAiRTM1OTogU2NyZWVuIG1vZGUgc2V0dGluZyBub3Qgc3VwcG9ydGVkIgogbXNnc3RyICJFMzU5OiBCaWxkc2NoaXJtIE1vZHVzIHdpcmQgbmljaHQgdW50ZXJzdPx0enQiCkBAIC01MzI0LDI4ICs1ODk4LDI1IEBACiBtc2dzdHIgIkU3NTogTmFtZSB6dSBsYW5nIgogCiBtc2dpZCAiRTc2OiBUb28gbWFueSBbIgotbXNnc3RyICJFNzY6IHp1IHZpZWxlIFsiCittc2dzdHIgIkU3NjogWnUgdmllbGUgWyIKIAogbXNnaWQgIkU3NzogVG9vIG1hbnkgZmlsZSBuYW1lcyIKLW1zZ3N0ciAiRTc3OiB6dSB2aWVsZSBEYXRlaW5hbWVuIgorbXNnc3RyICJFNzc6IFp1IHZpZWxlIERhdGVpbmFtZW4iCiAKLSMsIGZ1enp5Ci0jfiBtc2dpZCAiRTQ4ODogVHJhaWxpbmcgY2hhcmFjdGVycyIKLSN+IG1zZ3N0ciAi3GJlcnNjaPxzc2lnZSBaZWljaGVuIgorbXNnaWQgIkU0ODg6IFRyYWlsaW5nIGNoYXJhY3RlcnMiCittc2dzdHIgIkU0ODg6INxiZXJzY2j8c3NpZ2UgWmVpY2hlbiIKIAogbXNnaWQgIkU3ODogVW5rbm93biBtYXJrIgogbXNnc3RyICJFNzg6IFVuYmVrYW5udGUgTWFyayIKIAogbXNnaWQgIkU3OTogQ2Fubm90IGV4cGFuZCB3aWxkY2FyZHMiCi1tc2dzdHIgIkU3OTogS2FubiBcIndpbGRjYXJkc1wiIG5pY2h0IGVyd2VpdGVybiIKK21zZ3N0ciAiRTc5OiBLYW5uIGRpZSBQbGF0emhhbHRlciBuaWNodCBlcndlaXRlcm4iCiAKLSMsIGZ1enp5Ci0jfiBtc2dpZCAiRTU5MTogJ3dpbmhlaWdodCcgY2Fubm90IGJlIHNtYWxsZXIgdGhhbiAnd2lubWluaGVpZ2h0JyIKLSN+IG1zZ3N0ciAiJ3dpbmhlaWdodCcga2FubiBuaWNodCBrbGVpbmVyIHNlaW4gYWxzICd3aW5taW5oZWlnaHQnIgorbXNnaWQgIkU1OTE6ICd3aW5oZWlnaHQnIGNhbm5vdCBiZSBzbWFsbGVyIHRoYW4gJ3dpbm1pbmhlaWdodCciCittc2dzdHIgIkU1OTE6ICd3aW5oZWlnaHQnIGRhcmYgbmljaHQga2xlaW5lciBzZWluIGFscyAnd2lubWluaGVpZ2h0JyIKIAotIywgZnV6enkKLSN+IG1zZ2lkICJFNTkyOiAnd2lud2lkdGgnIGNhbm5vdCBiZSBzbWFsbGVyIHRoYW4gJ3dpbm1pbndpZHRoJyIKLSN+IG1zZ3N0ciAiJ3dpbndpZHRoJyBrYW5uIG5pY2h0IGtsZWluZXIgc2VpbiBhbHMgJ3dpbm1pbndpZHRoJyIKK21zZ2lkICJFNTkyOiAnd2lud2lkdGgnIGNhbm5vdCBiZSBzbWFsbGVyIHRoYW4gJ3dpbm1pbndpZHRoJyIKK21zZ3N0ciAiRTU5MjogJ3dpbndpZHRoIGRhcmYgbmljaHQga2xlaW5lciBzZWluIGFscyAnd2lubWlud2lkdGgnIgogCiBtc2dpZCAiRTgwOiBFcnJvciB3aGlsZSB3cml0aW5nIgogbXNnc3RyICJFODA6IEZlaGxlciB35GhyZW5kIGRlcyBTY2hyZWliZW5zIgpAQCAtNTM1Nyw1MyArNTkyOCw2NiBAQAogbXNnc3RyICJFODE6IDxTSUQ+IHd1cmRlIG5pY2h0IGluIGVpbmVyIFNrcmlwdC1VbWdlYnVuZyBiZW51dHp0IgogCiBtc2dpZCAiRTQ0OTogSW52YWxpZCBleHByZXNzaW9uIHJlY2VpdmVkIgotbXNnc3RyICJFNDQ5OiB1bmf8bHRpZ2VyIEF1c2RydWNrIgorbXNnc3RyICJFNDQ5OiBVbmf8bHRpZ2VyIEF1c2RydWNrIgogCi0jfiBtc2dpZCAiRTQ2MzogUmVnaW9uIGlzIGd1YXJkZWQsIGNhbm5vdCBtb2RpZnkiCi0jfiBtc2dzdHIgIiIKK21zZ2lkICJFNDYzOiBSZWdpb24gaXMgZ3VhcmRlZCwgY2Fubm90IG1vZGlmeSIKK21zZ3N0ciAiRTQ2MzogUmVnaW9uIGlzdCBnZXNjaPx0enQ7IGtlaW5lIMRuZGVydW5nIG32Z2xpY2giCiAKLSN+IG1zZ2lkICJmdW5jdGlvbiAiCi0jfiBtc2dzdHIgIkZ1bmt0aW9uICIKK21zZ2lkICJFNzQ0OiBOZXRCZWFucyBkb2VzIG5vdCBhbGxvdyBjaGFuZ2VzIGluIHJlYWQtb25seSBmaWxlcyIKK21zZ3N0ciAiRTc0NDogTmV0QmVhbnMgZXJsYXVidCBrZWluZSDEbmRlcnVuZ2VuIGluIHNjaHJlaWJnZXNjaPx0enRlbiBEYXRlaWVuIgogCi0jfiBtc2dpZCAiZXJyb3IgcmVhZGluZyBjc2NvcGUgY29ubmVjdGlvbiAlZCIKLSN+IG1zZ3N0ciAiRmVobGVyIGJlaW0gTGVzZW4gYXVzIGRlciBjc2NvcGUgVmVyYmluZHVuZyAlZCIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTY4NTogSW50ZXJuYWwgZXJyb3I6ICVzIgorbXNnc3RyICJFNjg1OiBJbnRlcm5lciBGZWhsZXI6ICVzIgogCi0jfiBtc2dpZCAiRTI2MDogY3Njb3BlIGNvbm5lY3Rpb24gbm90IGZvdW5kIgotI34gbXNnc3RyICJFMjYwOiBrZWluZSBjc2NvcGUgVmVyYmluZHVuZyBnZWZ1bmRlbiIKK21zZ2lkICJFMzYzOiBwYXR0ZXJuIHVzZXMgbW9yZSBtZW1vcnkgdGhhbiAnbWF4bWVtcGF0dGVybiciCittc2dzdHIgIkUzNjM6IE11c3RlciBiZW72dGlndCBtZWhyIFNwZWljaGVyIGFscyAnbWF4bWVtcGF0dGVybiciCiAKLSN+IG1zZ2lkICJjc2NvcGUgY29ubmVjdGlvbiBjbG9zZWQiCi0jfiBtc2dzdHIgImNzY29wZSBWZXJiaW5kdW5nIGdlc2NobG9zc2VuIgorbXNnaWQgIkU3NDk6IGVtcHR5IGJ1ZmZlciIKK21zZ3N0ciAiRTc0OTogTGVlcmVyIFB1ZmZlciIKIAotI34gbXNnaWQgImNvdWxkbid0IG1hbGxvY1xuIgotI34gbXNnc3RyICJGZWhsZXIgYmVpbSBhbGxvemllcmVuXG4iCittc2dpZCAiRTY4MjogSW52YWxpZCBzZWFyY2ggcGF0dGVybiBvciBkZWxpbWl0ZXIiCittc2dzdHIgIkU2ODI6IFVuZ/xsdGlnZXMgU3VjaG11c3RlciBvZGVyIFRyZW5uemVpY2hlbiIKIAotI34gbXNnaWQgIiUyZCAlLTVsZCAgJS0zNHMgIDxub25lPlxuIgotI34gbXNnc3RyICIlMmQgJS01bGQgICUtMzRzICA8a2VpbmU+XG4iCittc2dpZCAiRTEzOTogRmlsZSBpcyBsb2FkZWQgaW4gYW5vdGhlciBidWZmZXIiCittc2dzdHIgIkUxMzk6IERhdGVpIGlzdCBpbiBlaW5lbSBhbmRlcmVuIFB1ZmZlciBnZWxhZGVuIgogCi0jfiBtc2dpZCAiRTI0OTogY291bGRuJ3QgcmVhZCBWSU0gaW5zdGFuY2UgcmVnaXN0cnkgcHJvcGVydHkiCi0jfiBtc2dzdHIgIiIKLSN+ICJFMjQ5OiBSZWdpc3RyeS1FaWdlbnNjaGFmdCBkZXIgVklNIEluc3Rhbnoga29ubnRlIG5pY2h0IGdlbGVzZW4gd2VyZGVuIgorIywgYy1mb3JtYXQKK21zZ2lkICJFNzY0OiBPcHRpb24gJyVzJyBpcyBub3Qgc2V0IgorbXNnc3RyICJFNzY0OiBPcHRpb24gJyVzJyBpc3QgbmljaHQgZ2VzZXR6dCIKIAotI34gbXNnaWQgIlwiXG4iCi0jfiBtc2dzdHIgIlwiXG4iCittc2dpZCAic2VhcmNoIGhpdCBUT1AsIGNvbnRpbnVpbmcgYXQgQk9UVE9NIgorbXNnc3RyICJTdWNoZSBlcnJlaWNodGUgZGVuIEFORkFORyB1bmQgd3VyZGUgYW0gRU5ERSBmb3J0Z2VzZXR6dCIKIAotI34gbXNnaWQgIi0taGVscFx0XHRTaG93IEdub21lIGFyZ3VtZW50cyIKLSN+IG1zZ3N0ciAiLS1oZWxwXHRcdFplaWdlIEdub21lLUFyZ3VtZW50ZSIKK21zZ2lkICJzZWFyY2ggaGl0IEJPVFRPTSwgY29udGludWluZyBhdCBUT1AiCittc2dzdHIgIlN1Y2hlIGVycmVpY2h0ZSBkYXMgRU5ERSB1bmQgd3VyZGUgYW0gQU5GQU5HIGZvcnRnZXNldHp0IgogCi0jfiBtc2dpZCAiRTQ0ODogVW5rbm93biBmb250OiAlcyIKLSN+IG1zZ3N0ciAiRTQ0ODogVW5iZWthbm50ZSBTY2hyaWZ0YXJ0OiAlcyIKK21zZ2lkICJFZGl0IHdpdGggJm11bHRpcGxlIFZpbXMiCittc2dzdHIgIkVkaXRpZXJlIG1pdCAmbWVocmVyZW4gVmltcyIKIAotI34gbXNnaWQgIiBCTE9DSyIKLSN+IG1zZ3N0ciAiRVIgQkxPQ0siCittc2dpZCAiRWRpdCB3aXRoIHNpbmdsZSAmVmltIgorbXNnc3RyICJFZGl0aWVyZSBtaXQgZWluZW0gJlZpbSIKIAotI34gbXNnaWQgIiBMSU5FIgotI34gbXNnc3RyICJFIFpFSUxFIgorbXNnaWQgIkRpZmYgd2l0aCBWaW0iCittc2dzdHIgIkRpZmZlcmVueiBtaXQgVmltIgogCi0jfiBtc2dpZCAiTGluZWFyIHRhZyBzZWFyY2giCi0jfiBtc2dzdHIgIkxpbmVhcmUgVGFnLVN1Y2hlIgorbXNnaWQgIkVkaXQgd2l0aCAmVmltIgorbXNnc3RyICJFZGl0aWVyZSBtaXQgJlZpbSIKIAotI34gbXNnaWQgIkJpbmFyeSB0YWcgc2VhcmNoIgotI34gbXNnc3RyICJCaW7kcmUgVGFnLVN1Y2hlIgorbXNnaWQgIkVkaXQgd2l0aCBleGlzdGluZyBWaW0gLSAiCittc2dzdHIgIkVkaXRpZXJlIG1pdCB2b3JoYW5kZW5lbSBWaW0gLSAiCiAKLSN+IG1zZ2lkICJDYW4ndCBvcGVuIGZpbGUgJXMiCi0jfiBtc2dzdHIgIkRhdGVpICVzIGthbm4gbmljaHQgZ2X2ZmZuZXQgd2VyZGVuIgorbXNnaWQgIlByZXNzIEVOVEVSIG9yIHR5cGUgY29tbWFuZCB0byBjb250aW51ZSIKK21zZ3N0ciAiQmV05HRpZ2VuIFNpZSBkaWUgRUlOR0FCRVRBU1RFIG9kZXIgZ2ViZW4gU2llIGVpbmVuIEJlZmVobCBlaW4iCisKK21zZ2lkICJFcnJvciBjcmVhdGluZyBwcm9jZXNzOiBDaGVjayBpZiBndmltIGlzIGluIHlvdXIgcGF0aCEiCittc2dzdHIgIkZlaGxlciBiZWltIEVyemV1Z2VuIGRlcyBQcm96ZXNzZXM6INxiZXJwcvxmZW4gU2llLCBvYiBndmltIGluIElocmVtIFBmYWQgaXN0ISIKKworbXNnaWQgImd2aW1leHQuZGxsIGVycm9yIgorbXNnc3RyICJndmltZXh0LmRsbCBGZWhsZXIiCisKK21zZ2lkICJQYXRoIGxlbmd0aCB0b28gbG9uZyEiCittc2dzdHIgIkRpZSBM5G5nZSBkZXMgUGZhZHMgaXN0IHp1IGdyb98hIgorCittc2dpZCAiRWRpdHMgdGhlIHNlbGVjdGVkIGZpbGUocykgd2l0aCBWaW0iCittc2dzdHIgIkVkaXRpZXJ0IGRpZSBhdXNnZXfkaGx0ZShuKSBEYXRlaShlbikgbWl0IFZpbSIKZGlmZiAtLWdpdCBhL3NyYy9wby9pdC5wbyBiL3NyYy9wby9pdC5wbwppbmRleCBiYWFjMzMwLi4yMjk5YzNhIDEwMDY0NAotLS0gYS9zcmMvcG8vaXQucG8KKysrIGIvc3JjL3BvL2l0LnBvCkBAIC0xLDYgKzEsNiBAQAogIyBJdGFsaWFuIFRyYW5zbGF0aW9uIGZvciBWaW0KICMKLSMgRklSU1QgQVVUSE9SIEFudG9uaW8gQ29sb21ibyA8YXpjMTBAeWFob28uY29tPiwgMjAwMAorIyBGSVJTVCBBVVRIT1IgQW50b25pbyBDb2xvbWJvIDxhemMxMDBAZ21haWwuY29tPiwgMjAwMAogIwogIyBPZ25pIGNvbW1lbnRvIOggYmVudmVudXRvLi4uCiAjIEV2ZXJ5IHJlbWFyayBpcyB2ZXJ5IHdlbGNvbWUuLi4KQEAgLTEyLDEyICsxMiwxMiBAQAogbXNnaWQgIiIKIG1zZ3N0ciAiIgogIlByb2plY3QtSWQtVmVyc2lvbjogdmltIDcuMFxuIgotIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA2LTAzLTAzIDA3OjQwKzAxMDBcbiIKLSJQTy1SZXZpc2lvbi1EYXRlOiAgMjAwNi0wMy0wMyAwNzo0MCswMTAwXG4iCi0iTGFzdC1UcmFuc2xhdG9yOiAgIFZsYWQgU2FuZHJpbmkgICA8bWFyY29Ac2FuZHJpbmkuYml6PlxuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA2LTAzLTMxIDA3OjI1KzAyMDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAgMjAwNi0wNC0wMyAxMDowNSswMjAwXG4iCisiTGFzdC1UcmFuc2xhdG9yOiAgIFZsYWQgU2FuZHJpbmkgICA8dmxhZC5nZW50bHlAZ21haWwuY29tPlxuIgogIkxhbmd1YWdlLVRlYW06ICAgICBJdGFsaWFuIgotIiAgICAgICAgICAgICAgICAgICBBbnRvbmlvIENvbG9tYm8gPGF6YzEwQHlhaG9vLmNvbT4iCi0iICAgICAgICAgICAgICAgICAgIFZsYWQgU2FuZHJpbmkgICA8bWFyY29Ac2FuZHJpbmkuYml6PlxuIgorIiAgICAgICAgICAgICAgICAgICBBbnRvbmlvIENvbG9tYm8gPGF6YzEwMEBnbWFpbC5jb20+IgorIiAgICAgICAgICAgICAgICAgICBWbGFkIFNhbmRyaW5pICAgPHZsYWQuZ2VudGx5QGdtYWlsLmNvbT5cbiIKICJNSU1FLVZlcnNpb246IDEuMFxuIgogIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1JU09fODg1OS0xXG4iCiAiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOC1iaXRcbiIKQEAgLTEzNyw4ICsxMzcsOCBAQAogbXNnaWQgImhlbHAiCiBtc2dzdHIgImFpdXRvIgogCi1tc2dpZCAiW2hlbHBdIgotbXNnc3RyICJbYWl1dG9dIgorbXNnaWQgIltIZWxwXSIKK21zZ3N0ciAiW0FpdXRvXSIKIAogbXNnaWQgIltQcmV2aWV3XSIKIG1zZ3N0ciAiW0FudGVwcmltYV0iCkBAIC0xNjIsOCArMTYyLDggQEAKIG1zZ2lkICJbTG9jYXRpb24gTGlzdF0iCiBtc2dzdHIgIltMaXN0YSBMb2NhemlvbmldIgogCi1tc2dpZCAiW0Vycm9yIExpc3RdIgotbXNnc3RyICJbTGlzdGEgRXJyb3JpXSIKK21zZ2lkICJbUXVpY2tmaXggTGlzdF0iCittc2dzdHIgIltMaXN0YSBRdWlja2ZpeF0iCiAKIG1zZ2lkICIiCiAiXG4iCkBAIC0yMjMsOCArMjIzLDggQEAKIG1zZ3N0ciAiIENvbXBsZXRhbWVudG8gS2V5d29yZCAoXk5eUCkiCiAKICMuIGN0cmxfeF9tb2RlID09IDAsIF5QL15OIGNvbXBsLgotbXNnaWQgIiBeWCBtb2RlICheXV5EXkVeRl5JXkteTF5OXk9eUF5TXlVeVl5ZKSIKLW1zZ3N0ciAiIG1vZGFsaXTgIF5YICheXV5EXkVeRl5JXkteTF5OXk9eUF5TXlVeVl5ZKSIKK21zZ2lkICIgXlggbW9kZSAoXl1eRF5FXkZeSV5LXkxeTl5PXlBzXlVeVl5ZKSIKK21zZ3N0ciAiIG1vZGFsaXTgIF5YICheXV5EXkVeRl5JXkteTF5OXk9eUHNeVV5WXlkpIgogCiBtc2dpZCAiIFdob2xlIGxpbmUgY29tcGxldGlvbiAoXkxeTl5QKSIKIG1zZ3N0ciAiIENvbXBsZXRhbWVudG8gTGluZWEgSW50ZXJhICheTF5OXlApIgpAQCAtMjU2LDggKzI1Niw4IEBACiBtc2dpZCAiIE9tbmkgY29tcGxldGlvbiAoXk9eTl5QKSIKIG1zZ3N0ciAiIENvbXBsZXRhbWVudG8gZ2xvYmFsZSAoXk9eTl5QKSIKIAotbXNnaWQgIiBTcGVsbGluZyBzdWdnZXN0aW9uICheU15OXlApIgotbXNnc3RyICIgU3VnZ2VyaW1lbnRvIG9ydG9ncmFmaWNvICheU15OXlApIgorbXNnaWQgIiBTcGVsbGluZyBzdWdnZXN0aW9uIChzXk5eUCkiCittc2dzdHIgIiBTdWdnZXJpbWVudG8gb3J0b2dyYWZpY28gKHNeTl5QKSIKIAogbXNnaWQgIiBLZXl3b3JkIExvY2FsIGNvbXBsZXRpb24gKF5OXlApIgogbXNnc3RyICIgQ29tcGxldGFtZW50byBLZXl3b3JkIExvY2FsZSAoXk5eUCkiCkBAIC00OTQsNiArNDk0LDkgQEAKIG1zZ2lkICJFNjk5OiBUb28gbWFueSBhcmd1bWVudHMiCiBtc2dzdHIgIkU2OTk6IFRyb3BwaSBhcmdvbWVudGkiCiAKK21zZ2lkICJFNzg1OiBjb21wbGV0ZSgpIGNhbiBvbmx5IGJlIHVzZWQgaW4gSW5zZXJ0IG1vZGUiCittc2dzdHIgIkU3ODU6IGNvbXBsZXRlKCkgcHXyIGVzc2VyZSB1c2F0YSBzb2xvIGluIG1vZGFsaXTgIGluc2VyaW1lbnRvIgorCiAjLgogIy4gKiBZZXMgdGhpcyBpcyB1Z2x5LCBJIGRvbid0IHBhcnRpY3VsYXJseSBsaWtlIGl0IGVpdGhlci4gIEJ1dCBkb2luZyBpdAogIy4gKiB0aGlzIHdheSBoYXMgdGhlIGNvbXBlbGxpbmcgYWR2YW50YWdlIHRoYXQgdHJhbnNsYXRpb25zIG5lZWQgbm90IHRvCkBAIC0yMDQwLDYgKzIwNDMsMTIgQEAKIG1zZ2lkICJFNjcyOiBVbmFibGUgdG8gb3BlbiB3aW5kb3cgaW5zaWRlIE1ESSBhcHBsaWNhdGlvbiIKIG1zZ3N0ciAiRTY3MjogTm9uIHBvc3NvIGFwcmlyZSBsYSBmaW5lc3RyYSBpbiB1bidhcHBsaWNhemlvbmUgTURJIgogCittc2dpZCAiQ2xvc2UgdGFiIgorbXNnc3RyICJDaGl1ZGkgbGluZ3VldHRhIgorCittc2dpZCAiT3BlbiB0YWIuLi4iCittc2dzdHIgIkFwcmkgbGluZ3VldHRhLi4uIgorCiBtc2dpZCAiRmluZCBzdHJpbmcgKHVzZSAnXFxcXCcgdG8gZmluZCAgYSAnXFwnKSIKIG1zZ3N0ciAiU3RyaW5nYSBkaSByaWNlcmNhICh1c2EgJ1xcXFwnIHBlciBjZXJjYXJlICB1biAnXFwnKSIKIApAQCAtMjk1MSw2ICsyOTYwLDkgQEAKIG1zZ3N0ciAiIgogIi0tcmVtb3RlLXdhaXQtc2lsZW50IDxmaWxlcz4gIFN0ZXNzYSBjb3NhLCBpZ25vcmEgc2Ugbm9uIGVzaXN0ZSB1biBzZXJ2ZXIiCiAKK21zZ2lkICItLXJlbW90ZS10YWIgPGZpbGVzPiAgQXMgLS1yZW1vdGUgYnV0IG9wZW4gdGFiIHBhZ2UgZm9yIGVhY2ggZmlsZSIKK21zZ3N0ciAiLS1yZW1vdGUtdGFiIDxmaWxlPiAgQ29tZSAtLXJlbW90ZSBtYSBhcHJlIHVuYSBsaW5ndWV0dGEgcGVyIG9nbmkgZmlsZSIKKwogbXNnaWQgIi0tcmVtb3RlLXNlbmQgPGtleXM+XHRTZW5kIDxrZXlzPiB0byBhIFZpbSBzZXJ2ZXIgYW5kIGV4aXQiCiBtc2dzdHIgIi0tcmVtb3RlLXNlbmQgPHRhc3RpPlx0SW52aWEgPHRhc3RpPiBhIHVuIHNlcnZlciBWaW0gZWQgZXNjaSIKIApAQCAtMzQ5OCw3ICszNTEwLDcgQEAKIAogIywgYy1mb3JtYXQKIG1zZ2lkICJFNzczOiBTeW1saW5rIGxvb3AgZm9yIFwiJXNcIiIKLW1zZ3N0ciAiRTc3MzogQ29sbGVnYW1lbnRvIHJpY29yc2l2byBwZXIgXCIlc1wiIgorbXNnc3RyICJFNzczOiBDb2xsZWdhbWVudG8gc2ltYm9saWNvIHJpY29yc2l2byBwZXIgXCIlc1wiIgogCiBtc2dpZCAiRTMyNTogQVRURU5USU9OIgogbXNnc3RyICJFMzI1OiBBVFRFTlpJT05FIgpAQCAtMzg4NCw3ICszODk2LDcgQEAKIG1zZ3N0ciAiRTM1MjogTm9uIHBvc3NvIHRvZ2xpZXJlIHBpZWdhdHVyZSBjb24gaWwgJ2ZvbGRtZXRob2QnIGluIHVzbyIKIAogbXNnaWQgIkU2NjQ6IGNoYW5nZWxpc3QgaXMgZW1wdHkiCi1tc2dzdHIgIkU2NjQ6IGxpc3RhIG1vZGlmaWNoZSBub24gaW1wb3N0YXRhIgorbXNnc3RyICJFNjY0OiBsaXN0YSBtb2RpZmljaGUgYXNzZW50ZSIKIAogbXNnaWQgIkU2NjI6IEF0IHN0YXJ0IG9mIGNoYW5nZWxpc3QiCiBtc2dzdHIgIkU2NjI6IEFsbCdpbml6aW8gZGVsbGEgbGlzdGEgbW9kaWZpY2hlIgpAQCAtNDIxNyw2ICs0MjI5LDkgQEAKIG1zZ2lkICIuLi4odHJ1bmNhdGVkKSIKIG1zZ3N0ciAiLi4uKHRyb25jYXRvKSIKIAorbXNnaWQgIk1lc3NhZ2UiCittc2dzdHIgIk1lc3NhZ2dpbyIKKwogbXNnaWQgIidjb2x1bW5zJyBpcyBub3QgODAsIGNhbm5vdCBleGVjdXRlIGV4dGVybmFsIGNvbW1hbmRzIgogbXNnc3RyICInY29sdW1ucycgbm9uIHZhbGUgODAsIG5vbiByaWVzY28gYWQgZXNlZ3VpcmUgY29tYW5kaSBlc3Rlcm5pIgogCkBAIC00NDQ2LDEwICs0NDYxLDYgQEAKIG1zZ2lkICJFNzc3OiBTdHJpbmcgb3IgTGlzdCBleHBlY3RlZCIKIG1zZ3N0ciAiRTc3NzogYXNwZXR0YXZvIFN0cmluZ2EgbyBMaXN0YSIKIAotIywgYy1mb3JtYXQKLW1zZ2lkICJFMzY5OiBpbnZhbGlkIGl0ZW0gaW4gJXMlJVtdIgotbXNnc3RyICJFMzY5OiBlbGVtZW50byBub24gdmFsaWRvIGluICVzJSVbXSIKLQogbXNnaWQgIkUzMzk6IFBhdHRlcm4gdG9vIGxvbmciCiBtc2dzdHIgIkUzMzk6IEVzcHJlc3Npb25lIHRyb3BwbyBsdW5nYSIKIApAQCAtNDYyNCw2ICs0NjM1LDEwIEBACiBtc2dpZCAiU2Nhbm5pbmcgaW5jbHVkZWQgZmlsZTogJXMiCiBtc2dzdHIgIlNjYW5kaXNjbyBmaWxlIGluY2x1c286ICVzIgogCisjLCBjLWZvcm1hdAorbXNnaWQgIlNlYXJjaGluZyBpbmNsdWRlZCBmaWxlICVzIgorbXNnc3RyICJDZXJjbyBuZWwgZmlsZSBpbmNsdXNvOiAlcyIKKwogbXNnaWQgIkUzODc6IE1hdGNoIGlzIG9uIGN1cnJlbnQgbGluZSIKIG1zZ3N0ciAiRTM4NzogQ29ycmlzcG9uZGVuemEgbmVsbGEgbGluZWEgY29ycmVudGUiCiAKQEAgLTQ3MTQsOCArNDcyOSw4IEBACiBtc2dzdHIgIkZMQUcgZG9wbyBsJ3VzbyBkaSBmbGFncyBpbiAlcyBsaW5lYSAlZDogJXMiCiAKICMsIGMtZm9ybWF0Ci1tc2dpZCAiV3JvbmcgQ09NUE9VTkRNQVggdmFsdWUgaW4gJXMgbGluZSAlZDogJXMiCi1tc2dzdHIgIlZhbG9yZSBlcnJhdG8gcGVyIENPTVBPVU5ETUFYIGluICVzIGxpbmVhICVkOiAlcyIKK21zZ2lkICJXcm9uZyBDT01QT1VORFdPUkRNQVggdmFsdWUgaW4gJXMgbGluZSAlZDogJXMiCittc2dzdHIgIlZhbG9yZSBlcnJhdG8gcGVyIENPTVBPVU5EV09SRE1BWCBpbiAlcyBsaW5lYSAlZDogJXMiCiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiV3JvbmcgQ09NUE9VTkRNSU4gdmFsdWUgaW4gJXMgbGluZSAlZDogJXMiCkBAIC00NzI2LDYgKzQ3NDEsMTAgQEAKIG1zZ3N0ciAiVmFsb3JlIGVycmF0byBwZXIgQ09NUE9VTkRTWUxNQVggaW4gJXMgbGluZWEgJWQ6ICVzIgogCiAjLCBjLWZvcm1hdAorbXNnaWQgIldyb25nIENIRUNLQ09NUE9VTkRQQVRURVJOIHZhbHVlIGluICVzIGxpbmUgJWQ6ICVzIgorbXNnc3RyICJWYWxvcmUgZXJyYXRvIHBlciBDSEVDS0NPTVBPVU5EUEFUVEVSTiBpbiAlcyBsaW5lYSAlZDogJXMiCisKKyMsIGMtZm9ybWF0CiBtc2dpZCAiRGlmZmVyZW50IGNvbWJpbmluZyBmbGFnIGluIGNvbnRpbnVlZCBhZmZpeCBibG9jayBpbiAlcyBsaW5lICVkOiAlcyIKIG1zZ3N0ciAiIgogIkZsYWcgY29tYmluYXppb25lIGRpdmVyc28gaW4gYmxvY2NvIGFmZmlzc2kgY29udGludW8gaW4gJXMgbGluZWEgJWQ6ICVzIgpAQCAtNDc1MSw2ICs0NzcwLDEwIEBACiBtc2dzdHIgIkNvbmRpemlvbmUgbm9uIHJpc3BldHRhdGEgaW4gJXMgbGluZWEgJWQ6ICVzIgogCiAjLCBjLWZvcm1hdAorbXNnaWQgIkFmZml4IGZsYWdzIGlnbm9yZWQgd2hlbiBQRlhQT1NUUE9ORSB1c2VkIGluICVzIGxpbmUgJWQ6ICVzIgorbXNnc3RyICJGbGFncyBkaSBhZmZpc3NpIGlnbm9yYXRpIGNvbiBQRlhQT1NUUE9ORSBpbiAlcyBsaW5lYSAlZDogJXMiCisKKyMsIGMtZm9ybWF0CiBtc2dpZCAiRXhwZWN0ZWQgUkVQKFNBTCkgY291bnQgaW4gJXMgbGluZSAlZCIKIG1zZ3N0ciAiQ29udGF0b3JlIFJFUChTQUwpIG5lY2Vzc2FyaW8gaW4gJXMgbGluZWEgJWQiCiAKQEAgLTQ5MTksNiArNDk0MiwxNCBAQAogbXNnaWQgIkU3NjU6ICdzcGVsbGZpbGUnIGRvZXMgbm90IGhhdmUgJWxkIGVudHJpZXMiCiBtc2dzdHIgIkU3NjU6ICdzcGVsbGZpbGUnIG5vbiBoYSAlbGQgZWxlbWVudGkiCiAKKyMsIGMtZm9ybWF0Cittc2dpZCAiV29yZCByZW1vdmVkIGZyb20gJXMiCittc2dzdHIgIlBhcm9sYSByaW1vc3NhIGRhICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIldvcmQgYWRkZWQgdG8gJXMiCittc2dzdHIgIlBhcm9sYSBhZ2dpdW50YSBhICVzIgorCiBtc2dpZCAiRTc2MzogV29yZCBjaGFyYWN0ZXJzIGRpZmZlciBiZXR3ZWVuIHNwZWxsIGZpbGVzIgogbXNnc3RyICJFNzYzOiBDYXJhdHRlcmkgZGkgcGFyb2xhIGRpZmZlcmVudGkgbmVpIGZpbGUgb3J0b2dyYWZpY2kiCiAKQEAgLTUyODQsMTUgKzUzMTUsNTIgQEAKIG1zZ2lkICJObyB1bmRvIHBvc3NpYmxlOyBjb250aW51ZSBhbnl3YXkiCiBtc2dzdHIgIid1bmRvJyBub24gcGn5IHBvc3NpYmlsZTsgY29udGludW8gY29tdW5xdWUiCiAKK21zZ2lkICJBbHJlYWR5IGF0IG9sZGVzdCBjaGFuZ2UiCittc2dzdHIgIlF1ZXN0YSDoIGdp4CBsYSBwcmltYSBtb2RpZmljYSIKKworbXNnaWQgIkFscmVhZHkgYXQgbmV3ZXN0IGNoYW5nZSIKK21zZ3N0ciAiUXVlc3RhIOggZ2ngIGwndWx0aW1hIG1vZGlmaWNhIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIlVuZG8gbnVtYmVyICVsZCBub3QgZm91bmQiCittc2dzdHIgIlVuZG8gbnVtZXJvICVsZCBub24gdHJvdmF0byIKKwogbXNnaWQgIkU0Mzg6IHVfdW5kbzogbGluZSBudW1iZXJzIHdyb25nIgogbXNnc3RyICJFNDM4OiB1X3VuZG86IG51bWVyaSBsaW5lZSBlcnJhdGkiCiAKLW1zZ2lkICIxIGNoYW5nZSIKLW1zZ3N0ciAiMSBtb2RpZmljYSIKK21zZ2lkICJtb3JlIGxpbmUiCittc2dzdHIgImxpbmVhIGluIHBp+SIKKworbXNnaWQgIm1vcmUgbGluZXMiCittc2dzdHIgImxpbmVlIGluIHBp+SIKKworbXNnaWQgImxpbmUgbGVzcyIKK21zZ3N0ciAibGluZWEgaW4gbWVubyIKKworbXNnaWQgImZld2VyIGxpbmVzIgorbXNnc3RyICJsaW5lZSBpbiBtZW5vIgorCittc2dpZCAiY2hhbmdlIgorbXNnc3RyICJtb2RpZmljYSIKKworbXNnaWQgImNoYW5nZXMiCittc2dzdHIgIm1vZGlmaWNoZSIKIAogIywgYy1mb3JtYXQKLW1zZ2lkICIlbGQgY2hhbmdlcyIKLW1zZ3N0ciAiJWxkIG1vZGlmaWNoZSIKK21zZ2lkICIlbGQgJXM7ICVzICMlbGQgICVzIgorbXNnc3RyICIlbGQgJXM7ICVzICMlbGQgICVzIgorCittc2dpZCAiYmVmb3JlIgorbXNnc3RyICJwcmltYSIKKworbXNnaWQgImFmdGVyIgorbXNnc3RyICJkb3BvIgorCittc2dpZCAiTm90aGluZyB0byB1bmRvIgorbXNnc3RyICJOZXNzdW5hIG1vZGlmaWNhLCBVbmRvIGltcG9zc2liaWxlIgorCittc2dpZCAibnVtYmVyIGNoYW5nZXMgIHRpbWUiCittc2dzdHIgIm51bWVybyBtb2RpZi4gICBvcmEiCiAKIG1zZ2lkICJFNDM5OiB1bmRvIGxpc3QgY29ycnVwdCIKIG1zZ3N0ciAiRTQzOTogbGlzdGEgJ3VuZG8nIG5vbiB2YWxpZGEiCkBAIC01OTIyLDcgKzU5OTAsNyBAQAogbXNnc3RyICJFNzI6IEVycm9yZSBkdXJhbnRlIGNoaXVzdXJhIHN3YXAgZmlsZSIKIAogbXNnaWQgIkU3MzogdGFnIHN0YWNrIGVtcHR5IgotbXNnc3RyICJFNzM6IHRhZyBzdGFjayBub24gaW1wb3N0YXRhIgorbXNnc3RyICJFNzM6IHRhZyBzdGFjayBhbmNvcmEgdnVvdG8iCiAKIG1zZ2lkICJFNzQ6IENvbW1hbmQgdG9vIGNvbXBsZXgiCiBtc2dzdHIgIkU3NDogQ29tYW5kbyB0cm9wcG8gY29tcGxlc3NvIgpkaWZmIC0tZ2l0IGEvc3JjL3BvL3BsLlVURi04LnBvIGIvc3JjL3BvL3BsLlVURi04LnBvCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZiODgxZTQKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvcG8vcGwuVVRGLTgucG8KQEAgLTAsMCArMSw2MDQzIEBACisjIHRyYW5zbGF0aW9uIG9mIHBsLnBvIHRvIFBvbGlzaAorIyBQb2xpc2ggVHJhbnNsYXRpb24gZm9yIFZpbQorIworIyB1cGRhdGVkIDIwMDUgZm9yIHZpbS03LjAKKyMKKyMgRklSU1QgQVVUSE9SIE1hcmNpbiBEYWxlY2tpIDxtYXJ0aW5AZGFsZWNraS5kZT4sIDIwMDAuCisjIE1pa29sYWogTWFjaG93c2tpIDxtaWttYWNoQHdwLnBsPiwgMjAwNCwgMjAwNSwgMjAwNi4KK21zZ2lkICIiCittc2dzdHIgIiIKKyJQcm9qZWN0LUlkLVZlcnNpb246IHBsXG4iCisiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IFxuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA2LTA0LTAxIDE4OjI0KzAyMDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDA2LTA0LTAxIDE4OjM5KzAyMDBcbiIKKyJMYXN0LVRyYW5zbGF0b3I6IE1pa29sYWogTWFjaG93c2tpIDxtaWttYWNoQHdwLnBsPlxuIgorIkxhbmd1YWdlLVRlYW06IFBvbGlzaCA8bWlrbWFjaEB3cC5wbD5cbiIKKyJNSU1FLVZlcnNpb246IDEuMFxuIgorIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOFxuIgorIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKKyJYLUdlbmVyYXRvcjogS0JhYmVsIDEuMTEuMlxuIgorCittc2dpZCAiRTgyOiBDYW5ub3QgYWxsb2NhdGUgYW55IGJ1ZmZlciwgZXhpdGluZy4uLiIKK21zZ3N0ciAiRTgyOiBOaWUgbW9nxJkgemFyZXplcndvd2HEhyBidWZvcmE7IHpha2/FhGN6ZW5pZS4uLiIKKworbXNnaWQgIkU4MzogQ2Fubm90IGFsbG9jYXRlIGJ1ZmZlciwgdXNpbmcgb3RoZXIgb25lLi4uIgorbXNnc3RyICJFODM6IE5pZSBtb2fEmSB6YXJlemVyd293YcSHIGJ1Zm9yYTsgdcW8eXdhbSBpbm5lZ28uLi4iCisKK21zZ2lkICJFNTE1OiBObyBidWZmZXJzIHdlcmUgdW5sb2FkZWQiCittc2dzdHIgIkU1MTU6IE5pZSB3ecWCYWRvd2FubyDFvGFkbmVnbyBidWZvcmEiCisKK21zZ2lkICJFNTE2OiBObyBidWZmZXJzIHdlcmUgZGVsZXRlZCIKK21zZ3N0ciAiRTUxNjogTmllIHNrYXNvd2FubyDFvGFkbmVnbyBidWZvcmEiCisKK21zZ2lkICJFNTE3OiBObyBidWZmZXJzIHdlcmUgd2lwZWQgb3V0IgorbXNnc3RyICJFNTE3OiBOaWUgd3lyenVjb25vIMW8YWRuZWdvIGJ1Zm9yYSIKKworbXNnaWQgIjEgYnVmZmVyIHVubG9hZGVkIgorbXNnc3RyICIxIGJ1Zm9yIHd5xYJhZG93YW55IgorCisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIGJ1ZmZlcnMgdW5sb2FkZWQiCittc2dzdHIgInd5xYJhZG93YW5vICVkIGJ1Zm9yw7N3IgorCittc2dpZCAiMSBidWZmZXIgZGVsZXRlZCIKK21zZ3N0ciAiMSBidWZvciBza2Fzb3dhbnkiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgYnVmZmVycyBkZWxldGVkIgorbXNnc3RyICIlZCBidWZvcsOzdyBza2Fzb3dhbm8iCisKK21zZ2lkICIxIGJ1ZmZlciB3aXBlZCBvdXQiCittc2dzdHIgInd5cnp1Y29ubyAxIGJ1Zm9yICIKKworIywgYy1mb3JtYXQKK21zZ2lkICIlZCBidWZmZXJzIHdpcGVkIG91dCIKK21zZ3N0ciAid3lyenVjb25vICVkIGJ1Zm9yw7N3IgorCittc2dpZCAiRTg0OiBObyBtb2RpZmllZCBidWZmZXIgZm91bmQiCittc2dzdHIgIkU4NDogTmllIHpuYWxlemlvbm8gem1pZW5pb255Y2ggYnVmb3LDs3ciCisKKyMuIGJhY2sgd2hlcmUgd2Ugc3RhcnRlZCwgZGlkbid0IGZpbmQgYW55dGhpbmcuCittc2dpZCAiRTg1OiBUaGVyZSBpcyBubyBsaXN0ZWQgYnVmZmVyIgorbXNnc3RyICJFODU6IE5pZSBtYSB3eWxpc3Rvd2FueWNoIGJ1Zm9yw7N3IgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkU4NjogQnVmZmVyICVsZCBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiRTg2OiBCdWZvciBcIiVsZFwiIG5pZSBpc3RuaWVqZSIKKworbXNnaWQgIkU4NzogQ2Fubm90IGdvIGJleW9uZCBsYXN0IGJ1ZmZlciIKK21zZ3N0ciAiRTg3OiBOaWUgbW9nxJkgcHJ6ZWrFm8SHIHBvemEgb3N0YXRuaSBidWZvciIKKworbXNnaWQgIkU4ODogQ2Fubm90IGdvIGJlZm9yZSBmaXJzdCBidWZmZXIiCittc2dzdHIgIkU4ODogTmllIG1vZ8SZIHByemVqxZvEhyBwcnplZCBwaWVyd3N6eSBidWZvciIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFODk6IE5vIHdyaXRlIHNpbmNlIGxhc3QgY2hhbmdlIGZvciBidWZmZXIgJWxkIChhZGQgISB0byBvdmVycmlkZSkiCittc2dzdHIgIkU4OSBOaWUgemFwaXNhbm8gem1pYW4gdyBidWZvcnplICVsZCAod3ltdcWbIHByemV6ICEpIgorCittc2dpZCAiRTkwOiBDYW5ub3QgdW5sb2FkIGxhc3QgYnVmZmVyIgorbXNnc3RyICJFOTA6IE5pZSBtb2fEmSB3ecWCYWRvd2HEhyBvc3RhdG5pZWdvIGJ1Zm9yYSIKKworbXNnaWQgIlcxNDogV2FybmluZzogTGlzdCBvZiBmaWxlIG5hbWVzIG92ZXJmbG93IgorbXNnc3RyICJXMTQ6IE9TVFJaRcW7RU5JRTogUHJ6ZXBlxYJuaWVuaWUgbGlzdHkgbmF6dyBwbGlrw7N3IgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkU5MjogQnVmZmVyICVsZCBub3QgZm91bmQiCittc2dzdHIgIkU5MjogTmllIHpuYWxlemlvbm8gYnVmb3JhICVsZCIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFOTM6IE1vcmUgdGhhbiBvbmUgbWF0Y2ggZm9yICVzIgorbXNnc3RyICJFOTM6IFdpZWxva3JvdG5lIGRvcGFzb3dhbmlhIGRsYSAlcyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFOTQ6IE5vIG1hdGNoaW5nIGJ1ZmZlciBmb3IgJXMiCittc2dzdHIgIkU5NDogxbthZGVuIGJ1Zm9yIG5pZSBwYXN1amUgZG8gJXMiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAibGluZSAlbGQiCittc2dzdHIgIndpZXJzeiAlbGQiCisKK21zZ2lkICJFOTU6IEJ1ZmZlciB3aXRoIHRoaXMgbmFtZSBhbHJlYWR5IGV4aXN0cyIKK21zZ3N0ciAiRTk1OiBCdWZvciBvIHRlaiBuYXp3aWUganXFvCBpc3RuaWVqZSIKKworbXNnaWQgIiBbTW9kaWZpZWRdIgorbXNnc3RyICIgW1ptaWVuaW9ueV0iCisKK21zZ2lkICJbTm90IGVkaXRlZF0iCittc2dzdHIgIltOaWUgZWR5dG93YW55XSIKKworbXNnaWQgIltOZXcgZmlsZV0iCittc2dzdHIgIltOb3d5IFBsaWtdIgorCittc2dpZCAiW1JlYWQgZXJyb3JzXSIKK21zZ3N0ciAiW0LFgsSFZCBvZGN6eXR1XSIKKworbXNnaWQgIltyZWFkb25seV0iCittc2dzdHIgIlt0eWxrbyBvZGN6eXRdIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIjEgbGluZSAtLSVkJSUtLSIKK21zZ3N0ciAiMSB3aWVyc3ogLS0lZCUlLS0iCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWxkIGxpbmVzIC0tJWQlJS0tIgorbXNnc3RyICIlbGQgd2llcnN6ZSAtLSVkJSUtLSIKKworIywgYy1mb3JtYXQKK21zZ2lkICJsaW5lICVsZCBvZiAlbGQgLS0lZCUlLS0gY29sICIKK21zZ3N0ciAid2llcnN6ICVsZCB6ICVsZCAtLSVkJSUtLSBrb2wgIgorCittc2dpZCAiW05vIE5hbWVdIgorbXNnc3RyICJbQmV6IG5hend5XSIKKworIy4gbXVzdCBiZSBhIGhlbHAgYnVmZmVyCittc2dpZCAiaGVscCIKK21zZ3N0ciAicG9tb2MiCisKK21zZ2lkICJbSGVscF0iCittc2dzdHIgIltQb21vY10iCisKK21zZ2lkICJbUHJldmlld10iCittc2dzdHIgIltQb2RnbMSFZF0iCisKK21zZ2lkICJBbGwiCittc2dzdHIgIldzenlzdGtvIgorCittc2dpZCAiQm90IgorbXNnc3RyICJEw7PFgiIKKworbXNnaWQgIlRvcCIKK21zZ3N0ciAiR8OzcmEiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiMgQnVmZmVyIGxpc3Q6XG4iCittc2dzdHIgIiIKKyJcbiIKKyIjIExpc3RhIGJ1Zm9yw7N3OlxuIgorCittc2dpZCAiW0xvY2F0aW9uIExpc3RdIgorbXNnc3RyICJbTGlzdGEgbG9rYWNqaV0iCisKK21zZ2lkICJbUXVpY2tmaXggTGlzdF0iCittc2dzdHIgIltMaXN0YSBxdWlja2ZpeF0iCisKK21zZ2lkICIiCisiXG4iCisiLS0tIFNpZ25zIC0tLSIKK21zZ3N0ciAiIgorIlxuIgorIi0tLSBabmFraSAtLS0iCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2lnbnMgZm9yICVzOiIKK21zZ3N0ciAiWm5ha2kgZGxhICVzOiIKKworIywgYy1mb3JtYXQKK21zZ2lkICIgICAgbGluZT0lbGQgIGlkPSVkICBuYW1lPSVzIgorbXNnc3RyICIgICAgd2llcnN6PSVsZCAgaWQ9JWQgIG5hendhPSVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkU5NjogQ2FuIG5vdCBkaWZmIG1vcmUgdGhhbiAlbGQgYnVmZmVycyIKK21zZ3N0ciAiRTk2OiBOaWUgbW9nxJkgenLDs8W8bmljb3dhxIcgd2nEmWNlaiBuacW8ICVsZCBidWZvcsOzdyIKKworbXNnaWQgIkU5NzogQ2Fubm90IGNyZWF0ZSBkaWZmcyIKK21zZ3N0ciAiRTk3OiBOaWUgbW9nxJkgc3R3b3J6ecSHIHLDs8W8bmljIgorCittc2dpZCAiUGF0Y2ggZmlsZSIKK21zZ3N0ciAiUGxpayDFgmF0YSIKKworbXNnaWQgIkU5ODogQ2Fubm90IHJlYWQgZGlmZiBvdXRwdXQiCittc2dzdHIgIkU5ODogTmllIG1vZ8SZIHdjenl0YcSHIHd5asWbY2lhIHLDs8W8bmljeSIKKworbXNnaWQgIkU5OTogQ3VycmVudCBidWZmZXIgaXMgbm90IGluIGRpZmYgbW9kZSIKK21zZ3N0ciAiRTk5OiBCaWXFvMSFY3kgYnVmb3IgbmllIGplc3QgdyB0cnliaWUgcsOzxbxuaWMiCisKK21zZ2lkICJFMTAwOiBObyBvdGhlciBidWZmZXIgaW4gZGlmZiBtb2RlIgorbXNnc3RyICJFMTAwOiBCcmFrIGlubmVnbyBidWZvcmEgdyB0cnliaWUgcsOzxbxuaWMiCisKK21zZ2lkICJFMTAxOiBNb3JlIHRoYW4gdHdvIGJ1ZmZlcnMgaW4gZGlmZiBtb2RlLCBkb24ndCBrbm93IHdoaWNoIG9uZSB0byB1c2UiCittc2dzdHIgIkUxMDE6IFdpxJljZWogbmnFvCBqZWRlbiBidWZvciB3IHRyeWJpZSByw7PFvG5pY293YW5pYSwgbmllIHdpZW0ga3TDs3JlZ28gdcW8ecSHIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkUxMDI6IENhbid0IGZpbmQgYnVmZmVyIFwiJXNcIiIKK21zZ3N0ciAiRTEwMjogTmllIG1vZ8SZIHpuYWxlxbrEhyBidWZvcmEgXCIlc1wiIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkUxMDM6IEJ1ZmZlciBcIiVzXCIgaXMgbm90IGluIGRpZmYgbW9kZSIKK21zZ3N0ciAiRTEwMzogQnVmb3IgXCIlc1wiIG5pZSBqZXN0IHcgdHJ5YmllIHLDs8W8bmljb3dhbmlhIgorCittc2dpZCAiRTEwNDogRXNjYXBlIG5vdCBhbGxvd2VkIGluIGRpZ3JhcGgiCittc2dzdHIgIkUxMDQ6IEVzY2FwZSBqZXN0IG5pZWRvendvbG9uZSB3IGR3dWdyYWZpZSIKKworbXNnaWQgIkU1NDQ6IEtleW1hcCBmaWxlIG5vdCBmb3VuZCIKK21zZ3N0ciAiRTU0NDogTmllIHpuYWxlemlvbm8gcGxpa3Ugcm96a8WCYWR1IGtsYXdpc3p5IgorCittc2dpZCAiRTEwNTogVXNpbmcgOmxvYWRrZXltYXAgbm90IGluIGEgc291cmNlZCBmaWxlIgorbXNnc3RyICJFMTA1OiBaYXN0b3Nvd2FubyA6bG9hZGtleW1hcCB3IG5pZXdjenl0YW55bSBwbGlrdSIKKworbXNnaWQgIiBLZXl3b3JkIGNvbXBsZXRpb24gKF5OXlApIgorbXNnc3RyICIgRG9wZcWCbmlhbmllIHPFgsOzdyBrbHVjem93eWNoICheTl5QKSIKKworIy4gY3RybF94X21vZGUgPT0gMCwgXlAvXk4gY29tcGwuCittc2dpZCAiIF5YIG1vZGUgKF5dXkReRV5GXkleS15MXk5eT15QXlNeVV5WXlkpIgorbXNnc3RyICIgXlggdHJ5YiAoXl1eRF5FXkZeSV5LXkxeTl5PXlBeU15VXlZeWSkiCisKK21zZ2lkICIgV2hvbGUgbGluZSBjb21wbGV0aW9uICheTF5OXlApIgorbXNnc3RyICIgRG9wZcWCbmlhbmllIHBlxYJueWNoIHdpZXJzenkgKF5MXk5eUCkiCisKK21zZ2lkICIgRmlsZSBuYW1lIGNvbXBsZXRpb24gKF5GXk5eUCkiCittc2dzdHIgIiBEb3BlxYJuaWFuaWUgbmF6dyBwbGlrw7N3ICheRl5OXlApIgorCittc2dpZCAiIFRhZyBjb21wbGV0aW9uICheXV5OXlApIgorbXNnc3RyICIgRG9wZcWCbmlhbmllIHpuYWN6bmlrw7N3ICheXV5OXlApIgorCittc2dpZCAiIFBhdGggcGF0dGVybiBjb21wbGV0aW9uICheTl5QKSIKK21zZ3N0ciAiIERvcGXFgm5pYW5pZSB3em9yY8OzdyB0cm9ww7N3ICheTl5QKSIKKworbXNnaWQgIiBEZWZpbml0aW9uIGNvbXBsZXRpb24gKF5EXk5eUCkiCittc2dzdHIgIiBEb3BlxYJuaWFuaWUgZGVmaW5pY2ppICheRF5OXlApIgorCittc2dpZCAiIERpY3Rpb25hcnkgY29tcGxldGlvbiAoXkteTl5QKSIKK21zZ3N0ciAiIERvcGXFgm5pYW5pZSB6ZSBzxYJvd25pa8OzdyAoXkteTl5QKSIKKworbXNnaWQgIiBUaGVzYXVydXMgY29tcGxldGlvbiAoXlReTl5QKSIKK21zZ3N0ciAiIERvcGXFgm5pYW5pZSB6IHRlemF1cnVzYSAoXlReTl5QKSIKKworbXNnaWQgIiBDb21tYW5kLWxpbmUgY29tcGxldGlvbiAoXlZeTl5QKSIKK21zZ3N0ciAiIERvcGXFgm5pYW5pZSB3aWVyc3phIHBvbGVjZcWEICheVl5OXlApIgorCittc2dpZCAiIFVzZXIgZGVmaW5lZCBjb21wbGV0aW9uICheVV5OXlApIgorbXNnc3RyICJEb3BlxYJuaWFuaWUgemRlZmluaW93YW5lIHByemV6IHXFvHl0a293bmlrYSAoXlVeTl5QKSIKKworbXNnaWQgIiBPbW5pIGNvbXBsZXRpb24gKF5PXk5eUCkiCittc2dzdHIgIiBPbW5pIHV6dXBlxYJuaWFuaWUgKF5PXk5eUCkiCisKK21zZ2lkICIgU3BlbGxpbmcgc3VnZ2VzdGlvbiAoXlNeTl5QKSIKK21zZ3N0ciAiUHJvcG96eWNqYSBvcnRvZ3JhZmlpICheTF5OXlApIgorCittc2dpZCAiIEtleXdvcmQgTG9jYWwgY29tcGxldGlvbiAoXk5eUCkiCittc2dzdHIgIiBMb2thbG5lIGRvcGXFgm5pYW5pZSBzxYLDs3cga2x1Y3pvd3ljaCAoXk5eUCkiCisKK21zZ2lkICJIaXQgZW5kIG9mIHBhcmFncmFwaCIKK21zZ3N0ciAiRG9iacWCZW0gZG8ga2/FhGNhIGFrYXBpdHUiCisKK21zZ2lkICInZGljdGlvbmFyeScgb3B0aW9uIGlzIGVtcHR5IgorbXNnc3RyICJvcGNqYSAnZGljdGlvbmFyeScgamVzdCBwdXN0YSIKKworbXNnaWQgIid0aGVzYXVydXMnIG9wdGlvbiBpcyBlbXB0eSIKK21zZ3N0ciAib3BjamEgJ3RoZXNhdXJ1cycgamVzdCBwdXN0YSIKKworIywgYy1mb3JtYXQKK21zZ2lkICJTY2FubmluZyBkaWN0aW9uYXJ5OiAlcyIKK21zZ3N0ciAiUHJ6ZWdsxIVkYW0gc8WCb3duaWs6ICVzIgorCittc2dpZCAiIChpbnNlcnQpIFNjcm9sbCAoXkUvXlkpIgorbXNnc3RyICIgKHdwcm93YWR6YW5pZSkgUHJ6ZXdpamFuaWUgKF5FL15ZKSIKKworbXNnaWQgIiAocmVwbGFjZSkgU2Nyb2xsICheRS9eWSkiCittc2dzdHIgIiAoemFtaWFuYSkgUHJ6ZXdpamFuaWUgKF5FL15ZKSIKKworIywgYy1mb3JtYXQKK21zZ2lkICJTY2FubmluZzogJXMiCittc2dzdHIgIlByemVnbMSFZGFtOiAlcyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJTY2FubmluZyB0YWdzLiIKK21zZ3N0ciAiUHJ6ZWdsxIVkYW0gem5hY3puaWtpLiIKKworbXNnaWQgIiBBZGRpbmciCittc2dzdHIgIiBEb2RhasSZIgorCisjLiBzaG93bW9kZSBtaWdodCByZXNldCB0aGUgaW50ZXJuYWwgbGluZSBwb2ludGVycywgc28gaXQgbXVzdAorIy4gKiBiZSBjYWxsZWQgYmVmb3JlIGxpbmUgPSBtbF9nZXQoKSwgb3Igd2hlbiB0aGlzIGFkZHJlc3MgaXMgbm8KKyMuICogbG9uZ2VyIG5lZWRlZC4gIC0tIEFjZXZlZG8uCisjLgorbXNnaWQgIi0tIFNlYXJjaGluZy4uLiIKK21zZ3N0ciAiLS0gU3p1a2FtLi4uIgorCittc2dpZCAiQmFjayBhdCBvcmlnaW5hbCIKK21zZ3N0ciAiWiBwb3dyb3RlbSBuYSBwaWVyd290bnltIgorCittc2dpZCAiV29yZCBmcm9tIG90aGVyIGxpbmUiCittc2dzdHIgIld5cmF6IHogaW5uZWdvIHdpZXJzemEiCisKK21zZ2lkICJUaGUgb25seSBtYXRjaCIKK21zZ3N0ciAiSmVkeW5lIGRvcGFzb3dhbmllIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIm1hdGNoICVkIG9mICVkIgorbXNnc3RyICJwYXN1amUgJWQgeiAlZCIKKworIywgYy1mb3JtYXQKK21zZ2lkICJtYXRjaCAlZCIKK21zZ3N0ciAicGFzdWplICVkIgorCittc2dpZCAiRTE4OiBVbmV4cGVjdGVkIGNoYXJhY3RlcnMgaW4gOmxldCIKK21zZ3N0ciAiRTE4OiBOaWVvY3pla2l3YW5lIHpuYWtpIHcgOmxldCIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFNjg0OiBsaXN0IGluZGV4IG91dCBvZiByYW5nZTogJWxkIgorbXNnc3RyICJFNjg0OiBJbmRla3MgbGlzdHkgcG96YSB6YWtyZXNlbTogJWxkIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkUxMjE6IFVuZGVmaW5lZCB2YXJpYWJsZTogJXMiCittc2dzdHIgIkUxMjE6IE5pZW9rcmXFm2xvbmEgem1pZW5uYTogJXMiCisKK21zZ2lkICJFMTExOiBNaXNzaW5nICddJyIKK21zZ3N0ciAiRTExMTogQnJhayAnXSciCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTY4NjogQXJndW1lbnQgb2YgJXMgbXVzdCBiZSBhIExpc3QiCittc2dzdHIgIkU0ODc6IEFyZ3VtZW50ICVzIG11c2kgYnnEhyBMaXN0xIUiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTcxMjogQXJndW1lbnQgb2YgJXMgbXVzdCBiZSBhIExpc3Qgb3IgRGljdGlvbmFyeSIKK21zZ3N0ciAiRTcxMjogQXJndW1lbnQgJXMgbXVzaSBiecSHIExpc3TEhSBsdWIgU8WCb3duaWtpZW0iCisKK21zZ2lkICJFNzEzOiBDYW5ub3QgdXNlIGVtcHR5IGtleSBmb3IgRGljdGlvbmFyeSIKK21zZ3N0ciAiRTcxMzogTmllIG1vxbxuYSB1xbx5xIcgcHVzdGVnbyBrbHVjemEgZGxhIFPFgm93bmlrYSIKKworbXNnaWQgIkU3MTQ6IExpc3QgcmVxdWlyZWQiCittc2dzdHIgIkU3MTQ6IHd5bWFnYW5hIExpc3RhIgorCittc2dpZCAiRTcxNTogRGljdGlvbmFyeSByZXF1aXJlZCIKK21zZ3N0ciAiRTcxNTogd3ltYWdhbnkgU8WCb3duaWsiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTExODogVG9vIG1hbnkgYXJndW1lbnRzIGZvciBmdW5jdGlvbjogJXMiCittc2dzdHIgIkUxMTg6IFpieXQgd2llbGUgYXJndW1lbnTDs3cgZGxhIGZ1bmtjamk6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkU3MTY6IEtleSBub3QgcHJlc2VudCBpbiBEaWN0aW9uYXJ5OiAlcyIKK21zZ3N0ciAiRTcxNjogS2x1Y3ogbmllIGlzdG5pZWplIHcgU8WCb3duaWt1OiAlcyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFMTIyOiBGdW5jdGlvbiAlcyBhbHJlYWR5IGV4aXN0cywgYWRkICEgdG8gcmVwbGFjZSBpdCIKK21zZ3N0ciAiRTEyMjogRnVua2NqYSAlcyBqdcW8IGlzdG5pZWplOyBhYnkgasSFIHphbWllbmnEhyB1xbx5aiAhIgorCittc2dpZCAiRTcxNzogRGljdGlvbmFyeSBlbnRyeSBhbHJlYWR5IGV4aXN0cyIKK21zZ3N0ciAiRTcxNzogaXN0bmllamUganXFvCB0YWtpIGVsZW1lbnQgU8WCb3duaWthIgorCittc2dpZCAiRTcxODogRnVuY3JlZiByZXF1aXJlZCIKK21zZ3N0ciAiRTcxODogd3ltYWdhbmEgRnVuY3JlZiIKKworbXNnaWQgIkU3MTk6IENhbm5vdCB1c2UgWzpdIHdpdGggYSBEaWN0aW9uYXJ5IgorbXNnc3RyICJFNzE5OiBOaWUgbW/FvG5hIHXFvHnEhyBbOl0gcHJ6eSBTxYJvd25pa3UiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTczNDogV3JvbmcgdmFyaWFibGUgdHlwZSBmb3IgJXM9IgorbXNnc3RyICJFNzM0OiBaxYJ5IHR5cCB6bWllbm5laiBkbGEgJXM9IgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkUxMzA6IFVua25vd24gZnVuY3Rpb246ICVzIgorbXNnc3RyICJFMTMwOiBOaWV6bmFuYSBmdW5rY2phOiAlcyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFNDYxOiBJbGxlZ2FsIHZhcmlhYmxlIG5hbWU6ICVzIgorbXNnc3RyICJFNDE4OiBOaWVkb3p3b2xvbmEgbmF6d2Egem1pZW5uZWo6ICVzIgorCittc2dpZCAiRTY4NzogTGVzcyB0YXJnZXRzIHRoYW4gTGlzdCBpdGVtcyIKK21zZ3N0ciAiRTY4NzogTW5pZWogY2Vsw7N3IG5pxbwgZWxlbWVudMOzdyBMaXN0eSIKKworbXNnaWQgIkU2ODg6IE1vcmUgdGFyZ2V0cyB0aGFuIExpc3QgaXRlbXMiCittc2dzdHIgIkU2ODg6IFdpxJljZWogY2Vsw7N3IG5pxbwgZWxlbWVudMOzdyBMaXN0eSIKKworbXNnaWQgIkRvdWJsZSA7IGluIGxpc3Qgb2YgdmFyaWFibGVzIgorbXNnc3RyICJQb2R3w7NqbnkgOyB3IGxpxZtjaWUgem1pZW5ueWNoIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkU3Mzg6IENhbid0IGxpc3QgdmFyaWFibGVzIGZvciAlcyIKK21zZ3N0ciAiRTczODogTmllIG1vZ8SZIHd5cGlzYcSHIHptaWVubnljaCBkbGEgJXMiCisKK21zZ2lkICJFNjg5OiBDYW4gb25seSBpbmRleCBhIExpc3Qgb3IgRGljdGlvbmFyeSIKK21zZ3N0ciAiRTY4OTogSW5kZWtzIG1vxbxlIGlzdG5pZcSHIHR5bGtvIGRsYSBMaXN0eSBsdWIgU8WCb3duaWthIgorCittc2dpZCAiRTcwODogWzpdIG11c3QgY29tZSBsYXN0IgorbXNnc3RyICJFNzA4OiBbOl0gbXVzaSBiecSHIG9zdGF0bmllIgorCittc2dpZCAiRTcwOTogWzpdIHJlcXVpcmVzIGEgTGlzdCB2YWx1ZSIKK21zZ3N0ciAiRTcwOTogWzpdIHd5bWFnYSB3YXJ0b8WbY2kgbGlzdHkiCisKK21zZ2lkICJFNzEwOiBMaXN0IHZhbHVlIGhhcyBtb3JlIGl0ZW1zIHRoYW4gdGFyZ2V0IgorbXNnc3RyICJFNzEwOiBMaXN0YSBtYSB3acSZY2VqIGVsZW1lbnTDs3cgbmnFvCBjZWwiCisKK21zZ2lkICJFNzExOiBMaXN0IHZhbHVlIGhhcyBub3QgZW5vdWdoIGl0ZW1zIgorbXNnc3RyICJFNzExOiBMaXN0YSBuaWUgbWEgd3lzdGFyY3phasSFY2VqIGlsb8WbY2kgZWxlbWVudMOzdyIKKworbXNnaWQgIkU2OTA6IE1pc3NpbmcgXCJpblwiIGFmdGVyIDpmb3IiCittc2dzdHIgIkU2OTA6IEJyYWsgXCJpblwiIHBvIDpmb3IiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTEwNzogTWlzc2luZyBicmFjZXM6ICVzIgorbXNnc3RyICJFMTA3OiBCcmFrIG5hd2lhc8OzdzogJXMiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTEwODogTm8gc3VjaCB2YXJpYWJsZTogXCIlc1wiIgorbXNnc3RyICJFMTA4OiBOaWUgaXN0bmllamUgem1pZW5uYTogXCIlc1wiIgorCittc2dpZCAiRTc0MzogdmFyaWFibGUgbmVzdGVkIHRvbyBkZWVwIGZvciAodW4pbG9jayIKK21zZ3N0ciAiRTc0Mzogem1pZW5uYSB6YWduaWXFvGTFvG9uYSB6Ynl0IGfFgsSZYm9rbyBkbGEgKHVuKWxvY2siCisKK21zZ2lkICJFMTA5OiBNaXNzaW5nICc6JyBhZnRlciAnPyciCittc2dzdHIgIkUxMDk6IEJyYWsgJzonIHBvICc/JyIKKworbXNnaWQgIkU2OTE6IENhbiBvbmx5IGNvbXBhcmUgTGlzdCB3aXRoIExpc3QiCittc2dzdHIgIkU2OTE6IExpc3TEmSBtb2fEmSBwb3LDs3duYcSHIHR5bGtvIHogTGlzdMSFIgorCittc2dpZCAiRTY5MjogSW52YWxpZCBvcGVyYXRpb24gZm9yIExpc3RzIgorbXNnc3RyICJFNjkyOiBOaWVwcmF3aWTFgm93YSBvcGVyYWNqYSBkbGEgTGlzdHkiCisKK21zZ2lkICJFNzM1OiBDYW4gb25seSBjb21wYXJlIERpY3Rpb25hcnkgd2l0aCBEaWN0aW9uYXJ5IgorbXNnc3RyICJFNzM1OiBTxYJvd25payBtb2fEmSBwb3LDs3duYcSHIHR5bGtvIHplIFPFgm93bmlraWVtIgorCittc2dpZCAiRTczNjogSW52YWxpZCBvcGVyYXRpb24gZm9yIERpY3Rpb25hcnkiCittc2dzdHIgIkU3MzY6IE5pZXByYXdpZMWCb3dhIG9wZXJhY2phIGRsYSBTxYJvd25pa2EiCisKK21zZ2lkICJFNjkzOiBDYW4gb25seSBjb21wYXJlIEZ1bmNyZWYgd2l0aCBGdW5jcmVmIgorbXNnc3RyICJFNjkzOiBGdW5jcmVmIG1vZ8SZIHBvcsOzd25hxIcgdHlsa28geiBGdW5jcmVmIgorCittc2dpZCAiRTY5NDogSW52YWxpZCBvcGVyYXRpb24gZm9yIEZ1bmNyZWZzIgorbXNnc3RyICJFNjk0OiBOaWVwcmF3aWTFgm93YSBvcGVyYWNqYSBkbGEgRnVuY3JlZiIKKworbXNnaWQgIkUxMTA6IE1pc3NpbmcgJyknIgorbXNnc3RyICJFMTEwOiBCcmFrICcpJyIKKworbXNnaWQgIkU2OTU6IENhbm5vdCBpbmRleCBhIEZ1bmNyZWYiCittc2dzdHIgIkU2OTU6IE5pZSBtb8W8bmEgemluZGVrc293YcSHIEZ1bmNyZWYiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTExMjogT3B0aW9uIG5hbWUgbWlzc2luZzogJXMiCittc2dzdHIgIkUxMTI6IEJyYWsgbmF6d3kgb3Bjamk6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkUxMTM6IFVua25vd24gb3B0aW9uOiAlcyIKK21zZ3N0ciAiRTExMzogTmllem5hbmEgb3BjamE6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkUxMTQ6IE1pc3NpbmcgcXVvdGU6ICVzIgorbXNnc3RyICJFMTE0OiBCcmFrIGN1ZHp5c8WCb3d1OiAlcyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFMTE1OiBNaXNzaW5nIHF1b3RlOiAlcyIKK21zZ3N0ciAiRTExNTogQnJhayBjdWR6eXPFgm93dTogJXMiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTY5NjogTWlzc2luZyBjb21tYSBpbiBMaXN0OiAlcyIKK21zZ3N0ciAiRTY5NjogQnJha3VqxIVjeSBwcnplY2luZWsgdyBMacWbY2llOiAnJXMiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTY5NzogTWlzc2luZyBlbmQgb2YgTGlzdCAnXSc6ICVzIgorbXNnc3RyICJFNjk3OiBCcmFrIHpha2/FhGN6ZW5pYSBMaXN0eSAnXSc6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkU3MjA6IE1pc3NpbmcgY29sb24gaW4gRGljdGlvbmFyeTogJXMiCittc2dzdHIgIkU3MjA6IEJyYWsgZHd1a3JvcGthIHcgU8WCb3duaWt1OiAlcyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFNzIxOiBEdXBsaWNhdGUga2V5IGluIERpY3Rpb25hcnk6IFwiJXNcIiIKK21zZ3N0ciAiRTcyMTogUG93dMOzcnpvbnkga2x1Y3ogdyBTxYJvd25pa3U6IFwiJXNcIiIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFNzIyOiBNaXNzaW5nIGNvbW1hIGluIERpY3Rpb25hcnk6ICVzIgorbXNnc3RyICJFNzIyOiBCcmFrdWrEhWN5IHByemVjaW5layB3IFPFgm93bmlrdTogJXMiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTcyMzogTWlzc2luZyBlbmQgb2YgRGljdGlvbmFyeSAnfSc6ICVzIgorbXNnc3RyICJFNzIzOiBCcmFrIGtvxYRjYSB3IFPFgm93bmlrdSAnfSc6ICVzIgorCittc2dpZCAiRTcyNDogdmFyaWFibGUgbmVzdGVkIHRvbyBkZWVwIGZvciBkaXNwbGF5aW5nIgorbXNnc3RyICJFNzI0OiBabWllbm5hIHphZ25pZcW8ZMW8b25hIHpieXQgZ8WCxJlib2tvIGJ5IHBva2F6YcSHIgorCittc2dpZCAiRTY5OTogVG9vIG1hbnkgYXJndW1lbnRzIgorbXNnc3RyICJFNjk5OiBaYSBkdcW8byBhcmd1bWVudMOzdyIKKworbXNnaWQgIkU3ODU6IGNvbXBsZXRlKCkgY2FuIG9ubHkgYmUgdXNlZCBpbiBJbnNlcnQgbW9kZSIKK21zZ3N0ciAiRTc4NTogY29tcGxldGUoKSBtb8W8ZSBiecSHIHXFvHl0ZSB0eWxrbyB3IHRyeWJpZSBXcHJvd2FkemFuaWEiCisKKyMuCisjLiAqIFllcyB0aGlzIGlzIHVnbHksIEkgZG9uJ3QgcGFydGljdWxhcmx5IGxpa2UgaXQgZWl0aGVyLiAgQnV0IGRvaW5nIGl0CisjLiAqIHRoaXMgd2F5IGhhcyB0aGUgY29tcGVsbGluZyBhZHZhbnRhZ2UgdGhhdCB0cmFuc2xhdGlvbnMgbmVlZCBub3QgdG8KKyMuICogYmUgdG91Y2hlZCBhdCBhbGwuICBTZWUgYmVsb3cgd2hhdCAnb2snIGFuZCAneW5jJyBhcmUgdXNlZCBmb3IuCisjLgorbXNnaWQgIiZPayIKK21zZ3N0ciAiJk9rIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkU3Mzc6IEtleSBhbHJlYWR5IGV4aXN0czogJXMiCittc2dzdHIgIkU3Mzc6IEtsdWN6IGp1xbwgaXN0bmllamU6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIistJXMlM2xkIGxpbmVzOiAiCittc2dzdHIgIistJXMlM2xkIHdpZXJzenk6ICIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFNzAwOiBVbmtub3duIGZ1bmN0aW9uOiAlcyIKK21zZ3N0ciAiRTcwMDogTmllem5hbmEgZnVua2NqYTogJXMiCisKK21zZ2lkICIiCisiJk9LXG4iCisiJkNhbmNlbCIKK21zZ3N0ciAiIgorIiZPS1xuIgorIiZaYWtvxYRjeiIKKworbXNnaWQgImNhbGxlZCBpbnB1dHJlc3RvcmUoKSBtb3JlIG9mdGVuIHRoYW4gaW5wdXRzYXZlKCkiCittc2dzdHIgInd5d2/FgmFubyBpbnB1dHJlc3RvcmUoKSB3acSZY2VqIHJhenkgbmnFvCBpbnB1dHNhdmUoKSIKKworbXNnaWQgIkU3NDU6IFJhbmdlIG5vdCBhbGxvd2VkIgorbXNnc3RyICJFNzQ1OiBaYWtyZXMgbmllZG96d29sb255IgorCittc2dpZCAiRTcwMTogSW52YWxpZCB0eXBlIGZvciBsZW4oKSIKK21zZ3N0ciAiRTcwMTogTmllcHJhd2lkxYJvd3kgdHlwIGRsYSBsZW4oKSIKKworbXNnaWQgIkU3MjY6IFN0cmlkZSBpcyB6ZXJvIgorbXNnc3RyICJFNzI2OiBTa29rIHRvIHplcm8iCisKK21zZ2lkICJFNzI3OiBTdGFydCBwYXN0IGVuZCIKK21zZ3N0ciAiRTcyNzogUG9jesSFdGVrIHBvIGtvxYRjdSIKKworbXNnaWQgIjxlbXB0eT4iCittc2dzdHIgIjxwdXN0eT4iCisKK21zZ2lkICJFMjQwOiBObyBjb25uZWN0aW9uIHRvIFZpbSBzZXJ2ZXIiCittc2dzdHIgIkUyNDA6IEJyYWsgcG/FgsSFY3plbmlhIHogc2Vyd2VyZW0gVmltIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkUyNDE6IFVuYWJsZSB0byBzZW5kIHRvICVzIgorbXNnc3RyICJFMjQxOiBOaWUgbW9nxJkgd3lzxYJhxIcgZG8gJXMiCisKK21zZ2lkICJFMjc3OiBVbmFibGUgdG8gcmVhZCBhIHNlcnZlciByZXBseSIKK21zZ3N0ciAiRTI3NzogTmllIG1vZ8SZIGN6eXRhxIcgb2Rwb3dpZWR6aSBzZXJ3ZXJhIgorCittc2dpZCAiRTY1NTogVG9vIG1hbnkgc3ltYm9saWMgbGlua3MgKGN5Y2xlPykiCittc2dzdHIgIkU2NTU6IFphIGR1xbxvIGRvd2nEhXphxYQgc3ltYm9saWN6bnljaCAocMSZdGxhPykiCisKK21zZ2lkICJFMjU4OiBVbmFibGUgdG8gc2VuZCB0byBjbGllbnQiCittc2dzdHIgIkUyNTg6IE5pZSBtb2fEmSB3eXPFgmHEhyBkbyBrbGllbnRhIgorCittc2dpZCAiRTcwMjogU29ydCBjb21wYXJlIGZ1bmN0aW9uIGZhaWxlZCIKK21zZ3N0ciAiRTcwMjogRnVua2NqYSBwb3LDs3dueXdhbmlhIHcgc29ydCBuaWUgcG93aW9kxYJhIHNpxJkiCisKK21zZ2lkICIoSW52YWxpZCkiCittc2dzdHIgIihOaWV3xYJhxZtjaXdlKSIKKworbXNnaWQgIkU2Nzc6IEVycm9yIHdyaXRpbmcgdGVtcCBmaWxlIgorbXNnc3RyICJFNjc3OiBCxYLEhWQgemFwaXN5d2FuaWEgcGxpa3UgdHltY3phc293ZWdvIgorCittc2dpZCAiRTcwMzogVXNpbmcgYSBGdW5jcmVmIGFzIGEgbnVtYmVyIgorbXNnc3RyICJFNzAzOiBVxbx5Y2llIEZ1bmNyZWYgamFrbyBsaWN6YnkiCisKK21zZ2lkICJFNzQ1OiBVc2luZyBhIExpc3QgYXMgYSBudW1iZXIiCittc2dzdHIgIkU3NDU6IFXFvHljaWUgTGlzdHkgamFrbyBsaWN6YnkiCisKK21zZ2lkICJFNzI4OiBVc2luZyBhIERpY3Rpb25hcnkgYXMgYSBudW1iZXIiCittc2dzdHIgIkU3Mjg6IFXFvHljaWUgU8WCb3duaWthIGpha28gbGljemJ5IgorCittc2dpZCAiRTcyOTogdXNpbmcgRnVuY3JlZiBhcyBhIFN0cmluZyIKK21zZ3N0ciAiRTcyOTogVcW8eWNpZSBGdW5jcmVmIGpha28gxYJhxYRjdWNoYSIKKworbXNnaWQgIkU3MzA6IHVzaW5nIExpc3QgYXMgYSBTdHJpbmciCittc2dzdHIgIkU3MzA6IFXFvHljaWUgTGlzdHkgamFrbyDFgmHFhGN1Y2hhIgorCittc2dpZCAiRTczMTogdXNpbmcgRGljdGlvbmFyeSBhcyBhIFN0cmluZyIKK21zZ3N0ciAiRTczMTogVcW8eWNpZSBTxYJvd25pa2EgamFrbyDFgmHFhGN1Y2hhIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkU3MDQ6IEZ1bmNyZWYgdmFyaWFibGUgbmFtZSBtdXN0IHN0YXJ0IHdpdGggYSBjYXBpdGFsOiAlcyIKK21zZ3N0ciAiRTcwNDogTmF6d2EgRnVuY3JlZiBtdXNpIHNpxJkgemFjenluYcSHIHdpZWxrxIUgbGl0ZXLEhTogJXMiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTcwNTogVmFyaWFibGUgbmFtZSBjb25mbGljdHMgd2l0aCBleGlzdGluZyBmdW5jdGlvbjogJXMiCittc2dzdHIgIkU3MDU6IE5hendhIHptaWVubmVqIGplc3QgdyBrb25mbGlrY2llIHogaXN0bmllasSFY8SFIGZ1bmtjasSFOiAlcyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFNzA2OiBWYXJpYWJsZSB0eXBlIG1pc21hdGNoIGZvcjogJXMiCittc2dzdHIgIkU3MDY6IE5pZXByYXdpZMWCb3d5IHR5cCB6bWllbm5laiBkbGE6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkU3NDE6IFZhbHVlIGlzIGxvY2tlZDogJXMiCittc2dzdHIgIkU3NDE6IFdhcnRvxZvEhyBqZXN0IHphYmxva293YW5hOiAlcyIKKworbXNnaWQgIlVua25vd24iCittc2dzdHIgIk5pZXpuYW5lIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkU3NDI6IENhbm5vdCBjaGFuZ2UgdmFsdWUgb2YgJXMiCittc2dzdHIgIkU3NDI6IE5pZSBtb2fEmSB6bWllbmnEhyB3YXJ0b8WbY2kgJXMiCisKK21zZ2lkICJFNjk4OiB2YXJpYWJsZSBuZXN0ZWQgdG9vIGRlZXAgZm9yIG1ha2luZyBhIGNvcHkiCittc2dzdHIgIkU2OTg6IFptaWVubmEgemFnbmllxbxkxbxvbmEgemJ5dCBnxYLEmWJva28gYnkgenJvYmnEhyBrb3BpxJkiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTEyNDogTWlzc2luZyAnKCc6ICVzIgorbXNnc3RyICJFMTI0OiBCcmFrICcoJzogJXMiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTEyNTogSWxsZWdhbCBhcmd1bWVudDogJXMiCittc2dzdHIgIkUxMjU6IE5pZWRvendvbG9ueSBhcmd1bWVudDogJXMiCisKK21zZ2lkICJFMTI2OiBNaXNzaW5nIDplbmRmdW5jdGlvbiIKK21zZ3N0ciAiRTEyNjogQnJhayA6ZW5kZnVuY3Rpb24iCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTc0NjogRnVuY3Rpb24gbmFtZSBkb2VzIG5vdCBtYXRjaCBzY3JpcHQgZmlsZSBuYW1lOiAlcyIKK21zZ3N0ciAiRTc0NjogTmF6d2EgZnVua2NqaSBuaWUgcGFzdWplIGRvIG5hend5IHNrcnlwdHU6ICVzIgorCittc2dpZCAiRTEyOTogRnVuY3Rpb24gbmFtZSByZXF1aXJlZCIKK21zZ3N0ciAiRTEyOTogV3ltYWdhbmEgamVzdCBuYXp3YSBmdW5rY2ppIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkUxMjg6IEZ1bmN0aW9uIG5hbWUgbXVzdCBzdGFydCB3aXRoIGEgY2FwaXRhbCBvciBjb250YWluIGEgY29sb246ICVzIgorbXNnc3RyICIiCisiRTEyODogTmF6d2EgZnVua2NqaSBtdXNpIHJvenBvY3p5bmHEhyBzacSZIHdpZWxrxIUgbGl0ZXLEhSBsdWIgemF3aWVyYcSHICIKKyJkd3Vrcm9wZWs6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkUxMzE6IENhbm5vdCBkZWxldGUgZnVuY3Rpb24gJXM6IEl0IGlzIGluIHVzZSIKK21zZ3N0ciAiRTEzMTogTmllIG1vZ8SZIHNrYXNvd2HEhyBmdW5rY2ppICVzOiBqZXN0IHcgdcW8eWNpdSIKKworbXNnaWQgIkUxMzI6IEZ1bmN0aW9uIGNhbGwgZGVwdGggaXMgaGlnaGVyIHRoYW4gJ21heGZ1bmNkZXB0aCciCittc2dzdHIgIkUxMzI6IFphZ25pZcW8ZMW8ZW5pZSB3eXdvxYJhxYQgZnVua2NqaSBwb25hZCAnbWF4ZnVuY2RlcHRoJyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJjYWxsaW5nICVzIgorbXNnc3RyICJ3eXdvxYJ1asSZICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGFib3J0ZWQiCittc2dzdHIgInBvcnp1Y29ubyAlcyIKKworIywgYy1mb3JtYXQKK21zZ2lkICIlcyByZXR1cm5pbmcgIyVsZCIKK21zZ3N0ciAiJXMgendyYWNhICMlbGQiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgcmV0dXJuaW5nICVzIgorbXNnc3RyICIlcyB6d3JhY2EgJXMiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29udGludWluZyBpbiAlcyIKK21zZ3N0ciAia29udHludWFjamEgdyAlcyIKKworbXNnaWQgIkUxMzM6IDpyZXR1cm4gbm90IGluc2lkZSBhIGZ1bmN0aW9uIgorbXNnc3RyICJFMTMzOiA6cmV0dXJuIHBvemEgZnVua2NqxIUiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiMgZ2xvYmFsIHZhcmlhYmxlczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIiMgem1pZW5uZSBnbG9iYWxuZTpcbiIKKworbXNnaWQgIiIKKyJcbiIKKyJcdExhc3Qgc2V0IGZyb20gIgorbXNnc3RyICIiCisiXG4iCisiXHRPc3RhdG5pZSB1c3Rhd2llbmllIHByemV6ICIKKworbXNnaWQgIkVudGVyaW5nIERlYnVnIG1vZGUuICBUeXBlIFwiY29udFwiIHRvIGNvbnRpbnVlLiIKK21zZ3N0ciAiV2Nob2R6xJkgdyB0cnliIG9kcGx1c2t3aWFuaWEuIFdwcm93YWTFuiBcImNvbnRcIiBhYnkga29udHludW93YcSHLiIKKworIywgYy1mb3JtYXQKK21zZ2lkICJsaW5lICVsZDogJXMiCittc2dzdHIgIndpZXJzeiAlbGQ6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgImNtZDogJXMiCittc2dzdHIgImNtZDogJXMiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiQnJlYWtwb2ludCBpbiBcIiVzJXNcIiBsaW5lICVsZCIKK21zZ3N0ciAiUHVua3Qga29udHJvbG55IHcgXCIlcyVzXCIgd2llcnN6ICVsZCIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFMTYxOiBCcmVha3BvaW50IG5vdCBmb3VuZDogJXMiCittc2dzdHIgIkUxNjE6IE5pZSB6bmFsZXppb25vIHB1bmt0dSBrb250cm9sbmVnbzogJXMiCisKK21zZ2lkICJObyBicmVha3BvaW50cyBkZWZpbmVkIgorbXNnc3RyICJOaWUgb2tyZcWbbG9ubyDFvGFkbnljaCBwdW5rdMOzdyBrb250cm9sbnljaCIKKworIywgYy1mb3JtYXQKK21zZ2lkICIlM2QgICVzICVzICBsaW5lICVsZCIKK21zZ3N0ciAiJTNkICAlcyAlcyAgd2llcnN6ICVsZCIKKworbXNnaWQgIkU3NTA6IEZpcnN0IHVzZSA6cHJvZmlsZSBzdGFydCA8Zm5hbWU+IgorbXNnc3RyICJFNzUwOiBQaWVyd3N6ZSB1xbx5Y2llIDpwcm9maWxlIHN0YXJ0IDxmbmFtZT4iCisKK21zZ2lkICJTYXZlIEFzIgorbXNnc3RyICJaYXBpc3ogamFrbyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJTYXZlIGNoYW5nZXMgdG8gXCIlc1wiPyIKK21zZ3N0ciAiWmFjaG93YcSHIHptaWFueSB3IFwiJXNcIj8iCisKK21zZ2lkICJVbnRpdGxlZCIKK21zZ3N0ciAiQmV6IFR5dHXFgnUiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTE2MjogTm8gd3JpdGUgc2luY2UgbGFzdCBjaGFuZ2UgZm9yIGJ1ZmZlciBcIiVzXCIiCittc2dzdHIgIkUxNjI6IE5pZSB6YXBpc2FubyB6bWlhbiB3IGJ1Zm9yemUgXCIlc1wiIgorCittc2dpZCAiV2FybmluZzogRW50ZXJlZCBvdGhlciBidWZmZXIgdW5leHBlY3RlZGx5IChjaGVjayBhdXRvY29tbWFuZHMpIgorbXNnc3RyICJPU1RSWkXFu0VOSUU6IE5pZW9jemVraXdhbmUgd2VqxZtjaWUgdyBpbm55IGJ1Zm9yIChzcHJhd2TFuiBhdXRva29tZW5keSkiCisKK21zZ2lkICJFMTYzOiBUaGVyZSBpcyBvbmx5IG9uZSBmaWxlIHRvIGVkaXQiCittc2dzdHIgIkUxNjM6IFR5bGtvIGplZGVuIHBsaWsgdyBlZHljamkiCisKK21zZ2lkICJFMTY0OiBDYW5ub3QgZ28gYmVmb3JlIGZpcnN0IGZpbGUiCittc2dzdHIgIkUxNjQ6IE5pZSBtb8W8bmEgcHJ6ZWrFm8SHIHByemVkIHBpZXJ3c3p5IHBsaWsiCisKK21zZ2lkICJFMTY1OiBDYW5ub3QgZ28gYmV5b25kIGxhc3QgZmlsZSIKK21zZ3N0ciAiRTE2NTogTmllIG1vxbxuYSBwcnplasWbxIcgemEgb3N0YXRuaSBwbGlrIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkU2NjY6IGNvbXBpbGVyIG5vdCBzdXBwb3J0ZWQ6ICVzIgorbXNnc3RyICJFNjY2OiBuaWUgd3NwaWVyYW55IGtvbXBpbGF0b3I6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIlNlYXJjaGluZyBmb3IgXCIlc1wiIGluIFwiJXNcIiIKK21zZ3N0ciAiU3p1a2FuaWUgXCIlc1wiIHcgXCIlc1wiIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIlNlYXJjaGluZyBmb3IgXCIlc1wiIgorbXNnc3RyICJTenVrYW5pZSBcIiVzXCIiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGZvdW5kIGluICdydW50aW1lcGF0aCc6IFwiJXNcIiIKK21zZ3N0ciAibmllIHpuYWxlemlvbm8gdyAncnVudGltZXBhdGgnOiBcIiVzXCIiCisKK21zZ2lkICJTb3VyY2UgVmltIHNjcmlwdCIKK21zZ3N0ciAiV2N6eXRhaiBza3J5cHQgVmltYSIKKworIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3Qgc291cmNlIGEgZGlyZWN0b3J5OiBcIiVzXCIiCittc2dzdHIgIk5pZSBtb8W8bmEgd2N6eXRhxIcga2F0YWxvZ3U6IFwiJXNcIiIKKworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3Qgc291cmNlIFwiJXNcIiIKK21zZ3N0ciAibmllIG1vZ8WCZW0gd2N6eXRhxIcgXCIlc1wiIgorCisjLCBjLWZvcm1hdAorbXNnaWQgImxpbmUgJWxkOiBjb3VsZCBub3Qgc291cmNlIFwiJXNcIiIKK21zZ3N0ciAid2llcnN6OiAlbGQgbmllIG1vZ8WCZW0gd2N6eXRhxIcgXCIlc1wiIgorCisjLCBjLWZvcm1hdAorbXNnaWQgInNvdXJjaW5nIFwiJXNcIiIKK21zZ3N0ciAid2N6eXR5d2FuaWUgXCIlc1wiIgorCisjLCBjLWZvcm1hdAorbXNnaWQgImxpbmUgJWxkOiBzb3VyY2luZyBcIiVzXCIiCittc2dzdHIgIndpZXJzeiAlbGQ6IHdjenl0eXdhbmllIFwiJXNcIiIKKworIywgYy1mb3JtYXQKK21zZ2lkICJmaW5pc2hlZCBzb3VyY2luZyAlcyIKK21zZ3N0ciAic2tvxYRjem9ubyB3Y3p5dHl3YW5pZSAlcyIKKworbXNnaWQgIm1vZGVsaW5lIgorbXNnc3RyICJtb2RlbGluZSIKKworbXNnaWQgIi0tY21kIGFyZ3VtZW50IgorbXNnc3RyICItLWNtZCBhcmd1bWVudCIKKworbXNnaWQgIi1jIGFyZ3VtZW50IgorbXNnc3RyICItYyBhcmd1bWVudCIKKworbXNnaWQgImVudmlyb25tZW50IHZhcmlhYmxlIgorbXNnc3RyICJ6bWllbm5hIMWbcm9kb3dpc2tvd2EiCisKK21zZ2lkICJlcnJvciBoYW5kbGVyIgorbXNnc3RyICJvYnPFgnVnYSBixYLEmWR1IgorCittc2dpZCAiVzE1OiBXYXJuaW5nOiBXcm9uZyBsaW5lIHNlcGFyYXRvciwgXk0gbWF5IGJlIG1pc3NpbmciCittc2dzdHIgIlcxNTogT1NUUlpFxbtFTklFOiBOaWV3xYJhxZtjaXd5IHNlcGFyYXRvciB3aWVyc3p5LCBwZXduaWUgYnJhayBeTSIKKworbXNnaWQgIkUxNjc6IDpzY3JpcHRlbmNvZGluZyB1c2VkIG91dHNpZGUgb2YgYSBzb3VyY2VkIGZpbGUiCittc2dzdHIgIkUxNjc6IHXFvHl0byA6c2NyaXB0ZW5jb2RpbmcgcG96YSB3Y3p5dHl3YW55bSBwbGlraWVtIgorCittc2dpZCAiRTE2ODogOmZpbmlzaCB1c2VkIG91dHNpZGUgb2YgYSBzb3VyY2VkIGZpbGUiCittc2dzdHIgIkUxNjg6IHXFvHl0byA6ZmluaXNoIHBvemEgd2N6eXR5d2FueW0gcGxpa2llbSIKKworIywgYy1mb3JtYXQKK21zZ2lkICJDdXJyZW50ICVzbGFuZ3VhZ2U6IFwiJXNcIiIKK21zZ3N0ciAiQmllxbzEhWN5ICVzasSZenlrOiBcIiVzXCIiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTE5NzogQ2Fubm90IHNldCBsYW5ndWFnZSB0byBcIiVzXCIiCittc2dzdHIgIkUxOTc6IE5pZSBtb2fEmSB1c3Rhd2nEhyBqxJl6eWthIG5hIFwiJXNcIiIKKworIywgYy1mb3JtYXQKK21zZ2lkICI8JXM+JXMlcyAgJWQsICBIZXggJTAyeCwgIE9jdGFsICUwM28iCittc2dzdHIgIjwlcz4lcyVzICAlZCwgIEhleCAlMDJ4LCAgT2t0YWwgJTAzbyIKKworIywgYy1mb3JtYXQKK21zZ2lkICI+ICVkLCBIZXggJTA0eCwgT2N0YWwgJW8iCittc2dzdHIgIj4gJWQsIEhleCAlMDR4LCAgT2t0YWwgJW8iCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiPiAlZCwgSGV4ICUwOHgsIE9jdGFsICVvIgorbXNnc3RyICI+ICVkLCBIZXggJTA4eCwgT2t0YWwgJW8iCisKK21zZ2lkICJFMTM0OiBNb3ZlIGxpbmVzIGludG8gdGhlbXNlbHZlcyIKK21zZ3N0ciAiRTEzNDogUHJ6ZW5pZXNpZW5pZSB3aWVyc3p5IG5hIHNpZWJpZSBzYW15Y2giCisKK21zZ2lkICIxIGxpbmUgbW92ZWQiCittc2dzdHIgIjEgd2llcnN6IHByemVuaWVzaW9ueSIKKworIywgYy1mb3JtYXQKK21zZ2lkICIlbGQgbGluZXMgbW92ZWQiCittc2dzdHIgIiVsZCB3aWVyc3plIHByemVuaWVzaW9uZSIKKworIywgYy1mb3JtYXQKK21zZ2lkICIlbGQgbGluZXMgZmlsdGVyZWQiCittc2dzdHIgIiVsZCB3aWVyc3p5IHByemVmaWx0cm93YW55Y2giCisKK21zZ2lkICJFMTM1OiAqRmlsdGVyKiBBdXRvY29tbWFuZHMgbXVzdCBub3QgY2hhbmdlIGN1cnJlbnQgYnVmZmVyIgorbXNnc3RyICJFMTM1OiBBdXRva29tZW5keSAqRmlsdGVyKiBuaWUgbW9nxIUgem1pZW5pYcSHIGJpZcW8xIVjZWdvIGJ1Zm9yYSIKKworbXNnaWQgIltObyB3cml0ZSBzaW5jZSBsYXN0IGNoYW5nZV1cbiIKK21zZ3N0ciAiW0JyYWsgemFwaXN1IG9kIGN6YXN1IG9zdGF0bmllaiB6bWlhbnldXG4iCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXN2aW1pbmZvOiAlcyBpbiBsaW5lOiAiCittc2dzdHIgIiVzdmltaW5mbzogJXMgdyB3aWVyc3p1OiAiCisKK21zZ2lkICJFMTM2OiB2aW1pbmZvOiBUb28gbWFueSBlcnJvcnMsIHNraXBwaW5nIHJlc3Qgb2YgZmlsZSIKK21zZ3N0ciAiRTEzNjogdmltaW5mbzogWmJ5dCB3aWVsZSBixYLEmWTDs3c7IHBvbWlqYW0gcmVzenTEmSBwbGlrdSIKKworIywgYy1mb3JtYXQKK21zZ2lkICJSZWFkaW5nIHZpbWluZm8gZmlsZSBcIiVzXCIlcyVzJXMiCittc2dzdHIgIldjenl0dWrEmSBwbGlrIHZpbWluZm8gXCIlc1wiJXMlcyVzIgorCittc2dpZCAiIGluZm8iCittc2dzdHIgIiBpbmZvcm1hY2phIgorCittc2dpZCAiIG1hcmtzIgorbXNnc3RyICIgemFrxYJhZGtpIgorCittc2dpZCAiIEZBSUxFRCIKK21zZ3N0ciAiIE5JRSBQT1dJT0TFgU8gU0nEmCIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFMTM3OiBWaW1pbmZvIGZpbGUgaXMgbm90IHdyaXRhYmxlOiAlcyIKK21zZ3N0ciAiRTEzNzogUGxpayB2aW1pbmZvIGplc3QgbmllemFwaXN5d2Fsbnk6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkUxMzg6IENhbid0IHdyaXRlIHZpbWluZm8gZmlsZSAlcyEiCittc2dzdHIgIkUxMzg6IE5pZSBtb2fEmSB6YXBpc2HEhyBwbGlrdSB2aW1pbmZvICVzISIKKworIywgYy1mb3JtYXQKK21zZ2lkICJXcml0aW5nIHZpbWluZm8gZmlsZSBcIiVzXCIiCittc2dzdHIgIlphcGlzdWrEmSBwbGlrIHZpbWluZm8gXCIlc1wiIgorCisjLiBXcml0ZSB0aGUgaW5mbzoKKyMsIGMtZm9ybWF0Cittc2dpZCAiIyBUaGlzIHZpbWluZm8gZmlsZSB3YXMgZ2VuZXJhdGVkIGJ5IFZpbSAlcy5cbiIKK21zZ3N0ciAiIyBUZW4gcGxpayB2aW1pbmZvIHpvc3RhxYIgd3lnZW5lcm93YW55IHByemV6IFZpbWEgJXMuXG4iCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiMgWW91IG1heSBlZGl0IGl0IGlmIHlvdSdyZSBjYXJlZnVsIVxuIgorIlxuIgorbXNnc3RyICIiCisiIyBNb8W8ZXN6IGdvIG9zdHJvxbxuaWUgZWR5dG93YcSHIVxuIgorIlxuIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIiMgVmFsdWUgb2YgJ2VuY29kaW5nJyB3aGVuIHRoaXMgZmlsZSB3YXMgd3JpdHRlblxuIgorbXNnc3RyICIjIFdhcnRvxZvEhyAnZW5jb2RpbmcnIHcgY3phc2llIHphcHN1IHRlZ28gcGxpa3VcbiIKKworbXNnaWQgIklsbGVnYWwgc3RhcnRpbmcgY2hhciIKK21zZ3N0ciAiTmllZG9wdXN6Y3phbG55IHBvY3rEhXRrb3d5IHpuYWsiCisKK21zZ2lkICJXcml0ZSBwYXJ0aWFsIGZpbGU/IgorbXNnc3RyICJaYXBpc2HEhyBjesSZxZtjaW93byBwbGlrPyIKKworbXNnaWQgIkUxNDA6IFVzZSAhIHRvIHdyaXRlIHBhcnRpYWwgYnVmZmVyIgorbXNnc3RyICJFMTQwOiBTdG9zdWogISBkbyB6YXBpc2FuaWEgY3rEmcWbY2lvd28gYnVmb3JhIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIk92ZXJ3cml0ZSBleGlzdGluZyBmaWxlIFwiJXNcIj8iCittc2dzdHIgIk5hZHBpc2HEhyBpc3RuaWVqxIVjeSBwbGlrIFwiJXNcIj8iCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3dhcCBmaWxlIFwiJXNcIiBleGlzdHMsIG92ZXJ3cml0ZSBhbnl3YXk/IgorbXNnc3RyICJQbGlrIHd5bWlhbnkgXCIlc1wiIGlzdG5pZWplLCBjenkgZ28gbmFkcGlzYcSHPyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFNzY4OiBTd2FwIGZpbGUgZXhpc3RzOiAlcyAoOnNpbGVudCEgb3ZlcnJpZGVzKSIKK21zZ3N0ciAiRTc2ODogUGxpayB3eW1pYW55IGlzdG5pZWplOiAlcyAod3ltdcWbIHBvcHJ6ZXogOnNpbGVudCEpIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkUxNDE6IE5vIGZpbGUgbmFtZSBmb3IgYnVmZmVyICVsZCIKK21zZ3N0ciAiRTE0MTogQnJhayBuYXp3eSBwbGlrdSBkbGEgYnVmb3JhICVsZCIKKworbXNnaWQgIkUxNDI6IEZpbGUgbm90IHdyaXR0ZW46IFdyaXRpbmcgaXMgZGlzYWJsZWQgYnkgJ3dyaXRlJyBvcHRpb24iCittc2dzdHIgIkUxNDI6IFBsaWsgbmllemFwaXNhbnk6IFphcGlzIGplc3Qgd3nFgsSFY3pvbnkgb3BjasSFICd3cml0ZSciCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIidyZWFkb25seScgb3B0aW9uIGlzIHNldCBmb3IgXCIlc1wiLlxuIgorIkRvIHlvdSB3aXNoIHRvIHdyaXRlIGFueXdheT8iCittc2dzdHIgIiIKKyJvcGNqYSAncmVhZG9ubHknIG5hc3Rhd2lvbmEgZGxhIFwiJXNcIi5cbiIKKyJDenkgY2hjZXN6IGdvIHBvbWltbyB0ZWdvIHphcGlzYcSHPyIKKworbXNnaWQgIkVkaXQgRmlsZSIKK21zZ3N0ciAiRWR5dHVqIFBsaWsiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTE0MzogQXV0b2NvbW1hbmRzIHVuZXhwZWN0ZWRseSBkZWxldGVkIG5ldyBidWZmZXIgJXMiCittc2dzdHIgIkUxNDM6IEF1dG9rb21lbmR5IG5pZW9jemVraXdhbmllIHNrYXNvd2HFgnkgbm93eSBidWZvciAlcyIKKworbXNnaWQgIkUxNDQ6IG5vbi1udW1lcmljIGFyZ3VtZW50IHRvIDp6IgorbXNnc3RyICJFMTQ0OiBuaWVudW1lcnljem55IGFyZ3VtZW50IGRsYSA6eiIKKworbXNnaWQgIkUxNDU6IFNoZWxsIGNvbW1hbmRzIG5vdCBhbGxvd2VkIGluIHJ2aW0iCittc2dzdHIgIkUxNDU6IEtvbWVuZHkgcG93xYJva2kgc8SFIG5pZWRvendvbG9uZSB3IHJ2aW0iCisKK21zZ2lkICJFMTQ2OiBSZWd1bGFyIGV4cHJlc3Npb25zIGNhbid0IGJlIGRlbGltaXRlZCBieSBsZXR0ZXJzIgorbXNnc3RyICJFMTQ2OiBXem9yY2UgcmVndWxhcm5lIG5pZSBtb2fEhSBiecSHIHJvemdyYW5pY3phbmUgbGl0ZXJhbWkiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVwbGFjZSB3aXRoICVzICh5L24vYS9xL2wvXkUvXlkpPyIKK21zZ3N0ciAiemFtaWXFhCBuYSAlcyAoeS9uL2EvcS9sL15FL15ZKT8iCisKK21zZ2lkICIoSW50ZXJydXB0ZWQpICIKK21zZ3N0ciAiKFByemVyd2FuZSkgIgorCittc2dpZCAiMSBtYXRjaCIKK21zZ3N0ciAiMSBwYXN1amUiCisKK21zZ2lkICIxIHN1YnN0aXR1dGlvbiIKK21zZ3N0ciAiMSBwb2RzdGF3aWVuaWUgIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZCBtYXRjaGVzIgorbXNnc3RyICIlbGQgZG9wYXNvd2HFhCIKKworIywgYy1mb3JtYXQKK21zZ2lkICIlbGQgc3Vic3RpdHV0aW9ucyIKK21zZ3N0ciAiJWxkIHBvZHN0YXdpZcWEIgorCittc2dpZCAiIG9uIDEgbGluZSIKK21zZ3N0ciAiIHcgMSB3aWVyc3p1IgorCisjLCBjLWZvcm1hdAorbXNnaWQgIiBvbiAlbGQgbGluZXMiCittc2dzdHIgIiB3ICVsZCB3aWVyc3phY2giCisKK21zZ2lkICJFMTQ3OiBDYW5ub3QgZG8gOmdsb2JhbCByZWN1cnNpdmUiCittc2dzdHIgIkUxNDc6IE5pZSBtb2fEmSB3eWtvbmHEhyA6Z2xvYmFsIHJla3Vyc3l3bmllIgorCittc2dpZCAiRTE0ODogUmVndWxhciBleHByZXNzaW9uIG1pc3NpbmcgZnJvbSBnbG9iYWwiCittc2dzdHIgIkUxNDg6IEJyYWsgd3pvcmNhIHJlZ3VsYXJuZWdvIHcgOmdsb2JhbCIKKworIyBjLWZvcm1hdAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXR0ZXJuIGZvdW5kIGluIGV2ZXJ5IGxpbmU6ICVzIgorbXNnc3RyICJXem9yemVjIHpuYWxlemlvbm8gdyBrYcW8ZHltIHdpZXJzenU6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIjIExhc3QgU3Vic3RpdHV0ZSBTdHJpbmc6XG4iCisiJCIKK21zZ3N0ciAiIgorIlxuIgorIiMgT3N0YXRuaSBwb2RzdGF3aWFueSBjacSFZzpcbiIKKyIkIgorCittc2dpZCAiRTQ3ODogRG9uJ3QgcGFuaWMhIgorbXNnc3RyICJFNDc4OiBOaWUgcGFuaWt1aiEiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTY2MTogU29ycnksIG5vICclcycgaGVscCBmb3IgJXMiCittc2dzdHIgIkU2NjE6IFByenlrcm8gbWksIGJyYWsgJyVzJyBwb21vY3kgZGxhICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkUxNDk6IFNvcnJ5LCBubyBoZWxwIGZvciAlcyIKK21zZ3N0ciAiRTE0OTogUHJ6eWtybyBtaSwgYWxlIGJyYWsgcG9tb2N5IG8gJXMiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiU29ycnksIGhlbHAgZmlsZSBcIiVzXCIgbm90IGZvdW5kIgorbXNnc3RyICJQcnp5a3JvIG1pLCBuaWUgbWEgcGxpa3UgcG9tb2N5IFwiJXNcIiIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFMTUwOiBOb3QgYSBkaXJlY3Rvcnk6ICVzIgorbXNnc3RyICJFMTUwOiBOaWUgamVzdCBrYXRhbG9naWVtOiAlcyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFMTUyOiBDYW5ub3Qgb3BlbiAlcyBmb3Igd3JpdGluZyIKK21zZ3N0ciAiRTE1MjogTmllIG1vZ8SZIG90d29yennEhyAlcyBkbyB6YXBpc3UiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTE1MzogVW5hYmxlIHRvIG9wZW4gJXMgZm9yIHJlYWRpbmciCittc2dzdHIgIkUxNTM6IE5pZSBtb2fEmSBvdHdvcnp5xIcgJXMgZG8gb2Rjenl0dSIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFNjcwOiBNaXggb2YgaGVscCBmaWxlIGVuY29kaW5ncyB3aXRoaW4gYSBsYW5ndWFnZTogJXMiCittc2dzdHIgIkU2NzA6IE1pZXN6YW5rYSBrb2Rvd2HFhCB3IHBsaWt1IHBvbW9jeSB3IHJhbWFjaCBqxJl6eWthOiAlcyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFMTU0OiBEdXBsaWNhdGUgdGFnIFwiJXNcIiBpbiBmaWxlICVzLyVzIgorbXNnc3RyICJFMTU0OiBQb3d0w7Nyem9ueSB6bmFjem5payBcIiVzXCIgdyBwbGlrdSAlcy8lcyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFMTYwOiBVbmtub3duIHNpZ24gY29tbWFuZDogJXMiCittc2dzdHIgIkUxNjA6IE5pZXpuYW5hIGtvbWVuZGEgem5ha3U6ICVzIgorCittc2dpZCAiRTE1NjogTWlzc2luZyBzaWduIG5hbWUiCittc2dzdHIgIkUxNTY6IEJyYWsgbmF6d3kgem5ha3UiCisKK21zZ2lkICJFNjEyOiBUb28gbWFueSBzaWducyBkZWZpbmVkIgorbXNnc3RyICJFMjU1OiBaYnl0IHdpZWxlIG5hencgem5ha8OzdyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFMjM5OiBJbnZhbGlkIHNpZ24gdGV4dDogJXMiCittc2dzdHIgIkUyMzk6IE5pZXfFgmHFm2Npd3kgdGVrc3Qgem5ha3U6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkUxNTU6IFVua25vd24gc2lnbjogJXMiCittc2dzdHIgIkUxNTU6IE5pZXpuYW55IHpuYWs6ICVzIgorCittc2dpZCAiRTE1OTogTWlzc2luZyBzaWduIG51bWJlciIKK21zZ3N0ciAiRTE1OTogQnJhayBudW1lcnUgem5ha3UiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTE1ODogSW52YWxpZCBidWZmZXIgbmFtZTogJXMiCittc2dzdHIgIkUxNTg6IE5pZXfFgmHFm2Npd2EgbmF6d2EgYnVmb3JhOiAlcyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFMTU3OiBJbnZhbGlkIHNpZ24gSUQ6ICVsZCIKK21zZ3N0ciAiRTE1NzogTmlld8WCYcWbY2l3ZSBJRCB6bmFrdTogJWxkIgorCittc2dpZCAiIChOT1QgRk9VTkQpIgorbXNnc3RyICIgKE5JRSBaTkFMRVpJT05PKSIKKworbXNnaWQgIiAobm90IHN1cHBvcnRlZCkiCittc2dzdHIgIihuaWUgd3Nwb21hZ2FuZSkiCisKK21zZ2lkICJbRGVsZXRlZF0iCittc2dzdHIgIltTa2Fzb3dhbm9dIgorCittc2dpZCAiRW50ZXJpbmcgRXggbW9kZS4gIFR5cGUgXCJ2aXN1YWxcIiB0byBnbyB0byBOb3JtYWwgbW9kZS4iCittc2dzdHIgIldjaG9kesSZIHcgdHJ5YiBFeC4gV3Byb3dhZMW6IFwidmlzdWFsXCIgYWJ5IHByemVqxZvEhyBkbyB0cnlidSBOb3JtYWwuIgorCittc2dpZCAiRTUwMTogQXQgZW5kLW9mLWZpbGUiCittc2dzdHIgIkU1MDE6IE5hIGtvxYRjdSBwbGlrdSIKKworbXNnaWQgIkUxNjk6IENvbW1hbmQgdG9vIHJlY3Vyc2l2ZSIKK21zZ3N0ciAiRTE2OTogS29tZW5kYSB6Ynl0IHJla3Vyc3l3bmEiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTYwNTogRXhjZXB0aW9uIG5vdCBjYXVnaHQ6ICVzIgorbXNnc3RyICJFNjA1OiBOaWUgem5hbGV6aW9ubyB3eWrEhXRrdTogJXMiCisKK21zZ2lkICJFbmQgb2Ygc291cmNlZCBmaWxlIgorbXNnc3RyICJLb25pZWMgd2N6eXR5d2FuZWdvIHBsaWt1IgorCittc2dpZCAiRW5kIG9mIGZ1bmN0aW9uIgorbXNnc3RyICJLb25pZWMgZnVua2NqaSIKKworbXNnaWQgIkU0NjQ6IEFtYmlndW91cyB1c2Ugb2YgdXNlci1kZWZpbmVkIGNvbW1hbmQiCittc2dzdHIgIkU0NjQ6IE5pZWplZG5vem5hY3puZSB6YXN0b3Nvd2FuaWUga29tZW5keSB6ZGVmaW5pb3dhbmVqIHByemV6IHXFvHl0a293bmlrYSIKKworbXNnaWQgIkU0OTI6IE5vdCBhbiBlZGl0b3IgY29tbWFuZCIKK21zZ3N0ciAiRTQ5MjogTmllIGplc3Qga29tZW5kxIUgZWR5dG9yYSIKKworbXNnaWQgIkU0OTM6IEJhY2t3YXJkcyByYW5nZSBnaXZlbiIKK21zZ3N0ciAiRTQ5MzogRGFubyB3c3RlY3pueSB6YWtyZXMiCisKK21zZ2lkICJCYWNrd2FyZHMgcmFuZ2UgZ2l2ZW4sIE9LIHRvIHN3YXAiCittc2dzdHIgIkRhbm8gd3N0ZWN6bnkgemFrcmVzOyB6YW1pYW5hIGplc3QgbW/FvGxpd2EiCisKK21zZ2lkICJFNDk0OiBVc2UgdyBvciB3Pj4iCittc2dzdHIgIkU0OTQ6IFN0b3N1aiB3IGx1YiB3Pj4iCisKK21zZ2lkICJFMzE5OiBTb3JyeSwgdGhlIGNvbW1hbmQgaXMgbm90IGF2YWlsYWJsZSBpbiB0aGlzIHZlcnNpb24iCittc2dzdHIgIkUzMTk6IFByenlrcm8gbWksIGFsZSB0YSBrb21lbmRhIG5pZSBqZXN0IGRvc3TEmXBuYSB3IHRlaiB3ZXJzamkiCisKK21zZ2lkICJFMTcyOiBPbmx5IG9uZSBmaWxlIG5hbWUgYWxsb3dlZCIKK21zZ3N0ciAiRTE3MjogVHlsa28gcG9qZWR5bmN6YSBuYXp3YSBwbGlrdSBkb3p3b2xvbmEiCisKK21zZ2lkICIxIG1vcmUgZmlsZSB0byBlZGl0LiAgUXVpdCBhbnl3YXk/IgorbXNnc3RyICIxIHdpxJljZWogcGxpayBkbyBlZHljamkuICBNaW1vIHRvIHd5asWbxIc/IgorCisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIG1vcmUgZmlsZXMgdG8gZWRpdC4gIFF1aXQgYW55d2F5PyIKK21zZ3N0ciAiamVzemN6ZSAlZCBwbGlrw7N3IGRvIGVkeWNqaS4gIE1pbW8gdG8gd3lqxZvEhz8iCisKK21zZ2lkICJFMTczOiAxIG1vcmUgZmlsZSB0byBlZGl0IgorbXNnc3RyICJFMTczOiAxIHdpxJljZWogcGxpayBkbyBlZHljamkiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTE3MzogJWxkIG1vcmUgZmlsZXMgdG8gZWRpdCIKK21zZ3N0ciAiRTE3MzogamVzemN6ZSAlbGQgcGxpa8OzdyBkbyBlZHljamkiCisKK21zZ2lkICJFMTc0OiBDb21tYW5kIGFscmVhZHkgZXhpc3RzOiBhZGQgISB0byByZXBsYWNlIGl0IgorbXNnc3RyICJFMTc0OiBLb21lbmRhIGp1xbwgaXN0bmllamU7IGFieSBqxIUgcHJ6ZWRlZmluaW93YcSHIHN0b3N1aiAhIgorCittc2dpZCAiIgorIlxuIgorIiAgICBOYW1lICAgICAgICBBcmdzIFJhbmdlIENvbXBsZXRlICBEZWZpbml0aW9uIgorbXNnc3RyICIiCisiXG4iCisiICAgIE5hendhICAgICAgIEFyZy4gWmFrLiAgR290b3dvxZvEhyAgRGVmaW5pY2phIgorCittc2dpZCAiTm8gdXNlci1kZWZpbmVkIGNvbW1hbmRzIGZvdW5kIgorbXNnc3RyICJOaWUgem5hbGV6aW9ubyBrb21lbmQgemRlZmluaW93YW55Y2ggcHJ6ZXogdcW8eXRrb3duaWthIgorCittc2dpZCAiRTE3NTogTm8gYXR0cmlidXRlIHNwZWNpZmllZCIKK21zZ3N0ciAiRTE3NTogTmllIG9rcmXFm2xvbm8gYXRyeWJ1dHUiCisKK21zZ2lkICJFMTc2OiBJbnZhbGlkIG51bWJlciBvZiBhcmd1bWVudHMiCittc2dzdHIgIkUxNzY6IE5pZXfFgmHFm2Npd2EgaWxvxZvEhyBhcmd1bWVudMOzdyIKKworbXNnaWQgIkUxNzc6IENvdW50IGNhbm5vdCBiZSBzcGVjaWZpZWQgdHdpY2UiCittc2dzdHIgIkUxNzc6IE1ub8W8bmlrIG5pZSBtb8W8ZSBiecSHIHBvZGFueSBkd3Vrcm90bmllIgorCittc2dpZCAiRTE3ODogSW52YWxpZCBkZWZhdWx0IHZhbHVlIGZvciBjb3VudCIKK21zZ3N0ciAiRTE3ODogTmlld8WCYcWbY2l3YSBkb215xZtsbmEgd2FydG/Fm8SHIG1ub8W8bmlrYSIKKworbXNnaWQgIkUxNzk6IGFyZ3VtZW50IHJlcXVpcmVkIGZvciAtY29tcGxldGUiCittc2dzdHIgIkUxNzk6IC1jb21wbGV0ZSB3eW1hZ2EgYXJndW1lbnR1IgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkUxODE6IEludmFsaWQgYXR0cmlidXRlOiAlcyIKK21zZ3N0ciAiRTE4MTogTmlld8WCYcWbY2l3eSBhdHJ5YnV0OiAlcyIKKworbXNnaWQgIkUxODI6IEludmFsaWQgY29tbWFuZCBuYW1lIgorbXNnc3RyICJFMTgyOiBOaWV3xYJhxZtjaXdhIG5hendhIGtvbWVuZHkiCisKK21zZ2lkICJFMTgzOiBVc2VyIGRlZmluZWQgY29tbWFuZHMgbXVzdCBzdGFydCB3aXRoIGFuIHVwcGVyY2FzZSBsZXR0ZXIiCittc2dzdHIgIiIKKyJFMTgzOiBLb21lbmR5IHpkZWZpbmlvd2FuZSBwcnpleiB1xbx5dGtvd25pa2EgbXVzesSFIHJvenBvY3p5bmHEhyBzacSZIGR1xbzEhSAiCisibGl0ZXLEhSIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFMTg0OiBObyBzdWNoIHVzZXItZGVmaW5lZCBjb21tYW5kOiAlcyIKK21zZ3N0ciAiRTE4NDogTmllIG1hIHRha2llaiBrb21lbmR5IHXFvHl0a293bmlrYTogJXMiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTE4MDogSW52YWxpZCBjb21wbGV0ZSB2YWx1ZTogJXMiCittc2dzdHIgIkUxODA6IE5pZXfFgmHFm2Npd2Egd2FydG/Fm8SHIGRvcGXFgm5pYW5pYTogJXMiCisKK21zZ2lkICJFNDY4OiBDb21wbGV0aW9uIGFyZ3VtZW50IG9ubHkgYWxsb3dlZCBmb3IgY3VzdG9tIGNvbXBsZXRpb24iCittc2dzdHIgIkU0Njg6IEFyZ3VtZW50IGRlcGXFgm5pYW5pYSBkb3p3b2xvbnkgd3nFgsSFY3puaWUgZGxhIGRvcGXFgm5pYW5pYSB1xbx5dGtvd25pa2EiCisKK21zZ2lkICJFNDY3OiBDdXN0b20gY29tcGxldGlvbiByZXF1aXJlcyBhIGZ1bmN0aW9uIGFyZ3VtZW50IgorbXNnc3RyICJFNDY3OiBEb3BlxYJuaWFuaWUgdcW8eXRrb3duaWthIHd5bWFnYSBmdW5rY2ppIGpha28gYXJndW1lbnR1IgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkUxODU6IENhbm5vdCBmaW5kIGNvbG9yIHNjaGVtZSAlcyIKK21zZ3N0ciAiRTE4NTogTmllIG1vZ8SZIHpuYWxlxbrEhyB6ZXN0YXd1IGtvbG9yw7N3ICVzIgorCittc2dpZCAiR3JlZXRpbmdzLCBWaW0gdXNlciEiCittc2dzdHIgIldpdGFqIHXFvHl0a293bmlrdSBWaW1hISIKKworbXNnaWQgIkU3ODQ6IENhbm5vdCBjbG9zZSBsYXN0IHRhYiBwYWdlIgorbXNnc3RyICJFNzg0OiBOaWUgbW9nxJkgemFta27EhcSHIG9zdGF0bmllaiBrYXJ0eSIKKworbXNnaWQgIkFscmVhZHkgb25seSBvbmUgdGFiIHBhZ2UiCittc2dzdHIgIkplc3QganXFvCB0eWxrbyBqZWRuYSBrYXJ0YSIKKworbXNnaWQgIkVkaXQgRmlsZSBpbiBuZXcgd2luZG93IgorbXNnc3RyICJFZHl0dWogcGxpayB3IG5vd3ltIG9rbmllIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIlRhYiBwYWdlICVkIgorbXNnc3RyICJLYXJ0YSAlZCIKKworbXNnaWQgIk5vIHN3YXAgZmlsZSIKK21zZ3N0ciAiQnJhayBwbGlrdSB3eW1pYW55IgorCittc2dpZCAiQXBwZW5kIEZpbGUiCittc2dzdHIgIkRvxYLEhWN6IHBsaWsiCisKK21zZ2lkICJFNzQ3OiBDYW5ub3QgY2hhbmdlIGRpcmVjdG9yeSwgYnVmZmVyIGlzIG1vZGlmZWQgKGFkZCAhIHRvIG92ZXJyaWRlKSIKK21zZ3N0ciAiIgorIkU3NDc6IE5pZSBtb2fEmSB6bWllbmnEhyBrYXRhbG9ndSwgYnVmb3Igem9zdGHFgiB6bW9keWZpa293YW55IChkb2RhaiAhIGFieSAiCisid3ltdXNpxIcpIgorCittc2dpZCAiRTE4NjogTm8gcHJldmlvdXMgZGlyZWN0b3J5IgorbXNnc3RyICJFMTg2OiBOaWUgbWEgcG9wcnplZG5pZWdvIGthdGFsb2d1IgorCittc2dpZCAiRTE4NzogVW5rbm93biIKK21zZ3N0ciAiRTE4NzogTmllem5hbnkiCisKK21zZ2lkICJFNDY1OiA6d2luc2l6ZSByZXF1aXJlcyB0d28gbnVtYmVyIGFyZ3VtZW50cyIKK21zZ3N0ciAiRTQ2NTogOndpbnNpemUgd3ltYWdhIGR3w7NjaCBhcmd1bWVudMOzdyBudW1lcnljem55Y2giCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2luZG93IHBvc2l0aW9uOiBYICVkLCBZICVkIgorbXNnc3RyICJQb3p5Y2phIG9rbmE6IFggJWQsIFkgJWQiCisKK21zZ2lkICJFMTg4OiBPYnRhaW5pbmcgd2luZG93IHBvc2l0aW9uIG5vdCBpbXBsZW1lbnRlZCBmb3IgdGhpcyBwbGF0Zm9ybSIKK21zZ3N0ciAiRTE4ODogUG96eXNraXdhbmllIHBvenljamkgb2tuYSBuaWUgamVzdCB6YWltcGxlbWVudG93YW5lIGRsYSB0ZWdvIHN5c3RlbXUiCisKK21zZ2lkICJFNDY2OiA6d2lucG9zIHJlcXVpcmVzIHR3byBudW1iZXIgYXJndW1lbnRzIgorbXNnc3RyICJFNDY2OiA6d2lucG9zIHd5bWFnYSBkd8OzY2ggYXJndW1lbnTDs3cgbnVtZXJ5Y3pueWNoIgorCittc2dpZCAiU2F2ZSBSZWRpcmVjdGlvbiIKK21zZ3N0ciAiWmFwaXN6IHByemVraWVyb3dhbmllIgorCittc2dpZCAiU2F2ZSBWaWV3IgorbXNnc3RyICJaYXBpc3ogd2lkb2siCisKK21zZ2lkICJTYXZlIFNlc3Npb24iCittc2dzdHIgIlphcGlzeiBzZXNqxJkiCisKK21zZ2lkICJTYXZlIFNldHVwIgorbXNnc3RyICJaYXBpc3ogdXN0YXdpZW5pYSIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFNzM5OiBDYW5ub3QgY3JlYXRlIGRpcmVjdG9yeTogJXMiCittc2dzdHIgIkU3Mzk6IE5pZSBtb2fEmSB1dHdvcnp5xIcga2F0YWxvZ3U6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkUxODk6IFwiJXNcIiBleGlzdHMgKGFkZCAhIHRvIG92ZXJyaWRlKSIKK21zZ3N0ciAiRTE4OTogXCIlc1wiIGlzdG5pZWplICh3eW11xZsgcG9wcnpleiAhKSIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFMTkwOiBDYW5ub3Qgb3BlbiBcIiVzXCIgZm9yIHdyaXRpbmciCittc2dzdHIgIkUxOTA6IE5pZSBtb2fEmSBvdHdvcnp5xIcgXCIlc1wiIGRvIHphcGlzdSIKKworIy4gc2V0IG1hcmsKK21zZ2lkICJFMTkxOiBBcmd1bWVudCBtdXN0IGJlIGEgbGV0dGVyIG9yIGZvcndhcmQvYmFja3dhcmQgcXVvdGUiCittc2dzdHIgIkUxOTE6IEFyZ3VtZW50IG11c2kgYnnEhyBsaXRlcsSFIGFsYm8gY3VkenlzxYJvd2VtIHcgcHJ6w7NkL3R5xYIiCisKK21zZ2lkICJFMTkyOiBSZWN1cnNpdmUgdXNlIG9mIDpub3JtYWwgdG9vIGRlZXAiCittc2dzdHIgIkUxOTI6IFJla3Vyc3l3bmUgemFzdG9zb3dhbmllIDpub3JtYWwgemEgZ8WCxJlib2tpZSIKKworbXNnaWQgIkUxOTQ6IE5vIGFsdGVybmF0ZSBmaWxlIG5hbWUgdG8gc3Vic3RpdHV0ZSBmb3IgJyMnIgorbXNnc3RyICJFMTk0OiBCcmFrIG5hend5IHphbWllbm5lZ28gcGxpa3UgZG8gcG9kc3Rhd2llbmlhIHBvZCAnIyciCisKK21zZ2lkICJFNDk1OiBubyBhdXRvY29tbWFuZCBmaWxlIG5hbWUgdG8gc3Vic3RpdHV0ZSBmb3IgXCI8YWZpbGU+XCIiCittc2dzdHIgIkU0OTU6IGJyYWsgbmF6d3kgcGxpa3UgYXV0b2tvbWVuZCBkbyBwb2RzdGF3aWVuaWEgcG9kIFwiPGFmaWxlPlwiIgorCittc2dpZCAiRTQ5Njogbm8gYXV0b2NvbW1hbmQgYnVmZmVyIG51bWJlciB0byBzdWJzdGl0dXRlIGZvciBcIjxhYnVmPlwiIgorbXNnc3RyICJFNDk2OiBicmFrIG51bWVydSBidWZvcmEgYXV0b2tvbWVuZCBkbyBwb2RzdGF3aWVuaWEgcG9kICBcIjxhYnVmPlwiIgorCittc2dpZCAiRTQ5Nzogbm8gYXV0b2NvbW1hbmQgbWF0Y2ggbmFtZSB0byBzdWJzdGl0dXRlIGZvciBcIjxhbWF0Y2g+XCIiCittc2dzdHIgIkU0OTc6IGJyYWsgbmF6d3kgZG9wYXNvd2FuaWEgYXV0b2tvbWVuZCBwb2QgXCI8YW1hdGNoPlwiIgorCittc2dpZCAiRTQ5ODogbm8gOnNvdXJjZSBmaWxlIG5hbWUgdG8gc3Vic3RpdHV0ZSBmb3IgXCI8c2ZpbGU+XCIiCittc2dzdHIgIkU0OTg6IGJyYWsgbmF6d3kgcGxpa3UgOnNvdXJjZSBkbyBwb3N0YXdpZW5pYSBwb2QgXCI8c2ZpbGU+XCIiCisKKyMsIG5vLWMtZm9ybWF0Cittc2dpZCAiRTQ5OTogRW1wdHkgZmlsZSBuYW1lIGZvciAnJScgb3IgJyMnLCBvbmx5IHdvcmtzIHdpdGggXCI6cDpoXCIiCittc2dzdHIgIkU0OTk6IFB1c3RhIG5hendhIHBsaWt1IGRsYSAnJScgbHViICcjJywgZHppYcWCYSB0eWxrbyB6IFwiOnA6aFwiIgorCittc2dpZCAiRTUwMDogRXZhbHVhdGVzIHRvIGFuIGVtcHR5IHN0cmluZyIKK21zZ3N0ciAiRTUwMDogV3luaWtpZW0gamVzdCBwdXN0eSBjacSFZyIKKworbXNnaWQgIkUxOTU6IENhbm5vdCBvcGVuIHZpbWluZm8gZmlsZSBmb3IgcmVhZGluZyIKK21zZ3N0ciAiRTE5NTogTmllIG1vZ8SZIG90d29yennEhyBwbGlrdSB2aW1pbmZvIGRvIG9kY3p5dHUiCisKK21zZ2lkICJFMTk2OiBObyBkaWdyYXBocyBpbiB0aGlzIHZlcnNpb24iCittc2dzdHIgIkUxOTY6IEJyYWsgZHd1Z3JhZsOzdyB3IHRlaiB3ZXJzamkiCisKK21zZ2lkICJFNjA4OiBDYW5ub3QgOnRocm93IGV4Y2VwdGlvbnMgd2l0aCAnVmltJyBwcmVmaXgiCittc2dzdHIgIkU2MDg6IE5pZSBtb8W8bmEgJzp0aHJvdycgd3lqxIV0a8OzdyB6IHByZWZpa3NlbSAnVmltJyIKKworIy4gYWx3YXlzIHNjcm9sbCB1cCwgZG9uJ3Qgb3ZlcndyaXRlCisjLCBjLWZvcm1hdAorbXNnaWQgIkV4Y2VwdGlvbiB0aHJvd246ICVzIgorbXNnc3RyICJXeWrEhXRlazogJXMiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXhjZXB0aW9uIGZpbmlzaGVkOiAlcyIKK21zZ3N0ciAiV3lqxIV0ZWsgemFrb8WEY3pvbnk6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkV4Y2VwdGlvbiBkaXNjYXJkZWQ6ICVzIgorbXNnc3RyICJXeWrEhXRlayBvZHJ6dWNvbnk6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzLCBsaW5lICVsZCIKK21zZ3N0ciAiJXMsIHdpZXJzeiAlbGQiCisKKyMuIGFsd2F5cyBzY3JvbGwgdXAsIGRvbid0IG92ZXJ3cml0ZQorIywgYy1mb3JtYXQKK21zZ2lkICJFeGNlcHRpb24gY2F1Z2h0OiAlcyIKK21zZ3N0ciAiV3lqxIV0ZWsgcHJ6ZWNod3ljb255OiAlcyIKKworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBtYWRlIHBlbmRpbmciCittc2dzdHIgIiVzIHpvc3RhxYIgemF3aWVzem9ueSIKKworIywgYy1mb3JtYXQKK21zZ2lkICIlcyByZXN1bWVkIgorbXNnc3RyICIlcyBwcnp5d3LDs2NvbnkiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZGlzY2FyZGVkIgorbXNnc3RyICIlcyBvZHJ6dWNvbnkiCisKK21zZ2lkICJFeGNlcHRpb24iCittc2dzdHIgIld5asSFdGVrIgorCittc2dpZCAiRXJyb3IgYW5kIGludGVycnVwdCIKK21zZ3N0ciAiQsWCxIVkIGkgcHJ6ZXJ3YW5pZSIKKworbXNnaWQgIkVycm9yIgorbXNnc3RyICJCxYLEhWQiCisKKyMuIGlmIChwZW5kaW5nICYgQ1NUUF9JTlRFUlJVUFQpCittc2dpZCAiSW50ZXJydXB0IgorbXNnc3RyICJQcnplcndhbmllIgorCittc2dpZCAiRTU3OTogOmlmIG5lc3RpbmcgdG9vIGRlZXAiCittc2dzdHIgIkU1Nzk6IHpieXQgZ8WCxJlib2tpZSB6YWduaWXFvGTFvGVuaWUgOmlmIgorCittc2dpZCAiRTU4MDogOmVuZGlmIHdpdGhvdXQgOmlmIgorbXNnc3RyICJFNTgwOiA6ZW5kaWYgYmV6IDppZiIKKworbXNnaWQgIkU1ODE6IDplbHNlIHdpdGhvdXQgOmlmIgorbXNnc3RyICJFNTgxOiA6ZWxzZSBiZXogOmlmIgorCittc2dpZCAiRTU4MjogOmVsc2VpZiB3aXRob3V0IDppZiIKK21zZ3N0ciAiRTU4MjogOmVsc2VpZiBiZXogOmlmIgorCittc2dpZCAiRTU4MzogbXVsdGlwbGUgOmVsc2UiCittc2dzdHIgIkU1ODM6IHdpZWxva3JvdG5lIDplbHNlIgorCittc2dpZCAiRTU4NDogOmVsc2VpZiBhZnRlciA6ZWxzZSIKK21zZ3N0ciAiRTU4NDogOmVsc2VpZiBwbyA6ZWxzZSIKKworbXNnaWQgIkU1ODU6IDp3aGlsZS86Zm9yIG5lc3RpbmcgdG9vIGRlZXAiCittc2dzdHIgIkU1ODU6IHpieXQgZ8WCxJlib2tpZSB6YWduaWXFvGTFvGVuaWUgOndoaWxlLzpmb3IiCisKK21zZ2lkICJFNTg2OiA6Y29udGludWUgd2l0aG91dCA6d2hpbGUgb3IgOmZvciIKK21zZ3N0ciAiRTU4NjogOmNvbnRpbnVlIGJleiA6d2hpbGUgbHViIDpmb3IiCisKK21zZ2lkICJFNTg3OiA6YnJlYWsgd2l0aG91dCA6d2hpbGUgb3IgOmZvciIKK21zZ3N0ciAiRTU4NzogOmJyZWFrIGJleiA6d2hpbGUgbHViIDpmb3IiCisKK21zZ2lkICJFNzMyOiBVc2luZyA6ZW5kZm9yIHdpdGggOndoaWxlIgorbXNnc3RyICJFNzMyOiBVxbx5Y2llIDplbmRmb3IgeiA6d2hpbGUiCisKK21zZ2lkICJFNzMzOiBVc2luZyA6ZW5kd2hpbGUgd2l0aCA6Zm9yIgorbXNnc3RyICJFNzMzOiBVxbx5Y2llIDplbmR3aGlsZSB6IDpmb3IiCisKK21zZ2lkICJFNjAxOiA6dHJ5IG5lc3RpbmcgdG9vIGRlZXAiCittc2dzdHIgIkU2MDE6IHpieXQgZ8WCxJlib2tpZSB6YWduaWXFvGTFvGVuaWUgOnRyeSIKKworbXNnaWQgIkU2MDM6IDpjYXRjaCB3aXRob3V0IDp0cnkiCittc2dzdHIgIkU2MDM6IDpjYXRjaCBiZXogOnRyeSIKKworIy4gR2l2ZSB1cCBmb3IgYSAiOmNhdGNoIiBhZnRlciAiOmZpbmFsbHkiIGFuZCBpZ25vcmUgaXQuCisjLiAqIEp1c3QgcGFyc2UuCittc2dpZCAiRTYwNDogOmNhdGNoIGFmdGVyIDpmaW5hbGx5IgorbXNnc3RyICJFNjA0OiA6Y2F0Y2ggemEgOmZpbmFsbHkiCisKK21zZ2lkICJFNjA2OiA6ZmluYWxseSB3aXRob3V0IDp0cnkiCittc2dzdHIgIkU2MDY6IDpmaW5hbGx5IGJleiA6dHJ5IgorCisjLiBHaXZlIHVwIGZvciBhIG11bHRpcGxlICI6ZmluYWxseSIgYW5kIGlnbm9yZSBpdC4KK21zZ2lkICJFNjA3OiBtdWx0aXBsZSA6ZmluYWxseSIKK21zZ3N0ciAiRTYwNzogd2llbG9rcm90bmUgOmZpbmFsbHkiCisKK21zZ2lkICJFNjAyOiA6ZW5kdHJ5IHdpdGhvdXQgOnRyeSIKK21zZ3N0ciAiRTYwMjogOmVuZHRyeSBiZXogOnRyeSIKKworbXNnaWQgIkUxOTM6IDplbmRmdW5jdGlvbiBub3QgaW5zaWRlIGEgZnVuY3Rpb24iCittc2dzdHIgIkUxOTM6IDplbmRmdW5jdGlvbiBwb3phIGZ1bmtjasSFIgorCittc2dpZCAidGFnbmFtZSIKK21zZ3N0ciAibmF6d2Egem5hY3puaWthIgorCittc2dpZCAiIGtpbmQgZmlsZVxuIgorbXNnc3RyICIgcG9rcmV3bnkgcGxpa1xuIgorCittc2dpZCAiJ2hpc3RvcnknIG9wdGlvbiBpcyB6ZXJvIgorbXNnc3RyICJvcGNqYSAnaGlzdG9yeScgamVzdCB6ZXJvd2EiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiMgJXMgSGlzdG9yeSAobmV3ZXN0IHRvIG9sZGVzdCk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyIjICVzIEhpc3RvcmlhIChvZCBuYWpub3dzenljaCBwbyBuYWpzdGFyc3plKTpcbiIKKworbXNnaWQgIkNvbW1hbmQgTGluZSIKK21zZ3N0ciAiV2llcnN6IHBvbGVjZcWEIgorCittc2dpZCAiU2VhcmNoIFN0cmluZyIKK21zZ3N0ciAiU3p1a2FueSBjacSFZyIKKworbXNnaWQgIkV4cHJlc3Npb24iCittc2dzdHIgIld5cmHFvGVuaWUiCisKK21zZ2lkICJJbnB1dCBMaW5lIgorbXNnc3RyICJXaWVyc3ogd3Byb3dhZHplxYQiCisKK21zZ2lkICJFMTk4OiBjbWRfcGNoYXIgYmV5b25kIHRoZSBjb21tYW5kIGxlbmd0aCIKK21zZ3N0ciAiRTE5ODogY21kX3BjaGFyIHByemVrcmFjemEgZMWCdWdvxZvEhyBwb2xlY2VuaWEiCisKK21zZ2lkICJFMTk5OiBBY3RpdmUgd2luZG93IG9yIGJ1ZmZlciBkZWxldGVkIgorbXNnc3RyICJFMTk5OiBBa3R5d255IHdpZG9rIGx1YiBidWZvciBza2Fzb3dhbnkiCisKK21zZ2lkICJJbGxlZ2FsIGZpbGUgbmFtZSIKK21zZ3N0ciAiTmllZG9wdXN6Y3phbG5hIG5hendhIHBsaWt1IgorCittc2dpZCAiaXMgYSBkaXJlY3RvcnkiCittc2dzdHIgImplc3Qga2F0YWxvZ2llbSIKKworbXNnaWQgImlzIG5vdCBhIGZpbGUiCittc2dzdHIgIm5pZSBqZXN0IHBsaWtpZW0iCisKK21zZ2lkICJbTmV3IEZpbGVdIgorbXNnc3RyICJbTm93eSBQbGlrXSIKKworbXNnaWQgIltOZXcgRElSRUNUT1JZXSIKK21zZ3N0ciAiW05vd3kgS0FUQUxPR10iCisKK21zZ2lkICJbRmlsZSB0b28gYmlnXSIKK21zZ3N0ciAiW1phIGR1xbx5IHBsaWtdIgorCittc2dpZCAiW1Blcm1pc3Npb24gRGVuaWVkXSIKK21zZ3N0ciAiW05pZSBkb3p3b2xvbm9dIgorCittc2dpZCAiRTIwMDogKlJlYWRQcmUgYXV0b2NvbW1hbmRzIG1hZGUgdGhlIGZpbGUgdW5yZWFkYWJsZSIKK21zZ3N0ciAiRTIwMDogQXV0b2tvbWVuZHkgKlJlYWRQcmUgenJvYmnFgnkgcGxpayBuaWVvZGN6eXR5d2FsbnltIgorCittc2dpZCAiRTIwMTogKlJlYWRQcmUgYXV0b2NvbW1hbmRzIG11c3Qgbm90IGNoYW5nZSBjdXJyZW50IGJ1ZmZlciIKK21zZ3N0ciAiRTIwMTogQXV0b2tvbWVuZHkgKlJlYWRQcmUgbmllIG1vZ8SFIHptaWVuaWHEhyBiaWXFvMSFY2VnbyBidWZvcmEiCisKK21zZ2lkICJWaW06IFJlYWRpbmcgZnJvbSBzdGRpbi4uLlxuIgorbXNnc3RyICJWaW06IFdjenl0eXdhbmllIHplIHN0ZGluLi4uXG4iCisKK21zZ2lkICJSZWFkaW5nIGZyb20gc3RkaW4uLi4iCittc2dzdHIgIldjenl0eXdhbmllIHplIHN0ZGluLi4uIgorCisjLiBSZS1vcGVuaW5nIHRoZSBvcmlnaW5hbCBmaWxlIGZhaWxlZCEKK21zZ2lkICJFMjAyOiBDb252ZXJzaW9uIG1hZGUgZmlsZSB1bnJlYWRhYmxlISIKK21zZ3N0ciAiRTIwMjogUGxpayBzdHdvcnpvbnkgcG9wcnpleiBwcnplbWlhbsSZIGplc3Qgbmllb2Rjenl0eXdhbG55ISIKKworbXNnaWQgIltmaWZvL3NvY2tldF0iCittc2dzdHIgIltmaWZvL3NvY2tldF0iCisKK21zZ2lkICJbZmlmb10iCittc2dzdHIgIltmaWZvXSIKKworbXNnaWQgIltzb2NrZXRdIgorbXNnc3RyICJbc29ja2V0XSIKKworbXNnaWQgIltST10iCittc2dzdHIgIltST10iCisKK21zZ2lkICJbQ1IgbWlzc2luZ10iCittc2dzdHIgIlticmFrIENSXSciCisKK21zZ2lkICJbTkwgZm91bmRdIgorbXNnc3RyICJbem5hbGV6aW9ubyBOTF0iCisKK21zZ2lkICJbbG9uZyBsaW5lcyBzcGxpdF0iCittc2dzdHIgIltkxYJ1Z2llIHdpZXJzemUgcm96ZHppZWxhbmVdIgorCittc2dpZCAiW05PVCBjb252ZXJ0ZWRdIgorbXNnc3RyICJbTklFIHByemVtaWVuaW9uZV0iCisKK21zZ2lkICJbY29udmVydGVkXSIKK21zZ3N0ciAiW3ByemVtaWVuaW9uZV0iCisKK21zZ2lkICJbY3J5cHRlZF0iCittc2dzdHIgIlt6YWtvZG93YW5lXSIKKworIywgYy1mb3JtYXQKK21zZ2lkICJbQ09OVkVSU0lPTiBFUlJPUiBpbiBsaW5lICVsZF0iCittc2dzdHIgIltCxYHEhEQgVyBQUlpFTUlBTklFIHcgbGluaWkgJWxkXSIKKworIywgYy1mb3JtYXQKK21zZ2lkICJbSUxMRUdBTCBCWVRFIGluIGxpbmUgJWxkXSIKK21zZ3N0ciAiW05JRURPWldPTE9OWSBCQUpUIHcgd2llcnN6dSAlbGRdIgorCittc2dpZCAiW1JFQUQgRVJST1JTXSIKK21zZ3N0ciAiW0LFgcSYRFkgVyBPRENaWUNJRV0iCisKK21zZ2lkICJDYW4ndCBmaW5kIHRlbXAgZmlsZSBmb3IgY29udmVyc2lvbiIKK21zZ3N0ciAiTmllIG1vZ8SZIHpuYWxlxbrEhyBwbGlrdSB0eW1jemFzb3dlZ28gdyBjZWx1IHByemVtaWFueSIKKworbXNnaWQgIkNvbnZlcnNpb24gd2l0aCAnY2hhcmNvbnZlcnQnIGZhaWxlZCIKK21zZ3N0ciAiTmlldWRhbmEgcHJ6ZW1pYW5hIHogJ2NoYXJjb252ZXJ0JyIKKworbXNnaWQgImNhbid0IHJlYWQgb3V0cHV0IG9mICdjaGFyY29udmVydCciCittc2dzdHIgIm5pZSBtb2fEmSBvZGN6eXRhxIcgd3lqxZtjaWEgeiAnY2hhcmNvbnZlcnQnIgorCittc2dpZCAiRTY3NjogTm8gbWF0Y2hpbmcgYXV0b2NvbW1hbmRzIGZvciBhY3dyaXRlIGJ1ZmZlciIKK21zZ3N0ciAiRTY3NjogQnJhayBwYXN1asSFY3ljaCBhdXRva29tZW5kIGRsYSBidWZvcmEgYWN3cml0ZSIKKworbXNnaWQgIkUyMDM6IEF1dG9jb21tYW5kcyBkZWxldGVkIG9yIHVubG9hZGVkIGJ1ZmZlciB0byBiZSB3cml0dGVuIgorbXNnc3RyICJFMjAzOiBBdXRva29tZW5keSBza2Fzb3dhxYJ5IGx1YiB3ecWCYWRvd2HFgnkgYnVmb3IgcHJ6ZXpuYWN6b255IGRvIHphcGlzdSIKKworbXNnaWQgIkUyMDQ6IEF1dG9jb21tYW5kIGNoYW5nZWQgbnVtYmVyIG9mIGxpbmVzIGluIHVuZXhwZWN0ZWQgd2F5IgorbXNnc3RyICJFMjA0OiBBdXRva29tZW5kYSB6bWllbmnFgmEgbGljemLEmSB3aWVyc3p5IHcgbmllb2N6ZWtpd2FueSBzcG9zw7NiIgorCittc2dpZCAiTmV0QmVhbnMgZGlzc2FsbG93cyB3cml0ZXMgb2YgdW5tb2RpZmllZCBidWZmZXJzIgorbXNnc3RyICJOZXRCZWFucyBuaWUgcG96d2FsYSBuYSB6YXBpcyBuaWV6bW9keWZpa293YW55Y2ggYnVmb3LDs3ciCisKK21zZ2lkICJQYXJ0aWFsIHdyaXRlcyBkaXNhbGxvd2VkIGZvciBOZXRCZWFucyBidWZmZXJzIgorbXNnc3RyICJDesSZxZtjaW93eSB6YXBpcyBuaWVtb8W8bGl3eSBkbGEgYnVmb3LDs3cgTmV0QmVhbnMiCisKK21zZ2lkICJpcyBub3QgYSBmaWxlIG9yIHdyaXRhYmxlIGRldmljZSIKK21zZ3N0ciAibmllIGplc3QgcGxpa2llbSBsdWIgemFwaXN5d2FsbnltIHByenlyesSFZGVtIgorCittc2dpZCAiaXMgcmVhZC1vbmx5IChhZGQgISB0byBvdmVycmlkZSkiCittc2dzdHIgImplc3QgdHlsa28gZG8gb2Rjenl0dSAod3ltdcWbIHBvcHJ6ZXogISkiCisKK21zZ2lkICJFNTA2OiBDYW4ndCB3cml0ZSB0byBiYWNrdXAgZmlsZSAoYWRkICEgdG8gb3ZlcnJpZGUpIgorbXNnc3RyICJFNTA2OiBOaWUgbW9nxJkgemFwaXNhxIcgZG8gcGxpa3UgemFiZXpwaWVjemVuaWEgKHd5bXXFmyBwcnpleiAhKSIKKworbXNnaWQgIkU1MDc6IENsb3NlIGVycm9yIGZvciBiYWNrdXAgZmlsZSAoYWRkICEgdG8gb3ZlcnJpZGUpIgorbXNnc3RyICJFNTA3OiBCxYLEhWQgcG9kY3phcyB6YW15a2FuaWEgcGxpa3UgemFiZXpwaWVjemVuaWEgKHd5bXXFmyBwcnpleiAhKSIKKworbXNnaWQgIkU1MDg6IENhbid0IHJlYWQgZmlsZSBmb3IgYmFja3VwIChhZGQgISB0byBvdmVycmlkZSkiCittc2dzdHIgIkU1MDg6IE5pZSBtb2fEmSBvZGN6eXRhxIcgcGxpa3UgdyBjZWx1IHphYmV6cGllY3plbmlhICh3eW11xZsgcHJ6ZXogISkiCisKK21zZ2lkICJFNTA5OiBDYW5ub3QgY3JlYXRlIGJhY2t1cCBmaWxlIChhZGQgISB0byBvdmVycmlkZSkiCittc2dzdHIgIkU1MDk6IE5pZSBtb2fEmSBzdHdvcnp5xIcgcGxpa3UgemFiZXpwaWVjemVuaWEgKHd5bXXFmyBwcnpleiAhKSIKKworbXNnaWQgIkU1MTA6IENhbid0IG1ha2UgYmFja3VwIGZpbGUgKGFkZCAhIHRvIG92ZXJyaWRlKSIKK21zZ3N0ciAiRTUxMDogTmllIG1vZ8SZIHpyb2JpxIcgcGxpa3UgemFiZXpwaWVjemVuaWEgKHd5bXXFmyBwcnpleiAhKSIKKworbXNnaWQgIkU0NjA6IFRoZSByZXNvdXJjZSBmb3JrIHdvdWxkIGJlIGxvc3QgKGFkZCAhIHRvIG92ZXJyaWRlKSIKK21zZ3N0ciAiRTQ2MDogUm96ZHppYcWCIHphc29iw7N3IHpvc3RhbmllIHV0cmFjb255ICh3eW11xZsgcHJ6ZXogISkiCisKK21zZ2lkICJFMjE0OiBDYW4ndCBmaW5kIHRlbXAgZmlsZSBmb3Igd3JpdGluZyIKK21zZ3N0ciAiRTIxNDogTmllIG1vZ8SZIHpuYWxlxbrEhyBwbGlrdSB0eW1jemFzb3dlZ28gZG8gemFwaXNhbmlhIgorCittc2dpZCAiRTIxMzogQ2Fubm90IGNvbnZlcnQgKGFkZCAhIHRvIHdyaXRlIHdpdGhvdXQgY29udmVyc2lvbikiCittc2dzdHIgIkUyMTM6IE5pZSBtb2fEmSBwcnplbWllbmnEhyAodcW8eWogISBieSB6YXBpc2HEhyBiZXogcHJ6ZW1pYW55KSIKKworbXNnaWQgIkUxNjY6IENhbid0IG9wZW4gbGlua2VkIGZpbGUgZm9yIHdyaXRpbmciCittc2dzdHIgIkUxNjY6IE5pZSBtb2fEmSBvdHdvcnp5xIcgcG9kxYLEhWN6b25lZ28gcGxpa3UgZG8gemFwaXN1IgorCittc2dpZCAiRTIxMjogQ2FuJ3Qgb3BlbiBmaWxlIGZvciB3cml0aW5nIgorbXNnc3RyICJFMjEyOiBOaWUgbW9nxJkgb3R3b3J6ecSHIHBsaWt1IGRvIHphcGlzdSIKKworbXNnaWQgIkU2Njc6IEZzeW5jIGZhaWxlZCIKK21zZ3N0ciAiRTY2NzogRnN5bmMgbmllIHBvd2nDs2TFgiBzacSZIgorCittc2dpZCAiRTUxMjogQ2xvc2UgZmFpbGVkIgorbXNnc3RyICJFNTEyOiBaYW1rbmnEmWNpZSBzacSZIG5pZSBwb3dpb2TFgm8iCisKK21zZ2lkICJFNTEzOiB3cml0ZSBlcnJvciwgY29udmVyc2lvbiBmYWlsZWQgKG1ha2UgJ2ZlbmMnIGVtcHR5IHRvIG92ZXJyaWRlKSIKK21zZ3N0ciAiRTUxMzogQsWCxIVkIHphcGlzdSwgcHJ6ZW1pYW5hIHNpxJkgbmllIHBvd2lvZMWCYSAob3Byw7PFvG5paiAnZmVuYycgYWJ5IHd5bXVzacSHKSIKKworbXNnaWQgIkU1MTQ6IHdyaXRlIGVycm9yIChmaWxlIHN5c3RlbSBmdWxsPykiCittc2dzdHIgIkU1MTQ6IGLFgsSFZCB3IHphcGlzaWUgKG1vxbxlIHN5c3RlbSBwbGlrw7N3IGplc3QgcHJ6ZXBlxYJuaW9ueT8pIgorCittc2dpZCAiIENPTlZFUlNJT04gRVJST1IiCittc2dzdHIgIiBCxYHEhEQgVyBQUlpFTUlBTklFIgorCittc2dpZCAiW0RldmljZV0iCittc2dzdHIgIltVcnrEhWR6ZW5pZV0iCisKK21zZ2lkICJbTmV3XSIKK21zZ3N0ciAiW05vd3ldIgorCittc2dpZCAiIFthXSIKK21zZ3N0ciAiIFthXSIKKworbXNnaWQgIiBhcHBlbmRlZCIKK21zZ3N0ciAiIGRvxYLEhWN6b25vIgorCittc2dpZCAiIFt3XSIKK21zZ3N0ciAiIFt3XSIKKworbXNnaWQgIiB3cml0dGVuIgorbXNnc3RyICIgemFwaXNhbm8iCisKK21zZ2lkICJFMjA1OiBQYXRjaG1vZGU6IGNhbid0IHNhdmUgb3JpZ2luYWwgZmlsZSIKK21zZ3N0ciAiRTIwNTogUGF0Y2htb2RlOiBuaWUgbW9nxJkgemFwaXNhxIcgb3J5Z2luYWxuZWdvIHBsaWt1IgorCittc2dpZCAiRTIwNjogcGF0Y2htb2RlOiBjYW4ndCB0b3VjaCBlbXB0eSBvcmlnaW5hbCBmaWxlIgorbXNnc3RyICJFMjA2OiBwYXRjaG1vZGU6IG5pZSBtb2fEmSBzdHdvcnp5xIcgcHVzdGVnbyBvcnlnaW5hbG5lZ28gcGxpa3UiCisKK21zZ2lkICJFMjA3OiBDYW4ndCBkZWxldGUgYmFja3VwIGZpbGUiCittc2dzdHIgIkUyMDc6IE5pZSBtb2fEmSBza2Fzb3dhxIcgcGxpa3UgemFiZXpwaWVjemVuaWEiCisKK21zZ2lkICIiCisiXG4iCisiV0FSTklORzogT3JpZ2luYWwgZmlsZSBtYXkgYmUgbG9zdCBvciBkYW1hZ2VkXG4iCittc2dzdHIgIiIKKyJcbiIKKyJPU1RSWkXFu0VOSUU6IE9yeWdpbmFsbnkgcGxpayBtb8W8ZSB6b3N0YcSHIHV0cmFjb255IGx1YiB1c3prb2R6b255XG4iCisKK21zZ2lkICJkb24ndCBxdWl0IHRoZSBlZGl0b3IgdW50aWwgdGhlIGZpbGUgaXMgc3VjY2Vzc2Z1bGx5IHdyaXR0ZW4hIgorbXNnc3RyICJuaWUgd3ljaG9kxbogZWR5dG9yYSwgZG9ww7NraSBwbGlrIG5pZSB6b3N0YcWCIHBvcHJhd25pZSB6YXBpc2FueSEiCisKK21zZ2lkICJbZG9zXSIKK21zZ3N0ciAiW2Rvc10iCisKK21zZ2lkICJbZG9zIGZvcm1hdF0iCittc2dzdHIgIltmb3JtYXQgZG9zLWFdIgorCittc2dpZCAiW21hY10iCittc2dzdHIgIlttYWNdIgorCittc2dpZCAiW21hYyBmb3JtYXRdIgorbXNnc3RyICJbZm9ybWF0IG1hYy1hXSIKKworbXNnaWQgIlt1bml4XSIKK21zZ3N0ciAiW3VuaXhdIgorCittc2dpZCAiW3VuaXggZm9ybWF0XSIKK21zZ3N0ciAiW2Zvcm1hdCB1bml4LWFdIgorCittc2dpZCAiMSBsaW5lLCAiCittc2dzdHIgIjEgd2llcnN6LCAiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWxkIGxpbmVzLCAiCittc2dzdHIgIiVsZCB3aWVyc3p5LCAiCisKK21zZ2lkICIxIGNoYXJhY3RlciIKK21zZ3N0ciAiMSB6bmFrIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZCBjaGFyYWN0ZXJzIgorbXNnc3RyICIlbGQgem5ha8OzdyIKKworbXNnaWQgIltub2VvbF0iCittc2dzdHIgIltub2VvbF0iCisKK21zZ2lkICJbSW5jb21wbGV0ZSBsYXN0IGxpbmVdIgorbXNnc3RyICJbTmlla29tcGxldG55IG9zdGF0bmkgd2llcnN6XSIKKworIy4gZG9uJ3Qgb3ZlcndyaXRlIG1lc3NhZ2VzIGhlcmUKKyMuIG11c3QgZ2l2ZSB0aGlzIHByb21wdAorIy4gZG9uJ3QgdXNlIGVtc2coKSBoZXJlLCBkb24ndCB3YW50IHRvIGZsdXNoIHRoZSBidWZmZXJzCittc2dpZCAiV0FSTklORzogVGhlIGZpbGUgaGFzIGJlZW4gY2hhbmdlZCBzaW5jZSByZWFkaW5nIGl0ISEhIgorbXNnc3RyICJPU1RSWkXFu0VOSUU6IFBsaWsgem1pZW5pxYIgc2nEmSBvZCBjemFzdSBvc3RhdG5pZWdvIG9kY3p5dHUhISEiCisKK21zZ2lkICJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gd3JpdGUgdG8gaXQiCittc2dzdHIgIkN6eSBuYXByYXdkxJkgY2hjZXN6IGdvIHphcGlzYcSHIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkUyMDg6IEVycm9yIHdyaXRpbmcgdG8gXCIlc1wiIgorbXNnc3RyICJFMjA4OiBCxYLEhWQgemFwaXN5d2FuaWEgZG8gXCIlc1wiIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkUyMDk6IEVycm9yIGNsb3NpbmcgXCIlc1wiIgorbXNnc3RyICJFMjA5OiBCxYLEhWQgdyB0cmFrY2llIHphbXlrYW5pYSBcIiVzXCIiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTIxMDogRXJyb3IgcmVhZGluZyBcIiVzXCIiCittc2dzdHIgIkUyMTA6IELFgsSFZCBvZGN6eXR1IFwiJXNcIiIKKworbXNnaWQgIkUyNDY6IEZpbGVDaGFuZ2VkU2hlbGwgYXV0b2NvbW1hbmQgZGVsZXRlZCBidWZmZXIiCittc2dzdHIgIkUyNDY6IEF1dG9rb21lbmRhIEZpbGVDaGFuZ2VkU2hlbGwgc2thc293YcWCYSBidWZvciIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFMjExOiBGaWxlIFwiJXNcIiBubyBsb25nZXIgYXZhaWxhYmxlIgorbXNnc3RyICJFMjExOiBQbGlrIFwiJXNcIiBuaWUgamVzdCBkxYJ1xbxlaiBkb3N0xJlwbnkiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlcxMjogV2FybmluZzogRmlsZSBcIiVzXCIgaGFzIGNoYW5nZWQgYW5kIHRoZSBidWZmZXIgd2FzIGNoYW5nZWQgaW4gVmltIGFzICIKKyJ3ZWxsIgorbXNnc3RyICIiCisiVzEyOiBPU1RSWkXFu0VOSUU6IFBsaWsgXCIlc1wiIHptaWVuacWCIHNpxJkgb2QgY3phc3Ugcm96cG9jesSZY2lhIGVkeWNqaSwgYnVmb3IgIgorIncgVmltaWUgcsOzd25pZcW8IHpvc3RhxYIgem1pZW5pb255IgorCittc2dpZCAiU2VlIFwiOmhlbHAgVzEyXCIgZm9yIG1vcmUgaW5mby4iCittc2dzdHIgIlpvYmFjeiBcIjpoZWxwIFcxMlwiICBkbGEgZGFsc3p5Y2ggaW5mb3JtYWNqaS4iCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiVzExOiBXYXJuaW5nOiBGaWxlIFwiJXNcIiBoYXMgY2hhbmdlZCBzaW5jZSBlZGl0aW5nIHN0YXJ0ZWQiCittc2dzdHIgIlcxMTogT1NUUlpFxbtFTklFOiBQbGlrIFwiJXNcIiB6bWllbmnFgiBzacSZIG9kIGN6YXN1IHJvenBvY3rEmWNpYSBlZHljamkiCisKK21zZ2lkICJTZWUgXCI6aGVscCBXMTFcIiBmb3IgbW9yZSBpbmZvLiIKK21zZ3N0ciAiWm9iYWN6IFwiOmhlbHAgVzExXCIgIGRsYSBkYWxzenljaCBpbmZvcm1hY2ppLiIKKworIywgYy1mb3JtYXQKK21zZ2lkICJXMTY6IFdhcm5pbmc6IE1vZGUgb2YgZmlsZSBcIiVzXCIgaGFzIGNoYW5nZWQgc2luY2UgZWRpdGluZyBzdGFydGVkIgorbXNnc3RyICJXMTY6IE9TVFJaRcW7RU5JRTogVHJ5YiBwbGlrdSBcIiVzXCIgem1pZW5pxYIgc2nEmSBvZCBjemFzdSByb3pwb2N6xJljaWEgZWR5Y2ppIgorCittc2dpZCAiU2VlIFwiOmhlbHAgVzE2XCIgZm9yIG1vcmUgaW5mby4iCittc2dzdHIgIlpvYmFjeiBcIjpoZWxwIFcxNlwiICBkbGEgZGFsc3p5Y2ggaW5mb3JtYWNqaS4iCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiVzEzOiBXYXJuaW5nOiBGaWxlIFwiJXNcIiBoYXMgYmVlbiBjcmVhdGVkIGFmdGVyIGVkaXRpbmcgc3RhcnRlZCIKK21zZ3N0ciAiVzEzOiBPU1RSWkXFu0VOSUU6IFBsaWsgXCIlc1wiIHpvc3RhxYIgc3R3b3J6b255IHBvIHJvenBvY3rEmWNpdSBlZHljamkiCisKK21zZ2lkICJXYXJuaW5nIgorbXNnc3RyICJPU1RSWkXFu0VOSUUiCisKK21zZ2lkICIiCisiJk9LXG4iCisiJkxvYWQgRmlsZSIKK21zZ3N0ciAiIgorIiZPS1xuIgorIiZaYcWCYWR1aiBQbGlrIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkU0NjI6IENvdWxkIG5vdCBwcmVwYXJlIGZvciByZWxvYWRpbmcgXCIlc1wiIgorbXNnc3RyICJFNDYyOiBOaWUgbW/FvG5hIHByenlnb3Rvd2HEhyBwcnplxYJhZG93YW5pYSBcIiVzXCIiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTMyMTogQ291bGQgbm90IHJlbG9hZCBcIiVzXCIiCittc2dzdHIgIkUzMjE6IE5pZSBtb8W8bmEgcHJ6ZcWCYWRvd2HEhyBcIiVzXCIiCisKK21zZ2lkICItLURlbGV0ZWQtLSIKK21zZ3N0ciAiLS1Ta2Fzb3dhbm8tLSIKKworIywgYy1mb3JtYXQKK21zZ2lkICJhdXRvLXJlbW92aW5nIGF1dG9jb21tYW5kOiAlcyA8YnVmZmVyPSVkPiIKK21zZ3N0ciAiYXV0by11c3V3YW5pZSBhdXRva29tZW5keTogJXMgPGJ1ZmZlcj0lZD4iCisKKyMuIHRoZSBncm91cCBkb2Vzbid0IGV4aXN0CisjLCBjLWZvcm1hdAorbXNnaWQgIkUzNjc6IE5vIHN1Y2ggZ3JvdXA6IFwiJXNcIiIKK21zZ3N0ciAiRTM2NzogTmllIG1hIHRha2llaiBncnVweTogXCIlc1wiIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkUyMTU6IElsbGVnYWwgY2hhcmFjdGVyIGFmdGVyICo6ICVzIgorbXNnc3RyICJFMjE1OiBOaWVkb3B1c3pjemFsbnkgem5hayBwbyAqOiAlcyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFMjE2OiBObyBzdWNoIGV2ZW50OiAlcyIKK21zZ3N0ciAiRTIxNjogTmllIG1hIHRha2llZ28gd3lkYXJ6ZW5pYTogJXMiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTIxNjogTm8gc3VjaCBncm91cCBvciBldmVudDogJXMiCittc2dzdHIgIkUyMTY6IE5pZSBtYSB0YWtpZWogZ3J1cHkgbHViIHd5ZGFyemVuaWE6ICVzIgorCisjLiBIaWdobGlnaHQgdGl0bGUKK21zZ2lkICIiCisiXG4iCisiLS0tIEF1dG8tQ29tbWFuZHMgLS0tIgorbXNnc3RyICIiCisiXG4iCisiLS0tIEF1dG9rb21lbmR5IC0tLSIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFNjgwOiA8YnVmZmVyPSVkPjogaW52YWxpZCBidWZmZXIgbnVtYmVyICIKK21zZ3N0ciAiRTY4MDogPGJ1ZmZlcj0lZD46IG5pZXfFgmHFm2Npd3kgbnVtZXIgYnVmb3JhIgorCittc2dpZCAiRTIxNzogQ2FuJ3QgZXhlY3V0ZSBhdXRvY29tbWFuZHMgZm9yIEFMTCBldmVudHMiCittc2dzdHIgIkUyMTc6IE5pZSBtb8W8bmEgd3lrb255d2HEhyBhdXRva29tZW5kIGRsYSB3eWRhcnplxYQgQUxMIgorCittc2dpZCAiTm8gbWF0Y2hpbmcgYXV0b2NvbW1hbmRzIgorbXNnc3RyICJCcmFrIHBhc3VqxIVjeWNoIGF1dG9rb21lbmQiCisKK21zZ2lkICJFMjE4OiBhdXRvY29tbWFuZCBuZXN0aW5nIHRvbyBkZWVwIgorbXNnc3RyICJFMjE4OiB6Ynl0IGfFgsSZYm9raWUgemFnbmllxbxkxbxlbmllIGF1dG9rb21lbmQiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgQXV0byBjb21tYW5kcyBmb3IgXCIlc1wiIgorbXNnc3RyICIlcyBBdXRva29tZW5kIGRsYSBcIiVzXCIiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXhlY3V0aW5nICVzIgorbXNnc3RyICJXeWtvbnVqxJkgJXMiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiYXV0b2NvbW1hbmQgJXMiCittc2dzdHIgImF1dG9rb21lbmRhICVzIgorCittc2dpZCAiRTIxOTogTWlzc2luZyB7LiIKK21zZ3N0ciAiRTIxOTogQnJhayB7LiIKKworbXNnaWQgIkUyMjA6IE1pc3NpbmcgfS4iCittc2dzdHIgIkUyMjA6IEJyYWsgfS4iCisKK21zZ2lkICJFNDkwOiBObyBmb2xkIGZvdW5kIgorbXNnc3RyICJFNDkwOiBOaWUgem5hbGV6aW9ubyB6d2luacSZY2lhIgorCittc2dpZCAiRTM1MDogQ2Fubm90IGNyZWF0ZSBmb2xkIHdpdGggY3VycmVudCAnZm9sZG1ldGhvZCciCittc2dzdHIgIkUzNTA6IE5pZSBtb8W8bmEgdXR3b3J6ecSHIHp3aW5pxJljaWEgcHJ6eSBiaWXFvMSFY2VqICdmb2xkbWV0aG9kJyIKKworbXNnaWQgIkUzNTE6IENhbm5vdCBkZWxldGUgZm9sZCB3aXRoIGN1cnJlbnQgJ2ZvbGRtZXRob2QnIgorbXNnc3RyICJFMzUxOiBOaWUgbW/FvG5hIHNrYXNvd2HEhyB6d2luacSZY2lhIHByenkgYmllxbzEhWNlaiAnZm9sZG1ldGhvZCciCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiKy0tJTNsZCBsaW5lcyBmb2xkZWQgIgorbXNnc3RyICIrLS0lM2xkIHdpZXJzenkgendpbmnEmXRvICIKKworbXNnaWQgIkUyMjI6IEFkZCB0byByZWFkIGJ1ZmZlciIKK21zZ3N0ciAiRTIyMjogRG9kYWogZG8gYnVmb3JhIG9kY3p5dHUiCisKK21zZ2lkICJFMjIzOiByZWN1cnNpdmUgbWFwcGluZyIKK21zZ3N0ciAiRTIyMzogcmVrdXJzeXduZSBwcnp5cG9yesSFZGtvd2FuaWUiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTIyNDogZ2xvYmFsIGFiYnJldmlhdGlvbiBhbHJlYWR5IGV4aXN0cyBmb3IgJXMiCittc2dzdHIgIkUyMjQ6IGlzdG5pZWplIGp1xbwgZ2xvYmFsbnkgc2tyw7N0IGRsYSAlcyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFMjI1OiBnbG9iYWwgbWFwcGluZyBhbHJlYWR5IGV4aXN0cyBmb3IgJXMiCittc2dzdHIgIkUyMjU6IGlzdG5pZWplIGp1xbwgZ2xvYmFsbmUgcHJ6eXBvcnrEhWRrb3dhbmllIGRsYSAlcyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFMjI2OiBhYmJyZXZpYXRpb24gYWxyZWFkeSBleGlzdHMgZm9yICVzIgorbXNnc3RyICJFMjI2OiBpc3RuaWVqZSBqdcW8IHNrcsOzdCBkbGEgJXMiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTIyNzogbWFwcGluZyBhbHJlYWR5IGV4aXN0cyBmb3IgJXMiCittc2dzdHIgIkUyMjc6IGlzdG5pZWplIGp1xbwgcHJ6eXBvcnrEhWRrb3dhbmllIGRsYSAlcyIKKworbXNnaWQgIk5vIGFiYnJldmlhdGlvbiBmb3VuZCIKK21zZ3N0ciAiTmllIHpuYWxlemlvbm8gc2tyw7N0dSIKKworbXNnaWQgIk5vIG1hcHBpbmcgZm91bmQiCittc2dzdHIgIk5pZSB6bmFsZXppb25vIHByenlwb3J6xIVka293YW5pYSIKKworbXNnaWQgIkUyMjg6IG1ha2VtYXA6IElsbGVnYWwgbW9kZSIKK21zZ3N0ciAiRTIyODogbWFrZW1hcDogTmllZG9wdXN6Y3phbG55IHRyeWIiCisKK21zZ2lkICI8Y2Fubm90IG9wZW4+ICIKK21zZ3N0ciAiPG5pZSBtb2fEmSBvdHdvcnp5xIc+ICIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFNjE2OiB2aW1fU2VsRmlsZTogY2FuJ3QgZ2V0IGZvbnQgJXMiCittc2dzdHIgIkU2MTY6IHZpbV9TZWxGaWxlOiBuaWUgbW9nxJkgb3RyenltYcSHIGN6Y2lvbmtpICVzIgorCittc2dpZCAiRTYxNDogdmltX1NlbEZpbGU6IGNhbid0IHJldHVybiB0byBjdXJyZW50IGRpcmVjdG9yeSIKK21zZ3N0ciAiRTYxNDogdmltX1NlbEZpbGU6IG5pZSBtb2fEmSBwb3dyw7NjacSHIGRvIGJpZcW8xIVjZWdvIGthdGFsb2d1IgorCittc2dpZCAiUGF0aG5hbWU6IgorbXNnc3RyICJUcm9wOiIKKworbXNnaWQgIkU2MTU6IHZpbV9TZWxGaWxlOiBjYW4ndCBnZXQgY3VycmVudCBkaXJlY3RvcnkiCittc2dzdHIgIkU2MTU6IHZpbV9TZWxGaWxlOiBuaWUgbW9nxJkgb3RyenltYcSHIGJpZcW8xIVjZWdvIGthdGFsb2d1IgorCittc2dpZCAiT0siCittc2dzdHIgIk9LIgorCittc2dpZCAiQ2FuY2VsIgorbXNnc3RyICJaYWtvxYRjeiIKKworbXNnaWQgIlZpbSBkaWFsb2ciCittc2dzdHIgIlZJTSAtIERpYWxvZyIKKworbXNnaWQgIlNjcm9sbGJhciBXaWRnZXQ6IENvdWxkIG5vdCBnZXQgZ2VvbWV0cnkgb2YgdGh1bWIgcGl4bWFwLiIKK21zZ3N0ciAiU2Nyb2xsYmFyIFdpZGdldDogTmllIG1vZ8WCZW0gb3RyenltYcSHIHJvem1pYXLDs3cgcnlzdW5rdSBuYSBwcnp5Y2lza3UuIgorCittc2dpZCAiRTIzMjogQ2Fubm90IGNyZWF0ZSBCYWxsb29uRXZhbCB3aXRoIGJvdGggbWVzc2FnZSBhbmQgY2FsbGJhY2siCittc2dzdHIgIkUyMzI6IE5pZSBtb2fEmSBzdHdvcnp5xIcgQmFsbG9vbkV2YWwgeiBwb3dpYWRvbWllbmllbSBpIHd5d2/FgmFuaWVtIgorCittc2dpZCAiRTIyOTogQ2Fubm90IHN0YXJ0IHRoZSBHVUkiCittc2dzdHIgIkUyMjk6IE5pZSBtb2fEmSBvZHBhbGnEhyBHVUkiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTIzMDogQ2Fubm90IHJlYWQgZnJvbSBcIiVzXCIiCittc2dzdHIgIkUyMzA6IE5pZSBtb2fEmSBjenl0YcSHIHogXCIlc1wiIgorCittc2dpZCAiRTY2NTogQ2Fubm90IHN0YXJ0IEdVSSwgbm8gdmFsaWQgZm9udCBmb3VuZCIKK21zZ3N0ciAiRTY2NTogTmllIG1vxbxuYSB1cnVjaG9tacSHIEdVSSwgYnJhayBwcmF3aWTFgm93ZWogY3pjaW9ua2kiCisKK21zZ2lkICJFMjMxOiAnZ3VpZm9udHdpZGUnIGludmFsaWQiCittc2dzdHIgIkUyMzE6IE5pZXfFgmHFm2Npd2UgJ2d1aWZvbnR3aWRlJyIKKworbXNnaWQgIkU1OTk6IFZhbHVlIG9mICdpbWFjdGl2YXRla2V5JyBpcyBpbnZhbGlkIgorbXNnc3RyICJFNTk5OiBOaWVwcmF3aWTFgm93YSB3YXJ0b8WbxIcgJ2ltYWN0aXZhdGVrZXknIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkUyNTQ6IENhbm5vdCBhbGxvY2F0ZSBjb2xvciAlcyIKK21zZ3N0ciAiRTI1NDogTmllIG1vZ8SZIHphcmV6ZXJ3b3dhxIcga29sb3J1ICVzIgorCittc2dpZCAiTm8gbWF0Y2ggYXQgY3Vyc29yLCBmaW5kaW5nIG5leHQiCittc2dzdHIgIkJyYWsgZG9wYXNvd2FuaWEgcHJ6eSBrdXJzb3J6ZSwgc3p1a2FtIGRhbGVqIgorCittc2dpZCAiVmltIGRpYWxvZy4uLiIKK21zZ3N0ciAiRGlhbG9nIFZpbWEuLi4iCisKK21zZ2lkICIiCisiJlllc1xuIgorIiZOb1xuIgorIiZDYW5jZWwiCittc2dzdHIgIiIKKyImVGFrXG4iCisiJk5pZVxuIgorIiZaYWtvxYRjeiIKKworbXNnaWQgIklucHV0IF9NZXRob2RzIgorbXNnc3RyICJJbnB1dCBfTWV0aG9kcyIKKworbXNnaWQgIlZJTSAtIFNlYXJjaCBhbmQgUmVwbGFjZS4uLiIKK21zZ3N0ciAiVklNIC0gU3p1a2FqIGkgWmFtaWVuaWFqLi4uIgorCittc2dpZCAiVklNIC0gU2VhcmNoLi4uIgorbXNnc3RyICJWSU0gLSBTenVrYWouLi4iCisKK21zZ2lkICJGaW5kIHdoYXQ6IgorbXNnc3RyICJabmFqZMW6OiIKKworbXNnaWQgIlJlcGxhY2Ugd2l0aDoiCittc2dzdHIgIlphbWllxYQgbmE6IgorCisjLiB3aG9sZSB3b3JkIG9ubHkgYnV0dG9uCittc2dpZCAiTWF0Y2ggd2hvbGUgd29yZCBvbmx5IgorbXNnc3RyICJEb3Bhc3VqIHR5bGtvIGNhxYJlIHd5cmF6eSIKKworIy4gbWF0Y2ggY2FzZSBidXR0b24KK21zZ2lkICJNYXRjaCBjYXNlIgorbXNnc3RyICJEb3Bhc3VqIHdpZWxrb8WbxIcgbGl0ZXIiCisKK21zZ2lkICJEaXJlY3Rpb24iCittc2dzdHIgIktpZXJ1bmVrIgorCisjLiAnVXAnIGFuZCAnRG93bicgYnV0dG9ucworbXNnaWQgIlVwIgorbXNnc3RyICJXIGfDs3LEmSIKKworbXNnaWQgIkRvd24iCittc2dzdHIgIlcgZMOzxYIiCisKK21zZ2lkICJGaW5kIE5leHQiCittc2dzdHIgIlpuYWpkxbogbmFzdMSZcG5lIgorCittc2dpZCAiUmVwbGFjZSIKK21zZ3N0ciAiWmFtaWXFhCIKKworbXNnaWQgIlJlcGxhY2UgQWxsIgorbXNnc3RyICJaYW1pZcWEIHdzenlzdGtpZSIKKworbXNnaWQgIlZpbTogUmVjZWl2ZWQgXCJkaWVcIiByZXF1ZXN0IGZyb20gc2Vzc2lvbiBtYW5hZ2VyXG4iCittc2dzdHIgIlZpbTogb3RyenltYW5vIMW8xIVkYW5pZSBcImRpZVwiIG9kIG1hbmFkxbxlcmEgc2VzamlcbiIKKworbXNnaWQgIkNsb3NlIgorbXNnc3RyICJaYW1rbmlqIgorCittc2dpZCAiTmV3IHRhYiIKK21zZ3N0ciAiTm93YSBrYXJ0YSIKKworbXNnaWQgIk9wZW4gVGFiLi4uIgorbXNnc3RyICJPdHfDs3J6IGthcnTEmS4uLiIKKworbXNnaWQgIlZpbTogTWFpbiB3aW5kb3cgdW5leHBlY3RlZGx5IGRlc3Ryb3llZFxuIgorbXNnc3RyICJWaW06IEfFgsOzd25lIG9rbm8gbmllb2N6ZWtpd2FuaWUgem5pc3pjem9uZVxuIgorCittc2dpZCAiRm9udCBTZWxlY3Rpb24iCittc2dzdHIgIld5YsOzciBjemNpb25raSIKKworbXNnaWQgIlVzZWQgQ1VUX0JVRkZFUjAgaW5zdGVhZCBvZiBlbXB0eSBzZWxlY3Rpb24iCittc2dzdHIgIlXFvHl3YW0gQ1VUX0JVRkZFUjAgemFtaWFzdCBwdXN0ZWdvIHd5Ym9ydSIKKworbXNnaWQgIiZGaWx0ZXIiCittc2dzdHIgIiZGaWx0ciIKKworbXNnaWQgIiZDYW5jZWwiCittc2dzdHIgIiZBbnVsdWoiCisKK21zZ2lkICJEaXJlY3RvcmllcyIKK21zZ3N0ciAiS2F0YWxvZ2kiCisKK21zZ2lkICJGaWx0ZXIiCittc2dzdHIgIkZpbHRyIgorCittc2dpZCAiJkhlbHAiCittc2dzdHIgIiZQb21vYyIKKworbXNnaWQgIkZpbGVzIgorbXNnc3RyICJQbGlraSIKKworbXNnaWQgIiZPSyIKK21zZ3N0ciAiJk9LIgorCittc2dpZCAiU2VsZWN0aW9uIgorbXNnc3RyICJXeWLDs3IiCisKK21zZ2lkICJGaW5kICZOZXh0IgorbXNnc3RyICJabmFqZMW6ICZuYXN0xJlwbmUiCisKK21zZ2lkICImUmVwbGFjZSIKK21zZ3N0ciAiJlphbWllxYQiCisKK21zZ2lkICJSZXBsYWNlICZBbGwiCittc2dzdHIgIlphbWllxYQgJndzenlzdGtvIgorCittc2dpZCAiJlVuZG8iCittc2dzdHIgIiZDb2ZuaWoiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTYxMDogQ2FuJ3QgbG9hZCBaYXAgZm9udCAnJXMnIgorbXNnc3RyICJFNjEwOiBOaWUgbW9nxJkgemHFgmFkb3dhxIcgY3pjaW9ua2kgWmFwICclcyciCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTYxMTogQ2FuJ3QgdXNlIGZvbnQgJXMiCittc2dzdHIgIkU2MTE6IE5pZSBtb2fEmSB1xbx5xIcgY3pjaW9ua2kgJXMiCisKK21zZ2lkICIiCisiXG4iCisiU2VuZGluZyBtZXNzYWdlIHRvIHRlcm1pbmF0ZSBjaGlsZCBwcm9jZXNzLlxuIgorbXNnc3RyICIiCisiXG4iCisiV3lzecWCYW0gemF3aWFkb21pZW5pZSBrb8WEY3rEhWNlIHByb2NlcyBwb2Nob2RueS5cbiIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFNjcxOiBDYW5ub3QgZmluZCB3aW5kb3cgdGl0bGUgXCIlc1wiIgorbXNnc3RyICJFNjcxOiBOaWUgbW9nxJkgem5hbGXFusSHIHR5dHXFgnUgb2tuYSBcIiVzXCIiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTI0MzogQXJndW1lbnQgbm90IHN1cHBvcnRlZDogXCItJXNcIjsgVXNlIHRoZSBPTEUgdmVyc2lvbi4iCittc2dzdHIgIkUyNDM6IEFyZ3VtZW50IG5pZSBqZXN0IHdzcG9tYWdhbnk6IFwiLSVzXCI7IFXFvHl3YWogd2Vyc2ppIE9MRS4iCisKK21zZ2lkICJFNjcyOiBVbmFibGUgdG8gb3BlbiB3aW5kb3cgaW5zaWRlIE1ESSBhcHBsaWNhdGlvbiIKK21zZ3N0ciAiRTY3MjogTmllIG1vxbxuYSBvdHdvcnp5xIcgb2tuYSB3ZXduxIV0cnogYXBsaWthY2ppIE1ESSIKKworbXNnaWQgIkNsb3NlIHRhYiIKK21zZ3N0ciAiWmFta25paiBrYXJ0xJkiCisKK21zZ2lkICJPcGVuIHRhYi4uLiIKK21zZ3N0ciAiT3R3w7NyeiBrYXJ0xJkuLi4iCisKK21zZ2lkICJGaW5kIHN0cmluZyAodXNlICdcXFxcJyB0byBmaW5kICBhICdcXCcpIgorbXNnc3RyICJabmFqZMW6IGNpxIVnICh1xbx5aiAnXFxcXCcgZG8gc3p1a2FuaWEgJ1xcJykiCisKK21zZ2lkICJGaW5kICYgUmVwbGFjZSAodXNlICdcXFxcJyB0byBmaW5kICBhICdcXCcpIgorbXNnc3RyICJTenVrYW5pZSBpIFphbWlhbmEgKHXFvHlqICdcXFxcJyBkbyBzenVrYW5pYSAnXFwnKSIKKworIy4gV2UgZmFrZSB0aGlzOiBVc2UgYSBmaWx0ZXIgdGhhdCBkb2Vzbid0IHNlbGVjdCBhbnl0aGluZyBhbmQgYSBkZWZhdWx0CisjLiAqIGZpbGUgbmFtZSB0aGF0IHdvbid0IGJlIHVzZWQuCittc2dpZCAiTm90IFVzZWQiCittc2dzdHIgIk5pZSB1xbx5d2FueSIKKworbXNnaWQgIkRpcmVjdG9yeVx0Ki5ub3RoaW5nXG4iCittc2dzdHIgIkthdGFsb2dcdCoubmljXG4iCisKK21zZ2lkICJWaW0gRTQ1ODogQ2Fubm90IGFsbG9jYXRlIGNvbG9ybWFwIGVudHJ5LCBzb21lIGNvbG9ycyBtYXkgYmUgaW5jb3JyZWN0IgorbXNnc3RyICIiCisiVmltIEU0NTg6IE5pZSBtb2fEmSB6YXJlemVyd293YcSHIG1hcHkga29sb3LDs3csIHBld25lIGtvbG9yeSBtb2fEhSBiecSHICIKKyJuaWVwcmF3aWTFgm93ZSIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFMjUwOiBGb250cyBmb3IgdGhlIGZvbGxvd2luZyBjaGFyc2V0cyBhcmUgbWlzc2luZyBpbiBmb250c2V0ICVzOiIKK21zZ3N0ciAiRTI1MDogQnJhayBjemNpb25layBkbGEgbmFzdMSZcHVqxIVjeWNoIHplc3Rhd8OzdyB6bmFrw7N3IHcgemVzdGF3aWUgY3pjaW9uZWsgJXM6IgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkUyNTI6IEZvbnRzZXQgbmFtZTogJXMiCittc2dzdHIgIkUyNTI6IE5hendhIHplc3Rhd3UgY3pjaW9uZWs6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkZvbnQgJyVzJyBpcyBub3QgZml4ZWQtd2lkdGgiCittc2dzdHIgIkN6Y2lvbmthICclcycgbmllIHBvc2lhZGEgem5ha8OzdyBqZWRub2xpdGVqIHN6ZXJva2/Fm2NpIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkUyNTM6IEZvbnRzZXQgbmFtZTogJXNcbiIKK21zZ3N0ciAiRTI1MzogTmF6d2EgemVzdGF3dSBjemNpb25lazogJXNcbiIKKworIywgYy1mb3JtYXQKK21zZ2lkICJGb250MDogJXNcbiIKK21zZ3N0ciAiRm9udDA6ICVzXG4iCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRm9udDE6ICVzXG4iCittc2dzdHIgIkZvbnQxOiAlc1xuIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkZvbnQlbGQgd2lkdGggaXMgbm90IHR3aWNlIHRoYXQgb2YgZm9udDBcbiIKK21zZ3N0ciAiU3plcm9rb8WbxIcgZm9udCVsZCBuaWUgamVzdCBwb2R3w7NqbsSFIHN6ZXJva2/Fm2NpxIUgZm9udDBcbiIKKworIywgYy1mb3JtYXQKK21zZ2lkICJGb250MCB3aWR0aDogJWxkXG4iCittc2dzdHIgIlN6ZXJva2/Fm8SHIGZvbnQwOiAlbGRcbiIKKworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiRm9udDEgd2lkdGg6ICVsZFxuIgorIlxuIgorbXNnc3RyICIiCisiU3plcm9rb8WbxIcgZm9udDE6ICVsZFxuIgorIlxuIgorCittc2dpZCAiSW52YWxpZCBmb250IHNwZWNpZmljYXRpb24iCittc2dzdHIgIk5pZXByYXdpZMWCb3d5IG9waXMgY3pjaW9ua2kiCisKK21zZ2lkICImRGlzbWlzcyIKK21zZ3N0ciAiJkFudWx1aiIKKworbXNnaWQgIm5vIHNwZWNpZmljIG1hdGNoIgorbXNnc3RyICJicmFrIG9rcmXFm2xvbmVnbyBkb3Bhc293YW5pYSIKKworbXNnaWQgIlZpbSAtIEZvbnQgU2VsZWN0b3IiCittc2dzdHIgIlZpbSAtIHd5YsOzciBjemNpb25raSIKKworbXNnaWQgIk5hbWU6IgorbXNnc3RyICJOYXp3YToiCisKKyMuIGNyZWF0ZSB0b2dnbGUgYnV0dG9uCittc2dpZCAiU2hvdyBzaXplIGluIFBvaW50cyIKK21zZ3N0ciAiUG9rYcW8IHdpZWxrb8WbxIcgdyBwdW5rdGFjaCIKKworbXNnaWQgIkVuY29kaW5nOiIKK21zZ3N0ciAiS29kb3dhbmllOiIKKworbXNnaWQgIkZvbnQ6IgorbXNnc3RyICJDemNpb25rYToiCisKK21zZ2lkICJTdHlsZToiCittc2dzdHIgIlN0eWw6IgorCittc2dpZCAiU2l6ZToiCittc2dzdHIgIldpZWxrb8WbxIc6IgorCittc2dpZCAiRTI1NjogSGFuZ3VsIGF1dG9tYXRhIEVSUk9SIgorbXNnc3RyICJFMjU2OiBCxYHEhEQgdyBhdXRvbWFjaWUgSGFuZ3VsIgorCittc2dpZCAiRTU1MDogTWlzc2luZyBjb2xvbiIKK21zZ3N0ciAiRTU1MDogQnJhayBkd3Vrcm9wa2EiCisKK21zZ2lkICJFNTUxOiBJbGxlZ2FsIGNvbXBvbmVudCIKK21zZ3N0ciAiRTU1MTogTmllZG96d29sb25hIGN6xJnFm8SHIgorCittc2dpZCAiRTU1MjogZGlnaXQgZXhwZWN0ZWQiCittc2dzdHIgIkU1NTI6IG9jemVraXdhbm8gY3lmcnkiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFnZSAlZCIKK21zZ3N0ciAiU3Ryb25hICVkIgorCittc2dpZCAiTm8gdGV4dCB0byBiZSBwcmludGVkIgorbXNnc3RyICJCcmFrIHRla3N0dSBkbyBkcnVrb3dhbmlhIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIlByaW50aW5nIHBhZ2UgJWQgKCVkJSUpIgorbXNnc3RyICJEcnVrdWrEmSBzdHJvbsSZICVkICglZCUlKSIKKworIywgYy1mb3JtYXQKK21zZ2lkICIgQ29weSAlZCBvZiAlZCIKK21zZ3N0ciAiIEtvcGlhICVkIHogJWQiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJpbnRlZDogJXMiCittc2dzdHIgIld5ZHJ1a293YW5vOiAlcyIKKworbXNnaWQgIlByaW50aW5nIGFib3J0ZWQiCittc2dzdHIgIkRydWtvd2FuaWUgb2R3b8WCYW5lIgorCittc2dpZCAiRTQ1NTogRXJyb3Igd3JpdGluZyB0byBQb3N0U2NyaXB0IG91dHB1dCBmaWxlIgorbXNnc3RyICJFNDU1OiBOaWUgbW/FvG5hIHphcGlzYcSHIGRvIHd5asWbY2lvd2VnbyBwbGlrdSBQb3N0U2NyaXB0dSIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFNjI0OiBDYW4ndCBvcGVuIGZpbGUgXCIlc1wiIgorbXNnc3RyICJFNjI0OiBOaWUgbW9nxJkgb3R3b3J6ecSHIHBsaWt1IFwiJXNcIiIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFNDU3OiBDYW4ndCByZWFkIFBvc3RTY3JpcHQgcmVzb3VyY2UgZmlsZSBcIiVzXCIiCittc2dzdHIgIkU0NTc6IE5pZSBtb8W8bmEgb2Rjenl0YcSHIHBsaWt1IHphc29iw7N3IFBvc3RTY3JpcHR1IFwiJXNcIiIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFNjE4OiBmaWxlIFwiJXNcIiBpcyBub3QgYSBQb3N0U2NyaXB0IHJlc291cmNlIGZpbGUiCittc2dzdHIgIkU2MTg6IHBsaWsgXCIlc1wiIG5pZSBqZXN0IHBsaWtpZW0gemFzb2LDs3cgUG9zdFNjcmlwdHUiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTYxOTogZmlsZSBcIiVzXCIgaXMgbm90IGEgc3VwcG9ydGVkIFBvc3RTY3JpcHQgcmVzb3VyY2UgZmlsZSIKK21zZ3N0ciAiRTYxOTogcGxpayBcIiVzXCIgbmllIGplc3Qgd3NwaWVyYW55bSBwbGlraWVtIHphc29iw7N3IFBvc3RTY3JpcHR1IgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkU2MjE6IFwiJXNcIiByZXNvdXJjZSBmaWxlIGhhcyB3cm9uZyB2ZXJzaW9uIgorbXNnc3RyICJFNjIxOiBcIiVzXCIgbmllcHJhd2lkxYJvd2Egd2Vyc2phIHBsaWt1IHphc29iw7N3IgorCittc2dpZCAiRTY3MzogSW5jb21wYXRpYmxlIG11bHRpLWJ5dGUgZW5jb2RpbmcgYW5kIGNoYXJhY3RlciBzZXQuIgorbXNnc3RyICJFNjczOiBOaWVrb21wYXR5YmlsbmUga29kb3dhbmllIHdpZWxvYmFqdG93ZSBpIHplc3RhdyB6bmFrw7N3LiIKKworbXNnaWQgIkU2NzQ6IHByaW50bWJjaGFyc2V0IGNhbm5vdCBiZSBlbXB0eSB3aXRoIG11bHRpLWJ5dGUgZW5jb2RpbmcuIgorbXNnc3RyICJFNjc0OiBwcmludG1iY2hhcnNldCBuaWUgbW/FvGUgYnnEhyBwdXN0eSBwcnp5IGtvZG93YW5pdSB3aWVsb2JhanRvd3ltLiIKKworbXNnaWQgIkU2NzU6IE5vIGRlZmF1bHQgZm9udCBzcGVjaWZpZWQgZm9yIG11bHRpLWJ5dGUgcHJpbnRpbmcuIgorbXNnc3RyICJFNjc1OiBOaWUgb2tyZcWbbG9ubyBkb215xZtsbmVqIGN6Y2lvbmtpIGRsYSBkcnVrb3dhbmlhIHdpZWxvYmFqdG93ZWdvLiIKKworbXNnaWQgIkUzMjQ6IENhbid0IG9wZW4gUG9zdFNjcmlwdCBvdXRwdXQgZmlsZSIKK21zZ3N0ciAiRTMyNDogTmllIG1vxbxuYSBvdHdvcnp5xIcgcGxpa3UgUG9zdFNjcmlwdCBkbyB3eWrFm2NpYSIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFNDU2OiBDYW4ndCBvcGVuIGZpbGUgXCIlc1wiIgorbXNnc3RyICJFNDU2OiBOaWUgbW9nxJkgb3R3b3J6ecSHIHBsaWt1IFwiJXNcIiIKKworbXNnaWQgIkU0NTY6IENhbid0IGZpbmQgUG9zdFNjcmlwdCByZXNvdXJjZSBmaWxlIFwicHJvbG9nLnBzXCIiCittc2dzdHIgIkU0NTY6IE5pZSBtb8W8bmEgem5hbGXFusSHIHBsaWt1IHphc29iw7N3IFBvc3RTY3JpcHR1IFwicHJvbG9nLnBzXCIiCisKK21zZ2lkICJFNDU2OiBDYW4ndCBmaW5kIFBvc3RTY3JpcHQgcmVzb3VyY2UgZmlsZSBcImNpZGZvbnQucHNcIiIKK21zZ3N0ciAiRTQ1NjogTmllIG1vxbxuYSB6bmFsZcW6xIcgcGxpa3UgemFzb2LDs3cgUG9zdFNjcmlwdHUgXCJjaWRmb250LnBzXCIiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTQ1NjogQ2FuJ3QgZmluZCBQb3N0U2NyaXB0IHJlc291cmNlIGZpbGUgXCIlcy5wc1wiIgorbXNnc3RyICJFNDU2OiBOaWUgbW/FvG5hIHpuYWxlxbrEhyBwbGlrdSB6YXNvYsOzdyBQb3N0U2NyaXB0dSBcIiVzLnBzXCIiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTYyMDogVW5hYmxlIHRvIGNvbnZlcnQgdG8gcHJpbnQgZW5jb2RpbmcgXCIlc1wiIgorbXNnc3RyICJFNjIwOiBOaWUgbW/FvG5hIHByemVrb253ZXJ0b3dhxIcgYnkgZHJ1a293YcSHIGtvZG93YW5pZSBcIiVzXCIiCisKK21zZ2lkICJTZW5kaW5nIHRvIHByaW50ZXIuLi4iCittc2dzdHIgIlByemVzecWCYW0gZG8gZHJ1a2Fya2kuLi4iCisKK21zZ2lkICJFMzY1OiBGYWlsZWQgdG8gcHJpbnQgUG9zdFNjcmlwdCBmaWxlIgorbXNnc3RyICJFMzY1OiBEcnVrb3dhbmllIHBsaWt1IFBvc3RTY3JpcHQgbmllIHBvd2lvZMWCbyBzacSZIgorCittc2dpZCAiUHJpbnQgam9iIHNlbnQuIgorbXNnc3RyICJaYWRhbmllIGRydWtvd2FuaWUgcHJ6ZXPFgmFuZS4iCisKK21zZ2lkICJBZGQgYSBuZXcgZGF0YWJhc2UiCittc2dzdHIgIkRvZGFqIG5vd8SFIGJhesSZIGRhbnljaCIKKworbXNnaWQgIlF1ZXJ5IGZvciBhIHBhdHRlcm4iCittc2dzdHIgIlphcHl0YW5lIG8gd3pvcnplYyIKKworbXNnaWQgIlNob3cgdGhpcyBtZXNzYWdlIgorbXNnc3RyICJQb2thxbwgdGVuIGtvbXVuaWthdCIKKworbXNnaWQgIktpbGwgYSBjb25uZWN0aW9uIgorbXNnc3RyICJaYWJpaiBwb8WCxIVjemVuaWUiCisKK21zZ2lkICJSZWluaXQgYWxsIGNvbm5lY3Rpb25zIgorbXNnc3RyICJQb27Ds3cgd3N6ZWxraWUgcG/FgsSFY3plbmlhIgorCittc2dpZCAiU2hvdyBjb25uZWN0aW9ucyIKK21zZ3N0ciAiUG9rYcW8IHBvxYLEhWN6ZW5pYSIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFNTYwOiBVc2FnZTogY3NbY29wZV0gJXMiCittc2dzdHIgIkU1NjA6IFphc3Rvc293YW5pZTogY3NbY29wZV0gJXMiCisKK21zZ2lkICJUaGlzIGNzY29wZSBjb21tYW5kIGRvZXMgbm90IHN1cHBvcnQgc3BsaXR0aW5nIHRoZSB3aW5kb3cuXG4iCittc2dzdHIgIlRhIGtvbWVuZGEgY3Njb3BlIG5pZSB3c3BvbWFnYSBwb2R6aWVsZW5pYSBva25hLlxuIgorCittc2dpZCAiRTU2MjogVXNhZ2U6IGNzdGFnIDxpZGVudD4iCittc2dzdHIgIkU1NjI6IFphc3Rvc293YW5pZTogY3N0YWcgPGlkZW50PiIKKworbXNnaWQgIkUyNTc6IGNzdGFnOiB0YWcgbm90IGZvdW5kIgorbXNnc3RyICJFMjU3OiBjc3RhZzogbmllIHpuYWxlemlvbm8gem5hY3puaWthIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkU1NjM6IHN0YXQoJXMpIGVycm9yOiAlZCIKK21zZ3N0ciAiRTU2Mzogc3RhdCglcykgYsWCxIVkOiAlZCIKKworbXNnaWQgIkU1NjM6IHN0YXQgZXJyb3IiCittc2dzdHIgIkU1NjM6IGLFgsSFZCBzdGF0IgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkU1NjQ6ICVzIGlzIG5vdCBhIGRpcmVjdG9yeSBvciBhIHZhbGlkIGNzY29wZSBkYXRhYmFzZSIKK21zZ3N0ciAiRTU2NDogJXMgbmllIGplc3Qga2F0YWxvZ2llbSBsdWIgcG9wcmF3bsSFIGJhesSFIGRhbnljaCBjc2NvcGUiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiQWRkZWQgY3Njb3BlIGRhdGFiYXNlICVzIgorbXNnc3RyICJEb2Rhbm8gYmF6xJkgZGFueWNoIGNzY29wZSAlcyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFMjYyOiBlcnJvciByZWFkaW5nIGNzY29wZSBjb25uZWN0aW9uICVsZCIKK21zZ3N0ciAiRTI2MjogYsWCxIVkIG9kY3p5dHUgcG/FgsSFY3plbmlhIHogY3Njb3BlICVsZCIKKworbXNnaWQgIkU1NjE6IHVua25vd24gY3Njb3BlIHNlYXJjaCB0eXBlIgorbXNnc3RyICJFNTYxOiBuaWV6bmFueSB0eXAgc3p1a2FuaWEgY3Njb3BlIgorCittc2dpZCAiRTU2NjogQ291bGQgbm90IGNyZWF0ZSBjc2NvcGUgcGlwZXMiCittc2dzdHIgIkU1NjY6IE5pZSBtb2fFgmVtIHN0d29yennEhyBwb3Rva3UgZG8gY3Njb3BlIgorCittc2dpZCAiRTYyMjogQ291bGQgbm90IGZvcmsgZm9yIGNzY29wZSIKK21zZ3N0ciAiRTYyMjogTmllIG1vZ8WCZW0gdXR3b3J6ecSHIHJvendpZGxlbmlhIGRsYSBjc2NvcGUiCisKK21zZ2lkICJjc19jcmVhdGVfY29ubmVjdGlvbiBleGVjIGZhaWxlZCIKK21zZ3N0ciAid3lrb25hbmllIGNzX2NyZWF0ZV9jb25uZWN0aW9uIG5pZSBwb3dpb2TFgm8gc2nEmSIKKworbXNnaWQgIkU2MjM6IENvdWxkIG5vdCBzcGF3biBjc2NvcGUgcHJvY2VzcyIKK21zZ3N0ciAiRTYyMzogTmllIG1vZ8WCZW0gc3R3b3J6ecSHIHByb2Nlc3UgY3Njb3BlIgorCittc2dpZCAiY3NfY3JlYXRlX2Nvbm5lY3Rpb246IGZkb3BlbiBmb3IgdG9fZnAgZmFpbGVkIgorbXNnc3RyICJjc19jcmVhdGVfY29ubmVjdGlvbjogZmRvcGVuIGRsYSB0b19mcCBuaWUgcG93aW9kxYJvIHNpxJkiCisKK21zZ2lkICJjc19jcmVhdGVfY29ubmVjdGlvbjogZmRvcGVuIGZvciBmcl9mcCBmYWlsZWQiCittc2dzdHIgImNzX2NyZWF0ZV9jb25uZWN0aW9uOiBmZG9wZW4gZGxhIGZyX2ZwIG5pZSBwb3dpb2TFgm8gc2nEmSIKKworbXNnaWQgIkU1Njc6IG5vIGNzY29wZSBjb25uZWN0aW9ucyIKK21zZ3N0ciAiRTU2NzogYnJhayBwb8WCxIVjemVuaWEgeiBjc2NvcGUiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTI1OTogbm8gbWF0Y2hlcyBmb3VuZCBmb3IgY3Njb3BlIHF1ZXJ5ICVzIG9mICVzIgorbXNnc3RyICJFMjU5OiBicmFrIGRvcGFzb3dhxYQgZGxhIHphcHl0YW5pYSBjc2NvcGUgJXMgbyAlcyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFNDY5OiBpbnZhbGlkIGNzY29wZXF1aWNrZml4IGZsYWcgJWMgZm9yICVjIgorbXNnc3RyICJFNDY5OiBuaWVwcmF3aWTFgm93YSBmbGFnYSBjc2NvcGVxdWlja2ZpeCAlYyBkbGEgJWMiCisKK21zZ2lkICJjc2NvcGUgY29tbWFuZHM6XG4iCittc2dzdHIgImtvbWVuZHkgY3Njb3BlOlxuIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIiUtNXM6ICUtMzBzIChVc2FnZTogJXMpIgorbXNnc3RyICIlLTVzOiAlLTMwcyAoVcW8eWNpZTogJXMpIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkU2MjU6IGNhbm5vdCBvcGVuIGNzY29wZSBkYXRhYmFzZTogJXMiCittc2dzdHIgIkU2MjU6IG5pZSBtb2fEmSBvdHdvcnp5xIcgYmF6eSBkYW55Y2ggY3Njb3BlOiAlcyIKKworbXNnaWQgIkU2MjY6IGNhbm5vdCBnZXQgY3Njb3BlIGRhdGFiYXNlIGluZm9ybWF0aW9uIgorbXNnc3RyICJFNjI2OiBuaWUgbW9nxJkgdXp5c2thxIcgaW5mb3JtYWNqaSB6IGJhenkgZGFueWNoIGNzY29wZSIKKworbXNnaWQgIkU1Njg6IGR1cGxpY2F0ZSBjc2NvcGUgZGF0YWJhc2Ugbm90IGFkZGVkIgorbXNnc3RyICJFNTY4OiBuaWUgZG9kYW5vIGR1cGxpa2F0dSBiYXp5IGRhbnljaCBjc2NvcGUiCisKK21zZ2lkICJFNTY5OiBtYXhpbXVtIG51bWJlciBvZiBjc2NvcGUgY29ubmVjdGlvbnMgcmVhY2hlZCIKK21zZ3N0ciAiRTU2OTogd3ljemVycGFubyBtYWtzeW1hbG7EhSBsaWN6YsSZIHBvxYLEhWN6ZcWEIGNzY29wZSIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFMjYxOiBjc2NvcGUgY29ubmVjdGlvbiAlcyBub3QgZm91bmQiCittc2dzdHIgIkUyNjE6IG5pZSBtYSBwb8WCxIVjemVuaWEgJXMgeiBjc2NvcGUiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiY3Njb3BlIGNvbm5lY3Rpb24gJXMgY2xvc2VkIgorbXNnc3RyICJwb8WCxIVjemVuaWUgJXMgeiBjc2NvcGUgem9zdGHFgm8gemFta25pxJl0ZSIKKworIy4gc2hvdWxkIG5vdCByZWFjaCBoZXJlCittc2dpZCAiRTU3MDogZmF0YWwgZXJyb3IgaW4gY3NfbWFuYWdlX21hdGNoZXMiCittc2dzdHIgIkU1NzA6IGLFgsSFZCBrcnl0eWN6bnkgdyBjc19tYW5hZ2VfbWF0Y2hlcyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJDc2NvcGUgdGFnOiAlcyIKK21zZ3N0ciAiWm5hY3puaWsgY3Njb3BlOiAlcyIKKworbXNnaWQgIiIKKyJcbiIKKyIgICAjICAgbGluZSIKK21zZ3N0ciAiIgorIlxuIgorIiAgICMgICB3aWVyc3oiCisKK21zZ2lkICJmaWxlbmFtZSAvIGNvbnRleHQgLyBsaW5lXG4iCittc2dzdHIgIm5hendhIHBsaWt1ICAvIGtvbnRla3N0IC8gd2llcnN6XG4iCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTYwOTogQ3Njb3BlIGVycm9yOiAlcyIKK21zZ3N0ciAiRTYwOTogQsWCxIVkIGNzY29wZTogJXMiCisKK21zZ2lkICJBbGwgY3Njb3BlIGRhdGFiYXNlcyByZXNldCIKK21zZ3N0ciAiV3N6eXN0a2llIGJhenkgZGFueWNoIGNzY29wZSBwcnplxYJhZG93YW5vIgorCittc2dpZCAibm8gY3Njb3BlIGNvbm5lY3Rpb25zXG4iCittc2dzdHIgImJyYWsgcG/FgsSFY3plxYQgeiBjc2NvcGVcbiIKKworbXNnaWQgIiAjIHBpZCAgICBkYXRhYmFzZSBuYW1lICAgICAgICAgICAgICAgICAgICAgICBwcmVwZW5kIHBhdGhcbiIKK21zZ3N0ciAiICMgcGlkICAgbmF6d2EgYmF6eSBkYW55Y2ggICAgICAgICAgICAgICBwcnplZHNpb25layB0cm9wdVxuIgorCittc2dpZCAiIgorIj8/PzogU29ycnksIHRoaXMgY29tbWFuZCBpcyBkaXNhYmxlZCwgdGhlIE16U2NoZW1lIGxpYnJhcnkgY291bGQgbm90IGJlICIKKyJsb2FkZWQuIgorbXNnc3RyICIiCisiPz8/OiBQcnp5a3JvIG1pLCB0YSBrb21lbmRhIGplc3Qgd3nFgsSFY3pvbmEsIGJpYmxpb3Rla2EgTXpTY2hlbWUgbmllIG1vxbxlIGJ5xIcgIgorInphxYJhZG93YW5hLiIKKworbXNnaWQgImludmFsaWQgZXhwcmVzc2lvbiIKK21zZ3N0ciAibmllcG9wcmF3bmUgd3lyYcW8ZW5pZSIKKworbXNnaWQgImV4cHJlc3Npb25zIGRpc2FibGVkIGF0IGNvbXBpbGUgdGltZSIKK21zZ3N0ciAid3lyYcW8ZW5pYSB3ecWCxIVjem9uZSBwb2RjemFzIGtvbXBpbGFjamkiCisKK21zZ2lkICJoaWRkZW4gb3B0aW9uIgorbXNnc3RyICJ1a3J5dGEgb3BjamEiCisKK21zZ2lkICJ1bmtub3duIG9wdGlvbiIKK21zZ3N0ciAibmllem5hbmEgb3BjamEiCisKK21zZ2lkICJ3aW5kb3cgaW5kZXggaXMgb3V0IG9mIHJhbmdlIgorbXNnc3RyICJpbmRla3Mgb2tuYSBwb3phIHpha3Jlc2VtIgorCittc2dpZCAiY291bGRuJ3Qgb3BlbiBidWZmZXIiCittc2dzdHIgIm5pZSBtb2fEmSBvdHdvcnp5xIcgYnVmb3JhIgorCittc2dpZCAiY2Fubm90IHNhdmUgdW5kbyBpbmZvcm1hdGlvbiIKK21zZ3N0ciAibmllIG1vZ8SZIHphY2hvd2HEhyBpbmZvcm1hY2ppIGNvZmFuaWEiCisKK21zZ2lkICJjYW5ub3QgZGVsZXRlIGxpbmUiCittc2dzdHIgIm5pZSBtb2fEmSBza2Fzb3dhxIcgd2llcnN6YSIKKworbXNnaWQgImNhbm5vdCByZXBsYWNlIGxpbmUiCittc2dzdHIgIm5pZSBtb2fEmSB6YW1pZW5pxIcgd2llcnN6YSIKKworbXNnaWQgImNhbm5vdCBpbnNlcnQgbGluZSIKK21zZ3N0ciAibmllIG1vZ8SZIHdwcm93YWR6acSHIHdpZXJzemEiCisKK21zZ2lkICJzdHJpbmcgY2Fubm90IGNvbnRhaW4gbmV3bGluZXMiCittc2dzdHIgImNpxIVnIG5pZSBtb8W8ZSB6YXdpZXJhxIcgem5ha8OzdyBub3dlZ28gd2llcnN6YSIKKworbXNnaWQgIlZpbSBlcnJvcjogfmEiCittc2dzdHIgIkLFgsSFZCB2aW1hOiB+YSIKKworbXNnaWQgIlZpbSBlcnJvciIKK21zZ3N0ciAiQsWCxIVkIFZpbWEiCisKK21zZ2lkICJidWZmZXIgaXMgaW52YWxpZCIKK21zZ3N0ciAiYnVmb3IgamVzdCBuaWV3YcW8bnkiCisKK21zZ2lkICJ3aW5kb3cgaXMgaW52YWxpZCIKK21zZ3N0ciAib2tubyBqZXN0IG5pZXdhxbxuZSIKKworbXNnaWQgImxpbmVuciBvdXQgb2YgcmFuZ2UiCittc2dzdHIgIm51bWVyIHdpZXJzemEgcG96YSB6YWtyZXNlbSIKKworbXNnaWQgIm5vdCBhbGxvd2VkIGluIHRoZSBWaW0gc2FuZGJveCIKK21zZ3N0ciAiTmllZG96d29sb25lIHcgcGlhc2tvd25pY3kgVmltYSIKKworbXNnaWQgIiIKKyJFMjYzOiBTb3JyeSwgdGhpcyBjb21tYW5kIGlzIGRpc2FibGVkLCB0aGUgUHl0aG9uIGxpYnJhcnkgY291bGQgbm90IGJlICIKKyJsb2FkZWQuIgorbXNnc3RyICIiCisiRTI2MzogUHJ6eWtybyBtaSwgdGEga29tZW5kYSBqZXN0IHd5xYLEhWN6b25hLCBibyBuaWUgbW/FvG5hIHphxYJhZG93YcSHICIKKyJiaWJsaW90ZWtpIFB5dGhvbmEiCisKK21zZ2lkICJFNjU5OiBDYW5ub3QgaW52b2tlIFB5dGhvbiByZWN1cnNpdmVseSIKK21zZ3N0ciAiRTY1OTogTmllIG1vxbxuYSB3eXdvxYJhxIcgUHl0aG9uYSByZWt1cnN5d25pZSIKKworbXNnaWQgImNhbid0IGRlbGV0ZSBPdXRwdXRPYmplY3QgYXR0cmlidXRlcyIKK21zZ3N0ciAibmllIG1vZ8SZIHNrYXNvd2HEhyBhdHJ5YnV0w7N3IE91dHB1dE9iamVjdCIKKworbXNnaWQgInNvZnRzcGFjZSBtdXN0IGJlIGFuIGludGVnZXIiCittc2dzdHIgInNvZnRzcGFjZSBtdXNpIGJ5xIcgbGljemLEhSBjYcWCa293aXTEhSIKKworbXNnaWQgImludmFsaWQgYXR0cmlidXRlIgorbXNnc3RyICJuaWVwb3ByYXdueSBhdHJ5YnV0IgorCittc2dpZCAid3JpdGVsaW5lcygpIHJlcXVpcmVzIGxpc3Qgb2Ygc3RyaW5ncyIKK21zZ3N0ciAid3JpdGVsaW5lcygpIHd5bWFnYSBsaXN0eSBjacSFZ8OzdyIKKworbXNnaWQgIkUyNjQ6IFB5dGhvbjogRXJyb3IgaW5pdGlhbGlzaW5nIEkvTyBvYmplY3RzIgorbXNnc3RyICJFMjY0OiBQeXRob246IELFgsSFZCB3IGluaWNqYWxpemFjamkgb2JpZWt0w7N3IEkvTyIKKworbXNnaWQgImF0dGVtcHQgdG8gcmVmZXIgdG8gZGVsZXRlZCBidWZmZXIiCittc2dzdHIgInByw7NiYSBvZG5pZXNpZW5pYSBkbyBza2Fzb3dhbmVnbyBidWZvcmEiCisKK21zZ2lkICJsaW5lIG51bWJlciBvdXQgb2YgcmFuZ2UiCittc2dzdHIgIm51bWVyIHdpZXJzemEgcG96YSB6YWtyZXNlbSIKKworIywgYy1mb3JtYXQKK21zZ2lkICI8YnVmZmVyIG9iamVjdCAoZGVsZXRlZCkgYXQgJThsWD4iCittc2dzdHIgIjxvYmlla3QgYnVmb3JhIChza2Fzb3dhbnkpIHcgJThsWD4iCisKK21zZ2lkICJpbnZhbGlkIG1hcmsgbmFtZSIKK21zZ3N0ciAibmllcG9wcmF3bmEgbmF6d2EgemFrxYJhZGtpIgorCittc2dpZCAibm8gc3VjaCBidWZmZXIiCittc2dzdHIgIm5pZSBtYSB0YWtpZWdvIGJ1Zm9yYSIKKworbXNnaWQgImF0dGVtcHQgdG8gcmVmZXIgdG8gZGVsZXRlZCB3aW5kb3ciCittc2dzdHIgInByw7NiYSBvZG5pZXNpZW5pYSBkbyBza2Fzb3dhbmVnbyBva25hIgorCittc2dpZCAicmVhZG9ubHkgYXR0cmlidXRlIgorbXNnc3RyICJhdHJ5YnV0IHR5bGtvIGRvIG9kY3p5dHUiCisKK21zZ2lkICJjdXJzb3IgcG9zaXRpb24gb3V0c2lkZSBidWZmZXIiCittc2dzdHIgInBvenljamEga3Vyc29yYSBwb3phIGJ1Zm9yZW0iCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiPHdpbmRvdyBvYmplY3QgKGRlbGV0ZWQpIGF0ICUuOGxYPiIKK21zZ3N0ciAiPG9iaWVrdCBva25hIChza2Fzb3dhbnkpIHcgJS44bFg+IgorCisjLCBjLWZvcm1hdAorbXNnaWQgIjx3aW5kb3cgb2JqZWN0ICh1bmtub3duKSBhdCAlLjhsWD4iCittc2dzdHIgIjxvYmlla3Qgb2tuYSAobmllem5hbnkpIHcgJS44bFg+IgorCisjLCBjLWZvcm1hdAorbXNnaWQgIjx3aW5kb3cgJWQ+IgorbXNnc3RyICI8b2tubyAlZD4iCisKK21zZ2lkICJubyBzdWNoIHdpbmRvdyIKK21zZ3N0ciAibmllIG1hIHRha2llZ28gb2tuYSIKKworbXNnaWQgIkUyNjY6IFNvcnJ5LCB0aGlzIGNvbW1hbmQgaXMgZGlzYWJsZWQsIHRoZSBSdWJ5IGxpYnJhcnkgY291bGQgbm90IGJlIGxvYWRlZC4iCittc2dzdHIgIiIKKyJFMjYzOiBQcnp5a3JvIG1pLCB0YSBrb21lbmRhIGplc3Qgd3nFgsSFY3pvbmEsIGJvIG5pZSBtb8W8bmEgemHFgmFkb3dhxIcgIgorImJpYmxpb3Rla2kgUnVieS4iCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTI3MzogdW5rbm93biBsb25nam1wIHN0YXR1cyAlZCIKK21zZ3N0ciAiRTI3MzogTmllem5hbnkgc3RhdHVzIGxvbmdqbXAgJWQiCisKK21zZ2lkICJUb2dnbGUgaW1wbGVtZW50YXRpb24vZGVmaW5pdGlvbiIKK21zZ3N0ciAiUHJ6ZcWCxIVjeiBtacSZZHp5IGltcGxlbWVudGFjasSFL29rcmXFm2xlbmllbSIKKworbXNnaWQgIlNob3cgYmFzZSBjbGFzcyBvZiIKK21zZ3N0ciAiUG9rYcW8IGJhesSZIGtsYXN5IgorCittc2dpZCAiU2hvdyBvdmVycmlkZGVuIG1lbWJlciBmdW5jdGlvbiIKK21zZ3N0ciAiUG9rYcW8IHByemVwaXNhbsSFIGZ1bmtjasSZIGN6xYJvbmtvd8SFIgorCittc2dpZCAiUmV0cmlldmUgZnJvbSBmaWxlIgorbXNnc3RyICJQb2JpZXJhaiB6IHBsaWt1IgorCittc2dpZCAiUmV0cmlldmUgZnJvbSBwcm9qZWN0IgorbXNnc3RyICJQb2JpZXJhaiB6IHByb2pla3R1IgorCittc2dpZCAiUmV0cmlldmUgZnJvbSBhbGwgcHJvamVjdHMiCittc2dzdHIgIlBvYmllcmFqIHogd3N6eXN0a2ljaCBwcm9qZWt0w7N3IgorCittc2dpZCAiUmV0cmlldmUiCittc2dzdHIgIlBvYmllcnoiCisKK21zZ2lkICJTaG93IHNvdXJjZSBvZiIKK21zZ3N0ciAiUG9rYcW8IMW6csOzZMWCbyBkbGEiCisKK21zZ2lkICJGaW5kIHN5bWJvbCIKK21zZ3N0ciAiWm5hamTFuiBzeW1ib2wiCisKK21zZ2lkICJCcm93c2UgY2xhc3MiCittc2dzdHIgIlByemVqcnp5aiBrbGFzxJkiCisKK21zZ2lkICJTaG93IGNsYXNzIGluIGhpZXJhcmNoeSIKK21zZ3N0ciAiUG9rYcW8IGtsYXPEmSB3IGhpZXJhcmNoaWkiCisKK21zZ2lkICJTaG93IGNsYXNzIGluIHJlc3RyaWN0ZWQgaGllcmFyY2h5IgorbXNnc3RyICJQb2thxbwga2xhc8SZIHcgb2dyYW5pY3pvbmVqIGhpZXJhcmNoaWkiCisKK21zZ2lkICJYcmVmIHJlZmVycyB0byIKK21zZ3N0ciAiWHJlZiBvZG5vc2kgc2nEmSBkbyIKKworbXNnaWQgIlhyZWYgcmVmZXJyZWQgYnkiCittc2dzdHIgIlhyZWYgbWEgb2RuaWVzaWVuaWEgb2QiCisKK21zZ2lkICJYcmVmIGhhcyBhIgorbXNnc3RyICJYcmVmIG1hIgorCittc2dpZCAiWHJlZiB1c2VkIGJ5IgorbXNnc3RyICJYcmVmIHXFvHl0ZSBwcnpleiIKKworbXNnaWQgIlNob3cgZG9jdSBvZiIKK21zZ3N0ciAiUG9rYcW8IGRva3VtZW50YWNqxJkgZGxhIgorCittc2dpZCAiR2VuZXJhdGUgZG9jdSBmb3IiCittc2dzdHIgIld5Z2VuZXJ1aiBkb2t1bWVudGFjasSZIGRsYSIKKworbXNnaWQgIiIKKyJDYW5ub3QgY29ubmVjdCB0byBTTmlGRisuIENoZWNrIGVudmlyb25tZW50IChzbmlmZmVtYWNzIG11c3QgYmUgZm91bmQgaW4gIgorIiRQQVRIKS5cbiIKK21zZ3N0ciAiIgorIk5pZSBtb2fEmSBwb2TFgsSFY3p5xIcgZG8gU05pRkYrLiBTcHJhd2TFuiDFm3JvZG93aXNrbyAoc25pZmZlbWFjcyBtdXNpIGJ5xIcgIgorIm9kbmFsZXppb255IHcgJFBBVEgpLlxuIgorCittc2dpZCAiRTI3NDogU25pZmY6IEVycm9yIGR1cmluZyByZWFkLiBEaXNjb25uZWN0ZWQiCittc2dzdHIgIkUyNzQ6IFNuaWZmOiBCxYLEhWQgcG9kY3phcyBjenl0YW5pYS4gUm96xYLEhWN6ZW5pZSIKKworbXNnaWQgIlNOaUZGKyBpcyBjdXJyZW50bHkgIgorbXNnc3RyICJTTmlGRisgamVzdCBvYmVjbmllICIKKworbXNnaWQgIm5vdCAiCittc2dzdHIgIm5pZSAiCisKK21zZ2lkICJjb25uZWN0ZWQiCittc2dzdHIgInBvZMWCxIVjem9ueSIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFMjc1OiBVbmtub3duIFNOaUZGKyByZXF1ZXN0OiAlcyIKK21zZ3N0ciAiRTI3NTogTmllem5hbmUgemFweXRhbmllIFNOaUZGKzogJXMiCisKK21zZ2lkICJFMjc2OiBFcnJvciBjb25uZWN0aW5nIHRvIFNOaUZGKyIKK21zZ3N0ciAiRTI3NjogQsWCxIVkIHcgdHJha2NpZSBwb2TFgsSFY3phbmlhIGRvIFNOaUZGKyIKKworbXNnaWQgIkUyNzg6IFNOaUZGKyBub3QgY29ubmVjdGVkIgorbXNnc3RyICJFMjc4OiBTTmlGRisgbmllcG9kxYLEhWN6b255IgorCittc2dpZCAiRTI3OTogTm90IGEgU05pRkYrIGJ1ZmZlciIKK21zZ3N0ciAiRTI3OTogTmllIGplc3QgYnVmb3JlbSBTTmlGRisiCisKK21zZ2lkICJTbmlmZjogRXJyb3IgZHVyaW5nIHdyaXRlLiBEaXNjb25uZWN0ZWQiCittc2dzdHIgIlNuaWZmOiBCxYLEhWQgdyB0cmFrY2llIHphcGlzdS4gUm96xYLEhWN6b255IgorCittc2dpZCAiaW52YWxpZCBidWZmZXIgbnVtYmVyIgorbXNnc3RyICJuaWV3xYJhxZtjaXd5IG51bWVyIGJ1Zm9yYSIKKworbXNnaWQgIm5vdCBpbXBsZW1lbnRlZCB5ZXQiCittc2dzdHIgIm9iZWNuaWUgbmllIHphaW1wbGVtZW50b3dhbm8iCisKKyMuID8/PworbXNnaWQgImNhbm5vdCBzZXQgbGluZShzKSIKK21zZ3N0ciAibmllIG1vZ8SZIHVzdGF3acSHIHdpZXJzemEoeSkiCisKK21zZ2lkICJtYXJrIG5vdCBzZXQiCittc2dzdHIgInpha8WCYWRrYSBuaWUgdXN0YXdpb25hIgorCisjLCBjLWZvcm1hdAorbXNnaWQgInJvdyAlZCBjb2x1bW4gJWQiCittc2dzdHIgIndpZXJzeiAlZCBrb2x1bW5hICVkIgorCittc2dpZCAiY2Fubm90IGluc2VydC9hcHBlbmQgbGluZSIKK21zZ3N0ciAibmllIG1vZ8SZIHdwcm93YWR6acSHL2RvxYLEhWN6ecSHIHdpZXJzemEiCisKK21zZ2lkICJ1bmtub3duIGZsYWc6ICIKK21zZ3N0ciAibmllem5hbmEgZmxhZ2E6ICIKKworbXNnaWQgInVua25vd24gdmltT3B0aW9uIgorbXNnc3RyICJuaWV6bmFuZSB2aW1PcHRpb24iCisKK21zZ2lkICJrZXlib2FyZCBpbnRlcnJ1cHQiCittc2dzdHIgInByemVyd2FuaWUga2xhd2lhdHVyeSIKKworbXNnaWQgInZpbSBlcnJvciIKK21zZ3N0ciAiYsWCxIVkIHZpbWEiCisKK21zZ2lkICJjYW5ub3QgY3JlYXRlIGJ1ZmZlci93aW5kb3cgY29tbWFuZDogb2JqZWN0IGlzIGJlaW5nIGRlbGV0ZWQiCittc2dzdHIgIm5pZSBtb2fEmSBzdHdvcnp5xIcgYnVmb3JhL29rbmEga29tZW5keTogb2JpZWt0IGplc3Qga2Fzb3dhbnkiCisKK21zZ2lkICJjYW5ub3QgcmVnaXN0ZXIgY2FsbGJhY2sgY29tbWFuZDogYnVmZmVyL3dpbmRvdyBpcyBhbHJlYWR5IGJlaW5nIGRlbGV0ZWQiCittc2dzdHIgIiIKKyJuaWUgbW9nxJkgemFyZWplc3Ryb3dhxIcgd3N0ZWN6bmVnbyB3eXdvxYJhbmlhIGtvbWVuZHk6IGJ1Zm9yL29rbm8ganXFvCB6b3N0YcWCYSAiCisic2thc293YW5hIgorCisjLiBUaGlzIHNob3VsZCBuZXZlciBoYXBwZW4uICBGYW1vdXMgbGFzdCB3b3JkPworbXNnaWQgIiIKKyJFMjgwOiBUQ0wgRkFUQUwgRVJST1I6IHJlZmxpc3QgY29ycnVwdCE/IFBsZWFzZSByZXBvcnQgdGhpcyB0byB2aW0tZGV2QHZpbS4iCisib3JnIgorbXNnc3RyICIiCisiRTI4MDogVENMIEZBVEFMTlkgQsWBxIREOiByZWZsaXN0IHplcHN1dGEhPyBQcm9zesSZIHrFgm/FvHnEhyByYXBvcnQgbyB0eW0gbmEgdmltLSIKKyJkZXZAdmltLm9yZyIKKworbXNnaWQgImNhbm5vdCByZWdpc3RlciBjYWxsYmFjayBjb21tYW5kOiBidWZmZXIvd2luZG93IHJlZmVyZW5jZSBub3QgZm91bmQiCittc2dzdHIgIiIKKyJuaWUgbW9nxJkgemFyZWplc3Ryb3dhxIcgd3N0ZWN6bmVnbyB3eXdvxYJhbmlhIGtvbWVuZHk6IGJyYWsgb2RuaWVzaWVuaWEgZG8gIgorImJ1Zm9yYS9va25hIgorCittc2dpZCAiRTU3MTogU29ycnksIHRoaXMgY29tbWFuZCBpcyBkaXNhYmxlZDogdGhlIFRjbCBsaWJyYXJ5IGNvdWxkIG5vdCBiZSBsb2FkZWQuIgorbXNnc3RyICJQcnp5a3JvIG1pLCB0YSBrb21lbmRhIGplc3Qgd3nFgsSFY3pvbmEsIGJvIG5pZSBtb8W8bmEgemHFgmFkb3dhxIcgYmlibGlvdGVraSBUY2wuIgorCittc2dpZCAiRTI4MTogVENMIEVSUk9SOiBleGl0IGNvZGUgaXMgbm90IGludCE/IFBsZWFzZSByZXBvcnQgdGhpcyB0byB2aW0tZGV2QHZpbS5vcmciCittc2dzdHIgIiIKKyJFMjgxOiBCxYHEhEQgVENMOiBrb2QgemFrb8WEY3plbmlvd3kgbmllIGplc3QgY2HFgmtvd2l0eSE/IFByb3N6xJkgesWCb8W8ecSHIHJhcG9ydCAiCisibyB0eW0gbmEgdmltLWRldkB2aW0ub3JnIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkU1NzI6IGV4aXQgY29kZSAlZCIKK21zZ3N0ciAiRTU3Mjoga29kIHd5asWbY2lhICVkIgorCittc2dpZCAiY2Fubm90IGdldCBsaW5lIgorbXNnc3RyICJuaWUgbW9nxJkgZG9zdGHEhyB3aWVyc3phIgorCittc2dpZCAiVW5hYmxlIHRvIHJlZ2lzdGVyIGEgY29tbWFuZCBzZXJ2ZXIgbmFtZSIKK21zZ3N0ciAiTmllIG1vZ8SZIHphcmVqZXN0cm93YcSHIG5hend5IHNlcndlcmEga29tZW5kIgorCittc2dpZCAiRTI0ODogRmFpbGVkIHRvIHNlbmQgY29tbWFuZCB0byB0aGUgZGVzdGluYXRpb24gcHJvZ3JhbSIKK21zZ3N0ciAiRTI0ODogV3lzxYJhbmllIGtvbWVuZHkgZG8gcHJvZ3JhbXUgZG9jZWxvd2VnbyBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTU3MzogSW52YWxpZCBzZXJ2ZXIgaWQgdXNlZDogJXMiCittc2dzdHIgIkU1NzM6IFXFvHl0byBuaWV3xYJhxZtjaXdlZ28gaWQgc2Vyd2VyYTogJXMiCisKK21zZ2lkICJFMjUxOiBWSU0gaW5zdGFuY2UgcmVnaXN0cnkgcHJvcGVydHkgaXMgYmFkbHkgZm9ybWVkLiAgRGVsZXRlZCEiCittc2dzdHIgIkUyNTE6IHdjaWVsZW5pYSBpbnN0YW5jamkgcmVqZXN0cnUgVmltYSBqZXN0IMW6bGUgc2Zvcm1vd2FuZS4gIFNrYXNvd2FubyEiCisKK21zZ2lkICJVbmtub3duIG9wdGlvbiBhcmd1bWVudCIKK21zZ3N0ciAiTmllem5hbnkgYXJndW1lbnQgb3BjamkiCisKK21zZ2lkICJUb28gbWFueSBlZGl0IGFyZ3VtZW50cyIKK21zZ3N0ciAiWmJ5dCB3aWVsZSBhcmd1bWVudMOzdyIKKworbXNnaWQgIkFyZ3VtZW50IG1pc3NpbmcgYWZ0ZXIiCittc2dzdHIgIkJyYWsgYXJndW1lbnR1IHBvIgorCittc2dpZCAiR2FyYmFnZSBhZnRlciBvcHRpb24gYXJndW1lbnQiCittc2dzdHIgIsWabWllY2llIHBvIGFyZ3VtZW5jaWUgb3BjamkiCisKK21zZ2lkICJUb28gbWFueSBcIitjb21tYW5kXCIsIFwiLWMgY29tbWFuZFwiIG9yIFwiLS1jbWQgY29tbWFuZFwiIGFyZ3VtZW50cyIKK21zZ3N0ciAiWmJ5dCB3aWVsZSBhcmd1bWVudMOzdyBcIitrb21lbmRhXCIsIFwiLWMga29tZW5kYVwiIGx1YiBcIi0tY21kIGtvbWVuZGFcIiIKKworbXNnaWQgIkludmFsaWQgYXJndW1lbnQgZm9yIgorbXNnc3RyICJOaWV3xYJhxZtjaXd5IGFyZ3VtZW50IGRsYSIKKworIywgYy1mb3JtYXQKK21zZ2lkICIlZCBmaWxlcyB0byBlZGl0XG4iCittc2dzdHIgIiVkIHBsaWvDs3cgZG8gZWR5Y2ppXG4iCisKK21zZ2lkICJUaGlzIFZpbSB3YXMgbm90IGNvbXBpbGVkIHdpdGggdGhlIGRpZmYgZmVhdHVyZS4iCittc2dzdHIgIlRhIHdlcnNqYSBWaW1hIG5pZSBiecWCYSBza29tcGlsb3dhbmVnbyB6IG9wY2rEhSByw7PFvG5pYyAoZGlmZikuIgorCittc2dpZCAiQXR0ZW1wdCB0byBvcGVuIHNjcmlwdCBmaWxlIGFnYWluOiBcIiIKK21zZ3N0ciAiUHLDs2JhIHBvbm93bmVnbyBvdHdvcnplbmlhIHBsaWt1IHNrcnlwdHU6IFwiIgorCittc2dpZCAiQ2Fubm90IG9wZW4gZm9yIHJlYWRpbmc6IFwiIgorbXNnc3RyICJOaWUgbW9nxJkgb3R3b3J6ecSHIGRvIG9kY3p5dHU6IFwiIgorCittc2dpZCAiQ2Fubm90IG9wZW4gZm9yIHNjcmlwdCBvdXRwdXQ6IFwiIgorbXNnc3RyICJOaWUgbW9nxJkgb3R3b3J6ecSHIGRsYSB3eWrFm2NpYSBza3J5cHR1OiBcIiIKKworbXNnaWQgIlZpbTogRXJyb3I6IEZhaWx1cmUgdG8gc3RhcnQgZ3ZpbSBmcm9tIE5ldEJlYW5zXG4iCittc2dzdHIgIlZpbTogQsWCxIVkOiBOaWUgbW/FvG5hIHVydWNob21pxIcgZ3ZpbSB6IE5ldEJlYW5zXG4iCisKK21zZ2lkICJWaW06IFdhcm5pbmc6IE91dHB1dCBpcyBub3QgdG8gYSB0ZXJtaW5hbFxuIgorbXNnc3RyICJWaW06IE9TVFJaRcW7RU5JRTogV3lqxZtjaWUgbmllIGplc3QgdGVybWluYWxlbVxuIgorCittc2dpZCAiVmltOiBXYXJuaW5nOiBJbnB1dCBpcyBub3QgZnJvbSBhIHRlcm1pbmFsXG4iCittc2dzdHIgIlZpbTogT1NUUlpFxbtFTklFOiBXZWrFm2NpZSBuaWUgcG9jaG9kemkgeiB0ZXJtaW5hbGFcbiIKKworIy4ganVzdCBpbiBjYXNlLi4KK21zZ2lkICJwcmUtdmltcmMgY29tbWFuZCBsaW5lIgorbXNnc3RyICJsaW5pYSBwb2xlY2XFhCBwcmUtdmltcmMiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTI4MjogQ2Fubm90IHJlYWQgZnJvbSBcIiVzXCIiCittc2dzdHIgIkUyODI6IE5pZSBtb2fEmSBjenl0YcSHIHogXCIlc1wiIgorCittc2dpZCAiIgorIlxuIgorIk1vcmUgaW5mbyB3aXRoOiBcInZpbSAtaFwiXG4iCittc2dzdHIgIiIKKyJcbiIKKyJEYWxzemUgaW5mb3JtYWNqZSBwb3ByemV6OiBcInZpbSAtaFwiXG4iCisKK21zZ2lkICJbZmlsZSAuLl0gICAgICAgZWRpdCBzcGVjaWZpZWQgZmlsZShzKSIKK21zZ3N0ciAiW3BsaWsgLi5dICAgICAgIGVkeXR1aiB6YWRhbmUgcGxpa2kiCisKK21zZ2lkICItICAgICAgICAgICAgICAgcmVhZCB0ZXh0IGZyb20gc3RkaW4iCittc2dzdHIgIi0gICAgICAgICAgICAgICBjenl0YWogdGVrc3QgemUgc3RkaW4iCisKK21zZ2lkICItdCB0YWcgICAgICAgICAgZWRpdCBmaWxlIHdoZXJlIHRhZyBpcyBkZWZpbmVkIgorbXNnc3RyICItdCB6bmFjem5payAgIGVkeXR1aiBwbGlrLCB3IGt0w7NyeW0gZGFueSB6bmFjem5payBqZXN0IHpkZWZpbmlvd2FueSIKKworbXNnaWQgIi1xIFtlcnJvcmZpbGVdICBlZGl0IGZpbGUgd2l0aCBmaXJzdCBlcnJvciIKK21zZ3N0ciAiLXEgW2Vycm9yZmlsZV0gIGVkeXR1aiBwbGlrLCB6YXdpZXJhasSFY3kgcGllcndzenkgYsWCxIVkIgorCittc2dpZCAiIgorIlxuIgorIlxuIgorInVzYWdlOiIKK21zZ3N0ciAiIgorIlxuIgorIlxuIgorInXFvHljaWU6IgorCittc2dpZCAiIHZpbSBbYXJndW1lbnRzXSAiCittc2dzdHIgIiB2aW0gW2FyZ3VtZW50eV0iCisKK21zZ2lkICIiCisiXG4iCisiICAgb3I6IgorbXNnc3RyICIiCisiXG4iCisiICAgbHViOiIKKworbXNnaWQgIndoZXJlIGNhc2UgaXMgaWdub3JlZCBwcmVwZW5kIC8gdG8gbWFrZSBmbGFnIHVwcGVyIGNhc2UiCittc2dzdHIgIiIKKyJnZHppZSB3aWVsa2/Fm8SHIHpuYWvDs3cgamVzdCBpZ25vcm93YW5hIGRvZGFqIG5hIHBvY3rEhXRrdSAvIGJ5IGZsYWdhIGJ5xYJhICIKKyJ3aWVsa8SFIGxpdGVyxIUiCisKK21zZ2lkICIiCisiXG4iCisiXG4iCisiQXJndW1lbnRzOlxuIgorbXNnc3RyICIiCisiXG4iCisiXG4iCisiQXJndW1lbnR5OlxuIgorCittc2dpZCAiLS1cdFx0XHRPbmx5IGZpbGUgbmFtZXMgYWZ0ZXIgdGhpcyIKK21zZ3N0ciAiLS1cdFx0XHRUeWxrbyBuYXp3eSBwbGlrw7N3IHBvIHR5bSIKKworbXNnaWQgIi0tbGl0ZXJhbFx0XHREb24ndCBleHBhbmQgd2lsZGNhcmRzIgorbXNnc3RyICItLWxpdGVyYWxcdFx0TmllIHJvendpamFqIHpuYWvDs3cgc3BlY2phbG55Y2giCisKK21zZ2lkICItcmVnaXN0ZXJcdFx0UmVnaXN0ZXIgdGhpcyBndmltIGZvciBPTEUiCittc2dzdHIgIi1yZWdpc3Rlclx0XHRaYXJlamVzdHJ1aiB0ZWdvIGd2aW1hIHcgT0xFIgorCittc2dpZCAiLXVucmVnaXN0ZXJcdFx0VW5yZWdpc3RlciBndmltIGZvciBPTEUiCittc2dzdHIgIi11bnJlZ2lzdGVyXHRcdFd5cmVqZXN0cnVqIGd2aW1hIHogT0xFIgorCittc2dpZCAiLWdcdFx0XHRSdW4gdXNpbmcgR1VJIChsaWtlIFwiZ3ZpbVwiKSIKK21zZ3N0ciAiLWdcdFx0XHRTdGFydHVqIHcgR1VJICh0YWsgamFrIFwiZ3ZpbVwiKSIKKworbXNnaWQgIi1mICBvciAgLS1ub2ZvcmtcdEZvcmVncm91bmQ6IERvbid0IGZvcmsgd2hlbiBzdGFydGluZyBHVUkiCittc2dzdHIgIi1mICBsdWIgLS1ub2ZvcmtcdFBpZXJ3c3p5IHBsYW46IE5pZSB3eWR6aWVsYWogcHJ6eSBvZHBhbGFuaXUgR1VJIgorCittc2dpZCAiLXZcdFx0XHRWaSBtb2RlIChsaWtlIFwidmlcIikiCittc2dzdHIgIi12XHRcdFx0VHJ5YiB2aSAoamFrIFwidmlcIikiCisKK21zZ2lkICItZVx0XHRcdEV4IG1vZGUgKGxpa2UgXCJleFwiKSIKK21zZ3N0ciAiLWVcdFx0XHRUcnliIGV4IChqYWsgXCJleFwiKSIKKworbXNnaWQgIi1zXHRcdFx0U2lsZW50IChiYXRjaCkgbW9kZSAob25seSBmb3IgXCJleFwiKSIKK21zZ3N0ciAiLXNcdFx0XHRDaWNoeSB0cnliICh0xYJhKSAodHlsa28gZGxhIFwiZXhcIikiCisKK21zZ2lkICItZFx0XHRcdERpZmYgbW9kZSAobGlrZSBcInZpbWRpZmZcIikiCittc2dzdHIgIi1kXHRcdFx0VHJ5YiByw7PFvG5pYyAoamFrIFwidmltZGlmZlwiKSIKKworbXNnaWQgIi15XHRcdFx0RWFzeSBtb2RlIChsaWtlIFwiZXZpbVwiLCBtb2RlbGVzcykiCittc2dzdHIgIi15XHRcdFx0VHJ5YiDFgmF0d3kgKGphayBcImV2aW1cIiwgYmV6IHRyeWLDs3cpIgorCittc2dpZCAiLVJcdFx0XHRSZWFkb25seSBtb2RlIChsaWtlIFwidmlld1wiKSIKK21zZ3N0ciAiLVJcdFx0XHRUcnliIHd5xYLEhWN6bmllIGRvIG9kY3p5dHUgKGphayBcInZpZXdcIikiCisKK21zZ2lkICItWlx0XHRcdFJlc3RyaWN0ZWQgbW9kZSAobGlrZSBcInJ2aW1cIikiCittc2dzdHIgIi1aXHRcdFx0VHJ5YiBvZ3JhbmljemVuaWEgKGphayBcInJ2aW1cIikiCisKK21zZ2lkICItbVx0XHRcdE1vZGlmaWNhdGlvbnMgKHdyaXRpbmcgZmlsZXMpIG5vdCBhbGxvd2VkIgorbXNnc3RyICItbVx0XHRcdE1vZHlmaWthY2plICh6YXBpc3l3YW5pZSBwbGlrw7N3KSBuaWVkb3p3b2xvbmUiCisKK21zZ2lkICItTVx0XHRcdE1vZGlmaWNhdGlvbnMgaW4gdGV4dCBub3QgYWxsb3dlZCIKK21zZ3N0ciAiLU1cdFx0XHRaYWtheiBtb2R5ZmlrYWNqaSB0ZWtzdHUiCisKK21zZ2lkICItYlx0XHRcdEJpbmFyeSBtb2RlIgorbXNnc3RyICItYlx0XHRcdFRyeWIgYmluYXJueSIKKworbXNnaWQgIi1sXHRcdFx0TGlzcCBtb2RlIgorbXNnc3RyICItbFx0XHRcdFRyeWIgbGlzcCIKKworbXNnaWQgIi1DXHRcdFx0Q29tcGF0aWJsZSB3aXRoIFZpOiAnY29tcGF0aWJsZSciCittc2dzdHIgIi1DXHRcdFx0QsSFZMW6IHpnb2RueSB6IFZpOiAnY29tcGF0aWJsZSciCisKK21zZ2lkICItTlx0XHRcdE5vdCBmdWxseSBWaSBjb21wYXRpYmxlOiAnbm9jb21wYXRpYmxlJyIKK21zZ3N0ciAiLU5cdFx0XHRCxIVkxbogbmllenVwZcWCbmllIHpnb2RueSB6IFZpOiAnbm9jb21wYXRpYmxlJyIKKworbXNnaWQgIi1WW05dXHRcdFZlcmJvc2UgbGV2ZWwiCittc2dzdHIgIi1WW05dXHRcdFN0b3BpZcWEIGdhZGF0bGl3b8WbY2kiCisKK21zZ2lkICItRFx0XHRcdERlYnVnZ2luZyBtb2RlIgorbXNnc3RyICItRFx0XHRcdFRyeWIgb2RwbHVza3dpYW5pYSIKKworbXNnaWQgIi1uXHRcdFx0Tm8gc3dhcCBmaWxlLCB1c2UgbWVtb3J5IG9ubHkiCittc2dzdHIgIi1uXHRcdFx0WmFtaWFzdCBwbGlrdSB3eW1pYW55LCB1xbx5d2FqIHR5bGtvIHBhbWnEmWNpIgorCittc2dpZCAiLXJcdFx0XHRMaXN0IHN3YXAgZmlsZXMgYW5kIGV4aXQiCittc2dzdHIgIi1yXHRcdFx0V3lsaWN6IHBsaWtpIHd5bWlhbnkgaSB6YWtvxYRjeiIKKworbXNnaWQgIi1yICh3aXRoIGZpbGUgbmFtZSlcdFJlY292ZXIgY3Jhc2hlZCBzZXNzaW9uIgorbXNnc3RyICItciAoeiBuYXp3xIUgcGxpa3UpXHRPZHR3w7NyeiB6YcWCYW1hbsSFIHNlc2rEmSIKKworbXNnaWQgIi1MXHRcdFx0U2FtZSBhcyAtciIKK21zZ3N0ciAiLUxcdFx0XHRUb8W8c2FtZSB6IC1yIgorCittc2dpZCAiLWZcdFx0XHREb24ndCB1c2UgbmV3Y2xpIHRvIG9wZW4gd2luZG93IgorbXNnc3RyICItZlx0XHRcdE5pZSBzdG9zdWogbmV3Y2xpIGRvIG90d2llcmFuaWEgb2tpZW4iCisKK21zZ2lkICItZGV2IDxkZXZpY2U+XHRcdFVzZSA8ZGV2aWNlPiBmb3IgSS9PIgorbXNnc3RyICItZGV2IDxkZXZpY2U+XHRcdFXFvHl3YWogPGRldmljZT4gZG8gSS9PIgorCittc2dpZCAiLUFcdFx0XHRzdGFydCBpbiBBcmFiaWMgbW9kZSIKK21zZ3N0ciAiLUFcdFx0XHRyb3pwb2N6bmlqIHcgdHJ5YmllIGFyYWJza2ltIgorCittc2dpZCAiLUhcdFx0XHRTdGFydCBpbiBIZWJyZXcgbW9kZSIKK21zZ3N0ciAiLUhcdFx0XHRyb3pwb2N6bmlqIHcgdHJ5YmllIGhlYnJhanNraW0iCisKK21zZ2lkICItRlx0XHRcdFN0YXJ0IGluIEZhcnNpIG1vZGUiCittc2dzdHIgIi1GXHRcdFx0cm96cG9jem5paiB3IHRyeWJpZSBmYXJzaSIKKworbXNnaWQgIi1UIDx0ZXJtaW5hbD5cdFNldCB0ZXJtaW5hbCB0eXBlIHRvIDx0ZXJtaW5hbD4iCittc2dzdHIgIi1UIDx0ZXJtaW5hbD5cdFVzdGF3IHR5cCB0ZXJtaW5hbGEgbmEgPHRlcm1pbmFsPiIKKworbXNnaWQgIi11IDx2aW1yYz5cdFx0VXNlIDx2aW1yYz4gaW5zdGVhZCBvZiBhbnkgLnZpbXJjIgorbXNnc3RyICItdSA8dmltcmM+XHRcdFXFvHlqIDx2aW1yYz4gemFtaWFzdCBqYWtpZWdva29sd2llayAudmltcmMiCisKK21zZ2lkICItVSA8Z3ZpbXJjPlx0XHRVc2UgPGd2aW1yYz4gaW5zdGVhZCBvZiBhbnkgLmd2aW1yYyIKK21zZ3N0ciAiLVUgPGd2aW1yYz5cdFx0VcW8eWogPGd2aW1yYz4gemFtaWFzdCBqYWtpZWdva29sd2llayAuZ3ZpbXJjIgorCittc2dpZCAiLS1ub3BsdWdpblx0XHREb24ndCBsb2FkIHBsdWdpbiBzY3JpcHRzIgorbXNnc3RyICItLW5vcGx1Z2luXHRcdE5pZSDFgmFkdWogc2tyeXB0w7N3IHd0eWN6ZWsiCisKK21zZ2lkICItcFtOXVx0XHRPcGVuIE4gdGFiIHBhZ2VzIChkZWZhdWx0OiBvbmUgZm9yIGVhY2ggZmlsZSkiCittc2dzdHIgIi1wW05dXHRcdE90d8OzcnogTiBrYXJ0IChkb215xZtsbmllOiBwbyBqZWRuZWogZGxhIGthxbxkZWdvIHBsaWt1KSIKKworbXNnaWQgIi1vW05dXHRcdE9wZW4gTiB3aW5kb3dzIChkZWZhdWx0OiBvbmUgZm9yIGVhY2ggZmlsZSkiCittc2dzdHIgIi1vW05dXHRcdE90d8OzcnogTiBva2llbiAoZG9tecWbbG5pZTogcG8gamVkbnltIGRsYSBrYcW8ZGVnbyBwbGlrdSkiCisKK21zZ2lkICItT1tOXVx0XHRMaWtlIC1vIGJ1dCBzcGxpdCB2ZXJ0aWNhbGx5IgorbXNnc3RyICItT1tOXVx0XHR0YWsgc2FtbyBqYWsgLW8gdHlsa28gZHppZWwgb2tubyBwaW9ub3dvIgorCittc2dpZCAiK1x0XHRcdFN0YXJ0IGF0IGVuZCBvZiBmaWxlIgorbXNnc3RyICIrXHRcdFx0WmFjem5paiBuYSBrb8WEY3UgcGxpa3UiCisKK21zZ2lkICIrPGxudW0+XHRcdFN0YXJ0IGF0IGxpbmUgPGxudW0+IgorbXNnc3RyICIrPGxudW0+XHRcdFphY3puaWogdyB3aWVyc3p1IDxsbnVtPiIKKworbXNnaWQgIi0tY21kIDxjb21tYW5kPlx0RXhlY3V0ZSA8Y29tbWFuZD4gYmVmb3JlIGxvYWRpbmcgYW55IHZpbXJjIGZpbGUiCittc2dzdHIgIiIKKyItY21kIDxjb21tYW5kPlx0XHRXeWtvbmFqIGtvbWVuZMSZIDxjb21tYW5kPiBwcnplZCB6YcWCYWRvd2FuaWVtICIKKyJqYWtpZWdva29sd2llayBwbGlrdSB2aW1yYyIKKworbXNnaWQgIi1jIDxjb21tYW5kPlx0XHRFeGVjdXRlIDxjb21tYW5kPiBhZnRlciBsb2FkaW5nIHRoZSBmaXJzdCBmaWxlIgorbXNnc3RyICItYyA8Y29tbWFuZD5cdFx0V3lrb25haiBrb21lbmTEmSA8Y29tbWFuZD4gcG8gemHFgmFkb3dhbml1IHBpZXJ3c3plZ28gcGxpa3UiCisKK21zZ2lkICItUyA8c2Vzc2lvbj5cdFx0U291cmNlIGZpbGUgPHNlc3Npb24+IGFmdGVyIGxvYWRpbmcgdGhlIGZpcnN0IGZpbGUiCittc2dzdHIgIi1TIDxzZXNqYT5cdFx0V2N6eXRhaiBwbGlrIDxzZXNqYT4gcG8gemHFgmFkb3dhbml1IHBpZXJ3c3plZ28gcGxpa3UiCisKK21zZ2lkICItcyA8c2NyaXB0aW4+XHRSZWFkIE5vcm1hbCBtb2RlIGNvbW1hbmRzIGZyb20gZmlsZSA8c2NyaXB0aW4+IgorbXNnc3RyICItcyA8c2NyaXB0aW4+XHRXY3p5dHVqIGtvbWVuZHkgdHJ5YnUgbm9ybWFsbmVnbyB6IHBsaWt1IDxzY3JpcHRpbj4iCisKK21zZ2lkICItdyA8c2NyaXB0b3V0Plx0QXBwZW5kIGFsbCB0eXBlZCBjb21tYW5kcyB0byBmaWxlIDxzY3JpcHRvdXQ+IgorbXNnc3RyICItdyA8c2NyaXB0b3V0Plx0RG/FgsSFY3ogd3N6eXN0a2llIHdwcm93YWR6YW5lIGtvbWVuZHkgZG8gcGxpa3UgPHNjcmlwdG91dD4iCisKK21zZ2lkICItVyA8c2NyaXB0b3V0Plx0V3JpdGUgYWxsIHR5cGVkIGNvbW1hbmRzIHRvIGZpbGUgPHNjcmlwdG91dD4iCittc2dzdHIgIi1XIDxzY3JpcHRvdXQ+XHRaYXBpc3VqIHdzenlzdGtpZSB3cHJvd2FkemFuZSBrb21lbmR5IGRvIHBsaWt1IDxzY3JpcHRvdXQ+IgorCittc2dpZCAiLXhcdFx0XHRFZGl0IGVuY3J5cHRlZCBmaWxlcyIKK21zZ3N0ciAiLXhcdFx0XHRFZHl0dWogemFrb2Rvd2FuZSBwbGlraSIKKworbXNnaWQgIi1kaXNwbGF5IDxkaXNwbGF5Plx0Q29ubmVjdCB2aW0gdG8gdGhpcyBwYXJ0aWN1bGFyIFgtc2VydmVyIgorbXNnc3RyICItZGlzcGxheSA8ZGlzcGxheT5cdFBvZMWCxIVjeiB2aW1hIHRvIGRhbmVnbyBYLXNlcndlcmEiCisKK21zZ2lkICItWFx0XHRcdERvIG5vdCBjb25uZWN0IHRvIFggc2VydmVyIgorbXNnc3RyICItWFx0XHRcdE5pZSDFgsSFY3ogeiBzZXJ3ZXJlbSBYIgorCittc2dpZCAiLS1yZW1vdGUgPGZpbGVzPlx0RWRpdCA8ZmlsZXM+IGluIGEgVmltIHNlcnZlciBpZiBwb3NzaWJsZSIKK21zZ3N0ciAiLS1yZW1vdGUgPHBsaWtpPlx0RWR5dHVqIHBsaWtpIHcgc2Vyd2VyemUgVmltYSBqZcWbbGkgbW/FvGxpd2UiCisKK21zZ2lkICItLXJlbW90ZS1zaWxlbnQgPGZpbGVzPiAgU2FtZSwgZG9uJ3QgY29tcGxhaW4gaWYgdGhlcmUgaXMgbm8gc2VydmVyIgorbXNnc3RyICItLXJlbW90ZS1zaWxlbnQgPHBsaWtpPiBUbyBzYW1vLCBuaWUgbmFyemVrYWogamXFm2xpIG5pZSBtYSBzZXJ3ZXJhIgorCittc2dpZCAiLS1yZW1vdGUtd2FpdCA8ZmlsZXM+ICBBcyAtLXJlbW90ZSBidXQgd2FpdCBmb3IgZmlsZXMgdG8gaGF2ZSBiZWVuIGVkaXRlZCIKK21zZ3N0ciAiLS1yZW1vdGUtd2FpdCA8cGxpa2k+XHRUYWsgamFrIC0tcmVtb3RlLCBsZWN6IGN6ZWthaiBuYSBwbGlraSBwcnplZCBlZHljasSFIgorCittc2dpZCAiLS1yZW1vdGUtd2FpdC1zaWxlbnQgPGZpbGVzPiAgU2FtZSwgZG9uJ3QgY29tcGxhaW4gaWYgdGhlcmUgaXMgbm8gc2VydmVyIgorbXNnc3RyICItLXJlbW90ZS13YWl0LXNpbGVudCA8cGxpa2k+ICBUbyBzYW1vLCBuaWUgbmFyemVrYWogamXFm2xpIG5pZSBtYSBzZXJ3ZXJhIgorCittc2dpZCAiLS1yZW1vdGUtdGFiIDxmaWxlcz4gIEFzIC0tcmVtb3RlIGJ1dCBvcGVuIHRhYiBwYWdlIGZvciBlYWNoIGZpbGUiCittc2dzdHIgIi0tcmVtb3RlLXRhYiA8cGxpa2k+XHRUYWsgamFrIC0tcmVtb3RlIGFsZSBvdHfDs3J6IGplZG7EhSBrYXJ0xJkgZGxhIGthxbxkZWdvIHBsaWt1IgorCittc2dpZCAiLS1yZW1vdGUtc2VuZCA8a2V5cz5cdFNlbmQgPGtleXM+IHRvIGEgVmltIHNlcnZlciBhbmQgZXhpdCIKK21zZ3N0ciAiLS1yZW1vdGUtc2VuZCA8a2xhd2lzemU+XHRXecWbbGlqIDxrbGF3aXN6ZT4gZG8gc2Vyd2VyYSBWaW1hIGkgemFrb8WEY3oiCisKK21zZ2lkICItLXJlbW90ZS1leHByIDxleHByPlx0RXZhbHVhdGUgPGV4cHI+IGluIGEgVmltIHNlcnZlciBhbmQgcHJpbnQgcmVzdWx0IgorbXNnc3RyICItLXJlbW90ZS1leHByIDx3eXI+XHRXeWtvbmFqIDx3eXJhxbxlbmllPiB3IHNlcndlcnplIGkgd3lwaXN6IHd5bmlrIgorCittc2dpZCAiLS1zZXJ2ZXJsaXN0XHRcdExpc3QgYXZhaWxhYmxlIFZpbSBzZXJ2ZXIgbmFtZXMgYW5kIGV4aXQiCittc2dzdHIgIi0tc2VydmVybGlzdFx0XHRXeW1pZcWEIG5hend5IGRvc3TEmXBueWNoIHNlcndlcsOzdyBWaW1hIGkgemFrb8WEY3oiCisKK21zZ2lkICItLXNlcnZlcm5hbWUgPG5hbWU+XHRTZW5kIHRvL2JlY29tZSB0aGUgVmltIHNlcnZlciA8bmFtZT4iCittc2dzdHIgIi0tc2VydmVybmFtZSA8bmF6d2E+XHRcdE9kc3nFgmFqIGRvL3N0YcWEIHNpxJkgc2Vyd2VyZW0gVmltIDxuYXp3YT4iCisKK21zZ2lkICItaSA8dmltaW5mbz5cdFx0VXNlIDx2aW1pbmZvPiBpbnN0ZWFkIG9mIC52aW1pbmZvIgorbXNnc3RyICItaSA8dmltaW5mbz5cdFx0VcW8eXdhaiA8dmltaW5mbz4gemFtaWFzdCAudmltaW5mbyIKKworbXNnaWQgIi1oICBvciAgLS1oZWxwXHRQcmludCBIZWxwICh0aGlzIG1lc3NhZ2UpIGFuZCBleGl0IgorbXNnc3RyICItaCAgbHViICAtLWhlbHBcdHd5xZt3aWV0bCBQb21vYyAoY3p5bGkgdMSZIHdpYWRvbW/Fm8SHKSBpIHpha2/FhGN6IgorCittc2dpZCAiLS12ZXJzaW9uXHRcdFByaW50IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQiCittc2dzdHIgIi0tdmVyc2lvblx0XHR3ecWbd2lldGwgaW5mb3JtYWNqxJkgbyB3ZXJzamkgaSB6YWtvxYRjeiIKKworbXNnaWQgIiIKKyJcbiIKKyJBcmd1bWVudHMgcmVjb2duaXNlZCBieSBndmltIChNb3RpZiB2ZXJzaW9uKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkFyZ3VtZW50eSByb3pwb3puYXdhbmUgcHJ6ZXogZ3ZpbSAod2Vyc2phIE1vdGlmKTpcbiIKKworbXNnaWQgIiIKKyJcbiIKKyJBcmd1bWVudHMgcmVjb2duaXNlZCBieSBndmltIChuZVh0YXcgdmVyc2lvbik6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJBcmd1bWVudHkgcm96cG96bmF3YW5lIHByemV6IGd2aW0gKHdlcnNqYSBuZVh0YXcpOlxuIgorCittc2dpZCAiIgorIlxuIgorIkFyZ3VtZW50cyByZWNvZ25pc2VkIGJ5IGd2aW0gKEF0aGVuYSB2ZXJzaW9uKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkFyZ3VtZW50eSByb3pwb3puYXdhbmUgcHJ6ZXogZ3ZpbSAod2Vyc2phIEF0aGVuYSk6XG4iCisKK21zZ2lkICItZGlzcGxheSA8ZGlzcGxheT5cdFJ1biB2aW0gb24gPGRpc3BsYXk+IgorbXNnc3RyICItZGlzcGxheSA8ZGlzcGxheT5cdFphxYJhZHVqIHZpbSBuYSA8ZGlzcGxheT4iCisKK21zZ2lkICItaWNvbmljXHRcdFN0YXJ0IHZpbSBpY29uaWZpZWQiCittc2dzdHIgIi1pY29uaWNcdFx0WmFjem5paiBWaW0gamFrbyBpa29uxJkiCisKK21zZ2lkICItbmFtZSA8bmFtZT5cdFx0VXNlIHJlc291cmNlIGFzIGlmIHZpbSB3YXMgPG5hbWU+IgorbXNnc3RyICItbmFtZSA8bmF6d2E+XHRcdFXFvHl3YWogemFzb2LDs3cgdGFrIGphayBieSBWaW0gYnnFgiA8bmF6d2E+IgorCittc2dpZCAiXHRcdFx0ICAoVW5pbXBsZW1lbnRlZClcbiIKK21zZ3N0ciAiXHRcdFx0ICAoTmllemFpbXBsZW1lbnRvd2FuZSlcbiIKKworbXNnaWQgIi1iYWNrZ3JvdW5kIDxjb2xvcj5cdFVzZSA8Y29sb3I+IGZvciB0aGUgYmFja2dyb3VuZCAoYWxzbzogLWJnKSIKK21zZ3N0ciAiLWJhY2tncm91bmQgPGtvbG9yPlx0VcW8eXdhaiA8a29sb3I+IGRsYSB0xYJhIChyw7N3bmllxbw6IC1iZykiCisKK21zZ2lkICItZm9yZWdyb3VuZCA8Y29sb3I+XHRVc2UgPGNvbG9yPiBmb3Igbm9ybWFsIHRleHQgKGFsc286IC1mZykiCittc2dzdHIgIi1mb3JlZ3JvdW5kIDxrb2xvcj5cdFXFvHl3YWogPGtvbG9yPiBkbGEgbm9ybWFsbmVnbyB0ZWtzdHUgKHLDs3duaWXFvDogLWZnKSIKKworbXNnaWQgIi1mb250IDxmb250Plx0XHRVc2UgPGZvbnQ+IGZvciBub3JtYWwgdGV4dCAoYWxzbzogLWZuKSIKK21zZ3N0ciAiLWZvbnQgPGZvbnQ+XHRcdFXFvHl3YWogPGZvbnQ+IGRsYSBub3JtYWxuZWdvIHRla3N0dSAocsOzd25pZcW8OiAtZm4pIgorCittc2dpZCAiLWJvbGRmb250IDxmb250Plx0VXNlIDxmb250PiBmb3IgYm9sZCB0ZXh0IgorbXNnc3RyICItYm9sZGZvbnQgPGZvbnQ+XHRVxbx5d2FqIDxmb250PiBkbGEgd3l0xYJ1c3pjem9uZWdvIHRla3N0dSIKKworbXNnaWQgIi1pdGFsaWNmb250IDxmb250Plx0VXNlIDxmb250PiBmb3IgaXRhbGljIHRleHQiCittc2dzdHIgIi1pdGFsaWNmb250IDxmb250Plx0VcW8eXdhaiA8Zm9udD4gZGxhIHBvY2h5xYJlZ28iCisKK21zZ2lkICItZ2VvbWV0cnkgPGdlb20+XHRVc2UgPGdlb20+IGZvciBpbml0aWFsIGdlb21ldHJ5IChhbHNvOiAtZ2VvbSkiCittc2dzdHIgIi1nZW9tZXRyeSA8Z2VvbT5cdFXFvHl3YWogPGdlb20+IGRsYSBwb2N6xIV0a293eWNoIHJvem1pYXLDs3cgKHLDs3duaWXFvDogLWdlb20pIgorCittc2dpZCAiLWJvcmRlcndpZHRoIDx3aWR0aD5cdFVzZSBhIGJvcmRlciB3aWR0aCBvZiA8d2lkdGg+IChhbHNvOiAtYncpIgorbXNnc3RyICItYm9yZGVyd2lkdGggPHN6ZXI+XHRVxbx5aiByYW1raSBvIGdydWJvxZtjaSA8c3plcj4gKHLDs3duaWXFvDogLWJ3KSIKKworbXNnaWQgIi1zY3JvbGxiYXJ3aWR0aCA8d2lkdGg+ICBVc2UgYSBzY3JvbGxiYXIgd2lkdGggb2YgPHdpZHRoPiAoYWxzbzogLXN3KSIKK21zZ3N0ciAiLXNjcm9sbGJhcndpZHRoIDxzemVyPiAgVcW8eXdhaiBwcnpld2lqYWN6YSBvIHN6ZXJva2/Fm2NpIDxzemVyPiAocsOzd25pZcW8OiAtc3cpIgorCittc2dpZCAiLW1lbnVoZWlnaHQgPGhlaWdodD5cdFVzZSBhIG1lbnUgYmFyIGhlaWdodCBvZiA8aGVpZ2h0PiAoYWxzbzogLW1oKSIKK21zZ3N0ciAiLW1lbnVoZWlnaHQgPGhlaWdodD5cdFN0b3N1aiBiZWxrxJkgbWVudSBvIHd5c29rb8WbY2kgPGhlaWdodD4gKHLDs3duaWXFvDogLW1oKSIKKworbXNnaWQgIi1yZXZlcnNlXHRcdFVzZSByZXZlcnNlIHZpZGVvIChhbHNvOiAtcnYpIgorbXNnc3RyICItcmV2ZXJzZVx0XHRTdG9zdWogbmVnYXR5dyBrb2xvcsOzdyAocsOzd25pZcW8OiAtcnYpIgorCittc2dpZCAiK3JldmVyc2VcdFx0RG9uJ3QgdXNlIHJldmVyc2UgdmlkZW8gKGFsc286ICtydikiCittc2dzdHIgIityZXZlcnNlXHRcdE5pZSBzdG9zdWogbmVnYXR5d3Uga29sb3LDs3cgKHLDs3duaWXFvDogK3J2KSIKKworbXNnaWQgIi14cm0gPHJlc291cmNlPlx0U2V0IHRoZSBzcGVjaWZpZWQgcmVzb3VyY2UiCittc2dzdHIgIi14cm0gPHJlc291cmNlPlx0VXN0YXcgb2tyZcWbbG9ueSB6YXPDs2IiCisKK21zZ2lkICIiCisiXG4iCisiQXJndW1lbnRzIHJlY29nbmlzZWQgYnkgZ3ZpbSAoUklTQyBPUyB2ZXJzaW9uKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkFyZ3VtZW50eSByb3pwb3puYXdhbmUgcHJ6ZXogZ3ZpbSAod2Vyc2phIFJJU0MgT1MpOlxuIgorCittc2dpZCAiLS1jb2x1bW5zIDxudW1iZXI+XHRJbml0aWFsIHdpZHRoIG9mIHdpbmRvdyBpbiBjb2x1bW5zIgorbXNnc3RyICItLWNvbHVtbnMgPG51bWJlcj5cdFBvY3rEhXRrb3dhIHN6ZXJva2/Fm8SHIG9rbmEgdyBrb2x1bW5hY2giCisKK21zZ2lkICItLXJvd3MgPG51bWJlcj5cdEluaXRpYWwgaGVpZ2h0IG9mIHdpbmRvdyBpbiByb3dzIgorbXNnc3RyICItLXJvd3MgPG51bWJlcj5cdFBvY3rEhXRrb3dhIHd5c29rb8WbxIcgb2tuYSB3IHdpZXJzemFjaCIKKworbXNnaWQgIiIKKyJcbiIKKyJBcmd1bWVudHMgcmVjb2duaXNlZCBieSBndmltIChHVEsrIHZlcnNpb24pOlxuIgorbXNnc3RyICIiCisiXG4iCisiQXJndW1lbnR5IHJvenBvem5hd2FuZSBwcnpleiBndmltICh3ZXJzamEgR1RLKyk6XG4iCisKK21zZ2lkICItZGlzcGxheSA8ZGlzcGxheT5cdFJ1biB2aW0gb24gPGRpc3BsYXk+IChhbHNvOiAtLWRpc3BsYXkpIgorbXNnc3RyICItZGlzcGxheSA8ZGlzcGxheT5cdFphc3RhcnR1aiB2aW0gbmEgPGRpc3BsYXk+IChyw7N3bmllxbw6IC0tZGlzcGxheSkiCisKK21zZ2lkICItLXJvbGUgPHJvbGU+XHRTZXQgYSB1bmlxdWUgcm9sZSB0byBpZGVudGlmeSB0aGUgbWFpbiB3aW5kb3ciCittc2dzdHIgIi0tcm9sZSA8cm9sZT5cdFVzdGF3IHVuaWthdG93xIUgcm9sxJkgZG8gaWRlbnR5ZmlrYWNqaSBnxYLDs3duZWdvIG9rbmEiCisKK21zZ2lkICItLXNvY2tldGlkIDx4aWQ+XHRPcGVuIFZpbSBpbnNpZGUgYW5vdGhlciBHVEsgd2lkZ2V0IgorbXNnc3RyICItLXNvY2tldGlkIDx4aWQ+XHRPdHfDs3J6IFZpbSB3ZXduxIV0cnogaW5uZWdvIHdpZGdldHUgR1RLIgorCittc2dpZCAiLVAgPHBhcmVudCB0aXRsZT5cdE9wZW4gVmltIGluc2lkZSBwYXJlbnQgYXBwbGljYXRpb24iCittc2dzdHIgIi1QIDx0eXR1xYIgcm9kemljYT5cdE90d8OzcnogVmltYSB3ZXduxIV0cnogcm9kemljaWVsc2tpZWogYXBsaWthY2ppIgorCittc2dpZCAiTm8gZGlzcGxheSIKK21zZ3N0ciAiQnJhayBkaXNwbGF5IgorCisjLiBGYWlsZWQgdG8gc2VuZCwgYWJvcnQuCittc2dpZCAiOiBTZW5kIGZhaWxlZC5cbiIKK21zZ3N0ciAiOiBXeXPFgmFuaWUgbmllIHBvd2lvZMWCbyBzacSZLlxuIgorCisjLiBMZXQgdmltIHN0YXJ0IG5vcm1hbGx5LgorbXNnaWQgIjogU2VuZCBmYWlsZWQuIFRyeWluZyB0byBleGVjdXRlIGxvY2FsbHlcbiIKK21zZ3N0ciAiOiBXeXPFgmFuaWUgbmllIHBvd2lvZMWCbyBzacSZLiBQcsOzYnVqxJkgd3lrb25hxIcgbmEgbWllanNjdVxuIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIG9mICVkIGVkaXRlZCIKK21zZ3N0ciAib3R3b3J6b25vICVkIHogJWQiCisKK21zZ2lkICJObyBkaXNwbGF5OiBTZW5kIGV4cHJlc3Npb24gZmFpbGVkLlxuIgorbXNnc3RyICJCcmFrIHRlcm1pbmFsYTogV3lzxYJhbmllIHd5cmHFvGVuaWEgbmllIHBvd2lvZMWCbyBzacSZLlxuIgorCittc2dpZCAiOiBTZW5kIGV4cHJlc3Npb24gZmFpbGVkLlxuIgorbXNnc3RyICI6IFd5c8WCYW5pZSB3eXJhxbxlbmlhIG5pZSBwb3dpb2TFgm8gc2nEmS5cbiIKKworbXNnaWQgIk5vIG1hcmtzIHNldCIKK21zZ3N0ciAiQnJhayB6YWvFgmFkZWsiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTI4MzogTm8gbWFya3MgbWF0Y2hpbmcgXCIlc1wiIgorbXNnc3RyICJFMjgzOiDFu2FkbmEgemFrxYJhZGthIG5pZSBwYXN1amUgZG8gXCIlc1wiIgorCisjLiBIaWdobGlnaHQgdGl0bGUKK21zZ2lkICIiCisiXG4iCisibWFyayBsaW5lICBjb2wgZmlsZS90ZXh0IgorbXNnc3RyICIiCisiXG4iCisiemFrxYIuIHdpZXJzeiBrb2wgcGxpay90ZWtzdCIKKworIy4gSGlnaGxpZ2h0IHRpdGxlCittc2dpZCAiIgorIlxuIgorIiBqdW1wIGxpbmUgIGNvbCBmaWxlL3RleHQiCittc2dzdHIgIiIKKyJcbiIKKyIgc2tvayB3aWVyc3oga29sIHBsaWsvdGVrc3QiCisKKyMuIEhpZ2hsaWdodCB0aXRsZQorbXNnaWQgIiIKKyJcbiIKKyJjaGFuZ2UgbGluZSAgY29sIHRleHQiCittc2dzdHIgIiIKKyJcbiIKKyJ6bWllxYQgd3Jzei4ga29sIHRla3N0IgorCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIjIEZpbGUgbWFya3M6XG4iCittc2dzdHIgIiIKKyJcbiIKKyIjIFpha8WCYWRraSB3IHBsaWthY2g6XG4iCisKKyMuIFdyaXRlIHRoZSBqdW1wbGlzdCB3aXRoIC0nCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIjIEp1bXBsaXN0IChuZXdlc3QgZmlyc3QpOlxuIgorbXNnc3RyICIiCisiXG4iCisiIyBMaXN0YSBvZG5pZXNpZcWEIChwb2N6xIV3c3p5IG9kIG5ham5vd3N6eWNoKTpcbiIKKworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiIyBIaXN0b3J5IG9mIG1hcmtzIHdpdGhpbiBmaWxlcyAobmV3ZXN0IHRvIG9sZGVzdCk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyIjIEhpc3RvcmlhIHpha8WCYWRlayB3IHBsaWthY2ggKG9kIG5ham5vd3N6eWNoIHBvIG5hanN0YXJzemUpOlxuIgorCittc2dpZCAiTWlzc2luZyAnPiciCittc2dzdHIgIkJyYWsgJz4nIgorCittc2dpZCAiRTU0MzogTm90IGEgdmFsaWQgY29kZXBhZ2UiCittc2dzdHIgIkU1NDM6IFRvIG5pZSBqZXN0IHdhxbxuYSBzdHJvbmEga29kb3dhIgorCittc2dpZCAiRTI4NDogQ2Fubm90IHNldCBJQyB2YWx1ZXMiCittc2dzdHIgIkUyODQ6IE5pZSBtb2fEmSBuYXN0YXdpxIcgd2FydG/Fm2NpIElDIgorCittc2dpZCAiRTI4NTogRmFpbGVkIHRvIGNyZWF0ZSBpbnB1dCBjb250ZXh0IgorbXNnc3RyICJFMjg1OiBOaWUgbW9nxYJlbSBzdHdvcnp5xIcga29udGVrc3R1IHdwcm93YWR6ZcWEIgorCittc2dpZCAiRTI4NjogRmFpbGVkIHRvIG9wZW4gaW5wdXQgbWV0aG9kIgorbXNnc3RyICJFMjg2OiBOaWUgbW9nxYJlbSBvdHdvcnp5xIcgc3Bvc29idSB3cHJvd2FkemXFhCIKKworbXNnaWQgIkUyODc6IFdhcm5pbmc6IENvdWxkIG5vdCBzZXQgZGVzdHJveSBjYWxsYmFjayB0byBJTSIKK21zZ3N0ciAiRTI4NzogT1NUUlpFxbtFTklFOiBOaWUgbW9nxYJlbSB6bGlrd2lkb3dhxIcgd3l3b8WCYW5pYSBkbGEgSU0iCisKK21zZ2lkICJFMjg4OiBpbnB1dCBtZXRob2QgZG9lc24ndCBzdXBwb3J0IGFueSBzdHlsZSIKK21zZ3N0ciAiRTI4ODogbWV0b2RhIHdwcm93YWR6ZcWEIG5pZSB3c3BvbWFnYSDFvGFkbmVnbyBzdHlsdSIKKworbXNnaWQgIkUyODk6IGlucHV0IG1ldGhvZCBkb2Vzbid0IHN1cHBvcnQgbXkgcHJlZWRpdCB0eXBlIgorbXNnc3RyICJFMjg5OiBtZXRvZGEgd3Byb3dhZHplxYQgbmllIHdzcG9tYWdhIG1vamVnbyB0eXB1IHByZWVkaXQiCisKK21zZ2lkICJFMjkwOiBvdmVyLXRoZS1zcG90IHN0eWxlIHJlcXVpcmVzIGZvbnRzZXQiCittc2dzdHIgIkUyOTA6IHN0eWwgbmFkcHVua3Rvd3kgd3ltYWdhICtmb250c2V0IgorCittc2dpZCAiRTI5MTogWW91ciBHVEsrIGlzIG9sZGVyIHRoYW4gMS4yLjMuIFN0YXR1cyBhcmVhIGRpc2FibGVkIgorbXNnc3RyICJFMjkxOiBUd8OzaiBHVEsrIGplc3Qgc3RhcnN6eSBuacW8IDEuMi4zLiBQb2xlIHN0YXR1c3Ugd3nFgsSFY3pvbm8iCisKK21zZ2lkICJFMjkyOiBJbnB1dCBNZXRob2QgU2VydmVyIGlzIG5vdCBydW5uaW5nIgorbXNnc3RyICJFMjkyOiBTZXJ3ZXIgbWV0b2Qgd3Byb3dhZHplxYQgbmllIGplc3QgdXJ1Y2hvbWlvbnkiCisKK21zZ2lkICJFMjkzOiBibG9jayB3YXMgbm90IGxvY2tlZCIKK21zZ3N0ciAiRTI5MzogYmxvayBuaWUgYnnFgiB6YWJsb2tvd2FueSIKKworbXNnaWQgIkUyOTQ6IFNlZWsgZXJyb3IgaW4gc3dhcCBmaWxlIHJlYWQiCittc2dzdHIgIkUyOTQ6IELFgsSFZCB3IHRyYWtjaWUgY3p5dGFuaWEgcGxpa3Ugd3ltaWFueSIKKworbXNnaWQgIkUyOTU6IFJlYWQgZXJyb3IgaW4gc3dhcCBmaWxlIgorbXNnc3RyICJFMjk1OiBCxYLEhWQgb2Rjenl0dSBwbGlrdSB3eW1pYW55IgorCittc2dpZCAiRTI5NjogU2VlayBlcnJvciBpbiBzd2FwIGZpbGUgd3JpdGUiCittc2dzdHIgIkUyOTY6IELFgsSFZCBzenVrYW5pYSB3IHBsaWt1IHd5bWlhbnkiCisKK21zZ2lkICJFMjk3OiBXcml0ZSBlcnJvciBpbiBzd2FwIGZpbGUiCittc2dzdHIgIkUyOTc6IELFgsSFZCB6YXBpc3UgdyBwbGlrdSB3eW1pYW55IgorCittc2dpZCAiRTMwMDogU3dhcCBmaWxlIGFscmVhZHkgZXhpc3RzIChzeW1saW5rIGF0dGFjaz8pIgorbXNnc3RyICJFMzAwOiBQbGlrIHd5bWlhbnkganXFvCBpc3RuaWVqZSAoYXRhayBzeW1saW5rPykiCisKK21zZ2lkICJFMjk4OiBEaWRuJ3QgZ2V0IGJsb2NrIG5yIDA/IgorbXNnc3RyICJFMjk4OiBOaWUgb3RyenltYcWCZW0gYmxva3UgbnIgMD8iCisKK21zZ2lkICJFMjk4OiBEaWRuJ3QgZ2V0IGJsb2NrIG5yIDE/IgorbXNnc3RyICJFMjk4OiBOaWUgb3RyenltYcWCZW0gYmxva3UgbnIgMT8iCisKK21zZ2lkICJFMjk4OiBEaWRuJ3QgZ2V0IGJsb2NrIG5yIDI/IgorbXNnc3RyICJFMjk4OiBOaWUgb3RyenltYcWCZW0gYmxva3UgbnIgMj8iCisKKyMuIGNvdWxkIG5vdCAocmUpb3BlbiB0aGUgc3dhcCBmaWxlLCB3aGF0IGNhbiB3ZSBkbz8/Pz8KK21zZ2lkICJFMzAxOiBPb3BzLCBsb3N0IHRoZSBzd2FwIGZpbGUhISEiCittc2dzdHIgIkUzMDE6IE9qZWosIHpndWJpxYJlbSBwbGlrIHd5bWlhbnkhISEiCisKK21zZ2lkICJFMzAyOiBDb3VsZCBub3QgcmVuYW1lIHN3YXAgZmlsZSIKK21zZ3N0ciAiRTMwMjogTmllIG1vZ8WCZW0gem1pZW5pxIcgbmF6d3kgcGxpa3Ugd3ltaWFueSIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFMzAzOiBVbmFibGUgdG8gb3BlbiBzd2FwIGZpbGUgZm9yIFwiJXNcIiwgcmVjb3ZlcnkgaW1wb3NzaWJsZSIKK21zZ3N0ciAiRTMwMzogTmllIG1vZ8SZIG90d29yennEhyBwbGlrdSB3eW1pYW55IGRsYSBcIiVzXCI7IG9kdHdvcnplbmllIG5pZW1vxbxsaXdlIgorCittc2dpZCAiRTMwNDogbWxfdXBkX2Jsb2NrMCgpOiBEaWRuJ3QgZ2V0IGJsb2NrIDA/PyIKK21zZ3N0ciAiRTMwNDogbWxfdXBkX2Jsb2NrKCk6IE5pZSBvdHJ6eW1hxYJlbSBibG9rdSAwPz8iCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTMwNTogTm8gc3dhcCBmaWxlIGZvdW5kIGZvciAlcyIKK21zZ3N0ciAiRTMwNTogTmllIHpuYWxlemlvbm8gcGxpa3Ugd3ltaWFueSBkbGEgJXMiCisKK21zZ2lkICJFbnRlciBudW1iZXIgb2Ygc3dhcCBmaWxlIHRvIHVzZSAoMCB0byBxdWl0KTogIgorbXNnc3RyICJXcHJvd2FkxbogbnVtZXIgcGxpa3Ugd3ltaWFueSwga3TDs3JlZ28gdcW8ecSHICgwIGJ5IHd5asWbxIcpOiAiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTMwNjogQ2Fubm90IG9wZW4gJXMiCittc2dzdHIgIkUzMDY6IE5pZSBtb2fEmSBvdHdvcnp5xIcgJXMiCisKK21zZ2lkICJVbmFibGUgdG8gcmVhZCBibG9jayAwIGZyb20gIgorbXNnc3RyICJOaWUgbW9nxJkgb2Rjenl0YcSHIGJsb2t1IDAgeiAiCisKK21zZ2lkICIiCisiXG4iCisiTWF5YmUgbm8gY2hhbmdlcyB3ZXJlIG1hZGUgb3IgVmltIGRpZCBub3QgdXBkYXRlIHRoZSBzd2FwIGZpbGUuIgorbXNnc3RyICIiCisiXG4iCisiTW/FvGUgbmllIHd5a29uYW5vIHptaWFuIGFsYm8gVmltIG5pZSB6YWt0dWFsaXpvd2HFgiBwbGlrdSB3eW1pYW55LiIKKworbXNnaWQgIiBjYW5ub3QgYmUgdXNlZCB3aXRoIHRoaXMgdmVyc2lvbiBvZiBWaW0uXG4iCittc2dzdHIgIiBuaWUgbW/FvGUgYnnEhyBzdG9zb3dhbnkgeiB0xIUgd2Vyc2rEhSBWaW1hLlxuIgorCittc2dpZCAiVXNlIFZpbSB2ZXJzaW9uIDMuMC5cbiIKK21zZ3N0ciAiVcW8eWogVmltYSB3IHdlcnNqaSAzLjAuXG4iCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTMwNzogJXMgZG9lcyBub3QgbG9vayBsaWtlIGEgVmltIHN3YXAgZmlsZSIKK21zZ3N0ciAiRTMwNzogJXMgbmllIHd5Z2zEhWRhIG5hIHBsaWsgd3ltaWFueSBWaW1hIgorCittc2dpZCAiIGNhbm5vdCBiZSB1c2VkIG9uIHRoaXMgY29tcHV0ZXIuXG4iCittc2dzdHIgIiBuaWUgbW/FvGUgYnnEhyBzdG9zb3dhbnkgbmEgdHltIGtvbXB1dGVyemUuXG4iCisKK21zZ2lkICJUaGUgZmlsZSB3YXMgY3JlYXRlZCBvbiAiCittc2dzdHIgIlRlbiBwbGlrIHpvc3RhxYIgc3R3b3J6b255IG5hICIKKworbXNnaWQgIiIKKyIsXG4iCisib3IgdGhlIGZpbGUgaGFzIGJlZW4gZGFtYWdlZC4iCittc2dzdHIgIiIKKyIsXG4iCisibHViIHBsaWsgem9zdGHFgiB1c3prb2R6b255LiIKKworIywgYy1mb3JtYXQKK21zZ2lkICJVc2luZyBzd2FwIGZpbGUgXCIlc1wiIgorbXNnc3RyICJVxbx5d2FtIHBsaWt1IHd5bWlhbnkgXCIlc1wiIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIk9yaWdpbmFsIGZpbGUgXCIlc1wiIgorbXNnc3RyICJPcnlnaW5hbG55IHBsaWsgXCIlc1wiIgorCittc2dpZCAiRTMwODogV2FybmluZzogT3JpZ2luYWwgZmlsZSBtYXkgaGF2ZSBiZWVuIGNoYW5nZWQiCittc2dzdHIgIkUzMDg6IE9TVFJaRcW7RU5JRTogT3J5Z2luYWxueSBwbGlrIG3Ds2fFgiBiecSHIHptaWVuaW9ueSIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFMzA5OiBVbmFibGUgdG8gcmVhZCBibG9jayAxIGZyb20gJXMiCittc2dzdHIgIkUzMDk6IE5pZSBtb2fEmSBvZGN6eXRhxIcgYmxva3UgMSB6ICVzIgorCittc2dpZCAiPz8/TUFOWSBMSU5FUyBNSVNTSU5HIgorbXNnc3RyICI/Pz9CUkFLVUpFIFdJRUxVIFdJRVJTWlkiCisKK21zZ2lkICI/Pz9MSU5FIENPVU5UIFdST05HIgorbXNnc3RyICI/Pz9MSUNaTklLIFdJRVJTWlkgTklFWkdPRE5ZIgorCittc2dpZCAiPz8/RU1QVFkgQkxPQ0siCittc2dzdHIgIj8/P1BVU1RZIEJMT0siCisKK21zZ2lkICI/Pz9MSU5FUyBNSVNTSU5HIgorbXNnc3RyICI/Pz9CUkFLVUpFIFdJRVJTWlkiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTMxMDogQmxvY2sgMSBJRCB3cm9uZyAoJXMgbm90IGEgLnN3cCBmaWxlPykiCittc2dzdHIgIkUzMTA6IE5pZXfFgmHFm2Npd2UgSUQgYmxva3UgMSAobW/FvGUgJXMgbmllIGplc3QgcGxpa2llbSAuc3dwPykiCisKK21zZ2lkICI/Pz9CTE9DSyBNSVNTSU5HIgorbXNnc3RyICI/Pz9CUkFLIEJMT0tVIgorCittc2dpZCAiPz8/IGZyb20gaGVyZSB1bnRpbCA/Pz9FTkQgbGluZXMgbWF5IGJlIG1lc3NlZCB1cCIKK21zZ3N0ciAiPz8/IG9kIHRlZ28gbWllanNjYSBwbyA/Pz9LT05JRUMgd2llcnN6ZSBtb2fEhSBiecSHIHBvbWllc3phbmUiCisKK21zZ2lkICI/Pz8gZnJvbSBoZXJlIHVudGlsID8/P0VORCBsaW5lcyBtYXkgaGF2ZSBiZWVuIGluc2VydGVkL2RlbGV0ZWQiCittc2dzdHIgIj8/PyBvZCB0ZWdvIG1pZWpzY2EgcG8gPz8/S09OSUVDIHdpZXJzemUgbW9nxIUgYnnEhyB3xYJvxbxvbmUvc2thc293YW5lIgorCittc2dpZCAiPz8/RU5EIgorbXNnc3RyICI/Pz9LT05JRUMiCisKK21zZ2lkICJFMzExOiBSZWNvdmVyeSBJbnRlcnJ1cHRlZCIKK21zZ3N0ciAiRTMxMTogUHJ6ZXJ3YW5pZSBvZHR3YXJ6YW5pYSIKKworbXNnaWQgIkUzMTI6IEVycm9ycyBkZXRlY3RlZCB3aGlsZSByZWNvdmVyaW5nOyBsb29rIGZvciBsaW5lcyBzdGFydGluZyB3aXRoID8/PyIKK21zZ3N0ciAiRTMxMjogV3lrcnl0byBixYLEmWR5IHBvZGN6YXMgb2R0d2FyemFuaWE7IG9kIGt0w7NyeWNoIHdpZXJzenkgemFjesSFxIcgPz8/IgorCittc2dpZCAiU2VlIFwiOmhlbHAgRTMxMlwiIGZvciBtb3JlIGluZm9ybWF0aW9uLiIKK21zZ3N0ciAiWm9iYWN6IFwiOmhlbHAgRTMxMlwiIGRsYSBkYWxzenljaCBpbmZvcm1hY2ppLiIKKworbXNnaWQgIlJlY292ZXJ5IGNvbXBsZXRlZC4gWW91IHNob3VsZCBjaGVjayBpZiBldmVyeXRoaW5nIGlzIE9LLiIKK21zZ3N0ciAiT2R0d2FyemFuaWUgemFrb8WEY3pvbm8uIFBvd2luaWVuZcWbIHNwcmF3ZHppxIcgY3p5IHdzenlzdGtvIGplc3QgdyBwb3J6xIVka3UuIgorCittc2dpZCAiIgorIlxuIgorIihZb3UgbWlnaHQgd2FudCB0byB3cml0ZSBvdXQgdGhpcyBmaWxlIHVuZGVyIGFub3RoZXIgbmFtZVxuIgorbXNnc3RyICIiCisiXG4iCisiKE1vxbxlc3ogY2hjaWXEhyB6YXBpc2HEhyB0ZW4gcGxpayBwb2QgaW5uxIUgbmF6d8SFXG4iCisKK21zZ2lkICJhbmQgcnVuIGRpZmYgd2l0aCB0aGUgb3JpZ2luYWwgZmlsZSB0byBjaGVjayBmb3IgY2hhbmdlcylcbiIKK21zZ3N0ciAiaSB3eWtvbmHEhyBkaWZmIHogb3J5Z2luYWxueW0gcGxpa2llbSBhYnkgc3ByYXdkemnEhyB6bWlhbnkpXG4iCisKK21zZ2lkICIiCisiRGVsZXRlIHRoZSAuc3dwIGZpbGUgYWZ0ZXJ3YXJkcy5cbiIKKyJcbiIKK21zZ3N0ciAiIgorIlNrYXN1aiBwb3RlbSBwbGlrIC5zd3AuXG4iCisiXG4iCisKKyMuIHVzZSBtc2coKSB0byBzdGFydCB0aGUgc2Nyb2xsaW5nIHByb3Blcmx5Cittc2dpZCAiU3dhcCBmaWxlcyBmb3VuZDoiCittc2dzdHIgIlpuYWxlemlvbmUgcGxpa2kgd3ltaWFueToiCisKK21zZ2lkICIgICBJbiBjdXJyZW50IGRpcmVjdG9yeTpcbiIKK21zZ3N0ciAiICAgVyBiaWXFvMSFY3ltIGthdGFsb2d1OlxuIgorCittc2dpZCAiICAgVXNpbmcgc3BlY2lmaWVkIG5hbWU6XG4iCittc2dzdHIgIiAgIFXFvHl3YW0gcG9kYW5laiBuYXp3eTpcbiIKKworbXNnaWQgIiAgIEluIGRpcmVjdG9yeSAiCittc2dzdHIgIiAgIFcga2F0YWxvZ3UgIgorCittc2dpZCAiICAgICAgLS0gbm9uZSAtLVxuIgorbXNnc3RyICIgICAgIC0tIMW8YWRlbiAtLVxuIgorCittc2dpZCAiICAgICAgICAgIG93bmVkIGJ5OiAiCittc2dzdHIgIiAgIHBvc2lhZGFueSBwcnplejogIgorCittc2dpZCAiICAgZGF0ZWQ6ICIKK21zZ3N0ciAiICAgZGF0YTogIgorCittc2dpZCAiICAgICAgICAgICAgIGRhdGVkOiAiCittc2dzdHIgIiAgICAgICAgICAgICAgZGF0YTogIgorCittc2dpZCAiICAgICAgICAgW2Zyb20gVmltIHZlcnNpb24gMy4wXSIKK21zZ3N0ciAiICAgICAgICAgW3BvIFZpbWllIHdlcnNqYSAzLjBdIgorCittc2dpZCAiICAgICAgICAgW2RvZXMgbm90IGxvb2sgbGlrZSBhIFZpbSBzd2FwIGZpbGVdIgorbXNnc3RyICIgICAgICAgICBbbmllIHd5Z2zEhWRhIG5hIHBsaWsgd3ltaWFueSBWaW1hXSIKKworbXNnaWQgIiAgICAgICAgIGZpbGUgbmFtZTogIgorbXNnc3RyICIgICAgICAgbmF6d2EgcGxpa3U6ICIKKworbXNnaWQgIiIKKyJcbiIKKyIgICAgICAgICAgbW9kaWZpZWQ6ICIKK21zZ3N0ciAiIgorIlxuIgorIiAgICAgICAgIHptaWVuaW9ubzogIgorCittc2dpZCAiWUVTIgorbXNnc3RyICJUQUsiCisKK21zZ2lkICJubyIKK21zZ3N0ciAibmllIgorCittc2dpZCAiIgorIlxuIgorIiAgICAgICAgIHVzZXIgbmFtZTogIgorbXNnc3RyICIiCisiXG4iCisiICAgICAgICB1xbx5dGtvd25pazogIgorCittc2dpZCAiICAgaG9zdCBuYW1lOiAiCittc2dzdHIgIiAgIG5hendhIGhvc3RhOiAiCisKK21zZ2lkICIiCisiXG4iCisiICAgICAgICAgaG9zdCBuYW1lOiAiCittc2dzdHIgIiIKKyJcbiIKKyIgICAgICBuYXp3YSBob3N0YTogIgorCittc2dpZCAiIgorIlxuIgorIiAgICAgICAgcHJvY2VzcyBJRDogIgorbXNnc3RyICIiCisiXG4iCisiICAgICAgICBJRCBwcm9jZXN1OiAiCisKK21zZ2lkICIgKHN0aWxsIHJ1bm5pbmcpIgorbXNnc3RyICIgKGRhbGVqIGR6aWHFgmEpIgorCittc2dpZCAiIgorIlxuIgorIiAgICAgICAgIFtub3QgdXNhYmxlIHdpdGggdGhpcyB2ZXJzaW9uIG9mIFZpbV0iCittc2dzdHIgIiIKKyJcbiIKKyIgICAgICAgICBbbmllIG5hZGFqZSBzacSZIGRsYSB0ZWogd2Vyc2ppIFZpbWFdIgorCittc2dpZCAiIgorIlxuIgorIiAgICAgICAgIFtub3QgdXNhYmxlIG9uIHRoaXMgY29tcHV0ZXJdIgorbXNnc3RyICIiCisiXG4iCisiICAgICBbbmllIGRvIHXFvHl0a3UgbmEgdHltIGtvbXB1dGVyemVdIgorCittc2dpZCAiICAgICAgICAgW2Nhbm5vdCBiZSByZWFkXSIKK21zZ3N0ciAiICAgICAgICBbbmllb2Rjenl0eXdhbG55XSIKKworbXNnaWQgIiAgICAgICAgIFtjYW5ub3QgYmUgb3BlbmVkXSIKK21zZ3N0ciAiICAgICAgICAgICAgW25pZW90d2llcmFsbnldIgorCittc2dpZCAiRTMxMzogQ2Fubm90IHByZXNlcnZlLCB0aGVyZSBpcyBubyBzd2FwIGZpbGUiCittc2dzdHIgIkUzMTM6IE5pZSBtb2fEmSB6YWJlenBpZWN6ecSHLCBibyBicmFrIHBsaWt1IHd5bWlhbnkiCisKK21zZ2lkICJGaWxlIHByZXNlcnZlZCIKK21zZ3N0ciAiUGxpayB6YWJlenBpZWN6b25vIgorCittc2dpZCAiRTMxNDogUHJlc2VydmUgZmFpbGVkIgorbXNnc3RyICJFMzE0OiBOaWV1ZGFuZSB6YWJlenBpZWN6ZW5pZSIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFMzE1OiBtbF9nZXQ6IGludmFsaWQgbG51bTogJWxkIgorbXNnc3RyICJFMzE1OiBtbF9nZXQ6IG5pZXfFgmHFm2Npd3kgbG51bTogJWxkIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkUzMTY6IG1sX2dldDogY2Fubm90IGZpbmQgbGluZSAlbGQiCittc2dzdHIgIkUzMTY6IG1sX2dldDogbmllIHpuYWxlemlvbm8gd2llcnN6YSAlbGQiCisKK21zZ2lkICJFMzE3OiBwb2ludGVyIGJsb2NrIGlkIHdyb25nIDMiCittc2dzdHIgIkUzMTc6IG5pZXBvcHJhd25lIGlkIHdza2HFum5pa2EgYmxva3UgMyIKKworbXNnaWQgInN0YWNrX2lkeCBzaG91bGQgYmUgMCIKK21zZ3N0ciAic3RhY2tfaWR4IHBvd2luaWVuIGJ5xIcgMCIKKworbXNnaWQgIkUzMTg6IFVwZGF0ZWQgdG9vIG1hbnkgYmxvY2tzPyIKK21zZ3N0ciAiRTMxODogWmFrdHVhbGl6b3dhbm8gemJ5dCB3aWVsZSBibG9rw7N3PyIKKworbXNnaWQgIkUzMTc6IHBvaW50ZXIgYmxvY2sgaWQgd3JvbmcgNCIKK21zZ3N0ciAiRTMxNzogbmllcG9wcmF3bmUgaWQgd3NrYcW6bmlrYSBibG9rdSA0IgorCittc2dpZCAiZGVsZXRlZCBibG9jayAxPyIKK21zZ3N0ciAiYmxvayBuciAxIHNrYXNvd2FueT8iCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTMyMDogQ2Fubm90IGZpbmQgbGluZSAlbGQiCittc2dzdHIgIkUzMjA6IE5pZSBtb2fEmSB6bmFsZcW6xIcgd2llcnN6YSAlbGQiCisKK21zZ2lkICJFMzE3OiBwb2ludGVyIGJsb2NrIGlkIHdyb25nIgorbXNnc3RyICJFMzE3OiBuaWVwb3ByYXduZSBpZCBibG9rdSBvZG5pZXNpZW5pYSIKKworbXNnaWQgInBlX2xpbmVfY291bnQgaXMgemVybyIKK21zZ3N0ciAicGVfbGluZV9jb3VudCB3eW5vc2kgemVybyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFMzIyOiBsaW5lIG51bWJlciBvdXQgb2YgcmFuZ2U6ICVsZCBwYXN0IHRoZSBlbmQiCittc2dzdHIgIkUzMjI6IG51bWVyIHdpZXJzemEgcG96YSB6YWtyZXNlbTogJWxkIGplc3QgcG96YSBrb8WEY2VtIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkUzMjM6IGxpbmUgY291bnQgd3JvbmcgaW4gYmxvY2sgJWxkIgorbXNnc3RyICJFMzIzOiBsaWN6YmEgd2llcnN6eSBuaWVwb3ByYXduYSB3IGJsb2t1ICVsZCIKKworbXNnaWQgIlN0YWNrIHNpemUgaW5jcmVhc2VzIgorbXNnc3RyICJXaWVsa2/Fm8SHIHN0b3N1IHd6cmFzdGEiCisKK21zZ2lkICJFMzE3OiBwb2ludGVyIGJsb2NrIGlkIHdyb25nIDIiCittc2dzdHIgIkUzMTc6IG5pZXBvcHJhd25lIGlkIGJsb2t1IG9kbmllc2llbmlhIDIiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTc3MzogU3ltbGluayBsb29wIGZvciBcIiVzXCIiCittc2dzdHIgIkU3NzM6IFDEmXRsYSBkb3dpxIV6YcWEIGRsYSBcIiVzXCIiCisKK21zZ2lkICJFMzI1OiBBVFRFTlRJT04iCittc2dzdHIgIkUzMjU6IFVXQUdBIgorCittc2dpZCAiIgorIlxuIgorIkZvdW5kIGEgc3dhcCBmaWxlIGJ5IHRoZSBuYW1lIFwiIgorbXNnc3RyICIiCisiXG4iCisiWm5hbGF6xYJlbSBwbGlrIHd5bWlhbnkgbyBuYXp3aWUgXCIiCisKK21zZ2lkICJXaGlsZSBvcGVuaW5nIGZpbGUgXCIiCittc2dzdHIgIlBvZGN6YXMgb3R3aWVyYW5pYSBwbGlrdSBcIiIKKworbXNnaWQgIiAgICAgIE5FV0VSIHRoYW4gc3dhcCBmaWxlIVxuIgorbXNnc3RyICIgICAgICBOT1dTWkUgb2QgcGxpa3Ugd3ltaWFueSFcbiIKKworIy4gU29tZSBvZiB0aGVzZSBtZXNzYWdlcyBhcmUgbG9uZyB0byBhbGxvdyB0cmFuc2xhdGlvbiB0bworIy4gKiBvdGhlciBsYW5ndWFnZXMuCittc2dpZCAiIgorIlxuIgorIigxKSBBbm90aGVyIHByb2dyYW0gbWF5IGJlIGVkaXRpbmcgdGhlIHNhbWUgZmlsZS5cbiIKKyIgICAgSWYgdGhpcyBpcyB0aGUgY2FzZSwgYmUgY2FyZWZ1bCBub3QgdG8gZW5kIHVwIHdpdGggdHdvXG4iCisiICAgIGRpZmZlcmVudCBpbnN0YW5jZXMgb2YgdGhlIHNhbWUgZmlsZSB3aGVuIG1ha2luZyBjaGFuZ2VzLlxuIgorbXNnc3RyICIiCisiXG4iCisiKDEpIFBld25pZSBpbm55IHByb2dyYW0gb2JyYWJpYSB0ZW4gc2FtIHBsaWsuXG4iCisiICAgIEplxZtsaSB0YWssIGLEhWTFuiBvc3Ryb8W8bnksIGFieSBuaWUgc2tvxYRjennEhyB6IGR3b21hXG4iCisiICAgIHLDs8W8bnltaSB3ZXJzamFtaSBqZWRuZWdvIHRlZ28gc2FtZWdvIHBsaWt1IHBvIHptaWFuYWNoLlxuIgorCittc2dpZCAiICAgIFF1aXQsIG9yIGNvbnRpbnVlIHdpdGggY2F1dGlvbi5cbiIKK21zZ3N0ciAiICAgIFpha2/FhGN6IGx1YiBvc3Ryb8W8bmllIGtvbnR5bnV1ai5cbiIKKworbXNnaWQgIiIKKyJcbiIKKyIoMikgQW4gZWRpdCBzZXNzaW9uIGZvciB0aGlzIGZpbGUgY3Jhc2hlZC5cbiIKK21zZ3N0ciAiIgorIlxuIgorIigyKSBTZXNqYSBlZHljamkgZGxhIHBsaWt1IHphxYJhbWHFgmEgc2nEmS5cbiIKKworbXNnaWQgIiAgICBJZiB0aGlzIGlzIHRoZSBjYXNlLCB1c2UgXCI6cmVjb3ZlclwiIG9yIFwidmltIC1yICIKK21zZ3N0ciAiICAgIEplxZtsaSB0YWssIHRvIHXFvHlqIFwiOnJlY292ZXJcIiBsdWIgXCJ2aW0gLXIgIgorCittc2dpZCAiIgorIlwiXG4iCisiICAgIHRvIHJlY292ZXIgdGhlIGNoYW5nZXMgKHNlZSBcIjpoZWxwIHJlY292ZXJ5XCIpLlxuIgorbXNnc3RyICIiCisiXCJcbiIKKyIgICAgYWJ5IG9kenlza2HEhyB6bWlhbnkgKHpvYmFjeiBcIjpoZWxwIHJlY292ZXJ5KVwiKS5cbiIKKworbXNnaWQgIiAgICBJZiB5b3UgZGlkIHRoaXMgYWxyZWFkeSwgZGVsZXRlIHRoZSBzd2FwIGZpbGUgXCIiCittc2dzdHIgIiAgICBKZcWbbGkganXFvCB0byB6cm9iacWCZcWbLCB1c3XFhCBwbGlrIHd5bWlhbnkgXCIiCisKK21zZ2lkICIiCisiXCJcbiIKKyIgICAgdG8gYXZvaWQgdGhpcyBtZXNzYWdlLlxuIgorbXNnc3RyICIiCisiXCJcbiIKKyIgICAgYWJ5IHVuaWtuxIXEhyB0ZWogd2lhZG9tb8WbY2kuXG4iCisKK21zZ2lkICJTd2FwIGZpbGUgXCIiCittc2dzdHIgIlBsaWsgd3ltaWFueSBcIiIKKworbXNnaWQgIlwiIGFscmVhZHkgZXhpc3RzISIKK21zZ3N0ciAiXCIganXFvCBpc3RuaWVqZSEiCisKK21zZ2lkICJWSU0gLSBBVFRFTlRJT04iCittc2dzdHIgIlZJTSAtIFVXQUdBIgorCittc2dpZCAiU3dhcCBmaWxlIGFscmVhZHkgZXhpc3RzISIKK21zZ3N0ciAiUGxpayB3eW1pYW55IGp1xbwgaXN0bmllamUhIgorCittc2dpZCAiIgorIiZPcGVuIFJlYWQtT25seVxuIgorIiZFZGl0IGFueXdheVxuIgorIiZSZWNvdmVyXG4iCisiJlF1aXRcbiIKKyImQWJvcnQiCittc2dzdHIgIiIKKyImT3R3w7NyeiBSZWFkLU9ubHlcbiIKKyImRWR5dHVqIHBvbWltb1xuIgorIk8mZHR3w7NyelxuIgorIiZaYWtvxYRjelxuIgorIiZQb3J6dcSHIgorCittc2dpZCAiIgorIiZPcGVuIFJlYWQtT25seVxuIgorIiZFZGl0IGFueXdheVxuIgorIiZSZWNvdmVyXG4iCisiJkRlbGV0ZSBpdFxuIgorIiZRdWl0XG4iCisiJkFib3J0IgorbXNnc3RyICIiCisiJk90d8OzcnogUmVhZC1Pbmx5XG4iCisiJkVkeXR1aiBwb21pbW9cbiIKKyJPJmR0d8OzcnpcbiIKKyImVXN1xYRcbiIKKyImWmFrb8WEY3pcbiIKKyImUG9yenXEhyIKKworbXNnaWQgIkUzMjY6IFRvbyBtYW55IHN3YXAgZmlsZXMgZm91bmQiCittc2dzdHIgIkUzMjY6IFpuYWxlemlvbm8gemJ5dCB3aWVsZSBwbGlrw7N3IHd5bWlhbnkiCisKK21zZ2lkICJFMzI3OiBQYXJ0IG9mIG1lbnUtaXRlbSBwYXRoIGlzIG5vdCBzdWItbWVudSIKK21zZ3N0ciAiRTMyNzogQ3rEmcWbxIcgdHJvcHUgcHVua3R1IG1lbnUgbmllIG9rcmXFm2xhIHBvZG1lbnUiCisKK21zZ2lkICJFMzI4OiBNZW51IG9ubHkgZXhpc3RzIGluIGFub3RoZXIgbW9kZSIKK21zZ3N0ciAiRTMyODogTWVudSBpc3RuaWVqZSB0eWxrbyB3IGlubnltIHRyeWJpZSIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFMzI5OiBObyBtZW51IFwiJXNcIiIKK21zZ3N0ciAiRTMyOTogTmllIG1hIG1lbnUgXCIlc1wiIgorCittc2dpZCAiRTMzMDogTWVudSBwYXRoIG11c3Qgbm90IGxlYWQgdG8gYSBzdWItbWVudSIKK21zZ3N0ciAiRTMzMDogVHJvcCBtZW51IG5pZSBtb8W8ZSBwcm93YWR6acSHIGRvIHBvZG1lbnUiCisKK21zZ2lkICJFMzMxOiBNdXN0IG5vdCBhZGQgbWVudSBpdGVtcyBkaXJlY3RseSB0byBtZW51IGJhciIKK21zZ3N0ciAiRTMzMTogTmllIHdvbG5vIGRvZGF3YcSHIHB1bmt0w7N3IG1lbnUgd3Byb3N0IGRvIHBhc2thIG1lbnUiCisKK21zZ2lkICJFMzMyOiBTZXBhcmF0b3IgY2Fubm90IGJlIHBhcnQgb2YgYSBtZW51IHBhdGgiCittc2dzdHIgIkUzMzI6IFNlcGFyYXRvciBuaWUgbW/FvGUgYnnEhyBjesSZxZtjacSFIHRyb3B1IG1lbnUiCisKKyMuIE5vdyB3ZSBoYXZlIGZvdW5kIHRoZSBtYXRjaGluZyBtZW51LCBhbmQgd2UgbGlzdCB0aGUgbWFwcGluZ3MKKyMuIEhpZ2hsaWdodCB0aXRsZQorbXNnaWQgIiIKKyJcbiIKKyItLS0gTWVudXMgLS0tIgorbXNnc3RyICIiCisiXG4iCisiLS0tIE1lbnUgLS0tIgorCittc2dpZCAiVGVhciBvZmYgdGhpcyBtZW51IgorbXNnc3RyICJPZGVyd2lqIHRvIG1lbnUiCisKK21zZ2lkICJFMzMzOiBNZW51IHBhdGggbXVzdCBsZWFkIHRvIGEgbWVudSBpdGVtIgorbXNnc3RyICJFMzMzOiBUcm9wIG1lbnUgbXVzaSBwcm93YWR6acSHIGRvIHB1bmt0dSBtZW51IgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkUzMzQ6IE1lbnUgbm90IGZvdW5kOiAlcyIKK21zZ3N0ciAiRTMzNDogTmllIHpuYWxlemlvbm8gbWVudTogJXMiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTMzNTogTWVudSBub3QgZGVmaW5lZCBmb3IgJXMgbW9kZSIKK21zZ3N0ciAiRTMzNTogTWVudSBuaWUgamVzdCB6ZGVmaW5pb3dhbmUgZGxhIHRyeWJ1ICVzIgorCittc2dpZCAiRTMzNjogTWVudSBwYXRoIG11c3QgbGVhZCB0byBhIHN1Yi1tZW51IgorbXNnc3RyICJFMzM2OiBUcm9wIG1lbnUgbXVzaSBwcm93YWR6acSHIGRvIHBvZG1lbnUiCisKK21zZ2lkICJFMzM3OiBNZW51IG5vdCBmb3VuZCAtIGNoZWNrIG1lbnUgbmFtZXMiCittc2dzdHIgIkUzMzc6IE5pZSB6bmFsZXppb25vIG1lbnUgLSBzcHJhd2TFuiBuYXp3eSBtZW51IgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkVycm9yIGRldGVjdGVkIHdoaWxlIHByb2Nlc3NpbmcgJXM6IgorbXNnc3RyICJXeWtyeXRvIGLFgsSFZCBwb2RjemFzIHByemV0d2FyemFuaWEgJXM6IgorCisjLCBjLWZvcm1hdAorbXNnaWQgImxpbmUgJTRsZDoiCittc2dzdHIgIndpZXJzeiAlNGxkOiIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFMzU0OiBJbnZhbGlkIHJlZ2lzdGVyIG5hbWU6ICclcyciCittc2dzdHIgIkUzNTQ6IE5pZXfFgmHFm2Npd2EgbmF6d2EgcmVqZXN0cnU6ICclcyciCisKK21zZ2lkICJNZXNzYWdlcyBtYWludGFpbmVyOiBCcmFtIE1vb2xlbmFhciA8QnJhbUB2aW0ub3JnPiIKK21zZ3N0ciAiT3BpZWt1biBrb211bmlrYXTDs3c6IE1pa2/FgmFqIE1hY2hvd3NraSA8bWlrbWFjaEB3cC5wbD4iCisKK21zZ2lkICJJbnRlcnJ1cHQ6ICIKK21zZ3N0ciAiUHJ6ZXJ3YW5pZTogIgorCittc2dpZCAiUHJlc3MgRU5URVIgb3IgdHlwZSBjb21tYW5kIHRvIGNvbnRpbnVlIgorbXNnc3RyICJOYWNpxZtuaWogRU5URVIgbHViIHdwcm93YWTFuiBrb21lbmTEmSBhYnkga29udHludW93YcSHIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGxpbmUgJWxkIgorbXNnc3RyICIlcyB3aWVyc3ogJWxkIgorCittc2dpZCAiLS0gTW9yZSAtLSIKK21zZ3N0ciAiLS0gV2nEmWNlaiAtLSIKKworbXNnaWQgIiBTUEFDRS9kL2o6IHNjcmVlbi9wYWdlL2xpbmUgZG93biwgYi91L2s6IHVwLCBxOiBxdWl0ICIKK21zZ3N0ciAiIFNQQUNFL2QvajogZWtyYW4vc3Ryb25hL3dpZXJzeiB3IGTDs8WCLCBiL3UvazogZG8gZ8OzcnksIHE6IHpha2/FhGN6IgorCittc2dpZCAiUXVlc3Rpb24iCittc2dzdHIgIlB5dGFuaWUiCisKK21zZ2lkICIiCisiJlllc1xuIgorIiZObyIKK21zZ3N0ciAiIgorIiZUYWtcbiIKKyImTmllIgorCittc2dpZCAiIgorIiZZZXNcbiIKKyImTm9cbiIKKyJTYXZlICZBbGxcbiIKKyImRGlzY2FyZCBBbGxcbiIKKyImQ2FuY2VsIgorbXNnc3RyICIiCisiJlRha1xuIgorIiZOaWVcbiIKKyJaYXBpc3ogJndzenlzdGtpZVxuIgorIiZPZHJ6dcSHIHdzenlzdGtpZVxuIgorIiZaYWtvxYRjeiIKKworbXNnaWQgIlNlbGVjdCBEaXJlY3RvcnkgZGlhbG9nIgorbXNnc3RyICJEaWFsb2cgd3lib3J1IGthdGFsb2d1IgorCittc2dpZCAiU2F2ZSBGaWxlIGRpYWxvZyIKK21zZ3N0ciAiRGlhbG9nIHphcGlzeXdhbmlhIHBsaWt1IgorCittc2dpZCAiT3BlbiBGaWxlIGRpYWxvZyIKK21zZ3N0ciAiRGlhbG9nIG90d2llcmFuaWEgcGxpa3UiCisKKyMuIFRPRE86IG5vbi1HVUkgZmlsZSBzZWxlY3RvciBoZXJlCittc2dpZCAiRTMzODogU29ycnksIG5vIGZpbGUgYnJvd3NlciBpbiBjb25zb2xlIG1vZGUiCittc2dzdHIgIkUzMzg6IFByenlrcm8gbWksIG5pZSBtYSBwcnplZ2zEhWRhcmtpIHBsaWvDs3cgdyB0cnliaWUga29uc29saSIKKworbXNnaWQgIkU3NjY6IEluc3VmZmljaWVudCBhcmd1bWVudHMgZm9yIHByaW50ZigpIgorbXNnc3RyICJFNzY2OiBaYSBtYcWCbyBhcmd1bWVudMOzdyBkbGEgcHJpbnRmKCkiCisKK21zZ2lkICJFNzY3OiBUb28gbWFueSBhcmd1bWVudHMgdG8gcHJpbnRmKCkiCittc2dzdHIgIkU3Njc6IFphIGR1xbxvIGFyZ3VtZW50w7N3IGRsYSBwcmludGYoKSIKKworbXNnaWQgIlcxMDogV2FybmluZzogQ2hhbmdpbmcgYSByZWFkb25seSBmaWxlIgorbXNnc3RyICJXMTA6IE9TVFJaRcW7RU5JRTogWm1pYW55IHcgcGxpa3UgdHlsa28gZG8gb2Rjenl0dSIKKworbXNnaWQgIlR5cGUgbnVtYmVyIG9yIGNsaWNrIHdpdGggbW91c2UgKDxFbnRlcj4gY2FuY2Vscyk6ICIKK21zZ3N0ciAiV3Bpc3ogbnVtZXIgbHViIHd5YmllcnogbXlzesSFICg8RW50ZXI+IGFudWx1amUpOiAiCisKK21zZ2lkICJDaG9pY2UgbnVtYmVyICg8RW50ZXI+IGNhbmNlbHMpOiAiCittc2dzdHIgIld5YmllcnogbnVtZXIgKDxFbnRlcj4gYW51bHVqZSk6ICIKKworbXNnaWQgIjEgbW9yZSBsaW5lIgorbXNnc3RyICIxIHdpZXJzeiB3acSZY2VqIgorCittc2dpZCAiMSBsaW5lIGxlc3MiCittc2dzdHIgIjEgd2llcnN6IG1uaWVqIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZCBtb3JlIGxpbmVzIgorbXNnc3RyICJkb2Rhbm8gJWxkIHdpZXJzenkiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWxkIGZld2VyIGxpbmVzIgorbXNnc3RyICJ1c3VuacSZdG8gJWxkIHdpZXJzenkiCisKK21zZ2lkICIgKEludGVycnVwdGVkKSIKK21zZ3N0ciAiIChQcnplcndhbmUpIgorCittc2dpZCAiQmVlcCEiCittc2dzdHIgIkJpaWlwISIKKworbXNnaWQgIlZpbTogcHJlc2VydmluZyBmaWxlcy4uLlxuIgorbXNnc3RyICJWaW06IHphY2hvd3VqxJkgcGxpay4uLlxuIgorCisjLiBjbG9zZSBhbGwgbWVtZmlsZXMsIHdpdGhvdXQgZGVsZXRpbmcKK21zZ2lkICJWaW06IEZpbmlzaGVkLlxuIgorbXNnc3RyICJWaW06IFpha2/FhGN6b25vLlxuIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkVSUk9SOiAiCittc2dzdHIgIkLFgcSERDogIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJbYnl0ZXNdIHRvdGFsIGFsbG9jLWZyZWVkICVsdS0lbHUsIGluIHVzZSAlbHUsIHBlYWsgdXNlICVsdVxuIgorbXNnc3RyICIiCisiXG4iCisiW2JhanTDs3ddIHRvdGFsbmUgYWxva2FjamUtendvbG5pZW5pYSAlbHUtJWx1LCB3IHXFvHl0a3UgJWx1LCBtYWtzeW1hbG5lICIKKyJ1xbx5Y2llICVsdVxuIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJbY2FsbHNdIHRvdGFsIHJlL21hbGxvYygpJ3MgJWx1LCB0b3RhbCBmcmVlKCkncyAlbHVcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlt3eXdvxYJhbmlhXSB3c3p5c3RraWNoIHJlL21hbGxvYygpLcOzdyAlbHUsIHdzenlzdGtpY2ggZnJlZSgpLcOzdyAlbHVcbiIKKyJcbiIKKworbXNnaWQgIkUzNDA6IExpbmUgaXMgYmVjb21pbmcgdG9vIGxvbmciCittc2dzdHIgIkUzNDA6IFdpZXJzeiBzdGFqZSBzacSZIHpieXQgZMWCdWdpIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkUzNDE6IEludGVybmFsIGVycm9yOiBsYWxsb2MoJWxkLCApIgorbXNnc3RyICJFMzQxOiBXZXduxJl0cnpueSBixYLEhWQ6IGxhbGxvYyglbGQsICkiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTM0MjogT3V0IG9mIG1lbW9yeSEgIChhbGxvY2F0aW5nICVsdSBieXRlcykiCittc2dzdHIgIkUzNDI6IEJyYWsgcGFtacSZY2khICAocmV6ZXJ3YWNqYSAlbHUgYmFqdMOzdykiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FsbGluZyBzaGVsbCB0byBleGVjdXRlOiBcIiVzXCIiCittc2dzdHIgIld5d2/FgnVqxJkgcG93xYJva8SZIGRvIHd5a29uYW5pYTogXCIlc1wiIgorCittc2dpZCAiRTU0NTogTWlzc2luZyBjb2xvbiIKK21zZ3N0ciAiRTU0NTogQnJhayBkd3Vrcm9wa2EiCisKK21zZ2lkICJFNTQ2OiBJbGxlZ2FsIG1vZGUiCittc2dzdHIgIkU1NDY6IE5pZWRvendvbG9ueSB0cnliIgorCittc2dpZCAiRTU0NzogSWxsZWdhbCBtb3VzZXNoYXBlIgorbXNnc3RyICJFNTQ3OiBOaWVkb3p3b2xvbnkgb2JyeXMgbXlzemtpIgorCittc2dpZCAiRTU0ODogZGlnaXQgZXhwZWN0ZWQiCittc2dzdHIgIkU1NDg6IG9jemVraXdhbm8gY3lmcnkiCisKK21zZ2lkICJFNTQ5OiBJbGxlZ2FsIHBlcmNlbnRhZ2UiCittc2dzdHIgIkU0NTk6IE5pZWRvendvbG9ueSBwcm9jZW50IgorCittc2dpZCAiRW50ZXIgZW5jcnlwdGlvbiBrZXk6ICIKK21zZ3N0ciAiV3Byb3dhZMW6IGtsdWN6IGRvIG9ka29kb3dhbmlhOiAiCisKK21zZ2lkICJFbnRlciBzYW1lIGtleSBhZ2FpbjogIgorbXNnc3RyICJXcHJvd2FkxbogcG9ub3duaWUgdGVuIHNhbSBrbHVjejogIgorCittc2dpZCAiS2V5cyBkb24ndCBtYXRjaCEiCittc2dzdHIgIktsdWN6ZSBuaWUgcGFzdWrEhSBkbyBzaWViaWUhIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJFMzQzOiBJbnZhbGlkIHBhdGg6ICcqKltudW1iZXJdJyBtdXN0IGJlIGF0IHRoZSBlbmQgb2YgdGhlIHBhdGggb3IgYmUgIgorImZvbGxvd2VkIGJ5ICclcycuIgorbXNnc3RyICIiCisiRTM0MzogTmlld8WCYcWbY2l3eSB0cm9wOiAnKipbbnVtZXJdJyBtdXNpIGJ5xIcgbmEga2/FhGN1IHRyb3B1IGx1YiBwbyBuaW0gbXVzaSAiCisiYnnEhyAnJXMnLiIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFMzQ0OiBDYW4ndCBmaW5kIGRpcmVjdG9yeSBcIiVzXCIgaW4gY2RwYXRoIgorbXNnc3RyICJFMzQ0OiBOaWUgbW9nxJkgem5hbGXFusSHIGthdGFsb2d1IFwiJXNcIiB3IGNkcGF0aCIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFMzQ1OiBDYW4ndCBmaW5kIGZpbGUgXCIlc1wiIGluIHBhdGgiCittc2dzdHIgIkUzNDU6IE5pZSBtb2fEmSB6bmFsZcW6xIcgcGxpa3UgXCIlc1wiIHcgdHJvcGllIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkUzNDY6IE5vIG1vcmUgZGlyZWN0b3J5IFwiJXNcIiBmb3VuZCBpbiBjZHBhdGgiCittc2dzdHIgIkUzNDY6IEthdGFsb2d1IFwiJXNcIiBuaWUgbWEgd2nEmWNlaiB3IGNkcGF0aCIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFMzQ3OiBObyBtb3JlIGZpbGUgXCIlc1wiIGZvdW5kIGluIHBhdGgiCittc2dzdHIgIkUzNDc6IFBsaWt1IFwiJXNcIiBuaWUgbWEgd2nEmWNlaiB3IHRyb3BpZSIKKworIy4gR2V0IGhlcmUgd2hlbiB0aGUgc2VydmVyIGNhbid0IGJlIGZvdW5kLgorbXNnaWQgIkNhbm5vdCBjb25uZWN0IHRvIE5ldGJlYW5zICMyIgorbXNnc3RyICJOaWUgbW/FvG5hIHBvxYLEhWN6ecSHIHogTmV0YmVhbnMgIzIiCisKK21zZ2lkICJDYW5ub3QgY29ubmVjdCB0byBOZXRiZWFucyIKK21zZ3N0ciAiTmllIG1vxbxuYSBwb8WCxIVjennEhyB6IE5ldGJlYW5zIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkU2Njg6IFdyb25nIGFjY2VzcyBtb2RlIGZvciBOZXRCZWFucyBjb25uZWN0aW9uIGluZm8gZmlsZTogXCIlc1wiIgorbXNnc3RyICJFNjY4OiBCxYLEmWRueSB0cnliIGRvc3TEmXB1IHBsaWt1IGluZm8gcG/FgsSFY3plbmlhIE5ldEJlYW5zOiBcIiVzXCIiCisKK21zZ2lkICJyZWFkIGZyb20gTmV0YmVhbnMgc29ja2V0IgorbXNnc3RyICJvZGN6eXQgeiBnbmlhemRhIE5ldGJlYW5zIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkU2NTg6IE5ldEJlYW5zIGNvbm5lY3Rpb24gbG9zdCBmb3IgYnVmZmVyICVsZCIKK21zZ3N0ciAiRTY1ODogQnVmb3IgJWxkIHV0cmFjacWCIHBvxYLEhWN6ZW5pZSB6IE5ldEJlYW5zIgorCittc2dpZCAiRTUwNTogIgorbXNnc3RyICJFNTA1OiAiCisKK21zZ2lkICJFNzc0OiAnb3BlcmF0b3JmdW5jJyBpcyBlbXB0eSIKK21zZ3N0ciAiRTc3NDogJ29wZXJhdG9yZnVuYycgamVzdCBwdXN0YSIKKworbXNnaWQgIkU3NzU6IEV2YWwgZmVhdHVyZSBub3QgYXZhaWxhYmxlIgorbXNnc3RyICJFNzc1OiBGdW5rY2pvbmFsbm/Fm8SHIGV2YWwgbmllIGplc3QgZG9zdMSZcG5hIgorCittc2dpZCAiV2FybmluZzogdGVybWluYWwgY2Fubm90IGhpZ2hsaWdodCIKK21zZ3N0ciAiT1NUUlpFxbtFTklFOiB0ZXJtaW5hbCBuaWUgd3lrb251amUgcG9kxZt3aWV0bGFuaWEiCisKK21zZ2lkICJFMzQ4OiBObyBzdHJpbmcgdW5kZXIgY3Vyc29yIgorbXNnc3RyICJFMzQ4OiBCcmFrIGNpxIVndSBwb2Qga3Vyc29yZW0iCisKK21zZ2lkICJFMzQ5OiBObyBpZGVudGlmaWVyIHVuZGVyIGN1cnNvciIKK21zZ3N0ciAiRTM0OTogQnJhayBpZGVudHlmaWthdG9yYSBwb2Qga3Vyc29yZW0iCisKK21zZ2lkICJFMzUyOiBDYW5ub3QgZXJhc2UgZm9sZHMgd2l0aCBjdXJyZW50ICdmb2xkbWV0aG9kJyIKK21zZ3N0ciAiRTM1MjogTmllIG1vZ8SZIHNrYXNvd2HEhyB6d2luacSZY2lhIHogYmllxbzEhWPEhSAnZm9sZG1ldGhvZCciCisKK21zZ2lkICJFNjY0OiBjaGFuZ2VsaXN0IGlzIGVtcHR5IgorbXNnc3RyICJFNjY0OiBsaXN0YSB6bWlhbiAoY2hhbmdlbGlzdCkgamVzdCBwdXN0YSIKKworbXNnaWQgIkU2NjI6IEF0IHN0YXJ0IG9mIGNoYW5nZWxpc3QiCittc2dzdHIgIkU2NjI6IE5hIHBvY3rEhXRrdSBsaXN0eSB6bWlhbiIKKworbXNnaWQgIkU2NjM6IEF0IGVuZCBvZiBjaGFuZ2VsaXN0IgorbXNnc3RyICJFNjYzOiBOYSBrb8WEY3UgbGlzdHkgem1pYW4iCisKK21zZ2lkICJUeXBlICA6cXVpdDxFbnRlcj4gIHRvIGV4aXQgVmltIgorbXNnc3RyICJ3cHJvd2FkxbogIDpxdWl0PEVudGVyPiAgICB6YWtvxYRjemVuaWUgcHJvZ3JhbXUiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiMSBsaW5lICVzZWQgMSB0aW1lIgorbXNnc3RyICIxIHdpZXJzeiAlc2VkIDEgcmF6IgorCisjLCBjLWZvcm1hdAorbXNnaWQgIjEgbGluZSAlc2VkICVkIHRpbWVzIgorbXNnc3RyICIxIHdpZXJzeiAlc2VkICVkIHJhenkiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWxkIGxpbmVzICVzZWQgMSB0aW1lIgorbXNnc3RyICIlbGQgd2llcnN6eSAlc2VkIDEgcmF6IgorCisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZCBsaW5lcyAlc2VkICVkIHRpbWVzIgorbXNnc3RyICIlbGQgd2llcnN6eSAlc2VkICVkIHJhenkiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWxkIGxpbmVzIHRvIGluZGVudC4uLiAiCittc2dzdHIgIiVsZCB3aWVyc3p5IGRvIHdjacSZY2lhLi4uICIKKworbXNnaWQgIjEgbGluZSBpbmRlbnRlZCAiCittc2dzdHIgIjEgd2llcnN6IHdjacSZdHkgIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZCBsaW5lcyBpbmRlbnRlZCAiCittc2dzdHIgIiVsZCB3aWVyc3p5IHdjacSZdHljaCAiCisKK21zZ2lkICJFNzQ4OiBObyBwcmV2aW91c2x5IHVzZWQgcmVnaXN0ZXIiCittc2dzdHIgIkU3NDg6IEJyYWsgcG9wcnplZG5pbyB1xbx5dGVnbyByZWplc3RydSIKKworIy4gbXVzdCBkaXNwbGF5IHRoZSBwcm9tcHQKK21zZ2lkICJjYW5ub3QgeWFuazsgZGVsZXRlIGFueXdheSIKK21zZ3N0ciAibmllIG1vZ8SZIHNrb3Bpb3dhxIcsIG1pbW8gdG8ga2FzdWrEmSIKKworbXNnaWQgIjEgbGluZSBjaGFuZ2VkIgorbXNnc3RyICIxIHdpZXJzeiB6bWllbmlvbm8iCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWxkIGxpbmVzIGNoYW5nZWQiCittc2dzdHIgIiVsZCB3aWVyc3p5IHptaWVuaW9ubyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJmcmVlaW5nICVsZCBsaW5lcyIKK21zZ3N0ciAiendhbG5pYW0gJWxkIHdpZXJzenkiCisKK21zZ2lkICJibG9jayBvZiAxIGxpbmUgeWFua2VkIgorbXNnc3RyICJza29waW93YW5vIGJsb2sgMSB3aWVyc3phIgorCittc2dpZCAiMSBsaW5lIHlhbmtlZCIKK21zZ3N0ciAiMSB3aWVyc3ogc2tvcGlvd2FubyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJibG9jayBvZiAlbGQgbGluZXMgeWFua2VkIgorbXNnc3RyICIlbGQgd2llcnN6eSBza29waW93YW55Y2giCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWxkIGxpbmVzIHlhbmtlZCIKK21zZ3N0ciAiJWxkIHdpZXJzenkgc2tvcGlvd2FueWNoIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkUzNTM6IE5vdGhpbmcgaW4gcmVnaXN0ZXIgJXMiCittc2dzdHIgIkUzNTM6IFB1c3R5IHJlamVzdHIgJXMiCisKKyMuIEhpZ2hsaWdodCB0aXRsZQorbXNnaWQgIiIKKyJcbiIKKyItLS0gUmVnaXN0ZXJzIC0tLSIKK21zZ3N0ciAiIgorIlxuIgorIi0tLSBSZWplc3RyeSAtLS0iCisKK21zZ2lkICJJbGxlZ2FsIHJlZ2lzdGVyIG5hbWUiCittc2dzdHIgIk5pZWRvendvbG9uYSBuYXp3YSByZWplc3RydSIKKworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiIyBSZWdpc3RlcnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyIjIFJlamVzdHJ5OlxuIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkU1NzQ6IFVua25vd24gcmVnaXN0ZXIgdHlwZSAlZCIKK21zZ3N0ciAiRTU3NDogTmllem5hbnkgdHlwIHJlamVzdHJ1ICVkIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZCBDb2xzOyAiCittc2dzdHIgIiVsZCBLb2x1bW47ICIKKworIywgYy1mb3JtYXQKK21zZ2lkICJTZWxlY3RlZCAlcyVsZCBvZiAlbGQgTGluZXM7ICVsZCBvZiAlbGQgV29yZHM7ICVsZCBvZiAlbGQgQnl0ZXMiCittc2dzdHIgIld5YnJhbm8gJXMlbGQgeiAlbGQgV2llcnN6eTsgJWxkIHogJWxkIFPFgsOzdzsgJWxkIHogJWxkIEJhanTDs3ciCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlNlbGVjdGVkICVzJWxkIG9mICVsZCBMaW5lczsgJWxkIG9mICVsZCBXb3JkczsgJWxkIG9mICVsZCBDaGFyczsgJWxkIG9mICVsZCAiCisiQnl0ZXMiCittc2dzdHIgIiIKKyJXeWJyYW5vICVzJWxkIHogJWxkIFdpZXJzenk7ICVsZCB6ICVsZCBTxYLDs3c7ICVsZCB6ICVsZCBabmFrw7N3OyAlbGQgeiAlbGQgIgorIkJhanTDs3ciCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ29sICVzIG9mICVzOyBMaW5lICVsZCBvZiAlbGQ7IFdvcmQgJWxkIG9mICVsZDsgQnl0ZSAlbGQgb2YgJWxkIgorbXNnc3RyICJLb2wgJXMgeiAlczsgV2llcnN6ICVsZCB6ICVsZDsgU8WCb3dvICVsZCB6ICVsZDsgQmFqdCAlbGQgeiAlbGQiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNvbCAlcyBvZiAlczsgTGluZSAlbGQgb2YgJWxkOyBXb3JkICVsZCBvZiAlbGQ7IENoYXIgJWxkIG9mICVsZDsgQnl0ZSAlbGQgb2YgIgorIiVsZCIKK21zZ3N0ciAiIgorIktvbCAlcyB6ICVzOyBXaWVyc3ogJWxkIHogJWxkOyBTxYJvd28gJWxkIHogJWxkOyBabmFrICVsZCB6ICVsZDsgQmFqdCAlbGQgeiAlIgorImxkIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIigrJWxkIGZvciBCT00pIgorbXNnc3RyICIoKyVsZCBkbGEgQk9NKSIKKworbXNnaWQgIiU8JWYlaCVtJT1QYWdlICVOIgorbXNnc3RyICIlPCVmJWglbSU9U3Ryb25hICVOIgorCittc2dpZCAiVGhhbmtzIGZvciBmbHlpbmcgVmltIgorbXNnc3RyICJEemnEmWtpIHphIGxvdCBWaW1lbSIKKworbXNnaWQgIkU1MTg6IFVua25vd24gb3B0aW9uIgorbXNnc3RyICJFNTE4OiBOaWV6bmFuYSBvcGNqYSIKKworbXNnaWQgIkU1MTk6IE9wdGlvbiBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICJFNTE5OiBPcGNqYSBuaWUgamVzdCB3c3BvbWFnYW5hIgorCittc2dpZCAiRTUyMDogTm90IGFsbG93ZWQgaW4gYSBtb2RlbGluZSIKK21zZ3N0ciAiRTUyMDogTmllZG96d29sb25lIHcgbW9kZWxpbmUiCisKK21zZ2lkICJFNTIxOiBOdW1iZXIgcmVxdWlyZWQgYWZ0ZXIgPSIKK21zZ3N0ciAiRTUyMTogUG8gPSB3eW1hZ2FueSBqZXN0IG51bWVyIgorCittc2dpZCAiRTUyMjogTm90IGZvdW5kIGluIHRlcm1jYXAiCittc2dzdHIgIkU1MjI6IE5pZSB6bmFsZXppb25vIHcgdGVybWNhcCIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFNTM5OiBJbGxlZ2FsIGNoYXJhY3RlciA8JXM+IgorbXNnc3RyICJFNTM5OiBOaWVkb3p3b2xvbnkgem5hayA8JXM+IgorCittc2dpZCAiRTUyOTogQ2Fubm90IHNldCAndGVybScgdG8gZW1wdHkgc3RyaW5nIgorbXNnc3RyICJFNTI5OiBOaWUgbW9nxJkgdXN0YXdpxIcgJ3Rlcm0nIG5hIHB1c3R5IGNpxIVnIgorCittc2dpZCAiRTUzMDogQ2Fubm90IGNoYW5nZSB0ZXJtIGluIEdVSSIKK21zZ3N0ciAiRTUzMDogTmllIG1vZ8SZIHptaWVuacSHIHRlcm0gdyBHVUkiCisKK21zZ2lkICJFNTMxOiBVc2UgXCI6Z3VpXCIgdG8gc3RhcnQgdGhlIEdVSSIKK21zZ3N0ciAiRTUzMTogVcW8eWogXCI6Z3VpXCIgZG8gb2RwYWxlbmlhIEdVSSIKKworbXNnaWQgIkU1ODk6ICdiYWNrdXBleHQnIGFuZCAncGF0Y2htb2RlJyBhcmUgZXF1YWwiCittc2dzdHIgIkU1ODk6ICdiYWNrdXBleHQnIGkgJ3BhdGNobW9kZScgc8SFIHRvxbxzYW1lIgorCittc2dpZCAiRTYxNzogQ2Fubm90IGJlIGNoYW5nZWQgaW4gdGhlIEdUSysgMiBHVUkiCittc2dzdHIgIkU2MTc6IE5pZSBtb2fEmSB6bWllbmnEhyB3IEdUSysyIEdVSSIKKworbXNnaWQgIkU1MjQ6IE1pc3NpbmcgY29sb24iCittc2dzdHIgIkU1MjQ6IEJyYWsgZHd1a3JvcGthIgorCittc2dpZCAiRTUyNTogWmVybyBsZW5ndGggc3RyaW5nIgorbXNnc3RyICJFNTI1OiBDacSFZyBvIHplcm93ZWogZMWCdWdvxZtjaSIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFNTI2OiBNaXNzaW5nIG51bWJlciBhZnRlciA8JXM+IgorbXNnc3RyICJFNTI2OiBCcmFrIG51bWVydSBwbyA8JXM+IgorCittc2dpZCAiRTUyNzogTWlzc2luZyBjb21tYSIKK21zZ3N0ciAiRTUyNzogQnJhayBwcnplY2lua2EiCisKK21zZ2lkICJFNTI4OiBNdXN0IHNwZWNpZnkgYSAnIHZhbHVlIgorbXNnc3RyICJFNTI4OiBNdXNpIG9rcmXFm2xhxIcgd2FydG/Fm8SHICciCisKK21zZ2lkICJFNTk1OiBjb250YWlucyB1bnByaW50YWJsZSBvciB3aWRlIGNoYXJhY3RlciIKK21zZ3N0ciAiRTU5NTogemF3aWVyYSBuaWV3ecWbd2lldGxhbG55IGx1YiBzemVyb2tpIHpuYWsiCisKK21zZ2lkICJFNTk2OiBJbnZhbGlkIGZvbnQocykiCittc2dzdHIgIkU1OTY6IE5pZWRvendvbG9uYSBjemNpb25rYS9raSIKKworbXNnaWQgIkU1OTc6IGNhbid0IHNlbGVjdCBmb250c2V0IgorbXNnc3RyICJFNTk3OiBuaWUgbW9nxJkgd3licmHEhyB6ZXN0YXd1IGN6Y2lvbmVrIgorCittc2dpZCAiRTU5ODogSW52YWxpZCBmb250c2V0IgorbXNnc3RyICJFNTk4OiBOaWVkb3p3b2xvbnkgemVzdGF3IGN6Y2lvbmVrIgorCittc2dpZCAiRTUzMzogY2FuJ3Qgc2VsZWN0IHdpZGUgZm9udCIKK21zZ3N0ciAiRTUzMzogbmllIG1vZ8SZIHd5YnJhxIcgc3plcm9raWVqIGN6Y2lvbmtpIgorCittc2dpZCAiRTUzNDogSW52YWxpZCB3aWRlIGZvbnQiCittc2dzdHIgIkU1MzQ6IE5pZWRvendvbG9uYSBzemVyb2thIGN6Y2lvbmthIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkU1MzU6IElsbGVnYWwgY2hhcmFjdGVyIGFmdGVyIDwlYz4iCittc2dzdHIgIkU1MzU6IE5pZWRvendvbG9ueSB6bmFrIHBvIDwlYz4iCisKK21zZ2lkICJFNTM2OiBjb21tYSByZXF1aXJlZCIKK21zZ3N0ciAiRTUzNjogd3ltYWdhbnkgcHJ6ZWNpbmVrIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkU1Mzc6ICdjb21tZW50c3RyaW5nJyBtdXN0IGJlIGVtcHR5IG9yIGNvbnRhaW4gJXMiCittc2dzdHIgIkU1Mzc6ICdjb21tZW50c3RyaW5nJyBtdXNpIGJ5xIcgcHVzdHkgbHViIHphd2llcmHEhyAlcyIKKworbXNnaWQgIkU1Mzg6IE5vIG1vdXNlIHN1cHBvcnQiCittc2dzdHIgIkU1Mzg6IEJyYWsgd3Nwb21hZ2FuaWEgbXlzemtpIgorCittc2dpZCAiRTU0MDogVW5jbG9zZWQgZXhwcmVzc2lvbiBzZXF1ZW5jZSIKK21zZ3N0ciAiRTU0MDogTmllZG9ta25pxJl0eSBjacSFZyB3eXJhxbxlxYQiCisKK21zZ2lkICJFNTQxOiB0b28gbWFueSBpdGVtcyIKK21zZ3N0ciAiRTU0MTogemJ5dCB3aWVsZSBlbGVtZW50w7N3IgorCittc2dpZCAiRTU0MjogdW5iYWxhbmNlZCBncm91cHMiCittc2dzdHIgIkU1NDI6IG5pZXpiYWxhbnNvd2FuZSBncnVweSIKKworbXNnaWQgIkU1OTA6IEEgcHJldmlldyB3aW5kb3cgYWxyZWFkeSBleGlzdHMiCittc2dzdHIgIkU1OTA6IG9rbm8gcG9kZ2zEhWR1IGp1xbwgaXN0bmllamUiCisKK21zZ2lkICJXMTc6IEFyYWJpYyByZXF1aXJlcyBVVEYtOCwgZG8gJzpzZXQgZW5jb2Rpbmc9dXRmLTgnIgorbXNnc3RyICJXMTc6IEFyYWJza2kgd3ltYWdhIFVURi04LCB6csOzYiAnOnNldCBlbmNvZGluZz11dGYtOCciCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTU5MzogTmVlZCBhdCBsZWFzdCAlZCBsaW5lcyIKK21zZ3N0ciAiRTU5MzogUG90cnplYnVqxJkgcHJ6eW5ham1uaWVqICVkIHdpZXJzenkiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTU5NDogTmVlZCBhdCBsZWFzdCAlZCBjb2x1bW5zIgorbXNnc3RyICJFNTk0OiBQb3RyemVidWrEmSBwcnp5bmFqbW5pZWogJWQga29sdW1uIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkUzNTU6IFVua25vd24gb3B0aW9uOiAlcyIKK21zZ3N0ciAiRTM1NTogTmllem5hbmEgb3BjamE6ICVzIgorCittc2dpZCAiIgorIlxuIgorIi0tLSBUZXJtaW5hbCBjb2RlcyAtLS0iCittc2dzdHIgIiIKKyJcbiIKKyItLS0gS29keSB0ZXJtaW5hbGEgLS0tIgorCittc2dpZCAiIgorIlxuIgorIi0tLSBHbG9iYWwgb3B0aW9uIHZhbHVlcyAtLS0iCittc2dzdHIgIiIKKyJcbiIKKyItLS0gR2xvYmFsbmUgd2FydG/Fm2NpIG9wY2ppIC0tLSIKKworbXNnaWQgIiIKKyJcbiIKKyItLS0gTG9jYWwgb3B0aW9uIHZhbHVlcyAtLS0iCittc2dzdHIgIiIKKyJcbiIKKyItLS0gTG9rYWxuZSB3YXJ0b8WbY2kgb3BjamkgLS0tIgorCittc2dpZCAiIgorIlxuIgorIi0tLSBPcHRpb25zIC0tLSIKK21zZ3N0ciAiIgorIlxuIgorIi0tLSBPcGNqZSAtLS0iCisKK21zZ2lkICJFMzU2OiBnZXRfdmFycCBFUlJPUiIKK21zZ3N0ciAiRTM1NjogQsWBxIREIGdldF92YXJwIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkUzNTc6ICdsYW5nbWFwJzogTWF0Y2hpbmcgY2hhcmFjdGVyIG1pc3NpbmcgZm9yICVzIgorbXNnc3RyICJFMzU3OiAnbGFuZ21hcCc6IEJyYWsgcGFzdWrEhWNlZ28gem5ha3UgZGxhICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkUzNTg6ICdsYW5nbWFwJzogRXh0cmEgY2hhcmFjdGVycyBhZnRlciBzZW1pY29sb246ICVzIgorbXNnc3RyICJFMzU4OiAnbGFuZ21hcCc6IERvZGF0a293ZSB6bmFraSBwbyDFm3JlZG5pa3U6ICVzIgorCittc2dpZCAiY2Fubm90IG9wZW4gIgorbXNnc3RyICJuaWUgbW9nxJkgb3R3b3J6ecSHICIKKworbXNnaWQgIlZJTTogQ2FuJ3Qgb3BlbiB3aW5kb3chXG4iCittc2dzdHIgIlZJTTogTmllIG1vZ8SZIG90d29yennEhyBva25hIVxuIgorCittc2dpZCAiTmVlZCBBbWlnYWRvcyB2ZXJzaW9uIDIuMDQgb3IgbGF0ZXJcbiIKK21zZ3N0ciAiUG90cnplYnVqxJkgQW1pZ2Fkb3MgdyB3ZXJzamkgMi4wNCBsdWIgcMOzxbpuaWVqc3rEhVxuIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIk5lZWQgJXMgdmVyc2lvbiAlbGRcbiIKK21zZ3N0ciAiUG90cnplYnVqxJkgJXMgdyB3ZXJzamkgJWxkXG4iCisKK21zZ2lkICJDYW5ub3Qgb3BlbiBOSUw6XG4iCittc2dzdHIgIk5pZSBtb2fEmSBvdHdvcnp5xIcgTklMOlxuIgorCittc2dpZCAiQ2Fubm90IGNyZWF0ZSAiCittc2dzdHIgIk5pZSBtb2fEmSBzdHdvcnp5xIcgIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIlZpbSBleGl0aW5nIHdpdGggJWRcbiIKK21zZ3N0ciAiVmltIGtvxYRjenkgcHJhY8SZIHogJWRcbiIKKworbXNnaWQgImNhbm5vdCBjaGFuZ2UgY29uc29sZSBtb2RlID8hXG4iCittc2dzdHIgIm5pZSBtb2fEmSB6bWllbmnEhyB0cnlidSBrb25zb2xpID8hXG4iCisKK21zZ2lkICJtY2hfZ2V0X3NoZWxsc2l6ZTogbm90IGEgY29uc29sZT8/XG4iCittc2dzdHIgIm1jaF9nZXRfc2hlbGxzaXplOiBuaWUgamVzdCBrb25zb2zEhT8/XG4iCisKKyMuIGlmIFZpbSBvcGVuZWQgYSB3aW5kb3c6IEV4ZWN1dGluZyBhIHNoZWxsIG1heSBjYXVzZSBjcmFzaGVzCittc2dpZCAiRTM2MDogQ2Fubm90IGV4ZWN1dGUgc2hlbGwgd2l0aCAtZiBvcHRpb24iCittc2dzdHIgIkUzNjA6IE5pZSBtb2fEmSB3eWtvbmHEhyBwb3fFgm9raSB6IG9wY2rEhSAtZiIKKworbXNnaWQgIkNhbm5vdCBleGVjdXRlICIKK21zZ3N0ciAiTmllIG1vZ8SZIHd5a29uYcSHICIKKworbXNnaWQgInNoZWxsICIKK21zZ3N0ciAicG93xYJva2EgIgorCittc2dpZCAiIHJldHVybmVkXG4iCittc2dzdHIgIiB6d3LDs2NpxYJcbiIKKworbXNnaWQgIkFOQ0hPUl9CVUZfU0laRSB0b28gc21hbGwuIgorbXNnc3RyICJBTkNIT1JfQlVGX1NJWkUgemJ5dCBuaXNraWUuIgorCittc2dpZCAiSS9PIEVSUk9SIgorbXNnc3RyICJCxYHEhEQgSS9PIgorCittc2dpZCAiLi4uKHRydW5jYXRlZCkiCittc2dzdHIgIi4uLihvYmNpxJl0eSkiCisKK21zZ2lkICJNZXNzYWdlIgorbXNnc3RyICJXaWFkb21vxZvEhyIKKworbXNnaWQgIidjb2x1bW5zJyBpcyBub3QgODAsIGNhbm5vdCBleGVjdXRlIGV4dGVybmFsIGNvbW1hbmRzIgorbXNnc3RyICInY29sdW1ucycgbmllIHd5bm9zaSA4MCwgbmllIG1vZ8SZIHd5a29uYcSHIHpld27EmXRyem55Y2gga29tZW5kIgorCittc2dpZCAiRTIzNzogUHJpbnRlciBzZWxlY3Rpb24gZmFpbGVkIgorbXNnc3RyICJFMjM3OiBXeWLDs3IgZHJ1a2Fya2kgbmllIHBvd2nDs2TFgiBzacSZIgorCisjLCBjLWZvcm1hdAorbXNnaWQgInRvICVzIG9uICVzIgorbXNnc3RyICJkbyAlcyB6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkU2MTM6IFVua25vd24gcHJpbnRlciBmb250OiAlcyIKK21zZ3N0ciAiRTYxMzogTmllem5hbmEgY3pjaW9ua2EgZHJ1a2Fya2k6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkUyMzg6IFByaW50IGVycm9yOiAlcyIKK21zZ3N0ciAiRTIzODogQsWCxIVkIGRydWthcmtpOiAlcyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJQcmludGluZyAnJXMnIgorbXNnc3RyICJXeWRydWtvd2FubyAnJXMnIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkUyNDQ6IElsbGVnYWwgY2hhcnNldCBuYW1lIFwiJXNcIiBpbiBmb250IG5hbWUgXCIlc1wiIgorbXNnc3RyICJFMjQ0OiBOaWVkb3p3b2xvbmEgbmF6d2EgemVzdGF3dSB6bmFrw7N3IFwiJXNcIiB3IG5hendpZSBjemNpb25raSBcIiVzXCIiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTI0NTogSWxsZWdhbCBjaGFyICclYycgaW4gZm9udCBuYW1lIFwiJXNcIiIKK21zZ3N0ciAiRTI0NTogTmllZG96d29sb255IHpuYWsgJyVjJyB3IG5hendpZSBjemNpb25raSBcIiVzXCIiCisKK21zZ2lkICJFMzY2OiBJbnZhbGlkICdvc2ZpbGV0eXBlJyBvcHRpb24gLSB1c2luZyBUZXh0IgorbXNnc3RyICJFMzY2OiBOaWV3xYJhxZtjaXdhIG9wY2phICdvc2ZpbGV0eXBlJyAtIHXFvHl3YW0gVGV4dCIKKworbXNnaWQgIlZpbTogRG91YmxlIHNpZ25hbCwgZXhpdGluZ1xuIgorbXNnc3RyICJWaW06IFBvZHfDs2pueSBzeWduYcWCLCB3eWNob2R6xJlcbiIKKworIywgYy1mb3JtYXQKK21zZ2lkICJWaW06IENhdWdodCBkZWFkbHkgc2lnbmFsICVzXG4iCittc2dzdHIgIlZpbTogWmHFgmFwYcWCIMWbbWllcnRlbG55IHN5Z25hxYIgJXNcbiIKKworIywgYy1mb3JtYXQKK21zZ2lkICJWaW06IENhdWdodCBkZWFkbHkgc2lnbmFsXG4iCittc2dzdHIgIlZpbTogWmHFgmFwYcWCIMWbbWllcnRlbG55IHN5Z25hxYJcbiIKKworIywgYy1mb3JtYXQKK21zZ2lkICJPcGVuaW5nIHRoZSBYIGRpc3BsYXkgdG9vayAlbGQgbXNlYyIKK21zZ3N0ciAiT3R3aWVyYW5pZSBla3JhbnUgWCB0cndhxYJvICVsZCBtc2VjIgorCittc2dpZCAiIgorIlxuIgorIlZpbTogR290IFggZXJyb3JcbiIKK21zZ3N0ciAiIgorIlxuIgorIlZpbTogRG9zdGHFgiBixYLEhWQgWFxuIgorCittc2dpZCAiVGVzdGluZyB0aGUgWCBkaXNwbGF5IGZhaWxlZCIKK21zZ3N0ciAiVGVzdCBla3JhbnUgWCBuaWUgcG93acOzZMWCIHNpxJkiCisKK21zZ2lkICJPcGVuaW5nIHRoZSBYIGRpc3BsYXkgdGltZWQgb3V0IgorbXNnc3RyICJQcsOzYmEgb3R3YXJjaWEgZWtyYW51IFggdHJ3YcWCYSB6Ynl0IGTFgnVnbyIKKworbXNnaWQgIiIKKyJcbiIKKyJDYW5ub3QgZXhlY3V0ZSBzaGVsbCAiCittc2dzdHIgIiIKKyJcbiIKKyJOaWUgbW9nxJkgd3lrb25hxIcgcG93xYJva2kgIgorCittc2dpZCAiIgorIlxuIgorIkNhbm5vdCBleGVjdXRlIHNoZWxsIHNoXG4iCittc2dzdHIgIiIKKyJcbiIKKyJOaWUgbW9nxJkgd3lrb25hxIcgcG93xYJva2kgc2hcbiIKKworbXNnaWQgIiIKKyJcbiIKKyJzaGVsbCByZXR1cm5lZCAiCittc2dzdHIgIiIKKyJcbiIKKyJwb3fFgm9rYSB6d3LDs2NpxYJhICIKKworbXNnaWQgIiIKKyJcbiIKKyJDYW5ub3QgY3JlYXRlIHBpcGVzXG4iCittc2dzdHIgIiIKKyJcbiIKKyJOaWUgbW9nxJkgc3R3b3J6ecSHIHBvdG9rw7N3XG4iCisKK21zZ2lkICIiCisiXG4iCisiQ2Fubm90IGZvcmtcbiIKK21zZ3N0ciAiIgorIlxuIgorIk5pZSBtb2fEmSByb3pkemllbGnEhyBzacSZXG4iCisKK21zZ2lkICIiCisiXG4iCisiQ29tbWFuZCB0ZXJtaW5hdGVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyJLb21lbmRhIHpha2/FhGN6b25hXG4iCisKK21zZ2lkICJYU01QIGxvc3QgSUNFIGNvbm5lY3Rpb24iCittc2dzdHIgIlhTTVAgc3RyYWNpxYIgcG/FgsSFY3plbmllIElDRSIKKworIywgYy1mb3JtYXQKK21zZ2lkICJkbGVycm9yID0gXCIlc1wiIgorbXNnc3RyICJkbGVycm9yID0gXCIlc1wiIgorCittc2dpZCAiT3BlbmluZyB0aGUgWCBkaXNwbGF5IGZhaWxlZCIKK21zZ3N0ciAiT3R3YXJjaWUgZWtyYW51IFggbmllIHBvd2lvZMWCbyBzacSZIgorCittc2dpZCAiWFNNUCBoYW5kbGluZyBzYXZlLXlvdXJzZWxmIHJlcXVlc3QiCittc2dzdHIgIlhTTVAgb2JzxYJ1Z3VqZSDFvMSFZGFuaWUgc2Ftb3phcGlzdSIKKworbXNnaWQgIlhTTVAgb3BlbmluZyBjb25uZWN0aW9uIgorbXNnc3RyICJYU01QIG90d2llcmEgcG/FgsSFY3plbmllIgorCittc2dpZCAiWFNNUCBJQ0UgY29ubmVjdGlvbiB3YXRjaCBmYWlsZWQiCittc2dzdHIgIk9ic2Vyd2FjamEgcG/FgsSFY3plbmlhIFhTTVAgSUNFIG5pZSBwb3dpb2TFgmEgc2nEmSIKKworIywgYy1mb3JtYXQKK21zZ2lkICJYU01QIFNtY09wZW5Db25uZWN0aW9uIGZhaWxlZDogJXMiCittc2dzdHIgIlhTTVAgU21jT3BlbkNvbm5lY3Rpb24gbmllIHBvd2lvZMWCbyBzacSZOiAlcyIKKworbXNnaWQgIkF0IGxpbmUiCittc2dzdHIgIlcgd2llcnN6dSIKKworbXNnaWQgIkNvdWxkIG5vdCBsb2FkIHZpbTMyLmRsbCEiCittc2dzdHIgIk5pZSBtb2fEmSB6YcWCYWRvd2HEhyB2aW0zMi5kbGwhIgorCittc2dpZCAiVklNIEVycm9yIgorbXNnc3RyICJCxYLEhWQgVklNIgorCittc2dpZCAiQ291bGQgbm90IGZpeCB1cCBmdW5jdGlvbiBwb2ludGVycyB0byB0aGUgRExMISIKK21zZ3N0ciAiTmllIHpkb8WCYcWCZW0gcG9wcmF3acSHIHdza2HFum5pa8OzdyBmdW5rY2ppIHcgRExMISIKKworIywgYy1mb3JtYXQKK21zZ2lkICJzaGVsbCByZXR1cm5lZCAlZCIKK21zZ3N0ciAicG93xYJva2Egendyw7NjacWCYSAlZCIKKworIywgYy1mb3JtYXQKK21zZ2lkICJWaW06IENhdWdodCAlcyBldmVudFxuIgorbXNnc3RyICJWaW06IFphxYJhcGHFgiB3eWRhcnplbmllICVzXG4iCisKK21zZ2lkICJjbG9zZSIKK21zZ3N0ciAiemFta25paiIKKworbXNnaWQgImxvZ29mZiIKK21zZ3N0ciAid3lsb2d1aiIKKworbXNnaWQgInNodXRkb3duIgorbXNnc3RyICJ6YWtvxYRjeiIKKworbXNnaWQgIkUzNzE6IENvbW1hbmQgbm90IGZvdW5kIgorbXNnc3RyICJFMzcxOiBOaWUgem5hbGV6aW9ubyBrb21lbmR5IgorCittc2dpZCAiIgorIlZJTVJVTi5FWEUgbm90IGZvdW5kIGluIHlvdXIgJFBBVEguXG4iCisiRXh0ZXJuYWwgY29tbWFuZHMgd2lsbCBub3QgcGF1c2UgYWZ0ZXIgY29tcGxldGlvbi5cbiIKKyJTZWUgIDpoZWxwIHdpbjMyLXZpbXJ1biAgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgorbXNnc3RyICIiCisiVklNUlVOLkVYRSBuaWUgem5hbGV6aW9ubyB3IHR3b2ltICRQQVRILlxuIgorIlpld27EmXRyem5lIGtvbWVuZHkgbmllIGLEmWTEhSB3c3RyenltYW5lIHBvIHd5a29uYW5pdS5cbiIKKyJab2JhY3ogIDpoZWxwIHdpbTMyLXZpbXJ1biAgYWJ5IG90cnp5bWHEhyB3acSZY2VqIGluZm9ybWFjamkuIgorCittc2dpZCAiVmltIFdhcm5pbmciCittc2dzdHIgIlZpbSBPc3RyemXFvGVuaWUiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTM3MjogVG9vIG1hbnkgJSUlYyBpbiBmb3JtYXQgc3RyaW5nIgorbXNnc3RyICJFMzcyOiBaYnl0IHdpZWxlICUlJWMgdyBjacSFZ3UgZm9ybWF0dWrEhWN5bSIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFMzczOiBVbmV4cGVjdGVkICUlJWMgaW4gZm9ybWF0IHN0cmluZyIKK21zZ3N0ciAiRTM3MzogTmllb2N6ZWtpd2FuZSAlJSVjIHcgY2nEhWd1IGZvcm1hdHVqxIVjeW0iCisKK21zZ2lkICJFMzc0OiBNaXNzaW5nIF0gaW4gZm9ybWF0IHN0cmluZyIKK21zZ3N0ciAiRTM3NDogQnJhayBdIHcgY2nEhWd1IGZvcm1hdHVqxIVjeW0iCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTM3NTogVW5zdXBwb3J0ZWQgJSUlYyBpbiBmb3JtYXQgc3RyaW5nIgorbXNnc3RyICJFMzc1OiBOaWV3c3BvbWFnYW5lICUlJWMgdyBjacSFZ3UgZm9ybWF0dWrEhWN5bSIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFMzc2OiBJbnZhbGlkICUlJWMgaW4gZm9ybWF0IHN0cmluZyBwcmVmaXgiCittc2dzdHIgIkUzNzY6IE5pZXBvcHJhd25lICUlJWMgdyBwcmVmaWtzaWUgY2nEhWd1IGZvcm1hdHVqxIVjZWdvIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkUzNzc6IEludmFsaWQgJSUlYyBpbiBmb3JtYXQgc3RyaW5nIgorbXNnc3RyICJFMzc3OiBOaWVwb3ByYXduZSAlJSVjIHcgY2nEhWd1IGZvcm1hdHVqxIVjeW0iCisKK21zZ2lkICJFMzc4OiAnZXJyb3Jmb3JtYXQnIGNvbnRhaW5zIG5vIHBhdHRlcm4iCittc2dzdHIgIkUzNzg6ICdlcnJvcmZvcm1hdCcgbmllIHphd2llcmEgd3pvcmNhIgorCittc2dpZCAiRTM3OTogTWlzc2luZyBvciBlbXB0eSBkaXJlY3RvcnkgbmFtZSIKK21zZ3N0ciAiRTM3OTogUHVzdGEgbmF6d2Ega2F0YWxvZ3UgbHViIGplaiBicmFrIgorCittc2dpZCAiRTU1MzogTm8gbW9yZSBpdGVtcyIKK21zZ3N0ciAiRTU1MzogTmllIG1hIHdpxJljZWogZWxlbWVudMOzdyIKKworIywgYy1mb3JtYXQKK21zZ2lkICIoJWQgb2YgJWQpJXMlczogIgorbXNnc3RyICIoJWQgeiAlZCklcyVzOiAiCisKK21zZ2lkICIgKGxpbmUgZGVsZXRlZCkiCittc2dzdHIgIiAod2llcnN6IHNrYXNvd2FueSkiCisKK21zZ2lkICJFMzgwOiBBdCBib3R0b20gb2YgcXVpY2tmaXggc3RhY2siCittc2dzdHIgIkUzODA6IE5hIGRvbGUgc3Rvc3UgcXVpY2tmaXgiCisKK21zZ2lkICJFMzgxOiBBdCB0b3Agb2YgcXVpY2tmaXggc3RhY2siCittc2dzdHIgIkUzODE6IE5hIGfDs3J6ZSBzdG9zdSBxdWlja2ZpeCIKKworIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciBsaXN0ICVkIG9mICVkOyAlZCBlcnJvcnMiCittc2dzdHIgImxpc3RhIGLFgsSZZMOzdyAlZCB6ICVkOyAlZCBixYLEmWTDs3ciCisKK21zZ2lkICJFMzgyOiBDYW5ub3Qgd3JpdGUsICdidWZ0eXBlJyBvcHRpb24gaXMgc2V0IgorbXNnc3RyICJFMzgyOiBOaWUgbW9nxJkgemFwaXNhxIcsIG9wY2phICdidWZ0eXBlJyBqZXN0IHVzdGF3aW9uYSIKKworbXNnaWQgIkU2ODM6IEZpbGUgbmFtZSBtaXNzaW5nIG9yIGludmFsaWQgcGF0dGVybiIKK21zZ3N0ciAiRTY4MzogQnJhayBuYXp3eSBwbGlrdSBsdWIgbmlld8WCYcWbY2l3YSDFm2NpZcW8a2EiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IG9wZW4gZmlsZSBcIiVzXCIiCittc2dzdHIgIk5pZSBtb2fEmSBvdHdvcnp5xIcgcGxpa3UgXCIlc1wiIgorCittc2dpZCAiRTY4MTogQnVmZmVyIGlzIG5vdCBsb2FkZWQiCittc2dzdHIgIkU2ODE6IEJ1Zm9yIG5pZSBqZXN0IHphxYJhZG93YW55IgorCittc2dpZCAiRTc3NzogU3RyaW5nIG9yIExpc3QgZXhwZWN0ZWQiCittc2dzdHIgIkU3Nzc6IE9jemVraXdhbm8gxYJhxYRjdWNoYSBsdWIgbGlzdHkiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTM2OTogaW52YWxpZCBpdGVtIGluICVzJSVbXSIKK21zZ3N0ciAiRTM2OTogTmlld8WCYcWbY2l3eSBlbGVtZW50IHcgJXMlJVtdIgorCittc2dpZCAiRTMzOTogUGF0dGVybiB0b28gbG9uZyIKK21zZ3N0ciAiRTMzOTogWmJ5dCBkxYJ1Z2kgd3pvcnplYyIKKworbXNnaWQgIkU1MDogVG9vIG1hbnkgXFx6KCIKK21zZ3N0ciAiRTUwOiBaYnl0IHdpZWxlIFxceigiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTUxOiBUb28gbWFueSAlcygiCittc2dzdHIgIkU1MTogWmJ5dCB3aWVsZSAlcygiCisKK21zZ2lkICJFNTI6IFVubWF0Y2hlZCBcXHooIgorbXNnc3RyICJFNTI6IE5pZXNwYXJvd2FueSBcXHooIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkU1MzogVW5tYXRjaGVkICVzJSUoIgorbXNnc3RyICJFNTM6IE5pZXNwYXJvd2FueSAlcyUlKCIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFNTQ6IFVubWF0Y2hlZCAlcygiCittc2dzdHIgIkU1NDogTmllc3Bhcm93YW55ICVzKCIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFNTU6IFVubWF0Y2hlZCAlcykiCittc2dzdHIgIkU1NTogTmllc3Bhcm93YW55ICVzKSIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFNTk6IGludmFsaWQgY2hhcmFjdGVyIGFmdGVyICVzQCIKK21zZ3N0ciAiRTU5OiBuaWVkb3p3b2xvbnkgem5hayBwbyAlc0AiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTYwOiBUb28gbWFueSBjb21wbGV4ICVzey4uLn1zIgorbXNnc3RyICJFNjA6IFpieXQgd2llbGUgesWCb8W8b255Y2ggJXN7Li4ufSIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFNjE6IE5lc3RlZCAlcyoiCittc2dzdHIgIkU2MTogWmFnbmllxbxkxbxvbmUgJXMqIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkU2MjogTmVzdGVkICVzJWMiCittc2dzdHIgIkU2MjogWmFnbmllxbxkxbxvbmUgJXMlYyIKKworbXNnaWQgIkU2MzogaW52YWxpZCB1c2Ugb2YgXFxfIgorbXNnc3RyICJFNjM6IE5pZWRvendvbG9uZSB1xbx5Y2llIFxcXyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFNjQ6ICVzJWMgZm9sbG93cyBub3RoaW5nIgorbXNnc3RyICJFNjQ6ICVzJWMgcG8gbmljenltIgorCittc2dpZCAiRTY1OiBJbGxlZ2FsIGJhY2sgcmVmZXJlbmNlIgorbXNnc3RyICJFNjU6IE5pZXfFgmHFm2Npd2Ugb2R3b8WCYW5pZSB3c3RlY3puZSIKKworbXNnaWQgIkU2NjogXFx6KCBub3QgYWxsb3dlZCBoZXJlIgorbXNnc3RyICJFNjY6IFxceiggamVzdCBuaWVkb3p3b2xvbmUgdyB0eW0gbWllanNjdSIKKworbXNnaWQgIkU2NzogXFx6MSBldCBhbC4gbm90IGFsbG93ZWQgaGVyZSIKK21zZ3N0ciAiRTY3OiBcXHoxIGkgcG9kb2JuZSBzxIUgbmllZG96d29sb25lIHcgdHltIG1pZWpzY3UiCisKK21zZ2lkICJFNjg6IEludmFsaWQgY2hhcmFjdGVyIGFmdGVyIFxceiIKK21zZ3N0ciAiRTY4OiBuaWVkb3B1c3pjemFsbnkgem5hayBwbyBcXHoiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTY5OiBNaXNzaW5nIF0gYWZ0ZXIgJXMlJVsiCittc2dzdHIgIkU2OTogQnJhayBdIHBvICVzJSVbIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkU3MDogRW1wdHkgJXMlJVtdIgorbXNnc3RyICJFNzA6IFB1c3R5ICVzJSVbXSIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFNjc4OiBJbnZhbGlkIGNoYXJhY3RlciBhZnRlciAlcyUlW2R4b3VVXSIKK21zZ3N0ciAiRTY3ODogTmllZG96d29sb255IHpuYWsgcG8gJXMlJVtkeG91VV0iCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTcxOiBJbnZhbGlkIGNoYXJhY3RlciBhZnRlciAlcyUlIgorbXNnc3RyICJFNzE6IE5pZWRvendvbG9ueSB6bmFrIHBvICVzJSUiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTc2OTogTWlzc2luZyBdIGFmdGVyICVzWyIKK21zZ3N0ciAiRTc2OTogQnJhayBdIHBvICVzWyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFNTU0OiBTeW50YXggZXJyb3IgaW4gJXN7Li4ufSIKK21zZ3N0ciAiRTU1NDogQsWCxIVkIHNrxYJhZG5pIHcgJXN7Li4ufSIKKworbXNnaWQgIkV4dGVybmFsIHN1Ym1hdGNoZXM6XG4iCittc2dzdHIgIlpld27EmXRyem5lIHBvZGRvcGFzb3dhbmlhOlxuIgorCittc2dpZCAiIFZSRVBMQUNFIgorbXNnc3RyICIgVi1aQU1JQU5BIgorCittc2dpZCAiIFJFUExBQ0UiCittc2dzdHIgIiBaQU1JQU5BIgorCittc2dpZCAiIFJFVkVSU0UiCittc2dzdHIgIiBORUdBVFlXIgorCittc2dpZCAiIElOU0VSVCIKK21zZ3N0ciAiIFdQUk9XQURaQU5JRSIKKworbXNnaWQgIiAoaW5zZXJ0KSIKK21zZ3N0ciAiICh3cHJvd2FkemFuaWUpIgorCittc2dpZCAiIChyZXBsYWNlKSIKK21zZ3N0ciAiICh6YW1pYW5hKSIKKworbXNnaWQgIiAodnJlcGxhY2UpIgorbXNnc3RyICIgKHYtemFtaWFuYSkiCisKK21zZ2lkICIgSGVicmV3IgorbXNnc3RyICIgSGVicmFqc2tpIgorCittc2dpZCAiIEFyYWJpYyIKK21zZ3N0ciAiIEFyYWJza2kiCisKK21zZ2lkICIgKGxhbmcpIgorbXNnc3RyICIgKGrEmXp5aykiCisKK21zZ2lkICIgKHBhc3RlKSIKK21zZ3N0ciAiICh3a2xlamFuaWUpIgorCittc2dpZCAiIFZJU1VBTCIKK21zZ3N0ciAiIFdJWlVBTE5ZIgorCittc2dpZCAiIFZJU1VBTCBMSU5FIgorbXNnc3RyICIgV0laVUFMTlkgTElOSU9XWSIKKworbXNnaWQgIiBWSVNVQUwgQkxPQ0siCittc2dzdHIgIiBXSVpVQUxOWSBCTE9LT1dZIgorCittc2dpZCAiIFNFTEVDVCIKK21zZ3N0ciAiIFpBWk5BQ1pBTklFIgorCittc2dpZCAiIFNFTEVDVCBMSU5FIgorbXNnc3RyICIgWkFaTkFDWkFOSUUgTElOSU9XRSIKKworbXNnaWQgIiBTRUxFQ1QgQkxPQ0siCittc2dzdHIgIiBaQVpOQUNaQU5JRSBCTE9LT1dFIgorCittc2dpZCAicmVjb3JkaW5nIgorbXNnc3RyICJ6YXBpcyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFMzgzOiBJbnZhbGlkIHNlYXJjaCBzdHJpbmc6ICVzIgorbXNnc3RyICJFMzgzOiBOaWV3xYJhxZtjaXd5IGNpxIVnIGRvIHN6dWthbmlhOiAlcyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFMzg0OiBzZWFyY2ggaGl0IFRPUCB3aXRob3V0IG1hdGNoIGZvcjogJXMiCittc2dzdHIgIkUzODQ6IHN6dWthbmllIGRvYmnFgm8gR8OTUlkgYmV6IHpuYWxlemllbmlhOiAlcyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFMzg1OiBzZWFyY2ggaGl0IEJPVFRPTSB3aXRob3V0IG1hdGNoIGZvcjogJXMiCittc2dzdHIgIkUzODU6IHN6dWthbmllIGRvYmnFgm8gS0/Fg0NBIGJleiB6bmFsZXppZW5pYSA6ICVzIgorCittc2dpZCAiRTM4NjogRXhwZWN0ZWQgJz8nIG9yICcvJyAgYWZ0ZXIgJzsnIgorbXNnc3RyICJFMzg2OiBPY3pla3VqxJkgJz8nIGx1YiAnLycgcG8gJzsnIgorCittc2dpZCAiIChpbmNsdWRlcyBwcmV2aW91c2x5IGxpc3RlZCBtYXRjaCkiCittc2dzdHIgIiAoemF3aWVyYSBwb3ByemVkbmlvIHd5bWllbmlvbmUgZG9wYXNvd2FuaWUpIgorCisjLiBjdXJzb3IgYXQgc3RhdHVzIGxpbmUKK21zZ2lkICItLS0gSW5jbHVkZWQgZmlsZXMgIgorbXNnc3RyICItLS0gWmF3YXJ0ZSBwbGlraSAiCisKK21zZ2lkICJub3QgZm91bmQgIgorbXNnc3RyICJuaWUgem5hbGV6aW9ubyIKKworbXNnaWQgImluIHBhdGggLS0tXG4iCittc2dzdHIgIncgdHJvcGllIC0tLVxuIgorCittc2dpZCAiICAoQWxyZWFkeSBsaXN0ZWQpIgorbXNnc3RyICIgIChKdcW8IHd5bWllbmlvbmUpIgorCittc2dpZCAiICBOT1QgRk9VTkQiCittc2dzdHIgIiAgTklFIFpOQUxFWklPTk8iCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2Nhbm5pbmcgaW5jbHVkZWQgZmlsZTogJXMiCittc2dzdHIgIlByemVnbMSFZCB3xYLEhWN6b25lZ28gcGxpa3U6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIlNlYXJjaGluZyBpbmNsdWRlZCBmaWxlICVzIgorbXNnc3RyICJQcnplc3p1a2l3YW5pZSB3xYLEhWN6b25lZ28gcGxpa3UgJXMiCisKK21zZ2lkICJFMzg3OiBNYXRjaCBpcyBvbiBjdXJyZW50IGxpbmUiCittc2dzdHIgIkUzODc6IFd6b3J6ZWMgcGFzdWplIHcgYmllxbzEhWN5bSB3aWVyc3p1IgorCittc2dpZCAiQWxsIGluY2x1ZGVkIGZpbGVzIHdlcmUgZm91bmQiCittc2dzdHIgIldzemVsa2llIHfFgsSFY3phbmUgcGxpa2kgb2RuYWxlemlvbm8iCisKK21zZ2lkICJObyBpbmNsdWRlZCBmaWxlcyIKK21zZ3N0ciAiQnJhayB3xYLEhWN6YW55Y2ggcGxpa8OzdyIKKworbXNnaWQgIkUzODg6IENvdWxkbid0IGZpbmQgZGVmaW5pdGlvbiIKK21zZ3N0ciAiRTM4ODogTmllIHpuYWxhesWCZW0gZGVmaW5pY2ppIgorCittc2dpZCAiRTM4OTogQ291bGRuJ3QgZmluZCBwYXR0ZXJuIgorbXNnc3RyICJFMzg5OiBOaWUgem5hbGF6xYJlbSB3em9yY2EiCisKK21zZ2lkICJFNzU5OiBGb3JtYXQgZXJyb3IgaW4gc3BlbGwgZmlsZSIKK21zZ3N0ciAiRTc1OTogTmllcHJhd2lkxYJvd3kgZm9ybWF0IHBsaWt1IHNwcmF3ZHphbmlhIHBpc293bmkiCisKK21zZ2lkICJFNzU4OiBUcnVuY2F0ZWQgc3BlbGwgZmlsZSIKK21zZ3N0ciAiRTc1ODogT2JjacSZdHkgcGxpayBzcHJhd2R6YW5pYSBwaXNvd25pIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIlRyYWlsaW5nIHRleHQgaW4gJXMgbGluZSAlZDogJXMiCittc2dzdHIgIlpixJlkbnkgdGVrc3QgdyAlcyB3aWVyc3ogJWQ6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkFmZml4IG5hbWUgdG9vIGxvbmcgaW4gJXMgbGluZSAlZDogJXMiCittc2dzdHIgIlphIGTFgnVnYSBuYXp3YSBhZmlrc3UgdyAlcyB3aWVyc3ogJWQ6ICVzIgorCittc2dpZCAiRTc2MTogRm9ybWF0IGVycm9yIGluIGFmZml4IGZpbGUgRk9MLCBMT1cgb3IgVVBQIgorbXNnc3RyICJFNzYxOiBCxYLEhWQgZm9ybWF0dSB3IHBsaWt1IGFmaWtzw7N3IEZPTCwgTE9XIGx1YiBVUFAiCisKK21zZ2lkICJFNzYyOiBDaGFyYWN0ZXIgaW4gRk9MLCBMT1cgb3IgVVBQIGlzIG91dCBvZiByYW5nZSIKK21zZ3N0ciAiRTc2MjogWm5hayB3IEZPTCwgTE9XIGx1YiBVUFAgamVzdCBwb3phIHphc2nEmWdpZW0iCisKK21zZ2lkICJDb21wcmVzc2luZyB3b3JkIHRyZWUuLi4iCittc2dzdHIgIktvbXByZXNqYSBkcnpld2Egc8WCw7N3Li4uIgorCittc2dpZCAiRTc1NjogU3BlbGwgY2hlY2tpbmcgaXMgbm90IGVuYWJsZWQiCittc2dzdHIgIkU3NTY6IFNwcmF3ZHphbmllIHBpc293bmkgbmllIGplc3Qgd8WCxIVjem9uZSIKKworIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBDYW5ub3QgZmluZCB3b3JkIGxpc3QgXCIlcy4lcy5zcGxcIiBvciBcIiVzLmFzY2lpLnNwbFwiIgorbXNnc3RyICJPc3RyemXFvGVuaWU6IE5pZSBtb2fEmSB6bmFsZcW6xIcgbGlzdHkgc8WCw7N3IFwiJXMuJXMuc3BsXCIgbHViIFwiJXMuYXNjaWkuc3BsXCIiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZGluZyBzcGVsbCBmaWxlIFwiJXNcIiIKK21zZ3N0ciAiT2Rjenl0dWrEmSBwbGlrIHNwcmF3ZHphbmlhIHBpc293bmkgXCIlc1wiIgorCittc2dpZCAiRTc1NzogVGhpcyBkb2VzIG5vdCBsb29rIGxpa2UgYSBzcGVsbCBmaWxlIgorbXNnc3RyICJFNzU3OiBUbyBuaWUgd3lnbMSFZGEgbmEgcGxpayBzcHJhd2R6YW5pYSBwaXNvd25pIgorCittc2dpZCAiRTc3MTogT2xkIHNwZWxsIGZpbGUsIG5lZWRzIHRvIGJlIHVwZGF0ZWQiCittc2dzdHIgIkU3NzE6IFN0YXJ5IHBsaWsgc3ByYXdkemFuaWEgcGlzb3duaSwgd3ltYWdhbmUgdWFrdHVhbG5pZW5pZSIKKworbXNnaWQgIkU3NzI6IFNwZWxsIGZpbGUgaXMgZm9yIG5ld2VyIHZlcnNpb24gb2YgVmltIgorbXNnc3RyICJFNzcyOiBQbGlrIHNwcmF3ZHphbmlhIHBpc293bmkgZGxhIG5vd3N6ZWogd2Vyc2ppIFZpbWEiCisKK21zZ2lkICJFNzcwOiBVbnN1cHBvcnRlZCBzZWN0aW9uIGluIHNwZWxsIGZpbGUiCittc2dzdHIgIkU3NzA6IE5pZXdzcGllcmFuYSBzZWtjamEgdyBwbGlrdSBzcHJhd2R6YW5pYSBwaXNvd25pIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IHJlZ2lvbiAlcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICJPc3RyemXFvGVuaWU6IHJlZ2lvbiAlcyBuaWUgamVzdCB3c3BpZXJhbnkiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZGluZyBhZmZpeCBmaWxlICVzIC4uLiIKK21zZ3N0ciAiQ3p5dGFtIHBsaWsgYWZpa3PDs3cgJXMgLi4uIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvbnZlcnNpb24gZmFpbHVyZSBmb3Igd29yZCBpbiAlcyBsaW5lICVkOiAlcyIKK21zZ3N0ciAiS29ud2Vyc2phIG5pZSBwb3dpb2TFgmEgc2nEmSBkbGEgd3lyYXp1IHcgJXMgd2llcnN6dSAlZDogJXMiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ29udmVyc2lvbiBpbiAlcyBub3Qgc3VwcG9ydGVkOiBmcm9tICVzIHRvICVzIgorbXNnc3RyICJLb253ZXJzamEgdyAlcyBuaWUgamVzdCB3c3BpZXJhbmE6IG9kICVzIGRvICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvbnZlcnNpb24gaW4gJXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiS29ud2Vyc2phIHcgJXMgbmllIGplc3Qgd3NwaWVyYW5hIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgdmFsdWUgZm9yIEZMQUcgaW4gJXMgbGluZSAlZDogJXMiCittc2dzdHIgIk5pZXByYXdpZMWCb3dhIHdhcnRvxZvEhyBGTEFHIHcgJXMgd2llcnogJWQ6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkZMQUcgYWZ0ZXIgdXNpbmcgZmxhZ3MgaW4gJXMgbGluZSAlZDogJXMiCittc2dzdHIgIkZMQUcgcG8gdcW8eWNpdSBmbGFnIHcgJXMgd2llcnN6ICVkOiAlcyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJXcm9uZyBDT01QT1VORFdPUkRNQVggdmFsdWUgaW4gJXMgbGluZSAlZDogJXMiCittc2dzdHIgIlrFgmEgd2FydG/Fm8SHIENPTVBPVU5EV09SRE1BWCB3ICVzIHdpZXJzeiAlZDogJXMiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiV3JvbmcgQ09NUE9VTkRNSU4gdmFsdWUgaW4gJXMgbGluZSAlZDogJXMiCittc2dzdHIgIlrFgmEgd2FydG/Fm8SHIENPTVBPVU5ETUlNIHcgJXMgd2llcnN6ICVkOiAlcyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJXcm9uZyBDT01QT1VORFNZTE1BWCB2YWx1ZSBpbiAlcyBsaW5lICVkOiAlcyIKK21zZ3N0ciAiWsWCYSB3YXJ0b8WbxIcgQ09NUE9VTkRTWUxNQVggdyAlcyB3aWVyc3ogJWQ6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIldyb25nIENIRUNLQ09NUE9VTkRQQVRURVJOIHZhbHVlIGluICVzIGxpbmUgJWQ6ICVzIgorbXNnc3RyICJaxYJhIHdhcnRvxZvEhyBDSEVDS0NPTVBPVU5EUEFUVEVSTiB3ICVzIHdpZXJzeiAlZDogJXMiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlmZmVyZW50IGNvbWJpbmluZyBmbGFnIGluIGNvbnRpbnVlZCBhZmZpeCBibG9jayBpbiAlcyBsaW5lICVkOiAlcyIKK21zZ3N0ciAiUsOzxbxuZSBmbGFnaSB6xYJvxbxlxYQgdyBrb250eW51b3dhbnltIGJsb2t1IGFmaWtzdSB3ICVzIHdpZXJzeiAlZDogJXMiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRHVwbGljYXRlIGFmZml4IGluICVzIGxpbmUgJWQ6ICVzIgorbXNnc3RyICJQb3d0w7Nyem9ueSBhZmlrcyB3ICVzIHdpZXJzeiAlZDogJXMiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkFmZml4IGFsc28gdXNlZCBmb3IgQkFEL1JBUkUvS0VFUENBU0UvTkVFREFGRklYL05FRURDT01QT1VORC9OT1NVR0dFU1QgaW4gJXMgIgorImxpbmUgJWQ6ICVzIgorbXNnc3RyICJBZmlrcyB1xbx5dHkgdGFrxbxlIGRsYSBCQUQvUkFSRS9LRUVQQ0FTRS9ORUVEQUZGSVgvTkVFRENPTVBPVU5EL05PU1VHR0VTVCB3ICVzIHdpZXJzeiAlZDogJXMiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXhwZWN0ZWQgWSBvciBOIGluICVzIGxpbmUgJWQ6ICVzIgorbXNnc3RyICJPY3pla2l3YW5vIFkgbHViIE4gdyAlcyB3aWVyc3p1ICVkOiAlcyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJCcm9rZW4gY29uZGl0aW9uIGluICVzIGxpbmUgJWQ6ICVzIgorbXNnc3RyICJCxYLEmWRueSB3YXJ1bmVrIHcgJXMgd2llcnN6ICVkOiAlcyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJBZmZpeCBmbGFncyBpZ25vcmVkIHdoZW4gUEZYUE9TVFBPTkUgdXNlZCBpbiAlcyBsaW5lICVkOiAlcyIKK21zZ3N0ciAiRmxhZ2kgYWZpa3PDs3cgemlnbm9yb3dhbmUga2llZHkgdcW8eXRvIFBGWFBPU1RQT05FIHcgJXMgd2llcnogJWQ6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkV4cGVjdGVkIFJFUChTQUwpIGNvdW50IGluICVzIGxpbmUgJWQiCittc2dzdHIgIk9jemVraXdhbm8gaWxvxZtjaSBSRVAoU0FMKSB3ICVzIHdpZXJzenUgJWQiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXhwZWN0ZWQgTUFQIGNvdW50IGluICVzIGxpbmUgJWQiCittc2dzdHIgIk9jemVraXdhbm8gaWxvxZtjaSBNQVAgdyAlcyB3aWVyc3p1ICVkIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkR1cGxpY2F0ZSBjaGFyYWN0ZXIgaW4gTUFQIGluICVzIGxpbmUgJWQiCittc2dzdHIgIlBvd3TDs3J6b255IHpuYWsgdyBNQVAgdyAlcyB3aWVyc3p1ICVkIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIlVucmVjb2duaXplZCBvciBkdXBsaWNhdGUgaXRlbSBpbiAlcyBsaW5lICVkOiAlcyIKK21zZ3N0ciAiTmllem5hbnkgbHViIHBvd3TDs3J6b255IGVsZW1lbnQgdyAlcyB3aWVyc3p1ICVkOiAlcyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJNaXNzaW5nIEZPTC9MT1cvVVBQIGxpbmUgaW4gJXMiCittc2dzdHIgIkJyYWsgd2llcnN6YSBGT0wvTE9XL1VQUCB3ICVzIgorCittc2dpZCAiQ09NUE9VTkRTWUxNQVggdXNlZCB3aXRob3V0IFNZTExBQkxFIgorbXNnc3RyICJDT01QT1VORFNZTE1BWCB1xbx5dHkgYmV6IFNZTExBQkxFIgorCittc2dpZCAiVG9vIG1hbnkgcG9zdHBvbmVkIHByZWZpeGVzIgorbXNnc3RyICJaYnl0IHdpZWxlIG9ww7PFum5pb255Y2ggcHJlZmlrc8OzdyIKKworbXNnaWQgIlRvbyBtYW55IGNvbXBvdW5kIGZsYWdzIgorbXNnc3RyICJaYnl0IHdpZWxlIGZsYWcgesWCb8W8ZcWEIgorCittc2dpZCAiVG9vIG1hbnkgcG9zcG9uZWQgcHJlZml4ZXMgYW5kL29yIGNvbXBvdW5kIGZsYWdzIgorbXNnc3RyICJaYnl0IHdpZWxlIG9ww7PFum5pb255Y2ggcHJlZmlrc8OzdyBpL2x1YiBmbGFnIHrFgm/FvGXFhCIKKworIywgYy1mb3JtYXQKK21zZ2lkICJNaXNzaW5nIFNPRk8lcyBsaW5lIGluICVzIgorbXNnc3RyICJCcmFrIHdpZXJzemEgU09GTyVzIHdpZXJzeiB3ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkJvdGggU0FMIGFuZCBTT0ZPIGxpbmVzIGluICVzIgorbXNnc3RyICJXaWVyc3plIFNBTCBpIFNPRk8gdyAlcyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJGbGFnIGlzIG5vdCBhIG51bWJlciBpbiAlcyBsaW5lICVkOiAlcyIKK21zZ3N0ciAiRmxhZ2EgbmllIGplc3QgbGljemLEhSB3ICVzIHdpZXJzeiAlZDogJXMiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWxsZWdhbCBmbGFnIGluICVzIGxpbmUgJWQ6ICVzIgorbXNnc3RyICJOaWVwcmF3aWTFgm93YSBmbGFnYSB3ICVzIHdpZXJzeiAlZDogJXMiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdmFsdWUgZGlmZmVycyBmcm9tIHdoYXQgaXMgdXNlZCBpbiBhbm90aGVyIC5hZmYgZmlsZSIKK21zZ3N0ciAiV2FydG/Fm8SHICVzIHLDs8W8bmkgc2nEmSBvZCB0ZWogdcW8eXRlaiB3IGlubnltIHBsaWt1IC5hZmYiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZGluZyBkaWN0aW9uYXJ5IGZpbGUgJXMgLi4uIgorbXNnc3RyICJDenl0YW0gcGxpayBzxYJvd25pa2EgJXMgLi4uIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkU3NjA6IE5vIHdvcmQgY291bnQgaW4gJXMiCittc2dzdHIgIkU3NjA6IEJyYWsgaWxvxZtjaSBzxYLDs3cgdyAlcyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJsaW5lICU2ZCwgd29yZCAlNmQgLSAlcyIKK21zZ3N0ciAid2llcnN6ICU2ZCwgc8WCb3dvICU2ZCAtICVzIgorCisjIGMtZm9ybWF0CisjLCBjLWZvcm1hdAorbXNnaWQgIkR1cGxpY2F0ZSB3b3JkIGluICVzIGxpbmUgJWQ6ICVzIgorbXNnc3RyICJQb3d0w7Nyem9ueSB3eXJheiB3ICVzIHdpZXJzenUgJWQ6ICVzIgorCisjIGMtZm9ybWF0CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpcnN0IGR1cGxpY2F0ZSB3b3JkIGluICVzIGxpbmUgJWQ6ICVzIgorbXNnc3RyICJQaWVyd3N6eSBwb3d0w7Nyem9ueSB3eXJheiB3ICVzIHdpZXJzeiAlZDogJXMiCisKKyMgYy1mb3JtYXQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgZHVwbGljYXRlIHdvcmQocykgaW4gJXMiCittc2dzdHIgIiVkIHBvd3TDs3J6b255KGNoKSB3eXJheijDs3cpIHcgJXMiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWdub3JlZCAlZCB3b3JkKHMpIHdpdGggbm9uLUFTQ0lJIGNoYXJhY3RlcnMgaW4gJXMiCittc2dzdHIgIlppZ25vcm93YcWCZW0gJWQgc8WCw7N3IHplIHpuYWthbWkgbmllIEFTQ0lJIHcgJXMiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZGluZyB3b3JkIGZpbGUgJXMgLi4uIgorbXNnc3RyICJPZGN6eXR1asSZIHBsaWsgd3lyYXrDs3cgJXMgLi4uIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkR1cGxpY2F0ZSAvZW5jb2Rpbmc9IGxpbmUgaWdub3JlZCBpbiAlcyBsaW5lICVkOiAlcyIKK21zZ3N0ciAiWmlnbm9yb3dhbm8gcG93dMOzcnpvbnkgd2llcnN6IC9lbmNvZGluZz0gdyAlcyB3aWVyc3p1ICVkOiAlcyIKKworIywgYy1mb3JtYXQKK21zZ2lkICIvZW5jb2Rpbmc9IGxpbmUgYWZ0ZXIgd29yZCBpZ25vcmVkIGluICVzIGxpbmUgJWQ6ICVzIgorbXNnc3RyICJaaWdub3Jvd2FubyB3aWVyc3ogL2VuY29kaW5nPSBwbyB3eXJhemllIHcgJXMgd2llcnN6dSAlZDogJXMiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRHVwbGljYXRlIC9yZWdpb25zPSBsaW5lIGlnbm9yZWQgaW4gJXMgbGluZSAlZDogJXMiCittc2dzdHIgIlBvd3TDs3J6b255IHdpZXJzeiAvcmVnaW9ucz0gemlnbm9yb3dhbm8gdyAlcyB3aWVyc3p1ICVkOiAlcyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJUb28gbWFueSByZWdpb25zIGluICVzIGxpbmUgJWQ6ICVzIgorbXNnc3RyICJaYSBkdcW8byByZWdpb27Ds3cgdyAlcyB3aWVyc3ogJWQ6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIi8gbGluZSBpZ25vcmVkIGluICVzIGxpbmUgJWQ6ICVzIgorbXNnc3RyICJ3aWVyc3ogLyB6aWdub3Jvd2FubyB3ICVzIHdpZXJzenUgJWQ6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgcmVnaW9uIG5yIGluICVzIGxpbmUgJWQ6ICVzIgorbXNnc3RyICJOaWVwcmF3aWTFgm93eSBudW1lciByZWdpb251IHcgJXMgd2llcnN6dSAlZDogJXMiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5yZWNvZ25pemVkIGZsYWdzIGluICVzIGxpbmUgJWQ6ICVzIgorbXNnc3RyICJOaWV6bmFuZSBmbGFnaSB3ICVzIHdpZXJzeiAlZDogJXMiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWdub3JlZCAlZCB3b3JkcyB3aXRoIG5vbi1BU0NJSSBjaGFyYWN0ZXJzIgorbXNnc3RyICJaaWdub3Jvd2HFgmVtICVkIHPFgsOzdyB6ZSB6bmFrYW1pIG5pZSBBU0NJSSIKKworIywgYy1mb3JtYXQKK21zZ2lkICJDb21wcmVzc2VkICVkIG9mICVkIG5vZGVzOyAlZCAoJWQlJSkgcmVtYWluaW5nIgorbXNnc3RyICJTa29tcHJlc293YW5vICVkIHogJWQgd8SZesWCw7N3OyBwb3pvc3RhamUgJWQgKCVkJSUpIgorCittc2dpZCAiUmVhZGluZyBiYWNrIHNwZWxsIGZpbGUuLi4iCittc2dzdHIgIk9kY3p5dHVqxJkgcGxpayBzcHJhd2R6YW5pYSBwaXNvd25pLi4uIgorCisjLgorIy4gKiBHbyB0aHJvdWdoIHRoZSB0cmllIG9mIGdvb2Qgd29yZHMsIHNvdW5kZm9sZCBlYWNoIHdvcmQgYW5kIGFkZCBpdCB0bworIy4gKiB0aGUgc291bmRmb2xkIHRyaWUuCisjLgorbXNnaWQgIlBlcmZvcm1pbmcgc291bmRmb2xkaW5nLi4uIgorbXNnc3RyICJXeWtvbnVqxJkga29tcHJlc2rEmSBkxbp3acSZa293xIUuLi4iCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiTnVtYmVyIG9mIHdvcmRzIGFmdGVyIHNvdW5kZm9sZGluZzogJWxkIgorbXNnc3RyICJMaWN6YmEgc8WCw7N3IHBvIGtvbXByZXNqaSBkxbp3acSZa293ZWo6ICVsZCIKKworIywgYy1mb3JtYXQKK21zZ2lkICJUb3RhbCBudW1iZXIgb2Ygd29yZHM6ICVkIgorbXNnc3RyICJDYcWCa293aXRhIGxpY3piYSBzxYLDs3c6ICVkIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIldyaXRpbmcgc3VnZ2VzdGlvbiBmaWxlICVzIC4uLiIKK21zZ3N0ciAiWmFwaXN1asSZIHBsaWsgc3VnZXN0aWkgJXMgLi4uIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkVzdGltYXRlZCBydW50aW1lIG1lbW9yeSB1c2U6ICVkIGJ5dGVzIgorbXNnc3RyICJPY3pla2l3YW5lIHp1xbx5Y2llIHBhbWnEmWNpOiAlZCBiYWp0w7N3IgorCittc2dpZCAiRTc1MTogT3V0cHV0IGZpbGUgbmFtZSBtdXN0IG5vdCBoYXZlIHJlZ2lvbiBuYW1lIgorbXNnc3RyICJFNzUxOiBOYXp3YSBwbGlrdSB3eW5pa293ZWdvIG5pZSBtb8W8ZSBiecSHIG5henfEhSByZWdpb251IgorCittc2dpZCAiRTc1NDogT25seSB1cCB0byA4IHJlZ2lvbnMgc3VwcG9ydGVkIgorbXNnc3RyICJFNzU0OiBXc3BpZXJhbSB0eWxrbyA4IHJlZ2lvbsOzdyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFNzU1OiBJbnZhbGlkIHJlZ2lvbiBpbiAlcyIKK21zZ3N0ciAiRTc1NTogTmllcHJhd2lkxYJvd3kgcmVnaW9uIHcgJXMiCisKK21zZ2lkICJXYXJuaW5nOiBib3RoIGNvbXBvdW5kaW5nIGFuZCBOT0JSRUFLIHNwZWNpZmllZCIKK21zZ3N0ciAiT3N0cnplxbxlbmllOiBva3JlxZtsb25vIHphcsOzd25vIHrFgm/FvGVuaWEgamFrIGkgTk9CUkVBSyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJXcml0aW5nIHNwZWxsIGZpbGUgJXMgLi4uIgorbXNnc3RyICJaYXBpc3VqxJkgcGxpayBzcHJhd2R6YW5pYSBwaXNvd25pICVzIC4uLiIKKworbXNnaWQgIkRvbmUhIgorbXNnc3RyICJacm9iaW9uZSEiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTc2NTogJ3NwZWxsZmlsZScgZG9lcyBub3QgaGF2ZSAlbGQgZW50cmllcyIKK21zZ3N0ciAiRTc2NTogJ3NwZWxsZmlsZScgbmllIHBvc2lhZGEgd3Bpc8OzdyAlbGQiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiV29yZCByZW1vdmVkIGZyb20gJXMiCittc2dzdHIgIlVzdW5pxJl0byBzxYJvd28geiAlcyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJXb3JkIGFkZGVkIHRvICVzIgorbXNnc3RyICJEb2Rhbm8gc8WCb3dvIGRvICVzIgorCittc2dpZCAiRTc2MzogV29yZCBjaGFyYWN0ZXJzIGRpZmZlciBiZXR3ZWVuIHNwZWxsIGZpbGVzIgorbXNnc3RyICJFNzYzOiBabmFraSB3eXJhesOzdyByw7PFvG5pxIUgc2nEmSBtacSZZHp5IHBsaWthbWkgc3ByYXdkemFuaWEgcGlzb3duaSIKKworbXNnaWQgIlNvcnJ5LCBubyBzdWdnZXN0aW9ucyIKK21zZ3N0ciAiUHJ6eWtybyBtaSwgYnJhayBwb2Rwb3dpZWR6aSIKKworIywgYy1mb3JtYXQKK21zZ2lkICJTb3JyeSwgb25seSAlbGQgc3VnZ2VzdGlvbnMiCittc2dzdHIgIlByenlrcm8gbWksIHR5bGtvICVsZCBwb2Rwb3dpZWR6aSIKKworIy4gYXZvaWQgbW9yZSBwcm9tcHQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdlIFwiJS4qc1wiIHRvOiIKK21zZ3N0ciAiWm1pZcWEIFwiJS4qc1wiIG5hOiIKKworIywgYy1mb3JtYXQKK21zZ2lkICIgPCBcIiUuKnNcIiIKK21zZ3N0ciAiIDwgXCIlLipzXCIiCisKK21zZ2lkICJFNzUyOiBObyBwcmV2aW91cyBzcGVsbCByZXBsYWNlbWVudCIKK21zZ3N0ciAiRTc1MjogQnJhayBwb3ByemVkbmljaCBwb2RtaWFuIHNwcmF3ZHphbmlhIHBpc293bmkiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTc1MzogTm90IGZvdW5kOiAlcyIKK21zZ3N0ciAiRTc1MzogTmllIHpuYWxlemlvbm86ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkU3Nzg6IFRoaXMgZG9lcyBub3QgbG9vayBsaWtlIGEgLnN1ZyBmaWxlOiAlcyIKK21zZ3N0ciAiRTc3ODogVGVuIHBsaWsgbmllIHd5Z2zEhWRhIG5hIHBsaWsgLnN1ZzogJXMiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTc3OTogT2xkIC5zdWcgZmlsZSwgbmVlZHMgdG8gYmUgdXBkYXRlZDogJXMiCittc2dzdHIgIkU3Nzk6IFN0YXJ5IHBsaWsgLnN1Zywga29uaWVjem5lIGplc3QgdWFrdHVhbG5pZW5pZTogJXMiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTc4MDogLnN1ZyBmaWxlIGlzIGZvciBuZXdlciB2ZXJzaW9uIG9mIFZpbTogJXMiCittc2dzdHIgIkU3ODA6IFBsaWsgLnN1ZyBkbGEgbm93c3plaiB3ZXJzamkgVmltYTogJXMiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTc4MTogLnN1ZyBmaWxlIGRvZXNuJ3QgbWF0Y2ggLnNwbCBmaWxlOiAlcyIKK21zZ3N0ciAiRTc4MTogUGxpayAuc3VnIG5pZSBwYXN1amUgZG8gcGxpa3UgLnNwbDogJXMiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTc4MjogZXJyb3Igd2hpbGUgcmVhZGluZyAuc3VnIGZpbGU6ICVzIgorbXNnc3RyICJFNzgyOiBCxYLEhWQgdyBjemFzaWUgb2Rjenl0dSBwbGlrdSAuc3VnOiAlcyIKKworIy4gVGhpcyBzaG91bGQgaGF2ZSBiZWVuIGNoZWNrZWQgd2hlbiBnZW5lcmF0aW5nIHRoZSAuc3BsCisjLiAqIGZpbGUuCittc2dpZCAiRTc4MzogZHVwbGljYXRlIGNoYXIgaW4gTUFQIGVudHJ5IgorbXNnc3RyICJFNzgzOiBQb2R3b2pvbnkgem5hayB3ZSB3cGlzaWUgTUFQIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkUzOTA6IElsbGVnYWwgYXJndW1lbnQ6ICVzIgorbXNnc3RyICJFMzkwOiBOaWVkb3p3b2xvbnkgYXJndW1lbnQ6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkUzOTE6IE5vIHN1Y2ggc3ludGF4IGNsdXN0ZXI6ICVzIgorbXNnc3RyICJFMzkxOiBOaWUgbWEgdGFraWVnbyBrbGFzdHJhIHNrxYJhZG5pOiAlcyIKKworbXNnaWQgIk5vIFN5bnRheCBpdGVtcyBkZWZpbmVkIGZvciB0aGlzIGJ1ZmZlciIKK21zZ3N0ciAiQnJhayBlbGVtZW50w7N3IHNrxYJhZG5pIG9rcmXFm2xvbnljaCBkbGEgdGVnbyBidWZvcmEiCisKK21zZ2lkICJzeW5jaW5nIG9uIEMtc3R5bGUgY29tbWVudHMiCittc2dzdHIgInN5bmNocm9uaXphY2phIGtvbWVudGFyenkgdyBzdHlsdSBDIgorCittc2dpZCAibm8gc3luY2luZyIKK21zZ3N0ciAiYnJhayBzeW5jaHJvbml6YWNqaSIKKworbXNnaWQgInN5bmNpbmcgc3RhcnRzICIKK21zZ3N0ciAicG9jesSFdGVrIHN5bmNocm9uaXphY2ppIgorCittc2dpZCAiIGxpbmVzIGJlZm9yZSB0b3AgbGluZSIKK21zZ3N0ciAiIHdpZXJzenkgcHJ6ZWQgZ8Ozcm7EhSBsaW5pxIUiCisKK21zZ2lkICIiCisiXG4iCisiLS0tIFN5bnRheCBzeW5jIGl0ZW1zIC0tLSIKK21zZ3N0ciAiIgorIlxuIgorIi0tLSBFbGVtZW50eSBzeW5jaHJvbml6YWNqaSBza8WCYWRuaSAtLS0iCisKK21zZ2lkICIiCisiXG4iCisic3luY2luZyBvbiBpdGVtcyIKK21zZ3N0ciAiIgorIlxuIgorInN5bmNocm9uaXp1asSZIG5hIGVsZW1lbnRhY2giCisKK21zZ2lkICIiCisiXG4iCisiLS0tIFN5bnRheCBpdGVtcyAtLS0iCittc2dzdHIgIiIKKyJcbiIKKyItLS0gRWxlbWVudHkgc2vFgmFkbmkgLS0tIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkUzOTI6IE5vIHN1Y2ggc3ludGF4IGNsdXN0ZXI6ICVzIgorbXNnc3RyICJFMzkyOiBOaWUgbWEgdGFraWVnbyBrbGFzdHJhIHNrxYJhZG5pOiAlcyIKKworbXNnaWQgIm1pbmltYWwgIgorbXNnc3RyICJtaW5pbWFsbmllICIKKworbXNnaWQgIm1heGltYWwgIgorbXNnc3RyICJtYWtzeW1hbG5pZSAiCisKK21zZ2lkICI7IG1hdGNoICIKK21zZ3N0ciAiOyBwYXN1amUgIgorCittc2dpZCAiIGxpbmUgYnJlYWtzIgorbXNnc3RyICJ6bmFrw7N3IG5vd2VnbyB3aWVyc3phIgorCittc2dpZCAiRTM5NTogY29udGFpbnMgYXJndW1lbnQgbm90IGFjY2VwdGVkIGhlcmUiCittc2dzdHIgIkUzOTU6IGFyZ3VtZW50IGNvbnRhaW5zIG5pZWRvendvbG9ueSB3IHR5bSBtaWVqc2N1IgorCittc2dpZCAiRTM5NjogY29udGFpbmVkaW4gYXJndW1lbnQgbm90IGFjY2VwdGVkIGhlcmUiCittc2dzdHIgIkUzOTY6IGFyZ3VtZW50IGNvbnRhaW5lZGluIG5pZWRvendvbG9ueSB3IHR5bSBtaWVqc2N1IgorCittc2dpZCAiRTM5MzogZ3JvdXBbdF1oZXJlIG5vdCBhY2NlcHRlZCBoZXJlIgorbXNnc3RyICJFMzkzOiBncm91cFt0XWhlcmUgbmllZG96d29sb25lIHcgdHltIG1pZWpzY3UiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTM5NDogRGlkbid0IGZpbmQgcmVnaW9uIGl0ZW0gZm9yICVzIgorbXNnc3RyICJFMzk0OiBOaWUgem5hbGF6xYJlbSBlbGVtZW50w7N3IHJlZ2lvbnUgZGxhICVzIgorCittc2dpZCAiRTM5NzogRmlsZW5hbWUgcmVxdWlyZWQiCittc2dzdHIgIkUzOTc6IFd5bWFnYW5hIG5hendhIHBsaWt1IgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkU3NDc6IE1pc3NpbmcgJ10nOiAlcyIKK21zZ3N0ciAiRTc0NzogQnJhayAnXSc6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkUzOTg6IE1pc3NpbmcgJz0nOiAlcyIKK21zZ3N0ciAiRTM5ODogQnJhayAnPSc6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkUzOTk6IE5vdCBlbm91Z2ggYXJndW1lbnRzOiBzeW50YXggcmVnaW9uICVzIgorbXNnc3RyICJFMzk5OiBaYSBtYcWCbyBhcmd1bWVudMOzdzogc3ludGF4IHJlZ2lvbiAlcyIKKworbXNnaWQgIkU0MDA6IE5vIGNsdXN0ZXIgc3BlY2lmaWVkIgorbXNnc3RyICJFNDAwOiBCcmFrIHNwZWN5ZmlrYWNqaSBrbGFzdHJhIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkU0MDE6IFBhdHRlcm4gZGVsaW1pdGVyIG5vdCBmb3VuZDogJXMiCittc2dzdHIgIkU0MDE6IEJyYWsgb2dyYW5pY3puaWthIHd6b3JjYTogJXMiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTQwMjogR2FyYmFnZSBhZnRlciBwYXR0ZXJuOiAlcyIKK21zZ3N0ciAiRTQwMjogxZptaWVjaSBwbyB3em9yY3U6ICVzIgorCittc2dpZCAiRTQwMzogc3ludGF4IHN5bmM6IGxpbmUgY29udGludWF0aW9ucyBwYXR0ZXJuIHNwZWNpZmllZCB0d2ljZSIKK21zZ3N0ciAiRTQwMzogc3ludGF4IHN5bmM6IHdpZWxva3JvdG5pZSBwb2RhbmUgd3pvcmNlIGtvbnR5bnVhY2ppIHdpZXJzemEiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTQwNDogSWxsZWdhbCBhcmd1bWVudHM6ICVzIgorbXNnc3RyICJFNDA0OiBOaWVkb3p3b2xvbmUgYXJndW1lbnR5OiAlcyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFNDA1OiBNaXNzaW5nIGVxdWFsIHNpZ246ICVzIgorbXNnc3RyICJFNDA1OiBCcmFrIHpuYWt1IHLDs3dub8WbY2k6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkU0MDY6IEVtcHR5IGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiRTQwNjogUHVzdHkgYXJndW1lbnQ6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkU0MDc6ICVzIG5vdCBhbGxvd2VkIGhlcmUiCittc2dzdHIgIkU0MDc6ICVzIGplc3QgbmllZG96d29sb25lIHcgdHltIG1pZWpzY3UiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTQwODogJXMgbXVzdCBiZSBmaXJzdCBpbiBjb250YWlucyBsaXN0IgorbXNnc3RyICJFNDA4OiAlcyBtdXNpIGJ5xIcgcGllcndzemUgdyBsacWbY2llIGNvbnRhaW5zIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkU0MDk6IFVua25vd24gZ3JvdXAgbmFtZTogJXMiCittc2dzdHIgIkU0MDk6IE5pZXpuYW5hIG5hendhIGdydXB5OiAlcyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFNDEwOiBJbnZhbGlkIDpzeW50YXggc3ViY29tbWFuZDogJXMiCittc2dzdHIgIkU0MTA6IE5pZXfFgmHFm2Npd2EgcG9ka29tZW5kYSA6c3ludGF4IDogJXMiCisKK21zZ2lkICJFNjc5OiByZWN1cnNpdmUgbG9vcCBsb2FkaW5nIHN5bmNvbG9yLnZpbSIKK21zZ3N0ciAiRTY3OTogcmVrdXJzeXduYSBwxJl0bGEgd2N6eXR1asSFY2Egc3luY29sb3IudmltIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkU0MTE6IGhpZ2hsaWdodCBncm91cCBub3QgZm91bmQ6ICVzIgorbXNnc3RyICJFNDExOiBuaWUgem5hbGV6aW9ubyBncnVweSBwb2TFm3dpZXRsYW5pYTogJXMiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTQxMjogTm90IGVub3VnaCBhcmd1bWVudHM6IFwiOmhpZ2hsaWdodCBsaW5rICVzXCIiCittc2dzdHIgIkU0MTI6IFpieXQgbWHFgm8gYXJndW1lbnTDs3c6IFwiOmhpZ2hsaWdodCBsaW5rICVzXCIiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTQxMzogVG9vIG1hbnkgYXJndW1lbnRzOiBcIjpoaWdobGlnaHQgbGluayAlc1wiIgorbXNnc3RyICJFNDEzOiBaYnl0IHdpZWxlIGFyZ3VtZW50w7N3OiBcIjpoaWdobGlnaHQgbGluayAlc1wiIgorCittc2dpZCAiRTQxNDogZ3JvdXAgaGFzIHNldHRpbmdzLCBoaWdobGlnaHQgbGluayBpZ25vcmVkIgorbXNnc3RyICJFNDE0OiBncnVwYSBtYSB1c3Rhd2llbmlhOyB6aWdub3Jvd2FuZSBwb2TFgsSFY3plbmllIHBvZMWbd2lldGxhbmlhIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkU0MTU6IHVuZXhwZWN0ZWQgZXF1YWwgc2lnbjogJXMiCittc2dzdHIgIkU0MTU6IG5pZW9jemVraXdhbnkgem5hayByw7N3bm/Fm2NpOiAlcyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFNDE2OiBtaXNzaW5nIGVxdWFsIHNpZ246ICVzIgorbXNnc3RyICJFNDE2OiBicmFrIHpuYWt1IHLDs3dub8WbY2k6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkU0MTc6IG1pc3NpbmcgYXJndW1lbnQ6ICVzIgorbXNnc3RyICJFNDE3OiBicmFrIGFyZ3VtZW50dTogJXMiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTQxODogSWxsZWdhbCB2YWx1ZTogJXMiCittc2dzdHIgIkU0MTg6IE5pZWRvendvbG9uYSB3YXJ0b8WbxIc6ICVzIgorCittc2dpZCAiRTQxOTogRkcgY29sb3IgdW5rbm93biIKK21zZ3N0ciAiRTQxOTogS29sb3IgRkcgbmllem5hbnkiCisKK21zZ2lkICJFNDIwOiBCRyBjb2xvciB1bmtub3duIgorbXNnc3RyICJFNDIwOiBLb2xvciBCRyBuaWV6bmFueSIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFNDIxOiBDb2xvciBuYW1lIG9yIG51bWJlciBub3QgcmVjb2duaXplZDogJXMiCittc2dzdHIgIkU0MjE6IE5hendhIGx1YiBsaWN6YmEga29sb3J1IG5pZXJvenBvem5hbmE6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkU0MjI6IHRlcm1pbmFsIGNvZGUgdG9vIGxvbmc6ICVzIgorbXNnc3RyICJFNDIyOiB6YSBkxYJ1Z2kga29kIHRlcm1pbmFsYTogJXMiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTQyMzogSWxsZWdhbCBhcmd1bWVudDogJXMiCittc2dzdHIgIkU0MjM6IE5pZWRvendvbG9ueSBhcmd1bWVudDogJXMiCisKK21zZ2lkICJFNDI0OiBUb28gbWFueSBkaWZmZXJlbnQgaGlnaGxpZ2h0aW5nIGF0dHJpYnV0ZXMgaW4gdXNlIgorbXNnc3RyICJFNDI0OiBaYnl0IHdpZWxlIHLDs8W8bnljaCBhdHJ5YnV0w7N3IHBvZGtyZcWbbGFuaWEgdyB1xbx5Y2l1IgorCittc2dpZCAiRTY2OTogVW5wcmludGFibGUgY2hhcmFjdGVyIGluIGdyb3VwIG5hbWUiCittc2dzdHIgIkU2Njk6IE5pZWRydWtvd2Fsbnkgem5hayB3IG5hendpZSBncnVweSIKKworbXNnaWQgIlcxODogSW52YWxpZCBjaGFyYWN0ZXIgaW4gZ3JvdXAgbmFtZSIKK21zZ3N0ciAiVzE4OiBuaWVwcmF3aWTFgm93eSB6bmFrIHcgbmF6d2llIGdydXB5IgorCittc2dpZCAiRTU1NTogYXQgYm90dG9tIG9mIHRhZyBzdGFjayIKK21zZ3N0ciAiRTU1NTogbmEgZG9sZSBzdG9zdSB6bmFjem5pa8OzdyIKKworbXNnaWQgIkU1NTY6IGF0IHRvcCBvZiB0YWcgc3RhY2siCittc2dzdHIgIkU1NTY6IG5hIGfDs3J6ZSBzdG9zdSB6bmFjem5pa8OzdyIKKworbXNnaWQgIkU0MjU6IENhbm5vdCBnbyBiZWZvcmUgZmlyc3QgbWF0Y2hpbmcgdGFnIgorbXNnc3RyICJFNDI1OiBOaWUgbW/FvG5hIHByemVqxZvEhyBwcnplZCBwaWVyd3N6eSBwYXN1asSFY3kgem5hY3puaWsiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTQyNjogdGFnIG5vdCBmb3VuZDogJXMiCittc2dzdHIgIkU0MjY6IG5pZSB6bmFsZXppb25vIHpuYWN6bmlrYTogJXMiCisKK21zZ2lkICIgICMgcHJpIGtpbmQgdGFnIgorbXNnc3RyICIgICMgcHJpIHJvZHphaiB6bmFjem5payIKKworbXNnaWQgImZpbGVcbiIKK21zZ3N0ciAicGxpa1xuIgorCittc2dpZCAiRTQyNzogVGhlcmUgaXMgb25seSBvbmUgbWF0Y2hpbmcgdGFnIgorbXNnc3RyICJFNDI3OiBQYXN1amUgdHlsa28gamVkZW4gem5hY3puaWsiCisKK21zZ2lkICJFNDI4OiBDYW5ub3QgZ28gYmV5b25kIGxhc3QgbWF0Y2hpbmcgdGFnIgorbXNnc3RyICJFNDI4OiBOaWUgbW/FvG5hIHByemVqxZvEhyB6YSBvc3RhdG5pIHBhc3VqxIVjeSB6bmFjem5payIKKworIywgYy1mb3JtYXQKK21zZ2lkICJGaWxlIFwiJXNcIiBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiUGxpayBcIiVzXCIgbmllIGlzdG5pZWplIgorCisjLiBHaXZlIGFuIGluZGljYXRpb24gb2YgdGhlIG51bWJlciBvZiBtYXRjaGluZyB0YWdzCisjLCBjLWZvcm1hdAorbXNnaWQgInRhZyAlZCBvZiAlZCVzIgorbXNnc3RyICJ6bmFjem5payAlZCB6ICVkJXMiCisKK21zZ2lkICIgb3IgbW9yZSIKK21zZ3N0ciAiIGx1YiB3acSZY2VqIgorCittc2dpZCAiICBVc2luZyB0YWcgd2l0aCBkaWZmZXJlbnQgY2FzZSEiCittc2dzdHIgIiAgVcW8eXdhbSB6bmFjem5pa2EgbyBvZG1pZW5uZWogd2llbGtvxZtjaSBsaXRlciEiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTQyOTogRmlsZSBcIiVzXCIgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIkU0Mjk6IFBsaWsgXCIlc1wiIG5pZSBpc3RuaWVqZSIKKworIy4gSGlnaGxpZ2h0IHRpdGxlCittc2dpZCAiIgorIlxuIgorIiAgIyBUTyB0YWcgICAgICAgICBGUk9NIGxpbmUgIGluIGZpbGUvdGV4dCIKK21zZ3N0ciAiIgorIlxuIgorIiAgIyBETyB6bmFjem5payAgT0Qgd2llcnN6YSAgICAgIHcgcGxpa3UvdGVrxZtjaWUiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VhcmNoaW5nIHRhZ3MgZmlsZSAlcyIKK21zZ3N0ciAiU3p1a2FtIHcgcGxpa3Ugem5hY3puaWvDs3cgJXMiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTQzMDogVGFnIGZpbGUgcGF0aCB0cnVuY2F0ZWQgZm9yICVzXG4iCittc2dzdHIgIkU0MzA6IFRyb3Agc3p1a2FuaWEgcGxpa3Ugem5hY3puaWvDs3cgb2JjacSZdHkgZGxhICVzXG4iCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTQzMTogRm9ybWF0IGVycm9yIGluIHRhZ3MgZmlsZSBcIiVzXCIiCittc2dzdHIgIkU0MzE6IELFgsSFZCBmb3JtYXR1IHcgcGxpa3Ugem5hY3puaWvDs3cgXCIlc1wiIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkJlZm9yZSBieXRlICVsZCIKK21zZ3N0ciAiUHJ6ZWQgYmFqdGVtICVsZCIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFNDMyOiBUYWdzIGZpbGUgbm90IHNvcnRlZDogJXMiCittc2dzdHIgIkU0MzI6IFBsaWsgem5hY3puaWvDs3cgbmlldXBvcnrEhWRrb3dhbnk6ICVzIgorCisjLiBuZXZlciBvcGVuZWQgYW55IHRhZ3MgZmlsZQorbXNnaWQgIkU0MzM6IE5vIHRhZ3MgZmlsZSIKK21zZ3N0ciAiRTQzMzogQnJhayBwbGlrdSB6bmFjem5pa8OzdyIKKworbXNnaWQgIkU0MzQ6IENhbid0IGZpbmQgdGFnIHBhdHRlcm4iCittc2dzdHIgIkU0MzQ6IE5pZSBtb2fEmSB6bmFsZcW6xIcgd3pvcmNhIHpuYWN6bmlrYSIKKworbXNnaWQgIkU0MzU6IENvdWxkbid0IGZpbmQgdGFnLCBqdXN0IGd1ZXNzaW5nISIKK21zZ3N0ciAiRTQzNTogTmllIHpuYWxhesWCZW0gem5hY3puaWthIC0gdHlsa28gemdhZHVqxJkhIgorCittc2dpZCAiJyBub3Qga25vd24uIEF2YWlsYWJsZSBidWlsdGluIHRlcm1pbmFscyBhcmU6IgorbXNnc3RyICInIG5pZXpuYW55LiBNb8W8bGl3ZSB0eXB5IHdidWRvd2FueWNoIHRlcm1pbmFsaToiCisKK21zZ2lkICJkZWZhdWx0aW5nIHRvICciCittc2dzdHIgImRvbXnFm2xuaWUgamVzdCAnIgorCittc2dpZCAiRTU1NzogQ2Fubm90IG9wZW4gdGVybWNhcCBmaWxlIgorbXNnc3RyICJFNTU3OiBOaWUgbW9nxJkgb3R3b3J6ecSHIHBsaWt1IHRlcm1jYXAiCisKK21zZ2lkICJFNTU4OiBUZXJtaW5hbCBlbnRyeSBub3QgZm91bmQgaW4gdGVybWluZm8iCittc2dzdHIgIkU1NTg6IE5pZSBtYSBvcGlzdSB0YWtpZWdvIHRlcm1pbmFsYSB3IHRlcm1pbmZvIgorCittc2dpZCAiRTU1OTogVGVybWluYWwgZW50cnkgbm90IGZvdW5kIGluIHRlcm1jYXAiCittc2dzdHIgIkU1NTk6IE5pZSBtYSBvcGlzdSB0YWtpZWdvIHRlcm1pbmFsYSB3IHRlcm1jYXAiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTQzNjogTm8gXCIlc1wiIGVudHJ5IGluIHRlcm1jYXAiCittc2dzdHIgIkU0MzY6IEJyYWsgb3Bpc3UgXCIlc1wiIHcgdGVybWNhcCIKKworbXNnaWQgIkU0Mzc6IHRlcm1pbmFsIGNhcGFiaWxpdHkgXCJjbVwiIHJlcXVpcmVkIgorbXNnc3RyICJFNDM3OiB3eW1hZ2FuYSB6ZG9sbm/Fm8SHIFwiY21cIiB0ZXJtaW5hbGEiCisKKyMuIEhpZ2hsaWdodCB0aXRsZQorbXNnaWQgIiIKKyJcbiIKKyItLS0gVGVybWluYWwga2V5cyAtLS0iCittc2dzdHIgIiIKKyJcbiIKKyItLS0gS2xhd2lzemUgdGVybWluYWxhIC0tLSIKKworbXNnaWQgIm5ldyBzaGVsbCBzdGFydGVkXG4iCittc2dzdHIgInVydWNob21pb25vIG5vd8SFIHBvd8WCb2vEmVxuIgorCittc2dpZCAiVmltOiBFcnJvciByZWFkaW5nIGlucHV0LCBleGl0aW5nLi4uXG4iCittc2dzdHIgIlZpbTogQsWCxIVkIHBvZGN6YXMgd2N6eXR5d2FuaWEgd2VqxZtjaWEsIGtvxYRjesSZLi4uXG4iCisKKyMuIG11c3QgZGlzcGxheSB0aGUgcHJvbXB0Cittc2dpZCAiTm8gdW5kbyBwb3NzaWJsZTsgY29udGludWUgYW55d2F5IgorbXNnc3RyICJDb2ZuacSZY2llIG5pZW1vxbxsaXdlOyBtaW1vIHRvIGtvbnR5bnV1asSZIgorCittc2dpZCAiQWxyZWFkeSBhdCBvbGRlc3QgY2hhbmdlIgorbXNnc3RyICJKdcW8IHcgbWllanNjdSBvc3RhdG5pZWogem1pYW55IgorCittc2dpZCAiQWxyZWFkeSBhdCBuZXdlc3QgY2hhbmdlIgorbXNnc3RyICJKdcW8IHcgbWllanNjdSBuYWpub3dzemVqIHptaWFueSIKKworIywgYy1mb3JtYXQKK21zZ2lkICJVbmRvIG51bWJlciAlbGQgbm90IGZvdW5kIgorbXNnc3RyICJOaWUgem5hbGV6aW9ubyBudW1lcnUgY29mbmnEmWNpYSAlbGQiCisKK21zZ2lkICJFNDM4OiB1X3VuZG86IGxpbmUgbnVtYmVycyB3cm9uZyIKK21zZ3N0ciAiRTQzODogdV91bmRvOiBuaWV3xYJhxZtjaXdlIG51bWVyeSB3aWVyc3p5IgorCittc2dpZCAibW9yZSBsaW5lIgorbXNnc3RyICIxIHdpZXJzeiB3acSZY2VqIgorCittc2dpZCAibW9yZSBsaW5lcyIKK21zZ3N0ciAid2nEmWNlaiB3aWVyc3p5IgorCittc2dpZCAibGluZSBsZXNzIgorbXNnc3RyICIxIHdpZXJzeiBtbmllaiIKKworbXNnaWQgImZld2VyIGxpbmVzIgorbXNnc3RyICJtbmllaiB3aWVyc3p5IgorCittc2dpZCAiY2hhbmdlIgorbXNnc3RyICIxIHptaWFuYSIKKworbXNnaWQgImNoYW5nZXMiCittc2dzdHIgInptaWFueSIKKworIywgYy1mb3JtYXQKK21zZ2lkICIlbGQgJXM7ICVzICMlbGQgICVzIgorbXNnc3RyICIlbGQgJXM7ICVzICMlbGQgICVzIgorCittc2dpZCAiYmVmb3JlIgorbXNnc3RyICJwcnplZCIKKworbXNnaWQgImFmdGVyIgorbXNnc3RyICJ6YSIKKworbXNnaWQgIk5vdGhpbmcgdG8gdW5kbyIKK21zZ3N0ciAiTmllIG1hIHptaWFuIGRvIGNvZm5pxJljaWEiCisKK21zZ2lkICJudW1iZXIgY2hhbmdlcyAgdGltZSIKK21zZ3N0ciAibGljemJhIHptaWFueSBjemFzIgorCittc2dpZCAiRTQzOTogdW5kbyBsaXN0IGNvcnJ1cHQiCittc2dzdHIgIkU0Mzk6IHVzemtvZHpvbmEgbGlzdGEgY29mYW5pYSIKKworbXNnaWQgIkU0NDA6IHVuZG8gbGluZSBtaXNzaW5nIgorbXNnc3RyICJFNDQwOiBicmFrIHdpZXJzemEgY29mYW5pYSIKKworIy4gT25seSBNUyBWQyA0LjEgYW5kIGVhcmxpZXIgY2FuIGRvIFdpbjMycworbXNnaWQgIiIKKyJcbiIKKyJNUy1XaW5kb3dzIDE2LzMyIGJpdCBHVUkgdmVyc2lvbiIKK21zZ3N0ciAiIgorIlxuIgorIjE2LzMyIGJpdG93YSB3ZXJzamEgR1VJIGRsYSBNUy1XaW5kb3dzIgorCittc2dpZCAiIgorIlxuIgorIk1TLVdpbmRvd3MgMzIgYml0IEdVSSB2ZXJzaW9uIgorbXNnc3RyICIiCisiXG4iCisiMzIgYml0b3dhIHdlcnNqYSBHVUkgZGxhIE1TLVdpbmRvd3MiCisKK21zZ2lkICIgaW4gV2luMzJzIG1vZGUiCittc2dzdHIgIiB3IHRyeWJpZSBXaW4zMnMiCisKK21zZ2lkICIgd2l0aCBPTEUgc3VwcG9ydCIKK21zZ3N0ciAiIHplIHdzcG9tYWdhbmllbSBPTEUiCisKK21zZ2lkICIiCisiXG4iCisiTVMtV2luZG93cyAzMiBiaXQgY29uc29sZSB2ZXJzaW9uIgorbXNnc3RyICIiCisiXG4iCisiMzIgYml0b3dhIHdlcnNqYSBuYSBrb25zb2zEmSBkbGEgTVMtV2luZG93cyIKKworbXNnaWQgIiIKKyJcbiIKKyJNUy1XaW5kb3dzIDE2IGJpdCB2ZXJzaW9uIgorbXNnc3RyICIiCisiXG4iCisiMTYgYml0b3dhIHdlcnNqYSBkbGEgTVMtV2luZG93cyIKKworbXNnaWQgIiIKKyJcbiIKKyIzMiBiaXQgTVMtRE9TIHZlcnNpb24iCittc2dzdHIgIiIKKyJcbiIKKyIzMiBiaXRvd2Egd2Vyc2phIGRsYSBNUy1ET1MiCisKK21zZ2lkICIiCisiXG4iCisiMTYgYml0IE1TLURPUyB2ZXJzaW9uIgorbXNnc3RyICIiCisiXG4iCisiMTYgYml0b3dhIHdlcnNqYSBkbGEgTVMtRE9TIgorCittc2dpZCAiIgorIlxuIgorIk1hY09TIFggKHVuaXgpIHZlcnNpb24iCittc2dzdHIgIiIKKyJcbiIKKyJ3ZXJzamEgZGxhIE1hY09TIFggKHVuaXgpIgorCittc2dpZCAiIgorIlxuIgorIk1hY09TIFggdmVyc2lvbiIKK21zZ3N0ciAiIgorIlxuIgorIndlcnNqYSBkbGEgTWFjT1MgWCIKKworbXNnaWQgIiIKKyJcbiIKKyJNYWNPUyB2ZXJzaW9uIgorbXNnc3RyICIiCisiXG4iCisid2Vyc2phIGRsYSBNYWNPUyIKKworbXNnaWQgIiIKKyJcbiIKKyJSSVNDIE9TIHZlcnNpb24iCittc2dzdHIgIiIKKyJcbiIKKyJ3ZXJzamEgZGxhIFJJU0MgT1MiCisKK21zZ2lkICIiCisiXG4iCisiSW5jbHVkZWQgcGF0Y2hlczogIgorbXNnc3RyICIiCisiXG4iCisiWmFkYW5lIMWCYXR5OiAiCisKK21zZ2lkICJNb2RpZmllZCBieSAiCittc2dzdHIgIlptaWVuaW9ueSBwcnpleiAiCisKK21zZ2lkICIiCisiXG4iCisiQ29tcGlsZWQgIgorbXNnc3RyICIiCisiXG4iCisiU2tvbXBpbG93YW55ICIKKworbXNnaWQgImJ5ICIKK21zZ3N0ciAicHJ6ZXogIgorCittc2dpZCAiIgorIlxuIgorIkh1Z2UgdmVyc2lvbiAiCittc2dzdHIgIiIKKyJcbiIKKyJPbGJyenltaWEgd2Vyc2phICIKKworbXNnaWQgIiIKKyJcbiIKKyJCaWcgdmVyc2lvbiAiCittc2dzdHIgIiIKKyJcbiIKKyJEdcW8YSB3ZXJzamEgIgorCittc2dpZCAiIgorIlxuIgorIk5vcm1hbCB2ZXJzaW9uICIKK21zZ3N0ciAiIgorIlxuIgorIk5vcm1hbG5hIHdlcnNqYSAiCisKK21zZ2lkICIiCisiXG4iCisiU21hbGwgdmVyc2lvbiAiCittc2dzdHIgIiIKKyJcbiIKKyJNYcWCYSB3ZXJzamEgIgorCittc2dpZCAiIgorIlxuIgorIlRpbnkgdmVyc2lvbiAiCittc2dzdHIgIiIKKyJcbiIKKyJNYWx1dGthIHdlcnNqYSAiCisKK21zZ2lkICJ3aXRob3V0IEdVSS4iCittc2dzdHIgImJleiBHVUkuIgorCittc2dpZCAid2l0aCBHVEsyLUdOT01FIEdVSS4iCittc2dzdHIgInogR1RLMi1HTk9NRSBHVUkuIgorCittc2dpZCAid2l0aCBHVEstR05PTUUgR1VJLiIKK21zZ3N0ciAieiBHVEstR05PTUUgR1VJLiIKKworbXNnaWQgIndpdGggR1RLMiBHVUkuIgorbXNnc3RyICJ6IEdUSzIgR1VJLiIKKworbXNnaWQgIndpdGggR1RLIEdVSS4iCittc2dzdHIgInogR1RLIEdVSS4iCisKK21zZ2lkICJ3aXRoIFgxMS1Nb3RpZiBHVUkuIgorbXNnc3RyICJ6IFgxMS1Nb3RpZiBHVUkuIgorCittc2dpZCAid2l0aCBYMTEtbmVYdGF3IEdVSS4iCittc2dzdHIgInogWDExLW5lWHRhdyBHVUkuIgorCittc2dpZCAid2l0aCBYMTEtQXRoZW5hIEdVSS4iCittc2dzdHIgInogWDExLUF0aGVuYSBHVUkuIgorCittc2dpZCAid2l0aCBQaG90b24gR1VJLiIKK21zZ3N0ciAieiBQaG90b24gR1VJLiIKKworbXNnaWQgIndpdGggR1VJLiIKK21zZ3N0ciAieiBHVUkuIgorCittc2dpZCAid2l0aCBDYXJib24gR1VJLiIKK21zZ3N0ciAieiBDYXJib24gR1VJLiIKKworbXNnaWQgIndpdGggQ29jb2EgR1VJLiIKK21zZ3N0ciAieiBDb2NvYSBHVUkuIgorCittc2dpZCAid2l0aCAoY2xhc3NpYykgR1VJLiIKK21zZ3N0ciAieiAoa2xhc3ljem55bSkgR1VJLiIKKworbXNnaWQgIiAgRmVhdHVyZXMgaW5jbHVkZWQgKCspIG9yIG5vdCAoLSk6XG4iCittc2dzdHIgIiAgT3BjamUgd8WCxIVjem9uZSAoKykgbHViIG5pZSAoLSk6XG4iCisKK21zZ2lkICIgICBzeXN0ZW0gdmltcmMgZmlsZTogXCIiCittc2dzdHIgIiAgICAgICB2aW1yYyBzeXN0ZW11OiBcIiIKKworbXNnaWQgIiAgICAgdXNlciB2aW1yYyBmaWxlOiBcIiIKK21zZ3N0ciAiICAgdmltcmMgdcW8eXRrb3duaWthOiBcIiIKKworbXNnaWQgIiAybmQgdXNlciB2aW1yYyBmaWxlOiBcIiIKK21zZ3N0ciAiIDItZ2kgcGxpayB2aW1yYyB1xbx5dGtvd25pa2E6IFwiIgorCittc2dpZCAiIDNyZCB1c2VyIHZpbXJjIGZpbGU6IFwiIgorbXNnc3RyICIgMy1jaSBwbGlrIHZpbXJjIHXFvHl0a293bmlrYTogXCIiCisKK21zZ2lkICIgICAgICB1c2VyIGV4cmMgZmlsZTogXCIiCittc2dzdHIgIiAgICBleHJjIHXFvHl0a293bmlrYTogXCIiCisKK21zZ2lkICIgIDJuZCB1c2VyIGV4cmMgZmlsZTogXCIiCittc2dzdHIgIiAgMi1naSBwbGlrIGV4cmMgdcW8eXRrb3duaWthOiBcIiIKKworbXNnaWQgIiAgc3lzdGVtIGd2aW1yYyBmaWxlOiBcIiIKK21zZ3N0ciAiICAgICBndmltcmMgc3lzdGVtdTogXCIiCisKK21zZ2lkICIgICAgdXNlciBndmltcmMgZmlsZTogXCIiCittc2dzdHIgIiAgZ3ZpbXJjIHXFvHl0a293bmlrYTogXCIiCisKK21zZ2lkICIybmQgdXNlciBndmltcmMgZmlsZTogXCIiCittc2dzdHIgIjItZ2kgcGxpayBndmltcmMgdcW8eXRrb3duaWthOiBcIiIKKworbXNnaWQgIjNyZCB1c2VyIGd2aW1yYyBmaWxlOiBcIiIKK21zZ3N0ciAiMy1jaSBwbGlrIGd2aW1yYyB1xbx5dGtvd25pa2E6IFwiIgorCittc2dpZCAiICAgIHN5c3RlbSBtZW51IGZpbGU6IFwiIgorbXNnc3RyICIgc3lzdGVtb3d5IHBsaWsgbWVudTogXCIiCisKK21zZ2lkICIgIGZhbGwtYmFjayBmb3IgJFZJTTogXCIiCittc2dzdHIgIiAgIG9kd2V0IGRsYSAkVklNLWE6IFwiIgorCittc2dpZCAiIGYtYiBmb3IgJFZJTVJVTlRJTUU6IFwiIgorbXNnc3RyICJmLWIgZGxhICRWSU1SVU5USU1FOiBcIiIKKworbXNnaWQgIkNvbXBpbGF0aW9uOiAiCittc2dzdHIgIktvbXBpbGFjamE6ICIKKworbXNnaWQgIkNvbXBpbGVyOiAiCittc2dzdHIgIktvbXBpbGF0b3I6ICIKKworbXNnaWQgIkxpbmtpbmc6ICIKK21zZ3N0ciAiS29uc29saWRhY2phOiAiCisKK21zZ2lkICIgIERFQlVHIEJVSUxEIgorbXNnc3RyICIgIEtPTVBJTEFDSkEgREVCVUciCisKK21zZ2lkICJWSU0gLSBWaSBJTXByb3ZlZCIKK21zZ3N0ciAiVklNIC0gVmkgcm96YnVkb3dhbnkiCisKK21zZ2lkICJ2ZXJzaW9uICIKK21zZ3N0ciAid2Vyc2phICIKKworbXNnaWQgImJ5IEJyYW0gTW9vbGVuYWFyIGV0IGFsLiIKK21zZ3N0ciAiQXV0b3I6IEJyYW0gTW9vbGVuYWFyIGkgSW5uaS4iCisKK21zZ2lkICJWaW0gaXMgb3BlbiBzb3VyY2UgYW5kIGZyZWVseSBkaXN0cmlidXRhYmxlIgorbXNnc3RyICJWaW0gamVzdCBvcGVuIHNvdXJjZSBpIHJvenByb3dhZHphbnkgZGFybW93byIKKworbXNnaWQgIkhlbHAgcG9vciBjaGlsZHJlbiBpbiBVZ2FuZGEhIgorbXNnc3RyICJQb23Ds8W8IGJpZWRueW0gZHppZWNpb20gdyBVZ2FuZHppZSEiCisKK21zZ2lkICJ0eXBlICA6aGVscCBpY2NmPEVudGVyPiAgICAgICBmb3IgaW5mb3JtYXRpb24gIgorbXNnc3RyICJ3cHJvd2FkxbogOmhlbHAgaWNjZjxFbnRlcj4gICAgICAgIGRsYSBpbmZvcm1hY2ppIG8gdHltICAiCisKK21zZ2lkICJ0eXBlICA6cTxFbnRlcj4gICAgICAgICAgICAgICB0byBleGl0ICAgICAgICAgIgorbXNnc3RyICJ3cHJvd2FkxbogOnE8RW50ZXI+ICAgICAgICAgICAgICAgIHpha2/FhGN6ZW5pZSBwcm9ncmFtdSAgICIKKworbXNnaWQgInR5cGUgIDpoZWxwPEVudGVyPiAgb3IgIDxGMT4gIGZvciBvbi1saW5lIGhlbHAiCittc2dzdHIgIndwcm93YWTFuiA6aGVscDxFbnRlcj4gIGx1YiAgPEYxPiAgcG9tb2MgbmEgYmllxbzEhWNvICAgICAgICIKKworbXNnaWQgInR5cGUgIDpoZWxwIHZlcnNpb243PEVudGVyPiAgIGZvciB2ZXJzaW9uIGluZm8iCittc2dzdHIgIndwcm93YWTFuiA6aGVscCB2ZXJzaW9uNzxFbnRlcj4gICAgZGxhIGluZm9ybWFjamkgbyB3ZXJzamkiCisKK21zZ2lkICJSdW5uaW5nIGluIFZpIGNvbXBhdGlibGUgbW9kZSIKK21zZ3N0ciAiRHppYcWCYW0gdyB0cnliaWUgemdvZG5vxZtjaSB6IFZpIgorCittc2dpZCAidHlwZSAgOnNldCBub2NwPEVudGVyPiAgICAgICAgZm9yIFZpbSBkZWZhdWx0cyIKK21zZ3N0ciAid3Byb3dhZMW6IDpzZXQgbm9jcDxFbnRlcj4gICAgICAgICB3YXJ0b8WbY2kgZG9tecWbbG5lIFZpbS1hIgorCittc2dpZCAidHlwZSAgOmhlbHAgY3AtZGVmYXVsdDxFbnRlcj4gZm9yIGluZm8gb24gdGhpcyIKK21zZ3N0ciAid3Byb3dhZMW6IDpoZWxwIGNwLWRlZmF1bHQ8RW50ZXI+ICBkbGEgaW5mb3JtYWNqaSB0byB0eW0gICIKKworbXNnaWQgIm1lbnUgIEhlbHAtPk9ycGhhbnMgICAgICAgICAgIGZvciBpbmZvcm1hdGlvbiAgICAiCittc2dzdHIgIndwcm93YWTFuiA6aGVscCBpY2NmPEVudGVyPiAgICAgICAgZGxhIGluZm9ybWFjamkgdG8gdHltICAiCisKK21zZ2lkICJSdW5uaW5nIG1vZGVsZXNzLCB0eXBlZCB0ZXh0IGlzIGluc2VydGVkIgorbXNnc3RyICJVcnVjaG9taW9ueSBiZXogdHJ5YsOzdywgd3Bpc2FueSB0ZWtzdCBqZXN0IHdwcm93YWR6YW55IgorCittc2dpZCAibWVudSAgRWRpdC0+R2xvYmFsIFNldHRpbmdzLT5Ub2dnbGUgSW5zZXJ0IE1vZGUgICIKK21zZ3N0ciAibWVudSAgRWR5dHVqLT5Vc3Rhd2llbmlhIGdsb2JhbG5lLT5UcnliIHdzdGF3aWFuaWEiCisKK21zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgdHdvIG1vZGVzICAgICAgIgorbXNnc3RyICIgICAgICAgICAgICAgICAgICBkbGEgZHfDs2NoIHRyeWLDs3cgICAgICAgICAgICIKKworbXNnaWQgIm1lbnUgIEVkaXQtPkdsb2JhbCBTZXR0aW5ncy0+VG9nZ2xlIFZpIENvbXBhdGlibGUiCittc2dzdHIgIm1lbnUgRWR5dHVqLT5Vc3Rhd2llbmlhIGdsb2JhbG5lLT5Lb21wYXR5Ymlsbm/Fm8SHIHogVmkiCisKK21zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgVmltIGRlZmF1bHRzICAgIgorbXNnc3RyICIgICAgIGRsYSBkb215xZtsbnljaCB1c3Rhd2llxYQgVmltYSAgICIKKworbXNnaWQgIlNwb25zb3IgVmltIGRldmVsb3BtZW50ISIKK21zZ3N0ciAiU3BvbnNvcnVqIHJvenfDs2ogVmltYSEiCisKK21zZ2lkICJCZWNvbWUgYSByZWdpc3RlcmVkIFZpbSB1c2VyISIKK21zZ3N0ciAiWm9zdGHFhCB6YXJlamVzdHJvd2FueW0gdcW8eXRrb3duaWtpZW0gVmltYSEiCisKK21zZ2lkICJ0eXBlICA6aGVscCBzcG9uc29yPEVudGVyPiAgICBmb3IgaW5mb3JtYXRpb24gIgorbXNnc3RyICJ3cHJvd2FkxbogOmhlbHAgc3BvbnNvcjxFbnRlcj4gICAgICAgIGRsYSBpbmZvcm1hY2ppIgorCittc2dpZCAidHlwZSAgOmhlbHAgcmVnaXN0ZXI8RW50ZXI+ICAgZm9yIGluZm9ybWF0aW9uICIKK21zZ3N0ciAid3Byb3dhZMW6IDpoZWxwIHJlZ2lzdGVyPEVudGVyPiAgICAgICAgZGxhIGluZm9ybWFjamkiCisKK21zZ2lkICJtZW51ICBIZWxwLT5TcG9uc29yL1JlZ2lzdGVyICBmb3IgaW5mb3JtYXRpb24gICAgIgorbXNnc3RyICJtZW51IFBvbW9jLT5TcG9uc29ydWovWmFyZWplc3RydWogc2nEmSBkbGEgaW5mb3JtYWNqaSIKKworbXNnaWQgIldBUk5JTkc6IFdpbmRvd3MgOTUvOTgvTUUgZGV0ZWN0ZWQiCittc2dzdHIgIk9TVFJaRcW7RU5JRTogd3lrcnl0byBXaW5kb3dzIDk1Lzk4L01FIgorCittc2dpZCAidHlwZSAgOmhlbHAgd2luZG93czk1PEVudGVyPiAgZm9yIGluZm8gb24gdGhpcyIKK21zZ3N0ciAid3Byb3dhZMW6IDpoZWxwIHdpbmRvd3M5NTxFbnRlcj4gICBkbGEgaW5mb3JtYWNqaSB0byB0eW0gICIKKworbXNnaWQgIkU0NDE6IFRoZXJlIGlzIG5vIHByZXZpZXcgd2luZG93IgorbXNnc3RyICJFNDQxOiBOaWUgbWEgb2tuYSBwb2RnbMSFZHUiCisKK21zZ2lkICJFNDQyOiBDYW4ndCBzcGxpdCB0b3BsZWZ0IGFuZCBib3RyaWdodCBhdCB0aGUgc2FtZSB0aW1lIgorbXNnc3RyICJFNDQyOiBOaWUgbW9nxJkgcm96ZHppZWxpxIcgbGV3by1nw7NybmVnbyBpIHByYXdvLWRvbG5lZ28gamVkbm9jemXFm25pZSIKKworbXNnaWQgIkU0NDM6IENhbm5vdCByb3RhdGUgd2hlbiBhbm90aGVyIHdpbmRvdyBpcyBzcGxpdCIKK21zZ3N0ciAiRTQ0MzogTmllIG1vZ8SZIHByemVrcsSZY2nEhywgZ2R5IGlubmUgb2tubyBqZXN0IHJvemR6aWVsb25lIgorCittc2dpZCAiRTQ0NDogQ2Fubm90IGNsb3NlIGxhc3Qgd2luZG93IgorbXNnc3RyICJFNDQ0OiBOaWUgbW9nxJkgemFta27EhcSHIG9zdGF0bmllZ28gb2tuYSIKKworbXNnaWQgIkFscmVhZHkgb25seSBvbmUgd2luZG93IgorbXNnc3RyICJKdcW8IGplc3QgdHlsa28gamVkZW4gd2lkb2siCisKK21zZ2lkICJFNDQ1OiBPdGhlciB3aW5kb3cgY29udGFpbnMgY2hhbmdlcyIKK21zZ3N0ciAiRTQ0NTogSW5uZSBva25vIHphd2llcmEgem1pYW55IgorCittc2dpZCAiRTQ0NjogTm8gZmlsZSBuYW1lIHVuZGVyIGN1cnNvciIKK21zZ3N0ciAiRTQ0NjogQnJhayBuYXp3eSBwbGlrdSBwb2Qga3Vyc29yZW0iCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTQ0NzogQ2FuJ3QgZmluZCBmaWxlIFwiJXNcIiBpbiBwYXRoIgorbXNnc3RyICJFNDQ3OiBOaWUgbW9nxJkgem5hbGXFusSHIHBsaWt1IFwiJXNcIiB3IHRyb3BpZSIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFMzcwOiBDb3VsZCBub3QgbG9hZCBsaWJyYXJ5ICVzIgorbXNnc3RyICJFMzcwOiBOaWUgbW9nxYJlbSB6YcWCYWRvd2HEhyBiaWJsaW90ZWtpICVzIgorCittc2dpZCAiU29ycnksIHRoaXMgY29tbWFuZCBpcyBkaXNhYmxlZDogdGhlIFBlcmwgbGlicmFyeSBjb3VsZCBub3QgYmUgbG9hZGVkLiIKK21zZ3N0ciAiUHJ6eWtybyBtaSwgdGEga29tZW5kYSBqZXN0IHd5xYLEhWN6b25hOiBuaWUgbW9nxYJlbSB6YcWCYWRvd2HEhyBiaWJsaW90ZWtpIFBlcmxhLiIKKworbXNnaWQgIkUyOTk6IFBlcmwgZXZhbHVhdGlvbiBmb3JiaWRkZW4gaW4gc2FuZGJveCB3aXRob3V0IHRoZSBTYWZlIG1vZHVsZSIKK21zZ3N0ciAiRTI5OTogd3lsaWN6ZW5pZSBQZXJsYSB6YWJyb25pb25lIHcgcGlhc2tvd25pY3kgYmV6IG1vZHXFgnUgU2FmZSIKKworbXNnaWQgIkVkaXQgd2l0aCAmbXVsdGlwbGUgVmltcyIKK21zZ3N0ciAiRWR5dHVqIHcgJndpZWx1IFZpbWFjaCIKKworbXNnaWQgIkVkaXQgd2l0aCBzaW5nbGUgJlZpbSIKK21zZ3N0ciAiRWR5dHVqIHcgcG9qZWR5bmN6eW0gJlZpbWllIgorCittc2dpZCAiRGlmZiB3aXRoIFZpbSIKK21zZ3N0ciAiRGlmZiB6IFZpbWVtIgorCittc2dpZCAiRWRpdCB3aXRoICZWaW0iCittc2dzdHIgIkVkeXR1aiB3ICZWaW1pZSIKKworIy4gTm93IGNvbmNhdGVuYXRlCittc2dpZCAiRWRpdCB3aXRoIGV4aXN0aW5nIFZpbSAtICIKK21zZ3N0ciAiRWR5dHVqIHogaXN0bmllasSFY3ltIFZpbWVtIC0gIgorCittc2dpZCAiRWRpdHMgdGhlIHNlbGVjdGVkIGZpbGUocykgd2l0aCBWaW0iCittc2dzdHIgIkVkeXR1aiB3eWJyYW5lIHBsaWtpIHcgVmltaWUiCisKK21zZ2lkICJFcnJvciBjcmVhdGluZyBwcm9jZXNzOiBDaGVjayBpZiBndmltIGlzIGluIHlvdXIgcGF0aCEiCittc2dzdHIgIkLFgsSFZCB0d29yemVuaWEgcHJvY2VzdTogU3ByYXdkxbogY3p5IGd2aW0gamVzdCB3IHR3b2plaiDFm2NpZcW8Y2UhIgorCittc2dpZCAiZ3ZpbWV4dC5kbGwgZXJyb3IiCittc2dzdHIgImLFgsSFZCBndmltZXh0LmRsbCIKKworbXNnaWQgIlBhdGggbGVuZ3RoIHRvbyBsb25nISIKK21zZ3N0ciAiWmEgZMWCdWdhIMWbY2llxbxrYSEiCisKK21zZ2lkICItLU5vIGxpbmVzIGluIGJ1ZmZlci0tIgorbXNnc3RyICItLUJyYWsgd2llcnN6eSB3IGJ1Zm9yemUtLSIKKworIy4KKyMuICogVGhlIGVycm9yIG1lc3NhZ2VzIHRoYXQgY2FuIGJlIHNoYXJlZCBhcmUgaW5jbHVkZWQgaGVyZS4KKyMuICogRXhjbHVkZWQgYXJlIGVycm9ycyB0aGF0IGFyZSBvbmx5IHVzZWQgb25jZSBhbmQgZGVidWdnaW5nIG1lc3NhZ2VzLgorIy4KK21zZ2lkICJFNDcwOiBDb21tYW5kIGFib3J0ZWQiCittc2dzdHIgIkU0NzA6IFByemVyd2FuaWUga29tZW5keSIKKworbXNnaWQgIkU0NzE6IEFyZ3VtZW50IHJlcXVpcmVkIgorbXNnc3RyICJFNDcxOiB3eW1hZ2FueSBhcmd1bWVudCIKKworbXNnaWQgIkUxMDogXFwgc2hvdWxkIGJlIGZvbGxvd2VkIGJ5IC8sID8gb3IgJiIKK21zZ3N0ciAiRTEwOiBwbyBcXCBwb3dpbm5vIGJ5xIcgLywgPyBsdWIgJiIKKworbXNnaWQgIkUxMTogSW52YWxpZCBpbiBjb21tYW5kLWxpbmUgd2luZG93OyA8Q1I+IGV4ZWN1dGVzLCBDVFJMLUMgcXVpdHMiCittc2dzdHIgIkUxMTogTmllZG96d29sb25lIHcgb2tuaWUgd2llcnN6YSBwb2xlY2XFhDsgPENSPiB3eWtvbnVqZSwgQ1RSTC1DIG9wdXN6Y3phIgorCittc2dpZCAiRTEyOiBDb21tYW5kIG5vdCBhbGxvd2VkIGZyb20gZXhyYy92aW1yYyBpbiBjdXJyZW50IGRpciBvciB0YWcgc2VhcmNoIgorbXNnc3RyICIiCisiRTEyOiBLb21lbmRhIG5pZWRvendvbG9uYSB6IGV4cmMvdmltcmMgdyBiaWXFvMSFY3ltIHN6dWthbml1IGthdGFsb2d1IGx1YiAiCisiem5hY3puaWthIgorCittc2dpZCAiRTE3MTogTWlzc2luZyA6ZW5kaWYiCittc2dzdHIgIkUxNzE6IEJyYWsgOmVuZGlmIgorCittc2dpZCAiRTYwMDogTWlzc2luZyA6ZW5kdHJ5IgorbXNnc3RyICJFNjAwOiBCcmFrIDplbmR0cnkiCisKK21zZ2lkICJFMTcwOiBNaXNzaW5nIDplbmR3aGlsZSIKK21zZ3N0ciAiRTE3MDogQnJhayA6ZW5kd2hpbGUiCisKK21zZ2lkICJFMTcwOiBNaXNzaW5nIDplbmRmb3IiCittc2dzdHIgIkUxNzA6IEJyYWsgOmVuZGZvciIKKworbXNnaWQgIkU1ODg6IDplbmR3aGlsZSB3aXRob3V0IDp3aGlsZSIKK21zZ3N0ciAiRTU4ODogOmVuZHdoaWxlIGJleiA6d2hpbGUiCisKK21zZ2lkICJFNTg4OiA6ZW5kZm9yIHdpdGhvdXQgOmZvciIKK21zZ3N0ciAiRTU4ODogOmVuZGZvciBiZXogOmZvciIKKworbXNnaWQgIkUxMzogRmlsZSBleGlzdHMgKGFkZCAhIHRvIG92ZXJyaWRlKSIKK21zZ3N0ciAiRTEzOiBQbGlrIGlzdG5pZWplICh3eW11xZsgcG9wcnpleiAhKSIKKworbXNnaWQgIkU0NzI6IENvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJFNDcyOiBLb21lbmRhIG5pZSBwb3dpb2TFgmEgc2nEmSIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFMjM0OiBVbmtub3duIGZvbnRzZXQ6ICVzIgorbXNnc3RyICJFMjM0OiBOaWV6bmFueSB6ZXN0YXcgY3pjaW9uZWs6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkUyMzU6IFVua25vd24gZm9udDogJXMiCittc2dzdHIgIkUyMzU6IE5pZXpuYW5hIGN6Y2lvbmthOiAlcyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFMjM2OiBGb250IFwiJXNcIiBpcyBub3QgZml4ZWQtd2lkdGgiCittc2dzdHIgIkUyMzY6IEN6Y2lvbmthIFwiJXNcIiBuaWUgbWEgc3RhxYJlaiBzemVyb2tvxZtjaSB6bmFrw7N3IgorCittc2dpZCAiRTQ3MzogSW50ZXJuYWwgZXJyb3IiCittc2dzdHIgIkU0NzM6IELFgsSFZCB3ZXduxJl0cnpueSIKKworbXNnaWQgIkludGVycnVwdGVkIgorbXNnc3RyICJQcnplcndhbmUiCisKK21zZ2lkICJFMTQ6IEludmFsaWQgYWRkcmVzcyIKK21zZ3N0ciAiRTE0OiBOaWV3xYJhxZtjaXd5IGFkcmVzIgorCittc2dpZCAiRTQ3NDogSW52YWxpZCBhcmd1bWVudCIKK21zZ3N0ciAiRTQ3NDogTmlld8WCYcWbY2l3eSBhcmd1bWVudCIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFNDc1OiBJbnZhbGlkIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiRTQ3NTogTmlld8WCYcWbY2l3eSBhcmd1bWVudDogJXMiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTE1OiBJbnZhbGlkIGV4cHJlc3Npb246ICVzIgorbXNnc3RyICJFMTU6IE5pZXfFgmHFm2Npd2Ugd3lyYcW8ZW5pZTogJXMiCisKK21zZ2lkICJFMTY6IEludmFsaWQgcmFuZ2UiCittc2dzdHIgIkUxNjogTmlld8WCYcWbY2l3eSB6YWtyZXMiCisKK21zZ2lkICJFNDc2OiBJbnZhbGlkIGNvbW1hbmQiCittc2dzdHIgIkU0NzY6IE5pZXfFgmHFm2Npd2Ega29tZW5kYSIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFMTc6IFwiJXNcIiBpcyBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiRTE3OiBcIiVzXCIgamVzdCBrYXRhbG9naWVtIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkUzNjQ6IExpYnJhcnkgY2FsbCBmYWlsZWQgZm9yIFwiJXMoKVwiIgorbXNnc3RyICJFMzY0OiBXeXdvxYJhbmllIHogYmlibGlvdGVraSBuaWUgcG93aW9kxYJvIHNpxJkgZGxhIFwiJXMoKVwiIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkU0NDg6IENvdWxkIG5vdCBsb2FkIGxpYnJhcnkgZnVuY3Rpb24gJXMiCittc2dzdHIgIkU0NDg6IE5pZSBtb8W8bmEgemHFgmFkb3dhxIcgZnVua2NqaSBiaWJsaW90ZWtpICVzIgorCittc2dpZCAiRTE5OiBNYXJrIGhhcyBpbnZhbGlkIGxpbmUgbnVtYmVyIgorbXNnc3RyICJFMTk6IFpha8WCYWRrYSBtYSBuaWV3xYJhxZtjaXd5IG51bWVyIHdpZXJzemEiCisKK21zZ2lkICJFMjA6IE1hcmsgbm90IHNldCIKK21zZ3N0ciAiRTIwOiBaYWvFgmFka2EgbmllbmFzdGF3aW9uYSIKKworbXNnaWQgIkUyMTogQ2Fubm90IG1ha2UgY2hhbmdlcywgJ21vZGlmaWFibGUnIGlzIG9mZiIKK21zZ3N0ciAiRTIxOiBOaWUgbW9nxJkgd3lrb25hxIcgem1pYW4sICdtb2RpZmlhYmxlJyBqZXN0IHd5xYLEhWN6b25lIgorCittc2dpZCAiRTIyOiBTY3JpcHRzIG5lc3RlZCB0b28gZGVlcCIKK21zZ3N0ciAiRTIyOiBaYnl0IGfFgsSZYm9raWUgemFnbmllxbxkxbxlbmllIHNrcnlwdMOzdyIKKworbXNnaWQgIkUyMzogTm8gYWx0ZXJuYXRlIGZpbGUiCittc2dzdHIgIkUyMzogQnJhayBwbGlrdSB6YW1pYW55IgorCittc2dpZCAiRTI0OiBObyBzdWNoIGFiYnJldmlhdGlvbiIKK21zZ3N0ciAiRTI0OiBOaWUgbWEgdGFraWVnbyBza3LDs3R1IgorCittc2dpZCAiRTQ3NzogTm8gISBhbGxvd2VkIgorbXNnc3RyICJFNDc3OiBOaWVkb3p3b2xvbmUgISIKKworbXNnaWQgIkUyNTogR1VJIGNhbm5vdCBiZSB1c2VkOiBOb3QgZW5hYmxlZCBhdCBjb21waWxlIHRpbWUiCittc2dzdHIgIkUyNTogR1VJIG5pZSBtb8W8ZSBiecSHIHXFvHl0ZTogTmllIHfFgsSFY3pvbm8gcG9kY3phcyBrb21waWxhY2ppIgorCittc2dpZCAiRTI2OiBIZWJyZXcgY2Fubm90IGJlIHVzZWQ6IE5vdCBlbmFibGVkIGF0IGNvbXBpbGUgdGltZVxuIgorbXNnc3RyICJFMjY6IEhlYnJhanNraSBuaWUgbW/FvGUgYnnEhyB1xbx5dHk6IE5pZSB3xYLEhWN6b25vIHBvZGN6YXMga29tcGlsYWNqaVxuIgorCittc2dpZCAiRTI3OiBGYXJzaSBjYW5ub3QgYmUgdXNlZDogTm90IGVuYWJsZWQgYXQgY29tcGlsZSB0aW1lXG4iCittc2dzdHIgIkUyNzogRmFyc2kgbmllIG1vxbxlIGJ5xIcgdcW8eXR5OiBOaWUgd8WCxIVjem9ubyBwb2RjemFzIGtvbXBpbGFjamlcbiIKKworbXNnaWQgIkU4MDA6IEFyYWJpYyBjYW5ub3QgYmUgdXNlZDogTm90IGVuYWJsZWQgYXQgY29tcGlsZSB0aW1lXG4iCittc2dzdHIgIkU4MDA6IEFyYWJza2kgbmllIG1vxbxlIGJ5xIcgdcW8eXR5OiBOaWUgd8WCxIVjem9ubyBwb2RjemFzIGtvbXBpbGFjamlcbiIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFMjg6IE5vIHN1Y2ggaGlnaGxpZ2h0IGdyb3VwIG5hbWU6ICVzIgorbXNnc3RyICJFMjg6IEJyYWsgdGFraWVqIG5hend5IGdydXB5IHBvZMWbd2lldGxhbmlhOiAlcyIKKworbXNnaWQgIkUyOTogTm8gaW5zZXJ0ZWQgdGV4dCB5ZXQiCittc2dzdHIgIkUyOTogTmllIHdwcm93YWR6b25vIGplc3pjemUgxbxhZG5lZ28gdGVrc3R1IgorCittc2dpZCAiRTMwOiBObyBwcmV2aW91cyBjb21tYW5kIGxpbmUiCittc2dzdHIgIkUzMDogTmllIG1hIHBvcHJ6ZWRuaWVnbyB3aWVyc3phIHBvbGVjZcWEIgorCittc2dpZCAiRTMxOiBObyBzdWNoIG1hcHBpbmciCittc2dzdHIgIkUzMTogTmllIG1hIHRha2llZ28gcHJ6eXBvcnrEhWRrb3dhbmlhIgorCittc2dpZCAiRTQ3OTogTm8gbWF0Y2giCittc2dzdHIgIkU0Nzk6IEJyYWsgZG9wYXNvd2HFhCIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFNDgwOiBObyBtYXRjaDogJXMiCittc2dzdHIgIkU0ODA6IEJyYWsgZG9wYXNvd2HFhDogJXMiCisKK21zZ2lkICJFMzI6IE5vIGZpbGUgbmFtZSIKK21zZ3N0ciAiRTMyOiBCcmFrIG5hend5IHBsaWt1IgorCittc2dpZCAiRTMzOiBObyBwcmV2aW91cyBzdWJzdGl0dXRlIHJlZ3VsYXIgZXhwcmVzc2lvbiIKK21zZ3N0ciAiRTMzOiBCcmFrIHBvcHJ6ZWRuaWVnbyBwb2RzdGF3aWVuaW93ZWdvIHd5cmHFvGVuaWEgcmVndWxhcm5lZ28iCisKK21zZ2lkICJFMzQ6IE5vIHByZXZpb3VzIGNvbW1hbmQiCittc2dzdHIgIkUzNDogQnJhayBwb3ByemVkbmllaiBrb21lbmR5IgorCittc2dpZCAiRTM1OiBObyBwcmV2aW91cyByZWd1bGFyIGV4cHJlc3Npb24iCittc2dzdHIgIkUzNTogQnJhayBwb3ByemVkbmllZ28gd3lyYcW8ZW5pYSByZWd1bGFybmVnbyIKKworbXNnaWQgIkU0ODE6IE5vIHJhbmdlIGFsbG93ZWQiCittc2dzdHIgIkU0ODE6IFpha3JlcyBuaWVkb3p3b2xvbnkiCisKK21zZ2lkICJFMzY6IE5vdCBlbm91Z2ggcm9vbSIKK21zZ3N0ciAiRTM2OiBCcmFrIG1pZWpzY2EiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTI0Nzogbm8gcmVnaXN0ZXJlZCBzZXJ2ZXIgbmFtZWQgXCIlc1wiIgorbXNnc3RyICJFMjQ3OiBicmFrIHphcmVqZXN0cm93YW5lZ28gc2Vyd2VyYSBvIG5hendpZSBcIiVzXCIiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTQ4MjogQ2FuJ3QgY3JlYXRlIGZpbGUgJXMiCittc2dzdHIgIkU0ODI6IE5pZSBtb2fEmSBzdHdvcnp5xIcgcGxpa3UgJXMiCisKK21zZ2lkICJFNDgzOiBDYW4ndCBnZXQgdGVtcCBmaWxlIG5hbWUiCittc2dzdHIgIkU0ODM6IE5pZSBtb2fEmSBwb2JyYcSHIG5hend5IHBsaWt1IHR5bWN6YXNvd2VnbyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFNDg0OiBDYW4ndCBvcGVuIGZpbGUgJXMiCittc2dzdHIgIkU0ODQ6IE5pZSBtb2fEmSBvdHdvcnp5xIcgcGxpa3UgJXMiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTQ4NTogQ2FuJ3QgcmVhZCBmaWxlICVzIgorbXNnc3RyICJFNDg1OiBOaWUgbW9nxJkgb2Rjenl0YcSHIHBsaWt1ICVzIgorCittc2dpZCAiRTM3OiBObyB3cml0ZSBzaW5jZSBsYXN0IGNoYW5nZSAoYWRkICEgdG8gb3ZlcnJpZGUpIgorbXNnc3RyICJFMzc6IE5pZSB6YXBpc2FubyBvZCBvc3RhdG5pZWogem1pYW55ICh3eW11xZsgcHJ6ZXogISkiCisKK21zZ2lkICJFMzg6IE51bGwgYXJndW1lbnQiCittc2dzdHIgIkUzODogWmVyb3d5IGFyZ3VtZW50IgorCittc2dpZCAiRTM5OiBOdW1iZXIgZXhwZWN0ZWQiCittc2dzdHIgIkUzOTogT2N6ZWt1asSZIGxpY3pieSIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFNDA6IENhbid0IG9wZW4gZXJyb3JmaWxlICVzIgorbXNnc3RyICJFNDA6IE5pZSBtb2fEmSBvdHdvcnp5xIcgcGxpa3UgYsWCxJlkw7N3ICVzIgorCittc2dpZCAiRTIzMzogY2Fubm90IG9wZW4gZGlzcGxheSIKK21zZ3N0ciAiRTIzMzogbmllIG1vZ8SZIG90d29yennEhyBla3JhbnUiCisKK21zZ2lkICJFNDE6IE91dCBvZiBtZW1vcnkhIgorbXNnc3RyICJFNDE6IFBhbWnEmcSHIHd5Y3plcnBhbmEhIgorCittc2dpZCAiUGF0dGVybiBub3QgZm91bmQiCittc2dzdHIgIk5pZSB6bmFsZXppb25vIHd6b3JjYSIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFNDg2OiBQYXR0ZXJuIG5vdCBmb3VuZDogJXMiCittc2dzdHIgIkU0ODY6IE5pZSB6bmFsZXppb25vIHd6b3JjYTogJXMiCisKK21zZ2lkICJFNDg3OiBBcmd1bWVudCBtdXN0IGJlIHBvc2l0aXZlIgorbXNnc3RyICJFNDg3OiBBcmd1bWVudCBtdXNpIGJ5xIcgZG9kYXRuaSIKKworbXNnaWQgIkU0NTk6IENhbm5vdCBnbyBiYWNrIHRvIHByZXZpb3VzIGRpcmVjdG9yeSIKK21zZ3N0ciAiRTQ1OTogTmllIG1vxbxuYSBwcnplasWbxIcgZG8gcG9wcnplZG5pZWdvIGthdGFsb2d1IgorCittc2dpZCAiRTQyOiBObyBFcnJvcnMiCittc2dzdHIgIkU0MjogQnJhayBCxYLEmWTDs3ciCisKK21zZ2lkICJFNzc2OiBObyBsb2NhdGlvbiBsaXN0IgorbXNnc3RyICJFNzc2OiBCcmFrIGxpc3R5IGxva2FjamkiCisKK21zZ2lkICJFNDM6IERhbWFnZWQgbWF0Y2ggc3RyaW5nIgorbXNnc3RyICJFNDM6IFBvcHN1dHkgY2nEhWcgd3pvcmNhIgorCittc2dpZCAiRTQ0OiBDb3JydXB0ZWQgcmVnZXhwIHByb2dyYW0iCittc2dzdHIgIkU0NDogWmVwc3V0eSBwcm9ncmFtIHd5cmHFvGXFhCByZWd1bGFybnljaCIKKworbXNnaWQgIkU0NTogJ3JlYWRvbmx5JyBvcHRpb24gaXMgc2V0IChhZGQgISB0byBvdmVycmlkZSkiCittc2dzdHIgIkU0NTogb3BjamEgJ3JlYWRvbmx5JyBqZXN0IHVzdGF3aW9uYSAod3ltdcWbIHBvcHJ6ZXogISkiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTQ2OiBDYW5ub3QgY2hhbmdlIHJlYWQtb25seSB2YXJpYWJsZSBcIiVzXCIiCittc2dzdHIgIkU0NjogTmllIG1vZ8SZIHptaWVuacSHIHptaWVubmVqIHR5bGtvIGRvIG9kY3p5dHUgXCIlc1wiIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkU0NjogQ2Fubm90IHNldCB2YXJpYWJsZSBpbiB0aGUgc2FuZGJveDogXCIlc1wiIgorbXNnc3RyICJFNDY6IE5pZSBtb2fEmSB1c3Rhd2nEhyB6bWllbm5laiB3IHBpYXNrb3duaWN5OiBcIiVzXCIiCisKK21zZ2lkICJFNDc6IEVycm9yIHdoaWxlIHJlYWRpbmcgZXJyb3JmaWxlIgorbXNnc3RyICJFNDc6IELFgsSFZCB3IHRyYWtjaWUgY3p5dGFuaWEgcGxpa3UgYsWCxJlkw7N3IgorCittc2dpZCAiRTQ4OiBOb3QgYWxsb3dlZCBpbiBzYW5kYm94IgorbXNnc3RyICJFNDg6IE5pZWRvendvbG9uZSB3IHBpYXNrb3duaWN5IgorCittc2dpZCAiRTUyMzogTm90IGFsbG93ZWQgaGVyZSIKK21zZ3N0ciAiRTUyMzogTmllZG96d29sb25lIHcgdHltIG1pZWpzY3UiCisKK21zZ2lkICJFMzU5OiBTY3JlZW4gbW9kZSBzZXR0aW5nIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgIkUzNTk6IFVzdGF3aWFuaWUgdHJ5YnUgZWtyYW51IG5pZXdzcG9tYWdhbmUiCisKK21zZ2lkICJFNDk6IEludmFsaWQgc2Nyb2xsIHNpemUiCittc2dzdHIgIkU0OTogTmlld8WCYcWbY2l3YSB3aWVsa2/Fm8SHIHByemV3aW5pxJljaWEiCisKK21zZ2lkICJFOTE6ICdzaGVsbCcgb3B0aW9uIGlzIGVtcHR5IgorbXNnc3RyICJFOTE6IG9wY2phICdzaGVsbCcgamVzdCBwdXN0YSIKKworbXNnaWQgIkUyNTU6IENvdWxkbid0IHJlYWQgaW4gc2lnbiBkYXRhISIKK21zZ3N0ciAiRTI1NTogTmllIG1vZ8WCZW0gd2N6eXRhxIcgZGFueWNoIHpuYWt1ISIKKworbXNnaWQgIkU3MjogQ2xvc2UgZXJyb3Igb24gc3dhcCBmaWxlIgorbXNnc3RyICJFNzI6IELFgsSFZCBwb2RjemFzIHphbXlrYW5pYSBwbGlrdSB3eW1pYW55IgorCittc2dpZCAiRTczOiB0YWcgc3RhY2sgZW1wdHkiCittc2dzdHIgIkU3Mzogc3RvcyB6bmFjem5pa8OzdyBqZXN0IHB1c3R5IgorCittc2dpZCAiRTc0OiBDb21tYW5kIHRvbyBjb21wbGV4IgorbXNnc3RyICJFNzQ6IEtvbWVuZGEgamVzdCB6Ynl0IHNrb21wbGlrb3dhbmEiCisKK21zZ2lkICJFNzU6IE5hbWUgdG9vIGxvbmciCittc2dzdHIgIkU3NTogWmJ5dCBkxYJ1Z2EgbmF6d2EiCisKK21zZ2lkICJFNzY6IFRvbyBtYW55IFsiCittc2dzdHIgIkU3NjogWmJ5dCB3aWVsZSBbIgorCittc2dpZCAiRTc3OiBUb28gbWFueSBmaWxlIG5hbWVzIgorbXNnc3RyICJFNzc6IFpieXQgd2llbGUgbmF6dyBwbGlrw7N3IgorCittc2dpZCAiRTQ4ODogVHJhaWxpbmcgY2hhcmFjdGVycyIKK21zZ3N0ciAiRTQ4ODogTmFkc3TEmXBuZSB6bmFjemtpIgorCittc2dpZCAiRTc4OiBVbmtub3duIG1hcmsiCittc2dzdHIgIkU3ODogTmllem5hbmEgemFrxYJhZGthIgorCittc2dpZCAiRTc5OiBDYW5ub3QgZXhwYW5kIHdpbGRjYXJkcyIKK21zZ3N0ciAiRTc5OiBOaWUgbW9nxIUgcm96d2luxIXEhyB6bmFrw7N3IHdpZWxvem5hY3pueWNoIgorCittc2dpZCAiRTU5MTogJ3dpbmhlaWdodCcgY2Fubm90IGJlIHNtYWxsZXIgdGhhbiAnd2lubWluaGVpZ2h0JyIKK21zZ3N0ciAiRTU5MTogJ3dpbmhlaWdodCcgbmllIG1vxbxlIGJ5xIcgbW5pZWpzemUgbmnFvCAnd2lubWluaGVpZ2h0JyIKKworbXNnaWQgIkU1OTI6ICd3aW53aWR0aCcgY2Fubm90IGJlIHNtYWxsZXIgdGhhbiAnd2lubWlud2lkdGgnIgorbXNnc3RyICJFNTkyOiAnd2lud2lkdGgnIG5pZSBtb8W8ZSBiecSHIG1uaWVqc3plIG5pxbwgJ3dpbm1pbndpZHRoJyIKKworbXNnaWQgIkU4MDogRXJyb3Igd2hpbGUgd3JpdGluZyIKK21zZ3N0ciAiRTgwOiBCxYLEhWQgdyB0cmFrY2llIHphcGlzdSIKKworbXNnaWQgIlplcm8gY291bnQiCittc2dzdHIgIlplcm93eSBsaWN6bmlrIgorCittc2dpZCAiRTgxOiBVc2luZyA8U0lEPiBub3QgaW4gYSBzY3JpcHQgY29udGV4dCIKK21zZ3N0ciAiRTgxOiBVxbx5Y2llIDxTSUQ+IHBvemEga29udGVrc3RlbSBza3J5cHR1IgorCittc2dpZCAiRTQ0OTogSW52YWxpZCBleHByZXNzaW9uIHJlY2VpdmVkIgorbXNnc3RyICJFNDQ5OiBPZGVicmHFgmVtIG5pZXfFgmHFm2Npd2Ugd3lyYcW8ZW5pZSIKKworbXNnaWQgIkU0NjM6IFJlZ2lvbiBpcyBndWFyZGVkLCBjYW5ub3QgbW9kaWZ5IgorbXNnc3RyICJFNDYzOiBSZWdpb24gamVzdCBjaHJvbmlvbnksIG5pZSBtb2fEmSB6bWllbmnEhyIKKworbXNnaWQgIkU3NDQ6IE5ldEJlYW5zIGRvZXMgbm90IGFsbG93IGNoYW5nZXMgaW4gcmVhZC1vbmx5IGZpbGVzIgorbXNnc3RyICJFNzQ0OiBOZXRCZWFucyBuaWUgemV6d2FsYSBuYSB6bWlhbnkgdyBwbGlrYWNoIHR5bGtvIGRvIG9kY3p5dHUiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTY4NTogSW50ZXJuYWwgZXJyb3I6ICVzIgorbXNnc3RyICJFNjg1OiBCxYLEhWQgd2V3bsSZdHJ6bnk6ICVzIgorCittc2dpZCAiRTM2MzogcGF0dGVybiB1c2VzIG1vcmUgbWVtb3J5IHRoYW4gJ21heG1lbXBhdHRlcm4nIgorbXNnc3RyICJFMzYzOiBXem9yemVjIHXFvHl3YSB3acSZY2VqIHBhbWnEmWNpIG5pxbwgJ21heG1lbXBhdHRlcm4nIgorCittc2dpZCAiRTc0OTogZW1wdHkgYnVmZmVyIgorbXNnc3RyICJFNzQ5OiBwdXN0eSBidWZvciIKKworbXNnaWQgIkU2ODI6IEludmFsaWQgc2VhcmNoIHBhdHRlcm4gb3IgZGVsaW1pdGVyIgorbXNnc3RyICJFNjgyOiBOaWV3xYJhxZtjaXd5IHd6b3J6ZWMgd3lzenVraXdhbmlhIGx1YiBkZWxpbWl0ZXIiCisKK21zZ2lkICJFMTM5OiBGaWxlIGlzIGxvYWRlZCBpbiBhbm90aGVyIGJ1ZmZlciIKK21zZ3N0ciAiRTEzOTogUGxpayBqZXN0IHphxYJhZG93YW55IHcgaW5ueW0gYnVmb3J6ZSIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFNzY0OiBPcHRpb24gJyVzJyBpcyBub3Qgc2V0IgorbXNnc3RyICJFNzY0OiBOaWUgdXN0YXdpb25vIG9wY2ppICclcyciCisKK21zZ2lkICJzZWFyY2ggaGl0IFRPUCwgY29udGludWluZyBhdCBCT1RUT00iCittc2dzdHIgInN6dWthbmllIGRvYmnFgm8gR8OTUlk7IGtvbnR5bnVhY2phIG9kIEtPxYNDQSIKKworbXNnaWQgInNlYXJjaCBoaXQgQk9UVE9NLCBjb250aW51aW5nIGF0IFRPUCIKK21zZ3N0ciAic3p1a2FuaWUgZG9iacWCbyBLT8WDQ0E7IGtvbnR5bnVhY2phIG9kIEfDk1JZIgorCmRpZmYgLS1naXQgYS9zcmMvcG8vcGwuY3AxMjUwLnBvIGIvc3JjL3BvL3BsLmNwMTI1MC5wbwppbmRleCBhYTQ1NjYyLi5hMGU1YmYyIDEwMDY0NAotLS0gYS9zcmMvcG8vcGwuY3AxMjUwLnBvCisrKyBiL3NyYy9wby9wbC5jcDEyNTAucG8KQEAgLTQsMTkgKzQsMTkgQEAKICMgdXBkYXRlZCAyMDA1IGZvciB2aW0tNy4wCiAjCiAjIEZJUlNUIEFVVEhPUiBNYXJjaW4gRGFsZWNraSA8bWFydGluQGRhbGVja2kuZGU+LCAyMDAwLgotIyBNaWtvbGFqIE1hY2hvd3NraSA8bWlrbWFjaEB3cC5wbD4sIDIwMDQsIDIwMDUuCisjIE1pa29sYWogTWFjaG93c2tpIDxtaWttYWNoQHdwLnBsPiwgMjAwNCwgMjAwNSwgMjAwNi4KIG1zZ2lkICIiCiBtc2dzdHIgIiIKICJQcm9qZWN0LUlkLVZlcnNpb246IHBsXG4iCiAiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IFxuIgotIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA1LTEwLTE0IDAxOjI2KzAyMDBcbiIKLSJQTy1SZXZpc2lvbi1EYXRlOiAyMDA1LTEwLTE0IDEyOjI0KzAyMDBcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwNi0wNC0wMSAxODoyNCswMjAwXG4iCisiUE8tUmV2aXNpb24tRGF0ZTogMjAwNi0wNC0wMSAxODozOSswMjAwXG4iCiAiTGFzdC1UcmFuc2xhdG9yOiBNaWtvbGFqIE1hY2hvd3NraSA8bWlrbWFjaEB3cC5wbD5cbiIKICJMYW5ndWFnZS1UZWFtOiBQb2xpc2ggPG1pa21hY2hAd3AucGw+XG4iCiAiTUlNRS1WZXJzaW9uOiAxLjBcbiIKICJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9Y3AxMjUwXG4iCiAiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgotIlgtR2VuZXJhdG9yOiBLQmFiZWwgMS4xMVxuIgorIlgtR2VuZXJhdG9yOiBLQmFiZWwgMS4xMS4yXG4iCiAKIG1zZ2lkICJFODI6IENhbm5vdCBhbGxvY2F0ZSBhbnkgYnVmZmVyLCBleGl0aW5nLi4uIgogbXNnc3RyICJFODI6IE5pZSBtb2fqIHphcmV6ZXJ3b3dh5iBidWZvcmE7IHpha2/xY3plbmllLi4uIgpAQCAtMTM0LDggKzEzNCw4IEBACiBtc2dpZCAiaGVscCIKIG1zZ3N0ciAicG9tb2MiCiAKLW1zZ2lkICJbaGVscF0iCi1tc2dzdHIgIltwb21vY10iCittc2dpZCAiW0hlbHBdIgorbXNnc3RyICJbUG9tb2NdIgogCiBtc2dpZCAiW1ByZXZpZXddIgogbXNnc3RyICJbUG9kZ2y5ZF0iCkBAIC0xNTcsOCArMTU3LDExIEBACiAiXG4iCiAiIyBMaXN0YSBidWZvcvN3OlxuIgogCi1tc2dpZCAiW0Vycm9yIExpc3RdIgotbXNnc3RyICJbTGlzdGEgQrPqZPN3XSIKK21zZ2lkICJbTG9jYXRpb24gTGlzdF0iCittc2dzdHIgIltMaXN0YSBsb2thY2ppXSIKKworbXNnaWQgIltRdWlja2ZpeCBMaXN0XSIKK21zZ3N0ciAiW0xpc3RhIHF1aWNrZml4XSIKIAogbXNnaWQgIiIKICJcbiIKQEAgLTQ5MCw2ICs0OTMsOSBAQAogbXNnaWQgIkU2OTk6IFRvbyBtYW55IGFyZ3VtZW50cyIKIG1zZ3N0ciAiRTY5OTogWmEgZHW/byBhcmd1bWVudPN3IgogCittc2dpZCAiRTc4NTogY29tcGxldGUoKSBjYW4gb25seSBiZSB1c2VkIGluIEluc2VydCBtb2RlIgorbXNnc3RyICJFNzg1OiBjb21wbGV0ZSgpIG1vv2UgYnnmIHW/eXRlIHR5bGtvIHcgdHJ5YmllIFdwcm93YWR6YW5pYSIKKwogIy4KICMuICogWWVzIHRoaXMgaXMgdWdseSwgSSBkb24ndCBwYXJ0aWN1bGFybHkgbGlrZSBpdCBlaXRoZXIuICBCdXQgZG9pbmcgaXQKICMuICogdGhpcyB3YXkgaGFzIHRoZSBjb21wZWxsaW5nIGFkdmFudGFnZSB0aGF0IHRyYW5zbGF0aW9ucyBuZWVkIG5vdCB0bwpAQCAtNzcxLDYgKzc3NywyMSBAQAogbXNnaWQgImZpbmlzaGVkIHNvdXJjaW5nICVzIgogbXNnc3RyICJza2/xY3pvbm8gd2N6eXR5d2FuaWUgJXMiCiAKK21zZ2lkICJtb2RlbGluZSIKK21zZ3N0ciAibW9kZWxpbmUiCisKK21zZ2lkICItLWNtZCBhcmd1bWVudCIKK21zZ3N0ciAiLS1jbWQgYXJndW1lbnQiCisKK21zZ2lkICItYyBhcmd1bWVudCIKK21zZ3N0ciAiLWMgYXJndW1lbnQiCisKK21zZ2lkICJlbnZpcm9ubWVudCB2YXJpYWJsZSIKK21zZ3N0ciAiem1pZW5uYSCccm9kb3dpc2tvd2EiCisKK21zZ2lkICJlcnJvciBoYW5kbGVyIgorbXNnc3RyICJvYnOzdWdhIGKz6mR1IgorCiBtc2dpZCAiVzE1OiBXYXJuaW5nOiBXcm9uZyBsaW5lIHNlcGFyYXRvciwgXk0gbWF5IGJlIG1pc3NpbmciCiBtc2dzdHIgIlcxNTogT1NUUlpFr0VOSUU6IE5pZXezYZxjaXd5IHNlcGFyYXRvciB3aWVyc3p5LCBwZXduaWUgYnJhayBeTSIKIApAQCAtMTE1OCw5ICsxMTc5LDE5IEBACiBtc2dpZCAiR3JlZXRpbmdzLCBWaW0gdXNlciEiCiBtc2dzdHIgIldpdGFqIHW/eXRrb3duaWt1IFZpbWEhIgogCittc2dpZCAiRTc4NDogQ2Fubm90IGNsb3NlIGxhc3QgdGFiIHBhZ2UiCittc2dzdHIgIkU3ODQ6IE5pZSBtb2fqIHphbWtuueYgb3N0YXRuaWVqIGthcnR5IgorCittc2dpZCAiQWxyZWFkeSBvbmx5IG9uZSB0YWIgcGFnZSIKK21zZ3N0ciAiSmVzdCBqdb8gdHlsa28gamVkbmEga2FydGEiCisKIG1zZ2lkICJFZGl0IEZpbGUgaW4gbmV3IHdpbmRvdyIKIG1zZ3N0ciAiRWR5dHVqIHBsaWsgdyBub3d5bSBva25pZSIKIAorIywgYy1mb3JtYXQKK21zZ2lkICJUYWIgcGFnZSAlZCIKK21zZ3N0ciAiS2FydGEgJWQiCisKIG1zZ2lkICJObyBzd2FwIGZpbGUiCiBtc2dzdHIgIkJyYWsgcGxpa3Ugd3ltaWFueSIKIApAQCAtMTQwNCw2ICsxNDM1LDkgQEAKIG1zZ2lkICJbTmV3IEZpbGVdIgogbXNnc3RyICJbTm93eSBQbGlrXSIKIAorbXNnaWQgIltOZXcgRElSRUNUT1JZXSIKK21zZ3N0ciAiW05vd3kgS0FUQUxPR10iCisKIG1zZ2lkICJbRmlsZSB0b28gYmlnXSIKIG1zZ3N0ciAiW1phIGR1v3kgcGxpa10iCiAKQEAgLTE0NTYsOCArMTQ5MCw5IEBACiBtc2dpZCAiW2NyeXB0ZWRdIgogbXNnc3RyICJbemFrb2Rvd2FuZV0iCiAKLW1zZ2lkICJbQ09OVkVSU0lPTiBFUlJPUl0iCi1tc2dzdHIgIltCo6VEIFcgUFJaRU1JQU5JRV0iCisjLCBjLWZvcm1hdAorbXNnaWQgIltDT05WRVJTSU9OIEVSUk9SIGluIGxpbmUgJWxkXSIKK21zZ3N0ciAiW0KjpUQgVyBQUlpFTUlBTklFIHcgbGluaWkgJWxkXSIKIAogIywgYy1mb3JtYXQKIG1zZ2lkICJbSUxMRUdBTCBCWVRFIGluIGxpbmUgJWxkXSIKQEAgLTE5MDksNiArMTk0NCwxNSBAQAogbXNnaWQgIlZpbTogUmVjZWl2ZWQgXCJkaWVcIiByZXF1ZXN0IGZyb20gc2Vzc2lvbiBtYW5hZ2VyXG4iCiBtc2dzdHIgIlZpbTogb3RyenltYW5vIL+5ZGFuaWUgXCJkaWVcIiBvZCBtYW5hZL9lcmEgc2VzamlcbiIKIAorbXNnaWQgIkNsb3NlIgorbXNnc3RyICJaYW1rbmlqIgorCittc2dpZCAiTmV3IHRhYiIKK21zZ3N0ciAiTm93YSBrYXJ0YSIKKworbXNnaWQgIk9wZW4gVGFiLi4uIgorbXNnc3RyICJPdHfzcnoga2FydOouLi4iCisKIG1zZ2lkICJWaW06IE1haW4gd2luZG93IHVuZXhwZWN0ZWRseSBkZXN0cm95ZWRcbiIKIG1zZ3N0ciAiVmltOiBHs/N3bmUgb2tubyBuaWVvY3pla2l3YW5pZSB6bmlzemN6b25lXG4iCiAKQEAgLTE5ODAsNiArMjAyNCwxMiBAQAogbXNnaWQgIkU2NzI6IFVuYWJsZSB0byBvcGVuIHdpbmRvdyBpbnNpZGUgTURJIGFwcGxpY2F0aW9uIgogbXNnc3RyICJFNjcyOiBOaWUgbW+/bmEgb3R3b3J6eeYgb2tuYSB3ZXduuXRyeiBhcGxpa2FjamkgTURJIgogCittc2dpZCAiQ2xvc2UgdGFiIgorbXNnc3RyICJaYW1rbmlqIGthcnTqIgorCittc2dpZCAiT3BlbiB0YWIuLi4iCittc2dzdHIgIk90d/NyeiBrYXJ06i4uLiIKKwogbXNnaWQgIkZpbmQgc3RyaW5nICh1c2UgJ1xcXFwnIHRvIGZpbmQgIGEgJ1xcJykiCiBtc2dzdHIgIlpuYWpknyBjablnICh1v3lqICdcXFxcJyBkbyBzenVrYW5pYSAnXFwnKSIKIApAQCAtMjY5OSw3ICsyNzQ5LDkgQEAKICIgICBsdWI6IgogCiBtc2dpZCAid2hlcmUgY2FzZSBpcyBpZ25vcmVkIHByZXBlbmQgLyB0byBtYWtlIGZsYWcgdXBwZXIgY2FzZSIKLW1zZ3N0ciAiZ2R6aWUgd2llbGtvnOYgem5ha/N3IGplc3QgaWdub3Jvd2FuYSBkb2RhaiBuYSBwb2N6uXRrdSAvIGJ5IGZsYWdhIGJ5s2Egd2llbGu5IGxpdGVyuSIKK21zZ3N0ciAiIgorImdkemllIHdpZWxrb5zmIHpuYWvzdyBqZXN0IGlnbm9yb3dhbmEgZG9kYWogbmEgcG9jerl0a3UgLyBieSBmbGFnYSBiebNhICIKKyJ3aWVsa7kgbGl0ZXK5IgogCiBtc2dpZCAiIgogIlxuIgpAQCAtMjgxMiw2ICsyODY0LDkgQEAKIG1zZ2lkICItLW5vcGx1Z2luXHRcdERvbid0IGxvYWQgcGx1Z2luIHNjcmlwdHMiCiBtc2dzdHIgIi0tbm9wbHVnaW5cdFx0TmllILNhZHVqIHNrcnlwdPN3IHd0eWN6ZWsiCiAKK21zZ2lkICItcFtOXVx0XHRPcGVuIE4gdGFiIHBhZ2VzIChkZWZhdWx0OiBvbmUgZm9yIGVhY2ggZmlsZSkiCittc2dzdHIgIi1wW05dXHRcdE90d/NyeiBOIGthcnQgKGRvbXmcbG5pZTogcG8gamVkbmVqIGRsYSBrYb9kZWdvIHBsaWt1KSIKKwogbXNnaWQgIi1vW05dXHRcdE9wZW4gTiB3aW5kb3dzIChkZWZhdWx0OiBvbmUgZm9yIGVhY2ggZmlsZSkiCiBtc2dzdHIgIi1vW05dXHRcdE90d/NyeiBOIG9raWVuIChkb215nGxuaWU6IHBvIGplZG55bSBkbGEga2G/ZGVnbyBwbGlrdSkiCiAKQEAgLTI4NjUsNiArMjkyMCw5IEBACiBtc2dpZCAiLS1yZW1vdGUtd2FpdC1zaWxlbnQgPGZpbGVzPiAgU2FtZSwgZG9uJ3QgY29tcGxhaW4gaWYgdGhlcmUgaXMgbm8gc2VydmVyIgogbXNnc3RyICItLXJlbW90ZS13YWl0LXNpbGVudCA8cGxpa2k+ICBUbyBzYW1vLCBuaWUgbmFyemVrYWogamWcbGkgbmllIG1hIHNlcndlcmEiCiAKK21zZ2lkICItLXJlbW90ZS10YWIgPGZpbGVzPiAgQXMgLS1yZW1vdGUgYnV0IG9wZW4gdGFiIHBhZ2UgZm9yIGVhY2ggZmlsZSIKK21zZ3N0ciAiLS1yZW1vdGUtdGFiIDxwbGlraT5cdFRhayBqYWsgLS1yZW1vdGUgYWxlIG90d/NyeiBqZWRuuSBrYXJ06iBkbGEga2G/ZGVnbyBwbGlrdSIKKwogbXNnaWQgIi0tcmVtb3RlLXNlbmQgPGtleXM+XHRTZW5kIDxrZXlzPiB0byBhIFZpbSBzZXJ2ZXIgYW5kIGV4aXQiCiBtc2dzdHIgIi0tcmVtb3RlLXNlbmQgPGtsYXdpc3plPlx0V3mcbGlqIDxrbGF3aXN6ZT4gZG8gc2Vyd2VyYSBWaW1hIGkgemFrb/FjeiIKIApAQCAtMjk4NCwyNSArMzA0Miw2IEBACiBtc2dpZCAiLS1zb2NrZXRpZCA8eGlkPlx0T3BlbiBWaW0gaW5zaWRlIGFub3RoZXIgR1RLIHdpZGdldCIKIG1zZ3N0ciAiLS1zb2NrZXRpZCA8eGlkPlx0T3R383J6IFZpbSB3ZXduuXRyeiBpbm5lZ28gd2lkZ2V0dSBHVEsiCiAKLW1zZ2lkICIiCi0iXG4iCi0iQXJndW1lbnRzIHJlY29nbmlzZWQgYnkga3ZpbSAoS0RFIHZlcnNpb24pOlxuIgotbXNnc3RyICIiCi0iXG4iCi0iQXJndW1lbnR5IHJvenBvem5hd2FuZSBwcnpleiBrdmltICh3ZXJzamEgS0RFKTpcbiIKLQotbXNnaWQgIi1ibGFja1x0XHRVc2UgcmV2ZXJzZSB2aWRlbyIKLW1zZ3N0ciAiLWJsYWNrXHRcdFN0b3N1aiBuZWdhdHl3IGtvbG9y83ciCi0KLW1zZ2lkICItdGlwXHRcdFx0RGlzcGxheSB0aGUgdGlwIGRpYWxvZyBvbiBzdGFydHVwIgotbXNnc3RyICItdGlwXHRcdFx0UG9rYb8gb2tubyB3c2thevN3ZWsgbmEgcG9jerl0a3UiCi0KLW1zZ2lkICItbm90aXBcdFx0RGlzYWJsZSB0aGUgdGlwIGRpYWxvZyIKLW1zZ3N0ciAiLW5vdGlwXHRcdFd5s7ljeiBva25vIHdza2F683dlayIKLQotbXNnaWQgIi0tZGlzcGxheSA8ZGlzcGxheT5cdFJ1biB2aW0gb24gPGRpc3BsYXk+IgotbXNnc3RyICItLWRpc3BsYXkgPGRpc3BsYXk+XHRVcnVjaG9tIHZpbSBuYSA8ZGlzcGxheT4iCi0KIG1zZ2lkICItUCA8cGFyZW50IHRpdGxlPlx0T3BlbiBWaW0gaW5zaWRlIHBhcmVudCBhcHBsaWNhdGlvbiIKIG1zZ3N0ciAiLVAgPHR5dHWzIHJvZHppY2E+XHRPdHfzcnogVmltYSB3ZXduuXRyeiByb2R6aWNpZWxza2llaiBhcGxpa2FjamkiCiAKQEAgLTM0MjMsNiArMzQ2MiwxMCBAQAogbXNnaWQgIkUzMTc6IHBvaW50ZXIgYmxvY2sgaWQgd3JvbmcgMiIKIG1zZ3N0ciAiRTMxNzogbmllcG9wcmF3bmUgaWQgYmxva3Ugb2RuaWVzaWVuaWEgMiIKIAorIywgYy1mb3JtYXQKK21zZ2lkICJFNzczOiBTeW1saW5rIGxvb3AgZm9yIFwiJXNcIiIKK21zZ3N0ciAiRTc3MzogUOp0bGEgZG93abl6YfEgZGxhIFwiJXNcIiIKKwogbXNnaWQgIkUzMjU6IEFUVEVOVElPTiIKIG1zZ3N0ciAiRTMyNTogVVdBR0EiCiAKQEAgLTM1MTEsMTYgKzM1NTQsMTYgQEAKICImT3BlbiBSZWFkLU9ubHlcbiIKICImRWRpdCBhbnl3YXlcbiIKICImUmVjb3ZlclxuIgorIiZEZWxldGUgaXRcbiIKICImUXVpdFxuIgotIiZBYm9ydFxuIgotIiZEZWxldGUgaXQiCisiJkFib3J0IgogbXNnc3RyICIiCiAiJk90d/NyeiBSZWFkLU9ubHlcbiIKICImRWR5dHVqIHBvbWltb1xuIgogIk8mZHR383J6XG4iCisiJlVzdfFcbiIKICImWmFrb/FjelxuIgotIiZQb3J6deZcbiIKLSImU2thc3VqIGdvIgorIiZQb3J6deYiCiAKIG1zZ2lkICJFMzI2OiBUb28gbWFueSBzd2FwIGZpbGVzIGZvdW5kIgogbXNnc3RyICJFMzI2OiBabmFsZXppb25vIHpieXQgd2llbGUgcGxpa/N3IHd5bWlhbnkiCkBAIC0zNzg3LDYgKzM4MzAsMTIgQEAKIG1zZ2lkICJFNTA1OiAiCiBtc2dzdHIgIkU1MDU6ICIKIAorbXNnaWQgIkU3NzQ6ICdvcGVyYXRvcmZ1bmMnIGlzIGVtcHR5IgorbXNnc3RyICJFNzc0OiAnb3BlcmF0b3JmdW5jJyBqZXN0IHB1c3RhIgorCittc2dpZCAiRTc3NTogRXZhbCBmZWF0dXJlIG5vdCBhdmFpbGFibGUiCittc2dzdHIgIkU3NzU6IEZ1bmtjam9uYWxub5zmIGV2YWwgbmllIGplc3QgZG9zdOpwbmEiCisKIG1zZ2lkICJXYXJuaW5nOiB0ZXJtaW5hbCBjYW5ub3QgaGlnaGxpZ2h0IgogbXNnc3RyICJPU1RSWkWvRU5JRTogdGVybWluYWwgbmllIHd5a29udWplIHBvZJx3aWV0bGFuaWEiCiAKQEAgLTQxMzQsNiArNDE4Myw5IEBACiBtc2dpZCAiLi4uKHRydW5jYXRlZCkiCiBtc2dzdHIgIi4uLihvYmNp6nR5KSIKIAorbXNnaWQgIk1lc3NhZ2UiCittc2dzdHIgIldpYWRvbW+c5iIKKwogbXNnaWQgIidjb2x1bW5zJyBpcyBub3QgODAsIGNhbm5vdCBleGVjdXRlIGV4dGVybmFsIGNvbW1hbmRzIgogbXNnc3RyICInY29sdW1ucycgbmllIHd5bm9zaSA4MCwgbmllIG1vZ+ogd3lrb25h5iB6ZXdu6nRyem55Y2gga29tZW5kIgogCkBAIC00MTgyLDE0ICs0MjM0LDYgQEAKIG1zZ2lkICJPcGVuaW5nIHRoZSBYIGRpc3BsYXkgdG9vayAlbGQgbXNlYyIKIG1zZ3N0ciAiT3R3aWVyYW5pZSBla3JhbnUgWCB0cndhs28gJWxkIG1zZWMiCiAKLSMuIEtERSBzb21ldGltZXMgcHJvZHVjZXMgWCBlcnJvciB0aGF0IHdlIHdhbnQgdG8gaWdub3JlCi1tc2dpZCAiIgotIlxuIgotIlZpbTogR290IFggZXJyb3IgYnV0IHdlIGNvbnRpbnVlLi4uXG4iCi1tc2dzdHIgIiIKLSJcbiIKLSJWaW06IERvc3Rhs2VtIGKzuWQgWCBhbGUga29udHludXVq6i4uLlxuIgotCiBtc2dpZCAiIgogIlxuIgogIlZpbTogR290IFggZXJyb3JcbiIKQEAgLTQzNzQsNiArNDQxOCw5IEBACiBtc2dpZCAiRTY4MTogQnVmZmVyIGlzIG5vdCBsb2FkZWQiCiBtc2dzdHIgIkU2ODE6IEJ1Zm9yIG5pZSBqZXN0IHphs2Fkb3dhbnkiCiAKK21zZ2lkICJFNzc3OiBTdHJpbmcgb3IgTGlzdCBleHBlY3RlZCIKK21zZ3N0ciAiRTc3NzogT2N6ZWtpd2FubyCzYfFjdWNoYSBsdWIgbGlzdHkiCisKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTM2OTogaW52YWxpZCBpdGVtIGluICVzJSVbXSIKIG1zZ3N0ciAiRTM2OTogTmlld7NhnGNpd3kgZWxlbWVudCB3ICVzJSVbXSIKQEAgLTQ1NTcsNiArNDYwNCwxMCBAQAogbXNnaWQgIlNjYW5uaW5nIGluY2x1ZGVkIGZpbGU6ICVzIgogbXNnc3RyICJQcnplZ2y5ZCB3s7ljem9uZWdvIHBsaWt1OiAlcyIKIAorIywgYy1mb3JtYXQKK21zZ2lkICJTZWFyY2hpbmcgaW5jbHVkZWQgZmlsZSAlcyIKK21zZ3N0ciAiUHJ6ZXN6dWtpd2FuaWUgd7O5Y3pvbmVnbyBwbGlrdSAlcyIKKwogbXNnaWQgIkUzODc6IE1hdGNoIGlzIG9uIGN1cnJlbnQgbGluZSIKIG1zZ3N0ciAiRTM4NzogV3pvcnplYyBwYXN1amUgdyBiaWW/uWN5bSB3aWVyc3p1IgogCkBAIC00NjQ3LDEyICs0Njk4LDggQEAKIG1zZ3N0ciAiRkxBRyBwbyB1v3ljaXUgZmxhZyB3ICVzIHdpZXJzeiAlZDogJXMiCiAKICMsIGMtZm9ybWF0Ci1tc2dpZCAiQ2hhcmFjdGVyIHVzZWQgZm9yIFNMQVNIIG11c3QgYmUgQVNDSUk7IGluICVzIGxpbmUgJWQ6ICVzIgotbXNnc3RyICJabmFrIHW/eXR5IGpha28gU0xBU0ggbXVzaSBieeYgem5ha2llbSBBU0NJSTsgdyAlcyB3aWVyc3ogJWQ6ICVzIgotCi0jLCBjLWZvcm1hdAotbXNnaWQgIldyb25nIENPTVBPVU5ETUFYIHZhbHVlIGluICVzIGxpbmUgJWQ6ICVzIgotbXNnc3RyICJas2Egd2FydG+c5iBDT01QT1VORE1BWCB3ICVzIHdpZXJzeiAlZDogJXMiCittc2dpZCAiV3JvbmcgQ09NUE9VTkRXT1JETUFYIHZhbHVlIGluICVzIGxpbmUgJWQ6ICVzIgorbXNnc3RyICJas2Egd2FydG+c5iBDT01QT1VORFdPUkRNQVggdyAlcyB3aWVyc3ogJWQ6ICVzIgogCiAjLCBjLWZvcm1hdAogbXNnaWQgIldyb25nIENPTVBPVU5ETUlOIHZhbHVlIGluICVzIGxpbmUgJWQ6ICVzIgpAQCAtNDY2Myw2ICs0NzEwLDEwIEBACiBtc2dzdHIgIlqzYSB3YXJ0b5zmIENPTVBPVU5EU1lMTUFYIHcgJXMgd2llcnN6ICVkOiAlcyIKIAogIywgYy1mb3JtYXQKK21zZ2lkICJXcm9uZyBDSEVDS0NPTVBPVU5EUEFUVEVSTiB2YWx1ZSBpbiAlcyBsaW5lICVkOiAlcyIKK21zZ3N0ciAiWrNhIHdhcnRvnOYgQ0hFQ0tDT01QT1VORFBBVFRFUk4gdyAlcyB3aWVyc3ogJWQ6ICVzIgorCisjLCBjLWZvcm1hdAogbXNnaWQgIkRpZmZlcmVudCBjb21iaW5pbmcgZmxhZyBpbiBjb250aW51ZWQgYWZmaXggYmxvY2sgaW4gJXMgbGluZSAlZDogJXMiCiBtc2dzdHIgIlLzv25lIGZsYWdpIHqzb79l8SB3IGtvbnR5bnVvd2FueW0gYmxva3UgYWZpa3N1IHcgJXMgd2llcnN6ICVkOiAlcyIKIApAQCAtNDY3MSw4ICs0NzIyLDEwIEBACiBtc2dzdHIgIlBvd3TzcnpvbnkgYWZpa3MgdyAlcyB3aWVyc3ogJWQ6ICVzIgogCiAjLCBjLWZvcm1hdAotbXNnaWQgIkFmZml4IGFsc28gdXNlZCBmb3IgQkFEL1JBUi9LRVAvTkVFREFGRklYL05FRURDT01QT1VORCBpbiAlcyBsaW5lICVkOiAlcyIKLW1zZ3N0ciAiQWZpa3Mgdb95dHkgdGFrv2UgZGxhIEJBRC9SQVIvS0VQL05FRURBRkZJWC9ORUVEQ09NUE9VTkQgdyAlcyB3aWVyc3ogJWQ6ICVzIgorbXNnaWQgIiIKKyJBZmZpeCBhbHNvIHVzZWQgZm9yIEJBRC9SQVJFL0tFRVBDQVNFL05FRURBRkZJWC9ORUVEQ09NUE9VTkQvTk9TVUdHRVNUIGluICVzICIKKyJsaW5lICVkOiAlcyIKK21zZ3N0ciAiQWZpa3Mgdb95dHkgdGFrv2UgZGxhIEJBRC9SQVJFL0tFRVBDQVNFL05FRURBRkZJWC9ORUVEQ09NUE9VTkQvTk9TVUdHRVNUIHcgJXMgd2llcnN6ICVkOiAlcyIKIAogIywgYy1mb3JtYXQKIG1zZ2lkICJFeHBlY3RlZCBZIG9yIE4gaW4gJXMgbGluZSAlZDogJXMiCkBAIC00NjgzLDggKzQ3MzYsMTIgQEAKIG1zZ3N0ciAiQrPqZG55IHdhcnVuZWsgdyAlcyB3aWVyc3ogJWQ6ICVzIgogCiAjLCBjLWZvcm1hdAotbXNnaWQgIkV4cGVjdGVkIFJFUCBjb3VudCBpbiAlcyBsaW5lICVkIgotbXNnc3RyICJPY3pla2l3YW5vIGlsb5xjaSBSRVAgdyAlcyB3aWVyc3p1ICVkIgorbXNnaWQgIkFmZml4IGZsYWdzIGlnbm9yZWQgd2hlbiBQRlhQT1NUUE9ORSB1c2VkIGluICVzIGxpbmUgJWQ6ICVzIgorbXNnc3RyICJGbGFnaSBhZmlrc/N3IHppZ25vcm93YW5lIGtpZWR5IHW/eXRvIFBGWFBPU1RQT05FIHcgJXMgd2llcnogJWQ6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkV4cGVjdGVkIFJFUChTQUwpIGNvdW50IGluICVzIGxpbmUgJWQiCittc2dzdHIgIk9jemVraXdhbm8gaWxvnGNpIFJFUChTQUwpIHcgJXMgd2llcnN6dSAlZCIKIAogIywgYy1mb3JtYXQKIG1zZ2lkICJFeHBlY3RlZCBNQVAgY291bnQgaW4gJXMgbGluZSAlZCIKQEAgLTQ4MDIsOCArNDg1OSwzNCBAQAogbXNnc3RyICJaaWdub3Jvd2GzZW0gJWQgc7PzdyB6ZSB6bmFrYW1pIG5pZSBBU0NJSSIKIAogIywgYy1mb3JtYXQKLW1zZ2lkICJDb21wcmVzc2VkICVkIG9mICVkIG5vZGVzOyAlZCUlIHJlbWFpbmluZyIKLW1zZ3N0ciAiU2tvbXByZXNvd2FubyAlZCB6ICVkIHfqerPzdzsgcG96b3N0YWplICVkJSUiCittc2dpZCAiQ29tcHJlc3NlZCAlZCBvZiAlZCBub2RlczsgJWQgKCVkJSUpIHJlbWFpbmluZyIKK21zZ3N0ciAiU2tvbXByZXNvd2FubyAlZCB6ICVkIHfqerPzdzsgcG96b3N0YWplICVkICglZCUlKSIKKworbXNnaWQgIlJlYWRpbmcgYmFjayBzcGVsbCBmaWxlLi4uIgorbXNnc3RyICJPZGN6eXR1auogcGxpayBzcHJhd2R6YW5pYSBwaXNvd25pLi4uIgorCisjLgorIy4gKiBHbyB0aHJvdWdoIHRoZSB0cmllIG9mIGdvb2Qgd29yZHMsIHNvdW5kZm9sZCBlYWNoIHdvcmQgYW5kIGFkZCBpdCB0bworIy4gKiB0aGUgc291bmRmb2xkIHRyaWUuCisjLgorbXNnaWQgIlBlcmZvcm1pbmcgc291bmRmb2xkaW5nLi4uIgorbXNnc3RyICJXeWtvbnVq6iBrb21wcmVzauogZJ93aeprb3e5Li4uIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIk51bWJlciBvZiB3b3JkcyBhZnRlciBzb3VuZGZvbGRpbmc6ICVsZCIKK21zZ3N0ciAiTGljemJhIHOz83cgcG8ga29tcHJlc2ppIGSfd2nqa293ZWo6ICVsZCIKKworIywgYy1mb3JtYXQKK21zZ2lkICJUb3RhbCBudW1iZXIgb2Ygd29yZHM6ICVkIgorbXNnc3RyICJDYbNrb3dpdGEgbGljemJhIHOz83c6ICVkIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIldyaXRpbmcgc3VnZ2VzdGlvbiBmaWxlICVzIC4uLiIKK21zZ3N0ciAiWmFwaXN1auogcGxpayBzdWdlc3RpaSAlcyAuLi4iCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXN0aW1hdGVkIHJ1bnRpbWUgbWVtb3J5IHVzZTogJWQgYnl0ZXMiCittc2dzdHIgIk9jemVraXdhbmUgenW/eWNpZSBwYW1p6mNpOiAlZCBiYWp083ciCiAKIG1zZ2lkICJFNzUxOiBPdXRwdXQgZmlsZSBuYW1lIG11c3Qgbm90IGhhdmUgcmVnaW9uIG5hbWUiCiBtc2dzdHIgIkU3NTE6IE5hendhIHBsaWt1IHd5bmlrb3dlZ28gbmllIG1vv2UgYnnmIG5hene5IHJlZ2lvbnUiCkBAIC00ODI2LDEzICs0OTA5LDE3IEBACiBtc2dzdHIgIlpyb2Jpb25lISIKIAogIywgYy1mb3JtYXQKLW1zZ2lkICJFc3RpbWF0ZWQgcnVudGltZSBtZW1vcnkgdXNlOiAlZCBieXRlcyIKLW1zZ3N0ciAiT2N6ZWtpd2FuZSB6db95Y2llIHBhbWnqY2k6ICVkIGJhanTzdyIKLQotIywgYy1mb3JtYXQKIG1zZ2lkICJFNzY1OiAnc3BlbGxmaWxlJyBkb2VzIG5vdCBoYXZlICVsZCBlbnRyaWVzIgogbXNnc3RyICJFNzY1OiAnc3BlbGxmaWxlJyBuaWUgcG9zaWFkYSB3cGlz83cgJWxkIgogCisjLCBjLWZvcm1hdAorbXNnaWQgIldvcmQgcmVtb3ZlZCBmcm9tICVzIgorbXNnc3RyICJVc3Vuaep0byBzs293byB6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIldvcmQgYWRkZWQgdG8gJXMiCittc2dzdHIgIkRvZGFubyBzs293byBkbyAlcyIKKwogbXNnaWQgIkU3NjM6IFdvcmQgY2hhcmFjdGVycyBkaWZmZXIgYmV0d2VlbiBzcGVsbCBmaWxlcyIKIG1zZ3N0ciAiRTc2MzogWm5ha2kgd3lyYXrzdyBy879uabkgc2nqIG1p6mR6eSBwbGlrYW1pIHNwcmF3ZHphbmlhIHBpc293bmkiCiAKQEAgLTQ4NTksMTAgKzQ5NDYsMzAgQEAKIG1zZ2lkICJFNzUzOiBOb3QgZm91bmQ6ICVzIgogbXNnc3RyICJFNzUzOiBOaWUgem5hbGV6aW9ubzogJXMiCiAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTc3ODogVGhpcyBkb2VzIG5vdCBsb29rIGxpa2UgYSAuc3VnIGZpbGU6ICVzIgorbXNnc3RyICJFNzc4OiBUZW4gcGxpayBuaWUgd3lnbLlkYSBuYSBwbGlrIC5zdWc6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkU3Nzk6IE9sZCAuc3VnIGZpbGUsIG5lZWRzIHRvIGJlIHVwZGF0ZWQ6ICVzIgorbXNnc3RyICJFNzc5OiBTdGFyeSBwbGlrIC5zdWcsIGtvbmllY3puZSBqZXN0IHVha3R1YWxuaWVuaWU6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkU3ODA6IC5zdWcgZmlsZSBpcyBmb3IgbmV3ZXIgdmVyc2lvbiBvZiBWaW06ICVzIgorbXNnc3RyICJFNzgwOiBQbGlrIC5zdWcgZGxhIG5vd3N6ZWogd2Vyc2ppIFZpbWE6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkU3ODE6IC5zdWcgZmlsZSBkb2Vzbid0IG1hdGNoIC5zcGwgZmlsZTogJXMiCittc2dzdHIgIkU3ODE6IFBsaWsgLnN1ZyBuaWUgcGFzdWplIGRvIHBsaWt1IC5zcGw6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkU3ODI6IGVycm9yIHdoaWxlIHJlYWRpbmcgLnN1ZyBmaWxlOiAlcyIKK21zZ3N0ciAiRTc4MjogQrO5ZCB3IGN6YXNpZSBvZGN6eXR1IHBsaWt1IC5zdWc6ICVzIgorCiAjLiBUaGlzIHNob3VsZCBoYXZlIGJlZW4gY2hlY2tlZCB3aGVuIGdlbmVyYXRpbmcgdGhlIC5zcGwKICMuICogZmlsZS4KLW1zZ2lkICJFOTk5OiBkdXBsaWNhdGUgY2hhciBpbiBNQVAgZW50cnkiCi1tc2dzdHIgIkU5OTk6IHBvd3Tzcnpvbnkgem5hayB3ZSB3cGlzaWUgTUFQIgorbXNnaWQgIkU3ODM6IGR1cGxpY2F0ZSBjaGFyIGluIE1BUCBlbnRyeSIKK21zZ3N0ciAiRTc4MzogUG9kd29qb255IHpuYWsgd2Ugd3Bpc2llIE1BUCIKIAogIywgYy1mb3JtYXQKIG1zZ2lkICJFMzkwOiBJbGxlZ2FsIGFyZ3VtZW50OiAlcyIKQEAgLTUxNzcsMTUgKzUyODQsNTIgQEAKIG1zZ2lkICJObyB1bmRvIHBvc3NpYmxlOyBjb250aW51ZSBhbnl3YXkiCiBtc2dzdHIgIkNvZm5p6mNpZSBuaWVtb79saXdlOyBtaW1vIHRvIGtvbnR5bnV1auoiCiAKK21zZ2lkICJBbHJlYWR5IGF0IG9sZGVzdCBjaGFuZ2UiCittc2dzdHIgIkp1vyB3IG1pZWpzY3Ugb3N0YXRuaWVqIHptaWFueSIKKworbXNnaWQgIkFscmVhZHkgYXQgbmV3ZXN0IGNoYW5nZSIKK21zZ3N0ciAiSnW/IHcgbWllanNjdSBuYWpub3dzemVqIHptaWFueSIKKworIywgYy1mb3JtYXQKK21zZ2lkICJVbmRvIG51bWJlciAlbGQgbm90IGZvdW5kIgorbXNnc3RyICJOaWUgem5hbGV6aW9ubyBudW1lcnUgY29mbmnqY2lhICVsZCIKKwogbXNnaWQgIkU0Mzg6IHVfdW5kbzogbGluZSBudW1iZXJzIHdyb25nIgogbXNnc3RyICJFNDM4OiB1X3VuZG86IG5pZXezYZxjaXdlIG51bWVyeSB3aWVyc3p5IgogCi1tc2dpZCAiMSBjaGFuZ2UiCittc2dpZCAibW9yZSBsaW5lIgorbXNnc3RyICIxIHdpZXJzeiB3aepjZWoiCisKK21zZ2lkICJtb3JlIGxpbmVzIgorbXNnc3RyICJ3aepjZWogd2llcnN6eSIKKworbXNnaWQgImxpbmUgbGVzcyIKK21zZ3N0ciAiMSB3aWVyc3ogbW5pZWoiCisKK21zZ2lkICJmZXdlciBsaW5lcyIKK21zZ3N0ciAibW5pZWogd2llcnN6eSIKKworbXNnaWQgImNoYW5nZSIKIG1zZ3N0ciAiMSB6bWlhbmEiCiAKK21zZ2lkICJjaGFuZ2VzIgorbXNnc3RyICJ6bWlhbnkiCisKICMsIGMtZm9ybWF0Ci1tc2dpZCAiJWxkIGNoYW5nZXMiCi1tc2dzdHIgIiVsZCB6bWlhbiIKK21zZ2lkICIlbGQgJXM7ICVzICMlbGQgICVzIgorbXNnc3RyICIlbGQgJXM7ICVzICMlbGQgICVzIgorCittc2dpZCAiYmVmb3JlIgorbXNnc3RyICJwcnplZCIKKworbXNnaWQgImFmdGVyIgorbXNnc3RyICJ6YSIKKworbXNnaWQgIk5vdGhpbmcgdG8gdW5kbyIKK21zZ3N0ciAiTmllIG1hIHptaWFuIGRvIGNvZm5p6mNpYSIKKworbXNnaWQgIm51bWJlciBjaGFuZ2VzICB0aW1lIgorbXNnc3RyICJsaWN6YmEgem1pYW55IGN6YXMiCiAKIG1zZ2lkICJFNDM5OiB1bmRvIGxpc3QgY29ycnVwdCIKIG1zZ3N0ciAiRTQzOTogdXN6a29kem9uYSBsaXN0YSBjb2ZhbmlhIgpAQCAtNTM2NCw5ICs1NTA4LDYgQEAKIG1zZ2lkICJ3aXRoIChjbGFzc2ljKSBHVUkuIgogbXNnc3RyICJ6IChrbGFzeWN6bnltKSBHVUkuIgogCi1tc2dpZCAid2l0aCBLREUgR1VJLiIKLW1zZ3N0ciAieiBHVUkgS0RFLiIKLQogbXNnaWQgIiAgRmVhdHVyZXMgaW5jbHVkZWQgKCspIG9yIG5vdCAoLSk6XG4iCiBtc2dzdHIgIiAgT3BjamUgd7O5Y3pvbmUgKCspIGx1YiBuaWUgKC0pOlxuIgogCkBAIC01NzgyLDYgKzU5MjMsOSBAQAogbXNnaWQgIkU0MjogTm8gRXJyb3JzIgogbXNnc3RyICJFNDI6IEJyYWsgQrPqZPN3IgogCittc2dpZCAiRTc3NjogTm8gbG9jYXRpb24gbGlzdCIKK21zZ3N0ciAiRTc3NjogQnJhayBsaXN0eSBsb2thY2ppIgorCiBtc2dpZCAiRTQzOiBEYW1hZ2VkIG1hdGNoIHN0cmluZyIKIG1zZ3N0ciAiRTQzOiBQb3BzdXR5IGNpuWcgd3pvcmNhIgogCmRpZmYgLS1naXQgYS9zcmMvcG8vcGwucG8gYi9zcmMvcG8vcGwucG8KaW5kZXggZGRiNmM3OS4uMTNkOTYwYiAxMDA2NDQKLS0tIGEvc3JjL3BvL3BsLnBvCisrKyBiL3NyYy9wby9wbC5wbwpAQCAtNCwxOSArNCwxOSBAQAogIyB1cGRhdGVkIDIwMDUgZm9yIHZpbS03LjAKICMKICMgRklSU1QgQVVUSE9SIE1hcmNpbiBEYWxlY2tpIDxtYXJ0aW5AZGFsZWNraS5kZT4sIDIwMDAuCi0jIE1pa29sYWogTWFjaG93c2tpIDxtaWttYWNoQHdwLnBsPiwgMjAwNCwgMjAwNS4KKyMgTWlrb2xhaiBNYWNob3dza2kgPG1pa21hY2hAd3AucGw+LCAyMDA0LCAyMDA1LCAyMDA2LgogbXNnaWQgIiIKIG1zZ3N0ciAiIgogIlByb2plY3QtSWQtVmVyc2lvbjogcGxcbiIKICJSZXBvcnQtTXNnaWQtQnVncy1UbzogXG4iCi0iUE9ULUNyZWF0aW9uLURhdGU6IDIwMDUtMTAtMTQgMDE6MjYrMDIwMFxuIgotIlBPLVJldmlzaW9uLURhdGU6IDIwMDUtMTAtMTQgMTI6MjQrMDIwMFxuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA2LTA0LTAxIDE4OjI0KzAyMDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDA2LTA0LTAxIDE4OjM5KzAyMDBcbiIKICJMYXN0LVRyYW5zbGF0b3I6IE1pa29sYWogTWFjaG93c2tpIDxtaWttYWNoQHdwLnBsPlxuIgogIkxhbmd1YWdlLVRlYW06IFBvbGlzaCA8bWlrbWFjaEB3cC5wbD5cbiIKICJNSU1FLVZlcnNpb246IDEuMFxuIgogIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1JU08tODg1OS0yXG4iCiAiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgotIlgtR2VuZXJhdG9yOiBLQmFiZWwgMS4xMVxuIgorIlgtR2VuZXJhdG9yOiBLQmFiZWwgMS4xMS4yXG4iCiAKIG1zZ2lkICJFODI6IENhbm5vdCBhbGxvY2F0ZSBhbnkgYnVmZmVyLCBleGl0aW5nLi4uIgogbXNnc3RyICJFODI6IE5pZSBtb2fqIHphcmV6ZXJ3b3dh5iBidWZvcmE7IHpha2/xY3plbmllLi4uIgpAQCAtMTM0LDggKzEzNCw4IEBACiBtc2dpZCAiaGVscCIKIG1zZ3N0ciAicG9tb2MiCiAKLW1zZ2lkICJbaGVscF0iCi1tc2dzdHIgIltwb21vY10iCittc2dpZCAiW0hlbHBdIgorbXNnc3RyICJbUG9tb2NdIgogCiBtc2dpZCAiW1ByZXZpZXddIgogbXNnc3RyICJbUG9kZ2yxZF0iCkBAIC0xNTcsOCArMTU3LDExIEBACiAiXG4iCiAiIyBMaXN0YSBidWZvcvN3OlxuIgogCi1tc2dpZCAiW0Vycm9yIExpc3RdIgotbXNnc3RyICJbTGlzdGEgQrPqZPN3XSIKK21zZ2lkICJbTG9jYXRpb24gTGlzdF0iCittc2dzdHIgIltMaXN0YSBsb2thY2ppXSIKKworbXNnaWQgIltRdWlja2ZpeCBMaXN0XSIKK21zZ3N0ciAiW0xpc3RhIHF1aWNrZml4XSIKIAogbXNnaWQgIiIKICJcbiIKQEAgLTQ5MCw2ICs0OTMsOSBAQAogbXNnaWQgIkU2OTk6IFRvbyBtYW55IGFyZ3VtZW50cyIKIG1zZ3N0ciAiRTY5OTogWmEgZHW/byBhcmd1bWVudPN3IgogCittc2dpZCAiRTc4NTogY29tcGxldGUoKSBjYW4gb25seSBiZSB1c2VkIGluIEluc2VydCBtb2RlIgorbXNnc3RyICJFNzg1OiBjb21wbGV0ZSgpIG1vv2UgYnnmIHW/eXRlIHR5bGtvIHcgdHJ5YmllIFdwcm93YWR6YW5pYSIKKwogIy4KICMuICogWWVzIHRoaXMgaXMgdWdseSwgSSBkb24ndCBwYXJ0aWN1bGFybHkgbGlrZSBpdCBlaXRoZXIuICBCdXQgZG9pbmcgaXQKICMuICogdGhpcyB3YXkgaGFzIHRoZSBjb21wZWxsaW5nIGFkdmFudGFnZSB0aGF0IHRyYW5zbGF0aW9ucyBuZWVkIG5vdCB0bwpAQCAtNzcxLDYgKzc3NywyMSBAQAogbXNnaWQgImZpbmlzaGVkIHNvdXJjaW5nICVzIgogbXNnc3RyICJza2/xY3pvbm8gd2N6eXR5d2FuaWUgJXMiCiAKK21zZ2lkICJtb2RlbGluZSIKK21zZ3N0ciAibW9kZWxpbmUiCisKK21zZ2lkICItLWNtZCBhcmd1bWVudCIKK21zZ3N0ciAiLS1jbWQgYXJndW1lbnQiCisKK21zZ2lkICItYyBhcmd1bWVudCIKK21zZ3N0ciAiLWMgYXJndW1lbnQiCisKK21zZ2lkICJlbnZpcm9ubWVudCB2YXJpYWJsZSIKK21zZ3N0ciAiem1pZW5uYSC2cm9kb3dpc2tvd2EiCisKK21zZ2lkICJlcnJvciBoYW5kbGVyIgorbXNnc3RyICJvYnOzdWdhIGKz6mR1IgorCiBtc2dpZCAiVzE1OiBXYXJuaW5nOiBXcm9uZyBsaW5lIHNlcGFyYXRvciwgXk0gbWF5IGJlIG1pc3NpbmciCiBtc2dzdHIgIlcxNTogT1NUUlpFr0VOSUU6IE5pZXezYbZjaXd5IHNlcGFyYXRvciB3aWVyc3p5LCBwZXduaWUgYnJhayBeTSIKIApAQCAtMTE1OCw5ICsxMTc5LDE5IEBACiBtc2dpZCAiR3JlZXRpbmdzLCBWaW0gdXNlciEiCiBtc2dzdHIgIldpdGFqIHW/eXRrb3duaWt1IFZpbWEhIgogCittc2dpZCAiRTc4NDogQ2Fubm90IGNsb3NlIGxhc3QgdGFiIHBhZ2UiCittc2dzdHIgIkU3ODQ6IE5pZSBtb2fqIHphbWtuseYgb3N0YXRuaWVqIGthcnR5IgorCittc2dpZCAiQWxyZWFkeSBvbmx5IG9uZSB0YWIgcGFnZSIKK21zZ3N0ciAiSmVzdCBqdb8gdHlsa28gamVkbmEga2FydGEiCisKIG1zZ2lkICJFZGl0IEZpbGUgaW4gbmV3IHdpbmRvdyIKIG1zZ3N0ciAiRWR5dHVqIHBsaWsgdyBub3d5bSBva25pZSIKIAorIywgYy1mb3JtYXQKK21zZ2lkICJUYWIgcGFnZSAlZCIKK21zZ3N0ciAiS2FydGEgJWQiCisKIG1zZ2lkICJObyBzd2FwIGZpbGUiCiBtc2dzdHIgIkJyYWsgcGxpa3Ugd3ltaWFueSIKIApAQCAtMTQwNCw2ICsxNDM1LDkgQEAKIG1zZ2lkICJbTmV3IEZpbGVdIgogbXNnc3RyICJbTm93eSBQbGlrXSIKIAorbXNnaWQgIltOZXcgRElSRUNUT1JZXSIKK21zZ3N0ciAiW05vd3kgS0FUQUxPR10iCisKIG1zZ2lkICJbRmlsZSB0b28gYmlnXSIKIG1zZ3N0ciAiW1phIGR1v3kgcGxpa10iCiAKQEAgLTE0NTYsOCArMTQ5MCw5IEBACiBtc2dpZCAiW2NyeXB0ZWRdIgogbXNnc3RyICJbemFrb2Rvd2FuZV0iCiAKLW1zZ2lkICJbQ09OVkVSU0lPTiBFUlJPUl0iCi1tc2dzdHIgIltCo6FEIFcgUFJaRU1JQU5JRV0iCisjLCBjLWZvcm1hdAorbXNnaWQgIltDT05WRVJTSU9OIEVSUk9SIGluIGxpbmUgJWxkXSIKK21zZ3N0ciAiW0KjoUQgVyBQUlpFTUlBTklFIHcgbGluaWkgJWxkXSIKIAogIywgYy1mb3JtYXQKIG1zZ2lkICJbSUxMRUdBTCBCWVRFIGluIGxpbmUgJWxkXSIKQEAgLTE5MDksNiArMTk0NCwxNSBAQAogbXNnaWQgIlZpbTogUmVjZWl2ZWQgXCJkaWVcIiByZXF1ZXN0IGZyb20gc2Vzc2lvbiBtYW5hZ2VyXG4iCiBtc2dzdHIgIlZpbTogb3RyenltYW5vIL+xZGFuaWUgXCJkaWVcIiBvZCBtYW5hZL9lcmEgc2VzamlcbiIKIAorbXNnaWQgIkNsb3NlIgorbXNnc3RyICJaYW1rbmlqIgorCittc2dpZCAiTmV3IHRhYiIKK21zZ3N0ciAiTm93YSBrYXJ0YSIKKworbXNnaWQgIk9wZW4gVGFiLi4uIgorbXNnc3RyICJPdHfzcnoga2FydOouLi4iCisKIG1zZ2lkICJWaW06IE1haW4gd2luZG93IHVuZXhwZWN0ZWRseSBkZXN0cm95ZWRcbiIKIG1zZ3N0ciAiVmltOiBHs/N3bmUgb2tubyBuaWVvY3pla2l3YW5pZSB6bmlzemN6b25lXG4iCiAKQEAgLTE5ODAsNiArMjAyNCwxMiBAQAogbXNnaWQgIkU2NzI6IFVuYWJsZSB0byBvcGVuIHdpbmRvdyBpbnNpZGUgTURJIGFwcGxpY2F0aW9uIgogbXNnc3RyICJFNjcyOiBOaWUgbW+/bmEgb3R3b3J6eeYgb2tuYSB3ZXdusXRyeiBhcGxpa2FjamkgTURJIgogCittc2dpZCAiQ2xvc2UgdGFiIgorbXNnc3RyICJaYW1rbmlqIGthcnTqIgorCittc2dpZCAiT3BlbiB0YWIuLi4iCittc2dzdHIgIk90d/NyeiBrYXJ06i4uLiIKKwogbXNnaWQgIkZpbmQgc3RyaW5nICh1c2UgJ1xcXFwnIHRvIGZpbmQgIGEgJ1xcJykiCiBtc2dzdHIgIlpuYWpkvCBjabFnICh1v3lqICdcXFxcJyBkbyBzenVrYW5pYSAnXFwnKSIKIApAQCAtMjY5OSw3ICsyNzQ5LDkgQEAKICIgICBsdWI6IgogCiBtc2dpZCAid2hlcmUgY2FzZSBpcyBpZ25vcmVkIHByZXBlbmQgLyB0byBtYWtlIGZsYWcgdXBwZXIgY2FzZSIKLW1zZ3N0ciAiZ2R6aWUgd2llbGtvtuYgem5ha/N3IGplc3QgaWdub3Jvd2FuYSBkb2RhaiBuYSBwb2N6sXRrdSAvIGJ5IGZsYWdhIGJ5s2Egd2llbGuxIGxpdGVysSIKK21zZ3N0ciAiIgorImdkemllIHdpZWxrb7bmIHpuYWvzdyBqZXN0IGlnbm9yb3dhbmEgZG9kYWogbmEgcG9jerF0a3UgLyBieSBmbGFnYSBiebNhICIKKyJ3aWVsa7EgbGl0ZXKxIgogCiBtc2dpZCAiIgogIlxuIgpAQCAtMjgxMiw2ICsyODY0LDkgQEAKIG1zZ2lkICItLW5vcGx1Z2luXHRcdERvbid0IGxvYWQgcGx1Z2luIHNjcmlwdHMiCiBtc2dzdHIgIi0tbm9wbHVnaW5cdFx0TmllILNhZHVqIHNrcnlwdPN3IHd0eWN6ZWsiCiAKK21zZ2lkICItcFtOXVx0XHRPcGVuIE4gdGFiIHBhZ2VzIChkZWZhdWx0OiBvbmUgZm9yIGVhY2ggZmlsZSkiCittc2dzdHIgIi1wW05dXHRcdE90d/NyeiBOIGthcnQgKGRvbXm2bG5pZTogcG8gamVkbmVqIGRsYSBrYb9kZWdvIHBsaWt1KSIKKwogbXNnaWQgIi1vW05dXHRcdE9wZW4gTiB3aW5kb3dzIChkZWZhdWx0OiBvbmUgZm9yIGVhY2ggZmlsZSkiCiBtc2dzdHIgIi1vW05dXHRcdE90d/NyeiBOIG9raWVuIChkb215tmxuaWU6IHBvIGplZG55bSBkbGEga2G/ZGVnbyBwbGlrdSkiCiAKQEAgLTI4NjUsNiArMjkyMCw5IEBACiBtc2dpZCAiLS1yZW1vdGUtd2FpdC1zaWxlbnQgPGZpbGVzPiAgU2FtZSwgZG9uJ3QgY29tcGxhaW4gaWYgdGhlcmUgaXMgbm8gc2VydmVyIgogbXNnc3RyICItLXJlbW90ZS13YWl0LXNpbGVudCA8cGxpa2k+ICBUbyBzYW1vLCBuaWUgbmFyemVrYWogamW2bGkgbmllIG1hIHNlcndlcmEiCiAKK21zZ2lkICItLXJlbW90ZS10YWIgPGZpbGVzPiAgQXMgLS1yZW1vdGUgYnV0IG9wZW4gdGFiIHBhZ2UgZm9yIGVhY2ggZmlsZSIKK21zZ3N0ciAiLS1yZW1vdGUtdGFiIDxwbGlraT5cdFRhayBqYWsgLS1yZW1vdGUgYWxlIG90d/NyeiBqZWRusSBrYXJ06iBkbGEga2G/ZGVnbyBwbGlrdSIKKwogbXNnaWQgIi0tcmVtb3RlLXNlbmQgPGtleXM+XHRTZW5kIDxrZXlzPiB0byBhIFZpbSBzZXJ2ZXIgYW5kIGV4aXQiCiBtc2dzdHIgIi0tcmVtb3RlLXNlbmQgPGtsYXdpc3plPlx0V3m2bGlqIDxrbGF3aXN6ZT4gZG8gc2Vyd2VyYSBWaW1hIGkgemFrb/FjeiIKIApAQCAtMjk4NCwyNSArMzA0Miw2IEBACiBtc2dpZCAiLS1zb2NrZXRpZCA8eGlkPlx0T3BlbiBWaW0gaW5zaWRlIGFub3RoZXIgR1RLIHdpZGdldCIKIG1zZ3N0ciAiLS1zb2NrZXRpZCA8eGlkPlx0T3R383J6IFZpbSB3ZXdusXRyeiBpbm5lZ28gd2lkZ2V0dSBHVEsiCiAKLW1zZ2lkICIiCi0iXG4iCi0iQXJndW1lbnRzIHJlY29nbmlzZWQgYnkga3ZpbSAoS0RFIHZlcnNpb24pOlxuIgotbXNnc3RyICIiCi0iXG4iCi0iQXJndW1lbnR5IHJvenBvem5hd2FuZSBwcnpleiBrdmltICh3ZXJzamEgS0RFKTpcbiIKLQotbXNnaWQgIi1ibGFja1x0XHRVc2UgcmV2ZXJzZSB2aWRlbyIKLW1zZ3N0ciAiLWJsYWNrXHRcdFN0b3N1aiBuZWdhdHl3IGtvbG9y83ciCi0KLW1zZ2lkICItdGlwXHRcdFx0RGlzcGxheSB0aGUgdGlwIGRpYWxvZyBvbiBzdGFydHVwIgotbXNnc3RyICItdGlwXHRcdFx0UG9rYb8gb2tubyB3c2thevN3ZWsgbmEgcG9jerF0a3UiCi0KLW1zZ2lkICItbm90aXBcdFx0RGlzYWJsZSB0aGUgdGlwIGRpYWxvZyIKLW1zZ3N0ciAiLW5vdGlwXHRcdFd5s7FjeiBva25vIHdza2F683dlayIKLQotbXNnaWQgIi0tZGlzcGxheSA8ZGlzcGxheT5cdFJ1biB2aW0gb24gPGRpc3BsYXk+IgotbXNnc3RyICItLWRpc3BsYXkgPGRpc3BsYXk+XHRVcnVjaG9tIHZpbSBuYSA8ZGlzcGxheT4iCi0KIG1zZ2lkICItUCA8cGFyZW50IHRpdGxlPlx0T3BlbiBWaW0gaW5zaWRlIHBhcmVudCBhcHBsaWNhdGlvbiIKIG1zZ3N0ciAiLVAgPHR5dHWzIHJvZHppY2E+XHRPdHfzcnogVmltYSB3ZXdusXRyeiByb2R6aWNpZWxza2llaiBhcGxpa2FjamkiCiAKQEAgLTM0MjMsNiArMzQ2MiwxMCBAQAogbXNnaWQgIkUzMTc6IHBvaW50ZXIgYmxvY2sgaWQgd3JvbmcgMiIKIG1zZ3N0ciAiRTMxNzogbmllcG9wcmF3bmUgaWQgYmxva3Ugb2RuaWVzaWVuaWEgMiIKIAorIywgYy1mb3JtYXQKK21zZ2lkICJFNzczOiBTeW1saW5rIGxvb3AgZm9yIFwiJXNcIiIKK21zZ3N0ciAiRTc3MzogUOp0bGEgZG93abF6YfEgZGxhIFwiJXNcIiIKKwogbXNnaWQgIkUzMjU6IEFUVEVOVElPTiIKIG1zZ3N0ciAiRTMyNTogVVdBR0EiCiAKQEAgLTM1MTEsMTYgKzM1NTQsMTYgQEAKICImT3BlbiBSZWFkLU9ubHlcbiIKICImRWRpdCBhbnl3YXlcbiIKICImUmVjb3ZlclxuIgorIiZEZWxldGUgaXRcbiIKICImUXVpdFxuIgotIiZBYm9ydFxuIgotIiZEZWxldGUgaXQiCisiJkFib3J0IgogbXNnc3RyICIiCiAiJk90d/NyeiBSZWFkLU9ubHlcbiIKICImRWR5dHVqIHBvbWltb1xuIgogIk8mZHR383J6XG4iCisiJlVzdfFcbiIKICImWmFrb/FjelxuIgotIiZQb3J6deZcbiIKLSImU2thc3VqIGdvIgorIiZQb3J6deYiCiAKIG1zZ2lkICJFMzI2OiBUb28gbWFueSBzd2FwIGZpbGVzIGZvdW5kIgogbXNnc3RyICJFMzI2OiBabmFsZXppb25vIHpieXQgd2llbGUgcGxpa/N3IHd5bWlhbnkiCkBAIC0zNzg3LDYgKzM4MzAsMTIgQEAKIG1zZ2lkICJFNTA1OiAiCiBtc2dzdHIgIkU1MDU6ICIKIAorbXNnaWQgIkU3NzQ6ICdvcGVyYXRvcmZ1bmMnIGlzIGVtcHR5IgorbXNnc3RyICJFNzc0OiAnb3BlcmF0b3JmdW5jJyBqZXN0IHB1c3RhIgorCittc2dpZCAiRTc3NTogRXZhbCBmZWF0dXJlIG5vdCBhdmFpbGFibGUiCittc2dzdHIgIkU3NzU6IEZ1bmtjam9uYWxub7bmIGV2YWwgbmllIGplc3QgZG9zdOpwbmEiCisKIG1zZ2lkICJXYXJuaW5nOiB0ZXJtaW5hbCBjYW5ub3QgaGlnaGxpZ2h0IgogbXNnc3RyICJPU1RSWkWvRU5JRTogdGVybWluYWwgbmllIHd5a29udWplIHBvZLZ3aWV0bGFuaWEiCiAKQEAgLTQxMzQsNiArNDE4Myw5IEBACiBtc2dpZCAiLi4uKHRydW5jYXRlZCkiCiBtc2dzdHIgIi4uLihvYmNp6nR5KSIKIAorbXNnaWQgIk1lc3NhZ2UiCittc2dzdHIgIldpYWRvbW+25iIKKwogbXNnaWQgIidjb2x1bW5zJyBpcyBub3QgODAsIGNhbm5vdCBleGVjdXRlIGV4dGVybmFsIGNvbW1hbmRzIgogbXNnc3RyICInY29sdW1ucycgbmllIHd5bm9zaSA4MCwgbmllIG1vZ+ogd3lrb25h5iB6ZXdu6nRyem55Y2gga29tZW5kIgogCkBAIC00MTgyLDE0ICs0MjM0LDYgQEAKIG1zZ2lkICJPcGVuaW5nIHRoZSBYIGRpc3BsYXkgdG9vayAlbGQgbXNlYyIKIG1zZ3N0ciAiT3R3aWVyYW5pZSBla3JhbnUgWCB0cndhs28gJWxkIG1zZWMiCiAKLSMuIEtERSBzb21ldGltZXMgcHJvZHVjZXMgWCBlcnJvciB0aGF0IHdlIHdhbnQgdG8gaWdub3JlCi1tc2dpZCAiIgotIlxuIgotIlZpbTogR290IFggZXJyb3IgYnV0IHdlIGNvbnRpbnVlLi4uXG4iCi1tc2dzdHIgIiIKLSJcbiIKLSJWaW06IERvc3Rhs2VtIGKzsWQgWCBhbGUga29udHludXVq6i4uLlxuIgotCiBtc2dpZCAiIgogIlxuIgogIlZpbTogR290IFggZXJyb3JcbiIKQEAgLTQzNzQsNiArNDQxOCw5IEBACiBtc2dpZCAiRTY4MTogQnVmZmVyIGlzIG5vdCBsb2FkZWQiCiBtc2dzdHIgIkU2ODE6IEJ1Zm9yIG5pZSBqZXN0IHphs2Fkb3dhbnkiCiAKK21zZ2lkICJFNzc3OiBTdHJpbmcgb3IgTGlzdCBleHBlY3RlZCIKK21zZ3N0ciAiRTc3NzogT2N6ZWtpd2FubyCzYfFjdWNoYSBsdWIgbGlzdHkiCisKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTM2OTogaW52YWxpZCBpdGVtIGluICVzJSVbXSIKIG1zZ3N0ciAiRTM2OTogTmlld7NhtmNpd3kgZWxlbWVudCB3ICVzJSVbXSIKQEAgLTQ1NTcsNiArNDYwNCwxMCBAQAogbXNnaWQgIlNjYW5uaW5nIGluY2x1ZGVkIGZpbGU6ICVzIgogbXNnc3RyICJQcnplZ2yxZCB3s7Fjem9uZWdvIHBsaWt1OiAlcyIKIAorIywgYy1mb3JtYXQKK21zZ2lkICJTZWFyY2hpbmcgaW5jbHVkZWQgZmlsZSAlcyIKK21zZ3N0ciAiUHJ6ZXN6dWtpd2FuaWUgd7OxY3pvbmVnbyBwbGlrdSAlcyIKKwogbXNnaWQgIkUzODc6IE1hdGNoIGlzIG9uIGN1cnJlbnQgbGluZSIKIG1zZ3N0ciAiRTM4NzogV3pvcnplYyBwYXN1amUgdyBiaWW/sWN5bSB3aWVyc3p1IgogCkBAIC00NjQ3LDEyICs0Njk4LDggQEAKIG1zZ3N0ciAiRkxBRyBwbyB1v3ljaXUgZmxhZyB3ICVzIHdpZXJzeiAlZDogJXMiCiAKICMsIGMtZm9ybWF0Ci1tc2dpZCAiQ2hhcmFjdGVyIHVzZWQgZm9yIFNMQVNIIG11c3QgYmUgQVNDSUk7IGluICVzIGxpbmUgJWQ6ICVzIgotbXNnc3RyICJabmFrIHW/eXR5IGpha28gU0xBU0ggbXVzaSBieeYgem5ha2llbSBBU0NJSTsgdyAlcyB3aWVyc3ogJWQ6ICVzIgotCi0jLCBjLWZvcm1hdAotbXNnaWQgIldyb25nIENPTVBPVU5ETUFYIHZhbHVlIGluICVzIGxpbmUgJWQ6ICVzIgotbXNnc3RyICJas2Egd2FydG+25iBDT01QT1VORE1BWCB3ICVzIHdpZXJzeiAlZDogJXMiCittc2dpZCAiV3JvbmcgQ09NUE9VTkRXT1JETUFYIHZhbHVlIGluICVzIGxpbmUgJWQ6ICVzIgorbXNnc3RyICJas2Egd2FydG+25iBDT01QT1VORFdPUkRNQVggdyAlcyB3aWVyc3ogJWQ6ICVzIgogCiAjLCBjLWZvcm1hdAogbXNnaWQgIldyb25nIENPTVBPVU5ETUlOIHZhbHVlIGluICVzIGxpbmUgJWQ6ICVzIgpAQCAtNDY2Myw2ICs0NzEwLDEwIEBACiBtc2dzdHIgIlqzYSB3YXJ0b7bmIENPTVBPVU5EU1lMTUFYIHcgJXMgd2llcnN6ICVkOiAlcyIKIAogIywgYy1mb3JtYXQKK21zZ2lkICJXcm9uZyBDSEVDS0NPTVBPVU5EUEFUVEVSTiB2YWx1ZSBpbiAlcyBsaW5lICVkOiAlcyIKK21zZ3N0ciAiWrNhIHdhcnRvtuYgQ0hFQ0tDT01QT1VORFBBVFRFUk4gdyAlcyB3aWVyc3ogJWQ6ICVzIgorCisjLCBjLWZvcm1hdAogbXNnaWQgIkRpZmZlcmVudCBjb21iaW5pbmcgZmxhZyBpbiBjb250aW51ZWQgYWZmaXggYmxvY2sgaW4gJXMgbGluZSAlZDogJXMiCiBtc2dzdHIgIlLzv25lIGZsYWdpIHqzb79l8SB3IGtvbnR5bnVvd2FueW0gYmxva3UgYWZpa3N1IHcgJXMgd2llcnN6ICVkOiAlcyIKIApAQCAtNDY3MSw4ICs0NzIyLDEwIEBACiBtc2dzdHIgIlBvd3TzcnpvbnkgYWZpa3MgdyAlcyB3aWVyc3ogJWQ6ICVzIgogCiAjLCBjLWZvcm1hdAotbXNnaWQgIkFmZml4IGFsc28gdXNlZCBmb3IgQkFEL1JBUi9LRVAvTkVFREFGRklYL05FRURDT01QT1VORCBpbiAlcyBsaW5lICVkOiAlcyIKLW1zZ3N0ciAiQWZpa3Mgdb95dHkgdGFrv2UgZGxhIEJBRC9SQVIvS0VQL05FRURBRkZJWC9ORUVEQ09NUE9VTkQgdyAlcyB3aWVyc3ogJWQ6ICVzIgorbXNnaWQgIiIKKyJBZmZpeCBhbHNvIHVzZWQgZm9yIEJBRC9SQVJFL0tFRVBDQVNFL05FRURBRkZJWC9ORUVEQ09NUE9VTkQvTk9TVUdHRVNUIGluICVzICIKKyJsaW5lICVkOiAlcyIKK21zZ3N0ciAiQWZpa3Mgdb95dHkgdGFrv2UgZGxhIEJBRC9SQVJFL0tFRVBDQVNFL05FRURBRkZJWC9ORUVEQ09NUE9VTkQvTk9TVUdHRVNUIHcgJXMgd2llcnN6ICVkOiAlcyIKIAogIywgYy1mb3JtYXQKIG1zZ2lkICJFeHBlY3RlZCBZIG9yIE4gaW4gJXMgbGluZSAlZDogJXMiCkBAIC00NjgzLDggKzQ3MzYsMTIgQEAKIG1zZ3N0ciAiQrPqZG55IHdhcnVuZWsgdyAlcyB3aWVyc3ogJWQ6ICVzIgogCiAjLCBjLWZvcm1hdAotbXNnaWQgIkV4cGVjdGVkIFJFUCBjb3VudCBpbiAlcyBsaW5lICVkIgotbXNnc3RyICJPY3pla2l3YW5vIGlsb7ZjaSBSRVAgdyAlcyB3aWVyc3p1ICVkIgorbXNnaWQgIkFmZml4IGZsYWdzIGlnbm9yZWQgd2hlbiBQRlhQT1NUUE9ORSB1c2VkIGluICVzIGxpbmUgJWQ6ICVzIgorbXNnc3RyICJGbGFnaSBhZmlrc/N3IHppZ25vcm93YW5lIGtpZWR5IHW/eXRvIFBGWFBPU1RQT05FIHcgJXMgd2llcnogJWQ6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkV4cGVjdGVkIFJFUChTQUwpIGNvdW50IGluICVzIGxpbmUgJWQiCittc2dzdHIgIk9jemVraXdhbm8gaWxvtmNpIFJFUChTQUwpIHcgJXMgd2llcnN6dSAlZCIKIAogIywgYy1mb3JtYXQKIG1zZ2lkICJFeHBlY3RlZCBNQVAgY291bnQgaW4gJXMgbGluZSAlZCIKQEAgLTQ4MDIsOCArNDg1OSwzNCBAQAogbXNnc3RyICJaaWdub3Jvd2GzZW0gJWQgc7PzdyB6ZSB6bmFrYW1pIG5pZSBBU0NJSSIKIAogIywgYy1mb3JtYXQKLW1zZ2lkICJDb21wcmVzc2VkICVkIG9mICVkIG5vZGVzOyAlZCUlIHJlbWFpbmluZyIKLW1zZ3N0ciAiU2tvbXByZXNvd2FubyAlZCB6ICVkIHfqerPzdzsgcG96b3N0YWplICVkJSUiCittc2dpZCAiQ29tcHJlc3NlZCAlZCBvZiAlZCBub2RlczsgJWQgKCVkJSUpIHJlbWFpbmluZyIKK21zZ3N0ciAiU2tvbXByZXNvd2FubyAlZCB6ICVkIHfqerPzdzsgcG96b3N0YWplICVkICglZCUlKSIKKworbXNnaWQgIlJlYWRpbmcgYmFjayBzcGVsbCBmaWxlLi4uIgorbXNnc3RyICJPZGN6eXR1auogcGxpayBzcHJhd2R6YW5pYSBwaXNvd25pLi4uIgorCisjLgorIy4gKiBHbyB0aHJvdWdoIHRoZSB0cmllIG9mIGdvb2Qgd29yZHMsIHNvdW5kZm9sZCBlYWNoIHdvcmQgYW5kIGFkZCBpdCB0bworIy4gKiB0aGUgc291bmRmb2xkIHRyaWUuCisjLgorbXNnaWQgIlBlcmZvcm1pbmcgc291bmRmb2xkaW5nLi4uIgorbXNnc3RyICJXeWtvbnVq6iBrb21wcmVzauogZLx3aeprb3exLi4uIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIk51bWJlciBvZiB3b3JkcyBhZnRlciBzb3VuZGZvbGRpbmc6ICVsZCIKK21zZ3N0ciAiTGljemJhIHOz83cgcG8ga29tcHJlc2ppIGS8d2nqa293ZWo6ICVsZCIKKworIywgYy1mb3JtYXQKK21zZ2lkICJUb3RhbCBudW1iZXIgb2Ygd29yZHM6ICVkIgorbXNnc3RyICJDYbNrb3dpdGEgbGljemJhIHOz83c6ICVkIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIldyaXRpbmcgc3VnZ2VzdGlvbiBmaWxlICVzIC4uLiIKK21zZ3N0ciAiWmFwaXN1auogcGxpayBzdWdlc3RpaSAlcyAuLi4iCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXN0aW1hdGVkIHJ1bnRpbWUgbWVtb3J5IHVzZTogJWQgYnl0ZXMiCittc2dzdHIgIk9jemVraXdhbmUgenW/eWNpZSBwYW1p6mNpOiAlZCBiYWp083ciCiAKIG1zZ2lkICJFNzUxOiBPdXRwdXQgZmlsZSBuYW1lIG11c3Qgbm90IGhhdmUgcmVnaW9uIG5hbWUiCiBtc2dzdHIgIkU3NTE6IE5hendhIHBsaWt1IHd5bmlrb3dlZ28gbmllIG1vv2UgYnnmIG5henexIHJlZ2lvbnUiCkBAIC00ODI2LDEzICs0OTA5LDE3IEBACiBtc2dzdHIgIlpyb2Jpb25lISIKIAogIywgYy1mb3JtYXQKLW1zZ2lkICJFc3RpbWF0ZWQgcnVudGltZSBtZW1vcnkgdXNlOiAlZCBieXRlcyIKLW1zZ3N0ciAiT2N6ZWtpd2FuZSB6db95Y2llIHBhbWnqY2k6ICVkIGJhanTzdyIKLQotIywgYy1mb3JtYXQKIG1zZ2lkICJFNzY1OiAnc3BlbGxmaWxlJyBkb2VzIG5vdCBoYXZlICVsZCBlbnRyaWVzIgogbXNnc3RyICJFNzY1OiAnc3BlbGxmaWxlJyBuaWUgcG9zaWFkYSB3cGlz83cgJWxkIgogCisjLCBjLWZvcm1hdAorbXNnaWQgIldvcmQgcmVtb3ZlZCBmcm9tICVzIgorbXNnc3RyICJVc3Vuaep0byBzs293byB6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIldvcmQgYWRkZWQgdG8gJXMiCittc2dzdHIgIkRvZGFubyBzs293byBkbyAlcyIKKwogbXNnaWQgIkU3NjM6IFdvcmQgY2hhcmFjdGVycyBkaWZmZXIgYmV0d2VlbiBzcGVsbCBmaWxlcyIKIG1zZ3N0ciAiRTc2MzogWm5ha2kgd3lyYXrzdyBy879uabEgc2nqIG1p6mR6eSBwbGlrYW1pIHNwcmF3ZHphbmlhIHBpc293bmkiCiAKQEAgLTQ4NTksMTAgKzQ5NDYsMzAgQEAKIG1zZ2lkICJFNzUzOiBOb3QgZm91bmQ6ICVzIgogbXNnc3RyICJFNzUzOiBOaWUgem5hbGV6aW9ubzogJXMiCiAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTc3ODogVGhpcyBkb2VzIG5vdCBsb29rIGxpa2UgYSAuc3VnIGZpbGU6ICVzIgorbXNnc3RyICJFNzc4OiBUZW4gcGxpayBuaWUgd3lnbLFkYSBuYSBwbGlrIC5zdWc6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkU3Nzk6IE9sZCAuc3VnIGZpbGUsIG5lZWRzIHRvIGJlIHVwZGF0ZWQ6ICVzIgorbXNnc3RyICJFNzc5OiBTdGFyeSBwbGlrIC5zdWcsIGtvbmllY3puZSBqZXN0IHVha3R1YWxuaWVuaWU6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkU3ODA6IC5zdWcgZmlsZSBpcyBmb3IgbmV3ZXIgdmVyc2lvbiBvZiBWaW06ICVzIgorbXNnc3RyICJFNzgwOiBQbGlrIC5zdWcgZGxhIG5vd3N6ZWogd2Vyc2ppIFZpbWE6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkU3ODE6IC5zdWcgZmlsZSBkb2Vzbid0IG1hdGNoIC5zcGwgZmlsZTogJXMiCittc2dzdHIgIkU3ODE6IFBsaWsgLnN1ZyBuaWUgcGFzdWplIGRvIHBsaWt1IC5zcGw6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkU3ODI6IGVycm9yIHdoaWxlIHJlYWRpbmcgLnN1ZyBmaWxlOiAlcyIKK21zZ3N0ciAiRTc4MjogQrOxZCB3IGN6YXNpZSBvZGN6eXR1IHBsaWt1IC5zdWc6ICVzIgorCiAjLiBUaGlzIHNob3VsZCBoYXZlIGJlZW4gY2hlY2tlZCB3aGVuIGdlbmVyYXRpbmcgdGhlIC5zcGwKICMuICogZmlsZS4KLW1zZ2lkICJFOTk5OiBkdXBsaWNhdGUgY2hhciBpbiBNQVAgZW50cnkiCi1tc2dzdHIgIkU5OTk6IHBvd3Tzcnpvbnkgem5hayB3ZSB3cGlzaWUgTUFQIgorbXNnaWQgIkU3ODM6IGR1cGxpY2F0ZSBjaGFyIGluIE1BUCBlbnRyeSIKK21zZ3N0ciAiRTc4MzogUG9kd29qb255IHpuYWsgd2Ugd3Bpc2llIE1BUCIKIAogIywgYy1mb3JtYXQKIG1zZ2lkICJFMzkwOiBJbGxlZ2FsIGFyZ3VtZW50OiAlcyIKQEAgLTUxNzcsMTUgKzUyODQsNTIgQEAKIG1zZ2lkICJObyB1bmRvIHBvc3NpYmxlOyBjb250aW51ZSBhbnl3YXkiCiBtc2dzdHIgIkNvZm5p6mNpZSBuaWVtb79saXdlOyBtaW1vIHRvIGtvbnR5bnV1auoiCiAKK21zZ2lkICJBbHJlYWR5IGF0IG9sZGVzdCBjaGFuZ2UiCittc2dzdHIgIkp1vyB3IG1pZWpzY3Ugb3N0YXRuaWVqIHptaWFueSIKKworbXNnaWQgIkFscmVhZHkgYXQgbmV3ZXN0IGNoYW5nZSIKK21zZ3N0ciAiSnW/IHcgbWllanNjdSBuYWpub3dzemVqIHptaWFueSIKKworIywgYy1mb3JtYXQKK21zZ2lkICJVbmRvIG51bWJlciAlbGQgbm90IGZvdW5kIgorbXNnc3RyICJOaWUgem5hbGV6aW9ubyBudW1lcnUgY29mbmnqY2lhICVsZCIKKwogbXNnaWQgIkU0Mzg6IHVfdW5kbzogbGluZSBudW1iZXJzIHdyb25nIgogbXNnc3RyICJFNDM4OiB1X3VuZG86IG5pZXezYbZjaXdlIG51bWVyeSB3aWVyc3p5IgogCi1tc2dpZCAiMSBjaGFuZ2UiCittc2dpZCAibW9yZSBsaW5lIgorbXNnc3RyICIxIHdpZXJzeiB3aepjZWoiCisKK21zZ2lkICJtb3JlIGxpbmVzIgorbXNnc3RyICJ3aepjZWogd2llcnN6eSIKKworbXNnaWQgImxpbmUgbGVzcyIKK21zZ3N0ciAiMSB3aWVyc3ogbW5pZWoiCisKK21zZ2lkICJmZXdlciBsaW5lcyIKK21zZ3N0ciAibW5pZWogd2llcnN6eSIKKworbXNnaWQgImNoYW5nZSIKIG1zZ3N0ciAiMSB6bWlhbmEiCiAKK21zZ2lkICJjaGFuZ2VzIgorbXNnc3RyICJ6bWlhbnkiCisKICMsIGMtZm9ybWF0Ci1tc2dpZCAiJWxkIGNoYW5nZXMiCi1tc2dzdHIgIiVsZCB6bWlhbiIKK21zZ2lkICIlbGQgJXM7ICVzICMlbGQgICVzIgorbXNnc3RyICIlbGQgJXM7ICVzICMlbGQgICVzIgorCittc2dpZCAiYmVmb3JlIgorbXNnc3RyICJwcnplZCIKKworbXNnaWQgImFmdGVyIgorbXNnc3RyICJ6YSIKKworbXNnaWQgIk5vdGhpbmcgdG8gdW5kbyIKK21zZ3N0ciAiTmllIG1hIHptaWFuIGRvIGNvZm5p6mNpYSIKKworbXNnaWQgIm51bWJlciBjaGFuZ2VzICB0aW1lIgorbXNnc3RyICJsaWN6YmEgem1pYW55IGN6YXMiCiAKIG1zZ2lkICJFNDM5OiB1bmRvIGxpc3QgY29ycnVwdCIKIG1zZ3N0ciAiRTQzOTogdXN6a29kem9uYSBsaXN0YSBjb2ZhbmlhIgpAQCAtNTM2NCw5ICs1NTA4LDYgQEAKIG1zZ2lkICJ3aXRoIChjbGFzc2ljKSBHVUkuIgogbXNnc3RyICJ6IChrbGFzeWN6bnltKSBHVUkuIgogCi1tc2dpZCAid2l0aCBLREUgR1VJLiIKLW1zZ3N0ciAieiBHVUkgS0RFLiIKLQogbXNnaWQgIiAgRmVhdHVyZXMgaW5jbHVkZWQgKCspIG9yIG5vdCAoLSk6XG4iCiBtc2dzdHIgIiAgT3BjamUgd7OxY3pvbmUgKCspIGx1YiBuaWUgKC0pOlxuIgogCkBAIC01NzgyLDYgKzU5MjMsOSBAQAogbXNnaWQgIkU0MjogTm8gRXJyb3JzIgogbXNnc3RyICJFNDI6IEJyYWsgQrPqZPN3IgogCittc2dpZCAiRTc3NjogTm8gbG9jYXRpb24gbGlzdCIKK21zZ3N0ciAiRTc3NjogQnJhayBsaXN0eSBsb2thY2ppIgorCiBtc2dpZCAiRTQzOiBEYW1hZ2VkIG1hdGNoIHN0cmluZyIKIG1zZ3N0ciAiRTQzOiBQb3BzdXR5IGNpsWcgd3pvcmNhIgogCmRpZmYgLS1naXQgYS9zcmMvcHJvdG8vZXhfZ2V0bG4ucHJvIGIvc3JjL3Byb3RvL2V4X2dldGxuLnBybwppbmRleCBiYTE4ZjM4Li45Y2NiNDJmIDEwMDY0NAotLS0gYS9zcmMvcHJvdG8vZXhfZ2V0bG4ucHJvCisrKyBiL3NyYy9wcm90by9leF9nZXRsbi5wcm8KQEAgLTEsNTMgKzEsNTQgQEAKIC8qIGV4X2dldGxuLmMgKi8KLWV4dGVybiBjaGFyX3UgKmdldGNtZGxpbmUgX19BUkdTKChpbnQgZmlyc3RjLCBsb25nIGNvdW50LCBpbnQgaW5kZW50KSk7Ci1leHRlcm4gY2hhcl91ICpnZXRjbWRsaW5lX3Byb21wdCBfX0FSR1MoKGludCBmaXJzdGMsIGNoYXJfdSAqcHJvbXB0LCBpbnQgYXR0ciwgaW50IHhwX2NvbnRleHQsIGNoYXJfdSAqeHBfYXJnKSk7Ci1leHRlcm4gaW50IHRleHRfbG9ja2VkIF9fQVJHUygodm9pZCkpOwotZXh0ZXJuIHZvaWQgdGV4dF9sb2NrZWRfbXNnIF9fQVJHUygodm9pZCkpOwotZXh0ZXJuIGNoYXJfdSAqZ2V0ZXhsaW5lIF9fQVJHUygoaW50IGMsIHZvaWQgKmR1bW15LCBpbnQgaW5kZW50KSk7Ci1leHRlcm4gY2hhcl91ICpnZXRleG1vZGVsaW5lIF9fQVJHUygoaW50IHByb21wdGMsIHZvaWQgKmR1bW15LCBpbnQgaW5kZW50KSk7Ci1leHRlcm4gaW50IGNtZGxpbmVfb3ZlcnN0cmlrZSBfX0FSR1MoKHZvaWQpKTsKLWV4dGVybiBpbnQgY21kbGluZV9hdF9lbmQgX19BUkdTKCh2b2lkKSk7Ci1leHRlcm4gY29sbnJfVCBjbWRsaW5lX2dldHZjb2xfY3Vyc29yIF9fQVJHUygodm9pZCkpOwotZXh0ZXJuIHZvaWQgZnJlZV9jbWRsaW5lX2J1ZiBfX0FSR1MoKHZvaWQpKTsKLWV4dGVybiB2b2lkIHB1dGNtZGxpbmUgX19BUkdTKChpbnQgYywgaW50IHNoaWZ0KSk7Ci1leHRlcm4gdm9pZCB1bnB1dGNtZGxpbmUgX19BUkdTKCh2b2lkKSk7Ci1leHRlcm4gaW50IHB1dF9vbl9jbWRsaW5lIF9fQVJHUygoY2hhcl91ICpzdHIsIGludCBsZW4sIGludCByZWRyYXcpKTsKLWV4dGVybiB2b2lkIGNtZGxpbmVfcGFzdGVfc3RyIF9fQVJHUygoY2hhcl91ICpzLCBpbnQgbGl0ZXJhbGx5KSk7Ci1leHRlcm4gdm9pZCByZWRyYXdjbWRsaW5lIF9fQVJHUygodm9pZCkpOwotZXh0ZXJuIHZvaWQgcmVkcmF3Y21kIF9fQVJHUygodm9pZCkpOwotZXh0ZXJuIHZvaWQgY29tcHV0ZV9jbWRyb3cgX19BUkdTKCh2b2lkKSk7Ci1leHRlcm4gdm9pZCBnb3RvY21kbGluZSBfX0FSR1MoKGludCBjbHIpKTsKLWV4dGVybiBjaGFyX3UgKkV4cGFuZE9uZSBfX0FSR1MoKGV4cGFuZF9UICp4cCwgY2hhcl91ICpzdHIsIGNoYXJfdSAqb3JpZywgaW50IG9wdGlvbnMsIGludCBtb2RlKSk7Ci1leHRlcm4gdm9pZCBFeHBhbmRJbml0IF9fQVJHUygoZXhwYW5kX1QgKnhwKSk7Ci1leHRlcm4gdm9pZCBFeHBhbmRDbGVhbnVwIF9fQVJHUygoZXhwYW5kX1QgKnhwKSk7Ci1leHRlcm4gdm9pZCBFeHBhbmRFc2NhcGUgX19BUkdTKChleHBhbmRfVCAqeHAsIGNoYXJfdSAqc3RyLCBpbnQgbnVtZmlsZXMsIGNoYXJfdSAqKmZpbGVzLCBpbnQgb3B0aW9ucykpOwotZXh0ZXJuIHZvaWQgdGlsZGVfcmVwbGFjZSBfX0FSR1MoKGNoYXJfdSAqb3JpZ19wYXQsIGludCBudW1fZmlsZXMsIGNoYXJfdSAqKmZpbGVzKSk7Ci1leHRlcm4gY2hhcl91ICpzbV9nZXR0YWlsIF9fQVJHUygoY2hhcl91ICpzKSk7Ci1leHRlcm4gY2hhcl91ICphZGRzdGFyIF9fQVJHUygoY2hhcl91ICpmbmFtZSwgaW50IGxlbiwgaW50IGNvbnRleHQpKTsKLWV4dGVybiB2b2lkIHNldF9jbWRfY29udGV4dCBfX0FSR1MoKGV4cGFuZF9UICp4cCwgY2hhcl91ICpzdHIsIGludCBsZW4sIGludCBjb2wpKTsKLWV4dGVybiBpbnQgZXhwYW5kX2NtZGxpbmUgX19BUkdTKChleHBhbmRfVCAqeHAsIGNoYXJfdSAqc3RyLCBpbnQgY29sLCBpbnQgKm1hdGNoY291bnQsIGNoYXJfdSAqKiptYXRjaGVzKSk7Ci1leHRlcm4gaW50IEV4cGFuZEdlbmVyaWMgX19BUkdTKChleHBhbmRfVCAqeHAsIHJlZ21hdGNoX1QgKnJlZ21hdGNoLCBpbnQgKm51bV9maWxlLCBjaGFyX3UgKioqZmlsZSwgY2hhcl91ICooKCpmdW5jKShleHBhbmRfVCAqLCBpbnQpKSkpOwotZXh0ZXJuIGNoYXJfdSAqZ2xvYnBhdGggX19BUkdTKChjaGFyX3UgKnBhdGgsIGNoYXJfdSAqZmlsZSkpOwotZXh0ZXJuIHZvaWQgaW5pdF9oaXN0b3J5IF9fQVJHUygodm9pZCkpOwotZXh0ZXJuIGludCBnZXRfaGlzdHR5cGUgX19BUkdTKChjaGFyX3UgKm5hbWUpKTsKLWV4dGVybiB2b2lkIGFkZF90b19oaXN0b3J5IF9fQVJHUygoaW50IGhpc3R5cGUsIGNoYXJfdSAqbmV3X2VudHJ5LCBpbnQgaW5fbWFwLCBpbnQgc2VwKSk7Ci1leHRlcm4gaW50IGdldF9oaXN0b3J5X2lkeCBfX0FSR1MoKGludCBoaXN0eXBlKSk7Ci1leHRlcm4gY2hhcl91ICpnZXRfY21kbGluZV9zdHIgX19BUkdTKCh2b2lkKSk7Ci1leHRlcm4gaW50IGdldF9jbWRsaW5lX3BvcyBfX0FSR1MoKHZvaWQpKTsKLWV4dGVybiBpbnQgc2V0X2NtZGxpbmVfcG9zIF9fQVJHUygoaW50IHBvcykpOwotZXh0ZXJuIGludCBnZXRfY21kbGluZV90eXBlIF9fQVJHUygodm9pZCkpOwotZXh0ZXJuIGNoYXJfdSAqZ2V0X2hpc3RvcnlfZW50cnkgX19BUkdTKChpbnQgaGlzdHlwZSwgaW50IGlkeCkpOwotZXh0ZXJuIGludCBjbHJfaGlzdG9yeSBfX0FSR1MoKGludCBoaXN0eXBlKSk7Ci1leHRlcm4gaW50IGRlbF9oaXN0b3J5X2VudHJ5IF9fQVJHUygoaW50IGhpc3R5cGUsIGNoYXJfdSAqc3RyKSk7Ci1leHRlcm4gaW50IGRlbF9oaXN0b3J5X2lkeCBfX0FSR1MoKGludCBoaXN0eXBlLCBpbnQgaWR4KSk7Ci1leHRlcm4gdm9pZCByZW1vdmVfa2V5X2Zyb21faGlzdG9yeSBfX0FSR1MoKHZvaWQpKTsKLWV4dGVybiBpbnQgZ2V0X2xpc3RfcmFuZ2UgX19BUkdTKChjaGFyX3UgKipzdHIsIGludCAqbnVtMSwgaW50ICpudW0yKSk7Ci1leHRlcm4gdm9pZCBleF9oaXN0b3J5IF9fQVJHUygoZXhhcmdfVCAqZWFwKSk7Ci1leHRlcm4gdm9pZCBwcmVwYXJlX3ZpbWluZm9faGlzdG9yeSBfX0FSR1MoKGludCBhc2tsZW4pKTsKLWV4dGVybiBpbnQgcmVhZF92aW1pbmZvX2hpc3RvcnkgX19BUkdTKCh2aXJfVCAqdmlycCkpOwotZXh0ZXJuIHZvaWQgZmluaXNoX3ZpbWluZm9faGlzdG9yeSBfX0FSR1MoKHZvaWQpKTsKLWV4dGVybiB2b2lkIHdyaXRlX3ZpbWluZm9faGlzdG9yeSBfX0FSR1MoKEZJTEUgKmZwKSk7Ci1leHRlcm4gdm9pZCBjbWRfcGNoYXIgX19BUkdTKChpbnQgYywgaW50IG9mZnNldCkpOwotZXh0ZXJuIGludCBjbWRfZ2NoYXIgX19BUkdTKChpbnQgb2Zmc2V0KSk7Ci1leHRlcm4gY2hhcl91ICpzY3JpcHRfZ2V0IF9fQVJHUygoZXhhcmdfVCAqZWFwLCBjaGFyX3UgKmNtZCkpOworY2hhcl91ICpnZXRjbWRsaW5lIF9fQVJHUygoaW50IGZpcnN0YywgbG9uZyBjb3VudCwgaW50IGluZGVudCkpOworY2hhcl91ICpnZXRjbWRsaW5lX3Byb21wdCBfX0FSR1MoKGludCBmaXJzdGMsIGNoYXJfdSAqcHJvbXB0LCBpbnQgYXR0ciwgaW50IHhwX2NvbnRleHQsIGNoYXJfdSAqeHBfYXJnKSk7CitpbnQgdGV4dF9sb2NrZWQgX19BUkdTKCh2b2lkKSk7Cit2b2lkIHRleHRfbG9ja2VkX21zZyBfX0FSR1MoKHZvaWQpKTsKK2ludCBjdXJidWZfbG9ja2VkIF9fQVJHUygodm9pZCkpOworY2hhcl91ICpnZXRleGxpbmUgX19BUkdTKChpbnQgYywgdm9pZCAqZHVtbXksIGludCBpbmRlbnQpKTsKK2NoYXJfdSAqZ2V0ZXhtb2RlbGluZSBfX0FSR1MoKGludCBwcm9tcHRjLCB2b2lkICpkdW1teSwgaW50IGluZGVudCkpOworaW50IGNtZGxpbmVfb3ZlcnN0cmlrZSBfX0FSR1MoKHZvaWQpKTsKK2ludCBjbWRsaW5lX2F0X2VuZCBfX0FSR1MoKHZvaWQpKTsKK2NvbG5yX1QgY21kbGluZV9nZXR2Y29sX2N1cnNvciBfX0FSR1MoKHZvaWQpKTsKK3ZvaWQgZnJlZV9jbWRsaW5lX2J1ZiBfX0FSR1MoKHZvaWQpKTsKK3ZvaWQgcHV0Y21kbGluZSBfX0FSR1MoKGludCBjLCBpbnQgc2hpZnQpKTsKK3ZvaWQgdW5wdXRjbWRsaW5lIF9fQVJHUygodm9pZCkpOworaW50IHB1dF9vbl9jbWRsaW5lIF9fQVJHUygoY2hhcl91ICpzdHIsIGludCBsZW4sIGludCByZWRyYXcpKTsKK3ZvaWQgY21kbGluZV9wYXN0ZV9zdHIgX19BUkdTKChjaGFyX3UgKnMsIGludCBsaXRlcmFsbHkpKTsKK3ZvaWQgcmVkcmF3Y21kbGluZSBfX0FSR1MoKHZvaWQpKTsKK3ZvaWQgcmVkcmF3Y21kIF9fQVJHUygodm9pZCkpOwordm9pZCBjb21wdXRlX2NtZHJvdyBfX0FSR1MoKHZvaWQpKTsKK3ZvaWQgZ290b2NtZGxpbmUgX19BUkdTKChpbnQgY2xyKSk7CitjaGFyX3UgKkV4cGFuZE9uZSBfX0FSR1MoKGV4cGFuZF9UICp4cCwgY2hhcl91ICpzdHIsIGNoYXJfdSAqb3JpZywgaW50IG9wdGlvbnMsIGludCBtb2RlKSk7Cit2b2lkIEV4cGFuZEluaXQgX19BUkdTKChleHBhbmRfVCAqeHApKTsKK3ZvaWQgRXhwYW5kQ2xlYW51cCBfX0FSR1MoKGV4cGFuZF9UICp4cCkpOwordm9pZCBFeHBhbmRFc2NhcGUgX19BUkdTKChleHBhbmRfVCAqeHAsIGNoYXJfdSAqc3RyLCBpbnQgbnVtZmlsZXMsIGNoYXJfdSAqKmZpbGVzLCBpbnQgb3B0aW9ucykpOwordm9pZCB0aWxkZV9yZXBsYWNlIF9fQVJHUygoY2hhcl91ICpvcmlnX3BhdCwgaW50IG51bV9maWxlcywgY2hhcl91ICoqZmlsZXMpKTsKK2NoYXJfdSAqc21fZ2V0dGFpbCBfX0FSR1MoKGNoYXJfdSAqcykpOworY2hhcl91ICphZGRzdGFyIF9fQVJHUygoY2hhcl91ICpmbmFtZSwgaW50IGxlbiwgaW50IGNvbnRleHQpKTsKK3ZvaWQgc2V0X2NtZF9jb250ZXh0IF9fQVJHUygoZXhwYW5kX1QgKnhwLCBjaGFyX3UgKnN0ciwgaW50IGxlbiwgaW50IGNvbCkpOworaW50IGV4cGFuZF9jbWRsaW5lIF9fQVJHUygoZXhwYW5kX1QgKnhwLCBjaGFyX3UgKnN0ciwgaW50IGNvbCwgaW50ICptYXRjaGNvdW50LCBjaGFyX3UgKioqbWF0Y2hlcykpOworaW50IEV4cGFuZEdlbmVyaWMgX19BUkdTKChleHBhbmRfVCAqeHAsIHJlZ21hdGNoX1QgKnJlZ21hdGNoLCBpbnQgKm51bV9maWxlLCBjaGFyX3UgKioqZmlsZSwgY2hhcl91ICooKCpmdW5jKShleHBhbmRfVCAqLCBpbnQpKSkpOworY2hhcl91ICpnbG9icGF0aCBfX0FSR1MoKGNoYXJfdSAqcGF0aCwgY2hhcl91ICpmaWxlKSk7Cit2b2lkIGluaXRfaGlzdG9yeSBfX0FSR1MoKHZvaWQpKTsKK2ludCBnZXRfaGlzdHR5cGUgX19BUkdTKChjaGFyX3UgKm5hbWUpKTsKK3ZvaWQgYWRkX3RvX2hpc3RvcnkgX19BUkdTKChpbnQgaGlzdHlwZSwgY2hhcl91ICpuZXdfZW50cnksIGludCBpbl9tYXAsIGludCBzZXApKTsKK2ludCBnZXRfaGlzdG9yeV9pZHggX19BUkdTKChpbnQgaGlzdHlwZSkpOworY2hhcl91ICpnZXRfY21kbGluZV9zdHIgX19BUkdTKCh2b2lkKSk7CitpbnQgZ2V0X2NtZGxpbmVfcG9zIF9fQVJHUygodm9pZCkpOworaW50IHNldF9jbWRsaW5lX3BvcyBfX0FSR1MoKGludCBwb3MpKTsKK2ludCBnZXRfY21kbGluZV90eXBlIF9fQVJHUygodm9pZCkpOworY2hhcl91ICpnZXRfaGlzdG9yeV9lbnRyeSBfX0FSR1MoKGludCBoaXN0eXBlLCBpbnQgaWR4KSk7CitpbnQgY2xyX2hpc3RvcnkgX19BUkdTKChpbnQgaGlzdHlwZSkpOworaW50IGRlbF9oaXN0b3J5X2VudHJ5IF9fQVJHUygoaW50IGhpc3R5cGUsIGNoYXJfdSAqc3RyKSk7CitpbnQgZGVsX2hpc3RvcnlfaWR4IF9fQVJHUygoaW50IGhpc3R5cGUsIGludCBpZHgpKTsKK3ZvaWQgcmVtb3ZlX2tleV9mcm9tX2hpc3RvcnkgX19BUkdTKCh2b2lkKSk7CitpbnQgZ2V0X2xpc3RfcmFuZ2UgX19BUkdTKChjaGFyX3UgKipzdHIsIGludCAqbnVtMSwgaW50ICpudW0yKSk7Cit2b2lkIGV4X2hpc3RvcnkgX19BUkdTKChleGFyZ19UICplYXApKTsKK3ZvaWQgcHJlcGFyZV92aW1pbmZvX2hpc3RvcnkgX19BUkdTKChpbnQgYXNrbGVuKSk7CitpbnQgcmVhZF92aW1pbmZvX2hpc3RvcnkgX19BUkdTKCh2aXJfVCAqdmlycCkpOwordm9pZCBmaW5pc2hfdmltaW5mb19oaXN0b3J5IF9fQVJHUygodm9pZCkpOwordm9pZCB3cml0ZV92aW1pbmZvX2hpc3RvcnkgX19BUkdTKChGSUxFICpmcCkpOwordm9pZCBjbWRfcGNoYXIgX19BUkdTKChpbnQgYywgaW50IG9mZnNldCkpOworaW50IGNtZF9nY2hhciBfX0FSR1MoKGludCBvZmZzZXQpKTsKK2NoYXJfdSAqc2NyaXB0X2dldCBfX0FSR1MoKGV4YXJnX1QgKmVhcCwgY2hhcl91ICpjbWQpKTsKIC8qIHZpbTogc2V0IGZ0PWMgOiAqLwpkaWZmIC0tZ2l0IGEvc3JjL3Byb3RvL2d1aV9tb3RpZi5wcm8gYi9zcmMvcHJvdG8vZ3VpX21vdGlmLnBybwppbmRleCBjMWIxOTQ2Li4zZTA4ZWM5IDEwMDY0NAotLS0gYS9zcmMvcHJvdG8vZ3VpX21vdGlmLnBybworKysgYi9zcmMvcHJvdG8vZ3VpX21vdGlmLnBybwpAQCAtMSw0MiArMSw0NiBAQAogLyogZ3VpX21vdGlmLmMgKi8KLWV4dGVybiB2b2lkIGd1aV94MTFfY3JlYXRlX3dpZGdldHMgX19BUkdTKCh2b2lkKSk7Ci1leHRlcm4gdm9pZCBndWlfeDExX2Rlc3Ryb3lfd2lkZ2V0cyBfX0FSR1MoKHZvaWQpKTsKLWV4dGVybiB2b2lkIGd1aV9tY2hfc2V0X3RleHRfYXJlYV9wb3MgX19BUkdTKChpbnQgeCwgaW50IHksIGludCB3LCBpbnQgaCkpOwotZXh0ZXJuIHZvaWQgZ3VpX3gxMV9zZXRfYmFja19jb2xvciBfX0FSR1MoKHZvaWQpKTsKLWV4dGVybiB2b2lkIG1hbmFnZV9jZW50ZXJlZCBfX0FSR1MoKFdpZGdldCBkaWFsb2dfY2hpbGQpKTsKLWV4dGVybiBYbUZvbnRMaXN0IGd1aV9tb3RpZl9jcmVhdGVfZm9udGxpc3QgX19BUkdTKChYRm9udFN0cnVjdCAqZm9udCkpOwotZXh0ZXJuIFhtRm9udExpc3QgZ3VpX21vdGlmX2ZvbnRzZXQyZm9udGxpc3QgX19BUkdTKChYRm9udFNldCAqZm9udHNldCkpOwotZXh0ZXJuIHZvaWQgZ3VpX21jaF9lbmFibGVfbWVudSBfX0FSR1MoKGludCBmbGFnKSk7Ci1leHRlcm4gdm9pZCBndWlfbW90aWZfc2V0X21uZW1vbmljcyBfX0FSR1MoKGludCBlbmFibGUpKTsKLWV4dGVybiB2b2lkIGd1aV9tY2hfYWRkX21lbnUgX19BUkdTKCh2aW1tZW51X1QgKm1lbnUsIGludCBpZHgpKTsKLWV4dGVybiB2b2lkIGd1aV9tY2hfdG9nZ2xlX3RlYXJvZmZzIF9fQVJHUygoaW50IGVuYWJsZSkpOwotZXh0ZXJuIGludCBndWlfbWNoX3RleHRfYXJlYV9leHRyYV9oZWlnaHQgX19BUkdTKCh2b2lkKSk7Ci1leHRlcm4gdm9pZCBndWlfbWNoX2NvbXB1dGVfbWVudV9oZWlnaHQgX19BUkdTKChXaWRnZXQgaWQpKTsKLWV4dGVybiB2b2lkIGd1aV9tY2hfYWRkX21lbnVfaXRlbSBfX0FSR1MoKHZpbW1lbnVfVCAqbWVudSwgaW50IGlkeCkpOwotZXh0ZXJuIHZvaWQgZ3VpX21vdGlmX3VwZGF0ZV9tb3VzZW1vZGVsIF9fQVJHUygodmltbWVudV9UICptZW51KSk7Ci1leHRlcm4gdm9pZCBndWlfbWNoX25ld19tZW51X2NvbG9ycyBfX0FSR1MoKHZvaWQpKTsKLWV4dGVybiB2b2lkIGd1aV9tY2hfbmV3X21lbnVfZm9udCBfX0FSR1MoKHZvaWQpKTsKLWV4dGVybiB2b2lkIGd1aV9tY2hfbmV3X3Rvb2x0aXBfZm9udCBfX0FSR1MoKHZvaWQpKTsKLWV4dGVybiB2b2lkIGd1aV9tY2hfbmV3X3Rvb2x0aXBfY29sb3JzIF9fQVJHUygodm9pZCkpOwotZXh0ZXJuIHZvaWQgZ3VpX21jaF9kZXN0cm95X21lbnUgX19BUkdTKCh2aW1tZW51X1QgKm1lbnUpKTsKLWV4dGVybiB2b2lkIGd1aV9tY2hfc2hvd19wb3B1cG1lbnUgX19BUkdTKCh2aW1tZW51X1QgKm1lbnUpKTsKLWV4dGVybiB2b2lkIGd1aV9tY2hfZGVmX2NvbG9ycyBfX0FSR1MoKHZvaWQpKTsKLWV4dGVybiB2b2lkIGd1aV9tY2hfc2V0X3Njcm9sbGJhcl90aHVtYiBfX0FSR1MoKHNjcm9sbGJhcl9UICpzYiwgbG9uZyB2YWwsIGxvbmcgc2l6ZSwgbG9uZyBtYXgpKTsKLWV4dGVybiB2b2lkIGd1aV9tY2hfc2V0X3Njcm9sbGJhcl9wb3MgX19BUkdTKChzY3JvbGxiYXJfVCAqc2IsIGludCB4LCBpbnQgeSwgaW50IHcsIGludCBoKSk7Ci1leHRlcm4gdm9pZCBndWlfbWNoX2VuYWJsZV9zY3JvbGxiYXIgX19BUkdTKChzY3JvbGxiYXJfVCAqc2IsIGludCBmbGFnKSk7Ci1leHRlcm4gdm9pZCBndWlfbWNoX2NyZWF0ZV9zY3JvbGxiYXIgX19BUkdTKChzY3JvbGxiYXJfVCAqc2IsIGludCBvcmllbnQpKTsKLWV4dGVybiB2b2lkIGd1aV9tY2hfZGVzdHJveV9zY3JvbGxiYXIgX19BUkdTKChzY3JvbGxiYXJfVCAqc2IpKTsKLWV4dGVybiB2b2lkIGd1aV9tY2hfc2V0X3Njcm9sbGJhcl9jb2xvcnMgX19BUkdTKChzY3JvbGxiYXJfVCAqc2IpKTsKLWV4dGVybiBXaW5kb3cgZ3VpX3gxMV9nZXRfd2lkIF9fQVJHUygodm9pZCkpOwotZXh0ZXJuIGNoYXJfdSAqZ3VpX21jaF9icm93c2UgX19BUkdTKChpbnQgc2F2aW5nLCBjaGFyX3UgKnRpdGxlLCBjaGFyX3UgKmRmbHQsIGNoYXJfdSAqZXh0LCBjaGFyX3UgKmluaXRkaXIsIGNoYXJfdSAqZmlsdGVyKSk7Ci1leHRlcm4gaW50IGd1aV9tY2hfZGlhbG9nIF9fQVJHUygoaW50IHR5cGUsIGNoYXJfdSAqdGl0bGUsIGNoYXJfdSAqbWVzc2FnZSwgY2hhcl91ICpidXR0b25fbmFtZXMsIGludCBkZmx0YnV0dG9uLCBjaGFyX3UgKnRleHRmaWVsZCkpOwotZXh0ZXJuIHZvaWQgZ3VpX21jaF9lbmFibGVfZm9vdGVyIF9fQVJHUygoaW50IHNob3dpdCkpOwotZXh0ZXJuIHZvaWQgZ3VpX21jaF9zZXRfZm9vdGVyIF9fQVJHUygoY2hhcl91ICpzKSk7Ci1leHRlcm4gdm9pZCBndWlfbWNoX3Nob3dfdG9vbGJhciBfX0FSR1MoKGludCBzaG93aXQpKTsKLWV4dGVybiBpbnQgZ3VpX21jaF9jb21wdXRlX3Rvb2xiYXJfaGVpZ2h0IF9fQVJHUygodm9pZCkpOwotZXh0ZXJuIHZvaWQgbW90aWZfZ2V0X3Rvb2xiYXJfY29sb3JzIF9fQVJHUygoUGl4ZWwgKmJncCwgUGl4ZWwgKmZncCwgUGl4ZWwgKmJzcCwgUGl4ZWwgKnRzcCwgUGl4ZWwgKmhzcCkpOwotZXh0ZXJuIHZvaWQgZ3VpX21vdGlmX21lbnVfZm9udGxpc3QgX19BUkdTKChXaWRnZXQgaWQpKTsKLWV4dGVybiB2b2lkIGd1aV9tY2hfZmluZF9kaWFsb2cgX19BUkdTKChleGFyZ19UICplYXApKTsKLWV4dGVybiB2b2lkIGd1aV9tY2hfcmVwbGFjZV9kaWFsb2cgX19BUkdTKChleGFyZ19UICplYXApKTsKLWV4dGVybiB2b2lkIGd1aV9tb3RpZl9zeW5jaF9mb250cyBfX0FSR1MoKHZvaWQpKTsKK3ZvaWQgZ3VpX3gxMV9jcmVhdGVfd2lkZ2V0cyBfX0FSR1MoKHZvaWQpKTsKK3ZvaWQgZ3VpX3gxMV9kZXN0cm95X3dpZGdldHMgX19BUkdTKCh2b2lkKSk7Cit2b2lkIGd1aV9tY2hfc2V0X3RleHRfYXJlYV9wb3MgX19BUkdTKChpbnQgeCwgaW50IHksIGludCB3LCBpbnQgaCkpOwordm9pZCBndWlfeDExX3NldF9iYWNrX2NvbG9yIF9fQVJHUygodm9pZCkpOwordm9pZCBtYW5hZ2VfY2VudGVyZWQgX19BUkdTKChXaWRnZXQgZGlhbG9nX2NoaWxkKSk7CitYbUZvbnRMaXN0IGd1aV9tb3RpZl9jcmVhdGVfZm9udGxpc3QgX19BUkdTKChYRm9udFN0cnVjdCAqZm9udCkpOworWG1Gb250TGlzdCBndWlfbW90aWZfZm9udHNldDJmb250bGlzdCBfX0FSR1MoKFhGb250U2V0ICpmb250c2V0KSk7Cit2b2lkIGd1aV9tY2hfZW5hYmxlX21lbnUgX19BUkdTKChpbnQgZmxhZykpOwordm9pZCBndWlfbW90aWZfc2V0X21uZW1vbmljcyBfX0FSR1MoKGludCBlbmFibGUpKTsKK3ZvaWQgZ3VpX21jaF9hZGRfbWVudSBfX0FSR1MoKHZpbW1lbnVfVCAqbWVudSwgaW50IGlkeCkpOwordm9pZCBndWlfbWNoX3RvZ2dsZV90ZWFyb2ZmcyBfX0FSR1MoKGludCBlbmFibGUpKTsKK2ludCBndWlfbWNoX3RleHRfYXJlYV9leHRyYV9oZWlnaHQgX19BUkdTKCh2b2lkKSk7Cit2b2lkIGd1aV9tY2hfY29tcHV0ZV9tZW51X2hlaWdodCBfX0FSR1MoKFdpZGdldCBpZCkpOwordm9pZCBndWlfbWNoX2FkZF9tZW51X2l0ZW0gX19BUkdTKCh2aW1tZW51X1QgKm1lbnUsIGludCBpZHgpKTsKK3ZvaWQgZ3VpX21vdGlmX3VwZGF0ZV9tb3VzZW1vZGVsIF9fQVJHUygodmltbWVudV9UICptZW51KSk7Cit2b2lkIGd1aV9tY2hfbmV3X21lbnVfY29sb3JzIF9fQVJHUygodm9pZCkpOwordm9pZCBndWlfbWNoX25ld19tZW51X2ZvbnQgX19BUkdTKCh2b2lkKSk7Cit2b2lkIGd1aV9tY2hfbmV3X3Rvb2x0aXBfZm9udCBfX0FSR1MoKHZvaWQpKTsKK3ZvaWQgZ3VpX21jaF9uZXdfdG9vbHRpcF9jb2xvcnMgX19BUkdTKCh2b2lkKSk7Cit2b2lkIGd1aV9tY2hfZGVzdHJveV9tZW51IF9fQVJHUygodmltbWVudV9UICptZW51KSk7Cit2b2lkIGd1aV9tY2hfc2hvd19wb3B1cG1lbnUgX19BUkdTKCh2aW1tZW51X1QgKm1lbnUpKTsKK3ZvaWQgZ3VpX21jaF9kZWZfY29sb3JzIF9fQVJHUygodm9pZCkpOwordm9pZCBndWlfbWNoX3NldF9zY3JvbGxiYXJfdGh1bWIgX19BUkdTKChzY3JvbGxiYXJfVCAqc2IsIGxvbmcgdmFsLCBsb25nIHNpemUsIGxvbmcgbWF4KSk7Cit2b2lkIGd1aV9tY2hfc2V0X3Njcm9sbGJhcl9wb3MgX19BUkdTKChzY3JvbGxiYXJfVCAqc2IsIGludCB4LCBpbnQgeSwgaW50IHcsIGludCBoKSk7Cit2b2lkIGd1aV9tY2hfZW5hYmxlX3Njcm9sbGJhciBfX0FSR1MoKHNjcm9sbGJhcl9UICpzYiwgaW50IGZsYWcpKTsKK3ZvaWQgZ3VpX21jaF9jcmVhdGVfc2Nyb2xsYmFyIF9fQVJHUygoc2Nyb2xsYmFyX1QgKnNiLCBpbnQgb3JpZW50KSk7Cit2b2lkIGd1aV9tY2hfZGVzdHJveV9zY3JvbGxiYXIgX19BUkdTKChzY3JvbGxiYXJfVCAqc2IpKTsKK3ZvaWQgZ3VpX21jaF9zZXRfc2Nyb2xsYmFyX2NvbG9ycyBfX0FSR1MoKHNjcm9sbGJhcl9UICpzYikpOworV2luZG93IGd1aV94MTFfZ2V0X3dpZCBfX0FSR1MoKHZvaWQpKTsKK2NoYXJfdSAqZ3VpX21jaF9icm93c2UgX19BUkdTKChpbnQgc2F2aW5nLCBjaGFyX3UgKnRpdGxlLCBjaGFyX3UgKmRmbHQsIGNoYXJfdSAqZXh0LCBjaGFyX3UgKmluaXRkaXIsIGNoYXJfdSAqZmlsdGVyKSk7CitpbnQgZ3VpX21jaF9kaWFsb2cgX19BUkdTKChpbnQgdHlwZSwgY2hhcl91ICp0aXRsZSwgY2hhcl91ICptZXNzYWdlLCBjaGFyX3UgKmJ1dHRvbl9uYW1lcywgaW50IGRmbHRidXR0b24sIGNoYXJfdSAqdGV4dGZpZWxkKSk7Cit2b2lkIGd1aV9tY2hfZW5hYmxlX2Zvb3RlciBfX0FSR1MoKGludCBzaG93aXQpKTsKK3ZvaWQgZ3VpX21jaF9zZXRfZm9vdGVyIF9fQVJHUygoY2hhcl91ICpzKSk7Cit2b2lkIGd1aV9tY2hfc2hvd190b29sYmFyIF9fQVJHUygoaW50IHNob3dpdCkpOworaW50IGd1aV9tY2hfY29tcHV0ZV90b29sYmFyX2hlaWdodCBfX0FSR1MoKHZvaWQpKTsKK3ZvaWQgbW90aWZfZ2V0X3Rvb2xiYXJfY29sb3JzIF9fQVJHUygoUGl4ZWwgKmJncCwgUGl4ZWwgKmZncCwgUGl4ZWwgKmJzcCwgUGl4ZWwgKnRzcCwgUGl4ZWwgKmhzcCkpOwordm9pZCBndWlfbWNoX3Nob3dfdGFibGluZSBfX0FSR1MoKGludCBzaG93aXQpKTsKK2ludCBndWlfbWNoX3Nob3dpbmdfdGFibGluZSBfX0FSR1MoKHZvaWQpKTsKK3ZvaWQgZ3VpX21jaF91cGRhdGVfdGFibGluZSBfX0FSR1MoKHZvaWQpKTsKK3ZvaWQgZ3VpX21jaF9zZXRfY3VydGFiIF9fQVJHUygoaW50IG5yKSk7Cit2b2lkIGd1aV9tb3RpZl9tZW51X2ZvbnRsaXN0IF9fQVJHUygoV2lkZ2V0IGlkKSk7Cit2b2lkIGd1aV9tY2hfZmluZF9kaWFsb2cgX19BUkdTKChleGFyZ19UICplYXApKTsKK3ZvaWQgZ3VpX21jaF9yZXBsYWNlX2RpYWxvZyBfX0FSR1MoKGV4YXJnX1QgKmVhcCkpOwordm9pZCBndWlfbW90aWZfc3luY2hfZm9udHMgX19BUkdTKCh2b2lkKSk7CiAvKiB2aW06IHNldCBmdD1jIDogKi8KZGlmZiAtLWdpdCBhL3NyYy9wcm90by9taXNjMS5wcm8gYi9zcmMvcHJvdG8vbWlzYzEucHJvCmluZGV4IDQ5ZmM0YjAuLmU5YmMzMmMgMTAwNjQ0Ci0tLSBhL3NyYy9wcm90by9taXNjMS5wcm8KKysrIGIvc3JjL3Byb3RvL21pc2MxLnBybwpAQCAtMSw5NCArMSw5NSBAQAogLyogbWlzYzEuYyAqLwotZXh0ZXJuIGludCBnZXRfaW5kZW50IF9fQVJHUygodm9pZCkpOwotZXh0ZXJuIGludCBnZXRfaW5kZW50X2xudW0gX19BUkdTKChsaW5lbnJfVCBsbnVtKSk7Ci1leHRlcm4gaW50IGdldF9pbmRlbnRfYnVmIF9fQVJHUygoYnVmX1QgKmJ1ZiwgbGluZW5yX1QgbG51bSkpOwotZXh0ZXJuIGludCBnZXRfaW5kZW50X3N0ciBfX0FSR1MoKGNoYXJfdSAqcHRyLCBpbnQgdHMpKTsKLWV4dGVybiBpbnQgc2V0X2luZGVudCBfX0FSR1MoKGludCBzaXplLCBpbnQgZmxhZ3MpKTsKLWV4dGVybiBpbnQgZ2V0X251bWJlcl9pbmRlbnQgX19BUkdTKChsaW5lbnJfVCBsbnVtKSk7Ci1leHRlcm4gaW50IG9wZW5fbGluZSBfX0FSR1MoKGludCBkaXIsIGludCBmbGFncywgaW50IG9sZF9pbmRlbnQpKTsKLWV4dGVybiBpbnQgZ2V0X2xlYWRlcl9sZW4gX19BUkdTKChjaGFyX3UgKmxpbmUsIGNoYXJfdSAqKmZsYWdzLCBpbnQgYmFja3dhcmQpKTsKLWV4dGVybiBpbnQgcGxpbmVzIF9fQVJHUygobGluZW5yX1QgbG51bSkpOwotZXh0ZXJuIGludCBwbGluZXNfd2luIF9fQVJHUygod2luX1QgKndwLCBsaW5lbnJfVCBsbnVtLCBpbnQgd2luaGVpZ2h0KSk7Ci1leHRlcm4gaW50IHBsaW5lc19ub2ZpbGwgX19BUkdTKChsaW5lbnJfVCBsbnVtKSk7Ci1leHRlcm4gaW50IHBsaW5lc193aW5fbm9maWxsIF9fQVJHUygod2luX1QgKndwLCBsaW5lbnJfVCBsbnVtLCBpbnQgd2luaGVpZ2h0KSk7Ci1leHRlcm4gaW50IHBsaW5lc193aW5fbm9mb2xkIF9fQVJHUygod2luX1QgKndwLCBsaW5lbnJfVCBsbnVtKSk7Ci1leHRlcm4gaW50IHBsaW5lc193aW5fY29sIF9fQVJHUygod2luX1QgKndwLCBsaW5lbnJfVCBsbnVtLCBsb25nIGNvbHVtbikpOwotZXh0ZXJuIGludCBwbGluZXNfbV93aW4gX19BUkdTKCh3aW5fVCAqd3AsIGxpbmVucl9UIGZpcnN0LCBsaW5lbnJfVCBsYXN0KSk7Ci1leHRlcm4gdm9pZCBpbnNfYnl0ZXMgX19BUkdTKChjaGFyX3UgKnApKTsKLWV4dGVybiB2b2lkIGluc19ieXRlc19sZW4gX19BUkdTKChjaGFyX3UgKnAsIGludCBsZW4pKTsKLWV4dGVybiB2b2lkIGluc19jaGFyIF9fQVJHUygoaW50IGMpKTsKLWV4dGVybiB2b2lkIGluc19jaGFyX2J5dGVzIF9fQVJHUygoY2hhcl91ICpidWYsIGludCBjaGFybGVuKSk7Ci1leHRlcm4gdm9pZCBpbnNfc3RyIF9fQVJHUygoY2hhcl91ICpzKSk7Ci1leHRlcm4gaW50IGRlbF9jaGFyIF9fQVJHUygoaW50IGZpeHBvcykpOwotZXh0ZXJuIGludCBkZWxfY2hhcnMgX19BUkdTKChsb25nIGNvdW50LCBpbnQgZml4cG9zKSk7Ci1leHRlcm4gaW50IGRlbF9ieXRlcyBfX0FSR1MoKGxvbmcgY291bnQsIGludCBmaXhwb3NfYXJnLCBpbnQgdXNlX2RlbGNvbWJpbmUpKTsKLWV4dGVybiBpbnQgdHJ1bmNhdGVfbGluZSBfX0FSR1MoKGludCBmaXhwb3MpKTsKLWV4dGVybiB2b2lkIGRlbF9saW5lcyBfX0FSR1MoKGxvbmcgbmxpbmVzLCBpbnQgdW5kbykpOwotZXh0ZXJuIGludCBnY2hhcl9wb3MgX19BUkdTKChwb3NfVCAqcG9zKSk7Ci1leHRlcm4gaW50IGdjaGFyX2N1cnNvciBfX0FSR1MoKHZvaWQpKTsKLWV4dGVybiB2b2lkIHBjaGFyX2N1cnNvciBfX0FSR1MoKGludCBjKSk7Ci1leHRlcm4gaW50IGluaW5kZW50IF9fQVJHUygoaW50IGV4dHJhKSk7Ci1leHRlcm4gY2hhcl91ICpza2lwX3RvX29wdGlvbl9wYXJ0IF9fQVJHUygoY2hhcl91ICpwKSk7Ci1leHRlcm4gdm9pZCBjaGFuZ2VkIF9fQVJHUygodm9pZCkpOwotZXh0ZXJuIHZvaWQgY2hhbmdlZF9ieXRlcyBfX0FSR1MoKGxpbmVucl9UIGxudW0sIGNvbG5yX1QgY29sKSk7Ci1leHRlcm4gdm9pZCBhcHBlbmRlZF9saW5lcyBfX0FSR1MoKGxpbmVucl9UIGxudW0sIGxvbmcgY291bnQpKTsKLWV4dGVybiB2b2lkIGFwcGVuZGVkX2xpbmVzX21hcmsgX19BUkdTKChsaW5lbnJfVCBsbnVtLCBsb25nIGNvdW50KSk7Ci1leHRlcm4gdm9pZCBkZWxldGVkX2xpbmVzIF9fQVJHUygobGluZW5yX1QgbG51bSwgbG9uZyBjb3VudCkpOwotZXh0ZXJuIHZvaWQgZGVsZXRlZF9saW5lc19tYXJrIF9fQVJHUygobGluZW5yX1QgbG51bSwgbG9uZyBjb3VudCkpOwotZXh0ZXJuIHZvaWQgY2hhbmdlZF9saW5lcyBfX0FSR1MoKGxpbmVucl9UIGxudW0sIGNvbG5yX1QgY29sLCBsaW5lbnJfVCBsbnVtZSwgbG9uZyB4dHJhKSk7Ci1leHRlcm4gdm9pZCB1bmNoYW5nZWQgX19BUkdTKChidWZfVCAqYnVmLCBpbnQgZmYpKTsKLWV4dGVybiB2b2lkIGNoZWNrX3N0YXR1cyBfX0FSR1MoKGJ1Zl9UICpidWYpKTsKLWV4dGVybiB2b2lkIGNoYW5nZV93YXJuaW5nIF9fQVJHUygoaW50IGNvbCkpOwotZXh0ZXJuIGludCBhc2tfeWVzbm8gX19BUkdTKChjaGFyX3UgKnN0ciwgaW50IGRpcmVjdCkpOwotZXh0ZXJuIGludCBnZXRfa2V5c3Ryb2tlIF9fQVJHUygodm9pZCkpOwotZXh0ZXJuIGludCBnZXRfbnVtYmVyIF9fQVJHUygoaW50IGNvbG9uLCBpbnQgKm1vdXNlX3VzZWQpKTsKLWV4dGVybiBpbnQgcHJvbXB0X2Zvcl9udW1iZXIgX19BUkdTKChpbnQgKm1vdXNlX3VzZWQpKTsKLWV4dGVybiB2b2lkIG1zZ21vcmUgX19BUkdTKChsb25nIG4pKTsKLWV4dGVybiB2b2lkIGJlZXBfZmx1c2ggX19BUkdTKCh2b2lkKSk7Ci1leHRlcm4gdm9pZCB2aW1fYmVlcCBfX0FSR1MoKHZvaWQpKTsKLWV4dGVybiB2b2lkIGluaXRfaG9tZWRpciBfX0FSR1MoKHZvaWQpKTsKLWV4dGVybiB2b2lkIGZyZWVfaG9tZWRpciBfX0FSR1MoKHZvaWQpKTsKLWV4dGVybiB2b2lkIGV4cGFuZF9lbnYgX19BUkdTKChjaGFyX3UgKnNyYywgY2hhcl91ICpkc3QsIGludCBkc3RsZW4pKTsKLWV4dGVybiB2b2lkIGV4cGFuZF9lbnZfZXNjIF9fQVJHUygoY2hhcl91ICpzcmNwLCBjaGFyX3UgKmRzdCwgaW50IGRzdGxlbiwgaW50IGVzYywgY2hhcl91ICpzdGFydHN0cikpOwotZXh0ZXJuIGNoYXJfdSAqdmltX2dldGVudiBfX0FSR1MoKGNoYXJfdSAqbmFtZSwgaW50ICptdXN0ZnJlZSkpOwotZXh0ZXJuIGNoYXJfdSAqZXhwYW5kX2Vudl9zYXZlIF9fQVJHUygoY2hhcl91ICpzcmMpKTsKLWV4dGVybiB2b2lkIHZpbV9zZXRlbnYgX19BUkdTKChjaGFyX3UgKm5hbWUsIGNoYXJfdSAqdmFsKSk7Ci1leHRlcm4gY2hhcl91ICpnZXRfZW52X25hbWUgX19BUkdTKChleHBhbmRfVCAqeHAsIGludCBpZHgpKTsKLWV4dGVybiB2b2lkIGhvbWVfcmVwbGFjZSBfX0FSR1MoKGJ1Zl9UICpidWYsIGNoYXJfdSAqc3JjLCBjaGFyX3UgKmRzdCwgaW50IGRzdGxlbiwgaW50IG9uZSkpOwotZXh0ZXJuIGNoYXJfdSAqaG9tZV9yZXBsYWNlX3NhdmUgX19BUkdTKChidWZfVCAqYnVmLCBjaGFyX3UgKnNyYykpOwotZXh0ZXJuIGludCBmdWxscGF0aGNtcCBfX0FSR1MoKGNoYXJfdSAqczEsIGNoYXJfdSAqczIsIGludCBjaGVja25hbWUpKTsKLWV4dGVybiBjaGFyX3UgKmdldHRhaWwgX19BUkdTKChjaGFyX3UgKmZuYW1lKSk7Ci1leHRlcm4gY2hhcl91ICpnZXR0YWlsX3NlcCBfX0FSR1MoKGNoYXJfdSAqZm5hbWUpKTsKLWV4dGVybiBjaGFyX3UgKmdldG5leHRjb21wIF9fQVJHUygoY2hhcl91ICpmbmFtZSkpOwotZXh0ZXJuIGNoYXJfdSAqZ2V0X3Bhc3RfaGVhZCBfX0FSR1MoKGNoYXJfdSAqcGF0aCkpOwotZXh0ZXJuIGludCB2aW1faXNwYXRoc2VwIF9fQVJHUygoaW50IGMpKTsKLWV4dGVybiBpbnQgdmltX2lzcGF0aGxpc3RzZXAgX19BUkdTKChpbnQgYykpOwotZXh0ZXJuIGludCBkaXJfb2ZfZmlsZV9leGlzdHMgX19BUkdTKChjaGFyX3UgKmZuYW1lKSk7Ci1leHRlcm4gaW50IHZpbV9mbmFtZWNtcCBfX0FSR1MoKGNoYXJfdSAqeCwgY2hhcl91ICp5KSk7Ci1leHRlcm4gaW50IHZpbV9mbmFtZW5jbXAgX19BUkdTKChjaGFyX3UgKngsIGNoYXJfdSAqeSwgc2l6ZV90IGxlbikpOwotZXh0ZXJuIGNoYXJfdSAqY29uY2F0X2ZuYW1lcyBfX0FSR1MoKGNoYXJfdSAqZm5hbWUxLCBjaGFyX3UgKmZuYW1lMiwgaW50IHNlcCkpOwotZXh0ZXJuIGNoYXJfdSAqY29uY2F0X3N0ciBfX0FSR1MoKGNoYXJfdSAqc3RyMSwgY2hhcl91ICpzdHIyKSk7Ci1leHRlcm4gdm9pZCBhZGRfcGF0aHNlcCBfX0FSR1MoKGNoYXJfdSAqcCkpOwotZXh0ZXJuIGNoYXJfdSAqRnVsbE5hbWVfc2F2ZSBfX0FSR1MoKGNoYXJfdSAqZm5hbWUsIGludCBmb3JjZSkpOwotZXh0ZXJuIHBvc19UICpmaW5kX3N0YXJ0X2NvbW1lbnQgX19BUkdTKChpbnQgaW5kX21heGNvbW1lbnQpKTsKLWV4dGVybiB2b2lkIGRvX2NfZXhwcl9pbmRlbnQgX19BUkdTKCh2b2lkKSk7Ci1leHRlcm4gaW50IGNpbl9pc2xhYmVsIF9fQVJHUygoaW50IGluZF9tYXhjb21tZW50KSk7Ci1leHRlcm4gaW50IGNpbl9pc2Nhc2UgX19BUkdTKChjaGFyX3UgKnMpKTsKLWV4dGVybiBpbnQgY2luX2lzc2NvcGVkZWNsIF9fQVJHUygoY2hhcl91ICpzKSk7Ci1leHRlcm4gaW50IGdldF9jX2luZGVudCBfX0FSR1MoKHZvaWQpKTsKLWV4dGVybiBpbnQgZ2V0X2V4cHJfaW5kZW50IF9fQVJHUygodm9pZCkpOwotZXh0ZXJuIGludCBnZXRfbGlzcF9pbmRlbnQgX19BUkdTKCh2b2lkKSk7Ci1leHRlcm4gdm9pZCBwcmVwYXJlX3RvX2V4aXQgX19BUkdTKCh2b2lkKSk7Ci1leHRlcm4gdm9pZCBwcmVzZXJ2ZV9leGl0IF9fQVJHUygodm9pZCkpOwotZXh0ZXJuIGludCB2aW1fZmV4aXN0cyBfX0FSR1MoKGNoYXJfdSAqZm5hbWUpKTsKLWV4dGVybiB2b2lkIGxpbmVfYnJlYWtjaGVjayBfX0FSR1MoKHZvaWQpKTsKLWV4dGVybiB2b2lkIGZhc3RfYnJlYWtjaGVjayBfX0FSR1MoKHZvaWQpKTsKLWV4dGVybiBpbnQgZXhwYW5kX3dpbGRjYXJkcyBfX0FSR1MoKGludCBudW1fcGF0LCBjaGFyX3UgKipwYXQsIGludCAqbnVtX2ZpbGUsIGNoYXJfdSAqKipmaWxlLCBpbnQgZmxhZ3MpKTsKLWV4dGVybiBpbnQgbWF0Y2hfc3VmZml4IF9fQVJHUygoY2hhcl91ICpmbmFtZSkpOwotZXh0ZXJuIGludCB1bml4X2V4cGFuZHBhdGggX19BUkdTKChnYXJyYXlfVCAqZ2FwLCBjaGFyX3UgKnBhdGgsIGludCB3aWxkb2ZmLCBpbnQgZmxhZ3MsIGludCBkaWRzdGFyKSk7Ci1leHRlcm4gaW50IGdlbl9leHBhbmRfd2lsZGNhcmRzIF9fQVJHUygoaW50IG51bV9wYXQsIGNoYXJfdSAqKnBhdCwgaW50ICpudW1fZmlsZSwgY2hhcl91ICoqKmZpbGUsIGludCBmbGFncykpOwotZXh0ZXJuIHZvaWQgYWRkZmlsZSBfX0FSR1MoKGdhcnJheV9UICpnYXAsIGNoYXJfdSAqZiwgaW50IGZsYWdzKSk7Ci1leHRlcm4gY2hhcl91ICpnZXRfY21kX291dHB1dCBfX0FSR1MoKGNoYXJfdSAqY21kLCBjaGFyX3UgKmluZmlsZSwgaW50IGZsYWdzKSk7Ci1leHRlcm4gdm9pZCBGcmVlV2lsZCBfX0FSR1MoKGludCBjb3VudCwgY2hhcl91ICoqZmlsZXMpKTsKLWV4dGVybiBpbnQgZ290b19pbSBfX0FSR1MoKHZvaWQpKTsKK2ludCBnZXRfaW5kZW50IF9fQVJHUygodm9pZCkpOworaW50IGdldF9pbmRlbnRfbG51bSBfX0FSR1MoKGxpbmVucl9UIGxudW0pKTsKK2ludCBnZXRfaW5kZW50X2J1ZiBfX0FSR1MoKGJ1Zl9UICpidWYsIGxpbmVucl9UIGxudW0pKTsKK2ludCBnZXRfaW5kZW50X3N0ciBfX0FSR1MoKGNoYXJfdSAqcHRyLCBpbnQgdHMpKTsKK2ludCBzZXRfaW5kZW50IF9fQVJHUygoaW50IHNpemUsIGludCBmbGFncykpOworaW50IGdldF9udW1iZXJfaW5kZW50IF9fQVJHUygobGluZW5yX1QgbG51bSkpOworaW50IG9wZW5fbGluZSBfX0FSR1MoKGludCBkaXIsIGludCBmbGFncywgaW50IG9sZF9pbmRlbnQpKTsKK2ludCBnZXRfbGVhZGVyX2xlbiBfX0FSR1MoKGNoYXJfdSAqbGluZSwgY2hhcl91ICoqZmxhZ3MsIGludCBiYWNrd2FyZCkpOworaW50IHBsaW5lcyBfX0FSR1MoKGxpbmVucl9UIGxudW0pKTsKK2ludCBwbGluZXNfd2luIF9fQVJHUygod2luX1QgKndwLCBsaW5lbnJfVCBsbnVtLCBpbnQgd2luaGVpZ2h0KSk7CitpbnQgcGxpbmVzX25vZmlsbCBfX0FSR1MoKGxpbmVucl9UIGxudW0pKTsKK2ludCBwbGluZXNfd2luX25vZmlsbCBfX0FSR1MoKHdpbl9UICp3cCwgbGluZW5yX1QgbG51bSwgaW50IHdpbmhlaWdodCkpOworaW50IHBsaW5lc193aW5fbm9mb2xkIF9fQVJHUygod2luX1QgKndwLCBsaW5lbnJfVCBsbnVtKSk7CitpbnQgcGxpbmVzX3dpbl9jb2wgX19BUkdTKCh3aW5fVCAqd3AsIGxpbmVucl9UIGxudW0sIGxvbmcgY29sdW1uKSk7CitpbnQgcGxpbmVzX21fd2luIF9fQVJHUygod2luX1QgKndwLCBsaW5lbnJfVCBmaXJzdCwgbGluZW5yX1QgbGFzdCkpOwordm9pZCBpbnNfYnl0ZXMgX19BUkdTKChjaGFyX3UgKnApKTsKK3ZvaWQgaW5zX2J5dGVzX2xlbiBfX0FSR1MoKGNoYXJfdSAqcCwgaW50IGxlbikpOwordm9pZCBpbnNfY2hhciBfX0FSR1MoKGludCBjKSk7Cit2b2lkIGluc19jaGFyX2J5dGVzIF9fQVJHUygoY2hhcl91ICpidWYsIGludCBjaGFybGVuKSk7Cit2b2lkIGluc19zdHIgX19BUkdTKChjaGFyX3UgKnMpKTsKK2ludCBkZWxfY2hhciBfX0FSR1MoKGludCBmaXhwb3MpKTsKK2ludCBkZWxfY2hhcnMgX19BUkdTKChsb25nIGNvdW50LCBpbnQgZml4cG9zKSk7CitpbnQgZGVsX2J5dGVzIF9fQVJHUygobG9uZyBjb3VudCwgaW50IGZpeHBvc19hcmcsIGludCB1c2VfZGVsY29tYmluZSkpOworaW50IHRydW5jYXRlX2xpbmUgX19BUkdTKChpbnQgZml4cG9zKSk7Cit2b2lkIGRlbF9saW5lcyBfX0FSR1MoKGxvbmcgbmxpbmVzLCBpbnQgdW5kbykpOworaW50IGdjaGFyX3BvcyBfX0FSR1MoKHBvc19UICpwb3MpKTsKK2ludCBnY2hhcl9jdXJzb3IgX19BUkdTKCh2b2lkKSk7Cit2b2lkIHBjaGFyX2N1cnNvciBfX0FSR1MoKGludCBjKSk7CitpbnQgaW5pbmRlbnQgX19BUkdTKChpbnQgZXh0cmEpKTsKK2NoYXJfdSAqc2tpcF90b19vcHRpb25fcGFydCBfX0FSR1MoKGNoYXJfdSAqcCkpOwordm9pZCBjaGFuZ2VkIF9fQVJHUygodm9pZCkpOwordm9pZCBjaGFuZ2VkX2J5dGVzIF9fQVJHUygobGluZW5yX1QgbG51bSwgY29sbnJfVCBjb2wpKTsKK3ZvaWQgYXBwZW5kZWRfbGluZXMgX19BUkdTKChsaW5lbnJfVCBsbnVtLCBsb25nIGNvdW50KSk7Cit2b2lkIGFwcGVuZGVkX2xpbmVzX21hcmsgX19BUkdTKChsaW5lbnJfVCBsbnVtLCBsb25nIGNvdW50KSk7Cit2b2lkIGRlbGV0ZWRfbGluZXMgX19BUkdTKChsaW5lbnJfVCBsbnVtLCBsb25nIGNvdW50KSk7Cit2b2lkIGRlbGV0ZWRfbGluZXNfbWFyayBfX0FSR1MoKGxpbmVucl9UIGxudW0sIGxvbmcgY291bnQpKTsKK3ZvaWQgY2hhbmdlZF9saW5lcyBfX0FSR1MoKGxpbmVucl9UIGxudW0sIGNvbG5yX1QgY29sLCBsaW5lbnJfVCBsbnVtZSwgbG9uZyB4dHJhKSk7Cit2b2lkIHVuY2hhbmdlZCBfX0FSR1MoKGJ1Zl9UICpidWYsIGludCBmZikpOwordm9pZCBjaGVja19zdGF0dXMgX19BUkdTKChidWZfVCAqYnVmKSk7Cit2b2lkIGNoYW5nZV93YXJuaW5nIF9fQVJHUygoaW50IGNvbCkpOworaW50IGFza195ZXNubyBfX0FSR1MoKGNoYXJfdSAqc3RyLCBpbnQgZGlyZWN0KSk7CitpbnQgZ2V0X2tleXN0cm9rZSBfX0FSR1MoKHZvaWQpKTsKK2ludCBnZXRfbnVtYmVyIF9fQVJHUygoaW50IGNvbG9uLCBpbnQgKm1vdXNlX3VzZWQpKTsKK2ludCBwcm9tcHRfZm9yX251bWJlciBfX0FSR1MoKGludCAqbW91c2VfdXNlZCkpOwordm9pZCBtc2dtb3JlIF9fQVJHUygobG9uZyBuKSk7Cit2b2lkIGJlZXBfZmx1c2ggX19BUkdTKCh2b2lkKSk7Cit2b2lkIHZpbV9iZWVwIF9fQVJHUygodm9pZCkpOwordm9pZCBpbml0X2hvbWVkaXIgX19BUkdTKCh2b2lkKSk7Cit2b2lkIGZyZWVfaG9tZWRpciBfX0FSR1MoKHZvaWQpKTsKK3ZvaWQgZXhwYW5kX2VudiBfX0FSR1MoKGNoYXJfdSAqc3JjLCBjaGFyX3UgKmRzdCwgaW50IGRzdGxlbikpOwordm9pZCBleHBhbmRfZW52X2VzYyBfX0FSR1MoKGNoYXJfdSAqc3JjcCwgY2hhcl91ICpkc3QsIGludCBkc3RsZW4sIGludCBlc2MsIGNoYXJfdSAqc3RhcnRzdHIpKTsKK2NoYXJfdSAqdmltX2dldGVudiBfX0FSR1MoKGNoYXJfdSAqbmFtZSwgaW50ICptdXN0ZnJlZSkpOworY2hhcl91ICpleHBhbmRfZW52X3NhdmUgX19BUkdTKChjaGFyX3UgKnNyYykpOwordm9pZCB2aW1fc2V0ZW52IF9fQVJHUygoY2hhcl91ICpuYW1lLCBjaGFyX3UgKnZhbCkpOworY2hhcl91ICpnZXRfZW52X25hbWUgX19BUkdTKChleHBhbmRfVCAqeHAsIGludCBpZHgpKTsKK3ZvaWQgaG9tZV9yZXBsYWNlIF9fQVJHUygoYnVmX1QgKmJ1ZiwgY2hhcl91ICpzcmMsIGNoYXJfdSAqZHN0LCBpbnQgZHN0bGVuLCBpbnQgb25lKSk7CitjaGFyX3UgKmhvbWVfcmVwbGFjZV9zYXZlIF9fQVJHUygoYnVmX1QgKmJ1ZiwgY2hhcl91ICpzcmMpKTsKK2ludCBmdWxscGF0aGNtcCBfX0FSR1MoKGNoYXJfdSAqczEsIGNoYXJfdSAqczIsIGludCBjaGVja25hbWUpKTsKK2NoYXJfdSAqZ2V0dGFpbCBfX0FSR1MoKGNoYXJfdSAqZm5hbWUpKTsKK2NoYXJfdSAqZ2V0dGFpbF9zZXAgX19BUkdTKChjaGFyX3UgKmZuYW1lKSk7CitjaGFyX3UgKmdldG5leHRjb21wIF9fQVJHUygoY2hhcl91ICpmbmFtZSkpOworY2hhcl91ICpnZXRfcGFzdF9oZWFkIF9fQVJHUygoY2hhcl91ICpwYXRoKSk7CitpbnQgdmltX2lzcGF0aHNlcCBfX0FSR1MoKGludCBjKSk7CitpbnQgdmltX2lzcGF0aGxpc3RzZXAgX19BUkdTKChpbnQgYykpOwordm9pZCBzaG9ydGVuX2RpciBfX0FSR1MoKGNoYXJfdSAqc3RyKSk7CitpbnQgZGlyX29mX2ZpbGVfZXhpc3RzIF9fQVJHUygoY2hhcl91ICpmbmFtZSkpOworaW50IHZpbV9mbmFtZWNtcCBfX0FSR1MoKGNoYXJfdSAqeCwgY2hhcl91ICp5KSk7CitpbnQgdmltX2ZuYW1lbmNtcCBfX0FSR1MoKGNoYXJfdSAqeCwgY2hhcl91ICp5LCBzaXplX3QgbGVuKSk7CitjaGFyX3UgKmNvbmNhdF9mbmFtZXMgX19BUkdTKChjaGFyX3UgKmZuYW1lMSwgY2hhcl91ICpmbmFtZTIsIGludCBzZXApKTsKK2NoYXJfdSAqY29uY2F0X3N0ciBfX0FSR1MoKGNoYXJfdSAqc3RyMSwgY2hhcl91ICpzdHIyKSk7Cit2b2lkIGFkZF9wYXRoc2VwIF9fQVJHUygoY2hhcl91ICpwKSk7CitjaGFyX3UgKkZ1bGxOYW1lX3NhdmUgX19BUkdTKChjaGFyX3UgKmZuYW1lLCBpbnQgZm9yY2UpKTsKK3Bvc19UICpmaW5kX3N0YXJ0X2NvbW1lbnQgX19BUkdTKChpbnQgaW5kX21heGNvbW1lbnQpKTsKK3ZvaWQgZG9fY19leHByX2luZGVudCBfX0FSR1MoKHZvaWQpKTsKK2ludCBjaW5faXNsYWJlbCBfX0FSR1MoKGludCBpbmRfbWF4Y29tbWVudCkpOworaW50IGNpbl9pc2Nhc2UgX19BUkdTKChjaGFyX3UgKnMpKTsKK2ludCBjaW5faXNzY29wZWRlY2wgX19BUkdTKChjaGFyX3UgKnMpKTsKK2ludCBnZXRfY19pbmRlbnQgX19BUkdTKCh2b2lkKSk7CitpbnQgZ2V0X2V4cHJfaW5kZW50IF9fQVJHUygodm9pZCkpOworaW50IGdldF9saXNwX2luZGVudCBfX0FSR1MoKHZvaWQpKTsKK3ZvaWQgcHJlcGFyZV90b19leGl0IF9fQVJHUygodm9pZCkpOwordm9pZCBwcmVzZXJ2ZV9leGl0IF9fQVJHUygodm9pZCkpOworaW50IHZpbV9mZXhpc3RzIF9fQVJHUygoY2hhcl91ICpmbmFtZSkpOwordm9pZCBsaW5lX2JyZWFrY2hlY2sgX19BUkdTKCh2b2lkKSk7Cit2b2lkIGZhc3RfYnJlYWtjaGVjayBfX0FSR1MoKHZvaWQpKTsKK2ludCBleHBhbmRfd2lsZGNhcmRzIF9fQVJHUygoaW50IG51bV9wYXQsIGNoYXJfdSAqKnBhdCwgaW50ICpudW1fZmlsZSwgY2hhcl91ICoqKmZpbGUsIGludCBmbGFncykpOworaW50IG1hdGNoX3N1ZmZpeCBfX0FSR1MoKGNoYXJfdSAqZm5hbWUpKTsKK2ludCB1bml4X2V4cGFuZHBhdGggX19BUkdTKChnYXJyYXlfVCAqZ2FwLCBjaGFyX3UgKnBhdGgsIGludCB3aWxkb2ZmLCBpbnQgZmxhZ3MsIGludCBkaWRzdGFyKSk7CitpbnQgZ2VuX2V4cGFuZF93aWxkY2FyZHMgX19BUkdTKChpbnQgbnVtX3BhdCwgY2hhcl91ICoqcGF0LCBpbnQgKm51bV9maWxlLCBjaGFyX3UgKioqZmlsZSwgaW50IGZsYWdzKSk7Cit2b2lkIGFkZGZpbGUgX19BUkdTKChnYXJyYXlfVCAqZ2FwLCBjaGFyX3UgKmYsIGludCBmbGFncykpOworY2hhcl91ICpnZXRfY21kX291dHB1dCBfX0FSR1MoKGNoYXJfdSAqY21kLCBjaGFyX3UgKmluZmlsZSwgaW50IGZsYWdzKSk7Cit2b2lkIEZyZWVXaWxkIF9fQVJHUygoaW50IGNvdW50LCBjaGFyX3UgKipmaWxlcykpOworaW50IGdvdG9faW0gX19BUkdTKCh2b2lkKSk7CiAvKiB2aW06IHNldCBmdD1jIDogKi8KZGlmZiAtLWdpdCBhL3NyYy9wcm90by9vcHRpb24ucHJvIGIvc3JjL3Byb3RvL29wdGlvbi5wcm8KaW5kZXggNjIxZDc4MS4uYmI1MGVmMSAxMDA2NDQKLS0tIGEvc3JjL3Byb3RvL29wdGlvbi5wcm8KKysrIGIvc3JjL3Byb3RvL29wdGlvbi5wcm8KQEAgLTEsNTYgKzEsNTYgQEAKIC8qIG9wdGlvbi5jICovCi1leHRlcm4gdm9pZCBzZXRfaW5pdF8xIF9fQVJHUygodm9pZCkpOwotZXh0ZXJuIHZvaWQgc2V0X3N0cmluZ19kZWZhdWx0IF9fQVJHUygoY2hhciAqbmFtZSwgY2hhcl91ICp2YWwpKTsKLWV4dGVybiB2b2lkIHNldF9udW1iZXJfZGVmYXVsdCBfX0FSR1MoKGNoYXIgKm5hbWUsIGxvbmcgdmFsKSk7Ci1leHRlcm4gdm9pZCBmcmVlX2FsbF9vcHRpb25zIF9fQVJHUygodm9pZCkpOwotZXh0ZXJuIHZvaWQgc2V0X2luaXRfMiBfX0FSR1MoKHZvaWQpKTsKLWV4dGVybiB2b2lkIHNldF9pbml0XzMgX19BUkdTKCh2b2lkKSk7Ci1leHRlcm4gdm9pZCBzZXRfaGVscGxhbmdfZGVmYXVsdCBfX0FSR1MoKGNoYXJfdSAqbGFuZykpOwotZXh0ZXJuIHZvaWQgaW5pdF9ndWlfb3B0aW9ucyBfX0FSR1MoKHZvaWQpKTsKLWV4dGVybiB2b2lkIHNldF90aXRsZV9kZWZhdWx0cyBfX0FSR1MoKHZvaWQpKTsKLWV4dGVybiBpbnQgZG9fc2V0IF9fQVJHUygoY2hhcl91ICphcmcsIGludCBvcHRfZmxhZ3MpKTsKLWV4dGVybiB2b2lkIHNldF9vcHRpb25zX2JpbiBfX0FSR1MoKGludCBvbGR2YWwsIGludCBuZXd2YWwsIGludCBvcHRfZmxhZ3MpKTsKLWV4dGVybiBpbnQgZ2V0X3ZpbWluZm9fcGFyYW1ldGVyIF9fQVJHUygoaW50IHR5cGUpKTsKLWV4dGVybiBjaGFyX3UgKmZpbmRfdmltaW5mb19wYXJhbWV0ZXIgX19BUkdTKChpbnQgdHlwZSkpOwotZXh0ZXJuIHZvaWQgY2hlY2tfb3B0aW9ucyBfX0FSR1MoKHZvaWQpKTsKLWV4dGVybiB2b2lkIGNoZWNrX2J1Zl9vcHRpb25zIF9fQVJHUygoYnVmX1QgKmJ1ZikpOwotZXh0ZXJuIHZvaWQgZnJlZV9zdHJpbmdfb3B0aW9uIF9fQVJHUygoY2hhcl91ICpwKSk7Ci1leHRlcm4gdm9pZCBjbGVhcl9zdHJpbmdfb3B0aW9uIF9fQVJHUygoY2hhcl91ICoqcHApKTsKLWV4dGVybiB2b2lkIHNldF90ZXJtX29wdGlvbl9hbGxvY2VkIF9fQVJHUygoY2hhcl91ICoqcCkpOwotZXh0ZXJuIGludCB3YXNfc2V0X2luc2VjdXJlbHkgX19BUkdTKChjaGFyX3UgKm9wdCwgaW50IG9wdF9mbGFncykpOwotZXh0ZXJuIHZvaWQgc2V0X3N0cmluZ19vcHRpb25fZGlyZWN0IF9fQVJHUygoY2hhcl91ICpuYW1lLCBpbnQgb3B0X2lkeCwgY2hhcl91ICp2YWwsIGludCBvcHRfZmxhZ3MsIGludCBzZXRfc2lkKSk7Ci1leHRlcm4gY2hhcl91ICpjaGVja19zdGxfb3B0aW9uIF9fQVJHUygoY2hhcl91ICpzKSk7Ci1leHRlcm4gaW50IGdldF9vcHRpb25fdmFsdWUgX19BUkdTKChjaGFyX3UgKm5hbWUsIGxvbmcgKm51bXZhbCwgY2hhcl91ICoqc3RyaW5ndmFsLCBpbnQgb3B0X2ZsYWdzKSk7Ci1leHRlcm4gdm9pZCBzZXRfb3B0aW9uX3ZhbHVlIF9fQVJHUygoY2hhcl91ICpuYW1lLCBsb25nIG51bWJlciwgY2hhcl91ICpzdHJpbmcsIGludCBvcHRfZmxhZ3MpKTsKLWV4dGVybiBjaGFyX3UgKmdldF90ZXJtX2NvZGUgX19BUkdTKChjaGFyX3UgKnRuYW1lKSk7Ci1leHRlcm4gY2hhcl91ICpnZXRfaGlnaGxpZ2h0X2RlZmF1bHQgX19BUkdTKCh2b2lkKSk7Ci1leHRlcm4gY2hhcl91ICpnZXRfZW5jb2RpbmdfZGVmYXVsdCBfX0FSR1MoKHZvaWQpKTsKLWV4dGVybiBpbnQgbWFrZXNldCBfX0FSR1MoKEZJTEUgKmZkLCBpbnQgb3B0X2ZsYWdzLCBpbnQgbG9jYWxfb25seSkpOwotZXh0ZXJuIGludCBtYWtlZm9sZHNldCBfX0FSR1MoKEZJTEUgKmZkKSk7Ci1leHRlcm4gdm9pZCBjbGVhcl90ZXJtb3B0aW9ucyBfX0FSR1MoKHZvaWQpKTsKLWV4dGVybiB2b2lkIGZyZWVfdGVybW9wdGlvbnMgX19BUkdTKCh2b2lkKSk7Ci1leHRlcm4gdm9pZCBzZXRfdGVybV9kZWZhdWx0cyBfX0FSR1MoKHZvaWQpKTsKLWV4dGVybiB2b2lkIGNvbXBfY29sIF9fQVJHUygodm9pZCkpOwotZXh0ZXJuIGNoYXJfdSAqZ2V0X2VxdWFscHJnIF9fQVJHUygodm9pZCkpOwotZXh0ZXJuIHZvaWQgd2luX2NvcHlfb3B0aW9ucyBfX0FSR1MoKHdpbl9UICp3cF9mcm9tLCB3aW5fVCAqd3BfdG8pKTsKLWV4dGVybiB2b2lkIGNvcHlfd2lub3B0IF9fQVJHUygod2lub3B0X1QgKmZyb20sIHdpbm9wdF9UICp0bykpOwotZXh0ZXJuIHZvaWQgY2hlY2tfd2luX29wdGlvbnMgX19BUkdTKCh3aW5fVCAqd2luKSk7Ci1leHRlcm4gdm9pZCBjaGVja193aW5vcHQgX19BUkdTKCh3aW5vcHRfVCAqd29wKSk7Ci1leHRlcm4gdm9pZCBjbGVhcl93aW5vcHQgX19BUkdTKCh3aW5vcHRfVCAqd29wKSk7Ci1leHRlcm4gdm9pZCBidWZfY29weV9vcHRpb25zIF9fQVJHUygoYnVmX1QgKmJ1ZiwgaW50IGZsYWdzKSk7Ci1leHRlcm4gdm9pZCByZXNldF9tb2RpZmlhYmxlIF9fQVJHUygodm9pZCkpOwotZXh0ZXJuIHZvaWQgc2V0X2ltaW5zZXJ0X2dsb2JhbCBfX0FSR1MoKHZvaWQpKTsKLWV4dGVybiB2b2lkIHNldF9pbXNlYXJjaF9nbG9iYWwgX19BUkdTKCh2b2lkKSk7Ci1leHRlcm4gdm9pZCBzZXRfY29udGV4dF9pbl9zZXRfY21kIF9fQVJHUygoZXhwYW5kX1QgKnhwLCBjaGFyX3UgKmFyZywgaW50IG9wdF9mbGFncykpOwotZXh0ZXJuIGludCBFeHBhbmRTZXR0aW5ncyBfX0FSR1MoKGV4cGFuZF9UICp4cCwgcmVnbWF0Y2hfVCAqcmVnbWF0Y2gsIGludCAqbnVtX2ZpbGUsIGNoYXJfdSAqKipmaWxlKSk7Ci1leHRlcm4gaW50IEV4cGFuZE9sZFNldHRpbmcgX19BUkdTKChpbnQgKm51bV9maWxlLCBjaGFyX3UgKioqZmlsZSkpOwotZXh0ZXJuIGludCBoYXNfZm9ybWF0X29wdGlvbiBfX0FSR1MoKGludCB4KSk7Ci1leHRlcm4gaW50IHNob3J0bWVzcyBfX0FSR1MoKGludCB4KSk7Ci1leHRlcm4gdm9pZCB2aW1yY19mb3VuZCBfX0FSR1MoKHZvaWQpKTsKLWV4dGVybiB2b2lkIGNoYW5nZV9jb21wYXRpYmxlIF9fQVJHUygoaW50IG9uKSk7Ci1leHRlcm4gaW50IG9wdGlvbl93YXNfc2V0IF9fQVJHUygoY2hhcl91ICpuYW1lKSk7Ci1leHRlcm4gaW50IGNhbl9icyBfX0FSR1MoKGludCB3aGF0KSk7Ci1leHRlcm4gdm9pZCBzYXZlX2ZpbGVfZmYgX19BUkdTKChidWZfVCAqYnVmKSk7Ci1leHRlcm4gaW50IGZpbGVfZmZfZGlmZmVycyBfX0FSR1MoKGJ1Zl9UICpidWYpKTsKLWV4dGVybiBpbnQgY2hlY2tfZmZfdmFsdWUgX19BUkdTKChjaGFyX3UgKnApKTsKK3ZvaWQgc2V0X2luaXRfMSBfX0FSR1MoKHZvaWQpKTsKK3ZvaWQgc2V0X3N0cmluZ19kZWZhdWx0IF9fQVJHUygoY2hhciAqbmFtZSwgY2hhcl91ICp2YWwpKTsKK3ZvaWQgc2V0X251bWJlcl9kZWZhdWx0IF9fQVJHUygoY2hhciAqbmFtZSwgbG9uZyB2YWwpKTsKK3ZvaWQgZnJlZV9hbGxfb3B0aW9ucyBfX0FSR1MoKHZvaWQpKTsKK3ZvaWQgc2V0X2luaXRfMiBfX0FSR1MoKHZvaWQpKTsKK3ZvaWQgc2V0X2luaXRfMyBfX0FSR1MoKHZvaWQpKTsKK3ZvaWQgc2V0X2hlbHBsYW5nX2RlZmF1bHQgX19BUkdTKChjaGFyX3UgKmxhbmcpKTsKK3ZvaWQgaW5pdF9ndWlfb3B0aW9ucyBfX0FSR1MoKHZvaWQpKTsKK3ZvaWQgc2V0X3RpdGxlX2RlZmF1bHRzIF9fQVJHUygodm9pZCkpOworaW50IGRvX3NldCBfX0FSR1MoKGNoYXJfdSAqYXJnLCBpbnQgb3B0X2ZsYWdzKSk7Cit2b2lkIHNldF9vcHRpb25zX2JpbiBfX0FSR1MoKGludCBvbGR2YWwsIGludCBuZXd2YWwsIGludCBvcHRfZmxhZ3MpKTsKK2ludCBnZXRfdmltaW5mb19wYXJhbWV0ZXIgX19BUkdTKChpbnQgdHlwZSkpOworY2hhcl91ICpmaW5kX3ZpbWluZm9fcGFyYW1ldGVyIF9fQVJHUygoaW50IHR5cGUpKTsKK3ZvaWQgY2hlY2tfb3B0aW9ucyBfX0FSR1MoKHZvaWQpKTsKK3ZvaWQgY2hlY2tfYnVmX29wdGlvbnMgX19BUkdTKChidWZfVCAqYnVmKSk7Cit2b2lkIGZyZWVfc3RyaW5nX29wdGlvbiBfX0FSR1MoKGNoYXJfdSAqcCkpOwordm9pZCBjbGVhcl9zdHJpbmdfb3B0aW9uIF9fQVJHUygoY2hhcl91ICoqcHApKTsKK3ZvaWQgc2V0X3Rlcm1fb3B0aW9uX2FsbG9jZWQgX19BUkdTKChjaGFyX3UgKipwKSk7CitpbnQgd2FzX3NldF9pbnNlY3VyZWx5IF9fQVJHUygoY2hhcl91ICpvcHQsIGludCBvcHRfZmxhZ3MpKTsKK3ZvaWQgc2V0X3N0cmluZ19vcHRpb25fZGlyZWN0IF9fQVJHUygoY2hhcl91ICpuYW1lLCBpbnQgb3B0X2lkeCwgY2hhcl91ICp2YWwsIGludCBvcHRfZmxhZ3MsIGludCBzZXRfc2lkKSk7CitjaGFyX3UgKmNoZWNrX3N0bF9vcHRpb24gX19BUkdTKChjaGFyX3UgKnMpKTsKK2ludCBnZXRfb3B0aW9uX3ZhbHVlIF9fQVJHUygoY2hhcl91ICpuYW1lLCBsb25nICpudW12YWwsIGNoYXJfdSAqKnN0cmluZ3ZhbCwgaW50IG9wdF9mbGFncykpOwordm9pZCBzZXRfb3B0aW9uX3ZhbHVlIF9fQVJHUygoY2hhcl91ICpuYW1lLCBsb25nIG51bWJlciwgY2hhcl91ICpzdHJpbmcsIGludCBvcHRfZmxhZ3MpKTsKK2NoYXJfdSAqZ2V0X3Rlcm1fY29kZSBfX0FSR1MoKGNoYXJfdSAqdG5hbWUpKTsKK2NoYXJfdSAqZ2V0X2hpZ2hsaWdodF9kZWZhdWx0IF9fQVJHUygodm9pZCkpOworY2hhcl91ICpnZXRfZW5jb2RpbmdfZGVmYXVsdCBfX0FSR1MoKHZvaWQpKTsKK2ludCBtYWtlc2V0IF9fQVJHUygoRklMRSAqZmQsIGludCBvcHRfZmxhZ3MsIGludCBsb2NhbF9vbmx5KSk7CitpbnQgbWFrZWZvbGRzZXQgX19BUkdTKChGSUxFICpmZCkpOwordm9pZCBjbGVhcl90ZXJtb3B0aW9ucyBfX0FSR1MoKHZvaWQpKTsKK3ZvaWQgZnJlZV90ZXJtb3B0aW9ucyBfX0FSR1MoKHZvaWQpKTsKK3ZvaWQgc2V0X3Rlcm1fZGVmYXVsdHMgX19BUkdTKCh2b2lkKSk7Cit2b2lkIGNvbXBfY29sIF9fQVJHUygodm9pZCkpOworY2hhcl91ICpnZXRfZXF1YWxwcmcgX19BUkdTKCh2b2lkKSk7Cit2b2lkIHdpbl9jb3B5X29wdGlvbnMgX19BUkdTKCh3aW5fVCAqd3BfZnJvbSwgd2luX1QgKndwX3RvKSk7Cit2b2lkIGNvcHlfd2lub3B0IF9fQVJHUygod2lub3B0X1QgKmZyb20sIHdpbm9wdF9UICp0bykpOwordm9pZCBjaGVja193aW5fb3B0aW9ucyBfX0FSR1MoKHdpbl9UICp3aW4pKTsKK3ZvaWQgY2hlY2tfd2lub3B0IF9fQVJHUygod2lub3B0X1QgKndvcCkpOwordm9pZCBjbGVhcl93aW5vcHQgX19BUkdTKCh3aW5vcHRfVCAqd29wKSk7Cit2b2lkIGJ1Zl9jb3B5X29wdGlvbnMgX19BUkdTKChidWZfVCAqYnVmLCBpbnQgZmxhZ3MpKTsKK3ZvaWQgcmVzZXRfbW9kaWZpYWJsZSBfX0FSR1MoKHZvaWQpKTsKK3ZvaWQgc2V0X2ltaW5zZXJ0X2dsb2JhbCBfX0FSR1MoKHZvaWQpKTsKK3ZvaWQgc2V0X2ltc2VhcmNoX2dsb2JhbCBfX0FSR1MoKHZvaWQpKTsKK3ZvaWQgc2V0X2NvbnRleHRfaW5fc2V0X2NtZCBfX0FSR1MoKGV4cGFuZF9UICp4cCwgY2hhcl91ICphcmcsIGludCBvcHRfZmxhZ3MpKTsKK2ludCBFeHBhbmRTZXR0aW5ncyBfX0FSR1MoKGV4cGFuZF9UICp4cCwgcmVnbWF0Y2hfVCAqcmVnbWF0Y2gsIGludCAqbnVtX2ZpbGUsIGNoYXJfdSAqKipmaWxlKSk7CitpbnQgRXhwYW5kT2xkU2V0dGluZyBfX0FSR1MoKGludCAqbnVtX2ZpbGUsIGNoYXJfdSAqKipmaWxlKSk7CitpbnQgaGFzX2Zvcm1hdF9vcHRpb24gX19BUkdTKChpbnQgeCkpOworaW50IHNob3J0bWVzcyBfX0FSR1MoKGludCB4KSk7Cit2b2lkIHZpbXJjX2ZvdW5kIF9fQVJHUygoY2hhcl91ICpmbmFtZSwgY2hhcl91ICplbnZuYW1lKSk7Cit2b2lkIGNoYW5nZV9jb21wYXRpYmxlIF9fQVJHUygoaW50IG9uKSk7CitpbnQgb3B0aW9uX3dhc19zZXQgX19BUkdTKChjaGFyX3UgKm5hbWUpKTsKK2ludCBjYW5fYnMgX19BUkdTKChpbnQgd2hhdCkpOwordm9pZCBzYXZlX2ZpbGVfZmYgX19BUkdTKChidWZfVCAqYnVmKSk7CitpbnQgZmlsZV9mZl9kaWZmZXJzIF9fQVJHUygoYnVmX1QgKmJ1ZikpOworaW50IGNoZWNrX2ZmX3ZhbHVlIF9fQVJHUygoY2hhcl91ICpwKSk7CiAvKiB2aW06IHNldCBmdD1jIDogKi8KZGlmZiAtLWdpdCBhL3NyYy9wcm90by9vc193aW4zMi5wcm8gYi9zcmMvcHJvdG8vb3Nfd2luMzIucHJvCmluZGV4IDIyZTAzODAuLmQyZjVkMDggMTAwNjQ0Ci0tLSBhL3NyYy9wcm90by9vc193aW4zMi5wcm8KKysrIGIvc3JjL3Byb3RvL29zX3dpbjMyLnBybwpAQCAtNDgsNyArNDgsNyBAQAogZXh0ZXJuIGludCBteXJlc2V0c3Rrb2ZsdyBfX0FSR1MoKHZvaWQpKTsKIGV4dGVybiBpbnQgZ2V0X2NtZF9hcmdzVyBfX0FSR1MoKGNoYXIgKioqYXJndnApKTsKIGV4dGVybiB2b2lkIGZyZWVfY21kX2FyZ3NXIF9fQVJHUygodm9pZCkpOwotZXh0ZXJuIHZvaWQgdXNlZF9maWxlX2FyZyBfX0FSR1MoKGNoYXIgKm5hbWUsIGludCBsaXRlcmFsLCBpbnQgZnVsbF9wYXRoKSk7CitleHRlcm4gdm9pZCB1c2VkX2ZpbGVfYXJnIF9fQVJHUygoY2hhciAqbmFtZSwgaW50IGxpdGVyYWwsIGludCBmdWxsX3BhdGgsIGludCBkaWZmX21vZGUpKTsKIGV4dGVybiB2b2lkIHNldF9hbGlzdF9jb3VudCBfX0FSR1MoKHZvaWQpKTsKIGV4dGVybiB2b2lkIGZpeF9hcmdfZW5jIF9fQVJHUygodm9pZCkpOwogLyogdmltOiBzZXQgZnQ9YyA6ICovCmRpZmYgLS1naXQgYS9zcmMvcHJvdG8vc3ludGF4LnBybyBiL3NyYy9wcm90by9zeW50YXgucHJvCmluZGV4IDMxNTcxMDguLmMzM2E4OTAgMTAwNjQ0Ci0tLSBhL3NyYy9wcm90by9zeW50YXgucHJvCisrKyBiL3NyYy9wcm90by9zeW50YXgucHJvCkBAIC0xLDQ2ICsxLDQ3IEBACiAvKiBzeW50YXguYyAqLwotZXh0ZXJuIHZvaWQgc3ludGF4X3N0YXJ0IF9fQVJHUygod2luX1QgKndwLCBsaW5lbnJfVCBsbnVtKSk7Ci1leHRlcm4gdm9pZCBzeW5fc3RhY2tfZnJlZV9hbGwgX19BUkdTKChidWZfVCAqYnVmKSk7Ci1leHRlcm4gdm9pZCBzeW5fc3RhY2tfYXBwbHlfY2hhbmdlcyBfX0FSR1MoKGJ1Zl9UICpidWYpKTsKLWV4dGVybiB2b2lkIHN5bnRheF9lbmRfcGFyc2luZyBfX0FSR1MoKGxpbmVucl9UIGxudW0pKTsKLWV4dGVybiBpbnQgc3ludGF4X2NoZWNrX2NoYW5nZWQgX19BUkdTKChsaW5lbnJfVCBsbnVtKSk7Ci1leHRlcm4gaW50IGdldF9zeW50YXhfYXR0ciBfX0FSR1MoKGNvbG5yX1QgY29sLCBpbnQgKmNhbl9zcGVsbCkpOwotZXh0ZXJuIHZvaWQgc3ludGF4X2NsZWFyIF9fQVJHUygoYnVmX1QgKmJ1ZikpOwotZXh0ZXJuIHZvaWQgZXhfc3ludGF4IF9fQVJHUygoZXhhcmdfVCAqZWFwKSk7Ci1leHRlcm4gaW50IHN5bnRheF9wcmVzZW50IF9fQVJHUygoYnVmX1QgKmJ1ZikpOwotZXh0ZXJuIHZvaWQgc2V0X2NvbnRleHRfaW5fc3ludGF4X2NtZCBfX0FSR1MoKGV4cGFuZF9UICp4cCwgY2hhcl91ICphcmcpKTsKLWV4dGVybiBjaGFyX3UgKmdldF9zeW50YXhfbmFtZSBfX0FSR1MoKGV4cGFuZF9UICp4cCwgaW50IGlkeCkpOwotZXh0ZXJuIGludCBzeW5fZ2V0X2lkIF9fQVJHUygod2luX1QgKndwLCBsb25nIGxudW0sIGNvbG5yX1QgY29sLCBpbnQgdHJhbnMsIGludCAqc3BlbGxwKSk7Ci1leHRlcm4gaW50IHN5bl9nZXRfZm9sZGxldmVsIF9fQVJHUygod2luX1QgKndwLCBsb25nIGxudW0pKTsKLWV4dGVybiB2b2lkIGluaXRfaGlnaGxpZ2h0IF9fQVJHUygoaW50IGJvdGgsIGludCByZXNldCkpOwotZXh0ZXJuIGludCBsb2FkX2NvbG9ycyBfX0FSR1MoKGNoYXJfdSAqbmFtZSkpOwotZXh0ZXJuIHZvaWQgZG9faGlnaGxpZ2h0IF9fQVJHUygoY2hhcl91ICpsaW5lLCBpbnQgZm9yY2VpdCwgaW50IGluaXQpKTsKLWV4dGVybiB2b2lkIGZyZWVfaGlnaGxpZ2h0IF9fQVJHUygodm9pZCkpOwotZXh0ZXJuIHZvaWQgcmVzdG9yZV9jdGVybV9jb2xvcnMgX19BUkdTKCh2b2lkKSk7Ci1leHRlcm4gdm9pZCBzZXRfbm9ybWFsX2NvbG9ycyBfX0FSR1MoKHZvaWQpKTsKLWV4dGVybiBjaGFyX3UgKmhsX2dldF9mb250X25hbWUgX19BUkdTKCh2b2lkKSk7Ci1leHRlcm4gdm9pZCBobF9zZXRfZm9udF9uYW1lIF9fQVJHUygoY2hhcl91ICpmb250X25hbWUpKTsKLWV4dGVybiB2b2lkIGhsX3NldF9iZ19jb2xvcl9uYW1lIF9fQVJHUygoY2hhcl91ICpuYW1lKSk7Ci1leHRlcm4gdm9pZCBobF9zZXRfZmdfY29sb3JfbmFtZSBfX0FSR1MoKGNoYXJfdSAqbmFtZSkpOwotZXh0ZXJuIHZvaWQgY2xlYXJfaGxfdGFibGVzIF9fQVJHUygodm9pZCkpOwotZXh0ZXJuIGludCBobF9jb21iaW5lX2F0dHIgX19BUkdTKChpbnQgY2hhcl9hdHRyLCBpbnQgcHJpbV9hdHRyKSk7Ci1leHRlcm4gYXR0cmVudHJ5X1QgKnN5bl9ndWlfYXR0cjJlbnRyeSBfX0FSR1MoKGludCBhdHRyKSk7Ci1leHRlcm4gaW50IHN5bl9hdHRyMmF0dHIgX19BUkdTKChpbnQgYXR0cikpOwotZXh0ZXJuIGF0dHJlbnRyeV9UICpzeW5fdGVybV9hdHRyMmVudHJ5IF9fQVJHUygoaW50IGF0dHIpKTsKLWV4dGVybiBhdHRyZW50cnlfVCAqc3luX2N0ZXJtX2F0dHIyZW50cnkgX19BUkdTKChpbnQgYXR0cikpOwotZXh0ZXJuIGNoYXJfdSAqaGlnaGxpZ2h0X2hhc19hdHRyIF9fQVJHUygoaW50IGlkLCBpbnQgZmxhZywgaW50IG1vZGVjKSk7Ci1leHRlcm4gY2hhcl91ICpoaWdobGlnaHRfY29sb3IgX19BUkdTKChpbnQgaWQsIGNoYXJfdSAqd2hhdCwgaW50IG1vZGVjKSk7Ci1leHRlcm4gbG9uZ191IGhpZ2hsaWdodF9ndWlfY29sb3JfcmdiIF9fQVJHUygoaW50IGlkLCBpbnQgZmcpKTsKLWV4dGVybiBpbnQgc3luX25hbWUyaWQgX19BUkdTKChjaGFyX3UgKm5hbWUpKTsKLWV4dGVybiBpbnQgaGlnaGxpZ2h0X2V4aXN0cyBfX0FSR1MoKGNoYXJfdSAqbmFtZSkpOwotZXh0ZXJuIGludCBzeW5fbmFtZW4yaWQgX19BUkdTKChjaGFyX3UgKmxpbmVwLCBpbnQgbGVuKSk7Ci1leHRlcm4gaW50IHN5bl9jaGVja19ncm91cCBfX0FSR1MoKGNoYXJfdSAqcHAsIGludCBsZW4pKTsKLWV4dGVybiBpbnQgc3luX2lkMmF0dHIgX19BUkdTKChpbnQgaGxfaWQpKTsKLWV4dGVybiBpbnQgc3luX2lkMmNvbG9ycyBfX0FSR1MoKGludCBobF9pZCwgZ3VpY29sb3JfVCAqZmdwLCBndWljb2xvcl9UICpiZ3ApKTsKLWV4dGVybiBpbnQgc3luX2dldF9maW5hbF9pZCBfX0FSR1MoKGludCBobF9pZCkpOwotZXh0ZXJuIHZvaWQgaGlnaGxpZ2h0X2d1aV9zdGFydGVkIF9fQVJHUygodm9pZCkpOwotZXh0ZXJuIGludCBoaWdobGlnaHRfY2hhbmdlZCBfX0FSR1MoKHZvaWQpKTsKLWV4dGVybiB2b2lkIHNldF9jb250ZXh0X2luX2hpZ2hsaWdodF9jbWQgX19BUkdTKChleHBhbmRfVCAqeHAsIGNoYXJfdSAqYXJnKSk7Ci1leHRlcm4gY2hhcl91ICpnZXRfaGlnaGxpZ2h0X25hbWUgX19BUkdTKChleHBhbmRfVCAqeHAsIGludCBpZHgpKTsKLWV4dGVybiB2b2lkIGZyZWVfaGlnaGxpZ2h0X2ZvbnRzIF9fQVJHUygodm9pZCkpOwordm9pZCBzeW50YXhfc3RhcnQgX19BUkdTKCh3aW5fVCAqd3AsIGxpbmVucl9UIGxudW0pKTsKK3ZvaWQgc3luX3N0YWNrX2ZyZWVfYWxsIF9fQVJHUygoYnVmX1QgKmJ1ZikpOwordm9pZCBzeW5fc3RhY2tfYXBwbHlfY2hhbmdlcyBfX0FSR1MoKGJ1Zl9UICpidWYpKTsKK3ZvaWQgc3ludGF4X2VuZF9wYXJzaW5nIF9fQVJHUygobGluZW5yX1QgbG51bSkpOworaW50IHN5bnRheF9jaGVja19jaGFuZ2VkIF9fQVJHUygobGluZW5yX1QgbG51bSkpOworaW50IGdldF9zeW50YXhfYXR0ciBfX0FSR1MoKGNvbG5yX1QgY29sLCBpbnQgKmNhbl9zcGVsbCkpOwordm9pZCBzeW50YXhfY2xlYXIgX19BUkdTKChidWZfVCAqYnVmKSk7Cit2b2lkIGV4X3N5bnRheCBfX0FSR1MoKGV4YXJnX1QgKmVhcCkpOworaW50IHN5bnRheF9wcmVzZW50IF9fQVJHUygoYnVmX1QgKmJ1ZikpOwordm9pZCBzZXRfY29udGV4dF9pbl9zeW50YXhfY21kIF9fQVJHUygoZXhwYW5kX1QgKnhwLCBjaGFyX3UgKmFyZykpOworY2hhcl91ICpnZXRfc3ludGF4X25hbWUgX19BUkdTKChleHBhbmRfVCAqeHAsIGludCBpZHgpKTsKK2ludCBzeW5fZ2V0X2lkIF9fQVJHUygod2luX1QgKndwLCBsb25nIGxudW0sIGNvbG5yX1QgY29sLCBpbnQgdHJhbnMsIGludCAqc3BlbGxwKSk7CitpbnQgc3luX2dldF9mb2xkbGV2ZWwgX19BUkdTKCh3aW5fVCAqd3AsIGxvbmcgbG51bSkpOwordm9pZCBpbml0X2hpZ2hsaWdodCBfX0FSR1MoKGludCBib3RoLCBpbnQgcmVzZXQpKTsKK2ludCBsb2FkX2NvbG9ycyBfX0FSR1MoKGNoYXJfdSAqbmFtZSkpOwordm9pZCBkb19oaWdobGlnaHQgX19BUkdTKChjaGFyX3UgKmxpbmUsIGludCBmb3JjZWl0LCBpbnQgaW5pdCkpOwordm9pZCBmcmVlX2hpZ2hsaWdodCBfX0FSR1MoKHZvaWQpKTsKK3ZvaWQgcmVzdG9yZV9jdGVybV9jb2xvcnMgX19BUkdTKCh2b2lkKSk7Cit2b2lkIHNldF9ub3JtYWxfY29sb3JzIF9fQVJHUygodm9pZCkpOworY2hhcl91ICpobF9nZXRfZm9udF9uYW1lIF9fQVJHUygodm9pZCkpOwordm9pZCBobF9zZXRfZm9udF9uYW1lIF9fQVJHUygoY2hhcl91ICpmb250X25hbWUpKTsKK3ZvaWQgaGxfc2V0X2JnX2NvbG9yX25hbWUgX19BUkdTKChjaGFyX3UgKm5hbWUpKTsKK3ZvaWQgaGxfc2V0X2ZnX2NvbG9yX25hbWUgX19BUkdTKChjaGFyX3UgKm5hbWUpKTsKK3ZvaWQgY2xlYXJfaGxfdGFibGVzIF9fQVJHUygodm9pZCkpOworaW50IGhsX2NvbWJpbmVfYXR0ciBfX0FSR1MoKGludCBjaGFyX2F0dHIsIGludCBwcmltX2F0dHIpKTsKK2F0dHJlbnRyeV9UICpzeW5fZ3VpX2F0dHIyZW50cnkgX19BUkdTKChpbnQgYXR0cikpOworaW50IHN5bl9hdHRyMmF0dHIgX19BUkdTKChpbnQgYXR0cikpOworYXR0cmVudHJ5X1QgKnN5bl90ZXJtX2F0dHIyZW50cnkgX19BUkdTKChpbnQgYXR0cikpOworYXR0cmVudHJ5X1QgKnN5bl9jdGVybV9hdHRyMmVudHJ5IF9fQVJHUygoaW50IGF0dHIpKTsKK2NoYXJfdSAqaGlnaGxpZ2h0X2hhc19hdHRyIF9fQVJHUygoaW50IGlkLCBpbnQgZmxhZywgaW50IG1vZGVjKSk7CitjaGFyX3UgKmhpZ2hsaWdodF9jb2xvciBfX0FSR1MoKGludCBpZCwgY2hhcl91ICp3aGF0LCBpbnQgbW9kZWMpKTsKK2xvbmdfdSBoaWdobGlnaHRfZ3VpX2NvbG9yX3JnYiBfX0FSR1MoKGludCBpZCwgaW50IGZnKSk7CitpbnQgc3luX25hbWUyaWQgX19BUkdTKChjaGFyX3UgKm5hbWUpKTsKK2ludCBoaWdobGlnaHRfZXhpc3RzIF9fQVJHUygoY2hhcl91ICpuYW1lKSk7CitjaGFyX3UgKnN5bl9pZDJuYW1lIF9fQVJHUygoaW50IGlkKSk7CitpbnQgc3luX25hbWVuMmlkIF9fQVJHUygoY2hhcl91ICpsaW5lcCwgaW50IGxlbikpOworaW50IHN5bl9jaGVja19ncm91cCBfX0FSR1MoKGNoYXJfdSAqcHAsIGludCBsZW4pKTsKK2ludCBzeW5faWQyYXR0ciBfX0FSR1MoKGludCBobF9pZCkpOworaW50IHN5bl9pZDJjb2xvcnMgX19BUkdTKChpbnQgaGxfaWQsIGd1aWNvbG9yX1QgKmZncCwgZ3VpY29sb3JfVCAqYmdwKSk7CitpbnQgc3luX2dldF9maW5hbF9pZCBfX0FSR1MoKGludCBobF9pZCkpOwordm9pZCBoaWdobGlnaHRfZ3VpX3N0YXJ0ZWQgX19BUkdTKCh2b2lkKSk7CitpbnQgaGlnaGxpZ2h0X2NoYW5nZWQgX19BUkdTKCh2b2lkKSk7Cit2b2lkIHNldF9jb250ZXh0X2luX2hpZ2hsaWdodF9jbWQgX19BUkdTKChleHBhbmRfVCAqeHAsIGNoYXJfdSAqYXJnKSk7CitjaGFyX3UgKmdldF9oaWdobGlnaHRfbmFtZSBfX0FSR1MoKGV4cGFuZF9UICp4cCwgaW50IGlkeCkpOwordm9pZCBmcmVlX2hpZ2hsaWdodF9mb250cyBfX0FSR1MoKHZvaWQpKTsKIC8qIHZpbTogc2V0IGZ0PWMgOiAqLwpkaWZmIC0tZ2l0IGEvc3JjL3NjcmVlbi5jIGIvc3JjL3NjcmVlbi5jCmluZGV4IDAxMTM0YTQuLjUyYTZmNzQgMTAwNjQ0Ci0tLSBhL3NyYy9zY3JlZW4uYworKysgYi9zcmMvc2NyZWVuLmMKQEAgLTMzMjQsNyArMzMyNCw4IEBACiAJfQogCiAJLyogV2hlbiBzdGlsbCBkaXNwbGF5aW5nICckJyBvZiBjaGFuZ2UgY29tbWFuZCwgc3RvcCBhdCBjdXJzb3IgKi8KLQlpZiAoZG9sbGFyX3Zjb2wgIT0gMCAmJiB3cCA9PSBjdXJ3aW4gJiYgdmNvbCA+PSAobG9uZyl3cC0+d192aXJ0Y29sCisJaWYgKGRvbGxhcl92Y29sICE9IDAgJiYgd3AgPT0gY3Vyd2luCisJCSAgICYmIGxudW0gPT0gd3AtPndfY3Vyc29yLmxudW0gJiYgdmNvbCA+PSAobG9uZyl3cC0+d192aXJ0Y29sCiAjaWZkZWYgRkVBVF9ESUZGCiAJCQkJICAgJiYgZmlsbGVyX3RvZG8gPD0gMAogI2VuZGlmCkBAIC0zMzMyLDggKzMzMzMsMTQgQEAKIAl7CiAJICAgIFNDUkVFTl9MSU5FKHNjcmVlbl9yb3csIFdfV0lOQ09MKHdwKSwgY29sLCAtKGludClXX1dJRFRIKHdwKSwKIAkJCQkJCQkJICB3cC0+d19wX3JsKTsKLQkgICAgLyogUHJldGVuZCB3ZSBoYXZlIGZpbmlzaGVkIHVwZGF0aW5nIHRoZSB3aW5kb3cuICovCi0JICAgIHJvdyA9IHdwLT53X2hlaWdodDsKKwkgICAgLyogUHJldGVuZCB3ZSBoYXZlIGZpbmlzaGVkIHVwZGF0aW5nIHRoZSB3aW5kb3cuICBFeGNlcHQgd2hlbgorCSAgICAgKiAnY3Vyc29yY29sdW1uJyBpcyBzZXQuICovCisjaWZkZWYgRkVBVF9TWU5fSEwKKwkgICAgaWYgKHdwLT53X3BfY3VjKQorCQlyb3cgPSB3cC0+d19jbGluZV9yb3cgKyB3cC0+d19jbGluZV9oZWlnaHQ7CisJICAgIGVsc2UKKyNlbmRpZgorCQlyb3cgPSB3cC0+d19oZWlnaHQ7CiAJICAgIGJyZWFrOwogCX0KIApAQCAtMzQ4NSw2ICszNDkyLDcgQEAKIAkJewogCQkgICAgbWJfdXRmOCA9IFRSVUU7CiAJCSAgICB1OGNjWzBdID0gMDsKKwkJICAgIGMgPSAweGMwOwogCQl9CiAJCWVsc2UKIAkJICAgIG1iX3V0ZjggPSBGQUxTRTsKQEAgLTM1MDksNiArMzUxNyw3IEBACiAJCQl7CiAJCQkgICAgbWJfYyA9IHV0ZmNfcHRyMmNoYXIocF9leHRyYSwgdThjYyk7CiAJCQkgICAgbWJfdXRmOCA9IFRSVUU7CisJCQkgICAgYyA9IDB4YzA7CiAJCQl9CiAJCSAgICB9CiAJCSAgICBlbHNlCkBAIC0zNzQ0LDcgKzM3NTMsMTEgQEAKIAkgICAgKytwdHI7CiAKIAkgICAgLyogJ2xpc3QnIDogY2hhbmdlIGNoYXIgMTYwIHRvIGxjc19uYnNwLiAqLwotCSAgICBpZiAod3AtPndfcF9saXN0ICYmIGMgPT0gMTYwICYmIGxjc19uYnNwKQorCSAgICBpZiAod3AtPndfcF9saXN0ICYmIChjID09IDE2MAorI2lmZGVmIEZFQVRfTUJZVEUKKwkJCXx8IChtYl91dGY4ICYmIG1iX2MgPT0gMTYwKQorI2VuZGlmCisJCQkpICYmIGxjc19uYnNwKQogCSAgICB7CiAJCWMgPSBsY3NfbmJzcDsKIAkJaWYgKGFyZWFfYXR0ciA9PSAwICYmIHNlYXJjaF9hdHRyID09IDApCkBAIC0zNzU5LDYgKzM3NzIsNyBAQAogCQl7CiAJCSAgICBtYl91dGY4ID0gVFJVRTsKIAkJICAgIHU4Y2NbMF0gPSAwOworCQkgICAgYyA9IDB4YzA7CiAJCX0KIAkJZWxzZQogCQkgICAgbWJfdXRmOCA9IEZBTFNFOwpAQCAtMzkwNiw3ICszOTIwLDcgQEAKIAkJICogRm91bmQgbGFzdCBzcGFjZSBiZWZvcmUgd29yZDogY2hlY2sgZm9yIGxpbmUgYnJlYWsuCiAJCSAqLwogCQlpZiAod3AtPndfcF9sYnIgJiYgdmltX2lzYnJlYWsoYykgJiYgIXZpbV9pc2JyZWFrKCpwdHIpCi0JCQkJCQkgICAgICAmJiAhd3AtPndfcF9saXN0KQorCQkJCQkJCSAgICAgJiYgIXdwLT53X3BfbGlzdCkKIAkJewogCQkgICAgbl9leHRyYSA9IHdpbl9sYnJfY2hhcnRhYnNpemUod3AsIHB0ciAtICgKICMgaWZkZWYgRkVBVF9NQllURQpAQCAtMzkzNCw2ICszOTQ4LDcgQEAKIAkJICAgIHsKIAkJCW1iX3V0ZjggPSBUUlVFOwogCQkJdThjY1swXSA9IDA7CisJCQljID0gMHhjMDsKIAkJICAgIH0KIAkJICAgIGVsc2UKIAkJCW1iX3V0ZjggPSBGQUxTRTsKQEAgLTM5NDQsNyArMzk1OSw3IEBACiAJICAgIC8qCiAJICAgICAqIEhhbmRsaW5nIG9mIG5vbi1wcmludGFibGUgY2hhcmFjdGVycy4KIAkgICAgICovCi0JICAgIGlmICghKGNoYXJ0YWJbY10gJiBDVF9QUklOVF9DSEFSKSkKKwkgICAgaWYgKCEoY2hhcnRhYltjICYgMHhmZl0gJiBDVF9QUklOVF9DSEFSKSkKIAkgICAgewogCQkvKgogCQkgKiB3aGVuIGdldHRpbmcgYSBjaGFyYWN0ZXIgZnJvbSB0aGUgZmlsZSwgd2UgbWF5IGhhdmUgdG8KQEAgLTM5NzIsNiArMzk4Nyw3IEBACiAJCQl7CiAJCQkgICAgbWJfdXRmOCA9IFRSVUU7CiAJCQkgICAgdThjY1swXSA9IDA7CisJCQkgICAgYyA9IDB4YzA7CiAJCQl9CiAjZW5kaWYKIAkJICAgIH0KQEAgLTQwNDYsNiArNDA2Miw3IEBACiAJCSAgICB7CiAJCQltYl91dGY4ID0gVFJVRTsKIAkJCXU4Y2NbMF0gPSAwOworCQkJYyA9IDB4YzA7CiAJCSAgICB9CiAJCSAgICBlbHNlCiAJCQltYl91dGY4ID0gRkFMU0U7CS8qIGRvbid0IGRyYXcgYXMgVVRGLTggKi8KQEAgLTQxODUsNiArNDIwMiw3IEBACiAJICAgIHsKIAkJbWJfdXRmOCA9IFRSVUU7CiAJCXU4Y2NbMF0gPSAwOworCQljID0gMHhjMDsKIAkgICAgfQogCSAgICBlbHNlCiAJCW1iX3V0ZjggPSBGQUxTRTsJLyogZG9uJ3QgZHJhdyBhcyBVVEYtOCAqLwpAQCAtNDI3OCwxMSArNDI5NiwxMiBAQAogCQl2ID0gd3AtPndfc2tpcGNvbDsKIAkgICAgZWxzZQogCQl2ID0gd3AtPndfbGVmdGNvbDsKLQkgICAgaWYgKHZjb2wgPCB2KQkvKiBsaW5lIGVuZHMgYmVmb3JlIGxlZnQgbWFyZ2luICovCi0JCXZjb2wgPSB2OworCSAgICBpZiAodmNvbCA8IHYgKyBjb2wpCS8qIGxpbmUgZW5kcyBiZWZvcmUgbGVmdCBtYXJnaW4gKi8KKwkJdmNvbCA9IHYgKyBjb2w7CiAJICAgIGlmICh3cC0+d19wX2N1YwogCQkgICAgJiYgKGludCl3cC0+d192aXJ0Y29sID49IHZjb2wKLQkJICAgICYmIChpbnQpd3AtPndfdmlydGNvbCA8IFdfV0lEVEgod3ApICsgdgorCQkgICAgJiYgKGludCl3cC0+d192aXJ0Y29sIDwgV19XSURUSCh3cCkgKiAocm93IC0gc3RhcnRyb3cgKyAxKQorCQkJCQkJCQkJICAgKyB2CiAJCSAgICAmJiBsbnVtICE9IHdwLT53X2N1cnNvci5sbnVtCiAjIGlmZGVmIEZFQVRfUklHSFRMRUZUCiAJCSAgICAmJiAhd3AtPndfcF9ybApAQCAtNDM1Miw2ICs0MzcxLDcgQEAKIAkgICAgewogCQltYl91dGY4ID0gVFJVRTsKIAkJdThjY1swXSA9IDA7CisJCWMgPSAweGMwOwogCSAgICB9CiAJICAgIGVsc2UKIAkJbWJfdXRmOCA9IEZBTFNFOwpAQCAtNDM5OSw2ICs0NDE5LDggQEAKIAkJaWYgKG1iX3V0ZjgpCiAJCXsKIAkJICAgIFNjcmVlbkxpbmVzVUNbb2ZmXSA9IG1iX2M7CisJCSAgICBpZiAoKGMgJiAweGZmKSA9PSAwKQorCQkJU2NyZWVuTGluZXNbb2ZmXSA9IDB4ODA7ICAgLyogYXZvaWQgc3RvcmluZyB6ZXJvICovCiAJCSAgICBmb3IgKGkgPSAwOyBpIDwgU2NyZWVuX21jbzsgKytpKQogCQkgICAgewogCQkJU2NyZWVuTGluZXNDW2ldW29mZl0gPSB1OGNjW2ldOwpAQCAtNDkzOSwxMiArNDk2MSwxMyBAQAogI2VuZGlmCiAJICAgIFNjcmVlbkF0dHJzW29mZl90b10gPSBTY3JlZW5BdHRyc1tvZmZfZnJvbV07CiAjaWZkZWYgRkVBVF9NQllURQotCSAgICBpZiAoZW5jX2RiY3MgIT0gMCAmJiBjaGFyX2NlbGxzID09IDIpCi0JICAgIHsKLQkJLyoganVzdCBhIGhhY2s6IEl0IG1ha2VzIHR3byBieXRlcyBvZiBEQkNTIGhhdmUgc2FtZSBhdHRyICovCisJICAgIC8qIEZvciBzaW1wbGljaXR5IHNldCB0aGUgYXR0cmlidXRlcyBvZiBzZWNvbmQgaGFsZiBvZiBhCisJICAgICAqIGRvdWJsZS13aWRlIGNoYXJhY3RlciBlcXVhbCB0byB0aGUgZmlyc3QgaGFsZi4gKi8KKwkgICAgaWYgKGNoYXJfY2VsbHMgPT0gMikKIAkJU2NyZWVuQXR0cnNbb2ZmX3RvICsgMV0gPSBTY3JlZW5BdHRyc1tvZmZfZnJvbV07CisKKwkgICAgaWYgKGVuY19kYmNzICE9IDAgJiYgY2hhcl9jZWxscyA9PSAyKQogCQlzY3JlZW5fY2hhcl8yKG9mZl90bywgcm93LCBjb2wgKyBjb2xvZmYpOwotCSAgICB9CiAJICAgIGVsc2UKICNlbmRpZgogCQlzY3JlZW5fY2hhcihvZmZfdG8sIHJvdywgY29sICsgY29sb2ZmKTsKQEAgLTg4OTMsNiArODkxNiw3IEBACiAJICAgIHsKIAkJLyogR2V0IGJ1ZmZlciBuYW1lIGluIE5hbWVCdWZmW10gKi8KIAkJZ2V0X3RyYW5zX2J1Zm5hbWUoY3dwLT53X2J1ZmZlcik7CisJCXNob3J0ZW5fZGlyKE5hbWVCdWZmKTsKIAkJbGVuID0gdmltX3N0cnNpemUoTmFtZUJ1ZmYpOwogCQlwID0gTmFtZUJ1ZmY7CiAjaWZkZWYgRkVBVF9NQllURQpkaWZmIC0tZ2l0IGEvc3JjL3NlYXJjaC5jIGIvc3JjL3NlYXJjaC5jCmluZGV4IDQxZjM4YTMuLmEwNjNhMjYgMTAwNjQ0Ci0tLSBhL3NyYy9zZWFyY2guYworKysgYi9zcmMvc2VhcmNoLmMKQEAgLTgwOSw2ICs4MDksMTMgQEAKIAkJICAgIHsKIAkJCXBvcy0+bG51bSA9IGxudW0gKyBlbmRwb3MubG51bTsKIAkJCXBvcy0+Y29sID0gZW5kcG9zLmNvbCAtIDE7CisjaWZkZWYgRkVBVF9NQllURQorCQkJaWYgKGhhc19tYnl0ZSkKKwkJCXsKKwkJCSAgICBwdHIgPSBtbF9nZXRfYnVmKGJ1ZiwgcG9zLT5sbnVtLCBGQUxTRSk7CisJCQkgICAgcG9zLT5jb2wgLT0gKCptYl9oZWFkX29mZikocHRyLCBwdHIgKyBwb3MtPmNvbCk7CisJCQl9CisjZW5kaWYKIAkJICAgIH0KIAkJICAgIGVsc2UKIAkJICAgIHsKZGlmZiAtLWdpdCBhL3NyYy9zcGVsbC5jIGIvc3JjL3NwZWxsLmMKaW5kZXggOTg1MDc3Ny4uYTExMzcyYSAxMDA2NDQKLS0tIGEvc3JjL3NwZWxsLmMKKysrIGIvc3JjL3NwZWxsLmMKQEAgLTI1Niw2ICsyNTYsOCBAQAogICoJCQkgICAgV0ZfTkVFRENPTVAgPj4gOCAgd29yZCBvbmx5IHZhbGlkIGluIGNvbXBvdW5kCiAgKgkJCSAgICBXRl9OT1NVR0dFU1QgPj4gOCAgd29yZCBub3QgdXNlZCBmb3Igc3VnZ2VzdGlvbnMKICAqCQkJICAgIFdGX0NPTVBST09UID4+IDggIHdvcmQgYWxyZWFkeSBhIGNvbXBvdW5kCisgKgkJCSAgICBXRl9OT0NPTVBCRUYgPj4gOCBubyBjb21wb3VuZGluZyBiZWZvcmUgdGhpcyB3b3JkCisgKgkJCSAgICBXRl9OT0NPTVBBRlQgPj4gOCBubyBjb21wb3VuZGluZyBhZnRlciB0aGlzIHdvcmQKICAqCiAgKiA8cGZsYWdzPgkxIGJ5dGUJICAgIGJpdG1hc2sgb2Y6CiAgKgkJCSAgICBXRlBfUkFSRQlyYXJlIHByZWZpeApAQCAtMzQ1LDYgKzM0Nyw4IEBACiAjZGVmaW5lIFdGX05FRURDT01QIDB4MDIwMAkvKiB3b3JkIG9ubHkgdmFsaWQgaW4gY29tcG91bmQgKi8KICNkZWZpbmUgV0ZfTk9TVUdHRVNUIDB4MDQwMAkvKiB3b3JkIG5vdCB0byBiZSBzdWdnZXN0ZWQgKi8KICNkZWZpbmUgV0ZfQ09NUFJPT1QgMHgwODAwCS8qIGFscmVhZHkgY29tcG91bmRlZCB3b3JkLCBDT01QT1VORFJPT1QgKi8KKyNkZWZpbmUgV0ZfTk9DT01QQkVGIDB4MTAwMAkvKiBubyBjb21wb3VuZGluZyBiZWZvcmUgdGhpcyB3b3JkICovCisjZGVmaW5lIFdGX05PQ09NUEFGVCAweDIwMDAJLyogbm8gY29tcG91bmRpbmcgYWZ0ZXIgdGhpcyB3b3JkICovCiAKIC8qIG9ubHkgdXNlZCBmb3Igc3VfYmFkZmxhZ3MgKi8KICNkZWZpbmUgV0ZfTUlYQ0FQICAgMHgyMAkvKiBtaXggb2YgdXBwZXIgYW5kIGxvd2VyIGNhc2U6IG1hY2FST05JICovCkBAIC0xNTAwLDYgKzE1MDQsMTMgQEAKIAkJCQkJICAgJiYgc2xhbmctPnNsX2NvbXBzeWxtYXggPT0gTUFYV0xFTikKIAkJICAgIGNvbnRpbnVlOwogCisJCS8qIERvbid0IGFsbG93IGNvbXBvdW5kaW5nIG9uIGEgc2lkZSB3aGVyZSBhbiBhZmZpeCB3YXMgYWRkZWQsCisJCSAqIHVubGVzcyBDT01QT1VORFBFUk1JVEZMQUcgd2FzIHVzZWQuICovCisJCWlmIChtaXAtPm1pX2NvbXBsZW4gPiAwICYmIChmbGFncyAmIFdGX05PQ09NUEJFRikpCisJCSAgICBjb250aW51ZTsKKwkJaWYgKCF3b3JkX2VuZHMgJiYgKGZsYWdzICYgV0ZfTk9DT01QQUZUKSkKKwkJICAgIGNvbnRpbnVlOworCiAJCS8qIFF1aWNrbHkgY2hlY2sgaWYgY29tcG91bmRpbmcgaXMgcG9zc2libGUgd2l0aCB0aGlzIGZsYWcuICovCiAJCWlmICghYnl0ZV9pbl9zdHIobWlwLT5taV9jb21wbGVuID09IDAKIAkJCQkJPyBzbGFuZy0+c2xfY29tcHN0YXJ0ZmxhZ3MKQEAgLTE2MzQsMTIgKzE2NDUsMTYgQEAKIAkJCW1pcC0+bWlfY29tcG9mZiA9IHdsZW47CiAJCQlmaW5kX3dvcmQobWlwLCBGSU5EX0tFRVBDT01QT1VORCk7CiAKKyNpZiAwCSAgICAvKiBEaXNhYmxlZCwgYSBwcmVmaXggbXVzdCBub3QgYXBwZWFyIGhhbGZ3YXkgYSBjb21wb3VuZCB3b3JkLAorCSAgICAgICB1bmxlc3MgdGhlIENPTVBPVU5EUEVSTUlURkxBRyBpcyB1c2VkIGFuZCB0aGVuIGl0IGNhbid0IGJlIGEKKwkgICAgICAgcG9zdHBvbmVkIHByZWZpeC4gKi8KIAkJCWlmICghc2xhbmctPnNsX25vYnJlYWsgfHwgbWlwLT5taV9yZXN1bHQgPT0gU1BfQkFEKQogCQkJewogCQkJICAgIC8qIENoZWNrIGZvciBmb2xsb3dpbmcgd29yZCB3aXRoIHByZWZpeC4gKi8KIAkJCSAgICBtaXAtPm1pX2NvbXBvZmYgPSBjOwogCQkJICAgIGZpbmRfcHJlZml4KG1pcCwgRklORF9DT01QT1VORCk7CiAJCQl9CisjZW5kaWYKIAkJICAgIH0KIAogCQkgICAgaWYgKCFzbGFuZy0+c2xfbm9icmVhaykKQEAgLTY3MDIsNyArNjcxNyw3IEBACiAJCQllbHNlCiAJCQkgICAgdXNlX2ZsYWdzID0gZmxhZ3M7CiAKLQkJCS8qIE9iZXkgYSAiQ09NUE9VTkRGT1JCSUQiIGZsYWcgb2YgdGhlIGFmZml4OiBkb24ndAorCQkJLyogT2JleSBhICJDT01QT1VOREZPUkJJREZMQUciIG9mIHRoZSBhZmZpeDogZG9uJ3QKIAkJCSAqIHVzZSB0aGUgY29tcG91bmQgZmxhZ3MuICovCiAJCQl1c2VfcGZ4bGlzdCA9IHBmeGxpc3Q7CiAJCQlpZiAocGZ4bGlzdCAhPSBOVUxMCkBAIC02NzMwLDEzICs2NzQ1LDI5IEBACiAJCQkJdXNlX3BmeGxpc3QgKz0gcGZ4bGVuOwogCQkJfQogCisJCQkvKiBXaGVuIGNvbXBvdW5kaW5nIGlzIHN1cHBvcnRlZCBhbmQgdGhlcmUgaXMgbm8KKwkJCSAqICJDT01QT1VORFBFUk1JVEZMQUciIHRoZW4gZm9yYmlkIGNvbXBvdW5kaW5nIG9uIHRoZQorCQkJICogc2lkZSB3aGVyZSB0aGUgYWZmaXggaXMgYXBwbGllZC4gKi8KKwkJCWlmIChzcGluLT5zaV9jb21wZmxhZ3MgIT0gTlVMTAorCQkJCSYmIChhZmZpbGUtPmFmX2NvbXBwZXJtaXQgPT0gMAorCQkJCSAgICB8fCBhZS0+YWVfZmxhZ3MgPT0gTlVMTAorCQkJCSAgICB8fCAhZmxhZ19pbl9hZmZsaXN0KAorCQkJCQkgICAgYWZmaWxlLT5hZl9mbGFndHlwZSwgYWUtPmFlX2ZsYWdzLAorCQkJCQkJICAgICAgYWZmaWxlLT5hZl9jb21wcGVybWl0KSkpCisJCQl7CisJCQkgICAgaWYgKHhodCAhPSBOVUxMKQorCQkJCXVzZV9mbGFncyB8PSBXRl9OT0NPTVBBRlQ7CisJCQkgICAgZWxzZQorCQkJCXVzZV9mbGFncyB8PSBXRl9OT0NPTVBCRUY7CisJCQl9CisKIAkJCS8qIFN0b3JlIHRoZSBtb2RpZmllZCB3b3JkLiAqLwogCQkJaWYgKHN0b3JlX3dvcmQoc3BpbiwgbmV3d29yZCwgdXNlX2ZsYWdzLAogCQkJCSBzcGluLT5zaV9yZWdpb24sIHVzZV9wZnhsaXN0LCBGQUxTRSkgPT0gRkFJTCkKIAkJCSAgICByZXR2YWwgPSBGQUlMOwogCiAJCQkvKiBXaGVuIGFkZGVkIGEgc3VmZml4IGFuZCBjb21iaW5pbmcgaXMgYWxsb3dlZCBhbHNvCi0JCQkgKiB0cnkgYWRkaW5nIHByZWZpeGVzIGFkZGl0aW9uYWxseS4gKi8KKwkJCSAqIHRyeSBhZGRpbmcgcHJlZml4ZXMgYWRkaXRpb25hbGx5LiAgUkVDVVJTSVZFISAqLwogCQkJaWYgKHhodCAhPSBOVUxMICYmIGFoLT5haF9jb21iaW5lKQogCQkJICAgIGlmIChzdG9yZV9hZmZfd29yZChzcGluLCBuZXd3b3JkLCBhZmZsaXN0LCBhZmZpbGUsCiAJCQkJCSAgeGh0LCBOVUxMLCBUUlVFLApAQCAtOTIxMCw5ICs5MjQxLDE1IEBACiAJCSAgICB2aW1fc3RybmNweShidWYsIGN1cmJ1Zi0+Yl9wX3NwbCwgbGVuZCAtIGN1cmJ1Zi0+Yl9wX3NwbCk7CiAJCWVsc2UKIAkJeworCQkgICAgLyogQ3JlYXRlIHRoZSAic3BlbGwiIGRpcmVjdG9yeSBpZiBpdCBkb2Vzbid0IGV4aXN0IHlldC4gKi8KKwkJICAgIGwgPSBTVFJMRU4oYnVmKTsKKwkJICAgIHZpbV9zbnByaW50ZigoY2hhciAqKWJ1ZiArIGwsIE1BWFBBVEhMIC0gbCwgIi9zcGVsbCIpOworCQkgICAgaWYgKCFmaWxld3JpdGFibGUoYnVmKSAhPSAyKQorCQkJdmltX21rZGlyKGJ1ZiwgMDc1NSk7CisKIAkJICAgIGwgPSBTVFJMRU4oYnVmKTsKIAkJICAgIHZpbV9zbnByaW50ZigoY2hhciAqKWJ1ZiArIGwsIE1BWFBBVEhMIC0gbCwKLQkJCQkgIi9zcGVsbC8lLipzIiwgKGludCkobGVuZCAtIGxzdGFydCksIGxzdGFydCk7CisJCQkJICIvJS4qcyIsIChpbnQpKGxlbmQgLSBsc3RhcnQpLCBsc3RhcnQpOwogCQl9CiAJCWwgPSBTVFJMRU4oYnVmKTsKIAkJZm5hbWUgPSBMQU5HUF9FTlRSWShjdXJidWYtPmJfbGFuZ3AsIDApLT5scF9zbGFuZy0+c2xfZm5hbWU7CkBAIC05OTQ3LDcgKzk5ODQsNiBAQAogCSAgICBTVFJDQVQocCwgc3VnLnN1X2JhZHB0ciArIHN0cC0+c3Rfb3JnbGVuKTsKIAkgICAgbWxfcmVwbGFjZShjdXJ3aW4tPndfY3Vyc29yLmxudW0sIHAsIEZBTFNFKTsKIAkgICAgY3Vyd2luLT53X2N1cnNvci5jb2wgPSBjOwotCSAgICBjaGFuZ2VkX2J5dGVzKGN1cndpbi0+d19jdXJzb3IubG51bSwgYyk7CiAKIAkgICAgLyogRm9yIHJlZG8gd2UgdXNlIGEgY2hhbmdlLXdvcmQgY29tbWFuZC4gKi8KIAkgICAgUmVzZXRSZWRvYnVmZigpOwpAQCAtOTk1NSw2ICs5OTkxLDkgQEAKIAkgICAgQXBwZW5kVG9SZWRvYnVmZkxpdChwICsgYywKIAkJCSAgICBzdHAtPnN0X3dvcmRsZW4gKyBzdWcuc3VfYmFkbGVuIC0gc3RwLT5zdF9vcmdsZW4pOwogCSAgICBBcHBlbmRDaGFyVG9SZWRvYnVmZihFU0MpOworCisJICAgIC8qIEFmdGVyIHRoaXMgInAiIG1heSBiZSBpbnZhbGlkLiAqLworCSAgICBjaGFuZ2VkX2J5dGVzKGN1cndpbi0+d19jdXJzb3IubG51bSwgYyk7CiAJfQogICAgIH0KICAgICBlbHNlCmRpZmYgLS1naXQgYS9zcmMvc3RydWN0cy5oIGIvc3JjL3N0cnVjdHMuaAppbmRleCAyYTk4ODJiLi5jZTNiZjliIDEwMDY0NAotLS0gYS9zcmMvc3RydWN0cy5oCisrKyBiL3NyYy9zdHJ1Y3RzLmgKQEAgLTE2MzUsNiArMTYzNSwxMCBAQAogICAgIGludAkJICAgIHRwX2RpZmZfaW52YWxpZDsJLyogbGlzdCBvZiBkaWZmcyBpcyBvdXRkYXRlZCAqLwogI2VuZGlmCiAgICAgZnJhbWVfVAkgICAgKnRwX3NuYXBzaG90OyAgICAvKiB3aW5kb3cgbGF5b3V0IHNuYXBzaG90ICovCisjaWZkZWYgRkVBVF9FVkFMCisgICAgZGljdGl0ZW1fVAkgICAgdHBfd2ludmFyOwkgICAgLyogdmFyaWFibGUgZm9yICJ0OiIgRGljdGlvbmFyeSAqLworICAgIGRpY3RfVAkgICAgdHBfdmFyczsJICAgIC8qIGludGVybmFsIHZhcmlhYmxlcywgbG9jYWwgdG8gdGFiIHBhZ2UgKi8KKyNlbmRpZgogfTsKIAogLyoKQEAgLTE5MjgsOCArMTkzMiw5IEBACiAjZW5kaWYKIAogI2lmZGVmIEZFQVRfU0VBUkNIX0VYVFJBCi0gICAgcmVnbW1hdGNoX1QJd19tYXRjaFszXTsJLyogcmVnZXhwIHByb2dyYW1zIGZvciAiOm1hdGNoIiAqLwotICAgIGludAkJd19tYXRjaF9pZFszXTsJLyogaGlnaGxpZ2h0IElEcyBmb3IgIjptYXRjaCIgKi8KKyAgICByZWdtbWF0Y2hfVAl3X21hdGNoWzNdOwkgICAgLyogcmVnZXhwIHByb2dyYW1zIGZvciAiOm1hdGNoIiAqLworICAgIGNoYXJfdQkqKHdfbWF0Y2hfcGF0WzNdKTsgIC8qIHBhdHRlcm5zIGZvciAiOm1hdGNoIiAqLworICAgIGludAkJd19tYXRjaF9pZFszXTsJICAgIC8qIGhpZ2hsaWdodCBJRHMgZm9yICI6bWF0Y2giICovCiAjZW5kaWYKIAogICAgIC8qCmRpZmYgLS1naXQgYS9zcmMvc3ludGF4LmMgYi9zcmMvc3ludGF4LmMKaW5kZXggODIzMDUyMC4uMjY4NjgyOCAxMDA2NDQKLS0tIGEvc3JjL3N5bnRheC5jCisrKyBiL3NyYy9zeW50YXguYwpAQCAtNTUxLDcgKzU1MSwxMCBAQAogICAgICAqIEFkdmFuY2UgZnJvbSB0aGUgc3luYyBwb2ludCBvciBzYXZlZCBzdGF0ZSB1bnRpbCB0aGUgY3VycmVudCBsaW5lLgogICAgICAqIFNhdmUgc29tZSBlbnRyaWVzIGZvciBzeW5jaW5nIHdpdGggbGF0ZXIgb24uCiAgICAgICovCi0gICAgZGlzdCA9IHN5bl9idWYtPmJfbWwubWxfbGluZV9jb3VudCAvIChzeW5fYnVmLT5iX3NzdF9sZW4gLSBSb3dzKSArIDE7CisgICAgaWYgKHN5bl9idWYtPmJfc3N0X2xlbiA8PSBSb3dzKQorCWRpc3QgPSA5OTk5OTk7CisgICAgZWxzZQorCWRpc3QgPSBzeW5fYnVmLT5iX21sLm1sX2xpbmVfY291bnQgLyAoc3luX2J1Zi0+Yl9zc3RfbGVuIC0gUm93cykgKyAxOwogICAgIHByZXYgPSBzeW5fc3RhY2tfZmluZF9lbnRyeShjdXJyZW50X2xudW0pOwogICAgIHdoaWxlIChjdXJyZW50X2xudW0gPCBsbnVtKQogICAgIHsKQEAgLTEyNDAsNyArMTI0MywxMCBAQAogCXJldHVybiByZXR2YWw7CiAKICAgICAvKiBDb21wdXRlIG5vcm1hbCBkaXN0YW5jZSBiZXR3ZWVuIG5vbi1kaXNwbGF5ZWQgZW50cmllcy4gKi8KLSAgICBkaXN0ID0gc3luX2J1Zi0+Yl9tbC5tbF9saW5lX2NvdW50IC8gKHN5bl9idWYtPmJfc3N0X2xlbiAtIFJvd3MpICsgMTsKKyAgICBpZiAoc3luX2J1Zi0+Yl9zc3RfbGVuIDw9IFJvd3MpCisJZGlzdCA9IDk5OTk5OTsKKyAgICBlbHNlCisJZGlzdCA9IHN5bl9idWYtPmJfbWwubWxfbGluZV9jb3VudCAvIChzeW5fYnVmLT5iX3NzdF9sZW4gLSBSb3dzKSArIDE7CiAKICAgICAvKgogICAgICAqIEdvIHRocm91Z2h0IHRoZSBsaXN0IHRvIGZpbmQgdGhlICJ0aWNrIiBmb3IgdGhlIG9sZGVzdCBlbnRyeSB0aGF0IGNhbgpAQCAtNDQzNiw3ICs0NDQyLDcgQEAKICAgICBwcmV2X3RvcGx2bF9ncnAgPSBjdXJidWYtPmJfc3luX3RvcGdycDsKICAgICBjdXJidWYtPmJfc3luX3RvcGdycCA9IHNnbF9pZDsKICAgICBpZiAoc291cmNlID8gZG9fc291cmNlKGVhcC0+YXJnLCBGQUxTRSwgRkFMU0UpID09IEZBSUwKLQkJCQkgICAgIDogc291cmNlX3J1bnRpbWUoZWFwLT5hcmcsIFRSVUUpID09IEZBSUwpCisJCQkJOiBzb3VyY2VfcnVudGltZShlYXAtPmFyZywgRE9TT19OT05FKSA9PSBGQUlMKQogCUVNU0cyKF8oZV9ub3RvcGVuKSwgZWFwLT5hcmcpOwogICAgIGN1cmJ1Zi0+Yl9zeW5fdG9wZ3JwID0gcHJldl90b3BsdmxfZ3JwOwogICAgIGN1cnJlbnRfc3luX2luY190YWcgPSBwcmV2X3N5bl9pbmNfdGFnOwpAQCAtNzI3MCw3ICs3Mjc2LDcgQEAKICNpZmRlZiBGRUFUX0VWQUwKIAlITF9UQUJMRSgpW2lkeF0uc2dfc2NyaXB0SUQgPSBjdXJyZW50X1NJRDsKICNlbmRpZgotCXJlZHJhd19hbGxfbGF0ZXIoU09NRV9WQUxJRCk7CisJcmVkcmF3X2FsbF9sYXRlcihOT1RfVkFMSUQpOwogICAgIH0KICAgICB2aW1fZnJlZShrZXkpOwogICAgIHZpbV9mcmVlKGFyZyk7CkBAIC04NDI2LDYgKzg0MzIsMjEgQEAKIHsKICAgICByZXR1cm4gKHN5bl9uYW1lMmlkKG5hbWUpID4gMCk7CiB9CisKKyMgaWYgZGVmaW5lZChGRUFUX1NFQVJDSF9FWFRSQSkgfHwgZGVmaW5lZChQUk9UTykKKy8qCisgKiBSZXR1cm4gdGhlIG5hbWUgb2YgaGlnaGxpZ2h0IGdyb3VwICJpZCIuCisgKiBXaGVuIG5vdCBhIHZhbGlkIElEIHJldHVybiBhbiBlbXB0eSBzdHJpbmcuCisgKi8KKyAgICBjaGFyX3UgKgorc3luX2lkMm5hbWUoaWQpCisgICAgaW50CQlpZDsKK3sKKyAgICBpZiAoaWQgPD0gMCB8fCBpZCA+PSBoaWdobGlnaHRfZ2EuZ2FfbGVuKQorCXJldHVybiAoY2hhcl91ICopIiI7CisgICAgcmV0dXJuIEhMX1RBQkxFKClbaWQgLSAxXS5zZ19uYW1lOworfQorIyBlbmRpZgogI2VuZGlmCiAKIC8qCmRpZmYgLS1naXQgYS9zcmMvdGVzdGRpci90ZXN0NTguaW4gYi9zcmMvdGVzdGRpci90ZXN0NTguaW4KaW5kZXggMGNkODRlZS4uNDY3YzdiNSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3RkaXIvdGVzdDU4LmluCisrKyBiL3NyYy90ZXN0ZGlyL3Rlc3Q1OC5pbgpAQCAtNDUyLDExICs0NTIsMTQgQEAKIAogUEZYIHAgTiAxCiBQRlggcCAwIHByZSAuCisKK1BGWCBQIE4gMQorUEZYIFAgMCBub3UgLgogNGFmZmVuZAogCiA0ZGljc3RhcnQKIDEyMzQKLXdvcmQvbQord29yZC9tUAogdXRpbC9hbQogcHJvL3hxCiB0b21hdG8vbQpAQCAtNDY4LDExICs0NzEsMTQgQEAKIDRnb29kOiB3b3JkIHV0aWwgYm9yayBwcmVib3JrIHN0YXJ0IGVuZCB3b3JkdXRpbCB3b3JkdXRpbHMgcHJvLW9rCiAJYm9yayBib3JrYm9yayBib3JrYm9ya2JvcmsgYm9ya2Jvcmtib3JrYm9yayBib3JrYm9ya2Jvcmtib3JrYm9yawogCXRvbWF0byB0b21hdG90b21hdG8gc3RhcnRlbmQgc3RhcnR3b3JkIHN0YXJ0d29yZHdvcmQgc3RhcnR3b3JkZW5kCi0Jc3RhcnR3b3Jkd29yZGVuZCBzdGFydHdvcmR3b3Jkd29yZGVuZCBwcmVib3JrIHByZWJvcmtwcmVib3JrCi0JcHJlYm9ya2JvcmtwcmVib3JrIHByZWJvcmtwcmVib3JrYm9yaworCXN0YXJ0d29yZHdvcmRlbmQgc3RhcnR3b3Jkd29yZHdvcmRlbmQgcHJlYm9yayBwcmVib3JrYm9yaworCXByZWJvcmtib3JrYm9yaworCW5vdXdvcmQKIGJhZDogd29yZHV0aWxpemUgcHJvIGJvcmtib3JrYm9ya2Jvcmtib3JrYm9yayB0b21hdG90b21hdG90b21hdG8KIAllbmRzdGFydCBlbmRlbmQgc3RhcnRzdGFydCB3b3JkZW5kIHdvcmRzdGFydAorCXByZWJvcmtwcmVib3JrICBwcmVib3JrcHJlYm9ya2JvcmsKICAJc3RhcnR3b3Jkd29yZHdvcmR3b3JkZW5kIGJvcmtwcmVib3JrcHJlYm9ya2JvcmsKKwl1dGlsc2JvcmsgIHN0YXJ0bm91d29yZAogYmFkZW5kCiAKIFRlc3QgYWZmaXggZmxhZ3Mgd2l0aCB0d28gY2hhcmFjdGVycwpAQCAtNDg3LDYgKzQ5Myw3IEBACiBDT01QT1VORFJVTEUgc3NtbSplZQogCiBORUVEQ09NUE9VTkQgeHgKK0NPTVBPVU5EUEVSTUlURkxBRyBwcAogCiBTRlggMTMgWSAxCiBTRlggMTMgMCBib3JrIC4KQEAgLTQ5OCw3ICs1MDUsMTAgQEAKIFNGWCBh6SAwIGHpIC4KIAogUEZYIHp6IFkgMQotUEZYIHp6IDAgcHJlIC4KK1BGWCB6eiAwIHByZS9wcCAuCisKK1BGWCB5eSBZIDEKK1BGWCB5eSAwIG5vdSAuCiA1YWZmZW5kCiAKIDVkaWNzdGFydApAQCAtNTA2LDE0ICs1MTYsMTQgQEAKIGZvby9hMWHpISEKIGJhci96ejEzZWUKIHN0YXJ0L3NzCi1lbmQvZWUKK2VuZC9lZXl5CiBtaWRkbGUvbW14eAogNWRpY2VuZAogCiA1Z29vZDogZm9vYTEgZm9vYekgYmFyIHByZWJhciBiYXJib3JrIHByZWJhcmJvcmsgIHN0YXJ0cHJlYmFyCi0gICAgICBzdGFydCBlbmQgc3RhcnRlbmQgIHN0YXJ0bWlkZGxlZW5kCisgICAgICBzdGFydCBlbmQgc3RhcnRlbmQgIHN0YXJ0bWlkZGxlZW5kIG5vdWVuZAogYmFkOiBmb28gZm9vYTIgcHJhYmFyIHByb2JhcmJpcmsgbWlkZGxlIHN0YXJ0bWlkZGxlIG1pZGRsZWVuZCBlbmRzdGFydAotCXN0YXJ0cHJvYmFyCisJc3RhcnRwcm9iYXIgc3RhcnRub3VlbmQKIGJhZGVuZAogCiA2YWZmc3RhcnQKQEAgLTUyNyw2ICs1MzcsOCBAQAogCiBORUVEQ09NUE9VTkQgWHgKIAorQ09NUE9VTkRQRVJNSVRGTEFHIHAKKwogU0ZYIE4zIFkgMQogU0ZYIE4zIDAgYm9yayAuCiAKQEAgLTUzNyw3ICs1NDksNyBAQAogU0ZYIEHpIDAgYekgLgogCiBQRlggWnogWSAxCi1QRlggWnogMCBwcmUgLgorUEZYIFp6IDAgcHJlL3AgLgogNmFmZmVuZAogCiA2ZGljc3RhcnQKQEAgLTU2NSw2ICs1NzcsNyBAQAogQ09NUE9VTkRSVUxFIDIsNzcqMTIzCiAKIE5FRURDT01QT1VORCAxCitDT01QT1VORFBFUk1JVEZMQUcgNDMyCiAKIFNGWCA2MTAwMyBZIDEKIFNGWCA2MTAwMyAwIG1lYXQgLgpAQCAtNTc2LDcgKzU4OSw3IEBACiBTRlggMTExIDAgYekgLgogCiBQRlggMTcgWSAxCi1QRlggMTcgMCBwcmUgLgorUEZYIDE3IDAgcHJlLzQzMiAuCiA3YWZmZW5kCiAKIDdkaWNzdGFydApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3RkaXIvdGVzdDU4Lm9rIGIvc3JjL3Rlc3RkaXIvdGVzdDU4Lm9rCmluZGV4IDc0MTljZGUuLmNlMDVjNzMgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0ZGlyL3Rlc3Q1OC5vaworKysgYi9zcmMvdGVzdGRpci90ZXN0NTgub2sKQEAgLTEzNSw2ICsxMzUsNyBAQAogdXRpbGl6ZQogdXRpbHMKIHdvcmQKK25vdXdvcmQKIC0tLS0tLS0KIGJhZAogWydlbmQnLCAnYm9yaycsICd3b3JkJ10KQEAgLTE1NiwxMCArMTU3LDE4IEBACiBbJ3dvcmQgZW5kJywgJ3dvcmQnLCAnd29yZHdvcmQnXQogd29yZHN0YXJ0CiBbJ3dvcmQgc3RhcnQnLCAnYm9yayBzdGFydCddCitwcmVib3JrcHJlYm9yaworWydwcmVib3JrIHByZWJvcmsnLCAncHJlYm9ya2JvcmsnLCAncHJlYm9ya2Jvcmtib3JrJ10KK3ByZWJvcmtwcmVib3JrYm9yaworWydwcmVib3JrIHByZWJvcmtib3JrJywgJ3ByZWJvcmtib3JrYm9yaycsICdwcmVib3JrYm9ya2Jvcmtib3JrJ10KIHN0YXJ0d29yZHdvcmR3b3Jkd29yZGVuZAogWydzdGFydHdvcmR3b3Jkd29yZHdvcmQgZW5kJywgJ3N0YXJ0d29yZHdvcmR3b3Jkd29yZCcsICdzdGFydCB3b3Jkd29yZHdvcmR3b3JkIGVuZCddCiBib3JrcHJlYm9ya3ByZWJvcmtib3JrCi1bJ2JvcmsgcHJlYm9ya3ByZWJvcmtib3JrJywgJ2JvcmtwcmVib3JrIHByZWJvcmtib3JrJywgJ2JvcmtwcmVib3JrcHJlYm9yayBib3JrJ10KK1snYm9yayBwcmVib3JrcHJlYm9ya2JvcmsnLCAnYm9yayBwcmVib3JrIHByZWJvcmtib3JrJywgJ2JvcmsgcHJlYm9ya3ByZWJvcmsgYm9yayddCit1dGlsc2JvcmsKK1sndXRpbGJvcmsnLCAndXRpbHMgYm9yaycsICd1dGlsIGJvcmsnXQorc3RhcnRub3V3b3JkCitbJ3N0YXJ0IG5vdXdvcmQnLCAnc3RhcnR3b3JkJywgJ3N0YXJ0Ym9ya3dvcmQnXQogCiB0ZXN0IDUtNQogIyBmaWxlOiBYdGVzdC5sYXRpbjEuc3BsCkBAIC0xNjgsNiArMTc3LDcgQEAKIGVuZAogZm9vYTEKIGZvb2HpCitub3VlbmQKIHByZWJhcgogcHJlYmFyYm9yawogc3RhcnQKQEAgLTE5Miw2ICsyMDIsOCBAQAogWydlbmQgc3RhcnQnLCAnc3RhcnQnXQogc3RhcnRwcm9iYXIKIFsnc3RhcnRwcmViYXInLCAnc3RhcnQgcHJlYmFyJywgJ3N0YXJ0YmFyJ10KK3N0YXJ0bm91ZW5kCitbJ3N0YXJ0IG5vdWVuZCcsICdzdGFydGVuZCddCiAKIHRlc3QgNi02CiAjIGZpbGU6IFh0ZXN0LmxhdGluMS5zcGwKZGlmZiAtLWdpdCBhL3NyYy90ZXN0ZGlyL3Rlc3Q1OS5pbiBiL3NyYy90ZXN0ZGlyL3Rlc3Q1OS5pbgppbmRleCBjZjljYjQ5Li5iZDYzNzk2IDEwMDY0NAotLS0gYS9zcmMvdGVzdGRpci90ZXN0NTkuaW4KKysrIGIvc3JjL3Rlc3RkaXIvdGVzdDU5LmluCkBAIC00NTYsMTEgKzQ1NiwxNCBAQAogCiBQRlggcCBOIDEKIFBGWCBwIDAgcHJlIC4KKworUEZYIFAgTiAxCitQRlggUCAwIG5vdSAuCiA0YWZmZW5kCiAKIDRkaWNzdGFydAogMTIzNAotd29yZC9tCit3b3JkL21QCiB1dGlsL2FtCiBwcm8veHEKIHRvbWF0by9tCkBAIC00NzIsMTEgKzQ3NSwxNCBAQAogNGdvb2Q6IHdvcmQgdXRpbCBib3JrIHByZWJvcmsgc3RhcnQgZW5kIHdvcmR1dGlsIHdvcmR1dGlscyBwcm8tb2sKIAlib3JrIGJvcmtib3JrIGJvcmtib3JrYm9yayBib3JrYm9ya2Jvcmtib3JrIGJvcmtib3JrYm9ya2Jvcmtib3JrCiAJdG9tYXRvIHRvbWF0b3RvbWF0byBzdGFydGVuZCBzdGFydHdvcmQgc3RhcnR3b3Jkd29yZCBzdGFydHdvcmRlbmQKLQlzdGFydHdvcmR3b3JkZW5kIHN0YXJ0d29yZHdvcmR3b3JkZW5kIHByZWJvcmsgcHJlYm9ya3ByZWJvcmsKLQlwcmVib3JrYm9ya3ByZWJvcmsgcHJlYm9ya3ByZWJvcmtib3JrCisJc3RhcnR3b3Jkd29yZGVuZCBzdGFydHdvcmR3b3Jkd29yZGVuZCBwcmVib3JrIHByZWJvcmtib3JrCisJcHJlYm9ya2Jvcmtib3JrCisJbm91d29yZAogYmFkOiB3b3JkdXRpbGl6ZSBwcm8gYm9ya2Jvcmtib3JrYm9ya2Jvcmtib3JrIHRvbWF0b3RvbWF0b3RvbWF0bwogCWVuZHN0YXJ0IGVuZGVuZCBzdGFydHN0YXJ0IHdvcmRlbmQgd29yZHN0YXJ0CisJcHJlYm9ya3ByZWJvcmsgIHByZWJvcmtwcmVib3JrYm9yawogIAlzdGFydHdvcmR3b3Jkd29yZHdvcmRlbmQgYm9ya3ByZWJvcmtwcmVib3JrYm9yaworCXV0aWxzYm9yayAgc3RhcnRub3V3b3JkCiBiYWRlbmQKIAogdGVzdDI6CkBAIC00OTQsNiArNTAwLDcgQEAKIENPTVBPVU5EUlVMRSBzc21tKmVlCiAKIE5FRURDT01QT1VORCB4eAorQ09NUE9VTkRQRVJNSVRGTEFHIHBwCiAKIFNGWCAxMyBZIDEKIFNGWCAxMyAwIGJvcmsgLgpAQCAtNTA1LDcgKzUxMiwxMCBAQAogU0ZYIGHpIDAgYekgLgogCiBQRlggenogWSAxCi1QRlggenogMCBwcmUgLgorUEZYIHp6IDAgcHJlL3BwIC4KKworUEZYIHl5IFkgMQorUEZYIHl5IDAgbm91IC4KIDVhZmZlbmQKIAogNWRpY3N0YXJ0CkBAIC01MTMsMTQgKzUyMywxNCBAQAogZm9vL2ExYekhIQogYmFyL3p6MTNlZQogc3RhcnQvc3MKLWVuZC9lZQorZW5kL2VleXkKIG1pZGRsZS9tbXh4CiA1ZGljZW5kCiAKIDVnb29kOiBmb29hMSBmb29hw6kgYmFyIHByZWJhciBiYXJib3JrIHByZWJhcmJvcmsgIHN0YXJ0cHJlYmFyCi0gICAgICBzdGFydCBlbmQgc3RhcnRlbmQgIHN0YXJ0bWlkZGxlZW5kCisgICAgICBzdGFydCBlbmQgc3RhcnRlbmQgIHN0YXJ0bWlkZGxlZW5kIG5vdWVuZAogYmFkOiBmb28gZm9vYTIgcHJhYmFyIHByb2JhcmJpcmsgbWlkZGxlIHN0YXJ0bWlkZGxlIG1pZGRsZWVuZCBlbmRzdGFydAotCXN0YXJ0cHJvYmFyCisJc3RhcnRwcm9iYXIgc3RhcnRub3VlbmQKIGJhZGVuZAogCiA2YWZmc3RhcnQKQEAgLTUzNCw2ICs1NDQsOCBAQAogCiBORUVEQ09NUE9VTkQgWHgKIAorQ09NUE9VTkRQRVJNSVRGTEFHIHAKKwogU0ZYIE4zIFkgMQogU0ZYIE4zIDAgYm9yayAuCiAKQEAgLTU0NCw3ICs1NTYsNyBAQAogU0ZYIEHpIDAgYekgLgogCiBQRlggWnogWSAxCi1QRlggWnogMCBwcmUgLgorUEZYIFp6IDAgcHJlL3AgLgogNmFmZmVuZAogCiA2ZGljc3RhcnQKQEAgLTU3Niw2ICs1ODgsNyBAQAogQ09NUE9VTkRSVUxFIDIsNzcqMTIzCiAKIE5FRURDT01QT1VORCAxCitDT01QT1VORFBFUk1JVEZMQUcgNDMyCiAKIFNGWCA2MTAwMyBZIDEKIFNGWCA2MTAwMyAwIG1lYXQgLgpAQCAtNTg3LDcgKzYwMCw3IEBACiBTRlggMTExIDAgYekgLgogCiBQRlggMTcgWSAxCi1QRlggMTcgMCBwcmUgLgorUEZYIDE3IDAgcHJlLzQzMiAuCiA3YWZmZW5kCiAKIDdkaWNzdGFydApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3RkaXIvdGVzdDU5Lm9rIGIvc3JjL3Rlc3RkaXIvdGVzdDU5Lm9rCmluZGV4IDI5Yzk2OTYuLjkzMWNkZDkgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0ZGlyL3Rlc3Q1OS5vaworKysgYi9zcmMvdGVzdGRpci90ZXN0NTkub2sKQEAgLTEzNSw2ICsxMzUsNyBAQAogdXRpbGl6ZQogdXRpbHMKIHdvcmQKK25vdXdvcmQKIC0tLS0tLS0KIGJhZAogWydlbmQnLCAnYm9yaycsICd3b3JkJ10KQEAgLTE1NiwxMCArMTU3LDE4IEBACiBbJ3dvcmQgZW5kJywgJ3dvcmQnLCAnd29yZHdvcmQnXQogd29yZHN0YXJ0CiBbJ3dvcmQgc3RhcnQnLCAnYm9yayBzdGFydCddCitwcmVib3JrcHJlYm9yaworWydwcmVib3JrIHByZWJvcmsnLCAncHJlYm9ya2JvcmsnLCAncHJlYm9ya2Jvcmtib3JrJ10KK3ByZWJvcmtwcmVib3JrYm9yaworWydwcmVib3JrIHByZWJvcmtib3JrJywgJ3ByZWJvcmtib3JrYm9yaycsICdwcmVib3JrYm9ya2Jvcmtib3JrJ10KIHN0YXJ0d29yZHdvcmR3b3Jkd29yZGVuZAogWydzdGFydHdvcmR3b3Jkd29yZHdvcmQgZW5kJywgJ3N0YXJ0d29yZHdvcmR3b3Jkd29yZCcsICdzdGFydCB3b3Jkd29yZHdvcmR3b3JkIGVuZCddCiBib3JrcHJlYm9ya3ByZWJvcmtib3JrCi1bJ2JvcmsgcHJlYm9ya3ByZWJvcmtib3JrJywgJ2JvcmtwcmVib3JrIHByZWJvcmtib3JrJywgJ2JvcmtwcmVib3JrcHJlYm9yayBib3JrJ10KK1snYm9yayBwcmVib3JrcHJlYm9ya2JvcmsnLCAnYm9yayBwcmVib3JrIHByZWJvcmtib3JrJywgJ2JvcmsgcHJlYm9ya3ByZWJvcmsgYm9yayddCit1dGlsc2JvcmsKK1sndXRpbGJvcmsnLCAndXRpbHMgYm9yaycsICd1dGlsIGJvcmsnXQorc3RhcnRub3V3b3JkCitbJ3N0YXJ0IG5vdXdvcmQnLCAnc3RhcnR3b3JkJywgJ3N0YXJ0Ym9ya3dvcmQnXQogCiB0ZXN0IDUtNQogIyBmaWxlOiBYdGVzdC51dGYtOC5zcGwKQEAgLTE2OCw2ICsxNzcsNyBAQAogZW5kCiBmb29hMQogZm9vYcOpCitub3VlbmQKIHByZWJhcgogcHJlYmFyYm9yawogc3RhcnQKQEAgLTE5Miw2ICsyMDIsOCBAQAogWydlbmQgc3RhcnQnLCAnc3RhcnQnXQogc3RhcnRwcm9iYXIKIFsnc3RhcnRwcmViYXInLCAnc3RhcnQgcHJlYmFyJywgJ3N0YXJ0YmFyJ10KK3N0YXJ0bm91ZW5kCitbJ3N0YXJ0IG5vdWVuZCcsICdzdGFydGVuZCddCiAKIHRlc3QgNi02CiAjIGZpbGU6IFh0ZXN0LnV0Zi04LnNwbApkaWZmIC0tZ2l0IGEvc3JjL3ZlcnNpb24uaCBiL3NyYy92ZXJzaW9uLmgKaW5kZXggNWQ0NTBiYi4uN2NkNWVhNCAxMDA2NDQKLS0tIGEvc3JjL3ZlcnNpb24uaAorKysgYi9zcmMvdmVyc2lvbi5oCkBAIC0xOSw5ICsxOSw5IEBACiAjZGVmaW5lIFZJTV9WRVJTSU9OX01JTk9SX1NUUgkJIjAiCiAjZGVmaW5lIFZJTV9WRVJTSU9OXzEwMAkgICAgKFZJTV9WRVJTSU9OX01BSk9SICogMTAwICsgVklNX1ZFUlNJT05fTUlOT1IpCiAKLSNkZWZpbmUgVklNX1ZFUlNJT05fQlVJTEQJCSAyNTgKLSNkZWZpbmUgVklNX1ZFUlNJT05fQlVJTERfQkNECQkweDEwMgotI2RlZmluZSBWSU1fVkVSU0lPTl9CVUlMRF9TVFIJCSIyNTgiCisjZGVmaW5lIFZJTV9WRVJTSU9OX0JVSUxECQkgMjU5CisjZGVmaW5lIFZJTV9WRVJTSU9OX0JVSUxEX0JDRAkJMHgxMDMKKyNkZWZpbmUgVklNX1ZFUlNJT05fQlVJTERfU1RSCQkiMjU5IgogI2RlZmluZSBWSU1fVkVSU0lPTl9QQVRDSExFVkVMCQkgMAogI2RlZmluZSBWSU1fVkVSU0lPTl9QQVRDSExFVkVMX1NUUgkiMCIKIC8qIFVzZWQgYnkgTWFjT1MgcG9ydCBzaG91bGQgYmUgb25lIG9mOiBkZXZlbG9wbWVudCwgYWxwaGEsIGJldGEsIGZpbmFsICovCkBAIC0zNSw2ICszNSw2IEBACiAgKi8KICNkZWZpbmUgVklNX1ZFUlNJT05fTk9ET1QJInZpbTcwYyIKICNkZWZpbmUgVklNX1ZFUlNJT05fU0hPUlQJIjcuMGMiCi0jZGVmaW5lIFZJTV9WRVJTSU9OX01FRElVTQkiNy4wYzAzIEJFVEEiCi0jZGVmaW5lIFZJTV9WRVJTSU9OX0xPTkcJIlZJTSAtIFZpIElNcHJvdmVkIDcuMGMwMyBCRVRBICgyMDA2IE1hciAyOSkiCi0jZGVmaW5lIFZJTV9WRVJTSU9OX0xPTkdfREFURQkiVklNIC0gVmkgSU1wcm92ZWQgNy4wYzAzIEJFVEEgKDIwMDYgTWFyIDI5LCBjb21waWxlZCAiCisjZGVmaW5lIFZJTV9WRVJTSU9OX01FRElVTQkiNy4wYzEwIEJFVEEiCisjZGVmaW5lIFZJTV9WRVJTSU9OX0xPTkcJIlZJTSAtIFZpIElNcHJvdmVkIDcuMGMxMCBCRVRBICgyMDA2IEFwciA1KSIKKyNkZWZpbmUgVklNX1ZFUlNJT05fTE9OR19EQVRFCSJWSU0gLSBWaSBJTXByb3ZlZCA3LjBjMTAgQkVUQSAoMjAwNiBBcHIgNSwgY29tcGlsZWQgIgpkaWZmIC0tZ2l0IGEvc3JjL3ZpbS5oIGIvc3JjL3ZpbS5oCmluZGV4IDAxNWZhMDMuLjM3NzYyYmUgMTAwNjQ0Ci0tLSBhL3NyYy92aW0uaAorKysgYi9zcmMvdmltLmgKQEAgLTE5ODcsNSArMTk4Nyw5IEBACiAjZGVmaW5lIEJBRF9LRUVQCS0xCS8qIGxlYXZlIGl0ICovCiAjZGVmaW5lIEJBRF9EUk9QCS0yCS8qIGVyYXNlIGl0ICovCiAKKy8qIGxhc3QgYXJndW1lbnQgZm9yIGRvX3NvdXJjZSgpICovCisjZGVmaW5lIERPU09fTk9ORQkwCisjZGVmaW5lIERPU09fVklNUkMJMQkvKiBsb2FkaW5nIHZpbXJjIGZpbGUgKi8KKyNkZWZpbmUgRE9TT19HVklNUkMJMgkvKiBsb2FkaW5nIGd2aW1yYyBmaWxlICovCiAKICNlbmRpZiAvKiBWSU1fX0ggKi8KZGlmZiAtLWdpdCBhL3NyYy93aW5kb3cuYyBiL3NyYy93aW5kb3cuYwppbmRleCA2YTEyZGUxLi42NzdkY2JlIDEwMDY0NAotLS0gYS9zcmMvd2luZG93LmMKKysrIGIvc3JjL3dpbmRvdy5jCkBAIC0xOTQ0LDcgKzE5NDQsNyBAQAogfQogCiAvKgotICogQ2xvc2Ugd2luZG93ICJ3aW4iLgorICogQ2xvc2Ugd2luZG93ICJ3aW4iLiAgT25seSB3b3JrcyBmb3IgdGhlIGN1cnJlbnQgdGFiIHBhZ2UuCiAgKiBJZiAiZnJlZV9idWYiIGlzIFRSVUUgcmVsYXRlZCBidWZmZXIgbWF5IGJlIHVubG9hZGVkLgogICoKICAqIGNhbGxlZCBieSA6cXVpdCwgOmNsb3NlLCA6eGl0LCA6d3EgYW5kIGZpbmR0YWcoKQpAQCAtMjIwMiw2ICsyMjAyLDExIEBACiAgICAgdmltX2ZyZWUoZnJwKTsKICAgICB3aW5fZnJlZSh3aW4sIHRwKTsKIAorICAgIC8qIFdoZW4gZGVsZXRpbmcgdGhlIGN1cnJlbnQgd2luZG93IG9mIGFub3RoZXIgdGFiIHBhZ2Ugc2VsZWN0IGEgbmV3CisgICAgICogY3VycmVudCB3aW5kb3cuICovCisgICAgaWYgKHRwICE9IE5VTEwgJiYgd2luID09IHRwLT50cF9jdXJ3aW4pCisJdHAtPnRwX2N1cndpbiA9IHdwOworCiAgICAgcmV0dXJuIHdwOwogfQogCkBAIC0zMTIyLDYgKzMxMjcsMTAgQEAKICMgaWZkZWYgRkVBVF9ESUZGCiAJdHAtPnRwX2RpZmZfaW52YWxpZCA9IFRSVUU7CiAjIGVuZGlmCisjaWZkZWYgRkVBVF9FVkFMCisJLyogaW5pdCB0OiB2YXJpYWJsZXMgKi8KKwlpbml0X3Zhcl9kaWN0KCZ0cC0+dHBfdmFycywgJnRwLT50cF93aW52YXIpOworI2VuZGlmCiAgICAgfQogICAgIHJldHVybiB0cDsKIH0KQEAgLTMxMzQsNiArMzE0Myw5IEBACiAgICAgZGlmZl9jbGVhcih0cCk7CiAjIGVuZGlmCiAgICAgY2xlYXJfc25hcHNob3QodHApOworI2lmZGVmIEZFQVRfRVZBTAorICAgIHZhcnNfY2xlYXIoJnRwLT50cF92YXJzLmR2X2hhc2h0YWIpOwkvKiBmcmVlIGFsbCB0OiB2YXJpYWJsZXMgKi8KKyNlbmRpZgogICAgIHZpbV9mcmVlKHRwKTsKIH0KIApAQCAtMzE4OSw2ICszMjAxLDcgQEAKIAl9CiAJd2luX2luaXRfc2l6ZSgpOwogCWZpcnN0d2luLT53X3dpbnJvdyA9IHRhYmxpbmVfaGVpZ2h0KCk7CisJd2luX2NvbXBfc2Nyb2xsKGN1cndpbik7CiAKIAluZXd0cC0+dHBfdG9wZnJhbWUgPSB0b3BmcmFtZTsKIAlsYXN0X3N0YXR1cyhGQUxTRSk7CkBAIC0zMzMwLDYgKzMzNDMsOSBAQAogewogICAgIHRhYnBhZ2VfVAkqdHAgPSBjdXJ0YWI7CiAKKyNpZmRlZiBGRUFUX1ZJU1VBTAorICAgIHJlc2V0X1ZJc3VhbF9hbmRfcmVzZWwoKTsJLyogc3RvcCBWaXN1YWwgbW9kZSAqLworI2VuZGlmCiAjaWZkZWYgRkVBVF9BVVRPQ01ECiAgICAgaWYgKG5ld19jdXJidWYgIT0gY3VyYnVmKQogICAgIHsKQEAgLTM1NjgsNiArMzU4NCwxMCBAQAogCXRleHRfbG9ja2VkX21zZygpOwogCXJldHVybjsKICAgICB9CisjaWZkZWYgRkVBVF9BVVRPQ01ECisgICAgaWYgKGN1cmJ1Zl9sb2NrZWQoKSkKKwlyZXR1cm47CisjZW5kaWYKIAogI2lmZGVmIEZFQVRfVklTVUFMCiAgICAgaWYgKHdwLT53X2J1ZmZlciAhPSBjdXJidWYpCmRpZmYgLS1naXQgYS9zcmMveHhkL3h4ZC5jIGIvc3JjL3h4ZC94eGQuYwppbmRleCBmNTdkNzg2Li40MmJjZGFhIDEwMDY0NAotLS0gYS9zcmMveHhkL3h4ZC5jCisrKyBiL3NyYy94eGQveHhkLmMKQEAgLTI3NSw4ICsyNzUsMTEgQEAKICAgICAgIGlmIChjID09ICdccicpCS8qIERvemUgc3R5bGUgaW5wdXQgZmlsZT8gKi8KIAljb250aW51ZTsKIAorI2lmIDAJLyogdGhpcyBkb2Vzbid0IHdvcmsgd2hlbiB0aGVyZSBpcyBub3JtYWwgdGV4dCBhZnRlciB0aGUgaGV4IGNvZGVzIGluCisJICAgdGhlIGxhc3QgbGluZSB0aGF0IGxvb2tzIGxpa2UgaGV4ICovCiAgICAgICBpZiAoYyA9PSAnICcgfHwgYyA9PSAnXG4nIHx8IGMgPT0gJ1x0JykgIC8qIGFsbG93IG11bHRpcGxlIHNwYWNlcyAqLwogICAgICAgICBjb250aW51ZTsKKyNlbmRpZgogCiAgICAgICBuMyA9IG4yOwogICAgICAgbjIgPSBuMTsK