From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 14941 invoked from network); 25 Sep 2023 15:21:52 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 25 Sep 2023 15:21:52 -0000 Content-Type: multipart/mixed; boundary="===============8907393020629689943==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_=5BWIP=5D_wxWiwdgets=2C_wxPython?= To: ml@inbox.vuxu.org From: ahesford Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Mon, 25 Sep 2023 17:21:52 +0200 List-Id: Message-ID: <20230925152152.T7BYFdVB8uAHfZixtc2jAVuEtfoeNsFu0T1ozT0pjEQ@z> GitHub notification mails are now in MIME to allow UTF8. --===============8907393020629689943== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgYWhlc2ZvcmQgYWdhaW5zdCBtYXN0 ZXIgb24gdGhlIHZvaWQtcGFja2FnZXMgcmVwb3NpdG9yeQoKaHR0cHM6Ly9naXRodWIuY29tL2Fo ZXNmb3JkL3ZvaWQtcGFja2FnZXMgd3h3aWRnZXRzCmh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxp bnV4L3ZvaWQtcGFja2FnZXMvcHVsbC80NjIzNwoKW1dJUF0gd3hXaXdkZ2V0cywgd3hQeXRob24K T3VyIHd4V2lkZ2V0cy93eFB5dGhvbiBzdGFjayBpcyBwcmV0dHkgb2xkLCBhbmQgaXQgbWF5IGJl IG1vcmUgdHJvdWJsZSB0byBwYXRjaCBmb3IgUHl0aG9uIDMuMTIgdGhhbiBqdXN0IHVwZGF0aW5n IHRoZXNlIHBhY2thZ2VzLiBUaHVzIEkgd291bGQgbGlrZSB0bzoNCg0KKiBEcm9wIGBwY3N4MmAs IGBwZXJsLUFsaWVuLXd4V2lkZ2V0c2AgYW5kIGBkaXNwY2FsR1VJYCAoY2M6IEBsZW1taSkuIFRo ZSBmaXJzdCB0d28gZG9uJ3Qgc2VlbSB3ZWxsLW1haW50YWluZWQsIGFuZCBhbGwgdGhyZWUgcmVs eSBvbiB3eFdpZGdldHMgd2l0aCBHVEsyIHN1cHBvcnQgdGhhdCBzaG91bGQgYmUgcmV0aXJlZC4g YGRpc3BjYWxHVUlgIGFsc28gcmVxdWlyZXMgdGhlIGxvbmctcGFzdC1FT0wgUHl0aG9uIDIuDQoq IFdpdGggdGhlc2UgdGhyZWUgZGVwZW5kYW50cyBnb25lLCB3ZSBjYW4gcmVtb3ZlIGB3eFdpZGdl dHNgIGFuZCBgd3hQeXRob25gLg0KKiBUaGlzIHNpbXBsaWZpZXMgdGhlIHVwZGF0ZSB0byBgd3hX aWRnZXRzLWd0azNgIGFuZCAoaG9wZWZ1bGx5LS0tSSdtIHN0aWxsIHdvcmtpbmcpIGB3eFB5dGhv bjRgLg0KKiBXaGlsZSB3ZSdyZSBhdCBpdCwgd2UgY2FuIHRyYW5zaXRpb24gYHd4UHl0aG9uNGAg YmFjayB0byBpdHMgcHJvcGVyIG5hbWUsIGp1c3QgYHd4UHl0aG9uYC4NCg0KW2NpIHNraXBdCgpB IHBhdGNoIGZpbGUgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2th Z2VzL3B1bGwvNDYyMzcucGF0Y2ggaXMgYXR0YWNoZWQ= --===============8907393020629689943== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-wxwidgets-46237.patch" RnJvbSA1NDk2NTBkNDA4NjQzMGJjYzBiNWRhNzQ0YWVhNmZhNGMxNTE4MGY2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiQW5kcmV3IEouIEhlc2ZvcmQiIDxhamhAc2lkZWJhbmQub3Jn PgpEYXRlOiBTdW4sIDI0IFNlcCAyMDIzIDIzOjE5OjMwIC0wNDAwClN1YmplY3Q6IFtQQVRDSCAw MS80NF0gcGVybC1BbGllbi13eFdpZGdldHM6IHJlbW92ZSBwYWNrYWdlCgpOb3RoaW5nIHJlcXVp cmVzIHRoaXMgcGFja2FnZSwgaXQgZGVwZW5kcyBvbiBhbiBvbGQgYW5kIHRvLWJlLXJlbW92ZWQK dmVzaW9uIG9mIHd4V2lkZ2V0cywgYW5kIGl0IGRvZXNuJ3Qgc2VlbSB0byBoYXZlIGJlZW4gdXBk YXRlZCBzaW5jZSBpdAp3YXMgYWRkZWQgNSB5ZWFycyBhZ28uCi0tLQogc3JjcGtncy9wZXJsLUFs aWVuLXd4V2lkZ2V0cy90ZW1wbGF0ZSB8IDE0IC0tLS0tLS0tLS0tLS0tCiBzcmNwa2dzL3JlbW92 ZWQtcGFja2FnZXMvdGVtcGxhdGUgICAgIHwgIDEgKwogMiBmaWxlcyBjaGFuZ2VkLCAxIGluc2Vy dGlvbigrKSwgMTQgZGVsZXRpb25zKC0pCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9wZXJs LUFsaWVuLXd4V2lkZ2V0cy90ZW1wbGF0ZQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcGVybC1BbGll bi13eFdpZGdldHMvdGVtcGxhdGUgYi9zcmNwa2dzL3BlcmwtQWxpZW4td3hXaWRnZXRzL3RlbXBs YXRlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5MTMyMjUyOWZjYjdmLi4wMDAwMDAw MDAwMDAwCi0tLSBhL3NyY3BrZ3MvcGVybC1BbGllbi13eFdpZGdldHMvdGVtcGxhdGUKKysrIC9k ZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi0jIFRlbXBsYXRlIGZpbGUgZm9yICdwZXJsLUFsaWVu LXd4V2lkZ2V0cycKLXBrZ25hbWU9cGVybC1BbGllbi13eFdpZGdldHMKLXZlcnNpb249MC42OQot cmV2aXNpb249MwotYnVpbGRfc3R5bGU9cGVybC1Nb2R1bGVCdWlsZAotaG9zdG1ha2VkZXBlbmRz PSJwZXJsIHBlcmwtTW9kdWxlLUJ1aWxkIHBlcmwtTW9kdWxlLVBsdWdnYWJsZSBwZXJsLUxXUC1Q cm90b2NvbC1odHRwcyBwZXJsLU5ldC1TU0xlYXkiCi1tYWtlZGVwZW5kcz0icGVybC1BbGllbiB3 eFdpZGdldHMtZGV2ZWwiCi1kZXBlbmRzPSJwZXJsIHBlcmwtTW9kdWxlLVBsdWdnYWJsZSBwZXJs LUFsaWVuIHd4V2lkZ2V0cyBwZXJsLUxXUC1Qcm90b2NvbC1odHRwcyIKLXNob3J0X2Rlc2M9IkFs aWVuOjp3eFdpZGdldHMgLSBidWlsZGluZywgZmluZGluZyBhbmQgdXNpbmcgd3hXaWRnZXRzIGJp bmFyaWVzIgotbWFpbnRhaW5lcj0iT3JwaGFuZWQgPG9ycGhhbkB2b2lkbGludXgub3JnPiIKLWxp Y2Vuc2U9IkFydGlzdGljLTEuMC1QZXJsLCBHUEwtMS4wLW9yLWxhdGVyIgotaG9tZXBhZ2U9Imh0 dHBzOi8vbWV0YWNwYW4ub3JnL3JlbGVhc2UvQWxpZW4td3hXaWRnZXRzIgotZGlzdGZpbGVzPSIk e0NQQU5fU0lURX0vQWxpZW4vJHtwa2duYW1lI3BlcmwtfS0ke3ZlcnNpb259LnRhci5neiIKLWNo ZWNrc3VtPTUzMjI0ZTRiYmJlZmZmNGNmN2I2M2VkOWE2Mjk2Mzg5M2I5ZmZkNDk2NWQ3MGQ5Njcx MDM0OGY4Njc2ZGUyNDkKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcmVtb3ZlZC1wYWNrYWdlcy90ZW1w bGF0ZSBiL3NyY3BrZ3MvcmVtb3ZlZC1wYWNrYWdlcy90ZW1wbGF0ZQppbmRleCBlZGYzYWE1NDU2 OTRiLi41ODJiMDk0NGM4YzYyIDEwMDY0NAotLS0gYS9zcmNwa2dzL3JlbW92ZWQtcGFja2FnZXMv dGVtcGxhdGUKKysrIGIvc3JjcGtncy9yZW1vdmVkLXBhY2thZ2VzL3RlbXBsYXRlCkBAIC00Mzcs NiArNDM3LDcgQEAgcmVwbGFjZXM9IgogIG9yYWdlPD00LjEyLjFfNwogIHBhcmFsbGVsLXJ1c3Q8 PTAuMTEuM18yCiAgcGFyYXZpZXc8PTUuOC4xXzMKKyBwZXJsLUFsaWVuLXd4V2lkZ2V0czw9MC42 OV8zCiAgcGVybC1HdGsyLUV4LVNpbXBsZS1MaXN0PD0wLjUwXzQKICBwZXJsLUd0azItSW1hZ2VW aWV3PD0wLjA1XzgKICBwZXJsLUd0azItTm90aWZ5PD0wLjA1XzgKCkZyb20gYzZlMzZkMjdhYmY5 MTljNGRmODQ3NjcyMzZmM2ExYjNiODhhM2RiNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogIkFuZHJldyBKLiBIZXNmb3JkIiA8YWpoQHNpZGViYW5kLm9yZz4KRGF0ZTogU3VuLCAyNCBT ZXAgMjAyMyAyMzoyMTo0MiAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDIvNDRdIHBjc3gyOiByZW1v dmUgcGFja2FnZQoKVGhpcyBwYWNrYWdlIG9ubHkgYnVpbGRzIGZvciBpNjg2KiBhbmQgZGVwZW5k cyBvbiBhbiBvbGQgYW5kCnRvLWJlLXJlbW92ZWQgdmVyc2lvbiBvZiB3eFdpZGdldHMuCi0tLQog Li4uMjBhOWUwNDhlNGJkOWQ3NzYwY2I3MmU2MzM1YWVlODE1NWQ0LnBhdGNoIHwgNDIgLS0tLS0t LS0tLS0tLS0tLS0tLQogc3JjcGtncy9wY3N4Mi90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICAg ICAgIHwgMjcgLS0tLS0tLS0tLS0tCiBzcmNwa2dzL3JlbW92ZWQtcGFja2FnZXMvdGVtcGxhdGUg ICAgICAgICAgICAgfCAgMSArCiAzIGZpbGVzIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCA2OSBk ZWxldGlvbnMoLSkKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3Bjc3gyL3BhdGNoZXMvNmI3 ZjIwYTllMDQ4ZTRiZDlkNzc2MGNiNzJlNjMzNWFlZTgxNTVkNC5wYXRjaAogZGVsZXRlIG1vZGUg MTAwNjQ0IHNyY3BrZ3MvcGNzeDIvdGVtcGxhdGUKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3Bjc3gy L3BhdGNoZXMvNmI3ZjIwYTllMDQ4ZTRiZDlkNzc2MGNiNzJlNjMzNWFlZTgxNTVkNC5wYXRjaCBi L3NyY3BrZ3MvcGNzeDIvcGF0Y2hlcy82YjdmMjBhOWUwNDhlNGJkOWQ3NzYwY2I3MmU2MzM1YWVl ODE1NWQ0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxYTc2YmMxZmE2ODA5 Li4wMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvcGNzeDIvcGF0Y2hlcy82YjdmMjBhOWUwNDhl NGJkOWQ3NzYwY2I3MmU2MzM1YWVlODE1NWQ0LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDIg KzAsMCBAQAotRnJvbSA2YjdmMjBhOWUwNDhlNGJkOWQ3NzYwY2I3MmU2MzM1YWVlODE1NWQ0IE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSm9obiBaaW1tZXJtYW5uIDxtZUBqb2hubnlu YXRvci5kZXY+Ci1EYXRlOiBUaHUsIDIgSnVsIDIwMjAgMTI6MjQ6NDUgKzAyMDAKLVN1YmplY3Q6 IFtQQVRDSF0gQWxsb3cgcnVubmluZyBvbiBzeXN0ZW1zIHdpdGhvdXQgd3ggc3RhY2t3YWxrbGVy Ci0KLWNsb3NlcyAjMjc5NgotLS0tCi0gcGNzeDIvZ3VpL0FwcEFzc2VydC5jcHAgfCA2ICsrKysr KwotIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBwY3N4Mi9n dWkvQXBwQXNzZXJ0LmNwcCBwY3N4Mi9ndWkvQXBwQXNzZXJ0LmNwcAotaW5kZXggYTI4MjcxNWM0 ZS4uNGNlMTUxZjg2ZiAxMDA2NDQKLS0tLSBhL3Bjc3gyL2d1aS9BcHBBc3NlcnQuY3BwCi0rKysg Yi9wY3N4Mi9ndWkvQXBwQXNzZXJ0LmNwcAotQEAgLTE5LDYgKzE5LDcgQEAKLSAKLSAjaW5jbHVk ZSA8d3gvc3RhY2t3YWxrLmg+Ci0gCi0rI2lmIHd4VVNFX1NUQUNLV0FMS0VSCi0gY2xhc3MgU3Rh Y2tEdW1wIDogcHVibGljIHd4U3RhY2tXYWxrZXIKLSB7Ci0gcHJvdGVjdGVkOgotQEAgLTk0LDYg Kzk1LDcgQEAgc3RhdGljIHd4U3RyaW5nIHB4R2V0U3RhY2tUcmFjZSggY29uc3QgRm5DaGFyX3Qq IGNhbGxlZEZyb20gKQotIAlkdW1wLldhbGsoIDMgKTsKLSAJcmV0dXJuIGR1bXAuR2V0U3RhY2tU cmFjZSgpOwotIH0KLSsjZW5kaWYKLSAKLSAjaWZkZWYgX19XWERFQlVHX18KLSAKLUBAIC0xMjIs NyArMTI0LDExIEBAIGJvb2wgQXBwRG9Bc3NlcnQoIGNvbnN0IERpYWdub3N0aWNPcmlnaW4mIG9y aWdpbiwgY29uc3Qgd3hDaGFyICptc2cgKQotIAlzdGF0aWMgYm9vbCBkaXNhYmxlQXNzZXJ0cyA9 IGZhbHNlOwotIAlpZiggZGlzYWJsZUFzc2VydHMgKSByZXR1cm4gZmFsc2U7Ci0gCi0rI2lmIHd4 VVNFX1NUQUNLV0FMS0VSCi0gCXd4U3RyaW5nIHRyYWNlKCBweEdldFN0YWNrVHJhY2Uob3JpZ2lu LmZ1bmN0aW9uKSApOwotKyNlbHNlCi0rCXd4U3RyaW5nIHRyYWNlKCAiV2FybmluZzogUGxhdGZv cm0gZG9lc24ndCBzdXBwb3J0IHd4IHN0YWNrd2Fsa2VyIiApOwotKyNlbmRpZgotIAl3eFN0cmlu ZyBkYmdtc2coIG9yaWdpbi5Ub1N0cmluZyggbXNnICkgKTsKLSAKLSAJd3hNZXNzYWdlT3V0cHV0 RGVidWcoKS5QcmludGYoIEwiJXMiLCBXWF9TVFIoZGJnbXNnKSApOwpkaWZmIC0tZ2l0IGEvc3Jj cGtncy9wY3N4Mi90ZW1wbGF0ZSBiL3NyY3BrZ3MvcGNzeDIvdGVtcGxhdGUKZGVsZXRlZCBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDU5ZjhkZmNkY2U3MWQuLjAwMDAwMDAwMDAwMDAKLS0tIGEvc3Jj cGtncy9wY3N4Mi90ZW1wbGF0ZQorKysgL2Rldi9udWxsCkBAIC0xLDI3ICswLDAgQEAKLSMgVGVt cGxhdGUgZmlsZSBmb3IgJ3Bjc3gyJwotYXJjaHM9Imk2ODYqIgotbGliMzJtb2RlPSJmdWxsIgot bm9waWU9eWVzCi0KLXBrZ25hbWU9cGNzeDIKLXZlcnNpb249MS42LjAKLXJldmlzaW9uPTIKLWJ1 aWxkX3N0eWxlPWNtYWtlCi0jIHN0b3JlIGFsbCBkYXRhIHRoYXQgcGNzeDIgaGFzIHRvIGFjY2Vz cyBpbnRvIC91c3IvbGliLCBzbyBpdCBjYW4gYmUgYWNjZXNzZWQKLSMgb24gbXVsdGlsaWIgc2V0 dXBzLiB3aGVuL2lmIHBjc3gyIHN1cHBvcnRzIDY0LWJpdCBidWlsZHMsIEdBTUVJTkRFWF9ESVIg c2hvdWxkCi0jIGJlIG1vdmVkIHRvIC91c3Ivc2hhcmUvcGNzeDIKLWNvbmZpZ3VyZV9hcmdzPSIt REdMU0xfQVBJPTEgLURTREwyX0FQST1UUlVFIC1EUEFDS0FHRV9NT0RFPTEgLURSRUJVSUxEX1NI QURFUj0xCi0gLURYREdfU1REPTEgLURESVNBQkxFX0FEVkFOQ0VfU0lNRD0xCi0gLURQTFVHSU5f RElSPS91c3IvbGliJHtYQlBTX1RBUkdFVF9XT1JEU0laRX0vcGNzeDIKLSAtREdBTUVJTkRFWF9E SVI9L3Vzci9saWIke1hCUFNfVEFSR0VUX1dPUkRTSVpFfS9wY3N4MiIKLWhvc3RtYWtlZGVwZW5k cz0icGtnLWNvbmZpZyBzcGFyc2VoYXNoIHBlcmwiCi1tYWtlZGVwZW5kcz0iYWxzYS1saWItZGV2 ZWwgU0RMMi1kZXZlbCBnbHUtZGV2ZWwgZ2xldy1kZXZlbCBsaWJhaW8tZGV2ZWwKLSBsaWJjYW5i ZXJyYS1kZXZlbCBsaWJqcGVnLXR1cmJvLWRldmVsIHd4V2lkZ2V0cy1kZXZlbCBwb3J0YXVkaW8t ZGV2ZWwgc291bmR0b3VjaC1kZXZlbAotIGxpYnBjYXAtZGV2ZWwgZ2xpYi1kZXZlbCIKLWRlcGVu ZHM9ImRlc2t0b3AtZmlsZS11dGlscyIKLXNob3J0X2Rlc2M9IlNvbnkgUGxheVN0YXRpb24gMiBl bXVsYXRvciIKLW1haW50YWluZXI9IlNlbGZzaWduZWQgPHNlbGZzaWduZWRAcHJvdG9ubWFpbC5j aD4iCi1saWNlbnNlPSJHUEwtMy4wLW9yLWxhdGVyLCBHUEwtMi4wLW9yLWxhdGVyLCBMR1BMLTIu MS1vci1sYXRlciwgTEdQTC0zLjAtb3ItbGF0ZXIiCi1ob21lcGFnZT0iaHR0cDovL3d3dy5wY3N4 Mi5uZXQiCi1kaXN0ZmlsZXM9Imh0dHBzOi8vZ2l0aHViLmNvbS9QQ1NYMi9wY3N4Mi9hcmNoaXZl L3Yke3ZlcnNpb259LnRhci5neiIKLWNoZWNrc3VtPWMwOTkxNDAyMGU0OTQ2NDBmMTg3ZjQ2ZDAx N2Y5ZDE0MmNlMjAwNGFmNzYzYjlhNmM1YzNhOWVhMDllNTI4MWMKZGlmZiAtLWdpdCBhL3NyY3Br Z3MvcmVtb3ZlZC1wYWNrYWdlcy90ZW1wbGF0ZSBiL3NyY3BrZ3MvcmVtb3ZlZC1wYWNrYWdlcy90 ZW1wbGF0ZQppbmRleCA1ODJiMDk0NGM4YzYyLi5iMTc2NzM5MTU3ZTNjIDEwMDY0NAotLS0gYS9z cmNwa2dzL3JlbW92ZWQtcGFja2FnZXMvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9yZW1vdmVkLXBh Y2thZ2VzL3RlbXBsYXRlCkBAIC00NDEsNiArNDQxLDcgQEAgcmVwbGFjZXM9IgogIHBlcmwtR3Rr Mi1FeC1TaW1wbGUtTGlzdDw9MC41MF80CiAgcGVybC1HdGsyLUltYWdlVmlldzw9MC4wNV84CiAg cGVybC1HdGsyLU5vdGlmeTw9MC4wNV84CisgcGNzeDI8PTEuNi4wXzIKICBwZ2FkbWluMzw9MS4y Mi4yXzE0CiAgcGhvbm9uLWJhY2tlbmQtZ3N0cmVhbWVyPD00LjkuMF8yCiAgcGhvbm9uLWJhY2tl bmQtdmxjPD0wLjkuMV8zCgpGcm9tIDFlNTE2NzM4NmMzYmQyZGM5NDAzN2I1YTQxYjA5Yjg1YzA4 NDdmNjkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ICJBbmRyZXcgSi4gSGVzZm9yZCIg PGFqaEBzaWRlYmFuZC5vcmc+CkRhdGU6IFN1biwgMjQgU2VwIDIwMjMgMjM6MjQ6MzMgLTA0MDAK U3ViamVjdDogW1BBVENIIDAzLzQ0XSBkaXNwY2FsR1VJOiByZW1vdmUgcGFja2FnZQoKVGhpcyBw YWNrYWdlIGRlcGVuZHMgb24gbG9uZy1wYXN0LUVPTCBQeXRob24gMiBhbmQgYW4gb2xkIGFuZAp0 by1iZS1yZW1vdmVkIHZlcnNpb24gb2Ygd3hXaWRnZXRzLgotLS0KIHNyY3BrZ3MvZGlzcGNhbEdV SS9wYXRjaGVzL2Vycm9yLnBhdGNoIHwgMzMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIHNy Y3BrZ3MvZGlzcGNhbEdVSS90ZW1wbGF0ZSAgICAgICAgICAgIHwgMjUgLS0tLS0tLS0tLS0tLS0t LS0tLQogc3JjcGtncy9kaXNwY2FsR1VJL3VwZGF0ZSAgICAgICAgICAgICAgfCAgMSAtCiBzcmNw a2dzL3JlbW92ZWQtcGFja2FnZXMvdGVtcGxhdGUgICAgICB8ICAxICsKIDQgZmlsZXMgY2hhbmdl ZCwgMSBpbnNlcnRpb24oKyksIDU5IGRlbGV0aW9ucygtKQogZGVsZXRlIG1vZGUgMTAwNjQ0IHNy Y3BrZ3MvZGlzcGNhbEdVSS9wYXRjaGVzL2Vycm9yLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQg c3JjcGtncy9kaXNwY2FsR1VJL3RlbXBsYXRlCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9k aXNwY2FsR1VJL3VwZGF0ZQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZGlzcGNhbEdVSS9wYXRjaGVz L2Vycm9yLnBhdGNoIGIvc3JjcGtncy9kaXNwY2FsR1VJL3BhdGNoZXMvZXJyb3IucGF0Y2gKZGVs ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE2OWZjNTI4YjEzOGUuLjAwMDAwMDAwMDAwMDAK LS0tIGEvc3JjcGtncy9kaXNwY2FsR1VJL3BhdGNoZXMvZXJyb3IucGF0Y2gKKysrIC9kZXYvbnVs bApAQCAtMSwzMyArMCwwIEBACi1SZWFzb246IGVycm9yKDMpIGRvZXMgbm90IGV4aXN0IG9uIG11 c2wsIGFuZCBvbiBnbGliYyB0aGUgc2lnbmF0dXJlCi1pcyAoaW50LCBpbnQsIGNoYXIqLCAuLi4p IGFuZCBub3QgKGNoYXIqLCAuLi4pLgotVGhlcmVmb3JlIHRoZSBjdXJyZW50IGNvZGUgZWl0aGVy IHJlc3VsdHMgaW4gZ2FyYmxlZCBvdXRwdXQgb3IKLWRvZXNuJ3Qgd29yayBhdCBhbGwuIFJlcGxh Y2UgaXQgd2l0aCBhIHNpbXBsZSBwcmludGYuCi0KLS0tLQotLS0tIGEvRGlzcGxheUNBTC9SZWFs RGlzcGxheVNpemVNTS5jCTIwMTgtMDctMjUgMTY6NDc6MDEuMDAwMDAwMDAwICswMjAwCi0rKysg Yi9EaXNwbGF5Q0FML1JlYWxEaXNwbGF5U2l6ZU1NLmMJMjAxOC0wNy0yNSAxNjo0NzowMS4wMDAw MDAwMDAgKzAyMDAKLUBAIC04MjIsMTMgKzgyMiwxMyBAQAotIAkJCQkJCXNwcmludGYoZGVzYzEs ICJfSUNDX1BST0ZJTEVfJWQiLGRpc3BzW25kaXNwc10tPnVzY3JlZW4pOwotIAotIAkJCQkJaWYg KChkaXNwc1tuZGlzcHNdLT5pY2NfYXRvbSA9IFhJbnRlcm5BdG9tKG15ZGlzcGxheSwgZGVzYzEs IEZhbHNlKSkgPT0gTm9uZSkKLS0JCQkJCQllcnJvcigiVW5hYmxlIHRvIGludGVybiBhdG9tICcl cyciLGRlc2MxKTsKLSsJCQkJCQlmcHJpbnRmKHN0ZGVyciwgIlVuYWJsZSB0byBpbnRlcm4gYXRv bSAnJXMnIixkZXNjMSk7Ci0gCi0gCQkJCQlkZWJ1Z3JyMigoZXJyb3V0LCJSb290IGF0b20gJyVz J1xuIixkZXNjMSkpOwotIAotIAkJCQkJLyogQ3JlYXRlIHRoZSBhdG9tIG9mIHRoZSBvdXRwdXQg dGhhdCBtYXkgY29udGFpbiB0aGUgYXNzb2NpYXRlZCBJQ0MgcHJvZmlsZSAqLwotIAkJCQkJaWYg KChkaXNwc1tuZGlzcHNdLT5pY2Nfb3V0X2F0b20gPSBYSW50ZXJuQXRvbShteWRpc3BsYXksICJf SUNDX1BST0ZJTEUiLCBGYWxzZSkpID09IE5vbmUpCi0tCQkJCQkJZXJyb3IoIlVuYWJsZSB0byBp bnRlcm4gYXRvbSAnJXMnIiwiX0lDQ19QUk9GSUxFIik7Ci0rCQkJCQkJZnByaW50ZihzdGRlcnIs ICJVbmFibGUgdG8gaW50ZXJuIGF0b20gJyVzJyIsIl9JQ0NfUFJPRklMRSIpOwotIAkJCi0gCQkJ CQkvKiBHcmFiIHRoZSBFRElEIGZyb20gdGhlIG91dHB1dCAqLwotIAkJCQkJewotQEAgLTk5Myw3 ICs5OTMsNyBAQAotIAkJCQlzcHJpbnRmKGRlc2MxLCAiX0lDQ19QUk9GSUxFXyVkIixkaXNwc1tp XS0+dXNjcmVlbik7Ci0gCi0gCQkJaWYgKChkaXNwc1tpXS0+aWNjX2F0b20gPSBYSW50ZXJuQXRv bShteWRpc3BsYXksIGRlc2MxLCBGYWxzZSkpID09IE5vbmUpCi0tCQkJCWVycm9yKCJVbmFibGUg dG8gaW50ZXJuIGF0b20gJyVzJyIsZGVzYzEpOwotKwkJCQlmcHJpbnRmKHN0ZGVyciwgIlVuYWJs ZSB0byBpbnRlcm4gYXRvbSAnJXMnIixkZXNjMSk7Ci0gCi0gCQkJLyogU2VlIGlmIHdlIGNhbiBs b2NhdGUgdGhlIEVESUQgb2YgdGhlIG1vbml0b3IgZm9yIHRoaXMgc2NyZWVuICovCi0gCQkJZm9y IChqID0gMDsgaiA8IDI7IGorKykgeyAKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZGlzcGNhbEdVSS90 ZW1wbGF0ZSBiL3NyY3BrZ3MvZGlzcGNhbEdVSS90ZW1wbGF0ZQpkZWxldGVkIGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDUwODZiOTdlNWEyNi4uMDAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL2Rp c3BjYWxHVUkvdGVtcGxhdGUKKysrIC9kZXYvbnVsbApAQCAtMSwyNSArMCwwIEBACi0jIFRlbXBs YXRlIGZpbGUgZm9yICdkaXNwY2FsR1VJJwotcGtnbmFtZT1kaXNwY2FsR1VJCi12ZXJzaW9uPTMu OC45LjMKLXJldmlzaW9uPTUKLV9uYW1lPSJEaXNwbGF5Q0FMIgotYnVpbGRfc3R5bGU9cHl0aG9u Mi1tb2R1bGUKLWhvc3RtYWtlZGVwZW5kcz0icHl0aG9uIgotbWFrZWRlcGVuZHM9InB5dGhvbi1k ZXZlbCBsaWJYeGY4NnZtLWRldmVsIGxpYlhpbmVyYW1hLWRldmVsIGxpYlhyYW5kci1kZXZlbCIK LWRlcGVuZHM9InB5dGhvbi1kYnVzIHB5dGhvbi1udW1weSB3eFB5dGhvbiBhcmd5bGxjbXMiCi1z aG9ydF9kZXNjPSJEaXNwbGF5IENhbGlicmF0aW9uIGFuZCBDaGFyYWN0ZXJpemF0aW9uIgotbWFp bnRhaW5lcj0ibGVtbWkgPGxlbW1pQG5lcmQybmVyZC5vcmc+IgotbGljZW5zZT0iR1BMLTMuMC1v ci1sYXRlciIKLWhvbWVwYWdlPSJodHRwczovL2Rpc3BsYXljYWwubmV0LyIKLWNoYW5nZWxvZz0i aHR0cHM6Ly9kaXNwbGF5Y2FsLm5ldC9DSEFOR0VTLmh0bWwiCi1kaXN0ZmlsZXM9IiR7U09VUkNF Rk9SR0VfU0lURX0vZGlzcGNhbGd1aS8ke19uYW1lfS0ke3ZlcnNpb259LnRhci5neiIKLWNoZWNr c3VtPTdjMzRkZmJkOWY2NmYyNGYxZDRjODhkZTRhNWEwZGU2ODhhYWQ3MTlmMDk1ODc0YjYyNTk2 MzdkMzA4OTNiZWEKLQotcHJlX2NvbmZpZ3VyZSgpIHsKLQlzZWQgLWkgJ3N8TWltZVR5cGU9bW9k ZWwvdnJtbDt4LXdvcmxkL3gtdnJtbDt8TWltZVR5cGU9bW9kZWwvdnJtbDt8JyBtaXNjL2Rpc3Bs YXljYWwtdnJtbC10by14M2QtY29udmVydGVyLmRlc2t0b3AKLX0KLQotcG9zdF9pbnN0YWxsKCkg ewotCWZpbmQgJHtERVNURElSfS91c3IvIC1leGVjIGNobW9kIGErciBce1x9ICsKLQlmaW5kICR7 REVTVERJUn0vdXNyLyAtdHlwZSBkIC1leGVjIGNobW9kIGEreCBce1x9ICsKLX0KZGlmZiAtLWdp dCBhL3NyY3BrZ3MvZGlzcGNhbEdVSS91cGRhdGUgYi9zcmNwa2dzL2Rpc3BjYWxHVUkvdXBkYXRl CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2OTQyMzkzOTQ1YzM2Li4wMDAwMDAwMDAw MDAwCi0tLSBhL3NyY3BrZ3MvZGlzcGNhbEdVSS91cGRhdGUKKysrIC9kZXYvbnVsbApAQCAtMSAr MCwwIEBACi1wa2duYW1lPSIke19uYW1lfSIKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcmVtb3ZlZC1w YWNrYWdlcy90ZW1wbGF0ZSBiL3NyY3BrZ3MvcmVtb3ZlZC1wYWNrYWdlcy90ZW1wbGF0ZQppbmRl eCBiMTc2NzM5MTU3ZTNjLi45OWZjNDk1OTJkMmNlIDEwMDY0NAotLS0gYS9zcmNwa2dzL3JlbW92 ZWQtcGFja2FnZXMvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9yZW1vdmVkLXBhY2thZ2VzL3RlbXBs YXRlCkBAIC04NSw2ICs4NSw3IEBAIHJlcGxhY2VzPSIKICBkZWVwaW4tdHVyYm88PTAuMC4zXzEK ICBkZWVwaW4tdm9pY2UtcmVjb3JkZXI8PTUuMC4wXzIKICBkaHQtbm9kZTw9MC4yLjBfMworIGRp c3BjYWxHVUk8PTMuOC45LjNfNQogIGRpc3RjYy1ndGs8PTMuMy4zXzYKICBkam1vdW50PD0wLjcx XzgKICBkbGV5bmEtY29yZTw9MC42LjBfMgoKRnJvbSAyOGUyMWIwMzNmMmM5Yzc0ODRlMDE0ZTlh NGI3NDMwODFhOTA4YzYxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAiQW5kcmV3IEou IEhlc2ZvcmQiIDxhamhAc2lkZWJhbmQub3JnPgpEYXRlOiBTdW4sIDI0IFNlcCAyMDIzIDIzOjI2 OjUzIC0wNDAwClN1YmplY3Q6IFtQQVRDSCAwNC80NF0gd3hQeXRob246IHJlbW92ZSBwYWNrYWdl CgotLS0KIHNyY3BrZ3Mvd3hQeXRob24tZGV2ZWwgICAgfCAgMSAtCiBzcmNwa2dzL3d4UHl0aG9u L3RlbXBsYXRlIHwgNDcgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAy IGZpbGVzIGNoYW5nZWQsIDQ4IGRlbGV0aW9ucygtKQogZGVsZXRlIG1vZGUgMTIwMDAwIHNyY3Br Z3Mvd3hQeXRob24tZGV2ZWwKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3d4UHl0aG9uL3Rl bXBsYXRlCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy93eFB5dGhvbi1kZXZlbCBiL3NyY3BrZ3Mvd3hQ eXRob24tZGV2ZWwKZGVsZXRlZCBmaWxlIG1vZGUgMTIwMDAwCmluZGV4IGUzOTZkNWFlMzcwZDYu LjAwMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy93eFB5dGhvbi1kZXZlbAorKysgL2Rldi9udWxs CkBAIC0xICswLDAgQEAKLXd4UHl0aG9uClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm IC0tZ2l0IGEvc3JjcGtncy93eFB5dGhvbi90ZW1wbGF0ZSBiL3NyY3BrZ3Mvd3hQeXRob24vdGVt cGxhdGUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg5MWRkYzE2NDU1MmIuLjAwMDAw MDAwMDAwMDAKLS0tIGEvc3JjcGtncy93eFB5dGhvbi90ZW1wbGF0ZQorKysgL2Rldi9udWxsCkBA IC0xLDQ3ICswLDAgQEAKLSMgVGVtcGxhdGUgZmlsZSBmb3IgJ3d4UHl0aG9uJwotcGtnbmFtZT13 eFB5dGhvbgotdmVyc2lvbj0zLjAuMi4wCi1yZXZpc2lvbj0xMQotaG9zdG1ha2VkZXBlbmRzPSJw a2ctY29uZmlnIgotbWFrZWRlcGVuZHM9IgotIHpsaWItZGV2ZWwgbGlicG5nLWRldmVsIGxpYmpw ZWctdHVyYm8tZGV2ZWwgdGlmZi1kZXZlbCBleHBhdC1kZXZlbCBndGsrLWRldmVsCi0gbGliU00t ZGV2ZWwgTWVzYUxpYi1kZXZlbCBnbHUtZGV2ZWwKLSBsaWJub3RpZnktZGV2ZWwgcHl0aG9uLWRl dmVsIHd4V2lkZ2V0cy1kZXZlbCIKLWRlcGVuZHM9InB5dGhvbiIKLXNob3J0X2Rlc2M9IlB5dGhv biBCaW5kaW5ncyBmb3IgdGhlIHd4V2lkZ2V0cyBHVUkgdG9vbGtpdCBsaWJyYXJ5IgotbWFpbnRh aW5lcj0iT3JwaGFuZWQgPG9ycGhhbkB2b2lkbGludXgub3JnPiIKLWxpY2Vuc2U9Ild4V2luZG93 cy1leGNlcHRpb24tMy4xIgotaG9tZXBhZ2U9Imh0dHBzOi8vd3d3Lnd4cHl0aG9uLm9yZy8iCi1k aXN0ZmlsZXM9IiR7U09VUkNFRk9SR0VfU0lURX0vd3hweXRob24vJHtwa2duYW1lfS1zcmMtJHt2 ZXJzaW9ufS50YXIuYnoyIgotY2hlY2tzdW09ZDU0MTI5ZTVmYmVhNGZiODA5MWM4N2IyOTgwNzYw YjcyYzIyYTM4NmNiM2I5ZGQyZWViYzkyOGVmNWU4ZGY2MQotCi1pZiBbIC1uICIke0NST1NTX0JV SUxEfSIgXTsgdGhlbgotCWhvc3RtYWtlZGVwZW5kcys9IiBweXRob24iCi0JQ0ZMQUdTKz0iIC1J JHtYQlBTX0NST1NTX0JBU0V9L3Vzci9pbmNsdWRlL3B5dGhvbiR7cHkyX3Zlcn0iCi1maQotCi1w cmVfY29uZmlndXJlKCkgewotCW12IHd4UHl0aG9uL3d4L3Rvb2xzL0VkaXRyYS97ZWRpdHJhLEVk aXRyYX0KLX0KLQotZG9fYnVpbGQoKSB7Ci0JY2Qgd3hQeXRob24KLQlweXRob24yLjcgc2V0dXAu cHkgYnVpbGQKLX0KLQotZG9faW5zdGFsbCgpIHsKLQljZCB3eFB5dGhvbgotCSMgVGhlIHBhdGgg d2hlcmUgaW5jbHVkZXMgYXJlIGdvaW5nIHRvIGJlIGluc3RhbGxlZCBpcyBwcmVmaXhlZCB3aXRo IFdYUFJFRklYIG9idGFpbmVkCi0JIyBmcm9tICd3eC1jb25maWcgLS1wcmVmaXgnIGJ1dCBpbiBh IGNyb3NzIGJ1aWxkIHRoaXMgaXMgJyRYQlBTX0NST1NTX0JBU0UvdXNyJy4KLQlzZWQgLWkgLWUg InN8V1hQUkVGSVggK3wnL3VzcicgK3wiIGNvbmZpZy5weQotCXB5dGhvbjIuNyBzZXR1cC5weSBp bnN0YWxsIC0tcm9vdD0ke0RFU1RESVJ9Ci0JdmxpY2Vuc2UgLi4vZG9jcy9saWNlbmNlLnR4dCBM SUNFTlNFCi19Ci0KLXd4UHl0aG9uLWRldmVsX3BhY2thZ2UoKSB7Ci0JZGVwZW5kcz0id3hXaWRn ZXRzLWRldmVsICR7c291cmNlcGtnfT49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufSIKLQlzaG9ydF9k ZXNjKz0iIC0gZGV2ZWxvcG1lbnQgZmlsZXMiCi0JcGtnX2luc3RhbGwoKSB7Ci0JCXZtb3ZlIHVz ci9pbmNsdWRlCi0JfQotfQoKRnJvbSBhZjgyYjI5NmY0ZTUyN2I2ODhmMjcwNzU5YzE2MDgyY2Vl MDQzOGEwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAiQW5kcmV3IEouIEhlc2ZvcmQi IDxhamhAc2lkZWJhbmQub3JnPgpEYXRlOiBTdW4sIDI0IFNlcCAyMDIzIDIzOjI4OjQwIC0wNDAw ClN1YmplY3Q6IFtQQVRDSCAwNS80NF0gd3hXaWRnZXRzOiByZW1vdmUgcGFja2FnZQoKLS0tCiBj b21tb24vc2hsaWJzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxOSAtLS0tLQog c3JjcGtncy93eFdpZGdldHMtZGV2ZWwgICAgICAgICAgICAgICAgICAgICAgIHwgIDEgLQogLi4u L3BhdGNoZXMvbm9uZmF0YWwtYWJpLWNoZWNrLnBhdGNoICAgICAgICAgIHwgMTggLS0tLS0KIC4u Li93eFdpZGdldHMvcGF0Y2hlcy93eEdUSy1jb2xsaXNpb24ucGF0Y2ggICB8IDc5IC0tLS0tLS0t LS0tLS0tLS0tLS0KIHNyY3BrZ3Mvd3hXaWRnZXRzL3RlbXBsYXRlICAgICAgICAgICAgICAgICAg ICB8IDY2IC0tLS0tLS0tLS0tLS0tLS0KIHNyY3BrZ3Mvd3hXaWRnZXRzL3VwZGF0ZSAgICAgICAg ICAgICAgICAgICAgICB8ICAyIC0KIDYgZmlsZXMgY2hhbmdlZCwgMTg1IGRlbGV0aW9ucygtKQog ZGVsZXRlIG1vZGUgMTIwMDAwIHNyY3BrZ3Mvd3hXaWRnZXRzLWRldmVsCiBkZWxldGUgbW9kZSAx MDA2NDQgc3JjcGtncy93eFdpZGdldHMvcGF0Y2hlcy9ub25mYXRhbC1hYmktY2hlY2sucGF0Y2gK IGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3d4V2lkZ2V0cy9wYXRjaGVzL3d4R1RLLWNvbGxp c2lvbi5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mvd3hXaWRnZXRzL3RlbXBsYXRl CiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy93eFdpZGdldHMvdXBkYXRlCgpkaWZmIC0tZ2l0 IGEvY29tbW9uL3NobGlicyBiL2NvbW1vbi9zaGxpYnMKaW5kZXggMmQ3ZjMyZWVlMzkzYi4uYzQy ODE1MzM4MGUwMyAxMDA2NDQKLS0tIGEvY29tbW9uL3NobGlicworKysgYi9jb21tb24vc2hsaWJz CkBAIC0xNTYxLDI2ICsxNTYxLDcgQEAgbGliZnByaW50LnNvLjAgbGliZnByaW50MC0xLjBfMQog bGliZnByaW50LTIuc28uMiBsaWJmcHJpbnQtMS45MC43XzEKIGxpYnd4X2Jhc2V1X3htbC0zLjAu c28uMCB3eFdpZGdldHMtY29tbW9uLTMuMC40XzEKIGxpYnd4X2Jhc2V1LTMuMC5zby4wIHd4V2lk Z2V0cy1jb21tb24tMy4wLjRfMQotbGlid3hfZ3RrMl9hZHYtMy4wLnNvLjAgd3hXaWRnZXRzLTMu MC4wXzEKLWxpYnd4X2Jhc2VfeG1sLTMuMC5zby4wIHd4V2lkZ2V0cy0zLjAuMF8xCi1saWJ3eF9n dGsyX2h0bWwtMy4wLnNvLjAgd3hXaWRnZXRzLTMuMC4wXzEKLWxpYnd4X2d0azJfYXVpLTMuMC5z by4wIHd4V2lkZ2V0cy0zLjAuMF8xCi1saWJ3eF9ndGsyX2NvcmUtMy4wLnNvLjAgd3hXaWRnZXRz LTMuMC4wXzEKLWxpYnd4X2Jhc2VfbmV0LTMuMC5zby4wIHd4V2lkZ2V0cy0zLjAuMF8xCi1saWJ3 eF9iYXNlLTMuMC5zby4wIHd4V2lkZ2V0cy0zLjAuMF8xCi1saWJ3eF9ndGsydV9nbC0zLjAuc28u MCB3eFdpZGdldHMtMy4wLjBfMQotbGlid3hfZ3RrMnVfc3RjLTMuMC5zby4wIHd4V2lkZ2V0cy0z LjAuMF8xCi1saWJ3eF9ndGsydV9hZHYtMy4wLnNvLjAgd3hXaWRnZXRzLTMuMC4wXzEKLWxpYnd4 X2d0azJ1X3FhLTMuMC5zby4wIHd4V2lkZ2V0cy0zLjAuMF8xCiBsaWJ3eF9iYXNldV9uZXQtMy4w LnNvLjAgd3hXaWRnZXRzLWNvbW1vbi0zLjAuNF8xCi1saWJ3eF9ndGsydV9jb3JlLTMuMC5zby4w IHd4V2lkZ2V0cy0zLjAuMF8xCi1saWJ3eF9ndGsydV9yaWNodGV4dC0zLjAuc28uMCB3eFdpZGdl dHMtMy4wLjBfMQotbGlid3hfZ3RrMnVfcHJvcGdyaWQtMy4wLnNvLjAgd3hXaWRnZXRzLTMuMC4w XzEKLWxpYnd4X2d0azJ1X2h0bWwtMy4wLnNvLjAgd3hXaWRnZXRzLTMuMC4wXzEKLWxpYnd4X2d0 azJ1X3hyYy0zLjAuc28uMCB3eFdpZGdldHMtMy4wLjBfMQotbGlid3hfZ3RrMnVfYXVpLTMuMC5z by4wIHd4V2lkZ2V0cy0zLjAuMF8xCi1saWJ3eF9ndGsydV9yaWJib24tMy4wLnNvLjAgd3hXaWRn ZXRzLTMuMC4wXzEKLWxpYnd4X2d0azJ1X21lZGlhLTMuMC5zby4wIHd4V2lkZ2V0cy0zLjAuMV8x CiBsaWJtc3BhY2suc28uMCBsaWJtc3BhY2stMC40YWxwaGFfMQogbGlic2xpbS5zby4xLjMuNiBz bGltLTEuMy42XzEKIGxpYm1lZGlhYXJ0LTIuMC5zby4wIGxpYm1lZGlhYXJ0LTEuOS4xXzEKZGlm ZiAtLWdpdCBhL3NyY3BrZ3Mvd3hXaWRnZXRzLWRldmVsIGIvc3JjcGtncy93eFdpZGdldHMtZGV2 ZWwKZGVsZXRlZCBmaWxlIG1vZGUgMTIwMDAwCmluZGV4IDBlOTc5YmI3ODlkMTEuLjAwMDAwMDAw MDAwMDAKLS0tIGEvc3JjcGtncy93eFdpZGdldHMtZGV2ZWwKKysrIC9kZXYvbnVsbApAQCAtMSAr MCwwIEBACi13eFdpZGdldHMKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg YS9zcmNwa2dzL3d4V2lkZ2V0cy9wYXRjaGVzL25vbmZhdGFsLWFiaS1jaGVjay5wYXRjaCBiL3Ny Y3BrZ3Mvd3hXaWRnZXRzL3BhdGNoZXMvbm9uZmF0YWwtYWJpLWNoZWNrLnBhdGNoCmRlbGV0ZWQg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiYjkzZjBhMjYxNTZjLi4wMDAwMDAwMDAwMDAwCi0tLSBh L3NyY3BrZ3Mvd3hXaWRnZXRzL3BhdGNoZXMvbm9uZmF0YWwtYWJpLWNoZWNrLnBhdGNoCisrKyAv ZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotVGFrZW4gZnJvbQotaHR0cHM6Ly9naXRodWIuY29t L2FyY2hsaW51eC9zdm50b2dpdC1wYWNrYWdlcy9ibG9iLzcxZWUxN2Q1MjlmOGUwZGM1YzQ0ZDJm ZmZiMGRmYTY5YjcxZGFhMGIvcmVwb3MvZXh0cmEteDg2XzY0L21ha2UtYWJpY2hlY2stbm9uLWZh dGFsLnBhdGNoCi0KLWRpZmYgLXVwIHd4R1RLLTIuOC4xMi9zcmMvY29tbW9uL2FwcGJhc2UuY3Bw LmFiaWNoZWNrIHd4R1RLLTIuOC4xMi9zcmMvY29tbW9uL2FwcGJhc2UuY3BwCi0tLS0gYS9zcmMv Y29tbW9uL2FwcGJhc2UuY3BwLmFiaWNoZWNrCTIwMTUtMDMtMTIgMTc6MTU6MTguMDAwMDAwMDAw ICswMTAwCi0rKysgYi9zcmMvY29tbW9uL2FwcGJhc2UuY3BwCTIwMTUtMDMtMTIgMTc6MTU6NTcu MDAwMDAwMDAwICswMTAwCi1AQCAtNDI0LDEwICs0MjQsNyBAQCBib29sIHd4QXBwQ29uc29sZTo6 Q2hlY2tCdWlsZE9wdGlvbnMoY29uCi0gICAgICAgICBtc2cuUHJpbnRmKF9UKCJNaXNtYXRjaCBi ZXR3ZWVuIHRoZSBwcm9ncmFtIGFuZCBsaWJyYXJ5IGJ1aWxkIHZlcnNpb25zIGRldGVjdGVkLlxu VGhlIGxpYnJhcnkgdXNlZCAlcyxcbmFuZCAlcyB1c2VkICVzLiIpLAotICAgICAgICAgICAgICAg ICAgICBsaWIuY19zdHIoKSwgcHJvZ05hbWUuY19zdHIoKSwgcHJvZy5jX3N0cigpKTsKLSAKLS0g ICAgICAgIHd4TG9nRmF0YWxFcnJvcihtc2cuY19zdHIoKSk7Ci0tCi0tICAgICAgICAvLyBub3Jt YWxseSB3eExvZ0ZhdGFsRXJyb3IgZG9lc24ndCByZXR1cm4KLS0gICAgICAgIHJldHVybiBmYWxz ZTsKLSsgICAgICAgIHd4TG9nV2FybmluZyhtc2cuY19zdHIoKSk7Ci0gICAgIH0KLSAjdW5kZWYg d3hDTVAKLSAKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvd3hXaWRnZXRzL3BhdGNoZXMvd3hHVEstY29s bGlzaW9uLnBhdGNoIGIvc3JjcGtncy93eFdpZGdldHMvcGF0Y2hlcy93eEdUSy1jb2xsaXNpb24u cGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVlYzMxZWJhY2ViMWQuLjAwMDAw MDAwMDAwMDAKLS0tIGEvc3JjcGtncy93eFdpZGdldHMvcGF0Y2hlcy93eEdUSy1jb2xsaXNpb24u cGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw3OSArMCwwIEBACi1kaWZmIC1OYXVyIE1ha2VmaWxl LmluIE1ha2VmaWxlLmluCi0tLS0gYS9NYWtlZmlsZS5pbgkyMDE0LTEwLTA2IDIzOjMzOjQ0LjAw MDAwMDAwMCArMDIwMAotKysrIGIvTWFrZWZpbGUuaW4JMjAxNC0xMS0xOSAxMDo0ODoxOC43NTIz MTkwNTggKzAxMDAKLUBAIC0xNTI3OSw5ICsxNTI3OSwxMSBAQAotIAotIGluc3RhbGw6ICQoX19p bnN0YWxsX3d4cmVnZXhfX19kZXBuYW1lKSAkKF9faW5zdGFsbF93eHpsaWJfX19kZXBuYW1lKSAk KF9faW5zdGFsbF93eHBuZ19fX2RlcG5hbWUpICQoX19pbnN0YWxsX3d4anBlZ19fX2RlcG5hbWUp ICQoX19pbnN0YWxsX3d4dGlmZl9fX2RlcG5hbWUpICQoX19pbnN0YWxsX3d4ZXhwYXRfX19kZXBu YW1lKSAkKF9faW5zdGFsbF93eHNjaW50aWxsYV9fX2RlcG5hbWUpICQoX19pbnN0YWxsX21vbm9k bGxfX19kZXBuYW1lKSAkKF9faW5zdGFsbF9tb25vbGliX19fZGVwbmFtZSkgJChfX2luc3RhbGxf YmFzZWRsbF9fX2RlcG5hbWUpICQoX19pbnN0YWxsX2Jhc2VsaWJfX19kZXBuYW1lKSAkKF9faW5z dGFsbF9uZXRkbGxfX19kZXBuYW1lKSAkKF9faW5zdGFsbF9uZXRsaWJfX19kZXBuYW1lKSAkKF9f aW5zdGFsbF9jb3JlZGxsX19fZGVwbmFtZSkgJChfX2luc3RhbGxfY29yZWxpYl9fX2RlcG5hbWUp ICQoX19pbnN0YWxsX2FkdmRsbF9fX2RlcG5hbWUpICQoX19pbnN0YWxsX2FkdmxpYl9fX2RlcG5h bWUpICQoX19pbnN0YWxsX21lZGlhZGxsX19fZGVwbmFtZSkgJChfX2luc3RhbGxfbWVkaWFsaWJf X19kZXBuYW1lKSAkKF9faW5zdGFsbF9odG1sZGxsX19fZGVwbmFtZSkgJChfX2luc3RhbGxfaHRt bGxpYl9fX2RlcG5hbWUpICQoX19pbnN0YWxsX3dlYnZpZXdkbGxfX19kZXBuYW1lKSAkKF9faW5z dGFsbF93ZWJ2aWV3bGliX19fZGVwbmFtZSkgJChfX2luc3RhbGxfcWFkbGxfX19kZXBuYW1lKSAk KF9faW5zdGFsbF9xYWxpYl9fX2RlcG5hbWUpICQoX19pbnN0YWxsX3htbGRsbF9fX2RlcG5hbWUp ICQoX19pbnN0YWxsX3htbGxpYl9fX2RlcG5hbWUpICQoX19pbnN0YWxsX3hyY2RsbF9fX2RlcG5h bWUpICQoX19pbnN0YWxsX3hyY2xpYl9fX2RlcG5hbWUpICQoX19pbnN0YWxsX2F1aWRsbF9fX2Rl cG5hbWUpICQoX19pbnN0YWxsX2F1aWxpYl9fX2RlcG5hbWUpICQoX19pbnN0YWxsX3JpYmJvbmRs bF9fX2RlcG5hbWUpICQoX19pbnN0YWxsX3JpYmJvbmxpYl9fX2RlcG5hbWUpICQoX19pbnN0YWxs X3Byb3BncmlkZGxsX19fZGVwbmFtZSkgJChfX2luc3RhbGxfcHJvcGdyaWRsaWJfX19kZXBuYW1l KSAkKF9faW5zdGFsbF9yaWNodGV4dGRsbF9fX2RlcG5hbWUpICQoX19pbnN0YWxsX3JpY2h0ZXh0 bGliX19fZGVwbmFtZSkgJChfX2luc3RhbGxfc3RjZGxsX19fZGVwbmFtZSkgJChfX2luc3RhbGxf c3RjbGliX19fZGVwbmFtZSkgJChfX2luc3RhbGxfZ2xkbGxfX19kZXBuYW1lKSAkKF9faW5zdGFs bF9nbGxpYl9fX2RlcG5hbWUpICQoX19pbnN0YWxsX3NvdW5kX3NkbF9fX2RlcG5hbWUpICQoX19p bnN0YWxsX3dlYmtpdDJfZXh0X19fZGVwbmFtZSkgJChfX2luc3RhbGxfd3hyY19fX2RlcG5hbWUp IGluc3RhbGwtd3hjb25maWcgbG9jYWxlX2luc3RhbGwgbG9jYWxlX21zd19pbnN0YWxsCi0gCSQo SU5TVEFMTF9ESVIpICQoREVTVERJUikkKGRhdGFkaXIpL2FjbG9jYWwKLS0JKGNkICQoc3JjZGly KSA7ICQoSU5TVEFMTF9EQVRBKSAgd3h3aW4ubTQgJChERVNURElSKSQoZGF0YWRpcikvYWNsb2Nh bCkKLSsJKGNkICQoc3JjZGlyKSA7ICQoSU5TVEFMTF9EQVRBKSAgd3h3aW4ubTQgJChERVNURElS KSQoZGF0YWRpcikvYWNsb2NhbC93eHdpbjMubTQpCi0gCSQoSU5TVEFMTF9ESVIpICQoREVTVERJ UikkKGRhdGFkaXIpL2Jha2VmaWxlL3ByZXNldHMKLS0JKGNkICQoc3JjZGlyKS9idWlsZC9iYWtl ZmlsZXMvd3hwcmVzZXRzL3ByZXNldHMgOyAkKElOU1RBTExfREFUQSkgIHd4LmJrbCB3eF91bml4 LmJrbCB3eF93aW4zMi5ia2wgd3hfeHJjLmJrbCB3eF9wcmVzZXRzLnB5ICQoREVTVERJUikkKGRh dGFkaXIpL2Jha2VmaWxlL3ByZXNldHMpCi0rCShjZCAkKHNyY2RpcikvYnVpbGQvYmFrZWZpbGVz L3d4cHJlc2V0cy9wcmVzZXRzIDsgXAotKwlmb3IgaSBpbiB3eC5ia2wgd3hfdW5peC5ia2wgd3hf d2luMzIuYmtsIHd4X3hyYy5ia2wgd3hfcHJlc2V0cy5weSA7IGRvIFwKLSsJJChJTlNUQUxMX0RB VEEpICQkaSAkKERFU1RESVIpJChkYXRhZGlyKS9iYWtlZmlsZS9wcmVzZXRzL3d4JChXWF9SRUxF QVNFX05PRE9UKSQke2kjI3d4fSA7IGRvbmUpCi0gCSQoRFlMSUJfUlBBVEhfSU5TVEFMTCkKLSAJ JChJTlNUQUxMX0RJUikgJChERVNURElSKSQobGliZGlyKS93eC9pbmNsdWRlLyQoVE9PTENIQUlO X0ZVTExOQU1FKS93eAotIAlmb3IgZiBpbiBzZXR1cC5oICQoUkNERUZTX0gpOyBkbyBcCi1AQCAt MTYxNzcsNyArMTYxNzksNyBAQAotIAkkKElOU1RBTExfRElSKSAkKERFU1RESVIpJChiaW5kaXIp Ci0gCSQoSU5TVEFMTF9ESVIpICQoREVTVERJUikkKGxpYmRpcikvd3gvY29uZmlnCi0gCSQoSU5T VEFMTF9TQ1JJUFQpIGxpYi93eC9jb25maWcvJChUT09MQ0hBSU5fRlVMTE5BTUUpICQoREVTVERJ UikkKGxpYmRpcikvd3gvY29uZmlnCi0tCShjZCAkKERFU1RESVIpJChiaW5kaXIpICYmIHJtIC1m IHd4LWNvbmZpZyAmJiAkKExOX1MpICQobGliZGlyKS93eC9jb25maWcvJChUT09MQ0hBSU5fRlVM TE5BTUUpIHd4LWNvbmZpZyB8fCBjcCAtcCAkKERFU1RESVIpJChsaWJkaXIpL3d4L2NvbmZpZy8k KFRPT0xDSEFJTl9GVUxMTkFNRSkgd3gtY29uZmlnKQotKwkoY2QgJChERVNURElSKSQoYmluZGly KSAmJiBybSAtZiB3eC1jb25maWctJChXWF9SRUxFQVNFKSAmJiAkKExOX1MpICQobGliZGlyKS93 eC9jb25maWcvJChUT09MQ0hBSU5fRlVMTE5BTUUpIHd4LWNvbmZpZy0kKFdYX1JFTEVBU0UpIHx8 IGNwIC1wICQoREVTVERJUikkKGxpYmRpcikvd3gvY29uZmlnLyQoVE9PTENIQUlOX0ZVTExOQU1F KSB3eC1jb25maWctJChXWF9SRUxFQVNFKSkKLSAKLSBsb2NhbGVfaW5zdGFsbDogCi0gCSQoSU5T VEFMTF9ESVIpICQoREVTVERJUikkKGRhdGFkaXIpL2xvY2FsZQotQEAgLTE2MTg1LDcgKzE2MTg3 LDcgQEAKLSAJJChJTlNUQUxMX0RJUikgJChERVNURElSKSQoZGF0YWRpcikvbG9jYWxlLyQkbCA7 IFwKLSAJJChJTlNUQUxMX0RJUikgJChERVNURElSKSQoZGF0YWRpcikvbG9jYWxlLyQkbC9MQ19N RVNTQUdFUyA7IFwKLSAJaWYgdGVzdCAtZiAkKHNyY2RpcikvbG9jYWxlLyQkbC5tbyA7IHRoZW4g XAotLQkkKElOU1RBTExfREFUQSkgJChzcmNkaXIpL2xvY2FsZS8kJGwubW8gJChERVNURElSKSQo ZGF0YWRpcikvbG9jYWxlLyQkbC9MQ19NRVNTQUdFUy93eHN0ZC5tbyA7IFwKLSsJJChJTlNUQUxM X0RBVEEpICQoc3JjZGlyKS9sb2NhbGUvJCRsLm1vICQoREVTVERJUikkKGRhdGFkaXIpL2xvY2Fs ZS8kJGwvTENfTUVTU0FHRVMvd3hzdGQkKFdYX1JFTEVBU0VfTk9ET1QpLm1vIDsgXAotIAlmaSA7 IFwKLSAJZG9uZQotIAotQEAgLTE2MjAyLDcgKzE2MjA0LDcgQEAKLSAJJChJTlNUQUxMX0RJUikg JChERVNURElSKSQoZGF0YWRpcikvbG9jYWxlLyQkbCA7IFwKLSAJJChJTlNUQUxMX0RJUikgJChE RVNURElSKSQoZGF0YWRpcikvbG9jYWxlLyQkbC9MQ19NRVNTQUdFUyA7IFwKLSAJaWYgdGVzdCAt ZiAkKHNyY2RpcikvbG9jYWxlL21zdy8kJGwubW8gOyB0aGVuIFwKLS0JJChJTlNUQUxMX0RBVEEp ICQoc3JjZGlyKS9sb2NhbGUvbXN3LyQkbC5tbyAkKERFU1RESVIpJChkYXRhZGlyKS9sb2NhbGUv JCRsL0xDX01FU1NBR0VTL3d4bXN3Lm1vIDsgXAotKwkkKElOU1RBTExfREFUQSkgJChzcmNkaXIp L2xvY2FsZS9tc3cvJCRsLm1vICQoREVTVERJUikkKGRhdGFkaXIpL2xvY2FsZS8kJGwvTENfTUVT U0FHRVMvd3htc3ckKFdYX1JFTEVBU0VfTk9ET1QpLm1vIDsgXAotIAlmaSA7IFwKLSAJZG9uZQot IAotZGlmZiAtTmF1ciBidWlsZC9iYWtlZmlsZXMvd3guYmtsIGJ1aWxkL2Jha2VmaWxlcy93eC5i a2wKLS0tLSBhL2J1aWxkL2Jha2VmaWxlcy93eC5ia2wJMjAxNC0xMC0wNiAyMzozMzo0NC4wMDAw MDAwMDAgKzAyMDAKLSsrKyBiL2J1aWxkL2Jha2VmaWxlcy93eC5ia2wJMjAxNC0xMS0xOSAxMDoz MjoyMS42OTIyODM5NTUgKzAxMDAKLUBAIC0xMzcsNyArMTM3LDcgQEAKLSAgICAgICAgIDx1c2lu ZyBtb2R1bGU9ImdldHRleHQiLz4KLSAgICAgICAgIDxnZXR0ZXh0LWNhdGFsb2dzIGlkPSJsb2Nh bGUiPgotICAgICAgICAgICAgIDxzcmNkaXI+JChTUkNESVIpL2xvY2FsZTwvc3JjZGlyPgotLSAg ICAgICAgICAgIDxjYXRhbG9nLW5hbWU+d3hzdGQ8L2NhdGFsb2ctbmFtZT4KLSsgICAgICAgICAg ICA8Y2F0YWxvZy1uYW1lPnd4c3RkJChXWF9SRUxFQVNFX05PRE9UKTwvY2F0YWxvZy1uYW1lPgot ICAgICAgICAgICAgIDxsaW5ndWFzPgotICAgICAgICAgICAgICAgICBjYSBjcyBkYSBkZSBlbCBl cyBmaSBmciBodSBpZCBpdCBqYSBubCBwbCBydSBzbCBzdiB0ciB1awotICAgICAgICAgICAgICAg ICB6aCB6aF9DTiB6aF9UVwotZGlmZiAtTmF1ciBzcmMvY29tbW9uL3RyYW5zbGF0aW9uLmNwcCBz cmMvY29tbW9uL3RyYW5zbGF0aW9uLmNwcAotLS0tIGEvc3JjL2NvbW1vbi90cmFuc2xhdGlvbi5j cHAJMjAxNC0xMC0wNiAyMzozMzo0NC4wMDAwMDAwMDAgKzAyMDAKLSsrKyBiL3NyYy9jb21tb24v dHJhbnNsYXRpb24uY3BwCTIwMTQtMTEtMTkgMTE6MDI6MjEuMDY3Nzg4NjY1ICswMTAwCi1AQCAt MTQ3MSw3ICsxNDcxLDcgQEAKLSAKLSBib29sIHd4VHJhbnNsYXRpb25zOjpBZGRTdGRDYXRhbG9n KCkKLSB7Ci0tICAgIGlmICggIUFkZENhdGFsb2cod3hTKCJ3eHN0ZCIpKSApCi0rICAgIGlmICgg IUFkZENhdGFsb2cod3hTKCJ3eHN0ZCIgd3hTVFJJTkdJWkUod3hNQUpPUl9WRVJTSU9OKSB3eFNU UklOR0laRSh3eE1JTk9SX1ZFUlNJT04pKSkgKQotICAgICAgICAgcmV0dXJuIGZhbHNlOwotIAot ICAgICAvLyB0aGVyZSBtYXkgYmUgYSBjYXRhbG9nIHdpdGggdG9vbGtpdCBzcGVjaWZpYyBvdmVy cmlkZXMsIGl0IGlzIG5vdAotZGlmZiAtTmF1ciB1dGlscy93eHJjL01ha2VmaWxlLmluIHV0aWxz L3d4cmMvTWFrZWZpbGUuaW4KLS0tLSBhL3V0aWxzL3d4cmMvTWFrZWZpbGUuaW4JMjAxNC0xMC0w NiAyMzozMzo0NC4wMDAwMDAwMDAgKzAyMDAKLSsrKyBiL3V0aWxzL3d4cmMvTWFrZWZpbGUuaW4J MjAxNC0xMS0xOSAxMDo0OTo1NS40MTAxMTA2NjkgKzAxMDAKLUBAIC0xMjUsNyArMTI1LDYgQEAK LSBAQ09ORF9VU0VfWFJDXzFACXJtIC1mICQoREVTVERJUikkKGJpbmRpcikvd3hyYyQoRVhFRVhU KSAkKERFU1RESVIpJChiaW5kaXIpL3d4cmMtJChXWF9SRUxFQVNFKQotIEBDT05EX1VTRV9YUkNf MUAJJChJTlNUQUxMX1BST0dSQU0pIHd4cmMkKEVYRUVYVCkgJChERVNURElSKSQoYmluZGlyKQot IEBDT05EX1VTRV9YUkNfMUAJbXYgLWYgJChERVNURElSKSQoYmluZGlyKS93eHJjJChFWEVFWFQp ICQoREVTVERJUikkKGJpbmRpcikvd3hyYy0kKFdYX1JFTEVBU0UpCi0tQENPTkRfVVNFX1hSQ18x QAkoY2QgJChERVNURElSKSQoYmluZGlyKSAmJiAkKExOX1MpIHd4cmMtJChXWF9SRUxFQVNFKSB3 eHJjJChFWEVFWFQpKQotIAotIEBDT05EX1VTRV9YUkNfMUB1bmluc3RhbGxfd3hyYzogCi0gQENP TkRfVVNFX1hSQ18xQAlybSAtZiAkKERFU1RESVIpJChiaW5kaXIpL3d4cmMkKEVYRUVYVCkKZGlm ZiAtLWdpdCBhL3NyY3BrZ3Mvd3hXaWRnZXRzL3RlbXBsYXRlIGIvc3JjcGtncy93eFdpZGdldHMv dGVtcGxhdGUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ4MGMzZTE1ZTM1MjQuLjAw MDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy93eFdpZGdldHMvdGVtcGxhdGUKKysrIC9kZXYvbnVs bApAQCAtMSw2NiArMCwwIEBACi0jIFRlbXBsYXRlIGZpbGUgZm9yICd3eFdpZGdldHMnCi1wa2du YW1lPXd4V2lkZ2V0cwotdmVyc2lvbj0zLjAuNS4xCi1yZXZpc2lvbj02Ci1idWlsZF9zdHlsZT1n bnUtY29uZmlndXJlCi1jb25maWd1cmVfYXJncz0iLS1lbmFibGUtdW5pY29kZSAtLXdpdGgtb3Bl bmdsIC0td2l0aC1zZGwgLS13aXRoLWxpYm1zcGFjawotIC0td2l0aC1saWJub3RpZnkgLS1lbmFi bGUtbWVkaWFjdHJsIC0td2l0aC1ndGs9MiAtLWRpc2FibGUtd2VidmlldyIKLWhvc3RtYWtlZGVw ZW5kcz0icGtnLWNvbmZpZyIKLW1ha2VkZXBlbmRzPSJndGsrLWRldmVsIGxpYmpwZWctdHVyYm8t ZGV2ZWwgdGlmZi1kZXZlbCBsaWJTTS1kZXZlbCBsaWJub3RpZnktZGV2ZWwKLSBsaWJYaW5lcmFt YS1kZXZlbCBsaWJtc3BhY2stZGV2ZWwgU0RMMi1kZXZlbCBnbHUtZGV2ZWwKLSBnc3RyZWFtZXIx LWRldmVsIGdzdC1wbHVnaW5zLWJhc2UxLWRldmVsIgotZGVwZW5kcz0id3hXaWRnZXRzLWNvbW1v bj49JHt2ZXJzaW9ufSIKLXNob3J0X2Rlc2M9Ild4V2lkZ2V0cyBHVUkgdG9vbGtpdCBsaWJyYXJ5 ICh2ZXJzaW9uIDMpIgotbWFpbnRhaW5lcj0iTWFydGluIFJpZXNlIDxncmF1ZWhhYXJlQGdteC5k ZT4iCi1saWNlbnNlPSJXeFdpbmRvd3MtZXhjZXB0aW9uLTMuMSIKLWhvbWVwYWdlPSJodHRwczov L3d3dy53eHdpZGdldHMub3JnLyIKLWRpc3RmaWxlcz0iaHR0cHM6Ly9naXRodWIuY29tL3d4V2lk Z2V0cy93eFdpZGdldHMvcmVsZWFzZXMvZG93bmxvYWQvdiR7dmVyc2lvbn0vd3hXaWRnZXRzLSR7 dmVyc2lvbn0udGFyLmJ6MiIKLWNoZWNrc3VtPTQ0MGY2ZTczY2Y1YWZiMmNiZjlhZjEwY2VjOGRh NmNkZDNkMzk5OGQ1Mjc1OThhNTNkYjg3MDk5NTI0YWM4MDcKLQotcG9zdF9pbnN0YWxsKCkgewot CWxvY2FsIF9jb25maWc9Imd0azItdW5pY29kZS0zLjAiCi0JIyByZW1vdmUgZmlsZXMgdGhhdCBh cmUgYWxyZWFkeSBpbiB3eFdpZGdldHMtY29tbW9uCi0Jcm0gLWYgJHtERVNURElSfS91c3IvbGli L2xpYnd4X2Jhc2V1KgotCXJtIC1yZiAke0RFU1RESVJ9L3Vzci9iaW4vd3hyYyoKLQlybSAtcmYg JHtERVNURElSfS91c3Ivc2hhcmUKLQlmaW5kICR7REVTVERJUn0vdXNyL2luY2x1ZGUgLXR5cGUg ZiAtbm90IC1uYW1lIHRhYmFydGd0ay5oIFwKLQkJLW5vdCAtbmFtZSBmb250ZGxnZy5oIC1ub3Qg LW5hbWUgbm90aWZtc2cuaCAtZXhlYyBybSAtZiB7fSBcOwotCWZvciBmIGluICIiIGdlbmVyaWMg Z3RrOyBkbwotCQlybSAke0RFU1RESVJ9L3Vzci9pbmNsdWRlL3d4LTMuMC93eC8kZi9ub3RpZm1z Zy5oCi0JZG9uZQotCSMgcmVtb3ZlIGFsbCBvY2N1cnJlbmNlcyBvZiAkWEJQU19DUk9TU19UUklQ TEVUCi0JIyB3eC1jb25maWc6Ci0JIyAgIC0gbWFyayB0aGlzIGJ1aWxkIGFzIG5hdGl2ZSBidWls ZAotCSMgICAtIGlnbm9yZSAtLWhvc3Qgb3B0aW9uOyBicmVha3MgY29uZmlndXJlIHNjcmlwdHMg d2hlbgotCSMgICAgIGNyb3NzIGNvbXBpbGluZyAoaXNu4oCZdCBuZWNlc3NhcnkgaW4gb3VyIGNh c2UgYW55d2F5KQotCWlmIFsgLW4gIiRDUk9TU19CVUlMRCIgXTsgdGhlbgotCQlyZW5hbWUgIiR7 WEJQU19DUk9TU19UUklQTEVUfS0iICIiIFwKLQkJCSR7REVTVERJUn0vdXNyL2xpYi93eC9jb25m aWcvKiBcCi0JCQkke0RFU1RESVJ9L3Vzci9saWIvd3gvaW5jbHVkZS8qCi0JCXJlbmFtZSAtLSAi LSR7WEJQU19DUk9TU19UUklQTEVUfSIgIiIgJHtERVNURElSfS91c3IvbGliLyoKLQotCQlzZWQg LWkgLWUgInMvJHtYQlBTX0NST1NTX1RSSVBMRVR9LS8vZyIgXAotCQkJLWUgInMvLSR7WEJQU19D Uk9TU19UUklQTEVUfS8vZyIgXAotCQkJLWUgInMsJFhCUFNfQ1JPU1NfQkFTRSwsZyIgXAotCQkJ JHtERVNURElSfS91c3IvbGliL3d4L2NvbmZpZy8ke19jb25maWd9Ci0KLQlmaQotCXNlZCAtaSAt ZSAncyxeYmluZGlyPS4qLGJpbmRpcj0ke2V4ZWNfcHJlZml4fS9iaW4sJyBcCi0JCS1lICdzL2lz X2Nyb3NzKCkgIHsgLiogfS9pc19jcm9zcygpIHsgZmFsc2U7IH0vZycgXAotCQktZSAnLy0tXCo9 XCopL2kgLS1ob3N0PVwqKSBjb250aW51ZTs7JyBcCi0JCS1lICJzLC91c3IvbGliLFwke2V4ZWNf cHJlZml4fS9saWIsZyIgXAotCQkke0RFU1RESVJ9L3Vzci9saWIvd3gvY29uZmlnLyR7X2NvbmZp Z30KLQlsbiAtc2YgLi4vbGliL3d4L2NvbmZpZy8ke19jb25maWd9ICR7UEtHREVTVERJUn0vdXNy L2Jpbi93eC1jb25maWctMy4wCi0JbG4gLXNmIHd4LWNvbmZpZy0zLjAgJHtERVNURElSfS91c3Iv YmluL3d4LWNvbmZpZwotfQotCi13eFdpZGdldHMtZGV2ZWxfcGFja2FnZSgpIHsKLQlkZXBlbmRz PSIke3NvdXJjZXBrZ30+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0gJHtzb3VyY2Vwa2d9LWNvbW1v bi1kZXZlbD49JHt2ZXJzaW9ufSIKLQlzaG9ydF9kZXNjKz0iIC0gZGV2ZWxvcG1lbnQgZmlsZXMi Ci0JcGtnX2luc3RhbGwoKSB7Ci0JCXZtb3ZlIHVzci9pbmNsdWRlCi0JCXZtb3ZlIHVzci9iaW4K LQkJdm1vdmUgInVzci9saWIvKi5zbyIKLQkJdm1vdmUgdXNyL2xpYi93eAotCX0KLX0KZGlmZiAt LWdpdCBhL3NyY3BrZ3Mvd3hXaWRnZXRzL3VwZGF0ZSBiL3NyY3BrZ3Mvd3hXaWRnZXRzL3VwZGF0 ZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzdlMjkwZTdlNjQ2ZS4uMDAwMDAwMDAw MDAwMAotLS0gYS9zcmNwa2dzL3d4V2lkZ2V0cy91cGRhdGUKKysrIC9kZXYvbnVsbApAQCAtMSwy ICswLDAgQEAKLSMgZGV2ZWxvcG1lbnQgdmVyc2lvbgotaWdub3JlPSczLjEuKicKCkZyb20gODJl MzI1ZDFkZDMyYWJhZTljNjU5NmJkMWRiZTU3OGY3NDkzOWJhMCBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogIkFuZHJldyBKLiBIZXNmb3JkIiA8YWpoQHNpZGViYW5kLm9yZz4KRGF0ZTog TW9uLCAyNSBTZXAgMjAyMyAwMDowNDozMyAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDYvNDRdIHd4 V2lkZ2V0cy1ndGszOiB1cGRhdGUgdG8gMy4yLjIuMS4KCi0tLQogY29tbW9uL3NobGlicyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMzIgKysrKysrKysrLS0tLS0tLS0tLQogLi4u L3BhdGNoZXMvbm9uZmF0YWwtYWJpLWNoZWNrLnBhdGNoICAgICAgICAgIHwgMjEgKysrKysrLS0t LS0tCiBzcmNwa2dzL3d4V2lkZ2V0cy1ndGszL3RlbXBsYXRlICAgICAgICAgICAgICAgfCAyMiAr KysrKysrKy0tLS0tCiBzcmNwa2dzL3d4V2lkZ2V0cy1ndGszL3VwZGF0ZSAgICAgICAgICAgICAg ICAgfCAgNCArLS0KIDQgZmlsZXMgY2hhbmdlZCwgNDIgaW5zZXJ0aW9ucygrKSwgMzcgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvY29tbW9uL3NobGlicyBiL2NvbW1vbi9zaGxpYnMKaW5kZXgg YzQyODE1MzM4MGUwMy4uYzEwNzExZThiZjgzZiAxMDA2NDQKLS0tIGEvY29tbW9uL3NobGlicwor KysgYi9jb21tb24vc2hsaWJzCkBAIC0xNTU5LDkgKzE1NTksNiBAQCBsaWJvZnguc28uNyBsaWJv ZngtMC4xMC4xXzEKIGxpYnNpZ3NlZ3Yuc28uMiBsaWJzaWdzZWd2LTIuMTBfMgogbGliZnByaW50 LnNvLjAgbGliZnByaW50MC0xLjBfMQogbGliZnByaW50LTIuc28uMiBsaWJmcHJpbnQtMS45MC43 XzEKLWxpYnd4X2Jhc2V1X3htbC0zLjAuc28uMCB3eFdpZGdldHMtY29tbW9uLTMuMC40XzEKLWxp Ynd4X2Jhc2V1LTMuMC5zby4wIHd4V2lkZ2V0cy1jb21tb24tMy4wLjRfMQotbGlid3hfYmFzZXVf bmV0LTMuMC5zby4wIHd4V2lkZ2V0cy1jb21tb24tMy4wLjRfMQogbGlibXNwYWNrLnNvLjAgbGli bXNwYWNrLTAuNGFscGhhXzEKIGxpYnNsaW0uc28uMS4zLjYgc2xpbS0xLjMuNl8xCiBsaWJtZWRp YWFydC0yLjAuc28uMCBsaWJtZWRpYWFydC0xLjkuMV8xCkBAIC0zNDc0LDE5ICszNDcxLDIyIEBA IGxpYm1vempzLTc4LnNvLjAgbW96anM3OC03OC4xLjBfMQogbGliZWJ1cjEyOC5zby4xIGxpYmVi dXIxMjgtMS4yLjRfMQogbGliZ3Rrc291cmNldmlldy00LnNvLjAgZ3Rrc291cmNldmlldzQtNC4w LjJfMQogbGliZ3Rrc291cmNldmlldy01LnNvLjAgZ3Rrc291cmNldmlldzUtNS4yLjBfMQotbGli d3hfZ3RrM3VfcHJvcGdyaWQtMy4wLnNvLjAgd3hXaWRnZXRzLWd0azMtMy4wLjRfMQotbGlid3hf Z3RrM3VfcWEtMy4wLnNvLjAgd3hXaWRnZXRzLWd0azMtMy4wLjRfMQotbGlid3hfZ3RrM3VfY29y ZS0zLjAuc28uMCB3eFdpZGdldHMtZ3RrMy0zLjAuNF8xCi1saWJ3eF9ndGszdV9odG1sLTMuMC5z by4wIHd4V2lkZ2V0cy1ndGszLTMuMC40XzEKLWxpYnd4X2d0azN1X2Fkdi0zLjAuc28uMCB3eFdp ZGdldHMtZ3RrMy0zLjAuNF8xCi1saWJ3eF9ndGszdV9yaWNodGV4dC0zLjAuc28uMCB3eFdpZGdl dHMtZ3RrMy0zLjAuNF8xCi1saWJ3eF9ndGszdV94cmMtMy4wLnNvLjAgd3hXaWRnZXRzLWd0azMt My4wLjRfMQotbGlid3hfZ3RrM3Vfd2Vidmlldy0zLjAuc28uMCB3eFdpZGdldHMtZ3RrMy0zLjAu NF8xCi1saWJ3eF9ndGszdV9hdWktMy4wLnNvLjAgd3hXaWRnZXRzLWd0azMtMy4wLjRfMQotbGli d3hfZ3RrM3VfbWVkaWEtMy4wLnNvLjAgd3hXaWRnZXRzLWd0azMtMy4wLjRfMQotbGlid3hfZ3Rr M3VfcmliYm9uLTMuMC5zby4wIHd4V2lkZ2V0cy1ndGszLTMuMC40XzEKLWxpYnd4X2d0azN1X2ds LTMuMC5zby4wIHd4V2lkZ2V0cy1ndGszLTMuMC40XzEKLWxpYnd4X2d0azN1X3N0Yy0zLjAuc28u MCB3eFdpZGdldHMtZ3RrMy0zLjAuNF8xCitsaWJ3eF9iYXNldV94bWwtMy4yLnNvLjAgd3hXaWRn ZXRzLWNvbW1vbi0zLjIuMi4xXzEKK2xpYnd4X2Jhc2V1LTMuMi5zby4wIHd4V2lkZ2V0cy1jb21t b24tMy4yLjIuMV8xCitsaWJ3eF9iYXNldV9uZXQtMy4yLnNvLjAgd3hXaWRnZXRzLWNvbW1vbi0z LjIuMi4xXzEKK2xpYnd4X2d0azN1X2Fkdi0zLjIuc28uMCB3eFdpZGdldHMtZ3RrMy0zLjIuMi4x XzEKK2xpYnd4X2d0azN1X2F1aS0zLjIuc28uMCB3eFdpZGdldHMtZ3RrMy0zLjIuMi4xXzEKK2xp Ynd4X2d0azN1X2NvcmUtMy4yLnNvLjAgd3hXaWRnZXRzLWd0azMtMy4yLjIuMV8xCitsaWJ3eF9n dGszdV9nbC0zLjIuc28uMCB3eFdpZGdldHMtZ3RrMy0zLjIuMi4xXzEKK2xpYnd4X2d0azN1X2h0 bWwtMy4yLnNvLjAgd3hXaWRnZXRzLWd0azMtMy4yLjIuMV8xCitsaWJ3eF9ndGszdV9tZWRpYS0z LjIuc28uMCB3eFdpZGdldHMtZ3RrMy0zLjIuMi4xXzEKK2xpYnd4X2d0azN1X3Byb3BncmlkLTMu Mi5zby4wIHd4V2lkZ2V0cy1ndGszLTMuMi4yLjFfMQorbGlid3hfZ3RrM3VfcWEtMy4yLnNvLjAg d3hXaWRnZXRzLWd0azMtMy4yLjIuMV8xCitsaWJ3eF9ndGszdV9yaWJib24tMy4yLnNvLjAgd3hX aWRnZXRzLWd0azMtMy4yLjIuMV8xCitsaWJ3eF9ndGszdV9yaWNodGV4dC0zLjIuc28uMCB3eFdp ZGdldHMtZ3RrMy0zLjIuMi4xXzEKK2xpYnd4X2d0azN1X3N0Yy0zLjIuc28uMCB3eFdpZGdldHMt Z3RrMy0zLjIuMi4xXzEKK2xpYnd4X2d0azN1X3dlYnZpZXctMy4yLnNvLjAgd3hXaWRnZXRzLWd0 azMtMy4yLjIuMV8xCitsaWJ3eF9ndGszdV94cmMtMy4yLnNvLjAgd3hXaWRnZXRzLWd0azMtMy4y LjIuMV8xCiBsaWJ0ZXBsLTYuc28uMiB0ZXBsLTYuNC4wXzEKIGxpYm5vbWFjc0NvcmUuc28uMyBu b21hY3MtMy4xMC4yXzQKIGxpYmF1ZGl0LnNvLjEgbGliYXVkaXQtMi44LjRfMQpkaWZmIC0tZ2l0 IGEvc3JjcGtncy93eFdpZGdldHMtZ3RrMy9wYXRjaGVzL25vbmZhdGFsLWFiaS1jaGVjay5wYXRj aCBiL3NyY3BrZ3Mvd3hXaWRnZXRzLWd0azMvcGF0Y2hlcy9ub25mYXRhbC1hYmktY2hlY2sucGF0 Y2gKaW5kZXggYmI5M2YwYTI2MTU2Yy4uOWNhMjQxYmE4YjFmZiAxMDA2NDQKLS0tIGEvc3JjcGtn cy93eFdpZGdldHMtZ3RrMy9wYXRjaGVzL25vbmZhdGFsLWFiaS1jaGVjay5wYXRjaAorKysgYi9z cmNwa2dzL3d4V2lkZ2V0cy1ndGszL3BhdGNoZXMvbm9uZmF0YWwtYWJpLWNoZWNrLnBhdGNoCkBA IC0xLDE4ICsxLDE5IEBACi1UYWtlbiBmcm9tCitBZGFwdGVkIGZyb20gYSBwcmlvciBwYXRjaCB3 aGljaCB3YXMgdGFrZW4gZnJvbQogaHR0cHM6Ly9naXRodWIuY29tL2FyY2hsaW51eC9zdm50b2dp dC1wYWNrYWdlcy9ibG9iLzcxZWUxN2Q1MjlmOGUwZGM1YzQ0ZDJmZmZiMGRmYTY5YjcxZGFhMGIv cmVwb3MvZXh0cmEteDg2XzY0L21ha2UtYWJpY2hlY2stbm9uLWZhdGFsLnBhdGNoCiAKLWRpZmYg LXVwIHd4R1RLLTIuOC4xMi9zcmMvY29tbW9uL2FwcGJhc2UuY3BwLmFiaWNoZWNrIHd4R1RLLTIu OC4xMi9zcmMvY29tbW9uL2FwcGJhc2UuY3BwCi0tLS0gYS9zcmMvY29tbW9uL2FwcGJhc2UuY3Bw LmFiaWNoZWNrCTIwMTUtMDMtMTIgMTc6MTU6MTguMDAwMDAwMDAwICswMTAwCi0rKysgYi9zcmMv Y29tbW9uL2FwcGJhc2UuY3BwCTIwMTUtMDMtMTIgMTc6MTU6NTcuMDAwMDAwMDAwICswMTAwCi1A QCAtNDI0LDEwICs0MjQsNyBAQCBib29sIHd4QXBwQ29uc29sZTo6Q2hlY2tCdWlsZE9wdGlvbnMo Y29uCi0gICAgICAgICBtc2cuUHJpbnRmKF9UKCJNaXNtYXRjaCBiZXR3ZWVuIHRoZSBwcm9ncmFt IGFuZCBsaWJyYXJ5IGJ1aWxkIHZlcnNpb25zIGRldGVjdGVkLlxuVGhlIGxpYnJhcnkgdXNlZCAl cyxcbmFuZCAlcyB1c2VkICVzLiIpLAotICAgICAgICAgICAgICAgICAgICBsaWIuY19zdHIoKSwg cHJvZ05hbWUuY19zdHIoKSwgcHJvZy5jX3N0cigpKTsKK2RpZmYgLXVwIGEvc3JjL2NvbW1vbi9h cHBiYXNlLmNwcCBiL3NyYy9jb21tb24vYXBwYmFzZS5jcHAKKy0tLSBhL3NyYy9jb21tb24vYXBw YmFzZS5jcHAKKysrKyBiL3NyYy9jb21tb24vYXBwYmFzZS5jcHAKK0BAIC04NTAsMTEgKzg1MCw4 IEBACisgICAgICAgICB3eFN0cmluZyBwcm9nID0gd3hTdHJpbmc6OkZyb21Bc2NpaShvcHRpb25z U2lnbmF0dXJlKTsKKyAgICAgICAgIHd4U3RyaW5nIHByb2dOYW1lID0gd3hTdHJpbmc6OkZyb21B c2NpaShjb21wb25lbnROYW1lKTsKICAKLS0gICAgICAgIHd4TG9nRmF0YWxFcnJvcihtc2cuY19z dHIoKSk7CistICAgICAgICB3eExvZ0ZhdGFsRXJyb3Iod3hUKCJNaXNtYXRjaCBiZXR3ZWVuIHRo ZSBwcm9ncmFtIGFuZCBsaWJyYXJ5IGJ1aWxkIHZlcnNpb25zIGRldGVjdGVkLlxuVGhlIGxpYnJh cnkgdXNlZCAlcyxcbmFuZCAlcyB1c2VkICVzLiIpLAorKyAgICAgICAgd3hMb2dXYXJuaW5nKHd4 VCgiTWlzbWF0Y2ggYmV0d2VlbiB0aGUgcHJvZ3JhbSBhbmQgbGlicmFyeSBidWlsZCB2ZXJzaW9u cyBkZXRlY3RlZC5cblRoZSBsaWJyYXJ5IHVzZWQgJXMsXG5hbmQgJXMgdXNlZCAlcy4iKSwKKyAg ICAgICAgICAgICAgICAgICAgICAgICBsaWIsIHByb2dOYW1lLCBwcm9nKTsKIC0KIC0gICAgICAg IC8vIG5vcm1hbGx5IHd4TG9nRmF0YWxFcnJvciBkb2Vzbid0IHJldHVybgogLSAgICAgICAgcmV0 dXJuIGZhbHNlOwotKyAgICAgICAgd3hMb2dXYXJuaW5nKG1zZy5jX3N0cigpKTsKICAgICAgfQot ICN1bmRlZiB3eENNUAogIAorICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv d3hXaWRnZXRzLWd0azMvdGVtcGxhdGUgYi9zcmNwa2dzL3d4V2lkZ2V0cy1ndGszL3RlbXBsYXRl CmluZGV4IGFlNTEwNWE4OWMxNDUuLmNhYzZkZjQ4ZjkzZmUgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mv d3hXaWRnZXRzLWd0azMvdGVtcGxhdGUKKysrIGIvc3JjcGtncy93eFdpZGdldHMtZ3RrMy90ZW1w bGF0ZQpAQCAtMSwyMiArMSwyOCBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnd3hXaWRnZXRzLWd0 azMnCiBwa2duYW1lPXd4V2lkZ2V0cy1ndGszCi12ZXJzaW9uPTMuMC41LjEKLXJldmlzaW9uPTYK K3ZlcnNpb249My4yLjIuMQorcmV2aXNpb249MQogYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQot Y29uZmlndXJlX2FyZ3M9Ii0td2l0aC1ndGs9MyAtLWVuYWJsZS11bmljb2RlIC0td2l0aC1vcGVu Z2wgLS13aXRoLXNkbAotIC0td2l0aC1saWJtc3BhY2sgLS13aXRoLWxpYm5vdGlmeSAtLWVuYWJs ZS1tZWRpYWN0cmwiCitjb25maWd1cmVfYXJncz0iLS13aXRoLWd0az0zIC0td2l0aC1vcGVuZ2wg LS13aXRoLWxpYm1zcGFjayAtLWVuYWJsZS1tZWRpYWN0cmwKKyAtLWVuYWJsZS11bmljb2RlIC0t d2l0aC1saWJub3RpZnkgLS13aXRoLXJlZ2V4IC0td2l0aC16bGliIC0td2l0aC1leHBhdAorIC0t d2l0aC1saWJqcGVnIC0td2l0aC1saWJwbmcgLS13aXRoLWxpYnRpZmYgLS13aXRoLWxpYmx6bWEi CiBob3N0bWFrZWRlcGVuZHM9InBrZy1jb25maWciCiBtYWtlZGVwZW5kcz0iU0RMMi1kZXZlbCBn c3QtcGx1Z2lucy1iYXNlMS1kZXZlbCBnc3RyZWFtZXIxLWRldmVsIGd0ayszLWRldmVsCi0gbGli bXNwYWNrLWRldmVsIGxpYm5vdGlmeS1kZXZlbCB0aWZmLWRldmVsIHdlYmtpdDJndGstZGV2ZWwg Z2x1LWRldmVsIgotc2hvcnRfZGVzYz0iVGhlIHd4V2lkZ2V0cyBHVUkgdG9vbGtpdCBsaWJyYXJ5 IGNvbXBpbGVkIHdpdGggZ3RrMyBzdXBwb3J0IgorIGxpYm1zcGFjay1kZXZlbCBsaWJub3RpZnkt ZGV2ZWwgdGlmZi1kZXZlbCB3ZWJraXQyZ3RrLWRldmVsIGdsdS1kZXZlbAorIGdzdC1wbHVnaW5z LWJhZDEtZGV2ZWwgbGlic2VjcmV0LWRldmVsIHBjcmUyLWRldmVsIGxpYmx6bWEtZGV2ZWwgZ3Nw ZWxsLWRldmVsCisgbGliY3VybC1kZXZlbCB6bGliLWRldmVsIGV4cGF0LWRldmVsIGxpYnBuZy1k ZXZlbCIKK3Nob3J0X2Rlc2M9IkNyb3NzLXBsYXRmb3JtIEdVSSBsaWJyYXJ5IChidWlsdCB3aXRo IEdUSysgMy4wKSIKIG1haW50YWluZXI9IkhlbG11dCBQb3ppbXNraSA8aGVsbXV0QHBvemltc2tp LmV1PiIKIGxpY2Vuc2U9ImN1c3RvbTp3eFdpbmRvd3MiCiBob21lcGFnZT0iaHR0cHM6Ly93d3cu d3h3aWRnZXRzLm9yZyIKIGRpc3RmaWxlcz0iaHR0cHM6Ly9naXRodWIuY29tL3d4V2lkZ2V0cy93 eFdpZGdldHMvcmVsZWFzZXMvZG93bmxvYWQvdiR7dmVyc2lvbn0vd3hXaWRnZXRzLSR7dmVyc2lv bn0udGFyLmJ6MiIKLWNoZWNrc3VtPTQ0MGY2ZTczY2Y1YWZiMmNiZjlhZjEwY2VjOGRhNmNkZDNk Mzk5OGQ1Mjc1OThhNTNkYjg3MDk5NTI0YWM4MDcKK2NoZWNrc3VtPWRmZmNiNmJlNzEyOTZmZmY0 YjdmODg0MGViMWI1MTAxNzhmNTdhYTJlYjIzNmIyMGRhNDExODIwMDkyNDJjMDIKIAogcG9zdF9p bnN0YWxsKCkgewotCWxvY2FsIF9jb25maWc9Imd0azMtdW5pY29kZS0zLjAiCisJbG9jYWwgX3Bh dGNoPSIke3ZlcnNpb24jKi4qLn0iCisJbG9jYWwgX21ham1pbj0iJHt2ZXJzaW9uJS4iJHtfcGF0 Y2h9In0iCisJbG9jYWwgX2NvbmZpZz0iZ3RrMy11bmljb2RlLSR7X21ham1pbn0iCisKIAkjIHJl bW92ZSBhbGwgb2NjdXJyZW5jZXMgb2YgJFhCUFNfQ1JPU1NfVFJJUExFVCBpbiB3eC1jb25maWc6 CiAJIyAgIC0gbWFyayB0aGlzIGJ1aWxkIGFzIG5hdGl2ZSBidWlsZAogCWlmIFsgIiRDUk9TU19C VUlMRCIgXTsgdGhlbgpkaWZmIC0tZ2l0IGEvc3JjcGtncy93eFdpZGdldHMtZ3RrMy91cGRhdGUg Yi9zcmNwa2dzL3d4V2lkZ2V0cy1ndGszL3VwZGF0ZQppbmRleCBhYzRjNWYwNDBlYzQ0Li4wNTFi Njc2OTc1MmM2IDEwMDY0NAotLS0gYS9zcmNwa2dzL3d4V2lkZ2V0cy1ndGszL3VwZGF0ZQorKysg Yi9zcmNwa2dzL3d4V2lkZ2V0cy1ndGszL3VwZGF0ZQpAQCAtMSwzICsxIEBACi1zaXRlPSJodHRw czovL2dpdGh1Yi5jb20vd3hXaWRnZXRzL3d4V2lkZ2V0cy9yZWxlYXNlcy9sYXRlc3QiCi0jIGRl dmVsb3BtZW50IHZlcnNpb24KLWlnbm9yZT0nMy4xLionCitwa2duYW1lPXd4V2lkZ2V0cwoKRnJv bSA5OWVhYWU4OWQyYmQ5N2UzMjcyZTk4YzhhNGIyODA5NGNkMjc4MzUzIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQpGcm9tOiAiQW5kcmV3IEouIEhlc2ZvcmQiIDxhamhAc2lkZWJhbmQub3JnPgpE YXRlOiBNb24sIDI1IFNlcCAyMDIzIDA3OjUzOjE5IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAwNy80 NF0gd3hQeXRob240OiB1cGRhdGUgdG8gNC4yLjEsIHJlbmFtZSB0byB3eFB5dGhvbgoKLS0tCiBz cmNwa2dzL3t3eFB5dGhvbjQgPT4gd3hQeXRob259L3RlbXBsYXRlICAgICAgfCAzMCArKystLS0K IHNyY3BrZ3Mvd3hQeXRob240ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAxICsKIC4u LmZpZy1ndGszLjAtdG8tYXZvaWQtY29uZmxpY3Qtd2l0aC13eC5wYXRjaCB8IDUyIC0tLS0tLS0t LS0tCiBzcmNwa2dzL3d4UHl0aG9uNC9wYXRjaGVzL2Nyb3NzLnBhdGNoICAgICAgICAgfCAxMiAt LS0KIHNyY3BrZ3Mvd3hQeXRob240L3BhdGNoZXMvbnVsbHB0ci1jYXN0LnBhdGNoICB8IDExIC0t LQogc3JjcGtncy93eFB5dGhvbjQvcGF0Y2hlcy9weXRob24tMy4xMS5wYXRjaCAgIHwgOTIgLS0t LS0tLS0tLS0tLS0tLS0tLQogc3JjcGtncy93eFB5dGhvbjQvcGF0Y2hlcy9zeW50YXgucGF0Y2gg ICAgICAgIHwgMzIgLS0tLS0tLQogc3JjcGtncy93eFB5dGhvbjQvdXBkYXRlICAgICAgICAgICAg ICAgICAgICAgIHwgIDEgLQogOCBmaWxlcyBjaGFuZ2VkLCAxNyBpbnNlcnRpb25zKCspLCAyMTQg ZGVsZXRpb25zKC0pCiByZW5hbWUgc3JjcGtncy97d3hQeXRob240ID0+IHd4UHl0aG9ufS90ZW1w bGF0ZSAoNzMlKQogY3JlYXRlIG1vZGUgMTIwMDAwIHNyY3BrZ3Mvd3hQeXRob240CiBkZWxldGUg bW9kZSAxMDA2NDQgc3JjcGtncy93eFB5dGhvbjQvcGF0Y2hlcy8wMDAxLVN3aXRjaC10by13eC1j b25maWctZ3RrMy4wLXRvLWF2b2lkLWNvbmZsaWN0LXdpdGgtd3gucGF0Y2gKIGRlbGV0ZSBtb2Rl IDEwMDY0NCBzcmNwa2dzL3d4UHl0aG9uNC9wYXRjaGVzL2Nyb3NzLnBhdGNoCiBkZWxldGUgbW9k ZSAxMDA2NDQgc3JjcGtncy93eFB5dGhvbjQvcGF0Y2hlcy9udWxscHRyLWNhc3QucGF0Y2gKIGRl bGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3d4UHl0aG9uNC9wYXRjaGVzL3B5dGhvbi0zLjExLnBh dGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy93eFB5dGhvbjQvcGF0Y2hlcy9zeW50YXgu cGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3d4UHl0aG9uNC91cGRhdGUKCmRpZmYg LS1naXQgYS9zcmNwa2dzL3d4UHl0aG9uNC90ZW1wbGF0ZSBiL3NyY3BrZ3Mvd3hQeXRob24vdGVt cGxhdGUKc2ltaWxhcml0eSBpbmRleCA3MyUKcmVuYW1lIGZyb20gc3JjcGtncy93eFB5dGhvbjQv dGVtcGxhdGUKcmVuYW1lIHRvIHNyY3BrZ3Mvd3hQeXRob24vdGVtcGxhdGUKaW5kZXggZTBlZGY2 ZmI5NDUyZi4uYmM0ODczZmI1NDFhYSAxMDA2NDQKLS0tIGEvc3JjcGtncy93eFB5dGhvbjQvdGVt cGxhdGUKKysrIGIvc3JjcGtncy93eFB5dGhvbi90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKLSMg VGVtcGxhdGUgZmlsZSBmb3IgJ3d4UHl0aG9uNCcKLXBrZ25hbWU9d3hQeXRob240Ci12ZXJzaW9u PTQuMC43Ci1yZXZpc2lvbj03CisjIFRlbXBsYXRlIGZpbGUgZm9yICd3eFB5dGhvbicKK3BrZ25h bWU9d3hQeXRob24KK3ZlcnNpb249NC4yLjEKK3JldmlzaW9uPTEKIGJ1aWxkX3N0eWxlPXB5dGhv bjMtbW9kdWxlCiBtYWtlX2J1aWxkX2FyZ3M9Ii0tc2tpcC1idWlsZCIKIG1ha2VfaW5zdGFsbF9h cmdzPSItLXNraXAtYnVpbGQiCkBAIC05LDI1ICs5LDIxIEBAIGhvc3RtYWtlZGVwZW5kcz0icGtn LWNvbmZpZyBweXRob24zLXNldHVwdG9vbHMgcHl0aG9uMy1wYXRobGliMiIKIG1ha2VkZXBlbmRz PSJweXRob24zLWRldmVsIHd4V2lkZ2V0cy1ndGszLWRldmVsIFNETDItZGV2ZWwgd2Via2l0Mmd0 ay1kZXZlbAogIGdzdC1wbHVnaW5zLWJhc2UxLWRldmVsIgogZGVwZW5kcz0icHl0aG9uMyBweXRo b24zLXNpeCBweXRob24zLW51bXB5IHB5dGhvbjMtUGlsbG93Igotc2hvcnRfZGVzYz0iV3hXaWRn ZXRzIEdVSSB0b29sa2l0IGxpYnJhcnkgKFB5dGhvbjMgQmluZGluZ3MpIgorc2hvcnRfZGVzYz0i UHl0aG9uIGJpbmRpbmdzIGZvciB3eFdpZGdldHMiCiBtYWludGFpbmVyPSJPcnBoYW5lZCA8b3Jw aGFuQHZvaWRsaW51eC5vcmc+IgogbGljZW5zZT0iY3VzdG9tOnd4V2luZG93cyIKIGhvbWVwYWdl PSJodHRwOi8vd3d3Lnd4cHl0aG9uLm9yZy8iCiBkaXN0ZmlsZXM9IiR7UFlQSV9TSVRFfS93L3d4 UHl0aG9uL3d4UHl0aG9uLSR7dmVyc2lvbn0udGFyLmd6IgotY2hlY2tzdW09M2JlNjA4YmZkZWRl MzA2MzY3OGNjNzAzNDUzODUwYWIwYTAxOGI4MmJhZmQ1ZWUwNTczMDIyNTBiMThmMDIzMworY2hl Y2tzdW09ZTQ4ZGUyMTFhNjYwNmJmMDcyZWMzZmE3Nzg3NzFkNmI3NDZjMDBiN2Y0Yjk3MGViNTg3 MjhkZGY1NmQxM2Q1YwogCitleHBvcnQgV1hQWVRIT05fUkVMRUFTRT15ZXMKIGlmIFsgIiRDUk9T U19CVUlMRCIgXTsgdGhlbgogCUNGTEFHUz0iLUkke1hCUFNfQ1JPU1NfQkFTRX0vJHtweTNfaW5j fSAtSSR7WEJQU19DUk9TU19CQVNFfS91c3IvaW5jbHVkZSIKKwlleHBvcnQgV1hfQ09ORklHPSIk e1hCUFNfV1JBUFBFUkRJUn0vd3gtY29uZmlnLWd0azMiCitlbHNlCisJZXhwb3J0IFdYX0NPTkZJ Rz13eC1jb25maWctZ3RrMwogZmkKIAotcHJlX3BhdGNoKCkgewotCSMgbmVlZCB0byBwYXRjaCBm b3IgUHl0aG9uIDMuMTEsIGV4dHJhY3QgdGhlbSBub3cuCi0JY2QgYmluCi0Jc2VkICcvX19uYW1l X18uKl9fbWFpbl9fL2kgc3lzLmV4aXQoMCknIHdhZi0qID50bXAtd2FmCi0JcHl0aG9uMyB0bXAt d2FmCi0JbG4gLXMgLndhZjMtKiAud2FmMwotfQotCiBwcmVfYnVpbGQoKSB7CiAJY2htb2QgLVIg Z28rclggJHdya3NyYwogCVBZVEhPTlBBVEg9IiR7UFlUSE9OUEFUSDorJHtQWVRIT05QQVRIfTp9 JHdya3NyYyIKQEAgLTQ4LDMgKzQ0LDkgQEAgcHJlX2J1aWxkKCkgewogcG9zdF9pbnN0YWxsKCkg ewogCXZsaWNlbnNlIExJQ0VOU0UudHh0CiB9CisKK3d4UHl0aG9uNF9wYWNrYWdlKCkgeworCWJ1 aWxkX3N0eWxlPW1ldGEKKwlzaG9ydF9kZXNjKz0iIC0gdHJhbnNpdGlvbmFsIGR1bW15IHBhY2th Z2UiCisJZGVwZW5kcz0iJHtzb3VyY2Vwa2d9Pj0ke3ZlcnNpb259XyR7cmV2aXNpb259IgorfQpk aWZmIC0tZ2l0IGEvc3JjcGtncy93eFB5dGhvbjQgYi9zcmNwa2dzL3d4UHl0aG9uNApuZXcgZmls ZSBtb2RlIDEyMDAwMAppbmRleCAwMDAwMDAwMDAwMDAwLi5lMzk2ZDVhZTM3MGQ2Ci0tLSAvZGV2 L251bGwKKysrIGIvc3JjcGtncy93eFB5dGhvbjQKQEAgLTAsMCArMSBAQAord3hQeXRob24KXCBO byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmNwa2dzL3d4UHl0aG9uNC9w YXRjaGVzLzAwMDEtU3dpdGNoLXRvLXd4LWNvbmZpZy1ndGszLjAtdG8tYXZvaWQtY29uZmxpY3Qt d2l0aC13eC5wYXRjaCBiL3NyY3BrZ3Mvd3hQeXRob240L3BhdGNoZXMvMDAwMS1Td2l0Y2gtdG8t d3gtY29uZmlnLWd0azMuMC10by1hdm9pZC1jb25mbGljdC13aXRoLXd4LnBhdGNoCmRlbGV0ZWQg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MmE2NzhkYTc4NTg5Li4wMDAwMDAwMDAwMDAwCi0tLSBh L3NyY3BrZ3Mvd3hQeXRob240L3BhdGNoZXMvMDAwMS1Td2l0Y2gtdG8td3gtY29uZmlnLWd0azMu MC10by1hdm9pZC1jb25mbGljdC13aXRoLXd4LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTIg KzAsMCBAQAotRnJvbSBjZGRiZTNiM2IyMzdiOGU2M2FiZDg5MjFmZGIyMDMxNGMyMGMyYzA4IE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSmFzcGVyIENoYW4gPGphc3BlcmNoYW41MTVA Z21haWwuY29tPgotRGF0ZTogU2F0LCAyMiBTZXAgMjAxOCAyMDo1OToyOSAtMDcwMAotU3ViamVj dDogW1BBVENIXSBTd2l0Y2ggdG8gd3gtY29uZmlnLWd0azMgdG8gYXZvaWQgY29uZmxpY3Qgd2l0 aAotIHd4V2lkZ2V0cy1ndGsyCi0KLS0tLQotIGJ1aWxkLnB5IHwgMTAgKysrKystLS0tLQotIDEg ZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1n aXQgYnVpbGQucHkgYnVpbGQucHkKLWluZGV4IDNjZDViODI4Li41N2RiZDM4NCAxMDA3NTUKLS0t LSBhL2J1aWxkLnB5Ci0rKysgYi9idWlsZC5weQotQEAgLTQwMCw3ICs0MDAsNyBAQCBkZWYgbWFr ZU9wdGlvblBhcnNlcigpOgotICAgICAgICAgKCJtYWNfYXJjaCIsICAgICAgICgiIiwgICAgIkNv bW1hIHNlcGFyYXRlZCBsaXN0IG9mIGFyY2hpdGVjdHVyZXMgdG8gYnVpbGQgb24gTWFjIikpLAot IAotICAgICAgICAgKCJ1c2Vfc3lzd3giLCAgICAgIChGYWxzZSwgIlRyeSB0byB1c2UgYW4gaW5z dGFsbGVkIHd4IHJhdGhlciB0aGFuIGJ1aWxkaW5nIHRoZSAiCi0tICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAib25lIGluIHRoaXMgc291cmNlIHRyZWUuICBUaGUgd3gtY29uZmln IGluIHtwcmVmaXh9L2JpbiAiCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi b25lIGluIHRoaXMgc291cmNlIHRyZWUuICBUaGUgd3gtY29uZmlnLWd0azMgaW4ge3ByZWZpeH0v YmluICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvciB0aGUgZmlyc3Qg Zm91bmQgb24gdGhlIFBBVEggZGV0ZXJtaW5lcyB3aGljaCB3eCBpcyAiCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAidXNlZC4gIEltcGxpZXMgLS1ub19tYWdpYy4iKSksCi0g ICAgICAgICAoImZvcmNlX2NvbmZpZyIsICAgKEZhbHNlLCAiUnVuIGNvbmZpZ3VyZSB3aGVuIGJ1 aWxkaW5nIGV2ZW4gaWYgdGhlIHNjcmlwdCAiCi1AQCAtMTI3MSw3ICsxMjcxLDcgQEAgZGVmIGNt ZF9idWlsZF93eChvcHRpb25zLCBhcmdzKToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IG9zLnBhdGguam9pbih3eERpcigpLCAnY29uZmlndXJlJyksCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBvcy5wYXRoLmpvaW4od3hEaXIoKSwgJ3NldHVwLmguaW4nKSwKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIG9zLnBhdGguam9pbih3eERpcigpLCAndmVyc2lvbi1zY3Jp cHQuaW4nKSwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9zLnBhdGguam9pbih3eERp cigpLCAnd3gtY29uZmlnLmluJyksCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcy5w YXRoLmpvaW4od3hEaXIoKSwgJ3d4LWNvbmZpZy1ndGszLmluJyksCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBdCi0gICAgICAgICAgICAgZm9yIGRlcCBpbiBkZXBlbmRlbmNpZXM6Ci0g ICAgICAgICAgICAgICAgIGlmIG5ld2VyKGRlcCwgb3MucGF0aC5qb2luKEJVSUxEX0RJUiwgIk1h a2VmaWxlIikpOgotQEAgLTE0MjQsMTMgKzE0MjQsMTMgQEAgZGVmIGNtZF9idWlsZF9weShvcHRp b25zLCBhcmdzKToKLSAgICAgICAgIG9zLmVudmlyb25bJ1dYUFlUSE9OX1JFTEVBU0UnXSA9ICd5 ZXMnCi0gCi0gICAgIGlmIG5vdCBpc1dpbmRvd3M6Ci0tICAgICAgICBXWF9DT05GSUcgPSBwb3Np eGpvaW4oQlVJTERfRElSLCAnd3gtY29uZmlnJykKLSsgICAgICAgIFdYX0NPTkZJRyA9IHBvc2l4 am9pbihCVUlMRF9ESVIsICd3eC1jb25maWctZ3RrMycpCi0gICAgICAgICBpZiBvcHRpb25zLnVz ZV9zeXN3eDoKLS0gICAgICAgICAgICB3eGNmZyA9IHBvc2l4am9pbihvcHRpb25zLnByZWZpeCwg J2JpbicsICd3eC1jb25maWcnKQotKyAgICAgICAgICAgIHd4Y2ZnID0gcG9zaXhqb2luKG9wdGlv bnMucHJlZml4LCAnYmluJywgJ3d4LWNvbmZpZy1ndGszJykKLSAgICAgICAgICAgICBpZiBvcHRp b25zLnByZWZpeCBhbmQgb3MucGF0aC5leGlzdHMod3hjZmcpOgotICAgICAgICAgICAgICAgICBX WF9DT05GSUcgPSB3eGNmZwotICAgICAgICAgICAgIGVsc2U6Ci0tICAgICAgICAgICAgICAgIFdY X0NPTkZJRyA9ICd3eC1jb25maWcnICMgaG9wZSBpdCBpcyBvbiB0aGUgUEFUSAotKyAgICAgICAg ICAgICAgICBXWF9DT05GSUcgPSAnd3gtY29uZmlnLWd0azMnICMgaG9wZSBpdCBpcyBvbiB0aGUg UEFUSAotIAotIAotICAgICB3YWZCdWlsZEJhc2UgPSB3YWZCdWlsZERpciA9IGdldFdhZkJ1aWxk QmFzZSgpCi0tLSAKLTIuMTkuMAotCmRpZmYgLS1naXQgYS9zcmNwa2dzL3d4UHl0aG9uNC9wYXRj aGVzL2Nyb3NzLnBhdGNoIGIvc3JjcGtncy93eFB5dGhvbjQvcGF0Y2hlcy9jcm9zcy5wYXRjaApk ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGYzNDNkZTIwMWNiMC4uMDAwMDAwMDAwMDAw MAotLS0gYS9zcmNwa2dzL3d4UHl0aG9uNC9wYXRjaGVzL2Nyb3NzLnBhdGNoCisrKyAvZGV2L251 bGwKQEAgLTEsMTIgKzAsMCBAQAotSW5kZXg6IHd4UHl0aG9uLTQuMC43L2J1aWxkLnB5Ci09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gd3hQeXRob24tNC4wLjcub3JpZy9idWlsZC5weQotKysrIHd4UHl0aG9uLTQu MC43L2J1aWxkLnB5Ci1AQCAtMTY5LDcgKzE2OSw2IEBAIGRlZiBtYWluKGFyZ3MpOgotICAgICBz ZXRQeXRob25WZXJzaW9uKGFyZ3MpCi0gICAgIHNldERldk1vZGVPcHRpb25zKGFyZ3MpCi0gCi0t ICAgIG9zLmVudmlyb25bJ1BZVEhPTlBBVEgnXSA9IHBob2VuaXhEaXIoKQotICAgICBvcy5lbnZp cm9uWydQWVRIT05VTkJVRkZFUkVEJ10gPSAneWVzJwotICAgICBvcy5lbnZpcm9uWydXWFdJTidd ID0gd3hEaXIoKQotIApkaWZmIC0tZ2l0IGEvc3JjcGtncy93eFB5dGhvbjQvcGF0Y2hlcy9udWxs cHRyLWNhc3QucGF0Y2ggYi9zcmNwa2dzL3d4UHl0aG9uNC9wYXRjaGVzL251bGxwdHItY2FzdC5w YXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDkzNTFjNzE0YjRmYy4uMDAwMDAw MDAwMDAwMAotLS0gYS9zcmNwa2dzL3d4UHl0aG9uNC9wYXRjaGVzL251bGxwdHItY2FzdC5wYXRj aAorKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAKLS0tLSBhL3NpcC9jcHAvc2lwX3Byb3Bn cmlkd3hQR1Byb3BBcmdDbHMuY3BwCi0rKysgYi9zaXAvY3BwL3NpcF9wcm9wZ3JpZHd4UEdQcm9w QXJnQ2xzLmNwcAotQEAgLTMxNyw3ICszMTcsNyBAQCBzdGF0aWMgaW50IGNvbnZlcnRUb193eFBH UHJvcEFyZ0NscyhQeU9iCi0gICAgICAgICAgICAgcmV0dXJuIHNpcEdldFN0YXRlKHNpcFRyYW5z ZmVyT2JqKTsKLSAgICAgICAgIH0KLSAgICAgICAgIGVsc2UgaWYgKHNpcFB5ID09IFB5X05vbmUp IHsKLS0gICAgICAgICAgICAqc2lwQ3BwUHRyID0gbmV3IHd4UEdQcm9wQXJnQ2xzKHJlaW50ZXJw cmV0X2Nhc3Q8IHd4UEdQcm9wZXJ0eSAqID4oTlVMTCkpOwotKyAgICAgICAgICAgICpzaXBDcHBQ dHIgPSBuZXcgd3hQR1Byb3BBcmdDbHMoc3RhdGljX2Nhc3Q8IHd4UEdQcm9wZXJ0eSAqID4oTlVM TCkpOwotICAgICAgICAgICAgIHJldHVybiBzaXBHZXRTdGF0ZShzaXBUcmFuc2Zlck9iaik7Ci0g ICAgICAgICB9Ci0gICAgICAgICBlbHNlIHsKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvd3hQeXRob240 L3BhdGNoZXMvcHl0aG9uLTMuMTEucGF0Y2ggYi9zcmNwa2dzL3d4UHl0aG9uNC9wYXRjaGVzL3B5 dGhvbi0zLjExLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNTQ5NmJkZWNi Y2EwLi4wMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3Mvd3hQeXRob240L3BhdGNoZXMvcHl0aG9u LTMuMTEucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw5MiArMCwwIEBACi1kaWZmIC11ciB3eFB5 dGhvbi00LjAuNy5vcmlnL2Jpbi8ud2FmMy93YWZsaWIvQ29uZmlnU2V0LnB5IHd4UHl0aG9uLTQu MC43L2Jpbi8ud2FmMy93YWZsaWIvQ29uZmlnU2V0LnB5Ci0tLS0gd3hQeXRob24tNC4wLjcub3Jp Zy9iaW4vLndhZjMvd2FmbGliL0NvbmZpZ1NldC5weQotKysrIHd4UHl0aG9uLTQuMC43L2Jpbi8u d2FmMy93YWZsaWIvQ29uZmlnU2V0LnB5Ci1AQCAtMTQ2LDcgKzE0Niw3IEBACi0gCQlVdGlscy53 cml0ZWYoZmlsZW5hbWUsJycuam9pbihidWYpKQotIAlkZWYgbG9hZChzZWxmLGZpbGVuYW1lKToK LSAJCXRibD1zZWxmLnRhYmxlCi0tCQljb2RlPVV0aWxzLnJlYWRmKGZpbGVuYW1lLG09J3JVJykK LSsJCWNvZGU9VXRpbHMucmVhZGYoZmlsZW5hbWUsbT0ncicpCi0gCQlmb3IgbSBpbiByZV9pbXAu ZmluZGl0ZXIoY29kZSk6Ci0gCQkJZz1tLmdyb3VwCi0gCQkJdGJsW2coMildPWV2YWwoZygzKSkK LWRpZmYgLXVyIHd4UHl0aG9uLTQuMC43Lm9yaWcvYmluLy53YWYzL3dhZmxpYi9Db250ZXh0LnB5 IHd4UHl0aG9uLTQuMC43L2Jpbi8ud2FmMy93YWZsaWIvQ29udGV4dC5weQotLS0tIHd4UHl0aG9u LTQuMC43Lm9yaWcvYmluLy53YWYzL3dhZmxpYi9Db250ZXh0LnB5Ci0rKysgd3hQeXRob24tNC4w LjcvYmluLy53YWYzL3dhZmxpYi9Db250ZXh0LnB5Ci1AQCAtMTA2LDcgKzEwNiw3IEBACi0gCQkJ CWNhY2hlW25vZGVdPVRydWUKLSAJCQkJc2VsZi5wcmVfcmVjdXJzZShub2RlKQotIAkJCQl0cnk6 Ci0tCQkJCQlmdW5jdGlvbl9jb2RlPW5vZGUucmVhZCgnclUnLGVuY29kaW5nKQotKwkJCQkJZnVu Y3Rpb25fY29kZT1ub2RlLnJlYWQoJ3InLGVuY29kaW5nKQotIAkJCQkJZXhlYyhjb21waWxlKGZ1 bmN0aW9uX2NvZGUsbm9kZS5hYnNwYXRoKCksJ2V4ZWMnKSxzZWxmLmV4ZWNfZGljdCkKLSAJCQkJ ZmluYWxseToKLSAJCQkJCXNlbGYucG9zdF9yZWN1cnNlKG5vZGUpCi1AQCAtMzQ2LDcgKzM0Niw3 IEBACi0gCQlwYXNzCi0gCW1vZHVsZT1pbXAubmV3X21vZHVsZShXU0NSSVBUX0ZJTEUpCi0gCXRy eToKLS0JCWNvZGU9VXRpbHMucmVhZGYocGF0aCxtPSdyVScsZW5jb2Rpbmc9ZW5jb2RpbmcpCi0r CQljb2RlPVV0aWxzLnJlYWRmKHBhdGgsbT0ncicsZW5jb2Rpbmc9ZW5jb2RpbmcpCi0gCWV4Y2Vw dCBFbnZpcm9ubWVudEVycm9yOgotIAkJcmFpc2UgRXJyb3JzLldhZkVycm9yKCdDb3VsZCBub3Qg cmVhZCB0aGUgZmlsZSAlciclcGF0aCkKLSAJbW9kdWxlX2Rpcj1vcy5wYXRoLmRpcm5hbWUocGF0 aCkKLWRpZmYgLXVyIHd4UHl0aG9uLTQuMC43Lm9yaWcvYmluLy53YWYzL3dhZmxpYi9Ub29scy9w eXRob24ucHkgd3hQeXRob24tNC4wLjcvYmluLy53YWYzL3dhZmxpYi9Ub29scy9weXRob24ucHkK LS0tLSB3eFB5dGhvbi00LjAuNy5vcmlnL2Jpbi8ud2FmMy93YWZsaWIvVG9vbHMvcHl0aG9uLnB5 Ci0rKysgd3hQeXRob24tNC4wLjcvYmluLy53YWYzL3dhZmxpYi9Ub29scy9weXRob24ucHkKLUBA IC0yMDcsNyArMjA3LDcgQEAKLSAJeD0nTUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUJwotIAlpZiBk Y3RbeF06Ci0gCQllbnZbeF09Y29uZi5lbnZpcm9uW3hdPWRjdFt4XQotLQllbnYucHlleHRfUEFU VEVSTj0nJXMnK2RjdFsnU08nXQotKwllbnYucHlleHRfUEFUVEVSTj0nJXMuc28nCi0gCW51bT0n Licuam9pbihlbnYuUFlUSE9OX1ZFUlNJT04uc3BsaXQoJy4nKVs6Ml0pCi0gCWNvbmYuZmluZF9w cm9ncmFtKFsnJy5qb2luKHB5YmluKSsnLWNvbmZpZycsJ3B5dGhvbiVzLWNvbmZpZyclbnVtLCdw eXRob24tY29uZmlnLSVzJyVudW0sJ3B5dGhvbiVzbS1jb25maWcnJW51bV0sdmFyPSdQWVRIT05f Q09ORklHJyxtc2c9InB5dGhvbi1jb25maWciLG1hbmRhdG9yeT1GYWxzZSkKLSAJaWYgZW52LlBZ VEhPTl9DT05GSUc6Ci1kaWZmIC11ciB3eFB5dGhvbi00LjAuNy5vcmlnL3NpcC9zaXBsaWIvc2lw Lmggd3hQeXRob24tNC4wLjcvc2lwL3NpcGxpYi9zaXAuaAotLS0tIHd4UHl0aG9uLTQuMC43Lm9y aWcvc2lwL3NpcGxpYi9zaXAuaAotKysrIHd4UHl0aG9uLTQuMC43L3NpcC9zaXBsaWIvc2lwLmgK LUBAIC0xNzk0LDcgKzE3OTQsNyBAQAotICAgICBpbnQgKCphcGlfZ2V0X3RpbWUpKFB5T2JqZWN0 ICosIHNpcFRpbWVEZWYgKik7Ci0gICAgIFB5T2JqZWN0ICooKmFwaV9mcm9tX3RpbWUpKGNvbnN0 IHNpcFRpbWVEZWYgKik7Ci0gICAgIGludCAoKmFwaV9pc191c2VyX3R5cGUpKGNvbnN0IHNpcFdy YXBwZXJUeXBlICopOwotLSAgICBzdHJ1Y3QgX2ZyYW1lICooKmFwaV9nZXRfZnJhbWUpKGludCk7 Ci0rICAgIFB5RnJhbWVPYmplY3QgKigqYXBpX2dldF9mcmFtZSkoaW50KTsKLSAgICAgaW50ICgq YXBpX2NoZWNrX3BsdWdpbl9mb3JfdHlwZSkoY29uc3Qgc2lwVHlwZURlZiAqLCBjb25zdCBjaGFy ICopOwotICAgICBQeU9iamVjdCAqKCphcGlfdW5pY29kZV9uZXcpKFNJUF9TU0laRV9ULCB1bnNp Z25lZCwgaW50ICosIHZvaWQgKiopOwotICAgICB2b2lkICgqYXBpX3VuaWNvZGVfd3JpdGUpKGlu dCwgdm9pZCAqLCBpbnQsIHVuc2lnbmVkKTsKLWRpZmYgLXVyIHd4UHl0aG9uLTQuMC43Lm9yaWcv c2lwL3NpcGxpYi9zaXBsaWIuYyB3eFB5dGhvbi00LjAuNy9zaXAvc2lwbGliL3NpcGxpYi5jCi0t LS0gd3hQeXRob24tNC4wLjcub3JpZy9zaXAvc2lwbGliL3NpcGxpYi5jCi0rKysgd3hQeXRob24t NC4wLjcvc2lwL3NpcGxpYi9zaXBsaWIuYwotQEAgLTQzOSw3ICs0MzksNyBAQAotIHN0YXRpYyBp bnQgc2lwX2FwaV9nZXRfdGltZShQeU9iamVjdCAqb2JqLCBzaXBUaW1lRGVmICp0aW1lKTsKLSBz dGF0aWMgUHlPYmplY3QgKnNpcF9hcGlfZnJvbV90aW1lKGNvbnN0IHNpcFRpbWVEZWYgKnRpbWUp OwotIHN0YXRpYyBpbnQgc2lwX2FwaV9pc191c2VyX3R5cGUoY29uc3Qgc2lwV3JhcHBlclR5cGUg Knd0KTsKLS1zdGF0aWMgc3RydWN0IF9mcmFtZSAqc2lwX2FwaV9nZXRfZnJhbWUoaW50KTsKLStz dGF0aWMgUHlGcmFtZU9iamVjdCAqc2lwX2FwaV9nZXRfZnJhbWUoaW50KTsKLSBzdGF0aWMgaW50 IHNpcF9hcGlfY2hlY2tfcGx1Z2luX2Zvcl90eXBlKGNvbnN0IHNpcFR5cGVEZWYgKnRkLAotICAg ICAgICAgY29uc3QgY2hhciAqbmFtZSk7Ci0gc3RhdGljIFB5T2JqZWN0ICpzaXBfYXBpX3VuaWNv ZGVfbmV3KFNJUF9TU0laRV9UIGxlbiwgdW5zaWduZWQgbWF4Y2hhciwKLUBAIC0xMzY4OCwxNSAr MTM2ODgsMTkgQEAKLSAvKgotICAqIFJldHVybiBhIGZyYW1lIGZyb20gdGhlIGV4ZWN1dGlvbiBz dGFjay4KLSAgKi8KLS1zdGF0aWMgc3RydWN0IF9mcmFtZSAqc2lwX2FwaV9nZXRfZnJhbWUoaW50 IGRlcHRoKQotK3N0YXRpYyBQeUZyYW1lT2JqZWN0ICpzaXBfYXBpX2dldF9mcmFtZShpbnQgZGVw dGgpCi0gewotLSAgICBzdHJ1Y3QgX2ZyYW1lICpmcmFtZSA9IFB5RXZhbF9HZXRGcmFtZSgpOwot KyAgICBQeUZyYW1lT2JqZWN0ICpmcmFtZSA9IFB5RXZhbF9HZXRGcmFtZSgpOwotKyAgICBQeV9Y SU5DUkVGKGZyYW1lKTsKLSAKLSAgICAgd2hpbGUgKGZyYW1lICE9IE5VTEwgJiYgZGVwdGggPiAw KQotICAgICB7Ci0tICAgICAgICBmcmFtZSA9IGZyYW1lLT5mX2JhY2s7Ci0rICAgICAgICBQeUZy YW1lT2JqZWN0ICpvZnJhbWUgPSBmcmFtZTsKLSsgICAgICAgIGZyYW1lID0gUHlGcmFtZV9HZXRC YWNrKGZyYW1lKTsKLSsgICAgICAgIFB5X0RFQ1JFRihvZnJhbWUpOwotICAgICAgICAgLS1kZXB0 aDsKLSAgICAgfQotKyAgICBQeV9YREVDUkVGKGZyYW1lKTsKLSAKLSAgICAgcmV0dXJuIGZyYW1l OwotIH0KZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvd3hQeXRob240L3BhdGNoZXMvc3ludGF4LnBhdGNo IGIvc3JjcGtncy93eFB5dGhvbjQvcGF0Y2hlcy9zeW50YXgucGF0Y2gKZGVsZXRlZCBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDg2MjkzNGY5OTYxNTkuLjAwMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtn cy93eFB5dGhvbjQvcGF0Y2hlcy9zeW50YXgucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMiAr MCwwIEBACi1JbmRleDogd3hQeXRob24tNC4wLjcvd3gvbGliL21hc2tlZC9tYXNrZWRlZGl0LnB5 Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLS0gd3hQeXRob24tNC4wLjcub3JpZy93eC9saWIvbWFza2VkL21hc2tl ZGVkaXQucHkKLSsrKyB3eFB5dGhvbi00LjAuNy93eC9saWIvbWFza2VkL21hc2tlZGVkaXQucHkK LUBAIC0yNjQ1LDcgKzI2NDUsNyBAQCBjbGFzcyBNYXNrZWRFZGl0TWl4aW46Ci0gICAgICAgICAg ICAgICAgICAgICAgICAgcmFpc2UgdmUKLSAgICAgICAgICAgICAgICAgICAgIGVsaWYgcmVwbGFj ZV90byA+IGVuZDoKLSAjIyMjICAgICAgICAgICAgICAgICAgICAgICAgZGJnKGluZGVudD0wKQot LSAgICAgICAgICAgICAgICAgICAgICAgIHZlID0gVmFsdWVFcnJvcignIiVzIiB3aWxsIG5vdCBm aXQgaW50byBmaWVsZCAlZCBvZiBjb250cm9sICIlcyInIChjaG9pY2UsIGluZGV4LCBzZWxmLm5h bWUpKQotKyAgICAgICAgICAgICAgICAgICAgICAgIHZlID0gVmFsdWVFcnJvcignIiVzIiB3aWxs IG5vdCBmaXQgaW50byBmaWVsZCAlZCBvZiBjb250cm9sICIlcyInICUgKGNob2ljZSwgaW5kZXgs IHNlbGYubmFtZSkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgdmUudmFsdWUgPSBjaG9pY2UK LSAgICAgICAgICAgICAgICAgICAgICAgICB2ZS5pbmRleCA9IGluZGV4Ci0gICAgICAgICAgICAg ICAgICAgICAgICAgcmFpc2UgdmUKLUluZGV4OiB3eFB5dGhvbi00LjAuNy93eC9saWIvcGxvdC9w bG90Y2FudmFzLnB5Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gd3hQeXRob24tNC4wLjcub3JpZy93eC9saWIv cGxvdC9wbG90Y2FudmFzLnB5Ci0rKysgd3hQeXRob24tNC4wLjcvd3gvbGliL3Bsb3QvcGxvdGNh bnZhcy5weQotQEAgLTE4NTIsMTIgKzE4NTIsMTIgQEAgY2xhc3MgUGxvdENhbnZhcyh3eC5QYW5l bCk6Ci0gICAgICAgICAjIEdldCB0aWNrcyBhbmQgdGV4dEV4dGVudHMgZm9yIGF4aXMgaWYgcmVx dWlyZWQKLSAgICAgICAgIHh0aWNrcyA9IHl0aWNrcyA9IE5vbmUKLSAgICAgICAgIHhUZXh0RXh0 ZW50ID0geVRleHRFeHRlbnQgPSAoMCwgMCkgICMgTm8gdGV4dCBmb3IgdGlja3MKLS0gICAgICAg IGlmIHNlbGYuX3hTcGVjIGlzIG5vdCAnbm9uZSc6Ci0rICAgICAgICBpZiBzZWxmLl94U3BlYyAh PSAnbm9uZSc6Ci0gICAgICAgICAgICAgeHRpY2tzID0gc2VsZi5feHRpY2tzKHhBeGlzWzBdLCB4 QXhpc1sxXSkKLSAgICAgICAgICAgICAjIHcgaCBvZiB4IGF4aXMgdGV4dCBsYXN0IG51bWJlciBv biBheGlzCi0gICAgICAgICAgICAgeFRleHRFeHRlbnQgPSBkYy5HZXRUZXh0RXh0ZW50KHh0aWNr c1stMV1bMV0pCi0gCi0tICAgICAgICBpZiBzZWxmLl95U3BlYyBpcyBub3QgJ25vbmUnOgotKyAg ICAgICAgaWYgc2VsZi5feVNwZWMgIT0gJ25vbmUnOgotICAgICAgICAgICAgIHl0aWNrcyA9IHNl bGYuX3l0aWNrcyh5QXhpc1swXSwgeUF4aXNbMV0pCi0gICAgICAgICAgICAgaWYgc2VsZi5sb2dT Y2FsZVsxXToKLSAgICAgICAgICAgICAgICAgIyBtYWtlIHN1cmUgd2UgaGF2ZSBlbm91Z2ggcm9v bSB0byBkaXNwbGF5IFNJIG5vdGF0aW9uLgpkaWZmIC0tZ2l0IGEvc3JjcGtncy93eFB5dGhvbjQv dXBkYXRlIGIvc3JjcGtncy93eFB5dGhvbjQvdXBkYXRlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAxNTI3MzQyMjUwZjY2Li4wMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3Mvd3hQeXRo b240L3VwZGF0ZQorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLXBrZ25hbWU9d3hQeXRob24K CkZyb20gZGViZDRmZWRiYTUwN2JjNDAwOTFlMDIzZGQyMjJjM2MxOWVmOTMwMiBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogIkFuZHJldyBKLiBIZXNmb3JkIiA8YWpoQHNpZGViYW5kLm9y Zz4KRGF0ZTogTW9uLCAyNSBTZXAgMjAyMyAwMDoxODoxOSAtMDQwMApTdWJqZWN0OiBbUEFUQ0gg MDgvNDRdIDBhZDogcmVidWlsZCB3aXRoIHd4V2lkZ2V0cy1ndGszLTMuMi4yLjEKCi0tLQogc3Jj cGtncy8wYWQvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyks IDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzLzBhZC90ZW1wbGF0ZSBiL3NyY3Br Z3MvMGFkL3RlbXBsYXRlCmluZGV4IDhjZjRhNzU3MjE2MTkuLjU5N2E3MDgyYjkzODkgMTAwNjQ0 Ci0tLSBhL3NyY3BrZ3MvMGFkL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvMGFkL3RlbXBsYXRlCkBA IC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnMGFkJwogcGtnbmFtZT0wYWQKIHZl cnNpb249MC4wLjI2Ci1yZXZpc2lvbj03CityZXZpc2lvbj04CiBhcmNocz0ieDg2XzY0KiBpNjg2 KiBhYXJjaDY0KiBhcm12N2wqIHBwYzY0bGUqIgogaG9zdG1ha2VkZXBlbmRzPSJwa2ctY29uZmln IHBlcmwgY21ha2UgcHl0aG9uMyBydXN0IGNhcmdvIHlhc20gdGFyIGNsYW5nIgogbWFrZWRlcGVu ZHM9IlNETDItZGV2ZWwgYm9vc3QtZGV2ZWwgZ2xvb3gtZGV2ZWwgbGliY3VybC1kZXZlbCBsaWJl bmV0LWRldmVsCgpGcm9tIDIzMjA3YjM4Mzk4YTBiOGRlYzM1NDE5ODI2YmNkZjJlZmE5ZTQxNDcg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ICJBbmRyZXcgSi4gSGVzZm9yZCIgPGFqaEBz aWRlYmFuZC5vcmc+CkRhdGU6IE1vbiwgMjUgU2VwIDIwMjMgMDA6MTg6MTkgLTA0MDAKU3ViamVj dDogW1BBVENIIDA5LzQ0XSBBZWdpc3ViOiByZWJ1aWxkIHdpdGggd3hXaWRnZXRzLWd0azMtMy4y LjIuMQoKLS0tCiBzcmNwa2dzL0FlZ2lzdWIvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdl ZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL0Fl Z2lzdWIvdGVtcGxhdGUgYi9zcmNwa2dzL0FlZ2lzdWIvdGVtcGxhdGUKaW5kZXggZGFmMzU3NDlj ZTdjNi4uZDgwZTYzZjAyN2UzMiAxMDA2NDQKLS0tIGEvc3JjcGtncy9BZWdpc3ViL3RlbXBsYXRl CisrKyBiL3NyY3BrZ3MvQWVnaXN1Yi90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxh dGUgZmlsZSBmb3IgJ0FlZ2lzdWInCiBwa2duYW1lPUFlZ2lzdWIKIHZlcnNpb249My4zLjIKLXJl dmlzaW9uPTEwCityZXZpc2lvbj0xMQogYnVpbGRfc3R5bGU9Y21ha2UKIGJ1aWxkX2hlbHBlcj1j bWFrZS13eFdpZGdldHMtZ3RrMwogY21ha2VfYnVpbGRkaXI9IkJVSUxEIgoKRnJvbSAyZDRlMDA5 YmIzZDM4Y2YxNGY1YWM1ZmZmYTVkZDQ2MjM2Nzk2MDQwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQpGcm9tOiAiQW5kcmV3IEouIEhlc2ZvcmQiIDxhamhAc2lkZWJhbmQub3JnPgpEYXRlOiBNb24s IDI1IFNlcCAyMDIzIDAwOjE4OjE5IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAxMC80NF0gQ3ViaWNT RFI6IHJlYnVpbGQgd2l0aCB3eFdpZGdldHMtZ3RrMy0zLjIuMi4xCgotLS0KIHNyY3BrZ3MvQ3Vi aWNTRFIvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEg ZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL0N1YmljU0RSL3RlbXBsYXRlIGIvc3Jj cGtncy9DdWJpY1NEUi90ZW1wbGF0ZQppbmRleCBjMjI0ZmMxMzc5YmYxLi45MmQwZDNiOTA5MGZk IDEwMDY0NAotLS0gYS9zcmNwa2dzL0N1YmljU0RSL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvQ3Vi aWNTRFIvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdDdWJp Y1NEUicKIHBrZ25hbWU9Q3ViaWNTRFIKIHZlcnNpb249MC4yLjcKLXJldmlzaW9uPTIKK3Jldmlz aW9uPTMKIGJ1aWxkX3N0eWxlPWNtYWtlCiBidWlsZF9oZWxwZXI9ImNtYWtlLXd4V2lkZ2V0cy1n dGszIgogY29uZmlndXJlX2FyZ3M9Ii1EVVNFX0hBTUxJQj0xICQodm9wdF9ib29sIGFsc2EgVVNF X0FVRElPX0FMU0EpCgpGcm9tIDUyNjk4NzAwZWVmOTFhMWZiZTI3YmJlNzVhZDFjODI3MTYxNTdm NjUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ICJBbmRyZXcgSi4gSGVzZm9yZCIgPGFq aEBzaWRlYmFuZC5vcmc+CkRhdGU6IE1vbiwgMjUgU2VwIDIwMjMgMDA6MTg6MTkgLTA0MDAKU3Vi amVjdDogW1BBVENIIDExLzQ0XSBEYXJrUmFkaWFudDogcmVidWlsZCB3aXRoIHd4V2lkZ2V0cy1n dGszLTMuMi4yLjEKCi0tLQogc3JjcGtncy9EYXJrUmFkaWFudC90ZW1wbGF0ZSB8IDIgKy0KIDEg ZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBh L3NyY3BrZ3MvRGFya1JhZGlhbnQvdGVtcGxhdGUgYi9zcmNwa2dzL0RhcmtSYWRpYW50L3RlbXBs YXRlCmluZGV4IDg4MzBiM2E2MWMwNmIuLjIxOWFjM2Q2NmFkZWYgMTAwNjQ0Ci0tLSBhL3NyY3Br Z3MvRGFya1JhZGlhbnQvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9EYXJrUmFkaWFudC90ZW1wbGF0 ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ0RhcmtSYWRpYW50JwogcGtn bmFtZT1EYXJrUmFkaWFudAogdmVyc2lvbj0zLjguMAotcmV2aXNpb249MgorcmV2aXNpb249Mwog YnVpbGRfc3R5bGU9Y21ha2UKIGJ1aWxkX2hlbHBlcj1jbWFrZS13eFdpZGdldHMtZ3RrMwogaG9z dG1ha2VkZXBlbmRzPSJwa2ctY29uZmlnIHJ1YnktYXNjaWlkb2N0b3IiCgpGcm9tIGNjMjk3NWVm ZGU5ZjliYmYwNWUxOGRmOTczYmI0YjVjYWNlZDZjNzEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206ICJBbmRyZXcgSi4gSGVzZm9yZCIgPGFqaEBzaWRlYmFuZC5vcmc+CkRhdGU6IE1vbiwg MjUgU2VwIDIwMjMgMDA6MTg6MTkgLTA0MDAKU3ViamVjdDogW1BBVENIIDEyLzQ0XSBMaW1lU3Vp dGU6IHJlYnVpbGQgd2l0aCB3eFdpZGdldHMtZ3RrMy0zLjIuMi4xCgotLS0KIHNyY3BrZ3MvTGlt ZVN1aXRlL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAx IGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9MaW1lU3VpdGUvdGVtcGxhdGUgYi9z cmNwa2dzL0xpbWVTdWl0ZS90ZW1wbGF0ZQppbmRleCBmZTk2M2JlODVmODYwLi5mMTNkNWU0MGEw NGM4IDEwMDY0NAotLS0gYS9zcmNwa2dzL0xpbWVTdWl0ZS90ZW1wbGF0ZQorKysgYi9zcmNwa2dz L0xpbWVTdWl0ZS90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3Ig J0xpbWVTdWl0ZScKIHBrZ25hbWU9TGltZVN1aXRlCiB2ZXJzaW9uPTIyLjA5LjEKLXJldmlzaW9u PTEKK3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPWNtYWtlCiBidWlsZF9oZWxwZXI9Y21ha2Utd3hX aWRnZXRzLWd0azMKIGNvbmZpZ3VyZV9hcmdzPSIKCkZyb20gYmZkNzJiNzE2YzA0NTBmOGU0ZTI0 ZWYwNGM2M2ExNDM4MTExNTE5ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogIkFuZHJl dyBKLiBIZXNmb3JkIiA8YWpoQHNpZGViYW5kLm9yZz4KRGF0ZTogTW9uLCAyNSBTZXAgMjAyMyAw MDoxODoxOSAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMTMvNDRdIE9wZW5DUE46IHJlYnVpbGQgd2l0 aCB3eFdpZGdldHMtZ3RrMy0zLjIuMi4xCgotLS0KIHNyY3BrZ3MvT3BlbkNQTi90ZW1wbGF0ZSB8 IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlm ZiAtLWdpdCBhL3NyY3BrZ3MvT3BlbkNQTi90ZW1wbGF0ZSBiL3NyY3BrZ3MvT3BlbkNQTi90ZW1w bGF0ZQppbmRleCBlZTY3ZGJhZmYwMWMyLi45M2FhODkyMDU2YjNiIDEwMDY0NAotLS0gYS9zcmNw a2dzL09wZW5DUE4vdGVtcGxhdGUKKysrIGIvc3JjcGtncy9PcGVuQ1BOL3RlbXBsYXRlCkBAIC0x LDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnT3BlbkNQTicKIHBrZ25hbWU9T3BlbkNQ TgogdmVyc2lvbj01LjIuMAotcmV2aXNpb249MgorcmV2aXNpb249MwogYnVpbGRfc3R5bGU9Y21h a2UKIGJ1aWxkX2hlbHBlcj1jbWFrZS13eFdpZGdldHMtZ3RrMwogY29uZmlndXJlX2FyZ3M9Ii1E T0NQTl9CVU5ETEVfR1NISFM9Tk9ORSAtRE9DUE5fQlVORExFX1RDREFUQT1PTgoKRnJvbSA1ZTIw NWJkNzRjMGE5ZmRhOWRiZThjYjg2MmQ0NzZkMGM4ZDU4NTMyIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQpGcm9tOiAiQW5kcmV3IEouIEhlc2ZvcmQiIDxhamhAc2lkZWJhbmQub3JnPgpEYXRlOiBN b24sIDI1IFNlcCAyMDIzIDAwOjE4OjE5IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAxNC80NF0gUHJ1 c2FTbGljZXI6IHJlYnVpbGQgd2l0aCB3eFdpZGdldHMtZ3RrMy0zLjIuMi4xCgotLS0KIHNyY3Br Z3MvUHJ1c2FTbGljZXIvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRp b24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL1BydXNhU2xpY2VyL3Rl bXBsYXRlIGIvc3JjcGtncy9QcnVzYVNsaWNlci90ZW1wbGF0ZQppbmRleCBiYWM1ZDZkNTc0MDUz Li42YWUxZGYwZDg3YTE5IDEwMDY0NAotLS0gYS9zcmNwa2dzL1BydXNhU2xpY2VyL3RlbXBsYXRl CisrKyBiL3NyY3BrZ3MvUHJ1c2FTbGljZXIvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRl bXBsYXRlIGZpbGUgZm9yICdQcnVzYVNsaWNlcicKIHBrZ25hbWU9UHJ1c2FTbGljZXIKIHZlcnNp b249Mi41LjIKLXJldmlzaW9uPTIKK3JldmlzaW9uPTMKIGJ1aWxkX3N0eWxlPWNtYWtlCiBidWls ZF9oZWxwZXI9InFlbXUgY21ha2Utd3hXaWRnZXRzLWd0azMiCiAjIFByZS1Db21waWxlZCBIZWFk ZXJzIHNlZW1zIHRvIGJlIHNsb3dlcgoKRnJvbSA5N2YwYjdjYjVjYjA5YTRjNjhkYWJiNDk1MTBj NmMxODBhMzg4MzQ3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAiQW5kcmV3IEouIEhl c2ZvcmQiIDxhamhAc2lkZWJhbmQub3JnPgpEYXRlOiBNb24sIDI1IFNlcCAyMDIzIDAwOjE4OjE5 IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAxNS80NF0gU0xBREU6IHJlYnVpbGQgd2l0aCB3eFdpZGdl dHMtZ3RrMy0zLjIuMi4xCgotLS0KIHNyY3BrZ3MvU0xBREUvdGVtcGxhdGUgfCAyICstCiAxIGZp bGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9z cmNwa2dzL1NMQURFL3RlbXBsYXRlIGIvc3JjcGtncy9TTEFERS90ZW1wbGF0ZQppbmRleCA4YjY4 MDU3NGMzYjllLi5hODhjMmU0YmM3ODE0IDEwMDY0NAotLS0gYS9zcmNwa2dzL1NMQURFL3RlbXBs YXRlCisrKyBiL3NyY3BrZ3MvU0xBREUvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBs YXRlIGZpbGUgZm9yICdTTEFERScKIHBrZ25hbWU9U0xBREUKIHZlcnNpb249My4yLjEKLXJldmlz aW9uPTEKK3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPWNtYWtlCiBidWlsZF9oZWxwZXI9Y21ha2Ut d3hXaWRnZXRzLWd0azMKIGhvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyBwN3ppcCB3aGljaCIK CkZyb20gOTA5Mzg3YjY1OTA2NjM0YmViZDU5MzU1NTY4NjcxYTQxMGFmN2MxNSBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogIkFuZHJldyBKLiBIZXNmb3JkIiA8YWpoQHNpZGViYW5kLm9y Zz4KRGF0ZTogTW9uLCAyNSBTZXAgMjAyMyAwMDoxODoyMCAtMDQwMApTdWJqZWN0OiBbUEFUQ0gg MTYvNDRdIFdvZVVTQjogcmVidWlsZCB3aXRoIHd4V2lkZ2V0cy1ndGszLTMuMi4yLjEKCi0tLQog c3JjcGtncy9Xb2VVU0IvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRp b24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL1dvZVVTQi90ZW1wbGF0 ZSBiL3NyY3BrZ3MvV29lVVNCL3RlbXBsYXRlCmluZGV4IGI5NDZiNTJiY2MxYjguLjJkYTk1ZDU3 MDJlYTcgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvV29lVVNCL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mv V29lVVNCL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnV29l VVNCJwogcGtnbmFtZT1Xb2VVU0IKIHZlcnNpb249My4zLjEKLXJldmlzaW9uPTMKK3JldmlzaW9u PTQKIGJ1aWxkX3N0eWxlPWdudS1jb25maWd1cmUKIGNvbmZpZ3VyZV9hcmdzPSItLXdpdGgtd3gt Y29uZmlnPXd4LWNvbmZpZy1ndGszIgogaG9zdG1ha2VkZXBlbmRzPSJhdXRvbWFrZSBnZXR0ZXh0 IGxpYnRvb2wiCgpGcm9tIDRjZGFhMTcwYmVhYTJkNWQxYTE4MTk0OGJmOTJjYWUwODE1MDA0OTkg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ICJBbmRyZXcgSi4gSGVzZm9yZCIgPGFqaEBz aWRlYmFuZC5vcmc+CkRhdGU6IE1vbiwgMjUgU2VwIDIwMjMgMDA6MTg6MjAgLTA0MDAKU3ViamVj dDogW1BBVENIIDE3LzQ0XSBhdWRhY2l0eTogcmVidWlsZCB3aXRoIHd4V2lkZ2V0cy1ndGszLTMu Mi4yLjEKCi0tLQogc3JjcGtncy9hdWRhY2l0eS9wYXRjaGVzL3d4LTMuMi5wYXRjaCAgICAgICAg IHwgMjYgKysrKysrKysrKysrKysrKwogLi4uL3BhdGNoZXMvd3gtd2lkZ2V0LWhhcy1iYXNxdWUu cGF0Y2ggICAgICAgIHwgMjIgKysrKysrKysrKysrKwogc3JjcGtncy9hdWRhY2l0eS9wYXRjaGVz L3d4Yml0bWFwLnBhdGNoICAgICAgIHwgMzEgKysrKysrKysrKysrKysrKysrKwogc3JjcGtncy9h dWRhY2l0eS90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICAgIHwgIDUgKy0tCiA0IGZpbGVzIGNo YW5nZWQsIDgyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2 NDQgc3JjcGtncy9hdWRhY2l0eS9wYXRjaGVzL3d4LTMuMi5wYXRjaAogY3JlYXRlIG1vZGUgMTAw NjQ0IHNyY3BrZ3MvYXVkYWNpdHkvcGF0Y2hlcy93eC13aWRnZXQtaGFzLWJhc3F1ZS5wYXRjaAog Y3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvYXVkYWNpdHkvcGF0Y2hlcy93eGJpdG1hcC5wYXRj aAoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvYXVkYWNpdHkvcGF0Y2hlcy93eC0zLjIucGF0Y2ggYi9z cmNwa2dzL2F1ZGFjaXR5L3BhdGNoZXMvd3gtMy4yLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAwMDAwMDAuLmQ0MmFlMDlmMzBmNmUKLS0tIC9kZXYvbnVsbAorKysgYi9z cmNwa2dzL2F1ZGFjaXR5L3BhdGNoZXMvd3gtMy4yLnBhdGNoCkBAIC0wLDAgKzEsMjYgQEAKK0lu ZGV4OiBhdWRhY2l0eS1BdWRhY2l0eS0yLjQuMS9jb25maWd1cmUKKz09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBh dWRhY2l0eS1BdWRhY2l0eS0yLjQuMS5vcmlnL2NvbmZpZ3VyZQorKysrIGF1ZGFjaXR5LUF1ZGFj aXR5LTIuNC4xL2NvbmZpZ3VyZQorQEAgLTE5OTE4LDcgKzE5OTE4LDcgQEAgd3hfdmVyc2lvbj1g JHtXWF9DT05GSUd9ICR3eGNvbmZpZ2FyZ3MgLQorICRhc19lY2hvICIkYXNfbWU6IENoZWNraW5n IHRoYXQgdGhlIGNob3NlbiB2ZXJzaW9uIG9mIHd4V2lkZ2V0cyBpcyAzLjEueCAob3IgMy4wLngp IiA+JjY7fQorIAorIGNhc2UgIiR7d3hfdmVyc2lvbn0iIGluCistICAzLjEuKiB8IDMuMC4qKQor KyAgMy4yLiogfCAzLjEuKiB8IDMuMC4qKQorICAgICBlY2hvICJHcmVhdCwgeW91J3JlIHVzaW5n IHd4V2lkZ2V0cyAke3d4X3ZlcnNpb259ISIKKyAgICAgOzsKKyAgICopCitJbmRleDogYXVkYWNp dHktQXVkYWNpdHktMi40LjEvbGliLXNyYy9saWItd2lkZ2V0LWV4dHJhL2NvbmZpZ3VyZQorPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQorLS0tIGF1ZGFjaXR5LUF1ZGFjaXR5LTIuNC4xLm9yaWcvbGliLXNyYy9saWItd2lk Z2V0LWV4dHJhL2NvbmZpZ3VyZQorKysrIGF1ZGFjaXR5LUF1ZGFjaXR5LTIuNC4xL2xpYi1zcmMv bGliLXdpZGdldC1leHRyYS9jb25maWd1cmUKK0BAIC0xNjYzMyw3ICsxNjYzMyw3IEBAIHd4X3Zl cnNpb249YCR7V1hfQ09ORklHfSAkd3hjb25maWdhcmdzIC0KKyAkYXNfZWNobyAiJGFzX21lOiBD aGVja2luZyB0aGF0IHRoZSBjaG9zZW4gdmVyc2lvbiBvZiB3eFdpZGdldHMgaXMgMy4xLnggKG9y IDMuMC54KSIgPiY2O30KKyAKKyBjYXNlICIke3d4X3ZlcnNpb259IiBpbgorLSAgMy4xLiogfCAz LjAuKikKKysgIDMuMi4qIHwgMy4xLiogfCAzLjAuKikKKyAgICAgZWNobyAiR3JlYXQsIHlvdSdy ZSB1c2luZyB3eFdpZGdldHMgJHt3eF92ZXJzaW9ufSEiCisgICAgIDs7CisgICAqKQpkaWZmIC0t Z2l0IGEvc3JjcGtncy9hdWRhY2l0eS9wYXRjaGVzL3d4LXdpZGdldC1oYXMtYmFzcXVlLnBhdGNo IGIvc3JjcGtncy9hdWRhY2l0eS9wYXRjaGVzL3d4LXdpZGdldC1oYXMtYmFzcXVlLnBhdGNoCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAuLjRkZDI0ZTc5ZWM4ZTIKLS0t IC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2F1ZGFjaXR5L3BhdGNoZXMvd3gtd2lkZ2V0LWhhcy1i YXNxdWUucGF0Y2gKQEAgLTAsMCArMSwyMiBAQAorSW5kZXg6IGF1ZGFjaXR5LUF1ZGFjaXR5LTIu NC4xL3NyYy9BdWRhY2l0eUFwcC5jcHAKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBhdWRhY2l0eS1BdWRhY2l0 eS0yLjQuMS5vcmlnL3NyYy9BdWRhY2l0eUFwcC5jcHAKKysrKyBhdWRhY2l0eS1BdWRhY2l0eS0y LjQuMS9zcmMvQXVkYWNpdHlBcHAuY3BwCitAQCAtMTEwMiw3ICsxMTAyLDcgQEAgbG9jYXRpb25z IG9mIHRoZSBtaXNzaW5nIGZpbGVzLiIpLkZvcm1hdAorICNkZWZpbmUgV0wobGFuZyxzdWJsYW5n KQorICNlbmRpZgorIAorLSNpZiB3eENIRUNLX1ZFUlNJT04oMywgMCwgMSkKKysjaWYgMAorIHd4 TGFuZ3VhZ2VJbmZvIHVzZXJMYW5nc1tdID0KKyB7CisgICAgLy8gQm9zbmlhbiBpcyBkZWZpbmVk IGluIHd4V2lkZ2V0cyBhbHJlYWR5CitAQCAtMTM2Niw3ICsxMzY2LDcgQEAgYm9vbCBBdWRhY2l0 eUFwcDo6T25Jbml0KCkKKyAgICAvLworICAgIC8vIFRPRE86ICBUaGUgd2hvbGUgTGFuZ3VhZ2Ug aW5pdGlhbGl6YXRpb24gcmVhbGx5IG5lZWQgdG8gYmUgcmV3b3JrZWQuCisgICAgLy8gICAgICAg IEl0J3MgYWxsIG92ZXIgdGhlIHBsYWNlLgorLSNpZiB3eENIRUNLX1ZFUlNJT04oMywgMCwgMSkK KysjaWYgMAorICAgIGZvciAoc2l6ZV90IGkgPSAwLCBjbnQgPSBXWFNJWkVPRih1c2VyTGFuZ3Mp OyBpIDwgY250OyBpKyspCisgICAgeworICAgICAgIHd4TG9jYWxlOjpBZGRMYW5ndWFnZSh1c2Vy TGFuZ3NbaV0pOwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9hdWRhY2l0eS9wYXRjaGVzL3d4Yml0bWFw LnBhdGNoIGIvc3JjcGtncy9hdWRhY2l0eS9wYXRjaGVzL3d4Yml0bWFwLnBhdGNoCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAuLmFmMThiZDFjYjY1MjQKLS0tIC9kZXYv bnVsbAorKysgYi9zcmNwa2dzL2F1ZGFjaXR5L3BhdGNoZXMvd3hiaXRtYXAucGF0Y2gKQEAgLTAs MCArMSwzMSBAQAorRnJvbSA1NTM4M2ZjY2QwYzI4MWI0ZjE4OWQ5YjA3Njk5YjIxYmI4MDJjNzM2 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSWFuIE1jSW5lcm5leSA8aWFuLnMubWNp bmVybmV5QGllZWUub3JnPgorRGF0ZTogRnJpLCA4IEFwciAyMDIyIDAxOjI3OjUyICswMTAwCitT dWJqZWN0OiBbUEFUQ0hdIENhbGwgdGhlIHByb3BlciB3eEJpdG1hcCBjb25zdHJ1Y3RvciBmb3Ig WFBNIGRhdGEKKword3hCaXRtYXAgYmFjayB0byBhdCBsZWFzdCAzLjAuMCBkaWQgbm90IGhhdmUg YSBjb25zdHJ1Y3RvciBmb3IgYW4gWFBNCitpbWFnZSB0aGF0IHRvb2sgYSBzaXplIHBhcmFtZXRl ciwgaXQgd291bGQgb25seSB0YWtlIHRoZSBYUE0gZGF0YQoraXRzZWxmLgorCitJIGRvbid0IGtu b3cgaG93IHRoaXMgY29tcGlsZWQgdW50aWwgbm93LCBidXQgaXQgZG9lc24ndCBhbnltb3JlIHdo ZW4KK3RoZSBzaXplIGlzIGluY2x1ZGVkIGFuZCBidWlsdCBhZ2FpbnN0IHd4IDMuMS42IGluIEZl ZG9yYS4KKy0tLQorIHNyYy9NaXhlckJvYXJkLmNwcCB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwg MSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKyAKKyBUZWNobmljYWxseSB0aGlzIHBhdGNo IGlzIHVuZGVyIEdQTHYzKyBiZWNhdXNlIGl0IHdhcyBjb250cmlidXRlZCBhZnRlcgorIHJlIGxp Y2Vuc2luZworCitkaWZmIC0tZ2l0IGEvc3JjL01peGVyQm9hcmQuY3BwIGIvc3JjL01peGVyQm9h cmQuY3BwCitpbmRleCA1NGI1ZjE0NmNjNy4uN2ZlODE2MTU0NzQgMTAwNjQ0CistLS0gYS9zcmMv TWl4ZXJCb2FyZC5jcHAKKysrKyBiL3NyYy9NaXhlckJvYXJkLmNwcAorQEAgLTEzMDcsNyArMTMw Nyw3IEBAIHZvaWQgTWl4ZXJCb2FyZDo6TG9hZE11c2ljYWxJbnN0cnVtZW50cygpCisgICAgd3hN ZW1vcnlEQyBkYzsKKyAKKyAgICBmb3IgKGNvbnN0IGF1dG8gJmRhdGEgOiB0YWJsZSkgeworLSAg ICAgIGF1dG8gYm1wID0gc3RkOjptYWtlX3VuaXF1ZTx3eEJpdG1hcD4oZGF0YS5iaXRtYXAsMjQp OworKyAgICAgIGF1dG8gYm1wID0gc3RkOjptYWtlX3VuaXF1ZTx3eEJpdG1hcD4oZGF0YS5iaXRt YXApOworICAgICAgIGRjLlNlbGVjdE9iamVjdCgqYm1wKTsKKyAgICAgICBBQ29sb3I6OkJldmVs KGRjLCBmYWxzZSwgYmV2KTsKKyAgICAgICBtTXVzaWNhbEluc3RydW1lbnRzLnB1c2hfYmFjayhz dGQ6Om1ha2VfdW5pcXVlPE11c2ljYWxJbnN0cnVtZW50PigKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv YXVkYWNpdHkvdGVtcGxhdGUgYi9zcmNwa2dzL2F1ZGFjaXR5L3RlbXBsYXRlCmluZGV4IDI4ZTlj NGEzNTI4ZjEuLjY5OTJmZmE3NzFiOWEgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvYXVkYWNpdHkvdGVt cGxhdGUKKysrIGIvc3JjcGtncy9hdWRhY2l0eS90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMg VGVtcGxhdGUgZmlsZSBmb3IgJ2F1ZGFjaXR5JwogcGtnbmFtZT1hdWRhY2l0eQogdmVyc2lvbj0y LjQuMQotcmV2aXNpb249MgorcmV2aXNpb249MwogYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQog Y29uZmlndXJlX2FyZ3M9Ii0td2l0aC1mZm1wZWc9c3lzdGVtIC0td2l0aC1saWJzbmRmaWxlPXN5 c3RlbSAtLXdpdGgtZXhwYXQ9c3lzdGVtCiAgLS13aXRoLWxpYnNveHI9c3lzdGVtIC0td2l0aC1s YW1lPXN5c3RlbSAtLXdpdGgtbHYyPXN5c3RlbSBhY19jdl9wYXRoX1dYX0NPTkZJRz13eC1jb25m aWctZ3RrMyIKQEAgLTEzLDcgKzEzLDggQEAgbWFrZWRlcGVuZHM9ImphY2stZGV2ZWwgd3hXaWRn ZXRzLWd0azMtZGV2ZWwgZ3RrKzMtZGV2ZWwKIGRlcGVuZHM9ImRlc2t0b3AtZmlsZS11dGlscyBo aWNvbG9yLWljb24tdGhlbWUiCiBzaG9ydF9kZXNjPSJHcmFwaGljYWwgY3Jvc3MtcGxhdGZvcm0g YXVkaW8gZWRpdG9yIgogbWFpbnRhaW5lcj0iT3JwaGFuZWQgPG9ycGhhbkB2b2lkbGludXgub3Jn PiIKLWxpY2Vuc2U9IkdQTC0yLjAtb3ItbGF0ZXIiCisjIFBhdGNoZXMgYXJlIEdQTDMrLCBzbyBi dW1wIHRoZSBsaWNlbnNlIGZvciB0aGUgd2hvbGUgcGFja2FnZQorbGljZW5zZT0iR1BMLTMuMC1v ci1sYXRlciIKIGhvbWVwYWdlPSJodHRwczovL3d3dy5hdWRhY2l0eXRlYW0ub3JnIgogZGlzdGZp bGVzPSJodHRwczovL2dpdGh1Yi5jb20vYXVkYWNpdHkvYXVkYWNpdHkvYXJjaGl2ZS9BdWRhY2l0 eS0ke3ZlcnNpb259LnRhci5neiIKIGNoZWNrc3VtPTUwMjQwZjA3NDcxMzczYTdlNWMyZGY2NWNj MjZlZWVhYWNlZDlhMDg1MGFkMWY5NWNiNzk1ZjE3MWVhMzAwOWYKCkZyb20gMDhkNWI2OWMyMzQ0 OWQ2NTMwYjU3YjUwMzhkN2RkZGZjM2I4NTQxOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogIkFuZHJldyBKLiBIZXNmb3JkIiA8YWpoQHNpZGViYW5kLm9yZz4KRGF0ZTogTW9uLCAyNSBT ZXAgMjAyMyAwMDoxODoyMCAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMTgvNDRdIGJvaW5jOiByZWJ1 aWxkIHdpdGggd3hXaWRnZXRzLWd0azMtMy4yLjIuMQoKLS0tCiBzcmNwa2dzL2JvaW5jL3RlbXBs YXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0p CgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9ib2luYy90ZW1wbGF0ZSBiL3NyY3BrZ3MvYm9pbmMvdGVt cGxhdGUKaW5kZXggZWNkMmExMTAwYjAxNS4uNjViYmJlNzU0MGQ1MCAxMDA2NDQKLS0tIGEvc3Jj cGtncy9ib2luYy90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2JvaW5jL3RlbXBsYXRlCkBAIC0xLDcg KzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnYm9pbmMnCiBwa2duYW1lPWJvaW5jCiB2ZXJz aW9uPTcuMjIuMAotcmV2aXNpb249MgorcmV2aXNpb249MwogX21ham9ydmVyPSR7dmVyc2lvbiUu Kn0KIGJ1aWxkX3N0eWxlPWdudS1jb25maWd1cmUKIGhvc3RtYWtlZGVwZW5kcz0iYXV0b21ha2Ug bGlidG9vbCBwa2ctY29uZmlnIHhvcmdwcm90byBzaGFyZWQtbWltZS1pbmZvIgoKRnJvbSBhNzRi YjNiZDYxZGY3NGUyZTAwOWM0MDBmZjcwZmE3OWU2N2U5ZmJmIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQpGcm9tOiAiQW5kcmV3IEouIEhlc2ZvcmQiIDxhamhAc2lkZWJhbmQub3JnPgpEYXRlOiBN b24sIDI1IFNlcCAyMDIzIDAwOjE4OjIwIC0wNDAwClN1YmplY3Q6IFtQQVRDSCAxOS80NF0gY29k ZWJsb2NrczogcmVidWlsZCB3aXRoIHd4V2lkZ2V0cy1ndGszLTMuMi4yLjEKCi0tLQogc3JjcGtn cy9jb2RlYmxvY2tzL3BhdGNoZXMvMDAwLnIxMTk5MS5wYXRjaCAgIHwgIDI3ICsKIC4uLjAudjIw LjAzLXIxMjAwOC5wYXRjaCA9PiAwMDAucjEyMDA4LnBhdGNofSB8ICAgMAogLi4uMS52MjAuMDMt cjEyMDEyLnBhdGNoID0+IDAwMC5yMTIwMTIucGF0Y2h9IHwgICAwCiBzcmNwa2dzL2NvZGVibG9j a3MvcGF0Y2hlcy8wMDAucjEyNTMyLnBhdGNoICAgfCAgMTMgKwogc3JjcGtncy9jb2RlYmxvY2tz L3BhdGNoZXMvMDAwLnIxMjU4MC5wYXRjaCAgIHwgOTQ0ICsrKysrKysrKysrKysrKysrKwogc3Jj cGtncy9jb2RlYmxvY2tzL3BhdGNoZXMvMDAwLnIxMjcwNy5wYXRjaCAgIHwgMTIwICsrKwogc3Jj cGtncy9jb2RlYmxvY2tzL3BhdGNoZXMvd3gtMy4yLnBhdGNoICAgICAgIHwgIDIxICsKIHNyY3Br Z3MvY29kZWJsb2Nrcy90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICB8ICAgMiArLQogOCBmaWxl cyBjaGFuZ2VkLCAxMTI2IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBzcmNwa2dzL2NvZGVibG9ja3MvcGF0Y2hlcy8wMDAucjExOTkxLnBhdGNoCiByZW5h bWUgc3JjcGtncy9jb2RlYmxvY2tzL3BhdGNoZXMvezAwMC52MjAuMDMtcjEyMDA4LnBhdGNoID0+ IDAwMC5yMTIwMDgucGF0Y2h9ICgxMDAlKQogcmVuYW1lIHNyY3BrZ3MvY29kZWJsb2Nrcy9wYXRj aGVzL3swMDEudjIwLjAzLXIxMjAxMi5wYXRjaCA9PiAwMDAucjEyMDEyLnBhdGNofSAoMTAwJSkK IGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2NvZGVibG9ja3MvcGF0Y2hlcy8wMDAucjEyNTMy LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9jb2RlYmxvY2tzL3BhdGNoZXMvMDAw LnIxMjU4MC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY29kZWJsb2Nrcy9wYXRj aGVzLzAwMC5yMTI3MDcucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2NvZGVibG9j a3MvcGF0Y2hlcy93eC0zLjIucGF0Y2gKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2NvZGVibG9ja3Mv cGF0Y2hlcy8wMDAucjExOTkxLnBhdGNoIGIvc3JjcGtncy9jb2RlYmxvY2tzL3BhdGNoZXMvMDAw LnIxMTk5MS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwLi4w Y2RiNzI1MWZkY2VkCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9jb2RlYmxvY2tzL3BhdGNo ZXMvMDAwLnIxMTk5MS5wYXRjaApAQCAtMCwwICsxLDI3IEBACitJbmRleDogc3JjL3NyYy9tYWlu LmNwcAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQorLS0tIGEvc3JjL3NyYy9tYWluLmNwcAkocmV2aXNpb24gMTE5OTAp CisrKysgYi9zcmMvc3JjL21haW4uY3BwCShyZXZpc2lvbiAxMTk5MSkKK0BAIC0yNjgwLDggKzI2 ODAsNiBAQAorICAgICBlbHNlCisgICAgIHsKKyAgICAgICAgIHd4QnVzeUN1cnNvciB1c2VsZXNz OworLSAgICAgICAgd3hQYWludEV2ZW50IGU7CistICAgICAgICBQcm9jZXNzRXZlbnQoZSk7Cisg ICAgICAgICBmb3IgKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IGZpbGVzLkdldENvdW50KCk7ICsr aSkKKyAgICAgICAgICAgc3VjY2VzcyAmPSBPcGVuR2VuZXJpYyhmaWxlc1tpXSk7CisgICAgIH0K K0luZGV4OiBzcmMvc3JjL3dhdGNoZXNkbGcuY3BwCis9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gYS9zcmMvc3Jj L3dhdGNoZXNkbGcuY3BwCShyZXZpc2lvbiAxMTk5MCkKKysrKyBiL3NyYy9zcmMvd2F0Y2hlc2Rs Zy5jcHAJKHJldmlzaW9uIDExOTkxKQorQEAgLTEwMyw4ICsxMDMsNyBAQAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjYl91bnVzZWQgY29uc3Qgd3hQb2ludCYgcG9zLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYl91bnVzZWQgY29uc3Qgd3hTaXplJiBz eikgY29uc3Qgb3ZlcnJpZGUKKyAgICAgeworLSAgICAgICAgd3hQR1dpbmRvd0xpc3QgY29uc3Qg bGlzdDsKKy0gICAgICAgIHJldHVybiBsaXN0OworKyAgICAgICAgcmV0dXJuIHd4UEdXaW5kb3dM aXN0KG51bGxwdHIsIG51bGxwdHIpOworICAgICB9CisgICAgIHZvaWQgVXBkYXRlQ29udHJvbChj Yl91bnVzZWQgd3hQR1Byb3BlcnR5KiBwcm9wZXJ0eSwgY2JfdW51c2VkIHd4V2luZG93KiBjdHJs KSBjb25zdCBvdmVycmlkZSB7fQorICAgICBib29sIE9uRXZlbnQoY2JfdW51c2VkIHd4UHJvcGVy dHlHcmlkKiBwcm9wZ3JpZCwgY2JfdW51c2VkIHd4UEdQcm9wZXJ0eSogcHJvcGVydHksCmRpZmYg LS1naXQgYS9zcmNwa2dzL2NvZGVibG9ja3MvcGF0Y2hlcy8wMDAudjIwLjAzLXIxMjAwOC5wYXRj aCBiL3NyY3BrZ3MvY29kZWJsb2Nrcy9wYXRjaGVzLzAwMC5yMTIwMDgucGF0Y2gKc2ltaWxhcml0 eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHNyY3BrZ3MvY29kZWJsb2Nrcy9wYXRjaGVzLzAwMC52 MjAuMDMtcjEyMDA4LnBhdGNoCnJlbmFtZSB0byBzcmNwa2dzL2NvZGVibG9ja3MvcGF0Y2hlcy8w MDAucjEyMDA4LnBhdGNoCmRpZmYgLS1naXQgYS9zcmNwa2dzL2NvZGVibG9ja3MvcGF0Y2hlcy8w MDEudjIwLjAzLXIxMjAxMi5wYXRjaCBiL3NyY3BrZ3MvY29kZWJsb2Nrcy9wYXRjaGVzLzAwMC5y MTIwMTIucGF0Y2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHNyY3BrZ3MvY29k ZWJsb2Nrcy9wYXRjaGVzLzAwMS52MjAuMDMtcjEyMDEyLnBhdGNoCnJlbmFtZSB0byBzcmNwa2dz L2NvZGVibG9ja3MvcGF0Y2hlcy8wMDAucjEyMDEyLnBhdGNoCmRpZmYgLS1naXQgYS9zcmNwa2dz L2NvZGVibG9ja3MvcGF0Y2hlcy8wMDAucjEyNTMyLnBhdGNoIGIvc3JjcGtncy9jb2RlYmxvY2tz L3BhdGNoZXMvMDAwLnIxMjUzMi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAwMDAwLi4xNWEyZmZmMjhlMmU3Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9jb2Rl YmxvY2tzL3BhdGNoZXMvMDAwLnIxMjUzMi5wYXRjaApAQCAtMCwwICsxLDEzIEBACitJbmRleDog c3JjL2luY2x1ZGUvY2NtYW5hZ2VyLmgKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBhL3NyYy9pbmNsdWRlL2Nj bWFuYWdlci5oCShyZXZpc2lvbiAxMjUzMSkKKysrKyBiL3NyYy9pbmNsdWRlL2NjbWFuYWdlci5o CShyZXZpc2lvbiAxMjUzMikKK0BAIC00NCw3ICs0NCw3IEBACisgICogbGlzdCBvciB0aGUgZG94 eWdlbiBwb3B1cCwgdGhlIHNjcm9sbCBldmVudCBpcyBpbnN0ZWFkIHNlbnQgdGhlcmUgKGFuZCBz a2lwcGVkIGZvciB0aGUgZWRpdG9yCisgICogd2luZG93KS4KKyAgKi8KKy1jbGFzcyBETExJTVBP UlQgQ0NNYW5hZ2VyIDogcHVibGljIE1ncjxDQ01hbmFnZXI+LCB3eEV2dEhhbmRsZXIKKytjbGFz cyBETExJTVBPUlQgQ0NNYW5hZ2VyIDogcHVibGljIE1ncjxDQ01hbmFnZXI+LCBwdWJsaWMgd3hF dnRIYW5kbGVyCisgeworICAgICBwdWJsaWM6CisgICAgICAgICBmcmllbmQgY2xhc3MgTWdyPEND TWFuYWdlcj47CmRpZmYgLS1naXQgYS9zcmNwa2dzL2NvZGVibG9ja3MvcGF0Y2hlcy8wMDAucjEy NTgwLnBhdGNoIGIvc3JjcGtncy9jb2RlYmxvY2tzL3BhdGNoZXMvMDAwLnIxMjU4MC5wYXRjaApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwLi43OTMwYzVjNTY3N2IyCi0t LSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9jb2RlYmxvY2tzL3BhdGNoZXMvMDAwLnIxMjU4MC5w YXRjaApAQCAtMCwwICsxLDk0NCBAQAorSW5kZXg6IHNyYy9zcmMvbm90ZWJvb2tzdHlsZXMuaAor PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQorLS0tIGEvc3JjL3NyYy9ub3RlYm9va3N0eWxlcy5oCShyZXZpc2lvbiAxMjU3 OSkKKysrKyBiL3NyYy9zcmMvbm90ZWJvb2tzdHlsZXMuaAkocmV2aXNpb24gMTI1ODApCitAQCAt OCwxNCArOCw2IEBACisgCisgI2luY2x1ZGUgImNiYXVpYm9vay5oIgorIAorLSNpZiBkZWZpbmVk KF9fV1hHVEtfXykgJiYgKFVTRV9HVEtfTk9URUJPT0spICYmICF3eENIRUNLX1ZFUlNJT04oMywg MCwgMCkKKy0gICAgI2RlZmluZSBHU29ja2V0IEdMaWJTb2NrZXQKKy0gICAgI2luY2x1ZGUgPGd0 ay9ndGsuaD4KKy0gICAgI3VuZGVmIEdTb2NrZXQKKy0gICAgI2luY2x1ZGUgPHd4L2FydHByb3Yu aD4KKy0jZW5kaWYKKy0KKy0KKyBjbGFzcyB3eERDOworIGNsYXNzIHd4V2luZG93OworIGNsYXNz IHd4UmVjdDsKK0BAIC01MywzNSArNDUsNCBAQAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBjb25zdCB3eFNpemUmIHJlcXVpcmVkX2JtcF9zaXplKSBvdmVycmlkZTsKKyB9OworIAorLSNp ZiBkZWZpbmVkKF9fV1hHVEtfXykgJiYgKFVTRV9HVEtfTk9URUJPT0spICYmICF3eENIRUNLX1ZF UlNJT04oMywgMCwgMCkKKy1jbGFzcyBOYlN0eWxlR1RLIDogcHVibGljIHd4QXVpRGVmYXVsdFRh YkFydAorLXsKKy1wdWJsaWM6CistICAgIE5iU3R5bGVHVEsoKTsKKy0KKy0gICAgdmlydHVhbCB3 eEF1aVRhYkFydCogQ2xvbmUoKTsKKy0gICAgdmlydHVhbCB2b2lkIERyYXdCYWNrZ3JvdW5kKHd4 REMmIGRjLCB3eFdpbmRvdyogd25kLCBjb25zdCB3eFJlY3QmIHJlY3QpOworLSAgICB2aXJ0dWFs IHZvaWQgRHJhd1RhYih3eERDJiBkYywKKy0gICAgICAgICAgICAgICAgICAgICAgICAgd3hXaW5k b3cqIHduZCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgd3hBdWlOb3RlYm9va1Bh Z2UmIHBhZ2UsCistICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHd4UmVjdCYgaW5fcmVj dCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgaW50IGNsb3NlX2J1dHRvbl9zdGF0ZSwKKy0g ICAgICAgICAgICAgICAgICAgICAgICAgd3hSZWN0KiBvdXRfdGFiX3JlY3QsCistICAgICAgICAg ICAgICAgICAgICAgICAgIHd4UmVjdCogb3V0X2J1dHRvbl9yZWN0LAorLSAgICAgICAgICAgICAg ICAgICAgICAgICBpbnQqIHhfZXh0ZW50KTsKKy0gICAgdm9pZCBEcmF3QnV0dG9uKHd4REMmIGRj LCB3eFdpbmRvdyogd25kLCBjb25zdCB3eFJlY3QmIGluX3JlY3QsIGludCBiaXRtYXBfaWQsCist ICAgICAgICAgICAgICAgICAgICBpbnQgYnV0dG9uX3N0YXRlLCBpbnQgb3JpZW50YXRpb24sIHd4 UmVjdCogb3V0X3JlY3QpOworLSAgICBpbnQgR2V0QmVzdFRhYkN0cmxTaXplKHd4V2luZG93KiB3 bmQsIGNvbnN0IHd4QXVpTm90ZWJvb2tQYWdlQXJyYXkmIHBhZ2VzLAorLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICBjb25zdCB3eFNpemUmIHJlcXVpcmVkX2JtcF9zaXplKTsKKy0gICAgdmly dHVhbCB3eFNpemUgR2V0VGFiU2l6ZSh3eERDJiBkYywgd3hXaW5kb3cqIHduZCwgY29uc3Qgd3hT dHJpbmcmIGNhcHRpb24sIGNvbnN0IHd4Qml0bWFwJiBiaXRtYXAsIGJvb2wgYWN0aXZlLAorLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBjbG9zZV9idXR0b25fc3RhdGUsIGludCog eF9leHRlbnQpOworLXByaXZhdGU6CistICAgIGludCBtX1h0aGlja25lc3M7CistICAgIGludCBt X1l0aGlja25lc3M7CistICAgIGludCBtX1RhYkhCb3JkZXI7CistICAgIGludCBtX1RhYlZCb3Jk ZXI7CistICAgIHd4Qml0bWFwIG1fQWN0aXZlQ2xvc2VCdXR0b247CistfTsKKy0jZW5kaWYgLy8g I2lmIGRlZmluZWQoX19XWEdUS19fKSAmJiAoVVNFX0dUS19OT1RFQk9PSykgJiYgIXd4Q0hFQ0tf VkVSU0lPTigzLCAwLCAwKQorLQorICNlbmRpZiAvLyBOT1RFQk9PS1NUWUxFU19ICitJbmRleDog c3JjL3BsdWdpbnMvY29tcGlsZXJnY2MvY29tcGlsZXJvcHRpb25zZGxnLmNwcAorPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQorLS0tIGEvc3JjL3BsdWdpbnMvY29tcGlsZXJnY2MvY29tcGlsZXJvcHRpb25zZGxnLmNwcAko cmV2aXNpb24gMTI1NzkpCisrKysgYi9zcmMvcGx1Z2lucy9jb21waWxlcmdjYy9jb21waWxlcm9w dGlvbnNkbGcuY3BwCShyZXZpc2lvbiAxMjU4MCkKK0BAIC02NzcsMTMgKzY3Nyw5IEBACisgICAg IHd4UEdQcm9wZXJ0eSAqcm9vdCA9IG1fRmxhZ3NQRy0+R2V0Um9vdCgpOworICAgICBpZiAocm9v dCkKKyAgICAgeworLSAgICAgICAgdW5zaWduZWQgY291bnQgPSByb290LT5HZXRDaGlsZENvdW50 KCk7CisrICAgICAgICBjb25zdCB1bnNpZ25lZCBjb3VudCA9IHJvb3QtPkdldENoaWxkQ291bnQo KTsKKyAgICAgICAgIGZvciAodW5zaWduZWQgaWkgPSAwOyBpaSA8IGNvdW50OyArK2lpKQorLSNp ZiB3eENIRUNLX1ZFUlNJT04oMywgMCwgMCkKKyAgICAgICAgICAgICBtX0ZsYWdzUEctPlNvcnRD aGlsZHJlbihyb290LT5JdGVtKGlpKSwgd3hQR19SRUNVUlNFKTsKKy0jZWxzZQorLSAgICAgICAg ICAgIG1fRmxhZ3NQRy0+U29ydChyb290LT5JdGVtKGlpKSk7CistI2VuZGlmCisgICAgIH0KKyAg ICAgbV9GbGFnc1BHLT5UaGF3KCk7CisgfSAvLyBEb0ZpbGxPcHRpb25zCitAQCAtMjExOCwxMSAr MjExNCw3IEBACisgICAgIENvbXBpbGVyRmFjdG9yeTo6U2V0RGVmYXVsdENvbXBpbGVyKGlkeCk7 CisgICAgIHd4U3RyaW5nIG1zZzsKKyAgICAgQ29tcGlsZXIqIGNvbXBpbGVyID0gQ29tcGlsZXJG YWN0b3J5OjpHZXREZWZhdWx0Q29tcGlsZXIoKTsKKy0gICAgI2lmIHd4Q0hFQ0tfVkVSU0lPTigz LCAwLCAwKQorLSAgICBtc2cuUHJpbnRmKF8oIiVzIGlzIG5vdyBzZWxlY3RlZCBhcyB0aGUgZGVm YXVsdCBjb21waWxlciBmb3IgbmV3IHByb2plY3RzIiksIGNvbXBpbGVyID8gY29tcGlsZXItPkdl dE5hbWUoKS53eF9zdHIoKSA6IF8oIltpbnZhbGlkXSIpLnd4X3N0cigpKTsKKy0gICAgI2Vsc2UK Ky0gICAgbXNnLlByaW50ZihfKCIlcyBpcyBub3cgc2VsZWN0ZWQgYXMgdGhlIGRlZmF1bHQgY29t cGlsZXIgZm9yIG5ldyBwcm9qZWN0cyIpLCBjb21waWxlciA/IGNvbXBpbGVyLT5HZXROYW1lKCku Y19zdHIoKSA6IF8oIltpbnZhbGlkXSIpKTsKKy0gICAgI2VuZGlmCisrICAgIG1zZy5QcmludGYo XygiJXMgaXMgbm93IHNlbGVjdGVkIGFzIHRoZSBkZWZhdWx0IGNvbXBpbGVyIGZvciBuZXcgcHJv amVjdHMiKSwgY29tcGlsZXIgPyBjb21waWxlci0+R2V0TmFtZSgpIDogXygiW2ludmFsaWRdIikp OworICAgICBjYk1lc3NhZ2VCb3gobXNnKTsKKyB9IC8vIE9uU2V0RGVmYXVsdENvbXBpbGVyQ2xp Y2sKKyAKK0luZGV4OiBzcmMvc2RrL3RlbXBsYXRlbWFuYWdlci5jcHAKKz09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0t LSBhL3NyYy9zZGsvdGVtcGxhdGVtYW5hZ2VyLmNwcAkocmV2aXNpb24gMTI1NzkpCisrKysgYi9z cmMvc2RrL3RlbXBsYXRlbWFuYWdlci5jcHAJKHJldmlzaW9uIDEyNTgwKQorQEAgLTE4NiwxMSAr MTg2LDcgQEAKKyAgICAgICAgICAgICArK2NvdW50OworICAgICAgICAgfQorICAgICAgICAgZWxz ZQorLSAgICAgICAgICAgICNpZiB3eENIRUNLX1ZFUlNJT04oMywgMCwgMCkKKyAgICAgICAgICAg ICBNYW5hZ2VyOjpHZXQoKS0+R2V0TG9nTWFuYWdlcigpLT5EZWJ1Z0xvZyhGKF9UKCJGYWlsZWQg Y29weWluZyAlcyB0byAlcyIpLCBzcmMud3hfc3RyKCksIGRzdC53eF9zdHIoKSkpOworLSAgICAg ICAgICAgICNlbHNlCistICAgICAgICAgICAgTWFuYWdlcjo6R2V0KCktPkdldExvZ01hbmFnZXIo KS0+RGVidWdMb2coRihfVCgiRmFpbGVkIGNvcHlpbmcgJXMgdG8gJXMiKSwgc3JjLmNfc3RyKCks IGRzdC5jX3N0cigpKSk7CistICAgICAgICAgICAgI2VuZGlmCisgICAgIH0KKyAgICAgaWYgKGNv dW50ICE9IHRvdGFsX2NvdW50KQorICAgICAgICAgY2JNZXNzYWdlQm94KF8oIlNvbWUgZmlsZXMg Y291bGQgbm90IGJlIGxvYWRlZCB3aXRoIHRoZSB0ZW1wbGF0ZS4uLiIpLCBfKCJFcnJvciIpLCB3 eElDT05fRVJST1IpOworQEAgLTMwMywyMSArMjk5LDEzIEBACisgICAgIHsKKyAgICAgICAgIHd4 U3RyaW5nIHNyYyA9ICgqaXQpLT5maWxlLkdldEZ1bGxQYXRoKCk7CisgICAgICAgICB3eFN0cmlu ZyBkc3QgPSB0ZW1wbCArICgqaXQpLT5yZWxhdGl2ZVRvQ29tbW9uVG9wTGV2ZWxQYXRoOworLSAg ICAgICAgI2lmIHd4Q0hFQ0tfVkVSU0lPTigzLCAwLCAwKQorICAgICAgICAgTWFuYWdlcjo6R2V0 KCktPkdldExvZ01hbmFnZXIoKS0+RGVidWdMb2coRihfVCgiQ29weWluZyAlcyB0byAlcyIpLCBz cmMud3hfc3RyKCksIGRzdC53eF9zdHIoKSkpOworLSAgICAgICAgI2Vsc2UKKy0gICAgICAgIE1h bmFnZXI6OkdldCgpLT5HZXRMb2dNYW5hZ2VyKCktPkRlYnVnTG9nKEYoX1QoIkNvcHlpbmcgJXMg dG8gJXMiKSwgc3JjLmNfc3RyKCksIGRzdC5jX3N0cigpKSk7CistICAgICAgICAjZW5kaWYKKyAg ICAgICAgIGlmICghQ3JlYXRlRGlyUmVjdXJzaXZlbHkoZHN0KSkKKyAgICAgICAgICAgICBNYW5h Z2VyOjpHZXQoKS0+R2V0TG9nTWFuYWdlcigpLT5EZWJ1Z0xvZyhfVCgiRmFpbGVkIGNyZWF0aW5n IGRpcmVjdG9yeSBmb3IgIikgKyBkc3QpOworICAgICAgICAgaWYgKHd4Q29weUZpbGUoc3JjLCBk c3QsIHRydWUpKQorICAgICAgICAgICAgICsrY291bnQ7CisgICAgICAgICBlbHNlCistICAgICAg ICAgICAgI2lmIHd4Q0hFQ0tfVkVSU0lPTigzLCAwLCAwKQorICAgICAgICAgICAgIE1hbmFnZXI6 OkdldCgpLT5HZXRMb2dNYW5hZ2VyKCktPkRlYnVnTG9nKEYoX1QoIkZhaWxlZCBjb3B5aW5nICVz IHRvICVzIiksIHNyYy53eF9zdHIoKSwgZHN0Lnd4X3N0cigpKSk7CistICAgICAgICAgICAgI2Vs c2UKKy0gICAgICAgICAgICBNYW5hZ2VyOjpHZXQoKS0+R2V0TG9nTWFuYWdlcigpLT5EZWJ1Z0xv ZyhGKF9UKCJGYWlsZWQgY29weWluZyAlcyB0byAlcyIpLCBzcmMuY19zdHIoKSwgZHN0LmNfc3Ry KCkpKTsKKy0gICAgICAgICAgICAjZW5kaWYKKyAgICAgfQorIAorICAgICAvLyBjYlByb2plY3Qg ZG9lc24ndCBoYXZlIGEgR2V0UmVsYXRpdmVUb0NvbW1vblRvcExldmVsUGF0aCgpIGZ1bmN0aW9u LCBzbyB3ZSBzaW11bGF0ZSBpdCBoZXJlCitJbmRleDogc3JjL3NyYy9hc3NvY2lhdGlvbnMuY3Bw Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09CistLS0gYS9zcmMvc3JjL2Fzc29jaWF0aW9ucy5jcHAJKHJldmlzaW9uIDEy NTc5KQorKysrIGIvc3JjL3NyYy9hc3NvY2lhdGlvbnMuY3BwCShyZXZpc2lvbiAxMjU4MCkKK0BA IC0yMDEsMTEgKzIwMSw3IEBACisgICAgIGlmIChrZXkuRXhpc3RzKCkpCisgICAgIHsKKyAgICAg ICAgIHd4U3RyaW5nIHM7CistICAgICAgICAjaWYgd3hDSEVDS19WRVJTSU9OKDMsIDAsIDApCisg ICAgICAgICBpZiAoa2V5LlF1ZXJ5VmFsdWUod3hFbXB0eVN0cmluZywgcykgJiYgcy5TdGFydHNX aXRoKF9UKCJDb2RlQmxvY2tzIikpKQorLSAgICAgICAgI2Vsc2UKKy0gICAgICAgIGlmIChrZXku UXVlcnlWYWx1ZShOVUxMLCBzKSAmJiBzLlN0YXJ0c1dpdGgoX1QoIkNvZGVCbG9ja3MiKSkpCist ICAgICAgICAjZW5kaWYKKyAgICAgICAgICAgICBrZXkuRGVsZXRlU2VsZigpOworICAgICB9Cisg CitJbmRleDogc3JjL3NyYy9kbGdhYm91dC5jcHAKKz09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBhL3NyYy9zcmMv ZGxnYWJvdXQuY3BwCShyZXZpc2lvbiAxMjU3OSkKKysrKyBiL3NyYy9zcmMvZGxnYWJvdXQuY3Bw CShyZXZpc2lvbiAxMjU4MCkKK0BAIC0yMCw5ICsyMCw3IEBACisgICAgICNpbmNsdWRlIDx3eC9z dHJpbmcuaD4KKyAgICAgI2luY2x1ZGUgPHd4L3RleHRjdHJsLmg+CisgICAgICNpbmNsdWRlIDx3 eC94cmMveG1scmVzLmg+CistICAgICNpZiB3eENIRUNLX1ZFUlNJT04oMywgMCwgMCkKKy0gICAg ICAgICNpbmNsdWRlIDx3eC92ZXJzaW9uaW5mby5oPgorLSAgICAjZW5kaWYgLy8gd3hDSEVDS19W RVJTSU9OCisrICAgICNpbmNsdWRlIDx3eC92ZXJzaW9uaW5mby5oPgorIAorICAgICAjaW5jbHVk ZSAibGljZW5zZXMuaCIKKyAgICAgI2luY2x1ZGUgImNvbmZpZ21hbmFnZXIuaCIKK0BAIC0xNDYs MTUgKzE0NCwxMSBAQAorICAgICB3eFRleHRDdHJsICp0eHRMaWNlbnNlID0gWFJDQ1RSTCgqdGhp cywgInR4dExpY2Vuc2UiLCB3eFRleHRDdHJsKTsKKyAgICAgdHh0TGljZW5zZS0+U2V0VmFsdWUo TElDRU5TRV9HUEwpOworIAorLSNpZiB3eENIRUNLX1ZFUlNJT04oMywgMCwgMCkKKyAgICAgY29u c3Qgd3hWZXJzaW9uSW5mbyBzY2ludGlsbGFWZXJzaW9uID0gd3hTY2ludGlsbGE6OkdldExpYnJh cnlWZXJzaW9uSW5mbygpOworICAgICBjb25zdCB3eFN0cmluZyBzY2ludGlsbGFTdHIgPSB3eFN0 cmluZzo6Rm9ybWF0KHd4VCgiJWQuJWQuJWQiKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzY2ludGlsbGFWZXJzaW9uLkdldE1ham9yKCksCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NpbnRp bGxhVmVyc2lvbi5HZXRNaW5vcigpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHNjaW50aWxsYVZlcnNpb24uR2V0TWljcm8oKSk7CistI2Vsc2UK Ky0gICAgY29uc3Qgd3hTdHJpbmcgc2NpbnRpbGxhU3RyID0gd3hTQ0lOVElMTEFfVkVSU0lPTjsK Ky0jZW5kaWYgLy8gd3hDSEVDS19WRVJTSU9OCisgCisgICAgIHN0cnVjdCBJdGVtCisgICAgIHsK K0BAIC0yMTgsOSArMjEyLDcgQEAKKyAgICAgICAgIGluZm9ybWF0aW9uICs9IHd4VCgiOiAiKSAr IGl0ZW0udmFsdWUgKyB3eFQoIlxuIik7CisgICAgIH0KKyAKKy0jaWYgd3hDSEVDS19WRVJTSU9O KDMsIDAsIDApCisgICAgIGluZm9ybWF0aW9uICs9IHd4VCgiXG4iKSArIHd4R2V0TGlicmFyeVZl cnNpb25JbmZvKCkuR2V0RGVzY3JpcHRpb24oKTsKKy0jZW5kaWYgLy8gd3hDSEVDS19WRVJTSU9O KDMsIDAsIDApCisgCisgICAgIHd4VGV4dEN0cmwgKnR4dEluZm9ybWF0aW9uID0gWFJDQ1RSTCgq dGhpcywgInR4dEluZm9ybWF0aW9uIiwgd3hUZXh0Q3RybCk7CisgICAgIHR4dEluZm9ybWF0aW9u LT5TZXRWYWx1ZShpbmZvcm1hdGlvbik7CitJbmRleDogc3JjL3NyYy9tYWluLmNwcAorPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQorLS0tIGEvc3JjL3NyYy9tYWluLmNwcAkocmV2aXNpb24gMTI1NzkpCisrKysgYi9zcmMv c3JjL21haW4uY3BwCShyZXZpc2lvbiAxMjU4MCkKK0BAIC0yMDc1LDExICsyMDc1LDcgQEAKKyAg ICAgICAgIHsKKyAgICAgICAgICAgICBpZiAoIWl0ZW1zW2ldLT5Jc0NoZWNrYWJsZSgpKQorICAg ICAgICAgICAgICAgICBjb250aW51ZTsKKy0jaWYgd3hDSEVDS19WRVJTSU9OKDMsIDAsIDApCisg ICAgICAgICAgICAgaXRlbXNbaV0tPkNoZWNrKGl0ZW1zW2ldLT5HZXRJdGVtTGFiZWwoKS5Jc1Nh bWVBcyhuYW1lKSk7CistI2Vsc2UKKy0gICAgICAgICAgICBpdGVtc1tpXS0+Q2hlY2soaXRlbXNb aV0tPkdldFRleHQoKS5Jc1NhbWVBcyhuYW1lKSk7CistI2VuZGlmCisgICAgICAgICB9CisgCisg ICAgICAgICBpZiAoIW1fTGFzdExheW91dElzVGVtcCkKK0BAIC0yNDAxLDEyICsyMzk3LDcgQEAK KyAgICAgICAgICAgICBicmVhazsKKyAKKyAgICAgICAgIGRlZmF1bHQ6IC8vIGRlZmF1bHQgc3R5 bGUKKy0gICAgICAgICAgICAjaWYgZGVmaW5lZChfX1dYR1RLX18pICYmIChVU0VfR1RLX05PVEVC T09LKSAmJiAhd3hDSEVDS19WRVJTSU9OKDMsIDAsIDApCistICAgICAgICAgICAgdGFyZ2V0LT5T ZXRBcnRQcm92aWRlcihuZXcgTmJTdHlsZUdUSygpKTsKKy0gICAgICAgICAgICAjZWxzZQorICAg ICAgICAgICAgIHRhcmdldC0+U2V0QXJ0UHJvdmlkZXIobmV3IHd4QXVpRGVmYXVsdFRhYkFydCgp KTsKKy0gICAgICAgICAgICAjZW5kaWYKKy0gICAgICAgICAgICBicmVhazsKKyAgICAgfQorIAor ICAgICB0YXJnZXQtPlNldFRhYkN0cmxIZWlnaHQoLTEpOworQEAgLTQ4MDEsMTMgKzQ3OTIsOSBA QAorIAorICAgICBpZiAoTWFuYWdlcjo6R2V0KCktPkdldEVkaXRvck1hbmFnZXIoKSAmJiBldmVu dC5HZXRFZGl0b3IoKSA9PSBNYW5hZ2VyOjpHZXQoKS0+R2V0RWRpdG9yTWFuYWdlcigpLT5HZXRB Y3RpdmVFZGl0b3IoKSkKKyAgICAgeworLSNpZiB3eENIRUNLX1ZFUlNJT04oMywgMCwgMCkKKyAg ICAgICAgIC8vIEV4ZWN1dGUgdGhlIGNvZGUgdG8gdXBkYXRlIHRoZSBzdGF0dXMgYmFyIG91dHNp ZGUgb2YgdGhlIHBhaW50IGV2ZW50IGZvciBzY2ludGlsbGEuCisgICAgICAgICAvLyBFeGVjdXRp bmcgdGhpcyBmdW5jdGlvbiBkaXJlY3RseSBpbiB0aGUgZXZlbnQgaGFuZGxlciBjYXVzZXMgcmVk cmF3IHByb2JsZW1zIG9uIFdpbmRvd3MuCisgICAgICAgICBDYWxsQWZ0ZXIoJk1haW5GcmFtZTo6 RG9VcGRhdGVTdGF0dXNCYXIpOworLSNlbHNlCistICAgICAgICBEb1VwZGF0ZVN0YXR1c0Jhcigp OworLSNlbmRpZiAvLyBkZWZpbmVkKF9fd3hNU1dfXykgJiYgd3hDSEVDS19WRVJTSU9OKDMsIDAs IDApCisgICAgIH0KKyAKKyAgICAgZXZlbnQuU2tpcCgpOworSW5kZXg6IHNyYy9zcmMvbm90ZWJv b2tzdHlsZXMuY3BwCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gYS9zcmMvc3JjL25vdGVib29rc3R5bGVzLmNw cAkocmV2aXNpb24gMTI1NzkpCisrKysgYi9zcmMvc3JjL25vdGVib29rc3R5bGVzLmNwcAkocmV2 aXNpb24gMTI1ODApCitAQCAtMTMsMTQgKzEzLDYgQEAKKyAjaW5jbHVkZSAicHJlcC5oIgorICNp bmNsdWRlICJub3RlYm9va3N0eWxlcy5oIgorIAorLSNpZiBkZWZpbmVkKF9fV1hHVEtfXykgJiYg KFVTRV9HVEtfTk9URUJPT0spICYmICF3eENIRUNLX1ZFUlNJT04oMywgMCwgMCkKKy0gICAgI2Rl ZmluZSBHU29ja2V0IEdMaWJTb2NrZXQKKy0gICAgI2luY2x1ZGUgPGd0ay9ndGsuaD4KKy0gICAg I3VuZGVmIEdTb2NrZXQKKy0gICAgI2luY2x1ZGUgPHd4L2FydHByb3YuaD4KKy0gICAgI2luY2x1 ZGUgPHd4L3JlbmRlcmVyLmg+CistI2VuZGlmCistCisgI2luY2x1ZGUgPHd4L2RjLmg+CisgI2lu Y2x1ZGUgPHd4L2RjY2xpZW50Lmg+CisgCitAQCAtNDIsMTUgKzM0LDkgQEAKKyB7CisgICAgIE5i U3R5bGVWQzcxKiBjbG9uZSA9IG5ldyBOYlN0eWxlVkM3MSgpOworIAorLSNpZiB3eENIRUNLX1ZF UlNJT04oMywgMCwgMCkKKyAgICAgY2xvbmUtPlNldE5vcm1hbEZvbnQobV9ub3JtYWxGb250KTsK KyAgICAgY2xvbmUtPlNldFNlbGVjdGVkRm9udChtX3NlbGVjdGVkRm9udCk7CisgICAgIGNsb25l LT5TZXRNZWFzdXJpbmdGb250KG1fbWVhc3VyaW5nRm9udCk7CistI2Vsc2UKKy0gICAgY2xvbmUt PlNldE5vcm1hbEZvbnQobV9ub3JtYWxfZm9udCk7CistICAgIGNsb25lLT5TZXRTZWxlY3RlZEZv bnQobV9zZWxlY3RlZF9mb250KTsKKy0gICAgY2xvbmUtPlNldE1lYXN1cmluZ0ZvbnQobV9tZWFz dXJpbmdfZm9udCk7CistI2VuZGlmCisgCisgICAgIHJldHVybiBjbG9uZTsKKyB9CitAQCAtNzUs MTEgKzYxLDcgQEAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbG9zZV9idXR0 b25fc3RhdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeF9leHRlbnQpOwor IAorLSNpZiB3eENIRUNLX1ZFUlNJT04oMywgMCwgMCkKKyAgICAgd3hDb29yZCB0YWJfaGVpZ2h0 ID0gbV90YWJDdHJsSGVpZ2h0IC0gMzsKKy0jZWxzZQorLSAgICB3eENvb3JkIHRhYl9oZWlnaHQg PSBtX3RhYl9jdHJsX2hlaWdodCAtIDM7CistI2VuZGlmCisgICAgIHd4Q29vcmQgdGFiX3dpZHRo ID0gdGFiX3NpemUueDsKKyAgICAgd3hDb29yZCB0YWJfeCA9IGluX3JlY3QueDsKKyAgICAgd3hD b29yZCB0YWJfeSA9IGluX3JlY3QueSArIGluX3JlY3QuaGVpZ2h0IC0gdGFiX2hlaWdodDsKK0BA IC0xNjYsMTcgKzE0OCwxMCBAQAorICAgICB3eENvb3JkIHRleHR4OworICAgICB3eENvb3JkIHRl eHR5OworICAgICBpZiAocGFnZS5hY3RpdmUpCistI2lmIHd4Q0hFQ0tfVkVSU0lPTigzLCAwLCAw KQorICAgICAgICAgZGMuU2V0Rm9udChtX3NlbGVjdGVkRm9udCk7CistI2Vsc2UKKy0gICAgICAg IGRjLlNldEZvbnQobV9zZWxlY3RlZF9mb250KTsKKy0jZW5kaWYKKyAgICAgZWxzZQorLSNpZiB3 eENIRUNLX1ZFUlNJT04oMywgMCwgMCkKKyAgICAgICAgIGRjLlNldEZvbnQobV9ub3JtYWxGb250 KTsKKy0jZWxzZQorLSAgICAgICAgZGMuU2V0Rm9udChtX25vcm1hbF9mb250KTsKKy0jZW5kaWYK KysKKyAgICAgZGMuR2V0VGV4dEV4dGVudChjYXB0aW9uLCAmdGV4dHgsICZ0ZXh0eSk7CisgICAg IC8vIGRyYXcgdGFiIHRleHQKKyAgICAgZGMuU2V0VGV4dEZvcmVncm91bmQod3hTeXN0ZW1TZXR0 aW5nczo6R2V0Q29sb3VyKHd4U1lTX0NPTE9VUl9CVE5URVhUKSk7CitAQCAtMTg2LDIxICsxNjEs MTIgQEAKKyAgICAgLy8gZHJhdyAneCcgb24gdGFiIChpZiBlbmFibGVkKQorICAgICBpZiAoY2xv c2VfYnV0dG9uX3N0YXRlICE9IHd4QVVJX0JVVFRPTl9TVEFURV9ISURERU4pCisgICAgIHsKKy0j aWYgd3hDSEVDS19WRVJTSU9OKDMsIDAsIDApCisgICAgICAgICBpbnQgY2xvc2VfYnV0dG9uX3dp ZHRoID0gbV9hY3RpdmVDbG9zZUJtcC5HZXRXaWR0aCgpOworICAgICAgICAgd3hCaXRtYXAgYm1w ID0gbV9kaXNhYmxlZENsb3NlQm1wOworLSNlbHNlCistICAgICAgICBpbnQgY2xvc2VfYnV0dG9u X3dpZHRoID0gbV9hY3RpdmVfY2xvc2VfYm1wLkdldFdpZHRoKCk7CistICAgICAgICB3eEJpdG1h cCBibXAgPSBtX2Rpc2FibGVkX2Nsb3NlX2JtcDsKKy0jZW5kaWYKKyAKKyAgICAgICAgIGlmICgo Y2xvc2VfYnV0dG9uX3N0YXRlID09IHd4QVVJX0JVVFRPTl9TVEFURV9IT1ZFUikgfHwKKyAgICAg ICAgICAgICAgICAgICAgIChjbG9zZV9idXR0b25fc3RhdGUgPT0gd3hBVUlfQlVUVE9OX1NUQVRF X1BSRVNTRUQpKQorLSNpZiB3eENIRUNLX1ZFUlNJT04oMywgMCwgMCkKKyAgICAgICAgICAgICBi bXAgPSBtX2FjdGl2ZUNsb3NlQm1wOworLSNlbHNlCistICAgICAgICAgICAgYm1wID0gbV9hY3Rp dmVfY2xvc2VfYm1wOworLSNlbmRpZgorIAorICAgICAgICAgd3hSZWN0IHJlY3QodGFiX3ggKyB0 YWJfd2lkdGggLSBjbG9zZV9idXR0b25fd2lkdGggLSAzLAorICAgICAgICAgICAgICAgICAgICAg ZHJhd25fdGFiX3lvZmYgKyAoZHJhd25fdGFiX2hlaWdodCAvIDIpIC0gKGJtcC5HZXRIZWlnaHQo KSAvIDIpLAorQEAgLTIyNywxMSArMTkzLDcgQEAKKyAvLyAgICBtX3JlcXVlc3RlZF90YWJjdHJs X2hlaWdodCA9IC0xOworIC8vICAgIG1fdGFiX2N0cmxfaGVpZ2h0ID0gLTE7CisgICAgIHd4Q2xp ZW50REMgZGMod25kKTsKKy0jaWYgd3hDSEVDS19WRVJTSU9OKDMsIDAsIDApCisgICAgIGRjLlNl dEZvbnQobV9tZWFzdXJpbmdGb250KTsKKy0jZWxzZQorLSAgICBkYy5TZXRGb250KG1fbWVhc3Vy aW5nX2ZvbnQpOworLSNlbmRpZgorICAgICBpbnQgeF9leHQgPSAwOworICAgICB3eFNpemUgcyA9 IEdldFRhYlNpemUoZGMsIHduZCwgd3hUKCJBQkNERUZHSElqIiksIHd4TnVsbEJpdG1hcCwgdHJ1 ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd3hBVUlfQlVUVE9OX1NUQVRFX0hJRERF TiwgJnhfZXh0KTsKK0BAIC0yNDYsMTUgKzIwOCw5IEBACisgeworICAgICBOYlN0eWxlRkYyKiBj bG9uZSA9IG5ldyBOYlN0eWxlRkYyKCk7CisgCistI2lmIHd4Q0hFQ0tfVkVSU0lPTigzLCAwLCAw KQorICAgICBjbG9uZS0+U2V0Tm9ybWFsRm9udChtX25vcm1hbEZvbnQpOworICAgICBjbG9uZS0+ U2V0U2VsZWN0ZWRGb250KG1fc2VsZWN0ZWRGb250KTsKKyAgICAgY2xvbmUtPlNldE1lYXN1cmlu Z0ZvbnQobV9tZWFzdXJpbmdGb250KTsKKy0jZWxzZQorLSAgICBjbG9uZS0+U2V0Tm9ybWFsRm9u dChtX25vcm1hbF9mb250KTsKKy0gICAgY2xvbmUtPlNldFNlbGVjdGVkRm9udChtX3NlbGVjdGVk X2ZvbnQpOworLSAgICBjbG9uZS0+U2V0TWVhc3VyaW5nRm9udChtX21lYXN1cmluZ19mb250KTsK Ky0jZW5kaWYKKyAKKyAgICAgcmV0dXJuIGNsb25lOworIH0KK0BAIC0yNzIsMTEgKzIyOCw3IEBA CisgICAgIHd4U2l6ZSB0YWJfc2l6ZSA9IEdldFRhYlNpemUoZGMsIHduZCwgcGFnZS5jYXB0aW9u LCBwYWdlLmJpdG1hcCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWdl LmFjdGl2ZSwgY2xvc2VfYnV0dG9uX3N0YXRlLCB4X2V4dGVudCk7CisgCistI2lmIHd4Q0hFQ0tf VkVSU0lPTigzLCAwLCAwKQorICAgICB3eENvb3JkIHRhYl9oZWlnaHQgPSBtX3RhYkN0cmxIZWln aHQgLSAyOworLSNlbHNlCistICAgIHd4Q29vcmQgdGFiX2hlaWdodCA9IG1fdGFiX2N0cmxfaGVp Z2h0IC0gMjsKKy0jZW5kaWYKKyAgICAgd3hDb29yZCB0YWJfd2lkdGggPSB0YWJfc2l6ZS54Owor ICAgICB3eENvb3JkIHRhYl94ID0gaW5fcmVjdC54OworICAgICB3eENvb3JkIHRhYl95ID0gaW5f cmVjdC55ICsgaW5fcmVjdC5oZWlnaHQgLSB0YWJfaGVpZ2h0OworQEAgLTM2MCwxNyArMzEyLDEw IEBACisgICAgIHd4Q29vcmQgdGV4dHg7CisgICAgIHd4Q29vcmQgdGV4dHk7CisgICAgIGlmIChw YWdlLmFjdGl2ZSkKKy0jaWYgd3hDSEVDS19WRVJTSU9OKDMsIDAsIDApCisgICAgICAgICBkYy5T ZXRGb250KG1fc2VsZWN0ZWRGb250KTsKKy0jZWxzZQorLSAgICAgICAgZGMuU2V0Rm9udChtX3Nl bGVjdGVkX2ZvbnQpOworLSNlbmRpZgorICAgICBlbHNlCistI2lmIHd4Q0hFQ0tfVkVSU0lPTigz LCAwLCAwKQorICAgICAgICAgZGMuU2V0Rm9udChtX25vcm1hbEZvbnQpOworLSNlbHNlCistICAg ICAgICBkYy5TZXRGb250KG1fbm9ybWFsX2ZvbnQpOworLSNlbmRpZgorKworICAgICBkYy5HZXRU ZXh0RXh0ZW50KGNhcHRpb24sICZ0ZXh0eCwgJnRleHR5KTsKKyAgICAgLy8gZHJhdyB0YWIgdGV4 dAorICAgICBkYy5TZXRUZXh0Rm9yZWdyb3VuZCh3eFN5c3RlbVNldHRpbmdzOjpHZXRDb2xvdXIo d3hTWVNfQ09MT1VSX0JUTlRFWFQpKTsKK0BAIC0zODAsMjEgKzMyNSwxMiBAQAorICAgICAvLyBk cmF3ICd4JyBvbiB0YWIgKGlmIGVuYWJsZWQpCisgICAgIGlmIChjbG9zZV9idXR0b25fc3RhdGUg IT0gd3hBVUlfQlVUVE9OX1NUQVRFX0hJRERFTikKKyAgICAgeworLSNpZiB3eENIRUNLX1ZFUlNJ T04oMywgMCwgMCkKKyAgICAgICAgIGludCBjbG9zZV9idXR0b25fd2lkdGggPSBtX2FjdGl2ZUNs b3NlQm1wLkdldFdpZHRoKCk7CisgICAgICAgICB3eEJpdG1hcCBibXAgPSBtX2Rpc2FibGVkQ2xv c2VCbXA7CistI2Vsc2UKKy0gICAgICAgIGludCBjbG9zZV9idXR0b25fd2lkdGggPSBtX2FjdGl2 ZV9jbG9zZV9ibXAuR2V0V2lkdGgoKTsKKy0gICAgICAgIHd4Qml0bWFwIGJtcCA9IG1fZGlzYWJs ZWRfY2xvc2VfYm1wOworLSNlbmRpZgorIAorICAgICAgICAgaWYgKChjbG9zZV9idXR0b25fc3Rh dGUgPT0gd3hBVUlfQlVUVE9OX1NUQVRFX0hPVkVSKSB8fAorICAgICAgICAgICAgICAgICAgICAg KGNsb3NlX2J1dHRvbl9zdGF0ZSA9PSB3eEFVSV9CVVRUT05fU1RBVEVfUFJFU1NFRCkpCistI2lm IHd4Q0hFQ0tfVkVSU0lPTigzLCAwLCAwKQorICAgICAgICAgICAgIGJtcCA9IG1fYWN0aXZlQ2xv c2VCbXA7CistI2Vsc2UKKy0gICAgICAgICAgICBibXAgPSBtX2FjdGl2ZV9jbG9zZV9ibXA7Cist I2VuZGlmCisgCisgICAgICAgICB3eFJlY3QgcmVjdCh0YWJfeCArIHRhYl93aWR0aCAtIGNsb3Nl X2J1dHRvbl93aWR0aCAtIDMsCisgICAgICAgICAgICAgICAgICAgICBkcmF3bl90YWJfeW9mZiAr IChkcmF3bl90YWJfaGVpZ2h0IC8gMikgLSAoYm1wLkdldEhlaWdodCgpIC8gMiksCitAQCAtNDIx LDUzMyArMzU3LDkgQEAKKyAvLyAgICBtX3JlcXVlc3RlZF90YWJjdHJsX2hlaWdodCA9IC0xOwor IC8vICAgIG1fdGFiX2N0cmxfaGVpZ2h0ID0gLTE7CisgICAgIHd4Q2xpZW50REMgZGMod25kKTsK Ky0jaWYgd3hDSEVDS19WRVJTSU9OKDMsIDAsIDApCisgICAgIGRjLlNldEZvbnQobV9tZWFzdXJp bmdGb250KTsKKy0jZWxzZQorLSAgICBkYy5TZXRGb250KG1fbWVhc3VyaW5nX2ZvbnQpOworLSNl bmRpZgorICAgICBpbnQgeF9leHQgPSAwOworICAgICB3eFNpemUgcyA9IEdldFRhYlNpemUoZGMs IHduZCwgd3hUKCJBQkNERUZHSElqIiksIHd4TnVsbEJpdG1hcCwgdHJ1ZSwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgd3hBVUlfQlVUVE9OX1NUQVRFX0hJRERFTiwgJnhfZXh0KTsKKyAg ICAgcmV0dXJuIHMueSArIDY7CisgfQorLQorLSNpZiBkZWZpbmVkKF9fV1hHVEtfXykgJiYgKFVT RV9HVEtfTk9URUJPT0spICYmICF3eENIRUNLX1ZFUlNJT04oMywgMCwgMCkKKy0KKy1uYW1lc3Bh Y2UKKy17CistCistc3RhdGljIEd0a1dpZGdldCAqZ193aW5kb3cgPSBudWxscHRyOworLXN0YXRp YyBHdGtXaWRnZXQgKmdfY29udGFpbmVyID0gbnVsbHB0cjsKKy1zdGF0aWMgR3RrV2lkZ2V0ICpn X25vdGVib29rID0gbnVsbHB0cjsKKy1zdGF0aWMgR3RrV2lkZ2V0ICpnX2J1dHRvbiA9IG51bGxw dHI7Cistc3RhdGljIGludCBzX0Nsb3NlSWNvblNpemUgPSAxNjsgLy8gZGVmYXVsdCBzaXplCist Cistc3RhdGljIHZvaWQgc2V0dXBfd2lkZ2V0X3Byb3RvdHlwZShHdGtXaWRnZXQqIHdpZGdldCkK Ky17CistICAgIGlmICghZ193aW5kb3cpCistICAgIHsKKy0gICAgICAgIGdfd2luZG93ID0gZ3Rr X3dpbmRvd19uZXcoR1RLX1dJTkRPV19QT1BVUCk7CistICAgICAgICBndGtfd2lkZ2V0X3JlYWxp emUoZ193aW5kb3cpOworLSAgICB9CistICAgIGlmICghZ19jb250YWluZXIpCistICAgIHsKKy0g ICAgICAgIGdfY29udGFpbmVyID0gZ3RrX2ZpeGVkX25ldygpOworLSAgICAgICAgZ3RrX2NvbnRh aW5lcl9hZGQoR1RLX0NPTlRBSU5FUihnX3dpbmRvdyksIGdfY29udGFpbmVyKTsKKy0gICAgfQor LQorLSAgICBndGtfY29udGFpbmVyX2FkZChHVEtfQ09OVEFJTkVSKGdfY29udGFpbmVyKSwgd2lk Z2V0KTsKKy0gICAgZ3RrX3dpZGdldF9yZWFsaXplKHdpZGdldCk7CistfQorLQorLXN0YXRpYyBH dGtTdHlsZSAqIGdldF9zdHlsZV9idXR0b24oKQorLXsKKy0gICAgaWYgKCFnX2J1dHRvbikKKy0g ICAgeworLSAgICAgICAgZ19idXR0b24gPSBndGtfYnV0dG9uX25ldygpOworLSAgICAgICAgc2V0 dXBfd2lkZ2V0X3Byb3RvdHlwZShnX2J1dHRvbik7CistICAgIH0KKy0gICAgcmV0dXJuIGd0a193 aWRnZXRfZ2V0X3N0eWxlKGdfYnV0dG9uKTsKKy19CistCistc3RhdGljIEd0a1N0eWxlICogZ2V0 X3N0eWxlX25vdGVib29rKCkKKy17CistICAgIGlmICghZ19ub3RlYm9vaykKKy0gICAgeworLSAg ICAgICAgZ19ub3RlYm9vayA9IGd0a19ub3RlYm9va19uZXcoKTsKKy0gICAgICAgIHNldHVwX3dp ZGdldF9wcm90b3R5cGUoZ19ub3RlYm9vayk7CistICAgIH0KKy0gICAgcmV0dXJuIGd0a193aWRn ZXRfZ2V0X3N0eWxlKGdfbm90ZWJvb2spOworLX0KKy0KKy19CistCistTmJTdHlsZUdUSzo6TmJT dHlsZUdUSygpOgorLSAgICBtX1h0aGlja25lc3MoMCksCistICAgIG1fWXRoaWNrbmVzcygwKSwK Ky0gICAgbV9UYWJIQm9yZGVyKDApLAorLSAgICBtX1RhYlZCb3JkZXIoMCkKKy0KKy17CistfQor LQorLXd4QXVpVGFiQXJ0KiBOYlN0eWxlR1RLOjpDbG9uZSgpCisteworLSAgICBOYlN0eWxlR1RL KiBjbG9uZSA9IG5ldyBOYlN0eWxlR1RLKCk7CistCistI2lmIHd4Q0hFQ0tfVkVSU0lPTigzLCAw LCAwKQorLSAgICBjbG9uZS0+U2V0Tm9ybWFsRm9udChtX25vcm1hbEZvbnQpOworLSAgICBjbG9u ZS0+U2V0U2VsZWN0ZWRGb250KG1fbm9ybWFsRm9udCk7CistICAgIGNsb25lLT5TZXRNZWFzdXJp bmdGb250KG1fbm9ybWFsRm9udCk7CistI2Vsc2UKKy0gICAgY2xvbmUtPlNldE5vcm1hbEZvbnQo bV9ub3JtYWxfZm9udCk7CistICAgIGNsb25lLT5TZXRTZWxlY3RlZEZvbnQobV9ub3JtYWxfZm9u dCk7CistICAgIGNsb25lLT5TZXRNZWFzdXJpbmdGb250KG1fbm9ybWFsX2ZvbnQpOworLSNlbmRp ZgorLQorLSAgICByZXR1cm4gY2xvbmU7CistfQorLQorLXZvaWQgTmJTdHlsZUdUSzo6RHJhd0Jh Y2tncm91bmQod3hEQyYgZGMsIHd4V2luZG93KiB3bmQsIGNvbnN0IHd4UmVjdCYgcmVjdCkKKy17 CistICAgIEd0a1N0eWxlKiBzdHlsZV9ub3RlYm9vayA9IGdldF9zdHlsZV9ub3RlYm9vaygpOwor LSAgICBHdGtOb3RlYm9vayogbm90ZWJvb2sgPSBHVEtfTk9URUJPT0sgKGdfbm90ZWJvb2spOwor LQorLSAgICAvLyBpZiBvbmUgb2YgdGhlIHBhcmFtZXRlcnMgaGF2ZSBjaGFuZ2VkLCB0aGUgaGVp Z2h0IG5lZWRzIHRvIGJlIHJlY2FsY3VsYXRlZCwgc28gd2UgZm9yY2UgaXQsCistICAgIGlmKG1f WHRoaWNrbmVzcyAgIT0gc3R5bGVfbm90ZWJvb2stPnh0aGlja25lc3MgfHwKKy0gICAgICAgbV9Z dGhpY2tuZXNzICAhPSBzdHlsZV9ub3RlYm9vay0+eXRoaWNrbmVzcyB8fAorLSAgICAgICBtX1Rh YlZCb3JkZXIgIT0gbm90ZWJvb2stPnRhYl92Ym9yZGVyIHx8CistICAgICAgIG1fVGFiSEJvcmRl ciAhPSBub3RlYm9vay0+dGFiX2hib3JkZXIpCistICAgIHsKKy0gICAgICAgIG1fWHRoaWNrbmVz cyAgPSBzdHlsZV9ub3RlYm9vay0+eHRoaWNrbmVzczsKKy0gICAgICAgIG1fWXRoaWNrbmVzcyAg PSBzdHlsZV9ub3RlYm9vay0+eXRoaWNrbmVzczsKKy0gICAgICAgIG1fVGFiVkJvcmRlciA9IG5v dGVib29rLT50YWJfdmJvcmRlcjsKKy0gICAgICAgIG1fVGFiSEJvcmRlciA9IG5vdGVib29rLT50 YWJfaGJvcmRlcjsKKy0gICAgICAgIHd4QXVpTm90ZWJvb2sqIG5iID0gbnVsbHB0cjsKKy0gICAg ICAgIGlmKHduZCkKKy0gICAgICAgICAgICAgbmIgPSAoY2JBdWlOb3RlYm9vayopd25kLT5HZXRQ YXJlbnQoKTsKKy0gICAgICAgIGlmKG5iKQorLSAgICAgICAgICAgIG5iLT5TZXRUYWJDdHJsSGVp Z2h0KC0xKTsKKy0gICAgfQorLSNpZiB3eENIRUNLX1ZFUlNJT04oMywgMCwgMCkKKy0gICAgd3hH VEtEQ0ltcGwgKmltcGxkYyA9ICh3eEdUS0RDSW1wbCopIGRjLkdldEltcGwoKTsKKy0gICAgR2Rr V2luZG93KiBwV2luID0gaW1wbGRjLT5HZXRHREtXaW5kb3coKTsKKy0jZWxzZQorLSAgICBHZGtX aW5kb3cqIHBXaW4gPSBkYy5HZXRHREtXaW5kb3coKTsKKy0jZW5kaWYKKy0gICAgZ3RrX3N0eWxl X2FwcGx5X2RlZmF1bHRfYmFja2dyb3VuZChzdHlsZV9ub3RlYm9vaywgcFdpbiwgMSwgR1RLX1NU QVRFX05PUk1BTCwgbnVsbHB0ciwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICByZWN0LngsIHJlY3QueSwgcmVjdC53aWR0aCwgcmVjdC5oZWlnaHQpOworLX0KKy0KKy12 b2lkIEJ1dHRvblN0YXRlQW5kU2hhZG93KGludCBidXR0b25fc3RhdGUsIEd0a1N0YXRlVHlwZSAm c3RhdGUsIEd0a1NoYWRvd1R5cGUgJnNoYWRvdykKKy17CistCistICAgIGlmIChidXR0b25fc3Rh dGUgJiB3eEFVSV9CVVRUT05fU1RBVEVfRElTQUJMRUQpCistICAgIHsKKy0gICAgICAgIHN0YXRl ID0gR1RLX1NUQVRFX0lOU0VOU0lUSVZFOworLSAgICAgICAgc2hhZG93ID0gR1RLX1NIQURPV19F VENIRURfSU47CistICAgIH0KKy0gICAgZWxzZSBpZiAoYnV0dG9uX3N0YXRlICYgd3hBVUlfQlVU VE9OX1NUQVRFX0hPVkVSKQorLSAgICB7CistICAgICAgICBzdGF0ZSA9IEdUS19TVEFURV9QUkVM SUdIVDsKKy0gICAgICAgIHNoYWRvdyA9IEdUS19TSEFET1dfT1VUOworLSAgICB9CistICAgIGVs c2UgaWYgKGJ1dHRvbl9zdGF0ZSAmIHd4QVVJX0JVVFRPTl9TVEFURV9QUkVTU0VEKQorLSAgICB7 CistICAgICAgICBzdGF0ZSA9IEdUS19TVEFURV9BQ1RJVkU7CistICAgICAgICBzaGFkb3cgPSBH VEtfU0hBRE9XX0lOOworLSAgICB9CistICAgIGVsc2UKKy0gICAgeworLSAgICAgICAgc3RhdGUg PSBHVEtfU1RBVEVfTk9STUFMOworLSAgICAgICAgc2hhZG93ID0gR1RLX1NIQURPV19PVVQ7Cist ICAgIH0KKy19CistCistd3hSZWN0IERyYXdDbG9zZUJ1dHRvbih3eERDJiBkYywKKy0gICAgICAg ICAgICAgICAgICAgICAgIEd0a1dpZGdldCAqd2lkZ2V0LAorLSAgICAgICAgICAgICAgICAgICAg ICAgaW50IGJ1dHRvbl9zdGF0ZSwKKy0gICAgICAgICAgICAgICAgICAgICAgIHd4UmVjdCBjb25z dCAmaW5fcmVjdCwKKy0gICAgICAgICAgICAgICAgICAgICAgIGludCBvcmllbnRhdGlvbiwKKy0g ICAgICAgICAgICAgICAgICAgICAgIEdka1JlY3RhbmdsZSogY2xpcFJlY3QpCisteworLSAgICBH dGtTdHlsZSAqc3R5bGVfYnV0dG9uID0gZ2V0X3N0eWxlX2J1dHRvbigpOworLSAgICBpbnQgeHRo aWNrbmVzcyA9IHN0eWxlX2J1dHRvbi0+eHRoaWNrbmVzczsKKy0gICAgaW50IHl0aGlja25lc3Mg PSBzdHlsZV9idXR0b24tPnl0aGlja25lc3M7CistCistICAgIHd4Qml0bWFwIGJtcDsKKy0gICAg Ym1wLlNldFBpeGJ1ZihndGtfd2lkZ2V0X3JlbmRlcl9pY29uKHdpZGdldCwgR1RLX1NUT0NLX0NM T1NFLCBHVEtfSUNPTl9TSVpFX1NNQUxMX1RPT0xCQVIsICJ0YWIiKSk7CistCistICAgIGlmKGJt cC5HZXRXaWR0aCgpICE9IHNfQ2xvc2VJY29uU2l6ZSB8fCBibXAuR2V0SGVpZ2h0KCkgIT0gc19D bG9zZUljb25TaXplKQorLSAgICB7CistICAgICAgICB3eEltYWdlIGltZyA9IGJtcC5Db252ZXJ0 VG9JbWFnZSgpOworLSAgICAgICAgaW1nLlJlc2NhbGUoc19DbG9zZUljb25TaXplLCBzX0Nsb3Nl SWNvblNpemUpOworLSAgICAgICAgYm1wID0gaW1nOworLSAgICB9CistCistICAgIGludCBidXR0 b25fc2l6ZSA9IHNfQ2xvc2VJY29uU2l6ZSArIDIgKiB4dGhpY2tuZXNzOworLQorLSAgICB3eFJl Y3Qgb3V0X3JlY3Q7CistCistICAgIGlmIChvcmllbnRhdGlvbiA9PSB3eExFRlQpCistICAgICAg ICBvdXRfcmVjdC54ID0gaW5fcmVjdC54IC0geXRoaWNrbmVzczsKKy0gICAgZWxzZQorLSAgICAg ICAgb3V0X3JlY3QueCA9IGluX3JlY3QueCArIGluX3JlY3Qud2lkdGggLSBidXR0b25fc2l6ZSAt IHl0aGlja25lc3M7CistCistICAgIG91dF9yZWN0LnkgPSBpbl9yZWN0LnkgKyAoaW5fcmVjdC5o ZWlnaHQgLSBidXR0b25fc2l6ZSkgLyAyOworLSAgICBvdXRfcmVjdC53aWR0aCA9IGJ1dHRvbl9z aXplOworLSAgICBvdXRfcmVjdC5oZWlnaHQgPSBidXR0b25fc2l6ZTsKKy0KKy0jaWYgd3hDSEVD S19WRVJTSU9OKDMsIDAsIDApCistICAgIHd4R1RLRENJbXBsICppbXBsZGMgPSAod3hHVEtEQ0lt cGwqKSBkYy5HZXRJbXBsKCk7CistICAgIEdka1dpbmRvdyogcFdpbiA9IGltcGxkYy0+R2V0R0RL V2luZG93KCk7CistI2Vsc2UKKy0gICAgR2RrV2luZG93KiBwV2luID0gZGMuR2V0R0RLV2luZG93 KCk7CistI2VuZGlmCistCistICAgIGlmIChidXR0b25fc3RhdGUgPT0gd3hBVUlfQlVUVE9OX1NU QVRFX0hPVkVSKQorLSAgICB7CistICAgICAgICBndGtfcGFpbnRfYm94KHN0eWxlX2J1dHRvbiwg cFdpbiwKKy0gICAgICAgICAgICAgICAgICAgICAgR1RLX1NUQVRFX1BSRUxJR0hULCBHVEtfU0hB RE9XX09VVCwgY2xpcFJlY3QsIHdpZGdldCwgImJ1dHRvbiIsCistICAgICAgICAgICAgICAgICAg ICAgIG91dF9yZWN0LngsIG91dF9yZWN0LnksIG91dF9yZWN0LndpZHRoLCBvdXRfcmVjdC5oZWln aHQpOworLSAgICB9CistICAgIGVsc2UgaWYgKGJ1dHRvbl9zdGF0ZSA9PSB3eEFVSV9CVVRUT05f U1RBVEVfUFJFU1NFRCkKKy0gICAgeworLSAgICAgICAgZ3RrX3BhaW50X2JveChzdHlsZV9idXR0 b24sIHBXaW4sCistICAgICAgICAgICAgICAgICAgICAgIEdUS19TVEFURV9BQ1RJVkUsIEdUS19T SEFET1dfSU4sIGNsaXBSZWN0LCB3aWRnZXQsICJidXR0b24iLAorLSAgICAgICAgICAgICAgICAg ICAgICBvdXRfcmVjdC54LCBvdXRfcmVjdC55LCBvdXRfcmVjdC53aWR0aCwgb3V0X3JlY3QuaGVp Z2h0KTsKKy0gICAgfQorLQorLQorLSAgICBkYy5EcmF3Qml0bWFwKGJtcCwgb3V0X3JlY3QueCAr IHh0aGlja25lc3MsIG91dF9yZWN0LnkgKyB5dGhpY2tuZXNzLCB0cnVlKTsKKy0KKy0gICAgcmV0 dXJuIG91dF9yZWN0OworLX0KKy0KKy12b2lkIE5iU3R5bGVHVEs6OkRyYXdUYWIod3hEQyYgZGMs IHd4V2luZG93KiB3bmQsIGNvbnN0IHd4QXVpTm90ZWJvb2tQYWdlJiBwYWdlLAorLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgY29uc3Qgd3hSZWN0JiBpbl9yZWN0LCBpbnQgY2xvc2VfYnV0 dG9uX3N0YXRlLCB3eFJlY3QqIG91dF90YWJfcmVjdCwKKy0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHd4UmVjdCogb3V0X2J1dHRvbl9yZWN0LCBpbnQqIHhfZXh0ZW50KQorLXsKKy0gICAg R3RrV2lkZ2V0ICp3aWRnZXQgPSB3bmQtPkdldEhhbmRsZSgpOworLSAgICBHdGtTdHlsZSAqc3R5 bGVfbm90ZWJvb2sgPSBnZXRfc3R5bGVfbm90ZWJvb2soKTsKKy0KKy0gICAgd3hSZWN0IGNvbnN0 ICZ3aW5kb3dfcmVjdCA9IHduZC0+R2V0UmVjdCgpOworLQorLSAgICBpbnQgZm9jdXNfd2lkdGgg PSAwOworLQorLSAgICBndGtfd2lkZ2V0X3N0eWxlX2dldChnX25vdGVib29rLAorLSAgICAgICAg ICAgICAgICAgICAgICAgICAiZm9jdXMtbGluZS13aWR0aCIsICZmb2N1c193aWR0aCwKKy0gICAg ICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CistCistICAgIGludCB0YWJfcG9zOworLSAgICBp ZiAobV9mbGFncyAmd3hBVUlfTkJfQk9UVE9NKQorLSAgICAgICAgdGFiX3BvcyA9IHd4QVVJX05C X0JPVFRPTTsKKy0gICAgZWxzZSAvL2lmIChtX2ZsYWdzICYgd3hBVUlfTkJfVE9QKSB7fQorLSAg ICAgICAgdGFiX3BvcyA9IHd4QVVJX05CX1RPUDsKKy0KKy0gICAgLy8gVE9ETzogZWxzZSBpZiAo bV9mbGFncyAmd3hBVUlfTkJfTEVGVCkge30KKy0gICAgLy8gVE9ETzogZWxzZSBpZiAobV9mbGFn cyAmd3hBVUlfTkJfUklHSFQpIHt9CistCistICAgIC8vIGZpZ3VyZSBvdXQgdGhlIHNpemUgb2Yg dGhlIHRhYgorLSAgICB3eFNpemUgdGFiX3NpemUgPSBHZXRUYWJTaXplKGRjLCB3bmQsIHBhZ2Uu Y2FwdGlvbiwgcGFnZS5iaXRtYXAsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgcGFnZS5hY3RpdmUsIGNsb3NlX2J1dHRvbl9zdGF0ZSwgeF9leHRlbnQpOworLQorLSAgICB3 eFJlY3QgdGFiX3JlY3QgPSBpbl9yZWN0OworLSAgICB0YWJfcmVjdC53aWR0aCA9IHRhYl9zaXpl Lng7CistICAgIHRhYl9yZWN0LmhlaWdodCA9IHRhYl9zaXplLnk7CistICAgIHRhYl9yZWN0Lnkg Kz0gMiAqIG1fVGFiSEJvcmRlcjsKKy0KKy0gICAgaWYgKHBhZ2UuYWN0aXZlKQorLSAgICAgICAg dGFiX3JlY3QuaGVpZ2h0ICs9IDIgKiBtX1RhYkhCb3JkZXI7CistI2lmIHd4Q0hFQ0tfVkVSU0lP TigzLCAwLCAwKQorLSAgICAvLyBpZiBubyBiaXRtYXAgaXMgc2V0LCB3ZSBuZWVkIGEgdGlueSBj b3JyZWN0aW9uCistICAgIGlmICghIHBhZ2UuYml0bWFwLklzT2soKSkKKy0gICAgICAgIHRhYl9y ZWN0LmhlaWdodCArPSAxOworLSNlbmRpZgorLQorLSAgICBpbnQgZ2FwX3JlY3RfaGVpZ2h0ID0g NiAqIG1fVGFiSEJvcmRlcjsKKy0gICAgaW50IGdhcF9yZWN0X3ggPSAxLCBnYXBfc3RhcnQgPSAw LCBnYXBfd2lkdGggPSAwOworLSAgICBpbnQgZ2FwX3JlY3RfeSA9IHRhYl9yZWN0LnkgLSBnYXBf cmVjdF9oZWlnaHQ7CistICAgIGludCBnYXBfcmVjdF93aWR0aCA9IHdpbmRvd19yZWN0LndpZHRo OworLQorLSAgICBzd2l0Y2ggKHRhYl9wb3MpCistICAgIHsKKy0gICAgICAgIGNhc2Ugd3hBVUlf TkJfVE9QOgorLSAgICAgICAgICAgIHRhYl9yZWN0LnkgLT0gMiAqIG1fVGFiSEJvcmRlcjsKKy0g ICAgICAgICAgICBpZiAoIXBhZ2UuYWN0aXZlKQorLSAgICAgICAgICAgICAgICB0YWJfcmVjdC55 ICs9IDIgKiBtX1RhYkhCb3JkZXI7CistICAgICAgICAgICAgZ2FwX3JlY3RfeSA9IHRhYl9yZWN0 LnkgKyB0YWJfcmVjdC5oZWlnaHQgLSBtX1RhYkhCb3JkZXIgLyAyOworLSAgICAgICAgICAgIC8v IGZhbGwgdGhyb3VnaAorLSAgICAgICAgY2FzZSB3eEFVSV9OQl9CT1RUT006CistICAgICAgICAg ICAgZ2FwX3N0YXJ0ID0gdGFiX3JlY3QueCAtIG1fVGFiVkJvcmRlciAvIDI7CistICAgICAgICAg ICAgZ2FwX3dpZHRoID0gdGFiX3JlY3Qud2lkdGg7CistICAgICAgICAgICAgYnJlYWs7CistICAg ICAgICBkZWZhdWx0OgorLSAgICAgICAgICAgIGJyZWFrOworLSAgICB9CistICAgIHRhYl9yZWN0 LnkgKz0gbV9UYWJIQm9yZGVyIC8gMjsKKy0gICAgZ2FwX3JlY3RfeSArPSBtX1RhYkhCb3JkZXIg LyAyOworLQorLSAgICBpbnQgcGFkZGluZyA9IGZvY3VzX3dpZHRoICsgbV9UYWJIQm9yZGVyOwor LQorLSAgICBpbnQgY2xpcF93aWR0aCA9IHRhYl9yZWN0LndpZHRoOworLSAgICBpZiAodGFiX3Jl Y3QueCArIHRhYl9yZWN0LndpZHRoID4gaW5fcmVjdC54ICsgaW5fcmVjdC53aWR0aCkKKy0gICAg ICAgIGNsaXBfd2lkdGggPSAoaW5fcmVjdC54ICsgaW5fcmVjdC53aWR0aCkgLSB0YWJfcmVjdC54 OworLQorLSAgICBkYy5TZXRDbGlwcGluZ1JlZ2lvbih0YWJfcmVjdC54LCB0YWJfcmVjdC55IC0g bV9UYWJWQm9yZGVyLCBjbGlwX3dpZHRoLCB0YWJfcmVjdC5oZWlnaHQgKyBtX1RhYlZCb3JkZXIp OworLQorLSAgICBHZGtSZWN0YW5nbGUgYXJlYTsKKy0gICAgYXJlYS54ID0gdGFiX3JlY3QueCAt IG1fVGFiVkJvcmRlcjsKKy0gICAgYXJlYS55ID0gdGFiX3JlY3QueSAtIDIgKiBtX1RhYkhCb3Jk ZXI7CistICAgIGFyZWEud2lkdGggPSBjbGlwX3dpZHRoICsgbV9UYWJWQm9yZGVyOworLSAgICBh cmVhLmhlaWdodCA9IHRhYl9yZWN0LmhlaWdodCArIDIgKiBtX1RhYkhCb3JkZXI7CistCistI2lm IHd4Q0hFQ0tfVkVSU0lPTigzLCAwLCAwKQorLSAgICB3eEdUS0RDSW1wbCAqaW1wbGRjID0gKHd4 R1RLRENJbXBsKikgZGMuR2V0SW1wbCgpOworLSAgICBHZGtXaW5kb3cqIHBXaW4gPSBpbXBsZGMt PkdldEdES1dpbmRvdygpOworLSNlbHNlCistICAgIEdka1dpbmRvdyogcFdpbiA9IGRjLkdldEdE S1dpbmRvdygpOworLSNlbmRpZgorLQorLSAgICBpZiAodGFiX3BvcyA9PSB3eEFVSV9OQl9CT1RU T00pCistICAgIHsKKy0gICAgICAgIGlmIChwYWdlLmFjdGl2ZSkKKy0gICAgICAgIHsKKy0gICAg ICAgICAgICBndGtfcGFpbnRfYm94X2dhcChzdHlsZV9ub3RlYm9vaywgcFdpbiwgR1RLX1NUQVRF X05PUk1BTCwgR1RLX1NIQURPV19PVVQsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg TlVMTCwgd2lkZ2V0LCAibm90ZWJvb2siLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGdhcF9yZWN0X3gsIGdhcF9yZWN0X3ksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Z2FwX3JlY3Rfd2lkdGgsIGdhcF9yZWN0X2hlaWdodCwKKy0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBHVEtfUE9TX0JPVFRPTSwgZ2FwX3N0YXJ0ICwgZ2FwX3dpZHRoKTsKKy0gICAgICAg IH0KKy0gICAgICAgIGd0a19wYWludF9leHRlbnNpb24oc3R5bGVfbm90ZWJvb2ssIHBXaW4sCist ICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFnZS5hY3RpdmUgPyBHVEtfU1RBVEVfTk9STUFM IDogR1RLX1NUQVRFX0FDVElWRSwgR1RLX1NIQURPV19PVVQsCistICAgICAgICAgICAgICAgICAg ICAgICAgICAgJmFyZWEsIHdpZGdldCwgInRhYiIsCistICAgICAgICAgICAgICAgICAgICAgICAg ICAgdGFiX3JlY3QueCwgdGFiX3JlY3QueSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICB0 YWJfcmVjdC53aWR0aCwgdGFiX3JlY3QuaGVpZ2h0LAorLSAgICAgICAgICAgICAgICAgICAgICAg ICAgIEdUS19QT1NfVE9QKTsKKy0gICAgfQorLSAgICBlbHNlCistICAgIHsKKy0gICAgICAgIGlm IChwYWdlLmFjdGl2ZSkKKy0gICAgICAgIHsKKy0gICAgICAgICAgICBndGtfcGFpbnRfYm94X2dh cChzdHlsZV9ub3RlYm9vaywgcFdpbiwgR1RLX1NUQVRFX05PUk1BTCwgR1RLX1NIQURPV19PVVQs CistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgd2lkZ2V0LCAibm90ZWJvb2si LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdhcF9yZWN0X3gsIGdhcF9yZWN0X3ks CistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2FwX3JlY3Rfd2lkdGgsIGdhcF9yZWN0 X2hlaWdodCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHVEtfUE9TX1RPUCwgZ2Fw X3N0YXJ0ICwgZ2FwX3dpZHRoKTsKKy0gICAgICAgIH0KKy0gICAgICAgIGd0a19wYWludF9leHRl bnNpb24oc3R5bGVfbm90ZWJvb2ssIHBXaW4sCistICAgICAgICAgICAgICAgICAgICAgICAgICAg cGFnZS5hY3RpdmUgPyBHVEtfU1RBVEVfTk9STUFMIDogR1RLX1NUQVRFX0FDVElWRSwgR1RLX1NI QURPV19PVVQsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgJmFyZWEsIHdpZGdldCwgInRh YiIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFiX3JlY3QueCwgdGFiX3JlY3QueSwK Ky0gICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJfcmVjdC53aWR0aCwgdGFiX3JlY3QuaGVp Z2h0LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgIEdUS19QT1NfQk9UVE9NKTsKKy0gICAg fQorLQorLSAgICB3eENvb3JkIHRleHRYID0gdGFiX3JlY3QueCArIHBhZGRpbmcgKyBtX1h0aGlj a25lc3M7CistCistICAgIGludCBiaXRtYXBfb2Zmc2V0ID0gMDsKKy0gICAgaWYgKHBhZ2UuYml0 bWFwLklzT2soKSkKKy0gICAgeworLSAgICAgICAgYml0bWFwX29mZnNldCA9IHRleHRYOworLQor LSAgICAgICAgLy8gZHJhdyBiaXRtYXAKKy0gICAgICAgIGludCBiaXRtYXBZID0gdGFiX3JlY3Qu eSArKHRhYl9yZWN0LmhlaWdodCAtIHBhZ2UuYml0bWFwLkdldEhlaWdodCgpKSAvIDI7CistICAg ICAgICBpZighcGFnZS5hY3RpdmUpCistICAgICAgICB7CistICAgICAgICAgICAgaWYgKHRhYl9w b3MgPT0gd3hBVUlfTkJfVE9QKQorLSAgICAgICAgICAgICAgICBiaXRtYXBZICs9IG1fWXRoaWNr bmVzcyAvIDI7CistICAgICAgICAgICAgZWxzZQorLSAgICAgICAgICAgICAgICBiaXRtYXBZIC09 IG1fWXRoaWNrbmVzcyAvIDI7CistICAgICAgICB9CistICAgICAgICBkYy5EcmF3Qml0bWFwKHBh Z2UuYml0bWFwLAorLSAgICAgICAgICAgICAgICAgICAgICBiaXRtYXBfb2Zmc2V0LAorLSAgICAg ICAgICAgICAgICAgICAgICBiaXRtYXBZLAorLSAgICAgICAgICAgICAgICAgICAgICB0cnVlKTsK Ky0KKy0gICAgICAgIHRleHRYICs9IHBhZ2UuYml0bWFwLkdldFdpZHRoKCkgKyBwYWRkaW5nOwor LSAgICB9CistCistICAgIHd4Q29vcmQgdGV4dFcsIHRleHRILCB0ZXh0WTsKKy0KKy0jaWYgd3hD SEVDS19WRVJTSU9OKDMsIDAsIDApCistICAgIGRjLlNldEZvbnQobV9ub3JtYWxGb250KTsKKy0j ZWxzZQorLSAgICBkYy5TZXRGb250KG1fbm9ybWFsX2ZvbnQpOworLSNlbmRpZgorLSAgICBkYy5H ZXRUZXh0RXh0ZW50KHBhZ2UuY2FwdGlvbiwgJnRleHRXLCAmdGV4dEgpOworLSAgICB0ZXh0WSA9 IHRhYl9yZWN0LnkgKyAodGFiX3JlY3QuaGVpZ2h0IC0gdGV4dEgpIC8gMjsKKy0gICAgaWYoIXBh Z2UuYWN0aXZlKQorLSAgICB7CistICAgICAgICBpZiAodGFiX3BvcyA9PSB3eEFVSV9OQl9UT1Ap CistICAgICAgICAgICAgdGV4dFkgKz0gbV9ZdGhpY2tuZXNzIC8gMjsKKy0gICAgICAgIGVsc2UK Ky0gICAgICAgICAgICB0ZXh0WSAtPSBtX1l0aGlja25lc3MgLyAyOworLSAgICB9CistCistICAg IC8vIGRyYXcgdGFiIHRleHQKKy0gICAgR2RrQ29sb3IgdGV4dF9jb2xvdXIgPSBwYWdlLmFjdGl2 ZSA/IHN0eWxlX25vdGVib29rLT5mZ1tHVEtfU1RBVEVfTk9STUFMXSA6IHN0eWxlX25vdGVib29r LT5mZ1tHVEtfU1RBVEVfQUNUSVZFXTsKKy0gICAgZGMuU2V0VGV4dEZvcmVncm91bmQod3hDb2xv cih0ZXh0X2NvbG91cikpOworLSAgICBHZGtSZWN0YW5nbGUgZm9jdXNfYXJlYTsKKy0KKy0gICAg aW50IHBhZGRpbmdfZm9jdXMgPSBwYWRkaW5nIC0gZm9jdXNfd2lkdGg7CistICAgIGZvY3VzX2Fy ZWEueCA9IHRhYl9yZWN0LnggKyBwYWRkaW5nX2ZvY3VzOworLSAgICBmb2N1c19hcmVhLnkgPSB0 ZXh0WSAtIGZvY3VzX3dpZHRoOworLSAgICBmb2N1c19hcmVhLndpZHRoID0gdGFiX3JlY3Qud2lk dGggLSAyICogcGFkZGluZ19mb2N1czsKKy0gICAgZm9jdXNfYXJlYS5oZWlnaHQgPSB0ZXh0SCAr IDIgKiBmb2N1c193aWR0aDsKKy0KKy0gICAgaWYocGFnZS5hY3RpdmUgJiYgKHduZC0+RmluZEZv Y3VzKCkgPT0gd25kKSAmJiBmb2N1c19hcmVhLnggPD0gKGFyZWEueCArIGFyZWEud2lkdGgpKQor LSAgICB7CistICAgICAgICAvLyBjbGlwcGluZyBzZWVtcyBub3QgdG8gd29yayBoZXJlLCBzbyB3 ZSB3ZSBoYXZlIHRvIHJlY2FsYyB0aGUgZm9jdXMtYXJlYSBtYW51YWxseQorLSAgICAgICAgaWYo KGZvY3VzX2FyZWEueCArIGZvY3VzX2FyZWEud2lkdGgpID4gKGFyZWEueCArIGFyZWEud2lkdGgp KQorLSAgICAgICAgICAgIGZvY3VzX2FyZWEud2lkdGggPSBhcmVhLnggKyBhcmVhLndpZHRoIC0g Zm9jdXNfYXJlYS54ICsgZm9jdXNfd2lkdGggLSBtX1RhYlZCb3JkZXI7CistICAgICAgICBndGtf cGFpbnRfZm9jdXMgKHN0eWxlX25vdGVib29rLCBwV2luLAorLSAgICAgICAgICAgICAgICAgICAg ICAgICBHVEtfU1RBVEVfQUNUSVZFLCBOVUxMLCB3aWRnZXQsICJ0YWIiLAorLSAgICAgICAgICAg ICAgICAgICAgICAgICBmb2N1c19hcmVhLngsIGZvY3VzX2FyZWEueSwgZm9jdXNfYXJlYS53aWR0 aCwgZm9jdXNfYXJlYS5oZWlnaHQpOworLSAgICB9CistCistICAgIGRjLkRyYXdUZXh0KHBhZ2Uu Y2FwdGlvbiwgdGV4dFgsIHRleHRZKTsKKy0KKy0gICAgLy8gZHJhdyBjbG9zZS1idXR0b24gb24g dGFiIChpZiBlbmFibGVkKQorLSAgICBpZiAoY2xvc2VfYnV0dG9uX3N0YXRlICE9IHd4QVVJX0JV VFRPTl9TVEFURV9ISURERU4pCistICAgIHsKKy0gICAgICAgIHd4UmVjdCByZWN0KHRhYl9yZWN0 LngsIHRhYl9yZWN0LnksIHRhYl9yZWN0LndpZHRoIC0gbV9YdGhpY2tuZXNzLCB0YWJfcmVjdC5o ZWlnaHQpOworLSAgICAgICAgaWYoIXBhZ2UuYWN0aXZlKQorLSAgICAgICAgeworLSAgICAgICAg ICAgIGlmICh0YWJfcG9zID09IHd4QVVJX05CX1RPUCkKKy0gICAgICAgICAgICAgICAgcmVjdC55 ICs9IG1fWXRoaWNrbmVzcyAvIDI7CistICAgICAgICAgICAgZWxzZQorLSAgICAgICAgICAgICAg ICByZWN0LnkgLT0gbV9ZdGhpY2tuZXNzIC8gMjsKKy0gICAgICAgIH0KKy0gICAgICAgICpvdXRf YnV0dG9uX3JlY3QgPSBEcmF3Q2xvc2VCdXR0b24oZGMsIHdpZGdldCwgY2xvc2VfYnV0dG9uX3N0 YXRlLCByZWN0LCB3eFJJR0hULCAmYXJlYSk7CistICAgIH0KKy0KKy0gICAgdGFiX3JlY3Qud2lk dGggPSBzdGQ6Om1pbih0YWJfcmVjdC53aWR0aCwgY2xpcF93aWR0aCk7CistICAgICpvdXRfdGFi X3JlY3QgPSB0YWJfcmVjdDsKKy0KKy0gICAgZGMuRGVzdHJveUNsaXBwaW5nUmVnaW9uKCk7Cist fQorLQorLXd4UmVjdCBEcmF3U2ltcGxlQXJyb3cod3hEQyYgZGMsCistICAgICAgICAgICAgICAg ICAgICAgICBHdGtXaWRnZXQgKndpZGdldCwKKy0gICAgICAgICAgICAgICAgICAgICAgIGludCBi dXR0b25fc3RhdGUsCistICAgICAgICAgICAgICAgICAgICAgICB3eFJlY3QgY29uc3QgJmluX3Jl Y3QsCistICAgICAgICAgICAgICAgICAgICAgICBpbnQgb3JpZW50YXRpb24sCistICAgICAgICAg ICAgICAgICAgICAgICBHdGtBcnJvd1R5cGUgYXJyb3dfdHlwZSkKKy17CistICAgIGludCBzY3Jv bGxfYXJyb3dfaGxlbmd0aCwgc2Nyb2xsX2Fycm93X3ZsZW5ndGg7CistICAgIGd0a193aWRnZXRf c3R5bGVfZ2V0KHdpZGdldCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgInNjcm9sbC1hcnJv dy1obGVuZ3RoIiwgJnNjcm9sbF9hcnJvd19obGVuZ3RoLAorLSAgICAgICAgICAgICAgICAgICAg ICAgICAic2Nyb2xsLWFycm93LXZsZW5ndGgiLCAmc2Nyb2xsX2Fycm93X3ZsZW5ndGgsCistICAg ICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOworLQorLSAgICBHdGtTdGF0ZVR5cGUgc3RhdGU7 CistICAgIEd0a1NoYWRvd1R5cGUgc2hhZG93OworLSAgICBCdXR0b25TdGF0ZUFuZFNoYWRvdyhi dXR0b25fc3RhdGUsIHN0YXRlLCBzaGFkb3cpOworLQorLSAgICB3eFJlY3Qgb3V0X3JlY3Q7Cist CistICAgIGlmIChvcmllbnRhdGlvbiA9PSB3eExFRlQpCistICAgICAgICBvdXRfcmVjdC54ID0g aW5fcmVjdC54OworLSAgICBlbHNlCistICAgICAgICBvdXRfcmVjdC54ID0gaW5fcmVjdC54ICsg aW5fcmVjdC53aWR0aCAtIHNjcm9sbF9hcnJvd19obGVuZ3RoOworLSAgICBvdXRfcmVjdC55ID0g KGluX3JlY3QueSArIGluX3JlY3QuaGVpZ2h0IC0gMyAqIGdldF9zdHlsZV9ub3RlYm9vaygpLT55 dGhpY2tuZXNzIC0gc2Nyb2xsX2Fycm93X3ZsZW5ndGgpIC8gMjsKKy0gICAgb3V0X3JlY3Qud2lk dGggPSBzY3JvbGxfYXJyb3dfaGxlbmd0aDsKKy0gICAgb3V0X3JlY3QuaGVpZ2h0ID0gc2Nyb2xs X2Fycm93X3ZsZW5ndGg7CistCistI2lmIHd4Q0hFQ0tfVkVSU0lPTigzLCAwLCAwKQorLSAgICB3 eEdUS0RDSW1wbCAqaW1wbGRjID0gKHd4R1RLRENJbXBsKikgZGMuR2V0SW1wbCgpOworLSAgICBH ZGtXaW5kb3cqIHBXaW4gPSBpbXBsZGMtPkdldEdES1dpbmRvdygpOworLSNlbHNlCistICAgIEdk a1dpbmRvdyogcFdpbiA9IGRjLkdldEdES1dpbmRvdygpOworLSNlbmRpZgorLSAgICBndGtfcGFp bnRfYXJyb3cgKGdldF9zdHlsZV9idXR0b24oKSwgcFdpbiwgc3RhdGUsIHNoYWRvdywgbnVsbHB0 ciwgd2lkZ2V0LCAibm90ZWJvb2siLAorLSAgICAgICAgICAgICAgICAgICAgIGFycm93X3R5cGUs IFRSVUUsIG91dF9yZWN0LngsIG91dF9yZWN0LnksIG91dF9yZWN0LndpZHRoLCBvdXRfcmVjdC5o ZWlnaHQpOworLQorLSAgICByZXR1cm4gb3V0X3JlY3Q7CistfQorLQorLXZvaWQgTmJTdHlsZUdU Szo6RHJhd0J1dHRvbih3eERDJiBkYywgd3hXaW5kb3cqIHduZCwKKy0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgY29uc3Qgd3hSZWN0JiBpbl9yZWN0LAorLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICBpbnQgYml0bWFwX2lkLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg YnV0dG9uX3N0YXRlLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgb3JpZW50YXRp b24sCistICAgICAgICAgICAgICAgICAgICAgICAgICAgIHd4UmVjdCogb3V0X3JlY3QpCistewor LSAgICBHdGtXaWRnZXQgKndpZGdldCA9IHduZC0+R2V0SGFuZGxlKCk7CistICAgIHd4UmVjdCBy ZWN0ID0gaW5fcmVjdDsKKy0gICAgaWYgKG1fZmxhZ3MgJnd4QVVJX05CX0JPVFRPTSkKKy0gICAg ICAgIHJlY3QueSArPSAyICogZ2V0X3N0eWxlX2J1dHRvbigpLT55dGhpY2tuZXNzOworLQorLSAg ICBzd2l0Y2ggKGJpdG1hcF9pZCkKKy0gICAgeworLSAgICAgICAgY2FzZSB3eEFVSV9CVVRUT05f Q0xPU0U6CistICAgICAgICAgICAgcmVjdC55IC09IDIgKiBnZXRfc3R5bGVfYnV0dG9uKCktPnl0 aGlja25lc3M7CistICAgICAgICAgICAgcmVjdCA9IERyYXdDbG9zZUJ1dHRvbihkYywgd2lkZ2V0 LCBidXR0b25fc3RhdGUsIHJlY3QsIG9yaWVudGF0aW9uLCBOVUxMKTsKKy0gICAgICAgICAgICBi cmVhazsKKy0KKy0gICAgICAgIGNhc2Ugd3hBVUlfQlVUVE9OX0xFRlQ6CistICAgICAgICAgICAg cmVjdCA9IERyYXdTaW1wbGVBcnJvdyhkYywgd2lkZ2V0LCBidXR0b25fc3RhdGUsIHJlY3QsIG9y aWVudGF0aW9uLCBHVEtfQVJST1dfTEVGVCk7CistICAgICAgICAgICAgYnJlYWs7CistCistICAg ICAgICBjYXNlIHd4QVVJX0JVVFRPTl9SSUdIVDoKKy0gICAgICAgICAgICByZWN0ID0gRHJhd1Np bXBsZUFycm93KGRjLCB3aWRnZXQsIGJ1dHRvbl9zdGF0ZSwgcmVjdCwgb3JpZW50YXRpb24sIEdU S19BUlJPV19SSUdIVCk7CistICAgICAgICAgICAgYnJlYWs7CistCistICAgICAgICBjYXNlIHd4 QVVJX0JVVFRPTl9XSU5ET1dMSVNUOgorLSAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgICAg cmVjdC5oZWlnaHQgLT0gNCAqIGdldF9zdHlsZV9idXR0b24oKS0+eXRoaWNrbmVzczsKKy0gICAg ICAgICAgICAgICAgcmVjdC53aWR0aCA9IHJlY3QuaGVpZ2h0OworLSAgICAgICAgICAgICAgICBy ZWN0LnggPSBpbl9yZWN0LnggKyBpbl9yZWN0LndpZHRoIC0gcmVjdC53aWR0aDsKKy0KKy0gICAg ICAgICAgICAgICAgaWYgKGJ1dHRvbl9zdGF0ZSA9PSB3eEFVSV9CVVRUT05fU1RBVEVfSE9WRVIp CistICAgICAgICAgICAgICAgICAgICB3eFJlbmRlcmVyTmF0aXZlOjpHZXQoKS5EcmF3Q29tYm9C b3hEcm9wQnV0dG9uKHduZCwgZGMsIHJlY3QsIHd4Q09OVFJPTF9DVVJSRU5UKTsKKy0gICAgICAg ICAgICAgICAgZWxzZSBpZiAoYnV0dG9uX3N0YXRlID09IHd4QVVJX0JVVFRPTl9TVEFURV9QUkVT U0VEKQorLSAgICAgICAgICAgICAgICAgICAgd3hSZW5kZXJlck5hdGl2ZTo6R2V0KCkuRHJhd0Nv bWJvQm94RHJvcEJ1dHRvbih3bmQsIGRjLCByZWN0LCB3eENPTlRST0xfUFJFU1NFRCk7CistICAg ICAgICAgICAgICAgIGVsc2UKKy0gICAgICAgICAgICAgICAgICAgIHd4UmVuZGVyZXJOYXRpdmU6 OkdldCgpLkRyYXdEcm9wQXJyb3cod25kLCBkYywgcmVjdCk7CistICAgICAgICAgICAgfQorLSAg ICAgICAgICAgIGJyZWFrOworLQorLSAgICAgICAgZGVmYXVsdDoKKy0gICAgICAgICAgICBicmVh azsKKy0gICAgfQorLQorLSAgICAqb3V0X3JlY3QgPSByZWN0OworLX0KKy0KKy0KKy1pbnQgTmJT dHlsZUdUSzo6R2V0QmVzdFRhYkN0cmxTaXplKHd4V2luZG93KiB3bmQsCistICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB3eEF1aU5vdGVib29rUGFnZUFycmF5JiBwYWdl cywKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHd4U2l6ZSYgcmVx dWlyZWRfYm1wX3NpemUpCisteworLSNpZiB3eENIRUNLX1ZFUlNJT04oMywgMCwgMCkKKy0gICAg U2V0TWVhc3VyaW5nRm9udChtX25vcm1hbEZvbnQpOworLSAgICBTZXRTZWxlY3RlZEZvbnQobV9u b3JtYWxGb250KTsKKy0jZWxzZQorLSAgICBTZXRNZWFzdXJpbmdGb250KG1fbm9ybWFsX2ZvbnQp OworLSAgICBTZXRTZWxlY3RlZEZvbnQobV9ub3JtYWxfZm9udCk7CistI2VuZGlmCistICAgIGlu dCB0YWJfaGVpZ2h0ID0gMyAqIGdldF9zdHlsZV9ub3RlYm9vaygpLT55dGhpY2tuZXNzICsgd3hB dWlEZWZhdWx0VGFiQXJ0OjpHZXRCZXN0VGFiQ3RybFNpemUod25kLCBwYWdlcywgcmVxdWlyZWRf Ym1wX3NpemUpOworLSAgICByZXR1cm4gdGFiX2hlaWdodDsKKy19CistCistd3hTaXplIE5iU3R5 bGVHVEs6OkdldFRhYlNpemUod3hEQyYgZGMsCistICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgd3hXaW5kb3cqIHduZCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB3 eFN0cmluZyYgY2FwdGlvbiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB3 eEJpdG1hcCYgYml0bWFwLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgYWN0 aXZlLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBjbG9zZV9idXR0b25fc3Rh dGUsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50KiB4X2V4dGVudCkKKy17Cist ICAgIHd4U2l6ZSBzID0gd3hBdWlEZWZhdWx0VGFiQXJ0OjpHZXRUYWJTaXplKGRjLCB3bmQsIGNh cHRpb24sIGJpdG1hcCwgYWN0aXZlLCBjbG9zZV9idXR0b25fc3RhdGUsIHhfZXh0ZW50KTsKKy0K Ky0gICAgaW50IG92ZXJsYXAgPSAwOworLSAgICBndGtfd2lkZ2V0X3N0eWxlX2dldCAod25kLT5H ZXRIYW5kbGUoKSwKKy0gICAgICAgICJmb2N1cy1saW5lLXdpZHRoIiwgJm92ZXJsYXAsCistICAg ICAgICBOVUxMKTsKKy0gICAgKnhfZXh0ZW50IC09IG92ZXJsYXA7CistICAgIHJldHVybiBzOwor LX0KKy0KKy0jZW5kaWYgLy8gI2lmIGRlZmluZWQoX19XWEdUS19fKSAmJiAoVVNFX0dUS19OT1RF Qk9PSykgJiYgIXd4Q0hFQ0tfVkVSU0lPTigzLCAwLCAwKQorSW5kZXg6IHNyYy9zcmMvcHJvamVj dG1hbmFnZXJ1aS5jcHAKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBhL3NyYy9zcmMvcHJvamVjdG1hbmFnZXJ1 aS5jcHAJKHJldmlzaW9uIDEyNTc5KQorKysrIGIvc3JjL3NyYy9wcm9qZWN0bWFuYWdlcnVpLmNw cAkocmV2aXNpb24gMTI1ODApCitAQCAtMTg3NSwxMSArMTg3NSw3IEBACisgeworICAgICBzaXpl X3Qgb3BlcmF0b3IoKShjb25zdCB3eFN0cmluZyYgcykgY29uc3QKKyAgICAgeworLSNpZiB3eENI RUNLX1ZFUlNJT04oMywgMCwgMCkKKyAgICAgICAgIHJldHVybiBzdGQ6Omhhc2g8c3RkOjp3c3Ry aW5nPigpKHMuVG9TdGRXc3RyaW5nKCkpOworLSNlbHNlCistICAgICAgICByZXR1cm4gc3RkOjpo YXNoPHN0ZDo6d3N0cmluZz4oKShzLndjX3N0cigpKTsKKy0jZW5kaWYgLy8gd3hDSEVDS19WRVJT SU9OCisgICAgIH0KKyB9OworIApkaWZmIC0tZ2l0IGEvc3JjcGtncy9jb2RlYmxvY2tzL3BhdGNo ZXMvMDAwLnIxMjcwNy5wYXRjaCBiL3NyY3BrZ3MvY29kZWJsb2Nrcy9wYXRjaGVzLzAwMC5yMTI3 MDcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMC4uYmNhOTc0 ZmJlNTc3MAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvY29kZWJsb2Nrcy9wYXRjaGVzLzAw MC5yMTI3MDcucGF0Y2gKQEAgLTAsMCArMSwxMjAgQEAKK0luZGV4OiBzcmMvc3JjL25vdGVib29r c3R5bGVzLmNwcAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGEvc3JjL3NyYy9ub3RlYm9va3N0eWxlcy5jcHAJ KHJldmlzaW9uIDEyNzA2KQorKysrIGIvc3JjL3NyYy9ub3RlYm9va3N0eWxlcy5jcHAJKHJldmlz aW9uIDEyNzA3KQorQEAgLTEyNCw4ICsxMjQsMTYgQEAKKyAgICAgaWYgKHBhZ2UuYml0bWFwLklz T2soKSkKKyAgICAgeworICAgICAgICAgYml0bWFwX29mZnNldCA9IHRhYl94ICsgODsKKysgICAg ICAgIC8vIGRyYXcgYml0bWFwCisrI2lmIHd4Q0hFQ0tfVkVSU0lPTigzLCAxLCA2KQorKyAgICAg ICAgY29uc3Qgd3hCaXRtYXAgYm1wKHBhZ2UuYml0bWFwLkdldEJpdG1hcEZvcih3bmQpKTsKKysg ICAgICAgIGRjLkRyYXdCaXRtYXAoYm1wLAorKyAgICAgICAgICAgICAgICAgICAgICBiaXRtYXBf b2Zmc2V0LAorKyAgICAgICAgICAgICAgICAgICAgICBkcmF3bl90YWJfeW9mZiArIChkcmF3bl90 YWJfaGVpZ2h0LzIpIC0gKGJtcC5HZXRIZWlnaHQoKS8yKSwKKysgICAgICAgICAgICAgICAgICAg ICAgdHJ1ZSk7CisgCistICAgICAgICAvLyBkcmF3IGJpdG1hcAorKyAgICAgICAgdGV4dF9vZmZz ZXQgPSBiaXRtYXBfb2Zmc2V0ICsgYm1wLkdldFdpZHRoKCk7CisrI2Vsc2UKKyAgICAgICAgIGRj LkRyYXdCaXRtYXAocGFnZS5iaXRtYXAsCisgICAgICAgICAgICAgICAgICAgICAgIGJpdG1hcF9v ZmZzZXQsCisgICAgICAgICAgICAgICAgICAgICAgIGRyYXduX3RhYl95b2ZmICsgKGRyYXduX3Rh Yl9oZWlnaHQvMikgLSAocGFnZS5iaXRtYXAuR2V0SGVpZ2h0KCkvMiksCitAQCAtMTMyLDYgKzE0 MCw3IEBACisgICAgICAgICAgICAgICAgICAgICAgIHRydWUpOworIAorICAgICAgICAgdGV4dF9v ZmZzZXQgPSBiaXRtYXBfb2Zmc2V0ICsgcGFnZS5iaXRtYXAuR2V0V2lkdGgoKTsKKysjZW5kaWYK KyAgICAgICAgIHRleHRfb2Zmc2V0ICs9IDM7IC8vIGJpdG1hcCBwYWRkaW5nCisgICAgIH0KKyAg ICAgIGVsc2UKK0BAIC0xNjEsMTMgKzE3MCwyMyBAQAorICAgICAvLyBkcmF3ICd4JyBvbiB0YWIg KGlmIGVuYWJsZWQpCisgICAgIGlmIChjbG9zZV9idXR0b25fc3RhdGUgIT0gd3hBVUlfQlVUVE9O X1NUQVRFX0hJRERFTikKKyAgICAgeworLSAgICAgICAgaW50IGNsb3NlX2J1dHRvbl93aWR0aCA9 IG1fYWN0aXZlQ2xvc2VCbXAuR2V0V2lkdGgoKTsKKy0gICAgICAgIHd4Qml0bWFwIGJtcCA9IG1f ZGlzYWJsZWRDbG9zZUJtcDsKKysgICAgICAgIHd4Qml0bWFwIGJtcDsKKyAKKysjaWYgd3hDSEVD S19WRVJTSU9OKDMsIDEsIDYpCisgICAgICAgICBpZiAoKGNsb3NlX2J1dHRvbl9zdGF0ZSA9PSB3 eEFVSV9CVVRUT05fU1RBVEVfSE9WRVIpIHx8CisgICAgICAgICAgICAgICAgICAgICAoY2xvc2Vf YnV0dG9uX3N0YXRlID09IHd4QVVJX0JVVFRPTl9TVEFURV9QUkVTU0VEKSkKKysgICAgICAgICAg ICBibXAgPSBtX2FjdGl2ZUNsb3NlQm1wLkdldEJpdG1hcEZvcih3bmQpOworKyAgICAgICAgZWxz ZQorKyAgICAgICAgICAgIGJtcCA9IG1fZGlzYWJsZWRDbG9zZUJtcC5HZXRCaXRtYXBGb3Iod25k KTsKKysjZWxzZQorKyAgICAgICAgaWYgKChjbG9zZV9idXR0b25fc3RhdGUgPT0gd3hBVUlfQlVU VE9OX1NUQVRFX0hPVkVSKSB8fAorKyAgICAgICAgICAgICAgICAgICAgKGNsb3NlX2J1dHRvbl9z dGF0ZSA9PSB3eEFVSV9CVVRUT05fU1RBVEVfUFJFU1NFRCkpCisgICAgICAgICAgICAgYm1wID0g bV9hY3RpdmVDbG9zZUJtcDsKKysgICAgICAgIGVsc2UKKysgICAgICAgICAgICBibXAgPSBtX2Rp c2FibGVkQ2xvc2VCbXA7CisrI2VuZGlmCisgCisrICAgICAgICBjb25zdCBpbnQgY2xvc2VfYnV0 dG9uX3dpZHRoID0gYm1wLkdldFdpZHRoKCk7CisgICAgICAgICB3eFJlY3QgcmVjdCh0YWJfeCAr IHRhYl93aWR0aCAtIGNsb3NlX2J1dHRvbl93aWR0aCAtIDMsCisgICAgICAgICAgICAgICAgICAg ICBkcmF3bl90YWJfeW9mZiArIChkcmF3bl90YWJfaGVpZ2h0IC8gMikgLSAoYm1wLkdldEhlaWdo dCgpIC8gMiksCisgICAgICAgICAgICAgICAgICAgICBjbG9zZV9idXR0b25fd2lkdGgsIHRhYl9o ZWlnaHQpOworQEAgLTI4NSwxMSArMzA0LDIwIEBACisgICAgIGludCB0ZXh0X29mZnNldCA9IHRh Yl94ICsgODsKKyAKKyAgICAgaW50IGJpdG1hcF9vZmZzZXQgPSAwOworKworICAgICBpZiAocGFn ZS5iaXRtYXAuSXNPaygpKQorICAgICB7CisgICAgICAgICBiaXRtYXBfb2Zmc2V0ID0gdGFiX3gg KyA4OworKyAgICAgICAgLy8gZHJhdyBiaXRtYXAKKysjaWYgd3hDSEVDS19WRVJTSU9OKDMsIDEs IDYpCisrICAgICAgICBjb25zdCB3eEJpdG1hcCBibXAocGFnZS5iaXRtYXAuR2V0Qml0bWFwRm9y KHduZCkpOworKyAgICAgICAgZGMuRHJhd0JpdG1hcChibXAsCisrICAgICAgICAgICAgICAgICAg ICAgIGJpdG1hcF9vZmZzZXQsCisrICAgICAgICAgICAgICAgICAgICAgIGRyYXduX3RhYl95b2Zm ICsgKGRyYXduX3RhYl9oZWlnaHQvMikgLSAoYm1wLkdldEhlaWdodCgpLzIpLAorKyAgICAgICAg ICAgICAgICAgICAgICB0cnVlKTsKKyAKKy0gICAgICAgIC8vIGRyYXcgYml0bWFwCisrICAgICAg ICB0ZXh0X29mZnNldCA9IGJpdG1hcF9vZmZzZXQgKyBibXAuR2V0V2lkdGgoKTsKKysjZWxzZQor ICAgICAgICAgZGMuRHJhd0JpdG1hcChwYWdlLmJpdG1hcCwKKyAgICAgICAgICAgICAgICAgICAg ICAgYml0bWFwX29mZnNldCwKKyAgICAgICAgICAgICAgICAgICAgICAgZHJhd25fdGFiX3lvZmYg KyAoZHJhd25fdGFiX2hlaWdodC8yKSAtIChwYWdlLmJpdG1hcC5HZXRIZWlnaHQoKS8yKSwKK0BA IC0yOTYsNiArMzI0LDcgQEAKKyAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSk7CisgCisgICAg ICAgICB0ZXh0X29mZnNldCA9IGJpdG1hcF9vZmZzZXQgKyBwYWdlLmJpdG1hcC5HZXRXaWR0aCgp OworKyNlbmRpZgorICAgICAgICAgdGV4dF9vZmZzZXQgKz0gMzsgLy8gYml0bWFwIHBhZGRpbmcK KyAgICAgfQorICAgICAgZWxzZQorQEAgLTMwMyw3ICszMzIsNiBAQAorICAgICAgICAgdGV4dF9v ZmZzZXQgPSB0YWJfeCArIDg7CisgICAgIH0KKyAKKy0KKyAgICAgLy8gaWYgdGhlIGNhcHRpb24g aXMgZW1wdHksIG1lYXN1cmUgc29tZSB0ZW1wb3JhcnkgdGV4dAorICAgICB3eFN0cmluZyBjYXB0 aW9uID0gcGFnZS5jYXB0aW9uOworICAgICBpZiAoY2FwdGlvbi5lbXB0eSgpKQorQEAgLTMyNSwx MyArMzUzLDIzIEBACisgICAgIC8vIGRyYXcgJ3gnIG9uIHRhYiAoaWYgZW5hYmxlZCkKKyAgICAg aWYgKGNsb3NlX2J1dHRvbl9zdGF0ZSAhPSB3eEFVSV9CVVRUT05fU1RBVEVfSElEREVOKQorICAg ICB7CistICAgICAgICBpbnQgY2xvc2VfYnV0dG9uX3dpZHRoID0gbV9hY3RpdmVDbG9zZUJtcC5H ZXRXaWR0aCgpOworLSAgICAgICAgd3hCaXRtYXAgYm1wID0gbV9kaXNhYmxlZENsb3NlQm1wOwor KyAgICAgICAgd3hCaXRtYXAgYm1wOworIAorKyNpZiB3eENIRUNLX1ZFUlNJT04oMywgMSwgNikK KyAgICAgICAgIGlmICgoY2xvc2VfYnV0dG9uX3N0YXRlID09IHd4QVVJX0JVVFRPTl9TVEFURV9I T1ZFUikgfHwKKyAgICAgICAgICAgICAgICAgICAgIChjbG9zZV9idXR0b25fc3RhdGUgPT0gd3hB VUlfQlVUVE9OX1NUQVRFX1BSRVNTRUQpKQorKyAgICAgICAgICAgIGJtcCA9IG1fYWN0aXZlQ2xv c2VCbXAuR2V0Qml0bWFwRm9yKHduZCk7CisrICAgICAgICBlbHNlCisrICAgICAgICAgICAgYm1w ID0gbV9kaXNhYmxlZENsb3NlQm1wLkdldEJpdG1hcEZvcih3bmQpOworKyNlbHNlCisrICAgICAg ICBpZiAoKGNsb3NlX2J1dHRvbl9zdGF0ZSA9PSB3eEFVSV9CVVRUT05fU1RBVEVfSE9WRVIpIHx8 CisrICAgICAgICAgICAgICAgICAgICAoY2xvc2VfYnV0dG9uX3N0YXRlID09IHd4QVVJX0JVVFRP Tl9TVEFURV9QUkVTU0VEKSkKKyAgICAgICAgICAgICBibXAgPSBtX2FjdGl2ZUNsb3NlQm1wOwor KyAgICAgICAgZWxzZQorKyAgICAgICAgICAgIGJtcCA9IG1fZGlzYWJsZWRDbG9zZUJtcDsKKysj ZW5kaWYKKyAKKysgICAgICAgIGNvbnN0IGludCBjbG9zZV9idXR0b25fd2lkdGggPSBibXAuR2V0 V2lkdGgoKTsKKyAgICAgICAgIHd4UmVjdCByZWN0KHRhYl94ICsgdGFiX3dpZHRoIC0gY2xvc2Vf YnV0dG9uX3dpZHRoIC0gMywKKyAgICAgICAgICAgICAgICAgICAgIGRyYXduX3RhYl95b2ZmICsg KGRyYXduX3RhYl9oZWlnaHQgLyAyKSAtIChibXAuR2V0SGVpZ2h0KCkgLyAyKSwKKyAgICAgICAg ICAgICAgICAgICAgIGNsb3NlX2J1dHRvbl93aWR0aCwgdGFiX2hlaWdodCk7CmRpZmYgLS1naXQg YS9zcmNwa2dzL2NvZGVibG9ja3MvcGF0Y2hlcy93eC0zLjIucGF0Y2ggYi9zcmNwa2dzL2NvZGVi bG9ja3MvcGF0Y2hlcy93eC0zLjIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwMDAwMC4uMDQwMGNlNjM0NjE3OAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvY29k ZWJsb2Nrcy9wYXRjaGVzL3d4LTMuMi5wYXRjaApAQCAtMCwwICsxLDIxIEBACitJbmRleDogY29k ZWJsb2Nrcy0yMC4wMy9zcmMvc2RrL3NjcmlwdGluZy9iaW5kaW5ncy9zY193eHR5cGVzLmNwcAor PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQorLS0tIGNvZGVibG9ja3MtMjAuMDMub3JpZy9zcmMvc2RrL3NjcmlwdGluZy9i aW5kaW5ncy9zY193eHR5cGVzLmNwcAorKysrIGNvZGVibG9ja3MtMjAuMDMvc3JjL3Nkay9zY3Jp cHRpbmcvYmluZGluZ3Mvc2Nfd3h0eXBlcy5jcHAKK0BAIC0zMjIsNiArMzIyLDcgQEAgbmFtZXNw YWNlIFNjcmlwdEJpbmRpbmdzCisgICAgICAgICB0eXBlZGVmIGJvb2wod3hGaWxlTmFtZTo6KldY Rk5fU0VUQ1dEKSgpOworICNlbmRpZgorICAgICAgICAgdHlwZWRlZiBib29sKHd4RmlsZU5hbWU6 OipXWEZOX0lTRklMRVdSSVRFQUJMRSkoKWNvbnN0OworKyAgICAgICAgdHlwZWRlZiBib29sKHd4 RmlsZU5hbWU6OipXWEZOX05PUk1BTElaRSkoaW50LCBjb25zdCB3eFN0cmluZyYsIHd4UGF0aEZv cm1hdCk7CisgCisgICAgICAgICBTcVBsdXM6OlNRQ2xhc3NEZWY8d3hGaWxlTmFtZT4oInd4Rmls ZU5hbWUiKS4KKyAgICAgICAgICAgICAgICAgZW1wdHlDdG9yKCkuCitAQCAtMzU0LDcgKzM1NSw3 IEBAIG5hbWVzcGFjZSBTY3JpcHRCaW5kaW5ncworICAgICAgICAgICAgICAgICBmdW5jKCZ3eEZp bGVOYW1lOjpJc0RpciwgIklzRGlyIikuCisgICAgICAgICAgICAgICAgIGZ1bmMoJnd4RmlsZU5h bWU6Ok1ha2VBYnNvbHV0ZSwgIk1ha2VBYnNvbHV0ZSIpLgorICAgICAgICAgICAgICAgICBmdW5j KCZ3eEZpbGVOYW1lOjpNYWtlUmVsYXRpdmVUbywgIk1ha2VSZWxhdGl2ZVRvIikuCistICAgICAg ICAgICAgICAgIGZ1bmMoJnd4RmlsZU5hbWU6Ok5vcm1hbGl6ZSwgIk5vcm1hbGl6ZSIpLgorKyAg ICAgICAgICAgICAgICBmdW5jPFdYRk5fTk9STUFMSVpFPigmd3hGaWxlTmFtZTo6Tm9ybWFsaXpl LCAiTm9ybWFsaXplIikuCisgICAgICAgICAgICAgICAgIGZ1bmMoJnd4RmlsZU5hbWU6OlByZXBl bmREaXIsICJQcmVwZW5kRGlyIikuCisgICAgICAgICAgICAgICAgIGZ1bmMoJnd4RmlsZU5hbWU6 OlJlbW92ZURpciwgIlJlbW92ZURpciIpLgorICAgICAgICAgICAgICAgICBmdW5jKCZ3eEZpbGVO YW1lOjpSZW1vdmVMYXN0RGlyLCAiUmVtb3ZlTGFzdERpciIpLgpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9jb2RlYmxvY2tzL3RlbXBsYXRlIGIvc3JjcGtncy9jb2RlYmxvY2tzL3RlbXBsYXRlCmluZGV4 IDZjNmMzMWRmZDNlMWUuLjQ2NDY2ZDk5MGJlZDEgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvY29kZWJs b2Nrcy90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2NvZGVibG9ja3MvdGVtcGxhdGUKQEAgLTEsNyAr MSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdjb2RlYmxvY2tzJwogcGtnbmFtZT1jb2RlYmxv Y2tzCiB2ZXJzaW9uPTIwLjAzCi1yZXZpc2lvbj01CityZXZpc2lvbj02CiBidWlsZF9zdHlsZT1n bnUtY29uZmlndXJlCiBjb25maWd1cmVfYXJncz0iLS13aXRoLXd4LWNvbmZpZz13eC1jb25maWct Z3RrMyAtLXdpdGgtY29udHJpYi1wbHVnaW5zCiAgLS13aXRoLWJvb3N0PSR7WEJQU19DUk9TU19C QVNFfS91c3IKCkZyb20gYzdlYjI3Y2I3MTg1Njg3MzI4MWJkYjg1NjNhZTM0ZmE2ZWFhMzhmMCBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogIkFuZHJldyBKLiBIZXNmb3JkIiA8YWpoQHNp ZGViYW5kLm9yZz4KRGF0ZTogTW9uLCAyNSBTZXAgMjAyMyAwMDoxODoyMCAtMDQwMApTdWJqZWN0 OiBbUEFUQ0ggMjAvNDRdIGNvZGVsaXRlOiByZWJ1aWxkIHdpdGggd3hXaWRnZXRzLWd0azMtMy4y LjIuMQoKLS0tCiBzcmNwa2dzL2NvZGVsaXRlL3BhdGNoZXMvd3gzMi5wYXRjaCB8IDEzMSArKysr KysrKysrKysrKysrKysrKysrKysrKysrCiBzcmNwa2dzL2NvZGVsaXRlL3RlbXBsYXRlICAgICAg ICAgICB8ICAgMiArLQogMiBmaWxlcyBjaGFuZ2VkLCAxMzIgaW5zZXJ0aW9ucygrKSwgMSBkZWxl dGlvbigtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY29kZWxpdGUvcGF0Y2hlcy93eDMy LnBhdGNoCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jb2RlbGl0ZS9wYXRjaGVzL3d4MzIucGF0Y2gg Yi9zcmNwa2dzL2NvZGVsaXRlL3BhdGNoZXMvd3gzMi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAwMDAwLi5mNTUzNWViYWYxYjNiCi0tLSAvZGV2L251bGwKKysrIGIv c3JjcGtncy9jb2RlbGl0ZS9wYXRjaGVzL3d4MzIucGF0Y2gKQEAgLTAsMCArMSwxMzEgQEAKK0Zy b20gNDI3YWYzNThkNDFkZWIwMGE0NjI4ZTViMzljNjNhOTI5Y2VmODk0YSBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKK0Zyb206IEVyYW4gSWZyYWggPGVyYW5AY29kZWxpdGUub3JnPgorRGF0ZTog RnJpLCAxMCBKdW4gMjAyMiAxMDoxNTo1MiArMDMwMAorU3ViamVjdDogW1BBVENIXSBtYWNvczog aHVuc3BlbGw6IHVzZSB0aGUgbGlicmFyeSBmcm9tIGJyZXcgZml4ZWQgYnVpbGQKKyBhZ2FpbnN0 IHd4My4xLjcgdGVtcG9yYXJseTogZGlzYWJsZSBidWlsZGluZyBMTERCIG9uIG1hY29zCisKKy0t LQorIENNYWtlTGlzdHMudHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA1ICst CisgU3BlbGxDaGVja2VyL0NNYWtlTGlzdHMudHh0ICAgICAgICAgICAgICAgICAgfCAgMjcgKy0K KyBzZGsvaHVuc3BlbGwvaW5jbHVkZS9hZmZlbnRyeS5oeHggICAgICAgICAgICB8IDE0NCAtLS0t LS0tLS0tLQorIHNkay9odW5zcGVsbC9pbmNsdWRlL2FmZml4bWdyLmh4eCAgICAgICAgICAgIHwg MjUyIC0tLS0tLS0tLS0tLS0tLS0tLS0KKyBzZGsvaHVuc3BlbGwvaW5jbHVkZS9hdHlwZXMuaHh4 ICAgICAgICAgICAgICB8IDEwNyAtLS0tLS0tLQorIHNkay9odW5zcGVsbC9pbmNsdWRlL2Jhc2Vh ZmZpeC5oeHggICAgICAgICAgIHwgIDMyIC0tLQorIHNkay9odW5zcGVsbC9pbmNsdWRlL2NzdXRp bC5oeHggICAgICAgICAgICAgIHwgMjIzIC0tLS0tLS0tLS0tLS0tLS0KKyBzZGsvaHVuc3BlbGwv aW5jbHVkZS9kaWN0bWdyLmh4eCAgICAgICAgICAgICB8ICAzOSAtLS0KKyBzZGsvaHVuc3BlbGwv aW5jbHVkZS9maWxlbWdyLmh4eCAgICAgICAgICAgICB8ICAyOCAtLS0KKyBzZGsvaHVuc3BlbGwv aW5jbHVkZS9oYXNobWdyLmh4eCAgICAgICAgICAgICB8ICA2OSAtLS0tLQorIHNkay9odW5zcGVs bC9pbmNsdWRlL2h0eXBlcy5oeHggICAgICAgICAgICAgIHwgIDMyIC0tLQorIHNkay9odW5zcGVs bC9pbmNsdWRlL2h1bnNwZWxsLmh4eCAgICAgICAgICAgIHwgMTg0IC0tLS0tLS0tLS0tLS0tCisg c2RrL2h1bnNwZWxsL2luY2x1ZGUvaHVuemlwLmh4eCAgICAgICAgICAgICAgfCAgNDcgLS0tLQor IHNkay9odW5zcGVsbC9pbmNsdWRlL2xhbmdudW0uaHh4ICAgICAgICAgICAgIHwgIDM4IC0tLQor IHNkay9odW5zcGVsbC9pbmNsdWRlL3Bob25ldC5oeHggICAgICAgICAgICAgIHwgIDUyIC0tLS0K KyBzZGsvaHVuc3BlbGwvaW5jbHVkZS9yZXBsaXN0Lmh4eCAgICAgICAgICAgICB8ICAzMCAtLS0K KyBzZGsvaHVuc3BlbGwvaW5jbHVkZS9zdWdnZXN0bWdyLmh4eCAgICAgICAgICB8IDExNSAtLS0t LS0tLS0KKyBzZGsvaHVuc3BlbGwvaW5jbHVkZS93X2NoYXIuaHh4ICAgICAgICAgICAgICB8ICAy MSAtLQorIHNkay9odW5zcGVsbC9saWIvb3N4L2xpYmh1bnNwZWxsLTEuMy4wLmR5bGliIHwgQmlu IDM2Mzg3NiAtPiAwIGJ5dGVzCisgd3hjcmFmdGVyL215eGhfcHJvcGdyaWQuY3BwICAgICAgICAg ICAgICAgICAgfCAgMzIgKystCisgMjAgZmlsZXMgY2hhbmdlZCwgMzYgaW5zZXJ0aW9ucygrKSwg MTQ0MSBkZWxldGlvbnMoLSkKKyBkZWxldGUgbW9kZSAxMDA2NDQgc2RrL2h1bnNwZWxsL2luY2x1 ZGUvYWZmZW50cnkuaHh4CisgZGVsZXRlIG1vZGUgMTAwNjQ0IHNkay9odW5zcGVsbC9pbmNsdWRl L2FmZml4bWdyLmh4eAorIGRlbGV0ZSBtb2RlIDEwMDY0NCBzZGsvaHVuc3BlbGwvaW5jbHVkZS9h dHlwZXMuaHh4CisgZGVsZXRlIG1vZGUgMTAwNjQ0IHNkay9odW5zcGVsbC9pbmNsdWRlL2Jhc2Vh ZmZpeC5oeHgKKyBkZWxldGUgbW9kZSAxMDA2NDQgc2RrL2h1bnNwZWxsL2luY2x1ZGUvY3N1dGls Lmh4eAorIGRlbGV0ZSBtb2RlIDEwMDY0NCBzZGsvaHVuc3BlbGwvaW5jbHVkZS9kaWN0bWdyLmh4 eAorIGRlbGV0ZSBtb2RlIDEwMDY0NCBzZGsvaHVuc3BlbGwvaW5jbHVkZS9maWxlbWdyLmh4eAor IGRlbGV0ZSBtb2RlIDEwMDY0NCBzZGsvaHVuc3BlbGwvaW5jbHVkZS9oYXNobWdyLmh4eAorIGRl bGV0ZSBtb2RlIDEwMDY0NCBzZGsvaHVuc3BlbGwvaW5jbHVkZS9odHlwZXMuaHh4CisgZGVsZXRl IG1vZGUgMTAwNjQ0IHNkay9odW5zcGVsbC9pbmNsdWRlL2h1bnNwZWxsLmh4eAorIGRlbGV0ZSBt b2RlIDEwMDY0NCBzZGsvaHVuc3BlbGwvaW5jbHVkZS9odW56aXAuaHh4CisgZGVsZXRlIG1vZGUg MTAwNjQ0IHNkay9odW5zcGVsbC9pbmNsdWRlL2xhbmdudW0uaHh4CisgZGVsZXRlIG1vZGUgMTAw NjQ0IHNkay9odW5zcGVsbC9pbmNsdWRlL3Bob25ldC5oeHgKKyBkZWxldGUgbW9kZSAxMDA2NDQg c2RrL2h1bnNwZWxsL2luY2x1ZGUvcmVwbGlzdC5oeHgKKyBkZWxldGUgbW9kZSAxMDA2NDQgc2Rr L2h1bnNwZWxsL2luY2x1ZGUvc3VnZ2VzdG1nci5oeHgKKyBkZWxldGUgbW9kZSAxMDA2NDQgc2Rr L2h1bnNwZWxsL2luY2x1ZGUvd19jaGFyLmh4eAorIGRlbGV0ZSBtb2RlIDEwMDc1NSBzZGsvaHVu c3BlbGwvbGliL29zeC9saWJodW5zcGVsbC0xLjMuMC5keWxpYgorCitkaWZmIC0tZ2l0IGEvd3hj cmFmdGVyL215eGhfcHJvcGdyaWQuY3BwIGIvd3hjcmFmdGVyL215eGhfcHJvcGdyaWQuY3BwCitp bmRleCA5NzRiYzYyZjAuLjNmY2IzODQ1ZCAxMDA2NDQKKy0tLSBhL3d4Y3JhZnRlci9teXhoX3By b3BncmlkLmNwcAorKysrIGIvd3hjcmFmdGVyL215eGhfcHJvcGdyaWQuY3BwCitAQCAtMSw0ICsx LDUgQEAKKyAjaW5jbHVkZSAibXl4aF9wcm9wZ3JpZC5oIgorKworICNpbmNsdWRlIDx3eC9kYXRl dGltZS5oPgorICNpbmNsdWRlIDx3eC9sb2cuaD4KKyAjaW5jbHVkZSA8d3gvcHJvcGdyaWQvYWR2 cHJvcHMuaD4KK0BAIC00OCwxMCArNDksMTQgQEAgd3hPYmplY3QqIE15V3hQcm9wR3JpZFhtbEhh bmRsZXI6OkRvQ3JlYXRlUmVzb3VyY2UoKQorIAorICAgICAgICAgLy8gYWRkIHRoZSBzcGxpdHRl ciBwcm9wZXJ0eSBhZnRlciB0aGUgY2hpbGRyZW4gd2VyZSBhZGRlZAorICAgICAgICAgaW50IHNw bGl0dGVyTGVmdCA9IEdldEJvb2woInNwbGl0dGVybGVmdCIpOworLSAgICAgICAgaWYoc3BsaXR0 ZXJMZWZ0KSB7IG1fcGdtZ3ItPkdldFBhZ2UoMCktPlNldFNwbGl0dGVyTGVmdCgpOyB9CisrICAg ICAgICBpZihzcGxpdHRlckxlZnQpIHsKKysgICAgICAgICAgICBtX3BnbWdyLT5TZXRTcGxpdHRl ckxlZnQoKTsKKysgICAgICAgIH0KKyAKKyAgICAgICAgIGludCBzcGxpdHRlclBvcyA9IEdldExv bmcoInNwbGl0dGVycG9zIiwgd3hOT1RfRk9VTkQpOworLSAgICAgICAgaWYoc3BsaXR0ZXJQb3Mg IT0gd3hOT1RfRk9VTkQpIHsgbV9wZ21nci0+R2V0UGFnZSgwKS0+U2V0U3BsaXR0ZXJQb3NpdGlv bihzcGxpdHRlclBvcyk7IH0KKysgICAgICAgIGlmKHNwbGl0dGVyUG9zICE9IHd4Tk9UX0ZPVU5E KSB7CisrICAgICAgICAgICAgbV9wZ21nci0+R2V0UGFnZSgwKS0+U2V0U3BsaXR0ZXJQb3NpdGlv bihzcGxpdHRlclBvcyk7CisrICAgICAgICB9CisgCisgICAgICAgICBtX2lzSW5zaWRlID0gZmFs c2U7CisgICAgICAgICByZXR1cm4gbV9wZ21ncjsKK0BAIC02Nyw3ICs3Miw5IEBAIGJvb2wgTXlX eFByb3BHcmlkWG1sSGFuZGxlcjo6Q2FuSGFuZGxlKHd4WG1sTm9kZSogbm9kZSkKKyAKKyB2b2lk IE15V3hQcm9wR3JpZFhtbEhhbmRsZXI6OkhhbmRsZVBnUHJvcGVydHkod3hQR1Byb3BlcnR5KiBw YXJlbnQpCisgeworLSAgICBpZighSGFzUGFyYW0od3hUKCJwcm9wdHlwZSIpKSkgeyByZXR1cm47 IH0KKysgICAgaWYoIUhhc1BhcmFtKHd4VCgicHJvcHR5cGUiKSkpIHsKKysgICAgICAgIHJldHVy bjsKKysgICAgfQorIAorICAgICAvLyBQcm9wZXJ0eQorICAgICB3eFN0cmluZyBwcm9wdHlwZSA9 IEdldFRleHQoInByb3B0eXBlIik7CitAQCAtMTE2LDcgKzEyMyw5IEBAIHZvaWQgTXlXeFByb3BH cmlkWG1sSGFuZGxlcjo6SGFuZGxlUGdQcm9wZXJ0eSh3eFBHUHJvcGVydHkqIHBhcmVudCkKKyAK KyAgICAgfSBlbHNlIGlmKHByb3B0eXBlID09ICJ3eEVudW1Qcm9wZXJ0eSIpIHsKKyAgICAgICAg IGludCBzZWwgPSBpdGVtcy5JbmRleCh2YWx1ZSk7CistICAgICAgICBpZihzZWwgPT0gd3hOT1Rf Rk9VTkQpIHsgc2VsID0gMDsgfQorKyAgICAgICAgaWYoc2VsID09IHd4Tk9UX0ZPVU5EKSB7Cisr ICAgICAgICAgICAgc2VsID0gMDsKKysgICAgICAgIH0KKyAKKyAgICAgICAgIHByb3AgPSBEb0Fw cGVuZFByb3BlcnR5KHBhcmVudCwgbmV3IHd4RW51bVByb3BlcnR5KGxhYmVsLCB3eFBHX0xBQkVM LCBpdGVtcywgd3hBcnJheUludCgpLCBzZWwpKTsKKyAKK0BAIC0xNDMsOCArMTUyLDEyIEBAIHZv aWQgTXlXeFByb3BHcmlkWG1sSGFuZGxlcjo6SGFuZGxlUGdQcm9wZXJ0eSh3eFBHUHJvcGVydHkq IHBhcmVudCkKKyAKKyAgICAgLy8gSGFuZGxlIG5lc3RlZCBjaGlsZHJlbgorICAgICBpZihwcm9w KSB7CistICAgICAgICBpZihiZ2NvbC5Jc09rKCkpIHsgcHJvcC0+U2V0QmFja2dyb3VuZENvbG91 cihiZ2NvbCwgYmdjb2xSZWN1cnNlKTsgfQorLSAgICAgICAgaWYoIXByb3BFZGl0b3IuSXNFbXB0 eSgpKSB7IHByb3AtPlNldEVkaXRvcihwcm9wRWRpdG9yKTsgfQorKyAgICAgICAgaWYoYmdjb2wu SXNPaygpKSB7CisrICAgICAgICAgICAgcHJvcC0+U2V0QmFja2dyb3VuZENvbG91cihiZ2NvbCwg Ymdjb2xSZWN1cnNlKTsKKysgICAgICAgIH0KKysgICAgICAgIGlmKCFwcm9wRWRpdG9yLklzRW1w dHkoKSkgeworKyAgICAgICAgICAgIHByb3AtPlNldEVkaXRvcihwcm9wRWRpdG9yKTsKKysgICAg ICAgIH0KKyAgICAgICAgIHByb3AtPlNldEhlbHBTdHJpbmcodGlwKTsKKyAKKyAgICAgICAgIC8v IENoZWNrIHRvIHNlZSBpZiB0aGlzIHByb3BlcnR5IGhhcyBjaGlsZHJlbgorQEAgLTE2MCwxMiAr MTczLDE1IEBAIHZvaWQgTXlXeFByb3BHcmlkWG1sSGFuZGxlcjo6SGFuZGxlUGdQcm9wZXJ0eSh3 eFBHUHJvcGVydHkqIHBhcmVudCkKKyAKKyB3eEFycmF5U3RyaW5nIE15V3hQcm9wR3JpZFhtbEhh bmRsZXI6OkdldEFycmF5KGNvbnN0IHd4WG1sTm9kZSogbm9kZSkgY29uc3QKKyB7CistICAgIGlm KCFub2RlKSByZXR1cm4gd3hBcnJheVN0cmluZygpOworKyAgICBpZighbm9kZSkKKysgICAgICAg IHJldHVybiB3eEFycmF5U3RyaW5nKCk7CisgCisgICAgIHd4QXJyYXlTdHJpbmcgaXRlbXM7Cisg ICAgIHd4WG1sTm9kZSogY2hpbGQgPSBub2RlLT5HZXRDaGlsZHJlbigpOworICAgICB3aGlsZShj aGlsZCkgeworLSAgICAgICAgaWYoY2hpbGQtPkdldE5hbWUoKSA9PSAiaXRlbSIpIHsgaXRlbXMu QWRkKGNoaWxkLT5HZXROb2RlQ29udGVudCgpKTsgfQorKyAgICAgICAgaWYoY2hpbGQtPkdldE5h bWUoKSA9PSAiaXRlbSIpIHsKKysgICAgICAgICAgICBpdGVtcy5BZGQoY2hpbGQtPkdldE5vZGVD b250ZW50KCkpOworKyAgICAgICAgfQorICAgICAgICAgY2hpbGQgPSBjaGlsZC0+R2V0TmV4dCgp OworICAgICB9CisgICAgIHJldHVybiBpdGVtczsKKy0tIAorMi40Mi4wCisKZGlmZiAtLWdpdCBh L3NyY3BrZ3MvY29kZWxpdGUvdGVtcGxhdGUgYi9zcmNwa2dzL2NvZGVsaXRlL3RlbXBsYXRlCmlu ZGV4IGIwYmY4ZjU3NzM2YTQuLjE0MGZlMjBkMGQyNmIgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvY29k ZWxpdGUvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9jb2RlbGl0ZS90ZW1wbGF0ZQpAQCAtMSw3ICsx LDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2NvZGVsaXRlJwogcGtnbmFtZT1jb2RlbGl0ZQog dmVyc2lvbj0xNi4wLjAKLXJldmlzaW9uPTMKK3JldmlzaW9uPTQKIGNyZWF0ZV93cmtzcmM9eWVz CiBidWlsZF9zdHlsZT1jbWFrZQogYnVpbGRfaGVscGVyPWNtYWtlLXd4V2lkZ2V0cy1ndGszCgpG cm9tIDQ2MWIwYTAxZjFmN2M0YzFkZTA3YjVhNTJhYjNhYzdiY2I3M2ZkNjAgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCkZyb206ICJBbmRyZXcgSi4gSGVzZm9yZCIgPGFqaEBzaWRlYmFuZC5vcmc+ CkRhdGU6IE1vbiwgMjUgU2VwIDIwMjMgMDA6MTg6MjAgLTA0MDAKU3ViamVjdDogW1BBVENIIDIx LzQ0XSBkaWZmLXBkZjogcmVidWlsZCB3aXRoIHd4V2lkZ2V0cy1ndGszLTMuMi4yLjEKCi0tLQog c3JjcGtncy9kaWZmLXBkZi90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2Vy dGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZGlmZi1wZGYvdGVt cGxhdGUgYi9zcmNwa2dzL2RpZmYtcGRmL3RlbXBsYXRlCmluZGV4IDFiMWMxYjY5MDgxNGMuLmRm ZjFmMjIzNjJjYmQgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvZGlmZi1wZGYvdGVtcGxhdGUKKysrIGIv c3JjcGtncy9kaWZmLXBkZi90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmls ZSBmb3IgJ2RpZmYtcGRmJwogcGtnbmFtZT1kaWZmLXBkZgogdmVyc2lvbj0wLjUuMQotcmV2aXNp b249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQogY29uZmlndXJlX2Fy Z3M9Ii0td2l0aC13eC1jb25maWc9d3gtY29uZmlnLWd0azMiCiBob3N0bWFrZWRlcGVuZHM9InBr Zy1jb25maWciCgpGcm9tIGEzMTYxMDJkOWI5NjY4NGM4MzgxY2M1ODU5NmZiMWJmMTMyZTNmYzEg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ICJBbmRyZXcgSi4gSGVzZm9yZCIgPGFqaEBz aWRlYmFuZC5vcmc+CkRhdGU6IE1vbiwgMjUgU2VwIDIwMjMgMDA6MTg6MjAgLTA0MDAKU3ViamVj dDogW1BBVENIIDIyLzQ0XSBlcmxhbmc6IHJlYnVpbGQgd2l0aCB3eFdpZGdldHMtZ3RrMy0zLjIu Mi4xCgotLS0KIHNyY3BrZ3MvZXJsYW5nL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQs IDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9lcmxh bmcvdGVtcGxhdGUgYi9zcmNwa2dzL2VybGFuZy90ZW1wbGF0ZQppbmRleCA0MTFmOTIxZjU5ZjQ4 Li4yYjc1MmVmNzg5NmRjIDEwMDY0NAotLS0gYS9zcmNwa2dzL2VybGFuZy90ZW1wbGF0ZQorKysg Yi9zcmNwa2dzL2VybGFuZy90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmls ZSBmb3IgJ2VybGFuZycKIHBrZ25hbWU9ZXJsYW5nCiB2ZXJzaW9uPTI2LjEKLXJldmlzaW9uPTEK K3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPWdudS1jb25maWd1cmUKIG1ha2VfaW5zdGFsbF90YXJn ZXQ9Imluc3RhbGwgaW5zdGFsbC1kb2NzIgogaG9zdG1ha2VkZXBlbmRzPSJhdXRvY29uZiBsaWJ4 c2x0IHBlcmwgdGFyIgoKRnJvbSAxNGY3ZGYwODA0ZDUwNWNmZjUxYmM1Nzg4ZmZhZjJhMDcxYWUw YjM5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAiQW5kcmV3IEouIEhlc2ZvcmQiIDxh amhAc2lkZWJhbmQub3JnPgpEYXRlOiBNb24sIDI1IFNlcCAyMDIzIDAwOjE4OjIxIC0wNDAwClN1 YmplY3Q6IFtQQVRDSCAyMy80NF0gZmlsZXppbGxhOiByZWJ1aWxkIHdpdGggd3hXaWRnZXRzLWd0 azMtMy4yLjIuMQoKLS0tCiBzcmNwa2dzL2ZpbGV6aWxsYS90ZW1wbGF0ZSB8IDIgKy0KIDEgZmls ZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvZmlsZXppbGxhL3RlbXBsYXRlIGIvc3JjcGtncy9maWxlemlsbGEvdGVtcGxhdGUKaW5k ZXggYzhkN2ZlYWI3YjRmNS4uMjFhNWI0NDAwNGM1NSAxMDA2NDQKLS0tIGEvc3JjcGtncy9maWxl emlsbGEvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9maWxlemlsbGEvdGVtcGxhdGUKQEAgLTEsNyAr MSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdmaWxlemlsbGEnCiBwa2duYW1lPWZpbGV6aWxs YQogdmVyc2lvbj0zLjY1LjAKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPWdu dS1jb25maWd1cmUKIGNvbmZpZ3VyZV9hcmdzPSItLWRpc2FibGUtc3RhdGljIC0tZGlzYWJsZS1t YW51YWx1cGRhdGVjaGVjayAtLWRpc2FibGUtYXV0b3VwZGF0ZWNoZWNrCiAgLS13aXRoLXd4LWNv bmZpZz13eC1jb25maWctZ3RrMyIKCkZyb20gYjQ3NWZkNjg2MDU1YzUzOTFhYzZjODlhMGY1MjMw NzcyZjZmOWNkNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogIkFuZHJldyBKLiBIZXNm b3JkIiA8YWpoQHNpZGViYW5kLm9yZz4KRGF0ZTogTW9uLCAyNSBTZXAgMjAyMyAwMDoxODoyMSAt MDQwMApTdWJqZWN0OiBbUEFUQ0ggMjQvNDRdIGdudXBsb3Q6IHJlYnVpbGQgd2l0aCB3eFdpZGdl dHMtZ3RrMy0zLjIuMi4xCgotLS0KIHNyY3BrZ3MvZ251cGxvdC90ZW1wbGF0ZSB8IDIgKy0KIDEg ZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBh L3NyY3BrZ3MvZ251cGxvdC90ZW1wbGF0ZSBiL3NyY3BrZ3MvZ251cGxvdC90ZW1wbGF0ZQppbmRl eCBhZDBkYmYwNTNkMDAyLi40ZDFlZDIxMjExNWE2IDEwMDY0NAotLS0gYS9zcmNwa2dzL2dudXBs b3QvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9nbnVwbG90L3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBA QAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnZ251cGxvdCcKIHBrZ25hbWU9Z251cGxvdAogdmVyc2lv bj01LjQuOQotcmV2aXNpb249MQorcmV2aXNpb249MgogY29uZmlndXJlX2FyZ3M9Ii0td2l0aC1y ZWFkbGluZT1idWlsdGluIgogaG9zdG1ha2VkZXBlbmRzPSJwa2ctY29uZmlnIGx1YTUyIgogbWFr ZWRlcGVuZHM9InpsaWItZGV2ZWwgbGliWDExLWRldmVsIGdkLWRldmVsIGx1YTUyLWRldmVsIgoK RnJvbSA1Y2JhOTY2NjFiOWQ2YzE3ZDYyZTMyNzJkNjQ3ZDZkYjQzYTkxZDZmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiQW5kcmV3IEouIEhlc2ZvcmQiIDxhamhAc2lkZWJhbmQub3Jn PgpEYXRlOiBNb24sIDI1IFNlcCAyMDIzIDAwOjE4OjIxIC0wNDAwClN1YmplY3Q6IFtQQVRDSCAy NS80NF0gZ29sbHk6IHJlYnVpbGQgd2l0aCB3eFdpZGdldHMtZ3RrMy0zLjIuMi4xCgotLS0KIHNy Y3BrZ3MvZ29sbHkvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24o KyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2dvbGx5L3RlbXBsYXRlIGIv c3JjcGtncy9nb2xseS90ZW1wbGF0ZQppbmRleCA2OTFmOTk5YTZlZGRkLi4xZmQ0MDZiNmEyZjU1 IDEwMDY0NAotLS0gYS9zcmNwa2dzL2dvbGx5L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvZ29sbHkv dGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdnb2xseScKIHBr Z25hbWU9Z29sbHkKIHZlcnNpb249NC4xCi1yZXZpc2lvbj0yCityZXZpc2lvbj0zCiBidWlsZF93 cmtzcmM9Imd1aS13eCIKIGJ1aWxkX3N0eWxlPWdudS1tYWtlZmlsZQogbWFrZV9idWlsZF9hcmdz PSItZiBtYWtlZmlsZS1ndGsgR09MTFlESVI9L3Vzci9zaGFyZS9nb2xseSBMVUFMSUI9LWxsdWE1 LjQKCkZyb20gZDc0MjU2MTg1MWZkNmI5ZjQxN2MyNGZiM2M3MDY4NmM3NzBlZGZjMCBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogIkFuZHJldyBKLiBIZXNmb3JkIiA8YWpoQHNpZGViYW5k Lm9yZz4KRGF0ZTogTW9uLCAyNSBTZXAgMjAyMyAwMDoxODoyMSAtMDQwMApTdWJqZWN0OiBbUEFU Q0ggMjYvNDRdIGh1Z2luOiByZWJ1aWxkIHdpdGggd3hXaWRnZXRzLWd0azMtMy4yLjIuMQoKLS0t CiBzcmNwa2dzL2h1Z2luL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0 aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9odWdpbi90ZW1wbGF0 ZSBiL3NyY3BrZ3MvaHVnaW4vdGVtcGxhdGUKaW5kZXggOTQzZDIzZDFhOTMyZi4uNzM3MjA3ODFj NzE5MSAxMDA2NDQKLS0tIGEvc3JjcGtncy9odWdpbi90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2h1 Z2luL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnaHVnaW4n CiBwa2duYW1lPWh1Z2luCiB2ZXJzaW9uPTIwMjIuMC4wCi1yZXZpc2lvbj04CityZXZpc2lvbj05 CiBidWlsZF9zdHlsZT1jbWFrZQogYnVpbGRfaGVscGVyPWNtYWtlLXd4V2lkZ2V0cy1ndGszCiBw eWNvbXBpbGVfZGlycz0idXNyL3NoYXJlL2h1Z2luL2RhdGEvcGx1Z2lucyB1c3Ivc2hhcmUvaHVn aW4vZGF0YS9wbHVnaW5zLXRlbXBsYXRlcyIKCkZyb20gMTg4OTI0OTliYmM2NzA2MjFjNWQ0MmFm YmUwYTQ3MjM4ZDk1ZjZhYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogIkFuZHJldyBK LiBIZXNmb3JkIiA8YWpoQHNpZGViYW5kLm9yZz4KRGF0ZTogTW9uLCAyNSBTZXAgMjAyMyAwMDox ODoyMSAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMjcvNDRdIGtpY2FkOiByZWJ1aWxkIHdpdGggd3hX aWRnZXRzLWd0azMtMy4yLjIuMQoKLS0tCiBzcmNwa2dzL2tpY2FkL3RlbXBsYXRlIHwgMiArLQog MSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0 IGEvc3JjcGtncy9raWNhZC90ZW1wbGF0ZSBiL3NyY3BrZ3Mva2ljYWQvdGVtcGxhdGUKaW5kZXgg MWMzNGM0OThhZmJkOC4uMWZiNmRkNDM0ZGE0MiAxMDA2NDQKLS0tIGEvc3JjcGtncy9raWNhZC90 ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2tpY2FkL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBU ZW1wbGF0ZSBmaWxlIGZvciAna2ljYWQnCiBwa2duYW1lPWtpY2FkCiB2ZXJzaW9uPTcuMC4xCi1y ZXZpc2lvbj0yCityZXZpc2lvbj0zCiBidWlsZF9zdHlsZT1jbWFrZQogYnVpbGRfaGVscGVyPWNt YWtlLXd4V2lkZ2V0cy1ndGszCiBjb25maWd1cmVfYXJncz0iLURLSUNBRF9TQ1JJUFRJTkdfV1hQ WVRIT049T04KCkZyb20gNDVkNTA3YjdhODgwNjQxNjQwZTk4YWRkYjU2ZThlYmFjZTFlZmJmYiBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogIkFuZHJldyBKLiBIZXNmb3JkIiA8YWpoQHNp ZGViYW5kLm9yZz4KRGF0ZTogTW9uLCAyNSBTZXAgMjAyMyAwMDoxODoyMSAtMDQwMApTdWJqZWN0 OiBbUEFUQ0ggMjgvNDRdIG1lZGlhaW5mbzogcmVidWlsZCB3aXRoIHd4V2lkZ2V0cy1ndGszLTMu Mi4yLjEKCi0tLQogc3JjcGtncy9tZWRpYWluZm8vdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hh bmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dz L21lZGlhaW5mby90ZW1wbGF0ZSBiL3NyY3BrZ3MvbWVkaWFpbmZvL3RlbXBsYXRlCmluZGV4IGU4 MGRhNTllYWQ4ODAuLjFiODIzNzZiM2ZiZGEgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvbWVkaWFpbmZv L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvbWVkaWFpbmZvL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBA QAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnbWVkaWFpbmZvJwogcGtnbmFtZT1tZWRpYWluZm8KIHZl cnNpb249MjIuMTIKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGNvbmZpZ3VyZV9hcmdzPSItLXdp dGgtd3gtY29uZmlnPXd4LWNvbmZpZy1ndGszIgogaG9zdG1ha2VkZXBlbmRzPSJhdXRvbWFrZSBs aWJ0b29sIHBrZy1jb25maWciCiBtYWtlZGVwZW5kcz0ibGlibWVkaWFpbmZvLWRldmVsIHpsaWIt ZGV2ZWwgd3hXaWRnZXRzLWd0azMtZGV2ZWwiCgpGcm9tIDI4ZmVjMTIxMjRkMjc2YzVjNGZmYzUy YzhjOTg4YmZhMDIyMjVkMzQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ICJBbmRyZXcg Si4gSGVzZm9yZCIgPGFqaEBzaWRlYmFuZC5vcmc+CkRhdGU6IE1vbiwgMjUgU2VwIDIwMjMgMDA6 MTg6MjEgLTA0MDAKU3ViamVjdDogW1BBVENIIDI5LzQ0XSBvcGVuYmFiZWw6IHJlYnVpbGQgd2l0 aCB3eFdpZGdldHMtZ3RrMy0zLjIuMi4xCgotLS0KIHNyY3BrZ3Mvb3BlbmJhYmVsL3RlbXBsYXRl IHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpk aWZmIC0tZ2l0IGEvc3JjcGtncy9vcGVuYmFiZWwvdGVtcGxhdGUgYi9zcmNwa2dzL29wZW5iYWJl bC90ZW1wbGF0ZQppbmRleCA0MWRiODQ4ZDc0ZTRjLi43N2JiZWEyOGZmNjk2IDEwMDY0NAotLS0g YS9zcmNwa2dzL29wZW5iYWJlbC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL29wZW5iYWJlbC90ZW1w bGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ29wZW5iYWJlbCcKIHBr Z25hbWU9b3BlbmJhYmVsCiB2ZXJzaW9uPTMuMS4xCi1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBf dmVyPSR7dmVyc2lvbi8vLi8tfQogYnVpbGRfc3R5bGU9Y21ha2UKIGJ1aWxkX2hlbHBlcj1jbWFr ZS13eFdpZGdldHMtZ3RrMwoKRnJvbSBkM2E2ZjhiMDIzYzRhOTQzYzY0ZTZmOTNmMmZkMzRlMTky OTA2ODhhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAiQW5kcmV3IEouIEhlc2ZvcmQi IDxhamhAc2lkZWJhbmQub3JnPgpEYXRlOiBNb24sIDI1IFNlcCAyMDIzIDAwOjE4OjIyIC0wNDAw ClN1YmplY3Q6IFtQQVRDSCAzMC80NF0gcGFzc3dvcmRzYWZlOiByZWJ1aWxkIHdpdGggd3hXaWRn ZXRzLWd0azMtMy4yLjIuMQoKLS0tCiBzcmNwa2dzL3Bhc3N3b3Jkc2FmZS90ZW1wbGF0ZSB8IDIg Ky0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAt LWdpdCBhL3NyY3BrZ3MvcGFzc3dvcmRzYWZlL3RlbXBsYXRlIGIvc3JjcGtncy9wYXNzd29yZHNh ZmUvdGVtcGxhdGUKaW5kZXggODhmZmE0MWY0NzRiYy4uZjgzZDFmZTVjYjFmNSAxMDA2NDQKLS0t IGEvc3JjcGtncy9wYXNzd29yZHNhZmUvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9wYXNzd29yZHNh ZmUvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdwYXNzd29y ZHNhZmUnCiBwa2duYW1lPXBhc3N3b3Jkc2FmZQogdmVyc2lvbj0xLjE2LjAKLXJldmlzaW9uPTEK K3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPWNtYWtlCiBidWlsZF9oZWxwZXI9Y21ha2Utd3hXaWRn ZXRzLWd0azMKICMgYnVpbGQgcHJvY2VzcyB1c2VzIHBlcmwgdG8gZ2VuZXJhdGUgY29yZV9zdC5j cHAgYW5kIHppcCB0byBnZW5lcmF0ZSBoZWxwIGZpbGVzCgpGcm9tIDcyMDZmNmQwY2EwODY2NjY3 N2I5NjliNWRkYTczNzFjZjBmOGQ2MzUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ICJB bmRyZXcgSi4gSGVzZm9yZCIgPGFqaEBzaWRlYmFuZC5vcmc+CkRhdGU6IE1vbiwgMjUgU2VwIDIw MjMgMDA6MTg6MjIgLTA0MDAKU3ViamVjdDogW1BBVENIIDMxLzQ0XSBwb2VkaXQ6IHJlYnVpbGQg d2l0aCB3eFdpZGdldHMtZ3RrMy0zLjIuMi4xCgotLS0KIHNyY3BrZ3MvcG9lZGl0L3RlbXBsYXRl IHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpk aWZmIC0tZ2l0IGEvc3JjcGtncy9wb2VkaXQvdGVtcGxhdGUgYi9zcmNwa2dzL3BvZWRpdC90ZW1w bGF0ZQppbmRleCA0OWU3ZWZlOTY1NDc2Li4wOWFkMTkyYWYyMzZkIDEwMDY0NAotLS0gYS9zcmNw a2dzL3BvZWRpdC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3BvZWRpdC90ZW1wbGF0ZQpAQCAtMSw3 ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3BvZWRpdCcKIHBrZ25hbWU9cG9lZGl0CiB2 ZXJzaW9uPTMuMy4yCi1yZXZpc2lvbj0zCityZXZpc2lvbj00CiBidWlsZF9zdHlsZT1nbnUtY29u ZmlndXJlCiBjb25maWd1cmVfYXJncz0iLS13aXRoLXd4LWNvbmZpZz13eC1jb25maWctZ3RrMyIK IGhvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyIKCkZyb20gMjRkYTBjOGM4MjA4YWY5NTUxZDhk YzRmODU3MTJhOWNhN2U2YmFhMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogIkFuZHJl dyBKLiBIZXNmb3JkIiA8YWpoQHNpZGViYW5kLm9yZz4KRGF0ZTogTW9uLCAyNSBTZXAgMjAyMyAw MDoxODoyMiAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMzIvNDRdIHNwZWstYWx0ZXJuYXRpdmU6IHJl YnVpbGQgd2l0aCB3eFdpZGdldHMtZ3RrMy0zLjIuMi4xCgotLS0KIHNyY3BrZ3Mvc3Blay1hbHRl cm5hdGl2ZS90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwg MSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvc3Blay1hbHRlcm5hdGl2ZS90ZW1w bGF0ZSBiL3NyY3BrZ3Mvc3Blay1hbHRlcm5hdGl2ZS90ZW1wbGF0ZQppbmRleCBkNjUwODZiOGYw MDhjLi43Mjc0N2NiYjBhMDI0IDEwMDY0NAotLS0gYS9zcmNwa2dzL3NwZWstYWx0ZXJuYXRpdmUv dGVtcGxhdGUKKysrIGIvc3JjcGtncy9zcGVrLWFsdGVybmF0aXZlL3RlbXBsYXRlCkBAIC0xLDcg KzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnc3Blay1hbHRlcm5hdGl2ZScKIHBrZ25hbWU9 c3Blay1hbHRlcm5hdGl2ZQogdmVyc2lvbj0wLjguMi4zCi1yZXZpc2lvbj0xCityZXZpc2lvbj0y CiBidWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCiBob3N0bWFrZWRlcGVuZHM9ImF1dG9tYWtlIGdl dHRleHQtZGV2ZWwgaW50bHRvb2wgbGlidG9vbCBwa2ctY29uZmlnIHd4V2lkZ2V0cy1jb21tb24i CiBtYWtlZGVwZW5kcz0iZmZtcGVnLWRldmVsIHd4V2lkZ2V0cy1ndGszLWRldmVsIgoKRnJvbSAy MmUzOGM2MDkxOWZhY2JhYzYyYTE2NjA5OGJjNzhjY2U0NTMyMmJmIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiAiQW5kcmV3IEouIEhlc2ZvcmQiIDxhamhAc2lkZWJhbmQub3JnPgpEYXRl OiBNb24sIDI1IFNlcCAyMDIzIDAwOjE4OjIyIC0wNDAwClN1YmplY3Q6IFtQQVRDSCAzMy80NF0g dHFzbDogcmVidWlsZCB3aXRoIHd4V2lkZ2V0cy1ndGszLTMuMi4yLjEKCi0tLQogc3JjcGtncy90 cXNsL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRl bGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy90cXNsL3RlbXBsYXRlIGIvc3JjcGtncy90 cXNsL3RlbXBsYXRlCmluZGV4IDYxMzg5YjA1ZTYyZDQuLjJjNGFhYmMyMTc2MTUgMTAwNjQ0Ci0t LSBhL3NyY3BrZ3MvdHFzbC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3Rxc2wvdGVtcGxhdGUKQEAg LTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICd0cXNsJwogcGtnbmFtZT10cXNsCiB2 ZXJzaW9uPTIuNi41Ci1yZXZpc2lvbj0yCityZXZpc2lvbj0zCiBidWlsZF9zdHlsZT1jbWFrZQog YnVpbGRfaGVscGVyPWNtYWtlLXd4V2lkZ2V0cy1ndGszCiBob3N0bWFrZWRlcGVuZHM9Ind4V2lk Z2V0cy1ndGszLWRldmVsIgoKRnJvbSBiYTNhNDhhNjJlYTY1ZWUyNGEwMGM2MjJlYTJiMWMwYWM5 OGQ5NzA0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAiQW5kcmV3IEouIEhlc2ZvcmQi IDxhamhAc2lkZWJhbmQub3JnPgpEYXRlOiBNb24sIDI1IFNlcCAyMDIzIDAwOjE4OjIyIC0wNDAw ClN1YmplY3Q6IFtQQVRDSCAzNC80NF0gdHJlZXNoZWV0czogcmVidWlsZCB3aXRoIHd4V2lkZ2V0 cy1ndGszLTMuMi4yLjEKCi0tLQogc3JjcGtncy90cmVlc2hlZXRzL3RlbXBsYXRlIHwgMiArLQog MSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0 IGEvc3JjcGtncy90cmVlc2hlZXRzL3RlbXBsYXRlIGIvc3JjcGtncy90cmVlc2hlZXRzL3RlbXBs YXRlCmluZGV4IGQ1ZjYyNjk5YWY0YTIuLmYwMmQxM2ZkNmJhZmIgMTAwNjQ0Ci0tLSBhL3NyY3Br Z3MvdHJlZXNoZWV0cy90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3RyZWVzaGVldHMvdGVtcGxhdGUK QEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICd0cmVlc2hlZXRzJwogcGtnbmFt ZT10cmVlc2hlZXRzCiB2ZXJzaW9uPTEuMC4yCi1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBidWls ZF9zdHlsZT1jbWFrZQogYnVpbGRfaGVscGVyPSJjbWFrZS13eFdpZGdldHMtZ3RrMyIKIG1ha2Vk ZXBlbmRzPSJ3eFdpZGdldHMtZ3RrMy1kZXZlbCIKCkZyb20gYTJlMWM0YTYwNzhlNzk5NGVjNWVm NmIwNWI1ZWQ0YjNjMDU0OTQxNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogIkFuZHJl dyBKLiBIZXNmb3JkIiA8YWpoQHNpZGViYW5kLm9yZz4KRGF0ZTogTW9uLCAyNSBTZXAgMjAyMyAw MDoxODoyMiAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMzUvNDRdIHZiYS1tOiByZWJ1aWxkIHdpdGgg d3hXaWRnZXRzLWd0azMtMy4yLjIuMQoKLS0tCiBzcmNwa2dzL3ZiYS1tL3RlbXBsYXRlIHwgMiAr LQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0t Z2l0IGEvc3JjcGtncy92YmEtbS90ZW1wbGF0ZSBiL3NyY3BrZ3MvdmJhLW0vdGVtcGxhdGUKaW5k ZXggNDExNWE5ZjYyMTQ4MS4uNDg2ZTQ2MDlhMTlkNiAxMDA2NDQKLS0tIGEvc3JjcGtncy92YmEt bS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3ZiYS1tL3RlbXBsYXRlCkBAIC0yLDcgKzIsNyBAQAog cGtnbmFtZT12YmEtbQogcmV2ZXJ0cz0xMjkyXzIKIHZlcnNpb249Mi4xLjcKLXJldmlzaW9uPTEK K3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPWNtYWtlCiBjb25maWd1cmVfYXJncz0iLURFTkFCTEVf R1RLPVRSVUUgLURFTkFCTEVfRkZNUEVHPVRSVUUgLURFTkFCTEVfTElOSz1UUlVFIC1EQ01BS0Vf QlVJTERfVFlQRT1SZWxlYXNlIgogaG9zdG1ha2VkZXBlbmRzPSJnZXR0ZXh0IHBrZy1jb25maWcg dW56aXAgemlwIHlhc20gd3hXaWRnZXRzLWd0azMtZGV2ZWwiCgpGcm9tIDFmM2QxODJiMTkzOTE0 MDFhMjc2YmFlMTE0MjgxN2QwMzE2NjkzZWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206 ICJBbmRyZXcgSi4gSGVzZm9yZCIgPGFqaEBzaWRlYmFuZC5vcmc+CkRhdGU6IE1vbiwgMjUgU2Vw IDIwMjMgMDA6MTg6MjIgLTA0MDAKU3ViamVjdDogW1BBVENIIDM2LzQ0XSB3aW51c2I6IHJlYnVp bGQgd2l0aCB3eFdpZGdldHMtZ3RrMy0zLjIuMi4xCgotLS0KIHNyY3BrZ3Mvd2ludXNiL3RlbXBs YXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0p CgpkaWZmIC0tZ2l0IGEvc3JjcGtncy93aW51c2IvdGVtcGxhdGUgYi9zcmNwa2dzL3dpbnVzYi90 ZW1wbGF0ZQppbmRleCA2NGVjOGZjZTEyYjAwLi41ZWQxYjgwMDQ4ODQ2IDEwMDY0NAotLS0gYS9z cmNwa2dzL3dpbnVzYi90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3dpbnVzYi90ZW1wbGF0ZQpAQCAt MSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3dpbnVzYicKIHBrZ25hbWU9d2ludXNi CiB2ZXJzaW9uPTEuMC4xMQotcmV2aXNpb249MTAKK3JldmlzaW9uPTExCiBhcmNocz0iaTY4Niog eDg2XzY0KiIKIGJ1aWxkX3N0eWxlPWdudS1jb25maWd1cmUKIGNvbmZpZ3VyZV9hcmdzPSItLXdp dGgtd3gtY29uZmlnPXd4LWNvbmZpZy1ndGszIgoKRnJvbSA0YjAyN2Q3MDkyNzY0NjM4ZTRhMzdl ODNlMjM3N2U0M2RmMDdjOGEyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAiQW5kcmV3 IEouIEhlc2ZvcmQiIDxhamhAc2lkZWJhbmQub3JnPgpEYXRlOiBNb24sIDI1IFNlcCAyMDIzIDAw OjE4OjIzIC0wNDAwClN1YmplY3Q6IFtQQVRDSCAzNy80NF0gd3hNYXhpbWE6IHJlYnVpbGQgd2l0 aCB3eFdpZGdldHMtZ3RrMy0zLjIuMi4xCgotLS0KIHNyY3BrZ3Mvd3hNYXhpbWEvdGVtcGxhdGUg fCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRp ZmYgLS1naXQgYS9zcmNwa2dzL3d4TWF4aW1hL3RlbXBsYXRlIGIvc3JjcGtncy93eE1heGltYS90 ZW1wbGF0ZQppbmRleCAxZTUxMmMzOTY0NGI5Li5jMzkxZDc4MWM2ZmQxIDEwMDY0NAotLS0gYS9z cmNwa2dzL3d4TWF4aW1hL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mvd3hNYXhpbWEvdGVtcGxhdGUK QEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICd3eE1heGltYScKIHBrZ25hbWU9 d3hNYXhpbWEKIHZlcnNpb249MjAuMDIuNAotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRf c3R5bGU9Y21ha2UKIGNvbmZpZ3VyZV9hcmdzPSItRHd4V2lkZ2V0c19DT05GSUdfRVhFQ1VUQUJM RT0vdXNyL2Jpbi93eC1jb25maWctZ3RrMyIKIGhvc3RtYWtlZGVwZW5kcz0iZ2V0dGV4dCBwZXJs IGRlc2t0b3AtZmlsZS11dGlscyBkb3h5Z2VuIHBvNGEiCgpGcm9tIGNhNDk5OGRhZjM4MmZlZWI3 MjI4OTAwNGJiMjUwNGNiZDFlOTZkNGMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ICJB bmRyZXcgSi4gSGVzZm9yZCIgPGFqaEBzaWRlYmFuZC5vcmc+CkRhdGU6IE1vbiwgMjUgU2VwIDIw MjMgMDA6MTg6MjMgLTA0MDAKU3ViamVjdDogW1BBVENIIDM4LzQ0XSB4Y2htOiByZWJ1aWxkIHdp dGggd3hXaWRnZXRzLWd0azMtMy4yLjIuMQoKLS0tCiBzcmNwa2dzL3hjaG0vdGVtcGxhdGUgfCAy ICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYg LS1naXQgYS9zcmNwa2dzL3hjaG0vdGVtcGxhdGUgYi9zcmNwa2dzL3hjaG0vdGVtcGxhdGUKaW5k ZXggMDI5MDBiNDMzODVlYy4uMDY3ODJjMWY5Nzc0MyAxMDA2NDQKLS0tIGEvc3JjcGtncy94Y2ht L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MveGNobS90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMg VGVtcGxhdGUgZmlsZSBmb3IgJ3hjaG0nCiBwa2duYW1lPXhjaG0KIHZlcnNpb249MS4zNAotcmV2 aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQogY29uZmlndXJl X2FyZ3M9Ii0td2l0aC13eC1jb25maWc9d3gtY29uZmlnLWd0azMiCiBob3N0bWFrZWRlcGVuZHM9 ImF1dG9tYWtlIGdldHRleHQtZGV2ZWwgdGFyIgoKRnJvbSA4MmYwNjExY2NhZmM1OWUzM2VlZTU0 ZTAwZGQ0M2M3MTJmZmE2ODg0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAiQW5kcmV3 IEouIEhlc2ZvcmQiIDxhamhAc2lkZWJhbmQub3JnPgpEYXRlOiBNb24sIDI1IFNlcCAyMDIzIDA4 OjAyOjA1IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAzOS80NF0gY2hpcnA6IHJlYnVpbGQgYWdhaW5z dCBuZXcgd3hQeXRob24KCi0tLQogc3JjcGtncy9jaGlycC90ZW1wbGF0ZSB8IDQgKystLQogMSBm aWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9zcmNwa2dzL2NoaXJwL3RlbXBsYXRlIGIvc3JjcGtncy9jaGlycC90ZW1wbGF0ZQppbmRleCBk MjM4NmJhNDk2NmJlLi4xOGI0MWMyNmI2MjdkIDEwMDY0NAotLS0gYS9zcmNwa2dzL2NoaXJwL3Rl bXBsYXRlCisrKyBiL3NyY3BrZ3MvY2hpcnAvdGVtcGxhdGUKQEAgLTEsMTAgKzEsMTAgQEAKICMg VGVtcGxhdGUgZmlsZSBmb3IgJ2NoaXJwJwogcGtnbmFtZT1jaGlycAogdmVyc2lvbj0yMDIzMDkx MQotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9cHl0aG9uMy1wZXA1MTcKIGhv c3RtYWtlZGVwZW5kcz0icHl0aG9uMy1zZXR1cHRvb2xzIHB5dGhvbjMtd2hlZWwiCi1kZXBlbmRz PSJweXRob24zLXNpeCB3eFB5dGhvbjQgcHl0aG9uMy1weXNlcmlhbCBweXRob24zLWZ1dHVyZSBw eXRob24zLXJlcXVlc3RzCitkZXBlbmRzPSJweXRob24zLXNpeCB3eFB5dGhvbiBweXRob24zLXB5 c2VyaWFsIHB5dGhvbjMtZnV0dXJlIHB5dGhvbjMtcmVxdWVzdHMKICBweXRob24zLXN1ZHMgcHl0 aG9uMy15YXR0YWciCiBzaG9ydF9kZXNjPSJPcGVuLXNvdXJjZSB0b29sIGZvciBwcm9ncmFtbWlu ZyBhbWF0ZXVyIHJhZGlvcyIKIG1haW50YWluZXI9IkVtaWwgTWlsZXIgPGVtQDB4NDUuY3o+IgoK RnJvbSBmMDk0MDA0NDdlMjhiYzRlOTFmODUxYzM1ZGFhYzRjOTUxOTIzZDljIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiQW5kcmV3IEouIEhlc2ZvcmQiIDxhamhAc2lkZWJhbmQub3Jn PgpEYXRlOiBNb24sIDI1IFNlcCAyMDIzIDA4OjAyOjUxIC0wNDAwClN1YmplY3Q6IFtQQVRDSCA0 MC80NF0gZ3Jhc3M6IHJlYnVpbGQgYWdhaW5zdCBuZXcgd3hQeXRob24KCi0tLQogc3JjcGtncy9n cmFzcy90ZW1wbGF0ZSB8IDggKysrKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMo KyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9ncmFzcy90ZW1wbGF0ZSBi L3NyY3BrZ3MvZ3Jhc3MvdGVtcGxhdGUKaW5kZXggOGJhMDNiYjdiZWE5OC4uZGVkOGU0MGRhYWYx MCAxMDA2NDQKLS0tIGEvc3JjcGtncy9ncmFzcy90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2dyYXNz L3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnZ3Jhc3MnCiBw a2duYW1lPWdyYXNzCiB2ZXJzaW9uPTguMi4xCi1yZXZpc2lvbj0yCityZXZpc2lvbj0zCiBfYmlu dmVyPSR7dmVyc2lvbi8vLi99CiBfYmludmVyPSR7X2JpbnZlcjowOjJ9CiBidWlsZF9zdHlsZT1n bnUtY29uZmlndXJlCkBAIC0xMSw3ICsxMSw3IEBAIGhvc3RtYWtlZGVwZW5kcz0iZmxleCBsaWJn ZGFsLXRvb2xzIHBrZy1jb25maWcgcHl0aG9uMy1udW1weSBweXRob24zLXNpeCB0YXIiCiBtYWtl ZGVwZW5kcz0icHJvai1kZXZlbCB0aWZmLWRldmVsIGxpYmdkYWwtZGV2ZWwgc3FsaXRlLWRldmVs CiAgZmZ0dy1kZXZlbCBjYWlyby1kZXZlbCBnbHUtZGV2ZWwiCiBkZXBlbmRzPSJweXRob24zLW51 bXB5IHB5dGhvbjMtZGF0ZXV0aWwgcHl0aG9uMy1QaWxsb3cgcHl0aG9uMy1tYXRwbG90bGliCi0g cHl0aG9uMy1zaXggcHl0aG9uMy1wbHkgd3hQeXRob240IgorIHB5dGhvbjMtc2l4IHB5dGhvbjMt cGx5IHd4UHl0aG9uIgogc2hvcnRfZGVzYz0iR2VvZ3JhcGhpYyBSZXNvdXJjZXMgQW5hbHlzaXMg U3VwcG9ydCBTeXN0ZW0gLSBHSVMiCiBtYWludGFpbmVyPSJBbGV4IEphcm9zY2ggPHJlc2VhcmNo QGFsZXhqLmF0PiIKIGxpY2Vuc2U9IkdQTC0yLjAtb3ItbGF0ZXIiCkBAIC0yMiw3ICsyMiw3IEBA IHB5dGhvbl92ZXJzaW9uPTMKIG5vY3Jvc3M9InRyaWVzIHRvIGV4ZWN1dGUgdGFyZ2V0IGJpbmFy aWVzIgogCiBwb3N0X2luc3RhbGwoKSB7Ci0JIyBUaGlzIHBhY2thZ2UgaXMgYnJva2VuIHdpdGgg d3hQeXRob240ICg8PTQuMC43KSwKLQkjIGhlbmNlIHRoZSBHVUkgaXMgY29tcHVsc29yaWx5IGRp c2FibGVkLgorCSMgVGhpcyBwYWNrYWdlIGlzIGJyb2tlbiB3aXRoIHd4UHl0aG9uICg8PTQuMC43 KSBhbmQgdGhlIEdVSQorCSMgaXMgZGlzYWJsZWQgcGVuZGluZyBmdXJ0aGVyIHRlc3Rpbmcgd2l0 aCBuZXdlciB3eFB5dGhvbgogCXZzZWQgLWkgIiR7REVTVERJUn0vdXNyL2Jpbi9ncmFzcyIgLWUg InMvXChkZWZhdWx0X2d1aSA9XCkuKi9cMSBcInRleHRcIi8iCiB9CgpGcm9tIGRkMjkzM2Y3YTY2 NzVhNmU5NGFkZTg5ZTE4ZmYxM2FjMDc0MDYxODQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206ICJBbmRyZXcgSi4gSGVzZm9yZCIgPGFqaEBzaWRlYmFuZC5vcmc+CkRhdGU6IE1vbiwgMjUg U2VwIDIwMjMgMDg6MDY6MjEgLTA0MDAKU3ViamVjdDogW1BBVENIIDQxLzQ0XSBraWNhZDogcmVi dWlsZCBhZ2FpbnN0IG5ldyB3eFB5dGhvbgoKLS0tCiBzcmNwa2dzL2tpY2FkL3RlbXBsYXRlIHwg MTMgKysrKysrKy0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgNiBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2tpY2FkL3RlbXBsYXRlIGIvc3JjcGtncy9r aWNhZC90ZW1wbGF0ZQppbmRleCAxZmI2ZGQ0MzRkYTQyLi42MjQxODBlOWM2ZDBjIDEwMDY0NAot LS0gYS9zcmNwa2dzL2tpY2FkL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mva2ljYWQvdGVtcGxhdGUK QEAgLTEsMTggKzEsMTkgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2tpY2FkJwogcGtnbmFtZT1r aWNhZAogdmVyc2lvbj03LjAuMQotcmV2aXNpb249MworcmV2aXNpb249NAogYnVpbGRfc3R5bGU9 Y21ha2UKIGJ1aWxkX2hlbHBlcj1jbWFrZS13eFdpZGdldHMtZ3RrMwogY29uZmlndXJlX2FyZ3M9 Ii1ES0lDQURfU0NSSVBUSU5HX1dYUFlUSE9OPU9OCiAgLURLSUNBRF9CVUlMRF9JMThOPU9OIC1E S0lDQURfSTE4Tl9VTklYX1NUUklDVF9QQVRIPU9OCi0gLUR3eFdpZGdldHNfQ09ORklHX0VYRUNV VEFCTEU9JFdYX0NPTkZJRworIC1Ed3hXaWRnZXRzX0NPTkZJR19FWEVDVVRBQkxFPSRXWF9DT05G SUcgLURLSUNBRF9VU0VfRUdMPU9OCiAgLURLSUNBRF9VU0VfT0NDPSQodm9wdF9pZiBvY2N0IE9O IE9GRikgLURLSUNBRF9TUElDRT0kKHZvcHRfaWYgc3BpY2UgT04gT0ZGKSIKIGhvc3RtYWtlZGVw ZW5kcz0icGtnLWNvbmZpZyBzd2lnIHd4V2lkZ2V0cy1ndGszLWRldmVsIHB5dGhvbjMgdGFyIGdl dHRleHQiCi1tYWtlZGVwZW5kcz0id3hXaWRnZXRzLWd0azMtZGV2ZWwgd3hQeXRob240IHB5dGhv bjMtZGV2ZWwgZ2xldy1kZXZlbCBjYWlyby1kZXZlbAotIGJvb3N0LWRldmVsIGxpYmN1cmwtZGV2 ZWwgZ2xtIGxpYmdvbXAtZGV2ZWwgbGliZnJlZWdsdXQtZGV2ZWwgZ3RrKzMtZGV2ZWwgdW5peG9k YmMtZGV2ZWwKK21ha2VkZXBlbmRzPSJ3eFdpZGdldHMtZ3RrMy1kZXZlbCB3eFB5dGhvbiBweXRo b24zLWRldmVsIGdsZXctZGV2ZWwKKyBjYWlyby1kZXZlbCBib29zdC1kZXZlbCBsaWJjdXJsLWRl dmVsIGdsbSBsaWJnb21wLWRldmVsIGxpYmZyZWVnbHV0LWRldmVsCisgZ3RrKzMtZGV2ZWwgdW5p eG9kYmMtZGV2ZWwKICAkKHZvcHRfaWYgb2NjdCBvY2N0LWRldmVsKSAkKHZvcHRfaWYgc3BpY2Ug bmdzcGljZS1kZXZlbCkiCi1kZXBlbmRzPSJ3eFB5dGhvbjQiCitkZXBlbmRzPSJ3eFB5dGhvbiIK IHNob3J0X2Rlc2M9IkVsZWN0cm9uaWMgc2NoZW1hdGljIGFuZCBQQ0IgZGVzaWduIHNvZnR3YXJl IgogbWFpbnRhaW5lcj0iw4lyaWNvIE5vZ3VlaXJhIDxlcmljb25yQGRpc3Jvb3Qub3JnPiIKIGxp Y2Vuc2U9IkdQTC0zLjAtb3ItbGF0ZXIiCkBAIC00MSw3ICs0Miw3IEBAIGZpCiBub2Nyb3NzPSJl eGVjdXRlIGxlbW9uIGR1cmluZyBidWlsZCIKIAogaWYgWyAiJENST1NTX0JVSUxEIiBdOyB0aGVu Ci0JaG9zdG1ha2VkZXBlbmRzKz0iIHd4UHl0aG9uNCIKKwlob3N0bWFrZWRlcGVuZHMrPSIgd3hQ eXRob24iCiAJY29uZmlndXJlX2FyZ3MrPSIgLURQWVRIT05fREVTVD0vJHtweTNfc2l0ZWxpYn0K IAktRHd4V2lkZ2V0c19DT05GSUdfT1BUSU9OUz0nLS1wcmVmaXg9JHtYQlBTX0NST1NTX0JBU0V9 JyIKIGZpCgpGcm9tIDNlODBmMGIzZGMwNGM4MDhhMDRmY2FhZDI1ZTU4NjQ0NTFkODk4YTggTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ICJBbmRyZXcgSi4gSGVzZm9yZCIgPGFqaEBzaWRl YmFuZC5vcmc+CkRhdGU6IE1vbiwgMjUgU2VwIDIwMjMgMDg6MDY6NTQgLTA0MDAKU3ViamVjdDog W1BBVENIIDQyLzQ0XSBteW1jcGx1czogcmVidWlsZCBhZ2FpbnN0IG5ldyB3eFB5dGhvbgoKLS0t CiBzcmNwa2dzL215bWNwbHVzL3RlbXBsYXRlIHwgNCArKy0tCiAxIGZpbGUgY2hhbmdlZCwgMiBp bnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbXltY3Bs dXMvdGVtcGxhdGUgYi9zcmNwa2dzL215bWNwbHVzL3RlbXBsYXRlCmluZGV4IDkzMDcxMWVlYjJj NTkuLjViYjA4ZWY5ZWE1ZDQgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvbXltY3BsdXMvdGVtcGxhdGUK KysrIGIvc3JjcGtncy9teW1jcGx1cy90ZW1wbGF0ZQpAQCAtMSwxMCArMSwxMCBAQAogIyBUZW1w bGF0ZSBmaWxlIGZvciAnbXltY3BsdXMnCiBwa2duYW1lPW15bWNwbHVzCiB2ZXJzaW9uPTMuMC41 Ci1yZXZpc2lvbj0yCityZXZpc2lvbj0zCiBidWlsZF9zdHlsZT1weXRob24zLW1vZHVsZQogaG9z dG1ha2VkZXBlbmRzPSJweXRob24zLXNldHVwdG9vbHMiCi1kZXBlbmRzPSJ3eFB5dGhvbjQgcHl0 aG9uMy1QeU9wZW5HTCIKK2RlcGVuZHM9Ind4UHl0aG9uIHB5dGhvbjMtUHlPcGVuR0wiCiBjaGVj a2RlcGVuZHM9IiRkZXBlbmRzIHB5dGhvbjMtcHl0ZXN0Igogc2hvcnRfZGVzYz0iUGxheVN0YXRp b24gMiBtZW1vcnkgY2FyZCBtYW5hZ2VyIgogbWFpbnRhaW5lcj0iQW5kcmV3IEJlbnNvbiA8YWJl bnNvbit2b2lkQGdtYWlsLmNvbT4iCgpGcm9tIGJkNTMxMTgxNDVlYmE1N2I2ZjA4NWU4OTZkMmQw ZGVhNzVjMWM3NTIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ICJBbmRyZXcgSi4gSGVz Zm9yZCIgPGFqaEBzaWRlYmFuZC5vcmc+CkRhdGU6IE1vbiwgMjUgU2VwIDIwMjMgMDg6MDc6MjYg LTA0MDAKU3ViamVjdDogW1BBVENIIDQzLzQ0XSBwaG90b2ZpbG1zdHJpcDogcmVidWlsZCBhZ2Fp bnN0IG5ldyB3eFB5dGhvbgoKLS0tCiBzcmNwa2dzL3Bob3RvZmlsbXN0cmlwL3RlbXBsYXRlIHwg NCArKy0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcGhvdG9maWxtc3RyaXAvdGVtcGxhdGUgYi9zcmNwa2dzL3Bo b3RvZmlsbXN0cmlwL3RlbXBsYXRlCmluZGV4IGQyMDUwYWM0YzY0YzguLmQyYzc1MTE2MjkyNTAg MTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcGhvdG9maWxtc3RyaXAvdGVtcGxhdGUKKysrIGIvc3JjcGtn cy9waG90b2ZpbG1zdHJpcC90ZW1wbGF0ZQpAQCAtMSwxMCArMSwxMCBAQAogIyBUZW1wbGF0ZSBm aWxlIGZvciAncGhvdG9maWxtc3RyaXAnCiBwa2duYW1lPXBob3RvZmlsbXN0cmlwCiB2ZXJzaW9u PTQuMC4wCi1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBidWlsZF9zdHlsZT1weXRob24zLW1vZHVs ZQogaG9zdG1ha2VkZXBlbmRzPSJweXRob24zLXNldHVwdG9vbHMgZ3N0MS1weXRob24zIHB5dGhv bjMtU3BoaW54IGdldHRleHQiCi1kZXBlbmRzPSJweXRob24zIGdzdDEtcHl0aG9uMyBnc3QxLWVk aXRpbmctc2VydmljZXMgcHl0aG9uMy1QaWxsb3cgd3hQeXRob240IgorZGVwZW5kcz0icHl0aG9u MyBnc3QxLXB5dGhvbjMgZ3N0MS1lZGl0aW5nLXNlcnZpY2VzIHB5dGhvbjMtUGlsbG93IHd4UHl0 aG9uIgogY2hlY2tkZXBlbmRzPSIkZGVwZW5kcyIKIHNob3J0X2Rlc2M9IlNsaWRlc2hvdyBjcmVh dG9yIHdpdGggS2VuIEJ1cm5zIGVmZmVjdCIKIG1haW50YWluZXI9IsSQb8OgbiBUcuG6p24gQ8O0 bmcgRGFuaCA8Y29uZ2RhbmhxeEBnbWFpbC5jb20+IgoKRnJvbSA0N2QyMTlkNjZhOTllNDY0ZTYy Njk0ZTAzMGQwZjI1MzRlNTdkZDU1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAiQW5k cmV3IEouIEhlc2ZvcmQiIDxhamhAc2lkZWJhbmQub3JnPgpEYXRlOiBNb24sIDI1IFNlcCAyMDIz IDA4OjA3OjQ4IC0wNDAwClN1YmplY3Q6IFtQQVRDSCA0NC80NF0gcGxheW9ubGludXg6IHJlYnVp bGQgYWdhaW5zdCBuZXcgd3hQeXRob24KCi0tLQogc3JjcGtncy9wbGF5b25saW51eC90ZW1wbGF0 ZSB8IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3BsYXlvbmxpbnV4L3RlbXBsYXRlIGIvc3JjcGtncy9w bGF5b25saW51eC90ZW1wbGF0ZQppbmRleCA1NjIwN2EyOWFhMjNhLi4zOTRhNGYyZDViM2I0IDEw MDY0NAotLS0gYS9zcmNwa2dzL3BsYXlvbmxpbnV4L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcGxh eW9ubGludXgvdGVtcGxhdGUKQEAgLTEsMTAgKzEsMTAgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3Ig J3BsYXlvbmxpbnV4JwogcGtnbmFtZT1wbGF5b25saW51eAogdmVyc2lvbj00LjQKLXJldmlzaW9u PTEKK3JldmlzaW9uPTIKICMgY29udGFpbnMgcHJlLWNvbXBpbGVkIGJpbmFyaWVzIGxpbmtlZCBh Z2FpbnN0IGdsaWJjCiBhcmNocz0iaTY4NiB4ODZfNjQiCi1kZXBlbmRzPSJpY291dGlscyBuZXRj YXQgSW1hZ2VNYWdpY2sgeHRlcm0gd3hQeXRob240IGNhYmV4dHJhY3QgdW56aXAgZ2x4aW5mbwor ZGVwZW5kcz0iaWNvdXRpbHMgbmV0Y2F0IEltYWdlTWFnaWNrIHh0ZXJtIHd4UHl0aG9uIGNhYmV4 dHJhY3QgdW56aXAgZ2x4aW5mbwogIGdudXBnIHhkZy11c2VyLWRpcnMgbGliWG11IHdnZXQgcDd6 aXAgY3VybCBqcSBweXRob24zLW5hdHNvcnQgeHJkYiBnZXR0ZXh0CiAgcGVybCIKIHNob3J0X2Rl c2M9IkdVSSBmb3IgbWFuYWdpbmcgV2luZG93cyBwcm9ncmFtcyB1bmRlciBsaW51eCIK --===============8907393020629689943==--