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.9 required=5.0 tests=ALL_TRUSTED,URIBL_SBL_A autolearn=no autolearn_force=no version=3.4.4 Received: (qmail 10705 invoked from network); 28 Jul 2020 20:31:21 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 28 Jul 2020 20:31:21 -0000 Content-Type: multipart/mixed; boundary="===============3788399289654518575==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_New_package=3A_mysql8-8=2E0=2E21?= To: ml@inbox.vuxu.org From: rien Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Tue, 28 Jul 2020 22:31:21 +0200 List-Id: Message-ID: <20200728203121.V4YNjclK5UhBxb-X20XNElca5oALXaHkeBj-EYlaO-8@z> GitHub notification mails are now in MIME to allow UTF8. --===============3788399289654518575== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgcmllbiBhZ2FpbnN0IG1hc3RlciBv biB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20vcmllbi92 b2lkLXBhY2thZ2VzIG5ldy9teXNxbC04Cmh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3Zv aWQtcGFja2FnZXMvcHVsbC8yMzYxNwoKTmV3IHBhY2thZ2U6IG15c3FsOC04LjAuMjEKTm90IHll dCBmaW5pc2hlZC4gQ3VycmVudGx5IHVzaW5nIHBhdGNoZXMgZnJvbSBbZ2VudG9vXShodHRwczov L2Rldi5nZW50b28ub3JnL353aGlzc2kvZGlzdC9teXNxbC8pLgoKQSBwYXRjaCBmaWxlIGZyb20g aHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzIzNjE3LnBh dGNoIGlzIGF0dGFjaGVk --===============3788399289654518575== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-new/mysql-8-23617.patch" RnJvbSBkYWQ5YjBkZGZmMTE5NTU3NjZhOTE2ZWRiYWZjYTE2ZTRlOTdmMzRhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBSaWVuIE1hZXJ0ZW5zIDxyaWVuLm1hZXJ0ZW5zQHBvc3Rlby5i ZT4KRGF0ZTogRnJpLCAxNyBKdWwgMjAyMCAxNjo0MDowNyArMDIwMApTdWJqZWN0OiBbUEFUQ0hd IFtjaSBza2lwXSBOZXcgcGFja2FnZTogbXlzcWw4LTguMC4yMQoKLS0tCiBzcmNwa2dzL2xpYm15 c3FsY2xpZW50OCAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEgKwogc3JjcGtncy9saWJteXNx bGNsaWVudDgtZGV2ZWwgICAgICAgICAgICAgICAgIHwgICAxICsKIHNyY3BrZ3MvbXlzcWw4LWNs aWVudCAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMSArCiBzcmNwa2dzL215c3FsOC9JTlNU QUxMICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDkgKwogc3JjcGtncy9teXNxbDgvZmlsZXMv bXkuY25mICAgICAgICAgICAgICAgICAgIHwgIDQ0ICsrKwogc3JjcGtncy9teXNxbDgvZmlsZXMv bXlzcWxkL2xvZy9ydW4gICAgICAgICAgIHwgICAyICsKIHNyY3BrZ3MvbXlzcWw4L2ZpbGVzL215 c3FsZC9ydW4gICAgICAgICAgICAgICB8ICAgNCArCiAuLi4vcGF0Y2hlcy8wMDAyLWNtYWtlLVJl bW92ZS1XZXJyb3IucGF0Y2ggICAgfCAgMzAgKysKIC4uLi8wMDA0LXRlc3RzLWZpeC1ncmFudF91 c2VyX2xvY2stdGVzdC5wYXRjaCB8ICA5MiArKysrKwogLi4uL3BhdGNoZXMvMDAwNS1BZGQtTGli cmVTU0wtc3VwcG9ydC5wYXRjaCAgIHwgMzU2ICsrKysrKysrKysrKysrKysrKwogc3JjcGtncy9t eXNxbDgvdGVtcGxhdGUgICAgICAgICAgICAgICAgICAgICAgIHwgMTU1ICsrKysrKysrCiBzcmNw a2dzL215c3FsOC91cGRhdGUgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKwogMTIgZmls ZXMgY2hhbmdlZCwgNjk3IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEyMDAwMCBzcmNwa2dz L2xpYm15c3FsY2xpZW50OAogY3JlYXRlIG1vZGUgMTIwMDAwIHNyY3BrZ3MvbGlibXlzcWxjbGll bnQ4LWRldmVsCiBjcmVhdGUgbW9kZSAxMjAwMDAgc3JjcGtncy9teXNxbDgtY2xpZW50CiBjcmVh dGUgbW9kZSAxMDA2NDQgc3JjcGtncy9teXNxbDgvSU5TVEFMTAogY3JlYXRlIG1vZGUgMTAwNjQ0 IHNyY3BrZ3MvbXlzcWw4L2ZpbGVzL215LmNuZgogY3JlYXRlIG1vZGUgMTAwNzU1IHNyY3BrZ3Mv bXlzcWw4L2ZpbGVzL215c3FsZC9sb2cvcnVuCiBjcmVhdGUgbW9kZSAxMDA3NTUgc3JjcGtncy9t eXNxbDgvZmlsZXMvbXlzcWxkL3J1bgogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbXlzcWw4 L3BhdGNoZXMvMDAwMi1jbWFrZS1SZW1vdmUtV2Vycm9yLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2 NDQgc3JjcGtncy9teXNxbDgvcGF0Y2hlcy8wMDA0LXRlc3RzLWZpeC1ncmFudF91c2VyX2xvY2st dGVzdC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbXlzcWw4L3BhdGNoZXMvMDAw NS1BZGQtTGlicmVTU0wtc3VwcG9ydC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mv bXlzcWw4L3RlbXBsYXRlCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9teXNxbDgvdXBkYXRl CgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9saWJteXNxbGNsaWVudDggYi9zcmNwa2dzL2xpYm15c3Fs Y2xpZW50OApuZXcgZmlsZSBtb2RlIDEyMDAwMAppbmRleCAwMDAwMDAwMDAwMC4uOWExN2U5MWI2 OTQKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2xpYm15c3FsY2xpZW50OApAQCAtMCwwICsx IEBACitteXNxbDgKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmNw a2dzL2xpYm15c3FsY2xpZW50OC1kZXZlbCBiL3NyY3BrZ3MvbGlibXlzcWxjbGllbnQ4LWRldmVs Cm5ldyBmaWxlIG1vZGUgMTIwMDAwCmluZGV4IDAwMDAwMDAwMDAwLi45YTE3ZTkxYjY5NAotLS0g L2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvbGlibXlzcWxjbGllbnQ4LWRldmVsCkBAIC0wLDAgKzEg QEAKK215c3FsOApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyY3Br Z3MvbXlzcWw4LWNsaWVudCBiL3NyY3BrZ3MvbXlzcWw4LWNsaWVudApuZXcgZmlsZSBtb2RlIDEy MDAwMAppbmRleCAwMDAwMDAwMDAwMC4uOWExN2U5MWI2OTQKLS0tIC9kZXYvbnVsbAorKysgYi9z cmNwa2dzL215c3FsOC1jbGllbnQKQEAgLTAsMCArMSBAQAorbXlzcWw4ClwgTm8gbmV3bGluZSBh dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9teXNxbDgvSU5TVEFMTCBiL3NyY3Br Z3MvbXlzcWw4L0lOU1RBTEwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAu LmFmZTYwNWUxMTdjCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9teXNxbDgvSU5TVEFMTApA QCAtMCwwICsxLDkgQEAKKyMgKi0qLXNoZWxsLSotKgorIworY2FzZSAke0FDVElPTn0gaW4KK3Bv c3QpCisJaW5zdGFsbCAtZG0wNzAwIHZhci9saWIvbXlzcWwKKwliaW4vbXlzcWxkIC0tdXNlcj1t eXNxbCAtLWluaXRpYWxpemUgLS1kYXRhZGlyPS92YXIvbGliL215c3FsCisJY2hvd24gLVIgbXlz cWw6bXlzcWwgdmFyL2xpYi9teXNxbAorCTs7Citlc2FjCmRpZmYgLS1naXQgYS9zcmNwa2dzL215 c3FsOC9maWxlcy9teS5jbmYgYi9zcmNwa2dzL215c3FsOC9maWxlcy9teS5jbmYKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmNkODc5ZjhjMGZjCi0tLSAvZGV2L251bGwK KysrIGIvc3JjcGtncy9teXNxbDgvZmlsZXMvbXkuY25mCkBAIC0wLDAgKzEsNDQgQEAKKyMgTXlT UUwgY29uZmlndXJhdGlvbiBmaWxlIGZvciBjbGllbnQgYW5kIHNlcnZlciBiYXNlZCBvbiB0aGUg R2VudG9vCisjIGNvbmZpZ3VyYXRpb25zLgorCisjIFRoZSBmb2xsb3dpbmcgb3B0aW9ucyB3aWxs IGJlIHBhc3NlZCB0byBhbGwgTXlTUUwgY2xpZW50cworW2NsaWVudF0KK3BvcnQJCQkJPSAzMzA2 Citzb2NrZXQJCQkJPSAvcnVuL215c3FsZC9teXNxbGQuc29jaworCisjIEhlcmUgZm9sbG93cyBl bnRyaWVzIGZvciBzb21lIHNwZWNpZmljIHByb2dyYW1zCisKKyMgVGhlIE15U1FMIHNlcnZlcgor W215c3FsZF0KK3BvcnQJCT0gMzMwNgorc29ja2V0CQk9IC9ydW4vbXlzcWxkL215c3FsZC5zb2Nr CitkYXRhZGlyCQk9IC92YXIvbGliL215c3FsCitza2lwLWV4dGVybmFsLWxvY2tpbmcKKworIyBT aW5jZSBNeVNRTCA4IHRoZSBkZWZhdWx0IGF1dGhlbnRpY2F0aW9uIHBsdWdpbiBzd2l0Y2hlZCBm cm9tCisjICdteXNxbF9uYXRpdmVfcGFzc3dvcmQnIHRvIHRoZSBtb3JlIHNlY3VyZSAnY2FjaGlu Z19zaGEyX3Bhc3N3b3JkJy4KKyMgVW5jb21tZW50IHRoZSBuZXh0IGxpbmUgaWYgeW91IGV4cGVy aWVuY2UgaXNzdWVzIHdpdGggY2xpZW50IGxpYnJhcmllcy4KKyMKKyNsb29zZS1kZWZhdWx0LWF1 dGhlbnRpY2F0aW9uLXBsdWdpbiA9IG15c3FsX25hdGl2ZV9wYXNzd29yZAorCisjIERvbid0IGxp c3RlbiBvbiBhIFRDUC9JUCBwb3J0IGF0IGFsbC4gVGhpcyBjYW4gYmUgYSBzZWN1cml0eSBlbmhh bmNlbWVudCwKKyMgaWYgYWxsIHByb2Nlc3NlcyB0aGF0IG5lZWQgdG8gY29ubmVjdCB0byBteXNx bGQgcnVuIG9uIHRoZSBzYW1lIGhvc3QuCisjIEFsbCBpbnRlcmFjdGlvbiB3aXRoIG15c3FsZCBt dXN0IGJlIG1hZGUgdmlhIFVuaXggc29ja2V0cyBvciBuYW1lZCBwaXBlcy4KKyMgTm90ZSB0aGF0 IHVzaW5nIHRoaXMgb3B0aW9uIHdpdGhvdXQgZW5hYmxpbmcgbmFtZWQgcGlwZXMgb24gV2luZG93 cworIyAodmlhIHRoZSAiZW5hYmxlLW5hbWVkLXBpcGUiIG9wdGlvbikgd2lsbCByZW5kZXIgbXlz cWxkIHVzZWxlc3MhCisjIAorc2tpcC1uZXR3b3JraW5nCisKK2xvZy1iaW4KKyMgcmVxdWlyZWQg dW5pcXVlIGlkIGJldHdlZW4gMSBhbmQgMl4zMiAtIDEKKyMgZGVmYXVsdHMgdG8gMSBpZiBtYXN0 ZXItaG9zdCBpcyBub3Qgc2V0CisjIGJ1dCB3aWxsIG5vdCBmdW5jdGlvbiBhcyBhIG1hc3RlciBp ZiBvbWl0dGVkCitzZXJ2ZXItaWQJPSAxCisKK1tteXNxbGR1bXBdCitxdWljaworbWF4X2FsbG93 ZWRfcGFja2V0ID0gMTZNCisKK1tteXNxbF0KKyMgUmVtb3ZlIHRoZSBuZXh0IGNvbW1lbnQgY2hh cmFjdGVyIGlmIHlvdSBhcmUgbm90IGZhbWlsaWFyIHdpdGggU1FMCisjc2FmZS11cGRhdGVzCmRp ZmYgLS1naXQgYS9zcmNwa2dzL215c3FsOC9maWxlcy9teXNxbGQvbG9nL3J1biBiL3NyY3BrZ3Mv bXlzcWw4L2ZpbGVzL215c3FsZC9sb2cvcnVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAw MDAwMDAwMDAwLi5iMzZjNGRhZmE0MAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvbXlzcWw4 L2ZpbGVzL215c3FsZC9sb2cvcnVuCkBAIC0wLDAgKzEsMiBAQAorIyEvYmluL3NoCitleGVjIGxv Z2dlciAtcCBkYWVtb24ubm90aWNlCmRpZmYgLS1naXQgYS9zcmNwa2dzL215c3FsOC9maWxlcy9t eXNxbGQvcnVuIGIvc3JjcGtncy9teXNxbDgvZmlsZXMvbXlzcWxkL3J1bgpuZXcgZmlsZSBtb2Rl IDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMC4uYmMxNmEwNzg4M2UKLS0tIC9kZXYvbnVsbAorKysg Yi9zcmNwa2dzL215c3FsOC9maWxlcy9teXNxbGQvcnVuCkBAIC0wLDAgKzEsNCBAQAorIyEvYmlu L3NoCitbICEgLWQgL3J1bi9teXNxbGQgXSAmJiBta2RpciAtcCAvcnVuL215c3FsZAorY2hvd24g bXlzcWw6bXlzcWwgL3J1bi9teXNxbGQKK2V4ZWMgY2hwc3QgLXUgbXlzcWw6bXlzcWwgbXlzcWxk IC0tdXNlcj1teXNxbCAyPiYxCmRpZmYgLS1naXQgYS9zcmNwa2dzL215c3FsOC9wYXRjaGVzLzAw MDItY21ha2UtUmVtb3ZlLVdlcnJvci5wYXRjaCBiL3NyY3BrZ3MvbXlzcWw4L3BhdGNoZXMvMDAw Mi1jbWFrZS1SZW1vdmUtV2Vycm9yLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMDAwLi40YTUyYmViZWYyZgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvbXlzcWw4 L3BhdGNoZXMvMDAwMi1jbWFrZS1SZW1vdmUtV2Vycm9yLnBhdGNoCkBAIC0wLDAgKzEsMzAgQEAK K0Zyb20gMWMwNjZmNWVhMDEwOTk0Yzc5MDExM2JmNmNmNGE1MjAyMjdhOWUwNiBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKK0Zyb206IFRob21hcyBEZXV0c2NobWFubiA8d2hpc3NpQGdlbnRvby5v cmc+CitEYXRlOiBUaHUsIDMwIEFwciAyMDIwIDE5OjU5OjI2ICswMjAwCitTdWJqZWN0OiBbUEFU Q0ggMi81XSBjbWFrZTogUmVtb3ZlIC1XZXJyb3IKKworU2lnbmVkLW9mZi1ieTogVGhvbWFzIERl dXRzY2htYW5uIDx3aGlzc2lAZ2VudG9vLm9yZz4KKy0tLQorIGNtYWtlL21haW50YWluZXIuY21h a2UgfCA2IC0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA2IGRlbGV0aW9ucygtKQorCitkaWZmIC0t Z2l0IGNtYWtlL21haW50YWluZXIuY21ha2UgY21ha2UvbWFpbnRhaW5lci5jbWFrZQoraW5kZXgg NmFhM2FjODY2Li5iMmY2M2JkYWEgMTAwNjQ0CistLS0gY21ha2UvbWFpbnRhaW5lci5jbWFrZQor KysrIGNtYWtlL21haW50YWluZXIuY21ha2UKK0BAIC0xNTcsMTIgKzE1Nyw2IEBAIElGKE1ZX0NP TVBJTEVSX0lTX0NMQU5HKQorICAgIyAtV3plcm8tYXMtbnVsbC1wb2ludGVyLWNvbnN0YW50Cisg RU5ESUYoKQorIAorLSMgVHVybiBvbiBXZXJyb3IgKHdhcm5pbmcgPT4gZXJyb3IpIHdoZW4gdXNp bmcgbWFpbnRhaW5lciBtb2RlLgorLUlGKE1ZU1FMX01BSU5UQUlORVJfTU9ERSkKKy0gIFNUUklO R19BUFBFTkQoTVlfQ19XQVJOSU5HX0ZMQUdTICAgIiAtV2Vycm9yIikKKy0gIFNUUklOR19BUFBF TkQoTVlfQ1hYX1dBUk5JTkdfRkxBR1MgIiAtV2Vycm9yIikKKy1FTkRJRigpCistCisgIyBTZXQg d2FybmluZyBmbGFncyBmb3IgZ2NjL2crKy9jbGFuZy9jbGFuZysrCisgSUYoTVlfQ09NUElMRVJf SVNfR05VX09SX0NMQU5HKQorICAgU1RSSU5HX0FQUEVORChDTUFLRV9DX0ZMQUdTICAgIiAke01Z X0NfV0FSTklOR19GTEFHU30iKQorLS0gCisyLjI3LjAKKwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9t eXNxbDgvcGF0Y2hlcy8wMDA0LXRlc3RzLWZpeC1ncmFudF91c2VyX2xvY2stdGVzdC5wYXRjaCBi L3NyY3BrZ3MvbXlzcWw4L3BhdGNoZXMvMDAwNC10ZXN0cy1maXgtZ3JhbnRfdXNlcl9sb2NrLXRl c3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjNiZDFiYzVh NDAyCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9teXNxbDgvcGF0Y2hlcy8wMDA0LXRlc3Rz LWZpeC1ncmFudF91c2VyX2xvY2stdGVzdC5wYXRjaApAQCAtMCwwICsxLDkyIEBACitGcm9tIDM4 NDI3YjUzZmZjMzRmNDY1NTM0YmNiMWNiYzU2ZmM4ZjJjMDdkOGQgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCitGcm9tOiBUaG9tYXMgRGV1dHNjaG1hbm4gPHdoaXNzaUBnZW50b28ub3JnPgorRGF0 ZTogVGh1LCAzMCBBcHIgMjAyMCAyMDowMToyMCArMDIwMAorU3ViamVjdDogW1BBVENIIDQvNV0g dGVzdHM6IGZpeCBncmFudF91c2VyX2xvY2sgdGVzdAorCitTaWduZWQtb2ZmLWJ5OiBUaG9tYXMg RGV1dHNjaG1hbm4gPHdoaXNzaUBnZW50b28ub3JnPgorLS0tCisgbXlzcWwtdGVzdC9yL2dyYW50 X3VzZXJfbG9jay5yZXN1bHQgfCAgNCArKy0tCisgbXlzcWwtdGVzdC90L2dyYW50X3VzZXJfbG9j ay50ZXN0ICAgfCAxMiArKysrKystLS0tLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9u cygrKSwgOCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBteXNxbC10ZXN0L3IvZ3JhbnRfdXNl cl9sb2NrLnJlc3VsdCBteXNxbC10ZXN0L3IvZ3JhbnRfdXNlcl9sb2NrLnJlc3VsdAoraW5kZXgg NTRhYWRkZmI4Li45Yzk1MzgwZjEgMTAwNjQ0CistLS0gbXlzcWwtdGVzdC9yL2dyYW50X3VzZXJf bG9jay5yZXN1bHQKKysrKyBteXNxbC10ZXN0L3IvZ3JhbnRfdXNlcl9sb2NrLnJlc3VsdAorQEAg LTk4LDEzICs5OCwxMyBAQCBDVVJSRU5UX1VTRVIoKQorIERST1AgVVNFUiAnJ0Bsb2NhbGhvc3Q7 CisgIyBDcmVhdGUgYW5vbnltb3VzIHVzZXIgLSBMT0NLCisgQ1JFQVRFIFVTRVIgJydAbG9jYWxo b3N0IElERU5USUZJRUQgQlkgJ3Bhc3MnIEFDQ09VTlQgTE9DSzsKKy1jb25uZWN0KGxvY2FsaG9z dCwscGFzcyx0ZXN0LE1BU1RFUl9QT1JULE1BU1RFUl9TT0NLRVQpOworK2Nvbm5lY3QobG9jYWxo b3N0LCAscGFzcyx0ZXN0LE1BU1RFUl9QT1JULE1BU1RFUl9TT0NLRVQpOworIEVSUk9SIEhZMDAw OiBBY2Nlc3MgZGVuaWVkIGZvciB1c2VyICcobnVsbCknQCdsb2NhbGhvc3QnLiBBY2NvdW50IGlz IGxvY2tlZC4KKyBEUk9QIFVTRVIgJydAbG9jYWxob3N0OworICMgRGlzYWJsaW5nIGFub255bW91 cyB1c2VyCisgQ1JFQVRFIFVTRVIgJydAbG9jYWxob3N0IElERU5USUZJRUQgQlkgJ3Bhc3MnOwor IEFMVEVSIFVTRVIgJydAbG9jYWxob3N0IEFDQ09VTlQgTE9DSzsKKy1jb25uZWN0KGxvY2FsaG9z dCwscGFzcyx0ZXN0LE1BU1RFUl9QT1JULE1BU1RFUl9TT0NLRVQpOworK2Nvbm5lY3QobG9jYWxo b3N0LCAscGFzcyx0ZXN0LE1BU1RFUl9QT1JULE1BU1RFUl9TT0NLRVQpOworIEVSUk9SIEhZMDAw OiBBY2Nlc3MgZGVuaWVkIGZvciB1c2VyICcobnVsbCknQCdsb2NhbGhvc3QnLiBBY2NvdW50IGlz IGxvY2tlZC4KKyBEUk9QIFVTRVIgJydAbG9jYWxob3N0OworICMgRW5hYmxpbmcgYW5vbnltb3Vz IHVzZXIKK2RpZmYgLS1naXQgbXlzcWwtdGVzdC90L2dyYW50X3VzZXJfbG9jay50ZXN0IG15c3Fs LXRlc3QvdC9ncmFudF91c2VyX2xvY2sudGVzdAoraW5kZXggYzg2N2JkNTNkLi4wM2Y4NzdkZWYg MTAwNjQ0CistLS0gbXlzcWwtdGVzdC90L2dyYW50X3VzZXJfbG9jay50ZXN0CisrKysgbXlzcWwt dGVzdC90L2dyYW50X3VzZXJfbG9jay50ZXN0CitAQCAtMTEyLDcgKzExMiw3IEBAIERST1AgVVNF UiB1bmxvY2tlZF91c2VyMkBsb2NhbGhvc3Q7CisgLS1lY2hvICMgQ3JlYXRlIGFub255bW91cyB1 c2VyCisgY29ubmVjdGlvbiBkZWZhdWx0OworIENSRUFURSBVU0VSICcnQGxvY2FsaG9zdCBJREVO VElGSUVEIEJZICdwYXNzJzsKKy1jb25uZWN0KGFub255bW91c191c2VyX2NvbiwgbG9jYWxob3N0 LCAnJywgcGFzcyk7CisrY29ubmVjdChhbm9ueW1vdXNfdXNlcl9jb24sIGxvY2FsaG9zdCwgJyAn LCBwYXNzKTsKKyBTRUxFQ1QgQ1VSUkVOVF9VU0VSKCk7CisgZGlzY29ubmVjdCBhbm9ueW1vdXNf dXNlcl9jb247CisgY29ubmVjdGlvbiBkZWZhdWx0OworQEAgLTEyMSw3ICsxMjEsNyBAQCBEUk9Q IFVTRVIgJydAbG9jYWxob3N0OworIC0tZWNobyAjIENyZWF0ZSBhbm9ueW1vdXMgdXNlciAtIGV4 cGxpY2l0IFVOTE9DSworIGNvbm5lY3Rpb24gZGVmYXVsdDsKKyBDUkVBVEUgVVNFUiAnJ0Bsb2Nh bGhvc3QgSURFTlRJRklFRCBCWSAncGFzcycgQUNDT1VOVCBVTkxPQ0s7CistY29ubmVjdChhbm9u eW1vdXNfdXNlcl9jb24sIGxvY2FsaG9zdCwgJycsIHBhc3MpOworK2Nvbm5lY3QoYW5vbnltb3Vz X3VzZXJfY29uLCBsb2NhbGhvc3QsICcgJywgcGFzcyk7CisgU0VMRUNUIENVUlJFTlRfVVNFUigp OworIGRpc2Nvbm5lY3QgYW5vbnltb3VzX3VzZXJfY29uOworIGNvbm5lY3Rpb24gZGVmYXVsdDsK K0BAIC0xMzIsNyArMTMyLDcgQEAgY29ubmVjdGlvbiBkZWZhdWx0OworIENSRUFURSBVU0VSICcn QGxvY2FsaG9zdCBJREVOVElGSUVEIEJZICdwYXNzJyBBQ0NPVU5UIExPQ0s7CisgLS1yZXBsYWNl X3Jlc3VsdCAkTUFTVEVSX01ZU09DSyBNQVNURVJfU09DS0VUICRNQVNURVJfTVlQT1JUIE1BU1RF Ul9QT1JUCisgLS1lcnJvciBFUl9BQ0NPVU5UX0hBU19CRUVOX0xPQ0tFRAorLWNvbm5lY3QoYW5v bnltb3VzX3VzZXJfY29uLCBsb2NhbGhvc3QsICcnLCBwYXNzKTsKKytjb25uZWN0KGFub255bW91 c191c2VyX2NvbiwgbG9jYWxob3N0LCAnICcsIHBhc3MpOworIGNvbm5lY3Rpb24gZGVmYXVsdDsK KyBEUk9QIFVTRVIgJydAbG9jYWxob3N0OworIAorQEAgLTE0Miw3ICsxNDIsNyBAQCBDUkVBVEUg VVNFUiAnJ0Bsb2NhbGhvc3QgSURFTlRJRklFRCBCWSAncGFzcyc7CisgQUxURVIgVVNFUiAnJ0Bs b2NhbGhvc3QgQUNDT1VOVCBMT0NLOworIC0tcmVwbGFjZV9yZXN1bHQgJE1BU1RFUl9NWVNPQ0sg TUFTVEVSX1NPQ0tFVCAkTUFTVEVSX01ZUE9SVCBNQVNURVJfUE9SVAorIC0tZXJyb3IgRVJfQUND T1VOVF9IQVNfQkVFTl9MT0NLRUQKKy1jb25uZWN0KGFub255bW91c191c2VyX2NvbiwgbG9jYWxo b3N0LCAnJywgcGFzcyk7CisrY29ubmVjdChhbm9ueW1vdXNfdXNlcl9jb24sIGxvY2FsaG9zdCwg JyAnLCBwYXNzKTsKKyBjb25uZWN0aW9uIGRlZmF1bHQ7CisgRFJPUCBVU0VSICcnQGxvY2FsaG9z dDsKKyAKK0BAIC0xNTAsNyArMTUwLDcgQEAgRFJPUCBVU0VSICcnQGxvY2FsaG9zdDsKKyBjb25u ZWN0aW9uIGRlZmF1bHQ7CisgQ1JFQVRFIFVTRVIgJydAbG9jYWxob3N0IElERU5USUZJRUQgQlkg J3Bhc3MnIEFDQ09VTlQgTE9DSzsKKyBBTFRFUiBVU0VSICcnQGxvY2FsaG9zdCBBQ0NPVU5UIFVO TE9DSzsKKy1jb25uZWN0KGFub255bW91c191c2VyX2NvbiwgbG9jYWxob3N0LCAnJywgcGFzcyk7 CisrY29ubmVjdChhbm9ueW1vdXNfdXNlcl9jb24sIGxvY2FsaG9zdCwgJyAnLCBwYXNzKTsKKyBT RUxFQ1QgQ1VSUkVOVF9VU0VSKCk7CisgZGlzY29ubmVjdCBhbm9ueW1vdXNfdXNlcl9jb247Cisg Y29ubmVjdGlvbiBkZWZhdWx0OworQEAgLTE3MCw3ICsxNzAsNyBAQCBjb25uZWN0aW9uIGRlZmF1 bHQ7CisgQ1JFQVRFIHVzZXIgJydAbG9jYWxob3N0IElERU5USUZJRUQgQlkgJ3Bhc3MnOworIENS RUFURSBVU0VSICd1bmxvY2tlZF91c2VyJ0Bsb2NhbGhvc3QgSURFTlRJRklFRCBCWSAncGFzcyc7 CisgCistY29ubmVjdChhbm9ueW1vdXNfdXNlcl9jb24sIGxvY2FsaG9zdCwgJycsIHBhc3MpOwor K2Nvbm5lY3QoYW5vbnltb3VzX3VzZXJfY29uLCBsb2NhbGhvc3QsICcgJywgcGFzcyk7CisgLS1l cnJvciBFUl9UQUJMRUFDQ0VTU19ERU5JRURfRVJST1IKKyBVUERBVEUgbXlzcWwudXNlciBTRVQg YWNjb3VudF9sb2NrZWQ9J1knCisgICBXSEVSRSB1c2VyPSd1bmxvY2tlZF91c2VyJyBhbmQgaG9z dCA9ICdsb2NhbGhvc3QnOworLS0gCisyLjI3LjAKKwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9teXNx bDgvcGF0Y2hlcy8wMDA1LUFkZC1MaWJyZVNTTC1zdXBwb3J0LnBhdGNoIGIvc3JjcGtncy9teXNx bDgvcGF0Y2hlcy8wMDA1LUFkZC1MaWJyZVNTTC1zdXBwb3J0LnBhdGNoCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5lMmE5NDQwMzIzZAotLS0gL2Rldi9udWxsCisrKyBi L3NyY3BrZ3MvbXlzcWw4L3BhdGNoZXMvMDAwNS1BZGQtTGlicmVTU0wtc3VwcG9ydC5wYXRjaApA QCAtMCwwICsxLDM1NiBAQAorRnJvbSA0YWFkZmY3YjA4ZjZhNjkxNjBhNDRjMTc0MmQ1YTEyZmI1 YWJjMDU5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogVGhvbWFzIERldXRzY2htYW5u IDx3aGlzc2lAZ2VudG9vLm9yZz4KK0RhdGU6IFRodSwgMzAgQXByIDIwMjAgMjA6MDE6NDggKzAy MDAKK1N1YmplY3Q6IFtQQVRDSCA1LzVdIEFkZCBMaWJyZVNTTCBzdXBwb3J0CisKK1NpZ25lZC1v ZmYtYnk6IFRob21hcyBEZXV0c2NobWFubiA8d2hpc3NpQGdlbnRvby5vcmc+CistLS0KKyBjbWFr ZS9zc2wuY21ha2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNSArKystLQorIG15 c3lzL215X21kNS5jYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyICsrCisgLi4u L2JpbmRpbmdzL3hjb20veGNvbS94Y29tX3NzbF90cmFuc3BvcnQuY2MgIHwgIDYgKysrKystCisg cGx1Z2luL3gvY2xpZW50L3hjb25uZWN0aW9uX2ltcGwuY2MgICAgICAgICAgIHwgIDQgKysrKwor IHJvdXRlci9zcmMvaHR0cC9zcmMvdGxzX2NsaWVudF9jb250ZXh0LmNjICAgICB8ICAyICstCisg cm91dGVyL3NyYy9odHRwL3NyYy90bHNfY29udGV4dC5jYyAgICAgICAgICAgIHwgIDkgKysrKysr LS0KKyByb3V0ZXIvc3JjL2h0dHAvc3JjL3Rsc19zZXJ2ZXJfY29udGV4dC5jYyAgICAgfCAgMyAr Ky0KKyBzcWwtY29tbW9uL2NsaWVudC5jYyAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiAr KworIHNxbC9teXNxbGQuY2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA0ICsr Ky0KKyBzcWwvc3lzX3ZhcnMuY2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAyMSAr KysrKysrKysrKysrKysrKy0tCisgdmlvL3Zpb3NzbC5jYyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgIDggKysrLS0tLQorIHZpby92aW9zc2xmYWN0b3JpZXMuY2MgICAgICAgICAg ICAgICAgICAgICAgICB8ICAyICsrCisgMTIgZmlsZXMgY2hhbmdlZCwgNTQgaW5zZXJ0aW9ucygr KSwgMTQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgY21ha2Uvc3NsLmNtYWtlIGNtYWtlL3Nz bC5jbWFrZQoraW5kZXggNTJmZWFkZWFhLi4zYjgzMzI2OTUgMTAwNjQ0CistLS0gY21ha2Uvc3Ns LmNtYWtlCisrKysgY21ha2Uvc3NsLmNtYWtlCitAQCAtMjIyLDEzICsyMjIsMTQgQEAgTUFDUk8g KE1ZU1FMX0NIRUNLX1NTTCkKKyAgICAgICAgIE9QRU5TU0xfRklYX1ZFUlNJT04gIiR7T1BFTlNT TF9WRVJTSU9OX05VTUJFUn0iCisgICAgICAgICApCisgICAgIEVORElGKCkKKy0gICAgSUYoIiR7 T1BFTlNTTF9NQUpPUl9WRVJTSU9OfS4ke09QRU5TU0xfTUlOT1JfVkVSU0lPTn0uJHtPUEVOU1NM X0ZJWF9WRVJTSU9OfSIgVkVSU0lPTl9HUkVBVEVSICIxLjEuMCIpCisrICAgIENIRUNLX1NZTUJP TF9FWElTVFMoVExTMV8zX1ZFUlNJT04gIm9wZW5zc2wvdGxzMS5oIiBIQVZFX1RMUzFfM19WRVJT SU9OKQorKyAgICBJRihIQVZFX1RMUzFfM19WRVJTSU9OKQorICAgICAgICBBRERfREVGSU5JVElP TlMoLURIQVZFX1RMU3YxMykKKyAgICAgRU5ESUYoKQorICAgICBJRihPUEVOU1NMX0lOQ0xVREVf RElSIEFORAorICAgICAgICBPUEVOU1NMX0xJQlJBUlkgICBBTkQKKyAgICAgICAgQ1JZUFRPX0xJ QlJBUlkgICAgICBBTkQKKy0gICAgICAgT1BFTlNTTF9NQUpPUl9WRVJTSU9OIFNUUkVRVUFMICIx IgorKyAgICAgICBPUEVOU1NMX01BSk9SX1ZFUlNJT04gVkVSU0lPTl9HUkVBVEVSX0VRVUFMICIx IgorICAgICAgICkKKyAgICAgICBTRVQoT1BFTlNTTF9GT1VORCBUUlVFKQorICAgICAgIEZJTkRf UFJPR1JBTShPUEVOU1NMX0VYRUNVVEFCTEUgb3BlbnNzbAorZGlmZiAtLWdpdCBteXN5cy9teV9t ZDUuY2MgbXlzeXMvbXlfbWQ1LmNjCitpbmRleCBkZWE5OTdiMjUuLjUzMTY5NjMyOSAxMDA2NDQK Ky0tLSBteXN5cy9teV9tZDUuY2MKKysrKyBteXN5cy9teV9tZDUuY2MKK0BAIC01Niw3ICs1Niw5 IEBAIHN0YXRpYyB2b2lkIG15X21kNV9oYXNoKHVuc2lnbmVkIGNoYXIgKmRpZ2VzdCwgdW5zaWdu ZWQgY29uc3QgY2hhciAqYnVmLAorIGludCBjb21wdXRlX21kNV9oYXNoKGNoYXIgKmRpZ2VzdCwg Y29uc3QgY2hhciAqYnVmLCBpbnQgbGVuKSB7CisgICBpbnQgcmV0dmFsID0gMDsKKyAgIGludCBm aXBzX21vZGUgPSAwOworKyNpZm5kZWYgTElCUkVTU0xfVkVSU0lPTl9OVU1CRVIKKyAgIGZpcHNf bW9kZSA9IEZJUFNfbW9kZSgpOworKyNlbmRpZgorICAgLyogSWYgZmlwcyBtb2RlIGlzIE9OL1NU UklDVCByZXN0cmljdGVkIG1ldGhvZCBjYWxscyB3aWxsIHJlc3VsdCBpbnRvIGFib3J0LAorICAg ICogc2tpcHBpbmcgY2FsbC4gKi8KKyAgIGlmIChmaXBzX21vZGUgPT0gMCkgeworZGlmZiAtLWdp dCBwbHVnaW4vZ3JvdXBfcmVwbGljYXRpb24vbGlibXlzcWxnY3Mvc3JjL2JpbmRpbmdzL3hjb20v eGNvbS94Y29tX3NzbF90cmFuc3BvcnQuY2MgcGx1Z2luL2dyb3VwX3JlcGxpY2F0aW9uL2xpYm15 c3FsZ2NzL3NyYy9iaW5kaW5ncy94Y29tL3hjb20veGNvbV9zc2xfdHJhbnNwb3J0LmNjCitpbmRl eCA4YmY2M2NlMTQuLjAyZjkxYjQ0ZSAxMDA2NDQKKy0tLSBwbHVnaW4vZ3JvdXBfcmVwbGljYXRp b24vbGlibXlzcWxnY3Mvc3JjL2JpbmRpbmdzL3hjb20veGNvbS94Y29tX3NzbF90cmFuc3BvcnQu Y2MKKysrKyBwbHVnaW4vZ3JvdXBfcmVwbGljYXRpb24vbGlibXlzcWxnY3Mvc3JjL2JpbmRpbmdz L3hjb20veGNvbS94Y29tX3NzbF90cmFuc3BvcnQuY2MKK0BAIC0zMjUsNiArMzI1LDcgQEAgZXJy b3I6CisgICByZXR1cm4gMTsKKyB9CisgCisrI2lmbmRlZiBMSUJSRVNTTF9WRVJTSU9OX05VTUJF UgorICNkZWZpbmUgT1BFTlNTTF9FUlJPUl9MRU5HVEggNTEyCisgc3RhdGljIGludCBjb25maWd1 cmVfc3NsX2ZpcHNfbW9kZShjb25zdCB1aW50IGZpcHNfbW9kZSkgeworICAgaW50IHJjID0gLTE7 CitAQCAtMzQ4LDYgKzM0OSw3IEBAIHN0YXRpYyBpbnQgY29uZmlndXJlX3NzbF9maXBzX21vZGUo Y29uc3QgdWludCBmaXBzX21vZGUpIHsKKyBFWElUOgorICAgcmV0dXJuIHJjOworIH0KKysjZW5k aWYKKyAKKyBzdGF0aWMgaW50IGNvbmZpZ3VyZV9zc2xfY2EoU1NMX0NUWCAqc3NsX2N0eCwgY29u c3QgY2hhciAqY2FfZmlsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hh ciAqY2FfcGF0aCkgeworQEAgLTU0NCwxMCArNTQ2LDEyIEBAIGludCB4Y29tX2luaXRfc3NsKGNv bnN0IGNoYXIgKnNlcnZlcl9rZXlfZmlsZSwgY29uc3QgY2hhciAqc2VydmVyX2NlcnRfZmlsZSwK KyAgIGludCB2ZXJpZnlfc2VydmVyID0gU1NMX1ZFUklGWV9OT05FOworICAgaW50IHZlcmlmeV9j bGllbnQgPSBTU0xfVkVSSUZZX05PTkU7CisgCisrI2lmbmRlZiBMSUJSRVNTTF9WRVJTSU9OX05V TUJFUgorICAgaWYgKGNvbmZpZ3VyZV9zc2xfZmlwc19tb2RlKHNzbF9maXBzX21vZGUpICE9IDEp IHsKKyAgICAgR19FUlJPUigiRXJyb3Igc2V0dGluZyB0aGUgc3NsIGZpcHMgbW9kZSIpOworICAg ICBnb3RvIGVycm9yOworICAgfQorKyNlbmRpZgorIAorICAgU1NMX2xpYnJhcnlfaW5pdCgpOwor ICAgU1NMX2xvYWRfZXJyb3Jfc3RyaW5ncygpOworQEAgLTYxMSw3ICs2MTUsNyBAQCBlcnJvcjoK KyB2b2lkIHhjb21fY2xlYW51cF9zc2woKSB7CisgICBpZiAoIXhjb21fdXNlX3NzbCgpKSByZXR1 cm47CisgCistI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorKyNpZiBP UEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwgfHwgZGVmaW5lZChMSUJSRVNTTF9W RVJTSU9OX05VTUJFUikKKyAgIEVSUl9yZW1vdmVfdGhyZWFkX3N0YXRlKDApOworICNlbmRpZiAv KiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwgKi8KKyB9CitkaWZmIC0tZ2l0 IHBsdWdpbi94L2NsaWVudC94Y29ubmVjdGlvbl9pbXBsLmNjIHBsdWdpbi94L2NsaWVudC94Y29u bmVjdGlvbl9pbXBsLmNjCitpbmRleCAxM2JjNjc5NGUuLjUyMjMxNjlkYiAxMDA2NDQKKy0tLSBw bHVnaW4veC9jbGllbnQveGNvbm5lY3Rpb25faW1wbC5jYworKysrIHBsdWdpbi94L2NsaWVudC94 Y29ubmVjdGlvbl9pbXBsLmNjCitAQCAtNDk4LDYgKzQ5OCw3IEBAIFhFcnJvciBDb25uZWN0aW9u X2ltcGw6OmdldF9zc2xfZXJyb3IoY29uc3QgaW50IGVycm9yX2lkKSB7CisgICByZXR1cm4gWEVy cm9yKENSX1NTTF9DT05ORUNUSU9OX0VSUk9SLCBidWZmZXIpOworIH0KKyAKKysjaWZuZGVmIExJ QlJFU1NMX1ZFUlNJT05fTlVNQkVSCisgLyoqCisgICBTZXQgZmlwcyBtb2RlIGluIG9wZW5zc2wg bGlicmFyeSwKKyAgIFdoZW4gd2Ugc2V0IGZpcHMgbW9kZSBPTi9TVFJJQ1QsIGl0IHdpbGwgcGVy Zm9ybSBmb2xsb3dpbmcgb3BlcmF0aW9uczoKK0BAIC01MzcsNiArNTM4LDcgQEAgaW50IHNldF9m aXBzX21vZGUoY29uc3QgdWludDMyX3QgZmlwc19tb2RlLAorIEVYSVQ6CisgICByZXR1cm4gcmM7 CisgfQorKyNlbmRpZgorIAorIFhFcnJvciBDb25uZWN0aW9uX2ltcGw6OmFjdGl2YXRlX3Rscygp IHsKKyAgIGlmIChudWxscHRyID09IG1fdmlvKSByZXR1cm4gZ2V0X3NvY2tldF9lcnJvcihTT0NL RVRfRUNPTk5SRVNFVCk7CitAQCAtNTQ3LDEyICs1NDksMTQgQEAgWEVycm9yIENvbm5lY3Rpb25f aW1wbDo6YWN0aXZhdGVfdGxzKCkgeworICAgaWYgKCFtX2NvbnRleHQtPm1fc3NsX2NvbmZpZy5p c19jb25maWd1cmVkKCkpCisgICAgIHJldHVybiBYRXJyb3J7Q1JfU1NMX0NPTk5FQ1RJT05fRVJS T1IsIEVSX1RFWFRfVExTX05PVF9DT05GSUdVUkFURUQsIHRydWV9OworIAorKyNpZm5kZWYgTElC UkVTU0xfVkVSU0lPTl9OVU1CRVIKKyAgIGNoYXIgZXJyX3N0cmluZ1tPUEVOU1NMX0VSUk9SX0xF TkdUSF0gPSB7J1wwJ307CisgICBpZiAoc2V0X2ZpcHNfbW9kZSgKKyAgICAgICAgICAgc3RhdGlj X2Nhc3Q8dWludDMyX3Q+KG1fY29udGV4dC0+bV9zc2xfY29uZmlnLm1fc3NsX2ZpcHNfbW9kZSks CisgICAgICAgICAgIGVycl9zdHJpbmcpICE9IDEpIHsKKyAgICAgcmV0dXJuIFhFcnJvcntDUl9T U0xfQ09OTkVDVElPTl9FUlJPUiwgZXJyX3N0cmluZywgdHJ1ZX07CisgICB9CisrI2VuZGlmCisg ICBhdXRvIHNzbF9jdHhfZmxhZ3MgPSBwcm9jZXNzX3Rsc192ZXJzaW9uKAorICAgICAgIGRldGFp bHM6Om51bGxfd2hlbl9lbXB0eShtX2NvbnRleHQtPm1fc3NsX2NvbmZpZy5tX3Rsc192ZXJzaW9u KSk7CisgCitkaWZmIC0tZ2l0IHJvdXRlci9zcmMvaHR0cC9zcmMvdGxzX2NsaWVudF9jb250ZXh0 LmNjIHJvdXRlci9zcmMvaHR0cC9zcmMvdGxzX2NsaWVudF9jb250ZXh0LmNjCitpbmRleCAyOTdj ZWVlMzAuLjdjMTE1NzI4OSAxMDA2NDQKKy0tLSByb3V0ZXIvc3JjL2h0dHAvc3JjL3Rsc19jbGll bnRfY29udGV4dC5jYworKysrIHJvdXRlci9zcmMvaHR0cC9zcmMvdGxzX2NsaWVudF9jb250ZXh0 LmNjCitAQCAtNTQsNyArNTQsNyBAQCB2b2lkIFRsc0NsaWVudENvbnRleHQ6OnZlcmlmeShUbHNW ZXJpZnkgdmVyaWZ5KSB7CisgCisgdm9pZCBUbHNDbGllbnRDb250ZXh0OjpjaXBoZXJfc3VpdGVz KGNvbnN0IHN0ZDo6c3RyaW5nICZjaXBoZXJzKSB7CisgLy8gVExTdjEuMyBjaXBoZXJzIGFyZSBj b250cm9sbGVkIHZpYSBTU0xfQ1RYX3NldF9jaXBoZXJzdWl0ZXMoKQorLSNpZiBPUEVOU1NMX1ZF UlNJT05fTlVNQkVSID49IFJPVVRFUl9PUEVOU1NMX1ZFUlNJT04oMSwgMSwgMSkKKysjaWZkZWYg VExTMV8zX1ZFUlNJT04KKyAgIGlmICgxICE9IFNTTF9DVFhfc2V0X2NpcGhlcnN1aXRlcyhzc2xf Y3R4Xy5nZXQoKSwgY2lwaGVycy5jX3N0cigpKSkgeworICAgICB0aHJvdyBUbHNFcnJvcigic2V0 LWNpcGhlci1zdWl0ZXMiKTsKKyAgIH0KK2RpZmYgLS1naXQgcm91dGVyL3NyYy9odHRwL3NyYy90 bHNfY29udGV4dC5jYyByb3V0ZXIvc3JjL2h0dHAvc3JjL3Rsc19jb250ZXh0LmNjCitpbmRleCA2 MGVkN2U2Y2EuLjM4OGVmOGYyOCAxMDA2NDQKKy0tLSByb3V0ZXIvc3JjL2h0dHAvc3JjL3Rsc19j b250ZXh0LmNjCisrKysgcm91dGVyL3NyYy9odHRwL3NyYy90bHNfY29udGV4dC5jYworQEAgLTkx LDcgKzkxLDcgQEAgc3RhdGljIGludCBvMTF4X3ZlcnNpb24oVGxzVmVyc2lvbiB2ZXJzaW9uKSB7 CisgICAgICAgcmV0dXJuIFRMUzFfMV9WRVJTSU9OOworICAgICBjYXNlIFRsc1ZlcnNpb246OlRM U18xXzI6CisgICAgICAgcmV0dXJuIFRMUzFfMl9WRVJTSU9OOworLSNpZiBPUEVOU1NMX1ZFUlNJ T05fTlVNQkVSID49IFJPVVRFUl9PUEVOU1NMX1ZFUlNJT04oMSwgMSwgMSkKKysjaWZkZWYgVExT MV8zX1ZFUlNJT04KKyAgICAgY2FzZSBUbHNWZXJzaW9uOjpUTFNfMV8zOgorICAgICAgIHJldHVy biBUTFMxXzNfVkVSU0lPTjsKKyAjZW5kaWYKK0BAIC0xMjAsOSArMTIwLDExIEBAIHZvaWQgVGxz Q29udGV4dDo6dmVyc2lvbl9yYW5nZShUbHNWZXJzaW9uIG1pbl92ZXJzaW9uLCBUbHNWZXJzaW9u IG1heF92ZXJzaW9uKSB7CisgICBzd2l0Y2ggKG1pbl92ZXJzaW9uKSB7CisgICAgIGRlZmF1bHQ6 CisgICAgICAgLy8gdW5rbm93biwgbGVhdmUgYWxsIGRpc2FibGVkCisrI2lmZGVmIFRMUzFfM19W RVJTSU9OCisgICAgICAgLy8gZmFsbHRocm91Z2gKKyAgICAgY2FzZSBUbHNWZXJzaW9uOjpUTFNf MV8zOgorICAgICAgIG9wdHMgfD0gU1NMX09QX05PX1RMU3YxXzI7CisrI2VuZGlmCisgICAgICAg Ly8gZmFsbHRocm91Z2gKKyAgICAgY2FzZSBUbHNWZXJzaW9uOjpUTFNfMV8yOgorICAgICAgIG9w dHMgfD0gU1NMX09QX05PX1RMU3YxXzE7CitAQCAtMTcwLDggKzE3MiwxMCBAQCBUbHNWZXJzaW9u IFRsc0NvbnRleHQ6Om1pbl92ZXJzaW9uKCkgY29uc3QgeworICAgICAgIHJldHVybiBUbHNWZXJz aW9uOjpUTFNfMV8xOworICAgICBjYXNlIFRMUzFfMl9WRVJTSU9OOgorICAgICAgIHJldHVybiBU bHNWZXJzaW9uOjpUTFNfMV8yOworKyNpZmRlZiBUTFMxXzNfVkVSU0lPTgorICAgICBjYXNlIFRM UzFfM19WRVJTSU9OOgorICAgICAgIHJldHVybiBUbHNWZXJzaW9uOjpUTFNfMV8zOworKyNlbmRp ZgorICAgICBjYXNlIDA6CisgICAgICAgcmV0dXJuIFRsc1ZlcnNpb246OkFVVE87CisgICAgIGRl ZmF1bHQ6CitAQCAtMjMwLDcgKzIzNCw4IEBAIFRsc0NvbnRleHQ6OkluZm9DYWxsYmFjayBUbHND b250ZXh0OjppbmZvX2NhbGxiYWNrKCkgY29uc3QgeworIH0KKyAKKyBpbnQgVGxzQ29udGV4dDo6 c2VjdXJpdHlfbGV2ZWwoKSBjb25zdCB7CistI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPj0g Uk9VVEVSX09QRU5TU0xfVkVSU0lPTigxLCAxLCAwKQorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVN QkVSID49IFJPVVRFUl9PUEVOU1NMX1ZFUlNJT04oMSwgMSwgMCkgJiYgXAorKyAgICAhZGVmaW5l ZChMSUJSRVNTTF9WRVJTSU9OX05VTUJFUikKKyAgIHJldHVybiBTU0xfQ1RYX2dldF9zZWN1cml0 eV9sZXZlbChzc2xfY3R4Xy5nZXQoKSk7CisgI2Vsc2UKKyAgIHJldHVybiAwOworZGlmZiAtLWdp dCByb3V0ZXIvc3JjL2h0dHAvc3JjL3Rsc19zZXJ2ZXJfY29udGV4dC5jYyByb3V0ZXIvc3JjL2h0 dHAvc3JjL3Rsc19zZXJ2ZXJfY29udGV4dC5jYworaW5kZXggMGY0NDcyNDE5Li43MDdkN2RlODYg MTAwNjQ0CistLS0gcm91dGVyL3NyYy9odHRwL3NyYy90bHNfc2VydmVyX2NvbnRleHQuY2MKKysr KyByb3V0ZXIvc3JjL2h0dHAvc3JjL3Rsc19zZXJ2ZXJfY29udGV4dC5jYworQEAgLTE2Nyw3ICsx NjcsOCBAQCB2b2lkIFRsc1NlcnZlckNvbnRleHQ6OmluaXRfdG1wX2RoKGNvbnN0IHN0ZDo6c3Ry aW5nICZkaF9wYXJhbXMpIHsKKyAgICAgfQorIAorICAgfSBlbHNlIHsKKy0jaWYgT1BFTlNTTF9W RVJTSU9OX05VTUJFUiA+PSBST1VURVJfT1BFTlNTTF9WRVJTSU9OKDEsIDEsIDApCisrI2lmIE9Q RU5TU0xfVkVSU0lPTl9OVU1CRVIgPj0gUk9VVEVSX09QRU5TU0xfVkVSU0lPTigxLCAxLCAwKSAm JiBcCisrICAgICFkZWZpbmVkKExJQlJFU1NMX1ZFUlNJT05fTlVNQkVSKQorICAgICBkaDIwNDgu cmVzZXQoREhfZ2V0XzIwNDhfMjU2KCkpOworICNlbHNlCisgICAgIC8qCitkaWZmIC0tZ2l0IHNx bC1jb21tb24vY2xpZW50LmNjIHNxbC1jb21tb24vY2xpZW50LmNjCitpbmRleCBmZmIxMzZiNWIu LjhhMGM3YjgzNCAxMDA2NDQKKy0tLSBzcWwtY29tbW9uL2NsaWVudC5jYworKysrIHNxbC1jb21t b24vY2xpZW50LmNjCitAQCAtNzc2Niw2ICs3NzY2LDcgQEAgaW50IFNURENBTEwgbXlzcWxfb3B0 aW9ucyhNWVNRTCAqbXlzcWwsIGVudW0gbXlzcWxfb3B0aW9uIG9wdGlvbiwKKyAgICAgICAgIHJl dHVybiAxOworICAgICAgIGJyZWFrOworICAgICBjYXNlIE1ZU1FMX09QVF9TU0xfRklQU19NT0RF OiB7CisrI2lmICFkZWZpbmVkKExJQlJFU1NMX1ZFUlNJT05fTlVNQkVSKQorICAgICAgIGNoYXIg c3NsX2Vycl9zdHJpbmdbT1BFTlNTTF9FUlJPUl9MRU5HVEhdID0geydcMCd9OworICAgICAgIEVO U1VSRV9FWFRFTlNJT05TX1BSRVNFTlQoJm15c3FsLT5vcHRpb25zKTsKKyAgICAgICBteXNxbC0+ b3B0aW9ucy5leHRlbnNpb24tPnNzbF9maXBzX21vZGUgPSAqc3RhdGljX2Nhc3Q8Y29uc3QgdWlu dCAqPihhcmcpOworQEAgLTc3NzcsNiArNzc3OCw3IEBAIGludCBTVERDQUxMIG15c3FsX29wdGlv bnMoTVlTUUwgKm15c3FsLCBlbnVtIG15c3FsX29wdGlvbiBvcHRpb24sCisgICAgICAgICAgICAg IlNldCBGaXBzIG1vZGUgT04vU1RSSUNUIGZhaWxlZCwgZGV0YWlsOiAnJXMnLiIsIHNzbF9lcnJf c3RyaW5nKTsKKyAgICAgICAgIHJldHVybiAxOworICAgICAgIH0KKysjZW5kaWYKKyAgICAgfSBi cmVhazsKKyAgICAgY2FzZSBNWVNRTF9PUFRfU1NMX01PREU6CisgICAgICAgRU5TVVJFX0VYVEVO U0lPTlNfUFJFU0VOVCgmbXlzcWwtPm9wdGlvbnMpOworZGlmZiAtLWdpdCBzcWwvbXlzcWxkLmNj IHNxbC9teXNxbGQuY2MKK2luZGV4IDY4MmU4ZDVhZS4uOTZhOTIyZDdhIDEwMDY0NAorLS0tIHNx bC9teXNxbGQuY2MKKysrKyBzcWwvbXlzcWxkLmNjCitAQCAtNTEwOSw3ICs1MTA5LDcgQEAgc3Rh dGljIGludCBpbml0X3RocmVhZF9lbnZpcm9ubWVudCgpIHsKKyAKKyBzdGF0aWMgUFNJX21lbW9y eV9rZXkga2V5X21lbW9yeV9vcGVuc3NsID0gUFNJX05PVF9JTlNUUlVNRU5URUQ7CisgCistI2lm IE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorKyNpZiBPUEVOU1NMX1ZFUlNJ T05fTlVNQkVSIDwgMHgxMDEwMDAwMEwgfHwgZGVmaW5lZChMSUJSRVNTTF9WRVJTSU9OX05VTUJF UikKKyAjZGVmaW5lIEZJTEVfTElORV9BUkdTCisgI2Vsc2UKKyAjZGVmaW5lIEZJTEVfTElORV9B UkdTICwgY29uc3QgY2hhciAqLCBpbnQKK0BAIC01MTQzLDEyICs1MTQzLDE0IEBAIHN0YXRpYyB2 b2lkIGluaXRfc3NsKCkgeworIH0KKyAKKyBzdGF0aWMgaW50IGluaXRfc3NsX2NvbW11bmljYXRp b24oKSB7CisrI2lmbmRlZiBMSUJSRVNTTF9WRVJTSU9OX05VTUJFUgorICAgY2hhciBzc2xfZXJy X3N0cmluZ1tPUEVOU1NMX0VSUk9SX0xFTkdUSF0gPSB7J1wwJ307CisgICBpbnQgcmV0X2ZpcHNf bW9kZSA9IHNldF9maXBzX21vZGUob3B0X3NzbF9maXBzX21vZGUsIHNzbF9lcnJfc3RyaW5nKTsK KyAgIGlmIChyZXRfZmlwc19tb2RlICE9IDEpIHsKKyAgICAgTG9nRXJyKEVSUk9SX0xFVkVMLCBF Ul9TU0xfRklQU19NT0RFX0VSUk9SLCBzc2xfZXJyX3N0cmluZyk7CisgICAgIHJldHVybiAxOwor ICAgfQorKyNlbmRpZgorICAgaWYgKFRMU19jaGFubmVsOjpzaW5nbGV0b25faW5pdCgmbXlzcWxf bWFpbiwgbXlzcWxfbWFpbl9jaGFubmVsLCBvcHRfdXNlX3NzbCwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgJnNlcnZlcl9tYWluX2NhbGxiYWNrLCBvcHRfaW5pdGlhbGl6ZSkp CisgICAgIHJldHVybiAxOworZGlmZiAtLWdpdCBzcWwvc3lzX3ZhcnMuY2Mgc3FsL3N5c192YXJz LmNjCitpbmRleCA1YjFhODJkMmYuLjRlMmRmZjg2NSAxMDA2NDQKKy0tLSBzcWwvc3lzX3ZhcnMu Y2MKKysrKyBzcWwvc3lzX3ZhcnMuY2MKK0BAIC00NDc0LDYgKzQ0NzQsNyBAQCBzdGF0aWMgU3lz X3Zhcl91bG9uZyBTeXNfbWF4X2V4ZWN1dGlvbl90aW1lKAorICAgICBISU5UX1VQREFURUFCTEUg U0VTU0lPTl9WQVIobWF4X2V4ZWN1dGlvbl90aW1lKSwgQ01EX0xJTkUoUkVRVUlSRURfQVJHKSwK KyAgICAgVkFMSURfUkFOR0UoMCwgVUxPTkdfTUFYKSwgREVGQVVMVCgwKSwgQkxPQ0tfU0laRSgx KSk7CisgCisrI2lmbmRlZiBMSUJSRVNTTF9WRVJTSU9OX05VTUJFUgorIHN0YXRpYyBib29sIHVw ZGF0ZV9maXBzX21vZGUoc3lzX3ZhciAqLCBUSEQgKiwgZW51bV92YXJfdHlwZSkgeworICAgY2hh ciBzc2xfZXJyX3N0cmluZ1tPUEVOU1NMX0VSUk9SX0xFTkdUSF0gPSB7J1wwJ307CisgICBpZiAo c2V0X2ZpcHNfbW9kZShvcHRfc3NsX2ZpcHNfbW9kZSwgc3NsX2Vycl9zdHJpbmcpICE9IDEpIHsK K0BAIC00NDg0LDE1ICs0NDg1LDMxIEBAIHN0YXRpYyBib29sIHVwZGF0ZV9maXBzX21vZGUoc3lz X3ZhciAqLCBUSEQgKiwgZW51bV92YXJfdHlwZSkgeworICAgICByZXR1cm4gZmFsc2U7CisgICB9 CisgfQorKyNlbmRpZgorKworKyNpZiBkZWZpbmVkKExJQlJFU1NMX1ZFUlNJT05fTlVNQkVSKQor K3N0YXRpYyBjb25zdCBjaGFyICpzc2xfZmlwc19tb2RlX25hbWVzW10gPSB7Ik9GRiIsIDB9Owor KyNlbHNlCisrc3RhdGljIGNvbnN0IGNoYXIgKnNzbF9maXBzX21vZGVfbmFtZXNbXSA9IHsiT0ZG IiwgIk9OIiwgIlNUUklDVCIsIDB9OworKyNlbmRpZgorIAorLXN0YXRpYyBjb25zdCBjaGFyICpz c2xfZmlwc19tb2RlX25hbWVzW10gPSB7Ik9GRiIsICJPTiIsICJTVFJJQ1QiLCBudWxscHRyfTsK KyBzdGF0aWMgU3lzX3Zhcl9lbnVtIFN5c19zc2xfZmlwc19tb2RlKAorICAgICAic3NsX2ZpcHNf bW9kZSIsCisgICAgICJTU0wgRklQUyBtb2RlIChhcHBsaWVzIG9ubHkgZm9yIE9wZW5TU0wpOyAi CisrI2lmbmRlZiBMSUJSRVNTTF9WRVJTSU9OX05VTUJFUgorICAgICAicGVybWl0dGVkIHZhbHVl cyBhcmU6IE9GRiwgT04sIFNUUklDVCIsCisrI2Vsc2UKKysgICAgInBlcm1pdHRlZCB2YWx1ZXMg YXJlOiBPRkYiLAorKyNlbmRpZgorICAgICBHTE9CQUxfVkFSKG9wdF9zc2xfZmlwc19tb2RlKSwg Q01EX0xJTkUoUkVRVUlSRURfQVJHLCBPUFRfU1NMX0ZJUFNfTU9ERSksCisgICAgIHNzbF9maXBz X21vZGVfbmFtZXMsIERFRkFVTFQoMCksIE5PX01VVEVYX0dVQVJELCBOT1RfSU5fQklOTE9HLAor LSAgICBPTl9DSEVDSyhudWxscHRyKSwgT05fVVBEQVRFKHVwZGF0ZV9maXBzX21vZGUpLCBudWxs cHRyKTsKKysgICAgT05fQ0hFQ0soTlVMTCksCisrI2lmbmRlZiBMSUJSRVNTTF9WRVJTSU9OX05V TUJFUgorKyAgICBPTl9VUERBVEUodXBkYXRlX2ZpcHNfbW9kZSksCisrI2Vsc2UKKysgICAgT05f VVBEQVRFKE5VTEwpLAorKyNlbmRpZgorKyAgICBOVUxMKTsKKyAKKyBzdGF0aWMgU3lzX3Zhcl9i b29sIFN5c19hdXRvX2dlbmVyYXRlX2NlcnRzKAorICAgICAiYXV0b19nZW5lcmF0ZV9jZXJ0cyIs CitkaWZmIC0tZ2l0IHZpby92aW9zc2wuY2MgdmlvL3Zpb3NzbC5jYworaW5kZXggMGU5NTk0NzQx Li4zYTU4OWM2NGIgMTAwNjQ0CistLS0gdmlvL3Zpb3NzbC5jYworKysrIHZpby92aW9zc2wuY2MK K0BAIC00NSw3ICs0NSw3IEBACisgICBCSU9fc2V0X2NhbGxiYWNrX2V4IHdhcyBhZGRlZCBpbiBv cGVuU1NMIDEuMS4xCisgICBGb3Igb2xkZXIgb3BlblNTTCwgdXNlIHRoZSBkZXByZWNhdGVkIEJJ T19zZXRfY2FsbGJhY2suCisgKi8KKy0jaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA+PSAweDEw MTAxMDAwTAorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSID49IDB4MTAxMDEwMDBMICYmICFk ZWZpbmVkKExJQlJFU1NMX1ZFUlNJT05fTlVNQkVSKQorICNkZWZpbmUgSEFWRV9CSU9fU0VUX0NB TExCQUNLX0VYCisgI2VuZGlmCisgCitAQCAtNjM0LDggKzYzNCw4IEBAIHN0YXRpYyBpbnQgc3Ns X2RvKHN0cnVjdCBzdF9WaW9TU0xGZCAqcHRyLCBWaW8gKnZpbywgbG9uZyB0aW1lb3V0LAorIAor ICNpZiAhZGVmaW5lZChEQlVHX09GRikKKyAgICAgeworLSAgICAgIFNUQUNLX09GKFNTTF9DT01Q KSAqc3NsX2NvbXBfbWV0aG9kcyA9IG51bGxwdHI7CistICAgICAgc3NsX2NvbXBfbWV0aG9kcyA9 IFNTTF9DT01QX2dldF9jb21wcmVzc2lvbl9tZXRob2RzKCk7CisrICAgICAgU1RBQ0tfT0YoU1NM X0NPTVApICpzc2xfY29tcF9tZXRob2RzID0gTlVMTDsKKysgICAgICBzc2xfY29tcF9tZXRob2Rz ID0gKFNUQUNLX09GKFNTTF9DT01QKSAqKVNTTF9DT01QX2dldF9jb21wcmVzc2lvbl9tZXRob2Rz KCk7CisgICAgICAgbiA9IHNrX1NTTF9DT01QX251bShzc2xfY29tcF9tZXRob2RzKTsKKyAgICAg ICBEQlVHX1BSSU5UKCJpbmZvIiwgKCJBdmFpbGFibGUgY29tcHJlc3Npb24gbWV0aG9kczpcbiIp KTsKKyAgICAgICBpZiAobiA9PSAwKQorQEAgLTY0Myw3ICs2NDMsNyBAQCBzdGF0aWMgaW50IHNz bF9kbyhzdHJ1Y3Qgc3RfVmlvU1NMRmQgKnB0ciwgVmlvICp2aW8sIGxvbmcgdGltZW91dCwKKyAg ICAgICBlbHNlCisgICAgICAgICBmb3IgKGogPSAwOyBqIDwgbjsgaisrKSB7CisgICAgICAgICAg IFNTTF9DT01QICpjID0gc2tfU1NMX0NPTVBfdmFsdWUoc3NsX2NvbXBfbWV0aG9kcywgaik7Cist I2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorKyNpZiBPUEVOU1NMX1ZF UlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwgfHwgZGVmaW5lZChMSUJSRVNTTF9WRVJTSU9OX05V TUJFUikKKyAgICAgICAgICAgREJVR19QUklOVCgiaW5mbyIsICgiICAlZDogJXNcbiIsIGMtPmlk LCBjLT5uYW1lKSk7CisgI2Vsc2UgIC8qIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAw MDAwTCAqLworICAgICAgICAgICBEQlVHX1BSSU5UKCJpbmZvIiwKK2RpZmYgLS1naXQgdmlvL3Zp b3NzbGZhY3Rvcmllcy5jYyB2aW8vdmlvc3NsZmFjdG9yaWVzLmNjCitpbmRleCA2YzA0MDI5Y2Mu LmYyNzIyMTQ2MyAxMDA2NDQKKy0tLSB2aW8vdmlvc3NsZmFjdG9yaWVzLmNjCisrKysgdmlvL3Zp b3NzbGZhY3Rvcmllcy5jYworQEAgLTQ3Myw2ICs0NzMsNyBAQCB2b2lkIHNzbF9zdGFydCgpIHsK KyAgIH0KKyB9CisgCisrI2lmbmRlZiBMSUJSRVNTTF9WRVJTSU9OX05VTUJFUgorIC8qKgorICAg U2V0IGZpcHMgbW9kZSBpbiBvcGVuc3NsIGxpYnJhcnksCisgICBXaGVuIHdlIHNldCBmaXBzIG1v ZGUgT04vU1RSSUNULCBpdCB3aWxsIHBlcmZvcm0gZm9sbG93aW5nIG9wZXJhdGlvbnM6CitAQCAt NTI2LDYgKzUyNyw3IEBAIEVYSVQ6CisgICBAcmV0dXJucyBvcGVuc3NsIGN1cnJlbnQgZmlwcyBt b2RlCisgKi8KKyB1aW50IGdldF9maXBzX21vZGUoKSB7IHJldHVybiBGSVBTX21vZGUoKTsgfQor KyNlbmRpZgorIAorIGxvbmcgcHJvY2Vzc190bHNfdmVyc2lvbihjb25zdCBjaGFyICp0bHNfdmVy c2lvbikgeworICAgY29uc3QgY2hhciAqc2VwYXJhdG9yID0gIiwiOworLS0gCisyLjI3LjAKKwpk aWZmIC0tZ2l0IGEvc3JjcGtncy9teXNxbDgvdGVtcGxhdGUgYi9zcmNwa2dzL215c3FsOC90ZW1w bGF0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMDk3N2U1OGFhZWYK LS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL215c3FsOC90ZW1wbGF0ZQpAQCAtMCwwICsxLDE1 NSBAQAorIyBUZW1wbGF0ZSBmaWxlIGZvciAnbXlzcWw4JworcGtnbmFtZT1teXNxbDgKK3ZlcnNp b249OC4wLjIxCityZXZpc2lvbj0xCit3cmtzcmM9Im15c3FsLSR7dmVyc2lvbn0iCitidWlsZF9z dHlsZT1jbWFrZQorY29uZmlndXJlX2FyZ3M9Ii1ESU5TVEFMTF9JTkZPRElSPXNoYXJlL215c3Fs L2RvY3MKKwktRElOU1RBTExfTUFORElSPXNoYXJlL21hbgorCS1ESU5TVEFMTF9QTFVHSU5ESVI9 bGliL215c3FsL3BsdWdpbgorCS1ESU5TVEFMTF9TQ1JJUFRESVI9YmluCisJLURJTlNUQUxMX0lO Q0xVREVESVI9aW5jbHVkZS9teXNxbAorCS1ESU5TVEFMTF9ET0NSRUFETUVESVI9c2hhcmUvbXlz cWwKKwktRElOU1RBTExfU1VQUE9SVEZJTEVTRElSPXNoYXJlL215c3FsCisJLURJTlNUQUxMX01Z U1FMU0hBUkVESVI9c2hhcmUvbXlzcWwKKwktRElOU1RBTExfRE9DRElSPXNoYXJlL215c3FsL2Rv Y3MKKwktRElOU1RBTExfU0hBUkVESVI9c2hhcmUvbXlzcWwKKwktRFNZU0NPTkZESVI9L2V0Yy9t eXNxbAorCS1ETVlTUUxfREFUQURJUj0vdmFyL2xpYi9teXNxbAorCS1ETVlTUUxfVU5JWF9BRERS PS9ydW4vbXlzcWxkL215c3FsZC5zb2NrCisJLURERUZBVUxUX0NIQVJTRVQ9dXRmOG1iNCAgICAg ICAgICAgICAgICMgZGVmYXVsdAorCS1EREVGQVVMVF9DT0xMQVRJT049dXRmOG1iNF8wOTAwX2Fp X2NpICAjIGRlZmF1bHQKKwktREVOQUJMRURfTE9DQUxfSU5GSUxFPU9OCisJLURXSVRIX1pMSUI9 c3lzdGVtCisJLURXSVRIX1pTVEQ9c3lzdGVtCisJLURXSVRIX0xaND1zeXN0ZW0KKwktRFdJVEhf TFpNQT1zeXN0ZW0KKwktRFdJVEhfU1NMPXN5c3RlbQorCS1EV0lUSF9MSUJXUkFQPU9GRgorCS1E V0lUSE9VVF9FWEFNUExFX1NUT1JBR0VfRU5HSU5FPTEKKwktRFdJVEhPVVRfQVJDSElWRV9TVE9S QUdFX0VOR0lORT0xCisJLURXSVRIT1VUX0JMQUNLSE9MRV9TVE9SQUdFX0VOR0lORT0xCisJLURX SVRIT1VUX0ZFREVSQVRFRF9TVE9SQUdFX0VOR0lORT0xCisJLURXSVRIT1VUX05EQl9TVE9SQUdF X0VOR0lORT0xCisiCitob3N0bWFrZWRlcGVuZHM9InBlcmwgYmlzb24gbmN1cnNlcy1kZXZlbCIK K21ha2VkZXBlbmRzPSJ6bGliLWRldmVsIGxpYnpzdGQtZGV2ZWwgbGlibHo0LWRldmVsIGxpYmx6 bWEtZGV2ZWwgbGlicmVzc2wtZGV2ZWwKK3JlYWRsaW5lLWRldmVsIGJvb3N0LWRldmVsIgorZGVw ZW5kcz0ibXlzcWw4LWNsaWVudCIKK3Byb3ZpZGVzPSJteXNxbC0ke3ZlcnNpb259XyR7cmV2aXNp b259IgorcmVwbGFjZXM9Im15c3FsPj0wIgorY29uZl9maWxlcz0iL2V0Yy9teXNxbC9teS5jbmYi CitzaG9ydF9kZXNjPSJXb3JsZCdzIG1vc3QgcG9wdWxhciBvcGVuIHNvdXJjZSBkYXRhYmFzZSIK K21haW50YWluZXI9Ik9ycGhhbmVkIDxvcnBoYW5Adm9pZGxpbnV4Lm9yZz4iCitsaWNlbnNlPSJH UEwtMi4wLW9ubHkiCitob21lcGFnZT0iaHR0cHM6Ly93d3cubXlzcWwuY29tL3Byb2R1Y3RzL2Nv bW11bml0eS8iCitkaXN0ZmlsZXM9Imh0dHA6Ly9kZXYubXlzcWwuY29tL2dldC9Eb3dubG9hZHMv TXlTUUwtJHt2ZXJzaW9uJS4qfS9teXNxbC0ke3ZlcnNpb259LnRhci5neiIKK2NoZWNrc3VtPWFk NTY1MzVlZWUwMzk0M2FkZWVmNWYxODhlMWRmN2EzOTcyOWE3NTU3ZDhiMjE3OWIxYWZmZDk5NGI5 OTAwMzQKK3N5c3RlbV9hY2NvdW50cz0ibXlzcWwiCitteXNxbF9ob21lZGlyPSIvdmFyL2xpYi9t eXNxbCIKK2xpYjMyZGlzYWJsZWQ9eWVzCisKK0NGTEFHUz0iLURfX1NURENfSVNPXzEwNjQ2X18i CitpZiBbICIkQ1JPU1NfQlVJTEQiIF07IHRoZW4KKwljb25maWd1cmVfYXJncys9IiAtREhBVkVf TExWTV9MSUJDUFBfRVhJVENPREU9MSIKKwljb25maWd1cmVfYXJncys9IiAtREhBVkVfTExWTV9M SUJDUFBfRVhJVENPREVfX1RSWVJVTl9PVVRQVVQ9MCIKK2ZpCisKK3ByZV9jb25maWd1cmUoKSB7 CisJIyBsaWJyZXNzbCBtYWpvciBkZXRlY3Rpb24uCisJc2VkIC1pICcvT1BFTlNTTF9NQUpPUl9W RVJTSU9OL3MvMS8yLycgY21ha2Uvc3NsLmNtYWtlCisJI3NlZCAtaSAncy9zeXNcL3BvbGxcLmgv cG9sbC5oLycgaW5jbHVkZS9teV9uZXQuaAorCisJIyBXZSBuZWVkIHNvbWUgaG9zdCBiaW5hcmll cyBiZWZvcmUgc3RhcnRpbmcgY3Jvc3MgY29tcGlsYXRpb24uCisJaWYgWyAiJENST1NTX0JVSUxE IiBdOyB0aGVuCisJCUNDPSBDWFg9IENQUD0gTEQ9IEFSPSBBUz0gUkFOTElCPSBDRkxBR1M9IENY WEZMQUdTPSBMREZMQUdTPSBjbWFrZSAuCisJCW1ha2UgY29tcF9lcnIgY29tcF9zcWwgZ2VuX2xl eF9oYXNoIGdlbl9sZXhfdG9rZW4KKwkJbWtkaXIgLXAgYmluLmhvc3Qve2V4dHJhLHNjcmlwdHMs c3FsfQorCQljcCBleHRyYS9jb21wX2VyciBiaW4uaG9zdC9leHRyYQorCQljcCBzY3JpcHRzL2Nv bXBfc3FsIGJpbi5ob3N0L3NjcmlwdHMKKwkJY3Agc3FsL2dlbl9sZXhfaGFzaCBiaW4uaG9zdC9z cWwKKwkJY3Agc3FsL2dlbl9sZXhfdG9rZW4gYmluLmhvc3Qvc3FsCisJCW1ha2UgY2xlYW4KKwkJ IyBSZW1vdmUgdGhlIHJ1bGVzIGZvciB0aGUgaG9zdCBiaW5hcmllcyB0byBub3QKKwkJIyBoYXZl IHRoZW0gb3ZlcndyaXR0ZW4gd2l0aCB0YXJnZXQgYmluYXJpZXMKKwkJcm0gQ01ha2VDYWNoZS50 eHQKKwkJdnNlZCAtaSAke3dya3NyY30vc2NyaXB0cy9DTWFrZUxpc3RzLnR4dCBcCisJCQktZSAi L0FERF9FWEVDVVRBQkxFKGNvbXBfc3FsL2QiCisJCXZzZWQgLWkgJHt3cmtzcmN9L3NxbC9DTWFr ZUxpc3RzLnR4dCBcCisJCQktZSAiL0FERF9FWEVDVVRBQkxFKGdlbl9sZXhfaGFzaC9kIiBcCisJ CQktZSAiL0FERF9FWEVDVVRBQkxFKGdlbl9sZXhfdG9rZW4vZCIgXAorCQkJLWUgIi9BRERfREVQ RU5ERU5DSUVTKGdlbl9sZXhfdG9rZW4vZCIKKwlmaQorfQorCitwcmVfYnVpbGQoKSB7CisJaWYg WyAiJENST1NTX0JVSUxEIiBdOyB0aGVuCisJCW1rZGlyIC1wICR7d3Jrc3JjfS9idWlsZAorCQlj cCAtYSAke3dya3NyY30vYmluLmhvc3QvKiAke3dya3NyY30vYnVpbGQKKwkJbWtkaXIgLXAgJHt3 cmtzcmN9L2J1aWxkL2xpYm15c3FsZAorCQljcCAke3dya3NyY30vYmluLmhvc3Qvc3FsL2dlbl9s ZXhfdG9rZW4gJHt3cmtzcmN9L2J1aWxkL2xpYm15c3FsZAorCQlleHBvcnQgUEFUSD0ke1BBVEh9 OiR7d3Jrc3JjfS9idWlsZC9leHRyYToke3dya3NyY30vYnVpbGQvc2NyaXB0czoke3dya3NyY30v YnVpbGQvc3FsCisJZmkKK30KKworcG9zdF9pbnN0YWxsKCkgeworCSMgUmVtb3ZlIHVubmVlZGVk IHN0dWZmLgorCXJtIC1yZiAke0RFU1RESVJ9L3Vzci97c3FsLWJlbmNoLG15c3FsLXRlc3QsZGF0 YX0KKwlybSAtZiAke0RFU1RESVJ9L3Vzci9zaGFyZS9tYW4vbWFuMS9teXNxbC10ZXN0LXJ1bi5w bC4xCisKKwkjIENvbmZpZ3VyYXRpb24gZmlsZS4KKwl2aW5zdGFsbCAke0ZJTEVTRElSfS9teS5j bmYgNjQwIGV0Yy9teXNxbAorCisJIyBydW5pdCBzZXJ2aWNlCisJdnN2IG15c3FsZAorfQorCits aWJteXNxbGNsaWVudDhfcGFja2FnZSgpIHsKKwlzaG9ydF9kZXNjKz0iIC0gY2xpZW50IGxpYnJh cnkiCisJcHJvdmlkZXM9ImxpYm15c3FsY2xpZW50LSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0iCisJ cmVwbGFjZXM9ImxpYm15c3FsY2xpZW50Pj0wIgorCXBrZ19pbnN0YWxsKCkgeworCQl2bW92ZSAi dXNyL2xpYi9saWJteXNxbGNsaWVudCouc28uKiIKKwl9Cit9CisKK2xpYm15c3FsY2xpZW50OC1k ZXZlbF9wYWNrYWdlKCkgeworCWRlcGVuZHM9ImxpYm15c3FsY2xpZW50OD49JHt2ZXJzaW9ufV8k e3JldmlzaW9ufSIKKwlwcm92aWRlcz0ibGlibXlzcWxjbGllbnQtZGV2ZWwtJHt2ZXJzaW9ufV8k e3JldmlzaW9ufSIKKwlyZXBsYWNlcz0ibGlibXlzcWxjbGllbnQtZGV2ZWw+PTAiCisJc2hvcnRf ZGVzYys9IiAtIGRldmVsb3BtZW50IGZpbGVzIgorCXBrZ19pbnN0YWxsKCkgeworCQl2bW92ZSB1 c3IvYmluL215c3FsX2NvbmZpZworCQl2bW92ZSB1c3Ivc2hhcmUvbWFuL21hbjEvbXlzcWxfY29u ZmlnLjEKKwkJdm1vdmUgdXNyL2luY2x1ZGUKKwkJdm1vdmUgInVzci9saWIvKi5hIgorCQl2bW92 ZSAidXNyL2xpYi8qLnNvIgorCX0KK30KKworbXlzcWw4LWNsaWVudF9wYWNrYWdlKCkgeworCWRl cGVuZHM9InBlcmwiCisJcHJvdmlkZXM9Im15c3FsLWNsaWVudC0ke3ZlcnNpb259XyR7cmV2aXNp b259IgorCXJlcGxhY2VzPSJteXNxbC1jbGllbnQ+PTAiCisJc2hvcnRfZGVzYys9IiAtIGRhdGFi YXNlIGNsaWVudCBiaW5hcmllcyIKKwlwa2dfaW5zdGFsbCgpIHsKKwkJZm9yIGYgaW4gaW5ub2No ZWNrc3VtIGlubm90b3AgbXlpc2FtX2Z0ZHVtcCBteXNxbCBteXNxbF9jbGllbnRfdGVzdCBcCisJ CQlteXNxbF9jbGllbnRfdGVzdF9lbWJlZGRlZCBteXNxbGR1bXBzbG93IG15c3FsYmlubG9nIFwK KwkJCW15c3FsX2ZpbmRfcm93cyBteXNxbF9maXhfZXh0ZW5zaW9ucyBteXNxbF93YWl0cGlkIG15 c3FsYWNjZXNzIFwKKwkJCW15c3FsYWRtaW4gbXlzcWxhbmFseXplIG15c3FsYnVnIG15c3FsY2hl Y2sgbXlzcWxkdW1wIFwKKwkJCW15c3FsaW1wb3J0IG15c3Fsb3B0aW1pemUgbXlzcWxyZXBhaXIg bXlzcWxyZXBvcnQgbXlzcWxzaG93IFwKKwkJCW15c3Fsc2xhcCBteXNxbHRlc3RfZW1iZWRkZWQg bXlzcWxtYW5hZ2VyIG15c3FsdGVzdCBcCisJCQlteXNxbGhvdGNvcHkgbXlzcWxfdXBncmFkZSBt eXNxbF96YXA7IGRvCisJCQlpZiBbIC1mICR7REVTVERJUn0vdXNyL2Jpbi8ke2Z9IF07IHRoZW4K KwkJCQl2bW92ZSB1c3IvYmluLyR7Zn0KKwkJCWVsaWYgWyAtZiAke0RFU1RESVJ9L3Vzci9zYmlu LyR7Zn0gXTsgdGhlbgorCQkJCXZtb3ZlIHVzci9zYmluLyR7Zn0KKwkJCWZpCisJCQlpZiBbIC1m ICR7REVTVERJUn0vdXNyL3NoYXJlL21hbi9tYW4xLyR7Zn0uMSBdOyB0aGVuCisJCQkJdm1vdmUg dXNyL3NoYXJlL21hbi9tYW4xLyR7Zn0uMQorCQkJZWxpZiBbIC1mICR7REVTVERJUn0vdXNyL3No YXJlL21hbi9tYW44LyR7Zn0uOCBdOyB0aGVuCisJCQkJdm1vdmUgdXNyL3NoYXJlL21hbi9tYW44 LyR7Zn0uOAorCQkJZmkKKwkJZG9uZQorCX0KK30KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbXlzcWw4 L3VwZGF0ZSBiL3NyY3BrZ3MvbXlzcWw4L3VwZGF0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAwMC4uZGE4MDc5N2NmNGEKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL215 c3FsOC91cGRhdGUKQEAgLTAsMCArMSwyIEBACitzaXRlPSdodHRwOi8vZGV2Lm15c3FsLmNvbS9k b3dubG9hZHMvbXlzcWwvJworcGF0dGVybj0nTXlTUUwgQ29tbXVuaXR5IFNlcnZlciBcS1tcZC5d KycK --===============3788399289654518575==--