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 4291 invoked from network); 25 Sep 2023 23:53:58 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 25 Sep 2023 23:53:58 -0000 Content-Type: multipart/mixed; boundary="===============8973855681928806867==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_=5BWIP=5D_wxWidgets=2C_wxPython?= To: ml@inbox.vuxu.org From: ahesford Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Tue, 26 Sep 2023 01:53:57 +0200 List-Id: Message-ID: <20230925235357.BFG3EzUV293QiE_v9XfBWC7vdXcAlyzVB8BzTiLLIWE@z> GitHub notification mails are now in MIME to allow UTF8. --===============8973855681928806867== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgYWhlc2ZvcmQgYWdhaW5zdCBtYXN0 ZXIgb24gdGhlIHZvaWQtcGFja2FnZXMgcmVwb3NpdG9yeQoKaHR0cHM6Ly9naXRodWIuY29tL2Fo ZXNmb3JkL3ZvaWQtcGFja2FnZXMgd3h3aWRnZXRzCmh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxp bnV4L3ZvaWQtcGFja2FnZXMvcHVsbC80NjIzNwoKW1dJUF0gd3hXaWRnZXRzLCB3eFB5dGhvbgpP dXIgd3hXaWRnZXRzL3d4UHl0aG9uIHN0YWNrIGlzIHByZXR0eSBvbGQsIGFuZCBpdCBtYXkgYmUg bW9yZSB0cm91YmxlIHRvIHBhdGNoIGZvciBQeXRob24gMy4xMiB0aGFuIGp1c3QgdXBkYXRpbmcg dGhlc2UgcGFja2FnZXMuIFRodXMgSSB3b3VsZCBsaWtlIHRvOg0KDQoqIERyb3AgYHBjc3gyYCwg YHBlcmwtQWxpZW4td3hXaWRnZXRzYCBhbmQgYGRpc3BjYWxHVUlgIChjYzogQGxlbW1pKS4gVGhl IGZpcnN0IHR3byBkb24ndCBzZWVtIHdlbGwtbWFpbnRhaW5lZCwgYW5kIGFsbCB0aHJlZSByZWx5 IG9uIHd4V2lkZ2V0cyB3aXRoIEdUSzIgc3VwcG9ydCB0aGF0IHNob3VsZCBiZSByZXRpcmVkLiBg ZGlzcGNhbEdVSWAgYWxzbyByZXF1aXJlcyB0aGUgbG9uZy1wYXN0LUVPTCBQeXRob24gMi4NCiog V2l0aCB0aGVzZSB0aHJlZSBkZXBlbmRhbnRzIGdvbmUsIHdlIGNhbiByZW1vdmUgYHd4V2lkZ2V0 c2AgYW5kIGB3eFB5dGhvbmAuDQoqIFRoaXMgc2ltcGxpZmllcyB0aGUgdXBkYXRlIHRvIGB3eFdp ZGdldHMtZ3RrM2AgYW5kIChob3BlZnVsbHktLS1JJ20gc3RpbGwgd29ya2luZykgYHd4UHl0aG9u NGAuDQoqIFdoaWxlIHdlJ3JlIGF0IGl0LCB3ZSBjYW4gdHJhbnNpdGlvbiBgd3hQeXRob240YCBi YWNrIHRvIGl0cyBwcm9wZXIgbmFtZSwganVzdCBgd3hQeXRob25gLg0KDQpbY2kgc2tpcF0NCg0K Y2xvc2VzICM0NDg0OSAKCkEgcGF0Y2ggZmlsZSBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS92b2lk LWxpbnV4L3ZvaWQtcGFja2FnZXMvcHVsbC80NjIzNy5wYXRjaCBpcyBhdHRhY2hlZA== --===============8973855681928806867== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-wxwidgets-46237.patch" RnJvbSAyZWFlMTc1NWE0MzllNTdiODFiNWQ5NjI4N2I4NWE0YzI5ODM0M2E3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiQW5kcmV3IEouIEhlc2ZvcmQiIDxhamhAc2lkZWJhbmQub3Jn PgpEYXRlOiBTdW4sIDI0IFNlcCAyMDIzIDIzOjE5OjMwIC0wNDAwClN1YmplY3Q6IFtQQVRDSCAw MS80M10gcGVybC1BbGllbi13eFdpZGdldHM6IHJlbW92ZSBwYWNrYWdlCgpOb3RoaW5nIHJlcXVp 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 aWV3PD0wLjA1XzgKICBwZXJsLUd0azItTm90aWZ5PD0wLjA1XzgKCkZyb20gMDFiOGMzMzY1MWRk YzZiNjgwNWFmODY3ODIxZWU5MjM4MDZmNDY5NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogIkFuZHJldyBKLiBIZXNmb3JkIiA8YWpoQHNpZGViYW5kLm9yZz4KRGF0ZTogU3VuLCAyNCBT ZXAgMjAyMyAyMzoyMTo0MiAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDIvNDNdIHBjc3gyOiByZW1v 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 bmQtdmxjPD0wLjkuMV8zCgpGcm9tIDRhZDRlZTQzMTE0NGYxYzI0ZWJmZGZkYjRjZmFmYzRlMTc2 MjI1NDYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ICJBbmRyZXcgSi4gSGVzZm9yZCIg PGFqaEBzaWRlYmFuZC5vcmc+CkRhdGU6IFN1biwgMjQgU2VwIDIwMjMgMjM6MjY6NTMgLTA0MDAK U3ViamVjdDogW1BBVENIIDAzLzQzXSB3eFB5dGhvbjogcmVtb3ZlIHBhY2thZ2UKCi0tLQogc3Jj cGtncy93eFB5dGhvbi1kZXZlbCAgICB8ICAxIC0KIHNyY3BrZ3Mvd3hQeXRob24vdGVtcGxhdGUg fCA0NyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDIgZmlsZXMgY2hh bmdlZCwgNDggZGVsZXRpb25zKC0pCiBkZWxldGUgbW9kZSAxMjAwMDAgc3JjcGtncy93eFB5dGhv bi1kZXZlbAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mvd3hQeXRob24vdGVtcGxhdGUKCmRp ZmYgLS1naXQgYS9zcmNwa2dzL3d4UHl0aG9uLWRldmVsIGIvc3JjcGtncy93eFB5dGhvbi1kZXZl bApkZWxldGVkIGZpbGUgbW9kZSAxMjAwMDAKaW5kZXggZTM5NmQ1YWUzNzBkNi4uMDAwMDAwMDAw MDAwMAotLS0gYS9zcmNwa2dzL3d4UHl0aG9uLWRldmVsCisrKyAvZGV2L251bGwKQEAgLTEgKzAs MCBAQAotd3hQeXRob24KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9z cmNwa2dzL3d4UHl0aG9uL3RlbXBsYXRlIGIvc3JjcGtncy93eFB5dGhvbi90ZW1wbGF0ZQpkZWxl dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODkxZGRjMTY0NTUyYi4uMDAwMDAwMDAwMDAwMAot LS0gYS9zcmNwa2dzL3d4UHl0aG9uL3RlbXBsYXRlCisrKyAvZGV2L251bGwKQEAgLTEsNDcgKzAs MCBAQAotIyBUZW1wbGF0ZSBmaWxlIGZvciAnd3hQeXRob24nCi1wa2duYW1lPXd4UHl0aG9uCi12 ZXJzaW9uPTMuMC4yLjAKLXJldmlzaW9uPTExCi1ob3N0bWFrZWRlcGVuZHM9InBrZy1jb25maWci Ci1tYWtlZGVwZW5kcz0iCi0gemxpYi1kZXZlbCBsaWJwbmctZGV2ZWwgbGlianBlZy10dXJiby1k ZXZlbCB0aWZmLWRldmVsIGV4cGF0LWRldmVsIGd0aystZGV2ZWwKLSBsaWJTTS1kZXZlbCBNZXNh TGliLWRldmVsIGdsdS1kZXZlbAotIGxpYm5vdGlmeS1kZXZlbCBweXRob24tZGV2ZWwgd3hXaWRn ZXRzLWRldmVsIgotZGVwZW5kcz0icHl0aG9uIgotc2hvcnRfZGVzYz0iUHl0aG9uIEJpbmRpbmdz IGZvciB0aGUgd3hXaWRnZXRzIEdVSSB0b29sa2l0IGxpYnJhcnkiCi1tYWludGFpbmVyPSJPcnBo YW5lZCA8b3JwaGFuQHZvaWRsaW51eC5vcmc+IgotbGljZW5zZT0iV3hXaW5kb3dzLWV4Y2VwdGlv bi0zLjEiCi1ob21lcGFnZT0iaHR0cHM6Ly93d3cud3hweXRob24ub3JnLyIKLWRpc3RmaWxlcz0i JHtTT1VSQ0VGT1JHRV9TSVRFfS93eHB5dGhvbi8ke3BrZ25hbWV9LXNyYy0ke3ZlcnNpb259LnRh ci5iejIiCi1jaGVja3N1bT1kNTQxMjllNWZiZWE0ZmI4MDkxYzg3YjI5ODA3NjBiNzJjMjJhMzg2 Y2IzYjlkZDJlZWJjOTI4ZWY1ZThkZjYxCi0KLWlmIFsgLW4gIiR7Q1JPU1NfQlVJTER9IiBdOyB0 aGVuCi0JaG9zdG1ha2VkZXBlbmRzKz0iIHB5dGhvbiIKLQlDRkxBR1MrPSIgLUkke1hCUFNfQ1JP U1NfQkFTRX0vdXNyL2luY2x1ZGUvcHl0aG9uJHtweTJfdmVyfSIKLWZpCi0KLXByZV9jb25maWd1 cmUoKSB7Ci0JbXYgd3hQeXRob24vd3gvdG9vbHMvRWRpdHJhL3tlZGl0cmEsRWRpdHJhfQotfQot Ci1kb19idWlsZCgpIHsKLQljZCB3eFB5dGhvbgotCXB5dGhvbjIuNyBzZXR1cC5weSBidWlsZAot fQotCi1kb19pbnN0YWxsKCkgewotCWNkIHd4UHl0aG9uCi0JIyBUaGUgcGF0aCB3aGVyZSBpbmNs dWRlcyBhcmUgZ29pbmcgdG8gYmUgaW5zdGFsbGVkIGlzIHByZWZpeGVkIHdpdGggV1hQUkVGSVgg b2J0YWluZWQKLQkjIGZyb20gJ3d4LWNvbmZpZyAtLXByZWZpeCcgYnV0IGluIGEgY3Jvc3MgYnVp bGQgdGhpcyBpcyAnJFhCUFNfQ1JPU1NfQkFTRS91c3InLgotCXNlZCAtaSAtZSAic3xXWFBSRUZJ WCArfCcvdXNyJyArfCIgY29uZmlnLnB5Ci0JcHl0aG9uMi43IHNldHVwLnB5IGluc3RhbGwgLS1y b290PSR7REVTVERJUn0KLQl2bGljZW5zZSAuLi9kb2NzL2xpY2VuY2UudHh0IExJQ0VOU0UKLX0K LQotd3hQeXRob24tZGV2ZWxfcGFja2FnZSgpIHsKLQlkZXBlbmRzPSJ3eFdpZGdldHMtZGV2ZWwg JHtzb3VyY2Vwa2d9Pj0ke3ZlcnNpb259XyR7cmV2aXNpb259IgotCXNob3J0X2Rlc2MrPSIgLSBk ZXZlbG9wbWVudCBmaWxlcyIKLQlwa2dfaW5zdGFsbCgpIHsKLQkJdm1vdmUgdXNyL2luY2x1ZGUK LQl9Ci19CgpGcm9tIGM2ZDFlNTcyNGY3ZTY4MGZkNjhmZGY3Yjg3Y2JmYzg0YTRkYzlmMDkgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ICJBbmRyZXcgSi4gSGVzZm9yZCIgPGFqaEBzaWRl YmFuZC5vcmc+CkRhdGU6IFN1biwgMjQgU2VwIDIwMjMgMjM6Mjg6NDAgLTA0MDAKU3ViamVjdDog W1BBVENIIDA0LzQzXSB3eFdpZGdldHM6IHJlbW92ZSBwYWNrYWdlCgotLS0KIGNvbW1vbi9zaGxp YnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDE5IC0tLS0tCiBzcmNwa2dzL3d4 V2lkZ2V0cy1kZXZlbCAgICAgICAgICAgICAgICAgICAgICAgfCAgMSAtCiAuLi4vcGF0Y2hlcy9u b25mYXRhbC1hYmktY2hlY2sucGF0Y2ggICAgICAgICAgfCAxOCAtLS0tLQogLi4uL3d4V2lkZ2V0 cy9wYXRjaGVzL3d4R1RLLWNvbGxpc2lvbi5wYXRjaCAgIHwgNzkgLS0tLS0tLS0tLS0tLS0tLS0t LQogc3JjcGtncy93eFdpZGdldHMvdGVtcGxhdGUgICAgICAgICAgICAgICAgICAgIHwgNjYgLS0t LS0tLS0tLS0tLS0tLQogc3JjcGtncy93eFdpZGdldHMvdXBkYXRlICAgICAgICAgICAgICAgICAg ICAgIHwgIDIgLQogNiBmaWxlcyBjaGFuZ2VkLCAxODUgZGVsZXRpb25zKC0pCiBkZWxldGUgbW9k ZSAxMjAwMDAgc3JjcGtncy93eFdpZGdldHMtZGV2ZWwKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNw a2dzL3d4V2lkZ2V0cy9wYXRjaGVzL25vbmZhdGFsLWFiaS1jaGVjay5wYXRjaAogZGVsZXRlIG1v ZGUgMTAwNjQ0IHNyY3BrZ3Mvd3hXaWRnZXRzL3BhdGNoZXMvd3hHVEstY29sbGlzaW9uLnBhdGNo CiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy93eFdpZGdldHMvdGVtcGxhdGUKIGRlbGV0ZSBt b2RlIDEwMDY0NCBzcmNwa2dzL3d4V2lkZ2V0cy91cGRhdGUKCmRpZmYgLS1naXQgYS9jb21tb24v c2hsaWJzIGIvY29tbW9uL3NobGlicwppbmRleCA5YzIwNjBiYzQ1YTY3Li5kYTdmMjczOWRjNWVk IDEwMDY0NAotLS0gYS9jb21tb24vc2hsaWJzCisrKyBiL2NvbW1vbi9zaGxpYnMKQEAgLTE1NjEs MjYgKzE1NjEsNyBAQCBsaWJmcHJpbnQuc28uMCBsaWJmcHJpbnQwLTEuMF8xCiBsaWJmcHJpbnQt Mi5zby4yIGxpYmZwcmludC0xLjkwLjdfMQogbGlid3hfYmFzZXVfeG1sLTMuMC5zby4wIHd4V2lk Z2V0cy1jb21tb24tMy4wLjRfMQogbGlid3hfYmFzZXUtMy4wLnNvLjAgd3hXaWRnZXRzLWNvbW1v bi0zLjAuNF8xCi1saWJ3eF9ndGsyX2Fkdi0zLjAuc28uMCB3eFdpZGdldHMtMy4wLjBfMQotbGli d3hfYmFzZV94bWwtMy4wLnNvLjAgd3hXaWRnZXRzLTMuMC4wXzEKLWxpYnd4X2d0azJfaHRtbC0z LjAuc28uMCB3eFdpZGdldHMtMy4wLjBfMQotbGlid3hfZ3RrMl9hdWktMy4wLnNvLjAgd3hXaWRn ZXRzLTMuMC4wXzEKLWxpYnd4X2d0azJfY29yZS0zLjAuc28uMCB3eFdpZGdldHMtMy4wLjBfMQot bGlid3hfYmFzZV9uZXQtMy4wLnNvLjAgd3hXaWRnZXRzLTMuMC4wXzEKLWxpYnd4X2Jhc2UtMy4w LnNvLjAgd3hXaWRnZXRzLTMuMC4wXzEKLWxpYnd4X2d0azJ1X2dsLTMuMC5zby4wIHd4V2lkZ2V0 cy0zLjAuMF8xCi1saWJ3eF9ndGsydV9zdGMtMy4wLnNvLjAgd3hXaWRnZXRzLTMuMC4wXzEKLWxp Ynd4X2d0azJ1X2Fkdi0zLjAuc28uMCB3eFdpZGdldHMtMy4wLjBfMQotbGlid3hfZ3RrMnVfcWEt My4wLnNvLjAgd3hXaWRnZXRzLTMuMC4wXzEKIGxpYnd4X2Jhc2V1X25ldC0zLjAuc28uMCB3eFdp ZGdldHMtY29tbW9uLTMuMC40XzEKLWxpYnd4X2d0azJ1X2NvcmUtMy4wLnNvLjAgd3hXaWRnZXRz LTMuMC4wXzEKLWxpYnd4X2d0azJ1X3JpY2h0ZXh0LTMuMC5zby4wIHd4V2lkZ2V0cy0zLjAuMF8x Ci1saWJ3eF9ndGsydV9wcm9wZ3JpZC0zLjAuc28uMCB3eFdpZGdldHMtMy4wLjBfMQotbGlid3hf Z3RrMnVfaHRtbC0zLjAuc28uMCB3eFdpZGdldHMtMy4wLjBfMQotbGlid3hfZ3RrMnVfeHJjLTMu MC5zby4wIHd4V2lkZ2V0cy0zLjAuMF8xCi1saWJ3eF9ndGsydV9hdWktMy4wLnNvLjAgd3hXaWRn ZXRzLTMuMC4wXzEKLWxpYnd4X2d0azJ1X3JpYmJvbi0zLjAuc28uMCB3eFdpZGdldHMtMy4wLjBf MQotbGlid3hfZ3RrMnVfbWVkaWEtMy4wLnNvLjAgd3hXaWRnZXRzLTMuMC4xXzEKIGxpYm1zcGFj ay5zby4wIGxpYm1zcGFjay0wLjRhbHBoYV8xCiBsaWJzbGltLnNvLjEuMy42IHNsaW0tMS4zLjZf MQogbGlibWVkaWFhcnQtMi4wLnNvLjAgbGlibWVkaWFhcnQtMS45LjFfMQpkaWZmIC0tZ2l0IGEv c3JjcGtncy93eFdpZGdldHMtZGV2ZWwgYi9zcmNwa2dzL3d4V2lkZ2V0cy1kZXZlbApkZWxldGVk IGZpbGUgbW9kZSAxMjAwMDAKaW5kZXggMGU5NzliYjc4OWQxMS4uMDAwMDAwMDAwMDAwMAotLS0g YS9zcmNwa2dzL3d4V2lkZ2V0cy1kZXZlbAorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLXd4 V2lkZ2V0cwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv d3hXaWRnZXRzL3BhdGNoZXMvbm9uZmF0YWwtYWJpLWNoZWNrLnBhdGNoIGIvc3JjcGtncy93eFdp ZGdldHMvcGF0Y2hlcy9ub25mYXRhbC1hYmktY2hlY2sucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IGJiOTNmMGEyNjE1NmMuLjAwMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy93 eFdpZGdldHMvcGF0Y2hlcy9ub25mYXRhbC1hYmktY2hlY2sucGF0Y2gKKysrIC9kZXYvbnVsbApA QCAtMSwxOCArMCwwIEBACi1UYWtlbiBmcm9tCi1odHRwczovL2dpdGh1Yi5jb20vYXJjaGxpbnV4 L3N2bnRvZ2l0LXBhY2thZ2VzL2Jsb2IvNzFlZTE3ZDUyOWY4ZTBkYzVjNDRkMmZmZmIwZGZhNjli NzFkYWEwYi9yZXBvcy9leHRyYS14ODZfNjQvbWFrZS1hYmljaGVjay1ub24tZmF0YWwucGF0Y2gK LQotZGlmZiAtdXAgd3hHVEstMi44LjEyL3NyYy9jb21tb24vYXBwYmFzZS5jcHAuYWJpY2hlY2sg d3hHVEstMi44LjEyL3NyYy9jb21tb24vYXBwYmFzZS5jcHAKLS0tLSBhL3NyYy9jb21tb24vYXBw YmFzZS5jcHAuYWJpY2hlY2sJMjAxNS0wMy0xMiAxNzoxNToxOC4wMDAwMDAwMDAgKzAxMDAKLSsr KyBiL3NyYy9jb21tb24vYXBwYmFzZS5jcHAJMjAxNS0wMy0xMiAxNzoxNTo1Ny4wMDAwMDAwMDAg KzAxMDAKLUBAIC00MjQsMTAgKzQyNCw3IEBAIGJvb2wgd3hBcHBDb25zb2xlOjpDaGVja0J1aWxk T3B0aW9ucyhjb24KLSAgICAgICAgIG1zZy5QcmludGYoX1QoIk1pc21hdGNoIGJldHdlZW4gdGhl IHByb2dyYW0gYW5kIGxpYnJhcnkgYnVpbGQgdmVyc2lvbnMgZGV0ZWN0ZWQuXG5UaGUgbGlicmFy eSB1c2VkICVzLFxuYW5kICVzIHVzZWQgJXMuIiksCi0gICAgICAgICAgICAgICAgICAgIGxpYi5j X3N0cigpLCBwcm9nTmFtZS5jX3N0cigpLCBwcm9nLmNfc3RyKCkpOwotIAotLSAgICAgICAgd3hM b2dGYXRhbEVycm9yKG1zZy5jX3N0cigpKTsKLS0KLS0gICAgICAgIC8vIG5vcm1hbGx5IHd4TG9n RmF0YWxFcnJvciBkb2Vzbid0IHJldHVybgotLSAgICAgICAgcmV0dXJuIGZhbHNlOwotKyAgICAg ICAgd3hMb2dXYXJuaW5nKG1zZy5jX3N0cigpKTsKLSAgICAgfQotICN1bmRlZiB3eENNUAotIApk aWZmIC0tZ2l0IGEvc3JjcGtncy93eFdpZGdldHMvcGF0Y2hlcy93eEdUSy1jb2xsaXNpb24ucGF0 Y2ggYi9zcmNwa2dzL3d4V2lkZ2V0cy9wYXRjaGVzL3d4R1RLLWNvbGxpc2lvbi5wYXRjaApkZWxl dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWVjMzFlYmFjZWIxZC4uMDAwMDAwMDAwMDAwMAot LS0gYS9zcmNwa2dzL3d4V2lkZ2V0cy9wYXRjaGVzL3d4R1RLLWNvbGxpc2lvbi5wYXRjaAorKysg L2Rldi9udWxsCkBAIC0xLDc5ICswLDAgQEAKLWRpZmYgLU5hdXIgTWFrZWZpbGUuaW4gTWFrZWZp bGUuaW4KLS0tLSBhL01ha2VmaWxlLmluCTIwMTQtMTAtMDYgMjM6MzM6NDQuMDAwMDAwMDAwICsw MjAwCi0rKysgYi9NYWtlZmlsZS5pbgkyMDE0LTExLTE5IDEwOjQ4OjE4Ljc1MjMxOTA1OCArMDEw MAotQEAgLTE1Mjc5LDkgKzE1Mjc5LDExIEBACi0gCi0gaW5zdGFsbDogJChfX2luc3RhbGxfd3hy ZWdleF9fX2RlcG5hbWUpICQoX19pbnN0YWxsX3d4emxpYl9fX2RlcG5hbWUpICQoX19pbnN0YWxs X3d4cG5nX19fZGVwbmFtZSkgJChfX2luc3RhbGxfd3hqcGVnX19fZGVwbmFtZSkgJChfX2luc3Rh bGxfd3h0aWZmX19fZGVwbmFtZSkgJChfX2luc3RhbGxfd3hleHBhdF9fX2RlcG5hbWUpICQoX19p bnN0YWxsX3d4c2NpbnRpbGxhX19fZGVwbmFtZSkgJChfX2luc3RhbGxfbW9ub2RsbF9fX2RlcG5h bWUpICQoX19pbnN0YWxsX21vbm9saWJfX19kZXBuYW1lKSAkKF9faW5zdGFsbF9iYXNlZGxsX19f ZGVwbmFtZSkgJChfX2luc3RhbGxfYmFzZWxpYl9fX2RlcG5hbWUpICQoX19pbnN0YWxsX25ldGRs bF9fX2RlcG5hbWUpICQoX19pbnN0YWxsX25ldGxpYl9fX2RlcG5hbWUpICQoX19pbnN0YWxsX2Nv cmVkbGxfX19kZXBuYW1lKSAkKF9faW5zdGFsbF9jb3JlbGliX19fZGVwbmFtZSkgJChfX2luc3Rh bGxfYWR2ZGxsX19fZGVwbmFtZSkgJChfX2luc3RhbGxfYWR2bGliX19fZGVwbmFtZSkgJChfX2lu c3RhbGxfbWVkaWFkbGxfX19kZXBuYW1lKSAkKF9faW5zdGFsbF9tZWRpYWxpYl9fX2RlcG5hbWUp ICQoX19pbnN0YWxsX2h0bWxkbGxfX19kZXBuYW1lKSAkKF9faW5zdGFsbF9odG1sbGliX19fZGVw bmFtZSkgJChfX2luc3RhbGxfd2Vidmlld2RsbF9fX2RlcG5hbWUpICQoX19pbnN0YWxsX3dlYnZp ZXdsaWJfX19kZXBuYW1lKSAkKF9faW5zdGFsbF9xYWRsbF9fX2RlcG5hbWUpICQoX19pbnN0YWxs X3FhbGliX19fZGVwbmFtZSkgJChfX2luc3RhbGxfeG1sZGxsX19fZGVwbmFtZSkgJChfX2luc3Rh bGxfeG1sbGliX19fZGVwbmFtZSkgJChfX2luc3RhbGxfeHJjZGxsX19fZGVwbmFtZSkgJChfX2lu c3RhbGxfeHJjbGliX19fZGVwbmFtZSkgJChfX2luc3RhbGxfYXVpZGxsX19fZGVwbmFtZSkgJChf X2luc3RhbGxfYXVpbGliX19fZGVwbmFtZSkgJChfX2luc3RhbGxfcmliYm9uZGxsX19fZGVwbmFt ZSkgJChfX2luc3RhbGxfcmliYm9ubGliX19fZGVwbmFtZSkgJChfX2luc3RhbGxfcHJvcGdyaWRk bGxfX19kZXBuYW1lKSAkKF9faW5zdGFsbF9wcm9wZ3JpZGxpYl9fX2RlcG5hbWUpICQoX19pbnN0 YWxsX3JpY2h0ZXh0ZGxsX19fZGVwbmFtZSkgJChfX2luc3RhbGxfcmljaHRleHRsaWJfX19kZXBu YW1lKSAkKF9faW5zdGFsbF9zdGNkbGxfX19kZXBuYW1lKSAkKF9faW5zdGFsbF9zdGNsaWJfX19k ZXBuYW1lKSAkKF9faW5zdGFsbF9nbGRsbF9fX2RlcG5hbWUpICQoX19pbnN0YWxsX2dsbGliX19f ZGVwbmFtZSkgJChfX2luc3RhbGxfc291bmRfc2RsX19fZGVwbmFtZSkgJChfX2luc3RhbGxfd2Vi a2l0Ml9leHRfX19kZXBuYW1lKSAkKF9faW5zdGFsbF93eHJjX19fZGVwbmFtZSkgaW5zdGFsbC13 eGNvbmZpZyBsb2NhbGVfaW5zdGFsbCBsb2NhbGVfbXN3X2luc3RhbGwKLSAJJChJTlNUQUxMX0RJ UikgJChERVNURElSKSQoZGF0YWRpcikvYWNsb2NhbAotLQkoY2QgJChzcmNkaXIpIDsgJChJTlNU QUxMX0RBVEEpICB3eHdpbi5tNCAkKERFU1RESVIpJChkYXRhZGlyKS9hY2xvY2FsKQotKwkoY2Qg JChzcmNkaXIpIDsgJChJTlNUQUxMX0RBVEEpICB3eHdpbi5tNCAkKERFU1RESVIpJChkYXRhZGly KS9hY2xvY2FsL3d4d2luMy5tNCkKLSAJJChJTlNUQUxMX0RJUikgJChERVNURElSKSQoZGF0YWRp cikvYmFrZWZpbGUvcHJlc2V0cwotLQkoY2QgJChzcmNkaXIpL2J1aWxkL2Jha2VmaWxlcy93eHBy ZXNldHMvcHJlc2V0cyA7ICQoSU5TVEFMTF9EQVRBKSAgd3guYmtsIHd4X3VuaXguYmtsIHd4X3dp bjMyLmJrbCB3eF94cmMuYmtsIHd4X3ByZXNldHMucHkgJChERVNURElSKSQoZGF0YWRpcikvYmFr ZWZpbGUvcHJlc2V0cykKLSsJKGNkICQoc3JjZGlyKS9idWlsZC9iYWtlZmlsZXMvd3hwcmVzZXRz L3ByZXNldHMgOyBcCi0rCWZvciBpIGluIHd4LmJrbCB3eF91bml4LmJrbCB3eF93aW4zMi5ia2wg d3hfeHJjLmJrbCB3eF9wcmVzZXRzLnB5IDsgZG8gXAotKwkkKElOU1RBTExfREFUQSkgJCRpICQo REVTVERJUikkKGRhdGFkaXIpL2Jha2VmaWxlL3ByZXNldHMvd3gkKFdYX1JFTEVBU0VfTk9ET1Qp JCR7aSMjd3h9IDsgZG9uZSkKLSAJJChEWUxJQl9SUEFUSF9JTlNUQUxMKQotIAkkKElOU1RBTExf RElSKSAkKERFU1RESVIpJChsaWJkaXIpL3d4L2luY2x1ZGUvJChUT09MQ0hBSU5fRlVMTE5BTUUp L3d4Ci0gCWZvciBmIGluIHNldHVwLmggJChSQ0RFRlNfSCk7IGRvIFwKLUBAIC0xNjE3Nyw3ICsx NjE3OSw3IEBACi0gCSQoSU5TVEFMTF9ESVIpICQoREVTVERJUikkKGJpbmRpcikKLSAJJChJTlNU QUxMX0RJUikgJChERVNURElSKSQobGliZGlyKS93eC9jb25maWcKLSAJJChJTlNUQUxMX1NDUklQ VCkgbGliL3d4L2NvbmZpZy8kKFRPT0xDSEFJTl9GVUxMTkFNRSkgJChERVNURElSKSQobGliZGly KS93eC9jb25maWcKLS0JKGNkICQoREVTVERJUikkKGJpbmRpcikgJiYgcm0gLWYgd3gtY29uZmln ICYmICQoTE5fUykgJChsaWJkaXIpL3d4L2NvbmZpZy8kKFRPT0xDSEFJTl9GVUxMTkFNRSkgd3gt Y29uZmlnIHx8IGNwIC1wICQoREVTVERJUikkKGxpYmRpcikvd3gvY29uZmlnLyQoVE9PTENIQUlO X0ZVTExOQU1FKSB3eC1jb25maWcpCi0rCShjZCAkKERFU1RESVIpJChiaW5kaXIpICYmIHJtIC1m IHd4LWNvbmZpZy0kKFdYX1JFTEVBU0UpICYmICQoTE5fUykgJChsaWJkaXIpL3d4L2NvbmZpZy8k KFRPT0xDSEFJTl9GVUxMTkFNRSkgd3gtY29uZmlnLSQoV1hfUkVMRUFTRSkgfHwgY3AgLXAgJChE RVNURElSKSQobGliZGlyKS93eC9jb25maWcvJChUT09MQ0hBSU5fRlVMTE5BTUUpIHd4LWNvbmZp Zy0kKFdYX1JFTEVBU0UpKQotIAotIGxvY2FsZV9pbnN0YWxsOiAKLSAJJChJTlNUQUxMX0RJUikg JChERVNURElSKSQoZGF0YWRpcikvbG9jYWxlCi1AQCAtMTYxODUsNyArMTYxODcsNyBAQAotIAkk KElOU1RBTExfRElSKSAkKERFU1RESVIpJChkYXRhZGlyKS9sb2NhbGUvJCRsIDsgXAotIAkkKElO U1RBTExfRElSKSAkKERFU1RESVIpJChkYXRhZGlyKS9sb2NhbGUvJCRsL0xDX01FU1NBR0VTIDsg XAotIAlpZiB0ZXN0IC1mICQoc3JjZGlyKS9sb2NhbGUvJCRsLm1vIDsgdGhlbiBcCi0tCSQoSU5T VEFMTF9EQVRBKSAkKHNyY2RpcikvbG9jYWxlLyQkbC5tbyAkKERFU1RESVIpJChkYXRhZGlyKS9s b2NhbGUvJCRsL0xDX01FU1NBR0VTL3d4c3RkLm1vIDsgXAotKwkkKElOU1RBTExfREFUQSkgJChz cmNkaXIpL2xvY2FsZS8kJGwubW8gJChERVNURElSKSQoZGF0YWRpcikvbG9jYWxlLyQkbC9MQ19N RVNTQUdFUy93eHN0ZCQoV1hfUkVMRUFTRV9OT0RPVCkubW8gOyBcCi0gCWZpIDsgXAotIAlkb25l Ci0gCi1AQCAtMTYyMDIsNyArMTYyMDQsNyBAQAotIAkkKElOU1RBTExfRElSKSAkKERFU1RESVIp JChkYXRhZGlyKS9sb2NhbGUvJCRsIDsgXAotIAkkKElOU1RBTExfRElSKSAkKERFU1RESVIpJChk YXRhZGlyKS9sb2NhbGUvJCRsL0xDX01FU1NBR0VTIDsgXAotIAlpZiB0ZXN0IC1mICQoc3JjZGly KS9sb2NhbGUvbXN3LyQkbC5tbyA7IHRoZW4gXAotLQkkKElOU1RBTExfREFUQSkgJChzcmNkaXIp L2xvY2FsZS9tc3cvJCRsLm1vICQoREVTVERJUikkKGRhdGFkaXIpL2xvY2FsZS8kJGwvTENfTUVT U0FHRVMvd3htc3cubW8gOyBcCi0rCSQoSU5TVEFMTF9EQVRBKSAkKHNyY2RpcikvbG9jYWxlL21z dy8kJGwubW8gJChERVNURElSKSQoZGF0YWRpcikvbG9jYWxlLyQkbC9MQ19NRVNTQUdFUy93eG1z dyQoV1hfUkVMRUFTRV9OT0RPVCkubW8gOyBcCi0gCWZpIDsgXAotIAlkb25lCi0gCi1kaWZmIC1O YXVyIGJ1aWxkL2Jha2VmaWxlcy93eC5ia2wgYnVpbGQvYmFrZWZpbGVzL3d4LmJrbAotLS0tIGEv YnVpbGQvYmFrZWZpbGVzL3d4LmJrbAkyMDE0LTEwLTA2IDIzOjMzOjQ0LjAwMDAwMDAwMCArMDIw MAotKysrIGIvYnVpbGQvYmFrZWZpbGVzL3d4LmJrbAkyMDE0LTExLTE5IDEwOjMyOjIxLjY5MjI4 Mzk1NSArMDEwMAotQEAgLTEzNyw3ICsxMzcsNyBAQAotICAgICAgICAgPHVzaW5nIG1vZHVsZT0i Z2V0dGV4dCIvPgotICAgICAgICAgPGdldHRleHQtY2F0YWxvZ3MgaWQ9ImxvY2FsZSI+Ci0gICAg ICAgICAgICAgPHNyY2Rpcj4kKFNSQ0RJUikvbG9jYWxlPC9zcmNkaXI+Ci0tICAgICAgICAgICAg PGNhdGFsb2ctbmFtZT53eHN0ZDwvY2F0YWxvZy1uYW1lPgotKyAgICAgICAgICAgIDxjYXRhbG9n LW5hbWU+d3hzdGQkKFdYX1JFTEVBU0VfTk9ET1QpPC9jYXRhbG9nLW5hbWU+Ci0gICAgICAgICAg ICAgPGxpbmd1YXM+Ci0gICAgICAgICAgICAgICAgIGNhIGNzIGRhIGRlIGVsIGVzIGZpIGZyIGh1 IGlkIGl0IGphIG5sIHBsIHJ1IHNsIHN2IHRyIHVrCi0gICAgICAgICAgICAgICAgIHpoIHpoX0NO IHpoX1RXCi1kaWZmIC1OYXVyIHNyYy9jb21tb24vdHJhbnNsYXRpb24uY3BwIHNyYy9jb21tb24v dHJhbnNsYXRpb24uY3BwCi0tLS0gYS9zcmMvY29tbW9uL3RyYW5zbGF0aW9uLmNwcAkyMDE0LTEw LTA2IDIzOjMzOjQ0LjAwMDAwMDAwMCArMDIwMAotKysrIGIvc3JjL2NvbW1vbi90cmFuc2xhdGlv bi5jcHAJMjAxNC0xMS0xOSAxMTowMjoyMS4wNjc3ODg2NjUgKzAxMDAKLUBAIC0xNDcxLDcgKzE0 NzEsNyBAQAotIAotIGJvb2wgd3hUcmFuc2xhdGlvbnM6OkFkZFN0ZENhdGFsb2coKQotIHsKLS0g ICAgaWYgKCAhQWRkQ2F0YWxvZyh3eFMoInd4c3RkIikpICkKLSsgICAgaWYgKCAhQWRkQ2F0YWxv Zyh3eFMoInd4c3RkIiB3eFNUUklOR0laRSh3eE1BSk9SX1ZFUlNJT04pIHd4U1RSSU5HSVpFKHd4 TUlOT1JfVkVSU0lPTikpKSApCi0gICAgICAgICByZXR1cm4gZmFsc2U7Ci0gCi0gICAgIC8vIHRo ZXJlIG1heSBiZSBhIGNhdGFsb2cgd2l0aCB0b29sa2l0IHNwZWNpZmljIG92ZXJyaWRlcywgaXQg aXMgbm90Ci1kaWZmIC1OYXVyIHV0aWxzL3d4cmMvTWFrZWZpbGUuaW4gdXRpbHMvd3hyYy9NYWtl ZmlsZS5pbgotLS0tIGEvdXRpbHMvd3hyYy9NYWtlZmlsZS5pbgkyMDE0LTEwLTA2IDIzOjMzOjQ0 LjAwMDAwMDAwMCArMDIwMAotKysrIGIvdXRpbHMvd3hyYy9NYWtlZmlsZS5pbgkyMDE0LTExLTE5 IDEwOjQ5OjU1LjQxMDExMDY2OSArMDEwMAotQEAgLTEyNSw3ICsxMjUsNiBAQAotIEBDT05EX1VT RV9YUkNfMUAJcm0gLWYgJChERVNURElSKSQoYmluZGlyKS93eHJjJChFWEVFWFQpICQoREVTVERJ UikkKGJpbmRpcikvd3hyYy0kKFdYX1JFTEVBU0UpCi0gQENPTkRfVVNFX1hSQ18xQAkkKElOU1RB TExfUFJPR1JBTSkgd3hyYyQoRVhFRVhUKSAkKERFU1RESVIpJChiaW5kaXIpCi0gQENPTkRfVVNF X1hSQ18xQAltdiAtZiAkKERFU1RESVIpJChiaW5kaXIpL3d4cmMkKEVYRUVYVCkgJChERVNURElS KSQoYmluZGlyKS93eHJjLSQoV1hfUkVMRUFTRSkKLS1AQ09ORF9VU0VfWFJDXzFACShjZCAkKERF U1RESVIpJChiaW5kaXIpICYmICQoTE5fUykgd3hyYy0kKFdYX1JFTEVBU0UpIHd4cmMkKEVYRUVY VCkpCi0gCi0gQENPTkRfVVNFX1hSQ18xQHVuaW5zdGFsbF93eHJjOiAKLSBAQ09ORF9VU0VfWFJD XzFACXJtIC1mICQoREVTVERJUikkKGJpbmRpcikvd3hyYyQoRVhFRVhUKQpkaWZmIC0tZ2l0IGEv c3JjcGtncy93eFdpZGdldHMvdGVtcGxhdGUgYi9zcmNwa2dzL3d4V2lkZ2V0cy90ZW1wbGF0ZQpk ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDgwYzNlMTVlMzUyNC4uMDAwMDAwMDAwMDAw MAotLS0gYS9zcmNwa2dzL3d4V2lkZ2V0cy90ZW1wbGF0ZQorKysgL2Rldi9udWxsCkBAIC0xLDY2 ICswLDAgQEAKLSMgVGVtcGxhdGUgZmlsZSBmb3IgJ3d4V2lkZ2V0cycKLXBrZ25hbWU9d3hXaWRn ZXRzCi12ZXJzaW9uPTMuMC41LjEKLXJldmlzaW9uPTYKLWJ1aWxkX3N0eWxlPWdudS1jb25maWd1 cmUKLWNvbmZpZ3VyZV9hcmdzPSItLWVuYWJsZS11bmljb2RlIC0td2l0aC1vcGVuZ2wgLS13aXRo LXNkbCAtLXdpdGgtbGlibXNwYWNrCi0gLS13aXRoLWxpYm5vdGlmeSAtLWVuYWJsZS1tZWRpYWN0 cmwgLS13aXRoLWd0az0yIC0tZGlzYWJsZS13ZWJ2aWV3IgotaG9zdG1ha2VkZXBlbmRzPSJwa2ct Y29uZmlnIgotbWFrZWRlcGVuZHM9Imd0aystZGV2ZWwgbGlianBlZy10dXJiby1kZXZlbCB0aWZm LWRldmVsIGxpYlNNLWRldmVsIGxpYm5vdGlmeS1kZXZlbAotIGxpYlhpbmVyYW1hLWRldmVsIGxp Ym1zcGFjay1kZXZlbCBTREwyLWRldmVsIGdsdS1kZXZlbAotIGdzdHJlYW1lcjEtZGV2ZWwgZ3N0 LXBsdWdpbnMtYmFzZTEtZGV2ZWwiCi1kZXBlbmRzPSJ3eFdpZGdldHMtY29tbW9uPj0ke3ZlcnNp b259Igotc2hvcnRfZGVzYz0iV3hXaWRnZXRzIEdVSSB0b29sa2l0IGxpYnJhcnkgKHZlcnNpb24g MykiCi1tYWludGFpbmVyPSJNYXJ0aW4gUmllc2UgPGdyYXVlaGFhcmVAZ214LmRlPiIKLWxpY2Vu c2U9Ild4V2luZG93cy1leGNlcHRpb24tMy4xIgotaG9tZXBhZ2U9Imh0dHBzOi8vd3d3Lnd4d2lk Z2V0cy5vcmcvIgotZGlzdGZpbGVzPSJodHRwczovL2dpdGh1Yi5jb20vd3hXaWRnZXRzL3d4V2lk Z2V0cy9yZWxlYXNlcy9kb3dubG9hZC92JHt2ZXJzaW9ufS93eFdpZGdldHMtJHt2ZXJzaW9ufS50 YXIuYnoyIgotY2hlY2tzdW09NDQwZjZlNzNjZjVhZmIyY2JmOWFmMTBjZWM4ZGE2Y2RkM2QzOTk4 ZDUyNzU5OGE1M2RiODcwOTk1MjRhYzgwNwotCi1wb3N0X2luc3RhbGwoKSB7Ci0JbG9jYWwgX2Nv bmZpZz0iZ3RrMi11bmljb2RlLTMuMCIKLQkjIHJlbW92ZSBmaWxlcyB0aGF0IGFyZSBhbHJlYWR5 IGluIHd4V2lkZ2V0cy1jb21tb24KLQlybSAtZiAke0RFU1RESVJ9L3Vzci9saWIvbGlid3hfYmFz ZXUqCi0Jcm0gLXJmICR7REVTVERJUn0vdXNyL2Jpbi93eHJjKgotCXJtIC1yZiAke0RFU1RESVJ9 L3Vzci9zaGFyZQotCWZpbmQgJHtERVNURElSfS91c3IvaW5jbHVkZSAtdHlwZSBmIC1ub3QgLW5h bWUgdGFiYXJ0Z3RrLmggXAotCQktbm90IC1uYW1lIGZvbnRkbGdnLmggLW5vdCAtbmFtZSBub3Rp Zm1zZy5oIC1leGVjIHJtIC1mIHt9IFw7Ci0JZm9yIGYgaW4gIiIgZ2VuZXJpYyBndGs7IGRvCi0J CXJtICR7REVTVERJUn0vdXNyL2luY2x1ZGUvd3gtMy4wL3d4LyRmL25vdGlmbXNnLmgKLQlkb25l Ci0JIyByZW1vdmUgYWxsIG9jY3VycmVuY2VzIG9mICRYQlBTX0NST1NTX1RSSVBMRVQKLQkjIHd4 LWNvbmZpZzoKLQkjICAgLSBtYXJrIHRoaXMgYnVpbGQgYXMgbmF0aXZlIGJ1aWxkCi0JIyAgIC0g aWdub3JlIC0taG9zdCBvcHRpb247IGJyZWFrcyBjb25maWd1cmUgc2NyaXB0cyB3aGVuCi0JIyAg ICAgY3Jvc3MgY29tcGlsaW5nIChpc27igJl0IG5lY2Vzc2FyeSBpbiBvdXIgY2FzZSBhbnl3YXkp Ci0JaWYgWyAtbiAiJENST1NTX0JVSUxEIiBdOyB0aGVuCi0JCXJlbmFtZSAiJHtYQlBTX0NST1NT X1RSSVBMRVR9LSIgIiIgXAotCQkJJHtERVNURElSfS91c3IvbGliL3d4L2NvbmZpZy8qIFwKLQkJ CSR7REVTVERJUn0vdXNyL2xpYi93eC9pbmNsdWRlLyoKLQkJcmVuYW1lIC0tICItJHtYQlBTX0NS T1NTX1RSSVBMRVR9IiAiIiAke0RFU1RESVJ9L3Vzci9saWIvKgotCi0JCXNlZCAtaSAtZSAicy8k e1hCUFNfQ1JPU1NfVFJJUExFVH0tLy9nIiBcCi0JCQktZSAicy8tJHtYQlBTX0NST1NTX1RSSVBM RVR9Ly9nIiBcCi0JCQktZSAicywkWEJQU19DUk9TU19CQVNFLCxnIiBcCi0JCQkke0RFU1RESVJ9 L3Vzci9saWIvd3gvY29uZmlnLyR7X2NvbmZpZ30KLQotCWZpCi0Jc2VkIC1pIC1lICdzLF5iaW5k aXI9LiosYmluZGlyPSR7ZXhlY19wcmVmaXh9L2JpbiwnIFwKLQkJLWUgJ3MvaXNfY3Jvc3MoKSAg eyAuKiB9L2lzX2Nyb3NzKCkgeyBmYWxzZTsgfS9nJyBcCi0JCS1lICcvLS1cKj1cKikvaSAtLWhv c3Q9XCopIGNvbnRpbnVlOzsnIFwKLQkJLWUgInMsL3Vzci9saWIsXCR7ZXhlY19wcmVmaXh9L2xp YixnIiBcCi0JCSR7REVTVERJUn0vdXNyL2xpYi93eC9jb25maWcvJHtfY29uZmlnfQotCWxuIC1z ZiAuLi9saWIvd3gvY29uZmlnLyR7X2NvbmZpZ30gJHtQS0dERVNURElSfS91c3IvYmluL3d4LWNv bmZpZy0zLjAKLQlsbiAtc2Ygd3gtY29uZmlnLTMuMCAke0RFU1RESVJ9L3Vzci9iaW4vd3gtY29u ZmlnCi19Ci0KLXd4V2lkZ2V0cy1kZXZlbF9wYWNrYWdlKCkgewotCWRlcGVuZHM9IiR7c291cmNl cGtnfT49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufSAke3NvdXJjZXBrZ30tY29tbW9uLWRldmVsPj0k e3ZlcnNpb259IgotCXNob3J0X2Rlc2MrPSIgLSBkZXZlbG9wbWVudCBmaWxlcyIKLQlwa2dfaW5z dGFsbCgpIHsKLQkJdm1vdmUgdXNyL2luY2x1ZGUKLQkJdm1vdmUgdXNyL2JpbgotCQl2bW92ZSAi dXNyL2xpYi8qLnNvIgotCQl2bW92ZSB1c3IvbGliL3d4Ci0JfQotfQpkaWZmIC0tZ2l0IGEvc3Jj cGtncy93eFdpZGdldHMvdXBkYXRlIGIvc3JjcGtncy93eFdpZGdldHMvdXBkYXRlCmRlbGV0ZWQg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3N2UyOTBlN2U2NDZlLi4wMDAwMDAwMDAwMDAwCi0tLSBh L3NyY3BrZ3Mvd3hXaWRnZXRzL3VwZGF0ZQorKysgL2Rldi9udWxsCkBAIC0xLDIgKzAsMCBAQAot IyBkZXZlbG9wbWVudCB2ZXJzaW9uCi1pZ25vcmU9JzMuMS4qJwoKRnJvbSA3MDg0Mjc4MzAyNTYz OGE2M2E4OTQxMjZjNWFhNWE2MWMzNzBiYWJjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9t OiAiQW5kcmV3IEouIEhlc2ZvcmQiIDxhamhAc2lkZWJhbmQub3JnPgpEYXRlOiBNb24sIDI1IFNl cCAyMDIzIDAwOjA0OjMzIC0wNDAwClN1YmplY3Q6IFtQQVRDSCAwNS80M10gd3hXaWRnZXRzLWd0 azM6IHVwZGF0ZSB0byAzLjIuMi4xLgoKLS0tCiBjb21tb24vc2hsaWJzICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAzMiArKysrKy0tLS0tCiAuLi4vd3hXaWRnZXRzLWd0azMvZmls ZXMvbXVzbC1sb2NhbGUtbC5wYXRjaCAgfCAzNCArKysrKysrKysrKwogLi4uL3BhdGNoZXMvaW52 YWxpZC1oZWFkZXItc3ludGF4LnBhdGNoICAgICAgIHwgMTYgKysrKysKIC4uLi93eFdpZGdldHMt Z3RrMy9wYXRjaGVzL2xhcmdlZmlsZS5wYXRjaCAgICB8IDE2ICsrKysrCiBzcmNwa2dzL3d4V2lk Z2V0cy1ndGszL3BhdGNoZXMvbm8tZ2x2bmQucGF0Y2ggfCA0NSArKysrKysrKysrKysrKwogLi4u L3BhdGNoZXMvbm9uZmF0YWwtYWJpLWNoZWNrLnBhdGNoICAgICAgICAgIHwgMjEgKysrLS0tLQog c3JjcGtncy93eFdpZGdldHMtZ3RrMy90ZW1wbGF0ZSAgICAgICAgICAgICAgIHwgNjAgKysrKysr KysrKysrKy0tLS0tLQogc3JjcGtncy93eFdpZGdldHMtZ3RrMy91cGRhdGUgICAgICAgICAgICAg ICAgIHwgIDQgKy0KIDggZmlsZXMgY2hhbmdlZCwgMTgwIGluc2VydGlvbnMoKyksIDQ4IGRlbGV0 aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mvd3hXaWRnZXRzLWd0azMvZmlsZXMv bXVzbC1sb2NhbGUtbC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mvd3hXaWRnZXRz LWd0azMvcGF0Y2hlcy9pbnZhbGlkLWhlYWRlci1zeW50YXgucGF0Y2gKIGNyZWF0ZSBtb2RlIDEw MDY0NCBzcmNwa2dzL3d4V2lkZ2V0cy1ndGszL3BhdGNoZXMvbGFyZ2VmaWxlLnBhdGNoCiBjcmVh dGUgbW9kZSAxMDA2NDQgc3JjcGtncy93eFdpZGdldHMtZ3RrMy9wYXRjaGVzL25vLWdsdm5kLnBh dGNoCgpkaWZmIC0tZ2l0IGEvY29tbW9uL3NobGlicyBiL2NvbW1vbi9zaGxpYnMKaW5kZXggZGE3 ZjI3MzlkYzVlZC4uODVlYWQyMDg0NGVjYyAxMDA2NDQKLS0tIGEvY29tbW9uL3NobGlicworKysg Yi9jb21tb24vc2hsaWJzCkBAIC0xNTU5LDkgKzE1NTksNiBAQCBsaWJvZnguc28uNyBsaWJvZngt MC4xMC4xXzEKIGxpYnNpZ3NlZ3Yuc28uMiBsaWJzaWdzZWd2LTIuMTBfMgogbGliZnByaW50LnNv LjAgbGliZnByaW50MC0xLjBfMQogbGliZnByaW50LTIuc28uMiBsaWJmcHJpbnQtMS45MC43XzEK LWxpYnd4X2Jhc2V1X3htbC0zLjAuc28uMCB3eFdpZGdldHMtY29tbW9uLTMuMC40XzEKLWxpYnd4 X2Jhc2V1LTMuMC5zby4wIHd4V2lkZ2V0cy1jb21tb24tMy4wLjRfMQotbGlid3hfYmFzZXVfbmV0 LTMuMC5zby4wIHd4V2lkZ2V0cy1jb21tb24tMy4wLjRfMQogbGlibXNwYWNrLnNvLjAgbGlibXNw YWNrLTAuNGFscGhhXzEKIGxpYnNsaW0uc28uMS4zLjYgc2xpbS0xLjMuNl8xCiBsaWJtZWRpYWFy dC0yLjAuc28uMCBsaWJtZWRpYWFydC0xLjkuMV8xCkBAIC0zNDc0LDE5ICszNDcxLDIyIEBAIGxp Ym1vempzLTc4LnNvLjAgbW96anM3OC03OC4xLjBfMQogbGliZWJ1cjEyOC5zby4xIGxpYmVidXIx MjgtMS4yLjRfMQogbGliZ3Rrc291cmNldmlldy00LnNvLjAgZ3Rrc291cmNldmlldzQtNC4wLjJf MQogbGliZ3Rrc291cmNldmlldy01LnNvLjAgZ3Rrc291cmNldmlldzUtNS4yLjBfMQotbGlid3hf Z3RrM3VfcHJvcGdyaWQtMy4wLnNvLjAgd3hXaWRnZXRzLWd0azMtMy4wLjRfMQotbGlid3hfZ3Rr M3VfcWEtMy4wLnNvLjAgd3hXaWRnZXRzLWd0azMtMy4wLjRfMQotbGlid3hfZ3RrM3VfY29yZS0z LjAuc28uMCB3eFdpZGdldHMtZ3RrMy0zLjAuNF8xCi1saWJ3eF9ndGszdV9odG1sLTMuMC5zby4w IHd4V2lkZ2V0cy1ndGszLTMuMC40XzEKLWxpYnd4X2d0azN1X2Fkdi0zLjAuc28uMCB3eFdpZGdl dHMtZ3RrMy0zLjAuNF8xCi1saWJ3eF9ndGszdV9yaWNodGV4dC0zLjAuc28uMCB3eFdpZGdldHMt Z3RrMy0zLjAuNF8xCi1saWJ3eF9ndGszdV94cmMtMy4wLnNvLjAgd3hXaWRnZXRzLWd0azMtMy4w LjRfMQotbGlid3hfZ3RrM3Vfd2Vidmlldy0zLjAuc28uMCB3eFdpZGdldHMtZ3RrMy0zLjAuNF8x Ci1saWJ3eF9ndGszdV9hdWktMy4wLnNvLjAgd3hXaWRnZXRzLWd0azMtMy4wLjRfMQotbGlid3hf Z3RrM3VfbWVkaWEtMy4wLnNvLjAgd3hXaWRnZXRzLWd0azMtMy4wLjRfMQotbGlid3hfZ3RrM3Vf cmliYm9uLTMuMC5zby4wIHd4V2lkZ2V0cy1ndGszLTMuMC40XzEKLWxpYnd4X2d0azN1X2dsLTMu MC5zby4wIHd4V2lkZ2V0cy1ndGszLTMuMC40XzEKLWxpYnd4X2d0azN1X3N0Yy0zLjAuc28uMCB3 eFdpZGdldHMtZ3RrMy0zLjAuNF8xCitsaWJ3eF9iYXNldV94bWwtMy4yLnNvLjAgd3hXaWRnZXRz LWNvbW1vbi0zLjIuMi4xXzEKK2xpYnd4X2Jhc2V1LTMuMi5zby4wIHd4V2lkZ2V0cy1jb21tb24t My4yLjIuMV8xCitsaWJ3eF9iYXNldV9uZXQtMy4yLnNvLjAgd3hXaWRnZXRzLWNvbW1vbi0zLjIu Mi4xXzEKK2xpYnd4X2d0azN1X2Fkdi0zLjIuc28uMCB3eFdpZGdldHMtZ3RrMy0zLjIuMi4xXzEK K2xpYnd4X2d0azN1X2F1aS0zLjIuc28uMCB3eFdpZGdldHMtZ3RrMy0zLjIuMi4xXzEKK2xpYnd4 X2d0azN1X2NvcmUtMy4yLnNvLjAgd3hXaWRnZXRzLWd0azMtMy4yLjIuMV8xCitsaWJ3eF9ndGsz dV9nbC0zLjIuc28uMCB3eFdpZGdldHMtZ3RrMy0zLjIuMi4xXzEKK2xpYnd4X2d0azN1X2h0bWwt My4yLnNvLjAgd3hXaWRnZXRzLWd0azMtMy4yLjIuMV8xCitsaWJ3eF9ndGszdV9tZWRpYS0zLjIu c28uMCB3eFdpZGdldHMtZ3RrMy0zLjIuMi4xXzEKK2xpYnd4X2d0azN1X3Byb3BncmlkLTMuMi5z by4wIHd4V2lkZ2V0cy1ndGszLTMuMi4yLjFfMQorbGlid3hfZ3RrM3VfcWEtMy4yLnNvLjAgd3hX aWRnZXRzLWd0azMtMy4yLjIuMV8xCitsaWJ3eF9ndGszdV9yaWJib24tMy4yLnNvLjAgd3hXaWRn ZXRzLWd0azMtMy4yLjIuMV8xCitsaWJ3eF9ndGszdV9yaWNodGV4dC0zLjIuc28uMCB3eFdpZGdl dHMtZ3RrMy0zLjIuMi4xXzEKK2xpYnd4X2d0azN1X3N0Yy0zLjIuc28uMCB3eFdpZGdldHMtZ3Rr My0zLjIuMi4xXzEKK2xpYnd4X2d0azN1X3dlYnZpZXctMy4yLnNvLjAgd3hXaWRnZXRzLWd0azMt My4yLjIuMV8xCitsaWJ3eF9ndGszdV94cmMtMy4yLnNvLjAgd3hXaWRnZXRzLWd0azMtMy4yLjIu MV8xCiBsaWJ0ZXBsLTYuc28uMiB0ZXBsLTYuNC4wXzEKIGxpYm5vbWFjc0NvcmUuc28uMyBub21h Y3MtMy4xMC4yXzQKIGxpYmF1ZGl0LnNvLjEgbGliYXVkaXQtMi44LjRfMQpkaWZmIC0tZ2l0IGEv c3JjcGtncy93eFdpZGdldHMtZ3RrMy9maWxlcy9tdXNsLWxvY2FsZS1sLnBhdGNoIGIvc3JjcGtn cy93eFdpZGdldHMtZ3RrMy9maWxlcy9tdXNsLWxvY2FsZS1sLnBhdGNoCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAuLmRjNWYxZGY2YTI1MDIKLS0tIC9kZXYvbnVsbAor KysgYi9zcmNwa2dzL3d4V2lkZ2V0cy1ndGszL2ZpbGVzL211c2wtbG9jYWxlLWwucGF0Y2gKQEAg LTAsMCArMSwzNCBAQAoraHR0cHM6Ly9naXQuYWxwaW5lbGludXgub3JnL2Fwb3J0cy9wbGFpbi9j b21tdW5pdHkvd3h3aWRnZXRzL211c2wtbG9jYWxlLWwucGF0Y2gKKwordGhlc2UgbWFjcm8nZCBh d2F5IGZ1bmN0aW9ucyBkb24ndCBleGlzdCBpbiBtdXNsICh5ZXQpCitkaWZmIC0tZ2l0IGEvaW5j bHVkZS93eC94bG9jYWxlLmggYi9pbmNsdWRlL3d4L3hsb2NhbGUuaAoraW5kZXggYzQzM2QyNS4u Nzk0Y2YwYiAxMDA2NDQKKy0tLSBhL2luY2x1ZGUvd3gveGxvY2FsZS5oCisrKysgYi9pbmNsdWRl L3d4L3hsb2NhbGUuaAorQEAgLTMzLDYgKzMzLDI2IEBACisgI2luY2x1ZGUgInd4L2NydC5oIiAg ICAgLy8gSW5jbHVkZXMgd3gvY2hhcnR5cGUuaCwgd3gvd3hjcnQuaCh3eC9zdHJpbmcuaCkKKyAj aW5jbHVkZSAid3gvaW50bC5oIiAgICAvLyB3eExhbmd1YWdlCisgCisrI2lmbmRlZiBzdHJ0b2xf bAorKyNkZWZpbmUgc3RydG9sX2wocywgcCwgYmFzZSwgbCkgc3RydG9sKHMsIHAsIGJhc2UpCisr I2VuZGlmCisrCisrI2lmbmRlZiBzdHJ0b3VsX2wKKysjZGVmaW5lIHN0cnRvdWxfbChzLCBwLCBi YXNlLCBsKSBzdHJ0b3VsKHMsIHAsIGJhc2UpCisrI2VuZGlmCisrCisrI2lmbmRlZiB3Y3N0b2Rf bAorKyNkZWZpbmUgd2NzdG9kX2wocywgcCwgbCkgd2NzdG9kKHMsIHApCisrI2VuZGlmCisrCisr I2lmbmRlZiB3Y3N0b2xfbAorKyNkZWZpbmUgd2NzdG9sX2wocywgcCwgYmFzZSwgbCkgd2NzdG9s KHMsIHAsIGJhc2UpCisrI2VuZGlmCisrCisrI2lmbmRlZiB3Y3N0b3VsX2wKKysjZGVmaW5lIHdj c3RvdWxfbChzLCBwLCBiYXNlLCBsKSB3Y3N0b3VsKHMsIHAsIGJhc2UpCisrI2VuZGlmCisrCisg Ly8gVGhlIHBsYXRmb3JtLXNwZWNpZmljIGxvY2FsZSB0eXBlCisgLy8gSWYgd3hYTG9jYWxlX3Qg aXMgbm90IGRlZmluZWQsIHRoZW4gb25seSAiQyIgbG9jYWxlIHN1cHBvcnQgaXMgcHJvdmlkZWQK KyAjaWZkZWYgd3hIQVNfWExPQ0FMRV9TVVBQT1JUCmRpZmYgLS1naXQgYS9zcmNwa2dzL3d4V2lk Z2V0cy1ndGszL3BhdGNoZXMvaW52YWxpZC1oZWFkZXItc3ludGF4LnBhdGNoIGIvc3JjcGtncy93 eFdpZGdldHMtZ3RrMy9wYXRjaGVzL2ludmFsaWQtaGVhZGVyLXN5bnRheC5wYXRjaApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwLi5mZDRmYzRjZWNhMWFhCi0tLSAvZGV2 L251bGwKKysrIGIvc3JjcGtncy93eFdpZGdldHMtZ3RrMy9wYXRjaGVzL2ludmFsaWQtaGVhZGVy LXN5bnRheC5wYXRjaApAQCAtMCwwICsxLDE2IEBACitodHRwczovL2dpdC5hbHBpbmVsaW51eC5v cmcvYXBvcnRzL3BsYWluL2NvbW11bml0eS93eHdpZGdldHMvaW52YWxpZC1oZWFkZXItc3ludGF4 LnBhdGNoCisKK2RpZmYgLS1naXQgYS9pbmNsdWRlL3d4L21hdHJpeC5oIGIvaW5jbHVkZS93eC9t YXRyaXguaAoraW5kZXggM2IzMjI1ZC4uZTc3ZmIxYSAxMDA2NDQKKy0tLSBhL2luY2x1ZGUvd3gv bWF0cml4LmgKKysrKyBiL2luY2x1ZGUvd3gvbWF0cml4LmgKK0BAIC0zNyw4ICszNyw4IEBACisg Ly8gIGF0IGEgY2VydGFpbiBjb29yZGluYXRlIGFuZCBhbmdsZSB3aXRoaW4gYW5vdGhlciBwYXJl bnQgcGljdHVyZS4KKyAvLyAgQXQgYWxsIHRpbWVzIG1faXNJZGVudGl0eSBpcyBzZXQgaWYgdGhl IG1hdHJpeCBpdHNlbGYgaXMgYW4gSWRlbnRpdHkgbWF0cml4LgorIC8vICBJdCBpcyB1c2VkIHdo ZXJlIHBvc3NpYmxlIHRvIG9wdGltaXplIGNhbGN1bGF0aW9ucy4KKy1jbGFzcworIHd4REVQUkVD QVRFRF9FWFBPUlRfQ09SRSgidXNlIHd4QWZmaW5lTWF0cml4MkQgaW5zdGVhZCIpCisrY2xhc3MK KyB3eFRyYW5zZm9ybU1hdHJpeDogcHVibGljIHd4T2JqZWN0CisgeworIHB1YmxpYzoKZGlmZiAt LWdpdCBhL3NyY3BrZ3Mvd3hXaWRnZXRzLWd0azMvcGF0Y2hlcy9sYXJnZWZpbGUucGF0Y2ggYi9z cmNwa2dzL3d4V2lkZ2V0cy1ndGszL3BhdGNoZXMvbGFyZ2VmaWxlLnBhdGNoCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAuLjllNWE4MWIzMWI5NGQKLS0tIC9kZXYvbnVs bAorKysgYi9zcmNwa2dzL3d4V2lkZ2V0cy1ndGszL3BhdGNoZXMvbGFyZ2VmaWxlLnBhdGNoCkBA IC0wLDAgKzEsMTYgQEAKK2h0dHBzOi8vZ2l0LmFscGluZWxpbnV4Lm9yZy9hcG9ydHMvcGxhaW4v Y29tbXVuaXR5L3d4d2lkZ2V0cy9sYXJnZWZpbGUucGF0Y2gKKworbm90aGluZyBzZXRzIHRoaXMg dG8gMCwgYnV0IGZvciBzb21lIHJlYXNvbiBpdCBnZXRzIHVuZGVmJ2QKK2RpZmYgLS1naXQgYS9i dWlsZC9jbWFrZS9zZXR1cC5oLmluIGIvYnVpbGQvY21ha2Uvc2V0dXAuaC5pbgoraW5kZXggZTRj OWU4My4uZTllZjhkYyAxMDA2NDQKKy0tLSBhL2J1aWxkL2NtYWtlL3NldHVwLmguaW4KKysrKyBi L2J1aWxkL2NtYWtlL3NldHVwLmguaW4KK0BAIC04NjcsNyArODY3LDcgQEAKKyAvKgorICAqIERl ZmluZSBpZiBsYXJnZSAoNjQgYml0IGZpbGUgb2Zmc2V0cykgZmlsZXMgYXJlIHN1cHBvcnRlZC4K KyAgKi8KKy0jY21ha2VkZWZpbmUgSEFWRV9MQVJHRUZJTEVfU1VQUE9SVCAxCisrI2RlZmluZSBI QVZFX0xBUkdFRklMRV9TVVBQT1JUIDEKKyAKKyAvKgorICAqIFVzZSBPcGVuR0wKZGlmZiAtLWdp dCBhL3NyY3BrZ3Mvd3hXaWRnZXRzLWd0azMvcGF0Y2hlcy9uby1nbHZuZC5wYXRjaCBiL3NyY3Br Z3Mvd3hXaWRnZXRzLWd0azMvcGF0Y2hlcy9uby1nbHZuZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwLi4xMzAzZGQ2MDc0MDA0Ci0tLSAvZGV2L251bGwKKysr IGIvc3JjcGtncy93eFdpZGdldHMtZ3RrMy9wYXRjaGVzL25vLWdsdm5kLnBhdGNoCkBAIC0wLDAg KzEsNDUgQEAKK2h0dHBzOi8vZ2l0LmFscGluZWxpbnV4Lm9yZy9hcG9ydHMvcGxhaW4vY29tbXVu aXR5L3d4d2lkZ2V0cy9uby1nbHZuZC5wYXRjaAorCitmaW5kX3BhY2thZ2UoT3BlbkdMKSBvbmx5 IHdvcmtzIHdpdGggZ2x2bmQgYW5kIGhhcmRjb2RlcyBnbHZuZCBwYXRocywgZXZlbgordGhvdWdo IGFsbCB0aGVzZSBjb21wb25lbnRzIGFyZSBlYXNpbHkgZm91bmQgd2l0aCBwa2djb25maWcuLgor ZGlmZiAtLWdpdCBhL2J1aWxkL2NtYWtlL2luaXQuY21ha2UgYi9idWlsZC9jbWFrZS9pbml0LmNt YWtlCitpbmRleCBlZjI4Yzk5Li5iNGRmODMwIDEwMDY0NAorLS0tIGEvYnVpbGQvY21ha2UvaW5p dC5jbWFrZQorKysrIGIvYnVpbGQvY21ha2UvaW5pdC5jbWFrZQorQEAgLTQwOCwxNyArNDA4LDI2 IEBAIGlmKHd4VVNFX0dVSSkKKyAgICAgICAgICAgICBzZXQoT1BFTkdMX0ZPVU5EIFRSVUUpCisg ICAgICAgICAgICAgc2V0KE9QRU5HTF9MSUJSQVJJRVMgIi1mcmFtZXdvcmsgT3BlbkdMRVMiICIt ZnJhbWV3b3JrIFF1YXJ0ekNvcmUiICItZnJhbWV3b3JrIEdMS2l0IikKKyAgICAgICAgIGVsc2Uo KQorLSAgICAgICAgICAgIGZpbmRfcGFja2FnZShPcGVuR0wpCistICAgICAgICAgICAgaWYoT1BF TkdMX0ZPVU5EKQorLSAgICAgICAgICAgICAgICBmb3JlYWNoKGdsdGFyZ2V0IE9wZW5HTDo6R0wg T3BlbkdMOjpHTFUgT3BlbkdMOjpPcGVuR0wpCistICAgICAgICAgICAgICAgICAgICBpZihUQVJH RVQgJHtnbHRhcmdldH0pCistICAgICAgICAgICAgICAgICAgICAgICAgc2V0KE9QRU5HTF9MSUJS QVJJRVMgJHtnbHRhcmdldH0gJHtPUEVOR0xfTElCUkFSSUVTfSkKKy0gICAgICAgICAgICAgICAg ICAgIGVuZGlmKCkKKy0gICAgICAgICAgICAgICAgZW5kZm9yZWFjaCgpCistICAgICAgICAgICAg ZW5kaWYoKQorLSAgICAgICAgICAgIGlmKFdYR1RLMyBBTkQgT3BlbkdMX0VHTF9GT1VORCBBTkQg d3hVU0VfR0xDQU5WQVNfRUdMKQorKyAgICAgICAgICAgICMgZmluZF9wYWNrYWdlKE9wZW5HTCkK KysgICAgICAgICAgICAjIGlmKE9QRU5HTF9GT1VORCkKKysgICAgICAgICAgICAjICAgICBmb3Jl YWNoKGdsdGFyZ2V0IE9wZW5HTDo6R0wgT3BlbkdMOjpHTFUgT3BlbkdMOjpPcGVuR0wpCisrICAg ICAgICAgICAgIyAgICAgICAgIGlmKFRBUkdFVCAke2dsdGFyZ2V0fSkKKysgICAgICAgICAgICAj ICAgICAgICAgICAgIHNldChPUEVOR0xfTElCUkFSSUVTICR7Z2x0YXJnZXR9ICR7T1BFTkdMX0xJ QlJBUklFU30pCisrICAgICAgICAgICAgIyAgICAgICAgIGVuZGlmKCkKKysgICAgICAgICAgICAj ICAgICBlbmRmb3JlYWNoKCkKKysgICAgICAgICAgICAjIGVuZGlmKCkKKysgICAgICAgICAgICBm aW5kX3BhY2thZ2UoUGtnQ29uZmlnIFJFUVVJUkVEKQorKyAgICAgICAgICAgIHBrZ19jaGVja19t b2R1bGVzKEdMVSBSRVFVSVJFRCBnbHUgSU1QT1JURURfVEFSR0VUIEdMT0JBTCkKKysgICAgICAg ICAgICBhZGRfbGlicmFyeShPcGVuR0w6OkdMVSBBTElBUyBQa2dDb25maWc6OkdMVSkKKysgICAg ICAgICAgICBwa2dfY2hlY2tfbW9kdWxlcyhHTCBSRVFVSVJFRCBnbCBJTVBPUlRFRF9UQVJHRVQg R0xPQkFMKQorKyAgICAgICAgICAgIGFkZF9saWJyYXJ5KE9wZW5HTDo6R0wgQUxJQVMgUGtnQ29u ZmlnOjpHTCkKKysgICAgICAgICAgICBwa2dfY2hlY2tfbW9kdWxlcyhFR0wgUkVRVUlSRUQgZWds IElNUE9SVEVEX1RBUkdFVCBHTE9CQUwpCisrICAgICAgICAgICAgYWRkX2xpYnJhcnkoT3BlbkdM OjpFR0wgQUxJQVMgUGtnQ29uZmlnOjpFR0wpCisrICAgICAgICAgICAgc2V0KE9QRU5HTF9GT1VO RCBUUlVFKQorKyAgICAgICAgICAgIHNldChPcGVuR0xfRUdMX0ZPVU5EIFRSVUUpCisrICAgICAg ICAgICAgaWYoV1hHVEszIEFORCB3eFVTRV9HTENBTlZBU19FR0wpCisgICAgICAgICAgICAgICAg IGlmKFRBUkdFVCBPcGVuR0w6OkVHTCkKKy0gICAgICAgICAgICAgICAgICAgIHNldChPUEVOR0xf TElCUkFSSUVTIE9wZW5HTDo6RUdMICR7T1BFTkdMX0xJQlJBUklFU30pCisrICAgICAgICAgICAg ICAgICAgICBzZXQoT1BFTkdMX0xJQlJBUklFUyBPcGVuR0w6OkVHTCAke09QRU5HTF9MSUJSQVJJ RVN9IEdMKQorICAgICAgICAgICAgICAgICBlbmRpZigpCisgICAgICAgICAgICAgICAgIHNldChP UEVOR0xfSU5DTFVERV9ESVIgJHtPUEVOR0xfSU5DTFVERV9ESVJ9ICR7T1BFTkdMX0VHTF9JTkNM VURFX0RJUlN9KQorICAgICAgICAgICAgICAgICBmaW5kX3BhY2thZ2UoV0FZTEFOREVHTCkKZGlm ZiAtLWdpdCBhL3NyY3BrZ3Mvd3hXaWRnZXRzLWd0azMvcGF0Y2hlcy9ub25mYXRhbC1hYmktY2hl Y2sucGF0Y2ggYi9zcmNwa2dzL3d4V2lkZ2V0cy1ndGszL3BhdGNoZXMvbm9uZmF0YWwtYWJpLWNo ZWNrLnBhdGNoCmluZGV4IGJiOTNmMGEyNjE1NmMuLjljYTI0MWJhOGIxZmYgMTAwNjQ0Ci0tLSBh L3NyY3BrZ3Mvd3hXaWRnZXRzLWd0azMvcGF0Y2hlcy9ub25mYXRhbC1hYmktY2hlY2sucGF0Y2gK KysrIGIvc3JjcGtncy93eFdpZGdldHMtZ3RrMy9wYXRjaGVzL25vbmZhdGFsLWFiaS1jaGVjay5w YXRjaApAQCAtMSwxOCArMSwxOSBAQAotVGFrZW4gZnJvbQorQWRhcHRlZCBmcm9tIGEgcHJpb3Ig cGF0Y2ggd2hpY2ggd2FzIHRha2VuIGZyb20KIGh0dHBzOi8vZ2l0aHViLmNvbS9hcmNobGludXgv c3ZudG9naXQtcGFja2FnZXMvYmxvYi83MWVlMTdkNTI5ZjhlMGRjNWM0NGQyZmZmYjBkZmE2OWI3 MWRhYTBiL3JlcG9zL2V4dHJhLXg4Nl82NC9tYWtlLWFiaWNoZWNrLW5vbi1mYXRhbC5wYXRjaAog Ci1kaWZmIC11cCB3eEdUSy0yLjguMTIvc3JjL2NvbW1vbi9hcHBiYXNlLmNwcC5hYmljaGVjayB3 eEdUSy0yLjguMTIvc3JjL2NvbW1vbi9hcHBiYXNlLmNwcAotLS0tIGEvc3JjL2NvbW1vbi9hcHBi YXNlLmNwcC5hYmljaGVjawkyMDE1LTAzLTEyIDE3OjE1OjE4LjAwMDAwMDAwMCArMDEwMAotKysr IGIvc3JjL2NvbW1vbi9hcHBiYXNlLmNwcAkyMDE1LTAzLTEyIDE3OjE1OjU3LjAwMDAwMDAwMCAr MDEwMAotQEAgLTQyNCwxMCArNDI0LDcgQEAgYm9vbCB3eEFwcENvbnNvbGU6OkNoZWNrQnVpbGRP cHRpb25zKGNvbgotICAgICAgICAgbXNnLlByaW50ZihfVCgiTWlzbWF0Y2ggYmV0d2VlbiB0aGUg cHJvZ3JhbSBhbmQgbGlicmFyeSBidWlsZCB2ZXJzaW9ucyBkZXRlY3RlZC5cblRoZSBsaWJyYXJ5 IHVzZWQgJXMsXG5hbmQgJXMgdXNlZCAlcy4iKSwKLSAgICAgICAgICAgICAgICAgICAgbGliLmNf c3RyKCksIHByb2dOYW1lLmNfc3RyKCksIHByb2cuY19zdHIoKSk7CitkaWZmIC11cCBhL3NyYy9j b21tb24vYXBwYmFzZS5jcHAgYi9zcmMvY29tbW9uL2FwcGJhc2UuY3BwCistLS0gYS9zcmMvY29t bW9uL2FwcGJhc2UuY3BwCisrKysgYi9zcmMvY29tbW9uL2FwcGJhc2UuY3BwCitAQCAtODUwLDEx ICs4NTAsOCBAQAorICAgICAgICAgd3hTdHJpbmcgcHJvZyA9IHd4U3RyaW5nOjpGcm9tQXNjaWko b3B0aW9uc1NpZ25hdHVyZSk7CisgICAgICAgICB3eFN0cmluZyBwcm9nTmFtZSA9IHd4U3RyaW5n OjpGcm9tQXNjaWkoY29tcG9uZW50TmFtZSk7CiAgCi0tICAgICAgICB3eExvZ0ZhdGFsRXJyb3Io bXNnLmNfc3RyKCkpOworLSAgICAgICAgd3hMb2dGYXRhbEVycm9yKHd4VCgiTWlzbWF0Y2ggYmV0 d2VlbiB0aGUgcHJvZ3JhbSBhbmQgbGlicmFyeSBidWlsZCB2ZXJzaW9ucyBkZXRlY3RlZC5cblRo ZSBsaWJyYXJ5IHVzZWQgJXMsXG5hbmQgJXMgdXNlZCAlcy4iKSwKKysgICAgICAgIHd4TG9nV2Fy bmluZyh3eFQoIk1pc21hdGNoIGJldHdlZW4gdGhlIHByb2dyYW0gYW5kIGxpYnJhcnkgYnVpbGQg dmVyc2lvbnMgZGV0ZWN0ZWQuXG5UaGUgbGlicmFyeSB1c2VkICVzLFxuYW5kICVzIHVzZWQgJXMu IiksCisgICAgICAgICAgICAgICAgICAgICAgICAgbGliLCBwcm9nTmFtZSwgcHJvZyk7CiAtCiAt ICAgICAgICAvLyBub3JtYWxseSB3eExvZ0ZhdGFsRXJyb3IgZG9lc24ndCByZXR1cm4KIC0gICAg ICAgIHJldHVybiBmYWxzZTsKLSsgICAgICAgIHd4TG9nV2FybmluZyhtc2cuY19zdHIoKSk7CiAg ICAgIH0KLSAjdW5kZWYgd3hDTVAKICAKKyAgICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9z cmNwa2dzL3d4V2lkZ2V0cy1ndGszL3RlbXBsYXRlIGIvc3JjcGtncy93eFdpZGdldHMtZ3RrMy90 ZW1wbGF0ZQppbmRleCBhZTUxMDVhODljMTQ1Li4xZWRiZjg4NjI3NTQ0IDEwMDY0NAotLS0gYS9z cmNwa2dzL3d4V2lkZ2V0cy1ndGszL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mvd3hXaWRnZXRzLWd0 azMvdGVtcGxhdGUKQEAgLTEsMzcgKzEsNTQgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3d4V2lk Z2V0cy1ndGszJwogcGtnbmFtZT13eFdpZGdldHMtZ3RrMwotdmVyc2lvbj0zLjAuNS4xCi1yZXZp c2lvbj02Ci1idWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCi1jb25maWd1cmVfYXJncz0iLS13aXRo LWd0az0zIC0tZW5hYmxlLXVuaWNvZGUgLS13aXRoLW9wZW5nbCAtLXdpdGgtc2RsCi0gLS13aXRo LWxpYm1zcGFjayAtLXdpdGgtbGlibm90aWZ5IC0tZW5hYmxlLW1lZGlhY3RybCIKK3ZlcnNpb249 My4yLjIuMQorcmV2aXNpb249MQorYnVpbGRfc3R5bGU9Y21ha2UKK2NtYWtlX2J1aWxkZGlyPSJi dWlsZC1ndGszIgorY29uZmlndXJlX2FyZ3M9Ii1Ed3hCVUlMRF9UT09MS0lUPWd0azMgLUR3eFVT RV9PUEVOR0w9T04gLUR3eFVTRV9MSUJNU1BBQ0s9T04KKyAtRHd4VVNFX0dUS1BSSU5UPU9OIC1E d3hVU0VfVU5JQ09ERT1PTiAtRHd4VVNFX01FRElBQ1RSTD1PTgorIC1Ed3hVU0VfUFJJVkFURV9G T05UUz1PTiAtRHd4VVNFX1JFR0VYPXN5cyAtRHd4VVNFX1pMSUI9c3lzIC1Ed3hVU0VfRVhQQVQ9 c3lzCisgLUR3eFVTRV9MSUJKUEVHPXN5cyAtRHd4VVNFX0xJQlBORz1zeXMgLUR3eFVTRV9MSUJU SUZGPXN5cyAtRHd4VVNFX0xJQkxaTUE9c3lzCisgLUR3eFVTRV9MSUJOT1RJRlk9c3lzIC1Ed3hV U0VfTElCU0RMPXN5cyIKIGhvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyIKIG1ha2VkZXBlbmRz PSJTREwyLWRldmVsIGdzdC1wbHVnaW5zLWJhc2UxLWRldmVsIGdzdHJlYW1lcjEtZGV2ZWwgZ3Rr KzMtZGV2ZWwKLSBsaWJtc3BhY2stZGV2ZWwgbGlibm90aWZ5LWRldmVsIHRpZmYtZGV2ZWwgd2Vi a2l0Mmd0ay1kZXZlbCBnbHUtZGV2ZWwiCi1zaG9ydF9kZXNjPSJUaGUgd3hXaWRnZXRzIEdVSSB0 b29sa2l0IGxpYnJhcnkgY29tcGlsZWQgd2l0aCBndGszIHN1cHBvcnQiCisgbGlibXNwYWNrLWRl dmVsIGxpYm5vdGlmeS1kZXZlbCB0aWZmLWRldmVsIHdlYmtpdDJndGstZGV2ZWwgZ2x1LWRldmVs CisgZ3N0LXBsdWdpbnMtYmFkMS1kZXZlbCBsaWJzZWNyZXQtZGV2ZWwgcGNyZTItZGV2ZWwgbGli bHptYS1kZXZlbCBnc3BlbGwtZGV2ZWwKKyBsaWJjdXJsLWRldmVsIHpsaWItZGV2ZWwgZXhwYXQt ZGV2ZWwgbGlicG5nLWRldmVsIgorc2hvcnRfZGVzYz0iQ3Jvc3MtcGxhdGZvcm0gR1VJIGxpYnJh cnkgKGJ1aWx0IHdpdGggR1RLKyAzLjApIgogbWFpbnRhaW5lcj0iSGVsbXV0IFBvemltc2tpIDxo ZWxtdXRAcG96aW1za2kuZXU+IgogbGljZW5zZT0iY3VzdG9tOnd4V2luZG93cyIKIGhvbWVwYWdl PSJodHRwczovL3d3dy53eHdpZGdldHMub3JnIgogZGlzdGZpbGVzPSJodHRwczovL2dpdGh1Yi5j b20vd3hXaWRnZXRzL3d4V2lkZ2V0cy9yZWxlYXNlcy9kb3dubG9hZC92JHt2ZXJzaW9ufS93eFdp ZGdldHMtJHt2ZXJzaW9ufS50YXIuYnoyIgotY2hlY2tzdW09NDQwZjZlNzNjZjVhZmIyY2JmOWFm MTBjZWM4ZGE2Y2RkM2QzOTk4ZDUyNzU5OGE1M2RiODcwOTk1MjRhYzgwNworY2hlY2tzdW09ZGZm Y2I2YmU3MTI5NmZmZjRiN2Y4ODQwZWIxYjUxMDE3OGY1N2FhMmViMjM2YjIwZGE0MTE4MjAwOTI0 MmMwMgorCitDWFhGTEFHUz0iLURfRklMRV9PRkZTRVRfQklUUz02NCAtRF9MQVJHRUZJTEVfU09V UkNFIgorCitwb3N0X3BhdGNoKCkgeworCWlmIFsgIiR7WEJQU19UQVJHRVRfTElCQ30iID0gIm11 c2wiIF07IHRoZW4KKwkJcGF0Y2ggLU5wMSA8ICIke0ZJTEVTRElSfS9tdXNsLWxvY2FsZS1sLnBh dGNoIgorCWZpCit9CiAKIHBvc3RfaW5zdGFsbCgpIHsKLQlsb2NhbCBfY29uZmlnPSJndGszLXVu aWNvZGUtMy4wIgotCSMgcmVtb3ZlIGFsbCBvY2N1cnJlbmNlcyBvZiAkWEJQU19DUk9TU19UUklQ TEVUIGluIHd4LWNvbmZpZzoKLQkjICAgLSBtYXJrIHRoaXMgYnVpbGQgYXMgbmF0aXZlIGJ1aWxk CisJbG9jYWwgX3BhdGNoPSIke3ZlcnNpb24jKi4qLn0iCisJbG9jYWwgX21ham1pbj0iJHt2ZXJz aW9uJS4iJHtfcGF0Y2h9In0iCisJbG9jYWwgX2NvbmZpZz0iZ3RrMy11bmljb2RlLSR7X21ham1p bn0iCisKIAlpZiBbICIkQ1JPU1NfQlVJTEQiIF07IHRoZW4KLQkJcmVuYW1lICIke1hCUFNfQ1JP U1NfVFJJUExFVH0tIiAiIiBcCi0JCQkke0RFU1RESVJ9L3Vzci9saWIvd3gvY29uZmlnLyogXAot CQkJJHtERVNURElSfS91c3IvbGliL3d4L2luY2x1ZGUvKgotCQlyZW5hbWUgLS0gIi0ke1hCUFNf Q1JPU1NfVFJJUExFVH0iICIiICR7REVTVERJUn0vdXNyL2xpYi8qCisJCSMgUmVtb3ZlICRYQlBT X0NST1NTX1RSSVBMRVQgZnJvbSBjbWFrZSBoZWxwZXIuLi4KKwkJc2VkIC1pIC1lICJzQC91c3Iv JHtYQlBTX0NST1NTX1RSSVBMRVR9QEBnIiBcCisJCQkke0RFU1RESVJ9L3Vzci9saWIvY21ha2Uv d3hXaWRnZXRzL3d4V2lkZ2V0c1RhcmdldHMuY21ha2UKIAotCQlzZWQgLWkgLWUgInMvJHtYQlBT X0NST1NTX1RSSVBMRVR9LS8vZyIgXAotCQkJLWUgInMvLSR7WEJQU19DUk9TU19UUklQTEVUfS8v ZyIgXAotCQkJLWUgInMsJFhCUFNfQ1JPU1NfQkFTRSwsZyIgXAorCQkjIC4uLmFuZCB0aGUgb3V0 cHV0IG9mIHRoZSB3eC1jb25maWcgdXRpbGl0eQorCQlzZWQgLWkgLWUgInNAL3Vzci8ke1hCUFNf Q1JPU1NfVFJJUExFVH1AQGciIFwKKwkJCS1lICJzQC9idWlsZGRpci9bXi9dXCsvd3JhcHBlcnMv JHtYQlBTX0NST1NTX1RSSVBMRVR9LUBAIiBcCiAJCQkke0RFU1RESVJ9L3Vzci9saWIvd3gvY29u ZmlnLyR7X2NvbmZpZ30KIAlmaQorCisJIyBSZW1vdmUgZ2VuZXJpYyB3eC1jb25maWcsIGxpbmsg dG8gdG9vbGtpdC1zcGVjaWZpYyB2ZXJzaW9uCiAJcm0gLWYgJHtERVNURElSfS91c3IvYmluL3d4 LWNvbmZpZwogCWxuIC1zZiAuLi9saWIvd3gvY29uZmlnLyR7X2NvbmZpZ30gJHtERVNURElSfS91 c3IvYmluL3d4LWNvbmZpZy1ndGszCisKIAkjICAgLSBpZ25vcmUgLS1ob3N0IG9wdGlvbjsgYnJl YWtzIGNvbmZpZ3VyZSBzY3JpcHRzIHdoZW4KIAkjICAgICBjcm9zcyBjb21waWxpbmcgKGlzbuKA mXQgbmVjZXNzYXJ5IGluIG91ciBjYXNlIGFueXdheSkKIAlzZWQgLWkgLWUgJ3MsXmJpbmRpcj0u KixiaW5kaXI9JHtleGVjX3ByZWZpeH0vYmluLCcgXApAQCAtMzksMTMgKzU2LDE2IEBAIHBvc3Rf aW5zdGFsbCgpIHsKIAkJLWUgJy8tLVwqPVwqKS9pIC0taG9zdD1cKikgY29udGludWU7OycgXAog CQktZSAicywvdXNyL2xpYixcJHtleGVjX3ByZWZpeH0vbGliLGciIFwKIAkJJERFU1RESVIvdXNy L2xpYi93eC9jb25maWcvJHtfY29uZmlnfQorCisJIyBNYWtlIHN1cmUgdG8gaW5zdGFsbCB0aGUg YXV0b3Rvb2xzIG1hY3JvLCBDTWFrZSBkb2VzIG5vdAorCXZta2RpciB1c3Ivc2hhcmUvYWNsb2Nh bAorCXZpbnN0YWxsIHd4d2luLm00IDY0NCB1c3Ivc2hhcmUvYWNsb2NhbAogfQogCiB3eFdpZGdl dHMtY29tbW9uX3BhY2thZ2UoKSB7CiAJc2hvcnRfZGVzYys9IiAtIGNvbW1vbiBmaWxlcyIKIAlw a2dfaW5zdGFsbCgpIHsKIAkJdm1vdmUgInVzci9saWIvbGlid3hfYmFzZXUqLnNvLioiCi0JCXZt b3ZlIHVzci9zaGFyZQogCQl2bGljZW5zZSBkb2NzL2xpY2VuZG9jLnR4dAogCQl2bGljZW5zZSBk b2NzL2xpY2VuY2UudHh0CiAJfQpAQCAtNTgsNiArNzgsNyBAQCB3eFdpZGdldHMtY29tbW9uLWRl dmVsX3BhY2thZ2UoKSB7CiAJCXZtb3ZlICJ1c3IvYmluL3d4cmMqIgogCQl2bW92ZSAidXNyL2xp Yi9saWJ3eF9iYXNldSouc28iCiAJCXZtb3ZlIHVzci9pbmNsdWRlCisJCXZtb3ZlIHVzci9zaGFy ZS9hY2xvY2FsCiAJfQogfQogCkBAIC02OCw1ICs4OSw2IEBAIHd4V2lkZ2V0cy1ndGszLWRldmVs X3BhY2thZ2UoKSB7CiAJCXZtb3ZlIHVzci9iaW4KIAkJdm1vdmUgInVzci9saWIvKi5zbyIKIAkJ dm1vdmUgdXNyL2xpYi93eAorCQl2bW92ZSB1c3IvbGliL2NtYWtlCiAJfQogfQpkaWZmIC0tZ2l0 IGEvc3JjcGtncy93eFdpZGdldHMtZ3RrMy91cGRhdGUgYi9zcmNwa2dzL3d4V2lkZ2V0cy1ndGsz L3VwZGF0ZQppbmRleCBhYzRjNWYwNDBlYzQ0Li4wNTFiNjc2OTc1MmM2IDEwMDY0NAotLS0gYS9z cmNwa2dzL3d4V2lkZ2V0cy1ndGszL3VwZGF0ZQorKysgYi9zcmNwa2dzL3d4V2lkZ2V0cy1ndGsz L3VwZGF0ZQpAQCAtMSwzICsxIEBACi1zaXRlPSJodHRwczovL2dpdGh1Yi5jb20vd3hXaWRnZXRz L3d4V2lkZ2V0cy9yZWxlYXNlcy9sYXRlc3QiCi0jIGRldmVsb3BtZW50IHZlcnNpb24KLWlnbm9y ZT0nMy4xLionCitwa2duYW1lPXd4V2lkZ2V0cwoKRnJvbSA2NTdjZjFiNmZjMGFiOTc1OWIyZTMz NGI5OTFhNzk5MTE3NmU3OGQzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAiQW5kcmV3 IEouIEhlc2ZvcmQiIDxhamhAc2lkZWJhbmQub3JnPgpEYXRlOiBNb24sIDI1IFNlcCAyMDIzIDA3 OjUzOjE5IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAwNi80M10gd3hQeXRob240OiB1cGRhdGUgdG8g NC4yLjEsIHJlbmFtZSB0byB3eFB5dGhvbgoKLS0tCiBzcmNwa2dzL3d4UHl0aG9uL2ZpbGVzL25v LXN0YWNrdHJhY2UucGF0Y2ggICAgfCAxNSArKysKIHNyY3BrZ3Mve3d4UHl0aG9uNCA9PiB3eFB5 dGhvbn0vdGVtcGxhdGUgICAgICB8IDMyICsrKystLS0KIHNyY3BrZ3Mvd3hQeXRob240ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8ICAxICsKIC4uLmZpZy1ndGszLjAtdG8tYXZvaWQtY29u ZmxpY3Qtd2l0aC13eC5wYXRjaCB8IDUyIC0tLS0tLS0tLS0tCiBzcmNwa2dzL3d4UHl0aG9uNC9w YXRjaGVzL2Nyb3NzLnBhdGNoICAgICAgICAgfCAxMiAtLS0KIHNyY3BrZ3Mvd3hQeXRob240L3Bh dGNoZXMvbnVsbHB0ci1jYXN0LnBhdGNoICB8IDExIC0tLQogc3JjcGtncy93eFB5dGhvbjQvcGF0 Y2hlcy9weXRob24tMy4xMS5wYXRjaCAgIHwgOTIgLS0tLS0tLS0tLS0tLS0tLS0tLQogc3JjcGtn cy93eFB5dGhvbjQvcGF0Y2hlcy9zeW50YXgucGF0Y2ggICAgICAgIHwgMzIgLS0tLS0tLQogc3Jj cGtncy93eFB5dGhvbjQvdXBkYXRlICAgICAgICAgICAgICAgICAgICAgIHwgIDEgLQogOSBmaWxl cyBjaGFuZ2VkLCAzNiBpbnNlcnRpb25zKCspLCAyMTIgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9k ZSAxMDA2NDQgc3JjcGtncy93eFB5dGhvbi9maWxlcy9uby1zdGFja3RyYWNlLnBhdGNoCiByZW5h bWUgc3JjcGtncy97d3hQeXRob240ID0+IHd4UHl0aG9ufS90ZW1wbGF0ZSAoNjglKQogY3JlYXRl IG1vZGUgMTIwMDAwIHNyY3BrZ3Mvd3hQeXRob240CiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtn cy93eFB5dGhvbjQvcGF0Y2hlcy8wMDAxLVN3aXRjaC10by13eC1jb25maWctZ3RrMy4wLXRvLWF2 b2lkLWNvbmZsaWN0LXdpdGgtd3gucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3d4 UHl0aG9uNC9wYXRjaGVzL2Nyb3NzLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy93 eFB5dGhvbjQvcGF0Y2hlcy9udWxscHRyLWNhc3QucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBz cmNwa2dzL3d4UHl0aG9uNC9wYXRjaGVzL3B5dGhvbi0zLjExLnBhdGNoCiBkZWxldGUgbW9kZSAx MDA2NDQgc3JjcGtncy93eFB5dGhvbjQvcGF0Y2hlcy9zeW50YXgucGF0Y2gKIGRlbGV0ZSBtb2Rl IDEwMDY0NCBzcmNwa2dzL3d4UHl0aG9uNC91cGRhdGUKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3d4 UHl0aG9uL2ZpbGVzL25vLXN0YWNrdHJhY2UucGF0Y2ggYi9zcmNwa2dzL3d4UHl0aG9uL2ZpbGVz L25vLXN0YWNrdHJhY2UucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw MDAwMC4uZTY0NTQ4YmVhOGMxNwotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3Mvd3hQeXRob24v ZmlsZXMvbm8tc3RhY2t0cmFjZS5wYXRjaApAQCAtMCwwICsxLDE1IEBACitUYWtlbiBmcm9tIEFs cGluZToKKworaHR0cHM6Ly9naXQuYWxwaW5lbGludXgub3JnL2Fwb3J0cy9wbGFpbi9jb21tdW5p dHkvcHkzLXd4cHl0aG9uL25vLXN0YWNrdHJhY2UucGF0Y2gKKworLS0tIGEvc2lwL2NwcC9zaXBf Y29yZXd4QXBwVHJhaXRzLmNwcAorKysrIGIvc2lwL2NwcC9zaXBfY29yZXd4QXBwVHJhaXRzLmNw cAorQEAgLTQ3MSw3ICs0NzEsNyBAQAorICAgICAgICAgICAgIFB5RXJyX0NsZWFyKCk7CisgCisg ICAgICAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworLSAgICAgICAgICAgIHNpcFJlcyA9 IG5ldyAgOjp3eFN0cmluZygoc2lwU2VsZldhc0FyZyA/IHNpcENwcC0+IDo6d3hBcHBUcmFpdHM6 OkdldEFzc2VydFN0YWNrVHJhY2UoKSA6IHNpcENwcC0+R2V0QXNzZXJ0U3RhY2tUcmFjZSgpKSk7 CisrICAgICAgICAgICAgc2lwUmVzID0gbmV3ICA6Ond4U3RyaW5nKCIiKTsKKyAgICAgICAgICAg ICBQeV9FTkRfQUxMT1dfVEhSRUFEUworIAorICAgICAgICAgICAgIGlmIChQeUVycl9PY2N1cnJl ZCgpKQpkaWZmIC0tZ2l0IGEvc3JjcGtncy93eFB5dGhvbjQvdGVtcGxhdGUgYi9zcmNwa2dzL3d4 UHl0aG9uL3RlbXBsYXRlCnNpbWlsYXJpdHkgaW5kZXggNjglCnJlbmFtZSBmcm9tIHNyY3BrZ3Mv d3hQeXRob240L3RlbXBsYXRlCnJlbmFtZSB0byBzcmNwa2dzL3d4UHl0aG9uL3RlbXBsYXRlCmlu ZGV4IGUwZWRmNmZiOTQ1MmYuLjgxNWVlMDM4MmNiNTkgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mvd3hQ eXRob240L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mvd3hQeXRob24vdGVtcGxhdGUKQEAgLTEsNyAr MSw3IEBACi0jIFRlbXBsYXRlIGZpbGUgZm9yICd3eFB5dGhvbjQnCi1wa2duYW1lPXd4UHl0aG9u NAotdmVyc2lvbj00LjAuNwotcmV2aXNpb249NworIyBUZW1wbGF0ZSBmaWxlIGZvciAnd3hQeXRo b24nCitwa2duYW1lPXd4UHl0aG9uCit2ZXJzaW9uPTQuMi4xCityZXZpc2lvbj0xCiBidWlsZF9z dHlsZT1weXRob24zLW1vZHVsZQogbWFrZV9idWlsZF9hcmdzPSItLXNraXAtYnVpbGQiCiBtYWtl X2luc3RhbGxfYXJncz0iLS1za2lwLWJ1aWxkIgpAQCAtOSwyMyArOSwyNSBAQCBob3N0bWFrZWRl cGVuZHM9InBrZy1jb25maWcgcHl0aG9uMy1zZXR1cHRvb2xzIHB5dGhvbjMtcGF0aGxpYjIiCiBt YWtlZGVwZW5kcz0icHl0aG9uMy1kZXZlbCB3eFdpZGdldHMtZ3RrMy1kZXZlbCBTREwyLWRldmVs IHdlYmtpdDJndGstZGV2ZWwKICBnc3QtcGx1Z2lucy1iYXNlMS1kZXZlbCIKIGRlcGVuZHM9InB5 dGhvbjMgcHl0aG9uMy1zaXggcHl0aG9uMy1udW1weSBweXRob24zLVBpbGxvdyIKLXNob3J0X2Rl c2M9Ild4V2lkZ2V0cyBHVUkgdG9vbGtpdCBsaWJyYXJ5IChQeXRob24zIEJpbmRpbmdzKSIKK3No b3J0X2Rlc2M9IlB5dGhvbiBiaW5kaW5ncyBmb3Igd3hXaWRnZXRzIgogbWFpbnRhaW5lcj0iT3Jw aGFuZWQgPG9ycGhhbkB2b2lkbGludXgub3JnPiIKIGxpY2Vuc2U9ImN1c3RvbTp3eFdpbmRvd3Mi CiBob21lcGFnZT0iaHR0cDovL3d3dy53eHB5dGhvbi5vcmcvIgogZGlzdGZpbGVzPSIke1BZUElf U0lURX0vdy93eFB5dGhvbi93eFB5dGhvbi0ke3ZlcnNpb259LnRhci5neiIKLWNoZWNrc3VtPTNi ZTYwOGJmZGVkZTMwNjM2NzhjYzcwMzQ1Mzg1MGFiMGEwMThiODJiYWZkNWVlMDU3MzAyMjUwYjE4 ZjAyMzMKK2NoZWNrc3VtPWU0OGRlMjExYTY2MDZiZjA3MmVjM2ZhNzc4NzcxZDZiNzQ2YzAwYjdm NGI5NzBlYjU4NzI4ZGRmNTZkMTNkNWMKIAorZXhwb3J0IFdYUFlUSE9OX1JFTEVBU0U9eWVzCiBp ZiBbICIkQ1JPU1NfQlVJTEQiIF07IHRoZW4KIAlDRkxBR1M9Ii1JJHtYQlBTX0NST1NTX0JBU0V9 LyR7cHkzX2luY30gLUkke1hCUFNfQ1JPU1NfQkFTRX0vdXNyL2luY2x1ZGUiCisJZXhwb3J0IFdY X0NPTkZJRz0iJHtYQlBTX1dSQVBQRVJESVJ9L3d4LWNvbmZpZy1ndGszIgorZWxzZQorCWV4cG9y dCBXWF9DT05GSUc9d3gtY29uZmlnLWd0azMKIGZpCiAKLXByZV9wYXRjaCgpIHsKLQkjIG5lZWQg dG8gcGF0Y2ggZm9yIFB5dGhvbiAzLjExLCBleHRyYWN0IHRoZW0gbm93LgotCWNkIGJpbgotCXNl ZCAnL19fbmFtZV9fLipfX21haW5fXy9pIHN5cy5leGl0KDApJyB3YWYtKiA+dG1wLXdhZgotCXB5 dGhvbjMgdG1wLXdhZgotCWxuIC1zIC53YWYzLSogLndhZjMKK3Bvc3RfcGF0Y2goKSB7CisJaWYg WyAiJFhCUFNfVEFSR0VUX0xJQkMiID0gIm11c2wiIF07IHRoZW4KKwkJcGF0Y2ggLU5wMSA8ICIk e0ZJTEVTRElSfS9uby1zdGFja3RyYWNlLnBhdGNoIgorCWZpCiB9CiAKIHByZV9idWlsZCgpIHsK QEAgLTQ4LDMgKzUwLDkgQEAgcHJlX2J1aWxkKCkgewogcG9zdF9pbnN0YWxsKCkgewogCXZsaWNl bnNlIExJQ0VOU0UudHh0CiB9CisKK3d4UHl0aG9uNF9wYWNrYWdlKCkgeworCWJ1aWxkX3N0eWxl PW1ldGEKKwlzaG9ydF9kZXNjKz0iIC0gdHJhbnNpdGlvbmFsIGR1bW15IHBhY2thZ2UiCisJZGVw ZW5kcz0iJHtzb3VyY2Vwa2d9Pj0ke3ZlcnNpb259XyR7cmV2aXNpb259IgorfQpkaWZmIC0tZ2l0 IGEvc3JjcGtncy93eFB5dGhvbjQgYi9zcmNwa2dzL3d4UHl0aG9uNApuZXcgZmlsZSBtb2RlIDEy MDAwMAppbmRleCAwMDAwMDAwMDAwMDAwLi5lMzk2ZDVhZTM3MGQ2Ci0tLSAvZGV2L251bGwKKysr IGIvc3JjcGtncy93eFB5dGhvbjQKQEAgLTAsMCArMSBAQAord3hQeXRob24KXCBObyBuZXdsaW5l IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmNwa2dzL3d4UHl0aG9uNC9wYXRjaGVzLzAw MDEtU3dpdGNoLXRvLXd4LWNvbmZpZy1ndGszLjAtdG8tYXZvaWQtY29uZmxpY3Qtd2l0aC13eC5w YXRjaCBiL3NyY3BrZ3Mvd3hQeXRob240L3BhdGNoZXMvMDAwMS1Td2l0Y2gtdG8td3gtY29uZmln LWd0azMuMC10by1hdm9pZC1jb25mbGljdC13aXRoLXd4LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCA3MmE2NzhkYTc4NTg5Li4wMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3Mv d3hQeXRob240L3BhdGNoZXMvMDAwMS1Td2l0Y2gtdG8td3gtY29uZmlnLWd0azMuMC10by1hdm9p ZC1jb25mbGljdC13aXRoLXd4LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTIgKzAsMCBAQAot RnJvbSBjZGRiZTNiM2IyMzdiOGU2M2FiZDg5MjFmZGIyMDMxNGMyMGMyYzA4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQotRnJvbTogSmFzcGVyIENoYW4gPGphc3BlcmNoYW41MTVAZ21haWwuY29t PgotRGF0ZTogU2F0LCAyMiBTZXAgMjAxOCAyMDo1OToyOSAtMDcwMAotU3ViamVjdDogW1BBVENI XSBTd2l0Y2ggdG8gd3gtY29uZmlnLWd0azMgdG8gYXZvaWQgY29uZmxpY3Qgd2l0aAotIHd4V2lk Z2V0cy1ndGsyCi0KLS0tLQotIGJ1aWxkLnB5IHwgMTAgKysrKystLS0tLQotIDEgZmlsZSBjaGFu Z2VkLCA1IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYnVpbGQu cHkgYnVpbGQucHkKLWluZGV4IDNjZDViODI4Li41N2RiZDM4NCAxMDA3NTUKLS0tLSBhL2J1aWxk LnB5Ci0rKysgYi9idWlsZC5weQotQEAgLTQwMCw3ICs0MDAsNyBAQCBkZWYgbWFrZU9wdGlvblBh cnNlcigpOgotICAgICAgICAgKCJtYWNfYXJjaCIsICAgICAgICgiIiwgICAgIkNvbW1hIHNlcGFy YXRlZCBsaXN0IG9mIGFyY2hpdGVjdHVyZXMgdG8gYnVpbGQgb24gTWFjIikpLAotIAotICAgICAg ICAgKCJ1c2Vfc3lzd3giLCAgICAgIChGYWxzZSwgIlRyeSB0byB1c2UgYW4gaW5zdGFsbGVkIHd4 IHJhdGhlciB0aGFuIGJ1aWxkaW5nIHRoZSAiCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAib25lIGluIHRoaXMgc291cmNlIHRyZWUuICBUaGUgd3gtY29uZmlnIGluIHtwcmVm aXh9L2JpbiAiCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib25lIGluIHRo aXMgc291cmNlIHRyZWUuICBUaGUgd3gtY29uZmlnLWd0azMgaW4ge3ByZWZpeH0vYmluICIKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvciB0aGUgZmlyc3QgZm91bmQgb24g dGhlIFBBVEggZGV0ZXJtaW5lcyB3aGljaCB3eCBpcyAiCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAidXNlZC4gIEltcGxpZXMgLS1ub19tYWdpYy4iKSksCi0gICAgICAgICAo ImZvcmNlX2NvbmZpZyIsICAgKEZhbHNlLCAiUnVuIGNvbmZpZ3VyZSB3aGVuIGJ1aWxkaW5nIGV2 ZW4gaWYgdGhlIHNjcmlwdCAiCi1AQCAtMTI3MSw3ICsxMjcxLDcgQEAgZGVmIGNtZF9idWlsZF93 eChvcHRpb25zLCBhcmdzKToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9zLnBhdGgu am9pbih3eERpcigpLCAnY29uZmlndXJlJyksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBvcy5wYXRoLmpvaW4od3hEaXIoKSwgJ3NldHVwLmguaW4nKSwKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIG9zLnBhdGguam9pbih3eERpcigpLCAndmVyc2lvbi1zY3JpcHQuaW4nKSwK LS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9zLnBhdGguam9pbih3eERpcigpLCAnd3gt Y29uZmlnLmluJyksCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcy5wYXRoLmpvaW4o d3hEaXIoKSwgJ3d4LWNvbmZpZy1ndGszLmluJyksCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBdCi0gICAgICAgICAgICAgZm9yIGRlcCBpbiBkZXBlbmRlbmNpZXM6Ci0gICAgICAgICAg ICAgICAgIGlmIG5ld2VyKGRlcCwgb3MucGF0aC5qb2luKEJVSUxEX0RJUiwgIk1ha2VmaWxlIikp OgotQEAgLTE0MjQsMTMgKzE0MjQsMTMgQEAgZGVmIGNtZF9idWlsZF9weShvcHRpb25zLCBhcmdz KToKLSAgICAgICAgIG9zLmVudmlyb25bJ1dYUFlUSE9OX1JFTEVBU0UnXSA9ICd5ZXMnCi0gCi0g ICAgIGlmIG5vdCBpc1dpbmRvd3M6Ci0tICAgICAgICBXWF9DT05GSUcgPSBwb3NpeGpvaW4oQlVJ TERfRElSLCAnd3gtY29uZmlnJykKLSsgICAgICAgIFdYX0NPTkZJRyA9IHBvc2l4am9pbihCVUlM RF9ESVIsICd3eC1jb25maWctZ3RrMycpCi0gICAgICAgICBpZiBvcHRpb25zLnVzZV9zeXN3eDoK LS0gICAgICAgICAgICB3eGNmZyA9IHBvc2l4am9pbihvcHRpb25zLnByZWZpeCwgJ2JpbicsICd3 eC1jb25maWcnKQotKyAgICAgICAgICAgIHd4Y2ZnID0gcG9zaXhqb2luKG9wdGlvbnMucHJlZml4 LCAnYmluJywgJ3d4LWNvbmZpZy1ndGszJykKLSAgICAgICAgICAgICBpZiBvcHRpb25zLnByZWZp eCBhbmQgb3MucGF0aC5leGlzdHMod3hjZmcpOgotICAgICAgICAgICAgICAgICBXWF9DT05GSUcg PSB3eGNmZwotICAgICAgICAgICAgIGVsc2U6Ci0tICAgICAgICAgICAgICAgIFdYX0NPTkZJRyA9 ICd3eC1jb25maWcnICMgaG9wZSBpdCBpcyBvbiB0aGUgUEFUSAotKyAgICAgICAgICAgICAgICBX WF9DT05GSUcgPSAnd3gtY29uZmlnLWd0azMnICMgaG9wZSBpdCBpcyBvbiB0aGUgUEFUSAotIAot IAotICAgICB3YWZCdWlsZEJhc2UgPSB3YWZCdWlsZERpciA9IGdldFdhZkJ1aWxkQmFzZSgpCi0t LSAKLTIuMTkuMAotCmRpZmYgLS1naXQgYS9zcmNwa2dzL3d4UHl0aG9uNC9wYXRjaGVzL2Nyb3Nz LnBhdGNoIGIvc3JjcGtncy93eFB5dGhvbjQvcGF0Y2hlcy9jcm9zcy5wYXRjaApkZWxldGVkIGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggNGYzNDNkZTIwMWNiMC4uMDAwMDAwMDAwMDAwMAotLS0gYS9z cmNwa2dzL3d4UHl0aG9uNC9wYXRjaGVzL2Nyb3NzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEs MTIgKzAsMCBAQAotSW5kZXg6IHd4UHl0aG9uLTQuMC43L2J1aWxkLnB5Ci09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LS0gd3hQeXRob24tNC4wLjcub3JpZy9idWlsZC5weQotKysrIHd4UHl0aG9uLTQuMC43L2J1aWxk LnB5Ci1AQCAtMTY5LDcgKzE2OSw2IEBAIGRlZiBtYWluKGFyZ3MpOgotICAgICBzZXRQeXRob25W ZXJzaW9uKGFyZ3MpCi0gICAgIHNldERldk1vZGVPcHRpb25zKGFyZ3MpCi0gCi0tICAgIG9zLmVu dmlyb25bJ1BZVEhPTlBBVEgnXSA9IHBob2VuaXhEaXIoKQotICAgICBvcy5lbnZpcm9uWydQWVRI T05VTkJVRkZFUkVEJ10gPSAneWVzJwotICAgICBvcy5lbnZpcm9uWydXWFdJTiddID0gd3hEaXIo KQotIApkaWZmIC0tZ2l0IGEvc3JjcGtncy93eFB5dGhvbjQvcGF0Y2hlcy9udWxscHRyLWNhc3Qu cGF0Y2ggYi9zcmNwa2dzL3d4UHl0aG9uNC9wYXRjaGVzL251bGxwdHItY2FzdC5wYXRjaApkZWxl dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDkzNTFjNzE0YjRmYy4uMDAwMDAwMDAwMDAwMAot LS0gYS9zcmNwa2dzL3d4UHl0aG9uNC9wYXRjaGVzL251bGxwdHItY2FzdC5wYXRjaAorKysgL2Rl di9udWxsCkBAIC0xLDExICswLDAgQEAKLS0tLSBhL3NpcC9jcHAvc2lwX3Byb3Bncmlkd3hQR1By b3BBcmdDbHMuY3BwCi0rKysgYi9zaXAvY3BwL3NpcF9wcm9wZ3JpZHd4UEdQcm9wQXJnQ2xzLmNw cAotQEAgLTMxNyw3ICszMTcsNyBAQCBzdGF0aWMgaW50IGNvbnZlcnRUb193eFBHUHJvcEFyZ0Ns cyhQeU9iCi0gICAgICAgICAgICAgcmV0dXJuIHNpcEdldFN0YXRlKHNpcFRyYW5zZmVyT2JqKTsK LSAgICAgICAgIH0KLSAgICAgICAgIGVsc2UgaWYgKHNpcFB5ID09IFB5X05vbmUpIHsKLS0gICAg ICAgICAgICAqc2lwQ3BwUHRyID0gbmV3IHd4UEdQcm9wQXJnQ2xzKHJlaW50ZXJwcmV0X2Nhc3Q8 IHd4UEdQcm9wZXJ0eSAqID4oTlVMTCkpOwotKyAgICAgICAgICAgICpzaXBDcHBQdHIgPSBuZXcg d3hQR1Byb3BBcmdDbHMoc3RhdGljX2Nhc3Q8IHd4UEdQcm9wZXJ0eSAqID4oTlVMTCkpOwotICAg ICAgICAgICAgIHJldHVybiBzaXBHZXRTdGF0ZShzaXBUcmFuc2Zlck9iaik7Ci0gICAgICAgICB9 Ci0gICAgICAgICBlbHNlIHsKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvd3hQeXRob240L3BhdGNoZXMv cHl0aG9uLTMuMTEucGF0Y2ggYi9zcmNwa2dzL3d4UHl0aG9uNC9wYXRjaGVzL3B5dGhvbi0zLjEx LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNTQ5NmJkZWNiY2EwLi4wMDAw MDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3Mvd3hQeXRob240L3BhdGNoZXMvcHl0aG9uLTMuMTEucGF0 Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw5MiArMCwwIEBACi1kaWZmIC11ciB3eFB5dGhvbi00LjAu Ny5vcmlnL2Jpbi8ud2FmMy93YWZsaWIvQ29uZmlnU2V0LnB5IHd4UHl0aG9uLTQuMC43L2Jpbi8u d2FmMy93YWZsaWIvQ29uZmlnU2V0LnB5Ci0tLS0gd3hQeXRob24tNC4wLjcub3JpZy9iaW4vLndh ZjMvd2FmbGliL0NvbmZpZ1NldC5weQotKysrIHd4UHl0aG9uLTQuMC43L2Jpbi8ud2FmMy93YWZs aWIvQ29uZmlnU2V0LnB5Ci1AQCAtMTQ2LDcgKzE0Niw3IEBACi0gCQlVdGlscy53cml0ZWYoZmls ZW5hbWUsJycuam9pbihidWYpKQotIAlkZWYgbG9hZChzZWxmLGZpbGVuYW1lKToKLSAJCXRibD1z ZWxmLnRhYmxlCi0tCQljb2RlPVV0aWxzLnJlYWRmKGZpbGVuYW1lLG09J3JVJykKLSsJCWNvZGU9 VXRpbHMucmVhZGYoZmlsZW5hbWUsbT0ncicpCi0gCQlmb3IgbSBpbiByZV9pbXAuZmluZGl0ZXIo Y29kZSk6Ci0gCQkJZz1tLmdyb3VwCi0gCQkJdGJsW2coMildPWV2YWwoZygzKSkKLWRpZmYgLXVy IHd4UHl0aG9uLTQuMC43Lm9yaWcvYmluLy53YWYzL3dhZmxpYi9Db250ZXh0LnB5IHd4UHl0aG9u LTQuMC43L2Jpbi8ud2FmMy93YWZsaWIvQ29udGV4dC5weQotLS0tIHd4UHl0aG9uLTQuMC43Lm9y aWcvYmluLy53YWYzL3dhZmxpYi9Db250ZXh0LnB5Ci0rKysgd3hQeXRob24tNC4wLjcvYmluLy53 YWYzL3dhZmxpYi9Db250ZXh0LnB5Ci1AQCAtMTA2LDcgKzEwNiw3IEBACi0gCQkJCWNhY2hlW25v ZGVdPVRydWUKLSAJCQkJc2VsZi5wcmVfcmVjdXJzZShub2RlKQotIAkJCQl0cnk6Ci0tCQkJCQlm dW5jdGlvbl9jb2RlPW5vZGUucmVhZCgnclUnLGVuY29kaW5nKQotKwkJCQkJZnVuY3Rpb25fY29k ZT1ub2RlLnJlYWQoJ3InLGVuY29kaW5nKQotIAkJCQkJZXhlYyhjb21waWxlKGZ1bmN0aW9uX2Nv ZGUsbm9kZS5hYnNwYXRoKCksJ2V4ZWMnKSxzZWxmLmV4ZWNfZGljdCkKLSAJCQkJZmluYWxseToK LSAJCQkJCXNlbGYucG9zdF9yZWN1cnNlKG5vZGUpCi1AQCAtMzQ2LDcgKzM0Niw3IEBACi0gCQlw YXNzCi0gCW1vZHVsZT1pbXAubmV3X21vZHVsZShXU0NSSVBUX0ZJTEUpCi0gCXRyeToKLS0JCWNv ZGU9VXRpbHMucmVhZGYocGF0aCxtPSdyVScsZW5jb2Rpbmc9ZW5jb2RpbmcpCi0rCQljb2RlPVV0 aWxzLnJlYWRmKHBhdGgsbT0ncicsZW5jb2Rpbmc9ZW5jb2RpbmcpCi0gCWV4Y2VwdCBFbnZpcm9u bWVudEVycm9yOgotIAkJcmFpc2UgRXJyb3JzLldhZkVycm9yKCdDb3VsZCBub3QgcmVhZCB0aGUg ZmlsZSAlciclcGF0aCkKLSAJbW9kdWxlX2Rpcj1vcy5wYXRoLmRpcm5hbWUocGF0aCkKLWRpZmYg LXVyIHd4UHl0aG9uLTQuMC43Lm9yaWcvYmluLy53YWYzL3dhZmxpYi9Ub29scy9weXRob24ucHkg d3hQeXRob24tNC4wLjcvYmluLy53YWYzL3dhZmxpYi9Ub29scy9weXRob24ucHkKLS0tLSB3eFB5 dGhvbi00LjAuNy5vcmlnL2Jpbi8ud2FmMy93YWZsaWIvVG9vbHMvcHl0aG9uLnB5Ci0rKysgd3hQ eXRob24tNC4wLjcvYmluLy53YWYzL3dhZmxpYi9Ub29scy9weXRob24ucHkKLUBAIC0yMDcsNyAr MjA3LDcgQEAKLSAJeD0nTUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUJwotIAlpZiBkY3RbeF06Ci0g CQllbnZbeF09Y29uZi5lbnZpcm9uW3hdPWRjdFt4XQotLQllbnYucHlleHRfUEFUVEVSTj0nJXMn K2RjdFsnU08nXQotKwllbnYucHlleHRfUEFUVEVSTj0nJXMuc28nCi0gCW51bT0nLicuam9pbihl bnYuUFlUSE9OX1ZFUlNJT04uc3BsaXQoJy4nKVs6Ml0pCi0gCWNvbmYuZmluZF9wcm9ncmFtKFsn Jy5qb2luKHB5YmluKSsnLWNvbmZpZycsJ3B5dGhvbiVzLWNvbmZpZyclbnVtLCdweXRob24tY29u ZmlnLSVzJyVudW0sJ3B5dGhvbiVzbS1jb25maWcnJW51bV0sdmFyPSdQWVRIT05fQ09ORklHJyxt c2c9InB5dGhvbi1jb25maWciLG1hbmRhdG9yeT1GYWxzZSkKLSAJaWYgZW52LlBZVEhPTl9DT05G SUc6Ci1kaWZmIC11ciB3eFB5dGhvbi00LjAuNy5vcmlnL3NpcC9zaXBsaWIvc2lwLmggd3hQeXRo b24tNC4wLjcvc2lwL3NpcGxpYi9zaXAuaAotLS0tIHd4UHl0aG9uLTQuMC43Lm9yaWcvc2lwL3Np cGxpYi9zaXAuaAotKysrIHd4UHl0aG9uLTQuMC43L3NpcC9zaXBsaWIvc2lwLmgKLUBAIC0xNzk0 LDcgKzE3OTQsNyBAQAotICAgICBpbnQgKCphcGlfZ2V0X3RpbWUpKFB5T2JqZWN0ICosIHNpcFRp bWVEZWYgKik7Ci0gICAgIFB5T2JqZWN0ICooKmFwaV9mcm9tX3RpbWUpKGNvbnN0IHNpcFRpbWVE ZWYgKik7Ci0gICAgIGludCAoKmFwaV9pc191c2VyX3R5cGUpKGNvbnN0IHNpcFdyYXBwZXJUeXBl ICopOwotLSAgICBzdHJ1Y3QgX2ZyYW1lICooKmFwaV9nZXRfZnJhbWUpKGludCk7Ci0rICAgIFB5 RnJhbWVPYmplY3QgKigqYXBpX2dldF9mcmFtZSkoaW50KTsKLSAgICAgaW50ICgqYXBpX2NoZWNr X3BsdWdpbl9mb3JfdHlwZSkoY29uc3Qgc2lwVHlwZURlZiAqLCBjb25zdCBjaGFyICopOwotICAg ICBQeU9iamVjdCAqKCphcGlfdW5pY29kZV9uZXcpKFNJUF9TU0laRV9ULCB1bnNpZ25lZCwgaW50 ICosIHZvaWQgKiopOwotICAgICB2b2lkICgqYXBpX3VuaWNvZGVfd3JpdGUpKGludCwgdm9pZCAq LCBpbnQsIHVuc2lnbmVkKTsKLWRpZmYgLXVyIHd4UHl0aG9uLTQuMC43Lm9yaWcvc2lwL3NpcGxp Yi9zaXBsaWIuYyB3eFB5dGhvbi00LjAuNy9zaXAvc2lwbGliL3NpcGxpYi5jCi0tLS0gd3hQeXRo b24tNC4wLjcub3JpZy9zaXAvc2lwbGliL3NpcGxpYi5jCi0rKysgd3hQeXRob24tNC4wLjcvc2lw L3NpcGxpYi9zaXBsaWIuYwotQEAgLTQzOSw3ICs0MzksNyBAQAotIHN0YXRpYyBpbnQgc2lwX2Fw aV9nZXRfdGltZShQeU9iamVjdCAqb2JqLCBzaXBUaW1lRGVmICp0aW1lKTsKLSBzdGF0aWMgUHlP YmplY3QgKnNpcF9hcGlfZnJvbV90aW1lKGNvbnN0IHNpcFRpbWVEZWYgKnRpbWUpOwotIHN0YXRp YyBpbnQgc2lwX2FwaV9pc191c2VyX3R5cGUoY29uc3Qgc2lwV3JhcHBlclR5cGUgKnd0KTsKLS1z dGF0aWMgc3RydWN0IF9mcmFtZSAqc2lwX2FwaV9nZXRfZnJhbWUoaW50KTsKLStzdGF0aWMgUHlG cmFtZU9iamVjdCAqc2lwX2FwaV9nZXRfZnJhbWUoaW50KTsKLSBzdGF0aWMgaW50IHNpcF9hcGlf Y2hlY2tfcGx1Z2luX2Zvcl90eXBlKGNvbnN0IHNpcFR5cGVEZWYgKnRkLAotICAgICAgICAgY29u c3QgY2hhciAqbmFtZSk7Ci0gc3RhdGljIFB5T2JqZWN0ICpzaXBfYXBpX3VuaWNvZGVfbmV3KFNJ UF9TU0laRV9UIGxlbiwgdW5zaWduZWQgbWF4Y2hhciwKLUBAIC0xMzY4OCwxNSArMTM2ODgsMTkg QEAKLSAvKgotICAqIFJldHVybiBhIGZyYW1lIGZyb20gdGhlIGV4ZWN1dGlvbiBzdGFjay4KLSAg Ki8KLS1zdGF0aWMgc3RydWN0IF9mcmFtZSAqc2lwX2FwaV9nZXRfZnJhbWUoaW50IGRlcHRoKQot K3N0YXRpYyBQeUZyYW1lT2JqZWN0ICpzaXBfYXBpX2dldF9mcmFtZShpbnQgZGVwdGgpCi0gewot LSAgICBzdHJ1Y3QgX2ZyYW1lICpmcmFtZSA9IFB5RXZhbF9HZXRGcmFtZSgpOwotKyAgICBQeUZy YW1lT2JqZWN0ICpmcmFtZSA9IFB5RXZhbF9HZXRGcmFtZSgpOwotKyAgICBQeV9YSU5DUkVGKGZy YW1lKTsKLSAKLSAgICAgd2hpbGUgKGZyYW1lICE9IE5VTEwgJiYgZGVwdGggPiAwKQotICAgICB7 Ci0tICAgICAgICBmcmFtZSA9IGZyYW1lLT5mX2JhY2s7Ci0rICAgICAgICBQeUZyYW1lT2JqZWN0 ICpvZnJhbWUgPSBmcmFtZTsKLSsgICAgICAgIGZyYW1lID0gUHlGcmFtZV9HZXRCYWNrKGZyYW1l KTsKLSsgICAgICAgIFB5X0RFQ1JFRihvZnJhbWUpOwotICAgICAgICAgLS1kZXB0aDsKLSAgICAg fQotKyAgICBQeV9YREVDUkVGKGZyYW1lKTsKLSAKLSAgICAgcmV0dXJuIGZyYW1lOwotIH0KZGlm ZiAtLWdpdCBhL3NyY3BrZ3Mvd3hQeXRob240L3BhdGNoZXMvc3ludGF4LnBhdGNoIGIvc3JjcGtn cy93eFB5dGhvbjQvcGF0Y2hlcy9zeW50YXgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDg2MjkzNGY5OTYxNTkuLjAwMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy93eFB5dGhv bjQvcGF0Y2hlcy9zeW50YXgucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMiArMCwwIEBACi1J bmRleDogd3hQeXRob24tNC4wLjcvd3gvbGliL21hc2tlZC9tYXNrZWRlZGl0LnB5Ci09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLS0gd3hQeXRob24tNC4wLjcub3JpZy93eC9saWIvbWFza2VkL21hc2tlZGVkaXQucHkK LSsrKyB3eFB5dGhvbi00LjAuNy93eC9saWIvbWFza2VkL21hc2tlZGVkaXQucHkKLUBAIC0yNjQ1 LDcgKzI2NDUsNyBAQCBjbGFzcyBNYXNrZWRFZGl0TWl4aW46Ci0gICAgICAgICAgICAgICAgICAg ICAgICAgcmFpc2UgdmUKLSAgICAgICAgICAgICAgICAgICAgIGVsaWYgcmVwbGFjZV90byA+IGVu ZDoKLSAjIyMjICAgICAgICAgICAgICAgICAgICAgICAgZGJnKGluZGVudD0wKQotLSAgICAgICAg ICAgICAgICAgICAgICAgIHZlID0gVmFsdWVFcnJvcignIiVzIiB3aWxsIG5vdCBmaXQgaW50byBm aWVsZCAlZCBvZiBjb250cm9sICIlcyInIChjaG9pY2UsIGluZGV4LCBzZWxmLm5hbWUpKQotKyAg ICAgICAgICAgICAgICAgICAgICAgIHZlID0gVmFsdWVFcnJvcignIiVzIiB3aWxsIG5vdCBmaXQg aW50byBmaWVsZCAlZCBvZiBjb250cm9sICIlcyInICUgKGNob2ljZSwgaW5kZXgsIHNlbGYubmFt ZSkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgdmUudmFsdWUgPSBjaG9pY2UKLSAgICAgICAg ICAgICAgICAgICAgICAgICB2ZS5pbmRleCA9IGluZGV4Ci0gICAgICAgICAgICAgICAgICAgICAg ICAgcmFpc2UgdmUKLUluZGV4OiB3eFB5dGhvbi00LjAuNy93eC9saWIvcGxvdC9wbG90Y2FudmFz LnB5Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLS0gd3hQeXRob24tNC4wLjcub3JpZy93eC9saWIvcGxvdC9wbG90 Y2FudmFzLnB5Ci0rKysgd3hQeXRob24tNC4wLjcvd3gvbGliL3Bsb3QvcGxvdGNhbnZhcy5weQot QEAgLTE4NTIsMTIgKzE4NTIsMTIgQEAgY2xhc3MgUGxvdENhbnZhcyh3eC5QYW5lbCk6Ci0gICAg ICAgICAjIEdldCB0aWNrcyBhbmQgdGV4dEV4dGVudHMgZm9yIGF4aXMgaWYgcmVxdWlyZWQKLSAg ICAgICAgIHh0aWNrcyA9IHl0aWNrcyA9IE5vbmUKLSAgICAgICAgIHhUZXh0RXh0ZW50ID0geVRl eHRFeHRlbnQgPSAoMCwgMCkgICMgTm8gdGV4dCBmb3IgdGlja3MKLS0gICAgICAgIGlmIHNlbGYu X3hTcGVjIGlzIG5vdCAnbm9uZSc6Ci0rICAgICAgICBpZiBzZWxmLl94U3BlYyAhPSAnbm9uZSc6 Ci0gICAgICAgICAgICAgeHRpY2tzID0gc2VsZi5feHRpY2tzKHhBeGlzWzBdLCB4QXhpc1sxXSkK LSAgICAgICAgICAgICAjIHcgaCBvZiB4IGF4aXMgdGV4dCBsYXN0IG51bWJlciBvbiBheGlzCi0g ICAgICAgICAgICAgeFRleHRFeHRlbnQgPSBkYy5HZXRUZXh0RXh0ZW50KHh0aWNrc1stMV1bMV0p Ci0gCi0tICAgICAgICBpZiBzZWxmLl95U3BlYyBpcyBub3QgJ25vbmUnOgotKyAgICAgICAgaWYg c2VsZi5feVNwZWMgIT0gJ25vbmUnOgotICAgICAgICAgICAgIHl0aWNrcyA9IHNlbGYuX3l0aWNr cyh5QXhpc1swXSwgeUF4aXNbMV0pCi0gICAgICAgICAgICAgaWYgc2VsZi5sb2dTY2FsZVsxXToK LSAgICAgICAgICAgICAgICAgIyBtYWtlIHN1cmUgd2UgaGF2ZSBlbm91Z2ggcm9vbSB0byBkaXNw bGF5IFNJIG5vdGF0aW9uLgpkaWZmIC0tZ2l0IGEvc3JjcGtncy93eFB5dGhvbjQvdXBkYXRlIGIv c3JjcGtncy93eFB5dGhvbjQvdXBkYXRlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAx NTI3MzQyMjUwZjY2Li4wMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3Mvd3hQeXRob240L3VwZGF0 ZQorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLXBrZ25hbWU9d3hQeXRob24KCkZyb20gOGJl ZWVhZjM1NDhkMTFjYmY4MmE4ZWU3ZTgxMzk1ODVjOTdmYWYxNyBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogY2xhc3NhYmJ5YW1wIDx2b2lkQHBsYWNldmlvbGV0dGUubmV0PgpEYXRlOiBN b24sIDI1IFNlcCAyMDIzIDEzOjQ2OjU1IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAwNy80M10gZGlz cGNhbEdVSTogcmVwbGFjZSB3aXRoIERpc3BsYXlDQUwgMy45LjExCgotLS0KIHNyY3BrZ3MvRGlz cGxheUNBTC90ZW1wbGF0ZSAgICAgICAgICAgIHwgMjYgKysrKysrKysrKysrKysrKysrKysKIHNy Y3BrZ3MvZGlzcGNhbEdVSSAgICAgICAgICAgICAgICAgICAgIHwgIDEgKwogc3JjcGtncy9kaXNw Y2FsR1VJL3BhdGNoZXMvZXJyb3IucGF0Y2ggfCAzMyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQogc3JjcGtncy9kaXNwY2FsR1VJL3RlbXBsYXRlICAgICAgICAgICAgfCAyNSAtLS0tLS0tLS0t LS0tLS0tLS0tCiBzcmNwa2dzL2Rpc3BjYWxHVUkvdXBkYXRlICAgICAgICAgICAgICB8ICAxIC0K IDUgZmlsZXMgY2hhbmdlZCwgMjcgaW5zZXJ0aW9ucygrKSwgNTkgZGVsZXRpb25zKC0pCiBjcmVh dGUgbW9kZSAxMDA2NDQgc3JjcGtncy9EaXNwbGF5Q0FML3RlbXBsYXRlCiBjcmVhdGUgbW9kZSAx MjAwMDAgc3JjcGtncy9kaXNwY2FsR1VJCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9kaXNw Y2FsR1VJL3BhdGNoZXMvZXJyb3IucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Rp c3BjYWxHVUkvdGVtcGxhdGUKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Rpc3BjYWxHVUkv dXBkYXRlCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9EaXNwbGF5Q0FML3RlbXBsYXRlIGIvc3JjcGtn cy9EaXNwbGF5Q0FML3RlbXBsYXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MDAwMDAuLjc4NDY3NGM1MjYzYWUKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL0Rpc3BsYXlD QUwvdGVtcGxhdGUKQEAgLTAsMCArMSwyNiBAQAorIyBUZW1wbGF0ZSBmaWxlIGZvciAnRGlzcGxh eUNBTCcKK3BrZ25hbWU9RGlzcGxheUNBTAordmVyc2lvbj0zLjkuMTEKK3JldmlzaW9uPTEKK2J1 aWxkX3N0eWxlPXB5dGhvbjMtbW9kdWxlCitob3N0bWFrZWRlcGVuZHM9InB5dGhvbjMiCittYWtl ZGVwZW5kcz0icHl0aG9uMy1kZXZlbCBsaWJYeGY4NnZtLWRldmVsIGxpYlhpbmVyYW1hLWRldmVs IGxpYlhyYW5kci1kZXZlbCIKK2RlcGVuZHM9InB5dGhvbjMtZGJ1cyBweXRob24zLW51bXB5IHB5 dGhvbjMtZGlzdHJvIHB5dGhvbjMtc2VuZDJ0cmFzaCB3eFB5dGhvbgorIGFyZ3lsbGNtcyIKK3No b3J0X2Rlc2M9IkRpc3BsYXkgQ2FsaWJyYXRpb24gYW5kIENoYXJhY3Rlcml6YXRpb24iCittYWlu dGFpbmVyPSJsZW1taSA8bGVtbWlAbmVyZDJuZXJkLm9yZz4iCitsaWNlbnNlPSJHUEwtMy4wLW9y LWxhdGVyIgoraG9tZXBhZ2U9Imh0dHBzOi8vZ2l0aHViLmNvbS9lb3lpbG1hei9kaXNwbGF5Y2Fs LXB5MyIKK2Rpc3RmaWxlcz0iaHR0cHM6Ly9naXRodWIuY29tL2VveWlsbWF6L2Rpc3BsYXljYWwt cHkzL2FyY2hpdmUvcmVmcy90YWdzLyR7dmVyc2lvbn0udGFyLmd6IgorY2hlY2tzdW09Nzc2OWQx OTU1MWMyMjhkNzk3ZmQ5OGNiMjQ2OTczMGNlZTg0ZmYyN2JkMGJmNWQwNDYzZTE5MTc1MzkyMWE1 ZQorCitwcmVfY29uZmlndXJlKCkgeworCXZzZWQgLWkgbWlzYy9kaXNwbGF5Y2FsLXZybWwtdG8t eDNkLWNvbnZlcnRlci5kZXNrdG9wIFwKKwkJLWUgJ3N8TWltZVR5cGU9bW9kZWwvdnJtbDt4LXdv cmxkL3gtdnJtbDt8TWltZVR5cGU9bW9kZWwvdnJtbDt8JworfQorCitkaXNwY2FsR1VJX3BhY2th Z2UoKSB7CisJYnVpbGRfc3R5bGU9bWV0YQorCXNob3J0X2Rlc2MrPSIgKHRyYW5zaXRpb25hbCBk dW1teSBwYWNrYWdlKSIKKwlkZXBlbmRzPSIke3NvdXJjZXBrZ30+PSR7dmVyc2lvbn1fJHtyZXZp c2lvbn0iCit9CmRpZmYgLS1naXQgYS9zcmNwa2dzL2Rpc3BjYWxHVUkgYi9zcmNwa2dzL2Rpc3Bj YWxHVUkKbmV3IGZpbGUgbW9kZSAxMjAwMDAKaW5kZXggMDAwMDAwMDAwMDAwMC4uN2IyYWU3ZmU4 ZWIxZQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvZGlzcGNhbEdVSQpAQCAtMCwwICsxIEBA CitEaXNwbGF5Q0FMClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3Jj cGtncy9kaXNwY2FsR1VJL3BhdGNoZXMvZXJyb3IucGF0Y2ggYi9zcmNwa2dzL2Rpc3BjYWxHVUkv cGF0Y2hlcy9lcnJvci5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTY5ZmM1 MjhiMTM4ZS4uMDAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL2Rpc3BjYWxHVUkvcGF0Y2hlcy9l cnJvci5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMzICswLDAgQEAKLVJlYXNvbjogZXJyb3Io MykgZG9lcyBub3QgZXhpc3Qgb24gbXVzbCwgYW5kIG9uIGdsaWJjIHRoZSBzaWduYXR1cmUKLWlz IChpbnQsIGludCwgY2hhciosIC4uLikgYW5kIG5vdCAoY2hhciosIC4uLikuCi1UaGVyZWZvcmUg dGhlIGN1cnJlbnQgY29kZSBlaXRoZXIgcmVzdWx0cyBpbiBnYXJibGVkIG91dHB1dCBvcgotZG9l c24ndCB3b3JrIGF0IGFsbC4gUmVwbGFjZSBpdCB3aXRoIGEgc2ltcGxlIHByaW50Zi4KLQotLS0t Ci0tLS0gYS9EaXNwbGF5Q0FML1JlYWxEaXNwbGF5U2l6ZU1NLmMJMjAxOC0wNy0yNSAxNjo0Nzow MS4wMDAwMDAwMDAgKzAyMDAKLSsrKyBiL0Rpc3BsYXlDQUwvUmVhbERpc3BsYXlTaXplTU0uYwky MDE4LTA3LTI1IDE2OjQ3OjAxLjAwMDAwMDAwMCArMDIwMAotQEAgLTgyMiwxMyArODIyLDEzIEBA Ci0gCQkJCQkJc3ByaW50ZihkZXNjMSwgIl9JQ0NfUFJPRklMRV8lZCIsZGlzcHNbbmRpc3BzXS0+ dXNjcmVlbik7Ci0gCi0gCQkJCQlpZiAoKGRpc3BzW25kaXNwc10tPmljY19hdG9tID0gWEludGVy bkF0b20obXlkaXNwbGF5LCBkZXNjMSwgRmFsc2UpKSA9PSBOb25lKQotLQkJCQkJCWVycm9yKCJV bmFibGUgdG8gaW50ZXJuIGF0b20gJyVzJyIsZGVzYzEpOwotKwkJCQkJCWZwcmludGYoc3RkZXJy LCAiVW5hYmxlIHRvIGludGVybiBhdG9tICclcyciLGRlc2MxKTsKLSAKLSAJCQkJCWRlYnVncnIy KChlcnJvdXQsIlJvb3QgYXRvbSAnJXMnXG4iLGRlc2MxKSk7Ci0gCi0gCQkJCQkvKiBDcmVhdGUg dGhlIGF0b20gb2YgdGhlIG91dHB1dCB0aGF0IG1heSBjb250YWluIHRoZSBhc3NvY2lhdGVkIElD QyBwcm9maWxlICovCi0gCQkJCQlpZiAoKGRpc3BzW25kaXNwc10tPmljY19vdXRfYXRvbSA9IFhJ bnRlcm5BdG9tKG15ZGlzcGxheSwgIl9JQ0NfUFJPRklMRSIsIEZhbHNlKSkgPT0gTm9uZSkKLS0J CQkJCQllcnJvcigiVW5hYmxlIHRvIGludGVybiBhdG9tICclcyciLCJfSUNDX1BST0ZJTEUiKTsK LSsJCQkJCQlmcHJpbnRmKHN0ZGVyciwgIlVuYWJsZSB0byBpbnRlcm4gYXRvbSAnJXMnIiwiX0lD Q19QUk9GSUxFIik7Ci0gCQkKLSAJCQkJCS8qIEdyYWIgdGhlIEVESUQgZnJvbSB0aGUgb3V0cHV0 ICovCi0gCQkJCQl7Ci1AQCAtOTkzLDcgKzk5Myw3IEBACi0gCQkJCXNwcmludGYoZGVzYzEsICJf SUNDX1BST0ZJTEVfJWQiLGRpc3BzW2ldLT51c2NyZWVuKTsKLSAKLSAJCQlpZiAoKGRpc3BzW2ld LT5pY2NfYXRvbSA9IFhJbnRlcm5BdG9tKG15ZGlzcGxheSwgZGVzYzEsIEZhbHNlKSkgPT0gTm9u ZSkKLS0JCQkJZXJyb3IoIlVuYWJsZSB0byBpbnRlcm4gYXRvbSAnJXMnIixkZXNjMSk7Ci0rCQkJ CWZwcmludGYoc3RkZXJyLCAiVW5hYmxlIHRvIGludGVybiBhdG9tICclcyciLGRlc2MxKTsKLSAK LSAJCQkvKiBTZWUgaWYgd2UgY2FuIGxvY2F0ZSB0aGUgRURJRCBvZiB0aGUgbW9uaXRvciBmb3Ig dGhpcyBzY3JlZW4gKi8KLSAJCQlmb3IgKGogPSAwOyBqIDwgMjsgaisrKSB7IApkaWZmIC0tZ2l0 IGEvc3JjcGtncy9kaXNwY2FsR1VJL3RlbXBsYXRlIGIvc3JjcGtncy9kaXNwY2FsR1VJL3RlbXBs YXRlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNTA4NmI5N2U1YTI2Li4wMDAwMDAw MDAwMDAwCi0tLSBhL3NyY3BrZ3MvZGlzcGNhbEdVSS90ZW1wbGF0ZQorKysgL2Rldi9udWxsCkBA IC0xLDI1ICswLDAgQEAKLSMgVGVtcGxhdGUgZmlsZSBmb3IgJ2Rpc3BjYWxHVUknCi1wa2duYW1l PWRpc3BjYWxHVUkKLXZlcnNpb249My44LjkuMwotcmV2aXNpb249NQotX25hbWU9IkRpc3BsYXlD QUwiCi1idWlsZF9zdHlsZT1weXRob24yLW1vZHVsZQotaG9zdG1ha2VkZXBlbmRzPSJweXRob24i Ci1tYWtlZGVwZW5kcz0icHl0aG9uLWRldmVsIGxpYlh4Zjg2dm0tZGV2ZWwgbGliWGluZXJhbWEt ZGV2ZWwgbGliWHJhbmRyLWRldmVsIgotZGVwZW5kcz0icHl0aG9uLWRidXMgcHl0aG9uLW51bXB5 IHd4UHl0aG9uIGFyZ3lsbGNtcyIKLXNob3J0X2Rlc2M9IkRpc3BsYXkgQ2FsaWJyYXRpb24gYW5k IENoYXJhY3Rlcml6YXRpb24iCi1tYWludGFpbmVyPSJsZW1taSA8bGVtbWlAbmVyZDJuZXJkLm9y Zz4iCi1saWNlbnNlPSJHUEwtMy4wLW9yLWxhdGVyIgotaG9tZXBhZ2U9Imh0dHBzOi8vZGlzcGxh eWNhbC5uZXQvIgotY2hhbmdlbG9nPSJodHRwczovL2Rpc3BsYXljYWwubmV0L0NIQU5HRVMuaHRt bCIKLWRpc3RmaWxlcz0iJHtTT1VSQ0VGT1JHRV9TSVRFfS9kaXNwY2FsZ3VpLyR7X25hbWV9LSR7 dmVyc2lvbn0udGFyLmd6IgotY2hlY2tzdW09N2MzNGRmYmQ5ZjY2ZjI0ZjFkNGM4OGRlNGE1YTBk ZTY4OGFhZDcxOWYwOTU4NzRiNjI1OTYzN2QzMDg5M2JlYQotCi1wcmVfY29uZmlndXJlKCkgewot CXNlZCAtaSAnc3xNaW1lVHlwZT1tb2RlbC92cm1sO3gtd29ybGQveC12cm1sO3xNaW1lVHlwZT1t b2RlbC92cm1sO3wnIG1pc2MvZGlzcGxheWNhbC12cm1sLXRvLXgzZC1jb252ZXJ0ZXIuZGVza3Rv cAotfQotCi1wb3N0X2luc3RhbGwoKSB7Ci0JZmluZCAke0RFU1RESVJ9L3Vzci8gLWV4ZWMgY2ht b2QgYStyIFx7XH0gKwotCWZpbmQgJHtERVNURElSfS91c3IvIC10eXBlIGQgLWV4ZWMgY2htb2Qg YSt4IFx7XH0gKwotfQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9kaXNwY2FsR1VJL3VwZGF0ZSBiL3Ny Y3BrZ3MvZGlzcGNhbEdVSS91cGRhdGUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY5 NDIzOTM5NDVjMzYuLjAwMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9kaXNwY2FsR1VJL3VwZGF0 ZQorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLXBrZ25hbWU9IiR7X25hbWV9IgoKRnJvbSBk MGY5ZDdjNTgwNmQwZmYyNjUyMzhkOTVhYjRjZTNmNDRhNjIzNjdjIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiAiQW5kcmV3IEouIEhlc2ZvcmQiIDxhamhAc2lkZWJhbmQub3JnPgpEYXRl OiBNb24sIDI1IFNlcCAyMDIzIDAwOjE4OjE5IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAwOC80M10g MGFkOiByZWJ1aWxkIHdpdGggd3hXaWRnZXRzLWd0azMtMy4yLjIuMQoKLS0tCiBzcmNwa2dzLzBh ZC90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxl dGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvMGFkL3RlbXBsYXRlIGIvc3JjcGtncy8wYWQv dGVtcGxhdGUKaW5kZXggOGNmNGE3NTcyMTYxOS4uNTk3YTcwODJiOTM4OSAxMDA2NDQKLS0tIGEv c3JjcGtncy8wYWQvdGVtcGxhdGUKKysrIGIvc3JjcGtncy8wYWQvdGVtcGxhdGUKQEAgLTEsNyAr MSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICcwYWQnCiBwa2duYW1lPTBhZAogdmVyc2lvbj0w LjAuMjYKLXJldmlzaW9uPTcKK3JldmlzaW9uPTgKIGFyY2hzPSJ4ODZfNjQqIGk2ODYqIGFhcmNo NjQqIGFybXY3bCogcHBjNjRsZSoiCiBob3N0bWFrZWRlcGVuZHM9InBrZy1jb25maWcgcGVybCBj bWFrZSBweXRob24zIHJ1c3QgY2FyZ28geWFzbSB0YXIgY2xhbmciCiBtYWtlZGVwZW5kcz0iU0RM Mi1kZXZlbCBib29zdC1kZXZlbCBnbG9veC1kZXZlbCBsaWJjdXJsLWRldmVsIGxpYmVuZXQtZGV2 ZWwKCkZyb20gNTQwNzBkZGNlNDRlNmE4Y2MyYzM0NTEzZTYwOTM3NzA2ODc1NjFjNyBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogIkFuZHJldyBKLiBIZXNmb3JkIiA8YWpoQHNpZGViYW5k Lm9yZz4KRGF0ZTogTW9uLCAyNSBTZXAgMjAyMyAwMDoxODoxOSAtMDQwMApTdWJqZWN0OiBbUEFU Q0ggMDkvNDNdIEFlZ2lzdWI6IHJlYnVpbGQgd2l0aCB3eFdpZGdldHMtZ3RrMy0zLjIuMi4xCgot LS0KIHNyY3BrZ3MvQWVnaXN1Yi90ZW1wbGF0ZSB8IDQgKysrLQogMSBmaWxlIGNoYW5nZWQsIDMg aW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvQWVnaXN1 Yi90ZW1wbGF0ZSBiL3NyY3BrZ3MvQWVnaXN1Yi90ZW1wbGF0ZQppbmRleCBkYWYzNTc0OWNlN2M2 Li5mZGQzNmM1M2E5NGEzIDEwMDY0NAotLS0gYS9zcmNwa2dzL0FlZ2lzdWIvdGVtcGxhdGUKKysr IGIvc3JjcGtncy9BZWdpc3ViL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBm aWxlIGZvciAnQWVnaXN1YicKIHBrZ25hbWU9QWVnaXN1YgogdmVyc2lvbj0zLjMuMgotcmV2aXNp b249MTAKK3JldmlzaW9uPTExCiBidWlsZF9zdHlsZT1jbWFrZQogYnVpbGRfaGVscGVyPWNtYWtl LXd4V2lkZ2V0cy1ndGszCiBjbWFrZV9idWlsZGRpcj0iQlVJTEQiCkBAIC0yNiw2ICsyNiw4IEBA IGJ1aWxkX29wdGlvbnNfZGVmYXVsdD0iZmZ0dyIKIGRlc2Nfb3B0aW9uX2ZmdHc9IkVuYWJsZSBz dXBwb3J0IGZvciByZW5kZXJpbmcgb2YgYXVkaW8gd2F2ZWZvcm1zL3NwZWN0cnVtIgogZGVzY19v cHRpb25fb3BlbmFsPSJFbmFibGUgc3VwcG9ydCBmb3Igb3BlbmFsIgogCitDWFhGTEFHUz0iLURf TEFSR0VGSUxFX1NPVVJDRSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IgorCiBwcmVfYnVpbGQoKSB7 CiAJZXhwb3J0IEZPUkNFX0dJVF9WRVJTSU9OPSIkdmVyc2lvbiIKIH0KCkZyb20gYTE2ZDQyZDMx NjY1ODFlOWFhMTQ4YzgyNmIwMmNiYjJhOGQ5MjMzMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogIkFuZHJldyBKLiBIZXNmb3JkIiA8YWpoQHNpZGViYW5kLm9yZz4KRGF0ZTogTW9uLCAy NSBTZXAgMjAyMyAwMDoxODoxOSAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMTAvNDNdIEN1YmljU0RS OiByZWJ1aWxkIHdpdGggd3hXaWRnZXRzLWd0azMtMy4yLjIuMQoKLS0tCiBzcmNwa2dzL0N1Ymlj U0RSL3RlbXBsYXRlIHwgNCArKystCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAx IGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9DdWJpY1NEUi90ZW1wbGF0ZSBiL3Ny Y3BrZ3MvQ3ViaWNTRFIvdGVtcGxhdGUKaW5kZXggYzIyNGZjMTM3OWJmMS4uMTYwOGE5Yzk1Zjdi NCAxMDA2NDQKLS0tIGEvc3JjcGtncy9DdWJpY1NEUi90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL0N1 YmljU0RSL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnQ3Vi aWNTRFInCiBwa2duYW1lPUN1YmljU0RSCiB2ZXJzaW9uPTAuMi43Ci1yZXZpc2lvbj0yCityZXZp c2lvbj0zCiBidWlsZF9zdHlsZT1jbWFrZQogYnVpbGRfaGVscGVyPSJjbWFrZS13eFdpZGdldHMt Z3RrMyIKIGNvbmZpZ3VyZV9hcmdzPSItRFVTRV9IQU1MSUI9MSAkKHZvcHRfYm9vbCBhbHNhIFVT RV9BVURJT19BTFNBKQpAQCAtMjIsMyArMjIsNSBAQCBidWlsZF9vcHRpb25zX2RlZmF1bHQ9ImFs c2EgcHVsc2VhdWRpbyIKIGlmIFsgIiRYQlBTX1RBUkdFVF9OT19BVE9NSUM4IiBdOyB0aGVuCiAJ Y29uZmlndXJlX2FyZ3MrPSIgLURPVEhFUl9MSUJSQVJJRVM9YXRvbWljIgogZmkKKworQ1hYRkxB R1M9Ii1EX0xBUkdFRklMRV9TT1VSQ0UgLURfRklMRV9PRkZTRVRfQklUUz02NCIKCkZyb20gYmY1 ZmI0ZmEzZWNlYmMwMWNkOTJjYjdlMjhlMzAzZjYzZDNlNzNlYSBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogIkFuZHJldyBKLiBIZXNmb3JkIiA8YWpoQHNpZGViYW5kLm9yZz4KRGF0ZTog TW9uLCAyNSBTZXAgMjAyMyAwMDoxODoxOSAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMTEvNDNdIERh cmtSYWRpYW50OiByZWJ1aWxkIHdpdGggd3hXaWRnZXRzLWd0azMtMy4yLjIuMQoKLS0tCiBzcmNw a2dzL0RhcmtSYWRpYW50L3RlbXBsYXRlIHwgNSArKystLQogMSBmaWxlIGNoYW5nZWQsIDMgaW5z ZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL0RhcmtSYWRp YW50L3RlbXBsYXRlIGIvc3JjcGtncy9EYXJrUmFkaWFudC90ZW1wbGF0ZQppbmRleCA4ODMwYjNh NjFjMDZiLi5jOWRiNDkzY2M1NWUxIDEwMDY0NAotLS0gYS9zcmNwa2dzL0RhcmtSYWRpYW50L3Rl bXBsYXRlCisrKyBiL3NyY3BrZ3MvRGFya1JhZGlhbnQvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBA CiAjIFRlbXBsYXRlIGZpbGUgZm9yICdEYXJrUmFkaWFudCcKIHBrZ25hbWU9RGFya1JhZGlhbnQK IHZlcnNpb249My44LjAKLXJldmlzaW9uPTIKK3JldmlzaW9uPTMKIGJ1aWxkX3N0eWxlPWNtYWtl CiBidWlsZF9oZWxwZXI9Y21ha2Utd3hXaWRnZXRzLWd0azMKIGhvc3RtYWtlZGVwZW5kcz0icGtn LWNvbmZpZyBydWJ5LWFzY2lpZG9jdG9yIgpAQCAtMTcsNyArMTcsOCBAQCBkaXN0ZmlsZXM9Imh0 dHBzOi8vZ2l0aHViLmNvbS9jb2RlcmVhZGVyL0RhcmtSYWRpYW50L2FyY2hpdmUvJHt2ZXJzaW9u fS50YXIuZ3oiCiBjaGVja3N1bT03YjljY2Q2ZGU2NWQ3ZTU1ZjZhYWQ1ZTFmOWEyZjQ5NjAwYzZh MGQ5ZDcwZTY3YmRhMmU2MjVjZDcyMWI1NjM1CiAKIENYWEZMQUdTPSItSSR7WEJQU19DUk9TU19C QVNFfS91c3IvbGliL3d4L2luY2x1ZGUvZ3RrMy11bmljb2RlLTMuMCIKLUNYWEZMQUdTPSIkQ1hY RkxBR1MgLUkke1hCUFNfQ1JPU1NfQkFTRX0vJHtweTNfc2l0ZWxpYn0vcHliaW5kMTEvaW5jbHVk ZSIKK0NYWEZMQUdTKz0iIC1JJHtYQlBTX0NST1NTX0JBU0V9LyR7cHkzX3NpdGVsaWJ9L3B5Ymlu ZDExL2luY2x1ZGUiCitDWFhGTEFHUys9IiAtRF9MQVJHRUZJTEVfU09VUkNFIC1EX0ZJTEVfT0ZG U0VUX0JJVFM9NjQiCiAKIHBvc3RfZXh0cmFjdCgpIHsKIAlybSAtcmYgbGlicy9weWJpbmQKCkZy b20gMjYyNGNkOWY2MWQyMDQxNTBiNjBhMTVhOTU2NjcxNWM4YjUzYzk0MCBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKRnJvbTogIkFuZHJldyBKLiBIZXNmb3JkIiA8YWpoQHNpZGViYW5kLm9yZz4K RGF0ZTogTW9uLCAyNSBTZXAgMjAyMyAwMDoxODoxOSAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMTIv NDNdIExpbWVTdWl0ZTogcmVidWlsZCB3aXRoIHd4V2lkZ2V0cy1ndGszLTMuMi4yLjEKCi0tLQog c3JjcGtncy9MaW1lU3VpdGUvdGVtcGxhdGUgfCA0ICsrKy0KIDEgZmlsZSBjaGFuZ2VkLCAzIGlu c2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL0xpbWVTdWl0 ZS90ZW1wbGF0ZSBiL3NyY3BrZ3MvTGltZVN1aXRlL3RlbXBsYXRlCmluZGV4IGZlOTYzYmU4NWY4 NjAuLjI3YTZmMWM1MTRhMGIgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvTGltZVN1aXRlL3RlbXBsYXRl CisrKyBiL3NyY3BrZ3MvTGltZVN1aXRlL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1w bGF0ZSBmaWxlIGZvciAnTGltZVN1aXRlJwogcGtnbmFtZT1MaW1lU3VpdGUKIHZlcnNpb249MjIu MDkuMQotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9Y21ha2UKIGJ1aWxkX2hl bHBlcj1jbWFrZS13eFdpZGdldHMtZ3RrMwogY29uZmlndXJlX2FyZ3M9IgpAQCAtNDUsNiArNDUs OCBAQCBpZiBbIC16ICIkQ1JPU1NfQlVJTEQiIF07IHRoZW4KIAlidWlsZF9vcHRpb25zX2RlZmF1 bHQ9Im9jdGF2ZSIKIGZpCiAKK0NYWEZMQUdTPSItRF9MQVJHRUZJTEVfU09VUkNFIC1EX0ZJTEVf T0ZGU0VUX0JJVFM9NjQiCisKIHBvc3RfaW5zdGFsbCgpIHsKIAl2aW5zdGFsbCB1ZGV2LXJ1bGVz LzY0LWxpbWVzdWl0ZS5ydWxlcyA2NDQgdXNyL2xpYi91ZGV2L3J1bGVzLmQKIAoKRnJvbSAwYjA0 ZDQ1NDc5OWE1MTJlNDMyNWQ0ZTRhN2Q2NTBjY2RiMTQ0OGFlIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQpGcm9tOiAiQW5kcmV3IEouIEhlc2ZvcmQiIDxhamhAc2lkZWJhbmQub3JnPgpEYXRlOiBN b24sIDI1IFNlcCAyMDIzIDAwOjE4OjE5IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAxMy80M10gT3Bl bkNQTjogdXBkYXRlIHRvIDUuOC40LgoKLS0tCiAuLi4vT3BlbkNQTi9wYXRjaGVzL2FjdHVhbGx5 LXNldC1hcmNoLnBhdGNoICAgfCAyOCAtLS0tLS0tLS0tLS0tLS0tLS0KIHNyY3BrZ3MvT3BlbkNQ Ti9wYXRjaGVzL211c2wucGF0Y2ggICAgICAgICAgICB8IDI5ICsrKysrKysrKy0tLS0tLS0tLS0K IHNyY3BrZ3MvT3BlbkNQTi90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICAgICB8IDE0ICsrKysr LS0tLQogMyBmaWxlcyBjaGFuZ2VkLCAyMSBpbnNlcnRpb25zKCspLCA1MCBkZWxldGlvbnMoLSkK IGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL09wZW5DUE4vcGF0Y2hlcy9hY3R1YWxseS1zZXQt YXJjaC5wYXRjaAoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvT3BlbkNQTi9wYXRjaGVzL2FjdHVhbGx5 LXNldC1hcmNoLnBhdGNoIGIvc3JjcGtncy9PcGVuQ1BOL3BhdGNoZXMvYWN0dWFsbHktc2V0LWFy Y2gucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQxNTJjNDA5Mjg4NjcuLjAw MDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9PcGVuQ1BOL3BhdGNoZXMvYWN0dWFsbHktc2V0LWFy Y2gucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi0tLS0gYS9jbWFrZS9HZXRB cmNoLmNtYWtlCTIwMjAtMDctMTUgMjA6MDI6MjkuMDAwMDAwMDAwICswMjAwCi0rKysgYi9jbWFr ZS9HZXRBcmNoLmNtYWtlCTIwMjAtMDctMTUgMjA6MDI6MjkuMDAwMDAwMDAwICswMjAwCi1AQCAt MTQsNiArMTQsMjUgQEAKLSAgICAgIyBkZWZhdWx0Ci0gICAgIHNldCAoQVJDSCAiaTM4NiIpCi0g ICAgIHNldCAoTElCX0lOU1RBTExfRElSICJsaWIiKQotKyAgICBJRiAoQ01BS0VfU1lTVEVNX1BS T0NFU1NPUiBNQVRDSEVTICJhcm0qIikKLSsgICAgICBJRiAoQ01BS0VfU0laRU9GX1ZPSURfUCBN QVRDSEVTICI4IikKLSsgICAgICAgIFNFVCAoQVJDSCAiYWFyY2g2NCIpCi0rICAgICAgRUxTRSAo Q01BS0VfU0laRU9GX1ZPSURfUCBNQVRDSEVTICI4IikKLSsgICAgICAgIFNFVCAoQVJDSCAiYXJt aGYiKQotKyAgICAgIEVORElGIChDTUFLRV9TSVpFT0ZfVk9JRF9QIE1BVENIRVMgIjgiKQotKyAg ICBFTFNFSUYgKENNQUtFX1NZU1RFTV9QUk9DRVNTT1IgTUFUQ0hFUyAicHBjKiIgT1IgQ01BS0Vf U1lTVEVNX1BST0NFU1NPUiBNQVRDSEVTICJwb3dlcnBjKiIpCi0rICAgICAgSUYgKENNQUtFX1NJ WkVPRl9WT0lEX1AgTUFUQ0hFUyAiOCIpCi0rICAgICAgICBTRVQgKEFSQ0ggInBwYzY0IikKLSsg ICAgICBFTFNFIChDTUFLRV9TSVpFT0ZfVk9JRF9QIE1BVENIRVMgIjgiKQotKyAgICAgICAgU0VU IChBUkNIICJwb3dlcnBjIikKLSsgICAgICBFTkRJRiAoQ01BS0VfU0laRU9GX1ZPSURfUCBNQVRD SEVTICI4IikKLSsgICAgRUxTRSAoQ01BS0VfU1lTVEVNX1BST0NFU1NPUiBNQVRDSEVTICJhcm0q IikKLSsgICAgICBJRiAoQ01BS0VfU0laRU9GX1ZPSURfUCBNQVRDSEVTICI4IikKLSsgICAgICAg IFNFVCAoQVJDSCAieDg2XzY0IikKLSsgICAgICBFTFNFIChDTUFLRV9TSVpFT0ZfVk9JRF9QIE1B VENIRVMgIjgiKQotKyAgICAgICAgU0VUIChBUkNIICJpMzg2IikKLSsgICAgICBFTkRJRiAoQ01B S0VfU0laRU9GX1ZPSURfUCBNQVRDSEVTICI4IikKLSsgICAgRU5ESUYgKENNQUtFX1NZU1RFTV9Q Uk9DRVNTT1IgTUFUQ0hFUyAiYXJtKiIpCi0gICAgIGlmIChFWElTVFMgL2V0Yy9kZWJpYW5fdmVy c2lvbikKLSAgICAgICBzZXQgKFBBQ0tBR0VfRk9STUFUICJERUIiKQotICAgICAgIHNldCAoUEFD S0FHRV9SRUNTICJ4Y2FsaWIseGRnLXV0aWxzIikKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvT3BlbkNQ Ti9wYXRjaGVzL211c2wucGF0Y2ggYi9zcmNwa2dzL09wZW5DUE4vcGF0Y2hlcy9tdXNsLnBhdGNo CmluZGV4IDc1OTIzZTAxOWIyYmMuLmY5ODc3ZjlhMGU2NTEgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mv T3BlbkNQTi9wYXRjaGVzL211c2wucGF0Y2gKKysrIGIvc3JjcGtncy9PcGVuQ1BOL3BhdGNoZXMv bXVzbC5wYXRjaApAQCAtMSwyNiArMSwxNiBAQAogLS0tIGEvaW5jbHVkZS96ZXJvY29uZi1kZXRh aWwuaHBwCTIwMjAtMDctMTUgMjA6MDI6MjkuMDAwMDAwMDAwICswMjAwCiArKysgYi9pbmNsdWRl L3plcm9jb25mLWRldGFpbC5ocHAJMjAyMC0wNy0xNSAyMDowMjoyOS4wMDAwMDAwMDAgKzAyMDAK LUBAIC0yMCw5ICsyMCw3IEBACitAQCAtMjAsMTUgKzIwLDE0IEBACiAgI2RlZmluZSBXSU4zMl9M RUFOX0FORF9NRUFOCiAgI2luY2x1ZGUgPHdpbnNvY2syLmg+CiAgI2Vsc2UKLS0gICAgI2lmbmRl ZiBfX1dYT1NYX18KLS0gICAgICAgICNpbmNsdWRlIDxlcnJvci5oPgotLSAgICAjZWxzZSAgICAK LSsgICAgI2lmZGVmIF9fV1hPU1hfXwotICAgICAgICAgI2luY2x1ZGUgPG1hY2gvZXJyb3IuaD4g CistI2lmbmRlZiBfX1dYT1NYX18KKy0jaW5jbHVkZSA8ZXJyb3IuaD4KKy0jZWxzZQorKyNpZmRl ZiBfX1dYT1NYX18KKyAjaW5jbHVkZSA8bWFjaC9lcnJvci5oPgogICNlbmRpZgogIAotQEAgLTQy NCw0ICs0MjIsNCBAQAotICAgICB9Ci0gfQotIAotLSNlbmRpZiAvLyBaRVJPQ09ORl9ERVRBSUxf SFBQCi1cIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKLSsjZW5kaWYgLy8gWkVST0NPTkZfREVU QUlMX0hQUAotLS0tIGEvaW5jbHVkZS96ZXJvY29uZi1kZXRhaWwuaHBwCTIwMjAtMDctMjUgMTg6 MDU6MDguNzE0MDk4OTYyICswMjAwCi0rKysgYi9pbmNsdWRlL3plcm9jb25mLWRldGFpbC5ocHAJ MjAyMC0wNy0yNSAxODowNTowOC43MTQwOTg5NjIgKzAyMDAKLUBAIC0yNyw2ICsyNyw3IEBACiAg I2luY2x1ZGUgPHN0cmluZy5oPgogICNpbmNsdWRlIDx1bmlzdGQuaD4KICAjaW5jbHVkZSA8c3lz L3NvY2tldC5oPgpAQCAtMjgsMyArMTgsMTAgQEAKICAjaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgog ICNlbmRpZgogIAorQEAgLTM4NSw0ICszODQsNCBAQAorIH0gIC8vIG5hbWVzcGFjZSBEZXRhaWwK KyB9ICAvLyBuYW1lc3BhY2UgWmVyb2NvbmYKKyAKKy0jZW5kaWYgIC8vIFpFUk9DT05GX0RFVEFJ TF9IUFAKK1wgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorKyNlbmRpZiAgLy8gWkVST0NPTkZf REVUQUlMX0hQUApkaWZmIC0tZ2l0IGEvc3JjcGtncy9PcGVuQ1BOL3RlbXBsYXRlIGIvc3JjcGtn cy9PcGVuQ1BOL3RlbXBsYXRlCmluZGV4IGVlNjdkYmFmZjAxYzIuLjE1Y2NjNDQ5ODEyZTMgMTAw NjQ0Ci0tLSBhL3NyY3BrZ3MvT3BlbkNQTi90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL09wZW5DUE4v dGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdPcGVuQ1BOJwog cGtnbmFtZT1PcGVuQ1BOCi12ZXJzaW9uPTUuMi4wCi1yZXZpc2lvbj0yCit2ZXJzaW9uPTUuOC40 CityZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1jbWFrZQogYnVpbGRfaGVscGVyPWNtYWtlLXd4V2lk Z2V0cy1ndGszCiBjb25maWd1cmVfYXJncz0iLURPQ1BOX0JVTkRMRV9HU0hIUz1OT05FIC1ET0NQ Tl9CVU5ETEVfVENEQVRBPU9OCkBAIC0xMCwxNiArMTAsMTcgQEAgY29uZmlndXJlX2FyZ3M9Ii1E T0NQTl9CVU5ETEVfR1NISFM9Tk9ORSAtRE9DUE5fQlVORExFX1RDREFUQT1PTgogIC1ET0NQTl9V U0VfQlVORExFRF9MSUJTPU9GRiIKIGhvc3RtYWtlZGVwZW5kcz0iZ2V0dGV4dCBwa2ctY29uZmln IgogbWFrZWRlcGVuZHM9Imd0ayszLWRldmVsIGxpYmN1cmwtZGV2ZWwgcG9ydGF1ZGlvLWRldmVs IHRpbnl4bWwtZGV2ZWwKLSB3eFdpZGdldHMtZ3RrMy1kZXZlbCAkKHZvcHRfaWYgZXhpZiAnbGli ZXhpZi1kZXZlbCcpIGdsdS1kZXZlbAotICQodm9wdF9pZiBsaWJhcmNoaXZlICdsaWJhcmNoaXZl LWRldmVsJyAnbGlidW5hcnItZGV2ZWwnKSAkKHZvcHRfaWYgbHptYSAnbGlibHptYS1kZXZlbCcp IgorIHd4V2lkZ2V0cy1ndGszLWRldmVsIGdsdS1kZXZlbCBnbGV3LWRldmVsIHJhcGlkanNvbiBn dGVzdC1kZXZlbAorICQodm9wdF9pZiBsaWJhcmNoaXZlICdsaWJhcmNoaXZlLWRldmVsJyAnbGli dW5hcnItZGV2ZWwnKQorICQodm9wdF9pZiBleGlmICdsaWJleGlmLWRldmVsJykgJCh2b3B0X2lm IGx6bWEgJ2xpYmx6bWEtZGV2ZWwnKSIKIGRlcGVuZHM9Imdwc2QgaGljb2xvci1pY29uLXRoZW1l IE9wZW5DUE4tdGNkYXRhLSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0KICBPcGVuQ1BOLWdzaGhzLWNy dWRlIgogc2hvcnRfZGVzYz0iQ29uY2lzZSBDaGFydFBsb3R0ZXIvTmF2aWdhdG9yIgogbWFpbnRh aW5lcj0iSm9obiA8bWVAam9obm55bmF0b3IuZGV2PiIKIGxpY2Vuc2U9IkdQTC0yLjAtb3ItbGF0 ZXIsIEdQTC0zLjAtb3ItbGF0ZXIsIExHUEwtMi4wLW9yLWxhdGVyLCBNSVQsIFd4V2luZG93cy1l eGNlcHRpb24tMy4xLCBKYXNQZXItMi4wLCBCU0QtMy1DbGF1c2UsIFNHSS1CLTIuMCIKIGhvbWVw YWdlPSJodHRwczovL29wZW5jcG4ub3JnLyIKLWRpc3RmaWxlcz0iaHR0cHM6Ly9naXRodWIuY29t L09wZW5DUE4vT3BlbkNQTi9hcmNoaXZlL3Yke3ZlcnNpb259LnRhci5neiIKLWNoZWNrc3VtPWY2 ZWMzODk4OWJjMzhmNWE3ZjYzMjM0YzVlMDIzMGFkZWI3M2Y1NjI2YjRlM2QzZGZhNjgwZjBjMjQw YmFkYzcKK2Rpc3RmaWxlcz0iaHR0cHM6Ly9naXRodWIuY29tL09wZW5DUE4vT3BlbkNQTi9hcmNo aXZlL1JlbGVhc2VfJHt2ZXJzaW9ufS50YXIuZ3oiCitjaGVja3N1bT03NTUyNzI2ZTVhZmNlNWVi NDAxZTMwN2JlZWRkOGYzYWEyYzY2NzI1NjAyZmMyN2FiM2FkMTg0NWY0MGI4N2EwCiAKIGJ1aWxk X29wdGlvbnM9Imx6bWEgbGliYXJjaGl2ZSBleGlmIGNyYXNocmVwb3J0IgogYnVpbGRfb3B0aW9u c19kZWZhdWx0PSJsem1hIGxpYmFyY2hpdmUgZXhpZiIKQEAgLTM0LDYgKzM1LDcgQEAgY2FzZSAk WEJQU19UQVJHRVRfTUFDSElORSBpbgogZXNhYwogCiBDRkxBR1M9Ii1mY29tbW9uIgorQ1hYRkxB R1M9Ii1EX0xBUkdFRklMRV9TT1VSQ0UgLURfRklMRV9PRkZTRVRfQklUUz02NCIKIAogcG9zdF9p bnN0YWxsKCkgewogCXZsaWNlbnNlIGxpYnMvZ2xzaGltL0xJQ0VOU0UgTElDRU5TRS5nbHNoaW0K CkZyb20gMDZhYjM2MTM4MWNkMGU0Y2Q4YzcyOTc4NmU0YWI0Njk3NWEyMDc1NSBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogIkFuZHJldyBKLiBIZXNmb3JkIiA8YWpoQHNpZGViYW5kLm9y Zz4KRGF0ZTogTW9uLCAyNSBTZXAgMjAyMyAwMDoxODoxOSAtMDQwMApTdWJqZWN0OiBbUEFUQ0gg MTQvNDNdIFBydXNhU2xpY2VyOiByZWJ1aWxkIHdpdGggd3hXaWRnZXRzLWd0azMtMy4yLjIuMQoK LS0tCiBzcmNwa2dzL1BydXNhU2xpY2VyL3RlbXBsYXRlIHwgNCArKystCiAxIGZpbGUgY2hhbmdl ZCwgMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9Q cnVzYVNsaWNlci90ZW1wbGF0ZSBiL3NyY3BrZ3MvUHJ1c2FTbGljZXIvdGVtcGxhdGUKaW5kZXgg YmFjNWQ2ZDU3NDA1My4uYzI4YzJkNzA3YzIyOSAxMDA2NDQKLS0tIGEvc3JjcGtncy9QcnVzYVNs aWNlci90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL1BydXNhU2xpY2VyL3RlbXBsYXRlCkBAIC0xLDcg KzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnUHJ1c2FTbGljZXInCiBwa2duYW1lPVBydXNh U2xpY2VyCiB2ZXJzaW9uPTIuNS4yCi1yZXZpc2lvbj0yCityZXZpc2lvbj0zCiBidWlsZF9zdHls ZT1jbWFrZQogYnVpbGRfaGVscGVyPSJxZW11IGNtYWtlLXd4V2lkZ2V0cy1ndGszIgogIyBQcmUt Q29tcGlsZWQgSGVhZGVycyBzZWVtcyB0byBiZSBzbG93ZXIKQEAgLTE5LDYgKzE5LDggQEAgaG9t ZXBhZ2U9Imh0dHBzOi8vd3d3LnBydXNhM2QuY29tL3BydXNhc2xpY2VyLyIKIGRpc3RmaWxlcz0i aHR0cHM6Ly9naXRodWIuY29tL3BydXNhM2QvUHJ1c2FzbGljZXIvYXJjaGl2ZS92ZXJzaW9uXyR7 dmVyc2lvbn0udGFyLmd6IgogY2hlY2tzdW09ZTU4Mjc4MDY3YjlkNDlhNDJkYzliYjAyYjc0MzA3 YjNjYjM2NWJiNzM3ZjI4ZTI0NmNhOGM2ZjQ2NjA5NWQ2YgogCitDWFhGTEFHUz0iLURfTEFSR0VG SUxFX1NPVVJDRSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IgorCiBwb3N0X2V4dHJhY3QoKSB7CiAJ IyBNYXJrIHRlc3RzIHRoYXQgZmFpbCBvbiBjZXJ0YWluIHRhcmdldHMKIAljYXNlICIkWEJQU19U QVJHRVRfTUFDSElORSIgaW4KCkZyb20gMmNmZGUxMWI0YTBkMTllMWJmYThiZDAzMjVjNjk1N2Ri NzdjY2M2MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogIkFuZHJldyBKLiBIZXNmb3Jk IiA8YWpoQHNpZGViYW5kLm9yZz4KRGF0ZTogTW9uLCAyNSBTZXAgMjAyMyAwMDoxODoxOSAtMDQw MApTdWJqZWN0OiBbUEFUQ0ggMTUvNDNdIFNMQURFOiByZWJ1aWxkIHdpdGggd3hXaWRnZXRzLWd0 azMtMy4yLjIuMQoKLS0tCiBzcmNwa2dzL1NMQURFL3RlbXBsYXRlIHwgNCArKystCiAxIGZpbGUg Y2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3Jj cGtncy9TTEFERS90ZW1wbGF0ZSBiL3NyY3BrZ3MvU0xBREUvdGVtcGxhdGUKaW5kZXggOGI2ODA1 NzRjM2I5ZS4uOGMyZWE2ZTQwY2M1YyAxMDA2NDQKLS0tIGEvc3JjcGtncy9TTEFERS90ZW1wbGF0 ZQorKysgYi9zcmNwa2dzL1NMQURFL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0 ZSBmaWxlIGZvciAnU0xBREUnCiBwa2duYW1lPVNMQURFCiB2ZXJzaW9uPTMuMi4xCi1yZXZpc2lv bj0xCityZXZpc2lvbj0yCiBidWlsZF9zdHlsZT1jbWFrZQogYnVpbGRfaGVscGVyPWNtYWtlLXd4 V2lkZ2V0cy1ndGszCiBob3N0bWFrZWRlcGVuZHM9InBrZy1jb25maWcgcDd6aXAgd2hpY2giCkBA IC0xNiw2ICsxNiw4IEBAIGNoYW5nZWxvZz0iaHR0cHM6Ly9naXRodWIuY29tL3Npcmp1ZGRpbmd0 b24vU0xBREUvcmVsZWFzZXMvdGFnLyR7dmVyc2lvbn0iCiBkaXN0ZmlsZXM9Imh0dHBzOi8vZ2l0 aHViLmNvbS9zaXJqdWRkaW5ndG9uL1NMQURFL2FyY2hpdmUvJHt2ZXJzaW9ufS50YXIuZ3oiCiBj aGVja3N1bT1jMzI3ZmE2MmJhNDkxYWM0ODFkNzY5NzAwMjYxZDgxMDEyODkxMDAwNzI5N2ZkOWQ5 ZGJlMjZhYzBlNzhiYjJjCiAKK0NYWEZMQUdTPSItRF9MQVJHRUZJTEVfU09VUkNFIC1EX0ZJTEVf T0ZGU0VUX0JJVFM9NjQiCisKIHByZV9jb25maWd1cmUoKSB7CiAJY2FzZSAkWEJQU19UQVJHRVRf TUFDSElORSBpbgogCQl4ODZfNjQqIHwgaTY4NiopOzsKCkZyb20gZTZlZWNjOTE1ODEzOWM2NmMz MjA3NWRhNTU5OGNlNGRkYjcxZmQ5NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogIkFu ZHJldyBKLiBIZXNmb3JkIiA8YWpoQHNpZGViYW5kLm9yZz4KRGF0ZTogTW9uLCAyNSBTZXAgMjAy MyAwMDoxODoyMCAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMTYvNDNdIFdvZVVTQjogcmVidWlsZCB3 aXRoIHd4V2lkZ2V0cy1ndGszLTMuMi4yLjEKCi0tLQogc3JjcGtncy9Xb2VVU0IvdGVtcGxhdGUg fCA0ICsrKy0KIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkK CmRpZmYgLS1naXQgYS9zcmNwa2dzL1dvZVVTQi90ZW1wbGF0ZSBiL3NyY3BrZ3MvV29lVVNCL3Rl bXBsYXRlCmluZGV4IGI5NDZiNTJiY2MxYjguLmQ5NDM2OWUwODc4OTEgMTAwNjQ0Ci0tLSBhL3Ny Y3BrZ3MvV29lVVNCL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvV29lVVNCL3RlbXBsYXRlCkBAIC0x LDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnV29lVVNCJwogcGtnbmFtZT1Xb2VVU0IK IHZlcnNpb249My4zLjEKLXJldmlzaW9uPTMKK3JldmlzaW9uPTQKIGJ1aWxkX3N0eWxlPWdudS1j b25maWd1cmUKIGNvbmZpZ3VyZV9hcmdzPSItLXdpdGgtd3gtY29uZmlnPXd4LWNvbmZpZy1ndGsz IgogaG9zdG1ha2VkZXBlbmRzPSJhdXRvbWFrZSBnZXR0ZXh0IGxpYnRvb2wiCkBAIC0xNCw2ICsx NCw4IEBAIGhvbWVwYWdlPSJodHRwczovL2dpdGh1Yi5jb20vc2xhY2thL1dvZVVTQiIKIGRpc3Rm aWxlcz0iaHR0cHM6Ly9naXRodWIuY29tL3NsYWNrYS9Xb2VVU0IvYXJjaGl2ZS92JHt2ZXJzaW9u fS50YXIuZ3oiCiBjaGVja3N1bT0wY2FiODhhMTExMzUwNmYzOWQyZjFjMTk1MzJiMmNkOGQ5Njhj NmE5ZjU5MTI5OTUzYzAwMGUyOWU3M2YzZDRmCiAKK0NYWEZMQUdTPSItRF9MQVJHRUZJTEVfU09V UkNFIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQiCisKIHBvc3RfcGF0Y2goKSB7CiAJdnNlZCAtaSAt ZSAicy9AQFdPRVVTQl9WRVJTSU9OQEAvJHZlcnNpb24vZyIgXAogCQljb25maWd1cmUuYWMgXAoK RnJvbSBkNWExMzAzNjZjOGEwZWQ3ZmUyNWQ4MmNkY2JhOWI5OWQ2ZDMwNGRjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiQW5kcmV3IEouIEhlc2ZvcmQiIDxhamhAc2lkZWJhbmQub3Jn PgpEYXRlOiBNb24sIDI1IFNlcCAyMDIzIDAwOjE4OjIwIC0wNDAwClN1YmplY3Q6IFtQQVRDSCAx Ny80M10gYXVkYWNpdHk6IHJlYnVpbGQgd2l0aCB3eFdpZGdldHMtZ3RrMy0zLjIuMi4xCgotLS0K IHNyY3BrZ3MvYXVkYWNpdHkvcGF0Y2hlcy93eC0zLjIucGF0Y2ggICAgICAgICB8IDI2ICsrKysr KysrKysrKysrKysKIC4uLi9wYXRjaGVzL3d4LXdpZGdldC1oYXMtYmFzcXVlLnBhdGNoICAgICAg ICB8IDIyICsrKysrKysrKysrKysKIHNyY3BrZ3MvYXVkYWNpdHkvcGF0Y2hlcy93eGJpdG1hcC5w YXRjaCAgICAgICB8IDMxICsrKysrKysrKysrKysrKysrKysKIHNyY3BrZ3MvYXVkYWNpdHkvdGVt cGxhdGUgICAgICAgICAgICAgICAgICAgICB8ICA3ICsrKy0tCiA0IGZpbGVzIGNoYW5nZWQsIDg0 IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtn cy9hdWRhY2l0eS9wYXRjaGVzL3d4LTMuMi5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3Br Z3MvYXVkYWNpdHkvcGF0Y2hlcy93eC13aWRnZXQtaGFzLWJhc3F1ZS5wYXRjaAogY3JlYXRlIG1v ZGUgMTAwNjQ0IHNyY3BrZ3MvYXVkYWNpdHkvcGF0Y2hlcy93eGJpdG1hcC5wYXRjaAoKZGlmZiAt LWdpdCBhL3NyY3BrZ3MvYXVkYWNpdHkvcGF0Y2hlcy93eC0zLjIucGF0Y2ggYi9zcmNwa2dzL2F1 ZGFjaXR5L3BhdGNoZXMvd3gtMy4yLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMDAwMDAuLmQ0MmFlMDlmMzBmNmUKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2F1 ZGFjaXR5L3BhdGNoZXMvd3gtMy4yLnBhdGNoCkBAIC0wLDAgKzEsMjYgQEAKK0luZGV4OiBhdWRh Y2l0eS1BdWRhY2l0eS0yLjQuMS9jb25maWd1cmUKKz09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBhdWRhY2l0eS1B dWRhY2l0eS0yLjQuMS5vcmlnL2NvbmZpZ3VyZQorKysrIGF1ZGFjaXR5LUF1ZGFjaXR5LTIuNC4x L2NvbmZpZ3VyZQorQEAgLTE5OTE4LDcgKzE5OTE4LDcgQEAgd3hfdmVyc2lvbj1gJHtXWF9DT05G SUd9ICR3eGNvbmZpZ2FyZ3MgLQorICRhc19lY2hvICIkYXNfbWU6IENoZWNraW5nIHRoYXQgdGhl IGNob3NlbiB2ZXJzaW9uIG9mIHd4V2lkZ2V0cyBpcyAzLjEueCAob3IgMy4wLngpIiA+JjY7fQor IAorIGNhc2UgIiR7d3hfdmVyc2lvbn0iIGluCistICAzLjEuKiB8IDMuMC4qKQorKyAgMy4yLiog fCAzLjEuKiB8IDMuMC4qKQorICAgICBlY2hvICJHcmVhdCwgeW91J3JlIHVzaW5nIHd4V2lkZ2V0 cyAke3d4X3ZlcnNpb259ISIKKyAgICAgOzsKKyAgICopCitJbmRleDogYXVkYWNpdHktQXVkYWNp dHktMi40LjEvbGliLXNyYy9saWItd2lkZ2V0LWV4dHJhL2NvbmZpZ3VyZQorPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQor LS0tIGF1ZGFjaXR5LUF1ZGFjaXR5LTIuNC4xLm9yaWcvbGliLXNyYy9saWItd2lkZ2V0LWV4dHJh L2NvbmZpZ3VyZQorKysrIGF1ZGFjaXR5LUF1ZGFjaXR5LTIuNC4xL2xpYi1zcmMvbGliLXdpZGdl dC1leHRyYS9jb25maWd1cmUKK0BAIC0xNjYzMyw3ICsxNjYzMyw3IEBAIHd4X3ZlcnNpb249YCR7 V1hfQ09ORklHfSAkd3hjb25maWdhcmdzIC0KKyAkYXNfZWNobyAiJGFzX21lOiBDaGVja2luZyB0 aGF0IHRoZSBjaG9zZW4gdmVyc2lvbiBvZiB3eFdpZGdldHMgaXMgMy4xLnggKG9yIDMuMC54KSIg PiY2O30KKyAKKyBjYXNlICIke3d4X3ZlcnNpb259IiBpbgorLSAgMy4xLiogfCAzLjAuKikKKysg IDMuMi4qIHwgMy4xLiogfCAzLjAuKikKKyAgICAgZWNobyAiR3JlYXQsIHlvdSdyZSB1c2luZyB3 eFdpZGdldHMgJHt3eF92ZXJzaW9ufSEiCisgICAgIDs7CisgICAqKQpkaWZmIC0tZ2l0IGEvc3Jj cGtncy9hdWRhY2l0eS9wYXRjaGVzL3d4LXdpZGdldC1oYXMtYmFzcXVlLnBhdGNoIGIvc3JjcGtn cy9hdWRhY2l0eS9wYXRjaGVzL3d4LXdpZGdldC1oYXMtYmFzcXVlLnBhdGNoCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAuLjRkZDI0ZTc5ZWM4ZTIKLS0tIC9kZXYvbnVs bAorKysgYi9zcmNwa2dzL2F1ZGFjaXR5L3BhdGNoZXMvd3gtd2lkZ2V0LWhhcy1iYXNxdWUucGF0 Y2gKQEAgLTAsMCArMSwyMiBAQAorSW5kZXg6IGF1ZGFjaXR5LUF1ZGFjaXR5LTIuNC4xL3NyYy9B dWRhY2l0eUFwcC5jcHAKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBhdWRhY2l0eS1BdWRhY2l0eS0yLjQuMS5v cmlnL3NyYy9BdWRhY2l0eUFwcC5jcHAKKysrKyBhdWRhY2l0eS1BdWRhY2l0eS0yLjQuMS9zcmMv QXVkYWNpdHlBcHAuY3BwCitAQCAtMTEwMiw3ICsxMTAyLDcgQEAgbG9jYXRpb25zIG9mIHRoZSBt aXNzaW5nIGZpbGVzLiIpLkZvcm1hdAorICNkZWZpbmUgV0wobGFuZyxzdWJsYW5nKQorICNlbmRp ZgorIAorLSNpZiB3eENIRUNLX1ZFUlNJT04oMywgMCwgMSkKKysjaWYgMAorIHd4TGFuZ3VhZ2VJ bmZvIHVzZXJMYW5nc1tdID0KKyB7CisgICAgLy8gQm9zbmlhbiBpcyBkZWZpbmVkIGluIHd4V2lk Z2V0cyBhbHJlYWR5CitAQCAtMTM2Niw3ICsxMzY2LDcgQEAgYm9vbCBBdWRhY2l0eUFwcDo6T25J bml0KCkKKyAgICAvLworICAgIC8vIFRPRE86ICBUaGUgd2hvbGUgTGFuZ3VhZ2UgaW5pdGlhbGl6 YXRpb24gcmVhbGx5IG5lZWQgdG8gYmUgcmV3b3JrZWQuCisgICAgLy8gICAgICAgIEl0J3MgYWxs IG92ZXIgdGhlIHBsYWNlLgorLSNpZiB3eENIRUNLX1ZFUlNJT04oMywgMCwgMSkKKysjaWYgMAor ICAgIGZvciAoc2l6ZV90IGkgPSAwLCBjbnQgPSBXWFNJWkVPRih1c2VyTGFuZ3MpOyBpIDwgY250 OyBpKyspCisgICAgeworICAgICAgIHd4TG9jYWxlOjpBZGRMYW5ndWFnZSh1c2VyTGFuZ3NbaV0p OwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9hdWRhY2l0eS9wYXRjaGVzL3d4Yml0bWFwLnBhdGNoIGIv c3JjcGtncy9hdWRhY2l0eS9wYXRjaGVzL3d4Yml0bWFwLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAuLmFmMThiZDFjYjY1MjQKLS0tIC9kZXYvbnVsbAorKysg Yi9zcmNwa2dzL2F1ZGFjaXR5L3BhdGNoZXMvd3hiaXRtYXAucGF0Y2gKQEAgLTAsMCArMSwzMSBA QAorRnJvbSA1NTM4M2ZjY2QwYzI4MWI0ZjE4OWQ5YjA3Njk5YjIxYmI4MDJjNzM2IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSWFuIE1jSW5lcm5leSA8aWFuLnMubWNpbmVybmV5QGll ZWUub3JnPgorRGF0ZTogRnJpLCA4IEFwciAyMDIyIDAxOjI3OjUyICswMTAwCitTdWJqZWN0OiBb UEFUQ0hdIENhbGwgdGhlIHByb3BlciB3eEJpdG1hcCBjb25zdHJ1Y3RvciBmb3IgWFBNIGRhdGEK Kword3hCaXRtYXAgYmFjayB0byBhdCBsZWFzdCAzLjAuMCBkaWQgbm90IGhhdmUgYSBjb25zdHJ1 Y3RvciBmb3IgYW4gWFBNCitpbWFnZSB0aGF0IHRvb2sgYSBzaXplIHBhcmFtZXRlciwgaXQgd291 bGQgb25seSB0YWtlIHRoZSBYUE0gZGF0YQoraXRzZWxmLgorCitJIGRvbid0IGtub3cgaG93IHRo aXMgY29tcGlsZWQgdW50aWwgbm93LCBidXQgaXQgZG9lc24ndCBhbnltb3JlIHdoZW4KK3RoZSBz aXplIGlzIGluY2x1ZGVkIGFuZCBidWlsdCBhZ2FpbnN0IHd4IDMuMS42IGluIEZlZG9yYS4KKy0t LQorIHNyYy9NaXhlckJvYXJkLmNwcCB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRp b24oKyksIDEgZGVsZXRpb24oLSkKKyAKKyBUZWNobmljYWxseSB0aGlzIHBhdGNoIGlzIHVuZGVy IEdQTHYzKyBiZWNhdXNlIGl0IHdhcyBjb250cmlidXRlZCBhZnRlcgorIHJlIGxpY2Vuc2luZwor CitkaWZmIC0tZ2l0IGEvc3JjL01peGVyQm9hcmQuY3BwIGIvc3JjL01peGVyQm9hcmQuY3BwCitp bmRleCA1NGI1ZjE0NmNjNy4uN2ZlODE2MTU0NzQgMTAwNjQ0CistLS0gYS9zcmMvTWl4ZXJCb2Fy ZC5jcHAKKysrKyBiL3NyYy9NaXhlckJvYXJkLmNwcAorQEAgLTEzMDcsNyArMTMwNyw3IEBAIHZv aWQgTWl4ZXJCb2FyZDo6TG9hZE11c2ljYWxJbnN0cnVtZW50cygpCisgICAgd3hNZW1vcnlEQyBk YzsKKyAKKyAgICBmb3IgKGNvbnN0IGF1dG8gJmRhdGEgOiB0YWJsZSkgeworLSAgICAgIGF1dG8g Ym1wID0gc3RkOjptYWtlX3VuaXF1ZTx3eEJpdG1hcD4oZGF0YS5iaXRtYXAsMjQpOworKyAgICAg IGF1dG8gYm1wID0gc3RkOjptYWtlX3VuaXF1ZTx3eEJpdG1hcD4oZGF0YS5iaXRtYXApOworICAg ICAgIGRjLlNlbGVjdE9iamVjdCgqYm1wKTsKKyAgICAgICBBQ29sb3I6OkJldmVsKGRjLCBmYWxz ZSwgYmV2KTsKKyAgICAgICBtTXVzaWNhbEluc3RydW1lbnRzLnB1c2hfYmFjayhzdGQ6Om1ha2Vf dW5pcXVlPE11c2ljYWxJbnN0cnVtZW50PigKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvYXVkYWNpdHkv dGVtcGxhdGUgYi9zcmNwa2dzL2F1ZGFjaXR5L3RlbXBsYXRlCmluZGV4IDI4ZTljNGEzNTI4ZjEu LmU3OTk3MWQ2OWQwMTYgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvYXVkYWNpdHkvdGVtcGxhdGUKKysr IGIvc3JjcGtncy9hdWRhY2l0eS90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUg ZmlsZSBmb3IgJ2F1ZGFjaXR5JwogcGtnbmFtZT1hdWRhY2l0eQogdmVyc2lvbj0yLjQuMQotcmV2 aXNpb249MgorcmV2aXNpb249MwogYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQogY29uZmlndXJl X2FyZ3M9Ii0td2l0aC1mZm1wZWc9c3lzdGVtIC0td2l0aC1saWJzbmRmaWxlPXN5c3RlbSAtLXdp dGgtZXhwYXQ9c3lzdGVtCiAgLS13aXRoLWxpYnNveHI9c3lzdGVtIC0td2l0aC1sYW1lPXN5c3Rl bSAtLXdpdGgtbHYyPXN5c3RlbSBhY19jdl9wYXRoX1dYX0NPTkZJRz13eC1jb25maWctZ3RrMyIK QEAgLTEzLDcgKzEzLDggQEAgbWFrZWRlcGVuZHM9ImphY2stZGV2ZWwgd3hXaWRnZXRzLWd0azMt ZGV2ZWwgZ3RrKzMtZGV2ZWwKIGRlcGVuZHM9ImRlc2t0b3AtZmlsZS11dGlscyBoaWNvbG9yLWlj b24tdGhlbWUiCiBzaG9ydF9kZXNjPSJHcmFwaGljYWwgY3Jvc3MtcGxhdGZvcm0gYXVkaW8gZWRp dG9yIgogbWFpbnRhaW5lcj0iT3JwaGFuZWQgPG9ycGhhbkB2b2lkbGludXgub3JnPiIKLWxpY2Vu c2U9IkdQTC0yLjAtb3ItbGF0ZXIiCisjIFBhdGNoZXMgYXJlIEdQTDMrLCBzbyBidW1wIHRoZSBs aWNlbnNlIGZvciB0aGUgd2hvbGUgcGFja2FnZQorbGljZW5zZT0iR1BMLTMuMC1vci1sYXRlciIK IGhvbWVwYWdlPSJodHRwczovL3d3dy5hdWRhY2l0eXRlYW0ub3JnIgogZGlzdGZpbGVzPSJodHRw czovL2dpdGh1Yi5jb20vYXVkYWNpdHkvYXVkYWNpdHkvYXJjaGl2ZS9BdWRhY2l0eS0ke3ZlcnNp b259LnRhci5neiIKIGNoZWNrc3VtPTUwMjQwZjA3NDcxMzczYTdlNWMyZGY2NWNjMjZlZWVhYWNl ZDlhMDg1MGFkMWY5NWNiNzk1ZjE3MWVhMzAwOWYKQEAgLTI3LDYgKzI4LDggQEAgaWYgWyAiJFhC UFNfVEFSR0VUX05PX0FUT01JQzgiIF07IHRoZW4KIAlMREZMQUdTPSItbGF0b21pYyIKIGZpCiAK K0NYWEZMQUdTPSItRF9MQVJHRUZJTEVfU09VUkNFIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQiCisK IHBvc3RfaW5zdGFsbCgpIHsKIAl2Y29weSBueXF1aXN0IC91c3Ivc2hhcmUvYXVkYWNpdHkKIAl2 Y29weSBwbHVnLWlucyAvdXNyL3NoYXJlL2F1ZGFjaXR5CgpGcm9tIDU0ZjUxNjI3YmNmZTA4NWMx YTYzZmJiYzYwYmQwMzk5NTRhNGFjMmMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ICJB bmRyZXcgSi4gSGVzZm9yZCIgPGFqaEBzaWRlYmFuZC5vcmc+CkRhdGU6IE1vbiwgMjUgU2VwIDIw MjMgMDA6MTg6MjAgLTA0MDAKU3ViamVjdDogW1BBVENIIDE4LzQzXSBib2luYzogcmVidWlsZCB3 aXRoIHd4V2lkZ2V0cy1ndGszLTMuMi4yLjEKCi0tLQogc3JjcGtncy9ib2luYy90ZW1wbGF0ZSB8 IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9zcmNwa2dzL2JvaW5jL3RlbXBsYXRlIGIvc3JjcGtncy9ib2luYy90ZW1w bGF0ZQppbmRleCBlY2QyYTExMDBiMDE1Li42NWIzZWZjNWMzNDU1IDEwMDY0NAotLS0gYS9zcmNw a2dzL2JvaW5jL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvYm9pbmMvdGVtcGxhdGUKQEAgLTEsNyAr MSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdib2luYycKIHBrZ25hbWU9Ym9pbmMKIHZlcnNp b249Ny4yMi4wCi1yZXZpc2lvbj0yCityZXZpc2lvbj0zCiBfbWFqb3J2ZXI9JHt2ZXJzaW9uJS4q fQogYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQogaG9zdG1ha2VkZXBlbmRzPSJhdXRvbWFrZSBs aWJ0b29sIHBrZy1jb25maWcgeG9yZ3Byb3RvIHNoYXJlZC1taW1lLWluZm8iCkBAIC0yMSw3ICsy MSw3IEBAIGJvaW5jX2hvbWVkaXI9Ii92YXIvbGliL2JvaW5jIgogYm9pbmNfc2hlbGw9Ii9iaW4v YmFzaCIKIGNvbmZsaWN0cz0iYm9pbmMtbm94Pj0wIgogCi1DWFhGTEFHUz0iLVduby1yZWR1bmRh bnQtZGVjbHMiCitDWFhGTEFHUz0iLVduby1yZWR1bmRhbnQtZGVjbHMgLURfTEFSR0VGSUxFX1NP VVJDRSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IgogCiBjYXNlICIkWEJQU19UQVJHRVRfTUFDSElO RSIgaW4KIAlhcm12NmwpIGJyb2tlbj0iYXJtLWxpbnV4LWdudWVhYmloZi1nKys6IGVycm9yOiBs aWJ3aGV0dmZwLmE6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkiIDs7CgpGcm9tIDlkNWIzYjRm ZjI4NTY0M2E0OTAzZWQ1OGU5MjcyMTkxNDIzNGNmMWMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206ICJBbmRyZXcgSi4gSGVzZm9yZCIgPGFqaEBzaWRlYmFuZC5vcmc+CkRhdGU6IE1vbiwg MjUgU2VwIDIwMjMgMDA6MTg6MjAgLTA0MDAKU3ViamVjdDogW1BBVENIIDE5LzQzXSBjb2RlYmxv Y2tzOiByZWJ1aWxkIHdpdGggd3hXaWRnZXRzLWd0azMtMy4yLjIuMQoKLS0tCiBzcmNwa2dzL2Nv ZGVibG9ja3MvcGF0Y2hlcy8wMDAucjExOTkxLnBhdGNoICAgfCAgMjcgKwogLi4uMC52MjAuMDMt cjEyMDA4LnBhdGNoID0+IDAwMC5yMTIwMDgucGF0Y2h9IHwgICAwCiAuLi4xLnYyMC4wMy1yMTIw MTIucGF0Y2ggPT4gMDAwLnIxMjAxMi5wYXRjaH0gfCAgIDAKIHNyY3BrZ3MvY29kZWJsb2Nrcy9w YXRjaGVzLzAwMC5yMTI1MzIucGF0Y2ggICB8ICAxMyArCiBzcmNwa2dzL2NvZGVibG9ja3MvcGF0 Y2hlcy8wMDAucjEyNTgwLnBhdGNoICAgfCA5NDQgKysrKysrKysrKysrKysrKysrCiBzcmNwa2dz L2NvZGVibG9ja3MvcGF0Y2hlcy8wMDAucjEyNzA3LnBhdGNoICAgfCAxMjAgKysrCiBzcmNwa2dz L2NvZGVibG9ja3MvcGF0Y2hlcy93eC0zLjIucGF0Y2ggICAgICAgfCAgMjEgKwogc3JjcGtncy9j b2RlYmxvY2tzL3RlbXBsYXRlICAgICAgICAgICAgICAgICAgIHwgICA0ICstCiA4IGZpbGVzIGNo YW5nZWQsIDExMjggaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQogY3JlYXRlIG1vZGUgMTAw NjQ0IHNyY3BrZ3MvY29kZWJsb2Nrcy9wYXRjaGVzLzAwMC5yMTE5OTEucGF0Y2gKIHJlbmFtZSBz cmNwa2dzL2NvZGVibG9ja3MvcGF0Y2hlcy97MDAwLnYyMC4wMy1yMTIwMDgucGF0Y2ggPT4gMDAw LnIxMjAwOC5wYXRjaH0gKDEwMCUpCiByZW5hbWUgc3JjcGtncy9jb2RlYmxvY2tzL3BhdGNoZXMv ezAwMS52MjAuMDMtcjEyMDEyLnBhdGNoID0+IDAwMC5yMTIwMTIucGF0Y2h9ICgxMDAlKQogY3Jl YXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY29kZWJsb2Nrcy9wYXRjaGVzLzAwMC5yMTI1MzIucGF0 Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2NvZGVibG9ja3MvcGF0Y2hlcy8wMDAucjEy NTgwLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9jb2RlYmxvY2tzL3BhdGNoZXMv MDAwLnIxMjcwNy5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY29kZWJsb2Nrcy9w YXRjaGVzL3d4LTMuMi5wYXRjaAoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY29kZWJsb2Nrcy9wYXRj aGVzLzAwMC5yMTE5OTEucGF0Y2ggYi9zcmNwa2dzL2NvZGVibG9ja3MvcGF0Y2hlcy8wMDAucjEx OTkxLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAuLjBjZGI3 MjUxZmRjZWQKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2NvZGVibG9ja3MvcGF0Y2hlcy8w MDAucjExOTkxLnBhdGNoCkBAIC0wLDAgKzEsMjcgQEAKK0luZGV4OiBzcmMvc3JjL21haW4uY3Bw Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09CistLS0gYS9zcmMvc3JjL21haW4uY3BwCShyZXZpc2lvbiAxMTk5MCkKKysr KyBiL3NyYy9zcmMvbWFpbi5jcHAJKHJldmlzaW9uIDExOTkxKQorQEAgLTI2ODAsOCArMjY4MCw2 IEBACisgICAgIGVsc2UKKyAgICAgeworICAgICAgICAgd3hCdXN5Q3Vyc29yIHVzZWxlc3M7Cist ICAgICAgICB3eFBhaW50RXZlbnQgZTsKKy0gICAgICAgIFByb2Nlc3NFdmVudChlKTsKKyAgICAg ICAgIGZvciAodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgZmlsZXMuR2V0Q291bnQoKTsgKytpKQor ICAgICAgICAgICBzdWNjZXNzICY9IE9wZW5HZW5lcmljKGZpbGVzW2ldKTsKKyAgICAgfQorSW5k ZXg6IHNyYy9zcmMvd2F0Y2hlc2RsZy5jcHAKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBhL3NyYy9zcmMvd2F0 Y2hlc2RsZy5jcHAJKHJldmlzaW9uIDExOTkwKQorKysrIGIvc3JjL3NyYy93YXRjaGVzZGxnLmNw cAkocmV2aXNpb24gMTE5OTEpCitAQCAtMTAzLDggKzEwMyw3IEBACisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNiX3VudXNlZCBjb25zdCB3eFBvaW50JiBwb3MsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNiX3VudXNlZCBjb25zdCB3eFNpemUmIHN6KSBj b25zdCBvdmVycmlkZQorICAgICB7CistICAgICAgICB3eFBHV2luZG93TGlzdCBjb25zdCBsaXN0 OworLSAgICAgICAgcmV0dXJuIGxpc3Q7CisrICAgICAgICByZXR1cm4gd3hQR1dpbmRvd0xpc3Qo bnVsbHB0ciwgbnVsbHB0cik7CisgICAgIH0KKyAgICAgdm9pZCBVcGRhdGVDb250cm9sKGNiX3Vu dXNlZCB3eFBHUHJvcGVydHkqIHByb3BlcnR5LCBjYl91bnVzZWQgd3hXaW5kb3cqIGN0cmwpIGNv bnN0IG92ZXJyaWRlIHt9CisgICAgIGJvb2wgT25FdmVudChjYl91bnVzZWQgd3hQcm9wZXJ0eUdy aWQqIHByb3BncmlkLCBjYl91bnVzZWQgd3hQR1Byb3BlcnR5KiBwcm9wZXJ0eSwKZGlmZiAtLWdp dCBhL3NyY3BrZ3MvY29kZWJsb2Nrcy9wYXRjaGVzLzAwMC52MjAuMDMtcjEyMDA4LnBhdGNoIGIv c3JjcGtncy9jb2RlYmxvY2tzL3BhdGNoZXMvMDAwLnIxMjAwOC5wYXRjaApzaW1pbGFyaXR5IGlu ZGV4IDEwMCUKcmVuYW1lIGZyb20gc3JjcGtncy9jb2RlYmxvY2tzL3BhdGNoZXMvMDAwLnYyMC4w My1yMTIwMDgucGF0Y2gKcmVuYW1lIHRvIHNyY3BrZ3MvY29kZWJsb2Nrcy9wYXRjaGVzLzAwMC5y MTIwMDgucGF0Y2gKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY29kZWJsb2Nrcy9wYXRjaGVzLzAwMS52 MjAuMDMtcjEyMDEyLnBhdGNoIGIvc3JjcGtncy9jb2RlYmxvY2tzL3BhdGNoZXMvMDAwLnIxMjAx Mi5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gc3JjcGtncy9jb2RlYmxv Y2tzL3BhdGNoZXMvMDAxLnYyMC4wMy1yMTIwMTIucGF0Y2gKcmVuYW1lIHRvIHNyY3BrZ3MvY29k ZWJsb2Nrcy9wYXRjaGVzLzAwMC5yMTIwMTIucGF0Y2gKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY29k ZWJsb2Nrcy9wYXRjaGVzLzAwMC5yMTI1MzIucGF0Y2ggYi9zcmNwa2dzL2NvZGVibG9ja3MvcGF0 Y2hlcy8wMDAucjEyNTMyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MDAwMDAuLjE1YTJmZmYyOGUyZTcKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2NvZGVibG9j a3MvcGF0Y2hlcy8wMDAucjEyNTMyLnBhdGNoCkBAIC0wLDAgKzEsMTMgQEAKK0luZGV4OiBzcmMv aW5jbHVkZS9jY21hbmFnZXIuaAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGEvc3JjL2luY2x1ZGUvY2NtYW5h Z2VyLmgJKHJldmlzaW9uIDEyNTMxKQorKysrIGIvc3JjL2luY2x1ZGUvY2NtYW5hZ2VyLmgJKHJl dmlzaW9uIDEyNTMyKQorQEAgLTQ0LDcgKzQ0LDcgQEAKKyAgKiBsaXN0IG9yIHRoZSBkb3h5Z2Vu IHBvcHVwLCB0aGUgc2Nyb2xsIGV2ZW50IGlzIGluc3RlYWQgc2VudCB0aGVyZSAoYW5kIHNraXBw ZWQgZm9yIHRoZSBlZGl0b3IKKyAgKiB3aW5kb3cpLgorICAqLworLWNsYXNzIERMTElNUE9SVCBD Q01hbmFnZXIgOiBwdWJsaWMgTWdyPENDTWFuYWdlcj4sIHd4RXZ0SGFuZGxlcgorK2NsYXNzIERM TElNUE9SVCBDQ01hbmFnZXIgOiBwdWJsaWMgTWdyPENDTWFuYWdlcj4sIHB1YmxpYyB3eEV2dEhh bmRsZXIKKyB7CisgICAgIHB1YmxpYzoKKyAgICAgICAgIGZyaWVuZCBjbGFzcyBNZ3I8Q0NNYW5h Z2VyPjsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY29kZWJsb2Nrcy9wYXRjaGVzLzAwMC5yMTI1ODAu cGF0Y2ggYi9zcmNwa2dzL2NvZGVibG9ja3MvcGF0Y2hlcy8wMDAucjEyNTgwLnBhdGNoCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAuLjc5MzBjNWM1Njc3YjIKLS0tIC9k ZXYvbnVsbAorKysgYi9zcmNwa2dzL2NvZGVibG9ja3MvcGF0Y2hlcy8wMDAucjEyNTgwLnBhdGNo CkBAIC0wLDAgKzEsOTQ0IEBACitJbmRleDogc3JjL3NyYy9ub3RlYm9va3N0eWxlcy5oCis9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09CistLS0gYS9zcmMvc3JjL25vdGVib29rc3R5bGVzLmgJKHJldmlzaW9uIDEyNTc5KQor KysrIGIvc3JjL3NyYy9ub3RlYm9va3N0eWxlcy5oCShyZXZpc2lvbiAxMjU4MCkKK0BAIC04LDE0 ICs4LDYgQEAKKyAKKyAjaW5jbHVkZSAiY2JhdWlib29rLmgiCisgCistI2lmIGRlZmluZWQoX19X WEdUS19fKSAmJiAoVVNFX0dUS19OT1RFQk9PSykgJiYgIXd4Q0hFQ0tfVkVSU0lPTigzLCAwLCAw KQorLSAgICAjZGVmaW5lIEdTb2NrZXQgR0xpYlNvY2tldAorLSAgICAjaW5jbHVkZSA8Z3RrL2d0 ay5oPgorLSAgICAjdW5kZWYgR1NvY2tldAorLSAgICAjaW5jbHVkZSA8d3gvYXJ0cHJvdi5oPgor LSNlbmRpZgorLQorLQorIGNsYXNzIHd4REM7CisgY2xhc3Mgd3hXaW5kb3c7CisgY2xhc3Mgd3hS ZWN0OworQEAgLTUzLDM1ICs0NSw0IEBACisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv bnN0IHd4U2l6ZSYgcmVxdWlyZWRfYm1wX3NpemUpIG92ZXJyaWRlOworIH07CisgCistI2lmIGRl ZmluZWQoX19XWEdUS19fKSAmJiAoVVNFX0dUS19OT1RFQk9PSykgJiYgIXd4Q0hFQ0tfVkVSU0lP TigzLCAwLCAwKQorLWNsYXNzIE5iU3R5bGVHVEsgOiBwdWJsaWMgd3hBdWlEZWZhdWx0VGFiQXJ0 CisteworLXB1YmxpYzoKKy0gICAgTmJTdHlsZUdUSygpOworLQorLSAgICB2aXJ0dWFsIHd4QXVp VGFiQXJ0KiBDbG9uZSgpOworLSAgICB2aXJ0dWFsIHZvaWQgRHJhd0JhY2tncm91bmQod3hEQyYg ZGMsIHd4V2luZG93KiB3bmQsIGNvbnN0IHd4UmVjdCYgcmVjdCk7CistICAgIHZpcnR1YWwgdm9p ZCBEcmF3VGFiKHd4REMmIGRjLAorLSAgICAgICAgICAgICAgICAgICAgICAgICB3eFdpbmRvdyog d25kLAorLSAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB3eEF1aU5vdGVib29rUGFnZSYg cGFnZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgd3hSZWN0JiBpbl9yZWN0LAor LSAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgY2xvc2VfYnV0dG9uX3N0YXRlLAorLSAgICAg ICAgICAgICAgICAgICAgICAgICB3eFJlY3QqIG91dF90YWJfcmVjdCwKKy0gICAgICAgICAgICAg ICAgICAgICAgICAgd3hSZWN0KiBvdXRfYnV0dG9uX3JlY3QsCistICAgICAgICAgICAgICAgICAg ICAgICAgIGludCogeF9leHRlbnQpOworLSAgICB2b2lkIERyYXdCdXR0b24od3hEQyYgZGMsIHd4 V2luZG93KiB3bmQsIGNvbnN0IHd4UmVjdCYgaW5fcmVjdCwgaW50IGJpdG1hcF9pZCwKKy0gICAg ICAgICAgICAgICAgICAgIGludCBidXR0b25fc3RhdGUsIGludCBvcmllbnRhdGlvbiwgd3hSZWN0 KiBvdXRfcmVjdCk7CistICAgIGludCBHZXRCZXN0VGFiQ3RybFNpemUod3hXaW5kb3cqIHduZCwg Y29uc3Qgd3hBdWlOb3RlYm9va1BhZ2VBcnJheSYgcGFnZXMsCistICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGNvbnN0IHd4U2l6ZSYgcmVxdWlyZWRfYm1wX3NpemUpOworLSAgICB2aXJ0dWFs IHd4U2l6ZSBHZXRUYWJTaXplKHd4REMmIGRjLCB3eFdpbmRvdyogd25kLCBjb25zdCB3eFN0cmlu ZyYgY2FwdGlvbiwgY29uc3Qgd3hCaXRtYXAmIGJpdG1hcCwgYm9vbCBhY3RpdmUsCistICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgaW50IGNsb3NlX2J1dHRvbl9zdGF0ZSwgaW50KiB4X2V4 dGVudCk7CistcHJpdmF0ZToKKy0gICAgaW50IG1fWHRoaWNrbmVzczsKKy0gICAgaW50IG1fWXRo aWNrbmVzczsKKy0gICAgaW50IG1fVGFiSEJvcmRlcjsKKy0gICAgaW50IG1fVGFiVkJvcmRlcjsK Ky0gICAgd3hCaXRtYXAgbV9BY3RpdmVDbG9zZUJ1dHRvbjsKKy19OworLSNlbmRpZiAvLyAjaWYg ZGVmaW5lZChfX1dYR1RLX18pICYmIChVU0VfR1RLX05PVEVCT09LKSAmJiAhd3hDSEVDS19WRVJT SU9OKDMsIDAsIDApCistCisgI2VuZGlmIC8vIE5PVEVCT09LU1RZTEVTX0gKK0luZGV4OiBzcmMv cGx1Z2lucy9jb21waWxlcmdjYy9jb21waWxlcm9wdGlvbnNkbGcuY3BwCis9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cist LS0gYS9zcmMvcGx1Z2lucy9jb21waWxlcmdjYy9jb21waWxlcm9wdGlvbnNkbGcuY3BwCShyZXZp c2lvbiAxMjU3OSkKKysrKyBiL3NyYy9wbHVnaW5zL2NvbXBpbGVyZ2NjL2NvbXBpbGVyb3B0aW9u c2RsZy5jcHAJKHJldmlzaW9uIDEyNTgwKQorQEAgLTY3NywxMyArNjc3LDkgQEAKKyAgICAgd3hQ R1Byb3BlcnR5ICpyb290ID0gbV9GbGFnc1BHLT5HZXRSb290KCk7CisgICAgIGlmIChyb290KQor ICAgICB7CistICAgICAgICB1bnNpZ25lZCBjb3VudCA9IHJvb3QtPkdldENoaWxkQ291bnQoKTsK KysgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNvdW50ID0gcm9vdC0+R2V0Q2hpbGRDb3VudCgpOwor ICAgICAgICAgZm9yICh1bnNpZ25lZCBpaSA9IDA7IGlpIDwgY291bnQ7ICsraWkpCistI2lmIHd4 Q0hFQ0tfVkVSU0lPTigzLCAwLCAwKQorICAgICAgICAgICAgIG1fRmxhZ3NQRy0+U29ydENoaWxk cmVuKHJvb3QtPkl0ZW0oaWkpLCB3eFBHX1JFQ1VSU0UpOworLSNlbHNlCistICAgICAgICAgICAg bV9GbGFnc1BHLT5Tb3J0KHJvb3QtPkl0ZW0oaWkpKTsKKy0jZW5kaWYKKyAgICAgfQorICAgICBt X0ZsYWdzUEctPlRoYXcoKTsKKyB9IC8vIERvRmlsbE9wdGlvbnMKK0BAIC0yMTE4LDExICsyMTE0 LDcgQEAKKyAgICAgQ29tcGlsZXJGYWN0b3J5OjpTZXREZWZhdWx0Q29tcGlsZXIoaWR4KTsKKyAg ICAgd3hTdHJpbmcgbXNnOworICAgICBDb21waWxlciogY29tcGlsZXIgPSBDb21waWxlckZhY3Rv cnk6OkdldERlZmF1bHRDb21waWxlcigpOworLSAgICAjaWYgd3hDSEVDS19WRVJTSU9OKDMsIDAs IDApCistICAgIG1zZy5QcmludGYoXygiJXMgaXMgbm93IHNlbGVjdGVkIGFzIHRoZSBkZWZhdWx0 IGNvbXBpbGVyIGZvciBuZXcgcHJvamVjdHMiKSwgY29tcGlsZXIgPyBjb21waWxlci0+R2V0TmFt ZSgpLnd4X3N0cigpIDogXygiW2ludmFsaWRdIikud3hfc3RyKCkpOworLSAgICAjZWxzZQorLSAg ICBtc2cuUHJpbnRmKF8oIiVzIGlzIG5vdyBzZWxlY3RlZCBhcyB0aGUgZGVmYXVsdCBjb21waWxl ciBmb3IgbmV3IHByb2plY3RzIiksIGNvbXBpbGVyID8gY29tcGlsZXItPkdldE5hbWUoKS5jX3N0 cigpIDogXygiW2ludmFsaWRdIikpOworLSAgICAjZW5kaWYKKysgICAgbXNnLlByaW50ZihfKCIl cyBpcyBub3cgc2VsZWN0ZWQgYXMgdGhlIGRlZmF1bHQgY29tcGlsZXIgZm9yIG5ldyBwcm9qZWN0 cyIpLCBjb21waWxlciA/IGNvbXBpbGVyLT5HZXROYW1lKCkgOiBfKCJbaW52YWxpZF0iKSk7Cisg ICAgIGNiTWVzc2FnZUJveChtc2cpOworIH0gLy8gT25TZXREZWZhdWx0Q29tcGlsZXJDbGljawor IAorSW5kZXg6IHNyYy9zZGsvdGVtcGxhdGVtYW5hZ2VyLmNwcAorPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGEv c3JjL3Nkay90ZW1wbGF0ZW1hbmFnZXIuY3BwCShyZXZpc2lvbiAxMjU3OSkKKysrKyBiL3NyYy9z ZGsvdGVtcGxhdGVtYW5hZ2VyLmNwcAkocmV2aXNpb24gMTI1ODApCitAQCAtMTg2LDExICsxODYs NyBAQAorICAgICAgICAgICAgICsrY291bnQ7CisgICAgICAgICB9CisgICAgICAgICBlbHNlCist ICAgICAgICAgICAgI2lmIHd4Q0hFQ0tfVkVSU0lPTigzLCAwLCAwKQorICAgICAgICAgICAgIE1h bmFnZXI6OkdldCgpLT5HZXRMb2dNYW5hZ2VyKCktPkRlYnVnTG9nKEYoX1QoIkZhaWxlZCBjb3B5 aW5nICVzIHRvICVzIiksIHNyYy53eF9zdHIoKSwgZHN0Lnd4X3N0cigpKSk7CistICAgICAgICAg ICAgI2Vsc2UKKy0gICAgICAgICAgICBNYW5hZ2VyOjpHZXQoKS0+R2V0TG9nTWFuYWdlcigpLT5E ZWJ1Z0xvZyhGKF9UKCJGYWlsZWQgY29weWluZyAlcyB0byAlcyIpLCBzcmMuY19zdHIoKSwgZHN0 LmNfc3RyKCkpKTsKKy0gICAgICAgICAgICAjZW5kaWYKKyAgICAgfQorICAgICBpZiAoY291bnQg IT0gdG90YWxfY291bnQpCisgICAgICAgICBjYk1lc3NhZ2VCb3goXygiU29tZSBmaWxlcyBjb3Vs ZCBub3QgYmUgbG9hZGVkIHdpdGggdGhlIHRlbXBsYXRlLi4uIiksIF8oIkVycm9yIiksIHd4SUNP Tl9FUlJPUik7CitAQCAtMzAzLDIxICsyOTksMTMgQEAKKyAgICAgeworICAgICAgICAgd3hTdHJp bmcgc3JjID0gKCppdCktPmZpbGUuR2V0RnVsbFBhdGgoKTsKKyAgICAgICAgIHd4U3RyaW5nIGRz dCA9IHRlbXBsICsgKCppdCktPnJlbGF0aXZlVG9Db21tb25Ub3BMZXZlbFBhdGg7CistICAgICAg ICAjaWYgd3hDSEVDS19WRVJTSU9OKDMsIDAsIDApCisgICAgICAgICBNYW5hZ2VyOjpHZXQoKS0+ R2V0TG9nTWFuYWdlcigpLT5EZWJ1Z0xvZyhGKF9UKCJDb3B5aW5nICVzIHRvICVzIiksIHNyYy53 eF9zdHIoKSwgZHN0Lnd4X3N0cigpKSk7CistICAgICAgICAjZWxzZQorLSAgICAgICAgTWFuYWdl cjo6R2V0KCktPkdldExvZ01hbmFnZXIoKS0+RGVidWdMb2coRihfVCgiQ29weWluZyAlcyB0byAl cyIpLCBzcmMuY19zdHIoKSwgZHN0LmNfc3RyKCkpKTsKKy0gICAgICAgICNlbmRpZgorICAgICAg ICAgaWYgKCFDcmVhdGVEaXJSZWN1cnNpdmVseShkc3QpKQorICAgICAgICAgICAgIE1hbmFnZXI6 OkdldCgpLT5HZXRMb2dNYW5hZ2VyKCktPkRlYnVnTG9nKF9UKCJGYWlsZWQgY3JlYXRpbmcgZGly ZWN0b3J5IGZvciAiKSArIGRzdCk7CisgICAgICAgICBpZiAod3hDb3B5RmlsZShzcmMsIGRzdCwg dHJ1ZSkpCisgICAgICAgICAgICAgKytjb3VudDsKKyAgICAgICAgIGVsc2UKKy0gICAgICAgICAg ICAjaWYgd3hDSEVDS19WRVJTSU9OKDMsIDAsIDApCisgICAgICAgICAgICAgTWFuYWdlcjo6R2V0 KCktPkdldExvZ01hbmFnZXIoKS0+RGVidWdMb2coRihfVCgiRmFpbGVkIGNvcHlpbmcgJXMgdG8g JXMiKSwgc3JjLnd4X3N0cigpLCBkc3Qud3hfc3RyKCkpKTsKKy0gICAgICAgICAgICAjZWxzZQor LSAgICAgICAgICAgIE1hbmFnZXI6OkdldCgpLT5HZXRMb2dNYW5hZ2VyKCktPkRlYnVnTG9nKEYo X1QoIkZhaWxlZCBjb3B5aW5nICVzIHRvICVzIiksIHNyYy5jX3N0cigpLCBkc3QuY19zdHIoKSkp OworLSAgICAgICAgICAgICNlbmRpZgorICAgICB9CisgCisgICAgIC8vIGNiUHJvamVjdCBkb2Vz bid0IGhhdmUgYSBHZXRSZWxhdGl2ZVRvQ29tbW9uVG9wTGV2ZWxQYXRoKCkgZnVuY3Rpb24sIHNv IHdlIHNpbXVsYXRlIGl0IGhlcmUKK0luZGV4OiBzcmMvc3JjL2Fzc29jaWF0aW9ucy5jcHAKKz09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KKy0tLSBhL3NyYy9zcmMvYXNzb2NpYXRpb25zLmNwcAkocmV2aXNpb24gMTI1Nzkp CisrKysgYi9zcmMvc3JjL2Fzc29jaWF0aW9ucy5jcHAJKHJldmlzaW9uIDEyNTgwKQorQEAgLTIw MSwxMSArMjAxLDcgQEAKKyAgICAgaWYgKGtleS5FeGlzdHMoKSkKKyAgICAgeworICAgICAgICAg d3hTdHJpbmcgczsKKy0gICAgICAgICNpZiB3eENIRUNLX1ZFUlNJT04oMywgMCwgMCkKKyAgICAg ICAgIGlmIChrZXkuUXVlcnlWYWx1ZSh3eEVtcHR5U3RyaW5nLCBzKSAmJiBzLlN0YXJ0c1dpdGgo X1QoIkNvZGVCbG9ja3MiKSkpCistICAgICAgICAjZWxzZQorLSAgICAgICAgaWYgKGtleS5RdWVy eVZhbHVlKE5VTEwsIHMpICYmIHMuU3RhcnRzV2l0aChfVCgiQ29kZUJsb2NrcyIpKSkKKy0gICAg ICAgICNlbmRpZgorICAgICAgICAgICAgIGtleS5EZWxldGVTZWxmKCk7CisgICAgIH0KKyAKK0lu ZGV4OiBzcmMvc3JjL2RsZ2Fib3V0LmNwcAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGEvc3JjL3NyYy9kbGdh Ym91dC5jcHAJKHJldmlzaW9uIDEyNTc5KQorKysrIGIvc3JjL3NyYy9kbGdhYm91dC5jcHAJKHJl dmlzaW9uIDEyNTgwKQorQEAgLTIwLDkgKzIwLDcgQEAKKyAgICAgI2luY2x1ZGUgPHd4L3N0cmlu Zy5oPgorICAgICAjaW5jbHVkZSA8d3gvdGV4dGN0cmwuaD4KKyAgICAgI2luY2x1ZGUgPHd4L3hy Yy94bWxyZXMuaD4KKy0gICAgI2lmIHd4Q0hFQ0tfVkVSU0lPTigzLCAwLCAwKQorLSAgICAgICAg I2luY2x1ZGUgPHd4L3ZlcnNpb25pbmZvLmg+CistICAgICNlbmRpZiAvLyB3eENIRUNLX1ZFUlNJ T04KKysgICAgI2luY2x1ZGUgPHd4L3ZlcnNpb25pbmZvLmg+CisgCisgICAgICNpbmNsdWRlICJs aWNlbnNlcy5oIgorICAgICAjaW5jbHVkZSAiY29uZmlnbWFuYWdlci5oIgorQEAgLTE0NiwxNSAr MTQ0LDExIEBACisgICAgIHd4VGV4dEN0cmwgKnR4dExpY2Vuc2UgPSBYUkNDVFJMKCp0aGlzLCAi dHh0TGljZW5zZSIsIHd4VGV4dEN0cmwpOworICAgICB0eHRMaWNlbnNlLT5TZXRWYWx1ZShMSUNF TlNFX0dQTCk7CisgCistI2lmIHd4Q0hFQ0tfVkVSU0lPTigzLCAwLCAwKQorICAgICBjb25zdCB3 eFZlcnNpb25JbmZvIHNjaW50aWxsYVZlcnNpb24gPSB3eFNjaW50aWxsYTo6R2V0TGlicmFyeVZl cnNpb25JbmZvKCk7CisgICAgIGNvbnN0IHd4U3RyaW5nIHNjaW50aWxsYVN0ciA9IHd4U3RyaW5n OjpGb3JtYXQod3hUKCIlZC4lZC4lZCIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHNjaW50aWxsYVZlcnNpb24uR2V0TWFqb3IoKSwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY2ludGlsbGFW ZXJzaW9uLkdldE1pbm9yKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc2NpbnRpbGxhVmVyc2lvbi5HZXRNaWNybygpKTsKKy0jZWxzZQorLSAg ICBjb25zdCB3eFN0cmluZyBzY2ludGlsbGFTdHIgPSB3eFNDSU5USUxMQV9WRVJTSU9OOworLSNl bmRpZiAvLyB3eENIRUNLX1ZFUlNJT04KKyAKKyAgICAgc3RydWN0IEl0ZW0KKyAgICAgeworQEAg LTIxOCw5ICsyMTIsNyBAQAorICAgICAgICAgaW5mb3JtYXRpb24gKz0gd3hUKCI6ICIpICsgaXRl bS52YWx1ZSArIHd4VCgiXG4iKTsKKyAgICAgfQorIAorLSNpZiB3eENIRUNLX1ZFUlNJT04oMywg MCwgMCkKKyAgICAgaW5mb3JtYXRpb24gKz0gd3hUKCJcbiIpICsgd3hHZXRMaWJyYXJ5VmVyc2lv bkluZm8oKS5HZXREZXNjcmlwdGlvbigpOworLSNlbmRpZiAvLyB3eENIRUNLX1ZFUlNJT04oMywg MCwgMCkKKyAKKyAgICAgd3hUZXh0Q3RybCAqdHh0SW5mb3JtYXRpb24gPSBYUkNDVFJMKCp0aGlz LCAidHh0SW5mb3JtYXRpb24iLCB3eFRleHRDdHJsKTsKKyAgICAgdHh0SW5mb3JtYXRpb24tPlNl dFZhbHVlKGluZm9ybWF0aW9uKTsKK0luZGV4OiBzcmMvc3JjL21haW4uY3BwCis9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 CistLS0gYS9zcmMvc3JjL21haW4uY3BwCShyZXZpc2lvbiAxMjU3OSkKKysrKyBiL3NyYy9zcmMv bWFpbi5jcHAJKHJldmlzaW9uIDEyNTgwKQorQEAgLTIwNzUsMTEgKzIwNzUsNyBAQAorICAgICAg ICAgeworICAgICAgICAgICAgIGlmICghaXRlbXNbaV0tPklzQ2hlY2thYmxlKCkpCisgICAgICAg ICAgICAgICAgIGNvbnRpbnVlOworLSNpZiB3eENIRUNLX1ZFUlNJT04oMywgMCwgMCkKKyAgICAg ICAgICAgICBpdGVtc1tpXS0+Q2hlY2soaXRlbXNbaV0tPkdldEl0ZW1MYWJlbCgpLklzU2FtZUFz KG5hbWUpKTsKKy0jZWxzZQorLSAgICAgICAgICAgIGl0ZW1zW2ldLT5DaGVjayhpdGVtc1tpXS0+ R2V0VGV4dCgpLklzU2FtZUFzKG5hbWUpKTsKKy0jZW5kaWYKKyAgICAgICAgIH0KKyAKKyAgICAg ICAgIGlmICghbV9MYXN0TGF5b3V0SXNUZW1wKQorQEAgLTI0MDEsMTIgKzIzOTcsNyBAQAorICAg ICAgICAgICAgIGJyZWFrOworIAorICAgICAgICAgZGVmYXVsdDogLy8gZGVmYXVsdCBzdHlsZQor LSAgICAgICAgICAgICNpZiBkZWZpbmVkKF9fV1hHVEtfXykgJiYgKFVTRV9HVEtfTk9URUJPT0sp ICYmICF3eENIRUNLX1ZFUlNJT04oMywgMCwgMCkKKy0gICAgICAgICAgICB0YXJnZXQtPlNldEFy dFByb3ZpZGVyKG5ldyBOYlN0eWxlR1RLKCkpOworLSAgICAgICAgICAgICNlbHNlCisgICAgICAg ICAgICAgdGFyZ2V0LT5TZXRBcnRQcm92aWRlcihuZXcgd3hBdWlEZWZhdWx0VGFiQXJ0KCkpOwor LSAgICAgICAgICAgICNlbmRpZgorLSAgICAgICAgICAgIGJyZWFrOworICAgICB9CisgCisgICAg IHRhcmdldC0+U2V0VGFiQ3RybEhlaWdodCgtMSk7CitAQCAtNDgwMSwxMyArNDc5Miw5IEBACisg CisgICAgIGlmIChNYW5hZ2VyOjpHZXQoKS0+R2V0RWRpdG9yTWFuYWdlcigpICYmIGV2ZW50Lkdl dEVkaXRvcigpID09IE1hbmFnZXI6OkdldCgpLT5HZXRFZGl0b3JNYW5hZ2VyKCktPkdldEFjdGl2 ZUVkaXRvcigpKQorICAgICB7CistI2lmIHd4Q0hFQ0tfVkVSU0lPTigzLCAwLCAwKQorICAgICAg ICAgLy8gRXhlY3V0ZSB0aGUgY29kZSB0byB1cGRhdGUgdGhlIHN0YXR1cyBiYXIgb3V0c2lkZSBv ZiB0aGUgcGFpbnQgZXZlbnQgZm9yIHNjaW50aWxsYS4KKyAgICAgICAgIC8vIEV4ZWN1dGluZyB0 aGlzIGZ1bmN0aW9uIGRpcmVjdGx5IGluIHRoZSBldmVudCBoYW5kbGVyIGNhdXNlcyByZWRyYXcg cHJvYmxlbXMgb24gV2luZG93cy4KKyAgICAgICAgIENhbGxBZnRlcigmTWFpbkZyYW1lOjpEb1Vw ZGF0ZVN0YXR1c0Jhcik7CistI2Vsc2UKKy0gICAgICAgIERvVXBkYXRlU3RhdHVzQmFyKCk7Cist I2VuZGlmIC8vIGRlZmluZWQoX193eE1TV19fKSAmJiB3eENIRUNLX1ZFUlNJT04oMywgMCwgMCkK KyAgICAgfQorIAorICAgICBldmVudC5Ta2lwKCk7CitJbmRleDogc3JjL3NyYy9ub3RlYm9va3N0 eWxlcy5jcHAKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KKy0tLSBhL3NyYy9zcmMvbm90ZWJvb2tzdHlsZXMuY3BwCShy ZXZpc2lvbiAxMjU3OSkKKysrKyBiL3NyYy9zcmMvbm90ZWJvb2tzdHlsZXMuY3BwCShyZXZpc2lv biAxMjU4MCkKK0BAIC0xMywxNCArMTMsNiBAQAorICNpbmNsdWRlICJwcmVwLmgiCisgI2luY2x1 ZGUgIm5vdGVib29rc3R5bGVzLmgiCisgCistI2lmIGRlZmluZWQoX19XWEdUS19fKSAmJiAoVVNF X0dUS19OT1RFQk9PSykgJiYgIXd4Q0hFQ0tfVkVSU0lPTigzLCAwLCAwKQorLSAgICAjZGVmaW5l IEdTb2NrZXQgR0xpYlNvY2tldAorLSAgICAjaW5jbHVkZSA8Z3RrL2d0ay5oPgorLSAgICAjdW5k ZWYgR1NvY2tldAorLSAgICAjaW5jbHVkZSA8d3gvYXJ0cHJvdi5oPgorLSAgICAjaW5jbHVkZSA8 d3gvcmVuZGVyZXIuaD4KKy0jZW5kaWYKKy0KKyAjaW5jbHVkZSA8d3gvZGMuaD4KKyAjaW5jbHVk ZSA8d3gvZGNjbGllbnQuaD4KKyAKK0BAIC00MiwxNSArMzQsOSBAQAorIHsKKyAgICAgTmJTdHls ZVZDNzEqIGNsb25lID0gbmV3IE5iU3R5bGVWQzcxKCk7CisgCistI2lmIHd4Q0hFQ0tfVkVSU0lP TigzLCAwLCAwKQorICAgICBjbG9uZS0+U2V0Tm9ybWFsRm9udChtX25vcm1hbEZvbnQpOworICAg ICBjbG9uZS0+U2V0U2VsZWN0ZWRGb250KG1fc2VsZWN0ZWRGb250KTsKKyAgICAgY2xvbmUtPlNl dE1lYXN1cmluZ0ZvbnQobV9tZWFzdXJpbmdGb250KTsKKy0jZWxzZQorLSAgICBjbG9uZS0+U2V0 Tm9ybWFsRm9udChtX25vcm1hbF9mb250KTsKKy0gICAgY2xvbmUtPlNldFNlbGVjdGVkRm9udCht X3NlbGVjdGVkX2ZvbnQpOworLSAgICBjbG9uZS0+U2V0TWVhc3VyaW5nRm9udChtX21lYXN1cmlu Z19mb250KTsKKy0jZW5kaWYKKyAKKyAgICAgcmV0dXJuIGNsb25lOworIH0KK0BAIC03NSwxMSAr NjEsNyBAQAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsb3NlX2J1dHRvbl9z dGF0ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4X2V4dGVudCk7CisgCist I2lmIHd4Q0hFQ0tfVkVSU0lPTigzLCAwLCAwKQorICAgICB3eENvb3JkIHRhYl9oZWlnaHQgPSBt X3RhYkN0cmxIZWlnaHQgLSAzOworLSNlbHNlCistICAgIHd4Q29vcmQgdGFiX2hlaWdodCA9IG1f dGFiX2N0cmxfaGVpZ2h0IC0gMzsKKy0jZW5kaWYKKyAgICAgd3hDb29yZCB0YWJfd2lkdGggPSB0 YWJfc2l6ZS54OworICAgICB3eENvb3JkIHRhYl94ID0gaW5fcmVjdC54OworICAgICB3eENvb3Jk IHRhYl95ID0gaW5fcmVjdC55ICsgaW5fcmVjdC5oZWlnaHQgLSB0YWJfaGVpZ2h0OworQEAgLTE2 NiwxNyArMTQ4LDEwIEBACisgICAgIHd4Q29vcmQgdGV4dHg7CisgICAgIHd4Q29vcmQgdGV4dHk7 CisgICAgIGlmIChwYWdlLmFjdGl2ZSkKKy0jaWYgd3hDSEVDS19WRVJTSU9OKDMsIDAsIDApCisg ICAgICAgICBkYy5TZXRGb250KG1fc2VsZWN0ZWRGb250KTsKKy0jZWxzZQorLSAgICAgICAgZGMu U2V0Rm9udChtX3NlbGVjdGVkX2ZvbnQpOworLSNlbmRpZgorICAgICBlbHNlCistI2lmIHd4Q0hF Q0tfVkVSU0lPTigzLCAwLCAwKQorICAgICAgICAgZGMuU2V0Rm9udChtX25vcm1hbEZvbnQpOwor LSNlbHNlCistICAgICAgICBkYy5TZXRGb250KG1fbm9ybWFsX2ZvbnQpOworLSNlbmRpZgorKwor ICAgICBkYy5HZXRUZXh0RXh0ZW50KGNhcHRpb24sICZ0ZXh0eCwgJnRleHR5KTsKKyAgICAgLy8g ZHJhdyB0YWIgdGV4dAorICAgICBkYy5TZXRUZXh0Rm9yZWdyb3VuZCh3eFN5c3RlbVNldHRpbmdz OjpHZXRDb2xvdXIod3hTWVNfQ09MT1VSX0JUTlRFWFQpKTsKK0BAIC0xODYsMjEgKzE2MSwxMiBA QAorICAgICAvLyBkcmF3ICd4JyBvbiB0YWIgKGlmIGVuYWJsZWQpCisgICAgIGlmIChjbG9zZV9i dXR0b25fc3RhdGUgIT0gd3hBVUlfQlVUVE9OX1NUQVRFX0hJRERFTikKKyAgICAgeworLSNpZiB3 eENIRUNLX1ZFUlNJT04oMywgMCwgMCkKKyAgICAgICAgIGludCBjbG9zZV9idXR0b25fd2lkdGgg PSBtX2FjdGl2ZUNsb3NlQm1wLkdldFdpZHRoKCk7CisgICAgICAgICB3eEJpdG1hcCBibXAgPSBt X2Rpc2FibGVkQ2xvc2VCbXA7CistI2Vsc2UKKy0gICAgICAgIGludCBjbG9zZV9idXR0b25fd2lk dGggPSBtX2FjdGl2ZV9jbG9zZV9ibXAuR2V0V2lkdGgoKTsKKy0gICAgICAgIHd4Qml0bWFwIGJt cCA9IG1fZGlzYWJsZWRfY2xvc2VfYm1wOworLSNlbmRpZgorIAorICAgICAgICAgaWYgKChjbG9z ZV9idXR0b25fc3RhdGUgPT0gd3hBVUlfQlVUVE9OX1NUQVRFX0hPVkVSKSB8fAorICAgICAgICAg ICAgICAgICAgICAgKGNsb3NlX2J1dHRvbl9zdGF0ZSA9PSB3eEFVSV9CVVRUT05fU1RBVEVfUFJF U1NFRCkpCistI2lmIHd4Q0hFQ0tfVkVSU0lPTigzLCAwLCAwKQorICAgICAgICAgICAgIGJtcCA9 IG1fYWN0aXZlQ2xvc2VCbXA7CistI2Vsc2UKKy0gICAgICAgICAgICBibXAgPSBtX2FjdGl2ZV9j bG9zZV9ibXA7CistI2VuZGlmCisgCisgICAgICAgICB3eFJlY3QgcmVjdCh0YWJfeCArIHRhYl93 aWR0aCAtIGNsb3NlX2J1dHRvbl93aWR0aCAtIDMsCisgICAgICAgICAgICAgICAgICAgICBkcmF3 bl90YWJfeW9mZiArIChkcmF3bl90YWJfaGVpZ2h0IC8gMikgLSAoYm1wLkdldEhlaWdodCgpIC8g MiksCitAQCAtMjI3LDExICsxOTMsNyBAQAorIC8vICAgIG1fcmVxdWVzdGVkX3RhYmN0cmxfaGVp Z2h0ID0gLTE7CisgLy8gICAgbV90YWJfY3RybF9oZWlnaHQgPSAtMTsKKyAgICAgd3hDbGllbnRE QyBkYyh3bmQpOworLSNpZiB3eENIRUNLX1ZFUlNJT04oMywgMCwgMCkKKyAgICAgZGMuU2V0Rm9u dChtX21lYXN1cmluZ0ZvbnQpOworLSNlbHNlCistICAgIGRjLlNldEZvbnQobV9tZWFzdXJpbmdf Zm9udCk7CistI2VuZGlmCisgICAgIGludCB4X2V4dCA9IDA7CisgICAgIHd4U2l6ZSBzID0gR2V0 VGFiU2l6ZShkYywgd25kLCB3eFQoIkFCQ0RFRkdISWoiKSwgd3hOdWxsQml0bWFwLCB0cnVlLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3eEFVSV9CVVRUT05fU1RBVEVfSElEREVOLCAm eF9leHQpOworQEAgLTI0NiwxNSArMjA4LDkgQEAKKyB7CisgICAgIE5iU3R5bGVGRjIqIGNsb25l ID0gbmV3IE5iU3R5bGVGRjIoKTsKKyAKKy0jaWYgd3hDSEVDS19WRVJTSU9OKDMsIDAsIDApCisg ICAgIGNsb25lLT5TZXROb3JtYWxGb250KG1fbm9ybWFsRm9udCk7CisgICAgIGNsb25lLT5TZXRT ZWxlY3RlZEZvbnQobV9zZWxlY3RlZEZvbnQpOworICAgICBjbG9uZS0+U2V0TWVhc3VyaW5nRm9u dChtX21lYXN1cmluZ0ZvbnQpOworLSNlbHNlCistICAgIGNsb25lLT5TZXROb3JtYWxGb250KG1f bm9ybWFsX2ZvbnQpOworLSAgICBjbG9uZS0+U2V0U2VsZWN0ZWRGb250KG1fc2VsZWN0ZWRfZm9u dCk7CistICAgIGNsb25lLT5TZXRNZWFzdXJpbmdGb250KG1fbWVhc3VyaW5nX2ZvbnQpOworLSNl bmRpZgorIAorICAgICByZXR1cm4gY2xvbmU7CisgfQorQEAgLTI3MiwxMSArMjI4LDcgQEAKKyAg ICAgd3hTaXplIHRhYl9zaXplID0gR2V0VGFiU2l6ZShkYywgd25kLCBwYWdlLmNhcHRpb24sIHBh Z2UuYml0bWFwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2UuYWN0 aXZlLCBjbG9zZV9idXR0b25fc3RhdGUsIHhfZXh0ZW50KTsKKyAKKy0jaWYgd3hDSEVDS19WRVJT SU9OKDMsIDAsIDApCisgICAgIHd4Q29vcmQgdGFiX2hlaWdodCA9IG1fdGFiQ3RybEhlaWdodCAt IDI7CistI2Vsc2UKKy0gICAgd3hDb29yZCB0YWJfaGVpZ2h0ID0gbV90YWJfY3RybF9oZWlnaHQg LSAyOworLSNlbmRpZgorICAgICB3eENvb3JkIHRhYl93aWR0aCA9IHRhYl9zaXplLng7CisgICAg IHd4Q29vcmQgdGFiX3ggPSBpbl9yZWN0Lng7CisgICAgIHd4Q29vcmQgdGFiX3kgPSBpbl9yZWN0 LnkgKyBpbl9yZWN0LmhlaWdodCAtIHRhYl9oZWlnaHQ7CitAQCAtMzYwLDE3ICszMTIsMTAgQEAK KyAgICAgd3hDb29yZCB0ZXh0eDsKKyAgICAgd3hDb29yZCB0ZXh0eTsKKyAgICAgaWYgKHBhZ2Uu YWN0aXZlKQorLSNpZiB3eENIRUNLX1ZFUlNJT04oMywgMCwgMCkKKyAgICAgICAgIGRjLlNldEZv bnQobV9zZWxlY3RlZEZvbnQpOworLSNlbHNlCistICAgICAgICBkYy5TZXRGb250KG1fc2VsZWN0 ZWRfZm9udCk7CistI2VuZGlmCisgICAgIGVsc2UKKy0jaWYgd3hDSEVDS19WRVJTSU9OKDMsIDAs IDApCisgICAgICAgICBkYy5TZXRGb250KG1fbm9ybWFsRm9udCk7CistI2Vsc2UKKy0gICAgICAg IGRjLlNldEZvbnQobV9ub3JtYWxfZm9udCk7CistI2VuZGlmCisrCisgICAgIGRjLkdldFRleHRF eHRlbnQoY2FwdGlvbiwgJnRleHR4LCAmdGV4dHkpOworICAgICAvLyBkcmF3IHRhYiB0ZXh0Cisg ICAgIGRjLlNldFRleHRGb3JlZ3JvdW5kKHd4U3lzdGVtU2V0dGluZ3M6OkdldENvbG91cih3eFNZ U19DT0xPVVJfQlROVEVYVCkpOworQEAgLTM4MCwyMSArMzI1LDEyIEBACisgICAgIC8vIGRyYXcg J3gnIG9uIHRhYiAoaWYgZW5hYmxlZCkKKyAgICAgaWYgKGNsb3NlX2J1dHRvbl9zdGF0ZSAhPSB3 eEFVSV9CVVRUT05fU1RBVEVfSElEREVOKQorICAgICB7CistI2lmIHd4Q0hFQ0tfVkVSU0lPTigz LCAwLCAwKQorICAgICAgICAgaW50IGNsb3NlX2J1dHRvbl93aWR0aCA9IG1fYWN0aXZlQ2xvc2VC bXAuR2V0V2lkdGgoKTsKKyAgICAgICAgIHd4Qml0bWFwIGJtcCA9IG1fZGlzYWJsZWRDbG9zZUJt cDsKKy0jZWxzZQorLSAgICAgICAgaW50IGNsb3NlX2J1dHRvbl93aWR0aCA9IG1fYWN0aXZlX2Ns b3NlX2JtcC5HZXRXaWR0aCgpOworLSAgICAgICAgd3hCaXRtYXAgYm1wID0gbV9kaXNhYmxlZF9j bG9zZV9ibXA7CistI2VuZGlmCisgCisgICAgICAgICBpZiAoKGNsb3NlX2J1dHRvbl9zdGF0ZSA9 PSB3eEFVSV9CVVRUT05fU1RBVEVfSE9WRVIpIHx8CisgICAgICAgICAgICAgICAgICAgICAoY2xv c2VfYnV0dG9uX3N0YXRlID09IHd4QVVJX0JVVFRPTl9TVEFURV9QUkVTU0VEKSkKKy0jaWYgd3hD SEVDS19WRVJTSU9OKDMsIDAsIDApCisgICAgICAgICAgICAgYm1wID0gbV9hY3RpdmVDbG9zZUJt cDsKKy0jZWxzZQorLSAgICAgICAgICAgIGJtcCA9IG1fYWN0aXZlX2Nsb3NlX2JtcDsKKy0jZW5k aWYKKyAKKyAgICAgICAgIHd4UmVjdCByZWN0KHRhYl94ICsgdGFiX3dpZHRoIC0gY2xvc2VfYnV0 dG9uX3dpZHRoIC0gMywKKyAgICAgICAgICAgICAgICAgICAgIGRyYXduX3RhYl95b2ZmICsgKGRy YXduX3RhYl9oZWlnaHQgLyAyKSAtIChibXAuR2V0SGVpZ2h0KCkgLyAyKSwKK0BAIC00MjEsNTMz ICszNTcsOSBAQAorIC8vICAgIG1fcmVxdWVzdGVkX3RhYmN0cmxfaGVpZ2h0ID0gLTE7CisgLy8g ICAgbV90YWJfY3RybF9oZWlnaHQgPSAtMTsKKyAgICAgd3hDbGllbnREQyBkYyh3bmQpOworLSNp ZiB3eENIRUNLX1ZFUlNJT04oMywgMCwgMCkKKyAgICAgZGMuU2V0Rm9udChtX21lYXN1cmluZ0Zv bnQpOworLSNlbHNlCistICAgIGRjLlNldEZvbnQobV9tZWFzdXJpbmdfZm9udCk7CistI2VuZGlm CisgICAgIGludCB4X2V4dCA9IDA7CisgICAgIHd4U2l6ZSBzID0gR2V0VGFiU2l6ZShkYywgd25k LCB3eFQoIkFCQ0RFRkdISWoiKSwgd3hOdWxsQml0bWFwLCB0cnVlLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB3eEFVSV9CVVRUT05fU1RBVEVfSElEREVOLCAmeF9leHQpOworICAgICBy ZXR1cm4gcy55ICsgNjsKKyB9CistCistI2lmIGRlZmluZWQoX19XWEdUS19fKSAmJiAoVVNFX0dU S19OT1RFQk9PSykgJiYgIXd4Q0hFQ0tfVkVSU0lPTigzLCAwLCAwKQorLQorLW5hbWVzcGFjZQor LXsKKy0KKy1zdGF0aWMgR3RrV2lkZ2V0ICpnX3dpbmRvdyA9IG51bGxwdHI7Cistc3RhdGljIEd0 a1dpZGdldCAqZ19jb250YWluZXIgPSBudWxscHRyOworLXN0YXRpYyBHdGtXaWRnZXQgKmdfbm90 ZWJvb2sgPSBudWxscHRyOworLXN0YXRpYyBHdGtXaWRnZXQgKmdfYnV0dG9uID0gbnVsbHB0cjsK Ky1zdGF0aWMgaW50IHNfQ2xvc2VJY29uU2l6ZSA9IDE2OyAvLyBkZWZhdWx0IHNpemUKKy0KKy1z dGF0aWMgdm9pZCBzZXR1cF93aWRnZXRfcHJvdG90eXBlKEd0a1dpZGdldCogd2lkZ2V0KQorLXsK Ky0gICAgaWYgKCFnX3dpbmRvdykKKy0gICAgeworLSAgICAgICAgZ193aW5kb3cgPSBndGtfd2lu ZG93X25ldyhHVEtfV0lORE9XX1BPUFVQKTsKKy0gICAgICAgIGd0a193aWRnZXRfcmVhbGl6ZShn X3dpbmRvdyk7CistICAgIH0KKy0gICAgaWYgKCFnX2NvbnRhaW5lcikKKy0gICAgeworLSAgICAg ICAgZ19jb250YWluZXIgPSBndGtfZml4ZWRfbmV3KCk7CistICAgICAgICBndGtfY29udGFpbmVy X2FkZChHVEtfQ09OVEFJTkVSKGdfd2luZG93KSwgZ19jb250YWluZXIpOworLSAgICB9CistCist ICAgIGd0a19jb250YWluZXJfYWRkKEdUS19DT05UQUlORVIoZ19jb250YWluZXIpLCB3aWRnZXQp OworLSAgICBndGtfd2lkZ2V0X3JlYWxpemUod2lkZ2V0KTsKKy19CistCistc3RhdGljIEd0a1N0 eWxlICogZ2V0X3N0eWxlX2J1dHRvbigpCisteworLSAgICBpZiAoIWdfYnV0dG9uKQorLSAgICB7 CistICAgICAgICBnX2J1dHRvbiA9IGd0a19idXR0b25fbmV3KCk7CistICAgICAgICBzZXR1cF93 aWRnZXRfcHJvdG90eXBlKGdfYnV0dG9uKTsKKy0gICAgfQorLSAgICByZXR1cm4gZ3RrX3dpZGdl dF9nZXRfc3R5bGUoZ19idXR0b24pOworLX0KKy0KKy1zdGF0aWMgR3RrU3R5bGUgKiBnZXRfc3R5 bGVfbm90ZWJvb2soKQorLXsKKy0gICAgaWYgKCFnX25vdGVib29rKQorLSAgICB7CistICAgICAg ICBnX25vdGVib29rID0gZ3RrX25vdGVib29rX25ldygpOworLSAgICAgICAgc2V0dXBfd2lkZ2V0 X3Byb3RvdHlwZShnX25vdGVib29rKTsKKy0gICAgfQorLSAgICByZXR1cm4gZ3RrX3dpZGdldF9n ZXRfc3R5bGUoZ19ub3RlYm9vayk7CistfQorLQorLX0KKy0KKy1OYlN0eWxlR1RLOjpOYlN0eWxl R1RLKCk6CistICAgIG1fWHRoaWNrbmVzcygwKSwKKy0gICAgbV9ZdGhpY2tuZXNzKDApLAorLSAg ICBtX1RhYkhCb3JkZXIoMCksCistICAgIG1fVGFiVkJvcmRlcigwKQorLQorLXsKKy19CistCist d3hBdWlUYWJBcnQqIE5iU3R5bGVHVEs6OkNsb25lKCkKKy17CistICAgIE5iU3R5bGVHVEsqIGNs b25lID0gbmV3IE5iU3R5bGVHVEsoKTsKKy0KKy0jaWYgd3hDSEVDS19WRVJTSU9OKDMsIDAsIDAp CistICAgIGNsb25lLT5TZXROb3JtYWxGb250KG1fbm9ybWFsRm9udCk7CistICAgIGNsb25lLT5T ZXRTZWxlY3RlZEZvbnQobV9ub3JtYWxGb250KTsKKy0gICAgY2xvbmUtPlNldE1lYXN1cmluZ0Zv bnQobV9ub3JtYWxGb250KTsKKy0jZWxzZQorLSAgICBjbG9uZS0+U2V0Tm9ybWFsRm9udChtX25v cm1hbF9mb250KTsKKy0gICAgY2xvbmUtPlNldFNlbGVjdGVkRm9udChtX25vcm1hbF9mb250KTsK Ky0gICAgY2xvbmUtPlNldE1lYXN1cmluZ0ZvbnQobV9ub3JtYWxfZm9udCk7CistI2VuZGlmCist CistICAgIHJldHVybiBjbG9uZTsKKy19CistCistdm9pZCBOYlN0eWxlR1RLOjpEcmF3QmFja2dy b3VuZCh3eERDJiBkYywgd3hXaW5kb3cqIHduZCwgY29uc3Qgd3hSZWN0JiByZWN0KQorLXsKKy0g ICAgR3RrU3R5bGUqIHN0eWxlX25vdGVib29rID0gZ2V0X3N0eWxlX25vdGVib29rKCk7CistICAg IEd0a05vdGVib29rKiBub3RlYm9vayA9IEdUS19OT1RFQk9PSyAoZ19ub3RlYm9vayk7CistCist ICAgIC8vIGlmIG9uZSBvZiB0aGUgcGFyYW1ldGVycyBoYXZlIGNoYW5nZWQsIHRoZSBoZWlnaHQg bmVlZHMgdG8gYmUgcmVjYWxjdWxhdGVkLCBzbyB3ZSBmb3JjZSBpdCwKKy0gICAgaWYobV9YdGhp Y2tuZXNzICAhPSBzdHlsZV9ub3RlYm9vay0+eHRoaWNrbmVzcyB8fAorLSAgICAgICBtX1l0aGlj a25lc3MgICE9IHN0eWxlX25vdGVib29rLT55dGhpY2tuZXNzIHx8CistICAgICAgIG1fVGFiVkJv cmRlciAhPSBub3RlYm9vay0+dGFiX3Zib3JkZXIgfHwKKy0gICAgICAgbV9UYWJIQm9yZGVyICE9 IG5vdGVib29rLT50YWJfaGJvcmRlcikKKy0gICAgeworLSAgICAgICAgbV9YdGhpY2tuZXNzICA9 IHN0eWxlX25vdGVib29rLT54dGhpY2tuZXNzOworLSAgICAgICAgbV9ZdGhpY2tuZXNzICA9IHN0 eWxlX25vdGVib29rLT55dGhpY2tuZXNzOworLSAgICAgICAgbV9UYWJWQm9yZGVyID0gbm90ZWJv b2stPnRhYl92Ym9yZGVyOworLSAgICAgICAgbV9UYWJIQm9yZGVyID0gbm90ZWJvb2stPnRhYl9o Ym9yZGVyOworLSAgICAgICAgd3hBdWlOb3RlYm9vayogbmIgPSBudWxscHRyOworLSAgICAgICAg aWYod25kKQorLSAgICAgICAgICAgICBuYiA9IChjYkF1aU5vdGVib29rKil3bmQtPkdldFBhcmVu dCgpOworLSAgICAgICAgaWYobmIpCistICAgICAgICAgICAgbmItPlNldFRhYkN0cmxIZWlnaHQo LTEpOworLSAgICB9CistI2lmIHd4Q0hFQ0tfVkVSU0lPTigzLCAwLCAwKQorLSAgICB3eEdUS0RD SW1wbCAqaW1wbGRjID0gKHd4R1RLRENJbXBsKikgZGMuR2V0SW1wbCgpOworLSAgICBHZGtXaW5k b3cqIHBXaW4gPSBpbXBsZGMtPkdldEdES1dpbmRvdygpOworLSNlbHNlCistICAgIEdka1dpbmRv dyogcFdpbiA9IGRjLkdldEdES1dpbmRvdygpOworLSNlbmRpZgorLSAgICBndGtfc3R5bGVfYXBw bHlfZGVmYXVsdF9iYWNrZ3JvdW5kKHN0eWxlX25vdGVib29rLCBwV2luLCAxLCBHVEtfU1RBVEVf Tk9STUFMLCBudWxscHRyLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHJlY3QueCwgcmVjdC55LCByZWN0LndpZHRoLCByZWN0LmhlaWdodCk7CistfQorLQorLXZvaWQg QnV0dG9uU3RhdGVBbmRTaGFkb3coaW50IGJ1dHRvbl9zdGF0ZSwgR3RrU3RhdGVUeXBlICZzdGF0 ZSwgR3RrU2hhZG93VHlwZSAmc2hhZG93KQorLXsKKy0KKy0gICAgaWYgKGJ1dHRvbl9zdGF0ZSAm IHd4QVVJX0JVVFRPTl9TVEFURV9ESVNBQkxFRCkKKy0gICAgeworLSAgICAgICAgc3RhdGUgPSBH VEtfU1RBVEVfSU5TRU5TSVRJVkU7CistICAgICAgICBzaGFkb3cgPSBHVEtfU0hBRE9XX0VUQ0hF RF9JTjsKKy0gICAgfQorLSAgICBlbHNlIGlmIChidXR0b25fc3RhdGUgJiB3eEFVSV9CVVRUT05f U1RBVEVfSE9WRVIpCistICAgIHsKKy0gICAgICAgIHN0YXRlID0gR1RLX1NUQVRFX1BSRUxJR0hU OworLSAgICAgICAgc2hhZG93ID0gR1RLX1NIQURPV19PVVQ7CistICAgIH0KKy0gICAgZWxzZSBp ZiAoYnV0dG9uX3N0YXRlICYgd3hBVUlfQlVUVE9OX1NUQVRFX1BSRVNTRUQpCistICAgIHsKKy0g ICAgICAgIHN0YXRlID0gR1RLX1NUQVRFX0FDVElWRTsKKy0gICAgICAgIHNoYWRvdyA9IEdUS19T SEFET1dfSU47CistICAgIH0KKy0gICAgZWxzZQorLSAgICB7CistICAgICAgICBzdGF0ZSA9IEdU S19TVEFURV9OT1JNQUw7CistICAgICAgICBzaGFkb3cgPSBHVEtfU0hBRE9XX09VVDsKKy0gICAg fQorLX0KKy0KKy13eFJlY3QgRHJhd0Nsb3NlQnV0dG9uKHd4REMmIGRjLAorLSAgICAgICAgICAg ICAgICAgICAgICAgR3RrV2lkZ2V0ICp3aWRnZXQsCistICAgICAgICAgICAgICAgICAgICAgICBp bnQgYnV0dG9uX3N0YXRlLAorLSAgICAgICAgICAgICAgICAgICAgICAgd3hSZWN0IGNvbnN0ICZp bl9yZWN0LAorLSAgICAgICAgICAgICAgICAgICAgICAgaW50IG9yaWVudGF0aW9uLAorLSAgICAg ICAgICAgICAgICAgICAgICAgR2RrUmVjdGFuZ2xlKiBjbGlwUmVjdCkKKy17CistICAgIEd0a1N0 eWxlICpzdHlsZV9idXR0b24gPSBnZXRfc3R5bGVfYnV0dG9uKCk7CistICAgIGludCB4dGhpY2tu ZXNzID0gc3R5bGVfYnV0dG9uLT54dGhpY2tuZXNzOworLSAgICBpbnQgeXRoaWNrbmVzcyA9IHN0 eWxlX2J1dHRvbi0+eXRoaWNrbmVzczsKKy0KKy0gICAgd3hCaXRtYXAgYm1wOworLSAgICBibXAu U2V0UGl4YnVmKGd0a193aWRnZXRfcmVuZGVyX2ljb24od2lkZ2V0LCBHVEtfU1RPQ0tfQ0xPU0Us IEdUS19JQ09OX1NJWkVfU01BTExfVE9PTEJBUiwgInRhYiIpKTsKKy0KKy0gICAgaWYoYm1wLkdl dFdpZHRoKCkgIT0gc19DbG9zZUljb25TaXplIHx8IGJtcC5HZXRIZWlnaHQoKSAhPSBzX0Nsb3Nl SWNvblNpemUpCistICAgIHsKKy0gICAgICAgIHd4SW1hZ2UgaW1nID0gYm1wLkNvbnZlcnRUb0lt YWdlKCk7CistICAgICAgICBpbWcuUmVzY2FsZShzX0Nsb3NlSWNvblNpemUsIHNfQ2xvc2VJY29u U2l6ZSk7CistICAgICAgICBibXAgPSBpbWc7CistICAgIH0KKy0KKy0gICAgaW50IGJ1dHRvbl9z aXplID0gc19DbG9zZUljb25TaXplICsgMiAqIHh0aGlja25lc3M7CistCistICAgIHd4UmVjdCBv dXRfcmVjdDsKKy0KKy0gICAgaWYgKG9yaWVudGF0aW9uID09IHd4TEVGVCkKKy0gICAgICAgIG91 dF9yZWN0LnggPSBpbl9yZWN0LnggLSB5dGhpY2tuZXNzOworLSAgICBlbHNlCistICAgICAgICBv dXRfcmVjdC54ID0gaW5fcmVjdC54ICsgaW5fcmVjdC53aWR0aCAtIGJ1dHRvbl9zaXplIC0geXRo aWNrbmVzczsKKy0KKy0gICAgb3V0X3JlY3QueSA9IGluX3JlY3QueSArIChpbl9yZWN0LmhlaWdo dCAtIGJ1dHRvbl9zaXplKSAvIDI7CistICAgIG91dF9yZWN0LndpZHRoID0gYnV0dG9uX3NpemU7 CistICAgIG91dF9yZWN0LmhlaWdodCA9IGJ1dHRvbl9zaXplOworLQorLSNpZiB3eENIRUNLX1ZF UlNJT04oMywgMCwgMCkKKy0gICAgd3hHVEtEQ0ltcGwgKmltcGxkYyA9ICh3eEdUS0RDSW1wbCop IGRjLkdldEltcGwoKTsKKy0gICAgR2RrV2luZG93KiBwV2luID0gaW1wbGRjLT5HZXRHREtXaW5k b3coKTsKKy0jZWxzZQorLSAgICBHZGtXaW5kb3cqIHBXaW4gPSBkYy5HZXRHREtXaW5kb3coKTsK Ky0jZW5kaWYKKy0KKy0gICAgaWYgKGJ1dHRvbl9zdGF0ZSA9PSB3eEFVSV9CVVRUT05fU1RBVEVf SE9WRVIpCistICAgIHsKKy0gICAgICAgIGd0a19wYWludF9ib3goc3R5bGVfYnV0dG9uLCBwV2lu LAorLSAgICAgICAgICAgICAgICAgICAgICBHVEtfU1RBVEVfUFJFTElHSFQsIEdUS19TSEFET1df T1VULCBjbGlwUmVjdCwgd2lkZ2V0LCAiYnV0dG9uIiwKKy0gICAgICAgICAgICAgICAgICAgICAg b3V0X3JlY3QueCwgb3V0X3JlY3QueSwgb3V0X3JlY3Qud2lkdGgsIG91dF9yZWN0LmhlaWdodCk7 CistICAgIH0KKy0gICAgZWxzZSBpZiAoYnV0dG9uX3N0YXRlID09IHd4QVVJX0JVVFRPTl9TVEFU RV9QUkVTU0VEKQorLSAgICB7CistICAgICAgICBndGtfcGFpbnRfYm94KHN0eWxlX2J1dHRvbiwg cFdpbiwKKy0gICAgICAgICAgICAgICAgICAgICAgR1RLX1NUQVRFX0FDVElWRSwgR1RLX1NIQURP V19JTiwgY2xpcFJlY3QsIHdpZGdldCwgImJ1dHRvbiIsCistICAgICAgICAgICAgICAgICAgICAg IG91dF9yZWN0LngsIG91dF9yZWN0LnksIG91dF9yZWN0LndpZHRoLCBvdXRfcmVjdC5oZWlnaHQp OworLSAgICB9CistCistCistICAgIGRjLkRyYXdCaXRtYXAoYm1wLCBvdXRfcmVjdC54ICsgeHRo aWNrbmVzcywgb3V0X3JlY3QueSArIHl0aGlja25lc3MsIHRydWUpOworLQorLSAgICByZXR1cm4g b3V0X3JlY3Q7CistfQorLQorLXZvaWQgTmJTdHlsZUdUSzo6RHJhd1RhYih3eERDJiBkYywgd3hX aW5kb3cqIHduZCwgY29uc3Qgd3hBdWlOb3RlYm9va1BhZ2UmIHBhZ2UsCistICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBjb25zdCB3eFJlY3QmIGluX3JlY3QsIGludCBjbG9zZV9idXR0b25f c3RhdGUsIHd4UmVjdCogb3V0X3RhYl9yZWN0LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgd3hSZWN0KiBvdXRfYnV0dG9uX3JlY3QsIGludCogeF9leHRlbnQpCisteworLSAgICBHdGtX aWRnZXQgKndpZGdldCA9IHduZC0+R2V0SGFuZGxlKCk7CistICAgIEd0a1N0eWxlICpzdHlsZV9u b3RlYm9vayA9IGdldF9zdHlsZV9ub3RlYm9vaygpOworLQorLSAgICB3eFJlY3QgY29uc3QgJndp bmRvd19yZWN0ID0gd25kLT5HZXRSZWN0KCk7CistCistICAgIGludCBmb2N1c193aWR0aCA9IDA7 CistCistICAgIGd0a193aWRnZXRfc3R5bGVfZ2V0KGdfbm90ZWJvb2ssCistICAgICAgICAgICAg ICAgICAgICAgICAgICJmb2N1cy1saW5lLXdpZHRoIiwgJmZvY3VzX3dpZHRoLAorLSAgICAgICAg ICAgICAgICAgICAgICAgICBOVUxMKTsKKy0KKy0gICAgaW50IHRhYl9wb3M7CistICAgIGlmICht X2ZsYWdzICZ3eEFVSV9OQl9CT1RUT00pCistICAgICAgICB0YWJfcG9zID0gd3hBVUlfTkJfQk9U VE9NOworLSAgICBlbHNlIC8vaWYgKG1fZmxhZ3MgJiB3eEFVSV9OQl9UT1ApIHt9CistICAgICAg ICB0YWJfcG9zID0gd3hBVUlfTkJfVE9QOworLQorLSAgICAvLyBUT0RPOiBlbHNlIGlmIChtX2Zs YWdzICZ3eEFVSV9OQl9MRUZUKSB7fQorLSAgICAvLyBUT0RPOiBlbHNlIGlmIChtX2ZsYWdzICZ3 eEFVSV9OQl9SSUdIVCkge30KKy0KKy0gICAgLy8gZmlndXJlIG91dCB0aGUgc2l6ZSBvZiB0aGUg dGFiCistICAgIHd4U2l6ZSB0YWJfc2l6ZSA9IEdldFRhYlNpemUoZGMsIHduZCwgcGFnZS5jYXB0 aW9uLCBwYWdlLmJpdG1hcCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw YWdlLmFjdGl2ZSwgY2xvc2VfYnV0dG9uX3N0YXRlLCB4X2V4dGVudCk7CistCistICAgIHd4UmVj dCB0YWJfcmVjdCA9IGluX3JlY3Q7CistICAgIHRhYl9yZWN0LndpZHRoID0gdGFiX3NpemUueDsK Ky0gICAgdGFiX3JlY3QuaGVpZ2h0ID0gdGFiX3NpemUueTsKKy0gICAgdGFiX3JlY3QueSArPSAy ICogbV9UYWJIQm9yZGVyOworLQorLSAgICBpZiAocGFnZS5hY3RpdmUpCistICAgICAgICB0YWJf cmVjdC5oZWlnaHQgKz0gMiAqIG1fVGFiSEJvcmRlcjsKKy0jaWYgd3hDSEVDS19WRVJTSU9OKDMs IDAsIDApCistICAgIC8vIGlmIG5vIGJpdG1hcCBpcyBzZXQsIHdlIG5lZWQgYSB0aW55IGNvcnJl Y3Rpb24KKy0gICAgaWYgKCEgcGFnZS5iaXRtYXAuSXNPaygpKQorLSAgICAgICAgdGFiX3JlY3Qu aGVpZ2h0ICs9IDE7CistI2VuZGlmCistCistICAgIGludCBnYXBfcmVjdF9oZWlnaHQgPSA2ICog bV9UYWJIQm9yZGVyOworLSAgICBpbnQgZ2FwX3JlY3RfeCA9IDEsIGdhcF9zdGFydCA9IDAsIGdh cF93aWR0aCA9IDA7CistICAgIGludCBnYXBfcmVjdF95ID0gdGFiX3JlY3QueSAtIGdhcF9yZWN0 X2hlaWdodDsKKy0gICAgaW50IGdhcF9yZWN0X3dpZHRoID0gd2luZG93X3JlY3Qud2lkdGg7Cist CistICAgIHN3aXRjaCAodGFiX3BvcykKKy0gICAgeworLSAgICAgICAgY2FzZSB3eEFVSV9OQl9U T1A6CistICAgICAgICAgICAgdGFiX3JlY3QueSAtPSAyICogbV9UYWJIQm9yZGVyOworLSAgICAg ICAgICAgIGlmICghcGFnZS5hY3RpdmUpCistICAgICAgICAgICAgICAgIHRhYl9yZWN0LnkgKz0g MiAqIG1fVGFiSEJvcmRlcjsKKy0gICAgICAgICAgICBnYXBfcmVjdF95ID0gdGFiX3JlY3QueSAr IHRhYl9yZWN0LmhlaWdodCAtIG1fVGFiSEJvcmRlciAvIDI7CistICAgICAgICAgICAgLy8gZmFs bCB0aHJvdWdoCistICAgICAgICBjYXNlIHd4QVVJX05CX0JPVFRPTToKKy0gICAgICAgICAgICBn YXBfc3RhcnQgPSB0YWJfcmVjdC54IC0gbV9UYWJWQm9yZGVyIC8gMjsKKy0gICAgICAgICAgICBn YXBfd2lkdGggPSB0YWJfcmVjdC53aWR0aDsKKy0gICAgICAgICAgICBicmVhazsKKy0gICAgICAg IGRlZmF1bHQ6CistICAgICAgICAgICAgYnJlYWs7CistICAgIH0KKy0gICAgdGFiX3JlY3QueSAr PSBtX1RhYkhCb3JkZXIgLyAyOworLSAgICBnYXBfcmVjdF95ICs9IG1fVGFiSEJvcmRlciAvIDI7 CistCistICAgIGludCBwYWRkaW5nID0gZm9jdXNfd2lkdGggKyBtX1RhYkhCb3JkZXI7CistCist ICAgIGludCBjbGlwX3dpZHRoID0gdGFiX3JlY3Qud2lkdGg7CistICAgIGlmICh0YWJfcmVjdC54 ICsgdGFiX3JlY3Qud2lkdGggPiBpbl9yZWN0LnggKyBpbl9yZWN0LndpZHRoKQorLSAgICAgICAg Y2xpcF93aWR0aCA9IChpbl9yZWN0LnggKyBpbl9yZWN0LndpZHRoKSAtIHRhYl9yZWN0Lng7Cist CistICAgIGRjLlNldENsaXBwaW5nUmVnaW9uKHRhYl9yZWN0LngsIHRhYl9yZWN0LnkgLSBtX1Rh YlZCb3JkZXIsIGNsaXBfd2lkdGgsIHRhYl9yZWN0LmhlaWdodCArIG1fVGFiVkJvcmRlcik7Cist CistICAgIEdka1JlY3RhbmdsZSBhcmVhOworLSAgICBhcmVhLnggPSB0YWJfcmVjdC54IC0gbV9U YWJWQm9yZGVyOworLSAgICBhcmVhLnkgPSB0YWJfcmVjdC55IC0gMiAqIG1fVGFiSEJvcmRlcjsK Ky0gICAgYXJlYS53aWR0aCA9IGNsaXBfd2lkdGggKyBtX1RhYlZCb3JkZXI7CistICAgIGFyZWEu aGVpZ2h0ID0gdGFiX3JlY3QuaGVpZ2h0ICsgMiAqIG1fVGFiSEJvcmRlcjsKKy0KKy0jaWYgd3hD SEVDS19WRVJTSU9OKDMsIDAsIDApCistICAgIHd4R1RLRENJbXBsICppbXBsZGMgPSAod3hHVEtE Q0ltcGwqKSBkYy5HZXRJbXBsKCk7CistICAgIEdka1dpbmRvdyogcFdpbiA9IGltcGxkYy0+R2V0 R0RLV2luZG93KCk7CistI2Vsc2UKKy0gICAgR2RrV2luZG93KiBwV2luID0gZGMuR2V0R0RLV2lu ZG93KCk7CistI2VuZGlmCistCistICAgIGlmICh0YWJfcG9zID09IHd4QVVJX05CX0JPVFRPTSkK Ky0gICAgeworLSAgICAgICAgaWYgKHBhZ2UuYWN0aXZlKQorLSAgICAgICAgeworLSAgICAgICAg ICAgIGd0a19wYWludF9ib3hfZ2FwKHN0eWxlX25vdGVib29rLCBwV2luLCBHVEtfU1RBVEVfTk9S TUFMLCBHVEtfU0hBRE9XX09VVCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxM LCB3aWRnZXQsICJub3RlYm9vayIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2Fw X3JlY3RfeCwgZ2FwX3JlY3RfeSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnYXBf cmVjdF93aWR0aCwgZ2FwX3JlY3RfaGVpZ2h0LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIEdUS19QT1NfQk9UVE9NLCBnYXBfc3RhcnQgLCBnYXBfd2lkdGgpOworLSAgICAgICAgfQor LSAgICAgICAgZ3RrX3BhaW50X2V4dGVuc2lvbihzdHlsZV9ub3RlYm9vaywgcFdpbiwKKy0gICAg ICAgICAgICAgICAgICAgICAgICAgICBwYWdlLmFjdGl2ZSA/IEdUS19TVEFURV9OT1JNQUwgOiBH VEtfU1RBVEVfQUNUSVZFLCBHVEtfU0hBRE9XX09VVCwKKy0gICAgICAgICAgICAgICAgICAgICAg ICAgICAmYXJlYSwgd2lkZ2V0LCAidGFiIiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICB0 YWJfcmVjdC54LCB0YWJfcmVjdC55LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYl9y ZWN0LndpZHRoLCB0YWJfcmVjdC5oZWlnaHQsCistICAgICAgICAgICAgICAgICAgICAgICAgICAg R1RLX1BPU19UT1ApOworLSAgICB9CistICAgIGVsc2UKKy0gICAgeworLSAgICAgICAgaWYgKHBh Z2UuYWN0aXZlKQorLSAgICAgICAgeworLSAgICAgICAgICAgIGd0a19wYWludF9ib3hfZ2FwKHN0 eWxlX25vdGVib29rLCBwV2luLCBHVEtfU1RBVEVfTk9STUFMLCBHVEtfU0hBRE9XX09VVCwKKy0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCB3aWRnZXQsICJub3RlYm9vayIsCist ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2FwX3JlY3RfeCwgZ2FwX3JlY3RfeSwKKy0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnYXBfcmVjdF93aWR0aCwgZ2FwX3JlY3RfaGVp Z2h0LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdUS19QT1NfVE9QLCBnYXBfc3Rh cnQgLCBnYXBfd2lkdGgpOworLSAgICAgICAgfQorLSAgICAgICAgZ3RrX3BhaW50X2V4dGVuc2lv bihzdHlsZV9ub3RlYm9vaywgcFdpbiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICBwYWdl LmFjdGl2ZSA/IEdUS19TVEFURV9OT1JNQUwgOiBHVEtfU1RBVEVfQUNUSVZFLCBHVEtfU0hBRE9X X09VVCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAmYXJlYSwgd2lkZ2V0LCAidGFiIiwK Ky0gICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJfcmVjdC54LCB0YWJfcmVjdC55LAorLSAg ICAgICAgICAgICAgICAgICAgICAgICAgIHRhYl9yZWN0LndpZHRoLCB0YWJfcmVjdC5oZWlnaHQs CistICAgICAgICAgICAgICAgICAgICAgICAgICAgR1RLX1BPU19CT1RUT00pOworLSAgICB9Cist CistICAgIHd4Q29vcmQgdGV4dFggPSB0YWJfcmVjdC54ICsgcGFkZGluZyArIG1fWHRoaWNrbmVz czsKKy0KKy0gICAgaW50IGJpdG1hcF9vZmZzZXQgPSAwOworLSAgICBpZiAocGFnZS5iaXRtYXAu SXNPaygpKQorLSAgICB7CistICAgICAgICBiaXRtYXBfb2Zmc2V0ID0gdGV4dFg7CistCistICAg ICAgICAvLyBkcmF3IGJpdG1hcAorLSAgICAgICAgaW50IGJpdG1hcFkgPSB0YWJfcmVjdC55ICso dGFiX3JlY3QuaGVpZ2h0IC0gcGFnZS5iaXRtYXAuR2V0SGVpZ2h0KCkpIC8gMjsKKy0gICAgICAg IGlmKCFwYWdlLmFjdGl2ZSkKKy0gICAgICAgIHsKKy0gICAgICAgICAgICBpZiAodGFiX3BvcyA9 PSB3eEFVSV9OQl9UT1ApCistICAgICAgICAgICAgICAgIGJpdG1hcFkgKz0gbV9ZdGhpY2tuZXNz IC8gMjsKKy0gICAgICAgICAgICBlbHNlCistICAgICAgICAgICAgICAgIGJpdG1hcFkgLT0gbV9Z dGhpY2tuZXNzIC8gMjsKKy0gICAgICAgIH0KKy0gICAgICAgIGRjLkRyYXdCaXRtYXAocGFnZS5i aXRtYXAsCistICAgICAgICAgICAgICAgICAgICAgIGJpdG1hcF9vZmZzZXQsCistICAgICAgICAg ICAgICAgICAgICAgIGJpdG1hcFksCistICAgICAgICAgICAgICAgICAgICAgIHRydWUpOworLQor LSAgICAgICAgdGV4dFggKz0gcGFnZS5iaXRtYXAuR2V0V2lkdGgoKSArIHBhZGRpbmc7CistICAg IH0KKy0KKy0gICAgd3hDb29yZCB0ZXh0VywgdGV4dEgsIHRleHRZOworLQorLSNpZiB3eENIRUNL X1ZFUlNJT04oMywgMCwgMCkKKy0gICAgZGMuU2V0Rm9udChtX25vcm1hbEZvbnQpOworLSNlbHNl CistICAgIGRjLlNldEZvbnQobV9ub3JtYWxfZm9udCk7CistI2VuZGlmCistICAgIGRjLkdldFRl eHRFeHRlbnQocGFnZS5jYXB0aW9uLCAmdGV4dFcsICZ0ZXh0SCk7CistICAgIHRleHRZID0gdGFi X3JlY3QueSArICh0YWJfcmVjdC5oZWlnaHQgLSB0ZXh0SCkgLyAyOworLSAgICBpZighcGFnZS5h Y3RpdmUpCistICAgIHsKKy0gICAgICAgIGlmICh0YWJfcG9zID09IHd4QVVJX05CX1RPUCkKKy0g ICAgICAgICAgICB0ZXh0WSArPSBtX1l0aGlja25lc3MgLyAyOworLSAgICAgICAgZWxzZQorLSAg ICAgICAgICAgIHRleHRZIC09IG1fWXRoaWNrbmVzcyAvIDI7CistICAgIH0KKy0KKy0gICAgLy8g ZHJhdyB0YWIgdGV4dAorLSAgICBHZGtDb2xvciB0ZXh0X2NvbG91ciA9IHBhZ2UuYWN0aXZlID8g c3R5bGVfbm90ZWJvb2stPmZnW0dUS19TVEFURV9OT1JNQUxdIDogc3R5bGVfbm90ZWJvb2stPmZn W0dUS19TVEFURV9BQ1RJVkVdOworLSAgICBkYy5TZXRUZXh0Rm9yZWdyb3VuZCh3eENvbG9yKHRl eHRfY29sb3VyKSk7CistICAgIEdka1JlY3RhbmdsZSBmb2N1c19hcmVhOworLQorLSAgICBpbnQg cGFkZGluZ19mb2N1cyA9IHBhZGRpbmcgLSBmb2N1c193aWR0aDsKKy0gICAgZm9jdXNfYXJlYS54 ID0gdGFiX3JlY3QueCArIHBhZGRpbmdfZm9jdXM7CistICAgIGZvY3VzX2FyZWEueSA9IHRleHRZ IC0gZm9jdXNfd2lkdGg7CistICAgIGZvY3VzX2FyZWEud2lkdGggPSB0YWJfcmVjdC53aWR0aCAt IDIgKiBwYWRkaW5nX2ZvY3VzOworLSAgICBmb2N1c19hcmVhLmhlaWdodCA9IHRleHRIICsgMiAq IGZvY3VzX3dpZHRoOworLQorLSAgICBpZihwYWdlLmFjdGl2ZSAmJiAod25kLT5GaW5kRm9jdXMo KSA9PSB3bmQpICYmIGZvY3VzX2FyZWEueCA8PSAoYXJlYS54ICsgYXJlYS53aWR0aCkpCistICAg IHsKKy0gICAgICAgIC8vIGNsaXBwaW5nIHNlZW1zIG5vdCB0byB3b3JrIGhlcmUsIHNvIHdlIHdl IGhhdmUgdG8gcmVjYWxjIHRoZSBmb2N1cy1hcmVhIG1hbnVhbGx5CistICAgICAgICBpZigoZm9j dXNfYXJlYS54ICsgZm9jdXNfYXJlYS53aWR0aCkgPiAoYXJlYS54ICsgYXJlYS53aWR0aCkpCist ICAgICAgICAgICAgZm9jdXNfYXJlYS53aWR0aCA9IGFyZWEueCArIGFyZWEud2lkdGggLSBmb2N1 c19hcmVhLnggKyBmb2N1c193aWR0aCAtIG1fVGFiVkJvcmRlcjsKKy0gICAgICAgIGd0a19wYWlu dF9mb2N1cyAoc3R5bGVfbm90ZWJvb2ssIHBXaW4sCistICAgICAgICAgICAgICAgICAgICAgICAg IEdUS19TVEFURV9BQ1RJVkUsIE5VTEwsIHdpZGdldCwgInRhYiIsCistICAgICAgICAgICAgICAg ICAgICAgICAgIGZvY3VzX2FyZWEueCwgZm9jdXNfYXJlYS55LCBmb2N1c19hcmVhLndpZHRoLCBm b2N1c19hcmVhLmhlaWdodCk7CistICAgIH0KKy0KKy0gICAgZGMuRHJhd1RleHQocGFnZS5jYXB0 aW9uLCB0ZXh0WCwgdGV4dFkpOworLQorLSAgICAvLyBkcmF3IGNsb3NlLWJ1dHRvbiBvbiB0YWIg KGlmIGVuYWJsZWQpCistICAgIGlmIChjbG9zZV9idXR0b25fc3RhdGUgIT0gd3hBVUlfQlVUVE9O X1NUQVRFX0hJRERFTikKKy0gICAgeworLSAgICAgICAgd3hSZWN0IHJlY3QodGFiX3JlY3QueCwg dGFiX3JlY3QueSwgdGFiX3JlY3Qud2lkdGggLSBtX1h0aGlja25lc3MsIHRhYl9yZWN0LmhlaWdo dCk7CistICAgICAgICBpZighcGFnZS5hY3RpdmUpCistICAgICAgICB7CistICAgICAgICAgICAg aWYgKHRhYl9wb3MgPT0gd3hBVUlfTkJfVE9QKQorLSAgICAgICAgICAgICAgICByZWN0LnkgKz0g bV9ZdGhpY2tuZXNzIC8gMjsKKy0gICAgICAgICAgICBlbHNlCistICAgICAgICAgICAgICAgIHJl Y3QueSAtPSBtX1l0aGlja25lc3MgLyAyOworLSAgICAgICAgfQorLSAgICAgICAgKm91dF9idXR0 b25fcmVjdCA9IERyYXdDbG9zZUJ1dHRvbihkYywgd2lkZ2V0LCBjbG9zZV9idXR0b25fc3RhdGUs IHJlY3QsIHd4UklHSFQsICZhcmVhKTsKKy0gICAgfQorLQorLSAgICB0YWJfcmVjdC53aWR0aCA9 IHN0ZDo6bWluKHRhYl9yZWN0LndpZHRoLCBjbGlwX3dpZHRoKTsKKy0gICAgKm91dF90YWJfcmVj dCA9IHRhYl9yZWN0OworLQorLSAgICBkYy5EZXN0cm95Q2xpcHBpbmdSZWdpb24oKTsKKy19Cist Cistd3hSZWN0IERyYXdTaW1wbGVBcnJvdyh3eERDJiBkYywKKy0gICAgICAgICAgICAgICAgICAg ICAgIEd0a1dpZGdldCAqd2lkZ2V0LAorLSAgICAgICAgICAgICAgICAgICAgICAgaW50IGJ1dHRv bl9zdGF0ZSwKKy0gICAgICAgICAgICAgICAgICAgICAgIHd4UmVjdCBjb25zdCAmaW5fcmVjdCwK Ky0gICAgICAgICAgICAgICAgICAgICAgIGludCBvcmllbnRhdGlvbiwKKy0gICAgICAgICAgICAg ICAgICAgICAgIEd0a0Fycm93VHlwZSBhcnJvd190eXBlKQorLXsKKy0gICAgaW50IHNjcm9sbF9h cnJvd19obGVuZ3RoLCBzY3JvbGxfYXJyb3dfdmxlbmd0aDsKKy0gICAgZ3RrX3dpZGdldF9zdHls ZV9nZXQod2lkZ2V0LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAic2Nyb2xsLWFycm93LWhs ZW5ndGgiLCAmc2Nyb2xsX2Fycm93X2hsZW5ndGgsCistICAgICAgICAgICAgICAgICAgICAgICAg ICJzY3JvbGwtYXJyb3ctdmxlbmd0aCIsICZzY3JvbGxfYXJyb3dfdmxlbmd0aCwKKy0gICAgICAg ICAgICAgICAgICAgICAgICAgTlVMTCk7CistCistICAgIEd0a1N0YXRlVHlwZSBzdGF0ZTsKKy0g ICAgR3RrU2hhZG93VHlwZSBzaGFkb3c7CistICAgIEJ1dHRvblN0YXRlQW5kU2hhZG93KGJ1dHRv bl9zdGF0ZSwgc3RhdGUsIHNoYWRvdyk7CistCistICAgIHd4UmVjdCBvdXRfcmVjdDsKKy0KKy0g ICAgaWYgKG9yaWVudGF0aW9uID09IHd4TEVGVCkKKy0gICAgICAgIG91dF9yZWN0LnggPSBpbl9y ZWN0Lng7CistICAgIGVsc2UKKy0gICAgICAgIG91dF9yZWN0LnggPSBpbl9yZWN0LnggKyBpbl9y ZWN0LndpZHRoIC0gc2Nyb2xsX2Fycm93X2hsZW5ndGg7CistICAgIG91dF9yZWN0LnkgPSAoaW5f cmVjdC55ICsgaW5fcmVjdC5oZWlnaHQgLSAzICogZ2V0X3N0eWxlX25vdGVib29rKCktPnl0aGlj a25lc3MgLSBzY3JvbGxfYXJyb3dfdmxlbmd0aCkgLyAyOworLSAgICBvdXRfcmVjdC53aWR0aCA9 IHNjcm9sbF9hcnJvd19obGVuZ3RoOworLSAgICBvdXRfcmVjdC5oZWlnaHQgPSBzY3JvbGxfYXJy b3dfdmxlbmd0aDsKKy0KKy0jaWYgd3hDSEVDS19WRVJTSU9OKDMsIDAsIDApCistICAgIHd4R1RL RENJbXBsICppbXBsZGMgPSAod3hHVEtEQ0ltcGwqKSBkYy5HZXRJbXBsKCk7CistICAgIEdka1dp bmRvdyogcFdpbiA9IGltcGxkYy0+R2V0R0RLV2luZG93KCk7CistI2Vsc2UKKy0gICAgR2RrV2lu ZG93KiBwV2luID0gZGMuR2V0R0RLV2luZG93KCk7CistI2VuZGlmCistICAgIGd0a19wYWludF9h cnJvdyAoZ2V0X3N0eWxlX2J1dHRvbigpLCBwV2luLCBzdGF0ZSwgc2hhZG93LCBudWxscHRyLCB3 aWRnZXQsICJub3RlYm9vayIsCistICAgICAgICAgICAgICAgICAgICAgYXJyb3dfdHlwZSwgVFJV RSwgb3V0X3JlY3QueCwgb3V0X3JlY3QueSwgb3V0X3JlY3Qud2lkdGgsIG91dF9yZWN0LmhlaWdo dCk7CistCistICAgIHJldHVybiBvdXRfcmVjdDsKKy19CistCistdm9pZCBOYlN0eWxlR1RLOjpE cmF3QnV0dG9uKHd4REMmIGRjLCB3eFdpbmRvdyogd25kLAorLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjb25zdCB3eFJlY3QmIGluX3JlY3QsCistICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGludCBiaXRtYXBfaWQsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBidXR0 b25fc3RhdGUsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBvcmllbnRhdGlvbiwK Ky0gICAgICAgICAgICAgICAgICAgICAgICAgICAgd3hSZWN0KiBvdXRfcmVjdCkKKy17CistICAg IEd0a1dpZGdldCAqd2lkZ2V0ID0gd25kLT5HZXRIYW5kbGUoKTsKKy0gICAgd3hSZWN0IHJlY3Qg PSBpbl9yZWN0OworLSAgICBpZiAobV9mbGFncyAmd3hBVUlfTkJfQk9UVE9NKQorLSAgICAgICAg cmVjdC55ICs9IDIgKiBnZXRfc3R5bGVfYnV0dG9uKCktPnl0aGlja25lc3M7CistCistICAgIHN3 aXRjaCAoYml0bWFwX2lkKQorLSAgICB7CistICAgICAgICBjYXNlIHd4QVVJX0JVVFRPTl9DTE9T RToKKy0gICAgICAgICAgICByZWN0LnkgLT0gMiAqIGdldF9zdHlsZV9idXR0b24oKS0+eXRoaWNr bmVzczsKKy0gICAgICAgICAgICByZWN0ID0gRHJhd0Nsb3NlQnV0dG9uKGRjLCB3aWRnZXQsIGJ1 dHRvbl9zdGF0ZSwgcmVjdCwgb3JpZW50YXRpb24sIE5VTEwpOworLSAgICAgICAgICAgIGJyZWFr OworLQorLSAgICAgICAgY2FzZSB3eEFVSV9CVVRUT05fTEVGVDoKKy0gICAgICAgICAgICByZWN0 ID0gRHJhd1NpbXBsZUFycm93KGRjLCB3aWRnZXQsIGJ1dHRvbl9zdGF0ZSwgcmVjdCwgb3JpZW50 YXRpb24sIEdUS19BUlJPV19MRUZUKTsKKy0gICAgICAgICAgICBicmVhazsKKy0KKy0gICAgICAg IGNhc2Ugd3hBVUlfQlVUVE9OX1JJR0hUOgorLSAgICAgICAgICAgIHJlY3QgPSBEcmF3U2ltcGxl QXJyb3coZGMsIHdpZGdldCwgYnV0dG9uX3N0YXRlLCByZWN0LCBvcmllbnRhdGlvbiwgR1RLX0FS Uk9XX1JJR0hUKTsKKy0gICAgICAgICAgICBicmVhazsKKy0KKy0gICAgICAgIGNhc2Ugd3hBVUlf QlVUVE9OX1dJTkRPV0xJU1Q6CistICAgICAgICAgICAgeworLSAgICAgICAgICAgICAgICByZWN0 LmhlaWdodCAtPSA0ICogZ2V0X3N0eWxlX2J1dHRvbigpLT55dGhpY2tuZXNzOworLSAgICAgICAg ICAgICAgICByZWN0LndpZHRoID0gcmVjdC5oZWlnaHQ7CistICAgICAgICAgICAgICAgIHJlY3Qu eCA9IGluX3JlY3QueCArIGluX3JlY3Qud2lkdGggLSByZWN0LndpZHRoOworLQorLSAgICAgICAg ICAgICAgICBpZiAoYnV0dG9uX3N0YXRlID09IHd4QVVJX0JVVFRPTl9TVEFURV9IT1ZFUikKKy0g ICAgICAgICAgICAgICAgICAgIHd4UmVuZGVyZXJOYXRpdmU6OkdldCgpLkRyYXdDb21ib0JveERy b3BCdXR0b24od25kLCBkYywgcmVjdCwgd3hDT05UUk9MX0NVUlJFTlQpOworLSAgICAgICAgICAg ICAgICBlbHNlIGlmIChidXR0b25fc3RhdGUgPT0gd3hBVUlfQlVUVE9OX1NUQVRFX1BSRVNTRUQp CistICAgICAgICAgICAgICAgICAgICB3eFJlbmRlcmVyTmF0aXZlOjpHZXQoKS5EcmF3Q29tYm9C b3hEcm9wQnV0dG9uKHduZCwgZGMsIHJlY3QsIHd4Q09OVFJPTF9QUkVTU0VEKTsKKy0gICAgICAg ICAgICAgICAgZWxzZQorLSAgICAgICAgICAgICAgICAgICAgd3hSZW5kZXJlck5hdGl2ZTo6R2V0 KCkuRHJhd0Ryb3BBcnJvdyh3bmQsIGRjLCByZWN0KTsKKy0gICAgICAgICAgICB9CistICAgICAg ICAgICAgYnJlYWs7CistCistICAgICAgICBkZWZhdWx0OgorLSAgICAgICAgICAgIGJyZWFrOwor LSAgICB9CistCistICAgICpvdXRfcmVjdCA9IHJlY3Q7CistfQorLQorLQorLWludCBOYlN0eWxl R1RLOjpHZXRCZXN0VGFiQ3RybFNpemUod3hXaW5kb3cqIHduZCwKKy0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNvbnN0IHd4QXVpTm90ZWJvb2tQYWdlQXJyYXkmIHBhZ2VzLAor LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgd3hTaXplJiByZXF1aXJl ZF9ibXBfc2l6ZSkKKy17CistI2lmIHd4Q0hFQ0tfVkVSU0lPTigzLCAwLCAwKQorLSAgICBTZXRN ZWFzdXJpbmdGb250KG1fbm9ybWFsRm9udCk7CistICAgIFNldFNlbGVjdGVkRm9udChtX25vcm1h bEZvbnQpOworLSNlbHNlCistICAgIFNldE1lYXN1cmluZ0ZvbnQobV9ub3JtYWxfZm9udCk7Cist ICAgIFNldFNlbGVjdGVkRm9udChtX25vcm1hbF9mb250KTsKKy0jZW5kaWYKKy0gICAgaW50IHRh Yl9oZWlnaHQgPSAzICogZ2V0X3N0eWxlX25vdGVib29rKCktPnl0aGlja25lc3MgKyB3eEF1aURl ZmF1bHRUYWJBcnQ6OkdldEJlc3RUYWJDdHJsU2l6ZSh3bmQsIHBhZ2VzLCByZXF1aXJlZF9ibXBf c2l6ZSk7CistICAgIHJldHVybiB0YWJfaGVpZ2h0OworLX0KKy0KKy13eFNpemUgTmJTdHlsZUdU Szo6R2V0VGFiU2l6ZSh3eERDJiBkYywKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3 eFdpbmRvdyogd25kLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHd4U3Ry aW5nJiBjYXB0aW9uLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHd4Qml0 bWFwJiBiaXRtYXAsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBhY3RpdmUs CistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGNsb3NlX2J1dHRvbl9zdGF0ZSwK Ky0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQqIHhfZXh0ZW50KQorLXsKKy0gICAg d3hTaXplIHMgPSB3eEF1aURlZmF1bHRUYWJBcnQ6OkdldFRhYlNpemUoZGMsIHduZCwgY2FwdGlv biwgYml0bWFwLCBhY3RpdmUsIGNsb3NlX2J1dHRvbl9zdGF0ZSwgeF9leHRlbnQpOworLQorLSAg ICBpbnQgb3ZlcmxhcCA9IDA7CistICAgIGd0a193aWRnZXRfc3R5bGVfZ2V0ICh3bmQtPkdldEhh bmRsZSgpLAorLSAgICAgICAgImZvY3VzLWxpbmUtd2lkdGgiLCAmb3ZlcmxhcCwKKy0gICAgICAg IE5VTEwpOworLSAgICAqeF9leHRlbnQgLT0gb3ZlcmxhcDsKKy0gICAgcmV0dXJuIHM7CistfQor LQorLSNlbmRpZiAvLyAjaWYgZGVmaW5lZChfX1dYR1RLX18pICYmIChVU0VfR1RLX05PVEVCT09L KSAmJiAhd3hDSEVDS19WRVJTSU9OKDMsIDAsIDApCitJbmRleDogc3JjL3NyYy9wcm9qZWN0bWFu YWdlcnVpLmNwcAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGEvc3JjL3NyYy9wcm9qZWN0bWFuYWdlcnVpLmNw cAkocmV2aXNpb24gMTI1NzkpCisrKysgYi9zcmMvc3JjL3Byb2plY3RtYW5hZ2VydWkuY3BwCShy ZXZpc2lvbiAxMjU4MCkKK0BAIC0xODc1LDExICsxODc1LDcgQEAKKyB7CisgICAgIHNpemVfdCBv cGVyYXRvcigpKGNvbnN0IHd4U3RyaW5nJiBzKSBjb25zdAorICAgICB7CistI2lmIHd4Q0hFQ0tf VkVSU0lPTigzLCAwLCAwKQorICAgICAgICAgcmV0dXJuIHN0ZDo6aGFzaDxzdGQ6OndzdHJpbmc+ KCkocy5Ub1N0ZFdzdHJpbmcoKSk7CistI2Vsc2UKKy0gICAgICAgIHJldHVybiBzdGQ6Omhhc2g8 c3RkOjp3c3RyaW5nPigpKHMud2Nfc3RyKCkpOworLSNlbmRpZiAvLyB3eENIRUNLX1ZFUlNJT04K KyAgICAgfQorIH07CisgCmRpZmYgLS1naXQgYS9zcmNwa2dzL2NvZGVibG9ja3MvcGF0Y2hlcy8w MDAucjEyNzA3LnBhdGNoIGIvc3JjcGtncy9jb2RlYmxvY2tzL3BhdGNoZXMvMDAwLnIxMjcwNy5w YXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwLi5iY2E5NzRmYmU1 NzcwCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9jb2RlYmxvY2tzL3BhdGNoZXMvMDAwLnIx MjcwNy5wYXRjaApAQCAtMCwwICsxLDEyMCBAQAorSW5kZXg6IHNyYy9zcmMvbm90ZWJvb2tzdHls ZXMuY3BwCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09CistLS0gYS9zcmMvc3JjL25vdGVib29rc3R5bGVzLmNwcAkocmV2 aXNpb24gMTI3MDYpCisrKysgYi9zcmMvc3JjL25vdGVib29rc3R5bGVzLmNwcAkocmV2aXNpb24g MTI3MDcpCitAQCAtMTI0LDggKzEyNCwxNiBAQAorICAgICBpZiAocGFnZS5iaXRtYXAuSXNPaygp KQorICAgICB7CisgICAgICAgICBiaXRtYXBfb2Zmc2V0ID0gdGFiX3ggKyA4OworKyAgICAgICAg Ly8gZHJhdyBiaXRtYXAKKysjaWYgd3hDSEVDS19WRVJTSU9OKDMsIDEsIDYpCisrICAgICAgICBj b25zdCB3eEJpdG1hcCBibXAocGFnZS5iaXRtYXAuR2V0Qml0bWFwRm9yKHduZCkpOworKyAgICAg ICAgZGMuRHJhd0JpdG1hcChibXAsCisrICAgICAgICAgICAgICAgICAgICAgIGJpdG1hcF9vZmZz ZXQsCisrICAgICAgICAgICAgICAgICAgICAgIGRyYXduX3RhYl95b2ZmICsgKGRyYXduX3RhYl9o ZWlnaHQvMikgLSAoYm1wLkdldEhlaWdodCgpLzIpLAorKyAgICAgICAgICAgICAgICAgICAgICB0 cnVlKTsKKyAKKy0gICAgICAgIC8vIGRyYXcgYml0bWFwCisrICAgICAgICB0ZXh0X29mZnNldCA9 IGJpdG1hcF9vZmZzZXQgKyBibXAuR2V0V2lkdGgoKTsKKysjZWxzZQorICAgICAgICAgZGMuRHJh d0JpdG1hcChwYWdlLmJpdG1hcCwKKyAgICAgICAgICAgICAgICAgICAgICAgYml0bWFwX29mZnNl dCwKKyAgICAgICAgICAgICAgICAgICAgICAgZHJhd25fdGFiX3lvZmYgKyAoZHJhd25fdGFiX2hl aWdodC8yKSAtIChwYWdlLmJpdG1hcC5HZXRIZWlnaHQoKS8yKSwKK0BAIC0xMzIsNiArMTQwLDcg QEAKKyAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSk7CisgCisgICAgICAgICB0ZXh0X29mZnNl dCA9IGJpdG1hcF9vZmZzZXQgKyBwYWdlLmJpdG1hcC5HZXRXaWR0aCgpOworKyNlbmRpZgorICAg ICAgICAgdGV4dF9vZmZzZXQgKz0gMzsgLy8gYml0bWFwIHBhZGRpbmcKKyAgICAgfQorICAgICAg ZWxzZQorQEAgLTE2MSwxMyArMTcwLDIzIEBACisgICAgIC8vIGRyYXcgJ3gnIG9uIHRhYiAoaWYg ZW5hYmxlZCkKKyAgICAgaWYgKGNsb3NlX2J1dHRvbl9zdGF0ZSAhPSB3eEFVSV9CVVRUT05fU1RB VEVfSElEREVOKQorICAgICB7CistICAgICAgICBpbnQgY2xvc2VfYnV0dG9uX3dpZHRoID0gbV9h Y3RpdmVDbG9zZUJtcC5HZXRXaWR0aCgpOworLSAgICAgICAgd3hCaXRtYXAgYm1wID0gbV9kaXNh YmxlZENsb3NlQm1wOworKyAgICAgICAgd3hCaXRtYXAgYm1wOworIAorKyNpZiB3eENIRUNLX1ZF UlNJT04oMywgMSwgNikKKyAgICAgICAgIGlmICgoY2xvc2VfYnV0dG9uX3N0YXRlID09IHd4QVVJ X0JVVFRPTl9TVEFURV9IT1ZFUikgfHwKKyAgICAgICAgICAgICAgICAgICAgIChjbG9zZV9idXR0 b25fc3RhdGUgPT0gd3hBVUlfQlVUVE9OX1NUQVRFX1BSRVNTRUQpKQorKyAgICAgICAgICAgIGJt cCA9IG1fYWN0aXZlQ2xvc2VCbXAuR2V0Qml0bWFwRm9yKHduZCk7CisrICAgICAgICBlbHNlCisr ICAgICAgICAgICAgYm1wID0gbV9kaXNhYmxlZENsb3NlQm1wLkdldEJpdG1hcEZvcih3bmQpOwor KyNlbHNlCisrICAgICAgICBpZiAoKGNsb3NlX2J1dHRvbl9zdGF0ZSA9PSB3eEFVSV9CVVRUT05f U1RBVEVfSE9WRVIpIHx8CisrICAgICAgICAgICAgICAgICAgICAoY2xvc2VfYnV0dG9uX3N0YXRl ID09IHd4QVVJX0JVVFRPTl9TVEFURV9QUkVTU0VEKSkKKyAgICAgICAgICAgICBibXAgPSBtX2Fj dGl2ZUNsb3NlQm1wOworKyAgICAgICAgZWxzZQorKyAgICAgICAgICAgIGJtcCA9IG1fZGlzYWJs ZWRDbG9zZUJtcDsKKysjZW5kaWYKKyAKKysgICAgICAgIGNvbnN0IGludCBjbG9zZV9idXR0b25f d2lkdGggPSBibXAuR2V0V2lkdGgoKTsKKyAgICAgICAgIHd4UmVjdCByZWN0KHRhYl94ICsgdGFi X3dpZHRoIC0gY2xvc2VfYnV0dG9uX3dpZHRoIC0gMywKKyAgICAgICAgICAgICAgICAgICAgIGRy YXduX3RhYl95b2ZmICsgKGRyYXduX3RhYl9oZWlnaHQgLyAyKSAtIChibXAuR2V0SGVpZ2h0KCkg LyAyKSwKKyAgICAgICAgICAgICAgICAgICAgIGNsb3NlX2J1dHRvbl93aWR0aCwgdGFiX2hlaWdo dCk7CitAQCAtMjg1LDExICszMDQsMjAgQEAKKyAgICAgaW50IHRleHRfb2Zmc2V0ID0gdGFiX3gg KyA4OworIAorICAgICBpbnQgYml0bWFwX29mZnNldCA9IDA7CisrCisgICAgIGlmIChwYWdlLmJp dG1hcC5Jc09rKCkpCisgICAgIHsKKyAgICAgICAgIGJpdG1hcF9vZmZzZXQgPSB0YWJfeCArIDg7 CisrICAgICAgICAvLyBkcmF3IGJpdG1hcAorKyNpZiB3eENIRUNLX1ZFUlNJT04oMywgMSwgNikK KysgICAgICAgIGNvbnN0IHd4Qml0bWFwIGJtcChwYWdlLmJpdG1hcC5HZXRCaXRtYXBGb3Iod25k KSk7CisrICAgICAgICBkYy5EcmF3Qml0bWFwKGJtcCwKKysgICAgICAgICAgICAgICAgICAgICAg Yml0bWFwX29mZnNldCwKKysgICAgICAgICAgICAgICAgICAgICAgZHJhd25fdGFiX3lvZmYgKyAo ZHJhd25fdGFiX2hlaWdodC8yKSAtIChibXAuR2V0SGVpZ2h0KCkvMiksCisrICAgICAgICAgICAg ICAgICAgICAgIHRydWUpOworIAorLSAgICAgICAgLy8gZHJhdyBiaXRtYXAKKysgICAgICAgIHRl eHRfb2Zmc2V0ID0gYml0bWFwX29mZnNldCArIGJtcC5HZXRXaWR0aCgpOworKyNlbHNlCisgICAg ICAgICBkYy5EcmF3Qml0bWFwKHBhZ2UuYml0bWFwLAorICAgICAgICAgICAgICAgICAgICAgICBi aXRtYXBfb2Zmc2V0LAorICAgICAgICAgICAgICAgICAgICAgICBkcmF3bl90YWJfeW9mZiArIChk cmF3bl90YWJfaGVpZ2h0LzIpIC0gKHBhZ2UuYml0bWFwLkdldEhlaWdodCgpLzIpLAorQEAgLTI5 Niw2ICszMjQsNyBAQAorICAgICAgICAgICAgICAgICAgICAgICB0cnVlKTsKKyAKKyAgICAgICAg IHRleHRfb2Zmc2V0ID0gYml0bWFwX29mZnNldCArIHBhZ2UuYml0bWFwLkdldFdpZHRoKCk7Cisr I2VuZGlmCisgICAgICAgICB0ZXh0X29mZnNldCArPSAzOyAvLyBiaXRtYXAgcGFkZGluZworICAg ICB9CisgICAgICBlbHNlCitAQCAtMzAzLDcgKzMzMiw2IEBACisgICAgICAgICB0ZXh0X29mZnNl dCA9IHRhYl94ICsgODsKKyAgICAgfQorIAorLQorICAgICAvLyBpZiB0aGUgY2FwdGlvbiBpcyBl bXB0eSwgbWVhc3VyZSBzb21lIHRlbXBvcmFyeSB0ZXh0CisgICAgIHd4U3RyaW5nIGNhcHRpb24g PSBwYWdlLmNhcHRpb247CisgICAgIGlmIChjYXB0aW9uLmVtcHR5KCkpCitAQCAtMzI1LDEzICsz NTMsMjMgQEAKKyAgICAgLy8gZHJhdyAneCcgb24gdGFiIChpZiBlbmFibGVkKQorICAgICBpZiAo Y2xvc2VfYnV0dG9uX3N0YXRlICE9IHd4QVVJX0JVVFRPTl9TVEFURV9ISURERU4pCisgICAgIHsK Ky0gICAgICAgIGludCBjbG9zZV9idXR0b25fd2lkdGggPSBtX2FjdGl2ZUNsb3NlQm1wLkdldFdp ZHRoKCk7CistICAgICAgICB3eEJpdG1hcCBibXAgPSBtX2Rpc2FibGVkQ2xvc2VCbXA7CisrICAg ICAgICB3eEJpdG1hcCBibXA7CisgCisrI2lmIHd4Q0hFQ0tfVkVSU0lPTigzLCAxLCA2KQorICAg ICAgICAgaWYgKChjbG9zZV9idXR0b25fc3RhdGUgPT0gd3hBVUlfQlVUVE9OX1NUQVRFX0hPVkVS KSB8fAorICAgICAgICAgICAgICAgICAgICAgKGNsb3NlX2J1dHRvbl9zdGF0ZSA9PSB3eEFVSV9C VVRUT05fU1RBVEVfUFJFU1NFRCkpCisrICAgICAgICAgICAgYm1wID0gbV9hY3RpdmVDbG9zZUJt cC5HZXRCaXRtYXBGb3Iod25kKTsKKysgICAgICAgIGVsc2UKKysgICAgICAgICAgICBibXAgPSBt X2Rpc2FibGVkQ2xvc2VCbXAuR2V0Qml0bWFwRm9yKHduZCk7CisrI2Vsc2UKKysgICAgICAgIGlm ICgoY2xvc2VfYnV0dG9uX3N0YXRlID09IHd4QVVJX0JVVFRPTl9TVEFURV9IT1ZFUikgfHwKKysg ICAgICAgICAgICAgICAgICAgIChjbG9zZV9idXR0b25fc3RhdGUgPT0gd3hBVUlfQlVUVE9OX1NU QVRFX1BSRVNTRUQpKQorICAgICAgICAgICAgIGJtcCA9IG1fYWN0aXZlQ2xvc2VCbXA7CisrICAg ICAgICBlbHNlCisrICAgICAgICAgICAgYm1wID0gbV9kaXNhYmxlZENsb3NlQm1wOworKyNlbmRp ZgorIAorKyAgICAgICAgY29uc3QgaW50IGNsb3NlX2J1dHRvbl93aWR0aCA9IGJtcC5HZXRXaWR0 aCgpOworICAgICAgICAgd3hSZWN0IHJlY3QodGFiX3ggKyB0YWJfd2lkdGggLSBjbG9zZV9idXR0 b25fd2lkdGggLSAzLAorICAgICAgICAgICAgICAgICAgICAgZHJhd25fdGFiX3lvZmYgKyAoZHJh d25fdGFiX2hlaWdodCAvIDIpIC0gKGJtcC5HZXRIZWlnaHQoKSAvIDIpLAorICAgICAgICAgICAg ICAgICAgICAgY2xvc2VfYnV0dG9uX3dpZHRoLCB0YWJfaGVpZ2h0KTsKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvY29kZWJsb2Nrcy9wYXRjaGVzL3d4LTMuMi5wYXRjaCBiL3NyY3BrZ3MvY29kZWJsb2Nr cy9wYXRjaGVzL3d4LTMuMi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMDAwLi4wNDAwY2U2MzQ2MTc4Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9jb2RlYmxv Y2tzL3BhdGNoZXMvd3gtMy4yLnBhdGNoCkBAIC0wLDAgKzEsMjEgQEAKK0luZGV4OiBjb2RlYmxv Y2tzLTIwLjAzL3NyYy9zZGsvc2NyaXB0aW5nL2JpbmRpbmdzL3NjX3d4dHlwZXMuY3BwCis9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09CistLS0gY29kZWJsb2Nrcy0yMC4wMy5vcmlnL3NyYy9zZGsvc2NyaXB0aW5nL2JpbmRp bmdzL3NjX3d4dHlwZXMuY3BwCisrKysgY29kZWJsb2Nrcy0yMC4wMy9zcmMvc2RrL3NjcmlwdGlu Zy9iaW5kaW5ncy9zY193eHR5cGVzLmNwcAorQEAgLTMyMiw2ICszMjIsNyBAQCBuYW1lc3BhY2Ug U2NyaXB0QmluZGluZ3MKKyAgICAgICAgIHR5cGVkZWYgYm9vbCh3eEZpbGVOYW1lOjoqV1hGTl9T RVRDV0QpKCk7CisgI2VuZGlmCisgICAgICAgICB0eXBlZGVmIGJvb2wod3hGaWxlTmFtZTo6KldY Rk5fSVNGSUxFV1JJVEVBQkxFKSgpY29uc3Q7CisrICAgICAgICB0eXBlZGVmIGJvb2wod3hGaWxl TmFtZTo6KldYRk5fTk9STUFMSVpFKShpbnQsIGNvbnN0IHd4U3RyaW5nJiwgd3hQYXRoRm9ybWF0 KTsKKyAKKyAgICAgICAgIFNxUGx1czo6U1FDbGFzc0RlZjx3eEZpbGVOYW1lPigid3hGaWxlTmFt ZSIpLgorICAgICAgICAgICAgICAgICBlbXB0eUN0b3IoKS4KK0BAIC0zNTQsNyArMzU1LDcgQEAg bmFtZXNwYWNlIFNjcmlwdEJpbmRpbmdzCisgICAgICAgICAgICAgICAgIGZ1bmMoJnd4RmlsZU5h bWU6OklzRGlyLCAiSXNEaXIiKS4KKyAgICAgICAgICAgICAgICAgZnVuYygmd3hGaWxlTmFtZTo6 TWFrZUFic29sdXRlLCAiTWFrZUFic29sdXRlIikuCisgICAgICAgICAgICAgICAgIGZ1bmMoJnd4 RmlsZU5hbWU6Ok1ha2VSZWxhdGl2ZVRvLCAiTWFrZVJlbGF0aXZlVG8iKS4KKy0gICAgICAgICAg ICAgICAgZnVuYygmd3hGaWxlTmFtZTo6Tm9ybWFsaXplLCAiTm9ybWFsaXplIikuCisrICAgICAg ICAgICAgICAgIGZ1bmM8V1hGTl9OT1JNQUxJWkU+KCZ3eEZpbGVOYW1lOjpOb3JtYWxpemUsICJO b3JtYWxpemUiKS4KKyAgICAgICAgICAgICAgICAgZnVuYygmd3hGaWxlTmFtZTo6UHJlcGVuZERp ciwgIlByZXBlbmREaXIiKS4KKyAgICAgICAgICAgICAgICAgZnVuYygmd3hGaWxlTmFtZTo6UmVt b3ZlRGlyLCAiUmVtb3ZlRGlyIikuCisgICAgICAgICAgICAgICAgIGZ1bmMoJnd4RmlsZU5hbWU6 OlJlbW92ZUxhc3REaXIsICJSZW1vdmVMYXN0RGlyIikuCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nv ZGVibG9ja3MvdGVtcGxhdGUgYi9zcmNwa2dzL2NvZGVibG9ja3MvdGVtcGxhdGUKaW5kZXggNmM2 YzMxZGZkM2UxZS4uZDAwMmEyNzQwODcyNiAxMDA2NDQKLS0tIGEvc3JjcGtncy9jb2RlYmxvY2tz L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvY29kZWJsb2Nrcy90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcg QEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2NvZGVibG9ja3MnCiBwa2duYW1lPWNvZGVibG9ja3MK IHZlcnNpb249MjAuMDMKLXJldmlzaW9uPTUKK3JldmlzaW9uPTYKIGJ1aWxkX3N0eWxlPWdudS1j b25maWd1cmUKIGNvbmZpZ3VyZV9hcmdzPSItLXdpdGgtd3gtY29uZmlnPXd4LWNvbmZpZy1ndGsz IC0td2l0aC1jb250cmliLXBsdWdpbnMKICAtLXdpdGgtYm9vc3Q9JHtYQlBTX0NST1NTX0JBU0V9 L3VzcgpAQCAtMTcsNiArMTcsOCBAQCBob21lcGFnZT0iaHR0cDovL3d3dy5jb2RlYmxvY2tzLm9y ZyIKIGRpc3RmaWxlcz0iJHtTT1VSQ0VGT1JHRV9TSVRFfS8ke3BrZ25hbWV9L1NvdXJjZXMvJHt2 ZXJzaW9ufS8ke3BrZ25hbWV9LSR7dmVyc2lvbn0udGFyLnh6IgogY2hlY2tzdW09MTVlZWIzZTI4 YWVhMDU0ZTFmMzhiMGM3ZjQ2NzFiNGQ0ZDExMTZmZDA1ZjYzYzA3YWE5NWE5MWRiODllYWFjNQog CitDWFhGTEFHUz0iLURfTEFSR0VGSUxFX1NPVVJDRSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0Igor CiBwb3N0X2luc3RhbGwoKSB7CiAJdmluc3RhbGwgZGViaWFuL2NvZGVibG9ja3Muc2hhcmVkbWlt ZSA2NDQgL3Vzci9zaGFyZS9taW1lL3BhY2thZ2VzIGNvZGVibG9ja3MueG1sCiAJdmluc3RhbGwg c3JjL21pbWUvY29kZWJsb2Nrcy5kZXNrdG9wIDY0NCAvdXNyL3NoYXJlL2FwcGxpY2F0aW9ucwoK RnJvbSBhZmJjYjZhZjNkNzkwMmM2NWRmY2MwOWVhYTI5YzRjOWE1MGE0Y2FhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiQW5kcmV3IEouIEhlc2ZvcmQiIDxhamhAc2lkZWJhbmQub3Jn PgpEYXRlOiBNb24sIDI1IFNlcCAyMDIzIDAwOjE4OjIwIC0wNDAwClN1YmplY3Q6IFtQQVRDSCAy MC80M10gY29kZWxpdGU6IHJlYnVpbGQgd2l0aCB3eFdpZGdldHMtZ3RrMy0zLjIuMi4xCgotLS0K IHNyY3BrZ3MvY29kZWxpdGUvcGF0Y2hlcy93eDMyLnBhdGNoIHwgMTMxICsrKysrKysrKysrKysr KysrKysrKysrKysrKysKIHNyY3BrZ3MvY29kZWxpdGUvdGVtcGxhdGUgICAgICAgICAgIHwgICA0 ICstCiAyIGZpbGVzIGNoYW5nZWQsIDEzNCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiBj cmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9jb2RlbGl0ZS9wYXRjaGVzL3d4MzIucGF0Y2gKCmRp ZmYgLS1naXQgYS9zcmNwa2dzL2NvZGVsaXRlL3BhdGNoZXMvd3gzMi5wYXRjaCBiL3NyY3BrZ3Mv Y29kZWxpdGUvcGF0Y2hlcy93eDMyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMDAwMDAuLmY1NTM1ZWJhZjFiM2IKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2Nv ZGVsaXRlL3BhdGNoZXMvd3gzMi5wYXRjaApAQCAtMCwwICsxLDEzMSBAQAorRnJvbSA0MjdhZjM1 OGQ0MWRlYjAwYTQ2MjhlNWIzOWM2M2E5MjljZWY4OTRhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQorRnJvbTogRXJhbiBJZnJhaCA8ZXJhbkBjb2RlbGl0ZS5vcmc+CitEYXRlOiBGcmksIDEwIEp1 biAyMDIyIDEwOjE1OjUyICswMzAwCitTdWJqZWN0OiBbUEFUQ0hdIG1hY29zOiBodW5zcGVsbDog dXNlIHRoZSBsaWJyYXJ5IGZyb20gYnJldyBmaXhlZCBidWlsZAorIGFnYWluc3Qgd3gzLjEuNyB0 ZW1wb3Jhcmx5OiBkaXNhYmxlIGJ1aWxkaW5nIExMREIgb24gbWFjb3MKKworLS0tCisgQ01ha2VM aXN0cy50eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDUgKy0KKyBTcGVsbENo ZWNrZXIvQ01ha2VMaXN0cy50eHQgICAgICAgICAgICAgICAgICB8ICAyNyArLQorIHNkay9odW5z cGVsbC9pbmNsdWRlL2FmZmVudHJ5Lmh4eCAgICAgICAgICAgIHwgMTQ0IC0tLS0tLS0tLS0tCisg c2RrL2h1bnNwZWxsL2luY2x1ZGUvYWZmaXhtZ3IuaHh4ICAgICAgICAgICAgfCAyNTIgLS0tLS0t LS0tLS0tLS0tLS0tLQorIHNkay9odW5zcGVsbC9pbmNsdWRlL2F0eXBlcy5oeHggICAgICAgICAg ICAgIHwgMTA3IC0tLS0tLS0tCisgc2RrL2h1bnNwZWxsL2luY2x1ZGUvYmFzZWFmZml4Lmh4eCAg ICAgICAgICAgfCAgMzIgLS0tCisgc2RrL2h1bnNwZWxsL2luY2x1ZGUvY3N1dGlsLmh4eCAgICAg ICAgICAgICAgfCAyMjMgLS0tLS0tLS0tLS0tLS0tLQorIHNkay9odW5zcGVsbC9pbmNsdWRlL2Rp Y3RtZ3IuaHh4ICAgICAgICAgICAgIHwgIDM5IC0tLQorIHNkay9odW5zcGVsbC9pbmNsdWRlL2Zp bGVtZ3IuaHh4ICAgICAgICAgICAgIHwgIDI4IC0tLQorIHNkay9odW5zcGVsbC9pbmNsdWRlL2hh c2htZ3IuaHh4ICAgICAgICAgICAgIHwgIDY5IC0tLS0tCisgc2RrL2h1bnNwZWxsL2luY2x1ZGUv aHR5cGVzLmh4eCAgICAgICAgICAgICAgfCAgMzIgLS0tCisgc2RrL2h1bnNwZWxsL2luY2x1ZGUv aHVuc3BlbGwuaHh4ICAgICAgICAgICAgfCAxODQgLS0tLS0tLS0tLS0tLS0KKyBzZGsvaHVuc3Bl bGwvaW5jbHVkZS9odW56aXAuaHh4ICAgICAgICAgICAgICB8ICA0NyAtLS0tCisgc2RrL2h1bnNw ZWxsL2luY2x1ZGUvbGFuZ251bS5oeHggICAgICAgICAgICAgfCAgMzggLS0tCisgc2RrL2h1bnNw ZWxsL2luY2x1ZGUvcGhvbmV0Lmh4eCAgICAgICAgICAgICAgfCAgNTIgLS0tLQorIHNkay9odW5z cGVsbC9pbmNsdWRlL3JlcGxpc3QuaHh4ICAgICAgICAgICAgIHwgIDMwIC0tLQorIHNkay9odW5z cGVsbC9pbmNsdWRlL3N1Z2dlc3RtZ3IuaHh4ICAgICAgICAgIHwgMTE1IC0tLS0tLS0tLQorIHNk ay9odW5zcGVsbC9pbmNsdWRlL3dfY2hhci5oeHggICAgICAgICAgICAgIHwgIDIxIC0tCisgc2Rr L2h1bnNwZWxsL2xpYi9vc3gvbGliaHVuc3BlbGwtMS4zLjAuZHlsaWIgfCBCaW4gMzYzODc2IC0+ IDAgYnl0ZXMKKyB3eGNyYWZ0ZXIvbXl4aF9wcm9wZ3JpZC5jcHAgICAgICAgICAgICAgICAgICB8 ICAzMiArKy0KKyAyMCBmaWxlcyBjaGFuZ2VkLCAzNiBpbnNlcnRpb25zKCspLCAxNDQxIGRlbGV0 aW9ucygtKQorIGRlbGV0ZSBtb2RlIDEwMDY0NCBzZGsvaHVuc3BlbGwvaW5jbHVkZS9hZmZlbnRy eS5oeHgKKyBkZWxldGUgbW9kZSAxMDA2NDQgc2RrL2h1bnNwZWxsL2luY2x1ZGUvYWZmaXhtZ3Iu aHh4CisgZGVsZXRlIG1vZGUgMTAwNjQ0IHNkay9odW5zcGVsbC9pbmNsdWRlL2F0eXBlcy5oeHgK KyBkZWxldGUgbW9kZSAxMDA2NDQgc2RrL2h1bnNwZWxsL2luY2x1ZGUvYmFzZWFmZml4Lmh4eAor IGRlbGV0ZSBtb2RlIDEwMDY0NCBzZGsvaHVuc3BlbGwvaW5jbHVkZS9jc3V0aWwuaHh4CisgZGVs ZXRlIG1vZGUgMTAwNjQ0IHNkay9odW5zcGVsbC9pbmNsdWRlL2RpY3RtZ3IuaHh4CisgZGVsZXRl IG1vZGUgMTAwNjQ0IHNkay9odW5zcGVsbC9pbmNsdWRlL2ZpbGVtZ3IuaHh4CisgZGVsZXRlIG1v ZGUgMTAwNjQ0IHNkay9odW5zcGVsbC9pbmNsdWRlL2hhc2htZ3IuaHh4CisgZGVsZXRlIG1vZGUg MTAwNjQ0IHNkay9odW5zcGVsbC9pbmNsdWRlL2h0eXBlcy5oeHgKKyBkZWxldGUgbW9kZSAxMDA2 NDQgc2RrL2h1bnNwZWxsL2luY2x1ZGUvaHVuc3BlbGwuaHh4CisgZGVsZXRlIG1vZGUgMTAwNjQ0 IHNkay9odW5zcGVsbC9pbmNsdWRlL2h1bnppcC5oeHgKKyBkZWxldGUgbW9kZSAxMDA2NDQgc2Rr L2h1bnNwZWxsL2luY2x1ZGUvbGFuZ251bS5oeHgKKyBkZWxldGUgbW9kZSAxMDA2NDQgc2RrL2h1 bnNwZWxsL2luY2x1ZGUvcGhvbmV0Lmh4eAorIGRlbGV0ZSBtb2RlIDEwMDY0NCBzZGsvaHVuc3Bl bGwvaW5jbHVkZS9yZXBsaXN0Lmh4eAorIGRlbGV0ZSBtb2RlIDEwMDY0NCBzZGsvaHVuc3BlbGwv aW5jbHVkZS9zdWdnZXN0bWdyLmh4eAorIGRlbGV0ZSBtb2RlIDEwMDY0NCBzZGsvaHVuc3BlbGwv aW5jbHVkZS93X2NoYXIuaHh4CisgZGVsZXRlIG1vZGUgMTAwNzU1IHNkay9odW5zcGVsbC9saWIv b3N4L2xpYmh1bnNwZWxsLTEuMy4wLmR5bGliCisKK2RpZmYgLS1naXQgYS93eGNyYWZ0ZXIvbXl4 aF9wcm9wZ3JpZC5jcHAgYi93eGNyYWZ0ZXIvbXl4aF9wcm9wZ3JpZC5jcHAKK2luZGV4IDk3NGJj NjJmMC4uM2ZjYjM4NDVkIDEwMDY0NAorLS0tIGEvd3hjcmFmdGVyL215eGhfcHJvcGdyaWQuY3Bw CisrKysgYi93eGNyYWZ0ZXIvbXl4aF9wcm9wZ3JpZC5jcHAKK0BAIC0xLDQgKzEsNSBAQAorICNp bmNsdWRlICJteXhoX3Byb3BncmlkLmgiCisrCisgI2luY2x1ZGUgPHd4L2RhdGV0aW1lLmg+Cisg I2luY2x1ZGUgPHd4L2xvZy5oPgorICNpbmNsdWRlIDx3eC9wcm9wZ3JpZC9hZHZwcm9wcy5oPgor QEAgLTQ4LDEwICs0OSwxNCBAQCB3eE9iamVjdCogTXlXeFByb3BHcmlkWG1sSGFuZGxlcjo6RG9D cmVhdGVSZXNvdXJjZSgpCisgCisgICAgICAgICAvLyBhZGQgdGhlIHNwbGl0dGVyIHByb3BlcnR5 IGFmdGVyIHRoZSBjaGlsZHJlbiB3ZXJlIGFkZGVkCisgICAgICAgICBpbnQgc3BsaXR0ZXJMZWZ0 ID0gR2V0Qm9vbCgic3BsaXR0ZXJsZWZ0Iik7CistICAgICAgICBpZihzcGxpdHRlckxlZnQpIHsg bV9wZ21nci0+R2V0UGFnZSgwKS0+U2V0U3BsaXR0ZXJMZWZ0KCk7IH0KKysgICAgICAgIGlmKHNw bGl0dGVyTGVmdCkgeworKyAgICAgICAgICAgIG1fcGdtZ3ItPlNldFNwbGl0dGVyTGVmdCgpOwor KyAgICAgICAgfQorIAorICAgICAgICAgaW50IHNwbGl0dGVyUG9zID0gR2V0TG9uZygic3BsaXR0 ZXJwb3MiLCB3eE5PVF9GT1VORCk7CistICAgICAgICBpZihzcGxpdHRlclBvcyAhPSB3eE5PVF9G T1VORCkgeyBtX3BnbWdyLT5HZXRQYWdlKDApLT5TZXRTcGxpdHRlclBvc2l0aW9uKHNwbGl0dGVy UG9zKTsgfQorKyAgICAgICAgaWYoc3BsaXR0ZXJQb3MgIT0gd3hOT1RfRk9VTkQpIHsKKysgICAg ICAgICAgICBtX3BnbWdyLT5HZXRQYWdlKDApLT5TZXRTcGxpdHRlclBvc2l0aW9uKHNwbGl0dGVy UG9zKTsKKysgICAgICAgIH0KKyAKKyAgICAgICAgIG1faXNJbnNpZGUgPSBmYWxzZTsKKyAgICAg ICAgIHJldHVybiBtX3BnbWdyOworQEAgLTY3LDcgKzcyLDkgQEAgYm9vbCBNeVd4UHJvcEdyaWRY bWxIYW5kbGVyOjpDYW5IYW5kbGUod3hYbWxOb2RlKiBub2RlKQorIAorIHZvaWQgTXlXeFByb3BH cmlkWG1sSGFuZGxlcjo6SGFuZGxlUGdQcm9wZXJ0eSh3eFBHUHJvcGVydHkqIHBhcmVudCkKKyB7 CistICAgIGlmKCFIYXNQYXJhbSh3eFQoInByb3B0eXBlIikpKSB7IHJldHVybjsgfQorKyAgICBp ZighSGFzUGFyYW0od3hUKCJwcm9wdHlwZSIpKSkgeworKyAgICAgICAgcmV0dXJuOworKyAgICB9 CisgCisgICAgIC8vIFByb3BlcnR5CisgICAgIHd4U3RyaW5nIHByb3B0eXBlID0gR2V0VGV4dCgi cHJvcHR5cGUiKTsKK0BAIC0xMTYsNyArMTIzLDkgQEAgdm9pZCBNeVd4UHJvcEdyaWRYbWxIYW5k bGVyOjpIYW5kbGVQZ1Byb3BlcnR5KHd4UEdQcm9wZXJ0eSogcGFyZW50KQorIAorICAgICB9IGVs c2UgaWYocHJvcHR5cGUgPT0gInd4RW51bVByb3BlcnR5IikgeworICAgICAgICAgaW50IHNlbCA9 IGl0ZW1zLkluZGV4KHZhbHVlKTsKKy0gICAgICAgIGlmKHNlbCA9PSB3eE5PVF9GT1VORCkgeyBz ZWwgPSAwOyB9CisrICAgICAgICBpZihzZWwgPT0gd3hOT1RfRk9VTkQpIHsKKysgICAgICAgICAg ICBzZWwgPSAwOworKyAgICAgICAgfQorIAorICAgICAgICAgcHJvcCA9IERvQXBwZW5kUHJvcGVy dHkocGFyZW50LCBuZXcgd3hFbnVtUHJvcGVydHkobGFiZWwsIHd4UEdfTEFCRUwsIGl0ZW1zLCB3 eEFycmF5SW50KCksIHNlbCkpOworIAorQEAgLTE0Myw4ICsxNTIsMTIgQEAgdm9pZCBNeVd4UHJv cEdyaWRYbWxIYW5kbGVyOjpIYW5kbGVQZ1Byb3BlcnR5KHd4UEdQcm9wZXJ0eSogcGFyZW50KQor IAorICAgICAvLyBIYW5kbGUgbmVzdGVkIGNoaWxkcmVuCisgICAgIGlmKHByb3ApIHsKKy0gICAg ICAgIGlmKGJnY29sLklzT2soKSkgeyBwcm9wLT5TZXRCYWNrZ3JvdW5kQ29sb3VyKGJnY29sLCBi Z2NvbFJlY3Vyc2UpOyB9CistICAgICAgICBpZighcHJvcEVkaXRvci5Jc0VtcHR5KCkpIHsgcHJv cC0+U2V0RWRpdG9yKHByb3BFZGl0b3IpOyB9CisrICAgICAgICBpZihiZ2NvbC5Jc09rKCkpIHsK KysgICAgICAgICAgICBwcm9wLT5TZXRCYWNrZ3JvdW5kQ29sb3VyKGJnY29sLCBiZ2NvbFJlY3Vy c2UpOworKyAgICAgICAgfQorKyAgICAgICAgaWYoIXByb3BFZGl0b3IuSXNFbXB0eSgpKSB7Cisr ICAgICAgICAgICAgcHJvcC0+U2V0RWRpdG9yKHByb3BFZGl0b3IpOworKyAgICAgICAgfQorICAg ICAgICAgcHJvcC0+U2V0SGVscFN0cmluZyh0aXApOworIAorICAgICAgICAgLy8gQ2hlY2sgdG8g c2VlIGlmIHRoaXMgcHJvcGVydHkgaGFzIGNoaWxkcmVuCitAQCAtMTYwLDEyICsxNzMsMTUgQEAg dm9pZCBNeVd4UHJvcEdyaWRYbWxIYW5kbGVyOjpIYW5kbGVQZ1Byb3BlcnR5KHd4UEdQcm9wZXJ0 eSogcGFyZW50KQorIAorIHd4QXJyYXlTdHJpbmcgTXlXeFByb3BHcmlkWG1sSGFuZGxlcjo6R2V0 QXJyYXkoY29uc3Qgd3hYbWxOb2RlKiBub2RlKSBjb25zdAorIHsKKy0gICAgaWYoIW5vZGUpIHJl dHVybiB3eEFycmF5U3RyaW5nKCk7CisrICAgIGlmKCFub2RlKQorKyAgICAgICAgcmV0dXJuIHd4 QXJyYXlTdHJpbmcoKTsKKyAKKyAgICAgd3hBcnJheVN0cmluZyBpdGVtczsKKyAgICAgd3hYbWxO b2RlKiBjaGlsZCA9IG5vZGUtPkdldENoaWxkcmVuKCk7CisgICAgIHdoaWxlKGNoaWxkKSB7Cist ICAgICAgICBpZihjaGlsZC0+R2V0TmFtZSgpID09ICJpdGVtIikgeyBpdGVtcy5BZGQoY2hpbGQt PkdldE5vZGVDb250ZW50KCkpOyB9CisrICAgICAgICBpZihjaGlsZC0+R2V0TmFtZSgpID09ICJp dGVtIikgeworKyAgICAgICAgICAgIGl0ZW1zLkFkZChjaGlsZC0+R2V0Tm9kZUNvbnRlbnQoKSk7 CisrICAgICAgICB9CisgICAgICAgICBjaGlsZCA9IGNoaWxkLT5HZXROZXh0KCk7CisgICAgIH0K KyAgICAgcmV0dXJuIGl0ZW1zOworLS0gCisyLjQyLjAKKwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9j b2RlbGl0ZS90ZW1wbGF0ZSBiL3NyY3BrZ3MvY29kZWxpdGUvdGVtcGxhdGUKaW5kZXggYjBiZjhm NTc3MzZhNC4uZjgyMDY0MjY4ODhmZCAxMDA2NDQKLS0tIGEvc3JjcGtncy9jb2RlbGl0ZS90ZW1w bGF0ZQorKysgYi9zcmNwa2dzL2NvZGVsaXRlL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBU ZW1wbGF0ZSBmaWxlIGZvciAnY29kZWxpdGUnCiBwa2duYW1lPWNvZGVsaXRlCiB2ZXJzaW9uPTE2 LjAuMAotcmV2aXNpb249MworcmV2aXNpb249NAogY3JlYXRlX3dya3NyYz15ZXMKIGJ1aWxkX3N0 eWxlPWNtYWtlCiBidWlsZF9oZWxwZXI9Y21ha2Utd3hXaWRnZXRzLWd0azMKQEAgLTMyLDYgKzMy LDggQEAgY2FzZSAiJFhCUFNfVEFSR0VUX01BQ0hJTkUiIGluCiAJeDg2XzY0KnxwcGM2NGxlKnxh YXJjaDY0Knxhcm0qKSBidWlsZF9vcHRpb25zX2RlZmF1bHQrPSIgbGxkYiI7OwogZXNhYwogCitD WFhGTEFHUz0iLURfTEFSR0VGSUxFX1NPVVJDRSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IgorCiBw b3N0X2V4dHJhY3QoKSB7CiAJbXYgY29kZWxpdGUtJHt2ZXJzaW9ufS8qIC4KIAlybSAtcmYgdW5p dmVyc2FsLWN0YWdzCgpGcm9tIDFjNmMxY2ZhNWZkNmJjYjViYjRhYzQxNjVjYjEyMDQwMTdhOWMw NWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ICJBbmRyZXcgSi4gSGVzZm9yZCIgPGFq aEBzaWRlYmFuZC5vcmc+CkRhdGU6IE1vbiwgMjUgU2VwIDIwMjMgMDA6MTg6MjAgLTA0MDAKU3Vi amVjdDogW1BBVENIIDIxLzQzXSBkaWZmLXBkZjogcmVidWlsZCB3aXRoIHd4V2lkZ2V0cy1ndGsz LTMuMi4yLjEKCi0tLQogc3JjcGtncy9kaWZmLXBkZi90ZW1wbGF0ZSB8IDQgKysrLQogMSBmaWxl IGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvZGlmZi1wZGYvdGVtcGxhdGUgYi9zcmNwa2dzL2RpZmYtcGRmL3RlbXBsYXRlCmluZGV4 IDFiMWMxYjY5MDgxNGMuLjY4ZDY5ODA4YWQ0NDIgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvZGlmZi1w ZGYvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9kaWZmLXBkZi90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcg QEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2RpZmYtcGRmJwogcGtnbmFtZT1kaWZmLXBkZgogdmVy c2lvbj0wLjUuMQotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9Z251LWNvbmZp Z3VyZQogY29uZmlndXJlX2FyZ3M9Ii0td2l0aC13eC1jb25maWc9d3gtY29uZmlnLWd0azMiCiBo b3N0bWFrZWRlcGVuZHM9InBrZy1jb25maWciCkBAIC0xMywzICsxMyw1IEBAIGhvbWVwYWdlPSJo dHRwczovL3ZzbGF2aWsuZ2l0aHViLmlvL2RpZmYtcGRmLyIKIGNoYW5nZWxvZz0iaHR0cHM6Ly9n aXRodWIuY29tL3ZzbGF2aWsvZGlmZi1wZGYvcmVsZWFzZXMiCiBkaXN0ZmlsZXM9Imh0dHBzOi8v Z2l0aHViLmNvbS92c2xhdmlrL2RpZmYtcGRmL3JlbGVhc2VzL2Rvd25sb2FkL3Yke3ZlcnNpb259 L2RpZmYtcGRmLSR7dmVyc2lvbn0udGFyLmd6IgogY2hlY2tzdW09MDE3ZDUyY2I3ZGRhYmRiZjYz YzZhNDdmMzliMmU1YTE3OTAwMjJiOTUyOTViMGQwNDc4MTc5MDRlMDkzMjQ1YworCitDWFhGTEFH Uz0iLURfTEFSR0VGSUxFX1NPVVJDRSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IgoKRnJvbSBhY2M2 MWRkODg4ODk1NWZjMDBiZTFlYjM4YWU2YmIyYTY5MWEwOGYwIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQpGcm9tOiAiQW5kcmV3IEouIEhlc2ZvcmQiIDxhamhAc2lkZWJhbmQub3JnPgpEYXRlOiBN b24sIDI1IFNlcCAyMDIzIDAwOjE4OjIwIC0wNDAwClN1YmplY3Q6IFtQQVRDSCAyMi80M10gZXJs YW5nOiByZWJ1aWxkIHdpdGggd3hXaWRnZXRzLWd0azMtMy4yLjIuMQoKLS0tCiBzcmNwa2dzL2Vy bGFuZy90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBk ZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZXJsYW5nL3RlbXBsYXRlIGIvc3JjcGtn cy9lcmxhbmcvdGVtcGxhdGUKaW5kZXggNDExZjkyMWY1OWY0OC4uMmI3NTJlZjc4OTZkYyAxMDA2 NDQKLS0tIGEvc3JjcGtncy9lcmxhbmcvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9lcmxhbmcvdGVt cGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdlcmxhbmcnCiBwa2du YW1lPWVybGFuZwogdmVyc2lvbj0yNi4xCi1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBidWlsZF9z dHlsZT1nbnUtY29uZmlndXJlCiBtYWtlX2luc3RhbGxfdGFyZ2V0PSJpbnN0YWxsIGluc3RhbGwt ZG9jcyIKIGhvc3RtYWtlZGVwZW5kcz0iYXV0b2NvbmYgbGlieHNsdCBwZXJsIHRhciIKCkZyb20g NTFmMjAwZmU3ZDRjNjAwNDdkN2M3NGM2M2UzOTlhZWUyZDE0Mjg3OSBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKRnJvbTogIkFuZHJldyBKLiBIZXNmb3JkIiA8YWpoQHNpZGViYW5kLm9yZz4KRGF0 ZTogTW9uLCAyNSBTZXAgMjAyMyAwMDoxODoyMSAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMjMvNDNd IGZpbGV6aWxsYTogcmVidWlsZCB3aXRoIHd4V2lkZ2V0cy1ndGszLTMuMi4yLjEKCi0tLQogc3Jj cGtncy9maWxlemlsbGEvdGVtcGxhdGUgfCA0ICsrKy0KIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2Vy dGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2ZpbGV6aWxsYS90 ZW1wbGF0ZSBiL3NyY3BrZ3MvZmlsZXppbGxhL3RlbXBsYXRlCmluZGV4IGM4ZDdmZWFiN2I0ZjUu LmVjNTI1OTJmMjNkMTYgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvZmlsZXppbGxhL3RlbXBsYXRlCisr KyBiL3NyY3BrZ3MvZmlsZXppbGxhL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0 ZSBmaWxlIGZvciAnZmlsZXppbGxhJwogcGtnbmFtZT1maWxlemlsbGEKIHZlcnNpb249My42NS4w Ci1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBidWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCiBjb25m aWd1cmVfYXJncz0iLS1kaXNhYmxlLXN0YXRpYyAtLWRpc2FibGUtbWFudWFsdXBkYXRlY2hlY2sg LS1kaXNhYmxlLWF1dG91cGRhdGVjaGVjawogIC0td2l0aC13eC1jb25maWc9d3gtY29uZmlnLWd0 azMiCkBAIC0yNCwzICsyNCw1IEBAIGZpCiBjYXNlICIkWEJQU19UQVJHRVRfTUFDSElORSIgaW4K IAlpNjg2Knx4ODZfNjQqKSAgQ0ZMQUdTPSItbXNzZTIiOzsKIGVzYWMKKworQ1hYRkxBR1M9Ii1E X0xBUkdFRklMRV9TT1VSQ0UgLURfRklMRV9PRkZTRVRfQklUUz02NCIKCkZyb20gNjNiZDM5ZDMw MWRjZjA3NTQ4ZmZmMTJlNDIxNDM5Mzg4ZDY4YzAyNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogIkFuZHJldyBKLiBIZXNmb3JkIiA8YWpoQHNpZGViYW5kLm9yZz4KRGF0ZTogTW9uLCAy NSBTZXAgMjAyMyAwMDoxODoyMSAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMjQvNDNdIGdudXBsb3Q6 IHJlYnVpbGQgd2l0aCB3eFdpZGdldHMtZ3RrMy0zLjIuMi4xCgotLS0KIHNyY3BrZ3MvZ251cGxv dC90ZW1wbGF0ZSB8IDQgKysrLQogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMSBk ZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZ251cGxvdC90ZW1wbGF0ZSBiL3NyY3Br Z3MvZ251cGxvdC90ZW1wbGF0ZQppbmRleCBhZDBkYmYwNTNkMDAyLi5jNGQ5ZGNiMmE4OTRjIDEw MDY0NAotLS0gYS9zcmNwa2dzL2dudXBsb3QvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9nbnVwbG90 L3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnZ251cGxvdCcK IHBrZ25hbWU9Z251cGxvdAogdmVyc2lvbj01LjQuOQotcmV2aXNpb249MQorcmV2aXNpb249Mgog Y29uZmlndXJlX2FyZ3M9Ii0td2l0aC1yZWFkbGluZT1idWlsdGluIgogaG9zdG1ha2VkZXBlbmRz PSJwa2ctY29uZmlnIGx1YTUyIgogbWFrZWRlcGVuZHM9InpsaWItZGV2ZWwgbGliWDExLWRldmVs IGdkLWRldmVsIGx1YTUyLWRldmVsIgpAQCAtMjEsNiArMjEsOCBAQCBmaQogCiBhbHRlcm5hdGl2 ZXM9ImdudXBsb3Q6Z251cGxvdDovdXNyL2Jpbi9nbnVwbG90LXgxMSIKIAorQ1hYRkxBR1M9Ii1E X0xBUkdFRklMRV9TT1VSQ0UgLURfRklMRV9PRkZTRVRfQklUUz02NCIKKwogcHJlX2NvbmZpZ3Vy ZSgpIHsKIAkjIGZpeCBmb250cyBsb2NhdGlvbgogCXNlZCAtaSBcCgpGcm9tIDM3MjU4Zjc3NzVh MjdmMGYwZjk3YTZhN2VmN2Y5NjkzNjM5YTc0MWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206ICJBbmRyZXcgSi4gSGVzZm9yZCIgPGFqaEBzaWRlYmFuZC5vcmc+CkRhdGU6IE1vbiwgMjUg U2VwIDIwMjMgMDA6MTg6MjEgLTA0MDAKU3ViamVjdDogW1BBVENIIDI1LzQzXSBnb2xseTogcmVi dWlsZCB3aXRoIHd4V2lkZ2V0cy1ndGszLTMuMi4yLjEKCi0tLQogc3JjcGtncy9nb2xseS90ZW1w bGF0ZSB8IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2dvbGx5L3RlbXBsYXRlIGIvc3JjcGtncy9nb2xs eS90ZW1wbGF0ZQppbmRleCA2OTFmOTk5YTZlZGRkLi5kYTM2Mzc3Y2VkMWZiIDEwMDY0NAotLS0g YS9zcmNwa2dzL2dvbGx5L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvZ29sbHkvdGVtcGxhdGUKQEAg LTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdnb2xseScKIHBrZ25hbWU9Z29sbHkK IHZlcnNpb249NC4xCi1yZXZpc2lvbj0yCityZXZpc2lvbj0zCiBidWlsZF93cmtzcmM9Imd1aS13 eCIKIGJ1aWxkX3N0eWxlPWdudS1tYWtlZmlsZQogbWFrZV9idWlsZF9hcmdzPSItZiBtYWtlZmls ZS1ndGsgR09MTFlESVI9L3Vzci9zaGFyZS9nb2xseSBMVUFMSUI9LWxsdWE1LjQKQEAgLTE3LDcg KzE3LDcgQEAgaG9tZXBhZ2U9Imh0dHA6Ly9nb2xseS5zb3VyY2Vmb3JnZS5uZXQvIgogZGlzdGZp bGVzPSIke1NPVVJDRUZPUkdFX1NJVEV9LyR7cGtnbmFtZX0vJHtwa2duYW1lfS0ke3ZlcnNpb259 LXNyYy50YXIuZ3oiCiBjaGVja3N1bT02YzY1NWE2Y2UyZmQ3NWM2YWU3Mjg5ZGEzOWQwODQxNjJj NmVkODg3YTAxYzIxYzM3NjA4NzJlM2ZmNmQ2MGM4CiAKLUNYWEZMQUdTPSItSS4uL2dvbGx5YmFz ZSIKK0NYWEZMQUdTPSItSS4uL2dvbGx5YmFzZSAtRF9MQVJHRUZJTEVfU09VUkNFIC1EX0ZJTEVf T0ZGU0VUX0JJVFM9NjQiCiAKIHBvc3RfZXh0cmFjdCgpIHsKIAkjIFBPU0lYIG5hbWUgY2xhc2gK CkZyb20gOTYxNDI2ZjBhNDQ0YWEwMDc2OTNjYjI3NzA0YjBiYmE0ZDdmZWMwMyBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogIkFuZHJldyBKLiBIZXNmb3JkIiA8YWpoQHNpZGViYW5kLm9y Zz4KRGF0ZTogTW9uLCAyNSBTZXAgMjAyMyAwMDoxODoyMSAtMDQwMApTdWJqZWN0OiBbUEFUQ0gg MjYvNDNdIGh1Z2luOiByZWJ1aWxkIHdpdGggd3hXaWRnZXRzLWd0azMtMy4yLjIuMQoKLS0tCiBz cmNwa2dzL2h1Z2luL3RlbXBsYXRlIHwgNCArKystCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRp b25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9odWdpbi90ZW1wbGF0 ZSBiL3NyY3BrZ3MvaHVnaW4vdGVtcGxhdGUKaW5kZXggOTQzZDIzZDFhOTMyZi4uNGQ4MWUzNDgz NTFkMyAxMDA2NDQKLS0tIGEvc3JjcGtncy9odWdpbi90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2h1 Z2luL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnaHVnaW4n CiBwa2duYW1lPWh1Z2luCiB2ZXJzaW9uPTIwMjIuMC4wCi1yZXZpc2lvbj04CityZXZpc2lvbj05 CiBidWlsZF9zdHlsZT1jbWFrZQogYnVpbGRfaGVscGVyPWNtYWtlLXd4V2lkZ2V0cy1ndGszCiBw eWNvbXBpbGVfZGlycz0idXNyL3NoYXJlL2h1Z2luL2RhdGEvcGx1Z2lucyB1c3Ivc2hhcmUvaHVn aW4vZGF0YS9wbHVnaW5zLXRlbXBsYXRlcyIKQEAgLTIwLDYgKzIwLDggQEAgZGlzdGZpbGVzPSIk e1NPVVJDRUZPUkdFX1NJVEV9L2h1Z2luL2h1Z2luL2h1Z2luLSR7dmVyc2lvbiUuKn0vaHVnaW4t JHt2ZXJzaW9ufS4KIGNoZWNrc3VtPTk3Yzg1NjJhMGJhOWE3NDNlMGI5NTVhNDNkZmRlMDQ4YjFj NjBjZDllNWYyZWUyYjY5ZGUxYTgxNjQ2ZTA1YTcKIHB5dGhvbl92ZXJzaW9uPTMKIAorQ1hYRkxB R1M9Ii1EX0xBUkdFRklMRV9TT1VSQ0UgLURfRklMRV9PRkZTRVRfQklUUz02NCIKKwogaWYgWyAi JENST1NTX0JVSUxEIiBdOyB0aGVuCiAJaG9zdG1ha2VkZXBlbmRzKz0iIHB5dGhvbjMiCiBlbHNl CgpGcm9tIGZmMTIxMWQ2NWZhZDg1ZGNjZmQyMGJmZjNlOTg3YmYwY2JkOGNjNTUgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206ICJBbmRyZXcgSi4gSGVzZm9yZCIgPGFqaEBzaWRlYmFuZC5v cmc+CkRhdGU6IE1vbiwgMjUgU2VwIDIwMjMgMDA6MTg6MjEgLTA0MDAKU3ViamVjdDogW1BBVENI IDI3LzQzXSBtZWRpYWluZm86IHJlYnVpbGQgd2l0aCB3eFdpZGdldHMtZ3RrMy0zLjIuMi4xCgot LS0KIHNyY3BrZ3MvbWVkaWFpbmZvL3RlbXBsYXRlIHwgNCArKystCiAxIGZpbGUgY2hhbmdlZCwg MyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9tZWRp YWluZm8vdGVtcGxhdGUgYi9zcmNwa2dzL21lZGlhaW5mby90ZW1wbGF0ZQppbmRleCBlODBkYTU5 ZWFkODgwLi5kMzU2YTFhYjVlYzY2IDEwMDY0NAotLS0gYS9zcmNwa2dzL21lZGlhaW5mby90ZW1w bGF0ZQorKysgYi9zcmNwa2dzL21lZGlhaW5mby90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMg VGVtcGxhdGUgZmlsZSBmb3IgJ21lZGlhaW5mbycKIHBrZ25hbWU9bWVkaWFpbmZvCiB2ZXJzaW9u PTIyLjEyCi1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBjb25maWd1cmVfYXJncz0iLS13aXRoLXd4 LWNvbmZpZz13eC1jb25maWctZ3RrMyIKIGhvc3RtYWtlZGVwZW5kcz0iYXV0b21ha2UgbGlidG9v bCBwa2ctY29uZmlnIgogbWFrZWRlcGVuZHM9ImxpYm1lZGlhaW5mby1kZXZlbCB6bGliLWRldmVs IHd4V2lkZ2V0cy1ndGszLWRldmVsIgpAQCAtMTQsNiArMTQsOCBAQCBkaXN0ZmlsZXM9Imh0dHBz Oi8vbWVkaWFhcmVhLm5ldC9kb3dubG9hZC9zb3VyY2UvJHtwa2duYW1lfS8ke3ZlcnNpb259LyR7 cGtnbmFtZQogY2hlY2tzdW09OTMyYjgyNzM5ZjczOGU3ZGI2MDNjZjViYjE3MDcyMDczMWE5ZTdj NjFkMTQ1YzJhNTRhYWJiM2NkMGI3NTNiYwogcmVwbGFjZXM9Im1lZGlhaW5mby1ndWk+PTAiCiAK K0NYWEZMQUdTPSItRF9MQVJHRUZJTEVfU09VUkNFIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQiCisK IGRvX2NvbmZpZ3VyZSgpIHsKIAlmb3IgZCBpbiBDTEkgR1VJOyBkbwogCQljZCAkd3Jrc3JjL1By b2plY3QvR05VLyRkCgpGcm9tIGM0YmIyZGQ5YjBhYjE3ZTQxZGE3YzRkYmM0ZjIwNjRlMmZkOWY2 ZTMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ICJBbmRyZXcgSi4gSGVzZm9yZCIgPGFq aEBzaWRlYmFuZC5vcmc+CkRhdGU6IE1vbiwgMjUgU2VwIDIwMjMgMDA6MTg6MjEgLTA0MDAKU3Vi amVjdDogW1BBVENIIDI4LzQzXSBvcGVuYmFiZWw6IHJlYnVpbGQgd2l0aCB3eFdpZGdldHMtZ3Rr My0zLjIuMi4xCgotLS0KIHNyY3BrZ3Mvb3BlbmJhYmVsL3RlbXBsYXRlIHwgNCArKystCiAxIGZp bGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEv c3JjcGtncy9vcGVuYmFiZWwvdGVtcGxhdGUgYi9zcmNwa2dzL29wZW5iYWJlbC90ZW1wbGF0ZQpp bmRleCA0MWRiODQ4ZDc0ZTRjLi5kMGIwNTkwMjZkYTM0IDEwMDY0NAotLS0gYS9zcmNwa2dzL29w ZW5iYWJlbC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL29wZW5iYWJlbC90ZW1wbGF0ZQpAQCAtMSw3 ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ29wZW5iYWJlbCcKIHBrZ25hbWU9b3BlbmJh YmVsCiB2ZXJzaW9uPTMuMS4xCi1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBfdmVyPSR7dmVyc2lv bi8vLi8tfQogYnVpbGRfc3R5bGU9Y21ha2UKIGJ1aWxkX2hlbHBlcj1jbWFrZS13eFdpZGdldHMt Z3RrMwpAQCAtMTQsNiArMTQsOCBAQCBob21lcGFnZT0iaHR0cDovL29wZW5iYWJlbC5vcmciCiBk aXN0ZmlsZXM9Imh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuYmFiZWwvb3BlbmJhYmVsL2FyY2hpdmUv b3BlbmJhYmVsLSR7X3Zlcn0udGFyLmd6IgogY2hlY2tzdW09Yzk3MDIzYWM2MzAwZDI2MTc2Yzk3 ZDRlZjM5OTU3ZjA2ZTY4ODQ4ZDY0ZjFhMDRiMGIyODRjY2ZmMjc0NGYwMgogCitDWFhGTEFHUz0i LURfTEFSR0VGSUxFX1NPVVJDRSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IgorCiBvcGVuYmFiZWwt ZGV2ZWxfcGFja2FnZSgpIHsKIAlkZXBlbmRzPSIke3NvdXJjZXBrZ30+PSR7dmVyc2lvbn1fJHty ZXZpc2lvbn0iCiAJc2hvcnRfZGVzYys9IiAtIGRldmVsb3BtZW50IGZpbGVzIgoKRnJvbSA1N2Rj ZjA5YmIwNDYwZGMzNTZiNjBmYmY5Mjk0M2UwNDEzMjBlMzAyIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQpGcm9tOiAiQW5kcmV3IEouIEhlc2ZvcmQiIDxhamhAc2lkZWJhbmQub3JnPgpEYXRlOiBN b24sIDI1IFNlcCAyMDIzIDAwOjE4OjIyIC0wNDAwClN1YmplY3Q6IFtQQVRDSCAyOS80M10gcGFz c3dvcmRzYWZlOiByZWJ1aWxkIHdpdGggd3hXaWRnZXRzLWd0azMtMy4yLjIuMQoKLS0tCiBzcmNw a2dzL3Bhc3N3b3Jkc2FmZS90ZW1wbGF0ZSB8IDQgKysrLQogMSBmaWxlIGNoYW5nZWQsIDMgaW5z ZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcGFzc3dvcmRz YWZlL3RlbXBsYXRlIGIvc3JjcGtncy9wYXNzd29yZHNhZmUvdGVtcGxhdGUKaW5kZXggODhmZmE0 MWY0NzRiYy4uOTlkODZmZWViMjE1ZiAxMDA2NDQKLS0tIGEvc3JjcGtncy9wYXNzd29yZHNhZmUv dGVtcGxhdGUKKysrIGIvc3JjcGtncy9wYXNzd29yZHNhZmUvdGVtcGxhdGUKQEAgLTEsNyArMSw3 IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdwYXNzd29yZHNhZmUnCiBwa2duYW1lPXBhc3N3b3Jk c2FmZQogdmVyc2lvbj0xLjE2LjAKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxl PWNtYWtlCiBidWlsZF9oZWxwZXI9Y21ha2Utd3hXaWRnZXRzLWd0azMKICMgYnVpbGQgcHJvY2Vz cyB1c2VzIHBlcmwgdG8gZ2VuZXJhdGUgY29yZV9zdC5jcHAgYW5kIHppcCB0byBnZW5lcmF0ZSBo ZWxwIGZpbGVzCkBAIC0xNiw2ICsxNiw4IEBAIGhvbWVwYWdlPSJodHRwczovL3B3c2FmZS5vcmci CiBkaXN0ZmlsZXM9Imh0dHBzOi8vZ2l0aHViLmNvbS9wd3NhZmUvcHdzYWZlL2FyY2hpdmUvJHt2 ZXJzaW9ufS50YXIuZ3oiCiBjaGVja3N1bT02MjE1ZjdiMDUyNDgwZjAzMjc2YjNlYTU5MGI5Y2Rk MjMxODBkYjhkNWQ0YTE5MTg1ZjNkZjdiNmRkYmExMWY4CiAKK0NYWEZMQUdTPSItRF9MQVJHRUZJ TEVfU09VUkNFIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQiCisKIGlmIFsgIiRYQlBTX0NIRUNLX1BL R1MiIF07IHRoZW4KIAljb25maWd1cmVfYXJncys9IiAtRE5PX0dURVNUPU9GRiIKIGVsc2UKCkZy b20gNGI0MWI2YzZkNGRmMjMwM2U4MzFmN2ZiOTdjYWIyYTBmNzM3NTBkMCBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKRnJvbTogIkFuZHJldyBKLiBIZXNmb3JkIiA8YWpoQHNpZGViYW5kLm9yZz4K RGF0ZTogTW9uLCAyNSBTZXAgMjAyMyAwMDoxODoyMiAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMzAv NDNdIHBvZWRpdDogcmVidWlsZCB3aXRoIHd4V2lkZ2V0cy1ndGszLTMuMi4yLjEKCi0tLQogc3Jj cGtncy9wb2VkaXQvdGVtcGxhdGUgfCAzICsrLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9u cygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcG9lZGl0L3RlbXBsYXRl IGIvc3JjcGtncy9wb2VkaXQvdGVtcGxhdGUKaW5kZXggNDllN2VmZTk2NTQ3Ni4uYTc4ZmVhZGU2 OTQxNSAxMDA2NDQKLS0tIGEvc3JjcGtncy9wb2VkaXQvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9w b2VkaXQvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdwb2Vk aXQnCiBwa2duYW1lPXBvZWRpdAogdmVyc2lvbj0zLjMuMgotcmV2aXNpb249MworcmV2aXNpb249 NAogYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQogY29uZmlndXJlX2FyZ3M9Ii0td2l0aC13eC1j b25maWc9d3gtY29uZmlnLWd0azMiCiBob3N0bWFrZWRlcGVuZHM9InBrZy1jb25maWciCkBAIC0x Nyw2ICsxNyw3IEBAIGRpc3RmaWxlcz0iaHR0cHM6Ly9naXRodWIuY29tL3ZzbGF2aWsvcG9lZGl0 L3JlbGVhc2VzL2Rvd25sb2FkL3Yke3ZlcnNpb259LW9zcy9wCiBjaGVja3N1bT1lNjQxMzlkZDRi ZWFjMWI4ZWE0NjhkMzUxYjJiNGJkYWU4ZWNiYzZmNGNhNWQxZWUxYzczODMyMDM2ZmZmMDk3CiAK IENQUEZMQUdTPSItRFVDSEFSX1RZUEU9dWludDE2X3QgLVduby1kZXByZWNhdGVkLWNvcHkiCitD WFhGTEFHUz0iLURfTEFSR0VGSUxFX1NPVVJDRSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IgogCiBp ZiBbICIkQ1JPU1NfQlVJTEQiIF07IHRoZW4KIAlob3N0bWFrZWRlcGVuZHMrPSIgd3hXaWRnZXRz LWNvbW1vbi1kZXZlbCIKCkZyb20gYWNiYmI5MzZhNDA4ZjJmYmMwZDczYjBlZWZlY2Q5MzczNWRm ZmY0MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogIkFuZHJldyBKLiBIZXNmb3JkIiA8 YWpoQHNpZGViYW5kLm9yZz4KRGF0ZTogTW9uLCAyNSBTZXAgMjAyMyAwMDoxODoyMiAtMDQwMApT dWJqZWN0OiBbUEFUQ0ggMzEvNDNdIHNwZWstYWx0ZXJuYXRpdmU6IHJlYnVpbGQgd2l0aCB3eFdp ZGdldHMtZ3RrMy0zLjIuMi4xCgotLS0KIHNyY3BrZ3Mvc3Blay1hbHRlcm5hdGl2ZS90ZW1wbGF0 ZSB8IDQgKysrLQogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigt KQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvc3Blay1hbHRlcm5hdGl2ZS90ZW1wbGF0ZSBiL3NyY3Br Z3Mvc3Blay1hbHRlcm5hdGl2ZS90ZW1wbGF0ZQppbmRleCBkNjUwODZiOGYwMDhjLi4zMDYxZTE3 MzJjNTk5IDEwMDY0NAotLS0gYS9zcmNwa2dzL3NwZWstYWx0ZXJuYXRpdmUvdGVtcGxhdGUKKysr IGIvc3JjcGtncy9zcGVrLWFsdGVybmF0aXZlL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBU ZW1wbGF0ZSBmaWxlIGZvciAnc3Blay1hbHRlcm5hdGl2ZScKIHBrZ25hbWU9c3Blay1hbHRlcm5h dGl2ZQogdmVyc2lvbj0wLjguMi4zCi1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBidWlsZF9zdHls ZT1nbnUtY29uZmlndXJlCiBob3N0bWFrZWRlcGVuZHM9ImF1dG9tYWtlIGdldHRleHQtZGV2ZWwg aW50bHRvb2wgbGlidG9vbCBwa2ctY29uZmlnIHd4V2lkZ2V0cy1jb21tb24iCiBtYWtlZGVwZW5k cz0iZmZtcGVnLWRldmVsIHd4V2lkZ2V0cy1ndGszLWRldmVsIgpAQCAtMTMsNiArMTMsOCBAQCBo b21lcGFnZT0iaHR0cHM6Ly9naXRodWIuY29tL3dpdGhtb3J0ZW4vc3Blay1hbHRlcm5hdGl2ZSIK IGRpc3RmaWxlcz0iaHR0cHM6Ly9naXRodWIuY29tL3dpdGhtb3J0ZW4vc3Blay1hbHRlcm5hdGl2 ZS9hcmNoaXZlLyR7dmVyc2lvbn0udGFyLmd6IgogY2hlY2tzdW09IjAwN2JhNGI4NGEzMTBiMDc4 ZTM3OGFhODRjOGU4MDc4M2RiNTgyMTQzN2E3NTdhNDg4YzNlY2VjMzc3ZTZiMmEiCiAKK0NYWEZM QUdTPSItRF9MQVJHRUZJTEVfU09VUkNFIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQiCisKICMgVGVs bCBhdXRvZ2VuLnNoIHRvIHVzZSAid3gtY29uZmlnLWd0azMiIGluc3RlYWQgb2YgInd4LWNvbmZp ZyIKIGV4cG9ydCBXWF9DT05GSUdfTkFNRT0id3gtY29uZmlnLWd0azMiCiAKCkZyb20gOGQzMzE5 YzU5MGYxYTllYWJhZDk0YzQ2YzJmY2M3NDk4ZjhkYzU5MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKRnJvbTogIkFuZHJldyBKLiBIZXNmb3JkIiA8YWpoQHNpZGViYW5kLm9yZz4KRGF0ZTogTW9u LCAyNSBTZXAgMjAyMyAwMDoxODoyMiAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMzIvNDNdIHRxc2w6 IHJlYnVpbGQgd2l0aCB3eFdpZGdldHMtZ3RrMy0zLjIuMi4xCgotLS0KIHNyY3BrZ3MvdHFzbC90 ZW1wbGF0ZSB8IDQgKysrLQogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMSBkZWxl dGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvdHFzbC90ZW1wbGF0ZSBiL3NyY3BrZ3MvdHFz bC90ZW1wbGF0ZQppbmRleCA2MTM4OWIwNWU2MmQ0Li4zMTZkNGE5MWM4ZjE0IDEwMDY0NAotLS0g YS9zcmNwa2dzL3Rxc2wvdGVtcGxhdGUKKysrIGIvc3JjcGtncy90cXNsL3RlbXBsYXRlCkBAIC0x LDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAndHFzbCcKIHBrZ25hbWU9dHFzbAogdmVy c2lvbj0yLjYuNQotcmV2aXNpb249MgorcmV2aXNpb249MwogYnVpbGRfc3R5bGU9Y21ha2UKIGJ1 aWxkX2hlbHBlcj1jbWFrZS13eFdpZGdldHMtZ3RrMwogaG9zdG1ha2VkZXBlbmRzPSJ3eFdpZGdl dHMtZ3RrMy1kZXZlbCIKQEAgLTE0LDYgKzE0LDggQEAgaG9tZXBhZ2U9Imh0dHBzOi8vd3d3LmFy cmwub3JnL3Rxc2wtZG93bmxvYWQiCiBkaXN0ZmlsZXM9Imh0dHBzOi8vd3d3LmFycmwub3JnL3Rx c2wvdHFzbC0ke3ZlcnNpb259LnRhci5neiIKIGNoZWNrc3VtPTUwNjNjY2E3NTk4MDZhYjFkNmI4 YjZkOWJiNmMxNmE2MzgwMjc1ZmYxOTJhM2QwY2MyNGFhOWRmNjUzOWZmY2MKIAorQ1hYRkxBR1M9 Ii1EX0xBUkdFRklMRV9TT1VSQ0UgLURfRklMRV9PRkZTRVRfQklUUz02NCIKKwogcG9zdF9pbnN0 YWxsKCkgewogCXZsaWNlbnNlIExJQ0VOU0UudHh0CiAJdmluc3RhbGwgYXBwcy90cXNsLmRlc2t0 b3AgNjQ0IHVzci9zaGFyZS9hcHBsaWNhdGlvbnMKCkZyb20gOGVmOGUzYWRhMDMyNmE5ZjJjNDE2 N2Y4ZTM3NTAxZGRiYjBlYWEzZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogIkFuZHJl dyBKLiBIZXNmb3JkIiA8YWpoQHNpZGViYW5kLm9yZz4KRGF0ZTogTW9uLCAyNSBTZXAgMjAyMyAw MDoxODoyMiAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMzMvNDNdIHRyZWVzaGVldHM6IHJlYnVpbGQg d2l0aCB3eFdpZGdldHMtZ3RrMy0zLjIuMi4xCgotLS0KIHNyY3BrZ3MvdHJlZXNoZWV0cy90ZW1w bGF0ZSB8IDQgKysrLQogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlv bigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvdHJlZXNoZWV0cy90ZW1wbGF0ZSBiL3NyY3BrZ3Mv dHJlZXNoZWV0cy90ZW1wbGF0ZQppbmRleCBkNWY2MjY5OWFmNGEyLi44ZTU4Y2Q0NzAxYTFhIDEw MDY0NAotLS0gYS9zcmNwa2dzL3RyZWVzaGVldHMvdGVtcGxhdGUKKysrIGIvc3JjcGtncy90cmVl c2hlZXRzL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAndHJl ZXNoZWV0cycKIHBrZ25hbWU9dHJlZXNoZWV0cwogdmVyc2lvbj0xLjAuMgotcmV2aXNpb249MQor cmV2aXNpb249MgogYnVpbGRfc3R5bGU9Y21ha2UKIGJ1aWxkX2hlbHBlcj0iY21ha2Utd3hXaWRn ZXRzLWd0azMiCiBtYWtlZGVwZW5kcz0id3hXaWRnZXRzLWd0azMtZGV2ZWwiCkBAIC0xMiw2ICsx Miw4IEBAIGhvbWVwYWdlPSJodHRwOi8vc3RybGVuLmNvbS90cmVlc2hlZXRzLyIKIGRpc3RmaWxl cz0iaHR0cHM6Ly9naXRodWIuY29tL2FhcmRhcHBlbC90cmVlc2hlZXRzL2FyY2hpdmUvdiR7dmVy c2lvbn0udGFyLmd6IgogY2hlY2tzdW09ODRlYjgyZjEyMmJjN2JlM2RlZDM5OWQyNTExNTM2MTI4 OTExNDc3YTRhNjljNTFiMjZiODU2ZGUyMTYwNDA1ZgogCitDWFhGTEFHUz0iLURfTEFSR0VGSUxF X1NPVVJDRSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IgorCiBkb19pbnN0YWxsKCkgewogCXZta2Rp ciB1c3IvbGliLyR7cGtnbmFtZX0KIAoKRnJvbSAxODA1ZDE3YmM5YzBhODEyOWVlNTJhNjIyZGU3 NmMzNWQ5MjViYzFlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAiQW5kcmV3IEouIEhl c2ZvcmQiIDxhamhAc2lkZWJhbmQub3JnPgpEYXRlOiBNb24sIDI1IFNlcCAyMDIzIDAwOjE4OjIy IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAzNC80M10gdmJhLW06IHJlYnVpbGQgd2l0aCB3eFdpZGdl dHMtZ3RrMy0zLjIuMi4xCgotLS0KIHNyY3BrZ3MvdmJhLW0vdGVtcGxhdGUgfCA0ICsrKy0KIDEg ZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQg YS9zcmNwa2dzL3ZiYS1tL3RlbXBsYXRlIGIvc3JjcGtncy92YmEtbS90ZW1wbGF0ZQppbmRleCA0 MTE1YTlmNjIxNDgxLi45YzcxY2VmZTNmOGRkIDEwMDY0NAotLS0gYS9zcmNwa2dzL3ZiYS1tL3Rl bXBsYXRlCisrKyBiL3NyY3BrZ3MvdmJhLW0vdGVtcGxhdGUKQEAgLTIsNyArMiw3IEBACiBwa2du YW1lPXZiYS1tCiByZXZlcnRzPTEyOTJfMgogdmVyc2lvbj0yLjEuNwotcmV2aXNpb249MQorcmV2 aXNpb249MgogYnVpbGRfc3R5bGU9Y21ha2UKIGNvbmZpZ3VyZV9hcmdzPSItREVOQUJMRV9HVEs9 VFJVRSAtREVOQUJMRV9GRk1QRUc9VFJVRSAtREVOQUJMRV9MSU5LPVRSVUUgLURDTUFLRV9CVUlM RF9UWVBFPVJlbGVhc2UiCiBob3N0bWFrZWRlcGVuZHM9ImdldHRleHQgcGtnLWNvbmZpZyB1bnpp cCB6aXAgeWFzbSB3eFdpZGdldHMtZ3RrMy1kZXZlbCIKQEAgLTE1LDMgKzE1LDUgQEAgbGljZW5z ZT0iR1BMLTIuMC1vci1sYXRlciIKIGhvbWVwYWdlPSJodHRwczovL2dpdGh1Yi5jb20vdmlzdWFs Ym95YWR2YW5jZS1tL3Zpc3VhbGJveWFkdmFuY2UtbS8iCiBkaXN0ZmlsZXM9Imh0dHBzOi8vZ2l0 aHViLmNvbS92aXN1YWxib3lhZHZhbmNlLW0vdmlzdWFsYm95YWR2YW5jZS1tL2FyY2hpdmUvdiR7 dmVyc2lvbn0udGFyLmd6IgogY2hlY2tzdW09ZjdkMDgxNWE2NTY3N2Y3OTRlZTY4ODkyYzk1NjYy NTQwMjNhZjY0MWM3MmY5ZTA2YjQyMzBiNmM2MTc5MDc0MworCitDWFhGTEFHUz0iLURfTEFSR0VG SUxFX1NPVVJDRSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IgoKRnJvbSBiNjA4NzQxNWY5MDA0ZWU4 NGIzYWUxYjMyNmY0NGU0YjQwYzNiYTk0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAi QW5kcmV3IEouIEhlc2ZvcmQiIDxhamhAc2lkZWJhbmQub3JnPgpEYXRlOiBNb24sIDI1IFNlcCAy MDIzIDAwOjE4OjIyIC0wNDAwClN1YmplY3Q6IFtQQVRDSCAzNS80M10gd2ludXNiOiByZWJ1aWxk IHdpdGggd3hXaWRnZXRzLWd0azMtMy4yLjIuMQoKLS0tCiBzcmNwa2dzL3dpbnVzYi90ZW1wbGF0 ZSB8IDQgKysrLQogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigt KQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvd2ludXNiL3RlbXBsYXRlIGIvc3JjcGtncy93aW51c2Iv dGVtcGxhdGUKaW5kZXggNjRlYzhmY2UxMmIwMC4uNWYxMTZhMzM2YjYxZSAxMDA2NDQKLS0tIGEv c3JjcGtncy93aW51c2IvdGVtcGxhdGUKKysrIGIvc3JjcGtncy93aW51c2IvdGVtcGxhdGUKQEAg LTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICd3aW51c2InCiBwa2duYW1lPXdpbnVz YgogdmVyc2lvbj0xLjAuMTEKLXJldmlzaW9uPTEwCityZXZpc2lvbj0xMQogYXJjaHM9Imk2ODYq IHg4Nl82NCoiCiBidWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCiBjb25maWd1cmVfYXJncz0iLS13 aXRoLXd4LWNvbmZpZz13eC1jb25maWctZ3RrMyIKQEAgLTIxLDYgKzIxLDggQEAgY2FzZSAiJHtY QlBTX1RBUkdFVF9NQUNISU5FfSIgaW4KIAlpNjg2KikgZGVwZW5kcys9IiBncnViLWkzODYtZWZp IjsgbWFrZWRlcGVuZHMrPSIgZ3J1Yi1pMzg2LWVmaSIgOzsKIGVzYWMKIAorQ1hYRkxBR1M9Ii1E X0xBUkdFRklMRV9TT1VSQ0UgLURfRklMRV9PRkZTRVRfQklUUz02NCIKKwogcG9zdF9jb25maWd1 cmUoKSB7CiAJc2VkIC1pIE1ha2VmaWxlIHNyYy9NYWtlZmlsZSBcCiAJCS1lInM7XlwoQ1hYRkxB R1MgKj1cKVwoLipcKTtcMSAke0NYWEZMQUdTfSBcMjsiCgpGcm9tIGJlNDFlYzdhMzVkMjE1MTI1 NGU4MWI1MTlmNTJmNzFiMmM0ZDJmMzUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ICJB bmRyZXcgSi4gSGVzZm9yZCIgPGFqaEBzaWRlYmFuZC5vcmc+CkRhdGU6IE1vbiwgMjUgU2VwIDIw MjMgMDA6MTg6MjMgLTA0MDAKU3ViamVjdDogW1BBVENIIDM2LzQzXSB3eE1heGltYTogcmVidWls ZCB3aXRoIHd4V2lkZ2V0cy1ndGszLTMuMi4yLjEKCi0tLQogc3JjcGtncy93eE1heGltYS90ZW1w bGF0ZSB8IDQgKysrLQogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlv bigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvd3hNYXhpbWEvdGVtcGxhdGUgYi9zcmNwa2dzL3d4 TWF4aW1hL3RlbXBsYXRlCmluZGV4IDFlNTEyYzM5NjQ0YjkuLjc0OWU0ODFkZDhmZTMgMTAwNjQ0 Ci0tLSBhL3NyY3BrZ3Mvd3hNYXhpbWEvdGVtcGxhdGUKKysrIGIvc3JjcGtncy93eE1heGltYS90 ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3d4TWF4aW1hJwog cGtnbmFtZT13eE1heGltYQogdmVyc2lvbj0yMC4wMi40Ci1yZXZpc2lvbj0xCityZXZpc2lvbj0y CiBidWlsZF9zdHlsZT1jbWFrZQogY29uZmlndXJlX2FyZ3M9Ii1Ed3hXaWRnZXRzX0NPTkZJR19F WEVDVVRBQkxFPS91c3IvYmluL3d4LWNvbmZpZy1ndGszIgogaG9zdG1ha2VkZXBlbmRzPSJnZXR0 ZXh0IHBlcmwgZGVza3RvcC1maWxlLXV0aWxzIGRveHlnZW4gcG80YSIKQEAgLTE1LDYgKzE1LDgg QEAgZGlzdGZpbGVzPSJodHRwczovL2dpdGh1Yi5jb20vd3hNYXhpbWEtZGV2ZWxvcGVycy93eG1h eGltYS9hcmNoaXZlL1ZlcnNpb24tJHt2ZXIKIGNoZWNrc3VtPWQ0N2NhNTJlNDA0OTFlYTNjNGVh N2JlYTEyNmY0ZGE0ZDBiNTM1NzAyMTI2YWJlZjBjMTcyZjY5YmE1OGUxN2QKIG5vY3Jvc3M9ImNs aXNwIGlzIG5vY3Jvc3MiCiAKK0NYWEZMQUdTPSItRF9MQVJHRUZJTEVfU09VUkNFIC1EX0ZJTEVf T0ZGU0VUX0JJVFM9NjQiCisKIHBvc3RfaW5zdGFsbCgpIHsKIAkjIHJlbW92ZSB1bnBhY2thZ2Vk IGZpbGVzCiAJcm0gLWYgJHtERVNURElSfS91c3Ivc2hhcmUvd3hNYXhpbWEve0NPUFlJTkcsUkVB RE1FfQoKRnJvbSA1MWY4NGJmMzZiYzUyZTAyYTgyMzY4NmU0NGJhOTg2ODE4ZmYwMTk5IE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAiQW5kcmV3IEouIEhlc2ZvcmQiIDxhamhAc2lkZWJh bmQub3JnPgpEYXRlOiBNb24sIDI1IFNlcCAyMDIzIDAwOjE4OjIzIC0wNDAwClN1YmplY3Q6IFtQ QVRDSCAzNy80M10geGNobTogcmVidWlsZCB3aXRoIHd4V2lkZ2V0cy1ndGszLTMuMi4yLjEKCi0t LQogc3JjcGtncy94Y2htL3RlbXBsYXRlIHwgNCArKystCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNl cnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy94Y2htL3RlbXBs YXRlIGIvc3JjcGtncy94Y2htL3RlbXBsYXRlCmluZGV4IDAyOTAwYjQzMzg1ZWMuLjY2YjgxNTZl NDMxZWMgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MveGNobS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3hj aG0vdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICd4Y2htJwog cGtnbmFtZT14Y2htCiB2ZXJzaW9uPTEuMzQKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGJ1aWxk X3N0eWxlPWdudS1jb25maWd1cmUKIGNvbmZpZ3VyZV9hcmdzPSItLXdpdGgtd3gtY29uZmlnPXd4 LWNvbmZpZy1ndGszIgogaG9zdG1ha2VkZXBlbmRzPSJhdXRvbWFrZSBnZXR0ZXh0LWRldmVsIHRh ciIKQEAgLTEzLDYgKzEzLDggQEAgaG9tZXBhZ2U9Imh0dHBzOi8vZ2l0aHViLmNvbS9yenZuY2ov eENITSIKIGRpc3RmaWxlcz0iaHR0cHM6Ly9naXRodWIuY29tL3J6dm5jai94Q0hNL3JlbGVhc2Vz L2Rvd25sb2FkLyR7dmVyc2lvbn0veGNobS0ke3ZlcnNpb259LnRhci5neiIKIGNoZWNrc3VtPWIw Nzk3MWRkYjAyOTkyZGE0NjIwNjBmYjYzOGMwNTEzMThmMzg5YWVmODIyNDg1NjQ2YWE3ZmJlMjQ1 YTBkOTMKIAorQ1hYRkxBR1M9Ii1EX0xBUkdFRklMRV9TT1VSQ0UgLURfRklMRV9PRkZTRVRfQklU Uz02NCIKKwogcHJlX2NvbmZpZ3VyZSgpIHsKIAlhdXRvcmVjb25mIC1maQogfQoKRnJvbSAwZTI2 NjUwNjA0YWE0OTgyYmVjYjM3ZDIxMjQ2NjdiN2FhNGY2YzYwIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQpGcm9tOiAiQW5kcmV3IEouIEhlc2ZvcmQiIDxhamhAc2lkZWJhbmQub3JnPgpEYXRlOiBN b24sIDI1IFNlcCAyMDIzIDA4OjAyOjA1IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAzOC80M10gY2hp cnA6IHJlYnVpbGQgYWdhaW5zdCBuZXcgd3hQeXRob24KCi0tLQogc3JjcGtncy9jaGlycC90ZW1w bGF0ZSB8IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2NoaXJwL3RlbXBsYXRlIGIvc3JjcGtncy9jaGly cC90ZW1wbGF0ZQppbmRleCBkMjM4NmJhNDk2NmJlLi4xOGI0MWMyNmI2MjdkIDEwMDY0NAotLS0g YS9zcmNwa2dzL2NoaXJwL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvY2hpcnAvdGVtcGxhdGUKQEAg LTEsMTAgKzEsMTAgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2NoaXJwJwogcGtnbmFtZT1jaGly cAogdmVyc2lvbj0yMDIzMDkxMQotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9 cHl0aG9uMy1wZXA1MTcKIGhvc3RtYWtlZGVwZW5kcz0icHl0aG9uMy1zZXR1cHRvb2xzIHB5dGhv bjMtd2hlZWwiCi1kZXBlbmRzPSJweXRob24zLXNpeCB3eFB5dGhvbjQgcHl0aG9uMy1weXNlcmlh bCBweXRob24zLWZ1dHVyZSBweXRob24zLXJlcXVlc3RzCitkZXBlbmRzPSJweXRob24zLXNpeCB3 eFB5dGhvbiBweXRob24zLXB5c2VyaWFsIHB5dGhvbjMtZnV0dXJlIHB5dGhvbjMtcmVxdWVzdHMK ICBweXRob24zLXN1ZHMgcHl0aG9uMy15YXR0YWciCiBzaG9ydF9kZXNjPSJPcGVuLXNvdXJjZSB0 b29sIGZvciBwcm9ncmFtbWluZyBhbWF0ZXVyIHJhZGlvcyIKIG1haW50YWluZXI9IkVtaWwgTWls ZXIgPGVtQDB4NDUuY3o+IgoKRnJvbSAxYWVkZWMzZTQ3YzAzNTFlMWY0ZTUzOWUyZjk2Zjk3MGRl YTkyOTkzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAiQW5kcmV3IEouIEhlc2ZvcmQi IDxhamhAc2lkZWJhbmQub3JnPgpEYXRlOiBNb24sIDI1IFNlcCAyMDIzIDA4OjAyOjUxIC0wNDAw ClN1YmplY3Q6IFtQQVRDSCAzOS80M10gZ3Jhc3M6IHJlYnVpbGQgYWdhaW5zdCBuZXcgd3hQeXRo b24KCi0tLQogc3JjcGtncy9ncmFzcy90ZW1wbGF0ZSB8IDggKysrKy0tLS0KIDEgZmlsZSBjaGFu Z2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9ncmFzcy90ZW1wbGF0ZSBiL3NyY3BrZ3MvZ3Jhc3MvdGVtcGxhdGUKaW5kZXggOGJhMDNiYjdi ZWE5OC4uZGVkOGU0MGRhYWYxMCAxMDA2NDQKLS0tIGEvc3JjcGtncy9ncmFzcy90ZW1wbGF0ZQor KysgYi9zcmNwa2dzL2dyYXNzL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBm aWxlIGZvciAnZ3Jhc3MnCiBwa2duYW1lPWdyYXNzCiB2ZXJzaW9uPTguMi4xCi1yZXZpc2lvbj0y CityZXZpc2lvbj0zCiBfYmludmVyPSR7dmVyc2lvbi8vLi99CiBfYmludmVyPSR7X2JpbnZlcjow OjJ9CiBidWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCkBAIC0xMSw3ICsxMSw3IEBAIGhvc3RtYWtl ZGVwZW5kcz0iZmxleCBsaWJnZGFsLXRvb2xzIHBrZy1jb25maWcgcHl0aG9uMy1udW1weSBweXRo b24zLXNpeCB0YXIiCiBtYWtlZGVwZW5kcz0icHJvai1kZXZlbCB0aWZmLWRldmVsIGxpYmdkYWwt ZGV2ZWwgc3FsaXRlLWRldmVsCiAgZmZ0dy1kZXZlbCBjYWlyby1kZXZlbCBnbHUtZGV2ZWwiCiBk ZXBlbmRzPSJweXRob24zLW51bXB5IHB5dGhvbjMtZGF0ZXV0aWwgcHl0aG9uMy1QaWxsb3cgcHl0 aG9uMy1tYXRwbG90bGliCi0gcHl0aG9uMy1zaXggcHl0aG9uMy1wbHkgd3hQeXRob240IgorIHB5 dGhvbjMtc2l4IHB5dGhvbjMtcGx5IHd4UHl0aG9uIgogc2hvcnRfZGVzYz0iR2VvZ3JhcGhpYyBS ZXNvdXJjZXMgQW5hbHlzaXMgU3VwcG9ydCBTeXN0ZW0gLSBHSVMiCiBtYWludGFpbmVyPSJBbGV4 IEphcm9zY2ggPHJlc2VhcmNoQGFsZXhqLmF0PiIKIGxpY2Vuc2U9IkdQTC0yLjAtb3ItbGF0ZXIi CkBAIC0yMiw3ICsyMiw3IEBAIHB5dGhvbl92ZXJzaW9uPTMKIG5vY3Jvc3M9InRyaWVzIHRvIGV4 ZWN1dGUgdGFyZ2V0IGJpbmFyaWVzIgogCiBwb3N0X2luc3RhbGwoKSB7Ci0JIyBUaGlzIHBhY2th Z2UgaXMgYnJva2VuIHdpdGggd3hQeXRob240ICg8PTQuMC43KSwKLQkjIGhlbmNlIHRoZSBHVUkg aXMgY29tcHVsc29yaWx5IGRpc2FibGVkLgorCSMgVGhpcyBwYWNrYWdlIGlzIGJyb2tlbiB3aXRo IHd4UHl0aG9uICg8PTQuMC43KSBhbmQgdGhlIEdVSQorCSMgaXMgZGlzYWJsZWQgcGVuZGluZyBm dXJ0aGVyIHRlc3Rpbmcgd2l0aCBuZXdlciB3eFB5dGhvbgogCXZzZWQgLWkgIiR7REVTVERJUn0v dXNyL2Jpbi9ncmFzcyIgLWUgInMvXChkZWZhdWx0X2d1aSA9XCkuKi9cMSBcInRleHRcIi8iCiB9 CgpGcm9tIGFmYTQzNWIwN2FhZGZlYjVhY2Q0ZmNkZjMwN2FlNGRmNTY1MDE2NWIgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206ICJBbmRyZXcgSi4gSGVzZm9yZCIgPGFqaEBzaWRlYmFuZC5v cmc+CkRhdGU6IE1vbiwgMjUgU2VwIDIwMjMgMDA6MTg6MjEgLTA0MDAKU3ViamVjdDogW1BBVENI IDQwLzQzXSBraWNhZDogcmVidWlsZCBhZ2FpbnN0IG5ldyB3eFB5dGhvbgoKLS0tCiBzcmNwa2dz L2tpY2FkL3RlbXBsYXRlIHwgMTUgKysrKysrKysrLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgOSBp bnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mva2ljYWQv dGVtcGxhdGUgYi9zcmNwa2dzL2tpY2FkL3RlbXBsYXRlCmluZGV4IDFjMzRjNDk4YWZiZDguLjRi MzgyMDBmZmRlNmYgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mva2ljYWQvdGVtcGxhdGUKKysrIGIvc3Jj cGtncy9raWNhZC90ZW1wbGF0ZQpAQCAtMSwxOCArMSwxOSBAQAogIyBUZW1wbGF0ZSBmaWxlIGZv ciAna2ljYWQnCiBwa2duYW1lPWtpY2FkCiB2ZXJzaW9uPTcuMC4xCi1yZXZpc2lvbj0yCityZXZp c2lvbj0zCiBidWlsZF9zdHlsZT1jbWFrZQogYnVpbGRfaGVscGVyPWNtYWtlLXd4V2lkZ2V0cy1n dGszCiBjb25maWd1cmVfYXJncz0iLURLSUNBRF9TQ1JJUFRJTkdfV1hQWVRIT049T04KICAtREtJ Q0FEX0JVSUxEX0kxOE49T04gLURLSUNBRF9JMThOX1VOSVhfU1RSSUNUX1BBVEg9T04KLSAtRHd4 V2lkZ2V0c19DT05GSUdfRVhFQ1VUQUJMRT0kV1hfQ09ORklHCisgLUR3eFdpZGdldHNfQ09ORklH X0VYRUNVVEFCTEU9JFdYX0NPTkZJRyAtREtJQ0FEX1VTRV9FR0w9T04KICAtREtJQ0FEX1VTRV9P Q0M9JCh2b3B0X2lmIG9jY3QgT04gT0ZGKSAtREtJQ0FEX1NQSUNFPSQodm9wdF9pZiBzcGljZSBP TiBPRkYpIgogaG9zdG1ha2VkZXBlbmRzPSJwa2ctY29uZmlnIHN3aWcgd3hXaWRnZXRzLWd0azMt ZGV2ZWwgcHl0aG9uMyB0YXIgZ2V0dGV4dCIKLW1ha2VkZXBlbmRzPSJ3eFdpZGdldHMtZ3RrMy1k ZXZlbCB3eFB5dGhvbjQgcHl0aG9uMy1kZXZlbCBnbGV3LWRldmVsIGNhaXJvLWRldmVsCi0gYm9v c3QtZGV2ZWwgbGliY3VybC1kZXZlbCBnbG0gbGliZ29tcC1kZXZlbCBsaWJmcmVlZ2x1dC1kZXZl bCBndGsrMy1kZXZlbCB1bml4b2RiYy1kZXZlbAorbWFrZWRlcGVuZHM9Ind4V2lkZ2V0cy1ndGsz LWRldmVsIHd4UHl0aG9uIHB5dGhvbjMtZGV2ZWwgZ2xldy1kZXZlbAorIGNhaXJvLWRldmVsIGJv b3N0LWRldmVsIGxpYmN1cmwtZGV2ZWwgZ2xtIGxpYmdvbXAtZGV2ZWwgbGliZnJlZWdsdXQtZGV2 ZWwKKyBndGsrMy1kZXZlbCB1bml4b2RiYy1kZXZlbAogICQodm9wdF9pZiBvY2N0IG9jY3QtZGV2 ZWwpICQodm9wdF9pZiBzcGljZSBuZ3NwaWNlLWRldmVsKSIKLWRlcGVuZHM9Ind4UHl0aG9uNCIK K2RlcGVuZHM9Ind4UHl0aG9uIgogc2hvcnRfZGVzYz0iRWxlY3Ryb25pYyBzY2hlbWF0aWMgYW5k IFBDQiBkZXNpZ24gc29mdHdhcmUiCiBtYWludGFpbmVyPSLDiXJpY28gTm9ndWVpcmEgPGVyaWNv bnJAZGlzcm9vdC5vcmc+IgogbGljZW5zZT0iR1BMLTMuMC1vci1sYXRlciIKQEAgLTQxLDcgKzQy LDkgQEAgZmkKIG5vY3Jvc3M9ImV4ZWN1dGUgbGVtb24gZHVyaW5nIGJ1aWxkIgogCiBpZiBbICIk Q1JPU1NfQlVJTEQiIF07IHRoZW4KLQlob3N0bWFrZWRlcGVuZHMrPSIgd3hQeXRob240IgorCWhv c3RtYWtlZGVwZW5kcys9IiB3eFB5dGhvbiIKIAljb25maWd1cmVfYXJncys9IiAtRFBZVEhPTl9E RVNUPS8ke3B5M19zaXRlbGlifQogCS1Ed3hXaWRnZXRzX0NPTkZJR19PUFRJT05TPSctLXByZWZp eD0ke1hCUFNfQ1JPU1NfQkFTRX0nIgogZmkKKworQ1hYRkxBR1M9Ii1EX0xBUkdFRklMRV9TT1VS Q0UgLURfRklMRV9PRkZTRVRfQklUUz02NCIKCkZyb20gOTRlNTM3N2I5ZjM4NGEyOTE4Mzg2MjVm YWQxZmM5N2Q5ZGJhYmIwOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogIkFuZHJldyBK LiBIZXNmb3JkIiA8YWpoQHNpZGViYW5kLm9yZz4KRGF0ZTogTW9uLCAyNSBTZXAgMjAyMyAwODow Njo1NCAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggNDEvNDNdIG15bWNwbHVzOiByZWJ1aWxkIGFnYWlu c3QgbmV3IHd4UHl0aG9uCgotLS0KIHNyY3BrZ3MvbXltY3BsdXMvdGVtcGxhdGUgfCA0ICsrLS0K IDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvc3JjcGtncy9teW1jcGx1cy90ZW1wbGF0ZSBiL3NyY3BrZ3MvbXltY3BsdXMvdGVtcGxh dGUKaW5kZXggOTMwNzExZWViMmM1OS4uNWJiMDhlZjllYTVkNCAxMDA2NDQKLS0tIGEvc3JjcGtn cy9teW1jcGx1cy90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL215bWNwbHVzL3RlbXBsYXRlCkBAIC0x LDEwICsxLDEwIEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdteW1jcGx1cycKIHBrZ25hbWU9bXlt Y3BsdXMKIHZlcnNpb249My4wLjUKLXJldmlzaW9uPTIKK3JldmlzaW9uPTMKIGJ1aWxkX3N0eWxl PXB5dGhvbjMtbW9kdWxlCiBob3N0bWFrZWRlcGVuZHM9InB5dGhvbjMtc2V0dXB0b29scyIKLWRl cGVuZHM9Ind4UHl0aG9uNCBweXRob24zLVB5T3BlbkdMIgorZGVwZW5kcz0id3hQeXRob24gcHl0 aG9uMy1QeU9wZW5HTCIKIGNoZWNrZGVwZW5kcz0iJGRlcGVuZHMgcHl0aG9uMy1weXRlc3QiCiBz aG9ydF9kZXNjPSJQbGF5U3RhdGlvbiAyIG1lbW9yeSBjYXJkIG1hbmFnZXIiCiBtYWludGFpbmVy PSJBbmRyZXcgQmVuc29uIDxhYmVuc29uK3ZvaWRAZ21haWwuY29tPiIKCkZyb20gYzdhNWZiODFm MmQ3NzRlODQ5YzhmYTA4MmVhZTIwYWVlMDdlODIyMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogIkFuZHJldyBKLiBIZXNmb3JkIiA8YWpoQHNpZGViYW5kLm9yZz4KRGF0ZTogTW9uLCAy NSBTZXAgMjAyMyAwODowNzoyNiAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggNDIvNDNdIHBob3RvZmls bXN0cmlwOiByZWJ1aWxkIGFnYWluc3QgbmV3IHd4UHl0aG9uCgotLS0KIHNyY3BrZ3MvcGhvdG9m aWxtc3RyaXAvdGVtcGxhdGUgfCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMo KyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9waG90b2ZpbG1zdHJpcC90 ZW1wbGF0ZSBiL3NyY3BrZ3MvcGhvdG9maWxtc3RyaXAvdGVtcGxhdGUKaW5kZXggZDIwNTBhYzRj NjRjOC4uZDJjNzUxMTYyOTI1MCAxMDA2NDQKLS0tIGEvc3JjcGtncy9waG90b2ZpbG1zdHJpcC90 ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3Bob3RvZmlsbXN0cmlwL3RlbXBsYXRlCkBAIC0xLDEwICsx LDEwIEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdwaG90b2ZpbG1zdHJpcCcKIHBrZ25hbWU9cGhv dG9maWxtc3RyaXAKIHZlcnNpb249NC4wLjAKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGJ1aWxk X3N0eWxlPXB5dGhvbjMtbW9kdWxlCiBob3N0bWFrZWRlcGVuZHM9InB5dGhvbjMtc2V0dXB0b29s cyBnc3QxLXB5dGhvbjMgcHl0aG9uMy1TcGhpbnggZ2V0dGV4dCIKLWRlcGVuZHM9InB5dGhvbjMg Z3N0MS1weXRob24zIGdzdDEtZWRpdGluZy1zZXJ2aWNlcyBweXRob24zLVBpbGxvdyB3eFB5dGhv bjQiCitkZXBlbmRzPSJweXRob24zIGdzdDEtcHl0aG9uMyBnc3QxLWVkaXRpbmctc2VydmljZXMg cHl0aG9uMy1QaWxsb3cgd3hQeXRob24iCiBjaGVja2RlcGVuZHM9IiRkZXBlbmRzIgogc2hvcnRf ZGVzYz0iU2xpZGVzaG93IGNyZWF0b3Igd2l0aCBLZW4gQnVybnMgZWZmZWN0IgogbWFpbnRhaW5l cj0ixJBvw6BuIFRy4bqnbiBDw7RuZyBEYW5oIDxjb25nZGFuaHF4QGdtYWlsLmNvbT4iCgpGcm9t IDk5YmFiOWViOTM2MTZlYTY3ZjIxZjZiYWFiODI5ZTI5MTJiN2ZhZmYgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCkZyb206ICJBbmRyZXcgSi4gSGVzZm9yZCIgPGFqaEBzaWRlYmFuZC5vcmc+CkRh dGU6IE1vbiwgMjUgU2VwIDIwMjMgMDg6MDc6NDggLTA0MDAKU3ViamVjdDogW1BBVENIIDQzLzQz XSBwbGF5b25saW51eDogcmVidWlsZCBhZ2FpbnN0IG5ldyB3eFB5dGhvbgoKLS0tCiBzcmNwa2dz L3BsYXlvbmxpbnV4L3RlbXBsYXRlIHwgNCArKy0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRp b25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcGxheW9ubGludXgv dGVtcGxhdGUgYi9zcmNwa2dzL3BsYXlvbmxpbnV4L3RlbXBsYXRlCmluZGV4IDU2MjA3YTI5YWEy M2EuLjM5NGE0ZjJkNWIzYjQgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcGxheW9ubGludXgvdGVtcGxh dGUKKysrIGIvc3JjcGtncy9wbGF5b25saW51eC90ZW1wbGF0ZQpAQCAtMSwxMCArMSwxMCBAQAog IyBUZW1wbGF0ZSBmaWxlIGZvciAncGxheW9ubGludXgnCiBwa2duYW1lPXBsYXlvbmxpbnV4CiB2 ZXJzaW9uPTQuNAotcmV2aXNpb249MQorcmV2aXNpb249MgogIyBjb250YWlucyBwcmUtY29tcGls ZWQgYmluYXJpZXMgbGlua2VkIGFnYWluc3QgZ2xpYmMKIGFyY2hzPSJpNjg2IHg4Nl82NCIKLWRl cGVuZHM9Imljb3V0aWxzIG5ldGNhdCBJbWFnZU1hZ2ljayB4dGVybSB3eFB5dGhvbjQgY2FiZXh0 cmFjdCB1bnppcCBnbHhpbmZvCitkZXBlbmRzPSJpY291dGlscyBuZXRjYXQgSW1hZ2VNYWdpY2sg eHRlcm0gd3hQeXRob24gY2FiZXh0cmFjdCB1bnppcCBnbHhpbmZvCiAgZ251cGcgeGRnLXVzZXIt ZGlycyBsaWJYbXUgd2dldCBwN3ppcCBjdXJsIGpxIHB5dGhvbjMtbmF0c29ydCB4cmRiIGdldHRl eHQKICBwZXJsIgogc2hvcnRfZGVzYz0iR1VJIGZvciBtYW5hZ2luZyBXaW5kb3dzIHByb2dyYW1z IHVuZGVyIGxpbnV4Igo= --===============8973855681928806867==--