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 5191 invoked from network); 9 Oct 2023 23:36:32 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 9 Oct 2023 23:36:32 -0000 Content-Type: multipart/mixed; boundary="===============6917144555135030550==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_telepathy_suite=3A_python3ise_everything?= To: ml@inbox.vuxu.org From: classabbyamp Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Tue, 10 Oct 2023 01:36:32 +0200 List-Id: Message-ID: <20231009233632.xh65RPk5RlRcm1yMIXTVL_ykptkL_eXoTeUhKB8KUV0@z> GitHub notification mails are now in MIME to allow UTF8. --===============6917144555135030550== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgY2xhc3NhYmJ5YW1wIGFnYWluc3Qg bWFzdGVyIG9uIHRoZSB2b2lkLXBhY2thZ2VzIHJlcG9zaXRvcnkKCmh0dHBzOi8vZ2l0aHViLmNv bS9jbGFzc2FiYnlhbXAvdm9pZC1wYWNrYWdlcyB0ZWxlcGF0aHkKaHR0cHM6Ly9naXRodWIuY29t L3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzQ2NTE2Cgp0ZWxlcGF0aHkgc3VpdGU6IHB5 dGhvbjNpc2UgZXZlcnl0aGluZwotIHRlbGVwYXRoeS1xdDU6IHVwZGF0ZSB0byAwLjkuOC4KLSB0 ZWxlcGF0aHktZmFyc3RyZWFtOiBkb2Vzbid0IG5lZWQgcHl0aG9uCi0gdGVsZXBhdGh5LWxvZ2dl cjogbWFrZSBjb2RlZ2VuIHdvcmsgd2l0aCBweXRob24zCi0gdGVsZXBhdGh5LWhhemU6IHVwZGF0 ZSB0byAwLjguMS4KLSB0ZWxlcGF0aHktc2FsdXQ6IG1ha2UgY29kZWdlbiB3b3JrIHdpdGggcHl0 aG9uMwotIHRlbGVwYXRoeS1nYWJibGU6IHBhdGNoIGZvciBweXRob24zCgo8IS0tIFVuY29tbWVu dCByZWxldmFudCBzZWN0aW9ucyBhbmQgZGVsZXRlIG9wdGlvbnMgd2hpY2ggYXJlIG5vdCBhcHBs aWNhYmxlIC0tPgoKIyMjIyBUZXN0aW5nIHRoZSBjaGFuZ2VzCi0gSSB0ZXN0ZWQgdGhlIGNoYW5n ZXMgaW4gdGhpcyBQUjogKipicmllZmx5KiogKGJ1aWxkcykKCmNjIEBkdW5jYWVuLCBhIGNvdXBs ZSBvZiB0aGVzZSBhcmUgeW91cnMKCgpBIHBhdGNoIGZpbGUgZnJvbSBodHRwczovL2dpdGh1Yi5j b20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL3B1bGwvNDY1MTYucGF0Y2ggaXMgYXR0YWNoZWQ= --===============6917144555135030550== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-telepathy-46516.patch" RnJvbSA0MWIyMzNmYjJhNTY1NmUyZDMzYzI4NDY4MTU2ZDkxZDkxYTdmODI5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBjbGFzc2FiYnlhbXAgPHZvaWRAcGxhY2V2aW9sZXR0ZS5uZXQ+ CkRhdGU6IFNhdCwgNyBPY3QgMjAyMyAyMjozODoyMCAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMS82 XSB0ZWxlcGF0aHktcXQ1OiB1cGRhdGUgdG8gMC45LjguCgotLS0KIGNvbW1vbi9zaGxpYnMgICAg ICAgICAgICAgICAgICB8ICAyICstCiBzcmNwa2dzL3RlbGVwYXRoeS1xdDUvdGVtcGxhdGUgfCAy NiArKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlv bnMoKyksIDIyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2NvbW1vbi9zaGxpYnMgYi9jb21t b24vc2hsaWJzCmluZGV4IGMyYjcyZWRiNzdjZDIuLjQ5NjFhMWU1MmJjNjIgMTAwNjQ0Ci0tLSBh L2NvbW1vbi9zaGxpYnMKKysrIGIvY29tbW9uL3NobGlicwpAQCAtMjIzOCw3ICsyMjM4LDcgQEAg bGlicXQ1a2V5Y2hhaW4uc28uMSBxdGtleWNoYWluLXF0NS0wLjcuMF8xCiBsaWJwaG9ub240cXQ1 LnNvLjQgcGhvbm9uLXF0NS00LjguM18xCiBsaWJwaG9ub240cXQ1ZXhwZXJpbWVudGFsLnNvLjQg cGhvbm9uLXF0NS00LjguM18xCiBsaWJ0ZWxlcGF0aHktcXQ1LnNvLjAgdGVsZXBhdGh5LXF0NS0w LjkuNV8xCi1saWJ0ZWxlcGF0aHktcXQ1LXNlcnZpY2Uuc28uMCB0ZWxlcGF0aHktcXQ1LTAuOS43 XzEKK2xpYnRlbGVwYXRoeS1xdDUtc2VydmljZS5zby4xIHRlbGVwYXRoeS1xdDUtMC45LjhfMQog bGlidGVsZXBhdGh5LXF0NS1mYXJzdHJlYW0uc28uMCB0ZWxlcGF0aHktcXQ1LWZhcnN0cmVhbS0w LjkuNV8xCiBsaWJLRjVBdHRpY2Euc28uNSBhdHRpY2EtNS42LjBfMQogbGlibGFzdGZtX2Zpbmdl cnByaW50NS5zby4xIGxpYmxhc3RmbS1xdDUtMS4wLjlfMQpkaWZmIC0tZ2l0IGEvc3JjcGtncy90 ZWxlcGF0aHktcXQ1L3RlbXBsYXRlIGIvc3JjcGtncy90ZWxlcGF0aHktcXQ1L3RlbXBsYXRlCmlu ZGV4IDRlZTJhMDFmNzYxNzAuLmExNTFlZGM3YTMyOWQgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvdGVs ZXBhdGh5LXF0NS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3RlbGVwYXRoeS1xdDUvdGVtcGxhdGUK QEAgLTEsNDMgKzEsMjcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3RlbGVwYXRoeS1xdDUnCiBw a2duYW1lPXRlbGVwYXRoeS1xdDUKLXZlcnNpb249MC45LjcKK3ZlcnNpb249MC45LjgKIHJldmlz aW9uPTEKIGJ1aWxkX3N0eWxlPWNtYWtlCi1jb25maWd1cmVfYXJncz0iCi0gLURFTkFCTEVfRVhB TVBMRVM9T0ZGCi0gLURFTkFCTEVfVEVTVFM9T0ZGCi0gLURERVNJUkVEX1FUX1ZFUlNJT049NQot IC1EUVRfUU1BS0VfRVhFQ1VUQUJMRT0vdXNyL2Jpbi9xbWFrZS1xdDUiCi1ob3N0bWFrZWRlcGVu ZHM9InB5dGhvbiBwa2ctY29uZmlnIgorY29uZmlndXJlX2FyZ3M9Ii1ERU5BQkxFX0VYQU1QTEVT PU9GRiAtREVOQUJMRV9URVNUUz1PRkYiCitob3N0bWFrZWRlcGVuZHM9InB5dGhvbjMgcGtnLWNv bmZpZyIKIG1ha2VkZXBlbmRzPSJxdDUtZGV2ZWwgdGVsZXBhdGh5LWZhcnN0cmVhbS1kZXZlbCB0 ZWxlcGF0aHktZ2xpYi1kZXZlbAogIGdzdHJlYW1lcjEtZGV2ZWwgbGlieG1sMi1kZXZlbCIKIHNo b3J0X2Rlc2M9IlF0NSBiaW5kaW5ncyBmb3IgdGhlIFRlbGVwYXRoeSBELUJ1cyBwcm90b2NvbCIK IG1haW50YWluZXI9IkR1bmNhZW4gPGR1bmNhZW5Adm9pZGxpbnV4Lm9yZz4iCi1saWNlbnNlPSJM R1BMLTIuMSIKK2xpY2Vuc2U9IkxHUEwtMi4xLW9yLWxhdGVyIgogaG9tZXBhZ2U9Imh0dHA6Ly90 ZWxlcGF0aHkuZnJlZWRlc2t0b3Aub3JnLyIKIGRpc3RmaWxlcz0iaHR0cDovL3RlbGVwYXRoeS5m cmVlZGVza3RvcC5vcmcvcmVsZWFzZXMvJHtwa2duYW1lLy81L30vJHtwa2duYW1lLy81L30tJHt2 ZXJzaW9ufS50YXIuZ3oiCi1jaGVja3N1bT0yMWJhZDMwYmU3ZWJjNGJhNjY3ZDUzZDkyY2QxY2Vj MWJlMjMxMTQxMDNmMjE0OTQwNGQ5NzQwNzIxNjkzZDRmCitjaGVja3N1bT1iZjhlMmEwOTA2MGFk ZGI4MDQ3NWE0OTM4MTA1YjliNDFkOWU2ODM3OTk5YjdhMDBlNTM1MTc4Mzg1N2UxOGFkCiAKIGlm IFsgLW4gIiRDUk9TU19CVUlMRCIgXTsgdGhlbgogCWhvc3RtYWtlZGVwZW5kcys9IiBxdDUtaG9z dC10b29scyBxdDUtZGV2ZWwiCi0JY29uZmlndXJlX2FyZ3MrPSIgLURQWVRIT05fU0hPUlRfVkVS U0lPTj0yLjciCi0JY29uZmlndXJlX2FyZ3MrPSIgLURQWVRIT05fTE9OR19WRVJTSU9OPTIuNy4z IgotCWNvbmZpZ3VyZV9hcmdzKz0iIC1EUFlUSE9OX1NJVEVfUEFDS0FHRVNfRElSPSR7WEJQU19D Uk9TU19CQVNFfS91c3IvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzIgotCWNvbmZpZ3VyZV9h cmdzKz0iIC1EUFlUSE9OX0lOQ0xVREVfUEFUSD0ke1hCUFNfQ1JPU1NfQkFTRX0vdXNyL2luY2x1 ZGUvcHl0aG9uMi43IgotCWNvbmZpZ3VyZV9hcmdzKz0iIC1EQ01BS0VfUFlUSE9OX0xJQlJBUklF Uz0ke1hCUFNfQ1JPU1NfQkFTRX0vdXNyL2xpYiIKIGZpCiAKIENYWEZMQUdTPSItRF9ERUZBVUxU X1NPVVJDRSIKIAogc3VicGFja2FnZXM9InRlbGVwYXRoeS1xdDUtZmFyc3RyZWFtIHRlbGVwYXRo eS1xdDUtZGV2ZWwiCiAKLXBvc3RfZXh0cmFjdCgpIHsKLQlpZiBbIC1uICIkQ1JPU1NfQlVJTEQi IF07IHRoZW4KLQkJIyBjbWFrZS9GaW5kUHl0aG9uTGlicmFyeS5jbWFrZSBmYWlscyB3aGVuIGNy b3NzIGNvbXBpbGluZwotCQlzZWQgLWkgQ01ha2VMaXN0cy50eHQgLWUgIi9maW5kX3BhY2thZ2Uo UHl0aG9uTGlicmFyeSAke1JFUVVJUkVEX1BZfSBSRVFVSVJFRCkvZCIKLQlmaQotfQotCiB0ZWxl cGF0aHktcXQ1LWZhcnN0cmVhbV9wYWNrYWdlKCkgewogCXNob3J0X2Rlc2MrPSIgLSBmYXJzdHJl YW0gY29tcG9uZW50IgogCWRlcGVuZHM9InRlbGVwYXRoeS1xdDU+PSR7dmVyc2lvbn1fJHtyZXZp c2lvbn0iCgpGcm9tIDViZTk4ZTEyMWZiNGE2MGU1OGI5OGFmMjhlMjQ3NTVhNzllYjQ1N2QgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IGNsYXNzYWJieWFtcCA8dm9pZEBwbGFjZXZpb2xl dHRlLm5ldD4KRGF0ZTogU2F0LCA3IE9jdCAyMDIzIDIyOjQ0OjM0IC0wNDAwClN1YmplY3Q6IFtQ QVRDSCAyLzZdIHRlbGVwYXRoeS1mYXJzdHJlYW06IGRvZXNuJ3QgbmVlZCBweXRob24KCi0tLQog c3JjcGtncy90ZWxlcGF0aHktZmFyc3RyZWFtL3RlbXBsYXRlIHwgNyArKystLS0tCiAxIGZpbGUg Y2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvdGVsZXBhdGh5LWZhcnN0cmVhbS90ZW1wbGF0ZSBiL3NyY3BrZ3MvdGVsZXBhdGh5LWZh cnN0cmVhbS90ZW1wbGF0ZQppbmRleCBkZTExNGU3YWFlYzZjLi5kMmIwMGMyNmU5OWM1IDEwMDY0 NAotLS0gYS9zcmNwa2dzL3RlbGVwYXRoeS1mYXJzdHJlYW0vdGVtcGxhdGUKKysrIGIvc3JjcGtn cy90ZWxlcGF0aHktZmFyc3RyZWFtL3RlbXBsYXRlCkBAIC02LDEzICs2LDEyIEBAIGJ1aWxkX3N0 eWxlPWdudS1jb25maWd1cmUKIGJ1aWxkX2hlbHBlcj0iZ2lyIgogY29uZmlndXJlX2FyZ3M9Ii0t ZGlzYWJsZS1zdGF0aWMgJCh2b3B0X2VuYWJsZSBnaXIgaW50cm9zcGVjdGlvbikiCiBob3N0bWFr ZWRlcGVuZHM9InBrZy1jb25maWcgaW50bHRvb2wgbGlieHNsdCAkKHZvcHRfaWYgZ2lyIGdvYmpl Y3QtaW50cm9zcGVjdGlvbikiCi1tYWtlZGVwZW5kcz0iZGJ1cy1nbGliLWRldmVsIHRlbGVwYXRo eS1nbGliLWRldmVsIGZhcnN0cmVhbS1kZXZlbAotIHB5dGhvbi1kZXZlbCB2YWxhLWRldmVsIgor bWFrZWRlcGVuZHM9ImRidXMtZ2xpYi1kZXZlbCB0ZWxlcGF0aHktZ2xpYi1kZXZlbCBmYXJzdHJl YW0tZGV2ZWwgdmFsYS1kZXZlbCIKIHNob3J0X2Rlc2M9IlRlbGVwYXRoeSBsaWJyYXJ5IHRoYXQg dXNlcyBGYXJzdHJlYW0gdG8gaGFuZGxlIENhbGwgY2hhbm5lbHMiCiBtYWludGFpbmVyPSJPcnBo YW5lZCA8b3JwaGFuQHZvaWRsaW51eC5vcmc+IgogbGljZW5zZT0iTEdQTC0yLjEtb3ItbGF0ZXIi Ci1ob21lcGFnZT0iaHR0cDovL3RlbGVwYXRoeS5mcmVlZGVza3RvcC5vcmciCi1kaXN0ZmlsZXM9 IiRob21lcGFnZS9yZWxlYXNlcy8kcGtnbmFtZS8kcGtnbmFtZS0kdmVyc2lvbi50YXIuZ3oiCito b21lcGFnZT0iaHR0cHM6Ly90ZWxlcGF0aHkuZnJlZWRlc2t0b3Aub3JnIgorZGlzdGZpbGVzPSJo dHRwczovL3RlbGVwYXRoeS5mcmVlZGVza3RvcC5vcmcvcmVsZWFzZXMvdGVsZXBhdGh5LWZhcnN0 cmVhbS90ZWxlcGF0aHktZmFyc3RyZWFtLSR2ZXJzaW9uLnRhci5neiIKIGNoZWNrc3VtPTZmYTA5 OWYyMmQxM2EyYTQ5MjQwNDQ1YTEzZTkxODkyOGFlZjA5NzY3NWQ3NmU1Y2M5Zjk4YWI0OTYwODdl MGEKIHJlcGxhY2VzPSJ0ZWxlcGF0aHktZmFyc2lnaHQ+PTAiCiAKCkZyb20gYjQ2ZjliZmJlYmM3 YmJhMWM0ODRiNWNjMGM2MWFjNDRlZDk1ZjlmYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogY2xhc3NhYmJ5YW1wIDx2b2lkQHBsYWNldmlvbGV0dGUubmV0PgpEYXRlOiBTYXQsIDcgT2N0 IDIwMjMgMjM6Mjg6MjUgLTA0MDAKU3ViamVjdDogW1BBVENIIDMvNl0gdGVsZXBhdGh5LWxvZ2dl cjogbWFrZSBjb2RlZ2VuIHdvcmsgd2l0aCBweXRob24zCgotLS0KIC4uLi90ZWxlcGF0aHktbG9n Z2VyL3BhdGNoZXMvcHl0aG9uMy5wYXRjaCAgICB8IDY1MyArKysrKysrKysrKysrKysrKysKIHNy Y3BrZ3MvdGVsZXBhdGh5LWxvZ2dlci90ZW1wbGF0ZSAgICAgICAgICAgICB8ICAgNiArLQogMiBm aWxlcyBjaGFuZ2VkLCA2NTQgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKIGNyZWF0ZSBt b2RlIDEwMDY0NCBzcmNwa2dzL3RlbGVwYXRoeS1sb2dnZXIvcGF0Y2hlcy9weXRob24zLnBhdGNo CgpkaWZmIC0tZ2l0IGEvc3JjcGtncy90ZWxlcGF0aHktbG9nZ2VyL3BhdGNoZXMvcHl0aG9uMy5w YXRjaCBiL3NyY3BrZ3MvdGVsZXBhdGh5LWxvZ2dlci9wYXRjaGVzL3B5dGhvbjMucGF0Y2gKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMC4uZGJhZmQ5Y2M4MDIxOAotLS0g L2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvdGVsZXBhdGh5LWxvZ2dlci9wYXRjaGVzL3B5dGhvbjMu cGF0Y2gKQEAgLTAsMCArMSw2NTMgQEAKK0Zyb20gZjQ2MzRiMmNhZjFmOTJmMjdhNTA3MjA3ZmYx ODFkM2E3OTI3ODcxZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFNpbW9uIE1jVml0 dGllIDxzaW1vbi5tY3ZpdHRpZUBjb2xsYWJvcmEuY28udWs+CitEYXRlOiBUaHUsIDMgSmFuIDIw MTMgMTI6MzM6MDkgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gTWFrZSB0aGUgY29kZSBnZW5lcmF0 aW9uIHRvb2xzIHdvcmsgdW5kZXIgZWl0aGVyIFB5dGhvbiAyIG9yCisgMworCitUaGV5IGhhdmUg YmVlbiB2ZXJpZmllZCB0byBwcm9kdWNlIGlkZW50aWNhbCBvdXRwdXQgaW4gX2dlbi4KKworQnVn OiBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD01Njc1OAorU2ln bmVkLW9mZi1ieTogU2ltb24gTWNWaXR0aWUgPHNpbW9uLm1jdml0dGllQGNvbGxhYm9yYS5jby51 az4KK1Jldmlld2VkLWJ5OiBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxh Ym9yYS5jby51az4KKy0tLQorIHRvb2xzL2MtY29uc3RhbnRzLWdlbi5weSAgICAgICAgICAgIHwg MTIgKysrLS0tCisgdG9vbHMvZ2xpYi1jbGllbnQtZ2VuLnB5ICAgICAgICAgICAgfCAxOCArKyst LS0tLS0KKyB0b29scy9nbGliLWNsaWVudC1tYXJzaGFsbGVyLWdlbi5weSB8IDIwICsrKysrLS0t LS0KKyB0b29scy9nbGliLWVycm9ycy1jaGVjay1nZW4ucHkgICAgICB8IDYyICsrKysrKysrKysr KysrLS0tLS0tLS0tLS0tLS0tCisgdG9vbHMvZ2xpYi1lcnJvcnMtc3RyLWdlbi5weSAgICAgICAg fCAxNCArKy0tLS0tCisgdG9vbHMvZ2xpYi1naW50ZXJmYWNlLWdlbi5weSAgICAgICAgfCAyMiAr KysrLS0tLS0tCisgdG9vbHMvZ2xpYi1ndHlwZXMtZ2VuZXJhdG9yLnB5ICAgICAgfCAxNCArKyst LS0tCisgdG9vbHMvZ2xpYi1pbnRlcmZhY2VzLWdlbi5weSAgICAgICAgfCAxNCArKystLS0tCisg dG9vbHMvZ29iamVjdC1mb28ucHkgICAgICAgICAgICAgICAgfCAgMiArLQorIHRvb2xzL2xpYmds aWJjb2RlZ2VuLnB5ICAgICAgICAgICAgIHwgIDQgKy0KKyB0b29scy9saWJ0cGNvZGVnZW4ucHkg ICAgICAgICAgICAgICB8IDIyICsrKysrKysrKy0KKyB0b29scy9tYWtlLXZlcnNpb24tc2NyaXB0 LnB5ICAgICAgICB8IDMyICsrKysrKystLS0tLS0tLQorIHRvb2xzL3hpbmNsdWRhdG9yLnB5ICAg ICAgICAgICAgICAgIHwgMTMgKysrKy0tCisgMTMgZmlsZXMgY2hhbmdlZCwgMTI5IGluc2VydGlv bnMoKyksIDEyMCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3Rvb2xzL2MtY29uc3RhbnRz LWdlbi5weSBiL3Rvb2xzL2MtY29uc3RhbnRzLWdlbi5weQoraW5kZXggYzdhOTNkMzcxLi5hMDhh ZmVlMDYgMTAwNjQ0CistLS0gYS90b29scy9jLWNvbnN0YW50cy1nZW4ucHkKKysrKyBiL3Rvb2xz L2MtY29uc3RhbnRzLWdlbi5weQorQEAgLTMsNyArMyw3IEBACisgZnJvbSBzeXMgaW1wb3J0IGFy Z3YsIHN0ZG91dCwgc3RkZXJyCisgaW1wb3J0IHhtbC5kb20ubWluaWRvbQorIAorLWZyb20gbGli dHBjb2RlZ2VuIGltcG9ydCBmaWxlX3NldF9jb250ZW50cworK2Zyb20gbGlidHBjb2RlZ2VuIGlt cG9ydCBmaWxlX3NldF9jb250ZW50cywgdQorIGZyb20gbGliZ2xpYmNvZGVnZW4gaW1wb3J0IE5T X1RQLCBnZXRfZG9jc3RyaW5nLCBcCisgICAgICAgICBnZXRfZGVzY2VuZGFudF90ZXh0LCBnZXRf YnlfcGF0aAorIAorQEAgLTEyLDcgKzEyLDcgQEAgZGVmIF9faW5pdF9fKHNlbGYsIHByZWZpeCwg ZG9tLCBvdXRwdXRfYmFzZSk6CisgICAgICAgICBzZWxmLnByZWZpeCA9IHByZWZpeCArICdfJwor ICAgICAgICAgc2VsZi5zcGVjID0gZ2V0X2J5X3BhdGgoZG9tLCAic3BlYyIpWzBdCisgCistCXNl bGYub3V0cHV0X2Jhc2UgPSBvdXRwdXRfYmFzZQorKyAgICAgICAgc2VsZi5vdXRwdXRfYmFzZSA9 IG91dHB1dF9iYXNlCisgICAgICAgICBzZWxmLl9faGVhZGVyID0gW10KKyAgICAgICAgIHNlbGYu X19kb2NzID0gW10KKyAKK0BAIC0yMSwxNCArMjEsMTQgQEAgZGVmIF9fY2FsbF9fKHNlbGYpOgor ICAgICAgICAgc2VsZi5kb19ib2R5KCkKKyAgICAgICAgIHNlbGYuZG9fZm9vdGVyKCkKKyAKKy0g ICAgICAgIGZpbGVfc2V0X2NvbnRlbnRzKHNlbGYub3V0cHV0X2Jhc2UgKyAnLmgnLCAnJy5qb2lu KHNlbGYuX19oZWFkZXIpKQorLSAgICAgICAgZmlsZV9zZXRfY29udGVudHMoc2VsZi5vdXRwdXRf YmFzZSArICctZ3RrLWRvYy5oJywgJycuam9pbihzZWxmLl9fZG9jcykpCisrICAgICAgICBmaWxl X3NldF9jb250ZW50cyhzZWxmLm91dHB1dF9iYXNlICsgJy5oJywgdSgnJykuam9pbihzZWxmLl9f aGVhZGVyKS5lbmNvZGUoJ3V0Zi04JykpCisrICAgICAgICBmaWxlX3NldF9jb250ZW50cyhzZWxm Lm91dHB1dF9iYXNlICsgJy1ndGstZG9jLmgnLCB1KCcnKS5qb2luKHNlbGYuX19kb2NzKS5lbmNv ZGUoJ3V0Zi04JykpCisgCisgICAgIGRlZiB3cml0ZShzZWxmLCBjb2RlKToKKy0gICAgICAgIHNl bGYuX19oZWFkZXIuYXBwZW5kKGNvZGUuZW5jb2RlKCd1dGYtOCcpKQorKyAgICAgICAgc2VsZi5f X2hlYWRlci5hcHBlbmQoY29kZSkKKyAKKyAgICAgZGVmIGQoc2VsZiwgY29kZSk6CistICAgICAg ICBzZWxmLl9fZG9jcy5hcHBlbmQoY29kZS5lbmNvZGUoJ3V0Zi04JykpCisrICAgICAgICBzZWxm Ll9fZG9jcy5hcHBlbmQoY29kZSkKKyAKKyAgICAgIyBIZWFkZXIKKyAgICAgZGVmIGRvX2hlYWRl cihzZWxmKToKK2RpZmYgLS1naXQgYS90b29scy9nbGliLWNsaWVudC1nZW4ucHkgYi90b29scy9n bGliLWNsaWVudC1nZW4ucHkKK2luZGV4IGY4NDY1YTYyYi4uZTY4ZTFhNTc1IDEwMDY0NAorLS0t IGEvdG9vbHMvZ2xpYi1jbGllbnQtZ2VuLnB5CisrKysgYi90b29scy9nbGliLWNsaWVudC1nZW4u cHkKK0BAIC0yNyw4ICsyNyw4IEBACisgaW1wb3J0IHhtbC5kb20ubWluaWRvbQorIGZyb20gZ2V0 b3B0IGltcG9ydCBnbnVfZ2V0b3B0CisgCistZnJvbSBsaWJ0cGNvZGVnZW4gaW1wb3J0IGZpbGVf c2V0X2NvbnRlbnRzCistZnJvbSBsaWJnbGliY29kZWdlbiBpbXBvcnQgU2lnbmF0dXJlLCB0eXBl X3RvX2d0eXBlLCBjbXBfYnlfbmFtZSwgXAorK2Zyb20gbGlidHBjb2RlZ2VuIGltcG9ydCBmaWxl X3NldF9jb250ZW50cywga2V5X2J5X25hbWUsIHUKKytmcm9tIGxpYmdsaWJjb2RlZ2VuIGltcG9y dCBTaWduYXR1cmUsIHR5cGVfdG9fZ3R5cGUsIFwKKyAgICAgICAgIGdldF9kb2NzdHJpbmcsIHht bF9lc2NhcGUsIGdldF9kZXByZWNhdGVkCisgCisgCitAQCAtNzQsMTggKzc0LDEyIEBAIGRlZiBf X2luaXRfXyhzZWxmLCBkb20sIHByZWZpeCwgYmFzZW5hbWUsIG9wdHMpOgorICAgICAgICAgc2Vs Zi5ndWFyZCA9IG9wdHMuZ2V0KCctLWd1YXJkJywgTm9uZSkKKyAKKyAgICAgZGVmIGgoc2VsZiwg cyk6CistICAgICAgICBpZiBpc2luc3RhbmNlKHMsIHVuaWNvZGUpOgorLSAgICAgICAgICAgIHMg PSBzLmVuY29kZSgndXRmLTgnKQorICAgICAgICAgc2VsZi5fX2hlYWRlci5hcHBlbmQocykKKyAK KyAgICAgZGVmIGIoc2VsZiwgcyk6CistICAgICAgICBpZiBpc2luc3RhbmNlKHMsIHVuaWNvZGUp OgorLSAgICAgICAgICAgIHMgPSBzLmVuY29kZSgndXRmLTgnKQorICAgICAgICAgc2VsZi5fX2Jv ZHkuYXBwZW5kKHMpCisgCisgICAgIGRlZiBkKHNlbGYsIHMpOgorLSAgICAgICAgaWYgaXNpbnN0 YW5jZShzLCB1bmljb2RlKToKKy0gICAgICAgICAgICBzID0gcy5lbmNvZGUoJ3V0Zi04JykKKyAg ICAgICAgIHNlbGYuX19kb2NzLmFwcGVuZChzKQorIAorICAgICBkZWYgZ2V0X2lmYWNlX3F1YXJr KHNlbGYpOgorQEAgLTExOTEsNyArMTE4NSw3IEBAIGRlZiBfX2NhbGxfXyhzZWxmKToKKyAgICAg ICAgIHNlbGYuYignJykKKyAKKyAgICAgICAgIG5vZGVzID0gc2VsZi5kb20uZ2V0RWxlbWVudHNC eVRhZ05hbWUoJ25vZGUnKQorLSAgICAgICAgbm9kZXMuc29ydChjbXBfYnlfbmFtZSkKKysgICAg ICAgIG5vZGVzLnNvcnQoa2V5PWtleV9ieV9uYW1lKQorIAorICAgICAgICAgZm9yIG5vZGUgaW4g bm9kZXM6CisgICAgICAgICAgICAgc2VsZi5kb19pbnRlcmZhY2Uobm9kZSkKK0BAIC0xMjQ0LDkg KzEyMzgsOSBAQCBkZWYgX19jYWxsX18oc2VsZik6CisgICAgICAgICAgICAgc2VsZi5oKCcjZW5k aWYgLyogZGVmaW5lZCAoJXMpICovJyAlIHNlbGYuZ3VhcmQpCisgICAgICAgICAgICAgc2VsZi5o KCcnKQorIAorLSAgICAgICAgZmlsZV9zZXRfY29udGVudHMoc2VsZi5iYXNlbmFtZSArICcuaCcs ICdcbicuam9pbihzZWxmLl9faGVhZGVyKSkKKy0gICAgICAgIGZpbGVfc2V0X2NvbnRlbnRzKHNl bGYuYmFzZW5hbWUgKyAnLWJvZHkuaCcsICdcbicuam9pbihzZWxmLl9fYm9keSkpCistICAgICAg ICBmaWxlX3NldF9jb250ZW50cyhzZWxmLmJhc2VuYW1lICsgJy1ndGstZG9jLmgnLCAnXG4nLmpv aW4oc2VsZi5fX2RvY3MpKQorKyAgICAgICAgZmlsZV9zZXRfY29udGVudHMoc2VsZi5iYXNlbmFt ZSArICcuaCcsIHUoJ1xuJykuam9pbihzZWxmLl9faGVhZGVyKS5lbmNvZGUoJ3V0Zi04JykpCisr ICAgICAgICBmaWxlX3NldF9jb250ZW50cyhzZWxmLmJhc2VuYW1lICsgJy1ib2R5LmgnLCB1KCdc bicpLmpvaW4oc2VsZi5fX2JvZHkpLmVuY29kZSgndXRmLTgnKSkKKysgICAgICAgIGZpbGVfc2V0 X2NvbnRlbnRzKHNlbGYuYmFzZW5hbWUgKyAnLWd0ay1kb2MuaCcsIHUoJ1xuJykuam9pbihzZWxm Ll9fZG9jcykuZW5jb2RlKCd1dGYtOCcpKQorIAorIGRlZiB0eXBlc190b19ndHlwZXModHlwZXMp OgorICAgICByZXR1cm4gW3R5cGVfdG9fZ3R5cGUodClbMV0gZm9yIHQgaW4gdHlwZXNdCitkaWZm IC0tZ2l0IGEvdG9vbHMvZ2xpYi1jbGllbnQtbWFyc2hhbGxlci1nZW4ucHkgYi90b29scy9nbGli LWNsaWVudC1tYXJzaGFsbGVyLWdlbi5weQoraW5kZXggY2IyN2Q2MzhhLi5jZDk4MjNiZGYgMTAw NjQ0CistLS0gYS90b29scy9nbGliLWNsaWVudC1tYXJzaGFsbGVyLWdlbi5weQorKysrIGIvdG9v bHMvZ2xpYi1jbGllbnQtbWFyc2hhbGxlci1nZW4ucHkKK0BAIC0zMSwyMyArMzEsMjMgQEAgZGVm IF9fY2FsbF9fKHNlbGYpOgorICAgICAgICAgZm9yIHNpZ25hbCBpbiBzaWduYWxzOgorICAgICAg ICAgICAgIHNlbGYuZG9fc2lnbmFsKHNpZ25hbCkKKyAKKy0gICAgICAgIHByaW50ICd2b2lkJwor LSAgICAgICAgcHJpbnQgJyVzX3JlZ2lzdGVyX2RidXNfZ2xpYl9tYXJzaGFsbGVycyAodm9pZCkn ICUgc2VsZi5wcmVmaXgKKy0gICAgICAgIHByaW50ICd7JworKyAgICAgICAgcHJpbnQoJ3ZvaWQn KQorKyAgICAgICAgcHJpbnQoJyVzX3JlZ2lzdGVyX2RidXNfZ2xpYl9tYXJzaGFsbGVycyAodm9p ZCknICUgc2VsZi5wcmVmaXgpCisrICAgICAgICBwcmludCgneycpCisgCistICAgICAgICBhbGwg PSBzZWxmLm1hcnNoYWxsZXJzLmtleXMoKQorKyAgICAgICAgYWxsID0gbGlzdChzZWxmLm1hcnNo YWxsZXJzLmtleXMoKSkKKyAgICAgICAgIGFsbC5zb3J0KCkKKyAgICAgICAgIGZvciBtYXJzaGFs bGVyIGluIGFsbDoKKyAgICAgICAgICAgICByaHMgPSBzZWxmLm1hcnNoYWxsZXJzW21hcnNoYWxs ZXJdCisgCistICAgICAgICAgICAgcHJpbnQgJyAgZGJ1c19nX29iamVjdF9yZWdpc3Rlcl9tYXJz aGFsbGVyICgnCistICAgICAgICAgICAgcHJpbnQgJyAgICAgIGdfY2Nsb3N1cmVfbWFyc2hhbF9n ZW5lcmljLCcKKy0gICAgICAgICAgICBwcmludCAnICAgICAgR19UWVBFX05PTkUsICAgICAgIC8q IHJldHVybiAqLycKKysgICAgICAgICAgICBwcmludCgnICBkYnVzX2dfb2JqZWN0X3JlZ2lzdGVy X21hcnNoYWxsZXIgKCcpCisrICAgICAgICAgICAgcHJpbnQoJyAgICAgIGdfY2Nsb3N1cmVfbWFy c2hhbF9nZW5lcmljLCcpCisrICAgICAgICAgICAgcHJpbnQoJyAgICAgIEdfVFlQRV9OT05FLCAg ICAgICAvKiByZXR1cm4gKi8nKQorICAgICAgICAgICAgIGZvciB0eXBlIGluIHJoczoKKy0gICAg ICAgICAgICAgICAgcHJpbnQgJyAgICAgIEdfVFlQRV8lcywnICUgdHlwZS5yZXBsYWNlKCdWT0lE JywgJ05PTkUnKQorLSAgICAgICAgICAgIHByaW50ICcgICAgICBHX1RZUEVfSU5WQUxJRCk7Jwor KyAgICAgICAgICAgICAgICBwcmludCgnICAgICAgR19UWVBFXyVzLCcgJSB0eXBlLnJlcGxhY2Uo J1ZPSUQnLCAnTk9ORScpKQorKyAgICAgICAgICAgIHByaW50KCcgICAgICBHX1RZUEVfSU5WQUxJ RCk7JykKKyAKKy0gICAgICAgIHByaW50ICd9JworKyAgICAgICAgcHJpbnQoJ30nKQorIAorIAor IGRlZiB0eXBlc190b19ndHlwZXModHlwZXMpOgorZGlmZiAtLWdpdCBhL3Rvb2xzL2dsaWItZXJy b3JzLWNoZWNrLWdlbi5weSBiL3Rvb2xzL2dsaWItZXJyb3JzLWNoZWNrLWdlbi5weQoraW5kZXgg NTUzZmM5Y2FmLi5mYWQyNjFlY2UgMTAwNjQ0CistLS0gYS90b29scy9nbGliLWVycm9ycy1jaGVj ay1nZW4ucHkKKysrKyBiL3Rvb2xzL2dsaWItZXJyb3JzLWNoZWNrLWdlbi5weQorQEAgLTEyLDEz ICsxMiwxMyBAQCBkZWYgX19pbml0X18oc2VsZiwgZG9tKToKKyAKKyAgICAgZGVmIF9fY2FsbF9f KHNlbGYpOgorIAorLSAgICAgICAgcHJpbnQgJ3snCistICAgICAgICBwcmludCAnICBHRW51bUNs YXNzICprbGFzczsnCistICAgICAgICBwcmludCAnICBHRW51bVZhbHVlICp2YWx1ZV9ieV9uYW1l OycKKy0gICAgICAgIHByaW50ICcgIEdFbnVtVmFsdWUgKnZhbHVlX2J5X25pY2s7JworLSAgICAg ICAgcHJpbnQgJycKKy0gICAgICAgIHByaW50ICcgIGdfdHlwZV9pbml0ICgpOycKKy0gICAgICAg IHByaW50ICcgIGtsYXNzID0gZ190eXBlX2NsYXNzX3JlZiAoVFBfVFlQRV9FUlJPUik7JworKyAg ICAgICAgcHJpbnQoJ3snKQorKyAgICAgICAgcHJpbnQoJyAgR0VudW1DbGFzcyAqa2xhc3M7JykK KysgICAgICAgIHByaW50KCcgIEdFbnVtVmFsdWUgKnZhbHVlX2J5X25hbWU7JykKKysgICAgICAg IHByaW50KCcgIEdFbnVtVmFsdWUgKnZhbHVlX2J5X25pY2s7JykKKysgICAgICAgIHByaW50KCcn KQorKyAgICAgICAgcHJpbnQoJyAgZ190eXBlX2luaXQgKCk7JykKKysgICAgICAgIHByaW50KCcg IGtsYXNzID0gZ190eXBlX2NsYXNzX3JlZiAoVFBfVFlQRV9FUlJPUik7JykKKyAKKyAgICAgICAg IGZvciBlcnJvciBpbiBzZWxmLmVycm9ycy5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKE5TX1RQLCAn ZXJyb3InKToKKyAgICAgICAgICAgICBucyA9IGVycm9yLnBhcmVudE5vZGUuZ2V0QXR0cmlidXRl KCduYW1lc3BhY2UnKQorQEAgLTI4LDMwICsyOCwzMCBAQCBkZWYgX19jYWxsX18oc2VsZik6Cisg ICAgICAgICAgICAgcyA9ICgnVFBfRVJST1JfU1RSXycgKworICAgICAgICAgICAgICAgICAgZXJy b3IuZ2V0QXR0cmlidXRlKCduYW1lJykucmVwbGFjZSgnICcsICdfJykucmVwbGFjZSgnLicsICdf JykudXBwZXIoKSkKKyAKKy0gICAgICAgICAgICBwcmludCAnJworLSAgICAgICAgICAgIHByaW50 ICcgIC8qICVzLiVzICovJyAlIChucywgbmljaykKKy0gICAgICAgICAgICBwcmludCAoJyAgdmFs dWVfYnlfbmFtZSA9IGdfZW51bV9nZXRfdmFsdWVfYnlfbmFtZSAoa2xhc3MsICIlcyIpOycKKy0g ICAgICAgICAgICAgICAgICAgICUgZW51bSkKKy0gICAgICAgICAgICBwcmludCAoJyAgdmFsdWVf YnlfbmljayA9IGdfZW51bV9nZXRfdmFsdWVfYnlfbmljayAoa2xhc3MsICIlcyIpOycKKy0gICAg ICAgICAgICAgICAgICAgICUgbmljaykKKy0gICAgICAgICAgICBwcmludCAoJyAgZ19hc3NlcnQg KHZhbHVlX2J5X25hbWUgIT0gTlVMTCk7JykKKy0gICAgICAgICAgICBwcmludCAoJyAgZ19hc3Nl cnQgKHZhbHVlX2J5X25pY2sgIT0gTlVMTCk7JykKKy0gICAgICAgICAgICBwcmludCAoJyAgZ19h c3NlcnRfY21waW50ICh2YWx1ZV9ieV9uYW1lLT52YWx1ZSwgPT0sICVzKTsnCistICAgICAgICAg ICAgICAgICAgICAlIGVudW0pCistICAgICAgICAgICAgcHJpbnQgKCcgIGdfYXNzZXJ0X2NtcGlu dCAodmFsdWVfYnlfbmljay0+dmFsdWUsID09LCAlcyk7JworLSAgICAgICAgICAgICAgICAgICAg JSBlbnVtKQorLSAgICAgICAgICAgIHByaW50ICgnICBnX2Fzc2VydF9jbXBzdHIgKHZhbHVlX2J5 X25hbWUtPnZhbHVlX25hbWUsID09LCAiJXMiKTsnCistICAgICAgICAgICAgICAgICAgICAlIGVu dW0pCistICAgICAgICAgICAgcHJpbnQgKCcgIGdfYXNzZXJ0X2NtcHN0ciAodmFsdWVfYnlfbmlj ay0+dmFsdWVfbmFtZSwgPT0sICIlcyIpOycKKy0gICAgICAgICAgICAgICAgICAgICUgZW51bSkK Ky0gICAgICAgICAgICBwcmludCAoJyAgZ19hc3NlcnRfY21wc3RyICh2YWx1ZV9ieV9uYW1lLT52 YWx1ZV9uaWNrLCA9PSwgIiVzIik7JworLSAgICAgICAgICAgICAgICAgICAgJSBuaWNrKQorLSAg ICAgICAgICAgIHByaW50ICgnICBnX2Fzc2VydF9jbXBzdHIgKHZhbHVlX2J5X25pY2stPnZhbHVl X25pY2ssID09LCAiJXMiKTsnCistICAgICAgICAgICAgICAgICAgICAlIG5pY2spCistICAgICAg ICAgICAgcHJpbnQgKCcgIGdfYXNzZXJ0X2NtcHN0ciAoJXMsID09LCBUUF9FUlJPUl9QUkVGSVgg Ii4lcyIpOycKKy0gICAgICAgICAgICAgICAgICAgICUgKHMsIG5pY2spKQorLQorLSAgICAgICAg cHJpbnQgJ30nCisrICAgICAgICAgICAgcHJpbnQoJycpCisrICAgICAgICAgICAgcHJpbnQoJyAg LyogJXMuJXMgKi8nICUgKG5zLCBuaWNrKSkKKysgICAgICAgICAgICBwcmludCgnICB2YWx1ZV9i eV9uYW1lID0gZ19lbnVtX2dldF92YWx1ZV9ieV9uYW1lIChrbGFzcywgIiVzIik7JworKyAgICAg ICAgICAgICAgICAgICAlIGVudW0pCisrICAgICAgICAgICAgcHJpbnQoJyAgdmFsdWVfYnlfbmlj ayA9IGdfZW51bV9nZXRfdmFsdWVfYnlfbmljayAoa2xhc3MsICIlcyIpOycKKysgICAgICAgICAg ICAgICAgICAgJSBuaWNrKQorKyAgICAgICAgICAgIHByaW50KCcgIGdfYXNzZXJ0ICh2YWx1ZV9i eV9uYW1lICE9IE5VTEwpOycpCisrICAgICAgICAgICAgcHJpbnQoJyAgZ19hc3NlcnQgKHZhbHVl X2J5X25pY2sgIT0gTlVMTCk7JykKKysgICAgICAgICAgICBwcmludCgnICBnX2Fzc2VydF9jbXBp bnQgKHZhbHVlX2J5X25hbWUtPnZhbHVlLCA9PSwgJXMpOycKKysgICAgICAgICAgICAgICAgICAg JSBlbnVtKQorKyAgICAgICAgICAgIHByaW50KCcgIGdfYXNzZXJ0X2NtcGludCAodmFsdWVfYnlf bmljay0+dmFsdWUsID09LCAlcyk7JworKyAgICAgICAgICAgICAgICAgICAlIGVudW0pCisrICAg ICAgICAgICAgcHJpbnQoJyAgZ19hc3NlcnRfY21wc3RyICh2YWx1ZV9ieV9uYW1lLT52YWx1ZV9u YW1lLCA9PSwgIiVzIik7JworKyAgICAgICAgICAgICAgICAgICAlIGVudW0pCisrICAgICAgICAg ICAgcHJpbnQoJyAgZ19hc3NlcnRfY21wc3RyICh2YWx1ZV9ieV9uaWNrLT52YWx1ZV9uYW1lLCA9 PSwgIiVzIik7JworKyAgICAgICAgICAgICAgICAgICAlIGVudW0pCisrICAgICAgICAgICAgcHJp bnQoJyAgZ19hc3NlcnRfY21wc3RyICh2YWx1ZV9ieV9uYW1lLT52YWx1ZV9uaWNrLCA9PSwgIiVz Iik7JworKyAgICAgICAgICAgICAgICAgICAlIG5pY2spCisrICAgICAgICAgICAgcHJpbnQoJyAg Z19hc3NlcnRfY21wc3RyICh2YWx1ZV9ieV9uaWNrLT52YWx1ZV9uaWNrLCA9PSwgIiVzIik7Jwor KyAgICAgICAgICAgICAgICAgICAlIG5pY2spCisrICAgICAgICAgICAgcHJpbnQoJyAgZ19hc3Nl cnRfY21wc3RyICglcywgPT0sIFRQX0VSUk9SX1BSRUZJWCAiLiVzIik7JworKyAgICAgICAgICAg ICAgICAgICAlIChzLCBuaWNrKSkKKysKKysgICAgICAgIHByaW50KCd9JykKKyAKKyBpZiBfX25h bWVfXyA9PSAnX19tYWluX18nOgorICAgICBhcmd2ID0gc3lzLmFyZ3ZbMTpdCitkaWZmIC0tZ2l0 IGEvdG9vbHMvZ2xpYi1lcnJvcnMtc3RyLWdlbi5weSBiL3Rvb2xzL2dsaWItZXJyb3JzLXN0ci1n ZW4ucHkKK2luZGV4IGIyY2Y1MjBiZC4uZGRiMWUxNmI3IDEwMDY0NAorLS0tIGEvdG9vbHMvZ2xp Yi1lcnJvcnMtc3RyLWdlbi5weQorKysrIGIvdG9vbHMvZ2xpYi1lcnJvcnMtc3RyLWdlbi5weQor QEAgLTMsNyArMyw3IEBACisgaW1wb3J0IHN5cworIGltcG9ydCB4bWwuZG9tLm1pbmlkb20KKyAK Ky1mcm9tIGxpYnRwY29kZWdlbiBpbXBvcnQgZmlsZV9zZXRfY29udGVudHMKKytmcm9tIGxpYnRw Y29kZWdlbiBpbXBvcnQgZmlsZV9zZXRfY29udGVudHMsIHUKKyBmcm9tIGxpYmdsaWJjb2RlZ2Vu IGltcG9ydCBOU19UUCwgZ2V0X2RvY3N0cmluZywgeG1sX2VzY2FwZQorIAorIGNsYXNzIEdlbmVy YXRvcihvYmplY3QpOgorQEAgLTE3LDE4ICsxNywxMiBAQCBkZWYgX19pbml0X18oc2VsZiwgZG9t LCBiYXNlbmFtZSk6CisgICAgICAgICBzZWxmLl9fZG9jcyA9IFtdCisgCisgICAgIGRlZiBoKHNl bGYsIHMpOgorLSAgICAgICAgaWYgaXNpbnN0YW5jZShzLCB1bmljb2RlKToKKy0gICAgICAgICAg ICBzID0gcy5lbmNvZGUoJ3V0Zi04JykKKyAgICAgICAgIHNlbGYuX19oZWFkZXIuYXBwZW5kKHMp CisgCisgICAgIGRlZiBiKHNlbGYsIHMpOgorLSAgICAgICAgaWYgaXNpbnN0YW5jZShzLCB1bmlj b2RlKToKKy0gICAgICAgICAgICBzID0gcy5lbmNvZGUoJ3V0Zi04JykKKyAgICAgICAgIHNlbGYu X19ib2R5LmFwcGVuZChzKQorIAorICAgICBkZWYgZChzZWxmLCBzKToKKy0gICAgICAgIGlmIGlz aW5zdGFuY2UocywgdW5pY29kZSk6CistICAgICAgICAgICAgcyA9IHMuZW5jb2RlKCd1dGYtOCcp CisgICAgICAgICBzZWxmLl9fZG9jcy5hcHBlbmQocykKKyAKKyAgICAgZGVmIF9fY2FsbF9fKHNl bGYpOgorQEAgLTcyLDkgKzY2LDkgQEAgZGVmIF9fY2FsbF9fKHNlbGYpOgorICAgICAgICAgc2Vs Zi5oKCcnKQorICAgICAgICAgc2VsZi5iKCcnKQorIAorLSAgICAgICAgZmlsZV9zZXRfY29udGVu dHMoc2VsZi5iYXNlbmFtZSArICcuaCcsICdcbicuam9pbihzZWxmLl9faGVhZGVyKSkKKy0gICAg ICAgIGZpbGVfc2V0X2NvbnRlbnRzKHNlbGYuYmFzZW5hbWUgKyAnLmMnLCAnXG4nLmpvaW4oc2Vs Zi5fX2JvZHkpKQorLSAgICAgICAgZmlsZV9zZXRfY29udGVudHMoc2VsZi5iYXNlbmFtZSArICct Z3RrLWRvYy5oJywgJ1xuJy5qb2luKHNlbGYuX19kb2NzKSkKKysgICAgICAgIGZpbGVfc2V0X2Nv bnRlbnRzKHNlbGYuYmFzZW5hbWUgKyAnLmgnLCB1KCdcbicpLmpvaW4oc2VsZi5fX2hlYWRlciku ZW5jb2RlKCd1dGYtOCcpKQorKyAgICAgICAgZmlsZV9zZXRfY29udGVudHMoc2VsZi5iYXNlbmFt ZSArICcuYycsIHUoJ1xuJykuam9pbihzZWxmLl9fYm9keSkuZW5jb2RlKCd1dGYtOCcpKQorKyAg ICAgICAgZmlsZV9zZXRfY29udGVudHMoc2VsZi5iYXNlbmFtZSArICctZ3RrLWRvYy5oJywgdSgn XG4nKS5qb2luKHNlbGYuX19kb2NzKS5lbmNvZGUoJ3V0Zi04JykpCisgCisgaWYgX19uYW1lX18g PT0gJ19fbWFpbl9fJzoKKyAgICAgYXJndiA9IHN5cy5hcmd2WzE6XQorZGlmZiAtLWdpdCBhL3Rv b2xzL2dsaWItZ2ludGVyZmFjZS1nZW4ucHkgYi90b29scy9nbGliLWdpbnRlcmZhY2UtZ2VuLnB5 CitpbmRleCA2ZmVjMGQzYzQuLmMwY2UyMGRkYyAxMDA2NDQKKy0tLSBhL3Rvb2xzL2dsaWItZ2lu dGVyZmFjZS1nZW4ucHkKKysrKyBiL3Rvb2xzL2dsaWItZ2ludGVyZmFjZS1nZW4ucHkKK0BAIC0y Niw4ICsyNiw4IEBACisgaW1wb3J0IG9zLnBhdGgKKyBpbXBvcnQgeG1sLmRvbS5taW5pZG9tCisg CistZnJvbSBsaWJ0cGNvZGVnZW4gaW1wb3J0IGZpbGVfc2V0X2NvbnRlbnRzCistZnJvbSBsaWJn bGliY29kZWdlbiBpbXBvcnQgU2lnbmF0dXJlLCB0eXBlX3RvX2d0eXBlLCBjbXBfYnlfbmFtZSwg XAorK2Zyb20gbGlidHBjb2RlZ2VuIGltcG9ydCBmaWxlX3NldF9jb250ZW50cywga2V5X2J5X25h bWUsIHUKKytmcm9tIGxpYmdsaWJjb2RlZ2VuIGltcG9ydCBTaWduYXR1cmUsIHR5cGVfdG9fZ3R5 cGUsIFwKKyAgICAgICAgIE5TX1RQLCBkYnVzX2d1dGlsc193aW5jYXBzX3RvX3VzY29yZQorIAor IAorQEAgLTg1LDE4ICs4NSwxMiBAQCBkZWYgX19pbml0X18oc2VsZiwgZG9tLCBwcmVmaXgsIGJh c2VuYW1lLCBzaWduYWxfbWFyc2hhbF9wcmVmaXgsCisgICAgICAgICBzZWxmLmFsbG93X2hhdm9j ID0gYWxsb3dfaGF2b2MKKyAKKyAgICAgZGVmIGgoc2VsZiwgcyk6CistICAgICAgICBpZiBpc2lu c3RhbmNlKHMsIHVuaWNvZGUpOgorLSAgICAgICAgICAgIHMgPSBzLmVuY29kZSgndXRmLTgnKQor ICAgICAgICAgc2VsZi5fX2hlYWRlci5hcHBlbmQocykKKyAKKyAgICAgZGVmIGIoc2VsZiwgcyk6 CistICAgICAgICBpZiBpc2luc3RhbmNlKHMsIHVuaWNvZGUpOgorLSAgICAgICAgICAgIHMgPSBz LmVuY29kZSgndXRmLTgnKQorICAgICAgICAgc2VsZi5fX2JvZHkuYXBwZW5kKHMpCisgCisgICAg IGRlZiBkKHNlbGYsIHMpOgorLSAgICAgICAgaWYgaXNpbnN0YW5jZShzLCB1bmljb2RlKToKKy0g ICAgICAgICAgICBzID0gcy5lbmNvZGUoJ3V0Zi04JykKKyAgICAgICAgIHNlbGYuX19kb2NzLmFw cGVuZChzKQorIAorICAgICBkZWYgZG9fbm9kZShzZWxmLCBub2RlKToKK0BAIC03MzMsNyArNzI3 LDcgQEAgZGVmIGhhdmVfcHJvcGVydGllcyhzZWxmLCBub2Rlcyk6CisgCisgICAgIGRlZiBfX2Nh bGxfXyhzZWxmKToKKyAgICAgICAgIG5vZGVzID0gc2VsZi5kb20uZ2V0RWxlbWVudHNCeVRhZ05h bWUoJ25vZGUnKQorLSAgICAgICAgbm9kZXMuc29ydChjbXBfYnlfbmFtZSkKKysgICAgICAgIG5v ZGVzLnNvcnQoa2V5PWtleV9ieV9uYW1lKQorIAorICAgICAgICAgc2VsZi5oKCcjaW5jbHVkZSA8 Z2xpYi1vYmplY3QuaD4nKQorICAgICAgICAgc2VsZi5oKCcjaW5jbHVkZSA8ZGJ1cy9kYnVzLWds aWIuaD4nKQorQEAgLTc2MSwxMiArNzU1LDEyIEBAIGRlZiBfX2NhbGxfXyhzZWxmKToKKyAKKyAg ICAgICAgIHNlbGYuaCgnJykKKyAgICAgICAgIHNlbGYuYignJykKKy0gICAgICAgIGZpbGVfc2V0 X2NvbnRlbnRzKHNlbGYuYmFzZW5hbWUgKyAnLmgnLCAnXG4nLmpvaW4oc2VsZi5fX2hlYWRlcikp CistICAgICAgICBmaWxlX3NldF9jb250ZW50cyhzZWxmLmJhc2VuYW1lICsgJy5jJywgJ1xuJy5q b2luKHNlbGYuX19ib2R5KSkKKy0gICAgICAgIGZpbGVfc2V0X2NvbnRlbnRzKHNlbGYuYmFzZW5h bWUgKyAnLWd0ay1kb2MuaCcsICdcbicuam9pbihzZWxmLl9fZG9jcykpCisrICAgICAgICBmaWxl X3NldF9jb250ZW50cyhzZWxmLmJhc2VuYW1lICsgJy5oJywgdSgnXG4nKS5qb2luKHNlbGYuX19o ZWFkZXIpLmVuY29kZSgndXRmLTgnKSkKKysgICAgICAgIGZpbGVfc2V0X2NvbnRlbnRzKHNlbGYu YmFzZW5hbWUgKyAnLmMnLCB1KCdcbicpLmpvaW4oc2VsZi5fX2JvZHkpLmVuY29kZSgndXRmLTgn KSkKKysgICAgICAgIGZpbGVfc2V0X2NvbnRlbnRzKHNlbGYuYmFzZW5hbWUgKyAnLWd0ay1kb2Mu aCcsIHUoJ1xuJykuam9pbihzZWxmLl9fZG9jcykuZW5jb2RlKCd1dGYtOCcpKQorIAorIGRlZiBj bWRsaW5lX2Vycm9yKCk6CistICAgIHByaW50ICIiIlwKKysgICAgcHJpbnQoIiIiXAorIHVzYWdl OgorICAgICBnZW4tZ2ludGVyZmFjZSBbT1BUSU9OU10geG1sZmlsZSBQcmVmaXhfCisgb3B0aW9u czoKK0BAIC03ODYsNyArNzgwLDcgQEAgZGVmIGNtZGxpbmVfZXJyb3IoKToKKyAgICAgICAgICAg ICB2b2lkIHN5bWJvbCAoREJ1c0dNZXRob2RJbnZvY2F0aW9uICpjb250ZXh0KQorICAgICAgICAg YW5kIHJldHVybiBzb21lIHNvcnQgb2YgIm5vdCBpbXBsZW1lbnRlZCIgZXJyb3IgdmlhCisgICAg ICAgICAgICAgZGJ1c19nX21ldGhvZF9yZXR1cm5fZXJyb3IgKGNvbnRleHQsIC4uLikKKy0iIiIK KysiIiIpCisgICAgIHN5cy5leGl0KDEpCisgCisgCitkaWZmIC0tZ2l0IGEvdG9vbHMvZ2xpYi1n dHlwZXMtZ2VuZXJhdG9yLnB5IGIvdG9vbHMvZ2xpYi1ndHlwZXMtZ2VuZXJhdG9yLnB5CitpbmRl eCAyMWRmYzZhYTcuLjE0NzdiZDM3YiAxMDA2NDQKKy0tLSBhL3Rvb2xzL2dsaWItZ3R5cGVzLWdl bmVyYXRvci5weQorKysrIGIvdG9vbHMvZ2xpYi1ndHlwZXMtZ2VuZXJhdG9yLnB5CitAQCAtMjMs NyArMjMsNyBAQAorIGltcG9ydCBzeXMKKyBpbXBvcnQgeG1sLmRvbS5taW5pZG9tCisgCistZnJv bSBsaWJ0cGNvZGVnZW4gaW1wb3J0IGZpbGVfc2V0X2NvbnRlbnRzCisrZnJvbSBsaWJ0cGNvZGVn ZW4gaW1wb3J0IGZpbGVfc2V0X2NvbnRlbnRzLCB1CisgZnJvbSBsaWJnbGliY29kZWdlbiBpbXBv cnQgZXNjYXBlX2FzX2lkZW50aWZpZXIsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBn ZXRfZG9jc3RyaW5nLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlNfVFAsIFwKK0BA IC02OCwxMyArNjgsMTMgQEAgZGVmIF9faW5pdF9fKHNlbGYsIGRvbSwgb3V0cHV0LCBtaXhlZF9j YXNlX3ByZWZpeCk6CisgICAgICAgICBzZWxmLm5lZWRfb3RoZXJfYXJyYXlzID0ge30KKyAKKyAg ICAgZGVmIGgoc2VsZiwgY29kZSk6CistICAgICAgICBzZWxmLmhlYWRlci5hcHBlbmQoY29kZS5l bmNvZGUoInV0Zi04IikpCisrICAgICAgICBzZWxmLmhlYWRlci5hcHBlbmQoY29kZSkKKyAKKyAg ICAgZGVmIGMoc2VsZiwgY29kZSk6CistICAgICAgICBzZWxmLmJvZHkuYXBwZW5kKGNvZGUuZW5j b2RlKCJ1dGYtOCIpKQorKyAgICAgICAgc2VsZi5ib2R5LmFwcGVuZChjb2RlKQorIAorICAgICBk ZWYgZChzZWxmLCBjb2RlKToKKy0gICAgICAgIHNlbGYuZG9jcy5hcHBlbmQoY29kZS5lbmNvZGUo J3V0Zi04JykpCisrICAgICAgICBzZWxmLmRvY3MuYXBwZW5kKGNvZGUpCisgCisgICAgIGRlZiBk b19tYXBwaW5nX2hlYWRlcihzZWxmLCBtYXBwaW5nKToKKyAgICAgICAgIG1lbWJlcnMgPSBtYXBw aW5nLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoTlNfVFAsICdtZW1iZXInKQorQEAgLTI5Miw5ICsy OTIsOSBAQCBkZWYgX19jYWxsX18oc2VsZik6CisgICAgICAgICAgICAgc2VsZi5jKCcgIHJldHVy biB0O1xuJykKKyAgICAgICAgICAgICBzZWxmLmMoJ31cblxuJykKKyAKKy0gICAgICAgIGZpbGVf c2V0X2NvbnRlbnRzKHNlbGYub3V0cHV0ICsgJy5oJywgJycuam9pbihzZWxmLmhlYWRlcikpCist ICAgICAgICBmaWxlX3NldF9jb250ZW50cyhzZWxmLm91dHB1dCArICctYm9keS5oJywgJycuam9p bihzZWxmLmJvZHkpKQorLSAgICAgICAgZmlsZV9zZXRfY29udGVudHMoc2VsZi5vdXRwdXQgKyAn LWd0ay1kb2MuaCcsICcnLmpvaW4oc2VsZi5kb2NzKSkKKysgICAgICAgIGZpbGVfc2V0X2NvbnRl bnRzKHNlbGYub3V0cHV0ICsgJy5oJywgdSgnJykuam9pbihzZWxmLmhlYWRlcikuZW5jb2RlKCd1 dGYtOCcpKQorKyAgICAgICAgZmlsZV9zZXRfY29udGVudHMoc2VsZi5vdXRwdXQgKyAnLWJvZHku aCcsIHUoJycpLmpvaW4oc2VsZi5ib2R5KS5lbmNvZGUoJ3V0Zi04JykpCisrICAgICAgICBmaWxl X3NldF9jb250ZW50cyhzZWxmLm91dHB1dCArICctZ3RrLWRvYy5oJywgdSgnJykuam9pbihzZWxm LmRvY3MpLmVuY29kZSgndXRmLTgnKSkKKyAKKyBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgor ICAgICBhcmd2ID0gc3lzLmFyZ3ZbMTpdCitkaWZmIC0tZ2l0IGEvdG9vbHMvZ2xpYi1pbnRlcmZh Y2VzLWdlbi5weSBiL3Rvb2xzL2dsaWItaW50ZXJmYWNlcy1nZW4ucHkKK2luZGV4IDQxMDc2MmNk ZS4uYjY3ZDdiNGYwIDEwMDY0NAorLS0tIGEvdG9vbHMvZ2xpYi1pbnRlcmZhY2VzLWdlbi5weQor KysrIGIvdG9vbHMvZ2xpYi1pbnRlcmZhY2VzLWdlbi5weQorQEAgLTMsNyArMyw3IEBACisgZnJv bSBzeXMgaW1wb3J0IGFyZ3YsIHN0ZG91dCwgc3RkZXJyCisgaW1wb3J0IHhtbC5kb20ubWluaWRv bQorIAorLWZyb20gbGlidHBjb2RlZ2VuIGltcG9ydCBmaWxlX3NldF9jb250ZW50cworK2Zyb20g bGlidHBjb2RlZ2VuIGltcG9ydCBmaWxlX3NldF9jb250ZW50cywgdQorIGZyb20gbGliZ2xpYmNv ZGVnZW4gaW1wb3J0IE5TX1RQLCBnZXRfZG9jc3RyaW5nLCBcCisgICAgICAgICBnZXRfZGVzY2Vu ZGFudF90ZXh0LCBnZXRfYnlfcGF0aAorIAorQEAgLTI0LDIyICsyNCwyMiBAQCBkZWYgX19pbml0 X18oc2VsZiwgcHJlZml4LCBpbXBsZmlsZSwgZGVjbGZpbGUsIGRvbSk6CisgICAgICAgICBzZWxm LnNwZWMgPSBnZXRfYnlfcGF0aChkb20sICJzcGVjIilbMF0KKyAKKyAgICAgZGVmIGgoc2VsZiwg Y29kZSk6CistICAgICAgICBzZWxmLmRlY2xzLmFwcGVuZChjb2RlLmVuY29kZSgndXRmLTgnKSkK KysgICAgICAgIHNlbGYuZGVjbHMuYXBwZW5kKGNvZGUpCisgCisgICAgIGRlZiBjKHNlbGYsIGNv ZGUpOgorLSAgICAgICAgc2VsZi5pbXBscy5hcHBlbmQoY29kZS5lbmNvZGUoJ3V0Zi04JykpCisr ICAgICAgICBzZWxmLmltcGxzLmFwcGVuZChjb2RlKQorIAorICAgICBkZWYgZChzZWxmLCBjb2Rl KToKKy0gICAgICAgIHNlbGYuZG9jcy5hcHBlbmQoY29kZS5lbmNvZGUoJ3V0Zi04JykpCisrICAg ICAgICBzZWxmLmRvY3MuYXBwZW5kKGNvZGUpCisgCisgICAgIGRlZiBfX2NhbGxfXyhzZWxmKToK KyAgICAgICAgIGZvciBmIGluIHNlbGYuaCwgc2VsZi5jOgorICAgICAgICAgICAgIHNlbGYuZG9f aGVhZGVyKGYpCisgICAgICAgICBzZWxmLmRvX2JvZHkoKQorIAorLSAgICAgICAgZmlsZV9zZXRf Y29udGVudHMoc2VsZi5pbXBsZmlsZSwgJycuam9pbihzZWxmLmltcGxzKSkKKy0gICAgICAgIGZp bGVfc2V0X2NvbnRlbnRzKHNlbGYuZGVjbGZpbGUsICcnLmpvaW4oc2VsZi5kZWNscykpCistICAg ICAgICBmaWxlX3NldF9jb250ZW50cyhzZWxmLmRvY2ZpbGUsICcnLmpvaW4oc2VsZi5kb2NzKSkK KysgICAgICAgIGZpbGVfc2V0X2NvbnRlbnRzKHNlbGYuaW1wbGZpbGUsIHUoJycpLmpvaW4oc2Vs Zi5pbXBscykuZW5jb2RlKCd1dGYtOCcpKQorKyAgICAgICAgZmlsZV9zZXRfY29udGVudHMoc2Vs Zi5kZWNsZmlsZSwgdSgnJykuam9pbihzZWxmLmRlY2xzKS5lbmNvZGUoJ3V0Zi04JykpCisrICAg ICAgICBmaWxlX3NldF9jb250ZW50cyhzZWxmLmRvY2ZpbGUsIHUoJycpLmpvaW4oc2VsZi5kb2Nz KS5lbmNvZGUoJ3V0Zi04JykpCisgCisgICAgICMgSGVhZGVyCisgICAgIGRlZiBkb19oZWFkZXIo c2VsZiwgZik6CitkaWZmIC0tZ2l0IGEvdG9vbHMvZ29iamVjdC1mb28ucHkgYi90b29scy9nb2Jq ZWN0LWZvby5weQoraW5kZXggMDAyYTI5MGJhLi5hMmFiZDc2NjcgMTAwNjQ0CistLS0gYS90b29s cy9nb2JqZWN0LWZvby5weQorKysrIGIvdG9vbHMvZ29iamVjdC1mb28ucHkKK0BAIC04Nyw0ICs4 Nyw0IEBAIGRlZiBnb2JqZWN0X2hlYWRlcihoZWFkLCB0YWlsLCBhc19pbnRlcmZhY2U9RmFsc2Up OgorIAorICAgICBoZWFkLCB0YWlsID0gYXJndgorIAorLSAgICBwcmludCAnXG4nLmpvaW4oZ29i amVjdF9oZWFkZXIoaGVhZCwgdGFpbCwgYXNfaW50ZXJmYWNlPWFzX2ludGVyZmFjZSkpCisrICAg IHByaW50KCdcbicuam9pbihnb2JqZWN0X2hlYWRlcihoZWFkLCB0YWlsLCBhc19pbnRlcmZhY2U9 YXNfaW50ZXJmYWNlKSkpCitkaWZmIC0tZ2l0IGEvdG9vbHMvbGliZ2xpYmNvZGVnZW4ucHkgYi90 b29scy9saWJnbGliY29kZWdlbi5weQoraW5kZXggNmE5ZDIxNDg1Li42Y2QxYTYyNzcgMTAwNjQ0 CistLS0gYS90b29scy9saWJnbGliY29kZWdlbi5weQorKysrIGIvdG9vbHMvbGliZ2xpYmNvZGVn ZW4ucHkKK0BAIC0xNTQsNyArMTU0LDcgQEAgZGVmIHR5cGVfdG9fZ3R5cGUocyk6CisgICAgICAg ICByZXR1cm4gKCJHSGFzaFRhYmxlICoiLCAiREJVU19UWVBFX0dfU1RSSU5HX1NUUklOR19IQVNI VEFCTEUiLCAiQk9YRUQiLCBGYWxzZSkKKyAgICAgZWxpZiBzWzoyXSA9PSAnYXsnOiAgI3NvbWUg YXJiaXRyYXJ5IGhhc2ggdGFibGVzCisgICAgICAgICBpZiBzWzJdIG5vdCBpbiAoJ3knLCAnYics ICduJywgJ3EnLCAnaScsICd1JywgJ3MnLCAnbycsICdnJyk6CistICAgICAgICAgICAgcmFpc2Ug RXhjZXB0aW9uLCAiY2FuJ3QgaW5kZXggYSBoYXNodGFibGUgb2ZmIG5vbi1iYXNpYyB0eXBlICIg KyBzCisrICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCJjYW4ndCBpbmRleCBhIGhhc2h0YWJs ZSBvZmYgbm9uLWJhc2ljIHR5cGUgIiArIHMpCisgICAgICAgICBmaXJzdCA9IHR5cGVfdG9fZ3R5 cGUoc1syXSkKKyAgICAgICAgIHNlY29uZCA9IHR5cGVfdG9fZ3R5cGUoc1szOi0xXSkKKyAgICAg ICAgIHJldHVybiAoIkdIYXNoVGFibGUgKiIsICIoZGJ1c19nX3R5cGVfZ2V0X21hcCAoXCJHSGFz aFRhYmxlXCIsICIgKyBmaXJzdFsxXSArICIsICIgKyBzZWNvbmRbMV0gKyAiKSkiLCAiQk9YRUQi LCBGYWxzZSkKK0BAIC0xNjksNCArMTY5LDQgQEAgZGVmIHR5cGVfdG9fZ3R5cGUocyk6CisgICAg ICAgICByZXR1cm4gKCJHVmFsdWVBcnJheSAqIiwgZ3R5cGUsICJCT1hFRCIsIFRydWUpCisgCisg ICAgICMgd2UganVzdCBkb24ndCBrbm93IC4uCistICAgIHJhaXNlIEV4Y2VwdGlvbiwgImRvbid0 IGtub3cgdGhlIEdUeXBlIGZvciAiICsgcworKyAgICByYWlzZSBFeGNlcHRpb24oImRvbid0IGtu b3cgdGhlIEdUeXBlIGZvciAiICsgcykKK2RpZmYgLS1naXQgYS90b29scy9saWJ0cGNvZGVnZW4u cHkgYi90b29scy9saWJ0cGNvZGVnZW4ucHkKK2luZGV4IDdlOWViOWE1MC4uOTlkZTY2MzQwIDEw MDY0NAorLS0tIGEvdG9vbHMvbGlidHBjb2RlZ2VuLnB5CisrKysgYi90b29scy9saWJ0cGNvZGVn ZW4ucHkKK0BAIC0yMSw2ICsyMSw3IEBACisgIyBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xp biBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQorIAorIGltcG9y dCBvcworK2ltcG9ydCBzeXMKKyBmcm9tIHN0cmluZyBpbXBvcnQgYXNjaWlfbGV0dGVycywgZGln aXRzCisgCisgCitAQCAtMjgsNiArMjksMjAgQEAKKyAKKyBfQVNDSUlfQUxOVU0gPSBhc2NpaV9s ZXR0ZXJzICsgZGlnaXRzCisgCisraWYgc3lzLnZlcnNpb25faW5mb1swXSA+PSAzOgorKyAgICBk ZWYgdShzKToKKysgICAgICAgICIiIlJldHVybiBzLCB3aGljaCBtdXN0IGJlIGEgc3RyIGxpdGVy YWwgd2l0aCBubyBub24tQVNDSUkgY2hhcmFjdGVycy4KKysgICAgICAgIFRoaXMgaXMgbGlrZSBh IG1vcmUgcmVzdHJpY3RlZCBmb3JtIG9mIHRoZSBQeXRob24gMiB1Jycgc3ludGF4LgorKyAgICAg ICAgIiIiCisrICAgICAgICByZXR1cm4gcy5lbmNvZGUoJ2FzY2lpJykuZGVjb2RlKCdhc2NpaScp CisrZWxzZToKKysgICAgZGVmIHUocyk6CisrICAgICAgICAiIiJSZXR1cm4gYSBVbmljb2RlIHZl cnNpb24gb2Ygcywgd2hpY2ggbXVzdCBiZSBhIHN0ciBsaXRlcmFsCisrICAgICAgICAoYSBieXRl c3RyaW5nKSBpbiB3aGljaCBlYWNoIGJ5dGUgaXMgYW4gQVNDSUkgY2hhcmFjdGVyLgorKyAgICAg ICAgVGhpcyBpcyBsaWtlIGEgbW9yZSByZXN0cmljdGVkIGZvcm0gb2YgdGhlIHUnJyBzeW50YXgu CisrICAgICAgICAiIiIKKysgICAgICAgIHJldHVybiBzLmRlY29kZSgnYXNjaWknKQorKworIGRl ZiBmaWxlX3NldF9jb250ZW50cyhmaWxlbmFtZSwgY29udGVudHMpOgorICAgICB0cnk6CisgICAg ICAgICBvcy5yZW1vdmUoZmlsZW5hbWUpCitAQCAtMzgsMTMgKzUzLDE1IEBAIGRlZiBmaWxlX3Nl dF9jb250ZW50cyhmaWxlbmFtZSwgY29udGVudHMpOgorICAgICBleGNlcHQgT1NFcnJvcjoKKyAg ICAgICAgIHBhc3MKKyAKKy0gICAgb3BlbihmaWxlbmFtZSArICcudG1wJywgJ3cnKS53cml0ZShj b250ZW50cykKKysgICAgb3BlbihmaWxlbmFtZSArICcudG1wJywgJ3diJykud3JpdGUoY29udGVu dHMpCisgICAgIG9zLnJlbmFtZShmaWxlbmFtZSArICcudG1wJywgZmlsZW5hbWUpCisgCisgZGVm IGNtcF9ieV9uYW1lKG5vZGUxLCBub2RlMik6CisgICAgIHJldHVybiBjbXAobm9kZTEuZ2V0QXR0 cmlidXRlTm9kZSgibmFtZSIpLm5vZGVWYWx1ZSwKKyAgICAgICAgICAgICAgICBub2RlMi5nZXRB dHRyaWJ1dGVOb2RlKCJuYW1lIikubm9kZVZhbHVlKQorIAorK2RlZiBrZXlfYnlfbmFtZShub2Rl KToKKysgICAgcmV0dXJuIG5vZGUuZ2V0QXR0cmlidXRlTm9kZSgibmFtZSIpLm5vZGVWYWx1ZQor IAorIGRlZiBlc2NhcGVfYXNfaWRlbnRpZmllcihpZGVudGlmaWVyKToKKyAgICAgIiIiRXNjYXBl IHRoZSBnaXZlbiBzdHJpbmcgdG8gYmUgYSB2YWxpZCBELUJ1cyBvYmplY3QgcGF0aCBvciBzZXJ2 aWNlCitAQCAtMTY4LDYgKzE4NSw5IEBAIGRlZiBfX2luaXRfXyhzZWxmLCBzdHJpbmcpOgorICAg ICAgICAgc2VsZi5yZW1haW5pbmcgPSBzdHJpbmcKKyAKKyAgICAgZGVmIG5leHQoc2VsZik6Cisr ICAgICAgICByZXR1cm4gc2VsZi5fX25leHRfXygpCisrCisrICAgIGRlZiBfX25leHRfXyhzZWxm KToKKyAgICAgICAgIGlmIHNlbGYucmVtYWluaW5nID09ICcnOgorICAgICAgICAgICAgIHJhaXNl IFN0b3BJdGVyYXRpb24KKyAKK2RpZmYgLS1naXQgYS90b29scy9tYWtlLXZlcnNpb24tc2NyaXB0 LnB5IGIvdG9vbHMvbWFrZS12ZXJzaW9uLXNjcmlwdC5weQoraW5kZXggMGQzMGFhMzIzLi40Y2Vk ODQ5ZmUgMTAwNjQ0CistLS0gYS90b29scy9tYWtlLXZlcnNpb24tc2NyaXB0LnB5CisrKysgYi90 b29scy9tYWtlLXZlcnNpb24tc2NyaXB0LnB5CitAQCAtNjMsOSArNjMsOSBAQCBkZWYgbWFpbihh YmlmaWxlcywgc3ltYm9scz1Ob25lLCB1bnJlbGVhc2VkX3ZlcnNpb249Tm9uZSwKKyAKKyAgICAg aWYgZHBrZzoKKyAgICAgICAgIGFzc2VydCBkcGtnX2ZpcnN0X2xpbmUgaXMgbm90IE5vbmUKKy0g ICAgICAgIHByaW50IGRwa2dfZmlyc3RfbGluZQorKyAgICAgICAgcHJpbnQoZHBrZ19maXJzdF9s aW5lKQorICAgICAgICAgaWYgZHBrZ19idWlsZF9kZXBlbmRzX3BhY2thZ2UgaXMgbm90IE5vbmU6 CistICAgICAgICAgICAgcHJpbnQgIiogQnVpbGQtRGVwZW5kcy1QYWNrYWdlOiAlcyIgJSBkcGtn X2J1aWxkX2RlcGVuZHNfcGFja2FnZQorKyAgICAgICAgICAgIHByaW50KCIqIEJ1aWxkLURlcGVu ZHMtUGFja2FnZTogJXMiICUgZHBrZ19idWlsZF9kZXBlbmRzX3BhY2thZ2UpCisgCisgICAgIGZv ciBmaWxlbmFtZSBpbiBhYmlmaWxlczoKKyAgICAgICAgIGxpbmVzID0gb3BlbihmaWxlbmFtZSwg J3InKS5yZWFkbGluZXMoKQorQEAgLTEyMCw4ICsxMjAsOCBAQCBkZWYgbWFpbihhYmlmaWxlcywg c3ltYm9scz1Ob25lLCB1bnJlbGVhc2VkX3ZlcnNpb249Tm9uZSwKKyAgICAgICAgIGxpbmVzID0g bGluZXNbY3V0Ol0KKyAKKyAgICAgICAgIGlmIGdudWxkOgorLSAgICAgICAgICAgIHByaW50ICIl cyB7IiAlIHZlcnNpb24KKy0gICAgICAgICAgICBwcmludCAiICAgIGdsb2JhbDoiCisrICAgICAg ICAgICAgcHJpbnQoIiVzIHsiICUgdmVyc2lvbikKKysgICAgICAgICAgICBwcmludCgiICAgIGds b2JhbDoiKQorIAorICAgICAgICAgZm9yIHN5bWJvbCBpbiBsaW5lczoKKyAgICAgICAgICAgICBz eW1ib2wgPSBzeW1ib2wuc3RyaXAoKQorQEAgLTEzMCw3ICsxMzAsNyBAQCBkZWYgbWFpbihhYmlm aWxlcywgc3ltYm9scz1Ob25lLCB1bnJlbGVhc2VkX3ZlcnNpb249Tm9uZSwKKyAgICAgICAgICAg ICAgICAgY29udGludWUKKyAKKyAgICAgICAgICAgICBpZiBnbnVsZDoKKy0gICAgICAgICAgICAg ICAgcHJpbnQgIiAgICAgICAgJXM7IiAlIHN5bWJvbAorKyAgICAgICAgICAgICAgICBwcmludCgi ICAgICAgICAlczsiICUgc3ltYm9sKQorICAgICAgICAgICAgIGVsaWYgZHBrZzoKKyAgICAgICAg ICAgICAgICAgZHBrZ19zeW1ib2xzLmFwcGVuZCgnJXNAJXMgJXMnICUgKHN5bWJvbCwgdmVyc2lv biwgcmVsZWFzZSkpCisgCitAQCAtMTQyLDIyICsxNDIsMjIgQEAgZGVmIG1haW4oYWJpZmlsZXMs IHN5bWJvbHM9Tm9uZSwgdW5yZWxlYXNlZF92ZXJzaW9uPU5vbmUsCisgCisgICAgICAgICBpZiBn bnVsZDoKKyAgICAgICAgICAgICBpZiBleHRlbmRzID09ICctJzoKKy0gICAgICAgICAgICAgICAg cHJpbnQgIiAgICBsb2NhbDoiCistICAgICAgICAgICAgICAgIHByaW50ICIgICAgICAgICo7Igor LSAgICAgICAgICAgICAgICBwcmludCAifTsiCisrICAgICAgICAgICAgICAgIHByaW50KCIgICAg bG9jYWw6IikKKysgICAgICAgICAgICAgICAgcHJpbnQoIiAgICAgICAgKjsiKQorKyAgICAgICAg ICAgICAgICBwcmludCgifTsiKQorICAgICAgICAgICAgIGVsc2U6CistICAgICAgICAgICAgICAg IHByaW50ICJ9ICVzOyIgJSBleHRlbmRzCistICAgICAgICAgICAgICAgIHByaW50CisrICAgICAg ICAgICAgICAgIHByaW50KCJ9ICVzOyIgJSBleHRlbmRzKQorKyAgICAgICAgICAgICAgICBwcmlu dCgiIikKKyAKKyAgICAgaWYgZHBrZzoKKyAgICAgICAgIGRwa2dfc3ltYm9scy5zb3J0KCkKKyAg ICAgICAgIGRwa2dfdmVyc2lvbnMuc29ydCgpCisgCisgICAgICAgICBmb3IgeCBpbiBkcGtnX3Zl cnNpb25zOgorLSAgICAgICAgICAgIHByaW50ICIgJXMiICUgeAorKyAgICAgICAgICAgIHByaW50 KCIgJXMiICUgeCkKKyAKKyAgICAgICAgIGZvciB4IGluIGRwa2dfc3ltYm9sczoKKy0gICAgICAg ICAgICBwcmludCAiICVzIiAlIHgKKysgICAgICAgICAgICBwcmludCgiICVzIiAlIHgpCisgCisg ICAgIGlmIHN5bWJvbF9zZXQgaXMgbm90IE5vbmU6CisgICAgICAgICBtaXNzaW5nID0gdmVyc2lv bmVkX3N5bWJvbHMgLSBzeW1ib2xfc2V0CitAQCAtMTgyLDEzICsxODIsMTMgQEAgZGVmIG1haW4o YWJpZmlsZXMsIHN5bWJvbHM9Tm9uZSwgdW5yZWxlYXNlZF92ZXJzaW9uPU5vbmUsCisgICAgICAg ICAgICAgICAgIHJhaXNlIFN5c3RlbUV4aXQoMSkKKyAKKyAgICAgICAgICAgICBpZiBnbnVsZDoK Ky0gICAgICAgICAgICAgICAgcHJpbnQgIiVzIHsiICUgdW5yZWxlYXNlZF92ZXJzaW9uCistICAg ICAgICAgICAgICAgIHByaW50ICIgICAgZ2xvYmFsOiIKKysgICAgICAgICAgICAgICAgcHJpbnQo IiVzIHsiICUgdW5yZWxlYXNlZF92ZXJzaW9uKQorKyAgICAgICAgICAgICAgICBwcmludCgiICAg IGdsb2JhbDoiKQorIAorICAgICAgICAgICAgICAgICBmb3Igc3ltYm9sIGluIHVucmVsZWFzZWQ6 CistICAgICAgICAgICAgICAgICAgICBwcmludCAiICAgICAgICAlczsiICUgc3ltYm9sCisrICAg ICAgICAgICAgICAgICAgICBwcmludCgiICAgICAgICAlczsiICUgc3ltYm9sKQorIAorLSAgICAg ICAgICAgICAgICBwcmludCAifSAlczsiICUgdmVyc2lvbgorKyAgICAgICAgICAgICAgICBwcmlu dCgifSAlczsiICUgdmVyc2lvbikKKyAKKyAKKyBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgor ZGlmZiAtLWdpdCBhL3Rvb2xzL3hpbmNsdWRhdG9yLnB5IGIvdG9vbHMveGluY2x1ZGF0b3IucHkK K2luZGV4IDYzZTEwNmFjZS4uZjllZDQ5Y2U0IDEwMDY0NAorLS0tIGEvdG9vbHMveGluY2x1ZGF0 b3IucHkKKysrKyBiL3Rvb2xzL3hpbmNsdWRhdG9yLnB5CitAQCAtMSwxNyArMSwxOSBAQAorICMh L3Vzci9iaW4vcHl0aG9uCisgCisraW1wb3J0IHN5cworIGZyb20gc3lzIGltcG9ydCBhcmd2LCBz dGRvdXQsIHN0ZGVycgorIGltcG9ydCBjb2RlY3MsIGxvY2FsZQorIGltcG9ydCBvcworIGltcG9y dCB4bWwuZG9tLm1pbmlkb20KKyAKKy1zdGRvdXQgPSBjb2RlY3MuZ2V0d3JpdGVyKCd1dGYtOCcp KHN0ZG91dCkKKytpZiBzeXMudmVyc2lvbl9pbmZvWzBdIDwgMzoKKysgICAgc3Rkb3V0ID0gY29k ZWNzLmdldHdyaXRlcigndXRmLTgnKShzdGRvdXQpCisgCisgTlNfWEkgPSAnaHR0cDovL3d3dy53 My5vcmcvMjAwMS9YSW5jbHVkZScKKyAKKyBkZWYgeGluY2x1ZGF0ZShkb20sIGJhc2UsIGRyb3Bu cyA9IFtdKToKKyAgICAgcmVtb3ZlX2F0dHJzID0gW10KKy0gICAgZm9yIGkgaW4geHJhbmdlKGRv bS5kb2N1bWVudEVsZW1lbnQuYXR0cmlidXRlcy5sZW5ndGgpOgorKyAgICBmb3IgaSBpbiByYW5n ZShkb20uZG9jdW1lbnRFbGVtZW50LmF0dHJpYnV0ZXMubGVuZ3RoKToKKyAgICAgICAgIGF0dHIg PSBkb20uZG9jdW1lbnRFbGVtZW50LmF0dHJpYnV0ZXMuaXRlbShpKQorICAgICAgICAgaWYgYXR0 ci5wcmVmaXggPT0gJ3htbG5zJzoKKyAgICAgICAgICAgICBpZiBhdHRyLmxvY2FsTmFtZSBpbiBk cm9wbnM6CitAQCAtMzQsNiArMzYsMTEgQEAgZGVmIHhpbmNsdWRhdGUoZG9tLCBiYXNlLCBkcm9w bnMgPSBbXSk6CisgICAgIGFyZ3YgPSBhcmd2WzE6XQorICAgICBkb20gPSB4bWwuZG9tLm1pbmlk b20ucGFyc2UoYXJndlswXSkKKyAgICAgeGluY2x1ZGF0ZShkb20sIGFyZ3ZbMF0pCistICAgIHht bCA9IGRvbS50b3htbCgpCisrCisrICAgIGlmIHN5cy52ZXJzaW9uX2luZm9bMF0gPj0gMzoKKysg ICAgICAgIHhtbCA9IGRvbS50b3htbChlbmNvZGluZz1Ob25lKQorKyAgICBlbHNlOgorKyAgICAg ICAgeG1sID0gZG9tLnRveG1sKCkKKysKKyAgICAgc3Rkb3V0LndyaXRlKHhtbCkKKyAgICAgc3Rk b3V0LndyaXRlKCdcbicpCmRpZmYgLS1naXQgYS9zcmNwa2dzL3RlbGVwYXRoeS1sb2dnZXIvdGVt cGxhdGUgYi9zcmNwa2dzL3RlbGVwYXRoeS1sb2dnZXIvdGVtcGxhdGUKaW5kZXggNTI4YTU2MTgw NGI0OC4uZmQxMjZmOTEwOGZmYiAxMDA2NDQKLS0tIGEvc3JjcGtncy90ZWxlcGF0aHktbG9nZ2Vy L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvdGVsZXBhdGh5LWxvZ2dlci90ZW1wbGF0ZQpAQCAtNSw3 ICs1LDcgQEAgcmV2aXNpb249MwogYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQogYnVpbGRfaGVs cGVyPSJnaXIiCiBjb25maWd1cmVfYXJncz0iLS1kaXNhYmxlLXN0YXRpYyAtLWRpc2FibGUtc2No ZW1hcy1jb21waWxlICQodm9wdF9lbmFibGUgZ2lyIGludHJvc3BlY3Rpb24pIgotaG9zdG1ha2Vk ZXBlbmRzPSJwa2ctY29uZmlnIGludGx0b29sIGxpYnhzbHQgZ2xpYi1kZXZlbCBweXRob24gJCh2 b3B0X2lmIGdpciBnb2JqZWN0LWludHJvc3BlY3Rpb24pIgoraG9zdG1ha2VkZXBlbmRzPSJwa2ct Y29uZmlnIGludGx0b29sIGxpYnhzbHQgZ2xpYi1kZXZlbCBweXRob24zICQodm9wdF9pZiBnaXIg Z29iamVjdC1pbnRyb3NwZWN0aW9uKSIKIG1ha2VkZXBlbmRzPSJkYnVzLWdsaWItZGV2ZWwgbGli eG1sMi1kZXZlbCBzcWxpdGUtZGV2ZWwgdGVsZXBhdGh5LWdsaWItZGV2ZWwiCiBzaG9ydF9kZXNj PSJUZWxlcGF0aHkgZnJhbWV3b3JrIGxvZ2dpbmcgZGFlbW9uIgogbWFpbnRhaW5lcj0iT3JwaGFu ZWQgPG9ycGhhbkB2b2lkbGludXgub3JnPiIKQEAgLTE4LDEwICsxOCw2IEBAIGNoZWNrc3VtPThm Y2FkNTM0ZDY1M2IxYjM2NTEzMmM1YjE1OGFkYWU5NDc4MTBmZmJhZTk4NDNmNzJkZDE3OTc5NjY0 MTVkYWUKIGJ1aWxkX29wdGlvbnM9ImdpciIKIGJ1aWxkX29wdGlvbnNfZGVmYXVsdD0iZ2lyIgog Ci1wcmVfY29uZmlndXJlKCkgewotCWV4cG9ydCBQWVRIT049cHl0aG9uMgotfQotCiB0ZWxlcGF0 aHktbG9nZ2VyLWRldmVsX3BhY2thZ2UoKSB7CiAJZGVwZW5kcz0ibGlieG1sMi1kZXZlbCB0ZWxl cGF0aHktZ2xpYi1kZXZlbCAke3NvdXJjZXBrZ30tJHt2ZXJzaW9ufV8ke3JldmlzaW9ufSIKIAlz aG9ydF9kZXNjKz0iIC0gZGV2ZWxvcG1lbnQgZmlsZXMiCgpGcm9tIGE1MzJmOTkwMTg5YzJjZTQ0 NWNlZTNlMWNhM2NhN2Y0OTQ3Y2IzMGEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IGNs YXNzYWJieWFtcCA8dm9pZEBwbGFjZXZpb2xldHRlLm5ldD4KRGF0ZTogU2F0LCA3IE9jdCAyMDIz IDIzOjM0OjU4IC0wNDAwClN1YmplY3Q6IFtQQVRDSCA0LzZdIHRlbGVwYXRoeS1oYXplOiB1cGRh dGUgdG8gMC44LjEuCgotLS0KIC4uLi9wYXRjaGVzL3B1cnBsZS0yLjAuMTIucGF0Y2ggICAgICAg ICAgICAgICB8IDI1IC0tLS0tLS0tLS0tLS0tLS0tLS0KIHNyY3BrZ3MvdGVsZXBhdGh5LWhhemUv dGVtcGxhdGUgICAgICAgICAgICAgICB8IDEyICsrKystLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCA2 IGluc2VydGlvbnMoKyksIDMxIGRlbGV0aW9ucygtKQogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3Br Z3MvdGVsZXBhdGh5LWhhemUvcGF0Y2hlcy9wdXJwbGUtMi4wLjEyLnBhdGNoCgpkaWZmIC0tZ2l0 IGEvc3JjcGtncy90ZWxlcGF0aHktaGF6ZS9wYXRjaGVzL3B1cnBsZS0yLjAuMTIucGF0Y2ggYi9z cmNwa2dzL3RlbGVwYXRoeS1oYXplL3BhdGNoZXMvcHVycGxlLTIuMC4xMi5wYXRjaApkZWxldGVk IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzU1OGU1M2FiZGJkNS4uMDAwMDAwMDAwMDAwMAotLS0g YS9zcmNwa2dzL3RlbGVwYXRoeS1oYXplL3BhdGNoZXMvcHVycGxlLTIuMC4xMi5wYXRjaAorKysg L2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLUZyb206IEtvb3AgTWFzdCA8a3dtIGZyZWVic2Qg b3JnPgotRGF0ZTogTW9uLCAxMSBKYW4gMjAxNiAxMTo1MzoyMyArMDEwMAotU3ViamVjdDogRml4 IHRoZSBidWlsZCB3aXRoIGxpYnB1cnBsZSAyLjAuMTIKLQotaHR0cDovL3BpZGdpbi5pbS9waXBl cm1haWwvZGV2ZWwvMjAxNS1NYXJjaC8wMjM2MzkuaHRtbAotUmVwbGFjZXMgdGhlIG9sZCBlbXUg d2l0aCB0aGUgX1BBU1NJVkUuCi0KLU9yaWdpbjogdmVuZG9yLCBGcmVlQlNELCBodHRwczovL2xp c3RzLmZyZWVic2Qub3JnL3BpcGVybWFpbC9zdm4tcG9ydHMtaGVhZC8yMDE2LUphbnVhcnkvMTEx NjEyLmh0bWwKLS0tLQotIHNyYy9tZWRpYS1zdHJlYW0uYyB8IDIgKy0KLSAxIGZpbGUgY2hhbmdl ZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9tZWRp YS1zdHJlYW0uYyBiL3NyYy9tZWRpYS1zdHJlYW0uYwotaW5kZXggN2I0ZjI5Zi4uZGEwODhkMSAx MDA2NDQKLS0tLSBhL3NyYy9tZWRpYS1zdHJlYW0uYwotKysrIGIvc3JjL21lZGlhLXN0cmVhbS5j Ci1AQCAtMTA3Niw3ICsxMDc2LDcgQEAgaGF6ZV9tZWRpYV9zdHJlYW1fbmV3X25hdGl2ZV9jYW5k aWRhdGUgKFRwU3ZjTWVkaWFTdHJlYW1IYW5kbGVyICppZmFjZSwKLSAgICAgICBpZiAocHJvdG8g PT0gVFBfTUVESUFfU1RSRUFNX0JBU0VfUFJPVE9fVURQKQotICAgICAgICAgcHJvdG9jb2wgPSBQ VVJQTEVfTUVESUFfTkVUV09SS19QUk9UT0NPTF9VRFA7Ci0gICAgICAgZWxzZSBpZiAocHJvdG8g PT0gVFBfTUVESUFfU1RSRUFNX0JBU0VfUFJPVE9fVENQKQotLSAgICAgICAgcHJvdG9jb2wgPSBQ VVJQTEVfTUVESUFfTkVUV09SS19QUk9UT0NPTF9UQ1A7Ci0rICAgICAgICBwcm90b2NvbCA9IFBV UlBMRV9NRURJQV9ORVRXT1JLX1BST1RPQ09MX1RDUF9QQVNTSVZFOwotICAgICAgIGVsc2UKLSAg ICAgICAgIERFQlVHICgiVW5rbm93biBuZXR3b3JrIHByb3RvY29sIik7Ci0gCmRpZmYgLS1naXQg YS9zcmNwa2dzL3RlbGVwYXRoeS1oYXplL3RlbXBsYXRlIGIvc3JjcGtncy90ZWxlcGF0aHktaGF6 ZS90ZW1wbGF0ZQppbmRleCA2MGI2NWI4M2VjZWQ0Li45MzhmNjUxZDA4M2I4IDEwMDY0NAotLS0g YS9zcmNwa2dzL3RlbGVwYXRoeS1oYXplL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvdGVsZXBhdGh5 LWhhemUvdGVtcGxhdGUKQEAgLTEsMTMgKzEsMTMgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3Rl bGVwYXRoeS1oYXplJwogcGtnbmFtZT10ZWxlcGF0aHktaGF6ZQotdmVyc2lvbj0wLjguMAotcmV2 aXNpb249MgordmVyc2lvbj0wLjguMQorcmV2aXNpb249MQogYnVpbGRfc3R5bGU9Z251LWNvbmZp Z3VyZQotaG9zdG1ha2VkZXBlbmRzPSJwa2ctY29uZmlnIHB5dGhvbiBsaWJ4c2x0IGdsaWItZGV2 ZWwiCitob3N0bWFrZWRlcGVuZHM9InBrZy1jb25maWcgcHl0aG9uMyBsaWJ4c2x0IGdsaWItZGV2 ZWwiCiBtYWtlZGVwZW5kcz0iZ2xpYi1kZXZlbCBsaWJwdXJwbGUtZGV2ZWwgdGVsZXBhdGh5LWds aWItZGV2ZWwiCiBzaG9ydF9kZXNjPSJCYWNrZW5kIGZvciB0ZWxlcGF0aHkgdG8gdXNlIGxpYnB1 cnBsZSAoUGlkZ2luKSBwcm90b2NvbHMiCiBtYWludGFpbmVyPSJPcnBoYW5lZCA8b3JwaGFuQHZv aWRsaW51eC5vcmc+IgogbGljZW5zZT0iR1BMLTIuMC1vci1sYXRlciIKLWhvbWVwYWdlPSJodHRw Oi8vdGVsZXBhdGh5LmZyZWVkZXNrdG9wLm9yZyIKLWRpc3RmaWxlcz0iJHtob21lcGFnZX0vcmVs ZWFzZXMvJHBrZ25hbWUvJHBrZ25hbWUtJHZlcnNpb24udGFyLmd6IgotY2hlY2tzdW09M2U3NjA0 OWMwNWYyY2Q1OTAwYzVjMGMxY2ZlYmRmN2FlNzllZWM5ODdhNTk5ZjEwOTA5NDY2NzNjNWI4Zjlj OQoraG9tZXBhZ2U9Imh0dHBzOi8vdGVsZXBhdGh5LmZyZWVkZXNrdG9wLm9yZyIKK2Rpc3RmaWxl cz0iaHR0cHM6Ly90ZWxlcGF0aHkuZnJlZWRlc2t0b3Aub3JnL3JlbGVhc2VzL3RlbGVwYXRoeS1o YXplL3RlbGVwYXRoeS1oYXplLSR2ZXJzaW9uLnRhci5neiIKK2NoZWNrc3VtPTcwNGJlZmE0MmVl YzIxNzNlY2E0YmFjMDFmZmQwMDQwMTQ2NjVmMmJhZDQ2ZGM4OTQ4ZTU0MjMzNjRjZGUzMGEKCkZy b20gNTkzMDE2ZDY3YjMzOTI2ZmNlOTM5MmJmOTk3ZjljM2Q2ZGIxY2QzZiBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKRnJvbTogY2xhc3NhYmJ5YW1wIDx2b2lkQHBsYWNldmlvbGV0dGUubmV0PgpE YXRlOiBTdW4sIDggT2N0IDIwMjMgMDA6MTU6NTkgLTA0MDAKU3ViamVjdDogW1BBVENIIDUvNl0g dGVsZXBhdGh5LXNhbHV0OiBtYWtlIGNvZGVnZW4gd29yayB3aXRoIHB5dGhvbjMKCi0tLQogc3Jj cGtncy90ZWxlcGF0aHktc2FsdXQvcGF0Y2hlcy9weXRob24zLnBhdGNoIHwgOTcgKysrKysrKysr KysrKysrKysrKwogc3JjcGtncy90ZWxlcGF0aHktc2FsdXQvdGVtcGxhdGUgICAgICAgICAgICAg IHwgMTEgKy0tCiAyIGZpbGVzIGNoYW5nZWQsIDEwMiBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9u cygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvdGVsZXBhdGh5LXNhbHV0L3BhdGNoZXMv cHl0aG9uMy5wYXRjaAoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvdGVsZXBhdGh5LXNhbHV0L3BhdGNo ZXMvcHl0aG9uMy5wYXRjaCBiL3NyY3BrZ3MvdGVsZXBhdGh5LXNhbHV0L3BhdGNoZXMvcHl0aG9u My5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwLi5mYTZmYjYy NTNjNDY2Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy90ZWxlcGF0aHktc2FsdXQvcGF0Y2hl cy9weXRob24zLnBhdGNoCkBAIC0wLDAgKzEsOTcgQEAKKy0tLSBhL3Rvb2xzL2xpYmdsaWJjb2Rl Z2VuLnB5CisrKysgYi90b29scy9saWJnbGliY29kZWdlbi5weQorQEAgLTU1LDkgKzU1LDggQEAK KyAgICAgcmV0dXJuIGNhbWVsY2FzZV90b19sb3dlcihzKS51cHBlcigpCisgCisgCistZGVmIGNt cF9ieV9uYW1lKG5vZGUxLCBub2RlMik6CistICAgIHJldHVybiBjbXAobm9kZTEuZ2V0QXR0cmli dXRlTm9kZSgibmFtZSIpLm5vZGVWYWx1ZSwKKy0gICAgICAgICAgICAgICBub2RlMi5nZXRBdHRy aWJ1dGVOb2RlKCJuYW1lIikubm9kZVZhbHVlKQorK2RlZiBrZXlfYnlfbmFtZShub2RlKToKKysg ICAgcmV0dXJuIG5vZGUuZ2V0QXR0cmlidXRlTm9kZSgibmFtZSIpLm5vZGVWYWx1ZQorIAorIAor IGRlZiBkYnVzX2d1dGlsc193aW5jYXBzX3RvX3VzY29yZShzKToKK0BAIC0xOTEsNiArMTkxLDkg QEAKKyAgICAgICAgIHNlbGYucmVtYWluaW5nID0gc3RyaW5nCisgCisgICAgIGRlZiBuZXh0KHNl bGYpOgorKyAgICAgICAgcmV0dXJuIHNlbGYuX19uZXh0X18oKQorKworKyAgICBkZWYgX19uZXh0 X18oc2VsZik6CisgICAgICAgICBpZiBzZWxmLnJlbWFpbmluZyA9PSAnJzoKKyAgICAgICAgICAg ICByYWlzZSBTdG9wSXRlcmF0aW9uCisgCitAQCAtMjk3LDcgKzI5Nyw3IEBACisgICAgICAgICBy ZXR1cm4gKCJHSGFzaFRhYmxlICoiLCAiREJVU19UWVBFX0dfU1RSSU5HX1NUUklOR19IQVNIVEFC TEUiLCAiQk9YRUQiLCBGYWxzZSkKKyAgICAgZWxpZiBzWzoyXSA9PSAnYXsnOiAgI3NvbWUgYXJi aXRyYXJ5IGhhc2ggdGFibGVzCisgICAgICAgICBpZiBzWzJdIG5vdCBpbiAoJ3knLCAnYicsICdu JywgJ3EnLCAnaScsICd1JywgJ3MnLCAnbycsICdnJyk6CistICAgICAgICAgICAgcmFpc2UgRXhj ZXB0aW9uLCAiY2FuJ3QgaW5kZXggYSBoYXNodGFibGUgb2ZmIG5vbi1iYXNpYyB0eXBlICIgKyBz CisrICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCJjYW4ndCBpbmRleCBhIGhhc2h0YWJsZSBv ZmYgbm9uLWJhc2ljIHR5cGUgIiArIHMpCisgICAgICAgICBmaXJzdCA9IHR5cGVfdG9fZ3R5cGUo c1syXSkKKyAgICAgICAgIHNlY29uZCA9IHR5cGVfdG9fZ3R5cGUoc1szOi0xXSkKKyAgICAgICAg IHJldHVybiAoIkdIYXNoVGFibGUgKiIsICIoZGJ1c19nX3R5cGVfZ2V0X21hcCAoXCJHSGFzaFRh YmxlXCIsICIgKyBmaXJzdFsxXSArICIsICIgKyBzZWNvbmRbMV0gKyAiKSkiLCAiQk9YRUQiLCBG YWxzZSkKK0BAIC0zMTIsNyArMzEyLDcgQEAKKyAgICAgICAgIHJldHVybiAoIkdWYWx1ZUFycmF5 ICoiLCBndHlwZSwgIkJPWEVEIiwgVHJ1ZSkKKyAKKyAgICAgIyB3ZSBqdXN0IGRvbid0IGtub3cg Li4KKy0gICAgcmFpc2UgRXhjZXB0aW9uLCAiZG9uJ3Qga25vdyB0aGUgR1R5cGUgZm9yICIgKyBz CisrICAgIHJhaXNlIEV4Y2VwdGlvbigiZG9uJ3Qga25vdyB0aGUgR1R5cGUgZm9yICIgKyBzKQor IAorIAorIGRlZiB4bWxfZXNjYXBlKHMpOgorLS0tIGEvdG9vbHMvZ2xpYi1zaWduYWxzLW1hcnNo YWwtZ2VuLnB5CisrKysgYi90b29scy9nbGliLXNpZ25hbHMtbWFyc2hhbC1nZW4ucHkKK0BAIC00 MSwxMiArNDEsMTIgQEAKKyAgICAgICAgIGZvciBzaWduYWwgaW4gc2lnbmFsczoKKyAgICAgICAg ICAgICBzZWxmLmRvX3NpZ25hbChzaWduYWwpCisgCistICAgICAgICBhbGwgPSBzZWxmLm1hcnNo YWxsZXJzLmtleXMoKQorKyAgICAgICAgYWxsID0gbGlzdChzZWxmLm1hcnNoYWxsZXJzLmtleXMo KSkKKyAgICAgICAgIGFsbC5zb3J0KCkKKyAgICAgICAgIGZvciBtYXJzaGFsbGVyIGluIGFsbDoK KyAgICAgICAgICAgICByaHMgPSBzZWxmLm1hcnNoYWxsZXJzW21hcnNoYWxsZXJdCisgICAgICAg ICAgICAgaWYgbm90IG1hcnNoYWxsZXIuc3RhcnRzd2l0aCgnZ19jY2xvc3VyZScpOgorLSAgICAg ICAgICAgICAgICBwcmludCAnVk9JRDonICsgJywnLmpvaW4ocmhzKQorKyAgICAgICAgICAgICAg ICBwcmludCgnVk9JRDonICsgJywnLmpvaW4ocmhzKSkKKyAKKyBpZiBfX25hbWVfXyA9PSAnX19t YWluX18nOgorICAgICBhcmd2ID0gc3lzLmFyZ3ZbMTpdCistLS0gYS90b29scy9nbGliLWdpbnRl cmZhY2UtZ2VuLnB5CisrKysgYi90b29scy9nbGliLWdpbnRlcmZhY2UtZ2VuLnB5CitAQCAtMjYs NyArMjYsNyBAQAorIGltcG9ydCBvcy5wYXRoCisgaW1wb3J0IHhtbC5kb20ubWluaWRvbQorIAor LWZyb20gbGliZ2xpYmNvZGVnZW4gaW1wb3J0IFNpZ25hdHVyZSwgdHlwZV90b19ndHlwZSwgY21w X2J5X25hbWUsIFwKKytmcm9tIGxpYmdsaWJjb2RlZ2VuIGltcG9ydCBTaWduYXR1cmUsIHR5cGVf dG9fZ3R5cGUsIGtleV9ieV9uYW1lLCBcCisgICAgICAgICBjYW1lbGNhc2VfdG9fbG93ZXIsIE5T X1RQLCBkYnVzX2d1dGlsc193aW5jYXBzX3RvX3VzY29yZSwgXAorICAgICAgICAgc2lnbmFsX3Rv X21hcnNoYWxfbmFtZSwgbWV0aG9kX3RvX2dsdWVfbWFyc2hhbF9uYW1lCisgCitAQCAtNjIwLDcg KzYyMCw3IEBACisgICAgICAgICBzZWxmLmIoJycpCisgCisgICAgICAgICBub2RlcyA9IHNlbGYu ZG9tLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdub2RlJykKKy0gICAgICAgIG5vZGVzLnNvcnQoY21w X2J5X25hbWUpCisrICAgICAgICBub2Rlcy5zb3J0KGtleT1rZXlfYnlfbmFtZSkKKyAKKyAgICAg ICAgIGZvciBub2RlIGluIG5vZGVzOgorICAgICAgICAgICAgIHNlbGYuZG9fbm9kZShub2RlKQor QEAgLTYzOSw3ICs2MzksNyBAQAorIAorIAorIGRlZiBjbWRsaW5lX2Vycm9yKCk6CistICAgIHBy aW50ICIiIlwKKysgICAgcHJpbnQoIiIiXAorIHVzYWdlOgorICAgICBnZW4tZ2ludGVyZmFjZSBb T1BUSU9OU10geG1sZmlsZSBQcmVmaXhfCisgb3B0aW9uczoKK0BAIC02NTksNyArNjU5LDcgQEAK KyAgICAgICAgICAgICB2b2lkIHN5bWJvbCAoREJ1c0dNZXRob2RJbnZvY2F0aW9uICpjb250ZXh0 KQorICAgICAgICAgYW5kIHJldHVybiBzb21lIHNvcnQgb2YgIm5vdCBpbXBsZW1lbnRlZCIgZXJy b3IgdmlhCisgICAgICAgICAgICAgZGJ1c19nX21ldGhvZF9yZXR1cm5fZXJyb3IgKGNvbnRleHQs IC4uLikKKy0iIiIKKysiIiIpCisgICAgIHN5cy5leGl0KDEpCisgCisgCmRpZmYgLS1naXQgYS9z cmNwa2dzL3RlbGVwYXRoeS1zYWx1dC90ZW1wbGF0ZSBiL3NyY3BrZ3MvdGVsZXBhdGh5LXNhbHV0 L3RlbXBsYXRlCmluZGV4IDhjM2QyZGFjZTI5YWUuLmJhZGMwMjBmMWI2OTcgMTAwNjQ0Ci0tLSBh L3NyY3BrZ3MvdGVsZXBhdGh5LXNhbHV0L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvdGVsZXBhdGh5 LXNhbHV0L3RlbXBsYXRlCkBAIC0yLDE5ICsyLDE4IEBACiBwa2duYW1lPXRlbGVwYXRoeS1zYWx1 dAogdmVyc2lvbj0wLjguMQogcmV2aXNpb249MjAKLWxpYjMyZGlzYWJsZWQ9eWVzCiBidWlsZF9z dHlsZT1nbnUtY29uZmlndXJlCiBjb25maWd1cmVfYXJncz0iLS1kaXNhYmxlLXRlc3RzIC0tZGlz YWJsZS1wbHVnaW5zIC0td2l0aC10bHM9Z251dGxzCiAgLS1kaXNhYmxlLWF2YWhpLXRlc3RzIC0t ZGlzYWJsZS1zdGF0aWMiCi1ob3N0bWFrZWRlcGVuZHM9InBrZy1jb25maWcgcHl0aG9uIHhtbGRp ZmYgZ2xpYi1kZXZlbCIKK2hvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyBweXRob24zIHhtbGRp ZmYgZ2xpYi1kZXZlbCIKIG1ha2VkZXBlbmRzPSJnbGliLWRldmVsIGF2YWhpLWdsaWItbGlicy1k ZXZlbCBsaWJzb3VwLWRldmVsIHRlbGVwYXRoeS1nbGliLWRldmVsCiAgZ251dGxzLWRldmVsIGxp YnV1aWQtZGV2ZWwgc3FsaXRlLWRldmVsIgogZGVwZW5kcz0iYXZhaGkiCiBzaG9ydF9kZXNjPSJM aW5rLWxvY2FsIFhNUFAgY29ubmVjdGlvbiBtYW5hZ2VyIGZvciBUZWxlcGF0aHkiCiBtYWludGFp bmVyPSJPcnBoYW5lZCA8b3JwaGFuQHZvaWRsaW51eC5vcmc+IgotaG9tZXBhZ2U9Imh0dHA6Ly90 ZWxlcGF0aHkuZnJlZWRlc2t0b3Aub3JnIgogbGljZW5zZT0iTEdQTC0yLjEtb3ItbGF0ZXIiCi1k aXN0ZmlsZXM9Imh0dHA6Ly90ZWxlcGF0aHkuZnJlZWRlc2t0b3Aub3JnL3JlbGVhc2VzLyRwa2du YW1lLyRwa2duYW1lLSR2ZXJzaW9uLnRhci5neiIKK2hvbWVwYWdlPSJodHRwczovL3RlbGVwYXRo eS5mcmVlZGVza3RvcC5vcmciCitkaXN0ZmlsZXM9Imh0dHBzOi8vdGVsZXBhdGh5LmZyZWVkZXNr dG9wLm9yZy9yZWxlYXNlcy90ZWxlcGF0aHktc2FsdXQvdGVsZXBhdGh5LXNhbHV0LSR2ZXJzaW9u LnRhci5neiIKIGNoZWNrc3VtPTcwYjkxMDhhYzhiNTExYjc2ODhlMWI1ODBkZTRkZGI4OTgxNjAz YzNjYmRlMDFmMjg3ZWY4ZjljYjcwODYxOGUKLQotbm9jcm9zcz0iaHR0cDovL2J1aWxkLnZvaWRs aW51eC5vcmcvYnVpbGRlcnMvYXJtdjdsX2J1aWxkZXIvYnVpbGRzLzE2MjEzL3N0ZXBzL3NoZWxs XzMvbG9ncy9zdGRpbyIKK2xpYjMyZGlzYWJsZWQ9eWVzCitub2Nyb3NzPSJjYW4ndCBmaW5kIHdv Y2t5LmgiCgpGcm9tIGZkZWJjNDZiNmRiMWVjMDhjZTFhZmNmODdiYTY5NTZlYzk0ZDU4YTIgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IGNsYXNzYWJieWFtcCA8dm9pZEBwbGFjZXZpb2xl dHRlLm5ldD4KRGF0ZTogU3VuLCA4IE9jdCAyMDIzIDAwOjUxOjE1IC0wNDAwClN1YmplY3Q6IFtQ QVRDSCA2LzZdIHRlbGVwYXRoeS1nYWJibGU6IHBhdGNoIGZvciBweXRob24zCgotLS0KIC4uLi90 ZWxlcGF0aHktZ2FiYmxlL3BhdGNoZXMvcHl0aG9uMy5wYXRjaCAgICB8IDg3MSArKysrKysrKysr KysrKysrKysKIHNyY3BrZ3MvdGVsZXBhdGh5LWdhYmJsZS90ZW1wbGF0ZSAgICAgICAgICAgICB8 ICAgOCArLQogMiBmaWxlcyBjaGFuZ2VkLCA4NzUgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMo LSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3RlbGVwYXRoeS1nYWJibGUvcGF0Y2hlcy9w eXRob24zLnBhdGNoCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy90ZWxlcGF0aHktZ2FiYmxlL3BhdGNo ZXMvcHl0aG9uMy5wYXRjaCBiL3NyY3BrZ3MvdGVsZXBhdGh5LWdhYmJsZS9wYXRjaGVzL3B5dGhv bjMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMC4uMjA1Yzk5 NDBhNThmZQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvdGVsZXBhdGh5LWdhYmJsZS9wYXRj aGVzL3B5dGhvbjMucGF0Y2gKQEAgLTAsMCArMSw4NzEgQEAKK0Zyb20gMWFlZmZkYjc0YTFkN2Nl OGI5MzU4N2RlZDRmNWE0MzRjZDFkZmMwNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206 IFNpbW9uIE1jVml0dGllIDxzaW1vbi5tY3ZpdHRpZUBjb2xsYWJvcmEuY28udWs+CitEYXRlOiBG cmksIDEgTm92IDIwMTMgMTQ6MTI6MDYgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gVXBkYXRlIFB5 dGhvbiB0b29scyBmcm9tIHRlbGVwYXRoeS1nbGliIChhdm9pZCBkZXByZWNhdGlvbnMsCisgZXRj LikKKworQnVnOiBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD0y NjYwOQorUmV2aWV3ZWQtYnk6IEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0 ZXNAY29sbGFib3JhLmNvLnVrPgorLS0tCisgdG9vbHMvYy1jb25zdGFudHMtZ2VuLnB5ICAgICAg ICAgICAgfCAxMiArKy0tCisgdG9vbHMvZ2xpYi1jbGllbnQtZ2VuLnB5ICAgICAgICAgICAgfCA5 NCArKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIHRvb2xzL2dsaWItY2xpZW50LW1hcnNo YWxsZXItZ2VuLnB5IHwgMjAgKysrLS0tCisgdG9vbHMvZ2xpYi1lcnJvcnMtY2hlY2stZ2VuLnB5 ICAgICAgfCA2MiArKysrKysrKystLS0tLS0tLS0tCisgdG9vbHMvZ2xpYi1lcnJvcnMtc3RyLWdl bi5weSAgICAgICAgfCAxNCArKy0tLQorIHRvb2xzL2dsaWItZ2ludGVyZmFjZS1nZW4ucHkgICAg ICAgIHwgMjIgKysrLS0tLQorIHRvb2xzL2dsaWItZ3R5cGVzLWdlbmVyYXRvci5weSAgICAgIHwg MTQgKystLS0KKyB0b29scy9nbGliLWludGVyZmFjZXMtZ2VuLnB5ICAgICAgICB8IDE0ICsrLS0t CisgdG9vbHMvZ29iamVjdC1mb28ucHkgICAgICAgICAgICAgICAgfCAgMiArLQorIHRvb2xzL2xp YmdsaWJjb2RlZ2VuLnB5ICAgICAgICAgICAgIHwgMjcgKysrKysrKystCisgdG9vbHMvbGlidHBj b2RlZ2VuLnB5ICAgICAgICAgICAgICAgfCAyMiArKysrKystCisgdG9vbHMvbWFrZS12ZXJzaW9u LXNjcmlwdC5weSAgICAgICAgfCAzMiArKysrKy0tLS0tCisgdG9vbHMveGluY2x1ZGF0b3IucHkg ICAgICAgICAgICAgICAgfCAxMyArKystCisgMTMgZmlsZXMgY2hhbmdlZCwgMTY3IGluc2VydGlv bnMoKyksIDE4MSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3Rvb2xzL2MtY29uc3RhbnRz LWdlbi5weSBiL3Rvb2xzL2MtY29uc3RhbnRzLWdlbi5weQoraW5kZXggYzdhOTNkMzcxLi5hMDhh ZmVlMDYgMTAwNjQ0CistLS0gYS90b29scy9jLWNvbnN0YW50cy1nZW4ucHkKKysrKyBiL3Rvb2xz L2MtY29uc3RhbnRzLWdlbi5weQorQEAgLTMsNyArMyw3IEBACisgZnJvbSBzeXMgaW1wb3J0IGFy Z3YsIHN0ZG91dCwgc3RkZXJyCisgaW1wb3J0IHhtbC5kb20ubWluaWRvbQorIAorLWZyb20gbGli dHBjb2RlZ2VuIGltcG9ydCBmaWxlX3NldF9jb250ZW50cworK2Zyb20gbGlidHBjb2RlZ2VuIGlt cG9ydCBmaWxlX3NldF9jb250ZW50cywgdQorIGZyb20gbGliZ2xpYmNvZGVnZW4gaW1wb3J0IE5T X1RQLCBnZXRfZG9jc3RyaW5nLCBcCisgICAgICAgICBnZXRfZGVzY2VuZGFudF90ZXh0LCBnZXRf YnlfcGF0aAorIAorQEAgLTEyLDcgKzEyLDcgQEAgZGVmIF9faW5pdF9fKHNlbGYsIHByZWZpeCwg ZG9tLCBvdXRwdXRfYmFzZSk6CisgICAgICAgICBzZWxmLnByZWZpeCA9IHByZWZpeCArICdfJwor ICAgICAgICAgc2VsZi5zcGVjID0gZ2V0X2J5X3BhdGgoZG9tLCAic3BlYyIpWzBdCisgCistCXNl bGYub3V0cHV0X2Jhc2UgPSBvdXRwdXRfYmFzZQorKyAgICAgICAgc2VsZi5vdXRwdXRfYmFzZSA9 IG91dHB1dF9iYXNlCisgICAgICAgICBzZWxmLl9faGVhZGVyID0gW10KKyAgICAgICAgIHNlbGYu X19kb2NzID0gW10KKyAKK0BAIC0yMSwxNCArMjEsMTQgQEAgZGVmIF9fY2FsbF9fKHNlbGYpOgor ICAgICAgICAgc2VsZi5kb19ib2R5KCkKKyAgICAgICAgIHNlbGYuZG9fZm9vdGVyKCkKKyAKKy0g ICAgICAgIGZpbGVfc2V0X2NvbnRlbnRzKHNlbGYub3V0cHV0X2Jhc2UgKyAnLmgnLCAnJy5qb2lu KHNlbGYuX19oZWFkZXIpKQorLSAgICAgICAgZmlsZV9zZXRfY29udGVudHMoc2VsZi5vdXRwdXRf YmFzZSArICctZ3RrLWRvYy5oJywgJycuam9pbihzZWxmLl9fZG9jcykpCisrICAgICAgICBmaWxl X3NldF9jb250ZW50cyhzZWxmLm91dHB1dF9iYXNlICsgJy5oJywgdSgnJykuam9pbihzZWxmLl9f aGVhZGVyKS5lbmNvZGUoJ3V0Zi04JykpCisrICAgICAgICBmaWxlX3NldF9jb250ZW50cyhzZWxm Lm91dHB1dF9iYXNlICsgJy1ndGstZG9jLmgnLCB1KCcnKS5qb2luKHNlbGYuX19kb2NzKS5lbmNv ZGUoJ3V0Zi04JykpCisgCisgICAgIGRlZiB3cml0ZShzZWxmLCBjb2RlKToKKy0gICAgICAgIHNl bGYuX19oZWFkZXIuYXBwZW5kKGNvZGUuZW5jb2RlKCd1dGYtOCcpKQorKyAgICAgICAgc2VsZi5f X2hlYWRlci5hcHBlbmQoY29kZSkKKyAKKyAgICAgZGVmIGQoc2VsZiwgY29kZSk6CistICAgICAg ICBzZWxmLl9fZG9jcy5hcHBlbmQoY29kZS5lbmNvZGUoJ3V0Zi04JykpCisrICAgICAgICBzZWxm Ll9fZG9jcy5hcHBlbmQoY29kZSkKKyAKKyAgICAgIyBIZWFkZXIKKyAgICAgZGVmIGRvX2hlYWRl cihzZWxmKToKK2RpZmYgLS1naXQgYS90b29scy9nbGliLWNsaWVudC1nZW4ucHkgYi90b29scy9n bGliLWNsaWVudC1nZW4ucHkKK2luZGV4IGY4NDY1YTYyYi4uYTBmZWNmMDgzIDEwMDY0NAorLS0t IGEvdG9vbHMvZ2xpYi1jbGllbnQtZ2VuLnB5CisrKysgYi90b29scy9nbGliLWNsaWVudC1nZW4u cHkKK0BAIC0yNyw5ICsyNyw5IEBACisgaW1wb3J0IHhtbC5kb20ubWluaWRvbQorIGZyb20gZ2V0 b3B0IGltcG9ydCBnbnVfZ2V0b3B0CisgCistZnJvbSBsaWJ0cGNvZGVnZW4gaW1wb3J0IGZpbGVf c2V0X2NvbnRlbnRzCistZnJvbSBsaWJnbGliY29kZWdlbiBpbXBvcnQgU2lnbmF0dXJlLCB0eXBl X3RvX2d0eXBlLCBjbXBfYnlfbmFtZSwgXAorLSAgICAgICAgZ2V0X2RvY3N0cmluZywgeG1sX2Vz Y2FwZSwgZ2V0X2RlcHJlY2F0ZWQKKytmcm9tIGxpYnRwY29kZWdlbiBpbXBvcnQgZmlsZV9zZXRf Y29udGVudHMsIGtleV9ieV9uYW1lLCB1CisrZnJvbSBsaWJnbGliY29kZWdlbiBpbXBvcnQgKFNp Z25hdHVyZSwgdHlwZV90b19ndHlwZSwKKysgICAgICAgIGdldF9kb2NzdHJpbmcsIHhtbF9lc2Nh cGUsIGdldF9kZXByZWNhdGVkLCBjb3B5X2ludG9fZ3ZhbHVlKQorIAorIAorIE5TX1RQID0gImh0 dHA6Ly90ZWxlcGF0aHkuZnJlZWRlc2t0b3Aub3JnL3dpa2kvRGJ1c1NwZWMjZXh0ZW5zaW9ucy12 MCIKK0BAIC03NCwxOCArNzQsMTIgQEAgZGVmIF9faW5pdF9fKHNlbGYsIGRvbSwgcHJlZml4LCBi YXNlbmFtZSwgb3B0cyk6CisgICAgICAgICBzZWxmLmd1YXJkID0gb3B0cy5nZXQoJy0tZ3VhcmQn LCBOb25lKQorIAorICAgICBkZWYgaChzZWxmLCBzKToKKy0gICAgICAgIGlmIGlzaW5zdGFuY2Uo cywgdW5pY29kZSk6CistICAgICAgICAgICAgcyA9IHMuZW5jb2RlKCd1dGYtOCcpCisgICAgICAg ICBzZWxmLl9faGVhZGVyLmFwcGVuZChzKQorIAorICAgICBkZWYgYihzZWxmLCBzKToKKy0gICAg ICAgIGlmIGlzaW5zdGFuY2UocywgdW5pY29kZSk6CistICAgICAgICAgICAgcyA9IHMuZW5jb2Rl KCd1dGYtOCcpCisgICAgICAgICBzZWxmLl9fYm9keS5hcHBlbmQocykKKyAKKyAgICAgZGVmIGQo c2VsZiwgcyk6CistICAgICAgICBpZiBpc2luc3RhbmNlKHMsIHVuaWNvZGUpOgorLSAgICAgICAg ICAgIHMgPSBzLmVuY29kZSgndXRmLTgnKQorICAgICAgICAgc2VsZi5fX2RvY3MuYXBwZW5kKHMp CisgCisgICAgIGRlZiBnZXRfaWZhY2VfcXVhcmsoc2VsZik6CitAQCAtMTkyLDYgKzE4Niw3IEBA IGRlZiBkb19zaWduYWwoc2VsZiwgaWZhY2UsIHNpZ25hbCk6CisgCisgICAgICAgICAgICAgc2Vs Zi5iKCcgICAgVHBQcm94eVNpZ25hbENvbm5lY3Rpb24gKnNjKScpCisgICAgICAgICAgICAgc2Vs Zi5iKCd7JykKKysgICAgICAgICAgICBzZWxmLmIoJyAgR19HTlVDX0JFR0lOX0lHTk9SRV9ERVBS RUNBVElPTlMnKQorICAgICAgICAgICAgIHNlbGYuYignICBHVmFsdWVBcnJheSAqYXJncyA9IGdf dmFsdWVfYXJyYXlfbmV3ICglZCk7JyAlIGxlbihhcmdzKSkKKyAgICAgICAgICAgICBzZWxmLmIo JyAgR1ZhbHVlIGJsYW5rID0geyAwIH07JykKKyAgICAgICAgICAgICBzZWxmLmIoJyAgZ3VpbnQg aTsnKQorQEAgLTIwMCw2ICsxOTUsNyBAQCBkZWYgZG9fc2lnbmFsKHNlbGYsIGlmYWNlLCBzaWdu YWwpOgorICAgICAgICAgICAgIHNlbGYuYignJykKKyAgICAgICAgICAgICBzZWxmLmIoJyAgZm9y IChpID0gMDsgaSA8ICVkOyBpKyspJyAlIGxlbihhcmdzKSkKKyAgICAgICAgICAgICBzZWxmLmIo JyAgICBnX3ZhbHVlX2FycmF5X2FwcGVuZCAoYXJncywgJmJsYW5rKTsnKQorKyAgICAgICAgICAg IHNlbGYuYignICBHX0dOVUNfRU5EX0lHTk9SRV9ERVBSRUNBVElPTlMnKQorICAgICAgICAgICAg IHNlbGYuYignJykKKyAKKyAgICAgICAgICAgICBmb3IgaSwgYXJnIGluIGVudW1lcmF0ZShhcmdz KToKK0BAIC0yMDksMzYgKzIwNSw4IEBAIGRlZiBkb19zaWduYWwoc2VsZiwgaWZhY2UsIHNpZ25h bCk6CisgICAgICAgICAgICAgICAgIHNlbGYuYignICBnX3ZhbHVlX3Vuc2V0IChhcmdzLT52YWx1 ZXMgKyAlZCk7JyAlIGkpCisgICAgICAgICAgICAgICAgIHNlbGYuYignICBnX3ZhbHVlX2luaXQg KGFyZ3MtPnZhbHVlcyArICVkLCAlcyk7JyAlIChpLCBndHlwZSkpCisgCistICAgICAgICAgICAg ICAgIGlmIGd0eXBlID09ICdHX1RZUEVfU1RSSU5HJzoKKy0gICAgICAgICAgICAgICAgICAgIHNl bGYuYignICBnX3ZhbHVlX3NldF9zdHJpbmcgKGFyZ3MtPnZhbHVlcyArICVkLCAlcyk7JworLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICUgKGksIG5hbWUpKQorLSAgICAgICAgICAgICAgICBl bGlmIG1hcnNoYWxsZXIgPT0gJ0JPWEVEJzoKKy0gICAgICAgICAgICAgICAgICAgIHNlbGYuYign ICBnX3ZhbHVlX3NldF9ib3hlZCAoYXJncy0+dmFsdWVzICsgJWQsICVzKTsnCistICAgICAgICAg ICAgICAgICAgICAgICAgICAgJSAoaSwgbmFtZSkpCistICAgICAgICAgICAgICAgIGVsaWYgZ3R5 cGUgPT0gJ0dfVFlQRV9VQ0hBUic6CistICAgICAgICAgICAgICAgICAgICBzZWxmLmIoJyAgZ192 YWx1ZV9zZXRfdWNoYXIgKGFyZ3MtPnZhbHVlcyArICVkLCAlcyk7JworLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICUgKGksIG5hbWUpKQorLSAgICAgICAgICAgICAgICBlbGlmIGd0eXBlID09 ICdHX1RZUEVfQk9PTEVBTic6CistICAgICAgICAgICAgICAgICAgICBzZWxmLmIoJyAgZ192YWx1 ZV9zZXRfYm9vbGVhbiAoYXJncy0+dmFsdWVzICsgJWQsICVzKTsnCistICAgICAgICAgICAgICAg ICAgICAgICAgICAgJSAoaSwgbmFtZSkpCistICAgICAgICAgICAgICAgIGVsaWYgZ3R5cGUgPT0g J0dfVFlQRV9JTlQnOgorLSAgICAgICAgICAgICAgICAgICAgc2VsZi5iKCcgIGdfdmFsdWVfc2V0 X2ludCAoYXJncy0+dmFsdWVzICsgJWQsICVzKTsnCistICAgICAgICAgICAgICAgICAgICAgICAg ICAgJSAoaSwgbmFtZSkpCistICAgICAgICAgICAgICAgIGVsaWYgZ3R5cGUgPT0gJ0dfVFlQRV9V SU5UJzoKKy0gICAgICAgICAgICAgICAgICAgIHNlbGYuYignICBnX3ZhbHVlX3NldF91aW50IChh cmdzLT52YWx1ZXMgKyAlZCwgJXMpOycKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAlIChp LCBuYW1lKSkKKy0gICAgICAgICAgICAgICAgZWxpZiBndHlwZSA9PSAnR19UWVBFX0lOVDY0JzoK Ky0gICAgICAgICAgICAgICAgICAgIHNlbGYuYignICBnX3ZhbHVlX3NldF9pbnQgKGFyZ3MtPnZh bHVlcyArICVkLCAlcyk7JworLSAgICAgICAgICAgICAgICAgICAgICAgICAgICUgKGksIG5hbWUp KQorLSAgICAgICAgICAgICAgICBlbGlmIGd0eXBlID09ICdHX1RZUEVfVUlOVDY0JzoKKy0gICAg ICAgICAgICAgICAgICAgIHNlbGYuYignICBnX3ZhbHVlX3NldF91aW50NjQgKGFyZ3MtPnZhbHVl cyArICVkLCAlcyk7JworLSAgICAgICAgICAgICAgICAgICAgICAgICAgICUgKGksIG5hbWUpKQor LSAgICAgICAgICAgICAgICBlbGlmIGd0eXBlID09ICdHX1RZUEVfRE9VQkxFJzoKKy0gICAgICAg ICAgICAgICAgICAgIHNlbGYuYignICBnX3ZhbHVlX3NldF9kb3VibGUgKGFyZ3MtPnZhbHVlcyAr ICVkLCAlcyk7JworLSAgICAgICAgICAgICAgICAgICAgICAgICAgICUgKGksIG5hbWUpKQorLSAg ICAgICAgICAgICAgICBlbHNlOgorLSAgICAgICAgICAgICAgICAgICAgYXNzZXJ0IEZhbHNlLCAo IkRvbid0IGtub3cgaG93IHRvIHB1dCAlcyBpbiBhIEdWYWx1ZSIKKy0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICUgZ3R5cGUpCisrICAgICAgICAgICAgICAgIHNlbGYuYignICAn ICsgY29weV9pbnRvX2d2YWx1ZSgnYXJncy0+dmFsdWVzICsgJWQnICUgaSwKKysgICAgICAgICAg ICAgICAgICAgIGd0eXBlLCBtYXJzaGFsbGVyLCBuYW1lKSkKKyAgICAgICAgICAgICAgICAgc2Vs Zi5iKCcnKQorIAorICAgICAgICAgICAgIHNlbGYuYignICB0cF9wcm94eV9zaWduYWxfY29ubmVj dGlvbl92MF90YWtlX3Jlc3VsdHMgKHNjLCBhcmdzKTsnKQorQEAgLTI4OCwxMiArMjU2LDE0IEBA IGRlZiBkb19zaWduYWwoc2VsZiwgaWZhY2UsIHNpZ25hbCk6CisgICAgICAgICBzZWxmLmIoJyAg ICAgIHdlYWtfb2JqZWN0KTsnKQorICAgICAgICAgc2VsZi5iKCcnKQorIAorKyAgICAgICAgc2Vs Zi5iKCcgIEdfR05VQ19CRUdJTl9JR05PUkVfREVQUkVDQVRJT05TJykKKyAgICAgICAgIGlmIGxl bihhcmdzKSA+IDA6CisgICAgICAgICAgICAgc2VsZi5iKCcgIGdfdmFsdWVfYXJyYXlfZnJlZSAo YXJncyk7JykKKyAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgc2VsZi5iKCcgIGlmIChhcmdz ICE9IE5VTEwpJykKKyAgICAgICAgICAgICBzZWxmLmIoJyAgICBnX3ZhbHVlX2FycmF5X2ZyZWUg KGFyZ3MpOycpCisgICAgICAgICAgICAgc2VsZi5iKCcnKQorKyAgICAgICAgc2VsZi5iKCcgIEdf R05VQ19FTkRfSUdOT1JFX0RFUFJFQ0FUSU9OUycpCisgCisgICAgICAgICBzZWxmLmIoJyAgZ19v YmplY3RfdW5yZWYgKHRwcHJveHkpOycpCisgICAgICAgICBzZWxmLmIoJ30nKQorQEAgLTU1OSwx MSArNTI5LDEzIEBAIGRlZiBkb19tZXRob2Qoc2VsZiwgaWZhY2UsIG1ldGhvZCk6CisgICAgICAg ICAgICAgc2VsZi5iKCcgICAgICByZXR1cm47JykKKyAgICAgICAgICAgICBzZWxmLmIoJyAgICB9 JykKKyAgICAgICAgICAgICBzZWxmLmIoJycpCisrICAgICAgICAgICAgc2VsZi5iKCcgIEdfR05V Q19CRUdJTl9JR05PUkVfREVQUkVDQVRJT05TJykKKyAgICAgICAgICAgICBzZWxmLmIoJyAgYXJn cyA9IGdfdmFsdWVfYXJyYXlfbmV3ICglZCk7JyAlIGxlbihvdXRfYXJncykpCisgICAgICAgICAg ICAgc2VsZi5iKCcgIGdfdmFsdWVfaW5pdCAoJmJsYW5rLCBHX1RZUEVfSU5UKTsnKQorICAgICAg ICAgICAgIHNlbGYuYignJykKKyAgICAgICAgICAgICBzZWxmLmIoJyAgZm9yIChpID0gMDsgaSA8 ICVkOyBpKyspJyAlIGxlbihvdXRfYXJncykpCisgICAgICAgICAgICAgc2VsZi5iKCcgICAgZ192 YWx1ZV9hcnJheV9hcHBlbmQgKGFyZ3MsICZibGFuayk7JykKKysgICAgICAgICAgICBzZWxmLmIo JyAgR19HTlVDX0VORF9JR05PUkVfREVQUkVDQVRJT05TJykKKyAKKyAgICAgICAgICAgICBmb3Ig aSwgYXJnIGluIGVudW1lcmF0ZShvdXRfYXJncyk6CisgICAgICAgICAgICAgICAgIG5hbWUsIGlu Zm8sIHRwX3R5cGUsIGVsdCA9IGFyZworQEAgLTU3MywzNiArNTQ1LDggQEAgZGVmIGRvX21ldGhv ZChzZWxmLCBpZmFjZSwgbWV0aG9kKToKKyAgICAgICAgICAgICAgICAgc2VsZi5iKCcgIGdfdmFs dWVfdW5zZXQgKGFyZ3MtPnZhbHVlcyArICVkKTsnICUgaSkKKyAgICAgICAgICAgICAgICAgc2Vs Zi5iKCcgIGdfdmFsdWVfaW5pdCAoYXJncy0+dmFsdWVzICsgJWQsICVzKTsnICUgKGksIGd0eXBl KSkKKyAKKy0gICAgICAgICAgICAgICAgaWYgZ3R5cGUgPT0gJ0dfVFlQRV9TVFJJTkcnOgorLSAg ICAgICAgICAgICAgICAgICAgc2VsZi5iKCcgIGdfdmFsdWVfdGFrZV9zdHJpbmcgKGFyZ3MtPnZh bHVlcyArICVkLCAlcyk7JworLSAgICAgICAgICAgICAgICAgICAgICAgICAgICUgKGksIG5hbWUp KQorLSAgICAgICAgICAgICAgICBlbGlmIG1hcnNoYWxsZXIgPT0gJ0JPWEVEJzoKKy0gICAgICAg ICAgICAgICAgICAgIHNlbGYuYignICBnX3ZhbHVlX3Rha2VfYm94ZWQgKGFyZ3MtPnZhbHVlcyAr ICVkLCAlcyk7JworLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAlIChpLCBuYW1lKSkKKy0g ICAgICAgICAgICAgICAgZWxpZiBndHlwZSA9PSAnR19UWVBFX1VDSEFSJzoKKy0gICAgICAgICAg ICAgICAgICAgIHNlbGYuYignICBnX3ZhbHVlX3NldF91Y2hhciAoYXJncy0+dmFsdWVzICsgJWQs ICVzKTsnCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICUgKGksIG5hbWUpKQorLSAgICAg ICAgICAgICAgICBlbGlmIGd0eXBlID09ICdHX1RZUEVfQk9PTEVBTic6CistICAgICAgICAgICAg ICAgICAgICBzZWxmLmIoJyAgZ192YWx1ZV9zZXRfYm9vbGVhbiAoYXJncy0+dmFsdWVzICsgJWQs ICVzKTsnCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICUgKGksIG5hbWUpKQorLSAgICAg ICAgICAgICAgICBlbGlmIGd0eXBlID09ICdHX1RZUEVfSU5UJzoKKy0gICAgICAgICAgICAgICAg ICAgIHNlbGYuYignICBnX3ZhbHVlX3NldF9pbnQgKGFyZ3MtPnZhbHVlcyArICVkLCAlcyk7Jwor LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAlIChpLCBuYW1lKSkKKy0gICAgICAgICAgICAg ICAgZWxpZiBndHlwZSA9PSAnR19UWVBFX1VJTlQnOgorLSAgICAgICAgICAgICAgICAgICAgc2Vs Zi5iKCcgIGdfdmFsdWVfc2V0X3VpbnQgKGFyZ3MtPnZhbHVlcyArICVkLCAlcyk7JworLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAlIChpLCBuYW1lKSkKKy0gICAgICAgICAgICAgICAgZWxp ZiBndHlwZSA9PSAnR19UWVBFX0lOVDY0JzoKKy0gICAgICAgICAgICAgICAgICAgIHNlbGYuYign ICBnX3ZhbHVlX3NldF9pbnQgKGFyZ3MtPnZhbHVlcyArICVkLCAlcyk7JworLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAlIChpLCBuYW1lKSkKKy0gICAgICAgICAgICAgICAgZWxpZiBndHlw ZSA9PSAnR19UWVBFX1VJTlQ2NCc6CistICAgICAgICAgICAgICAgICAgICBzZWxmLmIoJyAgZ192 YWx1ZV9zZXRfdWludCAoYXJncy0+dmFsdWVzICsgJWQsICVzKTsnCistICAgICAgICAgICAgICAg ICAgICAgICAgICAgICUgKGksIG5hbWUpKQorLSAgICAgICAgICAgICAgICBlbGlmIGd0eXBlID09 ICdHX1RZUEVfRE9VQkxFJzoKKy0gICAgICAgICAgICAgICAgICAgIHNlbGYuYignICBnX3ZhbHVl X3NldF9kb3VibGUgKGFyZ3MtPnZhbHVlcyArICVkLCAlcyk7JworLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAlIChpLCBuYW1lKSkKKy0gICAgICAgICAgICAgICAgZWxzZToKKy0gICAgICAg ICAgICAgICAgICAgIGFzc2VydCBGYWxzZSwgKCJEb24ndCBrbm93IGhvdyB0byBwdXQgJXMgaW4g YSBHVmFsdWUiCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlIGd0eXBlKQor KyAgICAgICAgICAgICAgICBzZWxmLmIoJyAgJyArIGNvcHlfaW50b19ndmFsdWUoJ2FyZ3MtPnZh bHVlcyArICVkJyAlIGksCisrICAgICAgICAgICAgICAgICAgICBndHlwZSwgbWFyc2hhbGxlciwg bmFtZSkpCisgCisgICAgICAgICAgICAgc2VsZi5iKCcgIHRwX3Byb3h5X3BlbmRpbmdfY2FsbF92 MF90YWtlX3Jlc3VsdHMgKHVzZXJfZGF0YSwgJworICAgICAgICAgICAgICAgICAgICAnTlVMTCwg YXJncyk7JykKK0BAIC02NzEsMTEgKzYxNSwxMyBAQCBkZWYgZG9fbWV0aG9kKHNlbGYsIGlmYWNl LCBtZXRob2QpOgorICAgICAgICAgc2VsZi5iKCcgICAgICBlcnJvciwgdXNlcl9kYXRhLCB3ZWFr X29iamVjdCk7JykKKyAgICAgICAgIHNlbGYuYignJykKKyAKKysgICAgICAgIHNlbGYuYignICBH X0dOVUNfQkVHSU5fSUdOT1JFX0RFUFJFQ0FUSU9OUycpCisgICAgICAgICBpZiBsZW4ob3V0X2Fy Z3MpID4gMDoKKyAgICAgICAgICAgICBzZWxmLmIoJyAgZ192YWx1ZV9hcnJheV9mcmVlIChhcmdz KTsnKQorICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICBzZWxmLmIoJyAgaWYgKGFyZ3MgIT0g TlVMTCknKQorICAgICAgICAgICAgIHNlbGYuYignICAgIGdfdmFsdWVfYXJyYXlfZnJlZSAoYXJn cyk7JykKKysgICAgICAgIHNlbGYuYignICBHX0dOVUNfRU5EX0lHTk9SRV9ERVBSRUNBVElPTlMn KQorIAorICAgICAgICAgc2VsZi5iKCd9JykKKyAgICAgICAgIHNlbGYuYignJykKK0BAIC05NDgs MTEgKzg5NCwxMyBAQCBkZWYgZG9fbWV0aG9kX3JlZW50cmFudChzZWxmLCBtZXRob2QsIGlmYWNl X2xjLCBtZW1iZXIsIG1lbWJlcl9sYywgaW5fYXJncywKKyAKKyAgICAgICAgICAgICBzZWxmLmIo JycpCisgCisrICAgICAgICBzZWxmLmIoJyAgR19HTlVDX0JFR0lOX0lHTk9SRV9ERVBSRUNBVElP TlMnKQorICAgICAgICAgaWYgbGVuKG91dF9hcmdzKSA+IDA6CisgICAgICAgICAgICAgc2VsZi5i KCcgIGdfdmFsdWVfYXJyYXlfZnJlZSAoYXJncyk7JykKKyAgICAgICAgIGVsc2U6CisgICAgICAg ICAgICAgc2VsZi5iKCcgIGlmIChhcmdzICE9IE5VTEwpJykKKyAgICAgICAgICAgICBzZWxmLmIo JyAgICBnX3ZhbHVlX2FycmF5X2ZyZWUgKGFyZ3MpOycpCisrICAgICAgICBzZWxmLmIoJyAgR19H TlVDX0VORF9JR05PUkVfREVQUkVDQVRJT05TJykKKyAKKyAgICAgICAgIHNlbGYuYignfScpCisg ICAgICAgICBzZWxmLmIoJycpCitAQCAtMTE5MSw3ICsxMTM5LDcgQEAgZGVmIF9fY2FsbF9fKHNl bGYpOgorICAgICAgICAgc2VsZi5iKCcnKQorIAorICAgICAgICAgbm9kZXMgPSBzZWxmLmRvbS5n ZXRFbGVtZW50c0J5VGFnTmFtZSgnbm9kZScpCistICAgICAgICBub2Rlcy5zb3J0KGNtcF9ieV9u YW1lKQorKyAgICAgICAgbm9kZXMuc29ydChrZXk9a2V5X2J5X25hbWUpCisgCisgICAgICAgICBm b3Igbm9kZSBpbiBub2RlczoKKyAgICAgICAgICAgICBzZWxmLmRvX2ludGVyZmFjZShub2RlKQor QEAgLTEyNDQsOSArMTE5Miw5IEBAIGRlZiBfX2NhbGxfXyhzZWxmKToKKyAgICAgICAgICAgICBz ZWxmLmgoJyNlbmRpZiAvKiBkZWZpbmVkICglcykgKi8nICUgc2VsZi5ndWFyZCkKKyAgICAgICAg ICAgICBzZWxmLmgoJycpCisgCistICAgICAgICBmaWxlX3NldF9jb250ZW50cyhzZWxmLmJhc2Vu YW1lICsgJy5oJywgJ1xuJy5qb2luKHNlbGYuX19oZWFkZXIpKQorLSAgICAgICAgZmlsZV9zZXRf Y29udGVudHMoc2VsZi5iYXNlbmFtZSArICctYm9keS5oJywgJ1xuJy5qb2luKHNlbGYuX19ib2R5 KSkKKy0gICAgICAgIGZpbGVfc2V0X2NvbnRlbnRzKHNlbGYuYmFzZW5hbWUgKyAnLWd0ay1kb2Mu aCcsICdcbicuam9pbihzZWxmLl9fZG9jcykpCisrICAgICAgICBmaWxlX3NldF9jb250ZW50cyhz ZWxmLmJhc2VuYW1lICsgJy5oJywgdSgnXG4nKS5qb2luKHNlbGYuX19oZWFkZXIpLmVuY29kZSgn dXRmLTgnKSkKKysgICAgICAgIGZpbGVfc2V0X2NvbnRlbnRzKHNlbGYuYmFzZW5hbWUgKyAnLWJv ZHkuaCcsIHUoJ1xuJykuam9pbihzZWxmLl9fYm9keSkuZW5jb2RlKCd1dGYtOCcpKQorKyAgICAg ICAgZmlsZV9zZXRfY29udGVudHMoc2VsZi5iYXNlbmFtZSArICctZ3RrLWRvYy5oJywgdSgnXG4n KS5qb2luKHNlbGYuX19kb2NzKS5lbmNvZGUoJ3V0Zi04JykpCisgCisgZGVmIHR5cGVzX3RvX2d0 eXBlcyh0eXBlcyk6CisgICAgIHJldHVybiBbdHlwZV90b19ndHlwZSh0KVsxXSBmb3IgdCBpbiB0 eXBlc10KK2RpZmYgLS1naXQgYS90b29scy9nbGliLWNsaWVudC1tYXJzaGFsbGVyLWdlbi5weSBi L3Rvb2xzL2dsaWItY2xpZW50LW1hcnNoYWxsZXItZ2VuLnB5CitpbmRleCBjYjI3ZDYzOGEuLmNk OTgyM2JkZiAxMDA2NDQKKy0tLSBhL3Rvb2xzL2dsaWItY2xpZW50LW1hcnNoYWxsZXItZ2VuLnB5 CisrKysgYi90b29scy9nbGliLWNsaWVudC1tYXJzaGFsbGVyLWdlbi5weQorQEAgLTMxLDIzICsz MSwyMyBAQCBkZWYgX19jYWxsX18oc2VsZik6CisgICAgICAgICBmb3Igc2lnbmFsIGluIHNpZ25h bHM6CisgICAgICAgICAgICAgc2VsZi5kb19zaWduYWwoc2lnbmFsKQorIAorLSAgICAgICAgcHJp bnQgJ3ZvaWQnCistICAgICAgICBwcmludCAnJXNfcmVnaXN0ZXJfZGJ1c19nbGliX21hcnNoYWxs ZXJzICh2b2lkKScgJSBzZWxmLnByZWZpeAorLSAgICAgICAgcHJpbnQgJ3snCisrICAgICAgICBw cmludCgndm9pZCcpCisrICAgICAgICBwcmludCgnJXNfcmVnaXN0ZXJfZGJ1c19nbGliX21hcnNo YWxsZXJzICh2b2lkKScgJSBzZWxmLnByZWZpeCkKKysgICAgICAgIHByaW50KCd7JykKKyAKKy0g ICAgICAgIGFsbCA9IHNlbGYubWFyc2hhbGxlcnMua2V5cygpCisrICAgICAgICBhbGwgPSBsaXN0 KHNlbGYubWFyc2hhbGxlcnMua2V5cygpKQorICAgICAgICAgYWxsLnNvcnQoKQorICAgICAgICAg Zm9yIG1hcnNoYWxsZXIgaW4gYWxsOgorICAgICAgICAgICAgIHJocyA9IHNlbGYubWFyc2hhbGxl cnNbbWFyc2hhbGxlcl0KKyAKKy0gICAgICAgICAgICBwcmludCAnICBkYnVzX2dfb2JqZWN0X3Jl Z2lzdGVyX21hcnNoYWxsZXIgKCcKKy0gICAgICAgICAgICBwcmludCAnICAgICAgZ19jY2xvc3Vy ZV9tYXJzaGFsX2dlbmVyaWMsJworLSAgICAgICAgICAgIHByaW50ICcgICAgICBHX1RZUEVfTk9O RSwgICAgICAgLyogcmV0dXJuICovJworKyAgICAgICAgICAgIHByaW50KCcgIGRidXNfZ19vYmpl Y3RfcmVnaXN0ZXJfbWFyc2hhbGxlciAoJykKKysgICAgICAgICAgICBwcmludCgnICAgICAgZ19j Y2xvc3VyZV9tYXJzaGFsX2dlbmVyaWMsJykKKysgICAgICAgICAgICBwcmludCgnICAgICAgR19U WVBFX05PTkUsICAgICAgIC8qIHJldHVybiAqLycpCisgICAgICAgICAgICAgZm9yIHR5cGUgaW4g cmhzOgorLSAgICAgICAgICAgICAgICBwcmludCAnICAgICAgR19UWVBFXyVzLCcgJSB0eXBlLnJl cGxhY2UoJ1ZPSUQnLCAnTk9ORScpCistICAgICAgICAgICAgcHJpbnQgJyAgICAgIEdfVFlQRV9J TlZBTElEKTsnCisrICAgICAgICAgICAgICAgIHByaW50KCcgICAgICBHX1RZUEVfJXMsJyAlIHR5 cGUucmVwbGFjZSgnVk9JRCcsICdOT05FJykpCisrICAgICAgICAgICAgcHJpbnQoJyAgICAgIEdf VFlQRV9JTlZBTElEKTsnKQorIAorLSAgICAgICAgcHJpbnQgJ30nCisrICAgICAgICBwcmludCgn fScpCisgCisgCisgZGVmIHR5cGVzX3RvX2d0eXBlcyh0eXBlcyk6CitkaWZmIC0tZ2l0IGEvdG9v bHMvZ2xpYi1lcnJvcnMtY2hlY2stZ2VuLnB5IGIvdG9vbHMvZ2xpYi1lcnJvcnMtY2hlY2stZ2Vu LnB5CitpbmRleCA1NTNmYzljYWYuLmZhZDI2MWVjZSAxMDA2NDQKKy0tLSBhL3Rvb2xzL2dsaWIt ZXJyb3JzLWNoZWNrLWdlbi5weQorKysrIGIvdG9vbHMvZ2xpYi1lcnJvcnMtY2hlY2stZ2VuLnB5 CitAQCAtMTIsMTMgKzEyLDEzIEBAIGRlZiBfX2luaXRfXyhzZWxmLCBkb20pOgorIAorICAgICBk ZWYgX19jYWxsX18oc2VsZik6CisgCistICAgICAgICBwcmludCAneycKKy0gICAgICAgIHByaW50 ICcgIEdFbnVtQ2xhc3MgKmtsYXNzOycKKy0gICAgICAgIHByaW50ICcgIEdFbnVtVmFsdWUgKnZh bHVlX2J5X25hbWU7JworLSAgICAgICAgcHJpbnQgJyAgR0VudW1WYWx1ZSAqdmFsdWVfYnlfbmlj azsnCistICAgICAgICBwcmludCAnJworLSAgICAgICAgcHJpbnQgJyAgZ190eXBlX2luaXQgKCk7 JworLSAgICAgICAgcHJpbnQgJyAga2xhc3MgPSBnX3R5cGVfY2xhc3NfcmVmIChUUF9UWVBFX0VS Uk9SKTsnCisrICAgICAgICBwcmludCgneycpCisrICAgICAgICBwcmludCgnICBHRW51bUNsYXNz ICprbGFzczsnKQorKyAgICAgICAgcHJpbnQoJyAgR0VudW1WYWx1ZSAqdmFsdWVfYnlfbmFtZTsn KQorKyAgICAgICAgcHJpbnQoJyAgR0VudW1WYWx1ZSAqdmFsdWVfYnlfbmljazsnKQorKyAgICAg ICAgcHJpbnQoJycpCisrICAgICAgICBwcmludCgnICBnX3R5cGVfaW5pdCAoKTsnKQorKyAgICAg ICAgcHJpbnQoJyAga2xhc3MgPSBnX3R5cGVfY2xhc3NfcmVmIChUUF9UWVBFX0VSUk9SKTsnKQor IAorICAgICAgICAgZm9yIGVycm9yIGluIHNlbGYuZXJyb3JzLmdldEVsZW1lbnRzQnlUYWdOYW1l TlMoTlNfVFAsICdlcnJvcicpOgorICAgICAgICAgICAgIG5zID0gZXJyb3IucGFyZW50Tm9kZS5n ZXRBdHRyaWJ1dGUoJ25hbWVzcGFjZScpCitAQCAtMjgsMzAgKzI4LDMwIEBAIGRlZiBfX2NhbGxf XyhzZWxmKToKKyAgICAgICAgICAgICBzID0gKCdUUF9FUlJPUl9TVFJfJyArCisgICAgICAgICAg ICAgICAgICBlcnJvci5nZXRBdHRyaWJ1dGUoJ25hbWUnKS5yZXBsYWNlKCcgJywgJ18nKS5yZXBs YWNlKCcuJywgJ18nKS51cHBlcigpKQorIAorLSAgICAgICAgICAgIHByaW50ICcnCistICAgICAg ICAgICAgcHJpbnQgJyAgLyogJXMuJXMgKi8nICUgKG5zLCBuaWNrKQorLSAgICAgICAgICAgIHBy aW50ICgnICB2YWx1ZV9ieV9uYW1lID0gZ19lbnVtX2dldF92YWx1ZV9ieV9uYW1lIChrbGFzcywg IiVzIik7JworLSAgICAgICAgICAgICAgICAgICAgJSBlbnVtKQorLSAgICAgICAgICAgIHByaW50 ICgnICB2YWx1ZV9ieV9uaWNrID0gZ19lbnVtX2dldF92YWx1ZV9ieV9uaWNrIChrbGFzcywgIiVz Iik7JworLSAgICAgICAgICAgICAgICAgICAgJSBuaWNrKQorLSAgICAgICAgICAgIHByaW50ICgn ICBnX2Fzc2VydCAodmFsdWVfYnlfbmFtZSAhPSBOVUxMKTsnKQorLSAgICAgICAgICAgIHByaW50 ICgnICBnX2Fzc2VydCAodmFsdWVfYnlfbmljayAhPSBOVUxMKTsnKQorLSAgICAgICAgICAgIHBy aW50ICgnICBnX2Fzc2VydF9jbXBpbnQgKHZhbHVlX2J5X25hbWUtPnZhbHVlLCA9PSwgJXMpOycK Ky0gICAgICAgICAgICAgICAgICAgICUgZW51bSkKKy0gICAgICAgICAgICBwcmludCAoJyAgZ19h c3NlcnRfY21waW50ICh2YWx1ZV9ieV9uaWNrLT52YWx1ZSwgPT0sICVzKTsnCistICAgICAgICAg ICAgICAgICAgICAlIGVudW0pCistICAgICAgICAgICAgcHJpbnQgKCcgIGdfYXNzZXJ0X2NtcHN0 ciAodmFsdWVfYnlfbmFtZS0+dmFsdWVfbmFtZSwgPT0sICIlcyIpOycKKy0gICAgICAgICAgICAg ICAgICAgICUgZW51bSkKKy0gICAgICAgICAgICBwcmludCAoJyAgZ19hc3NlcnRfY21wc3RyICh2 YWx1ZV9ieV9uaWNrLT52YWx1ZV9uYW1lLCA9PSwgIiVzIik7JworLSAgICAgICAgICAgICAgICAg ICAgJSBlbnVtKQorLSAgICAgICAgICAgIHByaW50ICgnICBnX2Fzc2VydF9jbXBzdHIgKHZhbHVl X2J5X25hbWUtPnZhbHVlX25pY2ssID09LCAiJXMiKTsnCistICAgICAgICAgICAgICAgICAgICAl IG5pY2spCistICAgICAgICAgICAgcHJpbnQgKCcgIGdfYXNzZXJ0X2NtcHN0ciAodmFsdWVfYnlf bmljay0+dmFsdWVfbmljaywgPT0sICIlcyIpOycKKy0gICAgICAgICAgICAgICAgICAgICUgbmlj aykKKy0gICAgICAgICAgICBwcmludCAoJyAgZ19hc3NlcnRfY21wc3RyICglcywgPT0sIFRQX0VS Uk9SX1BSRUZJWCAiLiVzIik7JworLSAgICAgICAgICAgICAgICAgICAgJSAocywgbmljaykpCist CistICAgICAgICBwcmludCAnfScKKysgICAgICAgICAgICBwcmludCgnJykKKysgICAgICAgICAg ICBwcmludCgnICAvKiAlcy4lcyAqLycgJSAobnMsIG5pY2spKQorKyAgICAgICAgICAgIHByaW50 KCcgIHZhbHVlX2J5X25hbWUgPSBnX2VudW1fZ2V0X3ZhbHVlX2J5X25hbWUgKGtsYXNzLCAiJXMi KTsnCisrICAgICAgICAgICAgICAgICAgICUgZW51bSkKKysgICAgICAgICAgICBwcmludCgnICB2 YWx1ZV9ieV9uaWNrID0gZ19lbnVtX2dldF92YWx1ZV9ieV9uaWNrIChrbGFzcywgIiVzIik7Jwor KyAgICAgICAgICAgICAgICAgICAlIG5pY2spCisrICAgICAgICAgICAgcHJpbnQoJyAgZ19hc3Nl cnQgKHZhbHVlX2J5X25hbWUgIT0gTlVMTCk7JykKKysgICAgICAgICAgICBwcmludCgnICBnX2Fz c2VydCAodmFsdWVfYnlfbmljayAhPSBOVUxMKTsnKQorKyAgICAgICAgICAgIHByaW50KCcgIGdf YXNzZXJ0X2NtcGludCAodmFsdWVfYnlfbmFtZS0+dmFsdWUsID09LCAlcyk7JworKyAgICAgICAg ICAgICAgICAgICAlIGVudW0pCisrICAgICAgICAgICAgcHJpbnQoJyAgZ19hc3NlcnRfY21waW50 ICh2YWx1ZV9ieV9uaWNrLT52YWx1ZSwgPT0sICVzKTsnCisrICAgICAgICAgICAgICAgICAgICUg ZW51bSkKKysgICAgICAgICAgICBwcmludCgnICBnX2Fzc2VydF9jbXBzdHIgKHZhbHVlX2J5X25h bWUtPnZhbHVlX25hbWUsID09LCAiJXMiKTsnCisrICAgICAgICAgICAgICAgICAgICUgZW51bSkK KysgICAgICAgICAgICBwcmludCgnICBnX2Fzc2VydF9jbXBzdHIgKHZhbHVlX2J5X25pY2stPnZh bHVlX25hbWUsID09LCAiJXMiKTsnCisrICAgICAgICAgICAgICAgICAgICUgZW51bSkKKysgICAg ICAgICAgICBwcmludCgnICBnX2Fzc2VydF9jbXBzdHIgKHZhbHVlX2J5X25hbWUtPnZhbHVlX25p Y2ssID09LCAiJXMiKTsnCisrICAgICAgICAgICAgICAgICAgICUgbmljaykKKysgICAgICAgICAg ICBwcmludCgnICBnX2Fzc2VydF9jbXBzdHIgKHZhbHVlX2J5X25pY2stPnZhbHVlX25pY2ssID09 LCAiJXMiKTsnCisrICAgICAgICAgICAgICAgICAgICUgbmljaykKKysgICAgICAgICAgICBwcmlu dCgnICBnX2Fzc2VydF9jbXBzdHIgKCVzLCA9PSwgVFBfRVJST1JfUFJFRklYICIuJXMiKTsnCisr ICAgICAgICAgICAgICAgICAgICUgKHMsIG5pY2spKQorKworKyAgICAgICAgcHJpbnQoJ30nKQor IAorIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CisgICAgIGFyZ3YgPSBzeXMuYXJndlsxOl0K K2RpZmYgLS1naXQgYS90b29scy9nbGliLWVycm9ycy1zdHItZ2VuLnB5IGIvdG9vbHMvZ2xpYi1l cnJvcnMtc3RyLWdlbi5weQoraW5kZXggYjJjZjUyMGJkLi5kZGIxZTE2YjcgMTAwNjQ0CistLS0g YS90b29scy9nbGliLWVycm9ycy1zdHItZ2VuLnB5CisrKysgYi90b29scy9nbGliLWVycm9ycy1z dHItZ2VuLnB5CitAQCAtMyw3ICszLDcgQEAKKyBpbXBvcnQgc3lzCisgaW1wb3J0IHhtbC5kb20u bWluaWRvbQorIAorLWZyb20gbGlidHBjb2RlZ2VuIGltcG9ydCBmaWxlX3NldF9jb250ZW50cwor K2Zyb20gbGlidHBjb2RlZ2VuIGltcG9ydCBmaWxlX3NldF9jb250ZW50cywgdQorIGZyb20gbGli Z2xpYmNvZGVnZW4gaW1wb3J0IE5TX1RQLCBnZXRfZG9jc3RyaW5nLCB4bWxfZXNjYXBlCisgCisg Y2xhc3MgR2VuZXJhdG9yKG9iamVjdCk6CitAQCAtMTcsMTggKzE3LDEyIEBAIGRlZiBfX2luaXRf XyhzZWxmLCBkb20sIGJhc2VuYW1lKToKKyAgICAgICAgIHNlbGYuX19kb2NzID0gW10KKyAKKyAg ICAgZGVmIGgoc2VsZiwgcyk6CistICAgICAgICBpZiBpc2luc3RhbmNlKHMsIHVuaWNvZGUpOgor LSAgICAgICAgICAgIHMgPSBzLmVuY29kZSgndXRmLTgnKQorICAgICAgICAgc2VsZi5fX2hlYWRl ci5hcHBlbmQocykKKyAKKyAgICAgZGVmIGIoc2VsZiwgcyk6CistICAgICAgICBpZiBpc2luc3Rh bmNlKHMsIHVuaWNvZGUpOgorLSAgICAgICAgICAgIHMgPSBzLmVuY29kZSgndXRmLTgnKQorICAg ICAgICAgc2VsZi5fX2JvZHkuYXBwZW5kKHMpCisgCisgICAgIGRlZiBkKHNlbGYsIHMpOgorLSAg ICAgICAgaWYgaXNpbnN0YW5jZShzLCB1bmljb2RlKToKKy0gICAgICAgICAgICBzID0gcy5lbmNv ZGUoJ3V0Zi04JykKKyAgICAgICAgIHNlbGYuX19kb2NzLmFwcGVuZChzKQorIAorICAgICBkZWYg X19jYWxsX18oc2VsZik6CitAQCAtNzIsOSArNjYsOSBAQCBkZWYgX19jYWxsX18oc2VsZik6Cisg ICAgICAgICBzZWxmLmgoJycpCisgICAgICAgICBzZWxmLmIoJycpCisgCistICAgICAgICBmaWxl X3NldF9jb250ZW50cyhzZWxmLmJhc2VuYW1lICsgJy5oJywgJ1xuJy5qb2luKHNlbGYuX19oZWFk ZXIpKQorLSAgICAgICAgZmlsZV9zZXRfY29udGVudHMoc2VsZi5iYXNlbmFtZSArICcuYycsICdc bicuam9pbihzZWxmLl9fYm9keSkpCistICAgICAgICBmaWxlX3NldF9jb250ZW50cyhzZWxmLmJh c2VuYW1lICsgJy1ndGstZG9jLmgnLCAnXG4nLmpvaW4oc2VsZi5fX2RvY3MpKQorKyAgICAgICAg ZmlsZV9zZXRfY29udGVudHMoc2VsZi5iYXNlbmFtZSArICcuaCcsIHUoJ1xuJykuam9pbihzZWxm Ll9faGVhZGVyKS5lbmNvZGUoJ3V0Zi04JykpCisrICAgICAgICBmaWxlX3NldF9jb250ZW50cyhz ZWxmLmJhc2VuYW1lICsgJy5jJywgdSgnXG4nKS5qb2luKHNlbGYuX19ib2R5KS5lbmNvZGUoJ3V0 Zi04JykpCisrICAgICAgICBmaWxlX3NldF9jb250ZW50cyhzZWxmLmJhc2VuYW1lICsgJy1ndGst ZG9jLmgnLCB1KCdcbicpLmpvaW4oc2VsZi5fX2RvY3MpLmVuY29kZSgndXRmLTgnKSkKKyAKKyBp ZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgorICAgICBhcmd2ID0gc3lzLmFyZ3ZbMTpdCitkaWZm IC0tZ2l0IGEvdG9vbHMvZ2xpYi1naW50ZXJmYWNlLWdlbi5weSBiL3Rvb2xzL2dsaWItZ2ludGVy ZmFjZS1nZW4ucHkKK2luZGV4IDZmZWMwZDNjNC4uYzBjZTIwZGRjIDEwMDY0NAorLS0tIGEvdG9v bHMvZ2xpYi1naW50ZXJmYWNlLWdlbi5weQorKysrIGIvdG9vbHMvZ2xpYi1naW50ZXJmYWNlLWdl bi5weQorQEAgLTI2LDggKzI2LDggQEAKKyBpbXBvcnQgb3MucGF0aAorIGltcG9ydCB4bWwuZG9t Lm1pbmlkb20KKyAKKy1mcm9tIGxpYnRwY29kZWdlbiBpbXBvcnQgZmlsZV9zZXRfY29udGVudHMK Ky1mcm9tIGxpYmdsaWJjb2RlZ2VuIGltcG9ydCBTaWduYXR1cmUsIHR5cGVfdG9fZ3R5cGUsIGNt cF9ieV9uYW1lLCBcCisrZnJvbSBsaWJ0cGNvZGVnZW4gaW1wb3J0IGZpbGVfc2V0X2NvbnRlbnRz LCBrZXlfYnlfbmFtZSwgdQorK2Zyb20gbGliZ2xpYmNvZGVnZW4gaW1wb3J0IFNpZ25hdHVyZSwg dHlwZV90b19ndHlwZSwgXAorICAgICAgICAgTlNfVFAsIGRidXNfZ3V0aWxzX3dpbmNhcHNfdG9f dXNjb3JlCisgCisgCitAQCAtODUsMTggKzg1LDEyIEBAIGRlZiBfX2luaXRfXyhzZWxmLCBkb20s IHByZWZpeCwgYmFzZW5hbWUsIHNpZ25hbF9tYXJzaGFsX3ByZWZpeCwKKyAgICAgICAgIHNlbGYu YWxsb3dfaGF2b2MgPSBhbGxvd19oYXZvYworIAorICAgICBkZWYgaChzZWxmLCBzKToKKy0gICAg ICAgIGlmIGlzaW5zdGFuY2UocywgdW5pY29kZSk6CistICAgICAgICAgICAgcyA9IHMuZW5jb2Rl KCd1dGYtOCcpCisgICAgICAgICBzZWxmLl9faGVhZGVyLmFwcGVuZChzKQorIAorICAgICBkZWYg YihzZWxmLCBzKToKKy0gICAgICAgIGlmIGlzaW5zdGFuY2UocywgdW5pY29kZSk6CistICAgICAg ICAgICAgcyA9IHMuZW5jb2RlKCd1dGYtOCcpCisgICAgICAgICBzZWxmLl9fYm9keS5hcHBlbmQo cykKKyAKKyAgICAgZGVmIGQoc2VsZiwgcyk6CistICAgICAgICBpZiBpc2luc3RhbmNlKHMsIHVu aWNvZGUpOgorLSAgICAgICAgICAgIHMgPSBzLmVuY29kZSgndXRmLTgnKQorICAgICAgICAgc2Vs Zi5fX2RvY3MuYXBwZW5kKHMpCisgCisgICAgIGRlZiBkb19ub2RlKHNlbGYsIG5vZGUpOgorQEAg LTczMyw3ICs3MjcsNyBAQCBkZWYgaGF2ZV9wcm9wZXJ0aWVzKHNlbGYsIG5vZGVzKToKKyAKKyAg ICAgZGVmIF9fY2FsbF9fKHNlbGYpOgorICAgICAgICAgbm9kZXMgPSBzZWxmLmRvbS5nZXRFbGVt ZW50c0J5VGFnTmFtZSgnbm9kZScpCistICAgICAgICBub2Rlcy5zb3J0KGNtcF9ieV9uYW1lKQor KyAgICAgICAgbm9kZXMuc29ydChrZXk9a2V5X2J5X25hbWUpCisgCisgICAgICAgICBzZWxmLmgo JyNpbmNsdWRlIDxnbGliLW9iamVjdC5oPicpCisgICAgICAgICBzZWxmLmgoJyNpbmNsdWRlIDxk YnVzL2RidXMtZ2xpYi5oPicpCitAQCAtNzYxLDEyICs3NTUsMTIgQEAgZGVmIF9fY2FsbF9fKHNl bGYpOgorIAorICAgICAgICAgc2VsZi5oKCcnKQorICAgICAgICAgc2VsZi5iKCcnKQorLSAgICAg ICAgZmlsZV9zZXRfY29udGVudHMoc2VsZi5iYXNlbmFtZSArICcuaCcsICdcbicuam9pbihzZWxm Ll9faGVhZGVyKSkKKy0gICAgICAgIGZpbGVfc2V0X2NvbnRlbnRzKHNlbGYuYmFzZW5hbWUgKyAn LmMnLCAnXG4nLmpvaW4oc2VsZi5fX2JvZHkpKQorLSAgICAgICAgZmlsZV9zZXRfY29udGVudHMo c2VsZi5iYXNlbmFtZSArICctZ3RrLWRvYy5oJywgJ1xuJy5qb2luKHNlbGYuX19kb2NzKSkKKysg ICAgICAgIGZpbGVfc2V0X2NvbnRlbnRzKHNlbGYuYmFzZW5hbWUgKyAnLmgnLCB1KCdcbicpLmpv aW4oc2VsZi5fX2hlYWRlcikuZW5jb2RlKCd1dGYtOCcpKQorKyAgICAgICAgZmlsZV9zZXRfY29u dGVudHMoc2VsZi5iYXNlbmFtZSArICcuYycsIHUoJ1xuJykuam9pbihzZWxmLl9fYm9keSkuZW5j b2RlKCd1dGYtOCcpKQorKyAgICAgICAgZmlsZV9zZXRfY29udGVudHMoc2VsZi5iYXNlbmFtZSAr ICctZ3RrLWRvYy5oJywgdSgnXG4nKS5qb2luKHNlbGYuX19kb2NzKS5lbmNvZGUoJ3V0Zi04Jykp CisgCisgZGVmIGNtZGxpbmVfZXJyb3IoKToKKy0gICAgcHJpbnQgIiIiXAorKyAgICBwcmludCgi IiJcCisgdXNhZ2U6CisgICAgIGdlbi1naW50ZXJmYWNlIFtPUFRJT05TXSB4bWxmaWxlIFByZWZp eF8KKyBvcHRpb25zOgorQEAgLTc4Niw3ICs3ODAsNyBAQCBkZWYgY21kbGluZV9lcnJvcigpOgor ICAgICAgICAgICAgIHZvaWQgc3ltYm9sIChEQnVzR01ldGhvZEludm9jYXRpb24gKmNvbnRleHQp CisgICAgICAgICBhbmQgcmV0dXJuIHNvbWUgc29ydCBvZiAibm90IGltcGxlbWVudGVkIiBlcnJv ciB2aWEKKyAgICAgICAgICAgICBkYnVzX2dfbWV0aG9kX3JldHVybl9lcnJvciAoY29udGV4dCwg Li4uKQorLSIiIgorKyIiIikKKyAgICAgc3lzLmV4aXQoMSkKKyAKKyAKK2RpZmYgLS1naXQgYS90 b29scy9nbGliLWd0eXBlcy1nZW5lcmF0b3IucHkgYi90b29scy9nbGliLWd0eXBlcy1nZW5lcmF0 b3IucHkKK2luZGV4IDIxZGZjNmFhNy4uMTQ3N2JkMzdiIDEwMDY0NAorLS0tIGEvdG9vbHMvZ2xp Yi1ndHlwZXMtZ2VuZXJhdG9yLnB5CisrKysgYi90b29scy9nbGliLWd0eXBlcy1nZW5lcmF0b3Iu cHkKK0BAIC0yMyw3ICsyMyw3IEBACisgaW1wb3J0IHN5cworIGltcG9ydCB4bWwuZG9tLm1pbmlk b20KKyAKKy1mcm9tIGxpYnRwY29kZWdlbiBpbXBvcnQgZmlsZV9zZXRfY29udGVudHMKKytmcm9t IGxpYnRwY29kZWdlbiBpbXBvcnQgZmlsZV9zZXRfY29udGVudHMsIHUKKyBmcm9tIGxpYmdsaWJj b2RlZ2VuIGltcG9ydCBlc2NhcGVfYXNfaWRlbnRpZmllciwgXAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGdldF9kb2NzdHJpbmcsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBO U19UUCwgXAorQEAgLTY4LDEzICs2OCwxMyBAQCBkZWYgX19pbml0X18oc2VsZiwgZG9tLCBvdXRw dXQsIG1peGVkX2Nhc2VfcHJlZml4KToKKyAgICAgICAgIHNlbGYubmVlZF9vdGhlcl9hcnJheXMg PSB7fQorIAorICAgICBkZWYgaChzZWxmLCBjb2RlKToKKy0gICAgICAgIHNlbGYuaGVhZGVyLmFw cGVuZChjb2RlLmVuY29kZSgidXRmLTgiKSkKKysgICAgICAgIHNlbGYuaGVhZGVyLmFwcGVuZChj b2RlKQorIAorICAgICBkZWYgYyhzZWxmLCBjb2RlKToKKy0gICAgICAgIHNlbGYuYm9keS5hcHBl bmQoY29kZS5lbmNvZGUoInV0Zi04IikpCisrICAgICAgICBzZWxmLmJvZHkuYXBwZW5kKGNvZGUp CisgCisgICAgIGRlZiBkKHNlbGYsIGNvZGUpOgorLSAgICAgICAgc2VsZi5kb2NzLmFwcGVuZChj b2RlLmVuY29kZSgndXRmLTgnKSkKKysgICAgICAgIHNlbGYuZG9jcy5hcHBlbmQoY29kZSkKKyAK KyAgICAgZGVmIGRvX21hcHBpbmdfaGVhZGVyKHNlbGYsIG1hcHBpbmcpOgorICAgICAgICAgbWVt YmVycyA9IG1hcHBpbmcuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUyhOU19UUCwgJ21lbWJlcicpCitA QCAtMjkyLDkgKzI5Miw5IEBAIGRlZiBfX2NhbGxfXyhzZWxmKToKKyAgICAgICAgICAgICBzZWxm LmMoJyAgcmV0dXJuIHQ7XG4nKQorICAgICAgICAgICAgIHNlbGYuYygnfVxuXG4nKQorIAorLSAg ICAgICAgZmlsZV9zZXRfY29udGVudHMoc2VsZi5vdXRwdXQgKyAnLmgnLCAnJy5qb2luKHNlbGYu aGVhZGVyKSkKKy0gICAgICAgIGZpbGVfc2V0X2NvbnRlbnRzKHNlbGYub3V0cHV0ICsgJy1ib2R5 LmgnLCAnJy5qb2luKHNlbGYuYm9keSkpCistICAgICAgICBmaWxlX3NldF9jb250ZW50cyhzZWxm Lm91dHB1dCArICctZ3RrLWRvYy5oJywgJycuam9pbihzZWxmLmRvY3MpKQorKyAgICAgICAgZmls ZV9zZXRfY29udGVudHMoc2VsZi5vdXRwdXQgKyAnLmgnLCB1KCcnKS5qb2luKHNlbGYuaGVhZGVy KS5lbmNvZGUoJ3V0Zi04JykpCisrICAgICAgICBmaWxlX3NldF9jb250ZW50cyhzZWxmLm91dHB1 dCArICctYm9keS5oJywgdSgnJykuam9pbihzZWxmLmJvZHkpLmVuY29kZSgndXRmLTgnKSkKKysg ICAgICAgIGZpbGVfc2V0X2NvbnRlbnRzKHNlbGYub3V0cHV0ICsgJy1ndGstZG9jLmgnLCB1KCcn KS5qb2luKHNlbGYuZG9jcykuZW5jb2RlKCd1dGYtOCcpKQorIAorIGlmIF9fbmFtZV9fID09ICdf X21haW5fXyc6CisgICAgIGFyZ3YgPSBzeXMuYXJndlsxOl0KK2RpZmYgLS1naXQgYS90b29scy9n bGliLWludGVyZmFjZXMtZ2VuLnB5IGIvdG9vbHMvZ2xpYi1pbnRlcmZhY2VzLWdlbi5weQoraW5k ZXggNDEwNzYyY2RlLi5iNjdkN2I0ZjAgMTAwNjQ0CistLS0gYS90b29scy9nbGliLWludGVyZmFj ZXMtZ2VuLnB5CisrKysgYi90b29scy9nbGliLWludGVyZmFjZXMtZ2VuLnB5CitAQCAtMyw3ICsz LDcgQEAKKyBmcm9tIHN5cyBpbXBvcnQgYXJndiwgc3Rkb3V0LCBzdGRlcnIKKyBpbXBvcnQgeG1s LmRvbS5taW5pZG9tCisgCistZnJvbSBsaWJ0cGNvZGVnZW4gaW1wb3J0IGZpbGVfc2V0X2NvbnRl bnRzCisrZnJvbSBsaWJ0cGNvZGVnZW4gaW1wb3J0IGZpbGVfc2V0X2NvbnRlbnRzLCB1CisgZnJv bSBsaWJnbGliY29kZWdlbiBpbXBvcnQgTlNfVFAsIGdldF9kb2NzdHJpbmcsIFwKKyAgICAgICAg IGdldF9kZXNjZW5kYW50X3RleHQsIGdldF9ieV9wYXRoCisgCitAQCAtMjQsMjIgKzI0LDIyIEBA IGRlZiBfX2luaXRfXyhzZWxmLCBwcmVmaXgsIGltcGxmaWxlLCBkZWNsZmlsZSwgZG9tKToKKyAg ICAgICAgIHNlbGYuc3BlYyA9IGdldF9ieV9wYXRoKGRvbSwgInNwZWMiKVswXQorIAorICAgICBk ZWYgaChzZWxmLCBjb2RlKToKKy0gICAgICAgIHNlbGYuZGVjbHMuYXBwZW5kKGNvZGUuZW5jb2Rl KCd1dGYtOCcpKQorKyAgICAgICAgc2VsZi5kZWNscy5hcHBlbmQoY29kZSkKKyAKKyAgICAgZGVm IGMoc2VsZiwgY29kZSk6CistICAgICAgICBzZWxmLmltcGxzLmFwcGVuZChjb2RlLmVuY29kZSgn dXRmLTgnKSkKKysgICAgICAgIHNlbGYuaW1wbHMuYXBwZW5kKGNvZGUpCisgCisgICAgIGRlZiBk KHNlbGYsIGNvZGUpOgorLSAgICAgICAgc2VsZi5kb2NzLmFwcGVuZChjb2RlLmVuY29kZSgndXRm LTgnKSkKKysgICAgICAgIHNlbGYuZG9jcy5hcHBlbmQoY29kZSkKKyAKKyAgICAgZGVmIF9fY2Fs bF9fKHNlbGYpOgorICAgICAgICAgZm9yIGYgaW4gc2VsZi5oLCBzZWxmLmM6CisgICAgICAgICAg ICAgc2VsZi5kb19oZWFkZXIoZikKKyAgICAgICAgIHNlbGYuZG9fYm9keSgpCisgCistICAgICAg ICBmaWxlX3NldF9jb250ZW50cyhzZWxmLmltcGxmaWxlLCAnJy5qb2luKHNlbGYuaW1wbHMpKQor LSAgICAgICAgZmlsZV9zZXRfY29udGVudHMoc2VsZi5kZWNsZmlsZSwgJycuam9pbihzZWxmLmRl Y2xzKSkKKy0gICAgICAgIGZpbGVfc2V0X2NvbnRlbnRzKHNlbGYuZG9jZmlsZSwgJycuam9pbihz ZWxmLmRvY3MpKQorKyAgICAgICAgZmlsZV9zZXRfY29udGVudHMoc2VsZi5pbXBsZmlsZSwgdSgn Jykuam9pbihzZWxmLmltcGxzKS5lbmNvZGUoJ3V0Zi04JykpCisrICAgICAgICBmaWxlX3NldF9j b250ZW50cyhzZWxmLmRlY2xmaWxlLCB1KCcnKS5qb2luKHNlbGYuZGVjbHMpLmVuY29kZSgndXRm LTgnKSkKKysgICAgICAgIGZpbGVfc2V0X2NvbnRlbnRzKHNlbGYuZG9jZmlsZSwgdSgnJykuam9p bihzZWxmLmRvY3MpLmVuY29kZSgndXRmLTgnKSkKKyAKKyAgICAgIyBIZWFkZXIKKyAgICAgZGVm IGRvX2hlYWRlcihzZWxmLCBmKToKK2RpZmYgLS1naXQgYS90b29scy9nb2JqZWN0LWZvby5weSBi L3Rvb2xzL2dvYmplY3QtZm9vLnB5CitpbmRleCAwMDJhMjkwYmEuLmEyYWJkNzY2NyAxMDA2NDQK Ky0tLSBhL3Rvb2xzL2dvYmplY3QtZm9vLnB5CisrKysgYi90b29scy9nb2JqZWN0LWZvby5weQor QEAgLTg3LDQgKzg3LDQgQEAgZGVmIGdvYmplY3RfaGVhZGVyKGhlYWQsIHRhaWwsIGFzX2ludGVy ZmFjZT1GYWxzZSk6CisgCisgICAgIGhlYWQsIHRhaWwgPSBhcmd2CisgCistICAgIHByaW50ICdc bicuam9pbihnb2JqZWN0X2hlYWRlcihoZWFkLCB0YWlsLCBhc19pbnRlcmZhY2U9YXNfaW50ZXJm YWNlKSkKKysgICAgcHJpbnQoJ1xuJy5qb2luKGdvYmplY3RfaGVhZGVyKGhlYWQsIHRhaWwsIGFz X2ludGVyZmFjZT1hc19pbnRlcmZhY2UpKSkKK2RpZmYgLS1naXQgYS90b29scy9saWJnbGliY29k ZWdlbi5weSBiL3Rvb2xzL2xpYmdsaWJjb2RlZ2VuLnB5CitpbmRleCA2YTlkMjE0ODUuLjBiNzAz YTVhOCAxMDA2NDQKKy0tLSBhL3Rvb2xzL2xpYmdsaWJjb2RlZ2VuLnB5CisrKysgYi90b29scy9s aWJnbGliY29kZWdlbi5weQorQEAgLTE1NCw3ICsxNTQsNyBAQCBkZWYgdHlwZV90b19ndHlwZShz KToKKyAgICAgICAgIHJldHVybiAoIkdIYXNoVGFibGUgKiIsICJEQlVTX1RZUEVfR19TVFJJTkdf U1RSSU5HX0hBU0hUQUJMRSIsICJCT1hFRCIsIEZhbHNlKQorICAgICBlbGlmIHNbOjJdID09ICdh eyc6ICAjc29tZSBhcmJpdHJhcnkgaGFzaCB0YWJsZXMKKyAgICAgICAgIGlmIHNbMl0gbm90IGlu ICgneScsICdiJywgJ24nLCAncScsICdpJywgJ3UnLCAncycsICdvJywgJ2cnKToKKy0gICAgICAg ICAgICByYWlzZSBFeGNlcHRpb24sICJjYW4ndCBpbmRleCBhIGhhc2h0YWJsZSBvZmYgbm9uLWJh c2ljIHR5cGUgIiArIHMKKysgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oImNhbid0IGluZGV4 IGEgaGFzaHRhYmxlIG9mZiBub24tYmFzaWMgdHlwZSAiICsgcykKKyAgICAgICAgIGZpcnN0ID0g dHlwZV90b19ndHlwZShzWzJdKQorICAgICAgICAgc2Vjb25kID0gdHlwZV90b19ndHlwZShzWzM6 LTFdKQorICAgICAgICAgcmV0dXJuICgiR0hhc2hUYWJsZSAqIiwgIihkYnVzX2dfdHlwZV9nZXRf bWFwIChcIkdIYXNoVGFibGVcIiwgIiArIGZpcnN0WzFdICsgIiwgIiArIHNlY29uZFsxXSArICIp KSIsICJCT1hFRCIsIEZhbHNlKQorQEAgLTE2OSw0ICsxNjksMjcgQEAgZGVmIHR5cGVfdG9fZ3R5 cGUocyk6CisgICAgICAgICByZXR1cm4gKCJHVmFsdWVBcnJheSAqIiwgZ3R5cGUsICJCT1hFRCIs IFRydWUpCisgCisgICAgICMgd2UganVzdCBkb24ndCBrbm93IC4uCistICAgIHJhaXNlIEV4Y2Vw dGlvbiwgImRvbid0IGtub3cgdGhlIEdUeXBlIGZvciAiICsgcworKyAgICByYWlzZSBFeGNlcHRp b24oImRvbid0IGtub3cgdGhlIEdUeXBlIGZvciAiICsgcykKKysKKysKKytkZWYgY29weV9pbnRv X2d2YWx1ZShndmFsdWVwLCBndHlwZSwgbWFyc2hhbGxlciwgbmFtZSk6CisrICAgIGlmIGd0eXBl ID09ICdHX1RZUEVfU1RSSU5HJzoKKysgICAgICAgIHJldHVybiAnZ192YWx1ZV9zZXRfc3RyaW5n ICglcywgJXMpOycgJSAoZ3ZhbHVlcCwgbmFtZSkKKysgICAgZWxpZiBtYXJzaGFsbGVyID09ICdC T1hFRCc6CisrICAgICAgICByZXR1cm4gJ2dfdmFsdWVfc2V0X2JveGVkICglcywgJXMpOycgJSAo Z3ZhbHVlcCwgbmFtZSkKKysgICAgZWxpZiBndHlwZSA9PSAnR19UWVBFX1VDSEFSJzoKKysgICAg ICAgIHJldHVybiAnZ192YWx1ZV9zZXRfdWNoYXIgKCVzLCAlcyk7JyAlIChndmFsdWVwLCBuYW1l KQorKyAgICBlbGlmIGd0eXBlID09ICdHX1RZUEVfQk9PTEVBTic6CisrICAgICAgICByZXR1cm4g J2dfdmFsdWVfc2V0X2Jvb2xlYW4gKCVzLCAlcyk7JyAlIChndmFsdWVwLCBuYW1lKQorKyAgICBl bGlmIGd0eXBlID09ICdHX1RZUEVfSU5UJzoKKysgICAgICAgIHJldHVybiAnZ192YWx1ZV9zZXRf aW50ICglcywgJXMpOycgJSAoZ3ZhbHVlcCwgbmFtZSkKKysgICAgZWxpZiBndHlwZSA9PSAnR19U WVBFX1VJTlQnOgorKyAgICAgICAgcmV0dXJuICdnX3ZhbHVlX3NldF91aW50ICglcywgJXMpOycg JSAoZ3ZhbHVlcCwgbmFtZSkKKysgICAgZWxpZiBndHlwZSA9PSAnR19UWVBFX0lOVDY0JzoKKysg ICAgICAgIHJldHVybiAnZ192YWx1ZV9zZXRfaW50ICglcywgJXMpOycgJSAoZ3ZhbHVlcCwgbmFt ZSkKKysgICAgZWxpZiBndHlwZSA9PSAnR19UWVBFX1VJTlQ2NCc6CisrICAgICAgICByZXR1cm4g J2dfdmFsdWVfc2V0X3VpbnQ2NCAoJXMsICVzKTsnICUgKGd2YWx1ZXAsIG5hbWUpCisrICAgIGVs aWYgZ3R5cGUgPT0gJ0dfVFlQRV9ET1VCTEUnOgorKyAgICAgICAgcmV0dXJuICdnX3ZhbHVlX3Nl dF9kb3VibGUgKCVzLCAlcyk7JyAlIChndmFsdWVwLCBuYW1lKQorKyAgICBlbHNlOgorKyAgICAg ICAgcmFpc2UgQXNzZXJ0aW9uRXJyb3IoIkRvbid0IGtub3cgaG93IHRvIHB1dCAlcyBpbiBhIEdW YWx1ZSIgJSBndHlwZSkKK2RpZmYgLS1naXQgYS90b29scy9saWJ0cGNvZGVnZW4ucHkgYi90b29s cy9saWJ0cGNvZGVnZW4ucHkKK2luZGV4IDdlOWViOWE1MC4uOTlkZTY2MzQwIDEwMDY0NAorLS0t IGEvdG9vbHMvbGlidHBjb2RlZ2VuLnB5CisrKysgYi90b29scy9saWJ0cGNvZGVnZW4ucHkKK0BA IC0yMSw2ICsyMSw3IEBACisgIyBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlm dGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQorIAorIGltcG9ydCBvcworK2lt cG9ydCBzeXMKKyBmcm9tIHN0cmluZyBpbXBvcnQgYXNjaWlfbGV0dGVycywgZGlnaXRzCisgCisg CitAQCAtMjgsNiArMjksMjAgQEAKKyAKKyBfQVNDSUlfQUxOVU0gPSBhc2NpaV9sZXR0ZXJzICsg ZGlnaXRzCisgCisraWYgc3lzLnZlcnNpb25faW5mb1swXSA+PSAzOgorKyAgICBkZWYgdShzKToK KysgICAgICAgICIiIlJldHVybiBzLCB3aGljaCBtdXN0IGJlIGEgc3RyIGxpdGVyYWwgd2l0aCBu byBub24tQVNDSUkgY2hhcmFjdGVycy4KKysgICAgICAgIFRoaXMgaXMgbGlrZSBhIG1vcmUgcmVz dHJpY3RlZCBmb3JtIG9mIHRoZSBQeXRob24gMiB1Jycgc3ludGF4LgorKyAgICAgICAgIiIiCisr ICAgICAgICByZXR1cm4gcy5lbmNvZGUoJ2FzY2lpJykuZGVjb2RlKCdhc2NpaScpCisrZWxzZToK KysgICAgZGVmIHUocyk6CisrICAgICAgICAiIiJSZXR1cm4gYSBVbmljb2RlIHZlcnNpb24gb2Yg cywgd2hpY2ggbXVzdCBiZSBhIHN0ciBsaXRlcmFsCisrICAgICAgICAoYSBieXRlc3RyaW5nKSBp biB3aGljaCBlYWNoIGJ5dGUgaXMgYW4gQVNDSUkgY2hhcmFjdGVyLgorKyAgICAgICAgVGhpcyBp cyBsaWtlIGEgbW9yZSByZXN0cmljdGVkIGZvcm0gb2YgdGhlIHUnJyBzeW50YXguCisrICAgICAg ICAiIiIKKysgICAgICAgIHJldHVybiBzLmRlY29kZSgnYXNjaWknKQorKworIGRlZiBmaWxlX3Nl dF9jb250ZW50cyhmaWxlbmFtZSwgY29udGVudHMpOgorICAgICB0cnk6CisgICAgICAgICBvcy5y ZW1vdmUoZmlsZW5hbWUpCitAQCAtMzgsMTMgKzUzLDE1IEBAIGRlZiBmaWxlX3NldF9jb250ZW50 cyhmaWxlbmFtZSwgY29udGVudHMpOgorICAgICBleGNlcHQgT1NFcnJvcjoKKyAgICAgICAgIHBh c3MKKyAKKy0gICAgb3BlbihmaWxlbmFtZSArICcudG1wJywgJ3cnKS53cml0ZShjb250ZW50cykK KysgICAgb3BlbihmaWxlbmFtZSArICcudG1wJywgJ3diJykud3JpdGUoY29udGVudHMpCisgICAg IG9zLnJlbmFtZShmaWxlbmFtZSArICcudG1wJywgZmlsZW5hbWUpCisgCisgZGVmIGNtcF9ieV9u YW1lKG5vZGUxLCBub2RlMik6CisgICAgIHJldHVybiBjbXAobm9kZTEuZ2V0QXR0cmlidXRlTm9k ZSgibmFtZSIpLm5vZGVWYWx1ZSwKKyAgICAgICAgICAgICAgICBub2RlMi5nZXRBdHRyaWJ1dGVO b2RlKCJuYW1lIikubm9kZVZhbHVlKQorIAorK2RlZiBrZXlfYnlfbmFtZShub2RlKToKKysgICAg cmV0dXJuIG5vZGUuZ2V0QXR0cmlidXRlTm9kZSgibmFtZSIpLm5vZGVWYWx1ZQorIAorIGRlZiBl c2NhcGVfYXNfaWRlbnRpZmllcihpZGVudGlmaWVyKToKKyAgICAgIiIiRXNjYXBlIHRoZSBnaXZl biBzdHJpbmcgdG8gYmUgYSB2YWxpZCBELUJ1cyBvYmplY3QgcGF0aCBvciBzZXJ2aWNlCitAQCAt MTY4LDYgKzE4NSw5IEBAIGRlZiBfX2luaXRfXyhzZWxmLCBzdHJpbmcpOgorICAgICAgICAgc2Vs Zi5yZW1haW5pbmcgPSBzdHJpbmcKKyAKKyAgICAgZGVmIG5leHQoc2VsZik6CisrICAgICAgICBy ZXR1cm4gc2VsZi5fX25leHRfXygpCisrCisrICAgIGRlZiBfX25leHRfXyhzZWxmKToKKyAgICAg ICAgIGlmIHNlbGYucmVtYWluaW5nID09ICcnOgorICAgICAgICAgICAgIHJhaXNlIFN0b3BJdGVy YXRpb24KKyAKK2RpZmYgLS1naXQgYS90b29scy9tYWtlLXZlcnNpb24tc2NyaXB0LnB5IGIvdG9v bHMvbWFrZS12ZXJzaW9uLXNjcmlwdC5weQoraW5kZXggMGQzMGFhMzIzLi40Y2VkODQ5ZmUgMTAw NjQ0CistLS0gYS90b29scy9tYWtlLXZlcnNpb24tc2NyaXB0LnB5CisrKysgYi90b29scy9tYWtl LXZlcnNpb24tc2NyaXB0LnB5CitAQCAtNjMsOSArNjMsOSBAQCBkZWYgbWFpbihhYmlmaWxlcywg c3ltYm9scz1Ob25lLCB1bnJlbGVhc2VkX3ZlcnNpb249Tm9uZSwKKyAKKyAgICAgaWYgZHBrZzoK KyAgICAgICAgIGFzc2VydCBkcGtnX2ZpcnN0X2xpbmUgaXMgbm90IE5vbmUKKy0gICAgICAgIHBy aW50IGRwa2dfZmlyc3RfbGluZQorKyAgICAgICAgcHJpbnQoZHBrZ19maXJzdF9saW5lKQorICAg ICAgICAgaWYgZHBrZ19idWlsZF9kZXBlbmRzX3BhY2thZ2UgaXMgbm90IE5vbmU6CistICAgICAg ICAgICAgcHJpbnQgIiogQnVpbGQtRGVwZW5kcy1QYWNrYWdlOiAlcyIgJSBkcGtnX2J1aWxkX2Rl cGVuZHNfcGFja2FnZQorKyAgICAgICAgICAgIHByaW50KCIqIEJ1aWxkLURlcGVuZHMtUGFja2Fn ZTogJXMiICUgZHBrZ19idWlsZF9kZXBlbmRzX3BhY2thZ2UpCisgCisgICAgIGZvciBmaWxlbmFt ZSBpbiBhYmlmaWxlczoKKyAgICAgICAgIGxpbmVzID0gb3BlbihmaWxlbmFtZSwgJ3InKS5yZWFk bGluZXMoKQorQEAgLTEyMCw4ICsxMjAsOCBAQCBkZWYgbWFpbihhYmlmaWxlcywgc3ltYm9scz1O b25lLCB1bnJlbGVhc2VkX3ZlcnNpb249Tm9uZSwKKyAgICAgICAgIGxpbmVzID0gbGluZXNbY3V0 Ol0KKyAKKyAgICAgICAgIGlmIGdudWxkOgorLSAgICAgICAgICAgIHByaW50ICIlcyB7IiAlIHZl cnNpb24KKy0gICAgICAgICAgICBwcmludCAiICAgIGdsb2JhbDoiCisrICAgICAgICAgICAgcHJp bnQoIiVzIHsiICUgdmVyc2lvbikKKysgICAgICAgICAgICBwcmludCgiICAgIGdsb2JhbDoiKQor IAorICAgICAgICAgZm9yIHN5bWJvbCBpbiBsaW5lczoKKyAgICAgICAgICAgICBzeW1ib2wgPSBz eW1ib2wuc3RyaXAoKQorQEAgLTEzMCw3ICsxMzAsNyBAQCBkZWYgbWFpbihhYmlmaWxlcywgc3lt Ym9scz1Ob25lLCB1bnJlbGVhc2VkX3ZlcnNpb249Tm9uZSwKKyAgICAgICAgICAgICAgICAgY29u dGludWUKKyAKKyAgICAgICAgICAgICBpZiBnbnVsZDoKKy0gICAgICAgICAgICAgICAgcHJpbnQg IiAgICAgICAgJXM7IiAlIHN5bWJvbAorKyAgICAgICAgICAgICAgICBwcmludCgiICAgICAgICAl czsiICUgc3ltYm9sKQorICAgICAgICAgICAgIGVsaWYgZHBrZzoKKyAgICAgICAgICAgICAgICAg ZHBrZ19zeW1ib2xzLmFwcGVuZCgnJXNAJXMgJXMnICUgKHN5bWJvbCwgdmVyc2lvbiwgcmVsZWFz ZSkpCisgCitAQCAtMTQyLDIyICsxNDIsMjIgQEAgZGVmIG1haW4oYWJpZmlsZXMsIHN5bWJvbHM9 Tm9uZSwgdW5yZWxlYXNlZF92ZXJzaW9uPU5vbmUsCisgCisgICAgICAgICBpZiBnbnVsZDoKKyAg ICAgICAgICAgICBpZiBleHRlbmRzID09ICctJzoKKy0gICAgICAgICAgICAgICAgcHJpbnQgIiAg ICBsb2NhbDoiCistICAgICAgICAgICAgICAgIHByaW50ICIgICAgICAgICo7IgorLSAgICAgICAg ICAgICAgICBwcmludCAifTsiCisrICAgICAgICAgICAgICAgIHByaW50KCIgICAgbG9jYWw6IikK KysgICAgICAgICAgICAgICAgcHJpbnQoIiAgICAgICAgKjsiKQorKyAgICAgICAgICAgICAgICBw cmludCgifTsiKQorICAgICAgICAgICAgIGVsc2U6CistICAgICAgICAgICAgICAgIHByaW50ICJ9 ICVzOyIgJSBleHRlbmRzCistICAgICAgICAgICAgICAgIHByaW50CisrICAgICAgICAgICAgICAg IHByaW50KCJ9ICVzOyIgJSBleHRlbmRzKQorKyAgICAgICAgICAgICAgICBwcmludCgiIikKKyAK KyAgICAgaWYgZHBrZzoKKyAgICAgICAgIGRwa2dfc3ltYm9scy5zb3J0KCkKKyAgICAgICAgIGRw a2dfdmVyc2lvbnMuc29ydCgpCisgCisgICAgICAgICBmb3IgeCBpbiBkcGtnX3ZlcnNpb25zOgor LSAgICAgICAgICAgIHByaW50ICIgJXMiICUgeAorKyAgICAgICAgICAgIHByaW50KCIgJXMiICUg eCkKKyAKKyAgICAgICAgIGZvciB4IGluIGRwa2dfc3ltYm9sczoKKy0gICAgICAgICAgICBwcmlu dCAiICVzIiAlIHgKKysgICAgICAgICAgICBwcmludCgiICVzIiAlIHgpCisgCisgICAgIGlmIHN5 bWJvbF9zZXQgaXMgbm90IE5vbmU6CisgICAgICAgICBtaXNzaW5nID0gdmVyc2lvbmVkX3N5bWJv bHMgLSBzeW1ib2xfc2V0CitAQCAtMTgyLDEzICsxODIsMTMgQEAgZGVmIG1haW4oYWJpZmlsZXMs IHN5bWJvbHM9Tm9uZSwgdW5yZWxlYXNlZF92ZXJzaW9uPU5vbmUsCisgICAgICAgICAgICAgICAg IHJhaXNlIFN5c3RlbUV4aXQoMSkKKyAKKyAgICAgICAgICAgICBpZiBnbnVsZDoKKy0gICAgICAg ICAgICAgICAgcHJpbnQgIiVzIHsiICUgdW5yZWxlYXNlZF92ZXJzaW9uCistICAgICAgICAgICAg ICAgIHByaW50ICIgICAgZ2xvYmFsOiIKKysgICAgICAgICAgICAgICAgcHJpbnQoIiVzIHsiICUg dW5yZWxlYXNlZF92ZXJzaW9uKQorKyAgICAgICAgICAgICAgICBwcmludCgiICAgIGdsb2JhbDoi KQorIAorICAgICAgICAgICAgICAgICBmb3Igc3ltYm9sIGluIHVucmVsZWFzZWQ6CistICAgICAg ICAgICAgICAgICAgICBwcmludCAiICAgICAgICAlczsiICUgc3ltYm9sCisrICAgICAgICAgICAg ICAgICAgICBwcmludCgiICAgICAgICAlczsiICUgc3ltYm9sKQorIAorLSAgICAgICAgICAgICAg ICBwcmludCAifSAlczsiICUgdmVyc2lvbgorKyAgICAgICAgICAgICAgICBwcmludCgifSAlczsi ICUgdmVyc2lvbikKKyAKKyAKKyBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgorZGlmZiAtLWdp dCBhL3Rvb2xzL3hpbmNsdWRhdG9yLnB5IGIvdG9vbHMveGluY2x1ZGF0b3IucHkKK2luZGV4IDYz ZTEwNmFjZS4uZjllZDQ5Y2U0IDEwMDY0NAorLS0tIGEvdG9vbHMveGluY2x1ZGF0b3IucHkKKysr KyBiL3Rvb2xzL3hpbmNsdWRhdG9yLnB5CitAQCAtMSwxNyArMSwxOSBAQAorICMhL3Vzci9iaW4v cHl0aG9uCisgCisraW1wb3J0IHN5cworIGZyb20gc3lzIGltcG9ydCBhcmd2LCBzdGRvdXQsIHN0 ZGVycgorIGltcG9ydCBjb2RlY3MsIGxvY2FsZQorIGltcG9ydCBvcworIGltcG9ydCB4bWwuZG9t Lm1pbmlkb20KKyAKKy1zdGRvdXQgPSBjb2RlY3MuZ2V0d3JpdGVyKCd1dGYtOCcpKHN0ZG91dCkK KytpZiBzeXMudmVyc2lvbl9pbmZvWzBdIDwgMzoKKysgICAgc3Rkb3V0ID0gY29kZWNzLmdldHdy aXRlcigndXRmLTgnKShzdGRvdXQpCisgCisgTlNfWEkgPSAnaHR0cDovL3d3dy53My5vcmcvMjAw MS9YSW5jbHVkZScKKyAKKyBkZWYgeGluY2x1ZGF0ZShkb20sIGJhc2UsIGRyb3BucyA9IFtdKToK KyAgICAgcmVtb3ZlX2F0dHJzID0gW10KKy0gICAgZm9yIGkgaW4geHJhbmdlKGRvbS5kb2N1bWVu dEVsZW1lbnQuYXR0cmlidXRlcy5sZW5ndGgpOgorKyAgICBmb3IgaSBpbiByYW5nZShkb20uZG9j dW1lbnRFbGVtZW50LmF0dHJpYnV0ZXMubGVuZ3RoKToKKyAgICAgICAgIGF0dHIgPSBkb20uZG9j dW1lbnRFbGVtZW50LmF0dHJpYnV0ZXMuaXRlbShpKQorICAgICAgICAgaWYgYXR0ci5wcmVmaXgg PT0gJ3htbG5zJzoKKyAgICAgICAgICAgICBpZiBhdHRyLmxvY2FsTmFtZSBpbiBkcm9wbnM6CitA QCAtMzQsNiArMzYsMTEgQEAgZGVmIHhpbmNsdWRhdGUoZG9tLCBiYXNlLCBkcm9wbnMgPSBbXSk6 CisgICAgIGFyZ3YgPSBhcmd2WzE6XQorICAgICBkb20gPSB4bWwuZG9tLm1pbmlkb20ucGFyc2Uo YXJndlswXSkKKyAgICAgeGluY2x1ZGF0ZShkb20sIGFyZ3ZbMF0pCistICAgIHhtbCA9IGRvbS50 b3htbCgpCisrCisrICAgIGlmIHN5cy52ZXJzaW9uX2luZm9bMF0gPj0gMzoKKysgICAgICAgIHht bCA9IGRvbS50b3htbChlbmNvZGluZz1Ob25lKQorKyAgICBlbHNlOgorKyAgICAgICAgeG1sID0g ZG9tLnRveG1sKCkKKysKKyAgICAgc3Rkb3V0LndyaXRlKHhtbCkKKyAgICAgc3Rkb3V0LndyaXRl KCdcbicpCistLS0gYS9wbHVnaW5zL3RlbGVwYXRoeS1nYWJibGUteG1wcC1jb25zb2xlCisrKysg Yi9wbHVnaW5zL3RlbGVwYXRoeS1nYWJibGUteG1wcC1jb25zb2xlCitAQCAtMzEzLDEyICszMTMs MTIgQEAKKyAgICAgICAgICAgICBDT05OX0ZVVFVSRV9JRkFDRSwgTm9uZSkKKyAgICAgICAgIHRy eToKKyAgICAgICAgICAgICBzaWRlY2FyX3BhdGgsIF8gPSBjb25uX2Z1dHVyZV9wcm94eS5FbnN1 cmVTaWRlY2FyKCcocyknLCBDT05TT0xFX0lGQUNFKQorLSAgICAgICAgZXhjZXB0IEV4Y2VwdGlv biwgZToKKy0gICAgICAgICAgICBwcmludCAiIiIKKysgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24g YXMgZToKKysgICAgICAgICAgICBwcmludCgiIiIKKyBDb3VsZG4ndCBjb25uZWN0IHRvIHRoZSBY TVBQIGNvbnNvbGUgaW50ZXJmYWNlIG9uICclKGNvbm5lY3Rpb25fYnVzX25hbWUpcyc6CisgICAl KGUpcworIENoZWNrIHRoYXQgaXQncyBhIHJ1bm5pbmcgSmFiYmVyIGNvbm5lY3Rpb24sIGFuZCB0 aGF0IHlvdSBoYXZlIHRoZSBjb25zb2xlCistcGx1Z2luIGluc3RhbGxlZC4iIiIgJSBsb2NhbHMo KQorK3BsdWdpbiBpbnN0YWxsZWQuIiIiICUgbG9jYWxzKCkpCisgCisgICAgICAgICAgICAgcmFp c2UgU3lzdGVtRXhpdCgyKQorIAorQEAgLTM1Nyw3ICszNTcsNyBAQAorIEFDQ09VTlRfSUZBQ0Ug PSAnb3JnLmZyZWVkZXNrdG9wLlRlbGVwYXRoeS5BY2NvdW50JworIAorIGRlZiB1c2FnZSgpOgor LSAgICBwcmludCAiIiIKKysgICAgcHJpbnQoIiIiCisgVXNhZ2U6CisgCisgICAlKGFyZzApcyBn YWJibGUvamFiYmVyL2JsYWhibGFoCitAQCAtMzY3LDcgKzM2Nyw3IEBACisgTGlzdCBjb25uZWN0 aW9uIGJ1cyBuYW1lcyB1c2luZyBgcWRidXMgfCBncmVwIGdhYmJsZWAuCisgIiIiICUgeyAnYXJn MCc6IHN5cy5hcmd2WzBdLAorICAgICAgICAgJ3ByZWZpeCc6IEdBQkJMRV9QUkVGSVgsCistICAg ICAgfQorKyAgICAgIH0pCisgICAgIHJhaXNlIFN5c3RlbUV4aXQoMSkKKyAKKyBpZiBfX25hbWVf XyA9PSAnX19tYWluX18nOgorQEAgLTM4NSw3ICszODUsNyBAQAorICAgICAgICAgICAgIEFDQ09V TlRfSUZBQ0UsIE5vbmUpCisgICAgICAgICBwYXRoID0gYWNjb3VudF9wcm94eS5nZXRfY2FjaGVk X3Byb3BlcnR5KCdDb25uZWN0aW9uJykuZ2V0X3N0cmluZygpCisgICAgICAgICBpZiBwYXRoID09 ICcvJzoKKy0gICAgICAgICAgICBwcmludCAiJXMgaXMgbm90IG9ubGluZSIgJSB0aGluZworKyAg ICAgICAgICAgIHByaW50KCIlcyBpcyBub3Qgb25saW5lIiAlIHRoaW5nKQorICAgICAgICAgICAg IHJhaXNlIFN5c3RlbUV4aXQoMSkKKyAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgdGhpbmcg PSBuYW1laWZ5KHBhdGgpCmRpZmYgLS1naXQgYS9zcmNwa2dzL3RlbGVwYXRoeS1nYWJibGUvdGVt cGxhdGUgYi9zcmNwa2dzL3RlbGVwYXRoeS1nYWJibGUvdGVtcGxhdGUKaW5kZXggMmJkZTY0OGYy NjVjNC4uYjBiMWFhZWQ2ZTFiOCAxMDA2NDQKLS0tIGEvc3JjcGtncy90ZWxlcGF0aHktZ2FiYmxl L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvdGVsZXBhdGh5LWdhYmJsZS90ZW1wbGF0ZQpAQCAtMSwx MSArMSwxMSBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAndGVsZXBhdGh5LWdhYmJsZScKIHBrZ25h bWU9dGVsZXBhdGh5LWdhYmJsZQogdmVyc2lvbj0wLjE4LjQKLXJldmlzaW9uPTMKK3JldmlzaW9u PTQKIGJ1aWxkX3N0eWxlPWdudS1jb25maWd1cmUKIGNvbmZpZ3VyZV9hcmdzPSItLXdpdGgtY2Et Y2VydGlmaWNhdGVzPS9ldGMvc3NsL2NlcnRzL2NhLWNlcnRpZmljYXRlcy5jcnQKICAtLWVuYWJs ZS1oYW5kbGUtbGVhay1kZWJ1ZyAtLWRpc2FibGUtZGVidWcgLS1kaXNhYmxlLXN0YXRpYyIKLWhv c3RtYWtlZGVwZW5kcz0icHl0aG9uIHBrZy1jb25maWcgbGlieHNsdCIKK2hvc3RtYWtlZGVwZW5k cz0icHl0aG9uMyBwa2ctY29uZmlnIGxpYnhzbHQiCiBtYWtlZGVwZW5kcz0iZ2xpYi1kZXZlbCBk YnVzLWdsaWItZGV2ZWwgbGlieG1sMi1kZXZlbAogIHNxbGl0ZS1kZXZlbCBnbnV0bHMtZGV2ZWwg dGVsZXBhdGh5LWdsaWItZGV2ZWwgbGlic291cC1kZXZlbAogIGxpYm5pY2UtZGV2ZWwgY2EtY2Vy dGlmaWNhdGVzIgpAQCAtMTQsOCArMTQsOCBAQCBzaG9ydF9kZXNjPSJKYWJiZXIvWE1QUCBjb25u ZWN0aW9uIG1hbmFnZXIgZm9yIFRlbGVwYXRoeSIKIG1haW50YWluZXI9Ik9ycGhhbmVkIDxvcnBo YW5Adm9pZGxpbnV4Lm9yZz4iCiBsaWNlbnNlPSJMR1BMLTIuMS1vci1sYXRlciIKIGhvbWVwYWdl PSJodHRwczovL3RlbGVwYXRoeS5mcmVlZGVza3RvcC5vcmciCi1kaXN0ZmlsZXM9IiRob21lcGFn ZS9yZWxlYXNlcy8kcGtnbmFtZS8kcGtnbmFtZS0kdmVyc2lvbi50YXIuZ3oiCitkaXN0ZmlsZXM9 Imh0dHBzOi8vdGVsZXBhdGh5LmZyZWVkZXNrdG9wLm9yZy9yZWxlYXNlcy90ZWxlcGF0aHktZ2Fi YmxlL3RlbGVwYXRoeS1nYWJibGUtJHZlcnNpb24udGFyLmd6IgogY2hlY2tzdW09MTE1YzkxNTcy YzcyZDRhNDBmMGIyNWI2MDYxNjdiNGYyZjA5NDQxZGM3YmYxMDM2Y2NiYjE0NTBmMWE0OTY5Ywot cHl0aG9uX3ZlcnNpb249MgorcHl0aG9uX3ZlcnNpb249Mwogbm9jcm9zcz15ZXMKIGxpYjMyZGlz YWJsZWQ9eWVzCg== --===============6917144555135030550==--