From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=0.7 required=5.0 tests=ALL_TRUSTED,URIBL_BLACK autolearn=no autolearn_force=no version=3.4.4 Received: (qmail 11235 invoked from network); 29 Mar 2023 19:35:57 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 29 Mar 2023 19:35:57 -0000 Content-Type: multipart/mixed; boundary="===============0436062840057225812==" MIME-Version: 1.0 Subject: =?utf8?q?=5BPR_PATCH=5D_musl?= To: ml@inbox.vuxu.org From: dkwo Reply-to: ml@inbox.vuxu.org Message-ID: Date: Wed, 29 Mar 2023 21:35:57 +0200 List-Id: GitHub notification mails are now in MIME to allow UTF8. --===============0436062840057225812== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYSBuZXcgcHVsbCByZXF1ZXN0IGJ5IGRrd28gYWdhaW5zdCBtYXN0ZXIgb24gdGhl IHZvaWQtcGFja2FnZXMgcmVwb3NpdG9yeQoKaHR0cHM6Ly9naXRodWIuY29tL2Rrd28vdm9pZC1w YWNrYWdlcyBtdXNsCmh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMv cHVsbC80MzEwNgoKbXVzbAotIEkgdGVzdGVkIHRoZSBjaGFuZ2VzIGluIHRoaXMgUFI6IHllcw0K LSBJIGJ1aWx0IHRoaXMgUFIgbG9jYWxseSBmb3IgbXkgbmF0aXZlIGFyY2hpdGVjdHVyZSwgKHg4 Nl82NC1tdXNsKQ0KLSBrZWVwaW5nIHRoZSBsYXJnZS1maWxlIHBhdGNoLCBmb3Igbm93DQotIHJl cXVpcmVzIGNoYW5nZXMgdG8geGJwcywgYWxvbmcgbGluZXMgb2YgaHR0cHM6Ly9naXRodWIuY29t L3ZvaWQtbGludXgveGJwcy9wdWxsLzMzMQoKQSBwYXRjaCBmaWxlIGZyb20gaHR0cHM6Ly9naXRo dWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzQzMTA2LnBhdGNoIGlzIGF0dGFj aGVk --===============0436062840057225812== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-musl-43106.patch" RnJvbSA0OGQzY2U0N2ZkOThkZjMyZjlmN2QwMWI5ZTI0YWMyZDU1MTcxOTMwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBka3dvIDxuaWNvbG9waWF6emFsdW5nYUBnbWFpbC5jb20+CkRh dGU6IFRodSwgMTMgTWF5IDIwMjEgMTM6NTE6MDggKzAyMDAKU3ViamVjdDogW1BBVENIIDAxLzE3 XSBtdXNsOiB1cGRhdGUgdG8gMS4yLjMKCi0tLQogY29tbW9uL3NobGlicyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgICAyICstCiBzcmNwa2dzL211c2wvcGF0Y2hlcy8wMC1yZWFs bG9jYXJyYXkucGF0Y2ggICAgfCAgNDIgLS0tLQogLi4uL3BhdGNoZXMvMDAwMS1yZW1vdmUtT19M QVJHRUZJTEUucGF0Y2ggICAgIHwgIDI2ICsrKwogLi4uaXN0X3VubGlua19pbl9wdGhyZWFkX2V4 aXRfYWZ0ZXJfYWxsLnBhdGNoIHwgIDU2IC0tLS0tCiAuLi5ocmVhZHNfbWludXNfMV9hc19yZWxh eGVkX2F0b21pY19mb3IucGF0Y2ggfCAgNzggLS0tLS0tLQogLi4ub3duX3NpemVfb2Zfc29tZV9s aWJjX3N0cnVjdF9tZW1iZXJzLnBhdGNoIHwgIDMwIC0tLQogLi4ucHBpbmdfZm9yX3Byb2Nlc3Nl c190aGF0X3JldHVybl90b19zLnBhdGNoIHwgMTAyIC0tLS0tLS0tCiAuLi4wOThhODg1ZmVhZTNh ZThjMzJiNDA3MzUwZDhjYTg1ZGQxNzgucGF0Y2ggfCAxMTMgLS0tLS0tLS0tCiBzcmNwa2dzL211 c2wvcGF0Y2hlcy9DVkUtMjAyMC0yODkyOC5wYXRjaCAgICAgfCAgNjQgLS0tLS0KIHNyY3BrZ3Mv bXVzbC9wYXRjaGVzL2FhcmNoNjQtZnJlZ3MucGF0Y2ggICAgICB8ICAzNyAtLS0KIC4uLmQtc3Vw cG9ydC1mb3ItU0lHRVZfVEhSRUFEX0lELXRpbWVycy5wYXRjaCB8ICA3NCAtLS0tLS0KIHNyY3Br Z3MvbXVzbC9wYXRjaGVzL2Vwb2xsX2NwLnBhdGNoICAgICAgICAgICB8ICAyOCAtLS0KIC4uLi9t dXNsL3BhdGNoZXMvZml4LXBpLW11dGV4LWNvbmQtMS5wYXRjaCAgICB8ICA1NiAtLS0tLQogLi4u L211c2wvcGF0Y2hlcy9maXgtcGktbXV0ZXgtY29uZC0yLnBhdGNoICAgIHwgIDQ4IC0tLS0KIC4u Li9tdXNsL3BhdGNoZXMvZml4LXBpLW11dGV4LWNvbmQtMy5wYXRjaCAgICB8ICAyOCAtLS0KIHNy Y3BrZ3MvbXVzbC9wYXRjaGVzL2dldHRpZC5wYXRjaCAgICAgICAgICAgICB8ICA0OSAtLS0tCiAu Li50bHlfaW5zdGVhZF9vZl91c2luZ19wcm9jZnNfcmVhZGxpbmsucGF0Y2ggfCAyMTkgLS0tLS0t LS0tLS0tLS0tLS0tCiBzcmNwa2dzL211c2wvcGF0Y2hlcy9pc2FzY2lpLnBhdGNoICAgICAgICAg ICAgfCAgMjEgLS0KIHNyY3BrZ3MvbXVzbC9wYXRjaGVzL21vX2xvb2t1cC5wYXRjaCAgICAgICAg ICB8ICAxOSAtLQogc3JjcGtncy9tdXNsL3BhdGNoZXMvcHBjLXB0X3JlZ3MucGF0Y2ggICAgICAg IHwgIDM4IC0tLQogc3JjcGtncy9tdXNsL3BhdGNoZXMvcHBjNjQtZnByZWdzZXRfdC5wYXRjaCAg IHwgIDMxIC0tLQogc3JjcGtncy9tdXNsL3BhdGNoZXMvcHBjbGUucGF0Y2ggICAgICAgICAgICAg IHwgIDI0IC0tCiAuLi5pbl9yZWFkbGlua19zeXNjYWxsX3dpdGhfemVyb19idWZmZXIucGF0Y2gg fCAgNTkgLS0tLS0KIHNyY3BrZ3MvbXVzbC90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICAgICAg ICB8ICAgOCArLQogMjQgZmlsZXMgY2hhbmdlZCwgMzEgaW5zZXJ0aW9ucygrKSwgMTIyMSBkZWxl dGlvbnMoLSkKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL211c2wvcGF0Y2hlcy8wMC1yZWFs bG9jYXJyYXkucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL211c2wvcGF0Y2hlcy8w MDAxLXJlbW92ZS1PX0xBUkdFRklMRS5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mv bXVzbC9wYXRjaGVzLzAwMDFfcmVvcmRlcl90aHJlYWRfbGlzdF91bmxpbmtfaW5fcHRocmVhZF9l eGl0X2FmdGVyX2FsbC5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbXVzbC9wYXRj aGVzLzAwMDJfZG9uX3RfdXNlX2xpYmNfdGhyZWFkc19taW51c18xX2FzX3JlbGF4ZWRfYXRvbWlj X2Zvci5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbXVzbC9wYXRjaGVzLzAwMDNf Y3V0X2Rvd25fc2l6ZV9vZl9zb21lX2xpYmNfc3RydWN0X21lbWJlcnMucGF0Y2gKIGRlbGV0ZSBt b2RlIDEwMDY0NCBzcmNwa2dzL211c2wvcGF0Y2hlcy8wMDA0X3Jlc3RvcmVfbG9ja19za2lwcGlu Z19mb3JfcHJvY2Vzc2VzX3RoYXRfcmV0dXJuX3RvX3MucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0 NCBzcmNwa2dzL211c2wvcGF0Y2hlcy85OWQ1MDk4YTg4NWZlYWUzYWU4YzMyYjQwNzM1MGQ4Y2E4 NWRkMTc4LnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9tdXNsL3BhdGNoZXMvQ1ZF LTIwMjAtMjg5MjgucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL211c2wvcGF0Y2hl cy9hYXJjaDY0LWZyZWdzLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9tdXNsL3Bh dGNoZXMvYWRkLXN1cHBvcnQtZm9yLVNJR0VWX1RIUkVBRF9JRC10aW1lcnMucGF0Y2gKIGRlbGV0 ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL211c2wvcGF0Y2hlcy9lcG9sbF9jcC5wYXRjaAogZGVsZXRl IG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbXVzbC9wYXRjaGVzL2ZpeC1waS1tdXRleC1jb25kLTEucGF0 Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL211c2wvcGF0Y2hlcy9maXgtcGktbXV0ZXgt Y29uZC0yLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9tdXNsL3BhdGNoZXMvZml4 LXBpLW11dGV4LWNvbmQtMy5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbXVzbC9w YXRjaGVzL2dldHRpZC5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbXVzbC9wYXRj aGVzL2ltcGxlbWVudF9yZWFscGF0aF9kaXJlY3RseV9pbnN0ZWFkX29mX3VzaW5nX3Byb2Nmc19y ZWFkbGluay5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbXVzbC9wYXRjaGVzL2lz YXNjaWkucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL211c2wvcGF0Y2hlcy9tb19s b29rdXAucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL211c2wvcGF0Y2hlcy9wcGMt cHRfcmVncy5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbXVzbC9wYXRjaGVzL3Bw YzY0LWZwcmVnc2V0X3QucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL211c2wvcGF0 Y2hlcy9wcGNsZS5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbXVzbC9wYXRjaGVz L3dvcmtfYXJvdW5kX2xpbnV4X2J1Z19pbl9yZWFkbGlua19zeXNjYWxsX3dpdGhfemVyb19idWZm ZXIucGF0Y2gKCmRpZmYgLS1naXQgYS9jb21tb24vc2hsaWJzIGIvY29tbW9uL3NobGlicwppbmRl eCBiYTk5ZTNhN2M5OWIuLmM3MGQyNTc5YTA1ZiAxMDA2NDQKLS0tIGEvY29tbW9uL3NobGlicwor KysgYi9jb21tb24vc2hsaWJzCkBAIC0xNiw3ICsxNiw3IEBACiAjIFBMRUFTRSBOT1RFOiB3aGVu IG11bHRpcGxlIHBhY2thZ2VzIHByb3ZpZGUgdGhlIHNhbWUgU09OQU1FLCB0aGUgZmlyc3QKICMg b25lIChvcmRlciB0b3AtPmJvdHRvbSkgaXMgcHJlZmVycmVkIG92ZXIgdGhlIG5leHQgb25lcy4K ICMKLWxpYmMuc28gbXVzbC0xLjEuMjRfNworbGliYy5zbyBtdXNsLTEuMi4zXzEKIGxpYmMuc28u NiBnbGliYy0yLjM2XzEKIGxpYm0uc28uNiBnbGliYy0yLjM2XzEKIGxpYnB0aHJlYWQuc28uMCBn bGliYy0yLjM2XzEKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbXVzbC9wYXRjaGVzLzAwLXJlYWxsb2Nh cnJheS5wYXRjaCBiL3NyY3BrZ3MvbXVzbC9wYXRjaGVzLzAwLXJlYWxsb2NhcnJheS5wYXRjaApk ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2ZhYWIzMzBlODlhLi4wMDAwMDAwMDAwMDAK LS0tIGEvc3JjcGtncy9tdXNsL3BhdGNoZXMvMDAtcmVhbGxvY2FycmF5LnBhdGNoCisrKyAvZGV2 L251bGwKQEAgLTEsNDIgKzAsMCBAQAotRnJvbSA4MjEwODNhYzdiNTRlYWEwNDBkNWE4ZGRjNjdj NjIwNmExNzVlMGNhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQXJpYWRuZSBDb25p bGwgPGFyaWFkbmVAZGVyZWZlcmVuY2VkLm9yZz4KLURhdGU6IFNhdCwgMSBBdWcgMjAyMCAwODoy NjozNSAtMDYwMAotU3ViamVjdDogW1BBVENIXSBpbXBsZW1lbnQgcmVhbGxvY2FycmF5Ci0KLXJl YWxsb2NhcnJheSBpcyBhbiBleHRlbnNpb24gaW50cm9kdWNlZCBieSBPcGVuQlNELCB3aGljaCBp bnRyb2R1Y2VzCi1jYWxsb2Mgb3ZlcmZsb3cgY2hlY2tpbmcgdG8gcmVhbGxvYy4KLQotZ2xpYmMg Mi4yOCBpbnRyb2R1Y2VkIHN1cHBvcnQgZm9yIHRoaXMgZnVuY3Rpb24gYmVoaW5kIF9HTlVfU09V UkNFLAotd2hpbGUgZ2xpYmMgMi4yOSBhbGxvd3MgaXRzIHVzYWdlIGluIF9ERUZBVUxUX1NPVVJD RS4KLQotZGlmZiAtLWdpdCBhL2luY2x1ZGUvc3RkbGliLmggYi9pbmNsdWRlL3N0ZGxpYi5oCi1p bmRleCAxOTRjMjAzMy4uYjU0YTA1MWYgMTAwNjQ0Ci0tLS0gYS9pbmNsdWRlL3N0ZGxpYi5oCi0r KysgYi9pbmNsdWRlL3N0ZGxpYi5oCi1AQCAtMTQ1LDYgKzE0NSw3IEBAIGludCBnZXRsb2FkYXZn KGRvdWJsZSAqLCBpbnQpOwotIGludCBjbGVhcmVudih2b2lkKTsKLSAjZGVmaW5lIFdDT1JFRFVN UChzKSAoKHMpICYgMHg4MCkKLSAjZGVmaW5lIFdJRkNPTlRJTlVFRChzKSAoKHMpID09IDB4ZmZm ZikKLSt2b2lkICpyZWFsbG9jYXJyYXkgKHZvaWQgKiwgc2l6ZV90LCBzaXplX3QpOwotICNlbmRp ZgotIAotICNpZmRlZiBfR05VX1NPVVJDRQotZGlmZiAtLWdpdCBhL3NyYy9tYWxsb2MvcmVhbGxv Y2FycmF5LmMgYi9zcmMvbWFsbG9jL3JlYWxsb2NhcnJheS5jCi1uZXcgZmlsZSBtb2RlIDEwMDY0 NAotaW5kZXggMDAwMDAwMDAuLjRhNmViZTQ2Ci0tLS0gL2Rldi9udWxsCi0rKysgYi9zcmMvbWFs bG9jL3JlYWxsb2NhcnJheS5jCi1AQCAtMCwwICsxLDEzIEBACi0rI2RlZmluZSBfQlNEX1NPVVJD RQotKyNpbmNsdWRlIDxlcnJuby5oPgotKyNpbmNsdWRlIDxzdGRsaWIuaD4KLSsKLSt2b2lkICpy ZWFsbG9jYXJyYXkodm9pZCAqcHRyLCBzaXplX3QgbSwgc2l6ZV90IG4pCi0rewotKwlpZiAobiAm JiBtID4gLTEgLyBuKSB7Ci0rCQllcnJubyA9IEVOT01FTTsKLSsJCXJldHVybiAwOwotKwl9Ci0r Ci0rCXJldHVybiByZWFsbG9jKHB0ciwgbSAqIG4pOwotK30KZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv bXVzbC9wYXRjaGVzLzAwMDEtcmVtb3ZlLU9fTEFSR0VGSUxFLnBhdGNoIGIvc3JjcGtncy9tdXNs L3BhdGNoZXMvMDAwMS1yZW1vdmUtT19MQVJHRUZJTEUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4xY2EzNjI2MzY5MWMKLS0tIC9kZXYvbnVsbAorKysgYi9z cmNwa2dzL211c2wvcGF0Y2hlcy8wMDAxLXJlbW92ZS1PX0xBUkdFRklMRS5wYXRjaApAQCAtMCww ICsxLDI2IEBACitGcm9tIDdkNTU0ZDBjNzg2ZjU0MzFhZDMwMzVhMzI4ODE1ODkwYTk1YTI5Nzkg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/PUMzPTg5cmljbz0yME5v Z3VlaXJhPz0gPGVyaWNvbnJAZGlzcm9vdC5vcmc+CitEYXRlOiBXZWQsIDEyIE1heSAyMDIxIDE3 OjM5OjIwIC0wMzAwCitTdWJqZWN0OiBbUEFUQ0hdIHJlbW92ZSBPX0xBUkdFRklMRQorCit1c2Vm dWwgaGFjayB0byBidWlsZCAxLjIuMiBtdXNsIGZvciB4ODZfNjQgYW5kIG5vdCBoYXZlIHRvIHJl YnVpbGQKK2ZpcmVmb3guCistLS0KKyBhcmNoL2dlbmVyaWMvYml0cy9mY250bC5oIHwgMiArLQor IDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0t Z2l0IGEvYXJjaC9nZW5lcmljL2JpdHMvZmNudGwuaCBiL2FyY2gvZ2VuZXJpYy9iaXRzL2ZjbnRs LmgKK2luZGV4IDczMGE5OGNmLi5jMmZkMTc2MCAxMDA2NDQKKy0tLSBhL2FyY2gvZ2VuZXJpYy9i aXRzL2ZjbnRsLmgKKysrKyBiL2FyY2gvZ2VuZXJpYy9iaXRzL2ZjbnRsLmgKK0BAIC0xMyw3ICsx Myw3IEBACisgCisgI2RlZmluZSBPX0FTWU5DICAgICAgMDIwMDAwCisgI2RlZmluZSBPX0RJUkVD VCAgICAgMDQwMDAwCistI2RlZmluZSBPX0xBUkdFRklMRSAwMTAwMDAwCisrI2RlZmluZSBPX0xB UkdFRklMRSAwCisgI2RlZmluZSBPX05PQVRJTUUgIDAxMDAwMDAwCisgI2RlZmluZSBPX1BBVEgg ICAgMDEwMDAwMDAwCisgI2RlZmluZSBPX1RNUEZJTEUgMDIwMjAwMDAwCistLSAKKzIuMzEuMQpk aWZmIC0tZ2l0IGEvc3JjcGtncy9tdXNsL3BhdGNoZXMvMDAwMV9yZW9yZGVyX3RocmVhZF9saXN0 X3VubGlua19pbl9wdGhyZWFkX2V4aXRfYWZ0ZXJfYWxsLnBhdGNoIGIvc3JjcGtncy9tdXNsL3Bh dGNoZXMvMDAwMV9yZW9yZGVyX3RocmVhZF9saXN0X3VubGlua19pbl9wdGhyZWFkX2V4aXRfYWZ0 ZXJfYWxsLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3YzFhNTViYzg1ZTMu LjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL211c2wvcGF0Y2hlcy8wMDAxX3Jlb3JkZXJfdGhy ZWFkX2xpc3RfdW5saW5rX2luX3B0aHJlYWRfZXhpdF9hZnRlcl9hbGwucGF0Y2gKKysrIC9kZXYv bnVsbApAQCAtMSw1NiArMCwwIEBACi0+RnJvbSA0ZDVhYTIwYTk0YTJkM2ZhZTNlNjkyODlkYzIz ZWNhZmJkMGMxNmM0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUmljaCBGZWxrZXIg PGRhbGlhc0BhZXJpZmFsLmN4PgotRGF0ZTogRnJpLCAyMiBNYXkgMjAyMCAxNzozNToxNCAtMDQw MAotU3ViamVjdDogW1BBVENIIDEvNF0gcmVvcmRlciB0aHJlYWQgbGlzdCB1bmxpbmsgaW4gcHRo cmVhZF9leGl0IGFmdGVyIGFsbAotIGxvY2tzCi0KLXNpbmNlIHRoZSBiYWNrZW5kIGZvciBMT0NL KCkgc2tpcHMgbG9ja2luZyBpZiBzaW5nbGUtdGhyZWFkZWQsIGl0J3MKLXVuc2FmZSB0byBtYWtl IHRoZSBwcm9jZXNzIGFwcGVhciBzaW5nbGUtdGhyZWFkZWQgYmVmb3JlIHRoZSBsYXN0IHVzZQot b2YgbG9jay4KLQotdGhpcyBmaXhlcyBwb3RlbnRpYWwgdW5zeW5jaHJvbml6ZWQgYWNjZXNzIHRv IGEgbGlua2VkIGxpc3QgdmlhCi1fX2RsX3RocmVhZF9jbGVhbnVwLgotLS0tCi0gc3JjL3RocmVh ZC9wdGhyZWFkX2NyZWF0ZS5jIHwgMTkgKysrKysrKysrKystLS0tLS0tLQotIDEgZmlsZSBjaGFu Z2VkLCAxMSBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3Jj L3RocmVhZC9wdGhyZWFkX2NyZWF0ZS5jIGIvc3JjL3RocmVhZC9wdGhyZWFkX2NyZWF0ZS5jCi1p bmRleCA1ZjQ5MTA5Mi4uNmEzYjBjMjEgMTAwNjQ0Ci0tLS0gYS9zcmMvdGhyZWFkL3B0aHJlYWRf Y3JlYXRlLmMKLSsrKyBiL3NyYy90aHJlYWQvcHRocmVhZF9jcmVhdGUuYwotQEAgLTkwLDE0ICs5 MCw3IEBAIF9Ob3JldHVybiB2b2lkIF9fcHRocmVhZF9leGl0KHZvaWQgKnJlc3VsdCkKLSAJCWV4 aXQoMCk7Ci0gCX0KLSAKLS0JLyogQXQgdGhpcyBwb2ludCB3ZSBhcmUgY29tbWl0dGVkIHRvIHRo cmVhZCB0ZXJtaW5hdGlvbi4gVW5saW5rCi0tCSAqIHRoZSB0aHJlYWQgZnJvbSB0aGUgbGlzdC4g VGhpcyBjaGFuZ2Ugd2lsbCBub3QgYmUgdmlzaWJsZQotLQkgKiB1bnRpbCB0aGUgbG9jayBpcyBy ZWxlYXNlZCwgd2hpY2ggb25seSBoYXBwZW5zIGFmdGVyIFNZU19leGl0Ci0tCSAqIGhhcyBiZWVu IGNhbGxlZCwgdmlhIHRoZSBleGl0IGZ1dGV4IGFkZHJlc3MgcG9pbnRpbmcgYXQgdGhlIGxvY2su ICovCi0tCWxpYmMudGhyZWFkc19taW51c18xLS07Ci0tCXNlbGYtPm5leHQtPnByZXYgPSBzZWxm LT5wcmV2OwotLQlzZWxmLT5wcmV2LT5uZXh0ID0gc2VsZi0+bmV4dDsKLS0Jc2VsZi0+cHJldiA9 IHNlbGYtPm5leHQgPSBzZWxmOwotKwkvKiBBdCB0aGlzIHBvaW50IHdlIGFyZSBjb21taXR0ZWQg dG8gdGhyZWFkIHRlcm1pbmF0aW9uLiAqLwotIAotIAkvKiBQcm9jZXNzIHJvYnVzdCBsaXN0IGlu IHVzZXJzcGFjZSB0byBoYW5kbGUgbm9uLXBzaGFyZWQgbXV0ZXhlcwotIAkgKiBhbmQgdGhlIGRl dGFjaGVkIHRocmVhZCBjYXNlIHdoZXJlIHRoZSByb2J1c3QgbGlzdCBoZWFkIHdpbGwKLUBAIC0x MjEsNiArMTE0LDE2IEBAIF9Ob3JldHVybiB2b2lkIF9fcHRocmVhZF9leGl0KHZvaWQgKnJlc3Vs dCkKLSAJX19kb19vcnBoYW5lZF9zdGRpb19sb2NrcygpOwotIAlfX2RsX3RocmVhZF9jbGVhbnVw KCk7Ci0gCi0rCS8qIExhc3QsIHVubGluayB0aHJlYWQgZnJvbSB0aGUgbGlzdC4gVGhpcyBjaGFu Z2Ugd2lsbCBub3QgYmUgdmlzaWJsZQotKwkgKiB1bnRpbCB0aGUgbG9jayBpcyByZWxlYXNlZCwg d2hpY2ggb25seSBoYXBwZW5zIGFmdGVyIFNZU19leGl0Ci0rCSAqIGhhcyBiZWVuIGNhbGxlZCwg dmlhIHRoZSBleGl0IGZ1dGV4IGFkZHJlc3MgcG9pbnRpbmcgYXQgdGhlIGxvY2suCi0rCSAqIFRo aXMgbmVlZHMgdG8gaGFwcGVuIGFmdGVyIGFueSBwb3NzaWJsZSBjYWxscyB0byBMT0NLKCkgdGhh dCBtaWdodAotKwkgKiBza2lwIGxvY2tpbmcgaWYgbGliYy50aHJlYWRzX21pbnVzXzEgaXMgemVy by4gKi8KLSsJbGliYy50aHJlYWRzX21pbnVzXzEtLTsKLSsJc2VsZi0+bmV4dC0+cHJldiA9IHNl bGYtPnByZXY7Ci0rCXNlbGYtPnByZXYtPm5leHQgPSBzZWxmLT5uZXh0OwotKwlzZWxmLT5wcmV2 ID0gc2VsZi0+bmV4dCA9IHNlbGY7Ci0rCi0gCS8qIFRoaXMgYXRvbWljIHBvdGVudGlhbGx5IGNv bXBldGVzIHdpdGggYSBjb25jdXJyZW50IHB0aHJlYWRfZGV0YWNoCi0gCSAqIGNhbGw7IHRoZSBs b3NlciBpcyByZXNwb25zaWJsZSBmb3IgZnJlZWluZyB0aHJlYWQgcmVzb3VyY2VzLiAqLwotIAlp bnQgc3RhdGUgPSBhX2Nhcygmc2VsZi0+ZGV0YWNoX3N0YXRlLCBEVF9KT0lOQUJMRSwgRFRfRVhJ VElORyk7Ci0tLSAKLTIuMjEuMAotCmRpZmYgLS1naXQgYS9zcmNwa2dzL211c2wvcGF0Y2hlcy8w MDAyX2Rvbl90X3VzZV9saWJjX3RocmVhZHNfbWludXNfMV9hc19yZWxheGVkX2F0b21pY19mb3Iu cGF0Y2ggYi9zcmNwa2dzL211c2wvcGF0Y2hlcy8wMDAyX2Rvbl90X3VzZV9saWJjX3RocmVhZHNf bWludXNfMV9hc19yZWxheGVkX2F0b21pY19mb3IucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IGUwNjA3NjJlOTlhNi4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvbXVzbC9w YXRjaGVzLzAwMDJfZG9uX3RfdXNlX2xpYmNfdGhyZWFkc19taW51c18xX2FzX3JlbGF4ZWRfYXRv bWljX2Zvci5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDc4ICswLDAgQEAKLT5Gcm9tIGUwMWI1 OTM5YjM4YWVhNWVjYmU0MTY3MDY0MzE5OTgyNTg3NGIyNmMgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCi1Gcm9tOiBSaWNoIEZlbGtlciA8ZGFsaWFzQGFlcmlmYWwuY3g+Ci1EYXRlOiBUaHUsIDIx IE1heSAyMDIwIDIzOjMyOjQ1IC0wNDAwCi1TdWJqZWN0OiBbUEFUQ0ggMi80XSBkb24ndCB1c2Ug bGliYy50aHJlYWRzX21pbnVzXzEgYXMgcmVsYXhlZCBhdG9taWMgZm9yCi0gc2tpcHBpbmcgbG9j a3MKLQotYWZ0ZXIgYWxsIGJ1dCB0aGUgbGFzdCB0aHJlYWQgZXhpdHMsIHRoZSBuZXh0IHRocmVh ZCB0byBvYnNlcnZlCi1saWJjLnRocmVhZHNfbWludXNfMT09MCBhbmQgY29uY2x1ZGUgdGhhdCBp dCBjYW4gc2tpcCBsb2NraW5nIGZhaWxzIHRvCi1zeW5jaHJvbml6ZSB3aXRoIGFueSBjaGFuZ2Vz IHRvIG1lbW9yeSB0aGF0IHdlcmUgbWFkZSBieSB0aGUKLWxhc3QtZXhpdGluZyB0aHJlYWQuIHRo aXMgY2FuIHByb2R1Y2UgZGF0YSByYWNlcy4KLQotb24gc29tZSBhcmNocywgYXQgbGVhc3QgeDg2 LCBtZW1vcnkgc3luY2hyb25pemF0aW9uIGlzIHVubGlrZWx5IHRvIGJlCi1hIHByb2JsZW07IGhv d2V2ZXIsIHdpdGggdGhlIGlubGluZSBsb2NrcyBpbiBtYWxsb2MsIHNraXBwaW5nIHRoZSBsb2Nr Ci1hbHNvIGVsaW1pbmF0ZWQgdGhlIGNvbXBpbGVyIGJhcnJpZXIsIGFuZCBjYXVzZWQgY29kZSB0 aGF0IG5lZWRlZCB0bwotcmUtY2hlY2sgY2h1bmsgaW4tdXNlIGJpdHMgYWZ0ZXIgb2J0YWluaW5n IHRoZSBsb2NrIHRvIHJldXNlIGEgc3RhbGUKLXZhbHVlLCBwb3NzaWJseSBmcm9tIGJlZm9yZSB0 aGUgcHJvY2VzcyBiZWNhbWUgc2luZ2xlLXRocmVhZGVkLiB0aGlzCi1pbiB0dXJuIHByb2R1Y2Vk IGNvcnJ1cHRpb24gb2YgdGhlIGhlYXAgc3RhdGUuCi0KLXNvbWUgdXNlcyBvZiBsaWJjLnRocmVh ZHNfbWludXNfMSByZW1haW4sIGVzcGVjaWFsbHkgZm9yIGFsbG9jYXRpb24gb2YKLW5ldyBUTFMg aW4gdGhlIGR5bmFtaWMgbGlua2VyOyBvdGhlcndpc2UsIGl0IGNvdWxkIGJlIHJlbW92ZWQKLWVu dGlyZWx5LiBpdCdzIG1hZGUgbm9uLXZvbGF0aWxlIHRvIHJlZmxlY3QgdGhhdCB0aGUgcmVtYWlu aW5nCi1hY2Nlc3NlcyBhcmUgb25seSBtYWRlIHVuZGVyIGxvY2sgb24gdGhlIHRocmVhZCBsaXN0 LgotCi1pbnN0ZWFkIG9mIGxpYmMudGhyZWFkc19taW51c18xLCBsaWJjLnRocmVhZGVkIGlzIG5v dyB1c2VkIGZvcgotc2tpcHBpbmcgbG9ja3MuIHRoZSBkaWZmZXJlbmNlIGlzIHRoYXQgbGliYy50 aHJlYWRlZCBpcyBwZXJtYW5lbnRseQotdHJ1ZSBvbmNlIGFuIGFkZGl0aW9uYWwgdGhyZWFkIGhh cyBiZWVuIGNyZWF0ZWQuIHRoaXMgd2lsbCBwcm9kdWNlCi1zb21lIHBlcmZvcm1hbmNlIHJlZ3Jl c3Npb24gaW4gcHJvY2Vzc2VzIHRoYXQgYXJlIG1vc3RseQotc2luZ2xlLXRocmVhZGVkIGJ1dCBv Y2Nhc2lvbmFsbHkgY3JlYXRpbmcgdGhyZWFkcy4gaW4gdGhlIGZ1dHVyZSBpdAotbWF5IGJlIHBv c3NpYmxlIHRvIGJyaW5nIGJhY2sgdGhlIGZ1bGwgbG9jay1za2lwcGluZywgYnV0IG1vcmUgY2Fy ZQotbmVlZHMgdG8gYmUgdGFrZW4gdG8gcHJvZHVjZSBhIHNhZmUgZGVzaWduLgotLS0tCi0gc3Jj L2ludGVybmFsL2xpYmMuaCB8IDIgKy0KLSBzcmMvbWFsbG9jL21hbGxvYy5jIHwgMiArLQotIHNy Yy90aHJlYWQvX19sb2NrLmMgfCAyICstCi0gMyBmaWxlcyBjaGFuZ2VkLCAzIGluc2VydGlvbnMo KyksIDMgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvaW50ZXJuYWwvbGliYy5oIGIv c3JjL2ludGVybmFsL2xpYmMuaAotaW5kZXggYWM5N2RjN2UuLmMwNjE0ODUyIDEwMDY0NAotLS0t IGEvc3JjL2ludGVybmFsL2xpYmMuaAotKysrIGIvc3JjL2ludGVybmFsL2xpYmMuaAotQEAgLTIx LDcgKzIxLDcgQEAgc3RydWN0IF9fbGliYyB7Ci0gCWludCBjYW5fZG9fdGhyZWFkczsKLSAJaW50 IHRocmVhZGVkOwotIAlpbnQgc2VjdXJlOwotLQl2b2xhdGlsZSBpbnQgdGhyZWFkc19taW51c18x OwotKwlpbnQgdGhyZWFkc19taW51c18xOwotIAlzaXplX3QgKmF1eHY7Ci0gCXN0cnVjdCB0bHNf bW9kdWxlICp0bHNfaGVhZDsKLSAJc2l6ZV90IHRsc19zaXplLCB0bHNfYWxpZ24sIHRsc19jbnQ7 Ci1kaWZmIC0tZ2l0IGEvc3JjL21hbGxvYy9tYWxsb2MuYyBiL3NyYy9tYWxsb2MvbWFsbG9jLmMK LWluZGV4IDk2OTgyNTk2Li4yNTUzYTYyZSAxMDA2NDQKLS0tLSBhL3NyYy9tYWxsb2MvbWFsbG9j LmMKLSsrKyBiL3NyYy9tYWxsb2MvbWFsbG9jLmMKLUBAIC0yNiw3ICsyNiw3IEBAIGludCBfX21h bGxvY19yZXBsYWNlZDsKLSAKLSBzdGF0aWMgaW5saW5lIHZvaWQgbG9jayh2b2xhdGlsZSBpbnQg KmxrKQotIHsKLS0JaWYgKGxpYmMudGhyZWFkc19taW51c18xKQotKwlpZiAobGliYy50aHJlYWRl ZCkKLSAJCXdoaWxlKGFfc3dhcChsaywgMSkpIF9fd2FpdChsaywgbGsrMSwgMSwgMSk7Ci0gfQot IAotZGlmZiAtLWdpdCBhL3NyYy90aHJlYWQvX19sb2NrLmMgYi9zcmMvdGhyZWFkL19fbG9jay5j Ci1pbmRleCA0NTU1N2M4OC4uNWI5YjE0NGUgMTAwNjQ0Ci0tLS0gYS9zcmMvdGhyZWFkL19fbG9j ay5jCi0rKysgYi9zcmMvdGhyZWFkL19fbG9jay5jCi1AQCAtMTgsNyArMTgsNyBAQAotIAotIHZv aWQgX19sb2NrKHZvbGF0aWxlIGludCAqbCkKLSB7Ci0tCWlmICghbGliYy50aHJlYWRzX21pbnVz XzEpIHJldHVybjsKLSsJaWYgKCFsaWJjLnRocmVhZGVkKSByZXR1cm47Ci0gCS8qIGZhc3QgcGF0 aDogSU5UX01JTiBmb3IgdGhlIGxvY2ssICsxIGZvciB0aGUgY29uZ2VzdGlvbiAqLwotIAlpbnQg Y3VycmVudCA9IGFfY2FzKGwsIDAsIElOVF9NSU4gKyAxKTsKLSAJaWYgKCFjdXJyZW50KSByZXR1 cm47Ci0tLSAKLTIuMjEuMAotCmRpZmYgLS1naXQgYS9zcmNwa2dzL211c2wvcGF0Y2hlcy8wMDAz X2N1dF9kb3duX3NpemVfb2Zfc29tZV9saWJjX3N0cnVjdF9tZW1iZXJzLnBhdGNoIGIvc3JjcGtn cy9tdXNsL3BhdGNoZXMvMDAwM19jdXRfZG93bl9zaXplX29mX3NvbWVfbGliY19zdHJ1Y3RfbWVt YmVycy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTQwYzVkOTUwMTk1Li4w MDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9tdXNsL3BhdGNoZXMvMDAwM19jdXRfZG93bl9zaXpl X29mX3NvbWVfbGliY19zdHJ1Y3RfbWVtYmVycy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMw ICswLDAgQEAKLT5Gcm9tIGYxMjg4OGU5ZWI5ZWVkNjBjYzI2NmI4OTlkY2FmZWNiNDc1Mjk2NGEg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBSaWNoIEZlbGtlciA8ZGFsaWFzQGFlcmlm YWwuY3g+Ci1EYXRlOiBGcmksIDIyIE1heSAyMDIwIDE3OjI1OjM4IC0wNDAwCi1TdWJqZWN0OiBb UEFUQ0ggMy80XSBjdXQgZG93biBzaXplIG9mIHNvbWUgbGliYyBzdHJ1Y3QgbWVtYmVycwotCi10 aGVzZSBhcmUgYWxsIGZsYWdzIHRoYXQgY2FuIGJlIHNpbmdsZS1ieXRlIHZhbHVlcy4KLS0tLQot IHNyYy9pbnRlcm5hbC9saWJjLmggfCA2ICsrKy0tLQotIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2Vy dGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvaW50ZXJuYWwvbGli Yy5oIGIvc3JjL2ludGVybmFsL2xpYmMuaAotaW5kZXggYzA2MTQ4NTIuLmQ0N2Y1OGUwIDEwMDY0 NAotLS0tIGEvc3JjL2ludGVybmFsL2xpYmMuaAotKysrIGIvc3JjL2ludGVybmFsL2xpYmMuaAot QEAgLTE4LDkgKzE4LDkgQEAgc3RydWN0IHRsc19tb2R1bGUgewotIH07Ci0gCi0gc3RydWN0IF9f bGliYyB7Ci0tCWludCBjYW5fZG9fdGhyZWFkczsKLS0JaW50IHRocmVhZGVkOwotLQlpbnQgc2Vj dXJlOwotKwljaGFyIGNhbl9kb190aHJlYWRzOwotKwljaGFyIHRocmVhZGVkOwotKwljaGFyIHNl Y3VyZTsKLSAJaW50IHRocmVhZHNfbWludXNfMTsKLSAJc2l6ZV90ICphdXh2OwotIAlzdHJ1Y3Qg dGxzX21vZHVsZSAqdGxzX2hlYWQ7Ci0tLSAKLTIuMjEuMAotCmRpZmYgLS1naXQgYS9zcmNwa2dz L211c2wvcGF0Y2hlcy8wMDA0X3Jlc3RvcmVfbG9ja19za2lwcGluZ19mb3JfcHJvY2Vzc2VzX3Ro YXRfcmV0dXJuX3RvX3MucGF0Y2ggYi9zcmNwa2dzL211c2wvcGF0Y2hlcy8wMDA0X3Jlc3RvcmVf bG9ja19za2lwcGluZ19mb3JfcHJvY2Vzc2VzX3RoYXRfcmV0dXJuX3RvX3MucGF0Y2gKZGVsZXRl ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU3MDNjMWY0MDNjNS4uMDAwMDAwMDAwMDAwCi0tLSBh L3NyY3BrZ3MvbXVzbC9wYXRjaGVzLzAwMDRfcmVzdG9yZV9sb2NrX3NraXBwaW5nX2Zvcl9wcm9j ZXNzZXNfdGhhdF9yZXR1cm5fdG9fcy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEwMiArMCww IEBACi0+RnJvbSA4ZDgxYmE4YzBiYzZmZTMxMTM2Y2IxNWM5YzgyZWY0YzI0OTY1MDQwIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUmljaCBGZWxrZXIgPGRhbGlhc0BhZXJpZmFsLmN4 PgotRGF0ZTogRnJpLCAyMiBNYXkgMjAyMCAxNzo0NTo0NyAtMDQwMAotU3ViamVjdDogW1BBVENI IDQvNF0gcmVzdG9yZSBsb2NrLXNraXBwaW5nIGZvciBwcm9jZXNzZXMgdGhhdCByZXR1cm4gdG8K LSBzaW5nbGUtdGhyZWFkZWQgc3RhdGUKLQotdGhlIGRlc2lnbiB1c2VkIGhlcmUgcmVsaWVzIG9u IHRoZSBiYXJyaWVyIHByb3ZpZGVkIGJ5IHRoZSBmaXJzdCBsb2NrCi1vcGVyYXRpb24gYWZ0ZXIg dGhlIHByb2Nlc3MgcmV0dXJucyB0byBzaW5nbGUtdGhyZWFkZWQgc3RhdGUgdG8KLXN5bmNocm9u aXplIHdpdGggYWN0aW9ucyBieSB0aGUgbGFzdCB0aHJlYWQgdGhhdCBleGl0ZWQuIGJ5IHN0b3Jp bmcKLXRoZSBpbnRlbnQgdG8gY2hhbmdlIG1vZGVzIGluIHRoZSBzYW1lIG9iamVjdCB1c2VkIHRv IGRldGVjdCB3aGV0aGVyCi1sb2NraW5nIGlzIG5lZWRlZCwgaXQncyBwb3NzaWJsZSB0byBhdm9p ZCBhbiBleHRyYSAocG9zc2libHkgY29zdGx5KQotbWVtb3J5IGxvYWQgYWZ0ZXIgdGhlIGxvY2sg aXMgdGFrZW4uCi0tLS0KLSBzcmMvaW50ZXJuYWwvbGliYy5oICAgICAgICAgfCAxICsKLSBzcmMv bWFsbG9jL21hbGxvYy5jICAgICAgICAgfCA1ICsrKystCi0gc3JjL3RocmVhZC9fX2xvY2suYyAg ICAgICAgIHwgNCArKystCi0gc3JjL3RocmVhZC9wdGhyZWFkX2NyZWF0ZS5jIHwgOCArKysrLS0t LQotIDQgZmlsZXMgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKLQot ZGlmZiAtLWdpdCBhL3NyYy9pbnRlcm5hbC9saWJjLmggYi9zcmMvaW50ZXJuYWwvbGliYy5oCi1p bmRleCBkNDdmNThlMC4uNjE5YmJhODYgMTAwNjQ0Ci0tLS0gYS9zcmMvaW50ZXJuYWwvbGliYy5o Ci0rKysgYi9zcmMvaW50ZXJuYWwvbGliYy5oCi1AQCAtMjEsNiArMjEsNyBAQCBzdHJ1Y3QgX19s aWJjIHsKLSAJY2hhciBjYW5fZG9fdGhyZWFkczsKLSAJY2hhciB0aHJlYWRlZDsKLSAJY2hhciBz ZWN1cmU7Ci0rCXZvbGF0aWxlIHNpZ25lZCBjaGFyIG5lZWRfbG9ja3M7Ci0gCWludCB0aHJlYWRz X21pbnVzXzE7Ci0gCXNpemVfdCAqYXV4djsKLSAJc3RydWN0IHRsc19tb2R1bGUgKnRsc19oZWFk OwotZGlmZiAtLWdpdCBhL3NyYy9tYWxsb2MvbWFsbG9jLmMgYi9zcmMvbWFsbG9jL21hbGxvYy5j Ci1pbmRleCAyNTUzYTYyZS4uYTgwM2Q0YzkgMTAwNjQ0Ci0tLS0gYS9zcmMvbWFsbG9jL21hbGxv Yy5jCi0rKysgYi9zcmMvbWFsbG9jL21hbGxvYy5jCi1AQCAtMjYsOCArMjYsMTEgQEAgaW50IF9f bWFsbG9jX3JlcGxhY2VkOwotIAotIHN0YXRpYyBpbmxpbmUgdm9pZCBsb2NrKHZvbGF0aWxlIGlu dCAqbGspCi0gewotLQlpZiAobGliYy50aHJlYWRlZCkKLSsJaW50IG5lZWRfbG9ja3MgPSBsaWJj Lm5lZWRfbG9ja3M7Ci0rCWlmIChuZWVkX2xvY2tzKSB7Ci0gCQl3aGlsZShhX3N3YXAobGssIDEp KSBfX3dhaXQobGssIGxrKzEsIDEsIDEpOwotKwkJaWYgKG5lZWRfbG9ja3MgPCAwKSBsaWJjLm5l ZWRfbG9ja3MgPSAwOwotKwl9Ci0gfQotIAotIHN0YXRpYyBpbmxpbmUgdm9pZCB1bmxvY2sodm9s YXRpbGUgaW50ICpsaykKLWRpZmYgLS1naXQgYS9zcmMvdGhyZWFkL19fbG9jay5jIGIvc3JjL3Ro cmVhZC9fX2xvY2suYwotaW5kZXggNWI5YjE0NGUuLjYwZWVjZTQ5IDEwMDY0NAotLS0tIGEvc3Jj L3RocmVhZC9fX2xvY2suYwotKysrIGIvc3JjL3RocmVhZC9fX2xvY2suYwotQEAgLTE4LDkgKzE4 LDExIEBACi0gCi0gdm9pZCBfX2xvY2sodm9sYXRpbGUgaW50ICpsKQotIHsKLS0JaWYgKCFsaWJj LnRocmVhZGVkKSByZXR1cm47Ci0rCWludCBuZWVkX2xvY2tzID0gbGliYy5uZWVkX2xvY2tzOwot KwlpZiAoIW5lZWRfbG9ja3MpIHJldHVybjsKLSAJLyogZmFzdCBwYXRoOiBJTlRfTUlOIGZvciB0 aGUgbG9jaywgKzEgZm9yIHRoZSBjb25nZXN0aW9uICovCi0gCWludCBjdXJyZW50ID0gYV9jYXMo bCwgMCwgSU5UX01JTiArIDEpOwotKwlpZiAobmVlZF9sb2NrcyA8IDApIGxpYmMubmVlZF9sb2Nr cyA9IDA7Ci0gCWlmICghY3VycmVudCkgcmV0dXJuOwotIAkvKiBBIGZpcnN0IHNwaW4gbG9vcCwg Zm9yIG1lZGl1bSBjb25nZXN0aW9uLiAqLwotIAlmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgMTA7 ICsraSkgewotZGlmZiAtLWdpdCBhL3NyYy90aHJlYWQvcHRocmVhZF9jcmVhdGUuYyBiL3NyYy90 aHJlYWQvcHRocmVhZF9jcmVhdGUuYwotaW5kZXggNmEzYjBjMjEuLjZiZGZiNDRmIDEwMDY0NAot LS0tIGEvc3JjL3RocmVhZC9wdGhyZWFkX2NyZWF0ZS5jCi0rKysgYi9zcmMvdGhyZWFkL3B0aHJl YWRfY3JlYXRlLmMKLUBAIC0xMTgsOCArMTE4LDggQEAgX05vcmV0dXJuIHZvaWQgX19wdGhyZWFk X2V4aXQodm9pZCAqcmVzdWx0KQotIAkgKiB1bnRpbCB0aGUgbG9jayBpcyByZWxlYXNlZCwgd2hp Y2ggb25seSBoYXBwZW5zIGFmdGVyIFNZU19leGl0Ci0gCSAqIGhhcyBiZWVuIGNhbGxlZCwgdmlh IHRoZSBleGl0IGZ1dGV4IGFkZHJlc3MgcG9pbnRpbmcgYXQgdGhlIGxvY2suCi0gCSAqIFRoaXMg bmVlZHMgdG8gaGFwcGVuIGFmdGVyIGFueSBwb3NzaWJsZSBjYWxscyB0byBMT0NLKCkgdGhhdCBt aWdodAotLQkgKiBza2lwIGxvY2tpbmcgaWYgbGliYy50aHJlYWRzX21pbnVzXzEgaXMgemVyby4g Ki8KLS0JbGliYy50aHJlYWRzX21pbnVzXzEtLTsKLSsJICogc2tpcCBsb2NraW5nIGlmIHByb2Nl c3MgYXBwZWFycyBzaW5nbGUtdGhyZWFkZWQuICovCi0rCWlmICghLS1saWJjLnRocmVhZHNfbWlu dXNfMSkgbGliYy5uZWVkX2xvY2tzID0gLTE7Ci0gCXNlbGYtPm5leHQtPnByZXYgPSBzZWxmLT5w cmV2OwotIAlzZWxmLT5wcmV2LT5uZXh0ID0gc2VsZi0+bmV4dDsKLSAJc2VsZi0+cHJldiA9IHNl bGYtPm5leHQgPSBzZWxmOwotQEAgLTMzOSw3ICszMzksNyBAQCBpbnQgX19wdGhyZWFkX2NyZWF0 ZShwdGhyZWFkX3QgKnJlc3RyaWN0IHJlcywgY29uc3QgcHRocmVhZF9hdHRyX3QgKnJlc3RyaWN0 IGF0dAotIAkJfigxVUw8PCgoU0lHQ0FOQ0VMLTEpJSg4KnNpemVvZihsb25nKSkpKTsKLSAKLSAJ X190bF9sb2NrKCk7Ci0tCWxpYmMudGhyZWFkc19taW51c18xKys7Ci0rCWlmICghbGliYy50aHJl YWRzX21pbnVzXzErKykgbGliYy5uZWVkX2xvY2tzID0gMTsKLSAJcmV0ID0gX19jbG9uZSgoYzEx ID8gc3RhcnRfYzExIDogc3RhcnQpLCBzdGFjaywgZmxhZ3MsIGFyZ3MsICZuZXctPnRpZCwgVFBf QURKKG5ldyksICZfX3RocmVhZF9saXN0X2xvY2spOwotIAotIAkvKiBBbGwgY2xvbmUgZmFpbHVy ZXMgdHJhbnNsYXRlIHRvIEVBR0FJTi4gSWYgZXhwbGljaXQgc2NoZWR1bGluZwotQEAgLTM2Myw3 ICszNjMsNyBAQCBpbnQgX19wdGhyZWFkX2NyZWF0ZShwdGhyZWFkX3QgKnJlc3RyaWN0IHJlcywg Y29uc3QgcHRocmVhZF9hdHRyX3QgKnJlc3RyaWN0IGF0dAotIAkJbmV3LT5uZXh0LT5wcmV2ID0g bmV3OwotIAkJbmV3LT5wcmV2LT5uZXh0ID0gbmV3OwotIAl9IGVsc2UgewotLQkJbGliYy50aHJl YWRzX21pbnVzXzEtLTsKLSsJCWlmICghLS1saWJjLnRocmVhZHNfbWludXNfMSkgbGliYy5uZWVk X2xvY2tzID0gMDsKLSAJfQotIAlfX3RsX3VubG9jaygpOwotIAlfX3Jlc3RvcmVfc2lncygmc2V0 KTsKLS0tIAotMi4yMS4wCi0KLQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9tdXNsL3BhdGNoZXMvOTlk NTA5OGE4ODVmZWFlM2FlOGMzMmI0MDczNTBkOGNhODVkZDE3OC5wYXRjaCBiL3NyY3BrZ3MvbXVz bC9wYXRjaGVzLzk5ZDUwOThhODg1ZmVhZTNhZThjMzJiNDA3MzUwZDhjYTg1ZGQxNzgucGF0Y2gK ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRlMDNhZDE2MDdjZS4uMDAwMDAwMDAwMDAw Ci0tLSBhL3NyY3BrZ3MvbXVzbC9wYXRjaGVzLzk5ZDUwOThhODg1ZmVhZTNhZThjMzJiNDA3MzUw ZDhjYTg1ZGQxNzgucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMTMgKzAsMCBAQAotRnJvbSA5 OWQ1MDk4YTg4NWZlYWUzYWU4YzMyYjQwNzM1MGQ4Y2E4NWRkMTc4IE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQotRnJvbTogSnVsaWVuIFJhbXNlaWVyIDxqLnJhbXNlaWVyQGdtYWlsLmNvbT4KLURh dGU6IFN1biwgMTggT2N0IDIwMjAgMTI6MTU6MDYgLTA0MDAKLVN1YmplY3Q6IHVwZGF0ZSBjcnlw dF9ibG93ZmlzaCB0byBzdXBwb3J0ICQyYiQgcHJlZml4Ci0KLU1lcmdlIGNoYW5nZXMgZnJvbSBT b2xhciBEZXNpZ25lcidzIGNyeXB0X2Jsb3dmaXNoIHYxLjMuIFRoaXMgbWFrZXMKLWNyeXB0X2Js b3dmaXNoIGZ1bGx5IGNvbXBhdGlibGUgd2l0aCBPcGVuQlNEJ3MgYmNyeXB0IGJ5IGFkZGluZwot c3VwcG9ydCBmb3IgdGhlICQyYiQgcHJlZml4ICh3aGljaCBiZWhhdmVzIHRoZSBzYW1lIGFzCi1j cnlwdF9ibG93ZmlzaCdzICQyeSQpLgotLS0tCi0gc3JjL2NyeXB0L2NyeXB0X2Jsb3dmaXNoLmMg fCAzOCArKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQotIDEgZmlsZSBjaGFu Z2VkLCAyMyBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlvbnMoLSkKLQotKGxpbWl0ZWQgdG8gJ3Ny Yy9jcnlwdC9jcnlwdF9ibG93ZmlzaC5jJykKLQotZGlmZiAtLWdpdCBhL3NyYy9jcnlwdC9jcnlw dF9ibG93ZmlzaC5jIGIvc3JjL2NyeXB0L2NyeXB0X2Jsb3dmaXNoLmMKLWluZGV4IGQzZjc5ODUx Li5kNzIyNjA3YiAxMDA2NDQKLS0tLSBhL3NyYy9jcnlwdC9jcnlwdF9ibG93ZmlzaC5jCi0rKysg Yi9zcmMvY3J5cHQvY3J5cHRfYmxvd2Zpc2guYwotQEAgLTE1LDcgKzE1LDcgQEAKLSAgKiBObyBj b3B5cmlnaHQgaXMgY2xhaW1lZCwgYW5kIHRoZSBzb2Z0d2FyZSBpcyBoZXJlYnkgcGxhY2VkIGlu IHRoZSBwdWJsaWMKLSAgKiBkb21haW4uICBJbiBjYXNlIHRoaXMgYXR0ZW1wdCB0byBkaXNjbGFp bSBjb3B5cmlnaHQgYW5kIHBsYWNlIHRoZSBzb2Z0d2FyZQotICAqIGluIHRoZSBwdWJsaWMgZG9t YWluIGlzIGRlZW1lZCBudWxsIGFuZCB2b2lkLCB0aGVuIHRoZSBzb2Z0d2FyZSBpcwotLSAqIENv cHlyaWdodCAoYykgMTk5OC0yMDEyIFNvbGFyIERlc2lnbmVyIGFuZCBpdCBpcyBoZXJlYnkgcmVs ZWFzZWQgdG8gdGhlCi0rICogQ29weXJpZ2h0IChjKSAxOTk4LTIwMTQgU29sYXIgRGVzaWduZXIg YW5kIGl0IGlzIGhlcmVieSByZWxlYXNlZCB0byB0aGUKLSAgKiBnZW5lcmFsIHB1YmxpYyB1bmRl ciB0aGUgZm9sbG93aW5nIHRlcm1zOgotICAqCi0gICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci1AQCAtMzEsMTIgKzMx LDEyIEBACi0gICogeW91IHBsYWNlIHRoaXMgY29kZSBhbmQgYW55IG1vZGlmaWNhdGlvbnMgeW91 IG1ha2UgdW5kZXIgYSBsaWNlbnNlCi0gICogb2YgeW91ciBjaG9pY2UuCi0gICoKLS0gKiBUaGlz IGltcGxlbWVudGF0aW9uIGlzIG1vc3RseSBjb21wYXRpYmxlIHdpdGggT3BlbkJTRCdzIGJjcnlw dC5jIChwcmVmaXgKLS0gKiAiJDJhJCIpIGJ5IE5pZWxzIFByb3ZvcyA8cHJvdm9zIGF0IGNpdGku dW1pY2guZWR1PiwgYW5kIHVzZXMgc29tZSBvZiBoaXMKLS0gKiBpZGVhcy4gIFRoZSBwYXNzd29y ZCBoYXNoaW5nIGFsZ29yaXRobSB3YXMgZGVzaWduZWQgYnkgRGF2aWQgTWF6aWVyZXMKLS0gKiA8 ZG0gYXQgbGNzLm1pdC5lZHU+LiAgRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gdGhlIGxldmVsIG9m IGNvbXBhdGliaWxpdHksCi0tICogcGxlYXNlIHJlZmVyIHRvIHRoZSBjb21tZW50cyBpbiBCRl9z ZXRfa2V5KCkgYmVsb3cgYW5kIHRvIHRoZSBpbmNsdWRlZAotLSAqIGNyeXB0KDMpIG1hbiBwYWdl LgotKyAqIFRoaXMgaW1wbGVtZW50YXRpb24gaXMgZnVsbHkgY29tcGF0aWJsZSB3aXRoIE9wZW5C U0QncyBiY3J5cHQuYyBmb3IgcHJlZml4Ci0rICogIiQyYiQiLCBvcmlnaW5hbGx5IGJ5IE5pZWxz IFByb3ZvcyA8cHJvdm9zIGF0IGNpdGkudW1pY2guZWR1PiwgYW5kIGl0IHVzZXMKLSsgKiBzb21l IG9mIGhpcyBpZGVhcy4gIFRoZSBwYXNzd29yZCBoYXNoaW5nIGFsZ29yaXRobSB3YXMgZGVzaWdu ZWQgYnkgRGF2aWQKLSsgKiBNYXppZXJlcyA8ZG0gYXQgbGNzLm1pdC5lZHU+LiAgRm9yIGluZm9y bWF0aW9uIG9uIHRoZSBsZXZlbCBvZgotKyAqIGNvbXBhdGliaWxpdHkgZm9yIGJjcnlwdCBoYXNo IHByZWZpeGVzIG90aGVyIHRoYW4gIiQyYiQiLCBwbGVhc2UgcmVmZXIgdG8KLSsgKiB0aGUgY29t bWVudHMgaW4gQkZfc2V0X2tleSgpIGJlbG93IGFuZCB0byB0aGUgaW5jbHVkZWQgY3J5cHQoMykg bWFuIHBhZ2UuCi0gICoKLSAgKiBUaGVyZSdzIGEgcGFwZXIgb24gdGhlIGFsZ29yaXRobSB0aGF0 IGV4cGxhaW5zIGl0cyBkZXNpZ24gZGVjaXNpb25zOgotICAqCi1AQCAtNTMzLDYgKzUzMyw3IEBA IHN0YXRpYyB2b2lkIEJGX3NldF9rZXkoY29uc3QgY2hhciAqa2V5LCBCRl9rZXkgZXhwYW5kZWQs IEJGX2tleSBpbml0aWFsLAotICAqIFZhbGlkIGNvbWJpbmF0aW9ucyBvZiBzZXR0aW5ncyBhcmU6 Ci0gICoKLSAgKiBQcmVmaXggIiQyYSQiOiBidWcgPSAwLCBzYWZldHkgPSAweDEwMDAwCi0rICog UHJlZml4ICIkMmIkIjogYnVnID0gMCwgc2FmZXR5ID0gMAotICAqIFByZWZpeCAiJDJ4JCI6IGJ1 ZyA9IDEsIHNhZmV0eSA9IDAKLSAgKiBQcmVmaXggIiQyeSQiOiBidWcgPSAwLCBzYWZldHkgPSAw Ci0gICovCi1AQCAtNTk2LDEyICs1OTcsMTQgQEAgc3RhdGljIHZvaWQgQkZfc2V0X2tleShjb25z dCBjaGFyICprZXksIEJGX2tleSBleHBhbmRlZCwgQkZfa2V5IGluaXRpYWwsCi0gCWluaXRpYWxb MF0gXj0gc2lnbjsKLSB9Ci0gCi0rc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZmxhZ3NfYnlf c3VidHlwZVsyNl0gPSB7Ci0rCTIsIDQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAs Ci0rCTAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEsIDQsIDAKLSt9OwotKwotIHN0YXRp YyBjaGFyICpCRl9jcnlwdChjb25zdCBjaGFyICprZXksIGNvbnN0IGNoYXIgKnNldHRpbmcsCi0g CWNoYXIgKm91dHB1dCwgQkZfd29yZCBtaW4pCi0gewotLQlzdGF0aWMgY29uc3QgdW5zaWduZWQg Y2hhciBmbGFnc19ieV9zdWJ0eXBlWzI2XSA9Ci0tCQl7MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwg MCwgMCwgMCwgMCwgMCwKLS0JCTAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEsIDQsIDB9 OwotIAlzdHJ1Y3QgewotIAkJQkZfY3R4IGN0eDsKLSAJCUJGX2tleSBleHBhbmRlZF9rZXk7Ci1A QCAtNzQ2LDkgKzc0OSwxMSBAQCBjaGFyICpfX2NyeXB0X2Jsb3dmaXNoKGNvbnN0IGNoYXIgKmtl eSwgY29uc3QgY2hhciAqc2V0dGluZywgY2hhciAqb3V0cHV0KQotIHsKLSAJY29uc3QgY2hhciAq dGVzdF9rZXkgPSAiOGIgXHhkMFx4YzFceGQyXHhjZlx4Y2NceGQ4IjsKLSAJY29uc3QgY2hhciAq dGVzdF9zZXR0aW5nID0gIiQyYSQwMCRhYmNkZWZnaGlqa2xtbm9wcXJzdHV1IjsKLS0Jc3RhdGlj IGNvbnN0IGNoYXIgdGVzdF9oYXNoWzJdWzM0XSA9Ci0tCQl7IlZVclBtWEQ2cS9uVlNTcDdwTkRo Q1I5MDcxSWZJUmVcMFx4NTUiLCAvKiAkMngkICovCi0tCQkiaTFENzA5dmZhbXVsaW1sR2NxMHFx M1V2dVVhc3ZFYVwwXHg1NSJ9OyAvKiAkMmEkLCAkMnkkICovCi0rCXN0YXRpYyBjb25zdCBjaGFy IHRlc3RfaGFzaGVzWzJdWzM0XSA9IHsKLSsJCSJpMUQ3MDl2ZmFtdWxpbWxHY3EwcXEzVXZ1VWFz dkVhXDBceDU1IiwgLyogJ2EnLCAnYicsICd5JyAqLwotKwkJIlZVclBtWEQ2cS9uVlNTcDdwTkRo Q1I5MDcxSWZJUmVcMFx4NTUiLCAvKiAneCcgKi8KLSsJfTsKLSsJY29uc3QgY2hhciAqdGVzdF9o YXNoID0gdGVzdF9oYXNoZXNbMF07Ci0gCWNoYXIgKnJldHZhbDsKLSAJY29uc3QgY2hhciAqcDsK LSAJaW50IG9rOwotQEAgLTc2OCw4ICs3NzMsMTEgQEAgY2hhciAqX19jcnlwdF9ibG93ZmlzaChj b25zdCBjaGFyICprZXksIGNvbnN0IGNoYXIgKnNldHRpbmcsIGNoYXIgKm91dHB1dCkKLSAgKiBk ZXRlY3RlZCBieSB0aGUgc2VsZi10ZXN0LgotICAqLwotIAltZW1jcHkoYnVmLnMsIHRlc3Rfc2V0 dGluZywgc2l6ZW9mKGJ1Zi5zKSk7Ci0tCWlmIChyZXR2YWwpCi0rCWlmIChyZXR2YWwpIHsKLSsJ CXVuc2lnbmVkIGludCBmbGFncyA9IGZsYWdzX2J5X3N1YnR5cGVbc2V0dGluZ1syXSAtICdhJ107 Ci0rCQl0ZXN0X2hhc2ggPSB0ZXN0X2hhc2hlc1tmbGFncyAmIDFdOwotIAkJYnVmLnNbMl0gPSBz ZXR0aW5nWzJdOwotKwl9Ci0gCW1lbXNldChidWYubywgMHg1NSwgc2l6ZW9mKGJ1Zi5vKSk7Ci0g CWJ1Zi5vW3NpemVvZihidWYubykgLSAxXSA9IDA7Ci0gCXAgPSBCRl9jcnlwdCh0ZXN0X2tleSwg YnVmLnMsIGJ1Zi5vLCAxKTsKLUBAIC03NzcsNyArNzg1LDcgQEAgY2hhciAqX19jcnlwdF9ibG93 ZmlzaChjb25zdCBjaGFyICprZXksIGNvbnN0IGNoYXIgKnNldHRpbmcsIGNoYXIgKm91dHB1dCkK LSAJb2sgPSAocCA9PSBidWYubyAmJgotIAkgICAgIW1lbWNtcChwLCBidWYucywgNyArIDIyKSAm JgotIAkgICAgIW1lbWNtcChwICsgKDcgKyAyMiksCi0tCSAgICB0ZXN0X2hhc2hbYnVmLnNbMl0g JiAxXSwKLSsJICAgIHRlc3RfaGFzaCwKLSAJICAgIDMxICsgMSArIDEgKyAxKSk7Ci0gCi0gCXsK LS0tIAotY2dpdCB2MS4yLjEKLQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9tdXNsL3BhdGNoZXMvQ1ZF LTIwMjAtMjg5MjgucGF0Y2ggYi9zcmNwa2dzL211c2wvcGF0Y2hlcy9DVkUtMjAyMC0yODkyOC5w YXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjNmZjNiNGVlMDhmLi4wMDAwMDAw MDAwMDAKLS0tIGEvc3JjcGtncy9tdXNsL3BhdGNoZXMvQ1ZFLTIwMjAtMjg5MjgucGF0Y2gKKysr IC9kZXYvbnVsbApAQCAtMSw2NCArMCwwIEBACi0tLS0gYS9zcmMvbXVsdGlieXRlL3djc25ydG9t YnMuYwotKysrIGIvc3JjL211bHRpYnl0ZS93Y3NucnRvbWJzLmMKLUBAIC0xLDQxICsxLDMzIEBA Ci0gI2luY2x1ZGUgPHdjaGFyLmg+Ci0rI2luY2x1ZGUgPGxpbWl0cy5oPgotKyNpbmNsdWRlIDxz dHJpbmcuaD4KLSAKLSBzaXplX3Qgd2NzbnJ0b21icyhjaGFyICpyZXN0cmljdCBkc3QsIGNvbnN0 IHdjaGFyX3QgKipyZXN0cmljdCB3Y3MsIHNpemVfdCB3biwgc2l6ZV90IG4sIG1ic3RhdGVfdCAq cmVzdHJpY3Qgc3QpCi0gewotLQlzaXplX3QgbCwgY250PTAsIG4yOwotLQljaGFyICpzLCBidWZb MjU2XTsKLSAJY29uc3Qgd2NoYXJfdCAqd3MgPSAqd2NzOwotLQljb25zdCB3Y2hhcl90ICp0bXBf d3M7Ci0tCi0tCWlmICghZHN0KSBzID0gYnVmLCBuID0gc2l6ZW9mIGJ1ZjsKLS0JZWxzZSBzID0g ZHN0OwotLQotLQl3aGlsZSAoIHdzICYmIG4gJiYgKCAobjI9d24pPj1uIHx8IG4yPjMyICkgKSB7 Ci0tCQlpZiAobjI+PW4pIG4yPW47Ci0tCQl0bXBfd3MgPSB3czsKLS0JCWwgPSB3Y3NydG9tYnMo cywgJndzLCBuMiwgMCk7Ci0tCQlpZiAoIShsKzEpKSB7Ci0tCQkJY250ID0gbDsKLS0JCQluID0g MDsKLSsJc2l6ZV90IGNudCA9IDA7Ci0rCWlmICghZHN0KSBuPTA7Ci0rCXdoaWxlICh3cyAmJiB3 bikgewotKwkJY2hhciB0bXBbTUJfTEVOX01BWF07Ci0rCQlzaXplX3QgbCA9IHdjcnRvbWIobjxN Ql9MRU5fTUFYID8gdG1wIDogZHN0LCAqd3MsIDApOwotKwkJaWYgKGw9PS0xKSB7Ci0rCQkJY250 ID0gLTE7Ci0gCQkJYnJlYWs7Ci0gCQl9Ci0tCQlpZiAocyAhPSBidWYpIHsKLS0JCQlzICs9IGw7 Ci0rCQlpZiAoZHN0KSB7Ci0rCQkJaWYgKG48TUJfTEVOX01BWCkgewotKwkJCQlpZiAobD5uKSBi cmVhazsKLSsJCQkJbWVtY3B5KGRzdCwgdG1wLCBsKTsKLSsJCQl9Ci0rCQkJZHN0ICs9IGw7Ci0g CQkJbiAtPSBsOwotIAkJfQotLQkJd24gPSB3cyA/IHduIC0gKHdzIC0gdG1wX3dzKSA6IDA7Ci0t CQljbnQgKz0gbDsKLS0JfQotLQlpZiAod3MpIHdoaWxlIChuICYmIHduKSB7Ci0tCQlsID0gd2Ny dG9tYihzLCAqd3MsIDApOwotLQkJaWYgKChsKzEpPD0xKSB7Ci0tCQkJaWYgKCFsKSB3cyA9IDA7 Ci0tCQkJZWxzZSBjbnQgPSBsOwotKwkJaWYgKCEqd3MpIHsKLSsJCQl3cyA9IDA7Ci0gCQkJYnJl YWs7Ci0gCQl9Ci0tCQl3cysrOyB3bi0tOwotLQkJLyogc2FmZSAtIHRoaXMgbG9vcCBydW5zIGZl d2VyIHRoYW4gc2l6ZW9mKGJ1ZikgdGltZXMgKi8KLS0JCXMrPWw7IG4tPWw7Ci0rCQl3cysrOwot KwkJd24tLTsKLSAJCWNudCArPSBsOwotIAl9Ci0gCWlmIChkc3QpICp3Y3MgPSB3czsKLQpkaWZm IC0tZ2l0IGEvc3JjcGtncy9tdXNsL3BhdGNoZXMvYWFyY2g2NC1mcmVncy5wYXRjaCBiL3NyY3Br Z3MvbXVzbC9wYXRjaGVzL2FhcmNoNjQtZnJlZ3MucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAyNGVlZDExYThlNS4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvbXVzbC9w YXRjaGVzL2FhcmNoNjQtZnJlZ3MucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNyArMCwwIEBA Ci1Vc2UgdHlwZXMgY29tcGF0aWJsZSB3aXRoIGdsaWJjL2tlcm5lbCBoZWFkZXJzLgotCi1kaWZm IC0tZ2l0IGEvYXJjaC9hYXJjaDY0L2JpdHMvc2lnbmFsLmggYi9hcmNoL2FhcmNoNjQvYml0cy9z aWduYWwuaAotaW5kZXggYjcxMjYxZjUuLjUwOThjNzM0IDEwMDY0NAotLS0tIGEvYXJjaC9hYXJj aDY0L2JpdHMvc2lnbmFsLmgKLSsrKyBiL2FyY2gvYWFyY2g2NC9iaXRzL3NpZ25hbC5oCi1AQCAt MTEsNyArMTEsNyBAQCB0eXBlZGVmIHVuc2lnbmVkIGxvbmcgZ3JlZ190OwotIHR5cGVkZWYgdW5z aWduZWQgbG9uZyBncmVnc2V0X3RbMzRdOwotIAotIHR5cGVkZWYgc3RydWN0IHsKLS0JbG9uZyBk b3VibGUgdnJlZ3NbMzJdOwotKwlfX3VpbnQxMjhfdCB2cmVnc1szMl07Ci0gCXVuc2lnbmVkIGlu dCBmcHNyOwotIAl1bnNpZ25lZCBpbnQgZnBjcjsKLSB9IGZwcmVnc2V0X3Q7Ci1AQCAtMzQsNyAr MzQsNyBAQCBzdHJ1Y3QgZnBzaW1kX2NvbnRleHQgewotIAlzdHJ1Y3QgX2FhcmNoNjRfY3R4IGhl YWQ7Ci0gCXVuc2lnbmVkIGludCBmcHNyOwotIAl1bnNpZ25lZCBpbnQgZnBjcjsKLS0JbG9uZyBk b3VibGUgdnJlZ3NbMzJdOwotKwlfX3VpbnQxMjhfdCB2cmVnc1szMl07Ci0gfTsKLSBzdHJ1Y3Qg ZXNyX2NvbnRleHQgewotIAlzdHJ1Y3QgX2FhcmNoNjRfY3R4IGhlYWQ7Ci1kaWZmIC0tZ2l0IGEv YXJjaC9hYXJjaDY0L2JpdHMvdXNlci5oIGIvYXJjaC9hYXJjaDY0L2JpdHMvdXNlci5oCi1pbmRl eCBkMTJjZGY3Zi4uOGExMDAyYWEgMTAwNjQ0Ci0tLS0gYS9hcmNoL2FhcmNoNjQvYml0cy91c2Vy LmgKLSsrKyBiL2FyY2gvYWFyY2g2NC9iaXRzL3VzZXIuaAotQEAgLTYsNyArNiw3IEBAIHN0cnVj dCB1c2VyX3JlZ3Nfc3RydWN0IHsKLSB9OwotIAotIHN0cnVjdCB1c2VyX2Zwc2ltZF9zdHJ1Y3Qg ewotLQlsb25nIGRvdWJsZSB2cmVnc1szMl07Ci0rCV9fdWludDEyOF90IHZyZWdzWzMyXTsKLSAJ dW5zaWduZWQgaW50IGZwc3I7Ci0gCXVuc2lnbmVkIGludCBmcGNyOwotIH07CmRpZmYgLS1naXQg YS9zcmNwa2dzL211c2wvcGF0Y2hlcy9hZGQtc3VwcG9ydC1mb3ItU0lHRVZfVEhSRUFEX0lELXRp bWVycy5wYXRjaCBiL3NyY3BrZ3MvbXVzbC9wYXRjaGVzL2FkZC1zdXBwb3J0LWZvci1TSUdFVl9U SFJFQURfSUQtdGltZXJzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMjBk ZmY1YmEwZDQuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL211c2wvcGF0Y2hlcy9hZGQtc3Vw cG9ydC1mb3ItU0lHRVZfVEhSRUFEX0lELXRpbWVycy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0x LDc0ICswLDAgQEAKLUZyb20gN2M3MTc5MmU4NzY5MTQ1MWYyYTZiNzYzNDhlODNhZDE4ODlmMWRj YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEphbWVzIFkgS25pZ2h0IDxqeWtuaWdo dEBnb29nbGUuY29tPgotRGF0ZTogU3VuLCAzMCBKdW4gMjAxOSAyMTo1NToyMCAtMDQwMAotU3Vi amVjdDogW1BBVENIXSBhZGQgc3VwcG9ydCBmb3IgU0lHRVZfVEhSRUFEX0lEIHRpbWVycwotCi1U aGlzIGlzIGxpa2UgU0lHRVZfU0lHTkFMLCBidXQgdGFyZ2V0ZWQgdG8gYSBwYXJ0aWN1bGFyIHRo cmVhZCdzCi10aWQsIHJhdGhlciB0aGFuIHRoZSBwcm9jZXNzLgotLS0tCi0gaW5jbHVkZS9zaWdu YWwuaCAgICAgICAgfCAxNiArKysrKysrKysrKysrLS0tCi0gc3JjL3RpbWUvdGltZXJfY3JlYXRl LmMgfCAgOCArKysrKystLQotIDIgZmlsZXMgY2hhbmdlZCwgMTkgaW5zZXJ0aW9ucygrKSwgNSBk ZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2luY2x1ZGUvc2lnbmFsLmggYi9pbmNsdWRlL3Np Z25hbC5oCi1pbmRleCBmYmRmNjY3YjIuLjllZDkyOWU0ZiAxMDA2NDQKLS0tLSBhL2luY2x1ZGUv c2lnbmFsLmgKLSsrKyBiL2luY2x1ZGUvc2lnbmFsLmgKLUBAIC0xODAsMTQgKzE4MCwyNCBAQCBz dHJ1Y3Qgc2lnZXZlbnQgewotIAl1bmlvbiBzaWd2YWwgc2lnZXZfdmFsdWU7Ci0gCWludCBzaWdl dl9zaWdubzsKLSAJaW50IHNpZ2V2X25vdGlmeTsKLS0Jdm9pZCAoKnNpZ2V2X25vdGlmeV9mdW5j dGlvbikodW5pb24gc2lndmFsKTsKLS0JcHRocmVhZF9hdHRyX3QgKnNpZ2V2X25vdGlmeV9hdHRy aWJ1dGVzOwotLQljaGFyIF9fcGFkWzU2LTMqc2l6ZW9mKGxvbmcpXTsKLSsJdW5pb24gewotKwkJ Y2hhciBfX3BhZFs2NCAtIDIqc2l6ZW9mKGludCkgLSBzaXplb2YodW5pb24gc2lndmFsKV07Ci0r CQlwaWRfdCBzaWdldl9ub3RpZnlfdGhyZWFkX2lkOwotKwkJc3RydWN0IHsKLSsJCQl2b2lkICgq c2lnZXZfbm90aWZ5X2Z1bmN0aW9uKSh1bmlvbiBzaWd2YWwpOwotKwkJCXB0aHJlYWRfYXR0cl90 ICpzaWdldl9ub3RpZnlfYXR0cmlidXRlczsKLSsJCX0gX19zZXZfdGhyZWFkOwotKwl9IF9fc2V2 X2ZpZWxkczsKLSB9OwotIAotKyNkZWZpbmUgc2lnZXZfbm90aWZ5X3RocmVhZF9pZCBfX3Nldl9m aWVsZHMuc2lnZXZfbm90aWZ5X3RocmVhZF9pZAotKyNkZWZpbmUgc2lnZXZfbm90aWZ5X2Z1bmN0 aW9uIF9fc2V2X2ZpZWxkcy5fX3Nldl90aHJlYWQuc2lnZXZfbm90aWZ5X2Z1bmN0aW9uCi0rI2Rl ZmluZSBzaWdldl9ub3RpZnlfYXR0cmlidXRlcyBfX3Nldl9maWVsZHMuX19zZXZfdGhyZWFkLnNp Z2V2X25vdGlmeV9hdHRyaWJ1dGVzCi0rCi0gI2RlZmluZSBTSUdFVl9TSUdOQUwgMAotICNkZWZp bmUgU0lHRVZfTk9ORSAxCi0gI2RlZmluZSBTSUdFVl9USFJFQUQgMgotKyNkZWZpbmUgU0lHRVZf VEhSRUFEX0lEIDQKLSAKLSBpbnQgX19saWJjX2N1cnJlbnRfc2lncnRtaW4odm9pZCk7Ci0gaW50 IF9fbGliY19jdXJyZW50X3NpZ3J0bWF4KHZvaWQpOwotZGlmZiAtLWdpdCBhL3NyYy90aW1lL3Rp bWVyX2NyZWF0ZS5jIGIvc3JjL3RpbWUvdGltZXJfY3JlYXRlLmMKLWluZGV4IDVkZGZkYTI3OC4u NGJlZjIzOTA1IDEwMDY0NAotLS0tIGEvc3JjL3RpbWUvdGltZXJfY3JlYXRlLmMKLSsrKyBiL3Ny Yy90aW1lL3RpbWVyX2NyZWF0ZS5jCi1AQCAtNzEsMTEgKzcxLDE1IEBAIGludCB0aW1lcl9jcmVh dGUoY2xvY2tpZF90IGNsaywgc3RydWN0IHNpZ2V2ZW50ICpyZXN0cmljdCBldnAsIHRpbWVyX3Qg KnJlc3RyaWN0Ci0gCXN3aXRjaCAoZXZwID8gZXZwLT5zaWdldl9ub3RpZnkgOiBTSUdFVl9TSUdO QUwpIHsKLSAJY2FzZSBTSUdFVl9OT05FOgotIAljYXNlIFNJR0VWX1NJR05BTDoKLSsJY2FzZSBT SUdFVl9USFJFQURfSUQ6Ci0gCQlpZiAoZXZwKSB7Ci0gCQkJa3Nldi5zaWdldl92YWx1ZSA9IGV2 cC0+c2lnZXZfdmFsdWU7Ci0gCQkJa3Nldi5zaWdldl9zaWdubyA9IGV2cC0+c2lnZXZfc2lnbm87 Ci0gCQkJa3Nldi5zaWdldl9ub3RpZnkgPSBldnAtPnNpZ2V2X25vdGlmeTsKLS0JCQlrc2V2LnNp Z2V2X3RpZCA9IDA7Ci0rCQkJaWYgKGV2cC0+c2lnZXZfbm90aWZ5ID09IFNJR0VWX1RIUkVBRF9J RCkKLSsJCQkJa3Nldi5zaWdldl90aWQgPSBldnAtPnNpZ2V2X25vdGlmeV90aHJlYWRfaWQ7Ci0r CQkJZWxzZQotKwkJCQlrc2V2LnNpZ2V2X3RpZCA9IDA7Ci0gCQkJa3NldnAgPSAma3NldjsKLSAJ CX0KLSAJCWlmIChzeXNjYWxsKFNZU190aW1lcl9jcmVhdGUsIGNsaywga3NldnAsICZ0aW1lcmlk KSA8IDApCi1AQCAtMTA3LDcgKzExMSw3IEBAIGludCB0aW1lcl9jcmVhdGUoY2xvY2tpZF90IGNs aywgc3RydWN0IHNpZ2V2ZW50ICpyZXN0cmljdCBldnAsIHRpbWVyX3QgKnJlc3RyaWN0Ci0gCi0g CQlrc2V2LnNpZ2V2X3ZhbHVlLnNpdmFsX3B0ciA9IDA7Ci0gCQlrc2V2LnNpZ2V2X3NpZ25vID0g U0lHVElNRVI7Ci0tCQlrc2V2LnNpZ2V2X25vdGlmeSA9IDQ7IC8qIFNJR0VWX1RIUkVBRF9JRCAq LwotKwkJa3Nldi5zaWdldl9ub3RpZnkgPSBTSUdFVl9USFJFQURfSUQ7Ci0gCQlrc2V2LnNpZ2V2 X3RpZCA9IHRkLT50aWQ7Ci0gCQlpZiAoc3lzY2FsbChTWVNfdGltZXJfY3JlYXRlLCBjbGssICZr c2V2LCAmdGltZXJpZCkgPCAwKQotIAkJCXRpbWVyaWQgPSAtMTsKZGlmZiAtLWdpdCBhL3NyY3Br Z3MvbXVzbC9wYXRjaGVzL2Vwb2xsX2NwLnBhdGNoIGIvc3JjcGtncy9tdXNsL3BhdGNoZXMvZXBv bGxfY3AucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkyZjQ3NTUxYWQ4ZS4u MDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvbXVzbC9wYXRjaGVzL2Vwb2xsX2NwLnBhdGNoCisr KyAvZGV2L251bGwKQEAgLTEsMjggKzAsMCBAQAotRnJvbSAyYzAwZjk1YzFhYzdkZDUwZjUzZDll MzYxODQ3ZWJkMjUxM2M4ZGEwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUmljaCBG ZWxrZXIgPGRhbGlhc0BhZXJpZmFsLmN4PgotRGF0ZTogU2F0LCAzIEFwciAyMDIxIDIxOjE2OjQx IC0wNDAwCi1TdWJqZWN0OiBbUEFUQ0hdIG1ha2UgZXBvbGxfW3Bdd2FpdCBhIGNhbmNlbGxhdGlv biBwb2ludAotCi10aGlzIGlzIGEgTGludXgtc3BlY2lmaWMgZnVuY3Rpb24gYW5kIG5vdCBjb3Zl cmVkIGJ5IFBPU0lYJ3MKLXJlcXVpcmVtZW50cyBmb3Igd2hpY2ggaW50ZXJmYWNlcyBhcmUgY2Fu Y2VsbGF0aW9uIHBvaW50cywgYnV0IGdsaWJjCi1tYWtlcyBpdCBvbmUgYW5kIGV4aXN0aW5nIHNv ZnR3YXJlIHJlbGllcyBvbiBpdCBiZWluZyBvbmUuCi0KLWF0IHNvbWUgcG9pbnQgYSByZXZpZXcg Zm9yIHNpbWlsYXIgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIG1hZGUKLWNhbmNlbGxhdGlvbiBw b2ludHMgc2hvdWxkIGJlIGRvbmUuCi0KLWRpZmYgLS1naXQgc3JjL2xpbnV4L2Vwb2xsLmMgc3Jj L2xpbnV4L2Vwb2xsLmMKLWluZGV4IGRlZmY1YjEwLi45M2JhYTgxNCAxMDA2NDQKLS0tLSBhL3Ny Yy9saW51eC9lcG9sbC5jCi0rKysgYi9zcmMvbGludXgvZXBvbGwuYwotQEAgLTI0LDkgKzI0LDkg QEAgaW50IGVwb2xsX2N0bChpbnQgZmQsIGludCBvcCwgaW50IGZkMiwgc3RydWN0IGVwb2xsX2V2 ZW50ICpldikKLSAKLSBpbnQgZXBvbGxfcHdhaXQoaW50IGZkLCBzdHJ1Y3QgZXBvbGxfZXZlbnQg KmV2LCBpbnQgY250LCBpbnQgdG8sIGNvbnN0IHNpZ3NldF90ICpzaWdzKQotIHsKLS0JaW50IHIg PSBfX3N5c2NhbGwoU1lTX2Vwb2xsX3B3YWl0LCBmZCwgZXYsIGNudCwgdG8sIHNpZ3MsIF9OU0lH LzgpOwotKwlpbnQgciA9IF9fc3lzY2FsbF9jcChTWVNfZXBvbGxfcHdhaXQsIGZkLCBldiwgY250 LCB0bywgc2lncywgX05TSUcvOCk7Ci0gI2lmZGVmIFNZU19lcG9sbF93YWl0Ci0tCWlmIChyPT0t RU5PU1lTICYmICFzaWdzKSByID0gX19zeXNjYWxsKFNZU19lcG9sbF93YWl0LCBmZCwgZXYsIGNu dCwgdG8pOwotKwlpZiAocj09LUVOT1NZUyAmJiAhc2lncykgciA9IF9fc3lzY2FsbF9jcChTWVNf ZXBvbGxfd2FpdCwgZmQsIGV2LCBjbnQsIHRvKTsKLSAjZW5kaWYKLSAJcmV0dXJuIF9fc3lzY2Fs bF9yZXQocik7Ci0gfQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9tdXNsL3BhdGNoZXMvZml4LXBpLW11 dGV4LWNvbmQtMS5wYXRjaCBiL3NyY3BrZ3MvbXVzbC9wYXRjaGVzL2ZpeC1waS1tdXRleC1jb25k LTEucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM5YWY3MmIwYzVmOS4uMDAw MDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvbXVzbC9wYXRjaGVzL2ZpeC1waS1tdXRleC1jb25kLTEu cGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1NiArMCwwIEBACi1Gcm9tIDJkMGJiZTZjNzg4OTM4 ZDEzMzI2MDljMDE0ZWVlYmMxZGZmOTY2YWMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9t OiBSaWNoIEZlbGtlciA8ZGFsaWFzQGFlcmlmYWwuY3g+Ci1EYXRlOiBNb24sIDI2IE9jdCAyMDIw IDE1OjU2OjI1IC0wNDAwCi1TdWJqZWN0OiBmaXggcHRocmVhZF9jb25kX3dhaXQgcGFpcmVkIHdp dGggd2l0aCBwcmlvcml0eS1pbmhlcml0YW5jZSBtdXRleAotCi1wdGhyZWFkX2NvbmRfd2FpdCBh cnJhbmdlZCBmb3IgcmVxdWV1ZWQgd2FpdGVycyB0byB3YWtlIHdoZW4gdGhlIG11dGV4Ci1pcyB1 bmxvY2tlZCBieSB0ZW1wb3JhcmlseSBhZGp1c3RpbmcgdGhlIG11dGV4J3Mgd2FpdGVyIGNvdW50 LiBjb21taXQKLTU0Y2E2Nzc5ODNkNDc1MjliYWI4NzUyMzE1YWMxYTJiNDk4ODg4NzAgYnJva2Ug dGhpcyB3aGVuIGludHJvZHVjaW5nCi1QSSBtdXRleGVzIGJ5IHJlcHVycG9zaW5nIHRoZSB3YWl0 ZXIgY291bnQgZmllbGQgb2YgdGhlIG11dGV4Ci1zdHJ1Y3R1cmUuIHNpbmNlIHRoZW4sIGZvciBQ SSBtdXRleGVzLCB0aGUgd2FpdGVyIGNvdW50IGFkanVzdG1lbnQgd2FzCi1taXNpbnRlcnByZXRl ZCBieSB0aGUgbXV0ZXggbG9ja2luZyBjb2RlIGFzIGluZGljYXRpbmcgdGhhdCB0aGUgbXV0ZXgK LWlzIG5vbiBhIG5vbi1yZWNvdmVyYWJsZSBzdGF0ZS4KLQotaXQgd291bGQgYmUgcG9zc2libGUg dG8gc3BlY2lhbC1jYXNlIFBJIG11dGV4ZXMgaGVyZSwgYnV0IGluc3RlYWQganVzdAotZHJvcCBh bGwgYWRqdXN0bWVudCBvZiB0aGUgd2FpdGVycyBjb3VudCwgYW5kIGluc3RlYWQgdXNlIHRoZSBs b2NrCi13b3JkIHdhaXRlcnMgYml0IGZvciBhbGwgbXV0ZXggdHlwZXMuIHNpbmNlIHRoZSBtdXRl eCBpcyBlaXRoZXIgaGVsZAotYnkgdGhlIGNhbGxlciBvciBpbiB1bnJlY292ZXJhYmxlIHN0YXRl IGF0IHRoZSB0aW1lIHRoZSBiaXQgaXMgc2V0LCBpdAotd2lsbCBuZWNlc3NhcmlseSBzdGlsbCBi ZSBzZXQgYXQgdGhlIHRpbWUgb2YgYW55IHN1YnNlcXVlbnQgdmFsaWQKLXVubG9jayBvcGVyYXRp b24sIGFuZCB0aGlzIHdpbGwgcHJvZHVjZSB0aGUgZGVzaXJlZCBlZmZlY3Qgb2Ygd2FraW5nCi10 aGUgbmV4dCB3YWl0ZXIuCi0KLWlmIHdhaXRlciBjb3VudHMgYXJlIGVudGlyZWx5IGRyb3BwZWQg YXQgc29tZSBwb2ludCBpbiB0aGUgZnV0dXJlIHRoaXMKLWNvZGUgc2hvdWxkIHN0aWxsIHdvcmsg d2l0aG91dCBtb2RpZmljYXRpb24uCi0tLS0KLSBzcmMvdGhyZWFkL3B0aHJlYWRfY29uZF90aW1l ZHdhaXQuYyB8IDExICsrKysrLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygr KSwgNiBkZWxldGlvbnMoLSkKLQotKGxpbWl0ZWQgdG8gJ3NyYy90aHJlYWQvcHRocmVhZF9jb25k X3RpbWVkd2FpdC5jJykKLQotZGlmZiAtLWdpdCBhL3NyYy90aHJlYWQvcHRocmVhZF9jb25kX3Rp bWVkd2FpdC5jIGIvc3JjL3RocmVhZC9wdGhyZWFkX2NvbmRfdGltZWR3YWl0LmMKLWluZGV4IGQx NTAxMjQwLi5mNWYzN2FmMSAxMDA2NDQKLS0tLSBhL3NyYy90aHJlYWQvcHRocmVhZF9jb25kX3Rp bWVkd2FpdC5jCi0rKysgYi9zcmMvdGhyZWFkL3B0aHJlYWRfY29uZF90aW1lZHdhaXQuYwotQEAg LTE0NiwxNCArMTQ2LDEzIEBAIHJlbG9jazoKLSAKLSAJaWYgKG9sZHN0YXRlID09IFdBSVRJTkcp IGdvdG8gZG9uZTsKLSAKLS0JaWYgKCFub2RlLm5leHQpIGFfaW5jKCZtLT5fbV93YWl0ZXJzKTsK LS0KLSAJLyogVW5sb2NrIHRoZSBiYXJyaWVyIHRoYXQncyBob2xkaW5nIGJhY2sgdGhlIG5leHQg d2FpdGVyLCBhbmQKLSAJICogZWl0aGVyIHdha2UgaXQgb3IgcmVxdWV1ZSBpdCB0byB0aGUgbXV0 ZXguICovCi0tCWlmIChub2RlLnByZXYpCi0tCQl1bmxvY2tfcmVxdWV1ZSgmbm9kZS5wcmV2LT5i YXJyaWVyLCAmbS0+X21fbG9jaywgbS0+X21fdHlwZSAmIDEyOCk7Ci0tCWVsc2UKLS0JCWFfZGVj KCZtLT5fbV93YWl0ZXJzKTsKLSsJaWYgKG5vZGUucHJldikgewotKwkJaW50IHZhbCA9IG0tPl9t X2xvY2s7Ci0rCQlpZiAodmFsPjApIGFfY2FzKCZtLT5fbV9sb2NrLCB2YWwsIHZhbHwweDgwMDAw MDAwKTsKLSsJCXVubG9ja19yZXF1ZXVlKCZub2RlLnByZXYtPmJhcnJpZXIsICZtLT5fbV9sb2Nr LCBtLT5fbV90eXBlICYgKDh8MTI4KSk7Ci0rCX0KLSAKLSAJLyogU2luY2UgYSBzaWduYWwgd2Fz IGNvbnN1bWVkLCBjYW5jZWxsYXRpb24gaXMgbm90IHBlcm1pdHRlZC4gKi8KLSAJaWYgKGUgPT0g RUNBTkNFTEVEKSBlID0gMDsKLS0tIAotY2dpdCB2MS4yLjEKLQpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9tdXNsL3BhdGNoZXMvZml4LXBpLW11dGV4LWNvbmQtMi5wYXRjaCBiL3NyY3BrZ3MvbXVzbC9w YXRjaGVzL2ZpeC1waS1tdXRleC1jb25kLTIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IGIzNTZlMzhiNjFmOC4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvbXVzbC9wYXRj aGVzL2ZpeC1waS1tdXRleC1jb25kLTIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0OCArMCww IEBACi1Gcm9tIDI3YjJmYzlkNmRiOTU2MzU5NzI3YTY2YzI2MmYxZTY5OTk1NjYwYWEgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBSaWNoIEZlbGtlciA8ZGFsaWFzQGFlcmlmYWwuY3g+ Ci1EYXRlOiBGcmksIDMwIE9jdCAyMDIwIDExOjIxOjA2IC0wNDAwCi1TdWJqZWN0OiBmaXggbWlz c2luZy13YWtlIHJlZ3Jlc3Npb24gaW4gcHRocmVhZF9jb25kX3dhaXQKLQotdGhlIHJlYXNvbmlu ZyBpbiBjb21taXQgMmQwYmJlNmM3ODg5MzhkMTMzMjYwOWMwMTRlZWViYzFkZmY5NjZhYyB3YXMK LW5vdCBlbnRpcmVseSBjb3JyZWN0LiB3aGlsZSBpdCdzIHRydWUgdGhhdCBzZXR0aW5nIHRoZSB3 YWl0ZXJzIGZsYWcKLWVuc3VyZXMgdGhhdCB0aGUgbmV4dCB1bmxvY2sgd2lsbCBwZXJmb3JtIGEg d2FrZSwgaXQncyBwb3NzaWJsZSB0aGF0Ci10aGUgd2FrZSBpcyBjb25zdW1lZCBieSBhIG11dGV4 IHdhaXRlciB0aGF0IGhhcyBubyByZWxhdGlvbnNoaXAgd2l0aAotdGhlIGNvbmR2YXIgd2FpdCBx dWV1ZSBiZWluZyBwcm9jZXNzZWQsIHdoaWNoIHRoZW4gdGFrZXMgdGhlIG11dGV4Lgotd2hlbiB0 aGF0IHRocmVhZCBzdWJzZXF1ZW50bHkgdW5sb2NrcywgaXQgc2VlcyBubyB3YWl0ZXJzLCBhbmQg bGVhdmVzCi10aGUgcmVzdCBvZiB0aGUgY29uZHZhciBxdWV1ZSBzdHVjay4KLQotYnJpbmcgYmFj ayB0aGUgd2FpdGVyIGNvdW50IGFkanVzdG1lbnQsIGJ1dCBza2lwIGl0IGZvciBQSSBtdXRleGVz LAotZm9yIHdoaWNoIGEgc3VjY2Vzc2Z1bCBsb2NrLWFmdGVyLXdhaXRpbmcgYWx3YXlzIHNldHMg dGhlIHdhaXRlcnMgYml0LgotaWYgZnV0dXJlIGNoYW5nZXMgYXJlIG1hZGUgdG8gYnJpbmcgdGhp cyBzYW1lIHdhaXRlcnMtYml0IGNvbnRyYWN0IHRvCi1hbGwgbG9jayB0eXBlcywgdGhpcyBjYW4g YmUgcmV2ZXJ0ZWQuCi0tLS0KLSBzcmMvdGhyZWFkL3B0aHJlYWRfY29uZF90aW1lZHdhaXQuYyB8 IDUgKysrKysKLSAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspCi0KLShsaW1pdGVkIHRv ICdzcmMvdGhyZWFkL3B0aHJlYWRfY29uZF90aW1lZHdhaXQuYycpCi0KLWRpZmYgLS1naXQgYS9z cmMvdGhyZWFkL3B0aHJlYWRfY29uZF90aW1lZHdhaXQuYyBiL3NyYy90aHJlYWQvcHRocmVhZF9j b25kX3RpbWVkd2FpdC5jCi1pbmRleCBmNWYzN2FmMS4uYTBjZDQ5MDQgMTAwNjQ0Ci0tLS0gYS9z cmMvdGhyZWFkL3B0aHJlYWRfY29uZF90aW1lZHdhaXQuYwotKysrIGIvc3JjL3RocmVhZC9wdGhy ZWFkX2NvbmRfdGltZWR3YWl0LmMKLUBAIC0xNDYsMTIgKzE0NiwxNyBAQCByZWxvY2s6Ci0gCi0g CWlmIChvbGRzdGF0ZSA9PSBXQUlUSU5HKSBnb3RvIGRvbmU7Ci0gCi0rCWlmICghbm9kZS5uZXh0 ICYmICEobS0+X21fdHlwZSAmIDgpKQotKwkJYV9pbmMoJm0tPl9tX3dhaXRlcnMpOwotKwotIAkv KiBVbmxvY2sgdGhlIGJhcnJpZXIgdGhhdCdzIGhvbGRpbmcgYmFjayB0aGUgbmV4dCB3YWl0ZXIs IGFuZAotIAkgKiBlaXRoZXIgd2FrZSBpdCBvciByZXF1ZXVlIGl0IHRvIHRoZSBtdXRleC4gKi8K LSAJaWYgKG5vZGUucHJldikgewotIAkJaW50IHZhbCA9IG0tPl9tX2xvY2s7Ci0gCQlpZiAodmFs PjApIGFfY2FzKCZtLT5fbV9sb2NrLCB2YWwsIHZhbHwweDgwMDAwMDAwKTsKLSAJCXVubG9ja19y ZXF1ZXVlKCZub2RlLnByZXYtPmJhcnJpZXIsICZtLT5fbV9sb2NrLCBtLT5fbV90eXBlICYgKDh8 MTI4KSk7Ci0rCX0gZWxzZSBpZiAoISEobS0+X21fdHlwZSAmIDgpKSB7Ci0rCQlhX2RlYygmbS0+ X21fd2FpdGVycyk7CQkKLSAJfQotIAotIAkvKiBTaW5jZSBhIHNpZ25hbCB3YXMgY29uc3VtZWQs IGNhbmNlbGxhdGlvbiBpcyBub3QgcGVybWl0dGVkLiAqLwotLS0gCi1jZ2l0IHYxLjIuMQotCmRp ZmYgLS1naXQgYS9zcmNwa2dzL211c2wvcGF0Y2hlcy9maXgtcGktbXV0ZXgtY29uZC0zLnBhdGNo IGIvc3JjcGtncy9tdXNsL3BhdGNoZXMvZml4LXBpLW11dGV4LWNvbmQtMy5wYXRjaApkZWxldGVk IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmNjOTQzZjI2ZjZhLi4wMDAwMDAwMDAwMDAKLS0tIGEv c3JjcGtncy9tdXNsL3BhdGNoZXMvZml4LXBpLW11dGV4LWNvbmQtMy5wYXRjaAorKysgL2Rldi9u dWxsCkBAIC0xLDI4ICswLDAgQEAKLUZyb20gZDkxYTZjZjZlMzY5YTc5NTg3YzU2NjVmY2U5NjM1 ZTU2MzRjYTIwMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFJpY2ggRmVsa2VyIDxk YWxpYXNAYWVyaWZhbC5jeD4KLURhdGU6IEZyaSwgMzAgT2N0IDIwMjAgMTY6NTA6MDggLTA0MDAK LVN1YmplY3Q6IGZpeCBlcnJvbmVvdXMgcHRocmVhZF9jb25kX3dhaXQgbXV0ZXggd2FpdGVyIGNv dW50IGxvZ2ljIGR1ZSB0byB0eXBvCi0KLWludHJvZHVjZWQgaW4gY29tbWl0IDI3YjJmYzlkNmRi OTU2MzU5NzI3YTY2YzI2MmYxZTY5OTk1NjYwYWEuCi0tLS0KLSBzcmMvdGhyZWFkL3B0aHJlYWRf Y29uZF90aW1lZHdhaXQuYyB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyks IDEgZGVsZXRpb24oLSkKLQotKGxpbWl0ZWQgdG8gJ3NyYy90aHJlYWQvcHRocmVhZF9jb25kX3Rp bWVkd2FpdC5jJykKLQotZGlmZiAtLWdpdCBhL3NyYy90aHJlYWQvcHRocmVhZF9jb25kX3RpbWVk d2FpdC5jIGIvc3JjL3RocmVhZC9wdGhyZWFkX2NvbmRfdGltZWR3YWl0LmMKLWluZGV4IGEwY2Q0 OTA0Li42Yjc2MTQ1NSAxMDA2NDQKLS0tLSBhL3NyYy90aHJlYWQvcHRocmVhZF9jb25kX3RpbWVk d2FpdC5jCi0rKysgYi9zcmMvdGhyZWFkL3B0aHJlYWRfY29uZF90aW1lZHdhaXQuYwotQEAgLTE1 NSw3ICsxNTUsNyBAQCByZWxvY2s6Ci0gCQlpbnQgdmFsID0gbS0+X21fbG9jazsKLSAJCWlmICh2 YWw+MCkgYV9jYXMoJm0tPl9tX2xvY2ssIHZhbCwgdmFsfDB4ODAwMDAwMDApOwotIAkJdW5sb2Nr X3JlcXVldWUoJm5vZGUucHJldi0+YmFycmllciwgJm0tPl9tX2xvY2ssIG0tPl9tX3R5cGUgJiAo OHwxMjgpKTsKLS0JfSBlbHNlIGlmICghIShtLT5fbV90eXBlICYgOCkpIHsKLSsJfSBlbHNlIGlm ICghKG0tPl9tX3R5cGUgJiA4KSkgewotIAkJYV9kZWMoJm0tPl9tX3dhaXRlcnMpOwkJCi0gCX0K LSAKLS0tIAotY2dpdCB2MS4yLjEKLQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9tdXNsL3BhdGNoZXMv Z2V0dGlkLnBhdGNoIGIvc3JjcGtncy9tdXNsL3BhdGNoZXMvZ2V0dGlkLnBhdGNoCmRlbGV0ZWQg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiYjhiZjU5MDViODguLjAwMDAwMDAwMDAwMAotLS0gYS9z cmNwa2dzL211c2wvcGF0Y2hlcy9nZXR0aWQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0OSAr MCwwIEBACi1Gcm9tIGQ0OWNmMDc1NDFiYjU0YTVhYzdhZWMxZmVlYzg1MTRkYjMzZGI4ZWEgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBSaWNoIEZlbGtlciA8ZGFsaWFzQGFlcmlmYWwu Y3g+Ci1EYXRlOiBNb24sIDE3IEF1ZyAyMDIwIDIwOjEyOjUzIC0wNDAwCi1TdWJqZWN0OiBbUEFU Q0hdIGFkZCBnZXR0aWQgZnVuY3Rpb24KLQotdGhpcyBpcyBhIHByZXJlcXVpc2l0ZSBmb3IgYWRk aXRpb24gb2Ygb3RoZXIgaW50ZXJmYWNlcyB0aGF0IHVzZQota2VybmVsIHRpZHMsIGluY2x1ZGlu ZyBmdXRleCBhbmQgU0lHRVZfVEhSRUFEX0lELgotCi10aGVyZSBpcyBzb21lIGFtYmlndWl0eSBh cyB0byB3aGV0aGVyIHRoZSBzZW1hbnRpYyByZXR1cm4gdHlwZSBzaG91bGQKLWJlIGludCBvciBw aWRfdC4gZWl0aGVyIHdheSwgZnV0ZXggQVBJIGltcG9zZXMgYSBjb250cmFjdCB0aGF0IHRoZQot dmFsdWVzIGZpdCBpbiBpbnQgKGV4Y2x1ZGluZyBzb21lIHVwcGVyIHJlc2VydmVkIGJpdHMpLiBn bGliYyB1c2VkCi1waWRfdCwgc28gaW4gdGhlIGludGVyZXN0IG9mIG5vdCBoYXZpbmcgZ3JhdHVp dG91cyBtaXNtYXRjaCAodGhlCi11bmRlcmx5aW5nIHR5cGVzIGFyZSB0aGUgc2FtZSBhbnl3YXkp LCBwaWRfdCBpcyB1c2VkIGhlcmUgYXMgd2VsbC4KLQotd2hpbGUgY29uY2VwdHVhbGx5IHRoaXMg aXMgYSBzeXNjYWxsLCB0aGUgY29weSBzdG9yZWQgaW4gdGhlIHRocmVhZAotc3RydWN0dXJlIGlz IGFsd2F5cyB2YWxpZCBpbiBhbGwgY29udGV4dHMgd2hlcmUgaXQncyB2YWxpZCB0byBjYWxsCi1s aWJjIGZ1bmN0aW9ucywgc28gaXQncyB1c2VkIHRvIGF2b2lkIHRoZSBzeXNjYWxsLgotLS0tCi0g aW5jbHVkZS91bmlzdGQuaCAgIHwgMSArCi0gc3JjL2xpbnV4L2dldHRpZC5jIHwgOCArKysrKysr KwotIDIgZmlsZXMgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspCi0gY3JlYXRlIG1vZGUgMTAwNjQ0 IHNyYy9saW51eC9nZXR0aWQuYwotCi1kaWZmIC0tZ2l0IGEvaW5jbHVkZS91bmlzdGQuaCBiL2lu Y2x1ZGUvdW5pc3RkLmgKLWluZGV4IDdiY2JmZjk0My4uMDc1ODRhMjNlIDEwMDY0NAotLS0tIGEv aW5jbHVkZS91bmlzdGQuaAotKysrIGIvaW5jbHVkZS91bmlzdGQuaAotQEAgLTE5MCw2ICsxOTAs NyBAQCBpbnQgc3luY2ZzKGludCk7Ci0gaW50IGV1aWRhY2Nlc3MoY29uc3QgY2hhciAqLCBpbnQp OwotIGludCBlYWNjZXNzKGNvbnN0IGNoYXIgKiwgaW50KTsKLSBzc2l6ZV90IGNvcHlfZmlsZV9y YW5nZShpbnQsIG9mZl90ICosIGludCwgb2ZmX3QgKiwgc2l6ZV90LCB1bnNpZ25lZCk7Ci0rcGlk X3QgZ2V0dGlkKHZvaWQpOwotICNlbmRpZgotIAotICNpZiBkZWZpbmVkKF9MQVJHRUZJTEU2NF9T T1VSQ0UpIHx8IGRlZmluZWQoX0dOVV9TT1VSQ0UpCi1kaWZmIC0tZ2l0IGEvc3JjL2xpbnV4L2dl dHRpZC5jIGIvc3JjL2xpbnV4L2dldHRpZC5jCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXgg MDAwMDAwMDAwLi43MDc2NzEzN2UKLS0tLSAvZGV2L251bGwKLSsrKyBiL3NyYy9saW51eC9nZXR0 aWQuYwotQEAgLTAsMCArMSw4IEBACi0rI2RlZmluZSBfR05VX1NPVVJDRQotKyNpbmNsdWRlIDx1 bmlzdGQuaD4KLSsjaW5jbHVkZSAicHRocmVhZF9pbXBsLmgiCi0rCi0rcGlkX3QgZ2V0dGlkKHZv aWQpCi0rewotKwlyZXR1cm4gX19wdGhyZWFkX3NlbGYoKS0+dGlkOwotK30KZGlmZiAtLWdpdCBh L3NyY3BrZ3MvbXVzbC9wYXRjaGVzL2ltcGxlbWVudF9yZWFscGF0aF9kaXJlY3RseV9pbnN0ZWFk X29mX3VzaW5nX3Byb2Nmc19yZWFkbGluay5wYXRjaCBiL3NyY3BrZ3MvbXVzbC9wYXRjaGVzL2lt cGxlbWVudF9yZWFscGF0aF9kaXJlY3RseV9pbnN0ZWFkX29mX3VzaW5nX3Byb2Nmc19yZWFkbGlu ay5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTY5YTFmNTJjN2NkLi4wMDAw MDAwMDAwMDAKLS0tIGEvc3JjcGtncy9tdXNsL3BhdGNoZXMvaW1wbGVtZW50X3JlYWxwYXRoX2Rp cmVjdGx5X2luc3RlYWRfb2ZfdXNpbmdfcHJvY2ZzX3JlYWRsaW5rLnBhdGNoCisrKyAvZGV2L251 bGwKQEAgLTEsMjE5ICswLDAgQEAKLUZyb20gMjlmZjc1OTlhNDQ4MjMyZjI1Mjc4NDFjMjM2MjY0 M2QyNDZjZWUzNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFJpY2ggRmVsa2VyIDxk YWxpYXNAYWVyaWZhbC5jeD4KLURhdGU6IE1vbiwgMzAgTm92IDIwMjAgMTI6MTQ6NDcgLTA1MDAK LVN1YmplY3Q6IFtQQVRDSF0gaW1wbGVtZW50IHJlYWxwYXRoIGRpcmVjdGx5IGluc3RlYWQgb2Yg dXNpbmcgcHJvY2ZzIHJlYWRsaW5rCi0KLWluYWJpbGl0eSB0byB1c2UgcmVhbHBhdGggaW4gY2hy b290L2NvbnRhaW5lciB3aXRob3V0IHByb2NmcyBhY2Nlc3MKLWFuZCBhdCBlYXJseSBib290IHBy aW9yIHRvIG1vdW50IG9mIC9wcm9jIGhhcyBiZWVuIGFuIG9uZ29pbmcgaXNzdWUsCi1hbmQgaXQg dHVybnMgb3V0IHJlYWxwYXRoIHdhcyBvbmUgb2YgdGhlIGxhc3QgcmVtYWluaW5nIGludGVyZmFj ZXMKLXRoYXQgbmVlZGVkIHByb2NmcyBmb3IgaXRzIGNvcmUgZnVuY3Rpb25hbGl0eS4gZHVyaW5n IGludmVzdGlnYXRpb24KLXdoaWxlIHJlaW1wbGVtZW50aW5nLCBpdCB3YXMgZGV0ZXJtaW5lZCB0 aGF0IHRoZXJlIHdlcmUgYWxzbyBzZXJpb3VzCi1wcm9ibGVtcyB3aXRoIHRoZSBwcm9jZnMtYmFz ZWQgaW1wbGVtZW50YXRpb24uIG1vc3Qgc2VyaW91c2x5IGl0IHdhcwotdW5zYWZlIG9uIHByZS1P X1BBVEgga2VybmVscywgYW5kIHVubGlrZSBvdGhlciBwbGFjZXMgd2hlcmUgT19QQVRIIHdhcwot dXNlZCwgdGhlIHVuc2FmZXR5IHdhcyBoYXJkIG9yIGltcG9zc2libGUgdG8gZml4IGJlY2F1c2Ug T19OT0ZPTExPVwotY2FuJ3QgYmUgdXNlZCAoc2luY2UgdGhlIHdob2xlIHB1cnBvc2Ugd2FzIHRv IGZvbGxvdyBzeW1saW5rcykuCi0KLXRoZSBuZXcgaW1wbGVtZW50YXRpb24gaXMgYSBkaXJlY3Qg b25lLCBwZXJmb3JtaW5nIHJlYWRsaW5rIG9uIGVhY2gKLXBhdGggY29tcG9uZW50IHRvIHJlc29s dmUgaXQuIGFuIGV4cGxpY2l0IHN0YWNrLCBhcyBvcHBvc2VkIHRvCi1yZWN1cnNpb24sIGlzIHVz ZWQgdG8gcmVwcmVzZW50IHRoZSByZW1haW5pbmcgY29tcG9uZW50cyB0byBiZQotcHJvY2Vzc2Vk LiB0aGUgc3RhY2sgc3RhcnRzIG91dCBob2xkaW5nIGp1c3QgdGhlIGlucHV0IHN0cmluZywgYW5k Ci1yZWFkaW5nIGEgbGluayBwdXNoZXMgdGhlIGxpbmsgY29udGVudHMgb250byB0aGUgc3RhY2su Ci0KLXVubGlrZSBtYW55IG90aGVyIGltcGxlbWVudGF0aW9ucywgdGhpcyBvbmUgZG9lcyBub3Qg Y2FsbCBnZXRjd2QKLWluaXRpYWxseSBmb3IgcmVsYXRpdmUgcGF0aG5hbWVzLiBpbnN0ZWFkIGl0 IGFjY3VtdWxhdGVzIGluaXRpYWwgLi4KLWNvbXBvbmVudHMgdG8gYmUgYXBwbGllZCB0byB0aGUg d29ya2luZyBkaXJlY3RvcnkgaWYgdGhlIHJlc3VsdCBpcwotc3RpbGwgYSByZWxhdGl2ZSBwYXRo LiB0aGlzIGF2b2lkcyBjYWxsaW5nIGdldGN3ZCAod2hpY2ggbWF5IGZhaWwpIGF0Ci1hbGwgd2hl biBzeW1saW5rIHRyYXZlcnNhbCB3aWxsIGV2ZW50dWFsbHkgeWllbGQgYW4gYWJzb2x1dGUgcGF0 aC4gaXQKLWFsc28gZG9lc24ndCB1c2UgYW55IGZvcm0gb2Ygc3RhdCBvcGVyYXRpb247IGluc3Rl YWQgaXQgYXJyYW5nZXMgZm9yCi1yZWFkbGluayB0byB0ZWxsIGl0IHdoZW4gYSBub24tZGlyZWN0 b3J5IGlzIHVzZWQgaW4gYSBjb250ZXh0IHdoZXJlIGEKLWRpcmVjdG9yeSBpcyBuZWVkZWQuIHRo aXMgbWluaW1pemVzIHRoZSBudW1iZXIgb2Ygc3lzY2FsbHMgbmVlZGVkLAotYXZvaWRzIGFjY2Vz c2luZyBpbm9kZXMgd2hlbiB0aGUgZGlyZWN0b3J5IHRhYmxlIHN1ZmZpY2VzLCBhbmQgcmVkdWNl cwotdGhlIGFtb3VudCBvZiBjb2RlIHB1bGxlZCBpbiBmb3Igc3RhdGljIGxpbmtpbmcuCi0tLS0K LSBzcmMvbWlzYy9yZWFscGF0aC5jIHwgMTU5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKystLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDEzNiBpbnNlcnRpb25zKCspLCAyMyBk ZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9taXNjL3JlYWxwYXRoLmMgYi9zcmMvbWlz Yy9yZWFscGF0aC5jCi1pbmRleCBkMjcwOGU1OWQuLmRiOGI3NGRjOCAxMDA2NDQKLS0tLSBhL3Ny Yy9taXNjL3JlYWxwYXRoLmMKLSsrKyBiL3NyYy9taXNjL3JlYWxwYXRoLmMKLUBAIC0xLDQzICsx LDE1NiBAQAotICNpbmNsdWRlIDxzdGRsaWIuaD4KLSAjaW5jbHVkZSA8bGltaXRzLmg+Ci0tI2lu Y2x1ZGUgPHN5cy9zdGF0Lmg+Ci0tI2luY2x1ZGUgPGZjbnRsLmg+Ci0gI2luY2x1ZGUgPGVycm5v Lmg+Ci0gI2luY2x1ZGUgPHVuaXN0ZC5oPgotICNpbmNsdWRlIDxzdHJpbmcuaD4KLS0jaW5jbHVk ZSAic3lzY2FsbC5oIgotKwotK3N0YXRpYyBzaXplX3Qgc2xhc2hfbGVuKGNvbnN0IGNoYXIgKnMp Ci0rewotKwljb25zdCBjaGFyICpzMCA9IHM7Ci0rCXdoaWxlICgqcyA9PSAnLycpIHMrKzsKLSsJ cmV0dXJuIHMtczA7Ci0rfQotIAotIGNoYXIgKnJlYWxwYXRoKGNvbnN0IGNoYXIgKnJlc3RyaWN0 IGZpbGVuYW1lLCBjaGFyICpyZXN0cmljdCByZXNvbHZlZCkKLSB7Ci0tCWludCBmZDsKLS0Jc3Np emVfdCByOwotLQlzdHJ1Y3Qgc3RhdCBzdDEsIHN0MjsKLS0JY2hhciBidWZbMTUrMypzaXplb2Yo aW50KV07Ci0tCWNoYXIgdG1wW1BBVEhfTUFYXTsKLSsJY2hhciBzdGFja1tQQVRIX01BWCsxXTsK LSsJY2hhciBvdXRwdXRbUEFUSF9NQVhdOwotKwlzaXplX3QgcCwgcSwgbCwgbDAsIGNudD0wLCBu dXA9MDsKLSsJaW50IGNoZWNrX2Rpcj0wOwotIAotIAlpZiAoIWZpbGVuYW1lKSB7Ci0gCQllcnJu byA9IEVJTlZBTDsKLSAJCXJldHVybiAwOwotIAl9Ci0rCWwgPSBzdHJubGVuKGZpbGVuYW1lLCBz aXplb2Ygc3RhY2spOwotKwlpZiAoIWwpIHsKLSsJCWVycm5vID0gRU5PRU5UOwotKwkJcmV0dXJu IDA7Ci0rCX0KLSsJaWYgKGwgPj0gUEFUSF9NQVgpIGdvdG8gdG9vbG9uZzsKLSsJcCA9IHNpemVv ZiBzdGFjayAtIGwgLSAxOwotKwlxID0gMDsKLSsJbWVtY3B5KHN0YWNrK3AsIGZpbGVuYW1lLCBs KzEpOwotKwotKwkvKiBNYWluIGxvb3AuIEVhY2ggaXRlcmF0aW9uIHBvcHMgdGhlIG5leHQgcGFy dCBmcm9tIHN0YWNrIG9mCi0rCSAqIHJlbWFpbmluZyBwYXRoIGNvbXBvbmVudHMgYW5kIGNvbnN1 bWVzIGFueSBzbGFzaGVzIHRoYXQgZm9sbG93LgotKwkgKiBJZiBub3QgYSBsaW5rLCBpdCdzIG1v dmVkIHRvIG91dHB1dDsgaWYgYSBsaW5rLCBjb250ZW50cyBhcmUKLSsJICogcHVzaGVkIHRvIHRo ZSBzdGFjay4gKi8KLStyZXN0YXJ0OgotKwlmb3IgKDsgOyBwKz1zbGFzaF9sZW4oc3RhY2srcCkp IHsKLSsJCS8qIElmIHN0YWNrIHN0YXJ0cyB3aXRoIC8sIHRoZSB3aG9sZSBjb21wb25lbnQgaXMg LyBvciAvLwotKwkJICogYW5kIHRoZSBvdXRwdXQgc3RhdGUgbXVzdCBiZSByZXNldC4gKi8KLSsJ CWlmIChzdGFja1twXSA9PSAnLycpIHsKLSsJCQljaGVja19kaXI9MDsKLSsJCQludXA9MDsKLSsJ CQlxPTA7Ci0rCQkJb3V0cHV0W3ErK10gPSAnLyc7Ci0rCQkJcCsrOwotKwkJCS8qIEluaXRpYWwg Ly8gaXMgc3BlY2lhbC4gKi8KLSsJCQlpZiAoc3RhY2tbcF0gPT0gJy8nICYmIHN0YWNrW3ArMV0g IT0gJy8nKQotKwkJCQlvdXRwdXRbcSsrXSA9ICcvJzsKLSsJCQljb250aW51ZTsKLSsJCX0KLSsK LSsJCWNoYXIgKnogPSBfX3N0cmNocm51bChzdGFjaytwLCAnLycpOwotKwkJbDAgPSBsID0gei0o c3RhY2srcCk7Ci0gCi0tCWZkID0gc3lzX29wZW4oZmlsZW5hbWUsIE9fUEFUSHxPX05PTkJMT0NL fE9fQ0xPRVhFQyk7Ci0tCWlmIChmZCA8IDApIHJldHVybiAwOwotLQlfX3Byb2NmZG5hbWUoYnVm LCBmZCk7Ci0rCQlpZiAoIWwgJiYgIWNoZWNrX2RpcikgYnJlYWs7Ci0gCi0tCXIgPSByZWFkbGlu ayhidWYsIHRtcCwgc2l6ZW9mIHRtcCAtIDEpOwotLQlpZiAociA8IDApIGdvdG8gZXJyOwotLQl0 bXBbcl0gPSAwOwotKwkJLyogU2tpcCBhbnkgLiBjb21wb25lbnQgYnV0IHByZXNlcnZlIGNoZWNr X2RpciBzdGF0dXMuICovCi0rCQlpZiAobD09MSAmJiBzdGFja1twXT09Jy4nKSB7Ci0rCQkJcCAr PSBsOwotKwkJCWNvbnRpbnVlOwotKwkJfQotIAotLQlmc3RhdChmZCwgJnN0MSk7Ci0tCXIgPSBz dGF0KHRtcCwgJnN0Mik7Ci0tCWlmIChyPDAgfHwgc3QxLnN0X2RldiAhPSBzdDIuc3RfZGV2IHx8 IHN0MS5zdF9pbm8gIT0gc3QyLnN0X2lubykgewotLQkJaWYgKCFyKSBlcnJubyA9IEVMT09QOwot LQkJZ290byBlcnI7Ci0rCQkvKiBDb3B5IG5leHQgY29tcG9uZW50IG9udG8gb3V0cHV0IGF0IGxl YXN0IHRlbXBvcmFyaWx5LCB0bwotKwkJICogY2FsbCByZWFkbGluaywgYnV0IHdhaXQgdG8gYWR2 YW5jZSBvdXRwdXQgcG9zaXRpb24gdW50aWwKLSsJCSAqIGRldGVybWluaW5nIGl0J3Mgbm90IGEg bGluay4gKi8KLSsJCWlmIChxICYmIG91dHB1dFtxLTFdICE9ICcvJykgewotKwkJCWlmICghcCkg Z290byB0b29sb25nOwotKwkJCXN0YWNrWy0tcF0gPSAnLyc7Ci0rCQkJbCsrOwotKwkJfQotKwkJ aWYgKHErbCA+PSBQQVRIX01BWCkgZ290byB0b29sb25nOwotKwkJbWVtY3B5KG91dHB1dCtxLCBz dGFjaytwLCBsKTsKLSsJCW91dHB1dFtxK2xdID0gMDsKLSsJCXAgKz0gbDsKLSsKLSsJCWludCB1 cCA9IDA7Ci0rCQlpZiAobDA9PTIgJiYgc3RhY2tbcC0yXT09Jy4nICYmIHN0YWNrW3AtMV09PScu JykgewotKwkJCXVwID0gMTsKLSsJCQkvKiBBbnkgbm9uLS4uIHBhdGggY29tcG9uZW50cyB3ZSBj b3VsZCBjYW5jZWwgc3RhcnQKLSsJCQkgKiBhZnRlciBudXAgcmVwZXRpdGlvbnMgb2YgdGhlIDMt Ynl0ZSBzdHJpbmcgIi4uLyI7Ci0rCQkJICogaWYgdGhlcmUgYXJlIG5vbmUsIGFjY3VtdWxhdGUg Li4gY29tcG9uZW50cyB0bwotKwkJCSAqIGxhdGVyIGFwcGx5IHRvIGN3ZCwgaWYgbmVlZGVkLiAq LwotKwkJCWlmIChxIDw9IDMqbnVwKSB7Ci0rCQkJCW51cCsrOwotKwkJCQlxICs9IGw7Ci0rCQkJ CWNvbnRpbnVlOwotKwkJCX0KLSsJCQkvKiBXaGVuIHByZXZpb3VzIGNvbXBvbmVudHMgYXJlIGFs cmVhZHkga25vd24gdG8gYmUKLSsJCQkgKiBkaXJlY3RvcmllcywgcHJvY2Vzc2luZyAuLiBjYW4g c2tpcCByZWFkbGluay4gKi8KLSsJCQlpZiAoIWNoZWNrX2RpcikgZ290byBza2lwX3JlYWRsaW5r OwotKwkJfQotKwkJc3NpemVfdCBrID0gcmVhZGxpbmsob3V0cHV0LCBzdGFjaywgcCk7Ci0rCQlp ZiAoaz09cCkgZ290byB0b29sb25nOwotKwkJaWYgKCFrKSB7Ci0rCQkJZXJybm8gPSBFTk9FTlQ7 Ci0rCQkJcmV0dXJuIDA7Ci0rCQl9Ci0rCQlpZiAoazwwKSB7Ci0rCQkJaWYgKGVycm5vICE9IEVJ TlZBTCkgcmV0dXJuIDA7Ci0rc2tpcF9yZWFkbGluazoKLSsJCQljaGVja19kaXIgPSAwOwotKwkJ CWlmICh1cCkgewotKwkJCQl3aGlsZShxICYmIG91dHB1dFtxLTFdIT0nLycpIHEtLTsKLSsJCQkJ aWYgKHE+MSAmJiAocT4yIHx8IG91dHB1dFswXSE9Jy8nKSkgcS0tOwotKwkJCQljb250aW51ZTsK LSsJCQl9Ci0rCQkJaWYgKGwwKSBxICs9IGw7Ci0rCQkJY2hlY2tfZGlyID0gc3RhY2tbcF07Ci0r CQkJY29udGludWU7Ci0rCQl9Ci0rCQlpZiAoKytjbnQgPT0gU1lNTE9PUF9NQVgpIHsKLSsJCQll cnJubyA9IEVMT09QOwotKwkJCXJldHVybiAwOwotKwkJfQotKwotKwkJLyogSWYgbGluayBjb250 ZW50cyBlbmQgaW4gLywgc3RyaXAgYW55IHNsYXNoZXMgYWxyZWFkeSBvbgotKwkJICogc3RhY2sg dG8gYXZvaWQgLy0+Ly8gb3IgLy8tPi8vLyBvciBzcHVyaW91cyB0b29sb25nLiAqLwotKwkJaWYg KHN0YWNrW2stMV09PScvJykgd2hpbGUgKHN0YWNrW3BdPT0nLycpIHArKzsKLSsJCXAgLT0gazsK LSsJCW1lbW1vdmUoc3RhY2srcCwgc3RhY2ssIGspOwotKwotKwkJLyogU2tpcCB0aGUgc3RhY2sg YWR2YW5jZW1lbnQgaW4gY2FzZSB3ZSBoYXZlIGEgbmV3Ci0rCQkgKiBhYnNvbHV0ZSBiYXNlIHBh dGguICovCi0rCQlnb3RvIHJlc3RhcnQ7Ci0gCX0KLSAKLS0JX19zeXNjYWxsKFNZU19jbG9zZSwg ZmQpOwotLQlyZXR1cm4gcmVzb2x2ZWQgPyBzdHJjcHkocmVzb2x2ZWQsIHRtcCkgOiBzdHJkdXAo dG1wKTsKLS1lcnI6Ci0tCV9fc3lzY2FsbChTWVNfY2xvc2UsIGZkKTsKLSsgCW91dHB1dFtxXSA9 IDA7Ci0rCi0rCWlmIChvdXRwdXRbMF0gIT0gJy8nKSB7Ci0rCQlpZiAoIWdldGN3ZChzdGFjaywg c2l6ZW9mIHN0YWNrKSkgcmV0dXJuIDA7Ci0rCQlsID0gc3RybGVuKHN0YWNrKTsKLSsJCS8qIENh bmNlbCBhbnkgaW5pdGlhbCAuLiBjb21wb25lbnRzLiAqLwotKwkJcCA9IDA7Ci0rCQl3aGlsZSAo bnVwLS0pIHsKLSsJCQl3aGlsZShsPjEgJiYgc3RhY2tbbC0xXSE9Jy8nKSBsLS07Ci0rCQkJaWYg KGw+MSkgbC0tOwotKwkJCXAgKz0gMjsKLSsJCQlpZiAocDxxKSBwKys7Ci0rCQl9Ci0rCQlpZiAo cS1wICYmIHN0YWNrW2wtMV0hPScvJykgc3RhY2tbbCsrXSA9ICcvJzsKLSsJCWlmIChsICsgKHEt cCkgKyAxID49IFBBVEhfTUFYKSBnb3RvIHRvb2xvbmc7Ci0rCQltZW1tb3ZlKG91dHB1dCArIGws IG91dHB1dCArIHAsIHEgLSBwICsgMSk7Ci0rCQltZW1jcHkob3V0cHV0LCBzdGFjaywgbCk7Ci0r CQlxID0gbCArIHEtcDsKLSsJfQotKwotKwlpZiAocmVzb2x2ZWQpIHJldHVybiBtZW1jcHkocmVz b2x2ZWQsIG91dHB1dCwgcSsxKTsKLSsJZWxzZSByZXR1cm4gc3RyZHVwKG91dHB1dCk7Ci0rCi0r dG9vbG9uZzoKLSsJZXJybm8gPSBFTkFNRVRPT0xPTkc7Ci0gCXJldHVybiAwOwotIH0KZGlmZiAt LWdpdCBhL3NyY3BrZ3MvbXVzbC9wYXRjaGVzL2lzYXNjaWkucGF0Y2ggYi9zcmNwa2dzL211c2wv cGF0Y2hlcy9pc2FzY2lpLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NzE5 ZDJlZTE4OGYuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL211c2wvcGF0Y2hlcy9pc2FzY2lp LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjEgKzAsMCBAQAotRnJvbSBlNDhlOTljMTEyMjQ2 ZmI1ODA1OTY0MDQwNzQ0NDVjYjI1ZDc4NThkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJv bTogPT9VVEYtOD9xPz1DMz04OXJpY289MjBSb2xpbT89IDxlcmljb25yQGRpc3Jvb3Qub3JnPgot RGF0ZTogTW9uLCA0IEphbiAyMDIxIDIyOjQ4OjM0IC0wMzAwCi1TdWJqZWN0OiBbUEFUQ0hdIHN1 cHByZXNzIGlzYXNjaWkoKSBtYWNybyBmb3IgQysrCi0KLWFuYWxvZ291cyB0byBjb21taXQgYTYw NDU3Yzg0YTRiNTlhYjU2NGQ3ZjRhYmI2NjBhNzAyODNiYTk4ZC4KLQotZGlmZiAtLWdpdCBpbmNs dWRlL2N0eXBlLmggaW5jbHVkZS9jdHlwZS5oCi1pbmRleCA3OTM2NTM2Zi4uMzJiY2VmNGQgMTAw NjQ0Ci0tLS0gYS9pbmNsdWRlL2N0eXBlLmgKLSsrKyBiL2luY2x1ZGUvY3R5cGUuaAotQEAgLTY0 LDcgKzY0LDkgQEAgaW50ICAgaXNhc2NpaShpbnQpOwotIGludCAgIHRvYXNjaWkoaW50KTsKLSAj ZGVmaW5lIF90b2xvd2VyKGEpICgoYSl8MHgyMCkKLSAjZGVmaW5lIF90b3VwcGVyKGEpICgoYSkm MHg1ZikKLSsjaWZuZGVmIF9fY3BsdXNwbHVzCi0gI2RlZmluZSBpc2FzY2lpKGEpICgwID8gaXNh c2NpaShhKSA6ICh1bnNpZ25lZCkoYSkgPCAxMjgpCi0rI2VuZGlmCi0gCi0gI2VuZGlmCi0gCmRp ZmYgLS1naXQgYS9zcmNwa2dzL211c2wvcGF0Y2hlcy9tb19sb29rdXAucGF0Y2ggYi9zcmNwa2dz L211c2wvcGF0Y2hlcy9tb19sb29rdXAucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IGFlODZlMzNjOWM3MC4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvbXVzbC9wYXRjaGVz L21vX2xvb2t1cC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLURvIG5vdCBj cmFzaCB3aXRoIGEgTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlIHdoZW4gZGNuZ2V0dGV4dCgpCi1p cyBjYWxsZWQgd2l0aCBOVUxMIG1zZ2lkWzEyXSBhcmd1bWVudHMuCi0KLUZpeCBmb3IgaHR0cHM6 Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9pc3N1ZXMvMTIwNDIKLWFuZCBw cm9iYWJseSBvdGhlcnMuCi0KLQktLXh0cmFlbWUKLQotLS0tIGEvc3JjL2xvY2FsZS9fX21vX2xv b2t1cC5jLm9yaWcJMjAxOS0wNi0yNiAwOTo1NTozNi44NDMwMTI2NzQgKzAyMDAKLSsrKyBiL3Ny Yy9sb2NhbGUvX19tb19sb29rdXAuYwkyMDE5LTA2LTI2IDA5OjU2OjExLjUyOTQ0Mzk1NSArMDIw MAotQEAgLTEzLDcgKzEzLDcgQEAgY29uc3QgY2hhciAqX19tb19sb29rdXAoY29uc3Qgdm9pZCAq cCwgcwotIAl1aW50MzJfdCBiID0gMCwgbiA9IHN3YXBjKG1vWzJdLCBzdyk7Ci0gCXVpbnQzMl90 IG8gPSBzd2FwYyhtb1szXSwgc3cpOwotIAl1aW50MzJfdCB0ID0gc3dhcGMobW9bNF0sIHN3KTsK LS0JaWYgKG4+PXNpemUvNCB8fCBvPj1zaXplLTQqbiB8fCB0Pj1zaXplLTQqbiB8fCAoKG98dCkl NCkpCi0rCWlmICghcyB8fCBuPj1zaXplLzQgfHwgbz49c2l6ZS00Km4gfHwgdD49c2l6ZS00Km4g fHwgKChvfHQpJTQpKQotIAkJcmV0dXJuIDA7Ci0gCW8vPTQ7Ci0gCXQvPTQ7CmRpZmYgLS1naXQg YS9zcmNwa2dzL211c2wvcGF0Y2hlcy9wcGMtcHRfcmVncy5wYXRjaCBiL3NyY3BrZ3MvbXVzbC9w YXRjaGVzL3BwYy1wdF9yZWdzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0 NTgxNTMyMWJmMGYuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL211c2wvcGF0Y2hlcy9wcGMt cHRfcmVncy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM4ICswLDAgQEAKLWNvbW1pdCBjMjUx OGE4ZWZiNjUwN2YxYjQxYzNiMTJlMDNiMDZmOGYyMzE3YTFmCi1BdXRob3I6IFJpY2ggRmVsa2Vy IDxkYWxpYXNAYWVyaWZhbC5jeD4KLURhdGU6ICAgU2F0IE9jdCAxOSAxNTo1Mzo0MyAyMDE5IC0w NDAwCi0KLSAgICB1c2Ugc3RydWN0IHB0X3JlZ3MgKiByYXRoZXIgdGhhbiB2b2lkICogZm9yIHBv d2VycGNbNjRdIHNpZ2NvbnRleHQgcmVncwotICAgIAotICAgIHRoaXMgaXMgdG8gbWF0Y2ggdGhl IGtlcm5lbCBhbmQgZ2xpYmMgaW50ZXJmYWNlcy4gaGVyZSwgc3RydWN0IHB0X3JlZ3MKLSAgICBp cyBhbiBpbmNvbXBsZXRlIHR5cGUsIGJ1dCB0aGF0J3MgaGFybWxlc3MsIGFuZCBpZiBpdCdzIGNv bXBsZXRlZCBieQotICAgIGluY2x1c2lvbiBvZiBhbm90aGVyIGhlYWRlciB0aGVuIG1lbWJlcnMg b2YgdGhlIHN0cnVjdCBwb2ludGVkIHRvIGJ5Ci0gICAgdGhlIHJlZ3MgbWVtYmVyIGNhbiBiZSBh Y2Nlc3NlZCBkaXJlY3RseSB3aXRob3V0IGdvaW5nIHRocm91Z2ggYSBjYXN0Ci0gICAgb3IgaW50 ZXJtZWRpYXRlIHBvaW50ZXIgb2JqZWN0LgotCi1kaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL2Jp dHMvc2lnbmFsLmggYi9hcmNoL3Bvd2VycGMvYml0cy9zaWduYWwuaAotaW5kZXggMDZlZmIxMWMu LmMxYmYzY2FmIDEwMDY0NAotLS0tIGEvYXJjaC9wb3dlcnBjL2JpdHMvc2lnbmFsLmgKLSsrKyBi L2FyY2gvcG93ZXJwYy9iaXRzL3NpZ25hbC5oCi1AQCAtMjgsNyArMjgsNyBAQCBzdHJ1Y3Qgc2ln Y29udGV4dCB7Ci0gCWludCBzaWduYWw7Ci0gCXVuc2lnbmVkIGxvbmcgaGFuZGxlcjsKLSAJdW5z aWduZWQgbG9uZyBvbGRtYXNrOwotLQl2b2lkICpyZWdzOwotKwlzdHJ1Y3QgcHRfcmVncyAqcmVn czsKLSB9OwotIAotIHR5cGVkZWYgc3RydWN0IHsKLWRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGM2 NC9iaXRzL3NpZ25hbC5oIGIvYXJjaC9wb3dlcnBjNjQvYml0cy9zaWduYWwuaAotaW5kZXggNGRl YzIyYTUuLmQ1NDkzYjE4IDEwMDY0NAotLS0tIGEvYXJjaC9wb3dlcnBjNjQvYml0cy9zaWduYWwu aAotKysrIGIvYXJjaC9wb3dlcnBjNjQvYml0cy9zaWduYWwuaAotQEAgLTMyLDcgKzMyLDcgQEAg dHlwZWRlZiBzdHJ1Y3Qgc2lnY29udGV4dCB7Ci0gCWludCBfcGFkMDsKLSAJdW5zaWduZWQgbG9u ZyBoYW5kbGVyOwotIAl1bnNpZ25lZCBsb25nIG9sZG1hc2s7Ci0tCXZvaWQgKnJlZ3M7Ci0rCXN0 cnVjdCBwdF9yZWdzICpyZWdzOwotIAlncmVnc2V0X3QgZ3BfcmVnczsKLSAJZnByZWdzZXRfdCBm cF9yZWdzOwotIAl2cnJlZ3NldF90ICp2X3JlZ3M7CmRpZmYgLS1naXQgYS9zcmNwa2dzL211c2wv cGF0Y2hlcy9wcGM2NC1mcHJlZ3NldF90LnBhdGNoIGIvc3JjcGtncy9tdXNsL3BhdGNoZXMvcHBj NjQtZnByZWdzZXRfdC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTI2MTdi YTBlZjdkLi4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9tdXNsL3BhdGNoZXMvcHBjNjQtZnBy ZWdzZXRfdC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMxICswLDAgQEAKLWNvbW1pdCBjOWY0 OGNkZTBhMjI2NDFjZTNkYWY1NDU5NmE5ZWNlYmRhYjkxNDM1Ci1BdXRob3I6IFJpY2ggRmVsa2Vy IDxkYWxpYXNAYWVyaWZhbC5jeD4KLURhdGU6ICAgU2F0IE9jdCAxOSAxNTozOTo0NSAyMDE5IC0w NDAwCi0KLSAgICBmaXggZnByZWdzZXRfdCB0eXBlIG9uIHBvd2VycGM2NAotICAgIAotICAgIHRo ZSB1c2Vyc3BhY2UgdWNvbnRleHQgQVBJIGhhcyB0aGlzIGFzIGFuIGFycmF5IHJhdGhlciB0aGFu IGEKLSAgICBzdHJ1Y3R1cmUuCi0gICAgCi0gICAgY29tbWl0IDNjNTlhODY4OTU2NjM2YmM4YWRh ZmIxYjE2OGQwOTA4OTc2OTI1MzIgZml4ZWQgdGhlCi0gICAgY29ycmVzcG9uZGluZyBtaXN0YWtl IGZvciB2cnJlZ3NldF90LCBuYW1lbHkgdGhhdCB0aGUgb3JpZ2luYWwKLSAgICBwb3dlcnBjNjQg cG9ydCB1c2VkIGEgbWl4IG9mIHR5cGVzIGZyb20gMzItYml0IHBvd2VycGMgYW5kIHBvd2VycGM2 NAotICAgIHJhdGhlciB0aGFuIG1hdGNoaW5nIHRoZSA2NC1iaXQgdHlwZXMuCi0KLWRpZmYgLS1n aXQgYS9hcmNoL3Bvd2VycGM2NC9iaXRzL3NpZ25hbC5oIGIvYXJjaC9wb3dlcnBjNjQvYml0cy9z aWduYWwuaAotaW5kZXggMmNjMDYwNGMuLjRkZWMyMmE1IDEwMDY0NAotLS0tIGEvYXJjaC9wb3dl cnBjNjQvYml0cy9zaWduYWwuaAotKysrIGIvYXJjaC9wb3dlcnBjNjQvYml0cy9zaWduYWwuaAot QEAgLTksMTEgKzksNyBAQAotICNpZiBkZWZpbmVkKF9HTlVfU09VUkNFKSB8fCBkZWZpbmVkKF9C U0RfU09VUkNFKQotIAotIHR5cGVkZWYgdW5zaWduZWQgbG9uZyBncmVnX3QsIGdyZWdzZXRfdFs0 OF07Ci0tCi0tdHlwZWRlZiBzdHJ1Y3QgewotLQlkb3VibGUgZnByZWdzWzMyXTsKLS0JZG91Ymxl IGZwc2NyOwotLX0gZnByZWdzZXRfdDsKLSt0eXBlZGVmIGRvdWJsZSBmcHJlZ3NldF90WzMzXTsK LSAKLSB0eXBlZGVmIHN0cnVjdCB7Ci0gI2lmZGVmIF9fR05VQ19fCmRpZmYgLS1naXQgYS9zcmNw a2dzL211c2wvcGF0Y2hlcy9wcGNsZS5wYXRjaCBiL3NyY3BrZ3MvbXVzbC9wYXRjaGVzL3BwY2xl LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZDQ5MzM4YTVhMGYuLjAwMDAw MDAwMDAwMAotLS0gYS9zcmNwa2dzL211c2wvcGF0Y2hlcy9wcGNsZS5wYXRjaAorKysgL2Rldi9u dWxsCkBAIC0xLDI0ICswLDAgQEAKLUZyb20gMjBkZmMyMDAyNDgyYTIxYjk1NWI3MTBhZjExOWEw MWFlY2VlNzg0YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IERhbmllbCBLb2xlc2Eg PGRhbmllbEBvY3RhZm9yZ2Uub3JnPgotRGF0ZTogVHVlLCAxNSBEZWMgMjAyMCAyMDo0MjoxNyAr MDEwMAotU3ViamVjdDogW1BBVENIXSBhZGQgcHBjMzIgbGUgc3ViYXJjaAotCi0tLS0KLSBjb25m aWd1cmUgfCAxICsKLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKLQotZGlmZiAtLWdp dCBjb25maWd1cmUgY29uZmlndXJlCi1pbmRleCA4NjgwMTI4Li5mMWNhNThlIDEwMDc1NQotLS0t IGEvY29uZmlndXJlCi0rKysgYi9jb25maWd1cmUKLUBAIC02NDUsNiArNjQ1LDcgQEAgZmkKLSBp ZiB0ZXN0ICIkQVJDSCIgPSAicG93ZXJwYyIgOyB0aGVuCi0gdHJ5Y3BwaWYgIl9fTk9fRlBSU19f ICYmICFfU09GVF9GTE9BVCIgIiR0IiAmJiBmYWlsIFwKLSAgICIkMDogZXJyb3I6IGNvbXBpbGVy J3MgZmxvYXRpbmcgcG9pbnQgY29uZmlndXJhdGlvbiBpcyB1bnN1cHBvcnRlZCIKLSt0cnljcHBp ZiBfX0xJVFRMRV9FTkRJQU5fXyAiJHQiICYmIFNVQkFSQ0g9JHtTVUJBUkNIfWxlCi0gdHJ5Y3Bw aWYgX1NPRlRfRkxPQVQgIiR0IiAmJiBTVUJBUkNIPSR7U1VCQVJDSH0tc2YKLSBmaQotIAotLS0g Ci0yLjI5LjIKLQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9tdXNsL3BhdGNoZXMvd29ya19hcm91bmRf bGludXhfYnVnX2luX3JlYWRsaW5rX3N5c2NhbGxfd2l0aF96ZXJvX2J1ZmZlci5wYXRjaCBiL3Ny Y3BrZ3MvbXVzbC9wYXRjaGVzL3dvcmtfYXJvdW5kX2xpbnV4X2J1Z19pbl9yZWFkbGlua19zeXNj YWxsX3dpdGhfemVyb19idWZmZXIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDMyODY0MzJlYmVhMi4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvbXVzbC9wYXRjaGVzL3dv cmtfYXJvdW5kX2xpbnV4X2J1Z19pbl9yZWFkbGlua19zeXNjYWxsX3dpdGhfemVyb19idWZmZXIu cGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1OSArMCwwIEBACi1Gcm9tIGUyZmE3MjBiZTcwMjRj Y2U0ZmM0ODlmMzg3NzQ3NmQzNWRhNDhlZTIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9t OiBSaWNoIEZlbGtlciA8ZGFsaWFzQGFlcmlmYWwuY3g+Ci1EYXRlOiBNb24sIDIzIE5vdiAyMDIw IDE5OjQ0OjE5IC0wNTAwCi1TdWJqZWN0OiBbUEFUQ0hdIHdvcmsgYXJvdW5kIGxpbnV4IGJ1ZyBp biByZWFkbGluayBzeXNjYWxsIHdpdGggemVybyBidWZmZXIKLSBzaXplCi0KLWxpbnV4IGZhaWxz IHdpdGggRUlOVkFMIHdoZW4gYSB6ZXJvIGJ1ZmZlciBzaXplIGlzIHBhc3NlZCB0byB0aGUKLXN5 c2NhbGwuIHRoaXMgaXMgbm9uLWNvbmZvcm1pbmcgYmVjYXVzZSBQT1NJWCBhbHJlYWR5IGRlZmlu ZXMgRUlOVkFMCi13aXRoIGEgc2lnbmlmaWNhbnRseSBkaWZmZXJlbnQgbWVhbmluZzogdGhlIHRh cmdldCBpcyBub3QgYSBzeW1saW5rLgotCi1zaW5jZSB0aGUgcmVxdWVzdCBpcyBzZW1hbnRpY2Fs bHkgdmFsaWQsIHBhdGNoIGl0IHVwIGJ5IHVzaW5nIGEgZHVtbXkKLWJ1ZmZlciBvZiBsZW5ndGgg b25lLCBhbmQgdHJ1bmNhdGluZyB0aGUgcmV0dXJuIHZhbHVlIHRvIHplcm8gaWYgaXQKLXN1Y2Nl ZWRzLgotLS0tCi0gc3JjL3VuaXN0ZC9yZWFkbGluay5jICAgfCAxMSArKysrKysrKystLQotIHNy Yy91bmlzdGQvcmVhZGxpbmthdC5jIHwgIDkgKysrKysrKystCi0gMiBmaWxlcyBjaGFuZ2VkLCAx NyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3VuaXN0 ZC9yZWFkbGluay5jIGIvc3JjL3VuaXN0ZC9yZWFkbGluay5jCi1pbmRleCBhMTUyZDUyNDkuLjMy ZjQ1MzdmOSAxMDA2NDQKLS0tLSBhL3NyYy91bmlzdGQvcmVhZGxpbmsuYwotKysrIGIvc3JjL3Vu aXN0ZC9yZWFkbGluay5jCi1AQCAtNCw5ICs0LDE2IEBACi0gCi0gc3NpemVfdCByZWFkbGluayhj b25zdCBjaGFyICpyZXN0cmljdCBwYXRoLCBjaGFyICpyZXN0cmljdCBidWYsIHNpemVfdCBidWZz aXplKQotIHsKLSsJY2hhciBkdW1teVsxXTsKLSsJaWYgKCFidWZzaXplKSB7Ci0rCQlidWYgPSBk dW1teTsKLSsJCWJ1ZnNpemUgPSAxOwotKwl9Ci0gI2lmZGVmIFNZU19yZWFkbGluawotLQlyZXR1 cm4gc3lzY2FsbChTWVNfcmVhZGxpbmssIHBhdGgsIGJ1ZiwgYnVmc2l6ZSk7Ci0rCWludCByID0g X19zeXNjYWxsKFNZU19yZWFkbGluaywgcGF0aCwgYnVmLCBidWZzaXplKTsKLSAjZWxzZQotLQly ZXR1cm4gc3lzY2FsbChTWVNfcmVhZGxpbmthdCwgQVRfRkRDV0QsIHBhdGgsIGJ1ZiwgYnVmc2l6 ZSk7Ci0rCWludCByID0gX19zeXNjYWxsKFNZU19yZWFkbGlua2F0LCBBVF9GRENXRCwgcGF0aCwg YnVmLCBidWZzaXplKTsKLSAjZW5kaWYKLSsJaWYgKGJ1ZiA9PSBkdW1teSAmJiByID4gMCkgciA9 IDA7Ci0rCXJldHVybiBfX3N5c2NhbGxfcmV0KHIpOwotIH0KLWRpZmYgLS1naXQgYS9zcmMvdW5p c3RkL3JlYWRsaW5rYXQuYyBiL3NyYy91bmlzdGQvcmVhZGxpbmthdC5jCi1pbmRleCA5YWY0NWNk NWEuLmY3OWQzZDE0MiAxMDA2NDQKLS0tLSBhL3NyYy91bmlzdGQvcmVhZGxpbmthdC5jCi0rKysg Yi9zcmMvdW5pc3RkL3JlYWRsaW5rYXQuYwotQEAgLTMsNSArMywxMiBAQAotIAotIHNzaXplX3Qg cmVhZGxpbmthdChpbnQgZmQsIGNvbnN0IGNoYXIgKnJlc3RyaWN0IHBhdGgsIGNoYXIgKnJlc3Ry aWN0IGJ1Ziwgc2l6ZV90IGJ1ZnNpemUpCi0gewotLQlyZXR1cm4gc3lzY2FsbChTWVNfcmVhZGxp bmthdCwgZmQsIHBhdGgsIGJ1ZiwgYnVmc2l6ZSk7Ci0rCWNoYXIgZHVtbXlbMV07Ci0rCWlmICgh YnVmc2l6ZSkgewotKwkJYnVmID0gZHVtbXk7Ci0rCQlidWZzaXplID0gMTsKLSsJfQotKwlpbnQg ciA9IF9fc3lzY2FsbChTWVNfcmVhZGxpbmthdCwgZmQsIHBhdGgsIGJ1ZiwgYnVmc2l6ZSk7Ci0r CWlmIChidWYgPT0gZHVtbXkgJiYgciA+IDApIHIgPSAwOwotKwlyZXR1cm4gX19zeXNjYWxsX3Jl dChyKTsKLSB9CmRpZmYgLS1naXQgYS9zcmNwa2dzL211c2wvdGVtcGxhdGUgYi9zcmNwa2dzL211 c2wvdGVtcGxhdGUKaW5kZXggYzc3Y2MyYjZjNDA1Li43MTc5YjQzYjNmNWEgMTAwNjQ0Ci0tLSBh L3NyY3BrZ3MvbXVzbC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL211c2wvdGVtcGxhdGUKQEAgLTEs OCArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdtdXNsJwogcGtnbmFtZT1tdXNsCi1yZXZl cnRzPSIxLjIuMF8xIgotdmVyc2lvbj0xLjEuMjQKLXJldmlzaW9uPTE1Cit2ZXJzaW9uPTEuMi4z CityZXZpc2lvbj0xCiBhcmNocz0iKi1tdXNsIgogYm9vdHN0cmFwPXllcwogYnVpbGRfc3R5bGU9 Z251LWNvbmZpZ3VyZQpAQCAtMTIsNyArMTEsNyBAQCBtYWludGFpbmVyPSJFbm5vIEJvbGFuZCA8 Z290dG94QHZvaWRsaW51eC5vcmc+IgogbGljZW5zZT0iTUlUIgogaG9tZXBhZ2U9Imh0dHBzOi8v bXVzbC5saWJjLm9yZy8iCiBkaXN0ZmlsZXM9Imh0dHBzOi8vbXVzbC5saWJjLm9yZy9yZWxlYXNl cy9tdXNsLSR7dmVyc2lvbn0udGFyLmd6IgotY2hlY2tzdW09MTM3MGM5YTgxMmIyY2YyYTdkOTI4 MDI1MTBjY2EwMDU4Y2MzN2U2NmE3YmVkZDcwMDUxZjBhMzQwMTUwMjJhMworY2hlY2tzdW09N2Q1 YjBiNjA2MjUyMWU0NjI3ZTA5OWU0YzlkYzgyNDhkMzJhMzAyODVlOTU5YjdlZWNhYTc4MGNmOGNm ZDRhNAogCiBub3N0cmlwX2ZpbGVzPSJsaWJjLnNvIgogc2hsaWJfcHJvdmlkZXM9ImxpYmMuc28i CkBAIC0yNCw2ICsyMyw3IEBAIHBvc3RfYnVpbGQoKSB7CiAJJENDICRDRkxBR1MgJExERkxBR1Mg LWZwaWUgLWMgJHtGSUxFU0RJUn0vX19zdGFja19jaGtfZmFpbF9sb2NhbC5jIC1vIF9fc3RhY2tf Y2hrX2ZhaWxfbG9jYWwubwogCSRBUiByIGxpYnNzcF9ub25zaGFyZWQuYSBfX3N0YWNrX2Noa19m YWlsX2xvY2FsLm8KIH0KKwogZG9faW5zdGFsbCgpIHsKIAkjIE1vdmUgZXZlcnl0aGluZyB0byAv dXNyLgogCXZta2RpciB1c3IvbGliCgpGcm9tIGYzYjQ4MDFhMmE5ZDdhM2QyNzNjNzAwOWM0NWY0 OTI0YjQ1NGVhY2EgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IGRrd28gPG5pY29sb3Bp YXp6YWx1bmdhQGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAyOSBNYXIgMjAyMyAxNTowODoxNiAtMDQw MApTdWJqZWN0OiBbUEFUQ0ggMDIvMTddIGJhc2UtY2hyb290OiBidW1wIG11c2wtZGV2ZWwgdmVy c2lvbgoKLS0tCiBzcmNwa2dzL2Jhc2UtY2hyb290L3RlbXBsYXRlIHwgNiArKystLS0KIDEgZmls ZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv c3JjcGtncy9iYXNlLWNocm9vdC90ZW1wbGF0ZSBiL3NyY3BrZ3MvYmFzZS1jaHJvb3QvdGVtcGxh dGUKaW5kZXggZTZmMTY4NGVkMzcwLi43OTNlYjUzM2QyYTcgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mv YmFzZS1jaHJvb3QvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9iYXNlLWNocm9vdC90ZW1wbGF0ZQpA QCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2Jhc2UtY2hyb290JwogcGtnbmFt ZT1iYXNlLWNocm9vdAotdmVyc2lvbj0wLjY3Ci1yZXZpc2lvbj0yCit2ZXJzaW9uPTAuNjgKK3Jl dmlzaW9uPTEKIGJvb3RzdHJhcD15ZXMKIGJ1aWxkX3N0eWxlPW1ldGEKIHNob3J0X2Rlc2M9Ik1p bmltYWwgc2V0IG9mIHBhY2thZ2VzIHJlcXVpcmVkIGZvciBjaHJvb3Qgd2l0aCB4YnBzLXNyYyIK QEAgLTExLDcgKzExLDcgQEAgaG9tZXBhZ2U9Imh0dHA6Ly93d3cudm9pZGxpbnV4Lm9yZyIKIHJl cG9zaXRvcnk9Ym9vdHN0cmFwCiAKIGNhc2UgIiRYQlBTX1RBUkdFVF9MSUJDIiBpbgotCW11c2wp IGRlcGVuZHM9Im11c2wtZGV2ZWwiOzsKKwltdXNsKSBkZXBlbmRzPSJtdXNsLWRldmVsPj0xLjIu M18xIjs7CiAJKikgZGVwZW5kcz0iZ2xpYmMtZGV2ZWwgZ2xpYmMtbG9jYWxlcyI7OwogZXNhYwog CgpGcm9tIDI5OTc1ZWU5OGJiMThkZGEwMWRhZjI5NTZkODIxY2UwOTExOTM4Y2IgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IGRrd28gPG5pY29sb3BpYXp6YWx1bmdhQGdtYWlsLmNvbT4K RGF0ZTogV2VkLCAyOSBNYXIgMjAyMyAxNTowOTowMSAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDMv MTddIGJhc2UtZGV2ZWw6IGJ1bXAgbXVzbC1kZXZlbCB2ZXJzaW9uCgotLS0KIHNyY3BrZ3MvYmFz ZS1kZXZlbC90ZW1wbGF0ZSB8IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygr KSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Jhc2UtZGV2ZWwvdGVtcGxh dGUgYi9zcmNwa2dzL2Jhc2UtZGV2ZWwvdGVtcGxhdGUKaW5kZXggNTcwZjY5OWNhOTYwLi41NjEw MTM4NWM0ZjcgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvYmFzZS1kZXZlbC90ZW1wbGF0ZQorKysgYi9z cmNwa2dzL2Jhc2UtZGV2ZWwvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZp bGUgZm9yICdiYXNlLWRldmVsJwogcGtnbmFtZT1iYXNlLWRldmVsCiB2ZXJzaW9uPTIwMTgxMDAz Ci1yZXZpc2lvbj0yCityZXZpc2lvbj0zCiBidWlsZF9zdHlsZT1tZXRhCiBkZXBlbmRzPSJhdXRv Y29uZiBhdXRvbWFrZSBiYyBiaW51dGlscyBiaXNvbiBlZCBmbGV4IGdjYyBnZXR0ZXh0CiAgZ3Jv ZmYgbGlidG9vbCBtNCBtYWtlIHBhdGNoIHBrZy1jb25maWcgdGV4aW5mbyB1bnppcCB4eiIKQEAg LTEyLDYgKzEyLDYgQEAgaG9tZXBhZ2U9Imh0dHA6Ly93d3cudm9pZGxpbnV4Lm9yZy8iCiBsaWIz MmRpc2FibGVkPXllcwogCiBjYXNlICIkWEJQU19UQVJHRVRfTUFDSElORSIgaW4KLQkqLW11c2wp IGRlcGVuZHMrPSIgbXVzbC1kZXZlbCI7OworCSotbXVzbCkgZGVwZW5kcys9IiBtdXNsLWRldmVs Pj0xLjIuM18xIjs7CiAJKikgZGVwZW5kcys9IiBnbGliYy1kZXZlbCI7OwogZXNhYwoKRnJvbSBi YmY3NmVlNWJkZTZhZTg0MjZiYzdhYjEwMWEzMGYxOWI5NDMyMWM4IE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiBka3dvIDxuaWNvbG9waWF6emFsdW5nYUBnbWFpbC5jb20+CkRhdGU6IFdl ZCwgMjkgTWFyIDIwMjMgMTU6MTM6MDMgLTA0MDAKU3ViamVjdDogW1BBVENIIDA0LzE3XSBjcm9z cy1hYXJjaDY0LWxpbnV4LW11c2w6IGJ1bXAgbXVzbCB2ZXJzaW9uCgotLS0KIHNyY3BrZ3MvY3Jv c3MtYWFyY2g2NC1saW51eC1tdXNsL3RlbXBsYXRlIHwgNCArKy0tCiAxIGZpbGUgY2hhbmdlZCwg MiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY3Jv c3MtYWFyY2g2NC1saW51eC1tdXNsL3RlbXBsYXRlIGIvc3JjcGtncy9jcm9zcy1hYXJjaDY0LWxp bnV4LW11c2wvdGVtcGxhdGUKaW5kZXggODAzOGIyOGQ3MGFkLi5mMzYwNTU1MjU2OWQgMTAwNjQ0 Ci0tLSBhL3NyY3BrZ3MvY3Jvc3MtYWFyY2g2NC1saW51eC1tdXNsL3RlbXBsYXRlCisrKyBiL3Ny Y3BrZ3MvY3Jvc3MtYWFyY2g2NC1saW51eC1tdXNsL3RlbXBsYXRlCkBAIC0xLDEyICsxLDEyIEBA CiAjIFRlbXBsYXRlIGZpbGUgZm9yICdjcm9zcy1hYXJjaDY0LWxpbnV4LW11c2wnCiBfYmludXRp bHNfdmVyc2lvbj0yLjM5CiBfZ2NjX3ZlcnNpb249MTIuMi4wCi1fbXVzbF92ZXJzaW9uPTEuMS4y NAorX211c2xfdmVyc2lvbj0xLjIuMwogX2xpbnV4X3ZlcnNpb249NS4xMC40CiBfbGlidWNvbnRl eHRfdmVyc2lvbj0xLjAKIHBrZ25hbWU9Y3Jvc3MtYWFyY2g2NC1saW51eC1tdXNsCiB2ZXJzaW9u PTAuMzUKLXJldmlzaW9uPTMKK3JldmlzaW9uPTQKIGJ1aWxkX3N0eWxlPXZvaWQtY3Jvc3MKIGNv bmZpZ3VyZV9hcmdzPSItLXdpdGgtYXJjaD1hcm12OC1hIgogaG9zdG1ha2VkZXBlbmRzPSJ0ZXhp bmZvIHRhciBnY2Mtb2JqYyBnY2MtZ28gZmxleCBwZXJsIHB5dGhvbjMiCgpGcm9tIDE4ZjliNWVm OGYzYzMyYzlmNDgzMTVmYmI5YzhjNzZkY2VhMzhhOTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206IGRrd28gPG5pY29sb3BpYXp6YWx1bmdhQGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAyOSBN YXIgMjAyMyAxNToxMzowNCAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDUvMTddIGNyb3NzLWFybS1s aW51eC1tdXNsZWFiaTogYnVtcCBtdXNsIHZlcnNpb24KCi0tLQogc3JjcGtncy9jcm9zcy1hcm0t bGludXgtbXVzbGVhYmkvdGVtcGxhdGUgfCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2Vy dGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jcm9zcy1hcm0t bGludXgtbXVzbGVhYmkvdGVtcGxhdGUgYi9zcmNwa2dzL2Nyb3NzLWFybS1saW51eC1tdXNsZWFi aS90ZW1wbGF0ZQppbmRleCBlZTU5OTMxZDZkOTMuLjdjYTE5YTg5MTU2YSAxMDA2NDQKLS0tIGEv c3JjcGtncy9jcm9zcy1hcm0tbGludXgtbXVzbGVhYmkvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9j cm9zcy1hcm0tbGludXgtbXVzbGVhYmkvdGVtcGxhdGUKQEAgLTEsMTIgKzEsMTIgQEAKICMgVGVt cGxhdGUgZmlsZSBmb3IgJ2Nyb3NzLWFybS1saW51eC1tdXNsZWFiaScKIF9iaW51dGlsc192ZXJz aW9uPTIuMzkKIF9nY2NfdmVyc2lvbj0xMi4yLjAKLV9tdXNsX3ZlcnNpb249MS4xLjI0CitfbXVz bF92ZXJzaW9uPTEuMi4zCiBfbGludXhfdmVyc2lvbj01LjEwLjQKIF9saWJ1Y29udGV4dF92ZXJz aW9uPTEuMAogcGtnbmFtZT1jcm9zcy1hcm0tbGludXgtbXVzbGVhYmkKIHZlcnNpb249MC4zNQot cmV2aXNpb249MworcmV2aXNpb249NAogYnVpbGRfc3R5bGU9dm9pZC1jcm9zcwogY29uZmlndXJl X2FyZ3M9Ii0td2l0aC1hcmNoPWFybXY1dGUgLS13aXRoLWZsb2F0PXNvZnQiCiBob3N0bWFrZWRl cGVuZHM9InRleGluZm8gdGFyIGdjYy1vYmpjIGdjYy1nbyBmbGV4IHBlcmwgcHl0aG9uMyIKCkZy b20gOWU4ZTdlYTQ1Mzc2ZWUzOTQwZDUyYzMyMDdhYTUwN2EyNjU3MjdhMiBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKRnJvbTogZGt3byA8bmljb2xvcGlhenphbHVuZ2FAZ21haWwuY29tPgpEYXRl OiBXZWQsIDI5IE1hciAyMDIzIDE1OjEzOjA0IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAwNi8xN10g Y3Jvc3MtYXJtLWxpbnV4LW11c2xlYWJpaGY6IGJ1bXAgbXVzbCB2ZXJzaW9uCgotLS0KIHNyY3Br Z3MvY3Jvc3MtYXJtLWxpbnV4LW11c2xlYWJpaGYvdGVtcGxhdGUgfCA0ICsrLS0KIDEgZmlsZSBj aGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3Jj cGtncy9jcm9zcy1hcm0tbGludXgtbXVzbGVhYmloZi90ZW1wbGF0ZSBiL3NyY3BrZ3MvY3Jvc3Mt YXJtLWxpbnV4LW11c2xlYWJpaGYvdGVtcGxhdGUKaW5kZXggMzMzZGI5NTQyNWRkLi5kMDJiNjA5 MTUzZGQgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvY3Jvc3MtYXJtLWxpbnV4LW11c2xlYWJpaGYvdGVt cGxhdGUKKysrIGIvc3JjcGtncy9jcm9zcy1hcm0tbGludXgtbXVzbGVhYmloZi90ZW1wbGF0ZQpA QCAtMSwxMiArMSwxMiBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnY3Jvc3MtYXJtLWxpbnV4LW11 c2xlYWJpaGYnCiBfYmludXRpbHNfdmVyc2lvbj0yLjM5CiBfZ2NjX3ZlcnNpb249MTIuMi4wCi1f bXVzbF92ZXJzaW9uPTEuMS4yNAorX211c2xfdmVyc2lvbj0xLjIuMwogX2xpbnV4X3ZlcnNpb249 NS4xMC40CiBfbGlidWNvbnRleHRfdmVyc2lvbj0xLjAKIHBrZ25hbWU9Y3Jvc3MtYXJtLWxpbnV4 LW11c2xlYWJpaGYKIHZlcnNpb249MC4zNQotcmV2aXNpb249MworcmV2aXNpb249NAogYnVpbGRf c3R5bGU9dm9pZC1jcm9zcwogY29uZmlndXJlX2FyZ3M9Ii0td2l0aC1hcmNoPWFybXY2IC0td2l0 aC1mcHU9dmZwIC0td2l0aC1mbG9hdD1oYXJkIgogaG9zdG1ha2VkZXBlbmRzPSJ0ZXhpbmZvIHRh ciBnY2Mtb2JqYyBnY2MtZ28gZmxleCBwZXJsIHB5dGhvbjMiCgpGcm9tIDk2MDFlNzQwZTI2ZDYx YWQ4NGJlNmI4YmUzNGVkZjk5ZjgyNDUwZmMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206 IGRrd28gPG5pY29sb3BpYXp6YWx1bmdhQGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAyOSBNYXIgMjAy MyAxNToxMzowNCAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDcvMTddIGNyb3NzLWFybXY3bC1saW51 eC1tdXNsZWFiaWhmOiBidW1wIG11c2wgdmVyc2lvbgoKLS0tCiBzcmNwa2dzL2Nyb3NzLWFybXY3 bC1saW51eC1tdXNsZWFiaWhmL3RlbXBsYXRlIHwgNCArKy0tCiAxIGZpbGUgY2hhbmdlZCwgMiBp bnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY3Jvc3Mt YXJtdjdsLWxpbnV4LW11c2xlYWJpaGYvdGVtcGxhdGUgYi9zcmNwa2dzL2Nyb3NzLWFybXY3bC1s aW51eC1tdXNsZWFiaWhmL3RlbXBsYXRlCmluZGV4IDNjNGVhMjM1NzY2MS4uYzY4NjE1ZmUxNzFk IDEwMDY0NAotLS0gYS9zcmNwa2dzL2Nyb3NzLWFybXY3bC1saW51eC1tdXNsZWFiaWhmL3RlbXBs YXRlCisrKyBiL3NyY3BrZ3MvY3Jvc3MtYXJtdjdsLWxpbnV4LW11c2xlYWJpaGYvdGVtcGxhdGUK QEAgLTEsMTIgKzEsMTIgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2Nyb3NzLWFybXY3bC1saW51 eC1tdXNsZWFiaWhmJwogX2JpbnV0aWxzX3ZlcnNpb249Mi4zOQogX2djY192ZXJzaW9uPTEyLjIu MAotX211c2xfdmVyc2lvbj0xLjEuMjQKK19tdXNsX3ZlcnNpb249MS4yLjMKIF9saW51eF92ZXJz aW9uPTUuMTAuNAogX2xpYnVjb250ZXh0X3ZlcnNpb249MS4wCiBwa2duYW1lPWNyb3NzLWFybXY3 bC1saW51eC1tdXNsZWFiaWhmCiB2ZXJzaW9uPTAuMzUKLXJldmlzaW9uPTMKK3JldmlzaW9uPTQK IGJ1aWxkX3N0eWxlPXZvaWQtY3Jvc3MKIGNvbmZpZ3VyZV9hcmdzPSItLXdpdGgtYXJjaD1hcm12 Ny1hIC0td2l0aC1mcHU9dmZwdjMgLS13aXRoLWZsb2F0PWhhcmQiCiBob3N0bWFrZWRlcGVuZHM9 InRleGluZm8gdGFyIGdjYy1vYmpjIGdjYy1nbyBmbGV4IHBlcmwgcHl0aG9uMyIKCkZyb20gNzk4 NWVkNWFlMDQ4OWZhM2YyNGIwZTE1NjkwMTNlN2ViNWYyMTg4NyBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogZGt3byA8bmljb2xvcGlhenphbHVuZ2FAZ21haWwuY29tPgpEYXRlOiBXZWQs IDI5IE1hciAyMDIzIDE1OjEzOjA1IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAwOC8xN10gY3Jvc3Mt aTY4Ni1saW51eC1tdXNsOiBidW1wIG11c2wgdmVyc2lvbgoKLS0tCiBzcmNwa2dzL2Nyb3NzLWk2 ODYtbGludXgtbXVzbC90ZW1wbGF0ZSB8IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0 aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nyb3NzLWk2ODYt bGludXgtbXVzbC90ZW1wbGF0ZSBiL3NyY3BrZ3MvY3Jvc3MtaTY4Ni1saW51eC1tdXNsL3RlbXBs YXRlCmluZGV4IDZkYzNmZGNiYTA3YS4uMzM5Y2Y0M2YyNWZhIDEwMDY0NAotLS0gYS9zcmNwa2dz L2Nyb3NzLWk2ODYtbGludXgtbXVzbC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2Nyb3NzLWk2ODYt bGludXgtbXVzbC90ZW1wbGF0ZQpAQCAtMSwxMiArMSwxMiBAQAogIyBUZW1wbGF0ZSBmaWxlIGZv ciAnY3Jvc3MtaTY4Ni1saW51eC1tdXNsJwogX2JpbnV0aWxzX3ZlcnNpb249Mi4zOQogX2djY192 ZXJzaW9uPTEyLjIuMAotX211c2xfdmVyc2lvbj0xLjEuMjQKK19tdXNsX3ZlcnNpb249MS4yLjMK IF9saW51eF92ZXJzaW9uPTUuMTAuNAogX2xpYnVjb250ZXh0X3ZlcnNpb249MS4wCiBwa2duYW1l PWNyb3NzLWk2ODYtbGludXgtbXVzbAogdmVyc2lvbj0wLjM1Ci1yZXZpc2lvbj0zCityZXZpc2lv bj00CiBidWlsZF9zdHlsZT12b2lkLWNyb3NzCiBob3N0bWFrZWRlcGVuZHM9InRleGluZm8gdGFy IGdjYy1vYmpjIGdjYy1nbyBmbGV4IHBlcmwgcHl0aG9uMyIKIG1ha2VkZXBlbmRzPSJpc2wxNS1k ZXZlbCBsaWJtcGMtZGV2ZWwgZ21wLWRldmVsIG1wZnItZGV2ZWwKCkZyb20gNDUxNzE2YzMzYTFl NWQyYWFmODFhOTgxMDAwNDhkYjA3MWVhNzc1MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogZGt3byA8bmljb2xvcGlhenphbHVuZ2FAZ21haWwuY29tPgpEYXRlOiBXZWQsIDI5IE1hciAy MDIzIDE1OjEzOjA1IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAwOS8xN10gY3Jvc3MtbWlwc2VsLWxp bnV4LW11c2w6IGJ1bXAgbXVzbCB2ZXJzaW9uCgotLS0KIHNyY3BrZ3MvY3Jvc3MtbWlwc2VsLWxp bnV4LW11c2wvdGVtcGxhdGUgfCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMo KyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jcm9zcy1taXBzZWwtbGlu dXgtbXVzbC90ZW1wbGF0ZSBiL3NyY3BrZ3MvY3Jvc3MtbWlwc2VsLWxpbnV4LW11c2wvdGVtcGxh dGUKaW5kZXggMjMyNDdkNWJjOTcyLi4xZDUzMjkwYmRlYjAgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mv Y3Jvc3MtbWlwc2VsLWxpbnV4LW11c2wvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9jcm9zcy1taXBz ZWwtbGludXgtbXVzbC90ZW1wbGF0ZQpAQCAtMSwxMSArMSwxMSBAQAogIyBUZW1wbGF0ZSBmaWxl IGZvciAnY3Jvc3MtbWlwc2VsLWxpbnV4LW11c2wnCiBfYmludXRpbHNfdmVyc2lvbj0yLjM5CiBf Z2NjX3ZlcnNpb249MTIuMi4wCi1fbXVzbF92ZXJzaW9uPTEuMS4yNAorX211c2xfdmVyc2lvbj0x LjIuMwogX2xpbnV4X3ZlcnNpb249NS4xMC40CiBwa2duYW1lPWNyb3NzLW1pcHNlbC1saW51eC1t dXNsCiB2ZXJzaW9uPTAuMzUKLXJldmlzaW9uPTMKK3JldmlzaW9uPTQKIGJ1aWxkX3N0eWxlPXZv aWQtY3Jvc3MKIGNvbmZpZ3VyZV9hcmdzPSItLXdpdGgtYXJjaD1taXBzMzJyMiAtLXdpdGgtZmxv YXQ9c29mdAogIC0td2l0aC1saW5rZXItaGFzaC1zdHlsZT1zeXN2IgoKRnJvbSAwZGY4OWE1YTFj ZTMwZTFjYmNkMzg4MGYzZGU5NzFlY2E0NWEzMzU4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpG cm9tOiBka3dvIDxuaWNvbG9waWF6emFsdW5nYUBnbWFpbC5jb20+CkRhdGU6IFdlZCwgMjkgTWFy IDIwMjMgMTU6MTM6MDUgLTA0MDAKU3ViamVjdDogW1BBVENIIDEwLzE3XSBjcm9zcy1taXBzZWwt bGludXgtbXVzbGhmOiBidW1wIG11c2wgdmVyc2lvbgoKLS0tCiBzcmNwa2dzL2Nyb3NzLW1pcHNl bC1saW51eC1tdXNsaGYvdGVtcGxhdGUgfCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2Vy dGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jcm9zcy1taXBz ZWwtbGludXgtbXVzbGhmL3RlbXBsYXRlIGIvc3JjcGtncy9jcm9zcy1taXBzZWwtbGludXgtbXVz bGhmL3RlbXBsYXRlCmluZGV4IDhjYzIwOGM3ZTg2ZC4uM2VhMjgwNGIxOTExIDEwMDY0NAotLS0g YS9zcmNwa2dzL2Nyb3NzLW1pcHNlbC1saW51eC1tdXNsaGYvdGVtcGxhdGUKKysrIGIvc3JjcGtn cy9jcm9zcy1taXBzZWwtbGludXgtbXVzbGhmL3RlbXBsYXRlCkBAIC0xLDExICsxLDExIEBACiAj IFRlbXBsYXRlIGZpbGUgZm9yICdjcm9zcy1taXBzZWwtbGludXgtbXVzbGhmJwogX2JpbnV0aWxz X3ZlcnNpb249Mi4zOQogX2djY192ZXJzaW9uPTEyLjIuMAotX211c2xfdmVyc2lvbj0xLjEuMjQK K19tdXNsX3ZlcnNpb249MS4yLjMKIF9saW51eF92ZXJzaW9uPTUuMTAuNAogcGtnbmFtZT1jcm9z cy1taXBzZWwtbGludXgtbXVzbGhmCiB2ZXJzaW9uPTAuMzUKLXJldmlzaW9uPTMKK3JldmlzaW9u PTQKIGJ1aWxkX3N0eWxlPXZvaWQtY3Jvc3MKIGNvbmZpZ3VyZV9hcmdzPSItLXdpdGgtYXJjaD1t aXBzMzJyMiAtLXdpdGgtZmxvYXQ9aGFyZAogIC0td2l0aC1saW5rZXItaGFzaC1zdHlsZT1zeXN2 IgoKRnJvbSA1YWRlM2U3NDk5NDk1NzY5MTU0OTQ4YzUwMzgzOTAwMzg3YmIwMGFjIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBka3dvIDxuaWNvbG9waWF6emFsdW5nYUBnbWFpbC5jb20+ CkRhdGU6IFdlZCwgMjkgTWFyIDIwMjMgMTU6MTM6MDYgLTA0MDAKU3ViamVjdDogW1BBVENIIDEx LzE3XSBjcm9zcy1taXBzLWxpbnV4LW11c2w6IGJ1bXAgbXVzbCB2ZXJzaW9uCgotLS0KIHNyY3Br Z3MvY3Jvc3MtbWlwcy1saW51eC1tdXNsL3RlbXBsYXRlIHwgNCArKy0tCiAxIGZpbGUgY2hhbmdl ZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv Y3Jvc3MtbWlwcy1saW51eC1tdXNsL3RlbXBsYXRlIGIvc3JjcGtncy9jcm9zcy1taXBzLWxpbnV4 LW11c2wvdGVtcGxhdGUKaW5kZXggZjc4Mzk2MWQ3MGQyLi43Y2U5NmE3MzBlYjQgMTAwNjQ0Ci0t LSBhL3NyY3BrZ3MvY3Jvc3MtbWlwcy1saW51eC1tdXNsL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mv Y3Jvc3MtbWlwcy1saW51eC1tdXNsL3RlbXBsYXRlCkBAIC0xLDExICsxLDExIEBACiAjIFRlbXBs YXRlIGZpbGUgZm9yICdjcm9zcy1taXBzLWxpbnV4LW11c2wnCiBfYmludXRpbHNfdmVyc2lvbj0y LjM5CiBfZ2NjX3ZlcnNpb249MTIuMi4wCi1fbXVzbF92ZXJzaW9uPTEuMS4yNAorX211c2xfdmVy c2lvbj0xLjIuMwogX2xpbnV4X3ZlcnNpb249NS4xMC40CiBwa2duYW1lPWNyb3NzLW1pcHMtbGlu dXgtbXVzbAogdmVyc2lvbj0wLjM1Ci1yZXZpc2lvbj0zCityZXZpc2lvbj00CiBidWlsZF9zdHls ZT12b2lkLWNyb3NzCiBjb25maWd1cmVfYXJncz0iLS13aXRoLWFyY2g9bWlwczMycjIgLS13aXRo LWZsb2F0PXNvZnQKICAtLXdpdGgtbGlua2VyLWhhc2gtc3R5bGU9c3lzdiIKCkZyb20gMzE1YzAz NmY0MzRhMmI5ZDViZWFhOGJlNTM3YTg1YjRlNWYyZjlmMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKRnJvbTogZGt3byA8bmljb2xvcGlhenphbHVuZ2FAZ21haWwuY29tPgpEYXRlOiBXZWQsIDI5 IE1hciAyMDIzIDE1OjEzOjA2IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAxMi8xN10gY3Jvc3MtbWlw cy1saW51eC1tdXNsaGY6IGJ1bXAgbXVzbCB2ZXJzaW9uCgotLS0KIHNyY3BrZ3MvY3Jvc3MtbWlw cy1saW51eC1tdXNsaGYvdGVtcGxhdGUgfCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2Vy dGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jcm9zcy1taXBz LWxpbnV4LW11c2xoZi90ZW1wbGF0ZSBiL3NyY3BrZ3MvY3Jvc3MtbWlwcy1saW51eC1tdXNsaGYv dGVtcGxhdGUKaW5kZXggZmU0MWJjODBkODA4Li42YjVlOTM2M2M5ZWMgMTAwNjQ0Ci0tLSBhL3Ny Y3BrZ3MvY3Jvc3MtbWlwcy1saW51eC1tdXNsaGYvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9jcm9z cy1taXBzLWxpbnV4LW11c2xoZi90ZW1wbGF0ZQpAQCAtMSwxMSArMSwxMSBAQAogIyBUZW1wbGF0 ZSBmaWxlIGZvciAnY3Jvc3MtbWlwcy1saW51eC1tdXNsaGYnCiBfYmludXRpbHNfdmVyc2lvbj0y LjM5CiBfZ2NjX3ZlcnNpb249MTIuMi4wCi1fbXVzbF92ZXJzaW9uPTEuMS4yNAorX211c2xfdmVy c2lvbj0xLjIuMwogX2xpbnV4X3ZlcnNpb249NS4xMC40CiBwa2duYW1lPWNyb3NzLW1pcHMtbGlu dXgtbXVzbGhmCiB2ZXJzaW9uPTAuMzUKLXJldmlzaW9uPTMKK3JldmlzaW9uPTQKIGJ1aWxkX3N0 eWxlPXZvaWQtY3Jvc3MKIGNvbmZpZ3VyZV9hcmdzPSItLXdpdGgtYXJjaD1taXBzMzJyMiAtLXdp dGgtZmxvYXQ9aGFyZAogIC0td2l0aC1saW5rZXItaGFzaC1zdHlsZT1zeXN2IgoKRnJvbSBhMjBh ZDg2ODY1YjE5NDI5NDVkOGMxN2ExZDY4MGM2ZjVmOGZlNGFiIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQpGcm9tOiBka3dvIDxuaWNvbG9waWF6emFsdW5nYUBnbWFpbC5jb20+CkRhdGU6IFdlZCwg MjkgTWFyIDIwMjMgMTU6MTM6MDYgLTA0MDAKU3ViamVjdDogW1BBVENIIDEzLzE3XSBjcm9zcy1w b3dlcnBjNjRsZS1saW51eC1tdXNsOiBidW1wIG11c2wgdmVyc2lvbgoKLS0tCiBzcmNwa2dzL2Ny b3NzLXBvd2VycGM2NGxlLWxpbnV4LW11c2wvdGVtcGxhdGUgfCA0ICsrLS0KIDEgZmlsZSBjaGFu Z2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9jcm9zcy1wb3dlcnBjNjRsZS1saW51eC1tdXNsL3RlbXBsYXRlIGIvc3JjcGtncy9jcm9zcy1w b3dlcnBjNjRsZS1saW51eC1tdXNsL3RlbXBsYXRlCmluZGV4IGE4NjMyMzNiNWIzMi4uNzk3ODMx Yjc4ZTEyIDEwMDY0NAotLS0gYS9zcmNwa2dzL2Nyb3NzLXBvd2VycGM2NGxlLWxpbnV4LW11c2wv dGVtcGxhdGUKKysrIGIvc3JjcGtncy9jcm9zcy1wb3dlcnBjNjRsZS1saW51eC1tdXNsL3RlbXBs YXRlCkBAIC0xLDEyICsxLDEyIEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdjcm9zcy1wb3dlcnBj NjRsZS1saW51eC1tdXNsJwogX2JpbnV0aWxzX3ZlcnNpb249Mi4zOQogX2djY192ZXJzaW9uPTEy LjIuMAotX211c2xfdmVyc2lvbj0xLjEuMjQKK19tdXNsX3ZlcnNpb249MS4yLjMKIF9saW51eF92 ZXJzaW9uPTUuMTAuNAogX2xpYnVjb250ZXh0X3ZlcnNpb249MS4wCiBwa2duYW1lPWNyb3NzLXBv d2VycGM2NGxlLWxpbnV4LW11c2wKIHZlcnNpb249MC4zNQotcmV2aXNpb249MworcmV2aXNpb249 NAogYnVpbGRfc3R5bGU9dm9pZC1jcm9zcwogY29uZmlndXJlX2FyZ3M9Ii0tZW5hYmxlLXNlY3Vy ZXBsdCAtLWRpc2FibGUtdnRhYmxlLXZlcmlmeQogIC0tZGlzYWJsZS1kZWNpbWFsLWZsb2F0IC0t d2l0aC1hYmk9ZWxmdjIgLS1lbmFibGUtdGFyZ2V0cz1wb3dlcnBjbGUtbGludXgiCgpGcm9tIGYx YjJjODI1YWIxODg0YmJiYjE2OTIzMWY4ZTU1Y2RkZjRhZDZhNWIgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCkZyb206IGRrd28gPG5pY29sb3BpYXp6YWx1bmdhQGdtYWlsLmNvbT4KRGF0ZTogV2Vk LCAyOSBNYXIgMjAyMyAxNToxMzowNyAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMTQvMTddIGNyb3Nz LXBvd2VycGM2NC1saW51eC1tdXNsOiBidW1wIG11c2wgdmVyc2lvbgoKLS0tCiBzcmNwa2dzL2Ny b3NzLXBvd2VycGM2NC1saW51eC1tdXNsL3RlbXBsYXRlIHwgNCArKy0tCiAxIGZpbGUgY2hhbmdl ZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv Y3Jvc3MtcG93ZXJwYzY0LWxpbnV4LW11c2wvdGVtcGxhdGUgYi9zcmNwa2dzL2Nyb3NzLXBvd2Vy cGM2NC1saW51eC1tdXNsL3RlbXBsYXRlCmluZGV4IGIwODFhMTM2ZWYyOS4uM2E3N2JhNGY0NDIz IDEwMDY0NAotLS0gYS9zcmNwa2dzL2Nyb3NzLXBvd2VycGM2NC1saW51eC1tdXNsL3RlbXBsYXRl CisrKyBiL3NyY3BrZ3MvY3Jvc3MtcG93ZXJwYzY0LWxpbnV4LW11c2wvdGVtcGxhdGUKQEAgLTEs MTIgKzEsMTIgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2Nyb3NzLXBvd2VycGM2NC1saW51eC1t dXNsJwogX2JpbnV0aWxzX3ZlcnNpb249Mi4zOQogX2djY192ZXJzaW9uPTEyLjIuMAotX211c2xf dmVyc2lvbj0xLjEuMjQKK19tdXNsX3ZlcnNpb249MS4yLjMKIF9saW51eF92ZXJzaW9uPTUuMTAu NAogX2xpYnVjb250ZXh0X3ZlcnNpb249MS4wCiBwa2duYW1lPWNyb3NzLXBvd2VycGM2NC1saW51 eC1tdXNsCiB2ZXJzaW9uPTAuMzUKLXJldmlzaW9uPTMKK3JldmlzaW9uPTQKIGJ1aWxkX3N0eWxl PXZvaWQtY3Jvc3MKIGNvbmZpZ3VyZV9hcmdzPSItLWVuYWJsZS1zZWN1cmVwbHQgLS1kaXNhYmxl LXZ0YWJsZS12ZXJpZnkKICAtLWRpc2FibGUtZGVjaW1hbC1mbG9hdCAtLXdpdGgtYWJpPWVsZnYy IC0tZW5hYmxlLXRhcmdldHM9cG93ZXJwYy1saW51eCIKCkZyb20gM2Y0MjZjZTljYmQyNTY4N2Fj OGQ1ZjVhNTk1ODQ3OTUxMTBjOGVmNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogZGt3 byA8bmljb2xvcGlhenphbHVuZ2FAZ21haWwuY29tPgpEYXRlOiBXZWQsIDI5IE1hciAyMDIzIDE1 OjEzOjA3IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAxNS8xN10gY3Jvc3MtcG93ZXJwY2xlLWxpbnV4 LW11c2w6IGJ1bXAgbXVzbCB2ZXJzaW9uCgotLS0KIHNyY3BrZ3MvY3Jvc3MtcG93ZXJwY2xlLWxp bnV4LW11c2wvdGVtcGxhdGUgfCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMo KyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jcm9zcy1wb3dlcnBjbGUt bGludXgtbXVzbC90ZW1wbGF0ZSBiL3NyY3BrZ3MvY3Jvc3MtcG93ZXJwY2xlLWxpbnV4LW11c2wv dGVtcGxhdGUKaW5kZXggMmY0ODNlMWYxZWU1Li41YTBlNTQ3NDFkYjggMTAwNjQ0Ci0tLSBhL3Ny Y3BrZ3MvY3Jvc3MtcG93ZXJwY2xlLWxpbnV4LW11c2wvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9j cm9zcy1wb3dlcnBjbGUtbGludXgtbXVzbC90ZW1wbGF0ZQpAQCAtMSwxMSArMSwxMSBAQAogIyBU ZW1wbGF0ZSBmaWxlIGZvciAnY3Jvc3MtcG93ZXJwY2xlLWxpbnV4LW11c2wnCiBfYmludXRpbHNf dmVyc2lvbj0yLjM5CiBfZ2NjX3ZlcnNpb249MTIuMi4wCi1fbXVzbF92ZXJzaW9uPTEuMS4yNAor X211c2xfdmVyc2lvbj0xLjIuMwogX2xpbnV4X3ZlcnNpb249NS4xMC40CiBwa2duYW1lPWNyb3Nz LXBvd2VycGNsZS1saW51eC1tdXNsCiB2ZXJzaW9uPTAuMzUKLXJldmlzaW9uPTMKK3JldmlzaW9u PTQKIGJ1aWxkX3N0eWxlPXZvaWQtY3Jvc3MKIGNvbmZpZ3VyZV9hcmdzPSItLWVuYWJsZS1zZWN1 cmVwbHQgLS1kaXNhYmxlLXZ0YWJsZS12ZXJpZnkKICAtLWRpc2FibGUtZGVjaW1hbC1mbG9hdCIK CkZyb20gYjJhOTUyYzM0OGE4MjRkMzk0ZGFlOGYyM2FkZGUyNzNlYjYzMTRjMyBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogZGt3byA8bmljb2xvcGlhenphbHVuZ2FAZ21haWwuY29tPgpE YXRlOiBXZWQsIDI5IE1hciAyMDIzIDE1OjEzOjA3IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAxNi8x N10gY3Jvc3MtcG93ZXJwYy1saW51eC1tdXNsOiBidW1wIG11c2wgdmVyc2lvbgoKLS0tCiBzcmNw a2dzL2Nyb3NzLXBvd2VycGMtbGludXgtbXVzbC90ZW1wbGF0ZSB8IDQgKystLQogMSBmaWxlIGNo YW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNw a2dzL2Nyb3NzLXBvd2VycGMtbGludXgtbXVzbC90ZW1wbGF0ZSBiL3NyY3BrZ3MvY3Jvc3MtcG93 ZXJwYy1saW51eC1tdXNsL3RlbXBsYXRlCmluZGV4IGUwNjk3MGQ3NmI5ZS4uNjBlM2M1ODQ3Yjlk IDEwMDY0NAotLS0gYS9zcmNwa2dzL2Nyb3NzLXBvd2VycGMtbGludXgtbXVzbC90ZW1wbGF0ZQor KysgYi9zcmNwa2dzL2Nyb3NzLXBvd2VycGMtbGludXgtbXVzbC90ZW1wbGF0ZQpAQCAtMSwxMSAr MSwxMSBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnY3Jvc3MtcG93ZXJwYy1saW51eC1tdXNsJwog X2JpbnV0aWxzX3ZlcnNpb249Mi4zOQogX2djY192ZXJzaW9uPTEyLjIuMAotX211c2xfdmVyc2lv bj0xLjEuMjQKK19tdXNsX3ZlcnNpb249MS4yLjMKIF9saW51eF92ZXJzaW9uPTUuMTAuNAogcGtn bmFtZT1jcm9zcy1wb3dlcnBjLWxpbnV4LW11c2wKIHZlcnNpb249MC4zNQotcmV2aXNpb249Mwor cmV2aXNpb249NAogYnVpbGRfc3R5bGU9dm9pZC1jcm9zcwogY29uZmlndXJlX2FyZ3M9Ii0tZW5h YmxlLXNlY3VyZXBsdCAtLWRpc2FibGUtdnRhYmxlLXZlcmlmeQogIC0tZGlzYWJsZS1kZWNpbWFs LWZsb2F0IgoKRnJvbSBhNjZkNjM3MDY1MmViMDUxNTVlMmRjNGZjZjllYzU1MDkxMTFhM2Q0IE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBka3dvIDxuaWNvbG9waWF6emFsdW5nYUBnbWFp bC5jb20+CkRhdGU6IFdlZCwgMjkgTWFyIDIwMjMgMTU6MTM6MDggLTA0MDAKU3ViamVjdDogW1BB VENIIDE3LzE3XSBjcm9zcy14ODZfNjQtbGludXgtbXVzbDogYnVtcCBtdXNsIHZlcnNpb24KCi0t LQogc3JjcGtncy9jcm9zcy14ODZfNjQtbGludXgtbXVzbC90ZW1wbGF0ZSB8IDQgKystLQogMSBm aWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9zcmNwa2dzL2Nyb3NzLXg4Nl82NC1saW51eC1tdXNsL3RlbXBsYXRlIGIvc3JjcGtncy9jcm9z cy14ODZfNjQtbGludXgtbXVzbC90ZW1wbGF0ZQppbmRleCA0OTg0Y2Q3N2YxNDkuLjkzYTFjMzc4 ODEzZiAxMDA2NDQKLS0tIGEvc3JjcGtncy9jcm9zcy14ODZfNjQtbGludXgtbXVzbC90ZW1wbGF0 ZQorKysgYi9zcmNwa2dzL2Nyb3NzLXg4Nl82NC1saW51eC1tdXNsL3RlbXBsYXRlCkBAIC0xLDEy ICsxLDEyIEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdjcm9zcy14ODZfNjQtbGludXgtbXVzbCcK IF9iaW51dGlsc192ZXJzaW9uPTIuMzkKIF9nY2NfdmVyc2lvbj0xMi4yLjAKLV9tdXNsX3ZlcnNp b249MS4xLjI0CitfbXVzbF92ZXJzaW9uPTEuMi4zCiBfbGludXhfdmVyc2lvbj01LjEwLjQKIF9s aWJ1Y29udGV4dF92ZXJzaW9uPTEuMAogcGtnbmFtZT1jcm9zcy14ODZfNjQtbGludXgtbXVzbAog dmVyc2lvbj0wLjM1Ci1yZXZpc2lvbj0zCityZXZpc2lvbj00CiBidWlsZF9zdHlsZT12b2lkLWNy b3NzCiBob3N0bWFrZWRlcGVuZHM9InRleGluZm8gdGFyIGdjYy1vYmpjIGdjYy1nbyBmbGV4IHBl cmwgcHl0aG9uMyIKIG1ha2VkZXBlbmRzPSJpc2wxNS1kZXZlbCBsaWJtcGMtZGV2ZWwgZ21wLWRl dmVsIG1wZnItZGV2ZWwK --===============0436062840057225812==--