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: Updated ibus-xx-bridge-hotkey.patch Date: Sun, 31 May 2026 02:05:18 GMT Message-ID: <178019311867.1.17199003308366184186.rpms-ibus-095f9c1f6a7f@fedoraproject.org> List-ID: X-Git-Repo: rpms/ibus X-Git-Branch: autotool X-Git-Rev: 095f9c1f6a7f351122b2dff35cfaccdc340f80a9 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvaWJ1cwogICAgICAgICAgICBCcmFuY2ggOiBhdXRvdG9vbAogICAgICAgICAg ICBDb21taXQgOiAwOTVmOWMxZjZhN2YzNTExMjJiMmRmZjM1Y2ZhY2NkYzM0MGY4MGE5CiAgICAg ICAgICAgIEF1dGhvciA6IFRha2FvIEZ1aml3YXJhIDx0ZnVqaXdhckByZWRoYXQuY29tPgogICAg ICAgICAgICBEYXRlICAgOiAyMDExLTA4LTA3VDAwOjU0OjU0KzA5OjAwCiAgICAgICAgICAgIFN0 YXRzICA6ICsxNjI5Ly00OTcgaW4gOCBmaWxlKHMpCiAgICAgICAgICAgIFVSTCAgICA6IGh0dHBz Oi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvaWJ1cy9jLzA5NWY5YzFmNmE3ZjM1MTEyMmIy ZGZmMzVjZmFjY2RjMzQwZjgwYTk/YnJhbmNoPWF1dG90b29sCgogICAgICAgICAgICBMb2c6CiAg ICAgICAgICAgIFVwZGF0ZWQgaWJ1cy14eC1icmlkZ2UtaG90a2V5LnBhdGNoCgpVcGRhdGVkIHRy YW5zaXRpb25hbCBpYnVzLWdub21lMyBwYWNrYWdlLgotIElkZW50aWZpZWQgWEtCIGtleW1hcHMg YnkgZW5naW5lcy4KLSBGaXhlZCBCdWcgNzI2Mjg5IC0gbm8gY2FuZGlkYXRlcyB3aXRoIGlidXMt bW96Yy4KLSBUcmlhZ2VkIEJ1ZyA3MDczNzAgU2V0RW5naW5lIHRpbWVvdXQKCi0tLQpkaWZmIC0t Z2l0IGEvLmdpdGlnbm9yZSBiLy5naXRpZ25vcmUKaW5kZXggYjJkZmMxNy4uZDczNTkyNSAxMDA2 NDQKLS0tIGEvLmdpdGlnbm9yZQorKysgYi8uZ2l0aWdub3JlCkBAIC0xMywzICsxMyw0IEBAIGli dXMtMS4zLjYudGFyLmd6CiAvaWJ1cy0xLjMuOTkuMjAxMTA0MTkudGFyLmd6CiAvaWJ1c19tYXN0 ZXJfZGEucG8KIC9pYnVzLWdqcy0xLjMuOTkuMjAxMTA3MjAudGFyLmd6CisvaWJ1cy1nanMtMS4z Ljk5LjIwMTEwODA2LnRhci5negoKZGlmZiAtLWdpdCBhL2lidXMtNTQxNDkyLXhrYi5wYXRjaCBi L2lidXMtNTQxNDkyLXhrYi5wYXRjaAppbmRleCAzZmM0OGE2Li42YTY0YjgyIDEwMDY0NAotLS0g YS9pYnVzLTU0MTQ5Mi14a2IucGF0Y2gKKysrIGIvaWJ1cy01NDE0OTIteGtiLnBhdGNoCkBAIC0x LDYgKzEsNiBAQAotRnJvbSAxNDk4NmNiMzhmNDMxZDEzMjMzMmIyZThmOWRhMWNhMmI4YTVkMTBl IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBhMjUzYWNkZTA5MzVlZmFlNGJiYzhhYTU5 Y2E0N2FiMjczYjk5MDdiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogZnVqaXdhcmF0 IDx0YWthby5mdWppd2FyYTFAZ21haWwuY29tPgotRGF0ZTogV2VkLCAyOSBKdW4gMjAxMSAxNjo1 MjowOCArMDkwMAorRGF0ZTogRnJpLCA1IEF1ZyAyMDExIDIwOjIyOjQyICswOTAwCiBTdWJqZWN0 OiBbUEFUQ0hdIEFkZCBYS0IgbGF5b3V0cwogCiAtLS0KQEAgLTEyLDggKzEyLDggQEAgU3ViamVj dDogW1BBVENIXSBBZGQgWEtCIGxheW91dHMKICBpYnVzL19faW5pdF9fLnB5ICAgICAgICAgICB8 ICAgIDIgKwogIGlidXMvYnVzLnB5ICAgICAgICAgICAgICAgIHwgICAgMyArCiAgaWJ1cy9pbnRl cmZhY2UvaWlidXMucHkgICAgfCAgICAzICsKLSBpYnVzL3hrYmxheW91dC5weS5pbiAgICAgICB8 ICAyMTUgKysrKysrKysrKysrKysrKwotIGlidXMveGtieG1sLnB5LmluICAgICAgICAgIHwgIDQx MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKKyBpYnVzL3hrYmxheW91dC5weS5pbiAg ICAgICB8ICAyMzAgKysrKysrKysrKysrKysrKysKKyBpYnVzL3hrYnhtbC5weS5pbiAgICAgICAg ICB8ICA0MTYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAgc2V0dXAvTWFrZWZpbGUu YW0gICAgICAgICAgfCAgICAxICsKICBzZXR1cC9lbmdpbmVjb21ib2JveC5weSAgICB8ICAgIDcg Ky0KICBzZXR1cC9tYWluLnB5ICAgICAgICAgICAgICB8ICAgIDMgKwpAQCAtMjEsMjIgKzIxLDIw IEBAIFN1YmplY3Q6IFtQQVRDSF0gQWRkIFhLQiBsYXlvdXRzCiAgc2V0dXAveGtic2V0dXAucHkg ICAgICAgICAgfCAgNDU0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogIHNyYy9N YWtlZmlsZS5hbSAgICAgICAgICAgIHwgICAgNSArCiAgc3JjL2lidXMuaCAgICAgICAgICAgICAg ICAgfCAgICAxICsKLSBzcmMvaWJ1c2ZhY3RvcnkuYyAgICAgICAgICB8ICAgMjEgKystCi0gc3Jj L2lidXNmYWN0b3J5LmggICAgICAgICAgfCAgICA1ICstCiAgc3JjL2lidXN4a2J4bWwuYyAgICAg ICAgICAgfCAgNDQwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAgc3JjL2lidXN4 a2J4bWwuaCAgICAgICAgICAgfCAgMTcyICsrKysrKysrKysrKysKLSB1aS9ndGsvcGFuZWwucHkg ICAgICAgICAgICB8ICAgMzkgKysrCisgdWkvZ3RrL3BhbmVsLnB5ICAgICAgICAgICAgfCAgIDQx ICsrKwogIHhrYi9NYWtlZmlsZS5hbSAgICAgICAgICAgIHwgIDEwNCArKysrKysrKwotIHhrYi9p YnVzLWVuZ2luZS14a2ItbWFpbi5jIHwgIDM5NyArKysrKysrKysrKysrKysrKysrKysrKysrKysr KworIHhrYi9pYnVzLWVuZ2luZS14a2ItbWFpbi5jIHwgIDQxMyArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysKICB4a2IvaWJ1cy1lbmdpbmUteGtiLW1haW4uaCB8ICAgNDYgKysrKwogIHhr Yi9pYnVzLXhrYi1tYWluLmMgICAgICAgIHwgIDExMiArKysrKysrKwogIHhrYi94a2JsYXlvdXQu eG1sLmluICAgICAgIHwgICAxNiArKwogIHhrYi94a2JsYXlvdXRjb25maWcueG1sLmluIHwgICAg NiArCiAgeGtiL3hrYmxpYi5jICAgICAgICAgICAgICAgfCAgMzI3ICsrKysrKysrKysrKysrKysr KysrKysrKwogIHhrYi94a2JsaWIuaCAgICAgICAgICAgICAgIHwgICA0MSArKysKLSB4a2IveGti eG1sLmMgICAgICAgICAgICAgICB8ICAzMzUgKysrKysrKysrKysrKysrKysrKysrKysrCi0geGti L3hrYnhtbC5oICAgICAgICAgICAgICAgfCAgMTEwICsrKysrKysrCi0gMzIgZmlsZXMgY2hhbmdl ZCwgNDAwOCBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQorIHhrYi94a2J4bWwuYyAgICAg ICAgICAgICAgIHwgIDMzOSArKysrKysrKysrKysrKysrKysrKysrKysKKyB4a2IveGtieG1sLmgg ICAgICAgICAgICAgICB8ICAxMTMgKysrKysrKysKKyAzMCBmaWxlcyBjaGFuZ2VkLCA0MDI3IGlu c2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGlidXMveGti bGF5b3V0LnB5LmluCiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGlidXMveGtieG1sLnB5LmluCiAgY3Jl YXRlIG1vZGUgMTAwNjQ0IHNldHVwL3hrYnNldHVwLnB5CkBAIC01NCw3ICs1Miw3IEBAIFN1Ympl Y3Q6IFtQQVRDSF0gQWRkIFhLQiBsYXlvdXRzCiAgY3JlYXRlIG1vZGUgMTAwNjQ0IHhrYi94a2J4 bWwuaAogCiBkaWZmIC0tZ2l0IGEvTWFrZWZpbGUuYW0gYi9NYWtlZmlsZS5hbQotaW5kZXggN2Jl NTU4Yi4uNTlmYmFiYiAxMDA2NDQKK2luZGV4IGZmMGZhYmMuLjA1NmRkZmMgMTAwNjQ0CiAtLS0g YS9NYWtlZmlsZS5hbQogKysrIGIvTWFrZWZpbGUuYW0KIEBAIC00Miw2ICs0MiwxMiBAQCBEQUVN T05fRElSUyA9ICAgICAgIFwKQEAgLTc5LDcgKzc3LDcgQEAgaW5kZXggN2JlNTU4Yi4uNTlmYmFi YiAxMDA2NDQKICAJJChOVUxMKQogIAogZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZp Z3VyZS5hYwotaW5kZXggNTU0NGRmYS4uODVlNWUzMCAxMDA2NDQKK2luZGV4IGMzYmQ0MjMuLjRj MjBhZTcgMTAwNjQ0CiAtLS0gYS9jb25maWd1cmUuYWMKICsrKyBiL2NvbmZpZ3VyZS5hYwogQEAg LTE4NSw2ICsxODUsNjAgQEAgZWxzZQpAQCAtMTQzLDcgKzE0MSw3IEBAIGluZGV4IDU1NDRkZmEu Ljg1ZTVlMzAgMTAwNjQ0CiAgIyBHT2JqZWN0IGludHJvc3BlY3Rpb24KICBHT0JKRUNUX0lOVFJP U1BFQ1RJT05fQ0hFQ0soWzAuNi44XSkKICAKLUBAIC00MzAsNiArNDg0LDcgQEAgZ2NvbmYvTWFr ZWZpbGUKK0BAIC00NTEsNiArNTA1LDcgQEAgYmluZGluZ3MvTWFrZWZpbGUKICBnY29uZi9nY29u Zi54bWwuaW4KICBiaW5kaW5ncy9NYWtlZmlsZQogIGJpbmRpbmdzL3ZhbGEvTWFrZWZpbGUKQEAg LTE1MSw3ICsxNDksNyBAQCBpbmRleCA1NTQ0ZGZhLi44NWU1ZTMwIDEwMDY0NAogIF0pCiAgCiAg QUNfT1VUUFVUCi1AQCAtNDQ1LDYgKzUwMCw3IEBAIEJ1aWxkIG9wdGlvbnM6CitAQCAtNDY2LDYg KzUyMSw3IEBAIEJ1aWxkIG9wdGlvbnM6CiAgICBCdWlsZCBndGsyIGltbW9kdWxlICAgICAgICRl bmFibGVfZ3RrMgogICAgQnVpbGQgZ3RrMyBpbW1vZHVsZSAgICAgICAkZW5hYmxlX2d0azMKICAg IEJ1aWxkIFhJTSBhZ2VudCBzZXJ2ZXIgICAgJGVuYWJsZV94aW0KQEAgLTE2MCwxMCArMTU4LDEw IEBAIGluZGV4IDU1NDRkZmEuLjg1ZTVlMzAgMTAwNjQ0CiAgICBCdWlsZCBnY29uZiBtb2R1bGVz ICAgICAgICRlbmFibGVfZ2NvbmYKICAgIEJ1aWxkIG1lbWNvbmYgbW9kdWxlcyAgICAgJGVuYWJs ZV9tZW1jb25mCiBkaWZmIC0tZ2l0IGEvZGF0YS9pYnVzLnNjaGVtYXMuaW4gYi9kYXRhL2lidXMu c2NoZW1hcy5pbgotaW5kZXggYjc1Mjk1ZS4uN2NhNDg5OSAxMDA2NDQKK2luZGV4IDY2MzM1OGMu Ljg5Nzk1MTUgMTAwNjQ0CiAtLS0gYS9kYXRhL2lidXMuc2NoZW1hcy5pbgogKysrIGIvZGF0YS9p YnVzLnNjaGVtYXMuaW4KLUBAIC0xOTAsNiArMTkwLDQyIEBACitAQCAtMTkxLDYgKzE5MSw0MiBA QAogICAgICAgIDwvbG9jYWxlPgogICAgICA8L3NjaGVtYT4KICAgICAgPHNjaGVtYT4KQEAgLTMw MywxMCArMzAxLDEwIEBAIGluZGV4IDY3OGQ1MTcuLjdkZTU2ZmMgMTAwNjQ0CiAgCiBkaWZmIC0t Z2l0IGEvaWJ1cy94a2JsYXlvdXQucHkuaW4gYi9pYnVzL3hrYmxheW91dC5weS5pbgogbmV3IGZp bGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAuLjRjYjNmZmQKK2luZGV4IDAwMDAwMDAuLjEx ZmNlMTIKIC0tLSAvZGV2L251bGwKICsrKyBiL2lidXMveGtibGF5b3V0LnB5LmluCi1AQCAtMCww ICsxLDIxNSBAQAorQEAgLTAsMCArMSwyMzAgQEAKICsjIHZpbTpzZXQgZXQgc3RzPTQgc3c9NDoK ICsjCiArIyBpYnVzIC0gVGhlIElucHV0IEJ1cwpAQCAtMzMxLDcgKzMyOSw3IEBAIGluZGV4IDAw MDAwMDAuLjRjYjNmZmQKICsjIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQogKwogK19fYWxs X18gPSAoCi0rICAgICAgICAiWEtCTGF5b3V0IiwKKysgICAgICAgICdYS0JMYXlvdXQnLAogKyAg ICApCiArCiAraW1wb3J0IG9zLCBzeXMsIHRpbWUKQEAgLTM1NCw4ICszNTIsOCBAQCBpbmRleCAw MDAwMDAwLi40Y2IzZmZkCiArICAgICAgICBzZWxmLl9fdGltZV9sYWdfc2Vzc2lvbl94a2JfdGlt ZXIgPSB0aW1lLnRpbWUoKQogKyAgICAgICAgc2VsZi5fX3hrYl9sYXRpbl9sYXlvdXRzID0gW10K ICsgICAgICAgIGlmIGNvbmZpZyAhPSBOb25lOgotKyAgICAgICAgICAgIHNlbGYuX194a2JfbGF0 aW5fbGF5b3V0cyA9IGxpc3Qoc2VsZi5fX2NvbmZpZy5nZXRfdmFsdWUoImdlbmVyYWwiLAotKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgInhrYl9sYXRpbl9sYXlvdXRzIiwKKysgICAgICAgICAgICBzZWxmLl9feGtiX2xh dGluX2xheW91dHMgPSBsaXN0KHNlbGYuX19jb25maWcuZ2V0X3ZhbHVlKCdnZW5lcmFsJywKKysg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICd4a2JfbGF0aW5fbGF5b3V0cycsCiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbXSkpCiArCiArCkBA IC0zNjMsMTIgKzM2MSwyMCBAQCBpbmRleCAwMDAwMDAwLi40Y2IzZmZkCiArICAgICAgICBsZWZ0 X2JyYWNrZXQgPSBsYXlvdXQuZmluZCgnKCcpCiArICAgICAgICByaWdodF9icmFja2V0ID0gbGF5 b3V0LmZpbmQoJyknKQogKyAgICAgICAgaWYgbGVmdF9icmFja2V0ID49IDAgYW5kIHJpZ2h0X2Jy YWNrZXQgPiBsZWZ0X2JyYWNrZXQ6Ci0rICAgICAgICAgICAgcmV0dXJuIChsYXlvdXRbOmxlZnRf YnJhY2tldF0sIFwKKysgICAgICAgICAgICByZXR1cm4gKGxheW91dFs6bGVmdF9icmFja2V0XSAr IGxheW91dFtyaWdodF9icmFja2V0ICsgMTpdLCBcCiArICAgICAgICAgICAgICAgICAgICBsYXlv dXRbbGVmdF9icmFja2V0ICsgMTpyaWdodF9icmFja2V0XSkKLSsgICAgICAgIHJldHVybiAobGF5 b3V0LCAiZGVmYXVsdCIpCisrICAgICAgICByZXR1cm4gKGxheW91dCwgJ2RlZmF1bHQnKQorKwor KyAgICBkZWYgX19nZXRfb3B0aW9uX2Zyb21fbGF5b3V0KHNlbGYsIGxheW91dCk6CisrICAgICAg ICBsZWZ0X2JyYWNrZXQgPSBsYXlvdXQuZmluZCgnWycpCisrICAgICAgICByaWdodF9icmFja2V0 ID0gbGF5b3V0LmZpbmQoJ10nKQorKyAgICAgICAgaWYgbGVmdF9icmFja2V0ID49IDAgYW5kIHJp Z2h0X2JyYWNrZXQgPiBsZWZ0X2JyYWNrZXQ6CisrICAgICAgICAgICAgcmV0dXJuIChsYXlvdXRb OmxlZnRfYnJhY2tldF0gKyBsYXlvdXRbcmlnaHRfYnJhY2tldCArIDE6XSwgXAorKyAgICAgICAg ICAgICAgICAgICAgbGF5b3V0W2xlZnRfYnJhY2tldCArIDE6cmlnaHRfYnJhY2tldF0pCisrICAg ICAgICByZXR1cm4gKGxheW91dCwgJ2RlZmF1bHQnKQogKwogKyAgICBkZWYgX19nZXRfb3V0cHV0 X2Zyb21fY21kbGluZShzZWxmLCBhcmcsIHN0cmluZyk6Ci0rICAgICAgICBleGVjX2NvbW1hbmQg PSAiJXMgJXMiICUgKHNlbGYuX19jb21tYW5kLCBhcmcpCisrICAgICAgICBleGVjX2NvbW1hbmQg PSAnJXMgJXMnICUgKHNlbGYuX19jb21tYW5kLCBhcmcpCiArICAgICAgICByZXR2YWwgPSBOb25l CiArICAgICAgICBmb3IgbGluZSBpbiBvcy5wb3BlbihleGVjX2NvbW1hbmQpLnJlYWRsaW5lcygp OgogKyAgICAgICAgICAgIGxpbmUgPSBsaW5lLnN0cmlwKCkKQEAgLTM4NSwyNCArMzkxLDI0IEBA IGluZGV4IDAwMDAwMDAuLjRjYjNmZmQKICsgICAgZGVmIGdldF9sYXlvdXQoc2VsZik6CiArICAg ICAgICBpZiBub3Qgc2VsZi5fX3VzZV94a2I6CiArICAgICAgICAgICAgcmV0dXJuIE5vbmUKLSsg ICAgICAgIHJldHVybiBzZWxmLl9fZ2V0X291dHB1dF9mcm9tX2NtZGxpbmUoIi0tZ2V0IiwgImxh eW91dDogIikKKysgICAgICAgIHJldHVybiBzZWxmLl9fZ2V0X291dHB1dF9mcm9tX2NtZGxpbmUo Jy0tZ2V0JywgJ2xheW91dDogJykKICsKICsgICAgZGVmIGdldF9tb2RlbChzZWxmKToKICsgICAg ICAgIGlmIG5vdCBzZWxmLl9fdXNlX3hrYjoKICsgICAgICAgICAgICByZXR1cm4gTm9uZQotKyAg ICAgICAgcmV0dXJuIHNlbGYuX19nZXRfb3V0cHV0X2Zyb21fY21kbGluZSgiLS1nZXQiLCAibW9k ZWw6ICIpCisrICAgICAgICByZXR1cm4gc2VsZi5fX2dldF9vdXRwdXRfZnJvbV9jbWRsaW5lKCct LWdldCcsICdtb2RlbDogJykKICsKICsgICAgZGVmIGdldF9vcHRpb24oc2VsZik6CiArICAgICAg ICBpZiBub3Qgc2VsZi5fX3VzZV94a2I6CiArICAgICAgICAgICAgcmV0dXJuIE5vbmUKLSsgICAg ICAgIHJldHVybiBzZWxmLl9fZ2V0X291dHB1dF9mcm9tX2NtZGxpbmUoIi0tZ2V0IiwgIm9wdGlv bjogIikKKysgICAgICAgIHJldHVybiBzZWxmLl9fZ2V0X291dHB1dF9mcm9tX2NtZGxpbmUoJy0t Z2V0JywgJ29wdGlvbjogJykKICsKICsgICAgZGVmIGdldF9ncm91cChzZWxmKToKICsgICAgICAg IGlmIG5vdCBzZWxmLl9fdXNlX3hrYjoKICsgICAgICAgICAgICByZXR1cm4gMAotKyAgICAgICAg cmV0dXJuIGludChzZWxmLl9fZ2V0X291dHB1dF9mcm9tX2NtZGxpbmUoIi0tZ2V0LWdyb3VwIiwg Imdyb3VwOiAiKSkKKysgICAgICAgIHJldHVybiBpbnQoc2VsZi5fX2dldF9vdXRwdXRfZnJvbV9j bWRsaW5lKCctLWdldC1ncm91cCcsICdncm91cDogJykpCiArCi0rICAgIGRlZiBzZXRfbGF5b3V0 KHNlbGYsIGxheW91dD0iZGVmYXVsdCIsIG1vZGVsPSJkZWZhdWx0Iiwgb3B0aW9uPSJkZWZhdWx0 Iik6CisrICAgIGRlZiBzZXRfbGF5b3V0KHNlbGYsIGxheW91dD0nZGVmYXVsdCcsIG1vZGVsPSdk ZWZhdWx0Jywgb3B0aW9uPSdkZWZhdWx0Jyk6CiArICAgICAgICBpZiBub3Qgc2VsZi5fX3VzZV94 a2I6CiArICAgICAgICAgICAgcmV0dXJuCiArICAgICAgICBpZiBsYXlvdXQgPT0gTm9uZToKQEAg LTQyNywyNCArNDMzLDMxIEBAIGluZGV4IDAwMDAwMDAuLjRjYjNmZmQKICsgICAgICAgICAgICA+ IFhLQl9TRVNTSU9OX1RJTUVfT1VUKToKICsgICAgICAgICAgICBzZWxmLl9fdGltZV9sYWdfc2Vz c2lvbl94a2JfbGF5b3V0ID0gRmFsc2UKICsgICAgICAgICAgICBzZWxmLl9fdGltZV9sYWdfc2Vz c2lvbl94a2Jfb3B0aW9uID0gRmFsc2UKLSsgICAgICAgIGlmIGxheW91dCA9PSAiZGVmYXVsdCI6 CisrICAgICAgICBpZiBsYXlvdXQgPT0gJ2RlZmF1bHQnOgogKyAgICAgICAgICAgIGxheW91dCA9 IHNlbGYuX19kZWZhdWx0X2xheW91dAogKyAgICAgICAgZWxzZToKICsgICAgICAgICAgICBzZWxm Ll9fdGltZV9sYWdfc2Vzc2lvbl94a2JfbGF5b3V0ID0gRmFsc2UKICsgICAgICAgIGlmIG1vZGVs ICE9IE5vbmU6CiArICAgICAgICAgICAgbW9kZWwgPSBzdHIobW9kZWwpCi0rICAgICAgICAgICAg aWYgbW9kZWwgPT0gImRlZmF1bHQiOgorKyAgICAgICAgICAgIGlmIG1vZGVsID09ICdkZWZhdWx0 JzoKICsgICAgICAgICAgICAgICAgKGxheW91dCwgbW9kZWwpID0gc2VsZi5fX2dldF9tb2RlbF9m cm9tX2xheW91dChsYXlvdXQpCi0rICAgICAgICAgICAgaWYgbW9kZWwgPT0gImRlZmF1bHQiOgor KyAgICAgICAgICAgIGlmIG1vZGVsID09ICdkZWZhdWx0JzoKICsgICAgICAgICAgICAgICAgbW9k ZWwgPSBzZWxmLl9fZGVmYXVsdF9tb2RlbAogKyAgICAgICAgICAgIGVsc2U6CiArICAgICAgICAg ICAgICAgIHNlbGYuX190aW1lX2xhZ19zZXNzaW9uX3hrYl9sYXlvdXQgPSBGYWxzZQogKyAgICAg ICAgaWYgb3B0aW9uICE9IE5vbmU6CiArICAgICAgICAgICAgb3B0aW9uID0gc3RyKG9wdGlvbikK LSsgICAgICAgICAgICBpZiBvcHRpb24gPT0gImRlZmF1bHQiOgorKyAgICAgICAgICAgIGlmIG9w dGlvbiA9PSAnZGVmYXVsdCc6CisrICAgICAgICAgICAgICAgIChsYXlvdXQsIGVuZ2luZV9vcHRp b24pID0gc2VsZi5fX2dldF9vcHRpb25fZnJvbV9sYXlvdXQobGF5b3V0KQorKyAgICAgICAgICAg ICAgICBpZiBlbmdpbmVfb3B0aW9uICE9IE5vbmUgYW5kIGVuZ2luZV9vcHRpb24gIT0gJ2RlZmF1 bHQnOgorKyAgICAgICAgICAgICAgICAgICAgb3B0aW9uID0gc2VsZi5fX2RlZmF1bHRfb3B0aW9u CisrICAgICAgICAgICAgICAgICAgICBpZiBvcHRpb24gPT0gTm9uZToKKysgICAgICAgICAgICAg ICAgICAgICAgICBvcHRpb24gPSBlbmdpbmVfb3B0aW9uCisrICAgICAgICAgICAgICAgICAgICBl bHNlOgorKyAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbiA9ICclcywlcycgJSAob3B0aW9u LCBlbmdpbmVfb3B0aW9uKQorKyAgICAgICAgICAgICAgICAgICAgc2VsZi5fX3RpbWVfbGFnX3Nl c3Npb25feGtiX29wdGlvbiA9IEZhbHNlCisrICAgICAgICAgICAgaWYgb3B0aW9uID09ICdkZWZh dWx0JzoKICsgICAgICAgICAgICAgICAgb3B0aW9uID0gc2VsZi5fX2RlZmF1bHRfb3B0aW9uCi0r ICAgICAgICAgICAgZWxzZToKLSsgICAgICAgICAgICAgICAgc2VsZi5fX3RpbWVfbGFnX3Nlc3Np b25feGtiX29wdGlvbiA9IEZhbHNlCiArICAgICAgICBuZWVkX3VzX2xheW91dCA9IEZhbHNlCiAr ICAgICAgICBmb3IgbGF0aW5fbGF5b3V0IGluIHNlbGYuX194a2JfbGF0aW5fbGF5b3V0czoKICsg ICAgICAgICAgICBsYXRpbl9sYXlvdXQgPSBzdHIobGF0aW5fbGF5b3V0KQpAQCAtNDU1LDkgKzQ2 OCw5IEBAIGluZGV4IDAwMDAwMDAuLjRjYjNmZmQKICsgICAgICAgICAgICAgICAgbmVlZF91c19s YXlvdXQgPSBUcnVlCiArICAgICAgICAgICAgICAgIGJyZWFrCiArICAgICAgICBpZiBuZWVkX3Vz X2xheW91dDoKLSsgICAgICAgICAgICBsYXlvdXQgPSBsYXlvdXQgKyAiLHVzIgorKyAgICAgICAg ICAgIGxheW91dCA9IGxheW91dCArICcsdXMnCiArICAgICAgICAgICAgaWYgbW9kZWwgIT0gTm9u ZToKLSsgICAgICAgICAgICAgICAgbW9kZWwgPSBtb2RlbCArICIsIgorKyAgICAgICAgICAgICAg ICBtb2RlbCA9IG1vZGVsICsgJywnCiArICAgICAgICBpZiBsYXlvdXQgPT0gc2VsZi5nZXRfbGF5 b3V0KCkgYW5kIFwKICsgICAgICAgICAgIG1vZGVsID09IHNlbGYuZ2V0X21vZGVsKCkgYW5kIFwK ICsgICAgICAgICAgIG9wdGlvbiA9PSBzZWxmLmdldF9vcHRpb24oKToKQEAgLTQ2NSwyNSArNDc4 LDI1IEBAIGluZGV4IDAwMDAwMDAuLjRjYjNmZmQKICsgICAgICAgIGFyZ3MgPSBbXQogKyAgICAg ICAgYXJncy5hcHBlbmQoc2VsZi5fX2NvbW1hbmQpCiArICAgICAgICBhcmdzLmFwcGVuZChvcy5w YXRoLmJhc2VuYW1lKHNlbGYuX19jb21tYW5kKSkKLSsgICAgICAgIGFyZ3MuYXBwZW5kKCItLWxh eW91dCIpCisrICAgICAgICBhcmdzLmFwcGVuZCgnLS1sYXlvdXQnKQogKyAgICAgICAgYXJncy5h cHBlbmQobGF5b3V0KQogKyAgICAgICAgaWYgbW9kZWwgIT0gTm9uZToKLSsgICAgICAgICAgICBh cmdzLmFwcGVuZCgiLS1tb2RlbCIpCisrICAgICAgICAgICAgYXJncy5hcHBlbmQoJy0tbW9kZWwn KQogKyAgICAgICAgICAgIGFyZ3MuYXBwZW5kKG1vZGVsKQogKyAgICAgICAgaWYgb3B0aW9uICE9 IE5vbmU6Ci0rICAgICAgICAgICAgYXJncy5hcHBlbmQoIi0tb3B0aW9uIikKKysgICAgICAgICAg ICBhcmdzLmFwcGVuZCgnLS1vcHRpb24nKQogKyAgICAgICAgICAgIGFyZ3MuYXBwZW5kKG9wdGlv bikKICsgICAgICAgIHBpZCA9IG9zLnNwYXdubChvcy5QX05PV0FJVCwgKmFyZ3MpCiArICAgICAg ICBvcy53YWl0cGlkKHBpZCwgMCkKICsKLSsgICAgZGVmIHNldF9kZWZhdWx0X2xheW91dChzZWxm LCBsYXlvdXQ9ImRlZmF1bHQiLCBtb2RlbD0iZGVmYXVsdCIpOgorKyAgICBkZWYgc2V0X2RlZmF1 bHRfbGF5b3V0KHNlbGYsIGxheW91dD0nZGVmYXVsdCcsIG1vZGVsPSdkZWZhdWx0Jyk6CiArICAg ICAgICBpZiBub3Qgc2VsZi5fX3VzZV94a2I6CiArICAgICAgICAgICAgcmV0dXJuCiArICAgICAg ICBpZiBsYXlvdXQgPT0gTm9uZToKLSsgICAgICAgICAgICBwcmludCA+PiBzeXMuc3RkZXJyLCAi aWJ1cy54a2JsYXlvdXQ6IE5vbmUgbGF5b3V0IgorKyAgICAgICAgICAgIHByaW50ID4+IHN5cy5z dGRlcnIsICdpYnVzLnhrYmxheW91dDogTm9uZSBsYXlvdXQnCiArICAgICAgICAgICAgcmV0dXJu CiArICAgICAgICBpZiBtb2RlbCA9PSBOb25lOgotKyAgICAgICAgICAgIHByaW50ID4+IHN5cy5z dGRlcnIsICJpYnVzLnhrYmxheW91dDogTm9uZSBtb2RlbCIKKysgICAgICAgICAgICBwcmludCA+ PiBzeXMuc3RkZXJyLCAnaWJ1cy54a2JsYXlvdXQ6IE5vbmUgbW9kZWwnCiArICAgICAgICAgICAg cmV0dXJuCiArICAgICAgICBpZiBsYXlvdXQgPT0gJ2RlZmF1bHQnOgogKyAgICAgICAgICAgIHNl bGYuX19kZWZhdWx0X2xheW91dCA9IHNlbGYuZ2V0X2xheW91dCgpCkBAIC00OTgsMTEgKzUxMSwx MSBAQCBpbmRleCAwMDAwMDAwLi40Y2IzZmZkCiArICAgICAgICAgICAgZWxzZToKICsgICAgICAg ICAgICAgICAgc2VsZi5fX2RlZmF1bHRfbW9kZWwgPSBtb2RlbAogKwotKyAgICBkZWYgc2V0X2Rl ZmF1bHRfb3B0aW9uKHNlbGYsIG9wdGlvbj0iZGVmYXVsdCIpOgorKyAgICBkZWYgc2V0X2RlZmF1 bHRfb3B0aW9uKHNlbGYsIG9wdGlvbj0nZGVmYXVsdCcpOgogKyAgICAgICAgaWYgbm90IHNlbGYu X191c2VfeGtiOgogKyAgICAgICAgICAgIHJldHVybgogKyAgICAgICAgaWYgb3B0aW9uID09IE5v bmU6Ci0rICAgICAgICAgICAgcHJpbnQgPj4gc3lzLnN0ZGVyciwgImlidXMueGtibGF5b3V0OiBO b25lIG9wdGlvbiIKKysgICAgICAgICAgICBwcmludCA+PiBzeXMuc3RkZXJyLCAnaWJ1cy54a2Js YXlvdXQ6IE5vbmUgb3B0aW9uJwogKyAgICAgICAgICAgIHJldHVybgogKyAgICAgICAgaWYgb3B0 aW9uID09ICdkZWZhdWx0JzoKICsgICAgICAgICAgICBzZWxmLl9fZGVmYXVsdF9vcHRpb24gPSBz ZWxmLmdldF9vcHRpb24oKQpAQCAtNTI0LDEwICs1MzcsMTAgQEAgaW5kZXggMDAwMDAwMC4uNGNi M2ZmZAogKyAgICAgICAgc2VsZi5fX2RlZmF1bHRfb3B0aW9uID0gc2VsZi5nZXRfb3B0aW9uKCkK IGRpZmYgLS1naXQgYS9pYnVzL3hrYnhtbC5weS5pbiBiL2lidXMveGtieG1sLnB5LmluCiBuZXcg ZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMC4uN2U1YTQ0ZQoraW5kZXggMDAwMDAwMC4u MTZmNDdkZgogLS0tIC9kZXYvbnVsbAogKysrIGIvaWJ1cy94a2J4bWwucHkuaW4KLUBAIC0wLDAg KzEsNDEzIEBACitAQCAtMCwwICsxLDQxNiBAQAogKyMgdmltOnNldCBldCBzdHM9NCBzdz00Ogog KyMKICsjIGlidXMgLSBUaGUgSW5wdXQgQnVzCkBAIC01NTIsOCArNTY1LDggQEAgaW5kZXggMDAw MDAwMC4uN2U1YTQ0ZQogKyMgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCiArCiArX19hbGxf XyA9ICgKLSsgICAgICAgICJYS0JDb25maWdSZWdpc3RyeSIsCi0rICAgICAgICAiWEtCTGF5b3V0 Q29uZmlnIiwKKysgICAgICAgICdYS0JDb25maWdSZWdpc3RyeScsCisrICAgICAgICAnWEtCTGF5 b3V0Q29uZmlnJywKICsgICAgKQogKwogK2ltcG9ydCBvcwpAQCAtNTY5LDcgKzU4Miw3IEBAIGlu ZGV4IDAwMDAwMDAuLjdlNWE0NGUKICtleGNlcHQgSW1wb3J0RXJyb3I6CiArICAgIGdldF91c2Vy X2NvbmZpZ19kaXIgPSBsYW1iZGEgOiBOb25lCiArCi0rWEtCX1JVTEVTX1hNTF9GSUxFID0gIkBY S0JfUlVMRVNfWE1MX0ZJTEVAIgorK1hLQl9SVUxFU19YTUxfRklMRSA9ICdAWEtCX1JVTEVTX1hN TF9GSUxFQCcKICsKICtjbGFzcyBYS0JDb25maWdSZWdpc3RyeUhhbmRsZXIoWE1MRmlsdGVyQmFz ZSk6CiArICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwYXJzZXI9Tm9uZSwgcm9vdD0ncm9vdCcpOgpA QCAtNTk5LDE4ICs2MTIsMTggQEAgaW5kZXggMDAwMDAwMC4uN2U1YTQ0ZQogKyAgICAgICAgaWYg bm90IHNlbGYuX19sYXlvdXQ6CiArICAgICAgICAgICAgcmV0dXJuCiArICAgICAgICBpZiBzZWxm Ll9fdmFyaWFudDoKLSsgICAgICAgICAgICBpZiBzZWxmLl9fY3VycmVudF9ub2RlID09ICJuYW1l IjoKKysgICAgICAgICAgICBpZiBzZWxmLl9fY3VycmVudF9ub2RlID09ICduYW1lJzoKICsgICAg ICAgICAgICAgICAgc2VsZi5fX3ZhcmlhbnRfbGFiZWwgPSB0ZXh0CiArICAgICAgICAgICAgICAg IGlmIHNlbGYuX19sYXlvdXRfbGFiZWwgIT0gTm9uZSBhbmQgXAogKyAgICAgICAgICAgICAgICAg ICBzZWxmLl9fbGF5b3V0X2xhYmVsIGluIHNlbGYuX19sYXlvdXRsaXN0X2FycmF5OgogKyAgICAg ICAgICAgICAgICAgICAgc2VsZi5fX2xheW91dGxpc3RfYXJyYXlbc2VsZi5fX2xheW91dF9sYWJl bF0uYXBwZW5kKHRleHQpCi0rICAgICAgICAgICAgZWxpZiBzZWxmLl9fY3VycmVudF9ub2RlID09 ICJkZXNjcmlwdGlvbiI6Ci0rICAgICAgICAgICAgICAgIGxhYmVsID0gICIlcyglcykiICUgKHNl bGYuX19sYXlvdXRfbGFiZWwsIHNlbGYuX192YXJpYW50X2xhYmVsKQorKyAgICAgICAgICAgIGVs aWYgc2VsZi5fX2N1cnJlbnRfbm9kZSA9PSAnZGVzY3JpcHRpb24nOgorKyAgICAgICAgICAgICAg ICBsYWJlbCA9ICAnJXMoJXMpJyAlIChzZWxmLl9fbGF5b3V0X2xhYmVsLCBzZWxmLl9fdmFyaWFu dF9sYWJlbCkKICsgICAgICAgICAgICAgICAgc2VsZi5fX3ZhcmlhbnRfZGVzY1tsYWJlbF0gPSB0 ZXh0Ci0rICAgICAgICAgICAgZWxpZiBzZWxmLl9fY3VycmVudF9ub2RlID09ICJpc282MzlJZCI6 CisrICAgICAgICAgICAgZWxpZiBzZWxmLl9fY3VycmVudF9ub2RlID09ICdpc282MzlJZCc6CiAr ICAgICAgICAgICAgICAgIGxhYmVsID0gc2VsZi5fX2xheW91dF9sYWJlbAogKyAgICAgICAgICAg ICAgICBpZiBsYWJlbCAhPSBOb25lOgotKyAgICAgICAgICAgICAgICAgICAgbGFiZWwgPSAiJXMo JXMpIiAlIChsYWJlbCwgc2VsZi5fX3ZhcmlhbnRfbGFiZWwpCisrICAgICAgICAgICAgICAgICAg ICBsYWJlbCA9ICclcyglcyknICUgKGxhYmVsLCBzZWxmLl9fdmFyaWFudF9sYWJlbCkKICsgICAg ICAgICAgICAgICAgZWxzZToKICsgICAgICAgICAgICAgICAgICAgIGxhYmVsID0gc2VsZi5fX3Zh cmlhbnRfbGFiZWwKICsgICAgICAgICAgICAgICAgaWYgbGFiZWwgbm90IGluIHNlbGYuX19sYXlv dXRfbGFuZzoKQEAgLTYxOSwxMiArNjMyLDEyIEBAIGluZGV4IDAwMDAwMDAuLjdlNWE0NGUKICsg ICAgICAgICAgICBlbHNlOgogKyAgICAgICAgICAgICAgICBwYXNzCiArICAgICAgICBlbHNlOgot KyAgICAgICAgICAgIGlmIHNlbGYuX19jdXJyZW50X25vZGUgPT0gIm5hbWUiOgorKyAgICAgICAg ICAgIGlmIHNlbGYuX19jdXJyZW50X25vZGUgPT0gJ25hbWUnOgogKyAgICAgICAgICAgICAgICBz ZWxmLl9fbGF5b3V0X2xhYmVsID0gdGV4dAogKyAgICAgICAgICAgICAgICBzZWxmLl9fbGF5b3V0 bGlzdF9hcnJheVtzZWxmLl9fbGF5b3V0X2xhYmVsXSA9IFtdCi0rICAgICAgICAgICAgZWxpZiBz ZWxmLl9fY3VycmVudF9ub2RlID09ICJkZXNjcmlwdGlvbiI6CisrICAgICAgICAgICAgZWxpZiBz ZWxmLl9fY3VycmVudF9ub2RlID09ICdkZXNjcmlwdGlvbic6CiArICAgICAgICAgICAgICAgIHNl bGYuX19sYXlvdXRfZGVzY1tzZWxmLl9fbGF5b3V0X2xhYmVsXSA9IHRleHQKLSsgICAgICAgICAg ICBlbGlmIHNlbGYuX19jdXJyZW50X25vZGUgPT0gImlzbzYzOUlkIjoKKysgICAgICAgICAgICBl bGlmIHNlbGYuX19jdXJyZW50X25vZGUgPT0gJ2lzbzYzOUlkJzoKICsgICAgICAgICAgICAgICAg aWYgc2VsZi5fX2xheW91dF9sYWJlbCBub3QgaW4gc2VsZi5fX2xheW91dF9sYW5nOgogKyAgICAg ICAgICAgICAgICAgICAgc2VsZi5fX2xheW91dF9sYW5nW3NlbGYuX19sYXlvdXRfbGFiZWxdID0g W10KICsgICAgICAgICAgICAgICAgc2VsZi5fX2xheW91dF9sYW5nW3NlbGYuX19sYXlvdXRfbGFi ZWxdLmFwcGVuZCh0ZXh0KQpAQCAtNjM1LDYwICs2NDgsNjAgQEAgaW5kZXggMDAwMDAwMC4uN2U1 YTQ0ZQogKyAgICAgICAgaWYgbm90IHNlbGYuX19ncm91cDoKICsgICAgICAgICAgICByZXR1cm4K ICsgICAgICAgIGlmIHNlbGYuX19vcHRpb246Ci0rICAgICAgICAgICAgaWYgc2VsZi5fX2N1cnJl bnRfbm9kZSA9PSAibmFtZSI6CisrICAgICAgICAgICAgaWYgc2VsZi5fX2N1cnJlbnRfbm9kZSA9 PSAnbmFtZSc6CiArICAgICAgICAgICAgICAgIHNlbGYuX19vcHRpb25fbGFiZWwgPSB0ZXh0CiAr ICAgICAgICAgICAgICAgIGlmIHNlbGYuX19ncm91cF9sYWJlbCAhPSBOb25lIGFuZCBcCiArICAg ICAgICAgICAgICAgICAgIHNlbGYuX19ncm91cF9sYWJlbCBpbiBzZWxmLl9fb3B0aW9ubGlzdF9h cnJheToKICsgICAgICAgICAgICAgICAgICAgIHNlbGYuX19vcHRpb25saXN0X2FycmF5W3NlbGYu X19ncm91cF9sYWJlbF0uYXBwZW5kKHRleHQpCi0rICAgICAgICAgICAgZWxpZiBzZWxmLl9fY3Vy cmVudF9ub2RlID09ICJkZXNjcmlwdGlvbiI6CisrICAgICAgICAgICAgZWxpZiBzZWxmLl9fY3Vy cmVudF9ub2RlID09ICdkZXNjcmlwdGlvbic6CiArICAgICAgICAgICAgICAgIHNlbGYuX19vcHRp b25fZGVzY1tzZWxmLl9fb3B0aW9uX2xhYmVsXSA9IHRleHQKICsgICAgICAgICAgICBlbHNlOgog KyAgICAgICAgICAgICAgICBwYXNzCiArICAgICAgICBlbHNlOgotKyAgICAgICAgICAgIGlmIHNl bGYuX19jdXJyZW50X25vZGUgPT0gIm5hbWUiOgorKyAgICAgICAgICAgIGlmIHNlbGYuX19jdXJy ZW50X25vZGUgPT0gJ25hbWUnOgogKyAgICAgICAgICAgICAgICBzZWxmLl9fZ3JvdXBfbGFiZWwg PSB0ZXh0CiArICAgICAgICAgICAgICAgIHNlbGYuX19vcHRpb25saXN0X2FycmF5W3NlbGYuX19n cm91cF9sYWJlbF0gPSBbXQotKyAgICAgICAgICAgIGVsaWYgc2VsZi5fX2N1cnJlbnRfbm9kZSA9 PSAiZGVzY3JpcHRpb24iOgorKyAgICAgICAgICAgIGVsaWYgc2VsZi5fX2N1cnJlbnRfbm9kZSA9 PSAnZGVzY3JpcHRpb24nOgogKyAgICAgICAgICAgICAgICBzZWxmLl9fb3B0aW9uX2dyb3VwX2Rl c2Nbc2VsZi5fX2dyb3VwX2xhYmVsXSA9IHRleHQKICsgICAgICAgICAgICBlbHNlOgogKyAgICAg ICAgICAgICAgICBwYXNzCiArCiArICAgIGRlZiBzdGFydEVsZW1lbnQoc2VsZiwgbmFtZSwgYXR0 cnMpOgogKyAgICAgICAgc2VsZi5fX2N1cnJlbnRfbm9kZSA9IG5hbWUKLSsgICAgICAgIGlmIG5h bWUgPT0gImxheW91dExpc3QiOgorKyAgICAgICAgaWYgbmFtZSA9PSAnbGF5b3V0TGlzdCc6CiAr ICAgICAgICAgICAgc2VsZi5fX2xheW91dGxpc3QgPSBUcnVlCi0rICAgICAgICBlbGlmIG5hbWUg PT0gImxheW91dCI6CisrICAgICAgICBlbGlmIG5hbWUgPT0gJ2xheW91dCc6CiArICAgICAgICAg ICAgc2VsZi5fX2xheW91dCA9IFRydWUKICsgICAgICAgICAgICBzZWxmLl9fbGF5b3V0X2xhYmVs ID0gTm9uZQotKyAgICAgICAgZWxpZiBuYW1lID09ICJ2YXJpYW50TGlzdCI6CisrICAgICAgICBl bGlmIG5hbWUgPT0gJ3ZhcmlhbnRMaXN0JzoKICsgICAgICAgICAgICBzZWxmLl9fdmFyaWFudGxp c3QgPSBUcnVlCi0rICAgICAgICBlbGlmIG5hbWUgPT0gInZhcmlhbnQiOgorKyAgICAgICAgZWxp ZiBuYW1lID09ICd2YXJpYW50JzoKICsgICAgICAgICAgICBzZWxmLl9fdmFyaWFudCA9IFRydWUK ICsgICAgICAgICAgICBzZWxmLl9fdmFyaWFudF9sYWJlbCA9IE5vbmUKLSsgICAgICAgIGVsaWYg bmFtZSA9PSAib3B0aW9uTGlzdCI6CisrICAgICAgICBlbGlmIG5hbWUgPT0gJ29wdGlvbkxpc3Qn OgogKyAgICAgICAgICAgIHNlbGYuX19vcHRpb25saXN0ID0gVHJ1ZQotKyAgICAgICAgZWxpZiBu YW1lID09ICJvcHRpb24iOgorKyAgICAgICAgZWxpZiBuYW1lID09ICdvcHRpb24nOgogKyAgICAg ICAgICAgIHNlbGYuX19vcHRpb24gPSBUcnVlCiArICAgICAgICAgICAgc2VsZi5fX29wdGlvbl9s YWJlbCA9IE5vbmUKLSsgICAgICAgIGVsaWYgbmFtZSA9PSAiZ3JvdXAiOgorKyAgICAgICAgZWxp ZiBuYW1lID09ICdncm91cCc6CiArICAgICAgICAgICAgc2VsZi5fX2dyb3VwID0gVHJ1ZQogKyAg ICAgICAgICAgIHNlbGYuX19ncm91cF9sYWJlbCA9IE5vbmUKICsKICsgICAgZGVmIGVuZEVsZW1l bnQoc2VsZiwgbmFtZSk6CiArICAgICAgICBzZWxmLl9fY3VycmVudF9ub2RlID0gc2VsZi5fX3Jv b3QKLSsgICAgICAgIGlmIG5hbWUgPT0gImxheW91dExpc3QiOgorKyAgICAgICAgaWYgbmFtZSA9 PSAnbGF5b3V0TGlzdCc6CiArICAgICAgICAgICAgc2VsZi5fX2xheW91dGxpc3QgPSBGYWxzZQot KyAgICAgICAgZWxpZiBuYW1lID09ICJsYXlvdXQiOgorKyAgICAgICAgZWxpZiBuYW1lID09ICds YXlvdXQnOgogKyAgICAgICAgICAgIHNlbGYuX19sYXlvdXQgPSBGYWxzZQotKyAgICAgICAgZWxp ZiBuYW1lID09ICJ2YXJpYW50TGlzdCI6CisrICAgICAgICBlbGlmIG5hbWUgPT0gJ3ZhcmlhbnRM aXN0JzoKICsgICAgICAgICAgICBzZWxmLl9fdmFyaWFudGxpc3QgPSBGYWxzZQotKyAgICAgICAg ZWxpZiBuYW1lID09ICJ2YXJpYW50IjoKKysgICAgICAgIGVsaWYgbmFtZSA9PSAndmFyaWFudCc6 CiArICAgICAgICAgICAgc2VsZi5fX3ZhcmlhbnQgPSBGYWxzZQotKyAgICAgICAgZWxpZiBuYW1l ID09ICJvcHRpb25MaXN0IjoKKysgICAgICAgIGVsaWYgbmFtZSA9PSAnb3B0aW9uTGlzdCc6CiAr ICAgICAgICAgICAgc2VsZi5fX29wdGlvbmxpc3QgPSBGYWxzZQotKyAgICAgICAgZWxpZiBuYW1l ID09ICJvcHRpb24iOgorKyAgICAgICAgZWxpZiBuYW1lID09ICdvcHRpb24nOgogKyAgICAgICAg ICAgIHNlbGYuX19vcHRpb24gPSBGYWxzZQotKyAgICAgICAgZWxpZiBuYW1lID09ICJncm91cCI6 CisrICAgICAgICBlbGlmIG5hbWUgPT0gJ2dyb3VwJzoKICsgICAgICAgICAgICBzZWxmLl9fZ3Jv dXAgPSBGYWxzZQogKwogKyAgICBkZWYgY2hhcmFjdGVycyhzZWxmLCB0ZXh0KToKQEAgLTc0NCwx OCArNzU3LDE4IEBAIGluZGV4IDAwMDAwMDAuLjdlNWE0NGUKICsKICsgICAgZGVmIHN0YXJ0RWxl bWVudChzZWxmLCBuYW1lLCBhdHRycyk6CiArICAgICAgICBzZWxmLl9fY3VycmVudF9ub2RlID0g bmFtZQotKyAgICAgICAgaWYgbmFtZSA9PSAieGtibGF5b3V0IjoKKysgICAgICAgIGlmIG5hbWUg PT0gJ3hrYmxheW91dCc6CiArICAgICAgICAgICAgc2VsZi5fX3hrYmxheW91dCA9IFRydWUKLSsg ICAgICAgIGlmIG5hbWUgPT0gImNvbmZpZyI6CisrICAgICAgICBpZiBuYW1lID09ICdjb25maWcn OgogKyAgICAgICAgICAgIHNlbGYuX19jb25maWcgPSBUcnVlCiArICAgICAgICBpZiBzZWxmLl9f ZG93bnN0cmVhbSAhPSBOb25lOgogKyAgICAgICAgICAgIHNlbGYuX19kb3duc3RyZWFtLnN0YXJ0 RWxlbWVudChuYW1lLCB7fSkKICsKICsgICAgZGVmIGVuZEVsZW1lbnQoc2VsZiwgbmFtZSk6CiAr ICAgICAgICBzZWxmLl9fY3VycmVudF9ub2RlID0gc2VsZi5fX3Jvb3QKLSsgICAgICAgIGlmIG5h bWUgPT0gInhrYmxheW91dCI6CisrICAgICAgICBpZiBuYW1lID09ICd4a2JsYXlvdXQnOgogKyAg ICAgICAgICAgIHNlbGYuX194a2JsYXlvdXQgPSBGYWxzZQotKyAgICAgICAgaWYgbmFtZSA9PSAi Y29uZmlnIjoKKysgICAgICAgIGlmIG5hbWUgPT0gJ2NvbmZpZyc6CiArICAgICAgICAgICAgc2Vs Zi5fX2NvbmZpZyA9IEZhbHNlCiArICAgICAgICBpZiBzZWxmLl9fZG93bnN0cmVhbSAhPSBOb25l OgogKyAgICAgICAgICAgIHNlbGYuX19kb3duc3RyZWFtLmVuZEVsZW1lbnQobmFtZSkKQEAgLTc2 NSw3ICs3NzgsNyBAQCBpbmRleCAwMDAwMDAwLi43ZTVhNDRlCiArICAgICAgICAgICAgcmV0dXJu CiArICAgICAgICBpZiBub3Qgc2VsZi5fX3hrYmxheW91dCBvciBub3Qgc2VsZi5fX2NvbmZpZzoK ICsgICAgICAgICAgICByZXR1cm4KLSsgICAgICAgIGlmIHNlbGYuX19jdXJyZW50X25vZGUgPT0g InByZWxvYWRfbGF5b3V0cyI6CisrICAgICAgICBpZiBzZWxmLl9fY3VycmVudF9ub2RlID09ICdw cmVsb2FkX2xheW91dHMnOgogKyAgICAgICAgICAgIGlmIHNlbGYuX19wcmVsb2FkX2xheW91dHMg PT0gTm9uZToKICsgICAgICAgICAgICAgICAgc2VsZi5fX3ByZWxvYWRfbGF5b3V0cyA9IHRleHQu c3BsaXQoJywnKQogKyAgICAgICAgICAgICAgICBzZWxmLl9fcHJlbG9hZF9sYXlvdXRzLnNvcnQo KQpAQCAtNzg3LDcgKzgwMCw3IEBAIGluZGV4IDAwMDAwMDAuLjdlNWE0NGUKICsgICAgICAgIHRy eToKICsgICAgICAgICAgICBwYXJzZXIucGFyc2UoZikKICsgICAgICAgIGV4Y2VwdCBTQVhQYXJz ZUV4Y2VwdGlvbjoKLSsgICAgICAgICAgICBwcmludCAiRVJST1I6IGludmFsaWQgZmlsZSBmb3Jt YXQiLCBmaWxlX3BhdGgKKysgICAgICAgICAgICBwcmludCAnRVJST1I6IGludmFsaWQgZmlsZSBm b3JtYXQnLCBmaWxlX3BhdGgKICsgICAgICAgIGZpbmFsbHk6CiArICAgICAgICAgICAgZi5jbG9z ZSgpCiArCkBAIC04MjIsMzkgKzgzNSw0MiBAQCBpbmRleCAwMDAwMDAwLi43ZTVhNDRlCiArICAg ICAgICAgICAgICAgICAgICAgICAgbGF5b3V0LAogKyAgICAgICAgICAgICAgICAgICAgICAgIGxh eW91dF9kZXNjPU5vbmUsCiArICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD1Ob25lLAot KyAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhbnRfZGVzYz1Ob25lKToKKysgICAgICAgICAg ICAgICAgICAgICAgICB2YXJpYW50X2Rlc2M9Tm9uZSwKKysgICAgICAgICAgICAgICAgICAgICAg ICBuYW1lX3ByZWZpeD0neGtiOmxheW91dDonKToKICsgICAgICAgIGlmIHZhcmlhbnRfZGVzYyAh PSBOb25lOgogKyAgICAgICAgICAgIGxvbmduYW1lID0gdmFyaWFudF9kZXNjCiArICAgICAgICBl bGlmIGxheW91dCAhPSBOb25lIGFuZCB2YXJpYW50ICE9IE5vbmU6Ci0rICAgICAgICAgICAgbG9u Z25hbWUgPSBsYXlvdXQgKyAiIC0gIiArIHZhcmlhbnQKKysgICAgICAgICAgICBsb25nbmFtZSA9 IGxheW91dCArICcgLSAnICsgdmFyaWFudAogKyAgICAgICAgZWxpZiBsYXlvdXRfZGVzYyAhPSBO b25lOgogKyAgICAgICAgICAgIGxvbmduYW1lID0gbGF5b3V0X2Rlc2MKICsgICAgICAgIGVsc2U6 CiArICAgICAgICAgICAgbG9uZ25hbWUgPSBsYXlvdXQKICsgICAgICAgIGlmIHZhcmlhbnQgIT0g Tm9uZToKLSsgICAgICAgICAgICBuYW1lID0gInhrYjpsYXlvdXQ6IiArIGxheW91dCArICI6IiAr IHZhcmlhbnQKLSsgICAgICAgICAgICBkZXNjID0gIlhLQiAiICsgbGF5b3V0ICsgIigiICsgdmFy aWFudCArICIpIGtleWJvYXJkIGxheW91dCIKLSsgICAgICAgICAgICBlbmdpbmVfbGF5b3V0ID0g bGF5b3V0ICsgIigiICsgdmFyaWFudCArICIpIgorKyAgICAgICAgICAgIG5hbWUgPSBuYW1lX3By ZWZpeCArIGxheW91dCArICc6JyArIHZhcmlhbnQKKysgICAgICAgICAgICBkZXNjID0gJ1hLQiAn ICsgbGF5b3V0ICsgJygnICsgdmFyaWFudCArICcpIGtleWJvYXJkIGxheW91dCcKKysgICAgICAg ICAgICBlbmdpbmVfbGF5b3V0ID0gbGF5b3V0ICsgJygnICsgdmFyaWFudCArICcpJwogKyAgICAg ICAgZWxzZToKLSsgICAgICAgICAgICBuYW1lID0gInhrYjpsYXlvdXQ6IiArIGxheW91dAotKyAg ICAgICAgICAgIGRlc2MgPSAiWEtCICIgKyBsYXlvdXQgKyAiIGtleWJvYXJkIGxheW91dCIKKysg ICAgICAgICAgICBuYW1lID0gbmFtZV9wcmVmaXggKyBsYXlvdXQKKysgICAgICAgICAgICBkZXNj ID0gJ1hLQiAnICsgbGF5b3V0ICsgJyBrZXlib2FyZCBsYXlvdXQnCiArICAgICAgICAgICAgZW5n aW5lX2xheW91dCA9IGxheW91dAogKworKyAgICAgICAgaWNvbiA9ICdpYnVzLWVuZ2luZScKKysK ICsgICAgICAgIGVuZ2luZSA9IGVuZ2luZWRlc2MuRW5naW5lRGVzYyhuYW1lLCBsb25nbmFtZSwg ZGVzYywgbGFuZywKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTEdQ TDIuMSIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlRha2FvIEZ1 aml3YXJhIDx0YWthby5mdWppd2FyYTFAZ21haWwuY29tPiIsCi0rICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgImlidXMtZW5naW5lIiwKKysgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAnTEdQTDIuMScsCisrICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJ1Rha2FvIEZ1aml3YXJhIDx0YWthby5mdWppd2FyYTFAZ21haWwuY29t PicsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbiwKICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmdpbmVfbGF5b3V0KQogKyAgICAg ICAgcmV0dXJuIGVuZ2luZQogKwogK2NsYXNzIFhLQkxheW91dENvbmZpZygpOgogKyAgICBkZWYg X19pbml0X18oc2VsZiwKLSsgICAgICAgICAgICAgICAgIHN5c3RlbV9jb25maWc9IkBkYXRhZGly QC9pYnVzL3hrYi94a2JsYXlvdXRjb25maWcueG1sIik6CisrICAgICAgICAgICAgICAgICBzeXN0 ZW1fY29uZmlnPSdAZGF0YWRpckAvaWJ1cy94a2IveGtibGF5b3V0Y29uZmlnLnhtbCcpOgogKyAg ICAgICAgc2VsZi5fX3VzZXJfY29uZmlnID0gZ2V0X3VzZXJfY29uZmlnX2RpcigpCiArICAgICAg ICBpZiBzZWxmLl9fdXNlcl9jb25maWcgPT0gTm9uZToKLSsgICAgICAgICAgICBzZWxmLl9fdXNl cl9jb25maWcgPSBvcy5lbnZpcm9uWydIT01FJ10gKyAiLy5jb25maWciCisrICAgICAgICAgICAg c2VsZi5fX3VzZXJfY29uZmlnID0gb3MuZW52aXJvblsnSE9NRSddICsgJy8uY29uZmlnJwogKyAg ICAgICAgc2VsZi5fX3VzZXJfY29uZmlnID0gc2VsZi5fX3VzZXJfY29uZmlnICsgXAotKyAgICAg ICAgICAgICIvaWJ1cy94a2IveGtibGF5b3V0Y29uZmlnLnhtbCIKKysgICAgICAgICAgICAnL2li dXMveGtiL3hrYmxheW91dGNvbmZpZy54bWwnCiArICAgICAgICBzZWxmLl9fc3lzdGVtX2NvbmZp ZyA9IHN5c3RlbV9jb25maWcKICsgICAgICAgIHNlbGYuX19maWx0ZXJfaGFuZGxlciA9IE5vbmUK ICsgICAgICAgIHNlbGYuX19sb2FkKCkKQEAgLTg3Niw3ICs4OTIsNyBAQCBpbmRleCAwMDAwMDAw Li43ZTVhNDRlCiArICAgICAgICB0cnk6CiArICAgICAgICAgICAgcGFyc2VyLnBhcnNlKGYpCiAr ICAgICAgICBleGNlcHQgU0FYUGFyc2VFeGNlcHRpb246Ci0rICAgICAgICAgICAgcHJpbnQgIkVS Uk9SOiBpbnZhbGlkIGZpbGUgZm9ybWF0Iiwgc2VsZi5fX3VzZXJfY29uZmlnCisrICAgICAgICAg ICAgcHJpbnQgJ0VSUk9SOiBpbnZhbGlkIGZpbGUgZm9ybWF0Jywgc2VsZi5fX3VzZXJfY29uZmln CiArICAgICAgICBmaW5hbGx5OgogKyAgICAgICAgICAgIGYuY2xvc2UoKQogKwpAQCAtOTEwLDM1 ICs5MjYsMzUgQEAgaW5kZXggMDAwMDAwMC4uN2U1YTQ0ZQogKyAgICB2YXJpYW50X2Rlc2MgPSB4 a2Jjb25maWcuZ2V0X3ZhcmlhbnRfZGVzYygpCiArICAgIGZvciBsYXlvdXQgaW4gbGF5b3V0X2xp c3Qua2V5cygpOgogKyAgICAgICAgaWYgbGF5b3V0IG5vdCBpbiBsYXlvdXRfbGFuZzoKLSsgICAg ICAgICAgICBwcmludCAibGF5b3V0IG5hbWU6IiwgbGF5b3V0LCAiTk8tTEFORyBkZXNjcmlwdGlv bjoiLCBsYXlvdXRfZGVzY1tsYXlvdXRdCisrICAgICAgICAgICAgcHJpbnQgJ2xheW91dCBuYW1l OicsIGxheW91dCwgJ05PLUxBTkcgZGVzY3JpcHRpb246JywgbGF5b3V0X2Rlc2NbbGF5b3V0XQog KyAgICAgICAgICAgIGNvbnRpbnVlCiArICAgICAgICBsYW5nID0gbGF5b3V0X2xhbmdbbGF5b3V0 XQotKyAgICAgICAgcHJpbnQgImxheW91dCBuYW1lOiIsIGxheW91dCwgImxhbmc6IiwgbGFuZywg ImRlc2NyaXB0aW9uOiIsIGxheW91dF9kZXNjW2xheW91dF0KKysgICAgICAgIHByaW50ICdsYXlv dXQgbmFtZTonLCBsYXlvdXQsICdsYW5nOicsIGxhbmcsICdkZXNjcmlwdGlvbjonLCBsYXlvdXRf ZGVzY1tsYXlvdXRdCiArICAgICAgICBmb3IgdmFyaWFudCBpbiBsYXlvdXRfbGlzdFtsYXlvdXRd OgotKyAgICAgICAgICAgIGxhYmVsID0gIiVzKCVzKSIgJSAobGF5b3V0LCB2YXJpYW50KQorKyAg ICAgICAgICAgIGxhYmVsID0gJyVzKCVzKScgJSAobGF5b3V0LCB2YXJpYW50KQogKyAgICAgICAg ICAgIGlmIGxhYmVsIGluIGxheW91dF9sYW5nOgogKyAgICAgICAgICAgICAgICBsYW5nID0gbGF5 b3V0X2xhbmdbbGFiZWxdCi0rICAgICAgICAgICAgcHJpbnQgIiAgdmFyaWFudCBuYW1lOiIsIHZh cmlhbnQsICJsYW5nOiIsIGxhbmcsICJkZXNjcmlwdGlvbjoiLCB2YXJpYW50X2Rlc2NbdmFyaWFu dF0KKysgICAgICAgICAgICBwcmludCAnICB2YXJpYW50IG5hbWU6JywgdmFyaWFudCwgJ2xhbmc6 JywgbGFuZywgJ2Rlc2NyaXB0aW9uOicsIHZhcmlhbnRfZGVzY1t2YXJpYW50XQogKwogKyAgICBv cHRpb25fbGlzdCA9IHhrYmNvbmZpZy5nZXRfb3B0aW9uX2xpc3QoKQogKyAgICBvcHRpb25fZ3Jv dXBfZGVzYyA9IHhrYmNvbmZpZy5nZXRfb3B0aW9uX2dyb3VwX2Rlc2MoKQogKyAgICBvcHRpb25f ZGVzYyA9IHhrYmNvbmZpZy5nZXRfb3B0aW9uX2Rlc2MoKQogKyAgICBmb3Igb3B0aW9uX2dyb3Vw IGluIG9wdGlvbl9saXN0LmtleXMoKToKLSsgICAgICAgIHByaW50ICJvcHRpb24gZ3JvdXAgbmFt ZToiLCBvcHRpb25fZ3JvdXAsICJkZXNjcmlwdGlvbjoiLCBvcHRpb25fZ3JvdXBfZGVzY1tvcHRp b25fZ3JvdXBdCisrICAgICAgICBwcmludCAnb3B0aW9uIGdyb3VwIG5hbWU6Jywgb3B0aW9uX2dy b3VwLCAnZGVzY3JpcHRpb246Jywgb3B0aW9uX2dyb3VwX2Rlc2Nbb3B0aW9uX2dyb3VwXQogKyAg ICAgICAgZm9yIG9wdGlvbiBpbiBvcHRpb25fbGlzdFtvcHRpb25fZ3JvdXBdOgotKyAgICAgICAg ICAgIHByaW50ICIgIG9wdGlvbiBuYW1lOiIsIG9wdGlvbiwgImRlc2NyaXB0aW9uOiIsIG9wdGlv bl9kZXNjW29wdGlvbl0KKysgICAgICAgICAgICBwcmludCAnICBvcHRpb24gbmFtZTonLCBvcHRp b24sICdkZXNjcmlwdGlvbjonLCBvcHRpb25fZGVzY1tvcHRpb25dCiArCiArZGVmIHRlc3QyKCk6 Ci0rICAgIHhrYmxheW91dGNvbmZpZyA9IFhLQkxheW91dENvbmZpZygiLi4veGtiL3hrYmxheW91 dGNvbmZpZy54bWwiKQorKyAgICB4a2JsYXlvdXRjb25maWcgPSBYS0JMYXlvdXRDb25maWcoJy4u L3hrYi94a2JsYXlvdXRjb25maWcueG1sJykKICsgICAgbGlzdCA9IHhrYmxheW91dGNvbmZpZy5n ZXRfcHJlbG9hZF9sYXlvdXRzKCkKICsgICAgcHJpbnQgbGlzdAogKyAgICBpZiBsaXN0ID09IE5v bmU6CiArICAgICAgICBsaXN0ID0gW10KLSsgICAgbGlzdC5hcHBlbmQoImdiKHRlc3QpIikKKysg ICAgbGlzdC5hcHBlbmQoJ2diKHRlc3QpJykKICsgICAgbGlzdC5zb3J0KCkKICsgICAgI3hrYmxh eW91dGNvbmZpZy5zYXZlX3ByZWxvYWRfbGF5b3V0cyhsaXN0KQogKwotK2lmIF9fbmFtZV9fID09 ICJfX21haW5fXyI6CisraWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKICsgICAgdGVzdCgpCiAr ICAgIHRlc3QyKCkKIGRpZmYgLS1naXQgYS9zZXR1cC9NYWtlZmlsZS5hbSBiL3NldHVwL01ha2Vm aWxlLmFtCkBAIC0yMTQ2LDg2ICsyMTYyLDYgQEAgaW5kZXggYzQwOGYzZC4uNmJiOWZmNSAxMDA2 NDQKICAjaW5jbHVkZSA8aWJ1c3htbC5oPgogICNpbmNsdWRlIDxpYnVzZW5naW5lZGVzYy5oPgog ICNpbmNsdWRlIDxpYnVzb2JzZXJ2ZWRwYXRoLmg+Ci1kaWZmIC0tZ2l0IGEvc3JjL2lidXNmYWN0 b3J5LmMgYi9zcmMvaWJ1c2ZhY3RvcnkuYwotaW5kZXggMTFkOWE2ZC4uNzc3MDIxNiAxMDA2NDQK LS0tLSBhL3NyYy9pYnVzZmFjdG9yeS5jCi0rKysgYi9zcmMvaWJ1c2ZhY3RvcnkuYwotQEAgLTIx LDYgKzIxLDcgQEAKLSAgKi8KLSAjaW5jbHVkZSAiaWJ1c2ZhY3RvcnkuaCIKLSAjaW5jbHVkZSAi aWJ1c2VuZ2luZS5oIgotKyNpbmNsdWRlICJpYnVzbWFyc2hhbGVycy5oIgotICNpbmNsdWRlICJp YnVzc2hhcmUuaCIKLSAjaW5jbHVkZSAiaWJ1c2ludGVybmFsLmgiCi0gCi1AQCAtMjgsNiArMjks NyBAQAotICAgIChHX1RZUEVfSU5TVEFOQ0VfR0VUX1BSSVZBVEUgKChvKSwgSUJVU19UWVBFX0ZB Q1RPUlksIElCdXNGYWN0b3J5UHJpdmF0ZSkpCi0gCi0gZW51bSB7Ci0rICAgIExPT0tVUF9FTkdJ TkVfTkFNRSwKLSAgICAgTEFTVF9TSUdOQUwsCi0gfTsKLSAKLUBAIC00Miw2ICs0NCw4IEBAIHN0 cnVjdCBfSUJ1c0ZhY3RvcnlQcml2YXRlIHsKLSAgICAgR0hhc2hUYWJsZSAgICAgKmVuZ2luZV90 YWJsZTsKLSB9OwotIAotK3N0YXRpYyBndWludCAgICAgICAgICAgIGZhY3Rvcnlfc2lnbmFsc1tM QVNUX1NJR05BTF0gPSB7IDAgfTsKLSsKLSAvKiBmdW5jdGlvbnMgcHJvdG90eXBlICovCi0gc3Rh dGljIHZvaWQgICAgICBpYnVzX2ZhY3RvcnlfZGVzdHJveSAgICAgICAgKElCdXNGYWN0b3J5ICAg ICAgICAqZmFjdG9yeSk7Ci0gc3RhdGljIHZvaWQgICAgICBpYnVzX2ZhY3Rvcnlfc2V0X3Byb3Bl cnR5ICAgKElCdXNGYWN0b3J5ICAgICAgICAqZW5naW5lLAotQEAgLTExMyw2ICsxMTcsMTcgQEAg aWJ1c19mYWN0b3J5X2NsYXNzX2luaXQgKElCdXNGYWN0b3J5Q2xhc3MgKmNsYXNzKQotICAgICBp YnVzX3NlcnZpY2VfY2xhc3NfYWRkX2ludGVyZmFjZXMgKElCVVNfU0VSVklDRV9DTEFTUyAoY2xh c3MpLCBpbnRyb3NwZWN0aW9uX3htbCk7Ci0gCi0gICAgIGdfdHlwZV9jbGFzc19hZGRfcHJpdmF0 ZSAoY2xhc3MsIHNpemVvZiAoSUJ1c0ZhY3RvcnlQcml2YXRlKSk7Ci0rCi0rICAgIGZhY3Rvcnlf c2lnbmFsc1tMT09LVVBfRU5HSU5FX05BTUVdID0KLSsgICAgICAgIGdfc2lnbmFsX25ldyAoSV8o Imxvb2t1cC1lbmdpbmUtbmFtZSIpLAotKyAgICAgICAgICAgIEdfVFlQRV9GUk9NX0NMQVNTIChn b2JqZWN0X2NsYXNzKSwKLSsgICAgICAgICAgICBHX1NJR05BTF9SVU5fTEFTVCwKLSsgICAgICAg ICAgICBHX1NUUlVDVF9PRkZTRVQgKElCdXNGYWN0b3J5Q2xhc3MsIGxvb2t1cF9lbmdpbmVfbmFt ZSksCi0rICAgICAgICAgICAgTlVMTCwgTlVMTCwKLSsgICAgICAgICAgICBfaWJ1c19tYXJzaGFs X1ZPSURfX1NUUklORywKLSsgICAgICAgICAgICBHX1RZUEVfTk9ORSwKLSsgICAgICAgICAgICAx LAotKyAgICAgICAgICAgIEdfVFlQRV9TVFJJTkcpOwotIH0KLSAKLSBzdGF0aWMgdm9pZAotQEAg LTE5MCw4ICsyMDUsMTIgQEAgaWJ1c19mYWN0b3J5X3NlcnZpY2VfbWV0aG9kX2NhbGwgKElCdXNT ZXJ2aWNlICAgICAgICAgICAqc2VydmljZSwKLSAKLSAgICAgaWYgKGdfc3RyY21wMCAobWV0aG9k X25hbWUsICJDcmVhdGVFbmdpbmUiKSA9PSAwKSB7Ci0gICAgICAgICBnY2hhciAqZW5naW5lX25h bWUgPSBOVUxMOwotKyAgICAgICAgR1R5cGUgZW5naW5lX3R5cGU7Ci0rCi0gICAgICAgICBnX3Zh cmlhbnRfZ2V0IChwYXJhbWV0ZXJzLCAiKCZzKSIsICZlbmdpbmVfbmFtZSk7Ci0tICAgICAgICBH VHlwZSBlbmdpbmVfdHlwZSA9IChHVHlwZSApZ19oYXNoX3RhYmxlX2xvb2t1cCAoZmFjdG9yeS0+ cHJpdi0+ZW5naW5lX3RhYmxlLCBlbmdpbmVfbmFtZSk7Ci0rICAgICAgICBnX3NpZ25hbF9lbWl0 IChmYWN0b3J5LCBmYWN0b3J5X3NpZ25hbHNbTE9PS1VQX0VOR0lORV9OQU1FXSwKLSsgICAgICAg ICAgICAgICAgICAgICAgIDAsIGVuZ2luZV9uYW1lKTsKLSsgICAgICAgIGVuZ2luZV90eXBlID0g KEdUeXBlKSBnX2hhc2hfdGFibGVfbG9va3VwIChmYWN0b3J5LT5wcml2LT5lbmdpbmVfdGFibGUs IGVuZ2luZV9uYW1lKTsKLSAKLSAgICAgICAgIGlmIChlbmdpbmVfdHlwZSA9PSBHX1RZUEVfSU5W QUxJRCkgewotICAgICAgICAgICAgIGdjaGFyICplcnJvcl9tZXNzYWdlID0gZ19zdHJkdXBfcHJp bnRmICgiQ2FuIG5vdCBmb25kIGVuZ2luZSAlcyIsIGVuZ2luZV9uYW1lKTsKLWRpZmYgLS1naXQg YS9zcmMvaWJ1c2ZhY3RvcnkuaCBiL3NyYy9pYnVzZmFjdG9yeS5oCi1pbmRleCA0N2MwNmUwLi4x MDIwODFjIDEwMDY0NAotLS0tIGEvc3JjL2lidXNmYWN0b3J5LmgKLSsrKyBiL3NyYy9pYnVzZmFj dG9yeS5oCi1AQCAtMTI3LDEwICsxMjcsMTMgQEAgc3RydWN0IF9JQnVzRmFjdG9yeUNsYXNzIHsK LSAgICAgSUJ1c1NlcnZpY2VDbGFzcyBwYXJlbnQ7Ci0gCi0gICAgIC8qIHNpZ25hbHMgKi8KLSsg ICAgdm9pZCAgICAgICAgKCogbG9va3VwX2VuZ2luZV9uYW1lKQotKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChJQnVzRmFjdG9yeSAgICAqZmFjdG9yeSwKLSsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIgICAgKmVuZ2luZV9uYW1lKTsK LSAKLSAgICAgLyo8IHByaXZhdGUgPiovCi0gICAgIC8qIHBhZGRpbmcgKi8KLS0gICAgZ3BvaW50 ZXIgcGR1bW15WzhdOwotKyAgICBncG9pbnRlciBwZHVtbXlbN107Ci0gfTsKLSAKLSAvKioKIGRp ZmYgLS1naXQgYS9zcmMvaWJ1c3hrYnhtbC5jIGIvc3JjL2lidXN4a2J4bWwuYwogbmV3IGZpbGUg bW9kZSAxMDA2NDQKIGluZGV4IDAwMDAwMDAuLmM2MzBlYjkKQEAgLTI4NTEsNyArMjc4Nyw3IEBA IGluZGV4IDAwMDAwMDAuLjY5ODZiNWMKICtHX0VORF9ERUNMUwogKyNlbmRpZgogZGlmZiAtLWdp dCBhL3VpL2d0ay9wYW5lbC5weSBiL3VpL2d0ay9wYW5lbC5weQotaW5kZXggOTBiZTFkNS4uZGU2 NDkyMCAxMDA2NDQKK2luZGV4IDkwYmUxZDUuLjg4MDQ2MzQgMTAwNjQ0CiAtLS0gYS91aS9ndGsv cGFuZWwucHkKICsrKyBiL3VpL2d0ay9wYW5lbC5weQogQEAgLTEzMiw2ICsxMzIsMjIgQEAgY2xh c3MgUGFuZWwoaWJ1cy5QYW5lbEJhc2UpOgpAQCAtMjkyOCw3ICsyODY0LDcgQEAgaW5kZXggOTBi ZTFkNS4uZGU2NDkyMCAxMDA2NDQKICAKICAKICAgICAgZGVmIHJlc2V0KHNlbGYpOgotQEAgLTU0 MiwzICs1NzIsMTIgQEAgY2xhc3MgUGFuZWwoaWJ1cy5QYW5lbEJhc2UpOgorQEAgLTU0MiwzICs1 NzIsMTQgQEAgY2xhc3MgUGFuZWwoaWJ1cy5QYW5lbEJhc2UpOgogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBmbGFncz1nbGliLlNQQVdOX0RPX05PVF9SRUFQX0NISUxEKVswXQogICAg ICAgICAgc2VsZi5fX3NldHVwX3BpZCA9IHBpZAogICAgICAgICAgZ2xpYi5jaGlsZF93YXRjaF9h ZGQoc2VsZi5fX3NldHVwX3BpZCwgc2VsZi5fX2NoaWxkX3dhdGNoX2NiKQpAQCAtMjkzOSw2ICsy ODc1LDggQEAgaW5kZXggOTBiZTFkNS4uZGU2NDkyMCAxMDA2NDQKICsgICAgICAgICMgdG8gImRl ZmF1bHQiIGxheW91dD8KICsgICAgICAgIGlmIGVuZ2luZS5uYW1lICE9IE5vbmUgYW5kIGVuZ2lu ZS5uYW1lLnN0YXJ0c3dpdGgoInhrYjpsYXlvdXQ6Iik6CiArICAgICAgICAgICAgcmV0dXJuIGVu Z2luZS5sYXlvdXQKKysgICAgICAgIGVsaWYgZW5naW5lLmxheW91dCAhPSBOb25lIGFuZCBlbmdp bmUubGF5b3V0LnN0YXJ0c3dpdGgoImRlZmF1bHQiKToKKysgICAgICAgICAgICByZXR1cm4gZW5n aW5lLmxheW91dAogKyAgICAgICAgZWxzZToKICsgICAgICAgICAgICByZXR1cm4gImRlZmF1bHQi CiBkaWZmIC0tZ2l0IGEveGtiL01ha2VmaWxlLmFtIGIveGtiL01ha2VmaWxlLmFtCkBAIC0zMDUz LDEwICsyOTkxLDEwIEBAIGluZGV4IDAwMDAwMDAuLmFkOWNkZDkKICtlbmRpZgogZGlmZiAtLWdp dCBhL3hrYi9pYnVzLWVuZ2luZS14a2ItbWFpbi5jIGIveGtiL2lidXMtZW5naW5lLXhrYi1tYWlu LmMKIG5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwLi41ZDc0OGNjCitpbmRleCAw MDAwMDAwLi5hMmYxMzFjCiAtLS0gL2Rldi9udWxsCiArKysgYi94a2IvaWJ1cy1lbmdpbmUteGti LW1haW4uYwotQEAgLTAsMCArMSwzOTcgQEAKK0BAIC0wLDAgKzEsNDEzIEBACiArLyogLSotIG1v ZGU6IEM7IGMtYmFzaWMtb2Zmc2V0OiA0OyBpbmRlbnQtdGFicy1tb2RlOiBuaWw7IC0qLSAqLwog Ky8qIHZpbTpzZXQgZXQgc3RzPTQ6ICovCiArLyogYnVzIC0gVGhlIElucHV0IEJ1cwpAQCAtMzA4 Myw3ICszMDIxLDYgQEAgaW5kZXggMDAwMDAwMC4uNWQ3NDhjYwogKyNpbmNsdWRlIDxjb25maWcu aD4KICsjZW5kaWYKICsKLSsjaW5jbHVkZSA8Z2NvbmYvZ2NvbmYtY2xpZW50Lmg+CiArI2luY2x1 ZGUgPGlidXMuaD4KICsjaW5jbHVkZSA8c3RkbGliLmg+CiArCkBAIC0zMjEwLDM0ICszMTQ3LDQ4 IEBAIGluZGV4IDAwMDAwMDAuLjVkNzQ4Y2MKICsgICAgaWJ1c19xdWl0ICgpOwogK30KICsKLStz dGF0aWMgdm9pZAotK19mYWN0b3J5X2xvb2t1cF9lbmdpbmVfbmFtZV9jYiAoSUJ1c0ZhY3Rvcnkg KmZhY3RvcnksCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnY2hhciAq ZW5naW5lX25hbWUsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncG9pbnRlciAg ICAgZGF0YSkKKytJQnVzRW5naW5lICoKKytfZmFjdG9yeV9jcmVhdGVfZW5naW5lX2NiIChJQnVz RmFjdG9yeSAqZmFjdG9yeSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnY2hh ciAqZW5naW5lX25hbWUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3BvaW50ZXIgICAg IGRhdGEpCiArewotKyAgICBzdGF0aWMgR0xpc3QgKmVuZ2luZV9saXN0ID0gTlVMTDsKLSsgICAg R0xpc3QgKmxpc3Q7Ci0rICAgIGdib29sZWFuIGhhc19uYW1lID0gRkFMU0U7CisrI2lmIDAKKysg ICAgc3RhdGljIEdIYXNoVGFibGUgKmVuZ2luZV90YWJsZSA9IE5VTEw7CisrI2VuZGlmCisrICAg IElCdXNFbmdpbmUgKmVuZ2luZSA9IE5VTEw7CisrICAgIGdjaGFyICpvYmplY3RfcGF0aCA9IE5V TEw7CisrICAgIHN0YXRpYyBpbnQgaWQgPSAwOwogKwotKyAgICBnX3JldHVybl9pZl9mYWlsIChl bmdpbmVfbmFtZSAhPSBOVUxMKTsKKysgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwgKGVuZ2luZV9u YW1lICE9IE5VTEwsIE5VTEwpOwogKwogKyAgICBpZiAoZ19zdHJjbXAwIChlbmdpbmVfbmFtZSwg InhrYjpsYXlvdXQ6dXMiKSA9PSAwKSB7Ci0rICAgICAgICByZXR1cm47CisrICAgICAgICByZXR1 cm4gTlVMTDsKICsgICAgfQotKyAgICBsaXN0ID0gZW5naW5lX2xpc3Q7Ci0rICAgIHdoaWxlIChs aXN0KSB7Ci0rICAgICAgICBpZiAoZ19zdHJjbXAwIChsaXN0LT5kYXRhLCBlbmdpbmVfbmFtZSkg PT0gMCkgewotKyAgICAgICAgICAgIGhhc19uYW1lID0gVFJVRTsKLSsgICAgICAgICAgICBicmVh azsKLSsgICAgICAgIH0KLSsgICAgICAgIGxpc3QgPSBsaXN0LT5uZXh0OworKworKyAgICAvKiBG SVhNRTogRG8gd2UgYWx3YXlzIG5lZWQgYSBuZXcgb2JqZWN0IHBhdGggZm9yIHRoZSBzYW1lIGVu Z2luZSBuYW1lPyAqLworKyNpZiAwCisrICAgIGlmIChlbmdpbmVfdGFibGUgPT0gTlVMTCkgewor KyAgICAgICAgZW5naW5lX3RhYmxlID0gZ19oYXNoX3RhYmxlX25ld19mdWxsIChnX3N0cl9oYXNo LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnX3N0cl9l cXVhbCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ19m cmVlLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxM KTsKICsgICAgfQotKyAgICBpZiAoaGFzX25hbWUpIHsKLSsgICAgICAgIHJldHVybjsKKysKKysg ICAgaWYgKChlbmdpbmUgPSAoSUJ1c0VuZ2luZSAqKSBnX2hhc2hfdGFibGVfbG9va3VwIChlbmdp bmVfdGFibGUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZW5naW5lX25hbWUpKSkgeworKyAgICAgICAgcmV0dXJuIGVuZ2luZTsKICsgICAg fQorKyNlbmRpZgogKwotKyAgICBpYnVzX2ZhY3RvcnlfYWRkX2VuZ2luZSAoZmFjdG9yeSwgZW5n aW5lX25hbWUsIElCVVNfVFlQRV9YS0JfRU5HSU5FKTsKLSsgICAgZW5naW5lX2xpc3QgPSBnX2xp c3RfYXBwZW5kIChlbmdpbmVfbGlzdCwgKGdwb2ludGVyKSBnX3N0cmR1cCAoZW5naW5lX25hbWUp KTsKKysgICAgb2JqZWN0X3BhdGggPSBnX3N0cmR1cF9wcmludGYgKCIvb3JnL2ZyZWVkZXNrdG9w L0lCdXMvWEtCRW5naW5lLyVkIiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICsraWQpOworKyAgICBlbmdpbmUgPSBpYnVzX2VuZ2luZV9uZXcgKGVuZ2luZV9uYW1lLAorKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iamVjdF9wYXRoLAorKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGlidXNfc2VydmljZV9nZXRfY29ubmVjdGlvbiAoSUJVU19TRVJWSUNF IChmYWN0b3J5KSkpOworKyNpZiAwCisrICAgIGdfaGFzaF90YWJsZV9pbnNlcnQgKGVuZ2luZV90 YWJsZSwgZ19zdHJkdXAgKGVuZ2luZV9uYW1lKSwgZW5naW5lKTsKKysjZW5kaWYKKysgICAgcmV0 dXJuIGVuZ2luZTsKICt9CiArCiArc3RhdGljIHZvaWQKQEAgLTMyNjMsMTQgKzMyMTQsMTUgQEAg aW5kZXggMDAwMDAwMC4uNWQ3NDhjYwogKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICJ1cyIsCiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlVTQSIsCiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKKysgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLAog KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IE5VTEwpKTsKICsKICsgICAgZmFjdG9yeSA9IGlidXNfZmFjdG9yeV9uZXcgKGlidXNfYnVzX2dl dF9jb25uZWN0aW9uIChidXMpKTsKICsKICsgICAgaWJ1c19mYWN0b3J5X2FkZF9lbmdpbmUgKGZh Y3RvcnksICJ4a2I6bGF5b3V0OnVzIiwgSUJVU19UWVBFX1hLQl9FTkdJTkUpOwogKwotKyAgICBn X3NpZ25hbF9jb25uZWN0IChHX09CSkVDVCAoZmFjdG9yeSksICJsb29rdXAtZW5naW5lLW5hbWUi LAotKyAgICAgICAgICAgICAgICAgICAgICBHX0NBTExCQUNLIChfZmFjdG9yeV9sb29rdXBfZW5n aW5lX25hbWVfY2IpLAorKyAgICBnX3NpZ25hbF9jb25uZWN0IChHX09CSkVDVCAoZmFjdG9yeSks ICJjcmVhdGUtZW5naW5lIiwKKysgICAgICAgICAgICAgICAgICAgICAgR19DQUxMQkFDSyAoX2Zh Y3RvcnlfY3JlYXRlX2VuZ2luZV9jYiksCiArICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOwog KyAgICBpZiAoaWJ1cykgewogKyAgICAgICAgaWJ1c19idXNfcmVxdWVzdF9uYW1lIChidXMsICJv cmcuZnJlZWRlc2t0b3AuSUJ1cy5YS0IiLCAwKTsKQEAgLTMzNzAsNiArMzMyMiw3IEBAIGluZGV4 IDAwMDAwMDAuLjVkNzQ4Y2MKICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAoY29uc3QgZ2NoYXIgKikga2V5cy0+ZGF0YSwKICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjLAogKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCisrICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKICsgICAg ICAgICAgICBpYnVzX2NvbXBvbmVudF9hZGRfZW5naW5lIChjb21wb25lbnQsIGVuZ2luZSk7CiAr ICAgICAgICAgICAgfQpAQCAtMzQwNSw3ICszMzU4LDggQEAgaW5kZXggMDAwMDAwMC4uNWQ3NDhj YwogKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAoY29uc3QgZ2NoYXIgKikga2V5cy0+ZGF0YSwKICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzYywKICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0IGdjaGFyICopIHZhcmlh bnRzLT5kYXRhLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAoY29uc3QgZ2NoYXIgKikgZ19oYXNoX3RhYmxlX2xvb2t1cCAodmFyaWFudF9k ZXNjLCB2YXJpYW50cy0+ZGF0YSkpOworKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAoY29uc3QgZ2NoYXIgKikgZ19oYXNoX3RhYmxlX2xvb2t1 cCAodmFyaWFudF9kZXNjLCB2YXJpYW50cy0+ZGF0YSksCisrICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOwogKyAgICAgICAgICAgICAg ICAgICAgaWJ1c19jb21wb25lbnRfYWRkX2VuZ2luZSAoY29tcG9uZW50LCBlbmdpbmUpOwogKyAg ICAgICAgICAgICAgICB9CiArICAgICAgICAgICAgfQpAQCAtNDA0MCwxMCArMzk5NCwxMCBAQCBp bmRleCAwMDAwMDAwLi4xNWU1ZDE4CiArI2VuZGlmCiBkaWZmIC0tZ2l0IGEveGtiL3hrYnhtbC5j IGIveGtiL3hrYnhtbC5jCiBuZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMC4uMmNl N2JjZgoraW5kZXggMDAwMDAwMC4uYWQxMGMyOAogLS0tIC9kZXYvbnVsbAogKysrIGIveGtiL3hr YnhtbC5jCi1AQCAtMCwwICsxLDMzNSBAQAorQEAgLTAsMCArMSwzMzkgQEAKICsvKiAtKi0gbW9k ZTogQzsgYy1iYXNpYy1vZmZzZXQ6IDQ7IGluZGVudC10YWJzLW1vZGU6IG5pbDsgLSotICovCiAr LyogdmltOnNldCBldCBzdHM9NDogKi8KICsvKiBidXMgLSBUaGUgSW5wdXQgQnVzCkBAIC00MzEy LDcgKzQyNjYsOCBAQCBpbmRleCAwMDAwMDAwLi4yY2U3YmNmCiArICAgICAgICAgICAgICAgICAg ICAgICAgICBjb25zdCBnY2hhciAqbGF5b3V0LAogKyAgICAgICAgICAgICAgICAgICAgICAgICAg Y29uc3QgZ2NoYXIgKmxheW91dF9kZXNjLAogKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29u c3QgZ2NoYXIgKnZhcmlhbnQsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnY2hh ciAqdmFyaWFudF9kZXNjKQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIg KnZhcmlhbnRfZGVzYywKKysgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdjaGFyICpu YW1lX3ByZWZpeCkKICt7CiArICAgIElCdXNFbmdpbmVEZXNjICplbmdpbmU7CiArICAgIGdjaGFy ICpuYW1lID0gTlVMTDsKQEAgLTQzMjIsNiArNDI3Nyw5IEBAIGluZGV4IDAwMDAwMDAuLjJjZTdi Y2YKICsKICsgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwgKGxhbmcgIT0gTlVMTCAmJiBsYXlvdXQg IT0gTlVMTCwgTlVMTCk7CiArCisrICAgIGlmIChuYW1lX3ByZWZpeCA9PSBOVUxMKSB7CisrICAg ICAgICBuYW1lX3ByZWZpeCA9ICJ4a2I6bGF5b3V0OiI7CisrICAgIH0KICsgICAgaWYgKHZhcmlh bnRfZGVzYykgewogKyAgICAgICAgbG9uZ25hbWUgPSBnX3N0cmR1cCAodmFyaWFudF9kZXNjKTsK ICsgICAgfSBlbHNlIGlmIChsYXlvdXQgJiYgdmFyaWFudCkgewpAQCAtNDMzMiwxMSArNDI5MCwx MSBAQCBpbmRleCAwMDAwMDAwLi4yY2U3YmNmCiArICAgICAgICBsb25nbmFtZSA9IGdfc3RyZHVw IChsYXlvdXQpOwogKyAgICB9CiArICAgIGlmICh2YXJpYW50KSB7Ci0rICAgICAgICBuYW1lID0g Z19zdHJkdXBfcHJpbnRmICgieGtiOmxheW91dDolczolcyIsIGxheW91dCwgdmFyaWFudCk7Cisr ICAgICAgICBuYW1lID0gZ19zdHJkdXBfcHJpbnRmICgiJXMlczolcyIsIG5hbWVfcHJlZml4LCBs YXlvdXQsIHZhcmlhbnQpOwogKyAgICAgICAgZGVzYyA9IGdfc3RyZHVwX3ByaW50ZiAoIlhLQiAl cyglcykga2V5Ym9hcmQgbGF5b3V0IiwgbGF5b3V0LCB2YXJpYW50KTsKICsgICAgICAgIGVuZ2lu ZV9sYXlvdXQgPSBnX3N0cmR1cF9wcmludGYgKCIlcyglcykiLCBsYXlvdXQsIHZhcmlhbnQpOwog KyAgICB9IGVsc2UgewotKyAgICAgICAgbmFtZSA9IGdfc3RyZHVwX3ByaW50ZiAoInhrYjpsYXlv dXQ6JXMiLCBsYXlvdXQpOworKyAgICAgICAgbmFtZSA9IGdfc3RyZHVwX3ByaW50ZiAoIiVzJXMi LCBuYW1lX3ByZWZpeCwgbGF5b3V0KTsKICsgICAgICAgIGRlc2MgPSBnX3N0cmR1cF9wcmludGYg KCJYS0IgJXMga2V5Ym9hcmQgbGF5b3V0IiwgbGF5b3V0KTsKICsgICAgICAgIGVuZ2luZV9sYXlv dXQgPSBnX3N0cmR1cCAobGF5b3V0KTsKICsgICAgfQpAQCAtNDM4MSwxMCArNDMzOSwxMCBAQCBp bmRleCAwMDAwMDAwLi4yY2U3YmNmCiArfQogZGlmZiAtLWdpdCBhL3hrYi94a2J4bWwuaCBiL3hr Yi94a2J4bWwuaAogbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAuLjU2ODExZWYK K2luZGV4IDAwMDAwMDAuLjZjMDBmMWQKIC0tLSAvZGV2L251bGwKICsrKyBiL3hrYi94a2J4bWwu aAotQEAgLTAsMCArMSwxMTAgQEAKK0BAIC0wLDAgKzEsMTEzIEBACiArLyogLSotIG1vZGU6IEM7 IGMtYmFzaWMtb2Zmc2V0OiA0OyBpbmRlbnQtdGFicy1tb2RlOiBuaWw7IC0qLSAqLwogKy8qIHZp bTpzZXQgZXQgc3RzPTQ6ICovCiArLyogYnVzIC0gVGhlIElucHV0IEJ1cwpAQCAtNDQ2Miw2ICs0 NDIwLDggQEAgaW5kZXggMDAwMDAwMC4uNTY4MTFlZgogKyAqIEBsYXlvdXRfZGVzYzogS2V5Ym9h cmQgbGF5b3V0IGRlc2NyaXB0aW9uIGZvciBlbmdpbmUgZGVzY3JpcHRpb24KICsgKiBAdmFyaWFu dDogS2V5Ym9hcmQgdmFyaWFudAogKyAqIEB2YXJpYW50X2Rlc2M6IEtleWJvYXJkIHZhcmlhbnQg ZGVzY3JpcHRpb24gZm9yIGVuZ2luZSBkZXNjcmlwdGlvbgorKyAqIEBuYW1lX3ByZWZpeDogTmFt ZSBwcmVmaXggZm9yIGVuZ2luZSBkZXNjcmlwdGlvbiwgSWYgTlVMTCwKKysgKiAgICAgICAgICAg ICAgIHRoZSBkZWZhdWx0IGlzICJ4a2I6bGF5b3V0OiIuCiArICogQHJldHVybnM6IEEgbmV3bHkg YWxsb2NhdGVkIElCdXNFbmdpbmVEZXNjLgogKyAqCiArICogTmV3IGEgSUJ1c0VuZ2luZURlc2Mu CkBAIC00NDcwLDcgKzQ0MzAsOCBAQCBpbmRleCAwMDAwMDAwLi41NjgxMWVmCiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnY2hhciAqbGF5 b3V0LAogKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Y29uc3QgZ2NoYXIgKmxheW91dF9kZXNjLAogKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIgKnZhcmlhbnQsCi0rICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnY2hhciAqdmFyaWFu dF9kZXNjKTsKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGNvbnN0IGdjaGFyICp2YXJpYW50X2Rlc2MsCisrICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnY2hhciAqbmFtZV9wcmVmaXgpOwogKwog K0dUeXBlICAgICAgICAgICAgaWJ1c194a2JfbGF5b3V0X2NvbmZpZ19nZXRfdHlwZSAodm9pZCk7 CiArCgpkaWZmIC0tZ2l0IGEvaWJ1cy1IRUFELnBhdGNoIGIvaWJ1cy1IRUFELnBhdGNoCmluZGV4 IGZhYjZjODguLmM0YjU0OTggMTAwNjQ0Ci0tLSBhL2lidXMtSEVBRC5wYXRjaAorKysgYi9pYnVz LUhFQUQucGF0Y2gKQEAgLTEwNjYsMyArMTA2NiwyNzIgQEAgaW5kZXggMTU2N2M1Zi4uMjE2NGU3 YyAxMDA2NDQKIC0tIAogMS43LjUuNAogCitGcm9tIDYyNGM0NDUxZGEyYmQxNzFiZDhhYzUzYTli OWRkMmE0MjI3ZWY2N2YgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBQZW5nIEh1YW5n IDxzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbT4KK0RhdGU6IFRodSwgNyBKdWwgMjAxMSAxMjo0Mjo1 MiAtMDQwMAorU3ViamVjdDogW1BBVENIXSBGaXggc2V2ZXJhbCBHVmFyaWFudCByZWxhdGVkIGlz c3Vlcy4gQW5kIHJlbW92ZSBhIHdyb25nCisgdW5yZWYuCisKK0JVRz1Ob25lCitURVNUPUxpbnV4 IGRlc2t0b3AKKworUmV2aWV3IFVSTDogaHR0cDovL2NvZGVyZXZpZXcuYXBwc3BvdC5jb20vNDY2 NzA2NworLS0tCisgYnVzL2lidXNpbXBsLmMgICAgIHwgICAxMSArKysrKy0tLS0tLQorIGJ1cy9p bnB1dGNvbnRleHQuYyB8ICAgIDEgLQorIHNyYy9pYnVzY29uZmlnLmMgICB8ICAgIDggKystLS0t LS0KKyAzIGZpbGVzIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRpb25zKC0pCisK K2RpZmYgLS1naXQgYS9idXMvaWJ1c2ltcGwuYyBiL2J1cy9pYnVzaW1wbC5jCitpbmRleCBiMzU2 YjJjLi40MmFmZWVjIDEwMDY0NAorLS0tIGEvYnVzL2lidXNpbXBsLmMKKysrKyBiL2J1cy9pYnVz aW1wbC5jCitAQCAtMjE4Myw4ICsyMTgzLDggQEAgYnVzX2lidXNfaW1wbF9zYXZlX2dsb2JhbF9l bmdpbmVfbmFtZV90b19jb25maWcgKEJ1c0lCdXNJbXBsICppYnVzKQorICAgICAgICAgaWJ1cy0+ dXNlX2dsb2JhbF9lbmdpbmUgJiYKKyAgICAgICAgIGlidXMtPmdsb2JhbF9lbmdpbmVfbmFtZSkg eworICAgICAgICAgaWJ1c19jb25maWdfc2V0X3ZhbHVlIChpYnVzLT5jb25maWcsCistICAgICAg ICAgICAgICAgICAgICAgICAgImdlbmVyYWwiLCAiZ2xvYmFsX2VuZ2luZSIsCistICAgICAgICAg ICAgICAgICAgICAgICAgZ192YXJpYW50X25ldyAoInMiLCBpYnVzLT5nbG9iYWxfZW5naW5lX25h bWUpKTsKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyYWwiLCAiZ2xvYmFs X2VuZ2luZSIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdfdmFyaWFudF9uZXdf c3RyaW5nIChpYnVzLT5nbG9iYWxfZW5naW5lX25hbWUpKTsKKyAgICAgfQorIH0KKyAKK0BAIC0y MjA2LDggKzIyMDYsNyBAQCBidXNfaWJ1c19pbXBsX2xvYWRfZ2xvYmFsX3ByZXZpb3VzX2VuZ2lu ZV9uYW1lX2Zyb21fY29uZmlnIChCdXNJQnVzSW1wbCAqaWJ1cykKKyAgICAgR1ZhcmlhbnQgKnZh bHVlID0gaWJ1c19jb25maWdfZ2V0X3ZhbHVlIChpYnVzLT5jb25maWcsICJnZW5lcmFsIiwgImds b2JhbF9wcmV2aW91c19lbmdpbmUiKTsKKyAgICAgaWYgKHZhbHVlID09IE5VTEwpCisgICAgICAg ICByZXR1cm4gTlVMTDsKKy0gICAgZ2NoYXIgKmVuZ2luZV9uYW1lID0gTlVMTDsKKy0gICAgZ192 YXJpYW50X2dldCAodmFsdWUsICIocykiLCAmZW5naW5lX25hbWUpOworKyAgICBnY2hhciAqZW5n aW5lX25hbWUgPSBnX3ZhcmlhbnRfZHVwX3N0cmluZyAodmFsdWUsIE5VTEwpOworICAgICBnX3Zh cmlhbnRfdW5yZWYgKHZhbHVlKTsKKyAgICAgcmV0dXJuIGVuZ2luZV9uYW1lOworIH0KK0BAIC0y MjI2LDggKzIyMjUsOCBAQCBidXNfaWJ1c19pbXBsX3NhdmVfZ2xvYmFsX3ByZXZpb3VzX2VuZ2lu ZV9uYW1lX3RvX2NvbmZpZyAoQnVzSUJ1c0ltcGwgKmlidXMpCisgICAgICAgICBpYnVzLT51c2Vf Z2xvYmFsX2VuZ2luZSAmJgorICAgICAgICAgaWJ1cy0+Z2xvYmFsX3ByZXZpb3VzX2VuZ2luZV9u YW1lKSB7CisgICAgICAgICBpYnVzX2NvbmZpZ19zZXRfdmFsdWUgKGlidXMtPmNvbmZpZywKKy0g ICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJhbCIsICJnbG9iYWxfcHJldmlvdXNfZW5naW5l IiwKKy0gICAgICAgICAgICAgICAgICAgICAgICBnX3ZhcmlhbnRfbmV3ICgicyIsIGlidXMtPmds b2JhbF9wcmV2aW91c19lbmdpbmVfbmFtZSkpOworKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAiZ2VuZXJhbCIsICJnbG9iYWxfcHJldmlvdXNfZW5naW5lIiwKKysgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgZ192YXJpYW50X25ld19zdHJpbmcgKGlidXMtPmdsb2JhbF9wcmV2 aW91c19lbmdpbmVfbmFtZSkpOworICAgICB9CisgfQorIAorZGlmZiAtLWdpdCBhL2J1cy9pbnB1 dGNvbnRleHQuYyBiL2J1cy9pbnB1dGNvbnRleHQuYworaW5kZXggMjE2NGU3Yy4uNDdhYzlkNSAx MDA2NDQKKy0tLSBhL2J1cy9pbnB1dGNvbnRleHQuYworKysrIGIvYnVzL2lucHV0Y29udGV4dC5j CitAQCAtMTE3MSw3ICsxMTcxLDYgQEAgYnVzX2lucHV0X2NvbnRleHRfZm9jdXNfaW4gKEJ1c0lu cHV0Q29udGV4dCAqY29udGV4dCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwg Lyogd2UgZG8gbm90IGNhbmNlbCB0aGUgY2FsbC4gKi8KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgTlVMTCwgLyogdXNlIHRoZSBkZWZhdWx0IGNhbGxiYWNrIGZ1bmN0aW9uLiAqLworICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKKy0gICAgICAgICAgICBnX29iamVjdF91 bnJlZiAoZGVzYyk7CisgICAgICAgICB9CisgICAgIH0KKyAKK2RpZmYgLS1naXQgYS9zcmMvaWJ1 c2NvbmZpZy5jIGIvc3JjL2lidXNjb25maWcuYworaW5kZXggMzZlZjQ0Yi4uYjY5MTI3NyAxMDA2 NDQKKy0tLSBhL3NyYy9pYnVzY29uZmlnLmMKKysrKyBiL3NyYy9pYnVzY29uZmlnLmMKK0BAIC0x OTEsNyArMTkxLDYgQEAgaWJ1c19jb25maWdfZ2V0X3ZhbHVlIChJQnVzQ29uZmlnICAqY29uZgor IAorICAgICBHVmFyaWFudCAqdmFsdWUgPSBOVUxMOworICAgICBnX3ZhcmlhbnRfZ2V0IChyZXN1 bHQsICIodikiLCAmdmFsdWUpOworLSAgICBnX3ZhcmlhbnRfcmVmICh2YWx1ZSk7CisgICAgIGdf dmFyaWFudF91bnJlZiAocmVzdWx0KTsKKyAKKyAgICAgcmV0dXJuIHZhbHVlOworQEAgLTIzNSw3 ICsyMzQsNiBAQCBpYnVzX2NvbmZpZ19nZXRfdmFsdWVfYXN5bmNfZmluaXNoIChJQnVzCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yKTsKKyAg ICAgaWYgKHJldHZhbCAhPSBOVUxMKSB7CisgICAgICAgICBnX3ZhcmlhbnRfZ2V0IChyZXR2YWws ICIodikiLCAmdmFsdWUpOworLSAgICAgICAgZ192YXJpYW50X3JlZiAodmFsdWUpOworICAgICAg ICAgZ192YXJpYW50X3VucmVmIChyZXR2YWwpOworICAgICB9CisgCistLSAKKzEuNy41LjQKKwor RnJvbSA1NWE1NjUyYWM3ZDkxZmIzMTllZjY1NzY1MDBlNDIxZWI1M2U4MGY0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQorRnJvbTogWXVzdWtlIFNhdG8gPHl1c3VrZXNAY2hyb21pdW0ub3JnPgor RGF0ZTogTW9uLCAxMSBKdWwgMjAxMSAxMTo1NToxOSArMDkwMAorU3ViamVjdDogW1BBVENIXSBS ZW1vdmUgdGhlIGNhbGxiYWNrIG9uIGRlc3Ryb3kuCisKK0JVRz1jcm9zYnVnLmNvbS8xNzI5Mwor VEVTVD1zcmMvdGVzdHMvaWJ1cy1idXMuYworCitSZXZpZXcgVVJMOiBodHRwOi8vY29kZXJldmll dy5hcHBzcG90LmNvbS80Njc1MDc0CistLS0KKyBzcmMvaWJ1c2J1cy5jICAgICAgICB8ICAgIDQg KysrKworIDEgZmlsZXMgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAwIGRlbGV0aW9ucygtKQor CitkaWZmIC0tZ2l0IGEvc3JjL2lidXNidXMuYyBiL3NyYy9pYnVzYnVzLmMKK2luZGV4IDM5YWQ3 ODQuLjI2MDc0NDggMTAwNjQ0CistLS0gYS9zcmMvaWJ1c2J1cy5jCisrKysgYi9zcmMvaWJ1c2J1 cy5jCitAQCAtMzk4LDggKzM5OCwxMiBAQCBpYnVzX2J1c19kZXN0cm95IChJQnVzT2JqZWN0ICpv YmplY3QpCisgICAgIH0KKyAKKyAgICAgaWYgKGJ1cy0+cHJpdi0+Y29ubmVjdGlvbikgeworKyAg ICAgICAgZ19zaWduYWxfaGFuZGxlcnNfZGlzY29ubmVjdF9ieV9mdW5jIChidXMtPnByaXYtPmNv bm5lY3Rpb24sCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IEdfQ0FMTEJBQ0sgKF9jb25uZWN0aW9uX2Nsb3NlZF9jYiksCisrICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1cyk7CisgICAgICAgICAvKiBGSVhNRSBzaG91 bGQgdXNlIGFzeW5jIGNsb3NlIGZ1bmN0aW9uICovCisgICAgICAgICBnX2RidXNfY29ubmVjdGlv bl9jbG9zZV9zeW5jIChidXMtPnByaXYtPmNvbm5lY3Rpb24sIE5VTEwsIE5VTEwpOworKyAgICAg ICAgZ19vYmplY3RfdW5yZWYgKGJ1cy0+cHJpdi0+Y29ubmVjdGlvbik7CisgICAgICAgICBidXMt PnByaXYtPmNvbm5lY3Rpb24gPSBOVUxMOworICAgICB9CisgCistLSAKKzEuNy41LjQKKworRnJv bSAyOTBhMzdlMWQ0ZTNlYzQ0ZGZlYTRiOTk3NDQ1MjBmNzgxYzkyNTkyIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQorRnJvbTogWXVzdWtlIFNhdG8gPHl1c3VrZXNAY2hyb21pdW0ub3JnPgorRGF0 ZTogVHVlLCAxMiBKdWwgMjAxMSAxNDowNDozMCArMDkwMAorU3ViamVjdDogW1BBVENIXSBVc2Ug Z192YXJpYW50X2R1cF9zdHJpbmcgZm9yIGNvbnNpc3RlbmN5LgorCitUaGlzIGZpeCBpcyBzaW1p bGFyIHRvIGh0dHBzOi8vZ2l0aHViLmNvbS9pYnVzL2lidXMvY29tbWl0LzYyNGM0NDUxZGEyYmQx NzFiZDhhYzUzYTliOWRkMmE0MjI3ZWY2N2YgLgorCitCVUc9Tm9uZQorVEVTVD1Ob25lCisKK1Jl dmlldyBVUkw6IGh0dHA6Ly9jb2RlcmV2aWV3LmFwcHNwb3QuY29tLzQ2NDExMDEKKy0tLQorIGJ1 cy9pYnVzaW1wbC5jIHwgICAgMiArLQorIDEgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb25zKCsp LCAxIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYnVzL2lidXNpbXBsLmMgYi9idXMvaWJ1 c2ltcGwuYworaW5kZXggNDJhZmVlYy4uYjZiMjQ0MSAxMDA2NDQKKy0tLSBhL2J1cy9pYnVzaW1w bC5jCisrKysgYi9idXMvaWJ1c2ltcGwuYworQEAgLTIxNjMsNyArMjE2Myw3IEBAIGJ1c19pYnVz X2ltcGxfbG9hZF9nbG9iYWxfZW5naW5lX25hbWVfZnJvbV9jb25maWcgKEJ1c0lCdXNJbXBsICpp YnVzKQorICAgICBHVmFyaWFudCAqdmFyaWFudCA9IGlidXNfY29uZmlnX2dldF92YWx1ZSAoaWJ1 cy0+Y29uZmlnLCAiZ2VuZXJhbCIsICJnbG9iYWxfZW5naW5lIik7CisgICAgIGdjaGFyICplbmdp bmVfbmFtZSA9IE5VTEw7CisgICAgIGlmICh2YXJpYW50ICE9IE5VTEwpIHsKKy0gICAgICAgIGdf dmFyaWFudF9nZXQgKHZhcmlhbnQsICJzIiwgJmVuZ2luZV9uYW1lKTsKKysgICAgICAgIGVuZ2lu ZV9uYW1lID0gZ192YXJpYW50X2R1cF9zdHJpbmcgKHZhcmlhbnQsIE5VTEwpOworICAgICAgICAg Z192YXJpYW50X3VucmVmICh2YXJpYW50KTsKKyAgICAgfQorICAgICByZXR1cm4gZW5naW5lX25h bWU7CistLSAKKzEuNy41LjQKKworRnJvbSA0OGNjMjAwZDdkYmU5OTlmOTJiMDU1MDdhN2M1OWJl YTQyYWM2ZjFjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogZnVqaXdhcmF0IDx0YWth by5mdWppd2FyYTFAZ21haWwuY29tPgorRGF0ZTogVHVlLCAxMiBKdWwgMjAxMSAxNToxNDo1OSAr MDkwMAorU3ViamVjdDogW1BBVENIXSBGaXhlZCBhbiBlcnJvciBpbiBJQnVzLkJ1cy5yZWdpc3Rl cl9jb21wb25lbnQKKworVEVTVD1MaW51eCBkZXNrdG9wCisKK1JldmlldyBVUkw6IGh0dHA6Ly9j b2RlcmV2aWV3LmFwcHNwb3QuY29tLzQ2NjgwNjAKKy0tLQorIGlidXMvY29tcG9uZW50LnB5IHwg ICAgOSArKysrKy0tLS0KKyAxIGZpbGVzIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgNCBkZWxl dGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2lidXMvY29tcG9uZW50LnB5IGIvaWJ1cy9jb21wb25l bnQucHkKK2luZGV4IDEyZjU5M2QuLjcyNTVlZTEgMTAwNjQ0CistLS0gYS9pYnVzL2NvbXBvbmVu dC5weQorKysrIGIvaWJ1cy9jb21wb25lbnQucHkKK0BAIC05NCw2ICs5NCwxMSBAQCBjbGFzcyBD b21wb25lbnQoU2VyaWFsaXphYmxlKToKKyAgICAgICAgIGVuZ2luZSA9IEVuZ2luZURlc2MobmFt ZSwgbG9uZ25hbWUsIGRlc2NyaXB0aW9uLCBsYW5ndWFnZSwgbGljZW5zZSwgYXV0aG9yLCBpY29u LCBsYXlvdXQsIGhvdGtleXMpCisgICAgICAgICBzZWxmLl9fZW5naW5lcy5hcHBlbmQoZW5naW5l KQorIAorKyAgICBkZWYgYWRkX2VuZ2luZXMoc2VsZiwgZW5naW5lcyk6CisrICAgICAgICBpZiBu b3QgaXNpbnN0YW5jZShlbmdpbmVzLCBsaXN0KToKKysgICAgICAgICAgICByYWlzZSBUeXBlRXJy b3IoImVuZ2luZXMgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBsaXN0IikKKysgICAgICAgIHNlbGYu X19lbmdpbmVzLmV4dGVuZChlbmdpbmVzKQorKworICAgICBkZWYgc2VyaWFsaXplKHNlbGYsIHN0 cnVjdCk6CisgICAgICAgICBzdXBlcihDb21wb25lbnQsIHNlbGYpLnNlcmlhbGl6ZShzdHJ1Y3Qp CisgICAgICAgICBzdHJ1Y3QuYXBwZW5kIChkYnVzLlN0cmluZyhzZWxmLl9fbmFtZSkpCitAQCAt MTA2LDggKzExMSw2IEBAIGNsYXNzIENvbXBvbmVudChTZXJpYWxpemFibGUpOgorICAgICAgICAg c3RydWN0LmFwcGVuZCAoZGJ1cy5TdHJpbmcoc2VsZi5fX3RleHRkb21haW4pKQorICAgICAgICAg c3RydWN0LmFwcGVuZCAoZGJ1cy5BcnJheShtYXAoc2VyaWFsaXplX29iamVjdCxzZWxmLl9fb2Jz ZXJ2ZWRfcGF0aHMpLCBzaWduYXR1cmU9InYiKSkKKyAgICAgICAgIHN0cnVjdC5hcHBlbmQgKGRi dXMuQXJyYXkobWFwKHNlcmlhbGl6ZV9vYmplY3Qsc2VsZi5fX2VuZ2luZXMpLCBzaWduYXR1cmU9 InYiKSkKKy0gICAgICAgICMgTmV3IHByb3BlcnRpZXMgb2YgQ29tcG9uZW50IHdpbGwgdXNlIGRp Y3QgZm9yIHNlcmlhbGl6ZQorLSAgICAgICAgc3RydWN0LmFwcGVuZChkYnVzLkFycmF5KHt9LCBz aWduYXR1cmU9Tm9uZSkpCisgCisgICAgIGRlZiBkZXNlcmlhbGl6ZShzZWxmLCBzdHJ1Y3QpOgor ICAgICAgICAgc3VwZXIoQ29tcG9uZW50LCBzZWxmKS5kZXNlcmlhbGl6ZShzdHJ1Y3QpCitAQCAt MTIzLDggKzEyNiw2IEBAIGNsYXNzIENvbXBvbmVudChTZXJpYWxpemFibGUpOgorIAorICAgICAg ICAgc2VsZi5fX29ic2VydmVkX3BhdGhzID0gbWFwKGRlc2VyaWFsaXplX29iamVjdCwgc3RydWN0 LnBvcCgwKSkKKyAgICAgICAgIHNlbGYuX19lbmdpbmVzID0gbWFwKGRlc2VyaWFsaXplX29iamVj dCwgc3RydWN0LnBvcCgwKSkKKy0gICAgICAgICMgTmV3IHByb3BlcnRpZXMgb2YgQ29tcG9uZW50 IHdpbGwgdXNlIGRpY3QgZm9yIHNlcmlhbGl6ZQorLSAgICAgICAgI3ZhbHVlID0gc3RydWN0LnBv cCgwKQorIAorIGRlZiB0ZXN0KCk6CisgICAgIHRleHQgPSBDb21wb25lbnQoIkhlbGxvIiwgIiIs ICIiLCAiIiwgIiIsICIiLCAiIiwgIiIpCistLSAKKzEuNy41LjQKKworRnJvbSA4OGE0NDc1OWNl NWQzZDc4NWM3YmU5NjUyNTEzMGM2N2U4YzYzZTFlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQor RnJvbTogRGFpa2kgVWVubyA8dWVub0B1bml4dXNlci5vcmc+CitEYXRlOiBGcmksIDE1IEp1bCAy MDExIDA5OjUxOjA3ICswOTAwCitTdWJqZWN0OiBbUEFUQ0hdIEZpeCBHT2JqZWN0IHJlZi91bnJl ZiBpc3N1ZXMuCisKK0JVRz1ub25lCitURVNUPW1hbnVhbAorCitSZXZpZXcgVVJMOiBodHRwOi8v Y29kZXJldmlldy5hcHBzcG90LmNvbS80NzAwMDQ4CistLS0KKyBidXMvcmVnaXN0cnkuYyAgICB8 ICAgIDUgKysrLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlv bnMoLSkKKworZGlmZiAtLWdpdCBhL2J1cy9yZWdpc3RyeS5jIGIvYnVzL3JlZ2lzdHJ5LmMKK2lu ZGV4IGJjNjY4MGQuLjdiNzQ3ODEgMTAwNjQ0CistLS0gYS9idXMvcmVnaXN0cnkuYworKysrIGIv YnVzL3JlZ2lzdHJ5LmMKK0BAIC00MjQsNyArNDI0LDkgQEAgYnVzX3JlZ2lzdHJ5X2xvYWRfaW5f ZGlyIChCdXNSZWdpc3RyeSAqcmVnaXN0cnksCisgICAgICAgICBpZiAoY29tcG9uZW50ICE9IE5V TEwpIHsKKyAgICAgICAgICAgICBCdXNDb21wb25lbnQgKmJ1c2NvbXAgPSBidXNfY29tcG9uZW50 X25ldyAoY29tcG9uZW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBOVUxMIC8qIGZhY3RvcnkgKi8pOworLSAgICAgICAgICAgIHJlZ2lz dHJ5LT5jb21wb25lbnRzID0gZ19saXN0X2FwcGVuZCAocmVnaXN0cnktPmNvbXBvbmVudHMsIGJ1 c2NvbXApOworKyAgICAgICAgICAgIGdfb2JqZWN0X3JlZl9zaW5rIChidXNjb21wKTsKKysgICAg ICAgICAgICByZWdpc3RyeS0+Y29tcG9uZW50cyA9CisrICAgICAgICAgICAgICAgIGdfbGlzdF9h cHBlbmQgKHJlZ2lzdHJ5LT5jb21wb25lbnRzLCBidXNjb21wKTsKKyAgICAgICAgIH0KKyAKKyAg ICAgICAgIGdfZnJlZSAocGF0aCk7CitAQCAtNjU0LDcgKzY1Niw2IEBAIGJ1c19yZWdpc3RyeV9u YW1lX293bmVyX2NoYW5nZWQgKEJ1c1JlZ2lzdHJ5ICpyZWdpc3RyeSwKKyAgICAgICAgIGZhY3Rv cnkgPSBidXNfZmFjdG9yeV9wcm94eV9uZXcgKGNvbm5lY3Rpb24pOworICAgICAgICAgaWYgKGZh Y3RvcnkgPT0gTlVMTCkKKyAgICAgICAgICAgICByZXR1cm47CistICAgICAgICBnX29iamVjdF9y ZWZfc2luayAoZmFjdG9yeSk7CisgICAgICAgICBidXNfY29tcG9uZW50X3NldF9mYWN0b3J5IChj b21wb25lbnQsIGZhY3RvcnkpOworICAgICAgICAgZ19vYmplY3RfdW5yZWYgKGZhY3RvcnkpOwor ICAgICB9CistLSAKKzEuNy41LjQKKworRnJvbSAwY2I5MTJjZmU1NjY0NzE0ZTYxMjIwNmQ5NTVk NDU4NTMyYWRjNzA3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUGVuZyBIdWFuZyA8 c2hhd24ucC5odWFuZ0BnbWFpbC5jb20+CitEYXRlOiBTYXQsIDIzIEp1bCAyMDExIDA5OjIzOjQx ICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIEFsd2F5cyBlbmFibGUgdGhlIG5ldyBmb2N1c2VkIEJ1 c0lucHV0Q29udGV4dAorCitCVUc9aHR0cDovL2Nyb3NidWcuY29tLzE3MDEzCitURVNUPU9uIENo cm9tZU9TCisKK1JldmlldyBVUkw6IGh0dHA6Ly9jb2RlcmV2aWV3LmFwcHNwb3QuY29tLzQ4MTYw NDcKKy0tLQorIGJ1cy9pYnVzaW1wbC5jIHwgICAgMyArLS0KKyAxIGZpbGVzIGNoYW5nZWQsIDEg aW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2J1cy9pYnVzaW1w bC5jIGIvYnVzL2lidXNpbXBsLmMKK2luZGV4IGI2YjI0NDEuLjg1MzQ2NWMgMTAwNjQ0CistLS0g YS9idXMvaWJ1c2ltcGwuYworKysrIGIvYnVzL2lidXNpbXBsLmMKK0BAIC0xMjAzLDggKzEyMDMs NyBAQCBidXNfaWJ1c19pbXBsX3NldF9mb2N1c2VkX2NvbnRleHQgKEJ1c0lCdXNJbXBsICAgICAq aWJ1cywKKyAgICAgICAgIC8qIGF0dGFjaCBlbmdpbmUgdG8gdGhlIGZvY3VzZWQgY29udGV4dCAq LworICAgICAgICAgaWYgKGVuZ2luZSAhPSBOVUxMKSB7CisgICAgICAgICAgICAgYnVzX2lucHV0 X2NvbnRleHRfc2V0X2VuZ2luZSAoY29udGV4dCwgZW5naW5lKTsKKy0gICAgICAgICAgICBpZiAo YnVzX2VuZ2luZV9wcm94eV9pc19lbmFibGVkIChlbmdpbmUpKQorLSAgICAgICAgICAgICAgICBi dXNfaW5wdXRfY29udGV4dF9lbmFibGUgKGNvbnRleHQpOworKyAgICAgICAgICAgIGJ1c19pbnB1 dF9jb250ZXh0X2VuYWJsZSAoY29udGV4dCk7CisgICAgICAgICAgICAgZ19vYmplY3RfdW5yZWYg KGVuZ2luZSk7CisgICAgICAgICB9CisgCistLSAKKzEuNy41LjQKKwoKZGlmZiAtLWdpdCBhL2li dXMteHgtYnJpZGdlLWhvdGtleS5wYXRjaCBiL2lidXMteHgtYnJpZGdlLWhvdGtleS5wYXRjaApp bmRleCA3MzQ2YWNlLi4wYjU5MDIwIDEwMDY0NAotLS0gYS9pYnVzLXh4LWJyaWRnZS1ob3RrZXku cGF0Y2gKKysrIGIvaWJ1cy14eC1icmlkZ2UtaG90a2V5LnBhdGNoCkBAIC0xLDM2ICsxLDQ2IEBA Ci1Gcm9tIDJhZTE0N2M2ZDRiMTViNGFhNDBhOTE1ZTg2ZDA0ZmI3OTVkMzAyNGIgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCitGcm9tIDlkNTM4N2VhNDMwYWRiY2U4MTg5OWExYTJiZWNlNmM4NTIw ODQ4YjEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBmdWppd2FyYXQgPHRha2FvLmZ1 aml3YXJhMUBnbWFpbC5jb20+Ci1EYXRlOiBUdWUsIDUgSnVsIDIwMTEgMTM6NTE6MTEgKzA5MDAK K0RhdGU6IEZyaSwgNSBBdWcgMjAxMSAyMDo1NDozNyArMDkwMAogU3ViamVjdDogW1BBVENIXSBB ZGQgYSBicmlkZ2UgaG90a2V5IHdoaWNoIHVzZSBwcmV2LW5leHQgZW5naW5lcyBpbnN0ZWFkCiAg b2Ygb24tb2ZmLgogCiAtLS0KLSBidXMvTWFrZWZpbGUuYW0gICAgICAgICAgICB8ICAgMjAgKyst Ci0gYnVzL2lidXNpbXBsLmMgICAgICAgICAgICAgfCAgMzU3ICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKy0tLS0tLS0tCi0gYnVzL3JlZ2lzdHJ5LmMgICAgICAgICAgICAgfCAg IDM1ICsrKysrCi0gY29uZmlndXJlLmFjICAgICAgICAgICAgICAgfCAgIDMxICsrKysKLSBkYXRh L01ha2VmaWxlLmFtICAgICAgICAgICB8ICAgIDYgKy0KLSBkYXRhL2lidXMuc2NoZW1hcy5pbiAg ICAgICB8ICAyODYgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSBkYXRhL2li dXMuc2NoZW1hcy5pbi5pbiAgICB8ICAyODYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysKLSBpYnVzL19jb25maWcucHkuaW4gICAgICAgICB8ICAgIDYgKwotIGlidXMvaW5wdXRj b250ZXh0LnB5ICAgICAgIHwgICAgNCArCi0gc2V0dXAvZW5naW5lY29tYm9ib3gucHkgICAgfCAg ICAzICsKLSBzZXR1cC9lbmdpbmV0cmVldmlldy5weSAgICB8ICAgMTYgKystCi0gc3JjL01ha2Vm aWxlLmFtICAgICAgICAgICAgfCAgIDE4ICsrLQotIHNyYy9pYnVzYnVzLmMgICAgICAgICAgICAg IHwgICAxMiArKwotIHNyYy9pYnVzYnVzLmggICAgICAgICAgICAgIHwgICAxOCArKysKLSBzcmMv aWJ1c2hvdGtleS5jICAgICAgICAgICB8ICAgMTEgKysKLSBzcmMvaWJ1c2hvdGtleS5oICAgICAg ICAgICB8ICAgMTEgKysKLSB1aS9ndGsvcGFuZWwucHkgICAgICAgICAgICB8ICAxODkgKysrKysr KysrKysrKysrKysrKysrLS0tCi0geGtiL01ha2VmaWxlLmFtICAgICAgICAgICAgfCAgICAyICsK LSB4a2IvaWJ1cy1lbmdpbmUteGtiLW1haW4uYyB8ICAgIDggKwotIHhrYi94a2J4bWwuYyAgICAg ICAgICAgICAgIHwgICAgOCArLQotIDIwIGZpbGVzIGNoYW5nZWQsIDkzOSBpbnNlcnRpb25zKCsp LCAzODggZGVsZXRpb25zKC0pCisgYnVzL01ha2VmaWxlLmFtICAgICAgICAgICAgICAgICB8ICAg MjAgKy0KKyBidXMvaWJ1c2ltcGwuYyAgICAgICAgICAgICAgICAgIHwgIDQyNSArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKystLS0tLS0KKyBidXMvaW5wdXRjb250ZXh0LmMgICAgICAg ICAgICAgIHwgICAzOSArKysrCisgYnVzL2lucHV0Y29udGV4dC5oICAgICAgICAgICAgICB8ICAg MjIgKysKKyBidXMvcmVnaXN0cnkuYyAgICAgICAgICAgICAgICAgIHwgICAzNiArKysrCisgY29u ZmlndXJlLmFjICAgICAgICAgICAgICAgICAgICB8ICAgMzEgKysrCisgZGF0YS9NYWtlZmlsZS5h bSAgICAgICAgICAgICAgICB8ICAgIDYgKy0KKyBkYXRhL2lidXMuc2NoZW1hcy5pbiAgICAgICAg ICAgIHwgIDI4NyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIGRhdGEvaWJ1cy5zY2hlbWFz LmluLmluICAgICAgICAgfCAgMzAwICsrKysrKysrKysrKysrKysrKysrKysrKysrKworIGlidXMv X2NvbmZpZy5weS5pbiAgICAgICAgICAgICAgfCAgICA2ICsKKyBpYnVzL2lucHV0Y29udGV4dC5w eSAgICAgICAgICAgIHwgICAxNCArKy0KKyBpYnVzL2ludGVyZmFjZS9paW5wdXRjb250ZXh0LnB5 IHwgICAgNCArLQorIGlidXMveGtieG1sLnB5LmluICAgICAgICAgICAgICAgfCAgICA0ICsKKyBz ZXR1cC9lbmdpbmVjb21ib2JveC5weSAgICAgICAgIHwgICAgMyArCisgc2V0dXAvZW5naW5ldHJl ZXZpZXcucHkgICAgICAgICB8ICAgMTYgKystCisgc2V0dXAvbWFpbi5weSAgICAgICAgICAgICAg ICAgICB8ICAgMjQgKysrCisgc2V0dXAvc2V0dXAudWkgICAgICAgICAgICAgICAgICB8ICAgNTUg KysrKystCisgc3JjL01ha2VmaWxlLmFtICAgICAgICAgICAgICAgICB8ICAgMTggKy0KKyBzcmMv aWJ1c2hvdGtleS5jICAgICAgICAgICAgICAgIHwgICAxMSArCisgc3JjL2lidXNob3RrZXkuaCAg ICAgICAgICAgICAgICB8ICAgMTEgKworIHNyYy9pYnVzdXRpbC5jICAgICAgICAgICAgICAgICAg fCAgIDEyICsKKyBzcmMvaWJ1c3V0aWwuaCAgICAgICAgICAgICAgICAgIHwgICAxNCArKworIHVp L2d0ay9NYWtlZmlsZS5hbSAgICAgICAgICAgICAgfCAgICAyICsKKyB1aS9ndGsvcGFuZWwucHkg ICAgICAgICAgICAgICAgIHwgIDI4OCArKysrKysrKysrKysrKysrKysrKysrKystLQorIHVpL2d0 ay94a2JlbmdpbmUucHkgICAgICAgICAgICAgfCAgIDkzICsrKysrKysrKworIHVpL2d0ay94a2Jm YWN0b3J5LnB5ICAgICAgICAgICAgfCAgMTE3ICsrKysrKysrKysrCisgeGtiL01ha2VmaWxlLmFt ICAgICAgICAgICAgICAgICB8ICAgIDIgKworIHhrYi94a2J4bWwuYyAgICAgICAgICAgICAgICAg ICAgfCAgIDEwICstCisgMjggZmlsZXMgY2hhbmdlZCwgMTQ4MCBpbnNlcnRpb25zKCspLCAzOTAg ZGVsZXRpb25zKC0pCiAgZGVsZXRlIG1vZGUgMTAwNjQ0IGRhdGEvaWJ1cy5zY2hlbWFzLmluCiAg Y3JlYXRlIG1vZGUgMTAwNjQ0IGRhdGEvaWJ1cy5zY2hlbWFzLmluLmluCisgY3JlYXRlIG1vZGUg MTAwNjQ0IHVpL2d0ay94a2JlbmdpbmUucHkKKyBjcmVhdGUgbW9kZSAxMDA2NDQgdWkvZ3RrL3hr YmZhY3RvcnkucHkKIAogZGlmZiAtLWdpdCBhL2J1cy9NYWtlZmlsZS5hbSBiL2J1cy9NYWtlZmls ZS5hbQotaW5kZXggYjM1NmIyYy4uZjk0MTdhZCAxMDA2NDQKK2luZGV4IDA3NGI0NTYuLjBlZmFh MWIgMTAwNjQ0CiAtLS0gYS9idXMvTWFrZWZpbGUuYW0KICsrKyBiL2J1cy9NYWtlZmlsZS5hbQog QEAgLTI5LDE1ICsyOSwxNyBAQCBJTkNMVURFUyA9ICAgICAgICAgICAgICAgIFwKQEAgLTYxLDEw ICs3MSwxMCBAQCBpbmRleCBiMzU2YjJjLi5mOTQxN2FkIDEwMDY0NAogIEFNX0xEQUREID0gICAg ICAgICAgICAgICAgICBcCiAgCUBHT0JKRUNUMl9MSUJTQCAgICAgICAgIFwKIGRpZmYgLS1naXQg YS9idXMvaWJ1c2ltcGwuYyBiL2J1cy9pYnVzaW1wbC5jCi1pbmRleCBiMzU2YjJjLi5mZmVhMzdh IDEwMDY0NAoraW5kZXggZjEzZDhlMC4uNDRmZTk1NCAxMDA2NDQKIC0tLSBhL2J1cy9pYnVzaW1w bC5jCiArKysgYi9idXMvaWJ1c2ltcGwuYwotQEAgLTIwLDYgKzIwLDEwIEBACitAQCAtMjAsMTIg KzIwLDE3IEBACiAgICogQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCiAgICovCiAgCkBAIC03 NSw3ICs4NSwxNCBAQCBpbmRleCBiMzU2YjJjLi5mZmVhMzdhIDEwMDY0NAogICNpbmNsdWRlIDx1 bmlzdGQuaD4KICAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CiAgI2luY2x1ZGUgPHN5cy93YWl0Lmg+ Ci1AQCAtNzksNiArODMsMTAgQEAgc3RydWN0IF9CdXNJQnVzSW1wbCB7CisgI2luY2x1ZGUgPHNp Z25hbC5oPgorICNpbmNsdWRlIDxsb2NhbGUuaD4KKyAjaW5jbHVkZSA8c3RyaW5ncy5oPgorKyNp bmNsdWRlIDxzdHJpbmcuaD4KKyAjaW5jbHVkZSAidHlwZXMuaCIKKyAjaW5jbHVkZSAiaWJ1c2lt cGwuaCIKKyAjaW5jbHVkZSAiZGJ1c2ltcGwuaCIKK0BAIC03OSw2ICs4NCwxMCBAQCBzdHJ1Y3Qg X0J1c0lCdXNJbXBsIHsKICAgICAgLyogZW5naW5lLXNwZWNpZmljIGhvdGtleXMgKi8KICAgICAg SUJ1c0hvdGtleVByb2ZpbGUgKmVuZ2luZXNfaG90a2V5X3Byb2ZpbGU7CiAgICAgIEdIYXNoVGFi bGUgICAgICAqaG90a2V5X3RvX2VuZ2luZXNfbWFwOwpAQCAtODYsNyArMTAzLDcgQEAgaW5kZXgg YjM1NmIyYy4uZmZlYTM3YSAxMDA2NDQKICB9OwogIAogIHN0cnVjdCBfQnVzSUJ1c0ltcGxDbGFz cyB7Ci1AQCAtOTksNiArMTA3LDggQEAgZW51bSB7CitAQCAtOTksNiArMTA4LDggQEAgZW51bSB7 CiAgc3RhdGljIGd1aW50ICAgICAgICAgICAgX3NpZ25hbHNbTEFTVF9TSUdOQUxdID0geyAwIH07 CiAgKi8KICAKQEAgLTk1LDcgKzExMiw3IEBAIGluZGV4IGIzNTZiMmMuLmZmZWEzN2EgMTAwNjQ0 CiAgLyogZnVuY3Rpb25zIHByb3RvdHlwZSAqLwogIHN0YXRpYyB2b2lkICAgICAgYnVzX2lidXNf aW1wbF9kZXN0cm95ICAgICAgICAgICAoQnVzSUJ1c0ltcGwgICAgICAgICppYnVzKTsKICBzdGF0 aWMgdm9pZCAgICAgIGJ1c19pYnVzX2ltcGxfc2VydmljZV9tZXRob2RfY2FsbAotQEAgLTI4NSw2 ICsyOTUsMzAgQEAgX3BhbmVsX2Rlc3Ryb3lfY2IgKEJ1c1BhbmVsUHJveHkgKnBhbmVsLAorQEAg LTI4NSw2ICsyOTYsMzAgQEAgX3BhbmVsX2Rlc3Ryb3lfY2IgKEJ1c1BhbmVsUHJveHkgKnBhbmVs LAogICAgICBnX29iamVjdF91bnJlZiAocGFuZWwpOwogIH0KICAKQEAgLTEyNiwzNCArMTQzLDM1 IEBAIGluZGV4IGIzNTZiMmMuLmZmZWEzN2EgMTAwNjQ0CiAgc3RhdGljIHZvaWQKICBfY29uZmln X3NldF92YWx1ZV9kb25lIChHT2JqZWN0ICAgICAgKm9iamVjdCwKICAgICAgICAgICAgICAgICAg ICAgICAgICBHQXN5bmNSZXN1bHQgKnJlcywKLUBAIC00NzUsOCArNTA5LDIxIEBAIF9zZXRfcHJl bG9hZF9lbmdpbmVzIChCdXNJQnVzSW1wbCAqaWJ1cywKLSAgICAgICAgIGdfdmFyaWFudF91bnJl ZiAodmFsdWUpOwotICAgICB9Ci0gCi0tICAgIGdfbGlzdF9mb3JlYWNoIChlbmdpbmVfbGlzdCwg KEdGdW5jKSBnX29iamVjdF9yZWYsIE5VTEwpOwotICAgICBpYnVzLT5lbmdpbmVfbGlzdCA9IGVu Z2luZV9saXN0OwotKyNpZiBVU0VfQlJJREdFX0hPVEtFWQotKyAgICBpZiAoX2ZpbmRfZW5naW5l X2Rlc2NfYnlfbmFtZSAoaWJ1cywgREVGQVVMVF9CUklER0VfRU5HSU5FX05BTUUpID09IE5VTEwp IHsKLSsgICAgICAgIElCdXNFbmdpbmVEZXNjICplbmdpbmUgPSBidXNfcmVnaXN0cnlfZmluZF9l bmdpbmVfYnlfbmFtZSAoaWJ1cy0+cmVnaXN0cnksCi0rICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERFRkFVTFRfQlJJREdF X0VOR0lORV9OQU1FKTsKLSsgICAgICAgIGdfYXNzZXJ0IChlbmdpbmUgIT0gTlVMTCk7Ci0rICAg ICAgICBpZiAoZ19saXN0X2xlbmd0aCAoZW5naW5lX2xpc3QpID4gMCkgewotKyAgICAgICAgICAg IGVuZ2luZV9saXN0ID0gZ19saXN0X2luc2VydCAoZW5naW5lX2xpc3QsIGVuZ2luZSwgMSk7Ci0r ICAgICAgICB9IGVsc2UgewotKyAgICAgICAgICAgIGVuZ2luZV9saXN0ID0gZ19saXN0X2FwcGVu ZCAoZW5naW5lX2xpc3QsIGVuZ2luZSk7Ci0rICAgICAgIH0KLSsgICAgICAgIGlidXMtPmVuZ2lu ZV9saXN0ID0gZW5naW5lX2xpc3Q7Ci0rICAgIH0KLSsjZW5kaWYKLSsgICAgZ19saXN0X2ZvcmVh Y2ggKGVuZ2luZV9saXN0LCAoR0Z1bmMpIGdfb2JqZWN0X3JlZiwgTlVMTCk7Ci0gCi0gICAgIGlm IChpYnVzLT5lbmdpbmVfbGlzdCkgewotICAgICAgICAgQnVzQ29tcG9uZW50ICpjb21wb25lbnQg PSBidXNfY29tcG9uZW50X2Zyb21fZW5naW5lX2Rlc2MgKChJQnVzRW5naW5lRGVzYyAqKSBpYnVz LT5lbmdpbmVfbGlzdC0+ZGF0YSk7Ci1AQCAtNTYyLDYgKzYwOSw0MyBAQCBidXNfaWJ1c19pbXBs X3NldF9ob3RrZXkgKEJ1c0lCdXNJbXBsICppCitAQCAtNTYyLDYgKzU5Nyw2NyBAQCBidXNfaWJ1 c19pbXBsX3NldF9ob3RrZXkgKEJ1c0lCdXNJbXBsICppCiAgCiAgfQogIAogKyNpZiBVU0VfQlJJ REdFX0hPVEtFWQorK3N0YXRpYyBnYm9vbGVhbgorK3VzZV9icmlkZ2VfaG90a2V5IChCdXNJQnVz SW1wbCAqaWJ1cykKKyt7CisrICAgIEdWYXJpYW50ICp2YXJpYW50ID0gTlVMTDsKKysgICAgZ2Jv b2xlYW4gX3VzZV9icmlkZ2VfaG90a2V5ID0gVFJVRTsKKysKKysgICAgZ19hc3NlcnQgKGlidXMg IT0gTlVMTCk7CisrCisrICAgIGlmICghaWJ1cy0+Y29uZmlnKSB7CisrICAgICAgICByZXR1cm4g VFJVRTsKKysgICAgfQorKworKyAgICB2YXJpYW50ID0gaWJ1c19jb25maWdfZ2V0X3ZhbHVlIChp YnVzLT5jb25maWcsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5l cmFsL2hvdGtleSIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2Vf YnJpZGdlX2hvdGtleSIpOworKworKyAgICBpZiAodmFyaWFudCAhPSBOVUxMKSB7CisrICAgICAg ICBnX3ZhcmlhbnRfZ2V0ICh2YXJpYW50LCAiYiIsICZfdXNlX2JyaWRnZV9ob3RrZXkpOworKyAg ICAgICAgZ192YXJpYW50X3VucmVmICh2YXJpYW50KTsKKysgICAgfQorKworKyAgICByZXR1cm4g X3VzZV9icmlkZ2VfaG90a2V5OworK30KKysKICtzdGF0aWMgdm9pZAogK2J1c19pYnVzX2ltcGxf c2V0X2JyaWRnZV90cmlnZ2VyX2tleXMgKEJ1c0lCdXNJbXBsICppYnVzLAogKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdRdWFyayAgICAgICBob3RrZXksCkBAIC0xOTMs MTkgKzIxMSwyMyBAQCBpbmRleCBiMzU2YjJjLi5mZmVhMzdhIDEwMDY0NAogIC8qKgogICAqIGJ1 c19pYnVzX2ltcGxfc2V0X3RyaWdnZXI6CiAgICoKLUBAIC01NzMsNyArNjU3LDExIEBAIGJ1c19p YnVzX2ltcGxfc2V0X3RyaWdnZXIgKEJ1c0lCdXNJbXBsICoKK0BAIC01NzMsNyArNjY5LDE1IEBA IGJ1c19pYnVzX2ltcGxfc2V0X3RyaWdnZXIgKEJ1c0lCdXNJbXBsICoKICB7CiAgICAgIEdRdWFy ayBob3RrZXkgPSBnX3F1YXJrX2Zyb21fc3RhdGljX3N0cmluZyAoInRyaWdnZXIiKTsKICAgICAg aWYgKHZhbHVlICE9IE5VTEwpIHsKICsjaWYgVVNFX0JSSURHRV9IT1RLRVkKLSsgICAgICAgIGJ1 c19pYnVzX2ltcGxfc2V0X2JyaWRnZV90cmlnZ2VyX2tleXMgKGlidXMsIGhvdGtleSwgdmFsdWUp OworKyAgICAgICAgaWYgKHVzZV9icmlkZ2VfaG90a2V5IChpYnVzKSkgeworKyAgICAgICAgICAg IGJ1c19pYnVzX2ltcGxfc2V0X2JyaWRnZV90cmlnZ2VyX2tleXMgKGlidXMsIGhvdGtleSwgdmFs dWUpOworKyAgICAgICAgfSBlbHNlIHsKKysgICAgICAgICAgICBidXNfaWJ1c19pbXBsX3NldF9o b3RrZXkgKGlidXMsIGhvdGtleSwgdmFsdWUpOworKyAgICAgICAgfQogKyNlbHNlCiAgICAgICAg ICBidXNfaWJ1c19pbXBsX3NldF9ob3RrZXkgKGlidXMsIGhvdGtleSwgdmFsdWUpOwogKyNlbmRp ZgogICAgICB9CiAgI2lmbmRlZiBPU19DSFJPTUVPUwogICAgICBlbHNlIHsKLUBAIC0xMTgyLDI4 ICsxMjcwLDExMCBAQCBfaWJ1c19nZXRfYWRkcmVzcyAoQnVzSUJ1c0ltcGwgICAgICAgICAgCitA QCAtMTE4MiwyOCArMTI4NiwxMTAgQEAgX2lidXNfZ2V0X2FkZHJlc3MgKEJ1c0lCdXNJbXBsICAg ICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnX3Zh cmlhbnRfbmV3ICgiKHMpIiwgYnVzX3NlcnZlcl9nZXRfYWRkcmVzcyAoKSkpOwogIH0KICAKQEAg LTMzMyw3ICszNTUsNyBAQCBpbmRleCBiMzU2YjJjLi5mZmVhMzdhIDEwMDY0NAogIH0KICAKICAv KioKLUBAIC0xMjE2LDcgKzEzODYsNjEgQEAgX2NvbnRleHRfcmVxdWVzdF9lbmdpbmVfY2IgKEJ1 c0lucHV0Q29udAorQEAgLTEyMTYsNyArMTQwMiw3MSBAQCBfY29udGV4dF9yZXF1ZXN0X2VuZ2lu ZV9jYiAoQnVzSW5wdXRDb250CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdj aGFyICAgICAqZW5naW5lX25hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJ1c0lC dXNJbXBsICAgICAqaWJ1cykKICB7CkBAIC0zNDcsNiArMzY5LDEwIEBAIGluZGV4IGIzNTZiMmMu LmZmZWEzN2EgMTAwNjQ0CiArI2lmIFVTRV9CUklER0VfSE9US0VZCiArICAgIElCdXNFbmdpbmVE ZXNjICpjdXJyZW50X2Rlc2MgPSBOVUxMOwogKworKyAgICBpZiAoIXVzZV9icmlkZ2VfaG90a2V5 IChpYnVzKSkgeworKyAgICAgICAgcmV0dXJuIGRlc2M7CisrICAgIH0KKysKICsgICAgaWYgKGNv bnRleHQpIHsKICsgICAgICAgIEJ1c0VuZ2luZVByb3h5ICplbmdpbmUgPSBidXNfaW5wdXRfY29u dGV4dF9nZXRfZW5naW5lIChjb250ZXh0KTsKICsgICAgICAgIGlmIChlbmdpbmUgIT0gTlVMTCkg ewpAQCAtMzU1LDE0ICszODEsMjAgQEAgaW5kZXggYjM1NmIyYy4uZmZlYTM3YSAxMDA2NDQKICsg ICAgfQogKwogKyAgICBpZiAoY3VycmVudF9kZXNjKSB7Ci0rICAgICAgICBpYnVzLT5wcmV2X2hv dGtleV9lbmdpbmUgPSBjdXJyZW50X2Rlc2M7CisrICAgICAgICBpZiAoY29udGV4dCkgeworKyAg ICAgICAgICAgIGJ1c19pbnB1dF9jb250ZXh0X3NldF9wcmV2X2hvdGtleV9lbmdpbmUgKGNvbnRl eHQsIGN1cnJlbnRfZGVzYyk7CisrICAgICAgICB9IGVsc2UgeworKyAgICAgICAgICAgIGlidXMt PnByZXZfaG90a2V5X2VuZ2luZSA9IGN1cnJlbnRfZGVzYzsKKysgICAgICAgIH0KICsgICAgfQog KwotKyAgICBpZiAoY3VycmVudF9kZXNjICE9IE5VTEwgJiYgZGVzYyAhPSBOVUxMICYmCi0rICAg ICAgICBnX3N0cmNtcDAgKGlidXNfZW5naW5lX2Rlc2NfZ2V0X25hbWUgKGN1cnJlbnRfZGVzYyks Ci0rICAgICAgICAgICAgICAgICAgIGlidXNfZW5naW5lX2Rlc2NfZ2V0X25hbWUgKGRlc2MpKSAh PSAwICYmCi0rICAgICAgICBnX3N0cmNtcDAgKGlidXNfZW5naW5lX2Rlc2NfZ2V0X25hbWUgKGRl c2MpLAotKyAgICAgICAgICAgICAgICAgICBERUZBVUxUX0JSSURHRV9FTkdJTkVfTkFNRSkgPT0g MCkgeworKyAgICBpZiAoKChjdXJyZW50X2Rlc2MgPT0gTlVMTCAmJiBkZXNjICE9IE5VTEwpIHx8 CisrICAgICAgICAgKGN1cnJlbnRfZGVzYyAhPSBOVUxMICYmIGRlc2MgIT0gTlVMTCAmJgorKyAg ICAgICAgICBnX3N0cmNtcDAgKGlidXNfZW5naW5lX2Rlc2NfZ2V0X25hbWUgKGN1cnJlbnRfZGVz YyksCisrICAgICAgICAgICAgICAgICAgICAgaWJ1c19lbmdpbmVfZGVzY19nZXRfbmFtZSAoZGVz YykpICE9IDApKSAmJgorKyAgICAgICAgZ19hc2NpaV9zdHJuY2FzZWNtcCAoaWJ1c19lbmdpbmVf ZGVzY19nZXRfbmFtZSAoZGVzYyksCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICBERUZB VUxUX0JSSURHRV9FTkdJTkVfTkFNRSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0 cmxlbiAoREVGQVVMVF9CUklER0VfRU5HSU5FX05BTUUpKSA9PSAwKSB7CiArICAgICAgICBjb25z dCBnY2hhciAqaG90a2V5cyA9IE5VTEw7CiArCiArICAgICAgICAvKiBJZiB0aGUgdXNlciBjdXN0 b21pemVkIHRoZSB0cmlnZ2VyIGtleSwgdGhlIHRyaWdnZXIga2V5IGlzIHVzZWQgZm9yCkBAIC0z NzIsMTIgKzQwNCwxMiBAQCBpbmRleCBiMzU2YjJjLi5mZmVhMzdhIDEwMDY0NAogKyAgICAgICAg ICAgIGdfc3RyY21wMCAoX2JyaWRnZV90cmlnZ2VyX2tleXMsICJDb250cm9sK3NwYWNlIikgIT0g MCkgewogKwogKyAgICAgICAgICAgIGhvdGtleXMgPSAoY29uc3QgZ2NoYXIgKikgX2JyaWRnZV90 cmlnZ2VyX2tleXM7Ci0rICAgICAgICB9IGVsc2UgeworKyAgICAgICAgfSBlbHNlIGlmIChjdXJy ZW50X2Rlc2MpIHsKICsgICAgICAgICAgICBob3RrZXlzID0gaWJ1c19lbmdpbmVfZGVzY19nZXRf aG90a2V5cyAoY3VycmVudF9kZXNjKTsKICsgICAgICAgIH0KICsKLSsgICAgICAgIC8qIElmIGVu Z2luZSBob3RrZXlzIGFyZSBub3QgZGVmaW5lZCBpbiB0aGUgY29tcG9zZSB4bWwgZmlsZSwgSUJ1 cyB0cmlnZ2VyCi0rICAgICAgICAgKiBrZXlzIGFyZSB1c2VkLiAqLworKyAgICAgICAgLyogSWYg ZW5naW5lIGhvdGtleXMgYXJlIG5vdCBkZWZpbmVkIGluIHRoZSBjb21wb3NlIHhtbCBmaWxlLAor KyAgICAgICAgICogSUJ1cyB0cmlnZ2VyIGtleXMgYXJlIHVzZWQuICovCiArICAgICAgICBpZiAo IWhvdGtleXMgfHwgISpob3RrZXlzKSB7CiArICAgICAgICAgICAgaG90a2V5cyA9IChjb25zdCBn Y2hhciAqKSBfYnJpZGdlX3RyaWdnZXJfa2V5czsKICsgICAgICAgIH0KQEAgLTM5Niw0MiArNDI4 LDg5IEBAIGluZGV4IGIzNTZiMmMuLmZmZWEzN2EgMTAwNjQ0CiAgfQogIAogIC8qKgotQEAgLTIz NTMsNiArMjU3NywxNSBAQCBidXNfaWJ1c19pbXBsX2ZpbHRlcl9rZXlib2FyZF9zaG9ydGN1dHMg CitAQCAtMjI3MCw2ICsyNTIwLDkgQEAgYnVzX2lidXNfaW1wbF9maWx0ZXJfa2V5Ym9hcmRfc2hv cnRjdXRzIAorIAorICAgICBHUXVhcmsgZXZlbnQ7CisgICAgIEdMaXN0ICplbmdpbmVfbGlzdDsK KysjaWYgVVNFX0JSSURHRV9IT1RLRVkKKysgICAgSUJ1c0VuZ2luZURlc2MgKnByZXZfaG90a2V5 X2VuZ2luZSA9IE5VTEw7CisrI2VuZGlmCisgCisgICAgIGlmICh0cmlnZ2VyID09IDApIHsKKyAg ICAgICAgIHRyaWdnZXIgPSBnX3F1YXJrX2Zyb21fc3RhdGljX3N0cmluZyAoInRyaWdnZXIiKTsK K0BAIC0yMzM0LDYgKzI1ODcsMTIgQEAgYnVzX2lidXNfaW1wbF9maWx0ZXJfa2V5Ym9hcmRfc2hv cnRjdXRzIAorICAgICAgICAgcmV0dXJuIEZBTFNFOworICAgICB9CisgCisrI2lmIFVTRV9CUklE R0VfSE9US0VZCisrICAgIGlmICghdXNlX2JyaWRnZV9ob3RrZXkgKGlidXMpKSB7CisrICAgICAg ICByZXR1cm4gRkFMU0U7CisrICAgIH0KKysjZW5kaWYKKysKKyAgICAgLyogVGhlbiB0cnkgZW5n aW5lcyBob3RrZXlzLiAqLworICAgICBldmVudCA9IGlidXNfaG90a2V5X3Byb2ZpbGVfZmlsdGVy X2tleV9ldmVudCAoaWJ1cy0+ZW5naW5lc19ob3RrZXlfcHJvZmlsZSwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleXZhbCwKK0BAIC0yMzU1LDYg KzI2MTQsMjQgQEAgYnVzX2lidXNfaW1wbF9maWx0ZXJfa2V5Ym9hcmRfc2hvcnRjdXRzIAogIAog ICAgICAgICAgZ19hc3NlcnQgKG5ld19lbmdpbmVfZGVzYyk7CiAgCiArI2lmIFVTRV9CUklER0Vf SE9US0VZCisrICAgICAgICBpZiAoY29udGV4dCkgeworKyAgICAgICAgICAgIHByZXZfaG90a2V5 X2VuZ2luZSA9IGJ1c19pbnB1dF9jb250ZXh0X2dldF9wcmV2X2hvdGtleV9lbmdpbmUgKGNvbnRl eHQpOworKyAgICAgICAgICAgIGlmIChwcmV2X2hvdGtleV9lbmdpbmUgPT0gTlVMTCAmJiBpYnVz LT5wcmV2X2hvdGtleV9lbmdpbmUpIHsKKysgICAgICAgICAgICAgICAgcHJldl9ob3RrZXlfZW5n aW5lID0gaWJ1cy0+cHJldl9ob3RrZXlfZW5naW5lOworKyAgICAgICAgICAgICAgICBidXNfaW5w dXRfY29udGV4dF9zZXRfcHJldl9ob3RrZXlfZW5naW5lIChjb250ZXh0LAorKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmV2X2hvdGtl eV9lbmdpbmUpOworKyAgICAgICAgICAgIH0KKysgICAgICAgIH0KKysKICsgICAgICAgIC8qIElm IHRoZSBwcmV2aW91cyBlbmdpbmUgaXMgbm90IGluY2x1ZGVkIGluIGVuZ2luZV9saXN0LAogKyAg ICAgICAgICogdGhpcyBlbmFibGVzIGEgbmV3IGVuZ2luZSBpbnN0ZWFkIG9mIHRvZ2dsaW5nIHRo ZSBlbmdpbmVzCiArICAgICAgICAgKiBzbyBzaG91bGQgbm90IGVuYWJsZSB0aGUgcHJldmlvdXMg ZW5naW5lLiAqLwotKyAgICAgICAgaWYgKGlidXMtPnByZXZfaG90a2V5X2VuZ2luZSAmJgotKyAg ICAgICAgICAgIGdfbGlzdF9maW5kIChlbmdpbmVfbGlzdCwgaWJ1cy0+cHJldl9ob3RrZXlfZW5n aW5lKSAhPSBOVUxMKSB7Ci0rICAgICAgICAgICAgbmV3X2VuZ2luZV9kZXNjID0gaWJ1cy0+cHJl dl9ob3RrZXlfZW5naW5lOworKyAgICAgICAgaWYgKHByZXZfaG90a2V5X2VuZ2luZSAmJgorKyAg ICAgICAgICAgIGdfbGlzdF9maW5kIChlbmdpbmVfbGlzdCwgcHJldl9ob3RrZXlfZW5naW5lKSAh PSBOVUxMKSB7CisrICAgICAgICAgICAgbmV3X2VuZ2luZV9kZXNjID0gcHJldl9ob3RrZXlfZW5n aW5lOwogKyAgICAgICAgfQogKyNlbHNlCiAgICAgICAgICAvKiBGaW5kIG91dCB3aGF0IGVuZ2lu ZSB3ZSBzaG91bGQgc3dpdGNoIHRvLiBJZiB0aGUgY3VycmVudCBlbmdpbmUgaGFzCiAgICAgICAg ICAgKiB0aGUgc2FtZSBob3RrZXksIHRoZW4gd2Ugc2hvdWxkIHN3aXRjaCB0byB0aGUgbmV4dCBl bmdpbmUgd2l0aCB0aGUKICAgICAgICAgICAqIHNhbWUgaG90a2V5IGluIHRoZSBsaXN0LiBPdGhl cndpc2UsIHdlIGp1c3Qgc3dpdGNoIHRvIHRoZSBmaXJzdAotQEAgLTIzNjQsOCArMjU5NywzMiBA QCBidXNfaWJ1c19pbXBsX2ZpbHRlcl9rZXlib2FyZF9zaG9ydGN1dHMgCitAQCAtMjM2Niw4ICsy NjQzLDQ3IEBAIGJ1c19pYnVzX2ltcGxfZmlsdGVyX2tleWJvYXJkX3Nob3J0Y3V0cyAKICAgICAg ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgfQogICAgICAgICAgfQogKyNlbmRpZgot IAorKwogKyNpZiBVU0VfQlJJREdFX0hPVEtFWQotKyAgICAgICAgaWYgKGN1cnJlbnRfZW5naW5l X2Rlc2MgIT0gbmV3X2VuZ2luZV9kZXNjIHx8Ci0rICAgICAgICAgICAgZ19zdHJjbXAwIChpYnVz X2VuZ2luZV9kZXNjX2dldF9uYW1lIChuZXdfZW5naW5lX2Rlc2MpLAotKyAgICAgICAgICAgICAg ICAgICAgICAgREVGQVVMVF9CUklER0VfRU5HSU5FX05BTUUpID09IDApIHsKLSsgICAgICAgICAg ICBpYnVzLT5wcmV2X2hvdGtleV9lbmdpbmUgPSBjdXJyZW50X2VuZ2luZV9kZXNjOworKyAgICAg ICAgaWYgKGNvbnRleHQgPT0gTlVMTCkgeworKyAgICAgICAgICAgIHJldHVybiBGQUxTRTsKKysg ICAgICAgIH0KKysKKysgICAgICAgIC8qIFRoaXMgbWVhbnMgUmVxdWVzdEVuZ2luZSBzaWduYWwg bWlnaHQgYmUgZG9uZSBidXQgU2V0RW5naW5lIHNpZ25hbAorKyAgICAgICAgICogaGFzIG5vdCBi ZWVuIGRvbmUgeWV0IGJ5IGlidXMgc3RhdHVzIGljb24uICovCisrICAgICAgICBpZiAoY3VycmVu dF9lbmdpbmVfZGVzYyA9PSBOVUxMICYmCisrICAgICAgICAgICAgIWJ1c19pbnB1dF9jb250ZXh0 X2luaXRlZF9lbmdpbmUgKGNvbnRleHQpKSB7CisrICAgICAgICAgICAgcmV0dXJuIEZBTFNFOwor KyAgICAgICAgfQogKworKyAgICAgICAgaWYgKGN1cnJlbnRfZW5naW5lX2Rlc2MgIT0gbmV3X2Vu Z2luZV9kZXNjKSB7CisrICAgICAgICAgICAgaWYgKGN1cnJlbnRfZW5naW5lX2Rlc2MpIHsKKysg ICAgICAgICAgICAgICAgaWYgKGNvbnRleHQpIHsKKysgICAgICAgICAgICAgICAgICAgIGJ1c19p bnB1dF9jb250ZXh0X3NldF9wcmV2X2hvdGtleV9lbmdpbmUgKGNvbnRleHQsCisrICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJy ZW50X2VuZ2luZV9kZXNjKTsKKysgICAgICAgICAgICAgICAgfQorKyAgICAgICAgICAgIH0KKyAK ICsgICAgICAgICAgICAvKiBJZiB0aGUgcHJldmlvdXMgZW5naW5lIGlzIG5vdCBpbmNsdWRlZCBp biBlbmdpbmVfbGlzdCBhbmQKICsgICAgICAgICAgICAgKiB0aGUgY3VycmVudCBlbmdpbmUgaXMg dGhlIGRlZnVhbHQgYnJpZGdlIGVuZ2luZSwKICsgICAgICAgICAgICAgKiB0aGUgY3VycmVudCBl bmdpbmUgaXMgYWxzbyBub3QgaW5jbHVkZWQgaW4gZW5naW5lX2xpc3QuCiArICAgICAgICAgICAg ICogU28gdGhlIGVuZ2luZSBpcyBhZGRlZCBoZXJlLiAqLwogKyAgICAgICAgICAgIGlmIChjdXJy ZW50X2VuZ2luZV9kZXNjICE9IE5VTEwgJiYKICsgICAgICAgICAgICAgICAgZ19saXN0X2ZpbmQg KGVuZ2luZV9saXN0LCBjdXJyZW50X2VuZ2luZV9kZXNjKSA9PSBOVUxMICYmCi0rICAgICAgICAg ICAgICAgIGdfc3RyY21wMCAoaWJ1c19lbmdpbmVfZGVzY19nZXRfbmFtZSAoY3VycmVudF9lbmdp bmVfZGVzYyksCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgREVGQVVMVF9CUklER0VfRU5H SU5FX05BTUUpID09IDApIHsKKysgICAgICAgICAgICAgICAgZ19hc2NpaV9zdHJuY2FzZWNtcCAo aWJ1c19lbmdpbmVfZGVzY19nZXRfbmFtZSAoY3VycmVudF9lbmdpbmVfZGVzYyksCisrICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERFRkFVTFRfQlJJREdFX0VOR0lORV9OQU1F LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJsZW4gKERFRkFVTFRf QlJJREdFX0VOR0lORV9OQU1FKSkgPT0gMCkgewogKyAgICAgICAgICAgICAgICBlbmdpbmVfbGlz dCA9IGdfbGlzdF9hcHBlbmQgKGVuZ2luZV9saXN0LCBjdXJyZW50X2VuZ2luZV9kZXNjKTsKICsK ICsgICAgICAgICAgICAgICAgZ19oYXNoX3RhYmxlX3N0ZWFsIChpYnVzLT5ob3RrZXlfdG9fZW5n aW5lc19tYXAsCkBAIC00NDUsNyArNTI0LDcgQEAgaW5kZXggYjM1NmIyYy4uZmZlYTM3YSAxMDA2 NDQKICAgICAgICAgICAgICBidXNfaWJ1c19pbXBsX3NldF9jb250ZXh0X2VuZ2luZV9mcm9tX2Rl c2MgKGlidXMsIGNvbnRleHQsIG5ld19lbmdpbmVfZGVzYyk7CiAgICAgICAgICB9CiAgCi1AQCAt MjQ3MCw1OSArMjcyNywzOSBAQCBzdGF0aWMgdm9pZAorQEAgLTI0NzIsNTkgKzI3ODgsNTQgQEAg c3RhdGljIHZvaWQKICBfYWRkX2VuZ2luZV9ob3RrZXkgKElCdXNFbmdpbmVEZXNjICplbmdpbmUs IEJ1c0lCdXNJbXBsICppYnVzKQogIHsKICAgICAgY29uc3QgZ2NoYXIgKmhvdGtleXM7CkBAIC00 NjIsMjkgKzU0MSwxMyBAQCBpbmRleCBiMzU2YjJjLi5mZmVhMzdhIDEwMDY0NAogICAgICAgICAg cmV0dXJuOwogICAgICB9CiAgCistICAgIGhvdGtleXMgPSBpYnVzX2VuZ2luZV9kZXNjX2dldF9o b3RrZXlzIChlbmdpbmUpOworLQorLSAgICBpZiAoIWhvdGtleXMgfHwgISpob3RrZXlzKSB7CiAr I2lmIFVTRV9CUklER0VfSE9US0VZCi0rICAgIC8qIElmIHRoZSB1c2VyIGN1c3RvbWl6ZWQgdGhl IHRyaWdnZXIga2V5LCB0aGUgdHJpZ2dlciBrZXkgaXMgdXNlZCBmb3IKLSsgICAgICogYW55IElC dXMgZW5naW5lcy4gKi8KLSsgICAgaWYgKF9icmlkZ2VfdHJpZ2dlcl9rZXlzICE9IE5VTEwgJiYK LSsgICAgICAgICpfYnJpZGdlX3RyaWdnZXJfa2V5cyAhPSAnXDAnICYmCi0rICAgICAgICBnX3N0 cmNtcDAgKF9icmlkZ2VfdHJpZ2dlcl9rZXlzLCAiQ29udHJvbCtzcGFjZSIpICE9IDApIHsKLSsK LSsgICAgICAgIGhvdGtleXMgPSAoY29uc3QgZ2NoYXIgKikgX2JyaWRnZV90cmlnZ2VyX2tleXM7 Ci0rICAgIH0gZWxzZSB7Ci0rICAgICAgICBob3RrZXlzID0gaWJ1c19lbmdpbmVfZGVzY19nZXRf aG90a2V5cyAoZW5naW5lKTsKLSsgICAgfQotKyNlbHNlCi0gICAgIGhvdGtleXMgPSBpYnVzX2Vu Z2luZV9kZXNjX2dldF9ob3RrZXlzIChlbmdpbmUpOwotKyNlbmRpZgotIAotKyNpZiBVU0VfQlJJ REdFX0hPVEtFWQotKyAgICAvKiBJZiBlbmdpbmUgaG90a2V5cyBhcmUgbm90IGRlZmluZWQgaW4g dGhlIGNvbXBvc2UgeG1sIGZpbGUsIElCdXMgdHJpZ2dlcgotKyAgICAgKiBrZXlzIGFyZSB1c2Vk LiAqLwotICAgICBpZiAoIWhvdGtleXMgfHwgISpob3RrZXlzKSB7Ci0tICAgICAgICByZXR1cm47 Ci0rICAgICAgICBob3RrZXlzID0gKGNvbnN0IGdjaGFyICopIF9icmlkZ2VfdHJpZ2dlcl9rZXlz OworKyAgICBpZiAoIXVzZV9icmlkZ2VfaG90a2V5IChpYnVzKSkgeworICAgICAgICAgcmV0dXJu OwogICAgICB9Ci0rI2VuZGlmCiAgCiAtICAgIGhvdGtleV9saXN0ID0gZ19zdHJzcGxpdF9zZXQg KGhvdGtleXMsICI7LCIsIDApOwogLQpAQCAtNTAyLDE5ICs1NjUsNDggQEAgaW5kZXggYjM1NmIy Yy4uZmZlYTM3YSAxMDA2NDQKIC0gICAgICAgICAgICBpYnVzX2hvdGtleV9wcm9maWxlX2FkZF9o b3RrZXkgKGlidXMtPmVuZ2luZXNfaG90a2V5X3Byb2ZpbGUsCiAtICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBrZXl2YWwsIG1vZGlmaWVycywgZXZlbnQpOwogLSAg ICAgICAgfQotLQorKyAgICAvKiBEbyBub3QgcmVnaXN0ZXIgaG90a2V5cyBmb3IgdGhlIGRlZmF1 bHQga2V5bWFwIGVuZ2luZXMKKysgICAgICogYnV0IHJlZ2lzdGVyIGhvdGtleXMgZm9yIG9ubHkg aW5wdXQtbWV0aG9kIGVuZ2luZXMKKysgICAgICogaW4gJ1JlZ2lzdGVyQ29tcG9uZW50JyBkYnVz IG1ldGhvZC4KKysgICAgICogVGhlIGhvdGtleXMgZm9yIGFuIGFjdGl2YXRlZCBrZXltYXAgZW5n aW5lIHdpbGwgYmUgcmVnaXN0ZXJlZAorKyAgICAgKiBpbiAnU2V0RW5naW5lJyBkYnVzIG1ldGhv ZC4gKi8KKysgICAgaWYgKGdfYXNjaWlfc3RybmNhc2VjbXAgKGlidXNfZW5naW5lX2Rlc2NfZ2V0 X25hbWUgKGVuZ2luZSksCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICBERUZBVUxUX0JS SURHRV9FTkdJTkVfTkFNRSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmxlbiAo REVGQVVMVF9CUklER0VfRU5HSU5FX05BTUUpKSA9PSAwKSB7CisrICAgICAgICByZXR1cm47Cisr ICAgIH0KKyAKIC0gICAgICAgIGVuZ2luZV9saXN0ID0gZ19oYXNoX3RhYmxlX2xvb2t1cCAoaWJ1 cy0+aG90a2V5X3RvX2VuZ2luZXNfbWFwLAogLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBHVUlOVF9UT19QT0lOVEVSIChldmVudCkpOwotLQorKyAgICAvKiBJZiB0 aGUgdXNlciBjdXN0b21pemVkIHRoZSB0cmlnZ2VyIGtleSwgdGhlIHRyaWdnZXIga2V5IGlzIHVz ZWQgZm9yCisrICAgICAqIGFueSBJQnVzIGVuZ2luZXMuICovCisrICAgIGlmIChfYnJpZGdlX3Ry aWdnZXJfa2V5cyAhPSBOVUxMICYmCisrICAgICAgICAqX2JyaWRnZV90cmlnZ2VyX2tleXMgIT0g J1wwJyAmJgorKyAgICAgICAgZ19zdHJjbXAwIChfYnJpZGdlX3RyaWdnZXJfa2V5cywgIkNvbnRy b2wrc3BhY2UiKSAhPSAwKSB7CisgCiAtICAgICAgICAvKiBBcyB3ZSB3aWxsIHJlYnVpbGQgdGhl IGVuZ2luZXMgaG90a2V5IG1hcCB3aGVuZXZlciBhbiBlbmdpbmUgd2FzCiAtICAgICAgICAgKiBh ZGRlZCBvciByZW1vdmVkLCB3ZSBkb24ndCBuZWVkIHRvIGhvbGQgYSByZWZlcmVuY2Ugb2YgdGhl IGVuZ2luZQogLSAgICAgICAgICogaGVyZS4gKi8KIC0gICAgICAgIGVuZ2luZV9saXN0ID0gZ19s aXN0X2FwcGVuZCAoZW5naW5lX2xpc3QsIGVuZ2luZSk7Ci0tCisrICAgICAgICBob3RrZXlzID0g KGNvbnN0IGdjaGFyICopIF9icmlkZ2VfdHJpZ2dlcl9rZXlzOworKyAgICB9IGVsc2UgeworKyAg ICAgICAgaG90a2V5cyA9IGlidXNfZW5naW5lX2Rlc2NfZ2V0X2hvdGtleXMgKGVuZ2luZSk7Cisr ICAgIH0KKysjZWxzZQorKyAgICBob3RrZXlzID0gaWJ1c19lbmdpbmVfZGVzY19nZXRfaG90a2V5 cyAoZW5naW5lKTsKKysjZW5kaWYKKyAKIC0gICAgICAgIC8qIFdlIG5lZWQgdG8gc3RlYWwgdGhl IHZhbHVlIGJlZm9yZSBhZGRpbmcgaXQgYmFjaywgb3RoZXJ3aXNlIGl0IHdpbGwKIC0gICAgICAg ICAqIGJlIGRlc3Ryb3llZC4gKi8KIC0gICAgICAgIGdfaGFzaF90YWJsZV9zdGVhbCAoaWJ1cy0+ aG90a2V5X3RvX2VuZ2luZXNfbWFwLCBHVUlOVF9UT19QT0lOVEVSIChldmVudCkpOwotLQorKyNp ZiBVU0VfQlJJREdFX0hPVEtFWQorKyAgICAvKiBJZiBlbmdpbmUgaG90a2V5cyBhcmUgbm90IGRl ZmluZWQgaW4gdGhlIGNvbXBvc2UgeG1sIGZpbGUsIElCdXMgdHJpZ2dlcgorKyAgICAgKiBrZXlz IGFyZSB1c2VkLiAqLworKyAgICBpZiAoIWhvdGtleXMgfHwgISpob3RrZXlzKSB7CisrICAgICAg ICBob3RrZXlzID0gKGNvbnN0IGdjaGFyICopIF9icmlkZ2VfdHJpZ2dlcl9rZXlzOworKyAgICB9 CisrI2VuZGlmCisgCiAtICAgICAgICBnX2hhc2hfdGFibGVfaW5zZXJ0IChpYnVzLT5ob3RrZXlf dG9fZW5naW5lc19tYXAsCiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHVUlOVF9UT19Q T0lOVEVSIChldmVudCksIGVuZ2luZV9saXN0KTsKICsgICAgaWYgKCFob3RrZXlzIHx8ICEqaG90 a2V5cykgewpAQCAtNTI2LDggKzYxOCwxMDggQEAgaW5kZXggYjM1NmIyYy4uZmZlYTM3YSAxMDA2 NDQKICB9CiAgCiAgLyoqCitkaWZmIC0tZ2l0IGEvYnVzL2lucHV0Y29udGV4dC5jIGIvYnVzL2lu cHV0Y29udGV4dC5jCitpbmRleCA0ZThjZGM1Li40M2RlZGMwIDEwMDY0NAorLS0tIGEvYnVzL2lu cHV0Y29udGV4dC5jCisrKysgYi9idXMvaW5wdXRjb250ZXh0LmMKK0BAIC05MCw2ICs5MCwxMiBA QCBzdHJ1Y3QgX0J1c0lucHV0Q29udGV4dCB7CisgCisgICAgIC8qIGluY29tcGxldGVkIHNldCBl bmdpbmUgYnkgZGVzYyByZXF1ZXN0ICovCisgICAgIFNldEVuZ2luZUJ5RGVzY0RhdGEgKmRhdGE7 CisrCisrICAgIC8qIGlmIGluaXQgZW5naW5lICovCisrICAgIGdib29sZWFuIGluaXRlZF9lbmdp bmU7CisrCisrICAgIC8qIHByZXZpb3VzIGhvdGtleSBlbmdpbmUgZm9yIGJyaWRnZSBob3RrZXkg bW9kZSAqLworKyAgICBJQnVzRW5naW5lRGVzYyAqcHJldl9ob3RrZXlfZW5naW5lOworIH07Cisg Cisgc3RydWN0IF9CdXNJbnB1dENvbnRleHRDbGFzcyB7CitAQCAtNjQ3LDYgKzY1MywxMSBAQCBi dXNfaW5wdXRfY29udGV4dF9kZXN0cm95IChCdXNJbnB1dENvbnRleHQgKmNvbnRleHQpCisgICAg ICAgICBjb250ZXh0LT5jbGllbnQgPSBOVUxMOworICAgICB9CisgCisrICAgIGlmIChjb250ZXh0 LT5wcmV2X2hvdGtleV9lbmdpbmUpIHsKKysgICAgICAgIGdfb2JqZWN0X3VucmVmIChjb250ZXh0 LT5wcmV2X2hvdGtleV9lbmdpbmUpOworKyAgICAgICAgY29udGV4dC0+cHJldl9ob3RrZXlfZW5n aW5lID0gTlVMTDsKKysgICAgfQorKworICAgICBJQlVTX09CSkVDVF9DTEFTUyAoYnVzX2lucHV0 X2NvbnRleHRfcGFyZW50X2NsYXNzKS0+ZGVzdHJveSAoSUJVU19PQkpFQ1QgKGNvbnRleHQpKTsK KyB9CisgCitAQCAtMjIxMSw2ICsyMjIyLDcgQEAgYnVzX2lucHV0X2NvbnRleHRfc2V0X2VuZ2lu ZSAoQnVzSW5wdXRDb250ZXh0ICpjb250ZXh0LAorICAgICB9CisgICAgIGVsc2UgeworICAgICAg ICAgZ2ludCBpOworKyAgICAgICAgY29udGV4dC0+aW5pdGVkX2VuZ2luZSA9IFRSVUU7CisgICAg ICAgICBjb250ZXh0LT5lbmdpbmUgPSBlbmdpbmU7CisgICAgICAgICBnX29iamVjdF9yZWYgKGNv bnRleHQtPmVuZ2luZSk7CisgCitAQCAtMjUzOCwzICsyNTUwLDMwIEBAIGJ1c19pbnB1dF9jb250 ZXh0X2dldF9jbGllbnQgKEJ1c0lucHV0Q29udGV4dCAqY29udGV4dCkKKyAgICAgZ19hc3NlcnQg KEJVU19JU19JTlBVVF9DT05URVhUIChjb250ZXh0KSk7CisgICAgIHJldHVybiBjb250ZXh0LT5j bGllbnQ7CisgfQorKworK2dib29sZWFuCisrYnVzX2lucHV0X2NvbnRleHRfaW5pdGVkX2VuZ2lu ZSAoQnVzSW5wdXRDb250ZXh0ICpjb250ZXh0KQorK3sKKysgICAgZ19hc3NlcnQgKEJVU19JU19J TlBVVF9DT05URVhUIChjb250ZXh0KSk7CisrICAgIHJldHVybiBjb250ZXh0LT5pbml0ZWRfZW5n aW5lOworK30KKysKKytJQnVzRW5naW5lRGVzYyAqCisrYnVzX2lucHV0X2NvbnRleHRfZ2V0X3By ZXZfaG90a2V5X2VuZ2luZSAoQnVzSW5wdXRDb250ZXh0ICpjb250ZXh0KQorK3sKKysgICAgZ19h c3NlcnQgKEJVU19JU19JTlBVVF9DT05URVhUIChjb250ZXh0KSk7CisrICAgIHJldHVybiBjb250 ZXh0LT5wcmV2X2hvdGtleV9lbmdpbmU7CisrfQorKworK3ZvaWQKKytidXNfaW5wdXRfY29udGV4 dF9zZXRfcHJldl9ob3RrZXlfZW5naW5lIChCdXNJbnB1dENvbnRleHQgKmNvbnRleHQsCisrICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSUJ1c0VuZ2luZURlc2MgICpk ZXNjKQorK3sKKysgICAgZ19hc3NlcnQgKEJVU19JU19JTlBVVF9DT05URVhUIChjb250ZXh0KSk7 CisrICAgIGdfYXNzZXJ0IChkZXNjID09IE5VTEwgfHwgSUJVU19JU19FTkdJTkVfREVTQyAoZGVz YykpOworKworKyAgICBpZiAoY29udGV4dC0+cHJldl9ob3RrZXlfZW5naW5lKSB7CisrICAgICAg ICBnX29iamVjdF91bnJlZiAoY29udGV4dC0+cHJldl9ob3RrZXlfZW5naW5lKTsKKysgICAgfQor KyAgICBjb250ZXh0LT5wcmV2X2hvdGtleV9lbmdpbmUgPSBkZXNjID8gZ19vYmplY3RfcmVmIChk ZXNjKSA6IE5VTEw7CisrfQorZGlmZiAtLWdpdCBhL2J1cy9pbnB1dGNvbnRleHQuaCBiL2J1cy9p bnB1dGNvbnRleHQuaAoraW5kZXggYmM0ZTA5Ni4uYzc5ZTAzMyAxMDA2NDQKKy0tLSBhL2J1cy9p bnB1dGNvbnRleHQuaAorKysrIGIvYnVzL2lucHV0Y29udGV4dC5oCitAQCAtMjEzLDUgKzIxMywy NyBAQCB2b2lkICAgICAgICAgICAgICAgICBidXNfaW5wdXRfY29udGV4dF9zZXRfY2FwYWJpbGl0 aWVzIChCdXNJbnB1dENvbnRleHQgICAgKmNvbgorICAqLworIGNvbnN0IGdjaGFyICAgICAgICAg KmJ1c19pbnB1dF9jb250ZXh0X2dldF9jbGllbnQgICAgICAgKEJ1c0lucHV0Q29udGV4dCAgICAq Y29udGV4dCk7CisgCisrLyoqCisrICogYnVzX2lucHV0X2NvbnRleHRfaW5pdGVkX2VuZ2luZToK KysgKiBAcmV0dXJuczogY29udGV4dC0+aW5pdGVkX2VuZ2luZS4KKysgKi8KKytnYm9vbGVhbiAg ICAgICAgICAgICBidXNfaW5wdXRfY29udGV4dF9pbml0ZWRfZW5naW5lCisrICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoQnVzSW5wdXRDb250 ZXh0ICpjb250ZXh0KTsKKysKKysvKioKKysgKiBidXNfaW5wdXRfY29udGV4dF9nZXRfcHJldl9o b3RrZXlfZW5naW5lOgorKyAqIEByZXR1cm5zOiBjb250ZXh0LT5wcmV2X2hvdGtleV9lbmdpbmUu CisrICovCisrSUJ1c0VuZ2luZURlc2MgICAgICAqYnVzX2lucHV0X2NvbnRleHRfZ2V0X3ByZXZf aG90a2V5X2VuZ2luZQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKEJ1c0lucHV0Q29udGV4dCAqY29udGV4dCk7CisrCisrLyoqCisrICog YnVzX2lucHV0X2NvbnRleHRfc2V0X3ByZXZfaG90a2V5X2VuZ2luZToKKysgKiBAZGVzYzogQXNz aWduIHRoZSBkZXNjIHRvIGNvbnRleHQtPnByZXZfaG90a2V5X2VuZ2luZS4KKysgKi8KKyt2b2lk ICAgICAgICAgICAgICAgICBidXNfaW5wdXRfY29udGV4dF9zZXRfcHJldl9ob3RrZXlfZW5naW5l CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAoQnVzSW5wdXRDb250ZXh0ICpjb250ZXh0LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElCdXNFbmdpbmVEZXNjICAqZGVzYyk7Cisr CisgR19FTkRfREVDTFMKKyAjZW5kaWYKIGRpZmYgLS1naXQgYS9idXMvcmVnaXN0cnkuYyBiL2J1 cy9yZWdpc3RyeS5jCi1pbmRleCBiYzY2ODBkLi5mNDdmNzI3IDEwMDY0NAoraW5kZXggN2I3NDc4 MS4uMDdlOTE0OCAxMDA2NDQKIC0tLSBhL2J1cy9yZWdpc3RyeS5jCiArKysgYi9idXMvcmVnaXN0 cnkuYwogQEAgLTE5LDYgKzE5LDExIEBACkBAIC01NTIsMTMgKzc0NCwxNCBAQCBpbmRleCBiYzY2 ODBkLi5mNDdmNzI3IDEwMDY0NAogIAogICNpZmRlZiBHX1RIUkVBRFNfRU5BQkxFRAogICAgICAv KiBJZiBnbGliIHN1cHBvcnRzIHRocmVhZCwgd2UnbGwgY3JlYXRlIGEgdGhyZWFkIHRvIG1vbml0 b3IgY2hhbmdlcyBpbiBJTUUKLUBAIC0xNDUsMTIgKzE1MywzOSBAQCBidXNfcmVnaXN0cnlfaW5p dCAoQnVzUmVnaXN0cnkgKnJlZ2lzdHJ5KQorQEAgLTE0NSwxMiArMTUzLDQwIEBAIGJ1c19yZWdp c3RyeV9pbml0IChCdXNSZWdpc3RyeSAqcmVnaXN0cnkpCiAgICAgICAgICBHTGlzdCAqcDE7CiAg ICAgICAgICBmb3IgKHAxID0gZW5naW5lczsgcDEgIT0gTlVMTDsgcDEgPSBwMS0+bmV4dCkgewog ICAgICAgICAgICAgIElCdXNFbmdpbmVEZXNjICpkZXNjID0gKElCdXNFbmdpbmVEZXNjICopIHAx LT5kYXRhOwogKyNpZiBVU0VfQlJJREdFX0hPVEtFWQotKyAgICAgICAgICAgIGlmIChnX3N0cmNt cDAgKGlidXNfZW5naW5lX2Rlc2NfZ2V0X25hbWUgKGRlc2MpLAotKyAgICAgICAgICAgICAgICAg ICAgICAgICAgIERFRkFVTFRfQlJJREdFX0VOR0lORV9OQU1FKSA9PSAwKSB7CisrICAgICAgICAg ICAgaWYgKGdfYXNjaWlfc3RybmNhc2VjbXAgKGlidXNfZW5naW5lX2Rlc2NfZ2V0X25hbWUgKGRl c2MpLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBERUZBVUxUX0JSSURH RV9FTkdJTkVfTkFNRSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ry bGVuIChERUZBVUxUX0JSSURHRV9FTkdJTkVfTkFNRSkpID09IDApIHsKICsgICAgICAgICAgICAg ICAgaGFzX2RlZmF1bHRfZW5naW5lID0gVFJVRTsKICsgICAgICAgICAgICB9CiArI2VuZGlmCkBA IC01OTMsMTAgKzc4NiwxMCBAQCBpbmRleCBiYzY2ODBkLi5mNDdmNzI3IDEwMDY0NAogIAogIHN0 YXRpYyB2b2lkCiBkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCi1pbmRl eCA4NWU1ZTMwLi4zYWRhMmY4IDEwMDY0NAoraW5kZXggNGMyMGFlNy4uMjFkMzVjMyAxMDA2NDQK IC0tLSBhL2NvbmZpZ3VyZS5hYwogKysrIGIvY29uZmlndXJlLmFjCi1AQCAtNDM4LDYgKzQzOCwz NCBAQCBlbHNlCitAQCAtNDU2LDYgKzQ1NiwzNCBAQCBlbHNlCiAgICAgIGVuYWJsZV9zdXJyb3Vu ZGluZ190ZXh0PSJubyAoZGlzYWJsZWQsIHVzZSAtLWVuYWJsZS1zdXJyb3VuZGluZy10ZXh0IHRv IGVuYWJsZSkiCiAgZmkKICAKQEAgLTYyMiwxNiArODE1LDE2IEBAIGluZGV4IDg1ZTVlMzAuLjNh ZGEyZjggMTAwNjQ0CiArIyBkZWZpbmUgZGVmYXVsdCBicmlkZ2UgZW5naW5lIG5hbWUKICtBQ19B UkdfV0lUSChicmlkZ2UtZW5naW5lLAogKyAgICBBU19IRUxQX1NUUklORyhbLS13aXRoLWJyaWRn ZS1lbmdpbmVbPWJyaWRnZV9lbmdpbmVfbmFtZV1dLAotKyAgICAgICAgW1NldCBicmlkZ2UgZW5n aW5lIG5hbWUgaW4gSU0gYnJpZGdlIGhvdGtleS4gKGRlZmF1bHQ6IHhrYjpsYXlvdXQ6ZGVmYXVs dCldKSwKKysgICAgICAgIFtTZXQgYnJpZGdlIGVuZ2luZSBuYW1lIGluIElNIGJyaWRnZSBob3Rr ZXkuIChkZWZhdWx0OiB4a2I6bGF5b3V0OmRlZmF1bHQ6KV0pLAogKyAgICBbREVGQVVMVF9CUklE R0VfRU5HSU5FX05BTUU9JHdpdGhfYnJpZGdlX2VuZ2luZV0sCi0rICAgIFtERUZBVUxUX0JSSURH RV9FTkdJTkVfTkFNRT0ieGtiOmxheW91dDpkZWZhdWx0Il0KKysgICAgW0RFRkFVTFRfQlJJREdF X0VOR0lORV9OQU1FPSJ4a2I6bGF5b3V0OmRlZmF1bHQ6Il0KICspCiArQUNfU1VCU1QoREVGQVVM VF9CUklER0VfRU5HSU5FX05BTUUpCiArCiAgIyBjaGVjayBpc28tY29kZXMKICBQS0dfQ0hFQ0tf TU9EVUxFUyhJU09DT0RFUywgWwogICAgICBpc28tY29kZXMKLUBAIC00NjQsNiArNDkyLDcgQEAg YnVzL01ha2VmaWxlCitAQCAtNDgyLDYgKzUxMCw3IEBAIGJ1cy9NYWtlZmlsZQogIHV0aWwvTWFr ZWZpbGUKICB1dGlsL0lNZGtpdC9NYWtlZmlsZQogIGRhdGEvTWFrZWZpbGUKQEAgLTYzOSw3ICs4 MzIsNyBAQCBpbmRleCA4NWU1ZTMwLi4zYWRhMmY4IDEwMDY0NAogIGRhdGEvaWNvbnMvTWFrZWZp bGUKICBkYXRhL2tleW1hcHMvTWFrZWZpbGUKICBkb2NzL01ha2VmaWxlCi1AQCAtNTEyLDUgKzU0 MSw3IEBAIEJ1aWxkIG9wdGlvbnM6CitAQCAtNTM0LDUgKzU2Myw3IEBAIEJ1aWxkIG9wdGlvbnM6 CiAgICBObyBzbm9vcGVyIHJlZ2V4ZXMgICAgICAgICIkTk9fU05PT1BFUl9BUFBTIgogICAgUGFu ZWwgaWNvbiAgICAgICAgICAgICAgICAiJElCVVNfSUNPTl9LRVlCT0FSRCIKICAgIEVuYWJsZSBz dXJyb3VuZGluZy10ZXh0ICAgJGVuYWJsZV9zdXJyb3VuZGluZ190ZXh0CkBAIC02NDgsMTAgKzg0 MSwxMCBAQCBpbmRleCA4NWU1ZTMwLi4zYWRhMmY4IDEwMDY0NAogIF0pCiAgCiBkaWZmIC0tZ2l0 IGEvZGF0YS9NYWtlZmlsZS5hbSBiL2RhdGEvTWFrZWZpbGUuYW0KLWluZGV4IGJhOWY0YmIuLmE5 MDllNWIgMTAwNjQ0CitpbmRleCA5OWJlNDFjLi44MjRkYTc2IDEwMDY0NAogLS0tIGEvZGF0YS9N YWtlZmlsZS5hbQogKysrIGIvZGF0YS9NYWtlZmlsZS5hbQotQEAgLTI2LDcgKzI2LDggQEAgU1VC RElSUyA9IFwKK0BAIC0zMCw3ICszMCw4IEBAIFNVQkRJUlMgPSBcCiAgCSQoTlVMTCkKICAKICBz Y2hlbWFzZGlyID0gJChHQ09ORl9TQ0hFTUFfRklMRV9ESVIpCkBAIC02NjEsNyArODU0LDcgQEAg aW5kZXggYmE5ZjRiYi4uYTkwOWU1YiAxMDA2NDQKICBzY2hlbWFzX0RBVEEgPSAkKHNjaGVtYXNf aW5fZmlsZXM6LnNjaGVtYXMuaW49LnNjaGVtYXMpCiAgQElOVExUT09MX1NDSEVNQVNfUlVMRUAK ICAKLUBAIC00MSwxMSArNDIsMTIgQEAgaWYgR0NPTkZfU0NIRU1BU19JTlNUQUxMCitAQCAtNDUs MTEgKzQ2LDEyIEBAIGlmIEdDT05GX1NDSEVNQVNfSU5TVEFMTAogIGVuZGlmCiAgCiAgRVhUUkFf RElTVCA9IFwKQEAgLTcxMSw3ICs5MDQsNyBAQCBpbmRleCBhODMwMTM2Li40YzNjOTgwIDEwMDY0 NAogK0RFRkFVTFRfQlJJREdFX0VOR0lORV9OQU1FPSdAREVGQVVMVF9CUklER0VfRU5HSU5FX05B TUVAJwogIElTT0NPREVTX1BSRUZJWD0nQElTT0NPREVTX1BSRUZJWEAnCiBkaWZmIC0tZ2l0IGEv aWJ1cy9pbnB1dGNvbnRleHQucHkgYi9pYnVzL2lucHV0Y29udGV4dC5weQotaW5kZXggY2VlYjU2 ZC4uMjY5NGZhMyAxMDA2NDQKK2luZGV4IGNlZWI1NmQuLmIzYzJmNjUgMTAwNjQ0CiAtLS0gYS9p YnVzL2lucHV0Y29udGV4dC5weQogKysrIGIvaWJ1cy9pbnB1dGNvbnRleHQucHkKIEBAIC0yOCw2 ICsyOCw3IEBAIGltcG9ydCBzeXMKQEAgLTcyMiwxOCArOTE1LDY2IEBAIGluZGV4IGNlZWI1NmQu LjI2OTRmYTMgMTAwNjQ0CiAgaW1wb3J0IG9iamVjdAogIGltcG9ydCBjb21tb24KICBpbXBvcnQg c2VyaWFsaXphYmxlCi1AQCAtMjgyLDYgKzI4Myw5IEBAIGNsYXNzIElucHV0Q29udGV4dChvYmpl Y3QuT2JqZWN0KToKLSAgICAgZGVmIHNldF9lbmdpbmUoc2VsZiwgZW5naW5lKToKLSAgICAgICAg IHJldHVybiBzZWxmLl9fY29udGV4dC5TZXRFbmdpbmUoZW5naW5lLm5hbWUpCitAQCAtMjc5LDgg KzI4MCwxOSBAQCBjbGFzcyBJbnB1dENvbnRleHQob2JqZWN0Lk9iamVjdCk6CisgICAgICAgICBl eGNlcHQ6CisgICAgICAgICAgICAgcmV0dXJuIE5vbmUKICAKKysgICAgZGVmIF9faGFuZGxlX2lj X3JlcGx5KHNlbGYpOgorKyAgICAgICAgcGFzcworKworKyAgICBkZWYgX19oYW5kbGVfaWNfZXJy b3Ioc2VsZiwgZSk6CisrICAgICAgICBwcmludCBzZWxmLl9fZ3R5cGVfbmFtZV9fLCBzdHIoZSkK KysKKyAgICAgZGVmIHNldF9lbmdpbmUoc2VsZiwgZW5naW5lKToKKy0gICAgICAgIHJldHVybiBz ZWxmLl9fY29udGV4dC5TZXRFbmdpbmUoZW5naW5lLm5hbWUpCisrICAgICAgICByZXR1cm4gc2Vs Zi5fX2NvbnRleHQuU2V0RW5naW5lKGVuZ2luZS5uYW1lLAorKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICByZXBseV9oYW5kbGVyPXNlbGYuX19oYW5kbGVfaWNfcmVwbHks CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yX2hhbmRsZXI9 c2VsZi5fX2hhbmRsZV9pY19lcnJvcikKKysKICsgICAgZGVmIHNldF9icmlkZ2VfZW5naW5lKHNl bGYpOgogKyAgICAgICAgcmV0dXJuIHNlbGYuX19jb250ZXh0LlNldEVuZ2luZShfY29uZmlnLkRF RkFVTFRfQlJJREdFX0VOR0lORV9OQU1FKQotKworIAogICAgICBkZWYgaW50cm9zcGVjdChzZWxm KToKICAgICAgICAgIHJldHVybiBzZWxmLl9fY29udGV4dC5JbnRyb3NwZWN0KCkKK2RpZmYgLS1n aXQgYS9pYnVzL2ludGVyZmFjZS9paW5wdXRjb250ZXh0LnB5IGIvaWJ1cy9pbnRlcmZhY2UvaWlu cHV0Y29udGV4dC5weQoraW5kZXggMWQzY2QyYS4uNThkNzVlNSAxMDA2NDQKKy0tLSBhL2lidXMv aW50ZXJmYWNlL2lpbnB1dGNvbnRleHQucHkKKysrKyBiL2lidXMvaW50ZXJmYWNlL2lpbnB1dGNv bnRleHQucHkKK0BAIC03Niw4ICs3Niw4IEBAIGNsYXNzIElJbnB1dENvbnRleHQoZGJ1cy5zZXJ2 aWNlLk9iamVjdCk6CisgICAgIEBtZXRob2Qob3V0X3NpZ25hdHVyZT0idiIpCisgICAgIGRlZiBH ZXRFbmdpbmUoc2VsZik6IHBhc3MKKyAKKy0gICAgQG1ldGhvZChpbl9zaWduYXR1cmU9InMiKQor LSAgICBkZWYgU2V0RW5naW5lKHNlbGYsIGVuZ2luZV9uYW1lKTogcGFzcworKyAgICBAYXN5bmNf bWV0aG9kKGluX3NpZ25hdHVyZT0icyIpCisrICAgIGRlZiBTZXRFbmdpbmUoc2VsZiwgZW5naW5l X25hbWUsIHJlcGx5X2NiLCBlcnJvcl9jYik6IHBhc3MKICAKKyAgICAgQG1ldGhvZCgpCisgICAg IGRlZiBEZXN0cm95KHNlbGYpOiBwYXNzCitkaWZmIC0tZ2l0IGEvaWJ1cy94a2J4bWwucHkuaW4g Yi9pYnVzL3hrYnhtbC5weS5pbgoraW5kZXggMTZmNDdkZi4uODVkMDY1MSAxMDA2NDQKKy0tLSBh L2lidXMveGtieG1sLnB5LmluCisrKysgYi9pYnVzL3hrYnhtbC5weS5pbgorQEAgLTMzLDYgKzMz LDggQEAgaW1wb3J0IGVuZ2luZWRlc2MKKyBmcm9tIHhtbC5zYXguc2F4dXRpbHMgaW1wb3J0IFhN TEZpbHRlckJhc2UsIFhNTEdlbmVyYXRvcgorIGZyb20geG1sLnNheC5fZXhjZXB0aW9ucyBpbXBv cnQgU0FYUGFyc2VFeGNlcHRpb24KKyBmcm9tIGNTdHJpbmdJTyBpbXBvcnQgU3RyaW5nSU8KKytm cm9tIF9jb25maWcgaW1wb3J0IERFRkFVTFRfQlJJREdFX0VOR0lORV9OQU1FCisrZnJvbSBfY29u ZmlnIGltcG9ydCBnZXRfSUNPTl9LRVlCT0FSRAorIAorIHRyeToKKyAgICAgZnJvbSBnbGliIGlt cG9ydCBnZXRfdXNlcl9jb25maWdfZGlyCitAQCAtMzEyLDYgKzMxNCw4IEBAIGNsYXNzIFhLQkNv bmZpZ1JlZ2lzdHJ5KCk6CisgICAgICAgICAgICAgZW5naW5lX2xheW91dCA9IGxheW91dAorIAor ICAgICAgICAgaWNvbiA9ICdpYnVzLWVuZ2luZScKKysgICAgICAgIGlmIG5hbWVfcHJlZml4ID09 IERFRkFVTFRfQlJJREdFX0VOR0lORV9OQU1FOgorKyAgICAgICAgICAgIGljb24gPSBnZXRfSUNP Tl9LRVlCT0FSRCgpCisgCisgICAgICAgICBlbmdpbmUgPSBlbmdpbmVkZXNjLkVuZ2luZURlc2Mo bmFtZSwgbG9uZ25hbWUsIGRlc2MsIGxhbmcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJ0xHUEwyLjEnLAogZGlmZiAtLWdpdCBhL3NldHVwL2VuZ2luZWNvbWJvYm94 LnB5IGIvc2V0dXAvZW5naW5lY29tYm9ib3gucHkKLWluZGV4IDczODMxNzcuLjI0N2ZhY2MgMTAw NjQ0CitpbmRleCA3MzgzMTc3Li5kMzU3NTdkIDEwMDY0NAogLS0tIGEvc2V0dXAvZW5naW5lY29t Ym9ib3gucHkKICsrKyBiL3NldHVwL2VuZ2luZWNvbWJvYm94LnB5CiBAQCAtNjQsNiArNjQsOSBA QCBjbGFzcyBFbmdpbmVDb21ib0JveChndGsuQ29tYm9Cb3gpOgpAQCAtNzQxLDEzICs5ODIsMTMg QEAgaW5kZXggNzM4MzE3Ny4uMjQ3ZmFjYyAxMDA2NDQKICAgICAgICAgIGxhbmcgPSB7fQogICAg ICAgICAgZm9yIGUgaW4gZW5naW5lczoKICsgICAgICAgICAgICBpZiBpYnVzLnVzZV9icmlkZ2Vf aG90a2V5KCkgYW5kIFwKLSsgICAgICAgICAgICAgICBlLm5hbWUgPT0gaWJ1cy5ERUZBVUxUX0JS SURHRV9FTkdJTkVfTkFNRToKKysgICAgICAgICAgICAgICBlLm5hbWUuc3RhcnRzd2l0aChpYnVz LkRFRkFVTFRfQlJJREdFX0VOR0lORV9OQU1FKToKICsgICAgICAgICAgICAgICAgY29udGludWUK ICAgICAgICAgICAgICBsID0gaWJ1cy5nZXRfbGFuZ3VhZ2VfbmFtZShlLmxhbmd1YWdlKQogICAg ICAgICAgICAgIGlmIGwgbm90IGluIGxhbmc6CiAgICAgICAgICAgICAgICAgIGxhbmdbbF0gPSBb XQogZGlmZiAtLWdpdCBhL3NldHVwL2VuZ2luZXRyZWV2aWV3LnB5IGIvc2V0dXAvZW5naW5ldHJl ZXZpZXcucHkKLWluZGV4IGY2MjAzNjEuLjBlNTBhZDUgMTAwNjQ0CitpbmRleCBmNjIwMzYxLi4y MGNkZTNiIDEwMDY0NAogLS0tIGEvc2V0dXAvZW5naW5ldHJlZXZpZXcucHkKICsrKyBiL3NldHVw L2VuZ2luZXRyZWV2aWV3LnB5CiBAQCAtMTYyLDYgKzE2MiwxNCBAQCBjbGFzcyBFbmdpbmVUcmVl VmlldyhndGsuVHJlZVZpZXcpOgpAQCAtNzU2LDcgKzk5Nyw3IEBAIGluZGV4IGY2MjAzNjEuLjBl NTBhZDUgMTAwNjQ0CiAgICAgICAgICAgICAgZW5naW5lcyA9IFsgclswXSBmb3IgciBpbiBzZWxm Ll9fbW9kZWwgaWYgclswXSAhPSBOb25lXQogKyAgICAgICAgICAgIGZvciBpLCBlIGluIGVudW1l cmF0ZShzZWxmLl9fZW5naW5lcyk6CiArICAgICAgICAgICAgICAgIGlmIGlidXMudXNlX2JyaWRn ZV9ob3RrZXkoKSBhbmQgXAotKyAgICAgICAgICAgICAgICAgICBlLm5hbWUgPT0gaWJ1cy5ERUZB VUxUX0JSSURHRV9FTkdJTkVfTkFNRToKKysgICAgICAgICAgICAgICAgICAgZS5uYW1lLnN0YXJ0 c3dpdGgoaWJ1cy5ERUZBVUxUX0JSSURHRV9FTkdJTkVfTkFNRSk6CiArICAgICAgICAgICAgICAg ICAgICBpZiBpIDwgbGVuKGVuZ2luZXMpOgogKyAgICAgICAgICAgICAgICAgICAgICAgIGVuZ2lu ZXMuaW5zZXJ0KGksIGUpCiArICAgICAgICAgICAgICAgICAgICBlbHNlOgpAQCAtNzcyLDcgKzEw MTMsNyBAQCBpbmRleCBmNjIwMzYxLi4wZTUwYWQ1IDEwMDY0NAogLSAgICAgICAgICAgIGl0ZXIg PSBzZWxmLl9fbW9kZWwuYXBwZW5kKE5vbmUpCiAtICAgICAgICAgICAgc2VsZi5fX21vZGVsLnNl dChpdGVyLCAwLCBlKQogKyAgICAgICAgICAgIGlmIGlidXMudXNlX2JyaWRnZV9ob3RrZXkoKSBh bmQgXAotKyAgICAgICAgICAgICAgIGUubmFtZSA9PSBpYnVzLkRFRkFVTFRfQlJJREdFX0VOR0lO RV9OQU1FOgorKyAgICAgICAgICAgICAgIGUubmFtZS5zdGFydHN3aXRoKGlidXMuREVGQVVMVF9C UklER0VfRU5HSU5FX05BTUUpOgogKyAgICAgICAgICAgICAgICBwYXNzCiArICAgICAgICAgICAg ZWxzZToKICsgICAgICAgICAgICAgICAgaXRlciA9IHNlbGYuX19tb2RlbC5hcHBlbmQoTm9uZSkK QEAgLTc4MCw2ICsxMDIxLDEyMSBAQCBpbmRleCBmNjIwMzYxLi4wZTUwYWQ1IDEwMDY0NAogICAg ICAgICAgICAgIHNlbGYuX19lbmdpbmVzLmFkZChlKQogICAgICAgICAgc2VsZi5fX2VtaXRfY2hh bmdlZCgpCiAgCitkaWZmIC0tZ2l0IGEvc2V0dXAvbWFpbi5weSBiL3NldHVwL21haW4ucHkKK2lu ZGV4IDdmNGEwNDAuLmEyMmFjNzggMTAwNjQ0CistLS0gYS9zZXR1cC9tYWluLnB5CisrKysgYi9z ZXR1cC9tYWluLnB5CitAQCAtMjEzLDYgKzIxMywyNSBAQCBjbGFzcyBTZXR1cChvYmplY3QpOgor ICAgICAgICAgICAgIHNlbGYuX19jb25maWcuZ2V0X3ZhbHVlKCJnZW5lcmFsIiwgInVzZV9nbG9i YWxfZW5naW5lIiwgRmFsc2UpKQorICAgICAgICAgc2VsZi5fX2NoZWNrYnV0dG9uX3VzZV9nbG9i YWxfZW5naW5lLmNvbm5lY3QoInRvZ2dsZWQiLCBzZWxmLl9fY2hlY2tidXR0b25fdXNlX2dsb2Jh bF9lbmdpbmVfdG9nZ2xlZF9jYikKKyAKKysgICAgICAgICMgaG90a2V5IHNldHRpbmdzCisrICAg ICAgICBpZiBpYnVzLnVzZV9icmlkZ2VfaG90a2V5KCk6CisrICAgICAgICAgICAgbGFiZWwgPSBz ZWxmLl9fYnVpbGRlci5nZXRfb2JqZWN0KCJsYWJlbF90cmlnZ2VyX2hvdGtleSIpCisrICAgICAg ICAgICAgbGFiZWwuc2V0X2xhYmVsKF8oIlRvZ2dsZToiKSkKKysgICAgICAgICAgICBsYWJlbC5z ZXRfdG9vbHRpcF90ZXh0KF8oIlRoZSB0cmlnZ2VyIHNob3J0Y3V0IGtleXMgdG8gdG9nZ2xlICIK KysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRoZSBwcmV2aW91cyBhbmQg bmV4dCBpbnB1dCBtZXRob2RzIikpCisrICAgICAgICAgICAgc2VsZi5fX2NoZWNrYnV0dG9uX3Vz ZV9vbl9vZmZfaG90a2V5ID0gXAorKyAgICAgICAgICAgICAgICBzZWxmLl9fYnVpbGRlci5nZXRf b2JqZWN0KCJjaGVja2J1dHRvbl91c2Vfb25fb2ZmX2hvdGtleSIpCisrICAgICAgICAgICAgc2Vs Zi5fX2NoZWNrYnV0dG9uX3VzZV9vbl9vZmZfaG90a2V5LnNldF9hY3RpdmUoCisrICAgICAgICAg ICAgICAgIG5vdCBzZWxmLl9fY29uZmlnLmdldF92YWx1ZSgiZ2VuZXJhbC9ob3RrZXkiLAorKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZV9icmlkZ2VfaG90 a2V5IiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRydWUp KQorKyAgICAgICAgICAgIHNlbGYuX19jaGVja2J1dHRvbl91c2Vfb25fb2ZmX2hvdGtleS5jb25u ZWN0KCJ0b2dnbGVkIiwKKysgICAgICAgICAgICAgICAgc2VsZi5fX2NoZWNrYnV0dG9uX3VzZV9v bl9vZmZfaG90a2V5X2NiKQorKyAgICAgICAgZWxzZToKKysgICAgICAgICAgICBjaGVja2J1dHRv biA9IHNlbGYuX19idWlsZGVyLmdldF9vYmplY3QoImNoZWNrYnV0dG9uX3VzZV9vbl9vZmZfaG90 a2V5IikKKysgICAgICAgICAgICBjaGVja2J1dHRvbi5oaWRlKCkKKysgICAgICAgICAgICBjaGVj a2J1dHRvbi5zZXRfbm9fc2hvd19hbGwoVHJ1ZSkKKysKKyAgICAgICAgICMgaW5pdCBlbmdpbmUg cGFnZQorICAgICAgICAgcHJlbG9hZF9lbmdpbmVfbW9kZSA9IHNlbGYuX19jb25maWcuZ2V0X3Zh bHVlKCJnZW5lcmFsIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAicHJlbG9hZF9lbmdpbmVfbW9kZSIsCitAQCAtNTE5LDYgKzUzOCwxMSBA QCBjbGFzcyBTZXR1cChvYmplY3QpOgorICAgICAgICAgdmFsdWUgPSBzZWxmLl9fY2hlY2tidXR0 b25fdXNlX2dsb2JhbF9lbmdpbmUuZ2V0X2FjdGl2ZSgpCisgICAgICAgICBzZWxmLl9fY29uZmln LnNldF92YWx1ZSgiZ2VuZXJhbCIsICJ1c2VfZ2xvYmFsX2VuZ2luZSIsIHZhbHVlKQorIAorKyAg ICBkZWYgX19jaGVja2J1dHRvbl91c2Vfb25fb2ZmX2hvdGtleV9jYihzZWxmLCBidXR0b24pOgor KyAgICAgICAgdmFsdWUgPSBzZWxmLl9fY2hlY2tidXR0b25fdXNlX29uX29mZl9ob3RrZXkuZ2V0 X2FjdGl2ZSgpCisrICAgICAgICBzZWxmLl9fY29uZmlnLnNldF92YWx1ZSgiZ2VuZXJhbC9ob3Rr ZXkiLCAidXNlX2JyaWRnZV9ob3RrZXkiLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbm90IHZhbHVlKQorKworICAgICBkZWYgX19jb25maWdfdmFsdWVfY2hhbmdlZF9jYihzZWxm LCBidXMsIHNlY3Rpb24sIG5hbWUsIHZhbHVlKToKKyAgICAgICAgIGlmIHNlY3Rpb24gPT0gJ2dl bmVyYWwnIGFuZCBuYW1lID09ICdwcmVsb2FkX2VuZ2luZXMnOgorICAgICAgICAgICAgIGVuZ2lu ZXMgPSBzZWxmLl9fZ2V0X2VuZ2luZV9kZXNjc19mcm9tX25hbWVzKHZhbHVlKQorZGlmZiAtLWdp dCBhL3NldHVwL3NldHVwLnVpIGIvc2V0dXAvc2V0dXAudWkKK2luZGV4IGYxZTZkMGIuLjc3NzE0 YTcgMTAwNjQ0CistLS0gYS9zZXR1cC9zZXR1cC51aQorKysrIGIvc2V0dXAvc2V0dXAudWkKK0BA IC0yMzIsNyArMjMyLDcgQEAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9w YWNraW5nPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jaGlsZD4KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaGlsZD4KKy0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgPG9iamVjdCBjbGFzcz0iR3RrTGFiZWwiIGlkPSJsYWJlbDciPgorKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b2JqZWN0IGNsYXNzPSJHdGtMYWJlbCIg aWQ9ImxhYmVsX3RyaWdnZXJfaG90a2V5Ij4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICA8cHJvcGVydHkgbmFtZT0idmlzaWJsZSI+VHJ1ZTwvcHJvcGVydHk+CisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InRvb2x0aXBfdGV4 dCIgdHJhbnNsYXRhYmxlPSJ5ZXMiPlRoZSBzaG9ydGN1dCBrZXlzIGZvciB0dXJuaW5nIGlucHV0 IG1ldGhvZCBvbiBvciBvZmY8L3Byb3BlcnR5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ4YWxpZ24iPjA8L3Byb3BlcnR5PgorQEAgLTk2Miw2 ICs5NjIsNTkgQEAgWW91IG1heSB1c2UgdXAvZG93biBidXR0b25zIHRvIGNoYW5nZSBpdC4mbHQ7 L2kmZ3Q7Jmx0Oy9zbWFsbCZndDs8L3Byb3BlcnR5PgorICAgICAgICAgICAgICAgICAgICAgICAg IDxwcm9wZXJ0eSBuYW1lPSJwb3NpdGlvbiI+MTwvcHJvcGVydHk+CisgICAgICAgICAgICAgICAg ICAgICAgIDwvcGFja2luZz4KKyAgICAgICAgICAgICAgICAgICAgIDwvY2hpbGQ+CisrICAgICAg ICAgICAgICAgICAgICA8Y2hpbGQ+CisrICAgICAgICAgICAgICAgICAgICAgIDxvYmplY3QgY2xh c3M9Ikd0a0ZyYW1lIiBpZD0iZnJhbWU2Ij4KKysgICAgICAgICAgICAgICAgICAgICAgICA8cHJv cGVydHkgbmFtZT0idmlzaWJsZSI+VHJ1ZTwvcHJvcGVydHk+CisrICAgICAgICAgICAgICAgICAg ICAgICAgPHByb3BlcnR5IG5hbWU9ImxhYmVsX3hhbGlnbiI+MDwvcHJvcGVydHk+CisrICAgICAg ICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InNoYWRvd190eXBlIj5ub25lPC9wcm9w ZXJ0eT4KKysgICAgICAgICAgICAgICAgICAgICAgICA8Y2hpbGQ+CisrICAgICAgICAgICAgICAg ICAgICAgICAgICA8b2JqZWN0IGNsYXNzPSJHdGtBbGlnbm1lbnQiIGlkPSJhbGlnbm1lbnQxNCI+ CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ2aXNpYmxlIj5U cnVlPC9wcm9wZXJ0eT4KKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5h bWU9ImxlZnRfcGFkZGluZyI+MTI8L3Byb3BlcnR5PgorKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICA8Y2hpbGQ+CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9iamVjdCBjbGFz cz0iR3RrQWxpZ25tZW50IiBpZD0iYWxpZ25tZW50MTUiPgorKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InZpc2libGUiPlRydWU8L3Byb3BlcnR5PgorKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InRvcF9wYWRkaW5n Ij42PC9wcm9wZXJ0eT4KKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0 eSBuYW1lPSJsZWZ0X3BhZGRpbmciPjEyPC9wcm9wZXJ0eT4KKysgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDxjaGlsZD4KKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg PG9iamVjdCBjbGFzcz0iR3RrVkJveCIgaWQ9InZib3gxMCI+CisrICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InZpc2libGUiPlRydWU8L3Byb3BlcnR5 PgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJv cmllbnRhdGlvbiI+dmVydGljYWw8L3Byb3BlcnR5PgorKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJzcGFjaW5nIj42PC9wcm9wZXJ0eT4KKysgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hpbGQ+CisrICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICA8b2JqZWN0IGNsYXNzPSJHdGtDaGVja0J1dHRvbiIgaWQ9 ImNoZWNrYnV0dG9uX3VzZV9vbl9vZmZfaG90a2V5Ij4KKysgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImxhYmVsIiB0cmFuc2xhdGFibGU9Inll cyI+VXNlIHRyaWdnZXIga2V5cyB0byBlbmFibGUgb3IgZGlzYWJsZSBhbiBpbnB1dCBtZXRob2Q8 L3Byb3BlcnR5PgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJv cGVydHkgbmFtZT0idmlzaWJsZSI+VHJ1ZTwvcHJvcGVydHk+CisrICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJjYW5fZm9jdXMiPlRydWU8L3By b3BlcnR5PgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVy dHkgbmFtZT0icmVjZWl2ZXNfZGVmYXVsdCI+RmFsc2U8L3Byb3BlcnR5PgorKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0iZHJhd19pbmRpY2F0 b3IiPlRydWU8L3Byb3BlcnR5PgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgPC9vYmplY3Q+CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGFj a2luZz4KKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5 IG5hbWU9ImV4cGFuZCI+RmFsc2U8L3Byb3BlcnR5PgorKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0iZmlsbCI+RmFsc2U8L3Byb3BlcnR5Pgor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0i cG9zaXRpb24iPjA8L3Byb3BlcnR5PgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgPC9wYWNraW5nPgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwv Y2hpbGQ+CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb2JqZWN0PgorKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jaGlsZD4KKysgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICA8L29iamVjdD4KKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9j aGlsZD4KKysgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb2JqZWN0PgorKyAgICAgICAgICAg ICAgICAgICAgICAgIDwvY2hpbGQ+CisrICAgICAgICAgICAgICAgICAgICAgICAgPGNoaWxkIHR5 cGU9ImxhYmVsIj4KKysgICAgICAgICAgICAgICAgICAgICAgICAgIDxvYmplY3QgY2xhc3M9Ikd0 a0xhYmVsIiBpZD0ibGFiZWw1MCI+CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9w ZXJ0eSBuYW1lPSJ2aXNpYmxlIj5UcnVlPC9wcm9wZXJ0eT4KKysgICAgICAgICAgICAgICAgICAg ICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImxhYmVsIiB0cmFuc2xhdGFibGU9InllcyI+Jmx0O2Im Z3Q7SG90IGtleXMgc2V0dGluZyZsdDsvYiZndDs8L3Byb3BlcnR5PgorKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0idXNlX21hcmt1cCI+VHJ1ZTwvcHJvcGVydHk+ CisrICAgICAgICAgICAgICAgICAgICAgICAgICA8L29iamVjdD4KKysgICAgICAgICAgICAgICAg ICAgICAgICA8L2NoaWxkPgorKyAgICAgICAgICAgICAgICAgICAgICA8L29iamVjdD4KKysgICAg ICAgICAgICAgICAgICAgICAgPHBhY2tpbmc+CisrICAgICAgICAgICAgICAgICAgICAgICAgPHBy b3BlcnR5IG5hbWU9ImV4cGFuZCI+RmFsc2U8L3Byb3BlcnR5PgorKyAgICAgICAgICAgICAgICAg ICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJmaWxsIj5GYWxzZTwvcHJvcGVydHk+CisrICAgICAgICAg ICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InBvc2l0aW9uIj4yPC9wcm9wZXJ0eT4KKysg ICAgICAgICAgICAgICAgICAgICAgPC9wYWNraW5nPgorKyAgICAgICAgICAgICAgICAgICAgPC9j aGlsZD4KKyAgICAgICAgICAgICAgICAgICA8L29iamVjdD4KKyAgICAgICAgICAgICAgICAgPC9j aGlsZD4KKyAgICAgICAgICAgICAgIDwvb2JqZWN0PgogZGlmZiAtLWdpdCBhL3NyYy9NYWtlZmls ZS5hbSBiL3NyYy9NYWtlZmlsZS5hbQogaW5kZXggNjQ1NDUyMi4uMzE5ZGYzYyAxMDA2NDQKIC0t LSBhL3NyYy9NYWtlZmlsZS5hbQpAQCAtODA5LDU0ICsxMTY1LDYgQEAgaW5kZXggNjQ1NDUyMi4u MzE5ZGYzYyAxMDA2NDQKICAgICAgJChOVUxMKQogIAogICMgaWJ1cyBsaWJyYXJ5Ci1kaWZmIC0t Z2l0IGEvc3JjL2lidXNidXMuYyBiL3NyYy9pYnVzYnVzLmMKLWluZGV4IDM5YWQ3ODQuLmFiYzQz MzEgMTAwNjQ0Ci0tLS0gYS9zcmMvaWJ1c2J1cy5jCi0rKysgYi9zcmMvaWJ1c2J1cy5jCi1AQCAt MTkwMiwzICsxOTAyLDE1IEBAIGlidXNfYnVzX2NhbGxfYXN5bmMgKElCdXNCdXMgICAgICAgICAg ICAqYnVzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoR0FzeW5jUmVhZHlDYWxsYmFj aykgaWJ1c19idXNfY2FsbF9hc3luY19kb25lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzaW1wbGUpOwotIH0KLSsKLStnYm9vbGVhbgotK2lidXNfYnVzX3VzZV9icmlkZ2VfaG90a2V5 IChJQnVzQnVzICpidXMpCi0rewotKyAgICByZXR1cm4gKFVTRV9CUklER0VfSE9US0VZID09IDEp ID8gVFJVRSA6IEZBTFNFOwotK30KLSsKLStnY2hhciAqCi0raWJ1c19idXNfZ2V0X2RlZmF1bHRf YnJpZGdlX2VuZ2luZV9uYW1lIChJQnVzQnVzICpidXMpCi0rewotKyAgICByZXR1cm4gZ19zdHJk dXAgKERFRkFVTFRfQlJJREdFX0VOR0lORV9OQU1FKTsKLSt9Ci1kaWZmIC0tZ2l0IGEvc3JjL2li dXNidXMuaCBiL3NyYy9pYnVzYnVzLmgKLWluZGV4IDc3ZDM5MTYuLmY1NjA2NzEgMTAwNjQ0Ci0t LS0gYS9zcmMvaWJ1c2J1cy5oCi0rKysgYi9zcmMvaWJ1c2J1cy5oCi1AQCAtOTcxLDUgKzk3MSwy MyBAQCB2b2lkICAgICAgICAgaWJ1c19idXNfc2V0X3dhdGNoX2lidXNfc2lnbmFsCi0gICovCi0g SUJ1c0NvbmZpZyAgKmlidXNfYnVzX2dldF9jb25maWcgICAgICAgIChJQnVzQnVzICAgICAgICAq YnVzKTsKLSAKLSsvKioKLSsgKiBpYnVzX2J1c191c2VfYnJpZGdlX2hvdGtleToKLSsgKiBAYnVz OiBBbiAjSUJ1c0J1cy4KLSsgKiBAcmV0dXJuczogJVRSVUUgaWYgQGJ1cyB1c2UgYnJpZGdlIGhv dGtleSwgJUZBTFNFIG90aGVyd2lzZS4KLSsgKgotKyAqIFJldHVybiAlVFJVRSBpZiBAYnVzIHVz ZSBicmlkZ2UgaG90a2V5LgotKyAqLwotK2dib29sZWFuICAgICBpYnVzX2J1c191c2VfYnJpZGdl X2hvdGtleSAoSUJ1c0J1cyAqYnVzKTsKLSsKLSsvKioKLSsgKiBpYnVzX2J1c19nZXRfZGVmYXVs dF9icmlkZ2VfZW5naW5lX25hbWU6Ci0rICogQGJ1czogQW4gI0lCdXNCdXMuCi0rICogQHJldHVy bnM6IEEgZGVmYXVsdCBicmlkZ2UgZW5naW5lIG5hbWUuCi0rICoKLSsgKiBSZXR1cm4gQSBkZWZh dWx0IGJyaWRnZSBlbmdpbmUgbmFtZS4gTmVlZCB0byBiZSBmcmVlZC4KLSsgKi8KLStnY2hhciAg ICAgICAqaWJ1c19idXNfZ2V0X2RlZmF1bHRfYnJpZGdlX2VuZ2luZV9uYW1lIChJQnVzQnVzICpi dXMpOwotKwotIEdfRU5EX0RFQ0xTCi0gI2VuZGlmCiBkaWZmIC0tZ2l0IGEvc3JjL2lidXNob3Rr ZXkuYyBiL3NyYy9pYnVzaG90a2V5LmMKIGluZGV4IDMyZjgzMzguLmJlZjdkZmMgMTAwNjQ0CiAt LS0gYS9zcmMvaWJ1c2hvdGtleS5jCkBAIC04OTcsOCArMTIwNSw2NCBAQCBpbmRleCA5YTM0MWY2 Li45MmVjNmFmIDEwMDY0NAogKwogIEdfRU5EX0RFQ0xTCiAgI2VuZGlmCitkaWZmIC0tZ2l0IGEv c3JjL2lidXN1dGlsLmMgYi9zcmMvaWJ1c3V0aWwuYworaW5kZXggZGRiNmI5ZS4uNDZkYWIxYSAx MDA2NDQKKy0tLSBhL3NyYy9pYnVzdXRpbC5jCisrKysgYi9zcmMvaWJ1c3V0aWwuYworQEAgLTE0 NSwzICsxNDUsMTUgQEAgaWJ1c19nZXRfbGFuZ3VhZ2VfbmFtZShjb25zdCBnY2hhciAqX2xvY2Fs ZSkgeworICAgICB9CisgICAgIHJldHVybiByZXR2YWw7CisgfQorKworK2dib29sZWFuCisraWJ1 c191c2VfYnJpZGdlX2hvdGtleSAodm9pZCkKKyt7CisrICAgIHJldHVybiAoVVNFX0JSSURHRV9I T1RLRVkgPT0gMSkgPyBUUlVFIDogRkFMU0U7CisrfQorKworK2NvbnN0IGdjaGFyICoKKytpYnVz X2dldF9kZWZhdWx0X2JyaWRnZV9lbmdpbmVfbmFtZSAodm9pZCkKKyt7CisrICAgIHJldHVybiBE RUZBVUxUX0JSSURHRV9FTkdJTkVfTkFNRTsKKyt9CitkaWZmIC0tZ2l0IGEvc3JjL2lidXN1dGls LmggYi9zcmMvaWJ1c3V0aWwuaAoraW5kZXggN2NmMTk5NS4uYTE5ZDE2ZSAxMDA2NDQKKy0tLSBh L3NyYy9pYnVzdXRpbC5oCisrKysgYi9zcmMvaWJ1c3V0aWwuaAorQEAgLTQzLDQgKzQzLDE4IEBA CisgICovCisgY29uc3QgZ2NoYXIgKiAgICBpYnVzX2dldF9sYW5ndWFnZV9uYW1lICAgICAgICAg KGNvbnN0IGdjaGFyICAgICpfbG9jYWxlKTsKKyAKKysvKioKKysgKiBpYnVzX2J1c191c2VfYnJp ZGdlX2hvdGtleToKKysgKiBAYnVzOiBBbiAjSUJ1c0J1cy4KKysgKiBAcmV0dXJuczogJVRSVUUg aWYgQGJ1cyB1c2UgYnJpZGdlIGhvdGtleSwgJUZBTFNFIG90aGVyd2lzZS4KKysgKi8KKytnYm9v bGVhbiAgICAgICAgIGlidXNfdXNlX2JyaWRnZV9ob3RrZXkgKHZvaWQpOworKworKy8qKgorKyAq IGlidXNfYnVzX2dldF9kZWZhdWx0X2JyaWRnZV9lbmdpbmVfbmFtZToKKysgKiBAYnVzOiBBbiAj SUJ1c0J1cy4KKysgKiBAcmV0dXJuczogQSBkZWZhdWx0IGJyaWRnZSBlbmdpbmUgbmFtZS4KKysg Ki8KKytjb25zdCBnY2hhciAqICAgIGlidXNfZ2V0X2RlZmF1bHRfYnJpZGdlX2VuZ2luZV9uYW1l ICh2b2lkKTsKKysKKyAjZW5kaWYKK2RpZmYgLS1naXQgYS91aS9ndGsvTWFrZWZpbGUuYW0gYi91 aS9ndGsvTWFrZWZpbGUuYW0KK2luZGV4IDFmMTk3NDguLjE3MDI2MTMgMTAwNjQ0CistLS0gYS91 aS9ndGsvTWFrZWZpbGUuYW0KKysrKyBiL3VpL2d0ay9NYWtlZmlsZS5hbQorQEAgLTMzLDYgKzMz LDggQEAgdWlfZ3RrX1BZVEhPTiA9IFwKKyAJcHJvcGl0ZW0ucHkgXAorIAl0b29saXRlbS5weSBc CisgCWVuZ2luZWFib3V0LnB5IFwKKysJeGtiZW5naW5lLnB5IFwKKysJeGtiZmFjdG9yeS5weSBc CisgCSQoTlVMTCkKKyB1aV9ndGtkaXIgPSAkKHBrZ2RhdGFkaXIpL3VpL2d0aworIAogZGlmZiAt LWdpdCBhL3VpL2d0ay9wYW5lbC5weSBiL3VpL2d0ay9wYW5lbC5weQotaW5kZXggZGU2NDkyMC4u NTVhY2Q1YSAxMDA2NDQKK2luZGV4IDg4MDQ2MzQuLmQ4N2MxZDIgMTAwNjQ0CiAtLS0gYS91aS9n dGsvcGFuZWwucHkKICsrKyBiL3VpL2d0ay9wYW5lbC5weQogQEAgLTEzMyw2ICsxMzMsMTUgQEAg Y2xhc3MgUGFuZWwoaWJ1cy5QYW5lbEJhc2UpOgpAQCAtOTM2LDExICsxMzAwLDE5IEBAIGluZGV4 IGRlNjQ5MjAuLjU1YWNkNWEgMTAwNjQ0CiAgCiAgICAgIGRlZiBzZXRfY3Vyc29yX2xvY2F0aW9u KHNlbGYsIHgsIHksIHcsIGgpOgogICAgICAgICAgc2VsZi5fX2NhbmRpZGF0ZV9wYW5lbC5zZXRf Y3Vyc29yX2xvY2F0aW9uKHgsIHksIHcsIGgpCi1AQCAtMjMzLDEyICsyNDksNjkgQEAgY2xhc3Mg UGFuZWwoaWJ1cy5QYW5lbEJhc2UpOgorQEAgLTIzMywxMiArMjQ5LDExMyBAQCBjbGFzcyBQYW5l bChpYnVzLlBhbmVsQmFzZSk6CiAgICAgIGRlZiBfX3NldF9pbV9uYW1lKHNlbGYsIG5hbWUpOgog ICAgICAgICAgc2VsZi5fX2xhbmd1YWdlX2Jhci5zZXRfaW1fbmFtZShuYW1lKQogIAotKyAgICBk ZWYgX19zZXRfZGVmYXVsdF9sYXlvdXRfZW5naW5lKHNlbGYpOgorKyAgICBkZWYgX191c2VfYnJp ZGdlX2hvdGtleShzZWxmKToKKysgICAgICAgIGlmIG5vdCBpYnVzLnVzZV9icmlkZ2VfaG90a2V5 KCk6CisrICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisrICAgICAgICBpZiBzZWxmLl9fY29uZmln ID09IE5vbmU6CisrICAgICAgICAgICAgcmV0dXJuIFRydWUKKysgICAgICAgIHJldHVybiBzZWxm Ll9fY29uZmlnLmdldF92YWx1ZSgiZ2VuZXJhbC9ob3RrZXkiLCAidXNlX2JyaWRnZV9ob3RrZXki LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRydWUpCisrCisrICAg IGRlZiBfX3NldF9kZWZhdWx0X2xheW91dF9lbmdpbmUoc2VsZiwgdXNlX2JyaWRnZV9ob3RrZXkp OgogKyAgICAgICAgZGVmYXVsdF9sYXlvdXQgPSBzZWxmLl9fZGVmYXVsdF9sYXlvdXQKICsgICAg ICAgIGRlZmF1bHRfbW9kZWwgPSBzZWxmLl9fZGVmYXVsdF9tb2RlbAogKyAgICAgICAgaWYgZGVm YXVsdF9sYXlvdXQgPT0gJ2RlZmF1bHQnOgpAQCAtOTc1LDEzICsxMzQ3LDQ4IEBAIGluZGV4IGRl NjQ5MjAuLjU1YWNkNWEgMTAwNjQ0CiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBsYXlvdXQsCiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBfKCJEZWZhdWx0IExheW91dCIpLAogKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZWwsCi0rICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlbF9kZXNjKQorKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZWxfZGVzYywK KysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlidXMu REVGQVVMVF9CUklER0VfRU5HSU5FX05BTUUpCiArICAgICAgICAgICAgICAgIHNlbGYuX19kaXNh YmxlZF9lbmdpbmVzLmFwcGVuZChlbmdpbmUpCiArICAgICAgICAgICAgc2VsZi5fX2Rpc2FibGVk X2VuZ2luZXNfaWQgPSBzZWxmLl9feGtibGF5b3V0LmdldF9ncm91cCgpCi0rICAgICAgICBpZiBz ZWxmLl9fZm9jdXNfaWMgPT0gTm9uZToKKysgICAgICAgICAgICBpZiBub3QgdXNlX2JyaWRnZV9o b3RrZXk6CisrICAgICAgICAgICAgICAgIHJldHVybgorKyAgICAgICAgICAgIGlmIHNlbGYuX19k aXNhYmxlZF9lbmdpbmVzICE9IE5vbmUgYW5kIHNlbGYuX19kaXNhYmxlZF9lbmdpbmVzICE9IFtd OgorKyAgICAgICAgICAgICAgICBjb21wb25lbnQgPSBpYnVzLkNvbXBvbmVudCgib3JnLmZyZWVk ZXNrdG9wLklCdXMuWEtCIiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXygiWEtCIENvbXBvbmVudCIpLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAiMS4wIiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIkdQTCIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICJUYWthbyBGdWppd2FyYSIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICJodHRwczovL2dpdGh1Yi5jb20vZnVqaXdhcmF0L2lidXMvdHJlZS9nanMiKQor KyAgICAgICAgICAgICAgICBmb3IgZW5naW5lIGluIHNlbGYuX19kaXNhYmxlZF9lbmdpbmVzOgor KyAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50LmFkZF9lbmdpbmUoZW5naW5lLm5hbWUsCisr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmdpbmUubG9uZ25hbWUs CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmdpbmUuZGVzY3Jp cHRpb24sCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmdpbmUu bGFuZ3VhZ2UsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmdp bmUubGljZW5zZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVu Z2luZS5hdXRob3IsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBl bmdpbmUuaWNvbiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVu Z2luZS5sYXlvdXQsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBl bmdpbmUuaG90a2V5cykKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK KysgICAgICAgICAgICAgICAgaW1wb3J0IHhrYmZhY3RvcnkKKysgICAgICAgICAgICAgICAgc2Vs Zi5fX2ZhY3RvcnkgPSB4a2JmYWN0b3J5LkVuZ2luZUZhY3Rvcnkoc2VsZi5fX2J1cykKKysgICAg ICAgICAgICAgICAgc2VsZi5fX2J1cy5yZWdpc3Rlcl9jb21wb25lbnQoY29tcG9uZW50KQorKyAg ICAgICAgaWYgbm90IHVzZV9icmlkZ2VfaG90a2V5OgogKyAgICAgICAgICAgIHJldHVybgotKyAg ICAgICAgaWYgbm90IHNlbGYuX19mb2N1c19pYy5pc19lbmFibGVkKCk6Ci0rICAgICAgICAgICAg c2VsZi5fX2ZvY3VzX2ljLnNldF9icmlkZ2VfZW5naW5lKCkKKysgICAgICAgIGlmIHNlbGYuX19k aXNhYmxlZF9lbmdpbmVzICE9IE5vbmUgYW5kIHNlbGYuX19kaXNhYmxlZF9lbmdpbmVzICE9IFtd OgorKyAgICAgICAgICAgIGlmIHNlbGYuX19mb2N1c19pYyA9PSBOb25lOgorKyAgICAgICAgICAg ICAgICByZXR1cm4KKysgICAgICAgICAgICBlbmdpbmUgPSBzZWxmLl9fZm9jdXNfaWMuZ2V0X2Vu Z2luZSgpCisrICAgICAgICAgICAgaWYgZW5naW5lID09IE5vbmU6CisrICAgICAgICAgICAgICAg IGlmIHNlbGYuX19kaXNhYmxlZF9lbmdpbmVzX2lkIDwgMDoKKysgICAgICAgICAgICAgICAgICAg IHNlbGYuX19kaXNhYmxlZF9lbmdpbmVzX2lkID0gMAorKyAgICAgICAgICAgICAgICBzZWxmLl9f Zm9jdXNfaWMuZm9jdXNfaW4oKQorKyAgICAgICAgICAgICAgICBzZWxmLl9fZm9jdXNfaWMuc2V0 X2VuZ2luZShzZWxmLl9fZGlzYWJsZWRfZW5naW5lc1tzZWxmLl9fZGlzYWJsZWRfZW5naW5lc19p ZF0pCisrICAgICAgICAgICAgZWxpZiBlbmdpbmUgIT0gTm9uZSBhbmQgXAorKyAgICAgICAgICAg ICAgICAgbm90IHNlbGYuX19mb2N1c19pYy5pc19lbmFibGVkKCk6CisrICAgICAgICAgICAgICAg IHNlbGYuX19mb2N1c19pYy5mb2N1c19pbigpCisrICAgICAgICAgICAgICAgIHNlbGYuX19mb2N1 c19pYy5lbmFibGUoKQogKwogICAgICBkZWYgZm9jdXNfaW4oc2VsZiwgaWMpOgogICAgICAgICAg c2VsZi5yZXNldCgpCkBAIC05ODksMTQgKzEzOTYsMTUgQEAgaW5kZXggZGU2NDkyMC4uNTVhY2Q1 YSAxMDA2NDQKICAgICAgICAgIGVuYWJsZWQgPSBzZWxmLl9fZm9jdXNfaWMuaXNfZW5hYmxlZCgp CiAtICAgICAgICBzZWxmLl9fbGFuZ3VhZ2VfYmFyLnNldF9lbmFibGVkKGVuYWJsZWQpCiAgCi0r ICAgICAgICBpZiBpYnVzLnVzZV9icmlkZ2VfaG90a2V5KCk6Ci0rICAgICAgICAgICAgc2VsZi5f X3NldF9kZWZhdWx0X2xheW91dF9lbmdpbmUoKQorKyAgICAgICAgdXNlX2JyaWRnZV9ob3RrZXkg PSBzZWxmLl9fdXNlX2JyaWRnZV9ob3RrZXkoKQorKyAgICAgICAgc2VsZi5fX3NldF9kZWZhdWx0 X2xheW91dF9lbmdpbmUodXNlX2JyaWRnZV9ob3RrZXkpCisrICAgICAgICBpZiB1c2VfYnJpZGdl X2hvdGtleToKICsgICAgICAgICAgICBpZiBzZWxmLl9fc2hvdyAhPSAxOgogKyAgICAgICAgICAg ICAgICBzZWxmLl9fbGFuZ3VhZ2VfYmFyLnNldF9lbmFibGVkKGVuYWJsZWQpCiArICAgICAgICAg ICAgZWxpZiBlbmFibGVkOgogKyAgICAgICAgICAgICAgICBlbmdpbmUgPSBzZWxmLl9fZm9jdXNf aWMuZ2V0X2VuZ2luZSgpCiArICAgICAgICAgICAgICAgIGlmIGVuZ2luZSAhPSBOb25lIGFuZCBc Ci0rICAgICAgICAgICAgICAgICAgIGVuZ2luZS5uYW1lICE9IGlidXMuREVGQVVMVF9CUklER0Vf RU5HSU5FX05BTUU6CisrICAgICAgICAgICAgICAgICAgIG5vdCBlbmdpbmUubmFtZS5zdGFydHN3 aXRoKGlidXMuREVGQVVMVF9CUklER0VfRU5HSU5FX05BTUUpOgogKyAgICAgICAgICAgICAgICAg ICAgc2VsZi5fX2xhbmd1YWdlX2Jhci5zZXRfZW5hYmxlZChlbmFibGVkKQogKyAgICAgICAgICAg ICAgICBlbHNlOgogKyAgICAgICAgICAgICAgICAgICAgc2VsZi5fX2xhbmd1YWdlX2Jhci5zZXRf ZW5hYmxlZChGYWxzZSkKQEAgLTEwMDcsNyArMTQxNSw3IEBAIGluZGV4IGRlNjQ5MjAuLjU1YWNk NWEgMTAwNjQ0CiAgICAgICAgICBpZiBub3QgZW5hYmxlZDoKICAgICAgICAgICAgICBzZWxmLl9f c2V0X2ltX2ljb24oSUNPTl9LRVlCT0FSRCkKICAgICAgICAgICAgICBzZWxmLl9fc2V0X2ltX25h bWUoTm9uZSkKLUBAIC0yNTAsNyArMzIzLDcgQEAgY2xhc3MgUGFuZWwoaWJ1cy5QYW5lbEJhc2Up OgorQEAgLTI1MCw3ICszNjcsNyBAQCBjbGFzcyBQYW5lbChpYnVzLlBhbmVsQmFzZSk6CiAgICAg ICAgICAgICAgICAgIHNlbGYuX19zZXRfaW1faWNvbihlbmdpbmUuaWNvbikKICAgICAgICAgICAg ICAgICAgc2VsZi5fX3NldF9pbV9uYW1lKGVuZ2luZS5sb25nbmFtZSkKICAgICAgICAgICAgICAg ICAgaWYgc2VsZi5fX2J1cy5nZXRfdXNlX3N5c19sYXlvdXQoKToKQEAgLTEwMTYsMTkgKzE0MjQs MjggQEAgaW5kZXggZGU2NDkyMC4uNTVhY2Q1YSAxMDA2NDQKICAgICAgICAgICAgICBlbHNlOgog ICAgICAgICAgICAgICAgICBzZWxmLl9fc2V0X2ltX2ljb24oSUNPTl9LRVlCT0FSRCkKICAgICAg ICAgICAgICAgICAgc2VsZi5fX3NldF9pbV9uYW1lKE5vbmUpCi1AQCAtMjczLDcgKzM0NiwyMSBA QCBjbGFzcyBQYW5lbChpYnVzLlBhbmVsQmFzZSk6CitAQCAtMjYwLDYgKzM3Nyw4IEBAIGNsYXNz IFBhbmVsKGlidXMuUGFuZWxCYXNlKToKKyAKKyAgICAgZGVmIGZvY3VzX291dChzZWxmLCBpYyk6 CisgICAgICAgICBzZWxmLnJlc2V0KCkKKysgICAgICAgIGlmIHNlbGYuX19mb2N1c19pYyBhbmQg c2VsZi5fX2ZvY3VzX2ljLmlzX2VuYWJsZWQoKToKKysgICAgICAgICAgICBzZWxmLl9fZm9jdXNf aWMuZGlzYWJsZSgpCisgICAgICAgICBzZWxmLl9fZm9jdXNfaWMgPSBOb25lCisgICAgICAgICBz ZWxmLl9fbGFuZ3VhZ2VfYmFyLnNldF9lbmFibGVkKEZhbHNlKQorICAgICAgICAgc2VsZi5fX2xh bmd1YWdlX2Jhci5mb2N1c19vdXQoKQorQEAgLTI3Myw3ICszOTIsMjEgQEAgY2xhc3MgUGFuZWwo aWJ1cy5QYW5lbEJhc2UpOgogICAgICAgICAgICAgIHJldHVybgogIAogICAgICAgICAgZW5hYmxl ZCA9IHNlbGYuX19mb2N1c19pYy5pc19lbmFibGVkKCkKIC0gICAgICAgIHNlbGYuX19sYW5ndWFn ZV9iYXIuc2V0X2VuYWJsZWQoZW5hYmxlZCkKICsKLSsgICAgICAgIGlmIGlidXMudXNlX2JyaWRn ZV9ob3RrZXkoKToKKysgICAgICAgIGlmIHNlbGYuX191c2VfYnJpZGdlX2hvdGtleSgpOgogKyAg ICAgICAgICAgIGlmIHNlbGYuX19zaG93ICE9IDE6CiArICAgICAgICAgICAgICAgIHNlbGYuX19s YW5ndWFnZV9iYXIuc2V0X2VuYWJsZWQoZW5hYmxlZCkKICsgICAgICAgICAgICBlbGlmIGVuYWJs ZWQ6CiArICAgICAgICAgICAgICAgIGVuZ2luZSA9IHNlbGYuX19mb2N1c19pYy5nZXRfZW5naW5l KCkKICsgICAgICAgICAgICAgICAgaWYgZW5naW5lICE9IE5vbmUgYW5kIFwKLSsgICAgICAgICAg ICAgICAgICAgZW5naW5lLm5hbWUgIT0gaWJ1cy5ERUZBVUxUX0JSSURHRV9FTkdJTkVfTkFNRToK KysgICAgICAgICAgICAgICAgICAgbm90IGVuZ2luZS5uYW1lLnN0YXJ0c3dpdGgoaWJ1cy5ERUZB VUxUX0JSSURHRV9FTkdJTkVfTkFNRSk6CiArICAgICAgICAgICAgICAgICAgICBzZWxmLl9fbGFu Z3VhZ2VfYmFyLnNldF9lbmFibGVkKGVuYWJsZWQpCiArICAgICAgICAgICAgICAgIGVsc2U6CiAr ICAgICAgICAgICAgICAgICAgICBzZWxmLl9fbGFuZ3VhZ2VfYmFyLnNldF9lbmFibGVkKEZhbHNl KQpAQCAtMTAzOSw3ICsxNDU2LDcgQEAgaW5kZXggZGU2NDkyMC4uNTVhY2Q1YSAxMDA2NDQKICAK ICAgICAgICAgIGlmIGVuYWJsZWQgPT0gRmFsc2U6CiAgICAgICAgICAgICAgc2VsZi5yZXNldCgp Ci1AQCAtMjg3LDcgKzM3NCw3IEBAIGNsYXNzIFBhbmVsKGlidXMuUGFuZWxCYXNlKToKK0BAIC0y ODcsNyArNDIwLDcgQEAgY2xhc3MgUGFuZWwoaWJ1cy5QYW5lbEJhc2UpOgogICAgICAgICAgICAg ICAgICBzZWxmLl9fc2V0X2ltX2ljb24oZW5naW5lLmljb24pCiAgICAgICAgICAgICAgICAgIHNl bGYuX19zZXRfaW1fbmFtZShlbmdpbmUubG9uZ25hbWUpCiAgICAgICAgICAgICAgICAgIGlmIHNl bGYuX19idXMuZ2V0X3VzZV9zeXNfbGF5b3V0KCk6CkBAIC0xMDQ4LDcgKzE0NjUsNyBAQCBpbmRl eCBkZTY0OTIwLi41NWFjZDVhIDEwMDY0NAogICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAg ICAgICAgIHNlbGYuX19zZXRfaW1faWNvbihJQ09OX0tFWUJPQVJEKQogICAgICAgICAgICAgICAg ICBzZWxmLl9fc2V0X2ltX25hbWUoTm9uZSkKLUBAIC0zMTUsNiArNDAyLDcgQEAgY2xhc3MgUGFu ZWwoaWJ1cy5QYW5lbEJhc2UpOgorQEAgLTMxNSw2ICs0NDgsNyBAQCBjbGFzcyBQYW5lbChpYnVz LlBhbmVsQmFzZSk6CiAgCiAgICAgIGRlZiBfX2NvbmZpZ19sb2FkX3Nob3coc2VsZik6CiAgICAg ICAgICBzaG93ID0gc2VsZi5fX2NvbmZpZy5nZXRfdmFsdWUoInBhbmVsIiwgInNob3ciLCAwKQpA QCAtMTA1Niw3ICsxNDczLDcgQEAgaW5kZXggZGU2NDkyMC4uNTVhY2Q1YSAxMDA2NDQKICAgICAg ICAgIHNlbGYuX19sYW5ndWFnZV9iYXIuc2V0X3Nob3coc2hvdykKICAKICAgICAgZGVmIF9fY29u ZmlnX2xvYWRfcG9zaXRpb24oc2VsZik6Ci1AQCAtNDQzLDYgKzUzMSwyMSBAQCBjbGFzcyBQYW5l bChpYnVzLlBhbmVsQmFzZSk6CitAQCAtNDQzLDYgKzU3NywyMSBAQCBjbGFzcyBQYW5lbChpYnVz LlBhbmVsQmFzZSk6CiAgICAgICMgICAgIG1lbnUuc2V0X3Rha2VfZm9jdXMoRmFsc2UpCiAgICAg ICMgICAgIHJldHVybiBtZW51CiAgCkBAIC0xMDc4LDcgKzE0OTUsNyBAQCBpbmRleCBkZTY0OTIw Li41NWFjZDVhIDEwMDY0NAogICAgICBkZWYgX19jcmVhdGVfaW1fbWVudShzZWxmKToKICAgICAg ICAgIGVuZ2luZXMgPSBzZWxmLl9fYnVzLmxpc3RfYWN0aXZlX2VuZ2luZXMoKQogICAgICAgICAg Y3VycmVudF9lbmdpbmUgPSBcCi1AQCAtNDUzLDI1ICs1NTYsMzEgQEAgY2xhc3MgUGFuZWwoaWJ1 cy5QYW5lbEJhc2UpOgorQEAgLTQ1MywyNSArNjAyLDM0IEBAIGNsYXNzIFBhbmVsKGlidXMuUGFu ZWxCYXNlKToKICAgICAgICAgIHNpemUgPSBndGsuaWNvbl9zaXplX2xvb2t1cChndGsuSUNPTl9T SVpFX01FTlUpCiAgICAgICAgICBtZW51ID0gZ3RrLk1lbnUoKQogICAgICAgICAgZm9yIGksIGVu Z2luZSBpbiBlbnVtZXJhdGUoZW5naW5lcyk6CkBAIC0xMDk0LDE4ICsxNTExLDIxIEBAIGluZGV4 IGRlNjQ5MjAuLjU1YWNkNWEgMTAwNjQ0CiAtICAgICAgICAgICAgICAgIGl0ZW0uc2V0X2ltYWdl KF9pY29uLkljb25XaWRnZXQoSUNPTl9FTkdJTkUsIHNpemVbMF0pKQogLSAgICAgICAgICAgIGl0 ZW0uY29ubmVjdCgiYWN0aXZhdGUiLCBzZWxmLl9faW1fbWVudV9pdGVtX2FjdGl2YXRlX2NiLCBl bmdpbmUpCiAtICAgICAgICAgICAgbWVudS5hZGQoaXRlbSkKLSsgICAgICAgICAgICBpZiBpYnVz LnVzZV9icmlkZ2VfaG90a2V5KCkgYW5kIFwKLSsgICAgICAgICAgICAgICAgZW5naW5lLm5hbWUg PT0gaWJ1cy5ERUZBVUxUX0JSSURHRV9FTkdJTkVfTkFNRSBhbmQgXAorKyAgICAgICAgICAgIGlm IHNlbGYuX191c2VfYnJpZGdlX2hvdGtleSgpIGFuZCBcCisrICAgICAgICAgICAgICAgIGVuZ2lu ZS5uYW1lLnN0YXJ0c3dpdGgoaWJ1cy5ERUZBVUxUX0JSSURHRV9FTkdJTkVfTkFNRSkgYW5kIFwK ICsgICAgICAgICAgICAgICAgc2VsZi5fX2Rpc2FibGVkX2VuZ2luZXMgIT0gTm9uZToKKysgICAg ICAgICAgICAgICAgZW5naW5lLmlzX2JyaWRnZSA9IFRydWUKKysgICAgICAgICAgICAgICAgZW5n aW5lLmRpc2FibGVkX2VuZ2luZXNfaWQgPSAwCiArICAgICAgICAgICAgICAgIGZvciBqLCBrYl9l bmdpbmUgaW4gZW51bWVyYXRlKHNlbGYuX19kaXNhYmxlZF9lbmdpbmVzKToKLSsgICAgICAgICAg ICAgICAgICAgIGtiX2VuZ2luZS5pc19icmlkZ2UgPSBUcnVlCi0rICAgICAgICAgICAgICAgICAg ICBrYl9lbmdpbmUuZGlzYWJsZWRfZW5naW5lc19pZCA9IGoKLSsgICAgICAgICAgICAgICAgICAg IGlzX2JvbGQgPSBUcnVlIGlmIChjdXJyZW50X2VuZ2luZSAhPSBOb25lIGFuZCBcCi0rICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRfZW5naW5lLm5hbWUgPT0gZW5naW5lLm5hbWUg YW5kIFwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgaiA9PSBzZWxmLl9fZGlzYWJsZWRf ZW5naW5lc19pZCkgZWxzZSBGYWxzZQotKyAgICAgICAgICAgICAgICAgICAgc2VsZi5fX2FkZF9l bmdpbmVfaW5fbWVudShtZW51LCBrYl9lbmdpbmUsCi0rICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGlzX2JvbGQsCi0rICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHNpemUpCisrICAgICAgICAgICAgICAgICAgICBpZiBlbmdp bmUubmFtZSA9PSBrYl9lbmdpbmUubmFtZToKKysgICAgICAgICAgICAgICAgICAgICAgICBlbmdp bmUuZGlzYWJsZWRfZW5naW5lc19pZCA9IGoKKysgICAgICAgICAgICAgICAgICAgICAgICBicmVh aworKyAgICAgICAgICAgICAgICBpc19ib2xkID0gVHJ1ZSBpZiAoY3VycmVudF9lbmdpbmUgIT0g Tm9uZSBhbmQgXAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudF9l bmdpbmUubmFtZSA9PSBlbmdpbmUubmFtZSBhbmQgXAorKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgaiA9PSBzZWxmLl9fZGlzYWJsZWRfZW5naW5lc19pZCkgZWxzZSBGYWxzZQor KyAgICAgICAgICAgICAgICBzZWxmLl9fYWRkX2VuZ2luZV9pbl9tZW51KG1lbnUsIGVuZ2luZSwK KysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc19ib2xkLAorKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemUpCiArICAgICAgICAg ICAgICAgIGNvbnRpbnVlCiArICAgICAgICAgICAgZW5naW5lLmlzX2JyaWRnZSA9IEZhbHNlCiAr ICAgICAgICAgICAgaXNfYm9sZCA9IFRydWUgaWYgKGN1cnJlbnRfZW5naW5lICE9IE5vbmUgYW5k IFwKQEAgLTExMTgsMzAgKzE1MzgsMzAgQEAgaW5kZXggZGU2NDkyMC4uNTVhY2Q1YSAxMDA2NDQK ICAgICAgICAgIGlmIHNlbGYuX19mb2N1c19pYyA9PSBOb25lIG9yIG5vdCBzZWxmLl9fZm9jdXNf aWMuaXNfZW5hYmxlZCgpOgogICAgICAgICAgICAgIGl0ZW0uc2V0X3NlbnNpdGl2ZShGYWxzZSkK IC0gICAgICAgIG1lbnUuYWRkKGl0ZW0pCi0rICAgICAgICBpZiBub3QgaWJ1cy51c2VfYnJpZGdl X2hvdGtleSgpOgorKyAgICAgICAgaWYgbm90IHNlbGYuX191c2VfYnJpZGdlX2hvdGtleSgpOgog KyAgICAgICAgICAgIG1lbnUuYWRkKGl0ZW0pCiAgCiAgICAgICAgICBtZW51LnNob3dfYWxsKCkK ICAgICAgICAgIG1lbnUuc2V0X3Rha2VfZm9jdXMoRmFsc2UpCi1AQCAtNTIzLDggKzYzMiwyNSBA QCBjbGFzcyBQYW5lbChpYnVzLlBhbmVsQmFzZSk6CitAQCAtNTIzLDggKzY4MSwyNSBAQCBjbGFz cyBQYW5lbChpYnVzLlBhbmVsQmFzZSk6CiAgICAgICAgICBpZiBub3Qgc2VsZi5fX2ZvY3VzX2lj OgogICAgICAgICAgICAgIHJldHVybgogICAgICAgICAgaWYgZW5naW5lOgogLSAgICAgICAgICAg IHNlbGYuX19mb2N1c19pYy5zZXRfZW5naW5lKGVuZ2luZSkKLSsgICAgICAgICAgICBpZiBpYnVz LnVzZV9icmlkZ2VfaG90a2V5KCkgYW5kIGVuZ2luZS5pc19icmlkZ2U6CisrICAgICAgICAgICAg aWYgc2VsZi5fX3VzZV9icmlkZ2VfaG90a2V5KCkgYW5kIGVuZ2luZS5pc19icmlkZ2U6CiArICAg ICAgICAgICAgICAgIGVuZ2luZXMgPSBzZWxmLl9fYnVzLmxpc3RfYWN0aXZlX2VuZ2luZXMoKQog KyAgICAgICAgICAgICAgICBjdXJyZW50X2VuZ2luZSA9IFwKICsgICAgICAgICAgICAgICAgICAg IChzZWxmLl9fZm9jdXNfaWMgIT0gTm9uZSBhbmQgc2VsZi5fX2ZvY3VzX2ljLmdldF9lbmdpbmUo KSkgb3IgXAogKyAgICAgICAgICAgICAgICAgICAgKGVuZ2luZXMgYW5kIGVuZ2luZXNbMF0pIG9y IFwKICsgICAgICAgICAgICAgICAgICAgIE5vbmUKICsgICAgICAgICAgICAgICAgaWYgY3VycmVu dF9lbmdpbmUgYW5kIFwKLSsgICAgICAgICAgICAgICAgICAgY3VycmVudF9lbmdpbmUubmFtZSA9 PSBpYnVzLkRFRkFVTFRfQlJJREdFX0VOR0lORV9OQU1FOgorKyAgICAgICAgICAgICAgICAgICBj dXJyZW50X2VuZ2luZS5uYW1lLnN0YXJ0c3dpdGgoaWJ1cy5ERUZBVUxUX0JSSURHRV9FTkdJTkVf TkFNRSk6CiArICAgICAgICAgICAgICAgICAgICBzZWxmLl9fZGlzYWJsZWRfZW5naW5lc19wcmV2 X2lkID0gc2VsZi5fX2Rpc2FibGVkX2VuZ2luZXNfaWQKICsgICAgICAgICAgICAgICAgICAgIHNl bGYuX19kaXNhYmxlZF9lbmdpbmVzX3N3YXBwZWQgPSAwCiArICAgICAgICAgICAgICAgIGVsc2U6 CiArICAgICAgICAgICAgICAgICAgICBzZWxmLl9fZGlzYWJsZWRfZW5naW5lc19wcmV2X2lkID0g LTEKICsgICAgICAgICAgICAgICAgc2VsZi5fX2Rpc2FibGVkX2VuZ2luZXNfaWQgPSBlbmdpbmUu ZGlzYWJsZWRfZW5naW5lc19pZAotKyAgICAgICAgICAgICAgICBzZWxmLl9fZm9jdXNfaWMuc2V0 X2JyaWRnZV9lbmdpbmUoKQorKyAgICAgICAgICAgICAgICBzZWxmLl9fZm9jdXNfaWMuc2V0X2Vu Z2luZShzZWxmLl9fZGlzYWJsZWRfZW5naW5lc1tzZWxmLl9fZGlzYWJsZWRfZW5naW5lc19pZF0p CiArICAgICAgICAgICAgZWxzZToKICsgICAgICAgICAgICAgICAgc2VsZi5fX2Rpc2FibGVkX2Vu Z2luZXNfcHJldl9pZCA9IC0xCiArICAgICAgICAgICAgICAgIHNlbGYuX19mb2N1c19pYy5zZXRf ZW5naW5lKGVuZ2luZSkKQEAgLTExNTAsMjUgKzE1NzAsNzMgQEAgaW5kZXggZGU2NDkyMC4uNTVh Y2Q1YSAxMDA2NDQKICAgICAgICAgICAgICBzZWxmLl9fZm9jdXNfaWMuZGlzYWJsZSgpCiAgCiAg ICAgIGRlZiBfX3N5c19tZW51X2l0ZW1fYWN0aXZhdGVfY2Ioc2VsZiwgaXRlbSwgY29tbWFuZCk6 Ci1AQCAtNTczLDExICs2OTksMzQgQEAgY2xhc3MgUGFuZWwoaWJ1cy5QYW5lbEJhc2UpOgorQEAg LTU3MywxMiArNzQ4LDg1IEBAIGNsYXNzIFBhbmVsKGlidXMuUGFuZWxCYXNlKToKICAgICAgICAg IHNlbGYuX19zZXR1cF9waWQgPSBwaWQKICAgICAgICAgIGdsaWIuY2hpbGRfd2F0Y2hfYWRkKHNl bGYuX19zZXR1cF9waWQsIHNlbGYuX19jaGlsZF93YXRjaF9jYikKICAKIC0gICAgZGVmIF9fZW5n aW5lX2dldF9sYXlvdXRfd3JhcHBlcihzZWxmLCBlbmdpbmUpOgorKyAgICBkZWYgX19nZXRfbW9k ZWxfZnJvbV9sYXlvdXQoc2VsZiwgbGF5b3V0KToKKysgICAgICAgIGxlZnRfYnJhY2tldCA9IGxh eW91dC5maW5kKCcoJykKKysgICAgICAgIHJpZ2h0X2JyYWNrZXQgPSBsYXlvdXQuZmluZCgnKScp CisrICAgICAgICBpZiBsZWZ0X2JyYWNrZXQgPj0gMCBhbmQgcmlnaHRfYnJhY2tldCA+IGxlZnRf YnJhY2tldDoKKysgICAgICAgICAgICByZXR1cm4gKGxheW91dFs6bGVmdF9icmFja2V0XSArIGxh eW91dFtyaWdodF9icmFja2V0ICsgMTpdLCBcCisrICAgICAgICAgICAgICAgICAgICBsYXlvdXRb bGVmdF9icmFja2V0ICsgMTpyaWdodF9icmFja2V0XSkKKysgICAgICAgIHJldHVybiAobGF5b3V0 LCAiZGVmYXVsdCIpCisrCisrICAgIGRlZiBfX2dldF9vcHRpb25fZnJvbV9sYXlvdXQoc2VsZiwg bGF5b3V0KToKKysgICAgICAgIGxlZnRfYnJhY2tldCA9IGxheW91dC5maW5kKCdbJykKKysgICAg ICAgIHJpZ2h0X2JyYWNrZXQgPSBsYXlvdXQuZmluZCgnXScpCisrICAgICAgICBpZiBsZWZ0X2Jy YWNrZXQgPj0gMCBhbmQgcmlnaHRfYnJhY2tldCA+IGxlZnRfYnJhY2tldDoKKysgICAgICAgICAg ICByZXR1cm4gKGxheW91dFs6bGVmdF9icmFja2V0XSArIGxheW91dFtyaWdodF9icmFja2V0ICsg MTpdLCBcCisrICAgICAgICAgICAgICAgICAgICBsYXlvdXRbbGVmdF9icmFja2V0ICsgMTpyaWdo dF9icmFja2V0XSkKKysgICAgICAgIHJldHVybiAobGF5b3V0LCAiZGVmYXVsdCIpCisrCisrICAg IGRlZiBfX21lcmdlX21vZGVsc19hbmRfb3B0aW9ucyhzZWxmLCBjdXJfbGF5b3V0LCBlbmdpbmVf bGF5b3V0KToKKysgICAgICAgIG9yaWdfbGF5b3V0ID0gY3VyX2xheW91dAorKyAgICAgICAgZW5n aW5lX21vZGVsID0gImRlZmF1bHQiCisrICAgICAgICBlbmdpbmVfb3B0aW9uID0gImRlZmF1bHQi CisrICAgICAgICAoZW5naW5lX2xheW91dCwgZW5naW5lX21vZGVsKSA9IFwKKysgICAgICAgICAg ICBzZWxmLl9fZ2V0X21vZGVsX2Zyb21fbGF5b3V0KGVuZ2luZV9sYXlvdXQpCisrICAgICAgICAo ZW5naW5lX2xheW91dCwgZW5naW5lX29wdGlvbikgPSBcCisrICAgICAgICAgICAgc2VsZi5fX2dl dF9vcHRpb25fZnJvbV9sYXlvdXQoZW5naW5lX2xheW91dCkKKysgICAgICAgIGlmIChlbmdpbmVf bW9kZWwgPT0gTm9uZSBvciBlbmdpbmVfbW9kZWwgPT0gImRlZmF1bHQiKSBhbmQgXAorKyAgICAg ICAgICAgKGVuZ2luZV9vcHRpb24gPT0gTm9uZSBvciBlbmdpbmVfb3B0aW9uID09ICJkZWZhdWx0 Iik6CisrICAgICAgICAgICAgcmV0dXJuIGN1cl9sYXlvdXQKKysgICAgICAgIGN1cl9tb2RlbCA9 ICJkZWZhdWx0IgorKyAgICAgICAgY3VyX29wdGlvbiA9ICJkZWZhdWx0IgorKyAgICAgICAgKGN1 cl9sYXlvdXQsIGN1cl9tb2RlbCkgPSBcCisrICAgICAgICAgICAgc2VsZi5fX2dldF9tb2RlbF9m cm9tX2xheW91dChjdXJfbGF5b3V0KQorKyAgICAgICAgKGN1cl9sYXlvdXQsIGN1cl9vcHRpb24p ID0gXAorKyAgICAgICAgICAgIHNlbGYuX19nZXRfb3B0aW9uX2Zyb21fbGF5b3V0KGN1cl9sYXlv dXQpCisrICAgICAgICAjIEN1cnJlbnRseSBpbXBsZW1lbnRlZCBvcHRpb25zIG9ubHkuCisrICAg ICAgICAjIE1lcmdpbmcgbGF5b3V0cyBhbmQgbW9kZWxzIGFyZSBhIGxpdHRsZSBjb21wbGljYXRl ZC4KKysgICAgICAgICMgZS5nLiBqYSxydSArIGphKGthbmEpID09IGphLHJ1LGphKCwsa2FuYSkK KysgICAgICAgIGlmIGVuZ2luZV9vcHRpb24gIT0gTm9uZSBhbmQgZW5naW5lX29wdGlvbiAhPSAi ZGVmYXVsdCI6CisrICAgICAgICAgICAgaWYgY3VyX29wdGlvbiA9PSBOb25lIG9yIGN1cl9vcHRp b24gPT0gImRlZmF1bHQiOgorKyAgICAgICAgICAgICAgICBjdXJfb3B0aW9uID0gZW5naW5lX29w dGlvbgorKyAgICAgICAgICAgIGVsaWYgY3VyX29wdGlvbiAhPSBOb25lIGFuZCBjdXJfb3B0aW9u ICE9ICJkZWZhdWx0IjoKKysgICAgICAgICAgICAgICAgY3VyX29wdGlvbiA9ICIlcywlcyIgJSAo Y3VyX29wdGlvbiwgZW5naW5lX29wdGlvbikKKysgICAgICAgICAgICBpZiBjdXJfbW9kZWwgIT0g Tm9uZSBhbmQgY3VyX21vZGVsICE9ICJkZWZhdWx0IjoKKysgICAgICAgICAgICAgICAgY3VyX2xh eW91dCA9ICIlcyglcykiICUgKGN1cl9sYXlvdXQsIGN1cl9tb2RlbCkKKysgICAgICAgICAgICBp ZiBjdXJfb3B0aW9uICE9IE5vbmUgYW5kIGN1cl9vcHRpb24gIT0gImRlZmF1bHQiOgorKyAgICAg ICAgICAgICAgICBjdXJfbGF5b3V0ID0gIiVzWyVzXSIgJSAoY3VyX2xheW91dCwgY3VyX29wdGlv bikKKysgICAgICAgICAgICByZXR1cm4gY3VyX2xheW91dAorKyAgICAgICAgcmV0dXJuIG9yaWdf bGF5b3V0CisrCiArICAgIGRlZiBfX2VuZ2luZV9nZXRfbGF5b3V0X3dyYXBwZXIoc2VsZiwgZW5n aW5lLCBjaGFuZ2VkX3N0YXRlKToKICAgICAgICAgICMgVGhpcyBjb2RlIGlzIGZvciB0aGUgYmFj ayBjb21wYXRpYmlsaXR5LgogICAgICAgICAgIyBTaG91bGQgd2UgcmVtb3ZlIHRoZSBjb2RlcyBh ZnRlciBhbGwgSU0gZW5naW5lcyBhcmUgY2hhbmdlZAogICAgICAgICAgIyB0byAiZGVmYXVsdCIg bGF5b3V0PwogLSAgICAgICAgaWYgZW5naW5lLm5hbWUgIT0gTm9uZSBhbmQgZW5naW5lLm5hbWUu c3RhcnRzd2l0aCgieGtiOmxheW91dDoiKToKICsgICAgICAgIGlmIGVuZ2luZS5uYW1lICE9IE5v bmUgYW5kIGVuZ2luZS5uYW1lLnN0YXJ0c3dpdGgoInhrYjpsYXlvdXQ6IikgYW5kIFwKLSsgICAg ICAgICAgIG5vdCBpYnVzLnVzZV9icmlkZ2VfaG90a2V5KCk6CisrICAgICAgICAgICBub3Qgc2Vs Zi5fX3VzZV9icmlkZ2VfaG90a2V5KCk6CiArICAgICAgICAgICAgcmV0dXJuIGVuZ2luZS5sYXlv dXQKICsgICAgICAgIGVsaWYgZW5naW5lLm5hbWUgIT0gTm9uZSBhbmQgXAogKyAgICAgICAgICAg ICBlbmdpbmUubmFtZS5zdGFydHN3aXRoKCJ4a2I6bGF5b3V0OiIpIGFuZCBcCi0rICAgICAgICAg ICAgIGlidXMudXNlX2JyaWRnZV9ob3RrZXkoKSBhbmQgXAotKyAgICAgICAgICAgICBlbmdpbmUu bmFtZSAhPSBpYnVzLkRFRkFVTFRfQlJJREdFX0VOR0lORV9OQU1FOgorKyAgICAgICAgICAgICBz ZWxmLl9fdXNlX2JyaWRnZV9ob3RrZXkoKSBhbmQgXAorKyAgICAgICAgICAgICBub3QgZW5naW5l Lm5hbWUuc3RhcnRzd2l0aChpYnVzLkRFRkFVTFRfQlJJREdFX0VOR0lORV9OQU1FKToKICAgICAg ICAgICAgICByZXR1cm4gZW5naW5lLmxheW91dAotKyAgICAgICAgZWxpZiBpYnVzLnVzZV9icmlk Z2VfaG90a2V5KCkgYW5kIFwKKysgICAgICAgIGVsaWYgc2VsZi5fX3VzZV9icmlkZ2VfaG90a2V5 KCkgYW5kIFwKICsgICAgICAgICAgIHNlbGYuX19kaXNhYmxlZF9lbmdpbmVzX2lkID49IDAgYW5k IFwKICsgICAgICAgICAgIHNlbGYuX19kaXNhYmxlZF9lbmdpbmVzICE9IE5vbmUgYW5kIFwKICsg ICAgICAgICAgIHNlbGYuX19kaXNhYmxlZF9lbmdpbmVzX2lkIDwgbGVuKHNlbGYuX19kaXNhYmxl ZF9lbmdpbmVzKToKQEAgLTExODQsOSArMTY1MiwyMzQgQEAgaW5kZXggZGU2NDkyMC4uNTVhY2Q1 YSAxMDA2NDQKICsgICAgICAgICAgICAgICAgICAgIHNlbGYuX19kaXNhYmxlZF9lbmdpbmVzX2lk ID0geAogKyAgICAgICAgICAgICAgICAgICAgc2VsZi5fX2Rpc2FibGVkX2VuZ2luZXNfc3dhcHBl ZCA9IDEKICsgICAgICAgICAgICByZXR2YWwgPSBzZWxmLl9fZGlzYWJsZWRfZW5naW5lc1tzZWxm Ll9fZGlzYWJsZWRfZW5naW5lc19pZF0ubGF5b3V0CisrICAgICAgICAgICAgaWYgZW5naW5lLmxh eW91dCAhPSBOb25lIGFuZCBlbmdpbmUubGF5b3V0LnN0YXJ0c3dpdGgoImRlZmF1bHQiKToKKysg ICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuX19tZXJnZV9tb2RlbHNfYW5kX29wdGlvbnMocmV0 dmFsLCBlbmdpbmUubGF5b3V0KQogKyAgICAgICAgICAgIHJldHVybiByZXR2YWwKKyAgICAgICAg IGVsaWYgZW5naW5lLmxheW91dCAhPSBOb25lIGFuZCBlbmdpbmUubGF5b3V0LnN0YXJ0c3dpdGgo ImRlZmF1bHQiKToKKyAgICAgICAgICAgICByZXR1cm4gZW5naW5lLmxheW91dAogICAgICAgICAg ZWxzZToKLSAgICAgICAgICAgICByZXR1cm4gImRlZmF1bHQiCitkaWZmIC0tZ2l0IGEvdWkvZ3Rr L3hrYmVuZ2luZS5weSBiL3VpL2d0ay94a2JlbmdpbmUucHkKK25ldyBmaWxlIG1vZGUgMTAwNjQ0 CitpbmRleCAwMDAwMDAwLi4xMmMwN2NmCistLS0gL2Rldi9udWxsCisrKysgYi91aS9ndGsveGti ZW5naW5lLnB5CitAQCAtMCwwICsxLDkzIEBACisrIyB2aW06c2V0IGV0IHN0cz00IHN3PTQ6Cisr IworKyMgaWJ1cyAtIFRoZSBJbnB1dCBCdXMKKysjCisrIyBDb3B5cmlnaHQoYykgMjAxMSBQZW5n IEh1YW5nIDxzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbT4KKysjIENvcHlyaWdodChjKSAyMDExIFRh a2FvIEZ1aml3YXJhIDx0YWthby5mdWppd2FyYTFAZ21haWwuY29tPgorKyMgQ29weXJpZ2h0KGMp IDIwMTEgUmVkIEhhdCwgSW5jLgorKyMKKysjIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJl OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKysjIG1vZGlmeSBpdCB1bmRlciB0aGUg dGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKysjIExpY2Vuc2UgYXMgcHVi bGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorKyMgdmVyc2lv biAyIG9mIHRoZSBMaWNlbnNlLCBvcihhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u CisrIworKyMgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg d2lsbCBiZSB1c2VmdWwsCisrIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorKyMgR05VIExlc3NlciBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrIworKyMgWW91IHNob3VsZCBoYXZl IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworKyMgTGlj ZW5zZSBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUKKysjIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAs CisrIyBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKKysKKytpbXBvcnQgaWJ1cworKworK2Ns YXNzIEVuZ2luZShpYnVzLkVuZ2luZUJhc2UpOgorKyAgICBkZWYgX19pbml0X18oc2VsZiwgYnVz LCBvYmplY3RfcGF0aCk6CisrICAgICAgICBzdXBlcihFbmdpbmUsIHNlbGYpLl9faW5pdF9fKGJ1 cywgb2JqZWN0X3BhdGgpCisrCisrICAgIGRlZiB1cGRhdGVfYXV4X3N0cmluZyhzZWxmLCBzdHJp bmcsIGF0dHJzLCB2aXNpYmxlKToKKysgICAgICAgIHNlbGYudXBkYXRlX2F1eGlsaWFyeV90ZXh0 KGlidXMuVGV4dChzdHJpbmcsIGF0dHJzKSwgdmlzaWJsZSkKKysKKysgICAgZGVmIHBhZ2VfdXAo c2VsZik6CisrICAgICAgICByZXR1cm4gVHJ1ZQorKworKyAgICBkZWYgcGFnZV9kb3duKHNlbGYp OgorKyAgICAgICAgcmV0dXJuIFRydWUKKysKKysgICAgZGVmIGN1cnNvcl91cChzZWxmKToKKysg ICAgICAgIHJldHVybiBUcnVlCisrCisrICAgIGRlZiBjdXJzb3JfZG93bihzZWxmKToKKysgICAg ICAgIHJldHVybiBUcnVlCisrCisrICAgIGRlZiBjYW5kaWRhdGVfY2xpY2tlZChzZWxmLCBpbmRl eCwgYnV0dG9uLCBzdGF0ZSk6CisrICAgICAgICBwYXNzCisrCisrICAgIGlmIGlidXMuZ2V0X3Zl cnNpb24oKSA+PSAnMS4yLjAnOgorKyAgICAgICAgZGVmIHByb2Nlc3Nfa2V5X2V2ZW50KHNlbGYs IGtleXZhbCwga2V5Y29kZSwgc3RhdGUpOgorKyAgICAgICAgICAgIHRyeToKKysgICAgICAgICAg ICAgICAgcmV0dXJuIHNlbGYucHJvY2Vzc19rZXlfZXZlbnRfaW50ZXJuYWwyKGtleXZhbCwga2V5 Y29kZSwgc3RhdGUpCisrICAgICAgICAgICAgZXhjZXB0OgorKyAgICAgICAgICAgICAgICBpbXBv cnQgdHJhY2ViYWNrCisrICAgICAgICAgICAgICAgIHRyYWNlYmFjay5wcmludF9leGMoKQorKyAg ICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKKysgICAgZWxzZToKKysgICAgICAgIGRlZiBwcm9j ZXNzX2tleV9ldmVudChzZWxmLCBrZXl2YWwsIHN0YXRlKToKKysgICAgICAgICAgICB0cnk6Cisr ICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLnByb2Nlc3Nfa2V5X2V2ZW50X2ludGVybmFsMihr ZXl2YWwsIDAsIHN0YXRlKQorKyAgICAgICAgICAgIGV4Y2VwdDoKKysgICAgICAgICAgICAgICAg aW1wb3J0IHRyYWNlYmFjaworKyAgICAgICAgICAgICAgICB0cmFjZWJhY2sucHJpbnRfZXhjKCkK KysgICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisrCisrICAgIGRlZiBwcm9wZXJ0eV9hY3Rp dmF0ZShzZWxmLCBwcm9wX25hbWUsIHN0YXRlKToKKysgICAgICAgIHBhc3MKKysKKysgICAgZGVm IGZvY3VzX2luKHNlbGYpOgorKyAgICAgICAgcGFzcworKworKyAgICBkZWYgZm9jdXNfb3V0KHNl bGYpOgorKyAgICAgICAgcGFzcworKworKyAgICBkZWYgZGlzYWJsZShzZWxmKToKKysgICAgICAg IHBhc3MKKysKKysgICAgZGVmIHJlc2V0KHNlbGYpOgorKyAgICAgICAgcGFzcworKworKyAgICBk ZWYgZG9fZGVzdHJveShzZWxmKToKKysgICAgICAgIHN1cGVyKEVuZ2luZSxzZWxmKS5kb19kZXN0 cm95KCkKKysKKysjPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KKysgICAgQGNsYXNzbWV0aG9kCisrICAgIGRlZiBD T05GSUdfUkVMT0FERUQoY2xzLCBidXMpOgorKyAgICAgICAgcHJpbnQgJ1JFTE9BREVEJworKwor KyAgICBAY2xhc3NtZXRob2QKKysgICAgZGVmIENPTkZJR19WQUxVRV9DSEFOR0VEKGNscywgYnVz LCBzZWN0aW9uLCBuYW1lLCB2YWx1ZSk6CisrICAgICAgICBwcmludCAnVkFMVUVfQ0hBTUdFRCA9 Jywgc2VjdGlvbiwgbmFtZSwgdmFsdWUKKysKKysgICAgZGVmIHByb2Nlc3Nfa2V5X2V2ZW50X2lu dGVybmFsMihzZWxmLCBrZXl2YWwsIGtleWNvZGUsIHN0YXRlKToKKysgICAgICAgIHJldHVybiBG YWxzZQorZGlmZiAtLWdpdCBhL3VpL2d0ay94a2JmYWN0b3J5LnB5IGIvdWkvZ3RrL3hrYmZhY3Rv cnkucHkKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi4wMTRlMjBiCistLS0g L2Rldi9udWxsCisrKysgYi91aS9ndGsveGtiZmFjdG9yeS5weQorQEAgLTAsMCArMSwxMTcgQEAK KysjIHZpbTpzZXQgZXQgc3RzPTQgc3c9NDoKKysjCisrIyBpYnVzIC0gVGhlIElucHV0IEJ1cwor KyMKKysjIENvcHlyaWdodChjKSAyMDExIFBlbmcgSHVhbmcgPHNoYXduLnAuaHVhbmdAZ21haWwu Y29tPgorKyMgQ29weXJpZ2h0KGMpIDIwMTEgVGFrYW8gRnVqaXdhcmEgPHRha2FvLmZ1aml3YXJh MUBnbWFpbC5jb20+CisrIyBDb3B5cmlnaHQoYykgMjAxMSBSZWQgSGF0LCBJbmMuCisrIworKyMg VGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu ZC9vcgorKyMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5l cmFsIFB1YmxpYworKyMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbjsgZWl0aGVyCisrIyB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yKGF0IHlv dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKysjCisrIyBUaGlzIGxpYnJhcnkgaXMgZGlz dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysjIGJ1dCBXSVRI T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisr IyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT ZWUgdGhlCisrIyBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0 YWlscy4KKysjCisrIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg TGVzc2VyIEdlbmVyYWwgUHVibGljCisrIyBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBwcm9ncmFt OyBpZiBub3QsIHdyaXRlIHRvIHRoZQorKyMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu LCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwKKysjIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcg IFVTQQorKworK2ltcG9ydCBpYnVzCisraW1wb3J0IHhrYmVuZ2luZQorKworK2Zyb20gZ2V0dGV4 dCBpbXBvcnQgZGdldHRleHQKKytfICA9IGxhbWJkYSBhIDogZGdldHRleHQoImlidXMiLCBhKQor K05fID0gbGFtYmRhIGEgOiBhCisrCisrCisrY2xhc3MgRW5naW5lRmFjdG9yeShpYnVzLkVuZ2lu ZUZhY3RvcnlCYXNlKToKKysgICAgRkFDVE9SWV9QQVRIID0gIi9jb20vcmVkaGF0L0lCdXMvZW5n aW5lcy9YS0IvRmFjdG9yeSIKKysgICAgRU5HSU5FX1BBVEggPSAiL2NvbS9yZWRoYXQvSUJ1cy9l bmdpbmVzL1hLQi9FbmdpbmUiCisrICAgIE5BTUUgPSAiWEtCRmFjdG9yeSIKKysgICAgTEFORyA9 ICJlbiIKKysgICAgSUNPTiA9ICJpYnVzLWVuZ2luZSIKKysgICAgQVVUSE9SUyA9ICJUYWthbyBG dWppd2FyYSA8dGFrYW8uZnVqaXdhcmExQGdtYWlsLmNvbT4iCisrICAgIENSRURJVFMgPSAiR1BM djIiCisrCisrICAgIGRlZiBfX2luaXRfXyhzZWxmLCBidXMpOgorKyAgICAgICAgc2VsZi5fX2J1 cyA9IGJ1cworKyAgICAgICAgc3VwZXIoRW5naW5lRmFjdG9yeSwgc2VsZikuX19pbml0X18oYnVz KQorKworKyAgICAgICAgc2VsZi5fX2lkID0gMAorKworKyAgICBkZWYgY3JlYXRlX2VuZ2luZShz ZWxmLCBlbmdpbmVfbmFtZSk6CisrICAgICAgICBpZiBlbmdpbmVfbmFtZSBhbmQgXAorKyAgICAg ICAgICAgZW5naW5lX25hbWUuc3RhcnRzd2l0aChpYnVzLkRFRkFVTFRfQlJJREdFX0VOR0lORV9O QU1FKToKKysKKysgICAgICAgICAgICBzZWxmLl9faWQgKz0gMQorKyAgICAgICAgICAgIHJldHVy biB4a2JlbmdpbmUuRW5naW5lKHNlbGYuX19idXMsICIlcy8lZCIgJSAoc2VsZi5FTkdJTkVfUEFU SCwgc2VsZi5fX2lkKSkKKysgICAgICAgIHJldHVybiBzdXBlcihFbmdpbmVGYWN0b3J5LCBzZWxm KS5jcmVhdGVfZW5naW5lKGVuZ2luZV9uYW1lKQorKworKworK2RlZiB0ZXN0KCk6CisrICAgIGlt cG9ydCBndGsKKysgICAgY29tcG9uZW50ID0gaWJ1cy5Db21wb25lbnQoIm9yZy5mcmVlZGVza3Rv cC5JQnVzLlhLQiIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF8oIlhLQiBDb21w b25lbnQiKSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjEuMCIsCisrICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICJHUEwiLAorKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAiVGFrYW8gRnVqaXdhcmEiLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAiaHR0cHM6Ly9naXRodWIuY29tL2Z1aml3YXJhIikKKysgICAgZW5naW5lcyA9IFtdCisrICAg IGVuZ2luZSA9IGlidXMuRW5naW5lRGVzYygieGtiOmxheW91dDpkZWZhdWx0OmpwLHVzIiwKKysg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJEZWZhdWx0IExheW91dCIsCisrICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAiWEtCIGpwLHVzIGtleWJvYXJkIGxheW91dCIsCisrICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAianBuIiwKKysgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICJMR1BMMi4xIiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmdWppd2FyYSIs CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWJ1cy1lbmdpbmUiLAorKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgImpwLHVzIikKKysgICAgZW5naW5lcy5hcHBlbmQoZW5naW5l KQorKyAgICBlbmdpbmUgPSBpYnVzLkVuZ2luZURlc2MoInhrYjpsYXlvdXQ6ZGVmYXVsdDp1cyIs CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRGVmYXVsdCBMYXlvdXQiLAorKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIlhLQiB1cyBrZXlib2FyZCBsYXlvdXQiLAorKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgImVuZyIsCisrICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAiTEdQTDIuMSIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZnVqaXdhcmEi LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImlidXMtZW5naW5lIiwKKysgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICJ1cyIpCisrICAgIGVuZ2luZXMuYXBwZW5kKGVuZ2luZSkK KysgICAgZm9yIGVuZ2luZSBpbiBlbmdpbmVzOgorKyAgICAgICAgY29tcG9uZW50LmFkZF9lbmdp bmUoZW5naW5lLm5hbWUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmdpbmUubG9u Z25hbWUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmdpbmUuZGVzY3JpcHRpb24s CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmdpbmUubGFuZ3VhZ2UsCisrICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBlbmdpbmUubGljZW5zZSwKKysgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGVuZ2luZS5hdXRob3IsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBlbmdpbmUuaWNvbiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZ2luZS5sYXlv dXQsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmdpbmUuaG90a2V5cykKKysKKysg ICAgY2xhc3MgVGVzdFdpbmRvdyhndGsuV2luZG93KToKKysgICAgICAgIGRlZiBfX2luaXRfXyhz ZWxmKToKKysgICAgICAgICAgICBzdXBlcihUZXN0V2luZG93LCBzZWxmKS5fX2luaXRfXygpCisr ICAgICAgICAgICAgc2VsZi5fX2J1cyA9IGlidXMuQnVzKCkKKysgICAgICAgICAgICBzZWxmLl9f YnVzLmNvbm5lY3QoImRpc2Nvbm5lY3RlZCIsIGd0ay5tYWluX3F1aXQpCisrICAgICAgICAgICAg cGF0aCA9IHNlbGYuX19idXMuY3JlYXRlX2lucHV0X2NvbnRleHQoIlRlc3QiKQorKyAgICAgICAg ICAgIHNlbGYuX19pYyA9IGlidXMuSW5wdXRDb250ZXh0KHNlbGYuX19idXMsIHBhdGgpCisrICAg ICAgICAgICAgc2VsZi5fX2ljLnNldF9jYXBhYmlsaXRpZXMoOSkKKysgICAgICAgICAgICBmYWN0 b3J5ID0gRW5naW5lRmFjdG9yeShzZWxmLl9fYnVzKQorKyAgICAgICAgICAgIHNlbGYuX19idXMu cmVnaXN0ZXJfY29tcG9uZW50KGNvbXBvbmVudCkKKysgICAgICAgICAgICAjc2VsZi5fX2J1cy5y ZXF1ZXN0X25hbWUoIm9yZy5mcmVlZGVza3RvcC5JQnVzLlhLQiIsIDApCisrICAgICAgICAgICAg c2VsZi5jb25uZWN0KCJmb2N1cy1pbi1ldmVudCIsIHNlbGYuX19mb2N1c19pbikKKysKKysgICAg ICAgIGRlZiBfX2ZvY3VzX2luKHNlbGYsIHdpZGdldCwgZXZlbnQpOgorKyAgICAgICAgICAgIHBy aW50ICJmb2N1c2VkIGluIgorKyAgICAgICAgICAgIHNlbGYuX19pYy5mb2N1c19pbigpCisrICAg ICAgICAgICAgc2VsZi5fX2ljLnNldF9lbmdpbmUoZW5naW5lc1swXSkKKysKKysgICAgd2luZG93 ID0gVGVzdFdpbmRvdygpCisrICAgIHdpbmRvdy5zaG93X2FsbCgpCisrICAgIGd0ay5tYWluKCkK KysKKytpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgorKyAgICB0ZXN0KCkKIGRpZmYgLS1naXQg YS94a2IvTWFrZWZpbGUuYW0gYi94a2IvTWFrZWZpbGUuYW0KIGluZGV4IGFkOWNkZDkuLmM0ZDVh ZmIgMTAwNjQ0CiAtLS0gYS94a2IvTWFrZWZpbGUuYW0KQEAgLTEyMDAsMzAgKzE4OTMsMTkgQEAg aW5kZXggYWQ5Y2RkOS4uYzRkNWFmYiAxMDA2NDQKICAgICAgICAgICQoTlVMTCkKICAKICBub2lu c3RfUFJPR1JBTVMgPSAkKFRFU1RTKQotZGlmZiAtLWdpdCBhL3hrYi9pYnVzLWVuZ2luZS14a2It bWFpbi5jIGIveGtiL2lidXMtZW5naW5lLXhrYi1tYWluLmMKLWluZGV4IDVkNzQ4Y2MuLmE4MGYz NDkgMTAwNjQ0Ci0tLS0gYS94a2IvaWJ1cy1lbmdpbmUteGtiLW1haW4uYwotKysrIGIveGtiL2li dXMtZW5naW5lLXhrYi1tYWluLmMKLUBAIC0yODgsNiArMjg4LDE0IEBAIHByaW50X2NvbXBvbmVu dCAoKQotICAgICBsYXlvdXRfZGVzYyA9IChHSGFzaFRhYmxlICopIGlidXNfeGtiX2NvbmZpZ19y ZWdpc3RyeV9nZXRfbGF5b3V0X2Rlc2MgKGNvbmZpZ19yZWdpc3RyeSk7Ci0gICAgIHZhcmlhbnRf ZGVzYyA9IChHSGFzaFRhYmxlICopIGlidXNfeGtiX2NvbmZpZ19yZWdpc3RyeV9nZXRfdmFyaWFu dF9kZXNjIChjb25maWdfcmVnaXN0cnkpOwotICAgICBjb21wb25lbnQgPSBpYnVzX3hrYl9jb21w b25lbnRfbmV3ICgpOwotKyNpZiBVU0VfQlJJREdFX0hPVEtFWQotKyAgICBlbmdpbmUgPSBpYnVz X3hrYl9lbmdpbmVfZGVzY19uZXcgKCJlbiIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgImRlZmF1bHQiLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICJEZWZhdWx0IExheW91dCIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgTlVMTCwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBO VUxMKTsKLSsgICAgaWJ1c19jb21wb25lbnRfYWRkX2VuZ2luZSAoY29tcG9uZW50LCBlbmdpbmUp OwotKyNlbmRpZgotICAgICBmb3IgKGtleXMgPSBnX2hhc2hfdGFibGVfZ2V0X2tleXMgKGxheW91 dF9saXN0KTsga2V5czsga2V5cyA9IGtleXMtPm5leHQpIHsKLSAgICAgICAgIGlmIChrZXlzLT5k YXRhID09IE5VTEwpIHsKLSAgICAgICAgICAgICBjb250aW51ZTsKIGRpZmYgLS1naXQgYS94a2Iv eGtieG1sLmMgYi94a2IveGtieG1sLmMKLWluZGV4IDJjZTdiY2YuLmRlNjY0OGYgMTAwNjQ0Citp bmRleCBhZDEwYzI4Li45NjhmYjg2IDEwMDY0NAogLS0tIGEveGtiL3hrYnhtbC5jCiArKysgYi94 a2IveGtieG1sLmMKLUBAIC0yNzMsNiArMjczLDcgQEAgaWJ1c194a2JfZW5naW5lX2Rlc2NfbmV3 IChjb25zdCBnY2hhciAqbGFuZywKK0BAIC0yNSw2ICsyNSw3IEBACisgI2VuZGlmCisgCisgI2lu Y2x1ZGUgPGdsaWIuaD4KKysjaW5jbHVkZSA8c3RyaW5nLmg+CisgCisgI2luY2x1ZGUgInhrYnht bC5oIgorICNpbmNsdWRlICJpYnVzLmgiCitAQCAtMjc0LDYgKzI3NSw3IEBAIGlidXNfeGtiX2Vu Z2luZV9kZXNjX25ldyAoY29uc3QgZ2NoYXIgKmxhbmcsCiAgICAgIGdjaGFyICpsb25nbmFtZSA9 IE5VTEw7CiAgICAgIGdjaGFyICpkZXNjID0gTlVMTDsKICAgICAgZ2NoYXIgKmVuZ2luZV9sYXlv dXQgPSBOVUxMOwpAQCAtMTIzMSwxOSArMTkxMywyMCBAQCBpbmRleCAyY2U3YmNmLi5kZTY2NDhm IDEwMDY0NAogIAogICAgICBnX3JldHVybl92YWxfaWZfZmFpbCAobGFuZyAhPSBOVUxMICYmIGxh eW91dCAhPSBOVUxMLCBOVUxMKTsKICAKLUBAIC0yOTQsNiArMjk1LDExIEBAIGlidXNfeGtiX2Vu Z2luZV9kZXNjX25ldyAoY29uc3QgZ2NoYXIgKmxhbmcsCitAQCAtMjk4LDYgKzMwMCwxMiBAQCBp YnVzX3hrYl9lbmdpbmVfZGVzY19uZXcgKGNvbnN0IGdjaGFyICpsYW5nLAogICAgICAgICAgZGVz YyA9IGdfc3RyZHVwX3ByaW50ZiAoIlhLQiAlcyBrZXlib2FyZCBsYXlvdXQiLCBsYXlvdXQpOwog ICAgICAgICAgZW5naW5lX2xheW91dCA9IGdfc3RyZHVwIChsYXlvdXQpOwogICAgICB9CiArI2lm IFVTRV9CUklER0VfSE9US0VZCi0rICAgIGlmIChnX3N0cmNtcDAgKG5hbWUsIERFRkFVTFRfQlJJ REdFX0VOR0lORV9OQU1FKSA9PSAwKSB7CisrICAgIGlmIChnX2FzY2lpX3N0cm5jYXNlY21wIChu YW1lLCBERUZBVUxUX0JSSURHRV9FTkdJTkVfTkFNRSwKKysgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHN0cmxlbiAoREVGQVVMVF9CUklER0VfRU5HSU5FX05BTUUpKSA9PSAwKSB7CiArICAg ICAgICBpY29uID0gImlucHV0LWtleWJvYXJkLXN5bWJvbGljIjsKICsgICAgfQogKyNlbmRpZgog IAogICAgICBlbmdpbmUgPSBpYnVzX2VuZ2luZV9kZXNjX25ldyAobmFtZSwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGxvbmduYW1lLAotQEAgLTMwMSw3ICszMDcsNyBAQCBp YnVzX3hrYl9lbmdpbmVfZGVzY19uZXcgKGNvbnN0IGdjaGFyICpsYW5nLAorQEAgLTMwNSw3ICsz MTMsNyBAQCBpYnVzX3hrYl9lbmdpbmVfZGVzY19uZXcgKGNvbnN0IGdjaGFyICpsYW5nLAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFuZywKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICJMR1BMMi4xIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICJUYWthbyBGdWppd2FyYSA8dGFrYW8uZnVqaXdhcmExQGdtYWlsLmNvbT4iLAoK ZGlmZiAtLWdpdCBhL2lidXMteHgtZmFjdG9yeS1zaWduYWwucGF0Y2ggYi9pYnVzLXh4LWZhY3Rv cnktc2lnbmFsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA0NDky YjYKLS0tIC9kZXYvbnVsbAorKysgYi9pYnVzLXh4LWZhY3Rvcnktc2lnbmFsLnBhdGNoCkBAIC0w LDAgKzEsMjE0IEBACitGcm9tIGZmNWRiMzlhNDY1MWY0ZWNkM2MyYmExOWRkMzE1ZWQ3YjgzNjYy ZjQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBmdWppd2FyYXQgPHRha2FvLmZ1aml3 YXJhMUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDUgQXVnIDIwMTEgMjA6MjE6MTQgKzA5MDAKK1N1 YmplY3Q6IFtQQVRDSF0gQWRkIGNyZWF0ZS1lbmdpbmUgc2lnbmFsIGluIElCdXNGYWN0b3J5IGZv ciBub24tQworIGFwcGxpY2F0aW9ucy4KKworLS0tCisgYnVzL2lidXNpbXBsLmMgICAgICAgICAg fCAgICA2ICsrKy0KKyBidXMvaW5wdXRjb250ZXh0LmMgICAgICB8ICAgIDUgKysrKworIHNyYy9p YnVzZmFjdG9yeS5jICAgICAgIHwgICA1NCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrLS0tLS0tLQorIHNyYy9pYnVzZmFjdG9yeS5oICAgICAgIHwgICAgNyArKysrKy0K KyBzcmMvaWJ1c21hcnNoYWxlcnMubGlzdCB8ICAgIDEgKworIHNyYy9pYnVzc2VydmljZS5oICAg ICAgIHwgICAgNSArLS0KKyA2IGZpbGVzIGNoYW5nZWQsIDY0IGluc2VydGlvbnMoKyksIDE0IGRl bGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYnVzL2lidXNpbXBsLmMgYi9idXMvaWJ1c2ltcGwu YworaW5kZXggODUzNDY1Yy4uZjEzZDhlMCAxMDA2NDQKKy0tLSBhL2J1cy9pYnVzaW1wbC5jCisr KysgYi9idXMvaWJ1c2ltcGwuYworQEAgLTE2MDQsOCArMTYwNCwxMCBAQCBfaWJ1c19yZWdpc3Rl cl9jb21wb25lbnQgKEJ1c0lCdXNJbXBsICAgICAgICAgICAqaWJ1cywKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnX29iamVjdF9yZWZfc2luayAoYnVz Y29tcCkpOworICAgICBHTGlzdCAqZW5naW5lcyA9IGJ1c19jb21wb25lbnRfZ2V0X2VuZ2luZXMg KGJ1c2NvbXApOworICAgICBnX2xpc3RfZm9yZWFjaCAoZW5naW5lcywgKEdGdW5jKSBnX29iamVj dF9yZWYsIE5VTEwpOworLSAgICBpYnVzLT5yZWdpc3Rlcl9lbmdpbmVfbGlzdCA9IGdfbGlzdF9j b25jYXQgKGlidXMtPnJlZ2lzdGVyX2VuZ2luZV9saXN0LAorLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5naW5lcyk7CisrICAgIC8qIFdlIGFsd2F5cyBv dmVycmlkZSB0aGUgcmVnaXN0ZXJfZW5naW5lX2xpc3Qgb3IgbmVlZCB0byBwcmVwYXJlCisrICAg ICAqIHVucmVnaXN0ZXJfY29tcG9uZW50KCkgbWV0aG9kIHNvIHRoYXQgYm90aCBpYnVzIGd0ayBh bmQgZ25vbWUtc2hlbGwKKysgICAgICogY2FuIGNhbGwgcmVnaXN0ZXJfY29tcG9uZW50LiAqLwor KyAgICBpYnVzLT5yZWdpc3Rlcl9lbmdpbmVfbGlzdCA9IGVuZ2luZXM7CisgCisgICAgIGdfc2ln bmFsX2Nvbm5lY3QgKGJ1c2NvbXAsICJkZXN0cm95IiwgR19DQUxMQkFDSyAoX2NvbXBvbmVudF9k ZXN0cm95X2NiKSwgaWJ1cyk7CisgCitkaWZmIC0tZ2l0IGEvYnVzL2lucHV0Y29udGV4dC5jIGIv YnVzL2lucHV0Y29udGV4dC5jCitpbmRleCA0N2FjOWQ1Li40ZThjZGM1IDEwMDY0NAorLS0tIGEv YnVzL2lucHV0Y29udGV4dC5jCisrKysgYi9idXMvaW5wdXRjb250ZXh0LmMKK0BAIC0yMjg1LDYg KzIyODUsMTEgQEAgbmV3X2VuZ2luZV9jYiAoR09iamVjdCAgICAgICAgICAgICAqb2JqLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJPcGVydGF0aW9uIHdh cyBjYW5jZWxsZWQiKTsKKyAgICAgICAgIH0KKyAgICAgICAgIGVsc2UgeworKyAgICAgICAgICAg IGlmIChkYXRhLT5jb250ZXh0LT5lbmdpbmUgIT0gTlVMTCkgeworKyAgICAgICAgICAgICAgICAv KiBTZW5kIGEgRGlzYWJsZWQgc2lnbmFsLiAqLworKyAgICAgICAgICAgICAgICBidXNfaW5wdXRf Y29udGV4dF91bnNldF9lbmdpbmUgKGRhdGEtPmNvbnRleHQpOworKyAgICAgICAgICAgICAgICBi dXNfaW5wdXRfY29udGV4dF9kaXNhYmxlIChkYXRhLT5jb250ZXh0KTsKKysgICAgICAgICAgICB9 CisgICAgICAgICAgICAgYnVzX2lucHV0X2NvbnRleHRfc2V0X2VuZ2luZSAoZGF0YS0+Y29udGV4 dCwgZW5naW5lKTsKKyAgICAgICAgICAgICBnX29iamVjdF91bnJlZiAoZW5naW5lKTsKKyAgICAg ICAgICAgICBidXNfaW5wdXRfY29udGV4dF9lbmFibGUgKGRhdGEtPmNvbnRleHQpOworZGlmZiAt LWdpdCBhL3NyYy9pYnVzZmFjdG9yeS5jIGIvc3JjL2lidXNmYWN0b3J5LmMKK2luZGV4IDExZDlh NmQuLmY3MmY1MWUgMTAwNjQ0CistLS0gYS9zcmMvaWJ1c2ZhY3RvcnkuYworKysrIGIvc3JjL2li dXNmYWN0b3J5LmMKK0BAIC0yMSw2ICsyMSw3IEBACisgICovCisgI2luY2x1ZGUgImlidXNmYWN0 b3J5LmgiCisgI2luY2x1ZGUgImlidXNlbmdpbmUuaCIKKysjaW5jbHVkZSAiaWJ1c21hcnNoYWxl cnMuaCIKKyAjaW5jbHVkZSAiaWJ1c3NoYXJlLmgiCisgI2luY2x1ZGUgImlidXNpbnRlcm5hbC5o IgorIAorQEAgLTI4LDYgKzI5LDcgQEAKKyAgICAoR19UWVBFX0lOU1RBTkNFX0dFVF9QUklWQVRF ICgobyksIElCVVNfVFlQRV9GQUNUT1JZLCBJQnVzRmFjdG9yeVByaXZhdGUpKQorIAorIGVudW0g eworKyAgICBDUkVBVEVfRU5HSU5FLAorICAgICBMQVNUX1NJR05BTCwKKyB9OworIAorQEAgLTQy LDYgKzQ0LDggQEAgc3RydWN0IF9JQnVzRmFjdG9yeVByaXZhdGUgeworICAgICBHSGFzaFRhYmxl ICAgICAqZW5naW5lX3RhYmxlOworIH07CisgCisrc3RhdGljIGd1aW50ICAgICAgICAgICAgZmFj dG9yeV9zaWduYWxzW0xBU1RfU0lHTkFMXSA9IHsgMCB9OworKworIC8qIGZ1bmN0aW9ucyBwcm90 b3R5cGUgKi8KKyBzdGF0aWMgdm9pZCAgICAgIGlidXNfZmFjdG9yeV9kZXN0cm95ICAgICAgICAo SUJ1c0ZhY3RvcnkgICAgICAgICpmYWN0b3J5KTsKKyBzdGF0aWMgdm9pZCAgICAgIGlidXNfZmFj dG9yeV9zZXRfcHJvcGVydHkgICAoSUJ1c0ZhY3RvcnkgICAgICAgICplbmdpbmUsCitAQCAtMTEz LDYgKzExNywxNyBAQCBpYnVzX2ZhY3RvcnlfY2xhc3NfaW5pdCAoSUJ1c0ZhY3RvcnlDbGFzcyAq Y2xhc3MpCisgICAgIGlidXNfc2VydmljZV9jbGFzc19hZGRfaW50ZXJmYWNlcyAoSUJVU19TRVJW SUNFX0NMQVNTIChjbGFzcyksIGludHJvc3BlY3Rpb25feG1sKTsKKyAKKyAgICAgZ190eXBlX2Ns YXNzX2FkZF9wcml2YXRlIChjbGFzcywgc2l6ZW9mIChJQnVzRmFjdG9yeVByaXZhdGUpKTsKKysK KysgICAgZmFjdG9yeV9zaWduYWxzW0NSRUFURV9FTkdJTkVdID0KKysgICAgICAgIGdfc2lnbmFs X25ldyAoSV8oImNyZWF0ZS1lbmdpbmUiKSwKKysgICAgICAgICAgICBHX1RZUEVfRlJPTV9DTEFT UyAoZ29iamVjdF9jbGFzcyksCisrICAgICAgICAgICAgR19TSUdOQUxfUlVOX0xBU1QsCisrICAg ICAgICAgICAgR19TVFJVQ1RfT0ZGU0VUIChJQnVzRmFjdG9yeUNsYXNzLCBjcmVhdGVfZW5naW5l KSwKKysgICAgICAgICAgICBOVUxMLCBOVUxMLAorKyAgICAgICAgICAgIF9pYnVzX21hcnNoYWxf T0JKRUNUX19TVFJJTkcsCisrICAgICAgICAgICAgSUJVU19UWVBFX0VOR0lORSwKKysgICAgICAg ICAgICAxLAorKyAgICAgICAgICAgIEdfVFlQRV9TVFJJTkcpOworIH0KKyAKKyBzdGF0aWMgdm9p ZAorQEAgLTE5MCw4ICsyMDUsMjAgQEAgaWJ1c19mYWN0b3J5X3NlcnZpY2VfbWV0aG9kX2NhbGwg KElCdXNTZXJ2aWNlICAgICAgICAgICAqc2VydmljZSwKKyAKKyAgICAgaWYgKGdfc3RyY21wMCAo bWV0aG9kX25hbWUsICJDcmVhdGVFbmdpbmUiKSA9PSAwKSB7CisgICAgICAgICBnY2hhciAqZW5n aW5lX25hbWUgPSBOVUxMOworKyAgICAgICAgR1R5cGUgZW5naW5lX3R5cGU7CisrICAgICAgICBJ QnVzRW5naW5lICplbmdpbmUgPSBOVUxMOworKworICAgICAgICAgZ192YXJpYW50X2dldCAocGFy YW1ldGVycywgIigmcykiLCAmZW5naW5lX25hbWUpOworLSAgICAgICAgR1R5cGUgZW5naW5lX3R5 cGUgPSAoR1R5cGUgKWdfaGFzaF90YWJsZV9sb29rdXAgKGZhY3RvcnktPnByaXYtPmVuZ2luZV90 YWJsZSwgZW5naW5lX25hbWUpOworKyAgICAgICAgZW5naW5lX3R5cGUgPSAoR1R5cGUpIGdfaGFz aF90YWJsZV9sb29rdXAgKGZhY3RvcnktPnByaXYtPmVuZ2luZV90YWJsZSwgZW5naW5lX25hbWUp OworKworKyAgICAgICAgaWYgKGVuZ2luZV90eXBlID09IEdfVFlQRV9JTlZBTElEKSB7CisrICAg ICAgICAgICAgZ19zaWduYWxfZW1pdCAoZmFjdG9yeSwgZmFjdG9yeV9zaWduYWxzW0NSRUFURV9F TkdJTkVdLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsIGVuZ2luZV9uYW1lLCAmZW5n aW5lKTsKKysKKysgICAgICAgICAgICBpZiAoZW5naW5lICE9IE5VTEwgJiYgSUJVU19JU19FTkdJ TkUgKGVuZ2luZSkpIHsKKysgICAgICAgICAgICAgICAgZW5naW5lX3R5cGUgPSBHX09CSkVDVF9U WVBFIChlbmdpbmUpOworKyAgICAgICAgICAgIH0KKysgICAgICAgIH0KKyAKKyAgICAgICAgIGlm IChlbmdpbmVfdHlwZSA9PSBHX1RZUEVfSU5WQUxJRCkgeworICAgICAgICAgICAgIGdjaGFyICpl cnJvcl9tZXNzYWdlID0gZ19zdHJkdXBfcHJpbnRmICgiQ2FuIG5vdCBmb25kIGVuZ2luZSAlcyIs IGVuZ2luZV9uYW1lKTsKK0BAIC0yMDEsMTQgKzIyOCwyNSBAQCBpYnVzX2ZhY3Rvcnlfc2Vydmlj ZV9tZXRob2RfY2FsbCAoSUJ1c1NlcnZpY2UgICAgICAgICAgICpzZXJ2aWNlLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yX21lc3NhZ2Up OworICAgICAgICAgICAgIGdfZnJlZSAoZXJyb3JfbWVzc2FnZSk7CisgICAgICAgICB9CistICAg ICAgICBlbHNlIHsKKy0gICAgICAgICAgICBnY2hhciAqb2JqZWN0X3BhdGggPSBnX3N0cmR1cF9w cmludGYgKCIvb3JnL2ZyZWVkZXNrdG9wL0lCdXMvRW5naW5lLyVkIiwKKy0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsrZmFjdG9yeS0+cHJpdi0+aWQpOworLSAg ICAgICAgICAgIElCdXNFbmdpbmUgKmVuZ2luZSA9IGlidXNfZW5naW5lX25ld190eXBlIChlbmdp bmVfdHlwZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZW5naW5lX25hbWUsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIG9iamVjdF9wYXRoLAorLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpYnVzX3NlcnZpY2VfZ2V0X2Nvbm5l Y3Rpb24gKChJQnVzU2VydmljZSAqKWZhY3RvcnkpKTsKKysgICAgICAgIGVsc2UgIHsKKysgICAg ICAgICAgICBnY2hhciAqb2JqZWN0X3BhdGggPSBOVUxMOworKyAgICAgICAgICAgIGlmIChlbmdp bmUgPT0gTlVMTCkgeworKyAgICAgICAgICAgICAgICBvYmplY3RfcGF0aCA9IGdfc3RyZHVwX3By aW50ZiAoIi9vcmcvZnJlZWRlc2t0b3AvSUJ1cy9FbmdpbmUvJWQiLAorKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKytmYWN0b3J5LT5wcml2LT5pZCk7Cisr ICAgICAgICAgICAgICAgIGVuZ2luZSA9IGlidXNfZW5naW5lX25ld190eXBlIChlbmdpbmVfdHlw ZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZ2lu ZV9uYW1lLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg b2JqZWN0X3BhdGgsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBpYnVzX3NlcnZpY2VfZ2V0X2Nvbm5lY3Rpb24gKChJQnVzU2VydmljZSAqKWZhY3Rvcnkp KTsKKysgICAgICAgICAgICB9IGVsc2UgeworKyAgICAgICAgICAgICAgICBHVmFsdWUgdmFsdWUg PSB7IDAsIH07CisrICAgICAgICAgICAgICAgIGdfdmFsdWVfaW5pdCAoJnZhbHVlLCBHX1RZUEVf U1RSSU5HKTsKKysgICAgICAgICAgICAgICAgZ19vYmplY3RfZ2V0X3Byb3BlcnR5IChHX09CSkVD VCAoZW5naW5lKSwgIm9iamVjdC1wYXRoIiwgJnZhbHVlKTsKKysgICAgICAgICAgICAgICAgb2Jq ZWN0X3BhdGggPSBnX3ZhbHVlX2R1cF9zdHJpbmcgKCZ2YWx1ZSk7CisrICAgICAgICAgICAgICAg IGdfdmFsdWVfdW5zZXQgKCZ2YWx1ZSk7CisrICAgICAgICAgICAgfQorKworICAgICAgICAgICAg IGdfYXNzZXJ0IChlbmdpbmUgIT0gTlVMTCk7CisrICAgICAgICAgICAgZ19hc3NlcnQgKG9iamVj dF9wYXRoICE9IE5VTEwpOworICAgICAgICAgICAgIGdfb2JqZWN0X3JlZl9zaW5rIChlbmdpbmUp OworICAgICAgICAgICAgIGZhY3RvcnktPnByaXYtPmVuZ2luZV9saXN0ID0gZ19saXN0X2FwcGVu ZCAoZmFjdG9yeS0+cHJpdi0+ZW5naW5lX2xpc3QsIGVuZ2luZSk7CisgICAgICAgICAgICAgZ19z aWduYWxfY29ubmVjdCAoZW5naW5lLAorZGlmZiAtLWdpdCBhL3NyYy9pYnVzZmFjdG9yeS5oIGIv c3JjL2lidXNmYWN0b3J5LmgKK2luZGV4IDQ3YzA2ZTAuLjAzZDFkZWEgMTAwNjQ0CistLS0gYS9z cmMvaWJ1c2ZhY3RvcnkuaAorKysrIGIvc3JjL2lidXNmYWN0b3J5LmgKK0BAIC00Miw2ICs0Miw3 IEBACisgCisgI2luY2x1ZGUgImlidXNzZXJ2aWNlLmgiCisgI2luY2x1ZGUgImlidXNzZXJpYWxp emFibGUuaCIKKysjaW5jbHVkZSAiaWJ1c2VuZ2luZS5oIgorIAorIEdfQkVHSU5fREVDTFMKKyAK K0BAIC0xMjcsMTAgKzEyOCwxNCBAQCBzdHJ1Y3QgX0lCdXNGYWN0b3J5Q2xhc3MgeworICAgICBJ QnVzU2VydmljZUNsYXNzIHBhcmVudDsKKyAKKyAgICAgLyogc2lnbmFscyAqLworKyAgICBJQnVz RW5naW5lICoKKysgICAgICAgICAgICAgICAgKCogY3JlYXRlX2VuZ2luZSkKKysgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoSUJ1c0ZhY3RvcnkgICAgKmZhY3RvcnksCisrICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdjaGFyICAgICplbmdpbmVf bmFtZSk7CisgCisgICAgIC8qPCBwcml2YXRlID4qLworICAgICAvKiBwYWRkaW5nICovCistICAg IGdwb2ludGVyIHBkdW1teVs4XTsKKysgICAgZ3BvaW50ZXIgcGR1bW15WzddOworIH07CisgCisg LyoqCitkaWZmIC0tZ2l0IGEvc3JjL2lidXNtYXJzaGFsZXJzLmxpc3QgYi9zcmMvaWJ1c21hcnNo YWxlcnMubGlzdAoraW5kZXggYzA3M2M2ZS4uODJiNGFlYSAxMDA2NDQKKy0tLSBhL3NyYy9pYnVz bWFyc2hhbGVycy5saXN0CisrKysgYi9zcmMvaWJ1c21hcnNoYWxlcnMubGlzdAorQEAgLTIzLDMg KzIzLDQgQEAgVk9JRDpTVFJJTkcsU1RSSU5HLFZBUklBTlQKKyBWT0lEOlNUUklORyxTVFJJTkcs U1RSSU5HCisgVk9JRDpVSU5UCisgVk9JRDpVSU5ULFBPSU5URVIKKytPQkpFQ1Q6U1RSSU5HCitk aWZmIC0tZ2l0IGEvc3JjL2lidXNzZXJ2aWNlLmggYi9zcmMvaWJ1c3NlcnZpY2UuaAoraW5kZXgg N2EzZmVhNy4uOTRmOWJiNyAxMDA2NDQKKy0tLSBhL3NyYy9pYnVzc2VydmljZS5oCisrKysgYi9z cmMvaWJ1c3NlcnZpY2UuaAorQEAgLTEzNSw5ICsxMzUsOSBAQCBJQnVzU2VydmljZSAgICAgKmli dXNfc2VydmljZV9uZXcgICAgICAgICAgICAgICAoR0RCdXNDb25uZWN0aW9uICAgICpjb25uZWN0 aW9uLAorIGNvbnN0IGdjaGFyICAgICAqaWJ1c19zZXJ2aWNlX2dldF9vYmplY3RfcGF0aCAgIChJ QnVzU2VydmljZSAgICAgICAgKnNlcnZpY2UpOworIAorIC8qKgorLSAqIGlidXNfc2VydmljZV9n ZXRfY29ubmVjdGlvbnM6CisrICogaWJ1c19zZXJ2aWNlX2dldF9jb25uZWN0aW9uOgorICAqIEBz ZXJ2aWNlOiBBbiBJQnVzU2VydmljZS4KKy0gKiBAcmV0dXJuczogKHRyYW5zZmVyIGFsbCkgKGVs ZW1lbnQtdHlwZSBHREJ1c0Nvbm5lY3Rpb24pOiBBIG5ld2x5IGFsbG9jYXRlZCBsaXN0IG9mIGNv bm5lY3Rpb25zLgorKyAqIEByZXR1cm5zOiAodHJhbnNmZXIgbm9uZSk6IEEgI0dEQnVzQ29ubmVj dGlvbiBvZiBhbiAjSUJ1c1NlcnZpY2UgaW5zdGFuY2UuCisgICoKKyAgKiBSZXR1cm5zIGEgY29u bmVjdGlvbnMuCisgICovCitAQCAtMTkwLDcgKzE5MCw2IEBAIGdib29sZWFuICAgICAgICAgaWJ1 c19zZXJ2aWNlX2VtaXRfc2lnbmFsICAgICAgIChJQnVzU2VydmljZSAgICAgICAgKnNlcnZpY2Us CisgICogaWJ1c19zZXJ2aWNlX2NsYXNzX2FkZF9pbnRlcmZhY2VzOgorICAqIEBrbGFzczogQW4g SUJ1c1NlcnZpY2VDbGFzcy4KKyAgKiBAeG1sX2RhdGE6IFRoZSBpbnRyb3NwZWN0aW9uIHhtbCBk YXRhLgorLSAqIEBlcnJvcjogRXJyb3IuCisgICoKKyAgKiBTZXQgdGhlIGludGVyZmFjZSBpbnRy b3NwZWN0aW9uIGluZm9ybWF0aW9uIHdpdGggdGhlIHNlcnZpY2UgY2xhc3MuCisgICovCistLSAK KzEuNy41LjQKKwoKZGlmZiAtLWdpdCBhL2lidXMteHgtc2V0dXAtZnJlcXVlbnQtbGFuZy5wYXRj aCBiL2lidXMteHgtc2V0dXAtZnJlcXVlbnQtbGFuZy5wYXRjaAppbmRleCA5MzZkZDVhLi42N2Q3 ZTBiIDEwMDY0NAotLS0gYS9pYnVzLXh4LXNldHVwLWZyZXF1ZW50LWxhbmcucGF0Y2gKKysrIGIv aWJ1cy14eC1zZXR1cC1mcmVxdWVudC1sYW5nLnBhdGNoCkBAIC0xLDIwICsxLDIwIEBACi1Gcm9t IDczNWE0ZDk4YWMwNTdkZWQzMTdkYWU5Yjg1Nzc3Y2U1NmQ4YWYwZmQgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCitGcm9tIDY5MzdmZjc0NTNhMzUyZGM2M2E2NDg3Yzc3MjZhY2RiODk0MmY4Yzkg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBmdWppd2FyYXQgPHRha2FvLmZ1aml3YXJh MUBnbWFpbC5jb20+Ci1EYXRlOiBNb24sIDIwIEp1biAyMDExIDE5OjA0OjUxICswOTAwCitEYXRl OiBGcmksIDUgQXVnIDIwMTEgMjA6MjM6MDcgKzA5MDAKIFN1YmplY3Q6IFtQQVRDSF0gRW5hYmxl IGlidXMtc2V0dXAgdG8gc2hvdyB0aGUgZnJlcXVlbnRseSB1c2VkIGxhbmd1YWdlcwogIG9ubHkg aW4gSU1FIGxpc3QuCiAKIC0tLQotIGRhdGEvaWJ1cy5zY2hlbWFzLmluICAgIHwgIDE2OCArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIGRhdGEvaWJ1cy5z Y2hlbWFzLmluLmluIHwgIDE2OCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKwogIHNldHVwL2VuZ2luZWNvbWJvYm94LnB5IHwgIDE1MyArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKystLS0tLS0KICBzZXR1cC9tYWluLnB5ICAgICAgICAgICB8 ICAgIDEgKwogIDMgZmlsZXMgY2hhbmdlZCwgMzAwIGluc2VydGlvbnMoKyksIDIyIGRlbGV0aW9u cygtKQogCiBkaWZmIC0tZ2l0IGEvZGF0YS9pYnVzLnNjaGVtYXMuaW4uaW4gYi9kYXRhL2lidXMu c2NoZW1hcy5pbi5pbgotaW5kZXggZDQzMzRlMS4uNWVmMmFjMiAxMDA2NDQKK2luZGV4IDJkZjRm MTkuLjY5MjY2NGIgMTAwNjQ0CiAtLS0gYS9kYXRhL2lidXMuc2NoZW1hcy5pbi5pbgogKysrIGIv ZGF0YS9pYnVzLnNjaGVtYXMuaW4uaW4KLUBAIC0yMzksNiArMjM5LDE3NCBAQAorQEAgLTI0MCw2 ICsyNDAsMTc0IEBACiAgICAgICAgPC9sb2NhbGU+CiAgICAgIDwvc2NoZW1hPgogICAgICA8c2No ZW1hPgpAQCAtMjEwLDE4ICsyMTAsNiBAQCBpbmRleCA3MzgzMTc3Li5iZmYyNDA3IDEwMDY0NAog IAogLSAgICBkZWYgc2V0X2VuZ2luZXMoc2VsZiwgZW5naW5lcyk6CiAtICAgICAgICBzZWxmLl9f bW9kZWwgPSBndGsuVHJlZVN0b3JlKGdvYmplY3QuVFlQRV9QWU9CSkVDVCkKLS0KLS0gICAgICAg IGl0ZXIxID0gc2VsZi5fX21vZGVsLmFwcGVuZChOb25lKQotLSAgICAgICAgc2VsZi5fX21vZGVs LnNldChpdGVyMSwgMCwgMCkKLS0gICAgICAgIGxhbmcgPSB7fQotLSAgICAgICAgZm9yIGUgaW4g ZW5naW5lczoKLS0gICAgICAgICAgICBpZiBpYnVzLnVzZV9icmlkZ2VfaG90a2V5KCkgYW5kIFwK LS0gICAgICAgICAgICAgICBlLm5hbWUgPT0gaWJ1cy5ERUZBVUxUX0JSSURHRV9FTkdJTkVfTkFN RToKLS0gICAgICAgICAgICAgICAgY29udGludWUKLS0gICAgICAgICAgICBsID0gaWJ1cy5nZXRf bGFuZ3VhZ2VfbmFtZShlLmxhbmd1YWdlKQotLSAgICAgICAgICAgIGlmIGwgbm90IGluIGxhbmc6 Ci0tICAgICAgICAgICAgICAgIGxhbmdbbF0gPSBbXQotLSAgICAgICAgICAgIGxhbmdbbF0uYXBw ZW5kKGUpCiArICAgIGRlZiBfX2djb25mX2dldF9sYW5nX2xpc3RfZnJvbV9sb2NhbGUoc2VsZik6 CiArICAgICAgICBjb21tb25fbGlzdCA9IFsnZW4nLCAnT3RoZXInXQogKyAgICAgICAgaWYgIHNl bGYuX19jb25maWcgPT0gTm9uZToKQEAgLTI1Niw3ICsyNDQsMTggQEAgaW5kZXggNzM4MzE3Ny4u YmZmMjQwNyAxMDA2NDQKICsgICAgICAgIGlmIGxhbmdfbGlzdCA9PSBOb25lOgogKyAgICAgICAg ICAgIHJldHVybiBbbG9jXSArIGNvbW1vbl9saXN0CiArICAgICAgICByZXR1cm4gbGFuZ19saXN0 ICsgY29tbW9uX2xpc3QKLSsKKyAKKy0gICAgICAgIGl0ZXIxID0gc2VsZi5fX21vZGVsLmFwcGVu ZChOb25lKQorLSAgICAgICAgc2VsZi5fX21vZGVsLnNldChpdGVyMSwgMCwgMCkKKy0gICAgICAg IGxhbmcgPSB7fQorLSAgICAgICAgZm9yIGUgaW4gZW5naW5lczoKKy0gICAgICAgICAgICBpZiBp YnVzLnVzZV9icmlkZ2VfaG90a2V5KCkgYW5kIFwKKy0gICAgICAgICAgICAgICBlLm5hbWUuc3Rh cnRzd2l0aChpYnVzLkRFRkFVTFRfQlJJREdFX0VOR0lORV9OQU1FKToKKy0gICAgICAgICAgICAg ICAgY29udGludWUKKy0gICAgICAgICAgICBsID0gaWJ1cy5nZXRfbGFuZ3VhZ2VfbmFtZShlLmxh bmd1YWdlKQorLSAgICAgICAgICAgIGlmIGwgbm90IGluIGxhbmc6CistICAgICAgICAgICAgICAg IGxhbmdbbF0gPSBbXQorLSAgICAgICAgICAgIGxhbmdbbF0uYXBwZW5kKGUpCiArICAgIGRlZiBf X2hhc19lbmdpbmVfaW5fbGFuZ19saXN0KHNlbGYsIGVuZ2luZSwgbGFuZ19saXN0KToKICsgICAg ICAgIHJldHZhbCA9IEZhbHNlCiArICAgICAgICBmb3IgbGFuZyBpbiBsYW5nX2xpc3Q6CkBAIC0y NzAsNyArMjY5LDcgQEAgaW5kZXggNzM4MzE3Ny4uYmZmMjQwNyAxMDA2NDQKICAgICAgICAgIGtl eXMgPSBsYW5nLmtleXMoKQogICAgICAgICAga2V5cy5zb3J0KGxvY2FsZS5zdHJjb2xsKQogICAg ICAgICAgI2FkZCAiT3RoZXJzIiB0byB0aGUgZW5kIG9mIHRoZSBjb21ibyBib3gKLUBAIC03OSwy OSArMTEyLDg5IEBAIGNsYXNzIEVuZ2luZUNvbWJvQm94KGd0ay5Db21ib0JveCk6CitAQCAtNzYs MjkgKzExMiw4OSBAQCBjbGFzcyBFbmdpbmVDb21ib0JveChndGsuQ29tYm9Cb3gpOgogICAgICAg ICAgICAgIGtleXMucmVtb3ZlKGlidXMuZ2V0X2xhbmd1YWdlX25hbWUoIk90aGVyIikpCiAgICAg ICAgICAgICAga2V5cyArPSBbaWJ1cy5nZXRfbGFuZ3VhZ2VfbmFtZSgiT3RoZXIiKV0KICAgICAg ICAgIGZvciBsIGluIGtleXM6CkBAIC0yOTEsOCArMjkwLDcgQEAgaW5kZXggNzM4MzE3Ny4uYmZm MjQwNyAxMDA2NDQKICsKICsgICAgZGVmIHNldF9lbmdpbmVzKHNlbGYsIGVuZ2luZXMpOgogKyAg ICAgICAgc2VsZi5fX21vZGVsID0gZ3RrLlRyZWVTdG9yZShnb2JqZWN0LlRZUEVfUFlPQkpFQ1Qp Ci0gCi0tICAgICAgICBzZWxmLnNldF9tb2RlbChzZWxmLl9fbW9kZWwpCisrCiArICAgICAgICBp dGVyMSA9IHNlbGYuX19tb2RlbC5hcHBlbmQoTm9uZSkKICsgICAgICAgIHNlbGYuX19tb2RlbC5z ZXQoaXRlcjEsIDAsIDApCiArICAgICAgICBsYW5nX2xpc3QgPSBzZWxmLl9fZ2NvbmZfZ2V0X2xh bmdfbGlzdF9mcm9tX2xvY2FsZSgpCkBAIC0zMDAsNyArMjk4LDcgQEAgaW5kZXggNzM4MzE3Ny4u YmZmMjQwNyAxMDA2NDQKICsgICAgICAgIHN1Yl9sYW5nID0ge30KICsgICAgICAgIGZvciBlIGlu IGVuZ2luZXM6CiArICAgICAgICAgICAgaWYgaWJ1cy51c2VfYnJpZGdlX2hvdGtleSgpIGFuZCBc Ci0rICAgICAgICAgICAgICAgZS5uYW1lID09IGlidXMuREVGQVVMVF9CUklER0VfRU5HSU5FX05B TUU6CisrICAgICAgICAgICAgICAgZS5uYW1lLnN0YXJ0c3dpdGgoaWJ1cy5ERUZBVUxUX0JSSURH RV9FTkdJTkVfTkFNRSk6CiArICAgICAgICAgICAgICAgIGNvbnRpbnVlCiArICAgICAgICAgICAg bCA9IGlidXMuZ2V0X2xhbmd1YWdlX25hbWUoZS5sYW5ndWFnZSkKICsgICAgICAgICAgICBpZiBs YW5nX2xpc3QgPT0gTm9uZSBvciBcCkBAIC0zMjYsNyArMzI0LDggQEAgaW5kZXggNzM4MzE3Ny4u YmZmMjQwNyAxMDA2NDQKICsgICAgICAgIHNlbGYuX19tb2RlbF9hcHBlbmRfbGFuZ3Moc2VsZi5f X2FsbF9tb2RlbCwgc3ViX2xhbmcsIEZhbHNlKQogKwogKyAgICAgICAgc2VsZi5fX3RvZ2dsZV9z dWJfbGFuZygpCi0rCisgCistICAgICAgICBzZWxmLnNldF9tb2RlbChzZWxmLl9fbW9kZWwpCiAr ICAgIGRlZiBfX3RvZ2dsZV9zdWJfbGFuZyhzZWxmKToKICsgICAgICAgIHNlbGYuc2V0X21vZGVs KE5vbmUpCiArICAgICAgICBpZiBzZWxmLl9fc2hvd19zdWJfbGFuZzoKQEAgLTM2OCw3ICszNjcs NyBAQCBpbmRleCA3MzgzMTc3Li5iZmYyNDA3IDEwMDY0NAogICAgICAgICAgZWxzZToKICAgICAg ICAgICAgICByZW5kZXJlci5zZXRfcHJvcGVydHkoInZpc2libGUiLCBUcnVlKQogICAgICAgICAg ICAgIHJlbmRlcmVyLnNldF9wcm9wZXJ0eSgic2Vuc2l0aXZlIiwgVHJ1ZSkKLUBAIC0xMTMsNyAr MjA2LDggQEAgY2xhc3MgRW5naW5lQ29tYm9Cb3goZ3RrLkNvbWJvQm94KToKK0BAIC0xMTAsNyAr MjAzLDggQEAgY2xhc3MgRW5naW5lQ29tYm9Cb3goZ3RrLkNvbWJvQm94KToKICAgICAgICAgICAg ICByZW5kZXJlci5zZXRfcHJvcGVydHkoInBpeGJ1ZiIsIHBpeGJ1ZikKICAKICAgICAgZGVmIF9f bmFtZV9jZWxsX2RhdGFfY2Ioc2VsZiwgY2VsbGxheW91dCwgcmVuZGVyZXIsIG1vZGVsLCBpdGVy KToKQEAgLTM3OCw3ICszNzcsNyBAQCBpbmRleCA3MzgzMTc3Li5iZmYyNDA3IDEwMDY0NAogIAog ICAgICAgICAgaWYgaXNpbnN0YW5jZSAoZW5naW5lLCBzdHIpIG9yIGlzaW5zdGFuY2UgKGVuZ2lu ZSwgdW5pY29kZSk6CiAgICAgICAgICAgICAgcmVuZGVyZXIuc2V0X3Byb3BlcnR5KCJzZW5zaXRp dmUiLCBGYWxzZSkKLUBAIC0xMjEsOCArMjE1LDE1IEBAIGNsYXNzIEVuZ2luZUNvbWJvQm94KGd0 ay5Db21ib0JveCk6CitAQCAtMTE4LDggKzIxMiwxNSBAQCBjbGFzcyBFbmdpbmVDb21ib0JveChn dGsuQ29tYm9Cb3gpOgogICAgICAgICAgICAgIHJlbmRlcmVyLnNldF9wcm9wZXJ0eSgid2VpZ2h0 IiwgcGFuZ28uV0VJR0hUX05PUk1BTCkKICAgICAgICAgIGVsaWYgaXNpbnN0YW5jZShlbmdpbmUs IGludCk6CiAgICAgICAgICAgICAgcmVuZGVyZXIuc2V0X3Byb3BlcnR5KCJzZW5zaXRpdmUiLCBU cnVlKQpAQCAtMzk2LDcgKzM5NSw3IEBAIGluZGV4IDczODMxNzcuLmJmZjI0MDcgMTAwNjQ0CiAg ICAgICAgICBlbHNlOgogICAgICAgICAgICAgIHJlbmRlcmVyLnNldF9wcm9wZXJ0eSgic2Vuc2l0 aXZlIiwgVHJ1ZSkKICAgICAgICAgICAgICByZW5kZXJlci5zZXRfcHJvcGVydHkoInRleHQiLCBl bmdpbmUubG9uZ25hbWUpCi1AQCAtMTM3LDEzICsyMzgsMjEgQEAgY2xhc3MgRW5naW5lQ29tYm9C b3goZ3RrLkNvbWJvQm94KToKK0BAIC0xMzQsMTMgKzIzNSwyMSBAQCBjbGFzcyBFbmdpbmVDb21i b0JveChndGsuQ29tYm9Cb3gpOgogICAgICAgICAgICAgIGlmIGkgPT0gMCBvciBpID09IC0xOgog ICAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQogICAgICAgICAgICAgIGl0ZXIgPSBzZWxmLmdl dF9hY3RpdmVfaXRlcigpCkBAIC00MzIsNSArNDMxLDUgQEAgaW5kZXggMTkyZmI4OC4uNWEwMTcw ZCAxMDA2NDQKICAKICAgICAgICAgIGVuZ2luZXMgPSBzZWxmLl9fYnVzLmxpc3RfYWN0aXZlX2Vu Z2luZXMoKQogLS0gCi0xLjcuNC40CisxLjcuNS40CiAKCmRpZmYgLS1naXQgYS9pYnVzLnNwZWMg Yi9pYnVzLnNwZWMKaW5kZXggYWYxNTI5ZC4uYzk3NmI4OSAxMDA2NDQKLS0tIGEvaWJ1cy5zcGVj CisrKyBiL2lidXMuc3BlYwpAQCAtMjAsNyArMjAsNyBAQAogCiBOYW1lOiAgICAgICBpYnVzCiBW ZXJzaW9uOiAgICAxLjMuOTkuMjAxMTA0MTkKLVJlbGVhc2U6ICAgIDEyJXs/ZGlzdH0KK1JlbGVh c2U6ICAgIDEzJXs/ZGlzdH0KIFN1bW1hcnk6ICAgIEludGVsbGlnZW50IElucHV0IEJ1cyBmb3Ig TGludXggT1MKIExpY2Vuc2U6ICAgIExHUEx2MisKIEdyb3VwOiAgICAgIFN5c3RlbSBFbnZpcm9u bWVudC9MaWJyYXJpZXMKQEAgLTI4LDE1ICsyOCwxNiBAQCBVUkw6ICAgICAgICBodHRwOi8vY29k ZS5nb29nbGUuY29tL3AvaWJ1cy8KIFNvdXJjZTA6ICAgIGh0dHA6Ly9pYnVzLmdvb2dsZWNvZGUu Y29tL2ZpbGVzLyV7bmFtZX0tJXt2ZXJzaW9ufS50YXIuZ3oKIFNvdXJjZTE6ICAgIHhpbnB1dC1p YnVzCiAlaWYgJWhhdmVfZ2pzZmlsZQotU291cmNlMjogICAgaHR0cDovL2Z1aml3YXJhLmZlZG9y YXBlb3BsZS5vcmcvaWJ1cy9nbm9tZS1zaGVsbC9pYnVzLWdqcy0xLjMuOTkuMjAxMTA3MjAudGFy Lmd6CitTb3VyY2UyOiAgICBodHRwOi8vZnVqaXdhcmEuZmVkb3JhcGVvcGxlLm9yZy9pYnVzL2du b21lLXNoZWxsL2lidXMtZ2pzLTEuMy45OS4yMDExMDgwNi50YXIuZ3oKICVlbmRpZgogU291cmNl MzogICAgaHR0cHM6Ly93d3cudHJhbnNpZmV4Lm5ldC9wcm9qZWN0cy9wL2lidXMvcmVzb3VyY2Uv bWFzdGVyL2wvZGEvZG93bmxvYWQvaWJ1c19tYXN0ZXJfZGEucG8KIFBhdGNoMDogICAgIGlidXMt SEVBRC5wYXRjaAogUGF0Y2gxOiAgICAgaWJ1cy01MzA3MTEtcHJlbG9hZC1zeXMucGF0Y2gKIFBh dGNoMjogICAgIGlidXMteHgtaWNvbi1zeW1ib2wucGF0Y2gKLVBhdGNoMzogICAgIGlidXMtNTQx NDkyLXhrYi5wYXRjaAotUGF0Y2g0OiAgICAgaWJ1cy14eC1icmlkZ2UtaG90a2V5LnBhdGNoCi1Q YXRjaDU6ICAgICBpYnVzLXh4LXNldHVwLWZyZXF1ZW50LWxhbmcucGF0Y2gKK1BhdGNoMzogICAg IGlidXMteHgtZmFjdG9yeS1zaWduYWwucGF0Y2gKK1BhdGNoNDogICAgIGlidXMtNTQxNDkyLXhr Yi5wYXRjaAorUGF0Y2g1OiAgICAgaWJ1cy14eC1icmlkZ2UtaG90a2V5LnBhdGNoCitQYXRjaDY6 ICAgICBpYnVzLXh4LXNldHVwLWZyZXF1ZW50LWxhbmcucGF0Y2gKIAogIyBXb3JrYXJvdW5kIGZv ciBveHlnZW4tZ3RrIGljb24gdGhlbWUgdW50aWwgYnVnIDY5OTEwMyBpcyBmaXhlZC4KIFBhdGNo OTE6ICAgIGlidXMtNzExNjMyLWZlZG9yYS1mYWxsYmFjay1pY29uLnBhdGNoCkBAIC0xNzIsMTIg KzE3MywxMyBAQCBjcCAlU09VUkNFMyBwby9kYS5wbwogY3AgY2xpZW50L2d0azIvaWJ1c2ltY29u dGV4dC5jIGNsaWVudC9ndGszL2lidXNpbWNvbnRleHQuYwogJXBhdGNoMSAtcDEgLWIgLnByZWxv YWQtc3lzCiAlcGF0Y2gyIC1wMSAtYiAuaWNvbi1zeW1ib2wKKyVwYXRjaDMgLXAxIC1iIC5mYWN0 b3J5CiAlaWYgJWhhdmVfbGlieGtiZmlsZQotJXBhdGNoMyAtcDEgLWIgLnhrYgorJXBhdGNoNCAt cDEgLWIgLnhrYgogJWVuZGlmCiBtdiBkYXRhL2lidXMuc2NoZW1hcy5pbiBkYXRhL2lidXMuc2No ZW1hcy5pbi5pbgotJXBhdGNoNCAtcDEgLWIgLmJyaWRnZS1rZXkKLSVwYXRjaDUgLXAxIC1iIC5z ZXR1cC1mcmVxdWVudC1sYW5nCislcGF0Y2g1IC1wMSAtYiAuYnJpZGdlLWtleQorJXBhdGNoNiAt cDEgLWIgLnNldHVwLWZyZXF1ZW50LWxhbmcKIAogJXBhdGNoOTEgLXAxIC1iIC5mYWxsYmFjay1p Y29uCiAKQEAgLTM2MiwxNCArMzY0LDE3IEBAIGZpCiAle19kYXRhZGlyfS9ndGstZG9jL2h0bWwv KgogCiAlY2hhbmdlbG9nCi0qIFdlZCBKdWwgMjAgMjAxMSBUYWthbyBGdWppd2FyYSA8dGZ1aml3 YXJAcmVkaGF0LmNvbT4gLSAxLjMuOTkuMjAxMTA0MTktMTIKKyogRnJpIEF1ZyAwNSAyMDExIFRh a2FvIEZ1aml3YXJhIDx0ZnVqaXdhckByZWRoYXQuY29tPiAtIDEuMy45OS4yMDExMDQxOS0xMwog LSBVcGRhdGVkIGlidXMtSEVBRC5wYXRjaCBmb3IgdXBzdHJlYW0uCiAtIFJlbW92ZWQgaWJ1cy00 MzU4ODAtc3Vycm91bmRpbmctdGV4dC5wYXRjaCBhcyB1cHN0cmVhbS4KIC0gQWRkZWQgaWJ1cy03 MTE2MzItZmVkb3JhLWZhbGxiYWNrLWljb24ucGF0Y2gKICAgRml4ZWQgU0VHViB3aXRoIG5vIGlj b24gaW4gb3h5Z2VuLWd0ayBpY29uIHRoZW1lLgogLSBBZGRlZCBpYnVzLXh4LWljb24tc3ltYm9s LnBhdGNoCisgIEZpeGVkIEJ1ZyA3MDA0NzIgVXNlIGEgc3ltYm9sIGljb24gaW5zdGVhZCBvZiBh biBpbWFnZSBpY29uLgogLSBBZGRlZCBpYnVzLXh4LWJyaWRnZS1ob3RrZXkucGF0Y2gKKyAgVHJp YWdlZCBCdWcgNzA3MzcwIFNldEVuZ2luZSB0aW1lb3V0CiAtIEFkZGVkIHRyYW5zaXRpb25hbCBp YnVzLWdub21lMyBwYWNrYWdlLgorICBGaXhlZCBCdWcgNzE4MTEwIFVzZSBhIHNoZWxsIGljb24g aW5zdGVhZCBvZiBweWd0azIgaWNvbi4KIAogKiBUaHUgTWF5IDI2IDIwMTEgVGFrYW8gRnVqaXdh cmEgPHRmdWppd2FyQHJlZGhhdC5jb20+IC0gMS4zLjk5LjIwMTEwNDE5LTEKIC0gVXBkYXRlZCB0 byAxLjMuOTkuMjAxMTA0MTkKCmRpZmYgLS1naXQgYS9zb3VyY2VzIGIvc291cmNlcwppbmRleCAy ZTBkMTk3Li45MDE1MmZhIDEwMDY0NAotLS0gYS9zb3VyY2VzCisrKyBiL3NvdXJjZXMKQEAgLTEs MyArMSwzIEBACiBkNGYyNzI5ZmVjYjkyYWU2YjQxZjI2Yzc3MGIxYTc3MiAgaWJ1cy0xLjMuOTku MjAxMTA0MTkudGFyLmd6Ci00MTkxNWEyZGM1ZWQxMGMyM2E0N2U5MDE2MTFhYzU0YSAgaWJ1cy1n anMtMS4zLjk5LjIwMTEwNzIwLnRhci5negorYjIyMTQ0OTAzMDRhYjg5ZDU5OWNmNzJkMDEyZmRl M2MgIGlidXMtZ2pzLTEuMy45OS4yMDExMDgwNi50YXIuZ3oKIDY5OGM5MGVkZjBmMDM3NDg4ZTFh YTk2OTgwNGU4OTFmICBpYnVzX21hc3Rlcl9kYS5wbwo=