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=-0.2 required=5.0 tests=ALL_TRUSTED, DKIM_ADSP_NXDOMAIN autolearn=no autolearn_force=no version=3.4.4 Received: (qmail 20524 invoked from network); 25 Jan 2021 15:01:22 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 25 Jan 2021 15:01:22 -0000 Content-Type: multipart/mixed; boundary="===============1886460227105977881==" 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: Mon, 25 Jan 2021 16:01:17 +0100 List-Id: Message-ID: <20210125150117.99eAlONmXwOtkGqQ6WpjLej60t3EnIlFZgUXELGaPcY@z> GitHub notification mails are now in MIME to allow UTF8. --===============1886460227105977881== 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 --===============1886460227105977881== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-polkit-28199.patch" RnJvbSBjNDA5NjI2Njc5N2Q5MDBmZDQ1NDQzNWQzYzU4NmJmMTBkZDU4NDE1IE1vbiBTZXAgMTcg 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 RnJvbSA2YjJmMjI3ODE0ZGI4YWM4MDFmOWQ0MDc0NWRlOGY4ZWRhZDMwNDY2IE1vbiBTZXAgMTcg 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 IDk3OWRhZWRkYmYxLi4zMzA4NWUxMWM0NSAxMDA2NDQKLS0tIGEvY29tbW9uL3NobGlicworKysg Yi9jb21tb24vc2hsaWJzCkBAIC0zNTE5LDcgKzM1MTksNiBAQCBsaWJtYXhtaW5kZGIuc28uMCBs aWJtYXhtaW5kZGItMS4zLjJfMQogbGlibXlzcWxwcC5zby4zIG15c3FsKystMy4yLjVfMQogbGli S0Y1U3luZGljYXRpb24uc28uNSBzeW5kaWNhdGlvbi01LjUwLjBfMQogbGlibHFyLTEuc28uMCBs aWJscXItMC40LjJfMQotbGlibW96anMtNjAuc28uMCBtb3pqczYwLTYwLjAuMl8xCiBsaWJtb3pq cy02OC5zby4wIG1vempzNjgtNjguOC4wXzEKIGxpYm1vempzLTc4LnNvLjAgbW96anM3OC03OC4x LjBfMQogbGliZWJ1cjEyOC5zby4xIGxpYmVidXIxMjgtMS4yLjRfMQpkaWZmIC0tZ2l0IGEvc3Jj cGtncy9tb3pqczYwLWRldmVsIGIvc3JjcGtncy9tb3pqczYwLWRldmVsCmRlbGV0ZWQgZmlsZSBt b2RlIDEyMDAwMAppbmRleCA0NjI2MWI0M2RiZS4uMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9t b3pqczYwLWRldmVsCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotbW96anM2MApcIE5vIG5l d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbW96anM2MC9wYXRjaGVz LzAwMDEtc2lsZW5jZS1zYW5kYm94LXZpb2xhdGlvbnMucGF0Y2ggYi9zcmNwa2dzL21vempzNjAv cGF0Y2hlcy8wMDAxLXNpbGVuY2Utc2FuZGJveC12aW9sYXRpb25zLnBhdGNoCmRlbGV0ZWQgZmls ZSBtb2RlIDEwMDY0NAppbmRleCA5MTgyMDI2NzE4Mi4uMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtn cy9tb3pqczYwL3BhdGNoZXMvMDAwMS1zaWxlbmNlLXNhbmRib3gtdmlvbGF0aW9ucy5wYXRjaAor KysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLVVwc3RyZWFtOiBubwotRnJvbSA5YWQxMDU2 OWUxMWEyZmI5NjM3NzE4OGY4OTViYzY2YWJjYzk1MTFkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQotRnJvbTogTWFyYy1BbnRvaW5lIFBlcmVubm91IDxNYXJjLUFudG9pbmVAUGVyZW5ub3UuY29t PgotRGF0ZTogV2VkLCA1IFNlcCAyMDE4IDE1OjA1OjI0ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hd IHNpbGVuY2Ugc2FuZGJveCB2aW9sYXRpb25zCi0KLVNpZ25lZC1vZmYtYnk6IE1hcmMtQW50b2lu ZSBQZXJlbm5vdSA8TWFyYy1BbnRvaW5lQFBlcmVubm91LmNvbT4KLS0tLQotIHB5dGhvbi9tb3pi dWlsZC9tb3pidWlsZC9mcm9udGVuZC9lbWl0dGVyLnB5IHwgNSAtLS0tLQotIDEgZmlsZSBjaGFu Z2VkLCA1IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvcHl0aG9uL21vemJ1aWxkL21vemJ1 aWxkL2Zyb250ZW5kL2VtaXR0ZXIucHkgYi9weXRob24vbW96YnVpbGQvbW96YnVpbGQvZnJvbnRl bmQvZW1pdHRlci5weQotaW5kZXggNjQyYjM4MWMwLi5jMzdmYmY1ZDAgMTAwNjQ0Ci0tLS0gYS9w eXRob24vbW96YnVpbGQvbW96YnVpbGQvZnJvbnRlbmQvZW1pdHRlci5weQotKysrIGIvcHl0aG9u L21vemJ1aWxkL21vemJ1aWxkL2Zyb250ZW5kL2VtaXR0ZXIucHkKLUBAIC0xMTI3LDExICsxMTI3 LDYgQEAgY2xhc3MgVHJlZU1ldGFkYXRhRW1pdHRlcihMb2dnaW5nTWl4aW4pOgotICAgICAgICAg ICAgICAgICByYWlzZSBTYW5kYm94VmFsaWRhdGlvbkVycm9yKCdQYXRoIHNwZWNpZmllZCBpbiBM T0NBTF9JTkNMVURFUyAnCi0gICAgICAgICAgICAgICAgICAgICAnZG9lcyBub3QgZXhpc3Q6ICVz IChyZXNvbHZlZCB0byAlcyknICUgKGxvY2FsX2luY2x1ZGUsCi0gICAgICAgICAgICAgICAgICAg ICBmdWxsX3BhdGgpLCBjb250ZXh0KQotLSAgICAgICAgICAgIGlmIChmdWxsX3BhdGggPT0gY29u dGV4dC5jb25maWcudG9wc3JjZGlyIG9yCi0tICAgICAgICAgICAgICAgICAgICBmdWxsX3BhdGgg PT0gY29udGV4dC5jb25maWcudG9wb2JqZGlyKToKLS0gICAgICAgICAgICAgICAgcmFpc2UgU2Fu ZGJveFZhbGlkYXRpb25FcnJvcignUGF0aCBzcGVjaWZpZWQgaW4gTE9DQUxfSU5DTFVERVMgJwot LSAgICAgICAgICAgICAgICAgICAgJ2lzIG5vdCBhbGxvd2VkOiAlcyAocmVzb2x2ZWQgdG8gJXMp JyAlIChsb2NhbF9pbmNsdWRlLAotLSAgICAgICAgICAgICAgICAgICAgZnVsbF9wYXRoKSwgY29u dGV4dCkKLSAgICAgICAgICAgICBpbmNsdWRlX29iaiA9IExvY2FsSW5jbHVkZShjb250ZXh0LCBs b2NhbF9pbmNsdWRlKQotICAgICAgICAgICAgIGxvY2FsX2luY2x1ZGVzLmFwcGVuZChpbmNsdWRl X29iai5wYXRoLmZ1bGxfcGF0aCkKLSAgICAgICAgICAgICB5aWVsZCBpbmNsdWRlX29iagotLS0g Ci0yLjE4LjAKLQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9tb3pqczYwL3BhdGNoZXMvMDAwMi1zYXZl LWFuZC1yZXN0b3JlLW5vbi12b2xhdGlsZS14Mjgtb24tYXJtNjQucGF0Y2ggYi9zcmNwa2dzL21v empzNjAvcGF0Y2hlcy8wMDAyLXNhdmUtYW5kLXJlc3RvcmUtbm9uLXZvbGF0aWxlLXgyOC1vbi1h cm02NC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDZkMjgwZDA2YWUuLjAw MDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvbW96anM2MC9wYXRjaGVzLzAwMDItc2F2ZS1hbmQtcmVz dG9yZS1ub24tdm9sYXRpbGUteDI4LW9uLWFybTY0LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEs NjQgKzAsMCBAQAotIyBIRyBjaGFuZ2VzZXQgcGF0Y2gKLSMgVXNlciBMYXJzIFQgSGFuc2VuIDxs aGFuc2VuQG1vemlsbGEuY29tPgotIyBEYXRlIDE1MTk4MjI2NzIgLTM2MDAKLSMgTm9kZSBJRCA4 MDBhYmU2Njg5NGQ2YjA3YjI0YmNjZWNiZjZhNjVlMjI2MTA3NmY2Ci0jIFBhcmVudCAgMjIzYzk3 NDU5ZTk2MTgzZWI2MTZhZWQzOTE0NzIwN2JkYjk1M2JhOAotQnVnIDEzNzUwNzQgLSBTYXZlIGFu ZCByZXN0b3JlIG5vbi12b2xhdGlsZSB4Mjggb24gQVJNNjQgZm9yIGdlbmVyYXRlZCB1bmJveGVk IG9iamVjdCBjb25zdHJ1Y3Rvci4gIHI9c3N0YW5nbAotCi1PcmlnaW46IHVwc3RyZWFtCi1BcHBs aWVkLXVwc3RyZWFtOiA2MSwgY29tbWl0OiBodHRwczovL2hnLm1vemlsbGEub3JnL21vemlsbGEt Y2VudHJhbC9yZXYvODAwYWJlNjY4OTRkCi0tLS0KLSBqcy9zcmMvdm0vVW5ib3hlZE9iamVjdC5j cHAgfCAzMCArKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0KLSAxIGZpbGUgY2hhbmdlZCwg MjYgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2pzL3NyYy92 bS9VbmJveGVkT2JqZWN0LmNwcCBiL2pzL3NyYy92bS9VbmJveGVkT2JqZWN0LmNwcAotaW5kZXgg MzVjYTIwZDc0MDVmLi4xYzIwYTEwOTNkMTMgMTAwNjQ0Ci0tLS0gYS9qcy9zcmMvdm0vVW5ib3hl ZE9iamVjdC5jcHAKLSsrKyBiL2pzL3NyYy92bS9VbmJveGVkT2JqZWN0LmNwcAotQEAgLTg2LDkg Kzg2LDE2IEBAIHN0YXRpYyBjb25zdCB1aW50cHRyX3QgQ0xFQVJfQ09OU1RSVUNUT1JfQ09ERV9U T0tFTiA9IDB4MTsKLSAjZW5kaWYKLQotICNpZmRlZiBKU19DT0RFR0VOX0FSTTY0Ci0tICAvLyBB Uk02NCBjb21tdW5pY2F0ZXMgc3RhY2sgYWRkcmVzcyB2aWEgc3AsIGJ1dCB1c2VzIGEgcHNldWRv LXNwIGZvcgotLSAgLy8gYWRkcmVzc2luZy4KLS0gIG1hc20uaW5pdFN0YWNrUHRyKCk7Ci0rICAg IC8vIEFSTTY0IGNvbW11bmljYXRlcyBzdGFjayBhZGRyZXNzIHZpYSBzcCwgYnV0IHVzZXMgYSBw c2V1ZG8tc3AgKFBTUCkgZm9yCi0rICAgIC8vIGFkZHJlc3NpbmcuICBUaGUgcmVnaXN0ZXIgd2Ug dXNlIGZvciBQU1AgbWF5IGhvd2V2ZXIgYWxzbyBiZSB1c2VkIGJ5Ci0rICAgIC8vIGNhbGxpbmcg Y29kZSwgYW5kIGl0IGlzIG5vbnZvbGF0aWxlLCBzbyBzYXZlIGl0LiAgRG8gdGhpcyBhcyBhIHNw ZWNpYWwKLSsgICAgLy8gY2FzZSBmaXJzdCBiZWNhdXNlIHRoZSBnZW5lcmljIHNhdmUvcmVzdG9y ZSBjb2RlIG5lZWRzIHRoZSBQU1AgdG8gYmUKLSsgICAgLy8gaW5pdGlhbGl6ZWQgYWxyZWFkeS4K LSsgICAgTU9aX0FTU0VSVChQc2V1ZG9TdGFja1BvaW50ZXI2NC5JcyhtYXNtLkdldFN0YWNrUG9p bnRlcjY0KCkpKTsKLSsgICAgbWFzbS5TdHIoUHNldWRvU3RhY2tQb2ludGVyNjQsIHZpeGw6Ok1l bU9wZXJhbmQoc3AsIC0xNiwgdml4bDo6UHJlSW5kZXgpKTsKLSsKLSsgICAgLy8gSW5pdGlhbGl6 ZSB0aGUgUFNQIGZyb20gdGhlIFNQLgotKyAgICBtYXNtLmluaXRTdGFja1B0cigpOwotICNlbmRp ZgotCi0gICBNT1pfQVNTRVJUKHByb3BlcnRpZXNSZWcudm9sYXRpbGVfKCkpOwotQEAgLTIzOSw3 ICsyNDYsMjIgQEAgc3RhdGljIGNvbnN0IHVpbnRwdHJfdCBDTEVBUl9DT05TVFJVQ1RPUl9DT0RF X1RPS0VOID0gMHgxOwotICAgaWYgKFNjcmF0Y2hEb3VibGVSZWcudm9sYXRpbGVfKCkpIG1hc20u cG9wKFNjcmF0Y2hEb3VibGVSZWcpOwotICAgbWFzbS5Qb3BSZWdzSW5NYXNrKHNhdmVkTm9uVm9s YXRpbGVSZWdpc3RlcnMpOwotCi0tICBtYXNtLmFiaXJldCgpOwotKyNpZmRlZiBKU19DT0RFR0VO X0FSTTY0Ci0rICAgIC8vIE5vdyByZXN0b3JlIHRoZSB2YWx1ZSB0aGF0IHdhcyBpbiB0aGUgUFNQ IHJlZ2lzdGVyIG9uIGVudHJ5LCBhbmQgcmV0dXJuLgotKwotKyAgICAvLyBPYnRhaW4gdGhlIGNv cnJlY3QgU1AgZnJvbSB0aGUgUFNQLgotKyAgICBtYXNtLk1vdihzcCwgUHNldWRvU3RhY2tQb2lu dGVyNjQpOwotKwotKyAgICAvLyBSZXN0b3JlIHRoZSBzYXZlZCB2YWx1ZSBvZiB0aGUgUFNQIHJl Z2lzdGVyLCB0aGlzIHZhbHVlIGlzIHdoYXRldmVyIHRoZQotKyAgICAvLyBjYWxsZXIgaGFkIHNh dmVkIGluIGl0LCBub3QgYW55IGFjdHVhbCBTUCB2YWx1ZSwgYW5kIGl0IG11c3Qgbm90IGJlCi0r ICAgIC8vIG92ZXJ3cml0dGVuIHN1YnNlcXVlbnRseS4KLSsgICAgbWFzbS5MZHIoUHNldWRvU3Rh Y2tQb2ludGVyNjQsIHZpeGw6Ok1lbU9wZXJhbmQoc3AsIDE2LCB2aXhsOjpQb3N0SW5kZXgpKTsK LSsKLSsgICAgLy8gUGVyZm9ybSBhIHBsYWluIFJldCgpLCBhcyBhYmlyZXQoKSB3aWxsIG1vdmUg U1AgPC0gUFNQIGFuZCB0aGF0IGlzIHdyb25nLgotKyAgICBtYXNtLlJldCh2aXhsOjpscik7Ci0r I2Vsc2UKLSsgICAgbWFzbS5hYmlyZXQoKTsKLSsjZW5kaWYKLQotICAgbWFzbS5iaW5kKCZmYWls dXJlU3RvcmVPdGhlcik7Ci0KLS0tCi0yLjIxLjAKLQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9tb3pq czYwL3BhdGNoZXMvMDAwMy1zYXZlLXgyOC1iZWZvcmUtY2xvYmJlcmluZy1pdC1pbi10aGUtcmVn ZXgtY29tcGlsZXIucGF0Y2ggYi9zcmNwa2dzL21vempzNjAvcGF0Y2hlcy8wMDAzLXNhdmUteDI4 LWJlZm9yZS1jbG9iYmVyaW5nLWl0LWluLXRoZS1yZWdleC1jb21waWxlci5wYXRjaApkZWxldGVk IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzg4NmMwZTliMjEuLjAwMDAwMDAwMDAwCi0tLSBhL3Ny Y3BrZ3MvbW96anM2MC9wYXRjaGVzLzAwMDMtc2F2ZS14MjgtYmVmb3JlLWNsb2JiZXJpbmctaXQt aW4tdGhlLXJlZ2V4LWNvbXBpbGVyLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsOTcgKzAsMCBA QAotIyBIRyBjaGFuZ2VzZXQgcGF0Y2gKLSMgVXNlciBMYXJzIFQgSGFuc2VuIDxsaGFuc2VuQG1v emlsbGEuY29tPgotIyBEYXRlIDE1MjE0NDk4ODYgLTM2MDAKLSMgTm9kZSBJRCA5MDNhNzlhMWVm ZmYxOGZjN2NjNTBkYjA5YTNmZTVkNzY4YWRjOWE4Ci0jIFBhcmVudCAgNGQyOTU1YTljYTdlMzBj YTRjM2FmOWMyMTRjY2M3N2ZiMmZlN2ZiOAotQnVnIDE0NDU5MDcgLSBTYXZlIHgyOCBiZWZvcmUg Y2xvYmJlcmluZyBpdCBpbiB0aGUgcmVnZXggY29tcGlsZXIuIHI9c3N0YW5nbAotCi1PcmlnaW46 IHVwc3RyZWFtCi1BcHBsaWVkLXVwc3RyZWFtOiA2MSwgY29tbWl0OiBodHRwczovL2hnLm1vemls bGEub3JnL21vemlsbGEtY2VudHJhbC9yZXYvOTAzYTc5YTFlZmZmCi0tLS0KLWRpZmYgLS1naXQg YS9qcy9zcmMvaXJyZWdleHAvTmF0aXZlUmVnRXhwTWFjcm9Bc3NlbWJsZXIuY3BwIGIvanMvc3Jj L2lycmVnZXhwL05hdGl2ZVJlZ0V4cE1hY3JvQXNzZW1ibGVyLmNwcAotLS0tIGEvanMvc3JjL2ly cmVnZXhwL05hdGl2ZVJlZ0V4cE1hY3JvQXNzZW1ibGVyLmNwcAotKysrIGIvanMvc3JjL2lycmVn ZXhwL05hdGl2ZVJlZ0V4cE1hY3JvQXNzZW1ibGVyLmNwcAotQEAgLTExOCwxNyArMTE4LDI1IEBA IE5hdGl2ZVJlZ0V4cE1hY3JvQXNzZW1ibGVyOjpHZW5lcmF0ZUNvZGUKLQotICAgICBMYWJlbCBy ZXR1cm5fdGVtcDA7Ci0KLSAgICAgLy8gRmluYWxpemUgY29kZSAtIHdyaXRlIHRoZSBlbnRyeSBw b2ludCBjb2RlIG5vdyB3ZSBrbm93IGhvdyBtYW55Ci0gICAgIC8vIHJlZ2lzdGVycyB3ZSBuZWVk LgotICAgICBtYXNtLmJpbmQoJmVudHJ5X2xhYmVsXyk7Ci0KLSAjaWZkZWYgSlNfQ09ERUdFTl9B Uk02NAotLSAgICAvLyBBUk02NCBjb21tdW5pY2F0ZXMgc3RhY2sgYWRkcmVzcyB2aWEgc3AsIGJ1 dCB1c2VzIGEgcHNldWRvLXNwIGZvciBhZGRyZXNzaW5nLgotKyAgICAvLyBBUk02NCBjb21tdW5p Y2F0ZXMgc3RhY2sgYWRkcmVzcyB2aWEgU1AsIGJ1dCB1c2VzIGEgcHNldWRvLXNwIChQU1ApIGZv cgotKyAgICAvLyBhZGRyZXNzaW5nLiAgVGhlIHJlZ2lzdGVyIHdlIHVzZSBmb3IgUFNQIG1heSBo b3dldmVyIGFsc28gYmUgdXNlZCBieQotKyAgICAvLyBjYWxsaW5nIGNvZGUsIGFuZCBpdCBpcyBu b252b2xhdGlsZSwgc28gc2F2ZSBpdC4gIERvIHRoaXMgYXMgYSBzcGVjaWFsCi0rICAgIC8vIGNh c2UgZmlyc3QgYmVjYXVzZSB0aGUgZ2VuZXJpYyBzYXZlL3Jlc3RvcmUgY29kZSBuZWVkcyB0aGUg UFNQIHRvIGJlCi0rICAgIC8vIGluaXRpYWxpemVkIGFscmVhZHkuCi0rICAgIE1PWl9BU1NFUlQo UHNldWRvU3RhY2tQb2ludGVyNjQuSXMobWFzbS5HZXRTdGFja1BvaW50ZXI2NCgpKSk7Ci0rICAg IG1hc20uU3RyKFBzZXVkb1N0YWNrUG9pbnRlcjY0LCB2aXhsOjpNZW1PcGVyYW5kKHNwLCAtMTYs IHZpeGw6OlByZUluZGV4KSk7Ci0rCi0rICAgIC8vIEluaXRpYWxpemUgdGhlIFBTUCBmcm9tIHRo ZSBTUC4KLSAgICAgbWFzbS5pbml0U3RhY2tQdHIoKTsKLSAjZW5kaWYKLQotICAgICAvLyBQdXNo IG5vbi12b2xhdGlsZSByZWdpc3RlcnMgd2hpY2ggbWlnaHQgYmUgbW9kaWZpZWQgYnkgaml0Y29k ZS4KLSAgICAgc2l6ZV90IHB1c2hlZE5vblZvbGF0aWxlUmVnaXN0ZXJzID0gMDsKLSAgICAgZm9y IChHZW5lcmFsUmVnaXN0ZXJGb3J3YXJkSXRlcmF0b3IgaXRlcihzYXZlZE5vblZvbGF0aWxlUmVn aXN0ZXJzKTsgaXRlci5tb3JlKCk7ICsraXRlcikgewotICAgICAgICAgbWFzbS5QdXNoKCppdGVy KTsKLSAgICAgICAgIHB1c2hlZE5vblZvbGF0aWxlUmVnaXN0ZXJzKys7Ci1AQCAtNDE2LDE3ICs0 MjQsMzIgQEAgTmF0aXZlUmVnRXhwTWFjcm9Bc3NlbWJsZXI6OkdlbmVyYXRlQ29kZQotICAgICBt YXNtLnBvcCh0ZW1wMCk7Ci0gICAgIG1hc20ubW92ZVB0cih0ZW1wMCwgU3RhY2tQb2ludGVyKTsK LSAjZW5kaWYKLQotICAgICAvLyBSZXN0b3JlIG5vbi12b2xhdGlsZSByZWdpc3RlcnMgd2hpY2gg d2VyZSBzYXZlZCBvbiBlbnRyeS4KLSAgICAgZm9yIChHZW5lcmFsUmVnaXN0ZXJCYWNrd2FyZEl0 ZXJhdG9yIGl0ZXIoc2F2ZWROb25Wb2xhdGlsZVJlZ2lzdGVycyk7IGl0ZXIubW9yZSgpOyArK2l0 ZXIpCi0gICAgICAgICBtYXNtLlBvcCgqaXRlcik7Ci0KLSsjaWZkZWYgSlNfQ09ERUdFTl9BUk02 NAotKyAgICAvLyBOb3cgcmVzdG9yZSB0aGUgdmFsdWUgdGhhdCB3YXMgaW4gdGhlIFBTUCByZWdp c3RlciBvbiBlbnRyeSwgYW5kIHJldHVybi4KLSsKLSsgICAgLy8gT2J0YWluIHRoZSBjb3JyZWN0 IFNQIGZyb20gdGhlIFBTUC4KLSsgICAgbWFzbS5Nb3Yoc3AsIFBzZXVkb1N0YWNrUG9pbnRlcjY0 KTsKLSsKLSsgICAgLy8gUmVzdG9yZSB0aGUgc2F2ZWQgdmFsdWUgb2YgdGhlIFBTUCByZWdpc3Rl ciwgdGhpcyB2YWx1ZSBpcyB3aGF0ZXZlciB0aGUKLSsgICAgLy8gY2FsbGVyIGhhZCBzYXZlZCBp biBpdCwgbm90IGFueSBhY3R1YWwgU1AgdmFsdWUsIGFuZCBpdCBtdXN0IG5vdCBiZQotKyAgICAv LyBvdmVyd3JpdHRlbiBzdWJzZXF1ZW50bHkuCi0rICAgIG1hc20uTGRyKFBzZXVkb1N0YWNrUG9p bnRlcjY0LCB2aXhsOjpNZW1PcGVyYW5kKHNwLCAxNiwgdml4bDo6UG9zdEluZGV4KSk7Ci0rCi0r ICAgIC8vIFBlcmZvcm0gYSBwbGFpbiBSZXQoKSwgYXMgYWJpcmV0KCkgd2lsbCBtb3ZlIFNQIDwt IFBTUCBhbmQgdGhhdCBpcyB3cm9uZy4KLSsgICAgbWFzbS5SZXQodml4bDo6bHIpOwotKyNlbHNl Ci0gICAgIG1hc20uYWJpcmV0KCk7Ci0rI2VuZGlmCi0KLSAgICAgLy8gQmFja3RyYWNrIGNvZGUg KGJyYW5jaCB0YXJnZXQgZm9yIGNvbmRpdGlvbmFsIGJhY2t0cmFja3MpLgotICAgICBpZiAoYmFj a3RyYWNrX2xhYmVsXy51c2VkKCkpIHsKLSAgICAgICAgIG1hc20uYmluZCgmYmFja3RyYWNrX2xh YmVsXyk7Ci0gICAgICAgICBCYWNrdHJhY2soKTsKLSAgICAgfQotCi0gICAgIC8vIEJhY2t0cmFj ayBzdGFjayBvdmVyZmxvdyBjb2RlLgotZGlmZiAtLWdpdCBhL2pzL3NyYy9qaXQtdGVzdC90ZXN0 cy9yZWdleHAvYnVnMTQ0NTkwNy5qcyBiL2pzL3NyYy9qaXQtdGVzdC90ZXN0cy9yZWdleHAvYnVn MTQ0NTkwNy5qcwotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLS0tLSAvZGV2L251bGwKLSsrKyBiL2pz L3NyYy9qaXQtdGVzdC90ZXN0cy9yZWdleHAvYnVnMTQ0NTkwNy5qcwotQEAgLTAsMCArMSwxNSBA QAotKy8vIE9uIEFSTTY0LCB3ZSBmYWlsZWQgdG8gc2F2ZSB4MjggcHJvcGVybHkgd2hlbiBnZW5l cmF0aW5nIGNvZGUgZm9yIHRoZSByZWdleHAKLSsvLyBtYXRjaGVyLgotKy8vCi0rLy8gVGhlcmUn cyB3YXNtIGFuZCBEZWJ1Z2dlciBjb2RlIGhlcmUgYmVjYXVzZSB0aGUgY29tYmluYXRpb24gZm9y Y2VzIHRoZSB1c2Ugb2YKLSsvLyB4MjggYW5kIGV4cG9zZXMgdGhlIGJ1ZyB3aGVuIHJ1bm5pbmcg b24gdGhlIHNpbXVsYXRvci4KLSsKLStpZiAoIXdhc21Jc1N1cHBvcnRlZCgpKQotKyAgICBxdWl0 KCk7Ci0rCi0rdmFyIGcgPSBuZXdHbG9iYWwoJycpOwotK3ZhciBkYmcgPSBuZXcgRGVidWdnZXIo Zyk7Ci0rZy5ldmFsKGB2YXIgbSA9IG5ldyBXZWJBc3NlbWJseS5JbnN0YW5jZShuZXcgV2ViQXNz ZW1ibHkuTW9kdWxlKHdhc21UZXh0VG9CaW5hcnkoJyhtb2R1bGUgKGZ1bmMgKGV4cG9ydCAidGVz dCIpKSknKSkpYCk7Ci0rdmFyIHJlID0gLy4vOwotK2RiZy5vbkVudGVyRnJhbWUgPSBmdW5jdGlv bihmcmFtZSkgeyByZS5leGVjKCJ4IikgfTsKLStyZXN1bHQgPSBnLmV2YWwoIm0uZXhwb3J0cy50 ZXN0KCkiKTsKLQotLS0KLTIuMjEuMAotCmRpZmYgLS1naXQgYS9zcmNwa2dzL21vempzNjAvcGF0 Y2hlcy8wMDA0LWZpeC1zb25hbWUtbGliLnBhdGNoIGIvc3JjcGtncy9tb3pqczYwL3BhdGNoZXMv MDAwNC1maXgtc29uYW1lLWxpYi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg YjkxNDdmYTIwYzkuLjAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvbW96anM2MC9wYXRjaGVzLzAw MDQtZml4LXNvbmFtZS1saWIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMCArMCwwIEBACi1T b3VyY2U6IEFyY2ggTGludXgKLVVwc3RyZWFtOiBVbmtub3duCi1SZWFzb246IGZpeGVzIGxpbmtp bmcgYWdhaW5zdCBsaWJtb3pqcy02MAotCi1kaWZmIC0tZ2l0IGkvanMvc3JjL2J1aWxkL01ha2Vm aWxlLmluIHcvanMvc3JjL2J1aWxkL01ha2VmaWxlLmluCi1pbmRleCBlZTE5MTA0ZTBlZjUuLmEw ZjA2ZmQzNWExOCAxMDA2NDQKLS0tLSBpL2pzL3NyYy9idWlsZC9NYWtlZmlsZS5pbgotKysrIHcv anMvc3JjL2J1aWxkL01ha2VmaWxlLmluCi1AQCAtODksNiArODksOCBAQCBpZm5lcSAoLCQoUkVB TF9MSUJSQVJZKSkKLSBlbmRpZgotIGlmbmVxICgsJChTSEFSRURfTElCUkFSWSkpCi0gCSQoU1lT SU5TVEFMTCkgJChTSEFSRURfTElCUkFSWSkgJChERVNURElSKSQobGliZGlyKQotKwltdiAtZiAk KERFU1RESVIpJChsaWJkaXIpLyQoU0hBUkVEX0xJQlJBUlkpICQoREVTVERJUikkKGxpYmRpcikv JChTSEFSRURfTElCUkFSWSkuMAotKwlsbiAtcyAkKFNIQVJFRF9MSUJSQVJZKS4wICQoREVTVERJ UikkKGxpYmRpcikvJChTSEFSRURfTElCUkFSWSkKLSBpZmVxICgkKE9TX0FSQ0gpLERhcndpbikK LSAJaW5zdGFsbF9uYW1lX3Rvb2wgLWlkICQoYWJzcGF0aCAkKGxpYmRpcikvJChTSEFSRURfTElC UkFSWSkpICQoREVTVERJUikkKGxpYmRpcikvJChTSEFSRURfTElCUkFSWSkKLSBlbmRpZgotZGlm ZiAtLWdpdCBpL2pzL3NyYy9idWlsZC9tb3ouYnVpbGQgdy9qcy9zcmMvYnVpbGQvbW96LmJ1aWxk Ci1pbmRleCBhN2Y1ZmE0Y2U4ZWIuLjcyNjY4N2MxM2ZiMCAxMDA2NDQKLS0tLSBpL2pzL3NyYy9i dWlsZC9tb3ouYnVpbGQKLSsrKyB3L2pzL3NyYy9idWlsZC9tb3ouYnVpbGQKLUBAIC0yMyw2ICsy Myw3IEBAIGlmIG5vdCBDT05GSUdbJ0pTX1NUQU5EQUxPTkUnXToKLSBpZiBDT05GSUdbJ0pTX1NI QVJFRF9MSUJSQVJZJ106Ci0gICAgIEdlY2tvU2hhcmVkTGlicmFyeSgnanMnLCBsaW5rYWdlPU5v bmUpCi0gICAgIFNIQVJFRF9MSUJSQVJZX05BTUUgPSBDT05GSUdbJ0pTX0xJQlJBUllfTkFNRSdd Ci0rICAgIExERkxBR1MgKz0gWyctV2wsLXNvbmFtZSxsaWJ7fS5zby4wJy5mb3JtYXQoU0hBUkVE X0xJQlJBUllfTkFNRSldCi0gZWxzZToKLSAgICAgTGlicmFyeSgnanMnKQotIAotCmRpZmYgLS1n aXQgYS9zcmNwa2dzL21vempzNjAvcGF0Y2hlcy8wMDA1LWZpeC1tdXNsLWJ1aWxkLnBhdGNoIGIv c3JjcGtncy9tb3pqczYwL3BhdGNoZXMvMDAwNS1maXgtbXVzbC1idWlsZC5wYXRjaApkZWxldGVk IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWYzOTQ2NzM5OTAuLjAwMDAwMDAwMDAwCi0tLSBhL3Ny Y3BrZ3MvbW96anM2MC9wYXRjaGVzLzAwMDUtZml4LW11c2wtYnVpbGQucGF0Y2gKKysrIC9kZXYv bnVsbApAQCAtMSwxNiArMCwwIEBACi1VcHN0cmVhbTogTm8KLVJlYXNvbjogbW96anM2MCBtaXNj b21waWxlcyBvbiBtdXNsIGlmIGJ1aWx0IHdpdGggSEFWRV9USFJFQURfVExTX0tFWVdPUkQ6Ci1o dHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL2lzc3Vlcy8yNTk4Ci1k aWZmIC0tZ2l0IGEvanMvc3JjL29sZC1jb25maWd1cmUuaW4gYi9qcy9zcmMvb2xkLWNvbmZpZ3Vy ZS5pbgotLS0tIGEvanMvc3JjL29sZC1jb25maWd1cmUuaW4KLSsrKyBiL2pzL3NyYy9vbGQtY29u ZmlndXJlLmluCi1AQCAtMTI3Miw2ICsxMjcyLDkgQEAKLSAgICAgKi1hbmRyb2lkKnwqLWxpbnV4 YW5kcm9pZCopCi0gICAgICAgOgotICAgICAgIDs7Ci0rICAgICotbXVzbCopCi0rICAgICAgOgot KyAgICAgIDs7Ci0gICAgICopCi0gICAgICAgQUNfREVGSU5FKEhBVkVfVEhSRUFEX1RMU19LRVlX T1JEKQotICAgICAgIDs7CmRpZmYgLS1naXQgYS9zcmNwa2dzL21vempzNjAvcGF0Y2hlcy8wMDA2 LWVuZGlhbm5lc3MucGF0Y2ggYi9zcmNwa2dzL21vempzNjAvcGF0Y2hlcy8wMDA2LWVuZGlhbm5l c3MucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU2MzUyYjc0YzcwLi4wMDAw MDAwMDAwMAotLS0gYS9zcmNwa2dzL21vempzNjAvcGF0Y2hlcy8wMDA2LWVuZGlhbm5lc3MucGF0 Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMjcgKzAsMCBAQAotQnVnIDE0ODg1NTIgLSBFbnN1cmUg cHJvcGVyIHJ1bm5pbmcgb24gNjQtYml0IGFuZCAzMi1iaXQgQkUgcGxhdGZvcm1zLgotCi1JbmRl eDogbW96anM2MC9qcy9zcmMvZ2MvTWFya2luZy1pbmwuaAotPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGEvanMv c3JjL2djL01hcmtpbmctaW5sLmgJMjAxOS0wMi0yMSAxNDo0NDoyOC4yOTY5NTE5OTIgKzAxMDAK LSsrKyBiL2pzL3NyYy9nYy9NYXJraW5nLWlubC5oCTIwMTktMDItMjIgMTA6MjI6NTQuNjEyMTIw NjA0ICswMTAwCi1AQCAtODIsMTIgKzgyLDI4IEBACi0gICBNT1pfQVNTRVJUKCFpc0ZvcndhcmRl ZCgpKTsKLSAgIC8vIFRoZSBsb2NhdGlvbiBvZiBtYWdpY18gaXMgaW1wb3J0YW50IGJlY2F1c2Ug aXQgbXVzdCBuZXZlciBiZSB2YWxpZCB0byBzZWUKLSAgIC8vIHRoZSB2YWx1ZSBSZWxvY2F0ZWQg dGhlcmUgaW4gYSBHQyB0aGluZyB0aGF0IGhhcyBub3QgYmVlbiBtb3ZlZC4KLSsjaWYgTU9aX0xJ VFRMRV9FTkRJQU4gfHwgSlNfQklUU19QRVJfV09SRCA9PSAzMgotKyAgLy8gT24gMzItYml0LCB0 aGUgbWFnaWNfIGFsaWFzZXMgd2l0aCB3aGF0ZXZlciBjb21lcyBhZnRlciB0aGUgZmlyc3QKLSsg IC8vIHBvaW50ZXI7IG9uIGxpdHRsZS1lbmRpYW4gNjQtYml0LCB0aGUgbWFnaWNfIGFsaWFzZXMg d2l0aCB0aGUKLSsgIC8vIDMyIG1vc3Qgc2lnbmlmaWNhbnQgYml0cyBvZiB0aGUgcG9pbnRlciwg d2hpY2ggYXJlIHRoZSBzZWNvbmQgaGFsZi4KLSAgIHN0YXRpY19hc3NlcnQob2Zmc2V0b2YoUmVs b2NhdGlvbk92ZXJsYXksIG1hZ2ljXykgPT0KLSAgICAgICAgICAgICAgICAgICAgIG9mZnNldG9m KEpTT2JqZWN0LCBncm91cF8pICsgc2l6ZW9mKHVpbnQzMl90KSwKLSAgICAgICAgICAgICAgICAg IlJlbG9jYXRpb25PdmVybGF5OjptYWdpY18gaXMgaW4gdGhlIHdyb25nIGxvY2F0aW9uIik7Ci0g ICBzdGF0aWNfYXNzZXJ0KG9mZnNldG9mKFJlbG9jYXRpb25PdmVybGF5LCBtYWdpY18pID09Ci0g ICAgICAgICAgICAgICAgICAgICBvZmZzZXRvZihqczo6U2hhcGUsIGJhc2VfKSArIHNpemVvZih1 aW50MzJfdCksCi0gICAgICAgICAgICAgICAgICJSZWxvY2F0aW9uT3ZlcmxheTo6bWFnaWNfIGlz IGluIHRoZSB3cm9uZyBsb2NhdGlvbiIpOwotKyNlbGlmIEpTX0JJVFNfUEVSX1dPUkQgPT0gNjQK LSsgIC8vIE9uIGJpZy1lbmRpYW4gNjQtYml0LCB0aGUgbWFnaWNfIGFsaWFzZXMgd2l0aCB0aGUg MzIgbW9zdAotKyAgLy8gc2lnbmlmaWNhbnQgYml0cyBvZiB0aGUgcG9pbnRlciwgYnV0IG5vdyB0 aGF0J3MgdGhlIGZpcnN0IGhhbGYuCi0rICBzdGF0aWNfYXNzZXJ0KG9mZnNldG9mKFJlbG9jYXRp b25PdmVybGF5LCBtYWdpY18pID09Ci0rICAgICAgICAgICAgICAgICAgICBvZmZzZXRvZihKU09i amVjdCwgZ3JvdXBfKSwKLSsgICAgICAgICAgICAgICAgIlJlbG9jYXRpb25PdmVybGF5OjptYWdp Y18gaXMgaW4gdGhlIHdyb25nIGxvY2F0aW9uIik7Ci0rICBzdGF0aWNfYXNzZXJ0KG9mZnNldG9m KFJlbG9jYXRpb25PdmVybGF5LCBtYWdpY18pID09Ci0rICAgICAgICAgICAgICAgICAgICBvZmZz ZXRvZihqczo6U2hhcGUsIGJhc2VfKSwKLSsgICAgICAgICAgICAgICAgIlJlbG9jYXRpb25PdmVy bGF5OjptYWdpY18gaXMgaW4gdGhlIHdyb25nIGxvY2F0aW9uIik7Ci0rI2Vsc2UKLSsjICBlcnJv ciAiVW5rbm93biBlbmRpYW5uZXNzIG9yIHdvcmQgc2l6ZSIKLSsjZW5kaWYKLSAgIHN0YXRpY19h c3NlcnQoCi0gICAgICAgb2Zmc2V0b2YoUmVsb2NhdGlvbk92ZXJsYXksIG1hZ2ljXykgPT0gb2Zm c2V0b2YoSlNTdHJpbmcsIGQudTEubGVuZ3RoKSwKLSAgICAgICAiUmVsb2NhdGlvbk92ZXJsYXk6 Om1hZ2ljXyBpcyBpbiB0aGUgd3JvbmcgbG9jYXRpb24iKTsKLUluZGV4OiBtb3pqczYwL2pzL3Ny Yy9nYy9SZWxvY2F0aW9uT3ZlcmxheS5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gYS9qcy9zcmMvZ2MvUmVs b2NhdGlvbk92ZXJsYXkuaAkyMDE5LTAyLTIxIDE0OjQ0OjI4LjI5Njk1MTk5MiArMDEwMAotKysr IGIvanMvc3JjL2djL1JlbG9jYXRpb25PdmVybGF5LmgJMjAxOS0wMi0yMiAxMDoxOTo0MS44MTY4 MjIyMDIgKzAxMDAKLUBAIC0zNCwxNCArMzQsMjUgQEAKLSAgICAgLyogU2VlIGNvbW1lbnQgaW4g anMvcHVibGljL0hlYXBBUEkuaC4gKi8KLSAgICAgc3RhdGljIGNvbnN0IHVpbnQzMl90IFJlbG9j YXRlZCA9IGpzOjpnYzo6UmVsb2NhdGVkOwotIAotKyNpZiBNT1pfTElUVExFX0VORElBTiB8fCBK U19CSVRTX1BFUl9XT1JEID09IDMyCi0gICAgIC8qCi0tICAgICAqIEtlZXAgdGhlIGxvdyAzMiBi aXRzIHVudG91Y2hlZC4gVXNlIHRoZW0gdG8gZGlzdGluZ3Vpc2ggc3RyaW5ncyBmcm9tCi0rICAg ICAqIEtlZXAgdGhlIGZpcnN0IDMyIGJpdHMgdW50b3VjaGVkLiBVc2UgdGhlbSB0byBkaXN0aW5n dWlzaCBzdHJpbmdzIGZyb20KLSAgICAgICogb2JqZWN0cyBpbiB0aGUgbnVyc2VyeS4KLSAgICAg ICovCi0gICAgIHVpbnQzMl90IHByZXNlcnZlXzsKLSAKLSAgICAgLyogU2V0IHRvIFJlbG9jYXRl ZCB3aGVuIG1vdmVkLiAqLwotICAgICB1aW50MzJfdCBtYWdpY187Ci0rI2VsaWYgSlNfQklUU19Q RVJfV09SRCA9PSA2NAotKyAgLyoKLSsgICAqIE9uIGJpZy1lbmRpYW4sIHdlIG5lZWQgdG8gcmVv cmRlciB0byBrZWVwIHByZXNlcnZlXyBsaW5lZCB1cCB3aXRoIHRoZQotKyAgICogbG93IDMyIGJp dHMgb2YgdGhlIGFsaWduZWQgZ3JvdXBfIHBvaW50ZXIgaW4gSlNPYmplY3QuCi0rICAgKi8KLSsg IHVpbnQzMl90IG1hZ2ljXzsKLSsgIHVpbnQzMl90IHByZXNlcnZlXzsKLSsjZWxzZQotKyMgIGVy cm9yICJVbmtub3duIGVuZGlhbm5lc3Mgb3Igd29yZCBzaXplIgotKyNlbmRpZgotIAotICAgICAv KiBUaGUgbG9jYXRpb24gfHRoaXN8IHdhcyBtb3ZlZCB0by4gKi8KLSAgICAgQ2VsbCogbmV3TG9j YXRpb25fOwotSW5kZXg6IG1vempzNjAvanMvc3JjL2pzZnJpZW5kYXBpLmgKLT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tLSBhL2pzL3NyYy9qc2ZyaWVuZGFwaS5oCTIwMTktMDItMjEgMTQ6NDQ6MjguNDg0OTUxMjQ1 ICswMTAwCi0rKysgYi9qcy9zcmMvanNmcmllbmRhcGkuaAkyMDE5LTAyLTIyIDEwOjI0OjI1LjY2 Mzc3NDM5OSArMDEwMAotQEAgLTksNiArOSw3IEBACi0gCi0gI2luY2x1ZGUgIm1vemlsbGEvQXRv bWljcy5oIgotICNpbmNsdWRlICJtb3ppbGxhL0Nhc3RpbmcuaCIKLSsjaW5jbHVkZSAibW96aWxs YS9FbmRpYW5VdGlscy5oIgotICNpbmNsdWRlICJtb3ppbGxhL01heWJlLmgiCi0gI2luY2x1ZGUg Im1vemlsbGEvTWVtb3J5UmVwb3J0aW5nLmgiCi0gI2luY2x1ZGUgIm1vemlsbGEvVW5pcXVlUHRy LmgiCi1AQCAtNjQwLDggKzY0MSwxNSBAQAotICAgICBzdGF0aWMgY29uc3QgdWludDMyX3QgTEFU SU4xX0NIQVJTX0JJVCA9IEpTX0JJVCg2KTsKLSAgICAgc3RhdGljIGNvbnN0IHVpbnQzMl90IEVY VEVSTkFMX0ZMQUdTICAgPSBMSU5FQVJfQklUIHwgTk9OX0FUT01fQklUIHwgSlNfQklUKDUpOwot ICAgICBzdGF0aWMgY29uc3QgdWludDMyX3QgVFlQRV9GTEFHU19NQVNLICA9IEpTX0JJVCg2KSAt IDE7Ci0rI2lmIE1PWl9MSVRUTEVfRU5ESUFOIHx8IEpTX0JJVFNfUEVSX1dPUkQgPT0gMzIKLSAg ICAgdWludDMyX3QgZmxhZ3M7Ci0gICAgIHVpbnQzMl90IGxlbmd0aDsKLSsjZWxpZiBKU19CSVRT X1BFUl9XT1JEID09IDY0Ci0rICAgIHVpbnQzMl90IGxlbmd0aDsKLSsgICAgdWludDMyX3QgZmxh Z3M7Ci0rI2Vsc2UKLSsjICBlcnJvciAiVW5rbm93biBlbmRpYW5uZXNzIG9yIHdvcmQgc2l6ZSIK LSsjZW5kaWYKLSAgICAgdW5pb24gewotICAgICAgICAgY29uc3QgSlM6OkxhdGluMUNoYXIqIG5v bklubGluZUNoYXJzTGF0aW4xOwotICAgICAgICAgY29uc3QgY2hhcjE2X3QqIG5vbklubGluZUNo YXJzVHdvQnl0ZTsKLUluZGV4OiBtb3pqczYwL2pzL3NyYy92bS9TdHJpbmdUeXBlLmgKLT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tLSBhL2pzL3NyYy92bS9TdHJpbmdUeXBlLmgJMjAxOS0wMi0yMSAxNDo0NDoyOS4w NzI5NDg5MDcgKzAxMDAKLSsrKyBiL2pzL3NyYy92bS9TdHJpbmdUeXBlLmgJMjAxOS0wMi0yMiAx MDoyMToyMC40NjQ0NjkyNDQgKzAxMDAKLUBAIC03LDYgKzcsNyBAQAotICNpZm5kZWYgdm1fU3Ry aW5nVHlwZV9oCi0gI2RlZmluZSB2bV9TdHJpbmdUeXBlX2gKLSAKLSsjaW5jbHVkZSAibW96aWxs YS9FbmRpYW5VdGlscy5oIgotICNpbmNsdWRlICJtb3ppbGxhL01lbW9yeVJlcG9ydGluZy5oIgot ICNpbmNsdWRlICJtb3ppbGxhL1BvZE9wZXJhdGlvbnMuaCIKLSAjaW5jbHVkZSAibW96aWxsYS9S YW5nZS5oIgotQEAgLTE2Niw4ICsxNjcsMjAgQEAKLSAgICAgewotICAgICAgICAgdW5pb24gewot ICAgICAgICAgICAgIHN0cnVjdCB7Ci0rI2lmIE1PWl9MSVRUTEVfRU5ESUFOIHx8IEpTX0JJVFNf UEVSX1dPUkQgPT0gMzIKLSAgICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgIGZsYWdz OyAgICAgICAgICAgICAgIC8qIEpTU3RyaW5nICovCi0gICAgICAgICAgICAgICAgIHVpbnQzMl90 ICAgICAgICAgICBsZW5ndGg7ICAgICAgICAgICAgICAvKiBKU1N0cmluZyAqLwotKyNlbGlmIEpT X0JJVFNfUEVSX1dPUkQgPT0gNjQKLSsgICAgICAgICAgICAgICAgLyoKLSsgICAgICAgICAgICAg ICAgICogT24gYmlnLWVuZGlhbiwgd2UgbmVlZCB0byByZW9yZGVyIHRvIGtlZXAgZmxhZ3MgbGlu ZWQgdXAKLSsgICAgICAgICAgICAgICAgICogd2l0aCB0aGUgbG93IDMyIGJpdHMgb2YgdGhlIGFs aWduZWQgZ3JvdXBfIHBvaW50ZXIgaW4KLSsgICAgICAgICAgICAgICAgICogSlNPYmplY3QuCi0r ICAgICAgICAgICAgICAgICAqLwotKyAgICAgICAgICAgICAgICB1aW50MzJfdCBsZW5ndGg7IC8q IEpTU3RyaW5nICovCi0rICAgICAgICAgICAgICAgIHVpbnQzMl90IGZsYWdzOyAgLyogSlNTdHJp bmcgKi8KLSsjZWxzZQotKyMgIGVycm9yICJVbmtub3duIGVuZGlhbm5lc3Mgb3Igd29yZCBzaXpl IgotKyNlbmRpZgotICAgICAgICAgICAgIH07Ci0gICAgICAgICAgICAgdWludHB0cl90ICAgICAg ICAgICAgICBmbGF0dGVuRGF0YTsgICAgICAgICAvKiBKU1JvcGUgKHRlbXBvcmFyeSB3aGlsZSBm bGF0dGVuaW5nKSAqLwotICAgICAgICAgfSB1MTsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbW96anM2 MC9wYXRjaGVzLzAwMDctanNwcm9wZXJ0eS1lbmRpYW4ucGF0Y2ggYi9zcmNwa2dzL21vempzNjAv cGF0Y2hlcy8wMDA3LWpzcHJvcGVydHktZW5kaWFuLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEw MDY0NAppbmRleCBkZDAxYzM3YWM5Mi4uMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9tb3pqczYw L3BhdGNoZXMvMDAwNy1qc3Byb3BlcnR5LWVuZGlhbi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0x LDIyICswLDAgQEAKLUJ1ZyAxNTQzNjU5IC0gZml4IEpTUHJvcGVydHlTcGVjOjpWYWx1ZVdyYXBw ZXIgb24gNjQtYml0IGJpZy1lbmRpYW4gcGxhdGZvcm1zCi0KLUFkZCBzb21lIHBhZGRpbmcgdG8g bWFrZSB0aGUgdW5pb24ncyBpbnQzMiBtZW1iZXIgY29ycmVzcG9uZCB0byB0aGUKLWxvdy1vcmRl ciBiaXRzIG9mIHRoZSBzdHJpbmcgbWVtYmVyLiAgVGhpcyBmaXhlcyBUeXBlZEFycmF5IHRlc3Rz IG9uCi1zMzkweC4KLQotLS0tIGEvanMvc3JjL2pzYXBpLmgKLSsrKyBiL2pzL3NyYy9qc2FwaS5o Ci1AQCAtMTcwMiw3ICsxNzAyLDEyIEBACi0gICAgICAgICB1aW50cHRyX3QgICB0eXBlOwotICAg ICAgICAgdW5pb24gewotICAgICAgICAgICAgIGNvbnN0IGNoYXIqIHN0cmluZzsKLS0gICAgICAg ICAgICBpbnQzMl90ICAgICBpbnQzMjsKLSsgICAgICAgICAgICBzdHJ1Y3QgewotKyNpZiBNT1pf QklHX0VORElBTiAmJiBKU19CSVRTX1BFUl9XT1JEID09IDY0Ci0rICAgICAgICAgICAgICAgIHVp bnQzMl90ICAgIHBhZGRpbmc7Ci0rI2VuZGlmCi0rICAgICAgICAgICAgICAgIGludDMyX3QgICAg IGludDMyOwotKyAgICAgICAgICAgIH07Ci0gICAgICAgICB9OwotICAgICB9OwotIApkaWZmIC0t Z2l0IGEvc3JjcGtncy9tb3pqczYwL3BhdGNoZXMvMDAwOC1jb3B5LWhlYWRlcnMucGF0Y2ggYi9z cmNwa2dzL21vempzNjAvcGF0Y2hlcy8wMDA4LWNvcHktaGVhZGVycy5wYXRjaApkZWxldGVkIGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggYTQzNjc0MTEwNjUuLjAwMDAwMDAwMDAwCi0tLSBhL3NyY3Br Z3MvbW96anM2MC9wYXRjaGVzLzAwMDgtY29weS1oZWFkZXJzLnBhdGNoCisrKyAvZGV2L251bGwK QEAgLTEsMzAgKzAsMCBAQAotRnJvbTogUmljbyBUenNjaGljaGhvbHogPHJpY290ekB1YnVudHUu Y29tPgotRGF0ZTogV2VkLCA1IEp1bCAyMDE3IDIyOjQ1OjU5IC0wNzAwCi1TdWJqZWN0OiBidWls ZDogQ29weSBoZWFkZXJzIG9uIGluc3RhbGwgaW5zdGVhZCBvZiBzeW1saW5raW5nCi0KLVBhdGNo IHBvcnRlZCBmb3J3YXJkIHRvIG1vempzNTIgYnkgUGhpbGlwIENoaW1lbnRvCi08cGhpbGlwLmNo aW1lbnRvQGdtYWlsLmNvbT4uCi0tLS0KLSBweXRob24vbW96YnVpbGQvbW96YnVpbGQvYmFja2Vu ZC9yZWN1cnNpdmVtYWtlLnB5IHwgNiArKystLS0KLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRp b25zKCspLCAzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvcHl0aG9uL21vemJ1aWxkL21v emJ1aWxkL2JhY2tlbmQvcmVjdXJzaXZlbWFrZS5weSBiL3B5dGhvbi9tb3pidWlsZC9tb3pidWls ZC9iYWNrZW5kL3JlY3Vyc2l2ZW1ha2UucHkKLWluZGV4IGRkOTAyMGQuLjY5MThlZjggMTAwNjQ0 Ci0tLS0gYS9weXRob24vbW96YnVpbGQvbW96YnVpbGQvYmFja2VuZC9yZWN1cnNpdmVtYWtlLnB5 Ci0rKysgYi9weXRob24vbW96YnVpbGQvbW96YnVpbGQvYmFja2VuZC9yZWN1cnNpdmVtYWtlLnB5 Ci1AQCAtMTQyNywxMSArMTQyNywxMSBAQCBjbGFzcyBSZWN1cnNpdmVNYWtlQmFja2VuZChDb21t b25CYWNrZW5kKToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIEV4Y2Vw dGlvbigiV2lsZGNhcmRzIGFyZSBvbmx5IHN1cHBvcnRlZCBpbiB0aGUgZmlsZW5hbWUgcGFydCBv ZiAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNy Y2Rpci1yZWxhdGl2ZSBvciBhYnNvbHV0ZSBwYXRocy4iKQotIAotLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICBpbnN0YWxsX21hbmlmZXN0LmFkZF9wYXR0ZXJuX2xpbmsoYmFzZXBhdGgsIHdp bGQsIHBhdGgpCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RhbGxfbWFuaWZlc3Qu YWRkX3BhdHRlcm5fY29weShiYXNlcGF0aCwgd2lsZCwgcGF0aCkKLSAgICAgICAgICAgICAgICAg ICAgICAgICBlbHNlOgotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnN0YWxsX21hbmlm ZXN0LmFkZF9wYXR0ZXJuX2xpbmsoZi5zcmNkaXIsIGYsIHBhdGgpCi0rICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGluc3RhbGxfbWFuaWZlc3QuYWRkX3BhdHRlcm5fY29weShmLnNyY2Rpciwg ZiwgcGF0aCkKLSAgICAgICAgICAgICAgICAgICAgIGVsc2U6Ci0tICAgICAgICAgICAgICAgICAg ICAgICAgaW5zdGFsbF9tYW5pZmVzdC5hZGRfbGluayhmLmZ1bGxfcGF0aCwgZGVzdCkKLSsgICAg ICAgICAgICAgICAgICAgICAgICBpbnN0YWxsX21hbmlmZXN0LmFkZF9jb3B5KGYuZnVsbF9wYXRo LCBkZXN0KQotICAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICAgaW5z dGFsbF9tYW5pZmVzdC5hZGRfb3B0aW9uYWxfZXhpc3RzKGRlc3QpCi0gICAgICAgICAgICAgICAg ICAgICBiYWNrZW5kX2ZpbGUud3JpdGUoJyVzX0ZJTEVTICs9ICVzXG4nICUgKAotCmRpZmYgLS1n aXQgYS9zcmNwa2dzL21vempzNjAvcGF0Y2hlcy8wMDA5LW1pcHMtc2dpZGVmc19oLnBhdGNoIGIv c3JjcGtncy9tb3pqczYwL3BhdGNoZXMvMDAwOS1taXBzLXNnaWRlZnNfaC5wYXRjaApkZWxldGVk IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmRkMjVjNjE2NDQuLjAwMDAwMDAwMDAwCi0tLSBhL3Ny Y3BrZ3MvbW96anM2MC9wYXRjaGVzLzAwMDktbWlwcy1zZ2lkZWZzX2gucGF0Y2gKKysrIC9kZXYv bnVsbApAQCAtMSwxMSArMCwwIEBACi0tLS0gYS9qcy9zcmMvanNtYXRoLmNwcAkyMDE5LTA3LTAz IDAyOjA4OjA2LjAwMDAwMDAwMCArMDIwMAotKysrIGIvanMvc3JjL2pzbWF0aC5jcHAJMjAxOS0x MS0xMCAxOTowNDoyNi4xMzI1ODkwNTkgKzAxMDAKLUBAIC03MSw3ICs3MSw3IEBACi0gI2VsaWYg ZGVmaW5lZChfX3MzOTBfXykKLSAjZGVmaW5lIEdFVFJBTkRPTV9OUiAzNDkKLSAjZWxpZiBkZWZp bmVkKF9fbWlwc19fKQotLSNpbmNsdWRlIDxzZ2lkZWZzLmg+Ci0rI2luY2x1ZGUgPGFzbS9zZ2lk ZWZzLmg+Ci0gI2lmIF9NSVBTX1NJTSA9PSBfTUlQU19TSU1fQUJJMzIKLSAjZGVmaW5lIEdFVFJB TkRPTV9OUiA0MzUzCi0gI2VsaWYgX01JUFNfU0lNID09IF9NSVBTX1NJTV9BQkk2NApkaWZmIC0t Z2l0IGEvc3JjcGtncy9tb3pqczYwL3BhdGNoZXMvMDAxMC1taXBzLUxJUi5wYXRjaCBiL3NyY3Br Z3MvbW96anM2MC9wYXRjaGVzLzAwMTAtbWlwcy1MSVIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDRiZGIwOGFkNmUyLi4wMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL21vempz NjAvcGF0Y2hlcy8wMDEwLW1pcHMtTElSLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTExICsw LDAgQEAKLUZyb206IERyYWdhbiBNbGFkamVub3ZpYyA8ZHJhZ2FuLm1sYWRqZW5vdmljQHJ0LXJr LmNvbT4KLURhdGU6IEZyaSwgOSBNYXIgMjAxOCAwNzo1ODo0MyArMDEwMAotU3ViamVjdDogQnVn IDE0NDQzMDMgOiBbTUlQU10gRml4IGJ1aWxkIGZhaWx1cmVzIGFmdGVyIEJ1ZyAxNDI1NTgwIHBh cnQgMTcKLQotRnJvbSB1cHN0cmVhbSwgdmlhIGZpcmVmb3gtZXNyIDYwLjIuMGVzci0xLgotCi1S ZXZpZXdlZC1ieTogamFuZGVtCi1CdWc6IGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hv d19idWcuY2dpP2lkPTE0NDQzMDMKLUJ1Zy1EZWJpYW46IGh0dHBzOi8vYnVncy5kZWJpYW4ub3Jn L2NnaS1iaW4vYnVncmVwb3J0LmNnaT9idWc9OTA4NDg2Ci1BcHBsaWVkLXVwc3RyZWFtOiA2MSwg Y29tbWl0Omh0dHBzOi8vaGcubW96aWxsYS5vcmcvbW96aWxsYS1jZW50cmFsL3Jldi83ZGU0Y2E3 YjA4MmEKLS0tLQotIGpzL3NyYy9qaXQvbWlwcy1zaGFyZWQvTElSLW1pcHMtc2hhcmVkLmggfCA4 OCArKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLQotIGpzL3NyYy9qaXQvbWlwczMyL0xJ Ui1taXBzMzIuaCAgICAgICAgICAgfCAyNiArKysrKysrKy0tCi0ganMvc3JjL2ppdC9taXBzNjQv TElSLW1pcHM2NC5oICAgICAgICAgICB8IDMzICsrKysrKysrLS0tLQotIDMgZmlsZXMgY2hhbmdl ZCwgMTAyIGluc2VydGlvbnMoKyksIDQ1IGRlbGV0aW9ucygtKQotCi1JbmRleDogbW96anMtNjAu OC4wL2pzL3NyYy9qaXQvbWlwcy1zaGFyZWQvTElSLW1pcHMtc2hhcmVkLmgKLT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tLSBtb3pqcy02MC44LjAub3JpZy9qcy9zcmMvaml0L21pcHMtc2hhcmVkL0xJUi1taXBzLXNo YXJlZC5oCi0rKysgbW96anMtNjAuOC4wL2pzL3NyYy9qaXQvbWlwcy1zaGFyZWQvTElSLW1pcHMt c2hhcmVkLmgKLUBAIC0xNSw3ICsxNSwxMCBAQCBjbGFzcyBMV2FzbVVpbnQzMlRvRG91YmxlIDog cHVibGljIExJbnN0Ci0gIHB1YmxpYzoKLSAgIExJUl9IRUFERVIoV2FzbVVpbnQzMlRvRG91Ymxl KQotIAotLSAgTFdhc21VaW50MzJUb0RvdWJsZShjb25zdCBMQWxsb2NhdGlvbiYgaW5wdXQpIHsg c2V0T3BlcmFuZCgwLCBpbnB1dCk7IH0KLSsgIExXYXNtVWludDMyVG9Eb3VibGUoY29uc3QgTEFs bG9jYXRpb24mIGlucHV0KQotKyAgICAgIDogTEluc3RydWN0aW9uSGVscGVyKGNsYXNzT3Bjb2Rl KSB7Ci0rICAgIHNldE9wZXJhbmQoMCwgaW5wdXQpOwotKyAgfQotIH07Ci0gCi0gLy8gQ29udmVy dCBhIDMyLWJpdCB1bnNpZ25lZCBpbnRlZ2VyIHRvIGEgZmxvYXQzMi4KLUBAIC0yMywxNSArMjYs MTggQEAgY2xhc3MgTFdhc21VaW50MzJUb0Zsb2F0MzIgOiBwdWJsaWMgTElucwotICBwdWJsaWM6 Ci0gICBMSVJfSEVBREVSKFdhc21VaW50MzJUb0Zsb2F0MzIpCi0gCi0tICBMV2FzbVVpbnQzMlRv RmxvYXQzMihjb25zdCBMQWxsb2NhdGlvbiYgaW5wdXQpIHsgc2V0T3BlcmFuZCgwLCBpbnB1dCk7 IH0KLSsgIExXYXNtVWludDMyVG9GbG9hdDMyKGNvbnN0IExBbGxvY2F0aW9uJiBpbnB1dCkKLSsg ICAgICA6IExJbnN0cnVjdGlvbkhlbHBlcihjbGFzc09wY29kZSkgewotKyAgICBzZXRPcGVyYW5k KDAsIGlucHV0KTsKLSsgIH0KLSB9OwotIAotIGNsYXNzIExEaXZJIDogcHVibGljIExCaW5hcnlN YXRoPDE+IHsKLSAgcHVibGljOgotICAgTElSX0hFQURFUihEaXZJKTsKLSAKLS0gIExEaXZJKGNv bnN0IExBbGxvY2F0aW9uJiBsaHMsIGNvbnN0IExBbGxvY2F0aW9uJiByaHMsCi0tICAgICAgICBj b25zdCBMRGVmaW5pdGlvbiYgdGVtcCkgewotKyAgTERpdkkoY29uc3QgTEFsbG9jYXRpb24mIGxo cywgY29uc3QgTEFsbG9jYXRpb24mIHJocywgY29uc3QgTERlZmluaXRpb24mIHRlbXApCi0rICAg ICAgOiBMQmluYXJ5TWF0aChjbGFzc09wY29kZSkgewotICAgICBzZXRPcGVyYW5kKDAsIGxocyk7 Ci0gICAgIHNldE9wZXJhbmQoMSwgcmhzKTsKLSAgICAgc2V0VGVtcCgwLCB0ZW1wKTsKLUBAIC00 NywxNSArNTMsMTMgQEAgY2xhc3MgTERpdlBvd1R3b0kgOiBwdWJsaWMgTEluc3RydWN0aW9uSAot ICAgTElSX0hFQURFUihEaXZQb3dUd29JKQotIAotICAgTERpdlBvd1R3b0koY29uc3QgTEFsbG9j YXRpb24mIGxocywgaW50MzJfdCBzaGlmdCwgY29uc3QgTERlZmluaXRpb24mIHRlbXApCi0tICAg ICAgOiBzaGlmdF8oc2hpZnQpIHsKLSsgICAgICA6IExJbnN0cnVjdGlvbkhlbHBlcihjbGFzc09w Y29kZSksIHNoaWZ0XyhzaGlmdCkgewotICAgICBzZXRPcGVyYW5kKDAsIGxocyk7Ci0gICAgIHNl dFRlbXAoMCwgdGVtcCk7Ci0gICB9Ci0gCi0gICBjb25zdCBMQWxsb2NhdGlvbiogbnVtZXJhdG9y KCkgeyByZXR1cm4gZ2V0T3BlcmFuZCgwKTsgfQotLQotLSAgaW50MzJfdCBzaGlmdCgpIHsgcmV0 dXJuIHNoaWZ0XzsgfQotLQotKyAgaW50MzJfdCBzaGlmdCgpIGNvbnN0IHsgcmV0dXJuIHNoaWZ0 XzsgfQotICAgTURpdiogbWlyKCkgY29uc3QgeyByZXR1cm4gbWlyXy0+dG9EaXYoKTsgfQotIH07 Ci0gCi1AQCAtNjQsMTQgKzY4LDE0IEBAIGNsYXNzIExNb2RJIDogcHVibGljIExCaW5hcnlNYXRo PDE+IHsKLSAgIExJUl9IRUFERVIoTW9kSSk7Ci0gCi0gICBMTW9kSShjb25zdCBMQWxsb2NhdGlv biYgbGhzLCBjb25zdCBMQWxsb2NhdGlvbiYgcmhzLAotLSAgICAgICAgY29uc3QgTERlZmluaXRp b24mIGNhbGxUZW1wKSB7Ci0rICAgICAgICBjb25zdCBMRGVmaW5pdGlvbiYgY2FsbFRlbXApCi0r ICAgICAgOiBMQmluYXJ5TWF0aChjbGFzc09wY29kZSkgewotICAgICBzZXRPcGVyYW5kKDAsIGxo cyk7Ci0gICAgIHNldE9wZXJhbmQoMSwgcmhzKTsKLSAgICAgc2V0VGVtcCgwLCBjYWxsVGVtcCk7 Ci0gICB9Ci0gCi0gICBjb25zdCBMRGVmaW5pdGlvbiogY2FsbFRlbXAoKSB7IHJldHVybiBnZXRU ZW1wKDApOyB9Ci0tCi0gICBNTW9kKiBtaXIoKSBjb25zdCB7IHJldHVybiBtaXJfLT50b01vZCgp OyB9Ci0gfTsKLSAKLUBAIC04MCwxMiArODQsMTMgQEAgY2xhc3MgTE1vZFBvd1R3b0kgOiBwdWJs aWMgTEluc3RydWN0aW9uSAotIAotICBwdWJsaWM6Ci0gICBMSVJfSEVBREVSKE1vZFBvd1R3b0kp OwotLSAgaW50MzJfdCBzaGlmdCgpIHsgcmV0dXJuIHNoaWZ0XzsgfQotIAotLSAgTE1vZFBvd1R3 b0koY29uc3QgTEFsbG9jYXRpb24mIGxocywgaW50MzJfdCBzaGlmdCkgOiBzaGlmdF8oc2hpZnQp IHsKLSsgIExNb2RQb3dUd29JKGNvbnN0IExBbGxvY2F0aW9uJiBsaHMsIGludDMyX3Qgc2hpZnQp Ci0rICAgICAgOiBMSW5zdHJ1Y3Rpb25IZWxwZXIoY2xhc3NPcGNvZGUpLCBzaGlmdF8oc2hpZnQp IHsKLSAgICAgc2V0T3BlcmFuZCgwLCBsaHMpOwotICAgfQotIAotKyAgaW50MzJfdCBzaGlmdCgp IGNvbnN0IHsgcmV0dXJuIHNoaWZ0XzsgfQotICAgTU1vZCogbWlyKCkgY29uc3QgeyByZXR1cm4g bWlyXy0+dG9Nb2QoKTsgfQotIH07Ci0gCi1AQCAtOTcsMTQgKzEwMiwxMyBAQCBjbGFzcyBMTW9k TWFza0kgOiBwdWJsaWMgTEluc3RydWN0aW9uSGVsCi0gCi0gICBMTW9kTWFza0koY29uc3QgTEFs bG9jYXRpb24mIGxocywgY29uc3QgTERlZmluaXRpb24mIHRlbXAwLAotICAgICAgICAgICAgIGNv bnN0IExEZWZpbml0aW9uJiB0ZW1wMSwgaW50MzJfdCBzaGlmdCkKLS0gICAgICA6IHNoaWZ0Xyhz aGlmdCkgewotKyAgICAgIDogTEluc3RydWN0aW9uSGVscGVyKGNsYXNzT3Bjb2RlKSwgc2hpZnRf KHNoaWZ0KSB7Ci0gICAgIHNldE9wZXJhbmQoMCwgbGhzKTsKLSAgICAgc2V0VGVtcCgwLCB0ZW1w MCk7Ci0gICAgIHNldFRlbXAoMSwgdGVtcDEpOwotICAgfQotIAotICAgaW50MzJfdCBzaGlmdCgp IGNvbnN0IHsgcmV0dXJuIHNoaWZ0XzsgfQotLQotICAgTU1vZCogbWlyKCkgY29uc3QgeyByZXR1 cm4gbWlyXy0+dG9Nb2QoKTsgfQotIH07Ci0gCi1AQCAtMTE0LDcgKzExOCw4IEBAIGNsYXNzIExU YWJsZVN3aXRjaCA6IHB1YmxpYyBMSW5zdHJ1Y3Rpb24KLSAgIExJUl9IRUFERVIoVGFibGVTd2l0 Y2gpOwotIAotICAgTFRhYmxlU3dpdGNoKGNvbnN0IExBbGxvY2F0aW9uJiBpbiwgY29uc3QgTERl ZmluaXRpb24mIGlucHV0Q29weSwKLS0gICAgICAgICAgICAgICBjb25zdCBMRGVmaW5pdGlvbiYg anVtcFRhYmxlUG9pbnRlciwgTVRhYmxlU3dpdGNoKiBpbnMpIHsKLSsgICAgICAgICAgICAgICBj b25zdCBMRGVmaW5pdGlvbiYganVtcFRhYmxlUG9pbnRlciwgTVRhYmxlU3dpdGNoKiBpbnMpCi0r ICAgICAgOiBMSW5zdHJ1Y3Rpb25IZWxwZXIoY2xhc3NPcGNvZGUpIHsKLSAgICAgc2V0T3BlcmFu ZCgwLCBpbik7Ci0gICAgIHNldFRlbXAoMCwgaW5wdXRDb3B5KTsKLSAgICAgc2V0VGVtcCgxLCBq dW1wVGFibGVQb2ludGVyKTsKLUBAIC0xMjIsNyArMTI3LDYgQEAgY2xhc3MgTFRhYmxlU3dpdGNo IDogcHVibGljIExJbnN0cnVjdGlvbgotICAgfQotIAotICAgTVRhYmxlU3dpdGNoKiBtaXIoKSBj b25zdCB7IHJldHVybiBtaXJfLT50b1RhYmxlU3dpdGNoKCk7IH0KLS0KLSAgIGNvbnN0IExBbGxv Y2F0aW9uKiBpbmRleCgpIHsgcmV0dXJuIGdldE9wZXJhbmQoMCk7IH0KLSAgIGNvbnN0IExEZWZp bml0aW9uKiB0ZW1wSW50KCkgeyByZXR1cm4gZ2V0VGVtcCgwKTsgfQotICAgLy8gVGhpcyBpcyBh ZGRlZCB0byBzaGFyZSB0aGUgc2FtZSBDb2RlR2VuZXJhdG9yIHByZWZpeGVzLgotQEAgLTEzNiw3 ICsxNDAsOCBAQCBjbGFzcyBMVGFibGVTd2l0Y2hWIDogcHVibGljIExJbnN0cnVjdGlvCi0gCi0g ICBMVGFibGVTd2l0Y2hWKGNvbnN0IExCb3hBbGxvY2F0aW9uJiBpbnB1dCwgY29uc3QgTERlZmlu aXRpb24mIGlucHV0Q29weSwKLSAgICAgICAgICAgICAgICAgY29uc3QgTERlZmluaXRpb24mIGZs b2F0Q29weSwKLS0gICAgICAgICAgICAgICAgY29uc3QgTERlZmluaXRpb24mIGp1bXBUYWJsZVBv aW50ZXIsIE1UYWJsZVN3aXRjaCogaW5zKSB7Ci0rICAgICAgICAgICAgICAgIGNvbnN0IExEZWZp bml0aW9uJiBqdW1wVGFibGVQb2ludGVyLCBNVGFibGVTd2l0Y2gqIGlucykKLSsgICAgICA6IExJ bnN0cnVjdGlvbkhlbHBlcihjbGFzc09wY29kZSkgewotICAgICBzZXRCb3hPcGVyYW5kKElucHV0 VmFsdWUsIGlucHV0KTsKLSAgICAgc2V0VGVtcCgwLCBpbnB1dENvcHkpOwotICAgICBzZXRUZW1w KDEsIGZsb2F0Q29weSk7Ci1AQCAtMTU3LDYgKzE2Miw4IEBAIGNsYXNzIExNdWxJIDogcHVibGlj IExCaW5hcnlNYXRoPDA+IHsKLSAgcHVibGljOgotICAgTElSX0hFQURFUihNdWxJKTsKLSAKLSsg IExNdWxJKCkgOiBMQmluYXJ5TWF0aChjbGFzc09wY29kZSkge30KLSsKLSAgIE1NdWwqIG1pcigp IHsgcmV0dXJuIG1pcl8tPnRvTXVsKCk7IH0KLSB9OwotIAotQEAgLTE2NCw2ICsxNzEsOCBAQCBj bGFzcyBMVURpdk9yTW9kIDogcHVibGljIExCaW5hcnlNYXRoPDA+Ci0gIHB1YmxpYzoKLSAgIExJ Ul9IRUFERVIoVURpdk9yTW9kKTsKLSAKLSsgIExVRGl2T3JNb2QoKSA6IExCaW5hcnlNYXRoKGNs YXNzT3Bjb2RlKSB7fQotKwotICAgTUJpbmFyeUFyaXRoSW5zdHJ1Y3Rpb24qIG1pcigpIGNvbnN0 IHsKLSAgICAgTU9aX0FTU0VSVChtaXJfLT5pc0RpdigpIHx8IG1pcl8tPmlzTW9kKCkpOwotICAg ICByZXR1cm4gc3RhdGljX2Nhc3Q8TUJpbmFyeUFyaXRoSW5zdHJ1Y3Rpb24qPihtaXJfKTsKLUBA IC0xOTQsMTIgKzIwMywxMyBAQCBjbGFzcyBMV2FzbVVuYWxpZ25lZExvYWRCYXNlIDogcHVibGlj IGRlCi0gIHB1YmxpYzoKLSAgIHR5cGVkZWYgTFdhc21Mb2FkQmFzZTxOdW1EZWZzLCAyPiBCYXNl OwotIAotLSAgZXhwbGljaXQgTFdhc21VbmFsaWduZWRMb2FkQmFzZShjb25zdCBMQWxsb2NhdGlv biYgcHRyLAotKyAgZXhwbGljaXQgTFdhc21VbmFsaWduZWRMb2FkQmFzZShMTm9kZTo6T3Bjb2Rl IG9wY29kZSwgY29uc3QgTEFsbG9jYXRpb24mIHB0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgY29uc3QgTERlZmluaXRpb24mIHZhbHVlSGVscGVyKQotLSAgICAgIDogQmFz ZShwdHIsIExBbGxvY2F0aW9uKCkpIHsKLSsgICAgICA6IEJhc2Uob3Bjb2RlLCBwdHIsIExBbGxv Y2F0aW9uKCkpIHsKLSAgICAgQmFzZTo6c2V0VGVtcCgwLCBMRGVmaW5pdGlvbjo6Qm9ndXNUZW1w KCkpOwotICAgICBCYXNlOjpzZXRUZW1wKDEsIHZhbHVlSGVscGVyKTsKLSAgIH0KLSsKLSAgIGNv bnN0IExBbGxvY2F0aW9uKiBwdHIoKSB7IHJldHVybiBCYXNlOjpnZXRPcGVyYW5kKDApOyB9Ci0g ICBjb25zdCBMRGVmaW5pdGlvbiogcHRyQ29weSgpIHsgcmV0dXJuIEJhc2U6OmdldFRlbXAoMCk7 IH0KLSB9OwotQEAgLTIwOCwxOSArMjE4LDIxIEBAIGNsYXNzIExXYXNtVW5hbGlnbmVkTG9hZEJh c2UgOiBwdWJsaWMgZGUKLSAKLSBjbGFzcyBMV2FzbVVuYWxpZ25lZExvYWQgOiBwdWJsaWMgZGV0 YWlsczo6TFdhc21VbmFsaWduZWRMb2FkQmFzZTwxPiB7Ci0gIHB1YmxpYzoKLSsgIExJUl9IRUFE RVIoV2FzbVVuYWxpZ25lZExvYWQpOwotKwotICAgZXhwbGljaXQgTFdhc21VbmFsaWduZWRMb2Fk KGNvbnN0IExBbGxvY2F0aW9uJiBwdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Y29uc3QgTERlZmluaXRpb24mIHZhbHVlSGVscGVyKQotLSAgICAgIDogTFdhc21VbmFsaWduZWRM b2FkQmFzZShwdHIsIHZhbHVlSGVscGVyKSB7fQotLSAgTElSX0hFQURFUihXYXNtVW5hbGlnbmVk TG9hZCk7Ci0rICAgICAgOiBMV2FzbVVuYWxpZ25lZExvYWRCYXNlKGNsYXNzT3Bjb2RlLCBwdHIs IHZhbHVlSGVscGVyKSB7fQotIH07Ci0gCi0gY2xhc3MgTFdhc21VbmFsaWduZWRMb2FkSTY0Ci0g ICAgIDogcHVibGljIGRldGFpbHM6OkxXYXNtVW5hbGlnbmVkTG9hZEJhc2U8SU5UNjRfUElFQ0VT PiB7Ci0gIHB1YmxpYzoKLSsgIExJUl9IRUFERVIoV2FzbVVuYWxpZ25lZExvYWRJNjQpOwotKwot ICAgZXhwbGljaXQgTFdhc21VbmFsaWduZWRMb2FkSTY0KGNvbnN0IExBbGxvY2F0aW9uJiBwdHIs Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgTERlZmluaXRpb24mIHZh bHVlSGVscGVyKQotLSAgICAgIDogTFdhc21VbmFsaWduZWRMb2FkQmFzZShwdHIsIHZhbHVlSGVs cGVyKSB7fQotLSAgTElSX0hFQURFUihXYXNtVW5hbGlnbmVkTG9hZEk2NCk7Ci0rICAgICAgOiBM V2FzbVVuYWxpZ25lZExvYWRCYXNlKGNsYXNzT3Bjb2RlLCBwdHIsIHZhbHVlSGVscGVyKSB7fQot IH07Ci0gCi0gbmFtZXNwYWNlIGRldGFpbHMgewotQEAgLTIzNCwxMiArMjQ2LDE0IEBAIGNsYXNz IExXYXNtVW5hbGlnbmVkU3RvcmVCYXNlIDogcHVibGljIEwKLSAgIHN0YXRpYyBjb25zdCBzaXpl X3QgUHRySW5kZXggPSAwOwotICAgc3RhdGljIGNvbnN0IHNpemVfdCBWYWx1ZUluZGV4ID0gMTsK LSAKLS0gIExXYXNtVW5hbGlnbmVkU3RvcmVCYXNlKGNvbnN0IExBbGxvY2F0aW9uJiBwdHIsCi0t ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBMRGVmaW5pdGlvbiYgdmFsdWVIZWxwZXIp IHsKLSsgIExXYXNtVW5hbGlnbmVkU3RvcmVCYXNlKExOb2RlOjpPcGNvZGUgb3Bjb2RlLCBjb25z dCBMQWxsb2NhdGlvbiYgcHRyLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgTERl ZmluaXRpb24mIHZhbHVlSGVscGVyKQotKyAgICAgIDogQmFzZShvcGNvZGUpIHsKLSAgICAgQmFz ZTo6c2V0T3BlcmFuZCgwLCBwdHIpOwotICAgICBCYXNlOjpzZXRUZW1wKDAsIExEZWZpbml0aW9u OjpCb2d1c1RlbXAoKSk7Ci0gICAgIEJhc2U6OnNldFRlbXAoMSwgdmFsdWVIZWxwZXIpOwotICAg fQotKwotICAgTVdhc21TdG9yZSogbWlyKCkgY29uc3QgeyByZXR1cm4gQmFzZTo6bWlyXy0+dG9X YXNtU3RvcmUoKTsgfQotICAgY29uc3QgTEFsbG9jYXRpb24qIHB0cigpIHsgcmV0dXJuIEJhc2U6 OmdldE9wZXJhbmQoUHRySW5kZXgpOyB9Ci0gICBjb25zdCBMRGVmaW5pdGlvbiogcHRyQ29weSgp IHsgcmV0dXJuIEJhc2U6OmdldFRlbXAoMCk7IH0KLUBAIC0yNTAsMTEgKzI2NCwxMyBAQCBjbGFz cyBMV2FzbVVuYWxpZ25lZFN0b3JlQmFzZSA6IHB1YmxpYyBMCi0gY2xhc3MgTFdhc21VbmFsaWdu ZWRTdG9yZSA6IHB1YmxpYyBkZXRhaWxzOjpMV2FzbVVuYWxpZ25lZFN0b3JlQmFzZTwyPiB7Ci0g IHB1YmxpYzoKLSAgIExJUl9IRUFERVIoV2FzbVVuYWxpZ25lZFN0b3JlKTsKLSsKLSAgIExXYXNt VW5hbGlnbmVkU3RvcmUoY29uc3QgTEFsbG9jYXRpb24mIHB0ciwgY29uc3QgTEFsbG9jYXRpb24m IHZhbHVlLAotICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBMRGVmaW5pdGlvbiYgdmFsdWVI ZWxwZXIpCi0tICAgICAgOiBMV2FzbVVuYWxpZ25lZFN0b3JlQmFzZShwdHIsIHZhbHVlSGVscGVy KSB7Ci0rICAgICAgOiBMV2FzbVVuYWxpZ25lZFN0b3JlQmFzZShjbGFzc09wY29kZSwgcHRyLCB2 YWx1ZUhlbHBlcikgewotICAgICBzZXRPcGVyYW5kKDEsIHZhbHVlKTsKLSAgIH0KLSsKLSAgIGNv bnN0IExBbGxvY2F0aW9uKiB2YWx1ZSgpIHsgcmV0dXJuIEJhc2U6OmdldE9wZXJhbmQoVmFsdWVJ bmRleCk7IH0KLSB9OwotIAotQEAgLTI2NCw5ICsyODAsMTAgQEAgY2xhc3MgTFdhc21VbmFsaWdu ZWRTdG9yZUk2NAotICAgTElSX0hFQURFUihXYXNtVW5hbGlnbmVkU3RvcmVJNjQpOwotICAgTFdh c21VbmFsaWduZWRTdG9yZUk2NChjb25zdCBMQWxsb2NhdGlvbiYgcHRyLCBjb25zdCBMSW50NjRB bGxvY2F0aW9uJiB2YWx1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgTERlZmlu aXRpb24mIHZhbHVlSGVscGVyKQotLSAgICAgIDogTFdhc21VbmFsaWduZWRTdG9yZUJhc2UocHRy LCB2YWx1ZUhlbHBlcikgewotKyAgICAgIDogTFdhc21VbmFsaWduZWRTdG9yZUJhc2UoY2xhc3NP cGNvZGUsIHB0ciwgdmFsdWVIZWxwZXIpIHsKLSAgICAgc2V0SW50NjRPcGVyYW5kKDEsIHZhbHVl KTsKLSAgIH0KLSsKLSAgIGNvbnN0IExJbnQ2NEFsbG9jYXRpb24gdmFsdWUoKSB7IHJldHVybiBn ZXRJbnQ2NE9wZXJhbmQoVmFsdWVJbmRleCk7IH0KLSB9OwotIAotQEAgLTI3OCw3ICsyOTUsOCBA QCBjbGFzcyBMV2FzbUNvbXBhcmVFeGNoYW5nZUk2NAotIAotICAgTFdhc21Db21wYXJlRXhjaGFu Z2VJNjQoY29uc3QgTEFsbG9jYXRpb24mIHB0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg IGNvbnN0IExJbnQ2NEFsbG9jYXRpb24mIG9sZFZhbHVlLAotLSAgICAgICAgICAgICAgICAgICAg ICAgICAgY29uc3QgTEludDY0QWxsb2NhdGlvbiYgbmV3VmFsdWUpIHsKLSsgICAgICAgICAgICAg ICAgICAgICAgICAgIGNvbnN0IExJbnQ2NEFsbG9jYXRpb24mIG5ld1ZhbHVlKQotKyAgICAgIDog TEluc3RydWN0aW9uSGVscGVyKGNsYXNzT3Bjb2RlKSB7Ci0gICAgIHNldE9wZXJhbmQoMCwgcHRy KTsKLSAgICAgc2V0SW50NjRPcGVyYW5kKDEsIG9sZFZhbHVlKTsKLSAgICAgc2V0SW50NjRPcGVy YW5kKDEgKyBJTlQ2NF9QSUVDRVMsIG5ld1ZhbHVlKTsKLUBAIC0yOTksOCArMzE3LDggQEAgY2xh c3MgTFdhc21BdG9taWNFeGNoYW5nZUk2NAotICBwdWJsaWM6Ci0gICBMSVJfSEVBREVSKFdhc21B dG9taWNFeGNoYW5nZUk2NCk7Ci0gCi0tICBMV2FzbUF0b21pY0V4Y2hhbmdlSTY0KGNvbnN0IExB bGxvY2F0aW9uJiBwdHIsCi0tICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IExJbnQ2NEFs bG9jYXRpb24mIHZhbHVlKSB7Ci0rICBMV2FzbUF0b21pY0V4Y2hhbmdlSTY0KGNvbnN0IExBbGxv Y2F0aW9uJiBwdHIsIGNvbnN0IExJbnQ2NEFsbG9jYXRpb24mIHZhbHVlKQotKyAgICAgIDogTElu c3RydWN0aW9uSGVscGVyKGNsYXNzT3Bjb2RlKSB7Ci0gICAgIHNldE9wZXJhbmQoMCwgcHRyKTsK LSAgICAgc2V0SW50NjRPcGVyYW5kKDEsIHZhbHVlKTsKLSAgIH0KLUBAIC0zMTcsMTQgKzMzNSwx NCBAQCBjbGFzcyBMV2FzbUF0b21pY0Jpbm9wSTY0Ci0gIHB1YmxpYzoKLSAgIExJUl9IRUFERVIo V2FzbUF0b21pY0Jpbm9wSTY0KTsKLSAKLS0gIExXYXNtQXRvbWljQmlub3BJNjQoY29uc3QgTEFs bG9jYXRpb24mIHB0ciwgY29uc3QgTEludDY0QWxsb2NhdGlvbiYgdmFsdWUpIHsKLSsgIExXYXNt QXRvbWljQmlub3BJNjQoY29uc3QgTEFsbG9jYXRpb24mIHB0ciwgY29uc3QgTEludDY0QWxsb2Nh dGlvbiYgdmFsdWUpCi0rICAgICAgOiBMSW5zdHJ1Y3Rpb25IZWxwZXIoY2xhc3NPcGNvZGUpIHsK LSAgICAgc2V0T3BlcmFuZCgwLCBwdHIpOwotICAgICBzZXRJbnQ2NE9wZXJhbmQoMSwgdmFsdWUp OwotICAgfQotIAotICAgY29uc3QgTEFsbG9jYXRpb24qIHB0cigpIHsgcmV0dXJuIGdldE9wZXJh bmQoMCk7IH0KLSAgIGNvbnN0IExJbnQ2NEFsbG9jYXRpb24gdmFsdWUoKSB7IHJldHVybiBnZXRJ bnQ2NE9wZXJhbmQoMSk7IH0KLS0KLSAgIGNvbnN0IE1XYXNtQXRvbWljQmlub3BIZWFwKiBtaXIo KSBjb25zdCB7Ci0gICAgIHJldHVybiBtaXJfLT50b1dhc21BdG9taWNCaW5vcEhlYXAoKTsKLSAg IH0KLUluZGV4OiBtb3pqcy02MC44LjAvanMvc3JjL2ppdC9taXBzMzIvTElSLW1pcHMzMi5oCi09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLS0gbW96anMtNjAuOC4wLm9yaWcvanMvc3JjL2ppdC9taXBzMzIvTElSLW1p cHMzMi5oCi0rKysgbW96anMtNjAuOC4wL2pzL3NyYy9qaXQvbWlwczMyL0xJUi1taXBzMzIuaAot QEAgLTE4LDcgKzE4LDcgQEAgY2xhc3MgTEJveEZsb2F0aW5nUG9pbnQgOiBwdWJsaWMgTEluc3Ry dQotIAotICAgTEJveEZsb2F0aW5nUG9pbnQoY29uc3QgTEFsbG9jYXRpb24mIGluLCBjb25zdCBM RGVmaW5pdGlvbiYgdGVtcCwKLSAgICAgICAgICAgICAgICAgICAgIE1JUlR5cGUgdHlwZSkKLS0g ICAgICA6IHR5cGVfKHR5cGUpIHsKLSsgICAgICA6IExJbnN0cnVjdGlvbkhlbHBlcihjbGFzc09w Y29kZSksIHR5cGVfKHR5cGUpIHsKLSAgICAgc2V0T3BlcmFuZCgwLCBpbik7Ci0gICAgIHNldFRl bXAoMCwgdGVtcCk7Ci0gICB9Ci1AQCAtMzEsNiArMzEsOCBAQCBjbGFzcyBMVW5ib3ggOiBwdWJs aWMgTEluc3RydWN0aW9uSGVscGVyCi0gIHB1YmxpYzoKLSAgIExJUl9IRUFERVIoVW5ib3gpOwot IAotKyAgTFVuYm94KCkgOiBMSW5zdHJ1Y3Rpb25IZWxwZXIoY2xhc3NPcGNvZGUpIHt9Ci0rCi0g ICBNVW5ib3gqIG1pcigpIGNvbnN0IHsgcmV0dXJuIG1pcl8tPnRvVW5ib3goKTsgfQotICAgY29u c3QgTEFsbG9jYXRpb24qIHBheWxvYWQoKSB7IHJldHVybiBnZXRPcGVyYW5kKDApOyB9Ci0gICBj b25zdCBMQWxsb2NhdGlvbiogdHlwZSgpIHsgcmV0dXJuIGdldE9wZXJhbmQoMSk7IH0KLUBAIC00 NSwxMiArNDcsMTIgQEAgY2xhc3MgTFVuYm94RmxvYXRpbmdQb2ludCA6IHB1YmxpYyBMSW5zdAot IAotICAgc3RhdGljIGNvbnN0IHNpemVfdCBJbnB1dCA9IDA7Ci0gCi0tICBMVW5ib3hGbG9hdGlu Z1BvaW50KGNvbnN0IExCb3hBbGxvY2F0aW9uJiBpbnB1dCwgTUlSVHlwZSB0eXBlKSA6IHR5cGVf KHR5cGUpIHsKLSsgIExVbmJveEZsb2F0aW5nUG9pbnQoY29uc3QgTEJveEFsbG9jYXRpb24mIGlu cHV0LCBNSVJUeXBlIHR5cGUpCi0rICAgICAgOiBMSW5zdHJ1Y3Rpb25IZWxwZXIoY2xhc3NPcGNv ZGUpLCB0eXBlXyh0eXBlKSB7Ci0gICAgIHNldEJveE9wZXJhbmQoSW5wdXQsIGlucHV0KTsKLSAg IH0KLSAKLSAgIE1VbmJveCogbWlyKCkgY29uc3QgeyByZXR1cm4gbWlyXy0+dG9VbmJveCgpOyB9 Ci0tCi0gICBNSVJUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiB0eXBlXzsgfQotICAgY29uc3Qg Y2hhciogZXh0cmFOYW1lKCkgY29uc3QgeyByZXR1cm4gU3RyaW5nRnJvbU1JUlR5cGUodHlwZV8p OyB9Ci0gfTsKLUBAIC02MywxNCArNjUsMTcgQEAgY2xhc3MgTERpdk9yTW9kSTY0Ci0gICBzdGF0 aWMgY29uc3Qgc2l6ZV90IExocyA9IDA7Ci0gICBzdGF0aWMgY29uc3Qgc2l6ZV90IFJocyA9IElO VDY0X1BJRUNFUzsKLSAKLS0gIExEaXZPck1vZEk2NChjb25zdCBMSW50NjRBbGxvY2F0aW9uJiBs aHMsIGNvbnN0IExJbnQ2NEFsbG9jYXRpb24mIHJocykgewotKyAgTERpdk9yTW9kSTY0KGNvbnN0 IExJbnQ2NEFsbG9jYXRpb24mIGxocywgY29uc3QgTEludDY0QWxsb2NhdGlvbiYgcmhzKQotKyAg ICAgIDogTENhbGxJbnN0cnVjdGlvbkhlbHBlcihjbGFzc09wY29kZSkgewotICAgICBzZXRJbnQ2 NE9wZXJhbmQoTGhzLCBsaHMpOwotICAgICBzZXRJbnQ2NE9wZXJhbmQoUmhzLCByaHMpOwotICAg fQotKwotICAgTUJpbmFyeUFyaXRoSW5zdHJ1Y3Rpb24qIG1pcigpIGNvbnN0IHsKLSAgICAgTU9a X0FTU0VSVChtaXJfLT5pc0RpdigpIHx8IG1pcl8tPmlzTW9kKCkpOwotICAgICByZXR1cm4gc3Rh dGljX2Nhc3Q8TUJpbmFyeUFyaXRoSW5zdHJ1Y3Rpb24qPihtaXJfKTsKLSAgIH0KLSsKLSAgIGJv b2wgY2FuQmVEaXZpZGVCeVplcm8oKSBjb25zdCB7Ci0gICAgIGlmIChtaXJfLT5pc01vZCgpKSBy ZXR1cm4gbWlyXy0+dG9Nb2QoKS0+Y2FuQmVEaXZpZGVCeVplcm8oKTsKLSAgICAgcmV0dXJuIG1p cl8tPnRvRGl2KCktPmNhbkJlRGl2aWRlQnlaZXJvKCk7Ci1AQCAtOTQsNyArOTksOCBAQCBjbGFz cyBMVURpdk9yTW9kSTY0Ci0gICBzdGF0aWMgY29uc3Qgc2l6ZV90IExocyA9IDA7Ci0gICBzdGF0 aWMgY29uc3Qgc2l6ZV90IFJocyA9IElOVDY0X1BJRUNFUzsKLSAKLS0gIExVRGl2T3JNb2RJNjQo Y29uc3QgTEludDY0QWxsb2NhdGlvbiYgbGhzLCBjb25zdCBMSW50NjRBbGxvY2F0aW9uJiByaHMp IHsKLSsgIExVRGl2T3JNb2RJNjQoY29uc3QgTEludDY0QWxsb2NhdGlvbiYgbGhzLCBjb25zdCBM SW50NjRBbGxvY2F0aW9uJiByaHMpCi0rICAgICAgOiBMQ2FsbEluc3RydWN0aW9uSGVscGVyKGNs YXNzT3Bjb2RlKSB7Ci0gICAgIHNldEludDY0T3BlcmFuZChMaHMsIGxocyk7Ci0gICAgIHNldElu dDY0T3BlcmFuZChSaHMsIHJocyk7Ci0gICB9Ci1AQCAtMTAyLDYgKzEwOCw3IEBAIGNsYXNzIExV RGl2T3JNb2RJNjQKLSAgICAgTU9aX0FTU0VSVChtaXJfLT5pc0RpdigpIHx8IG1pcl8tPmlzTW9k KCkpOwotICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8TUJpbmFyeUFyaXRoSW5zdHJ1Y3Rpb24qPiht aXJfKTsKLSAgIH0KLSsKLSAgIGJvb2wgY2FuQmVEaXZpZGVCeVplcm8oKSBjb25zdCB7Ci0gICAg IGlmIChtaXJfLT5pc01vZCgpKSByZXR1cm4gbWlyXy0+dG9Nb2QoKS0+Y2FuQmVEaXZpZGVCeVpl cm8oKTsKLSAgICAgcmV0dXJuIG1pcl8tPnRvRGl2KCktPmNhbkJlRGl2aWRlQnlaZXJvKCk7Ci1A QCAtMTIxLDcgKzEyOCwxMCBAQCBjbGFzcyBMV2FzbVRydW5jYXRlVG9JbnQ2NCA6IHB1YmxpYyBM Q2FsCi0gIHB1YmxpYzoKLSAgIExJUl9IRUFERVIoV2FzbVRydW5jYXRlVG9JbnQ2NCk7Ci0gCi0t ICBleHBsaWNpdCBMV2FzbVRydW5jYXRlVG9JbnQ2NChjb25zdCBMQWxsb2NhdGlvbiYgaW4pIHsg c2V0T3BlcmFuZCgwLCBpbik7IH0KLSsgIGV4cGxpY2l0IExXYXNtVHJ1bmNhdGVUb0ludDY0KGNv bnN0IExBbGxvY2F0aW9uJiBpbikKLSsgICAgICA6IExDYWxsSW5zdHJ1Y3Rpb25IZWxwZXIoY2xh c3NPcGNvZGUpIHsKLSsgICAgc2V0T3BlcmFuZCgwLCBpbik7Ci0rICB9Ci0gCi0gICBNV2FzbVRy dW5jYXRlVG9JbnQ2NCogbWlyKCkgY29uc3QgeyByZXR1cm4gbWlyXy0+dG9XYXNtVHJ1bmNhdGVU b0ludDY0KCk7IH0KLSB9OwotQEAgLTEzMSw3ICsxNDEsOCBAQCBjbGFzcyBMSW50NjRUb0Zsb2F0 aW5nUG9pbnQKLSAgcHVibGljOgotICAgTElSX0hFQURFUihJbnQ2NFRvRmxvYXRpbmdQb2ludCk7 Ci0gCi0tICBleHBsaWNpdCBMSW50NjRUb0Zsb2F0aW5nUG9pbnQoY29uc3QgTEludDY0QWxsb2Nh dGlvbiYgaW4pIHsKLSsgIGV4cGxpY2l0IExJbnQ2NFRvRmxvYXRpbmdQb2ludChjb25zdCBMSW50 NjRBbGxvY2F0aW9uJiBpbikKLSsgICAgICA6IExDYWxsSW5zdHJ1Y3Rpb25IZWxwZXIoY2xhc3NP cGNvZGUpIHsKLSAgICAgc2V0SW50NjRPcGVyYW5kKDAsIGluKTsKLSAgIH0KLSAKLUBAIC0xNDIs NyArMTUzLDkgQEAgY2xhc3MgTFdhc21BdG9taWNMb2FkSTY0IDogcHVibGljIExJbnN0cgotICBw dWJsaWM6Ci0gICBMSVJfSEVBREVSKFdhc21BdG9taWNMb2FkSTY0KTsKLSAKLS0gIExXYXNtQXRv bWljTG9hZEk2NChjb25zdCBMQWxsb2NhdGlvbiYgcHRyKSB7IHNldE9wZXJhbmQoMCwgcHRyKTsg fQotKyAgTFdhc21BdG9taWNMb2FkSTY0KGNvbnN0IExBbGxvY2F0aW9uJiBwdHIpIDogTEluc3Ry dWN0aW9uSGVscGVyKGNsYXNzT3Bjb2RlKSB7Ci0rICAgIHNldE9wZXJhbmQoMCwgcHRyKTsKLSsg IH0KLSAKLSAgIGNvbnN0IExBbGxvY2F0aW9uKiBwdHIoKSB7IHJldHVybiBnZXRPcGVyYW5kKDAp OyB9Ci0gICBjb25zdCBNV2FzbUxvYWQqIG1pcigpIGNvbnN0IHsgcmV0dXJuIG1pcl8tPnRvV2Fz bUxvYWQoKTsgfQotQEAgLTE1Myw3ICsxNjYsOCBAQCBjbGFzcyBMV2FzbUF0b21pY1N0b3JlSTY0 IDogcHVibGljIExJbnN0Ci0gICBMSVJfSEVBREVSKFdhc21BdG9taWNTdG9yZUk2NCk7Ci0gCi0g ICBMV2FzbUF0b21pY1N0b3JlSTY0KGNvbnN0IExBbGxvY2F0aW9uJiBwdHIsIGNvbnN0IExJbnQ2 NEFsbG9jYXRpb24mIHZhbHVlLAotLSAgICAgICAgICAgICAgICAgICAgICBjb25zdCBMRGVmaW5p dGlvbiYgdG1wKSB7Ci0rICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IExEZWZpbml0aW9uJiB0 bXApCi0rICAgICAgOiBMSW5zdHJ1Y3Rpb25IZWxwZXIoY2xhc3NPcGNvZGUpIHsKLSAgICAgc2V0 T3BlcmFuZCgwLCBwdHIpOwotICAgICBzZXRJbnQ2NE9wZXJhbmQoMSwgdmFsdWUpOwotICAgICBz ZXRUZW1wKDAsIHRtcCk7Ci1JbmRleDogbW96anMtNjAuOC4wL2pzL3NyYy9qaXQvbWlwczY0L0xJ Ui1taXBzNjQuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0tIG1vempzLTYwLjguMC5vcmlnL2pzL3NyYy9qaXQv bWlwczY0L0xJUi1taXBzNjQuaAotKysrIG1vempzLTYwLjguMC9qcy9zcmMvaml0L21pcHM2NC9M SVItbWlwczY0LmgKLUBAIC0xMSwxMCArMTEsMTggQEAgbmFtZXNwYWNlIGpzIHsKLSBuYW1lc3Bh Y2Ugaml0IHsKLSAKLSBjbGFzcyBMVW5ib3ggOiBwdWJsaWMgTEluc3RydWN0aW9uSGVscGVyPDEs IDEsIDA+IHsKLSsgcHJvdGVjdGVkOgotKyAgTFVuYm94KExOb2RlOjpPcGNvZGUgb3Bjb2RlLCBj b25zdCBMQWxsb2NhdGlvbiYgaW5wdXQpCi0rICAgICAgOiBMSW5zdHJ1Y3Rpb25IZWxwZXIob3Bj b2RlKSB7Ci0rICAgIHNldE9wZXJhbmQoMCwgaW5wdXQpOwotKyAgfQotKwotICBwdWJsaWM6Ci0g ICBMSVJfSEVBREVSKFVuYm94KTsKLSAKLS0gIGV4cGxpY2l0IExVbmJveChjb25zdCBMQWxsb2Nh dGlvbiYgaW5wdXQpIHsgc2V0T3BlcmFuZCgwLCBpbnB1dCk7IH0KLSsgIGV4cGxpY2l0IExVbmJv eChjb25zdCBMQWxsb2NhdGlvbiYgaW5wdXQpIDogTEluc3RydWN0aW9uSGVscGVyKGNsYXNzT3Bj b2RlKSB7Ci0rICAgIHNldE9wZXJhbmQoMCwgaW5wdXQpOwotKyAgfQotIAotICAgc3RhdGljIGNv bnN0IHNpemVfdCBJbnB1dCA9IDA7Ci0gCi1AQCAtMjksNyArMzcsNyBAQCBjbGFzcyBMVW5ib3hG bG9hdGluZ1BvaW50IDogcHVibGljIExVbmJvCi0gICBMSVJfSEVBREVSKFVuYm94RmxvYXRpbmdQ b2ludCk7Ci0gCi0gICBMVW5ib3hGbG9hdGluZ1BvaW50KGNvbnN0IExBbGxvY2F0aW9uJiBpbnB1 dCwgTUlSVHlwZSB0eXBlKQotLSAgICAgIDogTFVuYm94KGlucHV0KSwgdHlwZV8odHlwZSkge30K LSsgICAgICA6IExVbmJveChjbGFzc09wY29kZSwgaW5wdXQpLCB0eXBlXyh0eXBlKSB7fQotIAot ICAgTUlSVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gdHlwZV87IH0KLSB9OwotQEAgLTM5LDE4 ICs0NywxOSBAQCBjbGFzcyBMRGl2T3JNb2RJNjQgOiBwdWJsaWMgTEJpbmFyeU1hdGg8Ci0gICBM SVJfSEVBREVSKERpdk9yTW9kSTY0KQotIAotICAgTERpdk9yTW9kSTY0KGNvbnN0IExBbGxvY2F0 aW9uJiBsaHMsIGNvbnN0IExBbGxvY2F0aW9uJiByaHMsCi0tICAgICAgICAgICAgICAgY29uc3Qg TERlZmluaXRpb24mIHRlbXApIHsKLSsgICAgICAgICAgICAgICBjb25zdCBMRGVmaW5pdGlvbiYg dGVtcCkKLSsgICAgICA6IExCaW5hcnlNYXRoKGNsYXNzT3Bjb2RlKSB7Ci0gICAgIHNldE9wZXJh bmQoMCwgbGhzKTsKLSAgICAgc2V0T3BlcmFuZCgxLCByaHMpOwotICAgICBzZXRUZW1wKDAsIHRl bXApOwotICAgfQotIAotICAgY29uc3QgTERlZmluaXRpb24qIHJlbWFpbmRlcigpIHsgcmV0dXJu IGdldFRlbXAoMCk7IH0KLS0KLSAgIE1CaW5hcnlBcml0aEluc3RydWN0aW9uKiBtaXIoKSBjb25z dCB7Ci0gICAgIE1PWl9BU1NFUlQobWlyXy0+aXNEaXYoKSB8fCBtaXJfLT5pc01vZCgpKTsKLSAg ICAgcmV0dXJuIHN0YXRpY19jYXN0PE1CaW5hcnlBcml0aEluc3RydWN0aW9uKj4obWlyXyk7Ci0g ICB9Ci0rCi0gICBib29sIGNhbkJlRGl2aWRlQnlaZXJvKCkgY29uc3QgewotICAgICBpZiAobWly Xy0+aXNNb2QoKSkgcmV0dXJuIG1pcl8tPnRvTW9kKCktPmNhbkJlRGl2aWRlQnlaZXJvKCk7Ci0g ICAgIHJldHVybiBtaXJfLT50b0RpdigpLT5jYW5CZURpdmlkZUJ5WmVybygpOwotQEAgLTcxLDE0 ICs4MCwxNCBAQCBjbGFzcyBMVURpdk9yTW9kSTY0IDogcHVibGljIExCaW5hcnlNYXRoCi0gICBM SVJfSEVBREVSKFVEaXZPck1vZEk2NCk7Ci0gCi0gICBMVURpdk9yTW9kSTY0KGNvbnN0IExBbGxv Y2F0aW9uJiBsaHMsIGNvbnN0IExBbGxvY2F0aW9uJiByaHMsCi0tICAgICAgICAgICAgICAgIGNv bnN0IExEZWZpbml0aW9uJiB0ZW1wKSB7Ci0rICAgICAgICAgICAgICAgIGNvbnN0IExEZWZpbml0 aW9uJiB0ZW1wKQotKyAgICAgIDogTEJpbmFyeU1hdGgoY2xhc3NPcGNvZGUpIHsKLSAgICAgc2V0 T3BlcmFuZCgwLCBsaHMpOwotICAgICBzZXRPcGVyYW5kKDEsIHJocyk7Ci0gICAgIHNldFRlbXAo MCwgdGVtcCk7Ci0gICB9Ci0gCi0gICBjb25zdCBMRGVmaW5pdGlvbiogcmVtYWluZGVyKCkgeyBy ZXR1cm4gZ2V0VGVtcCgwKTsgfQotLQotICAgY29uc3QgY2hhciogZXh0cmFOYW1lKCkgY29uc3Qg ewotICAgICByZXR1cm4gbWlyKCktPmlzVHJ1bmNhdGVkKCkgPyAiVHJ1bmNhdGVkIiA6IG51bGxw dHI7Ci0gICB9Ci1AQCAtODcsNyArOTYsNiBAQCBjbGFzcyBMVURpdk9yTW9kSTY0IDogcHVibGlj IExCaW5hcnlNYXRoCi0gICAgIE1PWl9BU1NFUlQobWlyXy0+aXNEaXYoKSB8fCBtaXJfLT5pc01v ZCgpKTsKLSAgICAgcmV0dXJuIHN0YXRpY19jYXN0PE1CaW5hcnlBcml0aEluc3RydWN0aW9uKj4o bWlyXyk7Ci0gICB9Ci0tCi0gICBib29sIGNhbkJlRGl2aWRlQnlaZXJvKCkgY29uc3QgewotICAg ICBpZiAobWlyXy0+aXNNb2QoKSkgcmV0dXJuIG1pcl8tPnRvTW9kKCktPmNhbkJlRGl2aWRlQnla ZXJvKCk7Ci0gICAgIHJldHVybiBtaXJfLT50b0RpdigpLT5jYW5CZURpdmlkZUJ5WmVybygpOwot QEAgLTEwMyw3ICsxMTEsMTAgQEAgY2xhc3MgTFdhc21UcnVuY2F0ZVRvSW50NjQgOiBwdWJsaWMg TElucwotICBwdWJsaWM6Ci0gICBMSVJfSEVBREVSKFdhc21UcnVuY2F0ZVRvSW50NjQpOwotIAot LSAgZXhwbGljaXQgTFdhc21UcnVuY2F0ZVRvSW50NjQoY29uc3QgTEFsbG9jYXRpb24mIGluKSB7 IHNldE9wZXJhbmQoMCwgaW4pOyB9Ci0rICBleHBsaWNpdCBMV2FzbVRydW5jYXRlVG9JbnQ2NChj b25zdCBMQWxsb2NhdGlvbiYgaW4pCi0rICAgICAgOiBMSW5zdHJ1Y3Rpb25IZWxwZXIoY2xhc3NP cGNvZGUpIHsKLSsgICAgc2V0T3BlcmFuZCgwLCBpbik7Ci0rICB9Ci0gCi0gICBNV2FzbVRydW5j YXRlVG9JbnQ2NCogbWlyKCkgY29uc3QgeyByZXR1cm4gbWlyXy0+dG9XYXNtVHJ1bmNhdGVUb0lu dDY0KCk7IH0KLSB9OwotQEAgLTExMiw3ICsxMjMsOCBAQCBjbGFzcyBMSW50NjRUb0Zsb2F0aW5n UG9pbnQgOiBwdWJsaWMgTEluCi0gIHB1YmxpYzoKLSAgIExJUl9IRUFERVIoSW50NjRUb0Zsb2F0 aW5nUG9pbnQpOwotIAotLSAgZXhwbGljaXQgTEludDY0VG9GbG9hdGluZ1BvaW50KGNvbnN0IExJ bnQ2NEFsbG9jYXRpb24mIGluKSB7Ci0rICBleHBsaWNpdCBMSW50NjRUb0Zsb2F0aW5nUG9pbnQo Y29uc3QgTEludDY0QWxsb2NhdGlvbiYgaW4pCi0rICAgICAgOiBMSW5zdHJ1Y3Rpb25IZWxwZXIo Y2xhc3NPcGNvZGUpIHsKLSAgICAgc2V0SW50NjRPcGVyYW5kKDAsIGluKTsKLSAgIH0KLSAKLQpk aWZmIC0tZ2l0IGEvc3JjcGtncy9tb3pqczYwL3BhdGNoZXMvMDAxMS1taXBzLW1hY3JvYXNzZW1i bGVyLnBhdGNoIGIvc3JjcGtncy9tb3pqczYwL3BhdGNoZXMvMDAxMS1taXBzLW1hY3JvYXNzZW1i bGVyLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5OTBlYmE2Zjc5My4uMDAw MDAwMDAwMDAKLS0tIGEvc3JjcGtncy9tb3pqczYwL3BhdGNoZXMvMDAxMS1taXBzLW1hY3JvYXNz ZW1ibGVyLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjcgKzAsMCBAQAotRnJvbTogRHJhZ2Fu IE1sYWRqZW5vdmljIDxkcmFnYW4ubWxhZGplbm92aWM+Ci1EYXRlOiBNb24sIDEyIE1hciAyMDE4 IDEwOjMxOjI0ICswMTAwCi1TdWJqZWN0OiBCdWcgMTQ0NDgzNCA6IFtNSVBTXSBTdHVib3V0IE1h Y3JvQXNzZW1ibGVyOjpzcGVjdWxhdGlvbkJhcnJpZXIKLQotRnJvbSB1cHN0cmVhbSwgdmlhIGZp cmVmb3gtZXNyIDYwLjIuMGVzci0xLgotCi1SZXZpZXdlZC1ieTogamFuZGVtCi1CdWc6IGh0dHBz Oi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTE0NDQ4MzQKLUFwcGxpZWQt dXBzdHJlYW06IDYxLCBjb21taXQ6aHR0cHM6Ly9oZy5tb3ppbGxhLm9yZy9tb3ppbGxhLWNlbnRy YWwvcmV2LzczOWM1MzZkMmNkNgotLS0tCi0ganMvc3JjL2ppdC9taXBzLXNoYXJlZC9NYWNyb0Fz c2VtYmxlci1taXBzLXNoYXJlZC5jcHAgfCA4ICsrKysrKysrCi0gMSBmaWxlIGNoYW5nZWQsIDgg aW5zZXJ0aW9ucygrKQotCi1JbmRleDogbW96anMtNjAuOC4wL2pzL3NyYy9qaXQvbWlwcy1zaGFy ZWQvTWFjcm9Bc3NlbWJsZXItbWlwcy1zaGFyZWQuY3BwCi09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbW96anMt NjAuOC4wLm9yaWcvanMvc3JjL2ppdC9taXBzLXNoYXJlZC9NYWNyb0Fzc2VtYmxlci1taXBzLXNo YXJlZC5jcHAKLSsrKyBtb3pqcy02MC44LjAvanMvc3JjL2ppdC9taXBzLXNoYXJlZC9NYWNyb0Fz c2VtYmxlci1taXBzLXNoYXJlZC5jcHAKLUBAIC0yNjg3LDQgKzI2ODcsOCBAQCB2b2lkIE1hY3Jv QXNzZW1ibGVyOjphdG9taWNFZmZlY3RPcEpTKFNjCi0gICAgICAgICAgICAgICAgICBtYXNrVGVt cCk7Ci0gfQotIAotKy8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotKy8vIFNwZWN0cmUgTWl0aWdhdGlvbnMu Ci0rCi0rdm9pZCBNYWNyb0Fzc2VtYmxlcjo6c3BlY3VsYXRpb25CYXJyaWVyKCkgeyBNT1pfQ1JB U0goKTsgfQotIC8vfX19IGNoZWNrX21hY3JvYXNzZW1ibGVyX3N0eWxlCi0KZGlmZiAtLWdpdCBh L3NyY3BrZ3MvbW96anM2MC9wYXRjaGVzLzAwMTItbW96anM2MC5wYy1ob25vci1zeXNyb290LnBh dGNoIGIvc3JjcGtncy9tb3pqczYwL3BhdGNoZXMvMDAxMi1tb3pqczYwLnBjLWhvbm9yLXN5c3Jv b3QucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVjMGI0NWE1ZWE1Li4wMDAw MDAwMDAwMAotLS0gYS9zcmNwa2dzL21vempzNjAvcGF0Y2hlcy8wMDEyLW1vempzNjAucGMtaG9u b3Itc3lzcm9vdC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEzICswLDAgQEAKLSBqcy9zcmMv YnVpbGQvanMucGMuaW4gfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAx IGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9qcy9zcmMvYnVpbGQvanMucGMuaW4gYi9qcy9z cmMvYnVpbGQvanMucGMuaW4KLWluZGV4IDJlYWUzOTMuLjBhNmZkNWMgMTAwNjQ0Ci0tLS0gYS9q cy9zcmMvYnVpbGQvanMucGMuaW4KLSsrKyBiL2pzL3NyYy9idWlsZC9qcy5wYy5pbgotQEAgLTgs NCArOCw0IEBAIERlc2NyaXB0aW9uOiBUaGUgTW96aWxsYSBsaWJyYXJ5IGZvciBKYXZhU2NyaXB0 Ci0gVmVyc2lvbjogQE1PWklMTEFfVkVSU0lPTkAKLSBAUEtHQ09ORl9SRVFVSVJFU19QUklWQVRF QAotIExpYnM6IC1MJHtsaWJkaXJ9IC1sQEpTX0xJQlJBUllfTkFNRUAKLS1DZmxhZ3M6IC1pbmNs dWRlICR7aW5jbHVkZWRpcn0vQEpTX0xJQlJBUllfTkFNRUAvanMvUmVxdWlyZWREZWZpbmVzLmgg LUkke2luY2x1ZGVkaXJ9L0BKU19MSUJSQVJZX05BTUVACi0rQ2ZsYWdzOiAtaW5jbHVkZSAke3Bj X3N5c3Jvb3RkaXJ9JHtpbmNsdWRlZGlyfS9ASlNfTElCUkFSWV9OQU1FQC9qcy9SZXF1aXJlZERl ZmluZXMuaCAtSSR7aW5jbHVkZWRpcn0vQEpTX0xJQlJBUllfTkFNRUAKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvbW96anM2MC90ZW1wbGF0ZSBiL3NyY3BrZ3MvbW96anM2MC90ZW1wbGF0ZQpkZWxldGVk IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDIzNjZhYzExZDYuLjAwMDAwMDAwMDAwCi0tLSBhL3Ny Y3BrZ3MvbW96anM2MC90ZW1wbGF0ZQorKysgL2Rldi9udWxsCkBAIC0xLDY5ICswLDAgQEAKLSMg VGVtcGxhdGUgZmlsZSBmb3IgJ21vempzNjAnCi1wa2duYW1lPW1vempzNjAKLXZlcnNpb249NjAu OC4wCi1yZXZpc2lvbj01Ci13cmtzcmM9ImZpcmVmb3gtJHt2ZXJzaW9ufSIKLWJ1aWxkX3dya3Ny Yz1qcy9zcmMKLWJ1aWxkX3N0eWxlPWdudS1jb25maWd1cmUKLWhvc3RtYWtlZGVwZW5kcz0icGVy bCBweXRob24gcGtnLWNvbmZpZyBhdXRvbWFrZSBhdXRvY29uZjIxMyBhdXRvY29uZi1hcmNoaXZl Ci0gd2hpY2giCi1tYWtlZGVwZW5kcz0iaWN1LWRldmVsIGxpYmZmaS1kZXZlbCBuc3ByLWRldmVs IHB5dGhvbi1kZXZlbCByZWFkbGluZS1kZXZlbCB6bGliLWRldmVsIgotZGVwZW5kcz0ibnNwcj49 NC4xOSIKLXNob3J0X2Rlc2M9Ik1vemlsbGEgSmF2YVNjcmlwdCBpbnRlcnByZXRlciBhbmQgbGli cmFyeSAoNjAueCBzZXJpZXMpIgotbWFpbnRhaW5lcj0iRW5ubyBCb2xhbmQgPGdvdHRveEB2b2lk bGludXgub3JnPiIKLWxpY2Vuc2U9Ik1QTC0yLjAiCi1ob21lcGFnZT0iaHR0cHM6Ly93d3cubW96 aWxsYS5vcmcvanMvIgotZGlzdGZpbGVzPSIke01PWklMTEFfU0lURX0vZmlyZWZveC9yZWxlYXNl cy8ke3ZlcnNpb259ZXNyL3NvdXJjZS9maXJlZm94LSR7dmVyc2lvbn1lc3Iuc291cmNlLnRhci54 eiIKLWNoZWNrc3VtPWMxMzM4N2Q5NDRlNjM1YWViZDVmMWQyY2U5YWI3N2NiNzA2YTc0MDQzYTI0 MGNiYjdiNzA2NTQ1MTk0ODdmYmUKLXBhdGNoX2FyZ3M9Ii1OcDEiCi1DWFhGTEFHUz0iLVduby1j bGFzcy1tZW1hY2Nlc3MiCi1MREZMQUdTKz0iIC1XbCwteixzdGFjay1zaXplPTEwNDg1NzYiCi0K LWlmIFsgIiRYQlBTX1RBUkdFVF9OT19BVE9NSUM4IiBdOyB0aGVuCi0JbWFrZWRlcGVuZHMrPSIg bGliYXRvbWljLWRldmVsIgotCUxERkxBR1MrPSIgLWxhdG9taWMiCi1maQotCi1kb19jb25maWd1 cmUoKSB7Ci0JbG9jYWwgX2FyZ3MKLQotCWlmIFsgIiRDUk9TU19CVUlMRCIgXTsgdGhlbgotCQll eHBvcnQgSE9TVF9DRkxBR1M9Ii1PcyIKLQkJZXhwb3J0IEhPU1RfQ1hYRkxBR1M9Ii1PcyIKLQkJ X2FyZ3MrPSIgLS10YXJnZXQ9JFhCUFNfQ1JPU1NfVFJJUExFVCAtLWVuYWJsZS1saW5rZXI9YmZk IgotCWZpCi0KLQlhdXRvY29uZi0yLjEzIG9sZC1jb25maWd1cmUuaW4gPiBvbGQtY29uZmlndXJl Ci0KLQl0b3VjaCAke3dya3NyY30vanMvc3JjL2NvbmZpZ3VyZQotCXRvdWNoICR7d3Jrc3JjfS9q cy9zcmMvb2xkLWNvbmZpZ3VyZQotCVNIRUxMPS9iaW4vYmFzaCBQWVRIT049L3Vzci9iaW4vcHl0 aG9uMiAuL2NvbmZpZ3VyZSAtLXByZWZpeD0vdXNyIFwKLQkJLS1kaXNhYmxlLWplbWFsbG9jIC0t ZGlzYWJsZS1vcHRpbWl6ZSAtLWVuYWJsZS1jdHlwZXMgLS1lbmFibGUtcGllIFwKLQkJLS1lbmFi bGUtcmVhZGxpbmUgLS1lbmFibGUtc2hhcmVkLWpzIC0tZW5hYmxlLXN5c3RlbS1mZmkgXAotCQkt LWVuYWJsZS10ZXN0cyAtLXdpdGgtaW50bC1hcGkgLS13aXRoLXN5c3RlbS1pY3UgXAotCQktLXdp dGgtc3lzdGVtLW5zcHIgLS13aXRoLXN5c3RlbS16bGliIC0tdGFyZ2V0PSR7WEJQU19UUklQTEVU fSBcCi0JCS0taG9zdD0ke1hCUFNfVFJJUExFVH0gXAotCQkke19hcmdzfQotfQotCi1kb19jaGVj aygpIHsKLQlkaXN0L2Jpbi9qc2FwaS10ZXN0cwotfQotCi1wb3N0X2luc3RhbGwoKSB7Ci0JIyBG aXggdGhlICctaW5jbHVkZScgZGlyZWN0aXZlLCBvdGhlcndpc2UgaXQgdHJpZXMgdG8gdXNlIHRo ZSBob3N0cycgaGVhZGVyCi0JdnNlZCAnc3xeQ2ZsYWdzOi4qfENmbGFnczogLWluY2x1ZGUgJHtw Y19zeXNyb290ZGlyfS8ke2luY2x1ZGVkaXJ9L21vempzLTYwL2pzL1JlcXVpcmVkRGVmaW5lcy5o IC1JJHtpbmNsdWRlZGlyfS9tb3pqcy02MHwnIFwKLQkJLWkgJHtERVNURElSfS91c3IvbGliL3Br Z2NvbmZpZy9tb3pqcy02MC5wYwotfQotCi1tb3pqczYwLWRldmVsX3BhY2thZ2UoKSB7Ci0JZGVw ZW5kcz0ibnNwci1kZXZlbCAke3NvdXJjZXBrZ30+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0iCi0J c2hvcnRfZGVzYys9IiAtIGRldmVsb3BtZW50IGZpbGVzIgotCXBrZ19pbnN0YWxsKCkgewotCQl2 bW92ZSB1c3IvYmluL2pzNjAtY29uZmlnCi0JCXZtb3ZlIHVzci9pbmNsdWRlCi0JCXZtb3ZlICJ1 c3IvbGliLyouc28iCi0JCXZtb3ZlICJ1c3IvbGliLyouYWpzIgotCQl2bW92ZSB1c3IvbGliL3Br Z2NvbmZpZwotCX0KLX0KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbW96anM2MC91cGRhdGUgYi9zcmNw a2dzL21vempzNjAvdXBkYXRlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxOTQ3ZTE5 MjE3Zi4uMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9tb3pqczYwL3VwZGF0ZQorKysgL2Rldi9u dWxsCkBAIC0xICswLDAgQEAKLXBrZ25hbWU9J21vempzJwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9y ZW1vdmVkLXBhY2thZ2VzL3RlbXBsYXRlIGIvc3JjcGtncy9yZW1vdmVkLXBhY2thZ2VzL3RlbXBs YXRlCmluZGV4IDkyODYxMDE4ODZhLi43NTc5OWM3YjM3NSAxMDA2NDQKLS0tIGEvc3JjcGtncy9y ZW1vdmVkLXBhY2thZ2VzL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcmVtb3ZlZC1wYWNrYWdlcy90 ZW1wbGF0ZQpAQCAtNTMsNiArNTMsNyBAQCByZXBsYWNlcz0iCiAgbWlycm9yYml0czw9MC41LjFf MQogIG1vbmdyb3VwPD0wLjQuMV8yCiAgbW96anM1Mjw9NTIuOS4wXzcKKyBtb3pqczYwPD02MC44 LjBfNQogIHBob25vbi1iYWNrZW5kLWdzdHJlYW1lcjw9NC45LjBfMgogIHBob25vbi1iYWNrZW5k LXZsYzw9MC45LjFfMwogIHBvbGtpdC1xdDw9MC4xMTIuMF81Cg== --===============1886460227105977881==--