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 9251 invoked from network); 4 Sep 2021 12:47:32 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 4 Sep 2021 12:47:32 -0000 Content-Type: multipart/mixed; boundary="===============7363061505701669520==" 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 14:47:31 +0200 List-Id: Message-ID: <20210904124731.9spBpM7K0734-EsCC8PfmoaxCk3cFcpOgWB596ZhRUI@z> GitHub notification mails are now in MIME to allow UTF8. --===============7363061505701669520== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgRHVuY2FlbiBhZ2FpbnN0IG1hc3Rl ciBvbiB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20vRHVu Y2Flbi92b2lkLXBhY2thZ2VzIGNocm9taXVtLTkzCmh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxp bnV4L3ZvaWQtcGFja2FnZXMvcHVsbC8zMjgzMQoKY2hyb21pdW06IHVwZGF0ZSB0byA5My4wLjQ1 NzcuNjMuCltjaSBza2lwXQ0KDQotIFt4XSB4ODZfNjQtZ2xpYmMNCi0gW3hdIHg4Nl82NC1tdXNs DQotIFsgXSBpNjg2CgpBIHBhdGNoIGZpbGUgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vdm9pZC1s aW51eC92b2lkLXBhY2thZ2VzL3B1bGwvMzI4MzEucGF0Y2ggaXMgYXR0YWNoZWQ= --===============7363061505701669520== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-chromium-93-32831.patch" RnJvbSAyZjQwNGU4ZWI3NDY3MWUzNDY3ZWQ4MmE2NTJlNWExOTJlNjUwMjEwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBEdW5jYWVuIDxkdW5jYWVuQHZvaWRsaW51eC5vcmc+CkRhdGU6 IFNhdCwgNCBTZXAgMjAyMSAxNDozMToxNiArMDIwMApTdWJqZWN0OiBbUEFUQ0hdIGNocm9taXVt OiB1cGRhdGUgdG8gOTMuMC40NTc3LjYzLgoKLS0tCiAuLi4vZGVmYXVsdC1wdGhyZWFkLXN0YWNr c2l6ZS5wYXRjaCAgICAgICAgICAgfCAgICA2ICstCiAuLi4vZmlsZXMvbXVzbC1wYXRjaGVzL25v LW1hbGxpbmZvLnBhdGNoICAgICAgfCAgIDc1ICstCiAuLi4vbXVzbC1wYXRjaGVzL3h4eC1wcGM2 NGxlLXN1cHBvcnQucGF0Y2ggICAgfCAgIDEyIC0KIC4uLmUzZGZjZDA2OTBkZjBlN2IyMTJmZWRj Yjk1NDAyZjE2OTM1ZC5wYXRjaCB8ICAgMzYgKwogLi4uMTQwNTEyMTAzODhiZmNmZjYwNTU3MGQz M2YwOGNmYTdiY2FhLnBhdGNoIHwgICAzNiArCiAuLi5jOGI0ODRjMThjNjIxZDRiMTk0NjM1ZTQx ZjE3MTU0M2YxZGYucGF0Y2ggfCAgIDQyICsKIC4uLjllZTQ0N2NmNWYwMTYwZWE0YWU5NzhjZGYz N2Y1ZGNlY2QxZS5wYXRjaCB8ICAgMzYgKwogLi4uNWExMDUxNTUxYWYyNmFhZWZjNmZjZDMzNTAy YTUxNzI1Mzk2LnBhdGNoIHwgICAzNiArCiAuLi4vcGF0Y2hlcy9jaHJvbWl1bS04OC1nbGliYy0y LjMzLnBhdGNoICAgICAgfCAgMTQ0IC0tCiAuLi4vcGF0Y2hlcy9jaHJvbWl1bS05My1mZm1wZWct NC40LnBhdGNoICAgICAgfCAgIDM2ICsKIC4uLi9wYXRjaGVzL2Nocm9taXVtLTkzLXBkZml1bS1p bmNsdWRlLnBhdGNoICB8ICAxMTcgKysKIC4uLi9wYXRjaGVzL2N1cnNlZF5Vc2NvcGVkX2ZpbGUu cGF0Y2ggICAgICAgICB8ICAgMTggKwogLi4uL3BhdGNoZXMvZml4LWNyYXNoLWluLVRoZW1lU2Vy dmljZS5wYXRjaCAgIHwgICA0NSAtCiAuLi4vbGludXgtc2FuZGJveC1maXgtZnN0YXRhdC1jcmFz aC5wYXRjaCAgICAgfCAxMzg0ICsrKysrKysrKysrKysrKysrCiAuLi5tLWRpc3RpbGxlci1wcm90 b2MtcGx1Z2luLWNhbGwtcHkyLjcucGF0Y2ggfCAgIDM3IC0KIHNyY3BrZ3MvY2hyb21pdW0vcGF0 Y2hlcy9uby1leGVjaW5mby5wYXRjaCAgICB8ICAgNjEgKy0KIC4uLi9wYXRjaGVzL3JlbW92ZS1s bHZtMTMtd2FybmluZy1mbGFncy5wYXRjaCB8ICAgMTMgKwogLi4uL3BhdGNoZXMvcmVtb3ZlLW5h cnJvd2luZy1jYXN0LnBhdGNoICAgICAgIHwgICA0MiArCiAuLi4vcGF0Y2hlcy9yZW1vdmUtc3Ry aXBfYmluYXJ5LnBhdGNoICAgICAgICAgfCAgIDMyICsKIHNyY3BrZ3MvY2hyb21pdW0vdGVtcGxh dGUgICAgICAgICAgICAgICAgICAgICB8ICAxMTAgKy0KIDIwIGZpbGVzIGNoYW5nZWQsIDE5NDgg aW5zZXJ0aW9ucygrKSwgMzcwIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3Br Z3MvY2hyb21pdW0vcGF0Y2hlcy8xN2QwZTNkZmNkMDY5MGRmMGU3YjIxMmZlZGNiOTU0MDJmMTY5 MzVkLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzLzJm NTUxNDA1MTIxMDM4OGJmY2ZmNjA1NTcwZDMzZjA4Y2ZhN2JjYWEucGF0Y2gKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvODJlMmM4YjQ4NGMxOGM2MjFkNGIxOTQ2 MzVlNDFmMTcxNTQzZjFkZi5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2hyb21p dW0vcGF0Y2hlcy84YWU5OWVlNDQ3Y2Y1ZjAxNjBlYTRhZTk3OGNkZjM3ZjVkY2VjZDFlLnBhdGNo CiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzLzljNjc1YTEwNTE1 NTFhZjI2YWFlZmM2ZmNkMzM1MDJhNTE3MjUzOTYucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBz cmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tODgtZ2xpYmMtMi4zMy5wYXRjaAogY3Jl YXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS05My1mZm1w ZWctNC40LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVz L2Nocm9taXVtLTkzLXBkZml1bS1pbmNsdWRlLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3Jj cGtncy9jaHJvbWl1bS9wYXRjaGVzL2N1cnNlZF5Vc2NvcGVkX2ZpbGUucGF0Y2gKIGRlbGV0ZSBt b2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvZml4LWNyYXNoLWluLVRoZW1lU2Vy dmljZS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9s aW51eC1zYW5kYm94LWZpeC1mc3RhdGF0LWNyYXNoLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQg c3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL21ha2UtZG9tLWRpc3RpbGxlci1wcm90b2MtcGx1Z2lu LWNhbGwtcHkyLjcucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9taXVtL3Bh dGNoZXMvcmVtb3ZlLWxsdm0xMy13YXJuaW5nLWZsYWdzLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2 NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL3JlbW92ZS1uYXJyb3dpbmctY2FzdC5wYXRjaAog Y3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9yZW1vdmUtc3RyaXBf YmluYXJ5LnBhdGNoCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9maWxlcy9tdXNsLXBh dGNoZXMvZGVmYXVsdC1wdGhyZWFkLXN0YWNrc2l6ZS5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0v ZmlsZXMvbXVzbC1wYXRjaGVzL2RlZmF1bHQtcHRocmVhZC1zdGFja3NpemUucGF0Y2gKaW5kZXgg MTZlNGQyMWU2ZWQ4Li4yNjg4NGY2Y2M5MzcgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvY2hyb21pdW0v ZmlsZXMvbXVzbC1wYXRjaGVzL2RlZmF1bHQtcHRocmVhZC1zdGFja3NpemUucGF0Y2gKKysrIGIv c3JjcGtncy9jaHJvbWl1bS9maWxlcy9tdXNsLXBhdGNoZXMvZGVmYXVsdC1wdGhyZWFkLXN0YWNr c2l6ZS5wYXRjaApAQCAtNCw5ICs0LDkgQEAKIC0gIHJldHVybiAwOwogKyAgLy8gdXNlIDhtYiBs aWtlIGdsaWJjIHRvIGF2b2lkIHJ1bm5pbmcgb3V0IG9mIHNwYWNlCiArICByZXR1cm4gKDEgPDwg MjMpOwotLS0tIGNocm9tZS9hcHAvc2h1dGRvd25fc2lnbmFsX2hhbmRsZXJzX3Bvc2l4LmNjLm9y aWcKLSsrKyBjaHJvbWUvYXBwL3NodXRkb3duX3NpZ25hbF9oYW5kbGVyc19wb3NpeC5jYwotQEAg LTE4NCwxMSArMTg0LDE5IEBACistLS0gY2hyb21lL2Jyb3dzZXIvc2h1dGRvd25fc2lnbmFsX2hh bmRsZXJzX3Bvc2l4LmNjLm9yaWcKKysrKyBjaHJvbWUvYnJvd3Nlci9zaHV0ZG93bl9zaWduYWxf aGFuZGxlcnNfcG9zaXguY2MKK0BAIC0xODcsMTEgKzE4NywxOSBAQAogICAgZ19zaHV0ZG93bl9w aXBlX3JlYWRfZmQgPSBwaXBlZmRbMF07CiAgICBnX3NodXRkb3duX3BpcGVfd3JpdGVfZmQgPSBw aXBlZmRbMV07CiAgI2lmICFkZWZpbmVkKEFERFJFU1NfU0FOSVRJWkVSKQpkaWZmIC0tZ2l0IGEv c3JjcGtncy9jaHJvbWl1bS9maWxlcy9tdXNsLXBhdGNoZXMvbm8tbWFsbGluZm8ucGF0Y2ggYi9z cmNwa2dzL2Nocm9taXVtL2ZpbGVzL211c2wtcGF0Y2hlcy9uby1tYWxsaW5mby5wYXRjaAppbmRl eCBiMGM5ODMyNTE1ZDAuLjVmZDNkYzJiMzc5YyAxMDA2NDQKLS0tIGEvc3JjcGtncy9jaHJvbWl1 bS9maWxlcy9tdXNsLXBhdGNoZXMvbm8tbWFsbGluZm8ucGF0Y2gKKysrIGIvc3JjcGtncy9jaHJv bWl1bS9maWxlcy9tdXNsLXBhdGNoZXMvbm8tbWFsbGluZm8ucGF0Y2gKQEAgLTEsMzMgKzEsNTYg QEAKLS0tLSBiYXNlL3RyYWNlX2V2ZW50L21hbGxvY19kdW1wX3Byb3ZpZGVyLmNjLm9yaWcKLSsr KyBiYXNlL3RyYWNlX2V2ZW50L21hbGxvY19kdW1wX3Byb3ZpZGVyLmNjCi1AQCAtMjQzLDcgKzI0 Myw3IEBACi0gICBhbGxvY2F0ZWRfb2JqZWN0c19jb3VudCA9IG1haW5faGVhcF9pbmZvLmJsb2Nr X2NvdW50OworLS0tIC4vYmFzZS90cmFjZV9ldmVudC9tYWxsb2NfZHVtcF9wcm92aWRlci5jYy5v cmlnCisrKysgLi9iYXNlL3RyYWNlX2V2ZW50L21hbGxvY19kdW1wX3Byb3ZpZGVyLmNjCitAQCAt MjEyLDcgKzIxMiw3IEBACisgICAgICAgICAgICAgICAgICAgICAgJmFsbG9jYXRlZF9vYmplY3Rz X2NvdW50KTsKICAjZWxpZiBkZWZpbmVkKE9TX0ZVQ0hTSUEpCiAgLy8gVE9ETyhmdWNoc2lhKTog UG9ydCwgc2VlIGh0dHBzOi8vY3JidWcuY29tLzcwNjU5Mi4KIC0jZWxzZQogKyNlbGlmIGRlZmlu ZWQoX19HTElCQ19fKQotICAgc3RydWN0IG1hbGxpbmZvIGluZm8gPSBtYWxsaW5mbygpOwotICAg RENIRUNLX0dFKGluZm8uYXJlbmEgKyBpbmZvLmhibGtoZCwgaW5mby51b3JkYmxrcyk7CisgI2lm IGRlZmluZWQoX19HTElCQ19fKSAmJiBkZWZpbmVkKF9fR0xJQkNfUFJFUkVRKQorICNpZiBfX0dM SUJDX1BSRVJFUSgyLCAzMykKKyAjZGVmaW5lIE1BTExJTkZPMl9GT1VORF9JTl9MSUJDCistLS0g Li9iYXNlL3Byb2Nlc3MvcHJvY2Vzc19tZXRyaWNzX3Bvc2l4LmNjCisrKysgLi9iYXNlL3Byb2Nl c3MvcHJvY2Vzc19tZXRyaWNzX3Bvc2l4LmNjCitAQCAtMTA1LDcgKzEwNSw3IEBACiAgCi0tLS0g YmFzZS9wcm9jZXNzL3Byb2Nlc3NfbWV0cmljc19wb3NpeC5jYy5vcmlnCTIwMjAtMTEtMTggMjM6 NTA6MzMuOTU4MjIzNDk3IC0wNTAwCi0rKysgYmFzZS9wcm9jZXNzL3Byb2Nlc3NfbWV0cmljc19w b3NpeC5jYwkyMDIwLTExLTE4IDIzOjUzOjUyLjAyNDU4OTMxNiAtMDUwMAotQEAgLTExOSwxNCAr MTE5LDE0IEBACisgI2VuZGlmICAvLyAhZGVmaW5lZChPU19GVUNIU0lBKQorIAorLSNpZiBkZWZp bmVkKE9TX0xJTlVYKSB8fCBkZWZpbmVkKE9TX0NIUk9NRU9TKSB8fCBkZWZpbmVkKE9TX0FORFJP SUQpCisrI2lmIChkZWZpbmVkKE9TX0xJTlVYKSAmJiBkZWZpbmVkKF9fR0xJQkNfXykpIHx8IGRl ZmluZWQoT1NfQ0hST01FT1MpIHx8IGRlZmluZWQoT1NfQU5EUk9JRCkKKyBuYW1lc3BhY2Ugewor IAorIHNpemVfdCBHZXRNYWxsb2NVc2FnZU1hbGxpbmZvKCkgeworQEAgLTEyNywxNiArMTI3LDE2 IEBACisgfQorIAorIH0gIC8vIG5hbWVzcGFjZQorLSNlbmRpZiAgLy8gZGVmaW5lZChPU19MSU5V WCkgfHwgZGVmaW5lZChPU19DSFJPTUVPUykgfHwgZGVmaW5lZChPU19BTkRST0lEKQorKyNlbmRp ZiAgLy8gKGRlZmluZWQoT1NfTElOVVgpICYmIGRlZmluZWQoX19HTElCQ19fKSkgfHwgZGVmaW5l ZChPU19DSFJPTUVPUykgfHwgZGVmaW5lZChPU19BTkRST0lEKQorIAorIHNpemVfdCBQcm9jZXNz TWV0cmljczo6R2V0TWFsbG9jVXNhZ2UoKSB7CisgI2lmIGRlZmluZWQoT1NfQVBQTEUpCiAgICBt YWxsb2Nfc3RhdGlzdGljc190IHN0YXRzID0gezB9OwogICAgbWFsbG9jX3pvbmVfc3RhdGlzdGlj cyhudWxscHRyLCAmc3RhdHMpOwogICAgcmV0dXJuIHN0YXRzLnNpemVfaW5fdXNlOwogLSNlbGlm IGRlZmluZWQoT1NfTElOVVgpIHx8IGRlZmluZWQoT1NfQ0hST01FT1MpIHx8IGRlZmluZWQoT1Nf QU5EUk9JRCkKLSsjZWxpZiBkZWZpbmVkKF9fR0xJQkNfXykgfHwgZGVmaW5lZChPU19DSFJPTUVP UykgfHwgZGVmaW5lZChPU19BTkRST0lEKQotICAgc3RydWN0IG1hbGxpbmZvIG1pbmZvID0gbWFs bGluZm8oKTsKLSAjaWYgQlVJTERGTEFHKFVTRV9UQ01BTExPQykKLSAgIHJldHVybiBtaW5mby51 b3JkYmxrczsKLSAjZWxzZQotICAgcmV0dXJuIG1pbmZvLmhibGtoZCArIG1pbmZvLmFyZW5hOwot ICNlbmRpZgorKyNlbGlmIChkZWZpbmVkKE9TX0xJTlVYKSAmJiBkZWZpbmVkKF9fR0xJQkNfXykp IHx8IGRlZmluZWQoT1NfQ0hST01FT1MpIHx8IGRlZmluZWQoT1NfQU5EUk9JRCkKKyAgIHJldHVy biBHZXRNYWxsb2NVc2FnZU1hbGxpbmZvKCk7CiAtI2VsaWYgZGVmaW5lZChPU19GVUNIU0lBKQog KyNlbHNlCiAgICAvLyBUT0RPKGZ1Y2hzaWEpOiBOb3QgY3VycmVudGx5IGV4cG9zZWQuIGh0dHBz Oi8vY3JidWcuY29tLzczNTA4Ny4KICAgIHJldHVybiAwOwogICNlbmRpZgorLS0tIHRoaXJkX3Bh cnR5L3RmbGl0ZS9zcmMvdGVuc29yZmxvdy9saXRlL3Byb2ZpbGluZy9tZW1vcnlfaW5mby5jYy5v cmlnCisrKysgdGhpcmRfcGFydHkvdGZsaXRlL3NyYy90ZW5zb3JmbG93L2xpdGUvcHJvZmlsaW5n L21lbW9yeV9pbmZvLmNjCitAQCAtMzUsNyArMzUsNyBAQAorIAorIE1lbW9yeVVzYWdlIEdldE1l bW9yeVVzYWdlKCkgeworICAgTWVtb3J5VXNhZ2UgcmVzdWx0OworLSNpZmRlZiBfX2xpbnV4X18K KysjaWYgZGVmaW5lZChfX2xpbnV4X18pICYmIGRlZmluZWQoX19HTElCQ19fKQorICAgcnVzYWdl IHJlczsKKyAgIGlmIChnZXRydXNhZ2UoUlVTQUdFX1NFTEYsICZyZXMpID09IDApIHsKKyAgICAg cmVzdWx0Lm1heF9yc3Nfa2IgPSByZXMucnVfbWF4cnNzOwogLS0tIHRoaXJkX3BhcnR5L3N3aWZ0 c2hhZGVyL3RoaXJkX3BhcnR5L2xsdm0tc3ViemVyby9saWIvU3VwcG9ydC9Vbml4L1Byb2Nlc3Mu aW5jCiArKysgdGhpcmRfcGFydHkvc3dpZnRzaGFkZXIvdGhpcmRfcGFydHkvbGx2bS1zdWJ6ZXJv L2xpYi9TdXBwb3J0L1VuaXgvUHJvY2Vzcy5pbmMub3JpZwogQEAgLTg0LDcgKzg0LDcgQEAKQEAg LTUyLDIzICs3NSwzIEBACiAgCiAgLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxtYWxs b2MuaD4gaGVhZGVyIGZpbGUuICovCiAgI2RlZmluZSBIQVZFX01BTExPQ19IIDEKLS0tLSB0aGly ZF9wYXJ0eS90ZmxpdGUvc3JjL3RlbnNvcmZsb3cvbGl0ZS9wcm9maWxpbmcvbWVtb3J5X2luZm8u Y2Mub3JpZwkyMDIxLTA0LTE2IDE3OjM0OjM2LjY2NjM4NTIwNyAtMDQwMAotKysrIHRoaXJkX3Bh cnR5L3RmbGl0ZS9zcmMvdGVuc29yZmxvdy9saXRlL3Byb2ZpbGluZy9tZW1vcnlfaW5mby5jYwky MDIxLTA0LTE2IDE3OjM2OjAxLjE5NzYwMjk1MyAtMDQwMAotQEAgLTI3LDcgKzI3LDcgQEAKLSBj b25zdCBpbnQgTWVtb3J5VXNhZ2U6OmtWYWx1ZU5vdFNldCA9IDA7Ci0gCi0gYm9vbCBNZW1vcnlV c2FnZTo6SXNTdXBwb3J0ZWQoKSB7Ci0tI2lmZGVmIF9fbGludXhfXwotKyNpZmRlZiBkZWZpbmVk KF9fR0xJQkNfXykKLSAgIHJldHVybiB0cnVlOwotICNlbmRpZgotICAgcmV0dXJuIGZhbHNlOwot QEAgLTM1LDcgKzM1LDcgQEAKLSAKLSBNZW1vcnlVc2FnZSBHZXRNZW1vcnlVc2FnZSgpIHsKLSAg IE1lbW9yeVVzYWdlIHJlc3VsdDsKLS0jaWZkZWYgX19saW51eF9fCi0rI2lmZGVmIGRlZmluZWQo X19HTElCQ19fKQotICAgcnVzYWdlIHJlczsKLSAgIGlmIChnZXRydXNhZ2UoUlVTQUdFX1NFTEYs ICZyZXMpID09IDApIHsKLSAgICAgcmVzdWx0Lm1heF9yc3Nfa2IgPSByZXMucnVfbWF4cnNzOwpk aWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9maWxlcy9tdXNsLXBhdGNoZXMveHh4LXBwYzY0 bGUtc3VwcG9ydC5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vZmlsZXMvbXVzbC1wYXRjaGVzL3h4 eC1wcGM2NGxlLXN1cHBvcnQucGF0Y2gKaW5kZXggYmZhOTlkODhhOWIzLi45MDAxYTJhODU0ZDAg MTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvY2hyb21pdW0vZmlsZXMvbXVzbC1wYXRjaGVzL3h4eC1wcGM2 NGxlLXN1cHBvcnQucGF0Y2gKKysrIGIvc3JjcGtncy9jaHJvbWl1bS9maWxlcy9tdXNsLXBhdGNo ZXMveHh4LXBwYzY0bGUtc3VwcG9ydC5wYXRjaApAQCAtMSwxNSArMSwzIEBACi0tLS0gYmFzZS9h bGxvY2F0b3IvcGFydGl0aW9uX2FsbG9jYXRvci9wYXJ0aXRpb25fYWxsb2NfY29uZmlnLmgJMjAy MS0wNS0yNSAwMDowNTozMS4wMDAwMDAwMDAgKzAyMDAKLSsrKyAtCTIwMjEtMDUtMjYgMjI6MjM6 NDcuMTcyOTQwODI2ICswMjAwCi1AQCAtNzEsNyArNzEsOCBAQAotIC8vIFJFRl9DT1VOVF9BVF9F TkRfT0ZfQUxMT0NBVElPTiBkb2VzLiBJbiB0aGlzIGNhc2UgdGhlIHJlZmNvdW50IG92ZXJsYXBz IHdpdGgKLSAvLyB0aGUgbmV4dCBwb2ludGVyIHNoYWRvdyBmb3IgdGhlIHNtYWxsZXN0IGJ1Y2tl dC4KLSAjaWYgIShkZWZpbmVkKE9TX01BQykgJiYgZGVmaW5lZChBUkNIX0NQVV9BUk02NCkpICYm IFwKLS0gICAgIUJVSUxERkxBRyhSRUZfQ09VTlRfQVRfRU5EX09GX0FMTE9DQVRJT04pCi0rICAg ICFCVUlMREZMQUcoUkVGX0NPVU5UX0FUX0VORF9PRl9BTExPQ0FUSU9OKSAmJiBcCi0rICAgICFk ZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0gI2RlZmluZSBQQV9IQVNfRlJFRUxJU1RfSEFSREVOSU5H Ci0gI2VuZGlmCi0KIGRpZmYgLS1naXQgc2FuZGJveC9saW51eC9icGZfZHNsL3NlY2NvbXBfbWFj cm9zLmggc2FuZGJveC9saW51eC9icGZfZHNsL3NlY2NvbXBfbWFjcm9zLmgKIGluZGV4IGE2YWVj NTQ0ZS4uMmE0YTdmMWJjIDEwMDY0NAogLS0tIHNhbmRib3gvbGludXgvYnBmX2RzbC9zZWNjb21w X21hY3Jvcy5oCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvMTdkMGUzZGZj ZDA2OTBkZjBlN2IyMTJmZWRjYjk1NDAyZjE2OTM1ZC5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0v cGF0Y2hlcy8xN2QwZTNkZmNkMDY5MGRmMGU3YjIxMmZlZGNiOTU0MDJmMTY5MzVkLnBhdGNoCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uYzQzZGE4ZGZkOGFiCi0tLSAv ZGV2L251bGwKKysrIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzLzE3ZDBlM2RmY2QwNjkwZGYw ZTdiMjEyZmVkY2I5NTQwMmYxNjkzNWQucGF0Y2gKQEAgLTAsMCArMSwzNiBAQAorRnJvbSAxN2Qw ZTNkZmNkMDY5MGRmMGU3YjIxMmZlZGNiOTU0MDJmMTY5MzVkIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQorRnJvbTogSm9zZSBEYXBlbmEgUGF6IDxqZGFwZW5hQGlnYWxpYS5jb20+CitEYXRlOiBG cmksIDIzIEp1bCAyMDIxIDEwOjE3OjQ5ICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIElXWVU6IG1p c3NpbmcgaW5jbHVkZSBmb3IgdXNpbmcgc3RkOjp2ZWN0b3IgaW4gaGFzaCBwYXNzd29yZAorIG1h bmFnZXIuCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFy c2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK0ZpeCBidWlsZCBi cmVha2FnZToKKy4uLy4uL2NvbXBvbmVudHMvcGFzc3dvcmRfbWFuYWdlci9jb3JlL2Jyb3dzZXIv aGFzaF9wYXNzd29yZF9tYW5hZ2VyLmg6NDQ6ODogZXJyb3I6IOKAmHZlY3RvcuKAmSBpbiBuYW1l c3BhY2Ug4oCYc3Rk4oCZIGRvZXMgbm90IG5hbWUgYSB0ZW1wbGF0ZSB0eXBlCisgICA0NCB8ICAg c3RkOjp2ZWN0b3I8UGFzc3dvcmRIYXNoRGF0YT4gUmV0cmlldmVBbGxQYXNzd29yZEhhc2hlcygp OworICAgICAgfCAgICAgICAgXn5+fn5+CisKK0J1ZzogODE5Mjk0CitDaGFuZ2UtSWQ6IEk4Yzhh NGVjMzk3MmVlZGI4N2EzMTJjNWVjNTZhZGY0YTIxYjFiMmEyCitSZXZpZXdlZC1vbjogaHR0cHM6 Ly9jaHJvbWl1bS1yZXZpZXcuZ29vZ2xlc291cmNlLmNvbS9jL2Nocm9taXVtL3NyYy8rLzMwNDEw NDYKK0NvbW1pdC1RdWV1ZTogVmFzaWxpaSBTdWtoYW5vdiA8dmFzaWxpaUBjaHJvbWl1bS5vcmc+ CitSZXZpZXdlZC1ieTogVmFzaWxpaSBTdWtoYW5vdiA8dmFzaWxpaUBjaHJvbWl1bS5vcmc+CitD ci1Db21taXQtUG9zaXRpb246IHJlZnMvaGVhZHMvbWFzdGVyQHsjOTA0Njk2fQorLS0tCisgY29t cG9uZW50cy9wYXNzd29yZF9tYW5hZ2VyL2NvcmUvYnJvd3Nlci9oYXNoX3Bhc3N3b3JkX21hbmFn ZXIuaCB8IDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorCitkaWZmIC0tZ2l0 IGEvY29tcG9uZW50cy9wYXNzd29yZF9tYW5hZ2VyL2NvcmUvYnJvd3Nlci9oYXNoX3Bhc3N3b3Jk X21hbmFnZXIuaCBiL2NvbXBvbmVudHMvcGFzc3dvcmRfbWFuYWdlci9jb3JlL2Jyb3dzZXIvaGFz aF9wYXNzd29yZF9tYW5hZ2VyLmgKK2luZGV4IGM3NjJjNWE4Yzc3MTMuLjg1ZTY1NmVkY2JhMTEg MTAwNjQ0CistLS0gYS9jb21wb25lbnRzL3Bhc3N3b3JkX21hbmFnZXIvY29yZS9icm93c2VyL2hh c2hfcGFzc3dvcmRfbWFuYWdlci5oCisrKysgYi9jb21wb25lbnRzL3Bhc3N3b3JkX21hbmFnZXIv Y29yZS9icm93c2VyL2hhc2hfcGFzc3dvcmRfbWFuYWdlci5oCitAQCAtNiw2ICs2LDcgQEAKKyAj ZGVmaW5lIENPTVBPTkVOVFNfUEFTU1dPUkRfTUFOQUdFUl9DT1JFX0JST1dTRVJfSEFTSF9QQVNT V09SRF9NQU5BR0VSX0hfCisgCisgI2luY2x1ZGUgPHN0cmluZz4KKysjaW5jbHVkZSA8dmVjdG9y PgorIAorICNpbmNsdWRlICJiYXNlL2NhbGxiYWNrLmgiCisgI2luY2x1ZGUgImJhc2UvY2FsbGJh Y2tfbGlzdC5oIgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzLzJmNTUxNDA1 MTIxMDM4OGJmY2ZmNjA1NTcwZDMzZjA4Y2ZhN2JjYWEucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVt L3BhdGNoZXMvMmY1NTE0MDUxMjEwMzg4YmZjZmY2MDU1NzBkMzNmMDhjZmE3YmNhYS5wYXRjaApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjg3NTdlYjVjMzZhOQotLS0g L2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy8yZjU1MTQwNTEyMTAzODhi ZmNmZjYwNTU3MGQzM2YwOGNmYTdiY2FhLnBhdGNoCkBAIC0wLDAgKzEsMzYgQEAKK0Zyb20gMmY1 NTE0MDUxMjEwMzg4YmZjZmY2MDU1NzBkMzNmMDhjZmE3YmNhYSBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKK0Zyb206IEpvc2UgRGFwZW5hIFBheiA8amRhcGVuYUBpZ2FsaWEuY29tPgorRGF0ZTog V2VkLCAyMSBKdWwgMjAyMSAwODozNDo1OCArMDAwMAorU3ViamVjdDogW1BBVENIXSBJV1lVOiB1 c2FnZSBvZiB1bmlxdWVfcHRyIHJlcXVpcmVzIGluY2x1ZGluZyA8bWVtb3J5PiBpbgorIGJsdWV0 b290aCBsb3cgZW5lcmd5IHNjYW4gZmlsdGVyLgorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQt VHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGlu ZzogOGJpdAorCitGaXggYnVpbGQgYmVjYXVzZSBvZiBtaXNzaW5nIGluY2x1ZGU6CisuLi8uLi9k ZXZpY2UvYmx1ZXRvb3RoL2JsdWV0b290aF9sb3dfZW5lcmd5X3NjYW5fZmlsdGVyLmg6NTc6MTU6 IGVycm9yOiDigJh1bmlxdWVfcHRy4oCZIGluIG5hbWVzcGFjZSDigJhzdGTigJkgZG9lcyBub3Qg bmFtZSBhIHRlbXBsYXRlIHR5cGUKKyAgIDU3IHwgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEJs dWV0b290aExvd0VuZXJneVNjYW5GaWx0ZXI+IENyZWF0ZSgKKyAgICAgIHwgICAgICAgICAgICAg ICBefn5+fn5+fn5+CisKK0J1ZzogODE5Mjk0CitDaGFuZ2UtSWQ6IEkzNDc5NTNhMDgzZjFiY2Rm NzQ0ZmQ4NmUxYTczOTU0YzZmODZiMzJlCitSZXZpZXdlZC1vbjogaHR0cHM6Ly9jaHJvbWl1bS1y ZXZpZXcuZ29vZ2xlc291cmNlLmNvbS9jL2Nocm9taXVtL3NyYy8rLzMwNDExNTUKK1Jldmlld2Vk LWJ5OiBSZWlsbHkgR3JhbnQgPHJlaWxseWdAY2hyb21pdW0ub3JnPgorQ29tbWl0LVF1ZXVlOiBK b3PDqSBEYXBlbmEgUGF6IDxqZGFwZW5hQGlnYWxpYS5jb20+CitDci1Db21taXQtUG9zaXRpb246 IHJlZnMvaGVhZHMvbWFzdGVyQHsjOTAzODE5fQorLS0tCisgZGV2aWNlL2JsdWV0b290aC9ibHVl dG9vdGhfbG93X2VuZXJneV9zY2FuX2ZpbHRlci5oIHwgMSArCisgMSBmaWxlIGNoYW5nZWQsIDEg aW5zZXJ0aW9uKCspCisKK2RpZmYgLS1naXQgYS9kZXZpY2UvYmx1ZXRvb3RoL2JsdWV0b290aF9s b3dfZW5lcmd5X3NjYW5fZmlsdGVyLmggYi9kZXZpY2UvYmx1ZXRvb3RoL2JsdWV0b290aF9sb3df ZW5lcmd5X3NjYW5fZmlsdGVyLmgKK2luZGV4IGEwNDM2YzE4NGE5NjcuLjdhZTYwNmNjYTAxNGUg MTAwNjQ0CistLS0gYS9kZXZpY2UvYmx1ZXRvb3RoL2JsdWV0b290aF9sb3dfZW5lcmd5X3NjYW5f ZmlsdGVyLmgKKysrKyBiL2RldmljZS9ibHVldG9vdGgvYmx1ZXRvb3RoX2xvd19lbmVyZ3lfc2Nh bl9maWx0ZXIuaAorQEAgLTcsNiArNyw3IEBACisgCisgI2luY2x1ZGUgPHN0ZGRlZi5oPgorICNp bmNsdWRlIDxzdGRpbnQuaD4KKysjaW5jbHVkZSA8bWVtb3J5PgorICNpbmNsdWRlIDx2ZWN0b3I+ CisgCisgI2luY2x1ZGUgImJhc2UvdGltZS90aW1lLmgiCmRpZmYgLS1naXQgYS9zcmNwa2dzL2No cm9taXVtL3BhdGNoZXMvODJlMmM4YjQ4NGMxOGM2MjFkNGIxOTQ2MzVlNDFmMTcxNTQzZjFkZi5w YXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy84MmUyYzhiNDg0YzE4YzYyMWQ0YjE5NDYz NWU0MWYxNzE1NDNmMWRmLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MDAwMC4uYmFiZmRiMzY3NjYwCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9jaHJvbWl1bS9w YXRjaGVzLzgyZTJjOGI0ODRjMThjNjIxZDRiMTk0NjM1ZTQxZjE3MTU0M2YxZGYucGF0Y2gKQEAg LTAsMCArMSw0MiBAQAorRnJvbSA4MmUyYzhiNDg0YzE4YzYyMWQ0YjE5NDYzNWU0MWYxNzE1NDNm MWRmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSm9zZSBEYXBlbmEgUGF6IDxqZGFw ZW5hQGlnYWxpYS5jb20+CitEYXRlOiBUdWUsIDI3IEp1bCAyMDIxIDA4OjA5OjM5ICswMDAwCitT dWJqZWN0OiBbUEFUQ0hdIElXWVU6IHVzYWdlIG9mIHN0ZDo6c3RyY3B5IHJlcXVpcmVzIGluY2x1 ZGluZyBjc3RyaW5nLCBpbgorIGV4dGVuc2lvbiBkaWFsb2cgYXV0byBjb25maXJtLgorTUlNRS1W ZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29u dGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitGaXggYnVpbGQgYnJlYWthZ2Ugd2l0aCBs aWJzdGRjKys6CisgICAgLi4vLi4vZXh0ZW5zaW9ucy9icm93c2VyL2V4dGVuc2lvbl9kaWFsb2df YXV0b19jb25maXJtLmNjOiBJbiBkZXN0cnVjdG9yIOKAmGV4dGVuc2lvbnM6OlNjb3BlZFRlc3RE aWFsb2dBdXRvQ29uZmlybTo6flNjb3BlZFRlc3REaWFsb2dBdXRvQ29uZmlybSgp4oCZOgorICAg IC4uLy4uL2V4dGVuc2lvbnMvYnJvd3Nlci9leHRlbnNpb25fZGlhbG9nX2F1dG9fY29uZmlybS5j Yzo0Mzo4OiBlcnJvcjog4oCYc3RyY3B54oCZIGlzIG5vdCBhIG1lbWJlciBvZiDigJhzdGTigJkK KyAgICAgICA0MyB8ICAgc3RkOjpzdHJjcHkoZ19leHRlbnNpb25fZGlhbG9nX2p1c3RpZmljYXRp b24sIG9sZF9qdXN0aWZpY2F0aW9uXy5jX3N0cigpKTsKKyAgICAgICAgICB8ICAgICAgICBefn5+ fn4KKyAgICAuLi8uLi9leHRlbnNpb25zL2Jyb3dzZXIvZXh0ZW5zaW9uX2RpYWxvZ19hdXRvX2Nv bmZpcm0uY2M6IEluIG1lbWJlciBmdW5jdGlvbiDigJh2b2lkIGV4dGVuc2lvbnM6OlNjb3BlZFRl c3REaWFsb2dBdXRvQ29uZmlybTo6c2V0X2p1c3RpZmljYXRpb24oY29uc3Qgc3RyaW5nJinigJk6 CisgICAgLi4vLi4vZXh0ZW5zaW9ucy9icm93c2VyL2V4dGVuc2lvbl9kaWFsb2dfYXV0b19jb25m aXJtLmNjOjY2Ojg6IGVycm9yOiDigJhzdHJjcHnigJkgaXMgbm90IGEgbWVtYmVyIG9mIOKAmHN0 ZOKAmQorICAgICAgIDY2IHwgICBzdGQ6OnN0cmNweShnX2V4dGVuc2lvbl9kaWFsb2dfanVzdGlm aWNhdGlvbiwganVzdGlmaWNhdGlvbi5jX3N0cigpKTsKKyAgICAgICAgICB8ICAgICAgICBefn5+ fn4KKworQnVnOiA5NTc1MTkKK0NoYW5nZS1JZDogSTMxM2MzOGYyMmNhYjU5OWZiOGYwZTRhMzM5 ZTgxNDNhZjViZGEzZWUKK1Jldmlld2VkLW9uOiBodHRwczovL2Nocm9taXVtLXJldmlldy5nb29n bGVzb3VyY2UuY29tL2MvY2hyb21pdW0vc3JjLysvMzA0MTAwMQorUmV2aWV3ZWQtYnk6IERhdmlk IEJlcnRvbmkgPGRiZXJ0b25pQGNocm9taXVtLm9yZz4KK1Jldmlld2VkLWJ5OiBCZW4gV2VsbHMg PGJlbndlbGxzQGNocm9taXVtLm9yZz4KK0NvbW1pdC1RdWV1ZTogSm9zw6kgRGFwZW5hIFBheiA8 amRhcGVuYUBpZ2FsaWEuY29tPgorQ3ItQ29tbWl0LVBvc2l0aW9uOiByZWZzL2hlYWRzL21hc3Rl ckB7IzkwNTYzNH0KKy0tLQorIGV4dGVuc2lvbnMvYnJvd3Nlci9leHRlbnNpb25fZGlhbG9nX2F1 dG9fY29uZmlybS5jYyB8IDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorCitk aWZmIC0tZ2l0IGEvZXh0ZW5zaW9ucy9icm93c2VyL2V4dGVuc2lvbl9kaWFsb2dfYXV0b19jb25m aXJtLmNjIGIvZXh0ZW5zaW9ucy9icm93c2VyL2V4dGVuc2lvbl9kaWFsb2dfYXV0b19jb25maXJt LmNjCitpbmRleCBhZGI0YWMzZjkyZWM4Li5iZThiMTYxYmMxNjU4IDEwMDY0NAorLS0tIGEvZXh0 ZW5zaW9ucy9icm93c2VyL2V4dGVuc2lvbl9kaWFsb2dfYXV0b19jb25maXJtLmNjCisrKysgYi9l eHRlbnNpb25zL2Jyb3dzZXIvZXh0ZW5zaW9uX2RpYWxvZ19hdXRvX2NvbmZpcm0uY2MKK0BAIC00 LDYgKzQsNyBAQAorIAorICNpbmNsdWRlICJleHRlbnNpb25zL2Jyb3dzZXIvZXh0ZW5zaW9uX2Rp YWxvZ19hdXRvX2NvbmZpcm0uaCIKKyAKKysjaW5jbHVkZSA8Y3N0cmluZz4KKyAjaW5jbHVkZSA8 dXRpbGl0eT4KKyAKKyAjaW5jbHVkZSAiYmFzZS9jaGVjay5oIgpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9jaHJvbWl1bS9wYXRjaGVzLzhhZTk5ZWU0NDdjZjVmMDE2MGVhNGFlOTc4Y2RmMzdmNWRjZWNk MWUucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvOGFlOTllZTQ0N2NmNWYwMTYwZWE0 YWU5NzhjZGYzN2Y1ZGNlY2QxZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAwMDAuLmU1MWY3NmE0YjNjMAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvY2hyb21p dW0vcGF0Y2hlcy84YWU5OWVlNDQ3Y2Y1ZjAxNjBlYTRhZTk3OGNkZjM3ZjVkY2VjZDFlLnBhdGNo CkBAIC0wLDAgKzEsMzYgQEAKK0Zyb20gOGFlOTllZTQ0N2NmNWYwMTYwZWE0YWU5NzhjZGYzN2Y1 ZGNlY2QxZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEpvc2UgRGFwZW5hIFBheiA8 amRhcGVuYUBpZ2FsaWEuY29tPgorRGF0ZTogV2VkLCAyMSBKdWwgMjAyMSAwODozNjoyMCArMDAw MAorU3ViamVjdDogW1BBVENIXSBJV1lVOiBtaXNzaW5nIG1lbW9yeSBpbmNsdWRlIGZvciB1bmlx dWVfcHRyIHVzYWdlIGluCisgY2xhc3NfcHJvcGVydHkuaAorTUlNRS1WZXJzaW9uOiAxLjAKK0Nv bnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1F bmNvZGluZzogOGJpdAorCitGaXggR0NDIGJ1aWxkIGJyZWFrYWdlIGJlY2F1c2Ugb2YgbWlzc2lu ZyBpbmNsaWRlOgorLi8uLi91aS9iYXNlL2NsYXNzX3Byb3BlcnR5Lmg6MTIwOjU4OiBlcnJvcjog 4oCYc3RkOjp1bmlxdWVfcHRy4oCZIGhhcyBub3QgYmVlbiBkZWNsYXJlZAorICAxMjAgfCAgIFQq IFNldFByb3BlcnR5KGNvbnN0IENsYXNzUHJvcGVydHk8VCo+KiBwcm9wZXJ0eSwgc3RkOjp1bmlx dWVfcHRyPFQ+IHZhbHVlKTsKKyAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fgorCitCdWc6IDgxOTI5NAorQ2hh bmdlLUlkOiBJNDZiOTIxODc2NzAyYjhkNDQ2NzQ2ODliYmI1YWNkYzEwN2RiMjFlNQorUmV2aWV3 ZWQtb246IGh0dHBzOi8vY2hyb21pdW0tcmV2aWV3Lmdvb2dsZXNvdXJjZS5jb20vYy9jaHJvbWl1 bS9zcmMvKy8zMDQxMDMwCitSZXZpZXdlZC1ieTogUGV0ZXIgQm9zdHLDtm0gPHBib3NAY2hyb21p dW0ub3JnPgorQ29tbWl0LVF1ZXVlOiBKb3PDqSBEYXBlbmEgUGF6IDxqZGFwZW5hQGlnYWxpYS5j b20+CitDci1Db21taXQtUG9zaXRpb246IHJlZnMvaGVhZHMvbWFzdGVyQHsjOTAzODIwfQorLS0t CisgdWkvYmFzZS9jbGFzc19wcm9wZXJ0eS5oIHwgMSArCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5z ZXJ0aW9uKCspCisKK2RpZmYgLS1naXQgYS91aS9iYXNlL2NsYXNzX3Byb3BlcnR5LmggYi91aS9i YXNlL2NsYXNzX3Byb3BlcnR5LmgKK2luZGV4IGY3YjJmNTU5ODU4YjcuLjg4YjQ5Mzg2YWUwYWQg MTAwNjQ0CistLS0gYS91aS9iYXNlL2NsYXNzX3Byb3BlcnR5LmgKKysrKyBiL3VpL2Jhc2UvY2xh c3NfcHJvcGVydHkuaAorQEAgLTgsNiArOCw3IEBACisgI2luY2x1ZGUgPHN0ZGludC5oPgorIAor ICNpbmNsdWRlIDxtYXA+CisrI2luY2x1ZGUgPG1lbW9yeT4KKyAjaW5jbHVkZSA8c2V0PgorICNp bmNsdWRlIDx0eXBlX3RyYWl0cz4KKyAKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0 Y2hlcy85YzY3NWExMDUxNTUxYWYyNmFhZWZjNmZjZDMzNTAyYTUxNzI1Mzk2LnBhdGNoIGIvc3Jj cGtncy9jaHJvbWl1bS9wYXRjaGVzLzljNjc1YTEwNTE1NTFhZjI2YWFlZmM2ZmNkMzM1MDJhNTE3 MjUzOTYucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5iYWI2 NGE4MTRiMmYKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvOWM2 NzVhMTA1MTU1MWFmMjZhYWVmYzZmY2QzMzUwMmE1MTcyNTM5Ni5wYXRjaApAQCAtMCwwICsxLDM2 IEBACitGcm9tIDljNjc1YTEwNTE1NTFhZjI2YWFlZmM2ZmNkMzM1MDJhNTE3MjUzOTYgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBKb3NlIERhcGVuYSBQYXogPGpkYXBlbmFAaWdhbGlh LmNvbT4KK0RhdGU6IE1vbiwgMjYgSnVsIDIwMjEgMTc6MTQ6NTEgKzAwMDAKK1N1YmplY3Q6IFtQ QVRDSF0gSVdZVTogbWlzc2luZyBpbmNsdWRlIGZvciBzdGQ6OnZlY3RvciB1c2FnZSBpbiBkZXZ0 b29scworIGVtYmVkZGVkIG1lc3NhZ2UgZGlzcGF0Y2hlci4KK01JTUUtVmVyc2lvbjogMS4wCitD b250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXIt RW5jb2Rpbmc6IDhiaXQKKworRml4IEdDQyBidWlsZCBicmVha2FnZToKKyAgICAuLi8uLi9jaHJv bWUvYnJvd3Nlci9kZXZ0b29scy9kZXZ0b29sc19lbWJlZGRlcl9tZXNzYWdlX2Rpc3BhdGNoZXIu aDoxMTY6MzY6IGVycm9yOiDigJh2ZWN0b3LigJkgaW4gbmFtZXNwYWNlIOKAmHN0ZOKAmSBkb2Vz IG5vdCBuYW1lIGEgdGVtcGxhdGUgdHlwZQorICAgICAgMTE2IHwgICAgICAgICAgICAgICAgICAg ICAgICAgY29uc3Qgc3RkOjp2ZWN0b3I8YmFzZTo6VmFsdWU+JiBwYXJhbXMpID0gMDsKKyAgICAg ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+CisKK0J1Zzog ODE5Mjk0CitDaGFuZ2UtSWQ6IEkzNzliZjE0NDE2YzNiZmQzYzBjZGFjN2JiMjU0MmI3OTc4MTI2 MWVjCitSZXZpZXdlZC1vbjogaHR0cHM6Ly9jaHJvbWl1bS1yZXZpZXcuZ29vZ2xlc291cmNlLmNv bS9jL2Nocm9taXVtL3NyYy8rLzMwNDExNTYKK1Jldmlld2VkLWJ5OiBKb2UgTWFzb24gPGpvZW5v dGNoYXJsZXNAY2hyb21pdW0ub3JnPgorQ29tbWl0LVF1ZXVlOiBKb3PDqSBEYXBlbmEgUGF6IDxq ZGFwZW5hQGlnYWxpYS5jb20+CitDci1Db21taXQtUG9zaXRpb246IHJlZnMvaGVhZHMvbWFzdGVy QHsjOTA1MzAwfQorLS0tCisgY2hyb21lL2Jyb3dzZXIvZGV2dG9vbHMvZGV2dG9vbHNfZW1iZWRk ZXJfbWVzc2FnZV9kaXNwYXRjaGVyLmggfCAxICsKKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRp b24oKykKKworZGlmZiAtLWdpdCBhL2Nocm9tZS9icm93c2VyL2RldnRvb2xzL2RldnRvb2xzX2Vt YmVkZGVyX21lc3NhZ2VfZGlzcGF0Y2hlci5oIGIvY2hyb21lL2Jyb3dzZXIvZGV2dG9vbHMvZGV2 dG9vbHNfZW1iZWRkZXJfbWVzc2FnZV9kaXNwYXRjaGVyLmgKK2luZGV4IDEyZjg1MDBiNzgxMWQu LjQwMDcxMTJmMzk0MTAgMTAwNjQ0CistLS0gYS9jaHJvbWUvYnJvd3Nlci9kZXZ0b29scy9kZXZ0 b29sc19lbWJlZGRlcl9tZXNzYWdlX2Rpc3BhdGNoZXIuaAorKysrIGIvY2hyb21lL2Jyb3dzZXIv ZGV2dG9vbHMvZGV2dG9vbHNfZW1iZWRkZXJfbWVzc2FnZV9kaXNwYXRjaGVyLmgKK0BAIC04LDYg KzgsNyBAQAorICNpbmNsdWRlIDxtYXA+CisgI2luY2x1ZGUgPG1lbW9yeT4KKyAjaW5jbHVkZSA8 c3RyaW5nPgorKyNpbmNsdWRlIDx2ZWN0b3I+CisgCisgI2luY2x1ZGUgImJhc2UvY2FsbGJhY2su aCIKKyAjaW5jbHVkZSAidWkvZ2Z4L2dlb21ldHJ5L2luc2V0cy5oIgpkaWZmIC0tZ2l0IGEvc3Jj cGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTg4LWdsaWJjLTIuMzMucGF0Y2ggYi9zcmNw a2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tODgtZ2xpYmMtMi4zMy5wYXRjaApkZWxldGVk IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDUyMjhjZTdiNzZhLi4wMDAwMDAwMDAwMDAKLS0tIGEv c3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTg4LWdsaWJjLTIuMzMucGF0Y2gKKysr IC9kZXYvbnVsbApAQCAtMSwxNDQgKzAsMCBAQAotIyBQYXRjaCBtYWRlIGJ5IEtldmluIEtvZmxl ciA8S2V2aW5AdGlnY2MudGljYWxjLm9yZz4KLSMgaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29t L3Nob3dfYnVnLmNnaT9pZD0xOTA0NjUyCi0KLWRpZmYgLXVwIGNocm9taXVtLTg4LjAuNDMyNC45 Ni9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvYmFzZWxpbmVfcG9saWN5LmNjLmZz dGF0Zml4IGNocm9taXVtLTg4LjAuNDMyNC45Ni9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhl bHBlcnMvYmFzZWxpbmVfcG9saWN5LmNjCi0tLS0gYS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBm LWhlbHBlcnMvYmFzZWxpbmVfcG9saWN5LmNjLmZzdGF0Zml4CTIwMjEtMDEtMjUgMTA6MTE6NDUu NDI3NDM2Mzk4IC0wNTAwCi0rKysgYi9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMv YmFzZWxpbmVfcG9saWN5LmNjCTIwMjEtMDEtMjUgMTA6MTI6NTEuMzM3Njk5MDAzIC0wNTAwCi1A QCAtMjU3LDYgKzI1NywxOCBAQCBSZXN1bHRFeHByIEV2YWx1YXRlU3lzY2FsbEltcGwoaW50IGZz X2RlCi0gICAgIHJldHVybiBSZXN0cmljdEtpbGxUYXJnZXQoY3VycmVudF9waWQsIHN5c25vKTsK LSAgIH0KLSAKLSsjaWYgZGVmaW5lZChfX05SX25ld2ZzdGF0YXQpCi0rICBpZiAoc3lzbm8gPT0g X19OUl9uZXdmc3RhdGF0KSB7Ci0rICAgIHJldHVybiBSZXdyaXRlRnN0YXRhdFNJR1NZUygpOwot KyAgfQotKyNlbmRpZgotKwotKyNpZiBkZWZpbmVkKF9fTlJfZnN0YXRhdDY0KQotKyAgaWYgKHN5 c25vID09IF9fTlJfZnN0YXRhdDY0KSB7Ci0rICAgIHJldHVybiBSZXdyaXRlRnN0YXRhdFNJR1NZ UygpOwotKyAgfQotKyNlbmRpZgotKwotICAgaWYgKFN5c2NhbGxTZXRzOjpJc0ZpbGVTeXN0ZW0o c3lzbm8pIHx8Ci0gICAgICAgU3lzY2FsbFNldHM6OklzQ3VycmVudERpcmVjdG9yeShzeXNubykp IHsKLSAgICAgcmV0dXJuIEVycm9yKGZzX2RlbmllZF9lcnJubyk7Ci1kaWZmIC11cCBjaHJvbWl1 bS04OC4wLjQzMjQuOTYvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3NpZ3N5c19o YW5kbGVycy5jYy5mc3RhdGZpeCBjaHJvbWl1bS04OC4wLjQzMjQuOTYvc2FuZGJveC9saW51eC9z ZWNjb21wLWJwZi1oZWxwZXJzL3NpZ3N5c19oYW5kbGVycy5jYwotLS0tIGEvc2FuZGJveC9saW51 eC9zZWNjb21wLWJwZi1oZWxwZXJzL3NpZ3N5c19oYW5kbGVycy5jYy5mc3RhdGZpeAkyMDIxLTAx LTI1IDEwOjEzOjEwLjE3OTc3NDA4MSAtMDUwMAotKysrIGIvc2FuZGJveC9saW51eC9zZWNjb21w LWJwZi1oZWxwZXJzL3NpZ3N5c19oYW5kbGVycy5jYwkyMDIxLTAxLTI1IDEwOjE2OjE4Ljc5MDUy NTc0NiAtMDUwMAotQEAgLTYsNiArNiw4IEBACi0gCi0gI2luY2x1ZGUgInNhbmRib3gvbGludXgv c2VjY29tcC1icGYtaGVscGVycy9zaWdzeXNfaGFuZGxlcnMuaCIKLSAKLSsjaW5jbHVkZSA8ZXJy bm8uaD4KLSsjaW5jbHVkZSA8ZmNudGwuaD4KLSAjaW5jbHVkZSA8c3RkZGVmLmg+Ci0gI2luY2x1 ZGUgPHN0ZGludC5oPgotICNpbmNsdWRlIDxzdHJpbmcuaD4KLUBAIC0zNTUsNiArMzU3LDM1IEBA IGludHB0cl90IFNJR1NZU1NjaGVkSGFuZGxlcihjb25zdCBzdHJ1Y3QKLSAgIHJldHVybiAtRU5P U1lTOwotIH0KLSAKLStpbnRwdHJfdCBTSUdTWVNGc3RhdGF0SGFuZGxlcihjb25zdCBzdHJ1Y3Qg YXJjaF9zZWNjb21wX2RhdGEmIGFyZ3MsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg dm9pZCogYXV4KSB7Ci0rICBzd2l0Y2ggKGFyZ3MubnIpIHsKLSsjaWYgZGVmaW5lZChfX05SX25l d2ZzdGF0YXQpCi0rICAgIGNhc2UgX19OUl9uZXdmc3RhdGF0OgotKyNlbmRpZgotKyNpZiBkZWZp bmVkKF9fTlJfZnN0YXRhdDY0KQotKyAgICBjYXNlIF9fTlJfZnN0YXRhdDY0OgotKyNlbmRpZgot KyNpZiBkZWZpbmVkKF9fTlJfbmV3ZnN0YXRhdCkgfHwgZGVmaW5lZChfX05SX2ZzdGF0YXQ2NCkK LSsgICAgICBpZiAoKnJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhciAqPihhcmdzLmFyZ3NbMV0p ID09ICdcMCcKLSsgICAgICAgICAgJiYgYXJncy5hcmdzWzNdID09IHN0YXRpY19jYXN0PHVpbnQ2 NF90PihBVF9FTVBUWV9QQVRIKSkgewotKyAgICAgICAgcmV0dXJuIHNhbmRib3g6OnN5c19mc3Rh dDY0KHN0YXRpY19jYXN0PGludD4oYXJncy5hcmdzWzBdKSwKLSsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICByZWludGVycHJldF9jYXN0PHN0cnVjdCBzdGF0NjQgKj4oYXJncy5h cmdzWzJdKSk7Ci0rICAgICAgfSBlbHNlIHsKLSsgICAgICAgIGVycm5vID0gRUFDQ0VTOwotKyAg ICAgICAgcmV0dXJuIC0xOwotKyAgICAgIH0KLSsgICAgICBicmVhazsKLSsjZW5kaWYKLSsgIH0K LSsKLSsgIENyYXNoU0lHU1lTX0hhbmRsZXIoYXJncywgYXV4KTsKLSsKLSsgIC8vIFNob3VsZCBu ZXZlciBiZSByZWFjaGVkLgotKyAgUkFXX0NIRUNLKGZhbHNlKTsKLSsgIHJldHVybiAtRU5PU1lT OwotK30KLSsKLSBicGZfZHNsOjpSZXN1bHRFeHByIENyYXNoU0lHU1lTKCkgewotICAgcmV0dXJu IGJwZl9kc2w6OlRyYXAoQ3Jhc2hTSUdTWVNfSGFuZGxlciwgTlVMTCk7Ci0gfQotQEAgLTM4Nyw2 ICs0MTgsMTAgQEAgYnBmX2RzbDo6UmVzdWx0RXhwciBSZXdyaXRlU2NoZWRTSUdTWVMoKQotICAg cmV0dXJuIGJwZl9kc2w6OlRyYXAoU0lHU1lTU2NoZWRIYW5kbGVyLCBOVUxMKTsKLSB9Ci0gCi0r YnBmX2RzbDo6UmVzdWx0RXhwciBSZXdyaXRlRnN0YXRhdFNJR1NZUygpIHsKLSsgIHJldHVybiBi cGZfZHNsOjpUcmFwKFNJR1NZU0ZzdGF0YXRIYW5kbGVyLCBOVUxMKTsKLSt9Ci0rCi0gdm9pZCBB bGxvY2F0ZUNyYXNoS2V5cygpIHsKLSAjaWYgIWRlZmluZWQoT1NfTkFDTF9OT05TRkkpCi0gICBp ZiAoc2VjY29tcF9jcmFzaF9rZXkpCi1kaWZmIC11cCBjaHJvbWl1bS04OC4wLjQzMjQuOTYvc2Fu ZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3NpZ3N5c19oYW5kbGVycy5oLmZzdGF0Zml4 IGNocm9taXVtLTg4LjAuNDMyNC45Ni9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMv c2lnc3lzX2hhbmRsZXJzLmgKLS0tLSBhL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVy cy9zaWdzeXNfaGFuZGxlcnMuaC5mc3RhdGZpeAkyMDIxLTAxLTI1IDEwOjE2OjM2Ljk4MjU5ODIz NiAtMDUwMAotKysrIGIvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3NpZ3N5c19o YW5kbGVycy5oCTIwMjEtMDEtMjUgMTA6MTg6NDUuNzA1MTExMDI3IC0wNTAwCi1AQCAtNjIsNiAr NjIsMTAgQEAgU0FOREJPWF9FWFBPUlQgaW50cHRyX3QgU0lHU1lTUHRyYWNlRmFpbAotIC8vIHNj aGVkX3NldHBhcmFtKCksIHNjaGVkX3NldHNjaGVkdWxlcigpCi0gU0FOREJPWF9FWFBPUlQgaW50 cHRyX3QgU0lHU1lTU2NoZWRIYW5kbGVyKGNvbnN0IGFyY2hfc2VjY29tcF9kYXRhJiBhcmdzLAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkKiBhdXgpOwot Ky8vIElmIHRoZSBmc3RhdGF0IHN5c2NhbGwgaXMgYWN0dWFsbHkgYSBkaXNndWlzZWQgZnN0YXQs IGNhbGxzIHRoZSByZWd1bGFyIGZzdGF0Ci0rLy8gc3lzY2FsbCwgb3RoZXJ3aXNlLCBjcmFzaGVz IGluIHRoZSBzYW1lIHdheSBhcyBDcmFzaFNJR1NZU19IYW5kbGVyLgotK1NBTkRCT1hfRVhQT1JU IGludHB0cl90IFNJR1NZU0ZzdGF0YXRIYW5kbGVyKGNvbnN0IHN0cnVjdCBhcmNoX3NlY2NvbXBf ZGF0YSYgYXJncywgCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdm9pZCogYXV4KTsKLSAKLSAvLyBWYXJpYW50cyBvZiB0aGUgYWJvdmUgZnVuY3Rpb25zIGZv ciB1c2Ugd2l0aCBicGZfZHNsLgotIFNBTkRCT1hfRVhQT1JUIGJwZl9kc2w6OlJlc3VsdEV4cHIg Q3Jhc2hTSUdTWVMoKTsKLUBAIC03Miw2ICs3Niw3IEBAIFNBTkRCT1hfRVhQT1JUIGJwZl9kc2w6 OlJlc3VsdEV4cHIgQ3Jhc2gKLSBTQU5EQk9YX0VYUE9SVCBicGZfZHNsOjpSZXN1bHRFeHByIENy YXNoU0lHU1lTRnV0ZXgoKTsKLSBTQU5EQk9YX0VYUE9SVCBicGZfZHNsOjpSZXN1bHRFeHByIENy YXNoU0lHU1lTUHRyYWNlKCk7Ci0gU0FOREJPWF9FWFBPUlQgYnBmX2RzbDo6UmVzdWx0RXhwciBS ZXdyaXRlU2NoZWRTSUdTWVMoKTsKLStTQU5EQk9YX0VYUE9SVCBicGZfZHNsOjpSZXN1bHRFeHBy IFJld3JpdGVGc3RhdGF0U0lHU1lTKCk7Ci0gCi0gLy8gQWxsb2NhdGVzIGEgY3Jhc2gga2V5IHNv IHRoYXQgU2VjY29tcCBpbmZvcm1hdGlvbiBjYW4gYmUgcmVjb3JkZWQuCi0gdm9pZCBBbGxvY2F0 ZUNyYXNoS2V5cygpOwotZGlmZiAtdXAgY2hyb21pdW0tODguMC40MzI0Ljk2L3NhbmRib3gvbGlu dXgvc2VydmljZXMvc3lzY2FsbF93cmFwcGVycy5jYy5mc3RhdGZpeCBjaHJvbWl1bS04OC4wLjQz MjQuOTYvc2FuZGJveC9saW51eC9zZXJ2aWNlcy9zeXNjYWxsX3dyYXBwZXJzLmNjCi0tLS0gYS9z YW5kYm94L2xpbnV4L3NlcnZpY2VzL3N5c2NhbGxfd3JhcHBlcnMuY2MuZnN0YXRmaXgJMjAyMS0w MS0yNSAxMDoxODo1My4zMDcxNDEzMTEgLTA1MDAKLSsrKyBiL3NhbmRib3gvbGludXgvc2Vydmlj ZXMvc3lzY2FsbF93cmFwcGVycy5jYwkyMDIxLTAxLTI1IDEwOjE5OjQ2Ljk4MjM1NTI5MyAtMDUw MAotQEAgLTI2MSw0ICsyNjEsMTMgQEAgaW50IHN5c19zaWdhY3Rpb24oaW50IHNpZ251bSwKLSAK LSAjZW5kaWYgIC8vIGRlZmluZWQoTUVNT1JZX1NBTklUSVpFUikKLSAKLStTQU5EQk9YX0VYUE9S VCBpbnQgc3lzX2ZzdGF0NjQoaW50IGZkLCBzdHJ1Y3Qgc3RhdDY0ICpidWYpCi0rewotKyNpZiBk ZWZpbmVkKF9fTlJfZnN0YXQ2NCkKLSsgICAgcmV0dXJuIHN5c2NhbGwoX19OUl9mc3RhdDY0LCBm ZCwgYnVmKTsKLSsjZWxzZQotKyAgICByZXR1cm4gc3lzY2FsbChfX05SX2ZzdGF0LCBmZCwgYnVm KTsKLSsjZW5kaWYKLSt9Ci0rCi0gfSAgLy8gbmFtZXNwYWNlIHNhbmRib3gKLWRpZmYgLXVwIGNo cm9taXVtLTg4LjAuNDMyNC45Ni9zYW5kYm94L2xpbnV4L3NlcnZpY2VzL3N5c2NhbGxfd3JhcHBl cnMuaC5mc3RhdGZpeCBjaHJvbWl1bS04OC4wLjQzMjQuOTYvc2FuZGJveC9saW51eC9zZXJ2aWNl cy9zeXNjYWxsX3dyYXBwZXJzLmgKLS0tLSBhL3NhbmRib3gvbGludXgvc2VydmljZXMvc3lzY2Fs bF93cmFwcGVycy5oLmZzdGF0Zml4CTIwMjEtMDEtMjUgMTA6MTk6NTMuMTE1Mzc5NzQxIC0wNTAw Ci0rKysgYi9zYW5kYm94L2xpbnV4L3NlcnZpY2VzL3N5c2NhbGxfd3JhcHBlcnMuaAkyMDIxLTAx LTI1IDEwOjIwOjQ1LjQ4NTU4ODQyMSAtMDUwMAotQEAgLTE3LDYgKzE3LDcgQEAgc3RydWN0IHNv Y2tfZnByb2c7Ci0gc3RydWN0IHJsaW1pdDY0OwotIHN0cnVjdCBjYXBfaGRyOwotIHN0cnVjdCBj YXBfZGF0YTsKLStzdHJ1Y3Qgc3RhdDY0OwotIAotIG5hbWVzcGFjZSBzYW5kYm94IHsKLSAKLUBA IC04NCw2ICs4NSw5IEBAIFNBTkRCT1hfRVhQT1JUIGludCBzeXNfc2lnYWN0aW9uKGludCBzaWcK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3Qgc2lnYWN0aW9u KiBhY3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHNpZ2FjdGlv biogb2xkYWN0KTsKLSAKLSsvLyBSZWNlbnQgZ2xpYmMgcmV3cml0ZXMgZnN0YXQgdG8gZnN0YXRh dC4KLStTQU5EQk9YX0VYUE9SVCBpbnQgc3lzX2ZzdGF0NjQoaW50IGZkLCBzdHJ1Y3Qgc3RhdDY0 ICpidWYpOwotKwotIH0gIC8vIG5hbWVzcGFjZSBzYW5kYm94Ci0gCi0gI2VuZGlmICAvLyBTQU5E Qk9YX0xJTlVYX1NFUlZJQ0VTX1NZU0NBTExfV1JBUFBFUlNfSF8KZGlmZiAtLWdpdCBhL3NyY3Br Z3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS05My1mZm1wZWctNC40LnBhdGNoIGIvc3JjcGtn cy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTkzLWZmbXBlZy00LjQucGF0Y2gKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5mMGVjNzM2Zjk4YmMKLS0tIC9kZXYvbnVs bAorKysgYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tOTMtZmZtcGVnLTQuNC5w YXRjaApAQCAtMCwwICsxLDM2IEBACitkaWZmIC0tZ2l0IGEvbWVkaWEvZmlsdGVycy9mZm1wZWdf ZGVtdXhlci5jYyBiL21lZGlhL2ZpbHRlcnMvZmZtcGVnX2RlbXV4ZXIuY2MKK2luZGV4IGFjNDcx M2IwNzI2OC4uNDkyYTlhMzdkMDk2IDEwMDY0NAorLS0tIGEvbWVkaWEvZmlsdGVycy9mZm1wZWdf ZGVtdXhlci5jYworKysrIGIvbWVkaWEvZmlsdGVycy9mZm1wZWdfZGVtdXhlci5jYworQEAgLTQy NywxMSArNDI3LDExIEBAIHZvaWQgRkZtcGVnRGVtdXhlclN0cmVhbTo6RW5xdWV1ZVBhY2tldChT Y29wZWRBVlBhY2tldCBwYWNrZXQpIHsKKyAgIHNjb3BlZF9yZWZwdHI8RGVjb2RlckJ1ZmZlcj4g YnVmZmVyOworIAorICAgaWYgKHR5cGUoKSA9PSBEZW11eGVyU3RyZWFtOjpURVhUKSB7CistICAg IHNpemVfdCBpZF9zaXplID0gMDsKKysgICAgaW50IGlkX3NpemUgPSAwOworICAgICB1aW50OF90 KiBpZF9kYXRhID0gYXZfcGFja2V0X2dldF9zaWRlX2RhdGEoCisgICAgICAgICBwYWNrZXQuZ2V0 KCksIEFWX1BLVF9EQVRBX1dFQlZUVF9JREVOVElGSUVSLCAmaWRfc2l6ZSk7CisgCistICAgIHNp emVfdCBzZXR0aW5nc19zaXplID0gMDsKKysgICAgaW50IHNldHRpbmdzX3NpemUgPSAwOworICAg ICB1aW50OF90KiBzZXR0aW5nc19kYXRhID0gYXZfcGFja2V0X2dldF9zaWRlX2RhdGEoCisgICAg ICAgICBwYWNrZXQuZ2V0KCksIEFWX1BLVF9EQVRBX1dFQlZUVF9TRVRUSU5HUywgJnNldHRpbmdz X3NpemUpOworIAorQEAgLTQ0Myw3ICs0NDMsNyBAQCB2b2lkIEZGbXBlZ0RlbXV4ZXJTdHJlYW06 OkVucXVldWVQYWNrZXQoU2NvcGVkQVZQYWNrZXQgcGFja2V0KSB7CisgICAgIGJ1ZmZlciA9IERl Y29kZXJCdWZmZXI6OkNvcHlGcm9tKHBhY2tldC0+ZGF0YSwgcGFja2V0LT5zaXplLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaWRlX2RhdGEuZGF0YSgpLCBzaWRlX2Rh dGEuc2l6ZSgpKTsKKyAgIH0gZWxzZSB7CistICAgIHNpemVfdCBzaWRlX2RhdGFfc2l6ZSA9IDA7 CisrICAgIGludCBzaWRlX2RhdGFfc2l6ZSA9IDA7CisgICAgIHVpbnQ4X3QqIHNpZGVfZGF0YSA9 IGF2X3BhY2tldF9nZXRfc2lkZV9kYXRhKAorICAgICAgICAgcGFja2V0LmdldCgpLCBBVl9QS1Rf REFUQV9NQVRST1NLQV9CTE9DS0FERElUSU9OQUwsICZzaWRlX2RhdGFfc2l6ZSk7CisgCitAQCAt NTA0LDcgKzUwNCw3IEBAIHZvaWQgRkZtcGVnRGVtdXhlclN0cmVhbTo6RW5xdWV1ZVBhY2tldChT Y29wZWRBVlBhY2tldCBwYWNrZXQpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBwYWNrZXQtPnNpemUgLSBkYXRhX29mZnNldCk7CisgICAgIH0KKyAKKy0gICAgc2l6 ZV90IHNraXBfc2FtcGxlc19zaXplID0gMDsKKysgICAgaW50IHNraXBfc2FtcGxlc19zaXplID0g MDsKKyAgICAgY29uc3QgdWludDMyX3QqIHNraXBfc2FtcGxlc19wdHIgPQorICAgICAgICAgcmVp bnRlcnByZXRfY2FzdDxjb25zdCB1aW50MzJfdCo+KGF2X3BhY2tldF9nZXRfc2lkZV9kYXRhKAor ICAgICAgICAgICAgIHBhY2tldC5nZXQoKSwgQVZfUEtUX0RBVEFfU0tJUF9TQU1QTEVTLCAmc2tp cF9zYW1wbGVzX3NpemUpKTsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9j aHJvbWl1bS05My1wZGZpdW0taW5jbHVkZS5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hl cy9jaHJvbWl1bS05My1wZGZpdW0taW5jbHVkZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMDAwMDAuLjcyZjJhYmQzZTdhNgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3Br Z3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS05My1wZGZpdW0taW5jbHVkZS5wYXRjaApAQCAt MCwwICsxLDExNyBAQAorRnJvbSA3YTYyODljNWFjZTUyY2Y4OGYwZTE5Y2FhNWY3OGI3YzE1ZDBl N2E2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWlrbG9zIFZham5hIDx2bWlrbG9z QGNvbGxhYm9yYS5jby51az4KK0RhdGU6IFdlZCwgMjEgSnVsIDIwMjEgMTc6NDI6MzAgKzAwMDAK K1N1YmplY3Q6IFtQQVRDSF0gZnhjb2RlYywgZnhnZTogZml4IG1pc3NpbmcgaW5jbHVkZXMgd2l0 aCBsaWJzdGRjKysKKworVGhlc2UgbWlzc2luZyBpbmNsdWRlcyBicmVhayB0aGUgYnVpbGQgd2l0 aCBnY2MvbGlic3RkYysrLCB0aGV5IHdlcmUgbm90CithIHByb2JsZW0gaW4gcHJhY3RpY2Ugd2l0 aCBjbGFuZy9saWJjKysuCisKK0NoYW5nZS1JZDogSTQwMDEzZjk3YmE3YWIwNmYzMmFhNTlmODdi MDRhZWMwNmExOTQ3OGMKK1Jldmlld2VkLW9uOiBodHRwczovL3BkZml1bS1yZXZpZXcuZ29vZ2xl c291cmNlLmNvbS9jL3BkZml1bS8rLzgzMjEwCitDb21taXQtUXVldWU6IExlaSBaaGFuZyA8dGhl c3RpZ0BjaHJvbWl1bS5vcmc+CitSZXZpZXdlZC1ieTogTGVpIFpoYW5nIDx0aGVzdGlnQGNocm9t aXVtLm9yZz4KKy0tLQorCitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvcGRmaXVtL2NvcmUvZnhj b2RlYy9qcGVnL2pwZWdtb2R1bGUuY3BwIGIvdGhpcmRfcGFydHkvcGRmaXVtL2NvcmUvZnhjb2Rl Yy9qcGVnL2pwZWdtb2R1bGUuY3BwCitpbmRleCBjZWEwNjc5Li4wMzZmMjUwIDEwMDY0NAorLS0t IGEvdGhpcmRfcGFydHkvcGRmaXVtL2NvcmUvZnhjb2RlYy9qcGVnL2pwZWdtb2R1bGUuY3BwCisr KysgYi90aGlyZF9wYXJ0eS9wZGZpdW0vY29yZS9meGNvZGVjL2pwZWcvanBlZ21vZHVsZS5jcHAK K0BAIC03LDYgKzcsNyBAQAorICNpbmNsdWRlICJjb3JlL2Z4Y29kZWMvanBlZy9qcGVnbW9kdWxl LmgiCisgCisgI2luY2x1ZGUgPHNldGptcC5oPgorKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyAKKyAj aW5jbHVkZSA8bWVtb3J5PgorICNpbmNsdWRlIDx1dGlsaXR5PgorZGlmZiAtLWdpdCBhL3RoaXJk X3BhcnR5L3BkZml1bS9jb3JlL2Z4Y29kZWMvanB4L2NqcHhfZGVjb2Rlci5jcHAgYi90aGlyZF9w YXJ0eS9wZGZpdW0vY29yZS9meGNvZGVjL2pweC9janB4X2RlY29kZXIuY3BwCitpbmRleCBjNjY5 ODVhLi45YzExMjJiIDEwMDY0NAorLS0tIGEvdGhpcmRfcGFydHkvcGRmaXVtL2NvcmUvZnhjb2Rl Yy9qcHgvY2pweF9kZWNvZGVyLmNwcAorKysrIGIvdGhpcmRfcGFydHkvcGRmaXVtL2NvcmUvZnhj b2RlYy9qcHgvY2pweF9kZWNvZGVyLmNwcAorQEAgLTYsNiArNiw4IEBACisgCisgI2luY2x1ZGUg ImNvcmUvZnhjb2RlYy9qcHgvY2pweF9kZWNvZGVyLmgiCisgCisrI2luY2x1ZGUgPHN0cmluZy5o PgorKworICNpbmNsdWRlIDxhbGdvcml0aG0+CisgI2luY2x1ZGUgPGxpbWl0cz4KKyAjaW5jbHVk ZSA8dXRpbGl0eT4KK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9wZGZpdW0vY29yZS9meGdlL2Nm eF9jbGlwcmduLmNwcCBiL3RoaXJkX3BhcnR5L3BkZml1bS9jb3JlL2Z4Z2UvY2Z4X2NsaXByZ24u Y3BwCitpbmRleCA1MzY5ZDUyLi5kMTk4ODUyIDEwMDY0NAorLS0tIGEvdGhpcmRfcGFydHkvcGRm aXVtL2NvcmUvZnhnZS9jZnhfY2xpcHJnbi5jcHAKKysrKyBiL3RoaXJkX3BhcnR5L3BkZml1bS9j b3JlL2Z4Z2UvY2Z4X2NsaXByZ24uY3BwCitAQCAtNiw2ICs2LDggQEAKKyAKKyAjaW5jbHVkZSAi Y29yZS9meGdlL2NmeF9jbGlwcmduLmgiCisgCisrI2luY2x1ZGUgPHN0cmluZy5oPgorKworICNp bmNsdWRlIDx1dGlsaXR5PgorIAorICNpbmNsdWRlICJjb3JlL2Z4Z2UvZGliL2NmeF9kaWJpdG1h cC5oIgorZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L3BkZml1bS9jb3JlL2Z4Z2UvZGliL2NmeF9i aXRtYXBjb21wb3Nlci5jcHAgYi90aGlyZF9wYXJ0eS9wZGZpdW0vY29yZS9meGdlL2RpYi9jZnhf Yml0bWFwY29tcG9zZXIuY3BwCitpbmRleCA2ZjliNDIwLi4wZjFmZmFlIDEwMDY0NAorLS0tIGEv dGhpcmRfcGFydHkvcGRmaXVtL2NvcmUvZnhnZS9kaWIvY2Z4X2JpdG1hcGNvbXBvc2VyLmNwcAor KysrIGIvdGhpcmRfcGFydHkvcGRmaXVtL2NvcmUvZnhnZS9kaWIvY2Z4X2JpdG1hcGNvbXBvc2Vy LmNwcAorQEAgLTYsNiArNiw4IEBACisgCisgI2luY2x1ZGUgImNvcmUvZnhnZS9kaWIvY2Z4X2Jp dG1hcGNvbXBvc2VyLmgiCisgCisrI2luY2x1ZGUgPHN0cmluZy5oPgorKworICNpbmNsdWRlICJj b3JlL2Z4Z2UvY2Z4X2NsaXByZ24uaCIKKyAjaW5jbHVkZSAiY29yZS9meGdlL2RpYi9jZnhfZGli aXRtYXAuaCIKKyAKK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9wZGZpdW0vY29yZS9meGdlL2Rp Yi9jZnhfYml0bWFwc3RvcmVyLmNwcCBiL3RoaXJkX3BhcnR5L3BkZml1bS9jb3JlL2Z4Z2UvZGli L2NmeF9iaXRtYXBzdG9yZXIuY3BwCitpbmRleCBmNTdjMDBlLi40NWEwYTE4IDEwMDY0NAorLS0t IGEvdGhpcmRfcGFydHkvcGRmaXVtL2NvcmUvZnhnZS9kaWIvY2Z4X2JpdG1hcHN0b3Jlci5jcHAK KysrKyBiL3RoaXJkX3BhcnR5L3BkZml1bS9jb3JlL2Z4Z2UvZGliL2NmeF9iaXRtYXBzdG9yZXIu Y3BwCitAQCAtNiw2ICs2LDggQEAKKyAKKyAjaW5jbHVkZSAiY29yZS9meGdlL2RpYi9jZnhfYml0 bWFwc3RvcmVyLmgiCisgCisrI2luY2x1ZGUgPHN0cmluZy5oPgorKworICNpbmNsdWRlIDx1dGls aXR5PgorIAorICNpbmNsdWRlICJjb3JlL2Z4Z2UvZGliL2NmeF9kaWJpdG1hcC5oIgorZGlmZiAt LWdpdCBhL3RoaXJkX3BhcnR5L3BkZml1bS9jb3JlL2Z4Z2UvZGliL2NmeF9kaWJiYXNlLmNwcCBi L3RoaXJkX3BhcnR5L3BkZml1bS9jb3JlL2Z4Z2UvZGliL2NmeF9kaWJiYXNlLmNwcAoraW5kZXgg NGVjMGRkYi4uYTFkZTJmYiAxMDA2NDQKKy0tLSBhL3RoaXJkX3BhcnR5L3BkZml1bS9jb3JlL2Z4 Z2UvZGliL2NmeF9kaWJiYXNlLmNwcAorKysrIGIvdGhpcmRfcGFydHkvcGRmaXVtL2NvcmUvZnhn ZS9kaWIvY2Z4X2RpYmJhc2UuY3BwCitAQCAtNiw2ICs2LDggQEAKKyAKKyAjaW5jbHVkZSAiY29y ZS9meGdlL2RpYi9jZnhfZGliYmFzZS5oIgorIAorKyNpbmNsdWRlIDxzdHJpbmcuaD4KKysKKyAj aW5jbHVkZSA8YWxnb3JpdGhtPgorICNpbmNsdWRlIDxtZW1vcnk+CisgI2luY2x1ZGUgPHV0aWxp dHk+CitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvcGRmaXVtL2NvcmUvZnhnZS9kaWIvY2Z4X2Rp Yml0bWFwLmNwcCBiL3RoaXJkX3BhcnR5L3BkZml1bS9jb3JlL2Z4Z2UvZGliL2NmeF9kaWJpdG1h cC5jcHAKK2luZGV4IGQ3Y2NmNmMuLjk0ZThhY2MgMTAwNjQ0CistLS0gYS90aGlyZF9wYXJ0eS9w ZGZpdW0vY29yZS9meGdlL2RpYi9jZnhfZGliaXRtYXAuY3BwCisrKysgYi90aGlyZF9wYXJ0eS9w ZGZpdW0vY29yZS9meGdlL2RpYi9jZnhfZGliaXRtYXAuY3BwCitAQCAtNiw2ICs2LDggQEAKKyAK KyAjaW5jbHVkZSAiY29yZS9meGdlL2RpYi9jZnhfZGliaXRtYXAuaCIKKyAKKysjaW5jbHVkZSA8 c3RyaW5nLmg+CisrCisgI2luY2x1ZGUgPGxpbWl0cz4KKyAjaW5jbHVkZSA8bWVtb3J5PgorICNp bmNsdWRlIDx1dGlsaXR5PgorZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L3BkZml1bS9jb3JlL2Z4 Z2UvZGliL2NmeF9zY2FubGluZWNvbXBvc2l0b3IuY3BwIGIvdGhpcmRfcGFydHkvcGRmaXVtL2Nv cmUvZnhnZS9kaWIvY2Z4X3NjYW5saW5lY29tcG9zaXRvci5jcHAKK2luZGV4IGU4MzYyZDcuLmMw NGM2ZGMgMTAwNjQ0CistLS0gYS90aGlyZF9wYXJ0eS9wZGZpdW0vY29yZS9meGdlL2RpYi9jZnhf c2NhbmxpbmVjb21wb3NpdG9yLmNwcAorKysrIGIvdGhpcmRfcGFydHkvcGRmaXVtL2NvcmUvZnhn ZS9kaWIvY2Z4X3NjYW5saW5lY29tcG9zaXRvci5jcHAKK0BAIC02LDYgKzYsOCBAQAorIAorICNp bmNsdWRlICJjb3JlL2Z4Z2UvZGliL2NmeF9zY2FubGluZWNvbXBvc2l0b3IuaCIKKyAKKysjaW5j bHVkZSA8c3RyaW5nLmg+CisrCisgI2luY2x1ZGUgPGFsZ29yaXRobT4KKyAKKyAjaW5jbHVkZSAi Y29yZS9meGdlL2RpYi9meF9kaWIuaCIKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0 Y2hlcy9jdXJzZWReVXNjb3BlZF9maWxlLnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVz L2N1cnNlZF5Vc2NvcGVkX2ZpbGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwMDAwLi4yZTU0MzNmN2FiY2UKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2Nocm9t aXVtL3BhdGNoZXMvY3Vyc2VkXlVzY29wZWRfZmlsZS5wYXRjaApAQCAtMCwwICsxLDE4IEBACist LS0gYS9iYXNlL2ZpbGVzL3Njb3BlZF9maWxlX2xpbnV4LmNjLm9yaWcKKysrKyBiL2Jhc2UvZmls ZXMvc2NvcGVkX2ZpbGVfbGludXguY2MKK0BAIC03NywxNSArNzcsMyBAQAorIH0KKyAKKyB9ICAv LyBuYW1lc3BhY2UgYmFzZQorLQorLWV4dGVybiAiQyIgeworLQorLWludCBfX2Nsb3NlKGludCk7 CistCistX19hdHRyaWJ1dGVfXygodmlzaWJpbGl0eSgiZGVmYXVsdCIpLCBub2lubGluZSkpIGlu dCBjbG9zZShpbnQgZmQpIHsKKy0gIGlmIChiYXNlOjpJc0ZET3duZWQoZmQpICYmIGdfaXNfb3du ZXJzaGlwX2VuZm9yY2VkKQorLSAgICBDcmFzaE9uRmRPd25lcnNoaXBWaW9sYXRpb24oKTsKKy0g IHJldHVybiBfX2Nsb3NlKGZkKTsKKy19CistCistfSAgLy8gZXh0ZXJuICJDIgpkaWZmIC0tZ2l0 IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2ZpeC1jcmFzaC1pbi1UaGVtZVNlcnZpY2UucGF0 Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvZml4LWNyYXNoLWluLVRoZW1lU2VydmljZS5w YXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjJhNjk2YTNhNzM1Li4wMDAwMDAw MDAwMDAKLS0tIGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2ZpeC1jcmFzaC1pbi1UaGVtZVNl cnZpY2UucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0NSArMCwwIEBACi1Gcm9tIGMyZDAxMzNm NDdhZmI1OWI0Y2U2NGU0MjIxNWQxZDA1M2YxNTI1MGEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx Ci1Gcm9tOiBTdGVwaGFuIEhhcnRtYW5uIDxzdGhhMDlAZ29vZ2xlbWFpbC5jb20+Ci1EYXRlOiBU dWUsIDEzIEFwciAyMDIxIDIzOjIxOjQyICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIGZpeCBjcmFz aCBpbiBUaGVtZVNlcnZpY2UKLQotVGhlbWVTeW5jYWJsZVNlcnZpY2UgYW5kIFRoZW1lU2Vydmlj ZSBhcmUgb3duZWQgYnkgZWFjaCBvdGhlci4gT24KLWRlc3RydWN0aW9uIG9mIFRoZW1lU2Vydmlj ZSwgVGhlbWVTeW5jYWJsZVNlcnZpY2UgZ2V0cyBkZXN0cnVjdGVkIGFzCi13ZWxsLCBidXQgY2Fs bHMgUmVtb3ZlT2JzZXJ2ZXIgb2YgcGFydGx5IGRlc3RydWN0ZWQgVGhlbWVTZXJ2aWNlIG9iamVj dC4KLVRvIGF2b2lkIGFscmVhZHkgZGVzdHJ1Y3RlZCB8b2JzZXJ2ZXJzX3wgbGlzdCwgbW92ZSBp dCBiZWZvcmUKLXx0aGVtZV9zeW5jYWJsZV9zZXJ2aWNlX3wgZGVmaW5pdGlvbi4KLQotQnVnOiAx MTkwNTYxCi1DaGFuZ2UtSWQ6IEk0ZGMyYzk5MGQ1ODkwNzFkOTdiN2ZhNzM3YWZlZjU0NDYzYzg0 NzUxCi1SZXZpZXdlZC1vbjogaHR0cHM6Ly9jaHJvbWl1bS1yZXZpZXcuZ29vZ2xlc291cmNlLmNv bS9jL2Nocm9taXVtL3NyYy8rLzI4MjEzMTEKLUNvbW1pdC1RdWV1ZTogUGV0ZXIgS2FzdGluZyA8 cGthc3RpbmdAY2hyb21pdW0ub3JnPgotUmV2aWV3ZWQtYnk6IFBldGVyIEthc3RpbmcgPHBrYXN0 aW5nQGNocm9taXVtLm9yZz4KLUNyLUNvbW1pdC1Qb3NpdGlvbjogcmVmcy9oZWFkcy9tYXN0ZXJA eyM4NzIxNjR9Ci0tLS0KLSBjaHJvbWUvYnJvd3Nlci90aGVtZXMvdGhlbWVfc2VydmljZS5oIHwg NiArKysrLS0KLSAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygt KQotCi1kaWZmIC0tZ2l0IGNocm9tZS9icm93c2VyL3RoZW1lcy90aGVtZV9zZXJ2aWNlLmggY2hy b21lL2Jyb3dzZXIvdGhlbWVzL3RoZW1lX3NlcnZpY2UuaAotaW5kZXggNTkyZDQwYWU5ZGUwZi4u MzM3ZGZhYzlhMDQwZiAxMDA2NDQKLS0tLSBhL2Nocm9tZS9icm93c2VyL3RoZW1lcy90aGVtZV9z ZXJ2aWNlLmgKLSsrKyBiL2Nocm9tZS9icm93c2VyL3RoZW1lcy90aGVtZV9zZXJ2aWNlLmgKLUBA IC0yOTksNiArMjk5LDEwIEBAIGNsYXNzIFRoZW1lU2VydmljZSA6IHB1YmxpYyBLZXllZFNlcnZp Y2UsCi0gICAvLyBUaGUgbnVtYmVyIG9mIGluZm9iYXJzIGN1cnJlbnRseSBkaXNwbGF5ZWQuCi0g ICBpbnQgbnVtYmVyX29mX3JlaW5zdGFsbGVyc18gPSAwOwotIAotKyAgLy8gRGVjbGFyZWQgYmVm b3JlIHx0aGVtZV9zeW5jYWJsZV9zZXJ2aWNlX3wsIGJlY2F1c2UgVGhlbWVTeW5jYWJsZVNlcnZp Y2UKLSsgIC8vIHJlbW92ZXMgaXRzZWxmIGZyb20gdGhlIHxvYnNlcnZlcnNffCBsaXN0IG9uIGRl c3RydWN0aW9uLgotKyAgYmFzZTo6T2JzZXJ2ZXJMaXN0PFRoZW1lU2VydmljZU9ic2VydmVyPiBv YnNlcnZlcnNfOwotKwotICAgc3RkOjp1bmlxdWVfcHRyPFRoZW1lU3luY2FibGVTZXJ2aWNlPiB0 aGVtZV9zeW5jYWJsZV9zZXJ2aWNlXzsKLSAKLSAjaWYgQlVJTERGTEFHKEVOQUJMRV9FWFRFTlNJ T05TKQotQEAgLTMyMCw4ICszMjQsNiBAQCBjbGFzcyBUaGVtZVNlcnZpY2UgOiBwdWJsaWMgS2V5 ZWRTZXJ2aWNlLAotICAgU2NvcGVkT2JzZXJ2ZXI8dWk6Ok5hdGl2ZVRoZW1lLCB1aTo6TmF0aXZl VGhlbWVPYnNlcnZlcj4KLSAgICAgICBuYXRpdmVfdGhlbWVfb2JzZXJ2ZXJfe3RoaXN9OwotIAot LSAgYmFzZTo6T2JzZXJ2ZXJMaXN0PFRoZW1lU2VydmljZU9ic2VydmVyPiBvYnNlcnZlcnNfOwot LQotICAgYmFzZTo6V2Vha1B0ckZhY3Rvcnk8VGhlbWVTZXJ2aWNlPiB3ZWFrX3B0cl9mYWN0b3J5 X3t0aGlzfTsKLSAKLSAgIERJU0FMTE9XX0NPUFlfQU5EX0FTU0lHTihUaGVtZVNlcnZpY2UpOwpk aWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2xpbnV4LXNhbmRib3gtZml4LWZz dGF0YXQtY3Jhc2gucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvbGludXgtc2FuZGJv eC1maXgtZnN0YXRhdC1jcmFzaC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAwMDAuLjRhOTlmMWRlMjg3NAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvY2hyb21p dW0vcGF0Y2hlcy9saW51eC1zYW5kYm94LWZpeC1mc3RhdGF0LWNyYXNoLnBhdGNoCkBAIC0wLDAg KzEsMTM4NCBAQAorRnJvbSA0YjQzODMyM2Q2ODg0MDQ1M2I1ZWY4MjZjMzk5NzU2OGUyZTBlOGM3 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWF0dGhldyBEZW50b24gPG1wZGVudG9u QGNocm9taXVtLm9yZz4KK0RhdGU6IE1vbiwgMTkgSnVsIDIwMjEgMTQ6MDM6MTMgKzAwMDAKK1N1 YmplY3Q6IFtQQVRDSF0gUmVsYW5kICJSZWxhbmQgIkxpbnV4IHNhbmRib3ggc3lzY2FsbCBicm9r ZXI6IHVzZSBzdHJ1Y3QKKyBrZXJuZWxfc3RhdCIiCisKK1RoaXMgcmV2ZXJ0cyBjb21taXQgZmYy NzdhNTJlY2UwYjIxNjYxN2Q3NzBmMjAxZWQ2Njk1NWZlNzBiOS4KKworUmVhc29uIGZvciByZXZl cnQ6IHJlbGFuZAorCitUaGUgZml4IGluY2x1ZGVkIGluIHRoZSByZWxhbmQgaXMgdGhhdCBmc3Rh dGF0NjQoKSBuZWVkcyB0byBiZQorYWxsb3dlZCBpbiB0aGUgYnJva2VyIHByb2Nlc3MncyBzZWNj b21wIHBvbGljeS4KKworVGhpcyBDTCBhbHNvIGluY2x1ZGVzIHNvbWUgZXh0cmEgdGVzdHMgdGhh dCB0aGUga2VybmVsX3N0YXQgc3RydWN0dXJlcworbWF0Y2ggdGhlIGxheW91dCB0aGUga2VybmVs IGV4cGVjdHMuCisKK0J1ZzogMTE2NDk3NSwgMTE5OTQzMQorVGVzdDogdHJvZ2RvciBDaHJvbWVi b29rIHN1Y2Nlc3NmdWxseSBib290cyBhbmQgYWxsb3dzIGxvZ2luLgorCitPcmlnaW5hbCBjaGFu Z2UncyBkZXNjcmlwdGlvbjoKKz4gUmV2ZXJ0ICJSZWxhbmQgIkxpbnV4IHNhbmRib3ggc3lzY2Fs bCBicm9rZXI6IHVzZSBzdHJ1Y3Qga2VybmVsX3N0YXQiIgorPgorPiBUaGlzIHJldmVydHMgY29t bWl0IGNmZmJjNDQzMmFmNzlmNzIwYWUzYzc1ZGZmMzgwYjg1MzcwMWJkNjQuCis+Cis+IFJlYXNv biBmb3IgcmV2ZXJ0OiBodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVz L2RldGFpbD9pZD0xMTk5NDMxCis+Cis+IE9yaWdpbmFsIGNoYW5nZSdzIGRlc2NyaXB0aW9uOgor PiA+IFJlbGFuZCAiTGludXggc2FuZGJveCBzeXNjYWxsIGJyb2tlcjogdXNlIHN0cnVjdCBrZXJu ZWxfc3RhdCIKKz4gPgorPiA+IFRoaXMgcmV2ZXJ0cyBjb21taXQgMjMwMzBkYzY1MGNkZmEyMjYz MWYyNWJlZjkzNzkwNWYyN2YwNmEyYy4KKz4gPgorPiA+IE9yaWdpbmFsIGNoYW5nZSdzIGRlc2Ny aXB0aW9uOgorPiA+ID4gUmV2ZXJ0ICJMaW51eCBzYW5kYm94IHN5c2NhbGwgYnJva2VyOiB1c2Ug c3RydWN0IGtlcm5lbF9zdGF0IgorPiA+ID4KKz4gPiA+IFRoaXMgcmV2ZXJ0cyBjb21taXQgNzg0 YjBmY2Q4YTNjYTZiY2QzYWNiOWNmZDYyNGVjOWNiYmFjMjc4OS4KKz4gPiA+Cis+ID4gPiBSZWFz b24gZm9yIHJldmVydDogQ2F1c2luZyBmYWlsdXJlIGluCis+ID4gPiBTdGVwICJzYW5kYm94X2xp bnV4X3VuaXR0ZXN0cyIgZmFpbGluZyBvbiBidWlsZGVyICJMaW51eCBDaHJvbWl1bU9TIE1TYW4g VGVzdHMiCis+ID4gPiBTZWUgY3JidWcuY29tLzExOTg0ODAKKz4gPiA+Cis+ID4gPiBPcmlnaW5h bCBjaGFuZ2UncyBkZXNjcmlwdGlvbjoKKz4gPiA+ID4gTGludXggc2FuZGJveCBzeXNjYWxsIGJy b2tlcjogdXNlIHN0cnVjdCBrZXJuZWxfc3RhdAorPiA+ID4gPgorPiA+ID4gPiBUaGUgc3RydWN0 IHN0YXQgdXNlZCBpbiBsaWJjIGlzIGRpZmZlcmVudCAoaW4gc2l6ZSBhbmQgZmllbGQgb3JkZXJp bmcpCis+ID4gPiA+IGZyb20gdGhlIHN0cnVjdHVyZSBhc3N1bWVkIGJ5IHRoZSBMaW51eCBrZXJu ZWwuIFNvLCB3aGVuIGVtdWxhdGluZworPiA+ID4gPiBzeXN0ZW0gY2FsbHMsIHdlIG5lZWQgdG8g dXNlIHRoZSBzdHJ1Y3QgZGVmaW5pdGlvbiB0aGUga2VybmVsIGV4cGVjdHMuCis+ID4gPiA+Cis+ ID4gPiA+IFRoaXMgQ0wgYWRkcyBsaW51eF9zdGF0LmggdGhhdCBpbmNsdWRlcyBkZWZpbml0aW9u cyBvZiB0aGUgZGlmZmVyZW50Cis+ID4gPiA+IGtlcm5lbCBzdHJ1Y3RzLgorPiA+ID4gPgorPiA+ ID4gPiBDaGFuZ2UtSWQ6IEk1M2NhZDM1YzIyNTFkZmYwZjZiN2VhNzc1MjhjZmE1OGVmM2NhYjRh Cis+ID4gPiA+IFJldmlld2VkLW9uOiBodHRwczovL2Nocm9taXVtLXJldmlldy5nb29nbGVzb3Vy Y2UuY29tL2MvY2hyb21pdW0vc3JjLysvMjc4MDg3NgorPiA+ID4gPiBDb21taXQtUXVldWU6IE1h dHRoZXcgRGVudG9uIDxtcGRlbnRvbkBjaHJvbWl1bS5vcmc+Cis+ID4gPiA+IFJldmlld2VkLWJ5 OiBSb2JlcnQgU2VzZWsgPHJzZXNla0BjaHJvbWl1bS5vcmc+Cis+ID4gPiA+IENyLUNvbW1pdC1Q b3NpdGlvbjogcmVmcy9oZWFkcy9tYXN0ZXJAeyM4NzE3Njd9Cis+ID4gPgorPiA+ID4gQ2hhbmdl LUlkOiBJY2JlYzM4ZjIxMDNjODQyNGRlYzc5YWIxODcwYjk3YzNlODNmOTM2MQorPiA+ID4gTm8t UHJlc3VibWl0OiB0cnVlCis+ID4gPiBOby1UcmVlLUNoZWNrczogdHJ1ZQorPiA+ID4gTm8tVHJ5 OiB0cnVlCis+ID4gPiBSZXZpZXdlZC1vbjogaHR0cHM6Ly9jaHJvbWl1bS1yZXZpZXcuZ29vZ2xl c291cmNlLmNvbS9jL2Nocm9taXVtL3NyYy8rLzI4MjE4MTIKKz4gPiA+IEF1dG8tU3VibWl0OiBW aWN0b3IgVmlhbm5hIDx2aWN0b3J2aWFubmFAZ29vZ2xlLmNvbT4KKz4gPiA+IE93bmVycy1PdmVy cmlkZTogVmljdG9yIFZpYW5uYSA8dmljdG9ydmlhbm5hQGdvb2dsZS5jb20+Cis+ID4gPiBDb21t aXQtUXVldWU6IFJ1YmJlciBTdGFtcGVyIDxydWJiZXItc3RhbXBlckBhcHBzcG90LmdzZXJ2aWNl YWNjb3VudC5jb20+Cis+ID4gPiBCb3QtQ29tbWl0OiBSdWJiZXIgU3RhbXBlciA8cnViYmVyLXN0 YW1wZXJAYXBwc3BvdC5nc2VydmljZWFjY291bnQuY29tPgorPiA+ID4gQ3ItQ29tbWl0LVBvc2l0 aW9uOiByZWZzL2hlYWRzL21hc3RlckB7Izg3MTg4Mn0KKz4gPgorPiA+IENoYW5nZS1JZDogSTFm MzliYjUyNDI5NjE0NzRkZWY1OTRmZjdkYmVhNTIwMDlmMmNlZTQKKz4gPiBSZXZpZXdlZC1vbjog aHR0cHM6Ly9jaHJvbWl1bS1yZXZpZXcuZ29vZ2xlc291cmNlLmNvbS9jL2Nocm9taXVtL3NyYy8r LzI4MjQxMTUKKz4gPiBBdXRvLVN1Ym1pdDogTWF0dGhldyBEZW50b24gPG1wZGVudG9uQGNocm9t aXVtLm9yZz4KKz4gPiBDb21taXQtUXVldWU6IE1hdHRoZXcgRGVudG9uIDxtcGRlbnRvbkBjaHJv bWl1bS5vcmc+Cis+ID4gUmV2aWV3ZWQtYnk6IFJvYmVydCBTZXNlayA8cnNlc2VrQGNocm9taXVt Lm9yZz4KKz4gPiBDci1Db21taXQtUG9zaXRpb246IHJlZnMvaGVhZHMvbWFzdGVyQHsjODcyODEy fQorPgorPiBGaXhlZDogMTE5OTQzMQorPiBDaGFuZ2UtSWQ6IEllYmZjMGM0ODIwMWJmMjJmZjlj NTRkOGQ1YzhhNDNkMjZhODgwMDk4Cis+IE5vLVByZXN1Ym1pdDogdHJ1ZQorPiBOby1UcmVlLUNo ZWNrczogdHJ1ZQorPiBOby1Ucnk6IHRydWUKKz4gUmV2aWV3ZWQtb246IGh0dHBzOi8vY2hyb21p dW0tcmV2aWV3Lmdvb2dsZXNvdXJjZS5jb20vYy9jaHJvbWl1bS9zcmMvKy8yODMwNDU5Cis+IEF1 dG8tU3VibWl0OiBLeWxlIEhvcmltb3RvIDxraG9yaW1vdG9AY2hyb21pdW0ub3JnPgorPiBDb21t aXQtUXVldWU6IE1hdHRoZXcgRGVudG9uIDxtcGRlbnRvbkBjaHJvbWl1bS5vcmc+Cis+IENvbW1p dC1RdWV1ZTogS2ludWtvIFlhc3VkYSA8a2ludWtvQGNocm9taXVtLm9yZz4KKz4gUmV2aWV3ZWQt Ynk6IE1hdHRoZXcgRGVudG9uIDxtcGRlbnRvbkBjaHJvbWl1bS5vcmc+Cis+IFJldmlld2VkLWJ5 OiBLaW51a28gWWFzdWRhIDxraW51a29AY2hyb21pdW0ub3JnPgorPiBPd25lcnMtT3ZlcnJpZGU6 IEtpbnVrbyBZYXN1ZGEgPGtpbnVrb0BjaHJvbWl1bS5vcmc+Cis+IENyLUNvbW1pdC1Qb3NpdGlv bjogcmVmcy9oZWFkcy9tYXN0ZXJAeyM4NzMxNzN9CisKK0NoYW5nZS1JZDogSWJlNmE0ODUwNzBm MzM0ODlhYWExNTdiNTFiOTA4YzJkMjNkMTc0ZDcKK1Jldmlld2VkLW9uOiBodHRwczovL2Nocm9t aXVtLXJldmlldy5nb29nbGVzb3VyY2UuY29tL2MvY2hyb21pdW0vc3JjLysvMjg0ODkzNgorUmV2 aWV3ZWQtYnk6IFJvYmVydCBTZXNlayA8cnNlc2VrQGNocm9taXVtLm9yZz4KK0NvbW1pdC1RdWV1 ZTogTWF0dGhldyBEZW50b24gPG1wZGVudG9uQGNocm9taXVtLm9yZz4KK0NyLUNvbW1pdC1Qb3Np dGlvbjogcmVmcy9oZWFkcy9tYXN0ZXJAeyM5MDI5ODF9CistLS0KKyBzYW5kYm94L2xpbnV4L0JV SUxELmduICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEgKworIC4uLi9zZWNjb21wX2Jyb2tl cl9wcm9jZXNzX3VuaXR0ZXN0LmNjICAgICAgICB8ICA0MCArKystCisgc2FuZGJveC9saW51eC9z ZWNjb21wLWJwZi1oZWxwZXJzL0RFUFMgICAgICAgIHwgICAxIC0KKyAuLi5zY2FsbF9wYXJhbWV0 ZXJzX3Jlc3RyaWN0aW9uc191bml0dGVzdHMuY2MgfCAgIDQgLQorIHNhbmRib3gvbGludXgvc2Vy dmljZXMvc3lzY2FsbF93cmFwcGVycy5jYyAgICB8ICA1MCArKysrLQorIHNhbmRib3gvbGludXgv c2VydmljZXMvc3lzY2FsbF93cmFwcGVycy5oICAgICB8ICAxNSArKworIC4uLi9zZXJ2aWNlcy9z eXNjYWxsX3dyYXBwZXJzX3VuaXR0ZXN0LmNjICAgICB8IDEyOSArKysrKysrKysrKy0KKyBzYW5k Ym94L2xpbnV4L3N5c2NhbGxfYnJva2VyL0RFUFMgICAgICAgICAgICAgfCAgIDMgKy0KKyBzYW5k Ym94L2xpbnV4L3N5c2NhbGxfYnJva2VyL2Jyb2tlcl9jbGllbnQuY2MgfCAgIDQgKy0KKyBzYW5k Ym94L2xpbnV4L3N5c2NhbGxfYnJva2VyL2Jyb2tlcl9jbGllbnQuaCAgfCAgIDQgKy0KKyBzYW5k Ym94L2xpbnV4L3N5c2NhbGxfYnJva2VyL2Jyb2tlcl9ob3N0LmNjICAgfCAgMjMgKystCisgLi4u L3N5c2NhbGxfYnJva2VyL2Jyb2tlcl9wcm9jZXNzX3VuaXR0ZXN0LmNjIHwgIDc0ICsrKy0tLS0K KyAuLi4vcmVtb3RlX3N5c2NhbGxfYXJnX2hhbmRsZXJfdW5pdHRlc3QuY2MgICAgfCAgMzYgKyst LQorIC4uLi9zeXNjYWxsX2Jyb2tlci9zeXNjYWxsX2Rpc3BhdGNoZXIuY2MgICAgICB8ICA2NyAr KysrLS0tCisgLi4uL2xpbnV4L3N5c2NhbGxfYnJva2VyL3N5c2NhbGxfZGlzcGF0Y2hlci5oIHwg IDI3ICsrLQorIHNhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbGludXhfc3RhdC5oICAgICB8 IDE4OCArKysrKysrKysrKysrKysrKysKKyBzYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xp bnV4X3RpbWUuaCAgICAgfCAgMjYgKysrCisgc2FuZGJveC9saW51eC90ZXN0cy90ZXN0X3V0aWxz LmNjICAgICAgICAgICAgIHwgIDE1ICsrCisgc2FuZGJveC9saW51eC90ZXN0cy90ZXN0X3V0aWxz LmggICAgICAgICAgICAgIHwgICAyICsKKyAuLi4vcG9saWN5L2xpbnV4L2JwZl9icm9rZXJfcG9s aWN5X2xpbnV4LmNjICAgfCAgIDQgKy0KKyAyMCBmaWxlcyBjaGFuZ2VkLCA1OTUgaW5zZXJ0aW9u cygrKSwgMTE4IGRlbGV0aW9ucygtKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBzYW5kYm94L2xpbnV4 L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3N0YXQuaAorCitkaWZmIC0tZ2l0IGEvc2FuZGJveC9saW51 eC9CVUlMRC5nbiBiL3NhbmRib3gvbGludXgvQlVJTEQuZ24KK2luZGV4IDJmNzc4ZGQwYmNhYjIu LmNjYmJjOTE3MTZlNzEgMTAwNjQ0CistLS0gYS9zYW5kYm94L2xpbnV4L0JVSUxELmduCisrKysg Yi9zYW5kYm94L2xpbnV4L0JVSUxELmduCitAQCAtNDQzLDYgKzQ0Myw3IEBAIHNvdXJjZV9zZXQo InNhbmRib3hfc2VydmljZXNfaGVhZGVycyIpIHsKKyAgICAgInN5c3RlbV9oZWFkZXJzL2xpbnV4 X3B0cmFjZS5oIiwKKyAgICAgInN5c3RlbV9oZWFkZXJzL2xpbnV4X3NlY2NvbXAuaCIsCisgICAg ICJzeXN0ZW1faGVhZGVycy9saW51eF9zaWduYWwuaCIsCisrICAgICJzeXN0ZW1faGVhZGVycy9s aW51eF9zdGF0LmgiLAorICAgICAic3lzdGVtX2hlYWRlcnMvbGludXhfc3lzY2FsbHMuaCIsCisg ICAgICJzeXN0ZW1faGVhZGVycy9saW51eF90aW1lLmgiLAorICAgICAic3lzdGVtX2hlYWRlcnMv bGludXhfdWNvbnRleHQuaCIsCitkaWZmIC0tZ2l0IGEvc2FuZGJveC9saW51eC9pbnRlZ3JhdGlv bl90ZXN0cy9zZWNjb21wX2Jyb2tlcl9wcm9jZXNzX3VuaXR0ZXN0LmNjIGIvc2FuZGJveC9saW51 eC9pbnRlZ3JhdGlvbl90ZXN0cy9zZWNjb21wX2Jyb2tlcl9wcm9jZXNzX3VuaXR0ZXN0LmNjCitp bmRleCA5ZGE5YzY4OTExNDI4Li44YTk0MTk4M2IxOThkIDEwMDY0NAorLS0tIGEvc2FuZGJveC9s aW51eC9pbnRlZ3JhdGlvbl90ZXN0cy9zZWNjb21wX2Jyb2tlcl9wcm9jZXNzX3VuaXR0ZXN0LmNj CisrKysgYi9zYW5kYm94L2xpbnV4L2ludGVncmF0aW9uX3Rlc3RzL3NlY2NvbXBfYnJva2VyX3By b2Nlc3NfdW5pdHRlc3QuY2MKK0BAIC0zNCw2ICszNCw3IEBACisgI2luY2x1ZGUgInNhbmRib3gv bGludXgvc3lzY2FsbF9icm9rZXIvYnJva2VyX2ZpbGVfcGVybWlzc2lvbi5oIgorICNpbmNsdWRl ICJzYW5kYm94L2xpbnV4L3N5c2NhbGxfYnJva2VyL2Jyb2tlcl9wcm9jZXNzLmgiCisgI2luY2x1 ZGUgInNhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbGludXhfc2VjY29tcC5oIgorKyNpbmNs dWRlICJzYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3N0YXQuaCIKKyAjaW5jbHVk ZSAic2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF9zeXNjYWxscy5oIgorICNpbmNs dWRlICJzYW5kYm94L2xpbnV4L3Rlc3RzL3Njb3BlZF90ZW1wb3JhcnlfZmlsZS5oIgorICNpbmNs dWRlICJzYW5kYm94L2xpbnV4L3Rlc3RzL3Rlc3RfdXRpbHMuaCIKK0BAIC0yMDIsNiArMjAzLDI2 IEBAIG5hbWVzcGFjZSB7CisgLy8gbm90IGFjY2VwdCB0aGlzIGFzIGEgdmFsaWQgZXJyb3IgbnVt YmVyLiBFLmcuIGJpb25pYyBhY2NlcHRzIHVwIHRvIDI1NSwgZ2xpYmMKKyAvLyBhbmQgbXVzbCB1 cCB0byA0MDk2LgorIGNvbnN0IGludCBrRmFrZUVycm5vU2VudGluZWwgPSAyNTQ7CisrCisrdm9p ZCBDb252ZXJ0S2VybmVsU3RhdFRvTGliY1N0YXQoZGVmYXVsdF9zdGF0X3N0cnVjdCYgaW5fc3Rh dCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qgc3RhdCYgb3V0X3N0 YXQpIHsKKysgIG91dF9zdGF0LnN0X2RldiA9IGluX3N0YXQuc3RfZGV2OworKyAgb3V0X3N0YXQu c3RfaW5vID0gaW5fc3RhdC5zdF9pbm87CisrICBvdXRfc3RhdC5zdF9tb2RlID0gaW5fc3RhdC5z dF9tb2RlOworKyAgb3V0X3N0YXQuc3RfbmxpbmsgPSBpbl9zdGF0LnN0X25saW5rOworKyAgb3V0 X3N0YXQuc3RfdWlkID0gaW5fc3RhdC5zdF91aWQ7CisrICBvdXRfc3RhdC5zdF9naWQgPSBpbl9z dGF0LnN0X2dpZDsKKysgIG91dF9zdGF0LnN0X3JkZXYgPSBpbl9zdGF0LnN0X3JkZXY7CisrICBv dXRfc3RhdC5zdF9zaXplID0gaW5fc3RhdC5zdF9zaXplOworKyAgb3V0X3N0YXQuc3RfYmxrc2l6 ZSA9IGluX3N0YXQuc3RfYmxrc2l6ZTsKKysgIG91dF9zdGF0LnN0X2Jsb2NrcyA9IGluX3N0YXQu c3RfYmxvY2tzOworKyAgb3V0X3N0YXQuc3RfYXRpbS50dl9zZWMgPSBpbl9zdGF0LnN0X2F0aW1l XzsKKysgIG91dF9zdGF0LnN0X2F0aW0udHZfbnNlYyA9IGluX3N0YXQuc3RfYXRpbWVfbnNlY187 CisrICBvdXRfc3RhdC5zdF9tdGltLnR2X3NlYyA9IGluX3N0YXQuc3RfbXRpbWVfOworKyAgb3V0 X3N0YXQuc3RfbXRpbS50dl9uc2VjID0gaW5fc3RhdC5zdF9tdGltZV9uc2VjXzsKKysgIG91dF9z dGF0LnN0X2N0aW0udHZfc2VjID0gaW5fc3RhdC5zdF9jdGltZV87CisrICBvdXRfc3RhdC5zdF9j dGltLnR2X25zZWMgPSBpbl9zdGF0LnN0X2N0aW1lX25zZWNfOworK30KKyB9ICAvLyBuYW1lc3Bh Y2UKKyAKKyAvLyBUaGVyZSBhcmUgYSB2YXJpZXR5IG9mIHdheXMgdG8gbWFrZSBzeXNjYWxscyBp biBhIHNhbmRib3hlZCBwcm9jZXNzLiBPbmUgaXMKK0BAIC0yMTcsNiArMjM4LDEwIEBAIGNsYXNz IFN5c2NhbGxlciB7CisgCisgICB2aXJ0dWFsIGludCBPcGVuKGNvbnN0IGNoYXIqIGZpbGVwYXRo LCBpbnQgZmxhZ3MpID0gMDsKKyAgIHZpcnR1YWwgaW50IEFjY2Vzcyhjb25zdCBjaGFyKiBmaWxl cGF0aCwgaW50IG1vZGUpID0gMDsKKysgIC8vIE5PVEU6IHdlIHVzZSBzdHJ1Y3Qgc3RhdCBpbnN0 ZWFkIG9mIGRlZmF1bHRfc3RhdF9zdHJ1Y3QsIHRvIG1ha2UgdGhlIGxpYmMKKysgIC8vIHN5c2Nh bGxlciBzaW1wbGVyLiBDb3B5aW5nIGZyb20gZGVmYXVsdF9zdGF0X3N0cnVjdCAodGhlIHN0cnVj dHVyZSByZXR1cm5lZAorKyAgLy8gZnJvbSBhIHN0YXQgc3ljYWxsKSB0byBzdHJ1Y3Qgc3RhdCAo dGhlIHN0cnVjdHVyZSBleHBvc2VkIGJ5IGEgbGliYyB0byBpdHMKKysgIC8vIHVzZXJzKSBpcyBz aW1wbGVyIHRoYW4gZ29pbmcgaW4gdGhlIG9wcG9zaXRlIGRpcmVjdGlvbi4KKyAgIHZpcnR1YWwg aW50IFN0YXQoY29uc3QgY2hhciogZmlsZXBhdGgsCisgICAgICAgICAgICAgICAgICAgIGJvb2wg Zm9sbG93X2xpbmtzLAorICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qgc3RhdCogc3RhdGJ1Zikg PSAwOworQEAgLTI0Myw4ICsyNjgsMTIgQEAgY2xhc3MgSVBDU3lzY2FsbGVyIDogcHVibGljIFN5 c2NhbGxlciB7CisgICBpbnQgU3RhdChjb25zdCBjaGFyKiBmaWxlcGF0aCwKKyAgICAgICAgICAg IGJvb2wgZm9sbG93X2xpbmtzLAorICAgICAgICAgICAgc3RydWN0IHN0YXQqIHN0YXRidWYpIG92 ZXJyaWRlIHsKKy0gICAgcmV0dXJuIGJyb2tlcl8tPkdldEJyb2tlckNsaWVudFNpZ25hbEJhc2Vk KCktPlN0YXQoZmlsZXBhdGgsIGZvbGxvd19saW5rcywKKy0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGJ1Zik7CisrICAgIGRlZmF1bHRf c3RhdF9zdHJ1Y3QgYnVmOworKyAgICBpbnQgcmV0ID0gYnJva2VyXy0+R2V0QnJva2VyQ2xpZW50 U2lnbmFsQmFzZWQoKS0+RGVmYXVsdFN0YXRGb3JUZXN0aW5nKAorKyAgICAgICAgZmlsZXBhdGgs IGZvbGxvd19saW5rcywgJmJ1Zik7CisrICAgIGlmIChyZXQgPj0gMCkKKysgICAgICBDb252ZXJ0 S2VybmVsU3RhdFRvTGliY1N0YXQoYnVmLCAqc3RhdGJ1Zik7CisrICAgIHJldHVybiByZXQ7Cisg ICB9CisgCisgICBpbnQgUmVuYW1lKGNvbnN0IGNoYXIqIG9sZHBhdGgsIGNvbnN0IGNoYXIqIG5l d3BhdGgpIG92ZXJyaWRlIHsKK0BAIC0zMDAsMTAgKzMyOSwxMyBAQCBjbGFzcyBEaXJlY3RTeXNj YWxsZXIgOiBwdWJsaWMgU3lzY2FsbGVyIHsKKyAgIGludCBTdGF0KGNvbnN0IGNoYXIqIGZpbGVw YXRoLAorICAgICAgICAgICAgYm9vbCBmb2xsb3dfbGlua3MsCisgICAgICAgICAgICBzdHJ1Y3Qg c3RhdCogc3RhdGJ1Zikgb3ZlcnJpZGUgeworLSAgICBpbnQgcmV0ID0gZm9sbG93X2xpbmtzID8g c3lzY2FsbChfX05SX3N0YXQsIGZpbGVwYXRoLCBzdGF0YnVmKQorLSAgICAgICAgICAgICAgICAg ICAgICAgICAgIDogc3lzY2FsbChfX05SX2xzdGF0LCBmaWxlcGF0aCwgc3RhdGJ1Zik7CisrICAg IHN0cnVjdCBrZXJuZWxfc3RhdCBidWY7CisrICAgIGludCByZXQgPSBzeXNjYWxsKF9fTlJfbmV3 ZnN0YXRhdCwgQVRfRkRDV0QsIGZpbGVwYXRoLCAmYnVmLAorKyAgICAgICAgICAgICAgICAgICAg ICBmb2xsb3dfbGlua3MgPyAwIDogQVRfU1lNTElOS19OT0ZPTExPVyk7CisgICAgIGlmIChyZXQg PCAwKQorICAgICAgIHJldHVybiAtZXJybm87CisrCisrICAgIENvbnZlcnRLZXJuZWxTdGF0VG9M aWJjU3RhdChidWYsICpzdGF0YnVmKTsKKyAgICAgcmV0dXJuIHJldDsKKyAgIH0KKyAKK2RpZmYg LS1naXQgYS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvREVQUyBiL3NhbmRib3gv bGludXgvc2VjY29tcC1icGYtaGVscGVycy9ERVBTCitpbmRleCA0NDE5ZmQxZGEzNGU4Li45NWQx YmI2Y2JiYWJmIDEwMDY0NAorLS0tIGEvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJz L0RFUFMKKysrKyBiL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9ERVBTCitAQCAt Myw1ICszLDQgQEAgaW5jbHVkZV9ydWxlcyA9IFsKKyAgICIrc2FuZGJveC9saW51eC9zZWNjb21w LWJwZiIsCisgICAiK3NhbmRib3gvbGludXgvc2VydmljZXMiLAorICAgIitzYW5kYm94L2xpbnV4 L3N5c3RlbV9oZWFkZXJzIiwKKy0gICIrdGhpcmRfcGFydHkvbHNzL2xpbnV4X3N5c2NhbGxfc3Vw cG9ydC5oIiwKKyBdCitkaWZmIC0tZ2l0IGEvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxw ZXJzL3N5c2NhbGxfcGFyYW1ldGVyc19yZXN0cmljdGlvbnNfdW5pdHRlc3RzLmNjIGIvc2FuZGJv eC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5c2NhbGxfcGFyYW1ldGVyc19yZXN0cmljdGlv bnNfdW5pdHRlc3RzLmNjCitpbmRleCA5MDNlNzAyZWFiMTRiLi43NmMzOTMwMzJjMWZlIDEwMDY0 NAorLS0tIGEvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5c2NhbGxfcGFyYW1l dGVyc19yZXN0cmljdGlvbnNfdW5pdHRlc3RzLmNjCisrKysgYi9zYW5kYm94L2xpbnV4L3NlY2Nv bXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9wYXJhbWV0ZXJzX3Jlc3RyaWN0aW9uc191bml0dGVzdHMu Y2MKK0BAIC0zNywxMCArMzcsNiBAQAorICNpbmNsdWRlICJzYW5kYm94L2xpbnV4L3N5c3RlbV9o ZWFkZXJzL2xpbnV4X3RpbWUuaCIKKyAjaW5jbHVkZSAic2FuZGJveC9saW51eC90ZXN0cy91bml0 X3Rlc3RzLmgiCisgCistI2lmICFkZWZpbmVkKE9TX0FORFJPSUQpCistI2luY2x1ZGUgInRoaXJk X3BhcnR5L2xzcy9saW51eF9zeXNjYWxsX3N1cHBvcnQuaCIgIC8vIGZvciBNQUtFX1BST0NFU1Nf Q1BVQ0xPQ0sKKy0jZW5kaWYKKy0KKyBuYW1lc3BhY2Ugc2FuZGJveCB7CisgCisgbmFtZXNwYWNl IHsKK2RpZmYgLS1naXQgYS9zYW5kYm94L2xpbnV4L3NlcnZpY2VzL3N5c2NhbGxfd3JhcHBlcnMu Y2MgYi9zYW5kYm94L2xpbnV4L3NlcnZpY2VzL3N5c2NhbGxfd3JhcHBlcnMuY2MKK2luZGV4IGZj ZmQyYWExMjlkNGIuLjNiZWMxOGExNGU5MWUgMTAwNjQ0CistLS0gYS9zYW5kYm94L2xpbnV4L3Nl cnZpY2VzL3N5c2NhbGxfd3JhcHBlcnMuY2MKKysrKyBiL3NhbmRib3gvbGludXgvc2VydmljZXMv c3lzY2FsbF93cmFwcGVycy5jYworQEAgLTQsNiArNCw3IEBACisgCisgI2luY2x1ZGUgInNhbmRi b3gvbGludXgvc2VydmljZXMvc3lzY2FsbF93cmFwcGVycy5oIgorIAorKyNpbmNsdWRlIDxmY250 bC5oPgorICNpbmNsdWRlIDxwdGhyZWFkLmg+CisgI2luY2x1ZGUgPHNjaGVkLmg+CisgI2luY2x1 ZGUgPHNldGptcC5oPgorQEAgLTE0LDExICsxNSwxMyBAQAorICNpbmNsdWRlIDx1bmlzdGQuaD4K KyAjaW5jbHVkZSA8Y3N0cmluZz4KKyAKKysjaW5jbHVkZSAiYmFzZS9jaGVjay5oIgorICNpbmNs dWRlICJiYXNlL2NvbXBpbGVyX3NwZWNpZmljLmgiCisgI2luY2x1ZGUgImJhc2UvbG9nZ2luZy5o IgorICNpbmNsdWRlICJidWlsZC9idWlsZF9jb25maWcuaCIKKyAjaW5jbHVkZSAic2FuZGJveC9s aW51eC9zeXN0ZW1faGVhZGVycy9jYXBhYmlsaXR5LmgiCisgI2luY2x1ZGUgInNhbmRib3gvbGlu dXgvc3lzdGVtX2hlYWRlcnMvbGludXhfc2lnbmFsLmgiCisrI2luY2x1ZGUgInNhbmRib3gvbGlu dXgvc3lzdGVtX2hlYWRlcnMvbGludXhfc3RhdC5oIgorICNpbmNsdWRlICJzYW5kYm94L2xpbnV4 L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3N5c2NhbGxzLmgiCisgCisgbmFtZXNwYWNlIHNhbmRib3gg eworQEAgLTIxNyw3ICsyMjAsNyBAQCBhc20oCisgI3VuZGVmIFNUUgorICN1bmRlZiBYU1RSCisg CistI2VuZGlmCisrI2VuZGlmICAvLyBkZWZpbmVkKEFSQ0hfQ1BVX1g4Nl9GQU1JTFkpCisgCisg aW50IHN5c19zaWdhY3Rpb24oaW50IHNpZ251bSwKKyAgICAgICAgICAgICAgICAgICBjb25zdCBz dHJ1Y3Qgc2lnYWN0aW9uKiBhY3QsCitAQCAtMjQxLDcgKzI0NCw3IEBAIGludCBzeXNfc2lnYWN0 aW9uKGludCBzaWdudW0sCisgI2Vycm9yICJVbnN1cHBvcnRlZCBhcmNoaXRlY3R1cmUuIgorICNl bmRpZgorICAgICB9CistI2VuZGlmCisrI2VuZGlmICAvLyBkZWZpbmVkKEFSQ0hfQ1BVX1g4Nl9G QU1JTFkpCisgICB9CisgCisgICBMaW51eFNpZ0FjdGlvbiBsaW51eF9vbGRhY3QgPSB7fTsKK0BA IC0yNTksNiArMjYyLDQ3IEBAIGludCBzeXNfc2lnYWN0aW9uKGludCBzaWdudW0sCisgICByZXR1 cm4gcmVzdWx0OworIH0KKyAKKy0jZW5kaWYgIC8vIGRlZmluZWQoTUVNT1JZX1NBTklUSVpFUikK KysjZW5kaWYgIC8vICFkZWZpbmVkKE9TX05BQ0xfTk9OU0ZJKQorKworK2ludCBzeXNfc3RhdChj b25zdCBjaGFyKiBwYXRoLCBzdHJ1Y3Qga2VybmVsX3N0YXQqIHN0YXRfYnVmKSB7CisrICBpbnQg cmVzOworKyNpZiAhZGVmaW5lZChfX05SX3N0YXQpCisrICByZXMgPSBzeXNjYWxsKF9fTlJfbmV3 ZnN0YXRhdCwgQVRfRkRDV0QsIHBhdGgsIHN0YXRfYnVmLCAwKTsKKysjZWxzZQorKyAgcmVzID0g c3lzY2FsbChfX05SX3N0YXQsIHBhdGgsIHN0YXRfYnVmKTsKKysjZW5kaWYKKysgIGlmIChyZXMg PT0gMCkKKysgICAgTVNBTl9VTlBPSVNPTihzdGF0X2J1Ziwgc2l6ZW9mKCpzdGF0X2J1ZikpOwor KyAgcmV0dXJuIHJlczsKKyt9CisrCisraW50IHN5c19sc3RhdChjb25zdCBjaGFyKiBwYXRoLCBz dHJ1Y3Qga2VybmVsX3N0YXQqIHN0YXRfYnVmKSB7CisrICBpbnQgcmVzOworKyNpZiAhZGVmaW5l ZChfX05SX2xzdGF0KQorKyAgcmVzID0gc3lzY2FsbChfX05SX25ld2ZzdGF0YXQsIEFUX0ZEQ1dE LCBwYXRoLCBzdGF0X2J1ZiwgQVRfU1lNTElOS19OT0ZPTExPVyk7CisrI2Vsc2UKKysgIHJlcyA9 IHN5c2NhbGwoX19OUl9sc3RhdCwgcGF0aCwgc3RhdF9idWYpOworKyNlbmRpZgorKyAgaWYgKHJl cyA9PSAwKQorKyAgICBNU0FOX1VOUE9JU09OKHN0YXRfYnVmLCBzaXplb2YoKnN0YXRfYnVmKSk7 CisrICByZXR1cm4gcmVzOworK30KKysKKytpbnQgc3lzX2ZzdGF0YXQ2NChpbnQgZGlyZmQsCisr ICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciogcGF0aG5hbWUsCisrICAgICAgICAgICAgICAg ICAgc3RydWN0IGtlcm5lbF9zdGF0NjQqIHN0YXRfYnVmLAorKyAgICAgICAgICAgICAgICAgIGlu dCBmbGFncykgeworKyNpZiBkZWZpbmVkKF9fTlJfZnN0YXRhdDY0KQorKyAgaW50IHJlcyA9IHN5 c2NhbGwoX19OUl9mc3RhdGF0NjQsIGRpcmZkLCBwYXRobmFtZSwgc3RhdF9idWYsIGZsYWdzKTsK KysgIGlmIChyZXMgPT0gMCkKKysgICAgTVNBTl9VTlBPSVNPTihzdGF0X2J1Ziwgc2l6ZW9mKCpz dGF0X2J1ZikpOworKyAgcmV0dXJuIHJlczsKKysjZWxzZSAgLy8gZGVmaW5lZChfX05SX2ZzdGF0 YXQ2NCkKKysgIC8vIFdlIHNob3VsZCBub3QgcmVhY2ggaGVyZSBvbiA2NC1iaXQgc3lzdGVtcywg YXMgdGhlICpzdGF0KjY0KCkgYXJlIG9ubHkKKysgIC8vIG5lY2Vzc2FyeSBvbiAzMi1iaXQuCisr ICBSQVdfQ0hFQ0soZmFsc2UpOworKyAgcmV0dXJuIC1FTk9TWVM7CisrI2VuZGlmCisrfQorIAor IH0gIC8vIG5hbWVzcGFjZSBzYW5kYm94CitkaWZmIC0tZ2l0IGEvc2FuZGJveC9saW51eC9zZXJ2 aWNlcy9zeXNjYWxsX3dyYXBwZXJzLmggYi9zYW5kYm94L2xpbnV4L3NlcnZpY2VzL3N5c2NhbGxf d3JhcHBlcnMuaAoraW5kZXggMTk3NWJmYmQ4OGE2ZC4uYjU1MzQwZTRhMjZiNyAxMDA2NDQKKy0t LSBhL3NhbmRib3gvbGludXgvc2VydmljZXMvc3lzY2FsbF93cmFwcGVycy5oCisrKysgYi9zYW5k Ym94L2xpbnV4L3NlcnZpY2VzL3N5c2NhbGxfd3JhcHBlcnMuaAorQEAgLTE3LDYgKzE3LDggQEAg c3RydWN0IHNvY2tfZnByb2c7Cisgc3RydWN0IHJsaW1pdDY0OworIHN0cnVjdCBjYXBfaGRyOwor IHN0cnVjdCBjYXBfZGF0YTsKKytzdHJ1Y3Qga2VybmVsX3N0YXQ7Cisrc3RydWN0IGtlcm5lbF9z dGF0NjQ7CisgCisgbmFtZXNwYWNlIHNhbmRib3ggeworIAorQEAgLTg0LDYgKzg2LDE5IEBAIFNB TkRCT1hfRVhQT1JUIGludCBzeXNfc2lnYWN0aW9uKGludCBzaWdudW0sCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IHNpZ2FjdGlvbiogYWN0LAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBzaWdhY3Rpb24qIG9sZGFjdCk7Cisg CisrLy8gU29tZSBhcmNoaXRlY3R1cmVzIGRvIG5vdCBoYXZlIHN0YXQoKSBhbmQgbHN0YXQoKSBz eXNjYWxscy4gSW4gdGhhdCBjYXNlLAorKy8vIHRoZXNlIHdyYXBwZXJzIHdpbGwgdXNlIG5ld2Zz dGF0YXQoKSwgd2hpY2ggaXMgYXZhaWxhYmxlIG9uIGFsbCBvdGhlcgorKy8vIGFyY2hpdGVjdHVy ZXMsIHdpdGggdGhlIHNhbWUgY2FwYWJpbGl0aWVzIGFzIHN0YXQoKSBhbmQgbHN0YXQoKS4KKytT QU5EQk9YX0VYUE9SVCBpbnQgc3lzX3N0YXQoY29uc3QgY2hhciogcGF0aCwgc3RydWN0IGtlcm5l bF9zdGF0KiBzdGF0X2J1Zik7CisrU0FOREJPWF9FWFBPUlQgaW50IHN5c19sc3RhdChjb25zdCBj aGFyKiBwYXRoLCBzdHJ1Y3Qga2VybmVsX3N0YXQqIHN0YXRfYnVmKTsKKysKKysvLyBUYWtlcyBj YXJlIG9mIHVucG9pc29uaW5nIHxzdGF0X2J1ZnwgZm9yIE1TQU4uIENoZWNrLWZhaWxzIGlmIGZz dGF0YXQ2NCgpIGlzCisrLy8gbm90IGEgc3VwcG9ydGVkIHN5c2NhbGwgb24gdGhlIGN1cnJlbnQg cGxhdGZvcm0uCisrU0FOREJPWF9FWFBPUlQgaW50IHN5c19mc3RhdGF0NjQoaW50IGRpcmZkLAor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIHBhdGhuYW1lLAor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBrZXJuZWxfc3RhdDY0KiBz dGF0X2J1ZiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZmxhZ3MpOwor KworIH0gIC8vIG5hbWVzcGFjZSBzYW5kYm94CisgCisgI2VuZGlmICAvLyBTQU5EQk9YX0xJTlVY X1NFUlZJQ0VTX1NZU0NBTExfV1JBUFBFUlNfSF8KK2RpZmYgLS1naXQgYS9zYW5kYm94L2xpbnV4 L3NlcnZpY2VzL3N5c2NhbGxfd3JhcHBlcnNfdW5pdHRlc3QuY2MgYi9zYW5kYm94L2xpbnV4L3Nl cnZpY2VzL3N5c2NhbGxfd3JhcHBlcnNfdW5pdHRlc3QuY2MKK2luZGV4IDMyODIwZjYwYThjZWUu LjY0YjljZWE4MGYzMTkgMTAwNjQ0CistLS0gYS9zYW5kYm94L2xpbnV4L3NlcnZpY2VzL3N5c2Nh bGxfd3JhcHBlcnNfdW5pdHRlc3QuY2MKKysrKyBiL3NhbmRib3gvbGludXgvc2VydmljZXMvc3lz Y2FsbF93cmFwcGVyc191bml0dGVzdC5jYworQEAgLTUsMTUgKzUsMTkgQEAKKyAjaW5jbHVkZSAi c2FuZGJveC9saW51eC9zZXJ2aWNlcy9zeXNjYWxsX3dyYXBwZXJzLmgiCisgCisgI2luY2x1ZGUg PHN0ZGludC5oPgorKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyAjaW5jbHVkZSA8c3lzL3N5c2NhbGwu aD4KKyAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisgI2luY2x1ZGUgPHN5cy93YWl0Lmg+CisgI2lu Y2x1ZGUgPHVuaXN0ZC5oPgorLSNpbmNsdWRlIDxjc3RyaW5nPgorIAorKyNpbmNsdWRlICJiYXNl L2xvZ2dpbmcuaCIKKysjaW5jbHVkZSAiYmFzZS9tZW1vcnkvcGFnZV9zaXplLmgiCisgI2luY2x1 ZGUgImJhc2UvcG9zaXgvZWludHJfd3JhcHBlci5oIgorICNpbmNsdWRlICJidWlsZC9idWlsZF9j b25maWcuaCIKKyAjaW5jbHVkZSAic2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF9z aWduYWwuaCIKKysjaW5jbHVkZSAic2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF9z dGF0LmgiCisrI2luY2x1ZGUgInNhbmRib3gvbGludXgvdGVzdHMvc2NvcGVkX3RlbXBvcmFyeV9m aWxlLmgiCisgI2luY2x1ZGUgInNhbmRib3gvbGludXgvdGVzdHMvdGVzdF91dGlscy5oIgorICNp bmNsdWRlICJzYW5kYm94L2xpbnV4L3Rlc3RzL3VuaXRfdGVzdHMuaCIKKyAjaW5jbHVkZSAidGVz dGluZy9ndGVzdC9pbmNsdWRlL2d0ZXN0L2d0ZXN0LmgiCitAQCAtOTMsNiArOTcsMTI5IEBAIFRF U1QoU3lzY2FsbFdyYXBwZXJzLCBMaW51eFNpZ1NldCkgeworICAgICAgICAgICAgIGxpbnV4X3Np Z3NldCk7CisgfQorIAorK1RFU1QoU3lzY2FsbFdyYXBwZXJzLCBTdGF0KSB7CisrICAvLyBDcmVh dGUgYSBmaWxlIHRvIHN0YXQsIHdpdGggMTIgYnl0ZXMgb2YgZGF0YS4KKysgIFNjb3BlZFRlbXBv cmFyeUZpbGUgdG1wX2ZpbGU7CisrICBFWFBFQ1RfRVEoMTIsIHdyaXRlKHRtcF9maWxlLmZkKCks ICJibGFoYmxhaGJsYWgiLCAxMikpOworKworKyAgLy8gVG8gdGVzdCB3ZSBoYXZlIHRoZSBjb3Jy ZWN0IHN0YXQgc3RydWN0dXJlcyBmb3IgZWFjaCBrZXJuZWwvcGxhdGZvcm0sIHdlCisrICAvLyB3 aWxsIHJpZ2h0LWFsaWduIHRoZW0gb24gYSBwYWdlLCB3aXRoIGEgZ3VhcmQgcGFnZSBhZnRlci4K KysgIGNoYXIqIHR3b19wYWdlcyA9IHN0YXRpY19jYXN0PGNoYXIqPihUZXN0VXRpbHM6Ok1hcFBh Z2VzT3JEaWUoMikpOworKyAgVGVzdFV0aWxzOjpNcHJvdGVjdExhc3RQYWdlT3JEaWUodHdvX3Bh Z2VzLCAyKTsKKysgIGNoYXIqIHBhZ2UxX2VuZCA9IHR3b19wYWdlcyArIGJhc2U6OkdldFBhZ2VT aXplKCk7CisrCisrICAvLyBGaXJzdCwgY2hlY2sgdGhhdCBjYWxsaW5nIHN0YXQgd2l0aCB8c3Rh dF9idWZ8IHBvaW50aW5nIHRvIHRoZSBsYXN0IGJ5dGUgb24KKysgIC8vIGEgcGFnZSBjYXVzZXMg RUZBVUxULgorKyAgaW50IHJlcyA9IHN5c19zdGF0KHRtcF9maWxlLmZ1bGxfZmlsZV9uYW1lKCks CisrICAgICAgICAgICAgICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxzdHJ1Y3Qga2VybmVsX3N0 YXQqPihwYWdlMV9lbmQgLSAxKSk7CisrICBBU1NFUlRfRVEocmVzLCAtMSk7CisrICBBU1NFUlRf RVEoZXJybm8sIEVGQVVMVCk7CisrCisrICAvLyBOb3csIGNoZWNrIHRoYXQgd2UgaGF2ZSB0aGUg Y29ycmVjdGx5IHNpemVkIHN0YXQgc3RydWN0dXJlLgorKyAgc3RydWN0IGtlcm5lbF9zdGF0KiBz YiA9IHJlaW50ZXJwcmV0X2Nhc3Q8c3RydWN0IGtlcm5lbF9zdGF0Kj4oCisrICAgICAgcGFnZTFf ZW5kIC0gc2l6ZW9mKHN0cnVjdCBrZXJuZWxfc3RhdCkpOworKyAgLy8gTWVtc2V0IHRvIGMncyBz byB3ZSBjYW4gY2hlY2sgdGhlIGtlcm5lbCB6ZXJvJ2QgdGhlIHBhZGRpbmcuLi4KKysgIG1lbXNl dChzYiwgJ2MnLCBzaXplb2Yoc3RydWN0IGtlcm5lbF9zdGF0KSk7CisrICByZXMgPSBzeXNfc3Rh dCh0bXBfZmlsZS5mdWxsX2ZpbGVfbmFtZSgpLCBzYik7CisrICBBU1NFUlRfRVEocmVzLCAwKTsK KysKKysgIC8vIEZvbGxvd2luZyBmaWVsZHMgbWF5IG5ldmVyIGJlIGNvbnNpc3RlbnQgYnV0IHNo b3VsZCBiZSBub24temVyby4KKysgIC8vIERvbid0IHRydXN0IHRoZSBwbGF0Zm9ybSB0byBkZWZp bmUgZmllbGRzIHdpdGggYW55IHBhcnRpY3VsYXIgc2lnbi4KKysgIEVYUEVDVF9ORSgwdSwgc3Rh dGljX2Nhc3Q8dW5zaWduZWQgaW50PihzYi0+c3RfZGV2KSk7CisrICBFWFBFQ1RfTkUoMHUsIHN0 YXRpY19jYXN0PHVuc2lnbmVkIGludD4oc2ItPnN0X2lubykpOworKyAgRVhQRUNUX05FKDB1LCBz dGF0aWNfY2FzdDx1bnNpZ25lZCBpbnQ+KHNiLT5zdF9tb2RlKSk7CisrICBFWFBFQ1RfTkUoMHUs IHN0YXRpY19jYXN0PHVuc2lnbmVkIGludD4oc2ItPnN0X2Jsa3NpemUpKTsKKysgIEVYUEVDVF9O RSgwdSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQgaW50PihzYi0+c3RfYmxvY2tzKSk7CisrCisrLy8g V2UgYXJlIHRoZSBvbmVzIHRoYXQgbWFkZSB0aGUgZmlsZS4KKysvLyBOb3RlOiBub3JtYWxseSBn aWQgYW5kIHVpZCBvdmVyZmxvdyBvbiBiYWNrd2FyZHMtY29tcGF0aWJsZSAzMi1iaXQgc3lzdGVt cworKy8vIGFuZCB3ZSBlbmQgdXAgd2l0aCBkdW1teSB1aWRzIGFuZCBnaWRzIGluIHBsYWNlIGhl cmUuCisrI2lmIGRlZmluZWQoQVJDSF9DUFVfNjRfQklUUykKKysgIEVYUEVDVF9FUShnZXRldWlk KCksIHNiLT5zdF91aWQpOworKyAgRVhQRUNUX0VRKGdldGVnaWQoKSwgc2ItPnN0X2dpZCk7Cisr I2VuZGlmCisrCisrICAvLyBXcm90ZSAxMiBieXRlcyBhYm92ZSB3aGljaCBzaG91bGQgZml0IGlu IG9uZSBibG9jay4KKysgIEVYUEVDVF9FUSgxMnUsIHNiLT5zdF9zaXplKTsKKysKKysgIC8vIENh bid0IGdvIGJhY2t3YXJkcyBpbiB0aW1lLCAxNTAwMDAwMDAwIHdhcyBzb21lIHRpbWUgYWdvLgor KyAgRVhQRUNUX0xUKDE1MDAwMDAwMDB1LCBzdGF0aWNfY2FzdDx1bnNpZ25lZCBpbnQ+KHNiLT5z dF9hdGltZV8pKTsKKysgIEVYUEVDVF9MVCgxNTAwMDAwMDAwdSwgc3RhdGljX2Nhc3Q8dW5zaWdu ZWQgaW50PihzYi0+c3RfbXRpbWVfKSk7CisrICBFWFBFQ1RfTFQoMTUwMDAwMDAwMHUsIHN0YXRp Y19jYXN0PHVuc2lnbmVkIGludD4oc2ItPnN0X2N0aW1lXykpOworKworKyAgLy8gQ2hlY2tpbmcg dGhlIHBhZGRpbmcgZm9yIGdvb2QgbWVhc3VyZS4KKysjaWYgZGVmaW5lZChfX3g4Nl82NF9fKQor KyAgRVhQRUNUX0VRKDB1LCBzYi0+X19wYWQwKTsKKysgIEVYUEVDVF9FUSgwdSwgc2ItPl9fdW51 c2VkNFswXSk7CisrICBFWFBFQ1RfRVEoMHUsIHNiLT5fX3VudXNlZDRbMV0pOworKyAgRVhQRUNU X0VRKDB1LCBzYi0+X191bnVzZWQ0WzJdKTsKKysjZWxpZiBkZWZpbmVkKF9fYWFyY2g2NF9fKQor KyAgRVhQRUNUX0VRKDB1LCBzYi0+X19wYWQxKTsKKysgIEVYUEVDVF9FUSgwLCBzYi0+X19wYWQy KTsKKysgIEVYUEVDVF9FUSgwdSwgc2ItPl9fdW51c2VkNCk7CisrICBFWFBFQ1RfRVEoMHUsIHNi LT5fX3VudXNlZDUpOworKyNlbmRpZgorK30KKysKKytURVNUKFN5c2NhbGxXcmFwcGVycywgTFN0 YXQpIHsKKysgIC8vIENyZWF0ZSBhIGZpbGUgdG8gc3RhdCwgd2l0aCAxMiBieXRlcyBvZiBkYXRh LgorKyAgU2NvcGVkVGVtcG9yYXJ5RmlsZSB0bXBfZmlsZTsKKysgIEVYUEVDVF9FUSgxMiwgd3Jp dGUodG1wX2ZpbGUuZmQoKSwgImJsYWhibGFoYmxhaCIsIDEyKSk7CisrCisrICAvLyBBbHNvIGNy ZWF0ZSBhIHN5bWxpbmsuCisrICBzdGQ6OnN0cmluZyBzeW1saW5rX25hbWU7CisrICB7CisrICAg IFNjb3BlZFRlbXBvcmFyeUZpbGUgdG1wX2ZpbGUyOworKyAgICBzeW1saW5rX25hbWUgPSB0bXBf ZmlsZTIuZnVsbF9maWxlX25hbWUoKTsKKysgIH0KKysgIGludCByYyA9IHN5bWxpbmsodG1wX2Zp bGUuZnVsbF9maWxlX25hbWUoKSwgc3ltbGlua19uYW1lLmNfc3RyKCkpOworKyAgaWYgKHJjICE9 IDApIHsKKysgICAgUExPRyhFUlJPUikgPDwgIkNvdWxkbid0IHN5bWxpbmsgIiA8PCBzeW1saW5r X25hbWUgPDwgIiB0byB0YXJnZXQgIgorKyAgICAgICAgICAgICAgICA8PCB0bXBfZmlsZS5mdWxs X2ZpbGVfbmFtZSgpOworKyAgICBHVEVTVF9GQUlMKCk7CisrICB9CisrCisrICBzdHJ1Y3Qga2Vy bmVsX3N0YXQgbHN0YXRfaW5mbzsKKysgIHJjID0gc3lzX2xzdGF0KHN5bWxpbmtfbmFtZS5jX3N0 cigpLCAmbHN0YXRfaW5mbyk7CisrICBpZiAocmMgPCAwICYmIGVycm5vID09IEVPVkVSRkxPVykg eworKyAgICBHVEVTVF9TS0lQKCk7CisrICB9CisrICBpZiAocmMgIT0gMCkgeworKyAgICBQTE9H KEVSUk9SKSA8PCAiQ291bGRuJ3Qgc3lzX2xzdGF0ICIgPDwgc3ltbGlua19uYW1lOworKyAgICBH VEVTVF9GQUlMKCk7CisrICB9CisrCisrICBzdHJ1Y3Qga2VybmVsX3N0YXQgc3RhdF9pbmZvOwor KyAgcmMgPSBzeXNfc3RhdChzeW1saW5rX25hbWUuY19zdHIoKSwgJnN0YXRfaW5mbyk7CisrICBp ZiAocmMgPCAwICYmIGVycm5vID09IEVPVkVSRkxPVykgeworKyAgICBHVEVTVF9TS0lQKCk7Cisr ICB9CisrICBpZiAocmMgIT0gMCkgeworKyAgICBQTE9HKEVSUk9SKSA8PCAiQ291bGRuJ3Qgc3lz X3N0YXQgIiA8PCBzeW1saW5rX25hbWU7CisrICAgIEdURVNUX0ZBSUwoKTsKKysgIH0KKysKKysg IHN0cnVjdCBrZXJuZWxfc3RhdCB0bXBfZmlsZV9zdGF0X2luZm87CisrICByYyA9IHN5c19zdGF0 KHRtcF9maWxlLmZ1bGxfZmlsZV9uYW1lKCksICZ0bXBfZmlsZV9zdGF0X2luZm8pOworKyAgaWYg KHJjIDwgMCAmJiBlcnJubyA9PSBFT1ZFUkZMT1cpIHsKKysgICAgR1RFU1RfU0tJUCgpOworKyAg fQorKyAgaWYgKHJjICE9IDApIHsKKysgICAgUExPRyhFUlJPUikgPDwgIkNvdWxkbid0IHN5c19z dGF0ICIgPDwgdG1wX2ZpbGUuZnVsbF9maWxlX25hbWUoKTsKKysgICAgR1RFU1RfRkFJTCgpOwor KyAgfQorKworKyAgLy8gbHN0YXQgc2hvdWxkIHByb2R1Y2UgaW5mb3JtYXRpb24gYWJvdXQgYSBz eW1saW5rLgorKyAgQVNTRVJUX1RSVUUoU19JU0xOSyhsc3RhdF9pbmZvLnN0X21vZGUpKTsKKysK KysgIC8vIHN0YXQtaW5nIHN5bWxpbmtfbmFtZSBhbmQgdG1wX2ZpbGUgc2hvdWxkIHByb2R1Y2Ug dGhlIHNhbWUgaW5vZGUuCisrICBBU1NFUlRfRVEoc3RhdF9pbmZvLnN0X2lubywgdG1wX2ZpbGVf c3RhdF9pbmZvLnN0X2lubyk7CisrCisrICAvLyBsc3RhdC1pbmcgc3ltbGlua19uYW1lIHNob3Vs ZCBnaXZlIGEgZGlmZmVyZW50IGlub2RlIHRoYW4gc3RhdC1pbmcKKysgIC8vIHN5bWxpbmtfbmFt ZS4KKysgIEFTU0VSVF9ORShzdGF0X2luZm8uc3RfaW5vLCBsc3RhdF9pbmZvLnN0X2lubyk7Cisr fQorKworIH0gIC8vIG5hbWVzcGFjZQorIAorIH0gIC8vIG5hbWVzcGFjZSBzYW5kYm94CitkaWZm IC0tZ2l0IGEvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9ERVBTIGIvc2FuZGJveC9saW51 eC9zeXNjYWxsX2Jyb2tlci9ERVBTCitpbmRleCBjNDc3ZjdkMzYzOTRiLi4xNDljNDYzYjA2ODM5 IDEwMDY0NAorLS0tIGEvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9ERVBTCisrKysgYi9z YW5kYm94L2xpbnV4L3N5c2NhbGxfYnJva2VyL0RFUFMKK0BAIC0xLDQgKzEsNSBAQAorIGluY2x1 ZGVfcnVsZXMgPSBbCistICAiK3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMiLAorICAgIitz YW5kYm94L2xpbnV4L2JwZl9kc2wiLAorKyAgIitzYW5kYm94L2xpbnV4L3NlcnZpY2VzIiwKKysg ICIrc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycyIsCisgXQorZGlmZiAtLWdpdCBhL3NhbmRi b3gvbGludXgvc3lzY2FsbF9icm9rZXIvYnJva2VyX2NsaWVudC5jYyBiL3NhbmRib3gvbGludXgv c3lzY2FsbF9icm9rZXIvYnJva2VyX2NsaWVudC5jYworaW5kZXggNmIxYjViZTQzMzg5OS4uZTI0 ZjY1OWZjZjg3MiAxMDA2NDQKKy0tLSBhL3NhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvYnJv a2VyX2NsaWVudC5jYworKysrIGIvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9icm9rZXJf Y2xpZW50LmNjCitAQCAtMTY2LDcgKzE2Niw3IEBAIGludCBCcm9rZXJDbGllbnQ6OlJtZGlyKGNv bnN0IGNoYXIqIHBhdGgpIGNvbnN0IHsKKyAKKyBpbnQgQnJva2VyQ2xpZW50OjpTdGF0KGNvbnN0 IGNoYXIqIHBhdGhuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBmb2xsb3dfbGlu a3MsCistICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qgc3RhdCogc2IpIGNvbnN0IHsKKysg ICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBrZXJuZWxfc3RhdCogc2IpIGNvbnN0IHsKKyAg IGlmICghcGF0aG5hbWUgfHwgIXNiKQorICAgICByZXR1cm4gLUVGQVVMVDsKKyAKK0BAIC0xODEs NyArMTgxLDcgQEAgaW50IEJyb2tlckNsaWVudDo6U3RhdChjb25zdCBjaGFyKiBwYXRobmFtZSwK KyAKKyBpbnQgQnJva2VyQ2xpZW50OjpTdGF0NjQoY29uc3QgY2hhciogcGF0aG5hbWUsCisgICAg ICAgICAgICAgICAgICAgICAgICAgIGJvb2wgZm9sbG93X2xpbmtzLAorLSAgICAgICAgICAgICAg ICAgICAgICAgICBzdHJ1Y3Qgc3RhdDY0KiBzYikgY29uc3QgeworKyAgICAgICAgICAgICAgICAg ICAgICAgICBzdHJ1Y3Qga2VybmVsX3N0YXQ2NCogc2IpIGNvbnN0IHsKKyAgIGlmICghcGF0aG5h bWUgfHwgIXNiKQorICAgICByZXR1cm4gLUVGQVVMVDsKKyAKK2RpZmYgLS1naXQgYS9zYW5kYm94 L2xpbnV4L3N5c2NhbGxfYnJva2VyL2Jyb2tlcl9jbGllbnQuaCBiL3NhbmRib3gvbGludXgvc3lz Y2FsbF9icm9rZXIvYnJva2VyX2NsaWVudC5oCitpbmRleCAwNWUxNGM4M2YyMDEwLi4yNmNhNzgx MDFjNzFjIDEwMDY0NAorLS0tIGEvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9icm9rZXJf Y2xpZW50LmgKKysrKyBiL3NhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvYnJva2VyX2NsaWVu dC5oCitAQCAtNjEsMTAgKzYxLDEwIEBAIGNsYXNzIFNBTkRCT1hfRVhQT1JUIEJyb2tlckNsaWVu dCA6IHB1YmxpYyBTeXNjYWxsRGlzcGF0Y2hlciB7CisgICBpbnQgUm1kaXIoY29uc3QgY2hhciog cGF0aCkgY29uc3Qgb3ZlcnJpZGU7CisgICBpbnQgU3RhdChjb25zdCBjaGFyKiBwYXRobmFtZSwK KyAgICAgICAgICAgIGJvb2wgZm9sbG93X2xpbmtzLAorLSAgICAgICAgICAgc3RydWN0IHN0YXQq IHNiKSBjb25zdCBvdmVycmlkZTsKKysgICAgICAgICAgIHN0cnVjdCBrZXJuZWxfc3RhdCogc2Ip IGNvbnN0IG92ZXJyaWRlOworICAgaW50IFN0YXQ2NChjb25zdCBjaGFyKiBwYXRobmFtZSwKKyAg ICAgICAgICAgICAgYm9vbCBmb2xsb3dfbGlua3MsCistICAgICAgICAgICAgIHN0cnVjdCBzdGF0 NjQqIHNiKSBjb25zdCBvdmVycmlkZTsKKysgICAgICAgICAgICAgc3RydWN0IGtlcm5lbF9zdGF0 NjQqIHNiKSBjb25zdCBvdmVycmlkZTsKKyAgIGludCBVbmxpbmsoY29uc3QgY2hhciogdW5saW5r KSBjb25zdCBvdmVycmlkZTsKKyAKKyAgcHJpdmF0ZToKK2RpZmYgLS1naXQgYS9zYW5kYm94L2xp bnV4L3N5c2NhbGxfYnJva2VyL2Jyb2tlcl9ob3N0LmNjIGIvc2FuZGJveC9saW51eC9zeXNjYWxs X2Jyb2tlci9icm9rZXJfaG9zdC5jYworaW5kZXggMWNkMDNhMThkZjgwOS4uMWNkYzAxYTg4OGY0 MSAxMDA2NDQKKy0tLSBhL3NhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvYnJva2VyX2hvc3Qu Y2MKKysrKyBiL3NhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvYnJva2VyX2hvc3QuY2MKK0BA IC0yMCw5ICsyMCwxMSBAQAorICNpbmNsdWRlICJiYXNlL2ZpbGVzL3Njb3BlZF9maWxlLmgiCisg I2luY2x1ZGUgImJhc2UvbG9nZ2luZy5oIgorICNpbmNsdWRlICJiYXNlL3Bvc2l4L2VpbnRyX3dy YXBwZXIuaCIKKysjaW5jbHVkZSAic2FuZGJveC9saW51eC9zZXJ2aWNlcy9zeXNjYWxsX3dyYXBw ZXJzLmgiCisgI2luY2x1ZGUgInNhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvYnJva2VyX2Nv bW1hbmQuaCIKKyAjaW5jbHVkZSAic2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9icm9rZXJf cGVybWlzc2lvbl9saXN0LmgiCisgI2luY2x1ZGUgInNhbmRib3gvbGludXgvc3lzY2FsbF9icm9r ZXIvYnJva2VyX3NpbXBsZV9tZXNzYWdlLmgiCisrI2luY2x1ZGUgInNhbmRib3gvbGludXgvc3lz dGVtX2hlYWRlcnMvbGludXhfc3RhdC5oIgorICNpbmNsdWRlICJzYW5kYm94L2xpbnV4L3N5c3Rl bV9oZWFkZXJzL2xpbnV4X3N5c2NhbGxzLmgiCisgCisgbmFtZXNwYWNlIHNhbmRib3ggeworQEAg LTE5MywxMCArMTk1LDEyIEBAIHZvaWQgU3RhdEZpbGVGb3JJUEMoY29uc3QgQnJva2VyQ29tbWFu ZFNldCYgYWxsb3dlZF9jb21tYW5kX3NldCwKKyAgICAgUkFXX0NIRUNLKHJlcGx5LT5BZGRJbnRU b01lc3NhZ2UoLXBlcm1pc3Npb25fbGlzdC5kZW5pZWRfZXJybm8oKSkpOworICAgICByZXR1cm47 CisgICB9CisrCisgICBpZiAoY29tbWFuZF90eXBlID09IENPTU1BTkRfU1RBVCkgeworLSAgICBz dHJ1Y3Qgc3RhdCBzYjsKKy0gICAgaW50IHN0cyA9CistICAgICAgICBmb2xsb3dfbGlua3MgPyBz dGF0KGZpbGVfdG9fYWNjZXNzLCAmc2IpIDogbHN0YXQoZmlsZV90b19hY2Nlc3MsICZzYik7Cisr ICAgIHN0cnVjdCBrZXJuZWxfc3RhdCBzYjsKKysKKysgICAgaW50IHN0cyA9IGZvbGxvd19saW5r cyA/IHNhbmRib3g6OnN5c19zdGF0KGZpbGVfdG9fYWNjZXNzLCAmc2IpCisrICAgICAgICAgICAg ICAgICAgICAgICAgICAgOiBzYW5kYm94OjpzeXNfbHN0YXQoZmlsZV90b19hY2Nlc3MsICZzYik7 CisgICAgIGlmIChzdHMgPCAwKSB7CisgICAgICAgUkFXX0NIRUNLKHJlcGx5LT5BZGRJbnRUb01l c3NhZ2UoLWVycm5vKSk7CisgICAgICAgcmV0dXJuOworQEAgLTIwNSwxMCArMjA5LDEyIEBAIHZv aWQgU3RhdEZpbGVGb3JJUEMoY29uc3QgQnJva2VyQ29tbWFuZFNldCYgYWxsb3dlZF9jb21tYW5k X3NldCwKKyAgICAgUkFXX0NIRUNLKAorICAgICAgICAgcmVwbHktPkFkZERhdGFUb01lc3NhZ2Uo cmVpbnRlcnByZXRfY2FzdDxjaGFyKj4oJnNiKSwgc2l6ZW9mKHNiKSkpOworICAgfSBlbHNlIHsK KysjaWYgZGVmaW5lZChfX05SX2ZzdGF0YXQ2NCkKKyAgICAgRENIRUNLKGNvbW1hbmRfdHlwZSA9 PSBDT01NQU5EX1NUQVQ2NCk7CistICAgIHN0cnVjdCBzdGF0NjQgc2I7CistICAgIGludCBzdHMg PSBmb2xsb3dfbGlua3MgPyBzdGF0NjQoZmlsZV90b19hY2Nlc3MsICZzYikKKy0gICAgICAgICAg ICAgICAgICAgICAgICAgICA6IGxzdGF0NjQoZmlsZV90b19hY2Nlc3MsICZzYik7CisrICAgIHN0 cnVjdCBrZXJuZWxfc3RhdDY0IHNiOworKworKyAgICBpbnQgc3RzID0gc2FuZGJveDo6c3lzX2Zz dGF0YXQ2NChBVF9GRENXRCwgZmlsZV90b19hY2Nlc3MsICZzYiwKKysgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZm9sbG93X2xpbmtzID8gMCA6IEFUX1NZTUxJTktfTk9GT0xM T1cpOworICAgICBpZiAoc3RzIDwgMCkgeworICAgICAgIFJBV19DSEVDSyhyZXBseS0+QWRkSW50 VG9NZXNzYWdlKC1lcnJubykpOworICAgICAgIHJldHVybjsKK0BAIC0yMTYsNiArMjIyLDExIEBA IHZvaWQgU3RhdEZpbGVGb3JJUEMoY29uc3QgQnJva2VyQ29tbWFuZFNldCYgYWxsb3dlZF9jb21t YW5kX3NldCwKKyAgICAgUkFXX0NIRUNLKHJlcGx5LT5BZGRJbnRUb01lc3NhZ2UoMCkpOworICAg ICBSQVdfQ0hFQ0soCisgICAgICAgICByZXBseS0+QWRkRGF0YVRvTWVzc2FnZShyZWludGVycHJl dF9jYXN0PGNoYXIqPigmc2IpLCBzaXplb2Yoc2IpKSk7CisrI2Vsc2UgIC8vIGRlZmluZWQoX19O Ul9mc3RhdGF0NjQpCisrICAgIC8vIFdlIHNob3VsZCBub3QgcmVhY2ggaGVyZSBvbiA2NC1iaXQg c3lzdGVtcywgYXMgdGhlICpzdGF0KjY0KCkgYXJlIG9ubHkKKysgICAgLy8gbmVjZXNzYXJ5IG9u IDMyLWJpdC4KKysgICAgUkFXX0NIRUNLKGZhbHNlKTsKKysjZW5kaWYKKyAgIH0KKyB9CisgCitk aWZmIC0tZ2l0IGEvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9icm9rZXJfcHJvY2Vzc191 bml0dGVzdC5jYyBiL3NhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvYnJva2VyX3Byb2Nlc3Nf dW5pdHRlc3QuY2MKK2luZGV4IDU1YmE2YmNjYjI5ZWMuLmM2NWYyNWE3OGE5OTkgMTAwNjQ0Cist LS0gYS9zYW5kYm94L2xpbnV4L3N5c2NhbGxfYnJva2VyL2Jyb2tlcl9wcm9jZXNzX3VuaXR0ZXN0 LmNjCisrKysgYi9zYW5kYm94L2xpbnV4L3N5c2NhbGxfYnJva2VyL2Jyb2tlcl9wcm9jZXNzX3Vu aXR0ZXN0LmNjCitAQCAtODExLDcgKzgxMSw3IEBAIHZvaWQgVGVzdFN0YXRIZWxwZXIoYm9vbCBm YXN0X2NoZWNrX2luX2NsaWVudCwgYm9vbCBmb2xsb3dfbGlua3MpIHsKKyAgIGNvbnN0IGNoYXIq IGJhZF9sZWFkaW5nX3BhdGg1ID0gIi9tYm9nby9maWN0aXRpb3V4IjsKKyAgIGNvbnN0IGNoYXIq IGJhZF9sZWFkaW5nX3BhdGg2ID0gIi9tYm9nby9maWN0aXRpb3VzYSI7CisgCistICBzdHJ1Y3Qg c3RhdCBzYjsKKysgIGRlZmF1bHRfc3RhdF9zdHJ1Y3Qgc2I7CisgCisgICB7CisgICAgIC8vIEFj dHVhbCBmaWxlIHdpdGggcGVybWlzc2lvbnMgdG8gc2VlIGZpbGUgYnV0IGNvbW1hbmQgbm90IGFs bG93ZWQuCitAQCAtODI0LDcgKzgyNCw3IEBAIHZvaWQgVGVzdFN0YXRIZWxwZXIoYm9vbCBmYXN0 X2NoZWNrX2luX2NsaWVudCwgYm9vbCBmb2xsb3dfbGlua3MpIHsKKyAKKyAgICAgbWVtc2V0KCZz YiwgMCwgc2l6ZW9mKHNiKSk7CisgICAgIEVYUEVDVF9FUSgta0Zha2VFcnJub1NlbnRpbmVsLAor LSAgICAgICAgICAgICAgb3Blbl9icm9rZXIuR2V0QnJva2VyQ2xpZW50U2lnbmFsQmFzZWQoKS0+ U3RhdCgKKysgICAgICAgICAgICAgIG9wZW5fYnJva2VyLkdldEJyb2tlckNsaWVudFNpZ25hbEJh c2VkKCktPkRlZmF1bHRTdGF0Rm9yVGVzdGluZygKKyAgICAgICAgICAgICAgICAgICB0ZW1wZmls ZV9uYW1lLCBmb2xsb3dfbGlua3MsICZzYikpOworICAgfQorIAorQEAgLTg0MCw3ICs4NDAsNyBA QCB2b2lkIFRlc3RTdGF0SGVscGVyKGJvb2wgZmFzdF9jaGVja19pbl9jbGllbnQsIGJvb2wgZm9s bG93X2xpbmtzKSB7CisgCisgICAgIG1lbXNldCgmc2IsIDAsIHNpemVvZihzYikpOworICAgICBF WFBFQ1RfRVEoLWtGYWtlRXJybm9TZW50aW5lbCwKKy0gICAgICAgICAgICAgIG9wZW5fYnJva2Vy LkdldEJyb2tlckNsaWVudFNpZ25hbEJhc2VkKCktPlN0YXQoCisrICAgICAgICAgICAgICBvcGVu X2Jyb2tlci5HZXRCcm9rZXJDbGllbnRTaWduYWxCYXNlZCgpLT5EZWZhdWx0U3RhdEZvclRlc3Rp bmcoCisgICAgICAgICAgICAgICAgICAgbm9uZXN1Y2hfbmFtZSwgZm9sbG93X2xpbmtzLCAmc2Ip KTsKKyAgIH0KKyAgIHsKK0BAIC04NTIsNyArODUyLDcgQEAgdm9pZCBUZXN0U3RhdEhlbHBlcihi b29sIGZhc3RfY2hlY2tfaW5fY2xpZW50LCBib29sIGZvbGxvd19saW5rcykgeworIAorICAgICBt ZW1zZXQoJnNiLCAwLCBzaXplb2Yoc2IpKTsKKyAgICAgRVhQRUNUX0VRKC1rRmFrZUVycm5vU2Vu dGluZWwsCistICAgICAgICAgICAgICBvcGVuX2Jyb2tlci5HZXRCcm9rZXJDbGllbnRTaWduYWxC YXNlZCgpLT5TdGF0KAorKyAgICAgICAgICAgICAgb3Blbl9icm9rZXIuR2V0QnJva2VyQ2xpZW50 U2lnbmFsQmFzZWQoKS0+RGVmYXVsdFN0YXRGb3JUZXN0aW5nKAorICAgICAgICAgICAgICAgICAg IHRlbXBmaWxlX25hbWUsIGZvbGxvd19saW5rcywgJnNiKSk7CisgICB9CisgICB7CitAQCAtODY0 LDM4ICs4NjQsMzkgQEAgdm9pZCBUZXN0U3RhdEhlbHBlcihib29sIGZhc3RfY2hlY2tfaW5fY2xp ZW50LCBib29sIGZvbGxvd19saW5rcykgeworICAgICBBU1NFUlRfVFJVRShvcGVuX2Jyb2tlci5J bml0KGJhc2U6OkJpbmRPbmNlKCZOb09wQ2FsbGJhY2spKSk7CisgCisgICAgIG1lbXNldCgmc2Is IDAsIHNpemVvZihzYikpOworLSAgICBFWFBFQ1RfRVEoLUVOT0VOVCwgb3Blbl9icm9rZXIuR2V0 QnJva2VyQ2xpZW50U2lnbmFsQmFzZWQoKS0+U3RhdCgKKy0gICAgICAgICAgICAgICAgICAgICAg ICAgICBub25lc3VjaF9uYW1lLCBmb2xsb3dfbGlua3MsICZzYikpOworKyAgICBFWFBFQ1RfRVEo LUVOT0VOVCwKKysgICAgICAgICAgICAgIG9wZW5fYnJva2VyLkdldEJyb2tlckNsaWVudFNpZ25h bEJhc2VkKCktPkRlZmF1bHRTdGF0Rm9yVGVzdGluZygKKysgICAgICAgICAgICAgICAgICBub25l c3VjaF9uYW1lLCBmb2xsb3dfbGlua3MsICZzYikpOworIAorICAgICAvLyBHZXRzIGRlbmllZCBh bGwgdGhlIHdheSBiYWNrIHRvIHJvb3Qgc2luY2Ugbm8gY3JlYXRlIHBlcm1pc3Npb24uCisgICAg IEVYUEVDVF9FUSgta0Zha2VFcnJub1NlbnRpbmVsLAorLSAgICAgICAgICAgICAgb3Blbl9icm9r ZXIuR2V0QnJva2VyQ2xpZW50U2lnbmFsQmFzZWQoKS0+U3RhdCgKKysgICAgICAgICAgICAgIG9w ZW5fYnJva2VyLkdldEJyb2tlckNsaWVudFNpZ25hbEJhc2VkKCktPkRlZmF1bHRTdGF0Rm9yVGVz dGluZygKKyAgICAgICAgICAgICAgICAgICBsZWFkaW5nX3BhdGgxLCBmb2xsb3dfbGlua3MsICZz YikpOworICAgICBFWFBFQ1RfRVEoLWtGYWtlRXJybm9TZW50aW5lbCwKKy0gICAgICAgICAgICAg IG9wZW5fYnJva2VyLkdldEJyb2tlckNsaWVudFNpZ25hbEJhc2VkKCktPlN0YXQoCisrICAgICAg ICAgICAgICBvcGVuX2Jyb2tlci5HZXRCcm9rZXJDbGllbnRTaWduYWxCYXNlZCgpLT5EZWZhdWx0 U3RhdEZvclRlc3RpbmcoCisgICAgICAgICAgICAgICAgICAgbGVhZGluZ19wYXRoMiwgZm9sbG93 X2xpbmtzLCAmc2IpKTsKKyAgICAgRVhQRUNUX0VRKC1rRmFrZUVycm5vU2VudGluZWwsCistICAg ICAgICAgICAgICBvcGVuX2Jyb2tlci5HZXRCcm9rZXJDbGllbnRTaWduYWxCYXNlZCgpLT5TdGF0 KAorKyAgICAgICAgICAgICAgb3Blbl9icm9rZXIuR2V0QnJva2VyQ2xpZW50U2lnbmFsQmFzZWQo KS0+RGVmYXVsdFN0YXRGb3JUZXN0aW5nKAorICAgICAgICAgICAgICAgICAgIGxlYWRpbmdfcGF0 aDMsIGZvbGxvd19saW5rcywgJnNiKSk7CisgCisgICAgIC8vIE5vdCBmb29sZWQgYnkgc3Vic3Ry aW5ncy4KKyAgICAgRVhQRUNUX0VRKC1rRmFrZUVycm5vU2VudGluZWwsCistICAgICAgICAgICAg ICBvcGVuX2Jyb2tlci5HZXRCcm9rZXJDbGllbnRTaWduYWxCYXNlZCgpLT5TdGF0KAorKyAgICAg ICAgICAgICAgb3Blbl9icm9rZXIuR2V0QnJva2VyQ2xpZW50U2lnbmFsQmFzZWQoKS0+RGVmYXVs dFN0YXRGb3JUZXN0aW5nKAorICAgICAgICAgICAgICAgICAgIGJhZF9sZWFkaW5nX3BhdGgxLCBm b2xsb3dfbGlua3MsICZzYikpOworICAgICBFWFBFQ1RfRVEoLWtGYWtlRXJybm9TZW50aW5lbCwK Ky0gICAgICAgICAgICAgIG9wZW5fYnJva2VyLkdldEJyb2tlckNsaWVudFNpZ25hbEJhc2VkKCkt PlN0YXQoCisrICAgICAgICAgICAgICBvcGVuX2Jyb2tlci5HZXRCcm9rZXJDbGllbnRTaWduYWxC YXNlZCgpLT5EZWZhdWx0U3RhdEZvclRlc3RpbmcoCisgICAgICAgICAgICAgICAgICAgYmFkX2xl YWRpbmdfcGF0aDIsIGZvbGxvd19saW5rcywgJnNiKSk7CisgICAgIEVYUEVDVF9FUSgta0Zha2VF cnJub1NlbnRpbmVsLAorLSAgICAgICAgICAgICAgb3Blbl9icm9rZXIuR2V0QnJva2VyQ2xpZW50 U2lnbmFsQmFzZWQoKS0+U3RhdCgKKysgICAgICAgICAgICAgIG9wZW5fYnJva2VyLkdldEJyb2tl ckNsaWVudFNpZ25hbEJhc2VkKCktPkRlZmF1bHRTdGF0Rm9yVGVzdGluZygKKyAgICAgICAgICAg ICAgICAgICBiYWRfbGVhZGluZ19wYXRoMywgZm9sbG93X2xpbmtzLCAmc2IpKTsKKyAgICAgRVhQ RUNUX0VRKC1rRmFrZUVycm5vU2VudGluZWwsCistICAgICAgICAgICAgICBvcGVuX2Jyb2tlci5H ZXRCcm9rZXJDbGllbnRTaWduYWxCYXNlZCgpLT5TdGF0KAorKyAgICAgICAgICAgICAgb3Blbl9i cm9rZXIuR2V0QnJva2VyQ2xpZW50U2lnbmFsQmFzZWQoKS0+RGVmYXVsdFN0YXRGb3JUZXN0aW5n KAorICAgICAgICAgICAgICAgICAgIGJhZF9sZWFkaW5nX3BhdGg0LCBmb2xsb3dfbGlua3MsICZz YikpOworICAgICBFWFBFQ1RfRVEoLWtGYWtlRXJybm9TZW50aW5lbCwKKy0gICAgICAgICAgICAg IG9wZW5fYnJva2VyLkdldEJyb2tlckNsaWVudFNpZ25hbEJhc2VkKCktPlN0YXQoCisrICAgICAg ICAgICAgICBvcGVuX2Jyb2tlci5HZXRCcm9rZXJDbGllbnRTaWduYWxCYXNlZCgpLT5EZWZhdWx0 U3RhdEZvclRlc3RpbmcoCisgICAgICAgICAgICAgICAgICAgYmFkX2xlYWRpbmdfcGF0aDUsIGZv bGxvd19saW5rcywgJnNiKSk7CisgICAgIEVYUEVDVF9FUSgta0Zha2VFcnJub1NlbnRpbmVsLAor LSAgICAgICAgICAgICAgb3Blbl9icm9rZXIuR2V0QnJva2VyQ2xpZW50U2lnbmFsQmFzZWQoKS0+ U3RhdCgKKysgICAgICAgICAgICAgIG9wZW5fYnJva2VyLkdldEJyb2tlckNsaWVudFNpZ25hbEJh c2VkKCktPkRlZmF1bHRTdGF0Rm9yVGVzdGluZygKKyAgICAgICAgICAgICAgICAgICBiYWRfbGVh ZGluZ19wYXRoNiwgZm9sbG93X2xpbmtzLCAmc2IpKTsKKyAgIH0KKyAgIHsKK0BAIC05MDcsMzcg KzkwOCw0MSBAQCB2b2lkIFRlc3RTdGF0SGVscGVyKGJvb2wgZmFzdF9jaGVja19pbl9jbGllbnQs IGJvb2wgZm9sbG93X2xpbmtzKSB7CisgICAgIEFTU0VSVF9UUlVFKG9wZW5fYnJva2VyLkluaXQo YmFzZTo6QmluZE9uY2UoJk5vT3BDYWxsYmFjaykpKTsKKyAKKyAgICAgbWVtc2V0KCZzYiwgMCwg c2l6ZW9mKHNiKSk7CistICAgIEVYUEVDVF9FUSgtRU5PRU5ULCBvcGVuX2Jyb2tlci5HZXRCcm9r ZXJDbGllbnRTaWduYWxCYXNlZCgpLT5TdGF0KAorLSAgICAgICAgICAgICAgICAgICAgICAgICAg IG5vbmVzdWNoX25hbWUsIGZvbGxvd19saW5rcywgJnNiKSk7CisrICAgIEVYUEVDVF9FUSgtRU5P RU5ULAorKyAgICAgICAgICAgICAgb3Blbl9icm9rZXIuR2V0QnJva2VyQ2xpZW50U2lnbmFsQmFz ZWQoKS0+RGVmYXVsdFN0YXRGb3JUZXN0aW5nKAorKyAgICAgICAgICAgICAgICAgIG5vbmVzdWNo X25hbWUsIGZvbGxvd19saW5rcywgJnNiKSk7CisgCisgICAgIC8vIEdldHMgRU5PRU5UIGFsbCB0 aGUgd2F5IGJhY2sgdG8gcm9vdCBzaW5jZSBpdCBoYXMgY3JlYXRlIHBlcm1pc3Npb24uCistICAg IEVYUEVDVF9FUSgtRU5PRU5ULCBvcGVuX2Jyb2tlci5HZXRCcm9rZXJDbGllbnRTaWduYWxCYXNl ZCgpLT5TdGF0KAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlYWRpbmdfcGF0aDEsIGZv bGxvd19saW5rcywgJnNiKSk7CistICAgIEVYUEVDVF9FUSgtRU5PRU5ULCBvcGVuX2Jyb2tlci5H ZXRCcm9rZXJDbGllbnRTaWduYWxCYXNlZCgpLT5TdGF0KAorLSAgICAgICAgICAgICAgICAgICAg ICAgICAgIGxlYWRpbmdfcGF0aDIsIGZvbGxvd19saW5rcywgJnNiKSk7CisrICAgIEVYUEVDVF9F USgtRU5PRU5ULAorKyAgICAgICAgICAgICAgb3Blbl9icm9rZXIuR2V0QnJva2VyQ2xpZW50U2ln bmFsQmFzZWQoKS0+RGVmYXVsdFN0YXRGb3JUZXN0aW5nKAorKyAgICAgICAgICAgICAgICAgIGxl YWRpbmdfcGF0aDEsIGZvbGxvd19saW5rcywgJnNiKSk7CisrICAgIEVYUEVDVF9FUSgtRU5PRU5U LAorKyAgICAgICAgICAgICAgb3Blbl9icm9rZXIuR2V0QnJva2VyQ2xpZW50U2lnbmFsQmFzZWQo KS0+RGVmYXVsdFN0YXRGb3JUZXN0aW5nKAorKyAgICAgICAgICAgICAgICAgIGxlYWRpbmdfcGF0 aDIsIGZvbGxvd19saW5rcywgJnNiKSk7CisgCisgICAgIC8vIEJ1dCBjYW4gYWx3YXlzIGdldCB0 aGUgcm9vdC4KKy0gICAgRVhQRUNUX0VRKDAsIG9wZW5fYnJva2VyLkdldEJyb2tlckNsaWVudFNp Z25hbEJhc2VkKCktPlN0YXQoCistICAgICAgICAgICAgICAgICAgICAgbGVhZGluZ19wYXRoMywg Zm9sbG93X2xpbmtzLCAmc2IpKTsKKysgICAgRVhQRUNUX0VRKDAsCisrICAgICAgICAgICAgICBv cGVuX2Jyb2tlci5HZXRCcm9rZXJDbGllbnRTaWduYWxCYXNlZCgpLT5EZWZhdWx0U3RhdEZvclRl c3RpbmcoCisrICAgICAgICAgICAgICAgICAgbGVhZGluZ19wYXRoMywgZm9sbG93X2xpbmtzLCAm c2IpKTsKKyAKKyAgICAgLy8gTm90IGZvb2xlZCBieSBzdWJzdHJpbmdzLgorICAgICBFWFBFQ1Rf RVEoLWtGYWtlRXJybm9TZW50aW5lbCwKKy0gICAgICAgICAgICAgIG9wZW5fYnJva2VyLkdldEJy b2tlckNsaWVudFNpZ25hbEJhc2VkKCktPlN0YXQoCisrICAgICAgICAgICAgICBvcGVuX2Jyb2tl ci5HZXRCcm9rZXJDbGllbnRTaWduYWxCYXNlZCgpLT5EZWZhdWx0U3RhdEZvclRlc3RpbmcoCisg ICAgICAgICAgICAgICAgICAgYmFkX2xlYWRpbmdfcGF0aDEsIGZvbGxvd19saW5rcywgJnNiKSk7 CisgICAgIEVYUEVDVF9FUSgta0Zha2VFcnJub1NlbnRpbmVsLAorLSAgICAgICAgICAgICAgb3Bl bl9icm9rZXIuR2V0QnJva2VyQ2xpZW50U2lnbmFsQmFzZWQoKS0+U3RhdCgKKysgICAgICAgICAg ICAgIG9wZW5fYnJva2VyLkdldEJyb2tlckNsaWVudFNpZ25hbEJhc2VkKCktPkRlZmF1bHRTdGF0 Rm9yVGVzdGluZygKKyAgICAgICAgICAgICAgICAgICBiYWRfbGVhZGluZ19wYXRoMiwgZm9sbG93 X2xpbmtzLCAmc2IpKTsKKyAgICAgRVhQRUNUX0VRKC1rRmFrZUVycm5vU2VudGluZWwsCistICAg ICAgICAgICAgICBvcGVuX2Jyb2tlci5HZXRCcm9rZXJDbGllbnRTaWduYWxCYXNlZCgpLT5TdGF0 KAorKyAgICAgICAgICAgICAgb3Blbl9icm9rZXIuR2V0QnJva2VyQ2xpZW50U2lnbmFsQmFzZWQo KS0+RGVmYXVsdFN0YXRGb3JUZXN0aW5nKAorICAgICAgICAgICAgICAgICAgIGJhZF9sZWFkaW5n X3BhdGgzLCBmb2xsb3dfbGlua3MsICZzYikpOworICAgICBFWFBFQ1RfRVEoLWtGYWtlRXJybm9T ZW50aW5lbCwKKy0gICAgICAgICAgICAgIG9wZW5fYnJva2VyLkdldEJyb2tlckNsaWVudFNpZ25h bEJhc2VkKCktPlN0YXQoCisrICAgICAgICAgICAgICBvcGVuX2Jyb2tlci5HZXRCcm9rZXJDbGll bnRTaWduYWxCYXNlZCgpLT5EZWZhdWx0U3RhdEZvclRlc3RpbmcoCisgICAgICAgICAgICAgICAg ICAgYmFkX2xlYWRpbmdfcGF0aDQsIGZvbGxvd19saW5rcywgJnNiKSk7CisgICAgIEVYUEVDVF9F USgta0Zha2VFcnJub1NlbnRpbmVsLAorLSAgICAgICAgICAgICAgb3Blbl9icm9rZXIuR2V0QnJv a2VyQ2xpZW50U2lnbmFsQmFzZWQoKS0+U3RhdCgKKysgICAgICAgICAgICAgIG9wZW5fYnJva2Vy LkdldEJyb2tlckNsaWVudFNpZ25hbEJhc2VkKCktPkRlZmF1bHRTdGF0Rm9yVGVzdGluZygKKyAg ICAgICAgICAgICAgICAgICBiYWRfbGVhZGluZ19wYXRoNSwgZm9sbG93X2xpbmtzLCAmc2IpKTsK KyAgICAgRVhQRUNUX0VRKC1rRmFrZUVycm5vU2VudGluZWwsCistICAgICAgICAgICAgICBvcGVu X2Jyb2tlci5HZXRCcm9rZXJDbGllbnRTaWduYWxCYXNlZCgpLT5TdGF0KAorKyAgICAgICAgICAg ICAgb3Blbl9icm9rZXIuR2V0QnJva2VyQ2xpZW50U2lnbmFsQmFzZWQoKS0+RGVmYXVsdFN0YXRG b3JUZXN0aW5nKAorICAgICAgICAgICAgICAgICAgIGJhZF9sZWFkaW5nX3BhdGg2LCBmb2xsb3df bGlua3MsICZzYikpOworICAgfQorICAgeworQEAgLTk0OSw4ICs5NTQsOSBAQCB2b2lkIFRlc3RT dGF0SGVscGVyKGJvb2wgZmFzdF9jaGVja19pbl9jbGllbnQsIGJvb2wgZm9sbG93X2xpbmtzKSB7 CisgICAgIEFTU0VSVF9UUlVFKG9wZW5fYnJva2VyLkluaXQoYmFzZTo6QmluZE9uY2UoJk5vT3BD YWxsYmFjaykpKTsKKyAKKyAgICAgbWVtc2V0KCZzYiwgMCwgc2l6ZW9mKHNiKSk7CistICAgIEVY UEVDVF9FUSgwLCBvcGVuX2Jyb2tlci5HZXRCcm9rZXJDbGllbnRTaWduYWxCYXNlZCgpLT5TdGF0 KAorLSAgICAgICAgICAgICAgICAgICAgIHRlbXBmaWxlX25hbWUsIGZvbGxvd19saW5rcywgJnNi KSk7CisrICAgIEVYUEVDVF9FUSgwLAorKyAgICAgICAgICAgICAgb3Blbl9icm9rZXIuR2V0QnJv a2VyQ2xpZW50U2lnbmFsQmFzZWQoKS0+RGVmYXVsdFN0YXRGb3JUZXN0aW5nKAorKyAgICAgICAg ICAgICAgICAgIHRlbXBmaWxlX25hbWUsIGZvbGxvd19saW5rcywgJnNiKSk7CisgCisgICAgIC8v IEZvbGxvd2luZyBmaWVsZHMgbWF5IG5ldmVyIGJlIGNvbnNpc3RlbnQgYnV0IHNob3VsZCBiZSBu b24temVyby4KKyAgICAgLy8gRG9uJ3QgdHJ1c3QgdGhlIHBsYXRmb3JtIHRvIGRlZmluZSBmaWVs ZHMgd2l0aCBhbnkgcGFydGljdWxhciBzaWduLgorQEAgLTk2OCw5ICs5NzQsOSBAQCB2b2lkIFRl c3RTdGF0SGVscGVyKGJvb2wgZmFzdF9jaGVja19pbl9jbGllbnQsIGJvb2wgZm9sbG93X2xpbmtz KSB7CisgICAgIEVYUEVDVF9FUSgxMiwgc2Iuc3Rfc2l6ZSk7CisgCisgICAgIC8vIENhbid0IGdv IGJhY2t3YXJkcyBpbiB0aW1lLCAxNTAwMDAwMDAwIHdhcyBzb21lIHRpbWUgYWdvLgorLSAgICBF WFBFQ1RfTFQoMTUwMDAwMDAwMHUsIHN0YXRpY19jYXN0PHVuc2lnbmVkIGludD4oc2Iuc3RfYXRp bWUpKTsKKy0gICAgRVhQRUNUX0xUKDE1MDAwMDAwMDB1LCBzdGF0aWNfY2FzdDx1bnNpZ25lZCBp bnQ+KHNiLnN0X210aW1lKSk7CistICAgIEVYUEVDVF9MVCgxNTAwMDAwMDAwdSwgc3RhdGljX2Nh c3Q8dW5zaWduZWQgaW50PihzYi5zdF9jdGltZSkpOworKyAgICBFWFBFQ1RfTFQoMTUwMDAwMDAw MHUsIHN0YXRpY19jYXN0PHVuc2lnbmVkIGludD4oc2Iuc3RfYXRpbWVfKSk7CisrICAgIEVYUEVD VF9MVCgxNTAwMDAwMDAwdSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQgaW50PihzYi5zdF9tdGltZV8p KTsKKysgICAgRVhQRUNUX0xUKDE1MDAwMDAwMDB1LCBzdGF0aWNfY2FzdDx1bnNpZ25lZCBpbnQ+ KHNiLnN0X2N0aW1lXykpOworICAgfQorIH0KKyAKK2RpZmYgLS1naXQgYS9zYW5kYm94L2xpbnV4 L3N5c2NhbGxfYnJva2VyL3JlbW90ZV9zeXNjYWxsX2FyZ19oYW5kbGVyX3VuaXR0ZXN0LmNjIGIv c2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9yZW1vdGVfc3lzY2FsbF9hcmdfaGFuZGxlcl91 bml0dGVzdC5jYworaW5kZXggZmZmYTliYjcwODJjZS4uZjUxN2E5ODY3YzVkZSAxMDA2NDQKKy0t LSBhL3NhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvcmVtb3RlX3N5c2NhbGxfYXJnX2hhbmRs ZXJfdW5pdHRlc3QuY2MKKysrKyBiL3NhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvcmVtb3Rl X3N5c2NhbGxfYXJnX2hhbmRsZXJfdW5pdHRlc3QuY2MKK0BAIC0xNiw2ICsxNiw3IEBACisgI2lu Y2x1ZGUgImJhc2UvbWVtb3J5L3BhZ2Vfc2l6ZS5oIgorICNpbmNsdWRlICJiYXNlL3Bvc2l4L3Vu aXhfZG9tYWluX3NvY2tldC5oIgorICNpbmNsdWRlICJiYXNlL3Rlc3QvYmluZC5oIgorKyNpbmNs dWRlICJzYW5kYm94L2xpbnV4L3Rlc3RzL3Rlc3RfdXRpbHMuaCIKKyAjaW5jbHVkZSAic2FuZGJv eC9saW51eC90ZXN0cy91bml0X3Rlc3RzLmgiCisgI2luY2x1ZGUgInRlc3RpbmcvZ3Rlc3QvaW5j bHVkZS9ndGVzdC9ndGVzdC5oIgorIAorQEAgLTUyLDE5ICs1Myw2IEBAIHZvaWQgVmVyaWZ5Q29y cmVjdFN0cmluZyhzdGQ6OnN0cmluZyBzdHIsIHNpemVfdCBzaXplKSB7CisgICB9CisgfQorIAor LXZvaWQqIE1hcFBhZ2VzT3JEaWUoc2l6ZV90IG51bV9wYWdlcykgeworLSAgdm9pZCogYWRkciA9 IG1tYXAobnVsbHB0ciwgbnVtX3BhZ2VzICogYmFzZTo6R2V0UGFnZVNpemUoKSwKKy0gICAgICAg ICAgICAgICAgICAgIFBST1RfUkVBRCB8IFBST1RfV1JJVEUsIE1BUF9QUklWQVRFIHwgTUFQX0FO T05ZTU9VUywgLTEsIDApOworLSAgUENIRUNLKGFkZHIpOworLSAgcmV0dXJuIGFkZHI7CistfQor LQorLXZvaWQgTXByb3RlY3RMYXN0UGFnZU9yRGllKGNoYXIqIGFkZHIsIHNpemVfdCBudW1fcGFn ZXMpIHsKKy0gIHNpemVfdCBsYXN0X3BhZ2Vfb2Zmc2V0ID0gKG51bV9wYWdlcyAtIDEpICogYmFz ZTo6R2V0UGFnZVNpemUoKTsKKy0gIFBDSEVDSyhtcHJvdGVjdChhZGRyICsgbGFzdF9wYWdlX29m ZnNldCwgYmFzZTo6R2V0UGFnZVNpemUoKSwgUFJPVF9OT05FKSA+PQorLSAgICAgICAgIDApOwor LX0KKy0KKyBwaWRfdCBGb3JrV2FpdGluZ0NoaWxkKGJhc2U6Ok9uY2VDYWxsYmFjazx2b2lkKGlu dCk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWZ0ZXJfcGFyZW50X3NpZ25hbHNfY2Fs bGJhY2sgPSBiYXNlOjpEb05vdGhpbmcoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGJhc2U6 OlNjb3BlZEZEKiBwYXJlbnRfc3luY19mZCA9IG51bGxwdHIpIHsKK0BAIC0xMDUsMTMgKzkzLDEz IEBAIHZvaWQgUmVhZFRlc3QoY29uc3QgUmVhZFRlc3RDb25maWcmIHRlc3RfY29uZmlnKSB7Cisg ICBzaXplX3QgdG90YWxfcGFnZXMgPSAodGVzdF9jb25maWcuc3RhcnRfYXQgKyB0ZXN0X2NvbmZp Zy50b3RhbF9zaXplICsKKyAgICAgICAgICAgICAgICAgICAgICAgICBiYXNlOjpHZXRQYWdlU2l6 ZSgpIC0gMSkgLworICAgICAgICAgICAgICAgICAgICAgICAgYmFzZTo6R2V0UGFnZVNpemUoKTsK Ky0gIGNoYXIqIG1tYXBfYWRkciA9IHN0YXRpY19jYXN0PGNoYXIqPihNYXBQYWdlc09yRGllKHRv dGFsX3BhZ2VzKSk7CisrICBjaGFyKiBtbWFwX2FkZHIgPSBzdGF0aWNfY2FzdDxjaGFyKj4oVGVz dFV0aWxzOjpNYXBQYWdlc09yRGllKHRvdGFsX3BhZ2VzKSk7CisgICBjaGFyKiBhZGRyID0gbW1h cF9hZGRyICsgdGVzdF9jb25maWcuc3RhcnRfYXQ7CisgICBGaWxsQnVmZmVyV2l0aFBhdGgoYWRk ciwgdGVzdF9jb25maWcudG90YWxfc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICB0ZXN0X2Nv bmZpZy5pbmNsdWRlX251bGxfYnl0ZSk7CisgCisgICBpZiAodGVzdF9jb25maWcubGFzdF9wYWdl X2luYWNjZXNzaWJsZSkKKy0gICAgTXByb3RlY3RMYXN0UGFnZU9yRGllKG1tYXBfYWRkciwgdG90 YWxfcGFnZXMpOworKyAgICBUZXN0VXRpbHM6Ok1wcm90ZWN0TGFzdFBhZ2VPckRpZShtbWFwX2Fk ZHIsIHRvdGFsX3BhZ2VzKTsKKyAKKyAgIHBpZF90IHBpZCA9IEZvcmtXYWl0aW5nQ2hpbGQoKTsK KyAgIG11bm1hcChtbWFwX2FkZHIsIGJhc2U6OkdldFBhZ2VTaXplKCkgKiB0b3RhbF9wYWdlcyk7 CitAQCAtMjEyLDcgKzIwMCw3IEBAIFNBTkRCT1hfVEVTVChCcm9rZXJSZW1vdGVTeXNjYWxsQXJn SGFuZGxlciwgUmVhZENodW5rUGx1czFFbmRpbmdPbmVQYXN0UGFnZSkgeworIH0KKyAKKyBTQU5E Qk9YX1RFU1QoQnJva2VyUmVtb3RlU3lzY2FsbEFyZ0hhbmRsZXIsIFJlYWRDaGlsZEV4aXRlZCkg eworLSAgdm9pZCogYWRkciA9IE1hcFBhZ2VzT3JEaWUoMSk7CisrICB2b2lkKiBhZGRyID0gVGVz dFV0aWxzOjpNYXBQYWdlc09yRGllKDEpOworICAgRmlsbEJ1ZmZlcldpdGhQYXRoKHN0YXRpY19j YXN0PGNoYXIqPihhZGRyKSwgc3RybGVuKGtQYXRoUGFydCkgKyAxLCB0cnVlKTsKKyAKKyAgIGJh c2U6OlNjb3BlZEZEIHBhcmVudF9zeW5jLCBjaGlsZF9zeW5jOworQEAgLTI0MCwxMCArMjI4LDEw IEBAIFNBTkRCT1hfVEVTVChCcm9rZXJSZW1vdGVTeXNjYWxsQXJnSGFuZGxlciwgUmVhZENoaWxk RXhpdGVkKSB7CisgfQorIAorIFNBTkRCT1hfVEVTVChCcm9rZXJSZW1vdGVTeXNjYWxsQXJnSGFu ZGxlciwgQmFzaWNXcml0ZSkgeworLSAgdm9pZCogcmVhZF9mcm9tID0gTWFwUGFnZXNPckRpZSgx KTsKKysgIHZvaWQqIHJlYWRfZnJvbSA9IFRlc3RVdGlsczo6TWFwUGFnZXNPckRpZSgxKTsKKyAg IGNvbnN0IHNpemVfdCB3cml0ZV9zaXplID0gYmFzZTo6R2V0UGFnZVNpemUoKTsKKyAgIEZpbGxC dWZmZXJXaXRoUGF0aChzdGF0aWNfY2FzdDxjaGFyKj4ocmVhZF9mcm9tKSwgd3JpdGVfc2l6ZSwg ZmFsc2UpOworLSAgY2hhciogd3JpdGVfdG8gPSBzdGF0aWNfY2FzdDxjaGFyKj4oTWFwUGFnZXNP ckRpZSgxKSk7CisrICBjaGFyKiB3cml0ZV90byA9IHN0YXRpY19jYXN0PGNoYXIqPihUZXN0VXRp bHM6Ok1hcFBhZ2VzT3JEaWUoMSkpOworICAgYmFzZTo6U2NvcGVkRkQgcGFyZW50X3NpZ25hbF9m ZDsKKyAgIGNvbnN0IHN0ZDo6dmVjdG9yPGludD4gZW1wdHlfZmRfdmVjOworIAorQEAgLTI3OCw4 ICsyNjYsOCBAQCBTQU5EQk9YX1RFU1QoQnJva2VyUmVtb3RlU3lzY2FsbEFyZ0hhbmRsZXIsIEJh c2ljV3JpdGUpIHsKKyB9CisgCisgU0FOREJPWF9URVNUKEJyb2tlclJlbW90ZVN5c2NhbGxBcmdI YW5kbGVyLCBXcml0ZVRvSW52YWxpZEFkZHJlc3MpIHsKKy0gIGNoYXIqIHdyaXRlX3RvID0gc3Rh dGljX2Nhc3Q8Y2hhcio+KE1hcFBhZ2VzT3JEaWUoMSkpOworLSAgTXByb3RlY3RMYXN0UGFnZU9y RGllKHdyaXRlX3RvLCAxKTsKKysgIGNoYXIqIHdyaXRlX3RvID0gc3RhdGljX2Nhc3Q8Y2hhcio+ KFRlc3RVdGlsczo6TWFwUGFnZXNPckRpZSgxKSk7CisrICBUZXN0VXRpbHM6Ok1wcm90ZWN0TGFz dFBhZ2VPckRpZSh3cml0ZV90bywgMSk7CisgICBiYXNlOjpTY29wZWRGRCBwYXJlbnRfc2lnbmFs X2ZkOworICAgY29uc3Qgc3RkOjp2ZWN0b3I8aW50PiBlbXB0eV9mZF92ZWM7CisgCitAQCAtMjk1 LDExICsyODMsMTEgQEAgU0FOREJPWF9URVNUKEJyb2tlclJlbW90ZVN5c2NhbGxBcmdIYW5kbGVy LCBXcml0ZVRvSW52YWxpZEFkZHJlc3MpIHsKKyB9CisgCisgU0FOREJPWF9URVNUKEJyb2tlclJl bW90ZVN5c2NhbGxBcmdIYW5kbGVyLCBXcml0ZVBhcnRpYWxseVRvSW52YWxpZEFkZHJlc3MpIHsK Ky0gIGNoYXIqIHJlYWRfZnJvbSA9IHN0YXRpY19jYXN0PGNoYXIqPihNYXBQYWdlc09yRGllKDIp KTsKKysgIGNoYXIqIHJlYWRfZnJvbSA9IHN0YXRpY19jYXN0PGNoYXIqPihUZXN0VXRpbHM6Ok1h cFBhZ2VzT3JEaWUoMikpOworICAgY29uc3Qgc2l6ZV90IHdyaXRlX3NpemUgPSBiYXNlOjpHZXRQ YWdlU2l6ZSgpOworICAgRmlsbEJ1ZmZlcldpdGhQYXRoKHN0YXRpY19jYXN0PGNoYXIqPihyZWFk X2Zyb20pLCB3cml0ZV9zaXplLCBmYWxzZSk7CistICBjaGFyKiB3cml0ZV90byA9IHN0YXRpY19j YXN0PGNoYXIqPihNYXBQYWdlc09yRGllKDIpKTsKKy0gIE1wcm90ZWN0TGFzdFBhZ2VPckRpZSh3 cml0ZV90bywgMik7CisrICBjaGFyKiB3cml0ZV90byA9IHN0YXRpY19jYXN0PGNoYXIqPihUZXN0 VXRpbHM6Ok1hcFBhZ2VzT3JEaWUoMikpOworKyAgVGVzdFV0aWxzOjpNcHJvdGVjdExhc3RQYWdl T3JEaWUod3JpdGVfdG8sIDIpOworICAgd3JpdGVfdG8gKz0gYmFzZTo6R2V0UGFnZVNpemUoKSAv IDI7CisgICBiYXNlOjpTY29wZWRGRCBwYXJlbnRfc2lnbmFsX2ZkOworICAgY29uc3Qgc3RkOjp2 ZWN0b3I8aW50PiBlbXB0eV9mZF92ZWM7CitAQCAtMzE0LDcgKzMwMiw3IEBAIFNBTkRCT1hfVEVT VChCcm9rZXJSZW1vdGVTeXNjYWxsQXJnSGFuZGxlciwgV3JpdGVQYXJ0aWFsbHlUb0ludmFsaWRB ZGRyZXNzKSB7CisgfQorIAorIFNBTkRCT1hfVEVTVChCcm9rZXJSZW1vdGVTeXNjYWxsQXJnSGFu ZGxlciwgV3JpdGVDaGlsZEV4aXRlZCkgeworLSAgY2hhciogYWRkciA9IHN0YXRpY19jYXN0PGNo YXIqPihNYXBQYWdlc09yRGllKDEpKTsKKysgIGNoYXIqIGFkZHIgPSBzdGF0aWNfY2FzdDxjaGFy Kj4oVGVzdFV0aWxzOjpNYXBQYWdlc09yRGllKDEpKTsKKyAgIEZpbGxCdWZmZXJXaXRoUGF0aChz dGF0aWNfY2FzdDxjaGFyKj4oYWRkciksIHN0cmxlbihrUGF0aFBhcnQpICsgMSwgdHJ1ZSk7Cisg CisgICBiYXNlOjpTY29wZWRGRCBwYXJlbnRfc3luYywgY2hpbGRfc3luYzsKK2RpZmYgLS1naXQg YS9zYW5kYm94L2xpbnV4L3N5c2NhbGxfYnJva2VyL3N5c2NhbGxfZGlzcGF0Y2hlci5jYyBiL3Nh bmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvc3lzY2FsbF9kaXNwYXRjaGVyLmNjCitpbmRleCBi OWVlOTNjMTRhYzU5Li44YTQyMzk3ZWY4NzJlIDEwMDY0NAorLS0tIGEvc2FuZGJveC9saW51eC9z eXNjYWxsX2Jyb2tlci9zeXNjYWxsX2Rpc3BhdGNoZXIuY2MKKysrKyBiL3NhbmRib3gvbGludXgv c3lzY2FsbF9icm9rZXIvc3lzY2FsbF9kaXNwYXRjaGVyLmNjCitAQCAtMTksOCArMTksMTggQEAg bmFtZXNwYWNlIHN5c2NhbGxfYnJva2VyIHsKKyAjZGVmaW5lIEJST0tFUl9VTlBPSVNPTl9TVFJJ TkcoeCkKKyAjZW5kaWYKKyAKKytpbnQgU3lzY2FsbERpc3BhdGNoZXI6OkRlZmF1bHRTdGF0Rm9y VGVzdGluZyhjb25zdCBjaGFyKiBwYXRobmFtZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBib29sIGZvbGxvd19saW5rcywKKysgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0X3N0YXRfc3RydWN0KiBzYikgewor KyNpZiBkZWZpbmVkKF9fTlJfZnN0YXRhdDY0KQorKyAgcmV0dXJuIFN0YXQ2NChwYXRobmFtZSwg Zm9sbG93X2xpbmtzLCBzYik7CisrI2VsaWYgZGVmaW5lZChfX05SX25ld2ZzdGF0YXQpCisrICBy ZXR1cm4gU3RhdChwYXRobmFtZSwgZm9sbG93X2xpbmtzLCBzYik7CisrI2VuZGlmCisrfQorKwor IGludCBTeXNjYWxsRGlzcGF0Y2hlcjo6UGVyZm9ybVN0YXRhdChjb25zdCBhcmNoX3NlY2NvbXBf ZGF0YSYgYXJncywKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBh cmNoNjQpIHsKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBzdGF0 NjQpIHsKKyAgIGlmIChzdGF0aWNfY2FzdDxpbnQ+KGFyZ3MuYXJnc1swXSkgIT0gQVRfRkRDV0Qp CisgICAgIHJldHVybiAtRVBFUk07CisgICAvLyBPbmx5IGFsbG93IHRoZSBBVF9TWU1MSU5LX05P Rk9MTE9XIGZsYWcgd2hpY2ggaXMgdXNlZCBieSBzb21lIGxpYmMKK0BAIC0zMCwxMyArNDAsMjkg QEAgaW50IFN5c2NhbGxEaXNwYXRjaGVyOjpQZXJmb3JtU3RhdGF0KGNvbnN0IGFyY2hfc2VjY29t cF9kYXRhJiBhcmdzLAorIAorICAgY29uc3QgYm9vbCBmb2xsb3dfbGlua3MgPQorICAgICAgICEo c3RhdGljX2Nhc3Q8aW50PihhcmdzLmFyZ3NbM10pICYgQVRfU1lNTElOS19OT0ZPTExPVyk7Cist ICBpZiAoYXJjaDY0KSB7CisrICBpZiAoc3RhdDY0KSB7CisgICAgIHJldHVybiBTdGF0NjQocmVp bnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4oYXJncy5hcmdzWzFdKSwgZm9sbG93X2xpbmtzLAor LSAgICAgICAgICAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8c3RydWN0IHN0YXQ2NCo+KGFyZ3Mu YXJnc1syXSkpOworKyAgICAgICAgICAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8c3RydWN0IGtl cm5lbF9zdGF0NjQqPihhcmdzLmFyZ3NbMl0pKTsKKyAgIH0KKyAKKyAgIHJldHVybiBTdGF0KHJl aW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+KGFyZ3MuYXJnc1sxXSksIGZvbGxvd19saW5rcywK Ky0gICAgICAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8c3RydWN0IHN0YXQqPihhcmdzLmFyZ3Nb Ml0pKTsKKysgICAgICAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8c3RydWN0IGtlcm5lbF9zdGF0 Kj4oYXJncy5hcmdzWzJdKSk7CisrfQorKworK2ludCBTeXNjYWxsRGlzcGF0Y2hlcjo6UGVyZm9y bVVubGlua2F0KGNvbnN0IGFyY2hfc2VjY29tcF9kYXRhJiBhcmdzKSB7CisrICBpZiAoc3RhdGlj X2Nhc3Q8aW50PihhcmdzLmFyZ3NbMF0pICE9IEFUX0ZEQ1dEKQorKyAgICByZXR1cm4gLUVQRVJN OworKworKyAgaW50IGZsYWdzID0gc3RhdGljX2Nhc3Q8aW50PihhcmdzLmFyZ3NbMl0pOworKwor KyAgaWYgKGZsYWdzID09IEFUX1JFTU9WRURJUikgeworKyAgICByZXR1cm4gUm1kaXIocmVpbnRl cnByZXRfY2FzdDxjb25zdCBjaGFyKj4oYXJncy5hcmdzWzFdKSk7CisrICB9CisrCisrICBpZiAo ZmxhZ3MgIT0gMCkKKysgICAgcmV0dXJuIC1FUEVSTTsKKysKKysgIHJldHVybiBVbmxpbmsocmVp bnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4oYXJncy5hcmdzWzFdKSk7CisgfQorIAorIGludCBT eXNjYWxsRGlzcGF0Y2hlcjo6RGlzcGF0Y2hTeXNjYWxsKGNvbnN0IGFyY2hfc2VjY29tcF9kYXRh JiBhcmdzKSB7CitAQCAtMTI3LDU5ICsxNTMsNDIgQEAgaW50IFN5c2NhbGxEaXNwYXRjaGVyOjpE aXNwYXRjaFN5c2NhbGwoY29uc3QgYXJjaF9zZWNjb21wX2RhdGEmIGFyZ3MpIHsKKyAjaWYgZGVm aW5lZChfX05SX3N0YXQpCisgICAgIGNhc2UgX19OUl9zdGF0OgorICAgICAgIHJldHVybiBTdGF0 KHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+KGFyZ3MuYXJnc1swXSksIHRydWUsCistICAg ICAgICAgICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxzdHJ1Y3Qgc3RhdCo+KGFyZ3MuYXJnc1sx XSkpOworKyAgICAgICAgICAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8c3RydWN0IGtlcm5lbF9z dGF0Kj4oYXJncy5hcmdzWzFdKSk7CisgI2VuZGlmCisgI2lmIGRlZmluZWQoX19OUl9zdGF0NjQp CisgICAgIGNhc2UgX19OUl9zdGF0NjQ6CisgICAgICAgcmV0dXJuIFN0YXQ2NChyZWludGVycHJl dF9jYXN0PGNvbnN0IGNoYXIqPihhcmdzLmFyZ3NbMF0pLCB0cnVlLAorLSAgICAgICAgICAgICAg ICAgICAgcmVpbnRlcnByZXRfY2FzdDxzdHJ1Y3Qgc3RhdDY0Kj4oYXJncy5hcmdzWzFdKSk7Cisr ICAgICAgICAgICAgICAgICAgICByZWludGVycHJldF9jYXN0PHN0cnVjdCBrZXJuZWxfc3RhdDY0 Kj4oYXJncy5hcmdzWzFdKSk7CisgI2VuZGlmCisgI2lmIGRlZmluZWQoX19OUl9sc3RhdCkKKyAg ICAgY2FzZSBfX05SX2xzdGF0OgorICAgICAgIC8vIFNlZSBodHRwczovL2NyYnVnLmNvbS84NDcw OTYKKyAgICAgICBCUk9LRVJfVU5QT0lTT05fU1RSSU5HKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3Qg Y2hhcio+KGFyZ3MuYXJnc1swXSkpOworICAgICAgIHJldHVybiBTdGF0KHJlaW50ZXJwcmV0X2Nh c3Q8Y29uc3QgY2hhcio+KGFyZ3MuYXJnc1swXSksIGZhbHNlLAorLSAgICAgICAgICAgICAgICAg IHJlaW50ZXJwcmV0X2Nhc3Q8c3RydWN0IHN0YXQqPihhcmdzLmFyZ3NbMV0pKTsKKysgICAgICAg ICAgICAgICAgICByZWludGVycHJldF9jYXN0PHN0cnVjdCBrZXJuZWxfc3RhdCo+KGFyZ3MuYXJn c1sxXSkpOworICNlbmRpZgorICNpZiBkZWZpbmVkKF9fTlJfbHN0YXQ2NCkKKyAgICAgY2FzZSBf X05SX2xzdGF0NjQ6CisgICAgICAgLy8gU2VlIGh0dHBzOi8vY3JidWcuY29tLzg0NzA5NgorICAg ICAgIEJST0tFUl9VTlBPSVNPTl9TVFJJTkcocmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4o YXJncy5hcmdzWzBdKSk7CisgICAgICAgcmV0dXJuIFN0YXQ2NChyZWludGVycHJldF9jYXN0PGNv bnN0IGNoYXIqPihhcmdzLmFyZ3NbMF0pLCBmYWxzZSwKKy0gICAgICAgICAgICAgICAgICAgIHJl aW50ZXJwcmV0X2Nhc3Q8c3RydWN0IHN0YXQ2NCo+KGFyZ3MuYXJnc1sxXSkpOworLSNlbmRpZgor LSNpZiBkZWZpbmVkKF9fTlJfZnN0YXRhdCkKKy0gICAgY2FzZSBfX05SX2ZzdGF0YXQ6CistICAg ICAgcmV0dXJuIFBlcmZvcm1TdGF0YXQoYXJncywgLyphcmNoNjQ9Ki9mYWxzZSk7CisrICAgICAg ICAgICAgICAgICAgICByZWludGVycHJldF9jYXN0PHN0cnVjdCBrZXJuZWxfc3RhdDY0Kj4oYXJn cy5hcmdzWzFdKSk7CisgI2VuZGlmCisgI2lmIGRlZmluZWQoX19OUl9mc3RhdGF0NjQpCisgICAg IGNhc2UgX19OUl9mc3RhdGF0NjQ6CistICAgICAgcmV0dXJuIFBlcmZvcm1TdGF0YXQoYXJncywg LyphcmNoNjQ9Ki90cnVlKTsKKysgICAgICByZXR1cm4gUGVyZm9ybVN0YXRhdChhcmdzLCAvKnN0 YXQ2ND0qL3RydWUpOworICNlbmRpZgorICNpZiBkZWZpbmVkKF9fTlJfbmV3ZnN0YXRhdCkKKyAg ICAgY2FzZSBfX05SX25ld2ZzdGF0YXQ6CistICAgICAgcmV0dXJuIFBlcmZvcm1TdGF0YXQoYXJn cywgLyphcmNoNjQ9Ki9mYWxzZSk7CisrICAgICAgcmV0dXJuIFBlcmZvcm1TdGF0YXQoYXJncywg LypzdGF0NjQ9Ki9mYWxzZSk7CisgI2VuZGlmCisgI2lmIGRlZmluZWQoX19OUl91bmxpbmspCisg ICAgIGNhc2UgX19OUl91bmxpbms6CisgICAgICAgcmV0dXJuIFVubGluayhyZWludGVycHJldF9j YXN0PGNvbnN0IGNoYXIqPihhcmdzLmFyZ3NbMF0pKTsKKyAjZW5kaWYKKyAjaWYgZGVmaW5lZChf X05SX3VubGlua2F0KQorLSAgICBjYXNlIF9fTlJfdW5saW5rYXQ6IHsKKy0gICAgICBpZiAoc3Rh dGljX2Nhc3Q8aW50PihhcmdzLmFyZ3NbMF0pICE9IEFUX0ZEQ1dEKQorLSAgICAgICAgcmV0dXJu IC1FUEVSTTsKKy0KKy0gICAgICBpbnQgZmxhZ3MgPSBzdGF0aWNfY2FzdDxpbnQ+KGFyZ3MuYXJn c1syXSk7CistCistICAgICAgaWYgKGZsYWdzID09IEFUX1JFTU9WRURJUikgeworLSAgICAgICAg cmV0dXJuIFJtZGlyKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+KGFyZ3MuYXJnc1sxXSkp OworLSAgICAgIH0KKy0KKy0gICAgICBpZiAoZmxhZ3MgIT0gMCkKKy0gICAgICAgIHJldHVybiAt RVBFUk07CistCistICAgICAgcmV0dXJuIFVubGluayhyZWludGVycHJldF9jYXN0PGNvbnN0IGNo YXIqPihhcmdzLmFyZ3NbMV0pKTsKKy0gICAgfQorKyAgICBjYXNlIF9fTlJfdW5saW5rYXQ6Cisr ICAgICAgcmV0dXJuIFBlcmZvcm1VbmxpbmthdChhcmdzKTsKKyAjZW5kaWYgIC8vIGRlZmluZWQo X19OUl91bmxpbmthdCkKKyAgICAgZGVmYXVsdDoKKyAgICAgICBSQVdfQ0hFQ0soZmFsc2UpOwor ZGlmZiAtLWdpdCBhL3NhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvc3lzY2FsbF9kaXNwYXRj aGVyLmggYi9zYW5kYm94L2xpbnV4L3N5c2NhbGxfYnJva2VyL3N5c2NhbGxfZGlzcGF0Y2hlci5o CitpbmRleCBkOGI4ODc0YWQ5Y2U0Li4xZDY2NTNjYWYzYmQyIDEwMDY0NAorLS0tIGEvc2FuZGJv eC9saW51eC9zeXNjYWxsX2Jyb2tlci9zeXNjYWxsX2Rpc3BhdGNoZXIuaAorKysrIGIvc2FuZGJv eC9saW51eC9zeXNjYWxsX2Jyb2tlci9zeXNjYWxsX2Rpc3BhdGNoZXIuaAorQEAgLTksMTMgKzks MTUgQEAKKyAjaW5jbHVkZSA8Y3N0ZGRlZj4KKyAKKyAjaW5jbHVkZSAic2FuZGJveC9saW51eC9z eXN0ZW1faGVhZGVycy9saW51eF9zZWNjb21wLmgiCisrI2luY2x1ZGUgInNhbmRib3gvbGludXgv c3lzdGVtX2hlYWRlcnMvbGludXhfc3RhdC5oIgorKyNpbmNsdWRlICJzYW5kYm94L3NhbmRib3hf ZXhwb3J0LmgiCisgCisgbmFtZXNwYWNlIHNhbmRib3ggeworIG5hbWVzcGFjZSBzeXNjYWxsX2Jy b2tlciB7CisgCisgLy8gQW4gYWJzdHJhY3QgY2xhc3MgdGhhdCBkZWZpbmVzIGFsbCB0aGUgc3lz dGVtIGNhbGxzIHdlIHBlcmZvcm0gZm9yIHRoZQorIC8vIHNhbmRib3hlZCBwcm9jZXNzLgorLWNs YXNzIFN5c2NhbGxEaXNwYXRjaGVyIHsKKytjbGFzcyBTQU5EQk9YX0VYUE9SVCBTeXNjYWxsRGlz cGF0Y2hlciB7CisgIHB1YmxpYzoKKyAgIC8vIEVtdWxhdGVzIGFjY2VzcygpL2ZhY2Nlc3NhdCgp LgorICAgLy8gWF9PSyB3aWxsIGFsd2F5cyByZXR1cm4gYW4gZXJyb3IgaW4gcHJhY3RpY2Ugc2lu Y2UgdGhlIGJyb2tlciBwcm9jZXNzCitAQCAtNDAsMTkgKzQyLDM0IEBAIGNsYXNzIFN5c2NhbGxE aXNwYXRjaGVyIHsKKyAgIHZpcnR1YWwgaW50IFJtZGlyKGNvbnN0IGNoYXIqIHBhdGgpIGNvbnN0 ID0gMDsKKyAKKyAgIC8vIEVtdWxhdGVzIHN0YXQoKS9zdGF0NjQoKS9sc3RhdCgpL2xzdGF0NjQo KS9mc3RhdGF0KCkvbmV3ZnN0YXRhdCgpLgorKyAgLy8gU3RhdDY0IGlzIG9ubHkgYXZhaWxhYmxl IG9uIDMyLWJpdCBzeXN0ZW1zLgorICAgdmlydHVhbCBpbnQgU3RhdChjb25zdCBjaGFyKiBwYXRo bmFtZSwKKyAgICAgICAgICAgICAgICAgICAgYm9vbCBmb2xsb3dfbGlua3MsCistICAgICAgICAg ICAgICAgICAgIHN0cnVjdCBzdGF0KiBzYikgY29uc3QgPSAwOworKyAgICAgICAgICAgICAgICAg ICBzdHJ1Y3Qga2VybmVsX3N0YXQqIHNiKSBjb25zdCA9IDA7CisgICB2aXJ0dWFsIGludCBTdGF0 NjQoY29uc3QgY2hhciogcGF0aG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgYm9vbCBmb2xs b3dfbGlua3MsCistICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHN0YXQ2NCogc2IpIGNvbnN0 ID0gMDsKKysgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qga2VybmVsX3N0YXQ2NCogc2IpIGNv bnN0ID0gMDsKKyAKKyAgIC8vIEVtdWxhdGVzIHVubGluaygpL3VubGlua2F0KCkuCisgICB2aXJ0 dWFsIGludCBVbmxpbmsoY29uc3QgY2hhciogdW5saW5rKSBjb25zdCA9IDA7CisgCisrICAvLyBE aWZmZXJlbnQgYXJjaGl0ZWN0dXJlcyB1c2UgYSBkaWZmZXJlbnQgc3lzY2FsbCBmcm9tIHRoZSBz dGF0IGZhbWlseSBieQorKyAgLy8gZGVmYXVsdCBpbiBnbGliYy4gRS5nLiAzMi1iaXQgc3lzdGVt cyB1c2UgKnN0YXQqNjQoKSBhbmQgZmlsbCBvdXQgc3RydWN0CisrICAvLyBrZXJuZWxfc3RhdDY0 LCB3aGVyZWFzIDY0LWJpdCBzeXN0ZW1zIHVzZSAqc3RhdCooKSBhbmQgZmlsbCBvdXQgc3RydWN0 CisrICAvLyBrZXJuZWxfc3RhdC4gU29tZSB0ZXN0cyB3YW50IHRvIGNhbGwgdGhlIFN5c2NhbGxE aXNwYXRjaGVyIGRpcmVjdGx5LCBhbmQKKysgIC8vIHNob3VsZCBiZSB1c2luZyB0aGUgZGVmYXVs dCBzdGF0IGluIG9yZGVyIHRvIHRlc3QgYWdhaW5zdCBnbGliYy4KKysgIGludCBEZWZhdWx0U3Rh dEZvclRlc3RpbmcoY29uc3QgY2hhciogcGF0aG5hbWUsCisrICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGJvb2wgZm9sbG93X2xpbmtzLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBk ZWZhdWx0X3N0YXRfc3RydWN0KiBzYik7CisrCisgICAvLyBWYWxpZGF0ZXMgdGhlIGFyZ3MgcGFz c2VkIHRvIGEgKnN0YXRhdCooKSBzeXNjYWxsIGFuZCBwZXJmb3JtcyB0aGUgc3lzY2FsbAorLSAg Ly8gdXNpbmcgU3RhdCgpIG9yIFN0YXQ2NCgpLgorLSAgaW50IFBlcmZvcm1TdGF0YXQoY29uc3Qg YXJjaF9zZWNjb21wX2RhdGEmIGFyZ3MsIGJvb2wgYXJjaDY0KTsKKysgIC8vIHVzaW5nIFN0YXQo KSwgb3Igb24gMzItYml0IHN5c3RlbXMgaXQgdXNlcyBTdGF0NjQoKSBmb3IgdGhlICpzdGF0YXQ2 NCgpCisrICAvLyBzeXNjYWxscy4KKysgIGludCBQZXJmb3JtU3RhdGF0KGNvbnN0IGFyY2hfc2Vj Y29tcF9kYXRhJiBhcmdzLCBib29sIHN0YXQ2NCk7CisrCisrICAvLyBWYWxpZGF0ZXMgdGhlIGFy Z3MgcGFzc2VkIHRvIGFuIHVubGlua2F0KCkgc3lzY2FsbCBhbmQgcGVyZm9ybXMgdGhlIHN5c2Nh bGwKKysgIC8vIHVzaW5nIGVpdGhlciBVbmxpbmsoKSBvciBSbWRpcigpLgorKyAgaW50IFBlcmZv cm1VbmxpbmthdChjb25zdCBhcmNoX3NlY2NvbXBfZGF0YSYgYXJncyk7CisgCisgICAvLyBSZWFk cyB0aGUgc3lzY2FsbCBudW1iZXIgYW5kIGFyZ3VtZW50cywgaW1wb3NlcyBzb21lIHBvbGljeSAo ZS5nLiB0aGUgKmF0KCkKKyAgIC8vIHN5c3RlbSBjYWxscyBtdXN0IG9ubHkgYWxsb3cgQVRfRkRD V0QgYXMgdGhlIGZpcnN0IGFyZ3VtZW50KSwgYW5kCitkaWZmIC0tZ2l0IGEvc2FuZGJveC9saW51 eC9zeXN0ZW1faGVhZGVycy9saW51eF9zdGF0LmggYi9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFk ZXJzL2xpbnV4X3N0YXQuaAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAw MDAuLjM1Nzg4ZWIyMmE0ZTUKKy0tLSAvZGV2L251bGwKKysrKyBiL3NhbmRib3gvbGludXgvc3lz dGVtX2hlYWRlcnMvbGludXhfc3RhdC5oCitAQCAtMCwwICsxLDE4OCBAQAorKy8vIENvcHlyaWdo dCAyMDIxIFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorKy8vIFVz ZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2Ug dGhhdCBjYW4gYmUKKysvLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorKworKyNpZm5kZWYg U0FOREJPWF9MSU5VWF9TWVNURU1fSEVBREVSU19MSU5VWF9TVEFUX0hfCisrI2RlZmluZSBTQU5E Qk9YX0xJTlVYX1NZU1RFTV9IRUFERVJTX0xJTlVYX1NUQVRfSF8KKysKKysjaW5jbHVkZSA8c3Rk aW50Lmg+CisrCisrI2luY2x1ZGUgImJ1aWxkL2J1aWxkX2NvbmZpZy5oIgorKyNpbmNsdWRlICJz YW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3N5c2NhbGxzLmgiCisrCisrI2lmIGRl ZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpCisrI2lmIGRlZmluZWQoQVJDSF9DUFVfNjRfQklU UykKKytzdHJ1Y3Qga2VybmVsX3N0YXQgeworKyNlbHNlCisrc3RydWN0IGtlcm5lbF9zdGF0NjQg eworKyNlbmRpZgorKyAgdW5zaWduZWQgc3RfZGV2OworKyAgdW5zaWduZWQgX19wYWQwWzNdOwor KyAgdW5zaWduZWQgbG9uZyBsb25nIHN0X2lubzsKKysgIHVuc2lnbmVkIHN0X21vZGU7CisrICB1 bnNpZ25lZCBzdF9ubGluazsKKysgIHVuc2lnbmVkIHN0X3VpZDsKKysgIHVuc2lnbmVkIHN0X2dp ZDsKKysgIHVuc2lnbmVkIHN0X3JkZXY7CisrICB1bnNpZ25lZCBfX3BhZDFbM107CisrICBsb25n IGxvbmcgc3Rfc2l6ZTsKKysgIHVuc2lnbmVkIHN0X2F0aW1lXzsKKysgIHVuc2lnbmVkIHN0X2F0 aW1lX25zZWNfOworKyAgdW5zaWduZWQgc3RfbXRpbWVfOworKyAgdW5zaWduZWQgc3RfbXRpbWVf bnNlY187CisrICB1bnNpZ25lZCBzdF9jdGltZV87CisrICB1bnNpZ25lZCBzdF9jdGltZV9uc2Vj XzsKKysgIHVuc2lnbmVkIHN0X2Jsa3NpemU7CisrICB1bnNpZ25lZCBfX3BhZDI7CisrICB1bnNp Z25lZCBsb25nIGxvbmcgc3RfYmxvY2tzOworK307CisrI2Vsc2UKKytzdHJ1Y3Qga2VybmVsX3N0 YXQ2NCB7CisrICB1bnNpZ25lZCBsb25nIGxvbmcgc3RfZGV2OworKyAgdW5zaWduZWQgY2hhciBf X3BhZDBbNF07CisrICB1bnNpZ25lZCBfX3N0X2lubzsKKysgIHVuc2lnbmVkIHN0X21vZGU7Cisr ICB1bnNpZ25lZCBzdF9ubGluazsKKysgIHVuc2lnbmVkIHN0X3VpZDsKKysgIHVuc2lnbmVkIHN0 X2dpZDsKKysgIHVuc2lnbmVkIGxvbmcgbG9uZyBzdF9yZGV2OworKyAgdW5zaWduZWQgY2hhciBf X3BhZDNbNF07CisrICBsb25nIGxvbmcgc3Rfc2l6ZTsKKysgIHVuc2lnbmVkIHN0X2Jsa3NpemU7 CisrICB1bnNpZ25lZCBsb25nIGxvbmcgc3RfYmxvY2tzOworKyAgdW5zaWduZWQgc3RfYXRpbWVf OworKyAgdW5zaWduZWQgc3RfYXRpbWVfbnNlY187CisrICB1bnNpZ25lZCBzdF9tdGltZV87Cisr ICB1bnNpZ25lZCBzdF9tdGltZV9uc2VjXzsKKysgIHVuc2lnbmVkIHN0X2N0aW1lXzsKKysgIHVu c2lnbmVkIHN0X2N0aW1lX25zZWNfOworKyAgdW5zaWduZWQgbG9uZyBsb25nIHN0X2lubzsKKyt9 OworKyNlbmRpZgorKworKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fQVJNX0FS Q0hfM19fKSB8fCBkZWZpbmVkKF9fQVJNX0VBQklfXykKKytzdHJ1Y3Qga2VybmVsX3N0YXQgewor KyAgLyogVGhlIGtlcm5lbCBoZWFkZXJzIHN1Z2dlc3QgdGhhdCBzdF9kZXYgYW5kIHN0X3JkZXYg c2hvdWxkIGJlIDMyYml0CisrICAgKiBxdWFudGl0aWVzIGVuY29kaW5nIDEyYml0IG1ham9yIGFu ZCAyMGJpdCBtaW5vciBudW1iZXJzIGluIGFuIGludGVybGVhdmVkCisrICAgKiBmb3JtYXQuIElu IHJlYWxpdHksIHdlIGRvIG5vdCBzZWUgdXNlZnVsIGRhdGEgaW4gdGhlIHRvcCBiaXRzLiBTbywK KysgICAqIHdlJ2xsIGxlYXZlIHRoZSBwYWRkaW5nIGluIGhlcmUsIHVudGlsIHdlIGZpbmQgYSBi ZXR0ZXIgc29sdXRpb24uCisrICAgKi8KKysgIHVuc2lnbmVkIHNob3J0IHN0X2RldjsKKysgIHNo b3J0IHBhZDE7CisrICB1bnNpZ25lZCBzdF9pbm87CisrICB1bnNpZ25lZCBzaG9ydCBzdF9tb2Rl OworKyAgdW5zaWduZWQgc2hvcnQgc3Rfbmxpbms7CisrICB1bnNpZ25lZCBzaG9ydCBzdF91aWQ7 CisrICB1bnNpZ25lZCBzaG9ydCBzdF9naWQ7CisrICB1bnNpZ25lZCBzaG9ydCBzdF9yZGV2Owor KyAgc2hvcnQgcGFkMjsKKysgIHVuc2lnbmVkIHN0X3NpemU7CisrICB1bnNpZ25lZCBzdF9ibGtz aXplOworKyAgdW5zaWduZWQgc3RfYmxvY2tzOworKyAgdW5zaWduZWQgc3RfYXRpbWVfOworKyAg dW5zaWduZWQgc3RfYXRpbWVfbnNlY187CisrICB1bnNpZ25lZCBzdF9tdGltZV87CisrICB1bnNp Z25lZCBzdF9tdGltZV9uc2VjXzsKKysgIHVuc2lnbmVkIHN0X2N0aW1lXzsKKysgIHVuc2lnbmVk IHN0X2N0aW1lX25zZWNfOworKyAgdW5zaWduZWQgX191bnVzZWQ0OworKyAgdW5zaWduZWQgX191 bnVzZWQ1OworK307CisrI2VsaWYgZGVmaW5lZChfX3g4Nl82NF9fKQorK3N0cnVjdCBrZXJuZWxf c3RhdCB7CisrICB1aW50NjRfdCBzdF9kZXY7CisrICB1aW50NjRfdCBzdF9pbm87CisrICB1aW50 NjRfdCBzdF9ubGluazsKKysgIHVuc2lnbmVkIHN0X21vZGU7CisrICB1bnNpZ25lZCBzdF91aWQ7 CisrICB1bnNpZ25lZCBzdF9naWQ7CisrICB1bnNpZ25lZCBfX3BhZDA7CisrICB1aW50NjRfdCBz dF9yZGV2OworKyAgaW50NjRfdCBzdF9zaXplOworKyAgaW50NjRfdCBzdF9ibGtzaXplOworKyAg aW50NjRfdCBzdF9ibG9ja3M7CisrICB1aW50NjRfdCBzdF9hdGltZV87CisrICB1aW50NjRfdCBz dF9hdGltZV9uc2VjXzsKKysgIHVpbnQ2NF90IHN0X210aW1lXzsKKysgIHVpbnQ2NF90IHN0X210 aW1lX25zZWNfOworKyAgdWludDY0X3Qgc3RfY3RpbWVfOworKyAgdWludDY0X3Qgc3RfY3RpbWVf bnNlY187CisrICBpbnQ2NF90IF9fdW51c2VkNFszXTsKKyt9OworKyNlbGlmIChkZWZpbmVkKEFS Q0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKQorK3N0cnVj dCBrZXJuZWxfc3RhdCB7CisrICB1bnNpZ25lZCBzdF9kZXY7CisrICBpbnQgc3RfcGFkMVszXTsK KysgIHVuc2lnbmVkIHN0X2lubzsKKysgIHVuc2lnbmVkIHN0X21vZGU7CisrICB1bnNpZ25lZCBz dF9ubGluazsKKysgIHVuc2lnbmVkIHN0X3VpZDsKKysgIHVuc2lnbmVkIHN0X2dpZDsKKysgIHVu c2lnbmVkIHN0X3JkZXY7CisrICBpbnQgc3RfcGFkMlsyXTsKKysgIGxvbmcgc3Rfc2l6ZTsKKysg IGludCBzdF9wYWQzOworKyAgbG9uZyBzdF9hdGltZV87CisrICBsb25nIHN0X2F0aW1lX25zZWNf OworKyAgbG9uZyBzdF9tdGltZV87CisrICBsb25nIHN0X210aW1lX25zZWNfOworKyAgbG9uZyBz dF9jdGltZV87CisrICBsb25nIHN0X2N0aW1lX25zZWNfOworKyAgaW50IHN0X2Jsa3NpemU7Cisr ICBpbnQgc3RfYmxvY2tzOworKyAgaW50IHN0X3BhZDRbMTRdOworK307CisrI2VsaWYgZGVmaW5l ZChfX2FhcmNoNjRfXykKKytzdHJ1Y3Qga2VybmVsX3N0YXQgeworKyAgdW5zaWduZWQgbG9uZyBz dF9kZXY7CisrICB1bnNpZ25lZCBsb25nIHN0X2lubzsKKysgIHVuc2lnbmVkIGludCBzdF9tb2Rl OworKyAgdW5zaWduZWQgaW50IHN0X25saW5rOworKyAgdW5zaWduZWQgaW50IHN0X3VpZDsKKysg IHVuc2lnbmVkIGludCBzdF9naWQ7CisrICB1bnNpZ25lZCBsb25nIHN0X3JkZXY7CisrICB1bnNp Z25lZCBsb25nIF9fcGFkMTsKKysgIGxvbmcgc3Rfc2l6ZTsKKysgIGludCBzdF9ibGtzaXplOwor KyAgaW50IF9fcGFkMjsKKysgIGxvbmcgc3RfYmxvY2tzOworKyAgbG9uZyBzdF9hdGltZV87Cisr ICB1bnNpZ25lZCBsb25nIHN0X2F0aW1lX25zZWNfOworKyAgbG9uZyBzdF9tdGltZV87CisrICB1 bnNpZ25lZCBsb25nIHN0X210aW1lX25zZWNfOworKyAgbG9uZyBzdF9jdGltZV87CisrICB1bnNp Z25lZCBsb25nIHN0X2N0aW1lX25zZWNfOworKyAgdW5zaWduZWQgaW50IF9fdW51c2VkNDsKKysg IHVuc2lnbmVkIGludCBfX3VudXNlZDU7CisrfTsKKysjZW5kaWYKKysKKysvLyBPbiAzMi1iaXQg c3lzdGVtcywgd2UgZGVmYXVsdCB0byB0aGUgNjQtYml0IHN0YXQgc3RydWN0IGxpa2UgbGliYwor Ky8vIGltcGxlbWVudGF0aW9ucyBkby4gT3RoZXJ3aXNlIHdlIGRlZmF1bHQgdG8gdGhlIG5vcm1h bCBzdGF0IHN0cnVjdCB3aGljaCBpcworKy8vIGFscmVhZHkgNjQtYml0LgorKy8vIFRoZXNlIGRl ZmluZXMgbWFrZSBpdCBlYXN5IHRvIGNhbGwgdGhlIHJpZ2h0IHN5c2NhbGwgdG8gZmlsbCBvdXQg YSA2NC1iaXQKKysvLyBzdGF0IHN0cnVjdCwgd2hpY2ggaXMgdGhlIGRlZmF1bHQgaW4gbGliYyBp bXBsZW1lbnRhdGlvbnMgYnV0IHJlcXVpcmVzCisrLy8gZGlmZmVyZW50IHN5c2NhbGwgbmFtZXMg b24gMzIgYW5kIDY0LWJpdCBwbGF0Zm9ybXMuCisrI2lmIGRlZmluZWQoX19OUl9mc3RhdGF0NjQp CisrCisrbmFtZXNwYWNlIHNhbmRib3ggeworK3VzaW5nIGRlZmF1bHRfc3RhdF9zdHJ1Y3QgPSBz dHJ1Y3Qga2VybmVsX3N0YXQ2NDsKKyt9ICAvLyBuYW1lc3BhY2Ugc2FuZGJveAorKworKyNkZWZp bmUgX19OUl9mc3RhdGF0X2RlZmF1bHQgX19OUl9mc3RhdGF0NjQKKysjZGVmaW5lIF9fTlJfZnN0 YXRfZGVmYXVsdCBfX05SX2ZzdGF0NjQKKysKKysjZWxpZiBkZWZpbmVkKF9fTlJfbmV3ZnN0YXRh dCkKKysKKytuYW1lc3BhY2Ugc2FuZGJveCB7CisrdXNpbmcgZGVmYXVsdF9zdGF0X3N0cnVjdCA9 IHN0cnVjdCBrZXJuZWxfc3RhdDsKKyt9ICAvLyBuYW1lc3BhY2Ugc2FuZGJveAorKworKyNkZWZp bmUgX19OUl9mc3RhdGF0X2RlZmF1bHQgX19OUl9uZXdmc3RhdGF0CisrI2RlZmluZSBfX05SX2Zz dGF0X2RlZmF1bHQgX19OUl9mc3RhdAorKworKyNlbHNlCisrI2Vycm9yICJvbmUgb2YgZnN0YXRh dDY0IGFuZCBuZXdmc3RhdGF0IG11c3QgYmUgZGVmaW5lZCIKKysjZW5kaWYKKysKKysjZW5kaWYg IC8vIFNBTkRCT1hfTElOVVhfU1lTVEVNX0hFQURFUlNfTElOVVhfU1RBVF9IXworZGlmZiAtLWdp dCBhL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbGludXhfdGltZS5oIGIvc2FuZGJveC9s aW51eC9zeXN0ZW1faGVhZGVycy9saW51eF90aW1lLmgKK2luZGV4IDc4MGYyNGRkZGQ5ZmEuLmYx OGM4MDY2MTFmODMgMTAwNjQ0CistLS0gYS9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xp bnV4X3RpbWUuaAorKysrIGIvc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF90aW1l LmgKK0BAIC0xMSw2ICsxMSwzMiBAQAorICNkZWZpbmUgQ1BVQ0xPQ0tfQ0xPQ0tfTUFTSyAzCisg I2VuZGlmCisgCisrI2lmICFkZWZpbmVkKENQVUNMT0NLX1BST0YpCisrI2RlZmluZSBDUFVDTE9D S19QUk9GIDAKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoQ1BVQ0xPQ0tfVklSVCkKKysjZGVm aW5lIENQVUNMT0NLX1ZJUlQgMQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChDUFVDTE9DS19T Q0hFRCkKKysjZGVmaW5lIENQVUNMT0NLX1NDSEVEIDIKKysjZW5kaWYKKysKKysjaWYgIWRlZmlu ZWQoQ1BVQ0xPQ0tfUEVSVEhSRUFEX01BU0spCisrI2RlZmluZSBDUFVDTE9DS19QRVJUSFJFQURf TUFTSyA0CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKE1BS0VfUFJPQ0VTU19DUFVDTE9DSykK KysjZGVmaW5lIE1BS0VfUFJPQ0VTU19DUFVDTE9DSyhwaWQsIGNsb2NrKSBcCisrICAoKGludCko fih1bnNpZ25lZCkocGlkKSA8PCAzKSB8IChpbnQpKGNsb2NrKSkKKysjZW5kaWYKKysKKysjaWYg IWRlZmluZWQoTUFLRV9USFJFQURfQ1BVQ0xPQ0spCisrI2RlZmluZSBNQUtFX1RIUkVBRF9DUFVD TE9DSyh0aWQsIGNsb2NrKSBcCisrICAoKGludCkofih1bnNpZ25lZCkodGlkKSA8PCAzKSB8IChp bnQpKChjbG9jaykgfCBDUFVDTE9DS19QRVJUSFJFQURfTUFTSykpCisrI2VuZGlmCisrCisgI2lm ICFkZWZpbmVkKENMT0NLRkQpCisgI2RlZmluZSBDTE9DS0ZEIDMKKyAjZW5kaWYKK2RpZmYgLS1n aXQgYS9zYW5kYm94L2xpbnV4L3Rlc3RzL3Rlc3RfdXRpbHMuY2MgYi9zYW5kYm94L2xpbnV4L3Rl c3RzL3Rlc3RfdXRpbHMuY2MKK2luZGV4IDg0N2MyMGIyMGM1ZDIuLmNmNjA0MWE0YjQ3NmEgMTAw NjQ0CistLS0gYS9zYW5kYm94L2xpbnV4L3Rlc3RzL3Rlc3RfdXRpbHMuY2MKKysrKyBiL3NhbmRi b3gvbGludXgvdGVzdHMvdGVzdF91dGlscy5jYworQEAgLTUsMTIgKzUsMTQgQEAKKyAjaW5jbHVk ZSAic2FuZGJveC9saW51eC90ZXN0cy90ZXN0X3V0aWxzLmgiCisgCisgI2luY2x1ZGUgPGVycm5v Lmg+CisrI2luY2x1ZGUgPHN5cy9tbWFuLmg+CisgI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisgI2lu Y2x1ZGUgPHN5cy90eXBlcy5oPgorICNpbmNsdWRlIDxzeXMvd2FpdC5oPgorICNpbmNsdWRlIDx1 bmlzdGQuaD4KKyAKKyAjaW5jbHVkZSAiYmFzZS9jaGVja19vcC5oIgorKyNpbmNsdWRlICJiYXNl L21lbW9yeS9wYWdlX3NpemUuaCIKKyAjaW5jbHVkZSAiYmFzZS9wb3NpeC9laW50cl93cmFwcGVy LmgiCisgCisgbmFtZXNwYWNlIHNhbmRib3ggeworQEAgLTM5LDQgKzQxLDE3IEBAIHZvaWQgVGVz dFV0aWxzOjpIYW5kbGVQb3N0Rm9ya1JldHVybihwaWRfdCBwaWQpIHsKKyAgIH0KKyB9CisgCisr dm9pZCogVGVzdFV0aWxzOjpNYXBQYWdlc09yRGllKHNpemVfdCBudW1fcGFnZXMpIHsKKysgIHZv aWQqIGFkZHIgPSBtbWFwKG51bGxwdHIsIG51bV9wYWdlcyAqIGJhc2U6OkdldFBhZ2VTaXplKCks CisrICAgICAgICAgICAgICAgICAgICBQUk9UX1JFQUQgfCBQUk9UX1dSSVRFLCBNQVBfUFJJVkFU RSB8IE1BUF9BTk9OWU1PVVMsIC0xLCAwKTsKKysgIFBDSEVDSyhhZGRyKTsKKysgIHJldHVybiBh ZGRyOworK30KKysKKyt2b2lkIFRlc3RVdGlsczo6TXByb3RlY3RMYXN0UGFnZU9yRGllKGNoYXIq IGFkZHIsIHNpemVfdCBudW1fcGFnZXMpIHsKKysgIHNpemVfdCBsYXN0X3BhZ2Vfb2Zmc2V0ID0g KG51bV9wYWdlcyAtIDEpICogYmFzZTo6R2V0UGFnZVNpemUoKTsKKysgIFBDSEVDSyhtcHJvdGVj dChhZGRyICsgbGFzdF9wYWdlX29mZnNldCwgYmFzZTo6R2V0UGFnZVNpemUoKSwgUFJPVF9OT05F KSA+PQorKyAgICAgICAgIDApOworK30KKysKKyB9ICAvLyBuYW1lc3BhY2Ugc2FuZGJveAorZGlm ZiAtLWdpdCBhL3NhbmRib3gvbGludXgvdGVzdHMvdGVzdF91dGlscy5oIGIvc2FuZGJveC9saW51 eC90ZXN0cy90ZXN0X3V0aWxzLmgKK2luZGV4IDdjZjk3NDlmZTRmMWYuLjQzYjAyOGIxZTM0ZWYg MTAwNjQ0CistLS0gYS9zYW5kYm94L2xpbnV4L3Rlc3RzL3Rlc3RfdXRpbHMuaAorKysrIGIvc2Fu ZGJveC9saW51eC90ZXN0cy90ZXN0X3V0aWxzLmgKK0BAIC0xOSw2ICsxOSw4IEBAIGNsYXNzIFRl c3RVdGlscyB7CisgICAvLyBtYWtlcyBzdXJlIHRoYXQgaWYgZm9yaygpIHN1Y2NlZWRlZCB0aGUg Y2hpbGQgZXhpdHMKKyAgIC8vIGFuZCB0aGUgcGFyZW50IHdhaXRzIGZvciBpdC4KKyAgIHN0YXRp YyB2b2lkIEhhbmRsZVBvc3RGb3JrUmV0dXJuKHBpZF90IHBpZCk7CisrICBzdGF0aWMgdm9pZCog TWFwUGFnZXNPckRpZShzaXplX3QgbnVtX3BhZ2VzKTsKKysgIHN0YXRpYyB2b2lkIE1wcm90ZWN0 TGFzdFBhZ2VPckRpZShjaGFyKiBhZGRyLCBzaXplX3QgbnVtX3BhZ2VzKTsKKyAKKyAgcHJpdmF0 ZToKKyAgIERJU0FMTE9XX0lNUExJQ0lUX0NPTlNUUlVDVE9SUyhUZXN0VXRpbHMpOworZGlmZiAt LWdpdCBhL3NhbmRib3gvcG9saWN5L2xpbnV4L2JwZl9icm9rZXJfcG9saWN5X2xpbnV4LmNjIGIv c2FuZGJveC9wb2xpY3kvbGludXgvYnBmX2Jyb2tlcl9wb2xpY3lfbGludXguY2MKK2luZGV4IDI5 NjNiYjljYTg2MTIuLjZkYzhjMDU4MWI0M2MgMTAwNjQ0CistLS0gYS9zYW5kYm94L3BvbGljeS9s aW51eC9icGZfYnJva2VyX3BvbGljeV9saW51eC5jYworKysrIGIvc2FuZGJveC9wb2xpY3kvbGlu dXgvYnBmX2Jyb2tlcl9wb2xpY3lfbGludXguY2MKK0BAIC05Myw4ICs5Myw4IEBAIFJlc3VsdEV4 cHIgQnJva2VyUHJvY2Vzc1BvbGljeTo6RXZhbHVhdGVTeXNjYWxsKGludCBzeXNubykgY29uc3Qg eworICAgICAgICAgcmV0dXJuIEFsbG93KCk7CisgICAgICAgYnJlYWs7CisgI2VuZGlmCistI2lm IGRlZmluZWQoX19OUl9mc3RhdGF0KQorLSAgICBjYXNlIF9fTlJfZnN0YXRhdDoKKysjaWYgZGVm aW5lZChfX05SX2ZzdGF0YXQ2NCkKKysgICAgY2FzZSBfX05SX2ZzdGF0YXQ2NDoKKyAgICAgICBp ZiAoYWxsb3dlZF9jb21tYW5kX3NldF8udGVzdChzeXNjYWxsX2Jyb2tlcjo6Q09NTUFORF9TVEFU KSkKKyAgICAgICAgIHJldHVybiBBbGxvdygpOworICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEv c3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL21ha2UtZG9tLWRpc3RpbGxlci1wcm90b2MtcGx1Z2lu LWNhbGwtcHkyLjcucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvbWFrZS1kb20tZGlz dGlsbGVyLXByb3RvYy1wbHVnaW4tY2FsbC1weTIuNy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMmE2MTAwZjkyMDg3Li4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9jaHJv bWl1bS9wYXRjaGVzL21ha2UtZG9tLWRpc3RpbGxlci1wcm90b2MtcGx1Z2luLWNhbGwtcHkyLjcu cGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNyArMCwwIEBACi1Gcm9tIDM1OWIyMmQzZjc3NWFm YTMzY2NhOWU0ZjhmYjU3ZWFkZDBlYzQxMTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9t OiBOaWNvIFdlYmVyIDx0aGFraXNAY2hyb21pdW0ub3JnPgotRGF0ZTogRnJpLCAyMyBBcHIgMjAy MSAxNjoyMjoxOSArMDAwMAotU3ViamVjdDogW1BBVENIXSBNYWtlIGRvbSBkaXN0aWxsZXIgcHJv dG9jIHBsdWdpbiBleHBsaWNpdGx5IGNhbGwgcHkyLjcKLQotV2l0aCB0aGlzLCBjaHJvbWUgYnVp bGRzIHdpdGggd2hlbiBgL3Vzci9iaW4vZW52IHB5dGhvbmAgaXMgcHkzLgotCi1CdWc6IDEyMDIx MzQKLUNoYW5nZS1JZDogSWJiZDk3YTEzMTFjY2IzNGQ0NmYyNjY5MTJjODcxZmQwNTIyZjk1MzUK LVJldmlld2VkLW9uOiBodHRwczovL2Nocm9taXVtLXJldmlldy5nb29nbGVzb3VyY2UuY29tL2Mv Y2hyb21pdW0vc3JjLysvMjg0ODQ0NQotQ29tbWl0LVF1ZXVlOiBOaWNvIFdlYmVyIDx0aGFraXNA Y2hyb21pdW0ub3JnPgotQ29tbWl0LVF1ZXVlOiBZYXJvbiBGcmllZG1hbiA8eWZyaWVkbWFuQGNo cm9taXVtLm9yZz4KLUNvbW1pdC1RdWV1ZTogRGlyayBQcmFua2UgPGRwcmFua2VAZ29vZ2xlLmNv bT4KLUF1dG8tU3VibWl0OiBOaWNvIFdlYmVyIDx0aGFraXNAY2hyb21pdW0ub3JnPgotUmV2aWV3 ZWQtYnk6IFlhcm9uIEZyaWVkbWFuIDx5ZnJpZWRtYW5AY2hyb21pdW0ub3JnPgotUmV2aWV3ZWQt Ynk6IERpcmsgUHJhbmtlIDxkcHJhbmtlQGdvb2dsZS5jb20+Ci1Dci1Db21taXQtUG9zaXRpb246 IHJlZnMvaGVhZHMvbWFzdGVyQHsjODc1NzAyfQotLS0tCi0gLi4uL2RvbV9kaXN0aWxsZXJfanMv cHJvdG9jX3BsdWdpbnMvanNvbl92YWx1ZXNfY29udmVydGVyLnB5IHwgNSArKysrLQotIDEgZmls ZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBh L3RoaXJkX3BhcnR5L2RvbV9kaXN0aWxsZXJfanMvcHJvdG9jX3BsdWdpbnMvanNvbl92YWx1ZXNf Y29udmVydGVyLnB5IGIvdGhpcmRfcGFydHkvZG9tX2Rpc3RpbGxlcl9qcy9wcm90b2NfcGx1Z2lu cy9qc29uX3ZhbHVlc19jb252ZXJ0ZXIucHkKLWluZGV4IGU4NmE4OGM3NTlmY2IuLmNhZTFhOTk4 YzQ2NTAgMTAwNzU1Ci0tLS0gYS90aGlyZF9wYXJ0eS9kb21fZGlzdGlsbGVyX2pzL3Byb3RvY19w bHVnaW5zL2pzb25fdmFsdWVzX2NvbnZlcnRlci5weQotKysrIGIvdGhpcmRfcGFydHkvZG9tX2Rp c3RpbGxlcl9qcy9wcm90b2NfcGx1Z2lucy9qc29uX3ZhbHVlc19jb252ZXJ0ZXIucHkKLUBAIC0x LDcgKzEsMTAgQEAKLS0jIS91c3IvYmluL2VudiBweXRob24KLSsjIS91c3IvYmluL2VudiBweXRo b24yLjcKLSAjIENvcHlyaWdodCAyMDE2IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRz IHJlc2VydmVkLgotICMgVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBC U0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQotICMgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmls ZS4KLSsjCi0rIyBUT0RPKGNyYnVnLmNvbS8xMjAyMTM0KTogU3dpdGNoIHJ1biBsaW5lIGJhY2sg dG8ganVzdCAicHl0aG9uIgotKyMgb25jZSB0aGluZ3MgYXJlIHB5My1jb21wYXRpYmxlLgotIAot ICIiInByb3RvYyBwbHVnaW4gdG8gY3JlYXRlIEMrKyByZWFkZXIvd3JpdGVyIGZvciBKU09OLWVu Y29kZWQgcHJvdG9idWZzCi0gCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMv bm8tZXhlY2luZm8ucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvbm8tZXhlY2luZm8u cGF0Y2gKaW5kZXggYjQyNDFkMDA1NTYyLi42ZTY3MTgyYjIxYjYgMTAwNjQ0Ci0tLSBhL3NyY3Br Z3MvY2hyb21pdW0vcGF0Y2hlcy9uby1leGVjaW5mby5wYXRjaAorKysgYi9zcmNwa2dzL2Nocm9t aXVtL3BhdGNoZXMvbm8tZXhlY2luZm8ucGF0Y2gKQEAgLTEsNSArMSw1IEBACi0tLS0gYS9iYXNl L2RlYnVnL3N0YWNrX3RyYWNlX3Bvc2l4LmNjCTIwMTktMDUtMTQgMTQ6NDk6NDQuMDAwMDAwMDAw IC0wNDAwCi0rKysgYi9iYXNlL2RlYnVnL3N0YWNrX3RyYWNlX3Bvc2l4LmNjCTIwMTktMDctMDIg MTA6NDM6NDMuNDkwMDQ1MDEzIC0wNDAwCistLS0gYS9iYXNlL2RlYnVnL3N0YWNrX3RyYWNlX3Bv c2l4LmNjCisrKysgYi9iYXNlL2RlYnVnL3N0YWNrX3RyYWNlX3Bvc2l4LmNjCiBAQCAtMjcsNyAr MjcsNyBAQAogICNpZiAhZGVmaW5lZChVU0VfU1lNQk9MSVpFKQogICNpbmNsdWRlIDxjeHhhYmku aD4KQEAgLTksNyArOSw3IEBACiAgI2luY2x1ZGUgPGV4ZWNpbmZvLmg+CiAgI2VuZGlmCiAgCi1A QCAtODYsNyArODYsNyBAQAorQEAgLTg5LDcgKzg5LDcgQEAKICAgIC8vIE5vdGU6IGNvZGUgaW4g dGhpcyBmdW5jdGlvbiBpcyBOT1QgYXN5bmMtc2lnbmFsIHNhZmUgKHN0ZDo6c3RyaW5nIHVzZXMK ICAgIC8vIG1hbGxvYyBpbnRlcm5hbGx5KS4KICAKQEAgLTE4LDE2ICsxOCw3IEBACiAgICBzdGQ6 OnN0cmluZzo6c2l6ZV90eXBlIHNlYXJjaF9mcm9tID0gMDsKICAgIHdoaWxlIChzZWFyY2hfZnJv bSA8IHRleHQtPnNpemUoKSkgewogICAgICAvLyBMb29rIGZvciB0aGUgc3RhcnQgb2YgYSBtYW5n bGVkIHN5bWJvbCwgZnJvbSBzZWFyY2hfZnJvbS4KLUBAIC0xMjEsNyArMTIxLDcgQEAKLSAgICAg ICBzZWFyY2hfZnJvbSA9IG1hbmdsZWRfc3RhcnQgKyAyOwotICAgICB9Ci0gICB9Ci0tI2VuZGlm ICAvLyAhZGVmaW5lZChfX1VDTElCQ19fKSAmJiAhZGVmaW5lZChfQUlYKQotKyNlbmRpZiAgLy8g ZGVmaW5lZChfX0dMSUJDX18pICYmICFkZWZpbmVkKF9BSVgpCi0gfQotICNlbmRpZiAgLy8gIWRl ZmluZWQoVVNFX1NZTUJPTElaRSkKLSAKLUBAIC0xMzMsNyArMTMzLDcgQEAKK0BAIC0xMzYsNyAr MTM2LDcgQEAKICAgIHZpcnR1YWwgfkJhY2t0cmFjZU91dHB1dEhhbmRsZXIoKSA9IGRlZmF1bHQ7 CiAgfTsKICAKQEAgLTM2LDI1ICsyNywxNiBAQAogIHZvaWQgT3V0cHV0UG9pbnRlcih2b2lkKiBw b2ludGVyLCBCYWNrdHJhY2VPdXRwdXRIYW5kbGVyKiBoYW5kbGVyKSB7CiAgICAvLyBUaGlzIHNo b3VsZCBiZSBtb3JlIHRoYW4gZW5vdWdoIHRvIHN0b3JlIGEgNjQtYml0IG51bWJlciBpbiBoZXg6 CiAgICAvLyAxNiBoZXggZGlnaXRzICsgMSBmb3IgbnVsbC10ZXJtaW5hdG9yLgotQEAgLTIxNiw3 ICsyMTYsNyBAQAotICAgfQotICNlbmRpZiAgLy8gZGVmaW5lZChVU0VfU1lNQk9MSVpFKQotIH0K LS0jZW5kaWYgIC8vICFkZWZpbmVkKF9fVUNMSUJDX18pICYmICFkZWZpbmVkKF9BSVgpCi0rI2Vu ZGlmICAvLyBkZWZpbmVkKF9fR0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkKLSAKLSB2b2lkIFBy aW50VG9TdGRlcnIoY29uc3QgY2hhciogb3V0cHV0KSB7Ci0gICAvLyBOT1RFOiBUaGlzIGNvZGUg TVVTVCBiZSBhc3luYy1zaWduYWwgc2FmZSAoaXQncyB1c2VkIGJ5IGluLXByb2Nlc3MKLUBAIC04 MTIsNyArODEyLDcgQEAKLSAgIC8vIE5PVEU6IFRoaXMgY29kZSBNVVNUIGJlIGFzeW5jLXNpZ25h bCBzYWZlIChpdCdzIHVzZWQgYnkgaW4tcHJvY2VzcwotICAgLy8gc3RhY2sgZHVtcGluZyBzaWdu YWwgaGFuZGxlcikuIE5PIG1hbGxvYyBvciBzdGRpbyBpcyBhbGxvd2VkIGhlcmUuCi0gCi0tI2lm ICFkZWZpbmVkKF9fVUNMSUJDX18pICYmICFkZWZpbmVkKF9BSVgpCi0rI2lmIGRlZmluZWQoX19H TElCQ19fKSAmJiAhZGVmaW5lZChfQUlYKQorQEAgLTgzOSw3ICs4MzksNyBAQAorICAgLy8gSWYg d2UgZG8gbm90IGhhdmUgdW53aW5kIHRhYmxlcywgdGhlbiB0cnkgdHJhY2luZyB1c2luZyBmcmFt ZSBwb2ludGVycy4KKyAgIHJldHVybiBiYXNlOjpkZWJ1Zzo6VHJhY2VTdGFja0ZyYW1lUG9pbnRl cnMoY29uc3RfY2FzdDxjb25zdCB2b2lkKio+KHRyYWNlKSwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY291bnQsIDApOworLSNlbGlmICFkZWZpbmVkKF9f VUNMSUJDX18pICYmICFkZWZpbmVkKF9BSVgpCisrI2VsaWYgZGVmaW5lZChfX0dMSUJDX18pICYm ICFkZWZpbmVkKF9BSVgpCiAgICAvLyBUaG91Z2ggdGhlIGJhY2t0cmFjZSBBUEkgbWFuIHBhZ2Ug ZG9lcyBub3QgbGlzdCBhbnkgcG9zc2libGUgbmVnYXRpdmUKICAgIC8vIHJldHVybiB2YWx1ZXMs IHdlIHRha2Ugbm8gY2hhbmNlLgogICAgcmV0dXJuIGJhc2U6OnNhdHVyYXRlZF9jYXN0PHNpemVf dD4oYmFja3RyYWNlKHRyYWNlLCBjb3VudCkpOwotQEAgLTgyNSwxMyArODI1LDEzIEBACitAQCAt ODUyLDEzICs4NTIsMTMgQEAKICAvLyBOT1RFOiBUaGlzIGNvZGUgTVVTVCBiZSBhc3luYy1zaWdu YWwgc2FmZSAoaXQncyB1c2VkIGJ5IGluLXByb2Nlc3MKICAvLyBzdGFjayBkdW1waW5nIHNpZ25h bCBoYW5kbGVyKS4gTk8gbWFsbG9jIG9yIHN0ZGlvIGlzIGFsbG93ZWQgaGVyZS4KICAKQEAgLTcw LDMgKzUyLDI0IEBACiAgdm9pZCBTdGFja1RyYWNlOjpPdXRwdXRUb1N0cmVhbVdpdGhQcmVmaXgo c3RkOjpvc3RyZWFtKiBvcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBjb25zdCBjaGFyKiBwcmVmaXhfc3RyaW5nKSBjb25zdCB7CiAgICBTdHJlYW1CYWNrdHJh Y2VPdXRwdXRIYW5kbGVyIGhhbmRsZXIob3MpOworLS0tIGEvdjgvc3JjL2NvZGVnZW4vZXh0ZXJu YWwtcmVmZXJlbmNlLXRhYmxlLmNjLm9yaWcKKysrKyBiL3Y4L3NyYy9jb2RlZ2VuL2V4dGVybmFs LXJlZmVyZW5jZS10YWJsZS5jYworQEAgLTExLDcgKzExLDkgQEAKKworICNpZiBkZWZpbmVkKERF QlVHKSAmJiBkZWZpbmVkKFY4X09TX0xJTlVYKSAmJiAhZGVmaW5lZChWOF9PU19BTkRST0lEKQor ICNkZWZpbmUgU1lNQk9MSVpFX0ZVTkNUSU9OCisrI2lmIGRlZmluZWQoX19HTElCQ19fKQorICNp bmNsdWRlIDxleGVjaW5mby5oPgorKyNlbmRpZgorCisgI2luY2x1ZGUgPHZlY3Rvcj4KKworQEAg LTk2LDcgKzk4LDcgQEAKKyB9CisKKyBjb25zdCBjaGFyKiBFeHRlcm5hbFJlZmVyZW5jZVRhYmxl OjpSZXNvbHZlU3ltYm9sKHZvaWQqIGFkZHJlc3MpIHsKKy0jaWZkZWYgU1lNQk9MSVpFX0ZVTkNU SU9OCisrI2lmIGRlZmluZWQoU1lNQk9MSVpFX0ZVTkNUSU9OKSAmJiBkZWZpbmVkKF9fR0xJQkNf XykKKyAgIGNoYXIqKiBuYW1lcyA9IGJhY2t0cmFjZV9zeW1ib2xzKCZhZGRyZXNzLCAxKTsKKyAg IGNvbnN0IGNoYXIqIG5hbWUgPSBuYW1lc1swXTsKKyAgIC8vIFRoZSBhcnJheSBvZiBuYW1lcyBp cyBtYWxsb2MnZWQuIEhvd2V2ZXIsIGVhY2ggbmFtZSBzdHJpbmcgaXMgc3RhdGljCmRpZmYgLS1n aXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvcmVtb3ZlLWxsdm0xMy13YXJuaW5nLWZsYWdz LnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL3JlbW92ZS1sbHZtMTMtd2FybmluZy1m bGFncy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmQxZGI3 ZTQyMDE1NAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9yZW1v dmUtbGx2bTEzLXdhcm5pbmctZmxhZ3MucGF0Y2gKQEAgLTAsMCArMSwxMyBAQAorLS0tIGEvYnVp bGQvY29uZmlnL2NvbXBpbGVyL0JVSUxELmduLm9yaWcKKysrKyBiL2J1aWxkL2NvbmZpZy9jb21w aWxlci9CVUlMRC5nbgorQEAgLTE2MjAsMTAgKzE2MjAsNiBAQAorIAorICAgICAgICAgICAjIFRP RE8oaHR0cHM6Ly9jcmJ1Zy5jb20vMTA1MDI4MSk6IENsZWFuIHVwLCBlbmFibGUuCisgICAgICAg ICAgICItV25vLW5vbi1jLXR5cGVkZWYtZm9yLWxpbmthZ2UiLAorLQorLSAgICAgICAgICAjIFRP RE8oaHR0cHM6Ly9jcmJ1Zy5jb20vMTIwMzA3MSk6IENsZWFuIHVwIGFuZCBlbmFibGUuCistICAg ICAgICAgICItV25vLXVudXNlZC1idXQtc2V0LXBhcmFtZXRlciIsCistICAgICAgICAgICItV25v LXVudXNlZC1idXQtc2V0LXZhcmlhYmxlIiwKKyAgICAgICAgIF0KKyAKKyAgICAgICAgIGNmbGFn c19jICs9IFsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9yZW1vdmUtbmFy cm93aW5nLWNhc3QucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvcmVtb3ZlLW5hcnJv d2luZy1jYXN0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4u OGVjNDQ4YWUzOGExCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVz L3JlbW92ZS1uYXJyb3dpbmctY2FzdC5wYXRjaApAQCAtMCwwICsxLDQyIEBACistLS0gYS9iYXNl L3N5c3RlbS9zeXNfaW5mb19wb3NpeC5jYy5vcmlnCisrKysgYi9iYXNlL3N5c3RlbS9zeXNfaW5m b19wb3NpeC5jYworQEAgLTEwMiw4ICsxMDIsOCBAQAorIAorICAgc3dpdGNoIChzdGF0cy5mX3R5 cGUpIHsKKyAgICAgY2FzZSBUTVBGU19NQUdJQzoKKy0gICAgY2FzZSBzdGF0aWNfY2FzdDxpbnQ+ KEhVR0VUTEJGU19NQUdJQyk6CistICAgIGNhc2Ugc3RhdGljX2Nhc3Q8aW50PihSQU1GU19NQUdJ Qyk6CisrICAgIGNhc2UgSFVHRVRMQkZTX01BR0lDOgorKyAgICBjYXNlIFJBTUZTX01BR0lDOgor ICAgICAgIHJldHVybiB0cnVlOworICAgfQorICAgcmV0dXJuIGZhbHNlOworLS0tIGEvYmFzZS9m aWxlcy9maWxlX3V0aWxfbGludXguY2Mub3JpZworKysrIGIvYmFzZS9maWxlcy9maWxlX3V0aWxf bGludXguY2MKK0BAIC0zMCw3ICszMCw3IEBACisgICAgIGNhc2UgRVhUMl9TVVBFUl9NQUdJQzog IC8vIEFsc28gZXh0MyBhbmQgZXh0NAorICAgICBjYXNlIE1TRE9TX1NVUEVSX01BR0lDOgorICAg ICBjYXNlIFJFSVNFUkZTX1NVUEVSX01BR0lDOgorLSAgICBjYXNlIHN0YXRpY19jYXN0PGludD4o QlRSRlNfU1VQRVJfTUFHSUMpOgorKyAgICBjYXNlIEJUUkZTX1NVUEVSX01BR0lDOgorICAgICBj YXNlIDB4NTM0NjU0NEU6ICAvLyBOVEZTCisgICAgIGNhc2UgMHg1ODQ2NTM0MjogIC8vIFhGUwor ICAgICBjYXNlIDB4MzE1MzQ2NEE6ICAvLyBKRlMKK0BAIC00MCwxNCArNDAsMTQgQEAKKyAgICAg ICAqdHlwZSA9IEZJTEVfU1lTVEVNX05GUzsKKyAgICAgICBicmVhazsKKyAgICAgY2FzZSBTTUJf U1VQRVJfTUFHSUM6CistICAgIGNhc2Ugc3RhdGljX2Nhc3Q8aW50PigweEZGNTM0RDQyKTogIC8v IENJRlMKKysgICAgY2FzZSAweEZGNTM0RDQyOiAgLy8gQ0lGUworICAgICAgICp0eXBlID0gRklM RV9TWVNURU1fU01COworICAgICAgIGJyZWFrOworICAgICBjYXNlIENPREFfU1VQRVJfTUFHSUM6 CisgICAgICAgKnR5cGUgPSBGSUxFX1NZU1RFTV9DT0RBOworICAgICAgIGJyZWFrOworLSAgICBj YXNlIHN0YXRpY19jYXN0PGludD4oSFVHRVRMQkZTX01BR0lDKToKKy0gICAgY2FzZSBzdGF0aWNf Y2FzdDxpbnQ+KFJBTUZTX01BR0lDKToKKysgICAgY2FzZSBIVUdFVExCRlNfTUFHSUM6CisrICAg IGNhc2UgUkFNRlNfTUFHSUM6CisgICAgIGNhc2UgVE1QRlNfTUFHSUM6CisgICAgICAgKnR5cGUg PSBGSUxFX1NZU1RFTV9NRU1PUlk7CisgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9zcmNwa2dz L2Nocm9taXVtL3BhdGNoZXMvcmVtb3ZlLXN0cmlwX2JpbmFyeS5wYXRjaCBiL3NyY3BrZ3MvY2hy b21pdW0vcGF0Y2hlcy9yZW1vdmUtc3RyaXBfYmluYXJ5LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uOGIxM2M2YTA1NmE4Ci0tLSAvZGV2L251bGwKKysrIGIv c3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL3JlbW92ZS1zdHJpcF9iaW5hcnkucGF0Y2gKQEAgLTAs MCArMSwzMiBAQAorLS0tIGEvY2hyb21lL3Rlc3QvY2hyb21lZHJpdmVyL0JVSUxELmduLm9yaWcK KysrKyBiL2Nocm9tZS90ZXN0L2Nocm9tZWRyaXZlci9CVUlMRC5nbgorQEAgLTMwOCwxMSArMzA4 LDcgQEAKKyAgIH0KKyB9CisgCistaWYgKGlzX2xpbnV4KSB7CistICBjaHJvbWVkcml2ZXJfb3V0 cHV0ID0gImNocm9tZWRyaXZlci51bnN0cmlwcGVkIgorLX0gZWxzZSB7CistICBjaHJvbWVkcml2 ZXJfb3V0cHV0ID0gImNocm9tZWRyaXZlciIKKy19CisrY2hyb21lZHJpdmVyX291dHB1dCA9ICJj aHJvbWVkcml2ZXIiCisgCisgZXhlY3V0YWJsZSgiJGNocm9tZWRyaXZlcl9vdXRwdXQiKSB7Cisg ICB0ZXN0b25seSA9IHRydWUKK0BAIC0zMzYsMTYgKzMzMiw2IEBACisgICB9CisgfQorIAorLWlm IChpc19saW51eCkgeworLSAgc3RyaXBfYmluYXJ5KCJjaHJvbWVkcml2ZXIiKSB7CistICAgIHRl c3Rvbmx5ID0gdHJ1ZQorLSAgICBiaW5hcnlfaW5wdXQgPSAiJHJvb3Rfb3V0X2Rpci8kY2hyb21l ZHJpdmVyX291dHB1dCIKKy0gICAgc3ltYm9sX291dHB1dCA9ICIkcm9vdF9vdXRfZGlyL2Nocm9t ZWRyaXZlci5kZWJ1ZyIKKy0gICAgc3RyaXBwZWRfYmluYXJ5X291dHB1dCA9ICIkcm9vdF9vdXRf ZGlyL2Nocm9tZWRyaXZlciIKKy0gICAgZGVwcyA9IFsgIjokY2hyb21lZHJpdmVyX291dHB1dCIg XQorLSAgfQorLX0KKy0KKyBweXRob25fbGlicmFyeSgiY2hyb21lZHJpdmVyX3B5X3Rlc3RzIikg eworICAgdGVzdG9ubHkgPSB0cnVlCisgICBkZXBzID0gWwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9j aHJvbWl1bS90ZW1wbGF0ZSBiL3NyY3BrZ3MvY2hyb21pdW0vdGVtcGxhdGUKaW5kZXggMTE3OGIy YTlmYjJkLi43ZGFkYjlmNWFlNDkgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvY2hyb21pdW0vdGVtcGxh dGUKKysrIGIvc3JjcGtncy9jaHJvbWl1bS90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVt cGxhdGUgZmlsZSBmb3IgJ2Nocm9taXVtJwogcGtnbmFtZT1jaHJvbWl1bQotIyBTZWUgaHR0cDov L3d3dy5jaHJvbWl1bS5vcmcvZGV2ZWxvcGVycy9jYWxlbmRhciBmb3IgdGhlIGxhdGVzdCB2ZXJz aW9uCi12ZXJzaW9uPTkxLjAuNDQ3Mi4xMTQKKyMgU2VlIGh0dHBzOi8vY2hyb21pdW1kYXNoLmFw cHNwb3QuY29tL3JlbGVhc2VzP3BsYXRmb3JtPUxpbnV4IGZvciB0aGUgbGF0ZXN0IHZlcnNpb24K K3ZlcnNpb249OTMuMC40NTc3LjYzCiByZXZpc2lvbj0xCiBhcmNocz0iaTY4NiogeDg2XzY0KiBh YXJjaDY0KiBhcm12N2wqIHBwYzY0bGUqIgogc2hvcnRfZGVzYz0iR29vZ2xlJ3MgYXR0ZW1wdCBh dCBjcmVhdGluZyBhIHNhZmVyLCBmYXN0ZXIsIGFuZCBtb3JlIHN0YWJsZSBicm93c2VyIgpAQCAt OSwyMiArOSwyMiBAQCBtYWludGFpbmVyPSJFbm5vIEJvbGFuZCA8Z290dG94QHZvaWRsaW51eC5v cmc+IgogbGljZW5zZT0iQlNELTMtQ2xhdXNlIgogaG9tZXBhZ2U9Imh0dHBzOi8vd3d3LmNocm9t aXVtLm9yZy8iCiBkaXN0ZmlsZXM9Imh0dHBzOi8vY29tbW9uZGF0YXN0b3JhZ2UuZ29vZ2xlYXBp cy5jb20vY2hyb21pdW0tYnJvd3Nlci1vZmZpY2lhbC8ke3BrZ25hbWV9LSR7dmVyc2lvbn0udGFy Lnh6IgotY2hlY2tzdW09YzFjN2ZlNzgzZjMyNTA5Nzg1MDNkNGJkNTMxNDQwMzliZDgxOGRlOGE2 ZTg5ZGU0OTNmMjdkZDUxNjhmN2U3MQorY2hlY2tzdW09ZWFmMzRmYTZjMmYyNDA1NDY1NWZiYjIz NzZiNmUzZGRlZTRjZjQ4NjhjMTMyNGM5MjFlNzFhNDVjZmM5NDg1Mwogbm9jcm9zcz15ZXMKIAog bGliMzJkaXNhYmxlZD15ZXMKLW5vZGVidWc9eWVzCi1ub3BpZT15ZXMgICMgY29udGFpbnMgdG9v bHMgdGhhdCBhcmUgbm90IFBJRSwgZW5hYmxlcyBQSUUgaXRzZWxmCiAKLWJ1aWxkX29wdGlvbnM9 ImNsYW5nIGpzX29wdGltaXplIHZhYXBpIHB1bHNlYXVkaW8gc25kaW8gcGlwZXdpcmUiCitidWls ZF9vcHRpb25zPSJjbGFuZyBkZWJ1ZyBqc19vcHRpbWl6ZSB2YWFwaSBwdWxzZWF1ZGlvIHNuZGlv IHBpcGV3aXJlIgorYnVpbGRfb3B0aW9uc19kZWZhdWx0PSJjbGFuZyBqc19vcHRpbWl6ZSB2YWFw aSBwdWxzZWF1ZGlvIHNuZGlvIHBpcGV3aXJlIgogZGVzY19vcHRpb25fY2xhbmc9IlVzZSBjbGFu ZyB0byBidWlsZCIKK2Rlc2Nfb3B0aW9uX2RlYnVnPSJCdWlsZCB3aXRoIGRlYnVnIHN5bWJvbHMi CiBkZXNjX29wdGlvbl9qc19vcHRpbWl6ZT0iT3B0aW1pemUgdGhlIEpTIHVzZWQgZm9yIENocm9t aXVtJ3MgVUkiCiBkZXNjX29wdGlvbl92YWFwaT0iRW5hYmxlIHN1cHBvcnQgZm9yIFZBLUFQSSIK IGRlc2Nfb3B0aW9uX3B1bHNlYXVkaW89IkVuYWJsZSBzdXBwb3J0IGZvciBQdWxzZUF1ZGlvIgog ZGVzY19vcHRpb25fc25kaW89IkVuYWJsZSBzdXBwb3J0IGZvciBzbmRpbyIKIGRlc2Nfb3B0aW9u X3BpcGV3aXJlPSJFbmFibGUgc3VwcG9ydCBmb3Igc2NyZWVuIHNoYXJpbmcgZm9yIFdlYlJUQyB2 aWEgUGlwZVdpcmUiCiAKLWhvc3RtYWtlZGVwZW5kcz0iJCh2b3B0X2lmIGNsYW5nIGNsYW5nKSBw eXRob24gcGtnY29uZiBwZXJsIGdwZXJmIGJpc29uIG5pbmphIG5vZGVqcyBod2lkcworaG9zdG1h a2VkZXBlbmRzPSIkKHZvcHRfaWYgY2xhbmcgImNsYW5nIGxsZCIpIHB5dGhvbiBwa2djb25mIHBl cmwgZ3BlcmYgYmlzb24gbmluamEgbm9kZWpzIGh3aWRzCiAgbGliYXRvbWljLWRldmVsIGxpYmV2 ZW50LWRldmVsIGxpYmdsaWItZGV2ZWwgJCh2b3B0X2lmIGpzX29wdGltaXplIG9wZW5qZGspIgog bWFrZWRlcGVuZHM9ImxpYnBuZy1kZXZlbCBndGsrLWRldmVsIGd0ayszLWRldmVsIG5zcy1kZXZl bCBwY2l1dGlscy1kZXZlbAogIGxpYlhpLWRldmVsIGxpYmdjcnlwdC1kZXZlbCBsaWJnbm9tZS1r ZXlyaW5nLWRldmVsIGN1cHMtZGV2ZWwgZWxmdXRpbHMtZGV2ZWwKQEAgLTE1Niw3MSArMTU2LDY0 IEBAIGRvX2NvbmZpZ3VyZSgpIHsKIAogCXRoaXJkX3BhcnR5L2xpYmFkZHJlc3NpbnB1dC9jaHJv bWl1bS90b29scy91cGRhdGUtc3RyaW5ncy5weQogCi0JY29uZis9KAorCWNvbmY9KAogCQknZW5h YmxlX25hY2w9ZmFsc2UnCiAJCSdlbmFibGVfbmFjbF9ub25zZmk9ZmFsc2UnCi0JCSJpc19jbGFu Zz0kKHZvcHRfaWYgY2xhbmcgdHJ1ZSBmYWxzZSkiCi0JCSdpc19kZWJ1Zz1mYWxzZScKLQkJJ2Ns YW5nX3VzZV9jaHJvbWVfcGx1Z2lucz1mYWxzZScKKworCQkndXNlX3N5c3Jvb3Q9ZmFsc2UnCiAJ CSdjdXN0b21fdG9vbGNoYWluPSIvL2J1aWxkL3Rvb2xjaGFpbi9saW51eC91bmJ1bmRsZTpkZWZh dWx0IicKIAkJJ2hvc3RfdG9vbGNoYWluPSIvL2J1aWxkL3Rvb2xjaGFpbi9saW51eC91bmJ1bmRs ZTpkZWZhdWx0IicKLQkJJ2JsaW5rX3N5bWJvbF9sZXZlbD0wJwotCQknc3ltYm9sX2xldmVsPTAn CisKKwkJImlzX2NsYW5nPSQodm9wdF9pZiBjbGFuZyB0cnVlIGZhbHNlKSIKKwkJInVzZV9sbGQ9 JCh2b3B0X2lmIGNsYW5nIHRydWUgZmFsc2UpIgorCQknY2xhbmdfdXNlX2Nocm9tZV9wbHVnaW5z PWZhbHNlJworCisJCSJnb2xkX3BhdGg9XCIke1hCUFNfQ1JPU1NfQkFTRX0vdXNyL2Jpbi9sZC5n b2xkXCIiCisJCSd1c2VfY3VzdG9tX2xpYmN4eD1mYWxzZScKKwkJJ3VzZV9nb2xkPWZhbHNlJwor CisJCSJpc19kZWJ1Zz0kKHZvcHRfaWYgZGVidWcgdHJ1ZSBmYWxzZSkiCisJCSJibGlua19zeW1i b2xfbGV2ZWw9JCh2b3B0X2lmIGRlYnVnIDEgMCkiCisJCSJzeW1ib2xfbGV2ZWw9JCh2b3B0X2lm IGRlYnVnIDEgMCkiCisKIAkJJ2ljdV91c2VfZGF0YV9maWxlPXRydWUnCisKIAkJJ3VzZV9hbGxv Y2F0b3I9Im5vbmUiJwogCQkndXNlX2FsbG9jYXRvcl9zaGltPWZhbHNlJwotCQkndXNlX2N1cHM9 dHJ1ZScKLQkJJ3VzZV9zeXNyb290PWZhbHNlJwotCQkndXNlX3N5c3RlbV9oYXJmYnV6ej10cnVl JworCiAJCSdlbmFibGVfd2lkZXZpbmU9dHJ1ZScKIAkJJ2VuYWJsZV9oYW5nb3V0X3NlcnZpY2Vz X2V4dGVuc2lvbj10cnVlJwotCSkKIAotCWNvbmYrPSgKKwkJJ3VzZV9zeXN0ZW1faGFyZmJ1eno9 dHJ1ZScKKworCQkndXNlX2N1cHM9dHJ1ZScKKwogCQkidXNlX3ZhYXBpPSQodm9wdF9pZiB2YWFw aSB0cnVlIGZhbHNlKSIKLQkpCiAKLQkjIGh0dHBzOi8vY2hyb21pdW0uZ29vZ2xlc291cmNlLmNv bS9jaHJvbWl1bS9zcmMvKy9tYXN0ZXIvZG9jcy9jbG9zdXJlX2NvbXBpbGF0aW9uLm1kCi0JY29u Zis9KAorCQkjIGh0dHBzOi8vY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMv Ky9tYXN0ZXIvZG9jcy9jbG9zdXJlX2NvbXBpbGF0aW9uLm1kCiAJCSJlbmFibGVfanNfdHlwZV9j aGVjaz0kKHZvcHRfaWYganNfb3B0aW1pemUgdHJ1ZSBmYWxzZSkiCi0JKQogCi0JY29uZis9KAog CQkidXNlX3B1bHNlYXVkaW89JCh2b3B0X2lmIHB1bHNlYXVkaW8gdHJ1ZSBmYWxzZSkiCi0JKQor CQkibGlua19wdWxzZWF1ZGlvPSQodm9wdF9pZiBwdWxzZWF1ZGlvIHRydWUgZmFsc2UpIgogCi0J Y29uZis9KAogCQkicnRjX3VzZV9waXBld2lyZT0kKHZvcHRfaWYgcGlwZXdpcmUgdHJ1ZSBmYWxz ZSkiCi0JKQotCi0JIyBVc2UgZXhwbGljaXQgbGlicmFyeSBkZXBlbmRlbmNpZXMgaW5zdGVhZCBv ZiBkbG9wZW4uCi0JIyBHTiBvbmx5IGhhcyAibGlua19wdWxzZWF1ZGlvIiwgdGhlIG90aGVyIG9w dGlvbnMgdXNlZCBiZWZvcmUgYXJlIG5vdCBhdmFpbGFibGUgYXRtCi0JIyBsaW51eF9saW5rX2N1 cHM9dHJ1ZQotCSMgbGludXhfbGlua19nc2V0dGluZ3M9dHJ1ZQotCSMgbGludXhfbGlua19saWJw Y2k9dHJ1ZQotCSMgbGludXhfbGlua19saWJzcGVlY2hkPXRydWUKLQkjIGxpYnNwZWVjaGRfaF9w cmVmaXg9XCJzcGVlY2gtZGlzcGF0Y2hlci9cIiIKLQljb25mKz0oICJsaW5rX3B1bHNlYXVkaW89 JCh2b3B0X2lmIHB1bHNlYXVkaW8gdHJ1ZSBmYWxzZSkiICkKIAotCWNvbmYrPSgKIAkJInVzZV9z bmRpbz0kKHZvcHRfaWYgc25kaW8gdHJ1ZSBmYWxzZSkiCi0JKQotCi0JIyBOZXZlciB1c2UgYnVu ZGxlZCBiaW51dGlscy9nb2xkIGJpbmFyeS4KLQljb25mKz0oCi0JCSJnb2xkX3BhdGg9XCIke1hC UFNfQ1JPU1NfQkFTRX0vdXNyL2Jpbi9sZC5nb2xkXCIiCi0JCSd1c2VfY3VzdG9tX2xpYmN4eD1m YWxzZScKLQkJJ3VzZV9sbGQ9ZmFsc2UnCi0JKQogCi0JIyBYWFg6IGdvbGQgYnJva2VuIHdpdGgg bXVzbCwgaTY4NiwgYW5kIHg4Nl82NCBzbyBkaXNhYmxlIGdsb2JhbGx5Ci0JY29uZis9KCAndXNl X2dvbGQ9ZmFsc2UnICkKLQotCSMgQWx3YXlzIHN1cHBvcnQgcHJvcHJpZXRhcnkgY29kZWNzLgot CSMgRW5hYmxlIEguMjY0IHN1cHBvcnQgaW4gYnVuZGxlZCBmZm1wZWcuCi0JY29uZis9KAorCQkj IEFsd2F5cyBzdXBwb3J0IHByb3ByaWV0YXJ5IGNvZGVjcy4KKwkJIyBFbmFibGUgSC4yNjQgc3Vw cG9ydCBpbiBidW5kbGVkIGZmbXBlZy4KIAkJJ3Byb3ByaWV0YXJ5X2NvZGVjcz10cnVlJwogCQkn ZmZtcGVnX2JyYW5kaW5nPSJDaHJvbWUiJworCisJCSMgTWFrZSBzdXJlIHRoYXQgLVdlcnJvciBk b2Vzbid0IGdldCBhZGRlZCB0byBDRkxBR1MgYnkgdGhlIGJ1aWxkIHN5c3RlbS4KKwkJIyBEZXBl bmRpbmcgb24gR0NDIHZlcnNpb24gdGhlIHdhcm5pbmdzIGFyZSBkaWZmZXJlbnQgYW5kIHdlIGRv bid0IHdhbnQKKwkJIyB0aGUgYnVpbGQgdG8gZmFpbCBiZWNhdXNlIG9mIHRoYXQuCisJCSd0cmVh dF93YXJuaW5nc19hc19lcnJvcnM9ZmFsc2UnCisJCSdmYXRhbF9saW5rZXJfd2FybmluZ3M9ZmFs c2UnCisKKwkJIyBTYXZlIHNwYWNlIGJ5IHJlbW92aW5nIERMT0cgYW5kIERDSEVDSyBtZXNzYWdl cyAoYWJvdXQgNiUgcmVkdWN0aW9uKS4KKwkJIyAnbG9nZ2luZ19saWtlX29mZmljaWFsX2J1aWxk PXRydWUnCisJCSdmaWVsZHRyaWFsX3Rlc3RpbmdfbGlrZV9vZmZpY2lhbF9idWlsZD10cnVlJwog CSkKIAogCSMgdGhpcyBkb2VzIG5vdCB3b3JrIG9uIHBwYzY0IHlldApAQCAtMjI4LDE4ICsyMjEs NiBAQCBkb19jb25maWd1cmUoKSB7CiAJCXBwYzY0KikgY29uZis9KCAiZW5hYmxlX2p4bF9kZWNv ZGVyPWZhbHNlIiApOzsKIAllc2FjCiAKLQkjIE1ha2Ugc3VyZSB0aGF0IC1XZXJyb3IgZG9lc24n dCBnZXQgYWRkZWQgdG8gQ0ZMQUdTIGJ5IHRoZSBidWlsZCBzeXN0ZW0uCi0JIyBEZXBlbmRpbmcg b24gR0NDIHZlcnNpb24gdGhlIHdhcm5pbmdzIGFyZSBkaWZmZXJlbnQgYW5kIHdlIGRvbid0IHdh bnQKLQkjIHRoZSBidWlsZCB0byBmYWlsIGJlY2F1c2Ugb2YgdGhhdC4KLQljb25mKz0oCi0JCSd0 cmVhdF93YXJuaW5nc19hc19lcnJvcnM9ZmFsc2UnCi0JCSdmYXRhbF9saW5rZXJfd2FybmluZ3M9 ZmFsc2UnCi0JKQotCi0JIyBTYXZlIHNwYWNlIGJ5IHJlbW92aW5nIERMT0cgYW5kIERDSEVDSyBt ZXNzYWdlcyAoYWJvdXQgNiUgcmVkdWN0aW9uKS4KLQkjIGNvbmYrPSIgbG9nZ2luZ19saWtlX29m ZmljaWFsX2J1aWxkPXRydWUiCi0JY29uZis9KCBmaWVsZHRyaWFsX3Rlc3RpbmdfbGlrZV9vZmZp Y2lhbF9idWlsZD10cnVlICkKLQogCWNhc2UgIiR7WEJQU19UQVJHRVRfTUFDSElORX0iIGluCiAJ CXg4Nl82NCopIGNvbmYrPSggJ3RhcmdldF9jcHU9Ing2NCInICkgOzsKIAkJaTY4NiopIGNvbmYr PSggJ3RhcmdldF9jcHU9Ing4NiInICkgOzsKQEAgLTI1NiwxMCArMjM3LDExIEBAIGRvX2J1aWxk KCkgewogCQlleHBvcnQgQ1hYPWNsYW5nKysKIAlmaQogCi0JbmluamEgLUMgb3V0L1JlbGVhc2Ug JHttYWtlam9ic30gY2hyb21lIGNocm9tZWRyaXZlciBta3NuYXBzaG90CisJbmluamEgLUMgb3V0 L1JlbGVhc2UgJHttYWtlam9ic30gY2hyb21lIGNocm9tZWRyaXZlciBta3NuYXBzaG90IGNyYXNo cGFkX2hhbmRsZXIKIH0KIGRvX2luc3RhbGwoKSB7CiAJdmluc3RhbGwgb3V0L1JlbGVhc2UvY2hy b21lIDc1NSB1c3IvbGliLyR7cGtnbmFtZX0gJHtwa2duYW1lfQorCXZpbnN0YWxsIG91dC9SZWxl YXNlL2NyYXNocGFkX2hhbmRsZXIgNzU1IHVzci9saWIvJHtwa2duYW1lfSBjcmFzaHBhZF9oYW5k bGVyCiAJdmluc3RhbGwgb3V0L1JlbGVhc2UvY2hyb21lZHJpdmVyIDc1NSB1c3IvbGliLyR7cGtn bmFtZX0gY2hyb21lZHJpdmVyCiAJdmluc3RhbGwgb3V0L1JlbGVhc2UvbGliRUdMLnNvIDc1NSB1 c3IvbGliLyR7cGtnbmFtZX0gbGliRUdMLnNvCiAJdmluc3RhbGwgb3V0L1JlbGVhc2UvbGliR0xF U3YyLnNvIDc1NSB1c3IvbGliLyR7cGtnbmFtZX0gbGliR0xFU3YyLnNvCkBAIC0yOTAsNSArMjcy LDUgQEAgZG9faW5zdGFsbCgpIHsKIAogCXZiaW4gJHtGSUxFU0RJUn0vY2hyb21pdW0uc2ggY2hy b21pdW0KIAl2bGljZW5zZSBMSUNFTlNFCi0JbG4gLXMgL3Vzci9saWIvY2hyb21pdW0vY2hyb21l ZHJpdmVyICR7REVTVERJUn0vdXNyL2Jpbi9jaHJvbWVkcml2ZXIKKwlsbiAtc2YgL3Vzci9saWIv Y2hyb21pdW0vY2hyb21lZHJpdmVyICR7REVTVERJUn0vdXNyL2Jpbi9jaHJvbWVkcml2ZXIKIH0K --===============7363061505701669520==--