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 27242 invoked from network); 24 Jul 2021 11:36:07 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 24 Jul 2021 11:36:07 -0000 Content-Type: multipart/mixed; boundary="===============1720541596788068056==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_tbb=3A_update_to_2021=2E3=2E0?= To: ml@inbox.vuxu.org From: Logarithmus Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Sat, 24 Jul 2021 13:36:06 +0200 List-Id: Message-ID: <20210724113606.PE7pdJsd2E_f5E2yZBL9DASHqAcsYbpL-uK5XvRtoVU@z> GitHub notification mails are now in MIME to allow UTF8. --===============1720541596788068056== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgTG9nYXJpdGhtdXMgYWdhaW5zdCBt YXN0ZXIgb24gdGhlIHZvaWQtcGFja2FnZXMgcmVwb3NpdG9yeQoKaHR0cHM6Ly9naXRodWIuY29t L0xvZ2FyaXRobXVzL3ZvaWQtcGFja2FnZXMgdGJiLTIwMjEKaHR0cHM6Ly9naXRodWIuY29tL3Zv aWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzMyMTY2Cgp0YmI6IHVwZGF0ZSB0byAyMDIxLjMu MApGb2xsb3ctdXAgb2YgaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdl cy9wdWxsLzI3NzQ2LCBAdGh5cG9uICYgQG9sYWZtZXJzbWFubiBtaWdodCBiZSBpbnRlcmVzdGVk Lg0KKipUT0RPKiogZml4IHJldmVyc2UgZGVwZW5kZW5jaWVzOg0KLSBbIF0gT3BlblN1YmRpdjog dXBkYXRlIHRvIDMuNC40Lg0KLSBbIF0gUHJ1c2FTbGljZXI6IHVwZGF0ZSB0byAyLjMuMy4NCi0g WyBdIGxlbmRlcjogdXBkYXRlIHRvIDIuOTMuMS4NCi0gWyBdIGVtYnJlZTogdXBkYXRlIHRvIDMu MTMuMC4NCi0gWyBdIG9wZW5pbWFnZWlvOiB1cGRhdGUgdG8gMi4yLjE2LjAuDQotIFsgXSBvcGVu aW1hZ2VkZW5vaXNlOiB1cGRhdGUgdG8gMS40LjEuDQotIFsgXSBvcGVudmRiOiB1cGRhdGUgdG8g OC4xLjAuDQotIFsgXSBwYXJhdmlldzogdXBkYXRlIHRvIDUuOS4xLg0KLSBbIF0gb2NjdDogcmV2 YnVtcCBkdWUgdG8gdGJiIHVwZGF0ZQ0KDQojIyMjIEhhdmUgdGhlIHJlc3VsdHMgb2YgdGhlIHBy b3Bvc2VkIGNoYW5nZXMgYmVlbiB0ZXN0ZWQ/DQotIFt4XSBJIHVzZSB0aGUgcGFja2FnZXMgYWZm ZWN0ZWQgYnkgdGhlIHByb3Bvc2VkIGNoYW5nZXMgb24gYSByZWd1bGFyIGJhc2lzIGFuZCBjb25m aXJtIHRoaXMgUFIgd29ya3MgZm9yIG1lDQoKCkEgcGF0Y2ggZmlsZSBmcm9tIGh0dHBzOi8vZ2l0 aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvcHVsbC8zMjE2Ni5wYXRjaCBpcyBhdHRh Y2hlZA== --===============1720541596788068056== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-tbb-2021-32166.patch" RnJvbSAyNjdiNDlhY2I2OTRjMjEwODdkNTg1MmUzMjI5NjlkYjVkNTY0NjMyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBcnR1ciBTaW5pbGEgPGZyZWVzb2Z0d2FyZUBsb2dhcml0aG11 cy5kZXY+CkRhdGU6IFNhdCwgMTcgSnVsIDIwMjEgMjM6NTc6NTIgKzAzMDAKU3ViamVjdDogW1BB VENIIDAxLzExXSBod2xvYzogYWRkIGxpYnBjaWFjY2Vzcy1kZXZlbCBtYWtlIGRlcGVuZGVuY3kK Ci0tLQogLi4uL2h3bG9jL3BhdGNoZXMvMDAtZ2V0LWFyZWEtbWVtbG9jYXRpb24ucGF0Y2ggICAg fCAxNCArKysrKysrKysrKysrKwogc3JjcGtncy9od2xvYy90ZW1wbGF0ZSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgOCArKysrKy0tLQogMiBmaWxlcyBjaGFuZ2VkLCAxOSBpbnNlcnRp b25zKCspLCAzIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvaHdsb2Mv cGF0Y2hlcy8wMC1nZXQtYXJlYS1tZW1sb2NhdGlvbi5wYXRjaAoKZGlmZiAtLWdpdCBhL3NyY3Br Z3MvaHdsb2MvcGF0Y2hlcy8wMC1nZXQtYXJlYS1tZW1sb2NhdGlvbi5wYXRjaCBiL3NyY3BrZ3Mv aHdsb2MvcGF0Y2hlcy8wMC1nZXQtYXJlYS1tZW1sb2NhdGlvbi5wYXRjaApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmU5MDczODE3ZTRlNgotLS0gL2Rldi9udWxsCisr KyBiL3NyY3BrZ3MvaHdsb2MvcGF0Y2hlcy8wMC1nZXQtYXJlYS1tZW1sb2NhdGlvbi5wYXRjaApA QCAtMCwwICsxLDE0IEBACitkaWZmIC0tZ2l0IGEvdGVzdHMvaHdsb2MvaHdsb2NfZ2V0X2FyZWFf bWVtbG9jYXRpb24uYyBiL3Rlc3RzL2h3bG9jL2h3bG9jX2dldF9hcmVhX21lbWxvY2F0aW9uLmMK K2luZGV4IDQ5OGRmYWUuLmNlYjI1MjEgMTAwNjQ0CistLS0gYS90ZXN0cy9od2xvYy9od2xvY19n ZXRfYXJlYV9tZW1sb2NhdGlvbi5jCisrKysgYi90ZXN0cy9od2xvYy9od2xvY19nZXRfYXJlYV9t ZW1sb2NhdGlvbi5jCitAQCAtMzksNiArMzksOSBAQCBpbnQgbWFpbih2b2lkKQorICAgICBmcHJp bnRmKHN0ZGVyciwgImh3bG9jX2dldF9hcmVhX21lbWxvY2F0aW9uKCkgZmFpbGVkIHdpdGggRU5P U1lTLCBhYm9ydGluZ1xuIik7CisgICAgIGdvdG8gb3V0X3dpdGhfYnVmZmVyOworICAgfQorKyAg aWYgKGVycikgeworKyAgICBmcHJpbnRmKHN0ZGVyciwgImVyciA9PSAlaSwgZXJybm8gPT0gJXMi LCBlcnIsIHN0cmVycm9yKGVycm5vKSk7CisrICB9CisgICBhc3NlcnQoIWVycik7CisgICBod2xv Y19iaXRtYXBfYXNwcmludGYoJnMsIHNldCk7CisgICBwcmludGYoImFkZHJlc3MgJXAgbGVuZ3Ro ICVkIGFsbG9jYXRlZCBpbiBub2Rlc2V0ICVzXG4iLCBidWZmZXIsIExFTiwgcyk7CmRpZmYgLS1n aXQgYS9zcmNwa2dzL2h3bG9jL3RlbXBsYXRlIGIvc3JjcGtncy9od2xvYy90ZW1wbGF0ZQppbmRl eCA4MThkYjI2OWNlYmIuLjZlZWM2NjJkMGQ2ZSAxMDA2NDQKLS0tIGEvc3JjcGtncy9od2xvYy90 ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2h3bG9jL3RlbXBsYXRlCkBAIC0xLDEwICsxLDEyIEBACiAj IFRlbXBsYXRlIGZpbGUgZm9yICdod2xvYycKIHBrZ25hbWU9aHdsb2MKIHZlcnNpb249Mi41LjAK LXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPWdudS1jb25maWd1cmUKIGhvc3Rt YWtlZGVwZW5kcz0icGtnLWNvbmZpZyIKLW1ha2VkZXBlbmRzPSJjYWlyby1kZXZlbCBuY3Vyc2Vz LWRldmVsIGxpYnhtbDItZGV2ZWwgZXVkZXYtbGlidWRldi1kZXZlbCIKK21ha2VkZXBlbmRzPSJj YWlyby1kZXZlbCBuY3Vyc2VzLWRldmVsIGxpYnhtbDItZGV2ZWwgbGlicGNpYWNjZXNzLWRldmVs IGV1ZGV2LWxpYnVkZXYtZGV2ZWwiCitjaGVja2RlcGVuZHM9InRhciIKK21ha2VfY2hlY2tfYXJn cz0iVkVSQk9TRT0xIgogc2hvcnRfZGVzYz0iUG9ydGFibGUgYWJzdHJhY3Rpb24gb2YgaGllcmFy Y2hpY2FsIGhhcmR3YXJlIGFyY2hpdGVjdHVyZXMiCiBtYWludGFpbmVyPSJMZWFoIE5ldWtpcmNo ZW4gPGxlYWhAdnV4dS5vcmc+IgogbGljZW5zZT0iQlNELTMtQ2xhdXNlIgpAQCAtMzEsNyArMzMs NyBAQCBsaWJod2xvY19wYWNrYWdlKCkgewogCiBsaWJod2xvYy1kZXZlbF9wYWNrYWdlKCkgewog CXNob3J0X2Rlc2MrPSIgLSBkZXZlbG9wbWVudCBmaWxlcyIKLQlkZXBlbmRzPSJsaWJod2xvYz49 JHt2ZXJzaW9ufV8ke3JldmlzaW9ufSIKKwlkZXBlbmRzPSIke21ha2VkZXBlbmRzfSBsaWJod2xv Yz49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufSIKIAlwa2dfaW5zdGFsbCgpIHsKIAkJdm1vdmUgdXNy L2luY2x1ZGUKIAkJdm1vdmUgdXNyL3NoYXJlL21hbi9tYW4zCgpGcm9tIDcwODAzNGQ4YjM3OTk4 NWU5NmIwY2VhNGE3MGM0MjJlZjRmOWNlNGIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206 IEFydHVyIFNpbmlsYSA8ZnJlZXNvZnR3YXJlQGxvZ2FyaXRobXVzLmRldj4KRGF0ZTogTW9uLCA1 IEp1bCAyMDIxIDAyOjUwOjI2ICswMzAwClN1YmplY3Q6IFtQQVRDSCAwMi8xMV0gdGJiOiB1cGRh dGUgdG8gMjAyMS4zLjAuCgotLS0KIGNvbW1vbi9zaGxpYnMgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgICA2ICstCiBzcmNwa2dzL3RiYi9wYXRjaGVzLzAwLWh3bG9jLTIuNS5wYXRj aCAgICAgICB8IDM2NyArKysrKysrKysrKysrKysrKysrCiBzcmNwa2dzL3RiYi9wYXRjaGVzLzAx LWh3bG9jLXBrZ2NvbmZpZy5wYXRjaCB8ICA1MiArKysKIHNyY3BrZ3MvdGJiL3BhdGNoZXMvaG9z dG5hbWUtdXNhZ2UucGF0Y2ggICAgIHwgIDExIC0KIHNyY3BrZ3MvdGJiL3BhdGNoZXMvbXVzbC5w YXRjaCAgICAgICAgICAgICAgIHwgICA0ICstCiBzcmNwa2dzL3RiYi90ZW1wbGF0ZSAgICAgICAg ICAgICAgICAgICAgICAgICB8ICA2MyArLS0tCiA2IGZpbGVzIGNoYW5nZWQsIDQzMyBpbnNlcnRp b25zKCspLCA3MCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3RiYi9w YXRjaGVzLzAwLWh3bG9jLTIuNS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvdGJi L3BhdGNoZXMvMDEtaHdsb2MtcGtnY29uZmlnLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3Jj cGtncy90YmIvcGF0Y2hlcy9ob3N0bmFtZS11c2FnZS5wYXRjaAoKZGlmZiAtLWdpdCBhL2NvbW1v bi9zaGxpYnMgYi9jb21tb24vc2hsaWJzCmluZGV4IGE3YWZiZjJhNTZmNy4uNmI3Y2E1ZmJjMjQ5 IDEwMDY0NAotLS0gYS9jb21tb24vc2hsaWJzCisrKyBiL2NvbW1vbi9zaGxpYnMKQEAgLTIzNzYs MTIgKzIzNzYsMTAgQEAgbGliYW50aHktdW5pY29kZS5zby4wIGxpYmFudGh5LXVuaWNvZGUtMS4w LjAuMjAyMDExMDlfMQogbGliYW50aHlkaWMtdW5pY29kZS5zby4wIGxpYmFudGh5LXVuaWNvZGUt MS4wLjAuMjAyMDExMDlfMQogbGliYW50aHlpbnB1dC11bmljb2RlLnNvLjAgbGliYW50aHktdW5p Y29kZS0xLjAuMC4yMDIwMTEwOV8xCiBsaWJhbnRoeWdvYmplY3QtMS4wLnNvLjUgaWJ1cy1hbnRo eS0xLjUuNl8xCi1saWJ0YmJtYWxsb2NfcHJveHlfZGVidWcuc28uMiB0YmItNC4zXzEKIGxpYnRi Ym1hbGxvY19wcm94eS5zby4yIHRiYi00LjNfMQogbGlidGJibWFsbG9jLnNvLjIgdGJiLTQuM18x Ci1saWJ0YmJfZGVidWcuc28uMiB0YmItNC4zXzEKLWxpYnRiYi5zby4yIHRiYi00LjNfMQotbGli dGJibWFsbG9jX2RlYnVnLnNvLjIgdGJiLTQuM18xCitsaWJ0YmIuc28uMTIgdGJiLTIwMjEuMy4w XzEKK2xpYnRiYmJpbmRfMl81LnNvLjMgdGJiLTIwMjEuMy4wXzEKIGxpYmVtYnJlZS5zby4yIGVt YnJlZS0yLjUuMV8xCiBsaWJndGtpbWFnZXZpZXcuc28uMCBndGtpbWFnZXZpZXctMS42LjRfMQog bGliZ29vY2FudmFzLTIuMC5zby45IGdvb2NhbnZhcy0yLjAuNF8xCmRpZmYgLS1naXQgYS9zcmNw a2dzL3RiYi9wYXRjaGVzLzAwLWh3bG9jLTIuNS5wYXRjaCBiL3NyY3BrZ3MvdGJiL3BhdGNoZXMv MDAtaHdsb2MtMi41LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw MC4uOWM0YzkyODVjNzFkCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy90YmIvcGF0Y2hlcy8w MC1od2xvYy0yLjUucGF0Y2gKQEAgLTAsMCArMSwzNjcgQEAKK0FkanVzdGVkIGJ5IEFydHVyIFNp bmlsYSA8ZnJlZXNvZnR3YXJlQGxvZ2FyaXRobXVzLmRldj4KKworRnJvbSBlOTZkYmY0YjQ4ZTY4 OWFiODEwYjA0MjhkMDg1OGE2YWJjMmM4M2JkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJv bTogSXZhbiBLb2NoaW4gPGl2LmtvY2hpbkBnbWFpbC5jb20+CitEYXRlOiBUaHUsIDEgSnVsIDIw MjEgMTU6MDc6MzkgKzAzMDAKK1N1YmplY3Q6IFtQQVRDSF0gVXBncmFkZSBmcm9tIEhXTE9DIDIu NCB0byBIV0xPQyAyLjUgKCM0NDgpCisKKyogVXBncmFkZSBmcm9tIEhXTE9DIDIuNCB0byBIV0xP QyAyLjUKKyogSW50cm9kdWNlIHRiYmJpbmRfMl81IGxpYnJhcnkKKyogUmVtb3ZlIHRiYmJpbmRf Ml80IGxpYnJhcnkKKyogVXNlIHRoZSBIV0xPQ19UT1BPTE9HWV9GTEFHX1JFU1RSSUNUX1RPX0NQ VUJJTkRJTkcgdG9wb2xvZ3kgZmxhZyAoaW50cm9kdWNlcyBhcyBhIHBhcnQgb2YgSFdMT0MgMi41 KSB0byByZXN0cmljdCB0b3BvbG9neSBkaXNjb3ZlcmluZyB0byBwcm9jZXNzIGJpbmRpbmcKKyog Rml4IHRlc3Rpbmcgb24gTGludXgKKyogQXBwbHkgcmV2aWV3IGNvbW1lbnRzCisqIEltcHJvdmUg d29yZGluZzogdmFyaWFibGUgLT4gc3Vic3RyaW5nCisqIFVzZSByaWdodCB0YmJiaW5kIHZlcnNp b24gZm9yIGluY29tcGF0aWJsZSBod2xvY3MgdGVzdAorKiBSZXdvcmsgb3B0aW9uIHNlbWFudGlj CisqIFVwZGF0ZSBSRUFETUUubWQgZm9yIENNYWtlCisqIFJld29yayByZWFkbWUKKyogVXBkYXRl IGNtYWtlL1JFQURNRS5tZAorCitTaWduZWQtb2ZmLWJ5OiBLb2NoaW4sIEl2YW4gPGtvY2hpbi5p dmFuQGludGVsLmNvbT4KKworQ28tYXV0aG9yZWQtYnk6IEFsZWtzZWkgRmVkb3RvdiA8YWxla3Nl aS5mZWRvdG92QGludGVsLmNvbT4KKy0tLQorIENNYWtlTGlzdHMudHh0ICAgICAgICAgICAgICAg ICAgICAgICAgIHwgIDMgKystCisgY21ha2UvUkVBRE1FLm1kICAgICAgICAgICAgICAgICAgICAg ICAgfCAxMSArKysrKy0tLQorIGNtYWtlL2h3bG9jX2RldGVjdGlvbi5jbWFrZSAgICAgICAgICAg IHwgIDkgKysrKy0tLQorIHNyYy90YmIvZ292ZXJub3IuY3BwICAgICAgICAgICAgICAgICAgIHwg IDQgKy0tCisgc3JjL3RiYmJpbmQvQ01ha2VMaXN0cy50eHQgICAgICAgICAgICAgfCAgMiArLQor IHNyYy90YmJiaW5kL3RiYl9iaW5kLmNwcCAgICAgICAgICAgICAgIHwgMjMgKysrKysrKysrKyst LS0tLQorIHRlc3QvQ01ha2VMaXN0cy50eHQgICAgICAgICAgICAgICAgICAgIHwgMzAgKysrKysr KysrKy0tLS0tLS0tLS0tCisgdGVzdC9jb21tb24vY29tbW9uX2FyZW5hX2NvbnN0cmFpbnRzLmgg fCAzNyArKysrKysrKysrKysrKysrKysrKysrLS0tLQorIDggZmlsZXMgY2hhbmdlZCwgODIgaW5z ZXJ0aW9ucygrKSwgMzcgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9DTWFrZUxpc3RzLnR4 dCBiL0NNYWtlTGlzdHMudHh0CitpbmRleCAzNGEyM2Q0MDAuLjMwMTg5OWFjYSAxMDA2NDQKKy0t LSBhL0NNYWtlTGlzdHMudHh0CisrKysgYi9DTWFrZUxpc3RzLnR4dAorQEAgLTEwMCw2ICsxMDAs NyBAQCBvcHRpb24oVEJCX05PX0FQUENPTlRBSU5FUiAiQXBwbHkgL0FQUENPTlRBSU5FUjpOTyAo Zm9yIHRlc3RpbmcgYmluYXJpZXMgZm9yIFdpbgorIG9wdGlvbihUQkI0UFlfQlVJTEQgIkVuYWJs ZSB0YmI0cHkgYnVpbGQiIE9GRikKKyBvcHRpb24oVEJCX0NQRiAiRW5hYmxlIHByZXZpZXcgZmVh dHVyZXMgb2YgdGhlIGxpYnJhcnkiIE9GRikKKyBvcHRpb24oVEJCX0ZJTkRfUEFDS0FHRSAiRW5h YmxlIHNlYXJjaCBmb3IgZXh0ZXJuYWwgb25lVEJCIHVzaW5nIGZpbmRfcGFja2FnZSBpbnN0ZWFk IG9mIGJ1aWxkIGZyb20gc291cmNlcyIgT0ZGKQorK29wdGlvbihUQkJfRElTQUJMRV9IV0xPQ19B VVRPTUFUSUNfU0VBUkNIICJEaXNhYmxlIEhXTE9DIGF1dG9tYXRpYyBzZWFyY2ggYnkgcGtnLWNv bmZpZyB0b29sIiBPRkYpCisgCisgaWYgKE5PVCBERUZJTkVEIEJVSUxEX1NIQVJFRF9MSUJTKQor ICAgICBzZXQoQlVJTERfU0hBUkVEX0xJQlMgT04pCitAQCAtMTk1LDcgKzE5Niw3IEBAIGVsc2Uo KQorICAgICAgICAgYWRkX3N1YmRpcmVjdG9yeShzcmMvdGJibWFsbG9jKQorICAgICAgICAgYWRk X3N1YmRpcmVjdG9yeShzcmMvdGJibWFsbG9jX3Byb3h5KQorICAgICAgICAgaWYgKEFQUExFKQor LSAgICAgICAgICAgIG1lc3NhZ2UoU1RBVFVTICJUQkJCaW5kIGJ1aWxkIHRhcmdldCBpcyBkaXNh YmxlZCBkdWUgdG8gdW5zdXBwb3J0ZWQgZW52aXJvbm1lbnQiKQorKyAgICAgICAgICAgIG1lc3Nh Z2UoU1RBVFVTICJUQkJCaW5kIGJ1aWxkIHRhcmdldHMgYXJlIGRpc2FibGVkIGR1ZSB0byB1bnN1 cHBvcnRlZCBlbnZpcm9ubWVudCIpCisgICAgICAgICBlbHNlKCkKKyAgICAgICAgICAgICBhZGRf c3ViZGlyZWN0b3J5KHNyYy90YmJiaW5kKQorICAgICAgICAgZW5kaWYoKQorZGlmZiAtLWdpdCBh L2NtYWtlL1JFQURNRS5tZCBiL2NtYWtlL1JFQURNRS5tZAoraW5kZXggMzZmYzMwM2Y5Li5iNThj MmZmNmEgMTAwNjQ0CistLS0gYS9jbWFrZS9SRUFETUUubWQKKysrKyBiL2NtYWtlL1JFQURNRS5t ZAorQEAgLTEzLDYgKzEzLDcgQEAgVEJCNFBZX0JVSUxEOkJPT0wgLSBFbmFibGUgIEludGVsKFIp IG9uZUFQSSBUaHJlYWRpbmcgQnVpbGRpbmcgQmxvY2tzIChvbmVUQkIpIFAKKyBUQkJfQ1BGOkJP T0wgLSBFbmFibGUgcHJldmlldyBmZWF0dXJlcyBvZiB0aGUgbGlicmFyeSAoT0ZGIGJ5IGRlZmF1 bHQpCisgVEJCX0lOU1RBTExfVkFSUzpCT09MIC0gRW5hYmxlIGF1dG8tZ2VuZXJhdGVkIHZhcnMg aW5zdGFsbGF0aW9uKHBhY2thZ2VzIGdlbmVyYXRlZCBieSBgY3BhY2tgIGFuZCBgbWFrZSBpbnN0 YWxsYCB3aWxsIGFsc28gaW5jbHVkZSB0aGUgdmFycyBzY3JpcHQpKE9GRiBieSBkZWZhdWx0KQor IFRCQl9WQUxHUklORF9NRU1DSEVDSzpCT09MIC0gRW5hYmxlIHNjYW4gZm9yIG1lbW9yeSBsZWFr cyB1c2luZyBWYWxncmluZCAoT0ZGIGJ5IGRlZmF1bHQpCisrVEJCX0RJU0FCTEVfSFdMT0NfQVVU T01BVElDX1NFQVJDSCAtIERpc2FibGUgSFdMT0MgYXV0b21hdGljIHNlYXJjaCBieSBwa2ctY29u ZmlnIHRvb2wgKE9GRiBieSBkZWZhdWx0KQorIGBgYAorIAorICMjIENvbmZpZ3VyZSwgYnVpbGQg YW5kIHRlc3QKK0BAIC00Miw5ICs0Myw5IEBAIFNvbWUgdXNlZnVsIG9wdGlvbnM6CisgCisgIyMj IyBUQkJCaW5kIGxpYnJhcnkgY29uZmlndXJhdGlvbgorIAorLVRoZSBUQkJiaW5kIGxpYnJhcnkg aGFzIHR3byB2ZXJzaW9uczogYHRiYmJpbmRgIGFuZCBgdGJiYmluZF8yXzBgLiBFYWNoIG9mIHRo ZXNlIHZlcnNpb25zIGlzIGxpbmtlZCB3aXRoIGNvcnJlc3BvbmRpbmcgSFdMT0MgbGlicmFyeSB2 ZXJzaW9uOiBgdGJiYmluZGAgbGlua3Mgd2l0aCBIV0xPQyAxLjExLnggLCBgdGJiYmluZF8yXzBg IGxpbmtzIHdpdGggSFdMT0MgMi54LgorK1RoZSBUQkJiaW5kIGxpYnJhcnkgaGFzIHRocmVlIHZl cnNpb25zOiBgdGJiYmluZGAsIGB0YmJiaW5kXzJfMGAgYW5kIGB0YmJiaW5kXzJfNWAuIEVhY2gg b2YgdGhlc2UgdmVyc2lvbnMgaXMgbGlua2VkIHdpdGggY29ycmVzcG9uZGluZyBIV0xPQyBsaWJy YXJ5IHZlcnNpb246IGB0YmJiaW5kYCBsaW5rcyB3aXRoIEhXTE9DIDEuMTEueCAsIGB0YmJiaW5k XzJfMGAgbGlua3Mgd2l0aCBIV0xPQyAyLjEtMi40LCBgdGJiYmluZF8yXzVgIGxpbmtzIHdpdGgg SFdMT0MgMi41IGFuZCBsYXRlci4KKyAKKy1UbyBlbmFibGUgdGhlIFRCQkJpbmQgbGlicmFyeSBi dWlsZCBvciBzcGVjaWFsIHRlc3RzIHRoYXQgcGVyZm9ybWVkIGluc2lkZSB0aGUgSFdMT0MgZW52 aXJvbm1lbnQsIHBsZWFzZSBzcGVjaWZ5IHRoZSBmb2xsb3dpbmcgQ01ha2UgdmFyaWFibGVzOgor K1RoZSBzZWFyY2ggZm9yIGEgc3VpdGFibGUgdmVyc2lvbiBvZiB0aGUgSFdMT0MgbGlicmFyeSBp cyBlbmFibGVkIGJ5IGRlZmF1bHQsIGJ1dCBpZiB5b3Ugd2FudCB0byB1c2UgYSBzcGVjaWZpYyB2 ZXJzaW9uIG9mIHRoZSBsaWJyYXJ5LCB5b3UgY2FuIHNwZWNpZnkgdGhlIHBhdGggdG8gaXQgbWFu dWFsbHkgdXNpbmcgdGhlIGZvbGxvd2luZyBDTWFrZSB2YXJpYWJsZXM6CisgCisgIC0gYENNQUtF X0hXTE9DXzxIV0xPQ19WRVI+X0xJQlJBUllfUEFUSGAgLSBwYXRoIHRvIHRoZSBjb3JyZXNwb25k aW5nIEhXTE9DIHZlcnNpb24gc2hhcmVkIGxpYnJhcnkgb24gTGludXggb3IgcGF0aCB0byBgLmxp YmAgZmlsZSBvbiBXaW5kb3dzLgorICAtIGBDTUFLRV9IV0xPQ188SFdMT0NfVkVSPl9JTkNMVURF X1BBVEhgIC0gcGF0aCB0byB0aGUgY29ycmVzcG9uZGluZyBIV0xPQyB2ZXJzaW9uIGluY2x1ZGVz IGRpcmVjdG9yeS4KK0BAIC01Miw3ICs1MywxMSBAQCBUbyBlbmFibGUgdGhlIFRCQkJpbmQgbGli cmFyeSBidWlsZCBvciBzcGVjaWFsIHRlc3RzIHRoYXQgcGVyZm9ybWVkIGluc2lkZSB0aGUgSAor IFdpbmRvd3MgcmVxdWlyZXMgb25lIGFkZGl0aW9uYWwgdmFyaWFibGUgZm9yIGNvcnJlY3QgVEJC QmluZCBsaWJyYXJ5IGJ1aWxkaW5nOgorICAtIGBDTUFLRV9IV0xPQ188SFdMT0NfVkVSPl9ETExf UEFUSGAgLSBwYXRoIHRvIHRoZSBjb3JyZXNwb25kaW5nIEhXTE9DIHZlcnNpb24gYC5kbGxgIGZp bGUuCisgCistYEhXTE9DX1ZFUmAgdmFyaWFibGUgdXNlZCBhYm92ZSBjYW4gYmUgcmVwbGFjZWQg d2l0aCBvbmUgb2YgdGhlIHR3byB2YWx1ZXM6IGAxXzExYCBmb3IgdGhlIGB0YmJiaW5kYCBsaWJy YXJ5IGNvbmZpZ3VyYXRpb24gYW5kIGAyYCBmb3IgdGhlIGB0YmJiaW5kXzJfMGAgbGlicmFyeSBj b25maWd1cmF0aW9uLgorK2BIV0xPQ19WRVJgIHN1YnN0cmluZyB1c2VkIGFib3ZlIGNhbiBiZSBy ZXBsYWNlZCB3aXRoIG9uZSBvZiB0aGUgdGhyZWUgdmFsdWVzOiBgMV8xMWAgZm9yIHRoZSBgdGJi YmluZGAgbGlicmFyeSBjb25maWd1cmF0aW9uLCBgMmAgZm9yIHRoZSBgdGJiYmluZF8yXzBgLCBh bmQgYDJfNWAgZm9yIHRoZSBgdGJiYmluZF8yXzVgIGxpYnJhcnkgY29uZmlndXJhdGlvbi4KKysK KytJZiB5b3Ugc3BlY2lmeSB2YXJpYWJsZXMgZm9yIHNldmVyYWwgVEJCQmluZCB2ZXJzaW9ucywg dGhlbiBidWlsZGluZyBwcm9jZXNzIGZvciBhbGwgb2YgdGhlc2UgdmVyc2lvbnMgd2lsbCBiZSBw ZXJmb3JtZWQgZHVyaW5nIHNpbmdsZSBidWlsZCBzZXNzaW9uLgorKworK1NwZWNpZnkgdGhlIGBU QkJfRElTQUJMRV9IV0xPQ19BVVRPTUFUSUNfU0VBUkNIYCB0byBkaXNhYmxlIEhXTE9DIGxpYnJh cmllcyBhdXRvbWF0aWMgc2VhcmNoLgorIAorICMjIyBCdWlsZAorIAorZGlmZiAtLWdpdCBhL2Nt YWtlL2h3bG9jX2RldGVjdGlvbi5jbWFrZSBiL2NtYWtlL2h3bG9jX2RldGVjdGlvbi5jbWFrZQor aW5kZXggZTFlZWNhNWZhLi5kZTdmM2MwNDcgMTAwNjQ0CistLS0gYS9jbWFrZS9od2xvY19kZXRl Y3Rpb24uY21ha2UKKysrKyBiL2NtYWtlL2h3bG9jX2RldGVjdGlvbi5jbWFrZQorQEAgLTEyLDcg KzEyLDcgQEAKKyAjIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdv dmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAjIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNl LgorIAorLWxpc3QoQVBQRU5EIEhXTE9DX1JFUVVJUkVEX1ZFUlNJT05TIDFfMTEgMiAyXzQpCisr bGlzdChBUFBFTkQgSFdMT0NfUkVRVUlSRURfVkVSU0lPTlMgMV8xMSAyIDJfNSkKKyAKKyBmb3Jl YWNoKGh3bG9jX3ZlcnNpb24gJHtIV0xPQ19SRVFVSVJFRF9WRVJTSU9OU30pCisgICAgIGlmIChO T1QgV0lOMzIpCitAQCAtNTUsMTAgKzU2LDEwIEBAIGlmIChOT1QgSFdMT0NfVEFSR0VUX0VYUExJ Q0lUTFlfREVGSU5FRCBBTkQKKyAgICAgICAgIGlmIChIV0xPQ19GT1VORCkKKyAgICAgICAgICAg ICBpZiAoSFdMT0NfVkVSU0lPTiBWRVJTSU9OX0xFU1MgMikKKyAgICAgICAgICAgICAgICAgc2V0 KFRCQkJJTkRfTElCUkFSWV9OQU1FIHRiYmJpbmQpCistICAgICAgICAgICAgZWxzZWlmKEhXTE9D X1ZFUlNJT04gVkVSU0lPTl9MRVNTIDIuNCkKKysgICAgICAgICAgICBlbHNlaWYoSFdMT0NfVkVS U0lPTiBWRVJTSU9OX0xFU1MgMi41KQorICAgICAgICAgICAgICAgICBzZXQoVEJCQklORF9MSUJS QVJZX05BTUUgdGJiYmluZF8yXzApCisgICAgICAgICAgICAgZWxzZSgpCistICAgICAgICAgICAg ICAgIHNldChUQkJCSU5EX0xJQlJBUllfTkFNRSB0YmJiaW5kXzJfNCkKKysgICAgICAgICAgICAg ICAgc2V0KFRCQkJJTkRfTElCUkFSWV9OQU1FIHRiYmJpbmRfMl81KQorICAgICAgICAgICAgIGVu ZGlmKCkKKyAgICAgICAgIGVuZGlmKCkKKyAgICAgZW5kaWYoKQorZGlmZiAtLWdpdCBhL3NyYy90 YmIvZ292ZXJub3IuY3BwIGIvc3JjL3RiYi9nb3Zlcm5vci5jcHAKK2luZGV4IGJmNGU0MDJkMS4u Yjg0MmUwNzVmIDEwMDY0NAorLS0tIGEvc3JjL3RiYi9nb3Zlcm5vci5jcHAKKysrKyBiL3NyYy90 YmIvZ292ZXJub3IuY3BwCitAQCAtMzYyLDcgKzM2Miw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25l ZCBMaW5rVGFibGVTaXplID0gc2l6ZW9mKFRiYkJpbmRMaW5rVGFibGUpIC8gc2l6ZW9mKGR5bmFt aWNfCisgCisgI2RlZmluZSBUQkJCSU5EX05BTUUgTElCUkFSWV9QUkVGSVggInRiYmJpbmQiIERF QlVHX1NVRkZJWCBMSUJSQVJZX0VYVEVOU0lPTgorICNkZWZpbmUgVEJCQklORF8yXzBfTkFNRSBM SUJSQVJZX1BSRUZJWCAidGJiYmluZF8yXzAiIERFQlVHX1NVRkZJWCBMSUJSQVJZX0VYVEVOU0lP TgorLSNkZWZpbmUgVEJCQklORF8yXzRfTkFNRSBMSUJSQVJZX1BSRUZJWCAidGJiYmluZF8yXzQi IERFQlVHX1NVRkZJWCBMSUJSQVJZX0VYVEVOU0lPTgorKyNkZWZpbmUgVEJCQklORF8yXzVfTkFN RSBMSUJSQVJZX1BSRUZJWCAidGJiYmluZF8yXzUiIERFQlVHX1NVRkZJWCBMSUJSQVJZX0VYVEVO U0lPTgorICNlbmRpZiAvKiBfV0lOMzIgfHwgX1dJTjY0IHx8IF9fbGludXhfXyAqLworIAorIC8v IFJlcHJlc2VudGF0aW9uIG9mIHN5c3RlbSBoYXJkd2FyZSB0b3BvbG9neSBpbmZvcm1hdGlvbiBv biB0aGUgVEJCIHNpZGUuCitAQCAtMzg5LDcgKzM4OSw3IEBAIGNvbnN0IGNoYXIqIGxvYWRfdGJi YmluZF9zaGFyZWRfb2JqZWN0KCkgeworICAgICBHZXROYXRpdmVTeXN0ZW1JbmZvKCZzaSk7Cisg ICAgIGlmIChzaS5kd051bWJlck9mUHJvY2Vzc29ycyA+IDMyKSByZXR1cm4gbnVsbHB0cjsKKyAj ZW5kaWYgLyogX1dJTjMyICYmICFfV0lONjQgKi8KKy0gICAgZm9yIChjb25zdCBhdXRvJiB0YmJi aW5kX3ZlcnNpb24gOiB7VEJCQklORF8yXzRfTkFNRSwgVEJCQklORF8yXzBfTkFNRSwgVEJCQklO RF9OQU1FfSkgeworKyAgICBmb3IgKGNvbnN0IGF1dG8mIHRiYmJpbmRfdmVyc2lvbiA6IHtUQkJC SU5EXzJfNV9OQU1FLCBUQkJCSU5EXzJfMF9OQU1FLCBUQkJCSU5EX05BTUV9KSB7CisgICAgICAg ICBpZiAoZHluYW1pY19saW5rKHRiYmJpbmRfdmVyc2lvbiwgVGJiQmluZExpbmtUYWJsZSwgTGlu a1RhYmxlU2l6ZSkpIHsKKyAgICAgICAgICAgICByZXR1cm4gdGJiYmluZF92ZXJzaW9uOworICAg ICAgICAgfQorZGlmZiAtLWdpdCBhL3NyYy90YmJiaW5kL0NNYWtlTGlzdHMudHh0IGIvc3JjL3Ri YmJpbmQvQ01ha2VMaXN0cy50eHQKK2luZGV4IDAyOTg5Mzc1MS4uZTVjZGJmOGJiIDEwMDY0NAor LS0tIGEvc3JjL3RiYmJpbmQvQ01ha2VMaXN0cy50eHQKKysrKyBiL3NyYy90YmJiaW5kL0NNYWtl TGlzdHMudHh0CitAQCAtOTksNyArOTksNyBAQCBpZiAoTk9UIERFRklORUQgSFdMT0NfVEFSR0VU X0VYUExJQ0lUTFlfREVGSU5FRCBBTkQgREVGSU5FRCBIV0xPQ19MSUJSQVJJRVMpCisgZWxzZSgp CisgICAgIHRiYmJpbmRfYnVpbGQodGJiYmluZCAgICAgSFdMT0M6Omh3bG9jXzFfMTEpCisgICAg IHRiYmJpbmRfYnVpbGQodGJiYmluZF8yXzAgSFdMT0M6Omh3bG9jXzIgICApCistICAgIHRiYmJp bmRfYnVpbGQodGJiYmluZF8yXzQgSFdMT0M6Omh3bG9jXzJfNCApCisrICAgIHRiYmJpbmRfYnVp bGQodGJiYmluZF8yXzUgSFdMT0M6Omh3bG9jXzJfNSApCisgZW5kaWYoKQorIAorIAorZGlmZiAt LWdpdCBhL3NyYy90YmJiaW5kL3RiYl9iaW5kLmNwcCBiL3NyYy90YmJiaW5kL3RiYl9iaW5kLmNw cAoraW5kZXggOTdiZTMwOGM3Li44OGM5NTZhY2IgMTAwNjQ0CistLS0gYS9zcmMvdGJiYmluZC90 YmJfYmluZC5jcHAKKysrKyBiL3NyYy90YmJiaW5kL3RiYl9iaW5kLmNwcAorQEAgLTM0LDcgKzM0 LDggQEAKKyAjcHJhZ21hIEdDQyBkaWFnbm9zdGljIHBvcAorICNlbmRpZgorIAorLSNkZWZpbmUg X19IV0xPQ19IWUJSSURfQ1BVU19JTlRFUkZBQ0VTX1BSRVNFTlQgKEhXTE9DX0FQSV9WRVJTSU9O ID49IDB4MjA0MDApCisrI2RlZmluZSBfX1RCQkJJTkRfSFdMT0NfSFlCUklEX0NQVVNfSU5URVJG QUNFU19QUkVTRU5UIChIV0xPQ19BUElfVkVSU0lPTiA+PSAweDIwNDAwKQorKyNkZWZpbmUgX19U QkJCSU5EX0hXTE9DX1RPUE9MT0dZX0ZMQUdfUkVTVFJJQ1RfVE9fQ1BVQklORElOR19QUkVTRU5U IChIV0xPQ19BUElfVkVSU0lPTiA+PSAweDIwNTAwKQorIAorIC8vIE1vc3Qgb2YgaHdsb2MgY2Fs bHMgcmV0dXJucyBuZWdhdGl2ZSBleGl0IGNvZGUgb24gZXJyb3IuCisgLy8gVGhpcyBtYWNybyB0 cmFja3MgZXJyb3IgY29kZXMgdGhhdCBhcmUgcmV0dXJuZWQgZnJvbSB0aGUgaHdsb2MgaW50ZXJm YWNlcy4KK0BAIC04NSw2ICs4NiwxNiBAQCBjbGFzcyBwbGF0Zm9ybV90b3BvbG9neSB7CisgICAg ICAgICAvLyBQYXJzZSB0b3BvbG9neQorICAgICAgICAgaWYgKCBod2xvY190b3BvbG9neV9pbml0 KCAmdG9wb2xvZ3kgKSA9PSAwICkgeworICAgICAgICAgICAgIGluaXRpYWxpemF0aW9uX3N0YXRl ID0gdG9wb2xvZ3lfYWxsb2NhdGVkOworKyNpZiBfX1RCQkJJTkRfSFdMT0NfVE9QT0xPR1lfRkxB R19SRVNUUklDVF9UT19DUFVCSU5ESU5HX1BSRVNFTlQKKysgICAgICAgICAgICBpZiAoIGdyb3Vw c19udW0gPT0gMSAmJgorKyAgICAgICAgICAgICAgICAgaHdsb2NfdG9wb2xvZ3lfc2V0X2ZsYWdz KHRvcG9sb2d5LAorKyAgICAgICAgICAgICAgICAgICAgIEhXTE9DX1RPUE9MT0dZX0ZMQUdfSVNf VEhJU1NZU1RFTSB8CisrICAgICAgICAgICAgICAgICAgICAgSFdMT0NfVE9QT0xPR1lfRkxBR19S RVNUUklDVF9UT19DUFVCSU5ESU5HCisrICAgICAgICAgICAgICAgICApICE9IDAKKysgICAgICAg ICAgICApIHsKKysgICAgICAgICAgICAgICAgcmV0dXJuOworKyAgICAgICAgICAgIH0KKysjZW5k aWYKKyAgICAgICAgICAgICBpZiAoIGh3bG9jX3RvcG9sb2d5X2xvYWQoIHRvcG9sb2d5ICkgPT0g MCApIHsKKyAgICAgICAgICAgICAgICAgaW5pdGlhbGl6YXRpb25fc3RhdGUgPSB0b3BvbG9neV9s b2FkZWQ7CisgICAgICAgICAgICAgfQorQEAgLTEzNSw3ICsxNDYsNyBAQCBjbGFzcyBwbGF0Zm9y bV90b3BvbG9neSB7CisgICAgICAgICAgICAgbnVtYV9pbmRleGVzX2xpc3QucmVzaXplKG51bWFf bm9kZXNfY291bnQpOworICAgICAgICAgICAgIGh3bG9jX29ial90IG5vZGVfYnVmZmVyOworICAg ICAgICAgICAgIGh3bG9jX2JpdG1hcF9mb3JlYWNoX2JlZ2luKGksIHByb2Nlc3Nfbm9kZV9hZmZp bml0eV9tYXNrKSB7CistICAgICAgICAgICAgICAgIG5vZGVfYnVmZmVyID0gaHdsb2NfZ2V0X29i al9ieV90eXBlKHRvcG9sb2d5LCBIV0xPQ19PQkpfTlVNQU5PREUsIGkpOworKyAgICAgICAgICAg ICAgICBub2RlX2J1ZmZlciA9IGh3bG9jX2dldF9udW1hbm9kZV9vYmpfYnlfb3NfaW5kZXgodG9w b2xvZ3ksIGkpOworICAgICAgICAgICAgICAgICBudW1hX2luZGV4ZXNfbGlzdFtjb3VudGVyXSA9 IHN0YXRpY19jYXN0PGludD4obm9kZV9idWZmZXItPmxvZ2ljYWxfaW5kZXgpOworIAorICAgICAg ICAgICAgICAgICBpZiAoIG51bWFfaW5kZXhlc19saXN0W2NvdW50ZXJdID4gbWF4X251bWFfaW5k ZXggKSB7CitAQCAtMTUwLDcgKzE2MSw3IEBAIGNsYXNzIHBsYXRmb3JtX3RvcG9sb2d5IHsKKyAg ICAgICAgICAgICBudW1hX2FmZmluaXR5X21hc2tzX2xpc3QucmVzaXplKG1heF9udW1hX2luZGV4 ICsgMSk7CisgICAgICAgICAgICAgaW50IGluZGV4ID0gMDsKKyAgICAgICAgICAgICBod2xvY19i aXRtYXBfZm9yZWFjaF9iZWdpbihpLCBwcm9jZXNzX25vZGVfYWZmaW5pdHlfbWFzaykgeworLSAg ICAgICAgICAgICAgICBub2RlX2J1ZmZlciA9IGh3bG9jX2dldF9vYmpfYnlfdHlwZSh0b3BvbG9n eSwgSFdMT0NfT0JKX05VTUFOT0RFLCBpKTsKKysgICAgICAgICAgICAgICAgbm9kZV9idWZmZXIg PSBod2xvY19nZXRfbnVtYW5vZGVfb2JqX2J5X29zX2luZGV4KHRvcG9sb2d5LCBpKTsKKyAgICAg ICAgICAgICAgICAgaW5kZXggPSBzdGF0aWNfY2FzdDxpbnQ+KG5vZGVfYnVmZmVyLT5sb2dpY2Fs X2luZGV4KTsKKyAKKyAgICAgICAgICAgICAgICAgaHdsb2NfY3B1c2V0X3QmIGN1cnJlbnRfbWFz ayA9IG51bWFfYWZmaW5pdHlfbWFza3NfbGlzdFtpbmRleF07CitAQCAtMTY4LDcgKzE3OSw3IEBA IGNsYXNzIHBsYXRmb3JtX3RvcG9sb2d5IHsKKyAgICAgICAgICAgICBjb3JlX3R5cGVzX2luZGV4 ZXNfbGlzdC5wdXNoX2JhY2soLTEpOworICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgIH0K Ky0jaWYgX19IV0xPQ19IWUJSSURfQ1BVU19JTlRFUkZBQ0VTX1BSRVNFTlQKKysjaWYgX19UQkJC SU5EX0hXTE9DX0hZQlJJRF9DUFVTX0lOVEVSRkFDRVNfUFJFU0VOVAorICAgICAgICAgX19UQkJf QVNTRVJUKGh3bG9jX2dldF9hcGlfdmVyc2lvbigpID49IDB4MjA0MDAsICJIeWJyaWQgQ1BVcyBz dXBwb3J0IGludGVyZmFjZXMgcmVxdWlyZWQgSFdMT0MgPj0gMi40Iik7CisgICAgICAgICAvLyBQ YXJzaW5nIHRoZSBoeWJyaWQgQ1BVIHRvcG9sb2d5CisgICAgICAgICBpbnQgY29yZV90eXBlc19u dW1iZXIgPSBod2xvY19jcHVraW5kc19nZXRfbnIodG9wb2xvZ3ksIDApOworQEAgLTE5Niw5ICsy MDcsOSBAQCBjbGFzcyBwbGF0Zm9ybV90b3BvbG9neSB7CisgICAgICAgICAgICAgICAgIH0KKyAg ICAgICAgICAgICB9CisgICAgICAgICB9CistI2Vsc2UgLyohX19IV0xPQ19IWUJSSURfQ1BVU19J TlRFUkZBQ0VTX1BSRVNFTlQqLworKyNlbHNlIC8qIV9fVEJCQklORF9IV0xPQ19IWUJSSURfQ1BV U19JTlRFUkZBQ0VTX1BSRVNFTlQqLworICAgICAgICAgYm9vbCBjb3JlX3R5cGVzX3BhcnNpbmdf YnJva2Vue3RydWV9OworLSNlbmRpZiAvKl9fSFdMT0NfSFlCUklEX0NQVVNfSU5URVJGQUNFU19Q UkVTRU5UKi8KKysjZW5kaWYgLypfX1RCQkJJTkRfSFdMT0NfSFlCUklEX0NQVVNfSU5URVJGQUNF U19QUkVTRU5UKi8KKyAKKyAgICAgICAgIGlmIChjb3JlX3R5cGVzX3BhcnNpbmdfYnJva2VuKSB7 CisgICAgICAgICAgICAgZm9yIChhdXRvJiBjb3JlX3R5cGVfbWFzayA6IGNvcmVfdHlwZXNfYWZm aW5pdHlfbWFza3NfbGlzdCkgeworZGlmZiAtLWdpdCBhL3Rlc3QvQ01ha2VMaXN0cy50eHQgYi90 ZXN0L0NNYWtlTGlzdHMudHh0CitpbmRleCBiZGFlOWUyYjEuLmMyYjlkNmRiYSAxMDA2NDQKKy0t LSBhL3Rlc3QvQ01ha2VMaXN0cy50eHQKKysrKyBiL3Rlc3QvQ01ha2VMaXN0cy50eHQKK0BAIC0y NzUsOSArMjc1LDkgQEAgZnVuY3Rpb24odGJiX2FkZF90YmJiaW5kX3Rlc3QpCisgICAgICAgICBG QUlMX1JFR1VMQVJfRVhQUkVTU0lPTiAiU3RhdHVzOi4qRkFJTFVSRSIKKyAgICAgKQorIAorLSAg ICBpZiAoVEFSR0VUIEhXTE9DOjpod2xvY18yXzQgQU5EIE5PVCBIV0xPQ18yXzRfVEVTVFNfU1RB VFVTX1NIT1dOKQorLSAgICAgICAgbWVzc2FnZShTVEFUVVMgIkhXTE9DIDIuNCBkZXBlbmRlbnQg dGVzdHMgd2VyZSBlbmFibGVkLiIpCistICAgICAgICBzZXQoSFdMT0NfMl80X1RFU1RTX1NUQVRV U19TSE9XTiBUUlVFIFBBUkVOVF9TQ09QRSkKKysgICAgaWYgKFRBUkdFVCBIV0xPQzo6aHdsb2Nf Ml81IEFORCBOT1QgSFdMT0NfMl81X1RFU1RTX1NUQVRVU19TSE9XTikKKysgICAgICAgIG1lc3Nh Z2UoU1RBVFVTICJIV0xPQyAyLjUgZGVwZW5kZW50IHRlc3RzIHdlcmUgZW5hYmxlZC4iKQorKyAg ICAgICAgc2V0KEhXTE9DXzJfNV9URVNUU19TVEFUVVNfU0hPV04gVFJVRSBQQVJFTlRfU0NPUEUp CisgICAgIGVuZGlmKCkKKyAKKyAgICAgaWYgKFRBUkdFVCBIV0xPQzo6aHdsb2NfMiBBTkQgTk9U IEhXTE9DXzJfVEVTVFNfU1RBVFVTX1NIT1dOKQorQEAgLTI5MSwyMiArMjkxLDIyIEBAIGZ1bmN0 aW9uKHRiYl9hZGRfdGJiYmluZF90ZXN0KQorICAgICBlbmRpZigpCisgCisgICAgIGxpc3QoQVBQ RU5EIEhXTE9DX1RFU1RfQ0FTRVMKKy0gICAgICAgIGh3bG9jXzJfNAorKyAgICAgICAgaHdsb2Nf Ml81CisgICAgICAgICBod2xvY18yCisgICAgICAgICBod2xvY18xXzExCistICAgICAgICBod2xv Y18yXzRfaHdsb2NfMgorLSAgICAgICAgaHdsb2NfMl80X2h3bG9jXzFfMTEKKysgICAgICAgIGh3 bG9jXzJfNV9od2xvY18yCisrICAgICAgICBod2xvY18yXzVfaHdsb2NfMV8xMQorICAgICAgICAg aHdsb2NfMl9od2xvY18xXzExCistICAgICAgICBod2xvY18yXzRfaHdsb2NfMl9od2xvY18xXzEx CisrICAgICAgICBod2xvY18yXzVfaHdsb2NfMl9od2xvY18xXzExCisgICAgICkKKyAKKy0gICAg bGlzdChBUFBFTkQgSFdMT0NfVEVTVF9DQVNFXzBfVkFSUyB0YmJiaW5kXzJfNCAiaHdsb2NfMl80 IikKKysgICAgbGlzdChBUFBFTkQgSFdMT0NfVEVTVF9DQVNFXzBfVkFSUyB0YmJiaW5kXzJfNSAi aHdsb2NfMl81IikKKyAgICAgbGlzdChBUFBFTkQgSFdMT0NfVEVTVF9DQVNFXzFfVkFSUyB0YmJi aW5kXzIgICAiaHdsb2NfMiIpCisgICAgIGxpc3QoQVBQRU5EIEhXTE9DX1RFU1RfQ0FTRV8yX1ZB UlMgdGJiYmluZCAgICAgImh3bG9jXzFfMTEiKQorLSAgICBsaXN0KEFQUEVORCBIV0xPQ19URVNU X0NBU0VfM19WQVJTIHRiYmJpbmRfMl80ICJod2xvY18yXzQsaHdsb2NfMiIpCistICAgIGxpc3Qo QVBQRU5EIEhXTE9DX1RFU1RfQ0FTRV80X1ZBUlMgdGJiYmluZF8yXzQgImh3bG9jXzJfNCxod2xv Y18xXzExIikKKysgICAgbGlzdChBUFBFTkQgSFdMT0NfVEVTVF9DQVNFXzNfVkFSUyB0YmJiaW5k XzJfNSAiaHdsb2NfMl81LGh3bG9jXzIiKQorKyAgICBsaXN0KEFQUEVORCBIV0xPQ19URVNUX0NB U0VfNF9WQVJTIHRiYmJpbmRfMl81ICJod2xvY18yXzUsaHdsb2NfMV8xMSIpCisgICAgIGxpc3Qo QVBQRU5EIEhXTE9DX1RFU1RfQ0FTRV81X1ZBUlMgdGJiYmluZF8yICAgImh3bG9jXzIsaHdsb2Nf MV8xMSIpCistICAgIGxpc3QoQVBQRU5EIEhXTE9DX1RFU1RfQ0FTRV82X1ZBUlMgdGJiYmluZF8y XzQgImh3bG9jXzJfNCxod2xvY18yLGh3bG9jXzFfMTEiKQorKyAgICBsaXN0KEFQUEVORCBIV0xP Q19URVNUX0NBU0VfNl9WQVJTIHRiYmJpbmRfMl81ICJod2xvY18yXzUsaHdsb2NfMixod2xvY18x XzExIikKKyAKKyAgICAgZm9yZWFjaChURVNUX0NBU0UgJHtIV0xPQ19URVNUX0NBU0VTfSkKKyAg ICAgICAgIGxpc3QoRklORCBIV0xPQ19URVNUX0NBU0VTICR7VEVTVF9DQVNFfSBURVNUX0NBU0Vf SU5ERVgpCitAQCAtMzMxLDcgKzMzMSw3IEBAIGVuZGZ1bmN0aW9uKCkKKyAjIENvcHkgbGlicmFy aWVzIHRvIHRlc3QgZm9sZGVyIHRvIG1ha2UgaXQgdmlzaWJsZSBkdXJpbmcgdGVzdHMgZXhlY3V0 aW9uIGlmIGV4dGVybmFsIFRCQiBpcyB0ZXN0ZWQuCisgIyBUT0RPOiBjaGVjayBhbmQgdXBkYXRl IGZvciBtdWx0aS1jb25maWcgZ2VuZXJhdG9ycy4KKyBpZiAoVEJCX0ZPVU5EKQorLSAgICBsaXN0 KEFQUEVORCBfdGJiX3Rlc3RfY29tcG9uZW50cyB0YmIgdGJibWFsbG9jIHRiYm1hbGxvY19wcm94 eSB0YmJiaW5kIHRiYmJpbmRfMl8wIHRiYmJpbmRfMl80KQorKyAgICBsaXN0KEFQUEVORCBfdGJi X3Rlc3RfY29tcG9uZW50cyB0YmIgdGJibWFsbG9jIHRiYm1hbGxvY19wcm94eSB0YmJiaW5kIHRi YmJpbmRfMl8wIHRiYmJpbmRfMl81KQorICAgICBmb3JlYWNoKF9jb21wb25lbnQgJHtfdGJiX3Rl c3RfY29tcG9uZW50c30pCisgICAgICAgICBpZiAoVEFSR0VUIFRCQjo6JHtfY29tcG9uZW50fSkK KyAgICAgICAgICAgICBnZXRfcHJvcGVydHkoJHtfY29tcG9uZW50fV9saWJfZmlsZV9sb2NhdGlv biBUQVJHRVQgVEJCOjoke19jb21wb25lbnR9IFBST1BFUlRZIExPQ0FUSU9OKQorQEAgLTU5Myw2 ICs1OTMsNiBAQCBpZiAoTk9UICIke0NNQUtFX1NZU1RFTV9QUk9DRVNTT1J9IiBNQVRDSEVTICJt aXBzIikKKyAgICAgdGJiX2FkZF90ZXN0KFNVQkRJUiB0YmJtYWxsb2MgTkFNRSB0ZXN0X21hbGxv Y19uZXdfaGFuZGxlciBERVBFTkRFTkNJRVMgVEJCOjp0YmJtYWxsb2NfcHJveHkpCisgZW5kaWYo KQorIAorLXVuc2V0KEhXTE9DXzJfNF9URVNUU19TVEFUVVNfU0hPV04pCisrdW5zZXQoSFdMT0Nf Ml81X1RFU1RTX1NUQVRVU19TSE9XTikKKyB1bnNldChIV0xPQ18yX1RFU1RTX1NUQVRVU19TSE9X TikKKyB1bnNldChIV0xPQ18xXzExX1RFU1RTX1NUQVRVU19TSE9XTikKK2RpZmYgLS1naXQgYS90 ZXN0L2NvbW1vbi9jb21tb25fYXJlbmFfY29uc3RyYWludHMuaCBiL3Rlc3QvY29tbW9uL2NvbW1v bl9hcmVuYV9jb25zdHJhaW50cy5oCitpbmRleCAyYTBiMWVhOTcuLjVlZmM3MTA4MiAxMDA2NDQK Ky0tLSBhL3Rlc3QvY29tbW9uL2NvbW1vbl9hcmVuYV9jb25zdHJhaW50cy5oCisrKysgYi90ZXN0 L2NvbW1vbi9jb21tb25fYXJlbmFfY29uc3RyYWludHMuaAorQEAgLTM4LDkgKzM4LDI2IEBACisg CisgI2lmIChfV0lOMzIgfHwgX1dJTjY0KSAmJiBfX1RCQl9IV0xPQ19WQUxJRF9FTlZJUk9OTUVO VAorICNpbmNsdWRlIDx3aW5kb3dzLmg+CistaW50IGdldF9wcm9jZXNzb3JzX2dyb3Vwc19jb3Vu dCgpIHsgcmV0dXJuIEdldEFjdGl2ZVByb2Nlc3Nvckdyb3VwQ291bnQoKTsgfQorK2ludCBnZXRf cHJvY2Vzc29yc19ncm91cF9jb3VudCgpIHsKKysgICAgU1lTVEVNX0lORk8gc2k7CisrICAgIEdl dE5hdGl2ZVN5c3RlbUluZm8oJnNpKTsKKysgICAgRFdPUkRfUFRSIHBhbSwgc2FtLCBtID0gMTsK KysgICAgR2V0UHJvY2Vzc0FmZmluaXR5TWFzayggR2V0Q3VycmVudFByb2Nlc3MoKSwgJnBhbSwg JnNhbSApOworKyAgICBpbnQgbnByb2MgPSAwOworKyAgICBmb3IgKCBzdGQ6OnNpemVfdCBpID0g MDsgaSA8IHNpemVvZihEV09SRF9QVFIpICogQ0hBUl9CSVQ7ICsraSwgbSA8PD0gMSApIHsKKysg ICAgICAgIGlmICggcGFtICYgbSApCisrICAgICAgICAgICAgKytucHJvYzsKKysgICAgfQorKyAg ICAvLyBTZXR0aW5nIHVwIHByb2Nlc3NvciBncm91cHMgaW4gY2FzZSB0aGUgcHJvY2VzcyBkb2Vz IG5vdCByZXN0cmljdCBhZmZpbml0eSBtYXNrIGFuZCBtb3JlIHRoYW4gb25lIHByb2Nlc3NvciBn cm91cCBpcyBwcmVzZW50CisrICAgIGlmICggbnByb2MgPT0gKGludClzaS5kd051bWJlck9mUHJv Y2Vzc29ycyAgKSB7CisrICAgICAgICAvLyBUaGUgcHJvY2VzcyBkb2VzIG5vdCBoYXZlIHJlc3Ry aWN0aW5nIGFmZmluaXR5IG1hc2sgYW5kIG11bHRpcGxlIHByb2Nlc3NvciBncm91cHMgYXJlIHBv c3NpYmxlCisrICAgICAgICByZXR1cm4gKGludClHZXRBY3RpdmVQcm9jZXNzb3JHcm91cENvdW50 KCk7CisrICAgIH0gZWxzZSB7CisrICAgICAgICByZXR1cm4gMTsKKysgICAgfQorK30KKyAjZWxz ZQorLWludCBnZXRfcHJvY2Vzc29yc19ncm91cHNfY291bnQoKSB7IHJldHVybiAxOyB9CisraW50 IGdldF9wcm9jZXNzb3JzX2dyb3VwX2NvdW50KCkgeyByZXR1cm4gMTsgfQorICNlbmRpZgorIAor IC8vVE9ETzogV3JpdGUgYSB0ZXN0IHRoYXQgY2hlY2tzIGZvciBtZW1vcnkgbGVha3MgZHVyaW5n IGR5bmFtaWMgbGluay91bmxpbmsgb2YgVEJCYmluZC4KK0BAIC02OSw2ICs4Niw3IEBAIGludCBn ZXRfcHJvY2Vzc29yc19ncm91cHNfY291bnQoKSB7IHJldHVybiAxOyB9CisgI2VuZGlmCisgCisg I2RlZmluZSBfX0hXTE9DX0hZQlJJRF9DUFVTX0lOVEVSRkFDRVNfUFJFU0VOVCAoSFdMT0NfQVBJ X1ZFUlNJT04gPj0gMHgyMDQwMCkKKysjZGVmaW5lIF9fSFdMT0NfVE9QT0xPR1lfRkxBR19SRVNU UklDVF9UT19DUFVCSU5ESU5HX1BSRVNFTlQgKEhXTE9DX0FQSV9WRVJTSU9OID49IDB4MjA1MDAp CisgLy8gQXQgdGhpcyBtb21lbnQgdGhlIGh5YnJpZCBDUFVzIEhXTE9DIGludGVyZmFjZXMgcmV0 dXJucyB1bmV4cGVjdGVkIHJlc3VsdHMgb24gc29tZSBXaW5kb3dzIG1hY2hpbmVzCisgLy8gaW4g dGhlIDMyLWJpdCBhcmNoIG1vZGUuCisgI2RlZmluZSBfX0hXTE9DX0hZQlJJRF9DUFVTX0lOVEVS RkFDRVNfVkFMSUQgKCFfV0lOMzIgfHwgX1dJTjY0KQorQEAgLTE1Myw5ICsxNzEsMTggQEAgY2xh c3Mgc3lzdGVtX2luZm8geworIAorICAgICBzeXN0ZW1faW5mbygpIHsKKyAgICAgICAgIGh3bG9j X3JlcXVpcmVfZXgoaHdsb2NfdG9wb2xvZ3lfaW5pdCwgJnRvcG9sb2d5KTsKKysjaWYgX19IV0xP Q19UT1BPTE9HWV9GTEFHX1JFU1RSSUNUX1RPX0NQVUJJTkRJTkdfUFJFU0VOVAorKyAgICAgICAg aWYgKCBnZXRfcHJvY2Vzc29yc19ncm91cF9jb3VudCgpID09IDEgKSB7CisrICAgICAgICAgICAg UkVRVUlSRSgKKysgICAgICAgICAgICAgICAgaHdsb2NfdG9wb2xvZ3lfc2V0X2ZsYWdzKHRvcG9s b2d5LAorKyAgICAgICAgICAgICAgICAgICAgSFdMT0NfVE9QT0xPR1lfRkxBR19JU19USElTU1lT VEVNIHwKKysgICAgICAgICAgICAgICAgICAgIEhXTE9DX1RPUE9MT0dZX0ZMQUdfUkVTVFJJQ1Rf VE9fQ1BVQklORElORykgPT0gMAorKyAgICAgICAgICAgICk7CisrICAgICAgICB9CisrI2VuZGlm CisgICAgICAgICBod2xvY19yZXF1aXJlX2V4KGh3bG9jX3RvcG9sb2d5X2xvYWQsIHRvcG9sb2d5 KTsKKyAKKy0gICAgICAgIGlmICggZ2V0X3Byb2Nlc3NvcnNfZ3JvdXBzX2NvdW50KCkgPiAxICkg eworKyAgICAgICAgaWYgKCBnZXRfcHJvY2Vzc29yc19ncm91cF9jb3VudCgpID4gMSApIHsKKyAg ICAgICAgICAgICBwcm9jZXNzX2NwdXNldCA9IGh3bG9jX2JpdG1hcF9kdXAoaHdsb2NfdG9wb2xv Z3lfZ2V0X2NvbXBsZXRlX2NwdXNldCh0b3BvbG9neSkpOworICAgICAgICAgfSBlbHNlIHsKKyAg ICAgICAgICAgICBwcm9jZXNzX2NwdXNldCA9IGh3bG9jX2JpdG1hcF9hbGxvYygpOworQEAgLTQz NCw3ICs0NjEsNyBAQCBzeXN0ZW1faW5mbzo6YWZmaW5pdHlfbWFzayBnZXRfYXJlbmFfYWZmaW5p dHkodGJiOjp0YXNrX2FyZW5hJiB0YSkgeworICAgICAgICAgICAgICAgICBiYXJyaWVyLndhaXQo KTsKKyAgICAgICAgICAgICAgICAgdGJiOjpzcGluX211dGV4OjpzY29wZWRfbG9jayBsb2NrKGFm ZmluaXR5X211dGV4KTsKKyAgICAgICAgICAgICAgICAgc3lzdGVtX2luZm86OmFmZmluaXR5X21h c2sgdGhyZWFkX2FmZmluaXR5ID0gc3lzdGVtX2luZm86OmFsbG9jYXRlX2N1cnJlbnRfYWZmaW5p dHlfbWFzaygpOworLSAgICAgICAgICAgICAgICBpZiAoZ2V0X3Byb2Nlc3NvcnNfZ3JvdXBzX2Nv dW50KCkgPT0gMSkgeworKyAgICAgICAgICAgICAgICBpZiAoZ2V0X3Byb2Nlc3NvcnNfZ3JvdXBf Y291bnQoKSA9PSAxKSB7CisgICAgICAgICAgICAgICAgICAgICBSRVFVSVJFX01FU1NBR0UoaHds b2NfYml0bWFwX2lzZXF1YWwodGhyZWFkX2FmZmluaXR5LCBhcmVuYV9hZmZpbml0eSksCisgICAg ICAgICAgICAgICAgICAgICAgICAgIlRocmVhZHMgaGF2ZSBkaWZmZXJlbnQgbWFza3Mgb24gbWFj aGluZSB3aXRob3V0IHNldmVyYWwgcHJvY2Vzc29ycyBncm91cHMuIik7CisgICAgICAgICAgICAg ICAgIH0KK0BAIC01MzIsNyArNTU5LDcgQEAgY29uc3RyYWludHNfY29udGFpbmVyIGdlbmVyYXRl X2NvbnN0cmFpbnRzX3ZhcmlldHkoKSB7CisgICAgICAgICB9CisgCisgICAgICAgICAvLyBTb21l IGNvbnN0cmFpbnRzIG1heSBjYXVzZSB1bmV4cGVjdGVkIGJlaGF2aW9yLCB3aGljaCB3b3VsZCBi ZSBmaXhlZCBsYXRlci4KKy0gICAgICAgIGlmIChnZXRfcHJvY2Vzc29yc19ncm91cHNfY291bnQo KSA+IDEpIHsKKysgICAgICAgIGlmIChnZXRfcHJvY2Vzc29yc19ncm91cF9jb3VudCgpID4gMSkg eworICAgICAgICAgICAgIGZvcihhdXRvIGl0ID0gcmVzdWx0cy5iZWdpbigpOyBpdCAhPSByZXN1 bHRzLmVuZCgpOyArK2l0KSB7CisgICAgICAgICAgICAgICAgIGlmIChpdC0+bWF4X3RocmVhZHNf cGVyX2NvcmUgIT0gdGJiOjp0YXNrX2FyZW5hOjphdXRvbWF0aWMKKyAgICAgICAgICAgICAgICAg ICAgJiYgKGl0LT5udW1hX2lkID09IHRiYjo6dGFza19hcmVuYTo6YXV0b21hdGljIHx8IHRiYjo6 aW5mbzo6bnVtYV9ub2RlcygpLnNpemUoKSA9PSAxKQpkaWZmIC0tZ2l0IGEvc3JjcGtncy90YmIv cGF0Y2hlcy8wMS1od2xvYy1wa2djb25maWcucGF0Y2ggYi9zcmNwa2dzL3RiYi9wYXRjaGVzLzAx LWh3bG9jLXBrZ2NvbmZpZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMDAuLjI3OWViYzQzOTdjZAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvdGJiL3BhdGNo ZXMvMDEtaHdsb2MtcGtnY29uZmlnLnBhdGNoCkBAIC0wLDAgKzEsNTIgQEAKK0Jhc2VkIG9uIGh0 dHBzOi8vZ2l0aHViLmNvbS9vbmVhcGktc3JjL29uZVRCQi9wdWxsLzQ5OAorVHdlYWtlZCBhIGJp dCB0byB3b3JrIG9uIGB2MjAyMS4zLjBgCisKK2RpZmYgLS1naXQgYS9zcmMvdGJiYmluZC9DTWFr ZUxpc3RzLnR4dCBiL3NyYy90YmJiaW5kL0NNYWtlTGlzdHMudHh0CitpbmRleCBlNWNkYmY4YmIu LmE0MDMzMjEwYSAxMDA2NDQKKy0tLSBhL3NyYy90YmJiaW5kL0NNYWtlTGlzdHMudHh0CisrKysg Yi9zcmMvdGJiYmluZC9DTWFrZUxpc3RzLnR4dAorQEAgLTM3LDYgKzM3LDEwIEBAIGZ1bmN0aW9u KHRiYmJpbmRfYnVpbGQgVEJCQklORF9OQU1FIFJFUVVJUkVEX0hXTE9DX1RBUkdFVCkKKyAgICAg ICAgICQ8SU5TVEFMTF9JTlRFUkZBQ0U6JHtDTUFLRV9JTlNUQUxMX0lOQ0xVREVESVJ9PgorICAg ICAgICAgJHtIV0xPQ19JTkNMVURFX0RJUlN9ICMgcGtnLWNvbmZpZyBkZWZpbmVkCisgICAgICkK KysJdGFyZ2V0X2xpbmtfZGlyZWN0b3JpZXMoJHtUQkJCSU5EX05BTUV9CisrCQlQUklWQVRFCisr CQkke0hXTE9DX0xJQlJBUllfRElSU30gIyBwa2ctY29uZmlnIGRlZmluZWQKKysJKQorIAorICAg ICB0YXJnZXRfY29tcGlsZV9vcHRpb25zKCR7VEJCQklORF9OQU1FfQorICAgICAgICAgUFJJVkFU RQorQEAgLTY5LDcgKzY5LDYgQEAgZnVuY3Rpb24odGJiYmluZF9idWlsZCBUQkJCSU5EX05BTUUg UkVRVUlSRURfSFdMT0NfVEFSR0VUKQorICAgICAgICAgICAgIFBSSVZBVEUKKyAgICAgICAgICAg ICAke1RCQl9MSUJfTElOS19GTEFHU30KKyAgICAgICAgICAgICAke1RCQl9DT01NT05fTElOS19G TEFHU30KKy0gICAgICAgICAgICAke0hXTE9DX0xJQlJBUllfRElSU30gIyBwa2ctY29uZmlnIGRl ZmluZWQKKyAgICAgICAgICkKKyAgICAgZWxzZSgpCisgICAgICAgICB0YXJnZXRfbGlua19saWJy YXJpZXMoJHtUQkJCSU5EX05BTUV9CitAQCAtNzYsNyArNzYsNiBAQCBmdW5jdGlvbih0YmJiaW5k X2J1aWxkIFRCQkJJTkRfTkFNRSBSRVFVSVJFRF9IV0xPQ19UQVJHRVQpCisgICAgICAgICAgICAg UFJJVkFURQorICAgICAgICAgICAgICR7VEJCX0xJQl9MSU5LX0ZMQUdTfQorICAgICAgICAgICAg ICR7VEJCX0NPTU1PTl9MSU5LX0ZMQUdTfQorLSAgICAgICAgICAgICR7SFdMT0NfTElCUkFSWV9E SVJTfSAjIHBrZy1jb25maWcgZGVmaW5lZAorICAgICAgICAgKQorICAgICBlbmRpZigpCisgCitk aWZmIC0tZ2l0IGEvdGVzdC9DTWFrZUxpc3RzLnR4dCBiL3Rlc3QvQ01ha2VMaXN0cy50eHQKK2lu ZGV4IGI3Njg3NTlkNS4uM2ViODM1N2U2IDEwMDY0NAorLS0tIGEvdGVzdC9DTWFrZUxpc3RzLnR4 dAorKysrIGIvdGVzdC9DTWFrZUxpc3RzLnR4dAorQEAgLTI1OCw3ICsyNTgsMTIgQEAgZnVuY3Rp b24odGJiX2FkZF90YmJiaW5kX3Rlc3QpCisgICAgICAgICApCisgICAgICAgICBzZXRfcHJvcGVy dHkoCisgICAgICAgICAgICAgVEFSR0VUICR7X3RiYmJpbmRfdGVzdF9OQU1FfQorLSAgICAgICAg ICAgIFBST1BFUlRZIExJTktfTElCUkFSSUVTICR7SFdMT0NfTElCUkFSWV9ESVJTfSAke0hXTE9D X0xJQlJBUklFU30KKysgICAgICAgICAgICBQUk9QRVJUWSBMSU5LX0xJQlJBUklFUyAke0hXTE9D X0xJQlJBUklFU30KKysgICAgICAgICAgICBBUFBFTkQKKysgICAgICAgICkKKysgICAgICAgIHNl dF9wcm9wZXJ0eSgKKysgICAgICAgICAgICBUQVJHRVQgJHtfdGJiYmluZF90ZXN0X05BTUV9Cisr CQkJUFJPUEVSVFkgTElOS19ESVJFQ1RPUklFUyAke0hXTE9DX0xJQlJBUllfRElSU30KKyAgICAg ICAgICAgICBBUFBFTkQKKyAgICAgICAgICkKKyAgICAgICAgIHNldF9wcm9wZXJ0eSgKZGlmZiAt LWdpdCBhL3NyY3BrZ3MvdGJiL3BhdGNoZXMvaG9zdG5hbWUtdXNhZ2UucGF0Y2ggYi9zcmNwa2dz L3RiYi9wYXRjaGVzL2hvc3RuYW1lLXVzYWdlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCA0YWVmZWZmMTkyYjUuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL3RiYi9wYXRj aGVzL2hvc3RuYW1lLXVzYWdlLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAot LS0tIGEvYnVpbGQvdmVyc2lvbl9pbmZvX2xpbnV4LnNoCi0rKysgYi9idWlsZC92ZXJzaW9uX2lu Zm9fbGludXguc2gKLUBAIC0yMCw3ICsyMCw3IEBACi0gCi0gIyBTY3JpcHQgdXNlZCB0byBnZW5l cmF0ZSB2ZXJzaW9uIGluZm8gc3RyaW5nCi0gZWNobyAiI2RlZmluZSBfX1RCQl9WRVJTSU9OX1NU UklOR1MoTikgXFwiCi0tZWNobyAnI04iOiBCVUlMRF9IT1NUJyJcdFx0ImBob3N0bmFtZSAtc2Ai ICgiYHVuYW1lIC1tYCIpIiciIEVOREwgXCcKLStlY2hvICcjTiI6IEJVSUxEX0hPU1QnIlx0XHQi YGhvc3RuYW1lYCIgKCJgdW5hbWUgLW1gIikiJyIgRU5ETCBcJwotICMgZmluZCBPUyBuYW1lIGlu ICotcmVsZWFzZSBhbmQgaXNzdWUqIGZpbGVzIGJ5IGZpbHRlcmluZyBibGFuayBsaW5lcyBhbmQg bHNiLXJlbGVhc2UgY29udGVudCBvdXQKLSBlY2hvICcjTiI6IEJVSUxEX09TJyJcdFx0ImBsc2Jf cmVsZWFzZSAtc2QgMj4vZGV2L251bGwgfCBncmVwIC1paCAnW2Etel0gJyAtIC9ldGMvKnJlbGVh c2UgL2V0Yy9pc3N1ZSAyPi9kZXYvbnVsbCB8IGhlYWQgLTEgfCBzZWQgLWUgJ3MvWyJcXFxcXS8v ZydgJyIgRU5ETCBcJwotIGVjaG8gJyNOIjogQlVJTERfS0VSTkVMJyJcdCJgdW5hbWUgLXNydmAn IiBFTkRMIFwnCmRpZmYgLS1naXQgYS9zcmNwa2dzL3RiYi9wYXRjaGVzL211c2wucGF0Y2ggYi9z cmNwa2dzL3RiYi9wYXRjaGVzL211c2wucGF0Y2gKaW5kZXggYTg4NjdlYjUzNzkzLi5lYzg5YzZh OTVmYzYgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvdGJiL3BhdGNoZXMvbXVzbC5wYXRjaAorKysgYi9z cmNwa2dzL3RiYi9wYXRjaGVzL211c2wucGF0Y2gKQEAgLTEsNSArMSw1IEBACi0tLS0gYS9zcmMv dGJibWFsbG9jL3Byb3h5LmNwcAkyMDE4LTEwLTE3IDE0OjA1OjMxLjMxMTcyMzAxMyArMDIwMAot KysrIGIvc3JjL3RiYm1hbGxvYy9wcm94eS5jcHAJMjAxOC0xMC0xNyAxNDowNjozMi45NzI3MjYx OTQgKzAyMDAKKy0tLSBhL3NyYy90YmJtYWxsb2NfcHJveHkvcHJveHkuY3BwCTIwMTgtMTAtMTcg MTQ6MDU6MzEuMzExNzIzMDEzICswMjAwCisrKysgYi9zcmMvdGJibWFsbG9jX3Byb3h5L3Byb3h5 LmNwcAkyMDE4LTEwLTE3IDE0OjA2OjMyLjk3MjcyNjE5NCArMDIwMAogQEAgLTI4LDYgKzI4LDcg QEAKICAvLyBvZiBhbGlnbmVkX2FsbG9jIGFzIHJlcXVpcmVkIGJ5IG5ldyBDKysgc3RhbmRhcmQs IHRoaXMgbWFrZXMgaXQgaGFyZCB0bwogIC8vIHJlZGVmaW5lIGFsaWduZWRfYWxsb2MgaGVyZS4g SG93ZXZlciwgcnVubmluZyBvbiBzeXN0ZW1zIHdpdGggbmV3IGxpYmMKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvdGJiL3RlbXBsYXRlIGIvc3JjcGtncy90YmIvdGVtcGxhdGUKaW5kZXggYWVlZjZlYmRk MDYxLi40NzY1NTgyOWY3NDQgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvdGJiL3RlbXBsYXRlCisrKyBi L3NyY3BrZ3MvdGJiL3RlbXBsYXRlCkBAIC0xLDc2ICsxLDMzIEBACiAjIFRlbXBsYXRlIGZpbGUg Zm9yICd0YmInCiBwa2duYW1lPXRiYgotdmVyc2lvbj0yMDIwLlUzCit2ZXJzaW9uPTIwMjEuMy4w CiByZXZpc2lvbj0xCi0jIHZlcnNpb24gcmV3cml0ZTogMjAxN19VNyAodXBzdHJlYW0pID0+IDIw MTcuNyAoeGJwcykKLV92ZXI9JHt2ZXJzaW9uLy4vX30KLXdya3NyYz0ib25lVEJCLSR7X3Zlcn0i Ci1idWlsZF9zdHlsZT1nbnUtbWFrZWZpbGUKLWhvc3RtYWtlZGVwZW5kcz0iY21ha2UiCit3cmtz cmM9Im9uZVRCQi0ke3ZlcnNpb259IgorYnVpbGRfc3R5bGU9Y21ha2UKK21ha2VkZXBlbmRzPSJs aWJod2xvYy1kZXZlbCBsaWJnb21wLWRldmVsIgogc2hvcnRfZGVzYz0iSW50ZWwgVGhyZWFkaW5n IEJ1aWxkaW5nIEJsb2NrcyIKIG1haW50YWluZXI9IkFuZHJlYSBCcmFuY2FsZW9uaSA8YWJjQHBv bXBlbC5tZT4iCiBsaWNlbnNlPSJBcGFjaGUtMi4wIgogaG9tZXBhZ2U9Imh0dHBzOi8vd3d3LnRo cmVhZGluZ2J1aWxkaW5nYmxvY2tzLm9yZyIKLWRpc3RmaWxlcz0iaHR0cHM6Ly9naXRodWIuY29t L29uZWFwaS1zcmMvb25lVEJCL2FyY2hpdmUvJHtfdmVyfS50YXIuZ3oiCi1jaGVja3N1bT0yMTAz Y2M2MjM4YzkzNTY2NGY4NzY4MDYxOGY2Njg0ZDU3NTAxZDRhMmZhOGVhOGY2Yzk3YWQ2ZmY3ZGM3 MjJhCi0KLWNhc2UgIiRYQlBTX1RBUkdFVF9NQUNISU5FIiBpbgotCXg4Nl82NCopCi0JCW1ha2Vf YnVpbGRfYXJncz0iYXJjaD1pbnRlbDY0IgotCQk7OwotCWk2ODYqKQotCQltYWtlX2J1aWxkX2Fy Z3M9ImFyY2g9aWEzMiIKLQkJOzsKLQlhcm12N2wqKQotCQltYWtlX2J1aWxkX2FyZ3M9ImFyY2g9 YXJtdjciCi0JCTs7Ci0JYWFyY2g2NCopCi0JCW1ha2VfYnVpbGRfYXJncz0iYXJjaD1hcm02NCIK LQkJOzsKLQlwcGM2NCopCi0JCW1ha2VfYnVpbGRfYXJncz0iYXJjaD1wcGM2NCIKLQkJOzsKLQlw cGMqKQotCQltYWtlX2J1aWxkX2FyZ3M9ImFyY2g9cHBjMzIiCi0JCTs7Ci0JKikKLQkJIyBtYWtl IHN1cmUgdG8gZmFsbCBiYWNrIGluc3RlYWQgb2YgbGV0dGluZyBob3N0IHVuYW1lIGNvbnRyb2wg aXQKLQkJbWFrZV9idWlsZF9hcmdzPSJhcmNoPWdlbmVyaWMiCi0JCTs7Ci1lc2FjCi0KLXBvc3Rf ZXh0cmFjdCgpIHsKLQlzZWQgLWkgJ3N8Q1BMVVMgPSBnLi58Q1BMVVMgPSAkKENYWCl8ZycgYnVp bGQvbGludXguZ2NjLmluYwotCXNlZCAtaSAnc3xDT05MWSA9IGdjY3xDT05MWSA9ICQoQ0MpfGcn IGJ1aWxkL2xpbnV4LmdjYy5pbmMKK2Rpc3RmaWxlcz0iaHR0cHM6Ly9naXRodWIuY29tL29uZWFw aS1zcmMvb25lVEJCL2FyY2hpdmUvdiR7dmVyc2lvbn0udGFyLmd6IgorY2hlY2tzdW09OGY2MTY1 NjE2MDM2OTViYmI4Mzg3MTg3NWQyYzYwNTFlYTI4ZjgxODdkYmU1OTI5OTk2MTM2OTkwNGQxZDQ5 ZQogCitwcmVfcGF0Y2goKSB7CiAJIyBhbHRlcm5hdGl2ZSBtaWdodCBiZToKIAkjIGh0dHBzOi8v Z2l0LmFscGluZWxpbnV4Lm9yZy9jZ2l0L2Fwb3J0cy90cmVlL3Rlc3RpbmcvbGlidGJiL2dsaWJj LXN0cnVjdC1tYWxsaW5mby5wYXRjaAogCWlmIFsgIiRYQlBTX1RBUkdFVF9MSUJDIiA9ICJtdXNs IiBdOyB0aGVuCiAJCXZzZWQgLWUgInNAI2RlZmluZSBNQUxMT0NfVU5JWExJS0VfT1ZFUkxPQURf RU5BQkxFRCBfX2xpbnV4X19AQCIgXAotCQkgIC1pIHNyYy90YmJtYWxsb2MvcHJveHkuaAorCQkg IC1pIHNyYy90YmJtYWxsb2NfcHJveHkvcHJveHkuaAogCWZpCiB9CiAKLWRvX2luc3RhbGwoKSB7 Ci0Jdm1rZGlyIHVzci9saWIKLQl2Y29weSBidWlsZC9saW51eF8qLyouc28qIHVzci9saWIKLQl2 bWtkaXIgdXNyL2luY2x1ZGUvdGJiCi0JdmNvcHkgaW5jbHVkZS90YmIvKiB1c3IvaW5jbHVkZS90 YmIKLQotCWNtYWtlIFwKLQkJLURJTlNUQUxMX0RJUj0kREVTVERJUi91c3IvbGliL2NtYWtlL1RC QiBcCi0JCS1EU1lTVEVNX05BTUU9TGludXggXAotCQktRExJQl9SRUxfUEFUSD0uLi8uLiBcCi0J CS1ESU5DX1JFTF9QQVRIPS4uLy4uLy4uL2luY2x1ZGUgXAotCQktUCBjbWFrZS90YmJfY29uZmln X2luc3RhbGxlci5jbWFrZQotfQotCiB0YmItZGV2ZWxfcGFja2FnZSgpIHsKIAlkZXBlbmRzPSIk e3NvdXJjZXBrZ30+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0iCiAJc2hvcnRfZGVzYys9IiAtIGRl dmVsb3BtZW50IGZpbGVzIgogCXBrZ19pbnN0YWxsKCkgewogCQl2bW92ZSB1c3IvaW5jbHVkZQot CQl2bW92ZSAidXNyL2xpYi8qLnNvIgogCQl2bW92ZSB1c3IvbGliL2NtYWtlCisJCXZtb3ZlIHVz ci9saWIvcGtnY29uZmlnCisJCXZtb3ZlIHVzci9saWIvKi5zbwogCX0KIH0KCkZyb20gZTRiZTZl MGU3MzVmZTFkYmQxMTgxNDJlZWQ3NjEwYzIzM2YyYmFiNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKRnJvbTogQXJ0dXIgU2luaWxhIDxmcmVlc29mdHdhcmVAbG9nYXJpdGhtdXMuZGV2PgpEYXRl OiBTdW4sIDE4IEp1bCAyMDIxIDE4OjI5OjM4ICswMzAwClN1YmplY3Q6IFtQQVRDSCAwMy8xMV0g T3BlblN1YmRpdjogdXBkYXRlIHRvIDMuNC40LgoKLS0tCiBzcmNwa2dzL09wZW5TdWJkaXYvdGVt cGxhdGUgfCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9PcGVuU3ViZGl2L3RlbXBsYXRlIGIvc3JjcGtn cy9PcGVuU3ViZGl2L3RlbXBsYXRlCmluZGV4IGI3YTVlMTZlZmJjZi4uZGZiZjI5Y2MxYTUyIDEw MDY0NAotLS0gYS9zcmNwa2dzL09wZW5TdWJkaXYvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9PcGVu U3ViZGl2L3RlbXBsYXRlCkBAIC0xLDYgKzEsNiBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnT3Bl blN1YmRpdicKIHBrZ25hbWU9T3BlblN1YmRpdgotdmVyc2lvbj0zLjQuMwordmVyc2lvbj0zLjQu NAogcmV2aXNpb249MQogd3Jrc3JjPSJPcGVuU3ViZGl2LSR7dmVyc2lvbi8vLi9ffSIKIGJ1aWxk X3N0eWxlPWNtYWtlCkBAIC0xMyw3ICsxMyw3IEBAIG1haW50YWluZXI9IkpvaG4gPG1lQGpvaG5u eW5hdG9yLmRldj4iCiBsaWNlbnNlPSJBcGFjaGUtMi4wIgogaG9tZXBhZ2U9Imh0dHA6Ly9ncmFw aGljcy5waXhhci5jb20vb3BlbnN1YmRpdi9kb2NzL2ludHJvLmh0bWwiCiBkaXN0ZmlsZXM9Imh0 dHBzOi8vZ2l0aHViLmNvbS9QaXhhckFuaW1hdGlvblN0dWRpb3MvT3BlblN1YmRpdi9hcmNoaXZl L3Yke3ZlcnNpb24vLy4vX30udGFyLmd6IgotY2hlY2tzdW09N2IyMmViMjdkNjM2YWIwYzFlMDM3 MjJjN2E1YTViZDRmMTE2NjRlZTY1YzliNDhmMzQxYTZkMGNlN2YzNjc0NQorY2hlY2tzdW09MjBk NDlmODBhMmI3NzhhZDRkMDFmMDkxYWQ4OGQ4YzJmOTFjZjZjNzM2Mzk0MGM2MjEzMjQxY2U2ZjEw NDhmYgogCiBpZiBbICIkQ1JPU1NfQlVJTEQiIF07IHRoZW4KIAlob3N0bWFrZWRlcGVuZHMrPSIg T3BlblN1YmRpdiIKCkZyb20gZGMzMjZjYjBmZjg3OWJiN2ZhZDdkOGRmYTVjNDNhODI1NzQ1ZWFm NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogQXJ0dXIgU2luaWxhIDxmcmVlc29mdHdh cmVAbG9nYXJpdGhtdXMuZGV2PgpEYXRlOiBTdW4sIDE4IEp1bCAyMDIxIDE4OjI5OjM4ICswMzAw ClN1YmplY3Q6IFtQQVRDSCAwNC8xMV0gUHJ1c2FTbGljZXI6IHVwZGF0ZSB0byAyLjMuMy4KCi0t LQogc3JjcGtncy9QcnVzYVNsaWNlci9wYXRjaGVzL2Nyb3NzLnBhdGNoIHwgMTEgLS0tLS0tLS0t LS0KIHNyY3BrZ3MvUHJ1c2FTbGljZXIvdGVtcGxhdGUgICAgICAgICAgICB8ICA0ICsrLS0KIDIg ZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkKIGRlbGV0ZSBt b2RlIDEwMDY0NCBzcmNwa2dzL1BydXNhU2xpY2VyL3BhdGNoZXMvY3Jvc3MucGF0Y2gKCmRpZmYg LS1naXQgYS9zcmNwa2dzL1BydXNhU2xpY2VyL3BhdGNoZXMvY3Jvc3MucGF0Y2ggYi9zcmNwa2dz L1BydXNhU2xpY2VyL3BhdGNoZXMvY3Jvc3MucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IGQ2NGE0NTBkOWU5Zi4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvUHJ1c2FTbGlj ZXIvcGF0Y2hlcy9jcm9zcy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAKLS0t LSBhL3NyYy9hdnJkdWRlL0NNYWtlTGlzdHMudHh0CTIwMjAtMDYtMDQgMDk6MTk6MjYuMDE3MjUx MjE1ICswMjAwCi0rKysgYi9zcmMvYXZyZHVkZS9DTWFrZUxpc3RzLnR4dAkyMDIwLTA2LTA0IDA5 OjE5OjM2LjQ2ODI1MDc3MSArMDIwMAotQEAgLTgzLDcgKzgzLDcgQEAgYWRkX2V4ZWN1dGFibGUo YXZyZHVkZS1jb25mLWdlbiBjb25mLWdlbgotIGFkZF9jdXN0b21fY29tbWFuZCgKLSAgICAgREVQ RU5EUyBhdnJkdWRlLWNvbmYtZ2VuICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9hdnJkdWRl LXNsaWMzci5jb25mCi0gICAgIE9VVFBVVCAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vYXZy ZHVkZS1zbGljM3IuY29uZi5oCi0tICAgIENPTU1BTkQgJDxUQVJHRVRfRklMRTphdnJkdWRlLWNv bmYtZ2VuPiBhdnJkdWRlLXNsaWMzci5jb25mIGF2cmR1ZGVfc2xpYzNyX2NvbmYgJHtDTUFLRV9D VVJSRU5UX0JJTkFSWV9ESVJ9L2F2cmR1ZGUtc2xpYzNyLmNvbmYuaAotKyAgICBDT01NQU5EIGF2 cmR1ZGUtY29uZi1nZW4gYXZyZHVkZS1zbGljM3IuY29uZiBhdnJkdWRlX3NsaWMzcl9jb25mICR7 Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS9hdnJkdWRlLXNsaWMzci5jb25mLmgKLSAgICAgV09S S0lOR19ESVJFQ1RPUlkgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9Ci0gKQotIApkaWZmIC0t Z2l0IGEvc3JjcGtncy9QcnVzYVNsaWNlci90ZW1wbGF0ZSBiL3NyY3BrZ3MvUHJ1c2FTbGljZXIv dGVtcGxhdGUKaW5kZXggZGQwZTc2Y2I4MDE3Li5hOTM4MzJhYzAyZTQgMTAwNjQ0Ci0tLSBhL3Ny Y3BrZ3MvUHJ1c2FTbGljZXIvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9QcnVzYVNsaWNlci90ZW1w bGF0ZQpAQCAtMSw2ICsxLDYgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ1BydXNhU2xpY2VyJwog cGtnbmFtZT1QcnVzYVNsaWNlcgotdmVyc2lvbj0yLjMuMAordmVyc2lvbj0yLjMuMwogcmV2aXNp b249MQogd3Jrc3JjPSJQcnVzYVNsaWNlci12ZXJzaW9uXyR7dmVyc2lvbn0iCiBidWlsZF9zdHls ZT1jbWFrZQpAQCAtMTYsNyArMTYsNyBAQCBtYWludGFpbmVyPSJKYXNwZXIgQ2hhbiA8amFzcGVy Y2hhbjUxNUBnbWFpbC5jb20+IgogbGljZW5zZT0iR1BMLTMuMC1vci1sYXRlciIKIGhvbWVwYWdl PSJodHRwczovL3d3dy5wcnVzYTNkLmNvbS9wcnVzYXNsaWNlci8iCiBkaXN0ZmlsZXM9Imh0dHBz Oi8vZ2l0aHViLmNvbS9wcnVzYTNkL1BydXNhc2xpY2VyL2FyY2hpdmUvdmVyc2lvbl8ke3ZlcnNp b259LnRhci5neiIKLWNoZWNrc3VtPWNkM2JhYzVlMjliNTQ0MWZjNDY5MGYyOGNkN2IxMDY0ZTk3 ZGMwMDIwN2JiZGM4OGY3YmQ3ODMyMzA4ZDZjYTUKK2NoZWNrc3VtPWRlZGEyMDk1MDVmNzQwYWMz ZDZmNTljYjJhOTYwZjRkZjkwODI2OWVlMDliZDMwY2Q0ZWRiOWZjNDcyZDI5YWMKIG5vY3Jvc3M9 Imh0dHBzOi8vYnVpbGQudm9pZGxpbnV4Lm9yZy9idWlsZGVycy9hcm12N2xfYnVpbGRlci9idWls ZHMvMjUyMzAvc3RlcHMvc2hlbGxfMy9sb2dzL3N0ZGlvIgogCiBTbGljM3JQRV9wYWNrYWdlKCkg ewoKRnJvbSAxMTBiNTkwZWNiM2VmZWViY2E5NmY5NmNiNWRmNTJkYWMyZjM4Y2Y1IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBcnR1ciBTaW5pbGEgPGZyZWVzb2Z0d2FyZUBsb2dhcml0 aG11cy5kZXY+CkRhdGU6IFN1biwgMTggSnVsIDIwMjEgMTg6Mjk6MzkgKzAzMDAKU3ViamVjdDog W1BBVENIIDA1LzExXSBibGVuZGVyOiB1cGRhdGUgdG8gMi45My4xLgoKLS0tCiBzcmNwa2dzL2Js ZW5kZXIvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEg ZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2JsZW5kZXIvdGVtcGxhdGUgYi9zcmNw a2dzL2JsZW5kZXIvdGVtcGxhdGUKaW5kZXggYWY5NDZjMmI3OTk5Li44MzE4MzE3YzgyYmYgMTAw NjQ0Ci0tLSBhL3NyY3BrZ3MvYmxlbmRlci90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2JsZW5kZXIv dGVtcGxhdGUKQEAgLTEsNiArMSw2IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdibGVuZGVyJwog cGtnbmFtZT1ibGVuZGVyCi12ZXJzaW9uPTIuOTMuMAordmVyc2lvbj0yLjkzLjEKIHJldmlzaW9u PTEKIGFyY2hzPSJ4ODZfNjQqIHBwYzY0KiIKIGJ1aWxkX3N0eWxlPSJjbWFrZSIKCkZyb20gMGRh ZTk2YzFjOWU3ZDJlOWZmYThmYjZkMDFjYjg1OWYxOTRkODZjNiBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogQXJ0dXIgU2luaWxhIDxmcmVlc29mdHdhcmVAbG9nYXJpdGhtdXMuZGV2PgpE YXRlOiBTdW4sIDE4IEp1bCAyMDIxIDE4OjI5OjM5ICswMzAwClN1YmplY3Q6IFtQQVRDSCAwNi8x MV0gZW1icmVlOiB1cGRhdGUgdG8gMy4xMy4wLgoKLS0tCiBzcmNwa2dzL2VtYnJlZS90ZW1wbGF0 ZSB8IDYgKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZW1icmVlL3RlbXBsYXRlIGIvc3JjcGtncy9lbWJy ZWUvdGVtcGxhdGUKaW5kZXggNTc1YjliY2I0MDFjLi5iNmYzNzZkMzBlZmEgMTAwNjQ0Ci0tLSBh L3NyY3BrZ3MvZW1icmVlL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvZW1icmVlL3RlbXBsYXRlCkBA IC0xLDggKzEsOCBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnZW1icmVlJwogcGtnbmFtZT1lbWJy ZWUKLXZlcnNpb249Mi4xNy43Ci1yZXZpc2lvbj0yCi1hcmNocz0ieDg2XzY0IgordmVyc2lvbj0z LjEzLjAKK3JldmlzaW9uPTEKK2FyY2hzPSJ4ODZfNjQqIgogYnVpbGRfc3R5bGU9Y21ha2UKIGNv bmZpZ3VyZV9hcmdzPSItRFRCQl9ST09UPS91c3IgLURFTUJSRUVfSUdOT1JFX0NNQUtFX0NYWF9G TEFHUz1PRkYiCiBob3N0bWFrZWRlcGVuZHM9ImlzcGMiCgpGcm9tIGIwYjhiODJiNjQ3NDJkNWJk Yjg0YmVhNGU5NDY1ZjAzZWYxNGE5ZGYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEFy dHVyIFNpbmlsYSA8ZnJlZXNvZnR3YXJlQGxvZ2FyaXRobXVzLmRldj4KRGF0ZTogU2F0LCAyNCBK dWwgMjAyMSAwMzozNDo0MyArMDMwMApTdWJqZWN0OiBbUEFUQ0ggMDcvMTFdIG9wZW5pbWFnZWlv OiB1cGRhdGUgdG8gMi4yLjE2LjAuCgotLS0KIHNyY3BrZ3Mvb3BlbmltYWdlaW8vdGVtcGxhdGUg fCA2ICsrKy0tLQogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL29wZW5pbWFnZWlvL3RlbXBsYXRlIGIvc3JjcGtncy9v cGVuaW1hZ2Vpby90ZW1wbGF0ZQppbmRleCBkZThlMWNkMDQ0MDkuLjNiZmRkNGUwZWQxZSAxMDA2 NDQKLS0tIGEvc3JjcGtncy9vcGVuaW1hZ2Vpby90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL29wZW5p bWFnZWlvL3RlbXBsYXRlCkBAIC0xLDExICsxLDExIEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdv cGVuaW1hZ2VpbycKIHBrZ25hbWU9b3BlbmltYWdlaW8KLXZlcnNpb249Mi4yLjE1LjEKK3ZlcnNp b249Mi4yLjE2LjAKIHJldmlzaW9uPTEKIHdya3NyYz0ib2lpby1SZWxlYXNlLSR7dmVyc2lvbn0i CiBidWlsZF9zdHlsZT1jbWFrZQogY29uZmlndXJlX2FyZ3M9Ii1EVVNFX09QRU5HTD0wIC1EVVNF X1FUPTAgLURVU0VfUFlUSE9OPTAgLURPSUlPX0JVSUxEX1RFU1RTPTEKLSAtRFNUT1BfT05fV0FS TklORz0wIC1EVVNFX1NURF9SRUdFWF9FWElUQ09ERT0wIgorIC1EU1RPUF9PTl9XQVJOSU5HPTAg LURVU0VfU1REX1JFR0VYX0VYSVRDT0RFPTAgLURDTUFLRV9DWFhfU1RBTkRBUkQ9MTQiCiBob3N0 bWFrZWRlcGVuZHM9InBrZy1jb25maWcgZ2l0IgogbWFrZWRlcGVuZHM9ImJvb3N0LWRldmVsIGdp ZmxpYi1kZXZlbCBsaWJyYXctZGV2ZWwgbGlib3BlbmpwZWctZGV2ZWwgbGlid2VicC1kZXZlbAog IGxpYmpwZWctdHVyYm8tZGV2ZWwgdGlmZi1kZXZlbCBsaWJwbmctZGV2ZWwgbGlib3BlbmV4ci1k ZXZlbCBmcmVldHlwZS1kZXZlbApAQCAtMTcsNyArMTcsNyBAQCBsaWNlbnNlPSJCU0QtMy1DbGF1 c2UiCiBob21lcGFnZT0iaHR0cHM6Ly9zaXRlcy5nb29nbGUuY29tL3NpdGUvb3BlbmltYWdlaW8v aG9tZSIKIGNoYW5nZWxvZz0iaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL09wZW5J bWFnZUlPL29paW8vcmVsZWFzZS9DSEFOR0VTLm1kIgogZGlzdGZpbGVzPSJodHRwczovL2dpdGh1 Yi5jb20vT3BlbkltYWdlSU8vb2lpby9hcmNoaXZlL1JlbGVhc2UtJHt2ZXJzaW9ufS50YXIuZ3oi Ci1jaGVja3N1bT1mMjIyYzZiNTFhNDBhYWJiYzgwZGRmNDA1NTUzNWJlOWFmMWZmYTkwNzQ1MmZh NmQxZmZhNzY3NDg1NGFhYjE3CitjaGVja3N1bT1kMWE1OWYzMmRiYmEzYmE3MWFkMmU2MmUxMDcw MzRkMWM1Mjg3YmNhMWIwNjk2NDc0ZTkyN2Q1MDRjZDA1ZWY0CiAjIFJ1bnMgY2hlY2tzIGV2ZW4g Zm9yIGZlYXR1cmVzIHdlIGRpc2FibGVkLgogbWFrZV9jaGVjaz1ubwogCgpGcm9tIGJjYTQyNzA2 NzA5YmYzZmFlZjBkOTdkODgxMmI3ZmRiOTJkZDM3NTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206IEFydHVyIFNpbmlsYSA8ZnJlZXNvZnR3YXJlQGxvZ2FyaXRobXVzLmRldj4KRGF0ZTog U3VuLCAxOCBKdWwgMjAyMSAxODoyOTo0MCArMDMwMApTdWJqZWN0OiBbUEFUQ0ggMDgvMTFdIG9w ZW5pbWFnZWRlbm9pc2U6IHVwZGF0ZSB0byAxLjQuMS4KCi0tLQogc3JjcGtncy9vcGVuaW1hZ2Vk ZW5vaXNlL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAx IGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9vcGVuaW1hZ2VkZW5vaXNlL3RlbXBs YXRlIGIvc3JjcGtncy9vcGVuaW1hZ2VkZW5vaXNlL3RlbXBsYXRlCmluZGV4IGM3MzkxM2I0ZTlk Ny4uMTQwNTVhZmYxYzI3IDEwMDY0NAotLS0gYS9zcmNwa2dzL29wZW5pbWFnZWRlbm9pc2UvdGVt cGxhdGUKKysrIGIvc3JjcGtncy9vcGVuaW1hZ2VkZW5vaXNlL3RlbXBsYXRlCkBAIC0xLDYgKzEs NiBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnb3BlbmltYWdlZGVub2lzZScKIHBrZ25hbWU9b3Bl bmltYWdlZGVub2lzZQotdmVyc2lvbj0xLjQuMAordmVyc2lvbj0xLjQuMQogcmV2aXNpb249MQog YXJjaHM9Ing4Nl82NCoiCiB3cmtzcmM9b2lkbi0ke3ZlcnNpb259CgpGcm9tIGYwYTVlOTFlMjgw YWM1YTVmNzc2MjBkZGFhYjhiZTEzMjIxOTk4ZjcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206IEFydHVyIFNpbmlsYSA8ZnJlZXNvZnR3YXJlQGxvZ2FyaXRobXVzLmRldj4KRGF0ZTogU3Vu LCAxOCBKdWwgMjAyMSAxODoyOTo0MCArMDMwMApTdWJqZWN0OiBbUEFUQ0ggMDkvMTFdIG9wZW52 ZGI6IHVwZGF0ZSB0byA4LjEuMC4KCi0tLQogY29tbW9uL3NobGlicyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCAgICAyICstCiBzcmNwa2dzL29wZW52ZGIvcGF0Y2hlcy8wMC10YmItMjAy MS5wYXRjaCB8IDEzMjAgKysrKysrKysrKysrKysrKysrKysrCiBzcmNwa2dzL29wZW52ZGIvdGVt cGxhdGUgICAgICAgICAgICAgICAgICB8ICAgMTYgKy0KIDMgZmlsZXMgY2hhbmdlZCwgMTMyNSBp bnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dz L29wZW52ZGIvcGF0Y2hlcy8wMC10YmItMjAyMS5wYXRjaAoKZGlmZiAtLWdpdCBhL2NvbW1vbi9z aGxpYnMgYi9jb21tb24vc2hsaWJzCmluZGV4IDZiN2NhNWZiYzI0OS4uMmE3YWNkYjI1M2E3IDEw MDY0NAotLS0gYS9jb21tb24vc2hsaWJzCisrKyBiL2NvbW1vbi9zaGxpYnMKQEAgLTM4ODMsNyAr Mzg4Myw3IEBAIGxpYmphbmV0LnNvLjEuMTYgamFuZXQtMS4xNi4wXzEKIGxpYk9wZW5JbWFnZURl bm9pc2Uuc28uMSBvcGVuaW1hZ2VkZW5vaXNlLTEuMy4wXzEKIGxpYmNiYW5nMC5zbyBjYmFuZy0x LjYuMF8zCiBsaWJibG9zYy5zby4xIGMtYmxvc2MtMS4xNy4xXzEKLWxpYm9wZW52ZGIuc28uNy4w IG9wZW52ZGItNy4wLjBfMQorbGlib3BlbnZkYi5zby44LjEgb3BlbnZkYi04LjEuMF8xCiBsaWJB bGVtYmljLnNvLjEuNyBhbGVtYmljLTEuNy4xM18xCiBsaWJtb2RzZWN1cml0eS5zby4zIG1vZHNl Y3VyaXR5LTMuMC40XzEKIGxpYnJhdmVuLnNvLjAgYnVkZ2llLWRlc2t0b3AtMTAuNS4xXzEKZGlm ZiAtLWdpdCBhL3NyY3BrZ3Mvb3BlbnZkYi9wYXRjaGVzLzAwLXRiYi0yMDIxLnBhdGNoIGIvc3Jj cGtncy9vcGVudmRiL3BhdGNoZXMvMDAtdGJiLTIwMjEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4yNzExMDRhZjNkZjkKLS0tIC9kZXYvbnVsbAorKysgYi9z cmNwa2dzL29wZW52ZGIvcGF0Y2hlcy8wMC10YmItMjAyMS5wYXRjaApAQCAtMCwwICsxLDEzMjAg QEAKK2h0dHBzOi8vZ2l0aHViLmNvbS9BY2FkZW15U29mdHdhcmVGb3VuZGF0aW9uL29wZW52ZGIv cHVsbC8xMDI3CitTaG91bGQgYmUgZHJvcHBlZCBhZnRlciA4LjEuMSByZWxlYXNlLgorCitkaWZm IC0tZ2l0IGEvY21ha2UvRmluZFRCQi5jbWFrZSBiL2NtYWtlL0ZpbmRUQkIuY21ha2UKK2luZGV4 IGQ0MTQzNmIxYy4uMDZkZTJiM2YzIDEwMDY0NAorLS0tIGEvY21ha2UvRmluZFRCQi5jbWFrZQor KysrIGIvY21ha2UvRmluZFRCQi5jbWFrZQorQEAgLTE2OSw4ICsxNjksMjIgQEAgZmluZF9wYXRo KFRiYl9JTkNMVURFX0RJUiB0YmIvdGJiX3N0ZGRlZi5oCisgICBQQVRIX1NVRkZJWEVTICR7Q01B S0VfSU5TVEFMTF9JTkNMVURFRElSfSBpbmNsdWRlCisgKQorIAorLWlmKEVYSVNUUyAiJHtUYmJf SU5DTFVERV9ESVJ9L3RiYi90YmJfc3RkZGVmLmgiKQorLSAgZmlsZShTVFJJTkdTICIke1RiYl9J TkNMVURFX0RJUn0vdGJiL3RiYl9zdGRkZWYuaCIKKytzZXQoX3RiYl92ZXJzaW9uX2ZpbGUgIiR7 VGJiX0lOQ0xVREVfRElSfS90YmIvdGJiX3N0ZGRlZi5oIikKKysKKytpZihOT1QgRVhJU1RTICR7 X3RiYl92ZXJzaW9uX2ZpbGV9KQorKyAgIyBGcm9tIFRCQiAyMDIxLCB0YmJfc3RkZGVmIGlzIHJl bW92ZWQgYW5kIHRoZSBkaXJlY3RvcnkgaW5jbHVkZS90YmIgaXMKKysgICMgc2ltcGx5IGFuIGFs aWFzIGZvciBpbmNsdWRlL29uZWFwaS90YmIuIFRyeSBhbmQgZmluZCB0aGUgdmVyc2lvbiBoZWFk ZXIKKysgICMgaW4gb25lYXBpL3RiYgorKyAgZmluZF9wYXRoKFRiYl9JTkNMVURFX0RJUiBvbmVh cGkvdGJiL3ZlcnNpb24uaAorKyAgICAke19GSU5EX1RCQl9BRERJVElPTkFMX09QVElPTlN9Cisr ICAgIFBBVEhTICR7X1RCQl9JTkNMVURFX1NFQVJDSF9ESVJTfQorKyAgICBQQVRIX1NVRkZJWEVT ICR7Q01BS0VfSU5TVEFMTF9JTkNMVURFRElSfSBpbmNsdWRlCisrICApCisrICBzZXQoX3RiYl92 ZXJzaW9uX2ZpbGUgIiR7VGJiX0lOQ0xVREVfRElSfS9vbmVhcGkvdGJiL3ZlcnNpb24uaCIpCisr ZW5kaWYoKQorKworK2lmKEVYSVNUUyAke190YmJfdmVyc2lvbl9maWxlfSkKKysgIGZpbGUoU1RS SU5HUyAke190YmJfdmVyc2lvbl9maWxlfQorICAgICBfdGJiX3ZlcnNpb25fbWFqb3Jfc3RyaW5n IFJFR0VYICIjZGVmaW5lIFRCQl9WRVJTSU9OX01BSk9SICIKKyAgICkKKyAgIHN0cmluZyhSRUdF WCBSRVBMQUNFICIjZGVmaW5lIFRCQl9WRVJTSU9OX01BSk9SIiAiIgorQEAgLTE3OCw3ICsxOTIs NyBAQCBpZihFWElTVFMgIiR7VGJiX0lOQ0xVREVfRElSfS90YmIvdGJiX3N0ZGRlZi5oIikKKyAg ICkKKyAgIHN0cmluZyhTVFJJUCAiJHtfdGJiX3ZlcnNpb25fbWFqb3Jfc3RyaW5nfSIgVGJiX1ZF UlNJT05fTUFKT1IpCisgCistICBmaWxlKFNUUklOR1MgIiR7VGJiX0lOQ0xVREVfRElSfS90YmIv dGJiX3N0ZGRlZi5oIgorKyAgZmlsZShTVFJJTkdTICR7X3RiYl92ZXJzaW9uX2ZpbGV9CisgICAg ICBfdGJiX3ZlcnNpb25fbWlub3Jfc3RyaW5nIFJFR0VYICIjZGVmaW5lIFRCQl9WRVJTSU9OX01J Tk9SICIKKyAgICkKKyAgIHN0cmluZyhSRUdFWCBSRVBMQUNFICIjZGVmaW5lIFRCQl9WRVJTSU9O X01JTk9SIiAiIgorQEAgLTE5Miw2ICsyMDYsOCBAQCBpZihFWElTVFMgIiR7VGJiX0lOQ0xVREVf RElSfS90YmIvdGJiX3N0ZGRlZi5oIikKKyAgIHNldChUYmJfVkVSU0lPTiAke1RiYl9WRVJTSU9O X01BSk9SfS4ke1RiYl9WRVJTSU9OX01JTk9SfSkKKyBlbmRpZigpCisgCisrdW5zZXQoX3RiYl92 ZXJzaW9uX2ZpbGUpCisrCisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAjICBTZWFyY2ggZm9yIFRCQiBs aWIgRElSCisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK2RpZmYgLS1naXQgYS9vcGVudmRiL29wZW52ZGIv Q01ha2VMaXN0cy50eHQgYi9vcGVudmRiL29wZW52ZGIvQ01ha2VMaXN0cy50eHQKK2luZGV4IDg4 NTQzZGYzYS4uOTI5ZmU5NGQxIDEwMDY0NAorLS0tIGEvb3BlbnZkYi9vcGVudmRiL0NNYWtlTGlz dHMudHh0CisrKysgYi9vcGVudmRiL29wZW52ZGIvQ01ha2VMaXN0cy50eHQKK0BAIC00MzcsNiAr NDM3LDEwIEBAIHNldChPUEVOVkRCX0xJQlJBUllfVVRJTF9JTkNMVURFX0ZJTEVTCisgICB1dGls L1V0aWwuaAorICkKKyAKKytzZXQoT1BFTlZEQl9MSUJSQVJZX1RIUkVBRF9JTkNMVURFX0ZJTEVT CisrICB0aHJlYWQvVGhyZWFkaW5nLmgKKyspCisrCisgIyBAdG9kbyBDTWFrZSA+PSAzLjEyLCB1 c2UgYW4gb2JqZWN0IGxpYnJhcnkgdG8gY29uc29saWRhdGUgc2hhcmVkL3N0YXRpYworICMgYnVp bGRzLiBUaGVyZSBhcmUgbGltaXRhdGlvbnMgd2l0aCBlYXJsaWVyIHZlcnNpb25zIG9mIENNYWtl IHdoZW4gdXNlZCB3aXRoCisgIyBpbXBvcnRlZCB0YXJnZXRzLgorQEAgLTU5MiwzICs1OTYsNCBA QCBpbnN0YWxsKEZJTEVTICR7T1BFTlZEQl9MSUJSQVJZX1BPSU5UU19JTkNMVURFX0ZJTEVTfSBE RVNUSU5BVElPTiAke09QRU5WREJfSU5TVAorIGluc3RhbGwoRklMRVMgJHtPUEVOVkRCX0xJQlJB UllfVE9PTFNfSU5DTFVERV9GSUxFU30gREVTVElOQVRJT04gJHtPUEVOVkRCX0lOU1RBTExfSU5D TFVERURJUn0vdG9vbHMpCisgaW5zdGFsbChGSUxFUyAke09QRU5WREJfTElCUkFSWV9UUkVFX0lO Q0xVREVfRklMRVN9IERFU1RJTkFUSU9OICR7T1BFTlZEQl9JTlNUQUxMX0lOQ0xVREVESVJ9L3Ry ZWUpCisgaW5zdGFsbChGSUxFUyAke09QRU5WREJfTElCUkFSWV9VVElMX0lOQ0xVREVfRklMRVN9 IERFU1RJTkFUSU9OICR7T1BFTlZEQl9JTlNUQUxMX0lOQ0xVREVESVJ9L3V0aWwpCisraW5zdGFs bChGSUxFUyAke09QRU5WREJfTElCUkFSWV9USFJFQURfSU5DTFVERV9GSUxFU30gREVTVElOQVRJ T04gJHtPUEVOVkRCX0lOU1RBTExfSU5DTFVERURJUn0vdGhyZWFkKQorZGlmZiAtLWdpdCBhL29w ZW52ZGIvb3BlbnZkYi9jbWQvb3BlbnZkYl9yZW5kZXIuY2MgYi9vcGVudmRiL29wZW52ZGIvY21k L29wZW52ZGJfcmVuZGVyLmNjCitpbmRleCBlZTViNzM3YzUuLjJjOTgzMWJhMyAxMDA2NDQKKy0t LSBhL29wZW52ZGIvb3BlbnZkYi9jbWQvb3BlbnZkYl9yZW5kZXIuY2MKKysrKyBiL29wZW52ZGIv b3BlbnZkYi9jbWQvb3BlbnZkYl9yZW5kZXIuY2MKK0BAIC0xOSw3ICsxOSwxNCBAQAorICNpbmNs dWRlIDxPcGVuRVhSL0ltZkhlYWRlci5oPgorICNpbmNsdWRlIDxPcGVuRVhSL0ltZk91dHB1dEZp bGUuaD4KKyAjaW5jbHVkZSA8T3BlbkVYUi9JbWZQaXhlbFR5cGUuaD4KKy0jaW5jbHVkZSA8dGJi L3Rhc2tfc2NoZWR1bGVyX2luaXQuaD4KKysKKysvLyB0YmIvdGFza19zY2hlZHVsZXJfaW5pdC5o IHdhcyByZW1vdmVkIGluIFRCQiAyMDIxLiBUaGUgYmVzdCBjb25zdHJ1Y3QgdG8gc3dhcAorKy8v IHRvIGlzIHRiYi9nbG9iYWxfY29udHJvbCAoZm9yIGV4ZWN1dGFibGVzKS4gZ2xvYmFsX2NvbnRy b2wgd2FzIG9ubHkgb2ZmaWNpYWxseQorKy8vIGFkZGVkIGluIFRCQiAyMDE5VTQgYnV0IGV4aXN0 cyBpbiAyMDE4IGFzIGEgcHJldmlldyBmZWF0dXJlLiBUbyBhdm9pZCBtb3JlCisrLy8gY29tcGls ZSB0aW1lIGJyYW5jaGluZyAoYXMgd2Ugc3RpbGwgc3VwcG9ydCAyMDE4KSwgd2UgdXNlIGl0IGlu IDIwMTggdG9vIGJ5CisrLy8gZW5hYmxpbmcgdGhlIGJlbG93IGRlZmluZS4KKysjZGVmaW5lIFRC Ql9QUkVWSUVXX0dMT0JBTF9DT05UUk9MIDEKKysjaW5jbHVkZSA8dGJiL2dsb2JhbF9jb250cm9s Lmg+CisgI2luY2x1ZGUgPHRiYi90aWNrX2NvdW50Lmg+CisgCisgI2luY2x1ZGUgPGFsZ29yaXRo bT4KK0BAIC02MDYsOCArNjEzLDEyIEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKKyAg ICAgfQorIAorICAgICB0cnkgeworLSAgICAgICAgdGJiOjp0YXNrX3NjaGVkdWxlcl9pbml0IHNj aGVkdWxlckluaXQoCistICAgICAgICAgICAgKG9wdHMudGhyZWFkcyA9PSAwKSA/IHRiYjo6dGFz a19zY2hlZHVsZXJfaW5pdDo6YXV0b21hdGljIDogb3B0cy50aHJlYWRzKTsKKysgICAgICAgIHN0 ZDo6dW5pcXVlX3B0cjx0YmI6Omdsb2JhbF9jb250cm9sPiBjb250cm9sOworKyAgICAgICAgaWYg KG9wdHMudGhyZWFkcyA+IDApIHsKKysgICAgICAgICAgICAvLyBub3RlLCBvcHRzLnRocmVhZHMg PT0gMCBtZWFucyB1c2UgYWxsIHRocmVhZHMgKGRlZmF1bHQpLCBzbyBkb24ndAorKyAgICAgICAg ICAgIC8vIG1hbnVhbGx5IGNyZWF0ZSBhIHRiYjo6Z2xvYmFsX2NvbnRyb2wgaW4gdGhpcyBjYXNl CisrICAgICAgICAgICAgY29udHJvbC5yZXNldChuZXcgdGJiOjpnbG9iYWxfY29udHJvbCh0YmI6 Omdsb2JhbF9jb250cm9sOjptYXhfYWxsb3dlZF9wYXJhbGxlbGlzbSwgb3B0cy50aHJlYWRzKSk7 CisrICAgICAgICB9CisgCisgICAgICAgICBvcGVudmRiOjppbml0aWFsaXplKCk7CisgCitkaWZm IC0tZ2l0IGEvb3BlbnZkYi9vcGVudmRiL2lvL1F1ZXVlLmNjIGIvb3BlbnZkYi9vcGVudmRiL2lv L1F1ZXVlLmNjCitpbmRleCBlZjVkMjk2MWEuLjIwZmYxYTBjMSAxMDA2NDQKKy0tLSBhL29wZW52 ZGIvb3BlbnZkYi9pby9RdWV1ZS5jYworKysrIGIvb3BlbnZkYi9vcGVudmRiL2lvL1F1ZXVlLmNj CitAQCAtNSwyMCArNSwyMiBAQAorIC8vLyBAYXV0aG9yIFBldGVyIEN1Y2thCisgCisgI2luY2x1 ZGUgIlF1ZXVlLmgiCistCisgI2luY2x1ZGUgIkZpbGUuaCIKKyAjaW5jbHVkZSAiU3RyZWFtLmgi CistI2luY2x1ZGUgPG9wZW52ZGIvRXhjZXB0aW9ucy5oPgorLSNpbmNsdWRlIDxvcGVudmRiL3V0 aWwvbG9nZ2luZy5oPgorKyNpbmNsdWRlICJvcGVudmRiL0V4Y2VwdGlvbnMuaCIKKysjaW5jbHVk ZSAib3BlbnZkYi91dGlsL2xvZ2dpbmcuaCIKKysKKyAjaW5jbHVkZSA8dGJiL2NvbmN1cnJlbnRf aGFzaF9tYXAuaD4KKy0jaW5jbHVkZSA8dGJiL3Rhc2suaD4KKy0jaW5jbHVkZSA8dGJiL3RiYl90 aHJlYWQuaD4gLy8gZm9yIHRiYjo6dGhpc190YmJfdGhyZWFkOjpzbGVlcCgpCistI2luY2x1ZGUg PHRiYi90aWNrX2NvdW50Lmg+CisrI2luY2x1ZGUgPHRiYi90YXNrX2FyZW5hLmg+CisrCisrI2lu Y2x1ZGUgPHRocmVhZD4KKyAjaW5jbHVkZSA8YWxnb3JpdGhtPiAvLyBmb3Igc3RkOjptYXgoKQor ICNpbmNsdWRlIDxhdG9taWM+CisgI2luY2x1ZGUgPGlvc3RyZWFtPgorICNpbmNsdWRlIDxtYXA+ CisgI2luY2x1ZGUgPG11dGV4PgorKyNpbmNsdWRlIDxjaHJvbm8+CisrCisgCisgbmFtZXNwYWNl IG9wZW52ZGIgeworIE9QRU5WREJfVVNFX1ZFUlNJT05fTkFNRVNQQUNFCitAQCAtMjgsMTggKzMw LDE5IEBAIG5hbWVzcGFjZSBpbyB7CisgbmFtZXNwYWNlIHsKKyAKKyAvLyBBYnN0cmFjdCBiYXNl IGNsYXNzIGZvciBxdWV1YWJsZSBUQkIgdGFza3MgdGhhdCBhZGRzIGEgdGFzayBjb21wbGV0aW9u IGNhbGxiYWNrCistY2xhc3MgVGFzazogcHVibGljIHRiYjo6dGFzaworK2NsYXNzIFRhc2sKKyB7 CisgcHVibGljOgorICAgICBUYXNrKFF1ZXVlOjpJZCBpZCk6IG1JZChpZCkge30KKy0gICAgflRh c2soKSBvdmVycmlkZSB7fQorKyAgICB2aXJ0dWFsIH5UYXNrKCkge30KKyAKKyAgICAgUXVldWU6 OklkIGlkKCkgY29uc3QgeyByZXR1cm4gbUlkOyB9CisgCisgICAgIHZvaWQgc2V0Tm90aWZpZXIo UXVldWU6Ok5vdGlmaWVyJiBub3RpZmllcikgeyBtTm90aWZ5ID0gbm90aWZpZXI7IH0KKysgICAg dmlydHVhbCB2b2lkIGV4ZWN1dGUoKSBjb25zdCA9IDA7CisgCisgcHJvdGVjdGVkOgorLSAgICB2 b2lkIG5vdGlmeShRdWV1ZTo6U3RhdHVzIHN0YXR1cykgeyBpZiAobU5vdGlmeSkgbU5vdGlmeSh0 aGlzLT5pZCgpLCBzdGF0dXMpOyB9CisrICAgIHZvaWQgbm90aWZ5KFF1ZXVlOjpTdGF0dXMgc3Rh dHVzKSBjb25zdCB7IGlmIChtTm90aWZ5KSBtTm90aWZ5KHRoaXMtPmlkKCksIHN0YXR1cyk7IH0K KyAKKyBwcml2YXRlOgorICAgICBRdWV1ZTo6SWQgbUlkOworQEAgLTQ4LDcgKzUxLDcgQEAgY2xh c3MgVGFzazogcHVibGljIHRiYjo6dGFzaworIAorIAorIC8vIFF1ZXVhYmxlIFRCQiB0YXNrIHRo YXQgd3JpdGVzIG9uZSBvciBtb3JlIGdyaWRzIHRvIGEgLnZkYiBmaWxlIG9yIGFuIG91dHB1dCBz dHJlYW0KKy1jbGFzcyBPdXRwdXRUYXNrOiBwdWJsaWMgVGFzaworK2NsYXNzIE91dHB1dFRhc2sg OiBwdWJsaWMgVGFzaworIHsKKyBwdWJsaWM6CisgICAgIE91dHB1dFRhc2soUXVldWU6OklkIGlk LCBjb25zdCBHcmlkQ1B0clZlYyYgZ3JpZHMsIGNvbnN0IEFyY2hpdmUmIGFyY2hpdmUsCitAQCAt NTYsMTAgKzU5LDEwIEBAIGNsYXNzIE91dHB1dFRhc2s6IHB1YmxpYyBUYXNrCisgICAgICAgICA6 IFRhc2soaWQpCisgICAgICAgICAsIG1HcmlkcyhncmlkcykKKyAgICAgICAgICwgbUFyY2hpdmUo YXJjaGl2ZS5jb3B5KCkpCistICAgICAgICAsIG1NZXRhZGF0YShtZXRhZGF0YSkKKy0gICAge30K KysgICAgICAgICwgbU1ldGFkYXRhKG1ldGFkYXRhKSB7fQorKyAgICB+T3V0cHV0VGFzaygpIG92 ZXJyaWRlIHt9CisgCistICAgIHRiYjo6dGFzayogZXhlY3V0ZSgpIG92ZXJyaWRlCisrICAgIHZv aWQgZXhlY3V0ZSgpIGNvbnN0IG92ZXJyaWRlCisgICAgIHsKKyAgICAgICAgIFF1ZXVlOjpTdGF0 dXMgc3RhdHVzID0gUXVldWU6OkZBSUxFRDsKKyAgICAgICAgIHRyeSB7CitAQCAtNjksMTAgKzcy LDggQEAgY2xhc3MgT3V0cHV0VGFzazogcHVibGljIFRhc2sKKyAgICAgICAgICAgICBpZiAoY29u c3QgY2hhciogbXNnID0gZS53aGF0KCkpIHsKKyAgICAgICAgICAgICAgICAgT1BFTlZEQl9MT0df RVJST1IobXNnKTsKKyAgICAgICAgICAgICB9CistICAgICAgICB9IGNhdGNoICguLi4pIHsKKy0g ICAgICAgIH0KKysgICAgICAgIH0gY2F0Y2ggKC4uLikge30KKyAgICAgICAgIHRoaXMtPm5vdGlm eShzdGF0dXMpOworLSAgICAgICAgcmV0dXJuIG51bGxwdHI7IC8vIG5vIHN1Y2Nlc3NvciB0byB0 aGlzIHRhc2sKKyAgICAgfQorIAorIHByaXZhdGU6CitAQCAtOTQsNyArOTUsNiBAQCBzdHJ1Y3Qg UXVldWU6OkltcGwKKyAgICAgLy8vIEB0b2RvIFByb3ZpZGUgbW9yZSBpbmZvcm1hdGlvbiB0aGFu IGp1c3QgInN1Y2NlZWRlZCIgb3IgImZhaWxlZCI/CisgICAgIHVzaW5nIFN0YXR1c01hcCA9IHRi Yjo6Y29uY3VycmVudF9oYXNoX21hcDxRdWV1ZTo6SWQsIFF1ZXVlOjpTdGF0dXM+OworIAorLQor ICAgICBJbXBsKCkKKyAgICAgICAgIDogbVRpbWVvdXQoUXVldWU6OkRFRkFVTFRfVElNRU9VVCkK KyAgICAgICAgICwgbUNhcGFjaXR5KFF1ZXVlOjpERUZBVUxUX0NBUEFDSVRZKQorQEAgLTE1OSwx MiArMTU5LDE1IEBAIHN0cnVjdCBRdWV1ZTo6SW1wbAorIAorICAgICBib29sIGNhbkVucXVldWUo KSBjb25zdCB7IHJldHVybiBtTnVtVGFza3MgPCBJbnQ2NChtQ2FwYWNpdHkpOyB9CisgCistICAg IHZvaWQgZW5xdWV1ZShUYXNrJiB0YXNrKQorKyAgICB2b2lkIGVucXVldWUoT3V0cHV0VGFzayYg dGFzaykKKyAgICAgeworLSAgICAgICAgdGJiOjp0aWNrX2NvdW50IHN0YXJ0ID0gdGJiOjp0aWNr X2NvdW50Ojpub3coKTsKKysgICAgICAgIGF1dG8gc3RhcnQgPSBzdGQ6OmNocm9ubzo6c3RlYWR5 X2Nsb2NrOjpub3coKTsKKyAgICAgICAgIHdoaWxlICghY2FuRW5xdWV1ZSgpKSB7CistICAgICAg ICAgICAgdGJiOjp0aGlzX3RiYl90aHJlYWQ6OnNsZWVwKHRiYjo6dGlja19jb3VudDo6aW50ZXJ2 YWxfdCgwLjUvKnNlYyovKSk7CistICAgICAgICAgICAgaWYgKCh0YmI6OnRpY2tfY291bnQ6Om5v dygpIC0gc3RhcnQpLnNlY29uZHMoKSA+IGRvdWJsZShtVGltZW91dCkpIHsKKysgICAgICAgICAg ICBzdGQ6OnRoaXNfdGhyZWFkOjpzbGVlcF9mb3IoLyowLjVzKi9zdGQ6OmNocm9ubzo6bWlsbGlz ZWNvbmRzKDUwMCkpOworKyAgICAgICAgICAgIGF1dG8gZHVyYXRpb24gPSBzdGQ6OmNocm9ubzo6 ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzPigKKysgICAgICAgICAgICAg ICAgc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCkgLSBzdGFydCk7CisrICAgICAgICAg ICAgY29uc3QgZG91YmxlIHNlY29uZHMgPSBkb3VibGUoZHVyYXRpb24uY291bnQoKSkgLyAxMDAw LjA7CisrICAgICAgICAgICAgaWYgKHNlY29uZHMgPiBkb3VibGUobVRpbWVvdXQpKSB7CisgICAg ICAgICAgICAgICAgIE9QRU5WREJfVEhST1coUnVudGltZUVycm9yLAorICAgICAgICAgICAgICAg ICAgICAgInVuYWJsZSB0byBxdWV1ZSBJL08gdGFzazsgIiA8PCBtVGltZW91dCA8PCAiLXNlY29u ZCB0aW1lIGxpbWl0IGV4cGlyZWQiKTsKKyAgICAgICAgICAgICB9CitAQCAtMTczLDcgKzE3Niwx MCBAQCBzdHJ1Y3QgUXVldWU6OkltcGwKKyAgICAgICAgICAgICBzdGQ6OnBsYWNlaG9sZGVyczo6 XzEsIHN0ZDo6cGxhY2Vob2xkZXJzOjpfMik7CisgICAgICAgICB0YXNrLnNldE5vdGlmaWVyKG5v dGlmeSk7CisgICAgICAgICB0aGlzLT5zZXRTdGF0dXModGFzay5pZCgpLCBRdWV1ZTo6UEVORElO Ryk7CistICAgICAgICB0YmI6OnRhc2s6OmVucXVldWUodGFzayk7CisrCisrICAgICAgICAvLyBn ZXQgdGhlIGdsb2JhbCB0YXNrIGFyZW5hCisrICAgICAgICB0YmI6OnRhc2tfYXJlbmEgYXJlbmEo dGJiOjp0YXNrX2FyZW5hOjphdHRhY2h7fSk7CisrICAgICAgICBhcmVuYS5lbnF1ZXVlKFt0YXNr ID0gc3RkOjptb3ZlKHRhc2spXSB7IHRhc2suZXhlY3V0ZSgpOyB9KTsKKyAgICAgICAgICsrbU51 bVRhc2tzOworICAgICB9CisgCitAQCAtMjA0LDcgKzIxMCw3IEBAIFF1ZXVlOjp+UXVldWUoKQor ICAgICAvLy8gKGUuZy4sIGJ5IGtlZXBpbmcgYSBzdGF0aWMgcmVnaXN0cnkgb2YgcXVldWVzIHRo YXQgYWxzbyBkaXNwYXRjaGVzCisgICAgIC8vLyBvciBibG9ja3Mgbm90aWZpY2F0aW9ucyk/Cisg ICAgIHdoaWxlIChtSW1wbC0+bU51bVRhc2tzID4gMCkgeworLSAgICAgICAgdGJiOjp0aGlzX3Ri Yl90aHJlYWQ6OnNsZWVwKHRiYjo6dGlja19jb3VudDo6aW50ZXJ2YWxfdCgwLjUvKnNlYyovKSk7 CisrICAgICAgICBzdGQ6OnRoaXNfdGhyZWFkOjpzbGVlcF9mb3IoLyowLjVzKi9zdGQ6OmNocm9u bzo6bWlsbGlzZWNvbmRzKDUwMCkpOworICAgICB9CisgfQorIAorQEAgLTI5MCwxNiArMjk2LDgg QEAgUXVldWU6OklkCisgUXVldWU6OndyaXRlR3JpZFZlYyhjb25zdCBHcmlkQ1B0clZlYyYgZ3Jp ZHMsIGNvbnN0IEFyY2hpdmUmIGFyY2hpdmUsIGNvbnN0IE1ldGFNYXAmIG1ldGFkYXRhKQorIHsK KyAgICAgY29uc3QgUXVldWU6OklkIHRhc2tJZCA9IG1JbXBsLT5tTmV4dElkKys7CistICAgIC8v IEZyb20gdGhlICJHVUkgVGhyZWFkIiBjaGFwdGVyIGluIHRoZSBUQkIgRGVzaWduIFBhdHRlcm5z IGd1aWRlCistICAgIE91dHB1dFRhc2sqIHRhc2sgPQorLSAgICAgICAgbmV3KHRiYjo6dGFzazo6 YWxsb2NhdGVfcm9vdCgpKSBPdXRwdXRUYXNrKHRhc2tJZCwgZ3JpZHMsIGFyY2hpdmUsIG1ldGFk YXRhKTsKKy0gICAgdHJ5IHsKKy0gICAgICAgIG1JbXBsLT5lbnF1ZXVlKCp0YXNrKTsKKy0gICAg fSBjYXRjaCAob3BlbnZkYjo6UnVudGltZUVycm9yJikgeworLSAgICAgICAgLy8gRGVzdHJveSB0 aGUgdGFzayBpZiBpdCBjb3VsZCBub3QgYmUgZW5xdWV1ZWQsIHRoZW4gcmV0aHJvdyB0aGUgZXhj ZXB0aW9uLgorLSAgICAgICAgdGJiOjp0YXNrOjpkZXN0cm95KCp0YXNrKTsKKy0gICAgICAgIHRo cm93OworLSAgICB9CisrICAgIE91dHB1dFRhc2sgdGFzayh0YXNrSWQsIGdyaWRzLCBhcmNoaXZl LCBtZXRhZGF0YSk7CisrICAgIG1JbXBsLT5lbnF1ZXVlKHRhc2spOworICAgICByZXR1cm4gdGFz a0lkOworIH0KKyAKK2RpZmYgLS1naXQgYS9vcGVudmRiL29wZW52ZGIvbWF0aC9Db29yZC5oIGIv b3BlbnZkYi9vcGVudmRiL21hdGgvQ29vcmQuaAoraW5kZXggNTA0YjVlOWE0Li4yZTljZmVkNWQg MTAwNjQ0CistLS0gYS9vcGVudmRiL29wZW52ZGIvbWF0aC9Db29yZC5oCisrKysgYi9vcGVudmRi L29wZW52ZGIvbWF0aC9Db29yZC5oCitAQCAtMTMsOCArMTMsNyBAQAorICNpbmNsdWRlICJNYXRo LmgiCisgI2luY2x1ZGUgIlZlYzMuaCIKKyAKKy1uYW1lc3BhY2UgdGJiIHsgY2xhc3Mgc3BsaXQ7 IH0gLy8gZm9yd2FyZCBkZWNsYXJhdGlvbgorLQorKyNpbmNsdWRlIDx0YmIvYmxvY2tlZF9yYW5n ZS5oPiAvLyBmb3IgdGJiOjpzcGxpdAorIAorIG5hbWVzcGFjZSBvcGVudmRiIHsKKyBPUEVOVkRC X1VTRV9WRVJTSU9OX05BTUVTUEFDRQorZGlmZiAtLWdpdCBhL29wZW52ZGIvb3BlbnZkYi9wb2lu dHMvUG9pbnRTYW1wbGUuaCBiL29wZW52ZGIvb3BlbnZkYi9wb2ludHMvUG9pbnRTYW1wbGUuaAor aW5kZXggYTEyMmNjNGZiLi4yN2VjM2ZiMjkgMTAwNjQ0CistLS0gYS9vcGVudmRiL29wZW52ZGIv cG9pbnRzL1BvaW50U2FtcGxlLmgKKysrKyBiL29wZW52ZGIvb3BlbnZkYi9wb2ludHMvUG9pbnRT YW1wbGUuaAorQEAgLTEwLDggKzEwLDkgQEAKKyAjaWZuZGVmIE9QRU5WREJfUE9JTlRTX1BPSU5U X1NBTVBMRV9IQVNfQkVFTl9JTkNMVURFRAorICNkZWZpbmUgT1BFTlZEQl9QT0lOVFNfUE9JTlRf U0FNUExFX0hBU19CRUVOX0lOQ0xVREVECisgCistI2luY2x1ZGUgPG9wZW52ZGIvdXRpbC9OdWxs SW50ZXJydXB0ZXIuaD4KKy0jaW5jbHVkZSA8b3BlbnZkYi90b29scy9JbnRlcnBvbGF0aW9uLmg+ CisrI2luY2x1ZGUgIm9wZW52ZGIvdXRpbC9OdWxsSW50ZXJydXB0ZXIuaCIKKysjaW5jbHVkZSAi b3BlbnZkYi90aHJlYWQvVGhyZWFkaW5nLmgiCisrI2luY2x1ZGUgIm9wZW52ZGIvdG9vbHMvSW50 ZXJwb2xhdGlvbi5oIgorIAorICNpbmNsdWRlICJQb2ludERhdGFHcmlkLmgiCisgI2luY2x1ZGUg IlBvaW50QXR0cmlidXRlLmgiCitAQCAtMTksNyArMjAsNiBAQAorICNpbmNsdWRlIDxzc3RyZWFt PgorICNpbmNsdWRlIDx0eXBlX3RyYWl0cz4KKyAKKy0KKyBuYW1lc3BhY2Ugb3BlbnZkYiB7Cisg T1BFTlZEQl9VU0VfVkVSU0lPTl9OQU1FU1BBQ0UKKyBuYW1lc3BhY2UgT1BFTlZEQl9WRVJTSU9O X05BTUUgeworQEAgLTI5OSw3ICsyOTksNyBAQCBjbGFzcyBQb2ludERhdGFTYW1wbGVyCisgICAg ICAgICAgICAgdXNpbmcgVGFyZ2V0SGFuZGxlVCA9IEF0dHJpYnV0ZVdyaXRlSGFuZGxlPHR5cGVu YW1lIFNhbXBsZXJXcmFwcGVyVDo6VmFsdWVUeXBlPjsKKyAKKyAgICAgICAgICAgICBpZiAodXRp bDo6d2FzSW50ZXJydXB0ZWQoaW50ZXJydXB0ZXIpKSB7CistICAgICAgICAgICAgICAgIHRiYjo6 dGFzazo6c2VsZigpLmNhbmNlbF9ncm91cF9leGVjdXRpb24oKTsKKysgICAgICAgICAgICAgICAg dGhyZWFkOjpjYW5jZWxHcm91cEV4ZWN1dGlvbigpOworICAgICAgICAgICAgICAgICByZXR1cm47 CisgICAgICAgICAgICAgfQorIAorZGlmZiAtLWdpdCBhL29wZW52ZGIvb3BlbnZkYi90aHJlYWQv VGhyZWFkaW5nLmggYi9vcGVudmRiL29wZW52ZGIvdGhyZWFkL1RocmVhZGluZy5oCituZXcgZmls ZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwLi4wYzNiMzU2ZTMKKy0tLSAvZGV2L251bGwK KysrKyBiL29wZW52ZGIvb3BlbnZkYi90aHJlYWQvVGhyZWFkaW5nLmgKK0BAIC0wLDAgKzEsNTQg QEAKKysvLyBDb3B5cmlnaHQgQ29udHJpYnV0b3JzIHRvIHRoZSBPcGVuVkRCIFByb2plY3QKKysv LyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMAorKy8vCisrLy8vIEBmaWxlIFRocmVh ZGluZy5oCisrCisrI2lmbmRlZiBPUEVOVkRCX1RIUkVBRF9USFJFQURJTkdfSEFTX0JFRU5fSU5D TFVERUQKKysjZGVmaW5lIE9QRU5WREJfVEhSRUFEX1RIUkVBRElOR19IQVNfQkVFTl9JTkNMVURF RAorKworKyNpbmNsdWRlICJvcGVudmRiL3ZlcnNpb24uaCIKKysKKysvLy8gQG5vdGUgdGJiL2Js b2NrZWRfcmFuZ2UuaCBpcyB0aGUgT05MWSBpbmNsdWRlIHRoYXQgcGVyc2lzdHMgZnJvbSBUQkIg MjAyMAorKy8vLyAgIHRvIFRCQiAyMDIxIHRoYXQgaXRzZWxmIGluY2x1ZGVzIHRoZSBUQkIgc3Bl Y2lmaWMgdmVyc2lvbiBoZWFkZXIgZmlsZXMuCisrLy8vICAgSW4gVEJCIDIwMjAsIHRoZSB2ZXJz aW9uIGhlYWRlciB3YXMgY2FsbGVkIHRiYi9zdGRkZWYuaC4gSW4gMjAyMSwgaXQncworKy8vLyAg IGNhbGxlZCB0YmIvdmVyc2lvbi5oLiBXZSBpbmNsdWRlIHRiYi9ibG9ja2VkX3JhbmdlLmggaGVy ZSB0byBpbmRpcmVjdGx5CisrLy8vICAgYWNjZXNzIHRoZSB2ZXJzaW9uIGRlZmluZXMgaW4gYSBj b25zaXN0ZW50IHdheSBzbyB0aGF0IGRvd25zdHJlYW0KKysvLy8gICBzb2Z0d2FyZSBkb2Vzbid0 IG5lZWQgdG8gcHJvdmlkZSBjb21waWxlIHRpbWUgZGVmaW5lcy4KKysjaW5jbHVkZSA8dGJiL2Js b2NrZWRfcmFuZ2UuaD4KKysjaW5jbHVkZSA8dGJiL3Rhc2suaD4KKysjaW5jbHVkZSA8dGJiL3Rh c2tfZ3JvdXAuaD4KKysKKytuYW1lc3BhY2Ugb3BlbnZkYiB7CisrT1BFTlZEQl9VU0VfVkVSU0lP Tl9OQU1FU1BBQ0UKKytuYW1lc3BhY2UgT1BFTlZEQl9WRVJTSU9OX05BTUUgeworK25hbWVzcGFj ZSB0aHJlYWQgeworKworK2lubGluZSBib29sIGNhbmNlbEdyb3VwRXhlY3V0aW9uKCkKKyt7Cisr ICAgIC8vIEBub3RlIDEyMDAwIHdhcyB0aGUgMjAyMS4xLWJldGEwNSByZWxlYXNlLiBUaGUgMjAy MS4xLWJldGEwOCByZWxlYXNlCisrICAgIC8vICAgaW50cm9kdWNlZCBjdXJyZW50X2NvbnRleHQo KS4KKysjaWYgVEJCX0lOVEVSRkFDRV9WRVJTSU9OID49IDEyMDAyCisrICAgIGF1dG8gY3R4ID0g dGJiOjp0YXNrOjpjdXJyZW50X2NvbnRleHQoKTsKKysgICAgcmV0dXJuIGN0eCA/IGN0eC0+Y2Fu Y2VsX2dyb3VwX2V4ZWN1dGlvbigpIDogZmFsc2U7CisrI2Vsc2UKKysgICAgcmV0dXJuIHRiYjo6 dGFzazo6c2VsZigpLmNhbmNlbF9ncm91cF9leGVjdXRpb24oKTsKKysjZW5kaWYKKyt9CisrCisr aW5saW5lIGJvb2wgaXNHcm91cEV4ZWN1dGlvbkNhbmNlbGxlZCgpCisreworKyAgICAvLyBAbm90 ZSAxMjAwMCB3YXMgdGhlIDIwMjEuMS1iZXRhMDUgcmVsZWFzZS4gVGhlIDIwMjEuMS1iZXRhMDgg cmVsZWFzZQorKyAgICAvLyAgIGludHJvZHVjZWQgY3VycmVudF9jb250ZXh0KCkuCisrI2lmIFRC Ql9JTlRFUkZBQ0VfVkVSU0lPTiA+PSAxMjAwMgorKyAgICBhdXRvIGN0eCA9IHRiYjo6dGFzazo6 Y3VycmVudF9jb250ZXh0KCk7CisrICAgIHJldHVybiBjdHggPyBjdHgtPmlzX2dyb3VwX2V4ZWN1 dGlvbl9jYW5jZWxsZWQoKSA6IGZhbHNlOworKyNlbHNlCisrICAgIHJldHVybiB0YmI6OnRhc2s6 OnNlbGYoKS5pc19jYW5jZWxsZWQoKTsKKysjZW5kaWYKKyt9CisrCisrfSAvLyBuYW1lc3BhY2Ug dGhyZWFkCisrfSAvLyBuYW1lc3BhY2UgT1BFTlZEQl9WRVJTSU9OX05BTUUKKyt9IC8vIG5hbWVz cGFjZSBvcGVudmRiCisrCisrI2VuZGlmIC8vIE9QRU5WREJfVEhSRUFEX1RIUkVBRElOR19IQVNf QkVFTl9JTkNMVURFRAorZGlmZiAtLWdpdCBhL29wZW52ZGIvb3BlbnZkYi90b29scy9Db21wb3Np dGUuaCBiL29wZW52ZGIvb3BlbnZkYi90b29scy9Db21wb3NpdGUuaAoraW5kZXggNmJjMTcwYmY3 Li44OGZmODZmOWYgMTAwNjQ0CistLS0gYS9vcGVudmRiL29wZW52ZGIvdG9vbHMvQ29tcG9zaXRl LmgKKysrKyBiL29wZW52ZGIvb3BlbnZkYi90b29scy9Db21wb3NpdGUuaAorQEAgLTI0LDcgKzI0 LDYgQEAKKyAjaW5jbHVkZSA8dGJiL3BhcmFsbGVsX2Zvci5oPgorICNpbmNsdWRlIDx0YmIvcGFy YWxsZWxfcmVkdWNlLmg+CisgI2luY2x1ZGUgPHRiYi90YXNrX2dyb3VwLmg+CistI2luY2x1ZGUg PHRiYi90YXNrX3NjaGVkdWxlcl9pbml0Lmg+CisgCisgI2luY2x1ZGUgPHR5cGVfdHJhaXRzPgor ICNpbmNsdWRlIDxmdW5jdGlvbmFsPgorZGlmZiAtLWdpdCBhL29wZW52ZGIvb3BlbnZkYi90b29s cy9EaWFnbm9zdGljcy5oIGIvb3BlbnZkYi9vcGVudmRiL3Rvb2xzL0RpYWdub3N0aWNzLmgKK2lu ZGV4IDY5NGQyMTU1Zi4uZTU4NDRlNDQ4IDEwMDY0NAorLS0tIGEvb3BlbnZkYi9vcGVudmRiL3Rv b2xzL0RpYWdub3N0aWNzLmgKKysrKyBiL29wZW52ZGIvb3BlbnZkYi90b29scy9EaWFnbm9zdGlj cy5oCitAQCAtMTEsMTQgKzExLDE3IEBACisgI2lmbmRlZiBPUEVOVkRCX1RPT0xTX0RJQUdOT1NU SUNTX0hBU19CRUVOX0lOQ0xVREVECisgI2RlZmluZSBPUEVOVkRCX1RPT0xTX0RJQUdOT1NUSUNT X0hBU19CRUVOX0lOQ0xVREVECisgCistI2luY2x1ZGUgPG9wZW52ZGIvR3JpZC5oPgorLSNpbmNs dWRlIDxvcGVudmRiL21hdGgvTWF0aC5oPgorLSNpbmNsdWRlIDxvcGVudmRiL21hdGgvVmVjMy5o PgorLSNpbmNsdWRlIDxvcGVudmRiL21hdGgvU3RlbmNpbHMuaD4KKy0jaW5jbHVkZSA8b3BlbnZk Yi9tYXRoL09wZXJhdG9ycy5oPgorLSNpbmNsdWRlIDxvcGVudmRiL3RyZWUvTGVhZk1hbmFnZXIu aD4KKysjaW5jbHVkZSAib3BlbnZkYi9HcmlkLmgiCisrI2luY2x1ZGUgIm9wZW52ZGIvbWF0aC9N YXRoLmgiCisrI2luY2x1ZGUgIm9wZW52ZGIvbWF0aC9WZWMzLmgiCisrI2luY2x1ZGUgIm9wZW52 ZGIvbWF0aC9TdGVuY2lscy5oIgorKyNpbmNsdWRlICJvcGVudmRiL21hdGgvT3BlcmF0b3JzLmgi CisrI2luY2x1ZGUgIm9wZW52ZGIvdHJlZS9MZWFmTWFuYWdlci5oIgorKyNpbmNsdWRlICJvcGVu dmRiL3RocmVhZC9UaHJlYWRpbmcuaCIKKysKKyAjaW5jbHVkZSA8dGJiL2Jsb2NrZWRfcmFuZ2Uu aD4KKyAjaW5jbHVkZSA8dGJiL3BhcmFsbGVsX3JlZHVjZS5oPgorKworICNpbmNsdWRlIDxjbWF0 aD4gLy8gZm9yIHN0ZDo6aXNuYW4oKSwgc3RkOjppc2Zpbml0ZSgpCisgI2luY2x1ZGUgPHNldD4K KyAjaW5jbHVkZSA8c3N0cmVhbT4KK0BAIC0yNiw3ICsyOSw2IEBACisgI2luY2x1ZGUgPHR5cGVf dHJhaXRzPgorICNpbmNsdWRlIDx2ZWN0b3I+CisgCistCisgbmFtZXNwYWNlIG9wZW52ZGIgewor IE9QRU5WREJfVVNFX1ZFUlNJT05fTkFNRVNQQUNFCisgbmFtZXNwYWNlIE9QRU5WREJfVkVSU0lP Tl9OQU1FIHsKK0BAIC0xMTYwLDEzICsxMTYyLDEzIEBAIEluYWN0aXZlVm94ZWxWYWx1ZXM8VHJl ZVR5cGU+OjpvcGVyYXRvcigpKGNvbnN0IHRiYjo6YmxvY2tlZF9yYW5nZTxzaXplX3Q+JiByYW5n CisgeworICAgICB0eXBlbmFtZSBUcmVlVHlwZTo6TGVhZk5vZGVUeXBlOjpWYWx1ZU9mZkNJdGVy IGl0ZXI7CisgCistICAgIGZvciAoc2l6ZV90IG4gPSByYW5nZS5iZWdpbigpOyBuIDwgcmFuZ2Uu ZW5kKCkgJiYgIXRiYjo6dGFzazo6c2VsZigpLmlzX2NhbmNlbGxlZCgpOyArK24pIHsKKysgICAg Zm9yIChzaXplX3QgbiA9IHJhbmdlLmJlZ2luKCk7IG4gPCByYW5nZS5lbmQoKSAmJiAhdGhyZWFk Ojppc0dyb3VwRXhlY3V0aW9uQ2FuY2VsbGVkKCk7ICsrbikgeworICAgICAgICAgZm9yIChpdGVy ID0gbUxlYWZBcnJheS5sZWFmKG4pLmNiZWdpblZhbHVlT2ZmKCk7IGl0ZXI7ICsraXRlcikgewor ICAgICAgICAgICAgIG1JbmFjdGl2ZVZhbHVlcy5pbnNlcnQoaXRlci5nZXRWYWx1ZSgpKTsKKyAg ICAgICAgIH0KKyAKKyAgICAgICAgIGlmIChtSW5hY3RpdmVWYWx1ZXMuc2l6ZSgpID4gbU51bVZh bHVlcykgeworLSAgICAgICAgICAgIHRiYjo6dGFzazo6c2VsZigpLmNhbmNlbF9ncm91cF9leGVj dXRpb24oKTsKKysgICAgICAgICAgICB0aHJlYWQ6OmNhbmNlbEdyb3VwRXhlY3V0aW9uKCk7Cisg ICAgICAgICB9CisgICAgIH0KKyB9CitAQCAtMTI1MCwxNCArMTI1MiwxNCBAQCB0ZW1wbGF0ZTx0 eXBlbmFtZSBUcmVlVHlwZT4KKyBpbmxpbmUgdm9pZAorIEluYWN0aXZlVGlsZVZhbHVlczxUcmVl VHlwZT46Om9wZXJhdG9yKCkoSXRlclJhbmdlJiByYW5nZSkKKyB7CistICAgIGZvciAoOyByYW5n ZSAmJiAhdGJiOjp0YXNrOjpzZWxmKCkuaXNfY2FuY2VsbGVkKCk7ICsrcmFuZ2UpIHsKKysgICAg Zm9yICg7IHJhbmdlICYmICF0aHJlYWQ6OmlzR3JvdXBFeGVjdXRpb25DYW5jZWxsZWQoKTsgKyty YW5nZSkgeworICAgICAgICAgdHlwZW5hbWUgVHJlZVR5cGU6OlZhbHVlT2ZmQ0l0ZXIgaXRlciA9 IHJhbmdlLml0ZXJhdG9yKCk7CisgICAgICAgICBmb3IgKDsgaXRlcjsgKytpdGVyKSB7CisgICAg ICAgICAgICAgbUluYWN0aXZlVmFsdWVzLmluc2VydChpdGVyLmdldFZhbHVlKCkpOworICAgICAg ICAgfQorIAorICAgICAgICAgaWYgKG1JbmFjdGl2ZVZhbHVlcy5zaXplKCkgPiBtTnVtVmFsdWVz KSB7CistICAgICAgICAgICAgdGJiOjp0YXNrOjpzZWxmKCkuY2FuY2VsX2dyb3VwX2V4ZWN1dGlv bigpOworKyAgICAgICAgICAgIHRocmVhZDo6Y2FuY2VsR3JvdXBFeGVjdXRpb24oKTsKKyAgICAg ICAgIH0KKyAgICAgfQorIH0KK2RpZmYgLS1naXQgYS9vcGVudmRiL29wZW52ZGIvdG9vbHMvRmls dGVyLmggYi9vcGVudmRiL29wZW52ZGIvdG9vbHMvRmlsdGVyLmgKK2luZGV4IDQwOGM3NTU0MS4u YjcwMjEyNTIwIDEwMDY0NAorLS0tIGEvb3BlbnZkYi9vcGVudmRiL3Rvb2xzL0ZpbHRlci5oCisr KysgYi9vcGVudmRiL29wZW52ZGIvdG9vbHMvRmlsdGVyLmgKK0BAIC0xNCwyMSArMTQsMjQgQEAK KyAjaWZuZGVmIE9QRU5WREJfVE9PTFNfRklMVEVSX0hBU19CRUVOX0lOQ0xVREVECisgI2RlZmlu ZSBPUEVOVkRCX1RPT0xTX0ZJTFRFUl9IQVNfQkVFTl9JTkNMVURFRAorIAorLSNpbmNsdWRlIDx0 YmIvcGFyYWxsZWxfZm9yLmg+CistI2luY2x1ZGUgPG9wZW52ZGIvVHlwZXMuaD4KKy0jaW5jbHVk ZSA8b3BlbnZkYi9tYXRoL01hdGguaD4KKy0jaW5jbHVkZSA8b3BlbnZkYi9tYXRoL1N0ZW5jaWxz Lmg+CistI2luY2x1ZGUgPG9wZW52ZGIvbWF0aC9UcmFuc2Zvcm0uaD4KKy0jaW5jbHVkZSA8b3Bl bnZkYi90cmVlL05vZGVNYW5hZ2VyLmg+CistI2luY2x1ZGUgPG9wZW52ZGIvdHJlZS9MZWFmTWFu YWdlci5oPgorLSNpbmNsdWRlIDxvcGVudmRiL3V0aWwvTnVsbEludGVycnVwdGVyLmg+CistI2lu Y2x1ZGUgPG9wZW52ZGIvdXRpbC9VdGlsLmg+CistI2luY2x1ZGUgPG9wZW52ZGIvR3JpZC5oPgor KyNpbmNsdWRlICJvcGVudmRiL1R5cGVzLmgiCisrI2luY2x1ZGUgIm9wZW52ZGIvR3JpZC5oIgor KyNpbmNsdWRlICJvcGVudmRiL21hdGgvTWF0aC5oIgorKyNpbmNsdWRlICJvcGVudmRiL21hdGgv U3RlbmNpbHMuaCIKKysjaW5jbHVkZSAib3BlbnZkYi9tYXRoL1RyYW5zZm9ybS5oIgorKyNpbmNs dWRlICJvcGVudmRiL3RyZWUvTm9kZU1hbmFnZXIuaCIKKysjaW5jbHVkZSAib3BlbnZkYi90cmVl L0xlYWZNYW5hZ2VyLmgiCisrI2luY2x1ZGUgIm9wZW52ZGIvdXRpbC9OdWxsSW50ZXJydXB0ZXIu aCIKKysjaW5jbHVkZSAib3BlbnZkYi91dGlsL1V0aWwuaCIKKysjaW5jbHVkZSAib3BlbnZkYi90 aHJlYWQvVGhyZWFkaW5nLmgiCisgI2luY2x1ZGUgIkludGVycG9sYXRpb24uaCIKKysKKysjaW5j bHVkZSA8dGJiL3BhcmFsbGVsX2Zvci5oPgorKyNpbmNsdWRlIDx0YmIvY29uY3VycmVudF92ZWN0 b3IuaD4KKysKKyAjaW5jbHVkZSA8YWxnb3JpdGhtPiAvLyBmb3Igc3RkOjptYXgoKQorICNpbmNs dWRlIDxmdW5jdGlvbmFsPgorICNpbmNsdWRlIDx0eXBlX3RyYWl0cz4KKy0jaW5jbHVkZSA8dGJi L2NvbmN1cnJlbnRfdmVjdG9yLmg+CisgCisgbmFtZXNwYWNlIG9wZW52ZGIgeworIE9QRU5WREJf VVNFX1ZFUlNJT05fTkFNRVNQQUNFCitAQCAtODMzLDcgKzgzNiw3IEBAIGlubGluZSBib29sCisg RmlsdGVyPEdyaWRULCBNYXNrVCwgSW50ZXJydXB0VD46Ondhc0ludGVycnVwdGVkKCkKKyB7Cisg ICAgIGlmICh1dGlsOjp3YXNJbnRlcnJ1cHRlZChtSW50ZXJydXB0ZXIpKSB7CistICAgICAgICB0 YmI6OnRhc2s6OnNlbGYoKS5jYW5jZWxfZ3JvdXBfZXhlY3V0aW9uKCk7CisrICAgICAgICB0aHJl YWQ6OmNhbmNlbEdyb3VwRXhlY3V0aW9uKCk7CisgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAg fQorICAgICByZXR1cm4gZmFsc2U7CitkaWZmIC0tZ2l0IGEvb3BlbnZkYi9vcGVudmRiL3Rvb2xz L0dyaWRPcGVyYXRvcnMuaCBiL29wZW52ZGIvb3BlbnZkYi90b29scy9HcmlkT3BlcmF0b3JzLmgK K2luZGV4IDMxMzA1YTFhYi4uNzhmYWZlYWQ5IDEwMDY0NAorLS0tIGEvb3BlbnZkYi9vcGVudmRi L3Rvb2xzL0dyaWRPcGVyYXRvcnMuaAorKysrIGIvb3BlbnZkYi9vcGVudmRiL3Rvb2xzL0dyaWRP cGVyYXRvcnMuaAorQEAgLTksMTQgKzksMTUgQEAKKyAjaWZuZGVmIE9QRU5WREJfVE9PTFNfR1JJ RF9PUEVSQVRPUlNfSEFTX0JFRU5fSU5DTFVERUQKKyAjZGVmaW5lIE9QRU5WREJfVE9PTFNfR1JJ RF9PUEVSQVRPUlNfSEFTX0JFRU5fSU5DTFVERUQKKyAKKy0jaW5jbHVkZSA8b3BlbnZkYi9Hcmlk Lmg+CistI2luY2x1ZGUgPG9wZW52ZGIvbWF0aC9PcGVyYXRvcnMuaD4KKy0jaW5jbHVkZSA8b3Bl bnZkYi91dGlsL051bGxJbnRlcnJ1cHRlci5oPgorLSNpbmNsdWRlIDxvcGVudmRiL3RyZWUvTGVh Zk1hbmFnZXIuaD4KKy0jaW5jbHVkZSA8b3BlbnZkYi90cmVlL1ZhbHVlQWNjZXNzb3IuaD4KKysj aW5jbHVkZSAib3BlbnZkYi9HcmlkLmgiCisrI2luY2x1ZGUgIm9wZW52ZGIvbWF0aC9PcGVyYXRv cnMuaCIKKysjaW5jbHVkZSAib3BlbnZkYi91dGlsL051bGxJbnRlcnJ1cHRlci5oIgorKyNpbmNs dWRlICJvcGVudmRiL3RocmVhZC9UaHJlYWRpbmcuaCIKKysjaW5jbHVkZSAib3BlbnZkYi90cmVl L0xlYWZNYW5hZ2VyLmgiCisrI2luY2x1ZGUgIm9wZW52ZGIvdHJlZS9WYWx1ZUFjY2Vzc29yLmgi CisgI2luY2x1ZGUgIlZhbHVlVHJhbnNmb3JtZXIuaCIgLy8gZm9yIHRvb2xzOjpmb3JlYWNoKCkK Ky0jaW5jbHVkZSA8dGJiL3BhcmFsbGVsX2Zvci5oPgorIAorKyNpbmNsdWRlIDx0YmIvcGFyYWxs ZWxfZm9yLmg+CisgCisgbmFtZXNwYWNlIG9wZW52ZGIgeworIE9QRU5WREJfVVNFX1ZFUlNJT05f TkFNRVNQQUNFCitAQCAtMzgzLDcgKzM4NCw5IEBAIGNsYXNzIEdyaWRPcGVyYXRvcgorICAgICAv Ly8gVEJCIHRocmVhZHMgb25seSEKKyAgICAgdm9pZCBvcGVyYXRvcigpKGNvbnN0IHR5cGVuYW1l IExlYWZNYW5hZ2VyVDo6TGVhZlJhbmdlJiByYW5nZSkgY29uc3QKKyAgICAgeworLSAgICAgICAg aWYgKHV0aWw6Ondhc0ludGVycnVwdGVkKG1JbnRlcnJ1cHQpKSB0YmI6OnRhc2s6OnNlbGYoKS5j YW5jZWxfZ3JvdXBfZXhlY3V0aW9uKCk7CisrICAgICAgICBpZiAodXRpbDo6d2FzSW50ZXJydXB0 ZWQobUludGVycnVwdCkpIHsKKysgICAgICAgICAgICB0aHJlYWQ6OmNhbmNlbEdyb3VwRXhlY3V0 aW9uKCk7CisrICAgICAgICB9CisgCisgICAgICAgICBmb3IgKHR5cGVuYW1lIExlYWZNYW5hZ2Vy VDo6TGVhZlJhbmdlOjpJdGVyYXRvciBsZWFmPXJhbmdlLmJlZ2luKCk7IGxlYWY7ICsrbGVhZikg eworICAgICAgICAgICAgIGZvciAodHlwZW5hbWUgT3V0TGVhZlQ6OlZhbHVlT25JdGVyIHZhbHVl PWxlYWYtPmJlZ2luVmFsdWVPbigpOyB2YWx1ZTsgKyt2YWx1ZSkgeworZGlmZiAtLWdpdCBhL29w ZW52ZGIvb3BlbnZkYi90b29scy9MZXZlbFNldE1lYXN1cmUuaCBiL29wZW52ZGIvb3BlbnZkYi90 b29scy9MZXZlbFNldE1lYXN1cmUuaAoraW5kZXggZWZlMTkwNzRkLi41OTk2OWNkY2YgMTAwNjQ0 CistLS0gYS9vcGVudmRiL29wZW52ZGIvdG9vbHMvTGV2ZWxTZXRNZWFzdXJlLmgKKysrKyBiL29w ZW52ZGIvb3BlbnZkYi90b29scy9MZXZlbFNldE1lYXN1cmUuaAorQEAgLTgsMTggKzgsMjEgQEAK KyAjaWZuZGVmIE9QRU5WREJfVE9PTFNfTEVWRUxTRVRNRUFTVVJFX0hBU19CRUVOX0lOQ0xVREVE CisgI2RlZmluZSBPUEVOVkRCX1RPT0xTX0xFVkVMU0VUTUVBU1VSRV9IQVNfQkVFTl9JTkNMVURF RAorIAorLSNpbmNsdWRlIDxvcGVudmRiL21hdGgvTWF0aC5oPgorLSNpbmNsdWRlIDxvcGVudmRi L1R5cGVzLmg+CistI2luY2x1ZGUgPG9wZW52ZGIvR3JpZC5oPgorLSNpbmNsdWRlIDxvcGVudmRi L3RyZWUvTGVhZk1hbmFnZXIuaD4KKy0jaW5jbHVkZSA8b3BlbnZkYi90cmVlL1ZhbHVlQWNjZXNz b3IuaD4KKy0jaW5jbHVkZSA8b3BlbnZkYi9tYXRoL0Zpbml0ZURpZmZlcmVuY2UuaD4KKy0jaW5j bHVkZSA8b3BlbnZkYi9tYXRoL09wZXJhdG9ycy5oPgorLSNpbmNsdWRlIDxvcGVudmRiL21hdGgv U3RlbmNpbHMuaD4KKy0jaW5jbHVkZSA8b3BlbnZkYi91dGlsL051bGxJbnRlcnJ1cHRlci5oPgor KyNpbmNsdWRlICJvcGVudmRiL1R5cGVzLmgiCisrI2luY2x1ZGUgIm9wZW52ZGIvR3JpZC5oIgor KyNpbmNsdWRlICJvcGVudmRiL3RyZWUvTGVhZk1hbmFnZXIuaCIKKysjaW5jbHVkZSAib3BlbnZk Yi90cmVlL1ZhbHVlQWNjZXNzb3IuaCIKKysjaW5jbHVkZSAib3BlbnZkYi9tYXRoL01hdGguaCIK KysjaW5jbHVkZSAib3BlbnZkYi9tYXRoL0Zpbml0ZURpZmZlcmVuY2UuaCIKKysjaW5jbHVkZSAi b3BlbnZkYi9tYXRoL09wZXJhdG9ycy5oIgorKyNpbmNsdWRlICJvcGVudmRiL21hdGgvU3RlbmNp bHMuaCIKKysjaW5jbHVkZSAib3BlbnZkYi91dGlsL051bGxJbnRlcnJ1cHRlci5oIgorKyNpbmNs dWRlICJvcGVudmRiL3RocmVhZC9UaHJlYWRpbmcuaCIKKysKKyAjaW5jbHVkZSA8dGJiL3BhcmFs bGVsX2Zvci5oPgorICNpbmNsdWRlIDx0YmIvcGFyYWxsZWxfc29ydC5oPgorICNpbmNsdWRlIDx0 YmIvcGFyYWxsZWxfaW52b2tlLmg+CisrCisgI2luY2x1ZGUgPHR5cGVfdHJhaXRzPgorIAorIG5h bWVzcGFjZSBvcGVudmRiIHsKK0BAIC0zMjksNyArMzMyLDcgQEAgaW5saW5lIGJvb2wKKyBMZXZl bFNldE1lYXN1cmU8R3JpZFQsIEludGVycnVwdFQ+OjpjaGVja0ludGVycnVwdGVyKCkKKyB7Cisg ICAgIGlmICh1dGlsOjp3YXNJbnRlcnJ1cHRlZChtSW50ZXJydXB0ZXIpKSB7CistICAgICAgICB0 YmI6OnRhc2s6OnNlbGYoKS5jYW5jZWxfZ3JvdXBfZXhlY3V0aW9uKCk7CisrICAgICAgICB0aHJl YWQ6OmNhbmNlbEdyb3VwRXhlY3V0aW9uKCk7CisgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg IH0KKyAgICAgcmV0dXJuIHRydWU7CitkaWZmIC0tZ2l0IGEvb3BlbnZkYi9vcGVudmRiL3Rvb2xz L0xldmVsU2V0VHJhY2tlci5oIGIvb3BlbnZkYi9vcGVudmRiL3Rvb2xzL0xldmVsU2V0VHJhY2tl ci5oCitpbmRleCBjYmRjMjY3ZTguLmJmYzgwMDRlNyAxMDA2NDQKKy0tLSBhL29wZW52ZGIvb3Bl bnZkYi90b29scy9MZXZlbFNldFRyYWNrZXIuaAorKysrIGIvb3BlbnZkYi9vcGVudmRiL3Rvb2xz L0xldmVsU2V0VHJhY2tlci5oCitAQCAtMTIsMjQgKzEyLDI2IEBACisgI2lmbmRlZiBPUEVOVkRC X1RPT0xTX0xFVkVMX1NFVF9UUkFDS0VSX0hBU19CRUVOX0lOQ0xVREVECisgI2RlZmluZSBPUEVO VkRCX1RPT0xTX0xFVkVMX1NFVF9UUkFDS0VSX0hBU19CRUVOX0lOQ0xVREVECisgCistI2luY2x1 ZGUgPHRiYi9wYXJhbGxlbF9mb3IuaD4KKy0jaW5jbHVkZSA8b3BlbnZkYi9UeXBlcy5oPgorLSNp bmNsdWRlIDxvcGVudmRiL21hdGgvTWF0aC5oPgorLSNpbmNsdWRlIDxvcGVudmRiL21hdGgvRmlu aXRlRGlmZmVyZW5jZS5oPgorLSNpbmNsdWRlIDxvcGVudmRiL21hdGgvT3BlcmF0b3JzLmg+Cist I2luY2x1ZGUgPG9wZW52ZGIvbWF0aC9TdGVuY2lscy5oPgorLSNpbmNsdWRlIDxvcGVudmRiL21h dGgvVHJhbnNmb3JtLmg+CistI2luY2x1ZGUgPG9wZW52ZGIvR3JpZC5oPgorLSNpbmNsdWRlIDxv cGVudmRiL3V0aWwvTnVsbEludGVycnVwdGVyLmg+CistI2luY2x1ZGUgPG9wZW52ZGIvdHJlZS9W YWx1ZUFjY2Vzc29yLmg+CistI2luY2x1ZGUgPG9wZW52ZGIvdHJlZS9MZWFmTWFuYWdlci5oPgor KyNpbmNsdWRlICJvcGVudmRiL1R5cGVzLmgiCisrI2luY2x1ZGUgIm9wZW52ZGIvR3JpZC5oIgor KyNpbmNsdWRlICJvcGVudmRiL21hdGgvTWF0aC5oIgorKyNpbmNsdWRlICJvcGVudmRiL21hdGgv RmluaXRlRGlmZmVyZW5jZS5oIgorKyNpbmNsdWRlICJvcGVudmRiL21hdGgvT3BlcmF0b3JzLmgi CisrI2luY2x1ZGUgIm9wZW52ZGIvbWF0aC9TdGVuY2lscy5oIgorKyNpbmNsdWRlICJvcGVudmRi L21hdGgvVHJhbnNmb3JtLmgiCisrI2luY2x1ZGUgIm9wZW52ZGIvdXRpbC9OdWxsSW50ZXJydXB0 ZXIuaCIKKysjaW5jbHVkZSAib3BlbnZkYi90aHJlYWQvVGhyZWFkaW5nLmgiCisrI2luY2x1ZGUg Im9wZW52ZGIvdHJlZS9WYWx1ZUFjY2Vzc29yLmgiCisrI2luY2x1ZGUgIm9wZW52ZGIvdHJlZS9M ZWFmTWFuYWdlci5oIgorICNpbmNsdWRlICJDaGFuZ2VCYWNrZ3JvdW5kLmgiLy8gZm9yIGNoYW5n ZUxldmVsU2V0QmFja2dyb3VuZAorICNpbmNsdWRlICJNb3JwaG9sb2d5LmgiLy9mb3IgZGlsYXRl QWN0aXZlVmFsdWVzCisgI2luY2x1ZGUgIlBydW5lLmgiLy8gZm9yIHBydW5lTGV2ZWxTZXQKKysK KysjaW5jbHVkZSA8dGJiL3BhcmFsbGVsX2Zvci5oPgorKworICNpbmNsdWRlIDxmdW5jdGlvbmFs PgorICNpbmNsdWRlIDx0eXBlX3RyYWl0cz4KKyAKKy0KKyBuYW1lc3BhY2Ugb3BlbnZkYiB7Cisg T1BFTlZEQl9VU0VfVkVSU0lPTl9OQU1FU1BBQ0UKKyBuYW1lc3BhY2UgT1BFTlZEQl9WRVJTSU9O X05BTUUgeworQEAgLTM4Myw3ICszODUsNyBAQCBMZXZlbFNldFRyYWNrZXI8R3JpZFQsIEludGVy cnVwdFQ+OjoKKyBjaGVja0ludGVycnVwdGVyKCkKKyB7CisgICAgIGlmICh1dGlsOjp3YXNJbnRl cnJ1cHRlZChtSW50ZXJydXB0ZXIpKSB7CistICAgICAgICB0YmI6OnRhc2s6OnNlbGYoKS5jYW5j ZWxfZ3JvdXBfZXhlY3V0aW9uKCk7CisrICAgICAgICB0aHJlYWQ6OmNhbmNlbEdyb3VwRXhlY3V0 aW9uKCk7CisgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgIH0KKyAgICAgcmV0dXJuIHRydWU7 CitkaWZmIC0tZ2l0IGEvb3BlbnZkYi9vcGVudmRiL3Rvb2xzL01lc2hUb1ZvbHVtZS5oIGIvb3Bl bnZkYi9vcGVudmRiL3Rvb2xzL01lc2hUb1ZvbHVtZS5oCitpbmRleCA2NjQzYzhmMDUuLmRlMzQw NmVkYSAxMDA2NDQKKy0tLSBhL29wZW52ZGIvb3BlbnZkYi90b29scy9NZXNoVG9Wb2x1bWUuaAor KysrIGIvb3BlbnZkYi9vcGVudmRiL3Rvb2xzL01lc2hUb1ZvbHVtZS5oCitAQCAtMTYsMTIgKzE2 LDEzIEBACisgI2lmbmRlZiBPUEVOVkRCX1RPT0xTX01FU0hfVE9fVk9MVU1FX0hBU19CRUVOX0lO Q0xVREVECisgI2RlZmluZSBPUEVOVkRCX1RPT0xTX01FU0hfVE9fVk9MVU1FX0hBU19CRUVOX0lO Q0xVREVECisgCistI2luY2x1ZGUgPG9wZW52ZGIvUGxhdGZvcm0uaD4gLy8gZm9yIE9QRU5WREJf SEFTX0NYWDExCistI2luY2x1ZGUgPG9wZW52ZGIvVHlwZXMuaD4KKy0jaW5jbHVkZSA8b3BlbnZk Yi9tYXRoL0Zpbml0ZURpZmZlcmVuY2UuaD4gLy8gZm9yIEdvZHVub3ZzTm9ybVNxcmQKKy0jaW5j bHVkZSA8b3BlbnZkYi9tYXRoL1Byb3hpbWl0eS5oPiAvLyBmb3IgY2xvc2VzdFBvaW50T25Ucmlh bmdsZVRvUG9pbnQKKy0jaW5jbHVkZSA8b3BlbnZkYi91dGlsL051bGxJbnRlcnJ1cHRlci5oPgor LSNpbmNsdWRlIDxvcGVudmRiL3V0aWwvVXRpbC5oPgorKyNpbmNsdWRlICJvcGVudmRiL1BsYXRm b3JtLmgiIC8vIGZvciBPUEVOVkRCX0hBU19DWFgxMQorKyNpbmNsdWRlICJvcGVudmRiL1R5cGVz LmgiCisrI2luY2x1ZGUgIm9wZW52ZGIvbWF0aC9GaW5pdGVEaWZmZXJlbmNlLmgiIC8vIGZvciBH b2R1bm92c05vcm1TcXJkCisrI2luY2x1ZGUgIm9wZW52ZGIvbWF0aC9Qcm94aW1pdHkuaCIgLy8g Zm9yIGNsb3Nlc3RQb2ludE9uVHJpYW5nbGVUb1BvaW50CisrI2luY2x1ZGUgIm9wZW52ZGIvdXRp bC9OdWxsSW50ZXJydXB0ZXIuaCIKKysjaW5jbHVkZSAib3BlbnZkYi91dGlsL1V0aWwuaCIKKysj aW5jbHVkZSAib3BlbnZkYi90aHJlYWQvVGhyZWFkaW5nLmgiCisgCisgI2luY2x1ZGUgIkNoYW5n ZUJhY2tncm91bmQuaCIKKyAjaW5jbHVkZSAiUHJ1bmUuaCIgLy8gZm9yIHBydW5lSW5hY3RpdmUg YW5kIHBydW5lTGV2ZWxTZXQKK0BAIC0zMyw3ICszNCw3IEBACisgI2luY2x1ZGUgPHRiYi9wYXJh bGxlbF9yZWR1Y2UuaD4KKyAjaW5jbHVkZSA8dGJiL3BhcnRpdGlvbmVyLmg+CisgI2luY2x1ZGUg PHRiYi90YXNrX2dyb3VwLmg+CistI2luY2x1ZGUgPHRiYi90YXNrX3NjaGVkdWxlcl9pbml0Lmg+ CisrI2luY2x1ZGUgPHRiYi90YXNrX2FyZW5hLmg+CisgCisgI2luY2x1ZGUgPGFsZ29yaXRobT4g Ly8gZm9yIHN0ZDo6c29ydCgpCisgI2luY2x1ZGUgPGNtYXRoPiAvLyBmb3Igc3RkOjppc2Zpbml0 ZSgpLCBzdGQ6OmlzbmFuKCkKK0BAIC0xMTMyLDcgKzExMzMsNyBAQCBpbmxpbmUgdm9pZAorIGZp bGxBcnJheShWYWx1ZVR5cGUqIGFycmF5LCBjb25zdCBWYWx1ZVR5cGUgdmFsLCBjb25zdCBzaXpl X3QgbGVuZ3RoKQorIHsKKyAgICAgY29uc3QgYXV0byBncmFpblNpemUgPSBzdGQ6Om1heDxzaXpl X3Q+KAorLSAgICAgICAgbGVuZ3RoIC8gdGJiOjp0YXNrX3NjaGVkdWxlcl9pbml0OjpkZWZhdWx0 X251bV90aHJlYWRzKCksIDEwMjQpOworKyAgICAgICAgbGVuZ3RoIC8gdGJiOjp0aGlzX3Rhc2tf YXJlbmE6Om1heF9jb25jdXJyZW5jeSgpLCAxMDI0KTsKKyAgICAgY29uc3QgdGJiOjpibG9ja2Vk X3JhbmdlPHNpemVfdD4gcmFuZ2UoMCwgbGVuZ3RoLCBncmFpblNpemUpOworICAgICB0YmI6OnBh cmFsbGVsX2ZvcihyYW5nZSwgRmlsbEFycmF5PFZhbHVlVHlwZT4oYXJyYXksIHZhbCksIHRiYjo6 c2ltcGxlX3BhcnRpdGlvbmVyKCkpOworIH0KK0BAIC0xOTg5LDcgKzE5OTAsNyBAQCBjbGFzcyBW b3hlbGl6ZVBvbHlnb25zCisgICAgICAgICBmb3IgKHNpemVfdCBuID0gcmFuZ2UuYmVnaW4oKSwg TiA9IHJhbmdlLmVuZCgpOyBuIDwgTjsgKytuKSB7CisgCisgICAgICAgICAgICAgaWYgKHRoaXMt Pndhc0ludGVycnVwdGVkKCkpIHsKKy0gICAgICAgICAgICAgICAgdGJiOjp0YXNrOjpzZWxmKCku Y2FuY2VsX2dyb3VwX2V4ZWN1dGlvbigpOworKyAgICAgICAgICAgICAgICB0aHJlYWQ6OmNhbmNl bEdyb3VwRXhlY3V0aW9uKCk7CisgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAg IH0KKyAKK0BAIC0yMTQzLDcgKzIxNDQsNyBAQCBjbGFzcyBWb3hlbGl6ZVBvbHlnb25zCisgCisg ICAgICAgICB3aGlsZSAoIWNvb3JkTGlzdC5lbXB0eSgpKSB7CisgICAgICAgICAgICAgaWYgKGlu dGVycnVwdGVyICYmIGludGVycnVwdGVyLT53YXNJbnRlcnJ1cHRlZCgpKSB7CistICAgICAgICAg ICAgICAgIHRiYjo6dGFzazo6c2VsZigpLmNhbmNlbF9ncm91cF9leGVjdXRpb24oKTsKKysgICAg ICAgICAgICAgICAgdGhyZWFkOjpjYW5jZWxHcm91cEV4ZWN1dGlvbigpOworICAgICAgICAgICAg ICAgICBicmVhazsKKyAgICAgICAgICAgICB9CisgICAgICAgICAgICAgZm9yIChJbnQzMiBwYXNz ID0gMDsgcGFzcyA8IDEwNDg1NzYgJiYgIWNvb3JkTGlzdC5lbXB0eSgpOyArK3Bhc3MpIHsKK2Rp ZmYgLS1naXQgYS9vcGVudmRiL29wZW52ZGIvdG9vbHMvTW9ycGhvbG9neS5oIGIvb3BlbnZkYi9v cGVudmRiL3Rvb2xzL01vcnBob2xvZ3kuaAoraW5kZXggNzM2OTgyZWY1Li4wYTFlNzEwMDkgMTAw NjQ0CistLS0gYS9vcGVudmRiL29wZW52ZGIvdG9vbHMvTW9ycGhvbG9neS5oCisrKysgYi9vcGVu dmRiL29wZW52ZGIvdG9vbHMvTW9ycGhvbG9neS5oCitAQCAtMjQsNyArMjQsNyBAQAorICNpbmNs dWRlICJvcGVudmRiL3RyZWUvVmFsdWVBY2Nlc3Nvci5oIgorICNpbmNsdWRlICJvcGVudmRiL3Ry ZWUvTGVhZk1hbmFnZXIuaCIKKyAKKy0jaW5jbHVkZSA8dGJiL3Rhc2tfc2NoZWR1bGVyX2luaXQu aD4KKysjaW5jbHVkZSA8dGJiL3Rhc2tfYXJlbmEuaD4KKyAjaW5jbHVkZSA8dGJiL2VudW1lcmFi bGVfdGhyZWFkX3NwZWNpZmljLmg+CisgI2luY2x1ZGUgPHRiYi9wYXJhbGxlbF9mb3IuaD4KKyAK K0BAIC03MjYsNyArNzI2LDcgQEAgdm9pZCBNb3JwaG9sb2d5PFRyZWVUeXBlPjo6ZGlsYXRlVm94 ZWxzKGNvbnN0IHNpemVfdCBpdGVyLAorICAgICAgICAgfQorIAorICAgICAgICAgLy8gQG5vdGUg dGhpcyBncmFpbiBzaXplIGlzIHVzZWQgZm9yIG9wdGltYWwgdGhyZWFkaW5nCistICAgICAgICBj b25zdCBzaXplX3QgbnVtVGhyZWFkcyA9IHNpemVfdCh0YmI6OnRhc2tfc2NoZWR1bGVyX2luaXQ6 OmRlZmF1bHRfbnVtX3RocmVhZHMoKSk7CisrICAgICAgICBjb25zdCBzaXplX3QgbnVtVGhyZWFk cyA9IHNpemVfdCh0YmI6OnRoaXNfdGFza19hcmVuYTo6bWF4X2NvbmN1cnJlbmN5KCkpOworICAg ICAgICAgY29uc3Qgc2l6ZV90IHN1YlRyZWVTaXplID0gbWF0aDo6TWF4KHNpemVfdCgxKSwgYXJy YXkuc2l6ZSgpLygyKm51bVRocmVhZHMpKTsKKyAKKyAgICAgICAgIC8vIHBlcmZvcm0gcmVjdXJz aXZlIGRpbGF0aW9uIHRvIHN1YiB0cmVlcworZGlmZiAtLWdpdCBhL29wZW52ZGIvb3BlbnZkYi90 b29scy9QYXJ0aWNsZXNUb0xldmVsU2V0LmggYi9vcGVudmRiL29wZW52ZGIvdG9vbHMvUGFydGlj bGVzVG9MZXZlbFNldC5oCitpbmRleCA3MzlhZjJiNjkuLmY5YzE5OTExYyAxMDA2NDQKKy0tLSBh L29wZW52ZGIvb3BlbnZkYi90b29scy9QYXJ0aWNsZXNUb0xldmVsU2V0LmgKKysrKyBiL29wZW52 ZGIvb3BlbnZkYi90b29scy9QYXJ0aWNsZXNUb0xldmVsU2V0LmgKK0BAIC02MiwxOSArNjIsMjMg QEAKKyAjaWZuZGVmIE9QRU5WREJfVE9PTFNfUEFSVElDTEVTX1RPX0xFVkVMU0VUX0hBU19CRUVO X0lOQ0xVREVECisgI2RlZmluZSBPUEVOVkRCX1RPT0xTX1BBUlRJQ0xFU19UT19MRVZFTFNFVF9I QVNfQkVFTl9JTkNMVURFRAorIAorLSNpbmNsdWRlIDx0YmIvcGFyYWxsZWxfcmVkdWNlLmg+Cist I2luY2x1ZGUgPHRiYi9ibG9ja2VkX3JhbmdlLmg+CistI2luY2x1ZGUgPG9wZW52ZGIvVHlwZXMu aD4KKy0jaW5jbHVkZSA8b3BlbnZkYi9HcmlkLmg+CistI2luY2x1ZGUgPG9wZW52ZGIvbWF0aC9N YXRoLmg+CistI2luY2x1ZGUgPG9wZW52ZGIvbWF0aC9UcmFuc2Zvcm0uaD4KKy0jaW5jbHVkZSA8 b3BlbnZkYi90cmVlL0xlYWZNYW5hZ2VyLmg+CistI2luY2x1ZGUgPG9wZW52ZGIvdXRpbC9sb2dn aW5nLmg+CistI2luY2x1ZGUgPG9wZW52ZGIvdXRpbC9OdWxsSW50ZXJydXB0ZXIuaD4KKysjaW5j bHVkZSAib3BlbnZkYi9UeXBlcy5oIgorKyNpbmNsdWRlICJvcGVudmRiL0dyaWQuaCIKKysjaW5j bHVkZSAib3BlbnZkYi9tYXRoL01hdGguaCIKKysjaW5jbHVkZSAib3BlbnZkYi9tYXRoL1RyYW5z Zm9ybS5oIgorKyNpbmNsdWRlICJvcGVudmRiL3RyZWUvTGVhZk1hbmFnZXIuaCIKKysjaW5jbHVk ZSAib3BlbnZkYi91dGlsL2xvZ2dpbmcuaCIKKysjaW5jbHVkZSAib3BlbnZkYi91dGlsL051bGxJ bnRlcnJ1cHRlci5oIgorKyNpbmNsdWRlICJvcGVudmRiL3RocmVhZC9UaHJlYWRpbmcuaCIKKysK KyAjaW5jbHVkZSAiQ29tcG9zaXRlLmgiIC8vIGZvciBjc2dVbmlvbigpCisgI2luY2x1ZGUgIlBv aW50UGFydGl0aW9uZXIuaCIKKyAjaW5jbHVkZSAiUHJ1bmUuaCIKKyAjaW5jbHVkZSAiU2lnbmVk Rmxvb2RGaWxsLmgiCisrCisrI2luY2x1ZGUgPHRiYi9wYXJhbGxlbF9yZWR1Y2UuaD4KKysjaW5j bHVkZSA8dGJiL2Jsb2NrZWRfcmFuZ2UuaD4KKysKKyAjaW5jbHVkZSA8ZnVuY3Rpb25hbD4KKyAj aW5jbHVkZSA8aW9zdHJlYW0+CisgI2luY2x1ZGUgPHR5cGVfdHJhaXRzPgorQEAgLTczOCw3ICs3 NDIsNyBAQCBzdHJ1Y3QgUGFydGljbGVzVG9MZXZlbFNldDxTZGZHcmlkVCwgQXR0cmlidXRlVCwg SW50ZXJydXB0ZXJUPjo6UmFzdGVyCisgICAgICAgICBmb3IgKENvb3JkIGMgPSBsbzsgYy54KCkg PD0gaGkueCgpOyArK2MueCgpKSB7CisgICAgICAgICAgICAgLy9vbmx5IGNoZWNrIGludGVycnVw dGVyIGV2ZXJ5IDMyJ3RoIHNjYW4gaW4geAorICAgICAgICAgICAgIGlmICghKGNvdW50KysgJiAo KDE8PDUpLTEpKSAmJiB1dGlsOjp3YXNJbnRlcnJ1cHRlZChtUGFyZW50Lm1JbnRlcnJ1cHRlcikp IHsKKy0gICAgICAgICAgICAgICAgdGJiOjp0YXNrOjpzZWxmKCkuY2FuY2VsX2dyb3VwX2V4ZWN1 dGlvbigpOworKyAgICAgICAgICAgICAgICB0aHJlYWQ6OmNhbmNlbEdyb3VwRXhlY3V0aW9uKCk7 CisgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgICB9CisgICAgICAg ICAgICAgY29uc3QgUmVhbCB4MiA9IG1hdGg6OlBvdzIoYy54KCkgLSBQWzBdKTsKK0BAIC04MDQs NyArODA4LDcgQEAgc3RydWN0IFBhcnRpY2xlc1RvTGV2ZWxTZXQ8U2RmR3JpZFQsIEF0dHJpYnV0 ZVQsIEludGVycnVwdGVyVD46OlJhc3RlcgorICAgICAgICAgLy8gRGVuc2VseSBmaWxsIHRoZSBy ZW1haW5pbmcgcmVnaW9ucy4KKyAgICAgICAgIGZvciAoY29uc3QgYXV0byYgYmJveDogcGFkZGlu ZykgeworICAgICAgICAgICAgIGlmICh1dGlsOjp3YXNJbnRlcnJ1cHRlZChtUGFyZW50Lm1JbnRl cnJ1cHRlcikpIHsKKy0gICAgICAgICAgICAgICAgdGJiOjp0YXNrOjpzZWxmKCkuY2FuY2VsX2dy b3VwX2V4ZWN1dGlvbigpOworKyAgICAgICAgICAgICAgICB0aHJlYWQ6OmNhbmNlbEdyb3VwRXhl Y3V0aW9uKCk7CisgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgICB9 CisgICAgICAgICAgICAgY29uc3QgQ29vcmQgJmJtaW4gPSBiYm94Lm1pbigpLCAmYm1heCA9IGJi b3gubWF4KCk7CitkaWZmIC0tZ2l0IGEvb3BlbnZkYi9vcGVudmRiL3Rvb2xzL1BvaW50QWR2ZWN0 LmggYi9vcGVudmRiL29wZW52ZGIvdG9vbHMvUG9pbnRBZHZlY3QuaAoraW5kZXggMTJiMTE3N2Fk Li5lNDg3YmZiM2UgMTAwNjQ0CistLS0gYS9vcGVudmRiL29wZW52ZGIvdG9vbHMvUG9pbnRBZHZl Y3QuaAorKysrIGIvb3BlbnZkYi9vcGVudmRiL3Rvb2xzL1BvaW50QWR2ZWN0LmgKK0BAIC0xMCwx NiArMTAsMTkgQEAKKyAjaWZuZGVmIE9QRU5WREJfVE9PTFNfUE9JTlRfQURWRUNUX0hBU19CRUVO X0lOQ0xVREVECisgI2RlZmluZSBPUEVOVkRCX1RPT0xTX1BPSU5UX0FEVkVDVF9IQVNfQkVFTl9J TkNMVURFRAorIAorLSNpbmNsdWRlIDxvcGVudmRiL29wZW52ZGIuaD4KKy0jaW5jbHVkZSA8b3Bl bnZkYi9tYXRoL01hdGguaD4gICAgICAgICAgICAgLy8gbWluCistI2luY2x1ZGUgPG9wZW52ZGIv VHlwZXMuaD4gICAgICAgICAgICAgICAgIC8vIFZlYzMgdHlwZXMgYW5kIHZlcnNpb24gbnVtYmVy CistI2luY2x1ZGUgPG9wZW52ZGIvR3JpZC5oPiAgICAgICAgICAgICAgICAgIC8vIGdyaWQKKy0j aW5jbHVkZSA8b3BlbnZkYi91dGlsL051bGxJbnRlcnJ1cHRlci5oPgorKyNpbmNsdWRlICJvcGVu dmRiL29wZW52ZGIuaCIKKysjaW5jbHVkZSAib3BlbnZkYi9UeXBlcy5oIiAgICAgICAgICAgICAg ICAgLy8gVmVjMyB0eXBlcyBhbmQgdmVyc2lvbiBudW1iZXIKKysjaW5jbHVkZSAib3BlbnZkYi9H cmlkLmgiICAgICAgICAgICAgICAgICAgLy8gZ3JpZAorKyNpbmNsdWRlICJvcGVudmRiL21hdGgv TWF0aC5oIiAgICAgICAgICAgICAvLyBtaW4KKysjaW5jbHVkZSAib3BlbnZkYi91dGlsL051bGxJ bnRlcnJ1cHRlci5oIgorKyNpbmNsdWRlICJvcGVudmRiL3RocmVhZC9UaHJlYWRpbmcuaCIKKyAj aW5jbHVkZSAiSW50ZXJwb2xhdGlvbi5oIiAgICAgICAgICAgICAgICAgLy8gc2FtcGxpbmcKKyAj aW5jbHVkZSAiVmVsb2NpdHlGaWVsZHMuaCIgICAgICAgICAgICAgICAgLy8gVmVsb2NpdHlJbnRl Z3JhdG9yCisrCisgI2luY2x1ZGUgPHRiYi9ibG9ja2VkX3JhbmdlLmg+ICAgICAgICAgICAgIC8v IHRocmVhZGluZworICNpbmNsdWRlIDx0YmIvcGFyYWxsZWxfZm9yLmg+ICAgICAgICAgICAgICAv LyB0aHJlYWRpbmcKKyAjaW5jbHVkZSA8dGJiL3Rhc2suaD4gICAgICAgICAgICAgICAgICAgICAg Ly8gZm9yIGNhbmNlbAorKworICNpbmNsdWRlIDx2ZWN0b3I+CisgCisgCitAQCAtMTY3LDcgKzE3 MCw3IEBAIGNsYXNzIFBvaW50QWR2ZWN0CisgICAgIHZvaWQgb3BlcmF0b3IoKSAoY29uc3QgdGJi OjpibG9ja2VkX3JhbmdlPHNpemVfdD4gJnJhbmdlKSBjb25zdAorICAgICB7CisgICAgICAgICBp ZiAobUludGVycnVwdGVyICYmIG1JbnRlcnJ1cHRlci0+d2FzSW50ZXJydXB0ZWQoKSkgeworLSAg ICAgICAgICAgIHRiYjo6dGFzazo6c2VsZigpLmNhbmNlbF9ncm91cF9leGVjdXRpb24oKTsKKysg ICAgICAgICAgICB0aHJlYWQ6OmNhbmNlbEdyb3VwRXhlY3V0aW9uKCk7CisgICAgICAgICB9Cisg CisgICAgICAgICBWZWxvY2l0eUZpZWxkSW50ZWdyYXRvciAgdmVsRmllbGQoKm1WZWxHcmlkKTsK K0BAIC0zMDcsNyArMzEwLDcgQEAgY2xhc3MgQ29uc3RyYWluZWRQb2ludEFkdmVjdAorICAgICB2 b2lkIG9wZXJhdG9yKCkgKGNvbnN0IHRiYjo6YmxvY2tlZF9yYW5nZTxzaXplX3Q+ICZyYW5nZSkg Y29uc3QKKyAgICAgeworICAgICAgICAgaWYgKG1JbnRlcnJ1cHRlciAmJiBtSW50ZXJydXB0ZXIt Pndhc0ludGVycnVwdGVkKCkpIHsKKy0gICAgICAgICAgICB0YmI6OnRhc2s6OnNlbGYoKS5jYW5j ZWxfZ3JvdXBfZXhlY3V0aW9uKCk7CisrICAgICAgICAgICAgdGhyZWFkOjpjYW5jZWxHcm91cEV4 ZWN1dGlvbigpOworICAgICAgICAgfQorIAorICAgICAgICAgVmVsb2NpdHlJbnRlZ3JhdG9yVHlw ZSB2ZWxGaWVsZCgqbVZlbEdyaWQpOworZGlmZiAtLWdpdCBhL29wZW52ZGIvb3BlbnZkYi90b29s cy9Qb2ludEluZGV4R3JpZC5oIGIvb3BlbnZkYi9vcGVudmRiL3Rvb2xzL1BvaW50SW5kZXhHcmlk LmgKK2luZGV4IGU5ZWJmOTZmNy4uYjJlMzc4YTc5IDEwMDY0NAorLS0tIGEvb3BlbnZkYi9vcGVu dmRiL3Rvb2xzL1BvaW50SW5kZXhHcmlkLmgKKysrKyBiL29wZW52ZGIvb3BlbnZkYi90b29scy9Q b2ludEluZGV4R3JpZC5oCitAQCAtMTYsNiArMTYsNyBAQAorICNpZm5kZWYgT1BFTlZEQl9UT09M U19QT0lOVF9JTkRFWF9HUklEX0hBU19CRUVOX0lOQ0xVREVECisgI2RlZmluZSBPUEVOVkRCX1RP T0xTX1BPSU5UX0lOREVYX0dSSURfSEFTX0JFRU5fSU5DTFVERUQKKyAKKysjaW5jbHVkZSAib3Bl bnZkYi90aHJlYWQvVGhyZWFkaW5nLmgiCisgI2luY2x1ZGUgIlBvaW50UGFydGl0aW9uZXIuaCIK KyAKKyAjaW5jbHVkZSA8b3BlbnZkYi92ZXJzaW9uLmg+CitAQCAtMzU1LDcgKzM1Niw3IEBAIHN0 cnVjdCBWYWxpZFBhcnRpdGlvbmluZ09wCisgICAgIHZvaWQgb3BlcmF0b3IoKShMZWFmVCAmbGVh Ziwgc2l6ZV90IC8qbGVhZkluZGV4Ki8pIGNvbnN0CisgICAgIHsKKyAgICAgICAgIGlmICgoKm1I YXNDaGFuZ2VkKSkgeworLSAgICAgICAgICAgIHRiYjo6dGFzazo6c2VsZigpLmNhbmNlbF9ncm91 cF9leGVjdXRpb24oKTsKKysgICAgICAgICAgICB0aHJlYWQ6OmNhbmNlbEdyb3VwRXhlY3V0aW9u KCk7CisgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgfQorIAorZGlmZiAtLWdpdCBhL29w ZW52ZGIvb3BlbnZkYi90b29scy9Qb2ludFBhcnRpdGlvbmVyLmggYi9vcGVudmRiL29wZW52ZGIv dG9vbHMvUG9pbnRQYXJ0aXRpb25lci5oCitpbmRleCBjY2Y1MGFiMDUuLmY3ZjZmYzEzZCAxMDA2 NDQKKy0tLSBhL29wZW52ZGIvb3BlbnZkYi90b29scy9Qb2ludFBhcnRpdGlvbmVyLmgKKysrKyBi L29wZW52ZGIvb3BlbnZkYi90b29scy9Qb2ludFBhcnRpdGlvbmVyLmgKK0BAIC0yMyw3ICsyMyw3 IEBACisgCisgI2luY2x1ZGUgPHRiYi9ibG9ja2VkX3JhbmdlLmg+CisgI2luY2x1ZGUgPHRiYi9w YXJhbGxlbF9mb3IuaD4KKy0jaW5jbHVkZSA8dGJiL3Rhc2tfc2NoZWR1bGVyX2luaXQuaD4KKysj aW5jbHVkZSA8dGJiL3Rhc2tfYXJlbmEuaD4KKyAKKyAjaW5jbHVkZSA8YWxnb3JpdGhtPgorICNp bmNsdWRlIDxjbWF0aD4gLy8gZm9yIHN0ZDo6aXNmaW5pdGUoKQorQEAgLTc2NCw3ICs3NjQsNyBA QCBpbmxpbmUgdm9pZCBiaW5BbmRTZWdtZW50KAorICAgICB1c2luZyBJbmRleFBhaXJMaXN0TWFw ID0gc3RkOjptYXA8Q29vcmQsIEluZGV4UGFpckxpc3RQdHI+OworICAgICB1c2luZyBJbmRleFBh aXJMaXN0TWFwUHRyID0gc3RkOjpzaGFyZWRfcHRyPEluZGV4UGFpckxpc3RNYXA+OworIAorLSAg ICBzaXplX3QgbnVtVGFza3MgPSAxLCBudW1UaHJlYWRzID0gc2l6ZV90KHRiYjo6dGFza19zY2hl ZHVsZXJfaW5pdDo6ZGVmYXVsdF9udW1fdGhyZWFkcygpKTsKKysgICAgc2l6ZV90IG51bVRhc2tz ID0gMSwgbnVtVGhyZWFkcyA9IHNpemVfdCh0YmI6OnRoaXNfdGFza19hcmVuYTo6bWF4X2NvbmN1 cnJlbmN5KCkpOworICAgICBpZiAocG9pbnRzLnNpemUoKSA+IChudW1UaHJlYWRzICogMikpIG51 bVRhc2tzID0gbnVtVGhyZWFkcyAqIDI7CisgICAgIGVsc2UgaWYgKHBvaW50cy5zaXplKCkgPiBu dW1UaHJlYWRzKSBudW1UYXNrcyA9IG51bVRocmVhZHM7CisgCitkaWZmIC0tZ2l0IGEvb3BlbnZk Yi9vcGVudmRiL3Rvb2xzL1BvaW50c1RvTWFzay5oIGIvb3BlbnZkYi9vcGVudmRiL3Rvb2xzL1Bv aW50c1RvTWFzay5oCitpbmRleCA1OTJhYjdhMTUuLjhhMjc2ZmIwNCAxMDA2NDQKKy0tLSBhL29w ZW52ZGIvb3BlbnZkYi90b29scy9Qb2ludHNUb01hc2suaAorKysrIGIvb3BlbnZkYi9vcGVudmRi L3Rvb2xzL1BvaW50c1RvTWFzay5oCitAQCAtNDYsMTQgKzQ2LDE4IEBACisgI2lmbmRlZiBPUEVO VkRCX1RPT0xTX1BPSU5UU1RPTUFTS19IQVNfQkVFTl9JTkNMVURFRAorICNkZWZpbmUgT1BFTlZE Ql9UT09MU19QT0lOVFNUT01BU0tfSEFTX0JFRU5fSU5DTFVERUQKKyAKKysKKysjaW5jbHVkZSAi b3BlbnZkYi9vcGVudmRiLmgiIC8vIGZvciBNYXNrR3JpZAorKyNpbmNsdWRlICJvcGVudmRiL0dy aWQuaCIKKysjaW5jbHVkZSAib3BlbnZkYi9UeXBlcy5oIgorKyNpbmNsdWRlICJvcGVudmRiL3V0 aWwvTnVsbEludGVycnVwdGVyLmgiCisrI2luY2x1ZGUgIm9wZW52ZGIvdGhyZWFkL1RocmVhZGlu Zy5oIgorKworICNpbmNsdWRlIDx0YmIvZW51bWVyYWJsZV90aHJlYWRfc3BlY2lmaWMuaD4KKyAj aW5jbHVkZSA8dGJiL3BhcmFsbGVsX2Zvci5oPgorICNpbmNsdWRlIDx0YmIvcGFyYWxsZWxfcmVk dWNlLmg+CisgI2luY2x1ZGUgPHRiYi9ibG9ja2VkX3JhbmdlLmg+CistI2luY2x1ZGUgPG9wZW52 ZGIvb3BlbnZkYi5oPiAvLyBmb3IgTWFza0dyaWQKKy0jaW5jbHVkZSA8b3BlbnZkYi9HcmlkLmg+ CistI2luY2x1ZGUgPG9wZW52ZGIvVHlwZXMuaD4KKy0jaW5jbHVkZSA8b3BlbnZkYi91dGlsL051 bGxJbnRlcnJ1cHRlci5oPgorKworICNpbmNsdWRlIDx2ZWN0b3I+CisgCisgCitAQCAtMTUwLDcg KzE1NCw3IEBAIGNsYXNzIFBvaW50c1RvTWFzaworICAgICBib29sIGludGVycnVwdCgpIGNvbnN0 CisgICAgIHsKKyAgICAgICAgIGlmIChtSW50ZXJydXB0ZXIgJiYgdXRpbDo6d2FzSW50ZXJydXB0 ZWQobUludGVycnVwdGVyKSkgeworLSAgICAgICAgICAgIHRiYjo6dGFzazo6c2VsZigpLmNhbmNl bF9ncm91cF9leGVjdXRpb24oKTsKKysgICAgICAgICAgICB0aHJlYWQ6OmNhbmNlbEdyb3VwRXhl Y3V0aW9uKCk7CisgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICB9CisgICAgICAg ICByZXR1cm4gZmFsc2U7CitkaWZmIC0tZ2l0IGEvb3BlbnZkYi9vcGVudmRiL3Rvb2xzL1ZvbHVt ZUFkdmVjdC5oIGIvb3BlbnZkYi9vcGVudmRiL3Rvb2xzL1ZvbHVtZUFkdmVjdC5oCitpbmRleCBl N2VlYzc0MGUuLmYzOGVhYTljMiAxMDA2NDQKKy0tLSBhL29wZW52ZGIvb3BlbnZkYi90b29scy9W b2x1bWVBZHZlY3QuaAorKysrIGIvb3BlbnZkYi9vcGVudmRiL3Rvb2xzL1ZvbHVtZUFkdmVjdC5o CitAQCAtMTMsMTUgKzEzLDE4IEBACisgI2lmbmRlZiBPUEVOVkRCX1RPT0xTX1ZPTFVNRV9BRFZF Q1RfSEFTX0JFRU5fSU5DTFVERUQKKyAjZGVmaW5lIE9QRU5WREJfVE9PTFNfVk9MVU1FX0FEVkVD VF9IQVNfQkVFTl9JTkNMVURFRAorIAorLSNpbmNsdWRlIDx0YmIvcGFyYWxsZWxfZm9yLmg+Cist I2luY2x1ZGUgPG9wZW52ZGIvVHlwZXMuaD4KKy0jaW5jbHVkZSA8b3BlbnZkYi9tYXRoL01hdGgu aD4KKy0jaW5jbHVkZSA8b3BlbnZkYi91dGlsL051bGxJbnRlcnJ1cHRlci5oPgorKyNpbmNsdWRl ICJvcGVudmRiL1R5cGVzLmgiCisrI2luY2x1ZGUgIm9wZW52ZGIvbWF0aC9NYXRoLmgiCisrI2lu Y2x1ZGUgIm9wZW52ZGIvdXRpbC9OdWxsSW50ZXJydXB0ZXIuaCIKKysjaW5jbHVkZSAib3BlbnZk Yi90aHJlYWQvVGhyZWFkaW5nLmgiCisgI2luY2x1ZGUgIkludGVycG9sYXRpb24uaCIvLyBmb3Ig U2FtcGxlcgorICNpbmNsdWRlICJWZWxvY2l0eUZpZWxkcy5oIiAvLyBmb3IgVmVsb2NpdHlJbnRl Z3JhdG9yCisgI2luY2x1ZGUgIk1vcnBob2xvZ3kuaCIvL2ZvciBkaWxhdGVBY3RpdmVWYWx1ZXMK KyAjaW5jbHVkZSAiUHJ1bmUuaCIvLyBmb3IgcHJ1bmUKKyAjaW5jbHVkZSAiU3RhdGlzdGljcy5o IiAvLyBmb3IgZXh0cmVtYQorKworKyNpbmNsdWRlIDx0YmIvcGFyYWxsZWxfZm9yLmg+CisrCisg I2luY2x1ZGUgPGZ1bmN0aW9uYWw+CisgCisgCitAQCAtMjk0LDcgKzI5Nyw3IEBAIGNsYXNzIFZv bHVtZUFkdmVjdGlvbgorICAgICBib29sIGludGVycnVwdCgpIGNvbnN0CisgICAgIHsKKyAgICAg ICAgIGlmIChtSW50ZXJydXB0ZXIgJiYgdXRpbDo6d2FzSW50ZXJydXB0ZWQobUludGVycnVwdGVy KSkgeworLSAgICAgICAgICAgIHRiYjo6dGFzazo6c2VsZigpLmNhbmNlbF9ncm91cF9leGVjdXRp b24oKTsKKysgICAgICAgICAgICB0aHJlYWQ6OmNhbmNlbEdyb3VwRXhlY3V0aW9uKCk7CisgICAg ICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICB9CisgICAgICAgICByZXR1cm4gZmFsc2U7 CitkaWZmIC0tZ2l0IGEvb3BlbnZkYi9vcGVudmRiL3Rvb2xzL1ZvbHVtZVRvTWVzaC5oIGIvb3Bl bnZkYi9vcGVudmRiL3Rvb2xzL1ZvbHVtZVRvTWVzaC5oCitpbmRleCBhODM0ZGQzYjMuLmE0NDZm ODA2YSAxMDA2NDQKKy0tLSBhL29wZW52ZGIvb3BlbnZkYi90b29scy9Wb2x1bWVUb01lc2guaAor KysrIGIvb3BlbnZkYi9vcGVudmRiL3Rvb2xzL1ZvbHVtZVRvTWVzaC5oCitAQCAtMTgsNyArMTgs NyBAQAorICNpbmNsdWRlIDx0YmIvYmxvY2tlZF9yYW5nZS5oPgorICNpbmNsdWRlIDx0YmIvcGFy YWxsZWxfZm9yLmg+CisgI2luY2x1ZGUgPHRiYi9wYXJhbGxlbF9yZWR1Y2UuaD4KKy0jaW5jbHVk ZSA8dGJiL3Rhc2tfc2NoZWR1bGVyX2luaXQuaD4KKysjaW5jbHVkZSA8dGJiL3Rhc2tfYXJlbmEu aD4KKyAKKyAjaW5jbHVkZSA8Y21hdGg+IC8vIGZvciBzdGQ6OmlzZmluaXRlKCkKKyAjaW5jbHVk ZSA8bWFwPgorQEAgLTM4OCw3ICszODgsNyBAQCBpbmxpbmUgdm9pZAorIGZpbGxBcnJheShWYWx1 ZVR5cGUqIGFycmF5LCBjb25zdCBWYWx1ZVR5cGUmIHZhbCwgY29uc3Qgc2l6ZV90IGxlbmd0aCkK KyB7CisgICAgIGNvbnN0IGF1dG8gZ3JhaW5TaXplID0gc3RkOjptYXg8c2l6ZV90PigKKy0gICAg ICAgIGxlbmd0aCAvIHRiYjo6dGFza19zY2hlZHVsZXJfaW5pdDo6ZGVmYXVsdF9udW1fdGhyZWFk cygpLCAxMDI0KTsKKysgICAgICAgIGxlbmd0aCAvIHRiYjo6dGhpc190YXNrX2FyZW5hOjptYXhf Y29uY3VycmVuY3koKSwgMTAyNCk7CisgICAgIGNvbnN0IHRiYjo6YmxvY2tlZF9yYW5nZTxzaXpl X3Q+IHJhbmdlKDAsIGxlbmd0aCwgZ3JhaW5TaXplKTsKKyAgICAgdGJiOjpwYXJhbGxlbF9mb3Io cmFuZ2UsIEZpbGxBcnJheTxWYWx1ZVR5cGU+KGFycmF5LCB2YWwpLCB0YmI6OnNpbXBsZV9wYXJ0 aXRpb25lcigpKTsKKyB9CitkaWZmIC0tZ2l0IGEvb3BlbnZkYi9vcGVudmRiL3VuaXR0ZXN0L1Rl c3RDb29yZC5jYyBiL29wZW52ZGIvb3BlbnZkYi91bml0dGVzdC9UZXN0Q29vcmQuY2MKK2luZGV4 IGJlMWMyNGNlZC4uMTQ4NjkwMDQxIDEwMDY0NAorLS0tIGEvb3BlbnZkYi9vcGVudmRiL3VuaXR0 ZXN0L1Rlc3RDb29yZC5jYworKysrIGIvb3BlbnZkYi9vcGVudmRiL3VuaXR0ZXN0L1Rlc3RDb29y ZC5jYworQEAgLTIsOSArMiw5IEBACisgLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0y LjAKKyAKKyAjaW5jbHVkZSA8b3BlbnZkYi9UeXBlcy5oPgorKyNpbmNsdWRlIDxvcGVudmRiL21h dGgvQ29vcmQuaD4KKyAKKyAjaW5jbHVkZSA8Z3Rlc3QvZ3Rlc3QuaD4KKy0jaW5jbHVkZSA8dGJi L3RiYl9zdGRkZWYuaD4gLy8gZm9yIHRiYjo6c3BsaXQKKyAKKyAjaW5jbHVkZSA8dW5vcmRlcmVk X21hcD4KKyAjaW5jbHVkZSA8c3N0cmVhbT4KK2RpZmYgLS1naXQgYS9vcGVudmRiL29wZW52ZGIv dW5pdHRlc3QvVGVzdEZpbGUuY2MgYi9vcGVudmRiL29wZW52ZGIvdW5pdHRlc3QvVGVzdEZpbGUu Y2MKK2luZGV4IDgwNzQxNjZkMi4uMDUzNDQ4ZjMwIDEwMDY0NAorLS0tIGEvb3BlbnZkYi9vcGVu dmRiL3VuaXR0ZXN0L1Rlc3RGaWxlLmNjCisrKysgYi9vcGVudmRiL29wZW52ZGIvdW5pdHRlc3Qv VGVzdEZpbGUuY2MKK0BAIC0xMyw4ICsxMywxMSBAQAorICNpbmNsdWRlIDxvcGVudmRiL3ZlcnNp b24uaD4KKyAjaW5jbHVkZSA8b3BlbnZkYi9vcGVudmRiLmg+CisgI2luY2x1ZGUgInV0aWwuaCIg Ly8gZm9yIHVuaXR0ZXN0X3V0aWw6Om1ha2VTcGhlcmUoKQorKworICNpbmNsdWRlIDxndGVzdC9n dGVzdC5oPgorLSNpbmNsdWRlIDx0YmIvdGJiX3RocmVhZC5oPiAvLyBmb3IgdGJiOjp0aGlzX3Ri Yl90aHJlYWQ6OnNsZWVwKCkKKysKKysjaW5jbHVkZSA8dGhyZWFkPgorKyNpbmNsdWRlIDxjaHJv bm8+CisgI2luY2x1ZGUgPGFsZ29yaXRobT4gLy8gZm9yIHN0ZDo6c29ydCgpCisgI2luY2x1ZGUg PGNzdGRpbz4gLy8gZm9yIHJlbW92ZSgpIGFuZCByZW5hbWUoKQorICNpbmNsdWRlIDxmc3RyZWFt PgorQEAgLTIzNDUsMTIgKzIzNDgsMTQgQEAgVEVTVF9GKFRlc3RGaWxlLCB0ZXN0QXN5bmMpCisg ICAgICAgICAgICAgaGVscGVyLmluc2VydChpZCwgZmlsZW5hbWUpOworICAgICAgICAgfQorIAor LSAgICAgICAgdGJiOjp0aWNrX2NvdW50IHN0YXJ0ID0gdGJiOjp0aWNrX2NvdW50Ojpub3coKTsK KysgICAgICAgIGF1dG8gc3RhcnQgPSBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKTsK KyAgICAgICAgIHdoaWxlICghaGVscGVyLmlkcy5lbXB0eSgpKSB7CistICAgICAgICAgICAgaWYg KCh0YmI6OnRpY2tfY291bnQ6Om5vdygpIC0gc3RhcnQpLnNlY29uZHMoKSA+IDYwKSBicmVhazsg Ly8gdGltZSBvdXQgYWZ0ZXIgMSBtaW51dGUKKysgICAgICAgICAgICBhdXRvIGR1cmF0aW9uID0g c3RkOjpjaHJvbm86OmR1cmF0aW9uX2Nhc3Q8c3RkOjpjaHJvbm86OnNlY29uZHM+KAorKyAgICAg ICAgICAgICAgICBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKSAtIHN0YXJ0KTsKKysg ICAgICAgICAgICBpZiAoc2l6ZV90KGR1cmF0aW9uLmNvdW50KCkpID4gNjApICBicmVhazsgLy8g dGltZSBvdXQgYWZ0ZXIgMSBtaW51dGUKKyAKKyAgICAgICAgICAgICAvLyBXYWl0IG9uZSBzZWNv bmQgZm9yIHRhc2tzIHRvIGNvbXBsZXRlLgorLSAgICAgICAgICAgIHRiYjo6dGhpc190YmJfdGhy ZWFkOjpzbGVlcCh0YmI6OnRpY2tfY291bnQ6OmludGVydmFsX3QoMS4wLypzZWMqLykpOworKyAg ICAgICAgICAgIHN0ZDo6dGhpc190aHJlYWQ6OnNsZWVwX2ZvcihzdGQ6OmNocm9ubzo6c2Vjb25k cygxKSk7CisgCisgICAgICAgICAgICAgLy8gUG9sbCBlYWNoIHRhc2sgaW4gdGhlIHBlbmRpbmcg bWFwLgorICAgICAgICAgICAgIHN0ZDo6c2V0PGlvOjpRdWV1ZTo6SWQ+IGlkcyA9IGhlbHBlci5p ZHM7IC8vIGl0ZXJhdGUgb3ZlciBhIGNvcHkKK0BAIC0yMzgwLDcgKzIzODUsNyBAQCBURVNUX0Yo VGVzdEZpbGUsIHRlc3RBc3luYykKKyAgICAgICAgICAgICBoZWxwZXIuaW5zZXJ0KGlkLCBmaWxl bmFtZSk7CisgICAgICAgICB9CisgICAgICAgICB3aGlsZSAoIXF1ZXVlLmVtcHR5KCkpIHsKKy0g ICAgICAgICAgICB0YmI6OnRoaXNfdGJiX3RocmVhZDo6c2xlZXAodGJiOjp0aWNrX2NvdW50Ojpp bnRlcnZhbF90KDEuMC8qc2VjKi8pKTsKKysgICAgICAgICAgICBzdGQ6OnRoaXNfdGhyZWFkOjpz bGVlcF9mb3Ioc3RkOjpjaHJvbm86OnNlY29uZHMoMSkpOworICAgICAgICAgfQorICAgICB9Cisg ICAgIHsKK0BAIC0yNDA1LDcgKzI0MTAsNyBAQCBURVNUX0YoVGVzdEZpbGUsIHRlc3RBc3luYykK KyAgICAgICAgIEVYUEVDVF9USFJPVyhxdWV1ZS53cml0ZShncmlkcywgaW86OlN0cmVhbShmaWxl MikpLCBvcGVudmRiOjpSdW50aW1lRXJyb3IpOworIAorICAgICAgICAgd2hpbGUgKCFxdWV1ZS5l bXB0eSgpKSB7CistICAgICAgICAgICAgdGJiOjp0aGlzX3RiYl90aHJlYWQ6OnNsZWVwKHRiYjo6 dGlja19jb3VudDo6aW50ZXJ2YWxfdCgxLjAvKnNlYyovKSk7CisrICAgICAgICAgICAgc3RkOjp0 aGlzX3RocmVhZDo6c2xlZXBfZm9yKHN0ZDo6Y2hyb25vOjpzZWNvbmRzKDEpKTsKKyAgICAgICAg IH0KKyAgICAgfQorIH0KK2RpZmYgLS1naXQgYS9vcGVudmRiL29wZW52ZGIvdW5pdHRlc3QvVGVz dFV0aWwuY2MgYi9vcGVudmRiL29wZW52ZGIvdW5pdHRlc3QvVGVzdFV0aWwuY2MKK2luZGV4IDcw ZTdkZjVmNy4uNmIyMjA0NzcxIDEwMDY0NAorLS0tIGEvb3BlbnZkYi9vcGVudmRiL3VuaXR0ZXN0 L1Rlc3RVdGlsLmNjCisrKysgYi9vcGVudmRiL29wZW52ZGIvdW5pdHRlc3QvVGVzdFV0aWwuY2MK K0BAIC04LDcgKzgsNiBAQAorIAorICNpbmNsdWRlIDxndGVzdC9ndGVzdC5oPgorIAorLSNpbmNs dWRlIDx0YmIvdGFza19zY2hlZHVsZXJfaW5pdC5oPgorICNpbmNsdWRlIDx0YmIvZW51bWVyYWJs ZV90aHJlYWRfc3BlY2lmaWMuaD4KKyAjaW5jbHVkZSA8dGJiL3BhcmFsbGVsX2Zvci5oPgorICNp bmNsdWRlIDx0YmIvYmxvY2tlZF9yYW5nZS5oPgorZGlmZiAtLWdpdCBhL29wZW52ZGIvb3BlbnZk Yi91bml0dGVzdC9UZXN0VmFsdWVBY2Nlc3Nvci5jYyBiL29wZW52ZGIvb3BlbnZkYi91bml0dGVz dC9UZXN0VmFsdWVBY2Nlc3Nvci5jYworaW5kZXggZmQyZGQ1ZDgxLi41YzFjYmIxOGIgMTAwNjQ0 CistLS0gYS9vcGVudmRiL29wZW52ZGIvdW5pdHRlc3QvVGVzdFZhbHVlQWNjZXNzb3IuY2MKKysr KyBiL29wZW52ZGIvb3BlbnZkYi91bml0dGVzdC9UZXN0VmFsdWVBY2Nlc3Nvci5jYworQEAgLTYs NiArNiw3IEBACisgCisgI2luY2x1ZGUgPGd0ZXN0L2d0ZXN0Lmg+CisgI2luY2x1ZGUgPHRiYi90 YXNrLmg+CisrI2luY2x1ZGUgPHRiYi90YXNrX2dyb3VwLmg+CisgCisgI2luY2x1ZGUgPHR5cGVf dHJhaXRzPgorIAorQEAgLTM3OCwyMiArMzc5LDIxIEBAIFRFU1RfRihUZXN0VmFsdWVBY2Nlc3Nv ciwgdGVzdE11bHRpdGhyZWFkZWRBY2Nlc3NvcikKKyAgICAgLy91c2luZyBBY2Nlc3NvclQgPSBv cGVudmRiOjp0cmVlOjpWYWx1ZUFjY2Vzc29yPFRyZWU0VHlwZT47CisgCisgICAgIC8vIFRhc2sg dG8gcGVyZm9ybSBtdWx0aXBsZSByZWFkcyB0aHJvdWdoIGEgc2hhcmVkIGFjY2Vzc29yCistICAg IHN0cnVjdCBSZWFkVGFzazogcHVibGljIHRiYjo6dGFzayB7CisrICAgIHN0cnVjdCBSZWFkVGFz ayB7CisgICAgICAgICBBY2Nlc3NvclQmIGFjYzsKKyAgICAgICAgIFJlYWRUYXNrKEFjY2Vzc29y VCYgYyk6IGFjYyhjKSB7fQorLSAgICAgICAgdGJiOjp0YXNrKiBleGVjdXRlKCkKKysgICAgICAg IHZvaWQgZXhlY3V0ZSgpCisgICAgICAgICB7CisgICAgICAgICAgICAgZm9yIChpbnQgaSA9IC1N QVhfQ09PUkQ7IGkgPCBNQVhfQ09PUkQ7ICsraSkgeworICAgICAgICAgICAgICAgICBBU1NFUlRf RE9VQkxFU19FWEFDVExZX0VRVUFMKGRvdWJsZShpKSwgYWNjLmdldFZhbHVlKG9wZW52ZGI6OkNv b3JkKGkpKSk7CisgICAgICAgICAgICAgfQorLSAgICAgICAgICAgIHJldHVybiBudWxscHRyOwor ICAgICAgICAgfQorICAgICB9OworICAgICAvLyBUYXNrIHRvIHBlcmZvcm0gbXVsdGlwbGUgd3Jp dGVzIHRocm91Z2ggYSBzaGFyZWQgYWNjZXNzb3IKKy0gICAgc3RydWN0IFdyaXRlVGFzazogcHVi bGljIHRiYjo6dGFzayB7CisrICAgIHN0cnVjdCBXcml0ZVRhc2sgeworICAgICAgICAgQWNjZXNz b3JUJiBhY2M7CisgICAgICAgICBXcml0ZVRhc2soQWNjZXNzb3JUJiBjKTogYWNjKGMpIHt9Cist ICAgICAgICB0YmI6OnRhc2sqIGV4ZWN1dGUoKQorKyAgICAgICAgdm9pZCBleGVjdXRlKCkKKyAg ICAgICAgIHsKKyAgICAgICAgICAgICBmb3IgKGludCBpID0gLU1BWF9DT09SRDsgaSA8IE1BWF9D T09SRDsgKytpKSB7CisgICAgICAgICAgICAgICAgIGZsb2F0IGYgPSBhY2MuZ2V0VmFsdWUob3Bl bnZkYjo6Q29vcmQoaSkpOworQEAgLTQwMSwyNiArNDAxLDIwIEBAIFRFU1RfRihUZXN0VmFsdWVB Y2Nlc3NvciwgdGVzdE11bHRpdGhyZWFkZWRBY2Nlc3NvcikKKyAgICAgICAgICAgICAgICAgYWNj LnNldFZhbHVlKG9wZW52ZGI6OkNvb3JkKGkpLCBmbG9hdChpKSk7CisgICAgICAgICAgICAgICAg IEFTU0VSVF9ET1VCTEVTX0VYQUNUTFlfRVFVQUwoZmxvYXQoaSksIGFjYy5nZXRWYWx1ZShvcGVu dmRiOjpDb29yZChpKSkpOworICAgICAgICAgICAgIH0KKy0gICAgICAgICAgICByZXR1cm4gbnVs bHB0cjsKKyAgICAgICAgIH0KKyAgICAgfTsKKyAgICAgLy8gUGFyZW50IHRhc2sgdG8gc3Bhd24g bXVsdGlwbGUgcGFyYWxsZWwgcmVhZCBhbmQgd3JpdGUgdGFza3MKKy0gICAgc3RydWN0IFJvb3RU YXNrOiBwdWJsaWMgdGJiOjp0YXNrIHsKKysgICAgc3RydWN0IFJvb3RUYXNrIHsKKyAgICAgICAg IEFjY2Vzc29yVCYgYWNjOworICAgICAgICAgUm9vdFRhc2soQWNjZXNzb3JUJiBjKTogYWNjKGMp IHt9CistICAgICAgICB0YmI6OnRhc2sqIGV4ZWN1dGUoKQorKyAgICAgICAgdm9pZCBleGVjdXRl KCkKKyAgICAgICAgIHsKKy0gICAgICAgICAgICBSZWFkVGFzayogclszXTsgV3JpdGVUYXNrKiB3 WzNdOworKyAgICAgICAgICAgIHRiYjo6dGFza19ncm91cCB0YXNrczsKKyAgICAgICAgICAgICBm b3IgKGludCBpID0gMDsgaSA8IDM7ICsraSkgeworLSAgICAgICAgICAgICAgICByW2ldID0gbmV3 KGFsbG9jYXRlX2NoaWxkKCkpIFJlYWRUYXNrKGFjYyk7CistICAgICAgICAgICAgICAgIHdbaV0g PSBuZXcoYWxsb2NhdGVfY2hpbGQoKSkgV3JpdGVUYXNrKGFjYyk7CisrICAgICAgICAgICAgICAg IHRhc2tzLnJ1bihbJl0geyBSZWFkVGFzayByKGFjYyk7IHIuZXhlY3V0ZSgpOyB9KTsKKysgICAg ICAgICAgICAgICAgdGFza3MucnVuKFsmXSB7IFdyaXRlVGFzayB3KGFjYyk7IHcuZXhlY3V0ZSgp OyB9KTsKKyAgICAgICAgICAgICB9CistICAgICAgICAgICAgc2V0X3JlZl9jb3VudCg2IC8qY2hp bGRyZW4qLyArIDEgLyp3YWl0Ki8pOworLSAgICAgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwg MzsgKytpKSB7CistICAgICAgICAgICAgICAgIHNwYXduKCpyW2ldKTsgc3Bhd24oKndbaV0pOwor LSAgICAgICAgICAgIH0KKy0gICAgICAgICAgICB3YWl0X2Zvcl9hbGwoKTsKKy0gICAgICAgICAg ICByZXR1cm4gbnVsbHB0cjsKKysgICAgICAgICAgICB0YXNrcy53YWl0KCk7CisgICAgICAgICB9 CisgICAgIH07CisgCitAQCAtNDMyLDggKzQyNiw4IEBAIFRFU1RfRihUZXN0VmFsdWVBY2Nlc3Nv ciwgdGVzdE11bHRpdGhyZWFkZWRBY2Nlc3NvcikKKyAgICAgfQorIAorICAgICAvLyBSdW4gbXVs dGlwbGUgcmVhZCBhbmQgd3JpdGUgdGFza3MgaW4gcGFyYWxsZWwuCistICAgIFJvb3RUYXNrJiBy b290ID0gKm5ldyh0YmI6OnRhc2s6OmFsbG9jYXRlX3Jvb3QoKSkgUm9vdFRhc2soYWNjKTsKKy0g ICAgdGJiOjp0YXNrOjpzcGF3bl9yb290X2FuZF93YWl0KHJvb3QpOworKyAgICBSb290VGFzayBy b290KGFjYyk7CisrICAgIHJvb3QuZXhlY3V0ZSgpOworIAorICN1bmRlZiBNQVhfQ09PUkQKKyB9 CitkaWZmIC0tZ2l0IGEvb3BlbnZkYl9ob3VkaW5pL29wZW52ZGJfaG91ZGluaS9TT1BfT3BlblZE Ql9SYXN0ZXJpemVfUG9pbnRzLmNjIGIvb3BlbnZkYl9ob3VkaW5pL29wZW52ZGJfaG91ZGluaS9T T1BfT3BlblZEQl9SYXN0ZXJpemVfUG9pbnRzLmNjCitpbmRleCAwZTFiNGQ4NTUuLjZkOWJiNTI4 YiAxMDA2NDQKKy0tLSBhL29wZW52ZGJfaG91ZGluaS9vcGVudmRiX2hvdWRpbmkvU09QX09wZW5W REJfUmFzdGVyaXplX1BvaW50cy5jYworKysrIGIvb3BlbnZkYl9ob3VkaW5pL29wZW52ZGJfaG91 ZGluaS9TT1BfT3BlblZEQl9SYXN0ZXJpemVfUG9pbnRzLmNjCitAQCAtMjAsNiArMjAsNyBAQAor ICNpbmNsdWRlIDxvcGVudmRiL3Rvb2xzL0dyaWRUcmFuc2Zvcm1lci5oPgorICNpbmNsdWRlIDxv cGVudmRiL3Rvb2xzL1BvaW50SW5kZXhHcmlkLmg+CisgI2luY2x1ZGUgPG9wZW52ZGIvdG9vbHMv UHJ1bmUuaD4KKysjaW5jbHVkZSA8b3BlbnZkYi90aHJlYWQvVGhyZWFkaW5nLmg+CisgCisgI2lu Y2x1ZGUgPENIL0NIX01hbmFnZXIuaD4KKyAjaW5jbHVkZSA8Q1ZFWC9DVkVYX0NvbnRleHQuaD4K K0BAIC03ODYsNyArNzg3LDcgQEAgc3RydWN0IENvbnN0cnVjdENhbmRpZGF0ZVZveGVsTWFzawor ICAgICAgICAgZm9yIChzaXplX3QgbiA9IHJhbmdlLmJlZ2luKCksIE4gPSByYW5nZS5lbmQoKTsg biAhPSBOOyArK24pIHsKKyAKKyAgICAgICAgICAgICBpZiAodGhpcy0+d2FzSW50ZXJydXB0ZWQo KSkgeworLSAgICAgICAgICAgICAgICB0YmI6OnRhc2s6OnNlbGYoKS5jYW5jZWxfZ3JvdXBfZXhl Y3V0aW9uKCk7CisrICAgICAgICAgICAgICAgIG9wZW52ZGI6OnRocmVhZDo6Y2FuY2VsR3JvdXBF eGVjdXRpb24oKTsKKyAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgfQorIAor QEAgLTIwOTIsNyArMjA5Myw3IEBAIHN0cnVjdCBSYXN0ZXJpemVQb2ludHMKKyAgICAgICAgIGZv ciAoc2l6ZV90IG4gPSByYW5nZS5iZWdpbigpLCBOID0gcmFuZ2UuZW5kKCk7IG4gIT0gTjsgKytu KSB7CisgCisgICAgICAgICAgICAgaWYgKHRoaXMtPndhc0ludGVycnVwdGVkKCkpIHsKKy0gICAg ICAgICAgICAgICAgdGJiOjp0YXNrOjpzZWxmKCkuY2FuY2VsX2dyb3VwX2V4ZWN1dGlvbigpOwor KyAgICAgICAgICAgICAgICBvcGVudmRiOjp0aHJlYWQ6OmNhbmNlbEdyb3VwRXhlY3V0aW9uKCk7 CisgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgIH0KKyAKK2RpZmYgLS1naXQg YS9vcGVudmRiX2hvdWRpbmkvb3BlbnZkYl9ob3VkaW5pL1NPUF9PcGVuVkRCX1NhbXBsZV9Qb2lu dHMuY2MgYi9vcGVudmRiX2hvdWRpbmkvb3BlbnZkYl9ob3VkaW5pL1NPUF9PcGVuVkRCX1NhbXBs ZV9Qb2ludHMuY2MKK2luZGV4IDc1N2ZkYzhjNi4uZGJlZTc0YjMyIDEwMDY0NAorLS0tIGEvb3Bl bnZkYl9ob3VkaW5pL29wZW52ZGJfaG91ZGluaS9TT1BfT3BlblZEQl9TYW1wbGVfUG9pbnRzLmNj CisrKysgYi9vcGVudmRiX2hvdWRpbmkvb3BlbnZkYl9ob3VkaW5pL1NPUF9PcGVuVkRCX1NhbXBs ZV9Qb2ludHMuY2MKK0BAIC0xNiwxMyArMTYsMTEgQEAKKyAjaW5jbHVkZSA8b3BlbnZkYl9ob3Vk aW5pL1NPUF9Ob2RlVkRCLmg+CisgCisgI2luY2x1ZGUgPG9wZW52ZGIvdG9vbHMvSW50ZXJwb2xh dGlvbi5oPiAgLy8gZm9yIGJveCBzYW1wbGVyCisrI2luY2x1ZGUgPG9wZW52ZGIvdGhyZWFkL1Ro cmVhZGluZy5oPgorICNpbmNsdWRlIDxvcGVudmRiL3BvaW50cy9Qb2ludENvdW50Lmg+CisgI2lu Y2x1ZGUgPG9wZW52ZGIvcG9pbnRzL1BvaW50U2FtcGxlLmg+CisgI2luY2x1ZGUgPG9wZW52ZGIv cG9pbnRzL0luZGV4RmlsdGVyLmg+ICAgLy8gZm9yIE11bHRpR3JvdXBGaWx0ZXIKKyAKKy0jaW5j bHVkZSA8dGJiL3RpY2tfY291bnQuaD4gICAgICAgICAgICAgICAgIC8vIGZvciB0aW1pbmcKKy0j aW5jbHVkZSA8dGJiL3Rhc2suaD4gICAgICAgICAgICAgICAgICAgICAgIC8vIGZvciBjYW5jZWwK Ky0KKyAjaW5jbHVkZSA8VVQvVVRfSW50ZXJydXB0Lmg+CisgI2luY2x1ZGUgPEdBL0dBX1BhZ2VI YW5kbGUuaD4KKyAjaW5jbHVkZSA8R0EvR0FfUGFnZUl0ZXJhdG9yLmg+CitAQCAtMzgsNiArMzYs NyBAQAorICNpbmNsdWRlIDxzdGRleGNlcHQ+CisgI2luY2x1ZGUgPHN0cmluZz4KKyAjaW5jbHVk ZSA8dmVjdG9yPgorKyNpbmNsdWRlIDxjaHJvbm8+CisgCisgCisgCitAQCAtMzI3LDcgKzMyNiw3 IEBAIGNsYXNzIFBvaW50U2FtcGxlcgorICAgICB7CisgCisgICAgICAgICBpZiAobUludGVycnVw dGVyLT53YXNJbnRlcnJ1cHRlZCgpKSB7CistICAgICAgICAgICAgdGJiOjp0YXNrOjpzZWxmKCku Y2FuY2VsX2dyb3VwX2V4ZWN1dGlvbigpOworKyAgICAgICAgICAgIG9wZW52ZGI6OnRocmVhZDo6 Y2FuY2VsR3JvdXBFeGVjdXRpb24oKTsKKyAgICAgICAgIH0KKyAgICAgICAgIGNvbnN0IEdyaWRU eXBlJiBncmlkID0gVVR2ZGJHcmlkQ2FzdDxHcmlkVHlwZT4obUdyaWQpOworICAgICAgICAgLy8g dGFzayBsb2NhbCBncmlkIGFjY2Vzc29yCitAQCAtNDgxLDcgKzQ4MCw3IEBAIFNPUF9PcGVuVkRC X1NhbXBsZV9Qb2ludHM6OkNhY2hlOjpjb29rVkRCU29wKE9QX0NvbnRleHQmIGNvbnRleHQpCisg ICAgICAgICBpbnQgbnVtVW5uYW1lZEdyaWRzID0gMDsKKyAKKyAgICAgICAgIC8vIHN0YXJ0IHRp bWUKKy0gICAgICAgIHRiYjo6dGlja19jb3VudCB0aW1lX3N0YXJ0ID0gdGJiOjp0aWNrX2NvdW50 Ojpub3coKTsKKysgICAgICAgIGF1dG8gdGltZV9zdGFydCA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlf Y2xvY2s6Om5vdygpOworICAgICAgICAgVVRfQXV0b0ludGVycnVwdCBwcm9ncmVzcygiU2FtcGxp bmcgZnJvbSBWREIgZ3JpZHMiKTsKKyAKKyAgICAgICAgIGZvciAoaHZkYjo6VmRiUHJpbUNJdGVy YXRvciBpdChiR2RwLCBncm91cCk7IGl0OyArK2l0KSB7CitAQCAtNzA2LDE1ICs3MDUsMTYgQEAg U09QX09wZW5WREJfU2FtcGxlX1BvaW50czo6Q2FjaGU6OmNvb2tWREJTb3AoT1BfQ29udGV4dCYg Y29udGV4dCkKKyAgICAgICAgICAgICB9CisgICAgICAgICB9CisgCistICAgICAgICAvLyB0aW1p bmc6IGVuZCB0aW1lCistICAgICAgICB0YmI6OnRpY2tfY291bnQgdGltZV9lbmQgPSB0YmI6OnRp Y2tfY291bnQ6Om5vdygpOworLQorICAgICAgICAgaWYgKHZlcmJvc2UpIHsKKysgICAgICAgICAg ICAvLyB0aW1pbmc6IGVuZCB0aW1lCisrICAgICAgICAgICAgYXV0byBkdXJhdGlvbiA9IHN0ZDo6 Y2hyb25vOjpkdXJhdGlvbl9jYXN0PHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM+KAorKyAgICAg ICAgICAgICAgICBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKSAtIHRpbWVfc3RhcnQp OworKyAgICAgICAgICAgIGNvbnN0IGRvdWJsZSBzZWNvbmRzID0gZG91YmxlKGR1cmF0aW9uLmNv dW50KCkpIC8gMTAwMC4wOworICAgICAgICAgICAgIHN0ZDo6Y291dCA8PCAiU2FtcGxpbmcgIiA8 PCBuUG9pbnRzICsgblZEQlBvaW50cyA8PCAiIHBvaW50cyBpbiAiCisgICAgICAgICAgICAgICAg ICAgICAgIDw8IG51bVZlY3RvckdyaWRzIDw8ICIgdmVjdG9yIGdyaWQiIDw8IChudW1WZWN0b3JH cmlkcyA9PSAxID8gIiIgOiAicyIpCisgICAgICAgICAgICAgICAgICAgICAgIDw8ICIgYW5kICIg PDwgbnVtU2NhbGFyR3JpZHMgPDwgIiBzY2FsYXIgZ3JpZCIKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgIDw8IChudW1TY2FsYXJHcmlkcyA9PSAxID8gIiIgOiAicyIpCistICAgICAgICAgICAg ICAgICAgICAgIDw8ICIgdG9vayAiIDw8ICh0aW1lX2VuZCAtIHRpbWVfc3RhcnQpLnNlY29uZHMo KSA8PCAiIHNlY29uZHNcbiAiCisrICAgICAgICAgICAgICAgICAgICAgIDw8ICIgdG9vayAiIDw8 IHNlY29uZHMgPDwgIiBzZWNvbmRzXG4gIgorICAgICAgICAgICAgICAgICAgICAgICA8PCAodGhy ZWFkZWQgPyAidGhyZWFkZWQiIDogIm5vbi10aHJlYWRlZCIpIDw8IHN0ZDo6ZW5kbDsKKyAgICAg ICAgIH0KKyAKK2RpZmYgLS1naXQgYS9vcGVudmRiX21heWEvb3BlbnZkYl9tYXlhL09wZW5WREJQ bHVnaW4uY2MgYi9vcGVudmRiX21heWEvb3BlbnZkYl9tYXlhL09wZW5WREJQbHVnaW4uY2MKK2lu ZGV4IDNkNTU5ZjhjYy4uZDYzZWQxNTkxIDEwMDY0NAorLS0tIGEvb3BlbnZkYl9tYXlhL29wZW52 ZGJfbWF5YS9PcGVuVkRCUGx1Z2luLmNjCisrKysgYi9vcGVudmRiX21heWEvb3BlbnZkYl9tYXlh L09wZW5WREJQbHVnaW4uY2MKK0BAIC00NywxMSArNDcsOCBAQCBzdHJ1Y3QgTm9kZUluZm8gewor IAorIHR5cGVkZWYgc3RkOjp2ZWN0b3I8Tm9kZUluZm8+IE5vZGVMaXN0OworIAorLXR5cGVkZWYg dGJiOjptdXRleCBNdXRleDsKKy10eXBlZGVmIE11dGV4OjpzY29wZWRfbG9jayBMb2NrOworLQor IC8vIERlY2xhcmUgdGhpcyBhdCBmaWxlIHNjb3BlIHRvIGVuc3VyZSB0aHJlYWQtc2FmZSBpbml0 aWFsaXphdGlvbi4KKy1NdXRleCBzUmVnaXN0cnlNdXRleDsKKytzdGQ6Om11dGV4IHNSZWdpc3Ry eU11dGV4OworIAorIE5vZGVMaXN0ICogZ05vZGVzID0gTlVMTDsKKyAKK0BAIC03MCw3ICs2Nyw3 IEBAIE5vZGVSZWdpc3RyeTo6Tm9kZVJlZ2lzdHJ5KGNvbnN0IE1TdHJpbmcmIHR5cGVOYW1lLCBj b25zdCBNVHlwZUlkJiB0eXBlSWQsCisgICAgIG5vZGUudHlwZSAgICAgICAgICAgICAgID0gdHlw ZTsKKyAgICAgbm9kZS5jbGFzc2lmaWNhdGlvbiAgICAgPSBjbGFzc2lmaWNhdGlvbjsKKyAKKy0g ICAgTG9jayBsb2NrKHNSZWdpc3RyeU11dGV4KTsKKysgICAgc3RkOjpsb2NrX2d1YXJkPHN0ZDo6 bXV0ZXg+IGxvY2soc1JlZ2lzdHJ5TXV0ZXgpOworIAorICAgICBpZiAoIWdOb2RlcykgeworICAg ICAgICAgT1BFTlZEQl9TVEFSVF9USFJFQURTQUZFX1NUQVRJQ19XUklURQorQEAgLTg1LDcgKzgy LDcgQEAgTm9kZVJlZ2lzdHJ5OjpOb2RlUmVnaXN0cnkoY29uc3QgTVN0cmluZyYgdHlwZU5hbWUs IGNvbnN0IE1UeXBlSWQmIHR5cGVJZCwKKyB2b2lkCisgTm9kZVJlZ2lzdHJ5OjpyZWdpc3Rlck5v ZGVzKE1GblBsdWdpbiYgcGx1Z2luLCBNU3RhdHVzJiBzdGF0dXMpCisgeworLSAgICBMb2NrIGxv Y2soc1JlZ2lzdHJ5TXV0ZXgpOworKyAgICBzdGQ6OmxvY2tfZ3VhcmQ8c3RkOjptdXRleD4gbG9j ayhzUmVnaXN0cnlNdXRleCk7CisgCisgICAgIGlmIChnTm9kZXMpIHsKKyAgICAgICAgIGZvciAo c2l6ZV90IG4gPSAwLCBOID0gZ05vZGVzLT5zaXplKCk7IG4gPCBOOyArK24pIHsKK0BAIC0xMDks NyArMTA2LDcgQEAgTm9kZVJlZ2lzdHJ5OjpyZWdpc3Rlck5vZGVzKE1GblBsdWdpbiYgcGx1Z2lu LCBNU3RhdHVzJiBzdGF0dXMpCisgdm9pZAorIE5vZGVSZWdpc3RyeTo6ZGVyZWdpc3Rlck5vZGVz KE1GblBsdWdpbiYgcGx1Z2luLCBNU3RhdHVzJiBzdGF0dXMpCisgeworLSAgICBMb2NrIGxvY2so c1JlZ2lzdHJ5TXV0ZXgpOworKyAgICBzdGQ6OmxvY2tfZ3VhcmQ8c3RkOjptdXRleD4gbG9jayhz UmVnaXN0cnlNdXRleCk7CisgCisgICAgIGlmIChnTm9kZXMpIHsKKyAgICAgICAgIGZvciAoc2l6 ZV90IG4gPSAwLCBOID0gZ05vZGVzLT5zaXplKCk7IG4gPCBOOyArK24pIHsKK2RpZmYgLS1naXQg YS9vcGVudmRiX21heWEvb3BlbnZkYl9tYXlhL09wZW5WREJVdGlsLmggYi9vcGVudmRiX21heWEv b3BlbnZkYl9tYXlhL09wZW5WREJVdGlsLmgKK2luZGV4IGI1OGJkNmYyYy4uNmEwNGIxZWFmIDEw MDY0NAorLS0tIGEvb3BlbnZkYl9tYXlhL29wZW52ZGJfbWF5YS9PcGVuVkRCVXRpbC5oCisrKysg Yi9vcGVudmRiX21heWEvb3BlbnZkYl9tYXlhL09wZW5WREJVdGlsLmgKK0BAIC0xNCw4ICsxNCw3 IEBACisgI2luY2x1ZGUgPG9wZW52ZGIvdHJlZS9MZWFmTWFuYWdlci5oPgorICNpbmNsdWRlIDxv cGVudmRiL3Rvb2xzL1ZvbHVtZVRvTWVzaC5oPgorICNpbmNsdWRlIDxvcGVudmRiL3V0aWwvRm9y bWF0cy5oPiAvLyBwcmludEJ5dGVzCistCistI2luY2x1ZGUgPHRiYi90aWNrX2NvdW50Lmg+Cisr I2luY2x1ZGUgPG9wZW52ZGIvdGhyZWFkL1RocmVhZGluZy5oPgorIAorICNpbmNsdWRlIDxtYXlh L00zZFZpZXcuaD4KKyAjaW5jbHVkZSA8bWF5YS9NU3RyaW5nLmg+CitAQCAtNDAsNiArMzksNyBA QAorICNpbmNsdWRlIDxzdHJpbmc+CisgI2luY2x1ZGUgPHR5cGVfdHJhaXRzPgorICNpbmNsdWRl IDx2ZWN0b3I+CisrI2luY2x1ZGUgPGNocm9ubz4KKyAKKyAKKyAvLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vCitAQCAtMTE2LDExICsxMTYsMTUgQEAgaW5zZXJ0RnJhbWVO dW1iZXIoc3RkOjpzdHJpbmcmIHN0ciwgY29uc3QgTVRpbWUmIHRpbWUsIGludCBudW1iZXJpbmdT Y2hlbWUgPSAwKTsKKyAKKyBzdHJ1Y3QgVGltZXIKKyB7CistICAgIFRpbWVyKCkgOiBtU3RhbXAo dGJiOjp0aWNrX2NvdW50Ojpub3coKSkgeyB9CisrICAgIFRpbWVyKCkgOiBtU3RhbXAoc3RkOjpj aHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCkpIHsgfQorIAorLSAgICB2b2lkIHJlc2V0KCkgeyBt U3RhbXAgPSB0YmI6OnRpY2tfY291bnQ6Om5vdygpOyB9CisrICAgIHZvaWQgcmVzZXQoKSB7IG1T dGFtcCA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOyB9CisgCistICAgIGRvdWJs ZSBzZWNvbmRzKCkgY29uc3QgeyByZXR1cm4gKHRiYjo6dGlja19jb3VudDo6bm93KCkgLSBtU3Rh bXApLnNlY29uZHMoKTsgfQorKyAgICBkb3VibGUgc2Vjb25kcygpIGNvbnN0IHsKKysgICAgICAg IGF1dG8gZHVyYXRpb24gPSBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6 bWlsbGlzZWNvbmRzPigKKysgICAgICAgICAgICBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpu b3coKSAtIG1TdGFtcCk7CisrICAgICAgICByZXR1cm4gZG91YmxlKGR1cmF0aW9uLmNvdW50KCkp IC8gMTAwMC4wOworKyAgICB9CisgCisgICAgIHN0ZDo6c3RyaW5nIGVsYXBzZWRUaW1lKCkgY29u c3QgeworICAgICAgICAgZG91YmxlIHNlYyA9IHNlY29uZHMoKTsKK0BAIC0xMjgsNyArMTMyLDcg QEAgc3RydWN0IFRpbWVyCisgICAgIH0KKyAKKyBwcml2YXRlOgorLSAgICB0YmI6OnRpY2tfY291 bnQgbVN0YW1wOworKyAgICAgc3RkOjpjaHJvbm86OnRpbWVfcG9pbnQ8c3RkOjpjaHJvbm86OnN0 ZWFkeV9jbG9jaz4gbVN0YW1wOworIH07CisgCisgCitkaWZmIC0tZ2l0IGEvcGVuZGluZ2NoYW5n ZXMvdGJiMjAyMS50eHQgYi9wZW5kaW5nY2hhbmdlcy90YmIyMDIxLnR4dAorbmV3IGZpbGUgbW9k ZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMC4uODEwOWMyNTUyCistLS0gL2Rldi9udWxsCisrKysg Yi9wZW5kaW5nY2hhbmdlcy90YmIyMDIxLnR4dAorQEAgLTAsMCArMSw2IEBACisrSW1wcm92ZW1l bnRzOgorKyAgLSBNb3ZlZCBmcm9tIHRoZSBkZXByZWNhdGVkIFRCQiB0YXNrIHNjaGVkdWxlciB0 byBUQkIgYXJlbmFzLiBWYXJpb3VzIG1ldGhvZHMgbm93IHJlc3BlY3QgdGhlIFRCQiBhcmVuYSBz dGF0ZSB0aGV5IHdlcmUgaW52b2tlZCBmcm9tLgorKyAgLSBJbnRyb2R1Y2VkIGEgbmV3IHRocmVh ZC9UaHJlYWRpbmcuaCBoZWFkZXIgdG8gY29uc29saWRhdGUgY2FsbHMgdG8gdGhpcmQtcGFydHkg dGhyZWFkaW5nIG1ldGhvZHMuCisrCisrQnVpbGQ6CisrICAtIEFkZGVkIHN1cHBvcnQgZm9yIFRC QiAyMDIxLgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9vcGVudmRiL3RlbXBsYXRlIGIvc3JjcGtncy9v cGVudmRiL3RlbXBsYXRlCmluZGV4IDcyZmRlNWJjNjM3NS4uZDQyMGEzZWU1ZjVkIDEwMDY0NAot LS0gYS9zcmNwa2dzL29wZW52ZGIvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9vcGVudmRiL3RlbXBs YXRlCkBAIC0xLDI2ICsxLDE4IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdvcGVudmRiJwogcGtn bmFtZT1vcGVudmRiCi12ZXJzaW9uPTcuMC4wCit2ZXJzaW9uPTguMS4wCiByZXZpc2lvbj0xCiBi dWlsZF9zdHlsZT1jbWFrZQogY29uZmlndXJlX2FyZ3M9Ii1ET1BFTlZEQl9CVUlMRF9WREJfVklF Vz0xIgogaG9zdG1ha2VkZXBlbmRzPSJwa2ctY29uZmlnIgotbWFrZWRlcGVuZHM9ImJvb3N0LWRl dmVsIHRiYi1kZXZlbCBpbG1iYXNlLWRldmVsIGxpYm9wZW5leHItZGV2ZWwgYy1ibG9zYy1kZXZl bCBnbGZ3LWRldmVsIgorbWFrZWRlcGVuZHM9ImJvb3N0LWRldmVsIHRiYi1kZXZlbCBpbG1iYXNl LWRldmVsIGxpYm9wZW5leHItZGV2ZWwgYy1ibG9zYy1kZXZlbAorIGdsZnctZGV2ZWwgamVtYWxs b2MtZGV2ZWwiCiBzaG9ydF9kZXNjPSJTcGFyc2Ugdm9sdW1lIGRhdGEgc3RydWN0dXJlIGFuZCB0 b29scyIKIG1haW50YWluZXI9Ik9ycGhhbmVkIDxvcnBoYW5Adm9pZGxpbnV4Lm9yZz4iCiBsaWNl bnNlPSJNUEwtMi4wIgogaG9tZXBhZ2U9Imh0dHBzOi8vb3BlbnZkYi5vcmciCiBkaXN0ZmlsZXM9 Imh0dHBzOi8vZ2l0aHViLmNvbS9BY2FkZW15U29mdHdhcmVGb3VuZGF0aW9uL29wZW52ZGIvYXJj aGl2ZS92JHt2ZXJzaW9ufS50YXIuZ3oiCi1jaGVja3N1bT05N2JjOGFlMzVlZjdjY2JmNDlhNGUy NWNiNzNlOGMyZWNjYWU2YjIzNWJhYzg2ZjIxNTA3MDdlZmNkMWU5MTBkCi0KLWlmIFsgIiRYQlBT X1RBUkdFVF9OT19BVE9NSUM4IiBdOyB0aGVuCi0JbWFrZWRlcGVuZHMrPSIgbGliYXRvbWljLWRl dmVsIgotZmkKLQotcG9zdF9wYXRjaCgpIHsKLQlbICIkWEJQU19UQVJHRVRfTk9fQVRPTUlDOCIg XSB8fCByZXR1cm4gMAotCXZzZWQgLWkgJ3MsWkxJQjo6WkxJQixaTElCOjpaTElCIGF0b21pYywn IG9wZW52ZGIvQ01ha2VMaXN0cy50eHQKLX0KK2NoZWNrc3VtPTNlMDlkNDczMzE0MjliZTc0MDlh M2EzYzI3ZmRkM2MyOTdmOTZkMzFkMjE1M2ZlYmUxOTRlNjY0YTk5ZDYxODMKIAogcG9zdF9pbnN0 YWxsKCkgewogCXZsaWNlbnNlIExJQ0VOU0UKCkZyb20gZGQ3ZmIyNDA3MmY4NmFjYmNhZjZkOGRl NTIwNWJmMjExMTk5MDUwNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogQXJ0dXIgU2lu aWxhIDxmcmVlc29mdHdhcmVAbG9nYXJpdGhtdXMuZGV2PgpEYXRlOiBTdW4sIDE4IEp1bCAyMDIx IDE4OjI5OjQwICswMzAwClN1YmplY3Q6IFtQQVRDSCAxMC8xMV0gcGFyYXZpZXc6IHVwZGF0ZSB0 byA1LjkuMS4KCi0tLQogc3JjcGtncy9wYXJhdmlldy90ZW1wbGF0ZSB8IDQgKystLQogMSBmaWxl IGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9z cmNwa2dzL3BhcmF2aWV3L3RlbXBsYXRlIGIvc3JjcGtncy9wYXJhdmlldy90ZW1wbGF0ZQppbmRl eCAyMGE3ZjU1ODk2NzcuLmU2YzM5NDFjZTkwYSAxMDA2NDQKLS0tIGEvc3JjcGtncy9wYXJhdmll dy90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3BhcmF2aWV3L3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBA QAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncGFyYXZpZXcnCiBwa2duYW1lPXBhcmF2aWV3Ci12ZXJz aW9uPTUuOC4xCi1yZXZpc2lvbj0zCit2ZXJzaW9uPTUuOS4xCityZXZpc2lvbj0xCiB3cmtzcmM9 UGFyYVZpZXctdiR7dmVyc2lvbn0KIGJ1aWxkX3N0eWxlPWNtYWtlCiBjb25maWd1cmVfYXJncz0i LURDTUFLRV9QUkVGSVhfUEFUSD0ke1hCUFNfQ1JPU1NfQkFTRX0vdXNyCgpGcm9tIGIzMzcyMGIy MDJmMDI2MmFlNTU5ZjIzODZiMTgxYjcwZTA2MzFlZjkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206IEFydHVyIFNpbmlsYSA8ZnJlZXNvZnR3YXJlQGxvZ2FyaXRobXVzLmRldj4KRGF0ZTog U3VuLCAxOCBKdWwgMjAyMSAxODoyOTozOSArMDMwMApTdWJqZWN0OiBbUEFUQ0ggMTEvMTFdIG9j Y3Q6IHJldmJ1bXAgZHVlIHRvIHRiYiB1cGRhdGUKCi0tLQogc3JjcGtncy9vY2N0L3RlbXBsYXRl IHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpk aWZmIC0tZ2l0IGEvc3JjcGtncy9vY2N0L3RlbXBsYXRlIGIvc3JjcGtncy9vY2N0L3RlbXBsYXRl CmluZGV4IDkyOThlZGM3NmUwOC4uMDA2Zjg5ZWJiOGNlIDEwMDY0NAotLS0gYS9zcmNwa2dzL29j Y3QvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9vY2N0L3RlbXBsYXRlCkBAIC0yLDcgKzIsNyBAQAog cGtnbmFtZT1vY2N0CiByZXZlcnRzPTcuNS4wXzEKIHZlcnNpb249Ny40LjBwMQotcmV2aXNpb249 MworcmV2aXNpb249NAogX2dpdHRhZz0iViR7dmVyc2lvbi8vLi9ffSIKIHdya3NyYz1vY2N0LSR7 X2dpdHRhZ30KIGJ1aWxkX3N0eWxlPWNtYWtlCg== --===============1720541596788068056==--