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: Peter Lemenkov To: git-commits@fedoraproject.org Subject: [rpms/ejabberd] f45: Ver. 2.1.0 Date: Wed, 23 Sep 2026 19:06:52 GMT Message-ID: <179019041251.1.6347551986630390432.rpms-ejabberd-63ecd49025a9@fedoraproject.org> List-ID: X-Git-Repo: rpms/ejabberd X-Git-Branch: f45 X-Git-Rev: 63ecd49025a9416f9d058ca62ef9e31b816691fe QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZWphYmJlcmQKQnJh bmNoIDogZjQ1CkNvbW1pdCA6IDYzZWNkNDkwMjVhOTQxNmY5ZDA1OGNhNjJlZjllMzFiODE2Njkx ZmUKQXV0aG9yIDogUGV0ZXIgTGVtZW5rb3YgPHBldGVyQGZlZG9yYXByb2plY3Qub3JnPgpEYXRl ICAgOiAyMDA5LTExLTIxVDA4OjAxOjE5KzAwOjAwClN0YXRzICA6ICsxNjYvLTE1OTcgaW4gMTMg ZmlsZShzKQpVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2VqYWJi ZXJkL2MvNjNlY2Q0OTAyNWE5NDE2ZjlkMDU4Y2E2MmVmOWUzMWI4MTY2OTFmZT9icmFuY2g9ZjQ1 CgpMb2c6ClZlci4gMi4xLjAKCi0tLQpkaWZmIC0tZ2l0IGEvLmN2c2lnbm9yZSBiLy5jdnNpZ25v cmUKaW5kZXggNzE4MmQwNi4uMWEwZGRhMSAxMDA2NDQKLS0tIGEvLmN2c2lnbm9yZQorKysgYi8u Y3ZzaWdub3JlCkBAIC0xICsxIEBACi1lamFiYmVyZC0yLjAuNS50YXIuZ3oKK2VqYWJiZXJkLTIu MS4wLnRhci5negoKZGlmZiAtLWdpdCBhL2VqYWJiZXJkLWJ1aWxkLnBhdGNoIGIvZWphYmJlcmQt YnVpbGQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGYwZTAyZGQuLjAwMDAw MDAKLS0tIGEvZWphYmJlcmQtYnVpbGQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCww IEBACi0tLS0gc3JjL01ha2VmaWxlLmluLmZpeF9wYXRocwkyMDA4LTA4LTAxIDE2OjM0OjI4LjAw MDAwMDAwMCArMDQwMAotKysrIHNyYy9NYWtlZmlsZS5pbgkyMDA4LTA4LTA5IDE5OjU0OjAzLjAw MDAwMDAwMCArMDQwMAotQEAgLTU4LDcgKzU4LDcgQEAKLSAKLSBERVNURElSID0KLSAKLS1FSkFC QkVSRERJUiA9ICQoREVTVERJUilAbG9jYWxzdGF0ZWRpckAvbGliL2VqYWJiZXJkCi0rRUpBQkJF UkRESVIgPSAkKERFU1RESVIpQGxpYmRpckAvZWphYmJlcmQKLSBCRUFNRElSID0gJChFSkFCQkVS RERJUikvZWJpbgotIFNQT09MRElSID0gJChFSkFCQkVSRERJUikvZGIKLSBQUklWRElSID0gJChF SkFCQkVSRERJUikvcHJpdgoKZGlmZiAtLWdpdCBhL2VqYWJiZXJkLWNhcHRjaGEucGF0Y2ggYi9l amFiYmVyZC1jYXB0Y2hhLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZTkz MzRiLi4wMDAwMDAwCi0tLSBhL2VqYWJiZXJkLWNhcHRjaGEucGF0Y2gKKysrIC9kZXYvbnVsbApA QCAtMSw2NDEgKzAsMCBAQAotQmluYXJ5IGZpbGVzIGVqYWJiZXJkLTIuMC40L3NyYy8uRFNfU3Rv cmUgYW5kIGVqYWJiZXJkLTIuMC40LW5ldy9zcmMvLkRTX1N0b3JlIGRpZmZlcgotZGlmZiAtdXJO IGVqYWJiZXJkLTIuMC40L3NyYy9lamFiYmVyZF9jYXB0Y2hhLmVybCBlamFiYmVyZC0yLjAuNC1u ZXcvc3JjL2VqYWJiZXJkX2NhcHRjaGEuZXJsCi0tLS0gZWphYmJlcmQtMi4wLjQvc3JjL2VqYWJi ZXJkX2NhcHRjaGEuZXJsCTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCi0rKysg ZWphYmJlcmQtMi4wLjQtbmV3L3NyYy9lamFiYmVyZF9jYXB0Y2hhLmVybAkyMDA5LTAzLTE0IDA3 OjI3OjA1LjAwMDAwMDAwMCArMDEwMAotQEAgLTAsMCArMSwzMTIgQEAKLSslJSUtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ci0rJSUlIEZpbGUgICAgOiBlamFiYmVyZF9jYXB0Y2hhLmVybAotKyUlJSBBdXRob3IgIDogRXZn ZW5peSBLaHJhbXRzb3YgPHhyYW10c292QGdtYWlsLmNvbT4KLSslJSUgRGVzY3JpcHRpb24gOiBD QVBUQ0hBIHByb2Nlc3NpbmcuCi0rJSUlCi0rJSUlIENyZWF0ZWQgOiAyNiBBcHIgMjAwOCBieSBF dmdlbml5IEtocmFtdHNvdiA8eHJhbXRzb3ZAZ21haWwuY29tPgotKyUlJS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSst bW9kdWxlKGVqYWJiZXJkX2NhcHRjaGEpLgotKwotKy1iZWhhdmlvdXIoZ2VuX3NlcnZlcikuCi0r Ci0rJSUgQVBJCi0rLWV4cG9ydChbc3RhcnRfbGluay8wXSkuCi0rCi0rJSUgZ2VuX3NlcnZlciBj YWxsYmFja3MKLSstZXhwb3J0KFtpbml0LzEsIGhhbmRsZV9jYWxsLzMsIGhhbmRsZV9jYXN0LzIs IGhhbmRsZV9pbmZvLzIsCi0rCSB0ZXJtaW5hdGUvMiwgY29kZV9jaGFuZ2UvM10pLgotKwotKy1l eHBvcnQoW2NyZWF0ZV9jYXB0Y2hhLzYsIHByb2Nlc3NfcmVwbHkvMSwgcHJvY2Vzcy8yXSkuCi0r Ci0rLWluY2x1ZGUoImpsaWIuaHJsIikuCi0rLWluY2x1ZGUoImVqYWJiZXJkLmhybCIpLgotKy1p bmNsdWRlKCJ3ZWIvZWphYmJlcmRfaHR0cC5ocmwiKS4KLSsKLSstZGVmaW5lKFZGSUVMRChUeXBl LCBWYXIsIFZhbHVlKSwKLSsJe3htbGVsZW1lbnQsICJmaWVsZCIsIFt7InR5cGUiLCBUeXBlfSwg eyJ2YXIiLCBWYXJ9XSwKLSsJIFt7eG1sZWxlbWVudCwgInZhbHVlIiwgW10sIFtWYWx1ZV19XX0p LgotKwotKy1kZWZpbmUoQ0FQVENIQV9CT0RZKExhbmcsIFJvb20sIFVSTCksCi0rCXRyYW5zbGF0 ZTp0cmFuc2xhdGUoTGFuZywgIllvdXIgbWVzc2FnZXMgdG8gIikgKysgUm9vbQotKwkrKyB0cmFu c2xhdGU6dHJhbnNsYXRlKExhbmcsICIgYXJlIGJlaW5nIGJsb2NrZWQuIFRvIHVuYmxvY2sgdGhl bSwgdmlzaXQgIikKLSsJKysgVVJMKS4KLSsKLSstZGVmaW5lKENBUFRDSEFfVEVYVChMYW5nKSwg dHJhbnNsYXRlOnRyYW5zbGF0ZShMYW5nLCAiRW50ZXIgdGhlIHRleHQgeW91IHNlZSIpKS4KLSst ZGVmaW5lKENBUFRDSEFfTElGRVRJTUUsIDEyMDAwMCkuICUgdHdvIG1pbnV0ZXMKLSsKLSstcmVj b3JkKHN0YXRlLCB7fSkuCi0rLXJlY29yZChjYXB0Y2hhLCB7aWQsIHBpZCwga2V5LCB0cmVmLCBh cmdzfSkuCi0rCi0rLWRlZmluZShUKFMpLAotKwljYXNlIGNhdGNoIG1uZXNpYTp0cmFuc2FjdGlv bihmdW4oKSAtPiBTIGVuZCkgb2YKLSsJICAgIHthdG9taWMsIFJlc30gLT4KLSsJCVJlczsKLSsJ ICAgIHtfLCBSZWFzb259IC0+Ci0rCQk/RVJST1JfTVNHKCJtbmVzaWEgdHJhbnNhY3Rpb24gZmFp bGVkOiB+cCIsIFtSZWFzb25dKSwKLSsJCXtlcnJvciwgUmVhc29ufQotKwllbmQpLgotKwotKyUl PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLSslJSBBUEkKLSslJT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0rJSUtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotKyUl IEZ1bmN0aW9uOiBzdGFydF9saW5rKCkgLT4ge29rLFBpZH0gfCBpZ25vcmUgfCB7ZXJyb3IsRXJy b3J9Ci0rJSUgRGVzY3JpcHRpb246IFN0YXJ0cyB0aGUgc2VydmVyCi0rJSUtLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQot K3N0YXJ0X2xpbmsoKSAtPgotKyAgICBnZW5fc2VydmVyOnN0YXJ0X2xpbmsoe2xvY2FsLCA/TU9E VUxFfSwgP01PRFVMRSwgW10sIFtdKS4KLSsKLStjcmVhdGVfY2FwdGNoYShJZCwgU0lELCBGcm9t LCBUbywgTGFuZywgQXJncykKLSsgIHdoZW4gaXNfbGlzdChJZCksIGlzX2xpc3QoTGFuZyksIGlz X2xpc3QoU0lEKSwKLSsgICAgICAgaXNfcmVjb3JkKEZyb20sIGppZCksIGlzX3JlY29yZChUbywg amlkKSAtPgotKyAgICBjYXNlIGNyZWF0ZV9pbWFnZSgpIG9mCi0rCXtvaywgVHlwZSwgS2V5LCBJ bWFnZX0gLT4KLSsJICAgIEI2NEltYWdlID0gamxpYjplbmNvZGVfYmFzZTY0KGJpbmFyeV90b19s aXN0KEltYWdlKSksCi0rCSAgICBKSUQgPSBqbGliOmppZF90b19zdHJpbmcoRnJvbSksCi0rCSAg ICBDSUQgPSAic2hhMSsiICsrIHNoYTpzaGEoSW1hZ2UpICsrICJAYm9iLnhtcHAub3JnIiwKLSsJ ICAgIERhdGEgPSB7eG1sZWxlbWVudCwgImRhdGEiLAotKwkJICAgIFt7InhtbG5zIiwgP05TX0JP Qn0sIHsiY2lkIiwgQ0lEfSwKLSsJCSAgICAgeyJtYXgtYWdlIiwgIjAifSwgeyJ0eXBlIiwgVHlw ZX1dLAotKwkJICAgIFt7eG1sY2RhdGEsIEI2NEltYWdlfV19LAotKwkgICAgQ2FwdGNoYSA9Ci0r CQl7eG1sZWxlbWVudCwgImNhcHRjaGEiLCBbeyJ4bWxucyIsID9OU19DQVBUQ0hBfV0sCi0rCQkg W3t4bWxlbGVtZW50LCAieCIsIFt7InhtbG5zIiwgP05TX1hEQVRBfSwgeyJ0eXBlIiwgImZvcm0i fV0sCi0rCQkgICBbP1ZGSUVMRCgiaGlkZGVuIiwgIkZPUk1fVFlQRSIsIHt4bWxjZGF0YSwgP05T X0NBUFRDSEF9KSwKLSsJCSAgICA/VkZJRUxEKCJoaWRkZW4iLCAiZnJvbSIsIHt4bWxjZGF0YSwg amxpYjpqaWRfdG9fc3RyaW5nKFRvKX0pLAotKwkJICAgID9WRklFTEQoImhpZGRlbiIsICJjaGFs bGVuZ2UiLCB7eG1sY2RhdGEsIElkfSksCi0rCQkgICAgP1ZGSUVMRCgiaGlkZGVuIiwgInNpZCIs IHt4bWxjZGF0YSwgU0lEfSksCi0rCQkgICAge3htbGVsZW1lbnQsICJmaWVsZCIsIFt7InZhciIs ICJvY3IifV0sCi0rCQkgICAgIFt7eG1sZWxlbWVudCwgIm1lZGlhIiwgW3sieG1sbnMiLCA/TlNf TUVESUF9XSwKLSsJCSAgICAgICBbe3htbGVsZW1lbnQsICJ1cmkiLCBbeyJ0eXBlIiwgVHlwZX1d LAotKwkJCSBbe3htbGNkYXRhLCAiY2lkOiIgKysgQ0lEfV19XX1dfV19XX0sCi0rCSAgICBCb2R5 ID0ge3htbGVsZW1lbnQsICJib2R5IiwgW10sCi0rCQkgICAgW3t4bWxjZGF0YSwgP0NBUFRDSEFf Qk9EWShMYW5nLCBKSUQsIGdldF91cmwoSWQpKX1dfSwKLSsJICAgIE9PQiA9IHt4bWxlbGVtZW50 LCAieCIsIFt7InhtbG5zIiwgP05TX09PQn1dLAotKwkJICAgW3t4bWxlbGVtZW50LCAidXJsIiwg W10sIFt7eG1sY2RhdGEsIGdldF91cmwoSWQpfV19XX0sCi0rCSAgICBUcmVmID0gZXJsYW5nOnNl bmRfYWZ0ZXIoP0NBUFRDSEFfTElGRVRJTUUsID9NT0RVTEUsIHtyZW1vdmVfaWQsIElkfSksCi0r CSAgICA/VChtbmVzaWE6d3JpdGUoI2NhcHRjaGF7aWQ9SWQsIHBpZD1zZWxmKCksIGtleT1LZXks Ci0rCQkJCSAgICAgdHJlZj1UcmVmLCBhcmdzPUFyZ3N9KSksCi0rCSAgICB7b2ssIFtCb2R5LCBP T0IsIENhcHRjaGEsIERhdGFdfTsKLSsJX0VyciAtPgotKwkgICAgZXJyb3IKLSsgICAgZW5kLgot KwotK3Byb2Nlc3NfcmVwbHkoe3htbGVsZW1lbnQsICJjYXB0Y2hhIiwgXywgX30gPSBFbCkgLT4K LSsgICAgY2FzZSB4bWw6Z2V0X3N1YnRhZyhFbCwgIngiKSBvZgotKwlmYWxzZSAtPgotKwkgICAg e2Vycm9yLCBtYWxmb3JtZWR9OwotKwlYZGF0YSAtPgotKwkgICAgRmllbGRzID0gamxpYjpwYXJz ZV94ZGF0YV9zdWJtaXQoWGRhdGEpLAotKwkgICAgW0lkIHwgX10gPSBwcm9wbGlzdHM6Z2V0X3Zh bHVlKCJjaGFsbGVuZ2UiLCBGaWVsZHMsIFtub25lXSksCi0rCSAgICBbT0NSIHwgX10gPSBwcm9w bGlzdHM6Z2V0X3ZhbHVlKCJvY3IiLCBGaWVsZHMsIFtub25lXSksCi0rCSAgICA/VChjYXNlIG1u ZXNpYTpyZWFkKGNhcHRjaGEsIElkLCB3cml0ZSkgb2YKLSsJCSAgIFsjY2FwdGNoYXtwaWQ9UGlk LCBhcmdzPUFyZ3MsIGtleT1LZXksIHRyZWY9VHJlZn1dIC0+Ci0rCQkgICAgICAgbW5lc2lhOmRl bGV0ZSh7Y2FwdGNoYSwgSWR9KSwKLSsJCSAgICAgICBlcmxhbmc6Y2FuY2VsX3RpbWVyKFRyZWYp LAotKwkJICAgICAgIGlmIE9DUiA9PSBLZXkgLT4KLSsJCQkgICAgICAgUGlkICEge2NhcHRjaGFf c3VjY2VlZCwgQXJnc30sCi0rCQkJICAgICAgIG9rOwotKwkJCSAgdHJ1ZSAtPgotKwkJCSAgICAg ICBQaWQgISB7Y2FwdGNoYV9mYWlsZWQsIEFyZ3N9LAotKwkJCSAgICAgICB7ZXJyb3IsIGJhZF9t YXRjaH0KLSsJCSAgICAgICBlbmQ7Ci0rCQkgICBfIC0+Ci0rCQkgICAgICAge2Vycm9yLCBub3Rf Zm91bmR9Ci0rCSAgICAgICBlbmQpCi0rICAgIGVuZDsKLStwcm9jZXNzX3JlcGx5KF8pIC0+Ci0r ICAgIHtlcnJvciwgbWFsZm9ybWVkfS4KLSsKLStwcm9jZXNzKF9IYW5kbGVycywgI3JlcXVlc3R7 bWV0aG9kPSdHRVQnLCBsYW5nPUxhbmcsIHBhdGg9W18sIElkXX0pIC0+Ci0rICAgIGNhc2UgbW5l c2lhOmRpcnR5X3JlYWQoY2FwdGNoYSwgSWQpIG9mCi0rCVsjY2FwdGNoYXt9XSAtPgotKwkgICAg Rm9ybSA9Ci0rCQl7eG1sZWxlbWVudCwgImRpdiIsIFt7ImFsaWduIiwgImNlbnRlciJ9XSwKLSsJ CSBbe3htbGVsZW1lbnQsICJmb3JtIiwgW3siYWN0aW9uIiwgZ2V0X3VybChJZCl9LAotKwkJCQkJ eyJuYW1lIiwgImNhcHRjaGEifSwKLSsJCQkJCXsibWV0aG9kIiwgIlBPU1QifV0sCi0rCQkgICBb e3htbGVsZW1lbnQsICJpbWciLCBbeyJzcmMiLCBnZXRfdXJsKElkICsrICIvaW1hZ2UiKX1dLCBb XX0sCi0rCQkgICAge3htbGVsZW1lbnQsICJiciIsIFtdLCBbXX0sCi0rCQkgICAge3htbGNkYXRh LCA/Q0FQVENIQV9URVhUKExhbmcpfSwKLSsJCSAgICB7eG1sZWxlbWVudCwgImJyIiwgW10sIFtd fSwKLSsJCSAgICB7eG1sZWxlbWVudCwgImlucHV0IiwgW3sidHlwZSIsICJ0ZXh0In0sCi0rCQkJ CQkgICB7Im5hbWUiLCAia2V5In0sCi0rCQkJCQkgICB7InNpemUiLCAiMTAifV0sIFtdfSwKLSsJ CSAgICB7eG1sZWxlbWVudCwgImJyIiwgW10sIFtdfSwKLSsJCSAgICB7eG1sZWxlbWVudCwgImlu cHV0IiwgW3sidHlwZSIsICJzdWJtaXQifSwKLSsJCQkJCSAgIHsibmFtZSIsICJlbnRlciJ9LAot KwkJCQkJICAgeyJ2YWx1ZSIsICJPSyJ9XSwgW119XX1dfSwKLSsJICAgIGVqYWJiZXJkX3dlYjpt YWtlX3hodG1sKFtGb3JtXSk7Ci0rCV8gLT4KLSsJICAgIGVqYWJiZXJkX3dlYjplcnJvcihub3Rf Zm91bmQpCi0rICAgIGVuZDsKLSsKLStwcm9jZXNzKF9IYW5kbGVycywgI3JlcXVlc3R7bWV0aG9k PSdHRVQnLCBwYXRoPVtfLCBJZCwgImltYWdlIl19KSAtPgotKyAgICBjYXNlIG1uZXNpYTpkaXJ0 eV9yZWFkKGNhcHRjaGEsIElkKSBvZgotKwlbI2NhcHRjaGF7a2V5PUtleX1dIC0+Ci0rCSAgICBj YXNlIGNyZWF0ZV9pbWFnZShLZXkpIG9mCi0rCQl7b2ssIFR5cGUsIF8sIEltZ30gLT4KLSsJCSAg ICB7MjAwLAotKwkJICAgICBbeyJDb250ZW50LVR5cGUiLCBUeXBlfSwKLSsJCSAgICAgIHsiQ2Fj aGUtQ29udHJvbCIsICJuby1jYWNoZSJ9LAotKwkJICAgICAgeyJMYXN0LU1vZGlmaWVkIiwgaHR0 cGRfdXRpbDpyZmMxMTIzX2RhdGUoKX1dLAotKwkJICAgICBJbWd9OwotKwkJXyAtPgotKwkJICAg IGVqYWJiZXJkX3dlYjplcnJvcihub3RfZm91bmQpCi0rCSAgICBlbmQ7Ci0rCV8gLT4KLSsJICAg IGVqYWJiZXJkX3dlYjplcnJvcihub3RfZm91bmQpCi0rICAgIGVuZDsKLSsKLStwcm9jZXNzKF9I YW5kbGVycywgI3JlcXVlc3R7bWV0aG9kPSdQT1NUJywgcT1RLCBwYXRoPVtfLCBJZF19KSAtPgot KyAgICA/VChjYXNlIG1uZXNpYTpyZWFkKGNhcHRjaGEsIElkLCB3cml0ZSkgb2YKLSsJICAgWyNj YXB0Y2hhe3BpZD1QaWQsIGFyZ3M9QXJncywga2V5PUtleSwgdHJlZj1UcmVmfV0gLT4KLSsJICAg ICAgIG1uZXNpYTpkZWxldGUoe2NhcHRjaGEsIElkfSksCi0rCSAgICAgICBlcmxhbmc6Y2FuY2Vs X3RpbWVyKFRyZWYpLAotKwkgICAgICAgSW5wdXQgPSBwcm9wbGlzdHM6Z2V0X3ZhbHVlKCJrZXki LCBRLCBub25lKSwKLSsJICAgICAgIGlmIElucHV0ID09IEtleSAtPgotKwkJICAgICAgIFBpZCAh IHtjYXB0Y2hhX3N1Y2NlZWQsIEFyZ3N9LAotKwkJICAgICAgIGVqYWJiZXJkX3dlYjptYWtlX3ho dG1sKFtdKTsKLSsJCSAgdHJ1ZSAtPgotKwkJICAgICAgIFBpZCAhIHtjYXB0Y2hhX2ZhaWxlZCwg QXJnc30sCi0rCQkgICAgICAgZWphYmJlcmRfd2ViOmVycm9yKG5vdF9hbGxvd2VkKQotKwkgICAg ICAgZW5kOwotKwkgICBfIC0+Ci0rCSAgICAgICBlamFiYmVyZF93ZWI6ZXJyb3Iobm90X2ZvdW5k KQotKyAgICAgICBlbmQpLgotKwotKyUlPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSslJSBnZW5fc2VydmVyIGNhbGxi YWNrcwotKyUlPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KLStpbml0KFtdKSAtPgotKyAgICBtbmVzaWE6Y3JlYXRlX3Rh YmxlKGNhcHRjaGEsCi0rCQkJW3tyYW1fY29waWVzLCBbbm9kZSgpXX0sCi0rCQkJIHthdHRyaWJ1 dGVzLCByZWNvcmRfaW5mbyhmaWVsZHMsIGNhcHRjaGEpfV0pLAotKyAgICBtbmVzaWE6YWRkX3Rh YmxlX2NvcHkoY2FwdGNoYSwgbm9kZSgpLCByYW1fY29waWVzKSwKLSsgICAge29rLCAjc3RhdGV7 fX0uCi0rCi0raGFuZGxlX2NhbGwoX1JlcXVlc3QsIF9Gcm9tLCBTdGF0ZSkgLT4KLSsgICAge3Jl cGx5LCBiYWRfcmVxdWVzdCwgU3RhdGV9LgotKwotK2hhbmRsZV9jYXN0KF9Nc2csIFN0YXRlKSAt PgotKyAgICB7bm9yZXBseSwgU3RhdGV9LgotKwotK2hhbmRsZV9pbmZvKHtyZW1vdmVfaWQsIElk fSwgU3RhdGUpIC0+Ci0rICAgID9ERUJVRygiY2FwdGNoYSB+cCB0aW1lZCBvdXQiLCBbSWRdKSwK LSsgICAgP1QoY2FzZSBtbmVzaWE6cmVhZChjYXB0Y2hhLCBJZCwgd3JpdGUpIG9mCi0rCSAgIFsj Y2FwdGNoYXthcmdzPUFyZ3MsIHBpZD1QaWR9XSAtPgotKwkgICAgICAgUGlkICEge2NhcHRjaGFf ZmFpbGVkLCBBcmdzfSwKLSsJICAgICAgIG1uZXNpYTpkZWxldGUoe2NhcHRjaGEsIElkfSk7Ci0r CSAgIF8gLT4KLSsJICAgICAgIG9rCi0rICAgICAgIGVuZCksCi0rICAgIHtub3JlcGx5LCBTdGF0 ZX07Ci0rCi0raGFuZGxlX2luZm8oX0luZm8sIFN0YXRlKSAtPgotKyAgICB7bm9yZXBseSwgU3Rh dGV9LgotKwotK3Rlcm1pbmF0ZShfUmVhc29uLCBfU3RhdGUpIC0+Ci0rICAgIG9rLgotKwotK2Nv ZGVfY2hhbmdlKF9PbGRWc24sIFN0YXRlLCBfRXh0cmEpIC0+Ci0rICAgIHtvaywgU3RhdGV9Lgot KwotKyUlLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KLSslJSUgSW50ZXJuYWwgZnVuY3Rpb25zCi0rJSUtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQotKyUlLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KLSslJSBGdW5jdGlvbjogY3JlYXRlX2ltYWdlKCkgLT4ge29rLCBU eXBlLCBLZXksIEltYWdlfSB8IHtlcnJvciwgUmVhc29ufQotKyUlIFR5cGUgPSAiaW1hZ2UvcG5n IiB8ICJpbWFnZS9qcGVnIiB8ICJpbWFnZS9naWYiCi0rJSUgS2V5ID0gc3RyaW5nKCkKLSslJSBJ bWFnZSA9IGJpbmFyeSgpCi0rJSUgUmVhc29uID0gYXRvbSgpCi0rJSUtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotK2Ny ZWF0ZV9pbWFnZSgpIC0+Ci0rICAgICUlIFNpeCBudW1iZXJzIGZyb20gMSB0byA5LgotKyAgICBL ZXkgPSBzdHJpbmc6c3Vic3RyKHJhbmRvbXM6Z2V0X3N0cmluZygpLCAxLCA2KSwKLSsgICAgY3Jl YXRlX2ltYWdlKEtleSkuCi0rCi0rY3JlYXRlX2ltYWdlKEtleSkgLT4KLSsgICAgRmlsZU5hbWUg PSBnZXRfcHJvZ19uYW1lKCksCi0rICAgIENtZCA9IGxpc3RzOmZsYXR0ZW4oaW9fbGliOmZvcm1h dCgifnMgfnMiLCBbRmlsZU5hbWUsIEtleV0pKSwKLSsgICAgY2FzZSBjbWQoQ21kKSBvZgotKwl7 b2ssIDw8MTYjODksICRQLCAkTiwgJEcsICRcciwgJFxuLCAxNiMxYSwgJFxuLCBfL2JpbmFyeT4+ ID0gSW1nfSAtPgotKwkgICAge29rLCAiaW1hZ2UvcG5nIiwgS2V5LCBJbWd9OwotKwl7b2ssIDw8 MTYjZmYsIDE2I2Q4LCBfL2JpbmFyeT4+ID0gSW1nfSAtPgotKwkgICAge29rLCAiaW1hZ2UvanBl ZyIsIEtleSwgSW1nfTsKLSsJe29rLCA8PCRHLCAkSSwgJEYsICQ4LCBYLCAkYSwgXy9iaW5hcnk+ PiA9IEltZ30gd2hlbiBYPT0kNzsgWD09JDkgLT4KLSsJICAgIHtvaywgImltYWdlL2dpZiIsIEtl eSwgSW1nfTsKLSsJe2Vycm9yLCBSZWFzb259IC0+Ci0rCSAgICA/RVJST1JfTVNHKCJGYWlsZWQg dG8gcHJvY2VzcyBhbiBvdXRwdXQgZnJvbSBcIn5zXCI6IH5wIiwKLSsJCSAgICAgICBbQ21kLCBS ZWFzb25dKSwKLSsJICAgIHtlcnJvciwgUmVhc29ufTsKLSsJXyAtPgotKwkgICAgUmVhc29uID0g bWFsZm9ybWVkX2ltYWdlLAotKwkgICAgP0VSUk9SX01TRygiRmFpbGVkIHRvIHByb2Nlc3MgYW4g b3V0cHV0IGZyb20gXCJ+c1wiOiB+cCIsCi0rCQkgICAgICAgW0NtZCwgUmVhc29uXSksCi0rCSAg ICB7ZXJyb3IsIFJlYXNvbn0KLSsgICAgZW5kLgotKwotK2dldF9wcm9nX25hbWUoKSAtPgotKyAg ICBjYXNlIGVqYWJiZXJkX2NvbmZpZzpnZXRfbG9jYWxfb3B0aW9uKGNhcHRjaGFfY21kKSBvZgot KwlGaWxlTmFtZSB3aGVuIGlzX2xpc3QoRmlsZU5hbWUpIC0+Ci0rCSAgICBGaWxlTmFtZTsKLSsJ XyAtPgotKwkgICAgIiIKLSsgICAgZW5kLgotKwotK2dldF91cmwoU3RyKSAtPgotKyAgICBjYXNl IGVqYWJiZXJkX2NvbmZpZzpnZXRfbG9jYWxfb3B0aW9uKGNhcHRjaGFfaG9zdCkgb2YKLSsJSG9z dCB3aGVuIGlzX2xpc3QoSG9zdCkgLT4KLSsJICAgICJodHRwOi8vIiArKyBIb3N0ICsrICIvY2Fw dGNoYS8iICsrIFN0cjsKLSsJXyAtPgotKwkgICAgImh0dHA6Ly8iICsrID9NWU5BTUUgKysgIi9j YXB0Y2hhLyIgKysgU3RyCi0rICAgIGVuZC4KLSsKLSslJS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0rJSUgRnVuY3Rp b246IGNtZChDbWQpIC0+IERhdGEgfCB7ZXJyb3IsIFJlYXNvbn0KLSslJSBDbWQgPSBzdHJpbmco KQotKyUlIERhdGEgPSBiaW5hcnkoKQotKyUlIERlc2NyaXB0aW9uOiBvczpjbWQvMSByZXBsYWNl bWVudAotKyUlLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KLSstZGVmaW5lKENNRF9USU1FT1VULCA1MDAwKS4KLSstZGVm aW5lKE1BWF9GSUxFX1NJWkUsIDY0KjEwMjQpLgotKwotK2NtZChDbWQpIC0+Ci0rICAgIFBvcnQg PSBvcGVuX3BvcnQoe3NwYXduLCBDbWR9LCBbc3RyZWFtLCBlb2YsIGJpbmFyeV0pLAotKyAgICBU UmVmID0gZXJsYW5nOnN0YXJ0X3RpbWVyKD9DTURfVElNRU9VVCwgc2VsZigpLCB0aW1lb3V0KSwK LSsgICAgcmVjdl9kYXRhKFBvcnQsIFRSZWYsIDw8Pj4pLgotKwotK3JlY3ZfZGF0YShQb3J0LCBU UmVmLCBCdWYpIC0+Ci0rICAgIHJlY2VpdmUKLSsJe1BvcnQsIHtkYXRhLCBCeXRlc319IC0+Ci0r CSAgICBOZXdCdWYgPSA8PEJ1Zi9iaW5hcnksIEJ5dGVzL2JpbmFyeT4+LAotKwkgICAgaWYgc2l6 ZShOZXdCdWYpID4gP01BWF9GSUxFX1NJWkUgLT4KLSsJCSAgICByZXR1cm4oUG9ydCwgVFJlZiwg e2Vycm9yLCBlZmJpZ30pOwotKwkgICAgICAgdHJ1ZSAtPgotKwkJICAgIHJlY3ZfZGF0YShQb3J0 LCBUUmVmLCBOZXdCdWYpCi0rCSAgICBlbmQ7Ci0rCXtQb3J0LCB7ZGF0YSwgX319IC0+Ci0rCSAg ICByZXR1cm4oUG9ydCwgVFJlZiwge2Vycm9yLCBlZmJpZ30pOwotKwl7UG9ydCwgZW9mfSB3aGVu IEJ1ZiAvPSA8PD4+IC0+Ci0rCSAgICByZXR1cm4oUG9ydCwgVFJlZiwge29rLCBCdWZ9KTsKLSsJ e1BvcnQsIGVvZn0gLT4KLSsJICAgIHJldHVybihQb3J0LCBUUmVmLCB7ZXJyb3IsIGVub2RhdGF9 KTsKLSsJe3RpbWVvdXQsIFRSZWYsIF99IC0+Ci0rCSAgICByZXR1cm4oUG9ydCwgVFJlZiwge2Vy cm9yLCB0aW1lb3V0fSkKLSsgICAgZW5kLgotKwotK3JldHVybihQb3J0LCBUUmVmLCBSZXN1bHQp IC0+Ci0rICAgIGNhc2UgZXJsYW5nOmNhbmNlbF90aW1lcihUUmVmKSBvZgotKwlmYWxzZSAtPgot KwkgICAgcmVjZWl2ZQotKwkJe3RpbWVvdXQsIFRSZWYsIF99IC0+Ci0rCQkgICAgb2sKLSsJICAg IGFmdGVyIDAgLT4KLSsJCSAgICBvawotKwkgICAgZW5kOwotKwlfIC0+Ci0rCSAgICBvawotKyAg ICBlbmQsCi0rICAgIGNhdGNoIHBvcnRfY2xvc2UoUG9ydCksCi0rICAgIFJlc3VsdC4KLWRpZmYg LXVyTiBlamFiYmVyZC0yLjAuNC9zcmMvZWphYmJlcmRfY29uZmlnLmVybCBlamFiYmVyZC0yLjAu NC1uZXcvc3JjL2VqYWJiZXJkX2NvbmZpZy5lcmwKLS0tLSBlamFiYmVyZC0yLjAuNC9zcmMvZWph YmJlcmRfY29uZmlnLmVybAkyMDA5LTAzLTEyIDA5OjQxOjAyLjAwMDAwMDAwMCArMDEwMAotKysr IGVqYWJiZXJkLTIuMC40LW5ldy9zcmMvZWphYmJlcmRfY29uZmlnLmVybAkyMDA5LTAzLTE0IDEx OjQzOjM1LjAwMDAwMDAwMCArMDEwMAotQEAgLTE2NCw2ICsxNjQsMTAgQEAKLSAJICAgIGFkZF9v cHRpb24od2F0Y2hkb2dfYWRtaW5zLCBBZG1pbnMsIFN0YXRlKTsKLSAJe3JlZ2lzdHJhdGlvbl90 aW1lb3V0LCBUaW1lb3V0fSAtPgotIAkgICAgYWRkX29wdGlvbihyZWdpc3RyYXRpb25fdGltZW91 dCwgVGltZW91dCwgU3RhdGUpOwotKwl7Y2FwdGNoYV9jbWQsIENtZH0gLT4KLSsJICAgIGFkZF9v cHRpb24oY2FwdGNoYV9jbWQsIENtZCwgU3RhdGUpOwotKwl7Y2FwdGNoYV9ob3N0LCBIb3N0fSAt PgotKyAgICAgICAgICAgIGFkZF9vcHRpb24oY2FwdGNoYV9ob3N0LCBIb3N0LCBTdGF0ZSk7Ci0g CXtsb2dsZXZlbCwgTG9nbGV2ZWx9IC0+Ci0gCSAgICBlamFiYmVyZF9sb2dsZXZlbDpzZXQoTG9n bGV2ZWwpLAotIAkgICAgU3RhdGU7Ci1kaWZmIC11ck4gZWphYmJlcmQtMi4wLjQvc3JjL2VqYWJi ZXJkX3N1cC5lcmwgZWphYmJlcmQtMi4wLjQtbmV3L3NyYy9lamFiYmVyZF9zdXAuZXJsCi0tLS0g ZWphYmJlcmQtMi4wLjQvc3JjL2VqYWJiZXJkX3N1cC5lcmwJMjAwOS0wMy0xMiAwOTo0MTowMi4w MDAwMDAwMDAgKzAxMDAKLSsrKyBlamFiYmVyZC0yLjAuNC1uZXcvc3JjL2VqYWJiZXJkX3N1cC5l cmwJMjAwOS0wMy0xNCAxMjozNjo0My4wMDAwMDAwMDAgKzAxMDAKLUBAIC04NCw2ICs4NCwxMyBA QAotIAkgYnJ1dGFsX2tpbGwsCi0gCSB3b3JrZXIsCi0gCSBbZWphYmJlcmRfbG9jYWxdfSwKLSsg ICAgQ2FwdGNoYSA9Ci0rCXtlamFiYmVyZF9jYXB0Y2hhLAotKwkge2VqYWJiZXJkX2NhcHRjaGEs IHN0YXJ0X2xpbmssIFtdfSwKLSsJIHBlcm1hbmVudCwKLSsJIGJydXRhbF9raWxsLAotKwkgd29y a2VyLAotKwkgW2VqYWJiZXJkX2NhcHRjaGFdfSwKLSAgICAgTGlzdGVuZXIgPQotIAl7ZWphYmJl cmRfbGlzdGVuZXIsCi0gCSB7ZWphYmJlcmRfbGlzdGVuZXIsIHN0YXJ0X2xpbmssIFtdfSwKLUBA IC0xNzAsNiArMTc3LDcgQEAKLSAJICAgU00sCi0gCSAgIFMyUywKLSAJICAgTG9jYWwsCi0rICAg ICAgICAgICBDYXB0Y2hhLAotIAkgICBSZWNlaXZlclN1cGVydmlzb3IsCi0gCSAgIEMyU1N1cGVy dmlzb3IsCi0gCSAgIFMyU0luU3VwZXJ2aXNvciwKLWRpZmYgLXVyTiBlamFiYmVyZC0yLjAuNC9z cmMvamxpYi5ocmwgZWphYmJlcmQtMi4wLjQtbmV3L3NyYy9qbGliLmhybAotLS0tIGVqYWJiZXJk LTIuMC40L3NyYy9qbGliLmhybAkyMDA5LTAzLTEyIDA5OjQxOjAyLjAwMDAwMDAwMCArMDEwMAot KysrIGVqYWJiZXJkLTIuMC40LW5ldy9zcmMvamxpYi5ocmwJMjAwOS0wMy0xNCAxMTo0MTo0Ni4w MDAwMDAwMDAgKzAxMDAKLUBAIC03NCw2ICs3NCwxMiBAQAotIAotIC1kZWZpbmUoTlNfQ0FQUywg ICAgICAgICAgImh0dHA6Ly9qYWJiZXIub3JnL3Byb3RvY29sL2NhcHMiKS4KLSAKLSslJSBDQVBU Q0hBIHJlbGF0ZWQgTlNlcy4KLSstZGVmaW5lKE5TX09PQiwgImphYmJlcjp4Om9vYiIpLgotKy1k ZWZpbmUoTlNfQ0FQVENIQSwgInVybjp4bXBwOmNhcHRjaGEiKS4KLSstZGVmaW5lKE5TX01FRElB LCAidXJuOnhtcHA6bWVkaWEtZWxlbWVudCIpLgotKy1kZWZpbmUoTlNfQk9CLCAidXJuOnhtcHA6 Ym9iIikuCi0rCi0gJSBUT0RPOiByZW1vdmUgImNvZGUiIGF0dHJpYnV0ZSAoY3VycmVudGx5IGl0 IHVzZWQgZm9yIGJhY2t3YXJkLWNvbXBhdGliaWxpdHkpCi0gLWRlZmluZShTVEFOWkFfRVJST1Io Q29kZSwgVHlwZSwgQ29uZGl0aW9uKSwKLSAJe3htbGVsZW1lbnQsICJlcnJvciIsCi1kaWZmIC11 ck4gZWphYmJlcmQtMi4wLjQvc3JjL21vZF9tdWMvbW9kX211Y19yb29tLmVybCBlamFiYmVyZC0y LjAuNC1uZXcvc3JjL21vZF9tdWMvbW9kX211Y19yb29tLmVybAotLS0tIGVqYWJiZXJkLTIuMC40 L3NyYy9tb2RfbXVjL21vZF9tdWNfcm9vbS5lcmwJMjAwOS0wMy0xMiAwOTo0MTowMi4wMDAwMDAw MDAgKzAxMDAKLSsrKyBlamFiYmVyZC0yLjAuNC1uZXcvc3JjL21vZF9tdWMvbW9kX211Y19yb29t LmVybAkyMDA5LTAzLTE0IDExOjQwOjQwLjAwMDAwMDAwMCArMDEwMAotQEAgLTY5LDYgKzY5LDcg QEAKLSAJCSBwdWJsaWNfbGlzdCA9IHRydWUsCi0gCQkgcGVyc2lzdGVudCA9IGZhbHNlLAotIAkJ IG1vZGVyYXRlZCA9IHRydWUsCi0rCQkgY2FwdGNoYV9wcm90ZWN0ZWQgPSBmYWxzZSwKLSAJCSBt ZW1iZXJzX2J5X2RlZmF1bHQgPSB0cnVlLAotIAkJIG1lbWJlcnNfb25seSA9IGZhbHNlLAotIAkJ IGFsbG93X3VzZXJfaW52aXRlcyA9IGZhbHNlLAotQEAgLTk4LDYgKzk5LDcgQEAKLSAJCWppZCwK LSAJCWNvbmZpZyA9ICNjb25maWd7fSwKLSAJCXVzZXJzID0gP0RJQ1Q6bmV3KCksCi0rCQlyb2Jv dHMgPSA/RElDVDpuZXcoKSwKLSAJCWFmZmlsaWF0aW9ucyA9ID9ESUNUOm5ldygpLAotIAkJaGlz dG9yeSA9IGxxdWV1ZV9uZXcoMjApLAotIAkJc3ViamVjdCA9ICIiLAotQEAgLTM4Miw3ICszODQs OCBAQAotIAkgICAgICAoWE1MTlMgPT0gP05TX01VQ19BRE1JTikgb3IKLSAJICAgICAgKFhNTE5T ID09ID9OU19NVUNfT1dORVIpIG9yCi0gCSAgICAgIChYTUxOUyA9PSA/TlNfRElTQ09fSU5GTykg b3IKLS0JICAgICAgKFhNTE5TID09ID9OU19ESVNDT19JVEVNUykgLT4KLSsJICAgICAgKFhNTE5T ID09ID9OU19ESVNDT19JVEVNUykgb3IgCi0rCSAgICAgIChYTUxOUyA9PSA/TlNfQ0FQVENIQSkg LT4KLSAJICAgIFJlczEgPSBjYXNlIFhNTE5TIG9mCi0gCQkgICAgICAgP05TX01VQ19BRE1JTiAt PgotIAkJCSAgIHByb2Nlc3NfaXFfYWRtaW4oRnJvbSwgVHlwZSwgTGFuZywgU3ViRWwsIFN0YXRl RGF0YSk7Ci1AQCAtMzkxLDcgKzM5NCw5IEBACi0gCQkgICAgICAgP05TX0RJU0NPX0lORk8gLT4K LSAJCQkgICBwcm9jZXNzX2lxX2Rpc2NvX2luZm8oRnJvbSwgVHlwZSwgTGFuZywgU3RhdGVEYXRh KTsKLSAJCSAgICAgICA/TlNfRElTQ09fSVRFTVMgLT4KLS0JCQkgICBwcm9jZXNzX2lxX2Rpc2Nv X2l0ZW1zKEZyb20sIFR5cGUsIExhbmcsIFN0YXRlRGF0YSkKLSsJCQkgICBwcm9jZXNzX2lxX2Rp c2NvX2l0ZW1zKEZyb20sIFR5cGUsIExhbmcsIFN0YXRlRGF0YSk7Ci0rCQkgICAgICAgP05TX0NB UFRDSEEgLT4KLSsJCQkgICBwcm9jZXNzX2lxX2NhcHRjaGEoRnJvbSwgVHlwZSwgTGFuZywgU3Vi RWwsIFN0YXRlRGF0YSkKLSAJCSAgIGVuZCwKLSAJICAgIHtJUVJlcywgTmV3U3RhdGVEYXRhfSA9 Ci0gCQljYXNlIFJlczEgb2YKLUBAIC03NjEsNiArNzY2LDMwIEBACi0gCXtlbXB0eSwgX30gLT4K LSAJICAgIHtuZXh0X3N0YXRlLCBTdGF0ZU5hbWUsIFN0YXRlRGF0YX0KLSAgICAgZW5kOwotK2hh bmRsZV9pbmZvKHtjYXB0Y2hhX3N1Y2NlZWQsIEZyb219LCBub3JtYWxfc3RhdGUsIFN0YXRlRGF0 YSkgLT4KLSsgICAgTmV3U3RhdGUgPSBjYXNlID9ESUNUOmZpbmQoRnJvbSwgU3RhdGVEYXRhI3N0 YXRlLnJvYm90cykgb2YKLSsJCSAgIHtvaywge05pY2ssIFBhY2tldH19IC0+Ci0rCQkgICAgICAg Um9ib3RzID0gP0RJQ1Q6c3RvcmUoRnJvbSwgcGFzc2VkLCBTdGF0ZURhdGEjc3RhdGUucm9ib3Rz KSwKLSsJCSAgICAgICBhZGRfbmV3X3VzZXIoRnJvbSwgTmljaywgUGFja2V0LCBTdGF0ZURhdGEj c3RhdGV7cm9ib3RzPVJvYm90c30pOwotKwkJICAgXyAtPgotKwkJICAgICAgIFN0YXRlRGF0YQot KwkgICAgICAgZW5kLAotKyAgICB7bmV4dF9zdGF0ZSwgbm9ybWFsX3N0YXRlLCBOZXdTdGF0ZX07 Ci0raGFuZGxlX2luZm8oe2NhcHRjaGFfZmFpbGVkLCBGcm9tfSwgbm9ybWFsX3N0YXRlLCBTdGF0 ZURhdGEpIC0+Ci0rICAgIE5ld1N0YXRlID0gY2FzZSA/RElDVDpmaW5kKEZyb20sIFN0YXRlRGF0 YSNzdGF0ZS5yb2JvdHMpIG9mCi0rCQkgICB7b2ssIHtOaWNrLCBQYWNrZXR9fSAtPgotKwkJICAg ICAgIFJvYm90cyA9ID9ESUNUOmVyYXNlKEZyb20sIFN0YXRlRGF0YSNzdGF0ZS5yb2JvdHMpLAot KwkJICAgICAgIEVyciA9IGpsaWI6bWFrZV9lcnJvcl9yZXBseSgKLSsJCQkgICAgICAgUGFja2V0 LCA/RVJSX05PVF9BVVRIT1JJWkVEKSwKLSsJCSAgICAgICBlamFiYmVyZF9yb3V0ZXI6cm91dGUo ICUgVE9ETzogcy9OaWNrLyIiLwotKwkJCSBqbGliOmppZF9yZXBsYWNlX3Jlc291cmNlKAotKwkJ CSAgIFN0YXRlRGF0YSNzdGF0ZS5qaWQsIE5pY2spLAotKwkJCSBGcm9tLCBFcnIpLAotKwkJICAg ICAgIFN0YXRlRGF0YSNzdGF0ZXtyb2JvdHM9Um9ib3RzfTsKLSsJCSAgIF8gLT4KLSsJCSAgICAg ICBTdGF0ZURhdGEKLSsJICAgICAgIGVuZCwKLSsgICAge25leHRfc3RhdGUsIG5vcm1hbF9zdGF0 ZSwgTmV3U3RhdGV9OwotIGhhbmRsZV9pbmZvKF9JbmZvLCBTdGF0ZU5hbWUsIFN0YXRlRGF0YSkg LT4KLSAgICAge25leHRfc3RhdGUsIFN0YXRlTmFtZSwgU3RhdGVEYXRhfS4KLSAKLUBAIC0xNDYx LDcgKzE0OTAsOCBAQAotIAkgICAgICBGcm9tLCBFcnIpLAotIAkgICAgU3RhdGVEYXRhOwotIAl7 XywgXywgXywgUm9sZX0gLT4KLS0JICAgIGNhc2UgY2hlY2tfcGFzc3dvcmQoU2VydmljZUFmZmls aWF0aW9uLCBFbHMsIFN0YXRlRGF0YSkgb2YKLSsJICAgIGNhc2UgY2hlY2tfcGFzc3dvcmQoU2Vy dmljZUFmZmlsaWF0aW9uLCBBZmZpbGlhdGlvbiwKLSsJCQkJRWxzLCBGcm9tLCBTdGF0ZURhdGEp IG9mCi0gCQl0cnVlIC0+Ci0gCQkgICAgTmV3U3RhdGUgPQotIAkJCWFkZF91c2VyX3ByZXNlbmNl KAotQEAgLTE0OTQsNyArMTUyNCw4IEBACi0gCQkJdHJ1ZSAtPgotIAkJCSAgICBOZXdTdGF0ZSNz dGF0ZXtqdXN0X2NyZWF0ZWQgPSBmYWxzZX07Ci0gCQkJZmFsc2UgLT4KLS0JCQkgICAgTmV3U3Rh dGUKLSsJCQkgICAgUm9ib3RzID0gP0RJQ1Q6ZXJhc2UoRnJvbSwgU3RhdGVEYXRhI3N0YXRlLnJv Ym90cyksCi0rCQkJICAgIE5ld1N0YXRlI3N0YXRle3JvYm90cyA9IFJvYm90c30KLSAJCSAgICBl bmQ7Ci0gCQlub3Bhc3MgLT4KLSAJCSAgICBFcnJUZXh0ID0gIlBhc3N3b3JkIHJlcXVpcmVkIHRv IGVudGVyIHRoaXMgcm9vbSIsCi1AQCAtMTUwNSw2ICsxNTM2LDI5IEBACi0gCQkJU3RhdGVEYXRh I3N0YXRlLmppZCwgTmljayksCi0gCQkgICAgICBGcm9tLCBFcnIpLAotIAkJICAgIFN0YXRlRGF0 YTsKLSsgICAgICAgICAgICAgICAgY2FwdGNoYV9yZXF1aXJlZCAtPgotKwkJICAgIElEID0gcmFu ZG9tczpnZXRfc3RyaW5nKCksCi0rCQkgICAgU0lEID0geG1sOmdldF9hdHRyX3MoImlkIiwgQXR0 cnMpLAotKwkJICAgIFJvb21KSUQgPSBTdGF0ZURhdGEjc3RhdGUuamlkLAotKwkJICAgIFRvID0g amxpYjpqaWRfcmVwbGFjZV9yZXNvdXJjZShSb29tSklELCBOaWNrKSwKLSsJCSAgICBjYXNlIGVq YWJiZXJkX2NhcHRjaGE6Y3JlYXRlX2NhcHRjaGEoCi0rCQkJICAgSUQsIFNJRCwgUm9vbUpJRCwg VG8sIExhbmcsIEZyb20pIG9mCi0rCQkJe29rLCBDYXB0Y2hhRWxzfSAtPgotKwkJCSAgICBNc2dQ a3QgPSB7eG1sZWxlbWVudCwgIm1lc3NhZ2UiLCBbeyJpZCIsIElEfV0sIENhcHRjaGFFbHN9LAot KwkJCSAgICBSb2JvdHMgPSA/RElDVDpzdG9yZShGcm9tLAotKwkJCQkJCSB7TmljaywgUGFja2V0 fSwgU3RhdGVEYXRhI3N0YXRlLnJvYm90cyksCi0rCQkJICAgIGVqYWJiZXJkX3JvdXRlcjpyb3V0 ZShSb29tSklELCBGcm9tLCBNc2dQa3QpLAotKwkJCSAgICBTdGF0ZURhdGEjc3RhdGV7cm9ib3Rz ID0gUm9ib3RzfTsKLSsJCQllcnJvciAtPgotKwkJCSAgICBFcnJUZXh0ID0gIlVuYWJsZSB0byBn ZW5lcmF0ZSBhIGNhcHRjaGEiLAotKwkJCSAgICBFcnIgPSBqbGliOm1ha2VfZXJyb3JfcmVwbHko Ci0rCQkJCSAgICBQYWNrZXQsID9FUlJUX0lOVEVSTkFMX1NFUlZFUl9FUlJPUihMYW5nLCBFcnJU ZXh0KSksCi0rCQkJICAgIGVqYWJiZXJkX3JvdXRlcjpyb3V0ZSggJSBUT0RPOiBzL05pY2svIiIv Ci0rCQkJICAgICAgamxpYjpqaWRfcmVwbGFjZV9yZXNvdXJjZSgKLSsJCQkJU3RhdGVEYXRhI3N0 YXRlLmppZCwgTmljayksCi0rCQkJICAgICAgRnJvbSwgRXJyKSwKLSsJCQkgICAgU3RhdGVEYXRh Ci0rCQkgICAgZW5kOwotIAkJXyAtPgotIAkJICAgIEVyclRleHQgPSAiSW5jb3JyZWN0IHBhc3N3 b3JkIiwKLSAJCSAgICBFcnIgPSBqbGliOm1ha2VfZXJyb3JfcmVwbHkoCi1AQCAtMTUxNywxMyAr MTU3MSwxMyBAQAotIAkgICBlbmQKLSAgICAgZW5kLgotIAotLWNoZWNrX3Bhc3N3b3JkKG93bmVy LCBfRWxzLCBfU3RhdGVEYXRhKSAtPgotK2NoZWNrX3Bhc3N3b3JkKG93bmVyLCBfQWZmaWxpYXRp b24sIF9FbHMsIF9Gcm9tLCBfU3RhdGVEYXRhKSAtPgotICAgICAlJSBEb24ndCBjaGVjayBwYXNz IGlmIHVzZXIgaXMgb3duZXIgaW4gTVVDIHNlcnZpY2UgKGFjY2Vzc19hZG1pbiBvcHRpb24pCi0g ICAgIHRydWU7Ci0tY2hlY2tfcGFzc3dvcmQoX1NlcnZpY2VBZmZpbGlhdGlvbiwgRWxzLCBTdGF0 ZURhdGEpIC0+Ci0rY2hlY2tfcGFzc3dvcmQoX1NlcnZpY2VBZmZpbGlhdGlvbiwgQWZmaWxpYXRp b24sIEVscywgRnJvbSwgU3RhdGVEYXRhKSAtPgotICAgICBjYXNlIChTdGF0ZURhdGEjc3RhdGUu Y29uZmlnKSNjb25maWcucGFzc3dvcmRfcHJvdGVjdGVkIG9mCi0gCWZhbHNlIC0+Ci0tCSAgICB0 cnVlOwotKwkgICAgY2hlY2tfY2FwdGNoYShBZmZpbGlhdGlvbiwgRnJvbSwgU3RhdGVEYXRhKTsK LSAJdHJ1ZSAtPgotIAkgICAgUGFzcyA9IGV4dHJhY3RfcGFzc3dvcmQoRWxzKSwKLSAJICAgIGNh c2UgUGFzcyBvZgotQEAgLTE1MzksNiArMTU5MywxOSBAQAotIAkgICAgZW5kCi0gICAgIGVuZC4K LSAKLStjaGVja19jYXB0Y2hhKEFmZmlsaWF0aW9uLCBGcm9tLCBTdGF0ZURhdGEpIC0+Ci0rICAg IGNhc2UgKFN0YXRlRGF0YSNzdGF0ZS5jb25maWcpI2NvbmZpZy5jYXB0Y2hhX3Byb3RlY3RlZCBv ZgotKwl0cnVlIHdoZW4gQWZmaWxpYXRpb24gPT0gbm9uZSAtPgotKwkgICAgY2FzZSA/RElDVDpm aW5kKEZyb20sIFN0YXRlRGF0YSNzdGF0ZS5yb2JvdHMpIG9mCi0rCQl7b2ssIHBhc3NlZH0gLT4K LSsJCSAgICB0cnVlOwotKwkJXyAtPgotKwkJICAgIGNhcHRjaGFfcmVxdWlyZWQKLSsJICAgIGVu ZDsKLSsJXyAtPgotKwkgICAgdHJ1ZQotKyAgICBlbmQuCi0rCi0gZXh0cmFjdF9wYXNzd29yZChb XSkgLT4KLSAgICAgZmFsc2U7Ci0gZXh0cmFjdF9wYXNzd29yZChbe3htbGVsZW1lbnQsIF9OYW1l LCBBdHRycywgX1N1YkVsc30gPSBFbCB8IEVsc10pIC0+Ci1AQCAtMjcxMyw2ICsyNzgwLDkgQEAK LSAJID9CT09MWEZJRUxEKCJNYWtlIHJvb20gbWVtYmVycy1vbmx5IiwKLSAJCSAgICAgIm11YyNy b29tY29uZmlnX21lbWJlcnNvbmx5IiwKLSAJCSAgICAgQ29uZmlnI2NvbmZpZy5tZW1iZXJzX29u bHkpLAotKwkgP0JPT0xYRklFTEQoIk1ha2Ugcm9vbSBjYXB0Y2hhIHByb3RlY3RlZCIsCi0rCQkg ICAgICJjYXB0Y2hhX3Byb3RlY3RlZCIsCi0rCQkgICAgIENvbmZpZyNjb25maWcuY2FwdGNoYV9w cm90ZWN0ZWQpLAotIAkgP0JPT0xYRklFTEQoIk1ha2Ugcm9vbSBtb2RlcmF0ZWQiLAotIAkJICAg ICAibXVjI3Jvb21jb25maWdfbW9kZXJhdGVkcm9vbSIsCi0gCQkgICAgIENvbmZpZyNjb25maWcu bW9kZXJhdGVkKSwKLUBAIC0yODIzLDYgKzI4OTMsOCBAQAotICAgICA/U0VUX0JPT0xfWE9QVCht ZW1iZXJzX2J5X2RlZmF1bHQsIFZhbCk7Ci0gc2V0X3hvcHRpb24oW3sibXVjI3Jvb21jb25maWdf bWVtYmVyc29ubHkiLCBbVmFsXX0gfCBPcHRzXSwgQ29uZmlnKSAtPgotICAgICA/U0VUX0JPT0xf WE9QVChtZW1iZXJzX29ubHksIFZhbCk7Ci0rc2V0X3hvcHRpb24oW3siY2FwdGNoYV9wcm90ZWN0 ZWQiLCBbVmFsXX0gfCBPcHRzXSwgQ29uZmlnKSAtPgotKyAgICA/U0VUX0JPT0xfWE9QVChjYXB0 Y2hhX3Byb3RlY3RlZCwgVmFsKTsKLSBzZXRfeG9wdGlvbihbeyJtdWMjcm9vbWNvbmZpZ19hbGxv d2ludml0ZXMiLCBbVmFsXX0gfCBPcHRzXSwgQ29uZmlnKSAtPgotICAgICA/U0VUX0JPT0xfWE9Q VChhbGxvd191c2VyX2ludml0ZXMsIFZhbCk7Ci0gc2V0X3hvcHRpb24oW3sibXVjI3Jvb21jb25m aWdfcGFzc3dvcmRwcm90ZWN0ZWRyb29tIiwgW1ZhbF19IHwgT3B0c10sIENvbmZpZykgLT4KLUBA IC0yOTEzLDYgKzI5ODUsNyBAQAotIAkgICAgICA/Q0FTRV9DT05GSUdfT1BUKG1lbWJlcnNfb25s eSk7Ci0gCSAgICAgID9DQVNFX0NPTkZJR19PUFQoYWxsb3dfdXNlcl9pbnZpdGVzKTsKLSAJICAg ICAgP0NBU0VfQ09ORklHX09QVChwYXNzd29yZF9wcm90ZWN0ZWQpOwotKwkgICAgICA/Q0FTRV9D T05GSUdfT1BUKGNhcHRjaGFfcHJvdGVjdGVkKTsKLSAJICAgICAgP0NBU0VfQ09ORklHX09QVChw YXNzd29yZCk7Ci0gCSAgICAgID9DQVNFX0NPTkZJR19PUFQoYW5vbnltb3VzKTsKLSAJICAgICAg P0NBU0VfQ09ORklHX09QVChsb2dnaW5nKTsKLUBAIC0yOTU0LDYgKzMwMjcsNyBAQAotICAgICAg P01BS0VfQ09ORklHX09QVChtZW1iZXJzX29ubHkpLAotICAgICAgP01BS0VfQ09ORklHX09QVChh bGxvd191c2VyX2ludml0ZXMpLAotICAgICAgP01BS0VfQ09ORklHX09QVChwYXNzd29yZF9wcm90 ZWN0ZWQpLAotKyAgICAgP01BS0VfQ09ORklHX09QVChjYXB0Y2hhX3Byb3RlY3RlZCksCi0gICAg ICA/TUFLRV9DT05GSUdfT1BUKHBhc3N3b3JkKSwKLSAgICAgID9NQUtFX0NPTkZJR19PUFQoYW5v bnltb3VzKSwKLSAgICAgID9NQUtFX0NPTkZJR19PUFQobG9nZ2luZyksCi1AQCAtMzA3NCw2ICsz MTQ4LDE3IEBACi0gCSAgICB7ZXJyb3IsID9FUlJfRk9SQklEREVOfQotICAgICBlbmQuCi0gCi0r cHJvY2Vzc19pcV9jYXB0Y2hhKF9Gcm9tLCBnZXQsIF9MYW5nLCBfU3ViRWwsIF9TdGF0ZURhdGEp IC0+Ci0rICAgIHtlcnJvciwgP0VSUl9OT1RfQUxMT1dFRH07Ci0rCi0rcHJvY2Vzc19pcV9jYXB0 Y2hhKF9Gcm9tLCBzZXQsIF9MYW5nLCBTdWJFbCwgU3RhdGVEYXRhKSAtPgotKyAgICBjYXNlIGVq YWJiZXJkX2NhcHRjaGE6cHJvY2Vzc19yZXBseShTdWJFbCkgb2YKLSsJb2sgLT4KLSsJICAgIHty ZXN1bHQsIFtdLCBTdGF0ZURhdGF9OwotKwlfIC0+Ci0rCSAgICB7ZXJyb3IsID9FUlJfTk9UX0FD Q0VQVEFCTEV9Ci0rICAgIGVuZC4KLSsKLSBnZXRfdGl0bGUoU3RhdGVEYXRhKSAtPgotICAgICBj YXNlIChTdGF0ZURhdGEjc3RhdGUuY29uZmlnKSNjb25maWcudGl0bGUgb2YKLSAJIiIgLT4KLWRp ZmYgLXVyTiBlamFiYmVyZC0yLjAuNC9zcmMvd2ViL2VqYWJiZXJkX2h0dHAuZXJsIGVqYWJiZXJk LTIuMC40LW5ldy9zcmMvd2ViL2VqYWJiZXJkX2h0dHAuZXJsCi0tLS0gZWphYmJlcmQtMi4wLjQv c3JjL3dlYi9lamFiYmVyZF9odHRwLmVybAkyMDA5LTAzLTEyIDA5OjQxOjAyLjAwMDAwMDAwMCAr MDEwMAotKysrIGVqYWJiZXJkLTIuMC40LW5ldy9zcmMvd2ViL2VqYWJiZXJkX2h0dHAuZXJsCTIw MDktMDMtMTQgMTA6NTc6MzQuMDAwMDAwMDAwICswMTAwCi1AQCAtMTA2LDYgKzEwNiwxMCBAQAot IAkgICAge3ZhbHVlLCB7cmVxdWVzdF9oYW5kbGVycywgSH19IC0+IEg7Ci0gCSAgICBmYWxzZSAt PiBbXQotICAgICAgICAgZW5kICsrCi0rCWNhc2UgbGlzdHM6bWVtYmVyKGNhcHRjaGEsIE9wdHMp IG9mCi0rCSAgICB0cnVlIC0+IFt7WyJjYXB0Y2hhIl0sIGVqYWJiZXJkX2NhcHRjaGF9XTsKLSsJ ICAgIGZhbHNlIC0+IFtdCi0rCWVuZCArKwotICAgICAgICAgY2FzZSBsaXN0czptZW1iZXIod2Vi X2FkbWluLCBPcHRzKSBvZgotICAgICAgICAgICAgIHRydWUgLT4gW3tbImFkbWluIl0sIGVqYWJi ZXJkX3dlYl9hZG1pbn1dOwotICAgICAgICAgICAgIGZhbHNlIC0+IFtdCi1CaW5hcnkgZmlsZXMg ZWphYmJlcmQtMi4wLjQvdG9vbHMvLkRTX1N0b3JlIGFuZCBlamFiYmVyZC0yLjAuNC1uZXcvdG9v bHMvLkRTX1N0b3JlIGRpZmZlcgotZGlmZiAtdXJOIGVqYWJiZXJkLTIuMC40L3Rvb2xzL2NhcHRj aGEuc2ggZWphYmJlcmQtMi4wLjQtbmV3L3Rvb2xzL2NhcHRjaGEuc2gKLS0tLSBlamFiYmVyZC0y LjAuNC90b29scy9jYXB0Y2hhLnNoCTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAw Ci0rKysgZWphYmJlcmQtMi4wLjQtbmV3L3Rvb2xzL2NhcHRjaGEuc2gJMjAwOS0wMy0xNCAxMTo0 Njo0Mi4wMDAwMDAwMDAgKzAxMDAKLUBAIC0wLDAgKzEsMjEgQEAKLSsjIS9iaW4vc2gKLSsKLStT SUdOPSQoKCRSQU5ET00gJSAyKSkKLSsKLStSMT0kKCgkUkFORE9NICUgMjApKQotK1IyPSQoKCRS QU5ET00gJSAxMCArIDQwKSkKLSsKLStpZiBbICRTSUdOIC1lcSAiMCIgXTsgdGhlbgotKyAgICBT MT0kKCggLTEqKCRSQU5ET00gJSAyMCArIDUwKSApKQotKyAgICBTMj0kKCggJFJBTkRPTSAlIDIw ICsgNTAgKSkKLStlbHNlCi0rICAgIFMyPSQoKCAtMSooJFJBTkRPTSAlIDIwICsgNTApICkpCi0r ICAgIFMxPSQoKCAkUkFORE9NICUgMjAgKyA1MCApKQotK2ZpCi0rCi0rY29udmVydCAtc2l6ZSAx NDB4NjAgeGM6d2hpdGUgXAotKyAgICAtcG9pbnRzaXplIDMwIC1kcmF3ICJ0ZXh0IDIwLDMwICck MSciIFwKLSsgICAgLXJvbGwgLSRSMiskUjEgLXN3aXJsICRTMSBcCi0rICAgIC1yb2xsICskUjIt JFIxIC1zd2lybCAkUzIgXAotKyAgICArcmVwYWdlIC1yZXNpemUgMTIweDYwIFwKLSsgICAgLXF1 YWxpdHkgOTAgLWRlcHRoIDggcG5nOi0KLS0tLSBlamFiYmVyZC0yLjAuNS9DaGFuZ2VMb2d+CTIw MDktMDQtMDEgMTk6MjM6NTIuMDAwMDAwMDAwICswNDAwCi0rKysgZWphYmJlcmQtMi4wLjUvQ2hh bmdlTG9nCTIwMDktMDQtMDMgMjM6NDU6MDMuMTc0OTc5OTQ0ICswNDAwCi1AQCAtMTUsNiArMTUs MTUgQEAKLSAJc3RhbnphIChFSkFCLTMwMCkuCi0gCSogc3JjL2VqYWJiZXJkX2Mycy5lcmw6IExp a2V3aXNlCi0gCi0rMjAwOS0wMy0xMyAgRXZnZW5peSBLaHJhbXRzb3YgPGVraHJhbXRzb3ZAcHJv Y2Vzcy1vbmUubmV0PgotKwotKwkqIHNyYy9lamFiYmVyZF9jYXB0Y2hhLmVybDogWEVQLTE1OCAo Q0FQVENIQSBGb3JtcykuCi0rCSogc3JjL2VqYWJiZXJkX2NvbmZpZy5lcmw6IGxpa2V3aXNlLgot KwkqIHNyYy9lamFiYmVyZF9zdXAuZXJsOiBsaWtld2lzZS4KLSsJKiBzcmMvamxpYi5ocmw6IGxp a2V3aXNlLgotKwkqIHNyYy93ZWIvZWphYmJlcmRfaHR0cC5lcmw6IGxpa2V3aXNlLgotKwkqIHNy Yy9tb2RfbXVjL21vZF9tdWNfcm9vbS5lcmw6IENBUFRDSEEgc3VwcG9ydC4KLSsKLSAyMDA5LTAz LTEwICBCYWRsb3AgIDxiYWRsb3BAcHJvY2Vzcy1vbmUubmV0PgotIAotIAkqIGRvYy9yZWxlYXNl X25vdGVzXzIuMC40LnR4dDogQWRkZWQgZmlsZSBmb3IgbmV3IHJlbGVhc2UKCmRpZmYgLS1naXQg YS9lamFiYmVyZC1kZWNyZWFzZV9idWZmZXJzX2luX21vZF9wcm94eTY1LnBhdGNoIGIvZWphYmJl cmQtZGVjcmVhc2VfYnVmZmVyc19pbl9tb2RfcHJveHk2NS5wYXRjaApkZWxldGVkIGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMmJjYjEzNS4uMDAwMDAwMAotLS0gYS9lamFiYmVyZC1kZWNyZWFzZV9i dWZmZXJzX2luX21vZF9wcm94eTY1LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBA QAotUGF0Y2ggYnkgRXZnZW5peSBLaHJhbXRzb3YgZGVjcmVhc2VzIHByb3h5NjUgYnVmZmVyIHNp emVzIChzaXplIDY1NTM1IGlzIGtub3duCi10byBjb25mdXNlIHVzZXJzIHdpdGggdGlnaHQgc2hh cGVycykuCi0KLUluZGV4OiBzcmMvbW9kX3Byb3h5NjUvbW9kX3Byb3h5NjVfc3RyZWFtLmVybAot PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0tIHNyYy9tb2RfcHJveHk2NS9tb2RfcHJveHk2NV9zdHJlYW0uZXJsCTIw MDktMDQtMDEgMTc6MjM6NTEuMDAwMDAwMDAwICswMjAwCi0rKysgc3JjL21vZF9wcm94eTY1L21v ZF9wcm94eTY1X3N0cmVhbS5lcmwJMjAwOS0wNC0wNSAyMjo1MToyMC4wMDAwMDAwMDAgKzAyMDAK LUBAIC04OSw4ICs4OSw4IEBACi0gICAgIHByb2Nlc3NfZmxhZyh0cmFwX2V4aXQsIHRydWUpLAot ICAgICBBdXRoVHlwZSA9IGdlbl9tb2Q6Z2V0X29wdChhdXRoX3R5cGUsIE9wdHMsIGFub255bW91 cyksCi0gICAgIFNoYXBlciA9IGdlbl9tb2Q6Z2V0X29wdChzaGFwZXIsIE9wdHMsIG5vbmUpLAot LSAgICBSZWN2QnVmID0gZ2VuX21vZDpnZXRfb3B0KHJlY2J1ZiwgT3B0cywgNjU1MzUpLAotLSAg ICBTZW5kQnVmID0gZ2VuX21vZDpnZXRfb3B0KHNuZGJ1ZiwgT3B0cywgNjU1MzUpLAotKyAgICBS ZWN2QnVmID0gZ2VuX21vZDpnZXRfb3B0KHJlY2J1ZiwgT3B0cywgODE5MiksCi0rICAgIFNlbmRC dWYgPSBnZW5fbW9kOmdldF9vcHQoc25kYnVmLCBPcHRzLCA4MTkyKSwKLSAgICAgVFJlZiA9IGVy bGFuZzpzZW5kX2FmdGVyKD9XQUlUX1RJTUVPVVQsIHNlbGYoKSwgc3RvcCksCi0gICAgIGluZXQ6 c2V0b3B0cyhTb2NrZXQsIFt7YWN0aXZlLCB0cnVlfSwge3JlY2J1ZiwgUmVjdkJ1Zn0sIHtzbmRi dWYsIFNlbmRCdWZ9XSksCi0gICAgIHtvaywgd2FpdF9mb3JfaW5pdCwgI3N0YXRle2hvc3QgICAg ICA9IEhvc3QsCgpkaWZmIC0tZ2l0IGEvZWphYmJlcmQtZHluYW1pY19jb21waWxlX2xvZ2xldmVs LnBhdGNoIGIvZWphYmJlcmQtZHluYW1pY19jb21waWxlX2xvZ2xldmVsLnBhdGNoCmRlbGV0ZWQg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MjA4M2EwLi4wMDAwMDAwCi0tLSBhL2VqYWJiZXJkLWR5 bmFtaWNfY29tcGlsZV9sb2dsZXZlbC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDc2OCArMCww IEBACi0tLS0gL2Rldi9udWxsCTE5OTQtMDMtMDggMDE6Mjc6MDguNTA0MDAxNDYwICswMzAwCi0r Kysgc3JjL2R5bmFtaWNfY29tcGlsZS5lcmwJMjAwOS0xMS0wNSAxNjoyNToyNy42NDc0MTc1MTMg KzAzMDAKLUBAIC0wLDAgKzEsMjY5IEBACi0rJSUgQ29weXJpZ2h0IChjKSAyMDA3Ci0rJSUgICAg ICAgICAgTWF0cyBDcm9ucXZpc3QgPG1hdHMuY3JvbnF2aXN0QGVyaWNzc29uLmNvbT4KLSslJSAg ICAgICAgICBDaHJpcyBOZXdjb21iZSA8Y2hyaXMubmV3Y29tYmVAZ21haWwuY29tPiAKLSslJSAg ICAgICAgICBKYWNvYiBWb3JyZXV0ZXIgPGphY29iLnZvcnJldXRlckBnbWFpbC5jb20+Ci0rJSUg Ci0rJSUgUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFu eSBwZXJzb24KLSslJSBvYnRhaW5pbmcgYSBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29j aWF0ZWQgZG9jdW1lbnRhdGlvbgotKyUlIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwg aW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQKLSslJSByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhv dXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwKLSslJSBjb3B5LCBtb2RpZnksIG1lcmdl LCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbAotKyUlIGNvcGll cyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZQotKyUl IFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5n Ci0rJSUgY29uZGl0aW9uczoKLSslJSAKLSslJSBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBh bmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZQotKyUlIGluY2x1ZGVkIGluIGFsbCBj b3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgotKyUlIAotKyUl IFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFO WSBLSU5ELAotKyUlIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRF RCBUTyBUSEUgV0FSUkFOVElFUwotKyUlIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1Ig QSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5ECi0rJSUgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVO VCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQKLSslJSBIT0xERVJTIEJFIExJQUJMRSBG T1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwKLSslJSBXSEVUSEVSIElO IEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKLSslJSBG Uk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNF IE9SCi0rJSUgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgotKwotKyUlJS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KLSslJSUgRmlsZSA6IGR5bmFtaWNfY29tcGlsZS5lcmwKLSslJSUgRGVzY3JpcHRpb24gOgot KyUlJSBBdXRob3JzIDogTWF0cyBDcm9ucXZpc3QgPG1hdHMuY3JvbnF2aXN0QGVyaWNzc29uLmNv bT4KLSslJSUgICAgICAgICAgIENocmlzIE5ld2NvbWJlIDxjaHJpcy5uZXdjb21iZUBnbWFpbC5j b20+IAotKyUlJSAgICAgICAgICAgSmFjb2IgVm9ycmV1dGVyIDxqYWNvYi52b3JyZXV0ZXJAZ21h aWwuY29tPgotKyUlJSBUT0RPIDoKLSslJSUgLSBhZGQgc3VwcG9ydCBmb3IgbGltaXQgaW5jbHVk ZS1maWxlIGRlcHRoIChhbmQgcHJldmVudCBjaXJjdWxhciByZWZlcmVuY2VzKQotKyUlJSAgIHBy ZXZlbnQgY2lyY3VsYXIgbWFjcm8gZXhwYW5zaW9uIHNldCBGSUxFIGNvcnJlY3RseSB3aGVuIC1t b2R1bGUoKSBpcyBmb3VuZAotKyUlJSAtaW5jbHVkZV9saWIgc3VwcG9ydCAkRU5WVkFSIGluIGlu Y2x1ZGUgZmlsZW5hbWVzCi0rJSUlICBzdWJzdGl0dXRlLXN0cmluZ2l6ZSAoPz9NQUNSTykKLSsl JSUgLXVuZGVmLy1pZmRlZi8taWZuZGVmLy1lbHNlLy1lbmRpZgotKyUlJSAtZmlsZShGaWxlLCBM aW5lKQotKyUlJS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KLSstbW9kdWxlKGR5bmFtaWNfY29tcGlsZSkuCi0rCi0rJSUg QVBJCi0rLWV4cG9ydChbZnJvbV9zdHJpbmcvMSwgZnJvbV9zdHJpbmcvMl0pLgotKwotKy1pbXBv cnQobGlzdHMsIFtyZXZlcnNlLzEsIGtleXJlcGxhY2UvNF0pLgotKwotKyUlPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LSslJSBBUEkKLSslJT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0rJSUtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotKyUlIEZ1bmN0aW9uOgot KyUlIERlc2NyaXB0aW9uOgotKyUlICAgUmV0dXJucyBhIGJpbmFyeSB0aGF0IGNhbiBiZSB1c2Vk IHdpdGgKLSslJSAgICAgICAgICAgY29kZTpsb2FkX2JpbmFyeShNb2R1bGUsIE1vZHVsZUZpbGVu YW1lRm9ySW50ZXJuYWxSZWNvcmRzLCBCaW5hcnkpLgotKyUlLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLStmcm9tX3N0 cmluZyhDb2RlU3RyKSAtPgotKyAgICBmcm9tX3N0cmluZyhDb2RlU3RyLCBbXSkuCi0rCi0rJSB0 YWtlcyBPcHRpb25zIGFzIGZvciBjb21waWxlOmZvcm1zLzIKLStmcm9tX3N0cmluZyhDb2RlU3Ry LCBDb21waWxlRm9ybXNPcHRpb25zKSAtPgotKyAgICAlJSBJbml0aWFsaXNlIHRoZSBtYWNybyBk aWN0aW9uYXJ5IHdpdGggdGhlIGRlZmF1bHQgcHJlZGVmaW5lZCBtYWNyb3MsCi0rICAgICUlIChh ZGFwdGVkIGZyb20gZXBwLmVybDpwcmVkZWZfbWFjcm9zLzEKLSsgICAgRmlsZW5hbWUgPSAiY29t cGlsZWRfZnJvbV9zdHJpbmciLAotKyAgICAlJU1hY2hpbmUgID0gbGlzdF90b19hdG9tKGVybGFu ZzpzeXN0ZW1faW5mbyhtYWNoaW5lKSksCi0rICAgIE1zMCAgICA9IGRpY3Q6bmV3KCksCi0rICAg ICUgTXMxICAgID0gZGljdDpzdG9yZSgnRklMRScsICAgICAgICAgIHtbXSwgImNvbXBpbGVkX2Zy b21fc3RyaW5nIn0sIE1zMCksCi0rICAgICUgTXMyICAgID0gZGljdDpzdG9yZSgnTElORScsICAg ICAgICAgIHtbXSwgMX0sIE1zMSksICAlIGFjdHVhbGx5IHdlIG1pZ2h0IGFkZCBzcGVjaWFsIGNv ZGUgZm9yIHRoaXMKLSsgICAgJSBNczMgICAgPSBkaWN0OnN0b3JlKCdNT0RVTEUnLCAgICAgICAg e1tdLCB1bmRlZmluZWR9LCAgICAgICAgICAgICAgTXMyKSwKLSsgICAgJSBNczQgICAgPSBkaWN0 OnN0b3JlKCdNT0RVTEVfU1RSSU5HJywge1tdLCB1bmRlZmluZWR9LCAgICAgICAgICAgICAgTXMz KSwKLSsgICAgJSBNczUgICAgPSBkaWN0OnN0b3JlKCdNQUNISU5FJywgICAgICAge1tdLCBNYWNo aW5lfSwgICAgICAgICAgICAgICAgTXM0KSwKLSsgICAgJSBJbml0TUQgPSBkaWN0OnN0b3JlKE1h Y2hpbmUsICAgICAgICAge1tdLCB0cnVlfSwgICAgICAgICAgICAgICAgICAgTXM1KSwKLSsgICAg SW5pdE1EID0gTXMwLAotKwotKyAgICAlJSBGcm9tIHRoZSBkb2NzIGZvciBjb21waWxlOmZvcm1z OgotKyAgICAlJSAgICBXaGVuIGVuY291bnRlcmluZyBhbiAtaW5jbHVkZSBvciAtaW5jbHVkZV9k aXIgZGlyZWN0aXZlLCB0aGUgY29tcGlsZXIgc2VhcmNoZXMgZm9yIGhlYWRlciBmaWxlcyBpbiB0 aGUgZm9sbG93aW5nIGRpcmVjdG9yaWVzOgotKyAgICAlJSAgICAgIDEuICIuIiwgdGhlIGN1cnJl bnQgd29ya2luZyBkaXJlY3Rvcnkgb2YgdGhlIGZpbGUgc2VydmVyOwotKyAgICAlJSAgICAgIDIu IHRoZSBiYXNlIG5hbWUgb2YgdGhlIGNvbXBpbGVkIGZpbGU7Ci0rICAgICUlICAgICAgMy4gdGhl IGRpcmVjdG9yaWVzIHNwZWNpZmllZCB1c2luZyB0aGUgaSBvcHRpb24uIFRoZSBkaXJlY3Rvcnkg c3BlY2lmaWVkIGxhc3QgaXMgc2VhcmNoZWQgZmlyc3QuCi0rICAgICUlIEluIHRoaXMgY2FzZSwg IzIgaXMgbWVhbmluZ2xlc3MuCi0rICAgIEluY2x1ZGVTZWFyY2hQYXRoID0gWyIuIiB8IHJldmVy c2UoW0RpciB8fCB7aSwgRGlyfSA8LSBDb21waWxlRm9ybXNPcHRpb25zXSldLAotKyAgICB7UmV2 Rm9ybXMsIF9PdXRNYWNyb0RpY3R9ID0gc2Nhbl9hbmRfcGFyc2UoQ29kZVN0ciwgRmlsZW5hbWUs IDEsIFtdLCBJbml0TUQsIEluY2x1ZGVTZWFyY2hQYXRoKSwKLSsgICAgRm9ybXMgPSByZXZlcnNl KFJldkZvcm1zKSwKLSsKLSsgICAgJSUgbm90ZTogJ2JpbmFyeScgaXMgZm9yY2VkIGFzIGFuIGlt cGxpY2l0IG9wdGlvbiwgd2hldGhlciBpdCBpcyBwcm92aWRlZCBvciBub3QuCi0rICAgIGNhc2Ug Y29tcGlsZTpmb3JtcyhGb3JtcywgQ29tcGlsZUZvcm1zT3B0aW9ucykgb2YKLSsgICAgICAgIHtv aywgTW9kdWxlTmFtZSwgQ29tcGlsZWRDb2RlQmluYXJ5fSB3aGVuIGlzX2JpbmFyeShDb21waWxl ZENvZGVCaW5hcnkpIC0+Ci0rICAgICAgICAgICAge01vZHVsZU5hbWUsIENvbXBpbGVkQ29kZUJp bmFyeX07Ci0rICAgICAgICB7b2ssIE1vZHVsZU5hbWUsIENvbXBpbGVkQ29kZUJpbmFyeSwgW119 IHdoZW4gaXNfYmluYXJ5KENvbXBpbGVkQ29kZUJpbmFyeSkgLT4gICUgZW1wdHkgd2FybmluZ3Mg bGlzdAotKyAgICAgICAgICAgIHtNb2R1bGVOYW1lLCBDb21waWxlZENvZGVCaW5hcnl9OwotKyAg ICAgICAge29rLCBfTW9kdWxlTmFtZSwgX0NvbXBpbGVkQ29kZUJpbmFyeSwgV2FybmluZ3N9IC0+ Ci0rICAgICAgICAgICAgdGhyb3coez9NT0RVTEUsIHdhcm5pbmdzLCBXYXJuaW5nc30pOwotKyAg ICAgICAgT3RoZXIgLT4KLSsgICAgICAgICAgICB0aHJvdyh7P01PRFVMRSwgY29tcGlsZV9mb3Jt cywgT3RoZXJ9KQotKyAgICBlbmQuCi0rCi0rJSU9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotKyUlIEludGVybmFsIGZ1 bmN0aW9ucwotKyUlPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLSslJSUgQ29kZSBmcm9tIE1hdHMgQ3JvbnF2aXN0Ci0r JSUlIFNlZSBodHRwOi8vd3d3LmVybGFuZy5vcmcvcGlwZXJtYWlsL2VybGFuZy1xdWVzdGlvbnMv MjAwNy1NYXJjaC8wMjU1MDcuaHRtbAotKyUlJSMjICdzY2FuX2FuZF9wYXJzZScKLSslJSUKLSsl JSUgYmFzaWNhbGx5IHdlIGNhbGwgdGhlIE9UUCBzY2FubmVyIGFuZCBwYXJzZXIgKGVybF9zY2Fu IGFuZAotKyUlJSBlcmxfcGFyc2UpIGxpbmUtYnktbGluZSwgYnV0IGNoZWNrIGVhY2ggc2Nhbm5l ZCBsaW5lIGZvciAob3IKLSslJSUgZGVmaW5pdGlvbnMgb2YpIG1hY3JvcyBiZWZvcmUgcGFyc2lu Zy4KLSslJSByZXR1cm5zIHtSZXZlcnNlRm9ybXMsIEZpbmFsTWFjcm9EaWN0fQotK3NjYW5fYW5k X3BhcnNlKFtdLCBfQ3VyckZpbGVuYW1lLCBfQ3VyckxpbmUsIFJldkZvcm1zLCBNYWNyb0RpY3Qs IF9JbmNsdWRlU2VhcmNoUGF0aCkgLT4KLSsgICAge1JldkZvcm1zLCBNYWNyb0RpY3R9OwotKwot K3NjYW5fYW5kX3BhcnNlKFJlbWFpbmluZ1RleHQsIEN1cnJGaWxlbmFtZSwgQ3VyckxpbmUsIFJl dkZvcm1zLCBNYWNyb0RpY3QsIEluY2x1ZGVTZWFyY2hQYXRoKSAtPgotKyAgICBjYXNlIHNjYW5u ZXIoUmVtYWluaW5nVGV4dCwgQ3VyckxpbmUsIE1hY3JvRGljdCkgb2YKLSsJICAgIHt0b2tlbnMs IE5MaW5lLCBOUmVtYWluaW5nVGV4dCwgVG9rc30gLT4KLSsJICAgICAgICB7b2ssIEZvcm19ID0g ZXJsX3BhcnNlOnBhcnNlX2Zvcm0oVG9rcyksCi0rCSAgICAgICAgc2Nhbl9hbmRfcGFyc2UoTlJl bWFpbmluZ1RleHQsIEN1cnJGaWxlbmFtZSwgTkxpbmUsIFtGb3JtIHwgUmV2Rm9ybXNdLCBNYWNy b0RpY3QsIEluY2x1ZGVTZWFyY2hQYXRoKTsKLSsJICAgIHttYWNybywgTkxpbmUsIE5SZW1haW5p bmdUZXh0LCBOTWFjcm9EaWN0fSAtPgotKwkgICAgICAgIHNjYW5fYW5kX3BhcnNlKE5SZW1haW5p bmdUZXh0LCBDdXJyRmlsZW5hbWUsIE5MaW5lLCBSZXZGb3JtcyxOTWFjcm9EaWN0LCBJbmNsdWRl U2VhcmNoUGF0aCk7Ci0rICAgICAgICB7aW5jbHVkZSwgTkxpbmUsIE5SZW1haW5pbmdUZXh0LCBJ bmNsdWRlRmlsZW5hbWV9IC0+Ci0rICAgICAgICAgICAgSW5jbHVkZUZpbGVSZW1haW5pbmdUZXh0 ZW50cyA9IHJlYWRfaW5jbHVkZV9maWxlKEluY2x1ZGVGaWxlbmFtZSwgSW5jbHVkZVNlYXJjaFBh dGgpLAotKyAgICAgICAgICAgICUlaW86Zm9ybWF0KCJpbmNsdWRlIGZpbGUgfnAgY29udGVudHM6 IH5ufnB+blJlbWFpbmluZ1RleHQgPSB+cH5uIiwgW0luY2x1ZGVGaWxlbmFtZSxJbmNsdWRlRmls ZVJlbWFpbmluZ1RleHRlbnRzLCBSZW1haW5pbmdUZXh0XSksCi0rICAgICAgICAgICAgJSUgTW9k aWZ5IHRoZSBGSUxFIG1hY3JvIHRvIHJlZmxlY3QgdGhlIGZpbGVuYW1lCi0rICAgICAgICAgICAg JSVJbmNsdWRlTWFjcm9EaWN0ID0gZGljdDpzdG9yZSgnRklMRScsIHtbXSxJbmNsdWRlRmlsZW5h bWV9LCBNYWNyb0RpY3QpLAotKyAgICAgICAgICAgIEluY2x1ZGVNYWNyb0RpY3QgPSBNYWNyb0Rp Y3QsCi0rCi0rICAgICAgICAgICAgJSUgUHJvY2VzcyB0aGUgaGVhZGVyIGZpbGUgKGluYy4gYW55 IG5lc3RlZCBoZWFkZXIgZmlsZXMpCi0rICAgICAgICAgICAge1JldkluY2x1ZGVGb3JtcywgSW5j bHVkZWRNYWNyb0RpY3R9ID0gc2Nhbl9hbmRfcGFyc2UoSW5jbHVkZUZpbGVSZW1haW5pbmdUZXh0 ZW50cywgSW5jbHVkZUZpbGVuYW1lLCAxLCBbXSwgSW5jbHVkZU1hY3JvRGljdCwgSW5jbHVkZVNl YXJjaFBhdGgpLAotKyAgICAgICAgICAgICVpbzpmb3JtYXQoImluY2x1ZGUgZmlsZSByZXN1bHRz ID0gfnB+biIsIFtSXSksCi0rICAgICAgICAgICAgJSUgUmVzdG9yZSB0aGUgRklMRSBtYWNybyBp biB0aGUgTkVXIE1hY3JvRGljdCAoc28gd2Uga2VlcCBhbnkgbWFjcm9zIGRlZmluZWQgaW4gdGhl IGhlYWRlciBmaWxlKQotKyAgICAgICAgICAgICUlTk1hY3JvRGljdCA9IGRpY3Q6c3RvcmUoJ0ZJ TEUnLCB7W10sQ3VyckZpbGVuYW1lfSwgSW5jbHVkZWRNYWNyb0RpY3QpLAotKyAgICAgICAgICAg IE5NYWNyb0RpY3QgPSBJbmNsdWRlZE1hY3JvRGljdCwKLSsKLSsgICAgICAgICAgICAlJSBDb250 aW51ZSB3aXRoIHRoZSBvcmlnaW5hbCBmaWxlCi0rCSAgICAgICAgc2Nhbl9hbmRfcGFyc2UoTlJl bWFpbmluZ1RleHQsIEN1cnJGaWxlbmFtZSwgTkxpbmUsIFJldkluY2x1ZGVGb3JtcyArKyBSZXZG b3JtcywgTk1hY3JvRGljdCwgSW5jbHVkZVNlYXJjaFBhdGgpOwotKyAgICAgICAgZG9uZSAtPgot KwkgICAgICAgIHNjYW5fYW5kX3BhcnNlKFtdLCBDdXJyRmlsZW5hbWUsIEN1cnJMaW5lLCBSZXZG b3JtcywgTWFjcm9EaWN0LCBJbmNsdWRlU2VhcmNoUGF0aCkKLSsgICAgZW5kLgotKwotK3NjYW5u ZXIoVGV4dCwgTGluZSwgTWFjcm9EaWN0KSAtPgotKyAgICBjYXNlIGVybF9zY2FuOnRva2Vucyhb XSxUZXh0LExpbmUpIG9mCi0rICAgICAgICB7ZG9uZSwge29rLFRva3MsTkxpbmV9LCBMZWZ0T3Zl ckNoYXJzfSAtPgotKyAgICAgICAgICAgIGNhc2UgcHJlX3Byb2MoVG9rcywgTWFjcm9EaWN0KSBv ZgotKyAgICAgICAgICAgICAgICB7dG9rZW5zLCAgTlRva3N9ICAgICAgLT4ge3Rva2VucywgIE5M aW5lLCBMZWZ0T3ZlckNoYXJzLCBOVG9rc307Ci0rICAgICAgICAgICAgICAgIHttYWNybywgICBO TWFjcm9EaWN0fSAtPiB7bWFjcm8sICAgTkxpbmUsIExlZnRPdmVyQ2hhcnMsIE5NYWNyb0RpY3R9 OwotKyAgICAgICAgICAgICAgICB7aW5jbHVkZSwgRmlsZW5hbWV9ICAgLT4ge2luY2x1ZGUsIE5M aW5lLCBMZWZ0T3ZlckNoYXJzLCBGaWxlbmFtZX0KLSsgICAgICAgICAgICBlbmQ7Ci0rICAgICAg ICB7bW9yZSwgX0NvbnRpbnVhdGlvbn0gLT4KLSsgICAgICAgICAgICAlJSBUaGlzIGlzIHN1cHBv c2VkIHRvIG1lYW4gInRlcm0gaXMgbm90IHlldCBjb21wbGV0ZSIgKGkuZS4gYSAnLicgaGFzCi0r ICAgICAgICAgICAgJSUgbm90IGJlZW4gcmVhY2hlZCB5ZXQpLgotKyAgICAgICAgICAgICUlIEhv d2V2ZXIsIGZvciBzb21lIGJpemFycmUgcmVhc29uIHdlIGFsc28gZ2V0IHRoaXMgaWYgdGhlcmUg aXMgYSBjb21tZW50IGFmdGVyIHRoZSBmaW5hbCAnLicgaW4gYSBmaWxlLgotKyAgICAgICAgICAg ICUlIFNvIHdlIGNoZWNrIHRvIHNlZSBpZiBUZXh0IG9ubHkgY29uc2lzdHMgb2YgY29tbWVudHMu Ci0rICAgICAgICAgICAgY2FzZSBpc19vbmx5X2NvbW1lbnRzKFRleHQpIG9mCi0rICAgICAgICAg ICAgICAgIHRydWUgIC0+Ci0rICAgICAgICAgICAgICAgICAgICBkb25lOwotKyAgICAgICAgICAg ICAgICBmYWxzZSAtPgotKyAgICAgICAgICAgICAgICAgICAgdGhyb3coe2luY29tcGxldGVfdGVy bSwgVGV4dCwgTGluZX0pCi0rICAgICAgICAgICAgZW5kCi0rICAgIGVuZC4KLSsKLStpc19vbmx5 X2NvbW1lbnRzKFRleHQpIC0+IGlzX29ubHlfY29tbWVudHMoVGV4dCwgbm90X2luX2NvbW1lbnQp LgotKwotK2lzX29ubHlfY29tbWVudHMoW10sICAgICAgIF8pICAgICAgICAgICAgICAtPiB0cnVl OwotK2lzX29ubHlfY29tbWVudHMoWyQgICB8VF0sIG5vdF9pbl9jb21tZW50KSAtPiBpc19vbmx5 X2NvbW1lbnRzKFQsIG5vdF9pbl9jb21tZW50KTsgJSBza2lwcGluZyB3aGl0c3BhY2Ugb3V0c2lk ZSBvZiBjb21tZW50Ci0raXNfb25seV9jb21tZW50cyhbJFx0IHxUXSwgbm90X2luX2NvbW1lbnQp IC0+IGlzX29ubHlfY29tbWVudHMoVCwgbm90X2luX2NvbW1lbnQpOyAlIHNraXBwaW5nIHdoaXRz cGFjZSBvdXRzaWRlIG9mIGNvbW1lbnQKLStpc19vbmx5X2NvbW1lbnRzKFskXG4gfFRdLCBub3Rf aW5fY29tbWVudCkgLT4gaXNfb25seV9jb21tZW50cyhULCBub3RfaW5fY29tbWVudCk7ICUgc2tp cHBpbmcgd2hpdHNwYWNlIG91dHNpZGUgb2YgY29tbWVudAotK2lzX29ubHlfY29tbWVudHMoWyQl ICB8VF0sIG5vdF9pbl9jb21tZW50KSAtPiBpc19vbmx5X2NvbW1lbnRzKFQsIGluX2NvbW1lbnQp OyAgICAgJSBmb3VuZCBzdGFydCBvZiBhIGNvbW1lbnQKLStpc19vbmx5X2NvbW1lbnRzKF8sICAg ICAgICBub3RfaW5fY29tbWVudCkgLT4gZmFsc2U7Ci0rJSBmb3VuZCBhbnkgc2lnbmlmaWNhbnQg Y2hhciBOT1QgaW4gYSBjb21tZW50Ci0raXNfb25seV9jb21tZW50cyhbJFxuIHxUXSwgaW5fY29t bWVudCkgICAgIC0+IGlzX29ubHlfY29tbWVudHMoVCwgbm90X2luX2NvbW1lbnQpOyAlIGZvdW5k IGVuZCBvZiBhIGNvbW1lbnQKLStpc19vbmx5X2NvbW1lbnRzKFtfICAgfFRdLCBpbl9jb21tZW50 KSAgICAgLT4gaXNfb25seV9jb21tZW50cyhULCBpbl9jb21tZW50KS4gICAgICUgc2tpcHBpbmcg b3ZlciBpbi1jb21tZW50IGNoYXJzCi0rCi0rJSUlIyMgJ3ByZS1wcm9jJwotKyUlJQotKyUlJSBo YXZlIHRvIGltcGxlbWVudCBhIHN1YnNldCBvZiB0aGUgcHJlLXByb2Nlc3Nvciwgc2luY2UgZXBw IGluc2lzdHMKLSslJSUgb24gcnVubmluZyBvbiBhIGZpbGUuCi0rJSUlIG9ubHkgaGFuZGxlcyAy IGNhc2VzOwotKyUlIC1kZWZpbmUoTUFDUk8sIHNvbWV0aGluZykuCi0rJSUgLWRlZmluZShNQUNS TyhWQVIxLFZBUk4pLHtzdHVmZixWQVIxLG1vcmUsc3R1ZmYsVkFSTixleHRyYSxzdHVmZn0pLgot K3ByZV9wcm9jKFt7Jy0nLF99LHthdG9tLF8sZGVmaW5lfSx7JygnLF99LHtfLF8sTmFtZX18RGVm VG9rc10sTWFjcm9EaWN0KSAtPgotKyAgICBmYWxzZSA9IGRpY3Q6aXNfa2V5KE5hbWUsIE1hY3Jv RGljdCksCi0rICAgIGNhc2UgRGVmVG9rcyBvZgotKyAgICAJW3snLCcsX30gfCBNYWNyb10gLT4K LSsgICAgCSAgICB7bWFjcm8sIGRpY3Q6c3RvcmUoTmFtZSwge1tdLCBtYWNyb19ib2R5X2RlZihN YWNybywgW10pfSwgIE1hY3JvRGljdCl9OwotKyAgICAJW3snKCcsX30gfCBNYWNyb10gLT4KLSsg ICAgCSAgICB7bWFjcm8sIGRpY3Q6c3RvcmUoTmFtZSwgbWFjcm9fcGFyYW1zX2JvZHlfZGVmKE1h Y3JvLCBbXSksIE1hY3JvRGljdCl9Ci0rICAgIGVuZDsKLSsKLStwcmVfcHJvYyhbeyctJyxffSwg e2F0b20sXyxpbmNsdWRlfSwgeycoJyxffSwge3N0cmluZyxfLEZpbGVuYW1lfSwgeycpJyxffSwg e2RvdCxffV0sIF9NYWNyb0RpY3QpIC0+Ci0rICAgIHtpbmNsdWRlLCBGaWxlbmFtZX07Ci0rCi0r cHJlX3Byb2MoVG9rcyxNYWNyb0RpY3QpIC0+Ci0rICAgIHt0b2tlbnMsIHN1YnN0X21hY3JvcyhU b2tzLCBNYWNyb0RpY3QpfS4KLSsKLSttYWNyb19wYXJhbXNfYm9keV9kZWYoW3snKScsX30seycs JyxffSB8IFRva3NdLCBSZXZQYXJhbXMpIC0+Ci0rICAgIHtyZXZlcnNlKFJldlBhcmFtcyksIG1h Y3JvX2JvZHlfZGVmKFRva3MsIFtdKX07Ci0rbWFjcm9fcGFyYW1zX2JvZHlfZGVmKFt7dmFyLF8s UGFyYW19IHwgVG9rc10sIFJldlBhcmFtcykgLT4KLSsgICAgbWFjcm9fcGFyYW1zX2JvZHlfZGVm KFRva3MsIFtQYXJhbSB8IFJldlBhcmFtc10pOwotK21hY3JvX3BhcmFtc19ib2R5X2RlZihbeycs JyxffSwge3ZhcixfLFBhcmFtfSB8IFRva3NdLCBSZXZQYXJhbXMpIC0+Ci0rICAgIG1hY3JvX3Bh cmFtc19ib2R5X2RlZihUb2tzLCBbUGFyYW0gfCBSZXZQYXJhbXNdKS4KLSsKLSttYWNyb19ib2R5 X2RlZihbeycpJyxffSwge2RvdCxffV0sIFJldk1hY3JvQm9keVRva3MpIC0+Ci0rICAgIHJldmVy c2UoUmV2TWFjcm9Cb2R5VG9rcyk7Ci0rbWFjcm9fYm9keV9kZWYoW1Rva3xUb2tzXSwgUmV2TWFj cm9Cb2R5VG9rcykgLT4KLSsgICAgbWFjcm9fYm9keV9kZWYoVG9rcywgW1RvayB8IFJldk1hY3Jv Qm9keVRva3NdKS4KLSsKLStzdWJzdF9tYWNyb3MoVG9rcywgTWFjcm9EaWN0KSAtPgotKyAgICBy ZXZlcnNlKHN1YnN0X21hY3Jvc19yZXYoVG9rcywgTWFjcm9EaWN0LCBbXSkpLgotKwotKyUlIHJl dHVybnMgYSByZXZlcnNlZCBsaXN0IG9mIHRva2VzCi0rc3Vic3RfbWFjcm9zX3Jldihbeyc/Jyxf fSwge18sTGluZU51bSwnTElORSd9IHwgVG9rc10sIE1hY3JvRGljdCwgUmV2T3V0VG9rcykgLT4K LSsgICAgJSUgc3BlY2lhbC1jYXNlIGZvciA/TElORSwgdG8gYXZvaWQgY3JlYXRpbmcgYSBuZXcg TWFjcm9EaWN0IGZvciBldmVyeSBsaW5lIGluIHRoZSBzb3VyY2UgZmlsZQotKyAgICBzdWJzdF9t YWNyb3NfcmV2KFRva3MsIE1hY3JvRGljdCwgW3tpbnRlZ2VyLExpbmVOdW0sTGluZU51bX1dICsr IFJldk91dFRva3MpOwotKwotK3N1YnN0X21hY3Jvc19yZXYoW3snPycsX30sIHtfLF8sTmFtZX0s IHsnKCcsX30gPSBQYXJlbiB8IFRva3NdLCBNYWNyb0RpY3QsIFJldk91dFRva3MpIC0+Ci0rICAg IGNhc2UgZGljdDpmZXRjaChOYW1lLCBNYWNyb0RpY3QpIG9mCi0rICAgICAgICB7W10sIE1hY3Jv VmFsdWV9IC0+Ci0rICAgICAgICAgICAgJSUgVGhpcyBtYWNybyBkb2VzIG5vdCBoYXZlIGFueSB2 YXJzLCBzbyBpZ25vcmUgdGhlIGZhY3QgdGhhdCB0aGUgaW52b2NhdGlvbiBpcyBmb2xsb3dlZCBi eSAiKC4uLnN0dWZmIgotKyAgICAgICAgICAgICUlIFJlY3Vyc2l2ZWx5IGV4cGFuZCBhbnkgbWFj cm8gY2FsbHMgaW5zaWRlIHRoaXMgbWFjcm8ncyB2YWx1ZQotKyAgICAgICAgICAgICUlIFRPRE86 IGF2b2lkIGluZmluaXRlIGV4cGFuc2lvbiBkdWUgdG8gY2lyY3VsYXIgcmVmZXJlbmNlcyAoZXZl biBpbmRpcmVjdCBvbmVzKQotKyAgICAgICAgICAgIFJldkV4cGFuZGVkT3RoZXJNYWNyb3NUb2tz ID0gc3Vic3RfbWFjcm9zX3JldihNYWNyb1ZhbHVlLCBNYWNyb0RpY3QsIFtdKSwKLSsgICAgICAg ICAgICBzdWJzdF9tYWNyb3NfcmV2KFtQYXJlbnxUb2tzXSwgTWFjcm9EaWN0LCBSZXZFeHBhbmRl ZE90aGVyTWFjcm9zVG9rcyArKyBSZXZPdXRUb2tzKTsKLSsgICAgICAgIFBhcmFtc0FuZEJvZHkg LT4KLSsgICAgICAgICAgICAlJSBUaGlzIG1hY3JvIGRvZXMgaGF2ZSB2YXJzLgotKyAgICAgICAg ICAgICUlIENvbGxlY3QgYWxsIG9mIHRoZSBwYXNzZSBhcmd1bWVudHMsIGluIGFuIG9yZGVyZWQg bGlzdAotKyAgICAgICAgICAgIHtOVG9rcywgQXJndW1lbnRzfSA9IHN1YnN0X21hY3Jvc19nZXRf YXJncyhUb2tzLCBbXSksCi0rICAgICAgICAgICAgJSUgRXhwYW5kIHRoZSB2YXJpYmxlcwotKyAg ICAgICAgICAgIEV4cGFuZGVkUGFyYW1zVG9rcyA9IHN1YnN0X21hY3Jvc19zdWJzdF9hcmdzX2Zv cl92YXJzKFBhcmFtc0FuZEJvZHksIEFyZ3VtZW50cyksCi0rICAgICAgICAgICAgJSUgUmVjdXJz aXZlbHkgZXhwYW5kIGFueSBtYWNybyBjYWxscyBpbnNpZGUgdGhpcyBtYWNybydzIHZhbHVlCi0r ICAgICAgICAgICAgJSUgVE9ETzogYXZvaWQgaW5maW5pdGUgZXhwYW5zaW9uIGR1ZSB0byBjaXJj dWxhciByZWZlcmVuY2VzIChldmVuIGluZGlyZWN0IG9uZXMpCi0rICAgICAgICAgICAgUmV2RXhw YW5kZWRPdGhlck1hY3Jvc1Rva3MgPSBzdWJzdF9tYWNyb3NfcmV2KEV4cGFuZGVkUGFyYW1zVG9r cywgTWFjcm9EaWN0LCBbXSksCi0rICAgICAgICAgICAgc3Vic3RfbWFjcm9zX3JldihOVG9rcywg TWFjcm9EaWN0LCBSZXZFeHBhbmRlZE90aGVyTWFjcm9zVG9rcyArKyBSZXZPdXRUb2tzKQotKyAg ICBlbmQ7Ci0rCi0rc3Vic3RfbWFjcm9zX3Jldihbeyc/JyxffSwge18sXyxOYW1lfSB8IFRva3Nd LCBNYWNyb0RpY3QsIFJldk91dFRva3MpIC0+Ci0rICAgICUlIFRoaXMgbWFjcm8gaW52b2NhdGlv biBkb2VzIG5vdCBoYXZlIGFyZ3VtZW50cy4KLSsgICAgJSUgVGhlcmVmb3JlIHRoZSBkZWZpbml0 aW9uIHNob3VsZCBub3QgaGF2ZSBwYXJhbWV0ZXJzCi0rICAgIHtbXSwgTWFjcm9WYWx1ZX0gPSBk aWN0OmZldGNoKE5hbWUsIE1hY3JvRGljdCksCi0rCi0rICAgICUlIFJlY3Vyc2l2ZWx5IGV4cGFu ZCBhbnkgbWFjcm8gY2FsbHMgaW5zaWRlIHRoaXMgbWFjcm8ncyB2YWx1ZQotKyAgICAlJSBUT0RP OiBhdm9pZCBpbmZpbml0ZSBleHBhbnNpb24gZHVlIHRvIGNpcmN1bGFyIHJlZmVyZW5jZXMgKGV2 ZW4gaW5kaXJlY3Qgb25lcykKLSsgICAgUmV2RXhwYW5kZWRPdGhlck1hY3Jvc1Rva3MgPSBzdWJz dF9tYWNyb3NfcmV2KE1hY3JvVmFsdWUsIE1hY3JvRGljdCwgW10pLAotKyAgICBzdWJzdF9tYWNy b3NfcmV2KFRva3MsIE1hY3JvRGljdCwgUmV2RXhwYW5kZWRPdGhlck1hY3Jvc1Rva3MgKysgUmV2 T3V0VG9rcyk7Ci0rCi0rc3Vic3RfbWFjcm9zX3JldihbVG9rfFRva3NdLCBNYWNyb0RpY3QsICBS ZXZPdXRUb2tzKSAtPgotK3N1YnN0X21hY3Jvc19yZXYoVG9rcywgTWFjcm9EaWN0LCBbVG9rfFJl dk91dFRva3NdKTsKLStzdWJzdF9tYWNyb3NfcmV2KFtdLCBfTWFjcm9EaWN0LCBSZXZPdXRUb2tz KSAtPiBSZXZPdXRUb2tzLgotKwotK3N1YnN0X21hY3Jvc19nZXRfYXJncyhbeycpJyxffSB8IFRv a3NdLCBSZXZBcmdzKSAtPgotKyAgICB7VG9rcywgcmV2ZXJzZShSZXZBcmdzKX07Ci0rc3Vic3Rf bWFjcm9zX2dldF9hcmdzKFt7JywnLF99LCB7dmFyLF8sQXJnTmFtZX0gfCBUb2tzXSwgUmV2QXJn cykgLT4KLSsgICAgc3Vic3RfbWFjcm9zX2dldF9hcmdzKFRva3MsIFtBcmdOYW1lfCBSZXZBcmdz XSk7Ci0rc3Vic3RfbWFjcm9zX2dldF9hcmdzKFt7dmFyLF8sQXJnTmFtZX0gfCBUb2tzXSwgUmV2 QXJncykgLT4KLSsgICAgc3Vic3RfbWFjcm9zX2dldF9hcmdzKFRva3MsIFtBcmdOYW1lIHwgUmV2 QXJnc10pLgotKwotK3N1YnN0X21hY3Jvc19zdWJzdF9hcmdzX2Zvcl92YXJzKHtbXSwgQm9keVRv a3N9LCBbXSkgLT4KLSsgICAgQm9keVRva3M7Ci0rc3Vic3RfbWFjcm9zX3N1YnN0X2FyZ3NfZm9y X3ZhcnMoe1tQYXJhbSB8IFBhcmFtc10sIEJvZHlUb2tzfSwgW0FyZ3xBcmdzXSkgLT4KLSsgICAg TkJvZHlUb2tzID0ga2V5cmVwbGFjZShQYXJhbSwgMywgQm9keVRva3MsIHt2YXIsMSxBcmd9KSwK LSsgICAgc3Vic3RfbWFjcm9zX3N1YnN0X2FyZ3NfZm9yX3ZhcnMoe1BhcmFtcywgTkJvZHlUb2tz fSwgQXJncykuCi0rCi0rcmVhZF9pbmNsdWRlX2ZpbGUoRmlsZW5hbWUsIEluY2x1ZGVTZWFyY2hQ YXRoKSAtPgotKyAgICBjYXNlIGZpbGU6cGF0aF9vcGVuKEluY2x1ZGVTZWFyY2hQYXRoLCBGaWxl bmFtZSwgW3JlYWQsIHJhdywgYmluYXJ5XSkgb2YKLSsgICAgICAgIHtvaywgSW9EZXZpY2UsIEZ1 bGxOYW1lfSAtPgotKyAgICAgICAgICAgIHtvaywgRGF0YX0gPSBmaWxlOnJlYWQoSW9EZXZpY2Us IGZpbGVsaWI6ZmlsZV9zaXplKEZ1bGxOYW1lKSksCi0rICAgICAgICAgICAgZmlsZTpjbG9zZShJ b0RldmljZSksCi0rICAgICAgICAgICAgYmluYXJ5X3RvX2xpc3QoRGF0YSk7Ci0rICAgICAgICB7 ZXJyb3IsIFJlYXNvbn0gLT4KLSsgICAgICAgICAgICB0aHJvdyh7ZmFpbGVkX3RvX3JlYWRfaW5j bHVkZV9maWxlLCBSZWFzb24sIEZpbGVuYW1lLCBJbmNsdWRlU2VhcmNoUGF0aH0pCi0rICAgIGVu ZC4KLSsKLS0tLSBzcmMvZWphYmJlcmQuYXBwCTIwMDktMDQtMDEgMTk6MjM6NTEuMDAwMDAwMDAw ICswNDAwCi0rKysgc3JjL2VqYWJiZXJkLmFwcAkyMDA5LTExLTA1IDE2OjI3OjEwLjA4MTQxNzIy MiArMDMwMAotQEAgLTExNSw3ICsxMTUsNiBAQAotIAkgICAgIG5vZGV0cmVlX3ZpcnR1YWwsCi0g CSAgICAgcDFfZnNtLAotIAkgICAgIHAxX21uZXNpYSwKLS0JICAgICByYW1fZmlsZV9pb19zZXJ2 ZXIsCi0gCSAgICAgcmFuZG9tcywKLSAJICAgICBzaGEsCi0gCSAgICAgc2hhcGVyLAotLS0tIHNy Yy9lamFiYmVyZF9sb2dsZXZlbC5lcmwJMjAwOS0wNC0wMSAxOToyMzo1Mi4wMDAwMDAwMDAgKzA0 MDAKLSsrKyBzcmMvZWphYmJlcmRfbG9nbGV2ZWwuZXJsCTIwMDktMTEtMDUgMTY6Mjc6NDcuODE2 NDE1Mzc2ICswMzAwCi1AQCAtMzgsNTEgKzM4LDMwIEBACi0gLWRlZmluZShMT0dNT0RVTEUsICJl cnJvcl9sb2dnZXIiKS4KLSAKLSAlJSBFcnJvciBsZXZlbHM6Ci0tJSUgMCAtPiBObyBsb2cKLS0l JSAxIC0+IENyaXRpY2FsCi0tJSUgMiAtPiBFcnJvcgotLSUlIDMgLT4gV2FybmluZwotLSUlIDQg LT4gSW5mbwotLSUlIDUgLT4gRGVidWcKLSstZGVmaW5lKExPR19MRVZFTFMsWyB7MCwgbm9fbG9n LCAiTm8gbG9nIn0KLSsgICAgICAgICAgICAgICAgICAgICx7MSwgY3JpdGljYWwsICJDcml0aWNh bCJ9Ci0rICAgICAgICAgICAgICAgICAgICAsezIsIGVycm9yLCAiRXJyb3IifQotKyAgICAgICAg ICAgICAgICAgICAgLHszLCB3YXJuaW5nLCAiV2FybmluZyJ9Ci0rICAgICAgICAgICAgICAgICAg ICAsezQsIGluZm8sICJJbmZvIn0KLSsgICAgICAgICAgICAgICAgICAgICx7NSwgZGVidWcsICJE ZWJ1ZyJ9Ci0rICAgICAgICAgICAgICAgICAgICBdKS4KLSsKLStzZXQoTG9nTGV2ZWwpIHdoZW4g aXNfYXRvbShMb2dMZXZlbCkgLT4KLSsgICAgc2V0KGxldmVsX3RvX2ludGVnZXIoTG9nTGV2ZWwp KTsKLSBzZXQoTG9nbGV2ZWwpIHdoZW4gaXNfaW50ZWdlcihMb2dsZXZlbCkgLT4KLS0gICBGb3Jt cyA9IGNvbXBpbGVfc3RyaW5nKD9MT0dNT0RVTEUsIGVqYWJiZXJkX2xvZ2dlcl9zcmMoTG9nbGV2 ZWwpKSwKLS0gICBsb2FkX2xvZ2dlcihGb3JtcywgP0xPR01PRFVMRSwgTG9nbGV2ZWwpOwotKyAg ICB0cnkKLSsgICAgICAgIHtNb2QsQ29kZX0gPSBkeW5hbWljX2NvbXBpbGU6ZnJvbV9zdHJpbmco ZWphYmJlcmRfbG9nZ2VyX3NyYyhMb2dsZXZlbCkpLAotKyAgICAgICAgY29kZTpsb2FkX2JpbmFy eShNb2QsID9MT0dNT0RVTEUgKysgIi5lcmwiLCBDb2RlKQotKyAgICBjYXRjaAotKyAgICAgICAg VHlwZTpFcnJvciAtPiA/Q1JJVElDQUxfTVNHKCJFcnJvciBjb21waWxpbmcgbG9nZ2VyICh+cCk6 IH5wfm4iLCBbVHlwZSwgRXJyb3JdKQotKyAgICBlbmQ7Ci0gc2V0KF8pIC0+Ci0gICAgIGV4aXQo IkxvZ2xldmVsIG11c3QgYmUgYW4gaW50ZWdlciIpLgotLSAgICAgICAgICAgICAgICAKLS0lJSAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSAgCi0tJSUgQ29tcGlsZSBhIHN0cmluZyBpbnRvIGEgbW9kdWxlIGFuZCByZXR1cm5zIHRo ZSBiaW5hcnkKLS1jb21waWxlX3N0cmluZyhNb2QsIFN0cikgLT4KLS0gICAgRm5hbWUgPSBNb2Qg KysgIi5lcmwiLAotLSAgICB7b2ssIEZkfSA9IG9wZW5fcmFtX2ZpbGUoRm5hbWUpLAotLSAgICBm aWxlOndyaXRlKEZkLCBTdHIpLAotLSAgICBmaWxlOnBvc2l0aW9uKEZkLCAwKSwKLS0gICAgY2Fz ZSBlcHBfZG9kZ2VyOnBhcnNlKEZkKSBvZgotLQl7b2ssIFRyZWV9IC0+Ci0tCSAgICBGb3JtcyA9 IHJldmVydF90cmVlKFRyZWUpLAotLQkgICAgY2xvc2VfcmFtX2ZpbGUoRmQpLAotLQkgICAgRm9y bXM7Ci0tCUVycm9yIC0+Ci0tCSAgICBjbG9zZV9yYW1fZmlsZShGZCksCi0tCSAgICBFcnJvcgot LSAgICBlbmQuCi0tICAgCi0tb3Blbl9yYW1fZmlsZShGbmFtZSkgLT4KLS0gICAgcmFtX2ZpbGVf aW9fc2VydmVyOnN0YXJ0KHNlbGYoKSwgRm5hbWUsIFtyZWFkLHdyaXRlXSkuCi0tCi0tY2xvc2Vf cmFtX2ZpbGUoRmQpIC0+Ci0tICAgIGZpbGU6Y2xvc2UoRmQpLgotLQotLXJldmVydF90cmVlKFRy ZWUpIC0+Ci0tICAgIFtlcmxfc3ludGF4OnJldmVydChUKSB8fCBUIDwtIFRyZWVdLgotLQotLWxv YWRfbG9nZ2VyKEZvcm1zLCBNb2QsIExvZ2xldmVsKSAtPgotLSAgICBGbmFtZSA9IE1vZCArKyAi LmVybCIsCi0tICAgIGNhc2UgY29tcGlsZTpmb3JtcyhGb3JtcywgW2JpbmFyeSwge2QsJ0xPR0xF VkVMJyxMb2dsZXZlbH1dKSBvZgotLSAgICAgICAge29rLCBNLCBCaW59IC0+Ci0tICAgICAgICAg ICAgY29kZTpsb2FkX2JpbmFyeShNLCBGbmFtZSwgQmluKTsKLS0gICAgICAgIEVycm9yIC0+Ci0t ICAgICAgICAgICAgP0NSSVRJQ0FMX01TRygiRXJyb3IgfnB+biIsIFtFcnJvcl0pCi0rCi0rbGV2 ZWxfdG9faW50ZWdlcihMZXZlbCkgLT4KLSsgICAgY2FzZSBsaXN0czprZXlmaW5kKExldmVsLCAy LCA/TE9HX0xFVkVMUykgb2YKLSsgICAgICAgIHtJbnQsIExldmVsLCBfRGVzY30gLT4gSW50Owot KyAgICAgICAgXyAtPiBlcmxhbmc6ZXJyb3Ioe25vX3N1Y2hfbG9nbGV2ZWwsIExldmVsfSkKLSAg ICAgZW5kLgotIAotICUlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0tLS0gc3JjL3JhbV9maWxlX2lvX3NlcnZlci5lcmwJMjAw OS0wNC0wMSAxOToyMzo1MS4wMDAwMDAwMDAgKzA0MDAKLSsrKyAvZGV2L251bGwJMTk5NC0wMy0w OCAwMToyNzowOC41MDQwMDE0NjAgKzAzMDAKLUBAIC0xLDQwOCArMCwwIEBACi0tJSUgYGBUaGUg Y29udGVudHMgb2YgdGhpcyBmaWxlIGFyZSBzdWJqZWN0IHRvIHRoZSBFcmxhbmcgUHVibGljIExp Y2Vuc2UsCi0tJSUgVmVyc2lvbiAxLjEsICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNl IHRoaXMgZmlsZSBleGNlcHQgaW4KLS0lJSBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuIFlv dSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlCi0tJSUgRXJsYW5nIFB1YmxpYyBM aWNlbnNlIGFsb25nIHdpdGggdGhpcyBzb2Z0d2FyZS4gSWYgbm90LCBpdCBjYW4gYmUKLS0lJSBy ZXRyaWV2ZWQgdmlhIHRoZSB3b3JsZCB3aWRlIHdlYiBhdCBodHRwOi8vd3d3LmVybGFuZy5vcmcv LgotLSUlIAotLSUlIFNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRp c3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIKLS0lJSBiYXNpcywgV0lUSE9VVCBXQVJSQU5UWSBPRiBB TlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlCi0tJSUgdGhlIExpY2Vuc2Ug Zm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcmlnaHRzIGFuZCBsaW1pdGF0aW9u cwotLSUlIHVuZGVyIHRoZSBMaWNlbnNlLgotLSUlIAotLSUlIFRoZSBJbml0aWFsIERldmVsb3Bl ciBvZiB0aGUgT3JpZ2luYWwgQ29kZSBpcyBFcmljc3NvbiBVdHZlY2tsaW5ncyBBQi4KLS0lJSBQ b3J0aW9ucyBjcmVhdGVkIGJ5IEVyaWNzc29uIGFyZSBDb3B5cmlnaHQgMTk5OSwgRXJpY3Nzb24g VXR2ZWNrbGluZ3MKLS0lJSBBQi4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4nJwotLSUlIAotLSUlICAg ICAkSWQ6IHJhbV9maWxlX2lvX3NlcnZlci5lcmwgOTcwIDIwMDctMTEtMTUgMTA6MzM6MThaIG1y ZW1vbmQgJAotLSUlIAotLSUlIFRoaXMgZmlsZSBpcyBtb3N0bHkgY29waWVkIGZyb20gRXJsYW5n IGZpbGVfaW9fc2VydmVyLmVybAotLSUlIFNlZTogaHR0cDovL3d3dy5lcmxhbmcub3JnL21sLWFy Y2hpdmUvZXJsYW5nLXF1ZXN0aW9ucy8yMDA2MDcvbXNnMDAwODAuaHRtbAotLSUlIGZvciBkZXRh aWxzIG9uIHJhbV9maWxlX2lvX3NlcnZlci5lcmwgKEVybGFuZyBPVFAgUjExQi0yKQotLS1tb2R1 bGUocmFtX2ZpbGVfaW9fc2VydmVyKS4KLS0KLS0lJSBBIHNpbXBsZSBmaWxlIHNlcnZlciBmb3Ig aW8gdG8gb25lIGZpbGUgaW5zdGFuY2UgcGVyIHNlcnZlciBpbnN0YW5jZS4KLS0KLS0tZXhwb3J0 KFtmb3JtYXRfZXJyb3IvMV0pLgotLS1leHBvcnQoW3N0YXJ0LzMsIHN0YXJ0X2xpbmsvM10pLgot LQotLS1yZWNvcmQoc3RhdGUsIHtoYW5kbGUsb3duZXIsbXJlZixidWYscmVhZF9tb2RlfSkuCi0t Ci0tLWRlZmluZShQUklNX0ZJTEUsIHJhbV9maWxlKS4KLS0tZGVmaW5lKFJFQURfU0laRV9MSVNU LCAxMjgpLgotLS1kZWZpbmUoUkVBRF9TSVpFX0JJTkFSWSwgKDgqMTAyNCkpLgotLQotLS1kZWZp bmUoZWF0X21lc3NhZ2UoTSwgVCksIHJlY2VpdmUgTSAtPiBNIGFmdGVyIFQgLT4gdGltZW91dCBl bmQpLgotLQotLSUlJS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0tJSUlIEV4cG9ydGVkIGZ1bmN0aW9ucwotLQotLWZvcm1h dF9lcnJvcih7X0xpbmUsID9NT0RVTEUsIFJlYXNvbn0pIC0+Ci0tICAgIGlvX2xpYjpmb3JtYXQo In53IiwgW1JlYXNvbl0pOwotLWZvcm1hdF9lcnJvcih7X0xpbmUsIE1vZCwgUmVhc29ufSkgLT4K LS0gICAgTW9kOmZvcm1hdF9lcnJvcihSZWFzb24pOwotLWZvcm1hdF9lcnJvcihFcnJvcklkKSAt PgotLSAgICBlcmxfcG9zaXhfbXNnOm1lc3NhZ2UoRXJyb3JJZCkuCi0tCi0tc3RhcnQoT3duZXIs IEZpbGVOYW1lLCBNb2RlTGlzdCkgCi0tICB3aGVuIHBpZChPd25lciksIGxpc3QoRmlsZU5hbWUp LCBsaXN0KE1vZGVMaXN0KSAtPgotLSAgICBkb19zdGFydChzcGF3biwgT3duZXIsIEZpbGVOYW1l LCBNb2RlTGlzdCkuCi0tCi0tc3RhcnRfbGluayhPd25lciwgRmlsZU5hbWUsIE1vZGVMaXN0KSAK LS0gIHdoZW4gcGlkKE93bmVyKSwgbGlzdChGaWxlTmFtZSksIGxpc3QoTW9kZUxpc3QpIC0+Ci0t ICAgIGRvX3N0YXJ0KHNwYXduX2xpbmssIE93bmVyLCBGaWxlTmFtZSwgTW9kZUxpc3QpLgotLQot LSUlJS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCi0tJSUlIFNlcnZlciBzdGFydGVyLCBkaXNwYXRjaGVyIGFuZCBoZWxwZXJz Ci0tCi0tZG9fc3RhcnQoU3Bhd24sIE93bmVyLCBGaWxlTmFtZSwgTW9kZUxpc3QpIC0+Ci0tICAg IFNlbGYgPSBzZWxmKCksCi0tICAgIFJlZiA9IG1ha2VfcmVmKCksCi0tICAgIFBpZCA9IAotLQll cmxhbmc6U3Bhd24oCi0tCSAgZnVuKCkgLT4KLS0JCSAgJSUgcHJvY2Vzc19mbGFnKHRyYXBfZXhp dCwgdHJ1ZSksCi0tCQkgIHtSZWFkTW9kZSxPcHRzfSA9IAotLQkJICAgICAgY2FzZSBsaXN0czpt ZW1iZXIoYmluYXJ5LCBNb2RlTGlzdCkgb2YKLS0JCQkgIHRydWUgLT4KLS0JCQkgICAgICB7Ymlu YXJ5LE1vZGVMaXN0fTsKLS0JCQkgIGZhbHNlIC0+Ci0tCQkJICAgICAge2xpc3QsW2JpbmFyeXxN b2RlTGlzdF19Ci0tCQkgICAgICBlbmQsCi0tCQkgIGNhc2UgP1BSSU1fRklMRTpvcGVuKEZpbGVO YW1lLCBPcHRzKSBvZgotLQkJICAgICAge2Vycm9yLCBSZWFzb259ID0gRXJyb3IgLT4KLS0JCQkg IFNlbGYgISB7UmVmLCBFcnJvcn0sCi0tCQkJICBleGl0KFJlYXNvbik7Ci0tCQkgICAgICB7b2ss IEhhbmRsZX0gLT4KLS0JCQkgICUlIFhYWCBtdXN0IEkgaGFuZGxlIFI2IG5vZGVzIGhlcmU/Ci0t CQkJICBNID0gZXJsYW5nOm1vbml0b3IocHJvY2VzcywgT3duZXIpLAotLQkJCSAgU2VsZiAhIHtS ZWYsIG9rfSwKLS0JCQkgIHNlcnZlcl9sb29wKAotLQkJCSAgICAjc3RhdGV7aGFuZGxlICAgID0g SGFuZGxlLAotLQkJCQkgICBvd25lciAgICAgPSBPd25lciwgCi0tCQkJCSAgIG1yZWYgICAgICA9 IE0sIAotLQkJCQkgICBidWYgICAgICAgPSA8PD4+LAotLQkJCQkgICByZWFkX21vZGUgPSBSZWFk TW9kZX0pCi0tCQkgIGVuZAotLQkgIGVuZCksCi0tICAgIE1yZWYgPSBlcmxhbmc6bW9uaXRvcihw cm9jZXNzLCBQaWQpLAotLSAgICByZWNlaXZlCi0tCXtSZWYsIHtlcnJvciwgX1JlYXNvbn0gPSBF cnJvcn0gLT4KLS0JICAgIGVybGFuZzpkZW1vbml0b3IoTXJlZiksCi0tCSAgICByZWNlaXZlIHsn RE9XTicsIE1yZWYsIF8sIF8sIF99IC0+IG9rIGFmdGVyIDAgLT4gb2sgZW5kLAotLQkgICAgRXJy b3I7Ci0tCXtSZWYsIG9rfSAtPgotLQkgICAgZXJsYW5nOmRlbW9uaXRvcihNcmVmKSwKLS0JICAg IHJlY2VpdmUKLS0JCXsnRE9XTicsIE1yZWYsIF8sIF8sIFJlYXNvbn0gLT4KLS0JCSAgICB7ZXJy b3IsIFJlYXNvbn0KLS0JICAgIGFmdGVyIDAgLT4KLS0JCSAgICB7b2ssIFBpZH0KLS0JICAgIGVu ZDsKLS0JeydET1dOJywgTXJlZiwgXywgXywgUmVhc29ufSAtPgotLQkgICAge2Vycm9yLCBSZWFz b259Ci0tICAgIGVuZC4KLS0KLS1zZXJ2ZXJfbG9vcCgjc3RhdGV7bXJlZiA9IE1yZWZ9ID0gU3Rh dGUpIC0+Ci0tICAgIHJlY2VpdmUKLS0Je2ZpbGVfcmVxdWVzdCwgRnJvbSwgUmVwbHlBcywgUmVx dWVzdH0gd2hlbiBwaWQoRnJvbSkgLT4KLS0JICAgIGNhc2UgZmlsZV9yZXF1ZXN0KFJlcXVlc3Qs IFN0YXRlKSBvZgotLQkJe3JlcGx5LCBSZXBseSwgTmV3U3RhdGV9IC0+Ci0tCQkgICAgZmlsZV9y ZXBseShGcm9tLCBSZXBseUFzLCBSZXBseSksCi0tCQkgICAgc2VydmVyX2xvb3AoTmV3U3RhdGUp OwotLQkJe2Vycm9yLCBSZXBseSwgTmV3U3RhdGV9IC0+Ci0tCQkgICAgJSUgZXJyb3IgaXMgdGhl IHNhbWUgYXMgcmVwbHksIGV4Y2VwdCB0aGF0Ci0tCQkgICAgJSUgaXQgYnJlYWtzIHRoZSBpb19y ZXF1ZXN0X2xvb3AgZnVydGhlciBkb3duCi0tCQkgICAgZmlsZV9yZXBseShGcm9tLCBSZXBseUFz LCBSZXBseSksCi0tCQkgICAgc2VydmVyX2xvb3AoTmV3U3RhdGUpOwotLQkJe3N0b3AsIFJlYXNv biwgUmVwbHksIF9OZXdTdGF0ZX0gLT4KLS0JCSAgICBmaWxlX3JlcGx5KEZyb20sIFJlcGx5QXMs IFJlcGx5KSwKLS0JCSAgICBleGl0KFJlYXNvbikKLS0JICAgIGVuZDsKLS0Je2lvX3JlcXVlc3Qs IEZyb20sIFJlcGx5QXMsIFJlcXVlc3R9IHdoZW4gcGlkKEZyb20pIC0+Ci0tCSAgICBjYXNlIGlv X3JlcXVlc3QoUmVxdWVzdCwgU3RhdGUpIG9mCi0tCQl7cmVwbHksIFJlcGx5LCBOZXdTdGF0ZX0g LT4KLS0JCSAgICBpb19yZXBseShGcm9tLCBSZXBseUFzLCBSZXBseSksCi0tCQkgICAgc2VydmVy X2xvb3AoTmV3U3RhdGUpOwotLQkJe2Vycm9yLCBSZXBseSwgTmV3U3RhdGV9IC0+Ci0tCQkgICAg JSUgZXJyb3IgaXMgdGhlIHNhbWUgYXMgcmVwbHksIGV4Y2VwdCB0aGF0Ci0tCQkgICAgJSUgaXQg YnJlYWtzIHRoZSBpb19yZXF1ZXN0X2xvb3AgZnVydGhlciBkb3duCi0tCQkgICAgaW9fcmVwbHko RnJvbSwgUmVwbHlBcywgUmVwbHkpLAotLQkJICAgIHNlcnZlcl9sb29wKE5ld1N0YXRlKTsKLS0J CXtzdG9wLCBSZWFzb24sIFJlcGx5LCBfTmV3U3RhdGV9IC0+Ci0tCQkgICAgaW9fcmVwbHkoRnJv bSwgUmVwbHlBcywgUmVwbHkpLAotLQkJICAgIGV4aXQoUmVhc29uKQotLQkgICAgZW5kOwotLQl7 J0RPV04nLCBNcmVmLCBfLCBfLCBSZWFzb259IC0+Ci0tCSAgICBleGl0KFJlYXNvbik7Ci0tCV8g LT4KLS0JICAgIHNlcnZlcl9sb29wKFN0YXRlKQotLSAgICBlbmQuCi0tCi0tZmlsZV9yZXBseShG cm9tLCBSZXBseUFzLCBSZXBseSkgLT4KLS0gICAgRnJvbSAhIHtmaWxlX3JlcGx5LCBSZXBseUFz LCBSZXBseX0uCi0tCi0taW9fcmVwbHkoRnJvbSwgUmVwbHlBcywgUmVwbHkpIC0+Ci0tICAgIEZy b20gISB7aW9fcmVwbHksIFJlcGx5QXMsIFJlcGx5fS4KLS0KLS0lJSUtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotLSUlJSBm aWxlIHJlcXVlc3RzCi0tCi0tZmlsZV9yZXF1ZXN0KHtwcmVhZCxBdCxTen0sIAotLQkgICAgICNz dGF0ZXtoYW5kbGU9SGFuZGxlLGJ1Zj1CdWYscmVhZF9tb2RlPVJlYWRNb2RlfT1TdGF0ZSkgLT4K LS0gICAgY2FzZSBwb3NpdGlvbihIYW5kbGUsIEF0LCBCdWYpIG9mCi0tCXtvayxfT2Zmc30gLT4K LS0JICAgIGNhc2UgP1BSSU1fRklMRTpyZWFkKEhhbmRsZSwgU3opIG9mCi0tCQl7b2ssQmlufSB3 aGVuIFJlYWRNb2RlPT1saXN0IC0+Ci0tCQkgICAgc3RkX3JlcGx5KHtvayxiaW5hcnlfdG9fbGlz dChCaW4pfSwgU3RhdGUpOwotLQkJUmVwbHkgLT4KLS0JCSAgICBzdGRfcmVwbHkoUmVwbHksIFN0 YXRlKQotLQkgICAgZW5kOwotLQlSZXBseSAtPgotLQkgICAgc3RkX3JlcGx5KFJlcGx5LCBTdGF0 ZSkKLS0gICAgZW5kOwotLWZpbGVfcmVxdWVzdCh7cHdyaXRlLEF0LERhdGF9LCAKLS0JICAgICAj c3RhdGV7aGFuZGxlPUhhbmRsZSxidWY9QnVmfT1TdGF0ZSkgLT4KLS0gICAgY2FzZSBwb3NpdGlv bihIYW5kbGUsIEF0LCBCdWYpIG9mCi0tCXtvayxfT2Zmc30gLT4KLS0JICAgIHN0ZF9yZXBseSg/ UFJJTV9GSUxFOndyaXRlKEhhbmRsZSwgRGF0YSksIFN0YXRlKTsKLS0JUmVwbHkgLT4KLS0JICAg IHN0ZF9yZXBseShSZXBseSwgU3RhdGUpCi0tICAgIGVuZDsKLS1maWxlX3JlcXVlc3Qoc3luYywg Ci0tCSAgICAgI3N0YXRle2hhbmRsZT1IYW5kbGV9PVN0YXRlKSAtPgotLSAgICBjYXNlID9QUklN X0ZJTEU6c3luYyhIYW5kbGUpIG9mCi0tCXtlcnJvcixffT1SZXBseSAtPgotLQkgICAge3N0b3As bm9ybWFsLFJlcGx5LFN0YXRlfTsKLS0JUmVwbHkgLT4KLS0JICAgIHtyZXBseSxSZXBseSxTdGF0 ZX0KLS0gICAgZW5kOwotLWZpbGVfcmVxdWVzdChjbG9zZSwgCi0tCSAgICAgI3N0YXRle2hhbmRs ZT1IYW5kbGV9PVN0YXRlKSAtPgotLSAgICB7c3RvcCxub3JtYWwsP1BSSU1fRklMRTpjbG9zZShI YW5kbGUpLFN0YXRlI3N0YXRle2J1Zj0gPDw+Pn19OwotLWZpbGVfcmVxdWVzdCh7cG9zaXRpb24s QXR9LCAKLS0JICAgICAjc3RhdGV7aGFuZGxlPUhhbmRsZSxidWY9QnVmfT1TdGF0ZSkgLT4KLS0g ICAgc3RkX3JlcGx5KHBvc2l0aW9uKEhhbmRsZSwgQXQsIEJ1ZiksIFN0YXRlKTsKLS1maWxlX3Jl cXVlc3QodHJ1bmNhdGUsIAotLQkgICAgICNzdGF0ZXtoYW5kbGU9SGFuZGxlfT1TdGF0ZSkgLT4K LS0gICAgY2FzZSA/UFJJTV9GSUxFOnRydW5jYXRlKEhhbmRsZSkgb2YKLS0Je2Vycm9yLF9SZWFz b259PVJlcGx5IC0+Ci0tCSAgICB7c3RvcCxub3JtYWwsUmVwbHksU3RhdGUjc3RhdGV7YnVmPSA8 PD4+fX07Ci0tCVJlcGx5IC0+Ci0tCSAgICB7cmVwbHksUmVwbHksU3RhdGV9Ci0tICAgIGVuZDsK LS1maWxlX3JlcXVlc3QoVW5rbm93biwgCi0tCSAgICAgI3N0YXRle309U3RhdGUpIC0+Ci0tICAg IFJlYXNvbiA9IHtyZXF1ZXN0LCBVbmtub3dufSwKLS0gICAge2Vycm9yLHtlcnJvcixSZWFzb259 LFN0YXRlfS4KLS0KLS1zdGRfcmVwbHkoe2Vycm9yLF99PVJlcGx5LCBTdGF0ZSkgLT4KLS0gICAg e2Vycm9yLFJlcGx5LFN0YXRlI3N0YXRle2J1Zj0gPDw+Pn19OwotLXN0ZF9yZXBseShSZXBseSwg U3RhdGUpIC0+Ci0tICAgIHtyZXBseSxSZXBseSxTdGF0ZSNzdGF0ZXtidWY9IDw8Pj59fS4KLS0K LS0lJSUtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQotLSUlJSBJL08gcmVxdWVzdCAKLS0KLS1pb19yZXF1ZXN0KHtwdXRfY2hh cnMsQ2hhcnN9LCAlIGJpbmFyeShDaGFycykgbmV3IGluIFI5QwotLQkgICAjc3RhdGV7YnVmPSA8 PD4+fT1TdGF0ZSkgLT4KLS0gICAgcHV0X2NoYXJzKENoYXJzLCBTdGF0ZSk7Ci0taW9fcmVxdWVz dCh7cHV0X2NoYXJzLENoYXJzfSwgJSBiaW5hcnkoQ2hhcnMpIG5ldyBpbiBSOUMKLS0JICAgI3N0 YXRle2hhbmRsZT1IYW5kbGUsYnVmPUJ1Zn09U3RhdGUpIC0+Ci0tICAgIGNhc2UgcG9zaXRpb24o SGFuZGxlLCBjdXIsIEJ1Zikgb2YKLS0Je2Vycm9yLF99PVJlcGx5IC0+Ci0tCSAgICB7c3RvcCxu b3JtYWwsUmVwbHksU3RhdGUjc3RhdGV7YnVmPSA8PD4+fX07Ci0tCV8gLT4KLS0JICAgIHB1dF9j aGFycyhDaGFycywgU3RhdGUjc3RhdGV7YnVmPSA8PD4+fSkKLS0gICAgZW5kOwotLWlvX3JlcXVl c3Qoe3B1dF9jaGFycyxNb2QsRnVuYyxBcmdzfSwgCi0tCSAgICNzdGF0ZXt9PVN0YXRlKSAtPgot LSAgICBjYXNlIGNhdGNoIGFwcGx5KE1vZCwgRnVuYywgQXJncykgb2YKLS0JQ2hhcnMgd2hlbiBs aXN0KENoYXJzKTsgYmluYXJ5KENoYXJzKSAtPgotLQkgICAgaW9fcmVxdWVzdCh7cHV0X2NoYXJz LENoYXJzfSwgU3RhdGUpOwotLQlfIC0+Ci0tCSAgICB7ZXJyb3Ise2Vycm9yLEZ1bmN9LFN0YXRl fQotLSAgICBlbmQ7Ci0taW9fcmVxdWVzdCh7Z2V0X3VudGlsLF9Qcm9tcHQsTW9kLEZ1bmMsWHRy YUFyZ3N9LCAKLS0JICAgI3N0YXRle309U3RhdGUpIC0+Ci0tICAgIGdldF9jaGFycyhpb19saWIs IGdldF91bnRpbCwge01vZCwgRnVuYywgWHRyYUFyZ3N9LCBTdGF0ZSk7Ci0taW9fcmVxdWVzdCh7 Z2V0X2NoYXJzLF9Qcm9tcHQsTn0sICUgTmV3IGluIFI5QwotLQkgICAjc3RhdGV7fT1TdGF0ZSkg LT4KLS0gICAgZ2V0X2NoYXJzKE4sIFN0YXRlKTsKLS1pb19yZXF1ZXN0KHtnZXRfY2hhcnMsX1By b21wdCxNb2QsRnVuYyxYdHJhQXJnfSwgJSBOZXcgaW4gUjlDCi0tCSAgICNzdGF0ZXt9PVN0YXRl KSAtPgotLSAgICBnZXRfY2hhcnMoTW9kLCBGdW5jLCBYdHJhQXJnLCBTdGF0ZSk7Ci0taW9fcmVx dWVzdCh7Z2V0X2xpbmUsX1Byb21wdH0sICUgTmV3IGluIFI5QwotLQkgICAjc3RhdGV7fT1TdGF0 ZSkgLT4KLS0gICAgZ2V0X2NoYXJzKGlvX2xpYiwgY29sbGVjdF9saW5lLCBbXSwgU3RhdGUpOwot LWlvX3JlcXVlc3Qoe3NldG9wdHMsIE9wdHN9LCAlIE5ldyBpbiBSOUMKLS0JICAgI3N0YXRle309 U3RhdGUpIHdoZW4gbGlzdChPcHRzKSAtPgotLSAgICBzZXRvcHRzKE9wdHMsIFN0YXRlKTsKLS1p b19yZXF1ZXN0KHtyZXF1ZXN0cyxSZXF1ZXN0c30sIAotLQkgICAjc3RhdGV7fT1TdGF0ZSkgd2hl biBsaXN0KFJlcXVlc3RzKSAtPgotLSAgICBpb19yZXF1ZXN0X2xvb3AoUmVxdWVzdHMsIHtyZXBs eSxvayxTdGF0ZX0pOwotLWlvX3JlcXVlc3QoVW5rbm93biwgCi0tCSAgICNzdGF0ZXt9PVN0YXRl KSAtPgotLSAgICBSZWFzb24gPSB7cmVxdWVzdCxVbmtub3dufSwKLS0gICAge2Vycm9yLHtlcnJv cixSZWFzb259LFN0YXRlfS4KLS0KLS0KLS0KLS0lJSBQcm9jZXNzIGEgbGlzdCBvZiByZXF1ZXN0 cyBhcyBsb25nIGFzIHRoZSByZXN1bHRzIGFyZSBvay4KLS0KLS1pb19yZXF1ZXN0X2xvb3AoW10s IFJlc3VsdCkgLT4KLS0gICAgUmVzdWx0OwotLWlvX3JlcXVlc3RfbG9vcChbX1JlcXVlc3R8X1Rh aWxdLCAKLS0JCXtzdG9wLF9SZWFzb24sX1JlcGx5LF9TdGF0ZX09UmVzdWx0KSAtPgotLSAgICBS ZXN1bHQ7Ci0taW9fcmVxdWVzdF9sb29wKFtfUmVxdWVzdHxfVGFpbF0sCi0tCQl7ZXJyb3IsX1Jl cGx5LF9TdGF0ZX09UmVzdWx0KSAtPgotLSAgICBSZXN1bHQ7Ci0taW9fcmVxdWVzdF9sb29wKFtS ZXF1ZXN0fFRhaWxdLCAKLS0JCXtyZXBseSxfUmVwbHksU3RhdGV9KSAtPgotLSAgICBpb19yZXF1 ZXN0X2xvb3AoVGFpbCwgaW9fcmVxdWVzdChSZXF1ZXN0LCBTdGF0ZSkpLgotLQotLQotLQotLSUl IEkvTyByZXF1ZXN0IHB1dF9jaGFycwotLSUlCi0tcHV0X2NoYXJzKENoYXJzLCAjc3RhdGV7aGFu ZGxlPUhhbmRsZX09U3RhdGUpIC0+Ci0tICAgIGNhc2UgP1BSSU1fRklMRTp3cml0ZShIYW5kbGUs IENoYXJzKSBvZgotLQl7ZXJyb3IsX309UmVwbHkgLT4KLS0JICAgIHtzdG9wLG5vcm1hbCxSZXBs eSxTdGF0ZX07Ci0tCVJlcGx5IC0+Ci0tCSAgICB7cmVwbHksUmVwbHksU3RhdGV9Ci0tICAgIGVu ZC4KLS0KLS0KLS0lJSBQcm9jZXNzIHRoZSBJL08gcmVxdWVzdCBnZXRfY2hhcnMKLS0lJQotLWdl dF9jaGFycygwLCAjc3RhdGV7cmVhZF9tb2RlPVJlYWRNb2RlfT1TdGF0ZSkgLT4KLS0gICAge3Jl cGx5LGNhc3QoPDw+PiwgUmVhZE1vZGUpLFN0YXRlfTsKLS1nZXRfY2hhcnMoTiwgI3N0YXRle2J1 Zj1CdWYscmVhZF9tb2RlPVJlYWRNb2RlfT1TdGF0ZSkgCi0tICB3aGVuIGludGVnZXIoTiksIE4g PiAwLCBOID08IHNpemUoQnVmKSAtPgotLSAgICB7QjEsQjJ9ID0gc3BsaXRfYmluYXJ5KEJ1Ziwg TiksCi0tICAgIHtyZXBseSxjYXN0KEIxLCBSZWFkTW9kZSksU3RhdGUjc3RhdGV7YnVmPUIyfX07 Ci0tZ2V0X2NoYXJzKE4sICNzdGF0ZXtoYW5kbGU9SGFuZGxlLGJ1Zj1CdWYscmVhZF9tb2RlPVJl YWRNb2RlfT1TdGF0ZSkgCi0tICB3aGVuIGludGVnZXIoTiksIE4gPiAwIC0+Ci0tICAgIEJ1ZlNp emUgPSBzaXplKEJ1ZiksCi0tICAgIE5lZWRTaXplID0gTi1CdWZTaXplLAotLSAgICBTaXplID0g bWF4KE5lZWRTaXplLCA/UkVBRF9TSVpFX0JJTkFSWSksCi0tICAgIGNhc2UgP1BSSU1fRklMRTpy ZWFkKEhhbmRsZSwgU2l6ZSkgb2YKLS0Je29rLCBCfSAtPgotLQkgICAgaWYgQnVmU2l6ZStzaXpl KEIpIDwgTiAtPgotLQkJICAgIHN0ZF9yZXBseShjYXQoQnVmLCBCLCBSZWFkTW9kZSksIFN0YXRl KTsKLS0JICAgICAgIHRydWUgLT4KLS0JCSAgICB7QjEsQjJ9ID0gc3BsaXRfYmluYXJ5KEIsIE5l ZWRTaXplKSwKLS0JCSAgICB7cmVwbHksY2F0KEJ1ZiwgQjEsIFJlYWRNb2RlKSxTdGF0ZSNzdGF0 ZXtidWY9QjJ9fQotLQkgICAgZW5kOwotLQllb2Ygd2hlbiBCdWZTaXplPT0wIC0+Ci0tCSAgICB7 cmVwbHksZW9mLFN0YXRlfTsKLS0JZW9mIC0+Ci0tCSAgICBzdGRfcmVwbHkoY2FzdChCdWYsIFJl YWRNb2RlKSwgU3RhdGUpOwotLQl7ZXJyb3IsUmVhc29ufT1FcnJvciAtPgotLQkgICAge3N0b3As UmVhc29uLEVycm9yLFN0YXRlI3N0YXRle2J1Zj0gPDw+Pn19Ci0tICAgIGVuZDsKLS1nZXRfY2hh cnMoX04sICNzdGF0ZXt9PVN0YXRlKSAtPgotLSAgICB7ZXJyb3Ise2Vycm9yLGdldF9jaGFyc30s U3RhdGV9LgotLQotLWdldF9jaGFycyhNb2QsIEZ1bmMsIFh0cmFBcmcsICNzdGF0ZXtidWY9IDw8 Pj59PVN0YXRlKSAtPgotLSAgICBnZXRfY2hhcnNfZW1wdHkoTW9kLCBGdW5jLCBYdHJhQXJnLCBz dGFydCwgU3RhdGUpOwotLWdldF9jaGFycyhNb2QsIEZ1bmMsIFh0cmFBcmcsICNzdGF0ZXtidWY9 QnVmfT1TdGF0ZSkgLT4KLS0gICAgZ2V0X2NoYXJzX2FwcGx5KE1vZCwgRnVuYywgWHRyYUFyZywg c3RhcnQsIFN0YXRlI3N0YXRle2J1Zj0gPDw+Pn0sIEJ1ZikuCi0tCi0tZ2V0X2NoYXJzX2VtcHR5 KE1vZCwgRnVuYywgWHRyYUFyZywgUywgCi0tCQkjc3RhdGV7aGFuZGxlPUhhbmRsZSxyZWFkX21v ZGU9UmVhZE1vZGV9PVN0YXRlKSAtPgotLSAgICBjYXNlID9QUklNX0ZJTEU6cmVhZChIYW5kbGUs IHJlYWRfc2l6ZShSZWFkTW9kZSkpIG9mCi0tCXtvayxCaW59IC0+Ci0tCSAgICBnZXRfY2hhcnNf YXBwbHkoTW9kLCBGdW5jLCBYdHJhQXJnLCBTLCBTdGF0ZSwgQmluKTsKLS0JZW9mIC0+Ci0tCSAg ICBnZXRfY2hhcnNfYXBwbHkoTW9kLCBGdW5jLCBYdHJhQXJnLCBTLCBTdGF0ZSwgZW9mKTsKLS0J e2Vycm9yLFJlYXNvbn09RXJyb3IgLT4KLS0JICAgIHtzdG9wLFJlYXNvbixFcnJvcixTdGF0ZX0K LS0gICAgZW5kLgotLQotLWdldF9jaGFyc19hcHBseShNb2QsIEZ1bmMsIFh0cmFBcmcsIFMwLCAK LS0JCSNzdGF0ZXtyZWFkX21vZGU9UmVhZE1vZGV9PVN0YXRlLCBEYXRhMCkgLT4KLS0gICAgRGF0 YTEgPSBjYXNlIFJlYWRNb2RlIG9mCi0tCSAgICAgICBsaXN0IHdoZW4gYmluYXJ5KERhdGEwKSAt PiBiaW5hcnlfdG9fbGlzdChEYXRhMCk7Ci0tCSAgICAgICBfIC0+IERhdGEwCi0tCSAgICBlbmQs Ci0tICAgIGNhc2UgY2F0Y2ggTW9kOkZ1bmMoUzAsIERhdGExLCBYdHJhQXJnKSBvZgotLQl7c3Rv cCxSZXN1bHQsQnVmfSAtPgotLQkgICAge3JlcGx5LFJlc3VsdCxTdGF0ZSNzdGF0ZXtidWY9Y2Fz dF9iaW5hcnkoQnVmKX19OwotLQl7J0VYSVQnLFJlYXNvbn0gLT4KLS0JICAgIHtzdG9wLFJlYXNv bix7ZXJyb3IsZXJyX2Z1bmMoTW9kLCBGdW5jLCBYdHJhQXJnKX0sU3RhdGV9OwotLQlTMSAtPgot LQkgICAgZ2V0X2NoYXJzX2VtcHR5KE1vZCwgRnVuYywgWHRyYUFyZywgUzEsIFN0YXRlKQotLSAg ICBlbmQuCi0tCi0tJSUgQ29udmVydCBlcnJvciBjb2RlIHRvIG1ha2UgaXQgbG9vayBhcyBiZWZv cmUKLS1lcnJfZnVuYyhpb19saWIsIGdldF91bnRpbCwge18sRixffSkgLT4KLS0gICAgRjsKLS1l cnJfZnVuYyhfLCBGLCBfKSAtPgotLSAgICBGLgotLQotLQotLQotLSUlIFByb2Nlc3MgdGhlIEkv TyByZXF1ZXN0IHNldG9wdHMKLS0lJQotLSUlIHNldG9wdHMKLS1zZXRvcHRzKE9wdHMwLCBTdGF0 ZSkgLT4KLS0gICAgT3B0cyA9IHByb3BsaXN0czpzdWJzdGl0dXRlX25lZ2F0aW9ucyhbe2xpc3Qs YmluYXJ5fV0sIE9wdHMwKSwKLS0gICAgY2FzZSBwcm9wbGlzdHM6Z2V0X3ZhbHVlKGJpbmFyeSwg T3B0cykgb2YKLS0JdHJ1ZSAtPgotLQkgICAge29rLG9rLFN0YXRlI3N0YXRle3JlYWRfbW9kZT1i aW5hcnl9fTsKLS0JZmFsc2UgLT4KLS0JICAgIHtvayxvayxTdGF0ZSNzdGF0ZXtyZWFkX21vZGU9 bGlzdH19OwotLQlfIC0+Ci0tCSAgICB7ZXJyb3Ise2Vycm9yLGJhZGFyZ30sU3RhdGV9Ci0tICAg IGVuZC4KLS0KLS0KLS0KLS0lJSBDb25jYXRlbmF0ZSB0d28gYmluYXJpZXMgYW5kIGNvbnZlcnQg dGhlIHJlc3VsdCB0byBsaXN0IG9yIGJpbmFyeQotLWNhdChCMSwgQjIsIGJpbmFyeSkgLT4KLS0g ICAgbGlzdF90b19iaW5hcnkoW0IxLEIyXSk7Ci0tY2F0KEIxLCBCMiwgbGlzdCkgLT4KLS0gICAg YmluYXJ5X3RvX2xpc3QoQjEpKytiaW5hcnlfdG9fbGlzdChCMikuCi0tCi0tJSUgQ2FzdCBiaW5h cnkgdG8gbGlzdCBvciBiaW5hcnkKLS1jYXN0KEIsIGJpbmFyeSkgLT4KLS0gICAgQjsKLS1jYXN0 KEIsIGxpc3QpIC0+Ci0tICAgIGJpbmFyeV90b19saXN0KEIpLgotLQotLSUlIENvbnZlcnQgYnVm ZmVyIHRvIGJpbmFyeQotLWNhc3RfYmluYXJ5KEJpbmFyeSkgd2hlbiBiaW5hcnkoQmluYXJ5KSAt PgotLSAgICBCaW5hcnk7Ci0tY2FzdF9iaW5hcnkoTGlzdCkgd2hlbiBsaXN0KExpc3QpIC0+Ci0t ICAgIGxpc3RfdG9fYmluYXJ5KExpc3QpOwotLWNhc3RfYmluYXJ5KF9FT0YpIC0+Ci0tICAgIDw8 Pj4uCi0tCi0tJSUgUmVhZCBzaXplIGZvciBkaWZmZXJlbnQgcmVhZCBtb2RlcwotLXJlYWRfc2l6 ZShiaW5hcnkpIC0+Ci0tICAgID9SRUFEX1NJWkVfQklOQVJZOwotLXJlYWRfc2l6ZShsaXN0KSAt PgotLSAgICA/UkVBRF9TSVpFX0xJU1QuCi0tCi0tbWF4KEEsIEIpIHdoZW4gQSA+PSBCIC0+Ci0t ICAgIEE7Ci0tbWF4KF8sIEIpIC0+Ci0tICAgIEIuCi0tCi0tJSUlLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLS0lJSUgP1BS SU1fRklMRSBoZWxwZXJzCi0tCi0tJSUgQ29tcGVuc2F0ZXMgP1BSSU1fRklMRTpwb3NpdGlvbi8y IGZvciB0aGUgbnVtYmVyIG9mIGJ5dGVzIAotLSUlIHdlIGhhdmUgYnVmZmVyZWQKLS0KLS1wb3Np dGlvbihIYW5kbGUsIGN1ciwgQnVmKSAtPgotLSAgICBwb3NpdGlvbihIYW5kbGUsIHtjdXIsIDB9 LCBCdWYpOwotLXBvc2l0aW9uKEhhbmRsZSwge2N1ciwgT2Zmc30sIEJ1Zikgd2hlbiBsaXN0KEJ1 ZikgLT4KLS0gICAgP1BSSU1fRklMRTpwb3NpdGlvbihIYW5kbGUsIHtjdXIsIE9mZnMtbGVuZ3Ro KEJ1Zil9KTsKLS1wb3NpdGlvbihIYW5kbGUsIHtjdXIsIE9mZnN9LCBCdWYpIHdoZW4gYmluYXJ5 KEJ1ZikgLT4KLS0gICAgP1BSSU1fRklMRTpwb3NpdGlvbihIYW5kbGUsIHtjdXIsIE9mZnMtc2l6 ZShCdWYpfSk7Ci0tcG9zaXRpb24oSGFuZGxlLCBBdCwgX0J1ZikgLT4KLS0gICAgP1BSSU1fRklM RTpwb3NpdGlvbihIYW5kbGUsIEF0KS4KLS0KCmRpZmYgLS1naXQgYS9lamFiYmVyZC1lamFiYmVy ZF9jZmdfcGFtX25hbWUuZGlmZiBiL2VqYWJiZXJkLWVqYWJiZXJkX2NmZ19wYW1fbmFtZS5kaWZm CmluZGV4IDdjMGQ1MTkuLjNiOWVkN2QgMTAwNjQ0Ci0tLSBhL2VqYWJiZXJkLWVqYWJiZXJkX2Nm Z19wYW1fbmFtZS5kaWZmCisrKyBiL2VqYWJiZXJkLWVqYWJiZXJkX2NmZ19wYW1fbmFtZS5kaWZm CkBAIC0xLDYgKzEsNiBAQAotLS0tIHNyYy9lamFiYmVyZC5jZmcuZXhhbXBsZX4JMjAwOC0wOC0w MSAxNjozNDoyOC4wMDAwMDAwMDAgKzA0MDAKLSsrKyBzcmMvZWphYmJlcmQuY2ZnLmV4YW1wbGUJ MjAwOC0wOC0wOSAyMTowOTowNy4wMDAwMDAwMDAgKzA0MDAKLUBAIC0yMTQsNyArMjE0LDcgQEAK Ky0tLSBzcmMvZWphYmJlcmQuY2ZnLmV4YW1wbGUJMjAwOS0xMS0yMCAxNTowNzo1Ny4zMTc3MDQ5 NTUgKzAzMDAKKysrKyBzcmMvZWphYmJlcmQuY2ZnLmV4YW1wbGUJMjAwOS0xMS0yMCAxNTowODox MS41MjI3MDQ5NjggKzAzMDAKK0BAIC0yMzUsNyArMjM1LDcgQEAKICAlJSBBdXRoZW50aWNhdGlv biB1c2luZyBQQU0KICAlJQogICUle2F1dGhfbWV0aG9kLCBwYW19LgoKZGlmZiAtLWdpdCBhL2Vq YWJiZXJkLWVqYWJiZXJkY3RsX2ZpeC5kaWZmIGIvZWphYmJlcmQtZWphYmJlcmRjdGxfZml4LmRp ZmYKaW5kZXggOGM4YTI3Yi4uM2JmNTQxOSAxMDA2NDQKLS0tIGEvZWphYmJlcmQtZWphYmJlcmRj dGxfZml4LmRpZmYKKysrIGIvZWphYmJlcmQtZWphYmJlcmRjdGxfZml4LmRpZmYKQEAgLTEsNiAr MSw2IEBACi0tLS0gc3JjL2VqYWJiZXJkY3RsLnRlbXBsYXRlCTIwMDktMDQtMDEgMTk6MjM6NTEu MDAwMDAwMDAwICswNDAwCi0rKysgc3JjL2VqYWJiZXJkY3RsLnRlbXBsYXRlCTIwMDktMDgtMjUg MjM6MDY6MTkuMjU4Njg1OTI5ICswNDAwCi1AQCAtOSwxMyArOSwxNCBAQAorLS0tIHNyYy9lamFi YmVyZGN0bC50ZW1wbGF0ZS5maXhfY3RsCTIwMDktMTEtMDYgMjI6NTM6MTkuMDAwMDAwMDAwICsw MzAwCisrKysgc3JjL2VqYWJiZXJkY3RsLnRlbXBsYXRlCTIwMDktMTEtMjEgMTA6NDM6MTcuNjU0 Njg2NDA5ICswMzAwCitAQCAtOSwxMCArOSwxMCBAQAogIAogICMgZGVmaW5lIGRlZmF1bHQgZW52 aXJvbm1lbnQgdmFyaWFibGVzCiAgTk9ERT1lamFiYmVyZApAQCAtOCw3NSArOCwyNSBAQAogK0hP U1Q9YGhvc3RuYW1lIC1zIDI+L2Rldi9udWxsIHx8IGVjaG8gImxvY2FsaG9zdCJgCiAgRVJMQU5H X05PREU9JE5PREVAJEhPU1QKICBFUkw9QGVybEAKLS1ST09URElSPUByb290ZGlyQAotK1JPT1RE SVI9Ci0rTUFJTkRJUj0KLSBFSkFCQkVSRF9DT05GSUdfUEFUSD0kUk9PVERJUi9ldGMvZWphYmJl cmQvZWphYmJlcmQuY2ZnCi0gTE9HU19ESVI9JFJPT1RESVIvdmFyL2xvZy9lamFiYmVyZC8KLS1F SkFCQkVSRF9EQj0kUk9PVERJUi92YXIvbGliL2VqYWJiZXJkL2RiLyROT0RFCi0rRUpBQkJFUkRf REI9JFJPT1RESVIvdmFyL2xpYi9lamFiYmVyZC9zcG9vbAorLUlOU1RBTExVU0VSPUBpbnN0YWxs dXNlckAKKytJTlNUQUxMVVNFUj1lamFiYmVyZAogIAotICMgcmVhZCBjdXN0b20gY29uZmlndXJh dGlvbgotIENPTkZJRz0kUk9PVERJUi9ldGMvZWphYmJlcmQvZWphYmJlcmRjdGwuY2ZnCi1AQCAt NDMsMTAgKzQ0LDEwIEBACi0gRVJMQU5HX09QVFM9IitLICRQT0xMIC1zbXAgJFNNUCArUCAkRVJM X1BST0NFU1NFUyIKKyAjIHBhcnNlIGNvbW1hbmQgbGluZSBwYXJhbWV0ZXJzCisgQVJHUz0KK0BA IC02MCwxNCArNjAsMTQgQEAKKyBFSklEPWBpZCAtZyAkSU5TVEFMTFVTRVJgCisgRVhFQ19DTUQ9 ImZhbHNlIgorIGlmIFsgJElEIC1lcSAwIF0gOyB0aGVuCistCUVYRUNfQ01EPSJzdSAke0lOU1RB TExVU0VSfSAtYyIKKysJRVhFQ19DTUQ9Ii9zYmluL3J1bnVzZXIgLXMgL2Jpbi9iYXNoIC1wIGVq YWJiZXJkIC1jIgorIGZpCisgaWYgWyAiJElEIiAtZXEgIiRFSklEIiBdIDsgdGhlbgorIAlFWEVD X0NNRD0ic2ggLWMiCisgZmkKKyBpZiBbICIkRVhFQ19DTUQiID0gImZhbHNlIiBdIDsgdGhlbgor IAllY2hvICJUaGlzIGNvbW1hbmQgY2FuIG9ubHkgYmUgcnVuIGJ5IHJvb3Qgb3IgdGhlIHVzZXIg JElOU1RBTExVU0VSIiA+JjIKKy0JZXhpdCAxCisrCWV4aXQgNAorIGZpCiAgCi0gIyBkZWZpbmUg YWRkaXRpb25hbCBlbnZpcm9ubWVudCB2YXJpYWJsZXMKLS1FSkFCQkVSRF9FQklOPSRST09URElS L3Zhci9saWIvZWphYmJlcmQvZWJpbgotLUVKQUJCRVJEX01TR1NfUEFUSD0kUk9PVERJUi92YXIv bGliL2VqYWJiZXJkL3ByaXYvbXNncwotLUVKQUJCRVJEX1NPX1BBVEg9JFJPT1RESVIvdmFyL2xp Yi9lamFiYmVyZC9wcml2L2xpYgotLUVKQUJCRVJEX0JJTl9QQVRIPSRST09URElSL3Zhci9saWIv ZWphYmJlcmQvcHJpdi9iaW4KLStFSkFCQkVSRF9FQklOPSRNQUlORElSL2ViaW4KLStFSkFCQkVS RF9NU0dTX1BBVEg9JE1BSU5ESVIvcHJpdi9tc2dzCi0rRUpBQkJFUkRfU09fUEFUSD0kTUFJTkRJ Ui9wcml2L2xpYgotK0VKQUJCRVJEX0JJTl9QQVRIPSRNQUlORElSL3ByaXYvYmluCi0gRUpBQkJF UkRfTE9HX1BBVEg9JExPR1NfRElSL2VqYWJiZXJkLmxvZwotIFNBU0xfTE9HX1BBVEg9JExPR1Nf RElSL3Nhc2wubG9nCi0gREFURVRJTUU9YGRhdGUgIislWSVtJWQtJUglTSVTImAKLUBAIC03NSwx NCArNzYsMTYgQEAKLSAjIHN0YXJ0IHNlcnZlcgotIHN0YXJ0ICgpCi0gewotLSAgICAkRVJMIFwK LSsgICAgIEVSTF9DT01NQU5EPSIkRVJMIFwKLSAgICAgICAkTkFNRSAkRVJMQU5HX05PREUgXAot ICAgICAgIC1ub2lucHV0IC1kZXRhY2hlZCBcCi0gICAgICAgLXBhICRFSkFCQkVSRF9FQklOIFwK LS0gICAgICAtbW5lc2lhIGRpciAiXCIkRUpBQkJFUkRfREJcIiIgXAotKyAgICAgIC1tbmVzaWEg ZGlyIFxcXCIkRUpBQkJFUkRfREJcXFwiIFwKLSAgICAgICAtcyBlamFiYmVyZCBcCi0tICAgICAg LXNhc2wgc2FzbF9lcnJvcl9sb2dnZXIgXHtmaWxlLFwiJFNBU0xfTE9HX1BBVEhcIlx9IFwKLS0g ICAgICAkRVJMQU5HX09QVFMgJEFSR1MgIiRAIgotKyAgICAgIC1zYXNsIHNhc2xfZXJyb3JfbG9n Z2VyIFx7ZmlsZSxcXFwiJFNBU0xfTE9HX1BBVEhcXFwiXH0gXAotKyAgICAgICRFUkxBTkdfT1BU UyAkQVJHUyAiJEAiIFwKLSsgICAgICAiCi0rICAgICAgL3NiaW4vcnVudXNlciAtcyAvYmluL2Jh c2ggLXAgZWphYmJlcmQgLWMgIiRFUkxfQ09NTUFORCIKLSB9Ci0gCi0gIyBhdHRhY2ggdG8gc2Vy dmVyCi1AQCAtMTA1LDcgKzEwOCw3IEBACi0gICAgIHJlYWQgZm9vCi0gICAgIGVjaG8gIiIKLSAg ICAgJEVSTCBcCi0tICAgICAgJE5BTUUgJHtOT0RFfWRlYnVnIFwKLSsgICAgICAkTkFNRSBkZWJ1 Zy0ke0VSTEFOR19OT0RFfSBcCi0gICAgICAgLXJlbXNoICRFUkxBTkdfTk9ERSBcCi0gICAgICAg JEVSTEFOR19PUFRTICRBUkdTICIkQCIKLSB9Ci1AQCAtMTM5LDExICsxNDIsMTMgQEAKLSAjIGNv bW1vbiBjb250cm9sIGZ1bmN0aW9uCi0gY3RsICgpCi0gewotLSAgICAkRVJMIFwKLS0gICAgICAk TkFNRSBlamFiYmVyZGN0bCBcCi0rICAgIEVSTF9DT01NQU5EPSIkRVJMIFwKLSsgICAgICAkTkFN RSBjdGwtJHtFUkxBTkdfTk9ERX0gXAotICAgICAgIC1ub2lucHV0IFwKLSAgICAgICAtcGEgJEVK QUJCRVJEX0VCSU4gXAotLSAgICAgIC1zIGVqYWJiZXJkX2N0bCAtZXh0cmEgJEVSTEFOR19OT0RF ICRACi0rICAgICAgLXMgZWphYmJlcmRfY3RsIC1leHRyYSAkRVJMQU5HX05PREUgJEAgXAotKyAg ICAgICIKLSsgICAgL3NiaW4vcnVudXNlciAtcyAvYmluL2Jhc2ggLXAgZWphYmJlcmQgLWMgIiRF UkxfQ09NTUFORCIKLSAgICAgcmVzdWx0PSQ/Ci0gICAgIGNhc2UgJHJlc3VsdCBpbgotICAgICAw KSA6OzsKKyBOQU1FPS1uYW1lCgpkaWZmIC0tZ2l0IGEvZWphYmJlcmQtZml4ZWRfZGVsYXlzX2lu X3Mycy5wYXRjaCBiL2VqYWJiZXJkLWZpeGVkX2RlbGF5c19pbl9zMnMucGF0Y2gKaW5kZXggMDA5 MGVhNy4uYzUyMGQ2ZiAxMDA2NDQKLS0tIGEvZWphYmJlcmQtZml4ZWRfZGVsYXlzX2luX3Mycy5w YXRjaAorKysgYi9lamFiYmVyZC1maXhlZF9kZWxheXNfaW5fczJzLnBhdGNoCkBAIC0xOCwxOCAr MTgsMTggQEAgSW5kZXg6IHNyYy9lamFiYmVyZF9zMnNfaW4uZXJsCiAgCQkJCQkgICAgS2V5LCBT dGF0ZURhdGEjc3RhdGUuc3RyZWFtaWR9KSwKIEluZGV4OiBzcmMvZWphYmJlcmRfczJzX291dC5l cmwKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tLSBzcmMvZWphYmJlcmRfczJzX291dC5lcmwJMjAwOS0wNC0wMSAx NzoyMzo1MS4wMDAwMDAwMDAgKzAyMDAKLSsrKyBzcmMvZWphYmJlcmRfczJzX291dC5lcmwJMjAw OS0wNC0wNSAyMjo1MToyMC4wMDAwMDAwMDAgKzAyMDAKLUBAIC05Myw3ICs5Myw3IEBACi0gJSUg T25seSBjaGFuZ2UgdGhpcyB2YWx1ZSBpZiB5b3Ugbm93IHdoYXQgeW91ciBhcmUgZG9pbmc6Ci0g LWRlZmluZShGU01MSU1JVFMsW10pLgotICUlIC1kZWZpbmUoRlNNTElNSVRTLCBbe21heF9xdWV1 ZSwgMjAwMH1dKS4KKy0tLSBzcmMvZWphYmJlcmRfczJzX291dC5lcmwJMjAwOS0xMS0wNiAyMjo1 MzoxOS4wMDAwMDAwMDAgKzAzMDAKKysrKyBzcmMvZWphYmJlcmRfczJzX291dC5lcmwJMjAwOS0x MS0yMCAxNTo1OTo1My40NDU3MDM2NTQgKzAzMDAKK0BAIC05MCw3ICs5MCw3IEBACisgCQkJCQkJ IFtGcm9tLCBIb3N0LCBUeXBlXSkpLgorIC1lbmRpZi4KKyAKIC0tZGVmaW5lKEZTTVRJTUVPVVQs IDMwMDAwKS4KICstZGVmaW5lKEZTTVRJTUVPVVQsIDYwMDAwKS4KICAKICAlJSBXZSBkbyBub3Qg YmxvY2sgb24gc2VuZCBhbnltb3JlLgogIC1kZWZpbmUoVENQX1NFTkRfVElNRU9VVCwgMTUwMDAp LgotQEAgLTIyNyw4ICsyMjcsOCBAQAorQEAgLTIyNiw4ICsyMjYsOCBAQAogIAl7ZXJyb3IsIF9S ZWFzb259IC0+CiAgCSAgICA/SU5GT19NU0coInMycyBjb25uZWN0aW9uOiB+cyAtPiB+cyAocmVt b3RlIHNlcnZlciBub3QgZm91bmQpIiwKICAJCSAgICAgIFtTdGF0ZURhdGEjc3RhdGUubXluYW1l LCBTdGF0ZURhdGEjc3RhdGUuc2VydmVyXSksCgpkaWZmIC0tZ2l0IGEvZWphYmJlcmQtdHVybl9v ZmZfZXJyb3JfbWVzc2FnZXNfaW5fbW9kX2NhcHMucGF0Y2ggYi9lamFiYmVyZC10dXJuX29mZl9l cnJvcl9tZXNzYWdlc19pbl9tb2RfY2Fwcy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggZGQ3MjJhZC4uMDAwMDAwMAotLS0gYS9lamFiYmVyZC10dXJuX29mZl9lcnJvcl9tZXNz YWdlc19pbl9tb2RfY2Fwcy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI0ICswLDAgQEAKLVBh dGNoIGJ5IFNlcmdlaSBHb2xvdmFuIHR1cm5zIHVubmVjZXNzYXJ5IGVycm9yIG1lc3NhZ2VzIGlu dG8gZGVidWcgbWVzc2FnZXMuCi0KLUluZGV4OiBzcmMvbW9kX2NhcHMuZXJsCi09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLS0gc3JjL21vZF9jYXBzLmVybAkyMDA5LTA0LTAxIDE3OjIzOjUxLjAwMDAwMDAwMCArMDIw MAotKysrIHNyYy9tb2RfY2Fwcy5lcmwJMjAwOS0wNC0wNSAyMjo1MToyMC4wMDAwMDAwMDAgKzAy MDAKLUBAIC0zMDEsNyArMzAxLDcgQEAKLSAJCSAgICAgIGVuZCksCi0gCQkgICAgZ2VuX3NlcnZl cjpjYXN0KHNlbGYoKSwgdmlzaXRfZmVhdHVyZV9xdWVyaWVzKTsKLSAJCWVycm9yIC0+Ci0tCQkg ICAgP0VSUk9SX01TRygiSUQgJ35zJyBtYXRjaGVzIG5vIHF1ZXJ5IiwgW0lEXSkKLSsJCSAgICA/ REVCVUcoIklEICd+cycgbWF0Y2hlcyBubyBxdWVyeSIsIFtJRF0pCi0gCSAgICBlbmQ7Ci0gCXtl cnJvciwgX30gLT4KLSAJICAgICUlIFhYWDogaWYgd2UgZ2V0IGVycm9yLCB3ZSBjYWNoZSBlbXB0 eSBmZWF0dXJlIG5vdCB0byBwcm9iZSB0aGUgY2xpZW50IGNvbnRpbnVvdXNseQotQEAgLTMxNSw3 ICszMTUsNyBAQAotIAkJICAgICAgZW5kKSwKLSAJCSAgICBnZW5fc2VydmVyOmNhc3Qoc2VsZigp LCB2aXNpdF9mZWF0dXJlX3F1ZXJpZXMpOwotIAkJZXJyb3IgLT4KLS0JCSAgICA/RVJST1JfTVNH KCJJRCAnfnMnIG1hdGNoZXMgbm8gcXVlcnkiLCBbSURdKQotKwkJICAgID9ERUJVRygiSUQgJ35z JyBtYXRjaGVzIG5vIHF1ZXJ5IiwgW0lEXSkKLSAJICAgIGVuZDsKLSAJICAgICVnZW5fc2VydmVy OmNhc3Qoc2VsZigpLCB2aXNpdF9mZWF0dXJlX3F1ZXJpZXMpLAotIAkgICAgJT9ERUJVRygiRXJy b3IgSVEgcmVwb25zZSBmcm9tIH5zOn5ufnAiLCBbamxpYjpqaWRfdG9fc3RyaW5nKEZyb20pLCBT dWJFbHNdKTsKCmRpZmYgLS1naXQgYS9lamFiYmVyZC5pbml0IGIvZWphYmJlcmQuaW5pdAppbmRl eCA4MTE1NjAwLi45NjcwOTE2IDEwMDY0NAotLS0gYS9lamFiYmVyZC5pbml0CisrKyBiL2VqYWJi ZXJkLmluaXQKQEAgLTExLDYgKzExLDggQEAKICMgUHJvdmlkZXM6IGVqYWJiZXJkCiAjIFJlcXVp cmVkLVN0YXJ0OiBuZXR3b3JrCiAjIFJlcXVpcmVkLVN0b3A6IG5ldHdvcmsKKyMgRGVmYXVsdC1T dGFydDoKKyMgRGVmYXVsdC1TdG9wOiAwIDEgNgogIyBTaG9ydC1EZXNjcmlwdGlvbjogU3RhcnQg YW5kIHN0b3AgZWphYmJlcmQKICMgRGVzY3JpcHRpb246IEEgZGlzdHJpYnV0ZWQsIGZhdWx0LXRv bGVyYW50IEphYmJlci9YTVBQIHNlcnZlcgogIyMjIEVORCBJTklUIElORk8KCmRpZmYgLS1naXQg YS9lamFiYmVyZC5zcGVjIGIvZWphYmJlcmQuc3BlYwppbmRleCAwMTkxMDg3Li45MDg2ZWMwIDEw MDY0NAotLS0gYS9lamFiYmVyZC5zcGVjCisrKyBiL2VqYWJiZXJkLnNwZWMKQEAgLTEsNiArMSwx OCBAQAorJWJjb25kX3dpdGhvdXQgZmVkb3JhCislZ2xvYmFsIHVpZCAyNworCisjIEN1cnJlbnRs eSwgaGV2ZWEgYXZhaWxhYmxlIG9ubHkgaW4gRmVkb3JhCislaWYgJXtkZWZpbmVkIGZlZG9yYX0K KyMgTm8gaGV2ZWEgb24gRmVkb3JhIGZvciBwcGM2NAorIyBzZWUgaHR0cHM6Ly9idWd6aWxsYS5y ZWRoYXQuY29tL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0yNTAyNTMKKyVpZm5hcmNoIHBwYzY0 CislZGVmaW5lIHdpdGhfaGV2ZWEgMQorJWVuZGlmCislZW5kaWYKKwogTmFtZTogICAgICAgICAg IGVqYWJiZXJkCi1WZXJzaW9uOiAgICAgICAgMi4wLjUKLVJlbGVhc2U6ICAgICAgICAxMCV7P2Rp c3R9CitWZXJzaW9uOiAgICAgICAgMi4xLjAKK1JlbGVhc2U6ICAgICAgICAxJXs/ZGlzdH0KIFN1 bW1hcnk6ICAgICAgICBBIGRpc3RyaWJ1dGVkLCBmYXVsdC10b2xlcmFudCBKYWJiZXIvWE1QUCBz ZXJ2ZXIKIAogR3JvdXA6ICAgICAgICAgIEFwcGxpY2F0aW9ucy9JbnRlcm5ldApAQCAtMTIsMTAg KzI0LDEyIEBAIFNvdXJjZTI6ICAgICAgICBlamFiYmVyZC5sb2dyb3RhdGUKIFNvdXJjZTM6CWVq YWJiZXJkLnN5c2NvbmZpZwogCiAjIGh0dHA6Ly93d3cuZWphYmJlcmQuaW0vbW9kX2N0bGV4dHJh CisjIHRoaXMgbW9kdWxlIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmVhciBmdXR1cmUgaW4gZmF2 b3Igb2YgbW9kX2FkbWluX2V4dHJhCiAjIHN2biBleHBvcnQgLXIgMTAyMCBodHRwczovL3N2bi5w cm9jZXNzLW9uZS5uZXQvZWphYmJlcmQtbW9kdWxlcy9tb2RfY3RsZXh0cmEvdHJ1bmsvc3JjL21v ZF9jdGxleHRyYS5lcmwKIFNvdXJjZTQ6ICAgICAgICBtb2RfY3RsZXh0cmEuZXJsCiAKICMgVGhl IGZvbGxvd2luZyB3ZXJlIGV4dHJhY3RlZCBmcm9tIGEgcGF0Y2ggZm91bmQgb24gaHR0cDovL3Jl YWxsb2Muc3BiLnJ1L3NoYXJlL2VqYWJiZXJkYWQuaHRtbAorIyBUaGVzZSBhcmUgdW5tYWludGFp bmVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgc29vbiAodXNlcnMgc2hvdWxkIHVzZSAqX2xkYXAuZXJs IGluc3RlYWQpCiBTb3VyY2U1OiAgICAgICAgZWphYmJlcmRfYXV0aF9hZC5lcmwKIFNvdXJjZTY6 ICAgICAgICBtb2Rfc2hhcmVkX3Jvc3Rlcl9hZC5lcmwKIFNvdXJjZTc6ICAgICAgICBtb2RfdmNh cmRfYWQuZXJsCkBAIC0yNSwyNyArMzksMTQgQEAgU291cmNlOTogICAgICAgIGVqYWJiZXJkY3Rs LnBhbQogU291cmNlMTA6ICAgICAgIGVqYWJiZXJkY3RsLmFwcHMKIFNvdXJjZTExOiAgICAgICBl amFiYmVyZC5wYW0KIAotIyBGZWRvcmEtc3BlY2lmaWMgc3R1ZmYgLSBmaXhpbmcgcGF0aHMKLVBh dGNoMTogZWphYmJlcmQtYnVpbGQucGF0Y2gKICMgQlojIDQzOTU4MywgNDUyMzI2LCA0NTE1NTQs IDQ2NTE5NiwgNTAyMzYxCiBQYXRjaDI6IGVqYWJiZXJkLWVqYWJiZXJkY3RsX2ZpeC5kaWZmCiAj IFVzZSBlamFiYmVyZCBhcyBhbiBleGFtcGxlIGZvciBQQU0gc2VydmljZSBuYW1lCiBQYXRjaDM6 IGVqYWJiZXJkLWVqYWJiZXJkX2NmZ19wYW1fbmFtZS5kaWZmCi0jIENBUFRDSEEgc3VwcG9ydCwg c2VlIGh0dHBzOi8vc3VwcG9ydC5wcm9jZXNzLW9uZS5uZXQvZG9jL2Rpc3BsYXkvWEFBSS9GaWdo dGluZytNdWx0aS1Vc2VyK0NoYXQrU1BBTSt3aXRoK0NBUFRDSEEKLSMgd2dldCBodHRwczovL3N1 cHBvcnQucHJvY2Vzcy1vbmUubmV0L3NlY3VyZS9hdHRhY2htZW50LzEzODUxL1hFUC0wMTU4X2Vq YWJiZXJkLTIuMC40LnBhdGNoIC1PIGVqYWJiZXJkLWNhcHRjaGEucGF0Y2gKLVBhdGNoNDogZWph YmJlcmQtY2FwdGNoYS5wYXRjaAogIyBNZW50aW9uIG1vZF9jdGxleHRyYSBhcyBhbiBlamFiYmVy ZCBtb2R1bGUKIFBhdGNoNTogZWphYmJlcmQtbW9kX2N0bGV4dHJhX21lbnRpb25pbmdfaW5fZWph YmJlcmRfYXBwLmRpZmYKLSMgVHVybiBvZmYgdW5uZWNlc3NhcnkgZXJyb3IgbWVzc2FnZXMgaW4g bW9kX2NhcHMgKGJhY2twb3J0IGZyb20gdXBzdHJlYW0pCi1QYXRjaDY6IGVqYWJiZXJkLXR1cm5f b2ZmX2Vycm9yX21lc3NhZ2VzX2luX21vZF9jYXBzLnBhdGNoCi0jIERlY3JlYXNlIG1vZF9wcm94 eTY1IHNlbmQvcmVjZWl2ZSBidWZmZXJzIChiYWNrcG9ydCBmcm9tIHVwc3RyZWFtKQotUGF0Y2g3 OiBlamFiYmVyZC1kZWNyZWFzZV9idWZmZXJzX2luX21vZF9wcm94eTY1LnBhdGNoCiAjIGZpeGVk IGRlbGF5cyBpbiBzMnMgY29ubmVjdGlvbnMKIFBhdGNoODogZWphYmJlcmQtZml4ZWRfZGVsYXlz X2luX3Mycy5wYXRjaAotIyBDb21tb24gZHluYW1pYyBjb21waWxhdGlvbiBmYWNpbGl0eSBmb3Ig RXJsYW5nIFIxMS9SMTIvUjEzIGluc3RlYWQgb2Ygb2xkIG9uZQotIyBTZWUgaHR0cHM6Ly9zdXBw b3J0LnByb2Nlc3Mtb25lLm5ldC9icm93c2UvRUpBQi05MTkKLSMgRml4ZXMgQlojIDUzMzAyMQot UGF0Y2g5OiBlamFiYmVyZC1keW5hbWljX2NvbXBpbGVfbG9nbGV2ZWwucGF0Y2gKIAogCiBCdWls ZFJvb3Q6ICAgICAgJXtfdG1wcGF0aH0vJXtuYW1lfS0le3ZlcnNpb259LSV7cmVsZWFzZX0tcm9v dC0lKCV7X19pZF91fSAtbikKQEAgLTU1LDIyICs1NiwyNSBAQCBCdWlsZFJlcXVpcmVzOiAgb3Bl bnNzbC1kZXZlbAogQnVpbGRSZXF1aXJlczogIHBhbS1kZXZlbAogQnVpbGRSZXF1aXJlczogIGVy bGFuZwogQnVpbGRSZXF1aXJlczoJZG9zMnVuaXgKLSVpZiAle3VuZGVmaW5lZCByaGVsfQorQnVp bGRSZXF1aXJlczoJZmVkb3JhLXVzZXJtZ210LWRldmVsCisKKyVpZiAwJXs/d2l0aF9oZXZlYX0K IEJ1aWxkUmVxdWlyZXM6ICBoZXZlYQogJWVuZGlmCiAKLVJlcXVpcmVzOiAgICAgICBlcmxhbmcK LVJlcXVpcmVzOiAgICAgICB1c2VybW9kZQotCi1SZXF1aXJlcyhwcmUpOiBmZWRvcmEtdXNlcm1n bXQKKyV7P0ZFX1VTRVJBRERfUkVRfQogUmVxdWlyZXMocG9zdCk6IC9zYmluL2Noa2NvbmZpZwog UmVxdWlyZXMocG9zdCk6IC91c3IvYmluL29wZW5zc2wKIFJlcXVpcmVzKHByZXVuKTogL3NiaW4v Y2hrY29uZmlnCiBSZXF1aXJlcyhwcmV1bik6IC9zYmluL3NlcnZpY2UKIFJlcXVpcmVzKHBvc3R1 bik6IC9zYmluL3NlcnZpY2UKIAotIyBodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vYnVnemls bGEvc2hvd19idWcuY2dpP2lkPTI1MDI1MwotRXhjbHVkZUFyY2g6IHBwYzY0CitQcm92aWRlczog dXNlcigle25hbWV9KSA9ICV7dWlkfQorUHJvdmlkZXM6IGdyb3VwKCV7bmFtZX0pID0gJXt1aWR9 CisKK1JlcXVpcmVzOiAgICAgICBlcmxhbmcKK1JlcXVpcmVzOiAgICAgICB1c2VybW9kZQorCiAK ICVkZXNjcmlwdGlvbgogZWphYmJlcmQgaXMgYSBGcmVlIGFuZCBPcGVuIFNvdXJjZSBkaXN0cmli dXRlZCBmYXVsdC10b2xlcmFudApAQCAtODYsMTIgKzkwLDEyIEBAIEdyb3VwOiBEb2N1bWVudGF0 aW9uCiBEb2N1bWVudGF0aW9uIGZvciBlamFiYmVyZC4KIAogJXByZQotL3Vzci9zYmluL2ZlZG9y YS1ncm91cGFkZCAyNyAtciBlamFiYmVyZCAmPi9kZXYvbnVsbCB8fCA6Ci0vdXNyL3NiaW4vZmVk b3JhLXVzZXJhZGQgIDI3IC1yIC1zIC9zYmluL25vbG9naW4gLWQgL3Zhci9saWIvZWphYmJlcmQg LU0gXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtYyAnZWphYmJlcmQnIC1nIGVqYWJi ZXJkIGVqYWJiZXJkICY+L2Rldi9udWxsIHx8IDoKKyV7X19mZV9ncm91cGFkZH0gJXt1aWR9IC1y ICV7bmFtZX0gJj4vZGV2L251bGwgfHwgOgorJXtfX2ZlX3VzZXJhZGR9ICV7dWlkfSAtciAtcyAv c2Jpbi9ub2xvZ2luIC1kIC92YXIvbGliL2VqYWJiZXJkIC1NIFwKKwkJCS1jICdlamFiYmVyZCcg LWcgJXtuYW1lfSAle25hbWV9ICY+L2Rldi9udWxsIHx8IDoKIAogJXBvc3QKLS9zYmluL2Noa2Nv bmZpZyAtLWFkZCBlamFiYmVyZAorL3NiaW4vY2hrY29uZmlnIC0tYWRkICV7bmFtZX0KIAogKGNk IC9ldGMvZWphYmJlcmQKIGlmIFsgISAtZiBlamFiYmVyZC5wZW0gXQpAQCAtMTE1LDI4ICsxMTks MjMgQEAgZmkpCiAKICVwcmV1bgogaWYgWyAkMSA9IDAgXTsgdGhlbgotICAgICAgICAvc2Jpbi9z ZXJ2aWNlIGVqYWJiZXJkIHN0b3AgPi9kZXYvbnVsbCAyPiYxCi0gICAgICAgIC9zYmluL2Noa2Nv bmZpZyAtLWRlbCBlamFiYmVyZAorICAgICAgICAvc2Jpbi9zZXJ2aWNlICV7bmFtZX0gc3RvcCA+ L2Rldi9udWxsIDI+JjEKKyAgICAgICAgL3NiaW4vY2hrY29uZmlnIC0tZGVsICV7bmFtZX0KIGZp CiAKICVwb3N0dW4KIGlmIFsgIiQxIiAtZ2UgIjEiIF07IHRoZW4KLSAgICAgICAgL3NiaW4vc2Vy dmljZSBlamFiYmVyZCBjb25kcmVzdGFydCA+L2Rldi9udWxsIDI+JjEKKyAgICAgICAgL3NiaW4v c2VydmljZSAle25hbWV9IGNvbmRyZXN0YXJ0ID4vZGV2L251bGwgMj4mMQogZmkKIAogJXByZXAK ICVzZXR1cCAtcQotJXBhdGNoMSAtcDAgLWIgLmZpeF9wYXRocwogJXBhdGNoMiAtcDAgLWIgLmZp eF9jdGwKICVwYXRjaDMgLXAwIC1iIC5wYW1fbmFtZQotJXBhdGNoNCAtcDEgLWIgLmNhcHRjaGEK ICVwYXRjaDUgLXAwIC1iIC5tb2RfY3RsZXh0cmEKLSVwYXRjaDYgLXAwIC1iIC5lcnJvcl9tc2cK LSVwYXRjaDcgLXAwIC1iIC5kZWNyZWFzZV9idWZmZXJzCiAlcGF0Y2g4IC1wMCAtYiAuczJzCi0l cGF0Y2g5IC1wMCAtYiAuZHluX2NvbXBpbGUKIAotZG9zMnVuaXggc3JjL29kYmMvbXNzcWwuc3Fs Citkb3MydW5peCBzcmMvb2RiYy9tc3NxbDIwMDAuc3FsCiAKIGNwICV7Uzo0fSBzcmMKIGNwICV7 Uzo1fSBzcmMKQEAgLTE0OSw4ICsxNDgsMTAgQEAgcHVzaGQgc3JjCiAjIGRvZXNuJ3QgYnVpbGRz IG9uIFNNUCBjdXJyZW50bHkKIG1ha2UKIHBvcGQKLSVpZiAle3VuZGVmaW5lZCByaGVsfQorJWlm IDAlez93aXRoX2hldmVhfQogcHVzaGQgZG9jCisjIHJlbW92ZSBwcmUtYnVpbHQgZG9jcworcm0g LWYgZGV2Lmh0bWwgZmVhdHVyZXMuaHRtbCBmZWF0dXJlcy5wZGYgZ3VpZGUuaHRtbCBndWlkZS5w ZGYKIG1ha2UgaHRtbCBwZGYKIHBvcGQKICVlbmRpZgpAQCAtMTYyLDkgKzE2MywxMSBAQCBwdXNo ZCBzcmMKIG1ha2UgaW5zdGFsbCBERVNURElSPSV7YnVpbGRyb290fQogcG9wZAogCisjIHN1cnBy aXNpbmdseSwgZ2VuZXJpYyBlamFiYmVyZCBtYWtlZmlsZSBpbnN0YWxscyBsaWJyYXJpZXMgd2l0 aCA2NDQgcGVybWlzc2lvbnMKIGNobW9kIGEreCAle2J1aWxkcm9vdH0le19saWJkaXJ9LyV7bmFt ZX0vcHJpdi9saWIvKi5zbwogCi0le19fcGVybH0gLXBpIC1lICdzIS4vc3NsLnBlbSEvZXRjL2Vq YWJiZXJkL2VqYWJiZXJkLnBlbSFnJyAle2J1aWxkcm9vdH0vZXRjL2VqYWJiZXJkL2VqYWJiZXJk LmNmZworIyBmaXggZXhhbXBsZSBTU0wgY2VydGlmaWNhdGUgcGF0aCB0byByZWFsIG9uZSwgd2hp Y2ggd2UgY3JlYXRlZCByZWNlbnRseSAoc2VlIGFib3ZlKQorJXtfX3Blcmx9IC1waSAtZSAncyEv cGF0aC90by9zc2wucGVtIS9ldGMvZWphYmJlcmQvZWphYmJlcmQucGVtIWcnICV7YnVpbGRyb290 fS9ldGMvZWphYmJlcmQvZWphYmJlcmQuY2ZnCiAKIG1rZGlyIC1wICV7YnVpbGRyb290fS92YXIv bG9nL2VqYWJiZXJkCiBta2RpciAtcCAle2J1aWxkcm9vdH0vdmFyL2xpYi9lamFiYmVyZC9zcG9v bApAQCAtMTg0LDE4ICsxODcsMjYgQEAgaW5zdGFsbCAtRCAtcCAtbSAwNjQ0ICAle1M6Mn0gJXti dWlsZHJvb3R9JXtfc3lzY29uZmRpcn0vbG9ncm90YXRlLmQvZWphYmJlcmQKICMgaW5zdGFsbCBz eXNjb25maWcgZmlsZQogaW5zdGFsbCAtRCAtcCAtbSAwNjQ0ICAle1M6M30gJXtidWlsZHJvb3R9 JXtfc3lzY29uZmRpcn0vc3lzY29uZmlnL2VqYWJiZXJkCiAKLSV7X19wZXJsfSAtcGkgLWUgJ3Mh XEBsaWJkaXJcQCEle19saWJkaXJ9IWcnICAle2J1aWxkcm9vdH0le19pbml0cmRkaXJ9L2VqYWJi ZXJkICV7YnVpbGRyb290fSV7X3N5c2NvbmZkaXJ9L2xvZ3JvdGF0ZS5kL2VqYWJiZXJkICV7YnVp bGRyb290fSV7X3NiaW5kaXJ9L2VqYWJiZXJkY3RsCi0le19fcGVybH0gLXBpIC1lICdzIVxAdmVy c2lvblxAISV7dmVyc2lvbn0hZycgJXtidWlsZHJvb3R9JXtfaW5pdHJkZGlyfS9lamFiYmVyZCAl e2J1aWxkcm9vdH0le19zeXNjb25mZGlyfS9sb2dyb3RhdGUuZC9lamFiYmVyZCAle2J1aWxkcm9v dH0le19zYmluZGlyfS9lamFiYmVyZGN0bAorIyBjcmVhdGUgcm9vbSBmb3IgbmVjZXNzYXJ5IGRh dGEKK2luc3RhbGwgLWQgJXtidWlsZHJvb3R9JXtfZGF0YWRpcn0vJXtuYW1lfQorIyBpbnN0YWxs IHNxbC1zY3JpcHRzIGZvciBjcmVhdGluZyBkYiBzY2hlbWVzIGZvciB2YXJpb3VzIFJEQk1TCitp bnN0YWxsIC1wIC1tIDA2NDQgc3JjL29kYmMvbXNzcWwyMDAwLnNxbCAle2J1aWxkcm9vdH0le19k YXRhZGlyfS8le25hbWV9CitpbnN0YWxsIC1wIC1tIDA2NDQgc3JjL29kYmMvbXNzcWwyMDA1LnNx bCAle2J1aWxkcm9vdH0le19kYXRhZGlyfS8le25hbWV9CitpbnN0YWxsIC1wIC1tIDA2NDQgc3Jj L29kYmMvbXlzcWwuc3FsICV7YnVpbGRyb290fSV7X2RhdGFkaXJ9LyV7bmFtZX0KK2luc3RhbGwg LXAgLW0gMDY0NCBzcmMvb2RiYy9wZy5zcWwgJXtidWlsZHJvb3R9JXtfZGF0YWRpcn0vJXtuYW1l fQorIyBpbnN0YWxsIGV4YW1wbGUgc2NyaXB0IGZvciBDQVBUQ0hBLXByb3RlY3Rpb24KK2luc3Rh bGwgLXAgLW0gMDY0NCB0b29scy9jYXB0Y2hhLnNoICV7YnVpbGRyb290fSV7X2RhdGFkaXJ9LyV7 bmFtZX0KIAotIyBCWiMgNDM5NTgzCi0le19fcGVybH0gLXBpIC1lICdzIU1BSU5ESVI9IU1BSU5E SVI9JXtfbGliZGlyfS9lamFiYmVyZCFnJyAle2J1aWxkcm9vdH0le19zYmluZGlyfS9lamFiYmVy ZGN0bAorIyByZW1vdmVkIGZpbGVzLCB3aGljaCB3b3VsZCBiZSBwYWNrYWdlZCBsYXRlciAoc2Vl ICdmaWxlcycgc2VjdGlvbikKK3JtIC1yZiAle2J1aWxkcm9vdH0le19kb2NkaXJ9LyV7bmFtZX0K K3JtIC1mICV7YnVpbGRyb290fSV7X2xpYmRpcn0vJXtuYW1lfS9wcml2L2Jpbi9jYXB0Y2hhLnNo CiAKICVjbGVhbgogcm0gLXJmICV7YnVpbGRyb290fQogCiAlZmlsZXMKICVkZWZhdHRyKC0scm9v dCxyb290LC0pCi0lZG9jIENPUFlJTkcgc3JjL29kYmMvbXlzcWwuc3FsIHNyYy9vZGJjL21zc3Fs LnNxbCBzcmMvb2RiYy9wZy5zcWwgdG9vbHMvY2FwdGNoYS5zaAorJWRvYyBDT1BZSU5HCiAKICVh dHRyKDc1MCxlamFiYmVyZCxlamFiYmVyZCkgJWRpciAle19zeXNjb25mZGlyfS9lamFiYmVyZAog JWF0dHIoNjQwLGVqYWJiZXJkLGVqYWJiZXJkKSAlY29uZmlnKG5vcmVwbGFjZSkgJXtfc3lzY29u ZmRpcn0vZWphYmJlcmQvZWphYmJlcmQuY2ZnCkBAIC0yMTMsMzAgKzIyNCw5NyBAQCBybSAtcmYg JXtidWlsZHJvb3R9CiAKICVkaXIgJXtfbGliZGlyfS8le25hbWV9CiAlZGlyICV7X2xpYmRpcn0v JXtuYW1lfS9lYmluCislZGlyICV7X2xpYmRpcn0vJXtuYW1lfS9pbmNsdWRlCislZGlyICV7X2xp YmRpcn0vJXtuYW1lfS9pbmNsdWRlL2VsZGFwCislZGlyICV7X2xpYmRpcn0vJXtuYW1lfS9pbmNs dWRlL21vZF9tdWMKKyVkaXIgJXtfbGliZGlyfS8le25hbWV9L2luY2x1ZGUvbW9kX3Byb3h5NjUK KyVkaXIgJXtfbGliZGlyfS8le25hbWV9L2luY2x1ZGUvbW9kX3B1YnN1YgorJWRpciAle19saWJk aXJ9LyV7bmFtZX0vaW5jbHVkZS93ZWIKICVkaXIgJXtfbGliZGlyfS8le25hbWV9L3ByaXYKICVk aXIgJXtfbGliZGlyfS8le25hbWV9L3ByaXYvYmluCi0lYXR0cig0NzUwLHJvb3QsZWphYmJlcmQp ICAgICV7X2xpYmRpcn0vJXtuYW1lfS9wcml2L2Jpbi9lcGFtCiAlZGlyICV7X2xpYmRpcn0vJXtu YW1lfS9wcml2L2xpYgogJWRpciAle19saWJkaXJ9LyV7bmFtZX0vcHJpdi9tc2dzCiAKLSV7X2xp YmRpcn0vJXtuYW1lfS9lYmluLyouYXBwCisle19saWJkaXJ9LyV7bmFtZX0vZWJpbi8le25hbWV9 LmFwcAogJXtfbGliZGlyfS8le25hbWV9L2ViaW4vKi5iZWFtCi0le19saWJkaXJ9LyV7bmFtZX0v cHJpdi9saWIvKi5zbworJXtfbGliZGlyfS8le25hbWV9L2luY2x1ZGUvWG1wcEFkZHIuaHJsCisl e19saWJkaXJ9LyV7bmFtZX0vaW5jbHVkZS9hZGhvYy5ocmwKKyV7X2xpYmRpcn0vJXtuYW1lfS9p bmNsdWRlL2VqYWJiZXJkLmhybAorJXtfbGliZGlyfS8le25hbWV9L2luY2x1ZGUvZWphYmJlcmRf Y29tbWFuZHMuaHJsCisle19saWJkaXJ9LyV7bmFtZX0vaW5jbHVkZS9lamFiYmVyZF9jb25maWcu aHJsCisle19saWJkaXJ9LyV7bmFtZX0vaW5jbHVkZS9lamFiYmVyZF9jdGwuaHJsCisle19saWJk aXJ9LyV7bmFtZX0vaW5jbHVkZS9lbGRhcC9FTERBUHYzLmhybAorJXtfbGliZGlyfS8le25hbWV9 L2luY2x1ZGUvZWxkYXAvZWxkYXAuaHJsCisle19saWJkaXJ9LyV7bmFtZX0vaW5jbHVkZS9qbGli LmhybAorJXtfbGliZGlyfS8le25hbWV9L2luY2x1ZGUvbW9kX211Yy9tb2RfbXVjX3Jvb20uaHJs Cisle19saWJkaXJ9LyV7bmFtZX0vaW5jbHVkZS9tb2RfcHJpdmFjeS5ocmwKKyV7X2xpYmRpcn0v JXtuYW1lfS9pbmNsdWRlL21vZF9wcm94eTY1L21vZF9wcm94eTY1LmhybAorJXtfbGliZGlyfS8l e25hbWV9L2luY2x1ZGUvbW9kX3B1YnN1Yi9wdWJzdWIuaHJsCisle19saWJkaXJ9LyV7bmFtZX0v aW5jbHVkZS9tb2Rfcm9zdGVyLmhybAorJXtfbGliZGlyfS8le25hbWV9L2luY2x1ZGUvd2ViL2Vq YWJiZXJkX2h0dHAuaHJsCisle19saWJkaXJ9LyV7bmFtZX0vaW5jbHVkZS93ZWIvZWphYmJlcmRf d2ViX2FkbWluLmhybAorJWF0dHIoNDc1MCxyb290LGVqYWJiZXJkKSAle19saWJkaXJ9LyV7bmFt ZX0vcHJpdi9iaW4vZXBhbQorJXtfbGliZGlyfS8le25hbWV9L3ByaXYvbGliL2VqYWJiZXJkX3ps aWJfZHJ2LnNvCisle19saWJkaXJ9LyV7bmFtZX0vcHJpdi9saWIvZXhwYXRfZXJsLnNvCisle19s aWJkaXJ9LyV7bmFtZX0vcHJpdi9saWIvaWNvbnZfZXJsLnNvCisle19saWJkaXJ9LyV7bmFtZX0v cHJpdi9saWIvc3RyaW5ncHJlcF9kcnYuc28KKyV7X2xpYmRpcn0vJXtuYW1lfS9wcml2L2xpYi90 bHNfZHJ2LnNvCiAle19saWJkaXJ9LyV7bmFtZX0vcHJpdi9tc2dzLyoubXNnCiAKKyVkaXIgJXtf ZGF0YWRpcn0vJXtuYW1lfQorJXtfZGF0YWRpcn0vJXtuYW1lfS9jYXB0Y2hhLnNoCisle19kYXRh ZGlyfS8le25hbWV9L21zc3FsMjAwMC5zcWwKKyV7X2RhdGFkaXJ9LyV7bmFtZX0vbXNzcWwyMDA1 LnNxbAorJXtfZGF0YWRpcn0vJXtuYW1lfS9teXNxbC5zcWwKKyV7X2RhdGFkaXJ9LyV7bmFtZX0v cGcuc3FsCisKICVhdHRyKDc1MCxlamFiYmVyZCxlamFiYmVyZCkgJWRpciAvdmFyL2xpYi9lamFi YmVyZAogJWF0dHIoNzUwLGVqYWJiZXJkLGVqYWJiZXJkKSAlZGlyIC92YXIvbGliL2VqYWJiZXJk L3Nwb29sCiAlYXR0cig3NTAsZWphYmJlcmQsZWphYmJlcmQpICVkaXIgL3Zhci9sb2cvZWphYmJl cmQKIAogJWZpbGVzIGRvYwogJWRlZmF0dHIoLSxyb290LHJvb3QsLSkKLSVpZiAle3VuZGVmaW5l ZCByaGVsfQotJWRvYyBDaGFuZ2VMb2cgQ09QWUlORyBkb2MvcmVsZWFzZV9ub3Rlc18qIGRvYy8q LnBkZiBkb2MvKi5odG1sIGRvYy8qLnBuZwotJWVsc2UKLSVkb2MgQ2hhbmdlTG9nIENPUFlJTkcg ZG9jL3JlbGVhc2Vfbm90ZXNfKgotJWVuZGlmCislZG9jIENPUFlJTkcKKyVkb2MgZG9jL2Rldi5o dG1sCislZG9jIGRvYy9kaXNjb3J1cy5wbmcKKyVkb2MgZG9jL2ZlYXR1cmVzLmh0bWwKKyVkb2Mg ZG9jL2ZlYXR1cmVzLnBkZgorJWRvYyBkb2MvZ3VpZGUuaHRtbAorJWRvYyBkb2MvZ3VpZGUucGRm CislZG9jIGRvYy9sb2dvLnBuZworJWRvYyBkb2MvcmVsZWFzZV9ub3Rlc18wLjkudHh0CislZG9j IGRvYy9yZWxlYXNlX25vdGVzXzAuOS4xLnR4dAorJWRvYyBkb2MvcmVsZWFzZV9ub3Rlc18wLjku OC50eHQKKyVkb2MgZG9jL3JlbGVhc2Vfbm90ZXNfMS4wLjAudHh0CislZG9jIGRvYy9yZWxlYXNl X25vdGVzXzEuMS4wLnR4dAorJWRvYyBkb2MvcmVsZWFzZV9ub3Rlc18xLjEuMS50eHQKKyVkb2Mg ZG9jL3JlbGVhc2Vfbm90ZXNfMS4xLjIudHh0CislZG9jIGRvYy9yZWxlYXNlX25vdGVzXzEuMS4z LnR4dAorJWRvYyBkb2MvcmVsZWFzZV9ub3Rlc18xLjEuNC50eHQKKyVkb2MgZG9jL3JlbGVhc2Vf bm90ZXNfMi4wLjAudHh0CislZG9jIGRvYy9yZWxlYXNlX25vdGVzXzIuMC4xLnR4dAorJWRvYyBk b2MvcmVsZWFzZV9ub3Rlc18yLjAuMi50eHQKKyVkb2MgZG9jL3JlbGVhc2Vfbm90ZXNfMi4wLjMu dHh0CislZG9jIGRvYy9yZWxlYXNlX25vdGVzXzIuMC40LnR4dAorJWRvYyBkb2MvcmVsZWFzZV9u b3Rlc18yLjAuNS50eHQKKyVkb2MgZG9jL3JlbGVhc2Vfbm90ZXNfMi4xLjAudHh0CislZG9jIGRv Yy93ZWJhZG1tYWluLnBuZworJWRvYyBkb2Mvd2ViYWRtbWFpbnJ1LnBuZworJWRvYyBkb2MveW96 aGlraGVhZGVyLnBuZwogCiAlY2hhbmdlbG9nCisqIEZyaSBOb3YgMjAgMjAwOSBQZXRlciBMZW1l bmtvdiA8bGVtZW5rb3ZAZ21haWwuY29tPiAyLjEuMC0xCistIFZlci4gMi4xLjAKKy0gVXBzdHJl YW0gbm8gbG9uZ2VyIHByb3ZpZGluZyBDaGFuZ2VMb2cKKy0gRHJvcHBlZCBlamFiYmVyZC1idWls ZC5wYXRjaCAodXBzdHJlYW1lZCkKKy0gRHJvcHBlZCBlamFiYmVyZC1jYXB0Y2hhLnBhdGNoICh1 cHN0cmVhbWVkKQorLSBEcm9wcGVkIGVqYWJiZXJkLWRlY3JlYXNlX2J1ZmZlcnNfaW5fbW9kX3By b3h5NjUucGF0Y2ggKHVwc3RyZWFtZWQpCistIERyb3BwZWQgZWphYmJlcmQtZHluYW1pY19jb21w aWxlX2xvZ2xldmVsLnBhdGNoICh1cHN0cmVhbWVkKQorLSBEcm9wcGVkIGVqYWJiZXJkLXR1cm5f b2ZmX2Vycm9yX21lc3NhZ2VzX2luX21vZF9jYXBzLnBhdGNoICh1cHN0cmVhbWVkKQorLSBEb2Nz IHJlb3JnYW5pemVkIGFuZCBhZGRlZCBhYmlsaXR5IHRvIHJlYnVpbGQgdGhlbSBpZiBwb3NzaWJs ZQorLSBBZGRlZCBiYWNrIHBwYzY0IHRhcmdldAorLSBTUUwtc2NyaXB0cyBtb3ZlZCB0byAlJXtf ZGF0YWRpcn0vJSV7bmFtZX0gZnJvbSAlJWRvYworCiAqIFRodSBOb3YgIDUgMjAwOSBQZXRlciBM ZW1lbmtvdiA8bGVtZW5rb3ZAZ21haWwuY29tPiAyLjAuNS0xMAogLSBtb2RfY3RsZXh0cmEgd2Fz IHVwZGF0ZWQgZnJvbSByODczIHRvIHIxMDIwCiAtIEZpeCBmb3IgQlojIDUzMzAyMQoKZGlmZiAt LWdpdCBhL2ltcG9ydC5sb2cgYi9pbXBvcnQubG9nCmluZGV4IDU0ODk2MmYuLmNjMWNiODYgMTAw NjQ0Ci0tLSBhL2ltcG9ydC5sb2cKKysrIGIvaW1wb3J0LmxvZwpAQCAtMTIsMyArMTIsNCBAQCBl amFiYmVyZC0yXzBfNS0zX2ZjMTA6SEVBRDplamFiYmVyZC0yLjAuNS0zLmZjMTAuc3JjLnJwbTox MjQwMzA0NTMyCiBlamFiYmVyZC0yXzBfNS02X2ZjMTE6SEVBRDplamFiYmVyZC0yLjAuNS02LmZj MTEuc3JjLnJwbToxMjUxMjI4ODcwCiBlamFiYmVyZC0yXzBfNS04X2ZjMTE6SEVBRDplamFiYmVy ZC0yLjAuNS04LmZjMTEuc3JjLnJwbToxMjUyNDkzMDE3CiBlamFiYmVyZC0yXzBfNS0xMF9mYzEx OkhFQUQ6ZWphYmJlcmQtMi4wLjUtMTAuZmMxMS5zcmMucnBtOjEyNTc0MjgzMTAKK2VqYWJiZXJk LTJfMV8wLTFfZmMxMjpIRUFEOmVqYWJiZXJkLTIuMS4wLTEuZmMxMi5zcmMucnBtOjEyNTg3OTAz MzIKCmRpZmYgLS1naXQgYS9zb3VyY2VzIGIvc291cmNlcwppbmRleCA3N2UxNDI3Li5jYzQzNDhj IDEwMDY0NAotLS0gYS9zb3VyY2VzCisrKyBiL3NvdXJjZXMKQEAgLTEgKzEgQEAKLTJkODViNDdk Zjk2OWRhZjBhNzhlZDNiMTY1NjJkNzMxICBlamFiYmVyZC0yLjAuNS50YXIuZ3oKKzM3M2JlNmU5 OWFjZjdjOTMwYWI4NTUzMTQ4OWM2M2M0ICBlamFiYmVyZC0yLjEuMC50YXIuZ3oK