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 14313 invoked from network); 2 Feb 2021 14:21:43 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 2 Feb 2021 14:21:43 -0000 Content-Type: multipart/mixed; boundary="===============0534456898944710794==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_=5BWIP=5D_polkit=3A_update_to_0=2E118_and_remove_mozjs60?= To: ml@inbox.vuxu.org From: ericonr Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Tue, 02 Feb 2021 15:21:40 +0100 List-Id: Message-ID: <20210202142140.13Vy8DG30jSZ-OuR4kFaszMGbyYglVK-J17wFlcOs6o@z> GitHub notification mails are now in MIME to allow UTF8. --===============0534456898944710794== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgZXJpY29uciBhZ2FpbnN0IG1hc3Rl ciBvbiB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20vZXJp Y29uci92b2lkLXBhY2thZ2VzIHBvbGtpdApodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92 b2lkLXBhY2thZ2VzL3B1bGwvMjgxOTkKCltXSVBdIHBvbGtpdDogdXBkYXRlIHRvIDAuMTE4IGFu ZCByZW1vdmUgbW96anM2MAo8IS0tIE1hcmsgaXRlbXMgd2l0aCBbeF0gd2hlcmUgYXBwbGljYWJs ZSAtLT4NCg0KIyMjIyBHZW5lcmFsDQotIFsgXSBUaGlzIGlzIGEgbmV3IHBhY2thZ2UgYW5kIGl0 IGNvbmZvcm1zIHRvIHRoZSBbcXVhbGl0eSByZXF1aXJlbWVudHNdKGh0dHBzOi8vZ2l0aHViLmNv bS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvYmxvYi9tYXN0ZXIvTWFudWFsLm1kI3F1YWxpdHkt cmVxdWlyZW1lbnRzKQ0KDQojIyMjIEhhdmUgdGhlIHJlc3VsdHMgb2YgdGhlIHByb3Bvc2VkIGNo YW5nZXMgYmVlbiB0ZXN0ZWQ/DQotIFsgXSBJIHVzZSB0aGUgcGFja2FnZXMgYWZmZWN0ZWQgYnkg dGhlIHByb3Bvc2VkIGNoYW5nZXMgb24gYSByZWd1bGFyIGJhc2lzIGFuZCBjb25maXJtIHRoaXMg UFIgd29ya3MgZm9yIG1lDQotIFt4XSBJIGdlbmVyYWxseSBkb24ndCB1c2UgdGhlIGFmZmVjdGVk IHBhY2thZ2VzIGJ1dCBicmllZmx5IHRlc3RlZCB0aGlzIFBSDQoNCjwhLS0NCklmIEdpdEh1YiBD SSBjYW5ub3QgYmUgdXNlZCB0byB2YWxpZGF0ZSB0aGUgYnVpbGQgcmVzdWx0IChmb3IgZXhhbXBs ZSwgaWYgdGhlDQpidWlsZCBpcyBsaWtlbHkgdG8gdGFrZSBzZXZlcmFsIGhvdXJzKSwgbWFrZSBz dXJlIHRvDQpbc2tpcCBDSV0oaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNr YWdlcy9ibG9iL21hc3Rlci9DT05UUklCVVRJTkcubWQjY29udGludW91cy1pbnRlZ3JhdGlvbiku DQpXaGVuIHNraXBwaW5nIENJLCB1bmNvbW1lbnQgYW5kIGZpbGwgb3V0IHRoZSBmb2xsb3dpbmcg c2VjdGlvbi4NCk5vdGU6IGZvciBidWlsZHMgdGhhdCBhcmUgbGlrZWx5IHRvIGNvbXBsZXRlIGlu IGxlc3MgdGhhbiAyIGhvdXJzLCBpdCBpcyBub3QNCmFjY2VwdGFibGUgdG8gc2tpcCBDSS4NCi0t Pg0KPCEtLSANCiMjIyMgRG9lcyBpdCBidWlsZCBhbmQgcnVuIHN1Y2Nlc3NmdWxseT8gDQooUGxl YXNlIGNob29zZSBhdCBsZWFzdCBvbmUgbmF0aXZlIGJ1aWxkIGFuZCwgaWYgc3VwcG9ydGVkLCBh dCBsZWFzdCBvbmUgY3Jvc3MgYnVpbGQuIE1vcmUgYXJlIGJldHRlci4pDQotIFsgXSBJIGJ1aWx0 IHRoaXMgUFIgbG9jYWxseSBmb3IgbXkgbmF0aXZlIGFyY2hpdGVjdHVyZSwgKEFSQ0gtTElCQykN Ci0gWyBdIEkgYnVpbHQgdGhpcyBQUiBsb2NhbGx5IGZvciB0aGVzZSBhcmNoaXRlY3R1cmVzIChp ZiBzdXBwb3J0ZWQuIG1hcmsgY3Jvc3NidWlsZHMpOg0KICAtIFsgXSBhYXJjaDY0LW11c2wNCiAg LSBbIF0gYXJtdjdsDQogIC0gWyBdIGFybXY2bC1tdXNsDQotLT4NCgoKQSBwYXRjaCBmaWxlIGZy b20gaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzI4MTk5 LnBhdGNoIGlzIGF0dGFjaGVk --===============0534456898944710794== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-polkit-28199.patch" RnJvbSAxZTExNzMzYzcwMGFiMmQ5ZWJiNjc1ZjRlODY1MzJlYjcwM2NmNzA3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/PUMzPTg5cmljbz0yMFJvbGltPz0gPGVyaWNv LmVyY0BnbWFpbC5jb20+CkRhdGU6IFN1biwgMjQgSmFuIDIwMjEgMTg6MzE6NTEgLTAzMDAKU3Vi amVjdDogW1BBVENIIDEvMl0gcG9sa2l0OiB1cGRhdGUgdG8gMC4xMTguCgpBbHNvIGFkZCBjaGVj a2RlcGVuZHMuCi0tLQogc3JjcGtncy9wb2xraXQvdGVtcGxhdGUgfCAyMiArKysrKysrKy0tLS0t LS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3BvbGtpdC90ZW1wbGF0ZSBiL3NyY3BrZ3MvcG9sa2l0 L3RlbXBsYXRlCmluZGV4IDA2ODE0NDlhMGQ5Li4xM2ExYzEwYzFkMiAxMDA2NDQKLS0tIGEvc3Jj cGtncy9wb2xraXQvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9wb2xraXQvdGVtcGxhdGUKQEAgLTEs MjMgKzEsMjQgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3BvbGtpdCcKIHBrZ25hbWU9cG9sa2l0 Ci12ZXJzaW9uPTAuMTE2Ci1yZXZpc2lvbj0zCit2ZXJzaW9uPTAuMTE4CityZXZpc2lvbj0xCiBi dWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCi1idWlsZF9oZWxwZXI9ImdpciIKK2J1aWxkX2hlbHBl cj1naXIKIGNvbmZpZ3VyZV9hcmdzPSIkKHZvcHRfZW5hYmxlIGdpciBpbnRyb3NwZWN0aW9uKSAt ZGlzYWJsZS1zdGF0aWMKLSAtLXdpdGgtYXV0aGZ3PXBhbSAgLS13aXRoLW9zLXR5cGU9dm9pZCAt LXdpdGgtbW96anM9bW96anMtNjAuMCIKKyAtLXdpdGgtYXV0aGZ3PXBhbSAgLS13aXRoLW9zLXR5 cGU9dm9pZCIKIG1ha2VfZGlycz0iCiAgL2V0Yy9wb2xraXQtMS9ydWxlcy5kIDA3MDAgcG9sa2l0 ZCBwb2xraXRkCiAgL3Vzci9zaGFyZS9wb2xraXQtMS9ydWxlcy5kIDA3MDAgcG9sa2l0ZCBwb2xr aXRkIgogaG9zdG1ha2VkZXBlbmRzPSJhdXRvY29uZi1hcmNoaXZlIGF1dG9tYWtlIGdldHRleHQt ZGV2ZWwgZ2xpYi1kZXZlbAogIGdvYmplY3QtaW50cm9zcGVjdGlvbiBndGstZG9jIGludGx0b29s IGxpYnRvb2wgcGtnLWNvbmZpZyIKLW1ha2VkZXBlbmRzPSJlbG9naW5kLWRldmVsIG1vempzNjAt ZGV2ZWwgcGFtLWRldmVsIgorbWFrZWRlcGVuZHM9ImVsb2dpbmQtZGV2ZWwgbW96anM3OC1kZXZl bCBwYW0tZGV2ZWwiCitjaGVja2RlcGVuZHM9InB5dGhvbjMtZGJ1cyBweXRob24zLWRidXNtb2Nr Igogc2hvcnRfZGVzYz0iQXV0aG9yaXphdGlvbiBUb29sa2l0IgogbWFpbnRhaW5lcj0iRW5ubyBC b2xhbmQgPGdvdHRveEB2b2lkbGludXgub3JnPiIKIGxpY2Vuc2U9IkdQTC0yLjAtb3ItbGF0ZXIi CiBob21lcGFnZT0iaHR0cHM6Ly93d3cuZnJlZWRlc2t0b3Aub3JnL3dpa2kvU29mdHdhcmUvcG9s a2l0IgogZGlzdGZpbGVzPSIke0ZSRUVERVNLVE9QX1NJVEV9LyR7cGtnbmFtZX0vcmVsZWFzZXMv JHtwa2duYW1lfS0ke3ZlcnNpb259LnRhci5neiIKLWNoZWNrc3VtPTg4MTcwYzllNzExZThkYjMw NWExMmZkYjgyMzRmYWM1NzA2YzYxOTY5Yjk0ZTA4NGQwZjExN2Q4ZWM1ZDM0YjEKK2NoZWNrc3Vt PTZkNTRlOTg0ZTcwNzIzMzlmMGQzMTQ3MTc5ZTE2ZTM0ZTVmZTA3MDUxNThmMjU5YTc2NWQ3NzJk Y2Y3ODk1NmIKIHN5c3RlbV9hY2NvdW50cz0icG9sa2l0ZCIKICNyZXBsYWNlcz0icG9sa2l0LWVs b2dpbmQ+PTAiCiAjcHJvdmlkZXM9InBvbGtpdC1lbG9naW5kLSR7dmVyc2lvbn1fJHtyZXZpc2lv bn0iCkBAIC0yOSwxNCArMzAsNyBAQCBidWlsZF9vcHRpb25zX2RlZmF1bHQ9ImdpciIKIHByZV9j b25maWd1cmUoKSB7CiAJYXV0b3JlY29uZiAtZmkKIAkjIERyb3AgcmVxdWlyZW1lbnQgb2YgL3N5 cy9mcy9jZ3JvdXAvc3lzdGVtZCB0ZXN0IGluIGNvbmZpZ3VyZS4uLiBXVEYuCi0Jc2VkIC1lICdz LC9zeXMvZnMvY2dyb3VwL3N5c3RlbWQvLC9zeXMvZnMvY2dyb3VwLGcnIC1pIGNvbmZpZ3VyZQot fQotCi1wb3N0X2NvbmZpZ3VyZSgpIHsKLQlpZiBbICIkQ1JPU1NfQlVJTEQiIF07IHRoZW4KLQkJ c2VkIC1lICJzIy1pbmNsdWRlIFwoL3Vzci9pbmNsdWRlL21vempzLTUyL2pzL1JlcXVpcmVkRGVm aW5lc1wuaFwpIy1pbmNsdWRlICR7WEJQU19DUk9TU19CQVNFfVwxIyIgXAotCQkJLWkgJChmaW5k IC1uYW1lIE1ha2VmaWxlKQotCWZpCisJdnNlZCAtZSAncywvc3lzL2ZzL2Nncm91cC9zeXN0ZW1k Lywvc3lzL2ZzL2Nncm91cCxnJyAtaSBjb25maWd1cmUKIH0KIAogcG9zdF9pbnN0YWxsKCkgewoK RnJvbSBhYzI0Njc4MjA3NmFiYmUxNzJmZGNmMjIyMzgwOWRiNTgzZmY1ZWI1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/PUMzPTg5cmljbz0yMFJvbGltPz0gPGVyaWNv LmVyY0BnbWFpbC5jb20+CkRhdGU6IFN1biwgMjQgSmFuIDIwMjEgMTg6NDA6NTEgLTAzMDAKU3Vi amVjdDogW1BBVENIIDIvMl0gbW96anM2MDogcmVtb3ZlIHBhY2thZ2UuCgotLS0KIGNvbW1vbi9z aGxpYnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMSAtCiBzcmNwa2dzL21v empzNjAtZGV2ZWwgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEgLQogLi4uLzAwMDEtc2ls ZW5jZS1zYW5kYm94LXZpb2xhdGlvbnMucGF0Y2ggICAgIHwgIDMwIC0KIC4uLm5kLXJlc3RvcmUt bm9uLXZvbGF0aWxlLXgyOC1vbi1hcm02NC5wYXRjaCB8ICA2NCAtLS0KIC4uLi1jbG9iYmVyaW5n LWl0LWluLXRoZS1yZWdleC1jb21waWxlci5wYXRjaCB8ICA5NyAtLS0tCiAuLi4vbW96anM2MC9w YXRjaGVzLzAwMDQtZml4LXNvbmFtZS1saWIucGF0Y2ggfCAgMzAgLQogLi4uL21vempzNjAvcGF0 Y2hlcy8wMDA1LWZpeC1tdXNsLWJ1aWxkLnBhdGNoIHwgIDE2IC0KIHNyY3BrZ3MvbW96anM2MC9w YXRjaGVzLzAwMDYtZW5kaWFubmVzcy5wYXRjaCB8IDEyNyAtLS0tLQogLi4uL3BhdGNoZXMvMDAw Ny1qc3Byb3BlcnR5LWVuZGlhbi5wYXRjaCAgICAgIHwgIDIyIC0KIC4uLi9tb3pqczYwL3BhdGNo ZXMvMDAwOC1jb3B5LWhlYWRlcnMucGF0Y2ggICB8ICAzMCAtCiAuLi4vbW96anM2MC9wYXRjaGVz LzAwMDktbWlwcy1zZ2lkZWZzX2gucGF0Y2ggfCAgMTEgLQogc3JjcGtncy9tb3pqczYwL3BhdGNo ZXMvMDAxMC1taXBzLUxJUi5wYXRjaCAgIHwgNTExIC0tLS0tLS0tLS0tLS0tLS0tLQogLi4uL3Bh dGNoZXMvMDAxMS1taXBzLW1hY3JvYXNzZW1ibGVyLnBhdGNoICAgIHwgIDI3IC0KIC4uLi8wMDEy LW1vempzNjAucGMtaG9ub3Itc3lzcm9vdC5wYXRjaCAgICAgICB8ICAxMyAtCiBzcmNwa2dzL21v empzNjAvdGVtcGxhdGUgICAgICAgICAgICAgICAgICAgICAgfCAgNjkgLS0tCiBzcmNwa2dzL21v empzNjAvdXBkYXRlICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEgLQogc3JjcGtncy9yZW1v dmVkLXBhY2thZ2VzL3RlbXBsYXRlICAgICAgICAgICAgIHwgICAxICsKIDE3IGZpbGVzIGNoYW5n ZWQsIDEgaW5zZXJ0aW9uKCspLCAxMDUwIGRlbGV0aW9ucygtKQogZGVsZXRlIG1vZGUgMTIwMDAw IHNyY3BrZ3MvbW96anM2MC1kZXZlbAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbW96anM2 MC9wYXRjaGVzLzAwMDEtc2lsZW5jZS1zYW5kYm94LXZpb2xhdGlvbnMucGF0Y2gKIGRlbGV0ZSBt b2RlIDEwMDY0NCBzcmNwa2dzL21vempzNjAvcGF0Y2hlcy8wMDAyLXNhdmUtYW5kLXJlc3RvcmUt bm9uLXZvbGF0aWxlLXgyOC1vbi1hcm02NC5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3Br Z3MvbW96anM2MC9wYXRjaGVzLzAwMDMtc2F2ZS14MjgtYmVmb3JlLWNsb2JiZXJpbmctaXQtaW4t dGhlLXJlZ2V4LWNvbXBpbGVyLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9tb3pq czYwL3BhdGNoZXMvMDAwNC1maXgtc29uYW1lLWxpYi5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0 IHNyY3BrZ3MvbW96anM2MC9wYXRjaGVzLzAwMDUtZml4LW11c2wtYnVpbGQucGF0Y2gKIGRlbGV0 ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL21vempzNjAvcGF0Y2hlcy8wMDA2LWVuZGlhbm5lc3MucGF0 Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL21vempzNjAvcGF0Y2hlcy8wMDA3LWpzcHJv cGVydHktZW5kaWFuLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9tb3pqczYwL3Bh dGNoZXMvMDAwOC1jb3B5LWhlYWRlcnMucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dz L21vempzNjAvcGF0Y2hlcy8wMDA5LW1pcHMtc2dpZGVmc19oLnBhdGNoCiBkZWxldGUgbW9kZSAx MDA2NDQgc3JjcGtncy9tb3pqczYwL3BhdGNoZXMvMDAxMC1taXBzLUxJUi5wYXRjaAogZGVsZXRl IG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbW96anM2MC9wYXRjaGVzLzAwMTEtbWlwcy1tYWNyb2Fzc2Vt Ymxlci5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbW96anM2MC9wYXRjaGVzLzAw MTItbW96anM2MC5wYy1ob25vci1zeXNyb290LnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3Jj cGtncy9tb3pqczYwL3RlbXBsYXRlCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9tb3pqczYw L3VwZGF0ZQoKZGlmZiAtLWdpdCBhL2NvbW1vbi9zaGxpYnMgYi9jb21tb24vc2hsaWJzCmluZGV4 IGRkOGE3MDE5ZWUzLi40MjQwZTgzYTQ5NCAxMDA2NDQKLS0tIGEvY29tbW9uL3NobGlicworKysg Yi9jb21tb24vc2hsaWJzCkBAIC0zNTExLDcgKzM1MTEsNiBAQCBsaWJtYXhtaW5kZGIuc28uMCBs aWJtYXhtaW5kZGItMS4zLjJfMQogbGlibXlzcWxwcC5zby4zIG15c3FsKystMy4yLjVfMQogbGli S0Y1U3luZGljYXRpb24uc28uNSBzeW5kaWNhdGlvbi01LjUwLjBfMQogbGlibHFyLTEuc28uMCBs aWJscXItMC40LjJfMQotbGlibW96anMtNjAuc28uMCBtb3pqczYwLTYwLjAuMl8xCiBsaWJtb3pq cy03OC5zby4wIG1vempzNzgtNzguMS4wXzEKIGxpYmVidXIxMjguc28uMSBsaWJlYnVyMTI4LTEu Mi40XzEKIGxpYmd0a3NvdXJjZXZpZXctNC5zby4wIGd0a3NvdXJjZXZpZXc0LTQuMC4yXzEKZGlm ZiAtLWdpdCBhL3NyY3BrZ3MvbW96anM2MC1kZXZlbCBiL3NyY3BrZ3MvbW96anM2MC1kZXZlbApk ZWxldGVkIGZpbGUgbW9kZSAxMjAwMDAKaW5kZXggNDYyNjFiNDNkYmUuLjAwMDAwMDAwMDAwCi0t LSBhL3NyY3BrZ3MvbW96anM2MC1kZXZlbAorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLW1v empzNjAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmNwa2dzL21v empzNjAvcGF0Y2hlcy8wMDAxLXNpbGVuY2Utc2FuZGJveC12aW9sYXRpb25zLnBhdGNoIGIvc3Jj cGtncy9tb3pqczYwL3BhdGNoZXMvMDAwMS1zaWxlbmNlLXNhbmRib3gtdmlvbGF0aW9ucy5wYXRj aApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTE4MjAyNjcxODIuLjAwMDAwMDAwMDAw Ci0tLSBhL3NyY3BrZ3MvbW96anM2MC9wYXRjaGVzLzAwMDEtc2lsZW5jZS1zYW5kYm94LXZpb2xh dGlvbnMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMCArMCwwIEBACi1VcHN0cmVhbTogbm8K LUZyb20gOWFkMTA1NjllMTFhMmZiOTYzNzcxODhmODk1YmM2NmFiY2M5NTExZCBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKLUZyb206IE1hcmMtQW50b2luZSBQZXJlbm5vdSA8TWFyYy1BbnRvaW5l QFBlcmVubm91LmNvbT4KLURhdGU6IFdlZCwgNSBTZXAgMjAxOCAxNTowNToyNCArMDIwMAotU3Vi amVjdDogW1BBVENIXSBzaWxlbmNlIHNhbmRib3ggdmlvbGF0aW9ucwotCi1TaWduZWQtb2ZmLWJ5 OiBNYXJjLUFudG9pbmUgUGVyZW5ub3UgPE1hcmMtQW50b2luZUBQZXJlbm5vdS5jb20+Ci0tLS0K LSBweXRob24vbW96YnVpbGQvbW96YnVpbGQvZnJvbnRlbmQvZW1pdHRlci5weSB8IDUgLS0tLS0K LSAxIGZpbGUgY2hhbmdlZCwgNSBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3B5dGhvbi9t b3pidWlsZC9tb3pidWlsZC9mcm9udGVuZC9lbWl0dGVyLnB5IGIvcHl0aG9uL21vemJ1aWxkL21v emJ1aWxkL2Zyb250ZW5kL2VtaXR0ZXIucHkKLWluZGV4IDY0MmIzODFjMC4uYzM3ZmJmNWQwIDEw MDY0NAotLS0tIGEvcHl0aG9uL21vemJ1aWxkL21vemJ1aWxkL2Zyb250ZW5kL2VtaXR0ZXIucHkK LSsrKyBiL3B5dGhvbi9tb3pidWlsZC9tb3pidWlsZC9mcm9udGVuZC9lbWl0dGVyLnB5Ci1AQCAt MTEyNywxMSArMTEyNyw2IEBAIGNsYXNzIFRyZWVNZXRhZGF0YUVtaXR0ZXIoTG9nZ2luZ01peGlu KToKLSAgICAgICAgICAgICAgICAgcmFpc2UgU2FuZGJveFZhbGlkYXRpb25FcnJvcignUGF0aCBz cGVjaWZpZWQgaW4gTE9DQUxfSU5DTFVERVMgJwotICAgICAgICAgICAgICAgICAgICAgJ2RvZXMg bm90IGV4aXN0OiAlcyAocmVzb2x2ZWQgdG8gJXMpJyAlIChsb2NhbF9pbmNsdWRlLAotICAgICAg ICAgICAgICAgICAgICAgZnVsbF9wYXRoKSwgY29udGV4dCkKLS0gICAgICAgICAgICBpZiAoZnVs bF9wYXRoID09IGNvbnRleHQuY29uZmlnLnRvcHNyY2RpciBvcgotLSAgICAgICAgICAgICAgICAg ICAgZnVsbF9wYXRoID09IGNvbnRleHQuY29uZmlnLnRvcG9iamRpcik6Ci0tICAgICAgICAgICAg ICAgIHJhaXNlIFNhbmRib3hWYWxpZGF0aW9uRXJyb3IoJ1BhdGggc3BlY2lmaWVkIGluIExPQ0FM X0lOQ0xVREVTICcKLS0gICAgICAgICAgICAgICAgICAgICdpcyBub3QgYWxsb3dlZDogJXMgKHJl c29sdmVkIHRvICVzKScgJSAobG9jYWxfaW5jbHVkZSwKLS0gICAgICAgICAgICAgICAgICAgIGZ1 bGxfcGF0aCksIGNvbnRleHQpCi0gICAgICAgICAgICAgaW5jbHVkZV9vYmogPSBMb2NhbEluY2x1 ZGUoY29udGV4dCwgbG9jYWxfaW5jbHVkZSkKLSAgICAgICAgICAgICBsb2NhbF9pbmNsdWRlcy5h cHBlbmQoaW5jbHVkZV9vYmoucGF0aC5mdWxsX3BhdGgpCi0gICAgICAgICAgICAgeWllbGQgaW5j bHVkZV9vYmoKLS0tIAotMi4xOC4wCi0KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbW96anM2MC9wYXRj aGVzLzAwMDItc2F2ZS1hbmQtcmVzdG9yZS1ub24tdm9sYXRpbGUteDI4LW9uLWFybTY0LnBhdGNo IGIvc3JjcGtncy9tb3pqczYwL3BhdGNoZXMvMDAwMi1zYXZlLWFuZC1yZXN0b3JlLW5vbi12b2xh dGlsZS14Mjgtb24tYXJtNjQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ2 ZDI4MGQwNmFlLi4wMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL21vempzNjAvcGF0Y2hlcy8wMDAy LXNhdmUtYW5kLXJlc3RvcmUtbm9uLXZvbGF0aWxlLXgyOC1vbi1hcm02NC5wYXRjaAorKysgL2Rl di9udWxsCkBAIC0xLDY0ICswLDAgQEAKLSMgSEcgY2hhbmdlc2V0IHBhdGNoCi0jIFVzZXIgTGFy cyBUIEhhbnNlbiA8bGhhbnNlbkBtb3ppbGxhLmNvbT4KLSMgRGF0ZSAxNTE5ODIyNjcyIC0zNjAw Ci0jIE5vZGUgSUQgODAwYWJlNjY4OTRkNmIwN2IyNGJjY2VjYmY2YTY1ZTIyNjEwNzZmNgotIyBQ YXJlbnQgIDIyM2M5NzQ1OWU5NjE4M2ViNjE2YWVkMzkxNDcyMDdiZGI5NTNiYTgKLUJ1ZyAxMzc1 MDc0IC0gU2F2ZSBhbmQgcmVzdG9yZSBub24tdm9sYXRpbGUgeDI4IG9uIEFSTTY0IGZvciBnZW5l cmF0ZWQgdW5ib3hlZCBvYmplY3QgY29uc3RydWN0b3IuICByPXNzdGFuZ2wKLQotT3JpZ2luOiB1 cHN0cmVhbQotQXBwbGllZC11cHN0cmVhbTogNjEsIGNvbW1pdDogaHR0cHM6Ly9oZy5tb3ppbGxh Lm9yZy9tb3ppbGxhLWNlbnRyYWwvcmV2LzgwMGFiZTY2ODk0ZAotLS0tCi0ganMvc3JjL3ZtL1Vu Ym94ZWRPYmplY3QuY3BwIHwgMzAgKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tCi0gMSBm aWxlIGNoYW5nZWQsIDI2IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1n aXQgYS9qcy9zcmMvdm0vVW5ib3hlZE9iamVjdC5jcHAgYi9qcy9zcmMvdm0vVW5ib3hlZE9iamVj dC5jcHAKLWluZGV4IDM1Y2EyMGQ3NDA1Zi4uMWMyMGExMDkzZDEzIDEwMDY0NAotLS0tIGEvanMv c3JjL3ZtL1VuYm94ZWRPYmplY3QuY3BwCi0rKysgYi9qcy9zcmMvdm0vVW5ib3hlZE9iamVjdC5j cHAKLUBAIC04Niw5ICs4NiwxNiBAQCBzdGF0aWMgY29uc3QgdWludHB0cl90IENMRUFSX0NPTlNU UlVDVE9SX0NPREVfVE9LRU4gPSAweDE7Ci0gI2VuZGlmCi0KLSAjaWZkZWYgSlNfQ09ERUdFTl9B Uk02NAotLSAgLy8gQVJNNjQgY29tbXVuaWNhdGVzIHN0YWNrIGFkZHJlc3MgdmlhIHNwLCBidXQg dXNlcyBhIHBzZXVkby1zcCBmb3IKLS0gIC8vIGFkZHJlc3NpbmcuCi0tICBtYXNtLmluaXRTdGFj a1B0cigpOwotKyAgICAvLyBBUk02NCBjb21tdW5pY2F0ZXMgc3RhY2sgYWRkcmVzcyB2aWEgc3As IGJ1dCB1c2VzIGEgcHNldWRvLXNwIChQU1ApIGZvcgotKyAgICAvLyBhZGRyZXNzaW5nLiAgVGhl IHJlZ2lzdGVyIHdlIHVzZSBmb3IgUFNQIG1heSBob3dldmVyIGFsc28gYmUgdXNlZCBieQotKyAg ICAvLyBjYWxsaW5nIGNvZGUsIGFuZCBpdCBpcyBub252b2xhdGlsZSwgc28gc2F2ZSBpdC4gIERv IHRoaXMgYXMgYSBzcGVjaWFsCi0rICAgIC8vIGNhc2UgZmlyc3QgYmVjYXVzZSB0aGUgZ2VuZXJp YyBzYXZlL3Jlc3RvcmUgY29kZSBuZWVkcyB0aGUgUFNQIHRvIGJlCi0rICAgIC8vIGluaXRpYWxp emVkIGFscmVhZHkuCi0rICAgIE1PWl9BU1NFUlQoUHNldWRvU3RhY2tQb2ludGVyNjQuSXMobWFz bS5HZXRTdGFja1BvaW50ZXI2NCgpKSk7Ci0rICAgIG1hc20uU3RyKFBzZXVkb1N0YWNrUG9pbnRl cjY0LCB2aXhsOjpNZW1PcGVyYW5kKHNwLCAtMTYsIHZpeGw6OlByZUluZGV4KSk7Ci0rCi0rICAg IC8vIEluaXRpYWxpemUgdGhlIFBTUCBmcm9tIHRoZSBTUC4KLSsgICAgbWFzbS5pbml0U3RhY2tQ dHIoKTsKLSAjZW5kaWYKLQotICAgTU9aX0FTU0VSVChwcm9wZXJ0aWVzUmVnLnZvbGF0aWxlXygp KTsKLUBAIC0yMzksNyArMjQ2LDIyIEBAIHN0YXRpYyBjb25zdCB1aW50cHRyX3QgQ0xFQVJfQ09O U1RSVUNUT1JfQ09ERV9UT0tFTiA9IDB4MTsKLSAgIGlmIChTY3JhdGNoRG91YmxlUmVnLnZvbGF0 aWxlXygpKSBtYXNtLnBvcChTY3JhdGNoRG91YmxlUmVnKTsKLSAgIG1hc20uUG9wUmVnc0luTWFz ayhzYXZlZE5vblZvbGF0aWxlUmVnaXN0ZXJzKTsKLQotLSAgbWFzbS5hYmlyZXQoKTsKLSsjaWZk ZWYgSlNfQ09ERUdFTl9BUk02NAotKyAgICAvLyBOb3cgcmVzdG9yZSB0aGUgdmFsdWUgdGhhdCB3 YXMgaW4gdGhlIFBTUCByZWdpc3RlciBvbiBlbnRyeSwgYW5kIHJldHVybi4KLSsKLSsgICAgLy8g T2J0YWluIHRoZSBjb3JyZWN0IFNQIGZyb20gdGhlIFBTUC4KLSsgICAgbWFzbS5Nb3Yoc3AsIFBz ZXVkb1N0YWNrUG9pbnRlcjY0KTsKLSsKLSsgICAgLy8gUmVzdG9yZSB0aGUgc2F2ZWQgdmFsdWUg b2YgdGhlIFBTUCByZWdpc3RlciwgdGhpcyB2YWx1ZSBpcyB3aGF0ZXZlciB0aGUKLSsgICAgLy8g Y2FsbGVyIGhhZCBzYXZlZCBpbiBpdCwgbm90IGFueSBhY3R1YWwgU1AgdmFsdWUsIGFuZCBpdCBt dXN0IG5vdCBiZQotKyAgICAvLyBvdmVyd3JpdHRlbiBzdWJzZXF1ZW50bHkuCi0rICAgIG1hc20u TGRyKFBzZXVkb1N0YWNrUG9pbnRlcjY0LCB2aXhsOjpNZW1PcGVyYW5kKHNwLCAxNiwgdml4bDo6 UG9zdEluZGV4KSk7Ci0rCi0rICAgIC8vIFBlcmZvcm0gYSBwbGFpbiBSZXQoKSwgYXMgYWJpcmV0 KCkgd2lsbCBtb3ZlIFNQIDwtIFBTUCBhbmQgdGhhdCBpcyB3cm9uZy4KLSsgICAgbWFzbS5SZXQo dml4bDo6bHIpOwotKyNlbHNlCi0rICAgIG1hc20uYWJpcmV0KCk7Ci0rI2VuZGlmCi0KLSAgIG1h c20uYmluZCgmZmFpbHVyZVN0b3JlT3RoZXIpOwotCi0tLQotMi4yMS4wCi0KZGlmZiAtLWdpdCBh L3NyY3BrZ3MvbW96anM2MC9wYXRjaGVzLzAwMDMtc2F2ZS14MjgtYmVmb3JlLWNsb2JiZXJpbmct aXQtaW4tdGhlLXJlZ2V4LWNvbXBpbGVyLnBhdGNoIGIvc3JjcGtncy9tb3pqczYwL3BhdGNoZXMv MDAwMy1zYXZlLXgyOC1iZWZvcmUtY2xvYmJlcmluZy1pdC1pbi10aGUtcmVnZXgtY29tcGlsZXIu cGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM4ODZjMGU5YjIxLi4wMDAwMDAw MDAwMAotLS0gYS9zcmNwa2dzL21vempzNjAvcGF0Y2hlcy8wMDAzLXNhdmUteDI4LWJlZm9yZS1j bG9iYmVyaW5nLWl0LWluLXRoZS1yZWdleC1jb21waWxlci5wYXRjaAorKysgL2Rldi9udWxsCkBA IC0xLDk3ICswLDAgQEAKLSMgSEcgY2hhbmdlc2V0IHBhdGNoCi0jIFVzZXIgTGFycyBUIEhhbnNl biA8bGhhbnNlbkBtb3ppbGxhLmNvbT4KLSMgRGF0ZSAxNTIxNDQ5ODg2IC0zNjAwCi0jIE5vZGUg SUQgOTAzYTc5YTFlZmZmMThmYzdjYzUwZGIwOWEzZmU1ZDc2OGFkYzlhOAotIyBQYXJlbnQgIDRk Mjk1NWE5Y2E3ZTMwY2E0YzNhZjljMjE0Y2NjNzdmYjJmZTdmYjgKLUJ1ZyAxNDQ1OTA3IC0gU2F2 ZSB4MjggYmVmb3JlIGNsb2JiZXJpbmcgaXQgaW4gdGhlIHJlZ2V4IGNvbXBpbGVyLiByPXNzdGFu Z2wKLQotT3JpZ2luOiB1cHN0cmVhbQotQXBwbGllZC11cHN0cmVhbTogNjEsIGNvbW1pdDogaHR0 cHM6Ly9oZy5tb3ppbGxhLm9yZy9tb3ppbGxhLWNlbnRyYWwvcmV2LzkwM2E3OWExZWZmZgotLS0t Ci1kaWZmIC0tZ2l0IGEvanMvc3JjL2lycmVnZXhwL05hdGl2ZVJlZ0V4cE1hY3JvQXNzZW1ibGVy LmNwcCBiL2pzL3NyYy9pcnJlZ2V4cC9OYXRpdmVSZWdFeHBNYWNyb0Fzc2VtYmxlci5jcHAKLS0t LSBhL2pzL3NyYy9pcnJlZ2V4cC9OYXRpdmVSZWdFeHBNYWNyb0Fzc2VtYmxlci5jcHAKLSsrKyBi L2pzL3NyYy9pcnJlZ2V4cC9OYXRpdmVSZWdFeHBNYWNyb0Fzc2VtYmxlci5jcHAKLUBAIC0xMTgs MTcgKzExOCwyNSBAQCBOYXRpdmVSZWdFeHBNYWNyb0Fzc2VtYmxlcjo6R2VuZXJhdGVDb2RlCi0K LSAgICAgTGFiZWwgcmV0dXJuX3RlbXAwOwotCi0gICAgIC8vIEZpbmFsaXplIGNvZGUgLSB3cml0 ZSB0aGUgZW50cnkgcG9pbnQgY29kZSBub3cgd2Uga25vdyBob3cgbWFueQotICAgICAvLyByZWdp c3RlcnMgd2UgbmVlZC4KLSAgICAgbWFzbS5iaW5kKCZlbnRyeV9sYWJlbF8pOwotCi0gI2lmZGVm IEpTX0NPREVHRU5fQVJNNjQKLS0gICAgLy8gQVJNNjQgY29tbXVuaWNhdGVzIHN0YWNrIGFkZHJl c3MgdmlhIHNwLCBidXQgdXNlcyBhIHBzZXVkby1zcCBmb3IgYWRkcmVzc2luZy4KLSsgICAgLy8g QVJNNjQgY29tbXVuaWNhdGVzIHN0YWNrIGFkZHJlc3MgdmlhIFNQLCBidXQgdXNlcyBhIHBzZXVk by1zcCAoUFNQKSBmb3IKLSsgICAgLy8gYWRkcmVzc2luZy4gIFRoZSByZWdpc3RlciB3ZSB1c2Ug Zm9yIFBTUCBtYXkgaG93ZXZlciBhbHNvIGJlIHVzZWQgYnkKLSsgICAgLy8gY2FsbGluZyBjb2Rl LCBhbmQgaXQgaXMgbm9udm9sYXRpbGUsIHNvIHNhdmUgaXQuICBEbyB0aGlzIGFzIGEgc3BlY2lh bAotKyAgICAvLyBjYXNlIGZpcnN0IGJlY2F1c2UgdGhlIGdlbmVyaWMgc2F2ZS9yZXN0b3JlIGNv ZGUgbmVlZHMgdGhlIFBTUCB0byBiZQotKyAgICAvLyBpbml0aWFsaXplZCBhbHJlYWR5LgotKyAg ICBNT1pfQVNTRVJUKFBzZXVkb1N0YWNrUG9pbnRlcjY0LklzKG1hc20uR2V0U3RhY2tQb2ludGVy NjQoKSkpOwotKyAgICBtYXNtLlN0cihQc2V1ZG9TdGFja1BvaW50ZXI2NCwgdml4bDo6TWVtT3Bl cmFuZChzcCwgLTE2LCB2aXhsOjpQcmVJbmRleCkpOwotKwotKyAgICAvLyBJbml0aWFsaXplIHRo ZSBQU1AgZnJvbSB0aGUgU1AuCi0gICAgIG1hc20uaW5pdFN0YWNrUHRyKCk7Ci0gI2VuZGlmCi0K LSAgICAgLy8gUHVzaCBub24tdm9sYXRpbGUgcmVnaXN0ZXJzIHdoaWNoIG1pZ2h0IGJlIG1vZGlm aWVkIGJ5IGppdGNvZGUuCi0gICAgIHNpemVfdCBwdXNoZWROb25Wb2xhdGlsZVJlZ2lzdGVycyA9 IDA7Ci0gICAgIGZvciAoR2VuZXJhbFJlZ2lzdGVyRm9yd2FyZEl0ZXJhdG9yIGl0ZXIoc2F2ZWRO b25Wb2xhdGlsZVJlZ2lzdGVycyk7IGl0ZXIubW9yZSgpOyArK2l0ZXIpIHsKLSAgICAgICAgIG1h c20uUHVzaCgqaXRlcik7Ci0gICAgICAgICBwdXNoZWROb25Wb2xhdGlsZVJlZ2lzdGVycysrOwot QEAgLTQxNiwxNyArNDI0LDMyIEBAIE5hdGl2ZVJlZ0V4cE1hY3JvQXNzZW1ibGVyOjpHZW5lcmF0 ZUNvZGUKLSAgICAgbWFzbS5wb3AodGVtcDApOwotICAgICBtYXNtLm1vdmVQdHIodGVtcDAsIFN0 YWNrUG9pbnRlcik7Ci0gI2VuZGlmCi0KLSAgICAgLy8gUmVzdG9yZSBub24tdm9sYXRpbGUgcmVn aXN0ZXJzIHdoaWNoIHdlcmUgc2F2ZWQgb24gZW50cnkuCi0gICAgIGZvciAoR2VuZXJhbFJlZ2lz dGVyQmFja3dhcmRJdGVyYXRvciBpdGVyKHNhdmVkTm9uVm9sYXRpbGVSZWdpc3RlcnMpOyBpdGVy Lm1vcmUoKTsgKytpdGVyKQotICAgICAgICAgbWFzbS5Qb3AoKml0ZXIpOwotCi0rI2lmZGVmIEpT X0NPREVHRU5fQVJNNjQKLSsgICAgLy8gTm93IHJlc3RvcmUgdGhlIHZhbHVlIHRoYXQgd2FzIGlu IHRoZSBQU1AgcmVnaXN0ZXIgb24gZW50cnksIGFuZCByZXR1cm4uCi0rCi0rICAgIC8vIE9idGFp biB0aGUgY29ycmVjdCBTUCBmcm9tIHRoZSBQU1AuCi0rICAgIG1hc20uTW92KHNwLCBQc2V1ZG9T dGFja1BvaW50ZXI2NCk7Ci0rCi0rICAgIC8vIFJlc3RvcmUgdGhlIHNhdmVkIHZhbHVlIG9mIHRo ZSBQU1AgcmVnaXN0ZXIsIHRoaXMgdmFsdWUgaXMgd2hhdGV2ZXIgdGhlCi0rICAgIC8vIGNhbGxl ciBoYWQgc2F2ZWQgaW4gaXQsIG5vdCBhbnkgYWN0dWFsIFNQIHZhbHVlLCBhbmQgaXQgbXVzdCBu b3QgYmUKLSsgICAgLy8gb3ZlcndyaXR0ZW4gc3Vic2VxdWVudGx5LgotKyAgICBtYXNtLkxkcihQ c2V1ZG9TdGFja1BvaW50ZXI2NCwgdml4bDo6TWVtT3BlcmFuZChzcCwgMTYsIHZpeGw6OlBvc3RJ bmRleCkpOwotKwotKyAgICAvLyBQZXJmb3JtIGEgcGxhaW4gUmV0KCksIGFzIGFiaXJldCgpIHdp bGwgbW92ZSBTUCA8LSBQU1AgYW5kIHRoYXQgaXMgd3JvbmcuCi0rICAgIG1hc20uUmV0KHZpeGw6 OmxyKTsKLSsjZWxzZQotICAgICBtYXNtLmFiaXJldCgpOwotKyNlbmRpZgotCi0gICAgIC8vIEJh Y2t0cmFjayBjb2RlIChicmFuY2ggdGFyZ2V0IGZvciBjb25kaXRpb25hbCBiYWNrdHJhY2tzKS4K LSAgICAgaWYgKGJhY2t0cmFja19sYWJlbF8udXNlZCgpKSB7Ci0gICAgICAgICBtYXNtLmJpbmQo JmJhY2t0cmFja19sYWJlbF8pOwotICAgICAgICAgQmFja3RyYWNrKCk7Ci0gICAgIH0KLQotICAg ICAvLyBCYWNrdHJhY2sgc3RhY2sgb3ZlcmZsb3cgY29kZS4KLWRpZmYgLS1naXQgYS9qcy9zcmMv aml0LXRlc3QvdGVzdHMvcmVnZXhwL2J1ZzE0NDU5MDcuanMgYi9qcy9zcmMvaml0LXRlc3QvdGVz dHMvcmVnZXhwL2J1ZzE0NDU5MDcuanMKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci0tLS0gL2Rldi9u dWxsCi0rKysgYi9qcy9zcmMvaml0LXRlc3QvdGVzdHMvcmVnZXhwL2J1ZzE0NDU5MDcuanMKLUBA IC0wLDAgKzEsMTUgQEAKLSsvLyBPbiBBUk02NCwgd2UgZmFpbGVkIHRvIHNhdmUgeDI4IHByb3Bl cmx5IHdoZW4gZ2VuZXJhdGluZyBjb2RlIGZvciB0aGUgcmVnZXhwCi0rLy8gbWF0Y2hlci4KLSsv LwotKy8vIFRoZXJlJ3Mgd2FzbSBhbmQgRGVidWdnZXIgY29kZSBoZXJlIGJlY2F1c2UgdGhlIGNv bWJpbmF0aW9uIGZvcmNlcyB0aGUgdXNlIG9mCi0rLy8geDI4IGFuZCBleHBvc2VzIHRoZSBidWcg d2hlbiBydW5uaW5nIG9uIHRoZSBzaW11bGF0b3IuCi0rCi0raWYgKCF3YXNtSXNTdXBwb3J0ZWQo KSkKLSsgICAgcXVpdCgpOwotKwotK3ZhciBnID0gbmV3R2xvYmFsKCcnKTsKLSt2YXIgZGJnID0g bmV3IERlYnVnZ2VyKGcpOwotK2cuZXZhbChgdmFyIG0gPSBuZXcgV2ViQXNzZW1ibHkuSW5zdGFu Y2UobmV3IFdlYkFzc2VtYmx5Lk1vZHVsZSh3YXNtVGV4dFRvQmluYXJ5KCcobW9kdWxlIChmdW5j IChleHBvcnQgInRlc3QiKSkpJykpKWApOwotK3ZhciByZSA9IC8uLzsKLStkYmcub25FbnRlckZy YW1lID0gZnVuY3Rpb24oZnJhbWUpIHsgcmUuZXhlYygieCIpIH07Ci0rcmVzdWx0ID0gZy5ldmFs KCJtLmV4cG9ydHMudGVzdCgpIik7Ci0KLS0tCi0yLjIxLjAKLQpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9tb3pqczYwL3BhdGNoZXMvMDAwNC1maXgtc29uYW1lLWxpYi5wYXRjaCBiL3NyY3BrZ3MvbW96 anM2MC9wYXRjaGVzLzAwMDQtZml4LXNvbmFtZS1saWIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IGI5MTQ3ZmEyMGM5Li4wMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL21vempz NjAvcGF0Y2hlcy8wMDA0LWZpeC1zb25hbWUtbGliLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEs MzAgKzAsMCBAQAotU291cmNlOiBBcmNoIExpbnV4Ci1VcHN0cmVhbTogVW5rbm93bgotUmVhc29u OiBmaXhlcyBsaW5raW5nIGFnYWluc3QgbGlibW96anMtNjAKLQotZGlmZiAtLWdpdCBpL2pzL3Ny Yy9idWlsZC9NYWtlZmlsZS5pbiB3L2pzL3NyYy9idWlsZC9NYWtlZmlsZS5pbgotaW5kZXggZWUx OTEwNGUwZWY1Li5hMGYwNmZkMzVhMTggMTAwNjQ0Ci0tLS0gaS9qcy9zcmMvYnVpbGQvTWFrZWZp bGUuaW4KLSsrKyB3L2pzL3NyYy9idWlsZC9NYWtlZmlsZS5pbgotQEAgLTg5LDYgKzg5LDggQEAg aWZuZXEgKCwkKFJFQUxfTElCUkFSWSkpCi0gZW5kaWYKLSBpZm5lcSAoLCQoU0hBUkVEX0xJQlJB UlkpKQotIAkkKFNZU0lOU1RBTEwpICQoU0hBUkVEX0xJQlJBUlkpICQoREVTVERJUikkKGxpYmRp cikKLSsJbXYgLWYgJChERVNURElSKSQobGliZGlyKS8kKFNIQVJFRF9MSUJSQVJZKSAkKERFU1RE SVIpJChsaWJkaXIpLyQoU0hBUkVEX0xJQlJBUlkpLjAKLSsJbG4gLXMgJChTSEFSRURfTElCUkFS WSkuMCAkKERFU1RESVIpJChsaWJkaXIpLyQoU0hBUkVEX0xJQlJBUlkpCi0gaWZlcSAoJChPU19B UkNIKSxEYXJ3aW4pCi0gCWluc3RhbGxfbmFtZV90b29sIC1pZCAkKGFic3BhdGggJChsaWJkaXIp LyQoU0hBUkVEX0xJQlJBUlkpKSAkKERFU1RESVIpJChsaWJkaXIpLyQoU0hBUkVEX0xJQlJBUlkp Ci0gZW5kaWYKLWRpZmYgLS1naXQgaS9qcy9zcmMvYnVpbGQvbW96LmJ1aWxkIHcvanMvc3JjL2J1 aWxkL21vei5idWlsZAotaW5kZXggYTdmNWZhNGNlOGViLi43MjY2ODdjMTNmYjAgMTAwNjQ0Ci0t LS0gaS9qcy9zcmMvYnVpbGQvbW96LmJ1aWxkCi0rKysgdy9qcy9zcmMvYnVpbGQvbW96LmJ1aWxk Ci1AQCAtMjMsNiArMjMsNyBAQCBpZiBub3QgQ09ORklHWydKU19TVEFOREFMT05FJ106Ci0gaWYg Q09ORklHWydKU19TSEFSRURfTElCUkFSWSddOgotICAgICBHZWNrb1NoYXJlZExpYnJhcnkoJ2pz JywgbGlua2FnZT1Ob25lKQotICAgICBTSEFSRURfTElCUkFSWV9OQU1FID0gQ09ORklHWydKU19M SUJSQVJZX05BTUUnXQotKyAgICBMREZMQUdTICs9IFsnLVdsLC1zb25hbWUsbGlie30uc28uMCcu Zm9ybWF0KFNIQVJFRF9MSUJSQVJZX05BTUUpXQotIGVsc2U6Ci0gICAgIExpYnJhcnkoJ2pzJykK LSAKLQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9tb3pqczYwL3BhdGNoZXMvMDAwNS1maXgtbXVzbC1i dWlsZC5wYXRjaCBiL3NyY3BrZ3MvbW96anM2MC9wYXRjaGVzLzAwMDUtZml4LW11c2wtYnVpbGQu cGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFmMzk0NjczOTkwLi4wMDAwMDAw MDAwMAotLS0gYS9zcmNwa2dzL21vempzNjAvcGF0Y2hlcy8wMDA1LWZpeC1tdXNsLWJ1aWxkLnBh dGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTYgKzAsMCBAQAotVXBzdHJlYW06IE5vCi1SZWFzb246 IG1vempzNjAgbWlzY29tcGlsZXMgb24gbXVzbCBpZiBidWlsdCB3aXRoIEhBVkVfVEhSRUFEX1RM U19LRVlXT1JEOgotaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9p c3N1ZXMvMjU5OAotZGlmZiAtLWdpdCBhL2pzL3NyYy9vbGQtY29uZmlndXJlLmluIGIvanMvc3Jj L29sZC1jb25maWd1cmUuaW4KLS0tLSBhL2pzL3NyYy9vbGQtY29uZmlndXJlLmluCi0rKysgYi9q cy9zcmMvb2xkLWNvbmZpZ3VyZS5pbgotQEAgLTEyNzIsNiArMTI3Miw5IEBACi0gICAgICotYW5k cm9pZCp8Ki1saW51eGFuZHJvaWQqKQotICAgICAgIDoKLSAgICAgICA7OwotKyAgICAqLW11c2wq KQotKyAgICAgIDoKLSsgICAgICA7OwotICAgICAqKQotICAgICAgIEFDX0RFRklORShIQVZFX1RI UkVBRF9UTFNfS0VZV09SRCkKLSAgICAgICA7OwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9tb3pqczYw L3BhdGNoZXMvMDAwNi1lbmRpYW5uZXNzLnBhdGNoIGIvc3JjcGtncy9tb3pqczYwL3BhdGNoZXMv MDAwNi1lbmRpYW5uZXNzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NjM1 MmI3NGM3MC4uMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9tb3pqczYwL3BhdGNoZXMvMDAwNi1l bmRpYW5uZXNzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTI3ICswLDAgQEAKLUJ1ZyAxNDg4 NTUyIC0gRW5zdXJlIHByb3BlciBydW5uaW5nIG9uIDY0LWJpdCBhbmQgMzItYml0IEJFIHBsYXRm b3Jtcy4KLQotSW5kZXg6IG1vempzNjAvanMvc3JjL2djL01hcmtpbmctaW5sLmgKLT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tLSBhL2pzL3NyYy9nYy9NYXJraW5nLWlubC5oCTIwMTktMDItMjEgMTQ6NDQ6MjguMjk2 OTUxOTkyICswMTAwCi0rKysgYi9qcy9zcmMvZ2MvTWFya2luZy1pbmwuaAkyMDE5LTAyLTIyIDEw OjIyOjU0LjYxMjEyMDYwNCArMDEwMAotQEAgLTgyLDEyICs4MiwyOCBAQAotICAgTU9aX0FTU0VS VCghaXNGb3J3YXJkZWQoKSk7Ci0gICAvLyBUaGUgbG9jYXRpb24gb2YgbWFnaWNfIGlzIGltcG9y dGFudCBiZWNhdXNlIGl0IG11c3QgbmV2ZXIgYmUgdmFsaWQgdG8gc2VlCi0gICAvLyB0aGUgdmFs dWUgUmVsb2NhdGVkIHRoZXJlIGluIGEgR0MgdGhpbmcgdGhhdCBoYXMgbm90IGJlZW4gbW92ZWQu Ci0rI2lmIE1PWl9MSVRUTEVfRU5ESUFOIHx8IEpTX0JJVFNfUEVSX1dPUkQgPT0gMzIKLSsgIC8v IE9uIDMyLWJpdCwgdGhlIG1hZ2ljXyBhbGlhc2VzIHdpdGggd2hhdGV2ZXIgY29tZXMgYWZ0ZXIg dGhlIGZpcnN0Ci0rICAvLyBwb2ludGVyOyBvbiBsaXR0bGUtZW5kaWFuIDY0LWJpdCwgdGhlIG1h Z2ljXyBhbGlhc2VzIHdpdGggdGhlCi0rICAvLyAzMiBtb3N0IHNpZ25pZmljYW50IGJpdHMgb2Yg dGhlIHBvaW50ZXIsIHdoaWNoIGFyZSB0aGUgc2Vjb25kIGhhbGYuCi0gICBzdGF0aWNfYXNzZXJ0 KG9mZnNldG9mKFJlbG9jYXRpb25PdmVybGF5LCBtYWdpY18pID09Ci0gICAgICAgICAgICAgICAg ICAgICBvZmZzZXRvZihKU09iamVjdCwgZ3JvdXBfKSArIHNpemVvZih1aW50MzJfdCksCi0gICAg ICAgICAgICAgICAgICJSZWxvY2F0aW9uT3ZlcmxheTo6bWFnaWNfIGlzIGluIHRoZSB3cm9uZyBs b2NhdGlvbiIpOwotICAgc3RhdGljX2Fzc2VydChvZmZzZXRvZihSZWxvY2F0aW9uT3ZlcmxheSwg bWFnaWNfKSA9PQotICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0b2YoanM6OlNoYXBlLCBiYXNl XykgKyBzaXplb2YodWludDMyX3QpLAotICAgICAgICAgICAgICAgICAiUmVsb2NhdGlvbk92ZXJs YXk6Om1hZ2ljXyBpcyBpbiB0aGUgd3JvbmcgbG9jYXRpb24iKTsKLSsjZWxpZiBKU19CSVRTX1BF Ul9XT1JEID09IDY0Ci0rICAvLyBPbiBiaWctZW5kaWFuIDY0LWJpdCwgdGhlIG1hZ2ljXyBhbGlh c2VzIHdpdGggdGhlIDMyIG1vc3QKLSsgIC8vIHNpZ25pZmljYW50IGJpdHMgb2YgdGhlIHBvaW50 ZXIsIGJ1dCBub3cgdGhhdCdzIHRoZSBmaXJzdCBoYWxmLgotKyAgc3RhdGljX2Fzc2VydChvZmZz ZXRvZihSZWxvY2F0aW9uT3ZlcmxheSwgbWFnaWNfKSA9PQotKyAgICAgICAgICAgICAgICAgICAg b2Zmc2V0b2YoSlNPYmplY3QsIGdyb3VwXyksCi0rICAgICAgICAgICAgICAgICJSZWxvY2F0aW9u T3ZlcmxheTo6bWFnaWNfIGlzIGluIHRoZSB3cm9uZyBsb2NhdGlvbiIpOwotKyAgc3RhdGljX2Fz c2VydChvZmZzZXRvZihSZWxvY2F0aW9uT3ZlcmxheSwgbWFnaWNfKSA9PQotKyAgICAgICAgICAg ICAgICAgICAgb2Zmc2V0b2YoanM6OlNoYXBlLCBiYXNlXyksCi0rICAgICAgICAgICAgICAgICJS ZWxvY2F0aW9uT3ZlcmxheTo6bWFnaWNfIGlzIGluIHRoZSB3cm9uZyBsb2NhdGlvbiIpOwotKyNl bHNlCi0rIyAgZXJyb3IgIlVua25vd24gZW5kaWFubmVzcyBvciB3b3JkIHNpemUiCi0rI2VuZGlm Ci0gICBzdGF0aWNfYXNzZXJ0KAotICAgICAgIG9mZnNldG9mKFJlbG9jYXRpb25PdmVybGF5LCBt YWdpY18pID09IG9mZnNldG9mKEpTU3RyaW5nLCBkLnUxLmxlbmd0aCksCi0gICAgICAgIlJlbG9j YXRpb25PdmVybGF5OjptYWdpY18gaXMgaW4gdGhlIHdyb25nIGxvY2F0aW9uIik7Ci1JbmRleDog bW96anM2MC9qcy9zcmMvZ2MvUmVsb2NhdGlvbk92ZXJsYXkuaAotPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGEv anMvc3JjL2djL1JlbG9jYXRpb25PdmVybGF5LmgJMjAxOS0wMi0yMSAxNDo0NDoyOC4yOTY5NTE5 OTIgKzAxMDAKLSsrKyBiL2pzL3NyYy9nYy9SZWxvY2F0aW9uT3ZlcmxheS5oCTIwMTktMDItMjIg MTA6MTk6NDEuODE2ODIyMjAyICswMTAwCi1AQCAtMzQsMTQgKzM0LDI1IEBACi0gICAgIC8qIFNl ZSBjb21tZW50IGluIGpzL3B1YmxpYy9IZWFwQVBJLmguICovCi0gICAgIHN0YXRpYyBjb25zdCB1 aW50MzJfdCBSZWxvY2F0ZWQgPSBqczo6Z2M6OlJlbG9jYXRlZDsKLSAKLSsjaWYgTU9aX0xJVFRM RV9FTkRJQU4gfHwgSlNfQklUU19QRVJfV09SRCA9PSAzMgotICAgICAvKgotLSAgICAgKiBLZWVw IHRoZSBsb3cgMzIgYml0cyB1bnRvdWNoZWQuIFVzZSB0aGVtIHRvIGRpc3Rpbmd1aXNoIHN0cmlu Z3MgZnJvbQotKyAgICAgKiBLZWVwIHRoZSBmaXJzdCAzMiBiaXRzIHVudG91Y2hlZC4gVXNlIHRo ZW0gdG8gZGlzdGluZ3Vpc2ggc3RyaW5ncyBmcm9tCi0gICAgICAqIG9iamVjdHMgaW4gdGhlIG51 cnNlcnkuCi0gICAgICAqLwotICAgICB1aW50MzJfdCBwcmVzZXJ2ZV87Ci0gCi0gICAgIC8qIFNl dCB0byBSZWxvY2F0ZWQgd2hlbiBtb3ZlZC4gKi8KLSAgICAgdWludDMyX3QgbWFnaWNfOwotKyNl bGlmIEpTX0JJVFNfUEVSX1dPUkQgPT0gNjQKLSsgIC8qCi0rICAgKiBPbiBiaWctZW5kaWFuLCB3 ZSBuZWVkIHRvIHJlb3JkZXIgdG8ga2VlcCBwcmVzZXJ2ZV8gbGluZWQgdXAgd2l0aCB0aGUKLSsg ICAqIGxvdyAzMiBiaXRzIG9mIHRoZSBhbGlnbmVkIGdyb3VwXyBwb2ludGVyIGluIEpTT2JqZWN0 LgotKyAgICovCi0rICB1aW50MzJfdCBtYWdpY187Ci0rICB1aW50MzJfdCBwcmVzZXJ2ZV87Ci0r I2Vsc2UKLSsjICBlcnJvciAiVW5rbm93biBlbmRpYW5uZXNzIG9yIHdvcmQgc2l6ZSIKLSsjZW5k aWYKLSAKLSAgICAgLyogVGhlIGxvY2F0aW9uIHx0aGlzfCB3YXMgbW92ZWQgdG8uICovCi0gICAg IENlbGwqIG5ld0xvY2F0aW9uXzsKLUluZGV4OiBtb3pqczYwL2pzL3NyYy9qc2ZyaWVuZGFwaS5o Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLS0gYS9qcy9zcmMvanNmcmllbmRhcGkuaAkyMDE5LTAyLTIxIDE0OjQ0 OjI4LjQ4NDk1MTI0NSArMDEwMAotKysrIGIvanMvc3JjL2pzZnJpZW5kYXBpLmgJMjAxOS0wMi0y MiAxMDoyNDoyNS42NjM3NzQzOTkgKzAxMDAKLUBAIC05LDYgKzksNyBAQAotIAotICNpbmNsdWRl ICJtb3ppbGxhL0F0b21pY3MuaCIKLSAjaW5jbHVkZSAibW96aWxsYS9DYXN0aW5nLmgiCi0rI2lu Y2x1ZGUgIm1vemlsbGEvRW5kaWFuVXRpbHMuaCIKLSAjaW5jbHVkZSAibW96aWxsYS9NYXliZS5o IgotICNpbmNsdWRlICJtb3ppbGxhL01lbW9yeVJlcG9ydGluZy5oIgotICNpbmNsdWRlICJtb3pp bGxhL1VuaXF1ZVB0ci5oIgotQEAgLTY0MCw4ICs2NDEsMTUgQEAKLSAgICAgc3RhdGljIGNvbnN0 IHVpbnQzMl90IExBVElOMV9DSEFSU19CSVQgPSBKU19CSVQoNik7Ci0gICAgIHN0YXRpYyBjb25z dCB1aW50MzJfdCBFWFRFUk5BTF9GTEFHUyAgID0gTElORUFSX0JJVCB8IE5PTl9BVE9NX0JJVCB8 IEpTX0JJVCg1KTsKLSAgICAgc3RhdGljIGNvbnN0IHVpbnQzMl90IFRZUEVfRkxBR1NfTUFTSyAg PSBKU19CSVQoNikgLSAxOwotKyNpZiBNT1pfTElUVExFX0VORElBTiB8fCBKU19CSVRTX1BFUl9X T1JEID09IDMyCi0gICAgIHVpbnQzMl90IGZsYWdzOwotICAgICB1aW50MzJfdCBsZW5ndGg7Ci0r I2VsaWYgSlNfQklUU19QRVJfV09SRCA9PSA2NAotKyAgICB1aW50MzJfdCBsZW5ndGg7Ci0rICAg IHVpbnQzMl90IGZsYWdzOwotKyNlbHNlCi0rIyAgZXJyb3IgIlVua25vd24gZW5kaWFubmVzcyBv ciB3b3JkIHNpemUiCi0rI2VuZGlmCi0gICAgIHVuaW9uIHsKLSAgICAgICAgIGNvbnN0IEpTOjpM YXRpbjFDaGFyKiBub25JbmxpbmVDaGFyc0xhdGluMTsKLSAgICAgICAgIGNvbnN0IGNoYXIxNl90 KiBub25JbmxpbmVDaGFyc1R3b0J5dGU7Ci1JbmRleDogbW96anM2MC9qcy9zcmMvdm0vU3RyaW5n VHlwZS5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLS0gYS9qcy9zcmMvdm0vU3RyaW5nVHlwZS5oCTIwMTktMDIt MjEgMTQ6NDQ6MjkuMDcyOTQ4OTA3ICswMTAwCi0rKysgYi9qcy9zcmMvdm0vU3RyaW5nVHlwZS5o CTIwMTktMDItMjIgMTA6MjE6MjAuNDY0NDY5MjQ0ICswMTAwCi1AQCAtNyw2ICs3LDcgQEAKLSAj aWZuZGVmIHZtX1N0cmluZ1R5cGVfaAotICNkZWZpbmUgdm1fU3RyaW5nVHlwZV9oCi0gCi0rI2lu Y2x1ZGUgIm1vemlsbGEvRW5kaWFuVXRpbHMuaCIKLSAjaW5jbHVkZSAibW96aWxsYS9NZW1vcnlS ZXBvcnRpbmcuaCIKLSAjaW5jbHVkZSAibW96aWxsYS9Qb2RPcGVyYXRpb25zLmgiCi0gI2luY2x1 ZGUgIm1vemlsbGEvUmFuZ2UuaCIKLUBAIC0xNjYsOCArMTY3LDIwIEBACi0gICAgIHsKLSAgICAg ICAgIHVuaW9uIHsKLSAgICAgICAgICAgICBzdHJ1Y3QgewotKyNpZiBNT1pfTElUVExFX0VORElB TiB8fCBKU19CSVRTX1BFUl9XT1JEID09IDMyCi0gICAgICAgICAgICAgICAgIHVpbnQzMl90ICAg ICAgICAgICBmbGFnczsgICAgICAgICAgICAgICAvKiBKU1N0cmluZyAqLwotICAgICAgICAgICAg ICAgICB1aW50MzJfdCAgICAgICAgICAgbGVuZ3RoOyAgICAgICAgICAgICAgLyogSlNTdHJpbmcg Ki8KLSsjZWxpZiBKU19CSVRTX1BFUl9XT1JEID09IDY0Ci0rICAgICAgICAgICAgICAgIC8qCi0r ICAgICAgICAgICAgICAgICAqIE9uIGJpZy1lbmRpYW4sIHdlIG5lZWQgdG8gcmVvcmRlciB0byBr ZWVwIGZsYWdzIGxpbmVkIHVwCi0rICAgICAgICAgICAgICAgICAqIHdpdGggdGhlIGxvdyAzMiBi aXRzIG9mIHRoZSBhbGlnbmVkIGdyb3VwXyBwb2ludGVyIGluCi0rICAgICAgICAgICAgICAgICAq IEpTT2JqZWN0LgotKyAgICAgICAgICAgICAgICAgKi8KLSsgICAgICAgICAgICAgICAgdWludDMy X3QgbGVuZ3RoOyAvKiBKU1N0cmluZyAqLwotKyAgICAgICAgICAgICAgICB1aW50MzJfdCBmbGFn czsgIC8qIEpTU3RyaW5nICovCi0rI2Vsc2UKLSsjICBlcnJvciAiVW5rbm93biBlbmRpYW5uZXNz IG9yIHdvcmQgc2l6ZSIKLSsjZW5kaWYKLSAgICAgICAgICAgICB9OwotICAgICAgICAgICAgIHVp bnRwdHJfdCAgICAgICAgICAgICAgZmxhdHRlbkRhdGE7ICAgICAgICAgLyogSlNSb3BlICh0ZW1w b3Jhcnkgd2hpbGUgZmxhdHRlbmluZykgKi8KLSAgICAgICAgIH0gdTE7CmRpZmYgLS1naXQgYS9z cmNwa2dzL21vempzNjAvcGF0Y2hlcy8wMDA3LWpzcHJvcGVydHktZW5kaWFuLnBhdGNoIGIvc3Jj cGtncy9tb3pqczYwL3BhdGNoZXMvMDAwNy1qc3Byb3BlcnR5LWVuZGlhbi5wYXRjaApkZWxldGVk IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGQwMWMzN2FjOTIuLjAwMDAwMDAwMDAwCi0tLSBhL3Ny Y3BrZ3MvbW96anM2MC9wYXRjaGVzLzAwMDctanNwcm9wZXJ0eS1lbmRpYW4ucGF0Y2gKKysrIC9k ZXYvbnVsbApAQCAtMSwyMiArMCwwIEBACi1CdWcgMTU0MzY1OSAtIGZpeCBKU1Byb3BlcnR5U3Bl Yzo6VmFsdWVXcmFwcGVyIG9uIDY0LWJpdCBiaWctZW5kaWFuIHBsYXRmb3JtcwotCi1BZGQgc29t ZSBwYWRkaW5nIHRvIG1ha2UgdGhlIHVuaW9uJ3MgaW50MzIgbWVtYmVyIGNvcnJlc3BvbmQgdG8g dGhlCi1sb3ctb3JkZXIgYml0cyBvZiB0aGUgc3RyaW5nIG1lbWJlci4gIFRoaXMgZml4ZXMgVHlw ZWRBcnJheSB0ZXN0cyBvbgotczM5MHguCi0KLS0tLSBhL2pzL3NyYy9qc2FwaS5oCi0rKysgYi9q cy9zcmMvanNhcGkuaAotQEAgLTE3MDIsNyArMTcwMiwxMiBAQAotICAgICAgICAgdWludHB0cl90 ICAgdHlwZTsKLSAgICAgICAgIHVuaW9uIHsKLSAgICAgICAgICAgICBjb25zdCBjaGFyKiBzdHJp bmc7Ci0tICAgICAgICAgICAgaW50MzJfdCAgICAgaW50MzI7Ci0rICAgICAgICAgICAgc3RydWN0 IHsKLSsjaWYgTU9aX0JJR19FTkRJQU4gJiYgSlNfQklUU19QRVJfV09SRCA9PSA2NAotKyAgICAg ICAgICAgICAgICB1aW50MzJfdCAgICBwYWRkaW5nOwotKyNlbmRpZgotKyAgICAgICAgICAgICAg ICBpbnQzMl90ICAgICBpbnQzMjsKLSsgICAgICAgICAgICB9OwotICAgICAgICAgfTsKLSAgICAg fTsKLSAKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbW96anM2MC9wYXRjaGVzLzAwMDgtY29weS1oZWFk ZXJzLnBhdGNoIGIvc3JjcGtncy9tb3pqczYwL3BhdGNoZXMvMDAwOC1jb3B5LWhlYWRlcnMucGF0 Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE0MzY3NDExMDY1Li4wMDAwMDAwMDAw MAotLS0gYS9zcmNwa2dzL21vempzNjAvcGF0Y2hlcy8wMDA4LWNvcHktaGVhZGVycy5wYXRjaAor KysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLUZyb206IFJpY28gVHpzY2hpY2hob2x6IDxy aWNvdHpAdWJ1bnR1LmNvbT4KLURhdGU6IFdlZCwgNSBKdWwgMjAxNyAyMjo0NTo1OSAtMDcwMAot U3ViamVjdDogYnVpbGQ6IENvcHkgaGVhZGVycyBvbiBpbnN0YWxsIGluc3RlYWQgb2Ygc3ltbGlu a2luZwotCi1QYXRjaCBwb3J0ZWQgZm9yd2FyZCB0byBtb3pqczUyIGJ5IFBoaWxpcCBDaGltZW50 bwotPHBoaWxpcC5jaGltZW50b0BnbWFpbC5jb20+LgotLS0tCi0gcHl0aG9uL21vemJ1aWxkL21v emJ1aWxkL2JhY2tlbmQvcmVjdXJzaXZlbWFrZS5weSB8IDYgKysrLS0tCi0gMSBmaWxlIGNoYW5n ZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3B5dGhv bi9tb3pidWlsZC9tb3pidWlsZC9iYWNrZW5kL3JlY3Vyc2l2ZW1ha2UucHkgYi9weXRob24vbW96 YnVpbGQvbW96YnVpbGQvYmFja2VuZC9yZWN1cnNpdmVtYWtlLnB5Ci1pbmRleCBkZDkwMjBkLi42 OTE4ZWY4IDEwMDY0NAotLS0tIGEvcHl0aG9uL21vemJ1aWxkL21vemJ1aWxkL2JhY2tlbmQvcmVj dXJzaXZlbWFrZS5weQotKysrIGIvcHl0aG9uL21vemJ1aWxkL21vemJ1aWxkL2JhY2tlbmQvcmVj dXJzaXZlbWFrZS5weQotQEAgLTE0MjcsMTEgKzE0MjcsMTEgQEAgY2xhc3MgUmVjdXJzaXZlTWFr ZUJhY2tlbmQoQ29tbW9uQmFja2VuZCk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICByYWlzZSBFeGNlcHRpb24oIldpbGRjYXJkcyBhcmUgb25seSBzdXBwb3J0ZWQgaW4gdGhlIGZp bGVuYW1lIHBhcnQgb2YgIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICJzcmNkaXItcmVsYXRpdmUgb3IgYWJzb2x1dGUgcGF0aHMuIikKLSAKLS0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgaW5zdGFsbF9tYW5pZmVzdC5hZGRfcGF0dGVybl9saW5r KGJhc2VwYXRoLCB3aWxkLCBwYXRoKQotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnN0 YWxsX21hbmlmZXN0LmFkZF9wYXR0ZXJuX2NvcHkoYmFzZXBhdGgsIHdpbGQsIHBhdGgpCi0gICAg ICAgICAgICAgICAgICAgICAgICAgZWxzZToKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAg aW5zdGFsbF9tYW5pZmVzdC5hZGRfcGF0dGVybl9saW5rKGYuc3JjZGlyLCBmLCBwYXRoKQotKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnN0YWxsX21hbmlmZXN0LmFkZF9wYXR0ZXJuX2Nv cHkoZi5zcmNkaXIsIGYsIHBhdGgpCi0gICAgICAgICAgICAgICAgICAgICBlbHNlOgotLSAgICAg ICAgICAgICAgICAgICAgICAgIGluc3RhbGxfbWFuaWZlc3QuYWRkX2xpbmsoZi5mdWxsX3BhdGgs IGRlc3QpCi0rICAgICAgICAgICAgICAgICAgICAgICAgaW5zdGFsbF9tYW5pZmVzdC5hZGRfY29w eShmLmZ1bGxfcGF0aCwgZGVzdCkKLSAgICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAg ICAgICAgICAgIGluc3RhbGxfbWFuaWZlc3QuYWRkX29wdGlvbmFsX2V4aXN0cyhkZXN0KQotICAg ICAgICAgICAgICAgICAgICAgYmFja2VuZF9maWxlLndyaXRlKCclc19GSUxFUyArPSAlc1xuJyAl ICgKLQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9tb3pqczYwL3BhdGNoZXMvMDAwOS1taXBzLXNnaWRl ZnNfaC5wYXRjaCBiL3NyY3BrZ3MvbW96anM2MC9wYXRjaGVzLzAwMDktbWlwcy1zZ2lkZWZzX2gu cGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZkZDI1YzYxNjQ0Li4wMDAwMDAw MDAwMAotLS0gYS9zcmNwa2dzL21vempzNjAvcGF0Y2hlcy8wMDA5LW1pcHMtc2dpZGVmc19oLnBh dGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotLS0tIGEvanMvc3JjL2pzbWF0aC5j cHAJMjAxOS0wNy0wMyAwMjowODowNi4wMDAwMDAwMDAgKzAyMDAKLSsrKyBiL2pzL3NyYy9qc21h dGguY3BwCTIwMTktMTEtMTAgMTk6MDQ6MjYuMTMyNTg5MDU5ICswMTAwCi1AQCAtNzEsNyArNzEs NyBAQAotICNlbGlmIGRlZmluZWQoX19zMzkwX18pCi0gI2RlZmluZSBHRVRSQU5ET01fTlIgMzQ5 Ci0gI2VsaWYgZGVmaW5lZChfX21pcHNfXykKLS0jaW5jbHVkZSA8c2dpZGVmcy5oPgotKyNpbmNs dWRlIDxhc20vc2dpZGVmcy5oPgotICNpZiBfTUlQU19TSU0gPT0gX01JUFNfU0lNX0FCSTMyCi0g I2RlZmluZSBHRVRSQU5ET01fTlIgNDM1MwotICNlbGlmIF9NSVBTX1NJTSA9PSBfTUlQU19TSU1f QUJJNjQKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbW96anM2MC9wYXRjaGVzLzAwMTAtbWlwcy1MSVIu cGF0Y2ggYi9zcmNwa2dzL21vempzNjAvcGF0Y2hlcy8wMDEwLW1pcHMtTElSLnBhdGNoCmRlbGV0 ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YmRiMDhhZDZlMi4uMDAwMDAwMDAwMDAKLS0tIGEv c3JjcGtncy9tb3pqczYwL3BhdGNoZXMvMDAxMC1taXBzLUxJUi5wYXRjaAorKysgL2Rldi9udWxs CkBAIC0xLDUxMSArMCwwIEBACi1Gcm9tOiBEcmFnYW4gTWxhZGplbm92aWMgPGRyYWdhbi5tbGFk amVub3ZpY0BydC1yay5jb20+Ci1EYXRlOiBGcmksIDkgTWFyIDIwMTggMDc6NTg6NDMgKzAxMDAK LVN1YmplY3Q6IEJ1ZyAxNDQ0MzAzIDogW01JUFNdIEZpeCBidWlsZCBmYWlsdXJlcyBhZnRlciBC dWcgMTQyNTU4MCBwYXJ0IDE3Ci0KLUZyb20gdXBzdHJlYW0sIHZpYSBmaXJlZm94LWVzciA2MC4y LjBlc3ItMS4KLQotUmV2aWV3ZWQtYnk6IGphbmRlbQotQnVnOiBodHRwczovL2J1Z3ppbGxhLm1v emlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDQ0MzAzCi1CdWctRGViaWFuOiBodHRwczovL2J1 Z3MuZGViaWFuLm9yZy9jZ2ktYmluL2J1Z3JlcG9ydC5jZ2k/YnVnPTkwODQ4NgotQXBwbGllZC11 cHN0cmVhbTogNjEsIGNvbW1pdDpodHRwczovL2hnLm1vemlsbGEub3JnL21vemlsbGEtY2VudHJh bC9yZXYvN2RlNGNhN2IwODJhCi0tLS0KLSBqcy9zcmMvaml0L21pcHMtc2hhcmVkL0xJUi1taXBz LXNoYXJlZC5oIHwgODggKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0KLSBqcy9zcmMv aml0L21pcHMzMi9MSVItbWlwczMyLmggICAgICAgICAgIHwgMjYgKysrKysrKystLQotIGpzL3Ny Yy9qaXQvbWlwczY0L0xJUi1taXBzNjQuaCAgICAgICAgICAgfCAzMyArKysrKysrKy0tLS0KLSAz IGZpbGVzIGNoYW5nZWQsIDEwMiBpbnNlcnRpb25zKCspLCA0NSBkZWxldGlvbnMoLSkKLQotSW5k ZXg6IG1vempzLTYwLjguMC9qcy9zcmMvaml0L21pcHMtc2hhcmVkL0xJUi1taXBzLXNoYXJlZC5o Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLS0gbW96anMtNjAuOC4wLm9yaWcvanMvc3JjL2ppdC9taXBzLXNoYXJl ZC9MSVItbWlwcy1zaGFyZWQuaAotKysrIG1vempzLTYwLjguMC9qcy9zcmMvaml0L21pcHMtc2hh cmVkL0xJUi1taXBzLXNoYXJlZC5oCi1AQCAtMTUsNyArMTUsMTAgQEAgY2xhc3MgTFdhc21VaW50 MzJUb0RvdWJsZSA6IHB1YmxpYyBMSW5zdAotICBwdWJsaWM6Ci0gICBMSVJfSEVBREVSKFdhc21V aW50MzJUb0RvdWJsZSkKLSAKLS0gIExXYXNtVWludDMyVG9Eb3VibGUoY29uc3QgTEFsbG9jYXRp b24mIGlucHV0KSB7IHNldE9wZXJhbmQoMCwgaW5wdXQpOyB9Ci0rICBMV2FzbVVpbnQzMlRvRG91 YmxlKGNvbnN0IExBbGxvY2F0aW9uJiBpbnB1dCkKLSsgICAgICA6IExJbnN0cnVjdGlvbkhlbHBl cihjbGFzc09wY29kZSkgewotKyAgICBzZXRPcGVyYW5kKDAsIGlucHV0KTsKLSsgIH0KLSB9Owot IAotIC8vIENvbnZlcnQgYSAzMi1iaXQgdW5zaWduZWQgaW50ZWdlciB0byBhIGZsb2F0MzIuCi1A QCAtMjMsMTUgKzI2LDE4IEBAIGNsYXNzIExXYXNtVWludDMyVG9GbG9hdDMyIDogcHVibGljIExJ bnMKLSAgcHVibGljOgotICAgTElSX0hFQURFUihXYXNtVWludDMyVG9GbG9hdDMyKQotIAotLSAg TFdhc21VaW50MzJUb0Zsb2F0MzIoY29uc3QgTEFsbG9jYXRpb24mIGlucHV0KSB7IHNldE9wZXJh bmQoMCwgaW5wdXQpOyB9Ci0rICBMV2FzbVVpbnQzMlRvRmxvYXQzMihjb25zdCBMQWxsb2NhdGlv biYgaW5wdXQpCi0rICAgICAgOiBMSW5zdHJ1Y3Rpb25IZWxwZXIoY2xhc3NPcGNvZGUpIHsKLSsg ICAgc2V0T3BlcmFuZCgwLCBpbnB1dCk7Ci0rICB9Ci0gfTsKLSAKLSBjbGFzcyBMRGl2SSA6IHB1 YmxpYyBMQmluYXJ5TWF0aDwxPiB7Ci0gIHB1YmxpYzoKLSAgIExJUl9IRUFERVIoRGl2SSk7Ci0g Ci0tICBMRGl2SShjb25zdCBMQWxsb2NhdGlvbiYgbGhzLCBjb25zdCBMQWxsb2NhdGlvbiYgcmhz LAotLSAgICAgICAgY29uc3QgTERlZmluaXRpb24mIHRlbXApIHsKLSsgIExEaXZJKGNvbnN0IExB bGxvY2F0aW9uJiBsaHMsIGNvbnN0IExBbGxvY2F0aW9uJiByaHMsIGNvbnN0IExEZWZpbml0aW9u JiB0ZW1wKQotKyAgICAgIDogTEJpbmFyeU1hdGgoY2xhc3NPcGNvZGUpIHsKLSAgICAgc2V0T3Bl cmFuZCgwLCBsaHMpOwotICAgICBzZXRPcGVyYW5kKDEsIHJocyk7Ci0gICAgIHNldFRlbXAoMCwg dGVtcCk7Ci1AQCAtNDcsMTUgKzUzLDEzIEBAIGNsYXNzIExEaXZQb3dUd29JIDogcHVibGljIExJ bnN0cnVjdGlvbkgKLSAgIExJUl9IRUFERVIoRGl2UG93VHdvSSkKLSAKLSAgIExEaXZQb3dUd29J KGNvbnN0IExBbGxvY2F0aW9uJiBsaHMsIGludDMyX3Qgc2hpZnQsIGNvbnN0IExEZWZpbml0aW9u JiB0ZW1wKQotLSAgICAgIDogc2hpZnRfKHNoaWZ0KSB7Ci0rICAgICAgOiBMSW5zdHJ1Y3Rpb25I ZWxwZXIoY2xhc3NPcGNvZGUpLCBzaGlmdF8oc2hpZnQpIHsKLSAgICAgc2V0T3BlcmFuZCgwLCBs aHMpOwotICAgICBzZXRUZW1wKDAsIHRlbXApOwotICAgfQotIAotICAgY29uc3QgTEFsbG9jYXRp b24qIG51bWVyYXRvcigpIHsgcmV0dXJuIGdldE9wZXJhbmQoMCk7IH0KLS0KLS0gIGludDMyX3Qg c2hpZnQoKSB7IHJldHVybiBzaGlmdF87IH0KLS0KLSsgIGludDMyX3Qgc2hpZnQoKSBjb25zdCB7 IHJldHVybiBzaGlmdF87IH0KLSAgIE1EaXYqIG1pcigpIGNvbnN0IHsgcmV0dXJuIG1pcl8tPnRv RGl2KCk7IH0KLSB9OwotIAotQEAgLTY0LDE0ICs2OCwxNCBAQCBjbGFzcyBMTW9kSSA6IHB1Ymxp YyBMQmluYXJ5TWF0aDwxPiB7Ci0gICBMSVJfSEVBREVSKE1vZEkpOwotIAotICAgTE1vZEkoY29u c3QgTEFsbG9jYXRpb24mIGxocywgY29uc3QgTEFsbG9jYXRpb24mIHJocywKLS0gICAgICAgIGNv bnN0IExEZWZpbml0aW9uJiBjYWxsVGVtcCkgewotKyAgICAgICAgY29uc3QgTERlZmluaXRpb24m IGNhbGxUZW1wKQotKyAgICAgIDogTEJpbmFyeU1hdGgoY2xhc3NPcGNvZGUpIHsKLSAgICAgc2V0 T3BlcmFuZCgwLCBsaHMpOwotICAgICBzZXRPcGVyYW5kKDEsIHJocyk7Ci0gICAgIHNldFRlbXAo MCwgY2FsbFRlbXApOwotICAgfQotIAotICAgY29uc3QgTERlZmluaXRpb24qIGNhbGxUZW1wKCkg eyByZXR1cm4gZ2V0VGVtcCgwKTsgfQotLQotICAgTU1vZCogbWlyKCkgY29uc3QgeyByZXR1cm4g bWlyXy0+dG9Nb2QoKTsgfQotIH07Ci0gCi1AQCAtODAsMTIgKzg0LDEzIEBAIGNsYXNzIExNb2RQ b3dUd29JIDogcHVibGljIExJbnN0cnVjdGlvbkgKLSAKLSAgcHVibGljOgotICAgTElSX0hFQURF UihNb2RQb3dUd29JKTsKLS0gIGludDMyX3Qgc2hpZnQoKSB7IHJldHVybiBzaGlmdF87IH0KLSAK LS0gIExNb2RQb3dUd29JKGNvbnN0IExBbGxvY2F0aW9uJiBsaHMsIGludDMyX3Qgc2hpZnQpIDog c2hpZnRfKHNoaWZ0KSB7Ci0rICBMTW9kUG93VHdvSShjb25zdCBMQWxsb2NhdGlvbiYgbGhzLCBp bnQzMl90IHNoaWZ0KQotKyAgICAgIDogTEluc3RydWN0aW9uSGVscGVyKGNsYXNzT3Bjb2RlKSwg c2hpZnRfKHNoaWZ0KSB7Ci0gICAgIHNldE9wZXJhbmQoMCwgbGhzKTsKLSAgIH0KLSAKLSsgIGlu dDMyX3Qgc2hpZnQoKSBjb25zdCB7IHJldHVybiBzaGlmdF87IH0KLSAgIE1Nb2QqIG1pcigpIGNv bnN0IHsgcmV0dXJuIG1pcl8tPnRvTW9kKCk7IH0KLSB9OwotIAotQEAgLTk3LDE0ICsxMDIsMTMg QEAgY2xhc3MgTE1vZE1hc2tJIDogcHVibGljIExJbnN0cnVjdGlvbkhlbAotIAotICAgTE1vZE1h c2tJKGNvbnN0IExBbGxvY2F0aW9uJiBsaHMsIGNvbnN0IExEZWZpbml0aW9uJiB0ZW1wMCwKLSAg ICAgICAgICAgICBjb25zdCBMRGVmaW5pdGlvbiYgdGVtcDEsIGludDMyX3Qgc2hpZnQpCi0tICAg ICAgOiBzaGlmdF8oc2hpZnQpIHsKLSsgICAgICA6IExJbnN0cnVjdGlvbkhlbHBlcihjbGFzc09w Y29kZSksIHNoaWZ0XyhzaGlmdCkgewotICAgICBzZXRPcGVyYW5kKDAsIGxocyk7Ci0gICAgIHNl dFRlbXAoMCwgdGVtcDApOwotICAgICBzZXRUZW1wKDEsIHRlbXAxKTsKLSAgIH0KLSAKLSAgIGlu dDMyX3Qgc2hpZnQoKSBjb25zdCB7IHJldHVybiBzaGlmdF87IH0KLS0KLSAgIE1Nb2QqIG1pcigp IGNvbnN0IHsgcmV0dXJuIG1pcl8tPnRvTW9kKCk7IH0KLSB9OwotIAotQEAgLTExNCw3ICsxMTgs OCBAQCBjbGFzcyBMVGFibGVTd2l0Y2ggOiBwdWJsaWMgTEluc3RydWN0aW9uCi0gICBMSVJfSEVB REVSKFRhYmxlU3dpdGNoKTsKLSAKLSAgIExUYWJsZVN3aXRjaChjb25zdCBMQWxsb2NhdGlvbiYg aW4sIGNvbnN0IExEZWZpbml0aW9uJiBpbnB1dENvcHksCi0tICAgICAgICAgICAgICAgY29uc3Qg TERlZmluaXRpb24mIGp1bXBUYWJsZVBvaW50ZXIsIE1UYWJsZVN3aXRjaCogaW5zKSB7Ci0rICAg ICAgICAgICAgICAgY29uc3QgTERlZmluaXRpb24mIGp1bXBUYWJsZVBvaW50ZXIsIE1UYWJsZVN3 aXRjaCogaW5zKQotKyAgICAgIDogTEluc3RydWN0aW9uSGVscGVyKGNsYXNzT3Bjb2RlKSB7Ci0g ICAgIHNldE9wZXJhbmQoMCwgaW4pOwotICAgICBzZXRUZW1wKDAsIGlucHV0Q29weSk7Ci0gICAg IHNldFRlbXAoMSwganVtcFRhYmxlUG9pbnRlcik7Ci1AQCAtMTIyLDcgKzEyNyw2IEBAIGNsYXNz IExUYWJsZVN3aXRjaCA6IHB1YmxpYyBMSW5zdHJ1Y3Rpb24KLSAgIH0KLSAKLSAgIE1UYWJsZVN3 aXRjaCogbWlyKCkgY29uc3QgeyByZXR1cm4gbWlyXy0+dG9UYWJsZVN3aXRjaCgpOyB9Ci0tCi0g ICBjb25zdCBMQWxsb2NhdGlvbiogaW5kZXgoKSB7IHJldHVybiBnZXRPcGVyYW5kKDApOyB9Ci0g ICBjb25zdCBMRGVmaW5pdGlvbiogdGVtcEludCgpIHsgcmV0dXJuIGdldFRlbXAoMCk7IH0KLSAg IC8vIFRoaXMgaXMgYWRkZWQgdG8gc2hhcmUgdGhlIHNhbWUgQ29kZUdlbmVyYXRvciBwcmVmaXhl cy4KLUBAIC0xMzYsNyArMTQwLDggQEAgY2xhc3MgTFRhYmxlU3dpdGNoViA6IHB1YmxpYyBMSW5z dHJ1Y3RpbwotIAotICAgTFRhYmxlU3dpdGNoVihjb25zdCBMQm94QWxsb2NhdGlvbiYgaW5wdXQs IGNvbnN0IExEZWZpbml0aW9uJiBpbnB1dENvcHksCi0gICAgICAgICAgICAgICAgIGNvbnN0IExE ZWZpbml0aW9uJiBmbG9hdENvcHksCi0tICAgICAgICAgICAgICAgIGNvbnN0IExEZWZpbml0aW9u JiBqdW1wVGFibGVQb2ludGVyLCBNVGFibGVTd2l0Y2gqIGlucykgewotKyAgICAgICAgICAgICAg ICBjb25zdCBMRGVmaW5pdGlvbiYganVtcFRhYmxlUG9pbnRlciwgTVRhYmxlU3dpdGNoKiBpbnMp Ci0rICAgICAgOiBMSW5zdHJ1Y3Rpb25IZWxwZXIoY2xhc3NPcGNvZGUpIHsKLSAgICAgc2V0Qm94 T3BlcmFuZChJbnB1dFZhbHVlLCBpbnB1dCk7Ci0gICAgIHNldFRlbXAoMCwgaW5wdXRDb3B5KTsK LSAgICAgc2V0VGVtcCgxLCBmbG9hdENvcHkpOwotQEAgLTE1Nyw2ICsxNjIsOCBAQCBjbGFzcyBM TXVsSSA6IHB1YmxpYyBMQmluYXJ5TWF0aDwwPiB7Ci0gIHB1YmxpYzoKLSAgIExJUl9IRUFERVIo TXVsSSk7Ci0gCi0rICBMTXVsSSgpIDogTEJpbmFyeU1hdGgoY2xhc3NPcGNvZGUpIHt9Ci0rCi0g ICBNTXVsKiBtaXIoKSB7IHJldHVybiBtaXJfLT50b011bCgpOyB9Ci0gfTsKLSAKLUBAIC0xNjQs NiArMTcxLDggQEAgY2xhc3MgTFVEaXZPck1vZCA6IHB1YmxpYyBMQmluYXJ5TWF0aDwwPgotICBw dWJsaWM6Ci0gICBMSVJfSEVBREVSKFVEaXZPck1vZCk7Ci0gCi0rICBMVURpdk9yTW9kKCkgOiBM QmluYXJ5TWF0aChjbGFzc09wY29kZSkge30KLSsKLSAgIE1CaW5hcnlBcml0aEluc3RydWN0aW9u KiBtaXIoKSBjb25zdCB7Ci0gICAgIE1PWl9BU1NFUlQobWlyXy0+aXNEaXYoKSB8fCBtaXJfLT5p c01vZCgpKTsKLSAgICAgcmV0dXJuIHN0YXRpY19jYXN0PE1CaW5hcnlBcml0aEluc3RydWN0aW9u Kj4obWlyXyk7Ci1AQCAtMTk0LDEyICsyMDMsMTMgQEAgY2xhc3MgTFdhc21VbmFsaWduZWRMb2Fk QmFzZSA6IHB1YmxpYyBkZQotICBwdWJsaWM6Ci0gICB0eXBlZGVmIExXYXNtTG9hZEJhc2U8TnVt RGVmcywgMj4gQmFzZTsKLSAKLS0gIGV4cGxpY2l0IExXYXNtVW5hbGlnbmVkTG9hZEJhc2UoY29u c3QgTEFsbG9jYXRpb24mIHB0ciwKLSsgIGV4cGxpY2l0IExXYXNtVW5hbGlnbmVkTG9hZEJhc2Uo TE5vZGU6Ok9wY29kZSBvcGNvZGUsIGNvbnN0IExBbGxvY2F0aW9uJiBwdHIsCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IExEZWZpbml0aW9uJiB2YWx1ZUhlbHBlcikK LS0gICAgICA6IEJhc2UocHRyLCBMQWxsb2NhdGlvbigpKSB7Ci0rICAgICAgOiBCYXNlKG9wY29k ZSwgcHRyLCBMQWxsb2NhdGlvbigpKSB7Ci0gICAgIEJhc2U6OnNldFRlbXAoMCwgTERlZmluaXRp b246OkJvZ3VzVGVtcCgpKTsKLSAgICAgQmFzZTo6c2V0VGVtcCgxLCB2YWx1ZUhlbHBlcik7Ci0g ICB9Ci0rCi0gICBjb25zdCBMQWxsb2NhdGlvbiogcHRyKCkgeyByZXR1cm4gQmFzZTo6Z2V0T3Bl cmFuZCgwKTsgfQotICAgY29uc3QgTERlZmluaXRpb24qIHB0ckNvcHkoKSB7IHJldHVybiBCYXNl OjpnZXRUZW1wKDApOyB9Ci0gfTsKLUBAIC0yMDgsMTkgKzIxOCwyMSBAQCBjbGFzcyBMV2FzbVVu YWxpZ25lZExvYWRCYXNlIDogcHVibGljIGRlCi0gCi0gY2xhc3MgTFdhc21VbmFsaWduZWRMb2Fk IDogcHVibGljIGRldGFpbHM6OkxXYXNtVW5hbGlnbmVkTG9hZEJhc2U8MT4gewotICBwdWJsaWM6 Ci0rICBMSVJfSEVBREVSKFdhc21VbmFsaWduZWRMb2FkKTsKLSsKLSAgIGV4cGxpY2l0IExXYXNt VW5hbGlnbmVkTG9hZChjb25zdCBMQWxsb2NhdGlvbiYgcHRyLAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNvbnN0IExEZWZpbml0aW9uJiB2YWx1ZUhlbHBlcikKLS0gICAgICA6IExX YXNtVW5hbGlnbmVkTG9hZEJhc2UocHRyLCB2YWx1ZUhlbHBlcikge30KLS0gIExJUl9IRUFERVIo V2FzbVVuYWxpZ25lZExvYWQpOwotKyAgICAgIDogTFdhc21VbmFsaWduZWRMb2FkQmFzZShjbGFz c09wY29kZSwgcHRyLCB2YWx1ZUhlbHBlcikge30KLSB9OwotIAotIGNsYXNzIExXYXNtVW5hbGln bmVkTG9hZEk2NAotICAgICA6IHB1YmxpYyBkZXRhaWxzOjpMV2FzbVVuYWxpZ25lZExvYWRCYXNl PElOVDY0X1BJRUNFUz4gewotICBwdWJsaWM6Ci0rICBMSVJfSEVBREVSKFdhc21VbmFsaWduZWRM b2FkSTY0KTsKLSsKLSAgIGV4cGxpY2l0IExXYXNtVW5hbGlnbmVkTG9hZEk2NChjb25zdCBMQWxs b2NhdGlvbiYgcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IExE ZWZpbml0aW9uJiB2YWx1ZUhlbHBlcikKLS0gICAgICA6IExXYXNtVW5hbGlnbmVkTG9hZEJhc2Uo cHRyLCB2YWx1ZUhlbHBlcikge30KLS0gIExJUl9IRUFERVIoV2FzbVVuYWxpZ25lZExvYWRJNjQp OwotKyAgICAgIDogTFdhc21VbmFsaWduZWRMb2FkQmFzZShjbGFzc09wY29kZSwgcHRyLCB2YWx1 ZUhlbHBlcikge30KLSB9OwotIAotIG5hbWVzcGFjZSBkZXRhaWxzIHsKLUBAIC0yMzQsMTIgKzI0 NiwxNCBAQCBjbGFzcyBMV2FzbVVuYWxpZ25lZFN0b3JlQmFzZSA6IHB1YmxpYyBMCi0gICBzdGF0 aWMgY29uc3Qgc2l6ZV90IFB0ckluZGV4ID0gMDsKLSAgIHN0YXRpYyBjb25zdCBzaXplX3QgVmFs dWVJbmRleCA9IDE7Ci0gCi0tICBMV2FzbVVuYWxpZ25lZFN0b3JlQmFzZShjb25zdCBMQWxsb2Nh dGlvbiYgcHRyLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgTERlZmluaXRpb24m IHZhbHVlSGVscGVyKSB7Ci0rICBMV2FzbVVuYWxpZ25lZFN0b3JlQmFzZShMTm9kZTo6T3Bjb2Rl IG9wY29kZSwgY29uc3QgTEFsbG9jYXRpb24mIHB0ciwKLSsgICAgICAgICAgICAgICAgICAgICAg ICAgIGNvbnN0IExEZWZpbml0aW9uJiB2YWx1ZUhlbHBlcikKLSsgICAgICA6IEJhc2Uob3Bjb2Rl KSB7Ci0gICAgIEJhc2U6OnNldE9wZXJhbmQoMCwgcHRyKTsKLSAgICAgQmFzZTo6c2V0VGVtcCgw LCBMRGVmaW5pdGlvbjo6Qm9ndXNUZW1wKCkpOwotICAgICBCYXNlOjpzZXRUZW1wKDEsIHZhbHVl SGVscGVyKTsKLSAgIH0KLSsKLSAgIE1XYXNtU3RvcmUqIG1pcigpIGNvbnN0IHsgcmV0dXJuIEJh c2U6Om1pcl8tPnRvV2FzbVN0b3JlKCk7IH0KLSAgIGNvbnN0IExBbGxvY2F0aW9uKiBwdHIoKSB7 IHJldHVybiBCYXNlOjpnZXRPcGVyYW5kKFB0ckluZGV4KTsgfQotICAgY29uc3QgTERlZmluaXRp b24qIHB0ckNvcHkoKSB7IHJldHVybiBCYXNlOjpnZXRUZW1wKDApOyB9Ci1AQCAtMjUwLDExICsy NjQsMTMgQEAgY2xhc3MgTFdhc21VbmFsaWduZWRTdG9yZUJhc2UgOiBwdWJsaWMgTAotIGNsYXNz IExXYXNtVW5hbGlnbmVkU3RvcmUgOiBwdWJsaWMgZGV0YWlsczo6TFdhc21VbmFsaWduZWRTdG9y ZUJhc2U8Mj4gewotICBwdWJsaWM6Ci0gICBMSVJfSEVBREVSKFdhc21VbmFsaWduZWRTdG9yZSk7 Ci0rCi0gICBMV2FzbVVuYWxpZ25lZFN0b3JlKGNvbnN0IExBbGxvY2F0aW9uJiBwdHIsIGNvbnN0 IExBbGxvY2F0aW9uJiB2YWx1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgTERlZmlu aXRpb24mIHZhbHVlSGVscGVyKQotLSAgICAgIDogTFdhc21VbmFsaWduZWRTdG9yZUJhc2UocHRy LCB2YWx1ZUhlbHBlcikgewotKyAgICAgIDogTFdhc21VbmFsaWduZWRTdG9yZUJhc2UoY2xhc3NP cGNvZGUsIHB0ciwgdmFsdWVIZWxwZXIpIHsKLSAgICAgc2V0T3BlcmFuZCgxLCB2YWx1ZSk7Ci0g ICB9Ci0rCi0gICBjb25zdCBMQWxsb2NhdGlvbiogdmFsdWUoKSB7IHJldHVybiBCYXNlOjpnZXRP cGVyYW5kKFZhbHVlSW5kZXgpOyB9Ci0gfTsKLSAKLUBAIC0yNjQsOSArMjgwLDEwIEBAIGNsYXNz IExXYXNtVW5hbGlnbmVkU3RvcmVJNjQKLSAgIExJUl9IRUFERVIoV2FzbVVuYWxpZ25lZFN0b3Jl STY0KTsKLSAgIExXYXNtVW5hbGlnbmVkU3RvcmVJNjQoY29uc3QgTEFsbG9jYXRpb24mIHB0ciwg Y29uc3QgTEludDY0QWxsb2NhdGlvbiYgdmFsdWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg IGNvbnN0IExEZWZpbml0aW9uJiB2YWx1ZUhlbHBlcikKLS0gICAgICA6IExXYXNtVW5hbGlnbmVk U3RvcmVCYXNlKHB0ciwgdmFsdWVIZWxwZXIpIHsKLSsgICAgICA6IExXYXNtVW5hbGlnbmVkU3Rv cmVCYXNlKGNsYXNzT3Bjb2RlLCBwdHIsIHZhbHVlSGVscGVyKSB7Ci0gICAgIHNldEludDY0T3Bl cmFuZCgxLCB2YWx1ZSk7Ci0gICB9Ci0rCi0gICBjb25zdCBMSW50NjRBbGxvY2F0aW9uIHZhbHVl KCkgeyByZXR1cm4gZ2V0SW50NjRPcGVyYW5kKFZhbHVlSW5kZXgpOyB9Ci0gfTsKLSAKLUBAIC0y NzgsNyArMjk1LDggQEAgY2xhc3MgTFdhc21Db21wYXJlRXhjaGFuZ2VJNjQKLSAKLSAgIExXYXNt Q29tcGFyZUV4Y2hhbmdlSTY0KGNvbnN0IExBbGxvY2F0aW9uJiBwdHIsCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICBjb25zdCBMSW50NjRBbGxvY2F0aW9uJiBvbGRWYWx1ZSwKLS0gICAgICAg ICAgICAgICAgICAgICAgICAgIGNvbnN0IExJbnQ2NEFsbG9jYXRpb24mIG5ld1ZhbHVlKSB7Ci0r ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBMSW50NjRBbGxvY2F0aW9uJiBuZXdWYWx1 ZSkKLSsgICAgICA6IExJbnN0cnVjdGlvbkhlbHBlcihjbGFzc09wY29kZSkgewotICAgICBzZXRP cGVyYW5kKDAsIHB0cik7Ci0gICAgIHNldEludDY0T3BlcmFuZCgxLCBvbGRWYWx1ZSk7Ci0gICAg IHNldEludDY0T3BlcmFuZCgxICsgSU5UNjRfUElFQ0VTLCBuZXdWYWx1ZSk7Ci1AQCAtMjk5LDgg KzMxNyw4IEBAIGNsYXNzIExXYXNtQXRvbWljRXhjaGFuZ2VJNjQKLSAgcHVibGljOgotICAgTElS X0hFQURFUihXYXNtQXRvbWljRXhjaGFuZ2VJNjQpOwotIAotLSAgTFdhc21BdG9taWNFeGNoYW5n ZUk2NChjb25zdCBMQWxsb2NhdGlvbiYgcHRyLAotLSAgICAgICAgICAgICAgICAgICAgICAgICBj b25zdCBMSW50NjRBbGxvY2F0aW9uJiB2YWx1ZSkgewotKyAgTFdhc21BdG9taWNFeGNoYW5nZUk2 NChjb25zdCBMQWxsb2NhdGlvbiYgcHRyLCBjb25zdCBMSW50NjRBbGxvY2F0aW9uJiB2YWx1ZSkK LSsgICAgICA6IExJbnN0cnVjdGlvbkhlbHBlcihjbGFzc09wY29kZSkgewotICAgICBzZXRPcGVy YW5kKDAsIHB0cik7Ci0gICAgIHNldEludDY0T3BlcmFuZCgxLCB2YWx1ZSk7Ci0gICB9Ci1AQCAt MzE3LDE0ICszMzUsMTQgQEAgY2xhc3MgTFdhc21BdG9taWNCaW5vcEk2NAotICBwdWJsaWM6Ci0g ICBMSVJfSEVBREVSKFdhc21BdG9taWNCaW5vcEk2NCk7Ci0gCi0tICBMV2FzbUF0b21pY0Jpbm9w STY0KGNvbnN0IExBbGxvY2F0aW9uJiBwdHIsIGNvbnN0IExJbnQ2NEFsbG9jYXRpb24mIHZhbHVl KSB7Ci0rICBMV2FzbUF0b21pY0Jpbm9wSTY0KGNvbnN0IExBbGxvY2F0aW9uJiBwdHIsIGNvbnN0 IExJbnQ2NEFsbG9jYXRpb24mIHZhbHVlKQotKyAgICAgIDogTEluc3RydWN0aW9uSGVscGVyKGNs YXNzT3Bjb2RlKSB7Ci0gICAgIHNldE9wZXJhbmQoMCwgcHRyKTsKLSAgICAgc2V0SW50NjRPcGVy YW5kKDEsIHZhbHVlKTsKLSAgIH0KLSAKLSAgIGNvbnN0IExBbGxvY2F0aW9uKiBwdHIoKSB7IHJl dHVybiBnZXRPcGVyYW5kKDApOyB9Ci0gICBjb25zdCBMSW50NjRBbGxvY2F0aW9uIHZhbHVlKCkg eyByZXR1cm4gZ2V0SW50NjRPcGVyYW5kKDEpOyB9Ci0tCi0gICBjb25zdCBNV2FzbUF0b21pY0Jp bm9wSGVhcCogbWlyKCkgY29uc3QgewotICAgICByZXR1cm4gbWlyXy0+dG9XYXNtQXRvbWljQmlu b3BIZWFwKCk7Ci0gICB9Ci1JbmRleDogbW96anMtNjAuOC4wL2pzL3NyYy9qaXQvbWlwczMyL0xJ Ui1taXBzMzIuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0tIG1vempzLTYwLjguMC5vcmlnL2pzL3NyYy9qaXQv bWlwczMyL0xJUi1taXBzMzIuaAotKysrIG1vempzLTYwLjguMC9qcy9zcmMvaml0L21pcHMzMi9M SVItbWlwczMyLmgKLUBAIC0xOCw3ICsxOCw3IEBAIGNsYXNzIExCb3hGbG9hdGluZ1BvaW50IDog cHVibGljIExJbnN0cnUKLSAKLSAgIExCb3hGbG9hdGluZ1BvaW50KGNvbnN0IExBbGxvY2F0aW9u JiBpbiwgY29uc3QgTERlZmluaXRpb24mIHRlbXAsCi0gICAgICAgICAgICAgICAgICAgICBNSVJU eXBlIHR5cGUpCi0tICAgICAgOiB0eXBlXyh0eXBlKSB7Ci0rICAgICAgOiBMSW5zdHJ1Y3Rpb25I ZWxwZXIoY2xhc3NPcGNvZGUpLCB0eXBlXyh0eXBlKSB7Ci0gICAgIHNldE9wZXJhbmQoMCwgaW4p OwotICAgICBzZXRUZW1wKDAsIHRlbXApOwotICAgfQotQEAgLTMxLDYgKzMxLDggQEAgY2xhc3Mg TFVuYm94IDogcHVibGljIExJbnN0cnVjdGlvbkhlbHBlcgotICBwdWJsaWM6Ci0gICBMSVJfSEVB REVSKFVuYm94KTsKLSAKLSsgIExVbmJveCgpIDogTEluc3RydWN0aW9uSGVscGVyKGNsYXNzT3Bj b2RlKSB7fQotKwotICAgTVVuYm94KiBtaXIoKSBjb25zdCB7IHJldHVybiBtaXJfLT50b1VuYm94 KCk7IH0KLSAgIGNvbnN0IExBbGxvY2F0aW9uKiBwYXlsb2FkKCkgeyByZXR1cm4gZ2V0T3BlcmFu ZCgwKTsgfQotICAgY29uc3QgTEFsbG9jYXRpb24qIHR5cGUoKSB7IHJldHVybiBnZXRPcGVyYW5k KDEpOyB9Ci1AQCAtNDUsMTIgKzQ3LDEyIEBAIGNsYXNzIExVbmJveEZsb2F0aW5nUG9pbnQgOiBw dWJsaWMgTEluc3QKLSAKLSAgIHN0YXRpYyBjb25zdCBzaXplX3QgSW5wdXQgPSAwOwotIAotLSAg TFVuYm94RmxvYXRpbmdQb2ludChjb25zdCBMQm94QWxsb2NhdGlvbiYgaW5wdXQsIE1JUlR5cGUg dHlwZSkgOiB0eXBlXyh0eXBlKSB7Ci0rICBMVW5ib3hGbG9hdGluZ1BvaW50KGNvbnN0IExCb3hB bGxvY2F0aW9uJiBpbnB1dCwgTUlSVHlwZSB0eXBlKQotKyAgICAgIDogTEluc3RydWN0aW9uSGVs cGVyKGNsYXNzT3Bjb2RlKSwgdHlwZV8odHlwZSkgewotICAgICBzZXRCb3hPcGVyYW5kKElucHV0 LCBpbnB1dCk7Ci0gICB9Ci0gCi0gICBNVW5ib3gqIG1pcigpIGNvbnN0IHsgcmV0dXJuIG1pcl8t PnRvVW5ib3goKTsgfQotLQotICAgTUlSVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gdHlwZV87 IH0KLSAgIGNvbnN0IGNoYXIqIGV4dHJhTmFtZSgpIGNvbnN0IHsgcmV0dXJuIFN0cmluZ0Zyb21N SVJUeXBlKHR5cGVfKTsgfQotIH07Ci1AQCAtNjMsMTQgKzY1LDE3IEBAIGNsYXNzIExEaXZPck1v ZEk2NAotICAgc3RhdGljIGNvbnN0IHNpemVfdCBMaHMgPSAwOwotICAgc3RhdGljIGNvbnN0IHNp emVfdCBSaHMgPSBJTlQ2NF9QSUVDRVM7Ci0gCi0tICBMRGl2T3JNb2RJNjQoY29uc3QgTEludDY0 QWxsb2NhdGlvbiYgbGhzLCBjb25zdCBMSW50NjRBbGxvY2F0aW9uJiByaHMpIHsKLSsgIExEaXZP ck1vZEk2NChjb25zdCBMSW50NjRBbGxvY2F0aW9uJiBsaHMsIGNvbnN0IExJbnQ2NEFsbG9jYXRp b24mIHJocykKLSsgICAgICA6IExDYWxsSW5zdHJ1Y3Rpb25IZWxwZXIoY2xhc3NPcGNvZGUpIHsK LSAgICAgc2V0SW50NjRPcGVyYW5kKExocywgbGhzKTsKLSAgICAgc2V0SW50NjRPcGVyYW5kKFJo cywgcmhzKTsKLSAgIH0KLSsKLSAgIE1CaW5hcnlBcml0aEluc3RydWN0aW9uKiBtaXIoKSBjb25z dCB7Ci0gICAgIE1PWl9BU1NFUlQobWlyXy0+aXNEaXYoKSB8fCBtaXJfLT5pc01vZCgpKTsKLSAg ICAgcmV0dXJuIHN0YXRpY19jYXN0PE1CaW5hcnlBcml0aEluc3RydWN0aW9uKj4obWlyXyk7Ci0g ICB9Ci0rCi0gICBib29sIGNhbkJlRGl2aWRlQnlaZXJvKCkgY29uc3QgewotICAgICBpZiAobWly Xy0+aXNNb2QoKSkgcmV0dXJuIG1pcl8tPnRvTW9kKCktPmNhbkJlRGl2aWRlQnlaZXJvKCk7Ci0g ICAgIHJldHVybiBtaXJfLT50b0RpdigpLT5jYW5CZURpdmlkZUJ5WmVybygpOwotQEAgLTk0LDcg Kzk5LDggQEAgY2xhc3MgTFVEaXZPck1vZEk2NAotICAgc3RhdGljIGNvbnN0IHNpemVfdCBMaHMg PSAwOwotICAgc3RhdGljIGNvbnN0IHNpemVfdCBSaHMgPSBJTlQ2NF9QSUVDRVM7Ci0gCi0tICBM VURpdk9yTW9kSTY0KGNvbnN0IExJbnQ2NEFsbG9jYXRpb24mIGxocywgY29uc3QgTEludDY0QWxs b2NhdGlvbiYgcmhzKSB7Ci0rICBMVURpdk9yTW9kSTY0KGNvbnN0IExJbnQ2NEFsbG9jYXRpb24m IGxocywgY29uc3QgTEludDY0QWxsb2NhdGlvbiYgcmhzKQotKyAgICAgIDogTENhbGxJbnN0cnVj dGlvbkhlbHBlcihjbGFzc09wY29kZSkgewotICAgICBzZXRJbnQ2NE9wZXJhbmQoTGhzLCBsaHMp OwotICAgICBzZXRJbnQ2NE9wZXJhbmQoUmhzLCByaHMpOwotICAgfQotQEAgLTEwMiw2ICsxMDgs NyBAQCBjbGFzcyBMVURpdk9yTW9kSTY0Ci0gICAgIE1PWl9BU1NFUlQobWlyXy0+aXNEaXYoKSB8 fCBtaXJfLT5pc01vZCgpKTsKLSAgICAgcmV0dXJuIHN0YXRpY19jYXN0PE1CaW5hcnlBcml0aElu c3RydWN0aW9uKj4obWlyXyk7Ci0gICB9Ci0rCi0gICBib29sIGNhbkJlRGl2aWRlQnlaZXJvKCkg Y29uc3QgewotICAgICBpZiAobWlyXy0+aXNNb2QoKSkgcmV0dXJuIG1pcl8tPnRvTW9kKCktPmNh bkJlRGl2aWRlQnlaZXJvKCk7Ci0gICAgIHJldHVybiBtaXJfLT50b0RpdigpLT5jYW5CZURpdmlk ZUJ5WmVybygpOwotQEAgLTEyMSw3ICsxMjgsMTAgQEAgY2xhc3MgTFdhc21UcnVuY2F0ZVRvSW50 NjQgOiBwdWJsaWMgTENhbAotICBwdWJsaWM6Ci0gICBMSVJfSEVBREVSKFdhc21UcnVuY2F0ZVRv SW50NjQpOwotIAotLSAgZXhwbGljaXQgTFdhc21UcnVuY2F0ZVRvSW50NjQoY29uc3QgTEFsbG9j YXRpb24mIGluKSB7IHNldE9wZXJhbmQoMCwgaW4pOyB9Ci0rICBleHBsaWNpdCBMV2FzbVRydW5j YXRlVG9JbnQ2NChjb25zdCBMQWxsb2NhdGlvbiYgaW4pCi0rICAgICAgOiBMQ2FsbEluc3RydWN0 aW9uSGVscGVyKGNsYXNzT3Bjb2RlKSB7Ci0rICAgIHNldE9wZXJhbmQoMCwgaW4pOwotKyAgfQot IAotICAgTVdhc21UcnVuY2F0ZVRvSW50NjQqIG1pcigpIGNvbnN0IHsgcmV0dXJuIG1pcl8tPnRv V2FzbVRydW5jYXRlVG9JbnQ2NCgpOyB9Ci0gfTsKLUBAIC0xMzEsNyArMTQxLDggQEAgY2xhc3Mg TEludDY0VG9GbG9hdGluZ1BvaW50Ci0gIHB1YmxpYzoKLSAgIExJUl9IRUFERVIoSW50NjRUb0Zs b2F0aW5nUG9pbnQpOwotIAotLSAgZXhwbGljaXQgTEludDY0VG9GbG9hdGluZ1BvaW50KGNvbnN0 IExJbnQ2NEFsbG9jYXRpb24mIGluKSB7Ci0rICBleHBsaWNpdCBMSW50NjRUb0Zsb2F0aW5nUG9p bnQoY29uc3QgTEludDY0QWxsb2NhdGlvbiYgaW4pCi0rICAgICAgOiBMQ2FsbEluc3RydWN0aW9u SGVscGVyKGNsYXNzT3Bjb2RlKSB7Ci0gICAgIHNldEludDY0T3BlcmFuZCgwLCBpbik7Ci0gICB9 Ci0gCi1AQCAtMTQyLDcgKzE1Myw5IEBAIGNsYXNzIExXYXNtQXRvbWljTG9hZEk2NCA6IHB1Ymxp YyBMSW5zdHIKLSAgcHVibGljOgotICAgTElSX0hFQURFUihXYXNtQXRvbWljTG9hZEk2NCk7Ci0g Ci0tICBMV2FzbUF0b21pY0xvYWRJNjQoY29uc3QgTEFsbG9jYXRpb24mIHB0cikgeyBzZXRPcGVy YW5kKDAsIHB0cik7IH0KLSsgIExXYXNtQXRvbWljTG9hZEk2NChjb25zdCBMQWxsb2NhdGlvbiYg cHRyKSA6IExJbnN0cnVjdGlvbkhlbHBlcihjbGFzc09wY29kZSkgewotKyAgICBzZXRPcGVyYW5k KDAsIHB0cik7Ci0rICB9Ci0gCi0gICBjb25zdCBMQWxsb2NhdGlvbiogcHRyKCkgeyByZXR1cm4g Z2V0T3BlcmFuZCgwKTsgfQotICAgY29uc3QgTVdhc21Mb2FkKiBtaXIoKSBjb25zdCB7IHJldHVy biBtaXJfLT50b1dhc21Mb2FkKCk7IH0KLUBAIC0xNTMsNyArMTY2LDggQEAgY2xhc3MgTFdhc21B dG9taWNTdG9yZUk2NCA6IHB1YmxpYyBMSW5zdAotICAgTElSX0hFQURFUihXYXNtQXRvbWljU3Rv cmVJNjQpOwotIAotICAgTFdhc21BdG9taWNTdG9yZUk2NChjb25zdCBMQWxsb2NhdGlvbiYgcHRy LCBjb25zdCBMSW50NjRBbGxvY2F0aW9uJiB2YWx1ZSwKLS0gICAgICAgICAgICAgICAgICAgICAg Y29uc3QgTERlZmluaXRpb24mIHRtcCkgewotKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCBM RGVmaW5pdGlvbiYgdG1wKQotKyAgICAgIDogTEluc3RydWN0aW9uSGVscGVyKGNsYXNzT3Bjb2Rl KSB7Ci0gICAgIHNldE9wZXJhbmQoMCwgcHRyKTsKLSAgICAgc2V0SW50NjRPcGVyYW5kKDEsIHZh bHVlKTsKLSAgICAgc2V0VGVtcCgwLCB0bXApOwotSW5kZXg6IG1vempzLTYwLjguMC9qcy9zcmMv aml0L21pcHM2NC9MSVItbWlwczY0LmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBtb3pqcy02MC44LjAub3Jp Zy9qcy9zcmMvaml0L21pcHM2NC9MSVItbWlwczY0LmgKLSsrKyBtb3pqcy02MC44LjAvanMvc3Jj L2ppdC9taXBzNjQvTElSLW1pcHM2NC5oCi1AQCAtMTEsMTAgKzExLDE4IEBAIG5hbWVzcGFjZSBq cyB7Ci0gbmFtZXNwYWNlIGppdCB7Ci0gCi0gY2xhc3MgTFVuYm94IDogcHVibGljIExJbnN0cnVj dGlvbkhlbHBlcjwxLCAxLCAwPiB7Ci0rIHByb3RlY3RlZDoKLSsgIExVbmJveChMTm9kZTo6T3Bj b2RlIG9wY29kZSwgY29uc3QgTEFsbG9jYXRpb24mIGlucHV0KQotKyAgICAgIDogTEluc3RydWN0 aW9uSGVscGVyKG9wY29kZSkgewotKyAgICBzZXRPcGVyYW5kKDAsIGlucHV0KTsKLSsgIH0KLSsK LSAgcHVibGljOgotICAgTElSX0hFQURFUihVbmJveCk7Ci0gCi0tICBleHBsaWNpdCBMVW5ib3go Y29uc3QgTEFsbG9jYXRpb24mIGlucHV0KSB7IHNldE9wZXJhbmQoMCwgaW5wdXQpOyB9Ci0rICBl eHBsaWNpdCBMVW5ib3goY29uc3QgTEFsbG9jYXRpb24mIGlucHV0KSA6IExJbnN0cnVjdGlvbkhl bHBlcihjbGFzc09wY29kZSkgewotKyAgICBzZXRPcGVyYW5kKDAsIGlucHV0KTsKLSsgIH0KLSAK LSAgIHN0YXRpYyBjb25zdCBzaXplX3QgSW5wdXQgPSAwOwotIAotQEAgLTI5LDcgKzM3LDcgQEAg Y2xhc3MgTFVuYm94RmxvYXRpbmdQb2ludCA6IHB1YmxpYyBMVW5ibwotICAgTElSX0hFQURFUihV bmJveEZsb2F0aW5nUG9pbnQpOwotIAotICAgTFVuYm94RmxvYXRpbmdQb2ludChjb25zdCBMQWxs b2NhdGlvbiYgaW5wdXQsIE1JUlR5cGUgdHlwZSkKLS0gICAgICA6IExVbmJveChpbnB1dCksIHR5 cGVfKHR5cGUpIHt9Ci0rICAgICAgOiBMVW5ib3goY2xhc3NPcGNvZGUsIGlucHV0KSwgdHlwZV8o dHlwZSkge30KLSAKLSAgIE1JUlR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGVfOyB9Ci0g fTsKLUBAIC0zOSwxOCArNDcsMTkgQEAgY2xhc3MgTERpdk9yTW9kSTY0IDogcHVibGljIExCaW5h cnlNYXRoPAotICAgTElSX0hFQURFUihEaXZPck1vZEk2NCkKLSAKLSAgIExEaXZPck1vZEk2NChj b25zdCBMQWxsb2NhdGlvbiYgbGhzLCBjb25zdCBMQWxsb2NhdGlvbiYgcmhzLAotLSAgICAgICAg ICAgICAgIGNvbnN0IExEZWZpbml0aW9uJiB0ZW1wKSB7Ci0rICAgICAgICAgICAgICAgY29uc3Qg TERlZmluaXRpb24mIHRlbXApCi0rICAgICAgOiBMQmluYXJ5TWF0aChjbGFzc09wY29kZSkgewot ICAgICBzZXRPcGVyYW5kKDAsIGxocyk7Ci0gICAgIHNldE9wZXJhbmQoMSwgcmhzKTsKLSAgICAg c2V0VGVtcCgwLCB0ZW1wKTsKLSAgIH0KLSAKLSAgIGNvbnN0IExEZWZpbml0aW9uKiByZW1haW5k ZXIoKSB7IHJldHVybiBnZXRUZW1wKDApOyB9Ci0tCi0gICBNQmluYXJ5QXJpdGhJbnN0cnVjdGlv biogbWlyKCkgY29uc3QgewotICAgICBNT1pfQVNTRVJUKG1pcl8tPmlzRGl2KCkgfHwgbWlyXy0+ aXNNb2QoKSk7Ci0gICAgIHJldHVybiBzdGF0aWNfY2FzdDxNQmluYXJ5QXJpdGhJbnN0cnVjdGlv bio+KG1pcl8pOwotICAgfQotKwotICAgYm9vbCBjYW5CZURpdmlkZUJ5WmVybygpIGNvbnN0IHsK LSAgICAgaWYgKG1pcl8tPmlzTW9kKCkpIHJldHVybiBtaXJfLT50b01vZCgpLT5jYW5CZURpdmlk ZUJ5WmVybygpOwotICAgICByZXR1cm4gbWlyXy0+dG9EaXYoKS0+Y2FuQmVEaXZpZGVCeVplcm8o KTsKLUBAIC03MSwxNCArODAsMTQgQEAgY2xhc3MgTFVEaXZPck1vZEk2NCA6IHB1YmxpYyBMQmlu YXJ5TWF0aAotICAgTElSX0hFQURFUihVRGl2T3JNb2RJNjQpOwotIAotICAgTFVEaXZPck1vZEk2 NChjb25zdCBMQWxsb2NhdGlvbiYgbGhzLCBjb25zdCBMQWxsb2NhdGlvbiYgcmhzLAotLSAgICAg ICAgICAgICAgICBjb25zdCBMRGVmaW5pdGlvbiYgdGVtcCkgewotKyAgICAgICAgICAgICAgICBj b25zdCBMRGVmaW5pdGlvbiYgdGVtcCkKLSsgICAgICA6IExCaW5hcnlNYXRoKGNsYXNzT3Bjb2Rl KSB7Ci0gICAgIHNldE9wZXJhbmQoMCwgbGhzKTsKLSAgICAgc2V0T3BlcmFuZCgxLCByaHMpOwot ICAgICBzZXRUZW1wKDAsIHRlbXApOwotICAgfQotIAotICAgY29uc3QgTERlZmluaXRpb24qIHJl bWFpbmRlcigpIHsgcmV0dXJuIGdldFRlbXAoMCk7IH0KLS0KLSAgIGNvbnN0IGNoYXIqIGV4dHJh TmFtZSgpIGNvbnN0IHsKLSAgICAgcmV0dXJuIG1pcigpLT5pc1RydW5jYXRlZCgpID8gIlRydW5j YXRlZCIgOiBudWxscHRyOwotICAgfQotQEAgLTg3LDcgKzk2LDYgQEAgY2xhc3MgTFVEaXZPck1v ZEk2NCA6IHB1YmxpYyBMQmluYXJ5TWF0aAotICAgICBNT1pfQVNTRVJUKG1pcl8tPmlzRGl2KCkg fHwgbWlyXy0+aXNNb2QoKSk7Ci0gICAgIHJldHVybiBzdGF0aWNfY2FzdDxNQmluYXJ5QXJpdGhJ bnN0cnVjdGlvbio+KG1pcl8pOwotICAgfQotLQotICAgYm9vbCBjYW5CZURpdmlkZUJ5WmVybygp IGNvbnN0IHsKLSAgICAgaWYgKG1pcl8tPmlzTW9kKCkpIHJldHVybiBtaXJfLT50b01vZCgpLT5j YW5CZURpdmlkZUJ5WmVybygpOwotICAgICByZXR1cm4gbWlyXy0+dG9EaXYoKS0+Y2FuQmVEaXZp ZGVCeVplcm8oKTsKLUBAIC0xMDMsNyArMTExLDEwIEBAIGNsYXNzIExXYXNtVHJ1bmNhdGVUb0lu dDY0IDogcHVibGljIExJbnMKLSAgcHVibGljOgotICAgTElSX0hFQURFUihXYXNtVHJ1bmNhdGVU b0ludDY0KTsKLSAKLS0gIGV4cGxpY2l0IExXYXNtVHJ1bmNhdGVUb0ludDY0KGNvbnN0IExBbGxv Y2F0aW9uJiBpbikgeyBzZXRPcGVyYW5kKDAsIGluKTsgfQotKyAgZXhwbGljaXQgTFdhc21UcnVu Y2F0ZVRvSW50NjQoY29uc3QgTEFsbG9jYXRpb24mIGluKQotKyAgICAgIDogTEluc3RydWN0aW9u SGVscGVyKGNsYXNzT3Bjb2RlKSB7Ci0rICAgIHNldE9wZXJhbmQoMCwgaW4pOwotKyAgfQotIAot ICAgTVdhc21UcnVuY2F0ZVRvSW50NjQqIG1pcigpIGNvbnN0IHsgcmV0dXJuIG1pcl8tPnRvV2Fz bVRydW5jYXRlVG9JbnQ2NCgpOyB9Ci0gfTsKLUBAIC0xMTIsNyArMTIzLDggQEAgY2xhc3MgTElu dDY0VG9GbG9hdGluZ1BvaW50IDogcHVibGljIExJbgotICBwdWJsaWM6Ci0gICBMSVJfSEVBREVS KEludDY0VG9GbG9hdGluZ1BvaW50KTsKLSAKLS0gIGV4cGxpY2l0IExJbnQ2NFRvRmxvYXRpbmdQ b2ludChjb25zdCBMSW50NjRBbGxvY2F0aW9uJiBpbikgewotKyAgZXhwbGljaXQgTEludDY0VG9G bG9hdGluZ1BvaW50KGNvbnN0IExJbnQ2NEFsbG9jYXRpb24mIGluKQotKyAgICAgIDogTEluc3Ry dWN0aW9uSGVscGVyKGNsYXNzT3Bjb2RlKSB7Ci0gICAgIHNldEludDY0T3BlcmFuZCgwLCBpbik7 Ci0gICB9Ci0gCi0KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbW96anM2MC9wYXRjaGVzLzAwMTEtbWlw cy1tYWNyb2Fzc2VtYmxlci5wYXRjaCBiL3NyY3BrZ3MvbW96anM2MC9wYXRjaGVzLzAwMTEtbWlw cy1tYWNyb2Fzc2VtYmxlci5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTkw ZWJhNmY3OTMuLjAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvbW96anM2MC9wYXRjaGVzLzAwMTEt bWlwcy1tYWNyb2Fzc2VtYmxlci5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI3ICswLDAgQEAK LUZyb206IERyYWdhbiBNbGFkamVub3ZpYyA8ZHJhZ2FuLm1sYWRqZW5vdmljPgotRGF0ZTogTW9u LCAxMiBNYXIgMjAxOCAxMDozMToyNCArMDEwMAotU3ViamVjdDogQnVnIDE0NDQ4MzQgOiBbTUlQ U10gU3R1Ym91dCBNYWNyb0Fzc2VtYmxlcjo6c3BlY3VsYXRpb25CYXJyaWVyCi0KLUZyb20gdXBz dHJlYW0sIHZpYSBmaXJlZm94LWVzciA2MC4yLjBlc3ItMS4KLQotUmV2aWV3ZWQtYnk6IGphbmRl bQotQnVnOiBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDQ0 ODM0Ci1BcHBsaWVkLXVwc3RyZWFtOiA2MSwgY29tbWl0Omh0dHBzOi8vaGcubW96aWxsYS5vcmcv bW96aWxsYS1jZW50cmFsL3Jldi83MzljNTM2ZDJjZDYKLS0tLQotIGpzL3NyYy9qaXQvbWlwcy1z aGFyZWQvTWFjcm9Bc3NlbWJsZXItbWlwcy1zaGFyZWQuY3BwIHwgOCArKysrKysrKwotIDEgZmls ZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKykKLQotSW5kZXg6IG1vempzLTYwLjguMC9qcy9zcmMv aml0L21pcHMtc2hhcmVkL01hY3JvQXNzZW1ibGVyLW1pcHMtc2hhcmVkLmNwcAotPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0tIG1vempzLTYwLjguMC5vcmlnL2pzL3NyYy9qaXQvbWlwcy1zaGFyZWQvTWFjcm9Bc3Nl bWJsZXItbWlwcy1zaGFyZWQuY3BwCi0rKysgbW96anMtNjAuOC4wL2pzL3NyYy9qaXQvbWlwcy1z aGFyZWQvTWFjcm9Bc3NlbWJsZXItbWlwcy1zaGFyZWQuY3BwCi1AQCAtMjY4Nyw0ICsyNjg3LDgg QEAgdm9pZCBNYWNyb0Fzc2VtYmxlcjo6YXRvbWljRWZmZWN0T3BKUyhTYwotICAgICAgICAgICAg ICAgICAgbWFza1RlbXApOwotIH0KLSAKLSsvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSsvLyBTcGVjdHJl IE1pdGlnYXRpb25zLgotKwotK3ZvaWQgTWFjcm9Bc3NlbWJsZXI6OnNwZWN1bGF0aW9uQmFycmll cigpIHsgTU9aX0NSQVNIKCk7IH0KLSAvL319fSBjaGVja19tYWNyb2Fzc2VtYmxlcl9zdHlsZQot CmRpZmYgLS1naXQgYS9zcmNwa2dzL21vempzNjAvcGF0Y2hlcy8wMDEyLW1vempzNjAucGMtaG9u b3Itc3lzcm9vdC5wYXRjaCBiL3NyY3BrZ3MvbW96anM2MC9wYXRjaGVzLzAwMTItbW96anM2MC5w Yy1ob25vci1zeXNyb290LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1YzBi NDVhNWVhNS4uMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9tb3pqczYwL3BhdGNoZXMvMDAxMi1t b3pqczYwLnBjLWhvbm9yLXN5c3Jvb3QucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMyArMCww IEBACi0ganMvc3JjL2J1aWxkL2pzLnBjLmluIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGlu c2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvanMvc3JjL2J1aWxkL2pz LnBjLmluIGIvanMvc3JjL2J1aWxkL2pzLnBjLmluCi1pbmRleCAyZWFlMzkzLi4wYTZmZDVjIDEw MDY0NAotLS0tIGEvanMvc3JjL2J1aWxkL2pzLnBjLmluCi0rKysgYi9qcy9zcmMvYnVpbGQvanMu cGMuaW4KLUBAIC04LDQgKzgsNCBAQCBEZXNjcmlwdGlvbjogVGhlIE1vemlsbGEgbGlicmFyeSBm b3IgSmF2YVNjcmlwdAotIFZlcnNpb246IEBNT1pJTExBX1ZFUlNJT05ACi0gQFBLR0NPTkZfUkVR VUlSRVNfUFJJVkFURUAKLSBMaWJzOiAtTCR7bGliZGlyfSAtbEBKU19MSUJSQVJZX05BTUVACi0t Q2ZsYWdzOiAtaW5jbHVkZSAke2luY2x1ZGVkaXJ9L0BKU19MSUJSQVJZX05BTUVAL2pzL1JlcXVp cmVkRGVmaW5lcy5oIC1JJHtpbmNsdWRlZGlyfS9ASlNfTElCUkFSWV9OQU1FQAotK0NmbGFnczog LWluY2x1ZGUgJHtwY19zeXNyb290ZGlyfSR7aW5jbHVkZWRpcn0vQEpTX0xJQlJBUllfTkFNRUAv anMvUmVxdWlyZWREZWZpbmVzLmggLUkke2luY2x1ZGVkaXJ9L0BKU19MSUJSQVJZX05BTUVACmRp ZmYgLS1naXQgYS9zcmNwa2dzL21vempzNjAvdGVtcGxhdGUgYi9zcmNwa2dzL21vempzNjAvdGVt cGxhdGUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQyMzY2YWMxMWQ2Li4wMDAwMDAw MDAwMAotLS0gYS9zcmNwa2dzL21vempzNjAvdGVtcGxhdGUKKysrIC9kZXYvbnVsbApAQCAtMSw2 OSArMCwwIEBACi0jIFRlbXBsYXRlIGZpbGUgZm9yICdtb3pqczYwJwotcGtnbmFtZT1tb3pqczYw Ci12ZXJzaW9uPTYwLjguMAotcmV2aXNpb249NQotd3Jrc3JjPSJmaXJlZm94LSR7dmVyc2lvbn0i Ci1idWlsZF93cmtzcmM9anMvc3JjCi1idWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCi1ob3N0bWFr ZWRlcGVuZHM9InBlcmwgcHl0aG9uIHBrZy1jb25maWcgYXV0b21ha2UgYXV0b2NvbmYyMTMgYXV0 b2NvbmYtYXJjaGl2ZQotIHdoaWNoIgotbWFrZWRlcGVuZHM9ImljdS1kZXZlbCBsaWJmZmktZGV2 ZWwgbnNwci1kZXZlbCBweXRob24tZGV2ZWwgcmVhZGxpbmUtZGV2ZWwgemxpYi1kZXZlbCIKLWRl cGVuZHM9Im5zcHI+PTQuMTkiCi1zaG9ydF9kZXNjPSJNb3ppbGxhIEphdmFTY3JpcHQgaW50ZXJw cmV0ZXIgYW5kIGxpYnJhcnkgKDYwLnggc2VyaWVzKSIKLW1haW50YWluZXI9IkVubm8gQm9sYW5k IDxnb3R0b3hAdm9pZGxpbnV4Lm9yZz4iCi1saWNlbnNlPSJNUEwtMi4wIgotaG9tZXBhZ2U9Imh0 dHBzOi8vd3d3Lm1vemlsbGEub3JnL2pzLyIKLWRpc3RmaWxlcz0iJHtNT1pJTExBX1NJVEV9L2Zp cmVmb3gvcmVsZWFzZXMvJHt2ZXJzaW9ufWVzci9zb3VyY2UvZmlyZWZveC0ke3ZlcnNpb259ZXNy LnNvdXJjZS50YXIueHoiCi1jaGVja3N1bT1jMTMzODdkOTQ0ZTYzNWFlYmQ1ZjFkMmNlOWFiNzdj YjcwNmE3NDA0M2EyNDBjYmI3YjcwNjU0NTE5NDg3ZmJlCi1wYXRjaF9hcmdzPSItTnAxIgotQ1hY RkxBR1M9Ii1Xbm8tY2xhc3MtbWVtYWNjZXNzIgotTERGTEFHUys9IiAtV2wsLXosc3RhY2stc2l6 ZT0xMDQ4NTc2IgotCi1pZiBbICIkWEJQU19UQVJHRVRfTk9fQVRPTUlDOCIgXTsgdGhlbgotCW1h a2VkZXBlbmRzKz0iIGxpYmF0b21pYy1kZXZlbCIKLQlMREZMQUdTKz0iIC1sYXRvbWljIgotZmkK LQotZG9fY29uZmlndXJlKCkgewotCWxvY2FsIF9hcmdzCi0KLQlpZiBbICIkQ1JPU1NfQlVJTEQi IF07IHRoZW4KLQkJZXhwb3J0IEhPU1RfQ0ZMQUdTPSItT3MiCi0JCWV4cG9ydCBIT1NUX0NYWEZM QUdTPSItT3MiCi0JCV9hcmdzKz0iIC0tdGFyZ2V0PSRYQlBTX0NST1NTX1RSSVBMRVQgLS1lbmFi bGUtbGlua2VyPWJmZCIKLQlmaQotCi0JYXV0b2NvbmYtMi4xMyBvbGQtY29uZmlndXJlLmluID4g b2xkLWNvbmZpZ3VyZQotCi0JdG91Y2ggJHt3cmtzcmN9L2pzL3NyYy9jb25maWd1cmUKLQl0b3Vj aCAke3dya3NyY30vanMvc3JjL29sZC1jb25maWd1cmUKLQlTSEVMTD0vYmluL2Jhc2ggUFlUSE9O PS91c3IvYmluL3B5dGhvbjIgLi9jb25maWd1cmUgLS1wcmVmaXg9L3VzciBcCi0JCS0tZGlzYWJs ZS1qZW1hbGxvYyAtLWRpc2FibGUtb3B0aW1pemUgLS1lbmFibGUtY3R5cGVzIC0tZW5hYmxlLXBp ZSBcCi0JCS0tZW5hYmxlLXJlYWRsaW5lIC0tZW5hYmxlLXNoYXJlZC1qcyAtLWVuYWJsZS1zeXN0 ZW0tZmZpIFwKLQkJLS1lbmFibGUtdGVzdHMgLS13aXRoLWludGwtYXBpIC0td2l0aC1zeXN0ZW0t aWN1IFwKLQkJLS13aXRoLXN5c3RlbS1uc3ByIC0td2l0aC1zeXN0ZW0temxpYiAtLXRhcmdldD0k e1hCUFNfVFJJUExFVH0gXAotCQktLWhvc3Q9JHtYQlBTX1RSSVBMRVR9IFwKLQkJJHtfYXJnc30K LX0KLQotZG9fY2hlY2soKSB7Ci0JZGlzdC9iaW4vanNhcGktdGVzdHMKLX0KLQotcG9zdF9pbnN0 YWxsKCkgewotCSMgRml4IHRoZSAnLWluY2x1ZGUnIGRpcmVjdGl2ZSwgb3RoZXJ3aXNlIGl0IHRy aWVzIHRvIHVzZSB0aGUgaG9zdHMnIGhlYWRlcgotCXZzZWQgJ3N8XkNmbGFnczouKnxDZmxhZ3M6 IC1pbmNsdWRlICR7cGNfc3lzcm9vdGRpcn0vJHtpbmNsdWRlZGlyfS9tb3pqcy02MC9qcy9SZXF1 aXJlZERlZmluZXMuaCAtSSR7aW5jbHVkZWRpcn0vbW96anMtNjB8JyBcCi0JCS1pICR7REVTVERJ Un0vdXNyL2xpYi9wa2djb25maWcvbW96anMtNjAucGMKLX0KLQotbW96anM2MC1kZXZlbF9wYWNr YWdlKCkgewotCWRlcGVuZHM9Im5zcHItZGV2ZWwgJHtzb3VyY2Vwa2d9Pj0ke3ZlcnNpb259XyR7 cmV2aXNpb259IgotCXNob3J0X2Rlc2MrPSIgLSBkZXZlbG9wbWVudCBmaWxlcyIKLQlwa2dfaW5z dGFsbCgpIHsKLQkJdm1vdmUgdXNyL2Jpbi9qczYwLWNvbmZpZwotCQl2bW92ZSB1c3IvaW5jbHVk ZQotCQl2bW92ZSAidXNyL2xpYi8qLnNvIgotCQl2bW92ZSAidXNyL2xpYi8qLmFqcyIKLQkJdm1v dmUgdXNyL2xpYi9wa2djb25maWcKLQl9Ci19CmRpZmYgLS1naXQgYS9zcmNwa2dzL21vempzNjAv dXBkYXRlIGIvc3JjcGtncy9tb3pqczYwL3VwZGF0ZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMTk0N2UxOTIxN2YuLjAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvbW96anM2MC91cGRh dGUKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi1wa2duYW1lPSdtb3pqcycKZGlmZiAtLWdp dCBhL3NyY3BrZ3MvcmVtb3ZlZC1wYWNrYWdlcy90ZW1wbGF0ZSBiL3NyY3BrZ3MvcmVtb3ZlZC1w YWNrYWdlcy90ZW1wbGF0ZQppbmRleCAwM2Q2YzQzOTlhMi4uN2M3NDMyODEwOGUgMTAwNjQ0Ci0t LSBhL3NyY3BrZ3MvcmVtb3ZlZC1wYWNrYWdlcy90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3JlbW92 ZWQtcGFja2FnZXMvdGVtcGxhdGUKQEAgLTE2Myw2ICsxNjMsNyBAQCByZXBsYWNlcz0iCiAgbWly cm9yYml0czw9MC41LjFfMQogIG1vbmdyb3VwPD0wLjQuMV8yCiAgbW96anM1Mjw9NTIuOS4wXzcK KyBtb3pqczYwPD02MC44LjBfNQogIG1vempzNjg8PTY4LjExLjBfMQogIHBob25vbi1iYWNrZW5k LWdzdHJlYW1lcjw9NC45LjBfMgogIHBob25vbi1iYWNrZW5kLXZsYzw9MC45LjFfMwo= --===============0534456898944710794==--