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 29312 invoked from network); 25 Sep 2023 20:49:04 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 25 Sep 2023 20:49:04 -0000 Content-Type: multipart/mixed; boundary="===============5365335329960597674==" 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: Mon, 25 Sep 2023 22:49:03 +0200 List-Id: Message-ID: <20230925204903.yX_UdNGyLTA50-q_dT_IyLPmeL30625dcs4QNNOznoU@z> GitHub notification mails are now in MIME to allow UTF8. --===============5365335329960597674== 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 YWNrIHRvIGl0cyBwcm9wZXIgbmFtZSwganVzdCBgd3hQeXRob25gLg0KDQpbY2kgc2tpcF0KCkEg cGF0Y2ggZmlsZSBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2Fn ZXMvcHVsbC80NjIzNy5wYXRjaCBpcyBhdHRhY2hlZA== --===============5365335329960597674== 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 ZQorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLXBrZ25hbWU9d3hQeXRob24KCkZyb20gMDdh Y2U0OWEwZWQwNzVmNjM5MmE1YWVkMmU0ZjhjODg5MzY1NzU5NyBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogY2xhc3NhYmJ5YW1wIDx2b2lkQHBsYWNldmlvbGV0dGUubmV0PgpEYXRlOiBN b24sIDI1IFNlcCAyMDIzIDEzOjQ2OjU1IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAwNy80M10gZGlz cGNhbEdVSTogdXBkYXRlIHRvIDMuOS4xMSwgcmVwbGFjZSB3aXRoIHB5dGhvbjMgZm9yawoKLS0t CiBzcmNwa2dzL0Rpc3BsYXlDQUwvdGVtcGxhdGUgICAgICAgICAgICB8IDI1ICsrKysrKysrKysr KysrKysrKysKIHNyY3BrZ3MvZGlzcGNhbEdVSSAgICAgICAgICAgICAgICAgICAgIHwgIDEgKwog c3JjcGtncy9kaXNwY2FsR1VJL3BhdGNoZXMvZXJyb3IucGF0Y2ggfCAzMyAtLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQogc3JjcGtncy9kaXNwY2FsR1VJL3RlbXBsYXRlICAgICAgICAgICAgfCAy NSAtLS0tLS0tLS0tLS0tLS0tLS0tCiBzcmNwa2dzL2Rpc3BjYWxHVUkvdXBkYXRlICAgICAgICAg ICAgICB8ICAxIC0KIDUgZmlsZXMgY2hhbmdlZCwgMjYgaW5zZXJ0aW9ucygrKSwgNTkgZGVsZXRp b25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9EaXNwbGF5Q0FML3RlbXBsYXRlCiBj cmVhdGUgbW9kZSAxMjAwMDAgc3JjcGtncy9kaXNwY2FsR1VJCiBkZWxldGUgbW9kZSAxMDA2NDQg c3JjcGtncy9kaXNwY2FsR1VJL3BhdGNoZXMvZXJyb3IucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0 NCBzcmNwa2dzL2Rpc3BjYWxHVUkvdGVtcGxhdGUKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dz L2Rpc3BjYWxHVUkvdXBkYXRlCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9EaXNwbGF5Q0FML3RlbXBs YXRlIGIvc3JjcGtncy9EaXNwbGF5Q0FML3RlbXBsYXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAwMDAuLjk2MmQ2NmUyOWJmNjgKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNw a2dzL0Rpc3BsYXlDQUwvdGVtcGxhdGUKQEAgLTAsMCArMSwyNSBAQAorIyBUZW1wbGF0ZSBmaWxl IGZvciAnRGlzcGxheUNBTCcKK3BrZ25hbWU9RGlzcGxheUNBTAordmVyc2lvbj0zLjkuMTEKK3Jl dmlzaW9uPTEKK2J1aWxkX3N0eWxlPXB5dGhvbjMtbW9kdWxlCitob3N0bWFrZWRlcGVuZHM9InB5 dGhvbjMiCittYWtlZGVwZW5kcz0icHl0aG9uMy1kZXZlbCBsaWJYeGY4NnZtLWRldmVsIGxpYlhp bmVyYW1hLWRldmVsIGxpYlhyYW5kci1kZXZlbCIKK2RlcGVuZHM9InB5dGhvbjMtZGJ1cyBweXRo b24zLW51bXB5IHd4UHl0aG9uIGFyZ3lsbGNtcyIKK3Nob3J0X2Rlc2M9IkRpc3BsYXkgQ2FsaWJy YXRpb24gYW5kIENoYXJhY3Rlcml6YXRpb24iCittYWludGFpbmVyPSJsZW1taSA8bGVtbWlAbmVy ZDJuZXJkLm9yZz4iCitsaWNlbnNlPSJHUEwtMy4wLW9yLWxhdGVyIgoraG9tZXBhZ2U9Imh0dHBz Oi8vZ2l0aHViLmNvbS9lb3lpbG1hei9kaXNwbGF5Y2FsLXB5MyIKK2Rpc3RmaWxlcz0iaHR0cHM6 Ly9naXRodWIuY29tL2VveWlsbWF6L2Rpc3BsYXljYWwtcHkzL2FyY2hpdmUvcmVmcy90YWdzLyR7 dmVyc2lvbn0udGFyLmd6IgorY2hlY2tzdW09Nzc2OWQxOTU1MWMyMjhkNzk3ZmQ5OGNiMjQ2OTcz MGNlZTg0ZmYyN2JkMGJmNWQwNDYzZTE5MTc1MzkyMWE1ZQorCitwcmVfY29uZmlndXJlKCkgewor CXZzZWQgLWkgbWlzYy9kaXNwbGF5Y2FsLXZybWwtdG8teDNkLWNvbnZlcnRlci5kZXNrdG9wIFwK KwkJLWUgJ3N8TWltZVR5cGU9bW9kZWwvdnJtbDt4LXdvcmxkL3gtdnJtbDt8TWltZVR5cGU9bW9k ZWwvdnJtbDt8JworfQorCitkaXNwY2FsR1VJX3BhY2thZ2UoKSB7CisJYnVpbGRfc3R5bGU9bWV0 YQorCXNob3J0X2Rlc2MrPSIgKHRyYW5zaXRpb25hbCBkdW1teSBwYWNrYWdlKSIKKwlkZXBlbmRz PSIke3NvdXJjZXBrZ30+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0iCit9CmRpZmYgLS1naXQgYS9z cmNwa2dzL2Rpc3BjYWxHVUkgYi9zcmNwa2dzL2Rpc3BjYWxHVUkKbmV3IGZpbGUgbW9kZSAxMjAw MDAKaW5kZXggMDAwMDAwMDAwMDAwMC4uN2IyYWU3ZmU4ZWIxZQotLS0gL2Rldi9udWxsCisrKyBi L3NyY3BrZ3MvZGlzcGNhbEdVSQpAQCAtMCwwICsxIEBACitEaXNwbGF5Q0FMClwgTm8gbmV3bGlu ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9kaXNwY2FsR1VJL3BhdGNoZXMv ZXJyb3IucGF0Y2ggYi9zcmNwa2dzL2Rpc3BjYWxHVUkvcGF0Y2hlcy9lcnJvci5wYXRjaApkZWxl dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTY5ZmM1MjhiMTM4ZS4uMDAwMDAwMDAwMDAwMAot LS0gYS9zcmNwa2dzL2Rpc3BjYWxHVUkvcGF0Y2hlcy9lcnJvci5wYXRjaAorKysgL2Rldi9udWxs CkBAIC0xLDMzICswLDAgQEAKLVJlYXNvbjogZXJyb3IoMykgZG9lcyBub3QgZXhpc3Qgb24gbXVz bCwgYW5kIG9uIGdsaWJjIHRoZSBzaWduYXR1cmUKLWlzIChpbnQsIGludCwgY2hhciosIC4uLikg YW5kIG5vdCAoY2hhciosIC4uLikuCi1UaGVyZWZvcmUgdGhlIGN1cnJlbnQgY29kZSBlaXRoZXIg cmVzdWx0cyBpbiBnYXJibGVkIG91dHB1dCBvcgotZG9lc24ndCB3b3JrIGF0IGFsbC4gUmVwbGFj ZSBpdCB3aXRoIGEgc2ltcGxlIHByaW50Zi4KLQotLS0tCi0tLS0gYS9EaXNwbGF5Q0FML1JlYWxE aXNwbGF5U2l6ZU1NLmMJMjAxOC0wNy0yNSAxNjo0NzowMS4wMDAwMDAwMDAgKzAyMDAKLSsrKyBi L0Rpc3BsYXlDQUwvUmVhbERpc3BsYXlTaXplTU0uYwkyMDE4LTA3LTI1IDE2OjQ3OjAxLjAwMDAw MDAwMCArMDIwMAotQEAgLTgyMiwxMyArODIyLDEzIEBACi0gCQkJCQkJc3ByaW50ZihkZXNjMSwg Il9JQ0NfUFJPRklMRV8lZCIsZGlzcHNbbmRpc3BzXS0+dXNjcmVlbik7Ci0gCi0gCQkJCQlpZiAo KGRpc3BzW25kaXNwc10tPmljY19hdG9tID0gWEludGVybkF0b20obXlkaXNwbGF5LCBkZXNjMSwg RmFsc2UpKSA9PSBOb25lKQotLQkJCQkJCWVycm9yKCJVbmFibGUgdG8gaW50ZXJuIGF0b20gJyVz JyIsZGVzYzEpOwotKwkJCQkJCWZwcmludGYoc3RkZXJyLCAiVW5hYmxlIHRvIGludGVybiBhdG9t ICclcyciLGRlc2MxKTsKLSAKLSAJCQkJCWRlYnVncnIyKChlcnJvdXQsIlJvb3QgYXRvbSAnJXMn XG4iLGRlc2MxKSk7Ci0gCi0gCQkJCQkvKiBDcmVhdGUgdGhlIGF0b20gb2YgdGhlIG91dHB1dCB0 aGF0IG1heSBjb250YWluIHRoZSBhc3NvY2lhdGVkIElDQyBwcm9maWxlICovCi0gCQkJCQlpZiAo KGRpc3BzW25kaXNwc10tPmljY19vdXRfYXRvbSA9IFhJbnRlcm5BdG9tKG15ZGlzcGxheSwgIl9J Q0NfUFJPRklMRSIsIEZhbHNlKSkgPT0gTm9uZSkKLS0JCQkJCQllcnJvcigiVW5hYmxlIHRvIGlu dGVybiBhdG9tICclcyciLCJfSUNDX1BST0ZJTEUiKTsKLSsJCQkJCQlmcHJpbnRmKHN0ZGVyciwg IlVuYWJsZSB0byBpbnRlcm4gYXRvbSAnJXMnIiwiX0lDQ19QUk9GSUxFIik7Ci0gCQkKLSAJCQkJ CS8qIEdyYWIgdGhlIEVESUQgZnJvbSB0aGUgb3V0cHV0ICovCi0gCQkJCQl7Ci1AQCAtOTkzLDcg Kzk5Myw3IEBACi0gCQkJCXNwcmludGYoZGVzYzEsICJfSUNDX1BST0ZJTEVfJWQiLGRpc3BzW2ld LT51c2NyZWVuKTsKLSAKLSAJCQlpZiAoKGRpc3BzW2ldLT5pY2NfYXRvbSA9IFhJbnRlcm5BdG9t KG15ZGlzcGxheSwgZGVzYzEsIEZhbHNlKSkgPT0gTm9uZSkKLS0JCQkJZXJyb3IoIlVuYWJsZSB0 byBpbnRlcm4gYXRvbSAnJXMnIixkZXNjMSk7Ci0rCQkJCWZwcmludGYoc3RkZXJyLCAiVW5hYmxl IHRvIGludGVybiBhdG9tICclcyciLGRlc2MxKTsKLSAKLSAJCQkvKiBTZWUgaWYgd2UgY2FuIGxv Y2F0ZSB0aGUgRURJRCBvZiB0aGUgbW9uaXRvciBmb3IgdGhpcyBzY3JlZW4gKi8KLSAJCQlmb3Ig KGogPSAwOyBqIDwgMjsgaisrKSB7IApkaWZmIC0tZ2l0IGEvc3JjcGtncy9kaXNwY2FsR1VJL3Rl bXBsYXRlIGIvc3JjcGtncy9kaXNwY2FsR1VJL3RlbXBsYXRlCmRlbGV0ZWQgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwNTA4NmI5N2U1YTI2Li4wMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvZGlz cGNhbEdVSS90ZW1wbGF0ZQorKysgL2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLSMgVGVtcGxh dGUgZmlsZSBmb3IgJ2Rpc3BjYWxHVUknCi1wa2duYW1lPWRpc3BjYWxHVUkKLXZlcnNpb249My44 LjkuMwotcmV2aXNpb249NQotX25hbWU9IkRpc3BsYXlDQUwiCi1idWlsZF9zdHlsZT1weXRob24y LW1vZHVsZQotaG9zdG1ha2VkZXBlbmRzPSJweXRob24iCi1tYWtlZGVwZW5kcz0icHl0aG9uLWRl dmVsIGxpYlh4Zjg2dm0tZGV2ZWwgbGliWGluZXJhbWEtZGV2ZWwgbGliWHJhbmRyLWRldmVsIgot ZGVwZW5kcz0icHl0aG9uLWRidXMgcHl0aG9uLW51bXB5IHd4UHl0aG9uIGFyZ3lsbGNtcyIKLXNo b3J0X2Rlc2M9IkRpc3BsYXkgQ2FsaWJyYXRpb24gYW5kIENoYXJhY3Rlcml6YXRpb24iCi1tYWlu dGFpbmVyPSJsZW1taSA8bGVtbWlAbmVyZDJuZXJkLm9yZz4iCi1saWNlbnNlPSJHUEwtMy4wLW9y LWxhdGVyIgotaG9tZXBhZ2U9Imh0dHBzOi8vZGlzcGxheWNhbC5uZXQvIgotY2hhbmdlbG9nPSJo dHRwczovL2Rpc3BsYXljYWwubmV0L0NIQU5HRVMuaHRtbCIKLWRpc3RmaWxlcz0iJHtTT1VSQ0VG T1JHRV9TSVRFfS9kaXNwY2FsZ3VpLyR7X25hbWV9LSR7dmVyc2lvbn0udGFyLmd6IgotY2hlY2tz dW09N2MzNGRmYmQ5ZjY2ZjI0ZjFkNGM4OGRlNGE1YTBkZTY4OGFhZDcxOWYwOTU4NzRiNjI1OTYz N2QzMDg5M2JlYQotCi1wcmVfY29uZmlndXJlKCkgewotCXNlZCAtaSAnc3xNaW1lVHlwZT1tb2Rl bC92cm1sO3gtd29ybGQveC12cm1sO3xNaW1lVHlwZT1tb2RlbC92cm1sO3wnIG1pc2MvZGlzcGxh eWNhbC12cm1sLXRvLXgzZC1jb252ZXJ0ZXIuZGVza3RvcAotfQotCi1wb3N0X2luc3RhbGwoKSB7 Ci0JZmluZCAke0RFU1RESVJ9L3Vzci8gLWV4ZWMgY2htb2QgYStyIFx7XH0gKwotCWZpbmQgJHtE RVNURElSfS91c3IvIC10eXBlIGQgLWV4ZWMgY2htb2QgYSt4IFx7XH0gKwotfQpkaWZmIC0tZ2l0 IGEvc3JjcGtncy9kaXNwY2FsR1VJL3VwZGF0ZSBiL3NyY3BrZ3MvZGlzcGNhbEdVSS91cGRhdGUK ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY5NDIzOTM5NDVjMzYuLjAwMDAwMDAwMDAw MDAKLS0tIGEvc3JjcGtncy9kaXNwY2FsR1VJL3VwZGF0ZQorKysgL2Rldi9udWxsCkBAIC0xICsw LDAgQEAKLXBrZ25hbWU9IiR7X25hbWV9IgoKRnJvbSAwNTIyODk2YTM1ZWExNDlhZWU1MWU0MWQ4 MDVmODlmZDYxNjcwNTFlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAiQW5kcmV3IEou IEhlc2ZvcmQiIDxhamhAc2lkZWJhbmQub3JnPgpEYXRlOiBNb24sIDI1IFNlcCAyMDIzIDAwOjE4 OjE5IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAwOC80M10gMGFkOiByZWJ1aWxkIHdpdGggd3hXaWRn ZXRzLWd0azMtMy4yLjIuMQoKLS0tCiBzcmNwa2dzLzBhZC90ZW1wbGF0ZSB8IDIgKy0KIDEgZmls ZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvMGFkL3RlbXBsYXRlIGIvc3JjcGtncy8wYWQvdGVtcGxhdGUKaW5kZXggOGNmNGE3NTcy MTYxOS4uNTk3YTcwODJiOTM4OSAxMDA2NDQKLS0tIGEvc3JjcGtncy8wYWQvdGVtcGxhdGUKKysr IGIvc3JjcGtncy8wYWQvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUg Zm9yICcwYWQnCiBwa2duYW1lPTBhZAogdmVyc2lvbj0wLjAuMjYKLXJldmlzaW9uPTcKK3Jldmlz aW9uPTgKIGFyY2hzPSJ4ODZfNjQqIGk2ODYqIGFhcmNoNjQqIGFybXY3bCogcHBjNjRsZSoiCiBo b3N0bWFrZWRlcGVuZHM9InBrZy1jb25maWcgcGVybCBjbWFrZSBweXRob24zIHJ1c3QgY2FyZ28g eWFzbSB0YXIgY2xhbmciCiBtYWtlZGVwZW5kcz0iU0RMMi1kZXZlbCBib29zdC1kZXZlbCBnbG9v eC1kZXZlbCBsaWJjdXJsLWRldmVsIGxpYmVuZXQtZGV2ZWwKCkZyb20gZDRhN2Q3YjJmMjYzNzBl NTE0NDNiN2JmMTIwY2NiMzQ5OGFmOGVmNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTog IkFuZHJldyBKLiBIZXNmb3JkIiA8YWpoQHNpZGViYW5kLm9yZz4KRGF0ZTogTW9uLCAyNSBTZXAg MjAyMyAwMDoxODoxOSAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDkvNDNdIEFlZ2lzdWI6IHJlYnVp bGQgd2l0aCB3eFdpZGdldHMtZ3RrMy0zLjIuMi4xCgotLS0KIHNyY3BrZ3MvQWVnaXN1Yi90ZW1w bGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigt KQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvQWVnaXN1Yi90ZW1wbGF0ZSBiL3NyY3BrZ3MvQWVnaXN1 Yi90ZW1wbGF0ZQppbmRleCBkYWYzNTc0OWNlN2M2Li5kODBlNjNmMDI3ZTMyIDEwMDY0NAotLS0g YS9zcmNwa2dzL0FlZ2lzdWIvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9BZWdpc3ViL3RlbXBsYXRl CkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnQWVnaXN1YicKIHBrZ25hbWU9 QWVnaXN1YgogdmVyc2lvbj0zLjMuMgotcmV2aXNpb249MTAKK3JldmlzaW9uPTExCiBidWlsZF9z dHlsZT1jbWFrZQogYnVpbGRfaGVscGVyPWNtYWtlLXd4V2lkZ2V0cy1ndGszCiBjbWFrZV9idWls ZGRpcj0iQlVJTEQiCgpGcm9tIGY0YjFiMzhjMGNjYmE5NzIzNTljN2Y3YjYwNjFhYWZlNmE2ZDI0 OTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ICJBbmRyZXcgSi4gSGVzZm9yZCIgPGFq aEBzaWRlYmFuZC5vcmc+CkRhdGU6IE1vbiwgMjUgU2VwIDIwMjMgMDA6MTg6MTkgLTA0MDAKU3Vi amVjdDogW1BBVENIIDEwLzQzXSBDdWJpY1NEUjogcmVidWlsZCB3aXRoIHd4V2lkZ2V0cy1ndGsz LTMuMi4yLjEKCi0tLQogc3JjcGtncy9DdWJpY1NEUi90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBj aGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3Br Z3MvQ3ViaWNTRFIvdGVtcGxhdGUgYi9zcmNwa2dzL0N1YmljU0RSL3RlbXBsYXRlCmluZGV4IGMy MjRmYzEzNzliZjEuLjkyZDBkM2I5MDkwZmQgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvQ3ViaWNTRFIv dGVtcGxhdGUKKysrIGIvc3JjcGtncy9DdWJpY1NEUi90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAK ICMgVGVtcGxhdGUgZmlsZSBmb3IgJ0N1YmljU0RSJwogcGtnbmFtZT1DdWJpY1NEUgogdmVyc2lv bj0wLjIuNwotcmV2aXNpb249MgorcmV2aXNpb249MwogYnVpbGRfc3R5bGU9Y21ha2UKIGJ1aWxk X2hlbHBlcj0iY21ha2Utd3hXaWRnZXRzLWd0azMiCiBjb25maWd1cmVfYXJncz0iLURVU0VfSEFN TElCPTEgJCh2b3B0X2Jvb2wgYWxzYSBVU0VfQVVESU9fQUxTQSkKCkZyb20gN2FhMjdkYmY5OTRj YTA2Mzc5YmVkOTk2MDMyZDkxMzgwYmQwMTgzNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogIkFuZHJldyBKLiBIZXNmb3JkIiA8YWpoQHNpZGViYW5kLm9yZz4KRGF0ZTogTW9uLCAyNSBT ZXAgMjAyMyAwMDoxODoxOSAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMTEvNDNdIERhcmtSYWRpYW50 OiByZWJ1aWxkIHdpdGggd3hXaWRnZXRzLWd0azMtMy4yLjIuMQoKLS0tCiBzcmNwa2dzL0RhcmtS YWRpYW50L3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAx IGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9EYXJrUmFkaWFudC90ZW1wbGF0ZSBi L3NyY3BrZ3MvRGFya1JhZGlhbnQvdGVtcGxhdGUKaW5kZXggODgzMGIzYTYxYzA2Yi4uMjE5YWMz ZDY2YWRlZiAxMDA2NDQKLS0tIGEvc3JjcGtncy9EYXJrUmFkaWFudC90ZW1wbGF0ZQorKysgYi9z cmNwa2dzL0RhcmtSYWRpYW50L3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBm aWxlIGZvciAnRGFya1JhZGlhbnQnCiBwa2duYW1lPURhcmtSYWRpYW50CiB2ZXJzaW9uPTMuOC4w Ci1yZXZpc2lvbj0yCityZXZpc2lvbj0zCiBidWlsZF9zdHlsZT1jbWFrZQogYnVpbGRfaGVscGVy PWNtYWtlLXd4V2lkZ2V0cy1ndGszCiBob3N0bWFrZWRlcGVuZHM9InBrZy1jb25maWcgcnVieS1h c2NpaWRvY3RvciIKCkZyb20gYjFjY2VmYzFiODk0NGFlMTMxM2QwYzBlYmIwZTdlMjRmODM1MTlk NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogIkFuZHJldyBKLiBIZXNmb3JkIiA8YWpo QHNpZGViYW5kLm9yZz4KRGF0ZTogTW9uLCAyNSBTZXAgMjAyMyAwMDoxODoxOSAtMDQwMApTdWJq ZWN0OiBbUEFUQ0ggMTIvNDNdIExpbWVTdWl0ZTogcmVidWlsZCB3aXRoIHd4V2lkZ2V0cy1ndGsz LTMuMi4yLjEKCi0tLQogc3JjcGtncy9MaW1lU3VpdGUvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUg Y2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNw a2dzL0xpbWVTdWl0ZS90ZW1wbGF0ZSBiL3NyY3BrZ3MvTGltZVN1aXRlL3RlbXBsYXRlCmluZGV4 IGZlOTYzYmU4NWY4NjAuLmYxM2Q1ZTQwYTA0YzggMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvTGltZVN1 aXRlL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvTGltZVN1aXRlL3RlbXBsYXRlCkBAIC0xLDcgKzEs NyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnTGltZVN1aXRlJwogcGtnbmFtZT1MaW1lU3VpdGUK IHZlcnNpb249MjIuMDkuMQotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9Y21h a2UKIGJ1aWxkX2hlbHBlcj1jbWFrZS13eFdpZGdldHMtZ3RrMwogY29uZmlndXJlX2FyZ3M9IgoK RnJvbSBmZjYzZTczZGZjMjJmMzQwYjExOWM1ZjAzYTJhZTI5NzFjMmQ5MjlkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiQW5kcmV3IEouIEhlc2ZvcmQiIDxhamhAc2lkZWJhbmQub3Jn PgpEYXRlOiBNb24sIDI1IFNlcCAyMDIzIDAwOjE4OjE5IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAx My80M10gT3BlbkNQTjogdXBkYXRlIHRvIDUuOC40LgoKLS0tCiAuLi4vT3BlbkNQTi9wYXRjaGVz L2FjdHVhbGx5LXNldC1hcmNoLnBhdGNoICAgfCAyOCAtLS0tLS0tLS0tLS0tLS0tLS0KIHNyY3Br Z3MvT3BlbkNQTi9wYXRjaGVzL211c2wucGF0Y2ggICAgICAgICAgICB8IDI5ICsrKysrKysrKy0t LS0tLS0tLS0KIHNyY3BrZ3MvT3BlbkNQTi90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICAgICB8 IDEzICsrKysrLS0tLQogMyBmaWxlcyBjaGFuZ2VkLCAyMCBpbnNlcnRpb25zKCspLCA1MCBkZWxl dGlvbnMoLSkKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL09wZW5DUE4vcGF0Y2hlcy9hY3R1 YWxseS1zZXQtYXJjaC5wYXRjaAoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvT3BlbkNQTi9wYXRjaGVz L2FjdHVhbGx5LXNldC1hcmNoLnBhdGNoIGIvc3JjcGtncy9PcGVuQ1BOL3BhdGNoZXMvYWN0dWFs bHktc2V0LWFyY2gucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQxNTJjNDA5 Mjg4NjcuLjAwMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9PcGVuQ1BOL3BhdGNoZXMvYWN0dWFs bHktc2V0LWFyY2gucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi0tLS0gYS9j bWFrZS9HZXRBcmNoLmNtYWtlCTIwMjAtMDctMTUgMjA6MDI6MjkuMDAwMDAwMDAwICswMjAwCi0r KysgYi9jbWFrZS9HZXRBcmNoLmNtYWtlCTIwMjAtMDctMTUgMjA6MDI6MjkuMDAwMDAwMDAwICsw MjAwCi1AQCAtMTQsNiArMTQsMjUgQEAKLSAgICAgIyBkZWZhdWx0Ci0gICAgIHNldCAoQVJDSCAi aTM4NiIpCi0gICAgIHNldCAoTElCX0lOU1RBTExfRElSICJsaWIiKQotKyAgICBJRiAoQ01BS0Vf U1lTVEVNX1BST0NFU1NPUiBNQVRDSEVTICJhcm0qIikKLSsgICAgICBJRiAoQ01BS0VfU0laRU9G X1ZPSURfUCBNQVRDSEVTICI4IikKLSsgICAgICAgIFNFVCAoQVJDSCAiYWFyY2g2NCIpCi0rICAg ICAgRUxTRSAoQ01BS0VfU0laRU9GX1ZPSURfUCBNQVRDSEVTICI4IikKLSsgICAgICAgIFNFVCAo QVJDSCAiYXJtaGYiKQotKyAgICAgIEVORElGIChDTUFLRV9TSVpFT0ZfVk9JRF9QIE1BVENIRVMg IjgiKQotKyAgICBFTFNFSUYgKENNQUtFX1NZU1RFTV9QUk9DRVNTT1IgTUFUQ0hFUyAicHBjKiIg T1IgQ01BS0VfU1lTVEVNX1BST0NFU1NPUiBNQVRDSEVTICJwb3dlcnBjKiIpCi0rICAgICAgSUYg KENNQUtFX1NJWkVPRl9WT0lEX1AgTUFUQ0hFUyAiOCIpCi0rICAgICAgICBTRVQgKEFSQ0ggInBw YzY0IikKLSsgICAgICBFTFNFIChDTUFLRV9TSVpFT0ZfVk9JRF9QIE1BVENIRVMgIjgiKQotKyAg ICAgICAgU0VUIChBUkNIICJwb3dlcnBjIikKLSsgICAgICBFTkRJRiAoQ01BS0VfU0laRU9GX1ZP SURfUCBNQVRDSEVTICI4IikKLSsgICAgRUxTRSAoQ01BS0VfU1lTVEVNX1BST0NFU1NPUiBNQVRD SEVTICJhcm0qIikKLSsgICAgICBJRiAoQ01BS0VfU0laRU9GX1ZPSURfUCBNQVRDSEVTICI4IikK LSsgICAgICAgIFNFVCAoQVJDSCAieDg2XzY0IikKLSsgICAgICBFTFNFIChDTUFLRV9TSVpFT0Zf Vk9JRF9QIE1BVENIRVMgIjgiKQotKyAgICAgICAgU0VUIChBUkNIICJpMzg2IikKLSsgICAgICBF TkRJRiAoQ01BS0VfU0laRU9GX1ZPSURfUCBNQVRDSEVTICI4IikKLSsgICAgRU5ESUYgKENNQUtF X1NZU1RFTV9QUk9DRVNTT1IgTUFUQ0hFUyAiYXJtKiIpCi0gICAgIGlmIChFWElTVFMgL2V0Yy9k ZWJpYW5fdmVyc2lvbikKLSAgICAgICBzZXQgKFBBQ0tBR0VfRk9STUFUICJERUIiKQotICAgICAg IHNldCAoUEFDS0FHRV9SRUNTICJ4Y2FsaWIseGRnLXV0aWxzIikKZGlmZiAtLWdpdCBhL3NyY3Br Z3MvT3BlbkNQTi9wYXRjaGVzL211c2wucGF0Y2ggYi9zcmNwa2dzL09wZW5DUE4vcGF0Y2hlcy9t dXNsLnBhdGNoCmluZGV4IDc1OTIzZTAxOWIyYmMuLmY5ODc3ZjlhMGU2NTEgMTAwNjQ0Ci0tLSBh L3NyY3BrZ3MvT3BlbkNQTi9wYXRjaGVzL211c2wucGF0Y2gKKysrIGIvc3JjcGtncy9PcGVuQ1BO L3BhdGNoZXMvbXVzbC5wYXRjaApAQCAtMSwyNiArMSwxNiBAQAogLS0tIGEvaW5jbHVkZS96ZXJv Y29uZi1kZXRhaWwuaHBwCTIwMjAtMDctMTUgMjA6MDI6MjkuMDAwMDAwMDAwICswMjAwCiArKysg Yi9pbmNsdWRlL3plcm9jb25mLWRldGFpbC5ocHAJMjAyMC0wNy0xNSAyMDowMjoyOS4wMDAwMDAw MDAgKzAyMDAKLUBAIC0yMCw5ICsyMCw3IEBACitAQCAtMjAsMTUgKzIwLDE0IEBACiAgI2RlZmlu ZSBXSU4zMl9MRUFOX0FORF9NRUFOCiAgI2luY2x1ZGUgPHdpbnNvY2syLmg+CiAgI2Vsc2UKLS0g ICAgI2lmbmRlZiBfX1dYT1NYX18KLS0gICAgICAgICNpbmNsdWRlIDxlcnJvci5oPgotLSAgICAj ZWxzZSAgICAKLSsgICAgI2lmZGVmIF9fV1hPU1hfXwotICAgICAgICAgI2luY2x1ZGUgPG1hY2gv ZXJyb3IuaD4gCistI2lmbmRlZiBfX1dYT1NYX18KKy0jaW5jbHVkZSA8ZXJyb3IuaD4KKy0jZWxz ZQorKyNpZmRlZiBfX1dYT1NYX18KKyAjaW5jbHVkZSA8bWFjaC9lcnJvci5oPgogICNlbmRpZgog IAotQEAgLTQyNCw0ICs0MjIsNCBAQAotICAgICB9Ci0gfQotIAotLSNlbmRpZiAvLyBaRVJPQ09O Rl9ERVRBSUxfSFBQCi1cIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKLSsjZW5kaWYgLy8gWkVS T0NPTkZfREVUQUlMX0hQUAotLS0tIGEvaW5jbHVkZS96ZXJvY29uZi1kZXRhaWwuaHBwCTIwMjAt MDctMjUgMTg6MDU6MDguNzE0MDk4OTYyICswMjAwCi0rKysgYi9pbmNsdWRlL3plcm9jb25mLWRl dGFpbC5ocHAJMjAyMC0wNy0yNSAxODowNTowOC43MTQwOTg5NjIgKzAyMDAKLUBAIC0yNyw2ICsy Nyw3IEBACiAgI2luY2x1ZGUgPHN0cmluZy5oPgogICNpbmNsdWRlIDx1bmlzdGQuaD4KICAjaW5j bHVkZSA8c3lzL3NvY2tldC5oPgpAQCAtMjgsMyArMTgsMTAgQEAKICAjaW5jbHVkZSA8bmV0aW5l dC9pbi5oPgogICNlbmRpZgogIAorQEAgLTM4NSw0ICszODQsNCBAQAorIH0gIC8vIG5hbWVzcGFj ZSBEZXRhaWwKKyB9ICAvLyBuYW1lc3BhY2UgWmVyb2NvbmYKKyAKKy0jZW5kaWYgIC8vIFpFUk9D T05GX0RFVEFJTF9IUFAKK1wgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorKyNlbmRpZiAgLy8g WkVST0NPTkZfREVUQUlMX0hQUApkaWZmIC0tZ2l0IGEvc3JjcGtncy9PcGVuQ1BOL3RlbXBsYXRl IGIvc3JjcGtncy9PcGVuQ1BOL3RlbXBsYXRlCmluZGV4IGVlNjdkYmFmZjAxYzIuLmQzYjU3ODA0 ZmE4ODAgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvT3BlbkNQTi90ZW1wbGF0ZQorKysgYi9zcmNwa2dz L09wZW5DUE4vdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdP cGVuQ1BOJwogcGtnbmFtZT1PcGVuQ1BOCi12ZXJzaW9uPTUuMi4wCi1yZXZpc2lvbj0yCit2ZXJz aW9uPTUuOC40CityZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1jbWFrZQogYnVpbGRfaGVscGVyPWNt YWtlLXd4V2lkZ2V0cy1ndGszCiBjb25maWd1cmVfYXJncz0iLURPQ1BOX0JVTkRMRV9HU0hIUz1O T05FIC1ET0NQTl9CVU5ETEVfVENEQVRBPU9OCkBAIC0xMCwxNiArMTAsMTcgQEAgY29uZmlndXJl X2FyZ3M9Ii1ET0NQTl9CVU5ETEVfR1NISFM9Tk9ORSAtRE9DUE5fQlVORExFX1RDREFUQT1PTgog IC1ET0NQTl9VU0VfQlVORExFRF9MSUJTPU9GRiIKIGhvc3RtYWtlZGVwZW5kcz0iZ2V0dGV4dCBw a2ctY29uZmlnIgogbWFrZWRlcGVuZHM9Imd0ayszLWRldmVsIGxpYmN1cmwtZGV2ZWwgcG9ydGF1 ZGlvLWRldmVsIHRpbnl4bWwtZGV2ZWwKLSB3eFdpZGdldHMtZ3RrMy1kZXZlbCAkKHZvcHRfaWYg ZXhpZiAnbGliZXhpZi1kZXZlbCcpIGdsdS1kZXZlbAotICQodm9wdF9pZiBsaWJhcmNoaXZlICds aWJhcmNoaXZlLWRldmVsJyAnbGlidW5hcnItZGV2ZWwnKSAkKHZvcHRfaWYgbHptYSAnbGlibHpt YS1kZXZlbCcpIgorIHd4V2lkZ2V0cy1ndGszLWRldmVsIGdsdS1kZXZlbCBnbGV3LWRldmVsIHJh cGlkanNvbiBndGVzdC1kZXZlbAorICQodm9wdF9pZiBsaWJhcmNoaXZlICdsaWJhcmNoaXZlLWRl dmVsJyAnbGlidW5hcnItZGV2ZWwnKQorICQodm9wdF9pZiBleGlmICdsaWJleGlmLWRldmVsJykg JCh2b3B0X2lmIGx6bWEgJ2xpYmx6bWEtZGV2ZWwnKSIKIGRlcGVuZHM9Imdwc2QgaGljb2xvci1p Y29uLXRoZW1lIE9wZW5DUE4tdGNkYXRhLSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0KICBPcGVuQ1BO LWdzaGhzLWNydWRlIgogc2hvcnRfZGVzYz0iQ29uY2lzZSBDaGFydFBsb3R0ZXIvTmF2aWdhdG9y IgogbWFpbnRhaW5lcj0iSm9obiA8bWVAam9obm55bmF0b3IuZGV2PiIKIGxpY2Vuc2U9IkdQTC0y LjAtb3ItbGF0ZXIsIEdQTC0zLjAtb3ItbGF0ZXIsIExHUEwtMi4wLW9yLWxhdGVyLCBNSVQsIFd4 V2luZG93cy1leGNlcHRpb24tMy4xLCBKYXNQZXItMi4wLCBCU0QtMy1DbGF1c2UsIFNHSS1CLTIu MCIKIGhvbWVwYWdlPSJodHRwczovL29wZW5jcG4ub3JnLyIKLWRpc3RmaWxlcz0iaHR0cHM6Ly9n aXRodWIuY29tL09wZW5DUE4vT3BlbkNQTi9hcmNoaXZlL3Yke3ZlcnNpb259LnRhci5neiIKLWNo ZWNrc3VtPWY2ZWMzODk4OWJjMzhmNWE3ZjYzMjM0YzVlMDIzMGFkZWI3M2Y1NjI2YjRlM2QzZGZh NjgwZjBjMjQwYmFkYzcKK2Rpc3RmaWxlcz0iaHR0cHM6Ly9naXRodWIuY29tL09wZW5DUE4vT3Bl bkNQTi9hcmNoaXZlL1JlbGVhc2VfJHt2ZXJzaW9ufS50YXIuZ3oiCitjaGVja3N1bT03NTUyNzI2 ZTVhZmNlNWViNDAxZTMwN2JlZWRkOGYzYWEyYzY2NzI1NjAyZmMyN2FiM2FkMTg0NWY0MGI4N2Ew CiAKIGJ1aWxkX29wdGlvbnM9Imx6bWEgbGliYXJjaGl2ZSBleGlmIGNyYXNocmVwb3J0IgogYnVp bGRfb3B0aW9uc19kZWZhdWx0PSJsem1hIGxpYmFyY2hpdmUgZXhpZiIKCkZyb20gYWIxYWE5NmY5 NDhkZWY0OWRjMTgyOGU2N2MzNTFmNmUzOGI1MGNlNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogIkFuZHJldyBKLiBIZXNmb3JkIiA8YWpoQHNpZGViYW5kLm9yZz4KRGF0ZTogTW9uLCAy NSBTZXAgMjAyMyAwMDoxODoxOSAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMTQvNDNdIFBydXNhU2xp Y2VyOiByZWJ1aWxkIHdpdGggd3hXaWRnZXRzLWd0azMtMy4yLjIuMQoKLS0tCiBzcmNwa2dzL1By dXNhU2xpY2VyL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCsp LCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9QcnVzYVNsaWNlci90ZW1wbGF0 ZSBiL3NyY3BrZ3MvUHJ1c2FTbGljZXIvdGVtcGxhdGUKaW5kZXggYmFjNWQ2ZDU3NDA1My4uNmFl MWRmMGQ4N2ExOSAxMDA2NDQKLS0tIGEvc3JjcGtncy9QcnVzYVNsaWNlci90ZW1wbGF0ZQorKysg Yi9zcmNwa2dzL1BydXNhU2xpY2VyL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0 ZSBmaWxlIGZvciAnUHJ1c2FTbGljZXInCiBwa2duYW1lPVBydXNhU2xpY2VyCiB2ZXJzaW9uPTIu NS4yCi1yZXZpc2lvbj0yCityZXZpc2lvbj0zCiBidWlsZF9zdHlsZT1jbWFrZQogYnVpbGRfaGVs cGVyPSJxZW11IGNtYWtlLXd4V2lkZ2V0cy1ndGszIgogIyBQcmUtQ29tcGlsZWQgSGVhZGVycyBz ZWVtcyB0byBiZSBzbG93ZXIKCkZyb20gMTc5ZDNmZTYwOTljNzUzOTI5NjJhMTk4NzYwYzMwY2Ri NzU0ZDhhMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogIkFuZHJldyBKLiBIZXNmb3Jk IiA8YWpoQHNpZGViYW5kLm9yZz4KRGF0ZTogTW9uLCAyNSBTZXAgMjAyMyAwMDoxODoxOSAtMDQw MApTdWJqZWN0OiBbUEFUQ0ggMTUvNDNdIFNMQURFOiByZWJ1aWxkIHdpdGggd3hXaWRnZXRzLWd0 azMtMy4yLjIuMQoKLS0tCiBzcmNwa2dzL1NMQURFL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNo YW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9TTEFERS90ZW1wbGF0ZSBiL3NyY3BrZ3MvU0xBREUvdGVtcGxhdGUKaW5kZXggOGI2ODA1NzRj M2I5ZS4uYTg4YzJlNGJjNzgxNCAxMDA2NDQKLS0tIGEvc3JjcGtncy9TTEFERS90ZW1wbGF0ZQor KysgYi9zcmNwa2dzL1NMQURFL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBm aWxlIGZvciAnU0xBREUnCiBwa2duYW1lPVNMQURFCiB2ZXJzaW9uPTMuMi4xCi1yZXZpc2lvbj0x CityZXZpc2lvbj0yCiBidWlsZF9zdHlsZT1jbWFrZQogYnVpbGRfaGVscGVyPWNtYWtlLXd4V2lk Z2V0cy1ndGszCiBob3N0bWFrZWRlcGVuZHM9InBrZy1jb25maWcgcDd6aXAgd2hpY2giCgpGcm9t IGVlMzYxZWJmZDQ0OTJlMjU0MDlkNzYzNTQ2NGE0Y2UyNTIzZTI2YmYgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCkZyb206ICJBbmRyZXcgSi4gSGVzZm9yZCIgPGFqaEBzaWRlYmFuZC5vcmc+CkRh dGU6IE1vbiwgMjUgU2VwIDIwMjMgMDA6MTg6MjAgLTA0MDAKU3ViamVjdDogW1BBVENIIDE2LzQz XSBXb2VVU0I6IHJlYnVpbGQgd2l0aCB3eFdpZGdldHMtZ3RrMy0zLjIuMi4xCgotLS0KIHNyY3Br Z3MvV29lVVNCL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCsp LCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9Xb2VVU0IvdGVtcGxhdGUgYi9z cmNwa2dzL1dvZVVTQi90ZW1wbGF0ZQppbmRleCBiOTQ2YjUyYmNjMWI4Li4yZGE5NWQ1NzAyZWE3 IDEwMDY0NAotLS0gYS9zcmNwa2dzL1dvZVVTQi90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL1dvZVVT Qi90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ1dvZVVTQicK IHBrZ25hbWU9V29lVVNCCiB2ZXJzaW9uPTMuMy4xCi1yZXZpc2lvbj0zCityZXZpc2lvbj00CiBi dWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCiBjb25maWd1cmVfYXJncz0iLS13aXRoLXd4LWNvbmZp Zz13eC1jb25maWctZ3RrMyIKIGhvc3RtYWtlZGVwZW5kcz0iYXV0b21ha2UgZ2V0dGV4dCBsaWJ0 b29sIgoKRnJvbSBiNmQwZDRlMGYxM2U2NDU0ZDY4MDA3YTk0NmM5YzU0MjRjYzYwYjQxIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAiQW5kcmV3IEouIEhlc2ZvcmQiIDxhamhAc2lkZWJh bmQub3JnPgpEYXRlOiBNb24sIDI1IFNlcCAyMDIzIDAwOjE4OjIwIC0wNDAwClN1YmplY3Q6IFtQ QVRDSCAxNy80M10gYXVkYWNpdHk6IHJlYnVpbGQgd2l0aCB3eFdpZGdldHMtZ3RrMy0zLjIuMi4x CgotLS0KIHNyY3BrZ3MvYXVkYWNpdHkvcGF0Y2hlcy93eC0zLjIucGF0Y2ggICAgICAgICB8IDI2 ICsrKysrKysrKysrKysrKysKIC4uLi9wYXRjaGVzL3d4LXdpZGdldC1oYXMtYmFzcXVlLnBhdGNo ICAgICAgICB8IDIyICsrKysrKysrKysrKysKIHNyY3BrZ3MvYXVkYWNpdHkvcGF0Y2hlcy93eGJp dG1hcC5wYXRjaCAgICAgICB8IDMxICsrKysrKysrKysrKysrKysrKysKIHNyY3BrZ3MvYXVkYWNp dHkvdGVtcGxhdGUgICAgICAgICAgICAgICAgICAgICB8ICA1ICstLQogNCBmaWxlcyBjaGFuZ2Vk LCA4MiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNy Y3BrZ3MvYXVkYWNpdHkvcGF0Y2hlcy93eC0zLjIucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBz cmNwa2dzL2F1ZGFjaXR5L3BhdGNoZXMvd3gtd2lkZ2V0LWhhcy1iYXNxdWUucGF0Y2gKIGNyZWF0 ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2F1ZGFjaXR5L3BhdGNoZXMvd3hiaXRtYXAucGF0Y2gKCmRp ZmYgLS1naXQgYS9zcmNwa2dzL2F1ZGFjaXR5L3BhdGNoZXMvd3gtMy4yLnBhdGNoIGIvc3JjcGtn cy9hdWRhY2l0eS9wYXRjaGVzL3d4LTMuMi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAwMDAwLi5kNDJhZTA5ZjMwZjZlCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtn cy9hdWRhY2l0eS9wYXRjaGVzL3d4LTMuMi5wYXRjaApAQCAtMCwwICsxLDI2IEBACitJbmRleDog YXVkYWNpdHktQXVkYWNpdHktMi40LjEvY29uZmlndXJlCis9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gYXVkYWNp dHktQXVkYWNpdHktMi40LjEub3JpZy9jb25maWd1cmUKKysrKyBhdWRhY2l0eS1BdWRhY2l0eS0y LjQuMS9jb25maWd1cmUKK0BAIC0xOTkxOCw3ICsxOTkxOCw3IEBAIHd4X3ZlcnNpb249YCR7V1hf Q09ORklHfSAkd3hjb25maWdhcmdzIC0KKyAkYXNfZWNobyAiJGFzX21lOiBDaGVja2luZyB0aGF0 IHRoZSBjaG9zZW4gdmVyc2lvbiBvZiB3eFdpZGdldHMgaXMgMy4xLnggKG9yIDMuMC54KSIgPiY2 O30KKyAKKyBjYXNlICIke3d4X3ZlcnNpb259IiBpbgorLSAgMy4xLiogfCAzLjAuKikKKysgIDMu Mi4qIHwgMy4xLiogfCAzLjAuKikKKyAgICAgZWNobyAiR3JlYXQsIHlvdSdyZSB1c2luZyB3eFdp ZGdldHMgJHt3eF92ZXJzaW9ufSEiCisgICAgIDs7CisgICAqKQorSW5kZXg6IGF1ZGFjaXR5LUF1 ZGFjaXR5LTIuNC4xL2xpYi1zcmMvbGliLXdpZGdldC1leHRyYS9jb25maWd1cmUKKz09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KKy0tLSBhdWRhY2l0eS1BdWRhY2l0eS0yLjQuMS5vcmlnL2xpYi1zcmMvbGliLXdpZGdldC1l eHRyYS9jb25maWd1cmUKKysrKyBhdWRhY2l0eS1BdWRhY2l0eS0yLjQuMS9saWItc3JjL2xpYi13 aWRnZXQtZXh0cmEvY29uZmlndXJlCitAQCAtMTY2MzMsNyArMTY2MzMsNyBAQCB3eF92ZXJzaW9u PWAke1dYX0NPTkZJR30gJHd4Y29uZmlnYXJncyAtCisgJGFzX2VjaG8gIiRhc19tZTogQ2hlY2tp bmcgdGhhdCB0aGUgY2hvc2VuIHZlcnNpb24gb2Ygd3hXaWRnZXRzIGlzIDMuMS54IChvciAzLjAu eCkiID4mNjt9CisgCisgY2FzZSAiJHt3eF92ZXJzaW9ufSIgaW4KKy0gIDMuMS4qIHwgMy4wLiop CisrICAzLjIuKiB8IDMuMS4qIHwgMy4wLiopCisgICAgIGVjaG8gIkdyZWF0LCB5b3UncmUgdXNp bmcgd3hXaWRnZXRzICR7d3hfdmVyc2lvbn0hIgorICAgICA7OworICAgKikKZGlmZiAtLWdpdCBh L3NyY3BrZ3MvYXVkYWNpdHkvcGF0Y2hlcy93eC13aWRnZXQtaGFzLWJhc3F1ZS5wYXRjaCBiL3Ny Y3BrZ3MvYXVkYWNpdHkvcGF0Y2hlcy93eC13aWRnZXQtaGFzLWJhc3F1ZS5wYXRjaApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwLi40ZGQyNGU3OWVjOGUyCi0tLSAvZGV2 L251bGwKKysrIGIvc3JjcGtncy9hdWRhY2l0eS9wYXRjaGVzL3d4LXdpZGdldC1oYXMtYmFzcXVl LnBhdGNoCkBAIC0wLDAgKzEsMjIgQEAKK0luZGV4OiBhdWRhY2l0eS1BdWRhY2l0eS0yLjQuMS9z cmMvQXVkYWNpdHlBcHAuY3BwCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gYXVkYWNpdHktQXVkYWNpdHktMi40 LjEub3JpZy9zcmMvQXVkYWNpdHlBcHAuY3BwCisrKysgYXVkYWNpdHktQXVkYWNpdHktMi40LjEv c3JjL0F1ZGFjaXR5QXBwLmNwcAorQEAgLTExMDIsNyArMTEwMiw3IEBAIGxvY2F0aW9ucyBvZiB0 aGUgbWlzc2luZyBmaWxlcy4iKS5Gb3JtYXQKKyAjZGVmaW5lIFdMKGxhbmcsc3VibGFuZykKKyAj ZW5kaWYKKyAKKy0jaWYgd3hDSEVDS19WRVJTSU9OKDMsIDAsIDEpCisrI2lmIDAKKyB3eExhbmd1 YWdlSW5mbyB1c2VyTGFuZ3NbXSA9CisgeworICAgIC8vIEJvc25pYW4gaXMgZGVmaW5lZCBpbiB3 eFdpZGdldHMgYWxyZWFkeQorQEAgLTEzNjYsNyArMTM2Niw3IEBAIGJvb2wgQXVkYWNpdHlBcHA6 Ok9uSW5pdCgpCisgICAgLy8KKyAgICAvLyBUT0RPOiAgVGhlIHdob2xlIExhbmd1YWdlIGluaXRp YWxpemF0aW9uIHJlYWxseSBuZWVkIHRvIGJlIHJld29ya2VkLgorICAgIC8vICAgICAgICBJdCdz IGFsbCBvdmVyIHRoZSBwbGFjZS4KKy0jaWYgd3hDSEVDS19WRVJTSU9OKDMsIDAsIDEpCisrI2lm IDAKKyAgICBmb3IgKHNpemVfdCBpID0gMCwgY250ID0gV1hTSVpFT0YodXNlckxhbmdzKTsgaSA8 IGNudDsgaSsrKQorICAgIHsKKyAgICAgICB3eExvY2FsZTo6QWRkTGFuZ3VhZ2UodXNlckxhbmdz W2ldKTsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvYXVkYWNpdHkvcGF0Y2hlcy93eGJpdG1hcC5wYXRj aCBiL3NyY3BrZ3MvYXVkYWNpdHkvcGF0Y2hlcy93eGJpdG1hcC5wYXRjaApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwLi5hZjE4YmQxY2I2NTI0Ci0tLSAvZGV2L251bGwK KysrIGIvc3JjcGtncy9hdWRhY2l0eS9wYXRjaGVzL3d4Yml0bWFwLnBhdGNoCkBAIC0wLDAgKzEs MzEgQEAKK0Zyb20gNTUzODNmY2NkMGMyODFiNGYxODlkOWIwNzY5OWIyMWJiODAyYzczNiBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IElhbiBNY0luZXJuZXkgPGlhbi5zLm1jaW5lcm5l eUBpZWVlLm9yZz4KK0RhdGU6IEZyaSwgOCBBcHIgMjAyMiAwMToyNzo1MiArMDEwMAorU3ViamVj dDogW1BBVENIXSBDYWxsIHRoZSBwcm9wZXIgd3hCaXRtYXAgY29uc3RydWN0b3IgZm9yIFhQTSBk YXRhCisKK3d4Qml0bWFwIGJhY2sgdG8gYXQgbGVhc3QgMy4wLjAgZGlkIG5vdCBoYXZlIGEgY29u c3RydWN0b3IgZm9yIGFuIFhQTQoraW1hZ2UgdGhhdCB0b29rIGEgc2l6ZSBwYXJhbWV0ZXIsIGl0 IHdvdWxkIG9ubHkgdGFrZSB0aGUgWFBNIGRhdGEKK2l0c2VsZi4KKworSSBkb24ndCBrbm93IGhv dyB0aGlzIGNvbXBpbGVkIHVudGlsIG5vdywgYnV0IGl0IGRvZXNuJ3QgYW55bW9yZSB3aGVuCit0 aGUgc2l6ZSBpcyBpbmNsdWRlZCBhbmQgYnVpbHQgYWdhaW5zdCB3eCAzLjEuNiBpbiBGZWRvcmEu CistLS0KKyBzcmMvTWl4ZXJCb2FyZC5jcHAgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5z ZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisgCisgVGVjaG5pY2FsbHkgdGhpcyBwYXRjaCBpcyB1 bmRlciBHUEx2MysgYmVjYXVzZSBpdCB3YXMgY29udHJpYnV0ZWQgYWZ0ZXIKKyByZSBsaWNlbnNp bmcKKworZGlmZiAtLWdpdCBhL3NyYy9NaXhlckJvYXJkLmNwcCBiL3NyYy9NaXhlckJvYXJkLmNw cAoraW5kZXggNTRiNWYxNDZjYzcuLjdmZTgxNjE1NDc0IDEwMDY0NAorLS0tIGEvc3JjL01peGVy Qm9hcmQuY3BwCisrKysgYi9zcmMvTWl4ZXJCb2FyZC5jcHAKK0BAIC0xMzA3LDcgKzEzMDcsNyBA QCB2b2lkIE1peGVyQm9hcmQ6OkxvYWRNdXNpY2FsSW5zdHJ1bWVudHMoKQorICAgIHd4TWVtb3J5 REMgZGM7CisgCisgICAgZm9yIChjb25zdCBhdXRvICZkYXRhIDogdGFibGUpIHsKKy0gICAgICBh dXRvIGJtcCA9IHN0ZDo6bWFrZV91bmlxdWU8d3hCaXRtYXA+KGRhdGEuYml0bWFwLDI0KTsKKysg ICAgICBhdXRvIGJtcCA9IHN0ZDo6bWFrZV91bmlxdWU8d3hCaXRtYXA+KGRhdGEuYml0bWFwKTsK KyAgICAgICBkYy5TZWxlY3RPYmplY3QoKmJtcCk7CisgICAgICAgQUNvbG9yOjpCZXZlbChkYywg ZmFsc2UsIGJldik7CisgICAgICAgbU11c2ljYWxJbnN0cnVtZW50cy5wdXNoX2JhY2soc3RkOjpt YWtlX3VuaXF1ZTxNdXNpY2FsSW5zdHJ1bWVudD4oCmRpZmYgLS1naXQgYS9zcmNwa2dzL2F1ZGFj aXR5L3RlbXBsYXRlIGIvc3JjcGtncy9hdWRhY2l0eS90ZW1wbGF0ZQppbmRleCAyOGU5YzRhMzUy OGYxLi42OTkyZmZhNzcxYjlhIDEwMDY0NAotLS0gYS9zcmNwa2dzL2F1ZGFjaXR5L3RlbXBsYXRl CisrKyBiL3NyY3BrZ3MvYXVkYWNpdHkvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBs YXRlIGZpbGUgZm9yICdhdWRhY2l0eScKIHBrZ25hbWU9YXVkYWNpdHkKIHZlcnNpb249Mi40LjEK LXJldmlzaW9uPTIKK3JldmlzaW9uPTMKIGJ1aWxkX3N0eWxlPWdudS1jb25maWd1cmUKIGNvbmZp Z3VyZV9hcmdzPSItLXdpdGgtZmZtcGVnPXN5c3RlbSAtLXdpdGgtbGlic25kZmlsZT1zeXN0ZW0g LS13aXRoLWV4cGF0PXN5c3RlbQogIC0td2l0aC1saWJzb3hyPXN5c3RlbSAtLXdpdGgtbGFtZT1z eXN0ZW0gLS13aXRoLWx2Mj1zeXN0ZW0gYWNfY3ZfcGF0aF9XWF9DT05GSUc9d3gtY29uZmlnLWd0 azMiCkBAIC0xMyw3ICsxMyw4IEBAIG1ha2VkZXBlbmRzPSJqYWNrLWRldmVsIHd4V2lkZ2V0cy1n dGszLWRldmVsIGd0ayszLWRldmVsCiBkZXBlbmRzPSJkZXNrdG9wLWZpbGUtdXRpbHMgaGljb2xv ci1pY29uLXRoZW1lIgogc2hvcnRfZGVzYz0iR3JhcGhpY2FsIGNyb3NzLXBsYXRmb3JtIGF1ZGlv IGVkaXRvciIKIG1haW50YWluZXI9Ik9ycGhhbmVkIDxvcnBoYW5Adm9pZGxpbnV4Lm9yZz4iCi1s aWNlbnNlPSJHUEwtMi4wLW9yLWxhdGVyIgorIyBQYXRjaGVzIGFyZSBHUEwzKywgc28gYnVtcCB0 aGUgbGljZW5zZSBmb3IgdGhlIHdob2xlIHBhY2thZ2UKK2xpY2Vuc2U9IkdQTC0zLjAtb3ItbGF0 ZXIiCiBob21lcGFnZT0iaHR0cHM6Ly93d3cuYXVkYWNpdHl0ZWFtLm9yZyIKIGRpc3RmaWxlcz0i aHR0cHM6Ly9naXRodWIuY29tL2F1ZGFjaXR5L2F1ZGFjaXR5L2FyY2hpdmUvQXVkYWNpdHktJHt2 ZXJzaW9ufS50YXIuZ3oiCiBjaGVja3N1bT01MDI0MGYwNzQ3MTM3M2E3ZTVjMmRmNjVjYzI2ZWVl YWFjZWQ5YTA4NTBhZDFmOTVjYjc5NWYxNzFlYTMwMDlmCgpGcm9tIDY2YzExYTg3NjBlOTBkMDdh NjM2N2JmYTQ0ZmRhY2ZiZWY4ZDBlMzAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ICJB bmRyZXcgSi4gSGVzZm9yZCIgPGFqaEBzaWRlYmFuZC5vcmc+CkRhdGU6IE1vbiwgMjUgU2VwIDIw MjMgMDA6MTg6MjAgLTA0MDAKU3ViamVjdDogW1BBVENIIDE4LzQzXSBib2luYzogcmVidWlsZCB3 aXRoIHd4V2lkZ2V0cy1ndGszLTMuMi4yLjEKCi0tLQogc3JjcGtncy9ib2luYy90ZW1wbGF0ZSB8 IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlm ZiAtLWdpdCBhL3NyY3BrZ3MvYm9pbmMvdGVtcGxhdGUgYi9zcmNwa2dzL2JvaW5jL3RlbXBsYXRl CmluZGV4IGVjZDJhMTEwMGIwMTUuLjY1YmJiZTc1NDBkNTAgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mv Ym9pbmMvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9ib2luYy90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcg QEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2JvaW5jJwogcGtnbmFtZT1ib2luYwogdmVyc2lvbj03 LjIyLjAKLXJldmlzaW9uPTIKK3JldmlzaW9uPTMKIF9tYWpvcnZlcj0ke3ZlcnNpb24lLip9CiBi dWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCiBob3N0bWFrZWRlcGVuZHM9ImF1dG9tYWtlIGxpYnRv b2wgcGtnLWNvbmZpZyB4b3JncHJvdG8gc2hhcmVkLW1pbWUtaW5mbyIKCkZyb20gMGI3MzE2YmQ3 NDNmMjYzYWM0OTcxMzAwNTQ4NzVlN2VmNTdlMzY0OCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogIkFuZHJldyBKLiBIZXNmb3JkIiA8YWpoQHNpZGViYW5kLm9yZz4KRGF0ZTogTW9uLCAy NSBTZXAgMjAyMyAwMDoxODoyMCAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMTkvNDNdIGNvZGVibG9j a3M6IHJlYnVpbGQgd2l0aCB3eFdpZGdldHMtZ3RrMy0zLjIuMi4xCgotLS0KIHNyY3BrZ3MvY29k ZWJsb2Nrcy9wYXRjaGVzLzAwMC5yMTE5OTEucGF0Y2ggICB8ICAyNyArCiAuLi4wLnYyMC4wMy1y MTIwMDgucGF0Y2ggPT4gMDAwLnIxMjAwOC5wYXRjaH0gfCAgIDAKIC4uLjEudjIwLjAzLXIxMjAx Mi5wYXRjaCA9PiAwMDAucjEyMDEyLnBhdGNofSB8ICAgMAogc3JjcGtncy9jb2RlYmxvY2tzL3Bh dGNoZXMvMDAwLnIxMjUzMi5wYXRjaCAgIHwgIDEzICsKIHNyY3BrZ3MvY29kZWJsb2Nrcy9wYXRj aGVzLzAwMC5yMTI1ODAucGF0Y2ggICB8IDk0NCArKysrKysrKysrKysrKysrKysKIHNyY3BrZ3Mv Y29kZWJsb2Nrcy9wYXRjaGVzLzAwMC5yMTI3MDcucGF0Y2ggICB8IDEyMCArKysKIHNyY3BrZ3Mv Y29kZWJsb2Nrcy9wYXRjaGVzL3d4LTMuMi5wYXRjaCAgICAgICB8ICAyMSArCiBzcmNwa2dzL2Nv ZGVibG9ja3MvdGVtcGxhdGUgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIDggZmlsZXMgY2hh bmdlZCwgMTEyNiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiBjcmVhdGUgbW9kZSAxMDA2 NDQgc3JjcGtncy9jb2RlYmxvY2tzL3BhdGNoZXMvMDAwLnIxMTk5MS5wYXRjaAogcmVuYW1lIHNy Y3BrZ3MvY29kZWJsb2Nrcy9wYXRjaGVzL3swMDAudjIwLjAzLXIxMjAwOC5wYXRjaCA9PiAwMDAu cjEyMDA4LnBhdGNofSAoMTAwJSkKIHJlbmFtZSBzcmNwa2dzL2NvZGVibG9ja3MvcGF0Y2hlcy97 MDAxLnYyMC4wMy1yMTIwMTIucGF0Y2ggPT4gMDAwLnIxMjAxMi5wYXRjaH0gKDEwMCUpCiBjcmVh dGUgbW9kZSAxMDA2NDQgc3JjcGtncy9jb2RlYmxvY2tzL3BhdGNoZXMvMDAwLnIxMjUzMi5wYXRj aAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY29kZWJsb2Nrcy9wYXRjaGVzLzAwMC5yMTI1 ODAucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2NvZGVibG9ja3MvcGF0Y2hlcy8w MDAucjEyNzA3LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9jb2RlYmxvY2tzL3Bh dGNoZXMvd3gtMy4yLnBhdGNoCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jb2RlYmxvY2tzL3BhdGNo ZXMvMDAwLnIxMTk5MS5wYXRjaCBiL3NyY3BrZ3MvY29kZWJsb2Nrcy9wYXRjaGVzLzAwMC5yMTE5 OTEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMC4uMGNkYjcy NTFmZGNlZAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvY29kZWJsb2Nrcy9wYXRjaGVzLzAw MC5yMTE5OTEucGF0Y2gKQEAgLTAsMCArMSwyNyBAQAorSW5kZXg6IHNyYy9zcmMvbWFpbi5jcHAK Kz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KKy0tLSBhL3NyYy9zcmMvbWFpbi5jcHAJKHJldmlzaW9uIDExOTkwKQorKysr IGIvc3JjL3NyYy9tYWluLmNwcAkocmV2aXNpb24gMTE5OTEpCitAQCAtMjY4MCw4ICsyNjgwLDYg QEAKKyAgICAgZWxzZQorICAgICB7CisgICAgICAgICB3eEJ1c3lDdXJzb3IgdXNlbGVzczsKKy0g ICAgICAgIHd4UGFpbnRFdmVudCBlOworLSAgICAgICAgUHJvY2Vzc0V2ZW50KGUpOworICAgICAg ICAgZm9yICh1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCBmaWxlcy5HZXRDb3VudCgpOyArK2kpCisg ICAgICAgICAgIHN1Y2Nlc3MgJj0gT3BlbkdlbmVyaWMoZmlsZXNbaV0pOworICAgICB9CitJbmRl eDogc3JjL3NyYy93YXRjaGVzZGxnLmNwcAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGEvc3JjL3NyYy93YXRj aGVzZGxnLmNwcAkocmV2aXNpb24gMTE5OTApCisrKysgYi9zcmMvc3JjL3dhdGNoZXNkbGcuY3Bw CShyZXZpc2lvbiAxMTk5MSkKK0BAIC0xMDMsOCArMTAzLDcgQEAKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgY2JfdW51c2VkIGNvbnN0IHd4UG9pbnQmIHBvcywKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY2JfdW51c2VkIGNvbnN0IHd4U2l6ZSYgc3opIGNv bnN0IG92ZXJyaWRlCisgICAgIHsKKy0gICAgICAgIHd4UEdXaW5kb3dMaXN0IGNvbnN0IGxpc3Q7 CistICAgICAgICByZXR1cm4gbGlzdDsKKysgICAgICAgIHJldHVybiB3eFBHV2luZG93TGlzdChu dWxscHRyLCBudWxscHRyKTsKKyAgICAgfQorICAgICB2b2lkIFVwZGF0ZUNvbnRyb2woY2JfdW51 c2VkIHd4UEdQcm9wZXJ0eSogcHJvcGVydHksIGNiX3VudXNlZCB3eFdpbmRvdyogY3RybCkgY29u c3Qgb3ZlcnJpZGUge30KKyAgICAgYm9vbCBPbkV2ZW50KGNiX3VudXNlZCB3eFByb3BlcnR5R3Jp ZCogcHJvcGdyaWQsIGNiX3VudXNlZCB3eFBHUHJvcGVydHkqIHByb3BlcnR5LApkaWZmIC0tZ2l0 IGEvc3JjcGtncy9jb2RlYmxvY2tzL3BhdGNoZXMvMDAwLnYyMC4wMy1yMTIwMDgucGF0Y2ggYi9z cmNwa2dzL2NvZGVibG9ja3MvcGF0Y2hlcy8wMDAucjEyMDA4LnBhdGNoCnNpbWlsYXJpdHkgaW5k ZXggMTAwJQpyZW5hbWUgZnJvbSBzcmNwa2dzL2NvZGVibG9ja3MvcGF0Y2hlcy8wMDAudjIwLjAz LXIxMjAwOC5wYXRjaApyZW5hbWUgdG8gc3JjcGtncy9jb2RlYmxvY2tzL3BhdGNoZXMvMDAwLnIx MjAwOC5wYXRjaApkaWZmIC0tZ2l0IGEvc3JjcGtncy9jb2RlYmxvY2tzL3BhdGNoZXMvMDAxLnYy MC4wMy1yMTIwMTIucGF0Y2ggYi9zcmNwa2dzL2NvZGVibG9ja3MvcGF0Y2hlcy8wMDAucjEyMDEy LnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBzcmNwa2dzL2NvZGVibG9j a3MvcGF0Y2hlcy8wMDEudjIwLjAzLXIxMjAxMi5wYXRjaApyZW5hbWUgdG8gc3JjcGtncy9jb2Rl YmxvY2tzL3BhdGNoZXMvMDAwLnIxMjAxMi5wYXRjaApkaWZmIC0tZ2l0IGEvc3JjcGtncy9jb2Rl YmxvY2tzL3BhdGNoZXMvMDAwLnIxMjUzMi5wYXRjaCBiL3NyY3BrZ3MvY29kZWJsb2Nrcy9wYXRj aGVzLzAwMC5yMTI1MzIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw MDAwMC4uMTVhMmZmZjI4ZTJlNwotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvY29kZWJsb2Nr cy9wYXRjaGVzLzAwMC5yMTI1MzIucGF0Y2gKQEAgLTAsMCArMSwxMyBAQAorSW5kZXg6IHNyYy9p bmNsdWRlL2NjbWFuYWdlci5oCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gYS9zcmMvaW5jbHVkZS9jY21hbmFn ZXIuaAkocmV2aXNpb24gMTI1MzEpCisrKysgYi9zcmMvaW5jbHVkZS9jY21hbmFnZXIuaAkocmV2 aXNpb24gMTI1MzIpCitAQCAtNDQsNyArNDQsNyBAQAorICAqIGxpc3Qgb3IgdGhlIGRveHlnZW4g cG9wdXAsIHRoZSBzY3JvbGwgZXZlbnQgaXMgaW5zdGVhZCBzZW50IHRoZXJlIChhbmQgc2tpcHBl ZCBmb3IgdGhlIGVkaXRvcgorICAqIHdpbmRvdykuCisgICovCistY2xhc3MgRExMSU1QT1JUIEND TWFuYWdlciA6IHB1YmxpYyBNZ3I8Q0NNYW5hZ2VyPiwgd3hFdnRIYW5kbGVyCisrY2xhc3MgRExM SU1QT1JUIENDTWFuYWdlciA6IHB1YmxpYyBNZ3I8Q0NNYW5hZ2VyPiwgcHVibGljIHd4RXZ0SGFu ZGxlcgorIHsKKyAgICAgcHVibGljOgorICAgICAgICAgZnJpZW5kIGNsYXNzIE1ncjxDQ01hbmFn ZXI+OwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jb2RlYmxvY2tzL3BhdGNoZXMvMDAwLnIxMjU4MC5w YXRjaCBiL3NyY3BrZ3MvY29kZWJsb2Nrcy9wYXRjaGVzLzAwMC5yMTI1ODAucGF0Y2gKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMC4uNzkzMGM1YzU2NzdiMgotLS0gL2Rl di9udWxsCisrKyBiL3NyY3BrZ3MvY29kZWJsb2Nrcy9wYXRjaGVzLzAwMC5yMTI1ODAucGF0Y2gK QEAgLTAsMCArMSw5NDQgQEAKK0luZGV4OiBzcmMvc3JjL25vdGVib29rc3R5bGVzLmgKKz09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KKy0tLSBhL3NyYy9zcmMvbm90ZWJvb2tzdHlsZXMuaAkocmV2aXNpb24gMTI1NzkpCisr KysgYi9zcmMvc3JjL25vdGVib29rc3R5bGVzLmgJKHJldmlzaW9uIDEyNTgwKQorQEAgLTgsMTQg KzgsNiBAQAorIAorICNpbmNsdWRlICJjYmF1aWJvb2suaCIKKyAKKy0jaWYgZGVmaW5lZChfX1dY R1RLX18pICYmIChVU0VfR1RLX05PVEVCT09LKSAmJiAhd3hDSEVDS19WRVJTSU9OKDMsIDAsIDAp CistICAgICNkZWZpbmUgR1NvY2tldCBHTGliU29ja2V0CistICAgICNpbmNsdWRlIDxndGsvZ3Rr Lmg+CistICAgICN1bmRlZiBHU29ja2V0CistICAgICNpbmNsdWRlIDx3eC9hcnRwcm92Lmg+Cist I2VuZGlmCistCistCisgY2xhc3Mgd3hEQzsKKyBjbGFzcyB3eFdpbmRvdzsKKyBjbGFzcyB3eFJl Y3Q7CitAQCAtNTMsMzUgKzQ1LDQgQEAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u c3Qgd3hTaXplJiByZXF1aXJlZF9ibXBfc2l6ZSkgb3ZlcnJpZGU7CisgfTsKKyAKKy0jaWYgZGVm aW5lZChfX1dYR1RLX18pICYmIChVU0VfR1RLX05PVEVCT09LKSAmJiAhd3hDSEVDS19WRVJTSU9O KDMsIDAsIDApCistY2xhc3MgTmJTdHlsZUdUSyA6IHB1YmxpYyB3eEF1aURlZmF1bHRUYWJBcnQK Ky17CistcHVibGljOgorLSAgICBOYlN0eWxlR1RLKCk7CistCistICAgIHZpcnR1YWwgd3hBdWlU YWJBcnQqIENsb25lKCk7CistICAgIHZpcnR1YWwgdm9pZCBEcmF3QmFja2dyb3VuZCh3eERDJiBk Yywgd3hXaW5kb3cqIHduZCwgY29uc3Qgd3hSZWN0JiByZWN0KTsKKy0gICAgdmlydHVhbCB2b2lk IERyYXdUYWIod3hEQyYgZGMsCistICAgICAgICAgICAgICAgICAgICAgICAgIHd4V2luZG93KiB3 bmQsCistICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHd4QXVpTm90ZWJvb2tQYWdlJiBw YWdlLAorLSAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB3eFJlY3QmIGluX3JlY3QsCist ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBjbG9zZV9idXR0b25fc3RhdGUsCistICAgICAg ICAgICAgICAgICAgICAgICAgIHd4UmVjdCogb3V0X3RhYl9yZWN0LAorLSAgICAgICAgICAgICAg ICAgICAgICAgICB3eFJlY3QqIG91dF9idXR0b25fcmVjdCwKKy0gICAgICAgICAgICAgICAgICAg ICAgICAgaW50KiB4X2V4dGVudCk7CistICAgIHZvaWQgRHJhd0J1dHRvbih3eERDJiBkYywgd3hX aW5kb3cqIHduZCwgY29uc3Qgd3hSZWN0JiBpbl9yZWN0LCBpbnQgYml0bWFwX2lkLAorLSAgICAg ICAgICAgICAgICAgICAgaW50IGJ1dHRvbl9zdGF0ZSwgaW50IG9yaWVudGF0aW9uLCB3eFJlY3Qq IG91dF9yZWN0KTsKKy0gICAgaW50IEdldEJlc3RUYWJDdHJsU2l6ZSh3eFdpbmRvdyogd25kLCBj b25zdCB3eEF1aU5vdGVib29rUGFnZUFycmF5JiBwYWdlcywKKy0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgY29uc3Qgd3hTaXplJiByZXF1aXJlZF9ibXBfc2l6ZSk7CistICAgIHZpcnR1YWwg d3hTaXplIEdldFRhYlNpemUod3hEQyYgZGMsIHd4V2luZG93KiB3bmQsIGNvbnN0IHd4U3RyaW5n JiBjYXB0aW9uLCBjb25zdCB3eEJpdG1hcCYgYml0bWFwLCBib29sIGFjdGl2ZSwKKy0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBpbnQgY2xvc2VfYnV0dG9uX3N0YXRlLCBpbnQqIHhfZXh0 ZW50KTsKKy1wcml2YXRlOgorLSAgICBpbnQgbV9YdGhpY2tuZXNzOworLSAgICBpbnQgbV9ZdGhp Y2tuZXNzOworLSAgICBpbnQgbV9UYWJIQm9yZGVyOworLSAgICBpbnQgbV9UYWJWQm9yZGVyOwor LSAgICB3eEJpdG1hcCBtX0FjdGl2ZUNsb3NlQnV0dG9uOworLX07CistI2VuZGlmIC8vICNpZiBk ZWZpbmVkKF9fV1hHVEtfXykgJiYgKFVTRV9HVEtfTk9URUJPT0spICYmICF3eENIRUNLX1ZFUlNJ T04oMywgMCwgMCkKKy0KKyAjZW5kaWYgLy8gTk9URUJPT0tTVFlMRVNfSAorSW5kZXg6IHNyYy9w bHVnaW5zL2NvbXBpbGVyZ2NjL2NvbXBpbGVyb3B0aW9uc2RsZy5jcHAKKz09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0t LSBhL3NyYy9wbHVnaW5zL2NvbXBpbGVyZ2NjL2NvbXBpbGVyb3B0aW9uc2RsZy5jcHAJKHJldmlz aW9uIDEyNTc5KQorKysrIGIvc3JjL3BsdWdpbnMvY29tcGlsZXJnY2MvY29tcGlsZXJvcHRpb25z ZGxnLmNwcAkocmV2aXNpb24gMTI1ODApCitAQCAtNjc3LDEzICs2NzcsOSBAQAorICAgICB3eFBH UHJvcGVydHkgKnJvb3QgPSBtX0ZsYWdzUEctPkdldFJvb3QoKTsKKyAgICAgaWYgKHJvb3QpCisg ICAgIHsKKy0gICAgICAgIHVuc2lnbmVkIGNvdW50ID0gcm9vdC0+R2V0Q2hpbGRDb3VudCgpOwor KyAgICAgICAgY29uc3QgdW5zaWduZWQgY291bnQgPSByb290LT5HZXRDaGlsZENvdW50KCk7Cisg ICAgICAgICBmb3IgKHVuc2lnbmVkIGlpID0gMDsgaWkgPCBjb3VudDsgKytpaSkKKy0jaWYgd3hD SEVDS19WRVJTSU9OKDMsIDAsIDApCisgICAgICAgICAgICAgbV9GbGFnc1BHLT5Tb3J0Q2hpbGRy ZW4ocm9vdC0+SXRlbShpaSksIHd4UEdfUkVDVVJTRSk7CistI2Vsc2UKKy0gICAgICAgICAgICBt X0ZsYWdzUEctPlNvcnQocm9vdC0+SXRlbShpaSkpOworLSNlbmRpZgorICAgICB9CisgICAgIG1f RmxhZ3NQRy0+VGhhdygpOworIH0gLy8gRG9GaWxsT3B0aW9ucworQEAgLTIxMTgsMTEgKzIxMTQs NyBAQAorICAgICBDb21waWxlckZhY3Rvcnk6OlNldERlZmF1bHRDb21waWxlcihpZHgpOworICAg ICB3eFN0cmluZyBtc2c7CisgICAgIENvbXBpbGVyKiBjb21waWxlciA9IENvbXBpbGVyRmFjdG9y eTo6R2V0RGVmYXVsdENvbXBpbGVyKCk7CistICAgICNpZiB3eENIRUNLX1ZFUlNJT04oMywgMCwg MCkKKy0gICAgbXNnLlByaW50ZihfKCIlcyBpcyBub3cgc2VsZWN0ZWQgYXMgdGhlIGRlZmF1bHQg Y29tcGlsZXIgZm9yIG5ldyBwcm9qZWN0cyIpLCBjb21waWxlciA/IGNvbXBpbGVyLT5HZXROYW1l KCkud3hfc3RyKCkgOiBfKCJbaW52YWxpZF0iKS53eF9zdHIoKSk7CistICAgICNlbHNlCistICAg IG1zZy5QcmludGYoXygiJXMgaXMgbm93IHNlbGVjdGVkIGFzIHRoZSBkZWZhdWx0IGNvbXBpbGVy IGZvciBuZXcgcHJvamVjdHMiKSwgY29tcGlsZXIgPyBjb21waWxlci0+R2V0TmFtZSgpLmNfc3Ry KCkgOiBfKCJbaW52YWxpZF0iKSk7CistICAgICNlbmRpZgorKyAgICBtc2cuUHJpbnRmKF8oIiVz IGlzIG5vdyBzZWxlY3RlZCBhcyB0aGUgZGVmYXVsdCBjb21waWxlciBmb3IgbmV3IHByb2plY3Rz IiksIGNvbXBpbGVyID8gY29tcGlsZXItPkdldE5hbWUoKSA6IF8oIltpbnZhbGlkXSIpKTsKKyAg ICAgY2JNZXNzYWdlQm94KG1zZyk7CisgfSAvLyBPblNldERlZmF1bHRDb21waWxlckNsaWNrCisg CitJbmRleDogc3JjL3Nkay90ZW1wbGF0ZW1hbmFnZXIuY3BwCis9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gYS9z cmMvc2RrL3RlbXBsYXRlbWFuYWdlci5jcHAJKHJldmlzaW9uIDEyNTc5KQorKysrIGIvc3JjL3Nk ay90ZW1wbGF0ZW1hbmFnZXIuY3BwCShyZXZpc2lvbiAxMjU4MCkKK0BAIC0xODYsMTEgKzE4Niw3 IEBACisgICAgICAgICAgICAgKytjb3VudDsKKyAgICAgICAgIH0KKyAgICAgICAgIGVsc2UKKy0g ICAgICAgICAgICAjaWYgd3hDSEVDS19WRVJTSU9OKDMsIDAsIDApCisgICAgICAgICAgICAgTWFu YWdlcjo6R2V0KCktPkdldExvZ01hbmFnZXIoKS0+RGVidWdMb2coRihfVCgiRmFpbGVkIGNvcHlp bmcgJXMgdG8gJXMiKSwgc3JjLnd4X3N0cigpLCBkc3Qud3hfc3RyKCkpKTsKKy0gICAgICAgICAg ICAjZWxzZQorLSAgICAgICAgICAgIE1hbmFnZXI6OkdldCgpLT5HZXRMb2dNYW5hZ2VyKCktPkRl YnVnTG9nKEYoX1QoIkZhaWxlZCBjb3B5aW5nICVzIHRvICVzIiksIHNyYy5jX3N0cigpLCBkc3Qu Y19zdHIoKSkpOworLSAgICAgICAgICAgICNlbmRpZgorICAgICB9CisgICAgIGlmIChjb3VudCAh PSB0b3RhbF9jb3VudCkKKyAgICAgICAgIGNiTWVzc2FnZUJveChfKCJTb21lIGZpbGVzIGNvdWxk IG5vdCBiZSBsb2FkZWQgd2l0aCB0aGUgdGVtcGxhdGUuLi4iKSwgXygiRXJyb3IiKSwgd3hJQ09O X0VSUk9SKTsKK0BAIC0zMDMsMjEgKzI5OSwxMyBAQAorICAgICB7CisgICAgICAgICB3eFN0cmlu ZyBzcmMgPSAoKml0KS0+ZmlsZS5HZXRGdWxsUGF0aCgpOworICAgICAgICAgd3hTdHJpbmcgZHN0 ID0gdGVtcGwgKyAoKml0KS0+cmVsYXRpdmVUb0NvbW1vblRvcExldmVsUGF0aDsKKy0gICAgICAg ICNpZiB3eENIRUNLX1ZFUlNJT04oMywgMCwgMCkKKyAgICAgICAgIE1hbmFnZXI6OkdldCgpLT5H ZXRMb2dNYW5hZ2VyKCktPkRlYnVnTG9nKEYoX1QoIkNvcHlpbmcgJXMgdG8gJXMiKSwgc3JjLnd4 X3N0cigpLCBkc3Qud3hfc3RyKCkpKTsKKy0gICAgICAgICNlbHNlCistICAgICAgICBNYW5hZ2Vy OjpHZXQoKS0+R2V0TG9nTWFuYWdlcigpLT5EZWJ1Z0xvZyhGKF9UKCJDb3B5aW5nICVzIHRvICVz IiksIHNyYy5jX3N0cigpLCBkc3QuY19zdHIoKSkpOworLSAgICAgICAgI2VuZGlmCisgICAgICAg ICBpZiAoIUNyZWF0ZURpclJlY3Vyc2l2ZWx5KGRzdCkpCisgICAgICAgICAgICAgTWFuYWdlcjo6 R2V0KCktPkdldExvZ01hbmFnZXIoKS0+RGVidWdMb2coX1QoIkZhaWxlZCBjcmVhdGluZyBkaXJl Y3RvcnkgZm9yICIpICsgZHN0KTsKKyAgICAgICAgIGlmICh3eENvcHlGaWxlKHNyYywgZHN0LCB0 cnVlKSkKKyAgICAgICAgICAgICArK2NvdW50OworICAgICAgICAgZWxzZQorLSAgICAgICAgICAg ICNpZiB3eENIRUNLX1ZFUlNJT04oMywgMCwgMCkKKyAgICAgICAgICAgICBNYW5hZ2VyOjpHZXQo KS0+R2V0TG9nTWFuYWdlcigpLT5EZWJ1Z0xvZyhGKF9UKCJGYWlsZWQgY29weWluZyAlcyB0byAl cyIpLCBzcmMud3hfc3RyKCksIGRzdC53eF9zdHIoKSkpOworLSAgICAgICAgICAgICNlbHNlCist ICAgICAgICAgICAgTWFuYWdlcjo6R2V0KCktPkdldExvZ01hbmFnZXIoKS0+RGVidWdMb2coRihf VCgiRmFpbGVkIGNvcHlpbmcgJXMgdG8gJXMiKSwgc3JjLmNfc3RyKCksIGRzdC5jX3N0cigpKSk7 CistICAgICAgICAgICAgI2VuZGlmCisgICAgIH0KKyAKKyAgICAgLy8gY2JQcm9qZWN0IGRvZXNu J3QgaGF2ZSBhIEdldFJlbGF0aXZlVG9Db21tb25Ub3BMZXZlbFBhdGgoKSBmdW5jdGlvbiwgc28g d2Ugc2ltdWxhdGUgaXQgaGVyZQorSW5kZXg6IHNyYy9zcmMvYXNzb2NpYXRpb25zLmNwcAorPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQorLS0tIGEvc3JjL3NyYy9hc3NvY2lhdGlvbnMuY3BwCShyZXZpc2lvbiAxMjU3OSkK KysrKyBiL3NyYy9zcmMvYXNzb2NpYXRpb25zLmNwcAkocmV2aXNpb24gMTI1ODApCitAQCAtMjAx LDExICsyMDEsNyBAQAorICAgICBpZiAoa2V5LkV4aXN0cygpKQorICAgICB7CisgICAgICAgICB3 eFN0cmluZyBzOworLSAgICAgICAgI2lmIHd4Q0hFQ0tfVkVSU0lPTigzLCAwLCAwKQorICAgICAg ICAgaWYgKGtleS5RdWVyeVZhbHVlKHd4RW1wdHlTdHJpbmcsIHMpICYmIHMuU3RhcnRzV2l0aChf VCgiQ29kZUJsb2NrcyIpKSkKKy0gICAgICAgICNlbHNlCistICAgICAgICBpZiAoa2V5LlF1ZXJ5 VmFsdWUoTlVMTCwgcykgJiYgcy5TdGFydHNXaXRoKF9UKCJDb2RlQmxvY2tzIikpKQorLSAgICAg ICAgI2VuZGlmCisgICAgICAgICAgICAga2V5LkRlbGV0ZVNlbGYoKTsKKyAgICAgfQorIAorSW5k ZXg6IHNyYy9zcmMvZGxnYWJvdXQuY3BwCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gYS9zcmMvc3JjL2RsZ2Fi b3V0LmNwcAkocmV2aXNpb24gMTI1NzkpCisrKysgYi9zcmMvc3JjL2RsZ2Fib3V0LmNwcAkocmV2 aXNpb24gMTI1ODApCitAQCAtMjAsOSArMjAsNyBAQAorICAgICAjaW5jbHVkZSA8d3gvc3RyaW5n Lmg+CisgICAgICNpbmNsdWRlIDx3eC90ZXh0Y3RybC5oPgorICAgICAjaW5jbHVkZSA8d3gveHJj L3htbHJlcy5oPgorLSAgICAjaWYgd3hDSEVDS19WRVJTSU9OKDMsIDAsIDApCistICAgICAgICAj aW5jbHVkZSA8d3gvdmVyc2lvbmluZm8uaD4KKy0gICAgI2VuZGlmIC8vIHd4Q0hFQ0tfVkVSU0lP TgorKyAgICAjaW5jbHVkZSA8d3gvdmVyc2lvbmluZm8uaD4KKyAKKyAgICAgI2luY2x1ZGUgImxp Y2Vuc2VzLmgiCisgICAgICNpbmNsdWRlICJjb25maWdtYW5hZ2VyLmgiCitAQCAtMTQ2LDE1ICsx NDQsMTEgQEAKKyAgICAgd3hUZXh0Q3RybCAqdHh0TGljZW5zZSA9IFhSQ0NUUkwoKnRoaXMsICJ0 eHRMaWNlbnNlIiwgd3hUZXh0Q3RybCk7CisgICAgIHR4dExpY2Vuc2UtPlNldFZhbHVlKExJQ0VO U0VfR1BMKTsKKyAKKy0jaWYgd3hDSEVDS19WRVJTSU9OKDMsIDAsIDApCisgICAgIGNvbnN0IHd4 VmVyc2lvbkluZm8gc2NpbnRpbGxhVmVyc2lvbiA9IHd4U2NpbnRpbGxhOjpHZXRMaWJyYXJ5VmVy c2lvbkluZm8oKTsKKyAgICAgY29uc3Qgd3hTdHJpbmcgc2NpbnRpbGxhU3RyID0gd3hTdHJpbmc6 OkZvcm1hdCh3eFQoIiVkLiVkLiVkIiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc2NpbnRpbGxhVmVyc2lvbi5HZXRNYWpvcigpLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjaW50aWxsYVZl cnNpb24uR2V0TWlub3IoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzY2ludGlsbGFWZXJzaW9uLkdldE1pY3JvKCkpOworLSNlbHNlCistICAg IGNvbnN0IHd4U3RyaW5nIHNjaW50aWxsYVN0ciA9IHd4U0NJTlRJTExBX1ZFUlNJT047CistI2Vu ZGlmIC8vIHd4Q0hFQ0tfVkVSU0lPTgorIAorICAgICBzdHJ1Y3QgSXRlbQorICAgICB7CitAQCAt MjE4LDkgKzIxMiw3IEBACisgICAgICAgICBpbmZvcm1hdGlvbiArPSB3eFQoIjogIikgKyBpdGVt LnZhbHVlICsgd3hUKCJcbiIpOworICAgICB9CisgCistI2lmIHd4Q0hFQ0tfVkVSU0lPTigzLCAw LCAwKQorICAgICBpbmZvcm1hdGlvbiArPSB3eFQoIlxuIikgKyB3eEdldExpYnJhcnlWZXJzaW9u SW5mbygpLkdldERlc2NyaXB0aW9uKCk7CistI2VuZGlmIC8vIHd4Q0hFQ0tfVkVSU0lPTigzLCAw LCAwKQorIAorICAgICB3eFRleHRDdHJsICp0eHRJbmZvcm1hdGlvbiA9IFhSQ0NUUkwoKnRoaXMs ICJ0eHRJbmZvcm1hdGlvbiIsIHd4VGV4dEN0cmwpOworICAgICB0eHRJbmZvcm1hdGlvbi0+U2V0 VmFsdWUoaW5mb3JtYXRpb24pOworSW5kZXg6IHNyYy9zcmMvbWFpbi5jcHAKKz09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K Ky0tLSBhL3NyYy9zcmMvbWFpbi5jcHAJKHJldmlzaW9uIDEyNTc5KQorKysrIGIvc3JjL3NyYy9t YWluLmNwcAkocmV2aXNpb24gMTI1ODApCitAQCAtMjA3NSwxMSArMjA3NSw3IEBACisgICAgICAg ICB7CisgICAgICAgICAgICAgaWYgKCFpdGVtc1tpXS0+SXNDaGVja2FibGUoKSkKKyAgICAgICAg ICAgICAgICAgY29udGludWU7CistI2lmIHd4Q0hFQ0tfVkVSU0lPTigzLCAwLCAwKQorICAgICAg ICAgICAgIGl0ZW1zW2ldLT5DaGVjayhpdGVtc1tpXS0+R2V0SXRlbUxhYmVsKCkuSXNTYW1lQXMo bmFtZSkpOworLSNlbHNlCistICAgICAgICAgICAgaXRlbXNbaV0tPkNoZWNrKGl0ZW1zW2ldLT5H ZXRUZXh0KCkuSXNTYW1lQXMobmFtZSkpOworLSNlbmRpZgorICAgICAgICAgfQorIAorICAgICAg ICAgaWYgKCFtX0xhc3RMYXlvdXRJc1RlbXApCitAQCAtMjQwMSwxMiArMjM5Nyw3IEBACisgICAg ICAgICAgICAgYnJlYWs7CisgCisgICAgICAgICBkZWZhdWx0OiAvLyBkZWZhdWx0IHN0eWxlCist ICAgICAgICAgICAgI2lmIGRlZmluZWQoX19XWEdUS19fKSAmJiAoVVNFX0dUS19OT1RFQk9PSykg JiYgIXd4Q0hFQ0tfVkVSU0lPTigzLCAwLCAwKQorLSAgICAgICAgICAgIHRhcmdldC0+U2V0QXJ0 UHJvdmlkZXIobmV3IE5iU3R5bGVHVEsoKSk7CistICAgICAgICAgICAgI2Vsc2UKKyAgICAgICAg ICAgICB0YXJnZXQtPlNldEFydFByb3ZpZGVyKG5ldyB3eEF1aURlZmF1bHRUYWJBcnQoKSk7Cist ICAgICAgICAgICAgI2VuZGlmCistICAgICAgICAgICAgYnJlYWs7CisgICAgIH0KKyAKKyAgICAg dGFyZ2V0LT5TZXRUYWJDdHJsSGVpZ2h0KC0xKTsKK0BAIC00ODAxLDEzICs0NzkyLDkgQEAKKyAK KyAgICAgaWYgKE1hbmFnZXI6OkdldCgpLT5HZXRFZGl0b3JNYW5hZ2VyKCkgJiYgZXZlbnQuR2V0 RWRpdG9yKCkgPT0gTWFuYWdlcjo6R2V0KCktPkdldEVkaXRvck1hbmFnZXIoKS0+R2V0QWN0aXZl RWRpdG9yKCkpCisgICAgIHsKKy0jaWYgd3hDSEVDS19WRVJTSU9OKDMsIDAsIDApCisgICAgICAg ICAvLyBFeGVjdXRlIHRoZSBjb2RlIHRvIHVwZGF0ZSB0aGUgc3RhdHVzIGJhciBvdXRzaWRlIG9m IHRoZSBwYWludCBldmVudCBmb3Igc2NpbnRpbGxhLgorICAgICAgICAgLy8gRXhlY3V0aW5nIHRo aXMgZnVuY3Rpb24gZGlyZWN0bHkgaW4gdGhlIGV2ZW50IGhhbmRsZXIgY2F1c2VzIHJlZHJhdyBw cm9ibGVtcyBvbiBXaW5kb3dzLgorICAgICAgICAgQ2FsbEFmdGVyKCZNYWluRnJhbWU6OkRvVXBk YXRlU3RhdHVzQmFyKTsKKy0jZWxzZQorLSAgICAgICAgRG9VcGRhdGVTdGF0dXNCYXIoKTsKKy0j ZW5kaWYgLy8gZGVmaW5lZChfX3d4TVNXX18pICYmIHd4Q0hFQ0tfVkVSU0lPTigzLCAwLCAwKQor ICAgICB9CisgCisgICAgIGV2ZW50LlNraXAoKTsKK0luZGV4OiBzcmMvc3JjL25vdGVib29rc3R5 bGVzLmNwcAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQorLS0tIGEvc3JjL3NyYy9ub3RlYm9va3N0eWxlcy5jcHAJKHJl dmlzaW9uIDEyNTc5KQorKysrIGIvc3JjL3NyYy9ub3RlYm9va3N0eWxlcy5jcHAJKHJldmlzaW9u IDEyNTgwKQorQEAgLTEzLDE0ICsxMyw2IEBACisgI2luY2x1ZGUgInByZXAuaCIKKyAjaW5jbHVk ZSAibm90ZWJvb2tzdHlsZXMuaCIKKyAKKy0jaWYgZGVmaW5lZChfX1dYR1RLX18pICYmIChVU0Vf R1RLX05PVEVCT09LKSAmJiAhd3hDSEVDS19WRVJTSU9OKDMsIDAsIDApCistICAgICNkZWZpbmUg R1NvY2tldCBHTGliU29ja2V0CistICAgICNpbmNsdWRlIDxndGsvZ3RrLmg+CistICAgICN1bmRl ZiBHU29ja2V0CistICAgICNpbmNsdWRlIDx3eC9hcnRwcm92Lmg+CistICAgICNpbmNsdWRlIDx3 eC9yZW5kZXJlci5oPgorLSNlbmRpZgorLQorICNpbmNsdWRlIDx3eC9kYy5oPgorICNpbmNsdWRl IDx3eC9kY2NsaWVudC5oPgorIAorQEAgLTQyLDE1ICszNCw5IEBACisgeworICAgICBOYlN0eWxl VkM3MSogY2xvbmUgPSBuZXcgTmJTdHlsZVZDNzEoKTsKKyAKKy0jaWYgd3hDSEVDS19WRVJTSU9O KDMsIDAsIDApCisgICAgIGNsb25lLT5TZXROb3JtYWxGb250KG1fbm9ybWFsRm9udCk7CisgICAg IGNsb25lLT5TZXRTZWxlY3RlZEZvbnQobV9zZWxlY3RlZEZvbnQpOworICAgICBjbG9uZS0+U2V0 TWVhc3VyaW5nRm9udChtX21lYXN1cmluZ0ZvbnQpOworLSNlbHNlCistICAgIGNsb25lLT5TZXRO b3JtYWxGb250KG1fbm9ybWFsX2ZvbnQpOworLSAgICBjbG9uZS0+U2V0U2VsZWN0ZWRGb250KG1f c2VsZWN0ZWRfZm9udCk7CistICAgIGNsb25lLT5TZXRNZWFzdXJpbmdGb250KG1fbWVhc3VyaW5n X2ZvbnQpOworLSNlbmRpZgorIAorICAgICByZXR1cm4gY2xvbmU7CisgfQorQEAgLTc1LDExICs2 MSw3IEBACisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xvc2VfYnV0dG9uX3N0 YXRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhfZXh0ZW50KTsKKyAKKy0j aWYgd3hDSEVDS19WRVJTSU9OKDMsIDAsIDApCisgICAgIHd4Q29vcmQgdGFiX2hlaWdodCA9IG1f dGFiQ3RybEhlaWdodCAtIDM7CistI2Vsc2UKKy0gICAgd3hDb29yZCB0YWJfaGVpZ2h0ID0gbV90 YWJfY3RybF9oZWlnaHQgLSAzOworLSNlbmRpZgorICAgICB3eENvb3JkIHRhYl93aWR0aCA9IHRh Yl9zaXplLng7CisgICAgIHd4Q29vcmQgdGFiX3ggPSBpbl9yZWN0Lng7CisgICAgIHd4Q29vcmQg dGFiX3kgPSBpbl9yZWN0LnkgKyBpbl9yZWN0LmhlaWdodCAtIHRhYl9oZWlnaHQ7CitAQCAtMTY2 LDE3ICsxNDgsMTAgQEAKKyAgICAgd3hDb29yZCB0ZXh0eDsKKyAgICAgd3hDb29yZCB0ZXh0eTsK KyAgICAgaWYgKHBhZ2UuYWN0aXZlKQorLSNpZiB3eENIRUNLX1ZFUlNJT04oMywgMCwgMCkKKyAg ICAgICAgIGRjLlNldEZvbnQobV9zZWxlY3RlZEZvbnQpOworLSNlbHNlCistICAgICAgICBkYy5T ZXRGb250KG1fc2VsZWN0ZWRfZm9udCk7CistI2VuZGlmCisgICAgIGVsc2UKKy0jaWYgd3hDSEVD S19WRVJTSU9OKDMsIDAsIDApCisgICAgICAgICBkYy5TZXRGb250KG1fbm9ybWFsRm9udCk7Cist I2Vsc2UKKy0gICAgICAgIGRjLlNldEZvbnQobV9ub3JtYWxfZm9udCk7CistI2VuZGlmCisrCisg ICAgIGRjLkdldFRleHRFeHRlbnQoY2FwdGlvbiwgJnRleHR4LCAmdGV4dHkpOworICAgICAvLyBk cmF3IHRhYiB0ZXh0CisgICAgIGRjLlNldFRleHRGb3JlZ3JvdW5kKHd4U3lzdGVtU2V0dGluZ3M6 OkdldENvbG91cih3eFNZU19DT0xPVVJfQlROVEVYVCkpOworQEAgLTE4NiwyMSArMTYxLDEyIEBA CisgICAgIC8vIGRyYXcgJ3gnIG9uIHRhYiAoaWYgZW5hYmxlZCkKKyAgICAgaWYgKGNsb3NlX2J1 dHRvbl9zdGF0ZSAhPSB3eEFVSV9CVVRUT05fU1RBVEVfSElEREVOKQorICAgICB7CistI2lmIHd4 Q0hFQ0tfVkVSU0lPTigzLCAwLCAwKQorICAgICAgICAgaW50IGNsb3NlX2J1dHRvbl93aWR0aCA9 IG1fYWN0aXZlQ2xvc2VCbXAuR2V0V2lkdGgoKTsKKyAgICAgICAgIHd4Qml0bWFwIGJtcCA9IG1f ZGlzYWJsZWRDbG9zZUJtcDsKKy0jZWxzZQorLSAgICAgICAgaW50IGNsb3NlX2J1dHRvbl93aWR0 aCA9IG1fYWN0aXZlX2Nsb3NlX2JtcC5HZXRXaWR0aCgpOworLSAgICAgICAgd3hCaXRtYXAgYm1w ID0gbV9kaXNhYmxlZF9jbG9zZV9ibXA7CistI2VuZGlmCisgCisgICAgICAgICBpZiAoKGNsb3Nl X2J1dHRvbl9zdGF0ZSA9PSB3eEFVSV9CVVRUT05fU1RBVEVfSE9WRVIpIHx8CisgICAgICAgICAg ICAgICAgICAgICAoY2xvc2VfYnV0dG9uX3N0YXRlID09IHd4QVVJX0JVVFRPTl9TVEFURV9QUkVT U0VEKSkKKy0jaWYgd3hDSEVDS19WRVJTSU9OKDMsIDAsIDApCisgICAgICAgICAgICAgYm1wID0g bV9hY3RpdmVDbG9zZUJtcDsKKy0jZWxzZQorLSAgICAgICAgICAgIGJtcCA9IG1fYWN0aXZlX2Ns b3NlX2JtcDsKKy0jZW5kaWYKKyAKKyAgICAgICAgIHd4UmVjdCByZWN0KHRhYl94ICsgdGFiX3dp ZHRoIC0gY2xvc2VfYnV0dG9uX3dpZHRoIC0gMywKKyAgICAgICAgICAgICAgICAgICAgIGRyYXdu X3RhYl95b2ZmICsgKGRyYXduX3RhYl9oZWlnaHQgLyAyKSAtIChibXAuR2V0SGVpZ2h0KCkgLyAy KSwKK0BAIC0yMjcsMTEgKzE5Myw3IEBACisgLy8gICAgbV9yZXF1ZXN0ZWRfdGFiY3RybF9oZWln aHQgPSAtMTsKKyAvLyAgICBtX3RhYl9jdHJsX2hlaWdodCA9IC0xOworICAgICB3eENsaWVudERD IGRjKHduZCk7CistI2lmIHd4Q0hFQ0tfVkVSU0lPTigzLCAwLCAwKQorICAgICBkYy5TZXRGb250 KG1fbWVhc3VyaW5nRm9udCk7CistI2Vsc2UKKy0gICAgZGMuU2V0Rm9udChtX21lYXN1cmluZ19m b250KTsKKy0jZW5kaWYKKyAgICAgaW50IHhfZXh0ID0gMDsKKyAgICAgd3hTaXplIHMgPSBHZXRU YWJTaXplKGRjLCB3bmQsIHd4VCgiQUJDREVGR0hJaiIpLCB3eE51bGxCaXRtYXAsIHRydWUsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHd4QVVJX0JVVFRPTl9TVEFURV9ISURERU4sICZ4 X2V4dCk7CitAQCAtMjQ2LDE1ICsyMDgsOSBAQAorIHsKKyAgICAgTmJTdHlsZUZGMiogY2xvbmUg PSBuZXcgTmJTdHlsZUZGMigpOworIAorLSNpZiB3eENIRUNLX1ZFUlNJT04oMywgMCwgMCkKKyAg ICAgY2xvbmUtPlNldE5vcm1hbEZvbnQobV9ub3JtYWxGb250KTsKKyAgICAgY2xvbmUtPlNldFNl bGVjdGVkRm9udChtX3NlbGVjdGVkRm9udCk7CisgICAgIGNsb25lLT5TZXRNZWFzdXJpbmdGb250 KG1fbWVhc3VyaW5nRm9udCk7CistI2Vsc2UKKy0gICAgY2xvbmUtPlNldE5vcm1hbEZvbnQobV9u b3JtYWxfZm9udCk7CistICAgIGNsb25lLT5TZXRTZWxlY3RlZEZvbnQobV9zZWxlY3RlZF9mb250 KTsKKy0gICAgY2xvbmUtPlNldE1lYXN1cmluZ0ZvbnQobV9tZWFzdXJpbmdfZm9udCk7CistI2Vu ZGlmCisgCisgICAgIHJldHVybiBjbG9uZTsKKyB9CitAQCAtMjcyLDExICsyMjgsNyBAQAorICAg ICB3eFNpemUgdGFiX3NpemUgPSBHZXRUYWJTaXplKGRjLCB3bmQsIHBhZ2UuY2FwdGlvbiwgcGFn ZS5iaXRtYXAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFnZS5hY3Rp dmUsIGNsb3NlX2J1dHRvbl9zdGF0ZSwgeF9leHRlbnQpOworIAorLSNpZiB3eENIRUNLX1ZFUlNJ T04oMywgMCwgMCkKKyAgICAgd3hDb29yZCB0YWJfaGVpZ2h0ID0gbV90YWJDdHJsSGVpZ2h0IC0g MjsKKy0jZWxzZQorLSAgICB3eENvb3JkIHRhYl9oZWlnaHQgPSBtX3RhYl9jdHJsX2hlaWdodCAt IDI7CistI2VuZGlmCisgICAgIHd4Q29vcmQgdGFiX3dpZHRoID0gdGFiX3NpemUueDsKKyAgICAg d3hDb29yZCB0YWJfeCA9IGluX3JlY3QueDsKKyAgICAgd3hDb29yZCB0YWJfeSA9IGluX3JlY3Qu eSArIGluX3JlY3QuaGVpZ2h0IC0gdGFiX2hlaWdodDsKK0BAIC0zNjAsMTcgKzMxMiwxMCBAQAor ICAgICB3eENvb3JkIHRleHR4OworICAgICB3eENvb3JkIHRleHR5OworICAgICBpZiAocGFnZS5h Y3RpdmUpCistI2lmIHd4Q0hFQ0tfVkVSU0lPTigzLCAwLCAwKQorICAgICAgICAgZGMuU2V0Rm9u dChtX3NlbGVjdGVkRm9udCk7CistI2Vsc2UKKy0gICAgICAgIGRjLlNldEZvbnQobV9zZWxlY3Rl ZF9mb250KTsKKy0jZW5kaWYKKyAgICAgZWxzZQorLSNpZiB3eENIRUNLX1ZFUlNJT04oMywgMCwg MCkKKyAgICAgICAgIGRjLlNldEZvbnQobV9ub3JtYWxGb250KTsKKy0jZWxzZQorLSAgICAgICAg ZGMuU2V0Rm9udChtX25vcm1hbF9mb250KTsKKy0jZW5kaWYKKysKKyAgICAgZGMuR2V0VGV4dEV4 dGVudChjYXB0aW9uLCAmdGV4dHgsICZ0ZXh0eSk7CisgICAgIC8vIGRyYXcgdGFiIHRleHQKKyAg ICAgZGMuU2V0VGV4dEZvcmVncm91bmQod3hTeXN0ZW1TZXR0aW5nczo6R2V0Q29sb3VyKHd4U1lT X0NPTE9VUl9CVE5URVhUKSk7CitAQCAtMzgwLDIxICszMjUsMTIgQEAKKyAgICAgLy8gZHJhdyAn eCcgb24gdGFiIChpZiBlbmFibGVkKQorICAgICBpZiAoY2xvc2VfYnV0dG9uX3N0YXRlICE9IHd4 QVVJX0JVVFRPTl9TVEFURV9ISURERU4pCisgICAgIHsKKy0jaWYgd3hDSEVDS19WRVJTSU9OKDMs IDAsIDApCisgICAgICAgICBpbnQgY2xvc2VfYnV0dG9uX3dpZHRoID0gbV9hY3RpdmVDbG9zZUJt cC5HZXRXaWR0aCgpOworICAgICAgICAgd3hCaXRtYXAgYm1wID0gbV9kaXNhYmxlZENsb3NlQm1w OworLSNlbHNlCistICAgICAgICBpbnQgY2xvc2VfYnV0dG9uX3dpZHRoID0gbV9hY3RpdmVfY2xv c2VfYm1wLkdldFdpZHRoKCk7CistICAgICAgICB3eEJpdG1hcCBibXAgPSBtX2Rpc2FibGVkX2Ns b3NlX2JtcDsKKy0jZW5kaWYKKyAKKyAgICAgICAgIGlmICgoY2xvc2VfYnV0dG9uX3N0YXRlID09 IHd4QVVJX0JVVFRPTl9TVEFURV9IT1ZFUikgfHwKKyAgICAgICAgICAgICAgICAgICAgIChjbG9z ZV9idXR0b25fc3RhdGUgPT0gd3hBVUlfQlVUVE9OX1NUQVRFX1BSRVNTRUQpKQorLSNpZiB3eENI RUNLX1ZFUlNJT04oMywgMCwgMCkKKyAgICAgICAgICAgICBibXAgPSBtX2FjdGl2ZUNsb3NlQm1w OworLSNlbHNlCistICAgICAgICAgICAgYm1wID0gbV9hY3RpdmVfY2xvc2VfYm1wOworLSNlbmRp ZgorIAorICAgICAgICAgd3hSZWN0IHJlY3QodGFiX3ggKyB0YWJfd2lkdGggLSBjbG9zZV9idXR0 b25fd2lkdGggLSAzLAorICAgICAgICAgICAgICAgICAgICAgZHJhd25fdGFiX3lvZmYgKyAoZHJh d25fdGFiX2hlaWdodCAvIDIpIC0gKGJtcC5HZXRIZWlnaHQoKSAvIDIpLAorQEAgLTQyMSw1MzMg KzM1Nyw5IEBACisgLy8gICAgbV9yZXF1ZXN0ZWRfdGFiY3RybF9oZWlnaHQgPSAtMTsKKyAvLyAg ICBtX3RhYl9jdHJsX2hlaWdodCA9IC0xOworICAgICB3eENsaWVudERDIGRjKHduZCk7CistI2lm IHd4Q0hFQ0tfVkVSU0lPTigzLCAwLCAwKQorICAgICBkYy5TZXRGb250KG1fbWVhc3VyaW5nRm9u dCk7CistI2Vsc2UKKy0gICAgZGMuU2V0Rm9udChtX21lYXN1cmluZ19mb250KTsKKy0jZW5kaWYK KyAgICAgaW50IHhfZXh0ID0gMDsKKyAgICAgd3hTaXplIHMgPSBHZXRUYWJTaXplKGRjLCB3bmQs IHd4VCgiQUJDREVGR0hJaiIpLCB3eE51bGxCaXRtYXAsIHRydWUsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHd4QVVJX0JVVFRPTl9TVEFURV9ISURERU4sICZ4X2V4dCk7CisgICAgIHJl dHVybiBzLnkgKyA2OworIH0KKy0KKy0jaWYgZGVmaW5lZChfX1dYR1RLX18pICYmIChVU0VfR1RL X05PVEVCT09LKSAmJiAhd3hDSEVDS19WRVJTSU9OKDMsIDAsIDApCistCistbmFtZXNwYWNlCist eworLQorLXN0YXRpYyBHdGtXaWRnZXQgKmdfd2luZG93ID0gbnVsbHB0cjsKKy1zdGF0aWMgR3Rr V2lkZ2V0ICpnX2NvbnRhaW5lciA9IG51bGxwdHI7Cistc3RhdGljIEd0a1dpZGdldCAqZ19ub3Rl Ym9vayA9IG51bGxwdHI7Cistc3RhdGljIEd0a1dpZGdldCAqZ19idXR0b24gPSBudWxscHRyOwor LXN0YXRpYyBpbnQgc19DbG9zZUljb25TaXplID0gMTY7IC8vIGRlZmF1bHQgc2l6ZQorLQorLXN0 YXRpYyB2b2lkIHNldHVwX3dpZGdldF9wcm90b3R5cGUoR3RrV2lkZ2V0KiB3aWRnZXQpCistewor LSAgICBpZiAoIWdfd2luZG93KQorLSAgICB7CistICAgICAgICBnX3dpbmRvdyA9IGd0a193aW5k b3dfbmV3KEdUS19XSU5ET1dfUE9QVVApOworLSAgICAgICAgZ3RrX3dpZGdldF9yZWFsaXplKGdf d2luZG93KTsKKy0gICAgfQorLSAgICBpZiAoIWdfY29udGFpbmVyKQorLSAgICB7CistICAgICAg ICBnX2NvbnRhaW5lciA9IGd0a19maXhlZF9uZXcoKTsKKy0gICAgICAgIGd0a19jb250YWluZXJf YWRkKEdUS19DT05UQUlORVIoZ193aW5kb3cpLCBnX2NvbnRhaW5lcik7CistICAgIH0KKy0KKy0g ICAgZ3RrX2NvbnRhaW5lcl9hZGQoR1RLX0NPTlRBSU5FUihnX2NvbnRhaW5lciksIHdpZGdldCk7 CistICAgIGd0a193aWRnZXRfcmVhbGl6ZSh3aWRnZXQpOworLX0KKy0KKy1zdGF0aWMgR3RrU3R5 bGUgKiBnZXRfc3R5bGVfYnV0dG9uKCkKKy17CistICAgIGlmICghZ19idXR0b24pCistICAgIHsK Ky0gICAgICAgIGdfYnV0dG9uID0gZ3RrX2J1dHRvbl9uZXcoKTsKKy0gICAgICAgIHNldHVwX3dp ZGdldF9wcm90b3R5cGUoZ19idXR0b24pOworLSAgICB9CistICAgIHJldHVybiBndGtfd2lkZ2V0 X2dldF9zdHlsZShnX2J1dHRvbik7CistfQorLQorLXN0YXRpYyBHdGtTdHlsZSAqIGdldF9zdHls ZV9ub3RlYm9vaygpCisteworLSAgICBpZiAoIWdfbm90ZWJvb2spCistICAgIHsKKy0gICAgICAg IGdfbm90ZWJvb2sgPSBndGtfbm90ZWJvb2tfbmV3KCk7CistICAgICAgICBzZXR1cF93aWRnZXRf cHJvdG90eXBlKGdfbm90ZWJvb2spOworLSAgICB9CistICAgIHJldHVybiBndGtfd2lkZ2V0X2dl dF9zdHlsZShnX25vdGVib29rKTsKKy19CistCistfQorLQorLU5iU3R5bGVHVEs6Ok5iU3R5bGVH VEsoKToKKy0gICAgbV9YdGhpY2tuZXNzKDApLAorLSAgICBtX1l0aGlja25lc3MoMCksCistICAg IG1fVGFiSEJvcmRlcigwKSwKKy0gICAgbV9UYWJWQm9yZGVyKDApCistCisteworLX0KKy0KKy13 eEF1aVRhYkFydCogTmJTdHlsZUdUSzo6Q2xvbmUoKQorLXsKKy0gICAgTmJTdHlsZUdUSyogY2xv bmUgPSBuZXcgTmJTdHlsZUdUSygpOworLQorLSNpZiB3eENIRUNLX1ZFUlNJT04oMywgMCwgMCkK Ky0gICAgY2xvbmUtPlNldE5vcm1hbEZvbnQobV9ub3JtYWxGb250KTsKKy0gICAgY2xvbmUtPlNl dFNlbGVjdGVkRm9udChtX25vcm1hbEZvbnQpOworLSAgICBjbG9uZS0+U2V0TWVhc3VyaW5nRm9u dChtX25vcm1hbEZvbnQpOworLSNlbHNlCistICAgIGNsb25lLT5TZXROb3JtYWxGb250KG1fbm9y bWFsX2ZvbnQpOworLSAgICBjbG9uZS0+U2V0U2VsZWN0ZWRGb250KG1fbm9ybWFsX2ZvbnQpOwor LSAgICBjbG9uZS0+U2V0TWVhc3VyaW5nRm9udChtX25vcm1hbF9mb250KTsKKy0jZW5kaWYKKy0K Ky0gICAgcmV0dXJuIGNsb25lOworLX0KKy0KKy12b2lkIE5iU3R5bGVHVEs6OkRyYXdCYWNrZ3Jv dW5kKHd4REMmIGRjLCB3eFdpbmRvdyogd25kLCBjb25zdCB3eFJlY3QmIHJlY3QpCisteworLSAg ICBHdGtTdHlsZSogc3R5bGVfbm90ZWJvb2sgPSBnZXRfc3R5bGVfbm90ZWJvb2soKTsKKy0gICAg R3RrTm90ZWJvb2sqIG5vdGVib29rID0gR1RLX05PVEVCT09LIChnX25vdGVib29rKTsKKy0KKy0g ICAgLy8gaWYgb25lIG9mIHRoZSBwYXJhbWV0ZXJzIGhhdmUgY2hhbmdlZCwgdGhlIGhlaWdodCBu ZWVkcyB0byBiZSByZWNhbGN1bGF0ZWQsIHNvIHdlIGZvcmNlIGl0LAorLSAgICBpZihtX1h0aGlj a25lc3MgICE9IHN0eWxlX25vdGVib29rLT54dGhpY2tuZXNzIHx8CistICAgICAgIG1fWXRoaWNr bmVzcyAgIT0gc3R5bGVfbm90ZWJvb2stPnl0aGlja25lc3MgfHwKKy0gICAgICAgbV9UYWJWQm9y ZGVyICE9IG5vdGVib29rLT50YWJfdmJvcmRlciB8fAorLSAgICAgICBtX1RhYkhCb3JkZXIgIT0g bm90ZWJvb2stPnRhYl9oYm9yZGVyKQorLSAgICB7CistICAgICAgICBtX1h0aGlja25lc3MgID0g c3R5bGVfbm90ZWJvb2stPnh0aGlja25lc3M7CistICAgICAgICBtX1l0aGlja25lc3MgID0gc3R5 bGVfbm90ZWJvb2stPnl0aGlja25lc3M7CistICAgICAgICBtX1RhYlZCb3JkZXIgPSBub3RlYm9v ay0+dGFiX3Zib3JkZXI7CistICAgICAgICBtX1RhYkhCb3JkZXIgPSBub3RlYm9vay0+dGFiX2hi b3JkZXI7CistICAgICAgICB3eEF1aU5vdGVib29rKiBuYiA9IG51bGxwdHI7CistICAgICAgICBp Zih3bmQpCistICAgICAgICAgICAgIG5iID0gKGNiQXVpTm90ZWJvb2sqKXduZC0+R2V0UGFyZW50 KCk7CistICAgICAgICBpZihuYikKKy0gICAgICAgICAgICBuYi0+U2V0VGFiQ3RybEhlaWdodCgt MSk7CistICAgIH0KKy0jaWYgd3hDSEVDS19WRVJTSU9OKDMsIDAsIDApCistICAgIHd4R1RLRENJ bXBsICppbXBsZGMgPSAod3hHVEtEQ0ltcGwqKSBkYy5HZXRJbXBsKCk7CistICAgIEdka1dpbmRv dyogcFdpbiA9IGltcGxkYy0+R2V0R0RLV2luZG93KCk7CistI2Vsc2UKKy0gICAgR2RrV2luZG93 KiBwV2luID0gZGMuR2V0R0RLV2luZG93KCk7CistI2VuZGlmCistICAgIGd0a19zdHlsZV9hcHBs eV9kZWZhdWx0X2JhY2tncm91bmQoc3R5bGVfbm90ZWJvb2ssIHBXaW4sIDEsIEdUS19TVEFURV9O T1JNQUwsIG51bGxwdHIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg cmVjdC54LCByZWN0LnksIHJlY3Qud2lkdGgsIHJlY3QuaGVpZ2h0KTsKKy19CistCistdm9pZCBC dXR0b25TdGF0ZUFuZFNoYWRvdyhpbnQgYnV0dG9uX3N0YXRlLCBHdGtTdGF0ZVR5cGUgJnN0YXRl LCBHdGtTaGFkb3dUeXBlICZzaGFkb3cpCisteworLQorLSAgICBpZiAoYnV0dG9uX3N0YXRlICYg d3hBVUlfQlVUVE9OX1NUQVRFX0RJU0FCTEVEKQorLSAgICB7CistICAgICAgICBzdGF0ZSA9IEdU S19TVEFURV9JTlNFTlNJVElWRTsKKy0gICAgICAgIHNoYWRvdyA9IEdUS19TSEFET1dfRVRDSEVE X0lOOworLSAgICB9CistICAgIGVsc2UgaWYgKGJ1dHRvbl9zdGF0ZSAmIHd4QVVJX0JVVFRPTl9T VEFURV9IT1ZFUikKKy0gICAgeworLSAgICAgICAgc3RhdGUgPSBHVEtfU1RBVEVfUFJFTElHSFQ7 CistICAgICAgICBzaGFkb3cgPSBHVEtfU0hBRE9XX09VVDsKKy0gICAgfQorLSAgICBlbHNlIGlm IChidXR0b25fc3RhdGUgJiB3eEFVSV9CVVRUT05fU1RBVEVfUFJFU1NFRCkKKy0gICAgeworLSAg ICAgICAgc3RhdGUgPSBHVEtfU1RBVEVfQUNUSVZFOworLSAgICAgICAgc2hhZG93ID0gR1RLX1NI QURPV19JTjsKKy0gICAgfQorLSAgICBlbHNlCistICAgIHsKKy0gICAgICAgIHN0YXRlID0gR1RL X1NUQVRFX05PUk1BTDsKKy0gICAgICAgIHNoYWRvdyA9IEdUS19TSEFET1dfT1VUOworLSAgICB9 CistfQorLQorLXd4UmVjdCBEcmF3Q2xvc2VCdXR0b24od3hEQyYgZGMsCistICAgICAgICAgICAg ICAgICAgICAgICBHdGtXaWRnZXQgKndpZGdldCwKKy0gICAgICAgICAgICAgICAgICAgICAgIGlu dCBidXR0b25fc3RhdGUsCistICAgICAgICAgICAgICAgICAgICAgICB3eFJlY3QgY29uc3QgJmlu X3JlY3QsCistICAgICAgICAgICAgICAgICAgICAgICBpbnQgb3JpZW50YXRpb24sCistICAgICAg ICAgICAgICAgICAgICAgICBHZGtSZWN0YW5nbGUqIGNsaXBSZWN0KQorLXsKKy0gICAgR3RrU3R5 bGUgKnN0eWxlX2J1dHRvbiA9IGdldF9zdHlsZV9idXR0b24oKTsKKy0gICAgaW50IHh0aGlja25l c3MgPSBzdHlsZV9idXR0b24tPnh0aGlja25lc3M7CistICAgIGludCB5dGhpY2tuZXNzID0gc3R5 bGVfYnV0dG9uLT55dGhpY2tuZXNzOworLQorLSAgICB3eEJpdG1hcCBibXA7CistICAgIGJtcC5T ZXRQaXhidWYoZ3RrX3dpZGdldF9yZW5kZXJfaWNvbih3aWRnZXQsIEdUS19TVE9DS19DTE9TRSwg R1RLX0lDT05fU0laRV9TTUFMTF9UT09MQkFSLCAidGFiIikpOworLQorLSAgICBpZihibXAuR2V0 V2lkdGgoKSAhPSBzX0Nsb3NlSWNvblNpemUgfHwgYm1wLkdldEhlaWdodCgpICE9IHNfQ2xvc2VJ Y29uU2l6ZSkKKy0gICAgeworLSAgICAgICAgd3hJbWFnZSBpbWcgPSBibXAuQ29udmVydFRvSW1h Z2UoKTsKKy0gICAgICAgIGltZy5SZXNjYWxlKHNfQ2xvc2VJY29uU2l6ZSwgc19DbG9zZUljb25T aXplKTsKKy0gICAgICAgIGJtcCA9IGltZzsKKy0gICAgfQorLQorLSAgICBpbnQgYnV0dG9uX3Np emUgPSBzX0Nsb3NlSWNvblNpemUgKyAyICogeHRoaWNrbmVzczsKKy0KKy0gICAgd3hSZWN0IG91 dF9yZWN0OworLQorLSAgICBpZiAob3JpZW50YXRpb24gPT0gd3hMRUZUKQorLSAgICAgICAgb3V0 X3JlY3QueCA9IGluX3JlY3QueCAtIHl0aGlja25lc3M7CistICAgIGVsc2UKKy0gICAgICAgIG91 dF9yZWN0LnggPSBpbl9yZWN0LnggKyBpbl9yZWN0LndpZHRoIC0gYnV0dG9uX3NpemUgLSB5dGhp Y2tuZXNzOworLQorLSAgICBvdXRfcmVjdC55ID0gaW5fcmVjdC55ICsgKGluX3JlY3QuaGVpZ2h0 IC0gYnV0dG9uX3NpemUpIC8gMjsKKy0gICAgb3V0X3JlY3Qud2lkdGggPSBidXR0b25fc2l6ZTsK Ky0gICAgb3V0X3JlY3QuaGVpZ2h0ID0gYnV0dG9uX3NpemU7CistCistI2lmIHd4Q0hFQ0tfVkVS U0lPTigzLCAwLCAwKQorLSAgICB3eEdUS0RDSW1wbCAqaW1wbGRjID0gKHd4R1RLRENJbXBsKikg ZGMuR2V0SW1wbCgpOworLSAgICBHZGtXaW5kb3cqIHBXaW4gPSBpbXBsZGMtPkdldEdES1dpbmRv dygpOworLSNlbHNlCistICAgIEdka1dpbmRvdyogcFdpbiA9IGRjLkdldEdES1dpbmRvdygpOwor LSNlbmRpZgorLQorLSAgICBpZiAoYnV0dG9uX3N0YXRlID09IHd4QVVJX0JVVFRPTl9TVEFURV9I T1ZFUikKKy0gICAgeworLSAgICAgICAgZ3RrX3BhaW50X2JveChzdHlsZV9idXR0b24sIHBXaW4s CistICAgICAgICAgICAgICAgICAgICAgIEdUS19TVEFURV9QUkVMSUdIVCwgR1RLX1NIQURPV19P VVQsIGNsaXBSZWN0LCB3aWRnZXQsICJidXR0b24iLAorLSAgICAgICAgICAgICAgICAgICAgICBv dXRfcmVjdC54LCBvdXRfcmVjdC55LCBvdXRfcmVjdC53aWR0aCwgb3V0X3JlY3QuaGVpZ2h0KTsK Ky0gICAgfQorLSAgICBlbHNlIGlmIChidXR0b25fc3RhdGUgPT0gd3hBVUlfQlVUVE9OX1NUQVRF X1BSRVNTRUQpCistICAgIHsKKy0gICAgICAgIGd0a19wYWludF9ib3goc3R5bGVfYnV0dG9uLCBw V2luLAorLSAgICAgICAgICAgICAgICAgICAgICBHVEtfU1RBVEVfQUNUSVZFLCBHVEtfU0hBRE9X X0lOLCBjbGlwUmVjdCwgd2lkZ2V0LCAiYnV0dG9uIiwKKy0gICAgICAgICAgICAgICAgICAgICAg b3V0X3JlY3QueCwgb3V0X3JlY3QueSwgb3V0X3JlY3Qud2lkdGgsIG91dF9yZWN0LmhlaWdodCk7 CistICAgIH0KKy0KKy0KKy0gICAgZGMuRHJhd0JpdG1hcChibXAsIG91dF9yZWN0LnggKyB4dGhp Y2tuZXNzLCBvdXRfcmVjdC55ICsgeXRoaWNrbmVzcywgdHJ1ZSk7CistCistICAgIHJldHVybiBv dXRfcmVjdDsKKy19CistCistdm9pZCBOYlN0eWxlR1RLOjpEcmF3VGFiKHd4REMmIGRjLCB3eFdp bmRvdyogd25kLCBjb25zdCB3eEF1aU5vdGVib29rUGFnZSYgcGFnZSwKKy0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGNvbnN0IHd4UmVjdCYgaW5fcmVjdCwgaW50IGNsb3NlX2J1dHRvbl9z dGF0ZSwgd3hSZWN0KiBvdXRfdGFiX3JlY3QsCistICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB3eFJlY3QqIG91dF9idXR0b25fcmVjdCwgaW50KiB4X2V4dGVudCkKKy17CistICAgIEd0a1dp ZGdldCAqd2lkZ2V0ID0gd25kLT5HZXRIYW5kbGUoKTsKKy0gICAgR3RrU3R5bGUgKnN0eWxlX25v dGVib29rID0gZ2V0X3N0eWxlX25vdGVib29rKCk7CistCistICAgIHd4UmVjdCBjb25zdCAmd2lu ZG93X3JlY3QgPSB3bmQtPkdldFJlY3QoKTsKKy0KKy0gICAgaW50IGZvY3VzX3dpZHRoID0gMDsK Ky0KKy0gICAgZ3RrX3dpZGdldF9zdHlsZV9nZXQoZ19ub3RlYm9vaywKKy0gICAgICAgICAgICAg ICAgICAgICAgICAgImZvY3VzLWxpbmUtd2lkdGgiLCAmZm9jdXNfd2lkdGgsCistICAgICAgICAg ICAgICAgICAgICAgICAgIE5VTEwpOworLQorLSAgICBpbnQgdGFiX3BvczsKKy0gICAgaWYgKG1f ZmxhZ3MgJnd4QVVJX05CX0JPVFRPTSkKKy0gICAgICAgIHRhYl9wb3MgPSB3eEFVSV9OQl9CT1RU T007CistICAgIGVsc2UgLy9pZiAobV9mbGFncyAmIHd4QVVJX05CX1RPUCkge30KKy0gICAgICAg IHRhYl9wb3MgPSB3eEFVSV9OQl9UT1A7CistCistICAgIC8vIFRPRE86IGVsc2UgaWYgKG1fZmxh Z3MgJnd4QVVJX05CX0xFRlQpIHt9CistICAgIC8vIFRPRE86IGVsc2UgaWYgKG1fZmxhZ3MgJnd4 QVVJX05CX1JJR0hUKSB7fQorLQorLSAgICAvLyBmaWd1cmUgb3V0IHRoZSBzaXplIG9mIHRoZSB0 YWIKKy0gICAgd3hTaXplIHRhYl9zaXplID0gR2V0VGFiU2l6ZShkYywgd25kLCBwYWdlLmNhcHRp b24sIHBhZ2UuYml0bWFwLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBh Z2UuYWN0aXZlLCBjbG9zZV9idXR0b25fc3RhdGUsIHhfZXh0ZW50KTsKKy0KKy0gICAgd3hSZWN0 IHRhYl9yZWN0ID0gaW5fcmVjdDsKKy0gICAgdGFiX3JlY3Qud2lkdGggPSB0YWJfc2l6ZS54Owor LSAgICB0YWJfcmVjdC5oZWlnaHQgPSB0YWJfc2l6ZS55OworLSAgICB0YWJfcmVjdC55ICs9IDIg KiBtX1RhYkhCb3JkZXI7CistCistICAgIGlmIChwYWdlLmFjdGl2ZSkKKy0gICAgICAgIHRhYl9y ZWN0LmhlaWdodCArPSAyICogbV9UYWJIQm9yZGVyOworLSNpZiB3eENIRUNLX1ZFUlNJT04oMywg MCwgMCkKKy0gICAgLy8gaWYgbm8gYml0bWFwIGlzIHNldCwgd2UgbmVlZCBhIHRpbnkgY29ycmVj dGlvbgorLSAgICBpZiAoISBwYWdlLmJpdG1hcC5Jc09rKCkpCistICAgICAgICB0YWJfcmVjdC5o ZWlnaHQgKz0gMTsKKy0jZW5kaWYKKy0KKy0gICAgaW50IGdhcF9yZWN0X2hlaWdodCA9IDYgKiBt X1RhYkhCb3JkZXI7CistICAgIGludCBnYXBfcmVjdF94ID0gMSwgZ2FwX3N0YXJ0ID0gMCwgZ2Fw X3dpZHRoID0gMDsKKy0gICAgaW50IGdhcF9yZWN0X3kgPSB0YWJfcmVjdC55IC0gZ2FwX3JlY3Rf aGVpZ2h0OworLSAgICBpbnQgZ2FwX3JlY3Rfd2lkdGggPSB3aW5kb3dfcmVjdC53aWR0aDsKKy0K Ky0gICAgc3dpdGNoICh0YWJfcG9zKQorLSAgICB7CistICAgICAgICBjYXNlIHd4QVVJX05CX1RP UDoKKy0gICAgICAgICAgICB0YWJfcmVjdC55IC09IDIgKiBtX1RhYkhCb3JkZXI7CistICAgICAg ICAgICAgaWYgKCFwYWdlLmFjdGl2ZSkKKy0gICAgICAgICAgICAgICAgdGFiX3JlY3QueSArPSAy ICogbV9UYWJIQm9yZGVyOworLSAgICAgICAgICAgIGdhcF9yZWN0X3kgPSB0YWJfcmVjdC55ICsg dGFiX3JlY3QuaGVpZ2h0IC0gbV9UYWJIQm9yZGVyIC8gMjsKKy0gICAgICAgICAgICAvLyBmYWxs IHRocm91Z2gKKy0gICAgICAgIGNhc2Ugd3hBVUlfTkJfQk9UVE9NOgorLSAgICAgICAgICAgIGdh cF9zdGFydCA9IHRhYl9yZWN0LnggLSBtX1RhYlZCb3JkZXIgLyAyOworLSAgICAgICAgICAgIGdh cF93aWR0aCA9IHRhYl9yZWN0LndpZHRoOworLSAgICAgICAgICAgIGJyZWFrOworLSAgICAgICAg ZGVmYXVsdDoKKy0gICAgICAgICAgICBicmVhazsKKy0gICAgfQorLSAgICB0YWJfcmVjdC55ICs9 IG1fVGFiSEJvcmRlciAvIDI7CistICAgIGdhcF9yZWN0X3kgKz0gbV9UYWJIQm9yZGVyIC8gMjsK Ky0KKy0gICAgaW50IHBhZGRpbmcgPSBmb2N1c193aWR0aCArIG1fVGFiSEJvcmRlcjsKKy0KKy0g ICAgaW50IGNsaXBfd2lkdGggPSB0YWJfcmVjdC53aWR0aDsKKy0gICAgaWYgKHRhYl9yZWN0Lngg KyB0YWJfcmVjdC53aWR0aCA+IGluX3JlY3QueCArIGluX3JlY3Qud2lkdGgpCistICAgICAgICBj bGlwX3dpZHRoID0gKGluX3JlY3QueCArIGluX3JlY3Qud2lkdGgpIC0gdGFiX3JlY3QueDsKKy0K Ky0gICAgZGMuU2V0Q2xpcHBpbmdSZWdpb24odGFiX3JlY3QueCwgdGFiX3JlY3QueSAtIG1fVGFi VkJvcmRlciwgY2xpcF93aWR0aCwgdGFiX3JlY3QuaGVpZ2h0ICsgbV9UYWJWQm9yZGVyKTsKKy0K Ky0gICAgR2RrUmVjdGFuZ2xlIGFyZWE7CistICAgIGFyZWEueCA9IHRhYl9yZWN0LnggLSBtX1Rh YlZCb3JkZXI7CistICAgIGFyZWEueSA9IHRhYl9yZWN0LnkgLSAyICogbV9UYWJIQm9yZGVyOwor LSAgICBhcmVhLndpZHRoID0gY2xpcF93aWR0aCArIG1fVGFiVkJvcmRlcjsKKy0gICAgYXJlYS5o ZWlnaHQgPSB0YWJfcmVjdC5oZWlnaHQgKyAyICogbV9UYWJIQm9yZGVyOworLQorLSNpZiB3eENI RUNLX1ZFUlNJT04oMywgMCwgMCkKKy0gICAgd3hHVEtEQ0ltcGwgKmltcGxkYyA9ICh3eEdUS0RD SW1wbCopIGRjLkdldEltcGwoKTsKKy0gICAgR2RrV2luZG93KiBwV2luID0gaW1wbGRjLT5HZXRH REtXaW5kb3coKTsKKy0jZWxzZQorLSAgICBHZGtXaW5kb3cqIHBXaW4gPSBkYy5HZXRHREtXaW5k b3coKTsKKy0jZW5kaWYKKy0KKy0gICAgaWYgKHRhYl9wb3MgPT0gd3hBVUlfTkJfQk9UVE9NKQor LSAgICB7CistICAgICAgICBpZiAocGFnZS5hY3RpdmUpCistICAgICAgICB7CistICAgICAgICAg ICAgZ3RrX3BhaW50X2JveF9nYXAoc3R5bGVfbm90ZWJvb2ssIHBXaW4sIEdUS19TVEFURV9OT1JN QUwsIEdUS19TSEFET1dfT1VULAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEws IHdpZGdldCwgIm5vdGVib29rIiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnYXBf cmVjdF94LCBnYXBfcmVjdF95LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdhcF9y ZWN0X3dpZHRoLCBnYXBfcmVjdF9oZWlnaHQsCistICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgR1RLX1BPU19CT1RUT00sIGdhcF9zdGFydCAsIGdhcF93aWR0aCk7CistICAgICAgICB9Cist ICAgICAgICBndGtfcGFpbnRfZXh0ZW5zaW9uKHN0eWxlX25vdGVib29rLCBwV2luLAorLSAgICAg ICAgICAgICAgICAgICAgICAgICAgIHBhZ2UuYWN0aXZlID8gR1RLX1NUQVRFX05PUk1BTCA6IEdU S19TVEFURV9BQ1RJVkUsIEdUS19TSEFET1dfT1VULAorLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICZhcmVhLCB3aWRnZXQsICJ0YWIiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHRh Yl9yZWN0LngsIHRhYl9yZWN0LnksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFiX3Jl Y3Qud2lkdGgsIHRhYl9yZWN0LmhlaWdodCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICBH VEtfUE9TX1RPUCk7CistICAgIH0KKy0gICAgZWxzZQorLSAgICB7CistICAgICAgICBpZiAocGFn ZS5hY3RpdmUpCistICAgICAgICB7CistICAgICAgICAgICAgZ3RrX3BhaW50X2JveF9nYXAoc3R5 bGVfbm90ZWJvb2ssIHBXaW4sIEdUS19TVEFURV9OT1JNQUwsIEdUS19TSEFET1dfT1VULAorLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIHdpZGdldCwgIm5vdGVib29rIiwKKy0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnYXBfcmVjdF94LCBnYXBfcmVjdF95LAorLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdhcF9yZWN0X3dpZHRoLCBnYXBfcmVjdF9oZWln aHQsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR1RLX1BPU19UT1AsIGdhcF9zdGFy dCAsIGdhcF93aWR0aCk7CistICAgICAgICB9CistICAgICAgICBndGtfcGFpbnRfZXh0ZW5zaW9u KHN0eWxlX25vdGVib29rLCBwV2luLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2Uu YWN0aXZlID8gR1RLX1NUQVRFX05PUk1BTCA6IEdUS19TVEFURV9BQ1RJVkUsIEdUS19TSEFET1df T1VULAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICZhcmVhLCB3aWRnZXQsICJ0YWIiLAor LSAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYl9yZWN0LngsIHRhYl9yZWN0LnksCistICAg ICAgICAgICAgICAgICAgICAgICAgICAgdGFiX3JlY3Qud2lkdGgsIHRhYl9yZWN0LmhlaWdodCwK Ky0gICAgICAgICAgICAgICAgICAgICAgICAgICBHVEtfUE9TX0JPVFRPTSk7CistICAgIH0KKy0K Ky0gICAgd3hDb29yZCB0ZXh0WCA9IHRhYl9yZWN0LnggKyBwYWRkaW5nICsgbV9YdGhpY2tuZXNz OworLQorLSAgICBpbnQgYml0bWFwX29mZnNldCA9IDA7CistICAgIGlmIChwYWdlLmJpdG1hcC5J c09rKCkpCistICAgIHsKKy0gICAgICAgIGJpdG1hcF9vZmZzZXQgPSB0ZXh0WDsKKy0KKy0gICAg ICAgIC8vIGRyYXcgYml0bWFwCistICAgICAgICBpbnQgYml0bWFwWSA9IHRhYl9yZWN0LnkgKyh0 YWJfcmVjdC5oZWlnaHQgLSBwYWdlLmJpdG1hcC5HZXRIZWlnaHQoKSkgLyAyOworLSAgICAgICAg aWYoIXBhZ2UuYWN0aXZlKQorLSAgICAgICAgeworLSAgICAgICAgICAgIGlmICh0YWJfcG9zID09 IHd4QVVJX05CX1RPUCkKKy0gICAgICAgICAgICAgICAgYml0bWFwWSArPSBtX1l0aGlja25lc3Mg LyAyOworLSAgICAgICAgICAgIGVsc2UKKy0gICAgICAgICAgICAgICAgYml0bWFwWSAtPSBtX1l0 aGlja25lc3MgLyAyOworLSAgICAgICAgfQorLSAgICAgICAgZGMuRHJhd0JpdG1hcChwYWdlLmJp dG1hcCwKKy0gICAgICAgICAgICAgICAgICAgICAgYml0bWFwX29mZnNldCwKKy0gICAgICAgICAg ICAgICAgICAgICAgYml0bWFwWSwKKy0gICAgICAgICAgICAgICAgICAgICAgdHJ1ZSk7CistCist ICAgICAgICB0ZXh0WCArPSBwYWdlLmJpdG1hcC5HZXRXaWR0aCgpICsgcGFkZGluZzsKKy0gICAg fQorLQorLSAgICB3eENvb3JkIHRleHRXLCB0ZXh0SCwgdGV4dFk7CistCistI2lmIHd4Q0hFQ0tf VkVSU0lPTigzLCAwLCAwKQorLSAgICBkYy5TZXRGb250KG1fbm9ybWFsRm9udCk7CistI2Vsc2UK Ky0gICAgZGMuU2V0Rm9udChtX25vcm1hbF9mb250KTsKKy0jZW5kaWYKKy0gICAgZGMuR2V0VGV4 dEV4dGVudChwYWdlLmNhcHRpb24sICZ0ZXh0VywgJnRleHRIKTsKKy0gICAgdGV4dFkgPSB0YWJf cmVjdC55ICsgKHRhYl9yZWN0LmhlaWdodCAtIHRleHRIKSAvIDI7CistICAgIGlmKCFwYWdlLmFj dGl2ZSkKKy0gICAgeworLSAgICAgICAgaWYgKHRhYl9wb3MgPT0gd3hBVUlfTkJfVE9QKQorLSAg ICAgICAgICAgIHRleHRZICs9IG1fWXRoaWNrbmVzcyAvIDI7CistICAgICAgICBlbHNlCistICAg ICAgICAgICAgdGV4dFkgLT0gbV9ZdGhpY2tuZXNzIC8gMjsKKy0gICAgfQorLQorLSAgICAvLyBk cmF3IHRhYiB0ZXh0CistICAgIEdka0NvbG9yIHRleHRfY29sb3VyID0gcGFnZS5hY3RpdmUgPyBz dHlsZV9ub3RlYm9vay0+ZmdbR1RLX1NUQVRFX05PUk1BTF0gOiBzdHlsZV9ub3RlYm9vay0+Zmdb R1RLX1NUQVRFX0FDVElWRV07CistICAgIGRjLlNldFRleHRGb3JlZ3JvdW5kKHd4Q29sb3IodGV4 dF9jb2xvdXIpKTsKKy0gICAgR2RrUmVjdGFuZ2xlIGZvY3VzX2FyZWE7CistCistICAgIGludCBw YWRkaW5nX2ZvY3VzID0gcGFkZGluZyAtIGZvY3VzX3dpZHRoOworLSAgICBmb2N1c19hcmVhLngg PSB0YWJfcmVjdC54ICsgcGFkZGluZ19mb2N1czsKKy0gICAgZm9jdXNfYXJlYS55ID0gdGV4dFkg LSBmb2N1c193aWR0aDsKKy0gICAgZm9jdXNfYXJlYS53aWR0aCA9IHRhYl9yZWN0LndpZHRoIC0g MiAqIHBhZGRpbmdfZm9jdXM7CistICAgIGZvY3VzX2FyZWEuaGVpZ2h0ID0gdGV4dEggKyAyICog Zm9jdXNfd2lkdGg7CistCistICAgIGlmKHBhZ2UuYWN0aXZlICYmICh3bmQtPkZpbmRGb2N1cygp ID09IHduZCkgJiYgZm9jdXNfYXJlYS54IDw9IChhcmVhLnggKyBhcmVhLndpZHRoKSkKKy0gICAg eworLSAgICAgICAgLy8gY2xpcHBpbmcgc2VlbXMgbm90IHRvIHdvcmsgaGVyZSwgc28gd2Ugd2Ug aGF2ZSB0byByZWNhbGMgdGhlIGZvY3VzLWFyZWEgbWFudWFsbHkKKy0gICAgICAgIGlmKChmb2N1 c19hcmVhLnggKyBmb2N1c19hcmVhLndpZHRoKSA+IChhcmVhLnggKyBhcmVhLndpZHRoKSkKKy0g ICAgICAgICAgICBmb2N1c19hcmVhLndpZHRoID0gYXJlYS54ICsgYXJlYS53aWR0aCAtIGZvY3Vz X2FyZWEueCArIGZvY3VzX3dpZHRoIC0gbV9UYWJWQm9yZGVyOworLSAgICAgICAgZ3RrX3BhaW50 X2ZvY3VzIChzdHlsZV9ub3RlYm9vaywgcFdpbiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAg R1RLX1NUQVRFX0FDVElWRSwgTlVMTCwgd2lkZ2V0LCAidGFiIiwKKy0gICAgICAgICAgICAgICAg ICAgICAgICAgZm9jdXNfYXJlYS54LCBmb2N1c19hcmVhLnksIGZvY3VzX2FyZWEud2lkdGgsIGZv Y3VzX2FyZWEuaGVpZ2h0KTsKKy0gICAgfQorLQorLSAgICBkYy5EcmF3VGV4dChwYWdlLmNhcHRp b24sIHRleHRYLCB0ZXh0WSk7CistCistICAgIC8vIGRyYXcgY2xvc2UtYnV0dG9uIG9uIHRhYiAo aWYgZW5hYmxlZCkKKy0gICAgaWYgKGNsb3NlX2J1dHRvbl9zdGF0ZSAhPSB3eEFVSV9CVVRUT05f U1RBVEVfSElEREVOKQorLSAgICB7CistICAgICAgICB3eFJlY3QgcmVjdCh0YWJfcmVjdC54LCB0 YWJfcmVjdC55LCB0YWJfcmVjdC53aWR0aCAtIG1fWHRoaWNrbmVzcywgdGFiX3JlY3QuaGVpZ2h0 KTsKKy0gICAgICAgIGlmKCFwYWdlLmFjdGl2ZSkKKy0gICAgICAgIHsKKy0gICAgICAgICAgICBp ZiAodGFiX3BvcyA9PSB3eEFVSV9OQl9UT1ApCistICAgICAgICAgICAgICAgIHJlY3QueSArPSBt X1l0aGlja25lc3MgLyAyOworLSAgICAgICAgICAgIGVsc2UKKy0gICAgICAgICAgICAgICAgcmVj dC55IC09IG1fWXRoaWNrbmVzcyAvIDI7CistICAgICAgICB9CistICAgICAgICAqb3V0X2J1dHRv bl9yZWN0ID0gRHJhd0Nsb3NlQnV0dG9uKGRjLCB3aWRnZXQsIGNsb3NlX2J1dHRvbl9zdGF0ZSwg cmVjdCwgd3hSSUdIVCwgJmFyZWEpOworLSAgICB9CistCistICAgIHRhYl9yZWN0LndpZHRoID0g c3RkOjptaW4odGFiX3JlY3Qud2lkdGgsIGNsaXBfd2lkdGgpOworLSAgICAqb3V0X3RhYl9yZWN0 ID0gdGFiX3JlY3Q7CistCistICAgIGRjLkRlc3Ryb3lDbGlwcGluZ1JlZ2lvbigpOworLX0KKy0K Ky13eFJlY3QgRHJhd1NpbXBsZUFycm93KHd4REMmIGRjLAorLSAgICAgICAgICAgICAgICAgICAg ICAgR3RrV2lkZ2V0ICp3aWRnZXQsCistICAgICAgICAgICAgICAgICAgICAgICBpbnQgYnV0dG9u X3N0YXRlLAorLSAgICAgICAgICAgICAgICAgICAgICAgd3hSZWN0IGNvbnN0ICZpbl9yZWN0LAor LSAgICAgICAgICAgICAgICAgICAgICAgaW50IG9yaWVudGF0aW9uLAorLSAgICAgICAgICAgICAg ICAgICAgICAgR3RrQXJyb3dUeXBlIGFycm93X3R5cGUpCisteworLSAgICBpbnQgc2Nyb2xsX2Fy cm93X2hsZW5ndGgsIHNjcm9sbF9hcnJvd192bGVuZ3RoOworLSAgICBndGtfd2lkZ2V0X3N0eWxl X2dldCh3aWRnZXQsCistICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JvbGwtYXJyb3ctaGxl bmd0aCIsICZzY3JvbGxfYXJyb3dfaGxlbmd0aCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAg InNjcm9sbC1hcnJvdy12bGVuZ3RoIiwgJnNjcm9sbF9hcnJvd192bGVuZ3RoLAorLSAgICAgICAg ICAgICAgICAgICAgICAgICBOVUxMKTsKKy0KKy0gICAgR3RrU3RhdGVUeXBlIHN0YXRlOworLSAg ICBHdGtTaGFkb3dUeXBlIHNoYWRvdzsKKy0gICAgQnV0dG9uU3RhdGVBbmRTaGFkb3coYnV0dG9u X3N0YXRlLCBzdGF0ZSwgc2hhZG93KTsKKy0KKy0gICAgd3hSZWN0IG91dF9yZWN0OworLQorLSAg ICBpZiAob3JpZW50YXRpb24gPT0gd3hMRUZUKQorLSAgICAgICAgb3V0X3JlY3QueCA9IGluX3Jl Y3QueDsKKy0gICAgZWxzZQorLSAgICAgICAgb3V0X3JlY3QueCA9IGluX3JlY3QueCArIGluX3Jl Y3Qud2lkdGggLSBzY3JvbGxfYXJyb3dfaGxlbmd0aDsKKy0gICAgb3V0X3JlY3QueSA9IChpbl9y ZWN0LnkgKyBpbl9yZWN0LmhlaWdodCAtIDMgKiBnZXRfc3R5bGVfbm90ZWJvb2soKS0+eXRoaWNr bmVzcyAtIHNjcm9sbF9hcnJvd192bGVuZ3RoKSAvIDI7CistICAgIG91dF9yZWN0LndpZHRoID0g c2Nyb2xsX2Fycm93X2hsZW5ndGg7CistICAgIG91dF9yZWN0LmhlaWdodCA9IHNjcm9sbF9hcnJv d192bGVuZ3RoOworLQorLSNpZiB3eENIRUNLX1ZFUlNJT04oMywgMCwgMCkKKy0gICAgd3hHVEtE Q0ltcGwgKmltcGxkYyA9ICh3eEdUS0RDSW1wbCopIGRjLkdldEltcGwoKTsKKy0gICAgR2RrV2lu ZG93KiBwV2luID0gaW1wbGRjLT5HZXRHREtXaW5kb3coKTsKKy0jZWxzZQorLSAgICBHZGtXaW5k b3cqIHBXaW4gPSBkYy5HZXRHREtXaW5kb3coKTsKKy0jZW5kaWYKKy0gICAgZ3RrX3BhaW50X2Fy cm93IChnZXRfc3R5bGVfYnV0dG9uKCksIHBXaW4sIHN0YXRlLCBzaGFkb3csIG51bGxwdHIsIHdp ZGdldCwgIm5vdGVib29rIiwKKy0gICAgICAgICAgICAgICAgICAgICBhcnJvd190eXBlLCBUUlVF LCBvdXRfcmVjdC54LCBvdXRfcmVjdC55LCBvdXRfcmVjdC53aWR0aCwgb3V0X3JlY3QuaGVpZ2h0 KTsKKy0KKy0gICAgcmV0dXJuIG91dF9yZWN0OworLX0KKy0KKy12b2lkIE5iU3R5bGVHVEs6OkRy YXdCdXR0b24od3hEQyYgZGMsIHd4V2luZG93KiB3bmQsCistICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGNvbnN0IHd4UmVjdCYgaW5fcmVjdCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgaW50IGJpdG1hcF9pZCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGJ1dHRv bl9zdGF0ZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG9yaWVudGF0aW9uLAor LSAgICAgICAgICAgICAgICAgICAgICAgICAgICB3eFJlY3QqIG91dF9yZWN0KQorLXsKKy0gICAg R3RrV2lkZ2V0ICp3aWRnZXQgPSB3bmQtPkdldEhhbmRsZSgpOworLSAgICB3eFJlY3QgcmVjdCA9 IGluX3JlY3Q7CistICAgIGlmIChtX2ZsYWdzICZ3eEFVSV9OQl9CT1RUT00pCistICAgICAgICBy ZWN0LnkgKz0gMiAqIGdldF9zdHlsZV9idXR0b24oKS0+eXRoaWNrbmVzczsKKy0KKy0gICAgc3dp dGNoIChiaXRtYXBfaWQpCistICAgIHsKKy0gICAgICAgIGNhc2Ugd3hBVUlfQlVUVE9OX0NMT1NF OgorLSAgICAgICAgICAgIHJlY3QueSAtPSAyICogZ2V0X3N0eWxlX2J1dHRvbigpLT55dGhpY2tu ZXNzOworLSAgICAgICAgICAgIHJlY3QgPSBEcmF3Q2xvc2VCdXR0b24oZGMsIHdpZGdldCwgYnV0 dG9uX3N0YXRlLCByZWN0LCBvcmllbnRhdGlvbiwgTlVMTCk7CistICAgICAgICAgICAgYnJlYWs7 CistCistICAgICAgICBjYXNlIHd4QVVJX0JVVFRPTl9MRUZUOgorLSAgICAgICAgICAgIHJlY3Qg PSBEcmF3U2ltcGxlQXJyb3coZGMsIHdpZGdldCwgYnV0dG9uX3N0YXRlLCByZWN0LCBvcmllbnRh dGlvbiwgR1RLX0FSUk9XX0xFRlQpOworLSAgICAgICAgICAgIGJyZWFrOworLQorLSAgICAgICAg Y2FzZSB3eEFVSV9CVVRUT05fUklHSFQ6CistICAgICAgICAgICAgcmVjdCA9IERyYXdTaW1wbGVB cnJvdyhkYywgd2lkZ2V0LCBidXR0b25fc3RhdGUsIHJlY3QsIG9yaWVudGF0aW9uLCBHVEtfQVJS T1dfUklHSFQpOworLSAgICAgICAgICAgIGJyZWFrOworLQorLSAgICAgICAgY2FzZSB3eEFVSV9C VVRUT05fV0lORE9XTElTVDoKKy0gICAgICAgICAgICB7CistICAgICAgICAgICAgICAgIHJlY3Qu aGVpZ2h0IC09IDQgKiBnZXRfc3R5bGVfYnV0dG9uKCktPnl0aGlja25lc3M7CistICAgICAgICAg ICAgICAgIHJlY3Qud2lkdGggPSByZWN0LmhlaWdodDsKKy0gICAgICAgICAgICAgICAgcmVjdC54 ID0gaW5fcmVjdC54ICsgaW5fcmVjdC53aWR0aCAtIHJlY3Qud2lkdGg7CistCistICAgICAgICAg ICAgICAgIGlmIChidXR0b25fc3RhdGUgPT0gd3hBVUlfQlVUVE9OX1NUQVRFX0hPVkVSKQorLSAg ICAgICAgICAgICAgICAgICAgd3hSZW5kZXJlck5hdGl2ZTo6R2V0KCkuRHJhd0NvbWJvQm94RHJv cEJ1dHRvbih3bmQsIGRjLCByZWN0LCB3eENPTlRST0xfQ1VSUkVOVCk7CistICAgICAgICAgICAg ICAgIGVsc2UgaWYgKGJ1dHRvbl9zdGF0ZSA9PSB3eEFVSV9CVVRUT05fU1RBVEVfUFJFU1NFRCkK Ky0gICAgICAgICAgICAgICAgICAgIHd4UmVuZGVyZXJOYXRpdmU6OkdldCgpLkRyYXdDb21ib0Jv eERyb3BCdXR0b24od25kLCBkYywgcmVjdCwgd3hDT05UUk9MX1BSRVNTRUQpOworLSAgICAgICAg ICAgICAgICBlbHNlCistICAgICAgICAgICAgICAgICAgICB3eFJlbmRlcmVyTmF0aXZlOjpHZXQo KS5EcmF3RHJvcEFycm93KHduZCwgZGMsIHJlY3QpOworLSAgICAgICAgICAgIH0KKy0gICAgICAg ICAgICBicmVhazsKKy0KKy0gICAgICAgIGRlZmF1bHQ6CistICAgICAgICAgICAgYnJlYWs7Cist ICAgIH0KKy0KKy0gICAgKm91dF9yZWN0ID0gcmVjdDsKKy19CistCistCistaW50IE5iU3R5bGVH VEs6OkdldEJlc3RUYWJDdHJsU2l6ZSh3eFdpbmRvdyogd25kLAorLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgY29uc3Qgd3hBdWlOb3RlYm9va1BhZ2VBcnJheSYgcGFnZXMsCist ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB3eFNpemUmIHJlcXVpcmVk X2JtcF9zaXplKQorLXsKKy0jaWYgd3hDSEVDS19WRVJTSU9OKDMsIDAsIDApCistICAgIFNldE1l YXN1cmluZ0ZvbnQobV9ub3JtYWxGb250KTsKKy0gICAgU2V0U2VsZWN0ZWRGb250KG1fbm9ybWFs Rm9udCk7CistI2Vsc2UKKy0gICAgU2V0TWVhc3VyaW5nRm9udChtX25vcm1hbF9mb250KTsKKy0g ICAgU2V0U2VsZWN0ZWRGb250KG1fbm9ybWFsX2ZvbnQpOworLSNlbmRpZgorLSAgICBpbnQgdGFi X2hlaWdodCA9IDMgKiBnZXRfc3R5bGVfbm90ZWJvb2soKS0+eXRoaWNrbmVzcyArIHd4QXVpRGVm YXVsdFRhYkFydDo6R2V0QmVzdFRhYkN0cmxTaXplKHduZCwgcGFnZXMsIHJlcXVpcmVkX2JtcF9z aXplKTsKKy0gICAgcmV0dXJuIHRhYl9oZWlnaHQ7CistfQorLQorLXd4U2l6ZSBOYlN0eWxlR1RL OjpHZXRUYWJTaXplKHd4REMmIGRjLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHd4 V2luZG93KiB3bmQsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgd3hTdHJp bmcmIGNhcHRpb24sCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgd3hCaXRt YXAmIGJpdG1hcCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGFjdGl2ZSwK Ky0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgY2xvc2VfYnV0dG9uX3N0YXRlLAor LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCogeF9leHRlbnQpCisteworLSAgICB3 eFNpemUgcyA9IHd4QXVpRGVmYXVsdFRhYkFydDo6R2V0VGFiU2l6ZShkYywgd25kLCBjYXB0aW9u LCBiaXRtYXAsIGFjdGl2ZSwgY2xvc2VfYnV0dG9uX3N0YXRlLCB4X2V4dGVudCk7CistCistICAg IGludCBvdmVybGFwID0gMDsKKy0gICAgZ3RrX3dpZGdldF9zdHlsZV9nZXQgKHduZC0+R2V0SGFu ZGxlKCksCistICAgICAgICAiZm9jdXMtbGluZS13aWR0aCIsICZvdmVybGFwLAorLSAgICAgICAg TlVMTCk7CistICAgICp4X2V4dGVudCAtPSBvdmVybGFwOworLSAgICByZXR1cm4gczsKKy19Cist CistI2VuZGlmIC8vICNpZiBkZWZpbmVkKF9fV1hHVEtfXykgJiYgKFVTRV9HVEtfTk9URUJPT0sp ICYmICF3eENIRUNLX1ZFUlNJT04oMywgMCwgMCkKK0luZGV4OiBzcmMvc3JjL3Byb2plY3RtYW5h Z2VydWkuY3BwCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09CistLS0gYS9zcmMvc3JjL3Byb2plY3RtYW5hZ2VydWkuY3Bw CShyZXZpc2lvbiAxMjU3OSkKKysrKyBiL3NyYy9zcmMvcHJvamVjdG1hbmFnZXJ1aS5jcHAJKHJl dmlzaW9uIDEyNTgwKQorQEAgLTE4NzUsMTEgKzE4NzUsNyBAQAorIHsKKyAgICAgc2l6ZV90IG9w ZXJhdG9yKCkoY29uc3Qgd3hTdHJpbmcmIHMpIGNvbnN0CisgICAgIHsKKy0jaWYgd3hDSEVDS19W RVJTSU9OKDMsIDAsIDApCisgICAgICAgICByZXR1cm4gc3RkOjpoYXNoPHN0ZDo6d3N0cmluZz4o KShzLlRvU3RkV3N0cmluZygpKTsKKy0jZWxzZQorLSAgICAgICAgcmV0dXJuIHN0ZDo6aGFzaDxz dGQ6OndzdHJpbmc+KCkocy53Y19zdHIoKSk7CistI2VuZGlmIC8vIHd4Q0hFQ0tfVkVSU0lPTgor ICAgICB9CisgfTsKKyAKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY29kZWJsb2Nrcy9wYXRjaGVzLzAw MC5yMTI3MDcucGF0Y2ggYi9zcmNwa2dzL2NvZGVibG9ja3MvcGF0Y2hlcy8wMDAucjEyNzA3LnBh dGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAuLmJjYTk3NGZiZTU3 NzAKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2NvZGVibG9ja3MvcGF0Y2hlcy8wMDAucjEy NzA3LnBhdGNoCkBAIC0wLDAgKzEsMTIwIEBACitJbmRleDogc3JjL3NyYy9ub3RlYm9va3N0eWxl cy5jcHAKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KKy0tLSBhL3NyYy9zcmMvbm90ZWJvb2tzdHlsZXMuY3BwCShyZXZp c2lvbiAxMjcwNikKKysrKyBiL3NyYy9zcmMvbm90ZWJvb2tzdHlsZXMuY3BwCShyZXZpc2lvbiAx MjcwNykKK0BAIC0xMjQsOCArMTI0LDE2IEBACisgICAgIGlmIChwYWdlLmJpdG1hcC5Jc09rKCkp CisgICAgIHsKKyAgICAgICAgIGJpdG1hcF9vZmZzZXQgPSB0YWJfeCArIDg7CisrICAgICAgICAv LyBkcmF3IGJpdG1hcAorKyNpZiB3eENIRUNLX1ZFUlNJT04oMywgMSwgNikKKysgICAgICAgIGNv bnN0IHd4Qml0bWFwIGJtcChwYWdlLmJpdG1hcC5HZXRCaXRtYXBGb3Iod25kKSk7CisrICAgICAg ICBkYy5EcmF3Qml0bWFwKGJtcCwKKysgICAgICAgICAgICAgICAgICAgICAgYml0bWFwX29mZnNl dCwKKysgICAgICAgICAgICAgICAgICAgICAgZHJhd25fdGFiX3lvZmYgKyAoZHJhd25fdGFiX2hl aWdodC8yKSAtIChibXAuR2V0SGVpZ2h0KCkvMiksCisrICAgICAgICAgICAgICAgICAgICAgIHRy dWUpOworIAorLSAgICAgICAgLy8gZHJhdyBiaXRtYXAKKysgICAgICAgIHRleHRfb2Zmc2V0ID0g Yml0bWFwX29mZnNldCArIGJtcC5HZXRXaWR0aCgpOworKyNlbHNlCisgICAgICAgICBkYy5EcmF3 Qml0bWFwKHBhZ2UuYml0bWFwLAorICAgICAgICAgICAgICAgICAgICAgICBiaXRtYXBfb2Zmc2V0 LAorICAgICAgICAgICAgICAgICAgICAgICBkcmF3bl90YWJfeW9mZiArIChkcmF3bl90YWJfaGVp Z2h0LzIpIC0gKHBhZ2UuYml0bWFwLkdldEhlaWdodCgpLzIpLAorQEAgLTEzMiw2ICsxNDAsNyBA QAorICAgICAgICAgICAgICAgICAgICAgICB0cnVlKTsKKyAKKyAgICAgICAgIHRleHRfb2Zmc2V0 ID0gYml0bWFwX29mZnNldCArIHBhZ2UuYml0bWFwLkdldFdpZHRoKCk7CisrI2VuZGlmCisgICAg ICAgICB0ZXh0X29mZnNldCArPSAzOyAvLyBiaXRtYXAgcGFkZGluZworICAgICB9CisgICAgICBl bHNlCitAQCAtMTYxLDEzICsxNzAsMjMgQEAKKyAgICAgLy8gZHJhdyAneCcgb24gdGFiIChpZiBl bmFibGVkKQorICAgICBpZiAoY2xvc2VfYnV0dG9uX3N0YXRlICE9IHd4QVVJX0JVVFRPTl9TVEFU RV9ISURERU4pCisgICAgIHsKKy0gICAgICAgIGludCBjbG9zZV9idXR0b25fd2lkdGggPSBtX2Fj dGl2ZUNsb3NlQm1wLkdldFdpZHRoKCk7CistICAgICAgICB3eEJpdG1hcCBibXAgPSBtX2Rpc2Fi bGVkQ2xvc2VCbXA7CisrICAgICAgICB3eEJpdG1hcCBibXA7CisgCisrI2lmIHd4Q0hFQ0tfVkVS U0lPTigzLCAxLCA2KQorICAgICAgICAgaWYgKChjbG9zZV9idXR0b25fc3RhdGUgPT0gd3hBVUlf QlVUVE9OX1NUQVRFX0hPVkVSKSB8fAorICAgICAgICAgICAgICAgICAgICAgKGNsb3NlX2J1dHRv bl9zdGF0ZSA9PSB3eEFVSV9CVVRUT05fU1RBVEVfUFJFU1NFRCkpCisrICAgICAgICAgICAgYm1w ID0gbV9hY3RpdmVDbG9zZUJtcC5HZXRCaXRtYXBGb3Iod25kKTsKKysgICAgICAgIGVsc2UKKysg ICAgICAgICAgICBibXAgPSBtX2Rpc2FibGVkQ2xvc2VCbXAuR2V0Qml0bWFwRm9yKHduZCk7Cisr I2Vsc2UKKysgICAgICAgIGlmICgoY2xvc2VfYnV0dG9uX3N0YXRlID09IHd4QVVJX0JVVFRPTl9T VEFURV9IT1ZFUikgfHwKKysgICAgICAgICAgICAgICAgICAgIChjbG9zZV9idXR0b25fc3RhdGUg PT0gd3hBVUlfQlVUVE9OX1NUQVRFX1BSRVNTRUQpKQorICAgICAgICAgICAgIGJtcCA9IG1fYWN0 aXZlQ2xvc2VCbXA7CisrICAgICAgICBlbHNlCisrICAgICAgICAgICAgYm1wID0gbV9kaXNhYmxl ZENsb3NlQm1wOworKyNlbmRpZgorIAorKyAgICAgICAgY29uc3QgaW50IGNsb3NlX2J1dHRvbl93 aWR0aCA9IGJtcC5HZXRXaWR0aCgpOworICAgICAgICAgd3hSZWN0IHJlY3QodGFiX3ggKyB0YWJf d2lkdGggLSBjbG9zZV9idXR0b25fd2lkdGggLSAzLAorICAgICAgICAgICAgICAgICAgICAgZHJh d25fdGFiX3lvZmYgKyAoZHJhd25fdGFiX2hlaWdodCAvIDIpIC0gKGJtcC5HZXRIZWlnaHQoKSAv IDIpLAorICAgICAgICAgICAgICAgICAgICAgY2xvc2VfYnV0dG9uX3dpZHRoLCB0YWJfaGVpZ2h0 KTsKK0BAIC0yODUsMTEgKzMwNCwyMCBAQAorICAgICBpbnQgdGV4dF9vZmZzZXQgPSB0YWJfeCAr IDg7CisgCisgICAgIGludCBiaXRtYXBfb2Zmc2V0ID0gMDsKKysKKyAgICAgaWYgKHBhZ2UuYml0 bWFwLklzT2soKSkKKyAgICAgeworICAgICAgICAgYml0bWFwX29mZnNldCA9IHRhYl94ICsgODsK KysgICAgICAgIC8vIGRyYXcgYml0bWFwCisrI2lmIHd4Q0hFQ0tfVkVSU0lPTigzLCAxLCA2KQor KyAgICAgICAgY29uc3Qgd3hCaXRtYXAgYm1wKHBhZ2UuYml0bWFwLkdldEJpdG1hcEZvcih3bmQp KTsKKysgICAgICAgIGRjLkRyYXdCaXRtYXAoYm1wLAorKyAgICAgICAgICAgICAgICAgICAgICBi aXRtYXBfb2Zmc2V0LAorKyAgICAgICAgICAgICAgICAgICAgICBkcmF3bl90YWJfeW9mZiArIChk cmF3bl90YWJfaGVpZ2h0LzIpIC0gKGJtcC5HZXRIZWlnaHQoKS8yKSwKKysgICAgICAgICAgICAg ICAgICAgICAgdHJ1ZSk7CisgCistICAgICAgICAvLyBkcmF3IGJpdG1hcAorKyAgICAgICAgdGV4 dF9vZmZzZXQgPSBiaXRtYXBfb2Zmc2V0ICsgYm1wLkdldFdpZHRoKCk7CisrI2Vsc2UKKyAgICAg ICAgIGRjLkRyYXdCaXRtYXAocGFnZS5iaXRtYXAsCisgICAgICAgICAgICAgICAgICAgICAgIGJp dG1hcF9vZmZzZXQsCisgICAgICAgICAgICAgICAgICAgICAgIGRyYXduX3RhYl95b2ZmICsgKGRy YXduX3RhYl9oZWlnaHQvMikgLSAocGFnZS5iaXRtYXAuR2V0SGVpZ2h0KCkvMiksCitAQCAtMjk2 LDYgKzMyNCw3IEBACisgICAgICAgICAgICAgICAgICAgICAgIHRydWUpOworIAorICAgICAgICAg dGV4dF9vZmZzZXQgPSBiaXRtYXBfb2Zmc2V0ICsgcGFnZS5iaXRtYXAuR2V0V2lkdGgoKTsKKysj ZW5kaWYKKyAgICAgICAgIHRleHRfb2Zmc2V0ICs9IDM7IC8vIGJpdG1hcCBwYWRkaW5nCisgICAg IH0KKyAgICAgIGVsc2UKK0BAIC0zMDMsNyArMzMyLDYgQEAKKyAgICAgICAgIHRleHRfb2Zmc2V0 ID0gdGFiX3ggKyA4OworICAgICB9CisgCistCisgICAgIC8vIGlmIHRoZSBjYXB0aW9uIGlzIGVt cHR5LCBtZWFzdXJlIHNvbWUgdGVtcG9yYXJ5IHRleHQKKyAgICAgd3hTdHJpbmcgY2FwdGlvbiA9 IHBhZ2UuY2FwdGlvbjsKKyAgICAgaWYgKGNhcHRpb24uZW1wdHkoKSkKK0BAIC0zMjUsMTMgKzM1 MywyMyBAQAorICAgICAvLyBkcmF3ICd4JyBvbiB0YWIgKGlmIGVuYWJsZWQpCisgICAgIGlmIChj bG9zZV9idXR0b25fc3RhdGUgIT0gd3hBVUlfQlVUVE9OX1NUQVRFX0hJRERFTikKKyAgICAgewor LSAgICAgICAgaW50IGNsb3NlX2J1dHRvbl93aWR0aCA9IG1fYWN0aXZlQ2xvc2VCbXAuR2V0V2lk dGgoKTsKKy0gICAgICAgIHd4Qml0bWFwIGJtcCA9IG1fZGlzYWJsZWRDbG9zZUJtcDsKKysgICAg ICAgIHd4Qml0bWFwIGJtcDsKKyAKKysjaWYgd3hDSEVDS19WRVJTSU9OKDMsIDEsIDYpCisgICAg ICAgICBpZiAoKGNsb3NlX2J1dHRvbl9zdGF0ZSA9PSB3eEFVSV9CVVRUT05fU1RBVEVfSE9WRVIp IHx8CisgICAgICAgICAgICAgICAgICAgICAoY2xvc2VfYnV0dG9uX3N0YXRlID09IHd4QVVJX0JV VFRPTl9TVEFURV9QUkVTU0VEKSkKKysgICAgICAgICAgICBibXAgPSBtX2FjdGl2ZUNsb3NlQm1w LkdldEJpdG1hcEZvcih3bmQpOworKyAgICAgICAgZWxzZQorKyAgICAgICAgICAgIGJtcCA9IG1f ZGlzYWJsZWRDbG9zZUJtcC5HZXRCaXRtYXBGb3Iod25kKTsKKysjZWxzZQorKyAgICAgICAgaWYg KChjbG9zZV9idXR0b25fc3RhdGUgPT0gd3hBVUlfQlVUVE9OX1NUQVRFX0hPVkVSKSB8fAorKyAg ICAgICAgICAgICAgICAgICAgKGNsb3NlX2J1dHRvbl9zdGF0ZSA9PSB3eEFVSV9CVVRUT05fU1RB VEVfUFJFU1NFRCkpCisgICAgICAgICAgICAgYm1wID0gbV9hY3RpdmVDbG9zZUJtcDsKKysgICAg ICAgIGVsc2UKKysgICAgICAgICAgICBibXAgPSBtX2Rpc2FibGVkQ2xvc2VCbXA7CisrI2VuZGlm CisgCisrICAgICAgICBjb25zdCBpbnQgY2xvc2VfYnV0dG9uX3dpZHRoID0gYm1wLkdldFdpZHRo KCk7CisgICAgICAgICB3eFJlY3QgcmVjdCh0YWJfeCArIHRhYl93aWR0aCAtIGNsb3NlX2J1dHRv bl93aWR0aCAtIDMsCisgICAgICAgICAgICAgICAgICAgICBkcmF3bl90YWJfeW9mZiArIChkcmF3 bl90YWJfaGVpZ2h0IC8gMikgLSAoYm1wLkdldEhlaWdodCgpIC8gMiksCisgICAgICAgICAgICAg ICAgICAgICBjbG9zZV9idXR0b25fd2lkdGgsIHRhYl9oZWlnaHQpOwpkaWZmIC0tZ2l0IGEvc3Jj cGtncy9jb2RlYmxvY2tzL3BhdGNoZXMvd3gtMy4yLnBhdGNoIGIvc3JjcGtncy9jb2RlYmxvY2tz L3BhdGNoZXMvd3gtMy4yLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MDAwMDAuLjA0MDBjZTYzNDYxNzgKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2NvZGVibG9j a3MvcGF0Y2hlcy93eC0zLjIucGF0Y2gKQEAgLTAsMCArMSwyMSBAQAorSW5kZXg6IGNvZGVibG9j a3MtMjAuMDMvc3JjL3Nkay9zY3JpcHRpbmcvYmluZGluZ3Mvc2Nfd3h0eXBlcy5jcHAKKz09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KKy0tLSBjb2RlYmxvY2tzLTIwLjAzLm9yaWcvc3JjL3Nkay9zY3JpcHRpbmcvYmluZGlu Z3Mvc2Nfd3h0eXBlcy5jcHAKKysrKyBjb2RlYmxvY2tzLTIwLjAzL3NyYy9zZGsvc2NyaXB0aW5n L2JpbmRpbmdzL3NjX3d4dHlwZXMuY3BwCitAQCAtMzIyLDYgKzMyMiw3IEBAIG5hbWVzcGFjZSBT Y3JpcHRCaW5kaW5ncworICAgICAgICAgdHlwZWRlZiBib29sKHd4RmlsZU5hbWU6OipXWEZOX1NF VENXRCkoKTsKKyAjZW5kaWYKKyAgICAgICAgIHR5cGVkZWYgYm9vbCh3eEZpbGVOYW1lOjoqV1hG Tl9JU0ZJTEVXUklURUFCTEUpKCljb25zdDsKKysgICAgICAgIHR5cGVkZWYgYm9vbCh3eEZpbGVO YW1lOjoqV1hGTl9OT1JNQUxJWkUpKGludCwgY29uc3Qgd3hTdHJpbmcmLCB3eFBhdGhGb3JtYXQp OworIAorICAgICAgICAgU3FQbHVzOjpTUUNsYXNzRGVmPHd4RmlsZU5hbWU+KCJ3eEZpbGVOYW1l IikuCisgICAgICAgICAgICAgICAgIGVtcHR5Q3RvcigpLgorQEAgLTM1NCw3ICszNTUsNyBAQCBu YW1lc3BhY2UgU2NyaXB0QmluZGluZ3MKKyAgICAgICAgICAgICAgICAgZnVuYygmd3hGaWxlTmFt ZTo6SXNEaXIsICJJc0RpciIpLgorICAgICAgICAgICAgICAgICBmdW5jKCZ3eEZpbGVOYW1lOjpN YWtlQWJzb2x1dGUsICJNYWtlQWJzb2x1dGUiKS4KKyAgICAgICAgICAgICAgICAgZnVuYygmd3hG aWxlTmFtZTo6TWFrZVJlbGF0aXZlVG8sICJNYWtlUmVsYXRpdmVUbyIpLgorLSAgICAgICAgICAg ICAgICBmdW5jKCZ3eEZpbGVOYW1lOjpOb3JtYWxpemUsICJOb3JtYWxpemUiKS4KKysgICAgICAg ICAgICAgICAgZnVuYzxXWEZOX05PUk1BTElaRT4oJnd4RmlsZU5hbWU6Ok5vcm1hbGl6ZSwgIk5v cm1hbGl6ZSIpLgorICAgICAgICAgICAgICAgICBmdW5jKCZ3eEZpbGVOYW1lOjpQcmVwZW5kRGly LCAiUHJlcGVuZERpciIpLgorICAgICAgICAgICAgICAgICBmdW5jKCZ3eEZpbGVOYW1lOjpSZW1v dmVEaXIsICJSZW1vdmVEaXIiKS4KKyAgICAgICAgICAgICAgICAgZnVuYygmd3hGaWxlTmFtZTo6 UmVtb3ZlTGFzdERpciwgIlJlbW92ZUxhc3REaXIiKS4KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY29k ZWJsb2Nrcy90ZW1wbGF0ZSBiL3NyY3BrZ3MvY29kZWJsb2Nrcy90ZW1wbGF0ZQppbmRleCA2YzZj MzFkZmQzZTFlLi40NjQ2NmQ5OTBiZWQxIDEwMDY0NAotLS0gYS9zcmNwa2dzL2NvZGVibG9ja3Mv dGVtcGxhdGUKKysrIGIvc3JjcGtncy9jb2RlYmxvY2tzL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBA QAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnY29kZWJsb2NrcycKIHBrZ25hbWU9Y29kZWJsb2Nrcwog dmVyc2lvbj0yMC4wMwotcmV2aXNpb249NQorcmV2aXNpb249NgogYnVpbGRfc3R5bGU9Z251LWNv bmZpZ3VyZQogY29uZmlndXJlX2FyZ3M9Ii0td2l0aC13eC1jb25maWc9d3gtY29uZmlnLWd0azMg LS13aXRoLWNvbnRyaWItcGx1Z2lucwogIC0td2l0aC1ib29zdD0ke1hCUFNfQ1JPU1NfQkFTRX0v dXNyCgpGcm9tIGYzOWIzN2JlNWFjM2M0YjAyZTg5NmUwMjRlNTAzNjM0MWZjYjEyZjggTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCkZyb206ICJBbmRyZXcgSi4gSGVzZm9yZCIgPGFqaEBzaWRlYmFu ZC5vcmc+CkRhdGU6IE1vbiwgMjUgU2VwIDIwMjMgMDA6MTg6MjAgLTA0MDAKU3ViamVjdDogW1BB VENIIDIwLzQzXSBjb2RlbGl0ZTogcmVidWlsZCB3aXRoIHd4V2lkZ2V0cy1ndGszLTMuMi4yLjEK Ci0tLQogc3JjcGtncy9jb2RlbGl0ZS9wYXRjaGVzL3d4MzIucGF0Y2ggfCAxMzEgKysrKysrKysr KysrKysrKysrKysrKysrKysrKwogc3JjcGtncy9jb2RlbGl0ZS90ZW1wbGF0ZSAgICAgICAgICAg fCAgIDIgKy0KIDIgZmlsZXMgY2hhbmdlZCwgMTMyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24o LSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2NvZGVsaXRlL3BhdGNoZXMvd3gzMi5wYXRj aAoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY29kZWxpdGUvcGF0Y2hlcy93eDMyLnBhdGNoIGIvc3Jj cGtncy9jb2RlbGl0ZS9wYXRjaGVzL3d4MzIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMDAwMDAwMC4uZjU1MzVlYmFmMWIzYgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3Br Z3MvY29kZWxpdGUvcGF0Y2hlcy93eDMyLnBhdGNoCkBAIC0wLDAgKzEsMTMxIEBACitGcm9tIDQy N2FmMzU4ZDQxZGViMDBhNDYyOGU1YjM5YzYzYTkyOWNlZjg5NGEgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCitGcm9tOiBFcmFuIElmcmFoIDxlcmFuQGNvZGVsaXRlLm9yZz4KK0RhdGU6IEZyaSwg MTAgSnVuIDIwMjIgMTA6MTU6NTIgKzAzMDAKK1N1YmplY3Q6IFtQQVRDSF0gbWFjb3M6IGh1bnNw ZWxsOiB1c2UgdGhlIGxpYnJhcnkgZnJvbSBicmV3IGZpeGVkIGJ1aWxkCisgYWdhaW5zdCB3eDMu MS43IHRlbXBvcmFybHk6IGRpc2FibGUgYnVpbGRpbmcgTExEQiBvbiBtYWNvcworCistLS0KKyBD TWFrZUxpc3RzLnR4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgNSArLQorIFNw ZWxsQ2hlY2tlci9DTWFrZUxpc3RzLnR4dCAgICAgICAgICAgICAgICAgIHwgIDI3ICstCisgc2Rr L2h1bnNwZWxsL2luY2x1ZGUvYWZmZW50cnkuaHh4ICAgICAgICAgICAgfCAxNDQgLS0tLS0tLS0t LS0KKyBzZGsvaHVuc3BlbGwvaW5jbHVkZS9hZmZpeG1nci5oeHggICAgICAgICAgICB8IDI1MiAt LS0tLS0tLS0tLS0tLS0tLS0tCisgc2RrL2h1bnNwZWxsL2luY2x1ZGUvYXR5cGVzLmh4eCAgICAg ICAgICAgICAgfCAxMDcgLS0tLS0tLS0KKyBzZGsvaHVuc3BlbGwvaW5jbHVkZS9iYXNlYWZmaXgu aHh4ICAgICAgICAgICB8ICAzMiAtLS0KKyBzZGsvaHVuc3BlbGwvaW5jbHVkZS9jc3V0aWwuaHh4 ICAgICAgICAgICAgICB8IDIyMyAtLS0tLS0tLS0tLS0tLS0tCisgc2RrL2h1bnNwZWxsL2luY2x1 ZGUvZGljdG1nci5oeHggICAgICAgICAgICAgfCAgMzkgLS0tCisgc2RrL2h1bnNwZWxsL2luY2x1 ZGUvZmlsZW1nci5oeHggICAgICAgICAgICAgfCAgMjggLS0tCisgc2RrL2h1bnNwZWxsL2luY2x1 ZGUvaGFzaG1nci5oeHggICAgICAgICAgICAgfCAgNjkgLS0tLS0KKyBzZGsvaHVuc3BlbGwvaW5j bHVkZS9odHlwZXMuaHh4ICAgICAgICAgICAgICB8ICAzMiAtLS0KKyBzZGsvaHVuc3BlbGwvaW5j bHVkZS9odW5zcGVsbC5oeHggICAgICAgICAgICB8IDE4NCAtLS0tLS0tLS0tLS0tLQorIHNkay9o dW5zcGVsbC9pbmNsdWRlL2h1bnppcC5oeHggICAgICAgICAgICAgIHwgIDQ3IC0tLS0KKyBzZGsv aHVuc3BlbGwvaW5jbHVkZS9sYW5nbnVtLmh4eCAgICAgICAgICAgICB8ICAzOCAtLS0KKyBzZGsv aHVuc3BlbGwvaW5jbHVkZS9waG9uZXQuaHh4ICAgICAgICAgICAgICB8ICA1MiAtLS0tCisgc2Rr L2h1bnNwZWxsL2luY2x1ZGUvcmVwbGlzdC5oeHggICAgICAgICAgICAgfCAgMzAgLS0tCisgc2Rr L2h1bnNwZWxsL2luY2x1ZGUvc3VnZ2VzdG1nci5oeHggICAgICAgICAgfCAxMTUgLS0tLS0tLS0t Cisgc2RrL2h1bnNwZWxsL2luY2x1ZGUvd19jaGFyLmh4eCAgICAgICAgICAgICAgfCAgMjEgLS0K KyBzZGsvaHVuc3BlbGwvbGliL29zeC9saWJodW5zcGVsbC0xLjMuMC5keWxpYiB8IEJpbiAzNjM4 NzYgLT4gMCBieXRlcworIHd4Y3JhZnRlci9teXhoX3Byb3BncmlkLmNwcCAgICAgICAgICAgICAg ICAgIHwgIDMyICsrLQorIDIwIGZpbGVzIGNoYW5nZWQsIDM2IGluc2VydGlvbnMoKyksIDE0NDEg ZGVsZXRpb25zKC0pCisgZGVsZXRlIG1vZGUgMTAwNjQ0IHNkay9odW5zcGVsbC9pbmNsdWRlL2Fm ZmVudHJ5Lmh4eAorIGRlbGV0ZSBtb2RlIDEwMDY0NCBzZGsvaHVuc3BlbGwvaW5jbHVkZS9hZmZp eG1nci5oeHgKKyBkZWxldGUgbW9kZSAxMDA2NDQgc2RrL2h1bnNwZWxsL2luY2x1ZGUvYXR5cGVz Lmh4eAorIGRlbGV0ZSBtb2RlIDEwMDY0NCBzZGsvaHVuc3BlbGwvaW5jbHVkZS9iYXNlYWZmaXgu aHh4CisgZGVsZXRlIG1vZGUgMTAwNjQ0IHNkay9odW5zcGVsbC9pbmNsdWRlL2NzdXRpbC5oeHgK KyBkZWxldGUgbW9kZSAxMDA2NDQgc2RrL2h1bnNwZWxsL2luY2x1ZGUvZGljdG1nci5oeHgKKyBk ZWxldGUgbW9kZSAxMDA2NDQgc2RrL2h1bnNwZWxsL2luY2x1ZGUvZmlsZW1nci5oeHgKKyBkZWxl dGUgbW9kZSAxMDA2NDQgc2RrL2h1bnNwZWxsL2luY2x1ZGUvaGFzaG1nci5oeHgKKyBkZWxldGUg bW9kZSAxMDA2NDQgc2RrL2h1bnNwZWxsL2luY2x1ZGUvaHR5cGVzLmh4eAorIGRlbGV0ZSBtb2Rl IDEwMDY0NCBzZGsvaHVuc3BlbGwvaW5jbHVkZS9odW5zcGVsbC5oeHgKKyBkZWxldGUgbW9kZSAx MDA2NDQgc2RrL2h1bnNwZWxsL2luY2x1ZGUvaHVuemlwLmh4eAorIGRlbGV0ZSBtb2RlIDEwMDY0 NCBzZGsvaHVuc3BlbGwvaW5jbHVkZS9sYW5nbnVtLmh4eAorIGRlbGV0ZSBtb2RlIDEwMDY0NCBz ZGsvaHVuc3BlbGwvaW5jbHVkZS9waG9uZXQuaHh4CisgZGVsZXRlIG1vZGUgMTAwNjQ0IHNkay9o dW5zcGVsbC9pbmNsdWRlL3JlcGxpc3QuaHh4CisgZGVsZXRlIG1vZGUgMTAwNjQ0IHNkay9odW5z cGVsbC9pbmNsdWRlL3N1Z2dlc3RtZ3IuaHh4CisgZGVsZXRlIG1vZGUgMTAwNjQ0IHNkay9odW5z cGVsbC9pbmNsdWRlL3dfY2hhci5oeHgKKyBkZWxldGUgbW9kZSAxMDA3NTUgc2RrL2h1bnNwZWxs L2xpYi9vc3gvbGliaHVuc3BlbGwtMS4zLjAuZHlsaWIKKworZGlmZiAtLWdpdCBhL3d4Y3JhZnRl ci9teXhoX3Byb3BncmlkLmNwcCBiL3d4Y3JhZnRlci9teXhoX3Byb3BncmlkLmNwcAoraW5kZXgg OTc0YmM2MmYwLi4zZmNiMzg0NWQgMTAwNjQ0CistLS0gYS93eGNyYWZ0ZXIvbXl4aF9wcm9wZ3Jp ZC5jcHAKKysrKyBiL3d4Y3JhZnRlci9teXhoX3Byb3BncmlkLmNwcAorQEAgLTEsNCArMSw1IEBA CisgI2luY2x1ZGUgIm15eGhfcHJvcGdyaWQuaCIKKysKKyAjaW5jbHVkZSA8d3gvZGF0ZXRpbWUu aD4KKyAjaW5jbHVkZSA8d3gvbG9nLmg+CisgI2luY2x1ZGUgPHd4L3Byb3BncmlkL2FkdnByb3Bz Lmg+CitAQCAtNDgsMTAgKzQ5LDE0IEBAIHd4T2JqZWN0KiBNeVd4UHJvcEdyaWRYbWxIYW5kbGVy OjpEb0NyZWF0ZVJlc291cmNlKCkKKyAKKyAgICAgICAgIC8vIGFkZCB0aGUgc3BsaXR0ZXIgcHJv cGVydHkgYWZ0ZXIgdGhlIGNoaWxkcmVuIHdlcmUgYWRkZWQKKyAgICAgICAgIGludCBzcGxpdHRl ckxlZnQgPSBHZXRCb29sKCJzcGxpdHRlcmxlZnQiKTsKKy0gICAgICAgIGlmKHNwbGl0dGVyTGVm dCkgeyBtX3BnbWdyLT5HZXRQYWdlKDApLT5TZXRTcGxpdHRlckxlZnQoKTsgfQorKyAgICAgICAg aWYoc3BsaXR0ZXJMZWZ0KSB7CisrICAgICAgICAgICAgbV9wZ21nci0+U2V0U3BsaXR0ZXJMZWZ0 KCk7CisrICAgICAgICB9CisgCisgICAgICAgICBpbnQgc3BsaXR0ZXJQb3MgPSBHZXRMb25nKCJz cGxpdHRlcnBvcyIsIHd4Tk9UX0ZPVU5EKTsKKy0gICAgICAgIGlmKHNwbGl0dGVyUG9zICE9IHd4 Tk9UX0ZPVU5EKSB7IG1fcGdtZ3ItPkdldFBhZ2UoMCktPlNldFNwbGl0dGVyUG9zaXRpb24oc3Bs aXR0ZXJQb3MpOyB9CisrICAgICAgICBpZihzcGxpdHRlclBvcyAhPSB3eE5PVF9GT1VORCkgewor KyAgICAgICAgICAgIG1fcGdtZ3ItPkdldFBhZ2UoMCktPlNldFNwbGl0dGVyUG9zaXRpb24oc3Bs aXR0ZXJQb3MpOworKyAgICAgICAgfQorIAorICAgICAgICAgbV9pc0luc2lkZSA9IGZhbHNlOwor ICAgICAgICAgcmV0dXJuIG1fcGdtZ3I7CitAQCAtNjcsNyArNzIsOSBAQCBib29sIE15V3hQcm9w R3JpZFhtbEhhbmRsZXI6OkNhbkhhbmRsZSh3eFhtbE5vZGUqIG5vZGUpCisgCisgdm9pZCBNeVd4 UHJvcEdyaWRYbWxIYW5kbGVyOjpIYW5kbGVQZ1Byb3BlcnR5KHd4UEdQcm9wZXJ0eSogcGFyZW50 KQorIHsKKy0gICAgaWYoIUhhc1BhcmFtKHd4VCgicHJvcHR5cGUiKSkpIHsgcmV0dXJuOyB9Cisr ICAgIGlmKCFIYXNQYXJhbSh3eFQoInByb3B0eXBlIikpKSB7CisrICAgICAgICByZXR1cm47Cisr ICAgIH0KKyAKKyAgICAgLy8gUHJvcGVydHkKKyAgICAgd3hTdHJpbmcgcHJvcHR5cGUgPSBHZXRU ZXh0KCJwcm9wdHlwZSIpOworQEAgLTExNiw3ICsxMjMsOSBAQCB2b2lkIE15V3hQcm9wR3JpZFht bEhhbmRsZXI6OkhhbmRsZVBnUHJvcGVydHkod3hQR1Byb3BlcnR5KiBwYXJlbnQpCisgCisgICAg IH0gZWxzZSBpZihwcm9wdHlwZSA9PSAid3hFbnVtUHJvcGVydHkiKSB7CisgICAgICAgICBpbnQg c2VsID0gaXRlbXMuSW5kZXgodmFsdWUpOworLSAgICAgICAgaWYoc2VsID09IHd4Tk9UX0ZPVU5E KSB7IHNlbCA9IDA7IH0KKysgICAgICAgIGlmKHNlbCA9PSB3eE5PVF9GT1VORCkgeworKyAgICAg ICAgICAgIHNlbCA9IDA7CisrICAgICAgICB9CisgCisgICAgICAgICBwcm9wID0gRG9BcHBlbmRQ cm9wZXJ0eShwYXJlbnQsIG5ldyB3eEVudW1Qcm9wZXJ0eShsYWJlbCwgd3hQR19MQUJFTCwgaXRl bXMsIHd4QXJyYXlJbnQoKSwgc2VsKSk7CisgCitAQCAtMTQzLDggKzE1MiwxMiBAQCB2b2lkIE15 V3hQcm9wR3JpZFhtbEhhbmRsZXI6OkhhbmRsZVBnUHJvcGVydHkod3hQR1Byb3BlcnR5KiBwYXJl bnQpCisgCisgICAgIC8vIEhhbmRsZSBuZXN0ZWQgY2hpbGRyZW4KKyAgICAgaWYocHJvcCkgewor LSAgICAgICAgaWYoYmdjb2wuSXNPaygpKSB7IHByb3AtPlNldEJhY2tncm91bmRDb2xvdXIoYmdj b2wsIGJnY29sUmVjdXJzZSk7IH0KKy0gICAgICAgIGlmKCFwcm9wRWRpdG9yLklzRW1wdHkoKSkg eyBwcm9wLT5TZXRFZGl0b3IocHJvcEVkaXRvcik7IH0KKysgICAgICAgIGlmKGJnY29sLklzT2so KSkgeworKyAgICAgICAgICAgIHByb3AtPlNldEJhY2tncm91bmRDb2xvdXIoYmdjb2wsIGJnY29s UmVjdXJzZSk7CisrICAgICAgICB9CisrICAgICAgICBpZighcHJvcEVkaXRvci5Jc0VtcHR5KCkp IHsKKysgICAgICAgICAgICBwcm9wLT5TZXRFZGl0b3IocHJvcEVkaXRvcik7CisrICAgICAgICB9 CisgICAgICAgICBwcm9wLT5TZXRIZWxwU3RyaW5nKHRpcCk7CisgCisgICAgICAgICAvLyBDaGVj ayB0byBzZWUgaWYgdGhpcyBwcm9wZXJ0eSBoYXMgY2hpbGRyZW4KK0BAIC0xNjAsMTIgKzE3Mywx NSBAQCB2b2lkIE15V3hQcm9wR3JpZFhtbEhhbmRsZXI6OkhhbmRsZVBnUHJvcGVydHkod3hQR1By b3BlcnR5KiBwYXJlbnQpCisgCisgd3hBcnJheVN0cmluZyBNeVd4UHJvcEdyaWRYbWxIYW5kbGVy OjpHZXRBcnJheShjb25zdCB3eFhtbE5vZGUqIG5vZGUpIGNvbnN0CisgeworLSAgICBpZighbm9k ZSkgcmV0dXJuIHd4QXJyYXlTdHJpbmcoKTsKKysgICAgaWYoIW5vZGUpCisrICAgICAgICByZXR1 cm4gd3hBcnJheVN0cmluZygpOworIAorICAgICB3eEFycmF5U3RyaW5nIGl0ZW1zOworICAgICB3 eFhtbE5vZGUqIGNoaWxkID0gbm9kZS0+R2V0Q2hpbGRyZW4oKTsKKyAgICAgd2hpbGUoY2hpbGQp IHsKKy0gICAgICAgIGlmKGNoaWxkLT5HZXROYW1lKCkgPT0gIml0ZW0iKSB7IGl0ZW1zLkFkZChj aGlsZC0+R2V0Tm9kZUNvbnRlbnQoKSk7IH0KKysgICAgICAgIGlmKGNoaWxkLT5HZXROYW1lKCkg PT0gIml0ZW0iKSB7CisrICAgICAgICAgICAgaXRlbXMuQWRkKGNoaWxkLT5HZXROb2RlQ29udGVu dCgpKTsKKysgICAgICAgIH0KKyAgICAgICAgIGNoaWxkID0gY2hpbGQtPkdldE5leHQoKTsKKyAg ICAgfQorICAgICByZXR1cm4gaXRlbXM7CistLSAKKzIuNDIuMAorCmRpZmYgLS1naXQgYS9zcmNw a2dzL2NvZGVsaXRlL3RlbXBsYXRlIGIvc3JjcGtncy9jb2RlbGl0ZS90ZW1wbGF0ZQppbmRleCBi MGJmOGY1NzczNmE0Li4xNDBmZTIwZDBkMjZiIDEwMDY0NAotLS0gYS9zcmNwa2dzL2NvZGVsaXRl L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvY29kZWxpdGUvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBA CiAjIFRlbXBsYXRlIGZpbGUgZm9yICdjb2RlbGl0ZScKIHBrZ25hbWU9Y29kZWxpdGUKIHZlcnNp b249MTYuMC4wCi1yZXZpc2lvbj0zCityZXZpc2lvbj00CiBjcmVhdGVfd3Jrc3JjPXllcwogYnVp bGRfc3R5bGU9Y21ha2UKIGJ1aWxkX2hlbHBlcj1jbWFrZS13eFdpZGdldHMtZ3RrMwoKRnJvbSBh MjQ3YjBmMGY3ODdkOTM2ZGRjMWU5ZTIyMTJkZGYwNDkxODcwZDc0IE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiAiQW5kcmV3IEouIEhlc2ZvcmQiIDxhamhAc2lkZWJhbmQub3JnPgpEYXRl OiBNb24sIDI1IFNlcCAyMDIzIDAwOjE4OjIwIC0wNDAwClN1YmplY3Q6IFtQQVRDSCAyMS80M10g ZGlmZi1wZGY6IHJlYnVpbGQgd2l0aCB3eFdpZGdldHMtZ3RrMy0zLjIuMi4xCgotLS0KIHNyY3Br Z3MvZGlmZi1wZGYvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24o KyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2RpZmYtcGRmL3RlbXBsYXRl IGIvc3JjcGtncy9kaWZmLXBkZi90ZW1wbGF0ZQppbmRleCAxYjFjMWI2OTA4MTRjLi5kZmYxZjIy MzYyY2JkIDEwMDY0NAotLS0gYS9zcmNwa2dzL2RpZmYtcGRmL3RlbXBsYXRlCisrKyBiL3NyY3Br Z3MvZGlmZi1wZGYvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9y ICdkaWZmLXBkZicKIHBrZ25hbWU9ZGlmZi1wZGYKIHZlcnNpb249MC41LjEKLXJldmlzaW9uPTEK K3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPWdudS1jb25maWd1cmUKIGNvbmZpZ3VyZV9hcmdzPSIt LXdpdGgtd3gtY29uZmlnPXd4LWNvbmZpZy1ndGszIgogaG9zdG1ha2VkZXBlbmRzPSJwa2ctY29u ZmlnIgoKRnJvbSBkMDhiNGFhOWE1YTA5ODJjMWI3Mzg5MGVhMjlkOTgzOTAyZTZkYmY4IE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAiQW5kcmV3IEouIEhlc2ZvcmQiIDxhamhAc2lkZWJh bmQub3JnPgpEYXRlOiBNb24sIDI1IFNlcCAyMDIzIDAwOjE4OjIwIC0wNDAwClN1YmplY3Q6IFtQ QVRDSCAyMi80M10gZXJsYW5nOiByZWJ1aWxkIHdpdGggd3hXaWRnZXRzLWd0azMtMy4yLjIuMQoK LS0tCiBzcmNwa2dzL2VybGFuZy90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGlu c2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZXJsYW5nL3Rl bXBsYXRlIGIvc3JjcGtncy9lcmxhbmcvdGVtcGxhdGUKaW5kZXggNDExZjkyMWY1OWY0OC4uMmI3 NTJlZjc4OTZkYyAxMDA2NDQKLS0tIGEvc3JjcGtncy9lcmxhbmcvdGVtcGxhdGUKKysrIGIvc3Jj cGtncy9lcmxhbmcvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9y ICdlcmxhbmcnCiBwa2duYW1lPWVybGFuZwogdmVyc2lvbj0yNi4xCi1yZXZpc2lvbj0xCityZXZp c2lvbj0yCiBidWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCiBtYWtlX2luc3RhbGxfdGFyZ2V0PSJp bnN0YWxsIGluc3RhbGwtZG9jcyIKIGhvc3RtYWtlZGVwZW5kcz0iYXV0b2NvbmYgbGlieHNsdCBw ZXJsIHRhciIKCkZyb20gODQ0MWEwY2M1Yjc4NjU1MzE5MmE1NjU5ODE0Yjk4NzE2ZGY3ZmRhNCBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogIkFuZHJldyBKLiBIZXNmb3JkIiA8YWpoQHNp ZGViYW5kLm9yZz4KRGF0ZTogTW9uLCAyNSBTZXAgMjAyMyAwMDoxODoyMSAtMDQwMApTdWJqZWN0 OiBbUEFUQ0ggMjMvNDNdIGZpbGV6aWxsYTogcmVidWlsZCB3aXRoIHd4V2lkZ2V0cy1ndGszLTMu Mi4yLjEKCi0tLQogc3JjcGtncy9maWxlemlsbGEvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hh bmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dz L2ZpbGV6aWxsYS90ZW1wbGF0ZSBiL3NyY3BrZ3MvZmlsZXppbGxhL3RlbXBsYXRlCmluZGV4IGM4 ZDdmZWFiN2I0ZjUuLjIxYTViNDQwMDRjNTUgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvZmlsZXppbGxh L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvZmlsZXppbGxhL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBA QAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnZmlsZXppbGxhJwogcGtnbmFtZT1maWxlemlsbGEKIHZl cnNpb249My42NS4wCi1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBidWlsZF9zdHlsZT1nbnUtY29u ZmlndXJlCiBjb25maWd1cmVfYXJncz0iLS1kaXNhYmxlLXN0YXRpYyAtLWRpc2FibGUtbWFudWFs dXBkYXRlY2hlY2sgLS1kaXNhYmxlLWF1dG91cGRhdGVjaGVjawogIC0td2l0aC13eC1jb25maWc9 d3gtY29uZmlnLWd0azMiCgpGcm9tIGM3M2FiMjhkNzA1MGQ2YTBhNjE3NmFlNTcxMjM3YTg1Y2Y2 NzU1MDMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ICJBbmRyZXcgSi4gSGVzZm9yZCIg PGFqaEBzaWRlYmFuZC5vcmc+CkRhdGU6IE1vbiwgMjUgU2VwIDIwMjMgMDA6MTg6MjEgLTA0MDAK U3ViamVjdDogW1BBVENIIDI0LzQzXSBnbnVwbG90OiByZWJ1aWxkIHdpdGggd3hXaWRnZXRzLWd0 azMtMy4yLjIuMQoKLS0tCiBzcmNwa2dzL2dudXBsb3QvdGVtcGxhdGUgfCA0ICsrKy0KIDEgZmls ZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9z cmNwa2dzL2dudXBsb3QvdGVtcGxhdGUgYi9zcmNwa2dzL2dudXBsb3QvdGVtcGxhdGUKaW5kZXgg YWQwZGJmMDUzZDAwMi4uYzRkOWRjYjJhODk0YyAxMDA2NDQKLS0tIGEvc3JjcGtncy9nbnVwbG90 L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvZ251cGxvdC90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAK ICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2dudXBsb3QnCiBwa2duYW1lPWdudXBsb3QKIHZlcnNpb249 NS40LjkKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGNvbmZpZ3VyZV9hcmdzPSItLXdpdGgtcmVh ZGxpbmU9YnVpbHRpbiIKIGhvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyBsdWE1MiIKIG1ha2Vk ZXBlbmRzPSJ6bGliLWRldmVsIGxpYlgxMS1kZXZlbCBnZC1kZXZlbCBsdWE1Mi1kZXZlbCIKQEAg LTIxLDYgKzIxLDggQEAgZmkKIAogYWx0ZXJuYXRpdmVzPSJnbnVwbG90OmdudXBsb3Q6L3Vzci9i aW4vZ251cGxvdC14MTEiCiAKK0NYWEZMQUdTPSItRF9MQVJHRUZJTEVfU09VUkNFIC1EX0ZJTEVf T0ZGU0VUX0JJVFM9NjQiCisKIHByZV9jb25maWd1cmUoKSB7CiAJIyBmaXggZm9udHMgbG9jYXRp b24KIAlzZWQgLWkgXAoKRnJvbSAwN2NlZDM5YmNjZjZhN2RmNDkwYjNhOTE3NGQ5YjBhYzI3MjA4 MjM0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAiQW5kcmV3IEouIEhlc2ZvcmQiIDxh amhAc2lkZWJhbmQub3JnPgpEYXRlOiBNb24sIDI1IFNlcCAyMDIzIDAwOjE4OjIxIC0wNDAwClN1 YmplY3Q6IFtQQVRDSCAyNS80M10gZ29sbHk6IHJlYnVpbGQgd2l0aCB3eFdpZGdldHMtZ3RrMy0z LjIuMi4xCgotLS0KIHNyY3BrZ3MvZ29sbHkvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdl ZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2dv bGx5L3RlbXBsYXRlIGIvc3JjcGtncy9nb2xseS90ZW1wbGF0ZQppbmRleCA2OTFmOTk5YTZlZGRk Li4xZmQ0MDZiNmEyZjU1IDEwMDY0NAotLS0gYS9zcmNwa2dzL2dvbGx5L3RlbXBsYXRlCisrKyBi L3NyY3BrZ3MvZ29sbHkvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUg Zm9yICdnb2xseScKIHBrZ25hbWU9Z29sbHkKIHZlcnNpb249NC4xCi1yZXZpc2lvbj0yCityZXZp c2lvbj0zCiBidWlsZF93cmtzcmM9Imd1aS13eCIKIGJ1aWxkX3N0eWxlPWdudS1tYWtlZmlsZQog bWFrZV9idWlsZF9hcmdzPSItZiBtYWtlZmlsZS1ndGsgR09MTFlESVI9L3Vzci9zaGFyZS9nb2xs eSBMVUFMSUI9LWxsdWE1LjQKCkZyb20gZTZlMGM0ODJkOTY5YzVlNzM4MmI0Y2NjM2YyMDdjYjIy YmIyOGFjMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogIkFuZHJldyBKLiBIZXNmb3Jk IiA8YWpoQHNpZGViYW5kLm9yZz4KRGF0ZTogTW9uLCAyNSBTZXAgMjAyMyAwMDoxODoyMSAtMDQw MApTdWJqZWN0OiBbUEFUQ0ggMjYvNDNdIGh1Z2luOiByZWJ1aWxkIHdpdGggd3hXaWRnZXRzLWd0 azMtMy4yLjIuMQoKLS0tCiBzcmNwa2dzL2h1Z2luL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNo YW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9odWdpbi90ZW1wbGF0ZSBiL3NyY3BrZ3MvaHVnaW4vdGVtcGxhdGUKaW5kZXggOTQzZDIzZDFh OTMyZi4uNzM3MjA3ODFjNzE5MSAxMDA2NDQKLS0tIGEvc3JjcGtncy9odWdpbi90ZW1wbGF0ZQor KysgYi9zcmNwa2dzL2h1Z2luL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBm aWxlIGZvciAnaHVnaW4nCiBwa2duYW1lPWh1Z2luCiB2ZXJzaW9uPTIwMjIuMC4wCi1yZXZpc2lv bj04CityZXZpc2lvbj05CiBidWlsZF9zdHlsZT1jbWFrZQogYnVpbGRfaGVscGVyPWNtYWtlLXd4 V2lkZ2V0cy1ndGszCiBweWNvbXBpbGVfZGlycz0idXNyL3NoYXJlL2h1Z2luL2RhdGEvcGx1Z2lu cyB1c3Ivc2hhcmUvaHVnaW4vZGF0YS9wbHVnaW5zLXRlbXBsYXRlcyIKCkZyb20gYTA1M2MwNmI1 ZmYzM2VjNTBmM2MwODE5ZmI3OTFmMzhkMTU1OTM4ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogIkFuZHJldyBKLiBIZXNmb3JkIiA8YWpoQHNpZGViYW5kLm9yZz4KRGF0ZTogTW9uLCAy NSBTZXAgMjAyMyAwMDoxODoyMSAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMjcvNDNdIG1lZGlhaW5m bzogcmVidWlsZCB3aXRoIHd4V2lkZ2V0cy1ndGszLTMuMi4yLjEKCi0tLQogc3JjcGtncy9tZWRp YWluZm8vdGVtcGxhdGUgfCA0ICsrKy0KIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyks IDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL21lZGlhaW5mby90ZW1wbGF0ZSBi L3NyY3BrZ3MvbWVkaWFpbmZvL3RlbXBsYXRlCmluZGV4IGU4MGRhNTllYWQ4ODAuLmQzNTZhMWFi NWVjNjYgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvbWVkaWFpbmZvL3RlbXBsYXRlCisrKyBiL3NyY3Br Z3MvbWVkaWFpbmZvL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZv ciAnbWVkaWFpbmZvJwogcGtnbmFtZT1tZWRpYWluZm8KIHZlcnNpb249MjIuMTIKLXJldmlzaW9u PTEKK3JldmlzaW9uPTIKIGNvbmZpZ3VyZV9hcmdzPSItLXdpdGgtd3gtY29uZmlnPXd4LWNvbmZp Zy1ndGszIgogaG9zdG1ha2VkZXBlbmRzPSJhdXRvbWFrZSBsaWJ0b29sIHBrZy1jb25maWciCiBt YWtlZGVwZW5kcz0ibGlibWVkaWFpbmZvLWRldmVsIHpsaWItZGV2ZWwgd3hXaWRnZXRzLWd0azMt ZGV2ZWwiCkBAIC0xNCw2ICsxNCw4IEBAIGRpc3RmaWxlcz0iaHR0cHM6Ly9tZWRpYWFyZWEubmV0 L2Rvd25sb2FkL3NvdXJjZS8ke3BrZ25hbWV9LyR7dmVyc2lvbn0vJHtwa2duYW1lCiBjaGVja3N1 bT05MzJiODI3MzlmNzM4ZTdkYjYwM2NmNWJiMTcwNzIwNzMxYTllN2M2MWQxNDVjMmE1NGFhYmIz Y2QwYjc1M2JjCiByZXBsYWNlcz0ibWVkaWFpbmZvLWd1aT49MCIKIAorQ1hYRkxBR1M9Ii1EX0xB UkdFRklMRV9TT1VSQ0UgLURfRklMRV9PRkZTRVRfQklUUz02NCIKKwogZG9fY29uZmlndXJlKCkg ewogCWZvciBkIGluIENMSSBHVUk7IGRvCiAJCWNkICR3cmtzcmMvUHJvamVjdC9HTlUvJGQKCkZy b20gOWEyNDk1YWEwNDBkYzVmMWY5MmM2ZjBhM2E3OTQxMzg1N2E2MjU4MiBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKRnJvbTogIkFuZHJldyBKLiBIZXNmb3JkIiA8YWpoQHNpZGViYW5kLm9yZz4K RGF0ZTogTW9uLCAyNSBTZXAgMjAyMyAwMDoxODoyMSAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMjgv NDNdIG9wZW5iYWJlbDogcmVidWlsZCB3aXRoIHd4V2lkZ2V0cy1ndGszLTMuMi4yLjEKCi0tLQog c3JjcGtncy9vcGVuYmFiZWwvdGVtcGxhdGUgfCA0ICsrKy0KIDEgZmlsZSBjaGFuZ2VkLCAzIGlu c2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL29wZW5iYWJl bC90ZW1wbGF0ZSBiL3NyY3BrZ3Mvb3BlbmJhYmVsL3RlbXBsYXRlCmluZGV4IDQxZGI4NDhkNzRl NGMuLmQwYjA1OTAyNmRhMzQgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mvb3BlbmJhYmVsL3RlbXBsYXRl CisrKyBiL3NyY3BrZ3Mvb3BlbmJhYmVsL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1w bGF0ZSBmaWxlIGZvciAnb3BlbmJhYmVsJwogcGtnbmFtZT1vcGVuYmFiZWwKIHZlcnNpb249My4x LjEKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIF92ZXI9JHt2ZXJzaW9uLy8uLy19CiBidWlsZF9z dHlsZT1jbWFrZQogYnVpbGRfaGVscGVyPWNtYWtlLXd4V2lkZ2V0cy1ndGszCkBAIC0xNCw2ICsx NCw4IEBAIGhvbWVwYWdlPSJodHRwOi8vb3BlbmJhYmVsLm9yZyIKIGRpc3RmaWxlcz0iaHR0cHM6 Ly9naXRodWIuY29tL29wZW5iYWJlbC9vcGVuYmFiZWwvYXJjaGl2ZS9vcGVuYmFiZWwtJHtfdmVy fS50YXIuZ3oiCiBjaGVja3N1bT1jOTcwMjNhYzYzMDBkMjYxNzZjOTdkNGVmMzk5NTdmMDZlNjg4 NDhkNjRmMWEwNGIwYjI4NGNjZmYyNzQ0ZjAyCiAKK0NYWEZMQUdTPSItRF9MQVJHRUZJTEVfU09V UkNFIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQiCisKIG9wZW5iYWJlbC1kZXZlbF9wYWNrYWdlKCkg ewogCWRlcGVuZHM9IiR7c291cmNlcGtnfT49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufSIKIAlzaG9y dF9kZXNjKz0iIC0gZGV2ZWxvcG1lbnQgZmlsZXMiCgpGcm9tIDcwZTljZTUwOTE0NTJjY2NiODE1 MzMwNGIxMzczN2YwNDA5NTE1MDUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ICJBbmRy ZXcgSi4gSGVzZm9yZCIgPGFqaEBzaWRlYmFuZC5vcmc+CkRhdGU6IE1vbiwgMjUgU2VwIDIwMjMg MDA6MTg6MjIgLTA0MDAKU3ViamVjdDogW1BBVENIIDI5LzQzXSBwYXNzd29yZHNhZmU6IHJlYnVp bGQgd2l0aCB3eFdpZGdldHMtZ3RrMy0zLjIuMi4xCgotLS0KIHNyY3BrZ3MvcGFzc3dvcmRzYWZl L3RlbXBsYXRlIHwgNCArKystCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAxIGRl bGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9wYXNzd29yZHNhZmUvdGVtcGxhdGUgYi9z cmNwa2dzL3Bhc3N3b3Jkc2FmZS90ZW1wbGF0ZQppbmRleCA4OGZmYTQxZjQ3NGJjLi45OWQ4NmZl ZWIyMTVmIDEwMDY0NAotLS0gYS9zcmNwa2dzL3Bhc3N3b3Jkc2FmZS90ZW1wbGF0ZQorKysgYi9z cmNwa2dzL3Bhc3N3b3Jkc2FmZS90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUg ZmlsZSBmb3IgJ3Bhc3N3b3Jkc2FmZScKIHBrZ25hbWU9cGFzc3dvcmRzYWZlCiB2ZXJzaW9uPTEu MTYuMAotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9Y21ha2UKIGJ1aWxkX2hl bHBlcj1jbWFrZS13eFdpZGdldHMtZ3RrMwogIyBidWlsZCBwcm9jZXNzIHVzZXMgcGVybCB0byBn ZW5lcmF0ZSBjb3JlX3N0LmNwcCBhbmQgemlwIHRvIGdlbmVyYXRlIGhlbHAgZmlsZXMKQEAgLTE2 LDYgKzE2LDggQEAgaG9tZXBhZ2U9Imh0dHBzOi8vcHdzYWZlLm9yZyIKIGRpc3RmaWxlcz0iaHR0 cHM6Ly9naXRodWIuY29tL3B3c2FmZS9wd3NhZmUvYXJjaGl2ZS8ke3ZlcnNpb259LnRhci5neiIK IGNoZWNrc3VtPTYyMTVmN2IwNTI0ODBmMDMyNzZiM2VhNTkwYjljZGQyMzE4MGRiOGQ1ZDRhMTkx ODVmM2RmN2I2ZGRiYTExZjgKIAorQ1hYRkxBR1M9Ii1EX0xBUkdFRklMRV9TT1VSQ0UgLURfRklM RV9PRkZTRVRfQklUUz02NCIKKwogaWYgWyAiJFhCUFNfQ0hFQ0tfUEtHUyIgXTsgdGhlbgogCWNv bmZpZ3VyZV9hcmdzKz0iIC1ETk9fR1RFU1Q9T0ZGIgogZWxzZQoKRnJvbSAxYjE5YmNiMThmZjhh ZTUxODBiM2Q3YmY5ZjMwN2U4NTBjYjQzODkxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9t OiAiQW5kcmV3IEouIEhlc2ZvcmQiIDxhamhAc2lkZWJhbmQub3JnPgpEYXRlOiBNb24sIDI1IFNl cCAyMDIzIDAwOjE4OjIyIC0wNDAwClN1YmplY3Q6IFtQQVRDSCAzMC80M10gcG9lZGl0OiByZWJ1 aWxkIHdpdGggd3hXaWRnZXRzLWd0azMtMy4yLjIuMQoKLS0tCiBzcmNwa2dzL3BvZWRpdC90ZW1w bGF0ZSB8IDMgKystCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9u KC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9wb2VkaXQvdGVtcGxhdGUgYi9zcmNwa2dzL3BvZWRp dC90ZW1wbGF0ZQppbmRleCA0OWU3ZWZlOTY1NDc2Li5hNzhmZWFkZTY5NDE1IDEwMDY0NAotLS0g YS9zcmNwa2dzL3BvZWRpdC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3BvZWRpdC90ZW1wbGF0ZQpA QCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3BvZWRpdCcKIHBrZ25hbWU9cG9l ZGl0CiB2ZXJzaW9uPTMuMy4yCi1yZXZpc2lvbj0zCityZXZpc2lvbj00CiBidWlsZF9zdHlsZT1n bnUtY29uZmlndXJlCiBjb25maWd1cmVfYXJncz0iLS13aXRoLXd4LWNvbmZpZz13eC1jb25maWct Z3RrMyIKIGhvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyIKQEAgLTE3LDYgKzE3LDcgQEAgZGlz dGZpbGVzPSJodHRwczovL2dpdGh1Yi5jb20vdnNsYXZpay9wb2VkaXQvcmVsZWFzZXMvZG93bmxv YWQvdiR7dmVyc2lvbn0tb3NzL3AKIGNoZWNrc3VtPWU2NDEzOWRkNGJlYWMxYjhlYTQ2OGQzNTFi MmI0YmRhZThlY2JjNmY0Y2E1ZDFlZTFjNzM4MzIwMzZmZmYwOTcKIAogQ1BQRkxBR1M9Ii1EVUNI QVJfVFlQRT11aW50MTZfdCAtV25vLWRlcHJlY2F0ZWQtY29weSIKK0NYWEZMQUdTPSItRF9MQVJH RUZJTEVfU09VUkNFIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQiCiAKIGlmIFsgIiRDUk9TU19CVUlM RCIgXTsgdGhlbgogCWhvc3RtYWtlZGVwZW5kcys9IiB3eFdpZGdldHMtY29tbW9uLWRldmVsIgoK RnJvbSBiYjIyMWM5YzRkNzdiYjI1MmE2MWI4MTJmZmUwOGMyYmYyN2JmZTNmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiQW5kcmV3IEouIEhlc2ZvcmQiIDxhamhAc2lkZWJhbmQub3Jn PgpEYXRlOiBNb24sIDI1IFNlcCAyMDIzIDAwOjE4OjIyIC0wNDAwClN1YmplY3Q6IFtQQVRDSCAz MS80M10gc3Blay1hbHRlcm5hdGl2ZTogcmVidWlsZCB3aXRoIHd4V2lkZ2V0cy1ndGszLTMuMi4y LjEKCi0tLQogc3JjcGtncy9zcGVrLWFsdGVybmF0aXZlL3RlbXBsYXRlIHwgNCArKystCiAxIGZp bGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEv c3JjcGtncy9zcGVrLWFsdGVybmF0aXZlL3RlbXBsYXRlIGIvc3JjcGtncy9zcGVrLWFsdGVybmF0 aXZlL3RlbXBsYXRlCmluZGV4IGQ2NTA4NmI4ZjAwOGMuLjMwNjFlMTczMmM1OTkgMTAwNjQ0Ci0t LSBhL3NyY3BrZ3Mvc3Blay1hbHRlcm5hdGl2ZS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3NwZWst YWx0ZXJuYXRpdmUvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9y ICdzcGVrLWFsdGVybmF0aXZlJwogcGtnbmFtZT1zcGVrLWFsdGVybmF0aXZlCiB2ZXJzaW9uPTAu OC4yLjMKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPWdudS1jb25maWd1cmUK IGhvc3RtYWtlZGVwZW5kcz0iYXV0b21ha2UgZ2V0dGV4dC1kZXZlbCBpbnRsdG9vbCBsaWJ0b29s IHBrZy1jb25maWcgd3hXaWRnZXRzLWNvbW1vbiIKIG1ha2VkZXBlbmRzPSJmZm1wZWctZGV2ZWwg d3hXaWRnZXRzLWd0azMtZGV2ZWwiCkBAIC0xMyw2ICsxMyw4IEBAIGhvbWVwYWdlPSJodHRwczov L2dpdGh1Yi5jb20vd2l0aG1vcnRlbi9zcGVrLWFsdGVybmF0aXZlIgogZGlzdGZpbGVzPSJodHRw czovL2dpdGh1Yi5jb20vd2l0aG1vcnRlbi9zcGVrLWFsdGVybmF0aXZlL2FyY2hpdmUvJHt2ZXJz aW9ufS50YXIuZ3oiCiBjaGVja3N1bT0iMDA3YmE0Yjg0YTMxMGIwNzhlMzc4YWE4NGM4ZTgwNzgz ZGI1ODIxNDM3YTc1N2E0ODhjM2VjZWMzNzdlNmIyYSIKIAorQ1hYRkxBR1M9Ii1EX0xBUkdFRklM RV9TT1VSQ0UgLURfRklMRV9PRkZTRVRfQklUUz02NCIKKwogIyBUZWxsIGF1dG9nZW4uc2ggdG8g dXNlICJ3eC1jb25maWctZ3RrMyIgaW5zdGVhZCBvZiAid3gtY29uZmlnIgogZXhwb3J0IFdYX0NP TkZJR19OQU1FPSJ3eC1jb25maWctZ3RrMyIKIAoKRnJvbSBmMWNmY2YwYTM0NTM4ZmQ1MzllMTdi YTU2YjZjZWJkOTkzNzI4MjZlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAiQW5kcmV3 IEouIEhlc2ZvcmQiIDxhamhAc2lkZWJhbmQub3JnPgpEYXRlOiBNb24sIDI1IFNlcCAyMDIzIDAw OjE4OjIyIC0wNDAwClN1YmplY3Q6IFtQQVRDSCAzMi80M10gdHFzbDogcmVidWlsZCB3aXRoIHd4 V2lkZ2V0cy1ndGszLTMuMi4yLjEKCi0tLQogc3JjcGtncy90cXNsL3RlbXBsYXRlIHwgNCArKyst CiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0t Z2l0IGEvc3JjcGtncy90cXNsL3RlbXBsYXRlIGIvc3JjcGtncy90cXNsL3RlbXBsYXRlCmluZGV4 IDYxMzg5YjA1ZTYyZDQuLjMxNmQ0YTkxYzhmMTQgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvdHFzbC90 ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3Rxc2wvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRl bXBsYXRlIGZpbGUgZm9yICd0cXNsJwogcGtnbmFtZT10cXNsCiB2ZXJzaW9uPTIuNi41Ci1yZXZp c2lvbj0yCityZXZpc2lvbj0zCiBidWlsZF9zdHlsZT1jbWFrZQogYnVpbGRfaGVscGVyPWNtYWtl LXd4V2lkZ2V0cy1ndGszCiBob3N0bWFrZWRlcGVuZHM9Ind4V2lkZ2V0cy1ndGszLWRldmVsIgpA QCAtMTQsNiArMTQsOCBAQCBob21lcGFnZT0iaHR0cHM6Ly93d3cuYXJybC5vcmcvdHFzbC1kb3du bG9hZCIKIGRpc3RmaWxlcz0iaHR0cHM6Ly93d3cuYXJybC5vcmcvdHFzbC90cXNsLSR7dmVyc2lv bn0udGFyLmd6IgogY2hlY2tzdW09NTA2M2NjYTc1OTgwNmFiMWQ2YjhiNmQ5YmI2YzE2YTYzODAy NzVmZjE5MmEzZDBjYzI0YWE5ZGY2NTM5ZmZjYwogCitDWFhGTEFHUz0iLURfTEFSR0VGSUxFX1NP VVJDRSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IgorCiBwb3N0X2luc3RhbGwoKSB7CiAJdmxpY2Vu c2UgTElDRU5TRS50eHQKIAl2aW5zdGFsbCBhcHBzL3Rxc2wuZGVza3RvcCA2NDQgdXNyL3NoYXJl L2FwcGxpY2F0aW9ucwoKRnJvbSBkZjAzMjMyZjU1OGFmMWM5MDI0M2I5N2EwMTNjMmExMTUxZGY2 NTVmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAiQW5kcmV3IEouIEhlc2ZvcmQiIDxh amhAc2lkZWJhbmQub3JnPgpEYXRlOiBNb24sIDI1IFNlcCAyMDIzIDAwOjE4OjIyIC0wNDAwClN1 YmplY3Q6IFtQQVRDSCAzMy80M10gdHJlZXNoZWV0czogcmVidWlsZCB3aXRoIHd4V2lkZ2V0cy1n dGszLTMuMi4yLjEKCi0tLQogc3JjcGtncy90cmVlc2hlZXRzL3RlbXBsYXRlIHwgNCArKystCiAx IGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0 IGEvc3JjcGtncy90cmVlc2hlZXRzL3RlbXBsYXRlIGIvc3JjcGtncy90cmVlc2hlZXRzL3RlbXBs YXRlCmluZGV4IGQ1ZjYyNjk5YWY0YTIuLjhlNThjZDQ3MDFhMWEgMTAwNjQ0Ci0tLSBhL3NyY3Br Z3MvdHJlZXNoZWV0cy90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3RyZWVzaGVldHMvdGVtcGxhdGUK QEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICd0cmVlc2hlZXRzJwogcGtnbmFt ZT10cmVlc2hlZXRzCiB2ZXJzaW9uPTEuMC4yCi1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBidWls ZF9zdHlsZT1jbWFrZQogYnVpbGRfaGVscGVyPSJjbWFrZS13eFdpZGdldHMtZ3RrMyIKIG1ha2Vk ZXBlbmRzPSJ3eFdpZGdldHMtZ3RrMy1kZXZlbCIKQEAgLTEyLDYgKzEyLDggQEAgaG9tZXBhZ2U9 Imh0dHA6Ly9zdHJsZW4uY29tL3RyZWVzaGVldHMvIgogZGlzdGZpbGVzPSJodHRwczovL2dpdGh1 Yi5jb20vYWFyZGFwcGVsL3RyZWVzaGVldHMvYXJjaGl2ZS92JHt2ZXJzaW9ufS50YXIuZ3oiCiBj aGVja3N1bT04NGViODJmMTIyYmM3YmUzZGVkMzk5ZDI1MTE1MzYxMjg5MTE0NzdhNGE2OWM1MWIy NmI4NTZkZTIxNjA0MDVmCiAKK0NYWEZMQUdTPSItRF9MQVJHRUZJTEVfU09VUkNFIC1EX0ZJTEVf T0ZGU0VUX0JJVFM9NjQiCisKIGRvX2luc3RhbGwoKSB7CiAJdm1rZGlyIHVzci9saWIvJHtwa2du YW1lfQogCgpGcm9tIDI3NGYwODE2NGRmMDU1NTFlYmUyZDJkNWU1OTg1MGVlNDljZmFmYWUgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ICJBbmRyZXcgSi4gSGVzZm9yZCIgPGFqaEBzaWRl YmFuZC5vcmc+CkRhdGU6IE1vbiwgMjUgU2VwIDIwMjMgMDA6MTg6MjIgLTA0MDAKU3ViamVjdDog W1BBVENIIDM0LzQzXSB2YmEtbTogcmVidWlsZCB3aXRoIHd4V2lkZ2V0cy1ndGszLTMuMi4yLjEK Ci0tLQogc3JjcGtncy92YmEtbS90ZW1wbGF0ZSB8IDQgKysrLQogMSBmaWxlIGNoYW5nZWQsIDMg aW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvdmJhLW0v dGVtcGxhdGUgYi9zcmNwa2dzL3ZiYS1tL3RlbXBsYXRlCmluZGV4IDQxMTVhOWY2MjE0ODEuLjlj NzFjZWZlM2Y4ZGQgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvdmJhLW0vdGVtcGxhdGUKKysrIGIvc3Jj cGtncy92YmEtbS90ZW1wbGF0ZQpAQCAtMiw3ICsyLDcgQEAKIHBrZ25hbWU9dmJhLW0KIHJldmVy dHM9MTI5Ml8yCiB2ZXJzaW9uPTIuMS43Ci1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBidWlsZF9z dHlsZT1jbWFrZQogY29uZmlndXJlX2FyZ3M9Ii1ERU5BQkxFX0dUSz1UUlVFIC1ERU5BQkxFX0ZG TVBFRz1UUlVFIC1ERU5BQkxFX0xJTks9VFJVRSAtRENNQUtFX0JVSUxEX1RZUEU9UmVsZWFzZSIK IGhvc3RtYWtlZGVwZW5kcz0iZ2V0dGV4dCBwa2ctY29uZmlnIHVuemlwIHppcCB5YXNtIHd4V2lk Z2V0cy1ndGszLWRldmVsIgpAQCAtMTUsMyArMTUsNSBAQCBsaWNlbnNlPSJHUEwtMi4wLW9yLWxh dGVyIgogaG9tZXBhZ2U9Imh0dHBzOi8vZ2l0aHViLmNvbS92aXN1YWxib3lhZHZhbmNlLW0vdmlz dWFsYm95YWR2YW5jZS1tLyIKIGRpc3RmaWxlcz0iaHR0cHM6Ly9naXRodWIuY29tL3Zpc3VhbGJv eWFkdmFuY2UtbS92aXN1YWxib3lhZHZhbmNlLW0vYXJjaGl2ZS92JHt2ZXJzaW9ufS50YXIuZ3oi CiBjaGVja3N1bT1mN2QwODE1YTY1Njc3Zjc5NGVlNjg4OTJjOTU2NjI1NDAyM2FmNjQxYzcyZjll MDZiNDIzMGI2YzYxNzkwNzQzCisKK0NYWEZMQUdTPSItRF9MQVJHRUZJTEVfU09VUkNFIC1EX0ZJ TEVfT0ZGU0VUX0JJVFM9NjQiCgpGcm9tIDUwNzZiMDkwZjE5NzhiMjcyMzk5ZTBiNzA4YzJmYTI1 M2EzZWVkY2MgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ICJBbmRyZXcgSi4gSGVzZm9y ZCIgPGFqaEBzaWRlYmFuZC5vcmc+CkRhdGU6IE1vbiwgMjUgU2VwIDIwMjMgMDA6MTg6MjIgLTA0 MDAKU3ViamVjdDogW1BBVENIIDM1LzQzXSB3aW51c2I6IHJlYnVpbGQgd2l0aCB3eFdpZGdldHMt Z3RrMy0zLjIuMi4xCgotLS0KIHNyY3BrZ3Mvd2ludXNiL3RlbXBsYXRlIHwgNCArKystCiAxIGZp bGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEv c3JjcGtncy93aW51c2IvdGVtcGxhdGUgYi9zcmNwa2dzL3dpbnVzYi90ZW1wbGF0ZQppbmRleCA2 NGVjOGZjZTEyYjAwLi41ZjExNmEzMzZiNjFlIDEwMDY0NAotLS0gYS9zcmNwa2dzL3dpbnVzYi90 ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3dpbnVzYi90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMg VGVtcGxhdGUgZmlsZSBmb3IgJ3dpbnVzYicKIHBrZ25hbWU9d2ludXNiCiB2ZXJzaW9uPTEuMC4x MQotcmV2aXNpb249MTAKK3JldmlzaW9uPTExCiBhcmNocz0iaTY4NiogeDg2XzY0KiIKIGJ1aWxk X3N0eWxlPWdudS1jb25maWd1cmUKIGNvbmZpZ3VyZV9hcmdzPSItLXdpdGgtd3gtY29uZmlnPXd4 LWNvbmZpZy1ndGszIgpAQCAtMjEsNiArMjEsOCBAQCBjYXNlICIke1hCUFNfVEFSR0VUX01BQ0hJ TkV9IiBpbgogCWk2ODYqKSBkZXBlbmRzKz0iIGdydWItaTM4Ni1lZmkiOyBtYWtlZGVwZW5kcys9 IiBncnViLWkzODYtZWZpIiA7OwogZXNhYwogCitDWFhGTEFHUz0iLURfTEFSR0VGSUxFX1NPVVJD RSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IgorCiBwb3N0X2NvbmZpZ3VyZSgpIHsKIAlzZWQgLWkg TWFrZWZpbGUgc3JjL01ha2VmaWxlIFwKIAkJLWUiczteXChDWFhGTEFHUyAqPVwpXCguKlwpO1wx ICR7Q1hYRkxBR1N9IFwyOyIKCkZyb20gNzYyZmY1YzI4MWUzNzVlYmIyNjM0NjNkZmE4NDViOGJj MWM0YjRiYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogIkFuZHJldyBKLiBIZXNmb3Jk IiA8YWpoQHNpZGViYW5kLm9yZz4KRGF0ZTogTW9uLCAyNSBTZXAgMjAyMyAwMDoxODoyMyAtMDQw MApTdWJqZWN0OiBbUEFUQ0ggMzYvNDNdIHd4TWF4aW1hOiByZWJ1aWxkIHdpdGggd3hXaWRnZXRz LWd0azMtMy4yLjIuMQoKLS0tCiBzcmNwa2dzL3d4TWF4aW1hL3RlbXBsYXRlIHwgNCArKystCiAx IGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0 IGEvc3JjcGtncy93eE1heGltYS90ZW1wbGF0ZSBiL3NyY3BrZ3Mvd3hNYXhpbWEvdGVtcGxhdGUK aW5kZXggMWU1MTJjMzk2NDRiOS4uNzQ5ZTQ4MWRkOGZlMyAxMDA2NDQKLS0tIGEvc3JjcGtncy93 eE1heGltYS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3d4TWF4aW1hL3RlbXBsYXRlCkBAIC0xLDcg KzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnd3hNYXhpbWEnCiBwa2duYW1lPXd4TWF4aW1h CiB2ZXJzaW9uPTIwLjAyLjQKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPWNt YWtlCiBjb25maWd1cmVfYXJncz0iLUR3eFdpZGdldHNfQ09ORklHX0VYRUNVVEFCTEU9L3Vzci9i aW4vd3gtY29uZmlnLWd0azMiCiBob3N0bWFrZWRlcGVuZHM9ImdldHRleHQgcGVybCBkZXNrdG9w LWZpbGUtdXRpbHMgZG94eWdlbiBwbzRhIgpAQCAtMTUsNiArMTUsOCBAQCBkaXN0ZmlsZXM9Imh0 dHBzOi8vZ2l0aHViLmNvbS93eE1heGltYS1kZXZlbG9wZXJzL3d4bWF4aW1hL2FyY2hpdmUvVmVy c2lvbi0ke3ZlcgogY2hlY2tzdW09ZDQ3Y2E1MmU0MDQ5MWVhM2M0ZWE3YmVhMTI2ZjRkYTRkMGI1 MzU3MDIxMjZhYmVmMGMxNzJmNjliYTU4ZTE3ZAogbm9jcm9zcz0iY2xpc3AgaXMgbm9jcm9zcyIK IAorQ1hYRkxBR1M9Ii1EX0xBUkdFRklMRV9TT1VSQ0UgLURfRklMRV9PRkZTRVRfQklUUz02NCIK KwogcG9zdF9pbnN0YWxsKCkgewogCSMgcmVtb3ZlIHVucGFja2FnZWQgZmlsZXMKIAlybSAtZiAk e0RFU1RESVJ9L3Vzci9zaGFyZS93eE1heGltYS97Q09QWUlORyxSRUFETUV9CgpGcm9tIDU0MjA1 NDdhMjA5Mjg1MzgzNWM1ODBlOWU1YTBkMzJlZDRiZGVmZjQgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCkZyb206ICJBbmRyZXcgSi4gSGVzZm9yZCIgPGFqaEBzaWRlYmFuZC5vcmc+CkRhdGU6IE1v biwgMjUgU2VwIDIwMjMgMDA6MTg6MjMgLTA0MDAKU3ViamVjdDogW1BBVENIIDM3LzQzXSB4Y2ht OiByZWJ1aWxkIHdpdGggd3hXaWRnZXRzLWd0azMtMy4yLjIuMQoKLS0tCiBzcmNwa2dzL3hjaG0v dGVtcGxhdGUgfCA0ICsrKy0KIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDEgZGVs ZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3hjaG0vdGVtcGxhdGUgYi9zcmNwa2dzL3hj aG0vdGVtcGxhdGUKaW5kZXggMDI5MDBiNDMzODVlYy4uNjZiODE1NmU0MzFlYyAxMDA2NDQKLS0t IGEvc3JjcGtncy94Y2htL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MveGNobS90ZW1wbGF0ZQpAQCAt MSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3hjaG0nCiBwa2duYW1lPXhjaG0KIHZl cnNpb249MS4zNAotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9Z251LWNvbmZp Z3VyZQogY29uZmlndXJlX2FyZ3M9Ii0td2l0aC13eC1jb25maWc9d3gtY29uZmlnLWd0azMiCiBo b3N0bWFrZWRlcGVuZHM9ImF1dG9tYWtlIGdldHRleHQtZGV2ZWwgdGFyIgpAQCAtMTMsNiArMTMs OCBAQCBob21lcGFnZT0iaHR0cHM6Ly9naXRodWIuY29tL3J6dm5jai94Q0hNIgogZGlzdGZpbGVz PSJodHRwczovL2dpdGh1Yi5jb20vcnp2bmNqL3hDSE0vcmVsZWFzZXMvZG93bmxvYWQvJHt2ZXJz aW9ufS94Y2htLSR7dmVyc2lvbn0udGFyLmd6IgogY2hlY2tzdW09YjA3OTcxZGRiMDI5OTJkYTQ2 MjA2MGZiNjM4YzA1MTMxOGYzODlhZWY4MjI0ODU2NDZhYTdmYmUyNDVhMGQ5MwogCitDWFhGTEFH Uz0iLURfTEFSR0VGSUxFX1NPVVJDRSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IgorCiBwcmVfY29u ZmlndXJlKCkgewogCWF1dG9yZWNvbmYgLWZpCiB9CgpGcm9tIDBjZGEyNzFmNThhNDUxYWEyMDU1 ZTAxMjAyMjI3YTk2NjhiMDlkYzEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ICJBbmRy ZXcgSi4gSGVzZm9yZCIgPGFqaEBzaWRlYmFuZC5vcmc+CkRhdGU6IE1vbiwgMjUgU2VwIDIwMjMg MDg6MDI6MDUgLTA0MDAKU3ViamVjdDogW1BBVENIIDM4LzQzXSBjaGlycDogcmVidWlsZCBhZ2Fp bnN0IG5ldyB3eFB5dGhvbgoKLS0tCiBzcmNwa2dzL2NoaXJwL3RlbXBsYXRlIHwgNCArKy0tCiAx IGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL3NyY3BrZ3MvY2hpcnAvdGVtcGxhdGUgYi9zcmNwa2dzL2NoaXJwL3RlbXBsYXRlCmluZGV4 IGQyMzg2YmE0OTY2YmUuLjE4YjQxYzI2YjYyN2QgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvY2hpcnAv dGVtcGxhdGUKKysrIGIvc3JjcGtncy9jaGlycC90ZW1wbGF0ZQpAQCAtMSwxMCArMSwxMCBAQAog IyBUZW1wbGF0ZSBmaWxlIGZvciAnY2hpcnAnCiBwa2duYW1lPWNoaXJwCiB2ZXJzaW9uPTIwMjMw OTExCi1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBidWlsZF9zdHlsZT1weXRob24zLXBlcDUxNwog aG9zdG1ha2VkZXBlbmRzPSJweXRob24zLXNldHVwdG9vbHMgcHl0aG9uMy13aGVlbCIKLWRlcGVu ZHM9InB5dGhvbjMtc2l4IHd4UHl0aG9uNCBweXRob24zLXB5c2VyaWFsIHB5dGhvbjMtZnV0dXJl IHB5dGhvbjMtcmVxdWVzdHMKK2RlcGVuZHM9InB5dGhvbjMtc2l4IHd4UHl0aG9uIHB5dGhvbjMt cHlzZXJpYWwgcHl0aG9uMy1mdXR1cmUgcHl0aG9uMy1yZXF1ZXN0cwogIHB5dGhvbjMtc3VkcyBw eXRob24zLXlhdHRhZyIKIHNob3J0X2Rlc2M9Ik9wZW4tc291cmNlIHRvb2wgZm9yIHByb2dyYW1t aW5nIGFtYXRldXIgcmFkaW9zIgogbWFpbnRhaW5lcj0iRW1pbCBNaWxlciA8ZW1AMHg0NS5jej4i CgpGcm9tIDJmODQ0YWVmM2VhNDBjZmM0ODVkMGNiODhiMjMwNjdjMzA3MGJjMDcgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206ICJBbmRyZXcgSi4gSGVzZm9yZCIgPGFqaEBzaWRlYmFuZC5v cmc+CkRhdGU6IE1vbiwgMjUgU2VwIDIwMjMgMDg6MDI6NTEgLTA0MDAKU3ViamVjdDogW1BBVENI IDM5LzQzXSBncmFzczogcmVidWlsZCBhZ2FpbnN0IG5ldyB3eFB5dGhvbgoKLS0tCiBzcmNwa2dz L2dyYXNzL3RlbXBsYXRlIHwgOCArKysrLS0tLQogMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9u cygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2dyYXNzL3RlbXBsYXRl IGIvc3JjcGtncy9ncmFzcy90ZW1wbGF0ZQppbmRleCA4YmEwM2JiN2JlYTk4Li5kZWQ4ZTQwZGFh ZjEwIDEwMDY0NAotLS0gYS9zcmNwa2dzL2dyYXNzL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvZ3Jh c3MvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdncmFzcycK IHBrZ25hbWU9Z3Jhc3MKIHZlcnNpb249OC4yLjEKLXJldmlzaW9uPTIKK3JldmlzaW9uPTMKIF9i aW52ZXI9JHt2ZXJzaW9uLy8uL30KIF9iaW52ZXI9JHtfYmludmVyOjA6Mn0KIGJ1aWxkX3N0eWxl PWdudS1jb25maWd1cmUKQEAgLTExLDcgKzExLDcgQEAgaG9zdG1ha2VkZXBlbmRzPSJmbGV4IGxp YmdkYWwtdG9vbHMgcGtnLWNvbmZpZyBweXRob24zLW51bXB5IHB5dGhvbjMtc2l4IHRhciIKIG1h a2VkZXBlbmRzPSJwcm9qLWRldmVsIHRpZmYtZGV2ZWwgbGliZ2RhbC1kZXZlbCBzcWxpdGUtZGV2 ZWwKICBmZnR3LWRldmVsIGNhaXJvLWRldmVsIGdsdS1kZXZlbCIKIGRlcGVuZHM9InB5dGhvbjMt bnVtcHkgcHl0aG9uMy1kYXRldXRpbCBweXRob24zLVBpbGxvdyBweXRob24zLW1hdHBsb3RsaWIK LSBweXRob24zLXNpeCBweXRob24zLXBseSB3eFB5dGhvbjQiCisgcHl0aG9uMy1zaXggcHl0aG9u My1wbHkgd3hQeXRob24iCiBzaG9ydF9kZXNjPSJHZW9ncmFwaGljIFJlc291cmNlcyBBbmFseXNp cyBTdXBwb3J0IFN5c3RlbSAtIEdJUyIKIG1haW50YWluZXI9IkFsZXggSmFyb3NjaCA8cmVzZWFy Y2hAYWxleGouYXQ+IgogbGljZW5zZT0iR1BMLTIuMC1vci1sYXRlciIKQEAgLTIyLDcgKzIyLDcg QEAgcHl0aG9uX3ZlcnNpb249Mwogbm9jcm9zcz0idHJpZXMgdG8gZXhlY3V0ZSB0YXJnZXQgYmlu YXJpZXMiCiAKIHBvc3RfaW5zdGFsbCgpIHsKLQkjIFRoaXMgcGFja2FnZSBpcyBicm9rZW4gd2l0 aCB3eFB5dGhvbjQgKDw9NC4wLjcpLAotCSMgaGVuY2UgdGhlIEdVSSBpcyBjb21wdWxzb3JpbHkg ZGlzYWJsZWQuCisJIyBUaGlzIHBhY2thZ2UgaXMgYnJva2VuIHdpdGggd3hQeXRob24gKDw9NC4w LjcpIGFuZCB0aGUgR1VJCisJIyBpcyBkaXNhYmxlZCBwZW5kaW5nIGZ1cnRoZXIgdGVzdGluZyB3 aXRoIG5ld2VyIHd4UHl0aG9uCiAJdnNlZCAtaSAiJHtERVNURElSfS91c3IvYmluL2dyYXNzIiAt ZSAicy9cKGRlZmF1bHRfZ3VpID1cKS4qL1wxIFwidGV4dFwiLyIKIH0KCkZyb20gODhmMWFkZjM5 NDYzNGQ1ZDFlM2UzZGM5YmY1MzZlMTk4MmE4MWI5ZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogIkFuZHJldyBKLiBIZXNmb3JkIiA8YWpoQHNpZGViYW5kLm9yZz4KRGF0ZTogTW9uLCAy NSBTZXAgMjAyMyAwMDoxODoyMSAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggNDAvNDNdIGtpY2FkOiBy ZWJ1aWxkIGFnYWluc3QgbmV3IHd4UHl0aG9uCgotLS0KIHNyY3BrZ3Mva2ljYWQvdGVtcGxhdGUg fCAxMyArKysrKysrLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCA2IGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mva2ljYWQvdGVtcGxhdGUgYi9zcmNwa2dz L2tpY2FkL3RlbXBsYXRlCmluZGV4IDFjMzRjNDk4YWZiZDguLmJmYjcxMjBhY2QyODAgMTAwNjQ0 Ci0tLSBhL3NyY3BrZ3Mva2ljYWQvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9raWNhZC90ZW1wbGF0 ZQpAQCAtMSwxOCArMSwxOSBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAna2ljYWQnCiBwa2duYW1l PWtpY2FkCiB2ZXJzaW9uPTcuMC4xCi1yZXZpc2lvbj0yCityZXZpc2lvbj0zCiBidWlsZF9zdHls ZT1jbWFrZQogYnVpbGRfaGVscGVyPWNtYWtlLXd4V2lkZ2V0cy1ndGszCiBjb25maWd1cmVfYXJn cz0iLURLSUNBRF9TQ1JJUFRJTkdfV1hQWVRIT049T04KICAtREtJQ0FEX0JVSUxEX0kxOE49T04g LURLSUNBRF9JMThOX1VOSVhfU1RSSUNUX1BBVEg9T04KLSAtRHd4V2lkZ2V0c19DT05GSUdfRVhF Q1VUQUJMRT0kV1hfQ09ORklHCisgLUR3eFdpZGdldHNfQ09ORklHX0VYRUNVVEFCTEU9JFdYX0NP TkZJRyAtREtJQ0FEX1VTRV9FR0w9T04KICAtREtJQ0FEX1VTRV9PQ0M9JCh2b3B0X2lmIG9jY3Qg T04gT0ZGKSAtREtJQ0FEX1NQSUNFPSQodm9wdF9pZiBzcGljZSBPTiBPRkYpIgogaG9zdG1ha2Vk ZXBlbmRzPSJwa2ctY29uZmlnIHN3aWcgd3hXaWRnZXRzLWd0azMtZGV2ZWwgcHl0aG9uMyB0YXIg Z2V0dGV4dCIKLW1ha2VkZXBlbmRzPSJ3eFdpZGdldHMtZ3RrMy1kZXZlbCB3eFB5dGhvbjQgcHl0 aG9uMy1kZXZlbCBnbGV3LWRldmVsIGNhaXJvLWRldmVsCi0gYm9vc3QtZGV2ZWwgbGliY3VybC1k ZXZlbCBnbG0gbGliZ29tcC1kZXZlbCBsaWJmcmVlZ2x1dC1kZXZlbCBndGsrMy1kZXZlbCB1bml4 b2RiYy1kZXZlbAorbWFrZWRlcGVuZHM9Ind4V2lkZ2V0cy1ndGszLWRldmVsIHd4UHl0aG9uIHB5 dGhvbjMtZGV2ZWwgZ2xldy1kZXZlbAorIGNhaXJvLWRldmVsIGJvb3N0LWRldmVsIGxpYmN1cmwt ZGV2ZWwgZ2xtIGxpYmdvbXAtZGV2ZWwgbGliZnJlZWdsdXQtZGV2ZWwKKyBndGsrMy1kZXZlbCB1 bml4b2RiYy1kZXZlbAogICQodm9wdF9pZiBvY2N0IG9jY3QtZGV2ZWwpICQodm9wdF9pZiBzcGlj ZSBuZ3NwaWNlLWRldmVsKSIKLWRlcGVuZHM9Ind4UHl0aG9uNCIKK2RlcGVuZHM9Ind4UHl0aG9u Igogc2hvcnRfZGVzYz0iRWxlY3Ryb25pYyBzY2hlbWF0aWMgYW5kIFBDQiBkZXNpZ24gc29mdHdh cmUiCiBtYWludGFpbmVyPSLDiXJpY28gTm9ndWVpcmEgPGVyaWNvbnJAZGlzcm9vdC5vcmc+Igog bGljZW5zZT0iR1BMLTMuMC1vci1sYXRlciIKQEAgLTQxLDcgKzQyLDcgQEAgZmkKIG5vY3Jvc3M9 ImV4ZWN1dGUgbGVtb24gZHVyaW5nIGJ1aWxkIgogCiBpZiBbICIkQ1JPU1NfQlVJTEQiIF07IHRo ZW4KLQlob3N0bWFrZWRlcGVuZHMrPSIgd3hQeXRob240IgorCWhvc3RtYWtlZGVwZW5kcys9IiB3 eFB5dGhvbiIKIAljb25maWd1cmVfYXJncys9IiAtRFBZVEhPTl9ERVNUPS8ke3B5M19zaXRlbGli fQogCS1Ed3hXaWRnZXRzX0NPTkZJR19PUFRJT05TPSctLXByZWZpeD0ke1hCUFNfQ1JPU1NfQkFT RX0nIgogZmkKCkZyb20gMDY1YzNjYjA0MzI5OGU1OTFiZWU0YjQwNmU2YzM1YmU3YTIxOWUzZCBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogIkFuZHJldyBKLiBIZXNmb3JkIiA8YWpoQHNp ZGViYW5kLm9yZz4KRGF0ZTogTW9uLCAyNSBTZXAgMjAyMyAwODowNjo1NCAtMDQwMApTdWJqZWN0 OiBbUEFUQ0ggNDEvNDNdIG15bWNwbHVzOiByZWJ1aWxkIGFnYWluc3QgbmV3IHd4UHl0aG9uCgot LS0KIHNyY3BrZ3MvbXltY3BsdXMvdGVtcGxhdGUgfCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAy IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9teW1j cGx1cy90ZW1wbGF0ZSBiL3NyY3BrZ3MvbXltY3BsdXMvdGVtcGxhdGUKaW5kZXggOTMwNzExZWVi MmM1OS4uNWJiMDhlZjllYTVkNCAxMDA2NDQKLS0tIGEvc3JjcGtncy9teW1jcGx1cy90ZW1wbGF0 ZQorKysgYi9zcmNwa2dzL215bWNwbHVzL3RlbXBsYXRlCkBAIC0xLDEwICsxLDEwIEBACiAjIFRl bXBsYXRlIGZpbGUgZm9yICdteW1jcGx1cycKIHBrZ25hbWU9bXltY3BsdXMKIHZlcnNpb249My4w LjUKLXJldmlzaW9uPTIKK3JldmlzaW9uPTMKIGJ1aWxkX3N0eWxlPXB5dGhvbjMtbW9kdWxlCiBo b3N0bWFrZWRlcGVuZHM9InB5dGhvbjMtc2V0dXB0b29scyIKLWRlcGVuZHM9Ind4UHl0aG9uNCBw eXRob24zLVB5T3BlbkdMIgorZGVwZW5kcz0id3hQeXRob24gcHl0aG9uMy1QeU9wZW5HTCIKIGNo ZWNrZGVwZW5kcz0iJGRlcGVuZHMgcHl0aG9uMy1weXRlc3QiCiBzaG9ydF9kZXNjPSJQbGF5U3Rh dGlvbiAyIG1lbW9yeSBjYXJkIG1hbmFnZXIiCiBtYWludGFpbmVyPSJBbmRyZXcgQmVuc29uIDxh YmVuc29uK3ZvaWRAZ21haWwuY29tPiIKCkZyb20gNTgyZjJlZjU3NGIwNjg2MGM3MDljZTdlZjUx YTc1ZmFlOWE4NzMxYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogIkFuZHJldyBKLiBI ZXNmb3JkIiA8YWpoQHNpZGViYW5kLm9yZz4KRGF0ZTogTW9uLCAyNSBTZXAgMjAyMyAwODowNzoy NiAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggNDIvNDNdIHBob3RvZmlsbXN0cmlwOiByZWJ1aWxkIGFn YWluc3QgbmV3IHd4UHl0aG9uCgotLS0KIHNyY3BrZ3MvcGhvdG9maWxtc3RyaXAvdGVtcGxhdGUg fCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9waG90b2ZpbG1zdHJpcC90ZW1wbGF0ZSBiL3NyY3BrZ3Mv cGhvdG9maWxtc3RyaXAvdGVtcGxhdGUKaW5kZXggZDIwNTBhYzRjNjRjOC4uZDJjNzUxMTYyOTI1 MCAxMDA2NDQKLS0tIGEvc3JjcGtncy9waG90b2ZpbG1zdHJpcC90ZW1wbGF0ZQorKysgYi9zcmNw a2dzL3Bob3RvZmlsbXN0cmlwL3RlbXBsYXRlCkBAIC0xLDEwICsxLDEwIEBACiAjIFRlbXBsYXRl IGZpbGUgZm9yICdwaG90b2ZpbG1zdHJpcCcKIHBrZ25hbWU9cGhvdG9maWxtc3RyaXAKIHZlcnNp b249NC4wLjAKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPXB5dGhvbjMtbW9k dWxlCiBob3N0bWFrZWRlcGVuZHM9InB5dGhvbjMtc2V0dXB0b29scyBnc3QxLXB5dGhvbjMgcHl0 aG9uMy1TcGhpbnggZ2V0dGV4dCIKLWRlcGVuZHM9InB5dGhvbjMgZ3N0MS1weXRob24zIGdzdDEt ZWRpdGluZy1zZXJ2aWNlcyBweXRob24zLVBpbGxvdyB3eFB5dGhvbjQiCitkZXBlbmRzPSJweXRo b24zIGdzdDEtcHl0aG9uMyBnc3QxLWVkaXRpbmctc2VydmljZXMgcHl0aG9uMy1QaWxsb3cgd3hQ eXRob24iCiBjaGVja2RlcGVuZHM9IiRkZXBlbmRzIgogc2hvcnRfZGVzYz0iU2xpZGVzaG93IGNy ZWF0b3Igd2l0aCBLZW4gQnVybnMgZWZmZWN0IgogbWFpbnRhaW5lcj0ixJBvw6BuIFRy4bqnbiBD w7RuZyBEYW5oIDxjb25nZGFuaHF4QGdtYWlsLmNvbT4iCgpGcm9tIDc5ZjZiMGFlMmNiYzY4Zjk5 NWZkYzI2ODcwNWUyZjkyYzgyMWIyZjYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ICJB bmRyZXcgSi4gSGVzZm9yZCIgPGFqaEBzaWRlYmFuZC5vcmc+CkRhdGU6IE1vbiwgMjUgU2VwIDIw MjMgMDg6MDc6NDggLTA0MDAKU3ViamVjdDogW1BBVENIIDQzLzQzXSBwbGF5b25saW51eDogcmVi dWlsZCBhZ2FpbnN0IG5ldyB3eFB5dGhvbgoKLS0tCiBzcmNwa2dzL3BsYXlvbmxpbnV4L3RlbXBs YXRlIHwgNCArKy0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcGxheW9ubGludXgvdGVtcGxhdGUgYi9zcmNwa2dz L3BsYXlvbmxpbnV4L3RlbXBsYXRlCmluZGV4IDU2MjA3YTI5YWEyM2EuLjM5NGE0ZjJkNWIzYjQg MTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcGxheW9ubGludXgvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9w bGF5b25saW51eC90ZW1wbGF0ZQpAQCAtMSwxMCArMSwxMCBAQAogIyBUZW1wbGF0ZSBmaWxlIGZv ciAncGxheW9ubGludXgnCiBwa2duYW1lPXBsYXlvbmxpbnV4CiB2ZXJzaW9uPTQuNAotcmV2aXNp b249MQorcmV2aXNpb249MgogIyBjb250YWlucyBwcmUtY29tcGlsZWQgYmluYXJpZXMgbGlua2Vk IGFnYWluc3QgZ2xpYmMKIGFyY2hzPSJpNjg2IHg4Nl82NCIKLWRlcGVuZHM9Imljb3V0aWxzIG5l dGNhdCBJbWFnZU1hZ2ljayB4dGVybSB3eFB5dGhvbjQgY2FiZXh0cmFjdCB1bnppcCBnbHhpbmZv CitkZXBlbmRzPSJpY291dGlscyBuZXRjYXQgSW1hZ2VNYWdpY2sgeHRlcm0gd3hQeXRob24gY2Fi ZXh0cmFjdCB1bnppcCBnbHhpbmZvCiAgZ251cGcgeGRnLXVzZXItZGlycyBsaWJYbXUgd2dldCBw N3ppcCBjdXJsIGpxIHB5dGhvbjMtbmF0c29ydCB4cmRiIGdldHRleHQKICBwZXJsIgogc2hvcnRf ZGVzYz0iR1VJIGZvciBtYW5hZ2luZyBXaW5kb3dzIHByb2dyYW1zIHVuZGVyIGxpbnV4Igo= --===============5365335329960597674==--