From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.9 required=5.0 tests=ALL_TRUSTED,URI_HEX autolearn=no autolearn_force=no version=3.4.2 Received: (qmail 16119 invoked from network); 8 May 2020 22:16:10 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 8 May 2020 22:16:10 -0000 Content-Type: multipart/mixed; boundary="===============8714152877526778519==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_=5Breally_wip=5D_system_wide_electron_package?= To: ml@inbox.vuxu.org From: Johnnynator Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Sat, 09 May 2020 00:16:10 +0200 List-Id: Message-ID: <20200508221610.3ijCn3pVDmxQLihLzTTd5V4tB2y9mQwvr-q5twtDusA@z> GitHub notification mails are now in MIME to allow UTF8. --===============8714152877526778519== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgSm9obm55bmF0b3IgYWdhaW5zdCBt YXN0ZXIgb24gdGhlIHZvaWQtcGFja2FnZXMgcmVwb3NpdG9yeQoKaHR0cHM6Ly9naXRodWIuY29t L0pvaG5ueW5hdG9yL3ZvaWQtcGFja2FnZXMgZWxlY3Ryb24KaHR0cHM6Ly9naXRodWIuY29tL3Zv aWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzIxNzU4CgpbcmVhbGx5IHdpcF0gc3lzdGVtIHdp ZGUgZWxlY3Ryb24gcGFja2FnZQp0byBkbzogcmVpbnRyb2R1Y2Ugc3lzdGVtIHpsaWIgcGF0Y2gN CnRvIGRvOiBlbGVjdHJvbjggcGFja2FnZSBmb3IgYWxsIHRoZSBvdGhlciBlbGVjdHJvbiBhcHBz DQp0byBkbzogYnJpbmcgdGhlIHRlbXBsYXRlIG1vcmUgaW4gbGluZSB3aXRoIHRoZSBjaHJvbWl1 bSBvbmUgc3RpbGUgd2lzZQ0KDQpUaGFua3MgdG8gQENvZ2l0cmkgd2hvIGRpZCBwcmVwYXJlIG1v c3Qgb2YgdGhpcyB3b3JrDQoNClAucy4gSSdtIGFscmVhZHkgc29ycnkgZm9yIHRoZSBidWlsZCBz ZXJ2ZXIgdG8gZ2V0IGEgM3JkIGNocm9taXVtIHBhY2thZ2UgdG8gYnVpbGQgb2NjYXNpb25hbGx5 LgoKQSBwYXRjaCBmaWxlIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1w YWNrYWdlcy9wdWxsLzIxNzU4LnBhdGNoIGlzIGF0dGFjaGVk --===============8714152877526778519== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-electron-21758.patch" RnJvbSA0MThhM2E4NjA5YTcwYTBlMjU2MWI3M2EwYjUxNWVmOGFkN2JjYjNlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2huIDxtZUBqb2hubnluYXRvci5kZXY+CkRhdGU6IEZyaSwg OCBNYXkgMjAyMCAyMzowNDo1NSArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMS80XSB0ZWxlZ3JhbS1k ZXNrdG9wOiB1cGRhdGUgdG8gMi4xLjMuCgotLS0KIHNyY3BrZ3MvdGVsZWdyYW0tZGVza3RvcC90 ZW1wbGF0ZSB8IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3RlbGVncmFtLWRlc2t0b3AvdGVtcGxhdGUg Yi9zcmNwa2dzL3RlbGVncmFtLWRlc2t0b3AvdGVtcGxhdGUKaW5kZXggNjhiMmY4Mjg5ZWUuLjU4 ZGMwODI1OTYxIDEwMDY0NAotLS0gYS9zcmNwa2dzL3RlbGVncmFtLWRlc2t0b3AvdGVtcGxhdGUK KysrIGIvc3JjcGtncy90ZWxlZ3JhbS1kZXNrdG9wL3RlbXBsYXRlCkBAIC0xLDYgKzEsNiBAQAog IyBUZW1wbGF0ZSBmaWxlIGZvciAndGVsZWdyYW0tZGVza3RvcCcKIHBrZ25hbWU9dGVsZWdyYW0t ZGVza3RvcAotdmVyc2lvbj0yLjEuMgordmVyc2lvbj0yLjEuMwogcmV2aXNpb249MQogd3Jrc3Jj PSJ0ZGVza3RvcC0ke3ZlcnNpb259LWZ1bGwiCiBidWlsZF9zdHlsZT1jbWFrZQpAQCAtMjgsNyAr MjgsNyBAQCBsaWNlbnNlPSJHUEwtMy4wLW9yLWxhdGVyIFdJVEggT3BlblNTTCIKIGhvbWVwYWdl PSJodHRwczovL2Rlc2t0b3AudGVsZWdyYW0ub3JnLyIKIGNoYW5nZWxvZz0iaHR0cHM6Ly9naXRo dWIuY29tL3RlbGVncmFtZGVza3RvcC90ZGVza3RvcC9ibG9iL3Yke3ZlcnNpb259L2NoYW5nZWxv Zy50eHQiCiBkaXN0ZmlsZXM9Imh0dHBzOi8vZ2l0aHViLmNvbS90ZWxlZ3JhbWRlc2t0b3AvdGRl c2t0b3AvcmVsZWFzZXMvZG93bmxvYWQvdiR7dmVyc2lvbn0vdGRlc2t0b3AtJHt2ZXJzaW9ufS1m dWxsLnRhci5neiIKLWNoZWNrc3VtPTQ0NDQ1NWFhMTY2NDQ4YzQzYjQ2YWJhZDYwNGU1OWY2MzAy MjU5NjJiM2ZiZWJiMzJjYWNjZWEyOTkzZTY4NTgKK2NoZWNrc3VtPTQ5Njc5MjlkN2VhMjZkNWYx OGQ4ZTQ5ODNhMDA1OTU5ZGZhOTgwM2Y0Y2M1NjQ2YWFmZmE3YTk0NDU5MDViNDUKIAogYnVpbGRf b3B0aW9ucz0ic3BlbGxjaGVjayIKIGJ1aWxkX29wdGlvbnNfZGVmYXVsdD0ic3BlbGxjaGVjayIK CkZyb20gOWRjODVjYjFhZGY5ZGQ1MWQyZDkwOWFjMzFhMDg0Mjg3NTkyZWY1NSBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogSm9obiA8bWVAam9obm55bmF0b3IuZGV2PgpEYXRlOiBGcmks IDggTWF5IDIwMjAgMTk6MTY6MzkgKzAyMDAKU3ViamVjdDogW1BBVENIIDIvNF0gTmV3IHBhY2th Z2U6IGVsZWN0cm9uNy03LjIuMwoKLS0tCiAuLi5tdXNsLWRlZmF1bHQtcHRocmVhZC1zdGFja3Np emUucGF0Y2gucGF0Y2ggfCAgMzEgKwogLi4uL2Nocm9taXVtLW11c2wtc2FuZGJveC5wYXRjaC5w YXRjaCAgICAgICAgIHwgMTc2ICsrKysrCiAuLi51bS1tdXNsX2Nhbm9uaWNhbGl6ZV9maWxlX25h bWUucGF0Y2gucGF0Y2ggfCAgMTMgKwogLi4uL2Nocm9taXVtLW11c2xfY2RlZnMucGF0Y2gucGF0 Y2ggICAgICAgICAgIHwgIDQ1ICsrCiAuLi5tdXNsX2RlZmluZV90ZW1wX2ZhaWx1cmVfcmV0cnku cGF0Y2gucGF0Y2ggfCAgMTggKwogLi4uL2Nocm9taXVtLW11c2xfZG5zLnBhdGNoLnBhdGNoICAg ICAgICAgICAgIHwgIDYxICsrCiAuLi4vY2hyb21pdW0tbXVzbF9leGVpbmZvLnBhdGNoLnBhdGNo ICAgICAgICAgfCAgOTYgKysrCiAuLi4vY2hyb21pdW0tbXVzbF9mcHN0YXRlX3QucGF0Y2gucGF0 Y2ggICAgICAgfCAgNDggKysKIC4uLi9jaHJvbWl1bS1tdXNsX2dldGNvbnRleHQucGF0Y2gucGF0 Y2ggICAgICB8ICAyNSArCiAuLi4vY2hyb21pdW0tbXVzbF9tYWxsaW5mby5wYXRjaC5wYXRjaCAg ICAgICAgfCAgNjEgKysKIC4uLi9jaHJvbWl1bS1tdXNsX3ByZWFkX3B3cml0ZTY0LnBhdGNoLnBh dGNoICB8ICAxOCArCiAuLi4vY2hyb21pdW0tbXVzbF9wdXNoX2JhY2sucGF0Y2gucGF0Y2ggICAg ICAgfCAgMTMgKwogLi4uL2Nocm9taXVtLW11c2xfc2lfZmllbGRzLnBhdGNoLnBhdGNoICAgICAg IHwgIDEzICsKIC4uLi9jaHJvbWl1bS1tdXNsX3N0YWNrX3NpemUucGF0Y2gucGF0Y2ggICAgICB8 ICA0MSArCiAuLi4vY2hyb21pdW0tbXVzbF9zdGFja190cmFjZS5wYXRjaC5wYXRjaCAgICAgfCAg NDQgKysKIC4uLi9jaHJvbWl1bS1tdXNsX3RjcF9saXN0ZW4ucGF0Y2gucGF0Y2ggICAgICB8ICAx NCArCiAuLi4vY2hyb21pdW0tbXVzbF93b3Jkc2l6ZS5wYXRjaC5wYXRjaCAgICAgICAgfCAgMjQg KwogLi4udW0tMDAxLXVwc3RyZWFtX2Nocm9tZV9jbGVhbmVyLnBhdGNoLnBhdGNoIHwgIDczICsr CiAuLi5fbG9nc19mcm9tX3Rlc3RfY2lsZF9wcm9jZXNzZXMucGF0Y2gucGF0Y2ggfCAzNDIgKysr KysrKysKIC4uLnBzdHJlYW1fbW92ZV9jaGlsZF9wcm9jZXNzX2xvZy5wYXRjaC5wYXRjaCB8IDcz MCArKysrKysrKysrKysrKysrKysKIC4uLnBzdHJlYW1fdXNlX2NoaWxkcHJvY2Vzc2xvZ2dlci5w YXRjaC5wYXRjaCB8IDE4NiArKysrKwogLi4uLTAwNS11cHN0cmVhbS1jaHJvbWl1bV92ZXJzaW9u LnBhdGNoLnBhdGNoIHwgIDI2ICsKIC4uLmNocm9taXVtLWNocm9taXVtX2F0a19vcHRpb25hbC5w YXRjaC5wYXRjaCB8ICAxNyArCiAuLi4vY2hyb21pdW0tY2xhbmcxMF9nbHNsYW5nLnBhdGNoLnBh dGNoICAgICAgfCAgMjUgKwogLi4uL2Nocm9taXVtLWZpeC1jb21tYW5kbGluZS1pbmNsdWRlLnBh dGNoICAgIHwgIDQ0ICsrCiAuLi4vY2hyb21pdW0tZml4LXN1Y2Vzcy1kZWZpbml0aW9uLnBhdGNo ICAgICAgfCAgMTUgKwogLi4uL3BhdGNoZXMvY2hyb21pdW0tZ25fYm9vdHN0cmFwX25pbmphLnBh dGNoIHwgIDMyICsKIC4uLi9wYXRjaGVzL2Nocm9taXVtLWljdV91MTZfbmV4dC5wYXRjaC5wYXRj aCB8ICAxMyArCiAuLi4vZmlsZXMvcGF0Y2hlcy9jaHJvbWl1bS1saWJjX21hbGxvYy5wYXRjaCAg fCAgMjYgKwogLi4uYS1zY3JpcHQtdG8tbGlzdC1wYXRjaC10YXJnZXRzLnBhdGNoLnBhdGNoIHwg IDQyICsKIC4uLi9wYXRjaGVzL2VsZWN0cm9uLUJ1aWxkLWZpeGVzLnBhdGNoLnBhdGNoICB8ICA1 NyArKwogLi4uZWN0cm9uLWRvbnQtYXNzdW1lLXB5dGhvbi1pcy1weXRob24yLnBhdGNoIHwgIDE3 ICsKIC4uLi9maWxlcy9wYXRjaGVzL2VsZWN0cm9uLWZpeC1pbmNsdWRlcy5wYXRjaCB8ICAxOSAr CiAuLi4vZWxlY3Ryb24tbWpzdW5pdC1ub3QtZXhzaXQucGF0Y2gucGF0Y2ggICAgfCAgNDcgKysK IHNyY3BrZ3MvZWxlY3Ryb243L3RlbXBsYXRlICAgICAgICAgICAgICAgICAgICB8IDI2OCArKysr KysrCiAzNSBmaWxlcyBjaGFuZ2VkLCAyNzIwIGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEw MDY0NCBzcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9tdXNsLXBhdGNoZXMvY2hyb21pdW0tbXVzbC1k ZWZhdWx0LXB0aHJlYWQtc3RhY2tzaXplLnBhdGNoLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQg c3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvbXVzbC1wYXRjaGVzL2Nocm9taXVtLW11c2wtc2FuZGJv eC5wYXRjaC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvZWxlY3Ryb243L2ZpbGVz L211c2wtcGF0Y2hlcy9jaHJvbWl1bS1tdXNsX2Nhbm9uaWNhbGl6ZV9maWxlX25hbWUucGF0Y2gu cGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9tdXNsLXBh dGNoZXMvY2hyb21pdW0tbXVzbF9jZGVmcy5wYXRjaC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0 IHNyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL211c2wtcGF0Y2hlcy9jaHJvbWl1bS1tdXNsX2RlZmlu ZV90ZW1wX2ZhaWx1cmVfcmV0cnkucGF0Y2gucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNw a2dzL2VsZWN0cm9uNy9maWxlcy9tdXNsLXBhdGNoZXMvY2hyb21pdW0tbXVzbF9kbnMucGF0Y2gu cGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9tdXNsLXBh dGNoZXMvY2hyb21pdW0tbXVzbF9leGVpbmZvLnBhdGNoLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2 NDQgc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvbXVzbC1wYXRjaGVzL2Nocm9taXVtLW11c2xfZnBz dGF0ZV90LnBhdGNoLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9lbGVjdHJvbjcv ZmlsZXMvbXVzbC1wYXRjaGVzL2Nocm9taXVtLW11c2xfZ2V0Y29udGV4dC5wYXRjaC5wYXRjaAog Y3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL211c2wtcGF0Y2hlcy9j aHJvbWl1bS1tdXNsX21hbGxpbmZvLnBhdGNoLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3Jj cGtncy9lbGVjdHJvbjcvZmlsZXMvbXVzbC1wYXRjaGVzL2Nocm9taXVtLW11c2xfcHJlYWRfcHdy aXRlNjQucGF0Y2gucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2VsZWN0cm9uNy9m aWxlcy9tdXNsLXBhdGNoZXMvY2hyb21pdW0tbXVzbF9wdXNoX2JhY2sucGF0Y2gucGF0Y2gKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9tdXNsLXBhdGNoZXMvY2hy b21pdW0tbXVzbF9zaV9maWVsZHMucGF0Y2gucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNw a2dzL2VsZWN0cm9uNy9maWxlcy9tdXNsLXBhdGNoZXMvY2hyb21pdW0tbXVzbF9zdGFja19zaXpl LnBhdGNoLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMv bXVzbC1wYXRjaGVzL2Nocm9taXVtLW11c2xfc3RhY2tfdHJhY2UucGF0Y2gucGF0Y2gKIGNyZWF0 ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9tdXNsLXBhdGNoZXMvY2hyb21p dW0tbXVzbF90Y3BfbGlzdGVuLnBhdGNoLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtn cy9lbGVjdHJvbjcvZmlsZXMvbXVzbC1wYXRjaGVzL2Nocm9taXVtLW11c2xfd29yZHNpemUucGF0 Y2gucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9wYXRj aGVzL2Nocm9taXVtLTAwMS11cHN0cmVhbV9jaHJvbWVfY2xlYW5lci5wYXRjaC5wYXRjaAogY3Jl YXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL3BhdGNoZXMvY2hyb21pdW0t MDAyLXVwc3RyZWFtX3NhdmVfbG9nc19mcm9tX3Rlc3RfY2lsZF9wcm9jZXNzZXMucGF0Y2gucGF0 Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9wYXRjaGVzL2No cm9taXVtLTAwMy11cHN0cmVhbV9tb3ZlX2NoaWxkX3Byb2Nlc3NfbG9nLnBhdGNoLnBhdGNoCiBj cmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvcGF0Y2hlcy9jaHJvbWl1 bS0wMDQtdXBzdHJlYW1fdXNlX2NoaWxkcHJvY2Vzc2xvZ2dlci5wYXRjaC5wYXRjaAogY3JlYXRl IG1vZGUgMTAwNjQ0IHNyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL3BhdGNoZXMvY2hyb21pdW0tMDA1 LXVwc3RyZWFtLWNocm9taXVtX3ZlcnNpb24ucGF0Y2gucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBzcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9wYXRjaGVzL2Nocm9taXVtLWNocm9taXVtX2F0a19v cHRpb25hbC5wYXRjaC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvZWxlY3Ryb243 L2ZpbGVzL3BhdGNoZXMvY2hyb21pdW0tY2xhbmcxMF9nbHNsYW5nLnBhdGNoLnBhdGNoCiBjcmVh dGUgbW9kZSAxMDA2NDQgc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvcGF0Y2hlcy9jaHJvbWl1bS1m aXgtY29tbWFuZGxpbmUtaW5jbHVkZS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mv ZWxlY3Ryb243L2ZpbGVzL3BhdGNoZXMvY2hyb21pdW0tZml4LXN1Y2Vzcy1kZWZpbml0aW9uLnBh dGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvcGF0Y2hlcy9j aHJvbWl1bS1nbl9ib290c3RyYXBfbmluamEucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNw a2dzL2VsZWN0cm9uNy9maWxlcy9wYXRjaGVzL2Nocm9taXVtLWljdV91MTZfbmV4dC5wYXRjaC5w YXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL3BhdGNoZXMv Y2hyb21pdW0tbGliY19tYWxsb2MucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Vs ZWN0cm9uNy9maWxlcy9wYXRjaGVzL2VsZWN0cm9uLUFkZC1hLXNjcmlwdC10by1saXN0LXBhdGNo LXRhcmdldHMucGF0Y2gucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2VsZWN0cm9u Ny9maWxlcy9wYXRjaGVzL2VsZWN0cm9uLUJ1aWxkLWZpeGVzLnBhdGNoLnBhdGNoCiBjcmVhdGUg bW9kZSAxMDA2NDQgc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvcGF0Y2hlcy9lbGVjdHJvbi1kb250 LWFzc3VtZS1weXRob24taXMtcHl0aG9uMi5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3Br Z3MvZWxlY3Ryb243L2ZpbGVzL3BhdGNoZXMvZWxlY3Ryb24tZml4LWluY2x1ZGVzLnBhdGNoCiBj cmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvcGF0Y2hlcy9lbGVjdHJv bi1tanN1bml0LW5vdC1leHNpdC5wYXRjaC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3Br Z3MvZWxlY3Ryb243L3RlbXBsYXRlCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9lbGVjdHJvbjcvZmls ZXMvbXVzbC1wYXRjaGVzL2Nocm9taXVtLW11c2wtZGVmYXVsdC1wdGhyZWFkLXN0YWNrc2l6ZS5w YXRjaC5wYXRjaCBiL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL211c2wtcGF0Y2hlcy9jaHJvbWl1 bS1tdXNsLWRlZmF1bHQtcHRocmVhZC1zdGFja3NpemUucGF0Y2gucGF0Y2gKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmQwYzEzNjFiOGVkCi0tLSAvZGV2L251bGwKKysr IGIvc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvbXVzbC1wYXRjaGVzL2Nocm9taXVtLW11c2wtZGVm YXVsdC1wdGhyZWFkLXN0YWNrc2l6ZS5wYXRjaC5wYXRjaApAQCAtMCwwICsxLDMxIEBACitkaWZm IC0tZ2l0IGEvYmFzZS90aHJlYWRpbmcvcGxhdGZvcm1fdGhyZWFkX2xpbnV4LmNjIGIvYmFzZS90 aHJlYWRpbmcvcGxhdGZvcm1fdGhyZWFkX2xpbnV4LmNjCitpbmRleCAwOTVjNDliLi41MDQ0YmI4 IDEwMDY0NAorLS0tIGEvYmFzZS90aHJlYWRpbmcvcGxhdGZvcm1fdGhyZWFkX2xpbnV4LmNjCisr KysgYi9iYXNlL3RocmVhZGluZy9wbGF0Zm9ybV90aHJlYWRfbGludXguY2MKK0BAIC0xODYsNyAr MTg2LDcgQEAgdm9pZCBUZXJtaW5hdGVPblRocmVhZCgpIHt9CisgCisgc2l6ZV90IEdldERlZmF1 bHRUaHJlYWRTdGFja1NpemUoY29uc3QgcHRocmVhZF9hdHRyX3QmIGF0dHJpYnV0ZXMpIHsKKyAj aWYgIWRlZmluZWQoVEhSRUFEX1NBTklUSVpFUikKKy0gIHJldHVybiAwOworKyAgcmV0dXJuICgx IDw8IDIzKTsKKyAjZWxzZQorICAgLy8gVGhyZWFkU2FuaXRpemVyIGJsb2F0cyB0aGUgc3RhY2sg aGVhdmlseS4gRXZpZGVuY2UgaGFzIGJlZW4gdGhhdCB0aGUKKyAgIC8vIGRlZmF1bHQgc3RhY2sg c2l6ZSBpc24ndCBlbm91Z2ggZm9yIHNvbWUgYnJvd3NlciB0ZXN0cy4KK2RpZmYgLS1naXQgYS9j aHJvbWUvYXBwL3NodXRkb3duX3NpZ25hbF9oYW5kbGVyc19wb3NpeC5jYyBiL2Nocm9tZS9hcHAv c2h1dGRvd25fc2lnbmFsX2hhbmRsZXJzX3Bvc2l4LmNjCitpbmRleCA2MjFkNDQxLi5iZTIxMTA2 IDEwMDY0NAorLS0tIGEvY2hyb21lL2FwcC9zaHV0ZG93bl9zaWduYWxfaGFuZGxlcnNfcG9zaXgu Y2MKKysrKyBiL2Nocm9tZS9hcHAvc2h1dGRvd25fc2lnbmFsX2hhbmRsZXJzX3Bvc2l4LmNjCitA QCAtMTg3LDExICsxODcsMTEgQEAgdm9pZCBJbnN0YWxsU2h1dGRvd25TaWduYWxIYW5kbGVycygK KyAgIGdfc2h1dGRvd25fcGlwZV9yZWFkX2ZkID0gcGlwZWZkWzBdOworICAgZ19zaHV0ZG93bl9w aXBlX3dyaXRlX2ZkID0gcGlwZWZkWzFdOworICNpZiAhZGVmaW5lZChBRERSRVNTX1NBTklUSVpF UikKKy0gIGNvbnN0IHNpemVfdCBrU2h1dGRvd25EZXRlY3RvclRocmVhZFN0YWNrU2l6ZSA9IFBU SFJFQURfU1RBQ0tfTUlOICogMjsKKysgIGNvbnN0IHNpemVfdCBrU2h1dGRvd25EZXRlY3RvclRo cmVhZFN0YWNrU2l6ZSA9IFBUSFJFQURfU1RBQ0tfTUlOICogMiAqODsKKyAjZWxzZQorICAgLy8g QVNhbiBpbnN0cnVtZW50YXRpb24gYmxvYXRzIHRoZSBzdGFjayBmcmFtZXMsIHNvIHdlIG5lZWQg dG8gaW5jcmVhc2UgdGhlCisgICAvLyBzdGFjayBzaXplIHRvIGF2b2lkIGhpdHRpbmcgdGhlIGd1 YXJkIHBhZ2UuCistICBjb25zdCBzaXplX3Qga1NodXRkb3duRGV0ZWN0b3JUaHJlYWRTdGFja1Np emUgPSBQVEhSRUFEX1NUQUNLX01JTiAqIDQ7CisrICBjb25zdCBzaXplX3Qga1NodXRkb3duRGV0 ZWN0b3JUaHJlYWRTdGFja1NpemUgPSBQVEhSRUFEX1NUQUNLX01JTiAqIDQgKjg7CisgI2VuZGlm CisgICBTaHV0ZG93bkRldGVjdG9yKiBkZXRlY3RvciA9IG5ldyBTaHV0ZG93bkRldGVjdG9yKAor ICAgICAgIGdfc2h1dGRvd25fcGlwZV9yZWFkX2ZkLCBzdGQ6Om1vdmUoc2h1dGRvd25fY2FsbGJh Y2spLCB0YXNrX3J1bm5lcik7CmRpZmYgLS1naXQgYS9zcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9t dXNsLXBhdGNoZXMvY2hyb21pdW0tbXVzbC1zYW5kYm94LnBhdGNoLnBhdGNoIGIvc3JjcGtncy9l bGVjdHJvbjcvZmlsZXMvbXVzbC1wYXRjaGVzL2Nocm9taXVtLW11c2wtc2FuZGJveC5wYXRjaC5w YXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZjQ4NWY2Y2M3NWEK LS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9tdXNsLXBhdGNoZXMv Y2hyb21pdW0tbXVzbC1zYW5kYm94LnBhdGNoLnBhdGNoCkBAIC0wLDAgKzEsMTc2IEBACitkaWZm IC0tZ2l0IGEvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5c2NhbGxfcGFyYW1l dGVyc19yZXN0cmljdGlvbnMuY2MgYi9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMv c3lzY2FsbF9wYXJhbWV0ZXJzX3Jlc3RyaWN0aW9ucy5jYworaW5kZXggMzQ4YWI2ZS4uNDU1MGY5 ZSAxMDA2NDQKKy0tLSAuL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxs X3BhcmFtZXRlcnNfcmVzdHJpY3Rpb25zLmNjCisrKysgLi9zYW5kYm94L2xpbnV4L3NlY2NvbXAt YnBmLWhlbHBlcnMvc3lzY2FsbF9wYXJhbWV0ZXJzX3Jlc3RyaWN0aW9ucy5jYworQEAgLTEzOSwy MSArMTM5LDExIEBAIG5hbWVzcGFjZSBzYW5kYm94IHsKKyAvLyBwcmVzZW50IChhcyBpbiBuZXdl ciB2ZXJzaW9ucyBvZiBwb3NpeF9zcGF3bikuCisgUmVzdWx0RXhwciBSZXN0cmljdENsb25lVG9U aHJlYWRzQW5kRVBFUk1Gb3JrKCkgeworICAgY29uc3QgQXJnPHVuc2lnbmVkIGxvbmc+IGZsYWdz KDApOworLQorLSAgLy8gVE9ETyhtZGVtcHNreSk6IEV4dGVuZCBEU0wgdG8gc3VwcG9ydCAoZmxh Z3MgJiB+bWFzazEpID09IG1hc2syLgorLSAgY29uc3QgdWludDY0X3Qga0FuZHJvaWRDbG9uZU1h c2sgPSBDTE9ORV9WTSB8IENMT05FX0ZTIHwgQ0xPTkVfRklMRVMgfAorLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBDTE9ORV9TSUdIQU5EIHwgQ0xPTkVfVEhSRUFEIHwKKy0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0xPTkVfU1lTVlNFTTsKKy0gIGNv bnN0IHVpbnQ2NF90IGtPYnNvbGV0ZUFuZHJvaWRDbG9uZU1hc2sgPSBrQW5kcm9pZENsb25lTWFz ayB8IENMT05FX0RFVEFDSEVEOworLQorLSAgY29uc3QgdWludDY0X3Qga0dsaWJjUHRocmVhZEZs YWdzID0KKy0gICAgICBDTE9ORV9WTSB8IENMT05FX0ZTIHwgQ0xPTkVfRklMRVMgfCBDTE9ORV9T SUdIQU5EIHwgQ0xPTkVfVEhSRUFEIHwKKy0gICAgICBDTE9ORV9TWVNWU0VNIHwgQ0xPTkVfU0VU VExTIHwgQ0xPTkVfUEFSRU5UX1NFVFRJRCB8IENMT05FX0NISUxEX0NMRUFSVElEOworLSAgY29u c3QgQm9vbEV4cHIgZ2xpYmNfdGVzdCA9IGZsYWdzID09IGtHbGliY1B0aHJlYWRGbGFnczsKKy0K Ky0gIGNvbnN0IEJvb2xFeHByIGFuZHJvaWRfdGVzdCA9CistICAgICAgQW55T2YoZmxhZ3MgPT0g a0FuZHJvaWRDbG9uZU1hc2ssIGZsYWdzID09IGtPYnNvbGV0ZUFuZHJvaWRDbG9uZU1hc2ssCist ICAgICAgICAgICAgZmxhZ3MgPT0ga0dsaWJjUHRocmVhZEZsYWdzKTsKKysgIGNvbnN0IGludCBy ZXF1aXJlZCA9IENMT05FX1ZNIHwgQ0xPTkVfRlMgfCBDTE9ORV9GSUxFUyB8IENMT05FX1NJR0hB TkQgfAorKyAgICAgICAgICAgICAgICAgICAgICAgQ0xPTkVfVEhSRUFEIHwgQ0xPTkVfU1lTVlNF TTsKKysgIGNvbnN0IGludCBzYWZlID0gQ0xPTkVfU0VUVExTIHwgQ0xPTkVfUEFSRU5UX1NFVFRJ RCB8IENMT05FX0NISUxEX0NMRUFSVElEIHwKKysgICAgICAgICAgICAgICAgICAgQ0xPTkVfREVU QUNIRUQ7CisrICBjb25zdCBCb29sRXhwciB0aHJlYWRfY2xvbmVfb2sgPSAoZmxhZ3MmfnNhZmUp PT1yZXF1aXJlZDsKKyAKKyAgIC8vIFRoZSBmb2xsb3dpbmcgdHdvIGZsYWdzIGFyZSB0aGUgdHdv IGltcG9ydGFudCBmbGFncyBpbiBhbnkgdmZvcmstZW11bGF0aW5nCisgICAvLyBjbG9uZSBjYWxs LiBFUEVSTSBhbnkgY2xvbmUgY2FsbCB0aGF0IGNvbnRhaW5zIGJvdGggb2YgdGhlbS4KK0BAIC0x NjMsNyArMTUzLDcgQEAgUmVzdWx0RXhwciBSZXN0cmljdENsb25lVG9UaHJlYWRzQW5kRVBFUk1G b3JrKCkgeworICAgICAgIEFueU9mKChmbGFncyAmIChDTE9ORV9WTSB8IENMT05FX1RIUkVBRCkp ID09IDAsCisgICAgICAgICAgICAgKGZsYWdzICYga0ltcG9ydGFudENsb25lVmZvcmtGbGFncykg PT0ga0ltcG9ydGFudENsb25lVmZvcmtGbGFncyk7CisgCistICByZXR1cm4gSWYoSXNBbmRyb2lk KCkgPyBhbmRyb2lkX3Rlc3QgOiBnbGliY190ZXN0LCBBbGxvdygpKQorKyAgcmV0dXJuIElmKHRo cmVhZF9jbG9uZV9vaywgQWxsb3coKSkKKyAgICAgICAuRWxzZUlmKGlzX2Zvcmtfb3JfY2xvbmVf dmZvcmssIEVycm9yKEVQRVJNKSkKKyAgICAgICAuRWxzZShDcmFzaFNJR1NZU0Nsb25lKCkpOwor IH0KK2RpZmYgLS1naXQgYS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2Fs bF9zZXRzLmNjIGIvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5c2NhbGxfc2V0 cy5jYworaW5kZXggN2RiY2M4Ny4uNTg5MjYyZiAxMDA2NDQKKy0tLSAuL3NhbmRib3gvbGludXgv c2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3NldHMuY2MKKysrKyAuL3NhbmRib3gvbGludXgv c2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3NldHMuY2MKK0BAIC0zOTEsNiArMzkxLDcgQEAg Ym9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkUHJvY2Vzc1N0YXJ0T3JEZWF0aChpbnQgc3lzbm8p IHsKKyAjaWYgZGVmaW5lZChfX2kzODZfXykKKyAgICAgY2FzZSBfX05SX3dhaXRwaWQ6CisgI2Vu ZGlmCisrICAgIGNhc2UgX19OUl9zZXRfdGlkX2FkZHJlc3M6CisgICAgICAgcmV0dXJuIHRydWU7 CisgICAgIGNhc2UgX19OUl9jbG9uZTogIC8vIFNob3VsZCBiZSBwYXJhbWV0ZXItcmVzdHJpY3Rl ZC4KKyAgICAgY2FzZSBfX05SX3NldG5zOiAgLy8gUHJpdmlsZWdlZC4KK0BAIC00MDMsNyArNDA0 LDYgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkUHJvY2Vzc1N0YXJ0T3JEZWF0aChpbnQg c3lzbm8pIHsKKyAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8 fCBkZWZpbmVkKF9fbWlwc19fKQorICAgICBjYXNlIF9fTlJfc2V0X3RocmVhZF9hcmVhOgorICNl bmRpZgorLSAgICBjYXNlIF9fTlJfc2V0X3RpZF9hZGRyZXNzOgorICAgICBjYXNlIF9fTlJfdW5z aGFyZToKKyAjaWYgIWRlZmluZWQoX19taXBzX18pICYmICFkZWZpbmVkKF9fYWFyY2g2NF9fKQor ICAgICBjYXNlIF9fTlJfdmZvcms6CitAQCAtNTEzLDYgKzUxMyw4IEBAIGJvb2wgU3lzY2FsbFNl dHM6OklzQWxsb3dlZEFkZHJlc3NTcGFjZUFjY2VzcyhpbnQgc3lzbm8pIHsKKyAgICAgY2FzZSBf X05SX21sb2NrOgorICAgICBjYXNlIF9fTlJfbXVubG9jazoKKyAgICAgY2FzZSBfX05SX211bm1h cDoKKysgICAgY2FzZSBfX05SX21yZW1hcDoKKysgICAgY2FzZSBfX05SX21lbWJhcnJpZXI6Cisg ICAgICAgcmV0dXJuIHRydWU7CisgICAgIGNhc2UgX19OUl9tYWR2aXNlOgorICAgICBjYXNlIF9f TlJfbWluY29yZToKK0BAIC01MzAsNyArNTMyLDYgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxv d2VkQWRkcmVzc1NwYWNlQWNjZXNzKGludCBzeXNubykgeworICAgICBjYXNlIF9fTlJfbW9kaWZ5 X2xkdDoKKyAjZW5kaWYKKyAgICAgY2FzZSBfX05SX21wcm90ZWN0OgorLSAgICBjYXNlIF9fTlJf bXJlbWFwOgorICAgICBjYXNlIF9fTlJfbXN5bmM6CisgICAgIGNhc2UgX19OUl9tdW5sb2NrYWxs OgorICAgICBjYXNlIF9fTlJfcmVhZGFoZWFkOgorZGlmZiAtLWdpdCBhL3NhbmRib3gvbGludXgv c3lzdGVtX2hlYWRlcnMvYXJtNjRfbGludXhfc3lzY2FsbHMuaCBiL3NhbmRib3gvbGludXgvc3lz dGVtX2hlYWRlcnMvYXJtNjRfbGludXhfc3lzY2FsbHMuaAoraW5kZXggNTlkMGVhYi4uN2FlNzAw MiAxMDA2NDQKKy0tLSAuL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvYXJtNjRfbGludXhf c3lzY2FsbHMuaAorKysrIC4vc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9hcm02NF9saW51 eF9zeXNjYWxscy5oCitAQCAtMTA2Myw0ICsxMDYzLDggQEAKKyAjZGVmaW5lIF9fTlJfbWVtZmRf Y3JlYXRlIDI3OQorICNlbmRpZgorIAorKyNpZiAhZGVmaW5lZChfX05SX21lbWJhcnJpZXIpCisr I2RlZmluZSBfX05SX21lbWJhcnJpZXIgMjgzCisrI2VuZGlmCisrCisgI2VuZGlmICAvLyBTQU5E Qk9YX0xJTlVYX1NZU1RFTV9IRUFERVJTX0FSTTY0X0xJTlVYX1NZU0NBTExTX0hfCitkaWZmIC0t Z2l0IGEvc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9hcm1fbGludXhfc3lzY2FsbHMuaCBi L3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvYXJtX2xpbnV4X3N5c2NhbGxzLmgKK2luZGV4 IDFhZGRkNTMuLjc4NDNiNWUgMTAwNjQ0CistLS0gLi9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFk ZXJzL2FybV9saW51eF9zeXNjYWxscy5oCisrKysgLi9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFk ZXJzL2FybV9saW51eF9zeXNjYWxscy5oCitAQCAtMTM4NSw2ICsxMzg1LDEwIEBACisgI2RlZmlu ZSBfX05SX21lbWZkX2NyZWF0ZSAoX19OUl9TWVNDQUxMX0JBU0UrMzg1KQorICNlbmRpZgorIAor KyNpZiAhZGVmaW5lZChfX05SX21lbWJhcnJpZXIpCisrI2RlZmluZSBfX05SX21lbWJhcnJpZXIg KF9fTlJfU1lTQ0FMTF9CQVNFKzM4OSkKKysjZW5kaWYKKysKKyAvLyBBUk0gcHJpdmF0ZSBzeXNj YWxscy4KKyAjaWYgIWRlZmluZWQoX19BUk1fTlJfQkFTRSkKKyAjZGVmaW5lIF9fQVJNX05SX0JB U0UgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMHhGMDAwMCkKK2RpZmYgLS1naXQgYS9zYW5kYm94L2xp bnV4L3N5c3RlbV9oZWFkZXJzL21pcHM2NF9saW51eF9zeXNjYWxscy5oIGIvc2FuZGJveC9saW51 eC9zeXN0ZW1faGVhZGVycy9taXBzNjRfbGludXhfc3lzY2FsbHMuaAoraW5kZXggZWM3NTgxNS4u NjEyZmNmYSAxMDA2NDQKKy0tLSAuL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbWlwczY0 X2xpbnV4X3N5c2NhbGxzLmgKKysrKyAuL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbWlw czY0X2xpbnV4X3N5c2NhbGxzLmgKK0BAIC0xMjcxLDQgKzEyNzEsOCBAQAorICNkZWZpbmUgX19O Ul9tZW1mZF9jcmVhdGUgKF9fTlJfTGludXggKyAzMTQpCisgI2VuZGlmCisgCisrI2lmICFkZWZp bmVkKF9fTlJfbWVtYmFycmllcikKKysjZGVmaW5lIF9fTlJfbWVtYmFycmllciAoX19OUl9MaW51 eCArIDMxOCkKKysjZW5kaWYKKysKKyAjZW5kaWYgIC8vIFNBTkRCT1hfTElOVVhfU1lTVEVNX0hF QURFUlNfTUlQUzY0X0xJTlVYX1NZU0NBTExTX0hfCitkaWZmIC0tZ2l0IGEvc2FuZGJveC9saW51 eC9zeXN0ZW1faGVhZGVycy9taXBzX2xpbnV4X3N5c2NhbGxzLmggYi9zYW5kYm94L2xpbnV4L3N5 c3RlbV9oZWFkZXJzL21pcHNfbGludXhfc3lzY2FsbHMuaAoraW5kZXggZGRiZjk3Zi4uMTc0MmFj ZCAxMDA2NDQKKy0tLSAuL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbWlwc19saW51eF9z eXNjYWxscy5oCisrKysgLi9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL21pcHNfbGludXhf c3lzY2FsbHMuaAorQEAgLTE0MzMsNCArMTQzMyw4IEBACisgI2RlZmluZSBfX05SX21lbWZkX2Ny ZWF0ZSAoX19OUl9MaW51eCArIDM1NCkKKyAjZW5kaWYKKyAKKysjaWYgIWRlZmluZWQoX19OUl9t ZW1iYXJyaWVyKQorKyNkZWZpbmUgX19OUl9tZW1iYXJyaWVyIChfX05SX0xpbnV4ICsgMzU4KQor KyNlbmRpZgorKworICNlbmRpZiAgLy8gU0FOREJPWF9MSU5VWF9TWVNURU1fSEVBREVSU19NSVBT X0xJTlVYX1NZU0NBTExTX0hfCitkaWZmIC0tZ2l0IGEvc2FuZGJveC9saW51eC9zeXN0ZW1faGVh ZGVycy94ODZfMzJfbGludXhfc3lzY2FsbHMuaCBiL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRl cnMveDg2XzMyX2xpbnV4X3N5c2NhbGxzLmgKK2luZGV4IGE2YWZjNjIuLjdlZDBhM2IgMTAwNjQ0 CistLS0gLi9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL3g4Nl8zMl9saW51eF9zeXNjYWxs cy5oCisrKysgLi9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL3g4Nl8zMl9saW51eF9zeXNj YWxscy5oCitAQCAtMTQyMiw1ICsxNDIyLDkgQEAKKyAjZGVmaW5lIF9fTlJfbWVtZmRfY3JlYXRl IDM1NgorICNlbmRpZgorIAorKyNpZiAhZGVmaW5lZChfX05SX21lbWJhcnJpZXIpCisrI2RlZmlu ZSBfX05SX21lbWJhcnJpZXIgMzc1CisrI2VuZGlmCisrCisgI2VuZGlmICAvLyBTQU5EQk9YX0xJ TlVYX1NZU1RFTV9IRUFERVJTX1g4Nl8zMl9MSU5VWF9TWVNDQUxMU19IXworIAorZGlmZiAtLWdp dCBhL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMveDg2XzY0X2xpbnV4X3N5c2NhbGxzLmgg Yi9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL3g4Nl82NF9saW51eF9zeXNjYWxscy5oCitp bmRleCAzNDk1MDRhLi5lYTNjN2M5IDEwMDY0NAorLS0tIC4vc2FuZGJveC9saW51eC9zeXN0ZW1f aGVhZGVycy94ODZfNjRfbGludXhfc3lzY2FsbHMuaAorKysrIC4vc2FuZGJveC9saW51eC9zeXN0 ZW1faGVhZGVycy94ODZfNjRfbGludXhfc3lzY2FsbHMuaAorQEAgLTEyOTAsNSArMTI5MCw5IEBA CisgI2RlZmluZSBfX05SX21lbWZkX2NyZWF0ZSAzMTkKKyAjZW5kaWYKKyAKKysjaWYgIWRlZmlu ZWQoX19OUl9tZW1iYXJyaWVyKQorKyNkZWZpbmUgX19OUl9tZW1iYXJyaWVyIDMyNAorKyNlbmRp ZgorKworICNlbmRpZiAgLy8gU0FOREJPWF9MSU5VWF9TWVNURU1fSEVBREVSU19YODZfNjRfTElO VVhfU1lTQ0FMTFNfSF8KKyAKK2RpZmYgLS1naXQgYS9zZXJ2aWNlcy9zZXJ2aWNlX21hbmFnZXIv c2FuZGJveC9saW51eC9icGZfcmVuZGVyZXJfcG9saWN5X2xpbnV4LmNjIGIvc2VydmljZXMvc2Vy dmljZV9tYW5hZ2VyL3NhbmRib3gvbGludXgvYnBmX3JlbmRlcmVyX3BvbGljeV9saW51eC5jYwor aW5kZXggMDE3ZjEzYy4uNTBhZWVjMyAxMDA2NDQKKy0tLSAuL3NlcnZpY2VzL3NlcnZpY2VfbWFu YWdlci9zYW5kYm94L2xpbnV4L2JwZl9yZW5kZXJlcl9wb2xpY3lfbGludXguY2MKKysrKyAuL3Nl cnZpY2VzL3NlcnZpY2VfbWFuYWdlci9zYW5kYm94L2xpbnV4L2JwZl9yZW5kZXJlcl9wb2xpY3lf bGludXguY2MKK0BAIC04OCwxMCArODgsMTAgQEAgUmVzdWx0RXhwciBSZW5kZXJlclByb2Nlc3NQ b2xpY3k6OkV2YWx1YXRlU3lzY2FsbChpbnQgc3lzbm8pIGNvbnN0IHsKKyAgICAgY2FzZSBfX05S X3N5c2luZm86CisgICAgIGNhc2UgX19OUl90aW1lczoKKyAgICAgY2FzZSBfX05SX3VuYW1lOgor LSAgICAgIHJldHVybiBBbGxvdygpOworLSAgICBjYXNlIF9fTlJfc2NoZWRfZ2V0YWZmaW5pdHk6 CisgICAgIGNhc2UgX19OUl9zY2hlZF9nZXRwYXJhbToKKyAgICAgY2FzZSBfX05SX3NjaGVkX2dl dHNjaGVkdWxlcjoKKysgICAgICByZXR1cm4gQWxsb3coKTsKKysgICAgY2FzZSBfX05SX3NjaGVk X2dldGFmZmluaXR5OgorICAgICBjYXNlIF9fTlJfc2NoZWRfc2V0c2NoZWR1bGVyOgorICAgICAg IHJldHVybiBzYW5kYm94OjpSZXN0cmljdFNjaGVkVGFyZ2V0KEdldFBvbGljeVBpZCgpLCBzeXNu byk7CisgICAgIGNhc2UgX19OUl9wcmxpbWl0NjQ6CmRpZmYgLS1naXQgYS9zcmNwa2dzL2VsZWN0 cm9uNy9maWxlcy9tdXNsLXBhdGNoZXMvY2hyb21pdW0tbXVzbF9jYW5vbmljYWxpemVfZmlsZV9u YW1lLnBhdGNoLnBhdGNoIGIvc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvbXVzbC1wYXRjaGVzL2No cm9taXVtLW11c2xfY2Fub25pY2FsaXplX2ZpbGVfbmFtZS5wYXRjaC5wYXRjaApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMDU2MTRkYWE3NTcKLS0tIC9kZXYvbnVsbAor KysgYi9zcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9tdXNsLXBhdGNoZXMvY2hyb21pdW0tbXVzbF9j YW5vbmljYWxpemVfZmlsZV9uYW1lLnBhdGNoLnBhdGNoCkBAIC0wLDAgKzEsMTMgQEAKK2RpZmYg LS1naXQgYS90aGlyZF9wYXJ0eS9uYXNtL2NvbmZpZy9jb25maWctbGludXguaCBiL3RoaXJkX3Bh cnR5L25hc20vY29uZmlnL2NvbmZpZy1saW51eC5oCitpbmRleCA3ZWI3YzIwLi44ODJiNzM2IDEw MDY0NAorLS0tIGEvdGhpcmRfcGFydHkvbmFzbS9jb25maWcvY29uZmlnLWxpbnV4LmgKKysrKyBi L3RoaXJkX3BhcnR5L25hc20vY29uZmlnL2NvbmZpZy1saW51eC5oCitAQCAtMTE3LDcgKzExNyw3 IEBACisgI2RlZmluZSBIQVZFX0FDQ0VTUyAxCisgCisgLyogRGVmaW5lIHRvIDEgaWYgeW91IGhh dmUgdGhlIGBjYW5vbmljYWxpemVfZmlsZV9uYW1lJyBmdW5jdGlvbi4gKi8KKy0jZGVmaW5lIEhB VkVfQ0FOT05JQ0FMSVpFX0ZJTEVfTkFNRSAxCisrLyogI3VuZGVmIEhBVkVfQ0FOT05JQ0FMSVpF X0ZJTEVfTkFNRSAqLworIAorIC8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgY3B1X3Rv X2xlMTYnIGludHJpbnNpYyBmdW5jdGlvbi4gKi8KKyAvKiAjdW5kZWYgSEFWRV9DUFVfVE9fTEUx NiAqLwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvbXVzbC1wYXRjaGVzL2No cm9taXVtLW11c2xfY2RlZnMucGF0Y2gucGF0Y2ggYi9zcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9t dXNsLXBhdGNoZXMvY2hyb21pdW0tbXVzbF9jZGVmcy5wYXRjaC5wYXRjaApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZmM3ZGMwNmZmMjEKLS0tIC9kZXYvbnVsbAorKysg Yi9zcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9tdXNsLXBhdGNoZXMvY2hyb21pdW0tbXVzbF9jZGVm cy5wYXRjaC5wYXRjaApAQCAtMCwwICsxLDQ1IEBACitkaWZmIC0tZ2l0IGEvYmFzZS9hbGxvY2F0 b3IvYWxsb2NhdG9yX3NoaW1faW50ZXJuYWxzLmggYi9iYXNlL2FsbG9jYXRvci9hbGxvY2F0b3Jf c2hpbV9pbnRlcm5hbAorcy5oCitpbmRleCAwMTk2Zjg5Li5iYjQyYjVkIDEwMDY0NAorLS0tIGEv YmFzZS9hbGxvY2F0b3IvYWxsb2NhdG9yX3NoaW1faW50ZXJuYWxzLmgKKysrKyBiL2Jhc2UvYWxs b2NhdG9yL2FsbG9jYXRvcl9zaGltX2ludGVybmFscy5oCitAQCAtNyw3ICs3LDkgQEAKKworICNp ZiBkZWZpbmVkKF9fR05VQ19fKQorCisrI2lmIGRlZmluZWQoX19HTElCQ19fKQorICNpbmNsdWRl IDxzeXMvY2RlZnMuaD4gIC8vIGZvciBfX1RIUk9XCisrI2VuZGlmCisKKyAjaWZuZGVmIF9fVEhS T1cgIC8vIE5vdCBhIGdsaWJjIHN5c3RlbQorICNpZmRlZiBfTk9FWENFUFQgIC8vIExMVk0gbGli YysrIHVzZXMgbm9leGNlcHQgaW5zdGVhZAorZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2xpYnN5 bmMvc3JjL2luY2x1ZGUvc3luYy9zeW5jLmggYi90aGlyZF9wYXJ0eS9saWJzeW5jL3NyYy9pbmNs dWRlL3N5bmMvc3luYy5oCitpbmRleCA1MGVkMGFjLi43NTUyYTQ5IDEwMDY0NAorLS0tIGEvdGhp cmRfcGFydHkvbGlic3luYy9zcmMvaW5jbHVkZS9zeW5jL3N5bmMuaAorKysrIGIvdGhpcmRfcGFy dHkvbGlic3luYy9zcmMvaW5jbHVkZS9zeW5jL3N5bmMuaAorQEAgLTE5LDEyICsxOSwxMyBAQAor ICNpZm5kZWYgX19TWVNfQ09SRV9TWU5DX0gKKyAjZGVmaW5lIF9fU1lTX0NPUkVfU1lOQ19ICisg CistI2luY2x1ZGUgPHN5cy9jZGVmcy5oPgorICNpbmNsdWRlIDxzdGRpbnQuaD4KKyAKKyAjaW5j bHVkZSA8bGludXgvdHlwZXMuaD4KKyAKKy1fX0JFR0lOX0RFQ0xTCisrI2lmZGVmIF9fY3BsdXNw bHVzCisrZXh0ZXJuICJDIiB7CisrI2VuZGlmIC8qIF9fY3BsdXNwbHVzICovCisgCisgc3RydWN0 IHN5bmNfbGVnYWN5X21lcmdlX2RhdGEgeworICBpbnQzMl90IGZkMjsKK0BAIC0xNTgsNiArMTU5 LDggQEAgc3RydWN0IHN5bmNfcHRfaW5mbyAqc3luY19wdF9pbmZvKHN0cnVjdCBzeW5jX2ZlbmNl X2luZm9fZGF0YSAqaW5mbywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ry dWN0IHN5bmNfcHRfaW5mbyAqaXRyKTsKKyB2b2lkIHN5bmNfZmVuY2VfaW5mb19mcmVlKHN0cnVj dCBzeW5jX2ZlbmNlX2luZm9fZGF0YSAqaW5mbyk7CisgCistX19FTkRfREVDTFMKKysjaWZkZWYg X19jcGx1c3BsdXMKKyt9CisrI2VuZGlmIC8qIF9fY3BsdXNwbHVzICovCisgCisgI2VuZGlmIC8q IF9fU1lTX0NPUkVfU1lOQ19IICovCmRpZmYgLS1naXQgYS9zcmNwa2dzL2VsZWN0cm9uNy9maWxl cy9tdXNsLXBhdGNoZXMvY2hyb21pdW0tbXVzbF9kZWZpbmVfdGVtcF9mYWlsdXJlX3JldHJ5LnBh dGNoLnBhdGNoIGIvc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvbXVzbC1wYXRjaGVzL2Nocm9taXVt LW11c2xfZGVmaW5lX3RlbXBfZmFpbHVyZV9yZXRyeS5wYXRjaC5wYXRjaApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNjFkYjY1OGY4NDkKLS0tIC9kZXYvbnVsbAorKysg Yi9zcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9tdXNsLXBhdGNoZXMvY2hyb21pdW0tbXVzbF9kZWZp bmVfdGVtcF9mYWlsdXJlX3JldHJ5LnBhdGNoLnBhdGNoCkBAIC0wLDAgKzEsMTggQEAKKy0tLSBh L3NhbmRib3gvbGludXgvc3VpZC9zYW5kYm94LmMJMjAxOS0xMS0xOSAwOToyODowNS4wMDAwMDAw MDAgKzA4MDAKKysrKyBiL3NhbmRib3gvbGludXgvc3VpZC9zYW5kYm94LmMJMjAyMC0wNC0yNCAx MTo1MDoxMi43MTk4ODA3MjggKzA4MDAKK0BAIC00Miw2ICs0MiwxNSBAQAorICNkZWZpbmUgQ0xP TkVfTkVXTkVUIDB4NDAwMDAwMDAKKyAjZW5kaWYKKyAKKysjaWZuZGVmIFRFTVBfRkFJTFVSRV9S RVRSWQorKyNkZWZpbmUgVEVNUF9GQUlMVVJFX1JFVFJZKGV4cHJlc3Npb24pIFwKKysgIChfX2V4 dGVuc2lvbl9fICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFwKKysgICAgKHsgbG9uZyBpbnQgX19yZXN1bHQ7ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysgICAgICAgZG8gX19yZXN1 bHQgPSAobG9uZyBpbnQpIChleHByZXNzaW9uKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFwKKysgICAgICAgd2hpbGUgKF9fcmVzdWx0ID09IC0xTCAmJiBlcnJubyA9PSBFSU5UUik7 ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysgICAgICAgX19yZXN1bHQ7IH0pKQorKyNl bmRpZgorKworIHN0YXRpYyBib29sIERyb3BSb290KCk7CisgCisgI2RlZmluZSBIQU5ETEVfRUlO VFIoeCkgVEVNUF9GQUlMVVJFX1JFVFJZKHgpCmRpZmYgLS1naXQgYS9zcmNwa2dzL2VsZWN0cm9u Ny9maWxlcy9tdXNsLXBhdGNoZXMvY2hyb21pdW0tbXVzbF9kbnMucGF0Y2gucGF0Y2ggYi9zcmNw a2dzL2VsZWN0cm9uNy9maWxlcy9tdXNsLXBhdGNoZXMvY2hyb21pdW0tbXVzbF9kbnMucGF0Y2gu cGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmY0OWQ4YmQwYWZh Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvbXVzbC1wYXRjaGVz L2Nocm9taXVtLW11c2xfZG5zLnBhdGNoLnBhdGNoCkBAIC0wLDAgKzEsNjEgQEAKK2RpZmYgLS1n aXQgYS9uZXQvZG5zL2Ruc19jb25maWdfc2VydmljZV9wb3NpeC5jYyBiL25ldC9kbnMvZG5zX2Nv bmZpZ19zZXJ2aWNlX3Bvc2l4LmNjCitpbmRleCAyZjk0ODMyLi4yZGQxYTk4IDEwMDY0NAorLS0t IGEvbmV0L2Rucy9kbnNfY29uZmlnX3NlcnZpY2VfcG9zaXguY2MKKysrKyBiL25ldC9kbnMvZG5z X2NvbmZpZ19zZXJ2aWNlX3Bvc2l4LmNjCitAQCAtMTUwLDcgKzE1MCw3IEBAIENvbmZpZ1BhcnNl UG9zaXhSZXN1bHQgUmVhZERuc0NvbmZpZyhEbnNDb25maWcqIGRuc19jb25maWcpIHsKKyAjaWYg IWRlZmluZWQoT1NfQU5EUk9JRCkKKyAgIENvbmZpZ1BhcnNlUG9zaXhSZXN1bHQgcmVzdWx0Owor IC8vIFRPRE8oZnVjaHNpYSk6IFVzZSByZXNfbmluaXQoKSB3aGVuIGl0J3MgaW1wbGVtZW50ZWQg b24gRnVjaHNpYS4KKy0jaWYgZGVmaW5lZChPU19PUEVOQlNEKSB8fCBkZWZpbmVkKE9TX0ZVQ0hT SUEpCisrI2lmIGRlZmluZWQoT1NfT1BFTkJTRCkgfHwgZGVmaW5lZChPU19GVUNIU0lBKSB8fCAo ZGVmaW5lZChPU19MSU5VWCkgJiYgIWRlZmluZWQoX19HTElCQ19fKSkKKyAgIC8vIE5vdGU6IHJl c19uaW5pdCBpbiBnbGliYyBhbHdheXMgcmV0dXJucyAwIGFuZCBzZXRzIFJFU19JTklULgorICAg Ly8gcmVzX2luaXQgYmVoYXZlcyB0aGUgc2FtZSB3YXkuCisgICBtZW1zZXQoJl9yZXMsIDAsIHNp emVvZihfcmVzKSk7CitAQCAtMTczLDcgKzE3Myw3IEBAIENvbmZpZ1BhcnNlUG9zaXhSZXN1bHQg UmVhZERuc0NvbmZpZyhEbnNDb25maWcqIGRuc19jb25maWcpIHsKKyAjZWxzZQorICAgcmVzX25j bG9zZSgmcmVzKTsKKyAjZW5kaWYgIC8vIGRlZmluZWQoT1NfTUFDT1NYKSB8fCBkZWZpbmVkKE9T X0ZSRUVCU0QpCistI2VuZGlmICAvLyBkZWZpbmVkKE9TX09QRU5CU0QpCisrI2VuZGlmICAvLyBk ZWZpbmVkKE9TX09QRU5CU0QpIHx8IGRlZmluZWQoT1NfRlVDSFNJQSkgfHwgKGRlZmluZWQoT1Nf TElOVVgpICYmICFkZWZpbmVkKF9fR0xJQkNfXykpCisgCisgI2lmIGRlZmluZWQoT1NfTUFDT1NY KSAmJiAhZGVmaW5lZChPU19JT1MpCisgICBDb25maWdQYXJzZVBvc2l4UmVzdWx0IGVycm9yID0g RG5zQ29uZmlnV2F0Y2hlcjo6Q2hlY2tEbnNDb25maWcoKTsKK2RpZmYgLS1naXQgYS9uZXQvZG5z L2Ruc19yZWxvYWRlci5jYyBiL25ldC9kbnMvZG5zX3JlbG9hZGVyLmNjCitpbmRleCA5NTJjZmY0 Li40YjM2NmY0IDEwMDY0NAorLS0tIGEvbmV0L2Rucy9kbnNfcmVsb2FkZXIuY2MKKysrKyBiL25l dC9kbnMvZG5zX3JlbG9hZGVyLmNjCitAQCAtNCw3ICs0LDcgQEAKKyAKKyAjaW5jbHVkZSAibmV0 L2Rucy9kbnNfcmVsb2FkZXIuaCIKKyAKKy0jaWYgZGVmaW5lZChPU19QT1NJWCkgJiYgIWRlZmlu ZWQoT1NfTUFDT1NYKSAmJiAhZGVmaW5lZChPU19PUEVOQlNEKSAmJiBcCisrI2lmIGRlZmluZWQo T1NfUE9TSVgpICYmIGRlZmluZWQoX19HTElCQ19fKSAmJiAhZGVmaW5lZChPU19NQUNPU1gpICYm ICFkZWZpbmVkKE9TX09QRU5CU0QpICYmIFwKKyAgICAgIWRlZmluZWQoT1NfQU5EUk9JRCkgJiYg IWRlZmluZWQoT1NfRlVDSFNJQSkKKyAKKyAjaW5jbHVkZSA8cmVzb2x2Lmg+CitkaWZmIC0tZ2l0 IGEvbmV0L2Rucy9ob3N0X3Jlc29sdmVyX21hbmFnZXIuY2MgYi9uZXQvZG5zL2hvc3RfcmVzb2x2 ZXJfbWFuYWdlci5jYworaW5kZXggZThkZWE0Ni4uYzg2YTgzMCAxMDA2NDQKKy0tLSBhL25ldC9k bnMvaG9zdF9yZXNvbHZlcl9tYW5hZ2VyLmNjCisrKysgYi9uZXQvZG5zL2hvc3RfcmVzb2x2ZXJf bWFuYWdlci5jYworQEAgLTIzODYsNyArMjM4Niw3IEBAIEhvc3RSZXNvbHZlck1hbmFnZXI6Okhv c3RSZXNvbHZlck1hbmFnZXIoCisgICBOZXR3b3JrQ2hhbmdlTm90aWZpZXI6OkFkZENvbm5lY3Rp b25UeXBlT2JzZXJ2ZXIodGhpcyk7CisgICBpZiAoc3lzdGVtX2Ruc19jb25maWdfbm90aWZpZXJf KQorICAgICBzeXN0ZW1fZG5zX2NvbmZpZ19ub3RpZmllcl8tPkFkZE9ic2VydmVyKHRoaXMpOwor LSNpZiBkZWZpbmVkKE9TX1BPU0lYKSAmJiAhZGVmaW5lZChPU19NQUNPU1gpICYmICFkZWZpbmVk KE9TX09QRU5CU0QpICYmIFwKKysjaWYgZGVmaW5lZChPU19QT1NJWCkgJiYgZGVmaW5lZChfX0dM SUJDX18pICYmICFkZWZpbmVkKE9TX01BQ09TWCkgJiYgIWRlZmluZWQoT1NfT1BFTkJTRCkgJiYg XAorICAgICAhZGVmaW5lZChPU19BTkRST0lEKQorICAgRW5zdXJlRG5zUmVsb2FkZXJJbml0KCk7 CisgI2VuZGlmCitkaWZmIC0tZ2l0IGEvbmV0L2Rucy9ob3N0X3Jlc29sdmVyX3Byb2MuY2MgYi9u ZXQvZG5zL2hvc3RfcmVzb2x2ZXJfcHJvYy5jYworaW5kZXggMDgyNDU0MC4uMzM4NDk3OCAxMDA2 NDQKKy0tLSBhL25ldC9kbnMvaG9zdF9yZXNvbHZlcl9wcm9jLmNjCisrKysgYi9uZXQvZG5zL2hv c3RfcmVzb2x2ZXJfcHJvYy5jYworQEAgLTE5Nyw3ICsxOTcsNyBAQCBpbnQgU3lzdGVtSG9zdFJl c29sdmVyQ2FsbChjb25zdCBzdGQ6OnN0cmluZyYgaG9zdCwKKyAgIGJhc2U6OlNjb3BlZEJsb2Nr aW5nQ2FsbCBzY29wZWRfYmxvY2tpbmdfY2FsbChGUk9NX0hFUkUsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFzZTo6QmxvY2tpbmdUeXBlOjpXSUxM X0JMT0NLKTsKKyAKKy0jaWYgZGVmaW5lZChPU19QT1NJWCkgJiYgIWRlZmluZWQoT1NfTUFDT1NY KSAmJiAhZGVmaW5lZChPU19PUEVOQlNEKSAmJiBcCisrI2lmIGRlZmluZWQoT1NfUE9TSVgpICYm IGRlZmluZWQoX19HTElCQ19fKSAmJiAhZGVmaW5lZChPU19NQUNPU1gpICYmICFkZWZpbmVkKE9T X09QRU5CU0QpICYmIFwKKyAgICAgIWRlZmluZWQoT1NfQU5EUk9JRCkgJiYgIWRlZmluZWQoT1Nf RlVDSFNJQSkKKyAgIERuc1JlbG9hZGVyTWF5YmVSZWxvYWQoKTsKKyAjZW5kaWYKZGlmZiAtLWdp dCBhL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL211c2wtcGF0Y2hlcy9jaHJvbWl1bS1tdXNsX2V4 ZWluZm8ucGF0Y2gucGF0Y2ggYi9zcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9tdXNsLXBhdGNoZXMv Y2hyb21pdW0tbXVzbF9leGVpbmZvLnBhdGNoLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAwLi5mMWFmYzdjMWIxNwotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3Mv ZWxlY3Ryb243L2ZpbGVzL211c2wtcGF0Y2hlcy9jaHJvbWl1bS1tdXNsX2V4ZWluZm8ucGF0Y2gu cGF0Y2gKQEAgLTAsMCArMSw5NiBAQAorZGlmZiAtLWdpdCBhL2Jhc2UvZGVidWcvc3RhY2tfdHJh Y2VfcG9zaXguY2MgYi9iYXNlL2RlYnVnL3N0YWNrX3RyYWNlX3Bvc2l4LmNjCitpbmRleCBkZTJm MzU2Li5mNjk3YzY2IDEwMDY0NAorLS0tIGEvYmFzZS9kZWJ1Zy9zdGFja190cmFjZV9wb3NpeC5j YworKysrIGIvYmFzZS9kZWJ1Zy9zdGFja190cmFjZV9wb3NpeC5jYworQEAgLTI3LDcgKzI3LDcg QEAKKyAjaWYgIWRlZmluZWQoVVNFX1NZTUJPTElaRSkKKyAjaW5jbHVkZSA8Y3h4YWJpLmg+Cisg I2VuZGlmCistI2lmICFkZWZpbmVkKF9fVUNMSUJDX18pICYmICFkZWZpbmVkKF9BSVgpCisrI2lm IGRlZmluZWQoX19HTElCQ19fKSAmJiAhZGVmaW5lZChfX1VDTElCQ19fKSAmJiAhZGVmaW5lZChf QUlYKQorICNpbmNsdWRlIDxleGVjaW5mby5oPgorICNlbmRpZgorIAorQEAgLTg2LDcgKzg2LDcg QEAgdm9pZCBEZW1hbmdsZVN5bWJvbHMoc3RkOjpzdHJpbmcqIHRleHQpIHsKKyAgIC8vIE5vdGU6 IGNvZGUgaW4gdGhpcyBmdW5jdGlvbiBpcyBOT1QgYXN5bmMtc2lnbmFsIHNhZmUgKHN0ZDo6c3Ry aW5nIHVzZXMKKyAgIC8vIG1hbGxvYyBpbnRlcm5hbGx5KS4KKyAKKy0jaWYgIWRlZmluZWQoX19V Q0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkKKysjaWYgZGVmaW5lZChfX0dMSUJDX18pICYmICFk ZWZpbmVkKF9fVUNMSUJDX18pICYmICFkZWZpbmVkKF9BSVgpCisgICBzdGQ6OnN0cmluZzo6c2l6 ZV90eXBlIHNlYXJjaF9mcm9tID0gMDsKKyAgIHdoaWxlIChzZWFyY2hfZnJvbSA8IHRleHQtPnNp emUoKSkgeworICAgICAvLyBMb29rIGZvciB0aGUgc3RhcnQgb2YgYSBtYW5nbGVkIHN5bWJvbCwg ZnJvbSBzZWFyY2hfZnJvbS4KK0BAIC0xMjEsNyArMTIxLDcgQEAgdm9pZCBEZW1hbmdsZVN5bWJv bHMoc3RkOjpzdHJpbmcqIHRleHQpIHsKKyAgICAgICBzZWFyY2hfZnJvbSA9IG1hbmdsZWRfc3Rh cnQgKyAyOworICAgICB9CisgICB9CistI2VuZGlmICAvLyAhZGVmaW5lZChfX1VDTElCQ19fKSAm JiAhZGVmaW5lZChfQUlYKQorKyNlbmRpZiAgLy8gZGVmaW5lZChfX0dMSUJDX18pICYmICFkZWZp bmVkKF9fVUNMSUJDX18pICYmICFkZWZpbmVkKF9BSVgpCisgfQorICNlbmRpZiAgLy8gIWRlZmlu ZWQoVVNFX1NZTUJPTElaRSkKKyAKK0BAIC0xMzMsNyArMTMzLDcgQEAgY2xhc3MgQmFja3RyYWNl T3V0cHV0SGFuZGxlciB7CisgICB2aXJ0dWFsIH5CYWNrdHJhY2VPdXRwdXRIYW5kbGVyKCkgPSBk ZWZhdWx0OworIH07CisgCistI2lmICFkZWZpbmVkKF9fVUNMSUJDX18pICYmICFkZWZpbmVkKF9B SVgpCisrI2lmIGRlZmluZWQoX19HTElCQ19fKSAmJiAhZGVmaW5lZChfX1VDTElCQ19fKSAmJiAh ZGVmaW5lZChfQUlYKQorIHZvaWQgT3V0cHV0UG9pbnRlcih2b2lkKiBwb2ludGVyLCBCYWNrdHJh Y2VPdXRwdXRIYW5kbGVyKiBoYW5kbGVyKSB7CisgICAvLyBUaGlzIHNob3VsZCBiZSBtb3JlIHRo YW4gZW5vdWdoIHRvIHN0b3JlIGEgNjQtYml0IG51bWJlciBpbiBoZXg6CisgICAvLyAxNiBoZXgg ZGlnaXRzICsgMSBmb3IgbnVsbC10ZXJtaW5hdG9yLgorQEAgLTIxNiw3ICsyMTYsNyBAQCB2b2lk IFByb2Nlc3NCYWNrdHJhY2Uodm9pZCogY29uc3QqIHRyYWNlLAorICAgfQorICNlbmRpZiAgLy8g ZGVmaW5lZChVU0VfU1lNQk9MSVpFKQorIH0KKy0jZW5kaWYgIC8vICFkZWZpbmVkKF9fVUNMSUJD X18pICYmICFkZWZpbmVkKF9BSVgpCisrI2VuZGlmICAvLyBkZWZpbmVkKF9fR0xJQkNfXykgJiYg IWRlZmluZWQoX19VQ0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkKKyAKKyB2b2lkIFByaW50VG9T dGRlcnIoY29uc3QgY2hhciogb3V0cHV0KSB7CisgICAvLyBOT1RFOiBUaGlzIGNvZGUgTVVTVCBi ZSBhc3luYy1zaWduYWwgc2FmZSAoaXQncyB1c2VkIGJ5IGluLXByb2Nlc3MKK0BAIC04MjgsNyAr ODI4LDcgQEAgc2l6ZV90IENvbGxlY3RTdGFja1RyYWNlKHZvaWQqKiB0cmFjZSwgc2l6ZV90IGNv dW50KSB7CisgICAvLyBOT1RFOiBUaGlzIGNvZGUgTVVTVCBiZSBhc3luYy1zaWduYWwgc2FmZSAo aXQncyB1c2VkIGJ5IGluLXByb2Nlc3MKKyAgIC8vIHN0YWNrIGR1bXBpbmcgc2lnbmFsIGhhbmRs ZXIpLiBOTyBtYWxsb2Mgb3Igc3RkaW8gaXMgYWxsb3dlZCBoZXJlLgorIAorLSNpZiAhZGVmaW5l ZChfX1VDTElCQ19fKSAmJiAhZGVmaW5lZChfQUlYKQorKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykg JiYgIWRlZmluZWQoX19VQ0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkKKyAgIC8vIFRob3VnaCB0 aGUgYmFja3RyYWNlIEFQSSBtYW4gcGFnZSBkb2VzIG5vdCBsaXN0IGFueSBwb3NzaWJsZSBuZWdh dGl2ZQorICAgLy8gcmV0dXJuIHZhbHVlcywgd2UgdGFrZSBubyBjaGFuY2UuCisgICByZXR1cm4g YmFzZTo6c2F0dXJhdGVkX2Nhc3Q8c2l6ZV90PihiYWNrdHJhY2UodHJhY2UsIGNvdW50KSk7CitA QCAtODQxLDEzICs4NDEsMTMgQEAgdm9pZCBTdGFja1RyYWNlOjpQcmludFdpdGhQcmVmaXgoY29u c3QgY2hhciogcHJlZml4X3N0cmluZykgY29uc3QgeworIC8vIE5PVEU6IFRoaXMgY29kZSBNVVNU IGJlIGFzeW5jLXNpZ25hbCBzYWZlIChpdCdzIHVzZWQgYnkgaW4tcHJvY2VzcworIC8vIHN0YWNr IGR1bXBpbmcgc2lnbmFsIGhhbmRsZXIpLiBOTyBtYWxsb2Mgb3Igc3RkaW8gaXMgYWxsb3dlZCBo ZXJlLgorIAorLSNpZiAhZGVmaW5lZChfX1VDTElCQ19fKSAmJiAhZGVmaW5lZChfQUlYKQorKyNp ZiBkZWZpbmVkKF9fR0xJQkNfXykgJiYgIWRlZmluZWQoX19VQ0xJQkNfXykgJiYgIWRlZmluZWQo X0FJWCkKKyAgIFByaW50QmFja3RyYWNlT3V0cHV0SGFuZGxlciBoYW5kbGVyOworICAgUHJvY2Vz c0JhY2t0cmFjZSh0cmFjZV8sIGNvdW50XywgcHJlZml4X3N0cmluZywgJmhhbmRsZXIpOworICNl bmRpZgorIH0KKyAKKy0jaWYgIWRlZmluZWQoX19VQ0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkK KysjaWYgZGVmaW5lZChfX0dMSUJDX18pICYmICFkZWZpbmVkKF9fVUNMSUJDX18pICYmICFkZWZp bmVkKF9BSVgpCisgdm9pZCBTdGFja1RyYWNlOjpPdXRwdXRUb1N0cmVhbVdpdGhQcmVmaXgoc3Rk Ojpvc3RyZWFtKiBvcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBjb25zdCBjaGFyKiBwcmVmaXhfc3RyaW5nKSBjb25zdCB7CisgICBTdHJlYW1CYWNrdHJhY2VP dXRwdXRIYW5kbGVyIGhhbmRsZXIob3MpOworZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L3N3aWZ0 c2hhZGVyL3RoaXJkX3BhcnR5L2xsdm0tc3ViemVyby9idWlsZC9MaW51eC9pbmNsdWRlL2xsdm0v Q29uZmlnL2NvbmZpZy5oIGIvdGhpcmRfcGFydHkvc3dpZnRzaGFkZXIvdGhpcmRfcGFydHkvbGx2 bS1zdWJ6ZXJvL2J1aWxkL0xpbnV4L2luY2x1ZGUvbGx2bS9Db25maWcvY29uZmlnLmgKK2luZGV4 IDc5OGYxNTAuLjk3YWNjN2MgMTAwNjQ0CistLS0gYS90aGlyZF9wYXJ0eS9zd2lmdHNoYWRlci90 aGlyZF9wYXJ0eS9sbHZtLXN1Ynplcm8vYnVpbGQvTGludXgvaW5jbHVkZS9sbHZtL0NvbmZpZy9j b25maWcuaAorKysrIGIvdGhpcmRfcGFydHkvc3dpZnRzaGFkZXIvdGhpcmRfcGFydHkvbGx2bS1z dWJ6ZXJvL2J1aWxkL0xpbnV4L2luY2x1ZGUvbGx2bS9Db25maWcvY29uZmlnLmgKK0BAIC0xNCw3 ICsxNCw3IEBACisgI2RlZmluZSBFTkFCTEVfQ1JBU0hfT1ZFUlJJREVTIDEKKyAKKyAvKiBEZWZp bmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGJhY2t0cmFjZScgZnVuY3Rpb24uICovCistI2RlZmlu ZSBIQVZFX0JBQ0tUUkFDRSAxCisrLyogI3VuZGVmIEhBVkVfQkFDS1RSQUNFICovCisgCisgLyog RGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxDcmFzaFJlcG9ydGVyQ2xpZW50Lmg+IGhlYWRl ciBmaWxlLiAqLworIC8qICN1bmRlZiBIQVZFX0NSQVNIUkVQT1JURVJDTElFTlRfSCAqLworQEAg LTU1LDcgKzU1LDcgQEAKKyAjZGVmaW5lIEhBVkVfRVJSTk9fSCAxCisgCisgLyogRGVmaW5lIHRv IDEgaWYgeW91IGhhdmUgdGhlIDxleGVjaW5mby5oPiBoZWFkZXIgZmlsZS4gKi8KKy0jZGVmaW5l IEhBVkVfRVhFQ0lORk9fSCAxCisrLyogI3VuZGVmIEhBVkVfRVhFQ0lORk9fSCAqLworIAorIC8q IERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8ZmNudGwuaD4gaGVhZGVyIGZpbGUuICovCisg I2RlZmluZSBIQVZFX0ZDTlRMX0ggMQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9lbGVjdHJvbjcvZmls ZXMvbXVzbC1wYXRjaGVzL2Nocm9taXVtLW11c2xfZnBzdGF0ZV90LnBhdGNoLnBhdGNoIGIvc3Jj cGtncy9lbGVjdHJvbjcvZmlsZXMvbXVzbC1wYXRjaGVzL2Nocm9taXVtLW11c2xfZnBzdGF0ZV90 LnBhdGNoLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5kOGM0 MWNjZDlhMAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL211c2wt cGF0Y2hlcy9jaHJvbWl1bS1tdXNsX2Zwc3RhdGVfdC5wYXRjaC5wYXRjaApAQCAtMCwwICsxLDQ4 IEBACitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVu dC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24vdWNvbnRleHRfcmVhZGVyLmNjIGIvdGhpcmRfcGFy dHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24v dWNvbnRleHRfcmVhZGVyLmNjCitpbmRleCA2ZWU2Y2MxLi5hOGY5Y2NjIDEwMDY0NAorLS0tIGEv dGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRl cl9jb21tb24vdWNvbnRleHRfcmVhZGVyLmNjCisrKysgYi90aGlyZF9wYXJ0eS9icmVha3BhZC9i cmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi91Y29udGV4dF9yZWFk ZXIuY2MKK0BAIC00OSw3ICs0OSw3IEBAIHVpbnRwdHJfdCBVQ29udGV4dFJlYWRlcjo6R2V0SW5z dHJ1Y3Rpb25Qb2ludGVyKGNvbnN0IHVjb250ZXh0X3QqIHVjKSB7CisgfQorIAorIHZvaWQgVUNv bnRleHRSZWFkZXI6OkZpbGxDUFVDb250ZXh0KFJhd0NvbnRleHRDUFUgKm91dCwgY29uc3QgdWNv bnRleHRfdCAqdWMsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg c3RydWN0IF9saWJjX2Zwc3RhdGUqIGZwKSB7CisrICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgY29uc3Qgc3RydWN0IF9mcHN0YXRlKiBmcCkgeworICAgY29uc3QgZ3JlZ190KiBy ZWdzID0gdWMtPnVjX21jb250ZXh0LmdyZWdzOworIAorICAgb3V0LT5jb250ZXh0X2ZsYWdzID0g TURfQ09OVEVYVF9YODZfRlVMTCB8CitAQCAtOTcsNyArOTcsNyBAQCB1aW50cHRyX3QgVUNvbnRl eHRSZWFkZXI6OkdldEluc3RydWN0aW9uUG9pbnRlcihjb25zdCB1Y29udGV4dF90KiB1Yykgewor IH0KKyAKKyB2b2lkIFVDb250ZXh0UmVhZGVyOjpGaWxsQ1BVQ29udGV4dChSYXdDb250ZXh0Q1BV ICpvdXQsIGNvbnN0IHVjb250ZXh0X3QgKnVjLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGNvbnN0IHN0cnVjdCBfbGliY19mcHN0YXRlKiBmcHJlZ3MpIHsKKysgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgX2Zwc3RhdGUqIGZwcmVn cykgeworICAgY29uc3QgZ3JlZ190KiByZWdzID0gdWMtPnVjX21jb250ZXh0LmdyZWdzOworIAor ICAgb3V0LT5jb250ZXh0X2ZsYWdzID0gTURfQ09OVEVYVF9BTUQ2NF9GVUxMOworZGlmZiAtLWdp dCBhL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvZHVtcF93 cml0ZXJfY29tbW9uL3Vjb250ZXh0X3JlYWRlci5oIGIvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJl YWtwYWQvc3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24vdWNvbnRleHRfcmVhZGVy LmgKK2luZGV4IGY4MzA2MTguLmYzZGRlMWYgMTAwNjQ0CistLS0gYS90aGlyZF9wYXJ0eS9icmVh a3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi91Y29udGV4 dF9yZWFkZXIuaAorKysrIGIvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVu dC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24vdWNvbnRleHRfcmVhZGVyLmgKK0BAIC01MCw3ICs1 MCw3IEBAIHN0cnVjdCBVQ29udGV4dFJlYWRlciB7CisgICAvLyAgIGluZm86IHRoZSBjb2xsZWN0 aW9uIG9mIHJlZ2lzdGVyIHN0cnVjdHVyZXMuCisgI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRl ZmluZWQoX194ODZfNjQpCisgICBzdGF0aWMgdm9pZCBGaWxsQ1BVQ29udGV4dChSYXdDb250ZXh0 Q1BVICpvdXQsIGNvbnN0IHVjb250ZXh0X3QgKnVjLAorLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgY29uc3Qgc3RydWN0IF9saWJjX2Zwc3RhdGUqIGZwKTsKKysgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBfZnBzdGF0ZSogZnApOworICNlbGlmIGRlZmluZWQo X19hYXJjaDY0X18pCisgICBzdGF0aWMgdm9pZCBGaWxsQ1BVQ29udGV4dChSYXdDb250ZXh0Q1BV ICpvdXQsIGNvbnN0IHVjb250ZXh0X3QgKnVjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgY29uc3Qgc3RydWN0IGZwc2ltZF9jb250ZXh0KiBmcHJlZ3MpOworZGlmZiAtLWdpdCBhL3Ro aXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3Jp dGVyL21pbmlkdW1wX3dyaXRlci5oIGIvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3Jj L2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbWluaWR1bXBfd3JpdGVyLmgKK2luZGV4IGQx ZGMzMzEuLmQxY2M1NjIgMTAwNjQ0CistLS0gYS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3Bh ZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9taW5pZHVtcF93cml0ZXIuaAorKysr IGIvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVt cF93cml0ZXIvbWluaWR1bXBfd3JpdGVyLmgKK0BAIC00OCw3ICs0OCw3IEBAIGNsYXNzIEV4Y2Vw dGlvbkhhbmRsZXI7CisgI2lmIGRlZmluZWQoX19hYXJjaDY0X18pCisgdHlwZWRlZiBzdHJ1Y3Qg ZnBzaW1kX2NvbnRleHQgZnBzdGF0ZV90OworICNlbGlmICFkZWZpbmVkKF9fQVJNX0VBQklfXykg JiYgIWRlZmluZWQoX19taXBzX18pCistdHlwZWRlZiBzdHJ1Y3QgX2xpYmNfZnBzdGF0ZSBmcHN0 YXRlX3Q7CisrdHlwZWRlZiBzdHJ1Y3QgX2Zwc3RhdGUgZnBzdGF0ZV90OworICNlbmRpZgorIAor IC8vIFRoZXNlIGVudHJpZXMgc3RvcmUgYSBsaXN0IG9mIG1lbW9yeSByZWdpb25zIHRoYXQgdGhl IGNsaWVudCB3YW50cyBpbmNsdWRlZApkaWZmIC0tZ2l0IGEvc3JjcGtncy9lbGVjdHJvbjcvZmls ZXMvbXVzbC1wYXRjaGVzL2Nocm9taXVtLW11c2xfZ2V0Y29udGV4dC5wYXRjaC5wYXRjaCBiL3Ny Y3BrZ3MvZWxlY3Ryb243L2ZpbGVzL211c2wtcGF0Y2hlcy9jaHJvbWl1bS1tdXNsX2dldGNvbnRl eHQucGF0Y2gucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjc2 OTcyNDNhOTEwCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvbXVz bC1wYXRjaGVzL2Nocm9taXVtLW11c2xfZ2V0Y29udGV4dC5wYXRjaC5wYXRjaApAQCAtMCwwICsx LDI1IEBACitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2Ns aWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVyLmNjIGIvdGhpcmRfcGFydHkvYnJl YWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVy LmNjCitpbmRleCBiODk1ZjZkLi40ZjEzMzUyIDEwMDY0NAorLS0tIGEvdGhpcmRfcGFydHkvYnJl YWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVy LmNjCisrKysgYi90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4 L2hhbmRsZXIvZXhjZXB0aW9uX2hhbmRsZXIuY2MKK0BAIC00OTAsNyArNDkwLDkgQEAgYm9vbCBF eGNlcHRpb25IYW5kbGVyOjpTaW11bGF0ZVNpZ25hbERlbGl2ZXJ5KGludCBzaWcpIHsKKyAgIHNp Z2luZm8uc2lfY29kZSA9IFNJX1VTRVI7CisgICBzaWdpbmZvLnNpX3BpZCA9IGdldHBpZCgpOwor ICAgdWNvbnRleHRfdCBjb250ZXh0OworKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykKKyAgIGdldGNv bnRleHQoJmNvbnRleHQpOworKyNlbmRpZgorICAgcmV0dXJuIEhhbmRsZVNpZ25hbChzaWcsICZz aWdpbmZvLCAmY29udGV4dCk7CisgfQorIAorQEAgLTY3NSw4ICs2NzcsMTAgQEAgYm9vbCBFeGNl cHRpb25IYW5kbGVyOjpXcml0ZU1pbmlkdW1wKCkgeworICAgc3lzX3ByY3RsKFBSX1NFVF9EVU1Q QUJMRSwgMSwgMCwgMCwgMCk7CisgCisgICBDcmFzaENvbnRleHQgY29udGV4dDsKKysjaWYgZGVm aW5lZChfX0dMSUJDX18pCisgICBpbnQgZ2V0Y29udGV4dF9yZXN1bHQgPSBnZXRjb250ZXh0KCZj b250ZXh0LmNvbnRleHQpOworICAgaWYgKGdldGNvbnRleHRfcmVzdWx0KQorKyNlbmRpZgorICAg ICByZXR1cm4gZmFsc2U7CisgCisgI2lmIGRlZmluZWQoX19pMzg2X18pCmRpZmYgLS1naXQgYS9z cmNwa2dzL2VsZWN0cm9uNy9maWxlcy9tdXNsLXBhdGNoZXMvY2hyb21pdW0tbXVzbF9tYWxsaW5m by5wYXRjaC5wYXRjaCBiL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL211c2wtcGF0Y2hlcy9jaHJv bWl1bS1tdXNsX21hbGxpbmZvLnBhdGNoLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAwMDAwLi45NDEzMTNlNDkzOQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvZWxl Y3Ryb243L2ZpbGVzL211c2wtcGF0Y2hlcy9jaHJvbWl1bS1tdXNsX21hbGxpbmZvLnBhdGNoLnBh dGNoCkBAIC0wLDAgKzEsNjEgQEAKK2RpZmYgLS1naXQgYS9iYXNlL3Byb2Nlc3MvcHJvY2Vzc19t ZXRyaWNzX3Bvc2l4LmNjIGIvYmFzZS9wcm9jZXNzL3Byb2Nlc3NfbWV0cmljc19wb3NpeC5jYwor aW5kZXggMDQ0YmQ4ZC4uMDUyMTMyMSAxMDA2NDQKKy0tLSBhL2Jhc2UvcHJvY2Vzcy9wcm9jZXNz X21ldHJpY3NfcG9zaXguY2MKKysrKyBiL2Jhc2UvcHJvY2Vzcy9wcm9jZXNzX21ldHJpY3NfcG9z aXguY2MKK0BAIC0xMTAsMTQgKzExMCwxNCBAQCBzaXplX3QgUHJvY2Vzc01ldHJpY3M6OkdldE1h bGxvY1VzYWdlKCkgeworICAgbWFsbG9jX3N0YXRpc3RpY3NfdCBzdGF0cyA9IHswfTsKKyAgIG1h bGxvY196b25lX3N0YXRpc3RpY3MobnVsbHB0ciwgJnN0YXRzKTsKKyAgIHJldHVybiBzdGF0cy5z aXplX2luX3VzZTsKKy0jZWxpZiBkZWZpbmVkKE9TX0xJTlVYKSB8fCBkZWZpbmVkKE9TX0FORFJP SUQpCisrI2VsaWYgKGRlZmluZWQoT1NfTElOVVgpICYmIGRlZmluZWQoX19HTElCQ19fKSkgfHwg ZGVmaW5lZChPU19BTkRST0lEKQorICAgc3RydWN0IG1hbGxpbmZvIG1pbmZvID0gbWFsbGluZm8o KTsKKyAjaWYgQlVJTERGTEFHKFVTRV9UQ01BTExPQykKKyAgIHJldHVybiBtaW5mby51b3JkYmxr czsKKyAjZWxzZQorICAgcmV0dXJuIG1pbmZvLmhibGtoZCArIG1pbmZvLmFyZW5hOworICNlbmRp ZgorLSNlbGlmIGRlZmluZWQoT1NfRlVDSFNJQSkKKysjZWxzZQorICAgLy8gVE9ETyhmdWNoc2lh KTogTm90IGN1cnJlbnRseSBleHBvc2VkLiBodHRwczovL2NyYnVnLmNvbS83MzUwODcuCisgICBy ZXR1cm4gMDsKKyAjZW5kaWYKK2RpZmYgLS1naXQgYS9iYXNlL3RyYWNlX2V2ZW50L21hbGxvY19k dW1wX3Byb3ZpZGVyLmNjIGIvYmFzZS90cmFjZV9ldmVudC9tYWxsb2NfZHVtcF9wcm92aWRlci5j YworaW5kZXggZTg5NTk3Yy4uZWNhMjU4YyAxMDA2NDQKKy0tLSBhL2Jhc2UvdHJhY2VfZXZlbnQv bWFsbG9jX2R1bXBfcHJvdmlkZXIuY2MKKysrKyBiL2Jhc2UvdHJhY2VfZXZlbnQvbWFsbG9jX2R1 bXBfcHJvdmlkZXIuY2MKK0BAIC0xMzIsNyArMTMyLDcgQEAgYm9vbCBNYWxsb2NEdW1wUHJvdmlk ZXI6Ok9uTWVtb3J5RHVtcChjb25zdCBNZW1vcnlEdW1wQXJncyYgYXJncywKKyAgIH0KKyAjZWxp ZiBkZWZpbmVkKE9TX0ZVQ0hTSUEpCisgLy8gVE9ETyhmdWNoc2lhKTogUG9ydCwgc2VlIGh0dHBz Oi8vY3JidWcuY29tLzcwNjU5Mi4KKy0jZWxzZQorKyNlbGlmIGRlZmluZWQoT1NfTElOVVgpICYm IGRlZmluZWQoX19HTElCQ19fKQorICAgc3RydWN0IG1hbGxpbmZvIGluZm8gPSBtYWxsaW5mbygp OworICAgRENIRUNLX0dFKGluZm8uYXJlbmEgKyBpbmZvLmhibGtoZCwgaW5mby51b3JkYmxrcyk7 CisgCitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvc3dpZnRzaGFkZXIvdGhpcmRfcGFydHkvbGx2 bS1zdWJ6ZXJvL2J1aWxkL0xpbnV4L2luY2x1ZGUvbGx2bS9Db25maWcvY29uZmlnLmggYi90aGly ZF9wYXJ0eS9zd2lmdHNoYWRlci90aGlyZF9wYXJ0eS9sbHZtLXN1Ynplcm8vYnVpbGQvTGludXgv aW5jbHVkZS9sbHZtL0NvbmZpZy9jb25maWcuaAoraW5kZXggYWE5ODI0Mi4uOTdhY2M3YyAxMDA2 NDQKKy0tLSBhL3RoaXJkX3BhcnR5L3N3aWZ0c2hhZGVyL3RoaXJkX3BhcnR5L2xsdm0tc3ViemVy by9idWlsZC9MaW51eC9pbmNsdWRlL2xsdm0vQ29uZmlnL2NvbmZpZy5oCisrKysgYi90aGlyZF9w YXJ0eS9zd2lmdHNoYWRlci90aGlyZF9wYXJ0eS9sbHZtLXN1Ynplcm8vYnVpbGQvTGludXgvaW5j bHVkZS9sbHZtL0NvbmZpZy9jb25maWcuaAorQEAgLTEzMCw3ICsxMzAsNyBAQAorIC8qICN1bmRl ZiBIQVZFX01BTExDVEwgKi8KKyAKKyAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYG1h bGxpbmZvJyBmdW5jdGlvbi4gKi8KKy0jZGVmaW5lIEhBVkVfTUFMTElORk8gMQorKy8qICN1bmRl ZiBIQVZFX01BTExJTkZPICovCisgCisgLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxt YWxsb2MuaD4gaGVhZGVyIGZpbGUuICovCisgI2RlZmluZSBIQVZFX01BTExPQ19IIDEKK2RpZmYg LS1naXQgYS90aGlyZF9wYXJ0eS9zd2lmdHNoYWRlci90aGlyZF9wYXJ0eS9sbHZtLTcuMC9jb25m aWdzL2xpbnV4L2luY2x1ZGUvbGx2bS9Db25maWcvY29uZmlnLmggYi90aGlyZF9wYXJ0eS9zd2lm dHNoYWRlci90aGlyZF9wYXJ0eS9sbHZtLTcuMC9jb25maWdzL2xpbnV4L2luY2x1ZGUvbGx2bS9D b25maWcvY29uZmlnLmgKK2luZGV4IDZlMTcwMjAuLmQ0YTllZDAgMTAwNjQ0CistLS0gYS90aGly ZF9wYXJ0eS9zd2lmdHNoYWRlci90aGlyZF9wYXJ0eS9sbHZtLTcuMC9jb25maWdzL2xpbnV4L2lu Y2x1ZGUvbGx2bS9Db25maWcvY29uZmlnLmgKKysrKyBiL3RoaXJkX3BhcnR5L3N3aWZ0c2hhZGVy L3RoaXJkX3BhcnR5L2xsdm0tNy4wL2NvbmZpZ3MvbGludXgvaW5jbHVkZS9sbHZtL0NvbmZpZy9j b25maWcuaAorQEAgLTEyMiw3ICsxMjIsNyBAQAorIC8qICN1bmRlZiBIQVZFX01BTExDVEwgKi8K KworIC8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgbWFsbGluZm8nIGZ1bmN0aW9uLiAq LworLSNkZWZpbmUgSEFWRV9NQUxMSU5GTyAxCisrLyogI3VuZGVmIEhBVkVfTUFMTElORk8gKi8K KworIC8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8bWFsbG9jLmg+IGhlYWRlciBmaWxl LiAqLworICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCisKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZWxl Y3Ryb243L2ZpbGVzL211c2wtcGF0Y2hlcy9jaHJvbWl1bS1tdXNsX3ByZWFkX3B3cml0ZTY0LnBh dGNoLnBhdGNoIGIvc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvbXVzbC1wYXRjaGVzL2Nocm9taXVt LW11c2xfcHJlYWRfcHdyaXRlNjQucGF0Y2gucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMDAwMDAuLjJhZWFhZWI3NTkzCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9l bGVjdHJvbjcvZmlsZXMvbXVzbC1wYXRjaGVzL2Nocm9taXVtLW11c2xfcHJlYWRfcHdyaXRlNjQu cGF0Y2gucGF0Y2gKQEAgLTAsMCArMSwxOCBAQAorZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2xz cy9saW51eF9zeXNjYWxsX3N1cHBvcnQuaCBiL3RoaXJkX3BhcnR5L2xzcy9saW51eF9zeXNjYWxs X3N1cHBvcnQuaAoraW5kZXggNWQ5YzJlOC4uMjY4MjM0OSAxMDA2NDQKKy0tLSBhL3RoaXJkX3Bh cnR5L2xzcy9saW51eF9zeXNjYWxsX3N1cHBvcnQuaAorKysrIGIvdGhpcmRfcGFydHkvbHNzL2xp bnV4X3N5c2NhbGxfc3VwcG9ydC5oCitAQCAtMTY2LDYgKzE2NiwxMyBAQCBleHRlcm4gIkMiIHsK KyAjIHVuZGVmIF9fTlJfd2FpdHBpZAorICNlbmRpZgorIAorKyNpZmRlZiBwcmVhZDY0CisrI3Vu ZGVmIHByZWFkNjQKKysjZW5kaWYKKysjaWZkZWYgcHdyaXRlNjQKKysjdW5kZWYgcHdyaXRlNjQK KysjZW5kaWYKKysKKyAvKiBBcyBnbGliYyBvZnRlbiBwcm92aWRlcyBzdWJ0bHkgaW5jb21wYXRp YmxlIGRhdGEgc3RydWN0dXJlcyAoYW5kIGltcGxpY2l0CisgICogd3JhcHBlciBmdW5jdGlvbnMg dGhhdCBjb252ZXJ0IHRoZW0pLCB3ZSBwcm92aWRlIG91ciBvd24ga2VybmVsIGRhdGEKKyAgKiBz dHJ1Y3R1cmVzIGZvciB1c2UgYnkgdGhlIHN5c3RlbSBjYWxscy4KZGlmZiAtLWdpdCBhL3NyY3Br Z3MvZWxlY3Ryb243L2ZpbGVzL211c2wtcGF0Y2hlcy9jaHJvbWl1bS1tdXNsX3B1c2hfYmFjay5w YXRjaC5wYXRjaCBiL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL211c2wtcGF0Y2hlcy9jaHJvbWl1 bS1tdXNsX3B1c2hfYmFjay5wYXRjaC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwMC4uY2ZmMzQwMjg3ZGEKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2VsZWN0 cm9uNy9maWxlcy9tdXNsLXBhdGNoZXMvY2hyb21pdW0tbXVzbF9wdXNoX2JhY2sucGF0Y2gucGF0 Y2gKQEAgLTAsMCArMSwxMyBAQAorZGlmZiAtLWdpdCBhL25ldC9zb2NrZXQvdWRwX3NvY2tldF9w b3NpeC5jYyBiL25ldC9zb2NrZXQvdWRwX3NvY2tldF9wb3NpeC5jYworaW5kZXggMDhiZjc5Yy4u M2VlNTM1MyAxMDA2NDQKKy0tLSBhL25ldC9zb2NrZXQvdWRwX3NvY2tldF9wb3NpeC5jYworKysr IGIvbmV0L3NvY2tldC91ZHBfc29ja2V0X3Bvc2l4LmNjCitAQCAtMTE5NCw3ICsxMTk0LDcgQEAg U2VuZFJlc3VsdCBVRFBTb2NrZXRQb3NpeFNlbmRlcjo6SW50ZXJuYWxTZW5kbW1zZ0J1ZmZlcnMo CisgICAgIG1zZ19pb3YtPnB1c2hfYmFjayh7Y29uc3RfY2FzdDxjaGFyKj4oYnVmZmVyLT5kYXRh KCkpLCBidWZmZXItPmxlbmd0aCgpfSk7CisgICBtc2d2ZWMtPnJlc2VydmUoYnVmZmVycy5zaXpl KCkpOworICAgZm9yIChzaXplX3QgaiA9IDA7IGogPCBidWZmZXJzLnNpemUoKTsgaisrKQorLSAg ICBtc2d2ZWMtPnB1c2hfYmFjayh7e251bGxwdHIsIDAsICZtc2dfaW92W2pdLCAxLCBudWxscHRy LCAwLCAwfSwgMH0pOworKyAgICBtc2d2ZWMtPnB1c2hfYmFjayh7e251bGxwdHIsIDAsICZtc2df aW92W2pdLCAxLCAwLCBudWxscHRyLCAwLCAwLCAwfSwgMH0pOworICAgaW50IHJlc3VsdCA9IEhB TkRMRV9FSU5UUihTZW5kbW1zZyhmZCwgJm1zZ3ZlY1swXSwgYnVmZmVycy5zaXplKCksIDApKTsK KyAgIFNlbmRSZXN1bHQgc2VuZF9yZXN1bHQoMCwgMCwgc3RkOjptb3ZlKGJ1ZmZlcnMpKTsKKyAg IGlmIChyZXN1bHQgPCAwKSB7CmRpZmYgLS1naXQgYS9zcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9t dXNsLXBhdGNoZXMvY2hyb21pdW0tbXVzbF9zaV9maWVsZHMucGF0Y2gucGF0Y2ggYi9zcmNwa2dz L2VsZWN0cm9uNy9maWxlcy9tdXNsLXBhdGNoZXMvY2hyb21pdW0tbXVzbF9zaV9maWVsZHMucGF0 Y2gucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmZkYmVmZDI3 ZTJiCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvbXVzbC1wYXRj aGVzL2Nocm9taXVtLW11c2xfc2lfZmllbGRzLnBhdGNoLnBhdGNoCkBAIC0wLDAgKzEsMTMgQEAK K2RpZmYgLS1naXQgYS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmL3RyYXAuY2MgYi9zYW5kYm94 L2xpbnV4L3NlY2NvbXAtYnBmL3RyYXAuY2MKK2luZGV4IDAwMzcwOGQuLmIyMTQxNGYgMTAwNjQ0 CistLS0gYS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmL3RyYXAuY2MKKysrKyBiL3NhbmRib3gv bGludXgvc2VjY29tcC1icGYvdHJhcC5jYworQEAgLTE2OCw3ICsxNjgsNyBAQCB2b2lkIFRyYXA6 OlNpZ1N5cyhpbnQgbnIsIExpbnV4U2lnSW5mbyogaW5mbywgdWNvbnRleHRfdCogY3R4KSB7Cisg ICAvLyBtb3N0IHZlcnNpb25zIG9mIGdsaWJjIGRvbid0IGluY2x1ZGUgdGhpcyBpbmZvcm1hdGlv biBpbiBzaWdpbmZvX3QuIFNvLAorICAgLy8gd2UgbmVlZCB0byBleHBsaWNpdGx5IGNvcHkgaXQg aW50byBhIGFyY2hfc2lnc3lzIHN0cnVjdHVyZS4KKyAgIHN0cnVjdCBhcmNoX3NpZ3N5cyBzaWdz eXM7CistICBtZW1jcHkoJnNpZ3N5cywgJmluZm8tPl9zaWZpZWxkcywgc2l6ZW9mKHNpZ3N5cykp OworKyAgbWVtY3B5KCZzaWdzeXMsICZpbmZvLT5fX3NpX2ZpZWxkcywgc2l6ZW9mKHNpZ3N5cykp OworIAorICNpZiBkZWZpbmVkKF9fbWlwc19fKQorICAgLy8gV2hlbiBpbmRpcmVjdCBzeXNjYWxs IChzeXNjYWxsKF9fTlJfZm9vLCAuLi4pKSBpcyBtYWRlIG9uIE1pcHMsIHRoZQpkaWZmIC0tZ2l0 IGEvc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvbXVzbC1wYXRjaGVzL2Nocm9taXVtLW11c2xfc3Rh Y2tfc2l6ZS5wYXRjaC5wYXRjaCBiL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL211c2wtcGF0Y2hl cy9jaHJvbWl1bS1tdXNsX3N0YWNrX3NpemUucGF0Y2gucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAwMDAuLmE0ZGY3YTM3MjliCi0tLSAvZGV2L251bGwKKysrIGIvc3Jj cGtncy9lbGVjdHJvbjcvZmlsZXMvbXVzbC1wYXRjaGVzL2Nocm9taXVtLW11c2xfc3RhY2tfc2l6 ZS5wYXRjaC5wYXRjaApAQCAtMCwwICsxLDQxIEBACitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkv YmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vd3RmL3N0YWNrX3V0aWwuY2MgYi90aGlyZF9wYXJ0eS9i bGluay9yZW5kZXJlci9wbGF0Zm9ybS93dGYvc3RhY2tfdXRpbC5jYworaW5kZXggYjI0MjE2NC4u MWEwYjUxOSAxMDA2NDQKKy0tLSBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3Jt L3d0Zi9zdGFja191dGlsLmNjCisrKysgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0 Zm9ybS93dGYvc3RhY2tfdXRpbC5jYworQEAgLTI5LDcgKzI5LDcgQEAgc2l6ZV90IEdldFVuZGVy ZXN0aW1hdGVkU3RhY2tTaXplKCkgeworIC8vIEZJWE1FOiBPbiBNYWMgT1NYIGFuZCBMaW51eCwg dGhpcyBtZXRob2QgY2Fubm90IGVzdGltYXRlIHN0YWNrIHNpemUKKyAvLyBjb3JyZWN0bHkgZm9y IHRoZSBtYWluIHRocmVhZC4KKyAKKy0jaWYgZGVmaW5lZChfX0dMSUJDX18pIHx8IGRlZmluZWQo T1NfQU5EUk9JRCkgfHwgZGVmaW5lZChPU19GUkVFQlNEKSB8fCBcCisrI2lmIGRlZmluZWQoT1Nf TElOVVgpIHx8IGRlZmluZWQoT1NfQU5EUk9JRCkgfHwgZGVmaW5lZChPU19GUkVFQlNEKSB8fCBc CisgICAgIGRlZmluZWQoT1NfRlVDSFNJQSkKKyAgIC8vIHB0aHJlYWRfZ2V0YXR0cl9ucCgpIGNh biBmYWlsIGlmIHRoZSB0aHJlYWQgaXMgbm90IGludm9rZWQgYnkKKyAgIC8vIHB0aHJlYWRfY3Jl YXRlKCkgKGUuZy4sIHRoZSBtYWluIHRocmVhZCBvZiBibGlua191bml0dGVzdHMpLgorQEAgLTU1 LDYgKzU1LDkgQEAgc2l6ZV90IEdldFVuZGVyZXN0aW1hdGVkU3RhY2tTaXplKCkgeworICAgcHRo cmVhZF9hdHRyX2Rlc3Ryb3koJmF0dHIpOworICNlbmRpZgorIAorKyNpZiBkZWZpbmVkKE9TX0xJ TlVYKSAmJiAhZGVmaW5lZChfX0dMSUJDX18pCisrICByZXR1cm4gMDsKKysjZWxzZQorICAgLy8g UmV0dXJuIGEgNTEyayBzdGFjayBzaXplLCAoY29uc2VydmF0aXZlbHkpIGFzc3VtaW5nIHRoZSBm b2xsb3dpbmc6CisgICAvLyAgLSB0aGF0IHNpemUgaXMgbXVjaCBsb3dlciB0aGFuIHRoZSBwdGhy ZWFkcyBkZWZhdWx0ICh4ODYgcHRocmVhZHMgaGFzIGEgMk0KKyAgIC8vICAgIGRlZmF1bHQuKQor QEAgLTYyLDYgKzY1LDggQEAgc2l6ZV90IEdldFVuZGVyZXN0aW1hdGVkU3RhY2tTaXplKCkgewor ICAgLy8gICAgbG93IGFzIDUxMmsuCisgICAvLworICAgcmV0dXJuIDUxMiAqIDEwMjQ7CisrI2Vu ZGlmCisrCisgI2VsaWYgZGVmaW5lZChPU19NQUNPU1gpCisgICAvLyBwdGhyZWFkX2dldF9zdGFj a3NpemVfbnAoKSByZXR1cm5zIHRvbyBsb3cgYSB2YWx1ZSBmb3IgdGhlIG1haW4gdGhyZWFkIG9u CisgICAvLyBPU1ggMTAuOSwKK0BAIC05Nyw3ICsxMDIsNyBAQCByZXR1cm4gVGhyZWFkaW5nOjpU aHJlYWRTdGFja1NpemUoKTsKKyB9CisgCisgdm9pZCogR2V0U3RhY2tTdGFydCgpIHsKKy0jaWYg ZGVmaW5lZChfX0dMSUJDX18pIHx8IGRlZmluZWQoT1NfQU5EUk9JRCkgfHwgZGVmaW5lZChPU19G UkVFQlNEKSB8fCBcCisrI2lmIGRlZmluZWQoT1NfTElOVVgpIHx8IGRlZmluZWQoT1NfQU5EUk9J RCkgfHwgZGVmaW5lZChPU19GUkVFQlNEKSB8fCBcCisgICAgIGRlZmluZWQoT1NfRlVDSFNJQSkK KyAgIHB0aHJlYWRfYXR0cl90IGF0dHI7CisgICBpbnQgZXJyb3I7CmRpZmYgLS1naXQgYS9zcmNw a2dzL2VsZWN0cm9uNy9maWxlcy9tdXNsLXBhdGNoZXMvY2hyb21pdW0tbXVzbF9zdGFja190cmFj ZS5wYXRjaC5wYXRjaCBiL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL211c2wtcGF0Y2hlcy9jaHJv bWl1bS1tdXNsX3N0YWNrX3RyYWNlLnBhdGNoLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAwLi45YTFmMmIwNDQ1OAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3Mv ZWxlY3Ryb243L2ZpbGVzL211c2wtcGF0Y2hlcy9jaHJvbWl1bS1tdXNsX3N0YWNrX3RyYWNlLnBh dGNoLnBhdGNoCkBAIC0wLDAgKzEsNDQgQEAKK2RpZmYgLS1naXQgYS9iYXNlL2RlYnVnL3N0YWNr X3RyYWNlLmNjIGIvYmFzZS9kZWJ1Zy9zdGFja190cmFjZS5jYworaW5kZXggZDhjYTgyMi4uZmZl MWYwOCAxMDA2NDQKKy0tLSBhL2Jhc2UvZGVidWcvc3RhY2tfdHJhY2UuY2MKKysrKyBiL2Jhc2Uv ZGVidWcvc3RhY2tfdHJhY2UuY2MKK0BAIC0yMjUsNyArMjI1LDkgQEAgdm9pZCBTdGFja1RyYWNl OjpQcmludCgpIGNvbnN0IHsKKyB9CisKKyB2b2lkIFN0YWNrVHJhY2U6Ok91dHB1dFRvU3RyZWFt KHN0ZDo6b3N0cmVhbSogb3MpIGNvbnN0IHsKKysjaWYgZGVmaW5lZChfX0dMSUJDX18pICYmICFk ZWZpbmVkKF9fVUNMSUJDX18pICYmICFkZWZpbmVkKF9BSVgpCisgICBPdXRwdXRUb1N0cmVhbVdp dGhQcmVmaXgob3MsIG51bGxwdHIpOworKyNlbmRpZgorIH0KKworIHN0ZDo6c3RyaW5nIFN0YWNr VHJhY2U6OlRvU3RyaW5nKCkgY29uc3QgeworQEAgLTIzMywxNCArMjMzLDE0IEBAIHN0ZDo6c3Ry aW5nIFN0YWNrVHJhY2U6OlRvU3RyaW5nKCkgY29uc3QgeworIH0KKyBzdGQ6OnN0cmluZyBTdGFj a1RyYWNlOjpUb1N0cmluZ1dpdGhQcmVmaXgoY29uc3QgY2hhciogcHJlZml4X3N0cmluZykgY29u c3QgeworICAgc3RkOjpzdHJpbmdzdHJlYW0gc3RyZWFtOworLSNpZiAhZGVmaW5lZChfX1VDTElC Q19fKSAmJiAhZGVmaW5lZChfQUlYKQorKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykgJiYgIWRlZmlu ZWQoX19VQ0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkKKyAgIE91dHB1dFRvU3RyZWFtV2l0aFBy ZWZpeCgmc3RyZWFtLCBwcmVmaXhfc3RyaW5nKTsKKyAjZW5kaWYKKyAgIHJldHVybiBzdHJlYW0u c3RyKCk7CisgfQorIAorIHN0ZDo6b3N0cmVhbSYgb3BlcmF0b3I8PChzdGQ6Om9zdHJlYW0mIG9z LCBjb25zdCBTdGFja1RyYWNlJiBzKSB7CistI2lmICFkZWZpbmVkKF9fVUNMSUJDX18pICYgIWRl ZmluZWQoX0FJWCkKKysjaWYgZGVmaW5lZChfX0dMSUJDX18pICYmICFkZWZpbmVkKF9fVUNMSUJD X18pICYgIWRlZmluZWQoX0FJWCkKKyAgIHMuT3V0cHV0VG9TdHJlYW0oJm9zKTsKKyAjZWxzZQor ICAgb3MgPDwgIlN0YWNrVHJhY2U6Ok91dHB1dFRvU3RyZWFtIG5vdCBpbXBsZW1lbnRlZC4iOwor ZGlmZiAtLWdpdCBhL2Jhc2UvbG9nZ2luZy5jYyBiL2Jhc2UvbG9nZ2luZy5jYworaW5kZXggMzZi OGJmYy4uZGQ4MzBmZSAxMDA2NDQKKy0tLSBhL2Jhc2UvbG9nZ2luZy5jYworKysrIGIvYmFzZS9s b2dnaW5nLmNjCitAQCAtNjA3LDcgKzYwNyw3IEBAIExvZ01lc3NhZ2U6OkxvZ01lc3NhZ2UoY29u c3QgY2hhciogZmlsZSwgaW50IGxpbmUsIExvZ1NldmVyaXR5IHNldmVyaXR5LAorIExvZ01lc3Nh Z2U6On5Mb2dNZXNzYWdlKCkgeworICAgc2l6ZV90IHN0YWNrX3N0YXJ0ID0gc3RyZWFtXy50ZWxs cCgpOworICNpZiAhZGVmaW5lZChPRkZJQ0lBTF9CVUlMRCkgJiYgIWRlZmluZWQoT1NfTkFDTCkg JiYgIWRlZmluZWQoX19VQ0xJQkNfXykgJiYgXAorLSAgICAhZGVmaW5lZChPU19BSVgpCisrICAg ICFkZWZpbmVkKE9TX0FJWCkgJiYgZGVmaW5lZChfX0dMSUJDX18pCisgICBpZiAoc2V2ZXJpdHlf ID09IExPR19GQVRBTCAmJiAhYmFzZTo6ZGVidWc6OkJlaW5nRGVidWdnZWQoKSkgeworICAgICAv LyBJbmNsdWRlIGEgc3RhY2sgdHJhY2Ugb24gYSBmYXRhbCwgdW5sZXNzIGEgZGVidWdnZXIgaXMg YXR0YWNoZWQuCisgICAgIGJhc2U6OmRlYnVnOjpTdGFja1RyYWNlIHN0YWNrX3RyYWNlOwpkaWZm IC0tZ2l0IGEvc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvbXVzbC1wYXRjaGVzL2Nocm9taXVtLW11 c2xfdGNwX2xpc3Rlbi5wYXRjaC5wYXRjaCBiL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL211c2wt cGF0Y2hlcy9jaHJvbWl1bS1tdXNsX3RjcF9saXN0ZW4ucGF0Y2gucGF0Y2gKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmZhNjIzMTdiMTFhCi0tLSAvZGV2L251bGwKKysr IGIvc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvbXVzbC1wYXRjaGVzL2Nocm9taXVtLW11c2xfdGNw X2xpc3Rlbi5wYXRjaC5wYXRjaApAQCAtMCwwICsxLDE0IEBACitkaWZmIC0tZ2l0IGEvY29udGVu dC9wdWJsaWMvY29tbW9uL3NvY2tldF9wZXJtaXNzaW9uX3JlcXVlc3QuaCBiL2NvbnRlbnQvcHVi bGljL2NvbW1vbi9zb2NrZXRfcGVybWlzc2lvbl9yZXF1ZXN0LmgKK2luZGV4IDczMTY2MjEuLjYx NzEyMTkgMTAwNjQ0CistLS0gYS9jb250ZW50L3B1YmxpYy9jb21tb24vc29ja2V0X3Blcm1pc3Np b25fcmVxdWVzdC5oCisrKysgYi9jb250ZW50L3B1YmxpYy9jb21tb24vc29ja2V0X3Blcm1pc3Np b25fcmVxdWVzdC5oCitAQCAtOSw2ICs5LDkgQEAKKyAKKyAjaW5jbHVkZSA8c3RyaW5nPgorIAor KyNpZmRlZiBUQ1BfTElTVEVOCisrI3VuZGVmIFRDUF9MSVNURU4KKysjZW5kaWYKKyAKKyBuYW1l c3BhY2UgY29udGVudCB7CisgCmRpZmYgLS1naXQgYS9zcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9t dXNsLXBhdGNoZXMvY2hyb21pdW0tbXVzbF93b3Jkc2l6ZS5wYXRjaC5wYXRjaCBiL3NyY3BrZ3Mv ZWxlY3Ryb243L2ZpbGVzL211c2wtcGF0Y2hlcy9jaHJvbWl1bS1tdXNsX3dvcmRzaXplLnBhdGNo LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi42MjA4Y2ZmYWZi ZQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL211c2wtcGF0Y2hl cy9jaHJvbWl1bS1tdXNsX3dvcmRzaXplLnBhdGNoLnBhdGNoCkBAIC0wLDAgKzEsMjQgQEAKK2Rp ZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY29tbW9uL2xpbnV4 L2VsZl9jb3JlX2R1bXAuaCBiL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jb21t b24vbGludXgvZWxmX2NvcmVfZHVtcC5oCitpbmRleCBkMDNjN2E4Li43OGNhOWRkIDEwMDY0NAor LS0tIGEvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NvbW1vbi9saW51eC9lbGZf Y29yZV9kdW1wLmgKKysrKyBiL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jb21t b24vbGludXgvZWxmX2NvcmVfZHVtcC5oCitAQCAtMzYsNiArMzYsNyBAQAorICNpbmNsdWRlIDxl bGYuaD4KKyAjaW5jbHVkZSA8bGluay5oPgorICNpbmNsdWRlIDxzdGRkZWYuaD4KKysjaW5jbHVk ZSA8bGltaXRzLmg+CisgCisgI2luY2x1ZGUgImNvbW1vbi9tZW1vcnlfcmFuZ2UuaCIKKyAKK0BA IC01MSw5ICs1Miw5IEBAIGNsYXNzIEVsZkNvcmVEdW1wIHsKKyAgIHR5cGVkZWYgRWxmVyhQaGRy KSBQaGRyOworICAgdHlwZWRlZiBFbGZXKFdvcmQpIFdvcmQ7CisgICB0eXBlZGVmIEVsZlcoQWRk cikgQWRkcjsKKy0jaWYgX19XT1JEU0laRSA9PSAzMgorKyNpZiBVTE9OR19NQVggPT0gMHhmZmZm ZmZmZgorICAgc3RhdGljIGNvbnN0IGludCBrQ2xhc3MgPSBFTEZDTEFTUzMyOworLSNlbGlmIF9f V09SRFNJWkUgPT0gNjQKKysjZWxpZiBVTE9OR19NQVggPT0gMHhmZmZmZmZmZmZmZmZmZmZmCisg ICBzdGF0aWMgY29uc3QgaW50IGtDbGFzcyA9IEVMRkNMQVNTNjQ7CisgI2Vsc2UKKyAjZXJyb3Ig IlVuc3VwcG9ydGVkIF9fV09SRFNJWkUgZm9yIEVsZkNvcmVEdW1wLiIKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvZWxlY3Ryb243L2ZpbGVzL3BhdGNoZXMvY2hyb21pdW0tMDAxLXVwc3RyZWFtX2Nocm9t ZV9jbGVhbmVyLnBhdGNoLnBhdGNoIGIvc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvcGF0Y2hlcy9j aHJvbWl1bS0wMDEtdXBzdHJlYW1fY2hyb21lX2NsZWFuZXIucGF0Y2gucGF0Y2gKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjU3ZTk0MTgwYzU5Ci0tLSAvZGV2L251bGwK KysrIGIvc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvcGF0Y2hlcy9jaHJvbWl1bS0wMDEtdXBzdHJl YW1fY2hyb21lX2NsZWFuZXIucGF0Y2gucGF0Y2gKQEAgLTAsMCArMSw3MyBAQAorRnJvbSBjNzU1 ZWM4NDc0NTlkOWQzODA3YzIyYzJkNGQ2YWE2ZjljODZkYzdjIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQorRnJvbTogSm9obiBCdWRvcmljayA8amJ1ZG9yaWNrQGNocm9taXVtLm9yZz4KK0RhdGU6 IFR1ZSwgMTkgTm92IDIwMTkgMjI6MjQ6MjAgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gMzkwNDog Y2hyb21lX2NsZWFuZXI6IGVuc3VyZSBpbnRlcm5hbCB0YXJnZXRzIGFyZSByZWFjaGFibGUKKyBm cm9tIDpnbl9hbGwuCisKKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGVlZTUxM2RmYzc4MGFk NGJjYWE3NGI2N2YyZTBlYWViZjU3YjVjOTMpCisKK0J1ZzogOTg0MTYyLCAxMDA0ODQ4CitDaGFu Z2UtSWQ6IEliYjdjNDdmMDE4OGRlOGUwNzdjZDMwYWE4ZDY4Y2E2MTEzM2QyMDM3CitSZXZpZXdl ZC1vbjogaHR0cHM6Ly9jaHJvbWl1bS1yZXZpZXcuZ29vZ2xlc291cmNlLmNvbS9jL2Nocm9taXVt L3NyYy8rLzE5MDQ1NDkKK0NvbW1pdC1RdWV1ZTogSm9obiBCdWRvcmljayA8amJ1ZG9yaWNrQGNo cm9taXVtLm9yZz4KK1Jldmlld2VkLWJ5OiBKb2UgTWFzb24gPGpvZW5vdGNoYXJsZXNAY2hyb21p dW0ub3JnPgorQ3ItT3JpZ2luYWwtQ29tbWl0LVBvc2l0aW9uOiByZWZzL2hlYWRzL21hc3RlckB7 IzcxMzY4M30KK1Jldmlld2VkLW9uOiBodHRwczovL2Nocm9taXVtLXJldmlldy5nb29nbGVzb3Vy Y2UuY29tL2MvY2hyb21pdW0vc3JjLysvMTkyMjI5OQorQ3ItQ29tbWl0LVBvc2l0aW9uOiByZWZz L2JyYW5jaC1oZWFkcy8zOTA0QHsjODk1fQorQ3ItQnJhbmNoZWQtRnJvbTogNjc1OTY4YThjNjU3 YTNiZDljMWMyYzIwYzVkMjkzNTU3N2JiYzVlNi1yZWZzL2hlYWRzL21hc3RlckB7IzY5Mzk1NH0K Ky0tLQorIEJVSUxELmduICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCisgY2hyb21lL2No cm9tZV9jbGVhbmVyL0JVSUxELmduIHwgMjMgKysrKysrKysrKysrKysrKysrKystLS0KKyAyIGZp bGVzIGNoYW5nZWQsIDIxIGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1n aXQgYS9CVUlMRC5nbiBiL0JVSUxELmduCitpbmRleCA1ZTJmNmI5YjBmNDFjLi5hYzAyOTc2MDg1 OTRmIDEwMDY0NAorLS0tIGEvQlVJTEQuZ24KKysrKyBiL0JVSUxELmduCitAQCAtNjA0LDcgKzYw NCw3IEBAIGdyb3VwKCJnbl9hbGwiKSB7CisgICBpZiAoaXNfd2luKSB7CisgICAgIGRlcHMgKz0g WworICAgICAgICIvL2Jhc2U6cGVfaW1hZ2VfdGVzdCIsCistICAgICAgIi8vY2hyb21lL2Nocm9t ZV9jbGVhbmVyOmNocm9tZV9jbGVhbmVyX3VuaXR0ZXN0cyIsCisrICAgICAgIi8vY2hyb21lL2No cm9tZV9jbGVhbmVyIiwKKyAgICAgICAiLy9jaHJvbWUvY2hyb21lX2VsZjpjaHJvbWVfZWxmX3Vu aXR0ZXN0cyIsCisgICAgICAgIi8vY2hyb21lL2Nocm9tZV9lbGY6ZGxsX2hhc2hfbWFpbiIsCisg ICAgICAgIi8vY2hyb21lL2VsZXZhdGlvbl9zZXJ2aWNlOmVsZXZhdGlvbl9zZXJ2aWNlX3VuaXR0 ZXN0cyIsCitkaWZmIC0tZ2l0IGEvY2hyb21lL2Nocm9tZV9jbGVhbmVyL0JVSUxELmduIGIvY2hy b21lL2Nocm9tZV9jbGVhbmVyL0JVSUxELmduCitpbmRleCBmYmQyZDhkNTMwN2FhLi4xNjcxYTNm N2QwOTdjIDEwMDY0NAorLS0tIGEvY2hyb21lL2Nocm9tZV9jbGVhbmVyL0JVSUxELmduCisrKysg Yi9jaHJvbWUvY2hyb21lX2NsZWFuZXIvQlVJTEQuZ24KK0BAIC02NCw5ICs2NCw2IEBAIHN0YXRp Y19saWJyYXJ5KCJvdGhlcl9leGVjdXRhYmxlX2RlZmluaXRpb25zIikgeworIH0KKyAKKyB0ZXN0 KCJjaHJvbWVfY2xlYW5lcl91bml0dGVzdHMiKSB7CistICAjIE1ha2UgdGhpcyB0YXJnZXQgZmlu ZGFibGUgZnJvbSB0aGUgImFsbCIgdGFyZ2V0IHVzZWQgYnkgdGhlIGJ1aWxkZXJzLgorLSAgdmlz aWJpbGl0eSArPSBbICIvLy46Z25fYWxsIiBdCistCisgICBzb3VyY2VzID0gWworICAgICAiLy9j aHJvbWUvY2hyb21lX2NsZWFuZXIvdGVzdC90ZXN0X21haW4uY2MiLAorICAgXQorQEAgLTEyNiwz ICsxMjMsMjMgQEAgdGVzdCgiY2hyb21lX2NsZWFuZXJfdW5pdHRlc3RzIikgeworICAgICBdCisg ICB9CisgfQorKworK2dyb3VwKCJjaHJvbWVfY2xlYW5lciIpIHsKKysgIHRlc3Rvbmx5ID0gdHJ1 ZQorKworKyAgIyBNYWtlIHRoaXMgdGFyZ2V0IGZpbmRhYmxlIGZyb20gdGhlICJhbGwiIHRhcmdl dCB1c2VkIGJ5IHRoZSBidWlsZGVycy4KKysgIHZpc2liaWxpdHkgKz0gWyAiLy8uOmduX2FsbCIg XQorKworKyAgZGVwcyA9IFsKKysgICAgIjpjaHJvbWVfY2xlYW5lcl91bml0dGVzdHMiLAorKyAg ICAiLy9jaHJvbWUvY2hyb21lX2NsZWFuZXIvZXhlY3V0YWJsZXM6Y2hyb21lX2NsZWFudXBfdG9v bCIsCisrICAgICIvL2Nocm9tZS9jaHJvbWVfY2xlYW5lci9leGVjdXRhYmxlczpzb2Z0d2FyZV9y ZXBvcnRlcl90b29sIiwKKysgIF0KKysKKysgIGlmIChpc19pbnRlcm5hbF9jaHJvbWVfY2xlYW5l cl9idWlsZCkgeworKyAgICBkZXBzICs9IFsKKysgICAgICAiJHtjaHJvbWVfY2xlYW5lcl9pbnRl cm5hbF9yb290fTpidWlsZF90YXJnZXRzIiwKKysgICAgICAiJHtjaHJvbWVfY2xlYW5lcl9pbnRl cm5hbF9yb290fTp0ZXN0X3RhcmdldHMiLAorKyAgICBdCisrICB9CisrfQpkaWZmIC0tZ2l0IGEv c3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvcGF0Y2hlcy9jaHJvbWl1bS0wMDItdXBzdHJlYW1fc2F2 ZV9sb2dzX2Zyb21fdGVzdF9jaWxkX3Byb2Nlc3Nlcy5wYXRjaC5wYXRjaCBiL3NyY3BrZ3MvZWxl Y3Ryb243L2ZpbGVzL3BhdGNoZXMvY2hyb21pdW0tMDAyLXVwc3RyZWFtX3NhdmVfbG9nc19mcm9t X3Rlc3RfY2lsZF9wcm9jZXNzZXMucGF0Y2gucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMDAwMDAuLjc0YjlmZWM1OWE3Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9l bGVjdHJvbjcvZmlsZXMvcGF0Y2hlcy9jaHJvbWl1bS0wMDItdXBzdHJlYW1fc2F2ZV9sb2dzX2Zy b21fdGVzdF9jaWxkX3Byb2Nlc3Nlcy5wYXRjaC5wYXRjaApAQCAtMCwwICsxLDM0MiBAQAorRnJv bSBkYWVjNjYxZjI3YmRmYWI3OTEzMmQ3ZDJjNDYzN2NjMTdmZDRhYTM1IE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQorRnJvbTogSm9lIE1hc29uIDxqb2Vub3RjaGFybGVzQGdvb2dsZS5jb20+CitE YXRlOiBXZWQsIDQgRGVjIDIwMTkgMTg6MDQ6MjEgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gU2F2 ZSBsb2dzIGZyb20gdGVzdCBjaGlsZCBwcm9jZXNzZXMgYnkgcmVkaXJlY3Rpbmcgc3Rkb3V0IGFu ZAorIHN0ZGVyci4KKworVGhlIHByZXZpb3VzIHNvbHV0aW9uIGNhbiBvbmx5IGNhcHR1cmUgbG9n cyBhZnRlciB0aGUgY2hpbGQgcHJvY2VzcworY3JlYXRlcyBhIFNjb3BlZExvZ2dpbmcgb2JqZWN0 LiBXZSBzZWUgZmxha3kgY3Jhc2hlcyBpbiBzYW5kYm94IGNyZWF0aW9uCit0aGF0IGhhcHBlbiBi ZWZvcmUgdGhhdCBzbyB0aGlzIHdpbGwgbGV0IHVzIHNlZSB0aGUgY2hpbGQgcHJvY2VzcyBzdGFj awordHJhY2VzLgorCitBbHNvIG1vdmVzIHNvbWUgZnVuY3Rpb25zIHRoYXQgd2VyZSBleHBvcnRl ZCBmcm9tIGlwY190ZXN0X3V0aWwuaCB0byBiZQorcHJpdmF0ZSB0byBwcm90b19jaHJvbWVfcHJv bXB0X2lwY191bml0dGVzdC5jYywgd2hpY2ggaXMgdGhlIG9ubHkgdGVzdAordGhhdCBzdGlsbCB1 c2VzIHRoZW0uCisKKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGU3YTc1NTQyMTEzNmQ3ZmM5 YjNhNzNhNWU1NDY0MzY4ZjNlZmE3ZjkpCisKK0J1ZzogMTAzMDMzMworQ2hhbmdlLUlkOiBJZTMw ZWVkM2IxNjYzMTcyMWU4MWE0MjBiM2I3MGYxZWM1ZjBkOWEwYworUmV2aWV3ZWQtb246IGh0dHBz Oi8vY2hyb21pdW0tcmV2aWV3Lmdvb2dsZXNvdXJjZS5jb20vYy9jaHJvbWl1bS9zcmMvKy8xOTQ4 NDgzCitSZXZpZXdlZC1ieTogcHJvYmVyZ2UgPHByb2JlcmdlQGNocm9taXVtLm9yZz4KK0NvbW1p dC1RdWV1ZTogSm9lIE1hc29uIDxqb2Vub3RjaGFybGVzQGNocm9taXVtLm9yZz4KK0NyLU9yaWdp bmFsLUNvbW1pdC1Qb3NpdGlvbjogcmVmcy9oZWFkcy9tYXN0ZXJAeyM3MjEwNzF9CitSZXZpZXdl ZC1vbjogaHR0cHM6Ly9jaHJvbWl1bS1yZXZpZXcuZ29vZ2xlc291cmNlLmNvbS9jL2Nocm9taXVt L3NyYy8rLzE5NTEwODkKK1Jldmlld2VkLWJ5OiBKb2UgTWFzb24gPGpvZW5vdGNoYXJsZXNAY2hy b21pdW0ub3JnPgorQ3ItQ29tbWl0LVBvc2l0aW9uOiByZWZzL2JyYW5jaC1oZWFkcy8zOTA0QHsj OTEzfQorQ3ItQnJhbmNoZWQtRnJvbTogNjc1OTY4YThjNjU3YTNiZDljMWMyYzIwYzVkMjkzNTU3 N2JiYzVlNi1yZWZzL2hlYWRzL21hc3RlckB7IzY5Mzk1NH0KKy0tLQorIGNocm9tZS9jaHJvbWVf Y2xlYW5lci9pcGMvaXBjX3Rlc3RfdXRpbC5jYyAgICB8IDkyICsrKysrKysrKysrKy0tLS0tLS0K KyBjaHJvbWUvY2hyb21lX2NsZWFuZXIvaXBjL2lwY190ZXN0X3V0aWwuaCAgICAgfCAxMyArKy0K KyAuLi4vaXBjL3Byb3RvX2Nocm9tZV9wcm9tcHRfaXBjX3VuaXR0ZXN0LmNjICAgfCAxNyArKy0t CisgY2hyb21lL2Nocm9tZV9jbGVhbmVyL2lwYy9zYW5kYm94LmNjICAgICAgICAgIHwgIDUgKy0K KyA0IGZpbGVzIGNoYW5nZWQsIDc3IGluc2VydGlvbnMoKyksIDUwIGRlbGV0aW9ucygtKQorCitk aWZmIC0tZ2l0IGEvY2hyb21lL2Nocm9tZV9jbGVhbmVyL2lwYy9pcGNfdGVzdF91dGlsLmNjIGIv Y2hyb21lL2Nocm9tZV9jbGVhbmVyL2lwYy9pcGNfdGVzdF91dGlsLmNjCitpbmRleCAwNWZjMGQw MjdlYzQzLi4wZDAzYTY4NzBmYjA3IDEwMDY0NAorLS0tIGEvY2hyb21lL2Nocm9tZV9jbGVhbmVy L2lwYy9pcGNfdGVzdF91dGlsLmNjCisrKysgYi9jaHJvbWUvY2hyb21lX2NsZWFuZXIvaXBjL2lw Y190ZXN0X3V0aWwuY2MKK0BAIC0xMyw2ICsxMyw3IEBACisgI2luY2x1ZGUgImJhc2UvY29tbWFu ZF9saW5lLmgiCisgI2luY2x1ZGUgImJhc2UvZmlsZXMvZmlsZV9wYXRoLmgiCisgI2luY2x1ZGUg ImJhc2UvZmlsZXMvZmlsZV91dGlsLmgiCisrI2luY2x1ZGUgImJhc2UvZmlsZXMvc2NvcGVkX3Rl bXBfZGlyLmgiCisgI2luY2x1ZGUgImJhc2UvbG9nZ2luZy5oIgorICNpbmNsdWRlICJiYXNlL3By b2Nlc3MvbGF1bmNoLmgiCisgI2luY2x1ZGUgImJhc2UvcmFuZF91dGlsLmgiCitAQCAtMjMsNyAr MjQsNiBAQAorICNpbmNsdWRlICJiYXNlL3Rlc3QvdGVzdF90aW1lb3V0cy5oIgorICNpbmNsdWRl ICJiYXNlL3dpbi93aW5fdXRpbC5oIgorICNpbmNsdWRlICJjaHJvbWUvY2hyb21lX2NsZWFuZXIv aXBjL3NhbmRib3guaCIKKy0jaW5jbHVkZSAiY2hyb21lL2Nocm9tZV9jbGVhbmVyL2xvZ2dpbmcv c2NvcGVkX2xvZ2dpbmcuaCIKKyAjaW5jbHVkZSAic2FuZGJveC93aW4vc3JjL3NhbmRib3hfZmFj dG9yeS5oIgorIAorIG5hbWVzcGFjZSBjaHJvbWVfY2xlYW5lciB7CitAQCAtMzIsMTIgKzMyLDEz IEBAIG5hbWVzcGFjZSB7CisgCisgY29uc3RleHByIGNoYXIga01vam9QaXBlVG9rZW5Td2l0Y2hb XSA9ICJtb2pvLXBpcGUtdG9rZW4iOworIAorLWNvbnN0ZXhwciB3Y2hhcl90IGtJUENUZXN0VXRp bExvZ1N1ZmZpeFtdID0gTCJpcGMtdGVzdC11dGlsIjsKKy0KKyBjbGFzcyBNb2pvU2FuZGJveFNl dHVwSG9va3MgOiBwdWJsaWMgU2FuZGJveFNldHVwSG9va3MgeworICBwdWJsaWM6CistICBleHBs aWNpdCBNb2pvU2FuZGJveFNldHVwSG9va3MoU2FuZGJveGVkUGFyZW50UHJvY2VzcyogcGFyZW50 X3Byb2Nlc3MpCistICAgICAgOiBwYXJlbnRfcHJvY2Vzc18ocGFyZW50X3Byb2Nlc3MpIHt9Cisr ICBleHBsaWNpdCBNb2pvU2FuZGJveFNldHVwSG9va3MoCisrICAgICAgU2FuZGJveGVkUGFyZW50 UHJvY2VzcyogcGFyZW50X3Byb2Nlc3MsCisrICAgICAgYmFzZTo6d2luOjpTY29wZWRIYW5kbGUg Y2hpbGRfc3Rkb3V0X3dyaXRlX2hhbmRsZSkKKysgICAgICA6IHBhcmVudF9wcm9jZXNzXyhwYXJl bnRfcHJvY2VzcyksCisrICAgICAgICBjaGlsZF9zdGRvdXRfd3JpdGVfaGFuZGxlXyhzdGQ6Om1v dmUoY2hpbGRfc3Rkb3V0X3dyaXRlX2hhbmRsZSkpIHt9CisgICB+TW9qb1NhbmRib3hTZXR1cEhv b2tzKCkgb3ZlcnJpZGUgPSBkZWZhdWx0OworIAorICAgLy8gU2FuZGJveFNldHVwSG9va3MKK0BA IC00OSw2ICs1MCw4IEBAIGNsYXNzIE1vam9TYW5kYm94U2V0dXBIb29rcyA6IHB1YmxpYyBTYW5k Ym94U2V0dXBIb29rcyB7CisgICAgIHBhcmVudF9wcm9jZXNzXy0+Q3JlYXRlTW9qb1BpcGUoY29t bWFuZF9saW5lLCAmaGFuZGxlc190b19pbmhlcml0KTsKKyAgICAgZm9yIChIQU5ETEUgaGFuZGxl IDogaGFuZGxlc190b19pbmhlcml0KQorICAgICAgIHBvbGljeS0+QWRkSGFuZGxlVG9TaGFyZSho YW5kbGUpOworKyAgICBwb2xpY3ktPlNldFN0ZG91dEhhbmRsZShjaGlsZF9zdGRvdXRfd3JpdGVf aGFuZGxlXy5HZXQoKSk7CisrICAgIHBvbGljeS0+U2V0U3RkZXJySGFuZGxlKGNoaWxkX3N0ZG91 dF93cml0ZV9oYW5kbGVfLkdldCgpKTsKKyAgICAgcmV0dXJuIFJFU1VMVF9DT0RFX1NVQ0NFU1M7 CisgICB9CisgCitAQCAtNjEsMzMgKzY0LDE0IEBAIGNsYXNzIE1vam9TYW5kYm94U2V0dXBIb29r cyA6IHB1YmxpYyBTYW5kYm94U2V0dXBIb29rcyB7CisgCisgIHByaXZhdGU6CisgICBTYW5kYm94 ZWRQYXJlbnRQcm9jZXNzKiBwYXJlbnRfcHJvY2Vzc187CisrICBiYXNlOjp3aW46OlNjb3BlZEhh bmRsZSBjaGlsZF9zdGRvdXRfd3JpdGVfaGFuZGxlXzsKKyB9OworIAorIH0gIC8vIG5hbWVzcGFj ZQorIAorIG5hbWVzcGFjZSBpbnRlcm5hbCB7CisgCistYmFzZTo6RmlsZVBhdGg6OlN0cmluZ1Bp ZWNlVHlwZSBHZXRMb2dQYXRoU3VmZml4KCkgeworLSAgcmV0dXJuIGtJUENUZXN0VXRpbExvZ1N1 ZmZpeDsKKy19CistCistYmFzZTo6RmlsZVBhdGggR2V0TG9nUGF0aCgpIHsKKy0gIHJldHVybiBT Y29wZWRMb2dnaW5nOjpHZXRMb2dGaWxlUGF0aChrSVBDVGVzdFV0aWxMb2dTdWZmaXgpOworLX0K Ky0KKy1ib29sIERlbGV0ZUNoaWxkUHJvY2Vzc0xvZ3MoKSB7CistICAvLyBEZWxldGUgdGhlIGNo aWxkIHByb2Nlc3MgbG9nIGZpbGUgaWYgZXhpc3RpbmcuCistICBjb25zdCBiYXNlOjpGaWxlUGF0 aCBsb2dfcGF0aCA9IEdldExvZ1BhdGgoKTsKKy0gIGlmICghYmFzZTo6RGVsZXRlRmlsZShsb2df cGF0aCwgZmFsc2UpKSB7CistICAgIExPRyhFUlJPUikgPDwgIkNhbid0IGRlbGV0ZSBsb2cgZmls ZSBmcm9tIHByZXZpb3VzIHJ1bjogIgorLSAgICAgICAgICAgICAgIDw8IGxvZ19wYXRoLnZhbHVl KCk7CistICAgIHJldHVybiBmYWxzZTsKKy0gIH0KKy0gIHJldHVybiB0cnVlOworLX0KKy0KKy12 b2lkIFByaW50Q2hpbGRQcm9jZXNzTG9ncygpIHsKKy0gIGNvbnN0IGJhc2U6OkZpbGVQYXRoIGxv Z19wYXRoID0gR2V0TG9nUGF0aCgpOworK3ZvaWQgUHJpbnRDaGlsZFByb2Nlc3NMb2dzKGNvbnN0 IGJhc2U6OkZpbGVQYXRoJiBsb2dfcGF0aCkgeworICAgaWYgKGxvZ19wYXRoLmVtcHR5KCkpIHsK KyAgICAgTE9HKEVSUk9SKSA8PCAiQ2hpbGQgcHJvY2VzcyBsb2cgcGF0aCBpcyBlbXB0eSI7Cisg ICAgIHJldHVybjsKK0BAIC0xNzQsMTEgKzE1OCwzOCBAQCBib29sIFBhcmVudFByb2Nlc3M6Okxh dW5jaENvbm5lY3RlZENoaWxkUHJvY2VzcygKKyAgICAgY29uc3Qgc3RkOjpzdHJpbmcmIGNoaWxk X21haW5fZnVuY3Rpb24sCisgICAgIGJhc2U6OlRpbWVEZWx0YSB0aW1lb3V0LAorICAgICBpbnQz Ml90KiBleGl0X2NvZGUpIHsKKy0gIGlmICghaW50ZXJuYWw6OkRlbGV0ZUNoaWxkUHJvY2Vzc0xv Z3MoKSkKKysgIC8vIEFkYXB0ZWQgZnJvbQorKyAgLy8gaHR0cHM6Ly9jcy5jaHJvbWl1bS5vcmcv Y2hyb21pdW0vc3JjL3NhbmRib3gvd2luL3NyYy9oYW5kbGVfaW5oZXJpdGFuY2VfdGVzdC5jYwor KyAgYmFzZTo6U2NvcGVkVGVtcERpciB0ZW1wX2RpcjsKKysgIGlmICghdGVtcF9kaXIuQ3JlYXRl VW5pcXVlVGVtcERpcigpKSB7CisrICAgIFBMT0coRVJST1IpIDw8ICJDb3VsZCBub3QgY3JlYXRl IHRlbXAgZGlyIGZvciBjaGlsZCBzdGRvdXQiOworKyAgICByZXR1cm4gZmFsc2U7CisrICB9Cisr CisrICBiYXNlOjpGaWxlUGF0aCB0ZW1wX2ZpbGVfbmFtZTsKKysgIGlmICghQ3JlYXRlVGVtcG9y YXJ5RmlsZUluRGlyKHRlbXBfZGlyLkdldFBhdGgoKSwgJnRlbXBfZmlsZV9uYW1lKSkgeworKyAg ICBQTE9HKEVSUk9SKSA8PCAiQ291bGQgbm90IGNyZWF0ZSB0ZW1wIGZpbGUgZm9yIGNoaWxkIHN0 ZG91dCI7CisrICAgIHJldHVybiBmYWxzZTsKKysgIH0KKysKKysgIFNFQ1VSSVRZX0FUVFJJQlVU RVMgYXR0cnMgPSB7fTsKKysgIGF0dHJzLm5MZW5ndGggPSBzaXplb2YoYXR0cnMpOworKyAgYXR0 cnMuYkluaGVyaXRIYW5kbGUgPSB0cnVlOworKworKyAgYmFzZTo6d2luOjpTY29wZWRIYW5kbGUg Y2hpbGRfc3Rkb3V0X3dyaXRlX2hhbmRsZSgKKysgICAgICA6OkNyZWF0ZUZpbGUodGVtcF9maWxl X25hbWUudmFsdWUoKS5jX3N0cigpLCBHRU5FUklDX1dSSVRFLAorKyAgICAgICAgICAgICAgICAg ICBGSUxFX1NIQVJFX1dSSVRFIHwgRklMRV9TSEFSRV9SRUFEIHwgRklMRV9TSEFSRV9ERUxFVEUs CisrICAgICAgICAgICAgICAgICAgICZhdHRycywgT1BFTl9FWElTVElORywgMCwgbnVsbHB0cikp OworKyAgaWYgKCFjaGlsZF9zdGRvdXRfd3JpdGVfaGFuZGxlLklzVmFsaWQoKSkgeworKyAgICBQ TE9HKEVSUk9SKSA8PCAiQ291bGQgbm90IG9wZW4gY2hpbGQgc3Rkb3V0IGZpbGUiOworICAgICBy ZXR1cm4gZmFsc2U7CisrICB9CisgCistICBpZiAoIVByZXBhcmVBbmRMYXVuY2hUZXN0Q2hpbGRQ cm9jZXNzKGNoaWxkX21haW5fZnVuY3Rpb24pKQorKyAgaWYgKCFQcmVwYXJlQW5kTGF1bmNoVGVz dENoaWxkUHJvY2VzcyhjaGlsZF9tYWluX2Z1bmN0aW9uLAorKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzdGQ6Om1vdmUoY2hpbGRfc3Rkb3V0X3dyaXRlX2hhbmRsZSkp KSB7CisrICAgIGludGVybmFsOjpQcmludENoaWxkUHJvY2Vzc0xvZ3ModGVtcF9maWxlX25hbWUp OworICAgICByZXR1cm4gZmFsc2U7CisrICB9CisgCisgICBDcmVhdGVJbXBsT25JUENUaHJlYWQo c3RkOjptb3ZlKG1vam9fcGlwZV8pKTsKKyAgIGNvbnN0IGJvb2wgc3VjY2VzcyA9IGJhc2U6Oldh aXRGb3JNdWx0aXByb2Nlc3NUZXN0Q2hpbGRFeGl0KAorQEAgLTE4OSwyMSArMjAwLDMyIEBAIGJv b2wgUGFyZW50UHJvY2Vzczo6TGF1bmNoQ29ubmVjdGVkQ2hpbGRQcm9jZXNzKAorICAgfQorICAg RGVzdHJveUltcGxPbklQQ1RocmVhZCgpOworIAorLSAgaWYgKCFzdWNjZXNzIHx8ICpleGl0X2Nv ZGUgIT0gMCkKKy0gICAgaW50ZXJuYWw6OlByaW50Q2hpbGRQcm9jZXNzTG9ncygpOworKyAgaWYg KCFzdWNjZXNzIHx8ICpleGl0X2NvZGUgIT0gMCkgeworKyAgICBpbnRlcm5hbDo6UHJpbnRDaGls ZFByb2Nlc3NMb2dzKHRlbXBfZmlsZV9uYW1lKTsKKysgIH0KKyAKKyAgIHJldHVybiBzdWNjZXNz OworIH0KKyAKKyBib29sIFBhcmVudFByb2Nlc3M6OlByZXBhcmVBbmRMYXVuY2hUZXN0Q2hpbGRQ cm9jZXNzKAorLSAgICBjb25zdCBzdGQ6OnN0cmluZyYgY2hpbGRfbWFpbl9mdW5jdGlvbikgewor KyAgICBjb25zdCBzdGQ6OnN0cmluZyYgY2hpbGRfbWFpbl9mdW5jdGlvbiwKKysgICAgYmFzZTo6 d2luOjpTY29wZWRIYW5kbGUgY2hpbGRfc3Rkb3V0X3dyaXRlX2hhbmRsZSkgeworICAgYmFzZTo6 TGF1bmNoT3B0aW9ucyBsYXVuY2hfb3B0aW9uczsKKyAgIGxhdW5jaF9vcHRpb25zLmhhbmRsZXNf dG9faW5oZXJpdCA9IGV4dHJhX2hhbmRsZXNfdG9faW5oZXJpdF87CisrICBsYXVuY2hfb3B0aW9u cy5oYW5kbGVzX3RvX2luaGVyaXQucHVzaF9iYWNrKGNoaWxkX3N0ZG91dF93cml0ZV9oYW5kbGUu R2V0KCkpOworKyAgbGF1bmNoX29wdGlvbnMuc3RkaW5faGFuZGxlID0gSU5WQUxJRF9IQU5ETEVf VkFMVUU7CisrICBsYXVuY2hfb3B0aW9ucy5zdGRvdXRfaGFuZGxlID0gY2hpbGRfc3Rkb3V0X3dy aXRlX2hhbmRsZS5HZXQoKTsKKysgIGxhdW5jaF9vcHRpb25zLnN0ZGVycl9oYW5kbGUgPSBjaGls ZF9zdGRvdXRfd3JpdGVfaGFuZGxlLkdldCgpOworKworICAgQ3JlYXRlTW9qb1BpcGUoJmNvbW1h bmRfbGluZV8sICZsYXVuY2hfb3B0aW9ucy5oYW5kbGVzX3RvX2luaGVyaXQpOworIAorICAgYmFz ZTo6UHJvY2VzcyBjaGlsZF9wcm9jZXNzID0gYmFzZTo6U3Bhd25NdWx0aVByb2Nlc3NUZXN0Q2hp bGQoCisgICAgICAgY2hpbGRfbWFpbl9mdW5jdGlvbiwgY29tbWFuZF9saW5lXywgbGF1bmNoX29w dGlvbnMpOworIAorKyAgLy8gTm93IHRoYXQgaXQncyBiZWVuIHBhc3NlZCB0byB0aGUgY2hpbGQg cHJvY2VzcywKKysgIC8vIHxjaGlsZF9zdGRvdXRfd3JpdGVfaGFuZGxlfCBjYW4gYmUgY2xvc2Vk IGluIHRoaXMgcHJvY2VzcyBhcyBpdCBnb2VzIG91dAorKyAgLy8gb2Ygc2NvcGUuCisrCisgICBD b25uZWN0TW9qb1BpcGUoc3RkOjptb3ZlKGNoaWxkX3Byb2Nlc3MpKTsKKyAgIHJldHVybiB0cnVl OworIH0KK0BAIC0yMzUsOCArMjU3LDkgQEAgU2FuZGJveGVkUGFyZW50UHJvY2Vzczo6U2FuZGJv eGVkUGFyZW50UHJvY2VzcygKKyBTYW5kYm94ZWRQYXJlbnRQcm9jZXNzOjp+U2FuZGJveGVkUGFy ZW50UHJvY2VzcygpIHt9CisgCisgYm9vbCBTYW5kYm94ZWRQYXJlbnRQcm9jZXNzOjpQcmVwYXJl QW5kTGF1bmNoVGVzdENoaWxkUHJvY2VzcygKKy0gICAgY29uc3Qgc3RkOjpzdHJpbmcmIGNoaWxk X21haW5fZnVuY3Rpb24pIHsKKy0gIE1vam9TYW5kYm94U2V0dXBIb29rcyBob29rcyh0aGlzKTsK KysgICAgY29uc3Qgc3RkOjpzdHJpbmcmIGNoaWxkX21haW5fZnVuY3Rpb24sCisrICAgIGJhc2U6 Ondpbjo6U2NvcGVkSGFuZGxlIGNoaWxkX3N0ZG91dF93cml0ZV9oYW5kbGUpIHsKKysgIE1vam9T YW5kYm94U2V0dXBIb29rcyBob29rcyh0aGlzLCBzdGQ6Om1vdmUoY2hpbGRfc3Rkb3V0X3dyaXRl X2hhbmRsZSkpOworIAorICAgLy8gVGhpcyBzd2l0Y2ggdXNhZ2UgaXMgY29waWVkIGZyb20gU3Bh d25NdWx0aVByb2Nlc3NUZXN0Q2hpbGQuCisgICAvLworQEAgLTI1OCw4ICsyODEsNyBAQCBib29s IFNhbmRib3hlZFBhcmVudFByb2Nlc3M6OlByZXBhcmVBbmRMYXVuY2hUZXN0Q2hpbGRQcm9jZXNz KAorIAorIENoaWxkUHJvY2Vzczo6Q2hpbGRQcm9jZXNzKHNjb3BlZF9yZWZwdHI8TW9qb1Rhc2tS dW5uZXI+IG1vam9fdGFza19ydW5uZXIpCisgICAgIDogbW9qb190YXNrX3J1bm5lcl8obW9qb190 YXNrX3J1bm5lciksCistICAgICAgY29tbWFuZF9saW5lXyhiYXNlOjpDb21tYW5kTGluZTo6Rm9y Q3VycmVudFByb2Nlc3MoKSksCistICAgICAgc2NvcHBlZF9sb2dnaW5nXyhuZXcgU2NvcGVkTG9n Z2luZyhrSVBDVGVzdFV0aWxMb2dTdWZmaXgpKSB7CisrICAgICAgY29tbWFuZF9saW5lXyhiYXNl OjpDb21tYW5kTGluZTo6Rm9yQ3VycmVudFByb2Nlc3MoKSkgeworICAgc2FuZGJveDo6VGFyZ2V0 U2VydmljZXMqIHRhcmdldF9zZXJ2aWNlcyA9CisgICAgICAgc2FuZGJveDo6U2FuZGJveEZhY3Rv cnk6OkdldFRhcmdldFNlcnZpY2VzKCk7CisgICBpZiAoIXRhcmdldF9zZXJ2aWNlcykKK2RpZmYg LS1naXQgYS9jaHJvbWUvY2hyb21lX2NsZWFuZXIvaXBjL2lwY190ZXN0X3V0aWwuaCBiL2Nocm9t ZS9jaHJvbWVfY2xlYW5lci9pcGMvaXBjX3Rlc3RfdXRpbC5oCitpbmRleCA5N2YyMDcyYTA5MTY1 Li4xYjJlNTU5OGVkNTJhIDEwMDY0NAorLS0tIGEvY2hyb21lL2Nocm9tZV9jbGVhbmVyL2lwYy9p cGNfdGVzdF91dGlsLmgKKysrKyBiL2Nocm9tZS9jaHJvbWVfY2xlYW5lci9pcGMvaXBjX3Rlc3Rf dXRpbC5oCitAQCAtMTQsOSArMTQsOSBAQAorICNpbmNsdWRlICJiYXNlL3Byb2Nlc3MvbGF1bmNo LmgiCisgI2luY2x1ZGUgImJhc2UvcHJvY2Vzcy9wcm9jZXNzLmgiCisgI2luY2x1ZGUgImJhc2Uv dGltZS90aW1lLmgiCisrI2luY2x1ZGUgImJhc2Uvd2luL3Njb3BlZF9oYW5kbGUuaCIKKyAjaW5j bHVkZSAiY2hyb21lL2Nocm9tZV9jbGVhbmVyL2lwYy9jaHJvbWVfcHJvbXB0X2lwYy5oIgorICNp bmNsdWRlICJjaHJvbWUvY2hyb21lX2NsZWFuZXIvaXBjL21vam9fdGFza19ydW5uZXIuaCIKKy0j aW5jbHVkZSAiY2hyb21lL2Nocm9tZV9jbGVhbmVyL2xvZ2dpbmcvc2NvcGVkX2xvZ2dpbmcuaCIK KyAjaW5jbHVkZSAibW9qby9wdWJsaWMvY3BwL3BsYXRmb3JtL3BsYXRmb3JtX2NoYW5uZWwuaCIK KyAjaW5jbHVkZSAibW9qby9wdWJsaWMvY3BwL3N5c3RlbS9pbnZpdGF0aW9uLmgiCisgI2luY2x1 ZGUgIm1vam8vcHVibGljL2NwcC9zeXN0ZW0vbWVzc2FnZV9waXBlLmgiCitAQCAtNzAsNyArNzAs OCBAQCBjbGFzcyBQYXJlbnRQcm9jZXNzIDogcHVibGljIGJhc2U6OlJlZkNvdW50ZWRUaHJlYWRT YWZlPFBhcmVudFByb2Nlc3M+IHsKKyAgIC8vIGFzIGluIHRoZSBzYW5kYm94LiBTdWJjbGFzc2Vz IHNob3VsZCBjYWxsIENyZWF0ZU1vam9QaXBlIGJlZm9yZSB0aGUKKyAgIC8vIHN1YnByb2Nlc3Mg aXMgc3Bhd25lZCBhbmQgQ29ubmVjdE1vam9QaXBlIGFmdGVyd2FyZC4KKyAgIHZpcnR1YWwgYm9v bCBQcmVwYXJlQW5kTGF1bmNoVGVzdENoaWxkUHJvY2VzcygKKy0gICAgICBjb25zdCBzdGQ6OnN0 cmluZyYgY2hpbGRfbWFpbl9mdW5jdGlvbik7CisrICAgICAgY29uc3Qgc3RkOjpzdHJpbmcmIGNo aWxkX21haW5fZnVuY3Rpb24sCisrICAgICAgYmFzZTo6d2luOjpTY29wZWRIYW5kbGUgY2hpbGRf c3Rkb3V0X3dyaXRlX2hhbmRsZSk7CisgCisgICBzY29wZWRfcmVmcHRyPE1vam9UYXNrUnVubmVy PiBtb2pvX3Rhc2tfcnVubmVyKCk7CisgCitAQCAtOTUsNyArOTYsOCBAQCBjbGFzcyBTYW5kYm94 ZWRQYXJlbnRQcm9jZXNzIDogcHVibGljIFBhcmVudFByb2Nlc3MgeworICAgflNhbmRib3hlZFBh cmVudFByb2Nlc3MoKSBvdmVycmlkZTsKKyAKKyAgIGJvb2wgUHJlcGFyZUFuZExhdW5jaFRlc3RD aGlsZFByb2Nlc3MoCistICAgICAgY29uc3Qgc3RkOjpzdHJpbmcmIGNoaWxkX21haW5fZnVuY3Rp b24pIG92ZXJyaWRlOworKyAgICAgIGNvbnN0IHN0ZDo6c3RyaW5nJiBjaGlsZF9tYWluX2Z1bmN0 aW9uLAorKyAgICAgIGJhc2U6Ondpbjo6U2NvcGVkSGFuZGxlIGNoaWxkX3N0ZG91dF93cml0ZV9o YW5kbGUpIG92ZXJyaWRlOworIH07CisgCisgY2xhc3MgQ2hpbGRQcm9jZXNzIDogcHVibGljIGJh c2U6OlJlZkNvdW50ZWRUaHJlYWRTYWZlPENoaWxkUHJvY2Vzcz4geworQEAgLTEyMCw3ICsxMjIs NiBAQCBjbGFzcyBDaGlsZFByb2Nlc3MgOiBwdWJsaWMgYmFzZTo6UmVmQ291bnRlZFRocmVhZFNh ZmU8Q2hpbGRQcm9jZXNzPiB7CisgCisgIHByaXZhdGU6CisgICBiYXNlOjpDb21tYW5kTGluZSog Y29tbWFuZF9saW5lXzsKKy0gIHN0ZDo6dW5pcXVlX3B0cjxTY29wZWRMb2dnaW5nPiBzY29wcGVk X2xvZ2dpbmdfOworIAorICAgLy8gVGhpcyB3aWxsIGJlIHRydWUgaWZmIHRoZSBwcm9jZXNzIGlz IHJ1bm5pbmcgaW4gYSBzYW5kYm94IGFuZAorICAgLy8gVGFyZ2V0U2VydmljZXMgd2FzIGluaXRp YWxpemVkIHN1Y2Nlc3NmdWxseS4KK0BAIC0xNDMsOSArMTQ0LDcgQEAgY2xhc3MgQ2hyb21lUHJv bXB0SVBDVGVzdEVycm9ySGFuZGxlciA6IHB1YmxpYyBDaHJvbWVQcm9tcHRJUEM6OkVycm9ySGFu ZGxlciB7CisgfTsKKyAKKyBuYW1lc3BhY2UgaW50ZXJuYWwgeworLWJhc2U6OkZpbGVQYXRoOjpT dHJpbmdQaWVjZVR5cGUgR2V0TG9nUGF0aFN1ZmZpeCgpOworLWJvb2wgRGVsZXRlQ2hpbGRQcm9j ZXNzTG9ncygpOworLXZvaWQgUHJpbnRDaGlsZFByb2Nlc3NMb2dzKCk7Cisrdm9pZCBQcmludENo aWxkUHJvY2Vzc0xvZ3MoY29uc3QgYmFzZTo6RmlsZVBhdGgmIGxvZ19maWxlKTsKKyB9ICAvLyBu YW1lc3BhY2UgaW50ZXJuYWwKKyAKKyB9ICAvLyBuYW1lc3BhY2UgY2hyb21lX2NsZWFuZXIKK2Rp ZmYgLS1naXQgYS9jaHJvbWUvY2hyb21lX2NsZWFuZXIvaXBjL3Byb3RvX2Nocm9tZV9wcm9tcHRf aXBjX3VuaXR0ZXN0LmNjIGIvY2hyb21lL2Nocm9tZV9jbGVhbmVyL2lwYy9wcm90b19jaHJvbWVf cHJvbXB0X2lwY191bml0dGVzdC5jYworaW5kZXggMWM3YjRjNTc1ZWIzZC4uZjg2N2RmNThmOTZl YSAxMDA2NDQKKy0tLSBhL2Nocm9tZS9jaHJvbWVfY2xlYW5lci9pcGMvcHJvdG9fY2hyb21lX3By b21wdF9pcGNfdW5pdHRlc3QuY2MKKysrKyBiL2Nocm9tZS9jaHJvbWVfY2xlYW5lci9pcGMvcHJv dG9fY2hyb21lX3Byb21wdF9pcGNfdW5pdHRlc3QuY2MKK0BAIC01LDYgKzUsNyBAQAorICNpbmNs dWRlIDx3aW5kb3dzLmg+CisgCisgI2luY2x1ZGUgImJhc2UvY29tbWFuZF9saW5lLmgiCisrI2lu Y2x1ZGUgImJhc2UvZmlsZXMvZmlsZV91dGlsLmgiCisgI2luY2x1ZGUgImJhc2UvcHJvY2Vzcy9w cm9jZXNzLmgiCisgI2luY2x1ZGUgImJhc2Uvc3RyaW5ncy9zdHJjYXQuaCIKKyAjaW5jbHVkZSAi YmFzZS9zdHJpbmdzL3N0cmluZ19udW1iZXJfY29udmVyc2lvbnMuaCIKK0BAIC00MSw4ICs0Miw5 IEBAIGNvbnN0ZXhwciBjaGFyIGtFeHBlY3RlZFByb21wdFJlc3VsdFN3aXRjaFtdID0gImV4cGVj dGVkLXByb21wdC1yZXN1bHQiOworIGNvbnN0ZXhwciBjaGFyIGtFeHBlY3RlZENocm9tZURpc2Nv bm5lY3RQb2ludFN3aXRjaFtdID0KKyAgICAgImV4cGVjdGVkLXBhcmVudC1kaXNjb25uZWN0ZWQi OworIAorLWNvbnN0IGJhc2U6OmNoYXIxNiBrSW52YWxpZFVURjE2U3RyaW5nW10gPSB7MHhEQzAw LCAweEQ4MDAsIDB4RDgwMCwgMHhERkZGLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgMHhERkZGLCAweERCRkYsIDB9OworK2NvbnN0ZXhwciBiYXNlOjpjaGFy MTYga0xvZ1N1ZmZpeFtdID0gTCJwcm9tcHQtaXBjLXRlc3QiOworK2NvbnN0ZXhwciBiYXNlOjpj aGFyMTYga0ludmFsaWRVVEYxNlN0cmluZ1tdID0gezB4REMwMCwgMHhEODAwLCAweEQ4MDAsIDB4 REZGRiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAw eERGRkYsIDB4REJGRiwgMH07CisgY29uc3QgYmFzZTo6RmlsZVBhdGgga0ludmFsaWRGaWxlUGF0 aChrSW52YWxpZFVURjE2U3RyaW5nKTsKKyBjb25zdCBiYXNlOjpGaWxlUGF0aCBrTm9uQVNDSUlG aWxlUGF0aChMIsOpw6nDoMOgw6fDpyIpOworIGNvbnN0IGJhc2U6OnN0cmluZzE2IGtJbnZhbGlk UmVnaXN0cnlLZXkoa0ludmFsaWRVVEYxNlN0cmluZyk7CitAQCAtNDIwLDggKzQyMiw3IEBAIGNs YXNzIE1vY2tDaHJvbWUgeworIGNsYXNzIENoaWxkUHJvY2VzcyB7CisgIHB1YmxpYzoKKyAgIENo aWxkUHJvY2VzcygpCistICAgICAgOiBzY29wcGVkX2xvZ2dpbmdfKAorLSAgICAgICAgICAgIHN0 ZDo6bWFrZV91bmlxdWU8U2NvcGVkTG9nZ2luZz4oaW50ZXJuYWw6OkdldExvZ1BhdGhTdWZmaXgo KSkpIHsKKysgICAgICA6IHNjb3BwZWRfbG9nZ2luZ18oc3RkOjptYWtlX3VuaXF1ZTxTY29wZWRM b2dnaW5nPihrTG9nU3VmZml4KSkgeworICAgICBtb2NrX2Nocm9tZV8gPSBzdGQ6Om1ha2VfdW5p cXVlPE1vY2tDaHJvbWU+KAorICAgICAgICAgRXh0cmFjdEhhbmRsZUZyb21Db21tYW5kTGluZShj aHJvbWVfY2xlYW5lcjo6a0Nocm9tZVJlYWRIYW5kbGVTd2l0Y2gpLAorICAgICAgICAgRXh0cmFj dEhhbmRsZUZyb21Db21tYW5kTGluZShjaHJvbWVfY2xlYW5lcjo6a0Nocm9tZVdyaXRlSGFuZGxl U3dpdGNoKSk7CitAQCAtNjMwLDcgKzYzMSwxMCBAQCBjbGFzcyBQYXJlbnRQcm9jZXNzIHsKKyAg IH0KKyAKKyAgIHZvaWQgUnVuKCkgeworLSAgICBBU1NFUlRfVFJVRShpbnRlcm5hbDo6RGVsZXRl Q2hpbGRQcm9jZXNzTG9ncygpKTsKKysgICAgLy8gRGVsZXRlIHRoZSBjaGlsZCBwcm9jZXNzIGxv ZyBmaWxlIGlmIGV4aXN0aW5nLgorKyAgICBjb25zdCBiYXNlOjpGaWxlUGF0aCBsb2dfcGF0aCA9 IFNjb3BlZExvZ2dpbmc6OkdldExvZ0ZpbGVQYXRoKGtMb2dTdWZmaXgpOworKyAgICBBU1NFUlRf VFJVRShiYXNlOjpEZWxldGVGaWxlKGxvZ19wYXRoLCBmYWxzZSkpCisrICAgICAgICA8PCAiQ2Fu J3QgZGVsZXRlIGxvZyBmaWxlIGZyb20gcHJldmlvdXMgcnVuOiAiIDw8IGxvZ19wYXRoLnZhbHVl KCk7CisgCisgICAgIC8vIFBhc3MgdGhlIGNvbW1hbmQgdG8gdGhlIGNoaWxkIHByb2Nlc3MgYW5k IGxhdW5jaCB0aGUgY2hpbGQgcHJvY2Vzcy4KKyAgICAgYmFzZTo6UHJvY2VzcyBjaGlsZF9wcm9j ZXNzID0gYmFzZTo6U3Bhd25NdWx0aVByb2Nlc3NUZXN0Q2hpbGQoCitAQCAtNzAyLDcgKzcwNiw4 IEBAIGNsYXNzIFBhcmVudFByb2Nlc3MgeworICAgICBFWFBFQ1RfRVEoZXhwZWN0ZWRfZXhpdF9j b2RlLCBydik7CisgCisgICAgIGlmICghc3VjY2VzcyB8fCBydiAhPSAwKSB7CistICAgICAgaW50 ZXJuYWw6OlByaW50Q2hpbGRQcm9jZXNzTG9ncygpOworKyAgICAgIGludGVybmFsOjpQcmludENo aWxkUHJvY2Vzc0xvZ3MoCisrICAgICAgICAgIFNjb3BlZExvZ2dpbmc6OkdldExvZ0ZpbGVQYXRo KGtMb2dTdWZmaXgpKTsKKyAgICAgfQorICAgfQorIAorZGlmZiAtLWdpdCBhL2Nocm9tZS9jaHJv bWVfY2xlYW5lci9pcGMvc2FuZGJveC5jYyBiL2Nocm9tZS9jaHJvbWVfY2xlYW5lci9pcGMvc2Fu ZGJveC5jYworaW5kZXggMTU0YmQwNWM1MTA2Ni4uZmFmYWQ0ZjBjNjE4OCAxMDA2NDQKKy0tLSBh L2Nocm9tZS9jaHJvbWVfY2xlYW5lci9pcGMvc2FuZGJveC5jYworKysrIGIvY2hyb21lL2Nocm9t ZV9jbGVhbmVyL2lwYy9zYW5kYm94LmNjCitAQCAtMjgwLDggKzI4MCw5IEBAIFJlc3VsdENvZGUg U3RhcnRTYW5kYm94VGFyZ2V0KGNvbnN0IGJhc2U6OkNvbW1hbmRMaW5lJiBzYW5kYm94X2NvbW1h bmRfbGluZSwKKyAgICAgICAmbGFzdF93aW5fZXJyb3IsICZ0ZW1wX3Byb2Nlc3NfaW5mbyk7Cisg ICBpZiAoc2FuZGJveF9yZXN1bHQgIT0gc2FuZGJveDo6U0JPWF9BTExfT0spIHsKKyAgICAgTE9H KERGQVRBTCkgPDwgIkZhaWxlZCB0byBzcGF3biBzYW5kYm94IHRhcmdldDogIiA8PCBzYW5kYm94 X3Jlc3VsdAorLSAgICAgICAgICAgICAgICA8PCAiICwgbGFzdCBzYW5kYm94IHdhcm5pbmcgOiAi IDw8IGxhc3Rfc2JveF93YXJuaW5nCistICAgICAgICAgICAgICAgIDw8ICIgLCBsYXN0IHdpbmRv d3MgZXJyb3I6ICIgPDwgbGFzdF93aW5fZXJyb3I7CisrICAgICAgICAgICAgICAgIDw8ICIsIGxh c3Qgc2FuZGJveCB3YXJuaW5nOiAiIDw8IGxhc3Rfc2JveF93YXJuaW5nCisrICAgICAgICAgICAg ICAgIDw8ICIsIGxhc3Qgd2luZG93cyBlcnJvcjogIgorKyAgICAgICAgICAgICAgICA8PCBsb2dn aW5nOjpTeXN0ZW1FcnJvckNvZGVUb1N0cmluZyhsYXN0X3dpbl9lcnJvcik7CisgICAgIHJldHVy biBSRVNVTFRfQ09ERV9GQUlMRURfVE9fU1RBUlRfU0FOREJPWF9QUk9DRVNTOworICAgfQorIApk aWZmIC0tZ2l0IGEvc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvcGF0Y2hlcy9jaHJvbWl1bS0wMDMt dXBzdHJlYW1fbW92ZV9jaGlsZF9wcm9jZXNzX2xvZy5wYXRjaC5wYXRjaCBiL3NyY3BrZ3MvZWxl Y3Ryb243L2ZpbGVzL3BhdGNoZXMvY2hyb21pdW0tMDAzLXVwc3RyZWFtX21vdmVfY2hpbGRfcHJv Y2Vzc19sb2cucGF0Y2gucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw MDAuLjUxOGI5NTVhMGIwCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9lbGVjdHJvbjcvZmls ZXMvcGF0Y2hlcy9jaHJvbWl1bS0wMDMtdXBzdHJlYW1fbW92ZV9jaGlsZF9wcm9jZXNzX2xvZy5w YXRjaC5wYXRjaApAQCAtMCwwICsxLDczMCBAQAorRnJvbSA3MjZjYmZjZmFhNTIxZTllNTA5ODgy OTE5NWE3ZDlhOWMxOWNhMzkxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSm9lIE1h c29uIDxqb2Vub3RjaGFybGVzQGdvb2dsZS5jb20+CitEYXRlOiBXZWQsIDQgRGVjIDIwMTkgMTg6 MTU6MzYgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gTW92ZSBjaGlsZCBwcm9jZXNzIGxvZyBjYXB0 dXJlIHRvIGEgQ2hpbGRQcm9jZXNzTG9nZ2VyIGNsYXNzLgorTUlNRS1WZXJzaW9uOiAxLjAKK0Nv bnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1F bmNvZGluZzogOGJpdAorCitVcGRhdGUgY29tbWVudHMgdG8gY2xhcmlmeSBob3cgdGhlIGNoaWxk IHByb2Nlc3MgbG9nIGludGVyYWN0cyB3aXRoCitTY29wZWRMb2dnaW5nLgorCitVc2UgdGhlIG5l dyBjbGFzcyB0byBjYXB0dXJlIGxvZ3MgaW4gY2xlYW5lcl90ZXN0LmNjLAorc2VjdXJlX2RsbF9s b2FkaW5nX3Rlc3QuY2MgYW5kIHByb3RvX2Nocm9tZV9wcm9tcHRfaXBjX3VuaXR0ZXN0LmNjLgor CitSPeKAi3Byb2JlcmdlCisKKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDA2MzYwMDIyOWZi N2RjNDcyZmY2NjgzOWJhMjY1N2JmOTliOTg4NTApCisKK0J1ZzogMTAzMDMzMworQ2hhbmdlLUlk OiBJODhmNTM4ZmYzNjBiYjhlZDlkYTY3NDNkYzVkNmM0YjI2M2FmOTkyYworUmV2aWV3ZWQtb246 IGh0dHBzOi8vY2hyb21pdW0tcmV2aWV3Lmdvb2dsZXNvdXJjZS5jb20vYy9jaHJvbWl1bS9zcmMv Ky8xOTQ3OTg2CitDb21taXQtUXVldWU6IEpvZSBNYXNvbiA8am9lbm90Y2hhcmxlc0BjaHJvbWl1 bS5vcmc+CitSZXZpZXdlZC1ieTogcHJvYmVyZ2UgPHByb2JlcmdlQGNocm9taXVtLm9yZz4KK0Ny LU9yaWdpbmFsLUNvbW1pdC1Qb3NpdGlvbjogcmVmcy9oZWFkcy9tYXN0ZXJAeyM3MjExODR9CitS ZXZpZXdlZC1vbjogaHR0cHM6Ly9jaHJvbWl1bS1yZXZpZXcuZ29vZ2xlc291cmNlLmNvbS9jL2No cm9taXVtL3NyYy8rLzE5NDk2MzEKK1Jldmlld2VkLWJ5OiBKb2UgTWFzb24gPGpvZW5vdGNoYXJs ZXNAY2hyb21pdW0ub3JnPgorQ3ItQ29tbWl0LVBvc2l0aW9uOiByZWZzL2JyYW5jaC1oZWFkcy8z OTA0QHsjOTE0fQorQ3ItQnJhbmNoZWQtRnJvbTogNjc1OTY4YThjNjU3YTNiZDljMWMyYzIwYzVk MjkzNTU3N2JiYzVlNi1yZWZzL2hlYWRzL21hc3RlckB7IzY5Mzk1NH0KKy0tLQorIGNocm9tZS9j aHJvbWVfY2xlYW5lci9pcGMvQlVJTEQuZ24gICAgICAgICAgICB8ICAxICsKKyBjaHJvbWUvY2hy b21lX2NsZWFuZXIvaXBjL2lwY190ZXN0X3V0aWwuY2MgICAgfCA5OCArKystLS0tLS0tLS0tLS0t LS0tCisgY2hyb21lL2Nocm9tZV9jbGVhbmVyL2lwYy9pcGNfdGVzdF91dGlsLmggICAgIHwgMTcg KystLQorIC4uLi9pcGMvcHJvdG9fY2hyb21lX3Byb21wdF9pcGNfdW5pdHRlc3QuY2MgICB8IDI2 ICsrKy0tCisgY2hyb21lL2Nocm9tZV9jbGVhbmVyL3Rlc3QvQlVJTEQuZ24gICAgICAgICAgIHwg IDMgKworIC4uLi90ZXN0L2NoaWxkX3Byb2Nlc3NfbG9nZ2VyLmNjICAgICAgICAgICAgICB8IDkw ICsrKysrKysrKysrKysrKysrCisgLi4uL3Rlc3QvY2hpbGRfcHJvY2Vzc19sb2dnZXIuaCAgICAg ICAgICAgICAgIHwgNjIgKysrKysrKysrKysrCisgY2hyb21lL2Nocm9tZV9jbGVhbmVyL3Rlc3Qv Y2xlYW5lcl90ZXN0LmNjICAgIHwgMTQgKystCisgLi4uL3Rlc3Qvc2VjdXJlX2RsbF9sb2FkaW5n X3Rlc3QuY2MgICAgICAgICAgIHwgNTcgKystLS0tLS0tLS0KKyA5IGZpbGVzIGNoYW5nZWQsIDIw NyBpbnNlcnRpb25zKCspLCAxNjEgZGVsZXRpb25zKC0pCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGNo cm9tZS9jaHJvbWVfY2xlYW5lci90ZXN0L2NoaWxkX3Byb2Nlc3NfbG9nZ2VyLmNjCisgY3JlYXRl IG1vZGUgMTAwNjQ0IGNocm9tZS9jaHJvbWVfY2xlYW5lci90ZXN0L2NoaWxkX3Byb2Nlc3NfbG9n Z2VyLmgKKworZGlmZiAtLWdpdCBhL2Nocm9tZS9jaHJvbWVfY2xlYW5lci9pcGMvQlVJTEQuZ24g Yi9jaHJvbWUvY2hyb21lX2NsZWFuZXIvaXBjL0JVSUxELmduCitpbmRleCAwM2ZkZGZkODczNmUx Li40ZDgxODAzYTI0ZGY2IDEwMDY0NAorLS0tIGEvY2hyb21lL2Nocm9tZV9jbGVhbmVyL2lwYy9C VUlMRC5nbgorKysrIGIvY2hyb21lL2Nocm9tZV9jbGVhbmVyL2lwYy9CVUlMRC5nbgorQEAgLTc3 LDYgKzc3LDcgQEAgc291cmNlX3NldCgiaXBjX3Rlc3RfdXRpbCIpIHsKKyAgICAgIi8vYmFzZS90 ZXN0OnRlc3Rfc3VwcG9ydCIsCisgICAgICIvL2Nocm9tZS9jaHJvbWVfY2xlYW5lci9pcGM6c2Fu ZGJveCIsCisgICAgICIvL2Nocm9tZS9jaHJvbWVfY2xlYW5lci9sb2dnaW5nOmNvbW1vbiIsCisr ICAgICIvL2Nocm9tZS9jaHJvbWVfY2xlYW5lci90ZXN0OnRlc3RfdXRpbCIsCisgICAgICIvL21v am8vcHVibGljL2NwcC9zeXN0ZW0iLAorICAgICAiLy9zYW5kYm94L3dpbjpzYW5kYm94IiwKKyAg ICAgIi8vdGVzdGluZy9ndGVzdCIsCitkaWZmIC0tZ2l0IGEvY2hyb21lL2Nocm9tZV9jbGVhbmVy L2lwYy9pcGNfdGVzdF91dGlsLmNjIGIvY2hyb21lL2Nocm9tZV9jbGVhbmVyL2lwYy9pcGNfdGVz dF91dGlsLmNjCitpbmRleCAwZDAzYTY4NzBmYjA3Li5lYTJiYjIxNDViZmRkIDEwMDY0NAorLS0t IGEvY2hyb21lL2Nocm9tZV9jbGVhbmVyL2lwYy9pcGNfdGVzdF91dGlsLmNjCisrKysgYi9jaHJv bWUvY2hyb21lX2NsZWFuZXIvaXBjL2lwY190ZXN0X3V0aWwuY2MKK0BAIC0xMiwxNCArMTIsMTAg QEAKKyAjaW5jbHVkZSAiYmFzZS9iaW5kX2hlbHBlcnMuaCIKKyAjaW5jbHVkZSAiYmFzZS9jb21t YW5kX2xpbmUuaCIKKyAjaW5jbHVkZSAiYmFzZS9maWxlcy9maWxlX3BhdGguaCIKKy0jaW5jbHVk ZSAiYmFzZS9maWxlcy9maWxlX3V0aWwuaCIKKy0jaW5jbHVkZSAiYmFzZS9maWxlcy9zY29wZWRf dGVtcF9kaXIuaCIKKyAjaW5jbHVkZSAiYmFzZS9sb2dnaW5nLmgiCisgI2luY2x1ZGUgImJhc2Uv cHJvY2Vzcy9sYXVuY2guaCIKKyAjaW5jbHVkZSAiYmFzZS9yYW5kX3V0aWwuaCIKKyAjaW5jbHVk ZSAiYmFzZS9zdHJpbmdzL3N0cmluZ19udW1iZXJfY29udmVyc2lvbnMuaCIKKy0jaW5jbHVkZSAi YmFzZS9zdHJpbmdzL3N0cmluZ19waWVjZS5oIgorLSNpbmNsdWRlICJiYXNlL3N0cmluZ3Mvc3Ry aW5nX3NwbGl0LmgiCisgI2luY2x1ZGUgImJhc2UvdGVzdC9tdWx0aXByb2Nlc3NfdGVzdC5oIgor ICNpbmNsdWRlICJiYXNlL3Rlc3QvdGVzdF90aW1lb3V0cy5oIgorICNpbmNsdWRlICJiYXNlL3dp bi93aW5fdXRpbC5oIgorQEAgLTM0LDExICszMCw4IEBAIGNvbnN0ZXhwciBjaGFyIGtNb2pvUGlw ZVRva2VuU3dpdGNoW10gPSAibW9qby1waXBlLXRva2VuIjsKKyAKKyBjbGFzcyBNb2pvU2FuZGJv eFNldHVwSG9va3MgOiBwdWJsaWMgU2FuZGJveFNldHVwSG9va3MgeworICBwdWJsaWM6CistICBl eHBsaWNpdCBNb2pvU2FuZGJveFNldHVwSG9va3MoCistICAgICAgU2FuZGJveGVkUGFyZW50UHJv Y2VzcyogcGFyZW50X3Byb2Nlc3MsCistICAgICAgYmFzZTo6d2luOjpTY29wZWRIYW5kbGUgY2hp bGRfc3Rkb3V0X3dyaXRlX2hhbmRsZSkKKy0gICAgICA6IHBhcmVudF9wcm9jZXNzXyhwYXJlbnRf cHJvY2VzcyksCistICAgICAgICBjaGlsZF9zdGRvdXRfd3JpdGVfaGFuZGxlXyhzdGQ6Om1vdmUo Y2hpbGRfc3Rkb3V0X3dyaXRlX2hhbmRsZSkpIHt9CisrICBleHBsaWNpdCBNb2pvU2FuZGJveFNl dHVwSG9va3MoU2FuZGJveGVkUGFyZW50UHJvY2VzcyogcGFyZW50X3Byb2Nlc3MpCisrICAgICAg OiBwYXJlbnRfcHJvY2Vzc18ocGFyZW50X3Byb2Nlc3MpIHt9CisgICB+TW9qb1NhbmRib3hTZXR1 cEhvb2tzKCkgb3ZlcnJpZGUgPSBkZWZhdWx0OworIAorICAgLy8gU2FuZGJveFNldHVwSG9va3MK K0BAIC01MCw4ICs0Myw3IEBAIGNsYXNzIE1vam9TYW5kYm94U2V0dXBIb29rcyA6IHB1YmxpYyBT YW5kYm94U2V0dXBIb29rcyB7CisgICAgIHBhcmVudF9wcm9jZXNzXy0+Q3JlYXRlTW9qb1BpcGUo Y29tbWFuZF9saW5lLCAmaGFuZGxlc190b19pbmhlcml0KTsKKyAgICAgZm9yIChIQU5ETEUgaGFu ZGxlIDogaGFuZGxlc190b19pbmhlcml0KQorICAgICAgIHBvbGljeS0+QWRkSGFuZGxlVG9TaGFy ZShoYW5kbGUpOworLSAgICBwb2xpY3ktPlNldFN0ZG91dEhhbmRsZShjaGlsZF9zdGRvdXRfd3Jp dGVfaGFuZGxlXy5HZXQoKSk7CistICAgIHBvbGljeS0+U2V0U3RkZXJySGFuZGxlKGNoaWxkX3N0 ZG91dF93cml0ZV9oYW5kbGVfLkdldCgpKTsKKysgICAgcGFyZW50X3Byb2Nlc3NfLT5jaGlsZF9w cm9jZXNzX2xvZ2dlcigpLlVwZGF0ZVNhbmRib3hQb2xpY3kocG9saWN5KTsKKyAgICAgcmV0dXJu IFJFU1VMVF9DT0RFX1NVQ0NFU1M7CisgICB9CisgCitAQCAtNjksMzggKzYxLDYgQEAgY2xhc3Mg TW9qb1NhbmRib3hTZXR1cEhvb2tzIDogcHVibGljIFNhbmRib3hTZXR1cEhvb2tzIHsKKyAKKyB9 ICAvLyBuYW1lc3BhY2UKKyAKKy1uYW1lc3BhY2UgaW50ZXJuYWwgeworLQorLXZvaWQgUHJpbnRD aGlsZFByb2Nlc3NMb2dzKGNvbnN0IGJhc2U6OkZpbGVQYXRoJiBsb2dfcGF0aCkgeworLSAgaWYg KGxvZ19wYXRoLmVtcHR5KCkpIHsKKy0gICAgTE9HKEVSUk9SKSA8PCAiQ2hpbGQgcHJvY2VzcyBs b2cgcGF0aCBpcyBlbXB0eSI7CistICAgIHJldHVybjsKKy0gIH0KKy0KKy0gIGlmICghYmFzZTo6 UGF0aEV4aXN0cyhsb2dfcGF0aCkpIHsKKy0gICAgTE9HKEVSUk9SKSA8PCAiQ2hpbGQgcHJvY2Vz cyBsb2cgZmlsZSBkb2Vzbid0IGV4aXN0IjsKKy0gICAgcmV0dXJuOworLSAgfQorLQorLSAgLy8g Q29sbGVjdCB0aGUgY2hpbGQgcHJvY2VzcyBsb2cgZmlsZSwgYW5kIGR1bXAgdGhlIGNvbnRlbnRz LCB0byBoZWxwCistICAvLyBkZWJ1Z2dpbmcgZmFpbHVyZXMuCistICBzdGQ6OnN0cmluZyBsb2df ZmlsZV9jb250ZW50czsKKy0gIGlmICghYmFzZTo6UmVhZEZpbGVUb1N0cmluZyhsb2dfcGF0aCwg JmxvZ19maWxlX2NvbnRlbnRzKSkgeworLSAgICBMT0coRVJST1IpIDw8ICJGYWlsZWQgdG8gcmVh ZCBjaGlsZCBwcm9jZXNzIGxvZyBmaWxlIjsKKy0gICAgcmV0dXJuOworLSAgfQorLQorLSAgc3Rk Ojp2ZWN0b3I8YmFzZTo6U3RyaW5nUGllY2U+IGxpbmVzID0KKy0gICAgICBiYXNlOjpTcGxpdFN0 cmluZ1BpZWNlKGxvZ19maWxlX2NvbnRlbnRzLCAiXG4iLCBiYXNlOjpUUklNX1dISVRFU1BBQ0Us CistICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXNlOjpTUExJVF9XQU5UX05PTkVNUFRZ KTsKKy0gIExPRyhFUlJPUikgPDwgIkR1bXBpbmcgY2hpbGQgcHJvY2VzcyBsb2dzIjsKKy0gIGZv ciAoY29uc3QgYXV0byYgbGluZSA6IGxpbmVzKSB7CistICAgIExPRyhFUlJPUikgPDwgIkNoaWxk IHByb2Nlc3M6ICIgPDwgbGluZTsKKy0gIH0KKy19CistCistfSAgLy8gbmFtZXNwYWNlIGludGVy bmFsCistCisgUGFyZW50UHJvY2Vzczo6UGFyZW50UHJvY2VzcyhzY29wZWRfcmVmcHRyPE1vam9U YXNrUnVubmVyPiBtb2pvX3Rhc2tfcnVubmVyKQorICAgICA6IGNvbW1hbmRfbGluZV8oYmFzZTo6 R2V0TXVsdGlQcm9jZXNzVGVzdENoaWxkQmFzZUNvbW1hbmRMaW5lKCkpLAorICAgICAgIG1vam9f dGFza19ydW5uZXJfKG1vam9fdGFza19ydW5uZXIpIHt9CitAQCAtMTU4LDM2ICsxMTgsMTAgQEAg Ym9vbCBQYXJlbnRQcm9jZXNzOjpMYXVuY2hDb25uZWN0ZWRDaGlsZFByb2Nlc3MoCisgICAgIGNv bnN0IHN0ZDo6c3RyaW5nJiBjaGlsZF9tYWluX2Z1bmN0aW9uLAorICAgICBiYXNlOjpUaW1lRGVs dGEgdGltZW91dCwKKyAgICAgaW50MzJfdCogZXhpdF9jb2RlKSB7CistICAvLyBBZGFwdGVkIGZy b20KKy0gIC8vIGh0dHBzOi8vY3MuY2hyb21pdW0ub3JnL2Nocm9taXVtL3NyYy9zYW5kYm94L3dp bi9zcmMvaGFuZGxlX2luaGVyaXRhbmNlX3Rlc3QuY2MKKy0gIGJhc2U6OlNjb3BlZFRlbXBEaXIg dGVtcF9kaXI7CistICBpZiAoIXRlbXBfZGlyLkNyZWF0ZVVuaXF1ZVRlbXBEaXIoKSkgeworLSAg ICBQTE9HKEVSUk9SKSA8PCAiQ291bGQgbm90IGNyZWF0ZSB0ZW1wIGRpciBmb3IgY2hpbGQgc3Rk b3V0IjsKKysgIGlmICghY2hpbGRfcHJvY2Vzc19sb2dnZXJfLkluaXRpYWxpemUoKSkKKyAgICAg cmV0dXJuIGZhbHNlOworLSAgfQorLQorLSAgYmFzZTo6RmlsZVBhdGggdGVtcF9maWxlX25hbWU7 CistICBpZiAoIUNyZWF0ZVRlbXBvcmFyeUZpbGVJbkRpcih0ZW1wX2Rpci5HZXRQYXRoKCksICZ0 ZW1wX2ZpbGVfbmFtZSkpIHsKKy0gICAgUExPRyhFUlJPUikgPDwgIkNvdWxkIG5vdCBjcmVhdGUg dGVtcCBmaWxlIGZvciBjaGlsZCBzdGRvdXQiOworLSAgICByZXR1cm4gZmFsc2U7CistICB9Cist CistICBTRUNVUklUWV9BVFRSSUJVVEVTIGF0dHJzID0ge307CistICBhdHRycy5uTGVuZ3RoID0g c2l6ZW9mKGF0dHJzKTsKKy0gIGF0dHJzLmJJbmhlcml0SGFuZGxlID0gdHJ1ZTsKKy0KKy0gIGJh c2U6Ondpbjo6U2NvcGVkSGFuZGxlIGNoaWxkX3N0ZG91dF93cml0ZV9oYW5kbGUoCistICAgICAg OjpDcmVhdGVGaWxlKHRlbXBfZmlsZV9uYW1lLnZhbHVlKCkuY19zdHIoKSwgR0VORVJJQ19XUklU RSwKKy0gICAgICAgICAgICAgICAgICAgRklMRV9TSEFSRV9XUklURSB8IEZJTEVfU0hBUkVfUkVB RCB8IEZJTEVfU0hBUkVfREVMRVRFLAorLSAgICAgICAgICAgICAgICAgICAmYXR0cnMsIE9QRU5f RVhJU1RJTkcsIDAsIG51bGxwdHIpKTsKKy0gIGlmICghY2hpbGRfc3Rkb3V0X3dyaXRlX2hhbmRs ZS5Jc1ZhbGlkKCkpIHsKKy0gICAgUExPRyhFUlJPUikgPDwgIkNvdWxkIG5vdCBvcGVuIGNoaWxk IHN0ZG91dCBmaWxlIjsKKy0gICAgcmV0dXJuIGZhbHNlOworLSAgfQorLQorLSAgaWYgKCFQcmVw YXJlQW5kTGF1bmNoVGVzdENoaWxkUHJvY2VzcyhjaGlsZF9tYWluX2Z1bmN0aW9uLAorLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGQ6Om1vdmUoY2hpbGRfc3Rkb3V0 X3dyaXRlX2hhbmRsZSkpKSB7CistICAgIGludGVybmFsOjpQcmludENoaWxkUHJvY2Vzc0xvZ3Mo dGVtcF9maWxlX25hbWUpOworKyAgaWYgKCFQcmVwYXJlQW5kTGF1bmNoVGVzdENoaWxkUHJvY2Vz cyhjaGlsZF9tYWluX2Z1bmN0aW9uKSkgeworKyAgICBjaGlsZF9wcm9jZXNzX2xvZ2dlcl8uRHVt cExvZ3MoKTsKKyAgICAgcmV0dXJuIGZhbHNlOworICAgfQorIAorQEAgLTIwMSwzMSArMTM1LDIy IEBAIGJvb2wgUGFyZW50UHJvY2Vzczo6TGF1bmNoQ29ubmVjdGVkQ2hpbGRQcm9jZXNzKAorICAg RGVzdHJveUltcGxPbklQQ1RocmVhZCgpOworIAorICAgaWYgKCFzdWNjZXNzIHx8ICpleGl0X2Nv ZGUgIT0gMCkgeworLSAgICBpbnRlcm5hbDo6UHJpbnRDaGlsZFByb2Nlc3NMb2dzKHRlbXBfZmls ZV9uYW1lKTsKKysgICAgY2hpbGRfcHJvY2Vzc19sb2dnZXJfLkR1bXBMb2dzKCk7CisgICB9Cisg CisgICByZXR1cm4gc3VjY2VzczsKKyB9CisgCisgYm9vbCBQYXJlbnRQcm9jZXNzOjpQcmVwYXJl QW5kTGF1bmNoVGVzdENoaWxkUHJvY2VzcygKKy0gICAgY29uc3Qgc3RkOjpzdHJpbmcmIGNoaWxk X21haW5fZnVuY3Rpb24sCistICAgIGJhc2U6Ondpbjo6U2NvcGVkSGFuZGxlIGNoaWxkX3N0ZG91 dF93cml0ZV9oYW5kbGUpIHsKKysgICAgY29uc3Qgc3RkOjpzdHJpbmcmIGNoaWxkX21haW5fZnVu Y3Rpb24pIHsKKyAgIGJhc2U6OkxhdW5jaE9wdGlvbnMgbGF1bmNoX29wdGlvbnM7CisgICBsYXVu Y2hfb3B0aW9ucy5oYW5kbGVzX3RvX2luaGVyaXQgPSBleHRyYV9oYW5kbGVzX3RvX2luaGVyaXRf OworLSAgbGF1bmNoX29wdGlvbnMuaGFuZGxlc190b19pbmhlcml0LnB1c2hfYmFjayhjaGlsZF9z dGRvdXRfd3JpdGVfaGFuZGxlLkdldCgpKTsKKy0gIGxhdW5jaF9vcHRpb25zLnN0ZGluX2hhbmRs ZSA9IElOVkFMSURfSEFORExFX1ZBTFVFOworLSAgbGF1bmNoX29wdGlvbnMuc3Rkb3V0X2hhbmRs ZSA9IGNoaWxkX3N0ZG91dF93cml0ZV9oYW5kbGUuR2V0KCk7CistICBsYXVuY2hfb3B0aW9ucy5z dGRlcnJfaGFuZGxlID0gY2hpbGRfc3Rkb3V0X3dyaXRlX2hhbmRsZS5HZXQoKTsKKy0KKysgIGNo aWxkX3Byb2Nlc3NfbG9nZ2VyXy5VcGRhdGVMYXVuY2hPcHRpb25zKCZsYXVuY2hfb3B0aW9ucyk7 CisgICBDcmVhdGVNb2pvUGlwZSgmY29tbWFuZF9saW5lXywgJmxhdW5jaF9vcHRpb25zLmhhbmRs ZXNfdG9faW5oZXJpdCk7CisgCisgICBiYXNlOjpQcm9jZXNzIGNoaWxkX3Byb2Nlc3MgPSBiYXNl OjpTcGF3bk11bHRpUHJvY2Vzc1Rlc3RDaGlsZCgKKyAgICAgICBjaGlsZF9tYWluX2Z1bmN0aW9u LCBjb21tYW5kX2xpbmVfLCBsYXVuY2hfb3B0aW9ucyk7CisgCistICAvLyBOb3cgdGhhdCBpdCdz IGJlZW4gcGFzc2VkIHRvIHRoZSBjaGlsZCBwcm9jZXNzLAorLSAgLy8gfGNoaWxkX3N0ZG91dF93 cml0ZV9oYW5kbGV8IGNhbiBiZSBjbG9zZWQgaW4gdGhpcyBwcm9jZXNzIGFzIGl0IGdvZXMgb3V0 CistICAvLyBvZiBzY29wZS4KKy0KKyAgIENvbm5lY3RNb2pvUGlwZShzdGQ6Om1vdmUoY2hpbGRf cHJvY2VzcykpOworICAgcmV0dXJuIHRydWU7CisgfQorQEAgLTI1Nyw5ICsxODIsOCBAQCBTYW5k Ym94ZWRQYXJlbnRQcm9jZXNzOjpTYW5kYm94ZWRQYXJlbnRQcm9jZXNzKAorIFNhbmRib3hlZFBh cmVudFByb2Nlc3M6On5TYW5kYm94ZWRQYXJlbnRQcm9jZXNzKCkge30KKyAKKyBib29sIFNhbmRi b3hlZFBhcmVudFByb2Nlc3M6OlByZXBhcmVBbmRMYXVuY2hUZXN0Q2hpbGRQcm9jZXNzKAorLSAg ICBjb25zdCBzdGQ6OnN0cmluZyYgY2hpbGRfbWFpbl9mdW5jdGlvbiwKKy0gICAgYmFzZTo6d2lu OjpTY29wZWRIYW5kbGUgY2hpbGRfc3Rkb3V0X3dyaXRlX2hhbmRsZSkgeworLSAgTW9qb1NhbmRi b3hTZXR1cEhvb2tzIGhvb2tzKHRoaXMsIHN0ZDo6bW92ZShjaGlsZF9zdGRvdXRfd3JpdGVfaGFu ZGxlKSk7CisrICAgIGNvbnN0IHN0ZDo6c3RyaW5nJiBjaGlsZF9tYWluX2Z1bmN0aW9uKSB7Cisr ICBNb2pvU2FuZGJveFNldHVwSG9va3MgaG9va3ModGhpcyk7CisgCisgICAvLyBUaGlzIHN3aXRj aCB1c2FnZSBpcyBjb3BpZWQgZnJvbSBTcGF3bk11bHRpUHJvY2Vzc1Rlc3RDaGlsZC4KKyAgIC8v CitkaWZmIC0tZ2l0IGEvY2hyb21lL2Nocm9tZV9jbGVhbmVyL2lwYy9pcGNfdGVzdF91dGlsLmgg Yi9jaHJvbWUvY2hyb21lX2NsZWFuZXIvaXBjL2lwY190ZXN0X3V0aWwuaAoraW5kZXggMWIyZTU1 OThlZDUyYS4uMTUyNmE0MjcwMTM1MyAxMDA2NDQKKy0tLSBhL2Nocm9tZS9jaHJvbWVfY2xlYW5l ci9pcGMvaXBjX3Rlc3RfdXRpbC5oCisrKysgYi9jaHJvbWUvY2hyb21lX2NsZWFuZXIvaXBjL2lw Y190ZXN0X3V0aWwuaAorQEAgLTE0LDkgKzE0LDkgQEAKKyAjaW5jbHVkZSAiYmFzZS9wcm9jZXNz L2xhdW5jaC5oIgorICNpbmNsdWRlICJiYXNlL3Byb2Nlc3MvcHJvY2Vzcy5oIgorICNpbmNsdWRl ICJiYXNlL3RpbWUvdGltZS5oIgorLSNpbmNsdWRlICJiYXNlL3dpbi9zY29wZWRfaGFuZGxlLmgi CisgI2luY2x1ZGUgImNocm9tZS9jaHJvbWVfY2xlYW5lci9pcGMvY2hyb21lX3Byb21wdF9pcGMu aCIKKyAjaW5jbHVkZSAiY2hyb21lL2Nocm9tZV9jbGVhbmVyL2lwYy9tb2pvX3Rhc2tfcnVubmVy LmgiCisrI2luY2x1ZGUgImNocm9tZS9jaHJvbWVfY2xlYW5lci90ZXN0L2NoaWxkX3Byb2Nlc3Nf bG9nZ2VyLmgiCisgI2luY2x1ZGUgIm1vam8vcHVibGljL2NwcC9wbGF0Zm9ybS9wbGF0Zm9ybV9j aGFubmVsLmgiCisgI2luY2x1ZGUgIm1vam8vcHVibGljL2NwcC9zeXN0ZW0vaW52aXRhdGlvbi5o IgorICNpbmNsdWRlICJtb2pvL3B1YmxpYy9jcHAvc3lzdGVtL21lc3NhZ2VfcGlwZS5oIgorQEAg LTU4LDYgKzU4LDEwIEBAIGNsYXNzIFBhcmVudFByb2Nlc3MgOiBwdWJsaWMgYmFzZTo6UmVmQ291 bnRlZFRocmVhZFNhZmU8UGFyZW50UHJvY2Vzcz4geworICAgICByZXR1cm4gZXh0cmFfaGFuZGxl c190b19pbmhlcml0XzsKKyAgIH0KKyAKKysgIGNvbnN0IENoaWxkUHJvY2Vzc0xvZ2dlciYgY2hp bGRfcHJvY2Vzc19sb2dnZXIoKSBjb25zdCB7CisrICAgIHJldHVybiBjaGlsZF9wcm9jZXNzX2xv Z2dlcl87CisrICB9CisrCisgIHByb3RlY3RlZDoKKyAgIGZyaWVuZCBiYXNlOjpSZWZDb3VudGVk VGhyZWFkU2FmZTxQYXJlbnRQcm9jZXNzPjsKKyAgIHZpcnR1YWwgflBhcmVudFByb2Nlc3MoKTsK K0BAIC03MCwxMyArNzQsMTMgQEAgY2xhc3MgUGFyZW50UHJvY2VzcyA6IHB1YmxpYyBiYXNlOjpS ZWZDb3VudGVkVGhyZWFkU2FmZTxQYXJlbnRQcm9jZXNzPiB7CisgICAvLyBhcyBpbiB0aGUgc2Fu ZGJveC4gU3ViY2xhc3NlcyBzaG91bGQgY2FsbCBDcmVhdGVNb2pvUGlwZSBiZWZvcmUgdGhlCisg ICAvLyBzdWJwcm9jZXNzIGlzIHNwYXduZWQgYW5kIENvbm5lY3RNb2pvUGlwZSBhZnRlcndhcmQu CisgICB2aXJ0dWFsIGJvb2wgUHJlcGFyZUFuZExhdW5jaFRlc3RDaGlsZFByb2Nlc3MoCistICAg ICAgY29uc3Qgc3RkOjpzdHJpbmcmIGNoaWxkX21haW5fZnVuY3Rpb24sCistICAgICAgYmFzZTo6 d2luOjpTY29wZWRIYW5kbGUgY2hpbGRfc3Rkb3V0X3dyaXRlX2hhbmRsZSk7CisrICAgICAgY29u c3Qgc3RkOjpzdHJpbmcmIGNoaWxkX21haW5fZnVuY3Rpb24pOworIAorICAgc2NvcGVkX3JlZnB0 cjxNb2pvVGFza1J1bm5lcj4gbW9qb190YXNrX3J1bm5lcigpOworIAorICAgYmFzZTo6Q29tbWFu ZExpbmUgY29tbWFuZF9saW5lXzsKKyAgIGJhc2U6OkhhbmRsZXNUb0luaGVyaXRWZWN0b3IgZXh0 cmFfaGFuZGxlc190b19pbmhlcml0XzsKKysgIENoaWxkUHJvY2Vzc0xvZ2dlciBjaGlsZF9wcm9j ZXNzX2xvZ2dlcl87CisgCisgIHByaXZhdGU6CisgICBzY29wZWRfcmVmcHRyPE1vam9UYXNrUnVu bmVyPiBtb2pvX3Rhc2tfcnVubmVyXzsKK0BAIC05Niw4ICsxMDAsNyBAQCBjbGFzcyBTYW5kYm94 ZWRQYXJlbnRQcm9jZXNzIDogcHVibGljIFBhcmVudFByb2Nlc3MgeworICAgflNhbmRib3hlZFBh cmVudFByb2Nlc3MoKSBvdmVycmlkZTsKKyAKKyAgIGJvb2wgUHJlcGFyZUFuZExhdW5jaFRlc3RD aGlsZFByb2Nlc3MoCistICAgICAgY29uc3Qgc3RkOjpzdHJpbmcmIGNoaWxkX21haW5fZnVuY3Rp b24sCistICAgICAgYmFzZTo6d2luOjpTY29wZWRIYW5kbGUgY2hpbGRfc3Rkb3V0X3dyaXRlX2hh bmRsZSkgb3ZlcnJpZGU7CisrICAgICAgY29uc3Qgc3RkOjpzdHJpbmcmIGNoaWxkX21haW5fZnVu Y3Rpb24pIG92ZXJyaWRlOworIH07CisgCisgY2xhc3MgQ2hpbGRQcm9jZXNzIDogcHVibGljIGJh c2U6OlJlZkNvdW50ZWRUaHJlYWRTYWZlPENoaWxkUHJvY2Vzcz4geworQEAgLTE0MywxMCArMTQ2 LDYgQEAgY2xhc3MgQ2hyb21lUHJvbXB0SVBDVGVzdEVycm9ySGFuZGxlciA6IHB1YmxpYyBDaHJv bWVQcm9tcHRJUEM6OkVycm9ySGFuZGxlciB7CisgICBiYXNlOjpPbmNlQ2xvc3VyZSBvbl9jbG9z ZWRfYWZ0ZXJfZG9uZV87CisgfTsKKyAKKy1uYW1lc3BhY2UgaW50ZXJuYWwgeworLXZvaWQgUHJp bnRDaGlsZFByb2Nlc3NMb2dzKGNvbnN0IGJhc2U6OkZpbGVQYXRoJiBsb2dfZmlsZSk7CistfSAg Ly8gbmFtZXNwYWNlIGludGVybmFsCistCisgfSAgLy8gbmFtZXNwYWNlIGNocm9tZV9jbGVhbmVy CisgCisgI2VuZGlmICAvLyBDSFJPTUVfQ0hST01FX0NMRUFORVJfSVBDX0lQQ19URVNUX1VUSUxf SF8KK2RpZmYgLS1naXQgYS9jaHJvbWUvY2hyb21lX2NsZWFuZXIvaXBjL3Byb3RvX2Nocm9tZV9w cm9tcHRfaXBjX3VuaXR0ZXN0LmNjIGIvY2hyb21lL2Nocm9tZV9jbGVhbmVyL2lwYy9wcm90b19j aHJvbWVfcHJvbXB0X2lwY191bml0dGVzdC5jYworaW5kZXggZjg2N2RmNThmOTZlYS4uZTNjZTJh YjZjMjdmZSAxMDA2NDQKKy0tLSBhL2Nocm9tZS9jaHJvbWVfY2xlYW5lci9pcGMvcHJvdG9fY2hy b21lX3Byb21wdF9pcGNfdW5pdHRlc3QuY2MKKysrKyBiL2Nocm9tZS9jaHJvbWVfY2xlYW5lci9p cGMvcHJvdG9fY2hyb21lX3Byb21wdF9pcGNfdW5pdHRlc3QuY2MKK0BAIC01LDcgKzUsNiBAQAor ICNpbmNsdWRlIDx3aW5kb3dzLmg+CisgCisgI2luY2x1ZGUgImJhc2UvY29tbWFuZF9saW5lLmgi CistI2luY2x1ZGUgImJhc2UvZmlsZXMvZmlsZV91dGlsLmgiCisgI2luY2x1ZGUgImJhc2UvcHJv Y2Vzcy9wcm9jZXNzLmgiCisgI2luY2x1ZGUgImJhc2Uvc3RyaW5ncy9zdHJjYXQuaCIKKyAjaW5j bHVkZSAiYmFzZS9zdHJpbmdzL3N0cmluZ19udW1iZXJfY29udmVyc2lvbnMuaCIKK0BAIC0xOSw3 ICsxOCw3IEBACisgI2luY2x1ZGUgImJhc2Uvd2luL3dpbl91dGlsLmgiCisgI2luY2x1ZGUgImNo cm9tZS9jaHJvbWVfY2xlYW5lci9pcGMvaXBjX3Rlc3RfdXRpbC5oIgorICNpbmNsdWRlICJjaHJv bWUvY2hyb21lX2NsZWFuZXIvaXBjL3Byb3RvX2Nocm9tZV9wcm9tcHRfaXBjLmgiCistI2luY2x1 ZGUgImNocm9tZS9jaHJvbWVfY2xlYW5lci9sb2dnaW5nL3Njb3BlZF9sb2dnaW5nLmgiCisrI2lu Y2x1ZGUgImNocm9tZS9jaHJvbWVfY2xlYW5lci90ZXN0L2NoaWxkX3Byb2Nlc3NfbG9nZ2VyLmgi CisgI2luY2x1ZGUgImNvbXBvbmVudHMvY2hyb21lX2NsZWFuZXIvcHVibGljL2NvbnN0YW50cy9j b25zdGFudHMuaCIKKyAjaW5jbHVkZSAiY29tcG9uZW50cy9jaHJvbWVfY2xlYW5lci9wdWJsaWMv cHJvdG8vY2hyb21lX3Byb21wdC5wYi5oIgorICNpbmNsdWRlICJjb21wb25lbnRzL2Nocm9tZV9j bGVhbmVyL3B1YmxpYy9wcm90by9jaHJvbWVfcHJvbXB0X2Zvcl90ZXN0cy5wYi5oIgorQEAgLTQy LDcgKzQxLDYgQEAgY29uc3RleHByIGNoYXIga0V4cGVjdGVkUHJvbXB0UmVzdWx0U3dpdGNoW10g PSAiZXhwZWN0ZWQtcHJvbXB0LXJlc3VsdCI7CisgY29uc3RleHByIGNoYXIga0V4cGVjdGVkQ2hy b21lRGlzY29ubmVjdFBvaW50U3dpdGNoW10gPQorICAgICAiZXhwZWN0ZWQtcGFyZW50LWRpc2Nv bm5lY3RlZCI7CisgCistY29uc3RleHByIGJhc2U6OmNoYXIxNiBrTG9nU3VmZml4W10gPSBMInBy b21wdC1pcGMtdGVzdCI7CisgY29uc3RleHByIGJhc2U6OmNoYXIxNiBrSW52YWxpZFVURjE2U3Ry aW5nW10gPSB7MHhEQzAwLCAweEQ4MDAsIDB4RDgwMCwgMHhERkZGLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4REZGRiwgMHhEQkZGLCAwfTsKKyBj b25zdCBiYXNlOjpGaWxlUGF0aCBrSW52YWxpZEZpbGVQYXRoKGtJbnZhbGlkVVRGMTZTdHJpbmcp OworQEAgLTQyMSw4ICs0MTksNyBAQCBjbGFzcyBNb2NrQ2hyb21lIHsKKyAvLyBHdGVzdCB0byBs b2cuCisgY2xhc3MgQ2hpbGRQcm9jZXNzIHsKKyAgcHVibGljOgorLSAgQ2hpbGRQcm9jZXNzKCkK Ky0gICAgICA6IHNjb3BwZWRfbG9nZ2luZ18oc3RkOjptYWtlX3VuaXF1ZTxTY29wZWRMb2dnaW5n PihrTG9nU3VmZml4KSkgeworKyAgQ2hpbGRQcm9jZXNzKCkgeworICAgICBtb2NrX2Nocm9tZV8g PSBzdGQ6Om1ha2VfdW5pcXVlPE1vY2tDaHJvbWU+KAorICAgICAgICAgRXh0cmFjdEhhbmRsZUZy b21Db21tYW5kTGluZShjaHJvbWVfY2xlYW5lcjo6a0Nocm9tZVJlYWRIYW5kbGVTd2l0Y2gpLAor ICAgICAgICAgRXh0cmFjdEhhbmRsZUZyb21Db21tYW5kTGluZShjaHJvbWVfY2xlYW5lcjo6a0No cm9tZVdyaXRlSGFuZGxlU3dpdGNoKSk7CitAQCAtNTcxLDcgKzU2OCw2IEBAIGNsYXNzIENoaWxk UHJvY2VzcyB7CisgCisgIHByaXZhdGU6CisgICBzdGQ6OnVuaXF1ZV9wdHI8TW9ja0Nocm9tZT4g bW9ja19jaHJvbWVfOworLSAgc3RkOjp1bmlxdWVfcHRyPFNjb3BlZExvZ2dpbmc+IHNjb3BwZWRf bG9nZ2luZ187CisgCisgICBDaHJvbWVEaXNjb25uZWN0UG9pbnQgZXhwZWN0ZWRfZGlzY29ubmVj dF9wb2ludF8gPQorICAgICAgIENocm9tZURpc2Nvbm5lY3RQb2ludDo6a1Vuc3BlY2lmaWVkOwor QEAgLTYwMyw2ICs1OTksOSBAQCBjbGFzcyBQcm90b0Nocm9tZVByb21wdElQQ1Rlc3QKKyBjbGFz cyBQYXJlbnRQcm9jZXNzIHsKKyAgcHVibGljOgorICAgYm9vbCBJbml0aWFsaXplKCkgeworKyAg ICBpZiAoIWNoaWxkX3Byb2Nlc3NfbG9nZ2VyXy5Jbml0aWFsaXplKCkpCisrICAgICAgcmV0dXJu IGZhbHNlOworKworICAgICAvLyBJbmplY3QgdGhlIGZsYWdzIHJlbGF0ZWQgdG8gdGhlIHRoZSBj b25maWcgaW4gdGhlIGNvbW1hbmQgbGluZS4KKyAgICAgdGVzdF9jb25maWdfLkVuaGFuY2VDb21t YW5kTGluZSgmY29tbWFuZF9saW5lXyk7CisgCitAQCAtNjMxLDE0ICs2MzAsMTMgQEAgY2xhc3Mg UGFyZW50UHJvY2VzcyB7CisgICB9CisgCisgICB2b2lkIFJ1bigpIHsKKy0gICAgLy8gRGVsZXRl IHRoZSBjaGlsZCBwcm9jZXNzIGxvZyBmaWxlIGlmIGV4aXN0aW5nLgorLSAgICBjb25zdCBiYXNl OjpGaWxlUGF0aCBsb2dfcGF0aCA9IFNjb3BlZExvZ2dpbmc6OkdldExvZ0ZpbGVQYXRoKGtMb2dT dWZmaXgpOworLSAgICBBU1NFUlRfVFJVRShiYXNlOjpEZWxldGVGaWxlKGxvZ19wYXRoLCBmYWxz ZSkpCistICAgICAgICA8PCAiQ2FuJ3QgZGVsZXRlIGxvZyBmaWxlIGZyb20gcHJldmlvdXMgcnVu OiAiIDw8IGxvZ19wYXRoLnZhbHVlKCk7CisrICAgIGNoaWxkX3Byb2Nlc3NfbG9nZ2VyXy5VcGRh dGVMYXVuY2hPcHRpb25zKCZsYXVuY2hfb3B0aW9uc18pOworIAorICAgICAvLyBQYXNzIHRoZSBj b21tYW5kIHRvIHRoZSBjaGlsZCBwcm9jZXNzIGFuZCBsYXVuY2ggdGhlIGNoaWxkIHByb2Nlc3Mu CisgICAgIGJhc2U6OlByb2Nlc3MgY2hpbGRfcHJvY2VzcyA9IGJhc2U6OlNwYXduTXVsdGlQcm9j ZXNzVGVzdENoaWxkKAorICAgICAgICAgIlByb3RvQ2hyb21lUHJvbXB0SVBDQ2xpZW50TWFpbiIs IGNvbW1hbmRfbGluZV8sIGxhdW5jaF9vcHRpb25zXyk7CisrICAgIGlmICghY2hpbGRfcHJvY2Vz cy5Jc1J1bm5pbmcoKSkKKysgICAgICBjaGlsZF9wcm9jZXNzX2xvZ2dlcl8uRHVtcExvZ3MoKTsK KyAgICAgQVNTRVJUX1RSVUUoY2hpbGRfcHJvY2Vzcy5Jc1J1bm5pbmcoKSk7CisgCisgICAgIC8v IENsb3NlIG91ciByZWZlcmVuY2VzIHRvIHRoZSBoYW5kbGVzIGFzIHRoZXkgYXJlIG5vdyBoYW5k bGVkIGJ5IHRoZSBjaGlsZAorQEAgLTcwNSwxMCArNzAzLDggQEAgY2xhc3MgUGFyZW50UHJvY2Vz cyB7CisgCisgICAgIEVYUEVDVF9FUShleHBlY3RlZF9leGl0X2NvZGUsIHJ2KTsKKyAKKy0gICAg aWYgKCFzdWNjZXNzIHx8IHJ2ICE9IDApIHsKKy0gICAgICBpbnRlcm5hbDo6UHJpbnRDaGlsZFBy b2Nlc3NMb2dzKAorLSAgICAgICAgICBTY29wZWRMb2dnaW5nOjpHZXRMb2dGaWxlUGF0aChrTG9n U3VmZml4KSk7CistICAgIH0KKysgICAgaWYgKCFzdWNjZXNzIHx8IHJ2ICE9IDApCisrICAgICAg Y2hpbGRfcHJvY2Vzc19sb2dnZXJfLkR1bXBMb2dzKCk7CisgICB9CisgCisgICBUZXN0Q29uZmln JiBHZXRUZXN0Q29uZmlnKCkgeyByZXR1cm4gdGVzdF9jb25maWdfOyB9CitAQCAtNzMyLDYgKzcy OCw4IEBAIGNsYXNzIFBhcmVudFByb2Nlc3MgeworICAgLy8gQmxvY2tzIHVudGlsIHdlIHJlY2Vp dmUgdGhlIHJlc3BvbnNlIGZyb20gQ2hyb21lIG9yIGFuIGVycm9yIG9jY3Vycy4KKyAgIGJhc2U6 OlJ1bkxvb3AgbWFpbl9ydW5sb29wXzsKKyAgIGJvb2wgZXJyb3Jfb2NjdXJyZWRfID0gZmFsc2U7 CisrCisrICBDaGlsZFByb2Nlc3NMb2dnZXIgY2hpbGRfcHJvY2Vzc19sb2dnZXJfOworIH07Cisg CisgLy8gVGhpcyBjb250YWlucyBjYWxscyB0byB0aGUgY2hyb21lX2NsZWFuZXJfaXBjIGltcGxl bWVudGF0aW9uLgorZGlmZiAtLWdpdCBhL2Nocm9tZS9jaHJvbWVfY2xlYW5lci90ZXN0L0JVSUxE LmduIGIvY2hyb21lL2Nocm9tZV9jbGVhbmVyL3Rlc3QvQlVJTEQuZ24KK2luZGV4IDExODQ1NGMy YmRjZDIuLjRiMDUzZmRjYWYxODIgMTAwNjQ0CistLS0gYS9jaHJvbWUvY2hyb21lX2NsZWFuZXIv dGVzdC9CVUlMRC5nbgorKysrIGIvY2hyb21lL2Nocm9tZV9jbGVhbmVyL3Rlc3QvQlVJTEQuZ24K K0BAIC0xNDgsNiArMTQ4LDggQEAgc291cmNlX3NldCgidGVzdF91dGlsIikgeworICAgdGVzdG9u bHkgPSB0cnVlCisgCisgICBzb3VyY2VzID0gWworKyAgICAiY2hpbGRfcHJvY2Vzc19sb2dnZXIu Y2MiLAorKyAgICAiY2hpbGRfcHJvY2Vzc19sb2dnZXIuaCIsCisgICAgICJmaWxlX3JlbW92ZXJf dGVzdF91dGlsLmNjIiwKKyAgICAgImZpbGVfcmVtb3Zlcl90ZXN0X3V0aWwuaCIsCisgICAgICJy ZWJvb3RfZGVsZXRpb25faGVscGVyLmNjIiwKK0BAIC0yMjgsNiArMjMwLDcgQEAgc291cmNlX3Nl dCgiaW50ZWdyYXRpb25fdGVzdF9zb3VyY2VzIikgeworICAgICAiLy9jaHJvbWUvY2hyb21lX2Ns ZWFuZXIvb3M6Y29tbW9uX29zIiwKKyAgICAgIi8vY2hyb21lL2Nocm9tZV9jbGVhbmVyL3B1cF9k YXRhOnB1cF9kYXRhX2Jhc2UiLAorICAgICAiLy9jaHJvbWUvY2hyb21lX2NsZWFuZXIvcHVwX2Rh dGE6dGVzdF91d3MiLAorKyAgICAiLy9jaHJvbWUvY2hyb21lX2NsZWFuZXIvdGVzdDp0ZXN0X3V0 aWwiLAorICAgICAiLy9jaHJvbWUvY2hyb21lX2NsZWFuZXIvemlwX2FyY2hpdmVyOmNvbW1vbiIs CisgICAgICIvL2NvbXBvbmVudHMvY2hyb21lX2NsZWFuZXIvcHVibGljL2NvbnN0YW50cyIsCisg ICAgICIvL2NvbXBvbmVudHMvY2hyb21lX2NsZWFuZXIvdGVzdDp0ZXN0X25hbWVfaGVscGVyIiwK K2RpZmYgLS1naXQgYS9jaHJvbWUvY2hyb21lX2NsZWFuZXIvdGVzdC9jaGlsZF9wcm9jZXNzX2xv Z2dlci5jYyBiL2Nocm9tZS9jaHJvbWVfY2xlYW5lci90ZXN0L2NoaWxkX3Byb2Nlc3NfbG9nZ2Vy LmNjCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMDAwMC4uOWY0ODM2MjY3 YWVhNgorLS0tIC9kZXYvbnVsbAorKysrIGIvY2hyb21lL2Nocm9tZV9jbGVhbmVyL3Rlc3QvY2hp bGRfcHJvY2Vzc19sb2dnZXIuY2MKK0BAIC0wLDAgKzEsOTAgQEAKKysvLyBDb3B5cmlnaHQgMjAx OSBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKysvLyBVc2Ugb2Yg dGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQg Y2FuIGJlCisrLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKysKKysjaW5jbHVkZSAiY2hy b21lL2Nocm9tZV9jbGVhbmVyL3Rlc3QvY2hpbGRfcHJvY2Vzc19sb2dnZXIuaCIKKysKKysjaW5j bHVkZSA8dmVjdG9yPgorKworKyNpbmNsdWRlICJiYXNlL2ZpbGVzL2ZpbGVfdXRpbC5oIgorKyNp bmNsdWRlICJiYXNlL2xvZ2dpbmcuaCIKKysjaW5jbHVkZSAiYmFzZS9zdHJpbmdzL3N0cmluZ19w aWVjZS5oIgorKyNpbmNsdWRlICJiYXNlL3N0cmluZ3Mvc3RyaW5nX3NwbGl0LmgiCisrCisrbmFt ZXNwYWNlIGNocm9tZV9jbGVhbmVyIHsKKysKKytDaGlsZFByb2Nlc3NMb2dnZXI6OkNoaWxkUHJv Y2Vzc0xvZ2dlcigpID0gZGVmYXVsdDsKKysKKytDaGlsZFByb2Nlc3NMb2dnZXI6On5DaGlsZFBy b2Nlc3NMb2dnZXIoKSA9IGRlZmF1bHQ7CisrCisrYm9vbCBDaGlsZFByb2Nlc3NMb2dnZXI6Oklu aXRpYWxpemUoKSB7CisrICAvLyBBZGFwdGVkIGZyb20KKysgIC8vIGh0dHBzOi8vY3MuY2hyb21p dW0ub3JnL2Nocm9taXVtL3NyYy9zYW5kYm94L3dpbi9zcmMvaGFuZGxlX2luaGVyaXRhbmNlX3Rl c3QuY2MKKysgIGlmICghdGVtcF9kaXJfLkNyZWF0ZVVuaXF1ZVRlbXBEaXIoKSkgeworKyAgICBQ TE9HKEVSUk9SKSA8PCAiQ291bGQgbm90IGNyZWF0ZSB0ZW1wIGRpciBmb3IgY2hpbGQgc3Rkb3V0 IjsKKysgICAgcmV0dXJuIGZhbHNlOworKyAgfQorKworKyAgaWYgKCFDcmVhdGVUZW1wb3JhcnlG aWxlSW5EaXIodGVtcF9kaXJfLkdldFBhdGgoKSwgJnRlbXBfZmlsZV9uYW1lXykpIHsKKysgICAg UExPRyhFUlJPUikgPDwgIkNvdWxkIG5vdCBjcmVhdGUgdGVtcCBmaWxlIGZvciBjaGlsZCBzdGRv dXQiOworKyAgICByZXR1cm4gZmFsc2U7CisrICB9CisrCisrICBTRUNVUklUWV9BVFRSSUJVVEVT IGF0dHJzID0ge307CisrICBhdHRycy5uTGVuZ3RoID0gc2l6ZW9mKGF0dHJzKTsKKysgIGF0dHJz LmJJbmhlcml0SGFuZGxlID0gdHJ1ZTsKKysKKysgIGNoaWxkX3N0ZG91dF9oYW5kbGVfLlNldCgK KysgICAgICA6OkNyZWF0ZUZpbGUodGVtcF9maWxlX25hbWVfLnZhbHVlKCkuY19zdHIoKSwgR0VO RVJJQ19XUklURSwKKysgICAgICAgICAgICAgICAgICAgRklMRV9TSEFSRV9XUklURSB8IEZJTEVf U0hBUkVfUkVBRCB8IEZJTEVfU0hBUkVfREVMRVRFLAorKyAgICAgICAgICAgICAgICAgICAmYXR0 cnMsIE9QRU5fRVhJU1RJTkcsIDAsIG51bGxwdHIpKTsKKysgIGlmICghY2hpbGRfc3Rkb3V0X2hh bmRsZV8uSXNWYWxpZCgpKSB7CisrICAgIFBMT0coRVJST1IpIDw8ICJDb3VsZCBub3Qgb3BlbiBj aGlsZCBzdGRvdXQgZmlsZSI7CisrICAgIHJldHVybiBmYWxzZTsKKysgIH0KKysKKysgIHJldHVy biB0cnVlOworK30KKysKKyt2b2lkIENoaWxkUHJvY2Vzc0xvZ2dlcjo6VXBkYXRlTGF1bmNoT3B0 aW9ucygKKysgICAgYmFzZTo6TGF1bmNoT3B0aW9ucyogb3B0aW9ucykgY29uc3QgeworKyAgRENI RUNLKGNoaWxkX3N0ZG91dF9oYW5kbGVfLklzVmFsaWQoKSk7CisrICBvcHRpb25zLT5oYW5kbGVz X3RvX2luaGVyaXQucHVzaF9iYWNrKGNoaWxkX3N0ZG91dF9oYW5kbGVfLkdldCgpKTsKKysgIG9w dGlvbnMtPnN0ZGluX2hhbmRsZSA9IElOVkFMSURfSEFORExFX1ZBTFVFOworKyAgb3B0aW9ucy0+ c3Rkb3V0X2hhbmRsZSA9IGNoaWxkX3N0ZG91dF9oYW5kbGVfLkdldCgpOworKyAgb3B0aW9ucy0+ c3RkZXJyX2hhbmRsZSA9IGNoaWxkX3N0ZG91dF9oYW5kbGVfLkdldCgpOworK30KKysKKyt2b2lk IENoaWxkUHJvY2Vzc0xvZ2dlcjo6VXBkYXRlU2FuZGJveFBvbGljeSgKKysgICAgc2FuZGJveDo6 VGFyZ2V0UG9saWN5KiBwb2xpY3kpIGNvbnN0IHsKKysgIERDSEVDSyhjaGlsZF9zdGRvdXRfaGFu ZGxlXy5Jc1ZhbGlkKCkpOworKyAgcG9saWN5LT5TZXRTdGRvdXRIYW5kbGUoY2hpbGRfc3Rkb3V0 X2hhbmRsZV8uR2V0KCkpOworKyAgcG9saWN5LT5TZXRTdGRlcnJIYW5kbGUoY2hpbGRfc3Rkb3V0 X2hhbmRsZV8uR2V0KCkpOworK30KKysKKyt2b2lkIENoaWxkUHJvY2Vzc0xvZ2dlcjo6RHVtcExv Z3MoKSBjb25zdCB7CisrICBEQ0hFQ0soIXRlbXBfZmlsZV9uYW1lXy5lbXB0eSgpKTsKKysKKysg IGlmICghYmFzZTo6UGF0aEV4aXN0cyh0ZW1wX2ZpbGVfbmFtZV8pKSB7CisrICAgIExPRyhFUlJP UikgPDwgIkNoaWxkIHByb2Nlc3MgbG9nIGZpbGUgZG9lc24ndCBleGlzdCI7CisrICAgIHJldHVy bjsKKysgIH0KKysKKysgIC8vIENvbGxlY3QgdGhlIGNoaWxkIHByb2Nlc3MgbG9nIGZpbGUsIGFu ZCBkdW1wIHRoZSBjb250ZW50cywgdG8gaGVscAorKyAgLy8gZGVidWdnaW5nIGZhaWx1cmVzLgor KyAgc3RkOjpzdHJpbmcgbG9nX2ZpbGVfY29udGVudHM7CisrICBpZiAoIWJhc2U6OlJlYWRGaWxl VG9TdHJpbmcodGVtcF9maWxlX25hbWVfLCAmbG9nX2ZpbGVfY29udGVudHMpKSB7CisrICAgIExP RyhFUlJPUikgPDwgIkZhaWxlZCB0byByZWFkIGNoaWxkIHByb2Nlc3MgbG9nIGZpbGUiOworKyAg ICByZXR1cm47CisrICB9CisrCisrICBzdGQ6OnZlY3RvcjxiYXNlOjpTdHJpbmdQaWVjZT4gbGlu ZXMgPQorKyAgICAgIGJhc2U6OlNwbGl0U3RyaW5nUGllY2UobG9nX2ZpbGVfY29udGVudHMsICJc biIsIGJhc2U6OlRSSU1fV0hJVEVTUEFDRSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGJhc2U6OlNQTElUX1dBTlRfTk9ORU1QVFkpOworKyAgTE9HKEVSUk9SKSA8PCAiRHVtcGluZyBj aGlsZCBwcm9jZXNzIGxvZ3MiOworKyAgZm9yIChjb25zdCBhdXRvJiBsaW5lIDogbGluZXMpIHsK KysgICAgTE9HKEVSUk9SKSA8PCAiQ2hpbGQgcHJvY2VzczogIiA8PCBsaW5lOworKyAgfQorK30K KysKKyt9ICAvLyBuYW1lc3BhY2UgY2hyb21lX2NsZWFuZXIKK2RpZmYgLS1naXQgYS9jaHJvbWUv Y2hyb21lX2NsZWFuZXIvdGVzdC9jaGlsZF9wcm9jZXNzX2xvZ2dlci5oIGIvY2hyb21lL2Nocm9t ZV9jbGVhbmVyL3Rlc3QvY2hpbGRfcHJvY2Vzc19sb2dnZXIuaAorbmV3IGZpbGUgbW9kZSAxMDA2 NDQKK2luZGV4IDAwMDAwMDAwMDAwMDAuLjIxNWZhOTExZDc4OTkKKy0tLSAvZGV2L251bGwKKysr KyBiL2Nocm9tZS9jaHJvbWVfY2xlYW5lci90ZXN0L2NoaWxkX3Byb2Nlc3NfbG9nZ2VyLmgKK0BA IC0wLDAgKzEsNjIgQEAKKysvLyBDb3B5cmlnaHQgMjAxOSBUaGUgQ2hyb21pdW0gQXV0aG9ycy4g QWxsIHJpZ2h0cyByZXNlcnZlZC4KKysvLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zl cm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCisrLy8gZm91bmQgaW4gdGhl IExJQ0VOU0UgZmlsZS4KKysKKysjaWZuZGVmIENIUk9NRV9DSFJPTUVfQ0xFQU5FUl9URVNUX0NI SUxEX1BST0NFU1NfTE9HR0VSX0hfCisrI2RlZmluZSBDSFJPTUVfQ0hST01FX0NMRUFORVJfVEVT VF9DSElMRF9QUk9DRVNTX0xPR0dFUl9IXworKworKyNpbmNsdWRlICJiYXNlL2ZpbGVzL3Njb3Bl ZF90ZW1wX2Rpci5oIgorKyNpbmNsdWRlICJiYXNlL3Byb2Nlc3MvbGF1bmNoLmgiCisrI2luY2x1 ZGUgImJhc2Uvd2luL3Njb3BlZF9oYW5kbGUuaCIKKysjaW5jbHVkZSAic2FuZGJveC93aW4vc3Jj L3NhbmRib3hfcG9saWN5LmgiCisrCisrbmFtZXNwYWNlIGNocm9tZV9jbGVhbmVyIHsKKysKKysv LyBSZWRpcmVjdHMgc3RkaW4gYW5kIHN0ZG91dCBvZiBhIGNoaWxkIHByb2Nlc3MgdG8gYSB0ZW1w IGZpbGUuIFRlc3RzIHRoYXQKKysvLyBzcGF3biBjaGlsZHJlbiBjYW4gYWRkIHRoZSBjb250ZW50 cyBvZiB0aGUgdGVtcCBmaWxlIHRvIHRoZSB0ZXN0IG91dHB1dC4KKysvLworKy8vIE5vdGUgdGhh dCBpZiB0aGUgY2hpbGQgcHJvY2VzcyBzZXRzIHVwIFNjb3BlZExvZ2dpbmcsIEVSUk9SIGFuZCBG QVRBTCBsZXZlbAorKy8vIGxvZ3Mgd2lsbCBzdGlsbCBiZSBjYXB0dXJlZCBieSB0aGlzLCBidXQg b3RoZXIgbG9ncyB3aWxsIHN0YXJ0IGdvaW5nIHRvIHRoZQorKy8vIFNjb3BlZExvZ2dpbmcgbG9n IGZpbGUuIHRlc3RfbWFpbi5jYyBzZXRzIHVwIFNjb3BlZExvZ2dpbmcgc28gdXN1YWxseSB0aGlz CisrLy8gY2xhc3Mgd2lsbCBjYXB0dXJlOgorKy8vCisrLy8gMS4gQWxsIGxvZyBsaW5lcyBmcm9t IGJlZm9yZSB0aGUgU2NvcGVkTG9nZ2luZyBjb25zdHJ1Y3Rvci4KKysvLyAyLiBFUlJPUiBhbmQg RkFUQUwgbG9nIGxpbmVzIGZyb20gYWZ0ZXIgdGhhdC4KKysvLyAzLiBzdGRvdXQgYW5kIHN0ZGVy ciBvdXRwdXQgdGhhdCBkb2Vzbid0IGdvIHRocm91Z2ggdGhlIGxvZ2dpbmcgc3lzdGVtLgorKy8v IDQuIFN0YWNrIHRyYWNlcyBmcm9tIGFueSBjcmFzaGVzLgorKy8vCisrLy8gVGhpcyBzaG91bGQg YmUgYWxsIHRoYXQncyBuZWVkZWQgdG8gZGlhZ25vc2UgZXJyb3JzIGluIHRlc3RzLgorK2NsYXNz IENoaWxkUHJvY2Vzc0xvZ2dlciB7CisrIHB1YmxpYzoKKysgIENoaWxkUHJvY2Vzc0xvZ2dlcigp OworKyAgfkNoaWxkUHJvY2Vzc0xvZ2dlcigpOworKworKyAgLy8gQ3JlYXRlcyBhIHRlbXAgZmls ZSBmb3IgY2hpbGQgcHJvY2Vzc2VzIHRvIGxvZyB0by4gTG9ncyBhbiBlcnJvciBhbmQKKysgIC8v IHJldHVybnMgZmFsc2Ugb24gZmFpbHVyZS4KKysgIGJvb2wgSW5pdGlhbGl6ZSgpOworKworKyAg Ly8gVXBkYXRlcyB8b3B0aW9uc3wgdG8gZGlyZWN0IHRoZSBjaGlsZCBzdGRvdXQgYW5kIHN0ZGVy ciB0byB0aGUgdGVtcCBmaWxlLgorKyAgLy8gRm9yIHVzZSB3aXRoIGJhc2U6OkxhdW5jaFByb2Nl c3MgYW5kIGJhc2U6OlNwYXduTXVsdGlQcm9jZXNzVGVzdENoaWxkLgorKyAgdm9pZCBVcGRhdGVM YXVuY2hPcHRpb25zKGJhc2U6OkxhdW5jaE9wdGlvbnMqIG9wdGlvbnMpIGNvbnN0OworKworKyAg Ly8gVXBkYXRlcyB8cG9saWN5fCB0byBkaXJlY3QgdGhlIGNoaWxkIHN0ZG91dCBhbmQgc3RkZXJy IHRvIHRoZSB0ZW1wIGZpbGUuCisrICAvLyBGb3IgdXNlIHdpdGggc2FuZGJveDo6QnJva2VyU2Vy dmljZXM6OlNwYXduVGFyZ2V0LgorKyAgdm9pZCBVcGRhdGVTYW5kYm94UG9saWN5KHNhbmRib3g6 OlRhcmdldFBvbGljeSogcG9saWN5KSBjb25zdDsKKysKKysgIC8vIFdyaXRlcyBldmVyeSBsaW5l IGluIHRoZSB0ZW1wIGZpbGUgdXNpbmcgTE9HKEVSUk9SKSBzbyB0aGF0IGFsbCBsaW5lcyBhcmUK KysgIC8vIGNhcHR1cmVkIGluIHRoZSB0ZXN0IHN1aXRlIG91dHB1dC4gVGhlIGNsYXNzLWxldmVs IGNvbW1lbnQgYWJvdmUgZGVzY3JpYmVzCisrICAvLyB3aGljaCBsb2cgbGluZXMgZnJvbSB0aGUg Y2hpbGQgd2lsbCBiZSBjYXB0dXJlZC4KKysgIHZvaWQgRHVtcExvZ3MoKSBjb25zdDsKKysKKysg cHJpdmF0ZToKKysgIENoaWxkUHJvY2Vzc0xvZ2dlcihjb25zdCBDaGlsZFByb2Nlc3NMb2dnZXIm IG90aGVyKSA9IGRlbGV0ZTsKKysgIENoaWxkUHJvY2Vzc0xvZ2dlciYgb3BlcmF0b3I9KGNvbnN0 IENoaWxkUHJvY2Vzc0xvZ2dlciYgb3RoZXIpID0gZGVsZXRlOworKworKyAgYmFzZTo6U2NvcGVk VGVtcERpciB0ZW1wX2Rpcl87CisrICBiYXNlOjpGaWxlUGF0aCB0ZW1wX2ZpbGVfbmFtZV87Cisr ICBiYXNlOjp3aW46OlNjb3BlZEhhbmRsZSBjaGlsZF9zdGRvdXRfaGFuZGxlXzsKKyt9OworKwor K30gIC8vIG5hbWVzcGFjZSBjaHJvbWVfY2xlYW5lcgorKworKyNlbmRpZiAgLy8gQ0hST01FX0NI Uk9NRV9DTEVBTkVSX1RFU1RfQ0hJTERfUFJPQ0VTU19MT0dHRVJfSF8KK2RpZmYgLS1naXQgYS9j aHJvbWUvY2hyb21lX2NsZWFuZXIvdGVzdC9jbGVhbmVyX3Rlc3QuY2MgYi9jaHJvbWUvY2hyb21l X2NsZWFuZXIvdGVzdC9jbGVhbmVyX3Rlc3QuY2MKK2luZGV4IGQ2ZGYxN2UzNTE2ZjEuLmY3Nzgx MDNiZmRhZDMgMTAwNjQ0CistLS0gYS9jaHJvbWUvY2hyb21lX2NsZWFuZXIvdGVzdC9jbGVhbmVy X3Rlc3QuY2MKKysrKyBiL2Nocm9tZS9jaHJvbWVfY2xlYW5lci90ZXN0L2NsZWFuZXJfdGVzdC5j YworQEAgLTI0LDYgKzI0LDcgQEAKKyAjaW5jbHVkZSAiY2hyb21lL2Nocm9tZV9jbGVhbmVyL29z L3ByZV9mZXRjaGVkX3BhdGhzLmgiCisgI2luY2x1ZGUgImNocm9tZS9jaHJvbWVfY2xlYW5lci9w dXBfZGF0YS9wdXBfZGF0YS5oIgorICNpbmNsdWRlICJjaHJvbWUvY2hyb21lX2NsZWFuZXIvcHVw X2RhdGEvdGVzdF91d3MuaCIKKysjaW5jbHVkZSAiY2hyb21lL2Nocm9tZV9jbGVhbmVyL3Rlc3Qv Y2hpbGRfcHJvY2Vzc19sb2dnZXIuaCIKKyAjaW5jbHVkZSAiY2hyb21lL2Nocm9tZV9jbGVhbmVy L3Rlc3QvdGVzdF91dGlsLmgiCisgI2luY2x1ZGUgImNocm9tZS9jaHJvbWVfY2xlYW5lci96aXBf YXJjaGl2ZXIvc2FuZGJveGVkX3ppcF9hcmNoaXZlci5oIgorICNpbmNsdWRlICJjb21wb25lbnRz L2Nocm9tZV9jbGVhbmVyL3B1YmxpYy9jb25zdGFudHMvY29uc3RhbnRzLmgiCitAQCAtMzExLDgg KzMxMiwxNCBAQCBjbGFzcyBDbGVhbmVyVGVzdAorIAorICAgdm9pZCBFeHBlY3RFeGl0Q29kZShj b25zdCBiYXNlOjpDb21tYW5kTGluZSYgY29tbWFuZF9saW5lLAorICAgICAgICAgICAgICAgICAg ICAgICBpbnQgZXhwZWN0ZWRfZXhpdF9jb2RlKSB7CistICAgIGJhc2U6OlByb2Nlc3MgcHJvY2Vz cygKKy0gICAgICAgIGJhc2U6OkxhdW5jaFByb2Nlc3MoY29tbWFuZF9saW5lLCBiYXNlOjpMYXVu Y2hPcHRpb25zKCkpKTsKKysgICAgY2hyb21lX2NsZWFuZXI6OkNoaWxkUHJvY2Vzc0xvZ2dlciBs b2dnZXI7CisrICAgIEFTU0VSVF9UUlVFKGxvZ2dlci5Jbml0aWFsaXplKCkpOworKworKyAgICBi YXNlOjpMYXVuY2hPcHRpb25zIG9wdGlvbnM7CisrICAgIGxvZ2dlci5VcGRhdGVMYXVuY2hPcHRp b25zKCZvcHRpb25zKTsKKysgICAgYmFzZTo6UHJvY2VzcyBwcm9jZXNzKGJhc2U6OkxhdW5jaFBy b2Nlc3MoY29tbWFuZF9saW5lLCBvcHRpb25zKSk7CisrICAgIGlmICghcHJvY2Vzcy5Jc1ZhbGlk KCkpCisrICAgICAgbG9nZ2VyLkR1bXBMb2dzKCk7CisgICAgIEFTU0VSVF9UUlVFKHByb2Nlc3Mu SXNWYWxpZCgpKTsKKyAKKyAgICAgaW50IGV4aXRfY29kZSA9IC0xOworQEAgLTMyMCw3ICszMjcs OCBAQCBjbGFzcyBDbGVhbmVyVGVzdAorICAgICAgICAgYmFzZTo6VGltZURlbHRhOjpGcm9tTWlu dXRlcygxMCksICZleGl0X2NvZGUpOworICAgICBFWFBFQ1RfVFJVRShleGl0ZWRfd2l0aGluX3Rp bWVvdXQpOworICAgICBFWFBFQ1RfRVEoZXhwZWN0ZWRfZXhpdF9jb2RlLCBleGl0X2NvZGUpOwor LQorKyAgICBpZiAoIWV4aXRlZF93aXRoaW5fdGltZW91dCB8fCBleHBlY3RlZF9leGl0X2NvZGUg IT0gZXhpdF9jb2RlKQorKyAgICAgIGxvZ2dlci5EdW1wTG9ncygpOworICAgICBpZiAoIWV4aXRl ZF93aXRoaW5fdGltZW91dCkKKyAgICAgICBwcm9jZXNzLlRlcm1pbmF0ZSgvKmV4aXRfY29kZT0q Ly0xLCAvKndhaXQ9Ki9mYWxzZSk7CisgICB9CitkaWZmIC0tZ2l0IGEvY2hyb21lL2Nocm9tZV9j bGVhbmVyL3Rlc3Qvc2VjdXJlX2RsbF9sb2FkaW5nX3Rlc3QuY2MgYi9jaHJvbWUvY2hyb21lX2Ns ZWFuZXIvdGVzdC9zZWN1cmVfZGxsX2xvYWRpbmdfdGVzdC5jYworaW5kZXggZmUxMGM0NDM0NmI1 ZS4uOTJlMmRiMTlmZGU2YyAxMDA2NDQKKy0tLSBhL2Nocm9tZS9jaHJvbWVfY2xlYW5lci90ZXN0 L3NlY3VyZV9kbGxfbG9hZGluZ190ZXN0LmNjCisrKysgYi9jaHJvbWUvY2hyb21lX2NsZWFuZXIv dGVzdC9zZWN1cmVfZGxsX2xvYWRpbmdfdGVzdC5jYworQEAgLTgsMjIgKzgsMTcgQEAKKyAKKyAj aW5jbHVkZSA8bWVtb3J5PgorICNpbmNsdWRlIDxzZXQ+CistI2luY2x1ZGUgPHN0cmluZz4KKyAj aW5jbHVkZSA8dmVjdG9yPgorIAorICNpbmNsdWRlICJiYXNlL2Jhc2VfcGF0aHMuaCIKKyAjaW5j bHVkZSAiYmFzZS9jb21tYW5kX2xpbmUuaCIKKyAjaW5jbHVkZSAiYmFzZS9maWxlcy9maWxlX3Bh dGguaCIKKy0jaW5jbHVkZSAiYmFzZS9maWxlcy9maWxlX3V0aWwuaCIKKy0jaW5jbHVkZSAiYmFz ZS9maWxlcy9zY29wZWRfdGVtcF9kaXIuaCIKKyAjaW5jbHVkZSAiYmFzZS9sb2dnaW5nLmgiCisg I2luY2x1ZGUgImJhc2UvcGF0aF9zZXJ2aWNlLmgiCisgI2luY2x1ZGUgImJhc2UvcHJvY2Vzcy9s YXVuY2guaCIKKyAjaW5jbHVkZSAiYmFzZS9wcm9jZXNzL3Byb2Nlc3MuaCIKKyAjaW5jbHVkZSAi YmFzZS9zdHJpbmdzL3N0cmluZzE2LmgiCisgI2luY2x1ZGUgImJhc2Uvc3RyaW5ncy9zdHJpbmdf bnVtYmVyX2NvbnZlcnNpb25zLmgiCistI2luY2x1ZGUgImJhc2Uvc3RyaW5ncy9zdHJpbmdfcGll Y2UuaCIKKy0jaW5jbHVkZSAiYmFzZS9zdHJpbmdzL3N0cmluZ19zcGxpdC5oIgorICNpbmNsdWRl ICJiYXNlL3N0cmluZ3Mvc3RyaW5nX3V0aWwuaCIKKyAjaW5jbHVkZSAiYmFzZS9zeW5jaHJvbml6 YXRpb24vd2FpdGFibGVfZXZlbnQuaCIKKyAjaW5jbHVkZSAiYmFzZS90ZXN0L3Rlc3RfdGltZW91 dHMuaCIKK0BAIC0zMiw1NCArMjcsMTYgQEAKKyAjaW5jbHVkZSAiY2hyb21lL2Nocm9tZV9jbGVh bmVyL2NvbnN0YW50cy9jaHJvbWVfY2xlYW5lcl9zd2l0Y2hlcy5oIgorICNpbmNsdWRlICJjaHJv bWUvY2hyb21lX2NsZWFuZXIvb3MvaW5oZXJpdGFibGVfZXZlbnQuaCIKKyAjaW5jbHVkZSAiY2hy b21lL2Nocm9tZV9jbGVhbmVyL29zL3Byb2Nlc3MuaCIKKysjaW5jbHVkZSAiY2hyb21lL2Nocm9t ZV9jbGVhbmVyL3Rlc3QvY2hpbGRfcHJvY2Vzc19sb2dnZXIuaCIKKyAjaW5jbHVkZSAiY2hyb21l L2Nocm9tZV9jbGVhbmVyL3Rlc3QvdGVzdF91dGlsLmgiCisgI2luY2x1ZGUgImNvbXBvbmVudHMv Y2hyb21lX2NsZWFuZXIvcHVibGljL2NvbnN0YW50cy9jb25zdGFudHMuaCIKKyAjaW5jbHVkZSAi Y29tcG9uZW50cy9jaHJvbWVfY2xlYW5lci90ZXN0L3Rlc3RfbmFtZV9oZWxwZXIuaCIKKyAjaW5j bHVkZSAidGVzdGluZy9ndGVzdC9pbmNsdWRlL2d0ZXN0L2d0ZXN0LmgiCisgCistbmFtZXNwYWNl IHsKKy0KKy12b2lkIFByaW50Q2hpbGRQcm9jZXNzTG9ncyhjb25zdCBiYXNlOjpGaWxlUGF0aCYg bG9nX2RpciwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICBiYXNlOjpTdHJpbmdQaWVjZTE2 IGZpbGVfbmFtZSkgeworLSAgYmFzZTo6c3RyaW5nMTYgYmFzZV9uYW1lOworLSAgaWYgKGZpbGVf bmFtZSA9PSBMInNvZnR3YXJlX3JlcG9ydGVyX3Rvb2wiKSB7CistICAgIGJhc2VfbmFtZSA9IEwi c29mdHdhcmVfcmVwb3J0ZXJfdG9vbCI7CistICB9IGVsc2UgaWYgKGZpbGVfbmFtZSA9PSBMImNo cm9tZV9jbGVhbnVwX3Rvb2wiKSB7CistICAgIGJhc2VfbmFtZSA9IEwiY2hyb21lX2NsZWFudXAi OworLSAgfSBlbHNlIHsKKy0gICAgTE9HKEVSUk9SKSA8PCAiVW5rbm93biBmaWxlIG5hbWUgIiA8 PCBmaWxlX25hbWUuZGF0YSgpOworLSAgICByZXR1cm47CistICB9CistCistICBiYXNlOjpGaWxl UGF0aCBsb2dfcGF0aCA9IGxvZ19kaXIuQXBwZW5kKGJhc2VfbmFtZSkuQWRkRXh0ZW5zaW9uKEwi bG9nIik7CistCistICBpZiAoIWJhc2U6OlBhdGhFeGlzdHMobG9nX3BhdGgpKSB7CistICAgIExP RyhFUlJPUikgPDwgIkNoaWxkIHByb2Nlc3MgbG9nIGZpbGUgZG9lc24ndCBleGlzdCI7CistICAg IHJldHVybjsKKy0gIH0KKy0KKy0gIC8vIENvbGxlY3QgdGhlIGNoaWxkIHByb2Nlc3MgbG9nIGZp bGUsIGFuZCBkdW1wIHRoZSBjb250ZW50cywgdG8gaGVscAorLSAgLy8gZGVidWdnaW5nIGZhaWx1 cmVzLgorLSAgc3RkOjpzdHJpbmcgbG9nX2ZpbGVfY29udGVudHM7CistICBpZiAoIWJhc2U6OlJl YWRGaWxlVG9TdHJpbmcobG9nX3BhdGgsICZsb2dfZmlsZV9jb250ZW50cykpIHsKKy0gICAgTE9H KEVSUk9SKSA8PCAiRmFpbGVkIHRvIHJlYWQgY2hpbGQgcHJvY2VzcyBsb2cgZmlsZSI7CistICAg IHJldHVybjsKKy0gIH0KKy0KKy0gIHN0ZDo6dmVjdG9yPGJhc2U6OlN0cmluZ1BpZWNlPiBsaW5l cyA9CistICAgICAgYmFzZTo6U3BsaXRTdHJpbmdQaWVjZShsb2dfZmlsZV9jb250ZW50cywgIlxu IiwgYmFzZTo6VFJJTV9XSElURVNQQUNFLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg YmFzZTo6U1BMSVRfV0FOVF9OT05FTVBUWSk7CistICBMT0coRVJST1IpIDw8ICJEdW1waW5nIGNo aWxkIHByb2Nlc3MgbG9ncyI7CistICBmb3IgKGNvbnN0IGF1dG8mIGxpbmUgOiBsaW5lcykgewor LSAgICBMT0coRVJST1IpIDw8ICJDaGlsZCBwcm9jZXNzOiAiIDw8IGxpbmU7CistICB9CistfQor LQorLX0gIC8vIG5hbWVzcGFjZQorLQorIGNsYXNzIFNlY3VyZURMTExvYWRpbmdUZXN0IDogcHVi bGljIHRlc3Rpbmc6OlRlc3RXaXRoUGFyYW08YmFzZTo6c3RyaW5nMTY+IHsKKyAgcHJvdGVjdGVk OgorICAgdm9pZCBTZXRVcCgpIG92ZXJyaWRlIHsKKysgICAgQVNTRVJUX1RSVUUoY2hpbGRfcHJv Y2Vzc19sb2dnZXJfLkluaXRpYWxpemUoKSk7CisgICAgIGJhc2U6OkZpbGVQYXRoIG91dF9kaXI7 CisgICAgIEFTU0VSVF9UUlVFKGJhc2U6OlBhdGhTZXJ2aWNlOjpHZXQoYmFzZTo6RElSX0VYRSwg Jm91dF9kaXIpKTsKKyAgICAgZXhlX3BhdGhfID0gb3V0X2Rpci5BcHBlbmQoR2V0UGFyYW0oKSAr IEwiLmV4ZSIpOworQEAgLTEwNCw4ICs2MSw2IEBAIGNsYXNzIFNlY3VyZURMTExvYWRpbmdUZXN0 IDogcHVibGljIHRlc3Rpbmc6OlRlc3RXaXRoUGFyYW08YmFzZTo6c3RyaW5nMTY+IHsKKyAgICAg ICAgIGJhc2U6Ok51bWJlclRvU3RyaW5nMTYoCisgICAgICAgICAgICAgYmFzZTo6d2luOjpIYW5k bGVUb1VpbnQzMihpbml0X2RvbmVfbm90aWZpZXItPmhhbmRsZSgpKSkpOworICAgICBjb21tYW5k X2xpbmUuQXBwZW5kU3dpdGNoKGNocm9tZV9jbGVhbmVyOjprTG9hZEVtcHR5RExMU3dpdGNoKTsK Ky0gICAgY29tbWFuZF9saW5lLkFwcGVuZFN3aXRjaFBhdGgoY2hyb21lX2NsZWFuZXI6OmtUZXN0 TG9nZ2luZ1BhdGhTd2l0Y2gsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxv Z19kaXIuR2V0UGF0aCgpKTsKKyAKKyAjaWYgIUJVSUxERkxBRyhJU19PRkZJQ0lBTF9DSFJPTUVf Q0xFQU5FUl9CVUlMRCkKKyAgICAgaWYgKGRpc2FibGVfc2VjdXJlX2RsbF9sb2FkaW5nKQorQEAg LTEyMSw3ICs3NiwxMiBAQCBjbGFzcyBTZWN1cmVETExMb2FkaW5nVGVzdCA6IHB1YmxpYyB0ZXN0 aW5nOjpUZXN0V2l0aFBhcmFtPGJhc2U6OnN0cmluZzE2PiB7CisgCisgICAgIGJhc2U6OkxhdW5j aE9wdGlvbnMgb3B0aW9uczsKKyAgICAgb3B0aW9ucy5oYW5kbGVzX3RvX2luaGVyaXQucHVzaF9i YWNrKGluaXRfZG9uZV9ub3RpZmllci0+aGFuZGxlKCkpOworKyAgICBjaGlsZF9wcm9jZXNzX2xv Z2dlcl8uVXBkYXRlTGF1bmNoT3B0aW9ucygmb3B0aW9ucyk7CisgICAgIGJhc2U6OlByb2Nlc3Mg cHJvY2VzcyA9IGJhc2U6OkxhdW5jaFByb2Nlc3MoY29tbWFuZF9saW5lLCBvcHRpb25zKTsKKysg ICAgaWYgKCFwcm9jZXNzLklzVmFsaWQoKSkgeworKyAgICAgIGNoaWxkX3Byb2Nlc3NfbG9nZ2Vy Xy5EdW1wTG9ncygpOworKyAgICAgIHJldHVybiBwcm9jZXNzOworKyAgICB9CisgCisgICAgIC8v IE1ha2Ugc3VyZSB0aGUgcHJvY2VzcyBoYXMgZmluaXNoZWQgaXRzIGluaXRpYWxpemF0aW9uIChp bmNsdWRpbmcgbG9hZGluZworICAgICAvLyBETExzKS4gQWxzbyBjaGVjayB0aGUgcHJvY2VzcyBo YW5kbGUgaW4gY2FzZSBpdCBleGl0cyB3aXRoIGFuIGVycm9yLgorQEAgLTEzNiw3ICs5Niw3IEBA IGNsYXNzIFNlY3VyZURMTExvYWRpbmdUZXN0IDogcHVibGljIHRlc3Rpbmc6OlRlc3RXaXRoUGFy YW08YmFzZTo6c3RyaW5nMTY+IHsKKyAgICAgICBQTE9HX0lGKEVSUk9SLCAhOjpHZXRFeGl0Q29k ZVByb2Nlc3MocHJvY2Vzcy5IYW5kbGUoKSwgJmV4aXRfY29kZSkpOworICAgICAgIEFERF9GQUlM VVJFKCkgPDwgIlByb2Nlc3MgZXhpdGVkIHdpdGggIiA8PCBleGl0X2NvZGUKKyAgICAgICAgICAg ICAgICAgICAgIDw8ICIgYmVmb3JlIHNpZ25hbGxpbmcgaW5pdF9kb25lX25vdGlmaWVyIjsKKy0g ICAgICBQcmludENoaWxkUHJvY2Vzc0xvZ3MobG9nX2Rpci5HZXRQYXRoKCksIEdldFBhcmFtKCkp OworKyAgICAgIGNoaWxkX3Byb2Nlc3NfbG9nZ2VyXy5EdW1wTG9ncygpOworICAgICB9IGVsc2Ug eworICAgICAgIEVYUEVDVF9FUSh3YWl0X3Jlc3VsdCwgV0FJVF9PQkpFQ1RfMCk7CisgICAgIH0K K0BAIC0xNTcsNiArMTE3LDcgQEAgY2xhc3MgU2VjdXJlRExMTG9hZGluZ1Rlc3QgOiBwdWJsaWMg dGVzdGluZzo6VGVzdFdpdGhQYXJhbTxiYXNlOjpzdHJpbmcxNj4geworICAgfQorIAorICBwcml2 YXRlOgorKyAgY2hyb21lX2NsZWFuZXI6OkNoaWxkUHJvY2Vzc0xvZ2dlciBjaGlsZF9wcm9jZXNz X2xvZ2dlcl87CisgICBiYXNlOjpGaWxlUGF0aCBleGVfcGF0aF87CisgICBiYXNlOjpGaWxlUGF0 aCBlbXB0eV9kbGxfcGF0aF87CisgfTsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZWxlY3Ryb243L2Zp bGVzL3BhdGNoZXMvY2hyb21pdW0tMDA0LXVwc3RyZWFtX3VzZV9jaGlsZHByb2Nlc3Nsb2dnZXIu cGF0Y2gucGF0Y2ggYi9zcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9wYXRjaGVzL2Nocm9taXVtLTAw NC11cHN0cmVhbV91c2VfY2hpbGRwcm9jZXNzbG9nZ2VyLnBhdGNoLnBhdGNoCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi42YTJhNDg5M2Q0NAotLS0gL2Rldi9udWxsCisr KyBiL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL3BhdGNoZXMvY2hyb21pdW0tMDA0LXVwc3RyZWFt X3VzZV9jaGlsZHByb2Nlc3Nsb2dnZXIucGF0Y2gucGF0Y2gKQEAgLTAsMCArMSwxODYgQEAKK0Zy b20gODkwOTU2YmUxNDk2YjYyNTk2N2RmMGJiZjYyMGU4ZmM0YWVmYjM5MCBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKK0Zyb206IEpvZSBNYXNvbiA8am9lbm90Y2hhcmxlc0Bnb29nbGUuY29tPgor RGF0ZTogV2VkLCA0IERlYyAyMDE5IDE4OjIyOjM0ICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIFVz ZSBDaGlsZFByb2Nlc3NMb2dnZXIgaW4gRmlsZVJlbW92ZXJRdWFyYW50aW5lVGVzdCBhbmQKKyBT YW5kYm94ZWRTaG9ydGN1dFBhcnNlclRlc3QKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5 cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6 IDhiaXQKKworUj3igItwcm9iZXJnZQorCisoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA4MTQ1 ODM4MzRlYmYzNWVkZTVkYWQwYmEzNTc0MzQzODUxYjFhOGJkKQorCitCdWc6IDEwMzAzMzMKK0No YW5nZS1JZDogSTY2YjliM2RjNzM5ODBlOGVkMDNlZTM3ZDg5ZWIxNzJiNTMzMGM5MTMKK1Jldmll d2VkLW9uOiBodHRwczovL2Nocm9taXVtLXJldmlldy5nb29nbGVzb3VyY2UuY29tL2MvY2hyb21p dW0vc3JjLysvMTk0ODIzNQorQ29tbWl0LVF1ZXVlOiBKb2UgTWFzb24gPGpvZW5vdGNoYXJsZXNA Y2hyb21pdW0ub3JnPgorUmV2aWV3ZWQtYnk6IHByb2JlcmdlIDxwcm9iZXJnZUBjaHJvbWl1bS5v cmc+CitDci1PcmlnaW5hbC1Db21taXQtUG9zaXRpb246IHJlZnMvaGVhZHMvbWFzdGVyQHsjNzIx MTkzfQorUmV2aWV3ZWQtb246IGh0dHBzOi8vY2hyb21pdW0tcmV2aWV3Lmdvb2dsZXNvdXJjZS5j b20vYy9jaHJvbWl1bS9zcmMvKy8xOTQ4MTAyCitSZXZpZXdlZC1ieTogSm9lIE1hc29uIDxqb2Vu b3RjaGFybGVzQGNocm9taXVtLm9yZz4KK0NyLUNvbW1pdC1Qb3NpdGlvbjogcmVmcy9icmFuY2gt aGVhZHMvMzkwNEB7IzkxNX0KK0NyLUJyYW5jaGVkLUZyb206IDY3NTk2OGE4YzY1N2EzYmQ5YzFj MmMyMGM1ZDI5MzU1NzdiYmM1ZTYtcmVmcy9oZWFkcy9tYXN0ZXJAeyM2OTM5NTR9CistLS0KKyAu Li4vb3MvZmlsZV9yZW1vdmVyX3VuaXR0ZXN0LmNjICAgICAgICAgICAgICAgfCAzOSArKysrKysr KysrKysrKysrLS0tCisgLi4uL3BhcnNlcnMvc2hvcnRjdXRfcGFyc2VyL2Jyb2tlci9CVUlMRC5n biAgIHwgIDEgKworIC4uLi9zYW5kYm94ZWRfc2hvcnRjdXRfcGFyc2VyX3VuaXR0ZXN0LmNjICAg ICB8IDM1ICsrKysrKysrKysrKysrKy0tCisgMyBmaWxlcyBjaGFuZ2VkLCA2NyBpbnNlcnRpb25z KCspLCA4IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY2hyb21lL2Nocm9tZV9jbGVhbmVy L29zL2ZpbGVfcmVtb3Zlcl91bml0dGVzdC5jYyBiL2Nocm9tZS9jaHJvbWVfY2xlYW5lci9vcy9m aWxlX3JlbW92ZXJfdW5pdHRlc3QuY2MKK2luZGV4IDUyYzliNGYxYzUwODkuLmM1Nzk4M2U4M2M2 YjkgMTAwNjQ0CistLS0gYS9jaHJvbWUvY2hyb21lX2NsZWFuZXIvb3MvZmlsZV9yZW1vdmVyX3Vu aXR0ZXN0LmNjCisrKysgYi9jaHJvbWUvY2hyb21lX2NsZWFuZXIvb3MvZmlsZV9yZW1vdmVyX3Vu aXR0ZXN0LmNjCitAQCAtMzAsNiArMzAsNyBAQAorICNpbmNsdWRlICJjaHJvbWUvY2hyb21lX2Ns ZWFuZXIvb3MvcHJlX2ZldGNoZWRfcGF0aHMuaCIKKyAjaW5jbHVkZSAiY2hyb21lL2Nocm9tZV9j bGVhbmVyL29zL3N5c3RlbV91dGlsLmgiCisgI2luY2x1ZGUgImNocm9tZS9jaHJvbWVfY2xlYW5l ci9vcy93aGl0ZWxpc3RlZF9kaXJlY3RvcnkuaCIKKysjaW5jbHVkZSAiY2hyb21lL2Nocm9tZV9j bGVhbmVyL3Rlc3QvY2hpbGRfcHJvY2Vzc19sb2dnZXIuaCIKKyAjaW5jbHVkZSAiY2hyb21lL2No cm9tZV9jbGVhbmVyL3Rlc3QvZmlsZV9yZW1vdmVyX3Rlc3RfdXRpbC5oIgorICNpbmNsdWRlICJj aHJvbWUvY2hyb21lX2NsZWFuZXIvdGVzdC9yZWJvb3RfZGVsZXRpb25faGVscGVyLmgiCisgI2lu Y2x1ZGUgImNocm9tZS9jaHJvbWVfY2xlYW5lci90ZXN0L3Jlc291cmNlcy9ncml0L3Rlc3RfcmVz b3VyY2VzLmgiCitAQCAtMzk4LDIwICszOTksNDcgQEAgY29uc3RleHByIHdjaGFyX3Qga1Rlc3RF eHBlY3RBcmNoaXZlTmFtZVtdID0KKyAgICAgTCJ0ZW1wX2ZpbGUuZXhlXyIKKyAgICAgTCJBNTkx QTZENDBCRjQyMDQwNEEwMTE3MzNDRkI3QjE5MEQ2MkM2NUJGMEJDREEzMkI1N0IyNzdEOUFEOUYx NDZFLnppcCI7CisgCisrY2xhc3MgTG9nZ2VkWmlwQXJjaGl2ZXJTYW5kYm94U2V0dXBIb29rcyA6 IHB1YmxpYyBaaXBBcmNoaXZlclNhbmRib3hTZXR1cEhvb2tzIHsKKysgcHVibGljOgorKyAgZXhw bGljaXQgTG9nZ2VkWmlwQXJjaGl2ZXJTYW5kYm94U2V0dXBIb29rcygKKysgICAgICBzY29wZWRf cmVmcHRyPE1vam9UYXNrUnVubmVyPiBtb2pvX3Rhc2tfcnVubmVyLAorKyAgICAgIGJhc2U6Ok9u Y2VDbG9zdXJlIGNvbm5lY3Rpb25fZXJyb3JfaGFuZGxlciwKKysgICAgICBjaHJvbWVfY2xlYW5l cjo6Q2hpbGRQcm9jZXNzTG9nZ2VyKiBjaGlsZF9wcm9jZXNzX2xvZ2dlcikKKysgICAgICA6IFpp cEFyY2hpdmVyU2FuZGJveFNldHVwSG9va3Moc3RkOjptb3ZlKG1vam9fdGFza19ydW5uZXIpLAor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGQ6Om1vdmUoY29ubmVjdGlv bl9lcnJvcl9oYW5kbGVyKSksCisrICAgICAgICBjaGlsZF9wcm9jZXNzX2xvZ2dlcl8oY2hpbGRf cHJvY2Vzc19sb2dnZXIpIHt9CisrCisrICBSZXN1bHRDb2RlIFVwZGF0ZVNhbmRib3hQb2xpY3ko c2FuZGJveDo6VGFyZ2V0UG9saWN5KiBwb2xpY3ksCisrICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgYmFzZTo6Q29tbWFuZExpbmUqIGNvbW1hbmRfbGluZSkgb3ZlcnJpZGUgeworKyAg ICBjaGlsZF9wcm9jZXNzX2xvZ2dlcl8tPlVwZGF0ZVNhbmRib3hQb2xpY3kocG9saWN5KTsKKysg ICAgcmV0dXJuIFppcEFyY2hpdmVyU2FuZGJveFNldHVwSG9va3M6OlVwZGF0ZVNhbmRib3hQb2xp Y3kocG9saWN5LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBjb21tYW5kX2xpbmUpOworKyAgfQorKworKyBwcml2YXRlOgorKyAg Y2hyb21lX2NsZWFuZXI6OkNoaWxkUHJvY2Vzc0xvZ2dlciogY2hpbGRfcHJvY2Vzc19sb2dnZXJf OworK307CisrCisgY2xhc3MgRmlsZVJlbW92ZXJRdWFyYW50aW5lVGVzdCA6IHB1YmxpYyBiYXNl OjpNdWx0aVByb2Nlc3NUZXN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw dWJsaWMgOjp0ZXN0aW5nOjpXaXRoUGFyYW1JbnRlcmZhY2U8Ym9vbD4geworICBwdWJsaWM6Cisg ICB2b2lkIFNldFVwKCkgb3ZlcnJpZGUgeworICAgICB1c2VfcmVib290X3JlbW92YWxfID0gR2V0 UGFyYW0oKTsKKyAKKysgICAgQVNTRVJUX1RSVUUoY2hpbGRfcHJvY2Vzc19sb2dnZXJfLkluaXRp YWxpemUoKSk7CisrCisgICAgIHNjb3BlZF9yZWZwdHI8TW9qb1Rhc2tSdW5uZXI+IG1vam9fdGFz a19ydW5uZXIgPSBNb2pvVGFza1J1bm5lcjo6Q3JlYXRlKCk7CistICAgIFppcEFyY2hpdmVyU2Fu ZGJveFNldHVwSG9va3Mgc2V0dXBfaG9va3MoCisrICAgIExvZ2dlZFppcEFyY2hpdmVyU2FuZGJv eFNldHVwSG9va3Mgc2V0dXBfaG9va3MoCisgICAgICAgICBtb2pvX3Rhc2tfcnVubmVyLmdldCgp LCBiYXNlOjpCaW5kT25jZShbXSB7CisgICAgICAgICAgIEZBSUwoKSA8PCAiWmlwQXJjaGl2ZXIg c2FuZGJveCBjb25uZWN0aW9uIGVycm9yIjsKKy0gICAgICAgIH0pKTsKKy0gICAgQVNTRVJUX0VR KFJFU1VMVF9DT0RFX1NVQ0NFU1MsCistICAgICAgICAgICAgICBTdGFydFNhbmRib3hUYXJnZXQo TWFrZUNtZExpbmUoIkZpbGVSZW1vdmVyUXVhcmFudGluZVRhcmdldE1haW4iKSwKKy0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAmc2V0dXBfaG9va3MsIFNhbmRib3hUeXBlOjprVGVz dCkpOworKyAgICAgICAgfSksCisrICAgICAgICAmY2hpbGRfcHJvY2Vzc19sb2dnZXJfKTsKKysg ICAgUmVzdWx0Q29kZSByZXN1bHRfY29kZSA9CisrICAgICAgICBTdGFydFNhbmRib3hUYXJnZXQo TWFrZUNtZExpbmUoIkZpbGVSZW1vdmVyUXVhcmFudGluZVRhcmdldE1haW4iKSwKKysgICAgICAg ICAgICAgICAgICAgICAgICAgICAmc2V0dXBfaG9va3MsIFNhbmRib3hUeXBlOjprVGVzdCk7Cisr ICAgIGlmIChyZXN1bHRfY29kZSAhPSBSRVNVTFRfQ09ERV9TVUNDRVNTKQorKyAgICAgIGNoaWxk X3Byb2Nlc3NfbG9nZ2VyXy5EdW1wTG9ncygpOworKyAgICBBU1NFUlRfRVEoUkVTVUxUX0NPREVf U1VDQ0VTUywgcmVzdWx0X2NvZGUpOworIAorICAgICBBU1NFUlRfVFJVRSh0ZW1wX2Rpcl8uQ3Jl YXRlVW5pcXVlVGVtcERpcigpKTsKKyAKK0BAIC00NDcsNiArNDc1LDcgQEAgY2xhc3MgRmlsZVJl bW92ZXJRdWFyYW50aW5lVGVzdCA6IHB1YmxpYyBiYXNlOjpNdWx0aVByb2Nlc3NUZXN0LAorICAg YmFzZTo6dGVzdDo6U2luZ2xlVGhyZWFkVGFza0Vudmlyb25tZW50IHRhc2tfZW52aXJvbm1lbnRf OworICAgYmFzZTo6U2NvcGVkVGVtcERpciB0ZW1wX2Rpcl87CisgICBzdGQ6OnVuaXF1ZV9wdHI8 RmlsZVJlbW92ZXI+IGZpbGVfcmVtb3Zlcl87CisrICBjaHJvbWVfY2xlYW5lcjo6Q2hpbGRQcm9j ZXNzTG9nZ2VyIGNoaWxkX3Byb2Nlc3NfbG9nZ2VyXzsKKyB9OworIAorIH0gIC8vIG5hbWVzcGFj ZQorZGlmZiAtLWdpdCBhL2Nocm9tZS9jaHJvbWVfY2xlYW5lci9wYXJzZXJzL3Nob3J0Y3V0X3Bh cnNlci9icm9rZXIvQlVJTEQuZ24gYi9jaHJvbWUvY2hyb21lX2NsZWFuZXIvcGFyc2Vycy9zaG9y dGN1dF9wYXJzZXIvYnJva2VyL0JVSUxELmduCitpbmRleCBiYzdiYTgxODhjODNiLi4wOWVkMDdi NzYxYTRlIDEwMDY0NAorLS0tIGEvY2hyb21lL2Nocm9tZV9jbGVhbmVyL3BhcnNlcnMvc2hvcnRj dXRfcGFyc2VyL2Jyb2tlci9CVUlMRC5nbgorKysrIGIvY2hyb21lL2Nocm9tZV9jbGVhbmVyL3Bh cnNlcnMvc2hvcnRjdXRfcGFyc2VyL2Jyb2tlci9CVUlMRC5nbgorQEAgLTY3LDYgKzY3LDcgQEAg c291cmNlX3NldCgidW5pdHRlc3Rfc291cmNlcyIpIHsKKyAgICAgIi8vY2hyb21lL2Nocm9tZV9j bGVhbmVyL3BhcnNlcnMvc2hvcnRjdXRfcGFyc2VyOnNhbmRib3hlZF9sbmtfcGFyc2VyX3Rlc3Rf dXRpbCIsCisgICAgICIvL2Nocm9tZS9jaHJvbWVfY2xlYW5lci9wYXJzZXJzL3Nob3J0Y3V0X3Bh cnNlci90YXJnZXQ6bG5rX3BhcnNlciIsCisgICAgICIvL2Nocm9tZS9jaHJvbWVfY2xlYW5lci9w YXJzZXJzL3RhcmdldDpwYXJzZXJfc2FuZGJveF90YXJnZXQiLAorKyAgICAiLy9jaHJvbWUvY2hy b21lX2NsZWFuZXIvdGVzdDp0ZXN0X3V0aWwiLAorICAgICAiLy9tb2pvL3B1YmxpYy9jcHAvYmlu ZGluZ3M6YmluZGluZ3MiLAorICAgICAiLy9zYW5kYm94L3dpbjpzYW5kYm94IiwKKyAgICAgIi8v dGVzdGluZy9ndGVzdCIsCitkaWZmIC0tZ2l0IGEvY2hyb21lL2Nocm9tZV9jbGVhbmVyL3BhcnNl cnMvc2hvcnRjdXRfcGFyc2VyL2Jyb2tlci9zYW5kYm94ZWRfc2hvcnRjdXRfcGFyc2VyX3VuaXR0 ZXN0LmNjIGIvY2hyb21lL2Nocm9tZV9jbGVhbmVyL3BhcnNlcnMvc2hvcnRjdXRfcGFyc2VyL2Jy b2tlci9zYW5kYm94ZWRfc2hvcnRjdXRfcGFyc2VyX3VuaXR0ZXN0LmNjCitpbmRleCA2NGFjOTFl ZDkyMDE2Li40YzAzM2YyMWM3N2MzIDEwMDY0NAorLS0tIGEvY2hyb21lL2Nocm9tZV9jbGVhbmVy L3BhcnNlcnMvc2hvcnRjdXRfcGFyc2VyL2Jyb2tlci9zYW5kYm94ZWRfc2hvcnRjdXRfcGFyc2Vy X3VuaXR0ZXN0LmNjCisrKysgYi9jaHJvbWUvY2hyb21lX2NsZWFuZXIvcGFyc2Vycy9zaG9ydGN1 dF9wYXJzZXIvYnJva2VyL3NhbmRib3hlZF9zaG9ydGN1dF9wYXJzZXJfdW5pdHRlc3QuY2MKK0BA IC0xOCw2ICsxOCw3IEBACisgI2luY2x1ZGUgImNocm9tZS9jaHJvbWVfY2xlYW5lci9wYXJzZXJz L2Jyb2tlci9zYW5kYm94X3NldHVwX2hvb2tzLmgiCisgI2luY2x1ZGUgImNocm9tZS9jaHJvbWVf Y2xlYW5lci9wYXJzZXJzL3Nob3J0Y3V0X3BhcnNlci9zYW5kYm94ZWRfbG5rX3BhcnNlcl90ZXN0 X3V0aWwuaCIKKyAjaW5jbHVkZSAiY2hyb21lL2Nocm9tZV9jbGVhbmVyL3BhcnNlcnMvdGFyZ2V0 L3NhbmRib3hfc2V0dXAuaCIKKysjaW5jbHVkZSAiY2hyb21lL2Nocm9tZV9jbGVhbmVyL3Rlc3Qv Y2hpbGRfcHJvY2Vzc19sb2dnZXIuaCIKKyAjaW5jbHVkZSAibW9qby9wdWJsaWMvY3BwL2JpbmRp bmdzL2ludGVyZmFjZV9yZXF1ZXN0LmgiCisgI2luY2x1ZGUgIm1vam8vcHVibGljL2NwcC9zeXN0 ZW0vcGxhdGZvcm1faGFuZGxlLmgiCisgI2luY2x1ZGUgInNhbmRib3gvd2luL3NyYy9zYW5kYm94 X2ZhY3RvcnkuaCIKK0BAIC0zMSw2ICszMiwyNiBAQCBjb25zdGV4cHIgdW5zaWduZWQgaW50IGtE aXJRdWFudGl0eSA9IDU7CisgCisgY29uc3QgYmFzZTo6c3RyaW5nMTYga0xua0FyZ3VtZW50cyA9 IEwiLWEgLWIgLWMgLWQgR2VuZXJpY0V4YW1wbGUiOworIAorK2NsYXNzIExvZ2dlZFBhcnNlclNh bmRib3hTZXR1cEhvb2tzIDogcHVibGljIFBhcnNlclNhbmRib3hTZXR1cEhvb2tzIHsKKysgcHVi bGljOgorKyAgZXhwbGljaXQgTG9nZ2VkUGFyc2VyU2FuZGJveFNldHVwSG9va3MoCisrICAgICAg c2NvcGVkX3JlZnB0cjxNb2pvVGFza1J1bm5lcj4gbW9qb190YXNrX3J1bm5lciwKKysgICAgICBi YXNlOjpPbmNlQ2xvc3VyZSBjb25uZWN0aW9uX2Vycm9yX2hhbmRsZXIsCisrICAgICAgY2hyb21l X2NsZWFuZXI6OkNoaWxkUHJvY2Vzc0xvZ2dlciogY2hpbGRfcHJvY2Vzc19sb2dnZXIpCisrICAg ICAgOiBQYXJzZXJTYW5kYm94U2V0dXBIb29rcyhzdGQ6Om1vdmUobW9qb190YXNrX3J1bm5lciks CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGQ6Om1vdmUoY29ubmVjdGlvbl9l cnJvcl9oYW5kbGVyKSksCisrICAgICAgICBjaGlsZF9wcm9jZXNzX2xvZ2dlcl8oY2hpbGRfcHJv Y2Vzc19sb2dnZXIpIHt9CisrCisrICBSZXN1bHRDb2RlIFVwZGF0ZVNhbmRib3hQb2xpY3koc2Fu ZGJveDo6VGFyZ2V0UG9saWN5KiBwb2xpY3ksCisrICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgYmFzZTo6Q29tbWFuZExpbmUqIGNvbW1hbmRfbGluZSkgb3ZlcnJpZGUgeworKyAgICBj aGlsZF9wcm9jZXNzX2xvZ2dlcl8tPlVwZGF0ZVNhbmRib3hQb2xpY3kocG9saWN5KTsKKysgICAg cmV0dXJuIFBhcnNlclNhbmRib3hTZXR1cEhvb2tzOjpVcGRhdGVTYW5kYm94UG9saWN5KHBvbGlj eSwgY29tbWFuZF9saW5lKTsKKysgIH0KKysKKysgcHJpdmF0ZToKKysgIGNocm9tZV9jbGVhbmVy OjpDaGlsZFByb2Nlc3NMb2dnZXIqIGNoaWxkX3Byb2Nlc3NfbG9nZ2VyXzsKKyt9OworKworIH0g IC8vIG5hbWVzcGFjZQorIAorIGNsYXNzIFNhbmRib3hlZFNob3J0Y3V0UGFyc2VyVGVzdCA6IHB1 YmxpYyBiYXNlOjpNdWx0aVByb2Nlc3NUZXN0IHsKK0BAIC00MCwxNCArNjEsMjAgQEAgY2xhc3Mg U2FuZGJveGVkU2hvcnRjdXRQYXJzZXJUZXN0IDogcHVibGljIGJhc2U6Ok11bHRpUHJvY2Vzc1Rl c3QgeworICAgICAgICAgdGVtcF9kaXJzX3dpdGhfY2hyb21lX2xua18oa0RpclF1YW50aXR5KSB7 fQorIAorICAgdm9pZCBTZXRVcCgpIG92ZXJyaWRlIHsKKysgICAgQVNTRVJUX1RSVUUoY2hpbGRf cHJvY2Vzc19sb2dnZXJfLkluaXRpYWxpemUoKSk7CisrCisgICAgIG1vam9fdGFza19ydW5uZXJf ID0gTW9qb1Rhc2tSdW5uZXI6OkNyZWF0ZSgpOworICAgICBQYXJzZXJTYW5kYm94U2V0dXBIb29r cyBzZXR1cF9ob29rcygKKyAgICAgICAgIG1vam9fdGFza19ydW5uZXJfLmdldCgpLAorICAgICAg ICAgYmFzZTo6QmluZE9uY2UoW10geyBGQUlMKCkgPDwgIlBhcnNlciBzYW5kYm94IGNvbm5lY3Rp b24gZXJyb3IiOyB9KSk7CistICAgIEFTU0VSVF9FUSgKKy0gICAgICAgIFJFU1VMVF9DT0RFX1NV Q0NFU1MsCisrCisrICAgIFJlc3VsdENvZGUgcmVzdWx0X2NvZGUgPQorICAgICAgICAgU3RhcnRT YW5kYm94VGFyZ2V0KE1ha2VDbWRMaW5lKCJTYW5kYm94ZWRTaG9ydGN1dFBhcnNlclRhcmdldE1h aW4iKSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAmc2V0dXBfaG9va3MsIFNhbmRib3hU eXBlOjprVGVzdCkpOworKyAgICAgICAgICAgICAgICAgICAgICAgICAgICZzZXR1cF9ob29rcywg U2FuZGJveFR5cGU6OmtUZXN0KTsKKysgICAgaWYgKHJlc3VsdF9jb2RlICE9IFJFU1VMVF9DT0RF X1NVQ0NFU1MpCisrICAgICAgY2hpbGRfcHJvY2Vzc19sb2dnZXJfLkR1bXBMb2dzKCk7CisrICAg IEFTU0VSVF9FUShSRVNVTFRfQ09ERV9TVUNDRVNTLCByZXN1bHRfY29kZSk7CisrCisgICAgIHBh cnNlcl9wdHJfID0gc2V0dXBfaG9va3MuVGFrZVBhcnNlclB0cigpOworICAgICBzaG9ydGN1dF9w YXJzZXJfID0gc3RkOjptYWtlX3VuaXF1ZTxTYW5kYm94ZWRTaG9ydGN1dFBhcnNlcj4oCisgICAg ICAgICBtb2pvX3Rhc2tfcnVubmVyXy5nZXQoKSwgcGFyc2VyX3B0cl8uZ2V0KCkpOworQEAgLTk4 LDYgKzEyNSw4IEBAIGNsYXNzIFNhbmRib3hlZFNob3J0Y3V0UGFyc2VyVGVzdCA6IHB1YmxpYyBi YXNlOjpNdWx0aVByb2Nlc3NUZXN0IHsKKyAgIGJhc2U6OkZpbGVQYXRoIG5vdF9sbmtfZmlsZV9w YXRoXzsKKyAKKyAgIGJhc2U6OnRlc3Q6OlRhc2tFbnZpcm9ubWVudCB0YXNrX2Vudmlyb25tZW50 XzsKKysKKysgIGNocm9tZV9jbGVhbmVyOjpDaGlsZFByb2Nlc3NMb2dnZXIgY2hpbGRfcHJvY2Vz c19sb2dnZXJfOworIH07CisgCisgTVVMVElQUk9DRVNTX1RFU1RfTUFJTihTYW5kYm94ZWRTaG9y dGN1dFBhcnNlclRhcmdldE1haW4pIHsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZWxlY3Ryb243L2Zp bGVzL3BhdGNoZXMvY2hyb21pdW0tMDA1LXVwc3RyZWFtLWNocm9taXVtX3ZlcnNpb24ucGF0Y2gu cGF0Y2ggYi9zcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9wYXRjaGVzL2Nocm9taXVtLTAwNS11cHN0 cmVhbS1jaHJvbWl1bV92ZXJzaW9uLnBhdGNoLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAwLi42NWI4ZWY0ZGYwYQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3Mv ZWxlY3Ryb243L2ZpbGVzL3BhdGNoZXMvY2hyb21pdW0tMDA1LXVwc3RyZWFtLWNocm9taXVtX3Zl cnNpb24ucGF0Y2gucGF0Y2gKQEAgLTAsMCArMSwyNiBAQAorRnJvbSBjMTEwOWI3MDdiMWVkYTVk OThlYjJlZDZiZDc0MDgzYmMzNTJmNDgyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTog Y2hyb21lLXJlbGVhc2UtYm90IDxjaHJvbWUtcmVsZWFzZS1ib3RAY2hyb21pdW0ub3JnPgorRGF0 ZTogRnJpLCA2IERlYyAyMDE5IDAxOjA5OjUwICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIEluY3Jl bWVudGluZyBWRVJTSU9OIHRvIDc4LjAuMzkwNC4xMzAKKworVEJSPWdvdmluZEBjaHJvbWl1bS5v cmcKKworQ2hhbmdlLUlkOiBJYjY3NTY1M2UyNjA1Y2YyYzE1ZWJkYmQxMzIwNDY1YjA4YTQ5OTk0 ZAorUmV2aWV3ZWQtb246IGh0dHBzOi8vY2hyb21pdW0tcmV2aWV3Lmdvb2dsZXNvdXJjZS5jb20v Yy9jaHJvbWl1bS9zcmMvKy8xOTU0NzA5CitSZXZpZXdlZC1ieTogQ2hyb21lIFJlbGVhc2UgQm90 IChMVUNJKSA8Y2hyb21lLW9mZmljaWFsLWJyYW5jaGVyQGNob3BzLXNlcnZpY2UtYWNjb3VudHMu aWFtLmdzZXJ2aWNlYWNjb3VudC5jb20+CitDci1Db21taXQtUG9zaXRpb246IHJlZnMvYnJhbmNo LWhlYWRzLzM5MDRAeyM5MTd9CitDci1CcmFuY2hlZC1Gcm9tOiA2NzU5NjhhOGM2NTdhM2JkOWMx YzJjMjBjNWQyOTM1NTc3YmJjNWU2LXJlZnMvaGVhZHMvbWFzdGVyQHsjNjkzOTU0fQorLS0tCisg Y2hyb21lL1ZFUlNJT04gfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAx IGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9jaHJvbWUvVkVSU0lPTiBiL2Nocm9tZS9WRVJT SU9OCitpbmRleCA3YTQzODNhMWNjYjdmLi41MGY4ODdmNzQ2MjI3IDEwMDY0NAorLS0tIGEvY2hy b21lL1ZFUlNJT04KKysrKyBiL2Nocm9tZS9WRVJTSU9OCitAQCAtMSw0ICsxLDQgQEAKKyBNQUpP Uj03OAorIE1JTk9SPTAKKyBCVUlMRD0zOTA0CistUEFUQ0g9MTA4CisrUEFUQ0g9MTMwCmRpZmYg LS1naXQgYS9zcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9wYXRjaGVzL2Nocm9taXVtLWNocm9taXVt X2F0a19vcHRpb25hbC5wYXRjaC5wYXRjaCBiL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL3BhdGNo ZXMvY2hyb21pdW0tY2hyb21pdW1fYXRrX29wdGlvbmFsLnBhdGNoLnBhdGNoCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4yN2I1NjI1MWVjMwotLS0gL2Rldi9udWxsCisr KyBiL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL3BhdGNoZXMvY2hyb21pdW0tY2hyb21pdW1fYXRr X29wdGlvbmFsLnBhdGNoLnBhdGNoCkBAIC0wLDAgKzEsMTcgQEAKK2RpZmYgLS1naXQgYS9idWls ZC9jb25maWcvdWkuZ25pIGIvYnVpbGQvY29uZmlnL3VpLmduaQoraW5kZXggNTQ3YjQyZi4uOTY2 YjAwYyAxMDA2NDQKKy0tLSBhL2J1aWxkL2NvbmZpZy91aS5nbmkKKysrKyBiL2J1aWxkL2NvbmZp Zy91aS5nbmkKK0BAIC01MSw4ICs1MSwxMCBAQCBpZiAodXNlX296b25lKSB7CisgICB1c2VfZ2xp YiA9IGZhbHNlCisgfQorCistIyBXaGV0aGVyIHRvIHVzZSBhdGssIHRoZSBBY2Nlc3NpYmlsaXR5 IFRvb2xLaXQgbGlicmFyeQorLXVzZV9hdGsgPSBpc19kZXNrdG9wX2xpbnV4ICYmIHVzZV94MTEK KytkZWNsYXJlX2FyZ3MoKSB7CisrICAjIFdoZXRoZXIgdG8gdXNlIGF0aywgdGhlIEFjY2Vzc2li aWxpdHkgVG9vbEtpdCBsaWJyYXJ5CisrICB1c2VfYXRrID0gaXNfZGVza3RvcF9saW51eCAmJiB1 c2VfeDExCisrfQorICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09CisgIyAgIFBMRUFTRSBETyBOT1QgQUREIE1PUkUgRkxBR1MgVE8gVEhJUyBGSUxFCisgIyA9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KZGlmZiAtLWdpdCBh L3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL3BhdGNoZXMvY2hyb21pdW0tY2xhbmcxMF9nbHNsYW5n LnBhdGNoLnBhdGNoIGIvc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvcGF0Y2hlcy9jaHJvbWl1bS1j bGFuZzEwX2dsc2xhbmcucGF0Y2gucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwMDAuLjkxZWY4NGNhN2U2Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9lbGVjdHJv bjcvZmlsZXMvcGF0Y2hlcy9jaHJvbWl1bS1jbGFuZzEwX2dsc2xhbmcucGF0Y2gucGF0Y2gKQEAg LTAsMCArMSwyNSBAQAorRnJvbSAyNGIzZTgzODRlOTNmM2U3M2I2YWExNGVhMDBhMzA1NzQxMTJm OWJhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUmVpZCBLbGVja25lciA8cm5rQGdv b2dsZS5jb20+CitEYXRlOiBXZWQsIDQgRGVjIDIwMTkgMTQ6MDk6MDMgLTA4MDAKK1N1YmplY3Q6 IFtQQVRDSF0gUmVtb3ZlIGdsc2xhbmc6OnBvb2xfYWxsb2NhdG9yOjpzZXRBbGxvY2F0b3IKKwor VFBvb2xBbGxvY2F0b3IgaXMgbm90IGNvcHkgYXNzaWduYWJsZSwgc28gdGhpcyBzZXR0ZXIgY291 bGQgbmV2ZXIgaGF2ZQorYmVlbiB1c2VkLiBBZnRlciBhIHJlY2VudCBjaGFuZ2UgKDg3OGEyNGVl MiksIG5ldyB2ZXJzaW9ucyBvZiBDbGFuZworcmVqZWN0IHRoaXMgY29kZSBvdXRyaWdodC4KKy0t LQorIGdsc2xhbmcvSW5jbHVkZS9Qb29sQWxsb2MuaCB8IDEgLQorIDEgZmlsZSBjaGFuZ2VkLCAx IGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9nbHNsYW5nL0luY2x1ZGUvUG9vbEFsbG9jLmgg Yi9nbHNsYW5nL0luY2x1ZGUvUG9vbEFsbG9jLmgKK2luZGV4IDBlMjM3YTZhMi4uYjhlY2NiODgz IDEwMDY0NAorLS0tIGEvdGhpcmRfcGFydHkvZ2xzbGFuZy9zcmMvZ2xzbGFuZy9JbmNsdWRlL1Bv b2xBbGxvYy5oCisrKysgYi90aGlyZF9wYXJ0eS9nbHNsYW5nL3NyYy9nbHNsYW5nL0luY2x1ZGUv UG9vbEFsbG9jLmgKK0BAIC0zMDQsNyArMzA0LDYgQEAgY2xhc3MgcG9vbF9hbGxvY2F0b3Igewor ICAgICBzaXplX3R5cGUgbWF4X3NpemUoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxzaXpl X3R5cGU+KC0xKSAvIHNpemVvZihUKTsgfQorICAgICBzaXplX3R5cGUgbWF4X3NpemUoaW50IHNp emUpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PHNpemVfdHlwZT4oLTEpIC8gc2l6ZTsgfQor IAorLSAgICB2b2lkIHNldEFsbG9jYXRvcihUUG9vbEFsbG9jYXRvciogYSkgeyBhbGxvY2F0b3Ig PSAqYTsgfQorICAgICBUUG9vbEFsbG9jYXRvciYgZ2V0QWxsb2NhdG9yKCkgY29uc3QgeyByZXR1 cm4gYWxsb2NhdG9yOyB9CisgCisgcHJvdGVjdGVkOgorCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Vs ZWN0cm9uNy9maWxlcy9wYXRjaGVzL2Nocm9taXVtLWZpeC1jb21tYW5kbGluZS1pbmNsdWRlLnBh dGNoIGIvc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvcGF0Y2hlcy9jaHJvbWl1bS1maXgtY29tbWFu ZGxpbmUtaW5jbHVkZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw MC4uMTVkYTc5NGNiYmEKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2VsZWN0cm9uNy9maWxl cy9wYXRjaGVzL2Nocm9taXVtLWZpeC1jb21tYW5kbGluZS1pbmNsdWRlLnBhdGNoCkBAIC0wLDAg KzEsNDQgQEAKK0VsZWN0cm9uIHBhdGNoZXMgdGhlIGZpbGUgdG8gdXNlIGJhc2U6OkNvbW1hbmRM aW5lLCBidXQgZm9yZ290IHRvIGluY2x1ZGUKK3RoZSBuZWNlc3NhcnkgaGVhZGVyIGZvciBpdC4K Ky0tLSBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL2dyYXBoaWNzL2NhbnZh c19jb2xvcl9wYXJhbXMuY2Mub3JpZwkyMDIwLTA0LTI3IDEzOjQ5OjQxLjQwODU5Mjk0MSArMDIw MAorKysrIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fu dmFzX2NvbG9yX3BhcmFtcy5jYwkyMDIwLTA0LTI3IDEzOjQ5OjUzLjg0MTA3MTgzMCArMDIwMAor QEAgLTQsNiArNCw3IEBACisgCisgI2luY2x1ZGUgInRoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVy L3BsYXRmb3JtL2dyYXBoaWNzL2NhbnZhc19jb2xvcl9wYXJhbXMuaCIKKyAKKysjaW5jbHVkZSAi YmFzZS9jb21tYW5kX2xpbmUuaCIKKyAjaW5jbHVkZSAiY2MvcGFpbnQvc2tpYV9wYWludF9jYW52 YXMuaCIKKyAjaW5jbHVkZSAiY29tcG9uZW50cy92aXovY29tbW9uL3Jlc291cmNlcy9yZXNvdXJj ZV9mb3JtYXRfdXRpbHMuaCIKKyAjaW5jbHVkZSAidGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIv cGxhdGZvcm0vcnVudGltZV9lbmFibGVkX2ZlYXR1cmVzLmgiCistLS0gYS90aGlyZF9wYXJ0eS9i bGluay9wdWJsaWMvcGxhdGZvcm0vd2ViX3J0Y19ydHBfc291cmNlLmgub3JpZwkyMDIwLTA0LTI3 IDE0OjE2OjA1LjMyMzA4NTgxNCArMDIwMAorKysrIGIvdGhpcmRfcGFydHkvYmxpbmsvcHVibGlj L3BsYXRmb3JtL3dlYl9ydGNfcnRwX3NvdXJjZS5oCTIwMjAtMDQtMjcgMTQ6MTY6MTcuMjc5NDgw ODM4ICswMjAwCitAQCAtNyw2ICs3LDcgQEAKKyAKKyAjaW5jbHVkZSAiYmFzZS9vcHRpb25hbC5o IgorICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9ibGluay9wdWJsaWMvcGxhdGZvcm0vd2ViX2NvbW1v bi5oIgorKyNpbmNsdWRlIDxtZW1vcnk+CisgCisgbmFtZXNwYWNlIGJhc2UgeworIGNsYXNzIFRp bWVUaWNrczsKKy0tLSBhL2Nocm9tZS9icm93c2VyL2Nocm9tZV9jb250ZW50X2Jyb3dzZXJfY2xp ZW50LmNjLm9yaWcJMjAyMC0wNC0yNyAxNjoxNjoyNy4yOTEyMDgzOTQgKzAyMDAKKysrKyBiL2No cm9tZS9icm93c2VyL2Nocm9tZV9jb250ZW50X2Jyb3dzZXJfY2xpZW50LmNjCTIwMjAtMDQtMjcg MTY6MTY6NDkuMjgzOTg0MjE3ICswMjAwCitAQCAtMjg5Niw2ICsyODk2LDggQEAKKyAgICAgY29u c3Qgc3RkOjpzdHJpbmcmIGZyYW1lX25hbWUsCisgICAgIFdpbmRvd09wZW5EaXNwb3NpdGlvbiBk aXNwb3NpdGlvbiwKKyAgICAgY29uc3QgYmxpbms6Om1vam9tOjpXaW5kb3dGZWF0dXJlcyYgZmVh dHVyZXMsCisrICAgIGNvbnN0IHN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPiYgYWRkaXRpb25hbF9m ZWF0dXJlcywKKysgICAgY29uc3Qgc2NvcGVkX3JlZnB0cjxuZXR3b3JrOjpSZXNvdXJjZVJlcXVl c3RCb2R5PiYgYm9keSwKKyAgICAgYm9vbCB1c2VyX2dlc3R1cmUsCisgICAgIGJvb2wgb3BlbmVy X3N1cHByZXNzZWQsCisgICAgIGJvb2wqIG5vX2phdmFzY3JpcHRfYWNjZXNzKSB7CistLS0gYS9j aHJvbWUvYnJvd3Nlci9jaHJvbWVfY29udGVudF9icm93c2VyX2NsaWVudC5oLm9yaWcJMjAyMC0w NC0yNyAxNjoxNTo0MS45MzIzNTk3NTMgKzAyMDAKKysrKyBiL2Nocm9tZS9icm93c2VyL2Nocm9t ZV9jb250ZW50X2Jyb3dzZXJfY2xpZW50LmgJMjAyMC0wNC0yNyAxNjoxNjowOS43OTgzMTg4NDUg KzAyMDAKK0BAIC0zMDMsNiArMzAzLDggQEAKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0 IHN0ZDo6c3RyaW5nJiBmcmFtZV9uYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgV2luZG93 T3BlbkRpc3Bvc2l0aW9uIGRpc3Bvc2l0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgY29u c3QgYmxpbms6Om1vam9tOjpXaW5kb3dGZWF0dXJlcyYgZmVhdHVyZXMsCisrICAgICAgICAgICAg ICAgICAgICAgICBjb25zdCBzdGQ6OnZlY3RvcjxzdGQ6OnN0cmluZz4mIGFkZGl0aW9uYWxfZmVh dHVyZXMsCisrICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzY29wZWRfcmVmcHRyPG5ldHdv cms6OlJlc291cmNlUmVxdWVzdEJvZHk+JiBib2R5LAorICAgICAgICAgICAgICAgICAgICAgICAg Ym9vbCB1c2VyX2dlc3R1cmUsCisgICAgICAgICAgICAgICAgICAgICAgICBib29sIG9wZW5lcl9z dXBwcmVzc2VkLAorICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCogbm9famF2YXNjcmlwdF9h Y2Nlc3MpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvcGF0 Y2hlcy9jaHJvbWl1bS1maXgtc3VjZXNzLWRlZmluaXRpb24ucGF0Y2ggYi9zcmNwa2dzL2VsZWN0 cm9uNy9maWxlcy9wYXRjaGVzL2Nocm9taXVtLWZpeC1zdWNlc3MtZGVmaW5pdGlvbi5wYXRjaApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNGRjMDI0NjkzZTYKLS0tIC9k ZXYvbnVsbAorKysgYi9zcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9wYXRjaGVzL2Nocm9taXVtLWZp eC1zdWNlc3MtZGVmaW5pdGlvbi5wYXRjaApAQCAtMCwwICsxLDE1IEBACitYMTEuaCBkZWZpbmVz IGEgbWFjcm8gY2FsbGVkICJTdWNjZXNzIiwgd2hpY2ggaXMgMC4gVGhpcyBicmVha3MgYW4gZW51 bQordGhhdCBpcyBnZW5lcmF0ZWQgaW4gQ2hyb21pdW0gdGhhdCBoYXMgYSBtZW1iZXIgIlN1Y2Nl c3MiLCBzbyB1bmRlZmluZQoraXQuCistLS0gYS9jaHJvbWUvYnJvd3Nlci91aS9saWJndGt1aS9z ZWxlY3RfZmlsZV9kaWFsb2dfaW1wbF9rZGUuY2Mub3JpZwkyMDIwLTA0LTI3IDE4OjQyOjE1LjQ1 NzI5NzU0NCArMDIwMAorKysrIGIvY2hyb21lL2Jyb3dzZXIvdWkvbGliZ3RrdWkvc2VsZWN0X2Zp bGVfZGlhbG9nX2ltcGxfa2RlLmNjCTIwMjAtMDQtMjcgMTg6NDI6MjEuNzYwNDU0MzA0ICswMjAw CitAQCAtMjQsNyArMjQsOSBAQAorICNpbmNsdWRlICJiYXNlL3Rhc2svcG9zdF90YXNrLmgiCisg I2luY2x1ZGUgImJhc2UvdGFzay90YXNrX3RyYWl0cy5oIgorICNpbmNsdWRlICJiYXNlL3RocmVh ZGluZy90aHJlYWRfcmVzdHJpY3Rpb25zLmgiCisrI3VuZGVmIFN1Y2Nlc3MKKyAjaW5jbHVkZSAi Y2hyb21lL2Jyb3dzZXIvdWkvbGliZ3RrdWkvc2VsZWN0X2ZpbGVfZGlhbG9nX2ltcGwuaCIKKysj ZGVmaW5lIFN1Y2Nlc3MgMAorICNpbmNsdWRlICJjb250ZW50L3B1YmxpYy9icm93c2VyL2Jyb3dz ZXJfdGhyZWFkLmgiCisgI2luY2x1ZGUgInVpL2F1cmEvd2luZG93X3RyZWVfaG9zdC5oIgorICNp bmNsdWRlICJ1aS9iYXNlL2wxMG4vbDEwbl91dGlsLmgiCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Vs ZWN0cm9uNy9maWxlcy9wYXRjaGVzL2Nocm9taXVtLWduX2Jvb3RzdHJhcF9uaW5qYS5wYXRjaCBi L3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL3BhdGNoZXMvY2hyb21pdW0tZ25fYm9vdHN0cmFwX25p bmphLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5lOWY5NWYw OWNhZQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL3BhdGNoZXMv Y2hyb21pdW0tZ25fYm9vdHN0cmFwX25pbmphLnBhdGNoCkBAIC0wLDAgKzEsMzIgQEAKK1BhdGNo IGJ5IE1pY2hhZWwgRm9ybmV5IDxtZm9ybmV5QG1mb3JuZXkub3JnPgorCitBbHJlYWR5IG1lcmdl ZCBodHRwczovL2Nocm9taXVtLXJldmlldy5nb29nbGVzb3VyY2UuY29tL2MvY2hyb21pdW0vc3Jj LysvMTk3NTQ1MworCistLS0gYS90b29scy9nbi9ib290c3RyYXAvYm9vdHN0cmFwLnB5CisrKysg Yi90b29scy9nbi9ib290c3RyYXAvYm9vdHN0cmFwLnB5CitAQCAtNzAsNiArNzAsNyBAQAorICAg b3V0X2RpciA9IG9zLnBhdGguam9pbihTUkNfUk9PVCwgYnVpbGRfcmVsKQorICAgZ25fcGF0aCA9 IG9wdGlvbnMub3V0cHV0IG9yIG9zLnBhdGguam9pbihvdXRfZGlyLCAnZ24nKQorICAgZ25fYnVp bGRfZGlyID0gb3MucGF0aC5qb2luKG91dF9kaXIsICdnbl9idWlsZCcpCisrICBuaW5qYV9iaW5h cnkgPSBvcy5lbnZpcm9uLmdldCgnTklOSkEnLCAnbmluamEnKQorIAorICAgIyBUT0RPKHRob21h c2FuZGVyc29uKTogUmVtb3ZlIHRoaXMgb25jZSBVYnVudHUgVHJ1c3R5IHJlYWNoZXMgRU9MLCBv ciB3aGVuCisgICAjIENocm9taXVtJ3MgaW5mcmFzdHJ1Y3R1cmUgaXMgdXBncmFkZWQgZnJvbSBU cnVzdHkgdG8gWGVuaWFsLCB3aGljaGV2ZXIgY29tZXMKK0BAIC05MCw3ICs5MSw3IEBACisgICAg ICAgICAgICAgICBvcy5lbnZpcm9uLmdldCgnQ0ZMQUdTJywgJycpLnNwbGl0KCkgKworICAgICAg ICAgICAgICAgb3MuZW52aXJvbi5nZXQoJ0NYWEZMQUdTJywgJycpLnNwbGl0KCkpLAorICAgICAg IF0pICsgJ1xuJykKKy0gICAgc3VicHJvY2Vzcy5jaGVja19jYWxsKFsnbmluamEnLCAnLUMnLCBs aWJjeHhfZGlyXSkKKysgICAgc3VicHJvY2Vzcy5jaGVja19jYWxsKFtuaW5qYV9iaW5hcnksICct QycsIGxpYmN4eF9kaXJdKQorICAgICBzaHV0aWwuY29weTIob3MucGF0aC5qb2luKGduX2J1aWxk X2RpciwgJ2xpYmMrKy5nbi5zbycpLCBvdXRfZGlyKQorIAorICAgICBkZWYgYXBwZW5kX3RvX2Vu dih2YXIsIHZhbHMpOgorQEAgLTEyMCw3ICsxMjEsNyBAQAorICAgc2h1dGlsLmNvcHkyKAorICAg ICAgIG9zLnBhdGguam9pbihCT09UU1RSQVBfRElSLCAnbGFzdF9jb21taXRfcG9zaXRpb24uaCcp LCBnbl9idWlsZF9kaXIpCisgICBzdWJwcm9jZXNzLmNoZWNrX2NhbGwoCistICAgICAgWyduaW5q YScsICctQycsIGduX2J1aWxkX2RpciwgJ2duJywgJy13JywgJ2R1cGJ1aWxkPWVyciddKQorKyAg ICAgIFtuaW5qYV9iaW5hcnksICctQycsIGduX2J1aWxkX2RpciwgJy13JywgJ2R1cGJ1aWxkPWVy cicsICdnbiddKQorICAgc2h1dGlsLmNvcHkyKG9zLnBhdGguam9pbihnbl9idWlsZF9kaXIsICdn bicpLCBnbl9wYXRoKQorIAorICAgaWYgbm90IG9wdGlvbnMuc2tpcF9nZW5lcmF0ZV9idWlsZGZp bGVzOgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvcGF0Y2hlcy9jaHJvbWl1 bS1pY3VfdTE2X25leHQucGF0Y2gucGF0Y2ggYi9zcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9wYXRj aGVzL2Nocm9taXVtLWljdV91MTZfbmV4dC5wYXRjaC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAwMC4uNGVkNGMwMzhkZTcKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNw a2dzL2VsZWN0cm9uNy9maWxlcy9wYXRjaGVzL2Nocm9taXVtLWljdV91MTZfbmV4dC5wYXRjaC5w YXRjaApAQCAtMCwwICsxLDEzIEBACitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvYmxpbmsvcmVu ZGVyZXIvY29yZS9kb20vZG9jdW1lbnQuY2MgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9j b3JlL2RvbS9kb2N1bWVudC5jYworaW5kZXggNDRkNWE0OS4uYzJhN2EyZiAxMDA2NDQKKy0tLSBh L3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvZG9tL2RvY3VtZW50LmNjCisrKysgYi90 aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL2RvbS9kb2N1bWVudC5jYworQEAgLTYyMTYs NyArNjIxNiw3IEBAIHN0YXRpYyBQYXJzZVF1YWxpZmllZE5hbWVSZXN1bHQgUGFyc2VRdWFsaWZp ZWROYW1lSW50ZXJuYWwoCisgCisgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbGVuZ3RoOykg eworICAgICBVQ2hhcjMyIGM7CistICAgIFUxNl9ORVhUKGNoYXJhY3RlcnMsIGksIGxlbmd0aCwg YykKKysgICAgVTE2X05FWFQoY2hhcmFjdGVycywgaSwgbGVuZ3RoLCBjKTsKKyAgICAgaWYgKGMg PT0gJzonKSB7CisgICAgICAgaWYgKHNhd19jb2xvbikKKyAgICAgICAgIHJldHVybiBQYXJzZVF1 YWxpZmllZE5hbWVSZXN1bHQoa1FOTXVsdGlwbGVDb2xvbnMpOwpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9lbGVjdHJvbjcvZmlsZXMvcGF0Y2hlcy9jaHJvbWl1bS1saWJjX21hbGxvYy5wYXRjaCBiL3Ny Y3BrZ3MvZWxlY3Ryb243L2ZpbGVzL3BhdGNoZXMvY2hyb21pdW0tbGliY19tYWxsb2MucGF0Y2gK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjI3Y2QyY2VmYzQ2Ci0tLSAv ZGV2L251bGwKKysrIGIvc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvcGF0Y2hlcy9jaHJvbWl1bS1s aWJjX21hbGxvYy5wYXRjaApAQCAtMCwwICsxLDI2IEBACistLS0gYS9iYXNlL3Byb2Nlc3MvbWVt b3J5X2xpbnV4LmNjLm9yaWcJMjAxNy0wOS0xNSAwODo0MTo0My4wMDAwMDAwMDAgKzAwMDAKKysr KyBiL2Jhc2UvcHJvY2Vzcy9tZW1vcnlfbGludXguY2MJMjAxNy0wOS0xNSAwODo0NDozOS44MDQ5 OTU0NjkgKzAwMDAKK0BAIC0yMSw2ICsyMSwxMiBAQAorICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS90 Y21hbGxvYy9jaHJvbWl1bS9zcmMvZ3BlcmZ0b29scy90Y21hbGxvYy5oIgorICNlbmRpZgorIAor KyNpZiBkZWZpbmVkKExJQkNfR0xJQkMpCisrZXh0ZXJuICJDIiB7CisrZXh0ZXJuIHZvaWQgKl9f bGliY19tYWxsb2Moc2l6ZV90IHNpemUpOworK30KKysjZW5kaWYKKysKKyBuYW1lc3BhY2UgYmFz ZSB7CisgCisgc2l6ZV90IGdfb29tX3NpemUgPSAwVTsKKy0tLSBhL2Jhc2UvcHJvY2Vzcy9tZW1v cnlfbGludXguY2Mub3JpZwkyMDE3LTA5LTE1IDA4OjQ2OjU1LjAwMDAwMDAwMCArMDAwMAorKysr IGIvYmFzZS9wcm9jZXNzL21lbW9yeV9saW51eC5jYwkyMDE3LTA5LTE1IDA4OjUxOjM0LjQyMjAx Njg1OCArMDAwMAorQEAgLTEwNyw3ICsxMDcsNyBAQAorICAgICAoIWRlZmluZWQoTElCQ19HTElC QykgJiYgIWRlZmluZWQoVVNFX1RDTUFMTE9DKSkKKyAgICpyZXN1bHQgPSBtYWxsb2Moc2l6ZSk7 CisgI2VsaWYgZGVmaW5lZChMSUJDX0dMSUJDKSAmJiAhZGVmaW5lZChVU0VfVENNQUxMT0MpCist ICAqcmVzdWx0ID0gX19saWJjX21hbGxvYyhzaXplKTsKKysgICpyZXN1bHQgPSA6Ol9fbGliY19t YWxsb2Moc2l6ZSk7CisgI2VsaWYgZGVmaW5lZChVU0VfVENNQUxMT0MpCisgICAqcmVzdWx0ID0g dGNfbWFsbG9jX3NraXBfbmV3X2hhbmRsZXIoc2l6ZSk7CisgI2VuZGlmCmRpZmYgLS1naXQgYS9z cmNwa2dzL2VsZWN0cm9uNy9maWxlcy9wYXRjaGVzL2VsZWN0cm9uLUFkZC1hLXNjcmlwdC10by1s aXN0LXBhdGNoLXRhcmdldHMucGF0Y2gucGF0Y2ggYi9zcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9w YXRjaGVzL2VsZWN0cm9uLUFkZC1hLXNjcmlwdC10by1saXN0LXBhdGNoLXRhcmdldHMucGF0Y2gu cGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjkxNmRiYTlkYzNi Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvcGF0Y2hlcy9lbGVj dHJvbi1BZGQtYS1zY3JpcHQtdG8tbGlzdC1wYXRjaC10YXJnZXRzLnBhdGNoLnBhdGNoCkBAIC0w LDAgKzEsNDIgQEAKK0Zyb20gZmY0MTIyZjIzNmI3MGMyNzJjNzQ2ZDBjMzM2Y2RiZDU4OGQ3OGNk MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEVsdmlzIFByYW5za2V2aWNodXMgPGVs dmlzQG1hZ2ljLmlvPgorRGF0ZTogVGh1LCAxMiBEZWMgMjAxOSAxNjoxMjoxOCAtMDUwMAorU3Vi amVjdDogW1BBVENIXSBBZGQgYSBzY3JpcHQgdG8gbGlzdCBwYXRjaCB0YXJnZXRzCisKKy0tLQor IHNjcmlwdC9saXN0X3BhdGNoX3RhcmdldHMucHkgfCAyMyArKysrKysrKysrKysrKysrKysrKysr KworIDEgZmlsZSBjaGFuZ2VkLCAyMyBpbnNlcnRpb25zKCspCisgY3JlYXRlIG1vZGUgMTAwNzU1 IHNjcmlwdC9saXN0X3BhdGNoX3RhcmdldHMucHkKKworZGlmZiAtLWdpdCBhL3NjcmlwdC9saXN0 X3BhdGNoX3RhcmdldHMucHkgYi9zY3JpcHQvbGlzdF9wYXRjaF90YXJnZXRzLnB5CituZXcgZmls ZSBtb2RlIDEwMDc1NQoraW5kZXggMDAwMDAwMDAwLi41NTE3M2JhYzkKKy0tLSAvZGV2L251bGwK KysrKyBiL3NjcmlwdC9saXN0X3BhdGNoX3RhcmdldHMucHkKK0BAIC0wLDAgKzEsMjMgQEAKKysj IS91c3IvYmluL2VudiBweXRob24KKysKKytpbXBvcnQgYXJncGFyc2UKKytpbXBvcnQganNvbgor KworKworK2RlZiBwYXJzZV9hcmdzKCk6CisrICBwYXJzZXIgPSBhcmdwYXJzZS5Bcmd1bWVudFBh cnNlcihkZXNjcmlwdGlvbj0nQXBwbHkgRWxlY3Ryb24gcGF0Y2hlcycpCisrICBwYXJzZXIuYWRk X2FyZ3VtZW50KCdjb25maWcnLCBuYXJncz0nKycsCisrICAgICAgICAgICAgICAgICAgICAgIHR5 cGU9YXJncGFyc2UuRmlsZVR5cGUoJ3InKSwKKysgICAgICAgICAgICAgICAgICAgICAgaGVscD0n cGF0Y2hlc1wnIGNvbmZpZyhzKSBpbiB0aGUgSlNPTiBmb3JtYXQnKQorKyAgcmV0dXJuIHBhcnNl ci5wYXJzZV9hcmdzKCkKKysKKysKKytkZWYgbWFpbigpOgorKyAgY29uZmlncyA9IHBhcnNlX2Fy Z3MoKS5jb25maWcKKysgIGZvciBjb25maWdfanNvbiBpbiBjb25maWdzOgorKyAgICBmb3IgcGF0 Y2hfZGlyLCByZXBvIGluIGpzb24ubG9hZChjb25maWdfanNvbikuaXRlcml0ZW1zKCk6CisrICAg ICAgcHJpbnQocmVwbykKKysKKysKKytpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgorKyAgbWFp bigpCistLSAKKzIuMjMuMAorCmRpZmYgLS1naXQgYS9zcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9w YXRjaGVzL2VsZWN0cm9uLUJ1aWxkLWZpeGVzLnBhdGNoLnBhdGNoIGIvc3JjcGtncy9lbGVjdHJv bjcvZmlsZXMvcGF0Y2hlcy9lbGVjdHJvbi1CdWlsZC1maXhlcy5wYXRjaC5wYXRjaApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uYTU5MWMyZWRmNjIKLS0tIC9kZXYvbnVs bAorKysgYi9zcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9wYXRjaGVzL2VsZWN0cm9uLUJ1aWxkLWZp eGVzLnBhdGNoLnBhdGNoCkBAIC0wLDAgKzEsNTcgQEAKK2RpZmYgLS1naXQgYS9idWlsZC9hcmdz L2FsbC5nbiBiL2J1aWxkL2FyZ3MvYWxsLmduCitpbmRleCA4YmJiODZlMjguLjg0NzZkMDllYSAx MDA2NDQKKy0tLSBhL2J1aWxkL2FyZ3MvYWxsLmduCisrKysgYi9idWlsZC9hcmdzL2FsbC5nbgor QEAgLTEsNSArMSw0IEBACisgaXNfZWxlY3Ryb25fYnVpbGQgPSB0cnVlCistdXNlX2p1bWJvX2J1 aWxkID0gdHJ1ZQorIHJvb3RfZXh0cmFfZGVwcyA9IFsgIi8vZWxlY3Ryb24iIF0KKyAKKyAjIFJl Z2lzdHJ5IG9mIE5NVnMgLS0+IGh0dHBzOi8vZ2l0aHViLmNvbS9ub2RlanMvbm9kZS9ibG9iL21h c3Rlci9kb2MvYWJpX3ZlcnNpb25fcmVnaXN0cnkuanNvbgorZGlmZiAtLWdpdCBhL2J1aWxkL2Fy Z3MvcmVsZWFzZS5nbiBiL2J1aWxkL2FyZ3MvcmVsZWFzZS5nbgoraW5kZXggZTUwMTdmNmUxLi41 OTIwN2IzODkgMTAwNjQ0CistLS0gYS9idWlsZC9hcmdzL3JlbGVhc2UuZ24KKysrKyBiL2J1aWxk L2FyZ3MvcmVsZWFzZS5nbgorQEAgLTEsNiArMSw0IEBACisgaW1wb3J0KCJhbGwuZ24iKQorLWlz X2NvbXBvbmVudF9idWlsZCA9IGZhbHNlCistaXNfb2ZmaWNpYWxfYnVpbGQgPSB0cnVlCisgCisg IyBUaGlzIG1heSBiZSBndWFyZGVkIGJlaGluZCBpc19jaHJvbWVfYnJhbmRlZCBhbG9uZ3NpZGUK KyAjIHByb3ByaWV0YXJ5X2NvZGVjcyBodHRwczovL3dlYnJ0Yy1yZXZpZXcuZ29vZ2xlc291cmNl LmNvbS9jL3NyYy8rLzM2MzIxLAorQEAgLTgsOSArNiwzIEBAIGlzX29mZmljaWFsX2J1aWxkID0g dHJ1ZQorICMgVGhlIGluaXRpYWxpemF0aW9uIG9mIHRoZSBkZWNvZGVyIGRlcGVuZHMgb24gd2hl dGhlciBmZm1wZWcgaGFzCisgIyBiZWVuIGJ1aWx0IHdpdGggSC4yNjQgc3VwcG9ydC4KKyBydGNf dXNlX2gyNjQgPSBwcm9wcmlldGFyeV9jb2RlY3MKKy0KKy0jIEJ5IGRlZmF1bHQsIEVsZWN0cm9u IGJ1aWxkcyBmZm1wZWcgd2l0aCBwcm9wcmlldGFyeSBjb2RlY3MgZW5hYmxlZC4gSW4gb3JkZXIK Ky0jIHRvIGZhY2lsaXRhdGUgdXNlcnMgd2hvIGRvbid0IHdhbnQgdG8gc2hpcCBwcm9wcmlldGFy eSBjb2RlY3MgaW4gZmZtcGVnLCBvcgorLSMgd2hvIGhhdmUgYW4gTEdQTCByZXF1aXJlbWVudCB0 byBzaGlwIGZmbXBlZyBhcyBhIGR5bmFtaWNhbGx5IGxpbmtlZCBsaWJyYXJ5LAorLSMgd2UgYnVp bGQgZmZtcGVnIGFzIGEgc2hhcmVkIGxpYnJhcnkuCistaXNfY29tcG9uZW50X2ZmbXBlZyA9IHRy dWUKK2RpZmYgLS1naXQgYS9idWlsZC9ucG0uZ25pIGIvYnVpbGQvbnBtLmduaQoraW5kZXggYTE5 ODdkMDk1Li5mYjMzYTE0YzMgMTAwNjQ0CistLS0gYS9idWlsZC9ucG0uZ25pCisrKysgYi9idWls ZC9ucG0uZ25pCitAQCAtMzUsNyArMzUsNiBAQCB0ZW1wbGF0ZSgibnBtX2FjdGlvbiIpIHsKKyAg ICAgaWYgKCFkZWZpbmVkKGRlcHMpKSB7CisgICAgICAgZGVwcyA9IFtdCisgICAgIH0KKy0gICAg ZGVwcyArPSBbICI6bnBtX3ByZV9mbGlnaHRfIiArIHRhcmdldF9uYW1lIF0KKyAKKyAgICAgc2Ny aXB0ID0gIi8vZWxlY3Ryb24vYnVpbGQvbnBtLXJ1bi5weSIKKyAgICAgYXJncyA9IFsKK2RpZmYg LS1naXQgYS9wYXRjaGVzL25vZGUvZml4X2FkZF9kZWZhdWx0X3ZhbHVlc19mb3JfZW5hYmxlX2x0 b19hbmRfYnVpbGRfdjhfd2l0aF9nbl9pbi5wYXRjaCBiL3BhdGNoZXMvbm9kZS9maXhfYWRkX2Rl ZmF1bHRfdmFsdWVzX2Zvcl9lbmFibGVfbHRvX2FuZF9idWlsZF92OF93aXRoX2duX2luLnBhdGNo CitpbmRleCAwZGM5OTE2YmUuLjdlYWE0NmJmNSAxMDA2NDQKKy0tLSBhL3BhdGNoZXMvbm9kZS9m aXhfYWRkX2RlZmF1bHRfdmFsdWVzX2Zvcl9lbmFibGVfbHRvX2FuZF9idWlsZF92OF93aXRoX2du X2luLnBhdGNoCisrKysgYi9wYXRjaGVzL25vZGUvZml4X2FkZF9kZWZhdWx0X3ZhbHVlc19mb3Jf ZW5hYmxlX2x0b19hbmRfYnVpbGRfdjhfd2l0aF9nbl9pbi5wYXRjaAorQEAgLTMwLDcgKzMwLDcg QEAKKyArICAgICMgdGhlc2UgdmFsdWVzIGJlaW5nIGFjY3VyYXRlLgorICsgICAgJ2J1aWxkX3Y4 X3dpdGhfZ24nOiAnZmFsc2UnLAorICsgICAgJ2VuYWJsZV9sdG8lJzogJ2ZhbHNlJywKKy0rCisr KyAgICAnb3BlbnNzbF9maXBzJzogJycsCisgICAgICAnY29uZGl0aW9ucyc6IFsKKyAgICAgICAg Wyd0YXJnZXRfYXJjaD09ImFybTY0IicsIHsKKyAgICAgICAgICAjIERpc2FibGVkIHBlbmRpbmcg aHR0cHM6Ly9naXRodWIuY29tL25vZGVqcy9ub2RlL2lzc3Vlcy8yMzkxMy4KKwpkaWZmIC0tZ2l0 IGEvc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvcGF0Y2hlcy9lbGVjdHJvbi1kb250LWFzc3VtZS1w eXRob24taXMtcHl0aG9uMi5wYXRjaCBiL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL3BhdGNoZXMv ZWxlY3Ryb24tZG9udC1hc3N1bWUtcHl0aG9uLWlzLXB5dGhvbjIucGF0Y2gKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmZiMTM0NzQ4MDI1Ci0tLSAvZGV2L251bGwKKysr IGIvc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvcGF0Y2hlcy9lbGVjdHJvbi1kb250LWFzc3VtZS1w eXRob24taXMtcHl0aG9uMi5wYXRjaApAQCAtMCwwICsxLDE3IEBACistLS0gYS9idWlsZC96aXAu cHkub3JpZwkyMDIwLTA0LTI3IDE3OjU5OjUzLjQ5OTI4MTY2NyArMDIwMAorKysrIGIvYnVpbGQv emlwLnB5CTIwMjAtMDQtMjcgMTc6NTk6NTcuNjU1ODM5MTQzICswMjAwCitAQCAtMSw0ICsxLDQg QEAKKy0jIS91c3IvYmluL2VudiBweXRob24KKysjIS91c3IvYmluL2VudiBweXRob24yCisgZnJv bSBfX2Z1dHVyZV9fIGltcG9ydCBwcmludF9mdW5jdGlvbgorIGltcG9ydCBvcworIGltcG9ydCBz dWJwcm9jZXNzCisKKy0tLSBhL2J1aWxkL25wbS1ydW4ucHkub3JpZwkyMDIwLTA0LTI3IDE3OjU5 OjUwLjgyOTM1MTgwNyArMDIwMAorKysrIGIvYnVpbGQvbnBtLXJ1bi5weQkyMDIwLTA0LTI3IDE4 OjAwOjAyLjcwMjM3MzI1NiArMDIwMAorQEAgLTEsNCArMSw0IEBACistIyEvdXNyL2Jpbi9lbnYg cHl0aG9uCisrIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMgorIGZyb20gX19mdXR1cmVfXyBpbXBvcnQg cHJpbnRfZnVuY3Rpb24KKyBpbXBvcnQgb3MKKyBpbXBvcnQgc3VicHJvY2VzcwpkaWZmIC0tZ2l0 IGEvc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvcGF0Y2hlcy9lbGVjdHJvbi1maXgtaW5jbHVkZXMu cGF0Y2ggYi9zcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9wYXRjaGVzL2VsZWN0cm9uLWZpeC1pbmNs dWRlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uOWRmMWZk Njk0NmQKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9wYXRjaGVz L2VsZWN0cm9uLWZpeC1pbmNsdWRlcy5wYXRjaApAQCAtMCwwICsxLDE5IEBACistLS0gYS9wYXRj aGVzL2Nocm9taXVtL2ZlYXRfb2Zmc2NyZWVuX3JlbmRlcmluZ193aXRoX3Zpel9jb21wb3NpdG9y LnBhdGNoLm9yaWcJMjAyMC0wNC0yNyAxNjozNzowOS45MzQyNzEyMjcgKzAyMDAKKysrKyBiL3Bh dGNoZXMvY2hyb21pdW0vZmVhdF9vZmZzY3JlZW5fcmVuZGVyaW5nX3dpdGhfdml6X2NvbXBvc2l0 b3IucGF0Y2gJMjAyMC0wNC0yNyAxNjozNzo1MC45MDMyMDcxNjYgKzAyMDAKK0BAIC0zNTAsNyAr MzUwLDcgQEAKKyBpbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw Li4zODY1OTM5ZDA0NDVhMjNhNDY4NzcwZjU3MjA3YmE1ZWYyMzI3N2VkCisgLS0tIC9kZXYvbnVs bAorICsrKyBiL2NvbXBvbmVudHMvdml6L3NlcnZpY2UvZGlzcGxheV9lbWJlZGRlci9zb2Z0d2Fy ZV9vdXRwdXRfZGV2aWNlX3Byb3h5LmgKKy1AQCAtMCwwICsxLDg4IEBACisrQEAgLTAsMCArMSw4 OSBAQAorICsvLyBDb3B5cmlnaHQgMjAxNCBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0 cyByZXNlcnZlZC4KKyArLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkg YSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQorICsvLyBmb3VuZCBpbiB0aGUgTElDRU5T RSBmaWxlLgorQEAgLTM2NCw2ICszNjQsNyBAQAorICsKKyArI2luY2x1ZGUgPG1lbW9yeT4KKyAr CisrKyNpbmNsdWRlICJiYXNlL3RocmVhZGluZy90aHJlYWRfY2hlY2tlci5oIgorICsjaW5jbHVk ZSAiY29tcG9uZW50cy92aXovaG9zdC9ob3N0X2Rpc3BsYXlfY2xpZW50LmgiCisgKyNpbmNsdWRl ICJjb21wb25lbnRzL3Zpei9zZXJ2aWNlL2Rpc3BsYXkvc29mdHdhcmVfb3V0cHV0X2RldmljZS5o IgorICsjaW5jbHVkZSAiY29tcG9uZW50cy92aXovc2VydmljZS92aXpfc2VydmljZV9leHBvcnQu aCIKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL3BhdGNoZXMvZWxlY3Ryb24t bWpzdW5pdC1ub3QtZXhzaXQucGF0Y2gucGF0Y2ggYi9zcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9w YXRjaGVzL2VsZWN0cm9uLW1qc3VuaXQtbm90LWV4c2l0LnBhdGNoLnBhdGNoCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4yNTY3NTQwODY5YwotLS0gL2Rldi9udWxsCisr KyBiL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL3BhdGNoZXMvZWxlY3Ryb24tbWpzdW5pdC1ub3Qt ZXhzaXQucGF0Y2gucGF0Y2gKQEAgLTAsMCArMSw0NyBAQAorZGlmZiAtLWdpdCBhL3BhdGNoZXMv djgvbWFrZV9jcmVhdGVkeW5hbWljZnVuY3Rpb25fdGhyb3dfaWZfZGlzYWxsb3dlZC5wYXRjaCBi L3BhdGNoZXMvdjgvbWFrZV9jcmVhdGVkeW5hbWljZnVuY3Rpb25fdGhyb3dfaWZfZGlzYWxsb3dl ZC5wYXRjaAoraW5kZXggYmFmZDBiMC4uOTQ5Y2IyZCAxMDA2NDQKKy0tLSBhL3BhdGNoZXMvdjgv bWFrZV9jcmVhdGVkeW5hbWljZnVuY3Rpb25fdGhyb3dfaWZfZGlzYWxsb3dlZC5wYXRjaAorKysr IGIvcGF0Y2hlcy92OC9tYWtlX2NyZWF0ZWR5bmFtaWNmdW5jdGlvbl90aHJvd19pZl9kaXNhbGxv d2VkLnBhdGNoCitAQCAtMjUsNDIgKzI1LDMgQEAgaW5kZXggZjc1MDE0ZDAzNDYyNjY0M2FlODNk YzhmMTY3YTQ3M2I3MjkxNTIyYy4uYjVjMmU4YjI1ZjEwZjJmZmY5MDExYTBhMWJkMWFlZWYKKyAg ICB9CisgIAorICAgIC8vIEJ1aWxkIHRoZSBzb3VyY2Ugc3RyaW5nLgorLWRpZmYgLS1naXQgYS90 ZXN0L21qc3VuaXQvbWpzdW5pdC5zdGF0dXMgYi90ZXN0L21qc3VuaXQvbWpzdW5pdC5zdGF0dXMK Ky1pbmRleCAxMzRhNDlmNzQ4MGM4N2FjYmIwODEzM2EyZDZhNGQwMjhiYmRkMDkwLi43ZGNhYTQx MjE5OTc3MGQ3YzRmNjg4ZDdmOGE2NmQ4ODcxMzBiZjgyIDEwMDY0NAorLS0tLSBhL3Rlc3QvbWpz dW5pdC9tanN1bml0LnN0YXR1cworLSsrKyBiL3Rlc3QvbWpzdW5pdC9tanN1bml0LnN0YXR1cwor LUBAIC0yMzIsNiArMjMyLDkgQEAKKy0gICAjIEJVRyh2ODo2MzA2KS4KKy0gICAnd2FzbS9odWdl LW1lbW9yeSc6IFtTS0lQXSwKKy0gCistKyAgIyBOZWVkcyB0byBiZSBhZGFwdGVkIGFmdGVyIGNo YW5nZXMgdG8gRnVuY3Rpb24gY29uc3RydWN0b3IuIGNocm9taXVtOjEwNjUwOTQKKy0rICAnY3Jv c3MtcmVhbG0tZmlsdGVyaW5nJzogW1NLSVBdLAorLSsKKy0gICAjIEFsbG9jYXRlcyBhIGh1Z2Ug c3RyaW5nIGFuZCB0aGVuIGZsYXR0ZW5zIGl0LCB2ZXJ5IHNsb3cgaW4gZGVidWcgbW9kZS4KKy0g ICAncmVncmVzcy9yZWdyZXNzLTc1Mjc2NCc6IFtQQVNTLCBbJ21vZGUgPT0gZGVidWcnLCBTTE9X XV0sCistIAorLWRpZmYgLS1naXQgYS90ZXN0L21qc3VuaXQvcmVncmVzcy0xMDY1MDk0LmpzIGIv dGVzdC9tanN1bml0L3JlZ3Jlc3MtMTA2NTA5NC5qcworLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Cist aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzY1ZTIwMjg1 YmIwNTA1ZGVjM2Y4NGM0ZGY1N2RiMDUyNWU3YWNjMworLS0tLSAvZGV2L251bGwKKy0rKysgYi90 ZXN0L21qc3VuaXQvcmVncmVzcy0xMDY1MDk0LmpzCistQEAgLTAsMCArMSwxOSBAQAorLSsvLyBD b3B5cmlnaHQgMjAyMCB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVk LgorLSsvLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHls ZSBsaWNlbnNlIHRoYXQgY2FuIGJlCistKy8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCist KworLSsvLyBGbGFnczogLS1hbGxvdy1uYXRpdmVzLXN5bnRheAorLSsKKy0rZnVuY3Rpb24gZihm bkNvbnN0cnVjdG9yKSB7CistKyAgICByZXR1cm4gT2JqZWN0LmlzKG5ldyBmbkNvbnN0cnVjdG9y KCksIHVuZGVmaW5lZCk7CistK30KKy0rCistK2NvbnN0IHJlYWxtSW5kZXggPSBSZWFsbS5jcmVh dGVBbGxvd0Nyb3NzUmVhbG1BY2Nlc3MoKTsKKy0rY29uc3Qgb3RoZXJGdW5jdGlvbiA9IFJlYWxt Lmdsb2JhbChyZWFsbUluZGV4KS5GdW5jdGlvbjsKKy0rUmVhbG0uZGV0YWNoR2xvYmFsKHJlYWxt SW5kZXgpOworLSsKKy0rJVByZXBhcmVGdW5jdGlvbkZvck9wdGltaXphdGlvbihmKTsKKy0rYXNz ZXJ0RmFsc2UoZihGdW5jdGlvbikpOworLSthc3NlcnRUaHJvd3MoXyA9PiBmKG90aGVyRnVuY3Rp b24pKTsKKy0rJU9wdGltaXplRnVuY3Rpb25Pbk5leHRDYWxsKGYpOworLSthc3NlcnRUaHJvd3Mo XyA9PiBmKG90aGVyRnVuY3Rpb24pKTsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZWxlY3Ryb243L3Rl bXBsYXRlIGIvc3JjcGtncy9lbGVjdHJvbjcvdGVtcGxhdGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMDAwMDAuLjI2MTc5OTgzOTllCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtn cy9lbGVjdHJvbjcvdGVtcGxhdGUKQEAgLTAsMCArMSwyNjggQEAKKyMgVGVtcGxhdGUgZmlsZSBm b3IgJ2VsZWN0cm9uNycKK3BrZ25hbWU9ZWxlY3Ryb243Cit2ZXJzaW9uPTcuMi4zCitfbm9kZXZl cj0xMi44LjEKK19jaHJvbWl1bXZlcj03OC4wLjM5MDQuMTA4CityZXZpc2lvbj0xCithcmNocz0i eDg2XzY0KiIKK2J1aWxkX3dya3NyYz0ic3JjIgorY3JlYXRlX3dya3NyYz15ZXMKK2hvc3RtYWtl ZGVwZW5kcz0iY2xhbmcgeWFzbSBweXRob24gcGtnY29uZiBwZXJsIGdwZXJmIGJpc29uIG5pbmph IG5vZGVqcyBod2lkcworIHdoaWNoIGdpdCBsaWJhdG9taWMtZGV2ZWwgbGliZXZlbnQtZGV2ZWwg bGliZ2xpYi1kZXZlbCB5YXJuIG9wZW5qZGsiCittYWtlZGVwZW5kcz0ibGlicG5nLWRldmVsIGd0 aystZGV2ZWwgZ3RrKzMtZGV2ZWwgbnNzLWRldmVsIHBjaXV0aWxzLWRldmVsCisgbGliWGktZGV2 ZWwgbGliZ2NyeXB0LWRldmVsIGxpYmdub21lLWtleXJpbmctZGV2ZWwgY3Vwcy1kZXZlbCBlbGZ1 dGlscy1kZXZlbAorIGxpYlhjb21wb3NpdGUtZGV2ZWwgc3BlZWNoLWRpc3BhdGNoZXItZGV2ZWwg bGliWHJhbmRyLWRldmVsIG1pdC1rcmI1LWRldmVsCisgbGliWFNjcm5TYXZlci1kZXZlbCBhbHNh LWxpYi1kZXZlbCBzbmFwcHktZGV2ZWwgbGliZHJtLWRldmVsCisgbGlieG1sMi1kZXZlbCBsaWJ4 c2x0LWRldmVsIHB1bHNlYXVkaW8tZGV2ZWwgbGliZXhpZi1kZXZlbAorIGxpYlhjdXJzb3ItZGV2 ZWwgbGliZmxhYy1kZXZlbCBzcGVleC1kZXZlbCBsaWJtdHAtZGV2ZWwgbGlid2VicC1kZXZlbAor IGxpYmpwZWctdHVyYm8tZGV2ZWwgbGliZXZlbnQtZGV2ZWwganNvbi1jLWRldmVsIGhhcmZidXp6 LWRldmVsCisgbWluaXppcC1kZXZlbCBqc29uY3BwLWRldmVsIHpsaWItZGV2ZWwgbGliY2FwLWRl dmVsIGxpYlhkYW1hZ2UtZGV2ZWwKKyByZTItZGV2ZWwgZm9udGNvbmZpZy1kZXZlbCBmcmVldHlw ZS1kZXZlbCBvcHVzLWRldmVsCisgZmZtcGVnLWRldmVsIGxpYnZhLWRldmVsIGxpYnV2LWRldmVs IGMtYXJlcy1kZXZlbCBsaWJub3RpZnktZGV2ZWwiCitkZXBlbmRzPSIiCitzaG9ydF9kZXNjPSJD cm9zcyBwbGF0Zm9ybSBhcHBsaWNhdGlvbiBkZXZlbG9wbWVudCBmcmFtZXdvcmsgYmFzZWQgb24g d2ViIHRlY2hub2xvZ2llcyIKK21haW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4i CitsaWNlbnNlPSJCU0QtMy1DbGF1c2UiCitob21lcGFnZT0iaHR0cHM6Ly9lbGVjdHJvbmpzLm9y ZyIKK2Rpc3RmaWxlcz0iaHR0cHM6Ly9naXRodWIuY29tL2VsZWN0cm9uL2VsZWN0cm9uL2FyY2hp dmUvdiR2ZXJzaW9uLnRhci5nej5lbGVjdHJvbi0ke3ZlcnNpb259LnRhci5negorIGh0dHBzOi8v Y29tbW9uZGF0YXN0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vY2hyb21pdW0tYnJvd3Nlci1vZmZpY2lh bC9jaHJvbWl1bS0kX2Nocm9taXVtdmVyLnRhci54egorIGh0dHBzOi8vZ2l0aHViLmNvbS9ub2Rl anMvbm9kZS9hcmNoaXZlL3YkX25vZGV2ZXIudGFyLmd6Pm5vZGUtJF9ub2RldmVyLnRhci5neiIK K2NoZWNrc3VtPSJlM2ZjMmUxNWM2MDU1MTUxMmUyNmYxZTk2ZTAyZTMzOTU0MDU3ODE4Y2ViOGNk OGFiNmQxOTljYmI4NzUxZWUzCisgZjljNTM4MzlmMzA2ZDI5NzNkZTI3NzIzMzYwMDI0Zjc5MDQx MDFkNDI2YjllN2U5Y2RiNTZlOGJjYzc3NWIwZQorIDExNjQ4ZDU4NmY2OGVlNWZjMzhlNGNhZGYz OTc0NTQxYWFjNGE2NzcwOWZhMDI4ZTkwNzVhZmY0MmUyOGQ5YjkiCisKK2xpYjMyZGlzYWJsZWQ9 eWVzCitub2RlYnVnPXllcworbm9waWU9eWVzICAjIGNvbnRhaW5zIHRvb2xzIHRoYXQgYXJlIG5v dCBQSUUsIGVuYWJsZXMgUElFIGl0c2VsZgorCitfYnVpbGR0eXBlPVJlbGVhc2UKK19pc19kZWJ1 Zz1mYWxzZQorCitDRkxBR1M9Ii1Xbm8tdW5rbm93bi13YXJuaW5nLW9wdGlvbiAtZlBJQyIKK0NY WEZMQUdTPSItV25vLXVua25vd24td2FybmluZy1vcHRpb24gLWZQSUMiCisKK3Bvc3RfZXh0cmFj dCgpIHsKKwlsbiAtcyBjaHJvbWl1bS0kX2Nocm9taXVtdmVyIHNyYworCW1rZGlyIC1wIHNyYy90 aGlyZF9wYXJ0eS8KKwlsbiAtcyAuLi8uLi9ub2RlLSRfbm9kZXZlciBzcmMvdGhpcmRfcGFydHkv ZWxlY3Ryb25fbm9kZQorCWxuIC1zIC4uL2VsZWN0cm9uLSR7dmVyc2lvbn0gc3JjL2VsZWN0cm9u CisKK30KK3Bvc3RfcGF0Y2goKSB7CisJY2QgJHdya3NyYworCWZvciB4IGluICRGSUxFU0RJUi9w YXRjaGVzLyo7IGRvCisJCWNhc2UgIiR7eCMjKi99IiBpbgorCQkJY2hyb21pdW0qLnBhdGNoKQor CQkJCWNkIHNyYworCQkJCWVjaG8gUGF0Y2hpbmcgJHgKKwkJCQlwYXRjaCAtcDEgLWkgIiR4Igor CQkJCWNkICIkd3Jrc3JjIgorCQkJCTs7CisJCQllbGVjdHJvbioucGF0Y2gpCisJCQkJY2Qgc3Jj L2VsZWN0cm9uCisJCQkJZWNobyBQYXRjaGluZyAkeAorCQkJCXBhdGNoIC1wMSAtaSAiJHgiCisJ CQkJY2QgIiR3cmtzcmMiCisJCWVzYWMKKwlkb25lCisKKwlpZiBbICIkWEJQU19UQVJHRVRfTElC QyIgPSAibXVzbCIgXTsgdGhlbgorCWZvciB4IGluICRGSUxFU0RJUi9tdXNsLXBhdGNoZXMvKjsg ZG8KKwkJY2FzZSAiJHt4IyMqL30iIGluCisJCQljaHJvbWl1bSoucGF0Y2gpCisJCQkJY2Qgc3Jj CisJCQkJZWNobyBQYXRjaGluZyAkeAorCQkJCXBhdGNoIC1wMSAtaSAiJHgiCisJCQkJY2QgIiR3 cmtzcmMiCisJCQkJOzsKKwkJCWVsZWN0cm9uKi5wYXRjaCkKKwkJCQljZCBzcmMvZWxlY3Ryb24K KwkJCQllY2hvIFBhdGNoaW5nICR4CisJCQkJcGF0Y2ggLXAxIC1pICIkeCIKKwkJCQljZCAiJHdy a3NyYyIKKwkJZXNhYworCWRvbmUKKwlmaQorfQorCitwcmVfY29uZmlndXJlKCkgeworCWNkICR3 cmtzcmMKKwkjIFNpZ2gsIGVsZWN0cm9uIHVzZXMgZ2l0IGFtLi4uCisJcHl0aG9uMiBzcmMvZWxl Y3Ryb24vc2NyaXB0L2xpc3RfcGF0Y2hfdGFyZ2V0cy5weSBzcmMvZWxlY3Ryb24vcGF0Y2hlcy9j b25maWcuanNvbiB8IHdoaWxlIHJlYWQgLXIgcmVwb3BhdGg7IGRvCisJCWNkICIkd3Jrc3JjIi8i JHJlcG9wYXRoIgorCQlnaXQgaW5pdCAtcQorCQlnaXQgY29uZmlnICJnYy5hdXRvIiAwCisJCWlm IFsgIiRyZXBvcGF0aCIgIT0gInNyYyIgXTsgdGhlbgorCQkJZWNobyAiLyR7cmVwb3BhdGgjc3Jj L30iID4+ICIkd3Jrc3JjLyRidWlsZF93cmtzcmMvLmdpdGlnbm9yZSIKKwkJZmkKKwkJZ2l0IGFk ZCAuCisJCWdpdCAtYyAndXNlci5uYW1lPUVsZWN0cm9uIGJ1aWxkJyAtYyAndXNlci5lbWFpbD1l bGVjdHJvbkBlYnVpbGQnIFwKKwkJCWNvbW1pdCAtcSAtbSAiLiIgfHwgdHJ1ZQorCWRvbmUKKwor CXB5dGhvbjIgc3JjL2VsZWN0cm9uL3NjcmlwdC9hcHBseV9hbGxfcGF0Y2hlcy5weSBzcmMvZWxl Y3Ryb24vcGF0Y2hlcy9jb25maWcuanNvbgorCisJY2QgIiRidWlsZF93cmtzcmMiCisKKwkjIGh0 dHBzOi8vZ3JvdXBzLmdvb2dsZS5jb20vYS9jaHJvbWl1bS5vcmcvZC90b3BpYy9jaHJvbWl1bS1w YWNrYWdlcnMvOUpYMU4ybmY0UFUvZGlzY3Vzc2lvbgorCXRvdWNoIGNocm9tZS90ZXN0L2RhdGEv d2VidWkvaTE4bl9wcm9jZXNzX2Nzc190ZXN0Lmh0bWwKKwkjIFVzZSB0aGUgZmlsZSBhdCBydW4g dGltZSBpbnN0ZWFkIG9mIGVmZmVjdGl2ZWx5IGNvbXBpbGluZyBpdCBpbgorCXNlZCAnc3wvL3Ro aXJkX3BhcnR5L3VzYl9pZHMvdXNiLmlkc3wvdXNyL3NoYXJlL2h3ZGF0YS91c2IuaWRzfGcnIFwK KwkJLWkgc2VydmljZXMvZGV2aWNlL3B1YmxpYy9jcHAvdXNiL0JVSUxELmduCisKKwlta2RpciAt cCB0aGlyZF9wYXJ0eS9ub2RlL2xpbnV4L25vZGUtbGludXgteDY0L2JpbgorCWxuIC1zIC91c3Iv YmluL25vZGUgdGhpcmRfcGFydHkvbm9kZS9saW51eC9ub2RlLWxpbnV4LXg2NC9iaW4vCisKKwkj IHJldXNhYmxlIHN5c3RlbSBsaWJyYXJ5IHNldHRpbmdzCisJbG9jYWwgdXNlX3N5c3RlbT0iCisJ CWZmbXBlZworCQlmbGFjCisJCWZvbnRjb25maWcKKwkJZnJlZXR5cGUKKwkJaGFyZmJ1enotbmcK KwkJbGliZHJtCisJCWxpYmV2ZW50CisJCWxpYmpwZWcKKwkJbGlicG5nCisJCWxpYndlYnAKKwkJ bGlieG1sCisJCWxpYnhzbHQKKwkJb3B1cworCQlyZTIKKwkJc25hcHB5CisJCXlhc20KKwkJIgor CWZvciBfbGliIGluICR1c2Vfc3lzdGVtIGxpYmpwZWdfdHVyYm87IGRvCisJCW1zZ19ub3JtYWwg IlJlbW92aW5nIGJ1aWxkc2NyaXB0cyBmb3Igc3lzdGVtIHByb3ZpZGVkICRfbGliXG4iCisJCWZp bmQgLXR5cGUgZiAtcGF0aCAiKnRoaXJkX3BhcnR5LyRfbGliLyoiIFwKKwkJCVwhIC1wYXRoICIq dGhpcmRfcGFydHkvJF9saWIvY2hyb21pdW0vKiIgXAorCQkJXCEgLXBhdGggIip0aGlyZF9wYXJ0 eS8kX2xpYi9nb29nbGUvKiIgXAorCQkJXCEgLXBhdGggJy4vYmFzZS90aGlyZF9wYXJ0eS9pY3Uv KicgXAorCQkJXCEgLXBhdGggJy4vdGhpcmRfcGFydHkvbGlieG1sLyonIFwKKwkJCVwhIC1wYXRo ICcuL3RoaXJkX3BhcnR5L3BkZml1bS90aGlyZF9wYXJ0eS9mcmVldHlwZS9pbmNsdWRlL3BzdGFi bGVzLmgnIFwKKwkJCVwhIC1wYXRoICcuL3RoaXJkX3BhcnR5L3lhc20vcnVuX3lhc20ucHknIFwK KwkJCVwhIC1yZWdleCAnLipcLlwoZ25cfGduaVx8aXNvbGF0ZVx8cHlcKScgXAorCQkJLWRlbGV0 ZQorCWRvbmUKKworCisJbXNnX25vcm1hbCAiUmVwbGFjaW5nIGduIGZpbGVzXG4iCisJcHl0aG9u MiBidWlsZC9saW51eC91bmJ1bmRsZS9yZXBsYWNlX2duX2ZpbGVzLnB5IC0tc3lzdGVtLWxpYnJh cmllcyBcCisJCSR1c2Vfc3lzdGVtCisJdGhpcmRfcGFydHkvbGliYWRkcmVzc2lucHV0L2Nocm9t aXVtL3Rvb2xzL3VwZGF0ZS1zdHJpbmdzLnB5Cit9CisKK19nbl9mbGFncygpIHsKKwllY2hvICQq Cit9CisKK2RvX2NvbmZpZ3VyZSgpIHsKKwljZCB0aGlyZF9wYXJ0eS9lbGVjdHJvbl9ub2RlCisK KwkuL2NvbmZpZ3VyZSAtLXByZWZpeD0vdXNyIFwKKwkJLS1zaGFyZWQtemxpYiBcCisJCS0tc2hh cmVkLWxpYnV2IFwKKwkJLS1zaGFyZWQtb3BlbnNzbCBcCisJCS0tc2hhcmVkLWNhcmVzIFwKKwkJ LS1vcGVuc3NsLXVzZS1kZWYtY2Etc3RvcmUgXAorCQktLXdpdGhvdXQtbnBtIFwKKwkJLS13aXRo b3V0LWR0cmFjZSBcCisJCS0td2l0aG91dC1idW5kbGVkLXY4CisKKwljZCAiJHdya3NyYy8kYnVp bGRfd3Jrc3JjIi9lbGVjdHJvbgorCXlhcm4gaW5zdGFsbAorCWVjaG8gJHdya3NyYy8kYnVpbGRf d3Jrc3JjCisJY2QgIiR3cmtzcmMvJGJ1aWxkX3dya3NyYyIKKworCW1zZ19ub3JtYWwgIkJvb3Rz dHJhcHBpbmcgR05cbiIKKwlsb2NhbCBfYz0kKF9nbl9mbGFncyBpc19jbGFuZz10cnVlIFwKKwkJ dXNlX3N5c3Jvb3Q9ZmFsc2UgXAorCQl0cmVhdF93YXJuaW5nc19hc19lcnJvcnM9ZmFsc2UgXAor CQlmYXRhbF9saW5rZXJfd2FybmluZ3M9ZmFsc2UgXAorCQliaW51dGlsc19wYXRoPVwiL3Vzci9i aW5cIiBcCisJCXVzZV9jdXN0b21fbGliY3h4PWZhbHNlIFwKKwkJdXNlX2dvbGQ9ZmFsc2UgXAor CQl1c2VfYWxsb2NhdG9yPVwibm9uZVwiIFwKKwkJdXNlX2FsbG9jYXRvcl9zaGltPWZhbHNlIFwK KwkJdXNlX3ZhYXBpPXRydWUgXAorCSkKKworIwlBUj0iYXIiIENDPSIke0NDOi1nY2N9IiBDWFg9 IiR7Q1hYOi1nKyt9IiBMRD0iJHtDWFg6LWcrK30iIFwKKwlDQz0iJHtDQzotY2xhbmd9IiBDWFg9 IiR7Q1hYOi1jbGFuZysrfSIgTEQ9IiR7Q1hYOi1jbGFuZysrfSIgXAorCQlweXRob24yIHRvb2xz L2duL2Jvb3RzdHJhcC9ib290c3RyYXAucHkgLXMgLXYgLS1nbi1nZW4tYXJncyAiJF9jIgorCQor CSMgR29vZ2xlIEFQSSBrZXlzIChzZWUgaHR0cDovL3d3dy5jaHJvbWl1bS5vcmcvZGV2ZWxvcGVy cy9ob3ctdG9zL2FwaS1rZXlzKQorCSMgTm90ZTogVGhlc2UgYXJlIGZvciBWb2lkIExpbnV4IHVz ZSBPTkxZLgorCW1zZ19ub3JtYWwgIkNvbmZpZ3VyaW5nIGJ1aWxkXG4iCisJX2M9JChfZ25fZmxh Z3MgXAorCQlibGlua19zeW1ib2xfbGV2ZWw9MCBcCisJCWNsYW5nX3VzZV9jaHJvbWVfcGx1Z2lu cz1mYWxzZSBcCisJCWNsb3N1cmVfY29tcGlsZT10cnVlIFwKKwkJY3VzdG9tX3Rvb2xjaGFpbj1c Ii8vYnVpbGQvdG9vbGNoYWluL2xpbnV4L3VuYnVuZGxlOmRlZmF1bHRcIiBcCisJCWVuYWJsZV9o YW5nb3V0X3NlcnZpY2VzX2V4dGVuc2lvbj10cnVlIFwKKwkJZW5hYmxlX25hY2xfbm9uc2ZpPWZh bHNlIFwKKwkJZW5hYmxlX25hY2w9ZmFsc2UgXAorCQllbmFibGVfcHJlY29tcGlsZWRfaGVhZGVy cz1mYWxzZSBcCisJCWZhdGFsX2xpbmtlcl93YXJuaW5ncz1mYWxzZSBcCisJCWZmbXBlZ19icmFu ZGluZz1cIkNocm9tZVwiIFwKKwkJZmllbGR0cmlhbF90ZXN0aW5nX2xpa2Vfb2ZmaWNpYWxfYnVp bGQ9dHJ1ZSBcCisJCWdvbGRfcGF0aD1cIi91c3IvYmluL2xkLmdvbGRcIiBcCisJCWdvb2dsZV9h cGlfa2V5PVwiQUl6YVN5QTlnV2F6S2FIYU5JUFBnMmhyTWo2X1pTRzhBRm1xNzM4XCIgXAorCQln b29nbGVfZGVmYXVsdF9jbGllbnRfaWQ9XCIxMjY2NTkxNDk0MjMtaG9vNmlja2JrM3AxdTJxanNk c3AwZGRjaXVyZnZiNHQuYXBwcy5nb29nbGV1c2VyY29udGVudC5jb21cIiBcCisJCWdvb2dsZV9k ZWZhdWx0X2NsaWVudF9zZWNyZXQ9XCJfb3pJeDJELURLbV9zZV8yTlB3VjRsNWJcIiBcCisJCWhv c3RfdG9vbGNoYWluPVwiLy9idWlsZC90b29sY2hhaW4vbGludXgvdW5idW5kbGU6ZGVmYXVsdFwi IFwKKwkJaWN1X3VzZV9kYXRhX2ZpbGU9dHJ1ZSBcCisJCWlzX2NsYW5nPXRydWUgXAorCQlpc19j b21wb25lbnRfYnVpbGQ9ZmFsc2UgXAorCQlpc19kZWJ1Zz0kX2lzX2RlYnVnIFwKKwkJaXNfZGVz a3RvcF9saW51eD10cnVlIFwKKwkJbGludXhfdXNlX2J1bmRsZWRfYmludXRpbHM9ZmFsc2UgXAor CQlwcm9wcmlldGFyeV9jb2RlY3M9dHJ1ZSBcCisJCXN5bWJvbF9sZXZlbD0wIFwKKwkJdHJlYXRf d2FybmluZ3NfYXNfZXJyb3JzPWZhbHNlIFwKKwkJdXNlX2FsbG9jYXRvcl9zaGltPWZhbHNlIFwK KwkJdXNlX2FsbG9jYXRvcj1cIm5vbmVcIiBcCisJCXVzZV9jdXBzPXRydWUgXAorCQl1c2VfY3Vz dG9tX2xpYmN4eD1mYWxzZSBcCisJCXVzZV9nbm9tZV9rZXlyaW5nPWZhbHNlIFwKKwkJdXNlX2dv bGQ9ZmFsc2UgXAorCQl1c2VfbGxkPWZhbHNlIFwKKwkJdXNlX3B1bHNlYXVkaW89ZmFsc2UgXAor CQl1c2Vfc3lzcm9vdD1mYWxzZSBcCisJCXVzZV9zeXN0ZW1faGFyZmJ1eno9dHJ1ZSBcCisJCWlt cG9ydFwoXCIvL2VsZWN0cm9uL2J1aWxkL2FyZ3MvcmVsZWFzZS5nblwiXCkgXAorCSkKKworCUFS PSJhciIgQ0M9ImNsYW5nIiBDWFg9ImNsYW5nKysiIExEPSJjbGFuZysrIiBOTT0vdXNyL2Jpbi9u bSBcCisJCW91dC9SZWxlYXNlL2duIGdlbiBvdXQvJF9idWlsZHR5cGUgLS1hcmdzPSIkX2MiCit9 CisKK2RvX2J1aWxkKCkgeworCW1zZ19ub3JtYWwgIk5pbmphIHR1cnRsZXMgR08hXG4iCisJbmlu amEgLUMgb3V0L1JlbGVhc2UgdGhpcmRfcGFydHkvZWxlY3Ryb25fbm9kZTpoZWFkZXJzCisKKwkj IGZpbmFsIGxpbmsgbmVlZHMgbG90cyBvZiBmaWxlIGRlc2NyaXB0b3JzCisJdWxpbWl0IC1uIDIw NDgKKworCW5pbmphIC1DIG91dC8kX2J1aWxkdHlwZSBlbGVjdHJvbgorCSMgZmluaXNoIHJlc3Qg b2YgdGhlIGJ1aWxkCisJc3RyaXAgLXMgb3V0LyRfYnVpbGR0eXBlL2VsZWN0cm9uCisJbmluamEg LUMgb3V0LyRfYnVpbGR0eXBlIGVsZWN0cm9uX2Rpc3RfemlwCit9CisKK2RvX2luc3RhbGwoKSB7 CisJdm1rZGlyIC91c3IvbGliLyRwa2duYW1lIAorCXZta2RpciAvdXNyL2luY2x1ZGUvJHBrZ25h bWUKKwlic2R0YXIgLXhmIG91dC8kX2J1aWxkdHlwZS9kaXN0LnppcCAtQyAiJERFU1RESVIvdXNy L2xpYi8kcGtnbmFtZSIKKworCWNobW9kIHUrcyAiJERFU1RESVIvdXNyL2xpYi8kcGtnbmFtZS9j aHJvbWUtc2FuZGJveCIKKworCWNwIG91dC8kX2J1aWxkdHlwZS9nZW4vbm9kZV9oZWFkZXJzLnRh ci5neiAiJERFU1RESVIiL3Vzci9pbmNsdWRlLyRwa2duYW1lCisKKwl2bGljZW5zZSAke3dya3Ny Y30vc3JjL0xJQ0VOU0UgY2hyb21pdW0uTElDRU5TRQorCXZsaWNlbnNlICR7d3Jrc3JjfS9zcmMv ZWxlY3Ryb24vTElDRU5TRSBlbGVjdHJvbi5MSUNFTlNFCisJdmxpY2Vuc2UgJHt3cmtzcmN9L3Ny Yy90aGlyZF9wYXJ0eS9lbGVjdHJvbl9ub2RlL0xJQ0VOU0Ugbm9kZS5MSUNFTlNFCisKKwl2bWtk aXIgL3Vzci9iaW4KKwlsbiAtcyAuLi9saWIvJHBrZ25hbWUvZWxlY3Ryb24gIiRERVNURElSIi91 c3IvYmluCit9CgpGcm9tIDM4MzBkMjY5MTFjMzkyODAwOTVkMjI3NmNiM2Y2NWUxZWMyZGZkMTUg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4K RGF0ZTogU2F0LCA5IE1heSAyMDIwIDAwOjE0OjUxICswMjAwClN1YmplY3Q6IFtQQVRDSCAzLzRd IGZpeHVwISBOZXcgcGFja2FnZTogZWxlY3Ryb243LTcuMi4zCgotLS0KIHNyY3BrZ3MvZWxlY3Ry b243L3RlbXBsYXRlIHwgMTE3ICsrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0K IDEgZmlsZSBjaGFuZ2VkLCA1OCBpbnNlcnRpb25zKCspLCA1OSBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9zcmNwa2dzL2VsZWN0cm9uNy90ZW1wbGF0ZSBiL3NyY3BrZ3MvZWxlY3Ryb243L3Rl bXBsYXRlCmluZGV4IDI2MTc5OTgzOTllLi4xOGJhNzAxNTE3MiAxMDA2NDQKLS0tIGEvc3JjcGtn cy9lbGVjdHJvbjcvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9lbGVjdHJvbjcvdGVtcGxhdGUKQEAg LTE1MiwxMSArMTUyLDggQEAgcHJlX2NvbmZpZ3VyZSgpIHsKIAl0aGlyZF9wYXJ0eS9saWJhZGRy ZXNzaW5wdXQvY2hyb21pdW0vdG9vbHMvdXBkYXRlLXN0cmluZ3MucHkKIH0KIAotX2duX2ZsYWdz KCkgewotCWVjaG8gJCoKLX0KLQogZG9fY29uZmlndXJlKCkgeworCWxvY2FsIGNvbmY9KCkKIAlj ZCB0aGlyZF9wYXJ0eS9lbGVjdHJvbl9ub2RlCiAKIAkuL2NvbmZpZ3VyZSAtLXByZWZpeD0vdXNy IFwKQEAgLTE3NSw3OSArMTcyLDgxIEBAIGRvX2NvbmZpZ3VyZSgpIHsKIAljZCAiJHdya3NyYy8k YnVpbGRfd3Jrc3JjIgogCiAJbXNnX25vcm1hbCAiQm9vdHN0cmFwcGluZyBHTlxuIgotCWxvY2Fs IF9jPSQoX2duX2ZsYWdzIGlzX2NsYW5nPXRydWUgXAotCQl1c2Vfc3lzcm9vdD1mYWxzZSBcCi0J CXRyZWF0X3dhcm5pbmdzX2FzX2Vycm9ycz1mYWxzZSBcCi0JCWZhdGFsX2xpbmtlcl93YXJuaW5n cz1mYWxzZSBcCi0JCWJpbnV0aWxzX3BhdGg9XCIvdXNyL2JpblwiIFwKLQkJdXNlX2N1c3RvbV9s aWJjeHg9ZmFsc2UgXAotCQl1c2VfZ29sZD1mYWxzZSBcCi0JCXVzZV9hbGxvY2F0b3I9XCJub25l XCIgXAotCQl1c2VfYWxsb2NhdG9yX3NoaW09ZmFsc2UgXAotCQl1c2VfdmFhcGk9dHJ1ZSBcCisJ Y29uZis9KAorCQknaXNfY2xhbmc9dHJ1ZScKKwkJJ3VzZV9zeXNyb290PWZhbHNlJworCQkndHJl YXRfd2FybmluZ3NfYXNfZXJyb3JzPWZhbHNlJworCQknZmF0YWxfbGlua2VyX3dhcm5pbmdzPWZh bHNlJworCQknYmludXRpbHNfcGF0aD0iL3Vzci9iaW4iJworCQkndXNlX2N1c3RvbV9saWJjeHg9 ZmFsc2UnCisJCSd1c2VfZ29sZD1mYWxzZScKKwkJJ3VzZV9hbGxvY2F0b3I9Im5vbmUiJworCQkn dXNlX2FsbG9jYXRvcl9zaGltPWZhbHNlJworCQkndXNlX3ZhYXBpPXRydWUnCiAJKQogCiAjCUFS PSJhciIgQ0M9IiR7Q0M6LWdjY30iIENYWD0iJHtDWFg6LWcrK30iIExEPSIke0NYWDotZysrfSIg XAogCUNDPSIke0NDOi1jbGFuZ30iIENYWD0iJHtDWFg6LWNsYW5nKyt9IiBMRD0iJHtDWFg6LWNs YW5nKyt9IiBcCi0JCXB5dGhvbjIgdG9vbHMvZ24vYm9vdHN0cmFwL2Jvb3RzdHJhcC5weSAtcyAt diAtLWduLWdlbi1hcmdzICIkX2MiCisJCXB5dGhvbjIgdG9vbHMvZ24vYm9vdHN0cmFwL2Jvb3Rz dHJhcC5weSAtcyAtdiAtLWduLWdlbi1hcmdzICIke2NvbmZbKl19IgogCQorCW1zZ19ub3JtYWwg IkNvbmZpZ3VyaW5nIGJ1aWxkXG4iCiAJIyBHb29nbGUgQVBJIGtleXMgKHNlZSBodHRwOi8vd3d3 LmNocm9taXVtLm9yZy9kZXZlbG9wZXJzL2hvdy10b3MvYXBpLWtleXMpCiAJIyBOb3RlOiBUaGVz ZSBhcmUgZm9yIFZvaWQgTGludXggdXNlIE9OTFkuCi0JbXNnX25vcm1hbCAiQ29uZmlndXJpbmcg YnVpbGRcbiIKLQlfYz0kKF9nbl9mbGFncyBcCi0JCWJsaW5rX3N5bWJvbF9sZXZlbD0wIFwKLQkJ Y2xhbmdfdXNlX2Nocm9tZV9wbHVnaW5zPWZhbHNlIFwKLQkJY2xvc3VyZV9jb21waWxlPXRydWUg XAotCQljdXN0b21fdG9vbGNoYWluPVwiLy9idWlsZC90b29sY2hhaW4vbGludXgvdW5idW5kbGU6 ZGVmYXVsdFwiIFwKLQkJZW5hYmxlX2hhbmdvdXRfc2VydmljZXNfZXh0ZW5zaW9uPXRydWUgXAot CQllbmFibGVfbmFjbF9ub25zZmk9ZmFsc2UgXAotCQllbmFibGVfbmFjbD1mYWxzZSBcCi0JCWVu YWJsZV9wcmVjb21waWxlZF9oZWFkZXJzPWZhbHNlIFwKLQkJZmF0YWxfbGlua2VyX3dhcm5pbmdz PWZhbHNlIFwKLQkJZmZtcGVnX2JyYW5kaW5nPVwiQ2hyb21lXCIgXAotCQlmaWVsZHRyaWFsX3Rl c3RpbmdfbGlrZV9vZmZpY2lhbF9idWlsZD10cnVlIFwKLQkJZ29sZF9wYXRoPVwiL3Vzci9iaW4v bGQuZ29sZFwiIFwKLQkJZ29vZ2xlX2FwaV9rZXk9XCJBSXphU3lBOWdXYXpLYUhhTklQUGcyaHJN ajZfWlNHOEFGbXE3MzhcIiBcCi0JCWdvb2dsZV9kZWZhdWx0X2NsaWVudF9pZD1cIjEyNjY1OTE0 OTQyMy1ob282aWNrYmszcDF1MnFqc2RzcDBkZGNpdXJmdmI0dC5hcHBzLmdvb2dsZXVzZXJjb250 ZW50LmNvbVwiIFwKLQkJZ29vZ2xlX2RlZmF1bHRfY2xpZW50X3NlY3JldD1cIl9vekl4MkQtREtt X3NlXzJOUHdWNGw1YlwiIFwKLQkJaG9zdF90b29sY2hhaW49XCIvL2J1aWxkL3Rvb2xjaGFpbi9s aW51eC91bmJ1bmRsZTpkZWZhdWx0XCIgXAotCQlpY3VfdXNlX2RhdGFfZmlsZT10cnVlIFwKLQkJ aXNfY2xhbmc9dHJ1ZSBcCi0JCWlzX2NvbXBvbmVudF9idWlsZD1mYWxzZSBcCi0JCWlzX2RlYnVn PSRfaXNfZGVidWcgXAotCQlpc19kZXNrdG9wX2xpbnV4PXRydWUgXAotCQlsaW51eF91c2VfYnVu ZGxlZF9iaW51dGlscz1mYWxzZSBcCi0JCXByb3ByaWV0YXJ5X2NvZGVjcz10cnVlIFwKLQkJc3lt Ym9sX2xldmVsPTAgXAotCQl0cmVhdF93YXJuaW5nc19hc19lcnJvcnM9ZmFsc2UgXAotCQl1c2Vf YWxsb2NhdG9yX3NoaW09ZmFsc2UgXAotCQl1c2VfYWxsb2NhdG9yPVwibm9uZVwiIFwKLQkJdXNl X2N1cHM9dHJ1ZSBcCi0JCXVzZV9jdXN0b21fbGliY3h4PWZhbHNlIFwKLQkJdXNlX2dub21lX2tl eXJpbmc9ZmFsc2UgXAotCQl1c2VfZ29sZD1mYWxzZSBcCi0JCXVzZV9sbGQ9ZmFsc2UgXAotCQl1 c2VfcHVsc2VhdWRpbz1mYWxzZSBcCi0JCXVzZV9zeXNyb290PWZhbHNlIFwKLQkJdXNlX3N5c3Rl bV9oYXJmYnV6ej10cnVlIFwKLQkJaW1wb3J0XChcIi8vZWxlY3Ryb24vYnVpbGQvYXJncy9yZWxl YXNlLmduXCJcKSBcCisJY29uZj0oCisJCSdnb29nbGVfYXBpX2tleT0iQUl6YVN5QTlnV2F6S2FI YU5JUFBnMmhyTWo2X1pTRzhBRm1xNzM4IicKKwkJJ2dvb2dsZV9kZWZhdWx0X2NsaWVudF9pZD0i MTI2NjU5MTQ5NDIzLWhvbzZpY2tiazNwMXUycWpzZHNwMGRkY2l1cmZ2YjR0LmFwcHMuZ29vZ2xl dXNlcmNvbnRlbnQuY29tIicKKwkJJ2dvb2dsZV9kZWZhdWx0X2NsaWVudF9zZWNyZXQ9Il9vekl4 MkQtREttX3NlXzJOUHdWNGw1YiInCisJKQorCisJY29uZis9KAorCQknYmxpbmtfc3ltYm9sX2xl dmVsPTAnCisJCSdjbGFuZ191c2VfY2hyb21lX3BsdWdpbnM9ZmFsc2UnCisJCSdjbG9zdXJlX2Nv bXBpbGU9dHJ1ZScKKwkJJ2N1c3RvbV90b29sY2hhaW49Ii8vYnVpbGQvdG9vbGNoYWluL2xpbnV4 L3VuYnVuZGxlOmRlZmF1bHQiJworCQknaG9zdF90b29sY2hhaW49Ii8vYnVpbGQvdG9vbGNoYWlu L2xpbnV4L3VuYnVuZGxlOmRlZmF1bHQiJworCQknZW5hYmxlX2hhbmdvdXRfc2VydmljZXNfZXh0 ZW5zaW9uPXRydWUnCisJCSdlbmFibGVfbmFjbF9ub25zZmk9ZmFsc2UnCisJCSdlbmFibGVfbmFj bD1mYWxzZScKKwkJJ2VuYWJsZV9wcmVjb21waWxlZF9oZWFkZXJzPWZhbHNlJworCQknZmF0YWxf bGlua2VyX3dhcm5pbmdzPWZhbHNlJworCQknZmZtcGVnX2JyYW5kaW5nPSJDaHJvbWUiJworCQkn ZmllbGR0cmlhbF90ZXN0aW5nX2xpa2Vfb2ZmaWNpYWxfYnVpbGQ9dHJ1ZScKKwkJJ2dvbGRfcGF0 aD0iL3Vzci9iaW4vbGQuZ29sZCInCisJCSdpY3VfdXNlX2RhdGFfZmlsZT10cnVlJworCQknaXNf Y2xhbmc9dHJ1ZScKKwkJJ2lzX2NvbXBvbmVudF9idWlsZD1mYWxzZScKKwkJImlzX2RlYnVnPSRf aXNfZGVidWciCisJCSdpc19kZXNrdG9wX2xpbnV4PXRydWUnCisJCSdsaW51eF91c2VfYnVuZGxl ZF9iaW51dGlscz1mYWxzZScKKwkJJ3Byb3ByaWV0YXJ5X2NvZGVjcz10cnVlJworCQknc3ltYm9s X2xldmVsPTAnCisJCSd0cmVhdF93YXJuaW5nc19hc19lcnJvcnM9ZmFsc2UnCisJCSd1c2VfYWxs b2NhdG9yX3NoaW09ZmFsc2UnCisJCSd1c2VfYWxsb2NhdG9yPSJub25lIicKKwkJJ3VzZV9jdXBz PXRydWUnCisJCSd1c2VfY3VzdG9tX2xpYmN4eD1mYWxzZScKKwkJJ3VzZV9nbm9tZV9rZXlyaW5n PWZhbHNlJworCQkndXNlX2dvbGQ9ZmFsc2UnCisJCSd1c2VfbGxkPWZhbHNlJworCQkndXNlX3B1 bHNlYXVkaW89ZmFsc2UnCisJCSd1c2Vfc3lzcm9vdD1mYWxzZScKKwkJJ3VzZV9zeXN0ZW1faGFy ZmJ1eno9dHJ1ZScKKwkJJ2ltcG9ydCgiLy9lbGVjdHJvbi9idWlsZC9hcmdzL3JlbGVhc2UuZ24i KScKIAkpCiAKIAlBUj0iYXIiIENDPSJjbGFuZyIgQ1hYPSJjbGFuZysrIiBMRD0iY2xhbmcrKyIg Tk09L3Vzci9iaW4vbm0gXAotCQlvdXQvUmVsZWFzZS9nbiBnZW4gb3V0LyRfYnVpbGR0eXBlIC0t YXJncz0iJF9jIgorCQlvdXQvUmVsZWFzZS9nbiBnZW4gb3V0LyRfYnVpbGR0eXBlIC0tYXJncz0i JHtjb25mWypdfSIKIH0KIAogZG9fYnVpbGQoKSB7CiAJbXNnX25vcm1hbCAiTmluamEgdHVydGxl cyBHTyFcbiIKLQluaW5qYSAtQyBvdXQvUmVsZWFzZSB0aGlyZF9wYXJ0eS9lbGVjdHJvbl9ub2Rl OmhlYWRlcnMKKwluaW5qYSAke21ha2Vqb2JzfSAtQyBvdXQvUmVsZWFzZSB0aGlyZF9wYXJ0eS9l bGVjdHJvbl9ub2RlOmhlYWRlcnMKIAotCSMgZmluYWwgbGluayBuZWVkcyBsb3RzIG9mIGZpbGUg ZGVzY3JpcHRvcnMKLQl1bGltaXQgLW4gMjA0OAogCi0JbmluamEgLUMgb3V0LyRfYnVpbGR0eXBl IGVsZWN0cm9uCisJbmluamEgJHttYWtlam9ic30gLUMgb3V0LyRfYnVpbGR0eXBlIGVsZWN0cm9u CiAJIyBmaW5pc2ggcmVzdCBvZiB0aGUgYnVpbGQKIAlzdHJpcCAtcyBvdXQvJF9idWlsZHR5cGUv ZWxlY3Ryb24KLQluaW5qYSAtQyBvdXQvJF9idWlsZHR5cGUgZWxlY3Ryb25fZGlzdF96aXAKKwlu aW5qYSAke21ha2Vqb2JzfSAtQyBvdXQvJF9idWlsZHR5cGUgZWxlY3Ryb25fZGlzdF96aXAKIH0K IAogZG9faW5zdGFsbCgpIHsKCkZyb20gZTUxYjZhMWZlNzA1ZDE5ODY0NDhiYzZkNzM1YmZlMDBi MDk1NTBkNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSm9obiA8bWVAam9obm55bmF0 b3IuZGV2PgpEYXRlOiBGcmksIDggTWF5IDIwMjAgMTk6MTc6MDkgKzAyMDAKU3ViamVjdDogW1BB VENIIDQvNF0gdnNjb2RlOiBidWlsdCBhZ2FpbnN0IHN5c3RlbSBlbGVjdHJvbgoKW2NpIHNraXBd Ci0tLQogLi4uL3ZzY29kZS9wYXRjaGVzL2RvbnQtZG93bmxvYWQtZmZtcGVnLnBhdGNoIHwgMTQg KysrKysrKysrKysKIHNyY3BrZ3MvdnNjb2RlL3BhdGNoZXMvZml4X2Rpci5wYXRjaCAgICAgICAg ICB8ICA2ICsrLS0tCiBzcmNwa2dzL3ZzY29kZS90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICAg ICAgfCAyNSArKysrKysrKysrKysrKystLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDM3IGluc2VydGlv bnMoKyksIDggZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy92c2NvZGUv cGF0Y2hlcy9kb250LWRvd25sb2FkLWZmbXBlZy5wYXRjaAoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv dnNjb2RlL3BhdGNoZXMvZG9udC1kb3dubG9hZC1mZm1wZWcucGF0Y2ggYi9zcmNwa2dzL3ZzY29k ZS9wYXRjaGVzL2RvbnQtZG93bmxvYWQtZmZtcGVnLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAwMDAwLi45NWVlZTM2MWUxYgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3Br Z3MvdnNjb2RlL3BhdGNoZXMvZG9udC1kb3dubG9hZC1mZm1wZWcucGF0Y2gKQEAgLTAsMCArMSwx NCBAQAorZGlmZiAtLWdpdCBhL2J1aWxkL2d1bHBmaWxlLnZzY29kZS5qcyBiL2J1aWxkL2d1bHBm aWxlLnZzY29kZS5qcworaW5kZXggMzQ4OGQ3YjUxYy4uNzMxMjgyYTg4MSAxMDA2NDQKKy0tLSBh L2J1aWxkL2d1bHBmaWxlLnZzY29kZS5qcworKysrIGIvYnVpbGQvZ3VscGZpbGUudnNjb2RlLmpz CitAQCAtMjY3LDcgKzI2Nyw3IEBAIGZ1bmN0aW9uIHBhY2thZ2VUYXNrKHBsYXRmb3JtLCBhcmNo LCBzb3VyY2VGb2xkZXJOYW1lLCBkZXN0aW5hdGlvbkZvbGRlck5hbWUsIG9wCisgCQlsZXQgcmVz dWx0ID0gYWxsCisgCQkJLnBpcGUodXRpbC5za2lwRGlyZWN0b3JpZXMoKSkKKyAJCQkucGlwZSh1 dGlsLmZpeFdpbjMyRGlyZWN0b3J5UGVybWlzc2lvbnMoKSkKKy0JCQkucGlwZShlbGVjdHJvbihf LmV4dGVuZCh7fSwgY29uZmlnLCB7IHBsYXRmb3JtLCBhcmNoLCBmZm1wZWdDaHJvbWl1bTogdHJ1 ZSB9KSkpCisrCQkJLnBpcGUoZWxlY3Ryb24oXy5leHRlbmQoe30sIGNvbmZpZywgeyBwbGF0Zm9y bSwgYXJjaCwgZmZtcGVnQ2hyb21pdW06IGZhbHNlIH0pKSkKKyAJCQkucGlwZShmaWx0ZXIoWycq KicsICchTElDRU5TRScsICchTElDRU5TRVMuY2hyb21pdW0uaHRtbCcsICchdmVyc2lvbiddLCB7 IGRvdDogdHJ1ZSB9KSk7CisgCisgCQlpZiAocGxhdGZvcm0gPT09ICdsaW51eCcpIHsKKyAKZGlm ZiAtLWdpdCBhL3NyY3BrZ3MvdnNjb2RlL3BhdGNoZXMvZml4X2Rpci5wYXRjaCBiL3NyY3BrZ3Mv dnNjb2RlL3BhdGNoZXMvZml4X2Rpci5wYXRjaAppbmRleCA3OTlmN2VjOTE1OS4uY2UwMjBjN2Vk ZjkgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvdnNjb2RlL3BhdGNoZXMvZml4X2Rpci5wYXRjaAorKysg Yi9zcmNwa2dzL3ZzY29kZS9wYXRjaGVzL2ZpeF9kaXIucGF0Y2gKQEAgLTIwLDcgKzIwLDcgQEAg aW5kZXggYjg1NTI1ZmJkMDQyLi5kYzc2MTcwNTFiOTUgMTAwNjQ0CiAgQ29tbWVudD1Db2RlIEVk aXRpbmcuIFJlZGVmaW5lZC4KICBHZW5lcmljTmFtZT1UZXh0IEVkaXRvcgogLUV4ZWM9QEBFWEVD QEAgLS1uby1zYW5kYm94IC0tb3Blbi11cmwgJVUKLStFeGVjPS91c3IvbGliL0BATkFNRUBAL0BA TkFNRUBAIC0tbm8tc2FuZGJveCAtLW9wZW4tdXJsICVVCisrRXhlYz0vdXNyL2xpYi9AQE5BTUVA QC9iaW4vQEBOQU1FQEAgLS1uby1zYW5kYm94IC0tb3Blbi11cmwgJVUKICBJY29uPUBASUNPTkBA CiAgVHlwZT1BcHBsaWNhdGlvbgogIE5vRGlzcGxheT10cnVlCkBAIC0zMyw3ICszMyw3IEBAIGlu ZGV4IGI5NzVlMTA5NGEyYy4uYTA5NGNjMzZlODEwIDEwMDY0NAogIENvbW1lbnQ9Q29kZSBFZGl0 aW5nLiBSZWRlZmluZWQuCiAgR2VuZXJpY05hbWU9VGV4dCBFZGl0b3IKIC1FeGVjPUBARVhFQ0BA IC0tbm8tc2FuZGJveCAtLXVuaXR5LWxhdW5jaCAlRgotK0V4ZWM9L3Vzci9saWIvQEBOQU1FQEAv QEBOQU1FQEAgLS1uby1zYW5kYm94IC0tdW5pdHktbGF1bmNoICVGCisrRXhlYz0vdXNyL2xpYi9A QE5BTUVAQC9iaW4vQEBOQU1FQEAgLS1uby1zYW5kYm94IC0tdW5pdHktbGF1bmNoICVGCiAgSWNv bj1AQElDT05AQAogIFR5cGU9QXBwbGljYXRpb24KICBTdGFydHVwTm90aWZ5PWZhbHNlCkBAIC00 Miw1ICs0Miw1IEBAIGluZGV4IGI5NzVlMTA5NGEyYy4uYTA5NGNjMzZlODEwIDEwMDY0NAogIFtE ZXNrdG9wIEFjdGlvbiBuZXctZW1wdHktd2luZG93XQogIE5hbWU9TmV3IEVtcHR5IFdpbmRvdwog LUV4ZWM9QEBFWEVDQEAgLS1uby1zYW5kYm94IC0tbmV3LXdpbmRvdyAlRgotK0V4ZWM9L3Vzci9s aWIvQEBOQU1FQEAvQEBOQU1FQEAgLS1uby1zYW5kYm94IC0tbmV3LXdpbmRvdyAlRgorK0V4ZWM9 L3Vzci9saWIvQEBOQU1FQEAvYmluL0BATkFNRUBAIC0tbm8tc2FuZGJveCAtLW5ldy13aW5kb3cg JUYKICBJY29uPUBASUNPTkBACmRpZmYgLS1naXQgYS9zcmNwa2dzL3ZzY29kZS90ZW1wbGF0ZSBi L3NyY3BrZ3MvdnNjb2RlL3RlbXBsYXRlCmluZGV4IGZhZTk2YjFlMzMyLi43ZjNjZDE4Njc1ZiAx MDA2NDQKLS0tIGEvc3JjcGtncy92c2NvZGUvdGVtcGxhdGUKKysrIGIvc3JjcGtncy92c2NvZGUv dGVtcGxhdGUKQEAgLTIsOSArMiwxMSBAQAogcGtnbmFtZT12c2NvZGUKIHZlcnNpb249MS40NC4y CiByZXZpc2lvbj0xCitfZWxlY3Ryb252ZXI9Ny4yLjMKIGhvc3RtYWtlZGVwZW5kcz0icGtnLWNv bmZpZyBweXRob24gbm9kZWpzLWx0cy0xMCB5YXJuIHRhciIKLW1ha2VkZXBlbmRzPSJsaWJ4a2Jm aWxlLWRldmVsIGxpYnNlY3JldC1kZXZlbCIKLWRlcGVuZHM9ImxpYlh0c3QgbGlieGtiZmlsZSBu c3MgZGVqYXZ1LWZvbnRzLXR0ZiB4ZGctdXRpbHMiCittYWtlZGVwZW5kcz0ibGlieGtiZmlsZS1k ZXZlbCBsaWJzZWNyZXQtZGV2ZWwgZWxlY3Ryb243IgorZGVwZW5kcz0icmlwZ3JlcCBlbGVjdHJv bjciCitkZXBlbmRzPSJsaWJYdHN0IGxpYnhrYmZpbGUgbnNzIGRlamF2dS1mb250cy10dGYgeGRn LXV0aWxzIGVsZWN0cm9uNyIKIHNob3J0X2Rlc2M9Ik1pY3Jvc29mdCBDb2RlIGZvciBMaW51eCIK IG1haW50YWluZXI9InNoaXpvbmljIDxyZWFsdGlhekBnbWFpbC5jb20+IgogbGljZW5zZT0iTUlU IgpAQCAtMTQsNyArMTYsNyBAQCBjaGVja3N1bT05OGQ0ZDQ4ZjBmZDI4N2M4NGFhNDBjZjdjODBj NmRjNjgyMjIwY2VmN2U5NzI1N2E4YTVjOWRjNzRkMDVmYTk3CiBwYXRjaF9hcmdzPSItTnAxIgog CiAjIER1ZSB0byBlbGVjdHJvbgotYXJjaHM9Ing4Nl82NCIKK2FyY2hzPSJ4ODZfNjQqIgogbm9z dHJpcF9maWxlcz0iY29kZS1vc3MiCiAKIHByZV9idWlsZCgpIHsKQEAgLTI2LDYgKzI4LDkgQEAg cHJlX2J1aWxkKCkgewogCV9URUxFTUVUUllfVVJMUz0iKGRjXC5zZXJ2aWNlc1wudmlzdWFsc3R1 ZGlvXC5jb20pfCh2b3J0ZXhcLmRhdGFcLm1pY3Jvc29mdFwuY29tKSIKIAlfUkVQTEFDRU1FTlQ9 InMvJF9URUxFTUVUUllfVVJMUy8wXC4wXC4wXC4wL2ciCiAJZ3JlcCAtcmwgLS1leGNsdWRlLWRp cj0uZ2l0IC1FICRfVEVMRU1FVFJZX1VSTFMgfCB4YXJncyBzZWQgLWkgLUUgJF9SRVBMQUNFTUVO VAorCisJIyBzZXQgdXNlZCBlbGVjdHJvbiB2ZXJzaW9uCisJc2VkIC1pICJzL150YXJnZXQgLiov dGFyZ2V0IFwiJHtfZWxlY3Ryb252ZXJ9XCIvIiAueWFybnJjCiB9CiAKIGRvX2J1aWxkKCkgewpA QCAtMzUsMTggKzQwLDI4IEBAIGRvX2J1aWxkKCkgewogCV9tZW1fbGltaXQ9Ii0tbWF4X29sZF9z cGFjZV9zaXplPTQwOTUiCiAKIAlleHBvcnQgTk9ERV9PUFRJT05TPSIke19tZW1fbGltaXR9Igot CXlhcm4gaW5zdGFsbCAtLWlnbm9yZS1lbmdpbmVzIC0tYXJjaD14NjQKKwkvdXNyL2xpYi9ub2Rl X21vZHVsZXMvbnBtL2Jpbi9ub2RlLWd5cC1iaW4vbm9kZS1neXAgaW5zdGFsbCBcCisJCS0tdGFy Z2V0PSRfZWxlY3Ryb252ZXIgXAorCQktLXRhcmJhbGw9L3Vzci9pbmNsdWRlL2VsZWN0cm9uNy9u b2RlX2hlYWRlcnMudGFyLmd6CisJeWFybiBpbnN0YWxsIC0taWdub3JlLWVuZ2luZXMgLS1mcm96 ZW4tbG9ja2ZpbGUgLS1hcmNoPXg2NAorCWV4cG9ydCBDRkxBR1M9IiRDRkxBR1MgLUkvdXNyL2lu Y2x1ZGUvbm9kZSIKIAl5YXJuIHJ1biBndWxwIHZzY29kZS1saW51eC14NjQtbWluCiB9CiAKIGRv X2luc3RhbGwoKSB7CiAJdm1rZGlyIHVzci9saWIvY29kZS1vc3MKLQl2Y29weSAuLi9WU0NvZGUt bGludXgteDY0LyogdXNyL2xpYi9jb2RlLW9zcworCXZjb3B5IC4uL1ZTQ29kZS1saW51eC14NjQv cmVzb3VyY2VzIHVzci9saWIvY29kZS1vc3MKKwl2Y29weSAuLi9WU0NvZGUtbGludXgteDY0L2Jp biB1c3IvbGliL2NvZGUtb3NzCiAJdm1rZGlyIHVzci9iaW4KIAlsbiAtc2YgL3Vzci9saWIvY29k ZS1vc3MvYmluL2NvZGUtb3NzICR7REVTVERJUn0vdXNyL2Jpbi8KIAl2bWtkaXIgdXNyL3NoYXJl L2FwcGxpY2F0aW9ucwogCWxuIC1zZiAvdXNyL2xpYi9jb2RlLW9zcy9yZXNvdXJjZXMvYXBwL3Jl c291cmNlcy9saW51eC9jb2RlLmRlc2t0b3AgJHtERVNURElSfS91c3Ivc2hhcmUvYXBwbGljYXRp b25zL2NvZGUtb3NzLmRlc2t0b3AKIAl2bWtkaXIgdXNyL3NoYXJlL3BpeG1hcHMKIAlsbiAtc2Yg L3Vzci9saWIvY29kZS1vc3MvcmVzb3VyY2VzL2FwcC9yZXNvdXJjZXMvbGludXgvY29kZS5wbmcg JHtERVNURElSfS91c3Ivc2hhcmUvcGl4bWFwcy9jb2RlLW9zcy5wbmcKKwlsbiAtc2YgL3Vzci9i aW4vcmcgJHtERVNURElSfS91c3IvbGliL2NvZGUtb3NzL3Jlc291cmNlcy9hcHAvbm9kZV9tb2R1 bGVzLmFzYXIudW5wYWNrZWQvdnNjb2RlLXJpcGdyZXAvYmluL3JnCisJdnNlZCBcCisJCS1lICJz fEVMRUNUUk9OPS4qfEVMRUNUUk9OPS91c3IvbGliL2VsZWN0cm9uJHtfZWxlY3Ryb252ZXIlJS4q fS9lbGVjdHJvbnxnIiBcCisJCS1lICdzfCIkQ0xJInwiJENMSSIgLS1hcHA9IiR7VlNDT0RFX1BB VEh9L3Jlc291cmNlcy9hcHAifGcnIFwKKwkJLWkgIiRERVNURElSIi91c3IvbGliL2NvZGUtb3Nz L2Jpbi9jb2RlLW9zcwogCXZsaWNlbnNlIExJQ0VOU0UudHh0CiB9Cg== --===============8714152877526778519==--