From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Takao Fujiwara To: git-commits@fedoraproject.org Subject: [rpms/ibus] autotool: Replaced icon_symbol property with symbol. Date: Sun, 31 May 2026 02:05:13 GMT Message-ID: <178019311314.1.8580232726992084566.rpms-ibus-47affbc6294d@fedoraproject.org> List-ID: X-Git-Repo: rpms/ibus X-Git-Branch: autotool X-Git-Rev: 47affbc6294dfbbd3bbc6e4174383e4fd6281801 ICAgICAgICAgICBBIG5ldyBjb21taXQgaGFzIGJlZW4gcHVzaGVkLgoKICAgICAgICAgICBSZXBv ICAgOiBycG1zL2lidXMKICAgICAgICAgICBCcmFuY2ggOiBhdXRvdG9vbAogICAgICAgICAgIENv bW1pdCA6IDQ3YWZmYmM2Mjk0ZGZiYmQzYmJjNmU0MTc0MzgzZTRmZDYyODE4MDEKICAgICAgICAg ICBBdXRob3IgOiBUYWthbyBGdWppd2FyYSA8dGZ1aml3YXJAcmVkaGF0LmNvbT4KICAgICAgICAg ICBEYXRlICAgOiAyMDExLTA2LTI5VDE4OjMxOjEwKzA5OjAwCiAgICAgICAgICAgU3RhdHMgIDog KzQyMy8tMzY5IGluIDcgZmlsZShzKQogICAgICAgICAgIFVSTCAgICA6IGh0dHBzOi8vc3JjLmZl ZG9yYXByb2plY3Qub3JnL3JwbXMvaWJ1cy9jLzQ3YWZmYmM2Mjk0ZGZiYmQzYmJjNmU0MTc0Mzgz ZTRmZDYyODE4MDE/YnJhbmNoPWF1dG90b29sCgogICAgICAgICAgIExvZzoKICAgICAgICAgICBS ZXBsYWNlZCBpY29uX3N5bWJvbCBwcm9wZXJ0eSB3aXRoIHN5bWJvbC4KCi0gVXNlIHNlcGFyYXRl ZCBrZXlib2FyZCBlbmdpbmVzIGZvciB4a2IgZ3JvdXAgbGF5b3V0cy4KLSBIaWRlIHhrYiBkZWZh dWx0IGxheW91dCBmcm9tIGlidXMtc2V0dXAuCgotLS0KZGlmZiAtLWdpdCBhLy5naXRpZ25vcmUg Yi8uZ2l0aWdub3JlCmluZGV4IDE4ODczYzkuLjIzNTY5MjQgMTAwNjQ0Ci0tLSBhLy5naXRpZ25v cmUKKysrIGIvLmdpdGlnbm9yZQpAQCAtMTEsNiArMTEsNiBAQCBpYnVzLTEuMy42LnRhci5negog L2lidXMtMS4zLjk5LjIwMTEwMjI4LnRhci5negogL2lidXMtMS4zLjk5LjIwMTEwNDA4LnRhci5n egogL2lidXMtMS4zLjk5LjIwMTEwNDE5LnRhci5negotL2dub21lLXNoZWxsLWlidXMtcGx1Z2lu cy0yMDExMDYyMi50YXIuYnoyCisvZ25vbWUtc2hlbGwtaWJ1cy1wbHVnaW5zLTIwMTEwNjI5LnRh ci5iejIKIC9pYnVzX21hc3Rlcl9kYS5wbwogL2lidXMtaW5kaWNhdG9yLnRhci5iejIKCmRpZmYg LS1naXQgYS9pYnVzLTU0MTQ5Mi14a2IucGF0Y2ggYi9pYnVzLTU0MTQ5Mi14a2IucGF0Y2gKaW5k ZXggMjFmMDY5NC4uM2ZjNDhhNiAxMDA2NDQKLS0tIGEvaWJ1cy01NDE0OTIteGtiLnBhdGNoCisr KyBiL2lidXMtNTQxNDkyLXhrYi5wYXRjaApAQCAtMSw2ICsxLDYgQEAKLUZyb20gN2ZhYjkwYTk5 NjJkM2I0ZjhlZmY0MGNmMDg5Mzk4NzM1NzVkMTUzZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK K0Zyb20gMTQ5ODZjYjM4ZjQzMWQxMzIzMzJiMmU4ZjlkYTFjYTJiOGE1ZDEwZSBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKIEZyb206IGZ1aml3YXJhdCA8dGFrYW8uZnVqaXdhcmExQGdtYWlsLmNv bT4KLURhdGU6IFR1ZSwgMjEgSnVuIDIwMTEgMTE6MzQ6NTIgKzA5MDAKK0RhdGU6IFdlZCwgMjkg SnVuIDIwMTEgMTY6NTI6MDggKzA5MDAKIFN1YmplY3Q6IFtQQVRDSF0gQWRkIFhLQiBsYXlvdXRz CiAKIC0tLQpAQCAtMTIsNyArMTIsNyBAQCBTdWJqZWN0OiBbUEFUQ0hdIEFkZCBYS0IgbGF5b3V0 cwogIGlidXMvX19pbml0X18ucHkgICAgICAgICAgIHwgICAgMiArCiAgaWJ1cy9idXMucHkgICAg ICAgICAgICAgICAgfCAgICAzICsKICBpYnVzL2ludGVyZmFjZS9paWJ1cy5weSAgICB8ICAgIDMg KwotIGlidXMveGtibGF5b3V0LnB5LmluICAgICAgIHwgIDIyNSArKysrKysrKysrKysrKysrCisg aWJ1cy94a2JsYXlvdXQucHkuaW4gICAgICAgfCAgMjE1ICsrKysrKysrKysrKysrKysKICBpYnVz L3hrYnhtbC5weS5pbiAgICAgICAgICB8ICA0MTMgKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrCiAgc2V0dXAvTWFrZWZpbGUuYW0gICAgICAgICAgfCAgICAxICsKICBzZXR1cC9lbmdpbmVj b21ib2JveC5weSAgICB8ICAgIDcgKy0KQEAgLTM2LDcgKzM2LDcgQEAgU3ViamVjdDogW1BBVENI XSBBZGQgWEtCIGxheW91dHMKICB4a2IveGtibGliLmggICAgICAgICAgICAgICB8ICAgNDEgKysr CiAgeGtiL3hrYnhtbC5jICAgICAgICAgICAgICAgfCAgMzM1ICsrKysrKysrKysrKysrKysrKysr KysrKwogIHhrYi94a2J4bWwuaCAgICAgICAgICAgICAgIHwgIDExMCArKysrKysrKwotIDMyIGZp bGVzIGNoYW5nZWQsIDQwMTggaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKKyAzMiBmaWxl cyBjaGFuZ2VkLCA0MDA4IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCiAgY3JlYXRlIG1v ZGUgMTAwNjQ0IGlidXMveGtibGF5b3V0LnB5LmluCiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGlidXMv eGtieG1sLnB5LmluCiAgY3JlYXRlIG1vZGUgMTAwNjQ0IHNldHVwL3hrYnNldHVwLnB5CkBAIC0z MDMsMTAgKzMwMywxMCBAQCBpbmRleCA2NzhkNTE3Li43ZGU1NmZjIDEwMDY0NAogIAogZGlmZiAt LWdpdCBhL2lidXMveGtibGF5b3V0LnB5LmluIGIvaWJ1cy94a2JsYXlvdXQucHkuaW4KIG5ldyBm aWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwLi42MzdmNmMxCitpbmRleCAwMDAwMDAwLi40 Y2IzZmZkCiAtLS0gL2Rldi9udWxsCiArKysgYi9pYnVzL3hrYmxheW91dC5weS5pbgotQEAgLTAs MCArMSwyMjUgQEAKK0BAIC0wLDAgKzEsMjE1IEBACiArIyB2aW06c2V0IGV0IHN0cz00IHN3PTQ6 CiArIwogKyMgaWJ1cyAtIFRoZSBJbnB1dCBCdXMKQEAgLTM2MCwyMiArMzYwLDEyIEBAIGluZGV4 IDAwMDAwMDAuLjYzN2Y2YzEKICsKICsKICsgICAgZGVmIF9fZ2V0X21vZGVsX2Zyb21fbGF5b3V0 KHNlbGYsIGxheW91dCk6Ci0rICAgICAgICBsYXlvdXRfYXJyYXkgPSBsYXlvdXQuc3BsaXQoJywn KQotKyAgICAgICAgb3B0aW9uX2FycmF5ID0gW10KLSsgICAgICAgIGlzX2JyYWNrZXQgPSBGYWxz ZQotKyAgICAgICAgZm9yIGksIGwgaW4gZW51bWVyYXRlKGxheW91dF9hcnJheSk6Ci0rICAgICAg ICAgICAgb3B0aW9uX2FycmF5LmFwcGVuZCgiIikKLSsgICAgICAgICAgICBsZWZ0X2JyYWNrZXQg PSBsLmZpbmQoJygnKQotKyAgICAgICAgICAgIHJpZ2h0X2JyYWNrZXQgPSBsLmZpbmQoJyknKQot KyAgICAgICAgICAgIGlmIGxlZnRfYnJhY2tldCA+PSAwIGFuZCByaWdodF9icmFja2V0ID4gbGVm dF9icmFja2V0OgotKyAgICAgICAgICAgICAgICBpc19icmFja2V0ID0gVHJ1ZQotKyAgICAgICAg ICAgICAgICBsYXlvdXRfYXJyYXlbaV0gPSBsWzpsZWZ0X2JyYWNrZXRdCi0rICAgICAgICAgICAg ICAgIG9wdGlvbl9hcnJheVtpXSA9IGxbbGVmdF9icmFja2V0ICsgMTpyaWdodF9icmFja2V0XQot KyAgICAgICAgaWYgaXNfYnJhY2tldCA9PSBGYWxzZToKLSsgICAgICAgICAgICByZXR1cm4gKGxh eW91dCwgImRlZmF1bHQiKQotKyAgICAgICAgbGF5b3V0ID0gJywnLmpvaW4obGF5b3V0X2FycmF5 KQotKyAgICAgICAgb3B0aW9uID0gJywnLmpvaW4ob3B0aW9uX2FycmF5KQotKyAgICAgICAgcmV0 dXJuIChsYXlvdXQsIG9wdGlvbikKKysgICAgICAgIGxlZnRfYnJhY2tldCA9IGxheW91dC5maW5k KCcoJykKKysgICAgICAgIHJpZ2h0X2JyYWNrZXQgPSBsYXlvdXQuZmluZCgnKScpCisrICAgICAg ICBpZiBsZWZ0X2JyYWNrZXQgPj0gMCBhbmQgcmlnaHRfYnJhY2tldCA+IGxlZnRfYnJhY2tldDoK KysgICAgICAgICAgICByZXR1cm4gKGxheW91dFs6bGVmdF9icmFja2V0XSwgXAorKyAgICAgICAg ICAgICAgICAgICAgbGF5b3V0W2xlZnRfYnJhY2tldCArIDE6cmlnaHRfYnJhY2tldF0pCisrICAg ICAgICByZXR1cm4gKGxheW91dCwgImRlZmF1bHQiKQogKwogKyAgICBkZWYgX19nZXRfb3V0cHV0 X2Zyb21fY21kbGluZShzZWxmLCBhcmcsIHN0cmluZyk6CiArICAgICAgICBleGVjX2NvbW1hbmQg PSAiJXMgJXMiICUgKHNlbGYuX19jb21tYW5kLCBhcmcpCkBAIC00NTA2LDUgKzQ0OTYsNSBAQCBp bmRleCAwMDAwMDAwLi41NjgxMWVmCiArR19FTkRfREVDTFMKICsjZW5kaWYKIC0tIAotMS43LjQu NAorMS43LjUuNAogCgpkaWZmIC0tZ2l0IGEvaWJ1cy14eC1icmlkZ2UtaG90a2V5LnBhdGNoIGIv aWJ1cy14eC1icmlkZ2UtaG90a2V5LnBhdGNoCmluZGV4IGYyYTc4YTIuLjY1Y2Q5NDQgMTAwNjQ0 Ci0tLSBhL2lidXMteHgtYnJpZGdlLWhvdGtleS5wYXRjaAorKysgYi9pYnVzLXh4LWJyaWRnZS1o b3RrZXkucGF0Y2gKQEAgLTEsMTIgKzEsMTIgQEAKLUZyb20gZmFhZWEyMjdjNThlYzE3ZDM5MmVj NGVjZGYzODUxZTFhNTJlY2QwMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gYjU4ZTlk NzY3M2QyNTVmODZmNTIyNGI1Mjc0NTdjMDEzMmVlYTNjOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKIEZyb206IGZ1aml3YXJhdCA8dGFrYW8uZnVqaXdhcmExQGdtYWlsLmNvbT4KLURhdGU6IFdl ZCwgMjIgSnVuIDIwMTEgMTk6MjY6MjEgKzA5MDAKK0RhdGU6IFdlZCwgMjkgSnVuIDIwMTEgMTY6 NTQ6NDUgKzA5MDAKIFN1YmplY3Q6IFtQQVRDSF0gQWRkIGEgYnJpZGdlIGhvdGtleSB3aGljaCB1 c2UgcHJldi1uZXh0IGVuZ2luZXMgaW5zdGVhZAogIG9mIG9uLW9mZi4KIAogLS0tCiAgYnVzL01h a2VmaWxlLmFtICAgICAgICAgICAgfCAgIDIwICsrLS0KLSBidXMvaWJ1c2ltcGwuYyAgICAgICAg ICAgICB8ICAyNTAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tCisgYnVz L2lidXNpbXBsLmMgICAgICAgICAgICAgfCAgMjU1ICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKy0tLS0tLS0tLS0KICBidXMvcmVnaXN0cnkuYyAgICAgICAgICAgICB8ICAgMzUgKysrKysr CiAgY29uZmlndXJlLmFjICAgICAgICAgICAgICAgfCAgIDMxICsrKysrCiAgZGF0YS9NYWtlZmls ZS5hbSAgICAgICAgICAgfCAgICA2ICstCkBAIC0xNCwxOCArMTQsMTkgQEAgU3ViamVjdDogW1BB VENIXSBBZGQgYSBicmlkZ2UgaG90a2V5IHdoaWNoIHVzZSBwcmV2LW5leHQgZW5naW5lcyBpbnN0 ZWFkCiAgZGF0YS9pYnVzLnNjaGVtYXMuaW4uaW4gICAgfCAgMjg2ICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrCiAgaWJ1cy9fY29uZmlnLnB5LmluICAgICAgICAg fCAgICA2ICsKICBpYnVzL2lucHV0Y29udGV4dC5weSAgICAgICB8ICAgIDQgKwotIHNldHVwL2Vu Z2luZXRyZWV2aWV3LnB5ICAgIHwgICAgMyArCi0gc3JjL01ha2VmaWxlLmFtICAgICAgICAgICAg fCAgICAxICsKLSBzcmMvaWJ1c2J1cy5jICAgICAgICAgICAgICB8ICAgIDYgKwotIHNyYy9pYnVz YnVzLmggICAgICAgICAgICAgIHwgICAgOSArKworIHNldHVwL2VuZ2luZWNvbWJvYm94LnB5ICAg IHwgICAgMyArCisgc2V0dXAvZW5naW5ldHJlZXZpZXcucHkgICAgfCAgIDE2ICsrLQorIHNyYy9N YWtlZmlsZS5hbSAgICAgICAgICAgIHwgICAxOCArKy0tCisgc3JjL2lidXNidXMuYyAgICAgICAg ICAgICAgfCAgIDEyICsrCisgc3JjL2lidXNidXMuaCAgICAgICAgICAgICAgfCAgIDE4ICsrKwog IHNyYy9pYnVzZW5naW5lZGVzYy5jICAgICAgIHwgICAgNCArCiAgc3JjL2lidXNob3RrZXkuYyAg ICAgICAgICAgfCAgIDExICsrCiAgc3JjL2lidXNob3RrZXkuaCAgICAgICAgICAgfCAgIDExICsr Ci0gdWkvZ3RrL3BhbmVsLnB5ICAgICAgICAgICAgfCAgIDYwICsrKysrKysrKy0KKyB1aS9ndGsv cGFuZWwucHkgICAgICAgICAgICB8ICAxNTEgKysrKysrKysrKysrKysrKysrKystLS0KICB4a2Iv TWFrZWZpbGUuYW0gICAgICAgICAgICB8ICAgIDIgKwogIHhrYi9pYnVzLWVuZ2luZS14a2ItbWFp bi5jIHwgICAgOCArKwogIHhrYi94a2J4bWwuYyAgICAgICAgICAgICAgIHwgICAgOCArLQotIDIw IGZpbGVzIGNoYW5nZWQsIDY4NiBpbnNlcnRpb25zKCspLCAzNjEgZGVsZXRpb25zKC0pCisgMjEg ZmlsZXMgY2hhbmdlZCwgODA0IGluc2VydGlvbnMoKyksIDM4NyBkZWxldGlvbnMoLSkKICBkZWxl dGUgbW9kZSAxMDA2NDQgZGF0YS9pYnVzLnNjaGVtYXMuaW4KICBjcmVhdGUgbW9kZSAxMDA2NDQg ZGF0YS9pYnVzLnNjaGVtYXMuaW4uaW4KIApAQCAtNjEsNyArNjIsNyBAQCBpbmRleCAwNzRiNDU2 Li4wZWZhYTFiIDEwMDY0NAogIEFNX0xEQUREID0gICAgICAgICAgICAgICAgICBcCiAgCUBHT0JK RUNUMl9MSUJTQCAgICAgICAgIFwKIGRpZmYgLS1naXQgYS9idXMvaWJ1c2ltcGwuYyBiL2J1cy9p YnVzaW1wbC5jCi1pbmRleCAzOGQ2ZDExLi42NWEwMzRiIDEwMDY0NAoraW5kZXggYjM1NmIyYy4u ZjNjYTMzMCAxMDA2NDQKIC0tLSBhL2J1cy9pYnVzaW1wbC5jCiArKysgYi9idXMvaWJ1c2ltcGwu YwogQEAgLTIwLDYgKzIwLDEwIEBACkBAIC03NSwxNiArNzYsMTggQEAgaW5kZXggMzhkNmQxMS4u NjVhMDM0YiAxMDA2NDQKICAjaW5jbHVkZSA8dW5pc3RkLmg+CiAgI2luY2x1ZGUgPHN5cy90eXBl cy5oPgogICNpbmNsdWRlIDxzeXMvd2FpdC5oPgotQEAgLTc5LDYgKzgzLDggQEAgc3RydWN0IF9C dXNJQnVzSW1wbCB7CitAQCAtNzksNiArODMsMTAgQEAgc3RydWN0IF9CdXNJQnVzSW1wbCB7CiAg ICAgIC8qIGVuZ2luZS1zcGVjaWZpYyBob3RrZXlzICovCiAgICAgIElCdXNIb3RrZXlQcm9maWxl ICplbmdpbmVzX2hvdGtleV9wcm9maWxlOwogICAgICBHSGFzaFRhYmxlICAgICAgKmhvdGtleV90 b19lbmdpbmVzX21hcDsKICsKKysjaWYgVVNFX0JSSURHRV9IT1RLRVkKICsgICAgSUJ1c0VuZ2lu ZURlc2MgKnByZXZfaG90a2V5X2VuZ2luZTsKKysjZW5kaWYKICB9OwogIAogIHN0cnVjdCBfQnVz SUJ1c0ltcGxDbGFzcyB7Ci1AQCAtMjg1LDYgKzI5MSwzMCBAQCBfcGFuZWxfZGVzdHJveV9jYiAo QnVzUGFuZWxQcm94eSAqcGFuZWwsCitAQCAtMjg1LDYgKzI5MywzMCBAQCBfcGFuZWxfZGVzdHJv eV9jYiAoQnVzUGFuZWxQcm94eSAqcGFuZWwsCiAgICAgIGdfb2JqZWN0X3VucmVmIChwYW5lbCk7 CiAgfQogIApAQCAtMTE1LDcgKzExOCw3IEBAIGluZGV4IDM4ZDZkMTEuLjY1YTAzNGIgMTAwNjQ0 CiAgc3RhdGljIHZvaWQKICBfY29uZmlnX3NldF92YWx1ZV9kb25lIChHT2JqZWN0ICAgICAgKm9i amVjdCwKICAgICAgICAgICAgICAgICAgICAgICAgICBHQXN5bmNSZXN1bHQgKnJlcywKLUBAIC00 NzUsOCArNTA1LDIxIEBAIF9zZXRfcHJlbG9hZF9lbmdpbmVzIChCdXNJQnVzSW1wbCAqaWJ1cywK K0BAIC00NzUsOCArNTA3LDIxIEBAIF9zZXRfcHJlbG9hZF9lbmdpbmVzIChCdXNJQnVzSW1wbCAq aWJ1cywKICAgICAgICAgIGdfdmFyaWFudF91bnJlZiAodmFsdWUpOwogICAgICB9CiAgCkBAIC0x MzgsNyArMTQxLDcgQEAgaW5kZXggMzhkNmQxMS4uNjVhMDM0YiAxMDA2NDQKICAKICAgICAgaWYg KGlidXMtPmVuZ2luZV9saXN0KSB7CiAgICAgICAgICBCdXNDb21wb25lbnQgKmNvbXBvbmVudCA9 IGJ1c19jb21wb25lbnRfZnJvbV9lbmdpbmVfZGVzYyAoKElCdXNFbmdpbmVEZXNjICopIGlidXMt PmVuZ2luZV9saXN0LT5kYXRhKTsKLUBAIC01NzMsNyArNjE2LDkgQEAgYnVzX2lidXNfaW1wbF9z ZXRfdHJpZ2dlciAoQnVzSUJ1c0ltcGwgKgorQEAgLTU3Myw3ICs2MTgsOSBAQCBidXNfaWJ1c19p bXBsX3NldF90cmlnZ2VyIChCdXNJQnVzSW1wbCAqCiAgewogICAgICBHUXVhcmsgaG90a2V5ID0g Z19xdWFya19mcm9tX3N0YXRpY19zdHJpbmcgKCJ0cmlnZ2VyIik7CiAgICAgIGlmICh2YWx1ZSAh PSBOVUxMKSB7CkBAIC0xNDgsNyArMTUxLDcgQEAgaW5kZXggMzhkNmQxMS4uNjVhMDM0YiAxMDA2 NDQKICAgICAgfQogICNpZm5kZWYgT1NfQ0hST01FT1MKICAgICAgZWxzZSB7Ci1AQCAtMTE4Miwy OCArMTIyNywxMTAgQEAgX2lidXNfZ2V0X2FkZHJlc3MgKEJ1c0lCdXNJbXBsICAgICAgICAgIAor QEAgLTExODIsMjggKzEyMjksMTEwIEBAIF9pYnVzX2dldF9hZGRyZXNzIChCdXNJQnVzSW1wbCAg ICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ192 YXJpYW50X25ldyAoIihzKSIsIGJ1c19zZXJ2ZXJfZ2V0X2FkZHJlc3MgKCkpKTsKICB9CiAgCkBA IC0yNzYsNyArMjc5LDcgQEAgaW5kZXggMzhkNmQxMS4uNjVhMDM0YiAxMDA2NDQKICB9CiAgCiAg LyoqCi1AQCAtMTIxNiw3ICsxMzQzLDM5IEBAIF9jb250ZXh0X3JlcXVlc3RfZW5naW5lX2NiIChC dXNJbnB1dENvbnQKK0BAIC0xMjE2LDcgKzEzNDUsMzkgQEAgX2NvbnRleHRfcmVxdWVzdF9lbmdp bmVfY2IgKEJ1c0lucHV0Q29udAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBn Y2hhciAgICAgKmVuZ2luZV9uYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCdXNJ QnVzSW1wbCAgICAgKmlidXMpCiAgewpAQCAtMzE3LDcgKzMyMCw3IEBAIGluZGV4IDM4ZDZkMTEu LjY1YTAzNGIgMTAwNjQ0CiAgfQogIAogIC8qKgotQEAgLTIzNTcsNiArMjUxNiwxMSBAQCBidXNf aWJ1c19pbXBsX2ZpbHRlcl9rZXlib2FyZF9zaG9ydGN1dHMgCitAQCAtMjM1Nyw2ICsyNTE4LDEx IEBAIGJ1c19pYnVzX2ltcGxfZmlsdGVyX2tleWJvYXJkX3Nob3J0Y3V0cyAKICAgICAgICAgICAq IHRoZSBzYW1lIGhvdGtleSwgdGhlbiB3ZSBzaG91bGQgc3dpdGNoIHRvIHRoZSBuZXh0IGVuZ2lu ZSB3aXRoIHRoZQogICAgICAgICAgICogc2FtZSBob3RrZXkgaW4gdGhlIGxpc3QuIE90aGVyd2lz ZSwgd2UganVzdCBzd2l0Y2ggdG8gdGhlIGZpcnN0CiAgICAgICAgICAgKiBlbmdpbmUgaW4gdGhl IGxpc3QuICovCkBAIC0zMjksMjIgKzMzMiwyNCBAQCBpbmRleCAzOGQ2ZDExLi42NWEwMzRiIDEw MDY0NAogICAgICAgICAgR0xpc3QgKnAgPSBlbmdpbmVfbGlzdDsKICAgICAgICAgIGZvciAoOyBw LT5uZXh0ICE9IE5VTEw7IHAgPSBwLT5uZXh0KSB7CiAgICAgICAgICAgICAgaWYgKGN1cnJlbnRf ZW5naW5lX2Rlc2MgPT0gKElCdXNFbmdpbmVEZXNjICopIHAtPmRhdGEpIHsKLUBAIC0yMzY0LDkg KzI1MjgsMTQgQEAgYnVzX2lidXNfaW1wbF9maWx0ZXJfa2V5Ym9hcmRfc2hvcnRjdXRzIAorQEAg LTIzNjQsOCArMjUzMCwxNiBAQCBidXNfaWJ1c19pbXBsX2ZpbHRlcl9rZXlib2FyZF9zaG9ydGN1 dHMgCiAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIH0KICAgICAgICAgIH0K ICsjZW5kaWYKICAKLSAgICAgICAgIGlmIChjdXJyZW50X2VuZ2luZV9kZXNjICE9IG5ld19lbmdp bmVfZGVzYykgeworKyNpZiBVU0VfQlJJREdFX0hPVEtFWQorKyAgICAgICAgaWYgKGN1cnJlbnRf ZW5naW5lX2Rlc2MgIT0gbmV3X2VuZ2luZV9kZXNjIHx8CisrICAgICAgICAgICAgZ19zdHJjbXAw IChpYnVzX2VuZ2luZV9kZXNjX2dldF9uYW1lIChuZXdfZW5naW5lX2Rlc2MpLAorKyAgICAgICAg ICAgICAgICAgICAgICAgREVGQVVMVF9CUklER0VfRU5HSU5FX05BTUUpID09IDApIHsKICsgICAg ICAgICAgICBpYnVzLT5wcmV2X2hvdGtleV9lbmdpbmUgPSBjdXJyZW50X2VuZ2luZV9kZXNjOwor KyNlbHNlCisgICAgICAgICBpZiAoY3VycmVudF9lbmdpbmVfZGVzYyAhPSBuZXdfZW5naW5lX2Rl c2MpIHsKKysjZW5kaWYKICAgICAgICAgICAgICBidXNfaWJ1c19pbXBsX3NldF9jb250ZXh0X2Vu Z2luZV9mcm9tX2Rlc2MgKGlidXMsIGNvbnRleHQsIG5ld19lbmdpbmVfZGVzYyk7Ci0rICAgICAg ICB9IGVsc2UgewotKyAgICAgICAgICAgIGdfd2FybmluZyAoIlRoZSBlbmdpbmUgJXMgaXMgcmVn aXN0ZXJlZCB0d2ljZSBpbiBob3RrZXlzIiwKLSsgICAgICAgICAgICAgICAgICAgICAgIGlidXNf ZW5naW5lX2Rlc2NfZ2V0X25hbWUgKGN1cnJlbnRfZW5naW5lX2Rlc2MpKTsKICAgICAgICAgIH0K ICAKLSAgICAgICAgIHJldHVybiBUUlVFOwotQEAgLTI0NzAsMTQgKzI2MzksNiBAQCBzdGF0aWMg dm9pZAorQEAgLTI0NzAsMTQgKzI2NDQsNiBAQCBzdGF0aWMgdm9pZAogIF9hZGRfZW5naW5lX2hv dGtleSAoSUJ1c0VuZ2luZURlc2MgKmVuZ2luZSwgQnVzSUJ1c0ltcGwgKmlidXMpCiAgewogICAg ICBjb25zdCBnY2hhciAqaG90a2V5czsKQEAgLTM1OSw3ICszNjQsNyBAQCBpbmRleCAzOGQ2ZDEx Li42NWEwMzRiIDEwMDY0NAogIAogICAgICBpZiAoIWVuZ2luZSkgewogICAgICAgICAgcmV0dXJu OwotQEAgLTI0ODksNDAgKzI2NTAsNyBAQCBfYWRkX2VuZ2luZV9ob3RrZXkgKElCdXNFbmdpbmVE ZXNjICplbmdpCitAQCAtMjQ4OSw0MCArMjY1NSw3IEBAIF9hZGRfZW5naW5lX2hvdGtleSAoSUJ1 c0VuZ2luZURlc2MgKmVuZ2kKICAgICAgICAgIHJldHVybjsKICAgICAgfQogIApAQCAtNjA3LDM3 ICs2MTIsODggQEAgaW5kZXggY2VlYjU2ZC4uMjY5NGZhMyAxMDA2NDQKICAgICAgZGVmIGludHJv c3BlY3Qoc2VsZik6CiAgICAgICAgICByZXR1cm4gc2VsZi5fX2NvbnRleHQuSW50cm9zcGVjdCgp CiAgCitkaWZmIC0tZ2l0IGEvc2V0dXAvZW5naW5lY29tYm9ib3gucHkgYi9zZXR1cC9lbmdpbmVj b21ib2JveC5weQoraW5kZXggNzM4MzE3Ny4uMjQ3ZmFjYyAxMDA2NDQKKy0tLSBhL3NldHVwL2Vu Z2luZWNvbWJvYm94LnB5CisrKysgYi9zZXR1cC9lbmdpbmVjb21ib2JveC5weQorQEAgLTY0LDYg KzY0LDkgQEAgY2xhc3MgRW5naW5lQ29tYm9Cb3goZ3RrLkNvbWJvQm94KToKKyAgICAgICAgIHNl bGYuX19tb2RlbC5zZXQoaXRlcjEsIDAsIDApCisgICAgICAgICBsYW5nID0ge30KKyAgICAgICAg IGZvciBlIGluIGVuZ2luZXM6CisrICAgICAgICAgICAgaWYgaWJ1cy51c2VfYnJpZGdlX2hvdGtl eSgpIGFuZCBcCisrICAgICAgICAgICAgICAgZS5uYW1lID09IGlidXMuREVGQVVMVF9CUklER0Vf RU5HSU5FX05BTUU6CisrICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICAgbCA9 IGlidXMuZ2V0X2xhbmd1YWdlX25hbWUoZS5sYW5ndWFnZSkKKyAgICAgICAgICAgICBpZiBsIG5v dCBpbiBsYW5nOgorICAgICAgICAgICAgICAgICBsYW5nW2xdID0gW10KIGRpZmYgLS1naXQgYS9z ZXR1cC9lbmdpbmV0cmVldmlldy5weSBiL3NldHVwL2VuZ2luZXRyZWV2aWV3LnB5Ci1pbmRleCBm NjIwMzYxLi43MjdjZjg5IDEwMDY0NAoraW5kZXggZjYyMDM2MS4uMGU1MGFkNSAxMDA2NDQKIC0t LSBhL3NldHVwL2VuZ2luZXRyZWV2aWV3LnB5CiArKysgYi9zZXR1cC9lbmdpbmV0cmVldmlldy5w eQotQEAgLTIxMCw2ICsyMTAsOSBAQCBjbGFzcyBFbmdpbmVUcmVlVmlldyhndGsuVHJlZVZpZXcp OgotICAgICAgICAgICAgIHJldHVybgotICAgICAgICAgcm93ID0gc2VsZi5fX21vZGVsW2l0ZXJd Ci0gICAgICAgICBlbmdpbmUgPSByb3dbMF0KLSsgICAgICAgIGlmIGlidXMudXNlX2JyaWRnZV9o b3RrZXkoKSBhbmQgXAotKyAgICAgICAgICAgaWJ1cy5ERUZBVUxUX0JSSURHRV9FTkdJTkVfTkFN RSA9PSBlbmdpbmUubmFtZToKLSsgICAgICAgICAgICByZXR1cm4KLSAgICAgICAgIHNlbGYuX19l bmdpbmVzLnJlbW92ZShlbmdpbmUpCi0gICAgICAgICBpbmRleCA9IHJvdy5wYXRoWzBdCi0gICAg ICAgICBzZWxmLl9fbW9kZWwucmVtb3ZlKGl0ZXIpCitAQCAtMTYyLDYgKzE2MiwxNCBAQCBjbGFz cyBFbmdpbmVUcmVlVmlldyhndGsuVHJlZVZpZXcpOgorICAgICAgICAgICAgIHJldHVybiByb3db MF0KKyAgICAgICAgIGVsaWYgcHJvcGVydHkubmFtZSA9PSAiZW5naW5lcyI6CisgICAgICAgICAg ICAgZW5naW5lcyA9IFsgclswXSBmb3IgciBpbiBzZWxmLl9fbW9kZWwgaWYgclswXSAhPSBOb25l XQorKyAgICAgICAgICAgIGZvciBpLCBlIGluIGVudW1lcmF0ZShzZWxmLl9fZW5naW5lcyk6Cisr ICAgICAgICAgICAgICAgIGlmIGlidXMudXNlX2JyaWRnZV9ob3RrZXkoKSBhbmQgXAorKyAgICAg ICAgICAgICAgICAgICBlLm5hbWUgPT0gaWJ1cy5ERUZBVUxUX0JSSURHRV9FTkdJTkVfTkFNRToK KysgICAgICAgICAgICAgICAgICAgIGlmIGkgPCBsZW4oZW5naW5lcyk6CisrICAgICAgICAgICAg ICAgICAgICAgICAgZW5naW5lcy5pbnNlcnQoaSwgZSkKKysgICAgICAgICAgICAgICAgICAgIGVs c2U6CisrICAgICAgICAgICAgICAgICAgICAgICAgZW5naW5lcy5hcHBlbmQoZSkKKysgICAgICAg ICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICAgcmV0dXJuIGVuZ2luZXMKKyAgICAgICAg IGVsc2U6CisgICAgICAgICAgICAgcmFpc2UgQXR0cmlidXRlRXJyb3IsICd1bmtub3duIHByb3Bl cnR5ICVzJyAlIHByb3BlcnR5Lm5hbWUKK0BAIC0xNzIsOCArMTgwLDEyIEBAIGNsYXNzIEVuZ2lu ZVRyZWVWaWV3KGd0ay5UcmVlVmlldyk6CisgICAgICAgICBmb3IgZSBpbiBlbmdpbmVzOgorICAg ICAgICAgICAgIGlmIGUgaW4gc2VsZi5fX2VuZ2luZXM6CisgICAgICAgICAgICAgICAgIGNvbnRp bnVlCistICAgICAgICAgICAgaXRlciA9IHNlbGYuX19tb2RlbC5hcHBlbmQoTm9uZSkKKy0gICAg ICAgICAgICBzZWxmLl9fbW9kZWwuc2V0KGl0ZXIsIDAsIGUpCisrICAgICAgICAgICAgaWYgaWJ1 cy51c2VfYnJpZGdlX2hvdGtleSgpIGFuZCBcCisrICAgICAgICAgICAgICAgZS5uYW1lID09IGli dXMuREVGQVVMVF9CUklER0VfRU5HSU5FX05BTUU6CisrICAgICAgICAgICAgICAgIHBhc3MKKysg ICAgICAgICAgICBlbHNlOgorKyAgICAgICAgICAgICAgICBpdGVyID0gc2VsZi5fX21vZGVsLmFw cGVuZChOb25lKQorKyAgICAgICAgICAgICAgICBzZWxmLl9fbW9kZWwuc2V0KGl0ZXIsIDAsIGUp CisgICAgICAgICAgICAgc2VsZi5fX2VuZ2luZXMuYWRkKGUpCisgICAgICAgICBzZWxmLl9fZW1p dF9jaGFuZ2VkKCkKKyAKIGRpZmYgLS1naXQgYS9zcmMvTWFrZWZpbGUuYW0gYi9zcmMvTWFrZWZp bGUuYW0KLWluZGV4IDY0NTQ1MjIuLjQ0M2IwZGIgMTAwNjQ0CitpbmRleCA2NDU0NTIyLi4zMTlk ZjNjIDEwMDY0NAogLS0tIGEvc3JjL01ha2VmaWxlLmFtCiArKysgYi9zcmMvTWFrZWZpbGUuYW0K LUBAIC00Niw2ICs0Niw3IEBAIEFNX0NQUEZMQUdTID0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFwKLSAgICAgLURJQlVTX0RBVEFfRElSPVwiJChwa2dkYXRhZGlyKVwiICAgICAg ICAgICBcCi0gICAgIC1ESUJVU19DT01QSUxBVElPTiAgICAgICAgICAgICAgICAgICAgICAgICAg XAotICAgICAtRElTT0NPREVTX1BSRUZJWD1cIiQoSVNPQ09ERVNfUFJFRklYKVwiICAgIFwKLSsg ICAgLURVU0VfQlJJREdFX0hPVEtFWT0kKFVTRV9CUklER0VfSE9US0VZKSAgICBcCitAQCAtMzgs MTQgKzM4LDE2IEBAIElOVFJPU1BFQ1RJT05fR0lSUyA9CisgQ0xFQU5GSUxFUyA9CisgCisgIyBD IHByZXByb2Nlc3NvciBmbGFncworLUFNX0NQUEZMQUdTID0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFwKKy0gICAgLURHX0xPR19ET01BSU49XCJJQlVTXCIgICAgICAgICAgICAg ICAgICAgICBcCistICAgIEBHTElCMl9DRkxBR1NAICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXAorLSAgICBAR09CSkVDVDJfQ0ZMQUdTQCAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK Ky0gICAgQEdJTzJfQ0ZMQUdTQCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAg IC1ESUJVU19EQVRBX0RJUj1cIiQocGtnZGF0YWRpcilcIiAgICAgICAgICAgXAorLSAgICAtRElC VVNfQ09NUElMQVRJT04gICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgLURJU09DT0RF U19QUkVGSVg9XCIkKElTT0NPREVTX1BSRUZJWClcIiAgICBcCisrQU1fQ1BQRkxBR1MgPSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAor KyAgICAtREdfTE9HX0RPTUFJTj1cIklCVVNcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFwKKysgICAgQEdMSUIyX0NGTEFHU0AgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisrICAgIEBHT0JKRUNUMl9DRkxB R1NAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAor KyAgICBAR0lPMl9DRkxBR1NAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFwKKysgICAgLURJQlVTX0RBVEFfRElSPVwiJChwa2dkYXRhZGlyKVwi ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisrICAgIC1ESUJVU19DT01QSUxB VElPTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAor KyAgICAtRElTT0NPREVTX1BSRUZJWD1cIiQoSVNPQ09ERVNfUFJFRklYKVwiICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFwKKysgICAgLURVU0VfQlJJREdFX0hPVEtFWT0kKFVTRV9CUklER0Vf SE9US0VZKSAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisrICAgIC1EREVGQVVMVF9CUklE R0VfRU5HSU5FX05BTUU9XCIkKERFRkFVTFRfQlJJREdFX0VOR0lORV9OQU1FKVwiICAgICAgXAog ICAgICAkKE5VTEwpCiAgCiAgIyBpYnVzIGxpYnJhcnkKIGRpZmYgLS1naXQgYS9zcmMvaWJ1c2J1 cy5jIGIvc3JjL2lidXNidXMuYwotaW5kZXggMzlhZDc4NC4uNWE4ZjlhOSAxMDA2NDQKK2luZGV4 IDM5YWQ3ODQuLmFiYzQzMzEgMTAwNjQ0CiAtLS0gYS9zcmMvaWJ1c2J1cy5jCiArKysgYi9zcmMv aWJ1c2J1cy5jCi1AQCAtMTkwMiwzICsxOTAyLDkgQEAgaWJ1c19idXNfY2FsbF9hc3luYyAoSUJ1 c0J1cyAgICAgICAgICAgICpidXMsCitAQCAtMTkwMiwzICsxOTAyLDE1IEBAIGlidXNfYnVzX2Nh bGxfYXN5bmMgKElCdXNCdXMgICAgICAgICAgICAqYnVzLAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAoR0FzeW5jUmVhZHlDYWxsYmFjaykgaWJ1c19idXNfY2FsbF9hc3luY19kb25lLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaW1wbGUpOwogIH0KQEAgLTY0NywxMSArNzAz LDE3IEBAIGluZGV4IDM5YWQ3ODQuLjVhOGY5YTkgMTAwNjQ0CiArewogKyAgICByZXR1cm4gKFVT RV9CUklER0VfSE9US0VZID09IDEpID8gVFJVRSA6IEZBTFNFOwogK30KKysKKytnY2hhciAqCisr aWJ1c19idXNfZ2V0X2RlZmF1bHRfYnJpZGdlX2VuZ2luZV9uYW1lIChJQnVzQnVzICpidXMpCisr eworKyAgICByZXR1cm4gZ19zdHJkdXAgKERFRkFVTFRfQlJJREdFX0VOR0lORV9OQU1FKTsKKyt9 CiBkaWZmIC0tZ2l0IGEvc3JjL2lidXNidXMuaCBiL3NyYy9pYnVzYnVzLmgKLWluZGV4IDc3ZDM5 MTYuLjRiZGY3NjAgMTAwNjQ0CitpbmRleCA3N2QzOTE2Li5mNTYwNjcxIDEwMDY0NAogLS0tIGEv c3JjL2lidXNidXMuaAogKysrIGIvc3JjL2lidXNidXMuaAotQEAgLTk3MSw1ICs5NzEsMTQgQEAg dm9pZCAgICAgICAgIGlidXNfYnVzX3NldF93YXRjaF9pYnVzX3NpZ25hbAorQEAgLTk3MSw1ICs5 NzEsMjMgQEAgdm9pZCAgICAgICAgIGlidXNfYnVzX3NldF93YXRjaF9pYnVzX3NpZ25hbAogICAq LwogIElCdXNDb25maWcgICppYnVzX2J1c19nZXRfY29uZmlnICAgICAgICAoSUJ1c0J1cyAgICAg ICAgKmJ1cyk7CiAgCkBAIC02NjQsMTMgKzcyNiwyMiBAQCBpbmRleCA3N2QzOTE2Li40YmRmNzYw IDEwMDY0NAogKyAqLwogK2dib29sZWFuICAgICBpYnVzX2J1c191c2VfYnJpZGdlX2hvdGtleSAo SUJ1c0J1cyAqYnVzKTsKICsKKysvKioKKysgKiBpYnVzX2J1c19nZXRfZGVmYXVsdF9icmlkZ2Vf ZW5naW5lX25hbWU6CisrICogQGJ1czogQW4gI0lCdXNCdXMuCisrICogQHJldHVybnM6IEEgZGVm YXVsdCBicmlkZ2UgZW5naW5lIG5hbWUuCisrICoKKysgKiBSZXR1cm4gQSBkZWZhdWx0IGJyaWRn ZSBlbmdpbmUgbmFtZS4gTmVlZCB0byBiZSBmcmVlZC4KKysgKi8KKytnY2hhciAgICAgICAqaWJ1 c19idXNfZ2V0X2RlZmF1bHRfYnJpZGdlX2VuZ2luZV9uYW1lIChJQnVzQnVzICpidXMpOworKwog IEdfRU5EX0RFQ0xTCiAgI2VuZGlmCiBkaWZmIC0tZ2l0IGEvc3JjL2lidXNlbmdpbmVkZXNjLmMg Yi9zcmMvaWJ1c2VuZ2luZWRlc2MuYwotaW5kZXggZDM4MDBlMS4uYTllNjhiZSAxMDA2NDQKK2lu ZGV4IGZhM2E3NjguLjNkNjEwMGUgMTAwNjQ0CiAtLS0gYS9zcmMvaWJ1c2VuZ2luZWRlc2MuYwog KysrIGIvc3JjL2lidXNlbmdpbmVkZXNjLmMKLUBAIC0yMzMsNyArMjMzLDExIEBAIGlidXNfZW5n aW5lX2Rlc2NfY2xhc3NfaW5pdCAoSUJ1c0VuZ2luZURlc2NDbGFzcyAqY2xhc3MpCitAQCAtMjMy LDcgKzIzMiwxMSBAQCBpYnVzX2VuZ2luZV9kZXNjX2NsYXNzX2luaXQgKElCdXNFbmdpbmVEZXNj Q2xhc3MgKmNsYXNzKQogICAgICAgICAgICAgICAgICAgICAgZ19wYXJhbV9zcGVjX3N0cmluZyAo ImhvdGtleXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiBob3RrZXlz IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAiVGhlIGhvdGtleXMgb2YgZW5naW5lIGRlc2Ny aXB0aW9uIiwKQEAgLTcyMywyMiArNzk0LDI1IEBAIGluZGV4IDlhMzQxZjYuLjkyZWM2YWYgMTAw NjQ0CiAgR19FTkRfREVDTFMKICAjZW5kaWYKIGRpZmYgLS1naXQgYS91aS9ndGsvcGFuZWwucHkg Yi91aS9ndGsvcGFuZWwucHkKLWluZGV4IGRlNjQ5MjAuLjdmMmVkY2QgMTAwNjQ0CitpbmRleCBk ZTY0OTIwLi4xZGFlMmIxIDEwMDY0NAogLS0tIGEvdWkvZ3RrL3BhbmVsLnB5CiArKysgYi91aS9n dGsvcGFuZWwucHkKLUBAIC0xMzMsNiArMTMzLDExIEBAIGNsYXNzIFBhbmVsKGlidXMuUGFuZWxC YXNlKToKK0BAIC0xMzMsNiArMTMzLDE0IEBAIGNsYXNzIFBhbmVsKGlidXMuUGFuZWxCYXNlKToK ICAgICAgICAgICMgc2VsZi5fX2J1cy5yZXF1ZXN0X25hbWUoaWJ1cy5wYW5lbC5JQlVTX1NFUlZJ Q0VfUEFORUwsIDApCiAgCiAgICAgICAgICAjIGluaXQgeGtiCiArICAgICAgICBzZWxmLl9fZGVm YXVsdF9sYXlvdXQgPSAnZGVmYXVsdCcKICsgICAgICAgIHNlbGYuX19kZWZhdWx0X21vZGVsID0g J2RlZmF1bHQnCiArICAgICAgICBzZWxmLl9fZGVmYXVsdF9vcHRpb24gPSAnZGVmYXVsdCcKLSsg ICAgICAgIHNlbGYuX19kaXNhYmxlZF9lbmdpbmUgPSBOb25lCisrICAgICAgICBzZWxmLl9fZGlz YWJsZWRfZW5naW5lcyA9IE5vbmUKKysgICAgICAgIHNlbGYuX19kaXNhYmxlZF9lbmdpbmVzX2lk ID0gLTEKKysgICAgICAgIHNlbGYuX19kaXNhYmxlZF9lbmdpbmVzX3ByZXZfaWQgPSAtMQorKyAg ICAgICAgc2VsZi5fX2Rpc2FibGVkX2VuZ2luZXNfc3dhcHBlZCA9IDAKICsKICAgICAgICAgIHNl bGYuX194a2JsYXlvdXQgPSBpYnVzLlhLQkxheW91dChzZWxmLl9fY29uZmlnKQogICAgICAgICAg dXNlX3hrYiA9IHNlbGYuX19jb25maWcuZ2V0X3ZhbHVlKCJnZW5lcmFsIiwgInVzZV9zeXN0ZW1f a2V5Ym9hcmRfbGF5b3V0IiwgRmFsc2UpCiAgICAgICAgICBpZiBub3QgdXNlX3hrYjoKLUBAIC0x NDIsMTEgKzE0NywxOCBAQCBjbGFzcyBQYW5lbChpYnVzLlBhbmVsQmFzZSk6CitAQCAtMTQyLDEx ICsxNTAsMTggQEAgY2xhc3MgUGFuZWwoaWJ1cy5QYW5lbEJhc2UpOgogICAgICAgICAgICAgIHZh bHVlID0gJ2RlZmF1bHQnCiAgICAgICAgICBpZiB2YWx1ZSAhPSAnZGVmYXVsdCc6CiAgICAgICAg ICAgICAgc2VsZi5fX3hrYmxheW91dC5zZXRfZGVmYXVsdF9sYXlvdXQodmFsdWUpCkBAIC03NTcs NyArODMxLDcgQEAgaW5kZXggZGU2NDkyMC4uN2YyZWRjZCAxMDA2NDQKICAKICAgICAgZGVmIHNl dF9jdXJzb3JfbG9jYXRpb24oc2VsZiwgeCwgeSwgdywgaCk6CiAgICAgICAgICBzZWxmLl9fY2Fu ZGlkYXRlX3BhbmVsLnNldF9jdXJzb3JfbG9jYXRpb24oeCwgeSwgdywgaCkKLUBAIC0yMzMsNiAr MjQ1LDQxIEBAIGNsYXNzIFBhbmVsKGlidXMuUGFuZWxCYXNlKToKK0BAIC0yMzMsMTIgKzI0OCw1 NyBAQCBjbGFzcyBQYW5lbChpYnVzLlBhbmVsQmFzZSk6CiAgICAgIGRlZiBfX3NldF9pbV9uYW1l KHNlbGYsIG5hbWUpOgogICAgICAgICAgc2VsZi5fX2xhbmd1YWdlX2Jhci5zZXRfaW1fbmFtZShu YW1lKQogIApAQCAtNzY2LDY0ICs4NDAsMTMxIEBAIGluZGV4IGRlNjQ5MjAuLjdmMmVkY2QgMTAw NjQ0CiArICAgICAgICBkZWZhdWx0X21vZGVsID0gc2VsZi5fX2RlZmF1bHRfbW9kZWwKICsgICAg ICAgIGlmIGRlZmF1bHRfbGF5b3V0ID09ICdkZWZhdWx0JzoKICsgICAgICAgICAgICBkZWZhdWx0 X2xheW91dCA9IHNlbGYuX194a2JsYXlvdXQuZ2V0X2RlZmF1bHRfbGF5b3V0KClbMF0KLSsgICAg ICAgICAgICBkZWZhdWx0X21vZGVsID0gTm9uZQorKyAgICAgICAgICAgIGRlZmF1bHRfbW9kZWwg PSBzZWxmLl9feGtibGF5b3V0LmdldF9kZWZhdWx0X2xheW91dCgpWzFdCiArICAgICAgICBpZiBk ZWZhdWx0X21vZGVsID09ICdkZWZhdWx0JzoKICsgICAgICAgICAgICBkZWZhdWx0X21vZGVsID0g c2VsZi5fX3hrYmxheW91dC5nZXRfZGVmYXVsdF9sYXlvdXQoKVsxXQogKyAgICAgICAgbGF5b3V0 cyA9IGRlZmF1bHRfbGF5b3V0LnNwbGl0KCcsJykKLSsgICAgICAgIGdyb3VwID0gc2VsZi5fX3hr YmxheW91dC5nZXRfZ3JvdXAoKQotKyAgICAgICAgbGF5b3V0ID0gbGF5b3V0c1tncm91cF0KLSsg ICAgICAgIG1vZGVsID0gTm9uZQorKyAgICAgICAgbW9kZWxzID0gTm9uZQogKyAgICAgICAgaWYg ZGVmYXVsdF9tb2RlbCAhPSBOb25lIGFuZCBkZWZhdWx0X21vZGVsICE9ICcnOgogKyAgICAgICAg ICAgIG1vZGVscyA9IGRlZmF1bHRfbW9kZWwuc3BsaXQoJywnKQotKyAgICAgICAgICAgIGlmIGdy b3VwIDwgbW9kZWxzLmxlbmd0aDoKLSsgICAgICAgICAgICAgICAgbW9kZWwgPSBtb2RlbHNbZ3Jv dXBdCi0rICAgICAgICByZWdpc3RyeSA9IGlidXMuWEtCQ29uZmlnUmVnaXN0cnkoKQotKyAgICAg ICAgbGFuZ3MgPSByZWdpc3RyeS5nZXRfbGF5b3V0X2xhbmcoKVtsYXlvdXRdCi0rICAgICAgICBs YW5nID0gJ2VuJwotKyAgICAgICAgaW1faWNvbiA9IGxheW91dFs6Ml0KLSsgICAgICAgIGlmIGxh bmdzICE9IE5vbmU6Ci0rICAgICAgICAgICAgaW1faWNvbiA9IGxhbmdzWzBdWzoyXQotKyAgICAg ICAgICAgIGxhbmcgPSBzdHIobGFuZ3NbMF0pCi0rICAgICAgICBpZiBzZWxmLl9fZGlzYWJsZWRf ZW5naW5lID09IE5vbmU6Ci0rICAgICAgICAgICAgc2VsZi5fX2Rpc2FibGVkX2VuZ2luZSA9IHJl Z2lzdHJ5LmVuZ2luZV9kZXNjX25ldyhsYW5nLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fX2RlZmF1bHRfbGF5b3V0 LAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJ0RlZmF1bHQgTGF5b3V0JywKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRfbW9kZWwsCi0rICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBO b25lKQotKyAgICAgICAgaWYgc2VsZi5fX2ZvY3VzX2ljICE9IE5vbmU6Ci0rICAgICAgICAgICAg cHJldl9lbmdpbmUgPSBzZWxmLl9fZm9jdXNfaWMuZ2V0X2VuZ2luZSgpCi0rICAgICAgICBpZiBw cmV2X2VuZ2luZSA9PSBOb25lIG9yIFwKLSsgICAgICAgICAgIHByZXZfZW5naW5lLm5hbWUgIT0g c2VsZi5fX2Rpc2FibGVkX2VuZ2luZS5uYW1lOgorKyAgICAgICAgaWYgc2VsZi5fX2Rpc2FibGVk X2VuZ2luZXMgPT0gTm9uZSBvciBzZWxmLl9fZGlzYWJsZWRfZW5naW5lcyA9PSBbXToKKysgICAg ICAgICAgICBzZWxmLl9fZGlzYWJsZWRfZW5naW5lcyA9IFtdCisrICAgICAgICAgICAgZm9yIGks IGxheW91dCBpbiBlbnVtZXJhdGUobGF5b3V0cyk6CisrICAgICAgICAgICAgICAgIHJlZ2lzdHJ5 ID0gaWJ1cy5YS0JDb25maWdSZWdpc3RyeSgpCisrICAgICAgICAgICAgICAgIGxhbmdzID0gcmVn aXN0cnkuZ2V0X2xheW91dF9sYW5nKClbbGF5b3V0XQorKyAgICAgICAgICAgICAgICBsYW5nID0g J2VuJworKyAgICAgICAgICAgICAgICBpZiBsYW5ncyAhPSBOb25lOgorKyAgICAgICAgICAgICAg ICAgICAgbGFuZyA9IHN0cihsYW5nc1swXSkKKysgICAgICAgICAgICAgICAgbW9kZWwgPSBOb25l CisrICAgICAgICAgICAgICAgIGlmIGkgPT0gMDoKKysgICAgICAgICAgICAgICAgICAgIGxheW91 dCA9IGRlZmF1bHRfbGF5b3V0CisrICAgICAgICAgICAgICAgICAgICBtb2RlbCA9IGRlZmF1bHRf bW9kZWwKKysgICAgICAgICAgICAgICAgZWxpZiBpIDwgbGVuKG1vZGVscyk6CisrICAgICAgICAg ICAgICAgICAgICBtb2RlbCA9IG1vZGVsc1tpXQorKyAgICAgICAgICAgICAgICBpZiBtb2RlbCA9 PSAnJzoKKysgICAgICAgICAgICAgICAgICAgIG1vZGVsID0gTm9uZQorKyAgICAgICAgICAgICAg ICBtb2RlbF9kZXNjID0gXygiRGVmYXVsdCBMYXlvdXQiKQorKyAgICAgICAgICAgICAgICBpZiBt b2RlbCAhPSBOb25lOgorKyAgICAgICAgICAgICAgICAgICAgbW9kZWxfZGVzYyA9IG1vZGVsX2Rl c2MgKyAiICgiICsgbW9kZWwgKyAiKSIKKysgICAgICAgICAgICAgICAgZW5naW5lID0gcmVnaXN0 cnkuZW5naW5lX2Rlc2NfbmV3KGxhbmcsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBsYXlvdXQsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBfKCJEZWZhdWx0IExheW91dCIpLAorKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZWwsCisrICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlbF9kZXNjKQorKyAg ICAgICAgICAgICAgICBzZWxmLl9fZGlzYWJsZWRfZW5naW5lcy5hcHBlbmQoZW5naW5lKQorKyAg ICAgICAgICAgIHNlbGYuX19kaXNhYmxlZF9lbmdpbmVzX2lkID0gc2VsZi5fX3hrYmxheW91dC5n ZXRfZ3JvdXAoKQorKyAgICAgICAgaWYgc2VsZi5fX2ZvY3VzX2ljID09IE5vbmU6CisrICAgICAg ICAgICAgcmV0dXJuCisrICAgICAgICBpZiBub3Qgc2VsZi5fX2ZvY3VzX2ljLmlzX2VuYWJsZWQo KToKICsgICAgICAgICAgICBzZWxmLl9fZm9jdXNfaWMuc2V0X2JyaWRnZV9lbmdpbmUoKQogKwog ICAgICBkZWYgZm9jdXNfaW4oc2VsZiwgaWMpOgogICAgICAgICAgc2VsZi5yZXNldCgpCiAgICAg ICAgICBzZWxmLl9fZm9jdXNfaWMgPSBpYnVzLklucHV0Q29udGV4dChzZWxmLl9fYnVzLCBpYykK LUBAIC0yNDAsNiArMjg3LDkgQEAgY2xhc3MgUGFuZWwoaWJ1cy5QYW5lbEJhc2UpOgorICAgICAg ICAgZW5hYmxlZCA9IHNlbGYuX19mb2N1c19pYy5pc19lbmFibGVkKCkKICAgICAgICAgIHNlbGYu X19sYW5ndWFnZV9iYXIuc2V0X2VuYWJsZWQoZW5hYmxlZCkKICAKKysgICAgICAgIGlmIGlidXMu dXNlX2JyaWRnZV9ob3RrZXkoKToKKysgICAgICAgICAgICBzZWxmLl9fc2V0X2RlZmF1bHRfbGF5 b3V0X2VuZ2luZSgpCiAgICAgICAgICBpZiBub3QgZW5hYmxlZDoKLSsgICAgICAgICAgICBpZiBp YnVzLnVzZV9icmlkZ2VfaG90a2V5KCk6Ci0rICAgICAgICAgICAgICAgIHNlbGYuX19zZXRfZGVm YXVsdF9sYXlvdXRfZW5naW5lKCkKLSsKICAgICAgICAgICAgICBzZWxmLl9fc2V0X2ltX2ljb24o SUNPTl9LRVlCT0FSRCkKICAgICAgICAgICAgICBzZWxmLl9fc2V0X2ltX25hbWUoTm9uZSkKLSAg ICAgICAgICAgICBpZiBzZWxmLl9fYnVzLmdldF91c2Vfc3lzX2xheW91dCgpOgotQEAgLTQ1Myw3 ICs1MDMsMTIgQEAgY2xhc3MgUGFuZWwoaWJ1cy5QYW5lbEJhc2UpOgorQEAgLTI1MCw3ICszMTAs NyBAQCBjbGFzcyBQYW5lbChpYnVzLlBhbmVsQmFzZSk6CisgICAgICAgICAgICAgICAgIHNlbGYu X19zZXRfaW1faWNvbihlbmdpbmUuaWNvbikKKyAgICAgICAgICAgICAgICAgc2VsZi5fX3NldF9p bV9uYW1lKGVuZ2luZS5sb25nbmFtZSkKKyAgICAgICAgICAgICAgICAgaWYgc2VsZi5fX2J1cy5n ZXRfdXNlX3N5c19sYXlvdXQoKToKKy0gICAgICAgICAgICAgICAgICAgIHNlbGYuX194a2JsYXlv dXQuc2V0X2xheW91dChzZWxmLl9fZW5naW5lX2dldF9sYXlvdXRfd3JhcHBlcihlbmdpbmUpKQor KyAgICAgICAgICAgICAgICAgICAgc2VsZi5fX3hrYmxheW91dC5zZXRfbGF5b3V0KHNlbGYuX19l bmdpbmVfZ2V0X2xheW91dF93cmFwcGVyKGVuZ2luZSwgRmFsc2UpKQorICAgICAgICAgICAgIGVs c2U6CisgICAgICAgICAgICAgICAgIHNlbGYuX19zZXRfaW1faWNvbihJQ09OX0tFWUJPQVJEKQor ICAgICAgICAgICAgICAgICBzZWxmLl9fc2V0X2ltX25hbWUoTm9uZSkKK0BAIC0yODcsNyArMzQ3 LDcgQEAgY2xhc3MgUGFuZWwoaWJ1cy5QYW5lbEJhc2UpOgorICAgICAgICAgICAgICAgICBzZWxm Ll9fc2V0X2ltX2ljb24oZW5naW5lLmljb24pCisgICAgICAgICAgICAgICAgIHNlbGYuX19zZXRf aW1fbmFtZShlbmdpbmUubG9uZ25hbWUpCisgICAgICAgICAgICAgICAgIGlmIHNlbGYuX19idXMu Z2V0X3VzZV9zeXNfbGF5b3V0KCk6CistICAgICAgICAgICAgICAgICAgICBzZWxmLl9feGtibGF5 b3V0LnNldF9sYXlvdXQoc2VsZi5fX2VuZ2luZV9nZXRfbGF5b3V0X3dyYXBwZXIoZW5naW5lKSkK KysgICAgICAgICAgICAgICAgICAgIHNlbGYuX194a2JsYXlvdXQuc2V0X2xheW91dChzZWxmLl9f ZW5naW5lX2dldF9sYXlvdXRfd3JhcHBlcihlbmdpbmUsIFRydWUpKQorICAgICAgICAgICAgIGVs c2U6CisgICAgICAgICAgICAgICAgIHNlbGYuX19zZXRfaW1faWNvbihJQ09OX0tFWUJPQVJEKQor ICAgICAgICAgICAgICAgICBzZWxmLl9fc2V0X2ltX25hbWUoTm9uZSkKK0BAIC00NDMsNiArNTAz LDIxIEBAIGNsYXNzIFBhbmVsKGlidXMuUGFuZWxCYXNlKToKKyAgICAgIyAgICAgbWVudS5zZXRf dGFrZV9mb2N1cyhGYWxzZSkKKyAgICAgIyAgICAgcmV0dXJuIG1lbnUKKyAKKysgICAgZGVmIF9f YWRkX2VuZ2luZV9pbl9tZW51KHNlbGYsIG1lbnUsIGVuZ2luZSwgaXNfYm9sZCwgc2l6ZSk6Cisr ICAgICAgICBsYW5ndWFnZSA9IGVuZ2luZS5sYW5ndWFnZQorKyAgICAgICAgbGFuZyA9IGlidXMu Z2V0X2xhbmd1YWdlX25hbWUobGFuZ3VhZ2UpCisrICAgICAgICBpdGVtID0gZ3RrLkltYWdlTWVu dUl0ZW0oIiVzIC0gJXMiICUgKGxhbmcsIGVuZ2luZS5sb25nbmFtZSkpCisrICAgICAgICBpZiBp c19ib2xkOgorKyAgICAgICAgICAgIGZvciB3aWRnZXQgaW4gaXRlbS5nZXRfY2hpbGRyZW4oKToK KysgICAgICAgICAgICAgICAgaWYgaXNpbnN0YW5jZSh3aWRnZXQsIGd0ay5MYWJlbCk6CisrICAg ICAgICAgICAgICAgICAgICB3aWRnZXQuc2V0X21hcmt1cCgiPGI+JXM8L2I+IiAlIHdpZGdldC5n ZXRfdGV4dCgpKQorKyAgICAgICAgaWYgZW5naW5lLmljb246CisrICAgICAgICAgICAgaXRlbS5z ZXRfaW1hZ2UoX2ljb24uSWNvbldpZGdldChlbmdpbmUuaWNvbiwgc2l6ZVswXSkpCisrICAgICAg ICBlbHNlOgorKyAgICAgICAgICAgIGl0ZW0uc2V0X2ltYWdlKF9pY29uLkljb25XaWRnZXQoSUNP Tl9FTkdJTkUsIHNpemVbMF0pKQorKyAgICAgICAgaXRlbS5jb25uZWN0KCJhY3RpdmF0ZSIsIHNl bGYuX19pbV9tZW51X2l0ZW1fYWN0aXZhdGVfY2IsIGVuZ2luZSkKKysgICAgICAgIG1lbnUuYWRk KGl0ZW0pCisrCisgICAgIGRlZiBfX2NyZWF0ZV9pbV9tZW51KHNlbGYpOgorICAgICAgICAgZW5n aW5lcyA9IHNlbGYuX19idXMubGlzdF9hY3RpdmVfZW5naW5lcygpCisgICAgICAgICBjdXJyZW50 X2VuZ2luZSA9IFwKK0BAIC00NTMsMjUgKzUyOCwzMSBAQCBjbGFzcyBQYW5lbChpYnVzLlBhbmVs QmFzZSk6CiAgICAgICAgICBzaXplID0gZ3RrLmljb25fc2l6ZV9sb29rdXAoZ3RrLklDT05fU0la RV9NRU5VKQogICAgICAgICAgbWVudSA9IGd0ay5NZW51KCkKICAgICAgICAgIGZvciBpLCBlbmdp bmUgaW4gZW51bWVyYXRlKGVuZ2luZXMpOgogLSAgICAgICAgICAgIGxhbmcgPSBpYnVzLmdldF9s YW5ndWFnZV9uYW1lKGVuZ2luZS5sYW5ndWFnZSkKLSsgICAgICAgICAgICBsYW5ndWFnZSA9IGVu Z2luZS5sYW5ndWFnZQorLSAgICAgICAgICAgIGl0ZW0gPSBndGsuSW1hZ2VNZW51SXRlbSgiJXMg LSAlcyIgJSAobGFuZywgZW5naW5lLmxvbmduYW1lKSkKKy0gICAgICAgICAgICBpZiBjdXJyZW50 X2VuZ2luZSBhbmQgY3VycmVudF9lbmdpbmUubmFtZSA9PSBlbmdpbmUubmFtZToKKy0gICAgICAg ICAgICAgICAgZm9yIHdpZGdldCBpbiBpdGVtLmdldF9jaGlsZHJlbigpOgorLSAgICAgICAgICAg ICAgICAgICAgaWYgaXNpbnN0YW5jZSh3aWRnZXQsIGd0ay5MYWJlbCk6CistICAgICAgICAgICAg ICAgICAgICAgICAgd2lkZ2V0LnNldF9tYXJrdXAoIjxiPiVzPC9iPiIgJSB3aWRnZXQuZ2V0X3Rl eHQoKSkKKy0gICAgICAgICAgICBpZiBlbmdpbmUuaWNvbjoKKy0gICAgICAgICAgICAgICAgaXRl bS5zZXRfaW1hZ2UoX2ljb24uSWNvbldpZGdldChlbmdpbmUuaWNvbiwgc2l6ZVswXSkpCistICAg ICAgICAgICAgZWxzZToKKy0gICAgICAgICAgICAgICAgaXRlbS5zZXRfaW1hZ2UoX2ljb24uSWNv bldpZGdldChJQ09OX0VOR0lORSwgc2l6ZVswXSkpCistICAgICAgICAgICAgaXRlbS5jb25uZWN0 KCJhY3RpdmF0ZSIsIHNlbGYuX19pbV9tZW51X2l0ZW1fYWN0aXZhdGVfY2IsIGVuZ2luZSkKKy0g ICAgICAgICAgICBtZW51LmFkZChpdGVtKQogKyAgICAgICAgICAgIGlmIGlidXMudXNlX2JyaWRn ZV9ob3RrZXkoKSBhbmQgXAogKyAgICAgICAgICAgICAgICBlbmdpbmUubmFtZSA9PSBpYnVzLkRF RkFVTFRfQlJJREdFX0VOR0lORV9OQU1FIGFuZCBcCi0rICAgICAgICAgICAgICAgIHNlbGYuX19k aXNhYmxlZF9lbmdpbmUgIT0gTm9uZToKLSsgICAgICAgICAgICAgICAgbGFuZ3VhZ2UgPSBzZWxm Ll9fZGlzYWJsZWRfZW5naW5lLmxhbmd1YWdlCi0rICAgICAgICAgICAgbGFuZyA9IGlidXMuZ2V0 X2xhbmd1YWdlX25hbWUobGFuZ3VhZ2UpCi0gICAgICAgICAgICAgaXRlbSA9IGd0ay5JbWFnZU1l bnVJdGVtKCIlcyAtICVzIiAlIChsYW5nLCBlbmdpbmUubG9uZ25hbWUpKQotICAgICAgICAgICAg IGlmIGN1cnJlbnRfZW5naW5lIGFuZCBjdXJyZW50X2VuZ2luZS5uYW1lID09IGVuZ2luZS5uYW1l OgotICAgICAgICAgICAgICAgICBmb3Igd2lkZ2V0IGluIGl0ZW0uZ2V0X2NoaWxkcmVuKCk6Ci1A QCAtNDcxLDcgKzUyNiw4IEBAIGNsYXNzIFBhbmVsKGlidXMuUGFuZWxCYXNlKToKKysgICAgICAg ICAgICAgICAgc2VsZi5fX2Rpc2FibGVkX2VuZ2luZXMgIT0gTm9uZToKKysgICAgICAgICAgICAg ICAgZm9yIGosIGtiX2VuZ2luZSBpbiBlbnVtZXJhdGUoc2VsZi5fX2Rpc2FibGVkX2VuZ2luZXMp OgorKyAgICAgICAgICAgICAgICAgICAga2JfZW5naW5lLmlzX2JyaWRnZSA9IFRydWUKKysgICAg ICAgICAgICAgICAgICAgIGtiX2VuZ2luZS5kaXNhYmxlZF9lbmdpbmVzX2lkID0gagorKyAgICAg ICAgICAgICAgICAgICAgaXNfYm9sZCA9IFRydWUgaWYgKGN1cnJlbnRfZW5naW5lICE9IE5vbmUg YW5kIFwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudF9lbmdpbmUubmFtZSA9 PSBlbmdpbmUubmFtZSBhbmQgXAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBqID09IHNl bGYuX19kaXNhYmxlZF9lbmdpbmVzX2lkKSBlbHNlIEZhbHNlCisrICAgICAgICAgICAgICAgICAg ICBzZWxmLl9fYWRkX2VuZ2luZV9pbl9tZW51KG1lbnUsIGtiX2VuZ2luZSwKKysgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNfYm9sZCwKKysgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZSkKKysgICAgICAgICAgICAg ICAgY29udGludWUKKysgICAgICAgICAgICBlbmdpbmUuaXNfYnJpZGdlID0gRmFsc2UKKysgICAg ICAgICAgICBpc19ib2xkID0gVHJ1ZSBpZiAoY3VycmVudF9lbmdpbmUgIT0gTm9uZSBhbmQgXAor KyAgICAgICAgICAgICAgICAgICAgY3VycmVudF9lbmdpbmUubmFtZSA9PSBlbmdpbmUubmFtZSkg ZWxzZSBGYWxzZQorKyAgICAgICAgICAgIHNlbGYuX19hZGRfZW5naW5lX2luX21lbnUobWVudSwg ZW5naW5lLCBpc19ib2xkLCBzaXplKQorIAorICAgICAgICAgaXRlbSA9IGd0ay5JbWFnZU1lbnVJ dGVtKF8oIlR1cm4gb2ZmIGlucHV0IG1ldGhvZCIpKQorICAgICAgICAgaXRlbS5zZXRfaW1hZ2Uo X2ljb24uSWNvbldpZGdldCgiZ3RrLWNsb3NlIiwgc2l6ZVswXSkpCiAgICAgICAgICBpdGVtLmNv bm5lY3QoImFjdGl2YXRlIiwgc2VsZi5fX2ltX21lbnVfaXRlbV9hY3RpdmF0ZV9jYiwgTm9uZSkK ICAgICAgICAgIGlmIHNlbGYuX19mb2N1c19pYyA9PSBOb25lIG9yIG5vdCBzZWxmLl9fZm9jdXNf aWMuaXNfZW5hYmxlZCgpOgogICAgICAgICAgICAgIGl0ZW0uc2V0X3NlbnNpdGl2ZShGYWxzZSkK QEAgLTgzMyw2ICs5NzQsNjQgQEAgaW5kZXggZGU2NDkyMC4uN2YyZWRjZCAxMDA2NDQKICAKICAg ICAgICAgIG1lbnUuc2hvd19hbGwoKQogICAgICAgICAgbWVudS5zZXRfdGFrZV9mb2N1cyhGYWxz ZSkKK0BAIC01MjMsOCArNjA0LDI1IEBAIGNsYXNzIFBhbmVsKGlidXMuUGFuZWxCYXNlKToKKyAg ICAgICAgIGlmIG5vdCBzZWxmLl9fZm9jdXNfaWM6CisgICAgICAgICAgICAgcmV0dXJuCisgICAg ICAgICBpZiBlbmdpbmU6CistICAgICAgICAgICAgc2VsZi5fX2ZvY3VzX2ljLnNldF9lbmdpbmUo ZW5naW5lKQorKyAgICAgICAgICAgIGlmIGlidXMudXNlX2JyaWRnZV9ob3RrZXkoKSBhbmQgZW5n aW5lLmlzX2JyaWRnZToKKysgICAgICAgICAgICAgICAgZW5naW5lcyA9IHNlbGYuX19idXMubGlz dF9hY3RpdmVfZW5naW5lcygpCisrICAgICAgICAgICAgICAgIGN1cnJlbnRfZW5naW5lID0gXAor KyAgICAgICAgICAgICAgICAgICAgKHNlbGYuX19mb2N1c19pYyAhPSBOb25lIGFuZCBzZWxmLl9f Zm9jdXNfaWMuZ2V0X2VuZ2luZSgpKSBvciBcCisrICAgICAgICAgICAgICAgICAgICAoZW5naW5l cyBhbmQgZW5naW5lc1swXSkgb3IgXAorKyAgICAgICAgICAgICAgICAgICAgTm9uZQorKyAgICAg ICAgICAgICAgICBpZiBjdXJyZW50X2VuZ2luZSBhbmQgXAorKyAgICAgICAgICAgICAgICAgICBj dXJyZW50X2VuZ2luZS5uYW1lID09IGlidXMuREVGQVVMVF9CUklER0VfRU5HSU5FX05BTUU6Cisr ICAgICAgICAgICAgICAgICAgICBzZWxmLl9fZGlzYWJsZWRfZW5naW5lc19wcmV2X2lkID0gc2Vs Zi5fX2Rpc2FibGVkX2VuZ2luZXNfaWQKKysgICAgICAgICAgICAgICAgICAgIHNlbGYuX19kaXNh YmxlZF9lbmdpbmVzX3N3YXBwZWQgPSAwCisrICAgICAgICAgICAgICAgIGVsc2U6CisrICAgICAg ICAgICAgICAgICAgICBzZWxmLl9fZGlzYWJsZWRfZW5naW5lc19wcmV2X2lkID0gLTEKKysgICAg ICAgICAgICAgICAgc2VsZi5fX2Rpc2FibGVkX2VuZ2luZXNfaWQgPSBlbmdpbmUuZGlzYWJsZWRf ZW5naW5lc19pZAorKyAgICAgICAgICAgICAgICBzZWxmLl9fZm9jdXNfaWMuc2V0X2JyaWRnZV9l bmdpbmUoKQorKyAgICAgICAgICAgIGVsc2U6CisrICAgICAgICAgICAgICAgIHNlbGYuX19kaXNh YmxlZF9lbmdpbmVzX3ByZXZfaWQgPSAtMQorKyAgICAgICAgICAgICAgICBzZWxmLl9fZm9jdXNf aWMuc2V0X2VuZ2luZShlbmdpbmUpCisgICAgICAgICBlbHNlOgorKyAgICAgICAgICAgIHNlbGYu X19kaXNhYmxlZF9lbmdpbmVzX3ByZXZfaWQgPSAtMQorICAgICAgICAgICAgIHNlbGYuX19mb2N1 c19pYy5kaXNhYmxlKCkKKyAKKyAgICAgZGVmIF9fc3lzX21lbnVfaXRlbV9hY3RpdmF0ZV9jYihz ZWxmLCBpdGVtLCBjb21tYW5kKToKK0BAIC01NzMsMTEgKzY3MSwyOCBAQCBjbGFzcyBQYW5lbChp YnVzLlBhbmVsQmFzZSk6CisgICAgICAgICBzZWxmLl9fc2V0dXBfcGlkID0gcGlkCisgICAgICAg ICBnbGliLmNoaWxkX3dhdGNoX2FkZChzZWxmLl9fc2V0dXBfcGlkLCBzZWxmLl9fY2hpbGRfd2F0 Y2hfY2IpCisgCistICAgIGRlZiBfX2VuZ2luZV9nZXRfbGF5b3V0X3dyYXBwZXIoc2VsZiwgZW5n aW5lKToKKysgICAgZGVmIF9fZW5naW5lX2dldF9sYXlvdXRfd3JhcHBlcihzZWxmLCBlbmdpbmUs IGNoYW5nZWRfc3RhdGUpOgorKyAgICAgICAgaWYgaWJ1cy51c2VfYnJpZGdlX2hvdGtleSgpIGFu ZCBcCisrICAgICAgICAgICBzZWxmLl9fZGlzYWJsZWRfZW5naW5lc19pZCA+PSAwIGFuZCBcCisr ICAgICAgICAgICBzZWxmLl9fZGlzYWJsZWRfZW5naW5lcyAhPSBOb25lIGFuZCBcCisrICAgICAg ICAgICBzZWxmLl9fZGlzYWJsZWRfZW5naW5lc19pZCA8IGxlbihzZWxmLl9fZGlzYWJsZWRfZW5n aW5lcyk6CisrICAgICAgICAgICAgaWYgY2hhbmdlZF9zdGF0ZSBhbmQgc2VsZi5fX2Rpc2FibGVk X2VuZ2luZXNfcHJldl9pZCAhPSAtMToKKysgICAgICAgICAgICAgICAgIyBzdGF0ZV9jaGFuZ2Vk IGlzIGFsd2F5cyBjYWxsZWQgdHdpY2UgYmVjYXVzZSB3ZSBjaGFuZ2UKKysgICAgICAgICAgICAg ICAgIyB0aGUgZW5naW5lLiBTbyB0aGUgZmlyc3QgdHdvIGNhbGxzIGFyZSBpZ25vcmVkIGhlcmUu CisrICAgICAgICAgICAgICAgIGlmIHNlbGYuX19kaXNhYmxlZF9lbmdpbmVzX3N3YXBwZWQgPCAy OgorKyAgICAgICAgICAgICAgICAgICAgc2VsZi5fX2Rpc2FibGVkX2VuZ2luZXNfc3dhcHBlZCA9 IFwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fX2Rpc2FibGVkX2VuZ2luZXNf c3dhcHBlZCArIDEKKysgICAgICAgICAgICAgICAgZWxzZToKKysgICAgICAgICAgICAgICAgICAg IHggPSBzZWxmLl9fZGlzYWJsZWRfZW5naW5lc19wcmV2X2lkCisrICAgICAgICAgICAgICAgICAg ICBzZWxmLl9fZGlzYWJsZWRfZW5naW5lc19wcmV2X2lkID0gc2VsZi5fX2Rpc2FibGVkX2VuZ2lu ZXNfaWQKKysgICAgICAgICAgICAgICAgICAgIHNlbGYuX19kaXNhYmxlZF9lbmdpbmVzX2lkID0g eAorKyAgICAgICAgICAgICAgICAgICAgc2VsZi5fX2Rpc2FibGVkX2VuZ2luZXNfc3dhcHBlZCA9 IDEKKysgICAgICAgICAgICByZXR2YWwgPSBzZWxmLl9fZGlzYWJsZWRfZW5naW5lc1tzZWxmLl9f ZGlzYWJsZWRfZW5naW5lc19pZF0ubGF5b3V0CisrICAgICAgICAgICAgcmV0dXJuIHJldHZhbAor ICAgICAgICAgIyBUaGlzIGNvZGUgaXMgZm9yIHRoZSBiYWNrIGNvbXBhdGliaWxpdHkuCisgICAg ICAgICAjIFNob3VsZCB3ZSByZW1vdmUgdGhlIGNvZGVzIGFmdGVyIGFsbCBJTSBlbmdpbmVzIGFy ZSBjaGFuZ2VkCisgICAgICAgICAjIHRvICJkZWZhdWx0IiBsYXlvdXQ/CistICAgICAgICBpZiBl bmdpbmUubmFtZSAhPSBOb25lIGFuZCBlbmdpbmUubmFtZS5zdGFydHN3aXRoKCJ4a2I6bGF5b3V0 OiIpOgorKyAgICAgICAgZWxpZiBlbmdpbmUubmFtZSAhPSBOb25lIGFuZCBlbmdpbmUubmFtZS5z dGFydHN3aXRoKCJ4a2I6bGF5b3V0OiIpOgorICAgICAgICAgICAgIHJldHVybiBlbmdpbmUubGF5 b3V0CisgICAgICAgICBlbHNlOgorICAgICAgICAgICAgIHJldHVybiAiZGVmYXVsdCIKIGRpZmYg LS1naXQgYS94a2IvTWFrZWZpbGUuYW0gYi94a2IvTWFrZWZpbGUuYW0KIGluZGV4IGFkOWNkZDku LmM0ZDVhZmIgMTAwNjQ0CiAtLS0gYS94a2IvTWFrZWZpbGUuYW0KQEAgLTg5OSw1ICsxMDk4LDUg QEAgaW5kZXggMmNlN2JjZi4uZGU2NjQ4ZiAxMDA2NDQKICAKICAgICAgZ19mcmVlIChuYW1lKTsK IC0tIAotMS43LjQuNAorMS43LjUuNAogCgpkaWZmIC0tZ2l0IGEvaWJ1cy14eC1pY29uLXN5bWJv bC5wYXRjaCBiL2lidXMteHgtaWNvbi1zeW1ib2wucGF0Y2gKaW5kZXggYWFlMjhmZi4uMDQzMjkz OCAxMDA2NDQKLS0tIGEvaWJ1cy14eC1pY29uLXN5bWJvbC5wYXRjaAorKysgYi9pYnVzLXh4LWlj b24tc3ltYm9sLnBhdGNoCkBAIC0xLDEyNCArMSwxNiBAQAotRnJvbSAxYTdkMzVlNWEyOWJlYzc1 ZGNjOThlOTM0ZDM5Y2ZkYjM5NTBhZTQ4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBj ZjFmYTFiYzcyZDZkN2FkNzFlOTI4ZGYxYzNhYTkzODA2OWNmZDllIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQogRnJvbTogZnVqaXdhcmF0IDx0YWthby5mdWppd2FyYTFAZ21haWwuY29tPgotRGF0 ZTogV2VkLCAyMiBKdW4gMjAxMSAxMjoyMTo1NSArMDkwMAotU3ViamVjdDogW1BBVENIXSBBZGQg aWNvbl9zeW1ib2wgcHJvcGVydHkgaW4gSUJ1c0VuZ2luZURlc2MuCitEYXRlOiBXZWQsIDI5IEp1 biAyMDExIDE2OjUwOjUxICswOTAwCitTdWJqZWN0OiBbUEFUQ0hdIEFkZCBzeW1ib2wgcHJvcGVy dHkgaW4gSUJ1c0VuZ2luZURlc2MuCiAKIC0tLQotIGJ1cy9lbmdpbmVwcm94eS5jICAgICAgICAg fCAgIDIyICsrKysrKysrKysrKysrKwotIGJ1cy9pYnVzaW1wbC5jICAgICAgICAgICAgfCAgIDMz ICsrKysrKysrKysrKysrKysrKysrKysKLSBidXMvaWJ1c2ltcGwuaCAgICAgICAgICAgIHwgICAg NCArKysKLSBpYnVzL2VuZ2luZS5weSAgICAgICAgICAgIHwgICAgMyArKwotIGlidXMvZW5naW5l ZGVzYy5weSAgICAgICAgfCAgIDE4ICsrKysrKysrKy0tLQotIGlidXMvaW50ZXJmYWNlL2llbmdp bmUucHkgfCAgICAzICsrCi0gc3JjL2lidXNlbmdpbmVkZXNjLmMgICAgICB8ICAgNjYgKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCi0gc3JjL2lidXNlbmdpbmVk ZXNjLmggICAgICB8ICAgMTAgKysrKysrKwotIDggZmlsZXMgY2hhbmdlZCwgMTU1IGluc2VydGlv bnMoKyksIDQgZGVsZXRpb25zKC0pCisgaWJ1cy9lbmdpbmVkZXNjLnB5ICAgfCAgIDE1ICsrKysr KysrKy0tLS0tLQorIHNyYy9pYnVzZW5naW5lZGVzYy5jIHwgICA0MCArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrCisgc3JjL2lidXNlbmdpbmVkZXNjLmggfCAgIDEwICsr KysrKysrKysKKyAzIGZpbGVzIGNoYW5nZWQsIDU5IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25z KC0pCiAKLWRpZmYgLS1naXQgYS9idXMvZW5naW5lcHJveHkuYyBiL2J1cy9lbmdpbmVwcm94eS5j Ci1pbmRleCBmNzRhZjEyLi41YzBjYmIyIDEwMDY0NAotLS0tIGEvYnVzL2VuZ2luZXByb3h5LmMK LSsrKyBiL2J1cy9lbmdpbmVwcm94eS5jCi1AQCAtNTkxLDYgKzU5MSwyOCBAQCBidXNfZW5naW5l X3Byb3h5X2dfc2lnbmFsIChHREJ1c1Byb3h5ICAqcHJveHksCi0gICAgICAgICByZXR1cm47Ci0g ICAgIH0KLSAKLSsgICAgaWYgKGdfc3RyY21wMCAoc2lnbmFsX25hbWUsICJTZXRJY29uU3ltYm9s IikgPT0gMCkgewotKyAgICAgICAgY29uc3QgZ2NoYXIgKm5hbWUgPSBOVUxMOwotKyAgICAgICAg Z2NoYXIgKmljb25fc3ltYm9sID0gTlVMTDsKLSsgICAgICAgIEdWYWx1ZSB2YWx1ZSA9IHsgMCwg fTsKLSsKLSsgICAgICAgIG5hbWUgPSBpYnVzX2VuZ2luZV9kZXNjX2dldF9uYW1lIChlbmdpbmUt PmRlc2MpOwotKyAgICAgICAgZ19yZXR1cm5faWZfZmFpbCAobmFtZSAhPSBOVUxMKTsKLSsgICAg ICAgIGdfdmFyaWFudF9nZXQgKHBhcmFtZXRlcnMsICIocykiLCAmaWNvbl9zeW1ib2wpOwotKyAg ICAgICAgZ19yZXR1cm5faWZfZmFpbCAoaWNvbl9zeW1ib2wgIT0gTlVMTCk7Ci0rCi0rICAgICAg ICBnX3ZhbHVlX2luaXQgKCZ2YWx1ZSwgR19UWVBFX1NUUklORyk7Ci0rICAgICAgICBnX3ZhbHVl X3NldF9zdHJpbmcgKCZ2YWx1ZSwgaWNvbl9zeW1ib2wpOwotKyAgICAgICAgZ19vYmplY3Rfc2V0 X3Byb3BlcnR5IChHX09CSkVDVCAoZW5naW5lLT5kZXNjKSwgImljb25fc3ltYm9sIiwgJnZhbHVl KTsKLSsgICAgICAgIGdfdmFsdWVfdW5zZXQgKCZ2YWx1ZSk7Ci0rCi0rICAgICAgICBidXNfaWJ1 c19pbXBsX3NldF9pY29uX3N5bWJvbF93aXRoX2VuZ2luZV9uYW1lIChCVVNfREVGQVVMVF9JQlVT LAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbmFtZSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGljb25fc3ltYm9sKTsKLSsgICAgICAgIGdfZnJlZSAoaWNvbl9zeW1ib2wpOwot KyAgICAgICAgcmV0dXJuOwotKyAgICB9Ci0rCi0gICAgIGdfcmV0dXJuX2lmX3JlYWNoZWQgKCk7 Ci0gfQotIAotZGlmZiAtLWdpdCBhL2J1cy9pYnVzaW1wbC5jIGIvYnVzL2lidXNpbXBsLmMKLWlu ZGV4IGIzNTZiMmMuLjM4ZDZkMTEgMTAwNjQ0Ci0tLS0gYS9idXMvaWJ1c2ltcGwuYwotKysrIGIv YnVzL2lidXNpbXBsLmMKLUBAIC0yMzQyLDMgKzIzNDIsMzYgQEAgYnVzX2lidXNfaW1wbF9nZXRf Zm9jdXNlZF9pbnB1dF9jb250ZXh0IChCdXNJQnVzSW1wbCAqaWJ1cykKLSAKLSAgICAgcmV0dXJu IGlidXMtPmZvY3VzZWRfY29udGV4dDsKLSB9Ci0rCi0rdm9pZAotK2J1c19pYnVzX2ltcGxfc2V0 X2ljb25fc3ltYm9sX3dpdGhfZW5naW5lX25hbWUgKEJ1c0lCdXNJbXBsICppYnVzLAotKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdjaGFyICpu YW1lLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv bnN0IGdjaGFyICppY29uX3N5bWJvbCkKLSt7Ci0rICAgIElCdXNFbmdpbmVEZXNjICpkZXNjID0g TlVMTDsKLSsgICAgR1ZhbHVlIHZhbHVlID0geyAwLCB9OwotKwotKyAgICBnX2Fzc2VydCAoQlVT X0lTX0lCVVNfSU1QTCAoaWJ1cykpOwotKyAgICBnX2Fzc2VydCAobmFtZSAhPSBOVUxMKTsKLSsg ICAgZ19hc3NlcnQgKGljb25fc3ltYm9sICE9IE5VTEwpOwotKwotKyAgICBkZXNjID0gYnVzX2li dXNfaW1wbF9nZXRfZW5naW5lX2Rlc2MgKGlidXMsIG5hbWUpOwotKwotKyAgICBpZiAoZGVzYyA9 PSBOVUxMKSB7Ci0rICAgICAgICByZXR1cm47Ci0rICAgIH0KLSsKLSsgICAgZ192YWx1ZV9pbml0 ICgmdmFsdWUsIEdfVFlQRV9TVFJJTkcpOwotKyAgICBnX3ZhbHVlX3NldF9zdHJpbmcgKCZ2YWx1 ZSwgaWNvbl9zeW1ib2wpOwotKyAgICBnX29iamVjdF9zZXRfcHJvcGVydHkgKEdfT0JKRUNUIChk ZXNjKSwgImljb25fc3ltYm9sIiwgJnZhbHVlKTsKLSsgICAgZ192YWx1ZV91bnNldCAoJnZhbHVl KTsKLSsKLSsgICAgLyogVXBkYXRlIHN0YXR1cyBpY29uLgotKyAgICAgKiAiZW5hYmxlZCIgc2ln bmFsIGlzIGNhdWdodCBieSBpYnVzLT5wYW5lbCBhbmQgaWJ1cy0+cGFuZWwgY2FsbHMKLSsgICAg ICogU3RhdGVDaGFuZ2VkIGRidXMgbWV0aG9kLiAqLwotKyAgICBpZiAoaWJ1cy0+cGFuZWwgJiYg aWJ1cy0+Zm9jdXNlZF9jb250ZXh0KSB7Ci0rICAgICAgICBpZiAoYnVzX2lucHV0X2NvbnRleHRf aXNfZW5hYmxlZCAoaWJ1cy0+Zm9jdXNlZF9jb250ZXh0KSkgewotKyAgICAgICAgICAgIGJ1c19p bnB1dF9jb250ZXh0X2VuYWJsZSAoaWJ1cy0+Zm9jdXNlZF9jb250ZXh0KTsKLSsgICAgICAgIH0K LSsgICAgfQotK30KLWRpZmYgLS1naXQgYS9idXMvaWJ1c2ltcGwuaCBiL2J1cy9pYnVzaW1wbC5o Ci1pbmRleCA0MmVkYmY4Li40ZjM3Y2JjIDEwMDY0NAotLS0tIGEvYnVzL2lidXNpbXBsLmgKLSsr KyBiL2J1cy9pYnVzaW1wbC5oCi1AQCAtOTksNiArOTksMTAgQEAgZ2Jvb2xlYW4gICAgICAgICBi dXNfaWJ1c19pbXBsX2lzX2VtYmVkX3ByZWVkaXRfdGV4dAotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoQnVzSUJ1c0ltcGwgICAgICAgICppYnVz KTsKLSBCdXNJbnB1dENvbnRleHQgKmJ1c19pYnVzX2ltcGxfZ2V0X2ZvY3VzZWRfaW5wdXRfY29u dGV4dAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAoQnVzSUJ1c0ltcGwgICAgICAgICppYnVzKTsKLSt2b2lkICAgICAgICAgICAgIGJ1c19pYnVz X2ltcGxfc2V0X2ljb25fc3ltYm9sX3dpdGhfZW5naW5lX25hbWUKLSsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEJ1c0lCdXNJbXBsICAgICAgICAq aWJ1cywKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGNvbnN0IGdjaGFyICAgICAgICAqbmFtZSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdjaGFyICAgICAgICAqaWNvbl9zeW1i b2wpOwotIAotIEdfRU5EX0RFQ0xTCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvaWJ1cy9lbmdpbmUu cHkgYi9pYnVzL2VuZ2luZS5weQotaW5kZXggZmU1ZGQ5OC4uZTgyNzQwOCAxMDA2NDQKLS0tLSBh L2lidXMvZW5naW5lLnB5Ci0rKysgYi9pYnVzL2VuZ2luZS5weQotQEAgLTE3Niw2ICsxNzYsOSBA QCBjbGFzcyBFbmdpbmVCYXNlKG9iamVjdC5PYmplY3QpOgotICAgICAgICAgc2VsZi5fX3Byb3h5 ID0gTm9uZQotICAgICAgICAgc3VwZXIoRW5naW5lQmFzZSxzZWxmKS5kb19kZXN0cm95KCkKLSAK LSsgICAgZGVmIHNldF9pY29uX3N5bWJvbChzZWxmLCBpY29uX3N5bWJvbCk6Ci0rICAgICAgICBy ZXR1cm4gc2VsZi5fX3Byb3h5LlNldEljb25TeW1ib2woaWNvbl9zeW1ib2wpCi0rCi0gCi0gY2xh c3MgRW5naW5lUHJveHkoaW50ZXJmYWNlLklFbmdpbmUpOgotICAgICBkZWYgX19pbml0X18oc2Vs ZiwgZW5naW5lLCBjb25uLCBvYmplY3RfcGF0aCk6CiBkaWZmIC0tZ2l0IGEvaWJ1cy9lbmdpbmVk ZXNjLnB5IGIvaWJ1cy9lbmdpbmVkZXNjLnB5Ci1pbmRleCBlOGE4OTgyLi5mNmI0MTEwIDEwMDY0 NAoraW5kZXggZThhODk4Mi4uM2NhN2YyNCAxMDA2NDQKIC0tLSBhL2lidXMvZW5naW5lZGVzYy5w eQogKysrIGIvaWJ1cy9lbmdpbmVkZXNjLnB5CiBAQCAtMzEsNyArMzEsNyBAQCBmcm9tIHNlcmlh bGl6YWJsZSBpbXBvcnQgKgpAQCAtMTI2LDcgKzE4LDcgQEAgaW5kZXggZThhODk4Mi4uZjZiNDEx MCAxMDA2NDQKICAgICAgX19ndHlwZV9uYW1lX18gPSAiUFlJQnVzRW5naW5lRGVzYyIKICAgICAg X19OQU1FX18gPSAiSUJ1c0VuZ2luZURlc2MiCiAtICAgIGRlZiBfX2luaXRfXyhzZWxmLCBuYW1l PSIiLCBsb25nbmFtZT0iIiwgZGVzY3JpcHRpb249IiIsIGxhbmd1YWdlPSIiLCBsaWNlbnNlPSIi LCBhdXRob3I9IiIsIGljb249IiIsIGxheW91dD0iIiwgaG90a2V5cz0iIiwgcmFuaz0wKToKLSsg ICAgZGVmIF9faW5pdF9fKHNlbGYsIG5hbWU9IiIsIGxvbmduYW1lPSIiLCBkZXNjcmlwdGlvbj0i IiwgbGFuZ3VhZ2U9IiIsIGxpY2Vuc2U9IiIsIGF1dGhvcj0iIiwgaWNvbj0iIiwgbGF5b3V0PSIi LCBob3RrZXlzPSIiLCByYW5rPTAsIGljb25fc3ltYm9sPSIiKToKKysgICAgZGVmIF9faW5pdF9f KHNlbGYsIG5hbWU9IiIsIGxvbmduYW1lPSIiLCBkZXNjcmlwdGlvbj0iIiwgbGFuZ3VhZ2U9IiIs IGxpY2Vuc2U9IiIsIGF1dGhvcj0iIiwgaWNvbj0iIiwgbGF5b3V0PSIiLCBob3RrZXlzPSIiLCBy YW5rPTAsIHN5bWJvbD0iIik6CiAgICAgICAgICBzdXBlcihFbmdpbmVEZXNjLCBzZWxmKS5fX2lu aXRfXygpCiAgICAgICAgICBzZWxmLl9fbmFtZSA9IG5hbWUKICAgICAgICAgIHNlbGYuX19sb25n bmFtZSA9IGxvbmduYW1lCkBAIC0xMzQsNyArMjYsNyBAQCBpbmRleCBlOGE4OTgyLi5mNmI0MTEw IDEwMDY0NAogICAgICAgICAgc2VsZi5fX2xheW91dCA9IGxheW91dAogICAgICAgICAgc2VsZi5f X3JhbmsgPSByYW5rCiAgICAgICAgICBzZWxmLl9faG90a2V5cyA9IGhvdGtleXMKLSsgICAgICAg IHNlbGYuX19pY29uX3N5bWJvbCA9IGljb25fc3ltYm9sCisrICAgICAgICBzZWxmLl9fc3ltYm9s ID0gc3ltYm9sCiAgCiAgICAgIGRlZiBnZXRfbmFtZShzZWxmKToKICAgICAgICAgIHJldHVybiBz ZWxmLl9fbmFtZQpAQCAtMTQyLDggKzM0LDggQEAgaW5kZXggZThhODk4Mi4uZjZiNDExMCAxMDA2 NDQKICAgICAgZGVmIGdldF9ob3RrZXlzKHNlbGYpOgogICAgICAgICAgcmV0dXJuIHNlbGYuX19o b3RrZXlzCiAgCi0rICAgIGRlZiBnZXRfaWNvbl9zeW1ib2woc2VsZik6Ci0rICAgICAgICByZXR1 cm4gc2VsZi5fX2ljb25fc3ltYm9sCisrICAgIGRlZiBnZXRfc3ltYm9sKHNlbGYpOgorKyAgICAg ICAgcmV0dXJuIHNlbGYuX19zeW1ib2wKICsKICAgICAgbmFtZSAgICAgICAgPSBwcm9wZXJ0eShn ZXRfbmFtZSkKICAgICAgbG9uZ25hbWUgICAgPSBwcm9wZXJ0eShnZXRfbG9uZ25hbWUpCkBAIC0x NTIsMzAgKzQ0LDI3IEBAIGluZGV4IGU4YTg5ODIuLmY2YjQxMTAgMTAwNjQ0CiAgICAgIGxheW91 dCAgICAgID0gcHJvcGVydHkoZ2V0X2xheW91dCkKICAgICAgcmFuayAgICAgICAgPSBwcm9wZXJ0 eShnZXRfcmFuaykKICAgICAgaG90a2V5cyAgICAgPSBwcm9wZXJ0eShnZXRfaG90a2V5cykKLSsg ICAgaWNvbl9zeW1ib2wgPSBwcm9wZXJ0eShnZXRfaWNvbl9zeW1ib2wpCisrICAgIHN5bWJvbCAg ICAgID0gcHJvcGVydHkoZ2V0X3N5bWJvbCkKICAKICAgICAgZGVmIHNlcmlhbGl6ZShzZWxmLCBz dHJ1Y3QpOgogICAgICAgICAgc3VwZXIoRW5naW5lRGVzYywgc2VsZikuc2VyaWFsaXplKHN0cnVj dCkKLUBAIC05OCw3ICsxMDMsOSBAQCBjbGFzcyBFbmdpbmVEZXNjKFNlcmlhbGl6YWJsZSk6CitA QCAtOTcsOCArMTAyLDcgQEAgY2xhc3MgRW5naW5lRGVzYyhTZXJpYWxpemFibGUpOgorICAgICAg ICAgc3RydWN0LmFwcGVuZChkYnVzLlN0cmluZyhzZWxmLl9fbGF5b3V0KSkKICAgICAgICAgIHN0 cnVjdC5hcHBlbmQoZGJ1cy5VSW50MzIoc2VsZi5fX3JhbmspKQogICAgICAgICAgc3RydWN0LmFw cGVuZChkYnVzLlN0cmluZyhzZWxmLl9faG90a2V5cykpCi0gICAgICAgICAjIE5ldyBwcm9wZXJ0 aWVzIG9mIEVuZ2luZURlc2Mgd2lsbCB1c2UgZGljdCBmb3Igc2VyaWFsaXplCistICAgICAgICAj IE5ldyBwcm9wZXJ0aWVzIG9mIEVuZ2luZURlc2Mgd2lsbCB1c2UgZGljdCBmb3Igc2VyaWFsaXpl CiAtICAgICAgICBzdHJ1Y3QuYXBwZW5kKGRidXMuQXJyYXkoe30sIHNpZ25hdHVyZT1Ob25lKSkK LSsgICAgICAgIGV4dGVuc2lvbiA9IGRidXMuRGljdGlvbmFyeShzaWduYXR1cmU9InN2IikKLSsg ICAgICAgIGV4dGVuc2lvbltkYnVzLlN0cmluZygnaWNvbl9zeW1ib2wnKV0gPSBkYnVzLlN0cmlu ZyhzZWxmLl9faWNvbl9zeW1ib2wpCi0rICAgICAgICBzdHJ1Y3QuYXBwZW5kKGV4dGVuc2lvbikK KysgICAgICAgIHN0cnVjdC5hcHBlbmQoZGJ1cy5TdHJpbmcoc2VsZi5fX3N5bWJvbCkpCiAgCiAg ICAgIGRlZiBkZXNlcmlhbGl6ZShzZWxmLCBzdHJ1Y3QpOgogICAgICAgICAgc3VwZXIoRW5naW5l RGVzYywgc2VsZikuZGVzZXJpYWxpemUoc3RydWN0KQotQEAgLTExMywxMCArMTIwLDEzIEBAIGNs YXNzIEVuZ2luZURlc2MoU2VyaWFsaXphYmxlKToKK0BAIC0xMTIsMTEgKzExNiwxMCBAQCBjbGFz cyBFbmdpbmVEZXNjKFNlcmlhbGl6YWJsZSk6CisgICAgICAgICBzZWxmLl9fbGF5b3V0ID0gc3Ry dWN0LnBvcCgwKQogICAgICAgICAgc2VsZi5fX3JhbmsgPSBzdHJ1Y3QucG9wKDApCiAgICAgICAg ICBzZWxmLl9faG90a2V5cyA9IHN0cnVjdC5wb3AoMCkKLSAgICAgICAgICMgTmV3IHByb3BlcnRp ZXMgb2YgRW5naW5lRGVzYyB3aWxsIHVzZSBkaWN0IGZvciBzZXJpYWxpemUKKy0gICAgICAgICMg TmV3IHByb3BlcnRpZXMgb2YgRW5naW5lRGVzYyB3aWxsIHVzZSBkaWN0IGZvciBzZXJpYWxpemUK IC0gICAgICAgICN2YWx1ZSA9IHN0cnVjdC5wb3AoMCkKLSsgICAgICAgIGwgPSBzdHJ1Y3QucG9w KDApCi0rICAgICAgICBmb3Iga2V5LCB2YWx1ZSBpbiBsLml0ZW1zKCk6Ci0rICAgICAgICAgICAg aWYga2V5ID09ICdpY29uX3N5bWJvbCc6Ci0rICAgICAgICAgICAgICAgIHNlbGYuX19pY29uX3N5 bWJvbD0gdW5pY29kZSh2YWx1ZSkKKysgICAgICAgIHNlbGYuX19zeW1ib2wgPSBzdHJ1Y3QucG9w KDApCiAgCiAgZGVmIHRlc3QoKToKIC0gICAgZW5naW5lID0gRW5naW5lRGVzYygiSGVsbG8iLCAi IiwgIiIsICIiLCAiIiwgIiIsICIiLCAiIiwgIiIpCkBAIC0xODMsMjEwICs3MiwxNzggQEAgaW5k ZXggZThhODk4Mi4uZjZiNDExMCAxMDA2NDQKICAgICAgdmFsdWUgPSBzZXJpYWxpemVfb2JqZWN0 KGVuZ2luZSkKICAgICAgZW5naW5lID0gZGVzZXJpYWxpemVfb2JqZWN0KHZhbHVlKQogIAotZGlm ZiAtLWdpdCBhL2lidXMvaW50ZXJmYWNlL2llbmdpbmUucHkgYi9pYnVzL2ludGVyZmFjZS9pZW5n aW5lLnB5Ci1pbmRleCA5ZTBkOTgxLi43Y2VmY2RmIDEwMDY0NAotLS0tIGEvaWJ1cy9pbnRlcmZh Y2UvaWVuZ2luZS5weQotKysrIGIvaWJ1cy9pbnRlcmZhY2UvaWVuZ2luZS5weQotQEAgLTE1Nywz ICsxNTcsNiBAQCBjbGFzcyBJRW5naW5lKGRidXMuc2VydmljZS5PYmplY3QpOgotIAotICAgICBA c2lnbmFsKCkKLSAgICAgZGVmIFJlcXVpcmVTdXJyb3VuZGluZ1RleHQoc2VsZik6IHBhc3MKLSsK LSsgICAgQHNpZ25hbChzaWduYXR1cmU9InMiKQotKyAgICBkZWYgU2V0SWNvblN5bWJvbChzZWxm LCBpY29uX3N5bWJvbCk6IHBhc3MKIGRpZmYgLS1naXQgYS9zcmMvaWJ1c2VuZ2luZWRlc2MuYyBi L3NyYy9pYnVzZW5naW5lZGVzYy5jCi1pbmRleCBjYTVlZjYwLi5kMzgwMGUxIDEwMDY0NAoraW5k ZXggY2E1ZWY2MC4uZmEzYTc2OCAxMDA2NDQKIC0tLSBhL3NyYy9pYnVzZW5naW5lZGVzYy5jCiAr KysgYi9zcmMvaWJ1c2VuZ2luZWRlc2MuYwotQEAgLTIyLDYgKzIyLDcgQEAKLSAjaW5jbHVkZSA8 c3RkbGliLmg+Ci0gI2luY2x1ZGUgImlidXNlbmdpbmVkZXNjLmgiCi0gI2luY2x1ZGUgImlidXN4 bWwuaCIKLSsjaW5jbHVkZSAiaWJ1c2VudW10eXBlcy5oIgotIAotIGVudW0gewotICAgICBMQVNU X1NJR05BTCwKLUBAIC0zOSw2ICs0MCw3IEBAIGVudW0geworQEAgLTM5LDYgKzM5LDcgQEAgZW51 bSB7CiAgICAgIFBST1BfTEFZT1VULAogICAgICBQUk9QX1JBTkssCiAgICAgIFBST1BfSE9US0VZ UywKLSsgICAgUFJPUF9JQ09OX1NZTUJPTCwKKysgICAgUFJPUF9TWU1CT0wsCiAgfTsKICAKICAK LUBAIC01NCw2ICs1Niw3IEBAIHN0cnVjdCBfSUJ1c0VuZ2luZURlc2NQcml2YXRlIHsKK0BAIC01 NCw2ICs1NSw3IEBAIHN0cnVjdCBfSUJ1c0VuZ2luZURlc2NQcml2YXRlIHsKICAgICAgZ2NoYXIg ICAgICAqbGF5b3V0OwogICAgICBndWludCAgICAgICByYW5rOwogICAgICBnY2hhciAgICAgICpo b3RrZXlzOwotKyAgICBnY2hhciAgICAgICppY29uX3N5bWJvbDsKKysgICAgZ2NoYXIgICAgICAq c3ltYm9sOwogIH07CiAgCiAgI2RlZmluZSBJQlVTX0VOR0lORV9ERVNDX0dFVF9QUklWQVRFKG8p ICBcCi1AQCAtMjMyLDYgKzIzNSwxOSBAQCBpYnVzX2VuZ2luZV9kZXNjX2NsYXNzX2luaXQgKElC dXNFbmdpbmVEZXNjQ2xhc3MgKmNsYXNzKQorQEAgLTIzMiw2ICsyMzQsMTkgQEAgaWJ1c19lbmdp bmVfZGVzY19jbGFzc19pbml0IChJQnVzRW5naW5lRGVzY0NsYXNzICpjbGFzcykKICAgICAgICAg ICAgICAgICAgICAgICAgICAiVGhlIGhvdGtleXMgb2YgZW5naW5lIGRlc2NyaXB0aW9uIiwKICAg ICAgICAgICAgICAgICAgICAgICAgICAiIiwKICAgICAgICAgICAgICAgICAgICAgICAgICBHX1BB UkFNX1JFQURXUklURSB8IEdfUEFSQU1fQ09OU1RSVUNUX09OTFkpKTsKICsKICsgICAgLyoqCi0r ICAgICAqIElCdXNFbmdpbmVEZXNjOmljb25fc3ltYm9sOgorKyAgICAgKiBJQnVzRW5naW5lRGVz YzpzeW1ib2w6CiArICAgICAqCiArICAgICAqIFRoZSBzeW1ib2wgY2hhcnMgb2YgZW5naW5lIGRl c2NyaXB0aW9uIGluc3RlYWQgb2YgaWNvbiBpbWFnZQogKyAgICAgKi8KICsgICAgZ19vYmplY3Rf Y2xhc3NfaW5zdGFsbF9wcm9wZXJ0eSAoZ29iamVjdF9jbGFzcywKLSsgICAgICAgICAgICAgICAg ICAgIFBST1BfSUNPTl9TWU1CT0wsCi0rICAgICAgICAgICAgICAgICAgICBnX3BhcmFtX3NwZWNf c3RyaW5nICgiaWNvbl9zeW1ib2wiLAotKyAgICAgICAgICAgICAgICAgICAgICAgICJkZXNjcmlw dGlvbiBpY29uX3N5bWJvbCIsCisrICAgICAgICAgICAgICAgICAgICBQUk9QX1NZTUJPTCwKKysg ICAgICAgICAgICAgICAgICAgIGdfcGFyYW1fc3BlY19zdHJpbmcgKCJzeW1ib2wiLAorKyAgICAg ICAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiBzeW1ib2wiLAogKyAgICAgICAgICAgICAg ICAgICAgICAgICJUaGUgaWNvbiBzeW1ib2wgY2hhcnMgb2YgZW5naW5lIGRlc2NyaXB0aW9uIiwK ICsgICAgICAgICAgICAgICAgICAgICAgICAiIiwKLSsgICAgICAgICAgICAgICAgICAgICAgICBH X1BBUkFNX1JFQURXUklURSB8IEdfUEFSQU1fQ09OU1RSVUNUKSk7CisrICAgICAgICAgICAgICAg ICAgICAgICAgR19QQVJBTV9SRUFEV1JJVEUgfCBHX1BBUkFNX0NPTlNUUlVDVF9PTkxZKSk7CiAg fQogIAogIHN0YXRpYyB2b2lkCi1AQCAtMjQ5LDYgKzI2NSw3IEBAIGlidXNfZW5naW5lX2Rlc2Nf aW5pdCAoSUJ1c0VuZ2luZURlc2MgKmRlc2MpCitAQCAtMjQ5LDYgKzI2NCw3IEBAIGlidXNfZW5n aW5lX2Rlc2NfaW5pdCAoSUJ1c0VuZ2luZURlc2MgKmRlc2MpCiAgICAgIGRlc2MtPnByaXYtPmxh eW91dCA9IE5VTEw7CiAgICAgIGRlc2MtPnByaXYtPnJhbmsgPSAwOwogICAgICBkZXNjLT5wcml2 LT5ob3RrZXlzID0gTlVMTDsKLSsgICAgZGVzYy0+cHJpdi0+aWNvbl9zeW1ib2wgPSBOVUxMOwor KyAgICBkZXNjLT5wcml2LT5zeW1ib2wgPSBOVUxMOwogIH0KICAKICBzdGF0aWMgdm9pZAotQEAg LTI2Myw2ICsyODAsNyBAQCBpYnVzX2VuZ2luZV9kZXNjX2Rlc3Ryb3kgKElCdXNFbmdpbmVEZXNj ICpkZXNjKQorQEAgLTI2Myw2ICsyNzksNyBAQCBpYnVzX2VuZ2luZV9kZXNjX2Rlc3Ryb3kgKElC dXNFbmdpbmVEZXNjICpkZXNjKQogICAgICBnX2ZyZWUgKGRlc2MtPnByaXYtPmljb24pOwogICAg ICBnX2ZyZWUgKGRlc2MtPnByaXYtPmxheW91dCk7CiAgICAgIGdfZnJlZSAoZGVzYy0+cHJpdi0+ aG90a2V5cyk7Ci0rICAgIGdfZnJlZSAoZGVzYy0+cHJpdi0+aWNvbl9zeW1ib2wpOworKyAgICBn X2ZyZWUgKGRlc2MtPnByaXYtPnN5bWJvbCk7CiAgCiAgICAgIElCVVNfT0JKRUNUX0NMQVNTIChp YnVzX2VuZ2luZV9kZXNjX3BhcmVudF9jbGFzcyktPmRlc3Ryb3kgKElCVVNfT0JKRUNUIChkZXNj KSk7CiAgfQotQEAgLTMxMyw2ICszMzEsMTAgQEAgaWJ1c19lbmdpbmVfZGVzY19zZXRfcHJvcGVy dHkgKElCdXNFbmdpbmVEZXNjICpkZXNjLAorQEAgLTMxMyw2ICszMzAsMTAgQEAgaWJ1c19lbmdp bmVfZGVzY19zZXRfcHJvcGVydHkgKElCdXNFbmdpbmVEZXNjICpkZXNjLAogICAgICAgICAgZ19h c3NlcnQgKGRlc2MtPnByaXYtPmhvdGtleXMgPT0gTlVMTCk7CiAgICAgICAgICBkZXNjLT5wcml2 LT5ob3RrZXlzID0gZ192YWx1ZV9kdXBfc3RyaW5nICh2YWx1ZSk7CiAgICAgICAgICBicmVhazsK LSsgICAgY2FzZSBQUk9QX0lDT05fU1lNQk9MOgotKyAgICAgICAgZ19mcmVlIChkZXNjLT5wcml2 LT5pY29uX3N5bWJvbCk7Ci0rICAgICAgICBkZXNjLT5wcml2LT5pY29uX3N5bWJvbCA9IGdfdmFs dWVfZHVwX3N0cmluZyAodmFsdWUpOworKyAgICBjYXNlIFBST1BfU1lNQk9MOgorKyAgICAgICAg Z19hc3NlcnQgKGRlc2MtPnByaXYtPnN5bWJvbCA9PSBOVUxMKTsKKysgICAgICAgIGRlc2MtPnBy aXYtPnN5bWJvbCA9IGdfdmFsdWVfZHVwX3N0cmluZyAodmFsdWUpOwogKyAgICAgICAgYnJlYWs7 CiAgICAgIGRlZmF1bHQ6CiAgICAgICAgICBHX09CSkVDVF9XQVJOX0lOVkFMSURfUFJPUEVSVFlf SUQgKGRlc2MsIHByb3BfaWQsIHBzcGVjKTsKICAgICAgfQotQEAgLTM1NSw2ICszNzcsOSBAQCBp YnVzX2VuZ2luZV9kZXNjX2dldF9wcm9wZXJ0eSAoSUJ1c0VuZ2luZURlc2MgKmRlc2MsCitAQCAt MzU1LDYgKzM3Niw5IEBAIGlidXNfZW5naW5lX2Rlc2NfZ2V0X3Byb3BlcnR5IChJQnVzRW5naW5l RGVzYyAqZGVzYywKICAgICAgY2FzZSBQUk9QX0hPVEtFWVM6CiAgICAgICAgICBnX3ZhbHVlX3Nl dF9zdHJpbmcgKHZhbHVlLCBpYnVzX2VuZ2luZV9kZXNjX2dldF9ob3RrZXlzIChkZXNjKSk7CiAg ICAgICAgICBicmVhazsKLSsgICAgY2FzZSBQUk9QX0lDT05fU1lNQk9MOgotKyAgICAgICAgZ192 YWx1ZV9zZXRfc3RyaW5nICh2YWx1ZSwgaWJ1c19lbmdpbmVfZGVzY19nZXRfaWNvbl9zeW1ib2wg KGRlc2MpKTsKKysgICAgY2FzZSBQUk9QX1NZTUJPTDoKKysgICAgICAgIGdfdmFsdWVfc2V0X3N0 cmluZyAodmFsdWUsIGlidXNfZW5naW5lX2Rlc2NfZ2V0X3N5bWJvbCAoZGVzYykpOwogKyAgICAg ICAgYnJlYWs7CiAgICAgIGRlZmF1bHQ6CiAgICAgICAgICBHX09CSkVDVF9XQVJOX0lOVkFMSURf UFJPUEVSVFlfSUQgKGRlc2MsIHByb3BfaWQsIHBzcGVjKTsKICAgICAgfQotQEAgLTM4Miw5ICs0 MDcsMjggQEAgaWJ1c19lbmdpbmVfZGVzY19zZXJpYWxpemUgKElCdXNFbmdpbmVEZXNjICAqZGVz YywKK0BAIC0zNzEsNiArMzk1LDEwIEBAIGlidXNfZW5naW5lX2Rlc2Nfc2VyaWFsaXplIChJQnVz RW5naW5lRGVzYyAgKmRlc2MsCisgICAgIC8qIEVuZCBkaWN0IGl0ZXIgKi8KKyAKKyAjZGVmaW5l IE5PVE5VTEwocykgKChzKSAhPSBOVUxMID8gKHMpIDogIiIpCisrICAgIC8qIElmIHlvdSB3aWxs IGFkZCBhIG5ldyBwcm9wZXJ0eSwgeW91IGNhbiBhcHBlbmQgaXQgYXQgdGhlIGVuZCBhbmQKKysg ICAgICogeW91IHNob3VsZCBub3QgY2hhbmdlIHRoZSBzZXJpYWxpemVkIG9yZGVyIG9mIG5hbWUs IGxvbmduYW1lLAorKyAgICAgKiBkZXNjcmlwdGlvbiwgLi4uIGJlY2F1c2UgdGhlIG9yZGVyIGlz IGFsc28gdXNlZCBpbiBvdGhlciBhcHBsaWNhdGlvbnMKKysgICAgICogbGlrZXMgaWJ1cy1xdC4g Ki8KKyAgICAgZ192YXJpYW50X2J1aWxkZXJfYWRkIChidWlsZGVyLCAicyIsIE5PVE5VTEwgKGRl c2MtPnByaXYtPm5hbWUpKTsKKyAgICAgZ192YXJpYW50X2J1aWxkZXJfYWRkIChidWlsZGVyLCAi cyIsIE5PVE5VTEwgKGRlc2MtPnByaXYtPmxvbmduYW1lKSk7CisgICAgIGdfdmFyaWFudF9idWls ZGVyX2FkZCAoYnVpbGRlciwgInMiLCBOT1ROVUxMIChkZXNjLT5wcml2LT5kZXNjcmlwdGlvbikp OworQEAgLTM4MSw3ICs0MDksOSBAQCBpYnVzX2VuZ2luZV9kZXNjX3NlcmlhbGl6ZSAoSUJ1c0Vu Z2luZURlc2MgICpkZXNjLAorICAgICBnX3ZhcmlhbnRfYnVpbGRlcl9hZGQgKGJ1aWxkZXIsICJz IiwgTk9UTlVMTCAoZGVzYy0+cHJpdi0+bGF5b3V0KSk7CiAgICAgIGdfdmFyaWFudF9idWlsZGVy X2FkZCAoYnVpbGRlciwgInUiLCBkZXNjLT5wcml2LT5yYW5rKTsKICAgICAgZ192YXJpYW50X2J1 aWxkZXJfYWRkIChidWlsZGVyLCAicyIsIE5PVE5VTEwgKGRlc2MtPnByaXYtPmhvdGtleXMpKTsK KysgICAgZ192YXJpYW50X2J1aWxkZXJfYWRkIChidWlsZGVyLCAicyIsIE5PVE5VTEwgKGRlc2Mt PnByaXYtPnN5bWJvbCkpOwogICN1bmRlZiBOT1ROVUxMCiArCi0rICAgIC8qIGFwcGVuZCBleHRy YSBwcm9wZXJ0aWVzICovCi0rICAgIEdWYXJpYW50QnVpbGRlciBhcnJheTsKLSsgICAgZ192YXJp YW50X2J1aWxkZXJfaW5pdCAoJmFycmF5LCBHX1ZBUklBTlRfVFlQRSAoImF7c3Z9IikpOwotKyAg ICBnX3ZhcmlhbnRfYnVpbGRlcl9hZGQgKCZhcnJheSwgIntzdn0iLCAiaWNvbl9zeW1ib2wiLCBn X3ZhcmlhbnRfbmV3X3N0cmluZyAoZGVzYy0+cHJpdi0+aWNvbl9zeW1ib2wpKTsKLSsgICAgZ192 YXJpYW50X2J1aWxkZXJfYWRkIChidWlsZGVyLCAidiIsIGdfdmFyaWFudF9idWlsZGVyX2VuZCAo JmFycmF5KSk7Ci0rCiAgICAgIHJldHVybiBUUlVFOwogIH0KICAKLStzdGF0aWMgZ2Jvb2xlYW4K LStpYnVzX2VuZ2luZV9kZXNjX2Rlc2VyaWFsaXplX3Byb3BlcnR5IChJQnVzRW5naW5lRGVzYyAq ZGVzYywKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnY2hh ciAgICAqbmFtZSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHVmFy aWFudCAgICAgICAqdmFyaWFudCkKLSt7Ci0rICAgIGlmIChnX3N0cmNtcDAgKG5hbWUsICJpY29u X3N5bWJvbCIpID09IDApIHsKLSsgICAgICAgIGdfdmFyaWFudF9nZXQgKHZhcmlhbnQsICJzIiwg JmRlc2MtPnByaXYtPmljb25fc3ltYm9sKTsKLSsgICAgICAgIHJldHVybiBUUlVFOwotKyAgICB9 Ci0rICAgIHJldHVybiBGQUxTRTsKLSt9Ci0rCi0gc3RhdGljIGdpbnQKLSBpYnVzX2VuZ2luZV9k ZXNjX2Rlc2VyaWFsaXplIChJQnVzRW5naW5lRGVzYyAqZGVzYywKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBHVmFyaWFudCAgICAgICAqdmFyaWFudCkKLUBAIC00MDUsNiArNDQ5LDIz IEBAIGlidXNfZW5naW5lX2Rlc2NfZGVzZXJpYWxpemUgKElCdXNFbmdpbmVEZXNjICpkZXNjLAor QEAgLTM5NCw2ICs0MjQsMTAgQEAgaWJ1c19lbmdpbmVfZGVzY19kZXNlcmlhbGl6ZSAoSUJ1c0Vu Z2luZURlc2MgKmRlc2MsCisgICAgIHJldHZhbCA9IElCVVNfU0VSSUFMSVpBQkxFX0NMQVNTIChp YnVzX2VuZ2luZV9kZXNjX3BhcmVudF9jbGFzcyktPmRlc2VyaWFsaXplICgoSUJ1c1NlcmlhbGl6 YWJsZSAqKWRlc2MsIHZhcmlhbnQpOworICAgICBnX3JldHVybl92YWxfaWZfZmFpbCAocmV0dmFs LCAwKTsKKyAKKysgICAgLyogSWYgeW91IHdpbGwgYWRkIGEgbmV3IHByb3BlcnR5LCB5b3UgY2Fu IGFwcGVuZCBpdCBhdCB0aGUgZW5kIGFuZAorKyAgICAgKiB5b3Ugc2hvdWxkIG5vdCBjaGFuZ2Ug dGhlIHNlcmlhbGl6ZWQgb3JkZXIgb2YgbmFtZSwgbG9uZ25hbWUsCisrICAgICAqIGRlc2NyaXB0 aW9uLCAuLi4gYmVjYXVzZSB0aGUgb3JkZXIgaXMgYWxzbyB1c2VkIGluIG90aGVyIGFwcGxpY2F0 aW9ucworKyAgICAgKiBsaWtlcyBpYnVzLXF0LiAqLworICAgICBnX3ZhcmlhbnRfZ2V0X2NoaWxk ICh2YXJpYW50LCByZXR2YWwrKywgInMiLCAmZGVzYy0+cHJpdi0+bmFtZSk7CisgICAgIGdfdmFy aWFudF9nZXRfY2hpbGQgKHZhcmlhbnQsIHJldHZhbCsrLCAicyIsICZkZXNjLT5wcml2LT5sb25n bmFtZSk7CisgICAgIGdfdmFyaWFudF9nZXRfY2hpbGQgKHZhcmlhbnQsIHJldHZhbCsrLCAicyIs ICZkZXNjLT5wcml2LT5kZXNjcmlwdGlvbik7CitAQCAtNDA0LDYgKzQzOCw3IEBAIGlidXNfZW5n aW5lX2Rlc2NfZGVzZXJpYWxpemUgKElCdXNFbmdpbmVEZXNjICpkZXNjLAorICAgICBnX3Zhcmlh bnRfZ2V0X2NoaWxkICh2YXJpYW50LCByZXR2YWwrKywgInMiLCAmZGVzYy0+cHJpdi0+bGF5b3V0 KTsKICAgICAgZ192YXJpYW50X2dldF9jaGlsZCAodmFyaWFudCwgcmV0dmFsKyssICJ1IiwgJmRl c2MtPnByaXYtPnJhbmspOwogICAgICBnX3ZhcmlhbnRfZ2V0X2NoaWxkICh2YXJpYW50LCByZXR2 YWwrKywgInMiLCAmZGVzYy0+cHJpdi0+aG90a2V5cyk7CisrICAgIGdfdmFyaWFudF9nZXRfY2hp bGQgKHZhcmlhbnQsIHJldHZhbCsrLCAicyIsICZkZXNjLT5wcml2LT5zeW1ib2wpOwogIAotKyAg ICAvKiBleHRyYWN0IGV4dHJhIHByb3BlcnRpZXMgKi8KLSsgICAgR1ZhcmlhbnRJdGVyIGl0ZXI7 Ci0rICAgIEdWYXJpYW50ICpjaGlsZCwgKmFycmF5OwotKwotKyAgICBnX3ZhcmlhbnRfZ2V0X2No aWxkICh2YXJpYW50LCByZXR2YWwrKywgInYiLCAmYXJyYXkpOwotKyAgICBnX3ZhcmlhbnRfaXRl cl9pbml0ICgmaXRlciwgYXJyYXkpOwotKyAgICB3aGlsZSAoKGNoaWxkID0gZ192YXJpYW50X2l0 ZXJfbmV4dF92YWx1ZSAoJml0ZXIpKSkgewotKyAgICAgICAgZ2NoYXIgKm5hbWU7Ci0rICAgICAg ICBHVmFyaWFudCAqdmFsdWU7Ci0rICAgICAgICBnX3ZhcmlhbnRfZ2V0IChjaGlsZCwgIntzdn0i LCAmbmFtZSwgJnZhbHVlKTsKLSsgICAgICAgIGlmIChpYnVzX2VuZ2luZV9kZXNjX2Rlc2VyaWFs aXplX3Byb3BlcnR5IChkZXNjLCBuYW1lLCB2YWx1ZSkpCi0rICAgICAgICAgICAgcmV0dmFsKys7 Ci0rICAgICAgICBnX2ZyZWUgKG5hbWUpOwotKyAgICAgICAgZ192YXJpYW50X3VucmVmICh2YWx1 ZSk7Ci0rICAgICAgICBnX3ZhcmlhbnRfdW5yZWYgKGNoaWxkKTsKLSsgICAgfQotKwogICAgICBy ZXR1cm4gcmV0dmFsOwogIH0KLSAKLUBAIC00MjgsNiArNDg5LDcgQEAgaWJ1c19lbmdpbmVfZGVz Y19jb3B5IChJQnVzRW5naW5lRGVzYyAgICAgICAqZGVzdCwKK0BAIC00MjgsNiArNDYzLDcgQEAg aWJ1c19lbmdpbmVfZGVzY19jb3B5IChJQnVzRW5naW5lRGVzYyAgICAgICAqZGVzdCwKICAgICAg ZGVzdC0+cHJpdi0+bGF5b3V0ICAgICAgICAgICA9IGdfc3RyZHVwIChzcmMtPnByaXYtPmxheW91 dCk7CiAgICAgIGRlc3QtPnByaXYtPnJhbmsgICAgICAgICAgICAgPSBzcmMtPnByaXYtPnJhbms7 CiAgICAgIGRlc3QtPnByaXYtPmhvdGtleXMgICAgICAgICAgPSBnX3N0cmR1cCAoc3JjLT5wcml2 LT5ob3RrZXlzKTsKLSsgICAgZGVzdC0+cHJpdi0+aWNvbl9zeW1ib2wgICAgICA9IGdfc3RyZHVw IChzcmMtPnByaXYtPmljb25fc3ltYm9sKTsKKysgICAgZGVzdC0+cHJpdi0+c3ltYm9sICAgICAg ICAgICA9IGdfc3RyZHVwIChzcmMtPnByaXYtPnN5bWJvbCk7CiAgICAgIHJldHVybiBUUlVFOwog IH0KICAKLUBAIC00NjUsNiArNTI3LDcgQEAgaWJ1c19lbmdpbmVfZGVzY19vdXRwdXQgKElCdXNF bmdpbmVEZXNjICpkZXNjLAorQEAgLTQ2NSw2ICs1MDEsNyBAQCBpYnVzX2VuZ2luZV9kZXNjX291 dHB1dCAoSUJ1c0VuZ2luZURlc2MgKmRlc2MsCiAgICAgIE9VVFBVVF9FTlRSWV8xKGljb24pOwog ICAgICBPVVRQVVRfRU5UUllfMShsYXlvdXQpOwogICAgICBPVVRQVVRfRU5UUllfMShob3RrZXlz KTsKLSsgICAgT1VUUFVUX0VOVFJZXzEoaWNvbl9zeW1ib2wpOworKyAgICBPVVRQVVRfRU5UUllf MShzeW1ib2wpOwogICAgICBnX3N0cmluZ19hcHBlbmRfaW5kZW50IChvdXRwdXQsIGluZGVudCAr IDEpOwogICAgICBnX3N0cmluZ19hcHBlbmRfcHJpbnRmIChvdXRwdXQsICI8cmFuaz4ldTwvcmFu az5cbiIsIGRlc2MtPnByaXYtPnJhbmspOwogICN1bmRlZiBPVVRQVVRfRU5UUlkKLUBAIC00OTgs NiArNTYxLDcgQEAgaWJ1c19lbmdpbmVfZGVzY19wYXJzZV94bWxfbm9kZSAoSUJ1c0VuZ2luZURl c2MgKmRlc2MsCitAQCAtNDk4LDYgKzUzNSw3IEBAIGlidXNfZW5naW5lX2Rlc2NfcGFyc2VfeG1s X25vZGUgKElCdXNFbmdpbmVEZXNjICpkZXNjLAogICAgICAgICAgUEFSU0VfRU5UUllfMShpY29u KTsKICAgICAgICAgIFBBUlNFX0VOVFJZXzEobGF5b3V0KTsKICAgICAgICAgIFBBUlNFX0VOVFJZ XzEoaG90a2V5cyk7Ci0rICAgICAgICBQQVJTRV9FTlRSWV8xKGljb25fc3ltYm9sKTsKKysgICAg ICAgIFBBUlNFX0VOVFJZXzEoc3ltYm9sKTsKICAjdW5kZWYgUEFSU0VfRU5UUlkKICAjdW5kZWYg UEFSU0VfRU5UUllfMQogICAgICAgICAgaWYgKGdfc3RyY21wMCAoc3ViX25vZGUtPm5hbWUgLCAi cmFuayIpID09IDApIHsKLUBAIC01MjYsNiArNTkwLDcgQEAgSUJVU19FTkdJTkVfREVTQ19HRVRf UFJPUEVSVFkgKGljb24sIGNvbnN0IGdjaGFyICopCitAQCAtNTI2LDYgKzU2NCw3IEBAIElCVVNf RU5HSU5FX0RFU0NfR0VUX1BST1BFUlRZIChpY29uLCBjb25zdCBnY2hhciAqKQogIElCVVNfRU5H SU5FX0RFU0NfR0VUX1BST1BFUlRZIChsYXlvdXQsIGNvbnN0IGdjaGFyICopCiAgSUJVU19FTkdJ TkVfREVTQ19HRVRfUFJPUEVSVFkgKHJhbmssIGd1aW50KQogIElCVVNfRU5HSU5FX0RFU0NfR0VU X1BST1BFUlRZIChob3RrZXlzLCBjb25zdCBnY2hhciAqKQotK0lCVVNfRU5HSU5FX0RFU0NfR0VU X1BST1BFUlRZIChpY29uX3N5bWJvbCwgY29uc3QgZ2NoYXIgKikKKytJQlVTX0VOR0lORV9ERVND X0dFVF9QUk9QRVJUWSAoc3ltYm9sLCBjb25zdCBnY2hhciAqKQogICN1bmRlZiBJQlVTX0VOR0lO RV9ERVNDX0dFVF9QUk9QRVJUWQogIAogIElCdXNFbmdpbmVEZXNjICoKLUBAIC01NzMsNiArNjM4 LDcgQEAgaWJ1c19lbmdpbmVfZGVzY19uZXdfdmFyYXJncyAoY29uc3QgZ2NoYXIgKmZpcnN0X3By b3BlcnR5X25hbWUsIC4uLikKK0BAIC01NzMsNiArNjEyLDcgQEAgaWJ1c19lbmdpbmVfZGVzY19u ZXdfdmFyYXJncyAoY29uc3QgZ2NoYXIgKmZpcnN0X3Byb3BlcnR5X25hbWUsIC4uLikKICAgICAg Z19hc3NlcnQgKGRlc2MtPnByaXYtPmljb24pOwogICAgICBnX2Fzc2VydCAoZGVzYy0+cHJpdi0+ bGF5b3V0KTsKICAgICAgZ19hc3NlcnQgKGRlc2MtPnByaXYtPmhvdGtleXMpOwotKyAgICBnX2Fz c2VydCAoZGVzYy0+cHJpdi0+aWNvbl9zeW1ib2wpOworKyAgICBnX2Fzc2VydCAoZGVzYy0+cHJp di0+c3ltYm9sKTsKICAKICAgICAgcmV0dXJuIGRlc2M7CiAgfQogZGlmZiAtLWdpdCBhL3NyYy9p YnVzZW5naW5lZGVzYy5oIGIvc3JjL2lidXNlbmdpbmVkZXNjLmgKLWluZGV4IDk3MThiMTUuLmUz MTk0YzMgMTAwNjQ0CitpbmRleCA5NzE4YjE1Li43NmE3YWRjIDEwMDY0NAogLS0tIGEvc3JjL2li dXNlbmdpbmVkZXNjLmgKICsrKyBiL3NyYy9pYnVzZW5naW5lZGVzYy5oCiBAQCAtMjQ5LDYgKzI0 OSwxNiBAQCBndWludCAgICAgICAgICAgIGlidXNfZW5naW5lX2Rlc2NfZ2V0X3JhbmsgICAgICAo SUJ1c0VuZ2luZURlc2MgKmluZm8pOwogIGNvbnN0IGdjaGFyICAgICAqaWJ1c19lbmdpbmVfZGVz Y19nZXRfaG90a2V5cyAgIChJQnVzRW5naW5lRGVzYyAqaW5mbyk7CiAgCiAgLyoqCi0rICogaWJ1 c19lbmdpbmVfZGVzY19nZXRfaWNvbl9zeW1ib2w6CisrICogaWJ1c19lbmdpbmVfZGVzY19nZXRf c3ltYm9sOgogKyAqIEBpbmZvOiBBbiBJQnVzRW5naW5lRGVzYwotKyAqIEByZXR1cm5zOiBpY29u X3N5bWJvbCBwcm9wZXJ0eSBpbiBJQnVzRW5naW5lRGVzYworKyAqIEByZXR1cm5zOiBzeW1ib2wg cHJvcGVydHkgaW4gSUJ1c0VuZ2luZURlc2MKICsgKgotKyAqIFJldHVybiB0aGUgaWNvbl9zeW1i b2wgcHJvcGVydHkgaW4gSUJ1c0VuZ2luZURlc2MuIEl0IHNob3VsZCBub3QgYmUgZnJlZWQuCisr ICogUmV0dXJuIHRoZSBzeW1ib2wgcHJvcGVydHkgaW4gSUJ1c0VuZ2luZURlc2MuIEl0IHNob3Vs ZCBub3QgYmUgZnJlZWQuCiArICovCi0rY29uc3QgZ2NoYXIgICAgICppYnVzX2VuZ2luZV9kZXNj X2dldF9pY29uX3N5bWJvbAorK2NvbnN0IGdjaGFyICAgICAqaWJ1c19lbmdpbmVfZGVzY19nZXRf c3ltYm9sCiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KElCdXNFbmdpbmVEZXNjICppbmZvKTsKICsKICsvKioKQEAgLTM5NCw1ICsyNTEsNSBAQCBpbmRl eCA5NzE4YjE1Li5lMzE5NGMzIDEwMDY0NAogICAqIEBpbmZvOiBBbiBJQnVzRW5naW5lRGVzYwog ICAqIEBvdXRwdXQ6IFhNTC1mb3JtYXR0ZWQgSW5wdXQgbWV0aG9kIGVuZ2luZSBkZXNjcmlwdGlv bi4KIC0tIAotMS43LjQuNAorMS43LjUuNAogCgpkaWZmIC0tZ2l0IGEvaWJ1cy14eC1zZXR1cC1m cmVxdWVudC1sYW5nLnBhdGNoIGIvaWJ1cy14eC1zZXR1cC1mcmVxdWVudC1sYW5nLnBhdGNoCmlu ZGV4IGE2NTk0OWUuLjkzNmRkNWEgMTAwNjQ0Ci0tLSBhL2lidXMteHgtc2V0dXAtZnJlcXVlbnQt bGFuZy5wYXRjaAorKysgYi9pYnVzLXh4LXNldHVwLWZyZXF1ZW50LWxhbmcucGF0Y2gKQEAgLTIw NCwxMiArMjA0LDI0IEBAIGluZGV4IDczODMxNzcuLmJmZjI0MDcgMTAwNjQ0CiAgCiAgICAgICAg ICByZW5kZXJlciA9IGd0ay5DZWxsUmVuZGVyZXJQaXhidWYoKQogICAgICAgICAgcmVuZGVyZXIu c2V0X3Byb3BlcnR5KCJ4YWxpZ24iLCAwKQotQEAgLTU3LDE4ICs2MCw1MSBAQCBjbGFzcyBFbmdp bmVDb21ib0JveChndGsuQ29tYm9Cb3gpOgorQEAgLTU3LDIxICs2MCw1MSBAQCBjbGFzcyBFbmdp bmVDb21ib0JveChndGsuQ29tYm9Cb3gpOgogICAgICAgICAgc2VsZi5wYWNrX3N0YXJ0KHJlbmRl cmVyLCBUcnVlKQogICAgICAgICAgc2VsZi5zZXRfY2VsbF9kYXRhX2Z1bmMocmVuZGVyZXIsIHNl bGYuX19uYW1lX2NlbGxfZGF0YV9jYikKICAKIC0gICAgZGVmIHNldF9lbmdpbmVzKHNlbGYsIGVu Z2luZXMpOgogLSAgICAgICAgc2VsZi5fX21vZGVsID0gZ3RrLlRyZWVTdG9yZShnb2JqZWN0LlRZ UEVfUFlPQkpFQ1QpCistCistICAgICAgICBpdGVyMSA9IHNlbGYuX19tb2RlbC5hcHBlbmQoTm9u ZSkKKy0gICAgICAgIHNlbGYuX19tb2RlbC5zZXQoaXRlcjEsIDAsIDApCistICAgICAgICBsYW5n ID0ge30KKy0gICAgICAgIGZvciBlIGluIGVuZ2luZXM6CistICAgICAgICAgICAgaWYgaWJ1cy51 c2VfYnJpZGdlX2hvdGtleSgpIGFuZCBcCistICAgICAgICAgICAgICAgZS5uYW1lID09IGlidXMu REVGQVVMVF9CUklER0VfRU5HSU5FX05BTUU6CistICAgICAgICAgICAgICAgIGNvbnRpbnVlCist ICAgICAgICAgICAgbCA9IGlidXMuZ2V0X2xhbmd1YWdlX25hbWUoZS5sYW5ndWFnZSkKKy0gICAg ICAgICAgICBpZiBsIG5vdCBpbiBsYW5nOgorLSAgICAgICAgICAgICAgICBsYW5nW2xdID0gW10K Ky0gICAgICAgICAgICBsYW5nW2xdLmFwcGVuZChlKQogKyAgICBkZWYgX19nY29uZl9nZXRfbGFu Z19saXN0X2Zyb21fbG9jYWxlKHNlbGYpOgogKyAgICAgICAgY29tbW9uX2xpc3QgPSBbJ2VuJywg J090aGVyJ10KICsgICAgICAgIGlmICBzZWxmLl9fY29uZmlnID09IE5vbmU6CkBAIC0yNDQsMTUg KzI1Niw3IEBAIGluZGV4IDczODMxNzcuLmJmZjI0MDcgMTAwNjQ0CiArICAgICAgICBpZiBsYW5n X2xpc3QgPT0gTm9uZToKICsgICAgICAgICAgICByZXR1cm4gW2xvY10gKyBjb21tb25fbGlzdAog KyAgICAgICAgcmV0dXJuIGxhbmdfbGlzdCArIGNvbW1vbl9saXN0Ci0gCi0tICAgICAgICBpdGVy MSA9IHNlbGYuX19tb2RlbC5hcHBlbmQoTm9uZSkKLS0gICAgICAgIHNlbGYuX19tb2RlbC5zZXQo aXRlcjEsIDAsIDApCi0tICAgICAgICBsYW5nID0ge30KLS0gICAgICAgIGZvciBlIGluIGVuZ2lu ZXM6Ci0tICAgICAgICAgICAgbCA9IGlidXMuZ2V0X2xhbmd1YWdlX25hbWUoZS5sYW5ndWFnZSkK LS0gICAgICAgICAgICBpZiBsIG5vdCBpbiBsYW5nOgotLSAgICAgICAgICAgICAgICBsYW5nW2xd ID0gW10KLS0gICAgICAgICAgICBsYW5nW2xdLmFwcGVuZChlKQorKwogKyAgICBkZWYgX19oYXNf ZW5naW5lX2luX2xhbmdfbGlzdChzZWxmLCBlbmdpbmUsIGxhbmdfbGlzdCk6CiArICAgICAgICBy ZXR2YWwgPSBGYWxzZQogKyAgICAgICAgZm9yIGxhbmcgaW4gbGFuZ19saXN0OgpAQCAtMjY2LDcg KzI3MCw3IEBAIGluZGV4IDczODMxNzcuLmJmZjI0MDcgMTAwNjQ0CiAgICAgICAgICBrZXlzID0g bGFuZy5rZXlzKCkKICAgICAgICAgIGtleXMuc29ydChsb2NhbGUuc3RyY29sbCkKICAgICAgICAg ICNhZGQgIk90aGVycyIgdG8gdGhlIGVuZCBvZiB0aGUgY29tYm8gYm94Ci1AQCAtNzYsMjkgKzEx Miw4NiBAQCBjbGFzcyBFbmdpbmVDb21ib0JveChndGsuQ29tYm9Cb3gpOgorQEAgLTc5LDI5ICsx MTIsODkgQEAgY2xhc3MgRW5naW5lQ29tYm9Cb3goZ3RrLkNvbWJvQm94KToKICAgICAgICAgICAg ICBrZXlzLnJlbW92ZShpYnVzLmdldF9sYW5ndWFnZV9uYW1lKCJPdGhlciIpKQogICAgICAgICAg ICAgIGtleXMgKz0gW2lidXMuZ2V0X2xhbmd1YWdlX25hbWUoIk90aGVyIildCiAgICAgICAgICBm b3IgbCBpbiBrZXlzOgpAQCAtMjg3LDEzICsyOTEsMTcgQEAgaW5kZXggNzM4MzE3Ny4uYmZmMjQw NyAxMDA2NDQKICsKICsgICAgZGVmIHNldF9lbmdpbmVzKHNlbGYsIGVuZ2luZXMpOgogKyAgICAg ICAgc2VsZi5fX21vZGVsID0gZ3RrLlRyZWVTdG9yZShnb2JqZWN0LlRZUEVfUFlPQkpFQ1QpCi0r CisgCistICAgICAgICBzZWxmLnNldF9tb2RlbChzZWxmLl9fbW9kZWwpCiArICAgICAgICBpdGVy MSA9IHNlbGYuX19tb2RlbC5hcHBlbmQoTm9uZSkKICsgICAgICAgIHNlbGYuX19tb2RlbC5zZXQo aXRlcjEsIDAsIDApCiArICAgICAgICBsYW5nX2xpc3QgPSBzZWxmLl9fZ2NvbmZfZ2V0X2xhbmdf bGlzdF9mcm9tX2xvY2FsZSgpCiArICAgICAgICBsYW5nID0ge30KICsgICAgICAgIHN1Yl9sYW5n ID0ge30KICsgICAgICAgIGZvciBlIGluIGVuZ2luZXM6CisrICAgICAgICAgICAgaWYgaWJ1cy51 c2VfYnJpZGdlX2hvdGtleSgpIGFuZCBcCisrICAgICAgICAgICAgICAgZS5uYW1lID09IGlidXMu REVGQVVMVF9CUklER0VfRU5HSU5FX05BTUU6CisrICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAr ICAgICAgICAgICAgbCA9IGlidXMuZ2V0X2xhbmd1YWdlX25hbWUoZS5sYW5ndWFnZSkKICsgICAg ICAgICAgICBpZiBsYW5nX2xpc3QgPT0gTm9uZSBvciBcCiArICAgICAgICAgICAgICAgIHNlbGYu X19oYXNfZW5naW5lX2luX2xhbmdfbGlzdChlLCBsYW5nX2xpc3QpOgpAQCAtMzE4LDggKzMyNiw3 IEBAIGluZGV4IDczODMxNzcuLmJmZjI0MDcgMTAwNjQ0CiArICAgICAgICBzZWxmLl9fbW9kZWxf YXBwZW5kX2xhbmdzKHNlbGYuX19hbGxfbW9kZWwsIHN1Yl9sYW5nLCBGYWxzZSkKICsKICsgICAg ICAgIHNlbGYuX190b2dnbGVfc3ViX2xhbmcoKQotIAotLSAgICAgICAgc2VsZi5zZXRfbW9kZWwo c2VsZi5fX21vZGVsKQorKwogKyAgICBkZWYgX190b2dnbGVfc3ViX2xhbmcoc2VsZik6CiArICAg ICAgICBzZWxmLnNldF9tb2RlbChOb25lKQogKyAgICAgICAgaWYgc2VsZi5fX3Nob3dfc3ViX2xh bmc6CkBAIC0zNjEsNyArMzY4LDcgQEAgaW5kZXggNzM4MzE3Ny4uYmZmMjQwNyAxMDA2NDQKICAg ICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgcmVuZGVyZXIuc2V0X3Byb3BlcnR5KCJ2aXNpYmxl IiwgVHJ1ZSkKICAgICAgICAgICAgICByZW5kZXJlci5zZXRfcHJvcGVydHkoInNlbnNpdGl2ZSIs IFRydWUpCi1AQCAtMTEwLDcgKzIwMyw4IEBAIGNsYXNzIEVuZ2luZUNvbWJvQm94KGd0ay5Db21i b0JveCk6CitAQCAtMTEzLDcgKzIwNiw4IEBAIGNsYXNzIEVuZ2luZUNvbWJvQm94KGd0ay5Db21i b0JveCk6CiAgICAgICAgICAgICAgcmVuZGVyZXIuc2V0X3Byb3BlcnR5KCJwaXhidWYiLCBwaXhi dWYpCiAgCiAgICAgIGRlZiBfX25hbWVfY2VsbF9kYXRhX2NiKHNlbGYsIGNlbGxsYXlvdXQsIHJl bmRlcmVyLCBtb2RlbCwgaXRlcik6CkBAIC0zNzEsNyArMzc4LDcgQEAgaW5kZXggNzM4MzE3Ny4u YmZmMjQwNyAxMDA2NDQKICAKICAgICAgICAgIGlmIGlzaW5zdGFuY2UgKGVuZ2luZSwgc3RyKSBv ciBpc2luc3RhbmNlIChlbmdpbmUsIHVuaWNvZGUpOgogICAgICAgICAgICAgIHJlbmRlcmVyLnNl dF9wcm9wZXJ0eSgic2Vuc2l0aXZlIiwgRmFsc2UpCi1AQCAtMTE4LDggKzIxMiwxNSBAQCBjbGFz cyBFbmdpbmVDb21ib0JveChndGsuQ29tYm9Cb3gpOgorQEAgLTEyMSw4ICsyMTUsMTUgQEAgY2xh c3MgRW5naW5lQ29tYm9Cb3goZ3RrLkNvbWJvQm94KToKICAgICAgICAgICAgICByZW5kZXJlci5z ZXRfcHJvcGVydHkoIndlaWdodCIsIHBhbmdvLldFSUdIVF9OT1JNQUwpCiAgICAgICAgICBlbGlm IGlzaW5zdGFuY2UoZW5naW5lLCBpbnQpOgogICAgICAgICAgICAgIHJlbmRlcmVyLnNldF9wcm9w ZXJ0eSgic2Vuc2l0aXZlIiwgVHJ1ZSkKQEAgLTM4OSw3ICszOTYsNyBAQCBpbmRleCA3MzgzMTc3 Li5iZmYyNDA3IDEwMDY0NAogICAgICAgICAgZWxzZToKICAgICAgICAgICAgICByZW5kZXJlci5z ZXRfcHJvcGVydHkoInNlbnNpdGl2ZSIsIFRydWUpCiAgICAgICAgICAgICAgcmVuZGVyZXIuc2V0 X3Byb3BlcnR5KCJ0ZXh0IiwgZW5naW5lLmxvbmduYW1lKQotQEAgLTEzNCwxMyArMjM1LDIxIEBA IGNsYXNzIEVuZ2luZUNvbWJvQm94KGd0ay5Db21ib0JveCk6CitAQCAtMTM3LDEzICsyMzgsMjEg QEAgY2xhc3MgRW5naW5lQ29tYm9Cb3goZ3RrLkNvbWJvQm94KToKICAgICAgICAgICAgICBpZiBp ID09IDAgb3IgaSA9PSAtMToKICAgICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUKICAgICAgICAg ICAgICBpdGVyID0gc2VsZi5nZXRfYWN0aXZlX2l0ZXIoKQoKZGlmZiAtLWdpdCBhL2lidXMuc3Bl YyBiL2lidXMuc3BlYwppbmRleCBiYWM5MGE4Li40MmJmNmMwIDEwMDY0NAotLS0gYS9pYnVzLnNw ZWMKKysrIGIvaWJ1cy5zcGVjCkBAIC0xMyw3ICsxMyw3IEBACiAKIE5hbWU6ICAgICAgIGlidXMK IFZlcnNpb246ICAgIDEuMy45OS4yMDExMDQxOQotUmVsZWFzZTogICAgNSV7P2Rpc3R9CitSZWxl YXNlOiAgICA2JXs/ZGlzdH0KIFN1bW1hcnk6ICAgIEludGVsbGlnZW50IElucHV0IEJ1cyBmb3Ig TGludXggT1MKIExpY2Vuc2U6ICAgIExHUEx2MisKIEdyb3VwOiAgICAgIFN5c3RlbSBFbnZpcm9u bWVudC9MaWJyYXJpZXMKQEAgLTIxLDcgKzIxLDcgQEAgVVJMOiAgICAgICAgaHR0cDovL2NvZGUu Z29vZ2xlLmNvbS9wL2lidXMvCiBTb3VyY2UwOiAgICBodHRwOi8vaWJ1cy5nb29nbGVjb2RlLmNv bS9maWxlcy8le25hbWV9LSV7dmVyc2lvbn0udGFyLmd6CiBTb3VyY2UxOiAgICB4aW5wdXQtaWJ1 cwogJWlmICVoYXZlX2dqc2ZpbGUKLVNvdXJjZTI6ICAgIGh0dHA6Ly9mdWppd2FyYS5mZWRvcmFw ZW9wbGUub3JnL2lidXMvZ25vbWUtc2hlbGwvZ25vbWUtc2hlbGwtaWJ1cy1wbHVnaW5zLTIwMTEw NjIyLnRhci5iejIKK1NvdXJjZTI6ICAgIGh0dHA6Ly9mdWppd2FyYS5mZWRvcmFwZW9wbGUub3Jn L2lidXMvZ25vbWUtc2hlbGwvZ25vbWUtc2hlbGwtaWJ1cy1wbHVnaW5zLTIwMTEwNjI5LnRhci5i ejIKICVlbmRpZgogU291cmNlMzogICAgaHR0cHM6Ly93d3cudHJhbnNpZmV4Lm5ldC9wcm9qZWN0 cy9wL2lidXMvcmVzb3VyY2UvbWFzdGVyL2wvZGEvZG93bmxvYWQvaWJ1c19tYXN0ZXJfZGEucG8K IFNvdXJjZTQ6ICAgIGh0dHA6Ly91ZW5vLmZlZG9yYXBlb3BsZS5vcmcvaWJ1cy1pbmRpY2F0b3Iv aWJ1cy1pbmRpY2F0b3IudGFyLmJ6MgpAQCAtMTM1LDkgKzEzNSw2IEBAIFRoaXMgaXMgYSB0cmFu c2l0aW9uYWwgcGFja2FnZSB3aGljaCBhbGxvd3MgdXNlcnMgdG8gdHJ5IG91dCBuZXcgSUJ1cwog R1VJIGZvciBHTk9NRTMgaW4gZGV2ZWxvcG1lbnQuICBOb3RlIHRoYXQgdGhpcyBwYWNrYWdlIHdp bGwgYmUgbWFya2VkCiBhcyBvYnNvbGV0ZSBvbmNlIHRoZSBpbnRlZ3JhdGlvbiBoYXMgY29tcGxl dGVkIGluIHRoZSBHTk9NRTMgdXBzdHJlYW0uCiAKLSVkZXNjcmlwdGlvbiBnbm9tZTMKLVRoaXMg cGFja2FnZSBjb250YWlucyBpYnVzIGltIG1vZHVsZSBmb3IgZ3RrMwotCiAlcGFja2FnZSBkZXZl bAogU3VtbWFyeTogICAgRGV2ZWxvcG1lbnQgdG9vbHMgZm9yIGlidXMKIEdyb3VwOiAgICAgIERl dmVsb3BtZW50L0xpYnJhcmllcwpAQCAtMTY3LDYgKzE2NCwxMCBAQCBzZWQgLWkgXAogICAtZSAi c3xDb25maWcuSUJVU19YS0J8Jy91c3IvbGliZXhlYy9pYnVzLXhrYid8IiBcCiAgIC1lICJzfENv bmZpZy5IQVZFX0lCVVNfWEtCfHRydWV8IiBcCiAgIGpzL3VpL3N0YXR1cy9pYnVzL3hrYkxheW91 dC5qcworc2VkIC1pIFwKKyAgLWUgInN8aW1wb3J0cy5taXNjLmNvbmZpZy5JQlVTX1BSRUZJWHwn L3Vzcid8IiBcCisgIC1lICJzfGltcG9ydHMubWlzYy5jb25maWcuSUJVU19QS0dEQVRBRElSfCcv dXNyL3NoYXJlL2lidXMnfCIgXAorICBqcy91aS9zdGF0dXMvaWJ1cy9wYW5lbC5qcwogYnpjYXQg JVNPVVJDRTQgfCB0YXIgeGYgLQogJWVuZGlmCiBjcCAlU09VUkNFMyBwby9kYS5wbwpAQCAtMzUz LDcgKzM1NCw3IEBAIGZpCiAle19kYXRhZGlyfS9ndGstZG9jL2h0bWwvKgogCiAlY2hhbmdlbG9n Ci0qIE1vbiBKdW4gMjAgMjAxMSBUYWthbyBGdWppd2FyYSA8dGZ1aml3YXJAcmVkaGF0LmNvbT4g LSAxLjMuOTkuMjAxMTA0MTktNQorKiBNb24gSnVuIDIwIDIwMTEgVGFrYW8gRnVqaXdhcmEgPHRm dWppd2FyQHJlZGhhdC5jb20+IC0gMS4zLjk5LjIwMTEwNDE5LTYKIC0gVXBkYXRlZCBpYnVzLUhF QUQucGF0Y2ggZm9yIHVwc3RyZWFtLgogLSBSZW1vdmVkIGlidXMtNDM1ODgwLXN1cnJvdW5kaW5n LXRleHQucGF0Y2ggYXMgdXBzdHJlYW0uCiAtIEFkZGVkIGlidXMtNzExNjMyLWZlZG9yYS1mYWxs YmFjay1pY29uLnBhdGNoCgpkaWZmIC0tZ2l0IGEvc291cmNlcyBiL3NvdXJjZXMKaW5kZXggZWMw NGYyOS4uNjY0MGM5MCAxMDA2NDQKLS0tIGEvc291cmNlcworKysgYi9zb3VyY2VzCkBAIC0xLDQg KzEsNCBAQAogZDRmMjcyOWZlY2I5MmFlNmI0MWYyNmM3NzBiMWE3NzIgIGlidXMtMS4zLjk5LjIw MTEwNDE5LnRhci5negotNjQ1ZWQzZGQwMmY2NjM1ODljZGFkMjhlNTdjMjU0ODYgIGdub21lLXNo ZWxsLWlidXMtcGx1Z2lucy0yMDExMDYyMi50YXIuYnoyCiszZDNiYTFjOTg4YTgxZjQ4Mzc4NWMx ZWFjNGIwMDUzMiAgZ25vbWUtc2hlbGwtaWJ1cy1wbHVnaW5zLTIwMTEwNjI5LnRhci5iejIKIDY5 OGM5MGVkZjBmMDM3NDg4ZTFhYTk2OTgwNGU4OTFmICBpYnVzX21hc3Rlcl9kYS5wbwogMjM3NTZk MjUxMDk3NDViZGMxYzNhNTRkYjM3MGQyMTAgIGlidXMtaW5kaWNhdG9yLnRhci5iejIK