From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 27263 invoked from network); 4 Sep 2021 20:16:59 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 4 Sep 2021 20:16:59 -0000 Content-Type: multipart/mixed; boundary="===============2827217539997689655==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_chromium=3A_update_to_93=2E0=2E4577=2E63=2E?= To: ml@inbox.vuxu.org From: Duncaen Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Sat, 04 Sep 2021 22:16:59 +0200 List-Id: Message-ID: <20210904201659.pedaFmrdlJvAt4fedimDlIvfIEPP4DvJ_944yg0reXc@z> GitHub notification mails are now in MIME to allow UTF8. --===============2827217539997689655== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgRHVuY2FlbiBhZ2FpbnN0IG1hc3Rl ciBvbiB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20vRHVu Y2Flbi92b2lkLXBhY2thZ2VzIGNocm9taXVtLTkzCmh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxp bnV4L3ZvaWQtcGFja2FnZXMvcHVsbC8zMjgzMQoKY2hyb21pdW06IHVwZGF0ZSB0byA5My4wLjQ1 NzcuNjMuCltjaSBza2lwXQ0KDQotIFt4XSB4ODZfNjQtZ2xpYmMNCi0gW3hdIHg4Nl82NC1tdXNs DQotIFsgXSBpNjg2CgpBIHBhdGNoIGZpbGUgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vdm9pZC1s aW51eC92b2lkLXBhY2thZ2VzL3B1bGwvMzI4MzEucGF0Y2ggaXMgYXR0YWNoZWQ= --===============2827217539997689655== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-chromium-93-32831.patch" RnJvbSA2NjEyZWU1ZDU1ZDJhNzY0YmE1ZDQ4ZGM0NGRhYzAyYjQ3NmRkMGU4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBEdW5jYWVuIDxkdW5jYWVuQHZvaWRsaW51eC5vcmc+CkRhdGU6 IFNhdCwgNCBTZXAgMjAyMSAxNDozMToxNiArMDIwMApTdWJqZWN0OiBbUEFUQ0hdIGNocm9taXVt OiB1cGRhdGUgdG8gOTMuMC40NTc3LjYzLgoKLS0tCiAuLi4vZGVmYXVsdC1wdGhyZWFkLXN0YWNr c2l6ZS5wYXRjaCAgICAgICAgICAgfCAgICA2ICstCiAuLi4vZmlsZXMvbXVzbC1wYXRjaGVzL25v LW1hbGxpbmZvLnBhdGNoICAgICAgfCAgIDc1ICstCiAuLi4vbXVzbC1wYXRjaGVzL3h4eC1wcGM2 NGxlLXN1cHBvcnQucGF0Y2ggICAgfCAgICA4ICstCiAuLi5lM2RmY2QwNjkwZGYwZTdiMjEyZmVk Y2I5NTQwMmYxNjkzNWQucGF0Y2ggfCAgIDM2ICsKIC4uLjE0MDUxMjEwMzg4YmZjZmY2MDU1NzBk MzNmMDhjZmE3YmNhYS5wYXRjaCB8ICAgMzYgKwogLi4uYzhiNDg0YzE4YzYyMWQ0YjE5NDYzNWU0 MWYxNzE1NDNmMWRmLnBhdGNoIHwgICA0MiArCiAuLi45ZWU0NDdjZjVmMDE2MGVhNGFlOTc4Y2Rm MzdmNWRjZWNkMWUucGF0Y2ggfCAgIDM2ICsKIC4uLjVhMTA1MTU1MWFmMjZhYWVmYzZmY2QzMzUw MmE1MTcyNTM5Ni5wYXRjaCB8ICAgMzYgKwogLi4uL3BhdGNoZXMvY2hyb21pdW0tODgtZ2xpYmMt Mi4zMy5wYXRjaCAgICAgIHwgIDE0NCAtLQogLi4uL3BhdGNoZXMvY2hyb21pdW0tOTMtZmZtcGVn LTQuNC5wYXRjaCAgICAgIHwgICAzNiArCiAuLi4vcGF0Y2hlcy9jaHJvbWl1bS05My1wZGZpdW0t aW5jbHVkZS5wYXRjaCAgfCAgMTE3ICsrCiAuLi4vcGF0Y2hlcy9jdXJzZWReVXNjb3BlZF9maWxl LnBhdGNoICAgICAgICAgfCAgIDE4ICsKIC4uLi9wYXRjaGVzL2ZpeC1jcmFzaC1pbi1UaGVtZVNl cnZpY2UucGF0Y2ggICB8ICAgNDUgLQogLi4uL2Nocm9taXVtL3BhdGNoZXMvZml4LW5hcnJvd2lu Zy1jYXN0LnBhdGNoIHwgICA1MyArCiAuLi4vbGludXgtc2FuZGJveC1maXgtZnN0YXRhdC1jcmFz aC5wYXRjaCAgICAgfCAxMzg0ICsrKysrKysrKysrKysrKysrCiAuLi5tLWRpc3RpbGxlci1wcm90 b2MtcGx1Z2luLWNhbGwtcHkyLjcucGF0Y2ggfCAgIDM3IC0KIHNyY3BrZ3MvY2hyb21pdW0vcGF0 Y2hlcy9uby1leGVjaW5mby5wYXRjaCAgICB8ICAgNjEgKy0KIC4uLi9wYXRjaGVzL3JlbW92ZS1s bHZtMTMtd2FybmluZy1mbGFncy5wYXRjaCB8ICAgMTMgKwogLi4uL3BhdGNoZXMvcmVtb3ZlLXN0 cmlwX2JpbmFyeS5wYXRjaCAgICAgICAgIHwgICAzMiArCiBzcmNwa2dzL2Nocm9taXVtL3RlbXBs YXRlICAgICAgICAgICAgICAgICAgICAgfCAgMTEyICstCiAyMCBmaWxlcyBjaGFuZ2VkLCAxOTY1 IGluc2VydGlvbnMoKyksIDM2MiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNw a2dzL2Nocm9taXVtL3BhdGNoZXMvMTdkMGUzZGZjZDA2OTBkZjBlN2IyMTJmZWRjYjk1NDAyZjE2 OTM1ZC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy8y ZjU1MTQwNTEyMTAzODhiZmNmZjYwNTU3MGQzM2YwOGNmYTdiY2FhLnBhdGNoCiBjcmVhdGUgbW9k ZSAxMDA2NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzLzgyZTJjOGI0ODRjMThjNjIxZDRiMTk0 NjM1ZTQxZjE3MTU0M2YxZGYucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9t aXVtL3BhdGNoZXMvOGFlOTllZTQ0N2NmNWYwMTYwZWE0YWU5NzhjZGYzN2Y1ZGNlY2QxZS5wYXRj aAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy85YzY3NWExMDUx NTUxYWYyNmFhZWZjNmZjZDMzNTAyYTUxNzI1Mzk2LnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQg c3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTg4LWdsaWJjLTIuMzMucGF0Y2gKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tOTMtZmZt cGVnLTQuNC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hl cy9jaHJvbWl1bS05My1wZGZpdW0taW5jbHVkZS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNy Y3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jdXJzZWReVXNjb3BlZF9maWxlLnBhdGNoCiBkZWxldGUg bW9kZSAxMDA2NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2ZpeC1jcmFzaC1pbi1UaGVtZVNl cnZpY2UucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMv Zml4LW5hcnJvd2luZy1jYXN0LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9jaHJv bWl1bS9wYXRjaGVzL2xpbnV4LXNhbmRib3gtZml4LWZzdGF0YXQtY3Jhc2gucGF0Y2gKIGRlbGV0 ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvbWFrZS1kb20tZGlzdGlsbGVy LXByb3RvYy1wbHVnaW4tY2FsbC1weTIuNy5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3Br Z3MvY2hyb21pdW0vcGF0Y2hlcy9yZW1vdmUtbGx2bTEzLXdhcm5pbmctZmxhZ3MucGF0Y2gKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvcmVtb3ZlLXN0cmlwX2Jp bmFyeS5wYXRjaAoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vZmlsZXMvbXVzbC1wYXRj aGVzL2RlZmF1bHQtcHRocmVhZC1zdGFja3NpemUucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL2Zp bGVzL211c2wtcGF0Y2hlcy9kZWZhdWx0LXB0aHJlYWQtc3RhY2tzaXplLnBhdGNoCmluZGV4IDE2 ZTRkMjFlNmVkOC4uMjY4ODRmNmNjOTM3IDEwMDY0NAotLS0gYS9zcmNwa2dzL2Nocm9taXVtL2Zp bGVzL211c2wtcGF0Y2hlcy9kZWZhdWx0LXB0aHJlYWQtc3RhY2tzaXplLnBhdGNoCisrKyBiL3Ny Y3BrZ3MvY2hyb21pdW0vZmlsZXMvbXVzbC1wYXRjaGVzL2RlZmF1bHQtcHRocmVhZC1zdGFja3Np emUucGF0Y2gKQEAgLTQsOSArNCw5IEBACiAtICByZXR1cm4gMDsKICsgIC8vIHVzZSA4bWIgbGlr ZSBnbGliYyB0byBhdm9pZCBydW5uaW5nIG91dCBvZiBzcGFjZQogKyAgcmV0dXJuICgxIDw8IDIz KTsKLS0tLSBjaHJvbWUvYXBwL3NodXRkb3duX3NpZ25hbF9oYW5kbGVyc19wb3NpeC5jYy5vcmln Ci0rKysgY2hyb21lL2FwcC9zaHV0ZG93bl9zaWduYWxfaGFuZGxlcnNfcG9zaXguY2MKLUBAIC0x ODQsMTEgKzE4NCwxOSBAQAorLS0tIGNocm9tZS9icm93c2VyL3NodXRkb3duX3NpZ25hbF9oYW5k bGVyc19wb3NpeC5jYy5vcmlnCisrKysgY2hyb21lL2Jyb3dzZXIvc2h1dGRvd25fc2lnbmFsX2hh bmRsZXJzX3Bvc2l4LmNjCitAQCAtMTg3LDExICsxODcsMTkgQEAKICAgIGdfc2h1dGRvd25fcGlw ZV9yZWFkX2ZkID0gcGlwZWZkWzBdOwogICAgZ19zaHV0ZG93bl9waXBlX3dyaXRlX2ZkID0gcGlw ZWZkWzFdOwogICNpZiAhZGVmaW5lZChBRERSRVNTX1NBTklUSVpFUikKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvY2hyb21pdW0vZmlsZXMvbXVzbC1wYXRjaGVzL25vLW1hbGxpbmZvLnBhdGNoIGIvc3Jj cGtncy9jaHJvbWl1bS9maWxlcy9tdXNsLXBhdGNoZXMvbm8tbWFsbGluZm8ucGF0Y2gKaW5kZXgg YjBjOTgzMjUxNWQwLi41ZmQzZGMyYjM3OWMgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvY2hyb21pdW0v ZmlsZXMvbXVzbC1wYXRjaGVzL25vLW1hbGxpbmZvLnBhdGNoCisrKyBiL3NyY3BrZ3MvY2hyb21p dW0vZmlsZXMvbXVzbC1wYXRjaGVzL25vLW1hbGxpbmZvLnBhdGNoCkBAIC0xLDMzICsxLDU2IEBA Ci0tLS0gYmFzZS90cmFjZV9ldmVudC9tYWxsb2NfZHVtcF9wcm92aWRlci5jYy5vcmlnCi0rKysg YmFzZS90cmFjZV9ldmVudC9tYWxsb2NfZHVtcF9wcm92aWRlci5jYwotQEAgLTI0Myw3ICsyNDMs NyBAQAotICAgYWxsb2NhdGVkX29iamVjdHNfY291bnQgPSBtYWluX2hlYXBfaW5mby5ibG9ja19j b3VudDsKKy0tLSAuL2Jhc2UvdHJhY2VfZXZlbnQvbWFsbG9jX2R1bXBfcHJvdmlkZXIuY2Mub3Jp ZworKysrIC4vYmFzZS90cmFjZV9ldmVudC9tYWxsb2NfZHVtcF9wcm92aWRlci5jYworQEAgLTIx Miw3ICsyMTIsNyBAQAorICAgICAgICAgICAgICAgICAgICAgICZhbGxvY2F0ZWRfb2JqZWN0c19j b3VudCk7CiAgI2VsaWYgZGVmaW5lZChPU19GVUNIU0lBKQogIC8vIFRPRE8oZnVjaHNpYSk6IFBv cnQsIHNlZSBodHRwczovL2NyYnVnLmNvbS83MDY1OTIuCiAtI2Vsc2UKICsjZWxpZiBkZWZpbmVk KF9fR0xJQkNfXykKLSAgIHN0cnVjdCBtYWxsaW5mbyBpbmZvID0gbWFsbGluZm8oKTsKLSAgIERD SEVDS19HRShpbmZvLmFyZW5hICsgaW5mby5oYmxraGQsIGluZm8udW9yZGJsa3MpOworICNpZiBk ZWZpbmVkKF9fR0xJQkNfXykgJiYgZGVmaW5lZChfX0dMSUJDX1BSRVJFUSkKKyAjaWYgX19HTElC Q19QUkVSRVEoMiwgMzMpCisgI2RlZmluZSBNQUxMSU5GTzJfRk9VTkRfSU5fTElCQworLS0tIC4v YmFzZS9wcm9jZXNzL3Byb2Nlc3NfbWV0cmljc19wb3NpeC5jYworKysrIC4vYmFzZS9wcm9jZXNz L3Byb2Nlc3NfbWV0cmljc19wb3NpeC5jYworQEAgLTEwNSw3ICsxMDUsNyBAQAogIAotLS0tIGJh c2UvcHJvY2Vzcy9wcm9jZXNzX21ldHJpY3NfcG9zaXguY2Mub3JpZwkyMDIwLTExLTE4IDIzOjUw OjMzLjk1ODIyMzQ5NyAtMDUwMAotKysrIGJhc2UvcHJvY2Vzcy9wcm9jZXNzX21ldHJpY3NfcG9z aXguY2MJMjAyMC0xMS0xOCAyMzo1Mzo1Mi4wMjQ1ODkzMTYgLTA1MDAKLUBAIC0xMTksMTQgKzEx OSwxNCBAQAorICNlbmRpZiAgLy8gIWRlZmluZWQoT1NfRlVDSFNJQSkKKyAKKy0jaWYgZGVmaW5l ZChPU19MSU5VWCkgfHwgZGVmaW5lZChPU19DSFJPTUVPUykgfHwgZGVmaW5lZChPU19BTkRST0lE KQorKyNpZiAoZGVmaW5lZChPU19MSU5VWCkgJiYgZGVmaW5lZChfX0dMSUJDX18pKSB8fCBkZWZp bmVkKE9TX0NIUk9NRU9TKSB8fCBkZWZpbmVkKE9TX0FORFJPSUQpCisgbmFtZXNwYWNlIHsKKyAK KyBzaXplX3QgR2V0TWFsbG9jVXNhZ2VNYWxsaW5mbygpIHsKK0BAIC0xMjcsMTYgKzEyNywxNiBA QAorIH0KKyAKKyB9ICAvLyBuYW1lc3BhY2UKKy0jZW5kaWYgIC8vIGRlZmluZWQoT1NfTElOVVgp IHx8IGRlZmluZWQoT1NfQ0hST01FT1MpIHx8IGRlZmluZWQoT1NfQU5EUk9JRCkKKysjZW5kaWYg IC8vIChkZWZpbmVkKE9TX0xJTlVYKSAmJiBkZWZpbmVkKF9fR0xJQkNfXykpIHx8IGRlZmluZWQo T1NfQ0hST01FT1MpIHx8IGRlZmluZWQoT1NfQU5EUk9JRCkKKyAKKyBzaXplX3QgUHJvY2Vzc01l dHJpY3M6OkdldE1hbGxvY1VzYWdlKCkgeworICNpZiBkZWZpbmVkKE9TX0FQUExFKQogICAgbWFs bG9jX3N0YXRpc3RpY3NfdCBzdGF0cyA9IHswfTsKICAgIG1hbGxvY196b25lX3N0YXRpc3RpY3Mo bnVsbHB0ciwgJnN0YXRzKTsKICAgIHJldHVybiBzdGF0cy5zaXplX2luX3VzZTsKIC0jZWxpZiBk ZWZpbmVkKE9TX0xJTlVYKSB8fCBkZWZpbmVkKE9TX0NIUk9NRU9TKSB8fCBkZWZpbmVkKE9TX0FO RFJPSUQpCi0rI2VsaWYgZGVmaW5lZChfX0dMSUJDX18pIHx8IGRlZmluZWQoT1NfQ0hST01FT1Mp IHx8IGRlZmluZWQoT1NfQU5EUk9JRCkKLSAgIHN0cnVjdCBtYWxsaW5mbyBtaW5mbyA9IG1hbGxp bmZvKCk7Ci0gI2lmIEJVSUxERkxBRyhVU0VfVENNQUxMT0MpCi0gICByZXR1cm4gbWluZm8udW9y ZGJsa3M7Ci0gI2Vsc2UKLSAgIHJldHVybiBtaW5mby5oYmxraGQgKyBtaW5mby5hcmVuYTsKLSAj ZW5kaWYKKysjZWxpZiAoZGVmaW5lZChPU19MSU5VWCkgJiYgZGVmaW5lZChfX0dMSUJDX18pKSB8 fCBkZWZpbmVkKE9TX0NIUk9NRU9TKSB8fCBkZWZpbmVkKE9TX0FORFJPSUQpCisgICByZXR1cm4g R2V0TWFsbG9jVXNhZ2VNYWxsaW5mbygpOwogLSNlbGlmIGRlZmluZWQoT1NfRlVDSFNJQSkKICsj ZWxzZQogICAgLy8gVE9ETyhmdWNoc2lhKTogTm90IGN1cnJlbnRseSBleHBvc2VkLiBodHRwczov L2NyYnVnLmNvbS83MzUwODcuCiAgICByZXR1cm4gMDsKICAjZW5kaWYKKy0tLSB0aGlyZF9wYXJ0 eS90ZmxpdGUvc3JjL3RlbnNvcmZsb3cvbGl0ZS9wcm9maWxpbmcvbWVtb3J5X2luZm8uY2Mub3Jp ZworKysrIHRoaXJkX3BhcnR5L3RmbGl0ZS9zcmMvdGVuc29yZmxvdy9saXRlL3Byb2ZpbGluZy9t ZW1vcnlfaW5mby5jYworQEAgLTM1LDcgKzM1LDcgQEAKKyAKKyBNZW1vcnlVc2FnZSBHZXRNZW1v cnlVc2FnZSgpIHsKKyAgIE1lbW9yeVVzYWdlIHJlc3VsdDsKKy0jaWZkZWYgX19saW51eF9fCisr I2lmIGRlZmluZWQoX19saW51eF9fKSAmJiBkZWZpbmVkKF9fR0xJQkNfXykKKyAgIHJ1c2FnZSBy ZXM7CisgICBpZiAoZ2V0cnVzYWdlKFJVU0FHRV9TRUxGLCAmcmVzKSA9PSAwKSB7CisgICAgIHJl c3VsdC5tYXhfcnNzX2tiID0gcmVzLnJ1X21heHJzczsKIC0tLSB0aGlyZF9wYXJ0eS9zd2lmdHNo YWRlci90aGlyZF9wYXJ0eS9sbHZtLXN1Ynplcm8vbGliL1N1cHBvcnQvVW5peC9Qcm9jZXNzLmlu YwogKysrIHRoaXJkX3BhcnR5L3N3aWZ0c2hhZGVyL3RoaXJkX3BhcnR5L2xsdm0tc3ViemVyby9s aWIvU3VwcG9ydC9Vbml4L1Byb2Nlc3MuaW5jLm9yaWcKIEBAIC04NCw3ICs4NCw3IEBACkBAIC01 MiwyMyArNzUsMyBAQAogIAogIC8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8bWFsbG9j Lmg+IGhlYWRlciBmaWxlLiAqLwogICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCi0tLS0gdGhpcmRf cGFydHkvdGZsaXRlL3NyYy90ZW5zb3JmbG93L2xpdGUvcHJvZmlsaW5nL21lbW9yeV9pbmZvLmNj Lm9yaWcJMjAyMS0wNC0xNiAxNzozNDozNi42NjYzODUyMDcgLTA0MDAKLSsrKyB0aGlyZF9wYXJ0 eS90ZmxpdGUvc3JjL3RlbnNvcmZsb3cvbGl0ZS9wcm9maWxpbmcvbWVtb3J5X2luZm8uY2MJMjAy MS0wNC0xNiAxNzozNjowMS4xOTc2MDI5NTMgLTA0MDAKLUBAIC0yNyw3ICsyNyw3IEBACi0gY29u c3QgaW50IE1lbW9yeVVzYWdlOjprVmFsdWVOb3RTZXQgPSAwOwotIAotIGJvb2wgTWVtb3J5VXNh Z2U6OklzU3VwcG9ydGVkKCkgewotLSNpZmRlZiBfX2xpbnV4X18KLSsjaWZkZWYgZGVmaW5lZChf X0dMSUJDX18pCi0gICByZXR1cm4gdHJ1ZTsKLSAjZW5kaWYKLSAgIHJldHVybiBmYWxzZTsKLUBA IC0zNSw3ICszNSw3IEBACi0gCi0gTWVtb3J5VXNhZ2UgR2V0TWVtb3J5VXNhZ2UoKSB7Ci0gICBN ZW1vcnlVc2FnZSByZXN1bHQ7Ci0tI2lmZGVmIF9fbGludXhfXwotKyNpZmRlZiBkZWZpbmVkKF9f R0xJQkNfXykKLSAgIHJ1c2FnZSByZXM7Ci0gICBpZiAoZ2V0cnVzYWdlKFJVU0FHRV9TRUxGLCAm cmVzKSA9PSAwKSB7Ci0gICAgIHJlc3VsdC5tYXhfcnNzX2tiID0gcmVzLnJ1X21heHJzczsKZGlm ZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vZmlsZXMvbXVzbC1wYXRjaGVzL3h4eC1wcGM2NGxl LXN1cHBvcnQucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL2ZpbGVzL211c2wtcGF0Y2hlcy94eHgt cHBjNjRsZS1zdXBwb3J0LnBhdGNoCmluZGV4IGJmYTk5ZDg4YTliMy4uOWVhMjMzYmE2MjU2IDEw MDY0NAotLS0gYS9zcmNwa2dzL2Nocm9taXVtL2ZpbGVzL211c2wtcGF0Y2hlcy94eHgtcHBjNjRs ZS1zdXBwb3J0LnBhdGNoCisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vZmlsZXMvbXVzbC1wYXRjaGVz L3h4eC1wcGM2NGxlLXN1cHBvcnQucGF0Y2gKQEAgLTEsMTEgKzEsMTEgQEAKIC0tLSBiYXNlL2Fs bG9jYXRvci9wYXJ0aXRpb25fYWxsb2NhdG9yL3BhcnRpdGlvbl9hbGxvY19jb25maWcuaAkyMDIx LTA1LTI1IDAwOjA1OjMxLjAwMDAwMDAwMCArMDIwMAogKysrIC0JMjAyMS0wNS0yNiAyMjoyMzo0 Ny4xNzI5NDA4MjYgKzAyMDAKLUBAIC03MSw3ICs3MSw4IEBACi0gLy8gUkVGX0NPVU5UX0FUX0VO RF9PRl9BTExPQ0FUSU9OIGRvZXMuIEluIHRoaXMgY2FzZSB0aGUgcmVmY291bnQgb3ZlcmxhcHMg d2l0aAorQEAgLTg4LDcgKzg4LDggQEAKKyAvLyBQVVRfUkVGX0NPVU5UX0lOX1BSRVZJT1VTX1NM T1QgZG9lcy4gSW4gdGhpcyBjYXNlIHRoZSByZWZjb3VudCBvdmVybGFwcyB3aXRoCiAgLy8gdGhl IG5leHQgcG9pbnRlciBzaGFkb3cgZm9yIHRoZSBzbWFsbGVzdCBidWNrZXQuCiAgI2lmICEoZGVm aW5lZChPU19NQUMpICYmIGRlZmluZWQoQVJDSF9DUFVfQVJNNjQpKSAmJiBcCi0tICAgICFCVUlM REZMQUcoUkVGX0NPVU5UX0FUX0VORF9PRl9BTExPQ0FUSU9OKQotKyAgICAhQlVJTERGTEFHKFJF Rl9DT1VOVF9BVF9FTkRfT0ZfQUxMT0NBVElPTikgJiYgXAorLSAgICAhQlVJTERGTEFHKFBVVF9S RUZfQ09VTlRfSU5fUFJFVklPVVNfU0xPVCkKKysgICAgIUJVSUxERkxBRyhQVVRfUkVGX0NPVU5U X0lOX1BSRVZJT1VTX1NMT1QpICYmIFwKICsgICAgIWRlZmluZWQoX19wb3dlcnBjNjRfXykKICAj ZGVmaW5lIFBBX0hBU19GUkVFTElTVF9IQVJERU5JTkcKICAjZW5kaWYKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy8xN2QwZTNkZmNkMDY5MGRmMGU3YjIxMmZlZGNiOTU0MDJm MTY5MzVkLnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzLzE3ZDBlM2RmY2QwNjkwZGYw ZTdiMjEyZmVkY2I5NTQwMmYxNjkzNWQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwMDAwLi5jNDNkYThkZmQ4YWIKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2No cm9taXVtL3BhdGNoZXMvMTdkMGUzZGZjZDA2OTBkZjBlN2IyMTJmZWRjYjk1NDAyZjE2OTM1ZC5w YXRjaApAQCAtMCwwICsxLDM2IEBACitGcm9tIDE3ZDBlM2RmY2QwNjkwZGYwZTdiMjEyZmVkY2I5 NTQwMmYxNjkzNWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBKb3NlIERhcGVuYSBQ YXogPGpkYXBlbmFAaWdhbGlhLmNvbT4KK0RhdGU6IEZyaSwgMjMgSnVsIDIwMjEgMTA6MTc6NDkg KzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gSVdZVTogbWlzc2luZyBpbmNsdWRlIGZvciB1c2luZyBz dGQ6OnZlY3RvciBpbiBoYXNoIHBhc3N3b3JkCisgbWFuYWdlci4KK01JTUUtVmVyc2lvbjogMS4w CitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNm ZXItRW5jb2Rpbmc6IDhiaXQKKworRml4IGJ1aWxkIGJyZWFrYWdlOgorLi4vLi4vY29tcG9uZW50 cy9wYXNzd29yZF9tYW5hZ2VyL2NvcmUvYnJvd3Nlci9oYXNoX3Bhc3N3b3JkX21hbmFnZXIuaDo0 NDo4OiBlcnJvcjog4oCYdmVjdG9y4oCZIGluIG5hbWVzcGFjZSDigJhzdGTigJkgZG9lcyBub3Qg bmFtZSBhIHRlbXBsYXRlIHR5cGUKKyAgIDQ0IHwgICBzdGQ6OnZlY3RvcjxQYXNzd29yZEhhc2hE YXRhPiBSZXRyaWV2ZUFsbFBhc3N3b3JkSGFzaGVzKCk7CisgICAgICB8ICAgICAgICBefn5+fn4K KworQnVnOiA4MTkyOTQKK0NoYW5nZS1JZDogSThjOGE0ZWMzOTcyZWVkYjg3YTMxMmM1ZWM1NmFk ZjRhMjFiMWIyYTIKK1Jldmlld2VkLW9uOiBodHRwczovL2Nocm9taXVtLXJldmlldy5nb29nbGVz b3VyY2UuY29tL2MvY2hyb21pdW0vc3JjLysvMzA0MTA0NgorQ29tbWl0LVF1ZXVlOiBWYXNpbGlp IFN1a2hhbm92IDx2YXNpbGlpQGNocm9taXVtLm9yZz4KK1Jldmlld2VkLWJ5OiBWYXNpbGlpIFN1 a2hhbm92IDx2YXNpbGlpQGNocm9taXVtLm9yZz4KK0NyLUNvbW1pdC1Qb3NpdGlvbjogcmVmcy9o ZWFkcy9tYXN0ZXJAeyM5MDQ2OTZ9CistLS0KKyBjb21wb25lbnRzL3Bhc3N3b3JkX21hbmFnZXIv Y29yZS9icm93c2VyL2hhc2hfcGFzc3dvcmRfbWFuYWdlci5oIHwgMSArCisgMSBmaWxlIGNoYW5n ZWQsIDEgaW5zZXJ0aW9uKCspCisKK2RpZmYgLS1naXQgYS9jb21wb25lbnRzL3Bhc3N3b3JkX21h bmFnZXIvY29yZS9icm93c2VyL2hhc2hfcGFzc3dvcmRfbWFuYWdlci5oIGIvY29tcG9uZW50cy9w YXNzd29yZF9tYW5hZ2VyL2NvcmUvYnJvd3Nlci9oYXNoX3Bhc3N3b3JkX21hbmFnZXIuaAoraW5k ZXggYzc2MmM1YThjNzcxMy4uODVlNjU2ZWRjYmExMSAxMDA2NDQKKy0tLSBhL2NvbXBvbmVudHMv cGFzc3dvcmRfbWFuYWdlci9jb3JlL2Jyb3dzZXIvaGFzaF9wYXNzd29yZF9tYW5hZ2VyLmgKKysr KyBiL2NvbXBvbmVudHMvcGFzc3dvcmRfbWFuYWdlci9jb3JlL2Jyb3dzZXIvaGFzaF9wYXNzd29y ZF9tYW5hZ2VyLmgKK0BAIC02LDYgKzYsNyBAQAorICNkZWZpbmUgQ09NUE9ORU5UU19QQVNTV09S RF9NQU5BR0VSX0NPUkVfQlJPV1NFUl9IQVNIX1BBU1NXT1JEX01BTkFHRVJfSF8KKyAKKyAjaW5j bHVkZSA8c3RyaW5nPgorKyNpbmNsdWRlIDx2ZWN0b3I+CisgCisgI2luY2x1ZGUgImJhc2UvY2Fs bGJhY2suaCIKKyAjaW5jbHVkZSAiYmFzZS9jYWxsYmFja19saXN0LmgiCmRpZmYgLS1naXQgYS9z cmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvMmY1NTE0MDUxMjEwMzg4YmZjZmY2MDU1NzBkMzNmMDhj ZmE3YmNhYS5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy8yZjU1MTQwNTEyMTAzODhi ZmNmZjYwNTU3MGQzM2YwOGNmYTdiY2FhLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAwMDAwMC4uODc1N2ViNWMzNmE5Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9j aHJvbWl1bS9wYXRjaGVzLzJmNTUxNDA1MTIxMDM4OGJmY2ZmNjA1NTcwZDMzZjA4Y2ZhN2JjYWEu cGF0Y2gKQEAgLTAsMCArMSwzNiBAQAorRnJvbSAyZjU1MTQwNTEyMTAzODhiZmNmZjYwNTU3MGQz M2YwOGNmYTdiY2FhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSm9zZSBEYXBlbmEg UGF6IDxqZGFwZW5hQGlnYWxpYS5jb20+CitEYXRlOiBXZWQsIDIxIEp1bCAyMDIxIDA4OjM0OjU4 ICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIElXWVU6IHVzYWdlIG9mIHVuaXF1ZV9wdHIgcmVxdWly ZXMgaW5jbHVkaW5nIDxtZW1vcnk+IGluCisgYmx1ZXRvb3RoIGxvdyBlbmVyZ3kgc2NhbiBmaWx0 ZXIuCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0 PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK0ZpeCBidWlsZCBiZWNh dXNlIG9mIG1pc3NpbmcgaW5jbHVkZToKKy4uLy4uL2RldmljZS9ibHVldG9vdGgvYmx1ZXRvb3Ro X2xvd19lbmVyZ3lfc2Nhbl9maWx0ZXIuaDo1NzoxNTogZXJyb3I6IOKAmHVuaXF1ZV9wdHLigJkg aW4gbmFtZXNwYWNlIOKAmHN0ZOKAmSBkb2VzIG5vdCBuYW1lIGEgdGVtcGxhdGUgdHlwZQorICAg NTcgfCAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8Qmx1ZXRvb3RoTG93RW5lcmd5U2NhbkZpbHRl cj4gQ3JlYXRlKAorICAgICAgfCAgICAgICAgICAgICAgIF5+fn5+fn5+fn4KKworQnVnOiA4MTky OTQKK0NoYW5nZS1JZDogSTM0Nzk1M2EwODNmMWJjZGY3NDRmZDg2ZTFhNzM5NTRjNmY4NmIzMmUK K1Jldmlld2VkLW9uOiBodHRwczovL2Nocm9taXVtLXJldmlldy5nb29nbGVzb3VyY2UuY29tL2Mv Y2hyb21pdW0vc3JjLysvMzA0MTE1NQorUmV2aWV3ZWQtYnk6IFJlaWxseSBHcmFudCA8cmVpbGx5 Z0BjaHJvbWl1bS5vcmc+CitDb21taXQtUXVldWU6IEpvc8OpIERhcGVuYSBQYXogPGpkYXBlbmFA aWdhbGlhLmNvbT4KK0NyLUNvbW1pdC1Qb3NpdGlvbjogcmVmcy9oZWFkcy9tYXN0ZXJAeyM5MDM4 MTl9CistLS0KKyBkZXZpY2UvYmx1ZXRvb3RoL2JsdWV0b290aF9sb3dfZW5lcmd5X3NjYW5fZmls dGVyLmggfCAxICsKKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKKworZGlmZiAtLWdp dCBhL2RldmljZS9ibHVldG9vdGgvYmx1ZXRvb3RoX2xvd19lbmVyZ3lfc2Nhbl9maWx0ZXIuaCBi L2RldmljZS9ibHVldG9vdGgvYmx1ZXRvb3RoX2xvd19lbmVyZ3lfc2Nhbl9maWx0ZXIuaAoraW5k ZXggYTA0MzZjMTg0YTk2Ny4uN2FlNjA2Y2NhMDE0ZSAxMDA2NDQKKy0tLSBhL2RldmljZS9ibHVl dG9vdGgvYmx1ZXRvb3RoX2xvd19lbmVyZ3lfc2Nhbl9maWx0ZXIuaAorKysrIGIvZGV2aWNlL2Js dWV0b290aC9ibHVldG9vdGhfbG93X2VuZXJneV9zY2FuX2ZpbHRlci5oCitAQCAtNyw2ICs3LDcg QEAKKyAKKyAjaW5jbHVkZSA8c3RkZGVmLmg+CisgI2luY2x1ZGUgPHN0ZGludC5oPgorKyNpbmNs dWRlIDxtZW1vcnk+CisgI2luY2x1ZGUgPHZlY3Rvcj4KKyAKKyAjaW5jbHVkZSAiYmFzZS90aW1l L3RpbWUuaCIKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy84MmUyYzhiNDg0 YzE4YzYyMWQ0YjE5NDYzNWU0MWYxNzE1NDNmMWRmLnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9w YXRjaGVzLzgyZTJjOGI0ODRjMThjNjIxZDRiMTk0NjM1ZTQxZjE3MTU0M2YxZGYucGF0Y2gKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5iYWJmZGIzNjc2NjAKLS0tIC9k ZXYvbnVsbAorKysgYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvODJlMmM4YjQ4NGMxOGM2MjFk NGIxOTQ2MzVlNDFmMTcxNTQzZjFkZi5wYXRjaApAQCAtMCwwICsxLDQyIEBACitGcm9tIDgyZTJj OGI0ODRjMThjNjIxZDRiMTk0NjM1ZTQxZjE3MTU0M2YxZGYgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCitGcm9tOiBKb3NlIERhcGVuYSBQYXogPGpkYXBlbmFAaWdhbGlhLmNvbT4KK0RhdGU6IFR1 ZSwgMjcgSnVsIDIwMjEgMDg6MDk6MzkgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gSVdZVTogdXNh Z2Ugb2Ygc3RkOjpzdHJjcHkgcmVxdWlyZXMgaW5jbHVkaW5nIGNzdHJpbmcsIGluCisgZXh0ZW5z aW9uIGRpYWxvZyBhdXRvIGNvbmZpcm0uCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBl OiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4 Yml0CisKK0ZpeCBidWlsZCBicmVha2FnZSB3aXRoIGxpYnN0ZGMrKzoKKyAgICAuLi8uLi9leHRl bnNpb25zL2Jyb3dzZXIvZXh0ZW5zaW9uX2RpYWxvZ19hdXRvX2NvbmZpcm0uY2M6IEluIGRlc3Ry dWN0b3Ig4oCYZXh0ZW5zaW9uczo6U2NvcGVkVGVzdERpYWxvZ0F1dG9Db25maXJtOjp+U2NvcGVk VGVzdERpYWxvZ0F1dG9Db25maXJtKCnigJk6CisgICAgLi4vLi4vZXh0ZW5zaW9ucy9icm93c2Vy L2V4dGVuc2lvbl9kaWFsb2dfYXV0b19jb25maXJtLmNjOjQzOjg6IGVycm9yOiDigJhzdHJjcHni gJkgaXMgbm90IGEgbWVtYmVyIG9mIOKAmHN0ZOKAmQorICAgICAgIDQzIHwgICBzdGQ6OnN0cmNw eShnX2V4dGVuc2lvbl9kaWFsb2dfanVzdGlmaWNhdGlvbiwgb2xkX2p1c3RpZmljYXRpb25fLmNf c3RyKCkpOworICAgICAgICAgIHwgICAgICAgIF5+fn5+fgorICAgIC4uLy4uL2V4dGVuc2lvbnMv YnJvd3Nlci9leHRlbnNpb25fZGlhbG9nX2F1dG9fY29uZmlybS5jYzogSW4gbWVtYmVyIGZ1bmN0 aW9uIOKAmHZvaWQgZXh0ZW5zaW9uczo6U2NvcGVkVGVzdERpYWxvZ0F1dG9Db25maXJtOjpzZXRf anVzdGlmaWNhdGlvbihjb25zdCBzdHJpbmcmKeKAmToKKyAgICAuLi8uLi9leHRlbnNpb25zL2Jy b3dzZXIvZXh0ZW5zaW9uX2RpYWxvZ19hdXRvX2NvbmZpcm0uY2M6NjY6ODogZXJyb3I6IOKAmHN0 cmNweeKAmSBpcyBub3QgYSBtZW1iZXIgb2Yg4oCYc3Rk4oCZCisgICAgICAgNjYgfCAgIHN0ZDo6 c3RyY3B5KGdfZXh0ZW5zaW9uX2RpYWxvZ19qdXN0aWZpY2F0aW9uLCBqdXN0aWZpY2F0aW9uLmNf c3RyKCkpOworICAgICAgICAgIHwgICAgICAgIF5+fn5+fgorCitCdWc6IDk1NzUxOQorQ2hhbmdl LUlkOiBJMzEzYzM4ZjIyY2FiNTk5ZmI4ZjBlNGEzMzllODE0M2FmNWJkYTNlZQorUmV2aWV3ZWQt b246IGh0dHBzOi8vY2hyb21pdW0tcmV2aWV3Lmdvb2dsZXNvdXJjZS5jb20vYy9jaHJvbWl1bS9z cmMvKy8zMDQxMDAxCitSZXZpZXdlZC1ieTogRGF2aWQgQmVydG9uaSA8ZGJlcnRvbmlAY2hyb21p dW0ub3JnPgorUmV2aWV3ZWQtYnk6IEJlbiBXZWxscyA8YmVud2VsbHNAY2hyb21pdW0ub3JnPgor Q29tbWl0LVF1ZXVlOiBKb3PDqSBEYXBlbmEgUGF6IDxqZGFwZW5hQGlnYWxpYS5jb20+CitDci1D b21taXQtUG9zaXRpb246IHJlZnMvaGVhZHMvbWFzdGVyQHsjOTA1NjM0fQorLS0tCisgZXh0ZW5z aW9ucy9icm93c2VyL2V4dGVuc2lvbl9kaWFsb2dfYXV0b19jb25maXJtLmNjIHwgMSArCisgMSBm aWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCisKK2RpZmYgLS1naXQgYS9leHRlbnNpb25zL2Jy b3dzZXIvZXh0ZW5zaW9uX2RpYWxvZ19hdXRvX2NvbmZpcm0uY2MgYi9leHRlbnNpb25zL2Jyb3dz ZXIvZXh0ZW5zaW9uX2RpYWxvZ19hdXRvX2NvbmZpcm0uY2MKK2luZGV4IGFkYjRhYzNmOTJlYzgu LmJlOGIxNjFiYzE2NTggMTAwNjQ0CistLS0gYS9leHRlbnNpb25zL2Jyb3dzZXIvZXh0ZW5zaW9u X2RpYWxvZ19hdXRvX2NvbmZpcm0uY2MKKysrKyBiL2V4dGVuc2lvbnMvYnJvd3Nlci9leHRlbnNp b25fZGlhbG9nX2F1dG9fY29uZmlybS5jYworQEAgLTQsNiArNCw3IEBACisgCisgI2luY2x1ZGUg ImV4dGVuc2lvbnMvYnJvd3Nlci9leHRlbnNpb25fZGlhbG9nX2F1dG9fY29uZmlybS5oIgorIAor KyNpbmNsdWRlIDxjc3RyaW5nPgorICNpbmNsdWRlIDx1dGlsaXR5PgorIAorICNpbmNsdWRlICJi YXNlL2NoZWNrLmgiCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvOGFlOTll ZTQ0N2NmNWYwMTYwZWE0YWU5NzhjZGYzN2Y1ZGNlY2QxZS5wYXRjaCBiL3NyY3BrZ3MvY2hyb21p dW0vcGF0Y2hlcy84YWU5OWVlNDQ3Y2Y1ZjAxNjBlYTRhZTk3OGNkZjM3ZjVkY2VjZDFlLnBhdGNo Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZTUxZjc2YTRiM2MwCi0t LSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzLzhhZTk5ZWU0NDdjZjVm MDE2MGVhNGFlOTc4Y2RmMzdmNWRjZWNkMWUucGF0Y2gKQEAgLTAsMCArMSwzNiBAQAorRnJvbSA4 YWU5OWVlNDQ3Y2Y1ZjAxNjBlYTRhZTk3OGNkZjM3ZjVkY2VjZDFlIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQorRnJvbTogSm9zZSBEYXBlbmEgUGF6IDxqZGFwZW5hQGlnYWxpYS5jb20+CitEYXRl OiBXZWQsIDIxIEp1bCAyMDIxIDA4OjM2OjIwICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIElXWVU6 IG1pc3NpbmcgbWVtb3J5IGluY2x1ZGUgZm9yIHVuaXF1ZV9wdHIgdXNhZ2UgaW4KKyBjbGFzc19w cm9wZXJ0eS5oCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBj aGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK0ZpeCBHQ0Mg YnVpbGQgYnJlYWthZ2UgYmVjYXVzZSBvZiBtaXNzaW5nIGluY2xpZGU6CisuLy4uL3VpL2Jhc2Uv Y2xhc3NfcHJvcGVydHkuaDoxMjA6NTg6IGVycm9yOiDigJhzdGQ6OnVuaXF1ZV9wdHLigJkgaGFz IG5vdCBiZWVuIGRlY2xhcmVkCisgIDEyMCB8ICAgVCogU2V0UHJvcGVydHkoY29uc3QgQ2xhc3NQ cm9wZXJ0eTxUKj4qIHByb3BlcnR5LCBzdGQ6OnVuaXF1ZV9wdHI8VD4gdmFsdWUpOworICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBefn5+fn5+fn5+CisKK0J1ZzogODE5Mjk0CitDaGFuZ2UtSWQ6IEk0NmI5MjE4NzY3MDJiOGQ0 NDY3NDY4OWJiYjVhY2RjMTA3ZGIyMWU1CitSZXZpZXdlZC1vbjogaHR0cHM6Ly9jaHJvbWl1bS1y ZXZpZXcuZ29vZ2xlc291cmNlLmNvbS9jL2Nocm9taXVtL3NyYy8rLzMwNDEwMzAKK1Jldmlld2Vk LWJ5OiBQZXRlciBCb3N0csO2bSA8cGJvc0BjaHJvbWl1bS5vcmc+CitDb21taXQtUXVldWU6IEpv c8OpIERhcGVuYSBQYXogPGpkYXBlbmFAaWdhbGlhLmNvbT4KK0NyLUNvbW1pdC1Qb3NpdGlvbjog cmVmcy9oZWFkcy9tYXN0ZXJAeyM5MDM4MjB9CistLS0KKyB1aS9iYXNlL2NsYXNzX3Byb3BlcnR5 LmggfCAxICsKKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKKworZGlmZiAtLWdpdCBh L3VpL2Jhc2UvY2xhc3NfcHJvcGVydHkuaCBiL3VpL2Jhc2UvY2xhc3NfcHJvcGVydHkuaAoraW5k ZXggZjdiMmY1NTk4NThiNy4uODhiNDkzODZhZTBhZCAxMDA2NDQKKy0tLSBhL3VpL2Jhc2UvY2xh c3NfcHJvcGVydHkuaAorKysrIGIvdWkvYmFzZS9jbGFzc19wcm9wZXJ0eS5oCitAQCAtOCw2ICs4 LDcgQEAKKyAjaW5jbHVkZSA8c3RkaW50Lmg+CisgCisgI2luY2x1ZGUgPG1hcD4KKysjaW5jbHVk ZSA8bWVtb3J5PgorICNpbmNsdWRlIDxzZXQ+CisgI2luY2x1ZGUgPHR5cGVfdHJhaXRzPgorIApk aWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzLzljNjc1YTEwNTE1NTFhZjI2YWFl ZmM2ZmNkMzM1MDJhNTE3MjUzOTYucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvOWM2 NzVhMTA1MTU1MWFmMjZhYWVmYzZmY2QzMzUwMmE1MTcyNTM5Ni5wYXRjaApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmJhYjY0YTgxNGIyZgotLS0gL2Rldi9udWxsCisr KyBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy85YzY3NWExMDUxNTUxYWYyNmFhZWZjNmZjZDMz NTAyYTUxNzI1Mzk2LnBhdGNoCkBAIC0wLDAgKzEsMzYgQEAKK0Zyb20gOWM2NzVhMTA1MTU1MWFm MjZhYWVmYzZmY2QzMzUwMmE1MTcyNTM5NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206 IEpvc2UgRGFwZW5hIFBheiA8amRhcGVuYUBpZ2FsaWEuY29tPgorRGF0ZTogTW9uLCAyNiBKdWwg MjAyMSAxNzoxNDo1MSArMDAwMAorU3ViamVjdDogW1BBVENIXSBJV1lVOiBtaXNzaW5nIGluY2x1 ZGUgZm9yIHN0ZDo6dmVjdG9yIHVzYWdlIGluIGRldnRvb2xzCisgZW1iZWRkZWQgbWVzc2FnZSBk aXNwYXRjaGVyLgorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsg Y2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitGaXggR0ND IGJ1aWxkIGJyZWFrYWdlOgorICAgIC4uLy4uL2Nocm9tZS9icm93c2VyL2RldnRvb2xzL2RldnRv b2xzX2VtYmVkZGVyX21lc3NhZ2VfZGlzcGF0Y2hlci5oOjExNjozNjogZXJyb3I6IOKAmHZlY3Rv cuKAmSBpbiBuYW1lc3BhY2Ug4oCYc3Rk4oCZIGRvZXMgbm90IG5hbWUgYSB0ZW1wbGF0ZSB0eXBl CisgICAgICAxMTYgfCAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdGQ6OnZlY3Rvcjxi YXNlOjpWYWx1ZT4mIHBhcmFtcykgPSAwOworICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBefn5+fn4KKworQnVnOiA4MTkyOTQKK0NoYW5nZS1JZDogSTM3OWJm MTQ0MTZjM2JmZDNjMGNkYWM3YmIyNTQyYjc5NzgxMjYxZWMKK1Jldmlld2VkLW9uOiBodHRwczov L2Nocm9taXVtLXJldmlldy5nb29nbGVzb3VyY2UuY29tL2MvY2hyb21pdW0vc3JjLysvMzA0MTE1 NgorUmV2aWV3ZWQtYnk6IEpvZSBNYXNvbiA8am9lbm90Y2hhcmxlc0BjaHJvbWl1bS5vcmc+CitD b21taXQtUXVldWU6IEpvc8OpIERhcGVuYSBQYXogPGpkYXBlbmFAaWdhbGlhLmNvbT4KK0NyLUNv bW1pdC1Qb3NpdGlvbjogcmVmcy9oZWFkcy9tYXN0ZXJAeyM5MDUzMDB9CistLS0KKyBjaHJvbWUv YnJvd3Nlci9kZXZ0b29scy9kZXZ0b29sc19lbWJlZGRlcl9tZXNzYWdlX2Rpc3BhdGNoZXIuaCB8 IDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorCitkaWZmIC0tZ2l0IGEvY2hy b21lL2Jyb3dzZXIvZGV2dG9vbHMvZGV2dG9vbHNfZW1iZWRkZXJfbWVzc2FnZV9kaXNwYXRjaGVy LmggYi9jaHJvbWUvYnJvd3Nlci9kZXZ0b29scy9kZXZ0b29sc19lbWJlZGRlcl9tZXNzYWdlX2Rp c3BhdGNoZXIuaAoraW5kZXggMTJmODUwMGI3ODExZC4uNDAwNzExMmYzOTQxMCAxMDA2NDQKKy0t LSBhL2Nocm9tZS9icm93c2VyL2RldnRvb2xzL2RldnRvb2xzX2VtYmVkZGVyX21lc3NhZ2VfZGlz cGF0Y2hlci5oCisrKysgYi9jaHJvbWUvYnJvd3Nlci9kZXZ0b29scy9kZXZ0b29sc19lbWJlZGRl cl9tZXNzYWdlX2Rpc3BhdGNoZXIuaAorQEAgLTgsNiArOCw3IEBACisgI2luY2x1ZGUgPG1hcD4K KyAjaW5jbHVkZSA8bWVtb3J5PgorICNpbmNsdWRlIDxzdHJpbmc+CisrI2luY2x1ZGUgPHZlY3Rv cj4KKyAKKyAjaW5jbHVkZSAiYmFzZS9jYWxsYmFjay5oIgorICNpbmNsdWRlICJ1aS9nZngvZ2Vv bWV0cnkvaW5zZXRzLmgiCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hy b21pdW0tODgtZ2xpYmMtMi4zMy5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJv bWl1bS04OC1nbGliYy0yLjMzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBk NTIyOGNlN2I3NmEuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMv Y2hyb21pdW0tODgtZ2xpYmMtMi4zMy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE0NCArMCww IEBACi0jIFBhdGNoIG1hZGUgYnkgS2V2aW4gS29mbGVyIDxLZXZpbkB0aWdjYy50aWNhbGMub3Jn PgotIyBodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTE5MDQ2NTIK LQotZGlmZiAtdXAgY2hyb21pdW0tODguMC40MzI0Ljk2L3NhbmRib3gvbGludXgvc2VjY29tcC1i cGYtaGVscGVycy9iYXNlbGluZV9wb2xpY3kuY2MuZnN0YXRmaXggY2hyb21pdW0tODguMC40MzI0 Ljk2L3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9iYXNlbGluZV9wb2xpY3kuY2MK LS0tLSBhL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9iYXNlbGluZV9wb2xpY3ku Y2MuZnN0YXRmaXgJMjAyMS0wMS0yNSAxMDoxMTo0NS40Mjc0MzYzOTggLTA1MDAKLSsrKyBiL3Nh bmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9iYXNlbGluZV9wb2xpY3kuY2MJMjAyMS0w MS0yNSAxMDoxMjo1MS4zMzc2OTkwMDMgLTA1MDAKLUBAIC0yNTcsNiArMjU3LDE4IEBAIFJlc3Vs dEV4cHIgRXZhbHVhdGVTeXNjYWxsSW1wbChpbnQgZnNfZGUKLSAgICAgcmV0dXJuIFJlc3RyaWN0 S2lsbFRhcmdldChjdXJyZW50X3BpZCwgc3lzbm8pOwotICAgfQotIAotKyNpZiBkZWZpbmVkKF9f TlJfbmV3ZnN0YXRhdCkKLSsgIGlmIChzeXNubyA9PSBfX05SX25ld2ZzdGF0YXQpIHsKLSsgICAg cmV0dXJuIFJld3JpdGVGc3RhdGF0U0lHU1lTKCk7Ci0rICB9Ci0rI2VuZGlmCi0rCi0rI2lmIGRl ZmluZWQoX19OUl9mc3RhdGF0NjQpCi0rICBpZiAoc3lzbm8gPT0gX19OUl9mc3RhdGF0NjQpIHsK LSsgICAgcmV0dXJuIFJld3JpdGVGc3RhdGF0U0lHU1lTKCk7Ci0rICB9Ci0rI2VuZGlmCi0rCi0g ICBpZiAoU3lzY2FsbFNldHM6OklzRmlsZVN5c3RlbShzeXNubykgfHwKLSAgICAgICBTeXNjYWxs U2V0czo6SXNDdXJyZW50RGlyZWN0b3J5KHN5c25vKSkgewotICAgICByZXR1cm4gRXJyb3IoZnNf ZGVuaWVkX2Vycm5vKTsKLWRpZmYgLXVwIGNocm9taXVtLTg4LjAuNDMyNC45Ni9zYW5kYm94L2xp bnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc2lnc3lzX2hhbmRsZXJzLmNjLmZzdGF0Zml4IGNocm9t aXVtLTg4LjAuNDMyNC45Ni9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc2lnc3lz X2hhbmRsZXJzLmNjCi0tLS0gYS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc2ln c3lzX2hhbmRsZXJzLmNjLmZzdGF0Zml4CTIwMjEtMDEtMjUgMTA6MTM6MTAuMTc5Nzc0MDgxIC0w NTAwCi0rKysgYi9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc2lnc3lzX2hhbmRs ZXJzLmNjCTIwMjEtMDEtMjUgMTA6MTY6MTguNzkwNTI1NzQ2IC0wNTAwCi1AQCAtNiw2ICs2LDgg QEAKLSAKLSAjaW5jbHVkZSAic2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3NpZ3N5 c19oYW5kbGVycy5oIgotIAotKyNpbmNsdWRlIDxlcnJuby5oPgotKyNpbmNsdWRlIDxmY250bC5o PgotICNpbmNsdWRlIDxzdGRkZWYuaD4KLSAjaW5jbHVkZSA8c3RkaW50Lmg+Ci0gI2luY2x1ZGUg PHN0cmluZy5oPgotQEAgLTM1NSw2ICszNTcsMzUgQEAgaW50cHRyX3QgU0lHU1lTU2NoZWRIYW5k bGVyKGNvbnN0IHN0cnVjdAotICAgcmV0dXJuIC1FTk9TWVM7Ci0gfQotIAotK2ludHB0cl90IFNJ R1NZU0ZzdGF0YXRIYW5kbGVyKGNvbnN0IHN0cnVjdCBhcmNoX3NlY2NvbXBfZGF0YSYgYXJncywK LSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkKiBhdXgpIHsKLSsgIHN3aXRjaCAo YXJncy5ucikgewotKyNpZiBkZWZpbmVkKF9fTlJfbmV3ZnN0YXRhdCkKLSsgICAgY2FzZSBfX05S X25ld2ZzdGF0YXQ6Ci0rI2VuZGlmCi0rI2lmIGRlZmluZWQoX19OUl9mc3RhdGF0NjQpCi0rICAg IGNhc2UgX19OUl9mc3RhdGF0NjQ6Ci0rI2VuZGlmCi0rI2lmIGRlZmluZWQoX19OUl9uZXdmc3Rh dGF0KSB8fCBkZWZpbmVkKF9fTlJfZnN0YXRhdDY0KQotKyAgICAgIGlmICgqcmVpbnRlcnByZXRf Y2FzdDxjb25zdCBjaGFyICo+KGFyZ3MuYXJnc1sxXSkgPT0gJ1wwJwotKyAgICAgICAgICAmJiBh cmdzLmFyZ3NbM10gPT0gc3RhdGljX2Nhc3Q8dWludDY0X3Q+KEFUX0VNUFRZX1BBVEgpKSB7Ci0r ICAgICAgICByZXR1cm4gc2FuZGJveDo6c3lzX2ZzdGF0NjQoc3RhdGljX2Nhc3Q8aW50Pihhcmdz LmFyZ3NbMF0pLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlaW50ZXJw cmV0X2Nhc3Q8c3RydWN0IHN0YXQ2NCAqPihhcmdzLmFyZ3NbMl0pKTsKLSsgICAgICB9IGVsc2Ug ewotKyAgICAgICAgZXJybm8gPSBFQUNDRVM7Ci0rICAgICAgICByZXR1cm4gLTE7Ci0rICAgICAg fQotKyAgICAgIGJyZWFrOwotKyNlbmRpZgotKyAgfQotKwotKyAgQ3Jhc2hTSUdTWVNfSGFuZGxl cihhcmdzLCBhdXgpOwotKwotKyAgLy8gU2hvdWxkIG5ldmVyIGJlIHJlYWNoZWQuCi0rICBSQVdf Q0hFQ0soZmFsc2UpOwotKyAgcmV0dXJuIC1FTk9TWVM7Ci0rfQotKwotIGJwZl9kc2w6OlJlc3Vs dEV4cHIgQ3Jhc2hTSUdTWVMoKSB7Ci0gICByZXR1cm4gYnBmX2RzbDo6VHJhcChDcmFzaFNJR1NZ U19IYW5kbGVyLCBOVUxMKTsKLSB9Ci1AQCAtMzg3LDYgKzQxOCwxMCBAQCBicGZfZHNsOjpSZXN1 bHRFeHByIFJld3JpdGVTY2hlZFNJR1NZUygpCi0gICByZXR1cm4gYnBmX2RzbDo6VHJhcChTSUdT WVNTY2hlZEhhbmRsZXIsIE5VTEwpOwotIH0KLSAKLSticGZfZHNsOjpSZXN1bHRFeHByIFJld3Jp dGVGc3RhdGF0U0lHU1lTKCkgewotKyAgcmV0dXJuIGJwZl9kc2w6OlRyYXAoU0lHU1lTRnN0YXRh dEhhbmRsZXIsIE5VTEwpOwotK30KLSsKLSB2b2lkIEFsbG9jYXRlQ3Jhc2hLZXlzKCkgewotICNp ZiAhZGVmaW5lZChPU19OQUNMX05PTlNGSSkKLSAgIGlmIChzZWNjb21wX2NyYXNoX2tleSkKLWRp ZmYgLXVwIGNocm9taXVtLTg4LjAuNDMyNC45Ni9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhl bHBlcnMvc2lnc3lzX2hhbmRsZXJzLmguZnN0YXRmaXggY2hyb21pdW0tODguMC40MzI0Ljk2L3Nh bmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zaWdzeXNfaGFuZGxlcnMuaAotLS0tIGEv c2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3NpZ3N5c19oYW5kbGVycy5oLmZzdGF0 Zml4CTIwMjEtMDEtMjUgMTA6MTY6MzYuOTgyNTk4MjM2IC0wNTAwCi0rKysgYi9zYW5kYm94L2xp bnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc2lnc3lzX2hhbmRsZXJzLmgJMjAyMS0wMS0yNSAxMDox ODo0NS43MDUxMTEwMjcgLTA1MDAKLUBAIC02Miw2ICs2MiwxMCBAQCBTQU5EQk9YX0VYUE9SVCBp bnRwdHJfdCBTSUdTWVNQdHJhY2VGYWlsCi0gLy8gc2NoZWRfc2V0cGFyYW0oKSwgc2NoZWRfc2V0 c2NoZWR1bGVyKCkKLSBTQU5EQk9YX0VYUE9SVCBpbnRwdHJfdCBTSUdTWVNTY2hlZEhhbmRsZXIo Y29uc3QgYXJjaF9zZWNjb21wX2RhdGEmIGFyZ3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHZvaWQqIGF1eCk7Ci0rLy8gSWYgdGhlIGZzdGF0YXQgc3lzY2Fs bCBpcyBhY3R1YWxseSBhIGRpc2d1aXNlZCBmc3RhdCwgY2FsbHMgdGhlIHJlZ3VsYXIgZnN0YXQK LSsvLyBzeXNjYWxsLCBvdGhlcndpc2UsIGNyYXNoZXMgaW4gdGhlIHNhbWUgd2F5IGFzIENyYXNo U0lHU1lTX0hhbmRsZXIuCi0rU0FOREJPWF9FWFBPUlQgaW50cHRyX3QgU0lHU1lTRnN0YXRhdEhh bmRsZXIoY29uc3Qgc3RydWN0IGFyY2hfc2VjY29tcF9kYXRhJiBhcmdzLCAKLSsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkKiBhdXgpOwotIAotIC8vIFZh cmlhbnRzIG9mIHRoZSBhYm92ZSBmdW5jdGlvbnMgZm9yIHVzZSB3aXRoIGJwZl9kc2wuCi0gU0FO REJPWF9FWFBPUlQgYnBmX2RzbDo6UmVzdWx0RXhwciBDcmFzaFNJR1NZUygpOwotQEAgLTcyLDYg Kzc2LDcgQEAgU0FOREJPWF9FWFBPUlQgYnBmX2RzbDo6UmVzdWx0RXhwciBDcmFzaAotIFNBTkRC T1hfRVhQT1JUIGJwZl9kc2w6OlJlc3VsdEV4cHIgQ3Jhc2hTSUdTWVNGdXRleCgpOwotIFNBTkRC T1hfRVhQT1JUIGJwZl9kc2w6OlJlc3VsdEV4cHIgQ3Jhc2hTSUdTWVNQdHJhY2UoKTsKLSBTQU5E Qk9YX0VYUE9SVCBicGZfZHNsOjpSZXN1bHRFeHByIFJld3JpdGVTY2hlZFNJR1NZUygpOwotK1NB TkRCT1hfRVhQT1JUIGJwZl9kc2w6OlJlc3VsdEV4cHIgUmV3cml0ZUZzdGF0YXRTSUdTWVMoKTsK LSAKLSAvLyBBbGxvY2F0ZXMgYSBjcmFzaCBrZXkgc28gdGhhdCBTZWNjb21wIGluZm9ybWF0aW9u IGNhbiBiZSByZWNvcmRlZC4KLSB2b2lkIEFsbG9jYXRlQ3Jhc2hLZXlzKCk7Ci1kaWZmIC11cCBj aHJvbWl1bS04OC4wLjQzMjQuOTYvc2FuZGJveC9saW51eC9zZXJ2aWNlcy9zeXNjYWxsX3dyYXBw ZXJzLmNjLmZzdGF0Zml4IGNocm9taXVtLTg4LjAuNDMyNC45Ni9zYW5kYm94L2xpbnV4L3NlcnZp Y2VzL3N5c2NhbGxfd3JhcHBlcnMuY2MKLS0tLSBhL3NhbmRib3gvbGludXgvc2VydmljZXMvc3lz Y2FsbF93cmFwcGVycy5jYy5mc3RhdGZpeAkyMDIxLTAxLTI1IDEwOjE4OjUzLjMwNzE0MTMxMSAt MDUwMAotKysrIGIvc2FuZGJveC9saW51eC9zZXJ2aWNlcy9zeXNjYWxsX3dyYXBwZXJzLmNjCTIw MjEtMDEtMjUgMTA6MTk6NDYuOTgyMzU1MjkzIC0wNTAwCi1AQCAtMjYxLDQgKzI2MSwxMyBAQCBp bnQgc3lzX3NpZ2FjdGlvbihpbnQgc2lnbnVtLAotIAotICNlbmRpZiAgLy8gZGVmaW5lZChNRU1P UllfU0FOSVRJWkVSKQotIAotK1NBTkRCT1hfRVhQT1JUIGludCBzeXNfZnN0YXQ2NChpbnQgZmQs IHN0cnVjdCBzdGF0NjQgKmJ1ZikKLSt7Ci0rI2lmIGRlZmluZWQoX19OUl9mc3RhdDY0KQotKyAg ICByZXR1cm4gc3lzY2FsbChfX05SX2ZzdGF0NjQsIGZkLCBidWYpOwotKyNlbHNlCi0rICAgIHJl dHVybiBzeXNjYWxsKF9fTlJfZnN0YXQsIGZkLCBidWYpOwotKyNlbmRpZgotK30KLSsKLSB9ICAv LyBuYW1lc3BhY2Ugc2FuZGJveAotZGlmZiAtdXAgY2hyb21pdW0tODguMC40MzI0Ljk2L3NhbmRi b3gvbGludXgvc2VydmljZXMvc3lzY2FsbF93cmFwcGVycy5oLmZzdGF0Zml4IGNocm9taXVtLTg4 LjAuNDMyNC45Ni9zYW5kYm94L2xpbnV4L3NlcnZpY2VzL3N5c2NhbGxfd3JhcHBlcnMuaAotLS0t IGEvc2FuZGJveC9saW51eC9zZXJ2aWNlcy9zeXNjYWxsX3dyYXBwZXJzLmguZnN0YXRmaXgJMjAy MS0wMS0yNSAxMDoxOTo1My4xMTUzNzk3NDEgLTA1MDAKLSsrKyBiL3NhbmRib3gvbGludXgvc2Vy dmljZXMvc3lzY2FsbF93cmFwcGVycy5oCTIwMjEtMDEtMjUgMTA6MjA6NDUuNDg1NTg4NDIxIC0w NTAwCi1AQCAtMTcsNiArMTcsNyBAQCBzdHJ1Y3Qgc29ja19mcHJvZzsKLSBzdHJ1Y3QgcmxpbWl0 NjQ7Ci0gc3RydWN0IGNhcF9oZHI7Ci0gc3RydWN0IGNhcF9kYXRhOwotK3N0cnVjdCBzdGF0NjQ7 Ci0gCi0gbmFtZXNwYWNlIHNhbmRib3ggewotIAotQEAgLTg0LDYgKzg1LDkgQEAgU0FOREJPWF9F WFBPUlQgaW50IHN5c19zaWdhY3Rpb24oaW50IHNpZwotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGNvbnN0IHN0cnVjdCBzaWdhY3Rpb24qIGFjdCwKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzdHJ1Y3Qgc2lnYWN0aW9uKiBvbGRhY3QpOwotIAotKy8vIFJlY2Vu dCBnbGliYyByZXdyaXRlcyBmc3RhdCB0byBmc3RhdGF0LgotK1NBTkRCT1hfRVhQT1JUIGludCBz eXNfZnN0YXQ2NChpbnQgZmQsIHN0cnVjdCBzdGF0NjQgKmJ1Zik7Ci0rCi0gfSAgLy8gbmFtZXNw YWNlIHNhbmRib3gKLSAKLSAjZW5kaWYgIC8vIFNBTkRCT1hfTElOVVhfU0VSVklDRVNfU1lTQ0FM TF9XUkFQUEVSU19IXwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9t aXVtLTkzLWZmbXBlZy00LjQucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21p dW0tOTMtZmZtcGVnLTQuNC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMDAuLmYwZWM3MzZmOThiYwotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvY2hyb21pdW0v cGF0Y2hlcy9jaHJvbWl1bS05My1mZm1wZWctNC40LnBhdGNoCkBAIC0wLDAgKzEsMzYgQEAKK2Rp ZmYgLS1naXQgYS9tZWRpYS9maWx0ZXJzL2ZmbXBlZ19kZW11eGVyLmNjIGIvbWVkaWEvZmlsdGVy cy9mZm1wZWdfZGVtdXhlci5jYworaW5kZXggYWM0NzEzYjA3MjY4Li40OTJhOWEzN2QwOTYgMTAw NjQ0CistLS0gYS9tZWRpYS9maWx0ZXJzL2ZmbXBlZ19kZW11eGVyLmNjCisrKysgYi9tZWRpYS9m aWx0ZXJzL2ZmbXBlZ19kZW11eGVyLmNjCitAQCAtNDI3LDExICs0MjcsMTEgQEAgdm9pZCBGRm1w ZWdEZW11eGVyU3RyZWFtOjpFbnF1ZXVlUGFja2V0KFNjb3BlZEFWUGFja2V0IHBhY2tldCkgewor ICAgc2NvcGVkX3JlZnB0cjxEZWNvZGVyQnVmZmVyPiBidWZmZXI7CisgCisgICBpZiAodHlwZSgp ID09IERlbXV4ZXJTdHJlYW06OlRFWFQpIHsKKy0gICAgc2l6ZV90IGlkX3NpemUgPSAwOworKyAg ICBpbnQgaWRfc2l6ZSA9IDA7CisgICAgIHVpbnQ4X3QqIGlkX2RhdGEgPSBhdl9wYWNrZXRfZ2V0 X3NpZGVfZGF0YSgKKyAgICAgICAgIHBhY2tldC5nZXQoKSwgQVZfUEtUX0RBVEFfV0VCVlRUX0lE RU5USUZJRVIsICZpZF9zaXplKTsKKyAKKy0gICAgc2l6ZV90IHNldHRpbmdzX3NpemUgPSAwOwor KyAgICBpbnQgc2V0dGluZ3Nfc2l6ZSA9IDA7CisgICAgIHVpbnQ4X3QqIHNldHRpbmdzX2RhdGEg PSBhdl9wYWNrZXRfZ2V0X3NpZGVfZGF0YSgKKyAgICAgICAgIHBhY2tldC5nZXQoKSwgQVZfUEtU X0RBVEFfV0VCVlRUX1NFVFRJTkdTLCAmc2V0dGluZ3Nfc2l6ZSk7CisgCitAQCAtNDQzLDcgKzQ0 Myw3IEBAIHZvaWQgRkZtcGVnRGVtdXhlclN0cmVhbTo6RW5xdWV1ZVBhY2tldChTY29wZWRBVlBh Y2tldCBwYWNrZXQpIHsKKyAgICAgYnVmZmVyID0gRGVjb2RlckJ1ZmZlcjo6Q29weUZyb20ocGFj a2V0LT5kYXRhLCBwYWNrZXQtPnNpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHNpZGVfZGF0YS5kYXRhKCksIHNpZGVfZGF0YS5zaXplKCkpOworICAgfSBlbHNlIHsK Ky0gICAgc2l6ZV90IHNpZGVfZGF0YV9zaXplID0gMDsKKysgICAgaW50IHNpZGVfZGF0YV9zaXpl ID0gMDsKKyAgICAgdWludDhfdCogc2lkZV9kYXRhID0gYXZfcGFja2V0X2dldF9zaWRlX2RhdGEo CisgICAgICAgICBwYWNrZXQuZ2V0KCksIEFWX1BLVF9EQVRBX01BVFJPU0tBX0JMT0NLQURESVRJ T05BTCwgJnNpZGVfZGF0YV9zaXplKTsKKyAKK0BAIC01MDQsNyArNTA0LDcgQEAgdm9pZCBGRm1w ZWdEZW11eGVyU3RyZWFtOjpFbnF1ZXVlUGFja2V0KFNjb3BlZEFWUGFja2V0IHBhY2tldCkgewor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhY2tldC0+c2l6ZSAtIGRh dGFfb2Zmc2V0KTsKKyAgICAgfQorIAorLSAgICBzaXplX3Qgc2tpcF9zYW1wbGVzX3NpemUgPSAw OworKyAgICBpbnQgc2tpcF9zYW1wbGVzX3NpemUgPSAwOworICAgICBjb25zdCB1aW50MzJfdCog c2tpcF9zYW1wbGVzX3B0ciA9CisgICAgICAgICByZWludGVycHJldF9jYXN0PGNvbnN0IHVpbnQz Ml90Kj4oYXZfcGFja2V0X2dldF9zaWRlX2RhdGEoCisgICAgICAgICAgICAgcGFja2V0LmdldCgp LCBBVl9QS1RfREFUQV9TS0lQX1NBTVBMRVMsICZza2lwX3NhbXBsZXNfc2l6ZSkpOwpkaWZmIC0t Z2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTkzLXBkZml1bS1pbmNsdWRl LnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTkzLXBkZml1bS1pbmNs dWRlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uNzJmMmFi ZDNlN2E2Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9t aXVtLTkzLXBkZml1bS1pbmNsdWRlLnBhdGNoCkBAIC0wLDAgKzEsMTE3IEBACitGcm9tIDdhNjI4 OWM1YWNlNTJjZjg4ZjBlMTljYWE1Zjc4YjdjMTVkMGU3YTYgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCitGcm9tOiBNaWtsb3MgVmFqbmEgPHZtaWtsb3NAY29sbGFib3JhLmNvLnVrPgorRGF0ZTog V2VkLCAyMSBKdWwgMjAyMSAxNzo0MjozMCArMDAwMAorU3ViamVjdDogW1BBVENIXSBmeGNvZGVj LCBmeGdlOiBmaXggbWlzc2luZyBpbmNsdWRlcyB3aXRoIGxpYnN0ZGMrKworCitUaGVzZSBtaXNz aW5nIGluY2x1ZGVzIGJyZWFrIHRoZSBidWlsZCB3aXRoIGdjYy9saWJzdGRjKyssIHRoZXkgd2Vy ZSBub3QKK2EgcHJvYmxlbSBpbiBwcmFjdGljZSB3aXRoIGNsYW5nL2xpYmMrKy4KKworQ2hhbmdl LUlkOiBJNDAwMTNmOTdiYTdhYjA2ZjMyYWE1OWY4N2IwNGFlYzA2YTE5NDc4YworUmV2aWV3ZWQt b246IGh0dHBzOi8vcGRmaXVtLXJldmlldy5nb29nbGVzb3VyY2UuY29tL2MvcGRmaXVtLysvODMy MTAKK0NvbW1pdC1RdWV1ZTogTGVpIFpoYW5nIDx0aGVzdGlnQGNocm9taXVtLm9yZz4KK1Jldmll d2VkLWJ5OiBMZWkgWmhhbmcgPHRoZXN0aWdAY2hyb21pdW0ub3JnPgorLS0tCisKK2RpZmYgLS1n aXQgYS90aGlyZF9wYXJ0eS9wZGZpdW0vY29yZS9meGNvZGVjL2pwZWcvanBlZ21vZHVsZS5jcHAg Yi90aGlyZF9wYXJ0eS9wZGZpdW0vY29yZS9meGNvZGVjL2pwZWcvanBlZ21vZHVsZS5jcHAKK2lu ZGV4IGNlYTA2NzkuLjAzNmYyNTAgMTAwNjQ0CistLS0gYS90aGlyZF9wYXJ0eS9wZGZpdW0vY29y ZS9meGNvZGVjL2pwZWcvanBlZ21vZHVsZS5jcHAKKysrKyBiL3RoaXJkX3BhcnR5L3BkZml1bS9j b3JlL2Z4Y29kZWMvanBlZy9qcGVnbW9kdWxlLmNwcAorQEAgLTcsNiArNyw3IEBACisgI2luY2x1 ZGUgImNvcmUvZnhjb2RlYy9qcGVnL2pwZWdtb2R1bGUuaCIKKyAKKyAjaW5jbHVkZSA8c2V0am1w Lmg+CisrI2luY2x1ZGUgPHN0cmluZy5oPgorIAorICNpbmNsdWRlIDxtZW1vcnk+CisgI2luY2x1 ZGUgPHV0aWxpdHk+CitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvcGRmaXVtL2NvcmUvZnhjb2Rl Yy9qcHgvY2pweF9kZWNvZGVyLmNwcCBiL3RoaXJkX3BhcnR5L3BkZml1bS9jb3JlL2Z4Y29kZWMv anB4L2NqcHhfZGVjb2Rlci5jcHAKK2luZGV4IGM2Njk4NWEuLjljMTEyMmIgMTAwNjQ0CistLS0g YS90aGlyZF9wYXJ0eS9wZGZpdW0vY29yZS9meGNvZGVjL2pweC9janB4X2RlY29kZXIuY3BwCisr KysgYi90aGlyZF9wYXJ0eS9wZGZpdW0vY29yZS9meGNvZGVjL2pweC9janB4X2RlY29kZXIuY3Bw CitAQCAtNiw2ICs2LDggQEAKKyAKKyAjaW5jbHVkZSAiY29yZS9meGNvZGVjL2pweC9janB4X2Rl Y29kZXIuaCIKKyAKKysjaW5jbHVkZSA8c3RyaW5nLmg+CisrCisgI2luY2x1ZGUgPGFsZ29yaXRo bT4KKyAjaW5jbHVkZSA8bGltaXRzPgorICNpbmNsdWRlIDx1dGlsaXR5PgorZGlmZiAtLWdpdCBh L3RoaXJkX3BhcnR5L3BkZml1bS9jb3JlL2Z4Z2UvY2Z4X2NsaXByZ24uY3BwIGIvdGhpcmRfcGFy dHkvcGRmaXVtL2NvcmUvZnhnZS9jZnhfY2xpcHJnbi5jcHAKK2luZGV4IDUzNjlkNTIuLmQxOTg4 NTIgMTAwNjQ0CistLS0gYS90aGlyZF9wYXJ0eS9wZGZpdW0vY29yZS9meGdlL2NmeF9jbGlwcmdu LmNwcAorKysrIGIvdGhpcmRfcGFydHkvcGRmaXVtL2NvcmUvZnhnZS9jZnhfY2xpcHJnbi5jcHAK K0BAIC02LDYgKzYsOCBAQAorIAorICNpbmNsdWRlICJjb3JlL2Z4Z2UvY2Z4X2NsaXByZ24uaCIK KyAKKysjaW5jbHVkZSA8c3RyaW5nLmg+CisrCisgI2luY2x1ZGUgPHV0aWxpdHk+CisgCisgI2lu Y2x1ZGUgImNvcmUvZnhnZS9kaWIvY2Z4X2RpYml0bWFwLmgiCitkaWZmIC0tZ2l0IGEvdGhpcmRf cGFydHkvcGRmaXVtL2NvcmUvZnhnZS9kaWIvY2Z4X2JpdG1hcGNvbXBvc2VyLmNwcCBiL3RoaXJk X3BhcnR5L3BkZml1bS9jb3JlL2Z4Z2UvZGliL2NmeF9iaXRtYXBjb21wb3Nlci5jcHAKK2luZGV4 IDZmOWI0MjAuLjBmMWZmYWUgMTAwNjQ0CistLS0gYS90aGlyZF9wYXJ0eS9wZGZpdW0vY29yZS9m eGdlL2RpYi9jZnhfYml0bWFwY29tcG9zZXIuY3BwCisrKysgYi90aGlyZF9wYXJ0eS9wZGZpdW0v Y29yZS9meGdlL2RpYi9jZnhfYml0bWFwY29tcG9zZXIuY3BwCitAQCAtNiw2ICs2LDggQEAKKyAK KyAjaW5jbHVkZSAiY29yZS9meGdlL2RpYi9jZnhfYml0bWFwY29tcG9zZXIuaCIKKyAKKysjaW5j bHVkZSA8c3RyaW5nLmg+CisrCisgI2luY2x1ZGUgImNvcmUvZnhnZS9jZnhfY2xpcHJnbi5oIgor ICNpbmNsdWRlICJjb3JlL2Z4Z2UvZGliL2NmeF9kaWJpdG1hcC5oIgorIAorZGlmZiAtLWdpdCBh L3RoaXJkX3BhcnR5L3BkZml1bS9jb3JlL2Z4Z2UvZGliL2NmeF9iaXRtYXBzdG9yZXIuY3BwIGIv dGhpcmRfcGFydHkvcGRmaXVtL2NvcmUvZnhnZS9kaWIvY2Z4X2JpdG1hcHN0b3Jlci5jcHAKK2lu ZGV4IGY1N2MwMGUuLjQ1YTBhMTggMTAwNjQ0CistLS0gYS90aGlyZF9wYXJ0eS9wZGZpdW0vY29y ZS9meGdlL2RpYi9jZnhfYml0bWFwc3RvcmVyLmNwcAorKysrIGIvdGhpcmRfcGFydHkvcGRmaXVt L2NvcmUvZnhnZS9kaWIvY2Z4X2JpdG1hcHN0b3Jlci5jcHAKK0BAIC02LDYgKzYsOCBAQAorIAor ICNpbmNsdWRlICJjb3JlL2Z4Z2UvZGliL2NmeF9iaXRtYXBzdG9yZXIuaCIKKyAKKysjaW5jbHVk ZSA8c3RyaW5nLmg+CisrCisgI2luY2x1ZGUgPHV0aWxpdHk+CisgCisgI2luY2x1ZGUgImNvcmUv ZnhnZS9kaWIvY2Z4X2RpYml0bWFwLmgiCitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvcGRmaXVt L2NvcmUvZnhnZS9kaWIvY2Z4X2RpYmJhc2UuY3BwIGIvdGhpcmRfcGFydHkvcGRmaXVtL2NvcmUv ZnhnZS9kaWIvY2Z4X2RpYmJhc2UuY3BwCitpbmRleCA0ZWMwZGRiLi5hMWRlMmZiIDEwMDY0NAor LS0tIGEvdGhpcmRfcGFydHkvcGRmaXVtL2NvcmUvZnhnZS9kaWIvY2Z4X2RpYmJhc2UuY3BwCisr KysgYi90aGlyZF9wYXJ0eS9wZGZpdW0vY29yZS9meGdlL2RpYi9jZnhfZGliYmFzZS5jcHAKK0BA IC02LDYgKzYsOCBAQAorIAorICNpbmNsdWRlICJjb3JlL2Z4Z2UvZGliL2NmeF9kaWJiYXNlLmgi CisgCisrI2luY2x1ZGUgPHN0cmluZy5oPgorKworICNpbmNsdWRlIDxhbGdvcml0aG0+CisgI2lu Y2x1ZGUgPG1lbW9yeT4KKyAjaW5jbHVkZSA8dXRpbGl0eT4KK2RpZmYgLS1naXQgYS90aGlyZF9w YXJ0eS9wZGZpdW0vY29yZS9meGdlL2RpYi9jZnhfZGliaXRtYXAuY3BwIGIvdGhpcmRfcGFydHkv cGRmaXVtL2NvcmUvZnhnZS9kaWIvY2Z4X2RpYml0bWFwLmNwcAoraW5kZXggZDdjY2Y2Yy4uOTRl OGFjYyAxMDA2NDQKKy0tLSBhL3RoaXJkX3BhcnR5L3BkZml1bS9jb3JlL2Z4Z2UvZGliL2NmeF9k aWJpdG1hcC5jcHAKKysrKyBiL3RoaXJkX3BhcnR5L3BkZml1bS9jb3JlL2Z4Z2UvZGliL2NmeF9k aWJpdG1hcC5jcHAKK0BAIC02LDYgKzYsOCBAQAorIAorICNpbmNsdWRlICJjb3JlL2Z4Z2UvZGli L2NmeF9kaWJpdG1hcC5oIgorIAorKyNpbmNsdWRlIDxzdHJpbmcuaD4KKysKKyAjaW5jbHVkZSA8 bGltaXRzPgorICNpbmNsdWRlIDxtZW1vcnk+CisgI2luY2x1ZGUgPHV0aWxpdHk+CitkaWZmIC0t Z2l0IGEvdGhpcmRfcGFydHkvcGRmaXVtL2NvcmUvZnhnZS9kaWIvY2Z4X3NjYW5saW5lY29tcG9z aXRvci5jcHAgYi90aGlyZF9wYXJ0eS9wZGZpdW0vY29yZS9meGdlL2RpYi9jZnhfc2NhbmxpbmVj b21wb3NpdG9yLmNwcAoraW5kZXggZTgzNjJkNy4uYzA0YzZkYyAxMDA2NDQKKy0tLSBhL3RoaXJk X3BhcnR5L3BkZml1bS9jb3JlL2Z4Z2UvZGliL2NmeF9zY2FubGluZWNvbXBvc2l0b3IuY3BwCisr KysgYi90aGlyZF9wYXJ0eS9wZGZpdW0vY29yZS9meGdlL2RpYi9jZnhfc2NhbmxpbmVjb21wb3Np dG9yLmNwcAorQEAgLTYsNiArNiw4IEBACisgCisgI2luY2x1ZGUgImNvcmUvZnhnZS9kaWIvY2Z4 X3NjYW5saW5lY29tcG9zaXRvci5oIgorIAorKyNpbmNsdWRlIDxzdHJpbmcuaD4KKysKKyAjaW5j bHVkZSA8YWxnb3JpdGhtPgorIAorICNpbmNsdWRlICJjb3JlL2Z4Z2UvZGliL2Z4X2RpYi5oIgpk aWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2N1cnNlZF5Vc2NvcGVkX2ZpbGUu cGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY3Vyc2VkXlVzY29wZWRfZmlsZS5wYXRj aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjJlNTQzM2Y3YWJjZQot LS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jdXJzZWReVXNjb3Bl ZF9maWxlLnBhdGNoCkBAIC0wLDAgKzEsMTggQEAKKy0tLSBhL2Jhc2UvZmlsZXMvc2NvcGVkX2Zp bGVfbGludXguY2Mub3JpZworKysrIGIvYmFzZS9maWxlcy9zY29wZWRfZmlsZV9saW51eC5jYwor QEAgLTc3LDE1ICs3NywzIEBACisgfQorIAorIH0gIC8vIG5hbWVzcGFjZSBiYXNlCistCistZXh0 ZXJuICJDIiB7CistCistaW50IF9fY2xvc2UoaW50KTsKKy0KKy1fX2F0dHJpYnV0ZV9fKCh2aXNp YmlsaXR5KCJkZWZhdWx0IiksIG5vaW5saW5lKSkgaW50IGNsb3NlKGludCBmZCkgeworLSAgaWYg KGJhc2U6OklzRkRPd25lZChmZCkgJiYgZ19pc19vd25lcnNoaXBfZW5mb3JjZWQpCistICAgIENy YXNoT25GZE93bmVyc2hpcFZpb2xhdGlvbigpOworLSAgcmV0dXJuIF9fY2xvc2UoZmQpOworLX0K Ky0KKy19ICAvLyBleHRlcm4gIkMiCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNo ZXMvZml4LWNyYXNoLWluLVRoZW1lU2VydmljZS5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0 Y2hlcy9maXgtY3Jhc2gtaW4tVGhlbWVTZXJ2aWNlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEw MDY0NAppbmRleCBmMmE2OTZhM2E3MzUuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL2Nocm9t aXVtL3BhdGNoZXMvZml4LWNyYXNoLWluLVRoZW1lU2VydmljZS5wYXRjaAorKysgL2Rldi9udWxs CkBAIC0xLDQ1ICswLDAgQEAKLUZyb20gYzJkMDEzM2Y0N2FmYjU5YjRjZTY0ZTQyMjE1ZDFkMDUz ZjE1MjUwYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFN0ZXBoYW4gSGFydG1hbm4g PHN0aGEwOUBnb29nbGVtYWlsLmNvbT4KLURhdGU6IFR1ZSwgMTMgQXByIDIwMjEgMjM6MjE6NDIg KzAwMDAKLVN1YmplY3Q6IFtQQVRDSF0gZml4IGNyYXNoIGluIFRoZW1lU2VydmljZQotCi1UaGVt ZVN5bmNhYmxlU2VydmljZSBhbmQgVGhlbWVTZXJ2aWNlIGFyZSBvd25lZCBieSBlYWNoIG90aGVy LiBPbgotZGVzdHJ1Y3Rpb24gb2YgVGhlbWVTZXJ2aWNlLCBUaGVtZVN5bmNhYmxlU2VydmljZSBn ZXRzIGRlc3RydWN0ZWQgYXMKLXdlbGwsIGJ1dCBjYWxscyBSZW1vdmVPYnNlcnZlciBvZiBwYXJ0 bHkgZGVzdHJ1Y3RlZCBUaGVtZVNlcnZpY2Ugb2JqZWN0LgotVG8gYXZvaWQgYWxyZWFkeSBkZXN0 cnVjdGVkIHxvYnNlcnZlcnNffCBsaXN0LCBtb3ZlIGl0IGJlZm9yZQotfHRoZW1lX3N5bmNhYmxl X3NlcnZpY2VffCBkZWZpbml0aW9uLgotCi1CdWc6IDExOTA1NjEKLUNoYW5nZS1JZDogSTRkYzJj OTkwZDU4OTA3MWQ5N2I3ZmE3MzdhZmVmNTQ0NjNjODQ3NTEKLVJldmlld2VkLW9uOiBodHRwczov L2Nocm9taXVtLXJldmlldy5nb29nbGVzb3VyY2UuY29tL2MvY2hyb21pdW0vc3JjLysvMjgyMTMx MQotQ29tbWl0LVF1ZXVlOiBQZXRlciBLYXN0aW5nIDxwa2FzdGluZ0BjaHJvbWl1bS5vcmc+Ci1S ZXZpZXdlZC1ieTogUGV0ZXIgS2FzdGluZyA8cGthc3RpbmdAY2hyb21pdW0ub3JnPgotQ3ItQ29t bWl0LVBvc2l0aW9uOiByZWZzL2hlYWRzL21hc3RlckB7Izg3MjE2NH0KLS0tLQotIGNocm9tZS9i cm93c2VyL3RoZW1lcy90aGVtZV9zZXJ2aWNlLmggfCA2ICsrKystLQotIDEgZmlsZSBjaGFuZ2Vk LCA0IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgY2hyb21lL2Jy b3dzZXIvdGhlbWVzL3RoZW1lX3NlcnZpY2UuaCBjaHJvbWUvYnJvd3Nlci90aGVtZXMvdGhlbWVf c2VydmljZS5oCi1pbmRleCA1OTJkNDBhZTlkZTBmLi4zMzdkZmFjOWEwNDBmIDEwMDY0NAotLS0t IGEvY2hyb21lL2Jyb3dzZXIvdGhlbWVzL3RoZW1lX3NlcnZpY2UuaAotKysrIGIvY2hyb21lL2Jy b3dzZXIvdGhlbWVzL3RoZW1lX3NlcnZpY2UuaAotQEAgLTI5OSw2ICsyOTksMTAgQEAgY2xhc3Mg VGhlbWVTZXJ2aWNlIDogcHVibGljIEtleWVkU2VydmljZSwKLSAgIC8vIFRoZSBudW1iZXIgb2Yg aW5mb2JhcnMgY3VycmVudGx5IGRpc3BsYXllZC4KLSAgIGludCBudW1iZXJfb2ZfcmVpbnN0YWxs ZXJzXyA9IDA7Ci0gCi0rICAvLyBEZWNsYXJlZCBiZWZvcmUgfHRoZW1lX3N5bmNhYmxlX3NlcnZp Y2VffCwgYmVjYXVzZSBUaGVtZVN5bmNhYmxlU2VydmljZQotKyAgLy8gcmVtb3ZlcyBpdHNlbGYg ZnJvbSB0aGUgfG9ic2VydmVyc198IGxpc3Qgb24gZGVzdHJ1Y3Rpb24uCi0rICBiYXNlOjpPYnNl cnZlckxpc3Q8VGhlbWVTZXJ2aWNlT2JzZXJ2ZXI+IG9ic2VydmVyc187Ci0rCi0gICBzdGQ6OnVu aXF1ZV9wdHI8VGhlbWVTeW5jYWJsZVNlcnZpY2U+IHRoZW1lX3N5bmNhYmxlX3NlcnZpY2VfOwot IAotICNpZiBCVUlMREZMQUcoRU5BQkxFX0VYVEVOU0lPTlMpCi1AQCAtMzIwLDggKzMyNCw2IEBA IGNsYXNzIFRoZW1lU2VydmljZSA6IHB1YmxpYyBLZXllZFNlcnZpY2UsCi0gICBTY29wZWRPYnNl cnZlcjx1aTo6TmF0aXZlVGhlbWUsIHVpOjpOYXRpdmVUaGVtZU9ic2VydmVyPgotICAgICAgIG5h dGl2ZV90aGVtZV9vYnNlcnZlcl97dGhpc307Ci0gCi0tICBiYXNlOjpPYnNlcnZlckxpc3Q8VGhl bWVTZXJ2aWNlT2JzZXJ2ZXI+IG9ic2VydmVyc187Ci0tCi0gICBiYXNlOjpXZWFrUHRyRmFjdG9y eTxUaGVtZVNlcnZpY2U+IHdlYWtfcHRyX2ZhY3Rvcnlfe3RoaXN9OwotIAotICAgRElTQUxMT1df Q09QWV9BTkRfQVNTSUdOKFRoZW1lU2VydmljZSk7CmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9t aXVtL3BhdGNoZXMvZml4LW5hcnJvd2luZy1jYXN0LnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9w YXRjaGVzL2ZpeC1uYXJyb3dpbmctY2FzdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAwMDAuLmFmZDQyYTE0ODlhZQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3Mv Y2hyb21pdW0vcGF0Y2hlcy9maXgtbmFycm93aW5nLWNhc3QucGF0Y2gKQEAgLTAsMCArMSw1MyBA QAorLS0tIGEvYmFzZS9maWxlcy9maWxlX3V0aWxfbGludXguY2MKKysrKyBiL2Jhc2UvZmlsZXMv ZmlsZV91dGlsX2xpbnV4LmNjCitAQCAtMjMsMTQgKzIzLDE0IEBACisgCisgICAvLyBOb3QgYWxs IHBvc3NpYmxlIHxzdGF0ZnNfYnVmLmZfdHlwZXwgdmFsdWVzIGFyZSBpbiBsaW51eC9tYWdpYy5o LgorICAgLy8gTWlzc2luZyB2YWx1ZXMgYXJlIGNvcGllZCBmcm9tIHRoZSBzdGF0ZnMgbWFuIHBh Z2UuCistICBzd2l0Y2ggKHN0YXRmc19idWYuZl90eXBlKSB7CisrICBzd2l0Y2ggKHN0YXRpY19j YXN0PHVpbnRtYXhfdD4oc3RhdGZzX2J1Zi5mX3R5cGUpKSB7CisgICAgIGNhc2UgMDoKKyAgICAg ICAqdHlwZSA9IEZJTEVfU1lTVEVNXzA7CisgICAgICAgYnJlYWs7CisgICAgIGNhc2UgRVhUMl9T VVBFUl9NQUdJQzogIC8vIEFsc28gZXh0MyBhbmQgZXh0NAorICAgICBjYXNlIE1TRE9TX1NVUEVS X01BR0lDOgorICAgICBjYXNlIFJFSVNFUkZTX1NVUEVSX01BR0lDOgorLSAgICBjYXNlIHN0YXRp Y19jYXN0PGludD4oQlRSRlNfU1VQRVJfTUFHSUMpOgorKyAgICBjYXNlIEJUUkZTX1NVUEVSX01B R0lDOgorICAgICBjYXNlIDB4NTM0NjU0NEU6ICAvLyBOVEZTCisgICAgIGNhc2UgMHg1ODQ2NTM0 MjogIC8vIFhGUworICAgICBjYXNlIDB4MzE1MzQ2NEE6ICAvLyBKRlMKK0BAIC00MCwxNCArNDAs MTQgQEAKKyAgICAgICAqdHlwZSA9IEZJTEVfU1lTVEVNX05GUzsKKyAgICAgICBicmVhazsKKyAg ICAgY2FzZSBTTUJfU1VQRVJfTUFHSUM6CistICAgIGNhc2Ugc3RhdGljX2Nhc3Q8aW50PigweEZG NTM0RDQyKTogIC8vIENJRlMKKysgICAgY2FzZSAweEZGNTM0RDQyOiAgLy8gQ0lGUworICAgICAg ICp0eXBlID0gRklMRV9TWVNURU1fU01COworICAgICAgIGJyZWFrOworICAgICBjYXNlIENPREFf U1VQRVJfTUFHSUM6CisgICAgICAgKnR5cGUgPSBGSUxFX1NZU1RFTV9DT0RBOworICAgICAgIGJy ZWFrOworLSAgICBjYXNlIHN0YXRpY19jYXN0PGludD4oSFVHRVRMQkZTX01BR0lDKToKKy0gICAg Y2FzZSBzdGF0aWNfY2FzdDxpbnQ+KFJBTUZTX01BR0lDKToKKysgICAgY2FzZSBIVUdFVExCRlNf TUFHSUM6CisrICAgIGNhc2UgUkFNRlNfTUFHSUM6CisgICAgIGNhc2UgVE1QRlNfTUFHSUM6Cisg ICAgICAgKnR5cGUgPSBGSUxFX1NZU1RFTV9NRU1PUlk7CisgICAgICAgYnJlYWs7CistLS0gYS9i YXNlL3N5c3RlbS9zeXNfaW5mb19wb3NpeC5jYworKysrIGIvYmFzZS9zeXN0ZW0vc3lzX2luZm9f cG9zaXguY2MKK0BAIC0xMDAsMTAgKzEwMCwxMCBAQAorICAgaWYgKEhBTkRMRV9FSU5UUihzdGF0 ZnMocGF0aC52YWx1ZSgpLmNfc3RyKCksICZzdGF0cykpICE9IDApCisgICAgIHJldHVybiBmYWxz ZTsKKyAKKy0gIHN3aXRjaCAoc3RhdHMuZl90eXBlKSB7CisrICBzd2l0Y2ggKHN0YXRpY19jYXN0 PHVpbnRtYXhfdD4oc3RhdHMuZl90eXBlKSkgeworICAgICBjYXNlIFRNUEZTX01BR0lDOgorLSAg ICBjYXNlIHN0YXRpY19jYXN0PGludD4oSFVHRVRMQkZTX01BR0lDKToKKy0gICAgY2FzZSBzdGF0 aWNfY2FzdDxpbnQ+KFJBTUZTX01BR0lDKToKKysgICAgY2FzZSBIVUdFVExCRlNfTUFHSUM6Cisr ICAgIGNhc2UgUkFNRlNfTUFHSUM6CisgICAgICAgcmV0dXJuIHRydWU7CisgICB9CisgICByZXR1 cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvbGludXgtc2Fu ZGJveC1maXgtZnN0YXRhdC1jcmFzaC5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9s aW51eC1zYW5kYm94LWZpeC1mc3RhdGF0LWNyYXNoLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAwMDAwMC4uNGE5OWYxZGUyODc0Ci0tLSAvZGV2L251bGwKKysrIGIvc3Jj cGtncy9jaHJvbWl1bS9wYXRjaGVzL2xpbnV4LXNhbmRib3gtZml4LWZzdGF0YXQtY3Jhc2gucGF0 Y2gKQEAgLTAsMCArMSwxMzg0IEBACitGcm9tIDRiNDM4MzIzZDY4ODQwNDUzYjVlZjgyNmMzOTk3 NTY4ZTJlMGU4YzcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXR0aGV3IERlbnRv biA8bXBkZW50b25AY2hyb21pdW0ub3JnPgorRGF0ZTogTW9uLCAxOSBKdWwgMjAyMSAxNDowMzox MyArMDAwMAorU3ViamVjdDogW1BBVENIXSBSZWxhbmQgIlJlbGFuZCAiTGludXggc2FuZGJveCBz eXNjYWxsIGJyb2tlcjogdXNlIHN0cnVjdAorIGtlcm5lbF9zdGF0IiIKKworVGhpcyByZXZlcnRz IGNvbW1pdCBmZjI3N2E1MmVjZTBiMjE2NjE3ZDc3MGYyMDFlZDY2OTU1ZmU3MGI5LgorCitSZWFz b24gZm9yIHJldmVydDogcmVsYW5kCisKK1RoZSBmaXggaW5jbHVkZWQgaW4gdGhlIHJlbGFuZCBp cyB0aGF0IGZzdGF0YXQ2NCgpIG5lZWRzIHRvIGJlCithbGxvd2VkIGluIHRoZSBicm9rZXIgcHJv Y2VzcydzIHNlY2NvbXAgcG9saWN5LgorCitUaGlzIENMIGFsc28gaW5jbHVkZXMgc29tZSBleHRy YSB0ZXN0cyB0aGF0IHRoZSBrZXJuZWxfc3RhdCBzdHJ1Y3R1cmVzCittYXRjaCB0aGUgbGF5b3V0 IHRoZSBrZXJuZWwgZXhwZWN0cy4KKworQnVnOiAxMTY0OTc1LCAxMTk5NDMxCitUZXN0OiB0cm9n ZG9yIENocm9tZWJvb2sgc3VjY2Vzc2Z1bGx5IGJvb3RzIGFuZCBhbGxvd3MgbG9naW4uCisKK09y aWdpbmFsIGNoYW5nZSdzIGRlc2NyaXB0aW9uOgorPiBSZXZlcnQgIlJlbGFuZCAiTGludXggc2Fu ZGJveCBzeXNjYWxsIGJyb2tlcjogdXNlIHN0cnVjdCBrZXJuZWxfc3RhdCIiCis+Cis+IFRoaXMg cmV2ZXJ0cyBjb21taXQgY2ZmYmM0NDMyYWY3OWY3MjBhZTNjNzVkZmYzODBiODUzNzAxYmQ2NC4K Kz4KKz4gUmVhc29uIGZvciByZXZlcnQ6IGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJv bWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTExOTk0MzEKKz4KKz4gT3JpZ2luYWwgY2hhbmdlJ3MgZGVz Y3JpcHRpb246Cis+ID4gUmVsYW5kICJMaW51eCBzYW5kYm94IHN5c2NhbGwgYnJva2VyOiB1c2Ug c3RydWN0IGtlcm5lbF9zdGF0IgorPiA+Cis+ID4gVGhpcyByZXZlcnRzIGNvbW1pdCAyMzAzMGRj NjUwY2RmYTIyNjMxZjI1YmVmOTM3OTA1ZjI3ZjA2YTJjLgorPiA+Cis+ID4gT3JpZ2luYWwgY2hh bmdlJ3MgZGVzY3JpcHRpb246Cis+ID4gPiBSZXZlcnQgIkxpbnV4IHNhbmRib3ggc3lzY2FsbCBi cm9rZXI6IHVzZSBzdHJ1Y3Qga2VybmVsX3N0YXQiCis+ID4gPgorPiA+ID4gVGhpcyByZXZlcnRz IGNvbW1pdCA3ODRiMGZjZDhhM2NhNmJjZDNhY2I5Y2ZkNjI0ZWM5Y2JiYWMyNzg5LgorPiA+ID4K Kz4gPiA+IFJlYXNvbiBmb3IgcmV2ZXJ0OiBDYXVzaW5nIGZhaWx1cmUgaW4KKz4gPiA+IFN0ZXAg InNhbmRib3hfbGludXhfdW5pdHRlc3RzIiBmYWlsaW5nIG9uIGJ1aWxkZXIgIkxpbnV4IENocm9t aXVtT1MgTVNhbiBUZXN0cyIKKz4gPiA+IFNlZSBjcmJ1Zy5jb20vMTE5ODQ4MAorPiA+ID4KKz4g PiA+IE9yaWdpbmFsIGNoYW5nZSdzIGRlc2NyaXB0aW9uOgorPiA+ID4gPiBMaW51eCBzYW5kYm94 IHN5c2NhbGwgYnJva2VyOiB1c2Ugc3RydWN0IGtlcm5lbF9zdGF0Cis+ID4gPiA+Cis+ID4gPiA+ IFRoZSBzdHJ1Y3Qgc3RhdCB1c2VkIGluIGxpYmMgaXMgZGlmZmVyZW50IChpbiBzaXplIGFuZCBm aWVsZCBvcmRlcmluZykKKz4gPiA+ID4gZnJvbSB0aGUgc3RydWN0dXJlIGFzc3VtZWQgYnkgdGhl IExpbnV4IGtlcm5lbC4gU28sIHdoZW4gZW11bGF0aW5nCis+ID4gPiA+IHN5c3RlbSBjYWxscywg d2UgbmVlZCB0byB1c2UgdGhlIHN0cnVjdCBkZWZpbml0aW9uIHRoZSBrZXJuZWwgZXhwZWN0cy4K Kz4gPiA+ID4KKz4gPiA+ID4gVGhpcyBDTCBhZGRzIGxpbnV4X3N0YXQuaCB0aGF0IGluY2x1ZGVz IGRlZmluaXRpb25zIG9mIHRoZSBkaWZmZXJlbnQKKz4gPiA+ID4ga2VybmVsIHN0cnVjdHMuCis+ ID4gPiA+Cis+ID4gPiA+IENoYW5nZS1JZDogSTUzY2FkMzVjMjI1MWRmZjBmNmI3ZWE3NzUyOGNm YTU4ZWYzY2FiNGEKKz4gPiA+ID4gUmV2aWV3ZWQtb246IGh0dHBzOi8vY2hyb21pdW0tcmV2aWV3 Lmdvb2dsZXNvdXJjZS5jb20vYy9jaHJvbWl1bS9zcmMvKy8yNzgwODc2Cis+ID4gPiA+IENvbW1p dC1RdWV1ZTogTWF0dGhldyBEZW50b24gPG1wZGVudG9uQGNocm9taXVtLm9yZz4KKz4gPiA+ID4g UmV2aWV3ZWQtYnk6IFJvYmVydCBTZXNlayA8cnNlc2VrQGNocm9taXVtLm9yZz4KKz4gPiA+ID4g Q3ItQ29tbWl0LVBvc2l0aW9uOiByZWZzL2hlYWRzL21hc3RlckB7Izg3MTc2N30KKz4gPiA+Cis+ ID4gPiBDaGFuZ2UtSWQ6IEljYmVjMzhmMjEwM2M4NDI0ZGVjNzlhYjE4NzBiOTdjM2U4M2Y5MzYx Cis+ID4gPiBOby1QcmVzdWJtaXQ6IHRydWUKKz4gPiA+IE5vLVRyZWUtQ2hlY2tzOiB0cnVlCis+ ID4gPiBOby1Ucnk6IHRydWUKKz4gPiA+IFJldmlld2VkLW9uOiBodHRwczovL2Nocm9taXVtLXJl dmlldy5nb29nbGVzb3VyY2UuY29tL2MvY2hyb21pdW0vc3JjLysvMjgyMTgxMgorPiA+ID4gQXV0 by1TdWJtaXQ6IFZpY3RvciBWaWFubmEgPHZpY3RvcnZpYW5uYUBnb29nbGUuY29tPgorPiA+ID4g T3duZXJzLU92ZXJyaWRlOiBWaWN0b3IgVmlhbm5hIDx2aWN0b3J2aWFubmFAZ29vZ2xlLmNvbT4K Kz4gPiA+IENvbW1pdC1RdWV1ZTogUnViYmVyIFN0YW1wZXIgPHJ1YmJlci1zdGFtcGVyQGFwcHNw b3QuZ3NlcnZpY2VhY2NvdW50LmNvbT4KKz4gPiA+IEJvdC1Db21taXQ6IFJ1YmJlciBTdGFtcGVy IDxydWJiZXItc3RhbXBlckBhcHBzcG90LmdzZXJ2aWNlYWNjb3VudC5jb20+Cis+ID4gPiBDci1D b21taXQtUG9zaXRpb246IHJlZnMvaGVhZHMvbWFzdGVyQHsjODcxODgyfQorPiA+Cis+ID4gQ2hh bmdlLUlkOiBJMWYzOWJiNTI0Mjk2MTQ3NGRlZjU5NGZmN2RiZWE1MjAwOWYyY2VlNAorPiA+IFJl dmlld2VkLW9uOiBodHRwczovL2Nocm9taXVtLXJldmlldy5nb29nbGVzb3VyY2UuY29tL2MvY2hy b21pdW0vc3JjLysvMjgyNDExNQorPiA+IEF1dG8tU3VibWl0OiBNYXR0aGV3IERlbnRvbiA8bXBk ZW50b25AY2hyb21pdW0ub3JnPgorPiA+IENvbW1pdC1RdWV1ZTogTWF0dGhldyBEZW50b24gPG1w ZGVudG9uQGNocm9taXVtLm9yZz4KKz4gPiBSZXZpZXdlZC1ieTogUm9iZXJ0IFNlc2VrIDxyc2Vz ZWtAY2hyb21pdW0ub3JnPgorPiA+IENyLUNvbW1pdC1Qb3NpdGlvbjogcmVmcy9oZWFkcy9tYXN0 ZXJAeyM4NzI4MTJ9Cis+Cis+IEZpeGVkOiAxMTk5NDMxCis+IENoYW5nZS1JZDogSWViZmMwYzQ4 MjAxYmYyMmZmOWM1NGQ4ZDVjOGE0M2QyNmE4ODAwOTgKKz4gTm8tUHJlc3VibWl0OiB0cnVlCis+ IE5vLVRyZWUtQ2hlY2tzOiB0cnVlCis+IE5vLVRyeTogdHJ1ZQorPiBSZXZpZXdlZC1vbjogaHR0 cHM6Ly9jaHJvbWl1bS1yZXZpZXcuZ29vZ2xlc291cmNlLmNvbS9jL2Nocm9taXVtL3NyYy8rLzI4 MzA0NTkKKz4gQXV0by1TdWJtaXQ6IEt5bGUgSG9yaW1vdG8gPGtob3JpbW90b0BjaHJvbWl1bS5v cmc+Cis+IENvbW1pdC1RdWV1ZTogTWF0dGhldyBEZW50b24gPG1wZGVudG9uQGNocm9taXVtLm9y Zz4KKz4gQ29tbWl0LVF1ZXVlOiBLaW51a28gWWFzdWRhIDxraW51a29AY2hyb21pdW0ub3JnPgor PiBSZXZpZXdlZC1ieTogTWF0dGhldyBEZW50b24gPG1wZGVudG9uQGNocm9taXVtLm9yZz4KKz4g UmV2aWV3ZWQtYnk6IEtpbnVrbyBZYXN1ZGEgPGtpbnVrb0BjaHJvbWl1bS5vcmc+Cis+IE93bmVy cy1PdmVycmlkZTogS2ludWtvIFlhc3VkYSA8a2ludWtvQGNocm9taXVtLm9yZz4KKz4gQ3ItQ29t bWl0LVBvc2l0aW9uOiByZWZzL2hlYWRzL21hc3RlckB7Izg3MzE3M30KKworQ2hhbmdlLUlkOiBJ YmU2YTQ4NTA3MGYzMzQ4OWFhYTE1N2I1MWI5MDhjMmQyM2QxNzRkNworUmV2aWV3ZWQtb246IGh0 dHBzOi8vY2hyb21pdW0tcmV2aWV3Lmdvb2dsZXNvdXJjZS5jb20vYy9jaHJvbWl1bS9zcmMvKy8y ODQ4OTM2CitSZXZpZXdlZC1ieTogUm9iZXJ0IFNlc2VrIDxyc2VzZWtAY2hyb21pdW0ub3JnPgor Q29tbWl0LVF1ZXVlOiBNYXR0aGV3IERlbnRvbiA8bXBkZW50b25AY2hyb21pdW0ub3JnPgorQ3It Q29tbWl0LVBvc2l0aW9uOiByZWZzL2hlYWRzL21hc3RlckB7IzkwMjk4MX0KKy0tLQorIHNhbmRi b3gvbGludXgvQlVJTEQuZ24gICAgICAgICAgICAgICAgICAgICAgICB8ICAgMSArCisgLi4uL3Nl Y2NvbXBfYnJva2VyX3Byb2Nlc3NfdW5pdHRlc3QuY2MgICAgICAgIHwgIDQwICsrKy0KKyBzYW5k Ym94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvREVQUyAgICAgICAgfCAgIDEgLQorIC4uLnNj YWxsX3BhcmFtZXRlcnNfcmVzdHJpY3Rpb25zX3VuaXR0ZXN0cy5jYyB8ICAgNCAtCisgc2FuZGJv eC9saW51eC9zZXJ2aWNlcy9zeXNjYWxsX3dyYXBwZXJzLmNjICAgIHwgIDUwICsrKystCisgc2Fu ZGJveC9saW51eC9zZXJ2aWNlcy9zeXNjYWxsX3dyYXBwZXJzLmggICAgIHwgIDE1ICsrCisgLi4u L3NlcnZpY2VzL3N5c2NhbGxfd3JhcHBlcnNfdW5pdHRlc3QuY2MgICAgIHwgMTI5ICsrKysrKysr KysrLQorIHNhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvREVQUyAgICAgICAgICAgICB8ICAg MyArLQorIHNhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvYnJva2VyX2NsaWVudC5jYyB8ICAg NCArLQorIHNhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvYnJva2VyX2NsaWVudC5oICB8ICAg NCArLQorIHNhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvYnJva2VyX2hvc3QuY2MgICB8ICAy MyArKy0KKyAuLi4vc3lzY2FsbF9icm9rZXIvYnJva2VyX3Byb2Nlc3NfdW5pdHRlc3QuY2MgfCAg NzQgKysrLS0tLQorIC4uLi9yZW1vdGVfc3lzY2FsbF9hcmdfaGFuZGxlcl91bml0dGVzdC5jYyAg ICB8ICAzNiArKy0tCisgLi4uL3N5c2NhbGxfYnJva2VyL3N5c2NhbGxfZGlzcGF0Y2hlci5jYyAg ICAgIHwgIDY3ICsrKystLS0KKyAuLi4vbGludXgvc3lzY2FsbF9icm9rZXIvc3lzY2FsbF9kaXNw YXRjaGVyLmggfCAgMjcgKystCisgc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF9z dGF0LmggICAgIHwgMTg4ICsrKysrKysrKysrKysrKysrKworIHNhbmRib3gvbGludXgvc3lzdGVt X2hlYWRlcnMvbGludXhfdGltZS5oICAgICB8ICAyNiArKysKKyBzYW5kYm94L2xpbnV4L3Rlc3Rz L3Rlc3RfdXRpbHMuY2MgICAgICAgICAgICAgfCAgMTUgKysKKyBzYW5kYm94L2xpbnV4L3Rlc3Rz L3Rlc3RfdXRpbHMuaCAgICAgICAgICAgICAgfCAgIDIgKworIC4uLi9wb2xpY3kvbGludXgvYnBm X2Jyb2tlcl9wb2xpY3lfbGludXguY2MgICB8ICAgNCArLQorIDIwIGZpbGVzIGNoYW5nZWQsIDU5 NSBpbnNlcnRpb25zKCspLCAxMTggZGVsZXRpb25zKC0pCisgY3JlYXRlIG1vZGUgMTAwNjQ0IHNh bmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbGludXhfc3RhdC5oCisKK2RpZmYgLS1naXQgYS9z YW5kYm94L2xpbnV4L0JVSUxELmduIGIvc2FuZGJveC9saW51eC9CVUlMRC5nbgoraW5kZXggMmY3 NzhkZDBiY2FiMi4uY2NiYmM5MTcxNmU3MSAxMDA2NDQKKy0tLSBhL3NhbmRib3gvbGludXgvQlVJ TEQuZ24KKysrKyBiL3NhbmRib3gvbGludXgvQlVJTEQuZ24KK0BAIC00NDMsNiArNDQzLDcgQEAg c291cmNlX3NldCgic2FuZGJveF9zZXJ2aWNlc19oZWFkZXJzIikgeworICAgICAic3lzdGVtX2hl YWRlcnMvbGludXhfcHRyYWNlLmgiLAorICAgICAic3lzdGVtX2hlYWRlcnMvbGludXhfc2VjY29t cC5oIiwKKyAgICAgInN5c3RlbV9oZWFkZXJzL2xpbnV4X3NpZ25hbC5oIiwKKysgICAgInN5c3Rl bV9oZWFkZXJzL2xpbnV4X3N0YXQuaCIsCisgICAgICJzeXN0ZW1faGVhZGVycy9saW51eF9zeXNj YWxscy5oIiwKKyAgICAgInN5c3RlbV9oZWFkZXJzL2xpbnV4X3RpbWUuaCIsCisgICAgICJzeXN0 ZW1faGVhZGVycy9saW51eF91Y29udGV4dC5oIiwKK2RpZmYgLS1naXQgYS9zYW5kYm94L2xpbnV4 L2ludGVncmF0aW9uX3Rlc3RzL3NlY2NvbXBfYnJva2VyX3Byb2Nlc3NfdW5pdHRlc3QuY2MgYi9z YW5kYm94L2xpbnV4L2ludGVncmF0aW9uX3Rlc3RzL3NlY2NvbXBfYnJva2VyX3Byb2Nlc3NfdW5p dHRlc3QuY2MKK2luZGV4IDlkYTljNjg5MTE0MjguLjhhOTQxOTgzYjE5OGQgMTAwNjQ0CistLS0g YS9zYW5kYm94L2xpbnV4L2ludGVncmF0aW9uX3Rlc3RzL3NlY2NvbXBfYnJva2VyX3Byb2Nlc3Nf dW5pdHRlc3QuY2MKKysrKyBiL3NhbmRib3gvbGludXgvaW50ZWdyYXRpb25fdGVzdHMvc2VjY29t cF9icm9rZXJfcHJvY2Vzc191bml0dGVzdC5jYworQEAgLTM0LDYgKzM0LDcgQEAKKyAjaW5jbHVk ZSAic2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9icm9rZXJfZmlsZV9wZXJtaXNzaW9uLmgi CisgI2luY2x1ZGUgInNhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvYnJva2VyX3Byb2Nlc3Mu aCIKKyAjaW5jbHVkZSAic2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF9zZWNjb21w LmgiCisrI2luY2x1ZGUgInNhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbGludXhfc3RhdC5o IgorICNpbmNsdWRlICJzYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3N5c2NhbGxz LmgiCisgI2luY2x1ZGUgInNhbmRib3gvbGludXgvdGVzdHMvc2NvcGVkX3RlbXBvcmFyeV9maWxl LmgiCisgI2luY2x1ZGUgInNhbmRib3gvbGludXgvdGVzdHMvdGVzdF91dGlscy5oIgorQEAgLTIw Miw2ICsyMDMsMjYgQEAgbmFtZXNwYWNlIHsKKyAvLyBub3QgYWNjZXB0IHRoaXMgYXMgYSB2YWxp ZCBlcnJvciBudW1iZXIuIEUuZy4gYmlvbmljIGFjY2VwdHMgdXAgdG8gMjU1LCBnbGliYworIC8v IGFuZCBtdXNsIHVwIHRvIDQwOTYuCisgY29uc3QgaW50IGtGYWtlRXJybm9TZW50aW5lbCA9IDI1 NDsKKysKKyt2b2lkIENvbnZlcnRLZXJuZWxTdGF0VG9MaWJjU3RhdChkZWZhdWx0X3N0YXRfc3Ry dWN0JiBpbl9zdGF0LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBz dGF0JiBvdXRfc3RhdCkgeworKyAgb3V0X3N0YXQuc3RfZGV2ID0gaW5fc3RhdC5zdF9kZXY7Cisr ICBvdXRfc3RhdC5zdF9pbm8gPSBpbl9zdGF0LnN0X2lubzsKKysgIG91dF9zdGF0LnN0X21vZGUg PSBpbl9zdGF0LnN0X21vZGU7CisrICBvdXRfc3RhdC5zdF9ubGluayA9IGluX3N0YXQuc3Rfbmxp bms7CisrICBvdXRfc3RhdC5zdF91aWQgPSBpbl9zdGF0LnN0X3VpZDsKKysgIG91dF9zdGF0LnN0 X2dpZCA9IGluX3N0YXQuc3RfZ2lkOworKyAgb3V0X3N0YXQuc3RfcmRldiA9IGluX3N0YXQuc3Rf cmRldjsKKysgIG91dF9zdGF0LnN0X3NpemUgPSBpbl9zdGF0LnN0X3NpemU7CisrICBvdXRfc3Rh dC5zdF9ibGtzaXplID0gaW5fc3RhdC5zdF9ibGtzaXplOworKyAgb3V0X3N0YXQuc3RfYmxvY2tz ID0gaW5fc3RhdC5zdF9ibG9ja3M7CisrICBvdXRfc3RhdC5zdF9hdGltLnR2X3NlYyA9IGluX3N0 YXQuc3RfYXRpbWVfOworKyAgb3V0X3N0YXQuc3RfYXRpbS50dl9uc2VjID0gaW5fc3RhdC5zdF9h dGltZV9uc2VjXzsKKysgIG91dF9zdGF0LnN0X210aW0udHZfc2VjID0gaW5fc3RhdC5zdF9tdGlt ZV87CisrICBvdXRfc3RhdC5zdF9tdGltLnR2X25zZWMgPSBpbl9zdGF0LnN0X210aW1lX25zZWNf OworKyAgb3V0X3N0YXQuc3RfY3RpbS50dl9zZWMgPSBpbl9zdGF0LnN0X2N0aW1lXzsKKysgIG91 dF9zdGF0LnN0X2N0aW0udHZfbnNlYyA9IGluX3N0YXQuc3RfY3RpbWVfbnNlY187CisrfQorIH0g IC8vIG5hbWVzcGFjZQorIAorIC8vIFRoZXJlIGFyZSBhIHZhcmlldHkgb2Ygd2F5cyB0byBtYWtl IHN5c2NhbGxzIGluIGEgc2FuZGJveGVkIHByb2Nlc3MuIE9uZSBpcworQEAgLTIxNyw2ICsyMzgs MTAgQEAgY2xhc3MgU3lzY2FsbGVyIHsKKyAKKyAgIHZpcnR1YWwgaW50IE9wZW4oY29uc3QgY2hh ciogZmlsZXBhdGgsIGludCBmbGFncykgPSAwOworICAgdmlydHVhbCBpbnQgQWNjZXNzKGNvbnN0 IGNoYXIqIGZpbGVwYXRoLCBpbnQgbW9kZSkgPSAwOworKyAgLy8gTk9URTogd2UgdXNlIHN0cnVj dCBzdGF0IGluc3RlYWQgb2YgZGVmYXVsdF9zdGF0X3N0cnVjdCwgdG8gbWFrZSB0aGUgbGliYwor KyAgLy8gc3lzY2FsbGVyIHNpbXBsZXIuIENvcHlpbmcgZnJvbSBkZWZhdWx0X3N0YXRfc3RydWN0 ICh0aGUgc3RydWN0dXJlIHJldHVybmVkCisrICAvLyBmcm9tIGEgc3RhdCBzeWNhbGwpIHRvIHN0 cnVjdCBzdGF0ICh0aGUgc3RydWN0dXJlIGV4cG9zZWQgYnkgYSBsaWJjIHRvIGl0cworKyAgLy8g dXNlcnMpIGlzIHNpbXBsZXIgdGhhbiBnb2luZyBpbiB0aGUgb3Bwb3NpdGUgZGlyZWN0aW9uLgor ICAgdmlydHVhbCBpbnQgU3RhdChjb25zdCBjaGFyKiBmaWxlcGF0aCwKKyAgICAgICAgICAgICAg ICAgICAgYm9vbCBmb2xsb3dfbGlua3MsCisgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBzdGF0 KiBzdGF0YnVmKSA9IDA7CitAQCAtMjQzLDggKzI2OCwxMiBAQCBjbGFzcyBJUENTeXNjYWxsZXIg OiBwdWJsaWMgU3lzY2FsbGVyIHsKKyAgIGludCBTdGF0KGNvbnN0IGNoYXIqIGZpbGVwYXRoLAor ICAgICAgICAgICAgYm9vbCBmb2xsb3dfbGlua3MsCisgICAgICAgICAgICBzdHJ1Y3Qgc3RhdCog c3RhdGJ1Zikgb3ZlcnJpZGUgeworLSAgICByZXR1cm4gYnJva2VyXy0+R2V0QnJva2VyQ2xpZW50 U2lnbmFsQmFzZWQoKS0+U3RhdChmaWxlcGF0aCwgZm9sbG93X2xpbmtzLAorLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0YnVmKTsKKysg ICAgZGVmYXVsdF9zdGF0X3N0cnVjdCBidWY7CisrICAgIGludCByZXQgPSBicm9rZXJfLT5HZXRC cm9rZXJDbGllbnRTaWduYWxCYXNlZCgpLT5EZWZhdWx0U3RhdEZvclRlc3RpbmcoCisrICAgICAg ICBmaWxlcGF0aCwgZm9sbG93X2xpbmtzLCAmYnVmKTsKKysgICAgaWYgKHJldCA+PSAwKQorKyAg ICAgIENvbnZlcnRLZXJuZWxTdGF0VG9MaWJjU3RhdChidWYsICpzdGF0YnVmKTsKKysgICAgcmV0 dXJuIHJldDsKKyAgIH0KKyAKKyAgIGludCBSZW5hbWUoY29uc3QgY2hhciogb2xkcGF0aCwgY29u c3QgY2hhciogbmV3cGF0aCkgb3ZlcnJpZGUgeworQEAgLTMwMCwxMCArMzI5LDEzIEBAIGNsYXNz IERpcmVjdFN5c2NhbGxlciA6IHB1YmxpYyBTeXNjYWxsZXIgeworICAgaW50IFN0YXQoY29uc3Qg Y2hhciogZmlsZXBhdGgsCisgICAgICAgICAgICBib29sIGZvbGxvd19saW5rcywKKyAgICAgICAg ICAgIHN0cnVjdCBzdGF0KiBzdGF0YnVmKSBvdmVycmlkZSB7CistICAgIGludCByZXQgPSBmb2xs b3dfbGlua3MgPyBzeXNjYWxsKF9fTlJfc3RhdCwgZmlsZXBhdGgsIHN0YXRidWYpCistICAgICAg ICAgICAgICAgICAgICAgICAgICAgOiBzeXNjYWxsKF9fTlJfbHN0YXQsIGZpbGVwYXRoLCBzdGF0 YnVmKTsKKysgICAgc3RydWN0IGtlcm5lbF9zdGF0IGJ1ZjsKKysgICAgaW50IHJldCA9IHN5c2Nh bGwoX19OUl9uZXdmc3RhdGF0LCBBVF9GRENXRCwgZmlsZXBhdGgsICZidWYsCisrICAgICAgICAg ICAgICAgICAgICAgIGZvbGxvd19saW5rcyA/IDAgOiBBVF9TWU1MSU5LX05PRk9MTE9XKTsKKyAg ICAgaWYgKHJldCA8IDApCisgICAgICAgcmV0dXJuIC1lcnJubzsKKysKKysgICAgQ29udmVydEtl cm5lbFN0YXRUb0xpYmNTdGF0KGJ1ZiwgKnN0YXRidWYpOworICAgICByZXR1cm4gcmV0OworICAg fQorIAorZGlmZiAtLWdpdCBhL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9ERVBT IGIvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL0RFUFMKK2luZGV4IDQ0MTlmZDFk YTM0ZTguLjk1ZDFiYjZjYmJhYmYgMTAwNjQ0CistLS0gYS9zYW5kYm94L2xpbnV4L3NlY2NvbXAt YnBmLWhlbHBlcnMvREVQUworKysrIGIvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJz L0RFUFMKK0BAIC0zLDUgKzMsNCBAQCBpbmNsdWRlX3J1bGVzID0gWworICAgIitzYW5kYm94L2xp bnV4L3NlY2NvbXAtYnBmIiwKKyAgICIrc2FuZGJveC9saW51eC9zZXJ2aWNlcyIsCisgICAiK3Nh bmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMiLAorLSAgIit0aGlyZF9wYXJ0eS9sc3MvbGludXhf c3lzY2FsbF9zdXBwb3J0LmgiLAorIF0KK2RpZmYgLS1naXQgYS9zYW5kYm94L2xpbnV4L3NlY2Nv bXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9wYXJhbWV0ZXJzX3Jlc3RyaWN0aW9uc191bml0dGVzdHMu Y2MgYi9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9wYXJhbWV0ZXJz X3Jlc3RyaWN0aW9uc191bml0dGVzdHMuY2MKK2luZGV4IDkwM2U3MDJlYWIxNGIuLjc2YzM5MzAz MmMxZmUgMTAwNjQ0CistLS0gYS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lz Y2FsbF9wYXJhbWV0ZXJzX3Jlc3RyaWN0aW9uc191bml0dGVzdHMuY2MKKysrKyBiL3NhbmRib3gv bGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3BhcmFtZXRlcnNfcmVzdHJpY3Rpb25z X3VuaXR0ZXN0cy5jYworQEAgLTM3LDEwICszNyw2IEBACisgI2luY2x1ZGUgInNhbmRib3gvbGlu dXgvc3lzdGVtX2hlYWRlcnMvbGludXhfdGltZS5oIgorICNpbmNsdWRlICJzYW5kYm94L2xpbnV4 L3Rlc3RzL3VuaXRfdGVzdHMuaCIKKyAKKy0jaWYgIWRlZmluZWQoT1NfQU5EUk9JRCkKKy0jaW5j bHVkZSAidGhpcmRfcGFydHkvbHNzL2xpbnV4X3N5c2NhbGxfc3VwcG9ydC5oIiAgLy8gZm9yIE1B S0VfUFJPQ0VTU19DUFVDTE9DSworLSNlbmRpZgorLQorIG5hbWVzcGFjZSBzYW5kYm94IHsKKyAK KyBuYW1lc3BhY2UgeworZGlmZiAtLWdpdCBhL3NhbmRib3gvbGludXgvc2VydmljZXMvc3lzY2Fs bF93cmFwcGVycy5jYyBiL3NhbmRib3gvbGludXgvc2VydmljZXMvc3lzY2FsbF93cmFwcGVycy5j YworaW5kZXggZmNmZDJhYTEyOWQ0Yi4uM2JlYzE4YTE0ZTkxZSAxMDA2NDQKKy0tLSBhL3NhbmRi b3gvbGludXgvc2VydmljZXMvc3lzY2FsbF93cmFwcGVycy5jYworKysrIGIvc2FuZGJveC9saW51 eC9zZXJ2aWNlcy9zeXNjYWxsX3dyYXBwZXJzLmNjCitAQCAtNCw2ICs0LDcgQEAKKyAKKyAjaW5j bHVkZSAic2FuZGJveC9saW51eC9zZXJ2aWNlcy9zeXNjYWxsX3dyYXBwZXJzLmgiCisgCisrI2lu Y2x1ZGUgPGZjbnRsLmg+CisgI2luY2x1ZGUgPHB0aHJlYWQuaD4KKyAjaW5jbHVkZSA8c2NoZWQu aD4KKyAjaW5jbHVkZSA8c2V0am1wLmg+CitAQCAtMTQsMTEgKzE1LDEzIEBACisgI2luY2x1ZGUg PHVuaXN0ZC5oPgorICNpbmNsdWRlIDxjc3RyaW5nPgorIAorKyNpbmNsdWRlICJiYXNlL2NoZWNr LmgiCisgI2luY2x1ZGUgImJhc2UvY29tcGlsZXJfc3BlY2lmaWMuaCIKKyAjaW5jbHVkZSAiYmFz ZS9sb2dnaW5nLmgiCisgI2luY2x1ZGUgImJ1aWxkL2J1aWxkX2NvbmZpZy5oIgorICNpbmNsdWRl ICJzYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2NhcGFiaWxpdHkuaCIKKyAjaW5jbHVkZSAi c2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF9zaWduYWwuaCIKKysjaW5jbHVkZSAi c2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF9zdGF0LmgiCisgI2luY2x1ZGUgInNh bmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbGludXhfc3lzY2FsbHMuaCIKKyAKKyBuYW1lc3Bh Y2Ugc2FuZGJveCB7CitAQCAtMjE3LDcgKzIyMCw3IEBAIGFzbSgKKyAjdW5kZWYgU1RSCisgI3Vu ZGVmIFhTVFIKKyAKKy0jZW5kaWYKKysjZW5kaWYgIC8vIGRlZmluZWQoQVJDSF9DUFVfWDg2X0ZB TUlMWSkKKyAKKyBpbnQgc3lzX3NpZ2FjdGlvbihpbnQgc2lnbnVtLAorICAgICAgICAgICAgICAg ICAgIGNvbnN0IHN0cnVjdCBzaWdhY3Rpb24qIGFjdCwKK0BAIC0yNDEsNyArMjQ0LDcgQEAgaW50 IHN5c19zaWdhY3Rpb24oaW50IHNpZ251bSwKKyAjZXJyb3IgIlVuc3VwcG9ydGVkIGFyY2hpdGVj dHVyZS4iCisgI2VuZGlmCisgICAgIH0KKy0jZW5kaWYKKysjZW5kaWYgIC8vIGRlZmluZWQoQVJD SF9DUFVfWDg2X0ZBTUlMWSkKKyAgIH0KKyAKKyAgIExpbnV4U2lnQWN0aW9uIGxpbnV4X29sZGFj dCA9IHt9OworQEAgLTI1OSw2ICsyNjIsNDcgQEAgaW50IHN5c19zaWdhY3Rpb24oaW50IHNpZ251 bSwKKyAgIHJldHVybiByZXN1bHQ7CisgfQorIAorLSNlbmRpZiAgLy8gZGVmaW5lZChNRU1PUllf U0FOSVRJWkVSKQorKyNlbmRpZiAgLy8gIWRlZmluZWQoT1NfTkFDTF9OT05TRkkpCisrCisraW50 IHN5c19zdGF0KGNvbnN0IGNoYXIqIHBhdGgsIHN0cnVjdCBrZXJuZWxfc3RhdCogc3RhdF9idWYp IHsKKysgIGludCByZXM7CisrI2lmICFkZWZpbmVkKF9fTlJfc3RhdCkKKysgIHJlcyA9IHN5c2Nh bGwoX19OUl9uZXdmc3RhdGF0LCBBVF9GRENXRCwgcGF0aCwgc3RhdF9idWYsIDApOworKyNlbHNl CisrICByZXMgPSBzeXNjYWxsKF9fTlJfc3RhdCwgcGF0aCwgc3RhdF9idWYpOworKyNlbmRpZgor KyAgaWYgKHJlcyA9PSAwKQorKyAgICBNU0FOX1VOUE9JU09OKHN0YXRfYnVmLCBzaXplb2YoKnN0 YXRfYnVmKSk7CisrICByZXR1cm4gcmVzOworK30KKysKKytpbnQgc3lzX2xzdGF0KGNvbnN0IGNo YXIqIHBhdGgsIHN0cnVjdCBrZXJuZWxfc3RhdCogc3RhdF9idWYpIHsKKysgIGludCByZXM7Cisr I2lmICFkZWZpbmVkKF9fTlJfbHN0YXQpCisrICByZXMgPSBzeXNjYWxsKF9fTlJfbmV3ZnN0YXRh dCwgQVRfRkRDV0QsIHBhdGgsIHN0YXRfYnVmLCBBVF9TWU1MSU5LX05PRk9MTE9XKTsKKysjZWxz ZQorKyAgcmVzID0gc3lzY2FsbChfX05SX2xzdGF0LCBwYXRoLCBzdGF0X2J1Zik7CisrI2VuZGlm CisrICBpZiAocmVzID09IDApCisrICAgIE1TQU5fVU5QT0lTT04oc3RhdF9idWYsIHNpemVvZigq c3RhdF9idWYpKTsKKysgIHJldHVybiByZXM7CisrfQorKworK2ludCBzeXNfZnN0YXRhdDY0KGlu dCBkaXJmZCwKKysgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiBwYXRobmFtZSwKKysgICAg ICAgICAgICAgICAgICBzdHJ1Y3Qga2VybmVsX3N0YXQ2NCogc3RhdF9idWYsCisrICAgICAgICAg ICAgICAgICAgaW50IGZsYWdzKSB7CisrI2lmIGRlZmluZWQoX19OUl9mc3RhdGF0NjQpCisrICBp bnQgcmVzID0gc3lzY2FsbChfX05SX2ZzdGF0YXQ2NCwgZGlyZmQsIHBhdGhuYW1lLCBzdGF0X2J1 ZiwgZmxhZ3MpOworKyAgaWYgKHJlcyA9PSAwKQorKyAgICBNU0FOX1VOUE9JU09OKHN0YXRfYnVm LCBzaXplb2YoKnN0YXRfYnVmKSk7CisrICByZXR1cm4gcmVzOworKyNlbHNlICAvLyBkZWZpbmVk KF9fTlJfZnN0YXRhdDY0KQorKyAgLy8gV2Ugc2hvdWxkIG5vdCByZWFjaCBoZXJlIG9uIDY0LWJp dCBzeXN0ZW1zLCBhcyB0aGUgKnN0YXQqNjQoKSBhcmUgb25seQorKyAgLy8gbmVjZXNzYXJ5IG9u IDMyLWJpdC4KKysgIFJBV19DSEVDSyhmYWxzZSk7CisrICByZXR1cm4gLUVOT1NZUzsKKysjZW5k aWYKKyt9CisgCisgfSAgLy8gbmFtZXNwYWNlIHNhbmRib3gKK2RpZmYgLS1naXQgYS9zYW5kYm94 L2xpbnV4L3NlcnZpY2VzL3N5c2NhbGxfd3JhcHBlcnMuaCBiL3NhbmRib3gvbGludXgvc2Vydmlj ZXMvc3lzY2FsbF93cmFwcGVycy5oCitpbmRleCAxOTc1YmZiZDg4YTZkLi5iNTUzNDBlNGEyNmI3 IDEwMDY0NAorLS0tIGEvc2FuZGJveC9saW51eC9zZXJ2aWNlcy9zeXNjYWxsX3dyYXBwZXJzLmgK KysrKyBiL3NhbmRib3gvbGludXgvc2VydmljZXMvc3lzY2FsbF93cmFwcGVycy5oCitAQCAtMTcs NiArMTcsOCBAQCBzdHJ1Y3Qgc29ja19mcHJvZzsKKyBzdHJ1Y3QgcmxpbWl0NjQ7Cisgc3RydWN0 IGNhcF9oZHI7Cisgc3RydWN0IGNhcF9kYXRhOworK3N0cnVjdCBrZXJuZWxfc3RhdDsKKytzdHJ1 Y3Qga2VybmVsX3N0YXQ2NDsKKyAKKyBuYW1lc3BhY2Ugc2FuZGJveCB7CisgCitAQCAtODQsNiAr ODYsMTkgQEAgU0FOREJPWF9FWFBPUlQgaW50IHN5c19zaWdhY3Rpb24oaW50IHNpZ251bSwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3Qgc2lnYWN0aW9uKiBh Y3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHNpZ2FjdGlvbiog b2xkYWN0KTsKKyAKKysvLyBTb21lIGFyY2hpdGVjdHVyZXMgZG8gbm90IGhhdmUgc3RhdCgpIGFu ZCBsc3RhdCgpIHN5c2NhbGxzLiBJbiB0aGF0IGNhc2UsCisrLy8gdGhlc2Ugd3JhcHBlcnMgd2ls bCB1c2UgbmV3ZnN0YXRhdCgpLCB3aGljaCBpcyBhdmFpbGFibGUgb24gYWxsIG90aGVyCisrLy8g YXJjaGl0ZWN0dXJlcywgd2l0aCB0aGUgc2FtZSBjYXBhYmlsaXRpZXMgYXMgc3RhdCgpIGFuZCBs c3RhdCgpLgorK1NBTkRCT1hfRVhQT1JUIGludCBzeXNfc3RhdChjb25zdCBjaGFyKiBwYXRoLCBz dHJ1Y3Qga2VybmVsX3N0YXQqIHN0YXRfYnVmKTsKKytTQU5EQk9YX0VYUE9SVCBpbnQgc3lzX2xz dGF0KGNvbnN0IGNoYXIqIHBhdGgsIHN0cnVjdCBrZXJuZWxfc3RhdCogc3RhdF9idWYpOworKwor Ky8vIFRha2VzIGNhcmUgb2YgdW5wb2lzb25pbmcgfHN0YXRfYnVmfCBmb3IgTVNBTi4gQ2hlY2st ZmFpbHMgaWYgZnN0YXRhdDY0KCkgaXMKKysvLyBub3QgYSBzdXBwb3J0ZWQgc3lzY2FsbCBvbiB0 aGUgY3VycmVudCBwbGF0Zm9ybS4KKytTQU5EQk9YX0VYUE9SVCBpbnQgc3lzX2ZzdGF0YXQ2NChp bnQgZGlyZmQsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciog cGF0aG5hbWUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGtlcm5l bF9zdGF0NjQqIHN0YXRfYnVmLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu dCBmbGFncyk7CisrCisgfSAgLy8gbmFtZXNwYWNlIHNhbmRib3gKKyAKKyAjZW5kaWYgIC8vIFNB TkRCT1hfTElOVVhfU0VSVklDRVNfU1lTQ0FMTF9XUkFQUEVSU19IXworZGlmZiAtLWdpdCBhL3Nh bmRib3gvbGludXgvc2VydmljZXMvc3lzY2FsbF93cmFwcGVyc191bml0dGVzdC5jYyBiL3NhbmRi b3gvbGludXgvc2VydmljZXMvc3lzY2FsbF93cmFwcGVyc191bml0dGVzdC5jYworaW5kZXggMzI4 MjBmNjBhOGNlZS4uNjRiOWNlYTgwZjMxOSAxMDA2NDQKKy0tLSBhL3NhbmRib3gvbGludXgvc2Vy dmljZXMvc3lzY2FsbF93cmFwcGVyc191bml0dGVzdC5jYworKysrIGIvc2FuZGJveC9saW51eC9z ZXJ2aWNlcy9zeXNjYWxsX3dyYXBwZXJzX3VuaXR0ZXN0LmNjCitAQCAtNSwxNSArNSwxOSBAQAor ICNpbmNsdWRlICJzYW5kYm94L2xpbnV4L3NlcnZpY2VzL3N5c2NhbGxfd3JhcHBlcnMuaCIKKyAK KyAjaW5jbHVkZSA8c3RkaW50Lmg+CisrI2luY2x1ZGUgPHN0cmluZy5oPgorICNpbmNsdWRlIDxz eXMvc3lzY2FsbC5oPgorICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyAjaW5jbHVkZSA8c3lzL3dh aXQuaD4KKyAjaW5jbHVkZSA8dW5pc3RkLmg+CistI2luY2x1ZGUgPGNzdHJpbmc+CisgCisrI2lu Y2x1ZGUgImJhc2UvbG9nZ2luZy5oIgorKyNpbmNsdWRlICJiYXNlL21lbW9yeS9wYWdlX3NpemUu aCIKKyAjaW5jbHVkZSAiYmFzZS9wb3NpeC9laW50cl93cmFwcGVyLmgiCisgI2luY2x1ZGUgImJ1 aWxkL2J1aWxkX2NvbmZpZy5oIgorICNpbmNsdWRlICJzYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFk ZXJzL2xpbnV4X3NpZ25hbC5oIgorKyNpbmNsdWRlICJzYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFk ZXJzL2xpbnV4X3N0YXQuaCIKKysjaW5jbHVkZSAic2FuZGJveC9saW51eC90ZXN0cy9zY29wZWRf dGVtcG9yYXJ5X2ZpbGUuaCIKKyAjaW5jbHVkZSAic2FuZGJveC9saW51eC90ZXN0cy90ZXN0X3V0 aWxzLmgiCisgI2luY2x1ZGUgInNhbmRib3gvbGludXgvdGVzdHMvdW5pdF90ZXN0cy5oIgorICNp bmNsdWRlICJ0ZXN0aW5nL2d0ZXN0L2luY2x1ZGUvZ3Rlc3QvZ3Rlc3QuaCIKK0BAIC05Myw2ICs5 NywxMjkgQEAgVEVTVChTeXNjYWxsV3JhcHBlcnMsIExpbnV4U2lnU2V0KSB7CisgICAgICAgICAg ICAgbGludXhfc2lnc2V0KTsKKyB9CisgCisrVEVTVChTeXNjYWxsV3JhcHBlcnMsIFN0YXQpIHsK KysgIC8vIENyZWF0ZSBhIGZpbGUgdG8gc3RhdCwgd2l0aCAxMiBieXRlcyBvZiBkYXRhLgorKyAg U2NvcGVkVGVtcG9yYXJ5RmlsZSB0bXBfZmlsZTsKKysgIEVYUEVDVF9FUSgxMiwgd3JpdGUodG1w X2ZpbGUuZmQoKSwgImJsYWhibGFoYmxhaCIsIDEyKSk7CisrCisrICAvLyBUbyB0ZXN0IHdlIGhh dmUgdGhlIGNvcnJlY3Qgc3RhdCBzdHJ1Y3R1cmVzIGZvciBlYWNoIGtlcm5lbC9wbGF0Zm9ybSwg d2UKKysgIC8vIHdpbGwgcmlnaHQtYWxpZ24gdGhlbSBvbiBhIHBhZ2UsIHdpdGggYSBndWFyZCBw YWdlIGFmdGVyLgorKyAgY2hhciogdHdvX3BhZ2VzID0gc3RhdGljX2Nhc3Q8Y2hhcio+KFRlc3RV dGlsczo6TWFwUGFnZXNPckRpZSgyKSk7CisrICBUZXN0VXRpbHM6Ok1wcm90ZWN0TGFzdFBhZ2VP ckRpZSh0d29fcGFnZXMsIDIpOworKyAgY2hhciogcGFnZTFfZW5kID0gdHdvX3BhZ2VzICsgYmFz ZTo6R2V0UGFnZVNpemUoKTsKKysKKysgIC8vIEZpcnN0LCBjaGVjayB0aGF0IGNhbGxpbmcgc3Rh dCB3aXRoIHxzdGF0X2J1ZnwgcG9pbnRpbmcgdG8gdGhlIGxhc3QgYnl0ZSBvbgorKyAgLy8gYSBw YWdlIGNhdXNlcyBFRkFVTFQuCisrICBpbnQgcmVzID0gc3lzX3N0YXQodG1wX2ZpbGUuZnVsbF9m aWxlX25hbWUoKSwKKysgICAgICAgICAgICAgICAgICAgICByZWludGVycHJldF9jYXN0PHN0cnVj dCBrZXJuZWxfc3RhdCo+KHBhZ2UxX2VuZCAtIDEpKTsKKysgIEFTU0VSVF9FUShyZXMsIC0xKTsK KysgIEFTU0VSVF9FUShlcnJubywgRUZBVUxUKTsKKysKKysgIC8vIE5vdywgY2hlY2sgdGhhdCB3 ZSBoYXZlIHRoZSBjb3JyZWN0bHkgc2l6ZWQgc3RhdCBzdHJ1Y3R1cmUuCisrICBzdHJ1Y3Qga2Vy bmVsX3N0YXQqIHNiID0gcmVpbnRlcnByZXRfY2FzdDxzdHJ1Y3Qga2VybmVsX3N0YXQqPigKKysg ICAgICBwYWdlMV9lbmQgLSBzaXplb2Yoc3RydWN0IGtlcm5lbF9zdGF0KSk7CisrICAvLyBNZW1z ZXQgdG8gYydzIHNvIHdlIGNhbiBjaGVjayB0aGUga2VybmVsIHplcm8nZCB0aGUgcGFkZGluZy4u LgorKyAgbWVtc2V0KHNiLCAnYycsIHNpemVvZihzdHJ1Y3Qga2VybmVsX3N0YXQpKTsKKysgIHJl cyA9IHN5c19zdGF0KHRtcF9maWxlLmZ1bGxfZmlsZV9uYW1lKCksIHNiKTsKKysgIEFTU0VSVF9F UShyZXMsIDApOworKworKyAgLy8gRm9sbG93aW5nIGZpZWxkcyBtYXkgbmV2ZXIgYmUgY29uc2lz dGVudCBidXQgc2hvdWxkIGJlIG5vbi16ZXJvLgorKyAgLy8gRG9uJ3QgdHJ1c3QgdGhlIHBsYXRm b3JtIHRvIGRlZmluZSBmaWVsZHMgd2l0aCBhbnkgcGFydGljdWxhciBzaWduLgorKyAgRVhQRUNU X05FKDB1LCBzdGF0aWNfY2FzdDx1bnNpZ25lZCBpbnQ+KHNiLT5zdF9kZXYpKTsKKysgIEVYUEVD VF9ORSgwdSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQgaW50PihzYi0+c3RfaW5vKSk7CisrICBFWFBF Q1RfTkUoMHUsIHN0YXRpY19jYXN0PHVuc2lnbmVkIGludD4oc2ItPnN0X21vZGUpKTsKKysgIEVY UEVDVF9ORSgwdSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQgaW50PihzYi0+c3RfYmxrc2l6ZSkpOwor KyAgRVhQRUNUX05FKDB1LCBzdGF0aWNfY2FzdDx1bnNpZ25lZCBpbnQ+KHNiLT5zdF9ibG9ja3Mp KTsKKysKKysvLyBXZSBhcmUgdGhlIG9uZXMgdGhhdCBtYWRlIHRoZSBmaWxlLgorKy8vIE5vdGU6 IG5vcm1hbGx5IGdpZCBhbmQgdWlkIG92ZXJmbG93IG9uIGJhY2t3YXJkcy1jb21wYXRpYmxlIDMy LWJpdCBzeXN0ZW1zCisrLy8gYW5kIHdlIGVuZCB1cCB3aXRoIGR1bW15IHVpZHMgYW5kIGdpZHMg aW4gcGxhY2UgaGVyZS4KKysjaWYgZGVmaW5lZChBUkNIX0NQVV82NF9CSVRTKQorKyAgRVhQRUNU X0VRKGdldGV1aWQoKSwgc2ItPnN0X3VpZCk7CisrICBFWFBFQ1RfRVEoZ2V0ZWdpZCgpLCBzYi0+ c3RfZ2lkKTsKKysjZW5kaWYKKysKKysgIC8vIFdyb3RlIDEyIGJ5dGVzIGFib3ZlIHdoaWNoIHNo b3VsZCBmaXQgaW4gb25lIGJsb2NrLgorKyAgRVhQRUNUX0VRKDEydSwgc2ItPnN0X3NpemUpOwor KworKyAgLy8gQ2FuJ3QgZ28gYmFja3dhcmRzIGluIHRpbWUsIDE1MDAwMDAwMDAgd2FzIHNvbWUg dGltZSBhZ28uCisrICBFWFBFQ1RfTFQoMTUwMDAwMDAwMHUsIHN0YXRpY19jYXN0PHVuc2lnbmVk IGludD4oc2ItPnN0X2F0aW1lXykpOworKyAgRVhQRUNUX0xUKDE1MDAwMDAwMDB1LCBzdGF0aWNf Y2FzdDx1bnNpZ25lZCBpbnQ+KHNiLT5zdF9tdGltZV8pKTsKKysgIEVYUEVDVF9MVCgxNTAwMDAw MDAwdSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQgaW50PihzYi0+c3RfY3RpbWVfKSk7CisrCisrICAv LyBDaGVja2luZyB0aGUgcGFkZGluZyBmb3IgZ29vZCBtZWFzdXJlLgorKyNpZiBkZWZpbmVkKF9f eDg2XzY0X18pCisrICBFWFBFQ1RfRVEoMHUsIHNiLT5fX3BhZDApOworKyAgRVhQRUNUX0VRKDB1 LCBzYi0+X191bnVzZWQ0WzBdKTsKKysgIEVYUEVDVF9FUSgwdSwgc2ItPl9fdW51c2VkNFsxXSk7 CisrICBFWFBFQ1RfRVEoMHUsIHNiLT5fX3VudXNlZDRbMl0pOworKyNlbGlmIGRlZmluZWQoX19h YXJjaDY0X18pCisrICBFWFBFQ1RfRVEoMHUsIHNiLT5fX3BhZDEpOworKyAgRVhQRUNUX0VRKDAs IHNiLT5fX3BhZDIpOworKyAgRVhQRUNUX0VRKDB1LCBzYi0+X191bnVzZWQ0KTsKKysgIEVYUEVD VF9FUSgwdSwgc2ItPl9fdW51c2VkNSk7CisrI2VuZGlmCisrfQorKworK1RFU1QoU3lzY2FsbFdy YXBwZXJzLCBMU3RhdCkgeworKyAgLy8gQ3JlYXRlIGEgZmlsZSB0byBzdGF0LCB3aXRoIDEyIGJ5 dGVzIG9mIGRhdGEuCisrICBTY29wZWRUZW1wb3JhcnlGaWxlIHRtcF9maWxlOworKyAgRVhQRUNU X0VRKDEyLCB3cml0ZSh0bXBfZmlsZS5mZCgpLCAiYmxhaGJsYWhibGFoIiwgMTIpKTsKKysKKysg IC8vIEFsc28gY3JlYXRlIGEgc3ltbGluay4KKysgIHN0ZDo6c3RyaW5nIHN5bWxpbmtfbmFtZTsK KysgIHsKKysgICAgU2NvcGVkVGVtcG9yYXJ5RmlsZSB0bXBfZmlsZTI7CisrICAgIHN5bWxpbmtf bmFtZSA9IHRtcF9maWxlMi5mdWxsX2ZpbGVfbmFtZSgpOworKyAgfQorKyAgaW50IHJjID0gc3lt bGluayh0bXBfZmlsZS5mdWxsX2ZpbGVfbmFtZSgpLCBzeW1saW5rX25hbWUuY19zdHIoKSk7Cisr ICBpZiAocmMgIT0gMCkgeworKyAgICBQTE9HKEVSUk9SKSA8PCAiQ291bGRuJ3Qgc3ltbGluayAi IDw8IHN5bWxpbmtfbmFtZSA8PCAiIHRvIHRhcmdldCAiCisrICAgICAgICAgICAgICAgIDw8IHRt cF9maWxlLmZ1bGxfZmlsZV9uYW1lKCk7CisrICAgIEdURVNUX0ZBSUwoKTsKKysgIH0KKysKKysg IHN0cnVjdCBrZXJuZWxfc3RhdCBsc3RhdF9pbmZvOworKyAgcmMgPSBzeXNfbHN0YXQoc3ltbGlu a19uYW1lLmNfc3RyKCksICZsc3RhdF9pbmZvKTsKKysgIGlmIChyYyA8IDAgJiYgZXJybm8gPT0g RU9WRVJGTE9XKSB7CisrICAgIEdURVNUX1NLSVAoKTsKKysgIH0KKysgIGlmIChyYyAhPSAwKSB7 CisrICAgIFBMT0coRVJST1IpIDw8ICJDb3VsZG4ndCBzeXNfbHN0YXQgIiA8PCBzeW1saW5rX25h bWU7CisrICAgIEdURVNUX0ZBSUwoKTsKKysgIH0KKysKKysgIHN0cnVjdCBrZXJuZWxfc3RhdCBz dGF0X2luZm87CisrICByYyA9IHN5c19zdGF0KHN5bWxpbmtfbmFtZS5jX3N0cigpLCAmc3RhdF9p bmZvKTsKKysgIGlmIChyYyA8IDAgJiYgZXJybm8gPT0gRU9WRVJGTE9XKSB7CisrICAgIEdURVNU X1NLSVAoKTsKKysgIH0KKysgIGlmIChyYyAhPSAwKSB7CisrICAgIFBMT0coRVJST1IpIDw8ICJD b3VsZG4ndCBzeXNfc3RhdCAiIDw8IHN5bWxpbmtfbmFtZTsKKysgICAgR1RFU1RfRkFJTCgpOwor KyAgfQorKworKyAgc3RydWN0IGtlcm5lbF9zdGF0IHRtcF9maWxlX3N0YXRfaW5mbzsKKysgIHJj ID0gc3lzX3N0YXQodG1wX2ZpbGUuZnVsbF9maWxlX25hbWUoKSwgJnRtcF9maWxlX3N0YXRfaW5m byk7CisrICBpZiAocmMgPCAwICYmIGVycm5vID09IEVPVkVSRkxPVykgeworKyAgICBHVEVTVF9T S0lQKCk7CisrICB9CisrICBpZiAocmMgIT0gMCkgeworKyAgICBQTE9HKEVSUk9SKSA8PCAiQ291 bGRuJ3Qgc3lzX3N0YXQgIiA8PCB0bXBfZmlsZS5mdWxsX2ZpbGVfbmFtZSgpOworKyAgICBHVEVT VF9GQUlMKCk7CisrICB9CisrCisrICAvLyBsc3RhdCBzaG91bGQgcHJvZHVjZSBpbmZvcm1hdGlv biBhYm91dCBhIHN5bWxpbmsuCisrICBBU1NFUlRfVFJVRShTX0lTTE5LKGxzdGF0X2luZm8uc3Rf bW9kZSkpOworKworKyAgLy8gc3RhdC1pbmcgc3ltbGlua19uYW1lIGFuZCB0bXBfZmlsZSBzaG91 bGQgcHJvZHVjZSB0aGUgc2FtZSBpbm9kZS4KKysgIEFTU0VSVF9FUShzdGF0X2luZm8uc3RfaW5v LCB0bXBfZmlsZV9zdGF0X2luZm8uc3RfaW5vKTsKKysKKysgIC8vIGxzdGF0LWluZyBzeW1saW5r X25hbWUgc2hvdWxkIGdpdmUgYSBkaWZmZXJlbnQgaW5vZGUgdGhhbiBzdGF0LWluZworKyAgLy8g c3ltbGlua19uYW1lLgorKyAgQVNTRVJUX05FKHN0YXRfaW5mby5zdF9pbm8sIGxzdGF0X2luZm8u c3RfaW5vKTsKKyt9CisrCisgfSAgLy8gbmFtZXNwYWNlCisgCisgfSAgLy8gbmFtZXNwYWNlIHNh bmRib3gKK2RpZmYgLS1naXQgYS9zYW5kYm94L2xpbnV4L3N5c2NhbGxfYnJva2VyL0RFUFMgYi9z YW5kYm94L2xpbnV4L3N5c2NhbGxfYnJva2VyL0RFUFMKK2luZGV4IGM0NzdmN2QzNjM5NGIuLjE0 OWM0NjNiMDY4MzkgMTAwNjQ0CistLS0gYS9zYW5kYm94L2xpbnV4L3N5c2NhbGxfYnJva2VyL0RF UFMKKysrKyBiL3NhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvREVQUworQEAgLTEsNCArMSw1 IEBACisgaW5jbHVkZV9ydWxlcyA9IFsKKy0gICIrc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVy cyIsCisgICAiK3NhbmRib3gvbGludXgvYnBmX2RzbCIsCisrICAiK3NhbmRib3gvbGludXgvc2Vy dmljZXMiLAorKyAgIitzYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzIiwKKyBdCitkaWZmIC0t Z2l0IGEvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9icm9rZXJfY2xpZW50LmNjIGIvc2Fu ZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9icm9rZXJfY2xpZW50LmNjCitpbmRleCA2YjFiNWJl NDMzODk5Li5lMjRmNjU5ZmNmODcyIDEwMDY0NAorLS0tIGEvc2FuZGJveC9saW51eC9zeXNjYWxs X2Jyb2tlci9icm9rZXJfY2xpZW50LmNjCisrKysgYi9zYW5kYm94L2xpbnV4L3N5c2NhbGxfYnJv a2VyL2Jyb2tlcl9jbGllbnQuY2MKK0BAIC0xNjYsNyArMTY2LDcgQEAgaW50IEJyb2tlckNsaWVu dDo6Um1kaXIoY29uc3QgY2hhciogcGF0aCkgY29uc3QgeworIAorIGludCBCcm9rZXJDbGllbnQ6 OlN0YXQoY29uc3QgY2hhciogcGF0aG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICBib29s IGZvbGxvd19saW5rcywKKy0gICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBzdGF0KiBzYikg Y29uc3QgeworKyAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGtlcm5lbF9zdGF0KiBzYikg Y29uc3QgeworICAgaWYgKCFwYXRobmFtZSB8fCAhc2IpCisgICAgIHJldHVybiAtRUZBVUxUOwor IAorQEAgLTE4MSw3ICsxODEsNyBAQCBpbnQgQnJva2VyQ2xpZW50OjpTdGF0KGNvbnN0IGNoYXIq IHBhdGhuYW1lLAorIAorIGludCBCcm9rZXJDbGllbnQ6OlN0YXQ2NChjb25zdCBjaGFyKiBwYXRo bmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBmb2xsb3dfbGlua3MsCistICAg ICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBzdGF0NjQqIHNiKSBjb25zdCB7CisrICAgICAg ICAgICAgICAgICAgICAgICAgIHN0cnVjdCBrZXJuZWxfc3RhdDY0KiBzYikgY29uc3QgeworICAg aWYgKCFwYXRobmFtZSB8fCAhc2IpCisgICAgIHJldHVybiAtRUZBVUxUOworIAorZGlmZiAtLWdp dCBhL3NhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvYnJva2VyX2NsaWVudC5oIGIvc2FuZGJv eC9saW51eC9zeXNjYWxsX2Jyb2tlci9icm9rZXJfY2xpZW50LmgKK2luZGV4IDA1ZTE0YzgzZjIw MTAuLjI2Y2E3ODEwMWM3MWMgMTAwNjQ0CistLS0gYS9zYW5kYm94L2xpbnV4L3N5c2NhbGxfYnJv a2VyL2Jyb2tlcl9jbGllbnQuaAorKysrIGIvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9i cm9rZXJfY2xpZW50LmgKK0BAIC02MSwxMCArNjEsMTAgQEAgY2xhc3MgU0FOREJPWF9FWFBPUlQg QnJva2VyQ2xpZW50IDogcHVibGljIFN5c2NhbGxEaXNwYXRjaGVyIHsKKyAgIGludCBSbWRpcihj b25zdCBjaGFyKiBwYXRoKSBjb25zdCBvdmVycmlkZTsKKyAgIGludCBTdGF0KGNvbnN0IGNoYXIq IHBhdGhuYW1lLAorICAgICAgICAgICAgYm9vbCBmb2xsb3dfbGlua3MsCistICAgICAgICAgICBz dHJ1Y3Qgc3RhdCogc2IpIGNvbnN0IG92ZXJyaWRlOworKyAgICAgICAgICAgc3RydWN0IGtlcm5l bF9zdGF0KiBzYikgY29uc3Qgb3ZlcnJpZGU7CisgICBpbnQgU3RhdDY0KGNvbnN0IGNoYXIqIHBh dGhuYW1lLAorICAgICAgICAgICAgICBib29sIGZvbGxvd19saW5rcywKKy0gICAgICAgICAgICAg c3RydWN0IHN0YXQ2NCogc2IpIGNvbnN0IG92ZXJyaWRlOworKyAgICAgICAgICAgICBzdHJ1Y3Qg a2VybmVsX3N0YXQ2NCogc2IpIGNvbnN0IG92ZXJyaWRlOworICAgaW50IFVubGluayhjb25zdCBj aGFyKiB1bmxpbmspIGNvbnN0IG92ZXJyaWRlOworIAorICBwcml2YXRlOgorZGlmZiAtLWdpdCBh L3NhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvYnJva2VyX2hvc3QuY2MgYi9zYW5kYm94L2xp bnV4L3N5c2NhbGxfYnJva2VyL2Jyb2tlcl9ob3N0LmNjCitpbmRleCAxY2QwM2ExOGRmODA5Li4x Y2RjMDFhODg4ZjQxIDEwMDY0NAorLS0tIGEvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9i cm9rZXJfaG9zdC5jYworKysrIGIvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9icm9rZXJf aG9zdC5jYworQEAgLTIwLDkgKzIwLDExIEBACisgI2luY2x1ZGUgImJhc2UvZmlsZXMvc2NvcGVk X2ZpbGUuaCIKKyAjaW5jbHVkZSAiYmFzZS9sb2dnaW5nLmgiCisgI2luY2x1ZGUgImJhc2UvcG9z aXgvZWludHJfd3JhcHBlci5oIgorKyNpbmNsdWRlICJzYW5kYm94L2xpbnV4L3NlcnZpY2VzL3N5 c2NhbGxfd3JhcHBlcnMuaCIKKyAjaW5jbHVkZSAic2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tl ci9icm9rZXJfY29tbWFuZC5oIgorICNpbmNsdWRlICJzYW5kYm94L2xpbnV4L3N5c2NhbGxfYnJv a2VyL2Jyb2tlcl9wZXJtaXNzaW9uX2xpc3QuaCIKKyAjaW5jbHVkZSAic2FuZGJveC9saW51eC9z eXNjYWxsX2Jyb2tlci9icm9rZXJfc2ltcGxlX21lc3NhZ2UuaCIKKysjaW5jbHVkZSAic2FuZGJv eC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF9zdGF0LmgiCisgI2luY2x1ZGUgInNhbmRib3gv bGludXgvc3lzdGVtX2hlYWRlcnMvbGludXhfc3lzY2FsbHMuaCIKKyAKKyBuYW1lc3BhY2Ugc2Fu ZGJveCB7CitAQCAtMTkzLDEwICsxOTUsMTIgQEAgdm9pZCBTdGF0RmlsZUZvcklQQyhjb25zdCBC cm9rZXJDb21tYW5kU2V0JiBhbGxvd2VkX2NvbW1hbmRfc2V0LAorICAgICBSQVdfQ0hFQ0socmVw bHktPkFkZEludFRvTWVzc2FnZSgtcGVybWlzc2lvbl9saXN0LmRlbmllZF9lcnJubygpKSk7Cisg ICAgIHJldHVybjsKKyAgIH0KKysKKyAgIGlmIChjb21tYW5kX3R5cGUgPT0gQ09NTUFORF9TVEFU KSB7CistICAgIHN0cnVjdCBzdGF0IHNiOworLSAgICBpbnQgc3RzID0KKy0gICAgICAgIGZvbGxv d19saW5rcyA/IHN0YXQoZmlsZV90b19hY2Nlc3MsICZzYikgOiBsc3RhdChmaWxlX3RvX2FjY2Vz cywgJnNiKTsKKysgICAgc3RydWN0IGtlcm5lbF9zdGF0IHNiOworKworKyAgICBpbnQgc3RzID0g Zm9sbG93X2xpbmtzID8gc2FuZGJveDo6c3lzX3N0YXQoZmlsZV90b19hY2Nlc3MsICZzYikKKysg ICAgICAgICAgICAgICAgICAgICAgICAgICA6IHNhbmRib3g6OnN5c19sc3RhdChmaWxlX3RvX2Fj Y2VzcywgJnNiKTsKKyAgICAgaWYgKHN0cyA8IDApIHsKKyAgICAgICBSQVdfQ0hFQ0socmVwbHkt PkFkZEludFRvTWVzc2FnZSgtZXJybm8pKTsKKyAgICAgICByZXR1cm47CitAQCAtMjA1LDEwICsy MDksMTIgQEAgdm9pZCBTdGF0RmlsZUZvcklQQyhjb25zdCBCcm9rZXJDb21tYW5kU2V0JiBhbGxv d2VkX2NvbW1hbmRfc2V0LAorICAgICBSQVdfQ0hFQ0soCisgICAgICAgICByZXBseS0+QWRkRGF0 YVRvTWVzc2FnZShyZWludGVycHJldF9jYXN0PGNoYXIqPigmc2IpLCBzaXplb2Yoc2IpKSk7Cisg ICB9IGVsc2UgeworKyNpZiBkZWZpbmVkKF9fTlJfZnN0YXRhdDY0KQorICAgICBEQ0hFQ0soY29t bWFuZF90eXBlID09IENPTU1BTkRfU1RBVDY0KTsKKy0gICAgc3RydWN0IHN0YXQ2NCBzYjsKKy0g ICAgaW50IHN0cyA9IGZvbGxvd19saW5rcyA/IHN0YXQ2NChmaWxlX3RvX2FjY2VzcywgJnNiKQor LSAgICAgICAgICAgICAgICAgICAgICAgICAgIDogbHN0YXQ2NChmaWxlX3RvX2FjY2VzcywgJnNi KTsKKysgICAgc3RydWN0IGtlcm5lbF9zdGF0NjQgc2I7CisrCisrICAgIGludCBzdHMgPSBzYW5k Ym94OjpzeXNfZnN0YXRhdDY0KEFUX0ZEQ1dELCBmaWxlX3RvX2FjY2VzcywgJnNiLAorKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dfbGlua3MgPyAwIDogQVRfU1lN TElOS19OT0ZPTExPVyk7CisgICAgIGlmIChzdHMgPCAwKSB7CisgICAgICAgUkFXX0NIRUNLKHJl cGx5LT5BZGRJbnRUb01lc3NhZ2UoLWVycm5vKSk7CisgICAgICAgcmV0dXJuOworQEAgLTIxNiw2 ICsyMjIsMTEgQEAgdm9pZCBTdGF0RmlsZUZvcklQQyhjb25zdCBCcm9rZXJDb21tYW5kU2V0JiBh bGxvd2VkX2NvbW1hbmRfc2V0LAorICAgICBSQVdfQ0hFQ0socmVwbHktPkFkZEludFRvTWVzc2Fn ZSgwKSk7CisgICAgIFJBV19DSEVDSygKKyAgICAgICAgIHJlcGx5LT5BZGREYXRhVG9NZXNzYWdl KHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KCZzYiksIHNpemVvZihzYikpKTsKKysjZWxzZSAgLy8g ZGVmaW5lZChfX05SX2ZzdGF0YXQ2NCkKKysgICAgLy8gV2Ugc2hvdWxkIG5vdCByZWFjaCBoZXJl IG9uIDY0LWJpdCBzeXN0ZW1zLCBhcyB0aGUgKnN0YXQqNjQoKSBhcmUgb25seQorKyAgICAvLyBu ZWNlc3Nhcnkgb24gMzItYml0LgorKyAgICBSQVdfQ0hFQ0soZmFsc2UpOworKyNlbmRpZgorICAg fQorIH0KKyAKK2RpZmYgLS1naXQgYS9zYW5kYm94L2xpbnV4L3N5c2NhbGxfYnJva2VyL2Jyb2tl cl9wcm9jZXNzX3VuaXR0ZXN0LmNjIGIvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9icm9r ZXJfcHJvY2Vzc191bml0dGVzdC5jYworaW5kZXggNTViYTZiY2NiMjllYy4uYzY1ZjI1YTc4YTk5 OSAxMDA2NDQKKy0tLSBhL3NhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvYnJva2VyX3Byb2Nl c3NfdW5pdHRlc3QuY2MKKysrKyBiL3NhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvYnJva2Vy X3Byb2Nlc3NfdW5pdHRlc3QuY2MKK0BAIC04MTEsNyArODExLDcgQEAgdm9pZCBUZXN0U3RhdEhl bHBlcihib29sIGZhc3RfY2hlY2tfaW5fY2xpZW50LCBib29sIGZvbGxvd19saW5rcykgeworICAg Y29uc3QgY2hhciogYmFkX2xlYWRpbmdfcGF0aDUgPSAiL21ib2dvL2ZpY3RpdGlvdXgiOworICAg Y29uc3QgY2hhciogYmFkX2xlYWRpbmdfcGF0aDYgPSAiL21ib2dvL2ZpY3RpdGlvdXNhIjsKKyAK Ky0gIHN0cnVjdCBzdGF0IHNiOworKyAgZGVmYXVsdF9zdGF0X3N0cnVjdCBzYjsKKyAKKyAgIHsK KyAgICAgLy8gQWN0dWFsIGZpbGUgd2l0aCBwZXJtaXNzaW9ucyB0byBzZWUgZmlsZSBidXQgY29t bWFuZCBub3QgYWxsb3dlZC4KK0BAIC04MjQsNyArODI0LDcgQEAgdm9pZCBUZXN0U3RhdEhlbHBl cihib29sIGZhc3RfY2hlY2tfaW5fY2xpZW50LCBib29sIGZvbGxvd19saW5rcykgeworIAorICAg ICBtZW1zZXQoJnNiLCAwLCBzaXplb2Yoc2IpKTsKKyAgICAgRVhQRUNUX0VRKC1rRmFrZUVycm5v U2VudGluZWwsCistICAgICAgICAgICAgICBvcGVuX2Jyb2tlci5HZXRCcm9rZXJDbGllbnRTaWdu YWxCYXNlZCgpLT5TdGF0KAorKyAgICAgICAgICAgICAgb3Blbl9icm9rZXIuR2V0QnJva2VyQ2xp ZW50U2lnbmFsQmFzZWQoKS0+RGVmYXVsdFN0YXRGb3JUZXN0aW5nKAorICAgICAgICAgICAgICAg ICAgIHRlbXBmaWxlX25hbWUsIGZvbGxvd19saW5rcywgJnNiKSk7CisgICB9CisgCitAQCAtODQw LDcgKzg0MCw3IEBAIHZvaWQgVGVzdFN0YXRIZWxwZXIoYm9vbCBmYXN0X2NoZWNrX2luX2NsaWVu dCwgYm9vbCBmb2xsb3dfbGlua3MpIHsKKyAKKyAgICAgbWVtc2V0KCZzYiwgMCwgc2l6ZW9mKHNi KSk7CisgICAgIEVYUEVDVF9FUSgta0Zha2VFcnJub1NlbnRpbmVsLAorLSAgICAgICAgICAgICAg b3Blbl9icm9rZXIuR2V0QnJva2VyQ2xpZW50U2lnbmFsQmFzZWQoKS0+U3RhdCgKKysgICAgICAg ICAgICAgIG9wZW5fYnJva2VyLkdldEJyb2tlckNsaWVudFNpZ25hbEJhc2VkKCktPkRlZmF1bHRT dGF0Rm9yVGVzdGluZygKKyAgICAgICAgICAgICAgICAgICBub25lc3VjaF9uYW1lLCBmb2xsb3df bGlua3MsICZzYikpOworICAgfQorICAgeworQEAgLTg1Miw3ICs4NTIsNyBAQCB2b2lkIFRlc3RT dGF0SGVscGVyKGJvb2wgZmFzdF9jaGVja19pbl9jbGllbnQsIGJvb2wgZm9sbG93X2xpbmtzKSB7 CisgCisgICAgIG1lbXNldCgmc2IsIDAsIHNpemVvZihzYikpOworICAgICBFWFBFQ1RfRVEoLWtG YWtlRXJybm9TZW50aW5lbCwKKy0gICAgICAgICAgICAgIG9wZW5fYnJva2VyLkdldEJyb2tlckNs aWVudFNpZ25hbEJhc2VkKCktPlN0YXQoCisrICAgICAgICAgICAgICBvcGVuX2Jyb2tlci5HZXRC cm9rZXJDbGllbnRTaWduYWxCYXNlZCgpLT5EZWZhdWx0U3RhdEZvclRlc3RpbmcoCisgICAgICAg ICAgICAgICAgICAgdGVtcGZpbGVfbmFtZSwgZm9sbG93X2xpbmtzLCAmc2IpKTsKKyAgIH0KKyAg IHsKK0BAIC04NjQsMzggKzg2NCwzOSBAQCB2b2lkIFRlc3RTdGF0SGVscGVyKGJvb2wgZmFzdF9j aGVja19pbl9jbGllbnQsIGJvb2wgZm9sbG93X2xpbmtzKSB7CisgICAgIEFTU0VSVF9UUlVFKG9w ZW5fYnJva2VyLkluaXQoYmFzZTo6QmluZE9uY2UoJk5vT3BDYWxsYmFjaykpKTsKKyAKKyAgICAg bWVtc2V0KCZzYiwgMCwgc2l6ZW9mKHNiKSk7CistICAgIEVYUEVDVF9FUSgtRU5PRU5ULCBvcGVu X2Jyb2tlci5HZXRCcm9rZXJDbGllbnRTaWduYWxCYXNlZCgpLT5TdGF0KAorLSAgICAgICAgICAg ICAgICAgICAgICAgICAgIG5vbmVzdWNoX25hbWUsIGZvbGxvd19saW5rcywgJnNiKSk7CisrICAg IEVYUEVDVF9FUSgtRU5PRU5ULAorKyAgICAgICAgICAgICAgb3Blbl9icm9rZXIuR2V0QnJva2Vy Q2xpZW50U2lnbmFsQmFzZWQoKS0+RGVmYXVsdFN0YXRGb3JUZXN0aW5nKAorKyAgICAgICAgICAg ICAgICAgIG5vbmVzdWNoX25hbWUsIGZvbGxvd19saW5rcywgJnNiKSk7CisgCisgICAgIC8vIEdl dHMgZGVuaWVkIGFsbCB0aGUgd2F5IGJhY2sgdG8gcm9vdCBzaW5jZSBubyBjcmVhdGUgcGVybWlz c2lvbi4KKyAgICAgRVhQRUNUX0VRKC1rRmFrZUVycm5vU2VudGluZWwsCistICAgICAgICAgICAg ICBvcGVuX2Jyb2tlci5HZXRCcm9rZXJDbGllbnRTaWduYWxCYXNlZCgpLT5TdGF0KAorKyAgICAg ICAgICAgICAgb3Blbl9icm9rZXIuR2V0QnJva2VyQ2xpZW50U2lnbmFsQmFzZWQoKS0+RGVmYXVs dFN0YXRGb3JUZXN0aW5nKAorICAgICAgICAgICAgICAgICAgIGxlYWRpbmdfcGF0aDEsIGZvbGxv d19saW5rcywgJnNiKSk7CisgICAgIEVYUEVDVF9FUSgta0Zha2VFcnJub1NlbnRpbmVsLAorLSAg ICAgICAgICAgICAgb3Blbl9icm9rZXIuR2V0QnJva2VyQ2xpZW50U2lnbmFsQmFzZWQoKS0+U3Rh dCgKKysgICAgICAgICAgICAgIG9wZW5fYnJva2VyLkdldEJyb2tlckNsaWVudFNpZ25hbEJhc2Vk KCktPkRlZmF1bHRTdGF0Rm9yVGVzdGluZygKKyAgICAgICAgICAgICAgICAgICBsZWFkaW5nX3Bh dGgyLCBmb2xsb3dfbGlua3MsICZzYikpOworICAgICBFWFBFQ1RfRVEoLWtGYWtlRXJybm9TZW50 aW5lbCwKKy0gICAgICAgICAgICAgIG9wZW5fYnJva2VyLkdldEJyb2tlckNsaWVudFNpZ25hbEJh c2VkKCktPlN0YXQoCisrICAgICAgICAgICAgICBvcGVuX2Jyb2tlci5HZXRCcm9rZXJDbGllbnRT aWduYWxCYXNlZCgpLT5EZWZhdWx0U3RhdEZvclRlc3RpbmcoCisgICAgICAgICAgICAgICAgICAg bGVhZGluZ19wYXRoMywgZm9sbG93X2xpbmtzLCAmc2IpKTsKKyAKKyAgICAgLy8gTm90IGZvb2xl ZCBieSBzdWJzdHJpbmdzLgorICAgICBFWFBFQ1RfRVEoLWtGYWtlRXJybm9TZW50aW5lbCwKKy0g ICAgICAgICAgICAgIG9wZW5fYnJva2VyLkdldEJyb2tlckNsaWVudFNpZ25hbEJhc2VkKCktPlN0 YXQoCisrICAgICAgICAgICAgICBvcGVuX2Jyb2tlci5HZXRCcm9rZXJDbGllbnRTaWduYWxCYXNl ZCgpLT5EZWZhdWx0U3RhdEZvclRlc3RpbmcoCisgICAgICAgICAgICAgICAgICAgYmFkX2xlYWRp bmdfcGF0aDEsIGZvbGxvd19saW5rcywgJnNiKSk7CisgICAgIEVYUEVDVF9FUSgta0Zha2VFcnJu b1NlbnRpbmVsLAorLSAgICAgICAgICAgICAgb3Blbl9icm9rZXIuR2V0QnJva2VyQ2xpZW50U2ln bmFsQmFzZWQoKS0+U3RhdCgKKysgICAgICAgICAgICAgIG9wZW5fYnJva2VyLkdldEJyb2tlckNs aWVudFNpZ25hbEJhc2VkKCktPkRlZmF1bHRTdGF0Rm9yVGVzdGluZygKKyAgICAgICAgICAgICAg ICAgICBiYWRfbGVhZGluZ19wYXRoMiwgZm9sbG93X2xpbmtzLCAmc2IpKTsKKyAgICAgRVhQRUNU X0VRKC1rRmFrZUVycm5vU2VudGluZWwsCistICAgICAgICAgICAgICBvcGVuX2Jyb2tlci5HZXRC cm9rZXJDbGllbnRTaWduYWxCYXNlZCgpLT5TdGF0KAorKyAgICAgICAgICAgICAgb3Blbl9icm9r ZXIuR2V0QnJva2VyQ2xpZW50U2lnbmFsQmFzZWQoKS0+RGVmYXVsdFN0YXRGb3JUZXN0aW5nKAor ICAgICAgICAgICAgICAgICAgIGJhZF9sZWFkaW5nX3BhdGgzLCBmb2xsb3dfbGlua3MsICZzYikp OworICAgICBFWFBFQ1RfRVEoLWtGYWtlRXJybm9TZW50aW5lbCwKKy0gICAgICAgICAgICAgIG9w ZW5fYnJva2VyLkdldEJyb2tlckNsaWVudFNpZ25hbEJhc2VkKCktPlN0YXQoCisrICAgICAgICAg ICAgICBvcGVuX2Jyb2tlci5HZXRCcm9rZXJDbGllbnRTaWduYWxCYXNlZCgpLT5EZWZhdWx0U3Rh dEZvclRlc3RpbmcoCisgICAgICAgICAgICAgICAgICAgYmFkX2xlYWRpbmdfcGF0aDQsIGZvbGxv d19saW5rcywgJnNiKSk7CisgICAgIEVYUEVDVF9FUSgta0Zha2VFcnJub1NlbnRpbmVsLAorLSAg ICAgICAgICAgICAgb3Blbl9icm9rZXIuR2V0QnJva2VyQ2xpZW50U2lnbmFsQmFzZWQoKS0+U3Rh dCgKKysgICAgICAgICAgICAgIG9wZW5fYnJva2VyLkdldEJyb2tlckNsaWVudFNpZ25hbEJhc2Vk KCktPkRlZmF1bHRTdGF0Rm9yVGVzdGluZygKKyAgICAgICAgICAgICAgICAgICBiYWRfbGVhZGlu Z19wYXRoNSwgZm9sbG93X2xpbmtzLCAmc2IpKTsKKyAgICAgRVhQRUNUX0VRKC1rRmFrZUVycm5v U2VudGluZWwsCistICAgICAgICAgICAgICBvcGVuX2Jyb2tlci5HZXRCcm9rZXJDbGllbnRTaWdu YWxCYXNlZCgpLT5TdGF0KAorKyAgICAgICAgICAgICAgb3Blbl9icm9rZXIuR2V0QnJva2VyQ2xp ZW50U2lnbmFsQmFzZWQoKS0+RGVmYXVsdFN0YXRGb3JUZXN0aW5nKAorICAgICAgICAgICAgICAg ICAgIGJhZF9sZWFkaW5nX3BhdGg2LCBmb2xsb3dfbGlua3MsICZzYikpOworICAgfQorICAgewor QEAgLTkwNywzNyArOTA4LDQxIEBAIHZvaWQgVGVzdFN0YXRIZWxwZXIoYm9vbCBmYXN0X2NoZWNr X2luX2NsaWVudCwgYm9vbCBmb2xsb3dfbGlua3MpIHsKKyAgICAgQVNTRVJUX1RSVUUob3Blbl9i cm9rZXIuSW5pdChiYXNlOjpCaW5kT25jZSgmTm9PcENhbGxiYWNrKSkpOworIAorICAgICBtZW1z ZXQoJnNiLCAwLCBzaXplb2Yoc2IpKTsKKy0gICAgRVhQRUNUX0VRKC1FTk9FTlQsIG9wZW5fYnJv a2VyLkdldEJyb2tlckNsaWVudFNpZ25hbEJhc2VkKCktPlN0YXQoCistICAgICAgICAgICAgICAg ICAgICAgICAgICAgbm9uZXN1Y2hfbmFtZSwgZm9sbG93X2xpbmtzLCAmc2IpKTsKKysgICAgRVhQ RUNUX0VRKC1FTk9FTlQsCisrICAgICAgICAgICAgICBvcGVuX2Jyb2tlci5HZXRCcm9rZXJDbGll bnRTaWduYWxCYXNlZCgpLT5EZWZhdWx0U3RhdEZvclRlc3RpbmcoCisrICAgICAgICAgICAgICAg ICAgbm9uZXN1Y2hfbmFtZSwgZm9sbG93X2xpbmtzLCAmc2IpKTsKKyAKKyAgICAgLy8gR2V0cyBF Tk9FTlQgYWxsIHRoZSB3YXkgYmFjayB0byByb290IHNpbmNlIGl0IGhhcyBjcmVhdGUgcGVybWlz c2lvbi4KKy0gICAgRVhQRUNUX0VRKC1FTk9FTlQsIG9wZW5fYnJva2VyLkdldEJyb2tlckNsaWVu dFNpZ25hbEJhc2VkKCktPlN0YXQoCistICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVhZGlu Z19wYXRoMSwgZm9sbG93X2xpbmtzLCAmc2IpKTsKKy0gICAgRVhQRUNUX0VRKC1FTk9FTlQsIG9w ZW5fYnJva2VyLkdldEJyb2tlckNsaWVudFNpZ25hbEJhc2VkKCktPlN0YXQoCistICAgICAgICAg ICAgICAgICAgICAgICAgICAgbGVhZGluZ19wYXRoMiwgZm9sbG93X2xpbmtzLCAmc2IpKTsKKysg ICAgRVhQRUNUX0VRKC1FTk9FTlQsCisrICAgICAgICAgICAgICBvcGVuX2Jyb2tlci5HZXRCcm9r ZXJDbGllbnRTaWduYWxCYXNlZCgpLT5EZWZhdWx0U3RhdEZvclRlc3RpbmcoCisrICAgICAgICAg ICAgICAgICAgbGVhZGluZ19wYXRoMSwgZm9sbG93X2xpbmtzLCAmc2IpKTsKKysgICAgRVhQRUNU X0VRKC1FTk9FTlQsCisrICAgICAgICAgICAgICBvcGVuX2Jyb2tlci5HZXRCcm9rZXJDbGllbnRT aWduYWxCYXNlZCgpLT5EZWZhdWx0U3RhdEZvclRlc3RpbmcoCisrICAgICAgICAgICAgICAgICAg bGVhZGluZ19wYXRoMiwgZm9sbG93X2xpbmtzLCAmc2IpKTsKKyAKKyAgICAgLy8gQnV0IGNhbiBh bHdheXMgZ2V0IHRoZSByb290LgorLSAgICBFWFBFQ1RfRVEoMCwgb3Blbl9icm9rZXIuR2V0QnJv a2VyQ2xpZW50U2lnbmFsQmFzZWQoKS0+U3RhdCgKKy0gICAgICAgICAgICAgICAgICAgICBsZWFk aW5nX3BhdGgzLCBmb2xsb3dfbGlua3MsICZzYikpOworKyAgICBFWFBFQ1RfRVEoMCwKKysgICAg ICAgICAgICAgIG9wZW5fYnJva2VyLkdldEJyb2tlckNsaWVudFNpZ25hbEJhc2VkKCktPkRlZmF1 bHRTdGF0Rm9yVGVzdGluZygKKysgICAgICAgICAgICAgICAgICBsZWFkaW5nX3BhdGgzLCBmb2xs b3dfbGlua3MsICZzYikpOworIAorICAgICAvLyBOb3QgZm9vbGVkIGJ5IHN1YnN0cmluZ3MuCisg ICAgIEVYUEVDVF9FUSgta0Zha2VFcnJub1NlbnRpbmVsLAorLSAgICAgICAgICAgICAgb3Blbl9i cm9rZXIuR2V0QnJva2VyQ2xpZW50U2lnbmFsQmFzZWQoKS0+U3RhdCgKKysgICAgICAgICAgICAg IG9wZW5fYnJva2VyLkdldEJyb2tlckNsaWVudFNpZ25hbEJhc2VkKCktPkRlZmF1bHRTdGF0Rm9y VGVzdGluZygKKyAgICAgICAgICAgICAgICAgICBiYWRfbGVhZGluZ19wYXRoMSwgZm9sbG93X2xp bmtzLCAmc2IpKTsKKyAgICAgRVhQRUNUX0VRKC1rRmFrZUVycm5vU2VudGluZWwsCistICAgICAg ICAgICAgICBvcGVuX2Jyb2tlci5HZXRCcm9rZXJDbGllbnRTaWduYWxCYXNlZCgpLT5TdGF0KAor KyAgICAgICAgICAgICAgb3Blbl9icm9rZXIuR2V0QnJva2VyQ2xpZW50U2lnbmFsQmFzZWQoKS0+ RGVmYXVsdFN0YXRGb3JUZXN0aW5nKAorICAgICAgICAgICAgICAgICAgIGJhZF9sZWFkaW5nX3Bh dGgyLCBmb2xsb3dfbGlua3MsICZzYikpOworICAgICBFWFBFQ1RfRVEoLWtGYWtlRXJybm9TZW50 aW5lbCwKKy0gICAgICAgICAgICAgIG9wZW5fYnJva2VyLkdldEJyb2tlckNsaWVudFNpZ25hbEJh c2VkKCktPlN0YXQoCisrICAgICAgICAgICAgICBvcGVuX2Jyb2tlci5HZXRCcm9rZXJDbGllbnRT aWduYWxCYXNlZCgpLT5EZWZhdWx0U3RhdEZvclRlc3RpbmcoCisgICAgICAgICAgICAgICAgICAg YmFkX2xlYWRpbmdfcGF0aDMsIGZvbGxvd19saW5rcywgJnNiKSk7CisgICAgIEVYUEVDVF9FUSgt a0Zha2VFcnJub1NlbnRpbmVsLAorLSAgICAgICAgICAgICAgb3Blbl9icm9rZXIuR2V0QnJva2Vy Q2xpZW50U2lnbmFsQmFzZWQoKS0+U3RhdCgKKysgICAgICAgICAgICAgIG9wZW5fYnJva2VyLkdl dEJyb2tlckNsaWVudFNpZ25hbEJhc2VkKCktPkRlZmF1bHRTdGF0Rm9yVGVzdGluZygKKyAgICAg ICAgICAgICAgICAgICBiYWRfbGVhZGluZ19wYXRoNCwgZm9sbG93X2xpbmtzLCAmc2IpKTsKKyAg ICAgRVhQRUNUX0VRKC1rRmFrZUVycm5vU2VudGluZWwsCistICAgICAgICAgICAgICBvcGVuX2Jy b2tlci5HZXRCcm9rZXJDbGllbnRTaWduYWxCYXNlZCgpLT5TdGF0KAorKyAgICAgICAgICAgICAg b3Blbl9icm9rZXIuR2V0QnJva2VyQ2xpZW50U2lnbmFsQmFzZWQoKS0+RGVmYXVsdFN0YXRGb3JU ZXN0aW5nKAorICAgICAgICAgICAgICAgICAgIGJhZF9sZWFkaW5nX3BhdGg1LCBmb2xsb3dfbGlu a3MsICZzYikpOworICAgICBFWFBFQ1RfRVEoLWtGYWtlRXJybm9TZW50aW5lbCwKKy0gICAgICAg ICAgICAgIG9wZW5fYnJva2VyLkdldEJyb2tlckNsaWVudFNpZ25hbEJhc2VkKCktPlN0YXQoCisr ICAgICAgICAgICAgICBvcGVuX2Jyb2tlci5HZXRCcm9rZXJDbGllbnRTaWduYWxCYXNlZCgpLT5E ZWZhdWx0U3RhdEZvclRlc3RpbmcoCisgICAgICAgICAgICAgICAgICAgYmFkX2xlYWRpbmdfcGF0 aDYsIGZvbGxvd19saW5rcywgJnNiKSk7CisgICB9CisgICB7CitAQCAtOTQ5LDggKzk1NCw5IEBA IHZvaWQgVGVzdFN0YXRIZWxwZXIoYm9vbCBmYXN0X2NoZWNrX2luX2NsaWVudCwgYm9vbCBmb2xs b3dfbGlua3MpIHsKKyAgICAgQVNTRVJUX1RSVUUob3Blbl9icm9rZXIuSW5pdChiYXNlOjpCaW5k T25jZSgmTm9PcENhbGxiYWNrKSkpOworIAorICAgICBtZW1zZXQoJnNiLCAwLCBzaXplb2Yoc2Ip KTsKKy0gICAgRVhQRUNUX0VRKDAsIG9wZW5fYnJva2VyLkdldEJyb2tlckNsaWVudFNpZ25hbEJh c2VkKCktPlN0YXQoCistICAgICAgICAgICAgICAgICAgICAgdGVtcGZpbGVfbmFtZSwgZm9sbG93 X2xpbmtzLCAmc2IpKTsKKysgICAgRVhQRUNUX0VRKDAsCisrICAgICAgICAgICAgICBvcGVuX2Jy b2tlci5HZXRCcm9rZXJDbGllbnRTaWduYWxCYXNlZCgpLT5EZWZhdWx0U3RhdEZvclRlc3Rpbmco CisrICAgICAgICAgICAgICAgICAgdGVtcGZpbGVfbmFtZSwgZm9sbG93X2xpbmtzLCAmc2IpKTsK KyAKKyAgICAgLy8gRm9sbG93aW5nIGZpZWxkcyBtYXkgbmV2ZXIgYmUgY29uc2lzdGVudCBidXQg c2hvdWxkIGJlIG5vbi16ZXJvLgorICAgICAvLyBEb24ndCB0cnVzdCB0aGUgcGxhdGZvcm0gdG8g ZGVmaW5lIGZpZWxkcyB3aXRoIGFueSBwYXJ0aWN1bGFyIHNpZ24uCitAQCAtOTY4LDkgKzk3NCw5 IEBAIHZvaWQgVGVzdFN0YXRIZWxwZXIoYm9vbCBmYXN0X2NoZWNrX2luX2NsaWVudCwgYm9vbCBm b2xsb3dfbGlua3MpIHsKKyAgICAgRVhQRUNUX0VRKDEyLCBzYi5zdF9zaXplKTsKKyAKKyAgICAg Ly8gQ2FuJ3QgZ28gYmFja3dhcmRzIGluIHRpbWUsIDE1MDAwMDAwMDAgd2FzIHNvbWUgdGltZSBh Z28uCistICAgIEVYUEVDVF9MVCgxNTAwMDAwMDAwdSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQgaW50 PihzYi5zdF9hdGltZSkpOworLSAgICBFWFBFQ1RfTFQoMTUwMDAwMDAwMHUsIHN0YXRpY19jYXN0 PHVuc2lnbmVkIGludD4oc2Iuc3RfbXRpbWUpKTsKKy0gICAgRVhQRUNUX0xUKDE1MDAwMDAwMDB1 LCBzdGF0aWNfY2FzdDx1bnNpZ25lZCBpbnQ+KHNiLnN0X2N0aW1lKSk7CisrICAgIEVYUEVDVF9M VCgxNTAwMDAwMDAwdSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQgaW50PihzYi5zdF9hdGltZV8pKTsK KysgICAgRVhQRUNUX0xUKDE1MDAwMDAwMDB1LCBzdGF0aWNfY2FzdDx1bnNpZ25lZCBpbnQ+KHNi LnN0X210aW1lXykpOworKyAgICBFWFBFQ1RfTFQoMTUwMDAwMDAwMHUsIHN0YXRpY19jYXN0PHVu c2lnbmVkIGludD4oc2Iuc3RfY3RpbWVfKSk7CisgICB9CisgfQorIAorZGlmZiAtLWdpdCBhL3Nh bmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvcmVtb3RlX3N5c2NhbGxfYXJnX2hhbmRsZXJfdW5p dHRlc3QuY2MgYi9zYW5kYm94L2xpbnV4L3N5c2NhbGxfYnJva2VyL3JlbW90ZV9zeXNjYWxsX2Fy Z19oYW5kbGVyX3VuaXR0ZXN0LmNjCitpbmRleCBmZmZhOWJiNzA4MmNlLi5mNTE3YTk4NjdjNWRl IDEwMDY0NAorLS0tIGEvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9yZW1vdGVfc3lzY2Fs bF9hcmdfaGFuZGxlcl91bml0dGVzdC5jYworKysrIGIvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jy b2tlci9yZW1vdGVfc3lzY2FsbF9hcmdfaGFuZGxlcl91bml0dGVzdC5jYworQEAgLTE2LDYgKzE2 LDcgQEAKKyAjaW5jbHVkZSAiYmFzZS9tZW1vcnkvcGFnZV9zaXplLmgiCisgI2luY2x1ZGUgImJh c2UvcG9zaXgvdW5peF9kb21haW5fc29ja2V0LmgiCisgI2luY2x1ZGUgImJhc2UvdGVzdC9iaW5k LmgiCisrI2luY2x1ZGUgInNhbmRib3gvbGludXgvdGVzdHMvdGVzdF91dGlscy5oIgorICNpbmNs dWRlICJzYW5kYm94L2xpbnV4L3Rlc3RzL3VuaXRfdGVzdHMuaCIKKyAjaW5jbHVkZSAidGVzdGlu Zy9ndGVzdC9pbmNsdWRlL2d0ZXN0L2d0ZXN0LmgiCisgCitAQCAtNTIsMTkgKzUzLDYgQEAgdm9p ZCBWZXJpZnlDb3JyZWN0U3RyaW5nKHN0ZDo6c3RyaW5nIHN0ciwgc2l6ZV90IHNpemUpIHsKKyAg IH0KKyB9CisgCistdm9pZCogTWFwUGFnZXNPckRpZShzaXplX3QgbnVtX3BhZ2VzKSB7CistICB2 b2lkKiBhZGRyID0gbW1hcChudWxscHRyLCBudW1fcGFnZXMgKiBiYXNlOjpHZXRQYWdlU2l6ZSgp LAorLSAgICAgICAgICAgICAgICAgICAgUFJPVF9SRUFEIHwgUFJPVF9XUklURSwgTUFQX1BSSVZB VEUgfCBNQVBfQU5PTllNT1VTLCAtMSwgMCk7CistICBQQ0hFQ0soYWRkcik7CistICByZXR1cm4g YWRkcjsKKy19CistCistdm9pZCBNcHJvdGVjdExhc3RQYWdlT3JEaWUoY2hhciogYWRkciwgc2l6 ZV90IG51bV9wYWdlcykgeworLSAgc2l6ZV90IGxhc3RfcGFnZV9vZmZzZXQgPSAobnVtX3BhZ2Vz IC0gMSkgKiBiYXNlOjpHZXRQYWdlU2l6ZSgpOworLSAgUENIRUNLKG1wcm90ZWN0KGFkZHIgKyBs YXN0X3BhZ2Vfb2Zmc2V0LCBiYXNlOjpHZXRQYWdlU2l6ZSgpLCBQUk9UX05PTkUpID49CistICAg ICAgICAgMCk7CistfQorLQorIHBpZF90IEZvcmtXYWl0aW5nQ2hpbGQoYmFzZTo6T25jZUNhbGxi YWNrPHZvaWQoaW50KT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZnRlcl9wYXJlbnRf c2lnbmFsc19jYWxsYmFjayA9IGJhc2U6OkRvTm90aGluZygpLAorICAgICAgICAgICAgICAgICAg ICAgICAgYmFzZTo6U2NvcGVkRkQqIHBhcmVudF9zeW5jX2ZkID0gbnVsbHB0cikgeworQEAgLTEw NSwxMyArOTMsMTMgQEAgdm9pZCBSZWFkVGVzdChjb25zdCBSZWFkVGVzdENvbmZpZyYgdGVzdF9j b25maWcpIHsKKyAgIHNpemVfdCB0b3RhbF9wYWdlcyA9ICh0ZXN0X2NvbmZpZy5zdGFydF9hdCAr IHRlc3RfY29uZmlnLnRvdGFsX3NpemUgKworICAgICAgICAgICAgICAgICAgICAgICAgIGJhc2U6 OkdldFBhZ2VTaXplKCkgLSAxKSAvCisgICAgICAgICAgICAgICAgICAgICAgICBiYXNlOjpHZXRQ YWdlU2l6ZSgpOworLSAgY2hhciogbW1hcF9hZGRyID0gc3RhdGljX2Nhc3Q8Y2hhcio+KE1hcFBh Z2VzT3JEaWUodG90YWxfcGFnZXMpKTsKKysgIGNoYXIqIG1tYXBfYWRkciA9IHN0YXRpY19jYXN0 PGNoYXIqPihUZXN0VXRpbHM6Ok1hcFBhZ2VzT3JEaWUodG90YWxfcGFnZXMpKTsKKyAgIGNoYXIq IGFkZHIgPSBtbWFwX2FkZHIgKyB0ZXN0X2NvbmZpZy5zdGFydF9hdDsKKyAgIEZpbGxCdWZmZXJX aXRoUGF0aChhZGRyLCB0ZXN0X2NvbmZpZy50b3RhbF9zaXplLAorICAgICAgICAgICAgICAgICAg ICAgIHRlc3RfY29uZmlnLmluY2x1ZGVfbnVsbF9ieXRlKTsKKyAKKyAgIGlmICh0ZXN0X2NvbmZp Zy5sYXN0X3BhZ2VfaW5hY2Nlc3NpYmxlKQorLSAgICBNcHJvdGVjdExhc3RQYWdlT3JEaWUobW1h cF9hZGRyLCB0b3RhbF9wYWdlcyk7CisrICAgIFRlc3RVdGlsczo6TXByb3RlY3RMYXN0UGFnZU9y RGllKG1tYXBfYWRkciwgdG90YWxfcGFnZXMpOworIAorICAgcGlkX3QgcGlkID0gRm9ya1dhaXRp bmdDaGlsZCgpOworICAgbXVubWFwKG1tYXBfYWRkciwgYmFzZTo6R2V0UGFnZVNpemUoKSAqIHRv dGFsX3BhZ2VzKTsKK0BAIC0yMTIsNyArMjAwLDcgQEAgU0FOREJPWF9URVNUKEJyb2tlclJlbW90 ZVN5c2NhbGxBcmdIYW5kbGVyLCBSZWFkQ2h1bmtQbHVzMUVuZGluZ09uZVBhc3RQYWdlKSB7Cisg fQorIAorIFNBTkRCT1hfVEVTVChCcm9rZXJSZW1vdGVTeXNjYWxsQXJnSGFuZGxlciwgUmVhZENo aWxkRXhpdGVkKSB7CistICB2b2lkKiBhZGRyID0gTWFwUGFnZXNPckRpZSgxKTsKKysgIHZvaWQq IGFkZHIgPSBUZXN0VXRpbHM6Ok1hcFBhZ2VzT3JEaWUoMSk7CisgICBGaWxsQnVmZmVyV2l0aFBh dGgoc3RhdGljX2Nhc3Q8Y2hhcio+KGFkZHIpLCBzdHJsZW4oa1BhdGhQYXJ0KSArIDEsIHRydWUp OworIAorICAgYmFzZTo6U2NvcGVkRkQgcGFyZW50X3N5bmMsIGNoaWxkX3N5bmM7CitAQCAtMjQw LDEwICsyMjgsMTAgQEAgU0FOREJPWF9URVNUKEJyb2tlclJlbW90ZVN5c2NhbGxBcmdIYW5kbGVy LCBSZWFkQ2hpbGRFeGl0ZWQpIHsKKyB9CisgCisgU0FOREJPWF9URVNUKEJyb2tlclJlbW90ZVN5 c2NhbGxBcmdIYW5kbGVyLCBCYXNpY1dyaXRlKSB7CistICB2b2lkKiByZWFkX2Zyb20gPSBNYXBQ YWdlc09yRGllKDEpOworKyAgdm9pZCogcmVhZF9mcm9tID0gVGVzdFV0aWxzOjpNYXBQYWdlc09y RGllKDEpOworICAgY29uc3Qgc2l6ZV90IHdyaXRlX3NpemUgPSBiYXNlOjpHZXRQYWdlU2l6ZSgp OworICAgRmlsbEJ1ZmZlcldpdGhQYXRoKHN0YXRpY19jYXN0PGNoYXIqPihyZWFkX2Zyb20pLCB3 cml0ZV9zaXplLCBmYWxzZSk7CistICBjaGFyKiB3cml0ZV90byA9IHN0YXRpY19jYXN0PGNoYXIq PihNYXBQYWdlc09yRGllKDEpKTsKKysgIGNoYXIqIHdyaXRlX3RvID0gc3RhdGljX2Nhc3Q8Y2hh cio+KFRlc3RVdGlsczo6TWFwUGFnZXNPckRpZSgxKSk7CisgICBiYXNlOjpTY29wZWRGRCBwYXJl bnRfc2lnbmFsX2ZkOworICAgY29uc3Qgc3RkOjp2ZWN0b3I8aW50PiBlbXB0eV9mZF92ZWM7Cisg CitAQCAtMjc4LDggKzI2Niw4IEBAIFNBTkRCT1hfVEVTVChCcm9rZXJSZW1vdGVTeXNjYWxsQXJn SGFuZGxlciwgQmFzaWNXcml0ZSkgeworIH0KKyAKKyBTQU5EQk9YX1RFU1QoQnJva2VyUmVtb3Rl U3lzY2FsbEFyZ0hhbmRsZXIsIFdyaXRlVG9JbnZhbGlkQWRkcmVzcykgeworLSAgY2hhciogd3Jp dGVfdG8gPSBzdGF0aWNfY2FzdDxjaGFyKj4oTWFwUGFnZXNPckRpZSgxKSk7CistICBNcHJvdGVj dExhc3RQYWdlT3JEaWUod3JpdGVfdG8sIDEpOworKyAgY2hhciogd3JpdGVfdG8gPSBzdGF0aWNf Y2FzdDxjaGFyKj4oVGVzdFV0aWxzOjpNYXBQYWdlc09yRGllKDEpKTsKKysgIFRlc3RVdGlsczo6 TXByb3RlY3RMYXN0UGFnZU9yRGllKHdyaXRlX3RvLCAxKTsKKyAgIGJhc2U6OlNjb3BlZEZEIHBh cmVudF9zaWduYWxfZmQ7CisgICBjb25zdCBzdGQ6OnZlY3RvcjxpbnQ+IGVtcHR5X2ZkX3ZlYzsK KyAKK0BAIC0yOTUsMTEgKzI4MywxMSBAQCBTQU5EQk9YX1RFU1QoQnJva2VyUmVtb3RlU3lzY2Fs bEFyZ0hhbmRsZXIsIFdyaXRlVG9JbnZhbGlkQWRkcmVzcykgeworIH0KKyAKKyBTQU5EQk9YX1RF U1QoQnJva2VyUmVtb3RlU3lzY2FsbEFyZ0hhbmRsZXIsIFdyaXRlUGFydGlhbGx5VG9JbnZhbGlk QWRkcmVzcykgeworLSAgY2hhciogcmVhZF9mcm9tID0gc3RhdGljX2Nhc3Q8Y2hhcio+KE1hcFBh Z2VzT3JEaWUoMikpOworKyAgY2hhciogcmVhZF9mcm9tID0gc3RhdGljX2Nhc3Q8Y2hhcio+KFRl c3RVdGlsczo6TWFwUGFnZXNPckRpZSgyKSk7CisgICBjb25zdCBzaXplX3Qgd3JpdGVfc2l6ZSA9 IGJhc2U6OkdldFBhZ2VTaXplKCk7CisgICBGaWxsQnVmZmVyV2l0aFBhdGgoc3RhdGljX2Nhc3Q8 Y2hhcio+KHJlYWRfZnJvbSksIHdyaXRlX3NpemUsIGZhbHNlKTsKKy0gIGNoYXIqIHdyaXRlX3Rv ID0gc3RhdGljX2Nhc3Q8Y2hhcio+KE1hcFBhZ2VzT3JEaWUoMikpOworLSAgTXByb3RlY3RMYXN0 UGFnZU9yRGllKHdyaXRlX3RvLCAyKTsKKysgIGNoYXIqIHdyaXRlX3RvID0gc3RhdGljX2Nhc3Q8 Y2hhcio+KFRlc3RVdGlsczo6TWFwUGFnZXNPckRpZSgyKSk7CisrICBUZXN0VXRpbHM6Ok1wcm90 ZWN0TGFzdFBhZ2VPckRpZSh3cml0ZV90bywgMik7CisgICB3cml0ZV90byArPSBiYXNlOjpHZXRQ YWdlU2l6ZSgpIC8gMjsKKyAgIGJhc2U6OlNjb3BlZEZEIHBhcmVudF9zaWduYWxfZmQ7CisgICBj b25zdCBzdGQ6OnZlY3RvcjxpbnQ+IGVtcHR5X2ZkX3ZlYzsKK0BAIC0zMTQsNyArMzAyLDcgQEAg U0FOREJPWF9URVNUKEJyb2tlclJlbW90ZVN5c2NhbGxBcmdIYW5kbGVyLCBXcml0ZVBhcnRpYWxs eVRvSW52YWxpZEFkZHJlc3MpIHsKKyB9CisgCisgU0FOREJPWF9URVNUKEJyb2tlclJlbW90ZVN5 c2NhbGxBcmdIYW5kbGVyLCBXcml0ZUNoaWxkRXhpdGVkKSB7CistICBjaGFyKiBhZGRyID0gc3Rh dGljX2Nhc3Q8Y2hhcio+KE1hcFBhZ2VzT3JEaWUoMSkpOworKyAgY2hhciogYWRkciA9IHN0YXRp Y19jYXN0PGNoYXIqPihUZXN0VXRpbHM6Ok1hcFBhZ2VzT3JEaWUoMSkpOworICAgRmlsbEJ1ZmZl cldpdGhQYXRoKHN0YXRpY19jYXN0PGNoYXIqPihhZGRyKSwgc3RybGVuKGtQYXRoUGFydCkgKyAx LCB0cnVlKTsKKyAKKyAgIGJhc2U6OlNjb3BlZEZEIHBhcmVudF9zeW5jLCBjaGlsZF9zeW5jOwor ZGlmZiAtLWdpdCBhL3NhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvc3lzY2FsbF9kaXNwYXRj aGVyLmNjIGIvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9zeXNjYWxsX2Rpc3BhdGNoZXIu Y2MKK2luZGV4IGI5ZWU5M2MxNGFjNTkuLjhhNDIzOTdlZjg3MmUgMTAwNjQ0CistLS0gYS9zYW5k Ym94L2xpbnV4L3N5c2NhbGxfYnJva2VyL3N5c2NhbGxfZGlzcGF0Y2hlci5jYworKysrIGIvc2Fu ZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9zeXNjYWxsX2Rpc3BhdGNoZXIuY2MKK0BAIC0xOSw4 ICsxOSwxOCBAQCBuYW1lc3BhY2Ugc3lzY2FsbF9icm9rZXIgeworICNkZWZpbmUgQlJPS0VSX1VO UE9JU09OX1NUUklORyh4KQorICNlbmRpZgorIAorK2ludCBTeXNjYWxsRGlzcGF0Y2hlcjo6RGVm YXVsdFN0YXRGb3JUZXN0aW5nKGNvbnN0IGNoYXIqIHBhdGhuYW1lLAorKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgZm9sbG93X2xpbmtzLAorKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRfc3RhdF9zdHJ1 Y3QqIHNiKSB7CisrI2lmIGRlZmluZWQoX19OUl9mc3RhdGF0NjQpCisrICByZXR1cm4gU3RhdDY0 KHBhdGhuYW1lLCBmb2xsb3dfbGlua3MsIHNiKTsKKysjZWxpZiBkZWZpbmVkKF9fTlJfbmV3ZnN0 YXRhdCkKKysgIHJldHVybiBTdGF0KHBhdGhuYW1lLCBmb2xsb3dfbGlua3MsIHNiKTsKKysjZW5k aWYKKyt9CisrCisgaW50IFN5c2NhbGxEaXNwYXRjaGVyOjpQZXJmb3JtU3RhdGF0KGNvbnN0IGFy Y2hfc2VjY29tcF9kYXRhJiBhcmdzLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBib29sIGFyY2g2NCkgeworKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBib29sIHN0YXQ2NCkgeworICAgaWYgKHN0YXRpY19jYXN0PGludD4oYXJncy5hcmdzWzBdKSAh PSBBVF9GRENXRCkKKyAgICAgcmV0dXJuIC1FUEVSTTsKKyAgIC8vIE9ubHkgYWxsb3cgdGhlIEFU X1NZTUxJTktfTk9GT0xMT1cgZmxhZyB3aGljaCBpcyB1c2VkIGJ5IHNvbWUgbGliYworQEAgLTMw LDEzICs0MCwyOSBAQCBpbnQgU3lzY2FsbERpc3BhdGNoZXI6OlBlcmZvcm1TdGF0YXQoY29uc3Qg YXJjaF9zZWNjb21wX2RhdGEmIGFyZ3MsCisgCisgICBjb25zdCBib29sIGZvbGxvd19saW5rcyA9 CisgICAgICAgIShzdGF0aWNfY2FzdDxpbnQ+KGFyZ3MuYXJnc1szXSkgJiBBVF9TWU1MSU5LX05P Rk9MTE9XKTsKKy0gIGlmIChhcmNoNjQpIHsKKysgIGlmIChzdGF0NjQpIHsKKyAgICAgcmV0dXJu IFN0YXQ2NChyZWludGVycHJldF9jYXN0PGNvbnN0IGNoYXIqPihhcmdzLmFyZ3NbMV0pLCBmb2xs b3dfbGlua3MsCistICAgICAgICAgICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxzdHJ1Y3Qgc3Rh dDY0Kj4oYXJncy5hcmdzWzJdKSk7CisrICAgICAgICAgICAgICAgICAgcmVpbnRlcnByZXRfY2Fz dDxzdHJ1Y3Qga2VybmVsX3N0YXQ2NCo+KGFyZ3MuYXJnc1syXSkpOworICAgfQorIAorICAgcmV0 dXJuIFN0YXQocmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4oYXJncy5hcmdzWzFdKSwgZm9s bG93X2xpbmtzLAorLSAgICAgICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxzdHJ1Y3Qgc3RhdCo+ KGFyZ3MuYXJnc1syXSkpOworKyAgICAgICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxzdHJ1Y3Qg a2VybmVsX3N0YXQqPihhcmdzLmFyZ3NbMl0pKTsKKyt9CisrCisraW50IFN5c2NhbGxEaXNwYXRj aGVyOjpQZXJmb3JtVW5saW5rYXQoY29uc3QgYXJjaF9zZWNjb21wX2RhdGEmIGFyZ3MpIHsKKysg IGlmIChzdGF0aWNfY2FzdDxpbnQ+KGFyZ3MuYXJnc1swXSkgIT0gQVRfRkRDV0QpCisrICAgIHJl dHVybiAtRVBFUk07CisrCisrICBpbnQgZmxhZ3MgPSBzdGF0aWNfY2FzdDxpbnQ+KGFyZ3MuYXJn c1syXSk7CisrCisrICBpZiAoZmxhZ3MgPT0gQVRfUkVNT1ZFRElSKSB7CisrICAgIHJldHVybiBS bWRpcihyZWludGVycHJldF9jYXN0PGNvbnN0IGNoYXIqPihhcmdzLmFyZ3NbMV0pKTsKKysgIH0K KysKKysgIGlmIChmbGFncyAhPSAwKQorKyAgICByZXR1cm4gLUVQRVJNOworKworKyAgcmV0dXJu IFVubGluayhyZWludGVycHJldF9jYXN0PGNvbnN0IGNoYXIqPihhcmdzLmFyZ3NbMV0pKTsKKyB9 CisgCisgaW50IFN5c2NhbGxEaXNwYXRjaGVyOjpEaXNwYXRjaFN5c2NhbGwoY29uc3QgYXJjaF9z ZWNjb21wX2RhdGEmIGFyZ3MpIHsKK0BAIC0xMjcsNTkgKzE1Myw0MiBAQCBpbnQgU3lzY2FsbERp c3BhdGNoZXI6OkRpc3BhdGNoU3lzY2FsbChjb25zdCBhcmNoX3NlY2NvbXBfZGF0YSYgYXJncykg eworICNpZiBkZWZpbmVkKF9fTlJfc3RhdCkKKyAgICAgY2FzZSBfX05SX3N0YXQ6CisgICAgICAg cmV0dXJuIFN0YXQocmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4oYXJncy5hcmdzWzBdKSwg dHJ1ZSwKKy0gICAgICAgICAgICAgICAgICByZWludGVycHJldF9jYXN0PHN0cnVjdCBzdGF0Kj4o YXJncy5hcmdzWzFdKSk7CisrICAgICAgICAgICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxzdHJ1 Y3Qga2VybmVsX3N0YXQqPihhcmdzLmFyZ3NbMV0pKTsKKyAjZW5kaWYKKyAjaWYgZGVmaW5lZChf X05SX3N0YXQ2NCkKKyAgICAgY2FzZSBfX05SX3N0YXQ2NDoKKyAgICAgICByZXR1cm4gU3RhdDY0 KHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+KGFyZ3MuYXJnc1swXSksIHRydWUsCistICAg ICAgICAgICAgICAgICAgICByZWludGVycHJldF9jYXN0PHN0cnVjdCBzdGF0NjQqPihhcmdzLmFy Z3NbMV0pKTsKKysgICAgICAgICAgICAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8c3RydWN0IGtl cm5lbF9zdGF0NjQqPihhcmdzLmFyZ3NbMV0pKTsKKyAjZW5kaWYKKyAjaWYgZGVmaW5lZChfX05S X2xzdGF0KQorICAgICBjYXNlIF9fTlJfbHN0YXQ6CisgICAgICAgLy8gU2VlIGh0dHBzOi8vY3Ji dWcuY29tLzg0NzA5NgorICAgICAgIEJST0tFUl9VTlBPSVNPTl9TVFJJTkcocmVpbnRlcnByZXRf Y2FzdDxjb25zdCBjaGFyKj4oYXJncy5hcmdzWzBdKSk7CisgICAgICAgcmV0dXJuIFN0YXQocmVp bnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4oYXJncy5hcmdzWzBdKSwgZmFsc2UsCistICAgICAg ICAgICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxzdHJ1Y3Qgc3RhdCo+KGFyZ3MuYXJnc1sxXSkp OworKyAgICAgICAgICAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8c3RydWN0IGtlcm5lbF9zdGF0 Kj4oYXJncy5hcmdzWzFdKSk7CisgI2VuZGlmCisgI2lmIGRlZmluZWQoX19OUl9sc3RhdDY0KQor ICAgICBjYXNlIF9fTlJfbHN0YXQ2NDoKKyAgICAgICAvLyBTZWUgaHR0cHM6Ly9jcmJ1Zy5jb20v ODQ3MDk2CisgICAgICAgQlJPS0VSX1VOUE9JU09OX1NUUklORyhyZWludGVycHJldF9jYXN0PGNv bnN0IGNoYXIqPihhcmdzLmFyZ3NbMF0pKTsKKyAgICAgICByZXR1cm4gU3RhdDY0KHJlaW50ZXJw cmV0X2Nhc3Q8Y29uc3QgY2hhcio+KGFyZ3MuYXJnc1swXSksIGZhbHNlLAorLSAgICAgICAgICAg ICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxzdHJ1Y3Qgc3RhdDY0Kj4oYXJncy5hcmdzWzFdKSk7 CistI2VuZGlmCistI2lmIGRlZmluZWQoX19OUl9mc3RhdGF0KQorLSAgICBjYXNlIF9fTlJfZnN0 YXRhdDoKKy0gICAgICByZXR1cm4gUGVyZm9ybVN0YXRhdChhcmdzLCAvKmFyY2g2ND0qL2ZhbHNl KTsKKysgICAgICAgICAgICAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8c3RydWN0IGtlcm5lbF9z dGF0NjQqPihhcmdzLmFyZ3NbMV0pKTsKKyAjZW5kaWYKKyAjaWYgZGVmaW5lZChfX05SX2ZzdGF0 YXQ2NCkKKyAgICAgY2FzZSBfX05SX2ZzdGF0YXQ2NDoKKy0gICAgICByZXR1cm4gUGVyZm9ybVN0 YXRhdChhcmdzLCAvKmFyY2g2ND0qL3RydWUpOworKyAgICAgIHJldHVybiBQZXJmb3JtU3RhdGF0 KGFyZ3MsIC8qc3RhdDY0PSovdHJ1ZSk7CisgI2VuZGlmCisgI2lmIGRlZmluZWQoX19OUl9uZXdm c3RhdGF0KQorICAgICBjYXNlIF9fTlJfbmV3ZnN0YXRhdDoKKy0gICAgICByZXR1cm4gUGVyZm9y bVN0YXRhdChhcmdzLCAvKmFyY2g2ND0qL2ZhbHNlKTsKKysgICAgICByZXR1cm4gUGVyZm9ybVN0 YXRhdChhcmdzLCAvKnN0YXQ2ND0qL2ZhbHNlKTsKKyAjZW5kaWYKKyAjaWYgZGVmaW5lZChfX05S X3VubGluaykKKyAgICAgY2FzZSBfX05SX3VubGluazoKKyAgICAgICByZXR1cm4gVW5saW5rKHJl aW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+KGFyZ3MuYXJnc1swXSkpOworICNlbmRpZgorICNp ZiBkZWZpbmVkKF9fTlJfdW5saW5rYXQpCistICAgIGNhc2UgX19OUl91bmxpbmthdDogeworLSAg ICAgIGlmIChzdGF0aWNfY2FzdDxpbnQ+KGFyZ3MuYXJnc1swXSkgIT0gQVRfRkRDV0QpCistICAg ICAgICByZXR1cm4gLUVQRVJNOworLQorLSAgICAgIGludCBmbGFncyA9IHN0YXRpY19jYXN0PGlu dD4oYXJncy5hcmdzWzJdKTsKKy0KKy0gICAgICBpZiAoZmxhZ3MgPT0gQVRfUkVNT1ZFRElSKSB7 CistICAgICAgICByZXR1cm4gUm1kaXIocmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4oYXJn cy5hcmdzWzFdKSk7CistICAgICAgfQorLQorLSAgICAgIGlmIChmbGFncyAhPSAwKQorLSAgICAg ICAgcmV0dXJuIC1FUEVSTTsKKy0KKy0gICAgICByZXR1cm4gVW5saW5rKHJlaW50ZXJwcmV0X2Nh c3Q8Y29uc3QgY2hhcio+KGFyZ3MuYXJnc1sxXSkpOworLSAgICB9CisrICAgIGNhc2UgX19OUl91 bmxpbmthdDoKKysgICAgICByZXR1cm4gUGVyZm9ybVVubGlua2F0KGFyZ3MpOworICNlbmRpZiAg Ly8gZGVmaW5lZChfX05SX3VubGlua2F0KQorICAgICBkZWZhdWx0OgorICAgICAgIFJBV19DSEVD SyhmYWxzZSk7CitkaWZmIC0tZ2l0IGEvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9zeXNj YWxsX2Rpc3BhdGNoZXIuaCBiL3NhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvc3lzY2FsbF9k aXNwYXRjaGVyLmgKK2luZGV4IGQ4Yjg4NzRhZDljZTQuLjFkNjY1M2NhZjNiZDIgMTAwNjQ0Cist LS0gYS9zYW5kYm94L2xpbnV4L3N5c2NhbGxfYnJva2VyL3N5c2NhbGxfZGlzcGF0Y2hlci5oCisr KysgYi9zYW5kYm94L2xpbnV4L3N5c2NhbGxfYnJva2VyL3N5c2NhbGxfZGlzcGF0Y2hlci5oCitA QCAtOSwxMyArOSwxNSBAQAorICNpbmNsdWRlIDxjc3RkZGVmPgorIAorICNpbmNsdWRlICJzYW5k Ym94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3NlY2NvbXAuaCIKKysjaW5jbHVkZSAic2Fu ZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF9zdGF0LmgiCisrI2luY2x1ZGUgInNhbmRi b3gvc2FuZGJveF9leHBvcnQuaCIKKyAKKyBuYW1lc3BhY2Ugc2FuZGJveCB7CisgbmFtZXNwYWNl IHN5c2NhbGxfYnJva2VyIHsKKyAKKyAvLyBBbiBhYnN0cmFjdCBjbGFzcyB0aGF0IGRlZmluZXMg YWxsIHRoZSBzeXN0ZW0gY2FsbHMgd2UgcGVyZm9ybSBmb3IgdGhlCisgLy8gc2FuZGJveGVkIHBy b2Nlc3MuCistY2xhc3MgU3lzY2FsbERpc3BhdGNoZXIgeworK2NsYXNzIFNBTkRCT1hfRVhQT1JU IFN5c2NhbGxEaXNwYXRjaGVyIHsKKyAgcHVibGljOgorICAgLy8gRW11bGF0ZXMgYWNjZXNzKCkv ZmFjY2Vzc2F0KCkuCisgICAvLyBYX09LIHdpbGwgYWx3YXlzIHJldHVybiBhbiBlcnJvciBpbiBw cmFjdGljZSBzaW5jZSB0aGUgYnJva2VyIHByb2Nlc3MKK0BAIC00MCwxOSArNDIsMzQgQEAgY2xh c3MgU3lzY2FsbERpc3BhdGNoZXIgeworICAgdmlydHVhbCBpbnQgUm1kaXIoY29uc3QgY2hhciog cGF0aCkgY29uc3QgPSAwOworIAorICAgLy8gRW11bGF0ZXMgc3RhdCgpL3N0YXQ2NCgpL2xzdGF0 KCkvbHN0YXQ2NCgpL2ZzdGF0YXQoKS9uZXdmc3RhdGF0KCkuCisrICAvLyBTdGF0NjQgaXMgb25s eSBhdmFpbGFibGUgb24gMzItYml0IHN5c3RlbXMuCisgICB2aXJ0dWFsIGludCBTdGF0KGNvbnN0 IGNoYXIqIHBhdGhuYW1lLAorICAgICAgICAgICAgICAgICAgICBib29sIGZvbGxvd19saW5rcywK Ky0gICAgICAgICAgICAgICAgICAgc3RydWN0IHN0YXQqIHNiKSBjb25zdCA9IDA7CisrICAgICAg ICAgICAgICAgICAgIHN0cnVjdCBrZXJuZWxfc3RhdCogc2IpIGNvbnN0ID0gMDsKKyAgIHZpcnR1 YWwgaW50IFN0YXQ2NChjb25zdCBjaGFyKiBwYXRobmFtZSwKKyAgICAgICAgICAgICAgICAgICAg ICBib29sIGZvbGxvd19saW5rcywKKy0gICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qgc3RhdDY0 KiBzYikgY29uc3QgPSAwOworKyAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBrZXJuZWxfc3Rh dDY0KiBzYikgY29uc3QgPSAwOworIAorICAgLy8gRW11bGF0ZXMgdW5saW5rKCkvdW5saW5rYXQo KS4KKyAgIHZpcnR1YWwgaW50IFVubGluayhjb25zdCBjaGFyKiB1bmxpbmspIGNvbnN0ID0gMDsK KyAKKysgIC8vIERpZmZlcmVudCBhcmNoaXRlY3R1cmVzIHVzZSBhIGRpZmZlcmVudCBzeXNjYWxs IGZyb20gdGhlIHN0YXQgZmFtaWx5IGJ5CisrICAvLyBkZWZhdWx0IGluIGdsaWJjLiBFLmcuIDMy LWJpdCBzeXN0ZW1zIHVzZSAqc3RhdCo2NCgpIGFuZCBmaWxsIG91dCBzdHJ1Y3QKKysgIC8vIGtl cm5lbF9zdGF0NjQsIHdoZXJlYXMgNjQtYml0IHN5c3RlbXMgdXNlICpzdGF0KigpIGFuZCBmaWxs IG91dCBzdHJ1Y3QKKysgIC8vIGtlcm5lbF9zdGF0LiBTb21lIHRlc3RzIHdhbnQgdG8gY2FsbCB0 aGUgU3lzY2FsbERpc3BhdGNoZXIgZGlyZWN0bHksIGFuZAorKyAgLy8gc2hvdWxkIGJlIHVzaW5n IHRoZSBkZWZhdWx0IHN0YXQgaW4gb3JkZXIgdG8gdGVzdCBhZ2FpbnN0IGdsaWJjLgorKyAgaW50 IERlZmF1bHRTdGF0Rm9yVGVzdGluZyhjb25zdCBjaGFyKiBwYXRobmFtZSwKKysgICAgICAgICAg ICAgICAgICAgICAgICAgICAgYm9vbCBmb2xsb3dfbGlua3MsCisrICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGRlZmF1bHRfc3RhdF9zdHJ1Y3QqIHNiKTsKKysKKyAgIC8vIFZhbGlkYXRlcyB0 aGUgYXJncyBwYXNzZWQgdG8gYSAqc3RhdGF0KigpIHN5c2NhbGwgYW5kIHBlcmZvcm1zIHRoZSBz eXNjYWxsCistICAvLyB1c2luZyBTdGF0KCkgb3IgU3RhdDY0KCkuCistICBpbnQgUGVyZm9ybVN0 YXRhdChjb25zdCBhcmNoX3NlY2NvbXBfZGF0YSYgYXJncywgYm9vbCBhcmNoNjQpOworKyAgLy8g dXNpbmcgU3RhdCgpLCBvciBvbiAzMi1iaXQgc3lzdGVtcyBpdCB1c2VzIFN0YXQ2NCgpIGZvciB0 aGUgKnN0YXRhdDY0KCkKKysgIC8vIHN5c2NhbGxzLgorKyAgaW50IFBlcmZvcm1TdGF0YXQoY29u c3QgYXJjaF9zZWNjb21wX2RhdGEmIGFyZ3MsIGJvb2wgc3RhdDY0KTsKKysKKysgIC8vIFZhbGlk YXRlcyB0aGUgYXJncyBwYXNzZWQgdG8gYW4gdW5saW5rYXQoKSBzeXNjYWxsIGFuZCBwZXJmb3Jt cyB0aGUgc3lzY2FsbAorKyAgLy8gdXNpbmcgZWl0aGVyIFVubGluaygpIG9yIFJtZGlyKCkuCisr ICBpbnQgUGVyZm9ybVVubGlua2F0KGNvbnN0IGFyY2hfc2VjY29tcF9kYXRhJiBhcmdzKTsKKyAK KyAgIC8vIFJlYWRzIHRoZSBzeXNjYWxsIG51bWJlciBhbmQgYXJndW1lbnRzLCBpbXBvc2VzIHNv bWUgcG9saWN5IChlLmcuIHRoZSAqYXQoKQorICAgLy8gc3lzdGVtIGNhbGxzIG11c3Qgb25seSBh bGxvdyBBVF9GRENXRCBhcyB0aGUgZmlyc3QgYXJndW1lbnQpLCBhbmQKK2RpZmYgLS1naXQgYS9z YW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3N0YXQuaCBiL3NhbmRib3gvbGludXgv c3lzdGVtX2hlYWRlcnMvbGludXhfc3RhdC5oCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXgg MDAwMDAwMDAwMDAwMC4uMzU3ODhlYjIyYTRlNQorLS0tIC9kZXYvbnVsbAorKysrIGIvc2FuZGJv eC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF9zdGF0LmgKK0BAIC0wLDAgKzEsMTg4IEBACisr Ly8gQ29weXJpZ2h0IDIwMjEgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2 ZWQuCisrLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5 bGUgbGljZW5zZSB0aGF0IGNhbiBiZQorKy8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisr CisrI2lmbmRlZiBTQU5EQk9YX0xJTlVYX1NZU1RFTV9IRUFERVJTX0xJTlVYX1NUQVRfSF8KKysj ZGVmaW5lIFNBTkRCT1hfTElOVVhfU1lTVEVNX0hFQURFUlNfTElOVVhfU1RBVF9IXworKworKyNp bmNsdWRlIDxzdGRpbnQuaD4KKysKKysjaW5jbHVkZSAiYnVpbGQvYnVpbGRfY29uZmlnLmgiCisr I2luY2x1ZGUgInNhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbGludXhfc3lzY2FsbHMuaCIK KysKKysjaWYgZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkKKysjaWYgZGVmaW5lZChBUkNI X0NQVV82NF9CSVRTKQorK3N0cnVjdCBrZXJuZWxfc3RhdCB7CisrI2Vsc2UKKytzdHJ1Y3Qga2Vy bmVsX3N0YXQ2NCB7CisrI2VuZGlmCisrICB1bnNpZ25lZCBzdF9kZXY7CisrICB1bnNpZ25lZCBf X3BhZDBbM107CisrICB1bnNpZ25lZCBsb25nIGxvbmcgc3RfaW5vOworKyAgdW5zaWduZWQgc3Rf bW9kZTsKKysgIHVuc2lnbmVkIHN0X25saW5rOworKyAgdW5zaWduZWQgc3RfdWlkOworKyAgdW5z aWduZWQgc3RfZ2lkOworKyAgdW5zaWduZWQgc3RfcmRldjsKKysgIHVuc2lnbmVkIF9fcGFkMVsz XTsKKysgIGxvbmcgbG9uZyBzdF9zaXplOworKyAgdW5zaWduZWQgc3RfYXRpbWVfOworKyAgdW5z aWduZWQgc3RfYXRpbWVfbnNlY187CisrICB1bnNpZ25lZCBzdF9tdGltZV87CisrICB1bnNpZ25l ZCBzdF9tdGltZV9uc2VjXzsKKysgIHVuc2lnbmVkIHN0X2N0aW1lXzsKKysgIHVuc2lnbmVkIHN0 X2N0aW1lX25zZWNfOworKyAgdW5zaWduZWQgc3RfYmxrc2l6ZTsKKysgIHVuc2lnbmVkIF9fcGFk MjsKKysgIHVuc2lnbmVkIGxvbmcgbG9uZyBzdF9ibG9ja3M7CisrfTsKKysjZWxzZQorK3N0cnVj dCBrZXJuZWxfc3RhdDY0IHsKKysgIHVuc2lnbmVkIGxvbmcgbG9uZyBzdF9kZXY7CisrICB1bnNp Z25lZCBjaGFyIF9fcGFkMFs0XTsKKysgIHVuc2lnbmVkIF9fc3RfaW5vOworKyAgdW5zaWduZWQg c3RfbW9kZTsKKysgIHVuc2lnbmVkIHN0X25saW5rOworKyAgdW5zaWduZWQgc3RfdWlkOworKyAg dW5zaWduZWQgc3RfZ2lkOworKyAgdW5zaWduZWQgbG9uZyBsb25nIHN0X3JkZXY7CisrICB1bnNp Z25lZCBjaGFyIF9fcGFkM1s0XTsKKysgIGxvbmcgbG9uZyBzdF9zaXplOworKyAgdW5zaWduZWQg c3RfYmxrc2l6ZTsKKysgIHVuc2lnbmVkIGxvbmcgbG9uZyBzdF9ibG9ja3M7CisrICB1bnNpZ25l ZCBzdF9hdGltZV87CisrICB1bnNpZ25lZCBzdF9hdGltZV9uc2VjXzsKKysgIHVuc2lnbmVkIHN0 X210aW1lXzsKKysgIHVuc2lnbmVkIHN0X210aW1lX25zZWNfOworKyAgdW5zaWduZWQgc3RfY3Rp bWVfOworKyAgdW5zaWduZWQgc3RfY3RpbWVfbnNlY187CisrICB1bnNpZ25lZCBsb25nIGxvbmcg c3RfaW5vOworK307CisrI2VuZGlmCisrCisrI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmlu ZWQoX19BUk1fQVJDSF8zX18pIHx8IGRlZmluZWQoX19BUk1fRUFCSV9fKQorK3N0cnVjdCBrZXJu ZWxfc3RhdCB7CisrICAvKiBUaGUga2VybmVsIGhlYWRlcnMgc3VnZ2VzdCB0aGF0IHN0X2RldiBh bmQgc3RfcmRldiBzaG91bGQgYmUgMzJiaXQKKysgICAqIHF1YW50aXRpZXMgZW5jb2RpbmcgMTJi aXQgbWFqb3IgYW5kIDIwYml0IG1pbm9yIG51bWJlcnMgaW4gYW4gaW50ZXJsZWF2ZWQKKysgICAq IGZvcm1hdC4gSW4gcmVhbGl0eSwgd2UgZG8gbm90IHNlZSB1c2VmdWwgZGF0YSBpbiB0aGUgdG9w IGJpdHMuIFNvLAorKyAgICogd2UnbGwgbGVhdmUgdGhlIHBhZGRpbmcgaW4gaGVyZSwgdW50aWwg d2UgZmluZCBhIGJldHRlciBzb2x1dGlvbi4KKysgICAqLworKyAgdW5zaWduZWQgc2hvcnQgc3Rf ZGV2OworKyAgc2hvcnQgcGFkMTsKKysgIHVuc2lnbmVkIHN0X2lubzsKKysgIHVuc2lnbmVkIHNo b3J0IHN0X21vZGU7CisrICB1bnNpZ25lZCBzaG9ydCBzdF9ubGluazsKKysgIHVuc2lnbmVkIHNo b3J0IHN0X3VpZDsKKysgIHVuc2lnbmVkIHNob3J0IHN0X2dpZDsKKysgIHVuc2lnbmVkIHNob3J0 IHN0X3JkZXY7CisrICBzaG9ydCBwYWQyOworKyAgdW5zaWduZWQgc3Rfc2l6ZTsKKysgIHVuc2ln bmVkIHN0X2Jsa3NpemU7CisrICB1bnNpZ25lZCBzdF9ibG9ja3M7CisrICB1bnNpZ25lZCBzdF9h dGltZV87CisrICB1bnNpZ25lZCBzdF9hdGltZV9uc2VjXzsKKysgIHVuc2lnbmVkIHN0X210aW1l XzsKKysgIHVuc2lnbmVkIHN0X210aW1lX25zZWNfOworKyAgdW5zaWduZWQgc3RfY3RpbWVfOwor KyAgdW5zaWduZWQgc3RfY3RpbWVfbnNlY187CisrICB1bnNpZ25lZCBfX3VudXNlZDQ7CisrICB1 bnNpZ25lZCBfX3VudXNlZDU7CisrfTsKKysjZWxpZiBkZWZpbmVkKF9feDg2XzY0X18pCisrc3Ry dWN0IGtlcm5lbF9zdGF0IHsKKysgIHVpbnQ2NF90IHN0X2RldjsKKysgIHVpbnQ2NF90IHN0X2lu bzsKKysgIHVpbnQ2NF90IHN0X25saW5rOworKyAgdW5zaWduZWQgc3RfbW9kZTsKKysgIHVuc2ln bmVkIHN0X3VpZDsKKysgIHVuc2lnbmVkIHN0X2dpZDsKKysgIHVuc2lnbmVkIF9fcGFkMDsKKysg IHVpbnQ2NF90IHN0X3JkZXY7CisrICBpbnQ2NF90IHN0X3NpemU7CisrICBpbnQ2NF90IHN0X2Js a3NpemU7CisrICBpbnQ2NF90IHN0X2Jsb2NrczsKKysgIHVpbnQ2NF90IHN0X2F0aW1lXzsKKysg IHVpbnQ2NF90IHN0X2F0aW1lX25zZWNfOworKyAgdWludDY0X3Qgc3RfbXRpbWVfOworKyAgdWlu dDY0X3Qgc3RfbXRpbWVfbnNlY187CisrICB1aW50NjRfdCBzdF9jdGltZV87CisrICB1aW50NjRf dCBzdF9jdGltZV9uc2VjXzsKKysgIGludDY0X3QgX191bnVzZWQ0WzNdOworK307CisrI2VsaWYg KGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVfMzJfQklU UykpCisrc3RydWN0IGtlcm5lbF9zdGF0IHsKKysgIHVuc2lnbmVkIHN0X2RldjsKKysgIGludCBz dF9wYWQxWzNdOworKyAgdW5zaWduZWQgc3RfaW5vOworKyAgdW5zaWduZWQgc3RfbW9kZTsKKysg IHVuc2lnbmVkIHN0X25saW5rOworKyAgdW5zaWduZWQgc3RfdWlkOworKyAgdW5zaWduZWQgc3Rf Z2lkOworKyAgdW5zaWduZWQgc3RfcmRldjsKKysgIGludCBzdF9wYWQyWzJdOworKyAgbG9uZyBz dF9zaXplOworKyAgaW50IHN0X3BhZDM7CisrICBsb25nIHN0X2F0aW1lXzsKKysgIGxvbmcgc3Rf YXRpbWVfbnNlY187CisrICBsb25nIHN0X210aW1lXzsKKysgIGxvbmcgc3RfbXRpbWVfbnNlY187 CisrICBsb25nIHN0X2N0aW1lXzsKKysgIGxvbmcgc3RfY3RpbWVfbnNlY187CisrICBpbnQgc3Rf Ymxrc2l6ZTsKKysgIGludCBzdF9ibG9ja3M7CisrICBpbnQgc3RfcGFkNFsxNF07CisrfTsKKysj ZWxpZiBkZWZpbmVkKF9fYWFyY2g2NF9fKQorK3N0cnVjdCBrZXJuZWxfc3RhdCB7CisrICB1bnNp Z25lZCBsb25nIHN0X2RldjsKKysgIHVuc2lnbmVkIGxvbmcgc3RfaW5vOworKyAgdW5zaWduZWQg aW50IHN0X21vZGU7CisrICB1bnNpZ25lZCBpbnQgc3Rfbmxpbms7CisrICB1bnNpZ25lZCBpbnQg c3RfdWlkOworKyAgdW5zaWduZWQgaW50IHN0X2dpZDsKKysgIHVuc2lnbmVkIGxvbmcgc3RfcmRl djsKKysgIHVuc2lnbmVkIGxvbmcgX19wYWQxOworKyAgbG9uZyBzdF9zaXplOworKyAgaW50IHN0 X2Jsa3NpemU7CisrICBpbnQgX19wYWQyOworKyAgbG9uZyBzdF9ibG9ja3M7CisrICBsb25nIHN0 X2F0aW1lXzsKKysgIHVuc2lnbmVkIGxvbmcgc3RfYXRpbWVfbnNlY187CisrICBsb25nIHN0X210 aW1lXzsKKysgIHVuc2lnbmVkIGxvbmcgc3RfbXRpbWVfbnNlY187CisrICBsb25nIHN0X2N0aW1l XzsKKysgIHVuc2lnbmVkIGxvbmcgc3RfY3RpbWVfbnNlY187CisrICB1bnNpZ25lZCBpbnQgX191 bnVzZWQ0OworKyAgdW5zaWduZWQgaW50IF9fdW51c2VkNTsKKyt9OworKyNlbmRpZgorKworKy8v IE9uIDMyLWJpdCBzeXN0ZW1zLCB3ZSBkZWZhdWx0IHRvIHRoZSA2NC1iaXQgc3RhdCBzdHJ1Y3Qg bGlrZSBsaWJjCisrLy8gaW1wbGVtZW50YXRpb25zIGRvLiBPdGhlcndpc2Ugd2UgZGVmYXVsdCB0 byB0aGUgbm9ybWFsIHN0YXQgc3RydWN0IHdoaWNoIGlzCisrLy8gYWxyZWFkeSA2NC1iaXQuCisr Ly8gVGhlc2UgZGVmaW5lcyBtYWtlIGl0IGVhc3kgdG8gY2FsbCB0aGUgcmlnaHQgc3lzY2FsbCB0 byBmaWxsIG91dCBhIDY0LWJpdAorKy8vIHN0YXQgc3RydWN0LCB3aGljaCBpcyB0aGUgZGVmYXVs dCBpbiBsaWJjIGltcGxlbWVudGF0aW9ucyBidXQgcmVxdWlyZXMKKysvLyBkaWZmZXJlbnQgc3lz Y2FsbCBuYW1lcyBvbiAzMiBhbmQgNjQtYml0IHBsYXRmb3Jtcy4KKysjaWYgZGVmaW5lZChfX05S X2ZzdGF0YXQ2NCkKKysKKytuYW1lc3BhY2Ugc2FuZGJveCB7CisrdXNpbmcgZGVmYXVsdF9zdGF0 X3N0cnVjdCA9IHN0cnVjdCBrZXJuZWxfc3RhdDY0OworK30gIC8vIG5hbWVzcGFjZSBzYW5kYm94 CisrCisrI2RlZmluZSBfX05SX2ZzdGF0YXRfZGVmYXVsdCBfX05SX2ZzdGF0YXQ2NAorKyNkZWZp bmUgX19OUl9mc3RhdF9kZWZhdWx0IF9fTlJfZnN0YXQ2NAorKworKyNlbGlmIGRlZmluZWQoX19O Ul9uZXdmc3RhdGF0KQorKworK25hbWVzcGFjZSBzYW5kYm94IHsKKyt1c2luZyBkZWZhdWx0X3N0 YXRfc3RydWN0ID0gc3RydWN0IGtlcm5lbF9zdGF0OworK30gIC8vIG5hbWVzcGFjZSBzYW5kYm94 CisrCisrI2RlZmluZSBfX05SX2ZzdGF0YXRfZGVmYXVsdCBfX05SX25ld2ZzdGF0YXQKKysjZGVm aW5lIF9fTlJfZnN0YXRfZGVmYXVsdCBfX05SX2ZzdGF0CisrCisrI2Vsc2UKKysjZXJyb3IgIm9u ZSBvZiBmc3RhdGF0NjQgYW5kIG5ld2ZzdGF0YXQgbXVzdCBiZSBkZWZpbmVkIgorKyNlbmRpZgor KworKyNlbmRpZiAgLy8gU0FOREJPWF9MSU5VWF9TWVNURU1fSEVBREVSU19MSU5VWF9TVEFUX0hf CitkaWZmIC0tZ2l0IGEvc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF90aW1lLmgg Yi9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3RpbWUuaAoraW5kZXggNzgwZjI0 ZGRkZDlmYS4uZjE4YzgwNjYxMWY4MyAxMDA2NDQKKy0tLSBhL3NhbmRib3gvbGludXgvc3lzdGVt X2hlYWRlcnMvbGludXhfdGltZS5oCisrKysgYi9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJz L2xpbnV4X3RpbWUuaAorQEAgLTExLDYgKzExLDMyIEBACisgI2RlZmluZSBDUFVDTE9DS19DTE9D S19NQVNLIDMKKyAjZW5kaWYKKyAKKysjaWYgIWRlZmluZWQoQ1BVQ0xPQ0tfUFJPRikKKysjZGVm aW5lIENQVUNMT0NLX1BST0YgMAorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChDUFVDTE9DS19W SVJUKQorKyNkZWZpbmUgQ1BVQ0xPQ0tfVklSVCAxCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVk KENQVUNMT0NLX1NDSEVEKQorKyNkZWZpbmUgQ1BVQ0xPQ0tfU0NIRUQgMgorKyNlbmRpZgorKwor KyNpZiAhZGVmaW5lZChDUFVDTE9DS19QRVJUSFJFQURfTUFTSykKKysjZGVmaW5lIENQVUNMT0NL X1BFUlRIUkVBRF9NQVNLIDQKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoTUFLRV9QUk9DRVNT X0NQVUNMT0NLKQorKyNkZWZpbmUgTUFLRV9QUk9DRVNTX0NQVUNMT0NLKHBpZCwgY2xvY2spIFwK KysgICgoaW50KSh+KHVuc2lnbmVkKShwaWQpIDw8IDMpIHwgKGludCkoY2xvY2spKQorKyNlbmRp ZgorKworKyNpZiAhZGVmaW5lZChNQUtFX1RIUkVBRF9DUFVDTE9DSykKKysjZGVmaW5lIE1BS0Vf VEhSRUFEX0NQVUNMT0NLKHRpZCwgY2xvY2spIFwKKysgICgoaW50KSh+KHVuc2lnbmVkKSh0aWQp IDw8IDMpIHwgKGludCkoKGNsb2NrKSB8IENQVUNMT0NLX1BFUlRIUkVBRF9NQVNLKSkKKysjZW5k aWYKKysKKyAjaWYgIWRlZmluZWQoQ0xPQ0tGRCkKKyAjZGVmaW5lIENMT0NLRkQgMworICNlbmRp ZgorZGlmZiAtLWdpdCBhL3NhbmRib3gvbGludXgvdGVzdHMvdGVzdF91dGlscy5jYyBiL3NhbmRi b3gvbGludXgvdGVzdHMvdGVzdF91dGlscy5jYworaW5kZXggODQ3YzIwYjIwYzVkMi4uY2Y2MDQx YTRiNDc2YSAxMDA2NDQKKy0tLSBhL3NhbmRib3gvbGludXgvdGVzdHMvdGVzdF91dGlscy5jYwor KysrIGIvc2FuZGJveC9saW51eC90ZXN0cy90ZXN0X3V0aWxzLmNjCitAQCAtNSwxMiArNSwxNCBA QAorICNpbmNsdWRlICJzYW5kYm94L2xpbnV4L3Rlc3RzL3Rlc3RfdXRpbHMuaCIKKyAKKyAjaW5j bHVkZSA8ZXJybm8uaD4KKysjaW5jbHVkZSA8c3lzL21tYW4uaD4KKyAjaW5jbHVkZSA8c3lzL3N0 YXQuaD4KKyAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisgI2luY2x1ZGUgPHN5cy93YWl0Lmg+Cisg I2luY2x1ZGUgPHVuaXN0ZC5oPgorIAorICNpbmNsdWRlICJiYXNlL2NoZWNrX29wLmgiCisrI2lu Y2x1ZGUgImJhc2UvbWVtb3J5L3BhZ2Vfc2l6ZS5oIgorICNpbmNsdWRlICJiYXNlL3Bvc2l4L2Vp bnRyX3dyYXBwZXIuaCIKKyAKKyBuYW1lc3BhY2Ugc2FuZGJveCB7CitAQCAtMzksNCArNDEsMTcg QEAgdm9pZCBUZXN0VXRpbHM6OkhhbmRsZVBvc3RGb3JrUmV0dXJuKHBpZF90IHBpZCkgeworICAg fQorIH0KKyAKKyt2b2lkKiBUZXN0VXRpbHM6Ok1hcFBhZ2VzT3JEaWUoc2l6ZV90IG51bV9wYWdl cykgeworKyAgdm9pZCogYWRkciA9IG1tYXAobnVsbHB0ciwgbnVtX3BhZ2VzICogYmFzZTo6R2V0 UGFnZVNpemUoKSwKKysgICAgICAgICAgICAgICAgICAgIFBST1RfUkVBRCB8IFBST1RfV1JJVEUs IE1BUF9QUklWQVRFIHwgTUFQX0FOT05ZTU9VUywgLTEsIDApOworKyAgUENIRUNLKGFkZHIpOwor KyAgcmV0dXJuIGFkZHI7CisrfQorKworK3ZvaWQgVGVzdFV0aWxzOjpNcHJvdGVjdExhc3RQYWdl T3JEaWUoY2hhciogYWRkciwgc2l6ZV90IG51bV9wYWdlcykgeworKyAgc2l6ZV90IGxhc3RfcGFn ZV9vZmZzZXQgPSAobnVtX3BhZ2VzIC0gMSkgKiBiYXNlOjpHZXRQYWdlU2l6ZSgpOworKyAgUENI RUNLKG1wcm90ZWN0KGFkZHIgKyBsYXN0X3BhZ2Vfb2Zmc2V0LCBiYXNlOjpHZXRQYWdlU2l6ZSgp LCBQUk9UX05PTkUpID49CisrICAgICAgICAgMCk7CisrfQorKworIH0gIC8vIG5hbWVzcGFjZSBz YW5kYm94CitkaWZmIC0tZ2l0IGEvc2FuZGJveC9saW51eC90ZXN0cy90ZXN0X3V0aWxzLmggYi9z YW5kYm94L2xpbnV4L3Rlc3RzL3Rlc3RfdXRpbHMuaAoraW5kZXggN2NmOTc0OWZlNGYxZi4uNDNi MDI4YjFlMzRlZiAxMDA2NDQKKy0tLSBhL3NhbmRib3gvbGludXgvdGVzdHMvdGVzdF91dGlscy5o CisrKysgYi9zYW5kYm94L2xpbnV4L3Rlc3RzL3Rlc3RfdXRpbHMuaAorQEAgLTE5LDYgKzE5LDgg QEAgY2xhc3MgVGVzdFV0aWxzIHsKKyAgIC8vIG1ha2VzIHN1cmUgdGhhdCBpZiBmb3JrKCkgc3Vj Y2VlZGVkIHRoZSBjaGlsZCBleGl0cworICAgLy8gYW5kIHRoZSBwYXJlbnQgd2FpdHMgZm9yIGl0 LgorICAgc3RhdGljIHZvaWQgSGFuZGxlUG9zdEZvcmtSZXR1cm4ocGlkX3QgcGlkKTsKKysgIHN0 YXRpYyB2b2lkKiBNYXBQYWdlc09yRGllKHNpemVfdCBudW1fcGFnZXMpOworKyAgc3RhdGljIHZv aWQgTXByb3RlY3RMYXN0UGFnZU9yRGllKGNoYXIqIGFkZHIsIHNpemVfdCBudW1fcGFnZXMpOwor IAorICBwcml2YXRlOgorICAgRElTQUxMT1dfSU1QTElDSVRfQ09OU1RSVUNUT1JTKFRlc3RVdGls cyk7CitkaWZmIC0tZ2l0IGEvc2FuZGJveC9wb2xpY3kvbGludXgvYnBmX2Jyb2tlcl9wb2xpY3lf bGludXguY2MgYi9zYW5kYm94L3BvbGljeS9saW51eC9icGZfYnJva2VyX3BvbGljeV9saW51eC5j YworaW5kZXggMjk2M2JiOWNhODYxMi4uNmRjOGMwNTgxYjQzYyAxMDA2NDQKKy0tLSBhL3NhbmRi b3gvcG9saWN5L2xpbnV4L2JwZl9icm9rZXJfcG9saWN5X2xpbnV4LmNjCisrKysgYi9zYW5kYm94 L3BvbGljeS9saW51eC9icGZfYnJva2VyX3BvbGljeV9saW51eC5jYworQEAgLTkzLDggKzkzLDgg QEAgUmVzdWx0RXhwciBCcm9rZXJQcm9jZXNzUG9saWN5OjpFdmFsdWF0ZVN5c2NhbGwoaW50IHN5 c25vKSBjb25zdCB7CisgICAgICAgICByZXR1cm4gQWxsb3coKTsKKyAgICAgICBicmVhazsKKyAj ZW5kaWYKKy0jaWYgZGVmaW5lZChfX05SX2ZzdGF0YXQpCistICAgIGNhc2UgX19OUl9mc3RhdGF0 OgorKyNpZiBkZWZpbmVkKF9fTlJfZnN0YXRhdDY0KQorKyAgICBjYXNlIF9fTlJfZnN0YXRhdDY0 OgorICAgICAgIGlmIChhbGxvd2VkX2NvbW1hbmRfc2V0Xy50ZXN0KHN5c2NhbGxfYnJva2VyOjpD T01NQU5EX1NUQVQpKQorICAgICAgICAgcmV0dXJuIEFsbG93KCk7CisgICAgICAgYnJlYWs7CmRp ZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvbWFrZS1kb20tZGlzdGlsbGVyLXBy b3RvYy1wbHVnaW4tY2FsbC1weTIuNy5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9t YWtlLWRvbS1kaXN0aWxsZXItcHJvdG9jLXBsdWdpbi1jYWxsLXB5Mi43LnBhdGNoCmRlbGV0ZWQg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyYTYxMDBmOTIwODcuLjAwMDAwMDAwMDAwMAotLS0gYS9z cmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvbWFrZS1kb20tZGlzdGlsbGVyLXByb3RvYy1wbHVnaW4t Y2FsbC1weTIuNy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM3ICswLDAgQEAKLUZyb20gMzU5 YjIyZDNmNzc1YWZhMzNjY2E5ZTRmOGZiNTdlYWRkMGVjNDExOCBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKLUZyb206IE5pY28gV2ViZXIgPHRoYWtpc0BjaHJvbWl1bS5vcmc+Ci1EYXRlOiBGcmks IDIzIEFwciAyMDIxIDE2OjIyOjE5ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIE1ha2UgZG9tIGRp c3RpbGxlciBwcm90b2MgcGx1Z2luIGV4cGxpY2l0bHkgY2FsbCBweTIuNwotCi1XaXRoIHRoaXMs IGNocm9tZSBidWlsZHMgd2l0aCB3aGVuIGAvdXNyL2Jpbi9lbnYgcHl0aG9uYCBpcyBweTMuCi0K LUJ1ZzogMTIwMjEzNAotQ2hhbmdlLUlkOiBJYmJkOTdhMTMxMWNjYjM0ZDQ2ZjI2NjkxMmM4NzFm ZDA1MjJmOTUzNQotUmV2aWV3ZWQtb246IGh0dHBzOi8vY2hyb21pdW0tcmV2aWV3Lmdvb2dsZXNv dXJjZS5jb20vYy9jaHJvbWl1bS9zcmMvKy8yODQ4NDQ1Ci1Db21taXQtUXVldWU6IE5pY28gV2Vi ZXIgPHRoYWtpc0BjaHJvbWl1bS5vcmc+Ci1Db21taXQtUXVldWU6IFlhcm9uIEZyaWVkbWFuIDx5 ZnJpZWRtYW5AY2hyb21pdW0ub3JnPgotQ29tbWl0LVF1ZXVlOiBEaXJrIFByYW5rZSA8ZHByYW5r ZUBnb29nbGUuY29tPgotQXV0by1TdWJtaXQ6IE5pY28gV2ViZXIgPHRoYWtpc0BjaHJvbWl1bS5v cmc+Ci1SZXZpZXdlZC1ieTogWWFyb24gRnJpZWRtYW4gPHlmcmllZG1hbkBjaHJvbWl1bS5vcmc+ Ci1SZXZpZXdlZC1ieTogRGlyayBQcmFua2UgPGRwcmFua2VAZ29vZ2xlLmNvbT4KLUNyLUNvbW1p dC1Qb3NpdGlvbjogcmVmcy9oZWFkcy9tYXN0ZXJAeyM4NzU3MDJ9Ci0tLS0KLSAuLi4vZG9tX2Rp c3RpbGxlcl9qcy9wcm90b2NfcGx1Z2lucy9qc29uX3ZhbHVlc19jb252ZXJ0ZXIucHkgfCA1ICsr KystCi0gMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotCi1k aWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvZG9tX2Rpc3RpbGxlcl9qcy9wcm90b2NfcGx1Z2lucy9q c29uX3ZhbHVlc19jb252ZXJ0ZXIucHkgYi90aGlyZF9wYXJ0eS9kb21fZGlzdGlsbGVyX2pzL3By b3RvY19wbHVnaW5zL2pzb25fdmFsdWVzX2NvbnZlcnRlci5weQotaW5kZXggZTg2YTg4Yzc1OWZj Yi4uY2FlMWE5OThjNDY1MCAxMDA3NTUKLS0tLSBhL3RoaXJkX3BhcnR5L2RvbV9kaXN0aWxsZXJf anMvcHJvdG9jX3BsdWdpbnMvanNvbl92YWx1ZXNfY29udmVydGVyLnB5Ci0rKysgYi90aGlyZF9w YXJ0eS9kb21fZGlzdGlsbGVyX2pzL3Byb3RvY19wbHVnaW5zL2pzb25fdmFsdWVzX2NvbnZlcnRl ci5weQotQEAgLTEsNyArMSwxMCBAQAotLSMhL3Vzci9iaW4vZW52IHB5dGhvbgotKyMhL3Vzci9i aW4vZW52IHB5dGhvbjIuNwotICMgQ29weXJpZ2h0IDIwMTYgVGhlIENocm9taXVtIEF1dGhvcnMu IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gIyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zl cm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCi0gIyBmb3VuZCBpbiB0aGUg TElDRU5TRSBmaWxlLgotKyMKLSsjIFRPRE8oY3JidWcuY29tLzEyMDIxMzQpOiBTd2l0Y2ggcnVu IGxpbmUgYmFjayB0byBqdXN0ICJweXRob24iCi0rIyBvbmNlIHRoaW5ncyBhcmUgcHkzLWNvbXBh dGlibGUuCi0gCi0gIiIicHJvdG9jIHBsdWdpbiB0byBjcmVhdGUgQysrIHJlYWRlci93cml0ZXIg Zm9yIEpTT04tZW5jb2RlZCBwcm90b2J1ZnMKLSAKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21p dW0vcGF0Y2hlcy9uby1leGVjaW5mby5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9u by1leGVjaW5mby5wYXRjaAppbmRleCBiNDI0MWQwMDU1NjIuLjZlNjcxODJiMjFiNiAxMDA2NDQK LS0tIGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL25vLWV4ZWNpbmZvLnBhdGNoCisrKyBiL3Ny Y3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9uby1leGVjaW5mby5wYXRjaApAQCAtMSw1ICsxLDUgQEAK LS0tLSBhL2Jhc2UvZGVidWcvc3RhY2tfdHJhY2VfcG9zaXguY2MJMjAxOS0wNS0xNCAxNDo0OTo0 NC4wMDAwMDAwMDAgLTA0MDAKLSsrKyBiL2Jhc2UvZGVidWcvc3RhY2tfdHJhY2VfcG9zaXguY2MJ MjAxOS0wNy0wMiAxMDo0Mzo0My40OTAwNDUwMTMgLTA0MDAKKy0tLSBhL2Jhc2UvZGVidWcvc3Rh Y2tfdHJhY2VfcG9zaXguY2MKKysrKyBiL2Jhc2UvZGVidWcvc3RhY2tfdHJhY2VfcG9zaXguY2MK IEBAIC0yNyw3ICsyNyw3IEBACiAgI2lmICFkZWZpbmVkKFVTRV9TWU1CT0xJWkUpCiAgI2luY2x1 ZGUgPGN4eGFiaS5oPgpAQCAtOSw3ICs5LDcgQEAKICAjaW5jbHVkZSA8ZXhlY2luZm8uaD4KICAj ZW5kaWYKICAKLUBAIC04Niw3ICs4Niw3IEBACitAQCAtODksNyArODksNyBAQAogICAgLy8gTm90 ZTogY29kZSBpbiB0aGlzIGZ1bmN0aW9uIGlzIE5PVCBhc3luYy1zaWduYWwgc2FmZSAoc3RkOjpz dHJpbmcgdXNlcwogICAgLy8gbWFsbG9jIGludGVybmFsbHkpLgogIApAQCAtMTgsMTYgKzE4LDcg QEAKICAgIHN0ZDo6c3RyaW5nOjpzaXplX3R5cGUgc2VhcmNoX2Zyb20gPSAwOwogICAgd2hpbGUg KHNlYXJjaF9mcm9tIDwgdGV4dC0+c2l6ZSgpKSB7CiAgICAgIC8vIExvb2sgZm9yIHRoZSBzdGFy dCBvZiBhIG1hbmdsZWQgc3ltYm9sLCBmcm9tIHNlYXJjaF9mcm9tLgotQEAgLTEyMSw3ICsxMjEs NyBAQAotICAgICAgIHNlYXJjaF9mcm9tID0gbWFuZ2xlZF9zdGFydCArIDI7Ci0gICAgIH0KLSAg IH0KLS0jZW5kaWYgIC8vICFkZWZpbmVkKF9fVUNMSUJDX18pICYmICFkZWZpbmVkKF9BSVgpCi0r I2VuZGlmICAvLyBkZWZpbmVkKF9fR0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkKLSB9Ci0gI2Vu ZGlmICAvLyAhZGVmaW5lZChVU0VfU1lNQk9MSVpFKQotIAotQEAgLTEzMyw3ICsxMzMsNyBAQAor QEAgLTEzNiw3ICsxMzYsNyBAQAogICAgdmlydHVhbCB+QmFja3RyYWNlT3V0cHV0SGFuZGxlcigp ID0gZGVmYXVsdDsKICB9OwogIApAQCAtMzYsMjUgKzI3LDE2IEBACiAgdm9pZCBPdXRwdXRQb2lu dGVyKHZvaWQqIHBvaW50ZXIsIEJhY2t0cmFjZU91dHB1dEhhbmRsZXIqIGhhbmRsZXIpIHsKICAg IC8vIFRoaXMgc2hvdWxkIGJlIG1vcmUgdGhhbiBlbm91Z2ggdG8gc3RvcmUgYSA2NC1iaXQgbnVt YmVyIGluIGhleDoKICAgIC8vIDE2IGhleCBkaWdpdHMgKyAxIGZvciBudWxsLXRlcm1pbmF0b3Iu Ci1AQCAtMjE2LDcgKzIxNiw3IEBACi0gICB9Ci0gI2VuZGlmICAvLyBkZWZpbmVkKFVTRV9TWU1C T0xJWkUpCi0gfQotLSNlbmRpZiAgLy8gIWRlZmluZWQoX19VQ0xJQkNfXykgJiYgIWRlZmluZWQo X0FJWCkKLSsjZW5kaWYgIC8vIGRlZmluZWQoX19HTElCQ19fKSAmJiAhZGVmaW5lZChfQUlYKQot IAotIHZvaWQgUHJpbnRUb1N0ZGVycihjb25zdCBjaGFyKiBvdXRwdXQpIHsKLSAgIC8vIE5PVEU6 IFRoaXMgY29kZSBNVVNUIGJlIGFzeW5jLXNpZ25hbCBzYWZlIChpdCdzIHVzZWQgYnkgaW4tcHJv Y2VzcwotQEAgLTgxMiw3ICs4MTIsNyBAQAotICAgLy8gTk9URTogVGhpcyBjb2RlIE1VU1QgYmUg YXN5bmMtc2lnbmFsIHNhZmUgKGl0J3MgdXNlZCBieSBpbi1wcm9jZXNzCi0gICAvLyBzdGFjayBk dW1waW5nIHNpZ25hbCBoYW5kbGVyKS4gTk8gbWFsbG9jIG9yIHN0ZGlvIGlzIGFsbG93ZWQgaGVy ZS4KLSAKLS0jaWYgIWRlZmluZWQoX19VQ0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkKLSsjaWYg ZGVmaW5lZChfX0dMSUJDX18pICYmICFkZWZpbmVkKF9BSVgpCitAQCAtODM5LDcgKzgzOSw3IEBA CisgICAvLyBJZiB3ZSBkbyBub3QgaGF2ZSB1bndpbmQgdGFibGVzLCB0aGVuIHRyeSB0cmFjaW5n IHVzaW5nIGZyYW1lIHBvaW50ZXJzLgorICAgcmV0dXJuIGJhc2U6OmRlYnVnOjpUcmFjZVN0YWNr RnJhbWVQb2ludGVycyhjb25zdF9jYXN0PGNvbnN0IHZvaWQqKj4odHJhY2UpLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3VudCwgMCk7CistI2VsaWYg IWRlZmluZWQoX19VQ0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkKKysjZWxpZiBkZWZpbmVkKF9f R0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkKICAgIC8vIFRob3VnaCB0aGUgYmFja3RyYWNlIEFQ SSBtYW4gcGFnZSBkb2VzIG5vdCBsaXN0IGFueSBwb3NzaWJsZSBuZWdhdGl2ZQogICAgLy8gcmV0 dXJuIHZhbHVlcywgd2UgdGFrZSBubyBjaGFuY2UuCiAgICByZXR1cm4gYmFzZTo6c2F0dXJhdGVk X2Nhc3Q8c2l6ZV90PihiYWNrdHJhY2UodHJhY2UsIGNvdW50KSk7Ci1AQCAtODI1LDEzICs4MjUs MTMgQEAKK0BAIC04NTIsMTMgKzg1MiwxMyBAQAogIC8vIE5PVEU6IFRoaXMgY29kZSBNVVNUIGJl IGFzeW5jLXNpZ25hbCBzYWZlIChpdCdzIHVzZWQgYnkgaW4tcHJvY2VzcwogIC8vIHN0YWNrIGR1 bXBpbmcgc2lnbmFsIGhhbmRsZXIpLiBOTyBtYWxsb2Mgb3Igc3RkaW8gaXMgYWxsb3dlZCBoZXJl LgogIApAQCAtNzAsMyArNTIsMjQgQEAKICB2b2lkIFN0YWNrVHJhY2U6Ok91dHB1dFRvU3RyZWFt V2l0aFByZWZpeChzdGQ6Om9zdHJlYW0qIG9zLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIHByZWZpeF9zdHJpbmcpIGNvbnN0IHsKICAgIFN0 cmVhbUJhY2t0cmFjZU91dHB1dEhhbmRsZXIgaGFuZGxlcihvcyk7CistLS0gYS92OC9zcmMvY29k ZWdlbi9leHRlcm5hbC1yZWZlcmVuY2UtdGFibGUuY2Mub3JpZworKysrIGIvdjgvc3JjL2NvZGVn ZW4vZXh0ZXJuYWwtcmVmZXJlbmNlLXRhYmxlLmNjCitAQCAtMTEsNyArMTEsOSBAQAorCisgI2lm IGRlZmluZWQoREVCVUcpICYmIGRlZmluZWQoVjhfT1NfTElOVVgpICYmICFkZWZpbmVkKFY4X09T X0FORFJPSUQpCisgI2RlZmluZSBTWU1CT0xJWkVfRlVOQ1RJT04KKysjaWYgZGVmaW5lZChfX0dM SUJDX18pCisgI2luY2x1ZGUgPGV4ZWNpbmZvLmg+CisrI2VuZGlmCisKKyAjaW5jbHVkZSA8dmVj dG9yPgorCitAQCAtOTYsNyArOTgsNyBAQAorIH0KKworIGNvbnN0IGNoYXIqIEV4dGVybmFsUmVm ZXJlbmNlVGFibGU6OlJlc29sdmVTeW1ib2wodm9pZCogYWRkcmVzcykgeworLSNpZmRlZiBTWU1C T0xJWkVfRlVOQ1RJT04KKysjaWYgZGVmaW5lZChTWU1CT0xJWkVfRlVOQ1RJT04pICYmIGRlZmlu ZWQoX19HTElCQ19fKQorICAgY2hhcioqIG5hbWVzID0gYmFja3RyYWNlX3N5bWJvbHMoJmFkZHJl c3MsIDEpOworICAgY29uc3QgY2hhciogbmFtZSA9IG5hbWVzWzBdOworICAgLy8gVGhlIGFycmF5 IG9mIG5hbWVzIGlzIG1hbGxvYydlZC4gSG93ZXZlciwgZWFjaCBuYW1lIHN0cmluZyBpcyBzdGF0 aWMKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9yZW1vdmUtbGx2bTEzLXdh cm5pbmctZmxhZ3MucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvcmVtb3ZlLWxsdm0x My13YXJuaW5nLWZsYWdzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MDAwMC4uZDFkYjdlNDIwMTU0Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9jaHJvbWl1bS9w YXRjaGVzL3JlbW92ZS1sbHZtMTMtd2FybmluZy1mbGFncy5wYXRjaApAQCAtMCwwICsxLDEzIEBA CistLS0gYS9idWlsZC9jb25maWcvY29tcGlsZXIvQlVJTEQuZ24ub3JpZworKysrIGIvYnVpbGQv Y29uZmlnL2NvbXBpbGVyL0JVSUxELmduCitAQCAtMTYyMCwxMCArMTYyMCw2IEBACisgCisgICAg ICAgICAgICMgVE9ETyhodHRwczovL2NyYnVnLmNvbS8xMDUwMjgxKTogQ2xlYW4gdXAsIGVuYWJs ZS4KKyAgICAgICAgICAgIi1Xbm8tbm9uLWMtdHlwZWRlZi1mb3ItbGlua2FnZSIsCistCistICAg ICAgICAgICMgVE9ETyhodHRwczovL2NyYnVnLmNvbS8xMjAzMDcxKTogQ2xlYW4gdXAgYW5kIGVu YWJsZS4KKy0gICAgICAgICAgIi1Xbm8tdW51c2VkLWJ1dC1zZXQtcGFyYW1ldGVyIiwKKy0gICAg ICAgICAgIi1Xbm8tdW51c2VkLWJ1dC1zZXQtdmFyaWFibGUiLAorICAgICAgICAgXQorIAorICAg ICAgICAgY2ZsYWdzX2MgKz0gWwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVz L3JlbW92ZS1zdHJpcF9iaW5hcnkucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvcmVt b3ZlLXN0cmlwX2JpbmFyeS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMDAuLjhiMTNjNmEwNTZhOAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvY2hyb21pdW0v cGF0Y2hlcy9yZW1vdmUtc3RyaXBfYmluYXJ5LnBhdGNoCkBAIC0wLDAgKzEsMzIgQEAKKy0tLSBh L2Nocm9tZS90ZXN0L2Nocm9tZWRyaXZlci9CVUlMRC5nbi5vcmlnCisrKysgYi9jaHJvbWUvdGVz dC9jaHJvbWVkcml2ZXIvQlVJTEQuZ24KK0BAIC0zMDgsMTEgKzMwOCw3IEBACisgICB9CisgfQor IAorLWlmIChpc19saW51eCkgeworLSAgY2hyb21lZHJpdmVyX291dHB1dCA9ICJjaHJvbWVkcml2 ZXIudW5zdHJpcHBlZCIKKy19IGVsc2UgeworLSAgY2hyb21lZHJpdmVyX291dHB1dCA9ICJjaHJv bWVkcml2ZXIiCistfQorK2Nocm9tZWRyaXZlcl9vdXRwdXQgPSAiY2hyb21lZHJpdmVyIgorIAor IGV4ZWN1dGFibGUoIiRjaHJvbWVkcml2ZXJfb3V0cHV0IikgeworICAgdGVzdG9ubHkgPSB0cnVl CitAQCAtMzM2LDE2ICszMzIsNiBAQAorICAgfQorIH0KKyAKKy1pZiAoaXNfbGludXgpIHsKKy0g IHN0cmlwX2JpbmFyeSgiY2hyb21lZHJpdmVyIikgeworLSAgICB0ZXN0b25seSA9IHRydWUKKy0g ICAgYmluYXJ5X2lucHV0ID0gIiRyb290X291dF9kaXIvJGNocm9tZWRyaXZlcl9vdXRwdXQiCist ICAgIHN5bWJvbF9vdXRwdXQgPSAiJHJvb3Rfb3V0X2Rpci9jaHJvbWVkcml2ZXIuZGVidWciCist ICAgIHN0cmlwcGVkX2JpbmFyeV9vdXRwdXQgPSAiJHJvb3Rfb3V0X2Rpci9jaHJvbWVkcml2ZXIi CistICAgIGRlcHMgPSBbICI6JGNocm9tZWRyaXZlcl9vdXRwdXQiIF0KKy0gIH0KKy19CistCisg cHl0aG9uX2xpYnJhcnkoImNocm9tZWRyaXZlcl9weV90ZXN0cyIpIHsKKyAgIHRlc3Rvbmx5ID0g dHJ1ZQorICAgZGVwcyA9IFsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vdGVtcGxhdGUg Yi9zcmNwa2dzL2Nocm9taXVtL3RlbXBsYXRlCmluZGV4IDExNzhiMmE5ZmIyZC4uM2E1ODU5NDNj YzBhIDEwMDY0NAotLS0gYS9zcmNwa2dzL2Nocm9taXVtL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mv Y2hyb21pdW0vdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdj aHJvbWl1bScKIHBrZ25hbWU9Y2hyb21pdW0KLSMgU2VlIGh0dHA6Ly93d3cuY2hyb21pdW0ub3Jn L2RldmVsb3BlcnMvY2FsZW5kYXIgZm9yIHRoZSBsYXRlc3QgdmVyc2lvbgotdmVyc2lvbj05MS4w LjQ0NzIuMTE0CisjIFNlZSBodHRwczovL2Nocm9taXVtZGFzaC5hcHBzcG90LmNvbS9yZWxlYXNl cz9wbGF0Zm9ybT1MaW51eCBmb3IgdGhlIGxhdGVzdCB2ZXJzaW9uCit2ZXJzaW9uPTkzLjAuNDU3 Ny42MwogcmV2aXNpb249MQogYXJjaHM9Imk2ODYqIHg4Nl82NCogYWFyY2g2NCogYXJtdjdsKiBw cGM2NGxlKiIKIHNob3J0X2Rlc2M9Ikdvb2dsZSdzIGF0dGVtcHQgYXQgY3JlYXRpbmcgYSBzYWZl ciwgZmFzdGVyLCBhbmQgbW9yZSBzdGFibGUgYnJvd3NlciIKQEAgLTksMjIgKzksMjIgQEAgbWFp bnRhaW5lcj0iRW5ubyBCb2xhbmQgPGdvdHRveEB2b2lkbGludXgub3JnPiIKIGxpY2Vuc2U9IkJT RC0zLUNsYXVzZSIKIGhvbWVwYWdlPSJodHRwczovL3d3dy5jaHJvbWl1bS5vcmcvIgogZGlzdGZp bGVzPSJodHRwczovL2NvbW1vbmRhdGFzdG9yYWdlLmdvb2dsZWFwaXMuY29tL2Nocm9taXVtLWJy b3dzZXItb2ZmaWNpYWwvJHtwa2duYW1lfS0ke3ZlcnNpb259LnRhci54eiIKLWNoZWNrc3VtPWMx YzdmZTc4M2YzMjUwOTc4NTAzZDRiZDUzMTQ0MDM5YmQ4MThkZThhNmU4OWRlNDkzZjI3ZGQ1MTY4 ZjdlNzEKK2NoZWNrc3VtPWVhZjM0ZmE2YzJmMjQwNTQ2NTVmYmIyMzc2YjZlM2RkZWU0Y2Y0ODY4 YzEzMjRjOTIxZTcxYTQ1Y2ZjOTQ4NTMKIG5vY3Jvc3M9eWVzCiAKIGxpYjMyZGlzYWJsZWQ9eWVz Ci1ub2RlYnVnPXllcwotbm9waWU9eWVzICAjIGNvbnRhaW5zIHRvb2xzIHRoYXQgYXJlIG5vdCBQ SUUsIGVuYWJsZXMgUElFIGl0c2VsZgogCi1idWlsZF9vcHRpb25zPSJjbGFuZyBqc19vcHRpbWl6 ZSB2YWFwaSBwdWxzZWF1ZGlvIHNuZGlvIHBpcGV3aXJlIgorYnVpbGRfb3B0aW9ucz0iY2xhbmcg ZGVidWcganNfb3B0aW1pemUgdmFhcGkgcHVsc2VhdWRpbyBzbmRpbyBwaXBld2lyZSIKK2J1aWxk X29wdGlvbnNfZGVmYXVsdD0iY2xhbmcganNfb3B0aW1pemUgdmFhcGkgcHVsc2VhdWRpbyBzbmRp byBwaXBld2lyZSIKIGRlc2Nfb3B0aW9uX2NsYW5nPSJVc2UgY2xhbmcgdG8gYnVpbGQiCitkZXNj X29wdGlvbl9kZWJ1Zz0iQnVpbGQgd2l0aCBkZWJ1ZyBzeW1ib2xzIgogZGVzY19vcHRpb25fanNf b3B0aW1pemU9Ik9wdGltaXplIHRoZSBKUyB1c2VkIGZvciBDaHJvbWl1bSdzIFVJIgogZGVzY19v cHRpb25fdmFhcGk9IkVuYWJsZSBzdXBwb3J0IGZvciBWQS1BUEkiCiBkZXNjX29wdGlvbl9wdWxz ZWF1ZGlvPSJFbmFibGUgc3VwcG9ydCBmb3IgUHVsc2VBdWRpbyIKIGRlc2Nfb3B0aW9uX3NuZGlv PSJFbmFibGUgc3VwcG9ydCBmb3Igc25kaW8iCiBkZXNjX29wdGlvbl9waXBld2lyZT0iRW5hYmxl IHN1cHBvcnQgZm9yIHNjcmVlbiBzaGFyaW5nIGZvciBXZWJSVEMgdmlhIFBpcGVXaXJlIgogCi1o b3N0bWFrZWRlcGVuZHM9IiQodm9wdF9pZiBjbGFuZyBjbGFuZykgcHl0aG9uIHBrZ2NvbmYgcGVy bCBncGVyZiBiaXNvbiBuaW5qYSBub2RlanMgaHdpZHMKK2hvc3RtYWtlZGVwZW5kcz0iJCh2b3B0 X2lmIGNsYW5nICJjbGFuZyBsbGQiKSBweXRob24gcGtnY29uZiBwZXJsIGdwZXJmIGJpc29uIG5p bmphIG5vZGVqcyBod2lkcwogIGxpYmF0b21pYy1kZXZlbCBsaWJldmVudC1kZXZlbCBsaWJnbGli LWRldmVsICQodm9wdF9pZiBqc19vcHRpbWl6ZSBvcGVuamRrKSIKIG1ha2VkZXBlbmRzPSJsaWJw bmctZGV2ZWwgZ3RrKy1kZXZlbCBndGsrMy1kZXZlbCBuc3MtZGV2ZWwgcGNpdXRpbHMtZGV2ZWwK ICBsaWJYaS1kZXZlbCBsaWJnY3J5cHQtZGV2ZWwgbGliZ25vbWUta2V5cmluZy1kZXZlbCBjdXBz LWRldmVsIGVsZnV0aWxzLWRldmVsCkBAIC0xNTYsNzEgKzE1Niw2NiBAQCBkb19jb25maWd1cmUo KSB7CiAKIAl0aGlyZF9wYXJ0eS9saWJhZGRyZXNzaW5wdXQvY2hyb21pdW0vdG9vbHMvdXBkYXRl LXN0cmluZ3MucHkKIAotCWNvbmYrPSgKKwljb25mPSgKIAkJJ2VuYWJsZV9uYWNsPWZhbHNlJwog CQknZW5hYmxlX25hY2xfbm9uc2ZpPWZhbHNlJwotCQkiaXNfY2xhbmc9JCh2b3B0X2lmIGNsYW5n IHRydWUgZmFsc2UpIgotCQknaXNfZGVidWc9ZmFsc2UnCi0JCSdjbGFuZ191c2VfY2hyb21lX3Bs dWdpbnM9ZmFsc2UnCisKKwkJJ3VzZV9zeXNyb290PWZhbHNlJwogCQknY3VzdG9tX3Rvb2xjaGFp bj0iLy9idWlsZC90b29sY2hhaW4vbGludXgvdW5idW5kbGU6ZGVmYXVsdCInCiAJCSdob3N0X3Rv b2xjaGFpbj0iLy9idWlsZC90b29sY2hhaW4vbGludXgvdW5idW5kbGU6ZGVmYXVsdCInCi0JCSdi bGlua19zeW1ib2xfbGV2ZWw9MCcKLQkJJ3N5bWJvbF9sZXZlbD0wJworCisJCSJpc19jbGFuZz0k KHZvcHRfaWYgY2xhbmcgdHJ1ZSBmYWxzZSkiCisJCSJ1c2VfbGxkPSQodm9wdF9pZiBjbGFuZyB0 cnVlIGZhbHNlKSIKKwkJJ2NsYW5nX3VzZV9jaHJvbWVfcGx1Z2lucz1mYWxzZScKKworCQkiZ29s ZF9wYXRoPVwiJHtYQlBTX0NST1NTX0JBU0V9L3Vzci9iaW4vbGQuZ29sZFwiIgorCQkndXNlX2N1 c3RvbV9saWJjeHg9ZmFsc2UnCisJCSd1c2VfZ29sZD1mYWxzZScKKworCQkjIGlzX2RlYnVnIG1h a2VzIHRoZSBidWlsZCBhIGRlYnVnIGJ1aWxkLCBjaGFuZ2VzIHNvbWUgdGhpbmdzLgorCQkjIG1p Z2h0IGJlIHVzZWZ1bCBmb3IgcmVhbCBkZWJ1Z2dpbmcgdnMganVzdCBkZWJ1ZyBzeW1ib2xzLgor CQkiaXNfZGVidWc9ZmFsc2UiCisJCSJibGlua19zeW1ib2xfbGV2ZWw9JCh2b3B0X2lmIGRlYnVn IDEgMCkiCisJCSJzeW1ib2xfbGV2ZWw9JCh2b3B0X2lmIGRlYnVnIDEgMCkiCisKIAkJJ2ljdV91 c2VfZGF0YV9maWxlPXRydWUnCisKIAkJJ3VzZV9hbGxvY2F0b3I9Im5vbmUiJwogCQkndXNlX2Fs bG9jYXRvcl9zaGltPWZhbHNlJwotCQkndXNlX2N1cHM9dHJ1ZScKLQkJJ3VzZV9zeXNyb290PWZh bHNlJwotCQkndXNlX3N5c3RlbV9oYXJmYnV6ej10cnVlJworCiAJCSdlbmFibGVfd2lkZXZpbmU9 dHJ1ZScKIAkJJ2VuYWJsZV9oYW5nb3V0X3NlcnZpY2VzX2V4dGVuc2lvbj10cnVlJwotCSkKIAot CWNvbmYrPSgKKwkJJ3VzZV9zeXN0ZW1faGFyZmJ1eno9dHJ1ZScKKworCQkndXNlX2N1cHM9dHJ1 ZScKKwogCQkidXNlX3ZhYXBpPSQodm9wdF9pZiB2YWFwaSB0cnVlIGZhbHNlKSIKLQkpCiAKLQkj IGh0dHBzOi8vY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMvKy9tYXN0ZXIv ZG9jcy9jbG9zdXJlX2NvbXBpbGF0aW9uLm1kCi0JY29uZis9KAorCQkjIGh0dHBzOi8vY2hyb21p dW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMvKy9tYXN0ZXIvZG9jcy9jbG9zdXJlX2Nv bXBpbGF0aW9uLm1kCiAJCSJlbmFibGVfanNfdHlwZV9jaGVjaz0kKHZvcHRfaWYganNfb3B0aW1p emUgdHJ1ZSBmYWxzZSkiCi0JKQogCi0JY29uZis9KAogCQkidXNlX3B1bHNlYXVkaW89JCh2b3B0 X2lmIHB1bHNlYXVkaW8gdHJ1ZSBmYWxzZSkiCi0JKQorCQkibGlua19wdWxzZWF1ZGlvPSQodm9w dF9pZiBwdWxzZWF1ZGlvIHRydWUgZmFsc2UpIgogCi0JY29uZis9KAogCQkicnRjX3VzZV9waXBl d2lyZT0kKHZvcHRfaWYgcGlwZXdpcmUgdHJ1ZSBmYWxzZSkiCi0JKQotCi0JIyBVc2UgZXhwbGlj aXQgbGlicmFyeSBkZXBlbmRlbmNpZXMgaW5zdGVhZCBvZiBkbG9wZW4uCi0JIyBHTiBvbmx5IGhh cyAibGlua19wdWxzZWF1ZGlvIiwgdGhlIG90aGVyIG9wdGlvbnMgdXNlZCBiZWZvcmUgYXJlIG5v dCBhdmFpbGFibGUgYXRtCi0JIyBsaW51eF9saW5rX2N1cHM9dHJ1ZQotCSMgbGludXhfbGlua19n c2V0dGluZ3M9dHJ1ZQotCSMgbGludXhfbGlua19saWJwY2k9dHJ1ZQotCSMgbGludXhfbGlua19s aWJzcGVlY2hkPXRydWUKLQkjIGxpYnNwZWVjaGRfaF9wcmVmaXg9XCJzcGVlY2gtZGlzcGF0Y2hl ci9cIiIKLQljb25mKz0oICJsaW5rX3B1bHNlYXVkaW89JCh2b3B0X2lmIHB1bHNlYXVkaW8gdHJ1 ZSBmYWxzZSkiICkKIAotCWNvbmYrPSgKIAkJInVzZV9zbmRpbz0kKHZvcHRfaWYgc25kaW8gdHJ1 ZSBmYWxzZSkiCi0JKQotCi0JIyBOZXZlciB1c2UgYnVuZGxlZCBiaW51dGlscy9nb2xkIGJpbmFy eS4KLQljb25mKz0oCi0JCSJnb2xkX3BhdGg9XCIke1hCUFNfQ1JPU1NfQkFTRX0vdXNyL2Jpbi9s ZC5nb2xkXCIiCi0JCSd1c2VfY3VzdG9tX2xpYmN4eD1mYWxzZScKLQkJJ3VzZV9sbGQ9ZmFsc2Un Ci0JKQogCi0JIyBYWFg6IGdvbGQgYnJva2VuIHdpdGggbXVzbCwgaTY4NiwgYW5kIHg4Nl82NCBz byBkaXNhYmxlIGdsb2JhbGx5Ci0JY29uZis9KCAndXNlX2dvbGQ9ZmFsc2UnICkKLQotCSMgQWx3 YXlzIHN1cHBvcnQgcHJvcHJpZXRhcnkgY29kZWNzLgotCSMgRW5hYmxlIEguMjY0IHN1cHBvcnQg aW4gYnVuZGxlZCBmZm1wZWcuCi0JY29uZis9KAorCQkjIEFsd2F5cyBzdXBwb3J0IHByb3ByaWV0 YXJ5IGNvZGVjcy4KKwkJIyBFbmFibGUgSC4yNjQgc3VwcG9ydCBpbiBidW5kbGVkIGZmbXBlZy4K IAkJJ3Byb3ByaWV0YXJ5X2NvZGVjcz10cnVlJwogCQknZmZtcGVnX2JyYW5kaW5nPSJDaHJvbWUi JworCisJCSMgTWFrZSBzdXJlIHRoYXQgLVdlcnJvciBkb2Vzbid0IGdldCBhZGRlZCB0byBDRkxB R1MgYnkgdGhlIGJ1aWxkIHN5c3RlbS4KKwkJIyBEZXBlbmRpbmcgb24gR0NDIHZlcnNpb24gdGhl IHdhcm5pbmdzIGFyZSBkaWZmZXJlbnQgYW5kIHdlIGRvbid0IHdhbnQKKwkJIyB0aGUgYnVpbGQg dG8gZmFpbCBiZWNhdXNlIG9mIHRoYXQuCisJCSd0cmVhdF93YXJuaW5nc19hc19lcnJvcnM9ZmFs c2UnCisJCSdmYXRhbF9saW5rZXJfd2FybmluZ3M9ZmFsc2UnCisKKwkJIyBTYXZlIHNwYWNlIGJ5 IHJlbW92aW5nIERMT0cgYW5kIERDSEVDSyBtZXNzYWdlcyAoYWJvdXQgNiUgcmVkdWN0aW9uKS4K KwkJIyAnbG9nZ2luZ19saWtlX29mZmljaWFsX2J1aWxkPXRydWUnCisJCSdmaWVsZHRyaWFsX3Rl c3RpbmdfbGlrZV9vZmZpY2lhbF9idWlsZD10cnVlJwogCSkKIAogCSMgdGhpcyBkb2VzIG5vdCB3 b3JrIG9uIHBwYzY0IHlldApAQCAtMjI4LDE4ICsyMjMsNiBAQCBkb19jb25maWd1cmUoKSB7CiAJ CXBwYzY0KikgY29uZis9KCAiZW5hYmxlX2p4bF9kZWNvZGVyPWZhbHNlIiApOzsKIAllc2FjCiAK LQkjIE1ha2Ugc3VyZSB0aGF0IC1XZXJyb3IgZG9lc24ndCBnZXQgYWRkZWQgdG8gQ0ZMQUdTIGJ5 IHRoZSBidWlsZCBzeXN0ZW0uCi0JIyBEZXBlbmRpbmcgb24gR0NDIHZlcnNpb24gdGhlIHdhcm5p bmdzIGFyZSBkaWZmZXJlbnQgYW5kIHdlIGRvbid0IHdhbnQKLQkjIHRoZSBidWlsZCB0byBmYWls IGJlY2F1c2Ugb2YgdGhhdC4KLQljb25mKz0oCi0JCSd0cmVhdF93YXJuaW5nc19hc19lcnJvcnM9 ZmFsc2UnCi0JCSdmYXRhbF9saW5rZXJfd2FybmluZ3M9ZmFsc2UnCi0JKQotCi0JIyBTYXZlIHNw YWNlIGJ5IHJlbW92aW5nIERMT0cgYW5kIERDSEVDSyBtZXNzYWdlcyAoYWJvdXQgNiUgcmVkdWN0 aW9uKS4KLQkjIGNvbmYrPSIgbG9nZ2luZ19saWtlX29mZmljaWFsX2J1aWxkPXRydWUiCi0JY29u Zis9KCBmaWVsZHRyaWFsX3Rlc3RpbmdfbGlrZV9vZmZpY2lhbF9idWlsZD10cnVlICkKLQogCWNh c2UgIiR7WEJQU19UQVJHRVRfTUFDSElORX0iIGluCiAJCXg4Nl82NCopIGNvbmYrPSggJ3Rhcmdl dF9jcHU9Ing2NCInICkgOzsKIAkJaTY4NiopIGNvbmYrPSggJ3RhcmdldF9jcHU9Ing4NiInICkg OzsKQEAgLTI1NiwxMCArMjM5LDExIEBAIGRvX2J1aWxkKCkgewogCQlleHBvcnQgQ1hYPWNsYW5n KysKIAlmaQogCi0JbmluamEgLUMgb3V0L1JlbGVhc2UgJHttYWtlam9ic30gY2hyb21lIGNocm9t ZWRyaXZlciBta3NuYXBzaG90CisJbmluamEgLUMgb3V0L1JlbGVhc2UgJHttYWtlam9ic30gY2hy b21lIGNocm9tZWRyaXZlciBta3NuYXBzaG90IGNyYXNocGFkX2hhbmRsZXIKIH0KIGRvX2luc3Rh bGwoKSB7CiAJdmluc3RhbGwgb3V0L1JlbGVhc2UvY2hyb21lIDc1NSB1c3IvbGliLyR7cGtnbmFt ZX0gJHtwa2duYW1lfQorCXZpbnN0YWxsIG91dC9SZWxlYXNlL2NyYXNocGFkX2hhbmRsZXIgNzU1 IHVzci9saWIvJHtwa2duYW1lfSBjcmFzaHBhZF9oYW5kbGVyCiAJdmluc3RhbGwgb3V0L1JlbGVh c2UvY2hyb21lZHJpdmVyIDc1NSB1c3IvbGliLyR7cGtnbmFtZX0gY2hyb21lZHJpdmVyCiAJdmlu c3RhbGwgb3V0L1JlbGVhc2UvbGliRUdMLnNvIDc1NSB1c3IvbGliLyR7cGtnbmFtZX0gbGliRUdM LnNvCiAJdmluc3RhbGwgb3V0L1JlbGVhc2UvbGliR0xFU3YyLnNvIDc1NSB1c3IvbGliLyR7cGtn bmFtZX0gbGliR0xFU3YyLnNvCkBAIC0yOTAsNSArMjc0LDUgQEAgZG9faW5zdGFsbCgpIHsKIAog CXZiaW4gJHtGSUxFU0RJUn0vY2hyb21pdW0uc2ggY2hyb21pdW0KIAl2bGljZW5zZSBMSUNFTlNF Ci0JbG4gLXMgL3Vzci9saWIvY2hyb21pdW0vY2hyb21lZHJpdmVyICR7REVTVERJUn0vdXNyL2Jp bi9jaHJvbWVkcml2ZXIKKwlsbiAtc2YgL3Vzci9saWIvY2hyb21pdW0vY2hyb21lZHJpdmVyICR7 REVTVERJUn0vdXNyL2Jpbi9jaHJvbWVkcml2ZXIKIH0K --===============2827217539997689655==--