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 8872 invoked from network); 19 Sep 2020 08:25:00 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 19 Sep 2020 08:25:00 -0000 Content-Type: multipart/mixed; boundary="===============1336800531608601448==" 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: Sat, 19 Sep 2020 10:24:58 +0200 List-Id: Message-ID: <20200919082458.q_Q8hPh05rgUyQ0yUNrqSDhzvxTc1taiRRJB-1HnNUc@z> GitHub notification mails are now in MIME to allow UTF8. --===============1336800531608601448== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkganVsaW82NDE3NDIgYWdhaW5zdCBt YXN0ZXIgb24gdGhlIHZvaWQtcGFja2FnZXMgcmVwb3NpdG9yeQoKaHR0cHM6Ly9naXRodWIuY29t L2p1bGlvNjQxNzQyL3ZvaWQtcGFja2FnZXMgcGhvc2gKaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQt bGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzI0NTM4CgpOZXcgcGFja2FnZXM6IHBob2MtMC40LjIg Y2FsbHMtMC4xLjcgcHVyaXNtLWNoYXR0eS0wLjEuMTUKR2V0dGluZyByZWFkeSBmb3IgbXkgcGlu ZXBob25lIDopCgpBIHBhdGNoIGZpbGUgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51 eC92b2lkLXBhY2thZ2VzL3B1bGwvMjQ1MzgucGF0Y2ggaXMgYXR0YWNoZWQ= --===============1336800531608601448== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-phosh-24538.patch" RnJvbSAyODQ4OWY2YTBhMjBhMTlmYTQxM2NlYzQwMGYxNGY5Zjc1MzljNmY1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKdWxpbyBHYWx2YW4gPGp1bGlvQGVwYXpvdGUubmV0PgpEYXRl OiBTYXQsIDI5IEF1ZyAyMDIwIDExOjQ3OjM1IC0wNzAwClN1YmplY3Q6IFtQQVRDSCAwMS8xMV0g TmV3IHBhY2thZ2U6IGZlZWRiYWNrZC0wLjAuMCtnaXQyMDIwMDcwNwoKLS0tCiBjb21tb24vc2hs aWJzICAgICAgICAgICAgICB8ICAxICsKIHNyY3BrZ3MvZmVlZGJhY2tkL3RlbXBsYXRlIHwgMzcg KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogc3JjcGtncy9saWJmZWVkYmFj ayAgICAgICAgfCAgMSArCiBzcmNwa2dzL2xpYmZlZWRiYWNrLWRldmVsICB8ICAxICsKIDQgZmls ZXMgY2hhbmdlZCwgNDAgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mv ZmVlZGJhY2tkL3RlbXBsYXRlCiBjcmVhdGUgbW9kZSAxMjAwMDAgc3JjcGtncy9saWJmZWVkYmFj awogY3JlYXRlIG1vZGUgMTIwMDAwIHNyY3BrZ3MvbGliZmVlZGJhY2stZGV2ZWwKCmRpZmYgLS1n aXQgYS9jb21tb24vc2hsaWJzIGIvY29tbW9uL3NobGlicwppbmRleCBjY2ZkMTg3YmZlMC4uNTE2 Nzg0N2ZmZDkgMTAwNjQ0Ci0tLSBhL2NvbW1vbi9zaGxpYnMKKysrIGIvY29tbW9uL3NobGlicwpA QCAtMzk5MSwzICszOTkxLDQgQEAgbGlibmVhdHZuYy5zby4wIG5lYXR2bmMtMC4yLjBfMQogbGli 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 CkZyb20gMjMyOWQwNGRkMzMzZTdlYmZlZjdlYzUyNDg2ZDM0Mzc2NmNlNGRiMiBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogSnVsaW8gR2FsdmFuIDxqdWxpb0BlcGF6b3RlLm5ldD4KRGF0 ZTogU2F0LCAyOSBBdWcgMjAyMCAxMTo0Nzo1NiAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMDIvMTFd IE5ldyBwYWNrYWdlOiBwaG9jLTAuNC4yCgotLS0KIHNyY3BrZ3MvcGhvYy90ZW1wbGF0ZSB8IDE2 ICsrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspCiBjcmVh dGUgbW9kZSAxMDA2NDQgc3JjcGtncy9waG9jL3RlbXBsYXRlCgpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9waG9jL3RlbXBsYXRlIGIvc3JjcGtncy9waG9jL3RlbXBsYXRlCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4wMGM5ZjFmM2FiMAotLS0gL2Rldi9udWxsCisrKyBiL3Ny Y3BrZ3MvcGhvYy90ZW1wbGF0ZQpAQCAtMCwwICsxLDE2IEBACisjIFRlbXBsYXRlIGZpbGUgZm9y ICdwaG9jJworcGtnbmFtZT1waG9jCit2ZXJzaW9uPTAuNC4yCityZXZpc2lvbj0xCit3cmtzcmM9 JHtwa2duYW1lfS12JHt2ZXJzaW9ufQorYnVpbGRfc3R5bGU9bWVzb24KK2NvbmZpZ3VyZV9hcmdz PSItRGVtYmVkLXdscm9vdHM9ZGlzYWJsZWQiCitob3N0bWFrZWRlcGVuZHM9ImdsaWItZGV2ZWwg cGtnLWNvbmZpZyB3YXlsYW5kLWRldmVsIgorbWFrZWRlcGVuZHM9Imdub21lLWRlc2t0b3AtZGV2 ZWwgd2xyb290cy1kZXZlbCIKK2RlcGVuZHM9Im11dHRlciIKK3Nob3J0X2Rlc2M9Ildscm9vdHMg YmFzZWQgUGhvbmUgY29tcG9zaXRvciBmb3IgdGhlIFBob3NoIHNoZWxsIgorbWFpbnRhaW5lcj0i SnVsaW8gR2FsdmFuIDxqdWxpby12b2lkQGVwYXpvdGUubmV0PiIKK2xpY2Vuc2U9IkdQTC0zLjAt b3ItbGF0ZXIiCitob21lcGFnZT0iaHR0cHM6Ly9zb3VyY2UucHVyaS5zbS9MaWJyZW01L3Bob2Mi CitkaXN0ZmlsZXM9IiR7aG9tZXBhZ2V9Ly0vYXJjaGl2ZS92JHt2ZXJzaW9ufS8ke3BrZ25hbWV9 LXYke3ZlcnNpb259LnRhci5neiIKK2NoZWNrc3VtPWJkYjM0NjQ0YzdkNDljOTUzMjM5YzFlOTM5 YmM1ZWUyYmMyNmY2MTg3YjlkNzU2YjcwYjExM2QyNzM0YzcxMmMKCkZyb20gZTQyZTliOTBkZTU0 NDY4MWFmYTNlNzJhNzg4NDAyNDI1MTQ5NzE5OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogSnVsaW8gR2FsdmFuIDxqdWxpb0BlcGF6b3RlLm5ldD4KRGF0ZTogU2F0LCAyOSBBdWcgMjAy MCAxMTo0ODo0OCAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMDMvMTFdIE5ldyBwYWNrYWdlOiBzcXVl ZWtib2FyZC0xLjkuMwoKLS0tCiBzcmNwa2dzL3NxdWVla2JvYXJkL3RlbXBsYXRlIHwgMjUgKysr KysrKysrKysrKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDI1IGluc2VydGlvbnMoKykK IGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3NxdWVla2JvYXJkL3RlbXBsYXRlCgpkaWZmIC0t Z2l0IGEvc3JjcGtncy9zcXVlZWtib2FyZC90ZW1wbGF0ZSBiL3NyY3BrZ3Mvc3F1ZWVrYm9hcmQv dGVtcGxhdGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjkzODI0OGVm YTZiCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9zcXVlZWtib2FyZC90ZW1wbGF0ZQpAQCAt MCwwICsxLDI1IEBACisjIFRlbXBsYXRlIGZpbGUgZm9yICdzcXVlZWtib2FyZCcKK3BrZ25hbWU9 c3F1ZWVrYm9hcmQKK3ZlcnNpb249MS45LjMKK3JldmlzaW9uPTEKK3dya3NyYz0ke3BrZ25hbWV9 LXYke3ZlcnNpb259CitidWlsZF9zdHlsZT1tZXNvbgorYnVpbGRfaGVscGVyPXJ1c3QKK2hvc3Rt YWtlZGVwZW5kcz0iZ2xpYi1kZXZlbCBnZXR0ZXh0IHBrZy1jb25maWcgY2FyZ28gd2F5bGFuZC1k ZXZlbCIKK21ha2VkZXBlbmRzPSJydXN0IGd0ayszLWRldmVsIGdub21lLWRlc2t0b3AtZGV2ZWwg bGliZmVlZGJhY2stZGV2ZWwiCitzaG9ydF9kZXNjPSJGaW5hbCBMaWJyZW01IGtleWJvYXJkIgor bWFpbnRhaW5lcj0iSnVsaW8gR2FsdmFuIDxqdWxpby12b2lkQGVwYXpvdGUubmV0PiIKK2xpY2Vu c2U9IkdQTC0zLjAtb3ItbGF0ZXIiCitob21lcGFnZT0iaHR0cHM6Ly9zb3VyY2UucHVyaS5zbS9M aWJyZW01L3NxdWVla2JvYXJkIgorZGlzdGZpbGVzPSIke2hvbWVwYWdlfS8tL2FyY2hpdmUvdiR7 dmVyc2lvbn0vJHtwa2duYW1lfS12JHt2ZXJzaW9ufS50YXIuZ3oiCitjaGVja3N1bT1iOTllNTZm YWFjZTM5ODZiZjc1MmUwOGMxMDRjZWE2MGVkODk2ZDUxNDI4NDg0MDY1NTAzM2RkOTQ1N2RiODI0 CisKK3ByZV9jb25maWd1cmUoKSB7CisJaWYgWyAiJENST1NTX0JVSUxEIiBdOyB0aGVuCisJCXZz ZWQgLWkgY2FyZ29fYnVpbGQuc2ggLWUgInMvLWEgLi8tYSAke1hCUFNfQ1JPU1NfUlVTVF9UQVJH RVR9L2ciCisJZmkKK30KKworcG9zdF9pbnN0YWxsKCkgeworCWNobW9kICt4ICR7REVTVERJUn0v dXNyL2Jpbi9zcXVlZWtib2FyZC1lbnRyeQorfQoKRnJvbSBmYjQxNzMzZTFhNTUwMzg2M2Q5YjE2 MTA0ZDhiOWI5ZDMyZDQzZjM3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKdWxpbyBH 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 ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNDYxOTkyMDI0NjYKLS0tIC9k ZXYvbnVsbAorKysgYi9zcmNwa2dzL3Bob3NoL3RlbXBsYXRlCkBAIC0wLDAgKzEsMjIgQEAKKyMg VGVtcGxhdGUgZmlsZSBmb3IgJ3Bob3NoJworcGtnbmFtZT1waG9zaAordmVyc2lvbj0wLjQuMwor cmV2aXNpb249MQorYnVpbGRfc3R5bGU9bWVzb24KK2hvc3RtYWtlZGVwZW5kcz0icGhvYyBnbGli LWRldmVsIGdldHRleHQgcGtnLWNvbmZpZyB3YXlsYW5kLWRldmVsIgorbWFrZWRlcGVuZHM9Imxp YmZlZWRiYWNrLWRldmVsIGdjci1kZXZlbCBnbm9tZS1kZXNrdG9wLWRldmVsIHBhbS1kZXZlbAor IHBvbGtpdC1kZXZlbCBwdWxzZWF1ZGlvLWRldmVsIGxpYnNlY3JldC1kZXZlbCBsaWJoYW5keS1k ZXZlbAorIE5ldHdvcmtNYW5hZ2VyLWRldmVsIHVwb3dlci1kZXZlbCIKK2RlcGVuZHM9InBob2Mg c3F1ZWVrYm9hcmQgZ25vbWUtc2Vzc2lvbiBnbm9tZS1zZXR0aW5ncy1kYWVtb24gZWxvZ2luZAor IHhvcmctc2VydmVyLXh3YXlsYW5kIGNhbnRhcmVsbC1mb250cyBmb250LWFkb2JlLXNvdXJjZS1j b2RlLXBybyIKK3Nob3J0X2Rlc2M9IlNoZWxsIFBvQyBmb3IgdGhlIExpYnJlbTUiCittYWludGFp bmVyPSJKdWxpbyBHYWx2YW4gPGp1bGlvLXZvaWRAZXBhem90ZS5uZXQ+IgorbGljZW5zZT0iR1BM LTMuMC1vci1sYXRlciIKK2hvbWVwYWdlPSJodHRwczovL3NvdXJjZS5wdXJpLnNtL0xpYnJlbTUv cGhvc2giCitkaXN0ZmlsZXM9Imh0dHBzOi8vcmVwby5wdXJlb3MubmV0L3B1cmVvcy9wb29sL21h aW4vcC9waG9zaC9waG9zaF8kdmVyc2lvbi50YXIueHoiCitjaGVja3N1bT1jNmZjNjhhYWZhZjc4 NDEyNjM3YjBmNTA5YWFmYmJjYTg3N2JkYTNmZTE5NTExYmYzNDBiODI0ZDdjZGJkNGVlCisKK3Bv c3RfaW5zdGFsbCgpIHsKKwl2Y29weSAke0ZJTEVTRElSfS9zbS5wdXJpLk9TSzAuZGVza3RvcCB1 c3Ivc2hhcmUvYXBwbGljYXRpb25zCisJdmNvcHkgJHtGSUxFU0RJUn0vcGhvc2guZGVza3RvcCB1 c3Ivc2hhcmUvd2F5bGFuZC1zZXNzaW9ucworfQoKRnJvbSAwMzg2MTNhMWI1ODdiNWIxODIxMDcy ZGI4MDllYjNiYzVhYjgxMTI4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKdWxpbyBH YWx2YW4gPGp1bGlvLXZvaWRAZXBhem90ZS5uZXQ+CkRhdGU6IFNhdCwgMjkgQXVnIDIwMjAgMTg6 MzU6NDcgLTA3MDAKU3ViamVjdDogW1BBVENIIDA1LzExXSBOZXcgcGFja2FnZTogY2FsbHMtMC4x LjgKCi0tLQogc3JjcGtncy9jYWxscy90ZW1wbGF0ZSB8IDE3ICsrKysrKysrKysrKysrKysrCiAx IGZpbGUgY2hhbmdlZCwgMTcgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3Br Z3MvY2FsbHMvdGVtcGxhdGUKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2NhbGxzL3RlbXBsYXRlIGIv c3JjcGtncy9jYWxscy90ZW1wbGF0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMC4uYzE3YTg1NzBmMTgKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2NhbGxzL3RlbXBs YXRlCkBAIC0wLDAgKzEsMTcgQEAKKyMgVGVtcGxhdGUgZmlsZSBmb3IgJ2NhbGxzJworcGtnbmFt ZT1jYWxscwordmVyc2lvbj0wLjEuOAorcmV2aXNpb249MQord3Jrc3JjPSR7cGtnbmFtZX0tdiR7 dmVyc2lvbn0KK2J1aWxkX3N0eWxlPW1lc29uCitob3N0bWFrZWRlcGVuZHM9ImdsaWItZGV2ZWwg Z2V0dGV4dCB2YWxhIHBrZy1jb25maWcgd2F5bGFuZC1kZXZlbAorIGV2b2x1dGlvbi1kYXRhLXNl cnZlci1kZXZlbCIKK21ha2VkZXBlbmRzPSJmb2xrcy1kZXZlbCBsaWJoYW5keS1kZXZlbCBsaWJw ZWFzLWRldmVsIGdvbS1kZXZlbAorIE1vZGVtTWFuYWdlci1kZXZlbCBsaWJmZWVkYmFjay1kZXZl bCIKK2RlcGVuZHM9Ik5ldHdvcmtNYW5hZ2VyIE1vZGVtTWFuYWdlciIKK3Nob3J0X2Rlc2M9IlBo b25lIGNhbGwgYXBwbGljYXRpb24iCittYWludGFpbmVyPSJKdWxpbyBHYWx2YW4gPGp1bGlvLXZv aWRAZXBhem90ZS5uZXQ+IgorbGljZW5zZT0iR1BMLTMuMC1vci1sYXRlciIKK2hvbWVwYWdlPSJo dHRwczovL3NvdXJjZS5wdXJpLnNtL0xpYnJlbTUvY2FsbHMiCitkaXN0ZmlsZXM9IiR7aG9tZXBh Z2V9Ly0vYXJjaGl2ZS92JHt2ZXJzaW9ufS8ke3BrZ25hbWV9LXYke3ZlcnNpb259LnRhci5neiIK K2NoZWNrc3VtPTU4ZmQyYzQzOGZhZGVjODEyYTczMTgxZmQ2YjFhNzk0Nzg4MTRiYjEwYmY4MTUz ZjNiNzlhNGM2MjcxMDc4YTkKCkZyb20gZWI2MGI2NGZhNjQ0MzQ2MTJkMGJlOGUyZjNlMmZmNzlm N2E3NGJkMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSnVsaW8gR2FsdmFuIDxqdWxp by12b2lkQGVwYXpvdGUubmV0PgpEYXRlOiBTYXQsIDI5IEF1ZyAyMDIwIDE4OjM2OjM1IC0wNzAw ClN1YmplY3Q6IFtQQVRDSCAwNi8xMV0gTmV3IHBhY2thZ2U6IHB1cmlzbS1jaGF0dHktMC4xLjE1 CgotLS0KIHNyY3BrZ3MvcHVyaXNtLWNoYXR0eS90ZW1wbGF0ZSB8IDIyICsrKysrKysrKysrKysr KysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCAyMiBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAx MDA2NDQgc3JjcGtncy9wdXJpc20tY2hhdHR5L3RlbXBsYXRlCgpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9wdXJpc20tY2hhdHR5L3RlbXBsYXRlIGIvc3JjcGtncy9wdXJpc20tY2hhdHR5L3RlbXBsYXRl Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5kMTFiZmNlYTg4MgotLS0g L2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcHVyaXNtLWNoYXR0eS90ZW1wbGF0ZQpAQCAtMCwwICsx LDIyIEBACisjIFRlbXBsYXRlIGZpbGUgZm9yICdwdXJpc20tY2hhdHR5JworcGtnbmFtZT1wdXJp c20tY2hhdHR5CitfcGtnbmFtZT1jaGF0dHkKK3ZlcnNpb249MC4xLjE1CityZXZpc2lvbj0xCit3 cmtzcmM9JHtfcGtnbmFtZX0tdiR7dmVyc2lvbn0KK2J1aWxkX3N0eWxlPW1lc29uCitob3N0bWFr ZWRlcGVuZHM9ImdsaWItZGV2ZWwgcGtnLWNvbmZpZyBnZXR0ZXh0IgorbWFrZWRlcGVuZHM9Imxp YmZlZWRiYWNrLWRldmVsIGxpYmhhbmR5LWRldmVsIGV2b2x1dGlvbi1kYXRhLXNlcnZlci1kZXZl bAorIGxpYnB1cnBsZSBsaWJwdXJwbGUtZGV2ZWwiCitzaG9ydF9kZXNjPSJYTVBQIGFuZCBTTVMg bWVzc2FnaW5nIHZpYSBsaWJwdXJwbGUgYW5kIE1vZGVtbWFuYWdlciIKK21haW50YWluZXI9Ikp1 bGlvIEdhbHZhbiA8anVsaW8tdm9pZEBlcGF6b3RlLm5ldD4iCitsaWNlbnNlPSJHUEwtMy4wLW9y LWxhdGVyIgoraG9tZXBhZ2U9Imh0dHBzOi8vc291cmNlLnB1cmkuc20vTGlicmVtNS9jaGF0dHki CitkaXN0ZmlsZXM9IiR7aG9tZXBhZ2V9Ly0vYXJjaGl2ZS92JHt2ZXJzaW9ufS8ke19wa2duYW1l fS12JHt2ZXJzaW9ufS50YXIuZ3oiCitjaGVja3N1bT05YmUyYjc5YTI2NmE3ZmExZTNkM2U3YmE0 NDdmZjg5ZDJiOWU0NDMxMmQ2ZTU1ZjJhNjNkMTkxMzY5NTI4ZDY0CisKK3ByZV9jb25maWd1cmUo KSB7CisJaWYgWyAiJENST1NTX0JVSUxEIiBdOyB0aGVuCisJCXZzZWQgLWkgc3JjL21lc29uLmJ1 aWxkIC1lICJzL3B1cnBsZV9wbHVnZGlyID0uKi9wdXJwbGVfcGx1Z2RpciA9IFwnXC91c3JcLyR7 WEJQU19DUk9TU19UUklQTEVUfVwvdXNyXC9saWJcL3B1cnBsZS0yXCcvZyIKKwlmaQorfQoKRnJv bSA2YWI4Mjg1MmNiZDRlZTM2NjdlZTA4ODhjOGNjZDEzYjAxOGYyYTAxIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQpGcm9tOiBKdWxpbyBHYWx2YW4gPGp1bGlvLXZvaWRAZXBhem90ZS5uZXQ+CkRh dGU6IFNhdCwgMTIgU2VwIDIwMjAgMTU6MDU6MzYgLTA3MDAKU3ViamVjdDogW1BBVENIIDA3LzEx XSBOZXcgcGFja2FnZToga2d4LTAuMi4xCgotLS0KIHNyY3BrZ3Mva2d4L3RlbXBsYXRlIHwgMTQg KysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCAxNCBpbnNlcnRpb25zKCspCiBjcmVhdGUg bW9kZSAxMDA2NDQgc3JjcGtncy9rZ3gvdGVtcGxhdGUKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2tn eC90ZW1wbGF0ZSBiL3NyY3BrZ3Mva2d4L3RlbXBsYXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAwLi45OGVjNGNhZjcwZQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3Mv a2d4L3RlbXBsYXRlCkBAIC0wLDAgKzEsMTQgQEAKKyMgVGVtcGxhdGUgZmlsZSBmb3IgJ2tneCcK K3BrZ25hbWU9a2d4Cit2ZXJzaW9uPTAuMi4xCityZXZpc2lvbj0xCitidWlsZF9zdHlsZT1tZXNv bgoraG9zdG1ha2VkZXBlbmRzPSJnbGliLWRldmVsIHBrZy1jb25maWcgZ2V0dGV4dCIKK21ha2Vk ZXBlbmRzPSJ2dGUzLWRldmVsIGd0ayszLWRldmVsIGxpYmhhbmR5LWRldmVsIGxpYmd0b3AtZGV2 ZWwiCitkZXBlbmRzPSJkYnVzIGRlc2t0b3AtZmlsZS11dGlscyBnc2V0dGluZ3MtZGVza3RvcC1z Y2hlbWFzIgorc2hvcnRfZGVzYz0iTWluaW1hbCB0ZXJtaW5hbCBmb3IgR05PTUUiCittYWludGFp bmVyPSJKdWxpbyBHYWx2YW4gPGp1bGlvLXZvaWRAZXBhem90ZS5uZXQ+IgorbGljZW5zZT0iR1BM LTMuMC1vci1sYXRlciIKK2hvbWVwYWdlPSJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvWmFuZGVy QnJvd24va2d4IgorZGlzdGZpbGVzPSIke2hvbWVwYWdlfS8tL2FyY2hpdmUvJHt2ZXJzaW9ufS9r Z3gtJHt2ZXJzaW9ufS50YXIuZ3oiCitjaGVja3N1bT03MGE4MTRiMGJhZjcwMDQ5ZDVhMjA3OTFk NThhMzJlOTI2NjE0MjhkMmRlZWViNTZkOTFiODFjYzRkYzVlODFhCgpGcm9tIDc2NTVkMmFhMGQ4 MTE4OWM2ZDRlZjE5ODljMGU5ODBjYWIyYzViOTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206IEp1bGlvIEdhbHZhbiA8anVsaW8tdm9pZEBlcGF6b3RlLm5ldD4KRGF0ZTogU2F0LCAxMiBT ZXAgMjAyMCAxMDo1ODo1MCAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMDgvMTFdIE5ldyBwYWNrYWdl OiBtb2JpbGUtY29uZmlnLWZpcmVmb3gtMS4wLjEKCi0tLQogLi4uL2ZpbGVzL2Rpc3Ryb19saW5r cy5odG1sICAgICAgICAgICAgICAgICAgICAgIHwgIDUgKysrKysKIHNyY3BrZ3MvbW9iaWxlLWNv bmZpZy1maXJlZm94L3RlbXBsYXRlICAgICAgICAgICB8IDE2ICsrKysrKysrKysrKysrKysKIDIg ZmlsZXMgY2hhbmdlZCwgMjEgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3Br Z3MvbW9iaWxlLWNvbmZpZy1maXJlZm94L2ZpbGVzL2Rpc3Ryb19saW5rcy5odG1sCiBjcmVhdGUg bW9kZSAxMDA2NDQgc3JjcGtncy9tb2JpbGUtY29uZmlnLWZpcmVmb3gvdGVtcGxhdGUKCmRpZmYg LS1naXQgYS9zcmNwa2dzL21vYmlsZS1jb25maWctZmlyZWZveC9maWxlcy9kaXN0cm9fbGlua3Mu aHRtbCBiL3NyY3BrZ3MvbW9iaWxlLWNvbmZpZy1maXJlZm94L2ZpbGVzL2Rpc3Ryb19saW5rcy5o dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5jYTg5ZDBlY2QwOAot LS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvbW9iaWxlLWNvbmZpZy1maXJlZm94L2ZpbGVzL2Rp c3Ryb19saW5rcy5odG1sCkBAIC0wLDAgKzEsNSBAQAorPHAgY2xhc3M9ImRpc3Ryby1saW5rcyI+ CisJPGEgaHJlZj0iaHR0cHM6Ly92b2lkbGludXgub3JnLyI+aG9tZXBhZ2U8L2E+IC0KKwk8YSBo cmVmPSJodHRwczovL2RvY3Mudm9pZGxpbnV4Lm9yZy8iPmRvY3M8L2E+CisJPGEgaHJlZj0iaHR0 cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgiPnJlcG9zPC9hPgorPC9wPgpkaWZmIC0tZ2l0IGEv c3JjcGtncy9tb2JpbGUtY29uZmlnLWZpcmVmb3gvdGVtcGxhdGUgYi9zcmNwa2dzL21vYmlsZS1j b25maWctZmlyZWZveC90ZW1wbGF0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMC4uOGExNTMwMTE1ZTgKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL21vYmlsZS1jb25m aWctZmlyZWZveC90ZW1wbGF0ZQpAQCAtMCwwICsxLDE2IEBACisjIFRlbXBsYXRlIGZpbGUgZm9y ICdtb2JpbGUtY29uZmlnLWZpcmVmb3gnCitwa2duYW1lPW1vYmlsZS1jb25maWctZmlyZWZveAor dmVyc2lvbj0xLjAuMQorcmV2aXNpb249MQorYnVpbGRfc3R5bGU9Z251LW1ha2VmaWxlCittYWtl X2luc3RhbGxfYXJncz0iRElTVFJPPVZvaWRMaW51eCIKK3Nob3J0X2Rlc2M9IkZpcmVmb3ggdHdl YWtzIGZvciBtb2JpbGUgYW5kIHByaXZhY3kiCittYWludGFpbmVyPSJKdWxpbyBHYWx2YW4gPGp1 bGlvLXZvaWRAZXBhem90ZS5uZXQ+IgorbGljZW5zZT0iR1BMLTMuMC1vci1sYXRlciIKK2hvbWVw YWdlPSJodHRwczovL2dpdGxhYi5jb20vcG9zdG1hcmtldE9TL21vYmlsZS1jb25maWctZmlyZWZv eCIKK2Rpc3RmaWxlcz0iJHtob21lcGFnZX0vLS9hcmNoaXZlLyR7dmVyc2lvbn0vJHtwa2duYW1l fS0ke3ZlcnNpb259LnRhci5neiIKK2NoZWNrc3VtPTdkY2U4Mzc5OTU5NTZmNmYyMjQwNDE4NTNl MDA1ZWVjYjMzNjhjZDNjYmZlYzZmZTNlOGEzMTUzNzQ3ZGQwYTcKKworcG9zdF9leHRyYWN0KCkg eworCWNwICR7RklMRVNESVJ9L2Rpc3Ryb19saW5rcy5odG1sIHNyYy9ob21lcGFnZQorfQoKRnJv bSAzY2Y2ZWEwODBhYjIwYWE4Y2U3NmNiNTUzZTdmMzE5NDhmNGEwNWQxIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQpGcm9tOiBKdWxpbyBHYWx2YW4gPGp1bGlvLXZvaWRAZXBhem90ZS5uZXQ+CkRh dGU6IFNhdCwgMTIgU2VwIDIwMjAgMTQ6NDI6MjYgLTA3MDAKU3ViamVjdDogW1BBVENIIDA5LzEx XSBOZXcgcGFja2FnZTogcGhvc2gtZGVza3RvcC0wLjEKCi0tLQogLi4uL3Bob3NoLWRlc2t0b3Av ZmlsZXMvMDAwLWdzY2hlbWEub3ZlcnJpZGUgIHwgMjAgKysrKysrKysrCiBzcmNwa2dzL3Bob3No LWRlc2t0b3AvZmlsZXMvMDEtcGhvYy1zY2FsaW5nICAgfCAgNSArKysKIHNyY3BrZ3MvcGhvc2gt ZGVza3RvcC90ZW1wbGF0ZSAgICAgICAgICAgICAgICB8IDQ1ICsrKysrKysrKysrKysrKysrKysK IDMgZmlsZXMgY2hhbmdlZCwgNzAgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNy Y3BrZ3MvcGhvc2gtZGVza3RvcC9maWxlcy8wMDAtZ3NjaGVtYS5vdmVycmlkZQogY3JlYXRlIG1v ZGUgMTAwNjQ0IHNyY3BrZ3MvcGhvc2gtZGVza3RvcC9maWxlcy8wMS1waG9jLXNjYWxpbmcKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3Bob3NoLWRlc2t0b3AvdGVtcGxhdGUKCmRpZmYgLS1n aXQgYS9zcmNwa2dzL3Bob3NoLWRlc2t0b3AvZmlsZXMvMDAwLWdzY2hlbWEub3ZlcnJpZGUgYi9z cmNwa2dzL3Bob3NoLWRlc2t0b3AvZmlsZXMvMDAwLWdzY2hlbWEub3ZlcnJpZGUKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjc5ZWM1ZjZjZjZjCi0tLSAvZGV2L251bGwK KysrIGIvc3JjcGtncy9waG9zaC1kZXNrdG9wL2ZpbGVzLzAwMC1nc2NoZW1hLm92ZXJyaWRlCkBA IC0wLDAgKzEsMjAgQEAKK1tvcmcuZ25vbWUuZGVza3RvcC5iYWNrZ3JvdW5kXQorcGljdHVyZS11 cmk9J2ZpbGU6Ly8vdXNyL3NoYXJlL2JhY2tncm91bmRzL2dub21lL0xpZ2h0V2F2ZXMuanBnJwor Citbb3JnLmdub21lLmRlc2t0b3AuaW50ZXJmYWNlXQorY2xvY2stc2hvdy13ZWVrZGF5PWZhbHNl CitjbG9jay1zaG93LWRhdGU9ZmFsc2UKKworW29yZy5nbm9tZS5kZXNrdG9wLndtLnByZWZlcmVu Y2VzXQorYnV0dG9uLWxheW91dD0nYXBwbWVudTonCisKK1tvcmcuZ25vbWUuRXBpcGhhbnldCitz ZWFyY2gtZW5naW5lcz1bKCdTZWFyY2ggdGhlIFdlYicsICdodHRwczovL2R1Y2tkdWNrZ28uY29t Lz9xPSVzJnQ9ZXBpcGhhbnknLCAnJyksICgnRHVja0R1Y2tHbycsICdodHRwczovL2R1Y2tkdWNr Z28uY29tLz9xPSVzJnQ9ZXBpcGhhbnknLCAnIWRkZycpLCAoJ1F3YW50JywgJ2h0dHBzOi8vd3d3 LnF3YW50LmNvbS8/cT0lcycsICchcScpXQorCitbb3JnLmdub21lLkVwaXBoYW55LndlYl0KK3Vz ZXItYWdlbnQ9J01vemlsbGEvNS4wIChMaW51eDsgQW5kcm9pZCAxMDsgUGl4ZWwpIEFwcGxlV2Vi S2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZS84My4wLjQxMDMuOTYgTW9iaWxl IFNhZmFyaS81MzcuMzYnCisKKworW29yZy5nbm9tZS5zZXR0aW5ncy1kYWVtb24ucGx1Z2lucy5w b3dlcl0KK3NsZWVwLWluYWN0aXZlLWFjLXR5cGU9J25vdGhpbmcnCithbWJpZW50LWVuYWJsZWQ9 ZmFsc2UKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcGhvc2gtZGVza3RvcC9maWxlcy8wMS1waG9jLXNj YWxpbmcgYi9zcmNwa2dzL3Bob3NoLWRlc2t0b3AvZmlsZXMvMDEtcGhvYy1zY2FsaW5nCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi44ODBhZjI0MzlkMwotLS0gL2Rldi9u dWxsCisrKyBiL3NyY3BrZ3MvcGhvc2gtZGVza3RvcC9maWxlcy8wMS1waG9jLXNjYWxpbmcKQEAg LTAsMCArMSw1IEBACitbc20vcHVyaS9waG9jL2FwcGxpY2F0aW9uL2ZpcmVmb3hdCitzY2FsZS10 by1maXQ9ZmFsc2UKKworW3NtL3B1cmkvcGhvYy9hcHBsaWNhdGlvbi9vcmctZ25vbWUtbWFwc10K K3NjYWxlLXRvLWZpdD10cnVlCmRpZmYgLS1naXQgYS9zcmNwa2dzL3Bob3NoLWRlc2t0b3AvdGVt cGxhdGUgYi9zcmNwa2dzL3Bob3NoLWRlc2t0b3AvdGVtcGxhdGUKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAwMDAuLmIwNTJhNzk2OGI4Ci0tLSAvZGV2L251bGwKKysrIGIvc3Jj cGtncy9waG9zaC1kZXNrdG9wL3RlbXBsYXRlCkBAIC0wLDAgKzEsNDUgQEAKKyMgVGVtcGxhdGUg ZmlsZSBmb3IgJ3Bob3NoLWRlc2t0b3AnCitwa2duYW1lPXBob3NoLWRlc2t0b3AKK3ZlcnNpb249 MC4xCityZXZpc2lvbj0xCitidWlsZF9zdHlsZT1tZXRhCitkZXBlbmRzPSIKKyBwaG9zaAorIGtn eAorIGNhbGxzCisgcHVyaXNtLWNoYXR0eQorIGlpby1zZW5zb3ItcHJveHkKKyB4ZGctdXNlci1k aXJzCisgeGRnLWRlc2t0b3AtcG9ydGFsLWd0aworIGdub21lLWJhY2tncm91bmRzCisgZ25vbWUt Y29sb3ItbWFuYWdlcgorIGdub21lLWNvbnRyb2wtY2VudGVyCisgZ25vbWUtZGVza3RvcAorIGdu b21lLWtleXJpbmcKKyBnbm9tZS1vbmxpbmUtYWNjb3VudHMKKyBnbm9tZS1vbmxpbmUtbWluZXJz CisgZ25vbWUtY2FsY3VsYXRvcgorIGdub21lLWNhbGVuZGFyCisgZ25vbWUtY2xvY2tzCisgZ25v bWUtY29udGFjdHMKKyBnbm9tZS1tYXBzCisgZ25vbWUtbXVzaWMKKyBnbm9tZS1zeXN0ZW0tbW9u aXRvcgorIGdlZGl0CisgY2hlZXNlCisgZW9nCisgZXZpbmNlCisgZXBpcGhhbnkKKyBldm9sdXRp b24KKyBnc2V0dGluZ3MtZGVza3RvcC1zY2hlbWFzCisgbmF1dGlsdXMiCisKK3Nob3J0X2Rlc2M9 IlBob3NoIGRlc2t0b3AgZW52aXJvbm1lbnQgbWV0YXBhY2thZ2UiCittYWludGFpbmVyPSJKdWxp byBHYWx2YW4gPGp1bGlvLXZvaWRAZXBhem90ZS5uZXQ+IgorbGljZW5zZT0iR1BMLTMuMC1vci1s YXRlciIKK2hvbWVwYWdlPSJodHRwczovL3ZvaWRsaW51eC5vcmciCisKK3Bvc3RfaW5zdGFsbCgp IHsKKwl2aW5zdGFsbCAke0ZJTEVTRElSfS8wMDAtZ3NjaGVtYS5vdmVycmlkZSA2NDQgdXNyL3No YXJlL2dsaWItMi4wL3NjaGVtYXMgMDAwLXZvaWQuZ3NjaGVtYS5vdmVycmlkZQorCXZpbnN0YWxs ICR7RklMRVNESVJ9LzAxLXBob2Mtc2NhbGluZyA2NDQgZXRjL2Rjb25mL2RiL3ZvaWQuZAorfQoK RnJvbSBlMTJhMTM1NzM1MjMyZmMyODVlYzY3NmM2ZjkwYzIyYjNkNmEzMDlmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKdWxpbyBHYWx2YW4gPGp1bGlvLXZvaWRAZXBhem90ZS5uZXQ+ CkRhdGU6IFNhdCwgMTIgU2VwIDIwMjAgMjI6MTc6NTggLTA3MDAKU3ViamVjdDogW1BBVENIIDEw LzExXSBOZXcgcGFja2FnZTogYXRpbm91dC0wLjkuMQoKLS0tCiAuLi4taGFwcHktYnktYWRkaW5n LWZhbGx0aHJvdWdoLWNvbW1lbnQucGF0Y2ggfCAyNSArKysrKysKIC4uLjAyLWRvLW5vdC1yZWx5 LW9uLUNSLWluLW1vZGVtLW91dHB1dC5wYXRjaCB8IDg0ICsrKysrKysrKysrKysrKysrKysKIHNy Y3BrZ3MvYXRpbm91dC9wYXRjaGVzLzAwMDMtdmVyc2lvbi5wYXRjaCAgICB8IDExICsrKwogc3Jj cGtncy9hdGlub3V0L3RlbXBsYXRlICAgICAgICAgICAgICAgICAgICAgIHwgMTEgKysrCiA0IGZp bGVzIGNoYW5nZWQsIDEzMSBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtn cy9hdGlub3V0L3BhdGNoZXMvMDAwMS1tYWtlLWdjYy1oYXBweS1ieS1hZGRpbmctZmFsbHRocm91 Z2gtY29tbWVudC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvYXRpbm91dC9wYXRj aGVzLzAwMDItZG8tbm90LXJlbHktb24tQ1ItaW4tbW9kZW0tb3V0cHV0LnBhdGNoCiBjcmVhdGUg bW9kZSAxMDA2NDQgc3JjcGtncy9hdGlub3V0L3BhdGNoZXMvMDAwMy12ZXJzaW9uLnBhdGNoCiBj cmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9hdGlub3V0L3RlbXBsYXRlCgpkaWZmIC0tZ2l0IGEv c3JjcGtncy9hdGlub3V0L3BhdGNoZXMvMDAwMS1tYWtlLWdjYy1oYXBweS1ieS1hZGRpbmctZmFs bHRocm91Z2gtY29tbWVudC5wYXRjaCBiL3NyY3BrZ3MvYXRpbm91dC9wYXRjaGVzLzAwMDEtbWFr ZS1nY2MtaGFwcHktYnktYWRkaW5nLWZhbGx0aHJvdWdoLWNvbW1lbnQucGF0Y2gKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmMwZWJiYjY1NjFkCi0tLSAvZGV2L251bGwK KysrIGIvc3JjcGtncy9hdGlub3V0L3BhdGNoZXMvMDAwMS1tYWtlLWdjYy1oYXBweS1ieS1hZGRp bmctZmFsbHRocm91Z2gtY29tbWVudC5wYXRjaApAQCAtMCwwICsxLDI1IEBACitGcm9tIGNhMmUw NGY4YjA2OWQyNjkxNzJmMGQ1NWQzNzE2YTgwOTUzN2Y2OTYgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCitGcm9tOiBCZXJhbHQgTWVwcGVsaW5rIDxiLm1lcHBlbGlua0ByaXdvLmV1PgorRGF0ZTog RnJpLCAyNyBPY3QgMjAxNyAwOToxMjoxOCArMDIwMAorU3ViamVjdDogW1BBVENIIDEvMl0gbWFr ZSBnY2MgaGFwcHkgYnkgYWRkaW5nIGZhbGx0aHJvdWdoIGNvbW1lbnQKKworLS0tCisgYXRpbm91 dC5jIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigt KQorCitkaWZmIC0tZ2l0IGEvYXRpbm91dC5jIGIvYXRpbm91dC5jCitpbmRleCBkMDRmMzAwLi45 MjRiNWJjIDEwMDY0NAorLS0tIGF0aW5vdXQuYworKysrIGF0aW5vdXQuYworQEAgLTE1MCw3ICsx NTAsNyBAQCBzdGF0aWMgYm9vbCBpc19maW5hbF9yZXN1bHQoY29uc3QgY2hhciAqIGNvbnN0IHJl c3BvbnNlKQorIAkJaWYgKHN0cmNtcCgmcmVzcG9uc2VbMV0sICJLXHJcbiIpID09IDApIHsKKyAJ CQlyZXR1cm4gdHJ1ZTsKKyAJCX0KKy0JCS8qIG5vIGJyZWFrICovCisrCQkvLyBmYWxsdGhyb3Vn aAorIAlkZWZhdWx0OgorIAkJcmV0dXJuIGZhbHNlOworIAl9CistLSAKKzIuMjMuMAorCmRpZmYg LS1naXQgYS9zcmNwa2dzL2F0aW5vdXQvcGF0Y2hlcy8wMDAyLWRvLW5vdC1yZWx5LW9uLUNSLWlu LW1vZGVtLW91dHB1dC5wYXRjaCBiL3NyY3BrZ3MvYXRpbm91dC9wYXRjaGVzLzAwMDItZG8tbm90 LXJlbHktb24tQ1ItaW4tbW9kZW0tb3V0cHV0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAwLi5mOTY3MWQwODljMwotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3Mv YXRpbm91dC9wYXRjaGVzLzAwMDItZG8tbm90LXJlbHktb24tQ1ItaW4tbW9kZW0tb3V0cHV0LnBh dGNoCkBAIC0wLDAgKzEsODQgQEAKK0Zyb20gNjVkYWU0NjE4MTExOTg2N2NkOGU5M2NhNWIzM2Qz YjBjZjNkZjA4YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEJlcmFsdCBNZXBwZWxp bmsgPGIubWVwcGVsaW5rQHJpd28uZXU+CitEYXRlOiBGcmksIDI3IE9jdCAyMDE3IDEwOjQyOjUw ICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggMi8yXSBkbyBub3QgcmVseSBvbiBDUiBpbiBtb2RlbSBv dXRwdXQKKworLS0tCisgYXRpbm91dC5jIHwgMjQgKysrKysrKysrKystLS0tLS0tLS0tLS0tCisg MSBmaWxlIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKyksIDEzIGRlbGV0aW9ucygtKQorCitkaWZm IC0tZ2l0IGEvYXRpbm91dC5jIGIvYXRpbm91dC5jCitpbmRleCA5MjRiNWJjLi40Y2Q3Njg5IDEw MDY0NAorLS0tIGF0aW5vdXQuYworKysrIGF0aW5vdXQuYworQEAgLTM0LDcgKzM0LDYgQEAKKyAK KyAjZGVmaW5lIE1BWF9MSU5FX0xFTkdUSCAoNCAqIDEwMjQpCisgc3RhdGljIGNoYXIgYnVmW01B WF9MSU5FX0xFTkdUSF07Cistc3RhdGljIGNoYXIgYnVmMltNQVhfTElORV9MRU5HVEhdOworIAor IHN0YXRpYyBzdHJ1Y3Qgb3B0aW9uIGxvbmdfb3B0aW9uc1tdID0geworIAl7ImhlbHAiLCBub19h cmd1bWVudCwgTlVMTCwgJ2gnfSwKK0BAIC0xMjUsMzYgKzEyNCwzNiBAQCBzdGF0aWMgYm9vbCBp c19maW5hbF9yZXN1bHQoY29uc3QgY2hhciAqIGNvbnN0IHJlc3BvbnNlKQorIAkJfQorIAkJcmV0 dXJuIGZhbHNlOworIAljYXNlICdCJzoKKy0JCWlmIChzdHJjbXAoJnJlc3BvbnNlWzFdLCAiVVNZ XHJcbiIpID09IDApIHsKKysJCWlmIChzdHJjbXAoJnJlc3BvbnNlWzFdLCAiVVNZXG4iKSA9PSAw KSB7CisgCQkJcmV0dXJuIHRydWU7CistCQl9CisrICAgICAgICAgICAgICAgIH0KKysJCQorIAkJ cmV0dXJuIGZhbHNlOworIAorIAljYXNlICdFJzoKKy0JCWlmIChzdHJjbXAoJnJlc3BvbnNlWzFd LCAiUlJPUlxyXG4iKSA9PSAwKSB7CisrCQlpZiAoc3RyY21wKCZyZXNwb25zZVsxXSwgIlJST1Jc biIpID09IDApIHsKKyAJCQlyZXR1cm4gdHJ1ZTsKKyAJCX0KKyAJCXJldHVybiBmYWxzZTsKKyAJ Y2FzZSAnTic6CistCQlpZiAoc3RyY21wKCZyZXNwb25zZVsxXSwgIk8gQU5TV0VSXHJcbiIpID09 IDApIHsKKysJCWlmIChzdHJjbXAoJnJlc3BvbnNlWzFdLCAiTyBBTlNXRVJcbiIpID09IDApIHsK KyAJCQlyZXR1cm4gdHJ1ZTsKKyAJCX0KKy0JCWlmIChzdHJjbXAoJnJlc3BvbnNlWzFdLCAiTyBD QVJSSUVSXHJcbiIpID09IDApIHsKKysJCWlmIChzdHJjbXAoJnJlc3BvbnNlWzFdLCAiTyBDQVJS SUVSXG4iKSA9PSAwKSB7CisgCQkJcmV0dXJuIHRydWU7CisgCQl9CistCQlpZiAoc3RyY21wKCZy ZXNwb25zZVsxXSwgIk8gRElBTFRPTkVcclxuIikgPT0gMCkgeworKwkJaWYgKHN0cmNtcCgmcmVz cG9uc2VbMV0sICJPIERJQUxUT05FXG4iKSA9PSAwKSB7CisgCQkJcmV0dXJuIHRydWU7CisgCQl9 CisgCQlyZXR1cm4gZmFsc2U7CisgCWNhc2UgJ08nOgorLQkJaWYgKHN0cmNtcCgmcmVzcG9uc2Vb MV0sICJLXHJcbiIpID09IDApIHsKKysJCWlmIChzdHJjbXAoJnJlc3BvbnNlWzFdLCAiS1xuIikg PT0gMCkgeworIAkJCXJldHVybiB0cnVlOworIAkJfQorIAkJLy8gZmFsbHRocm91Z2gKKyAJZGVm YXVsdDoKKyAJCXJldHVybiBmYWxzZTsKKyAJfQorLQorIH0KKyAKKyBpbnQgbWFpbihpbnQgYXJn YywgY2hhciAqYXJndltdKQorQEAgLTI0OCwxMSArMjQ3LDEwIEBAIGludCBtYWluKGludCBhcmdj LCBjaGFyICphcmd2W10pCisgCQkJCWZwcmludGYoc3RkZXJyLCAiRU9GIGZyb20gbW9kZW1cbiIp OworIAkJCQlyZXR1cm4gRVhJVF9GQUlMVVJFOworIAkJCX0KKy0JCQlzdHJjcHkoYnVmMiwgbGlu ZSk7CistCQkJc3RyaXBfY3IoYnVmMik7CistCQkJcmVzID0gZnB1dHMoYnVmMiwgb3V0cHV0KTsK KysJCQlzdHJpcF9jcihsaW5lKTsKKysJCQlyZXMgPSBmcHV0cyhsaW5lLCBvdXRwdXQpOworIAkJ CWlmIChyZXMgPCAwKSB7CistCQkJCWZwcmludGYoc3RkZXJyLCAiZmFpbGVkIHRvIHdyaXRlICcl cycgdG8gb3V0cHV0IGZpbGUgKHJlcyA9ICVkKVxuIiwgYnVmMiwgcmVzKTsKKysJCQkJZnByaW50 ZihzdGRlcnIsICJmYWlsZWQgdG8gd3JpdGUgJyVzJyB0byBvdXRwdXQgZmlsZSAocmVzID0gJWQp XG4iLCBsaW5lLCByZXMpOworIAkJCQlyZXR1cm4gRVhJVF9GQUlMVVJFOworIAkJCX0KKyAJCX0g d2hpbGUgKCEgaXNfZmluYWxfcmVzdWx0KGxpbmUpKTsKKy0tIAorMi4yMy4wCisKZGlmZiAtLWdp dCBhL3NyY3BrZ3MvYXRpbm91dC9wYXRjaGVzLzAwMDMtdmVyc2lvbi5wYXRjaCBiL3NyY3BrZ3Mv YXRpbm91dC9wYXRjaGVzLzAwMDMtdmVyc2lvbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMDAwMC4uMThkOTJkZTA2MzAKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dz L2F0aW5vdXQvcGF0Y2hlcy8wMDAzLXZlcnNpb24ucGF0Y2gKQEAgLTAsMCArMSwxMSBAQAorLS0t IGF0aW5vdXQuYwkyMDIwLTA5LTEyIDE2OjMxOjQzLjA0OTA5MzA1NSAtMDcwMAorKysrIGF0aW5v dXQuYwkyMDIwLTA5LTEyIDE2OjMzOjM0LjI2OTA4MTY4NiAtMDcwMAorQEAgLTE3MCw3ICsxNjks NyBAQAorIAkJCWhlbHAoYXJndlswXSk7CisgCQkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKyAJCWNh c2UgJ1YnOgorLQkJCXByaW50ZigiYXRpbm91dCB2ZXJzaW9uICIgVkVSU0lPTiAiXG4iKTsKKysJ CQlwcmludGYoImF0aW5vdXQgdmVyc2lvbiAwLjkuMVxuIik7CisgCQkJaWYgKGFyZ2MgPT0gMikg eworIAkJCQlwcmludGYoIkNvcHlyaWdodCAoQykgMjAxMyBIw6Vrb24gTMO4dmRhbCA8aGxvdmRh bEB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+XG4iCisgCQkJCSAgICAgICAiVGhpcyBwcm9ncmFtIGNv bWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWS5cbiIKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv YXRpbm91dC90ZW1wbGF0ZSBiL3NyY3BrZ3MvYXRpbm91dC90ZW1wbGF0ZQpuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZGIyYzJmZmQyMjMKLS0tIC9kZXYvbnVsbAorKysg Yi9zcmNwa2dzL2F0aW5vdXQvdGVtcGxhdGUKQEAgLTAsMCArMSwxMSBAQAorIyBUZW1wbGF0ZSBm aWxlIGZvciAnYXRpbm91dCcKK3BrZ25hbWU9YXRpbm91dAordmVyc2lvbj0wLjkuMQorcmV2aXNp b249MQorYnVpbGRfc3R5bGU9Z251LW1ha2VmaWxlCitzaG9ydF9kZXNjPSJBVCBjb21tYW5kcyBh cyBpbnB1dCBhcmUgc2VudCB0byBtb2RlbSBhbmQgcmVzcG9uc2VzIGdpdmVuIGFzIG91dHB1dCIK K21haW50YWluZXI9Ikp1bGlvIEdhbHZhbiA8anVsaW8tdm9pZEBlcGF6b3RlLm5ldD4iCitsaWNl bnNlPSJHUEwtMy4wLW9yLWxhdGVyIgoraG9tZXBhZ2U9Imh0dHA6Ly9hdGlub3V0LnNvdXJjZWZv cmdlLm5ldC9pbmRleC5odG1sIgorZGlzdGZpbGVzPSJodHRwczovL25ldGNvbG9nbmUuZGwuc291 cmNlZm9yZ2UubmV0L3Byb2plY3QvYXRpbm91dC92JHt2ZXJzaW9ufS9hdGlub3V0LSR7dmVyc2lv bn0udGFyLmd6IgorY2hlY2tzdW09NGQxNWM4Mjg4YWNhNDE0ZTExY2QzMDQ2ODZiMTcyNjk2MTA0 YzVlNDJiZjc3NjMwMDMxMWMwMDU2MzQ4NTRhMgoKRnJvbSA1MTMzMzFkOTM2MjRkNzA2ZDFkZWMx ZmJmZjRlMmQzYWU1MzA4MmYyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKdWxpbyBH YWx2YW4gPGp1bGlvLXZvaWRAZXBhem90ZS5uZXQ+CkRhdGU6IFNhdCwgMTIgU2VwIDIwMjAgMjI6 MTg6NDYgLTA3MDAKU3ViamVjdDogW1BBVENIIDExLzExXSBOZXcgcGFja2FnZTogcGluZXBob25l LXd5cy0wLjEuOAoKLS0tCiBzcmNwa2dzL3BpbmVwaG9uZS13eXMvZmlsZXMvd3lzLmRlc2t0b3Ag ICAgICAgfCAgIDkgKwogLi4uLWRhZW1vbi10by1vbmx5LXN3aXRjaC1jYXJkLXByb2ZpbGVzLnBh dGNoIHwgOTA2ICsrKysrKysrKysrKysrKysrKwogc3JjcGtncy9waW5lcGhvbmUtd3lzL3RlbXBs YXRlICAgICAgICAgICAgICAgIHwgIDE5ICsKIDMgZmlsZXMgY2hhbmdlZCwgOTM0IGluc2VydGlv bnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3BpbmVwaG9uZS13eXMvZmlsZXMvd3lz LmRlc2t0b3AKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3BpbmVwaG9uZS13eXMvcGF0Y2hl cy8wMDAxLVNpbXBsaWZ5LWRhZW1vbi10by1vbmx5LXN3aXRjaC1jYXJkLXByb2ZpbGVzLnBhdGNo CiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9waW5lcGhvbmUtd3lzL3RlbXBsYXRlCgpkaWZm IC0tZ2l0IGEvc3JjcGtncy9waW5lcGhvbmUtd3lzL2ZpbGVzL3d5cy5kZXNrdG9wIGIvc3JjcGtn cy9waW5lcGhvbmUtd3lzL2ZpbGVzL3d5cy5kZXNrdG9wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAwLi5hNmE5ZjY4OTRhOQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3Mv cGluZXBob25lLXd5cy9maWxlcy93eXMuZGVza3RvcApAQCAtMCwwICsxLDkgQEAKK1tEZXNrdG9w IEVudHJ5XQorTmFtZT1XeXMKK0NvbW1lbnQ9RGFlbW9uIGZvciBtYW5hZ2luZyBQdWxzZUF1ZGlv IGZvciBwaG9uZSBjYWxsIGF1ZGlvCitFeGVjPS91c3IvYmluL3d5cworTm9EaXNwbGF5PXRydWUK K1Rlcm1pbmFsPWZhbHNlCitUeXBlPUFwcGxpY2F0aW9uCitTdGFydHVwTm90aWZ5PXRydWUKK1gt R05PTUUtQXV0b1Jlc3RhcnQ9dHJ1ZQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9waW5lcGhvbmUtd3lz L3BhdGNoZXMvMDAwMS1TaW1wbGlmeS1kYWVtb24tdG8tb25seS1zd2l0Y2gtY2FyZC1wcm9maWxl cy5wYXRjaCBiL3NyY3BrZ3MvcGluZXBob25lLXd5cy9wYXRjaGVzLzAwMDEtU2ltcGxpZnktZGFl bW9uLXRvLW9ubHktc3dpdGNoLWNhcmQtcHJvZmlsZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAwMDAuLjkxMjU3ZjJjYmJhCi0tLSAvZGV2L251bGwKKysrIGIvc3Jj cGtncy9waW5lcGhvbmUtd3lzL3BhdGNoZXMvMDAwMS1TaW1wbGlmeS1kYWVtb24tdG8tb25seS1z d2l0Y2gtY2FyZC1wcm9maWxlcy5wYXRjaApAQCAtMCwwICsxLDkwNiBAQAorRnJvbSBmNjY2MTBk MjYzOTVkZTE1ZTM5MjhjZjQyODQ1NzNjYTljZmFiZjI2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQorRnJvbTogQXJuYXVkIEZlcnJhcmlzIDxhcm5hdWQuZmVycmFyaXNAY29sbGFib3JhLmNvbT4K K0RhdGU6IEZyaSwgNiBNYXIgMjAyMCAwMjowMTo1MiArMDEwMAorU3ViamVjdDogW1BBVENIXSBT aW1wbGlmeSBkYWVtb24gdG8gb25seSBzd2l0Y2ggY2FyZCBwcm9maWxlcworCitBcyBhIFBvQyBm b3IgdGhlIFBpbmVQaG9uZSwgd2Ugd2FudCB0byBvbmx5IHN3aXRjaCBjYXJkIHByb2ZpbGVzOgor LSB3aGVuIGEgY2FsbCBzdGFydHMsIHVzZSB0aGUgIlZvaWNlIENhbGwiIHByb2ZpbGU6IGF1ZGlv IGlzIG91dHB1dCBvbgordGhlIGVhcnBpZWNlLCBhbmQgdGhlIGludGVybmFsIG1pY3JvcGhvbmUg aXMgdW5tdXRlZAorLSB3aGVuIGEgY2FsbCBpcyB0ZXJtaW5hdGVkLCBzd2l0Y2ggYmFjayB0byB0 aGUgZGVmYXVsdCAiSGlGaSIgcHJvZmlsZSwKK3VzaW5nIHRoZSBtYWluIHNwZWFrZXIKKworVGhp cyBzaG91bGQgZnVsbHkgY292ZXIgdGhlIG1vc3QgYmFzaWMgdXNlLWNhc2UuIEhlYWRzZXQgd2ls bCBub3Qgd29yaywKK2FuZCB0aGVyZSBpcyBhbHNvIG5vIHN1cHBvcnQgZm9yIGEgInNpbGVudCBt b2RlIiwgYnV0IHRoaXMgaXMgZW5vdWdoIHRvCitkZW1vbnN0cmF0ZSB2b2ljZSBjYWxscyBmb3Ig dGhlIFBpbmVQaG9uZS4KKy0tLQorZGlmZiAtLWdpdCBtZXNvbi5idWlsZCBtZXNvbi5idWlsZAor aW5kZXggNTkzOGNlYy4uNzUxNjIwOCAxMDA2NDQKKy0tLSBtZXNvbi5idWlsZAorKysrIG1lc29u LmJ1aWxkCitAQCAtMzMsMTEgKzMzLDYgQEAgcHJvamVjdCAoCisgICAgIF0sCisgKQorIAorLQor LWxpYm1jaGtfcHJvaiA9IHN1YnByb2plY3QoJ2xpYm1hY2hpbmUtY2hlY2snKQorLWxpYm1jaGtf ZGVwID0gbGlibWNoa19wcm9qLmdldF92YXJpYWJsZSgnbGlibWFjaGluZV9jaGVja19kZXAnKQor LQorLQorIGFwcF9uYW1lID0gbWVzb24ucHJvamVjdF9uYW1lKCkKKyAKKyBwcmVmaXggPSBnZXRf b3B0aW9uKCdwcmVmaXgnKQorQEAgLTYzLDE0ICs1OCwzIEBAIGNvbmZpZ19kYXRhLnNldF9xdW90 ZWQoJ0RBVEFESVInLCBmdWxsX2RhdGFkaXIpCisgY29uZmlnX2RhdGEuc2V0X3F1b3RlZCgnU1lT Q09ORkRJUicsIGZ1bGxfc3lzY29uZmRpcikKKyAKKyBzdWJkaXIoJ3NyYycpCistCistaW5zdGFs bF9zdWJkaXIgKAorLSAgJ21hY2hpbmUtY29uZicsCistICBpbnN0YWxsX2RpciA6IGpvaW5fcGF0 aHMoZGF0YWRpciwgYXBwX25hbWUpCistKQorLQorLWluc3RhbGxfc3ViZGlyICgKKy0gICdtYWNo aW5lLWNoZWNrJywKKy0gIGluc3RhbGxfZGlyIDogam9pbl9wYXRocyhkYXRhZGlyLCAnbWFjaGlu ZS1jaGVjaycsIGFwcF9uYW1lKSwKKy0gIHN0cmlwX2RpcmVjdG9yeSA6IHRydWUKKy0pCitkaWZm IC0tZ2l0IHNyYy9tYWluLmMgc3JjL21haW4uYworaW5kZXggNTg3YTVmMy4uNDYzMWEzMyAxMDA2 NDQKKy0tLSBzcmMvbWFpbi5jCisrKysgc3JjL21haW4uYworQEAgLTIzLDEwICsyMyw4IEBACisg ICovCisgCisgI2luY2x1ZGUgInd5cy1tb2RlbS5oIgorLSNpbmNsdWRlICJ3eXMtYXVkaW8uaCIK KyAjaW5jbHVkZSAidXRpbC5oIgorICNpbmNsdWRlICJjb25maWcuaCIKKy0jaW5jbHVkZSAibWNo ay1tYWNoaW5lLWNoZWNrLmgiCisgCisgI2luY2x1ZGUgPGxpYm1tLWdsaWIuaD4KKyAjaW5jbHVk ZSA8Z2xpYi5oPgorQEAgLTUwLDggKzQ4LDYgQEAgc3RhdGljIEdNYWluTG9vcCAqbWFpbl9sb29w ID0gTlVMTDsKKyAKKyBzdHJ1Y3Qgd3lzX2RhdGEKKyB7CistICAvKiogUHVsc2VBdWRpbyBpbnRl cmZhY2UgKi8KKy0gIFd5c0F1ZGlvICphdWRpbzsKKyAgIC8qKiBJRCBmb3IgdGhlIEQtQnVzIHdh dGNoICovCisgICBndWludCB3YXRjaF9pZDsKKyAgIC8qKiBNb2RlbU1hbmFnZXIgb2JqZWN0IHBy b3h5ICovCitAQCAtNTksNTEgKzU1LDExMiBAQCBzdHJ1Y3Qgd3lzX2RhdGEKKyAgIC8qKiBNYXAg b2YgRC1CdXMgb2JqZWN0IHBhdGhzIHRvIFd5c01vZGVtcyAqLworICAgR0hhc2hUYWJsZSAqbW9k ZW1zOworICAgLyoqIEhvdyBtYW55IG1vZGVtcyBoYXZlIGF1ZGlvLCBpbiBlYWNoIGRpcmVjdGlv biAqLworLSAgZ3VpbnQgYXVkaW9fY291bnRbMl07CisrICBndWludCBhdWRpb19jb3VudDsKKyB9 OworIAorK3N0YXRpYyBnYm9vbGVhbgorK3VnbHlfc3lzdGVtIChjb25zdCBnY2hhciAqY21kKQor K3sKKysgIGdjaGFyICpvdXQgPSBOVUxMLCAqZXJyID0gTlVMTDsKKysgIGdpbnQgc3RhdHVzOwor KyAgR0Vycm9yICplcnJvciA9IE5VTEw7CisrICBnYm9vbGVhbiBvazsKKysKKysgIGdfZGVidWcg KCJFeGVjdXRpbmcgY29tbWFuZCBgJXMnIiwgY21kKTsKKysKKysgIG9rID0gZ19zcGF3bl9jb21t YW5kX2xpbmVfc3luYworKyAgICAoY21kLCAmb3V0LCAmZXJyLCAmc3RhdHVzLCAmZXJyb3IpOwor KworKyAgaWYgKCFvaykKKysgICAgeworKyAgICAgIGdfd2FybmluZyAoIkVycm9yIHNwYXduaW5n IGNvbW1hbmQgYCVzJzogJXMnIiwKKysgICAgICAgICAgICAgICAgIGNtZCwgZXJyb3ItPm1lc3Nh Z2UpOworKyAgICAgIGdfZXJyb3JfZnJlZSAoZXJyb3IpOworKyAgICAgIHJldHVybiBGQUxTRTsK KysgICAgfQorKworKyAgb2sgPSBnX3NwYXduX2NoZWNrX2V4aXRfc3RhdHVzIChzdGF0dXMsICZl cnJvcik7CisrICBpZiAob2spCisrICAgIHsKKysgICAgICBnX2RlYnVnICgiQ29tbWFuZCBgJXMn IGV4ZWN1dGVkIHN1Y2Nlc3NmdWxseSIKKysgICAgICAgICAgICAgICAiOyBzdGRvdXQ6IGAlcyc7 IHN0ZGVycjogYCVzJyIsCisrICAgICAgICAgICAgICAgY21kLCBvdXQsIGVycik7CisrICAgIH0K KysgIGVsc2UKKysgICAgeworKyAgICAgIGdfd2FybmluZyAoIkNvbW1hbmQgYCVzJyBmYWlsZWQ6 ICVzIgorKyAgICAgICAgICAgICAgICAgIjsgc3Rkb3V0OiBgJXMnOyBzdGRlcnI6IGAlcyciLAor KyAgICAgICAgICAgICAgICAgY21kLCBlcnJvci0+bWVzc2FnZSwgb3V0LCBlcnIpOworKyAgICAg IGdfZXJyb3JfZnJlZSAoZXJyb3IpOworKyAgICB9CisrCisrICBnX2ZyZWUgKG91dCk7CisrICBn X2ZyZWUgKGVycik7CisrCisrICByZXR1cm4gb2s7CisrfQorKworKyNkZWZpbmUgVUdMWV9DQVJE ICJhbHNhX2NhcmQucGxhdGZvcm0tc291bmQiCisrCisrc3RhdGljIGdib29sZWFuCisrdWdseV9z ZXRfY2FyZF9wcm9maWxlIChjb25zdCBnY2hhciAqY2FyZCwKKysgICAgICAgICAgICAgICAgICAg ICAgIGNvbnN0IGdjaGFyICpwcm9maWxlKQorK3sKKysgIGdfYXV0b2ZyZWUgZ2NoYXIgKmNtZCA9 IE5VTEw7CisrCisrICBjbWQgPSBnX3N0cmR1cF9wcmludGYgKCJwYWN0bCBzZXQtY2FyZC1wcm9m aWxlICclcycgJyVzJyIsIGNhcmQsIHByb2ZpbGUpOworKworKyAgcmV0dXJuIHVnbHlfc3lzdGVt IChjbWQpOworK30KKysKKytzdGF0aWMgZ2Jvb2xlYW4KKyt1Z2x5X3NldF92b2ljZV9jYWxsICh2 b2lkKQorK3sKKysgIHJldHVybiB1Z2x5X3NldF9jYXJkX3Byb2ZpbGUgKFVHTFlfQ0FSRCwgIlZv aWNlIENhbGwiKTsKKyt9CisrCisrc3RhdGljIGdib29sZWFuCisrdWdseV9zZXRfaGlmaSAodm9p ZCkKKyt7CisrICByZXR1cm4gdWdseV9zZXRfY2FyZF9wcm9maWxlIChVR0xZX0NBUkQsICJIaUZp Iik7CisrfQorIAorIHN0YXRpYyB2b2lkCisgdXBkYXRlX2F1ZGlvX2NvdW50IChzdHJ1Y3Qgd3lz X2RhdGEgKmRhdGEsCistICAgICAgICAgICAgICAgICAgICBXeXNEaXJlY3Rpb24gICAgIGRpcmVj dGlvbiwKKyAgICAgICAgICAgICAgICAgICAgIGdpbnQgICAgICAgICAgICAgZGVsdGEpCisgewor LSAgY29uc3QgZ3VpbnQgb2xkX2NvdW50ID0gZGF0YS0+YXVkaW9fY291bnRbZGlyZWN0aW9uXTsK KysgIGNvbnN0IGd1aW50IG9sZF9jb3VudCA9IGRhdGEtPmF1ZGlvX2NvdW50OworIAorLSAgZ19h c3NlcnQgKGRlbHRhID49IDAgfHwgZGF0YS0+YXVkaW9fY291bnRbZGlyZWN0aW9uXSA+IDApOwor KyAgZ19hc3NlcnQgKGRlbHRhID49IDAgfHwgZGF0YS0+YXVkaW9fY291bnQgPiAwKTsKKyAKKy0g IGRhdGEtPmF1ZGlvX2NvdW50W2RpcmVjdGlvbl0gKz0gZGVsdGE7CisrICBkYXRhLT5hdWRpb19j b3VudCArPSBkZWx0YTsKKyAKKy0gIGlmIChkYXRhLT5hdWRpb19jb3VudFtkaXJlY3Rpb25dID4g MCAmJiBvbGRfY291bnQgPT0gMCkKKysgIGlmIChkYXRhLT5hdWRpb19jb3VudCA+IDAgJiYgb2xk X2NvdW50ID09IDApCisgICAgIHsKKy0gICAgICBnX2RlYnVnICgiQXVkaW8gJXMgbm93IHByZXNl bnQiLAorLSAgICAgICAgICAgICAgIHd5c19kaXJlY3Rpb25fZ2V0X2Rlc2NyaXB0aW9uIChkaXJl Y3Rpb24pKTsKKy0gICAgICB3eXNfYXVkaW9fZW5zdXJlX2xvb3BiYWNrIChkYXRhLT5hdWRpbywg ZGlyZWN0aW9uKTsKKysgICAgICBnX21lc3NhZ2UgKCJBdWRpbyBub3cgcHJlc2VudCIpOworKyAg ICAgIHVnbHlfc2V0X3ZvaWNlX2NhbGwgKCk7CisgICAgIH0KKy0gIGVsc2UgaWYgKGRhdGEtPmF1 ZGlvX2NvdW50W2RpcmVjdGlvbl0gPT0gMCAmJiBvbGRfY291bnQgPiAwKQorKyAgZWxzZSBpZiAo ZGF0YS0+YXVkaW9fY291bnQgPT0gMCAmJiBvbGRfY291bnQgPiAwKQorICAgICB7CistICAgICAg Z19kZWJ1ZyAoIkF1ZGlvICVzIG5vdyBhYnNlbnQiLAorLSAgICAgICAgICAgICAgIHd5c19kaXJl Y3Rpb25fZ2V0X2Rlc2NyaXB0aW9uIChkaXJlY3Rpb24pKTsKKy0gICAgICB3eXNfYXVkaW9fZW5z dXJlX25vX2xvb3BiYWNrIChkYXRhLT5hdWRpbywgZGlyZWN0aW9uKTsKKysgICAgICBnX21lc3Nh Z2UgKCJBdWRpbyBub3cgYWJzZW50Iik7CisrICAgICAgdWdseV9zZXRfaGlmaSAoKTsKKyAgICAg fQorIH0KKyAKKyAKKyBzdGF0aWMgdm9pZAorIGF1ZGlvX3ByZXNlbnRfY2IgKHN0cnVjdCB3eXNf ZGF0YSAqZGF0YSwKKy0gICAgICAgICAgICAgICAgICBXeXNEaXJlY3Rpb24gICAgIGRpcmVjdGlv biwKKyAgICAgICAgICAgICAgICAgICBXeXNNb2RlbSAgICAgICAgKm1vZGVtKQorIHsKKy0gIHVw ZGF0ZV9hdWRpb19jb3VudCAoZGF0YSwgZGlyZWN0aW9uLCArMSk7CisrICB1cGRhdGVfYXVkaW9f Y291bnQgKGRhdGEsICsxKTsKKyB9CisgCisgCisgc3RhdGljIHZvaWQKKyBhdWRpb19hYnNlbnRf Y2IgKHN0cnVjdCB3eXNfZGF0YSAqZGF0YSwKKy0gICAgICAgICAgICAgICAgIFd5c0RpcmVjdGlv biAgICAgZGlyZWN0aW9uLAorICAgICAgICAgICAgICAgICAgV3lzTW9kZW0gICAgICAgICptb2Rl bSkKKyB7CistICB1cGRhdGVfYXVkaW9fY291bnQgKGRhdGEsIGRpcmVjdGlvbiwgLTEpOworKyAg dXBkYXRlX2F1ZGlvX2NvdW50IChkYXRhLCAtMSk7CisgfQorIAorIAorQEAgLTEyMyw3ICsxODAs NyBAQCBhZGRfbW9kZW0gKHN0cnVjdCB3eXNfZGF0YSAqZGF0YSwKKyAgICAgICByZXR1cm47Cisg ICAgIH0KKyAKKy0gIGdfZGVidWcgKCJBZGRpbmcgbmV3IHZvaWNlLWNhcGFibGUgbW9kZW0gYCVz JyIsIHBhdGgpOworKyAgZ19tZXNzYWdlICgiQWRkaW5nIG5ldyB2b2ljZS1jYXBhYmxlIG1vZGVt IGAlcyciLCBwYXRoKTsKKyAKKyAgIGdfYXNzZXJ0IChNTV9JU19PQkpFQ1QgKG9iamVjdCkpOwor ICAgdm9pY2UgPSBtbV9vYmplY3RfZ2V0X21vZGVtX3ZvaWNlIChNTV9PQkpFQ1QgKG9iamVjdCkp OworQEAgLTE1Myw3ICsyMTAsNyBAQCBpbnRlcmZhY2VfYWRkZWRfY2IgKHN0cnVjdCB3eXNfZGF0 YSAqZGF0YSwKKyAKKyAgIGluZm8gPSBnX2RidXNfaW50ZXJmYWNlX2dldF9pbmZvIChpbnRlcmZh Y2UpOworIAorLSAgZ19kZWJ1ZyAoIk1vZGVtTWFuYWdlciBpbnRlcmZhY2UgYCVzJyBmb3VuZCBv biBvYmplY3QgYCVzJyIsCisrICBnX21lc3NhZ2UgKCJNb2RlbU1hbmFnZXIgaW50ZXJmYWNlIGAl cycgZm91bmQgb24gb2JqZWN0IGAlcyciLAorICAgICAgICAgICAgaW5mby0+bmFtZSwKKyAgICAg ICAgICAgIGdfZGJ1c19vYmplY3RfZ2V0X29iamVjdF9wYXRoIChvYmplY3QpKTsKKyAKK0BAIC0x ODQsNyArMjQxLDcgQEAgaW50ZXJmYWNlX3JlbW92ZWRfY2IgKHN0cnVjdCB3eXNfZGF0YSAqZGF0 YSwKKyAgIHBhdGggPSBnX2RidXNfb2JqZWN0X2dldF9vYmplY3RfcGF0aCAob2JqZWN0KTsKKyAg IGluZm8gPSBnX2RidXNfaW50ZXJmYWNlX2dldF9pbmZvIChpbnRlcmZhY2UpOworIAorLSAgZ19k ZWJ1ZyAoIk1vZGVtTWFuYWdlciBpbnRlcmZhY2UgYCVzJyByZW1vdmVkIG9uIG9iamVjdCBgJXMn IiwKKysgIGdfbWVzc2FnZSAoIk1vZGVtTWFuYWdlciBpbnRlcmZhY2UgYCVzJyByZW1vdmVkIG9u IG9iamVjdCBgJXMnIiwKKyAgICAgICAgICAgIGluZm8tPm5hbWUsIHBhdGgpOworIAorICAgaWYg KGdfc3RyY21wMCAoaW5mby0+bmFtZSwgTU1fREJVU19JTlRFUkZBQ0VfTU9ERU1fVk9JQ0UpID09 IDApCitAQCAtMjI5LDcgKzI4Niw3IEBAIHZvaWQKKyBvYmplY3RfYWRkZWRfY2IgKHN0cnVjdCB3 eXNfZGF0YSAqZGF0YSwKKyAgICAgICAgICAgICAgICAgIEdEQnVzT2JqZWN0ICAgICAqb2JqZWN0 KQorIHsKKy0gIGdfZGVidWcgKCJNb2RlbU1hbmFnZXIgb2JqZWN0IGAlcycgYWRkZWQiLAorKyAg Z19tZXNzYWdlICgiTW9kZW1NYW5hZ2VyIG9iamVjdCBgJXMnIGFkZGVkIiwKKyAgICAgICAgICAg IGdfZGJ1c19vYmplY3RfZ2V0X29iamVjdF9wYXRoIChvYmplY3QpKTsKKyAKKyAgIGFkZF9tbV9v YmplY3QgKGRhdGEsIG9iamVjdCk7CitAQCAtMjQzLDcgKzMwMCw3IEBAIG9iamVjdF9yZW1vdmVk X2NiIChzdHJ1Y3Qgd3lzX2RhdGEgKmRhdGEsCisgICBjb25zdCBnY2hhciAqcGF0aDsKKyAKKyAg IHBhdGggPSBnX2RidXNfb2JqZWN0X2dldF9vYmplY3RfcGF0aCAob2JqZWN0KTsKKy0gIGdfZGVi dWcgKCJNb2RlbU1hbmFnZXIgb2JqZWN0IGAlcycgcmVtb3ZlZCIsIHBhdGgpOworKyAgZ19tZXNz YWdlICgiTW9kZW1NYW5hZ2VyIG9iamVjdCBgJXMnIHJlbW92ZWQiLCBwYXRoKTsKKyAKKyAgIHJl bW92ZV9tb2RlbV9vYmplY3QgKGRhdGEsIHBhdGgsIG9iamVjdCk7CisgfQorQEAgLTI4Niw3ICsz NDMsNyBAQCBtbV9hcHBlYXJlZF9jYiAoR0RCdXNDb25uZWN0aW9uICpjb25uZWN0aW9uLAorICAg ICAgICAgICAgICAgICBjb25zdCBnY2hhciAqbmFtZV9vd25lciwKKyAgICAgICAgICAgICAgICAg c3RydWN0IHd5c19kYXRhICpkYXRhKQorIHsKKy0gIGdfZGVidWcgKCJNb2RlbU1hbmFnZXIgYXBw ZWFyZWQgb24gRC1CdXMiKTsKKysgIGdfbWVzc2FnZSAoIk1vZGVtTWFuYWdlciBhcHBlYXJlZCBv biBELUJ1cyIpOworIAorICAgbW1fbWFuYWdlcl9uZXcgKGNvbm5lY3Rpb24sCisgICAgICAgICAg ICAgICAgICAgR19EQlVTX09CSkVDVF9NQU5BR0VSX0NMSUVOVF9GTEFHU19OT05FLAorQEAgLTMx MCwxOCArMzY3LDE0IEBAIG1tX3ZhbmlzaGVkX2NiIChHREJ1c0Nvbm5lY3Rpb24gKmNvbm5lY3Rp b24sCisgICAgICAgICAgICAgICAgIGNvbnN0IGdjaGFyICpuYW1lLAorICAgICAgICAgICAgICAg ICBzdHJ1Y3Qgd3lzX2RhdGEgKmRhdGEpCisgeworLSAgZ19kZWJ1ZyAoIk1vZGVtTWFuYWdlciB2 YW5pc2hlZCBmcm9tIEQtQnVzIik7CisrICBnX21lc3NhZ2UgKCJNb2RlbU1hbmFnZXIgdmFuaXNo ZWQgZnJvbSBELUJ1cyIpOworICAgY2xlYXJfZGJ1cyAoZGF0YSk7CisgfQorIAorIAorIHN0YXRp YyB2b2lkCistc2V0X3VwIChzdHJ1Y3Qgd3lzX2RhdGEgKmRhdGEsCistICAgICAgICBjb25zdCBn Y2hhciAqY29kZWMsCistICAgICAgICBjb25zdCBnY2hhciAqbW9kZW0pCisrc2V0X3VwIChzdHJ1 Y3Qgd3lzX2RhdGEgKmRhdGEpCisgeworLSAgZGF0YS0+YXVkaW8gPSB3eXNfYXVkaW9fbmV3IChj b2RlYywgbW9kZW0pOworLQorICAgZGF0YS0+bW9kZW1zID0gZ19oYXNoX3RhYmxlX25ld19mdWxs IChnX3N0cl9oYXNoLCBnX3N0cl9lcXVhbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgZ19mcmVlLCBnX29iamVjdF91bnJlZik7CisgCitAQCAtMzMzLDcgKzM4Niw3 IEBAIHNldF91cCAoc3RydWN0IHd5c19kYXRhICpkYXRhLAorICAgICAgICAgICAgICAgICAgICAg ICAoR0J1c05hbWVWYW5pc2hlZENhbGxiYWNrKW1tX3ZhbmlzaGVkX2NiLAorICAgICAgICAgICAg ICAgICAgICAgICBkYXRhLCBOVUxMKTsKKyAKKy0gIGdfZGVidWcgKCJXYXRjaGluZyBmb3IgTW9k ZW1NYW5hZ2VyIik7CisrICBnX21lc3NhZ2UgKCJXYXRjaGluZyBmb3IgTW9kZW1NYW5hZ2VyIik7 CisgfQorIAorIAorQEAgLTM0MywyMyArMzk2LDE5IEBAIHRlYXJfZG93biAoc3RydWN0IHd5c19k YXRhICpkYXRhKQorICAgY2xlYXJfZGJ1cyAoZGF0YSk7CisgICBnX2J1c191bndhdGNoX25hbWUg KGRhdGEtPndhdGNoX2lkKTsKKyAgIGdfaGFzaF90YWJsZV91bnJlZiAoZGF0YS0+bW9kZW1zKTsK Ky0gIGdfb2JqZWN0X3VucmVmIChHX09CSkVDVCAoZGF0YS0+YXVkaW8pKTsKKyB9CisgCisgCisg c3RhdGljIHZvaWQKKy1ydW4gKGNvbnN0IGdjaGFyICpjb2RlYywKKy0gICAgIGNvbnN0IGdjaGFy ICptb2RlbSkKKytydW4gKHZvaWQpCisgeworICAgc3RydWN0IHd5c19kYXRhIGRhdGE7CisgCisg ICBtZW1zZXQgKCZkYXRhLCAwLCBzaXplb2YgKHN0cnVjdCB3eXNfZGF0YSkpOworLSAgc2V0X3Vw ICgmZGF0YSwgY29kZWMsIG1vZGVtKTsKKysgIHNldF91cCAoJmRhdGEpOworIAorICAgbWFpbl9s b29wID0gZ19tYWluX2xvb3BfbmV3IChOVUxMLCBGQUxTRSk7CisgCistICBwcmludGYgKEFQUExJ Q0FUSU9OX05BTUUgIiBzdGFydGVkIHdpdGggY29kZWMgYCVzJywgbW9kZW0gYCVzJ1xuIiwKKy0g ICAgICAgICAgY29kZWMsIG1vZGVtKTsKKyAgIGdfbWFpbl9sb29wX3J1biAobWFpbl9sb29wKTsK KyAKKyAgIGdfbWFpbl9sb29wX3VucmVmIChtYWluX2xvb3ApOworQEAgLTM2OCwzMyArNDE3LDYg QEAgcnVuIChjb25zdCBnY2hhciAqY29kZWMsCisgICB0ZWFyX2Rvd24gKCZkYXRhKTsKKyB9Cisg CistCistc3RhdGljIHZvaWQKKy1jaGVja19tYWNoaW5lIChjb25zdCBnY2hhciAqbWFjaGluZSkK Ky17CistICBnYm9vbGVhbiBvaywgcGFzc2VkOworLSAgR0Vycm9yICplcnJvciA9IE5VTEw7Cist CistICBvayA9IG1jaGtfY2hlY2tfbWFjaGluZSAoQVBQX0RBVEFfTkFNRSwKKy0gICAgICAgICAg ICAgICAgICAgICAgICAgICBtYWNoaW5lLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICZw YXNzZWQsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgJmVycm9yKTsKKy0gIGlmICghb2sp CistICAgIHsKKy0gICAgICBnX3dhcm5pbmcgKCJFcnJvciBjaGVja2luZyBtYWNoaW5lIG5hbWUg YWdhaW5zdCIKKy0gICAgICAgICAgICAgICAgICIgd2hpdGVsaXN0L2JsYWNrbGlzdCwgY29udGlu dWluZyBhbnl3YXkiKTsKKy0gICAgICBnX2Vycm9yX2ZyZWUgKGVycm9yKTsKKy0gICAgfQorLSAg ZWxzZSBpZiAoIXBhc3NlZCkKKy0gICAgeworLSAgICAgIGdfbWVzc2FnZSAoIk1hY2hpbmUgbmFt ZSBgJXMnIGRpZCBub3QgcGFzcyIKKy0gICAgICAgICAgICAgICAgICIgd2hpdGVsaXN0L2JsYWNr bGlzdCBjaGVjaywgZXhpdGluZyIsCistICAgICAgICAgICAgICAgICBtYWNoaW5lKTsKKy0gICAg ICBleGl0IChFWElUX1NVQ0NFU1MpOworLSAgICB9CistfQorLQorLQorIHN0YXRpYyB2b2lkCisg dGVybWluYXRlIChpbnQgc2lnbmFsKQorIHsKK0BAIC00NTIsMjIyICs0NTIsMTggQEAgc2V0dXBf c2lnbmFscyAoKQorIH0KKyAKKyAKKy0vKiogVGhpcyBmdW5jdGlvbiB3aWxsIGNsb3NlIEBmZCAq LworLXN0YXRpYyBnY2hhciAqCistcmVhZF9tYWNoaW5lX2NvbmZfZmlsZSAoY29uc3QgZ2NoYXIg KmZpbGVuYW1lLAorLSAgICAgICAgICAgICAgICAgICAgICAgIGludCAgICAgICAgICBmZCkKKy17 CistICBHSW5wdXRTdHJlYW0gKnVuaXhfc3RyZWFtOworLSAgR0RhdGFJbnB1dFN0cmVhbSAqZGF0 YV9zdHJlYW07CistICBnYm9vbGVhbiB0cnlfYWdhaW47CistICBnY2hhciAqbGluZTsKKy0gIEdF cnJvciAqZXJyb3IgPSBOVUxMOworLQorLSAgZ19kZWJ1ZyAoIlJlYWRpbmcgbWFjaGluZSBjb25m aWd1cmF0aW9uIGZpbGUgYCVzJyIsIGZpbGVuYW1lKTsKKy0KKy0gIHVuaXhfc3RyZWFtID0gZ191 bml4X2lucHV0X3N0cmVhbV9uZXcgKGZkLCBUUlVFKTsKKy0gIGdfYXNzZXJ0ICh1bml4X3N0cmVh bSAhPSBOVUxMKTsKKy0KKy0gIGRhdGFfc3RyZWFtID0gZ19kYXRhX2lucHV0X3N0cmVhbV9uZXcg KHVuaXhfc3RyZWFtKTsKKy0gIGdfYXNzZXJ0IChkYXRhX3N0cmVhbSAhPSBOVUxMKTsKKy0gIGdf b2JqZWN0X3VucmVmICh1bml4X3N0cmVhbSk7CistCistICBkbworLSAgICB7CistICAgICAgdHJ5 X2FnYWluID0gRkFMU0U7CistCistICAgICAgbGluZSA9IGdfZGF0YV9pbnB1dF9zdHJlYW1fcmVh ZF9saW5lX3V0ZjgKKy0gICAgICAgIChkYXRhX3N0cmVhbSwgTlVMTCwgTlVMTCwgJmVycm9yKTsK Ky0KKy0gICAgICBpZiAoZXJyb3IpCistICAgICAgICB7CistICAgICAgICAgIGdfd2FybmluZyAo IkVycm9yIHJlYWRpbmcgZnJvbSBtYWNoaW5lIgorLSAgICAgICAgICAgICAgICAgICAgICIgY29u ZmlndXJhdGlvbiBmaWxlIGAlcyc6ICVzIiwKKy0gICAgICAgICAgICAgICAgICAgICBmaWxlbmFt ZSwgZXJyb3ItPm1lc3NhZ2UpOworLSAgICAgICAgICBnX2Vycm9yX2ZyZWUgKGVycm9yKTsKKy0g ICAgICAgIH0KKy0gICAgICBlbHNlIGlmIChsaW5lKQorLSAgICAgICAgeworLSAgICAgICAgICBn X3N0cnN0cmlwIChsaW5lKTsKKy0KKy0gICAgICAgICAgLy8gU2tpcCBjb21tZW50cyBhbmQgZW1w dHkgbGluZXMKKy0gICAgICAgICAgaWYgKGxpbmVbMF0gPT0gJyMnIHx8IGxpbmVbMF0gPT0gJ1ww JykKKy0gICAgICAgICAgICB7CistICAgICAgICAgICAgICBnX2ZyZWUgKGxpbmUpOworLSAgICAg ICAgICAgICAgdHJ5X2FnYWluID0gVFJVRTsKKy0gICAgICAgICAgICB9CistICAgICAgICB9Cist ICAgIH0KKy0gIHdoaWxlICh0cnlfYWdhaW4pOworLQorLSAgZ19vYmplY3RfdW5yZWYgKGRhdGFf c3RyZWFtKTsKKy0gIHJldHVybiBsaW5lOworLX0KKy0KKy0KKy1zdGF0aWMgZ2NoYXIgKgorLWRp cl9tYWNoaW5lX2NvbmYgKGNvbnN0IGdjaGFyICpkaXIsCistICAgICAgICAgICAgICAgICAgY29u c3QgZ2NoYXIgKm1hY2hpbmUsCistICAgICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIgKmtleSkK Ky17CistICBnY2hhciAqZmlsZW5hbWU7CistICBpbnQgZmQ7CistICBnY2hhciAqdmFsdWUgPSBO VUxMOworLQorLSAgZmlsZW5hbWUgPSBnX2J1aWxkX2ZpbGVuYW1lIChkaXIsIEFQUF9EQVRBX05B TUUsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtYWNoaW5lLWNvbmYiLAorLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNoaW5lLCBrZXksIE5VTEwpOworLQorLSAg Z19kZWJ1ZyAoIlRyeWluZyBtYWNoaW5lIGNvbmZpZ3VyYXRpb24gZmlsZSBgJXMnIiwKKy0gICAg ICAgICAgIGZpbGVuYW1lKTsKKy0KKy0gIGZkID0gZ19vcGVuIChmaWxlbmFtZSwgT19SRE9OTFks IDApOworLSAgaWYgKGZkID09IC0xKQorLSAgICB7CistICAgICAgaWYgKGVycm5vICE9IEVOT0VO VCkKKy0gICAgICAgIHsKKy0gICAgICAgICAgLy8gVGhlIGVycm9yIGlzbid0IHRoYXQgdGhlIGZp bGUgZG9lc24ndCBleGlzdAorLSAgICAgICAgICBnX3dhcm5pbmcgKCJFcnJvciBvcGVuaW5nIG1h Y2hpbmUiCistICAgICAgICAgICAgICAgICAgICAgIiBjb25maWd1cmF0aW9uIGZpbGUgYCVzJzog JXMiLAorLSAgICAgICAgICAgICAgICAgICAgIGZpbGVuYW1lLCBnX3N0cmVycm9yIChlcnJubykp OworLSAgICAgICAgfQorLSAgICB9CistICBlbHNlCistICAgIHsKKy0gICAgICB2YWx1ZSA9IHJl YWRfbWFjaGluZV9jb25mX2ZpbGUgKGZpbGVuYW1lLCBmZCk7CistICAgIH0KKy0KKy0gIGdfZnJl ZSAoZmlsZW5hbWUpOworLSAgcmV0dXJuIHZhbHVlOworLX0KKy0KKy0KKy1zdGF0aWMgZ2NoYXIg KgorLW1hY2hpbmVfY29uZiAoY29uc3QgZ2NoYXIgKm1hY2hpbmUsCistICAgICAgICAgICAgICBj b25zdCBnY2hhciAqa2V5KQorLXsKKy0gIGdjaGFyICp2YWx1ZSA9IE5VTEw7CistICBjb25zdCBn Y2hhciAqIGNvbnN0ICpkaXJzLCAqIGNvbnN0ICpkaXI7CistCistCistI2RlZmluZSB0cnlfZGly KGQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICB2YWx1ZSA9IGRp cl9tYWNoaW5lX2NvbmYgKGQsIG1hY2hpbmUsIGtleSk7ICAgICAgICAgICBcCistICBpZiAodmFs dWUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAgIHsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAg ICAgcmV0dXJuIHZhbHVlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCist ICAgIH0KKy0KKy0KKy0gIHRyeV9kaXIgKGdfZ2V0X3VzZXJfY29uZmlnX2RpciAoKSk7CistCist ICBkaXJzID0gZ19nZXRfc3lzdGVtX2NvbmZpZ19kaXJzICgpOworLSAgZm9yIChkaXIgPSBkaXJz OyAqZGlyOyArK2RpcikKKy0gICAgeworLSAgICAgIHRyeV9kaXIgKCpkaXIpOworLSAgICB9Cist CistICB0cnlfZGlyIChTWVNDT05GRElSKTsKKy0gIHRyeV9kaXIgKERBVEFESVIpOworLQorLSAg ZGlycyA9IGdfZ2V0X3N5c3RlbV9kYXRhX2RpcnMgKCk7CistICBmb3IgKGRpciA9IGRpcnM7ICpk aXI7ICsrZGlyKQorLSAgICB7CistICAgICAgdHJ5X2RpciAoKmRpcik7CistICAgIH0KKy0KKy0j dW5kZWYgdHJ5X2RpcgorLQorLSAgcmV0dXJuIE5VTEw7CistfQorLQorLQorLXN0YXRpYyB2b2lk CistZW5zdXJlX2Fsc2FfY2FyZCAoY29uc3QgZ2NoYXIgICptYWNoaW5lLAorLSAgICAgICAgICAg ICAgICAgIGNvbnN0IGdjaGFyICAqdmFyLAorLSAgICAgICAgICAgICAgICAgIGNvbnN0IGdjaGFy ICAqa2V5LAorLSAgICAgICAgICAgICAgICAgICAgICAgIGdjaGFyICoqbmFtZSkKKy17CistICBj b25zdCBnY2hhciAqZW52OworLQorLSAgaWYgKCpuYW1lKQorLSAgICB7CistICAgICAgcmV0dXJu OworLSAgICB9CistCistICBlbnYgPSBnX2dldGVudiAodmFyKTsKKy0gIGlmIChlbnYpCistICAg IHsKKy0gICAgICAqbmFtZSA9IGdfc3RyZHVwIChlbnYpOworLSAgICAgIHJldHVybjsKKy0gICAg fQorLQorLSAgaWYgKG1hY2hpbmUpCistICAgIHsKKy0gICAgICAqbmFtZSA9IG1hY2hpbmVfY29u ZiAobWFjaGluZSwga2V5KTsKKy0gICAgICBpZiAoKm5hbWUpCistICAgICAgICB7CistICAgICAg ICAgIHJldHVybjsKKy0gICAgICAgIH0KKy0gICAgfQorLQorLSAgZ193YXJuaW5nICgiTm8gJXMg c3BlY2lmaWVkIHdpdGggYSBtYWNoaW5lIGNvbmZpZ3VyYXRpb24gZmlsZSIKKy0gICAgICAgICAg ICAgIiwgZW52aXJvbm1lbnQgdmFyaWFibGUgb3IgY29tbWFuZCBsaW5lIG9wdGlvbiIKKy0gICAg ICAgICAgICAgIjsgcmVmdXNpbmcgdG8gcnVuIiwga2V5KTsKKy0gIGV4aXQgKEVYSVRfU1VDQ0VT Uyk7CistfQorLQorLQorIGludAorIG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKKyB7Cisg ICBHRXJyb3IgKmVycm9yID0gTlVMTDsKKyAgIEdPcHRpb25Db250ZXh0ICpjb250ZXh0OworICAg Z2Jvb2xlYW4gb2s7CistICBnX2F1dG9mcmVlIGdjaGFyICpjb2RlYyA9IE5VTEw7CistICBnX2F1 dG9mcmVlIGdjaGFyICptb2RlbSA9IE5VTEw7CistICBnX2F1dG9mcmVlIGdjaGFyICptYWNoaW5l ID0gTlVMTDsKKy0KKy0gIEdPcHRpb25FbnRyeSBvcHRpb25zW10gPQorLSAgICB7CistICAgICAg eyAiY29kZWMiLCAnYycsIDAsIEdfT1BUSU9OX0FSR19TVFJJTkcsICZjb2RlYywgIk5hbWUgb2Yg dGhlIGNvZGVjJ3MgQUxTQSBjYXJkIiwgIk5BTUUiIH0sCistICAgICAgeyAibW9kZW0iLCAnbScs IDAsIEdfT1BUSU9OX0FSR19TVFJJTkcsICZtb2RlbSwgIk5hbWUgb2YgdGhlIG1vZGVtJ3MgQUxT QSBjYXJkIiwgIk5BTUUiIH0sCistICAgICAgeyBOVUxMIH0KKy0gICAgfTsKKyAKKyAgIHNldGxv Y2FsZShMQ19BTEwsICIiKTsKKyAKKy0gIG1hY2hpbmUgPSBtY2hrX3JlYWRfbWFjaGluZSAoTlVM TCk7CistICBpZiAobWFjaGluZSkKKy0gICAgeworLSAgICAgIGNoZWNrX21hY2hpbmUgKG1hY2hp bmUpOworLSAgICB9CistICBlbHNlCistICAgIHsKKy0gICAgICBnX3dhcm5pbmcgKCJDb3VsZCBu b3QgcmVhZCBtYWNoaW5lIG5hbWUsIGNvbnRpbnVpbmcgd2l0aG91dCBtYWNoaW5lIGNoZWNrIik7 CistICAgIH0KKy0KKy0KKy0gIGNvbnRleHQgPSBnX29wdGlvbl9jb250ZXh0X25ldyAoIi0gc2V0 IHVwIFB1bHNlQXVkaW8gbG9vcGJhY2sgZm9yIHBob25lIGNhbGwgYXVkaW8iKTsKKy0gIGdfb3B0 aW9uX2NvbnRleHRfYWRkX21haW5fZW50cmllcyAoY29udGV4dCwgb3B0aW9ucywgTlVMTCk7Cist ICBvayA9IGdfb3B0aW9uX2NvbnRleHRfcGFyc2UgKGNvbnRleHQsICZhcmdjLCAmYXJndiwgJmVy cm9yKTsKKy0gIGlmICghb2spCistICAgIHsKKy0gICAgICBnX3ByaW50ICgiRXJyb3IgcGFyc2lu ZyBvcHRpb25zOiAlc1xuIiwgZXJyb3ItPm1lc3NhZ2UpOworLSAgICB9CistCistCistICBpZiAo bWFjaGluZSkKKy0gICAgeworLSAgICAgIC8qIENvbnZlcnQgYW55IGRpcmVjdG9yeSBzZXBhcmF0 b3IgY2hhcmFjdGVycyB0byAiXyIgKi8KKy0gICAgICBnX3N0cmRlbGltaXQgKG1hY2hpbmUsIEdf RElSX1NFUEFSQVRPUl9TLCAnXycpOworLSAgICB9CistCistICBlbnN1cmVfYWxzYV9jYXJkICht YWNoaW5lLCAiV1lTX0NPREVDIiwgImNvZGVjIiwgJmNvZGVjKTsKKy0gIGVuc3VyZV9hbHNhX2Nh cmQgKG1hY2hpbmUsICJXWVNfTU9ERU0iLCAibW9kZW0iLCAmbW9kZW0pOworLQorICAgc2V0dXBf c2lnbmFscyAoKTsKKyAKKy0gIHJ1biAoY29kZWMsIG1vZGVtKTsKKysgIHJ1biAoKTsKKyAKKyAg IHJldHVybiAwOworIH0KK2RpZmYgLS1naXQgc3JjL21lc29uLmJ1aWxkIHNyYy9tZXNvbi5idWls ZAoraW5kZXggN2I5OTIzNS4uYThhMzBkNyAxMDA2NDQKKy0tLSBzcmMvbWVzb24uYnVpbGQKKysr KyBzcmMvbWVzb24uYnVpbGQKK0BAIC0yMiwxMyArMjIsMTAgQEAKKyBnbm9tZSA9IGltcG9ydCgn Z25vbWUnKQorIAorIHd5c19kZXBzID0gWworLSAgbGlibWNoa19kZXAsCisgICBkZXBlbmRlbmN5 KCdnb2JqZWN0LTIuMCcpLAorICAgZGVwZW5kZW5jeSgnZ2lvLXVuaXgtMi4wJyksCisgICBkZXBl bmRlbmN5KCdNb2RlbU1hbmFnZXInKSwKKyAgIGRlcGVuZGVuY3koJ21tLWdsaWInKSwKKy0gIGRl cGVuZGVuY3koJ2xpYnB1bHNlJyksCistICBkZXBlbmRlbmN5KCdsaWJwdWxzZS1tYWlubG9vcC1n bGliJyksCisgXQorIAorIGNvbmZpZ19oID0gY29uZmlndXJlX2ZpbGUgKAorQEAgLTM2LDIwICsz MywxMyBAQCBjb25maWdfaCA9IGNvbmZpZ3VyZV9maWxlICgKKyAgIGNvbmZpZ3VyYXRpb246IGNv bmZpZ19kYXRhCisgKQorIAorLXd5c19lbnVtX2hlYWRlcnMgPSBmaWxlcyhbJ3d5cy1kaXJlY3Rp b24uaCddKQorLXd5c19lbnVtX3NvdXJjZXMgPSBnbm9tZS5ta2VudW1zX3NpbXBsZSgnZW51bS10 eXBlcycsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZXMg OiB3eXNfZW51bV9oZWFkZXJzKQorLQorIGV4ZWN1dGFibGUgKAorICAgJ3d5cycsCisgICBjb25m aWdfaCwKKy0gIHd5c19lbnVtX3NvdXJjZXMsCisgICBbCisgICAgICdtYWluLmMnLAorICAgICAn dXRpbC5oJywgJ3V0aWwuYycsCistICAgICd3eXMtZGlyZWN0aW9uLmgnLCAnd3lzLWRpcmVjdGlv bi5jJywKKyAgICAgJ3d5cy1tb2RlbS5oJywgJ3d5cy1tb2RlbS5jJywKKy0gICAgJ3d5cy1hdWRp by5oJywgJ3d5cy1hdWRpby5jJywKKyAgIF0sCisgICBkZXBlbmRlbmNpZXMgOiB3eXNfZGVwcywK KyAgIGluY2x1ZGVfZGlyZWN0b3JpZXMgOiBpbmNsdWRlX2RpcmVjdG9yaWVzKCcuLicpLAorZGlm ZiAtLWdpdCBzcmMvd3lzLW1vZGVtLmMgc3JjL3d5cy1tb2RlbS5jCitpbmRleCAyMTJmOTkyLi41 MWEwNTc1IDEwMDY0NAorLS0tIHNyYy93eXMtbW9kZW0uYworKysrIHNyYy93eXMtbW9kZW0uYwor QEAgLTI0LDE4ICsyNCwxMCBAQAorIAorIAorICNpbmNsdWRlICJ3eXMtbW9kZW0uaCIKKy0jaW5j bHVkZSAid3lzLWRpcmVjdGlvbi5oIgorICNpbmNsdWRlICJ1dGlsLmgiCistI2luY2x1ZGUgImVu dW0tdHlwZXMuaCIKKyAKKyAjaW5jbHVkZSA8Z2xpYi9naTE4bi5oPgorIAorLXN0YXRpYyBjb25z dCBnY2hhciAqIGNvbnN0IFdZU19NT0RFTV9IQVNfQVVESU9bXSA9CistICB7CistICAgW1dZU19E SVJFQ1RJT05fRlJPTV9ORVRXT1JLXSA9ICJ3eXMtaGFzLWF1ZGlvLWZyb20tbmV0d29yayIsCist ICAgW1dZU19ESVJFQ1RJT05fVE9fTkVUV09SS10gICA9ICJ3eXMtaGFzLWF1ZGlvLXRvLW5ldHdv cmsiCistICB9OworLQorIHN0cnVjdCBfV3lzTW9kZW0KKyB7CisgICBHT2JqZWN0IHBhcmVudF9p bnN0YW5jZTsKK0BAIC00Myw4ICszNSw4IEBAIHN0cnVjdCBfV3lzTW9kZW0KKyAgIE1NTW9kZW1W b2ljZSAqdm9pY2U7CisgICAvKiogTWFwIG9mIEQtQnVzIG9iamVjdCBwYXRocyB0byBNTUNhbGwg b2JqZWN0cyAqLworICAgR0hhc2hUYWJsZSAqY2FsbHM7CistICAvKiogSG93IG1hbnkgY2FsbHMg aGF2ZSBhdWRpbywgaW4gZWFjaCBkaXJlY3Rpb24gKi8KKy0gIGd1aW50IGF1ZGlvX2NvdW50WzJd OworKyAgLyoqIEhvdyBtYW55IGNhbGxzIGhhdmUgYXVkaW8gKi8KKysgIGd1aW50IGF1ZGlvX2Nv dW50OworIH07CisgCisgR19ERUZJTkVfVFlQRShXeXNNb2RlbSwgd3lzX21vZGVtLCBHX1RZUEVf T0JKRUNUKQorQEAgLTY1LDE1ICs1NywxMSBAQCBzdGF0aWMgZ3VpbnQgc2lnbmFscyBbU0lHTkFM X0xBU1RfU0lHTkFMXTsKKyAKKyAKKyBzdGF0aWMgZ2Jvb2xlYW4KKy1jYWxsX3N0YXRlX2hhc19h dWRpbyAoV3lzRGlyZWN0aW9uIGRpcmVjdGlvbiwKKy0gICAgICAgICAgICAgICAgICAgICAgTU1D YWxsU3RhdGUgIHN0YXRlKQorK2NhbGxfc3RhdGVfaGFzX2F1ZGlvIChNTUNhbGxTdGF0ZSAgc3Rh dGUpCisgeworICAgc3dpdGNoIChzdGF0ZSkKKyAgICAgeworICAgICBjYXNlIE1NX0NBTExfU1RB VEVfUklOR0lOR19PVVQ6CistICAgICAgcmV0dXJuCistICAgICAgICAoZGlyZWN0aW9uID09IFdZ U19ESVJFQ1RJT05fRlJPTV9ORVRXT1JLKQorLSAgICAgICAgPyBUUlVFIDogRkFMU0U7CisgICAg IGNhc2UgTU1fQ0FMTF9TVEFURV9BQ1RJVkU6CisgICAgICAgcmV0dXJuIFRSVUU7CisgICAgIGRl ZmF1bHQ6CitAQCAtODQsMzkgKzcyLDM1IEBAIGNhbGxfc3RhdGVfaGFzX2F1ZGlvIChXeXNEaXJl Y3Rpb24gZGlyZWN0aW9uLAorIAorIHN0YXRpYyB2b2lkCisgdXBkYXRlX2F1ZGlvX2NvdW50IChX eXNNb2RlbSAgICAgKnNlbGYsCistICAgICAgICAgICAgICAgICAgICBXeXNEaXJlY3Rpb24gIGRp cmVjdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgIGdpbnQgICAgICAgICAgZGVsdGEpCisgewor LSAgY29uc3QgZ3VpbnQgb2xkX2NvdW50ID0gc2VsZi0+YXVkaW9fY291bnRbZGlyZWN0aW9uXTsK KysgIGNvbnN0IGd1aW50IG9sZF9jb3VudCA9IHNlbGYtPmF1ZGlvX2NvdW50OworIAorLSAgZ19h c3NlcnQgKGRlbHRhID49IDAgfHwgc2VsZi0+YXVkaW9fY291bnRbZGlyZWN0aW9uXSA+IDApOwor KyAgZ19hc3NlcnQgKGRlbHRhID49IDAgfHwgc2VsZi0+YXVkaW9fY291bnQgPiAwKTsKKyAKKy0g IHNlbGYtPmF1ZGlvX2NvdW50W2RpcmVjdGlvbl0gKz0gZGVsdGE7CisrICBzZWxmLT5hdWRpb19j b3VudCArPSBkZWx0YTsKKyAKKy0gIGlmIChzZWxmLT5hdWRpb19jb3VudFtkaXJlY3Rpb25dID4g MCAmJiBvbGRfY291bnQgPT0gMCkKKysgIGlmIChzZWxmLT5hdWRpb19jb3VudCA+IDAgJiYgb2xk X2NvdW50ID09IDApCisgICAgIHsKKy0gICAgICBnX2RlYnVnICgiTW9kZW0gYCVzJyBhdWRpbyAl cyBub3cgcHJlc2VudCIsCistICAgICAgICAgICAgICAgbW1fbW9kZW1fdm9pY2VfZ2V0X3BhdGgg KHNlbGYtPnZvaWNlKSwKKy0gICAgICAgICAgICAgICB3eXNfZGlyZWN0aW9uX2dldF9kZXNjcmlw dGlvbiAoZGlyZWN0aW9uKSk7CistICAgICAgZ19zaWduYWxfZW1pdF9ieV9uYW1lIChzZWxmLCAi YXVkaW8tcHJlc2VudCIsIGRpcmVjdGlvbik7CisrICAgICAgZ19tZXNzYWdlICgiTW9kZW0gYCVz JyBhdWRpbyBub3cgcHJlc2VudCIsCisrICAgICAgICAgICAgICAgICBtbV9tb2RlbV92b2ljZV9n ZXRfcGF0aCAoc2VsZi0+dm9pY2UpKTsKKysgICAgICBnX3NpZ25hbF9lbWl0X2J5X25hbWUgKHNl bGYsICJhdWRpby1wcmVzZW50Iik7CisgICAgIH0KKy0gIGVsc2UgaWYgKHNlbGYtPmF1ZGlvX2Nv dW50W2RpcmVjdGlvbl0gPT0gMCAmJiBvbGRfY291bnQgPiAwKQorKyAgZWxzZSBpZiAoc2VsZi0+ YXVkaW9fY291bnQgPT0gMCAmJiBvbGRfY291bnQgPiAwKQorICAgICB7CistICAgICAgZ19kZWJ1 ZyAoIk1vZGVtIGAlcycgYXVkaW8gbm93IGFic2VudCIsCistICAgICAgICAgICAgICAgbW1fbW9k ZW1fdm9pY2VfZ2V0X3BhdGggKHNlbGYtPnZvaWNlKSk7CistICAgICAgZ19zaWduYWxfZW1pdF9i eV9uYW1lIChzZWxmLCAiYXVkaW8tYWJzZW50IiwgZGlyZWN0aW9uKTsKKysgICAgICBnX21lc3Nh Z2UgKCJNb2RlbSBgJXMnIGF1ZGlvIG5vdyBhYnNlbnQiLAorKyAgICAgICAgICAgICAgICAgbW1f bW9kZW1fdm9pY2VfZ2V0X3BhdGggKHNlbGYtPnZvaWNlKSk7CisrICAgICAgZ19zaWduYWxfZW1p dF9ieV9uYW1lIChzZWxmLCAiYXVkaW8tYWJzZW50Iik7CisgICAgIH0KKyB9CisgCisgCisgc3Rh dGljIGdib29sZWFuCistZ2V0X2NhbGxfaGFzX2F1ZGlvIChNTUNhbGwgICAgICAgKm1tX2NhbGws CistICAgICAgICAgICAgICAgICAgICBXeXNEaXJlY3Rpb24gIGRpcmVjdGlvbikKKytnZXRfY2Fs bF9oYXNfYXVkaW8gKE1NQ2FsbCAqbW1fY2FsbCkKKyB7CisgICBncG9pbnRlciBkYXRhOworIAor LSAgZGF0YSA9IGdfb2JqZWN0X2dldF9kYXRhIChHX09CSkVDVCAobW1fY2FsbCksCistICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFdZU19NT0RFTV9IQVNfQVVESU9bZGlyZWN0aW9uXSk7Cisr ICBkYXRhID0gZ19vYmplY3RfZ2V0X2RhdGEgKEdfT0JKRUNUIChtbV9jYWxsKSwgImF1ZGlvLXN0 YXRlIik7CisgCisgICByZXR1cm4gKGdib29sZWFuKShHUE9JTlRFUl9UT19VSU5UIChkYXRhKSk7 CisgfQorQEAgLTEyNCw0MiArMTA4LDM4IEBAIGdldF9jYWxsX2hhc19hdWRpbyAoTU1DYWxsICAg ICAgICptbV9jYWxsLAorIAorIHN0YXRpYyB2b2lkCisgc2V0X2NhbGxfaGFzX2F1ZGlvIChNTUNh bGwgICAgICAgKm1tX2NhbGwsCistICAgICAgICAgICAgICAgICAgICBXeXNEaXJlY3Rpb24gIGRp cmVjdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgIGdib29sZWFuICAgICAgaGFzX2F1ZGlvKQor IHsKKyAgIGdfb2JqZWN0X3NldF9kYXRhIChHX09CSkVDVCAobW1fY2FsbCksCistICAgICAgICAg ICAgICAgICAgICAgV1lTX01PREVNX0hBU19BVURJT1tkaXJlY3Rpb25dLAorKyAgICAgICAgICAg ICAgICAgICAgICJhdWRpby1zdGF0ZSIsCisgICAgICAgICAgICAgICAgICAgICAgR1VJTlRfVE9f UE9JTlRFUiAoKGd1aW50KWhhc19hdWRpbykpOworIH0KKyAKKyAKKyBzdGF0aWMgdm9pZAorLXVw ZGF0ZV9kaXJlY3Rpb25fc3RhdGUgKFd5c01vZGVtICAgICAqc2VsZiwKKy0gICAgICAgICAgICAg ICAgICAgICAgICBNTUNhbGwgICAgICAgKm1tX2NhbGwsCistICAgICAgICAgICAgICAgICAgICAg ICAgY29uc3QgZ2NoYXIgICpwYXRoLAorLSAgICAgICAgICAgICAgICAgICAgICAgIFd5c0RpcmVj dGlvbiAgZGlyZWN0aW9uLAorLSAgICAgICAgICAgICAgICAgICAgICAgIE1NQ2FsbFN0YXRlICAg b2xkX3N0YXRlLAorLSAgICAgICAgICAgICAgICAgICAgICAgIE1NQ2FsbFN0YXRlICAgbmV3X3N0 YXRlKQorK3VwZGF0ZV9jYWxsX3N0YXRlIChXeXNNb2RlbSAgICAgKnNlbGYsCisrICAgICAgICAg ICAgICAgICAgIE1NQ2FsbCAgICAgICAqbW1fY2FsbCwKKysgICAgICAgICAgICAgICAgICAgY29u c3QgZ2NoYXIgICpwYXRoLAorKyAgICAgICAgICAgICAgICAgICBNTUNhbGxTdGF0ZSAgIG9sZF9z dGF0ZSwKKysgICAgICAgICAgICAgICAgICAgTU1DYWxsU3RhdGUgICBuZXdfc3RhdGUpCisgewor LSAgZ2Jvb2xlYW4gaGFkX2F1ZGlvICA9IGNhbGxfc3RhdGVfaGFzX2F1ZGlvIChkaXJlY3Rpb24s IG9sZF9zdGF0ZSk7CistICBnYm9vbGVhbiBoYXZlX2F1ZGlvID0gY2FsbF9zdGF0ZV9oYXNfYXVk aW8gKGRpcmVjdGlvbiwgbmV3X3N0YXRlKTsKKysgIGdib29sZWFuIGhhZF9hdWRpbyAgPSBjYWxs X3N0YXRlX2hhc19hdWRpbyAob2xkX3N0YXRlKTsKKysgIGdib29sZWFuIGhhdmVfYXVkaW8gPSBj YWxsX3N0YXRlX2hhc19hdWRpbyAobmV3X3N0YXRlKTsKKyAKKyAgIGlmICghaGFkX2F1ZGlvICYm IGhhdmVfYXVkaW8pCisgICAgIHsKKy0gICAgICBnX2RlYnVnICgiQ2FsbCBgJXMnIGdhaW5lZCBh dWRpbyAlcyIsIHBhdGgsCistICAgICAgICAgICAgICAgd3lzX2RpcmVjdGlvbl9nZXRfZGVzY3Jp cHRpb24gKGRpcmVjdGlvbikpOworLSAgICAgIHVwZGF0ZV9hdWRpb19jb3VudCAoc2VsZiwgZGly ZWN0aW9uLCArMSk7CisrICAgICAgZ19tZXNzYWdlICgiQ2FsbCBgJXMnIGdhaW5lZCBhdWRpbyIs IHBhdGgpOworKyAgICAgIHVwZGF0ZV9hdWRpb19jb3VudCAoc2VsZiwgKzEpOworICAgICB9Cisg ICBlbHNlIGlmIChoYWRfYXVkaW8gJiYgIWhhdmVfYXVkaW8pCisgICAgIHsKKy0gICAgICBnX2Rl YnVnICgiQ2FsbCBgJXMnIGxvc3QgYXVkaW8gJXMiLCBwYXRoLAorLSAgICAgICAgICAgICAgIHd5 c19kaXJlY3Rpb25fZ2V0X2Rlc2NyaXB0aW9uIChkaXJlY3Rpb24pKTsKKy0gICAgICB1cGRhdGVf YXVkaW9fY291bnQgKHNlbGYsIGRpcmVjdGlvbiwgLTEpOworKyAgICAgIGdfbWVzc2FnZSAoIkNh bGwgYCVzJyBsb3N0IGF1ZGlvIiwgcGF0aCk7CisrICAgICAgdXBkYXRlX2F1ZGlvX2NvdW50IChz ZWxmLCAtMSk7CisgICAgIH0KKyAKKyAgIGlmIChoYWRfYXVkaW8gIT0gaGF2ZV9hdWRpbykKKyAg ICAgeworLSAgICAgIHNldF9jYWxsX2hhc19hdWRpbyAobW1fY2FsbCwgZGlyZWN0aW9uLCBoYXZl X2F1ZGlvKTsKKysgICAgICBzZXRfY2FsbF9oYXNfYXVkaW8gKG1tX2NhbGwsIGhhdmVfYXVkaW8p OworICAgICB9CisgfQorIAorQEAgLTE3NCwzNCArMTU0LDI4IEBAIGNhbGxfc3RhdGVfY2hhbmdl ZF9jYiAoTW1HZGJ1c0NhbGwgICAgICAgKm1tX2dkYnVzX2NhbGwsCisgICBNTUNhbGwgKm1tX2Nh bGwgPSBNTV9DQUxMIChtbV9nZGJ1c19jYWxsKTsKKyAgIGNvbnN0IGdjaGFyICogcGF0aCA9IG1t X2NhbGxfZ2V0X3BhdGggKG1tX2NhbGwpOworIAorLSAgZ19kZWJ1ZyAoIkNhbGwgYCVzJyBzdGF0 ZSBjaGFuZ2VkLCBuZXc6ICVpLCBvbGQ6ICVpIiwKKysgIGdfbWVzc2FnZSAoIkNhbGwgYCVzJyBz dGF0ZSBjaGFuZ2VkLCBuZXc6ICVpLCBvbGQ6ICVpIiwKKyAgICAgICAgICAgIHBhdGgsIChpbnQp bmV3X3N0YXRlLCAoaW50KW9sZF9zdGF0ZSk7CisgCisgICAvLyBGSVhNRTogZGVhbCB3aXRoIGNh bGxzIGJlaW5nIHB1dCBvbiBob2xkIChvbmUgY2FsbCBnb2VzCisgICAvLyBub24tYXVkaW8sIGFu b3RoZXIgY2FsbCBnb2VzIGF1ZGlvIGFmdGVyKQorIAorLSAgdXBkYXRlX2RpcmVjdGlvbl9zdGF0 ZSAoc2VsZiwgbW1fY2FsbCwgcGF0aCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgIFdZU19E SVJFQ1RJT05fRlJPTV9ORVRXT1JLLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgb2xkX3N0 YXRlLCBuZXdfc3RhdGUpOworLSAgdXBkYXRlX2RpcmVjdGlvbl9zdGF0ZSAoc2VsZiwgbW1fY2Fs bCwgcGF0aCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgIFdZU19ESVJFQ1RJT05fVE9fTkVU V09SSywKKy0gICAgICAgICAgICAgICAgICAgICAgICAgIG9sZF9zdGF0ZSwgbmV3X3N0YXRlKTsK KysgIHVwZGF0ZV9jYWxsX3N0YXRlIChzZWxmLCBtbV9jYWxsLCBwYXRoLCBvbGRfc3RhdGUsIG5l d19zdGF0ZSk7CisgfQorIAorIAorIHN0YXRpYyB2b2lkCistaW5pdF9jYWxsX2RpcmVjdGlvbiAo V3lzTW9kZW0gICAgICpzZWxmLAorLSAgICAgICAgICAgICAgICAgICAgIE1NQ2FsbCAgICAgICAq bW1fY2FsbCwKKy0gICAgICAgICAgICAgICAgICAgICBNTUNhbGxTdGF0ZSAgIHN0YXRlLAorLSAg ICAgICAgICAgICAgICAgICAgIFd5c0RpcmVjdGlvbiAgZGlyZWN0aW9uKQorK2luaXRfY2FsbF9h dWRpbyAoV3lzTW9kZW0gICAgICpzZWxmLAorKyAgICAgICAgICAgICAgICAgTU1DYWxsICAgICAg ICptbV9jYWxsLAorKyAgICAgICAgICAgICAgICAgTU1DYWxsU3RhdGUgICBzdGF0ZSkKKyB7Cist ICBnYm9vbGVhbiBoYXNfYXVkaW8gPSBjYWxsX3N0YXRlX2hhc19hdWRpbyAoZGlyZWN0aW9uLCBz dGF0ZSk7CisrICBnYm9vbGVhbiBoYXNfYXVkaW8gPSBjYWxsX3N0YXRlX2hhc19hdWRpbyAoc3Rh dGUpOworIAorLSAgc2V0X2NhbGxfaGFzX2F1ZGlvIChtbV9jYWxsLCBkaXJlY3Rpb24sIGhhc19h dWRpbyk7CisrICBzZXRfY2FsbF9oYXNfYXVkaW8gKG1tX2NhbGwsIGhhc19hdWRpbyk7CisgCisg ICBpZiAoaGFzX2F1ZGlvKQorICAgICB7CistICAgICAgdXBkYXRlX2F1ZGlvX2NvdW50IChzZWxm LCBkaXJlY3Rpb24sICsxKTsKKysgICAgICB1cGRhdGVfYXVkaW9fY291bnQgKHNlbGYsICsxKTsK KyAgICAgfQorIH0KKyAKK0BAIC0yMjMsMTIgKzE5Nyw5IEBAIGFkZF9jYWxsIChXeXNNb2RlbSAq c2VsZiwKKyAgICAgICAgICAgICAgICAgICAgIHNlbGYpOworIAorICAgc3RhdGUgPSBtbV9jYWxs X2dldF9zdGF0ZSAobW1fY2FsbCk7CistICBpbml0X2NhbGxfZGlyZWN0aW9uIChzZWxmLCBtbV9j YWxsLCBzdGF0ZSwKKy0gICAgICAgICAgICAgICAgICAgICAgIFdZU19ESVJFQ1RJT05fRlJPTV9O RVRXT1JLKTsKKy0gIGluaXRfY2FsbF9kaXJlY3Rpb24gKHNlbGYsIG1tX2NhbGwsIHN0YXRlLAor LSAgICAgICAgICAgICAgICAgICAgICAgV1lTX0RJUkVDVElPTl9UT19ORVRXT1JLKTsKKysgIGlu aXRfY2FsbF9hdWRpbyAoc2VsZiwgbW1fY2FsbCwgc3RhdGUpOworIAorLSAgZ19kZWJ1ZyAoIkNh bGwgYCVzJyBhZGRlZCwgc3RhdGU6ICVpIiwgcGF0aCwgKGludClzdGF0ZSk7CisrICBnX21lc3Nh Z2UgKCJDYWxsIGAlcycgYWRkZWQsIHN0YXRlOiAlaSIsIHBhdGgsIChpbnQpc3RhdGUpOworIH0K KyAKKyAKK0BAIC0zMjIsMTYgKzI5MywxNCBAQCBjYWxsX2FkZGVkX2NiIChNTU1vZGVtVm9pY2Ug ICp2b2ljZSwKKyAKKyAKKyBzdGF0aWMgdm9pZAorLWNsZWFyX2NhbGxfZGlyZWN0aW9uIChXeXNN b2RlbSAgICAgKnNlbGYsCistICAgICAgICAgICAgICAgICAgICAgIE1NQ2FsbCAgICAgICAqbW1f Y2FsbCwKKy0gICAgICAgICAgICAgICAgICAgICAgV3lzRGlyZWN0aW9uICBkaXJlY3Rpb24pCisr Y2xlYXJfY2FsbF9zdGF0ZSAoV3lzTW9kZW0gICAgICpzZWxmLAorKyAgICAgICAgICAgICAgICAg IE1NQ2FsbCAgICAgICAqbW1fY2FsbCkKKyB7CistICBnYm9vbGVhbiBoYXNfYXVkaW8gPQorLSAg ICBnZXRfY2FsbF9oYXNfYXVkaW8gKG1tX2NhbGwsIGRpcmVjdGlvbik7CisrICBnYm9vbGVhbiBo YXNfYXVkaW8gPSBnZXRfY2FsbF9oYXNfYXVkaW8gKG1tX2NhbGwpOworIAorICAgaWYgKGhhc19h dWRpbykKKyAgICAgeworLSAgICAgIHVwZGF0ZV9hdWRpb19jb3VudCAoc2VsZiwgZGlyZWN0aW9u LCAtMSk7CisrICAgICAgdXBkYXRlX2F1ZGlvX2NvdW50IChzZWxmLCAtMSk7CisgICAgIH0KKyB9 CisgCitAQCAtMzQzLDcgKzMxMiw3IEBAIGNhbGxfZGVsZXRlZF9jYiAoTU1Nb2RlbVZvaWNlICp2 b2ljZSwKKyB7CisgICBNTUNhbGwgKm1tX2NhbGw7CisgCistICBnX2RlYnVnICgiUmVtb3Zpbmcg Y2FsbCBgJXMnIiwgcGF0aCk7CisrICBnX21lc3NhZ2UgKCJSZW1vdmluZyBjYWxsIGAlcyciLCBw YXRoKTsKKyAKKyAgIG1tX2NhbGwgPSBnX2hhc2hfdGFibGVfbG9va3VwIChzZWxmLT5jYWxscywg cGF0aCk7CisgICBpZiAoIW1tX2NhbGwpCitAQCAtMzUyLDE0ICszMjEsMTEgQEAgY2FsbF9kZWxl dGVkX2NiIChNTU1vZGVtVm9pY2UgKnZvaWNlLAorICAgICAgIHJldHVybjsKKyAgICAgfQorIAor LSAgY2xlYXJfY2FsbF9kaXJlY3Rpb24gKHNlbGYsIG1tX2NhbGwsCistICAgICAgICAgICAgICAg ICAgICAgICAgV1lTX0RJUkVDVElPTl9GUk9NX05FVFdPUkspOworLSAgY2xlYXJfY2FsbF9kaXJl Y3Rpb24gKHNlbGYsIG1tX2NhbGwsCistICAgICAgICAgICAgICAgICAgICAgICAgV1lTX0RJUkVD VElPTl9UT19ORVRXT1JLKTsKKysgIGNsZWFyX2NhbGxfc3RhdGUgKHNlbGYsIG1tX2NhbGwpOwor IAorICAgZ19oYXNoX3RhYmxlX3JlbW92ZSAoc2VsZi0+Y2FsbHMsIHBhdGgpOworIAorLSAgZ19k ZWJ1ZyAoIkNhbGwgYCVzJyByZW1vdmVkIiwgcGF0aCk7CisrICBnX21lc3NhZ2UgKCJDYWxsIGAl cycgcmVtb3ZlZCIsIHBhdGgpOworIH0KKyAKKyAKK0BAIC00NDQsMTEgKzQxMCw5IEBAIGRpc3Bv c2UgKEdPYmplY3QgKm9iamVjdCkKKyAgIGlmIChnX2hhc2hfdGFibGVfc2l6ZSAoc2VsZi0+Y2Fs bHMpID4gMCkKKyAgICAgeworICAgICAgIGdfaGFzaF90YWJsZV9yZW1vdmVfYWxsIChzZWxmLT5j YWxscyk7CistICAgICAgaWYgKHNlbGYtPmF1ZGlvX2NvdW50W1dZU19ESVJFQ1RJT05fRlJPTV9O RVRXT1JLXSA+IDAgfHwKKy0gICAgICAgICAgc2VsZi0+YXVkaW9fY291bnRbV1lTX0RJUkVDVElP Tl9UT19ORVRXT1JLXSA+IDApCisrICAgICAgaWYgKHNlbGYtPmF1ZGlvX2NvdW50ID4gMCkKKyAg ICAgICAgIHsKKy0gICAgICAgICAgc2VsZi0+YXVkaW9fY291bnRbV1lTX0RJUkVDVElPTl9GUk9N X05FVFdPUktdID0KKy0gICAgICAgICAgICBzZWxmLT5hdWRpb19jb3VudFtXWVNfRElSRUNUSU9O X1RPX05FVFdPUktdID0gMDsKKysgICAgICAgICAgc2VsZi0+YXVkaW9fY291bnQgPSAwOworICAg ICAgICAgICBnX3NpZ25hbF9lbWl0X2J5X25hbWUgKHNlbGYsICJhdWRpby1hYnNlbnQiKTsKKyAg ICAgICAgIH0KKyAgICAgfQorQEAgLTUwNCw4ICs0NjgsNyBAQCB3eXNfbW9kZW1fY2xhc3NfaW5p dCAoV3lzTW9kZW1DbGFzcyAqa2xhc3MpCisgICAgICAgICAgICAgICAgICAgR19TSUdOQUxfUlVO X0xBU1QsCisgICAgICAgICAgICAgICAgICAgMCwgTlVMTCwgTlVMTCwgTlVMTCwKKyAgICAgICAg ICAgICAgICAgICBHX1RZUEVfTk9ORSwKKy0gICAgICAgICAgICAgICAgICAxLAorLSAgICAgICAg ICAgICAgICAgIFdZU19UWVBFX0RJUkVDVElPTik7CisrICAgICAgICAgICAgICAgICAgMCk7Cisg CisgICAvKioKKyAgICAqIFd5c01vZGVtOjphdWRpby1hYnNlbnQ6CitAQCAtNTIwLDggKzQ4Myw3 IEBAIHd5c19tb2RlbV9jbGFzc19pbml0IChXeXNNb2RlbUNsYXNzICprbGFzcykKKyAgICAgICAg ICAgICAgICAgICBHX1NJR05BTF9SVU5fTEFTVCwKKyAgICAgICAgICAgICAgICAgICAwLCBOVUxM LCBOVUxMLCBOVUxMLAorICAgICAgICAgICAgICAgICAgIEdfVFlQRV9OT05FLAorLSAgICAgICAg ICAgICAgICAgIDEsCistICAgICAgICAgICAgICAgICAgV1lTX1RZUEVfRElSRUNUSU9OKTsKKysg ICAgICAgICAgICAgICAgICAwKTsKKyB9CisgCisgCmRpZmYgLS1naXQgYS9zcmNwa2dzL3BpbmVw aG9uZS13eXMvdGVtcGxhdGUgYi9zcmNwa2dzL3BpbmVwaG9uZS13eXMvdGVtcGxhdGUKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmFiM2VhYWQ2NGFjCi0tLSAvZGV2L251 bGwKKysrIGIvc3JjcGtncy9waW5lcGhvbmUtd3lzL3RlbXBsYXRlCkBAIC0wLDAgKzEsMTkgQEAK KyMgVGVtcGxhdGUgZmlsZSBmb3IgJ3BpbmVwaG9uZS13eXMnCitwa2duYW1lPXBpbmVwaG9uZS13 eXMKK19wa2duYW1lPXd5cwordmVyc2lvbj0wLjEuOAorcmV2aXNpb249MQord3Jrc3JjPSR7X3Br Z25hbWV9LXYke3ZlcnNpb259CitidWlsZF9zdHlsZT1tZXNvbgoraG9zdG1ha2VkZXBlbmRzPSJw a2ctY29uZmlnIgorbWFrZWRlcGVuZHM9ImdsaWItZGV2ZWwgcHVsc2VhdWRpby1kZXZlbCBNb2Rl bU1hbmFnZXItZGV2ZWwiCitzaG9ydF9kZXNjPSJEYWVtb24gdG8gYnJpbmcgdXAgYW5kIHRha2Ug ZG93biBQdWxzZUF1ZGlvIGZvciBwaG9uZSBjYWxsIGF1ZGlvIgorbWFpbnRhaW5lcj0iSnVsaW8g R2FsdmFuIDxqdWxpby12b2lkQGVwYXpvdGUubmV0PiIKK2xpY2Vuc2U9IkdQTC0zLjAtb3ItbGF0 ZXIiCitob21lcGFnZT0iaHR0cHM6Ly9zb3VyY2UucHVyaS5zbS9MaWJyZW01L3d5cyIKK2Rpc3Rm aWxlcz0iJHtob21lcGFnZX0vLS9hcmNoaXZlL3Yke3ZlcnNpb259LyR7X3BrZ25hbWV9LXYke3Zl cnNpb259LnRhci5neiIKK2NoZWNrc3VtPTA3ZmQ2ZDJhZTllYTVkNjE4N2UxYzk5ZDViMGU1YzFk OWM3NGJhMDBmNDg2OWY0YWFlMTk1Y2Q4NzE0YmEzNzUKKworcG9zdF9pbnN0YWxsKCkgeworCXZp bnN0YWxsICR7RklMRVNESVJ9L3d5cy5kZXNrdG9wIDY0NCBldGMveGRnL2F1dG9zdGFydAorfQo= --===============1336800531608601448==--