From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 958 invoked from network); 13 Sep 2020 05:35:30 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 13 Sep 2020 05:35:30 -0000 Content-Type: multipart/mixed; boundary="===============0299908766155358968==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_New_packages=3A_phoc-0=2E4=2E2_calls-0=2E1=2E7_purism-chatty-0=2E1=2E15?= To: ml@inbox.vuxu.org From: julio641742 Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Sun, 13 Sep 2020 07:35:25 +0200 List-Id: Message-ID: <20200913053525.f2nKmgfw_poFZ-UgQNLA-6tqDsZymmlUJG-dcs7GO04@z> GitHub notification mails are now in MIME to allow UTF8. --===============0299908766155358968== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkganVsaW82NDE3NDIgYWdhaW5zdCBt YXN0ZXIgb24gdGhlIHZvaWQtcGFja2FnZXMgcmVwb3NpdG9yeQoKaHR0cHM6Ly9naXRodWIuY29t L2p1bGlvNjQxNzQyL3ZvaWQtcGFja2FnZXMgcGhvc2gKaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQt bGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzI0NTM4CgpOZXcgcGFja2FnZXM6IHBob2MtMC40LjIg Y2FsbHMtMC4xLjcgcHVyaXNtLWNoYXR0eS0wLjEuMTUKR2V0dGluZyByZWFkeSBmb3IgbXkgcGlu ZXBob25lIDopCgpBIHBhdGNoIGZpbGUgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51 eC92b2lkLXBhY2thZ2VzL3B1bGwvMjQ1MzgucGF0Y2ggaXMgYXR0YWNoZWQ= --===============0299908766155358968== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-phosh-24538.patch" RnJvbSA3YzRjNmRiNjY0YzQyYzY5YmVmZmQwMzhlODljYmVhOWE0NmYzZGJkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKdWxpbyBHYWx2YW4gPGp1bGlvQGVwYXpvdGUubmV0PgpEYXRl OiBTYXQsIDI5IEF1ZyAyMDIwIDExOjQ3OjM1IC0wNzAwClN1YmplY3Q6IFtQQVRDSCAwMS8xMV0g TmV3IHBhY2thZ2U6IGZlZWRiYWNrZC0wLjAuMCtnaXQyMDIwMDcwNwoKLS0tCiBjb21tb24vc2hs aWJzICAgICAgICAgICAgICB8ICAxICsKIHNyY3BrZ3MvZmVlZGJhY2tkL3RlbXBsYXRlIHwgMzcg KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogc3JjcGtncy9saWJmZWVkYmFj ayAgICAgICAgfCAgMSArCiBzcmNwa2dzL2xpYmZlZWRiYWNrLWRldmVsICB8ICAxICsKIDQgZmls ZXMgY2hhbmdlZCwgNDAgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mv ZmVlZGJhY2tkL3RlbXBsYXRlCiBjcmVhdGUgbW9kZSAxMjAwMDAgc3JjcGtncy9saWJmZWVkYmFj awogY3JlYXRlIG1vZGUgMTIwMDAwIHNyY3BrZ3MvbGliZmVlZGJhY2stZGV2ZWwKCmRpZmYgLS1n aXQgYS9jb21tb24vc2hsaWJzIGIvY29tbW9uL3NobGlicwppbmRleCBlYzgzMTBkZjdiMy4uNzUy NzMwZjgyOWIgMTAwNjQ0Ci0tLSBhL2NvbW1vbi9zaGxpYnMKKysrIGIvY29tbW9uL3NobGlicwpA QCAtMzk5MCwzICszOTkwLDQgQEAgbGlibmVhdHZuYy5zby4wIG5lYXR2bmMtMC4yLjBfMQogbGli dGRqc29uLnNvLjEuNi4wIGxpYnRkLTEuNi4wXzEKIGxpYkp1ZHkuc28uMSBqdWR5LTEuMC41XzEK IGxpYnNpZ25hbC1wcm90b2NvbC1jLnNvLjIgbGlic2lnbmFsLXByb3RvY29sLWMtMi4zLjNfMgor bGliZmVlZGJhY2stMC4wLnNvLjAgbGliZmVlZGJhY2stMC4wLjArZ2l0MjAyMDA3MDdfMQpkaWZm IC0tZ2l0IGEvc3JjcGtncy9mZWVkYmFja2QvdGVtcGxhdGUgYi9zcmNwa2dzL2ZlZWRiYWNrZC90 ZW1wbGF0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMDEzMTc3NWNj OWQKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2ZlZWRiYWNrZC90ZW1wbGF0ZQpAQCAtMCww ICsxLDM3IEBACisjIFRlbXBsYXRlIGZpbGUgZm9yICdmZWVkYmFja2QnCitwa2duYW1lPWZlZWRi YWNrZAordmVyc2lvbj0wLjAuMCtnaXQyMDIwMDcwNworcmV2aXNpb249MQord3Jrc3JjPSR7cGtn bmFtZX0tdiR7dmVyc2lvbn0KK2J1aWxkX3N0eWxlPW1lc29uCitidWlsZF9oZWxwZXI9Z2lyCito b3N0bWFrZWRlcGVuZHM9InZhbGEgZ2xpYi1kZXZlbCBwa2ctY29uZmlnIgorbWFrZWRlcGVuZHM9 Imdzb3VuZC1kZXZlbCBsaWJndWRldi1kZXZlbCBqc29uLWdsaWItZGV2ZWwiCitkZXBlbmRzPSJk YnVzIgorc2hvcnRfZGVzYz0iRGFlbW9uIHRvIHByb3ZpZGUgaGFwdGljIGZlZWRiYWNrIG9uIGV2 ZW50cyIKK21haW50YWluZXI9Ikp1bGlvIEdhbHZhbiA8anVsaW8tdm9pZEBlcGF6b3RlLm5ldD4i CitsaWNlbnNlPSJHUEwtMy4wLW9yLWxhdGVyIgoraG9tZXBhZ2U9Imh0dHBzOi8vc291cmNlLnB1 cmkuc20vTGlicmVtNS9mZWVkYmFja2QiCitkaXN0ZmlsZXM9IiR7aG9tZXBhZ2V9Ly0vYXJjaGl2 ZS92JHt2ZXJzaW9ufS8ke3BrZ25hbWV9LXYke3ZlcnNpb259LnRhci5neiIKK2NoZWNrc3VtPTM3 Y2Y0OGNiZGJhZWU4ZTJkMGJlYTQwNmY1YjYzMTdiZjBlM2NkZjc5MjUwZjljZTBhODg0ZTdkMzkw NWE4ZWEKKworcG9zdF9pbnN0YWxsKCkgeworCXZpbnN0YWxsIGRlYmlhbi9mZWVkYmFja2QudWRl diAwNjQ0IHVzci9saWIvdWRldi9ydWxlcy5kIDkwLWZlZWRiYWNrZC5ydWxlcworfQorCitsaWJm ZWVkYmFja19wYWNrYWdlKCkgeworCXNob3J0X2Rlc2MrPSIgLSBzaGFyZWQgbGlicmFyaWVzIgor CXBrZ19pbnN0YWxsKCkgeworCQl2bW92ZSAidXNyL2xpYi8qLnNvLioiCisJfQorfQorCitsaWJm ZWVkYmFjay1kZXZlbF9wYWNrYWdlKCkgeworCWRlcGVuZHM9IiR7c291cmNlcGtnfT49JHt2ZXJz aW9ufV8ke3JldmlzaW9ufSIKKwlzaG9ydF9kZXNjKz0iIC0gZGV2ZWxvcG1lbnQgZmlsZXMiCisJ cGtnX2luc3RhbGwoKSB7CisJCXZtb3ZlIHVzci9pbmNsdWRlCisJCXZtb3ZlIHVzci9saWIvcGtn Y29uZmlnCisJCXZtb3ZlICJ1c3IvbGliLyouc28iCisJfQorfQpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9saWJmZWVkYmFjayBiL3NyY3BrZ3MvbGliZmVlZGJhY2sKbmV3IGZpbGUgbW9kZSAxMjAwMDAK aW5kZXggMDAwMDAwMDAwMDAuLjQ5ZGM5NjVmMWNkCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtn cy9saWJmZWVkYmFjawpAQCAtMCwwICsxIEBACitmZWVkYmFja2QKXCBObyBuZXdsaW5lIGF0IGVu ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmNwa2dzL2xpYmZlZWRiYWNrLWRldmVsIGIvc3JjcGtn cy9saWJmZWVkYmFjay1kZXZlbApuZXcgZmlsZSBtb2RlIDEyMDAwMAppbmRleCAwMDAwMDAwMDAw MC4uNDlkYzk2NWYxY2QKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2xpYmZlZWRiYWNrLWRl dmVsCkBAIC0wLDAgKzEgQEAKK2ZlZWRiYWNrZApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK CkZyb20gZjEyZTFlZjMwNWVkZDBkMWYxNzQ5YTVkMGY0ODlkZTFiZDEwNWRkZiBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogSnVsaW8gR2FsdmFuIDxqdWxpb0BlcGF6b3RlLm5ldD4KRGF0 ZTogU2F0LCAyOSBBdWcgMjAyMCAxMTo0Nzo1NiAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMDIvMTFd IE5ldyBwYWNrYWdlOiBwaG9jLTAuNC4yCgotLS0KIHNyY3BrZ3MvcGhvYy90ZW1wbGF0ZSB8IDE2 ICsrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspCiBjcmVh dGUgbW9kZSAxMDA2NDQgc3JjcGtncy9waG9jL3RlbXBsYXRlCgpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9waG9jL3RlbXBsYXRlIGIvc3JjcGtncy9waG9jL3RlbXBsYXRlCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4wMGM5ZjFmM2FiMAotLS0gL2Rldi9udWxsCisrKyBiL3Ny Y3BrZ3MvcGhvYy90ZW1wbGF0ZQpAQCAtMCwwICsxLDE2IEBACisjIFRlbXBsYXRlIGZpbGUgZm9y ICdwaG9jJworcGtnbmFtZT1waG9jCit2ZXJzaW9uPTAuNC4yCityZXZpc2lvbj0xCit3cmtzcmM9 JHtwa2duYW1lfS12JHt2ZXJzaW9ufQorYnVpbGRfc3R5bGU9bWVzb24KK2NvbmZpZ3VyZV9hcmdz PSItRGVtYmVkLXdscm9vdHM9ZGlzYWJsZWQiCitob3N0bWFrZWRlcGVuZHM9ImdsaWItZGV2ZWwg cGtnLWNvbmZpZyB3YXlsYW5kLWRldmVsIgorbWFrZWRlcGVuZHM9Imdub21lLWRlc2t0b3AtZGV2 ZWwgd2xyb290cy1kZXZlbCIKK2RlcGVuZHM9Im11dHRlciIKK3Nob3J0X2Rlc2M9Ildscm9vdHMg YmFzZWQgUGhvbmUgY29tcG9zaXRvciBmb3IgdGhlIFBob3NoIHNoZWxsIgorbWFpbnRhaW5lcj0i SnVsaW8gR2FsdmFuIDxqdWxpby12b2lkQGVwYXpvdGUubmV0PiIKK2xpY2Vuc2U9IkdQTC0zLjAt b3ItbGF0ZXIiCitob21lcGFnZT0iaHR0cHM6Ly9zb3VyY2UucHVyaS5zbS9MaWJyZW01L3Bob2Mi CitkaXN0ZmlsZXM9IiR7aG9tZXBhZ2V9Ly0vYXJjaGl2ZS92JHt2ZXJzaW9ufS8ke3BrZ25hbWV9 LXYke3ZlcnNpb259LnRhci5neiIKK2NoZWNrc3VtPWJkYjM0NjQ0YzdkNDljOTUzMjM5YzFlOTM5 YmM1ZWUyYmMyNmY2MTg3YjlkNzU2YjcwYjExM2QyNzM0YzcxMmMKCkZyb20gM2E5Y2IxODBmYzIw MzA3YTZiOTU0OTBkYmJlZTA3NDU0YmQ4OGY5OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogSnVsaW8gR2FsdmFuIDxqdWxpb0BlcGF6b3RlLm5ldD4KRGF0ZTogU2F0LCAyOSBBdWcgMjAy MCAxMTo0ODo0OCAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMDMvMTFdIE5ldyBwYWNrYWdlOiBzcXVl ZWtib2FyZC0xLjkuMwoKLS0tCiBzcmNwa2dzL3NxdWVla2JvYXJkL3RlbXBsYXRlIHwgMjUgKysr KysrKysrKysrKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDI1IGluc2VydGlvbnMoKykK IGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3NxdWVla2JvYXJkL3RlbXBsYXRlCgpkaWZmIC0t Z2l0IGEvc3JjcGtncy9zcXVlZWtib2FyZC90ZW1wbGF0ZSBiL3NyY3BrZ3Mvc3F1ZWVrYm9hcmQv dGVtcGxhdGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjkzODI0OGVm YTZiCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9zcXVlZWtib2FyZC90ZW1wbGF0ZQpAQCAt MCwwICsxLDI1IEBACisjIFRlbXBsYXRlIGZpbGUgZm9yICdzcXVlZWtib2FyZCcKK3BrZ25hbWU9 c3F1ZWVrYm9hcmQKK3ZlcnNpb249MS45LjMKK3JldmlzaW9uPTEKK3dya3NyYz0ke3BrZ25hbWV9 LXYke3ZlcnNpb259CitidWlsZF9zdHlsZT1tZXNvbgorYnVpbGRfaGVscGVyPXJ1c3QKK2hvc3Rt YWtlZGVwZW5kcz0iZ2xpYi1kZXZlbCBnZXR0ZXh0IHBrZy1jb25maWcgY2FyZ28gd2F5bGFuZC1k ZXZlbCIKK21ha2VkZXBlbmRzPSJydXN0IGd0ayszLWRldmVsIGdub21lLWRlc2t0b3AtZGV2ZWwg bGliZmVlZGJhY2stZGV2ZWwiCitzaG9ydF9kZXNjPSJGaW5hbCBMaWJyZW01IGtleWJvYXJkIgor bWFpbnRhaW5lcj0iSnVsaW8gR2FsdmFuIDxqdWxpby12b2lkQGVwYXpvdGUubmV0PiIKK2xpY2Vu c2U9IkdQTC0zLjAtb3ItbGF0ZXIiCitob21lcGFnZT0iaHR0cHM6Ly9zb3VyY2UucHVyaS5zbS9M aWJyZW01L3NxdWVla2JvYXJkIgorZGlzdGZpbGVzPSIke2hvbWVwYWdlfS8tL2FyY2hpdmUvdiR7 dmVyc2lvbn0vJHtwa2duYW1lfS12JHt2ZXJzaW9ufS50YXIuZ3oiCitjaGVja3N1bT1iOTllNTZm YWFjZTM5ODZiZjc1MmUwOGMxMDRjZWE2MGVkODk2ZDUxNDI4NDg0MDY1NTAzM2RkOTQ1N2RiODI0 CisKK3ByZV9jb25maWd1cmUoKSB7CisJaWYgWyAiJENST1NTX0JVSUxEIiBdOyB0aGVuCisJCXZz ZWQgLWkgY2FyZ29fYnVpbGQuc2ggLWUgInMvLWEgLi8tYSAke1hCUFNfQ1JPU1NfUlVTVF9UQVJH RVR9L2ciCisJZmkKK30KKworcG9zdF9pbnN0YWxsKCkgeworCWNobW9kICt4ICR7REVTVERJUn0v dXNyL2Jpbi9zcXVlZWtib2FyZC1lbnRyeQorfQoKRnJvbSAzN2JhYzc5NjIzZGY2NjFkY2JmNjdk ZmUxNGFlNDVmYzZjNTc0MTMzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKdWxpbyBH YWx2YW4gPGp1bGlvQGVwYXpvdGUubmV0PgpEYXRlOiBTYXQsIDI5IEF1ZyAyMDIwIDExOjQ4OjU5 IC0wNzAwClN1YmplY3Q6IFtQQVRDSCAwNC8xMV0gTmV3IHBhY2thZ2U6IHBob3NoLTAuNC4zCgot LS0KIHNyY3BrZ3MvcGhvc2gvZmlsZXMvcGhvc2guZGVza3RvcCAgICAgICAgICAgfCAxMSArKysr KysrKwogc3JjcGtncy9waG9zaC9maWxlcy9zbS5wdXJpLk9TSzAuZGVza3RvcCAgICB8IDEyICsr KysrKysrKwogc3JjcGtncy9waG9zaC9wYXRjaGVzLzMyYml0LWJ1aWxkLWZpeC5wYXRjaCB8IDMw ICsrKysrKysrKysrKysrKysrKysrKwogc3JjcGtncy9waG9zaC90ZW1wbGF0ZSAgICAgICAgICAg ICAgICAgICAgICB8IDIyICsrKysrKysrKysrKysrKwogNCBmaWxlcyBjaGFuZ2VkLCA3NSBpbnNl cnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9waG9zaC9maWxlcy9waG9zaC5k ZXNrdG9wCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9waG9zaC9maWxlcy9zbS5wdXJpLk9T SzAuZGVza3RvcAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcGhvc2gvcGF0Y2hlcy8zMmJp dC1idWlsZC1maXgucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3Bob3NoL3RlbXBs YXRlCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9waG9zaC9maWxlcy9waG9zaC5kZXNrdG9wIGIvc3Jj cGtncy9waG9zaC9maWxlcy9waG9zaC5kZXNrdG9wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAwMDAwLi44NDQ1Mjg0NTExNQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcGhv c2gvZmlsZXMvcGhvc2guZGVza3RvcApAQCAtMCwwICsxLDExIEBACitbRGVza3RvcCBFbnRyeV0K K05hbWU9UGhvc2gKK05hbWVbZW5dPVBob3NoCitDb21tZW50PVRoaXMgc2Vzc2lvbiBsb2dzIHlv dSBpbnRvIFBob3NoCitDb21tZW50W2VuXT1UaGlzIHNlc3Npb24gbG9ncyBpbiB5b3UgaW50byBQ aG9zaAorRXhlYz1kYnVzLXJ1bi1zZXNzaW9uIC91c3IvYmluL3Bob3NoCitUcnlFeGVjPS91c3Iv YmluL3Bob3NoCitJY29uPQorVHlwZT1BcHBsaWNhdGlvbgorWC1EZXNrdG9wTmFtZXM9UGhvc2gK K0tleXdvcmRzPWxhdW5jaDtQaG9zaDtkZXNrdG9wO3Nlc3Npb247CmRpZmYgLS1naXQgYS9zcmNw a2dzL3Bob3NoL2ZpbGVzL3NtLnB1cmkuT1NLMC5kZXNrdG9wIGIvc3JjcGtncy9waG9zaC9maWxl cy9zbS5wdXJpLk9TSzAuZGVza3RvcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMC4uMzk3NDBmMTU3NzMKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3Bob3NoL2ZpbGVz L3NtLnB1cmkuT1NLMC5kZXNrdG9wCkBAIC0wLDAgKzEsMTIgQEAKK1tEZXNrdG9wIEVudHJ5XQor VHlwZT1BcHBsaWNhdGlvbgorTmFtZT1Pbi1zY3JlZW4ga2V5Ym9hcmQKK0NvbW1lbnQ9RGVmYXVs dCBvbi1zY3JlZW4ga2V5Ym9hcmQKK0V4ZWM9L3Vzci9iaW4vc3F1ZWVrYm9hcmQKK0NhdGVnb3Jp ZXM9R05PTUU7Q29yZTsKK09ubHlTaG93SW49R05PTUU7CitOb0Rpc3BsYXk9dHJ1ZQorWC1HTk9N RS1BdXRvc3RhcnQtUGhhc2U9UGFuZWwKK1gtR05PTUUtUHJvdmlkZXM9aW5wdXRtZXRob2QKK1gt R05PTUUtQXV0b3N0YXJ0LU5vdGlmeT10cnVlCitYLUdOT01FLUF1dG9SZXN0YXJ0PXRydWUKZGlm ZiAtLWdpdCBhL3NyY3BrZ3MvcGhvc2gvcGF0Y2hlcy8zMmJpdC1idWlsZC1maXgucGF0Y2ggYi9z cmNwa2dzL3Bob3NoL3BhdGNoZXMvMzJiaXQtYnVpbGQtZml4LnBhdGNoCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5hOThlY2IwZmFhNQotLS0gL2Rldi9udWxsCisrKyBi L3NyY3BrZ3MvcGhvc2gvcGF0Y2hlcy8zMmJpdC1idWlsZC1maXgucGF0Y2gKQEAgLTAsMCArMSwz MCBAQAorRnJvbSBkMWRhNWVhN2QxOGM2Nzk0YzlhN2QyZjQxMzU1ZmU5MGQ0MTE1YWMxIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0d1aWRvPTIwRz1DMz1CQ250aGVy Pz0gPGFneEBzaWd4Y3B1Lm9yZz4KK0RhdGU6IFR1ZSwgNCBBdWcgMjAyMCAwODoyMjozOSArMDIw MAorU3ViamVjdDogW1BBVENIXSB0aW1lc3RhbXAtbGFiZWw6IFVuYnJlYWsgYnVpbGQgb24gMzIg Yml0IHBsYXRmb3JtcworTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFp bjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitVc2Ug YSBHXyBmb3JtYXQgc3BlY2lmaWVyIGZvciBHVGltZVNwYW4uCisKK1NpZ25lZC1vZmYtYnk6IEd1 aWRvIEfDvG50aGVyIDxndWlkby5ndW50aGVyQHB1cmkuc20+CistLS0KKyBzcmMvbm90aWZpY2F0 aW9ucy90aW1lc3RhbXAtbGFiZWwuYyB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRp b24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3NyYy9ub3RpZmljYXRpb25zL3Rp bWVzdGFtcC1sYWJlbC5jIGIvc3JjL25vdGlmaWNhdGlvbnMvdGltZXN0YW1wLWxhYmVsLmMKK2lu ZGV4IDBhYTA0Y2UwLi5hNWE0ZDVlNyAxMDA2NDQKKy0tLSBzcmMvbm90aWZpY2F0aW9ucy90aW1l c3RhbXAtbGFiZWwuYworKysrIHNyYy9ub3RpZmljYXRpb25zL3RpbWVzdGFtcC1sYWJlbC5jCitA QCAtMjU1LDcgKzI1NSw3IEBAIHBob3NoX3RpbWVzdGFtcF9sYWJlbF9jYWxjX3RpbWVvdXQgKFBo b3NoVGltZXN0YW1wTGFiZWwgKnNlbGYpCisgICAgIGJyZWFrOworICAgfQorICAgdGltZW91dF9k aWZmID0gZ19kYXRlX3RpbWVfZGlmZmVyZW5jZSAodGltZW91dF90aW1lLCB0aW1lX25vdyk7Cist ICBnX2RlYnVnICgidGltZSBvdXQgZHVyYXRpb24gPSAlbGQiLCB0aW1lb3V0X2RpZmYpOworKyAg Z19kZWJ1ZyAoInRpbWUgb3V0IGR1cmF0aW9uOiAlIiBHX0dJTlQ2NF9GT1JNQVQsIHRpbWVvdXRf ZGlmZik7CisgICByZXR1cm4gdGltZW91dF9kaWZmOworIH0KKyAKKy0tIAorMi4yNi4yCmRpZmYg LS1naXQgYS9zcmNwa2dzL3Bob3NoL3RlbXBsYXRlIGIvc3JjcGtncy9waG9zaC90ZW1wbGF0ZQpu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMjdmYjFmMGYwZGUKLS0tIC9k ZXYvbnVsbAorKysgYi9zcmNwa2dzL3Bob3NoL3RlbXBsYXRlCkBAIC0wLDAgKzEsMjIgQEAKKyMg VGVtcGxhdGUgZmlsZSBmb3IgJ3Bob3NoJworcGtnbmFtZT1waG9zaAordmVyc2lvbj0wLjQuMwor cmV2aXNpb249MQorYnVpbGRfc3R5bGU9bWVzb24KK2hvc3RtYWtlZGVwZW5kcz0icGhvYyBnbGli LWRldmVsIGdldHRleHQgcGtnLWNvbmZpZyB3YXlsYW5kLWRldmVsIgorbWFrZWRlcGVuZHM9Imxp YmZlZWRiYWNrLWRldmVsIGdjci1kZXZlbCBnbm9tZS1kZXNrdG9wLWRldmVsIHBhbS1kZXZlbAor IHBvbGtpdC1kZXZlbCBwdWxzZWF1ZGlvLWRldmVsIGxpYnNlY3JldC1kZXZlbCBsaWJoYW5keS1k ZXZlbAorIE5ldHdvcmtNYW5hZ2VyLWRldmVsIHVwb3dlci1kZXZlbCIKK2RlcGVuZHM9InBob2Mg c3F1ZWVrYm9hcmQgZ25vbWUtc2Vzc2lvbiBnbm9tZS1zZXR0aW5ncy1kYWVtb24gZ25vbWUtY29u dHJvbC1jZW50ZXIKKyBlbG9naW5kIHhvcmctc2VydmVyLXh3YXlsYW5kIGNhbnRhcmVsbC1mb250 cyBmb250LWFkb2JlLXNvdXJjZS1jb2RlLXBybyIKK3Nob3J0X2Rlc2M9IlNoZWxsIFBvQyBmb3Ig dGhlIExpYnJlbTUiCittYWludGFpbmVyPSJKdWxpbyBHYWx2YW4gPGp1bGlvLXZvaWRAZXBhem90 ZS5uZXQ+IgorbGljZW5zZT0iR1BMLTMuMC1vci1sYXRlciIKK2hvbWVwYWdlPSJodHRwczovL3Nv dXJjZS5wdXJpLnNtL0xpYnJlbTUvcGhvc2giCitkaXN0ZmlsZXM9Imh0dHBzOi8vcmVwby5wdXJl b3MubmV0L3B1cmVvcy9wb29sL21haW4vcC9waG9zaC9waG9zaF8kdmVyc2lvbi50YXIueHoiCitj aGVja3N1bT1jNmZjNjhhYWZhZjc4NDEyNjM3YjBmNTA5YWFmYmJjYTg3N2JkYTNmZTE5NTExYmYz NDBiODI0ZDdjZGJkNGVlCisKK3Bvc3RfaW5zdGFsbCgpIHsKKwl2Y29weSAke0ZJTEVTRElSfS9z bS5wdXJpLk9TSzAuZGVza3RvcCB1c3Ivc2hhcmUvYXBwbGljYXRpb25zCisJdmNvcHkgJHtGSUxF U0RJUn0vcGhvc2guZGVza3RvcCB1c3Ivc2hhcmUvd2F5bGFuZC1zZXNzaW9ucworfQoKRnJvbSA0 MzI5MDEyNDg2YTUwMDYzZWRiNjZjZDE0MTlkMGY1YTIyYmJmM2Y3IE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiBKdWxpbyBHYWx2YW4gPGp1bGlvLXZvaWRAZXBhem90ZS5uZXQ+CkRhdGU6 IFNhdCwgMjkgQXVnIDIwMjAgMTg6MzU6NDcgLTA3MDAKU3ViamVjdDogW1BBVENIIDA1LzExXSBO ZXcgcGFja2FnZTogY2FsbHMtMC4xLjcKCi0tLQogc3JjcGtncy9jYWxscy90ZW1wbGF0ZSB8IDE3 ICsrKysrKysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgMTcgaW5zZXJ0aW9ucygrKQogY3Jl YXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2FsbHMvdGVtcGxhdGUKCmRpZmYgLS1naXQgYS9zcmNw a2dzL2NhbGxzL3RlbXBsYXRlIGIvc3JjcGtncy9jYWxscy90ZW1wbGF0ZQpuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMjYwZWQzOTFkMjQKLS0tIC9kZXYvbnVsbAorKysg Yi9zcmNwa2dzL2NhbGxzL3RlbXBsYXRlCkBAIC0wLDAgKzEsMTcgQEAKKyMgVGVtcGxhdGUgZmls ZSBmb3IgJ2NhbGxzJworcGtnbmFtZT1jYWxscwordmVyc2lvbj0wLjEuNworcmV2aXNpb249MQor d3Jrc3JjPSR7cGtnbmFtZX0tdiR7dmVyc2lvbn0KK2J1aWxkX3N0eWxlPW1lc29uCitob3N0bWFr ZWRlcGVuZHM9ImdsaWItZGV2ZWwgZ2V0dGV4dCB2YWxhIHBrZy1jb25maWcgd2F5bGFuZC1kZXZl bAorIGV2b2x1dGlvbi1kYXRhLXNlcnZlci1kZXZlbCIKK21ha2VkZXBlbmRzPSJmb2xrcy1kZXZl bCBsaWJoYW5keS1kZXZlbCBsaWJwZWFzLWRldmVsIGdvbS1kZXZlbAorIE1vZGVtTWFuYWdlci1k ZXZlbCBsaWJmZWVkYmFjay1kZXZlbCIKK2RlcGVuZHM9Ik5ldHdvcmtNYW5hZ2VyIgorc2hvcnRf ZGVzYz0iUGhvbmUgY2FsbCBhcHBsaWNhdGlvbiIKK21haW50YWluZXI9Ikp1bGlvIEdhbHZhbiA8 anVsaW8tdm9pZEBlcGF6b3RlLm5ldD4iCitsaWNlbnNlPSJHUEwtMy4wLW9yLWxhdGVyIgoraG9t ZXBhZ2U9Imh0dHBzOi8vc291cmNlLnB1cmkuc20vTGlicmVtNS9jYWxscyIKK2Rpc3RmaWxlcz0i JHtob21lcGFnZX0vLS9hcmNoaXZlL3Yke3ZlcnNpb259LyR7cGtnbmFtZX0tdiR7dmVyc2lvbn0u dGFyLmd6IgorY2hlY2tzdW09NDc3YzU1ZDQ4M2NhMTNmNmFjOTgyMDljM2M0ZDZjNTg1OGY3MDZl NzJhMTMzNjE2ZGNiNjgyN2VmMjU4MjljNwoKRnJvbSBjNmMyMmM1YzRmOGZhOGQ1YWRlNTA3Mzk4 MzI2ZGMyYmI1NWQ4MTQ1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKdWxpbyBHYWx2 YW4gPGp1bGlvLXZvaWRAZXBhem90ZS5uZXQ+CkRhdGU6IFNhdCwgMjkgQXVnIDIwMjAgMTg6MzY6 MzUgLTA3MDAKU3ViamVjdDogW1BBVENIIDA2LzExXSBOZXcgcGFja2FnZTogcHVyaXNtLWNoYXR0 eS0wLjEuMTUKCi0tLQogc3JjcGtncy9wdXJpc20tY2hhdHR5L3RlbXBsYXRlIHwgMjIgKysrKysr KysrKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDIyIGluc2VydGlvbnMoKykKIGNyZWF0 ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3B1cmlzbS1jaGF0dHkvdGVtcGxhdGUKCmRpZmYgLS1naXQg YS9zcmNwa2dzL3B1cmlzbS1jaGF0dHkvdGVtcGxhdGUgYi9zcmNwa2dzL3B1cmlzbS1jaGF0dHkv dGVtcGxhdGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmQxMWJmY2Vh ODgyCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9wdXJpc20tY2hhdHR5L3RlbXBsYXRlCkBA IC0wLDAgKzEsMjIgQEAKKyMgVGVtcGxhdGUgZmlsZSBmb3IgJ3B1cmlzbS1jaGF0dHknCitwa2du YW1lPXB1cmlzbS1jaGF0dHkKK19wa2duYW1lPWNoYXR0eQordmVyc2lvbj0wLjEuMTUKK3Jldmlz aW9uPTEKK3dya3NyYz0ke19wa2duYW1lfS12JHt2ZXJzaW9ufQorYnVpbGRfc3R5bGU9bWVzb24K K2hvc3RtYWtlZGVwZW5kcz0iZ2xpYi1kZXZlbCBwa2ctY29uZmlnIGdldHRleHQiCittYWtlZGVw ZW5kcz0ibGliZmVlZGJhY2stZGV2ZWwgbGliaGFuZHktZGV2ZWwgZXZvbHV0aW9uLWRhdGEtc2Vy dmVyLWRldmVsCisgbGlicHVycGxlIGxpYnB1cnBsZS1kZXZlbCIKK3Nob3J0X2Rlc2M9IlhNUFAg YW5kIFNNUyBtZXNzYWdpbmcgdmlhIGxpYnB1cnBsZSBhbmQgTW9kZW1tYW5hZ2VyIgorbWFpbnRh aW5lcj0iSnVsaW8gR2FsdmFuIDxqdWxpby12b2lkQGVwYXpvdGUubmV0PiIKK2xpY2Vuc2U9IkdQ TC0zLjAtb3ItbGF0ZXIiCitob21lcGFnZT0iaHR0cHM6Ly9zb3VyY2UucHVyaS5zbS9MaWJyZW01 L2NoYXR0eSIKK2Rpc3RmaWxlcz0iJHtob21lcGFnZX0vLS9hcmNoaXZlL3Yke3ZlcnNpb259LyR7 X3BrZ25hbWV9LXYke3ZlcnNpb259LnRhci5neiIKK2NoZWNrc3VtPTliZTJiNzlhMjY2YTdmYTFl M2QzZTdiYTQ0N2ZmODlkMmI5ZTQ0MzEyZDZlNTVmMmE2M2QxOTEzNjk1MjhkNjQKKworcHJlX2Nv bmZpZ3VyZSgpIHsKKwlpZiBbICIkQ1JPU1NfQlVJTEQiIF07IHRoZW4KKwkJdnNlZCAtaSBzcmMv bWVzb24uYnVpbGQgLWUgInMvcHVycGxlX3BsdWdkaXIgPS4qL3B1cnBsZV9wbHVnZGlyID0gXCdc L3VzclwvJHtYQlBTX0NST1NTX1RSSVBMRVR9XC91c3JcL2xpYlwvcHVycGxlLTJcJy9nIgorCWZp Cit9CgpGcm9tIDc1ZjY3NjM5Yjg4ZmQ4OWYzYjE1N2Y0MTQ5MzIxZTU4OWMyOWI2M2UgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCkZyb206IEp1bGlvIEdhbHZhbiA8anVsaW8tdm9pZEBlcGF6b3Rl Lm5ldD4KRGF0ZTogU2F0LCAxMiBTZXAgMjAyMCAxNTowNTozNiAtMDcwMApTdWJqZWN0OiBbUEFU Q0ggMDcvMTFdIE5ldyBwYWNrYWdlOiBrZ3gtMC4yLjEKCi0tLQogc3JjcGtncy9rZ3gvdGVtcGxh dGUgfCAxNCArKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKykK IGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2tneC90ZW1wbGF0ZQoKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3Mva2d4L3RlbXBsYXRlIGIvc3JjcGtncy9rZ3gvdGVtcGxhdGUKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjk4ZWM0Y2FmNzBlCi0tLSAvZGV2L251bGwKKysrIGIv c3JjcGtncy9rZ3gvdGVtcGxhdGUKQEAgLTAsMCArMSwxNCBAQAorIyBUZW1wbGF0ZSBmaWxlIGZv ciAna2d4JworcGtnbmFtZT1rZ3gKK3ZlcnNpb249MC4yLjEKK3JldmlzaW9uPTEKK2J1aWxkX3N0 eWxlPW1lc29uCitob3N0bWFrZWRlcGVuZHM9ImdsaWItZGV2ZWwgcGtnLWNvbmZpZyBnZXR0ZXh0 IgorbWFrZWRlcGVuZHM9InZ0ZTMtZGV2ZWwgZ3RrKzMtZGV2ZWwgbGliaGFuZHktZGV2ZWwgbGli Z3RvcC1kZXZlbCIKK2RlcGVuZHM9ImRidXMgZGVza3RvcC1maWxlLXV0aWxzIGdzZXR0aW5ncy1k ZXNrdG9wLXNjaGVtYXMiCitzaG9ydF9kZXNjPSJNaW5pbWFsIHRlcm1pbmFsIGZvciBHTk9NRSIK K21haW50YWluZXI9Ikp1bGlvIEdhbHZhbiA8anVsaW8tdm9pZEBlcGF6b3RlLm5ldD4iCitsaWNl bnNlPSJHUEwtMy4wLW9yLWxhdGVyIgoraG9tZXBhZ2U9Imh0dHBzOi8vZ2l0bGFiLmdub21lLm9y Zy9aYW5kZXJCcm93bi9rZ3giCitkaXN0ZmlsZXM9IiR7aG9tZXBhZ2V9Ly0vYXJjaGl2ZS8ke3Zl cnNpb259L2tneC0ke3ZlcnNpb259LnRhci5neiIKK2NoZWNrc3VtPTcwYTgxNGIwYmFmNzAwNDlk NWEyMDc5MWQ1OGEzMmU5MjY2MTQyOGQyZGVlZWI1NmQ5MWI4MWNjNGRjNWU4MWEKCkZyb20gMTNk MmZkZTUxNTI4ZDZjY2UwNjIzNTIwN2VmYWVhZWNlYzM2MDFkZiBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogSnVsaW8gR2FsdmFuIDxqdWxpby12b2lkQGVwYXpvdGUubmV0PgpEYXRlOiBT YXQsIDEyIFNlcCAyMDIwIDEwOjU4OjUwIC0wNzAwClN1YmplY3Q6IFtQQVRDSCAwOC8xMV0gTmV3 IHBhY2thZ2U6IG1vYmlsZS1jb25maWctZmlyZWZveC0xLjAuMQoKLS0tCiAuLi4vZmlsZXMvZGlz dHJvX2xpbmtzLmh0bWwgICAgICAgICAgICAgICAgICAgICAgfCAgNSArKysrKwogc3JjcGtncy9t b2JpbGUtY29uZmlnLWZpcmVmb3gvdGVtcGxhdGUgICAgICAgICAgIHwgMTYgKysrKysrKysrKysr KysrKwogMiBmaWxlcyBjaGFuZ2VkLCAyMSBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2 NDQgc3JjcGtncy9tb2JpbGUtY29uZmlnLWZpcmVmb3gvZmlsZXMvZGlzdHJvX2xpbmtzLmh0bWwK IGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL21vYmlsZS1jb25maWctZmlyZWZveC90ZW1wbGF0 ZQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbW9iaWxlLWNvbmZpZy1maXJlZm94L2ZpbGVzL2Rpc3Ry b19saW5rcy5odG1sIGIvc3JjcGtncy9tb2JpbGUtY29uZmlnLWZpcmVmb3gvZmlsZXMvZGlzdHJv X2xpbmtzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmNhODlk MGVjZDA4Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9tb2JpbGUtY29uZmlnLWZpcmVmb3gv ZmlsZXMvZGlzdHJvX2xpbmtzLmh0bWwKQEAgLTAsMCArMSw1IEBACis8cCBjbGFzcz0iZGlzdHJv LWxpbmtzIj4KKwk8YSBocmVmPSJodHRwczovL3ZvaWRsaW51eC5vcmcvIj5ob21lcGFnZTwvYT4g LQorCTxhIGhyZWY9Imh0dHBzOi8vZG9jcy52b2lkbGludXgub3JnLyI+ZG9jczwvYT4KKwk8YSBo cmVmPSJodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eCI+cmVwb3M8L2E+Cis8L3A+CmRpZmYg LS1naXQgYS9zcmNwa2dzL21vYmlsZS1jb25maWctZmlyZWZveC90ZW1wbGF0ZSBiL3NyY3BrZ3Mv bW9iaWxlLWNvbmZpZy1maXJlZm94L3RlbXBsYXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAwMDAwLi44YTE1MzAxMTVlOAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvbW9i aWxlLWNvbmZpZy1maXJlZm94L3RlbXBsYXRlCkBAIC0wLDAgKzEsMTYgQEAKKyMgVGVtcGxhdGUg ZmlsZSBmb3IgJ21vYmlsZS1jb25maWctZmlyZWZveCcKK3BrZ25hbWU9bW9iaWxlLWNvbmZpZy1m aXJlZm94Cit2ZXJzaW9uPTEuMC4xCityZXZpc2lvbj0xCitidWlsZF9zdHlsZT1nbnUtbWFrZWZp bGUKK21ha2VfaW5zdGFsbF9hcmdzPSJESVNUUk89Vm9pZExpbnV4Igorc2hvcnRfZGVzYz0iRmly ZWZveCB0d2Vha3MgZm9yIG1vYmlsZSBhbmQgcHJpdmFjeSIKK21haW50YWluZXI9Ikp1bGlvIEdh bHZhbiA8anVsaW8tdm9pZEBlcGF6b3RlLm5ldD4iCitsaWNlbnNlPSJHUEwtMy4wLW9yLWxhdGVy IgoraG9tZXBhZ2U9Imh0dHBzOi8vZ2l0bGFiLmNvbS9wb3N0bWFya2V0T1MvbW9iaWxlLWNvbmZp Zy1maXJlZm94IgorZGlzdGZpbGVzPSIke2hvbWVwYWdlfS8tL2FyY2hpdmUvJHt2ZXJzaW9ufS8k e3BrZ25hbWV9LSR7dmVyc2lvbn0udGFyLmd6IgorY2hlY2tzdW09N2RjZTgzNzk5NTk1NmY2ZjIy NDA0MTg1M2UwMDVlZWNiMzM2OGNkM2NiZmVjNmZlM2U4YTMxNTM3NDdkZDBhNworCitwb3N0X2V4 dHJhY3QoKSB7CisJY3AgJHtGSUxFU0RJUn0vZGlzdHJvX2xpbmtzLmh0bWwgc3JjL2hvbWVwYWdl Cit9CgpGcm9tIDY5ZWM4ZDU1YmNhZTI1NDEzNmZkZDA0ZjY5ZWJlNDk4OTQ3OTQ3NWUgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCkZyb206IEp1bGlvIEdhbHZhbiA8anVsaW8tdm9pZEBlcGF6b3Rl Lm5ldD4KRGF0ZTogU2F0LCAxMiBTZXAgMjAyMCAxNDo0MjoyNiAtMDcwMApTdWJqZWN0OiBbUEFU Q0ggMDkvMTFdIE5ldyBwYWNrYWdlOiBwaG9zaC1kZXNrdG9wLTAuMQoKLS0tCiAuLi4vcGhvc2gt ZGVza3RvcC9maWxlcy8wMDAtZ3NjaGVtYS5vdmVycmlkZSAgfCAyMSArKysrKysrKysrKysrKysr KysrCiBzcmNwa2dzL3Bob3NoLWRlc2t0b3AvZmlsZXMvMDEtcGhvYy1zY2FsaW5nICAgfCAgNSAr KysrKwogc3JjcGtncy9waG9zaC1kZXNrdG9wL3RlbXBsYXRlICAgICAgICAgICAgICAgIHwgMTcg KysrKysrKysrKysrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDQzIGluc2VydGlvbnMoKykKIGNyZWF0 ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3Bob3NoLWRlc2t0b3AvZmlsZXMvMDAwLWdzY2hlbWEub3Zl cnJpZGUKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3Bob3NoLWRlc2t0b3AvZmlsZXMvMDEt cGhvYy1zY2FsaW5nCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9waG9zaC1kZXNrdG9wL3Rl bXBsYXRlCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9waG9zaC1kZXNrdG9wL2ZpbGVzLzAwMC1nc2No ZW1hLm92ZXJyaWRlIGIvc3JjcGtncy9waG9zaC1kZXNrdG9wL2ZpbGVzLzAwMC1nc2NoZW1hLm92 ZXJyaWRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5kZmQxNTUwZTUy NAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcGhvc2gtZGVza3RvcC9maWxlcy8wMDAtZ3Nj aGVtYS5vdmVycmlkZQpAQCAtMCwwICsxLDIxIEBACitbb3JnLmdub21lLmRlc2t0b3AuYmFja2dy b3VuZF0KK3BpY3R1cmUtdXJpPSdmaWxlOi8vL3Vzci9zaGFyZS9iYWNrZ3JvdW5kcy9nbm9tZS9M aWdodFdhdmVzLmpwZycKKworW29yZy5nbm9tZS5kZXNrdG9wLmludGVyZmFjZV0KK2Nsb2NrLXNo b3ctd2Vla2RheT1mYWxzZQorY2xvY2stc2hvdy1kYXRlPWZhbHNlCisKK1tvcmcuZ25vbWUuZGVz a3RvcC53bS5wcmVmZXJlbmNlc10KK2J1dHRvbi1sYXlvdXQ9J2FwcG1lbnU6JworCitbb3JnLmdu b21lLkVwaXBoYW55XQorc2VhcmNoLWVuZ2luZXM9WygnU2VhcmNoIHRoZSBXZWInLCAnaHR0cHM6 Ly9kdWNrZHVja2dvLmNvbS8/cT0lcyZ0PWVwaXBoYW55JywgJycpLCAoJ0R1Y2tEdWNrR28nLCAn aHR0cHM6Ly9kdWNrZHVja2dvLmNvbS8/cT0lcyZ0PWVwaXBoYW55JywgJyFkZGcnKSwgKCdRd2Fu dCcsICdodHRwczovL3d3dy5xd2FudC5jb20vP3E9JXMnLCAnIXEnKV0KKworW29yZy5nbm9tZS5F cGlwaGFueS53ZWJdCittb2JpbGUtdXNlci1hZ2VudD10cnVlCit1c2VyLWFnZW50PSdNb3ppbGxh LzUuMCAoTGludXg7IEFuZHJvaWQgMTA7IFBpeGVsKSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1M LCBsaWtlIEdlY2tvKSBDaHJvbWUvODMuMC40MTAzLjk2IE1vYmlsZSBTYWZhcmkvNTM3LjM2Jwor CisKK1tvcmcuZ25vbWUuc2V0dGluZ3MtZGFlbW9uLnBsdWdpbnMucG93ZXJdCitzbGVlcC1pbmFj dGl2ZS1hYy10eXBlPSdub3RoaW5nJworYW1iaWVudC1lbmFibGVkPWZhbHNlCmRpZmYgLS1naXQg YS9zcmNwa2dzL3Bob3NoLWRlc2t0b3AvZmlsZXMvMDEtcGhvYy1zY2FsaW5nIGIvc3JjcGtncy9w aG9zaC1kZXNrdG9wL2ZpbGVzLzAxLXBob2Mtc2NhbGluZwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMDAwMC4uODgwYWYyNDM5ZDMKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dz L3Bob3NoLWRlc2t0b3AvZmlsZXMvMDEtcGhvYy1zY2FsaW5nCkBAIC0wLDAgKzEsNSBAQAorW3Nt L3B1cmkvcGhvYy9hcHBsaWNhdGlvbi9maXJlZm94XQorc2NhbGUtdG8tZml0PWZhbHNlCisKK1tz bS9wdXJpL3Bob2MvYXBwbGljYXRpb24vb3JnLWdub21lLW1hcHNdCitzY2FsZS10by1maXQ9dHJ1 ZQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9waG9zaC1kZXNrdG9wL3RlbXBsYXRlIGIvc3JjcGtncy9w aG9zaC1kZXNrdG9wL3RlbXBsYXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MDAwLi45Y2Y4ZjcwZGMyMAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcGhvc2gtZGVza3Rv cC90ZW1wbGF0ZQpAQCAtMCwwICsxLDE3IEBACisjIFRlbXBsYXRlIGZpbGUgZm9yICdwaG9zaC1k ZXNrdG9wJworcGtnbmFtZT1waG9zaC1kZXNrdG9wCit2ZXJzaW9uPTAuMQorcmV2aXNpb249MQor YnVpbGRfc3R5bGU9bWV0YQorZGVwZW5kcz0icGhvc2ggTmV0d29ya01hbmFnZXIgTW9kZW1NYW5h Z2VyIGdub21lLWJhY2tncm91bmRzIGtneCBlcGlwaGFueSBpaW8tc2Vuc29yLXByb3h5CisgZ25v bWUtcG93ZXItbWFuYWdlciBnbm9tZS1jb2xvci1tYW5hZ2VyIGdub21lLWtleXJpbmcgeGRnLXVz ZXItZGlycyBibHVleiBjYWxscyBwdXJpc20tY2hhdHR5CisgZ2VkaXQgZ25vbWUtY2xvY2tzIGdu b21lLWNhbGN1bGF0b3IgZ25vbWUtY2FsZW5kYXIgZXZpbmNlIGdub21lLW11c2ljIGdub21lLXBo b3RvcyIKK3Nob3J0X2Rlc2M9IlBob3NoIGRlc2t0b3AgZW52aXJvbm1lbnQgbWV0YXBhY2thZ2Ui CittYWludGFpbmVyPSJKdWxpbyBHYWx2YW4gPGp1bGlvLXZvaWRAZXBhem90ZS5uZXQ+IgorbGlj ZW5zZT0iR1BMLTMuMC1vci1sYXRlciIKK2hvbWVwYWdlPSJodHRwczovL3ZvaWRsaW51eC5vcmci CisKK3Bvc3RfaW5zdGFsbCgpIHsKKwl2aW5zdGFsbCAke0ZJTEVTRElSfS8wMDAtZ3NjaGVtYS5v dmVycmlkZSA2NDQgdXNyL3NoYXJlL2dsaWItMi4wL3NjaGVtYXMgMDAwLXZvaWQuZ3NjaGVtYS5v dmVycmlkZQorCXZpbnN0YWxsICR7RklMRVNESVJ9LzAxLXBob2Mtc2NhbGluZyA2NDQgZXRjL2Rj b25mL2RiL3ZvaWQuZAorfQoKRnJvbSAxNDE3MGY1MDI5NjNkZDYxYzJjYzcxZjRlMzBmN2NiMWZl ZDYwYzY5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKdWxpbyBHYWx2YW4gPGp1bGlv LXZvaWRAZXBhem90ZS5uZXQ+CkRhdGU6IFNhdCwgMTIgU2VwIDIwMjAgMjI6MTc6NTggLTA3MDAK U3ViamVjdDogW1BBVENIIDEwLzExXSBOZXcgcGFja2FnZTogYXRpbm91dC0wLjkuMQoKLS0tCiAu Li4taGFwcHktYnktYWRkaW5nLWZhbGx0aHJvdWdoLWNvbW1lbnQucGF0Y2ggfCAyNSArKysrKysK IC4uLjAyLWRvLW5vdC1yZWx5LW9uLUNSLWluLW1vZGVtLW91dHB1dC5wYXRjaCB8IDg0ICsrKysr KysrKysrKysrKysrKysKIHNyY3BrZ3MvYXRpbm91dC9wYXRjaGVzLzAwMDMtdmVyc2lvbi5wYXRj aCAgICB8IDExICsrKwogc3JjcGtncy9hdGlub3V0L3RlbXBsYXRlICAgICAgICAgICAgICAgICAg ICAgIHwgMTEgKysrCiA0IGZpbGVzIGNoYW5nZWQsIDEzMSBpbnNlcnRpb25zKCspCiBjcmVhdGUg bW9kZSAxMDA2NDQgc3JjcGtncy9hdGlub3V0L3BhdGNoZXMvMDAwMS1tYWtlLWdjYy1oYXBweS1i eS1hZGRpbmctZmFsbHRocm91Z2gtY29tbWVudC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNy Y3BrZ3MvYXRpbm91dC9wYXRjaGVzLzAwMDItZG8tbm90LXJlbHktb24tQ1ItaW4tbW9kZW0tb3V0 cHV0LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9hdGlub3V0L3BhdGNoZXMvMDAw My12ZXJzaW9uLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9hdGlub3V0L3RlbXBs YXRlCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9hdGlub3V0L3BhdGNoZXMvMDAwMS1tYWtlLWdjYy1o YXBweS1ieS1hZGRpbmctZmFsbHRocm91Z2gtY29tbWVudC5wYXRjaCBiL3NyY3BrZ3MvYXRpbm91 dC9wYXRjaGVzLzAwMDEtbWFrZS1nY2MtaGFwcHktYnktYWRkaW5nLWZhbGx0aHJvdWdoLWNvbW1l bnQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmMwZWJiYjY1 NjFkCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9hdGlub3V0L3BhdGNoZXMvMDAwMS1tYWtl LWdjYy1oYXBweS1ieS1hZGRpbmctZmFsbHRocm91Z2gtY29tbWVudC5wYXRjaApAQCAtMCwwICsx LDI1IEBACitGcm9tIGNhMmUwNGY4YjA2OWQyNjkxNzJmMGQ1NWQzNzE2YTgwOTUzN2Y2OTYgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBCZXJhbHQgTWVwcGVsaW5rIDxiLm1lcHBlbGlu a0ByaXdvLmV1PgorRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAwOToxMjoxOCArMDIwMAorU3ViamVj dDogW1BBVENIIDEvMl0gbWFrZSBnY2MgaGFwcHkgYnkgYWRkaW5nIGZhbGx0aHJvdWdoIGNvbW1l bnQKKworLS0tCisgYXRpbm91dC5jIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlv bigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvYXRpbm91dC5jIGIvYXRpbm91dC5j CitpbmRleCBkMDRmMzAwLi45MjRiNWJjIDEwMDY0NAorLS0tIGF0aW5vdXQuYworKysrIGF0aW5v dXQuYworQEAgLTE1MCw3ICsxNTAsNyBAQCBzdGF0aWMgYm9vbCBpc19maW5hbF9yZXN1bHQoY29u c3QgY2hhciAqIGNvbnN0IHJlc3BvbnNlKQorIAkJaWYgKHN0cmNtcCgmcmVzcG9uc2VbMV0sICJL XHJcbiIpID09IDApIHsKKyAJCQlyZXR1cm4gdHJ1ZTsKKyAJCX0KKy0JCS8qIG5vIGJyZWFrICov CisrCQkvLyBmYWxsdGhyb3VnaAorIAlkZWZhdWx0OgorIAkJcmV0dXJuIGZhbHNlOworIAl9Cist LSAKKzIuMjMuMAorCmRpZmYgLS1naXQgYS9zcmNwa2dzL2F0aW5vdXQvcGF0Y2hlcy8wMDAyLWRv LW5vdC1yZWx5LW9uLUNSLWluLW1vZGVtLW91dHB1dC5wYXRjaCBiL3NyY3BrZ3MvYXRpbm91dC9w YXRjaGVzLzAwMDItZG8tbm90LXJlbHktb24tQ1ItaW4tbW9kZW0tb3V0cHV0LnBhdGNoCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5mOTY3MWQwODljMwotLS0gL2Rldi9u dWxsCisrKyBiL3NyY3BrZ3MvYXRpbm91dC9wYXRjaGVzLzAwMDItZG8tbm90LXJlbHktb24tQ1It aW4tbW9kZW0tb3V0cHV0LnBhdGNoCkBAIC0wLDAgKzEsODQgQEAKK0Zyb20gNjVkYWU0NjE4MTEx OTg2N2NkOGU5M2NhNWIzM2QzYjBjZjNkZjA4YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zy b206IEJlcmFsdCBNZXBwZWxpbmsgPGIubWVwcGVsaW5rQHJpd28uZXU+CitEYXRlOiBGcmksIDI3 IE9jdCAyMDE3IDEwOjQyOjUwICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggMi8yXSBkbyBub3QgcmVs eSBvbiBDUiBpbiBtb2RlbSBvdXRwdXQKKworLS0tCisgYXRpbm91dC5jIHwgMjQgKysrKysrKysr KystLS0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKyksIDEzIGRl bGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYXRpbm91dC5jIGIvYXRpbm91dC5jCitpbmRleCA5 MjRiNWJjLi40Y2Q3Njg5IDEwMDY0NAorLS0tIGF0aW5vdXQuYworKysrIGF0aW5vdXQuYworQEAg LTM0LDcgKzM0LDYgQEAKKyAKKyAjZGVmaW5lIE1BWF9MSU5FX0xFTkdUSCAoNCAqIDEwMjQpCisg c3RhdGljIGNoYXIgYnVmW01BWF9MSU5FX0xFTkdUSF07Cistc3RhdGljIGNoYXIgYnVmMltNQVhf TElORV9MRU5HVEhdOworIAorIHN0YXRpYyBzdHJ1Y3Qgb3B0aW9uIGxvbmdfb3B0aW9uc1tdID0g eworIAl7ImhlbHAiLCBub19hcmd1bWVudCwgTlVMTCwgJ2gnfSwKK0BAIC0xMjUsMzYgKzEyNCwz NiBAQCBzdGF0aWMgYm9vbCBpc19maW5hbF9yZXN1bHQoY29uc3QgY2hhciAqIGNvbnN0IHJlc3Bv bnNlKQorIAkJfQorIAkJcmV0dXJuIGZhbHNlOworIAljYXNlICdCJzoKKy0JCWlmIChzdHJjbXAo JnJlc3BvbnNlWzFdLCAiVVNZXHJcbiIpID09IDApIHsKKysJCWlmIChzdHJjbXAoJnJlc3BvbnNl WzFdLCAiVVNZXG4iKSA9PSAwKSB7CisgCQkJcmV0dXJuIHRydWU7CistCQl9CisrICAgICAgICAg ICAgICAgIH0KKysJCQorIAkJcmV0dXJuIGZhbHNlOworIAorIAljYXNlICdFJzoKKy0JCWlmIChz dHJjbXAoJnJlc3BvbnNlWzFdLCAiUlJPUlxyXG4iKSA9PSAwKSB7CisrCQlpZiAoc3RyY21wKCZy ZXNwb25zZVsxXSwgIlJST1JcbiIpID09IDApIHsKKyAJCQlyZXR1cm4gdHJ1ZTsKKyAJCX0KKyAJ CXJldHVybiBmYWxzZTsKKyAJY2FzZSAnTic6CistCQlpZiAoc3RyY21wKCZyZXNwb25zZVsxXSwg Ik8gQU5TV0VSXHJcbiIpID09IDApIHsKKysJCWlmIChzdHJjbXAoJnJlc3BvbnNlWzFdLCAiTyBB TlNXRVJcbiIpID09IDApIHsKKyAJCQlyZXR1cm4gdHJ1ZTsKKyAJCX0KKy0JCWlmIChzdHJjbXAo JnJlc3BvbnNlWzFdLCAiTyBDQVJSSUVSXHJcbiIpID09IDApIHsKKysJCWlmIChzdHJjbXAoJnJl c3BvbnNlWzFdLCAiTyBDQVJSSUVSXG4iKSA9PSAwKSB7CisgCQkJcmV0dXJuIHRydWU7CisgCQl9 CistCQlpZiAoc3RyY21wKCZyZXNwb25zZVsxXSwgIk8gRElBTFRPTkVcclxuIikgPT0gMCkgewor KwkJaWYgKHN0cmNtcCgmcmVzcG9uc2VbMV0sICJPIERJQUxUT05FXG4iKSA9PSAwKSB7CisgCQkJ cmV0dXJuIHRydWU7CisgCQl9CisgCQlyZXR1cm4gZmFsc2U7CisgCWNhc2UgJ08nOgorLQkJaWYg KHN0cmNtcCgmcmVzcG9uc2VbMV0sICJLXHJcbiIpID09IDApIHsKKysJCWlmIChzdHJjbXAoJnJl c3BvbnNlWzFdLCAiS1xuIikgPT0gMCkgeworIAkJCXJldHVybiB0cnVlOworIAkJfQorIAkJLy8g ZmFsbHRocm91Z2gKKyAJZGVmYXVsdDoKKyAJCXJldHVybiBmYWxzZTsKKyAJfQorLQorIH0KKyAK KyBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQorQEAgLTI0OCwxMSArMjQ3LDEwIEBA IGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCisgCQkJCWZwcmludGYoc3RkZXJyLCAi RU9GIGZyb20gbW9kZW1cbiIpOworIAkJCQlyZXR1cm4gRVhJVF9GQUlMVVJFOworIAkJCX0KKy0J CQlzdHJjcHkoYnVmMiwgbGluZSk7CistCQkJc3RyaXBfY3IoYnVmMik7CistCQkJcmVzID0gZnB1 dHMoYnVmMiwgb3V0cHV0KTsKKysJCQlzdHJpcF9jcihsaW5lKTsKKysJCQlyZXMgPSBmcHV0cyhs aW5lLCBvdXRwdXQpOworIAkJCWlmIChyZXMgPCAwKSB7CistCQkJCWZwcmludGYoc3RkZXJyLCAi ZmFpbGVkIHRvIHdyaXRlICclcycgdG8gb3V0cHV0IGZpbGUgKHJlcyA9ICVkKVxuIiwgYnVmMiwg cmVzKTsKKysJCQkJZnByaW50ZihzdGRlcnIsICJmYWlsZWQgdG8gd3JpdGUgJyVzJyB0byBvdXRw dXQgZmlsZSAocmVzID0gJWQpXG4iLCBsaW5lLCByZXMpOworIAkJCQlyZXR1cm4gRVhJVF9GQUlM VVJFOworIAkJCX0KKyAJCX0gd2hpbGUgKCEgaXNfZmluYWxfcmVzdWx0KGxpbmUpKTsKKy0tIAor Mi4yMy4wCisKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvYXRpbm91dC9wYXRjaGVzLzAwMDMtdmVyc2lv bi5wYXRjaCBiL3NyY3BrZ3MvYXRpbm91dC9wYXRjaGVzLzAwMDMtdmVyc2lvbi5wYXRjaApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMThkOTJkZTA2MzAKLS0tIC9kZXYv bnVsbAorKysgYi9zcmNwa2dzL2F0aW5vdXQvcGF0Y2hlcy8wMDAzLXZlcnNpb24ucGF0Y2gKQEAg LTAsMCArMSwxMSBAQAorLS0tIGF0aW5vdXQuYwkyMDIwLTA5LTEyIDE2OjMxOjQzLjA0OTA5MzA1 NSAtMDcwMAorKysrIGF0aW5vdXQuYwkyMDIwLTA5LTEyIDE2OjMzOjM0LjI2OTA4MTY4NiAtMDcw MAorQEAgLTE3MCw3ICsxNjksNyBAQAorIAkJCWhlbHAoYXJndlswXSk7CisgCQkJcmV0dXJuIEVY SVRfU1VDQ0VTUzsKKyAJCWNhc2UgJ1YnOgorLQkJCXByaW50ZigiYXRpbm91dCB2ZXJzaW9uICIg VkVSU0lPTiAiXG4iKTsKKysJCQlwcmludGYoImF0aW5vdXQgdmVyc2lvbiAwLjkuMVxuIik7Cisg CQkJaWYgKGFyZ2MgPT0gMikgeworIAkJCQlwcmludGYoIkNvcHlyaWdodCAoQykgMjAxMyBIw6Vr b24gTMO4dmRhbCA8aGxvdmRhbEB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+XG4iCisgCQkJCSAgICAg ICAiVGhpcyBwcm9ncmFtIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWS5cbiIKZGlm ZiAtLWdpdCBhL3NyY3BrZ3MvYXRpbm91dC90ZW1wbGF0ZSBiL3NyY3BrZ3MvYXRpbm91dC90ZW1w bGF0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZGIyYzJmZmQyMjMK LS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2F0aW5vdXQvdGVtcGxhdGUKQEAgLTAsMCArMSwx MSBAQAorIyBUZW1wbGF0ZSBmaWxlIGZvciAnYXRpbm91dCcKK3BrZ25hbWU9YXRpbm91dAordmVy c2lvbj0wLjkuMQorcmV2aXNpb249MQorYnVpbGRfc3R5bGU9Z251LW1ha2VmaWxlCitzaG9ydF9k ZXNjPSJBVCBjb21tYW5kcyBhcyBpbnB1dCBhcmUgc2VudCB0byBtb2RlbSBhbmQgcmVzcG9uc2Vz IGdpdmVuIGFzIG91dHB1dCIKK21haW50YWluZXI9Ikp1bGlvIEdhbHZhbiA8anVsaW8tdm9pZEBl cGF6b3RlLm5ldD4iCitsaWNlbnNlPSJHUEwtMy4wLW9yLWxhdGVyIgoraG9tZXBhZ2U9Imh0dHA6 Ly9hdGlub3V0LnNvdXJjZWZvcmdlLm5ldC9pbmRleC5odG1sIgorZGlzdGZpbGVzPSJodHRwczov L25ldGNvbG9nbmUuZGwuc291cmNlZm9yZ2UubmV0L3Byb2plY3QvYXRpbm91dC92JHt2ZXJzaW9u fS9hdGlub3V0LSR7dmVyc2lvbn0udGFyLmd6IgorY2hlY2tzdW09NGQxNWM4Mjg4YWNhNDE0ZTEx Y2QzMDQ2ODZiMTcyNjk2MTA0YzVlNDJiZjc3NjMwMDMxMWMwMDU2MzQ4NTRhMgoKRnJvbSAzOTE3 YjZhMmUxY2U0ZTk5NWY3YzY0OTBkNmZjYjhlZWI2ZWVhN2FjIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQpGcm9tOiBKdWxpbyBHYWx2YW4gPGp1bGlvLXZvaWRAZXBhem90ZS5uZXQ+CkRhdGU6IFNh dCwgMTIgU2VwIDIwMjAgMjI6MTg6NDYgLTA3MDAKU3ViamVjdDogW1BBVENIIDExLzExXSBOZXcg cGFja2FnZTogcGluZXBob25lLXd5cy0wLjEuOAoKLS0tCiBzcmNwa2dzL3BpbmVwaG9uZS13eXMv ZmlsZXMvd3lzLmRlc2t0b3AgICAgICAgfCAgIDkgKwogLi4uLWRhZW1vbi10by1vbmx5LXN3aXRj aC1jYXJkLXByb2ZpbGVzLnBhdGNoIHwgOTA2ICsrKysrKysrKysrKysrKysrKwogc3JjcGtncy9w aW5lcGhvbmUtd3lzL3RlbXBsYXRlICAgICAgICAgICAgICAgIHwgIDE5ICsKIDMgZmlsZXMgY2hh bmdlZCwgOTM0IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3BpbmVw aG9uZS13eXMvZmlsZXMvd3lzLmRlc2t0b3AKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3Bp bmVwaG9uZS13eXMvcGF0Y2hlcy8wMDAxLVNpbXBsaWZ5LWRhZW1vbi10by1vbmx5LXN3aXRjaC1j YXJkLXByb2ZpbGVzLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9waW5lcGhvbmUt d3lzL3RlbXBsYXRlCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9waW5lcGhvbmUtd3lzL2ZpbGVzL3d5 cy5kZXNrdG9wIGIvc3JjcGtncy9waW5lcGhvbmUtd3lzL2ZpbGVzL3d5cy5kZXNrdG9wCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5hNmE5ZjY4OTRhOQotLS0gL2Rldi9u dWxsCisrKyBiL3NyY3BrZ3MvcGluZXBob25lLXd5cy9maWxlcy93eXMuZGVza3RvcApAQCAtMCww ICsxLDkgQEAKK1tEZXNrdG9wIEVudHJ5XQorTmFtZT1XeXMKK0NvbW1lbnQ9RGFlbW9uIGZvciBt YW5hZ2luZyBQdWxzZUF1ZGlvIGZvciBwaG9uZSBjYWxsIGF1ZGlvCitFeGVjPS91c3IvYmluL3d5 cworTm9EaXNwbGF5PXRydWUKK1Rlcm1pbmFsPWZhbHNlCitUeXBlPUFwcGxpY2F0aW9uCitTdGFy dHVwTm90aWZ5PXRydWUKK1gtR05PTUUtQXV0b1Jlc3RhcnQ9dHJ1ZQpkaWZmIC0tZ2l0IGEvc3Jj cGtncy9waW5lcGhvbmUtd3lzL3BhdGNoZXMvMDAwMS1TaW1wbGlmeS1kYWVtb24tdG8tb25seS1z d2l0Y2gtY2FyZC1wcm9maWxlcy5wYXRjaCBiL3NyY3BrZ3MvcGluZXBob25lLXd5cy9wYXRjaGVz LzAwMDEtU2ltcGxpZnktZGFlbW9uLXRvLW9ubHktc3dpdGNoLWNhcmQtcHJvZmlsZXMucGF0Y2gK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjkxMjU3ZjJjYmJhCi0tLSAv ZGV2L251bGwKKysrIGIvc3JjcGtncy9waW5lcGhvbmUtd3lzL3BhdGNoZXMvMDAwMS1TaW1wbGlm eS1kYWVtb24tdG8tb25seS1zd2l0Y2gtY2FyZC1wcm9maWxlcy5wYXRjaApAQCAtMCwwICsxLDkw NiBAQAorRnJvbSBmNjY2MTBkMjYzOTVkZTE1ZTM5MjhjZjQyODQ1NzNjYTljZmFiZjI2IE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQXJuYXVkIEZlcnJhcmlzIDxhcm5hdWQuZmVycmFy aXNAY29sbGFib3JhLmNvbT4KK0RhdGU6IEZyaSwgNiBNYXIgMjAyMCAwMjowMTo1MiArMDEwMAor U3ViamVjdDogW1BBVENIXSBTaW1wbGlmeSBkYWVtb24gdG8gb25seSBzd2l0Y2ggY2FyZCBwcm9m aWxlcworCitBcyBhIFBvQyBmb3IgdGhlIFBpbmVQaG9uZSwgd2Ugd2FudCB0byBvbmx5IHN3aXRj aCBjYXJkIHByb2ZpbGVzOgorLSB3aGVuIGEgY2FsbCBzdGFydHMsIHVzZSB0aGUgIlZvaWNlIENh bGwiIHByb2ZpbGU6IGF1ZGlvIGlzIG91dHB1dCBvbgordGhlIGVhcnBpZWNlLCBhbmQgdGhlIGlu dGVybmFsIG1pY3JvcGhvbmUgaXMgdW5tdXRlZAorLSB3aGVuIGEgY2FsbCBpcyB0ZXJtaW5hdGVk LCBzd2l0Y2ggYmFjayB0byB0aGUgZGVmYXVsdCAiSGlGaSIgcHJvZmlsZSwKK3VzaW5nIHRoZSBt YWluIHNwZWFrZXIKKworVGhpcyBzaG91bGQgZnVsbHkgY292ZXIgdGhlIG1vc3QgYmFzaWMgdXNl LWNhc2UuIEhlYWRzZXQgd2lsbCBub3Qgd29yaywKK2FuZCB0aGVyZSBpcyBhbHNvIG5vIHN1cHBv cnQgZm9yIGEgInNpbGVudCBtb2RlIiwgYnV0IHRoaXMgaXMgZW5vdWdoIHRvCitkZW1vbnN0cmF0 ZSB2b2ljZSBjYWxscyBmb3IgdGhlIFBpbmVQaG9uZS4KKy0tLQorZGlmZiAtLWdpdCBtZXNvbi5i dWlsZCBtZXNvbi5idWlsZAoraW5kZXggNTkzOGNlYy4uNzUxNjIwOCAxMDA2NDQKKy0tLSBtZXNv bi5idWlsZAorKysrIG1lc29uLmJ1aWxkCitAQCAtMzMsMTEgKzMzLDYgQEAgcHJvamVjdCAoCisg ICAgIF0sCisgKQorIAorLQorLWxpYm1jaGtfcHJvaiA9IHN1YnByb2plY3QoJ2xpYm1hY2hpbmUt Y2hlY2snKQorLWxpYm1jaGtfZGVwID0gbGlibWNoa19wcm9qLmdldF92YXJpYWJsZSgnbGlibWFj aGluZV9jaGVja19kZXAnKQorLQorLQorIGFwcF9uYW1lID0gbWVzb24ucHJvamVjdF9uYW1lKCkK KyAKKyBwcmVmaXggPSBnZXRfb3B0aW9uKCdwcmVmaXgnKQorQEAgLTYzLDE0ICs1OCwzIEBAIGNv bmZpZ19kYXRhLnNldF9xdW90ZWQoJ0RBVEFESVInLCBmdWxsX2RhdGFkaXIpCisgY29uZmlnX2Rh dGEuc2V0X3F1b3RlZCgnU1lTQ09ORkRJUicsIGZ1bGxfc3lzY29uZmRpcikKKyAKKyBzdWJkaXIo J3NyYycpCistCistaW5zdGFsbF9zdWJkaXIgKAorLSAgJ21hY2hpbmUtY29uZicsCistICBpbnN0 YWxsX2RpciA6IGpvaW5fcGF0aHMoZGF0YWRpciwgYXBwX25hbWUpCistKQorLQorLWluc3RhbGxf c3ViZGlyICgKKy0gICdtYWNoaW5lLWNoZWNrJywKKy0gIGluc3RhbGxfZGlyIDogam9pbl9wYXRo cyhkYXRhZGlyLCAnbWFjaGluZS1jaGVjaycsIGFwcF9uYW1lKSwKKy0gIHN0cmlwX2RpcmVjdG9y eSA6IHRydWUKKy0pCitkaWZmIC0tZ2l0IHNyYy9tYWluLmMgc3JjL21haW4uYworaW5kZXggNTg3 YTVmMy4uNDYzMWEzMyAxMDA2NDQKKy0tLSBzcmMvbWFpbi5jCisrKysgc3JjL21haW4uYworQEAg LTIzLDEwICsyMyw4IEBACisgICovCisgCisgI2luY2x1ZGUgInd5cy1tb2RlbS5oIgorLSNpbmNs dWRlICJ3eXMtYXVkaW8uaCIKKyAjaW5jbHVkZSAidXRpbC5oIgorICNpbmNsdWRlICJjb25maWcu aCIKKy0jaW5jbHVkZSAibWNoay1tYWNoaW5lLWNoZWNrLmgiCisgCisgI2luY2x1ZGUgPGxpYm1t LWdsaWIuaD4KKyAjaW5jbHVkZSA8Z2xpYi5oPgorQEAgLTUwLDggKzQ4LDYgQEAgc3RhdGljIEdN YWluTG9vcCAqbWFpbl9sb29wID0gTlVMTDsKKyAKKyBzdHJ1Y3Qgd3lzX2RhdGEKKyB7CistICAv KiogUHVsc2VBdWRpbyBpbnRlcmZhY2UgKi8KKy0gIFd5c0F1ZGlvICphdWRpbzsKKyAgIC8qKiBJ RCBmb3IgdGhlIEQtQnVzIHdhdGNoICovCisgICBndWludCB3YXRjaF9pZDsKKyAgIC8qKiBNb2Rl bU1hbmFnZXIgb2JqZWN0IHByb3h5ICovCitAQCAtNTksNTEgKzU1LDExMiBAQCBzdHJ1Y3Qgd3lz X2RhdGEKKyAgIC8qKiBNYXAgb2YgRC1CdXMgb2JqZWN0IHBhdGhzIHRvIFd5c01vZGVtcyAqLwor ICAgR0hhc2hUYWJsZSAqbW9kZW1zOworICAgLyoqIEhvdyBtYW55IG1vZGVtcyBoYXZlIGF1ZGlv LCBpbiBlYWNoIGRpcmVjdGlvbiAqLworLSAgZ3VpbnQgYXVkaW9fY291bnRbMl07CisrICBndWlu dCBhdWRpb19jb3VudDsKKyB9OworIAorK3N0YXRpYyBnYm9vbGVhbgorK3VnbHlfc3lzdGVtIChj b25zdCBnY2hhciAqY21kKQorK3sKKysgIGdjaGFyICpvdXQgPSBOVUxMLCAqZXJyID0gTlVMTDsK KysgIGdpbnQgc3RhdHVzOworKyAgR0Vycm9yICplcnJvciA9IE5VTEw7CisrICBnYm9vbGVhbiBv azsKKysKKysgIGdfZGVidWcgKCJFeGVjdXRpbmcgY29tbWFuZCBgJXMnIiwgY21kKTsKKysKKysg IG9rID0gZ19zcGF3bl9jb21tYW5kX2xpbmVfc3luYworKyAgICAoY21kLCAmb3V0LCAmZXJyLCAm c3RhdHVzLCAmZXJyb3IpOworKworKyAgaWYgKCFvaykKKysgICAgeworKyAgICAgIGdfd2Fybmlu ZyAoIkVycm9yIHNwYXduaW5nIGNvbW1hbmQgYCVzJzogJXMnIiwKKysgICAgICAgICAgICAgICAg IGNtZCwgZXJyb3ItPm1lc3NhZ2UpOworKyAgICAgIGdfZXJyb3JfZnJlZSAoZXJyb3IpOworKyAg ICAgIHJldHVybiBGQUxTRTsKKysgICAgfQorKworKyAgb2sgPSBnX3NwYXduX2NoZWNrX2V4aXRf c3RhdHVzIChzdGF0dXMsICZlcnJvcik7CisrICBpZiAob2spCisrICAgIHsKKysgICAgICBnX2Rl YnVnICgiQ29tbWFuZCBgJXMnIGV4ZWN1dGVkIHN1Y2Nlc3NmdWxseSIKKysgICAgICAgICAgICAg ICAiOyBzdGRvdXQ6IGAlcyc7IHN0ZGVycjogYCVzJyIsCisrICAgICAgICAgICAgICAgY21kLCBv dXQsIGVycik7CisrICAgIH0KKysgIGVsc2UKKysgICAgeworKyAgICAgIGdfd2FybmluZyAoIkNv bW1hbmQgYCVzJyBmYWlsZWQ6ICVzIgorKyAgICAgICAgICAgICAgICAgIjsgc3Rkb3V0OiBgJXMn OyBzdGRlcnI6IGAlcyciLAorKyAgICAgICAgICAgICAgICAgY21kLCBlcnJvci0+bWVzc2FnZSwg b3V0LCBlcnIpOworKyAgICAgIGdfZXJyb3JfZnJlZSAoZXJyb3IpOworKyAgICB9CisrCisrICBn X2ZyZWUgKG91dCk7CisrICBnX2ZyZWUgKGVycik7CisrCisrICByZXR1cm4gb2s7CisrfQorKwor KyNkZWZpbmUgVUdMWV9DQVJEICJhbHNhX2NhcmQucGxhdGZvcm0tc291bmQiCisrCisrc3RhdGlj IGdib29sZWFuCisrdWdseV9zZXRfY2FyZF9wcm9maWxlIChjb25zdCBnY2hhciAqY2FyZCwKKysg ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdjaGFyICpwcm9maWxlKQorK3sKKysgIGdfYXV0 b2ZyZWUgZ2NoYXIgKmNtZCA9IE5VTEw7CisrCisrICBjbWQgPSBnX3N0cmR1cF9wcmludGYgKCJw YWN0bCBzZXQtY2FyZC1wcm9maWxlICclcycgJyVzJyIsIGNhcmQsIHByb2ZpbGUpOworKworKyAg cmV0dXJuIHVnbHlfc3lzdGVtIChjbWQpOworK30KKysKKytzdGF0aWMgZ2Jvb2xlYW4KKyt1Z2x5 X3NldF92b2ljZV9jYWxsICh2b2lkKQorK3sKKysgIHJldHVybiB1Z2x5X3NldF9jYXJkX3Byb2Zp bGUgKFVHTFlfQ0FSRCwgIlZvaWNlIENhbGwiKTsKKyt9CisrCisrc3RhdGljIGdib29sZWFuCisr dWdseV9zZXRfaGlmaSAodm9pZCkKKyt7CisrICByZXR1cm4gdWdseV9zZXRfY2FyZF9wcm9maWxl IChVR0xZX0NBUkQsICJIaUZpIik7CisrfQorIAorIHN0YXRpYyB2b2lkCisgdXBkYXRlX2F1ZGlv X2NvdW50IChzdHJ1Y3Qgd3lzX2RhdGEgKmRhdGEsCistICAgICAgICAgICAgICAgICAgICBXeXNE aXJlY3Rpb24gICAgIGRpcmVjdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgIGdpbnQgICAgICAg ICAgICAgZGVsdGEpCisgeworLSAgY29uc3QgZ3VpbnQgb2xkX2NvdW50ID0gZGF0YS0+YXVkaW9f Y291bnRbZGlyZWN0aW9uXTsKKysgIGNvbnN0IGd1aW50IG9sZF9jb3VudCA9IGRhdGEtPmF1ZGlv X2NvdW50OworIAorLSAgZ19hc3NlcnQgKGRlbHRhID49IDAgfHwgZGF0YS0+YXVkaW9fY291bnRb ZGlyZWN0aW9uXSA+IDApOworKyAgZ19hc3NlcnQgKGRlbHRhID49IDAgfHwgZGF0YS0+YXVkaW9f Y291bnQgPiAwKTsKKyAKKy0gIGRhdGEtPmF1ZGlvX2NvdW50W2RpcmVjdGlvbl0gKz0gZGVsdGE7 CisrICBkYXRhLT5hdWRpb19jb3VudCArPSBkZWx0YTsKKyAKKy0gIGlmIChkYXRhLT5hdWRpb19j b3VudFtkaXJlY3Rpb25dID4gMCAmJiBvbGRfY291bnQgPT0gMCkKKysgIGlmIChkYXRhLT5hdWRp b19jb3VudCA+IDAgJiYgb2xkX2NvdW50ID09IDApCisgICAgIHsKKy0gICAgICBnX2RlYnVnICgi QXVkaW8gJXMgbm93IHByZXNlbnQiLAorLSAgICAgICAgICAgICAgIHd5c19kaXJlY3Rpb25fZ2V0 X2Rlc2NyaXB0aW9uIChkaXJlY3Rpb24pKTsKKy0gICAgICB3eXNfYXVkaW9fZW5zdXJlX2xvb3Bi YWNrIChkYXRhLT5hdWRpbywgZGlyZWN0aW9uKTsKKysgICAgICBnX21lc3NhZ2UgKCJBdWRpbyBu b3cgcHJlc2VudCIpOworKyAgICAgIHVnbHlfc2V0X3ZvaWNlX2NhbGwgKCk7CisgICAgIH0KKy0g IGVsc2UgaWYgKGRhdGEtPmF1ZGlvX2NvdW50W2RpcmVjdGlvbl0gPT0gMCAmJiBvbGRfY291bnQg PiAwKQorKyAgZWxzZSBpZiAoZGF0YS0+YXVkaW9fY291bnQgPT0gMCAmJiBvbGRfY291bnQgPiAw KQorICAgICB7CistICAgICAgZ19kZWJ1ZyAoIkF1ZGlvICVzIG5vdyBhYnNlbnQiLAorLSAgICAg ICAgICAgICAgIHd5c19kaXJlY3Rpb25fZ2V0X2Rlc2NyaXB0aW9uIChkaXJlY3Rpb24pKTsKKy0g ICAgICB3eXNfYXVkaW9fZW5zdXJlX25vX2xvb3BiYWNrIChkYXRhLT5hdWRpbywgZGlyZWN0aW9u KTsKKysgICAgICBnX21lc3NhZ2UgKCJBdWRpbyBub3cgYWJzZW50Iik7CisrICAgICAgdWdseV9z ZXRfaGlmaSAoKTsKKyAgICAgfQorIH0KKyAKKyAKKyBzdGF0aWMgdm9pZAorIGF1ZGlvX3ByZXNl bnRfY2IgKHN0cnVjdCB3eXNfZGF0YSAqZGF0YSwKKy0gICAgICAgICAgICAgICAgICBXeXNEaXJl Y3Rpb24gICAgIGRpcmVjdGlvbiwKKyAgICAgICAgICAgICAgICAgICBXeXNNb2RlbSAgICAgICAg Km1vZGVtKQorIHsKKy0gIHVwZGF0ZV9hdWRpb19jb3VudCAoZGF0YSwgZGlyZWN0aW9uLCArMSk7 CisrICB1cGRhdGVfYXVkaW9fY291bnQgKGRhdGEsICsxKTsKKyB9CisgCisgCisgc3RhdGljIHZv aWQKKyBhdWRpb19hYnNlbnRfY2IgKHN0cnVjdCB3eXNfZGF0YSAqZGF0YSwKKy0gICAgICAgICAg ICAgICAgIFd5c0RpcmVjdGlvbiAgICAgZGlyZWN0aW9uLAorICAgICAgICAgICAgICAgICAgV3lz TW9kZW0gICAgICAgICptb2RlbSkKKyB7CistICB1cGRhdGVfYXVkaW9fY291bnQgKGRhdGEsIGRp cmVjdGlvbiwgLTEpOworKyAgdXBkYXRlX2F1ZGlvX2NvdW50IChkYXRhLCAtMSk7CisgfQorIAor IAorQEAgLTEyMyw3ICsxODAsNyBAQCBhZGRfbW9kZW0gKHN0cnVjdCB3eXNfZGF0YSAqZGF0YSwK KyAgICAgICByZXR1cm47CisgICAgIH0KKyAKKy0gIGdfZGVidWcgKCJBZGRpbmcgbmV3IHZvaWNl LWNhcGFibGUgbW9kZW0gYCVzJyIsIHBhdGgpOworKyAgZ19tZXNzYWdlICgiQWRkaW5nIG5ldyB2 b2ljZS1jYXBhYmxlIG1vZGVtIGAlcyciLCBwYXRoKTsKKyAKKyAgIGdfYXNzZXJ0IChNTV9JU19P QkpFQ1QgKG9iamVjdCkpOworICAgdm9pY2UgPSBtbV9vYmplY3RfZ2V0X21vZGVtX3ZvaWNlIChN TV9PQkpFQ1QgKG9iamVjdCkpOworQEAgLTE1Myw3ICsyMTAsNyBAQCBpbnRlcmZhY2VfYWRkZWRf Y2IgKHN0cnVjdCB3eXNfZGF0YSAqZGF0YSwKKyAKKyAgIGluZm8gPSBnX2RidXNfaW50ZXJmYWNl X2dldF9pbmZvIChpbnRlcmZhY2UpOworIAorLSAgZ19kZWJ1ZyAoIk1vZGVtTWFuYWdlciBpbnRl cmZhY2UgYCVzJyBmb3VuZCBvbiBvYmplY3QgYCVzJyIsCisrICBnX21lc3NhZ2UgKCJNb2RlbU1h bmFnZXIgaW50ZXJmYWNlIGAlcycgZm91bmQgb24gb2JqZWN0IGAlcyciLAorICAgICAgICAgICAg aW5mby0+bmFtZSwKKyAgICAgICAgICAgIGdfZGJ1c19vYmplY3RfZ2V0X29iamVjdF9wYXRoIChv YmplY3QpKTsKKyAKK0BAIC0xODQsNyArMjQxLDcgQEAgaW50ZXJmYWNlX3JlbW92ZWRfY2IgKHN0 cnVjdCB3eXNfZGF0YSAqZGF0YSwKKyAgIHBhdGggPSBnX2RidXNfb2JqZWN0X2dldF9vYmplY3Rf cGF0aCAob2JqZWN0KTsKKyAgIGluZm8gPSBnX2RidXNfaW50ZXJmYWNlX2dldF9pbmZvIChpbnRl cmZhY2UpOworIAorLSAgZ19kZWJ1ZyAoIk1vZGVtTWFuYWdlciBpbnRlcmZhY2UgYCVzJyByZW1v dmVkIG9uIG9iamVjdCBgJXMnIiwKKysgIGdfbWVzc2FnZSAoIk1vZGVtTWFuYWdlciBpbnRlcmZh Y2UgYCVzJyByZW1vdmVkIG9uIG9iamVjdCBgJXMnIiwKKyAgICAgICAgICAgIGluZm8tPm5hbWUs IHBhdGgpOworIAorICAgaWYgKGdfc3RyY21wMCAoaW5mby0+bmFtZSwgTU1fREJVU19JTlRFUkZB Q0VfTU9ERU1fVk9JQ0UpID09IDApCitAQCAtMjI5LDcgKzI4Niw3IEBAIHZvaWQKKyBvYmplY3Rf YWRkZWRfY2IgKHN0cnVjdCB3eXNfZGF0YSAqZGF0YSwKKyAgICAgICAgICAgICAgICAgIEdEQnVz T2JqZWN0ICAgICAqb2JqZWN0KQorIHsKKy0gIGdfZGVidWcgKCJNb2RlbU1hbmFnZXIgb2JqZWN0 IGAlcycgYWRkZWQiLAorKyAgZ19tZXNzYWdlICgiTW9kZW1NYW5hZ2VyIG9iamVjdCBgJXMnIGFk ZGVkIiwKKyAgICAgICAgICAgIGdfZGJ1c19vYmplY3RfZ2V0X29iamVjdF9wYXRoIChvYmplY3Qp KTsKKyAKKyAgIGFkZF9tbV9vYmplY3QgKGRhdGEsIG9iamVjdCk7CitAQCAtMjQzLDcgKzMwMCw3 IEBAIG9iamVjdF9yZW1vdmVkX2NiIChzdHJ1Y3Qgd3lzX2RhdGEgKmRhdGEsCisgICBjb25zdCBn Y2hhciAqcGF0aDsKKyAKKyAgIHBhdGggPSBnX2RidXNfb2JqZWN0X2dldF9vYmplY3RfcGF0aCAo b2JqZWN0KTsKKy0gIGdfZGVidWcgKCJNb2RlbU1hbmFnZXIgb2JqZWN0IGAlcycgcmVtb3ZlZCIs IHBhdGgpOworKyAgZ19tZXNzYWdlICgiTW9kZW1NYW5hZ2VyIG9iamVjdCBgJXMnIHJlbW92ZWQi LCBwYXRoKTsKKyAKKyAgIHJlbW92ZV9tb2RlbV9vYmplY3QgKGRhdGEsIHBhdGgsIG9iamVjdCk7 CisgfQorQEAgLTI4Niw3ICszNDMsNyBAQCBtbV9hcHBlYXJlZF9jYiAoR0RCdXNDb25uZWN0aW9u ICpjb25uZWN0aW9uLAorICAgICAgICAgICAgICAgICBjb25zdCBnY2hhciAqbmFtZV9vd25lciwK KyAgICAgICAgICAgICAgICAgc3RydWN0IHd5c19kYXRhICpkYXRhKQorIHsKKy0gIGdfZGVidWcg KCJNb2RlbU1hbmFnZXIgYXBwZWFyZWQgb24gRC1CdXMiKTsKKysgIGdfbWVzc2FnZSAoIk1vZGVt TWFuYWdlciBhcHBlYXJlZCBvbiBELUJ1cyIpOworIAorICAgbW1fbWFuYWdlcl9uZXcgKGNvbm5l Y3Rpb24sCisgICAgICAgICAgICAgICAgICAgR19EQlVTX09CSkVDVF9NQU5BR0VSX0NMSUVOVF9G TEFHU19OT05FLAorQEAgLTMxMCwxOCArMzY3LDE0IEBAIG1tX3ZhbmlzaGVkX2NiIChHREJ1c0Nv bm5lY3Rpb24gKmNvbm5lY3Rpb24sCisgICAgICAgICAgICAgICAgIGNvbnN0IGdjaGFyICpuYW1l LAorICAgICAgICAgICAgICAgICBzdHJ1Y3Qgd3lzX2RhdGEgKmRhdGEpCisgeworLSAgZ19kZWJ1 ZyAoIk1vZGVtTWFuYWdlciB2YW5pc2hlZCBmcm9tIEQtQnVzIik7CisrICBnX21lc3NhZ2UgKCJN b2RlbU1hbmFnZXIgdmFuaXNoZWQgZnJvbSBELUJ1cyIpOworICAgY2xlYXJfZGJ1cyAoZGF0YSk7 CisgfQorIAorIAorIHN0YXRpYyB2b2lkCistc2V0X3VwIChzdHJ1Y3Qgd3lzX2RhdGEgKmRhdGEs CistICAgICAgICBjb25zdCBnY2hhciAqY29kZWMsCistICAgICAgICBjb25zdCBnY2hhciAqbW9k ZW0pCisrc2V0X3VwIChzdHJ1Y3Qgd3lzX2RhdGEgKmRhdGEpCisgeworLSAgZGF0YS0+YXVkaW8g PSB3eXNfYXVkaW9fbmV3IChjb2RlYywgbW9kZW0pOworLQorICAgZGF0YS0+bW9kZW1zID0gZ19o YXNoX3RhYmxlX25ld19mdWxsIChnX3N0cl9oYXNoLCBnX3N0cl9lcXVhbCwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ19mcmVlLCBnX29iamVjdF91bnJlZik7Cisg CitAQCAtMzMzLDcgKzM4Niw3IEBAIHNldF91cCAoc3RydWN0IHd5c19kYXRhICpkYXRhLAorICAg ICAgICAgICAgICAgICAgICAgICAoR0J1c05hbWVWYW5pc2hlZENhbGxiYWNrKW1tX3ZhbmlzaGVk X2NiLAorICAgICAgICAgICAgICAgICAgICAgICBkYXRhLCBOVUxMKTsKKyAKKy0gIGdfZGVidWcg KCJXYXRjaGluZyBmb3IgTW9kZW1NYW5hZ2VyIik7CisrICBnX21lc3NhZ2UgKCJXYXRjaGluZyBm b3IgTW9kZW1NYW5hZ2VyIik7CisgfQorIAorIAorQEAgLTM0MywyMyArMzk2LDE5IEBAIHRlYXJf ZG93biAoc3RydWN0IHd5c19kYXRhICpkYXRhKQorICAgY2xlYXJfZGJ1cyAoZGF0YSk7CisgICBn X2J1c191bndhdGNoX25hbWUgKGRhdGEtPndhdGNoX2lkKTsKKyAgIGdfaGFzaF90YWJsZV91bnJl ZiAoZGF0YS0+bW9kZW1zKTsKKy0gIGdfb2JqZWN0X3VucmVmIChHX09CSkVDVCAoZGF0YS0+YXVk aW8pKTsKKyB9CisgCisgCisgc3RhdGljIHZvaWQKKy1ydW4gKGNvbnN0IGdjaGFyICpjb2RlYywK Ky0gICAgIGNvbnN0IGdjaGFyICptb2RlbSkKKytydW4gKHZvaWQpCisgeworICAgc3RydWN0IHd5 c19kYXRhIGRhdGE7CisgCisgICBtZW1zZXQgKCZkYXRhLCAwLCBzaXplb2YgKHN0cnVjdCB3eXNf ZGF0YSkpOworLSAgc2V0X3VwICgmZGF0YSwgY29kZWMsIG1vZGVtKTsKKysgIHNldF91cCAoJmRh dGEpOworIAorICAgbWFpbl9sb29wID0gZ19tYWluX2xvb3BfbmV3IChOVUxMLCBGQUxTRSk7Cisg CistICBwcmludGYgKEFQUExJQ0FUSU9OX05BTUUgIiBzdGFydGVkIHdpdGggY29kZWMgYCVzJywg bW9kZW0gYCVzJ1xuIiwKKy0gICAgICAgICAgY29kZWMsIG1vZGVtKTsKKyAgIGdfbWFpbl9sb29w X3J1biAobWFpbl9sb29wKTsKKyAKKyAgIGdfbWFpbl9sb29wX3VucmVmIChtYWluX2xvb3ApOwor QEAgLTM2OCwzMyArNDE3LDYgQEAgcnVuIChjb25zdCBnY2hhciAqY29kZWMsCisgICB0ZWFyX2Rv d24gKCZkYXRhKTsKKyB9CisgCistCistc3RhdGljIHZvaWQKKy1jaGVja19tYWNoaW5lIChjb25z dCBnY2hhciAqbWFjaGluZSkKKy17CistICBnYm9vbGVhbiBvaywgcGFzc2VkOworLSAgR0Vycm9y ICplcnJvciA9IE5VTEw7CistCistICBvayA9IG1jaGtfY2hlY2tfbWFjaGluZSAoQVBQX0RBVEFf TkFNRSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNoaW5lLAorLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICZwYXNzZWQsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgJmVy cm9yKTsKKy0gIGlmICghb2spCistICAgIHsKKy0gICAgICBnX3dhcm5pbmcgKCJFcnJvciBjaGVj a2luZyBtYWNoaW5lIG5hbWUgYWdhaW5zdCIKKy0gICAgICAgICAgICAgICAgICIgd2hpdGVsaXN0 L2JsYWNrbGlzdCwgY29udGludWluZyBhbnl3YXkiKTsKKy0gICAgICBnX2Vycm9yX2ZyZWUgKGVy cm9yKTsKKy0gICAgfQorLSAgZWxzZSBpZiAoIXBhc3NlZCkKKy0gICAgeworLSAgICAgIGdfbWVz c2FnZSAoIk1hY2hpbmUgbmFtZSBgJXMnIGRpZCBub3QgcGFzcyIKKy0gICAgICAgICAgICAgICAg ICIgd2hpdGVsaXN0L2JsYWNrbGlzdCBjaGVjaywgZXhpdGluZyIsCistICAgICAgICAgICAgICAg ICBtYWNoaW5lKTsKKy0gICAgICBleGl0IChFWElUX1NVQ0NFU1MpOworLSAgICB9CistfQorLQor LQorIHN0YXRpYyB2b2lkCisgdGVybWluYXRlIChpbnQgc2lnbmFsKQorIHsKK0BAIC00NTIsMjIy ICs0NTIsMTggQEAgc2V0dXBfc2lnbmFscyAoKQorIH0KKyAKKyAKKy0vKiogVGhpcyBmdW5jdGlv biB3aWxsIGNsb3NlIEBmZCAqLworLXN0YXRpYyBnY2hhciAqCistcmVhZF9tYWNoaW5lX2NvbmZf ZmlsZSAoY29uc3QgZ2NoYXIgKmZpbGVuYW1lLAorLSAgICAgICAgICAgICAgICAgICAgICAgIGlu dCAgICAgICAgICBmZCkKKy17CistICBHSW5wdXRTdHJlYW0gKnVuaXhfc3RyZWFtOworLSAgR0Rh dGFJbnB1dFN0cmVhbSAqZGF0YV9zdHJlYW07CistICBnYm9vbGVhbiB0cnlfYWdhaW47CistICBn Y2hhciAqbGluZTsKKy0gIEdFcnJvciAqZXJyb3IgPSBOVUxMOworLQorLSAgZ19kZWJ1ZyAoIlJl YWRpbmcgbWFjaGluZSBjb25maWd1cmF0aW9uIGZpbGUgYCVzJyIsIGZpbGVuYW1lKTsKKy0KKy0g IHVuaXhfc3RyZWFtID0gZ191bml4X2lucHV0X3N0cmVhbV9uZXcgKGZkLCBUUlVFKTsKKy0gIGdf YXNzZXJ0ICh1bml4X3N0cmVhbSAhPSBOVUxMKTsKKy0KKy0gIGRhdGFfc3RyZWFtID0gZ19kYXRh X2lucHV0X3N0cmVhbV9uZXcgKHVuaXhfc3RyZWFtKTsKKy0gIGdfYXNzZXJ0IChkYXRhX3N0cmVh bSAhPSBOVUxMKTsKKy0gIGdfb2JqZWN0X3VucmVmICh1bml4X3N0cmVhbSk7CistCistICBkbwor LSAgICB7CistICAgICAgdHJ5X2FnYWluID0gRkFMU0U7CistCistICAgICAgbGluZSA9IGdfZGF0 YV9pbnB1dF9zdHJlYW1fcmVhZF9saW5lX3V0ZjgKKy0gICAgICAgIChkYXRhX3N0cmVhbSwgTlVM TCwgTlVMTCwgJmVycm9yKTsKKy0KKy0gICAgICBpZiAoZXJyb3IpCistICAgICAgICB7CistICAg ICAgICAgIGdfd2FybmluZyAoIkVycm9yIHJlYWRpbmcgZnJvbSBtYWNoaW5lIgorLSAgICAgICAg ICAgICAgICAgICAgICIgY29uZmlndXJhdGlvbiBmaWxlIGAlcyc6ICVzIiwKKy0gICAgICAgICAg ICAgICAgICAgICBmaWxlbmFtZSwgZXJyb3ItPm1lc3NhZ2UpOworLSAgICAgICAgICBnX2Vycm9y X2ZyZWUgKGVycm9yKTsKKy0gICAgICAgIH0KKy0gICAgICBlbHNlIGlmIChsaW5lKQorLSAgICAg ICAgeworLSAgICAgICAgICBnX3N0cnN0cmlwIChsaW5lKTsKKy0KKy0gICAgICAgICAgLy8gU2tp cCBjb21tZW50cyBhbmQgZW1wdHkgbGluZXMKKy0gICAgICAgICAgaWYgKGxpbmVbMF0gPT0gJyMn IHx8IGxpbmVbMF0gPT0gJ1wwJykKKy0gICAgICAgICAgICB7CistICAgICAgICAgICAgICBnX2Zy ZWUgKGxpbmUpOworLSAgICAgICAgICAgICAgdHJ5X2FnYWluID0gVFJVRTsKKy0gICAgICAgICAg ICB9CistICAgICAgICB9CistICAgIH0KKy0gIHdoaWxlICh0cnlfYWdhaW4pOworLQorLSAgZ19v YmplY3RfdW5yZWYgKGRhdGFfc3RyZWFtKTsKKy0gIHJldHVybiBsaW5lOworLX0KKy0KKy0KKy1z dGF0aWMgZ2NoYXIgKgorLWRpcl9tYWNoaW5lX2NvbmYgKGNvbnN0IGdjaGFyICpkaXIsCistICAg ICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIgKm1hY2hpbmUsCistICAgICAgICAgICAgICAgICAg Y29uc3QgZ2NoYXIgKmtleSkKKy17CistICBnY2hhciAqZmlsZW5hbWU7CistICBpbnQgZmQ7Cist ICBnY2hhciAqdmFsdWUgPSBOVUxMOworLQorLSAgZmlsZW5hbWUgPSBnX2J1aWxkX2ZpbGVuYW1l IChkaXIsIEFQUF9EQVRBX05BTUUsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJt YWNoaW5lLWNvbmYiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNoaW5lLCBr ZXksIE5VTEwpOworLQorLSAgZ19kZWJ1ZyAoIlRyeWluZyBtYWNoaW5lIGNvbmZpZ3VyYXRpb24g ZmlsZSBgJXMnIiwKKy0gICAgICAgICAgIGZpbGVuYW1lKTsKKy0KKy0gIGZkID0gZ19vcGVuIChm aWxlbmFtZSwgT19SRE9OTFksIDApOworLSAgaWYgKGZkID09IC0xKQorLSAgICB7CistICAgICAg aWYgKGVycm5vICE9IEVOT0VOVCkKKy0gICAgICAgIHsKKy0gICAgICAgICAgLy8gVGhlIGVycm9y IGlzbid0IHRoYXQgdGhlIGZpbGUgZG9lc24ndCBleGlzdAorLSAgICAgICAgICBnX3dhcm5pbmcg KCJFcnJvciBvcGVuaW5nIG1hY2hpbmUiCistICAgICAgICAgICAgICAgICAgICAgIiBjb25maWd1 cmF0aW9uIGZpbGUgYCVzJzogJXMiLAorLSAgICAgICAgICAgICAgICAgICAgIGZpbGVuYW1lLCBn X3N0cmVycm9yIChlcnJubykpOworLSAgICAgICAgfQorLSAgICB9CistICBlbHNlCistICAgIHsK Ky0gICAgICB2YWx1ZSA9IHJlYWRfbWFjaGluZV9jb25mX2ZpbGUgKGZpbGVuYW1lLCBmZCk7Cist ICAgIH0KKy0KKy0gIGdfZnJlZSAoZmlsZW5hbWUpOworLSAgcmV0dXJuIHZhbHVlOworLX0KKy0K Ky0KKy1zdGF0aWMgZ2NoYXIgKgorLW1hY2hpbmVfY29uZiAoY29uc3QgZ2NoYXIgKm1hY2hpbmUs CistICAgICAgICAgICAgICBjb25zdCBnY2hhciAqa2V5KQorLXsKKy0gIGdjaGFyICp2YWx1ZSA9 IE5VTEw7CistICBjb25zdCBnY2hhciAqIGNvbnN0ICpkaXJzLCAqIGNvbnN0ICpkaXI7CistCist CistI2RlZmluZSB0cnlfZGlyKGQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBcCistICB2YWx1ZSA9IGRpcl9tYWNoaW5lX2NvbmYgKGQsIG1hY2hpbmUsIGtleSk7ICAgICAg ICAgICBcCistICBpZiAodmFsdWUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBcCistICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBcCistICAgICAgcmV0dXJuIHZhbHVlOyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBcCistICAgIH0KKy0KKy0KKy0gIHRyeV9kaXIgKGdfZ2V0X3VzZXJfY29u ZmlnX2RpciAoKSk7CistCistICBkaXJzID0gZ19nZXRfc3lzdGVtX2NvbmZpZ19kaXJzICgpOwor LSAgZm9yIChkaXIgPSBkaXJzOyAqZGlyOyArK2RpcikKKy0gICAgeworLSAgICAgIHRyeV9kaXIg KCpkaXIpOworLSAgICB9CistCistICB0cnlfZGlyIChTWVNDT05GRElSKTsKKy0gIHRyeV9kaXIg KERBVEFESVIpOworLQorLSAgZGlycyA9IGdfZ2V0X3N5c3RlbV9kYXRhX2RpcnMgKCk7CistICBm b3IgKGRpciA9IGRpcnM7ICpkaXI7ICsrZGlyKQorLSAgICB7CistICAgICAgdHJ5X2RpciAoKmRp cik7CistICAgIH0KKy0KKy0jdW5kZWYgdHJ5X2RpcgorLQorLSAgcmV0dXJuIE5VTEw7CistfQor LQorLQorLXN0YXRpYyB2b2lkCistZW5zdXJlX2Fsc2FfY2FyZCAoY29uc3QgZ2NoYXIgICptYWNo aW5lLAorLSAgICAgICAgICAgICAgICAgIGNvbnN0IGdjaGFyICAqdmFyLAorLSAgICAgICAgICAg ICAgICAgIGNvbnN0IGdjaGFyICAqa2V5LAorLSAgICAgICAgICAgICAgICAgICAgICAgIGdjaGFy ICoqbmFtZSkKKy17CistICBjb25zdCBnY2hhciAqZW52OworLQorLSAgaWYgKCpuYW1lKQorLSAg ICB7CistICAgICAgcmV0dXJuOworLSAgICB9CistCistICBlbnYgPSBnX2dldGVudiAodmFyKTsK Ky0gIGlmIChlbnYpCistICAgIHsKKy0gICAgICAqbmFtZSA9IGdfc3RyZHVwIChlbnYpOworLSAg ICAgIHJldHVybjsKKy0gICAgfQorLQorLSAgaWYgKG1hY2hpbmUpCistICAgIHsKKy0gICAgICAq bmFtZSA9IG1hY2hpbmVfY29uZiAobWFjaGluZSwga2V5KTsKKy0gICAgICBpZiAoKm5hbWUpCist ICAgICAgICB7CistICAgICAgICAgIHJldHVybjsKKy0gICAgICAgIH0KKy0gICAgfQorLQorLSAg Z193YXJuaW5nICgiTm8gJXMgc3BlY2lmaWVkIHdpdGggYSBtYWNoaW5lIGNvbmZpZ3VyYXRpb24g ZmlsZSIKKy0gICAgICAgICAgICAgIiwgZW52aXJvbm1lbnQgdmFyaWFibGUgb3IgY29tbWFuZCBs aW5lIG9wdGlvbiIKKy0gICAgICAgICAgICAgIjsgcmVmdXNpbmcgdG8gcnVuIiwga2V5KTsKKy0g IGV4aXQgKEVYSVRfU1VDQ0VTUyk7CistfQorLQorLQorIGludAorIG1haW4gKGludCBhcmdjLCBj aGFyICoqYXJndikKKyB7CisgICBHRXJyb3IgKmVycm9yID0gTlVMTDsKKyAgIEdPcHRpb25Db250 ZXh0ICpjb250ZXh0OworICAgZ2Jvb2xlYW4gb2s7CistICBnX2F1dG9mcmVlIGdjaGFyICpjb2Rl YyA9IE5VTEw7CistICBnX2F1dG9mcmVlIGdjaGFyICptb2RlbSA9IE5VTEw7CistICBnX2F1dG9m cmVlIGdjaGFyICptYWNoaW5lID0gTlVMTDsKKy0KKy0gIEdPcHRpb25FbnRyeSBvcHRpb25zW10g PQorLSAgICB7CistICAgICAgeyAiY29kZWMiLCAnYycsIDAsIEdfT1BUSU9OX0FSR19TVFJJTkcs ICZjb2RlYywgIk5hbWUgb2YgdGhlIGNvZGVjJ3MgQUxTQSBjYXJkIiwgIk5BTUUiIH0sCistICAg ICAgeyAibW9kZW0iLCAnbScsIDAsIEdfT1BUSU9OX0FSR19TVFJJTkcsICZtb2RlbSwgIk5hbWUg b2YgdGhlIG1vZGVtJ3MgQUxTQSBjYXJkIiwgIk5BTUUiIH0sCistICAgICAgeyBOVUxMIH0KKy0g ICAgfTsKKyAKKyAgIHNldGxvY2FsZShMQ19BTEwsICIiKTsKKyAKKy0gIG1hY2hpbmUgPSBtY2hr X3JlYWRfbWFjaGluZSAoTlVMTCk7CistICBpZiAobWFjaGluZSkKKy0gICAgeworLSAgICAgIGNo ZWNrX21hY2hpbmUgKG1hY2hpbmUpOworLSAgICB9CistICBlbHNlCistICAgIHsKKy0gICAgICBn X3dhcm5pbmcgKCJDb3VsZCBub3QgcmVhZCBtYWNoaW5lIG5hbWUsIGNvbnRpbnVpbmcgd2l0aG91 dCBtYWNoaW5lIGNoZWNrIik7CistICAgIH0KKy0KKy0KKy0gIGNvbnRleHQgPSBnX29wdGlvbl9j b250ZXh0X25ldyAoIi0gc2V0IHVwIFB1bHNlQXVkaW8gbG9vcGJhY2sgZm9yIHBob25lIGNhbGwg YXVkaW8iKTsKKy0gIGdfb3B0aW9uX2NvbnRleHRfYWRkX21haW5fZW50cmllcyAoY29udGV4dCwg b3B0aW9ucywgTlVMTCk7CistICBvayA9IGdfb3B0aW9uX2NvbnRleHRfcGFyc2UgKGNvbnRleHQs ICZhcmdjLCAmYXJndiwgJmVycm9yKTsKKy0gIGlmICghb2spCistICAgIHsKKy0gICAgICBnX3By aW50ICgiRXJyb3IgcGFyc2luZyBvcHRpb25zOiAlc1xuIiwgZXJyb3ItPm1lc3NhZ2UpOworLSAg ICB9CistCistCistICBpZiAobWFjaGluZSkKKy0gICAgeworLSAgICAgIC8qIENvbnZlcnQgYW55 IGRpcmVjdG9yeSBzZXBhcmF0b3IgY2hhcmFjdGVycyB0byAiXyIgKi8KKy0gICAgICBnX3N0cmRl bGltaXQgKG1hY2hpbmUsIEdfRElSX1NFUEFSQVRPUl9TLCAnXycpOworLSAgICB9CistCistICBl bnN1cmVfYWxzYV9jYXJkIChtYWNoaW5lLCAiV1lTX0NPREVDIiwgImNvZGVjIiwgJmNvZGVjKTsK Ky0gIGVuc3VyZV9hbHNhX2NhcmQgKG1hY2hpbmUsICJXWVNfTU9ERU0iLCAibW9kZW0iLCAmbW9k ZW0pOworLQorICAgc2V0dXBfc2lnbmFscyAoKTsKKyAKKy0gIHJ1biAoY29kZWMsIG1vZGVtKTsK KysgIHJ1biAoKTsKKyAKKyAgIHJldHVybiAwOworIH0KK2RpZmYgLS1naXQgc3JjL21lc29uLmJ1 aWxkIHNyYy9tZXNvbi5idWlsZAoraW5kZXggN2I5OTIzNS4uYThhMzBkNyAxMDA2NDQKKy0tLSBz cmMvbWVzb24uYnVpbGQKKysrKyBzcmMvbWVzb24uYnVpbGQKK0BAIC0yMiwxMyArMjIsMTAgQEAK KyBnbm9tZSA9IGltcG9ydCgnZ25vbWUnKQorIAorIHd5c19kZXBzID0gWworLSAgbGlibWNoa19k ZXAsCisgICBkZXBlbmRlbmN5KCdnb2JqZWN0LTIuMCcpLAorICAgZGVwZW5kZW5jeSgnZ2lvLXVu aXgtMi4wJyksCisgICBkZXBlbmRlbmN5KCdNb2RlbU1hbmFnZXInKSwKKyAgIGRlcGVuZGVuY3ko J21tLWdsaWInKSwKKy0gIGRlcGVuZGVuY3koJ2xpYnB1bHNlJyksCistICBkZXBlbmRlbmN5KCds aWJwdWxzZS1tYWlubG9vcC1nbGliJyksCisgXQorIAorIGNvbmZpZ19oID0gY29uZmlndXJlX2Zp bGUgKAorQEAgLTM2LDIwICszMywxMyBAQCBjb25maWdfaCA9IGNvbmZpZ3VyZV9maWxlICgKKyAg IGNvbmZpZ3VyYXRpb246IGNvbmZpZ19kYXRhCisgKQorIAorLXd5c19lbnVtX2hlYWRlcnMgPSBm aWxlcyhbJ3d5cy1kaXJlY3Rpb24uaCddKQorLXd5c19lbnVtX3NvdXJjZXMgPSBnbm9tZS5ta2Vu dW1zX3NpbXBsZSgnZW51bS10eXBlcycsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHNvdXJjZXMgOiB3eXNfZW51bV9oZWFkZXJzKQorLQorIGV4ZWN1dGFibGUgKAor ICAgJ3d5cycsCisgICBjb25maWdfaCwKKy0gIHd5c19lbnVtX3NvdXJjZXMsCisgICBbCisgICAg ICdtYWluLmMnLAorICAgICAndXRpbC5oJywgJ3V0aWwuYycsCistICAgICd3eXMtZGlyZWN0aW9u LmgnLCAnd3lzLWRpcmVjdGlvbi5jJywKKyAgICAgJ3d5cy1tb2RlbS5oJywgJ3d5cy1tb2RlbS5j JywKKy0gICAgJ3d5cy1hdWRpby5oJywgJ3d5cy1hdWRpby5jJywKKyAgIF0sCisgICBkZXBlbmRl bmNpZXMgOiB3eXNfZGVwcywKKyAgIGluY2x1ZGVfZGlyZWN0b3JpZXMgOiBpbmNsdWRlX2RpcmVj dG9yaWVzKCcuLicpLAorZGlmZiAtLWdpdCBzcmMvd3lzLW1vZGVtLmMgc3JjL3d5cy1tb2RlbS5j CitpbmRleCAyMTJmOTkyLi41MWEwNTc1IDEwMDY0NAorLS0tIHNyYy93eXMtbW9kZW0uYworKysr IHNyYy93eXMtbW9kZW0uYworQEAgLTI0LDE4ICsyNCwxMCBAQAorIAorIAorICNpbmNsdWRlICJ3 eXMtbW9kZW0uaCIKKy0jaW5jbHVkZSAid3lzLWRpcmVjdGlvbi5oIgorICNpbmNsdWRlICJ1dGls LmgiCistI2luY2x1ZGUgImVudW0tdHlwZXMuaCIKKyAKKyAjaW5jbHVkZSA8Z2xpYi9naTE4bi5o PgorIAorLXN0YXRpYyBjb25zdCBnY2hhciAqIGNvbnN0IFdZU19NT0RFTV9IQVNfQVVESU9bXSA9 CistICB7CistICAgW1dZU19ESVJFQ1RJT05fRlJPTV9ORVRXT1JLXSA9ICJ3eXMtaGFzLWF1ZGlv LWZyb20tbmV0d29yayIsCistICAgW1dZU19ESVJFQ1RJT05fVE9fTkVUV09SS10gICA9ICJ3eXMt aGFzLWF1ZGlvLXRvLW5ldHdvcmsiCistICB9OworLQorIHN0cnVjdCBfV3lzTW9kZW0KKyB7Cisg ICBHT2JqZWN0IHBhcmVudF9pbnN0YW5jZTsKK0BAIC00Myw4ICszNSw4IEBAIHN0cnVjdCBfV3lz TW9kZW0KKyAgIE1NTW9kZW1Wb2ljZSAqdm9pY2U7CisgICAvKiogTWFwIG9mIEQtQnVzIG9iamVj dCBwYXRocyB0byBNTUNhbGwgb2JqZWN0cyAqLworICAgR0hhc2hUYWJsZSAqY2FsbHM7CistICAv KiogSG93IG1hbnkgY2FsbHMgaGF2ZSBhdWRpbywgaW4gZWFjaCBkaXJlY3Rpb24gKi8KKy0gIGd1 aW50IGF1ZGlvX2NvdW50WzJdOworKyAgLyoqIEhvdyBtYW55IGNhbGxzIGhhdmUgYXVkaW8gKi8K KysgIGd1aW50IGF1ZGlvX2NvdW50OworIH07CisgCisgR19ERUZJTkVfVFlQRShXeXNNb2RlbSwg d3lzX21vZGVtLCBHX1RZUEVfT0JKRUNUKQorQEAgLTY1LDE1ICs1NywxMSBAQCBzdGF0aWMgZ3Vp bnQgc2lnbmFscyBbU0lHTkFMX0xBU1RfU0lHTkFMXTsKKyAKKyAKKyBzdGF0aWMgZ2Jvb2xlYW4K Ky1jYWxsX3N0YXRlX2hhc19hdWRpbyAoV3lzRGlyZWN0aW9uIGRpcmVjdGlvbiwKKy0gICAgICAg ICAgICAgICAgICAgICAgTU1DYWxsU3RhdGUgIHN0YXRlKQorK2NhbGxfc3RhdGVfaGFzX2F1ZGlv IChNTUNhbGxTdGF0ZSAgc3RhdGUpCisgeworICAgc3dpdGNoIChzdGF0ZSkKKyAgICAgeworICAg ICBjYXNlIE1NX0NBTExfU1RBVEVfUklOR0lOR19PVVQ6CistICAgICAgcmV0dXJuCistICAgICAg ICAoZGlyZWN0aW9uID09IFdZU19ESVJFQ1RJT05fRlJPTV9ORVRXT1JLKQorLSAgICAgICAgPyBU UlVFIDogRkFMU0U7CisgICAgIGNhc2UgTU1fQ0FMTF9TVEFURV9BQ1RJVkU6CisgICAgICAgcmV0 dXJuIFRSVUU7CisgICAgIGRlZmF1bHQ6CitAQCAtODQsMzkgKzcyLDM1IEBAIGNhbGxfc3RhdGVf aGFzX2F1ZGlvIChXeXNEaXJlY3Rpb24gZGlyZWN0aW9uLAorIAorIHN0YXRpYyB2b2lkCisgdXBk YXRlX2F1ZGlvX2NvdW50IChXeXNNb2RlbSAgICAgKnNlbGYsCistICAgICAgICAgICAgICAgICAg ICBXeXNEaXJlY3Rpb24gIGRpcmVjdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgIGdpbnQgICAg ICAgICAgZGVsdGEpCisgeworLSAgY29uc3QgZ3VpbnQgb2xkX2NvdW50ID0gc2VsZi0+YXVkaW9f Y291bnRbZGlyZWN0aW9uXTsKKysgIGNvbnN0IGd1aW50IG9sZF9jb3VudCA9IHNlbGYtPmF1ZGlv X2NvdW50OworIAorLSAgZ19hc3NlcnQgKGRlbHRhID49IDAgfHwgc2VsZi0+YXVkaW9fY291bnRb ZGlyZWN0aW9uXSA+IDApOworKyAgZ19hc3NlcnQgKGRlbHRhID49IDAgfHwgc2VsZi0+YXVkaW9f Y291bnQgPiAwKTsKKyAKKy0gIHNlbGYtPmF1ZGlvX2NvdW50W2RpcmVjdGlvbl0gKz0gZGVsdGE7 CisrICBzZWxmLT5hdWRpb19jb3VudCArPSBkZWx0YTsKKyAKKy0gIGlmIChzZWxmLT5hdWRpb19j b3VudFtkaXJlY3Rpb25dID4gMCAmJiBvbGRfY291bnQgPT0gMCkKKysgIGlmIChzZWxmLT5hdWRp b19jb3VudCA+IDAgJiYgb2xkX2NvdW50ID09IDApCisgICAgIHsKKy0gICAgICBnX2RlYnVnICgi TW9kZW0gYCVzJyBhdWRpbyAlcyBub3cgcHJlc2VudCIsCistICAgICAgICAgICAgICAgbW1fbW9k ZW1fdm9pY2VfZ2V0X3BhdGggKHNlbGYtPnZvaWNlKSwKKy0gICAgICAgICAgICAgICB3eXNfZGly ZWN0aW9uX2dldF9kZXNjcmlwdGlvbiAoZGlyZWN0aW9uKSk7CistICAgICAgZ19zaWduYWxfZW1p dF9ieV9uYW1lIChzZWxmLCAiYXVkaW8tcHJlc2VudCIsIGRpcmVjdGlvbik7CisrICAgICAgZ19t ZXNzYWdlICgiTW9kZW0gYCVzJyBhdWRpbyBub3cgcHJlc2VudCIsCisrICAgICAgICAgICAgICAg ICBtbV9tb2RlbV92b2ljZV9nZXRfcGF0aCAoc2VsZi0+dm9pY2UpKTsKKysgICAgICBnX3NpZ25h bF9lbWl0X2J5X25hbWUgKHNlbGYsICJhdWRpby1wcmVzZW50Iik7CisgICAgIH0KKy0gIGVsc2Ug aWYgKHNlbGYtPmF1ZGlvX2NvdW50W2RpcmVjdGlvbl0gPT0gMCAmJiBvbGRfY291bnQgPiAwKQor KyAgZWxzZSBpZiAoc2VsZi0+YXVkaW9fY291bnQgPT0gMCAmJiBvbGRfY291bnQgPiAwKQorICAg ICB7CistICAgICAgZ19kZWJ1ZyAoIk1vZGVtIGAlcycgYXVkaW8gbm93IGFic2VudCIsCistICAg ICAgICAgICAgICAgbW1fbW9kZW1fdm9pY2VfZ2V0X3BhdGggKHNlbGYtPnZvaWNlKSk7CistICAg ICAgZ19zaWduYWxfZW1pdF9ieV9uYW1lIChzZWxmLCAiYXVkaW8tYWJzZW50IiwgZGlyZWN0aW9u KTsKKysgICAgICBnX21lc3NhZ2UgKCJNb2RlbSBgJXMnIGF1ZGlvIG5vdyBhYnNlbnQiLAorKyAg ICAgICAgICAgICAgICAgbW1fbW9kZW1fdm9pY2VfZ2V0X3BhdGggKHNlbGYtPnZvaWNlKSk7Cisr ICAgICAgZ19zaWduYWxfZW1pdF9ieV9uYW1lIChzZWxmLCAiYXVkaW8tYWJzZW50Iik7CisgICAg IH0KKyB9CisgCisgCisgc3RhdGljIGdib29sZWFuCistZ2V0X2NhbGxfaGFzX2F1ZGlvIChNTUNh bGwgICAgICAgKm1tX2NhbGwsCistICAgICAgICAgICAgICAgICAgICBXeXNEaXJlY3Rpb24gIGRp cmVjdGlvbikKKytnZXRfY2FsbF9oYXNfYXVkaW8gKE1NQ2FsbCAqbW1fY2FsbCkKKyB7CisgICBn cG9pbnRlciBkYXRhOworIAorLSAgZGF0YSA9IGdfb2JqZWN0X2dldF9kYXRhIChHX09CSkVDVCAo bW1fY2FsbCksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdZU19NT0RFTV9IQVNfQVVE SU9bZGlyZWN0aW9uXSk7CisrICBkYXRhID0gZ19vYmplY3RfZ2V0X2RhdGEgKEdfT0JKRUNUICht bV9jYWxsKSwgImF1ZGlvLXN0YXRlIik7CisgCisgICByZXR1cm4gKGdib29sZWFuKShHUE9JTlRF Ul9UT19VSU5UIChkYXRhKSk7CisgfQorQEAgLTEyNCw0MiArMTA4LDM4IEBAIGdldF9jYWxsX2hh c19hdWRpbyAoTU1DYWxsICAgICAgICptbV9jYWxsLAorIAorIHN0YXRpYyB2b2lkCisgc2V0X2Nh bGxfaGFzX2F1ZGlvIChNTUNhbGwgICAgICAgKm1tX2NhbGwsCistICAgICAgICAgICAgICAgICAg ICBXeXNEaXJlY3Rpb24gIGRpcmVjdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgIGdib29sZWFu ICAgICAgaGFzX2F1ZGlvKQorIHsKKyAgIGdfb2JqZWN0X3NldF9kYXRhIChHX09CSkVDVCAobW1f Y2FsbCksCistICAgICAgICAgICAgICAgICAgICAgV1lTX01PREVNX0hBU19BVURJT1tkaXJlY3Rp b25dLAorKyAgICAgICAgICAgICAgICAgICAgICJhdWRpby1zdGF0ZSIsCisgICAgICAgICAgICAg ICAgICAgICAgR1VJTlRfVE9fUE9JTlRFUiAoKGd1aW50KWhhc19hdWRpbykpOworIH0KKyAKKyAK KyBzdGF0aWMgdm9pZAorLXVwZGF0ZV9kaXJlY3Rpb25fc3RhdGUgKFd5c01vZGVtICAgICAqc2Vs ZiwKKy0gICAgICAgICAgICAgICAgICAgICAgICBNTUNhbGwgICAgICAgKm1tX2NhbGwsCistICAg ICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIgICpwYXRoLAorLSAgICAgICAgICAgICAg ICAgICAgICAgIFd5c0RpcmVjdGlvbiAgZGlyZWN0aW9uLAorLSAgICAgICAgICAgICAgICAgICAg ICAgIE1NQ2FsbFN0YXRlICAgb2xkX3N0YXRlLAorLSAgICAgICAgICAgICAgICAgICAgICAgIE1N Q2FsbFN0YXRlICAgbmV3X3N0YXRlKQorK3VwZGF0ZV9jYWxsX3N0YXRlIChXeXNNb2RlbSAgICAg KnNlbGYsCisrICAgICAgICAgICAgICAgICAgIE1NQ2FsbCAgICAgICAqbW1fY2FsbCwKKysgICAg ICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIgICpwYXRoLAorKyAgICAgICAgICAgICAgICAgICBN TUNhbGxTdGF0ZSAgIG9sZF9zdGF0ZSwKKysgICAgICAgICAgICAgICAgICAgTU1DYWxsU3RhdGUg ICBuZXdfc3RhdGUpCisgeworLSAgZ2Jvb2xlYW4gaGFkX2F1ZGlvICA9IGNhbGxfc3RhdGVfaGFz X2F1ZGlvIChkaXJlY3Rpb24sIG9sZF9zdGF0ZSk7CistICBnYm9vbGVhbiBoYXZlX2F1ZGlvID0g Y2FsbF9zdGF0ZV9oYXNfYXVkaW8gKGRpcmVjdGlvbiwgbmV3X3N0YXRlKTsKKysgIGdib29sZWFu IGhhZF9hdWRpbyAgPSBjYWxsX3N0YXRlX2hhc19hdWRpbyAob2xkX3N0YXRlKTsKKysgIGdib29s ZWFuIGhhdmVfYXVkaW8gPSBjYWxsX3N0YXRlX2hhc19hdWRpbyAobmV3X3N0YXRlKTsKKyAKKyAg IGlmICghaGFkX2F1ZGlvICYmIGhhdmVfYXVkaW8pCisgICAgIHsKKy0gICAgICBnX2RlYnVnICgi Q2FsbCBgJXMnIGdhaW5lZCBhdWRpbyAlcyIsIHBhdGgsCistICAgICAgICAgICAgICAgd3lzX2Rp cmVjdGlvbl9nZXRfZGVzY3JpcHRpb24gKGRpcmVjdGlvbikpOworLSAgICAgIHVwZGF0ZV9hdWRp b19jb3VudCAoc2VsZiwgZGlyZWN0aW9uLCArMSk7CisrICAgICAgZ19tZXNzYWdlICgiQ2FsbCBg JXMnIGdhaW5lZCBhdWRpbyIsIHBhdGgpOworKyAgICAgIHVwZGF0ZV9hdWRpb19jb3VudCAoc2Vs ZiwgKzEpOworICAgICB9CisgICBlbHNlIGlmIChoYWRfYXVkaW8gJiYgIWhhdmVfYXVkaW8pCisg ICAgIHsKKy0gICAgICBnX2RlYnVnICgiQ2FsbCBgJXMnIGxvc3QgYXVkaW8gJXMiLCBwYXRoLAor LSAgICAgICAgICAgICAgIHd5c19kaXJlY3Rpb25fZ2V0X2Rlc2NyaXB0aW9uIChkaXJlY3Rpb24p KTsKKy0gICAgICB1cGRhdGVfYXVkaW9fY291bnQgKHNlbGYsIGRpcmVjdGlvbiwgLTEpOworKyAg ICAgIGdfbWVzc2FnZSAoIkNhbGwgYCVzJyBsb3N0IGF1ZGlvIiwgcGF0aCk7CisrICAgICAgdXBk YXRlX2F1ZGlvX2NvdW50IChzZWxmLCAtMSk7CisgICAgIH0KKyAKKyAgIGlmIChoYWRfYXVkaW8g IT0gaGF2ZV9hdWRpbykKKyAgICAgeworLSAgICAgIHNldF9jYWxsX2hhc19hdWRpbyAobW1fY2Fs bCwgZGlyZWN0aW9uLCBoYXZlX2F1ZGlvKTsKKysgICAgICBzZXRfY2FsbF9oYXNfYXVkaW8gKG1t X2NhbGwsIGhhdmVfYXVkaW8pOworICAgICB9CisgfQorIAorQEAgLTE3NCwzNCArMTU0LDI4IEBA IGNhbGxfc3RhdGVfY2hhbmdlZF9jYiAoTW1HZGJ1c0NhbGwgICAgICAgKm1tX2dkYnVzX2NhbGws CisgICBNTUNhbGwgKm1tX2NhbGwgPSBNTV9DQUxMIChtbV9nZGJ1c19jYWxsKTsKKyAgIGNvbnN0 IGdjaGFyICogcGF0aCA9IG1tX2NhbGxfZ2V0X3BhdGggKG1tX2NhbGwpOworIAorLSAgZ19kZWJ1 ZyAoIkNhbGwgYCVzJyBzdGF0ZSBjaGFuZ2VkLCBuZXc6ICVpLCBvbGQ6ICVpIiwKKysgIGdfbWVz c2FnZSAoIkNhbGwgYCVzJyBzdGF0ZSBjaGFuZ2VkLCBuZXc6ICVpLCBvbGQ6ICVpIiwKKyAgICAg ICAgICAgIHBhdGgsIChpbnQpbmV3X3N0YXRlLCAoaW50KW9sZF9zdGF0ZSk7CisgCisgICAvLyBG SVhNRTogZGVhbCB3aXRoIGNhbGxzIGJlaW5nIHB1dCBvbiBob2xkIChvbmUgY2FsbCBnb2VzCisg ICAvLyBub24tYXVkaW8sIGFub3RoZXIgY2FsbCBnb2VzIGF1ZGlvIGFmdGVyKQorIAorLSAgdXBk YXRlX2RpcmVjdGlvbl9zdGF0ZSAoc2VsZiwgbW1fY2FsbCwgcGF0aCwKKy0gICAgICAgICAgICAg ICAgICAgICAgICAgIFdZU19ESVJFQ1RJT05fRlJPTV9ORVRXT1JLLAorLSAgICAgICAgICAgICAg ICAgICAgICAgICAgb2xkX3N0YXRlLCBuZXdfc3RhdGUpOworLSAgdXBkYXRlX2RpcmVjdGlvbl9z dGF0ZSAoc2VsZiwgbW1fY2FsbCwgcGF0aCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgIFdZ U19ESVJFQ1RJT05fVE9fTkVUV09SSywKKy0gICAgICAgICAgICAgICAgICAgICAgICAgIG9sZF9z dGF0ZSwgbmV3X3N0YXRlKTsKKysgIHVwZGF0ZV9jYWxsX3N0YXRlIChzZWxmLCBtbV9jYWxsLCBw YXRoLCBvbGRfc3RhdGUsIG5ld19zdGF0ZSk7CisgfQorIAorIAorIHN0YXRpYyB2b2lkCistaW5p dF9jYWxsX2RpcmVjdGlvbiAoV3lzTW9kZW0gICAgICpzZWxmLAorLSAgICAgICAgICAgICAgICAg ICAgIE1NQ2FsbCAgICAgICAqbW1fY2FsbCwKKy0gICAgICAgICAgICAgICAgICAgICBNTUNhbGxT dGF0ZSAgIHN0YXRlLAorLSAgICAgICAgICAgICAgICAgICAgIFd5c0RpcmVjdGlvbiAgZGlyZWN0 aW9uKQorK2luaXRfY2FsbF9hdWRpbyAoV3lzTW9kZW0gICAgICpzZWxmLAorKyAgICAgICAgICAg ICAgICAgTU1DYWxsICAgICAgICptbV9jYWxsLAorKyAgICAgICAgICAgICAgICAgTU1DYWxsU3Rh dGUgICBzdGF0ZSkKKyB7CistICBnYm9vbGVhbiBoYXNfYXVkaW8gPSBjYWxsX3N0YXRlX2hhc19h dWRpbyAoZGlyZWN0aW9uLCBzdGF0ZSk7CisrICBnYm9vbGVhbiBoYXNfYXVkaW8gPSBjYWxsX3N0 YXRlX2hhc19hdWRpbyAoc3RhdGUpOworIAorLSAgc2V0X2NhbGxfaGFzX2F1ZGlvIChtbV9jYWxs LCBkaXJlY3Rpb24sIGhhc19hdWRpbyk7CisrICBzZXRfY2FsbF9oYXNfYXVkaW8gKG1tX2NhbGws IGhhc19hdWRpbyk7CisgCisgICBpZiAoaGFzX2F1ZGlvKQorICAgICB7CistICAgICAgdXBkYXRl X2F1ZGlvX2NvdW50IChzZWxmLCBkaXJlY3Rpb24sICsxKTsKKysgICAgICB1cGRhdGVfYXVkaW9f Y291bnQgKHNlbGYsICsxKTsKKyAgICAgfQorIH0KKyAKK0BAIC0yMjMsMTIgKzE5Nyw5IEBAIGFk ZF9jYWxsIChXeXNNb2RlbSAqc2VsZiwKKyAgICAgICAgICAgICAgICAgICAgIHNlbGYpOworIAor ICAgc3RhdGUgPSBtbV9jYWxsX2dldF9zdGF0ZSAobW1fY2FsbCk7CistICBpbml0X2NhbGxfZGly ZWN0aW9uIChzZWxmLCBtbV9jYWxsLCBzdGF0ZSwKKy0gICAgICAgICAgICAgICAgICAgICAgIFdZ U19ESVJFQ1RJT05fRlJPTV9ORVRXT1JLKTsKKy0gIGluaXRfY2FsbF9kaXJlY3Rpb24gKHNlbGYs IG1tX2NhbGwsIHN0YXRlLAorLSAgICAgICAgICAgICAgICAgICAgICAgV1lTX0RJUkVDVElPTl9U T19ORVRXT1JLKTsKKysgIGluaXRfY2FsbF9hdWRpbyAoc2VsZiwgbW1fY2FsbCwgc3RhdGUpOwor IAorLSAgZ19kZWJ1ZyAoIkNhbGwgYCVzJyBhZGRlZCwgc3RhdGU6ICVpIiwgcGF0aCwgKGludClz dGF0ZSk7CisrICBnX21lc3NhZ2UgKCJDYWxsIGAlcycgYWRkZWQsIHN0YXRlOiAlaSIsIHBhdGgs IChpbnQpc3RhdGUpOworIH0KKyAKKyAKK0BAIC0zMjIsMTYgKzI5MywxNCBAQCBjYWxsX2FkZGVk X2NiIChNTU1vZGVtVm9pY2UgICp2b2ljZSwKKyAKKyAKKyBzdGF0aWMgdm9pZAorLWNsZWFyX2Nh bGxfZGlyZWN0aW9uIChXeXNNb2RlbSAgICAgKnNlbGYsCistICAgICAgICAgICAgICAgICAgICAg IE1NQ2FsbCAgICAgICAqbW1fY2FsbCwKKy0gICAgICAgICAgICAgICAgICAgICAgV3lzRGlyZWN0 aW9uICBkaXJlY3Rpb24pCisrY2xlYXJfY2FsbF9zdGF0ZSAoV3lzTW9kZW0gICAgICpzZWxmLAor KyAgICAgICAgICAgICAgICAgIE1NQ2FsbCAgICAgICAqbW1fY2FsbCkKKyB7CistICBnYm9vbGVh biBoYXNfYXVkaW8gPQorLSAgICBnZXRfY2FsbF9oYXNfYXVkaW8gKG1tX2NhbGwsIGRpcmVjdGlv bik7CisrICBnYm9vbGVhbiBoYXNfYXVkaW8gPSBnZXRfY2FsbF9oYXNfYXVkaW8gKG1tX2NhbGwp OworIAorICAgaWYgKGhhc19hdWRpbykKKyAgICAgeworLSAgICAgIHVwZGF0ZV9hdWRpb19jb3Vu dCAoc2VsZiwgZGlyZWN0aW9uLCAtMSk7CisrICAgICAgdXBkYXRlX2F1ZGlvX2NvdW50IChzZWxm LCAtMSk7CisgICAgIH0KKyB9CisgCitAQCAtMzQzLDcgKzMxMiw3IEBAIGNhbGxfZGVsZXRlZF9j YiAoTU1Nb2RlbVZvaWNlICp2b2ljZSwKKyB7CisgICBNTUNhbGwgKm1tX2NhbGw7CisgCistICBn X2RlYnVnICgiUmVtb3ZpbmcgY2FsbCBgJXMnIiwgcGF0aCk7CisrICBnX21lc3NhZ2UgKCJSZW1v dmluZyBjYWxsIGAlcyciLCBwYXRoKTsKKyAKKyAgIG1tX2NhbGwgPSBnX2hhc2hfdGFibGVfbG9v a3VwIChzZWxmLT5jYWxscywgcGF0aCk7CisgICBpZiAoIW1tX2NhbGwpCitAQCAtMzUyLDE0ICsz MjEsMTEgQEAgY2FsbF9kZWxldGVkX2NiIChNTU1vZGVtVm9pY2UgKnZvaWNlLAorICAgICAgIHJl dHVybjsKKyAgICAgfQorIAorLSAgY2xlYXJfY2FsbF9kaXJlY3Rpb24gKHNlbGYsIG1tX2NhbGws CistICAgICAgICAgICAgICAgICAgICAgICAgV1lTX0RJUkVDVElPTl9GUk9NX05FVFdPUkspOwor LSAgY2xlYXJfY2FsbF9kaXJlY3Rpb24gKHNlbGYsIG1tX2NhbGwsCistICAgICAgICAgICAgICAg ICAgICAgICAgV1lTX0RJUkVDVElPTl9UT19ORVRXT1JLKTsKKysgIGNsZWFyX2NhbGxfc3RhdGUg KHNlbGYsIG1tX2NhbGwpOworIAorICAgZ19oYXNoX3RhYmxlX3JlbW92ZSAoc2VsZi0+Y2FsbHMs IHBhdGgpOworIAorLSAgZ19kZWJ1ZyAoIkNhbGwgYCVzJyByZW1vdmVkIiwgcGF0aCk7CisrICBn X21lc3NhZ2UgKCJDYWxsIGAlcycgcmVtb3ZlZCIsIHBhdGgpOworIH0KKyAKKyAKK0BAIC00NDQs MTEgKzQxMCw5IEBAIGRpc3Bvc2UgKEdPYmplY3QgKm9iamVjdCkKKyAgIGlmIChnX2hhc2hfdGFi bGVfc2l6ZSAoc2VsZi0+Y2FsbHMpID4gMCkKKyAgICAgeworICAgICAgIGdfaGFzaF90YWJsZV9y ZW1vdmVfYWxsIChzZWxmLT5jYWxscyk7CistICAgICAgaWYgKHNlbGYtPmF1ZGlvX2NvdW50W1dZ U19ESVJFQ1RJT05fRlJPTV9ORVRXT1JLXSA+IDAgfHwKKy0gICAgICAgICAgc2VsZi0+YXVkaW9f Y291bnRbV1lTX0RJUkVDVElPTl9UT19ORVRXT1JLXSA+IDApCisrICAgICAgaWYgKHNlbGYtPmF1 ZGlvX2NvdW50ID4gMCkKKyAgICAgICAgIHsKKy0gICAgICAgICAgc2VsZi0+YXVkaW9fY291bnRb V1lTX0RJUkVDVElPTl9GUk9NX05FVFdPUktdID0KKy0gICAgICAgICAgICBzZWxmLT5hdWRpb19j b3VudFtXWVNfRElSRUNUSU9OX1RPX05FVFdPUktdID0gMDsKKysgICAgICAgICAgc2VsZi0+YXVk aW9fY291bnQgPSAwOworICAgICAgICAgICBnX3NpZ25hbF9lbWl0X2J5X25hbWUgKHNlbGYsICJh dWRpby1hYnNlbnQiKTsKKyAgICAgICAgIH0KKyAgICAgfQorQEAgLTUwNCw4ICs0NjgsNyBAQCB3 eXNfbW9kZW1fY2xhc3NfaW5pdCAoV3lzTW9kZW1DbGFzcyAqa2xhc3MpCisgICAgICAgICAgICAg ICAgICAgR19TSUdOQUxfUlVOX0xBU1QsCisgICAgICAgICAgICAgICAgICAgMCwgTlVMTCwgTlVM TCwgTlVMTCwKKyAgICAgICAgICAgICAgICAgICBHX1RZUEVfTk9ORSwKKy0gICAgICAgICAgICAg ICAgICAxLAorLSAgICAgICAgICAgICAgICAgIFdZU19UWVBFX0RJUkVDVElPTik7CisrICAgICAg ICAgICAgICAgICAgMCk7CisgCisgICAvKioKKyAgICAqIFd5c01vZGVtOjphdWRpby1hYnNlbnQ6 CitAQCAtNTIwLDggKzQ4Myw3IEBAIHd5c19tb2RlbV9jbGFzc19pbml0IChXeXNNb2RlbUNsYXNz ICprbGFzcykKKyAgICAgICAgICAgICAgICAgICBHX1NJR05BTF9SVU5fTEFTVCwKKyAgICAgICAg ICAgICAgICAgICAwLCBOVUxMLCBOVUxMLCBOVUxMLAorICAgICAgICAgICAgICAgICAgIEdfVFlQ RV9OT05FLAorLSAgICAgICAgICAgICAgICAgIDEsCistICAgICAgICAgICAgICAgICAgV1lTX1RZ UEVfRElSRUNUSU9OKTsKKysgICAgICAgICAgICAgICAgICAwKTsKKyB9CisgCisgCmRpZmYgLS1n aXQgYS9zcmNwa2dzL3BpbmVwaG9uZS13eXMvdGVtcGxhdGUgYi9zcmNwa2dzL3BpbmVwaG9uZS13 eXMvdGVtcGxhdGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmFiM2Vh YWQ2NGFjCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9waW5lcGhvbmUtd3lzL3RlbXBsYXRl CkBAIC0wLDAgKzEsMTkgQEAKKyMgVGVtcGxhdGUgZmlsZSBmb3IgJ3BpbmVwaG9uZS13eXMnCitw a2duYW1lPXBpbmVwaG9uZS13eXMKK19wa2duYW1lPXd5cwordmVyc2lvbj0wLjEuOAorcmV2aXNp b249MQord3Jrc3JjPSR7X3BrZ25hbWV9LXYke3ZlcnNpb259CitidWlsZF9zdHlsZT1tZXNvbgor aG9zdG1ha2VkZXBlbmRzPSJwa2ctY29uZmlnIgorbWFrZWRlcGVuZHM9ImdsaWItZGV2ZWwgcHVs c2VhdWRpby1kZXZlbCBNb2RlbU1hbmFnZXItZGV2ZWwiCitzaG9ydF9kZXNjPSJEYWVtb24gdG8g YnJpbmcgdXAgYW5kIHRha2UgZG93biBQdWxzZUF1ZGlvIGZvciBwaG9uZSBjYWxsIGF1ZGlvIgor bWFpbnRhaW5lcj0iSnVsaW8gR2FsdmFuIDxqdWxpby12b2lkQGVwYXpvdGUubmV0PiIKK2xpY2Vu c2U9IkdQTC0zLjAtb3ItbGF0ZXIiCitob21lcGFnZT0iaHR0cHM6Ly9zb3VyY2UucHVyaS5zbS9M aWJyZW01L3d5cyIKK2Rpc3RmaWxlcz0iJHtob21lcGFnZX0vLS9hcmNoaXZlL3Yke3ZlcnNpb259 LyR7X3BrZ25hbWV9LXYke3ZlcnNpb259LnRhci5neiIKK2NoZWNrc3VtPTA3ZmQ2ZDJhZTllYTVk NjE4N2UxYzk5ZDViMGU1YzFkOWM3NGJhMDBmNDg2OWY0YWFlMTk1Y2Q4NzE0YmEzNzUKKworcG9z dF9pbnN0YWxsKCkgeworCXZpbnN0YWxsICR7RklMRVNESVJ9L3d5cy5kZXNrdG9wIDY0NCBldGMv eGRnL2F1dG9zdGFydAorfQo= --===============0299908766155358968==--