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 16230 invoked from network); 29 Jul 2020 12:32:48 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 29 Jul 2020 12:32:48 -0000 Content-Type: multipart/mixed; boundary="===============0698530682134247756==" 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: Wed, 29 Jul 2020 14:32:48 +0200 List-Id: Message-ID: <20200729123248.bWpxZjNNHrNl11az_qYJVT6eUilYQMsNA1yogc1kYNw@z> GitHub notification mails are now in MIME to allow UTF8. --===============0698530682134247756== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgcmllbiBhZ2FpbnN0IG1hc3RlciBv biB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20vcmllbi92 b2lkLXBhY2thZ2VzIG5ldy9teXNxbC04Cmh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3Zv aWQtcGFja2FnZXMvcHVsbC8yMzYxNwoKTmV3IHBhY2thZ2U6IG15c3FsOC04LjAuMjEKVGhpcyBQ UiBhZGRzIHRoZSBNeVNRTCBkYXRhYmFzZSB2ZXJzaW9uIDguDQoNCiMjIyMgTW90aXZhdGlvbg0K DQpUaGUgb3RoZXIgYG15c3FsYCBwYWNrYWdlIGlzIHN0aWxsIHZlcnNpb24gNS42LCBidXQgdGhl IHJlYXNvbiBJIGNyZWF0ZWQgYSBuZXcgcGFja2FnZSBpcyBiZWNhdXNlIHRoZSB1cGdyYWRlIHdv dWxkIGJyZWFrIG1vc3QgZGF0YWJhc2VzIHNpbmNlIE15U1FMIG9ubHkgaGFzIGJhY2t3YXJkcyBj b21wYXRpYmlsaXR5IGZvciBvbmUgbWFqb3IgdmVyc2lvbi4gSW5zdGVhZCBvZiBjcmVhdGluZyBh IGxvdCBvZiBmcnVzdHJhdGlvbiBJIHRvb2sgdGhlIHBhdGggdm9pZCBoYXMgYWxyZWFkeSB0YWtl biB3aXRoIHBvc3RncmVzcWwgKGUuZy4gY3JlYXRpbmcgdGhlIGBwb3N0Z3Jlc3FsMTJgIHBhY2th Z2UgbmV4dCB0byBgcG9zdGdyZXNxbGApLg0KDQojIyMjIExpYnJlU1NMIHN1cHBvcnQNCg0KTXlT UUwgZG9lcyBub3Qgc3VwcG9ydCBsaWJyZXNzbCBieSBkZWZhdWx0LCBidXQgSSd2ZSB1c2VkIHNv bWUgcGF0Y2hlcyBmcm9tIFtnZW50b29dKGh0dHBzOi8vZGV2LmdlbnRvby5vcmcvfndoaXNzaS9k aXN0L215c3FsLykgKHdpdGggcGVybWlzc2lvbiBvZiBAV2hpc3NpKS4gVGhleSBhbHNvIG1haW50 YWluIGEgcmVwb3NpdG9yeSB3aXRoIHdvcmtpbmcgY2hhbmdlcyBvdmVyIGF0IGh0dHBzOi8vZ2l0 aHViLmNvbS9XaGlzc2kvZ2VudG9vLW15c3FsLg0KDQojIyMjIENyb3NzIGNvbXBpbGluZw0KDQpJ IGdhdmUgdXAgY3Jvc3MgY29tcGlsaW5nIHRoaXMgcGFja2FnZSBiZWNhdXNlIEkndmUgYWxyZWFk eSBzcGVudCBxdWl0ZSBzb21lIHRpbWUgZ2V0dGluZyB0aGlzIGNvbXBpbGUgb24geDg2LiBTb3Jy eS4NCg0KRHVyaW5nIGNvbmZpZ3VyYXRpb24gaXQgdHJpZXMgdG8gZGV0ZWN0IGxpYnJhcnkgdmVy c2lvbnMgYnkgY29tcGlsaW5nIGFuZCBydW5uaW5nIHNtYWxsIGJpbmFyaWVzLCBidXQgdGhpcyB3 b24ndCB3b3JrIHdoZW4gY3Jvc3MgY29tcGlsaW5nLiBJJ3ZlIHRyaWVkIHNldHRpbmcgYGJ1aWxk X2hlbHBlcj1xZW11YCBidXQgaXQgZGllcyB3aXRob3V0IGVycm9yIG1lc3NhZ2UsIGp1c3QgZXJy b3IgY29kZSAyLiBBdCB0aGF0IHBvaW50IGkgZ2F2ZSB1cCBiZWNhdXNlIGJ1aWxkaW5nIHRoaXMg cGFja2FnZSB0YWtlcyBhZ2VzLg0KDQojIyMjIEluaXRpYWxpemF0aW9uDQoNCkkndmUgdHJpZWQg dG8gcmVwbGljYXRlIHRoZSBiZWhhdmlvciBvZiB0aGUgb3JpZ2luYWwgYG15c3FsYCBwYWNrYWdl IGFzIGNsb3NlIGFzIHBvc3NpYmxlLiBUaGUgYElOU1RBTExgIHNjcmlwdCBpbml0aWFsaXplcyB0 aGUgZGF0YSBkaXJlY3RvcnkgYW5kIHNldHMgYW4gZW1wdHkgcm9vdCBwYXNzd29yZC4gSXQgYWxz byBlY2hvJ3MgYSBtZXNzYWdlIHRlbGxpbmcgdGhlIHVzZXIgdGhleSBzaG91bGQgcnVuIGBteXNx bF9zZWN1cmVfaW5zdGFsbGF0aW9uYCBpbiBvcmRlciB0byBzZXQgYSByb290IHBhc3N3b3JkIGFu ZCB0byByZW1vdmUgdGVzdCBkYXRhYmFzZXMgYW5kIGFub255bW91cyB1c2Vycy4NCg0KVGhlIGdp dmVuIGNvbmZpZ3VyYXRpb24gb25seSBhbGxvd3MgY29ubmVjdGlvbnMgZnJvbSBsb2NhbGhvc3Qs IHNvIHRoZSBzZWN1cml0eSByaXNrIGlzIGF0IGEgbWluaW11bSBoZXJlLiBIb3dldmVyLCBpZiBk ZXNpcmVkIEkgY2FuIGxldCB0aGUgaW5pdGlhbGl6YXRpb24gc3RlcCBnZW5lcmF0ZSBhIHJhbmRv bSByb290IHBhc3N3b3JkLgoKQSBwYXRjaCBmaWxlIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL3Zv aWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzIzNjE3LnBhdGNoIGlzIGF0dGFjaGVk --===============0698530682134247756== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-new/mysql-8-23617.patch" RnJvbSAxZWM2NDAyNzRiYzUwMTk3NmRlMjk5NzFkYzM2ZjlkNmQ1MGMzZTZkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBSaWVuIE1hZXJ0ZW5zIDxyaWVuLm1hZXJ0ZW5zQHBvc3Rlby5i ZT4KRGF0ZTogRnJpLCAxNyBKdWwgMjAyMCAxNjo0MDowNyArMDIwMApTdWJqZWN0OiBbUEFUQ0hd IFtjaSBza2lwXSBOZXcgcGFja2FnZTogbXlzcWw4LTguMC4yMQoKLS0tCiBzcmNwa2dzL2xpYm15 c3FsY2xpZW50OCAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEgKwogc3JjcGtncy9saWJteXNx bGNsaWVudDgtZGV2ZWwgICAgICAgICAgICAgICAgIHwgICAxICsKIHNyY3BrZ3MvbXlzcWw4LWNs aWVudCAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMSArCiBzcmNwa2dzL215c3FsOC9JTlNU QUxMICAgICAgICAgICAgICAgICAgICAgICAgfCAgMTIgKwogc3JjcGtncy9teXNxbDgvZmlsZXMv bXkuY25mICAgICAgICAgICAgICAgICAgIHwgIDQyICsrKwogc3JjcGtncy9teXNxbDgvZmlsZXMv bXlzcWxkL2xvZy9ydW4gICAgICAgICAgIHwgICAyICsKIHNyY3BrZ3MvbXlzcWw4L2ZpbGVzL215 c3FsZC9ydW4gICAgICAgICAgICAgICB8ICAgNCArCiAuLi4vcGF0Y2hlcy8wMDAyLWNtYWtlLVJl bW92ZS1XZXJyb3IucGF0Y2ggICAgfCAgMzAgKysKIC4uLi8wMDA0LXRlc3RzLWZpeC1ncmFudF91 c2VyX2xvY2stdGVzdC5wYXRjaCB8ICA5MiArKysrKwogLi4uL3BhdGNoZXMvMDAwNS1BZGQtTGli cmVTU0wtc3VwcG9ydC5wYXRjaCAgIHwgMzU2ICsrKysrKysrKysrKysrKysrKwogc3JjcGtncy9t eXNxbDgvdGVtcGxhdGUgICAgICAgICAgICAgICAgICAgICAgIHwgMTE3ICsrKysrKwogc3JjcGtn cy9teXNxbDgvdXBkYXRlICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAyICsKIDEyIGZpbGVz IGNoYW5nZWQsIDY2MCBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMjAwMDAgc3JjcGtncy9s aWJteXNxbGNsaWVudDgKIGNyZWF0ZSBtb2RlIDEyMDAwMCBzcmNwa2dzL2xpYm15c3FsY2xpZW50 OC1kZXZlbAogY3JlYXRlIG1vZGUgMTIwMDAwIHNyY3BrZ3MvbXlzcWw4LWNsaWVudAogY3JlYXRl IG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbXlzcWw4L0lOU1RBTEwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBz cmNwa2dzL215c3FsOC9maWxlcy9teS5jbmYKIGNyZWF0ZSBtb2RlIDEwMDc1NSBzcmNwa2dzL215 c3FsOC9maWxlcy9teXNxbGQvbG9nL3J1bgogY3JlYXRlIG1vZGUgMTAwNzU1IHNyY3BrZ3MvbXlz cWw4L2ZpbGVzL215c3FsZC9ydW4KIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL215c3FsOC9w YXRjaGVzLzAwMDItY21ha2UtUmVtb3ZlLVdlcnJvci5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0 IHNyY3BrZ3MvbXlzcWw4L3BhdGNoZXMvMDAwNC10ZXN0cy1maXgtZ3JhbnRfdXNlcl9sb2NrLXRl c3QucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL215c3FsOC9wYXRjaGVzLzAwMDUt QWRkLUxpYnJlU1NMLXN1cHBvcnQucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL215 c3FsOC90ZW1wbGF0ZQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbXlzcWw4L3VwZGF0ZQoK ZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbGlibXlzcWxjbGllbnQ4IGIvc3JjcGtncy9saWJteXNxbGNs aWVudDgKbmV3IGZpbGUgbW9kZSAxMjAwMDAKaW5kZXggMDAwMDAwMDAwMDAuLjlhMTdlOTFiNjk0 Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9saWJteXNxbGNsaWVudDgKQEAgLTAsMCArMSBA QAorbXlzcWw4ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9saWJteXNxbGNsaWVudDgtZGV2ZWwgYi9zcmNwa2dzL2xpYm15c3FsY2xpZW50OC1kZXZlbApu ZXcgZmlsZSBtb2RlIDEyMDAwMAppbmRleCAwMDAwMDAwMDAwMC4uOWExN2U5MWI2OTQKLS0tIC9k ZXYvbnVsbAorKysgYi9zcmNwa2dzL2xpYm15c3FsY2xpZW50OC1kZXZlbApAQCAtMCwwICsxIEBA CitteXNxbDgKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmNwa2dz L215c3FsOC1jbGllbnQgYi9zcmNwa2dzL215c3FsOC1jbGllbnQKbmV3IGZpbGUgbW9kZSAxMjAw MDAKaW5kZXggMDAwMDAwMDAwMDAuLjlhMTdlOTFiNjk0Ci0tLSAvZGV2L251bGwKKysrIGIvc3Jj cGtncy9teXNxbDgtY2xpZW50CkBAIC0wLDAgKzEgQEAKK215c3FsOApcIE5vIG5ld2xpbmUgYXQg ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbXlzcWw4L0lOU1RBTEwgYi9zcmNwa2dz L215c3FsOC9JTlNUQUxMCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5i ODlhYzVjYjgzMQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvbXlzcWw4L0lOU1RBTEwKQEAg LTAsMCArMSwxMiBAQAorIyAqLSotc2hlbGwtKi0qCisjCitjYXNlICR7QUNUSU9OfSBpbgorcG9z dCkKKwlpbnN0YWxsIC1kbTA3MDAgdmFyL2xpYi9teXNxbAorCWJpbi9teXNxbGQgLS11c2VyPW15 c3FsIC0taW5pdGlhbGl6ZS1pbnNlY3VyZSAtLWRhdGFkaXI9L3Zhci9saWIvbXlzcWwKKwljaG93 biAtUiBteXNxbDpteXNxbCB2YXIvbGliL215c3FsCisJZWNobyAiWW91ciBNeVNRTCBwYXNzd29y ZCBpcyBlbXB0eS4iCisJZWNobyAiUGxlYXNlIHNlY3VyZSB5b3VyIGRhdGFiYXNlIGJ5IHJ1bm5p bmciCisJZWNobyAiIyBteXNxbF9zZWN1cmVfZGF0YWJhc2UiCisJOzsKK2VzYWMKZGlmZiAtLWdp dCBhL3NyY3BrZ3MvbXlzcWw4L2ZpbGVzL215LmNuZiBiL3NyY3BrZ3MvbXlzcWw4L2ZpbGVzL215 LmNuZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZmRjMDVlNmFiMjkK LS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL215c3FsOC9maWxlcy9teS5jbmYKQEAgLTAsMCAr MSw0MiBAQAorIyBNeVNRTCBjb25maWd1cmF0aW9uIGZpbGUgZm9yIGNsaWVudCBhbmQgc2VydmVy IGJhc2VkIG9uIHRoZSBHZW50b28KKyMgY29uZmlndXJhdGlvbnMuCisKKyMgVGhlIGZvbGxvd2lu ZyBvcHRpb25zIHdpbGwgYmUgcGFzc2VkIHRvIGFsbCBNeVNRTCBjbGllbnRzCitbY2xpZW50XQor cG9ydAkJCQk9IDMzMDYKK3NvY2tldAkJCQk9IC9ydW4vbXlzcWxkL215c3FsZC5zb2NrCisKKyMg SGVyZSBmb2xsb3dzIGVudHJpZXMgZm9yIHNvbWUgc3BlY2lmaWMgcHJvZ3JhbXMKKworIyBUaGUg TXlTUUwgc2VydmVyCitbbXlzcWxkXQorCisjIENvbW1lbnQgdGhlIG5leHQgbGluZSB0byBlbmFi bGUgYWNjZXNzIG92ZXIgVENQL0lQIHNvY2tldHMuCitza2lwLW5ldHdvcmtpbmcKKworcG9ydAkJ CT0gMzMwNgorYmluZC1hZGRyZXNzCT0gMTI3LjAuMC4xCisKK3NvY2tldAkJPSAvcnVuL215c3Fs ZC9teXNxbGQuc29jaworZGF0YWRpcgkJPSAvdmFyL2xpYi9teXNxbAorc2tpcC1leHRlcm5hbC1s b2NraW5nCisKKyMgU2luY2UgTXlTUUwgOCB0aGUgZGVmYXVsdCBhdXRoZW50aWNhdGlvbiBwbHVn aW4gc3dpdGNoZWQgZnJvbQorIyAnbXlzcWxfbmF0aXZlX3Bhc3N3b3JkJyB0byB0aGUgbW9yZSBz ZWN1cmUgJ2NhY2hpbmdfc2hhMl9wYXNzd29yZCcuCisjIFVuY29tbWVudCB0aGUgbmV4dCBsaW5l IGlmIHlvdSBleHBlcmllbmNlIGlzc3VlcyB3aXRoIGNsaWVudCBsaWJyYXJpZXMuCisjCisjbG9v c2UtZGVmYXVsdC1hdXRoZW50aWNhdGlvbi1wbHVnaW4gPSBteXNxbF9uYXRpdmVfcGFzc3dvcmQK KworbG9nLWJpbgorIyByZXF1aXJlZCB1bmlxdWUgaWQgYmV0d2VlbiAxIGFuZCAyXjMyIC0gMQor IyBkZWZhdWx0cyB0byAxIGlmIG1hc3Rlci1ob3N0IGlzIG5vdCBzZXQKKyMgYnV0IHdpbGwgbm90 IGZ1bmN0aW9uIGFzIGEgbWFzdGVyIGlmIG9taXR0ZWQKK3NlcnZlci1pZAk9IDEKKworW215c3Fs ZHVtcF0KK3F1aWNrCittYXhfYWxsb3dlZF9wYWNrZXQgPSAxNk0KKworW215c3FsXQorIyBSZW1v dmUgdGhlIG5leHQgY29tbWVudCBjaGFyYWN0ZXIgaWYgeW91IGFyZSBub3QgZmFtaWxpYXIgd2l0 aCBTUUwKKyNzYWZlLXVwZGF0ZXMKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbXlzcWw4L2ZpbGVzL215 c3FsZC9sb2cvcnVuIGIvc3JjcGtncy9teXNxbDgvZmlsZXMvbXlzcWxkL2xvZy9ydW4KbmV3IGZp bGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAwMDAuLmIzNmM0ZGFmYTQwCi0tLSAvZGV2L251 bGwKKysrIGIvc3JjcGtncy9teXNxbDgvZmlsZXMvbXlzcWxkL2xvZy9ydW4KQEAgLTAsMCArMSwy IEBACisjIS9iaW4vc2gKK2V4ZWMgbG9nZ2VyIC1wIGRhZW1vbi5ub3RpY2UKZGlmZiAtLWdpdCBh L3NyY3BrZ3MvbXlzcWw4L2ZpbGVzL215c3FsZC9ydW4gYi9zcmNwa2dzL215c3FsOC9maWxlcy9t eXNxbGQvcnVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwMDAwLi5iYzE2YTA3 ODgzZQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvbXlzcWw4L2ZpbGVzL215c3FsZC9ydW4K QEAgLTAsMCArMSw0IEBACisjIS9iaW4vc2gKK1sgISAtZCAvcnVuL215c3FsZCBdICYmIG1rZGly IC1wIC9ydW4vbXlzcWxkCitjaG93biBteXNxbDpteXNxbCAvcnVuL215c3FsZAorZXhlYyBjaHBz dCAtdSBteXNxbDpteXNxbCBteXNxbGQgLS11c2VyPW15c3FsIDI+JjEKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvbXlzcWw4L3BhdGNoZXMvMDAwMi1jbWFrZS1SZW1vdmUtV2Vycm9yLnBhdGNoIGIvc3Jj cGtncy9teXNxbDgvcGF0Y2hlcy8wMDAyLWNtYWtlLVJlbW92ZS1XZXJyb3IucGF0Y2gKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjRhNTJiZWJlZjJmCi0tLSAvZGV2L251 bGwKKysrIGIvc3JjcGtncy9teXNxbDgvcGF0Y2hlcy8wMDAyLWNtYWtlLVJlbW92ZS1XZXJyb3Iu cGF0Y2gKQEAgLTAsMCArMSwzMCBAQAorRnJvbSAxYzA2NmY1ZWEwMTA5OTRjNzkwMTEzYmY2Y2Y0 YTUyMDIyN2E5ZTA2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogVGhvbWFzIERldXRz Y2htYW5uIDx3aGlzc2lAZ2VudG9vLm9yZz4KK0RhdGU6IFRodSwgMzAgQXByIDIwMjAgMTk6NTk6 MjYgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAyLzVdIGNtYWtlOiBSZW1vdmUgLVdlcnJvcgorCitT aWduZWQtb2ZmLWJ5OiBUaG9tYXMgRGV1dHNjaG1hbm4gPHdoaXNzaUBnZW50b28ub3JnPgorLS0t CisgY21ha2UvbWFpbnRhaW5lci5jbWFrZSB8IDYgLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDYg ZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgY21ha2UvbWFpbnRhaW5lci5jbWFrZSBjbWFrZS9t YWludGFpbmVyLmNtYWtlCitpbmRleCA2YWEzYWM4NjYuLmIyZjYzYmRhYSAxMDA2NDQKKy0tLSBj bWFrZS9tYWludGFpbmVyLmNtYWtlCisrKysgY21ha2UvbWFpbnRhaW5lci5jbWFrZQorQEAgLTE1 NywxMiArMTU3LDYgQEAgSUYoTVlfQ09NUElMRVJfSVNfQ0xBTkcpCisgICAjIC1XemVyby1hcy1u dWxsLXBvaW50ZXItY29uc3RhbnQKKyBFTkRJRigpCisgCistIyBUdXJuIG9uIFdlcnJvciAod2Fy bmluZyA9PiBlcnJvcikgd2hlbiB1c2luZyBtYWludGFpbmVyIG1vZGUuCistSUYoTVlTUUxfTUFJ TlRBSU5FUl9NT0RFKQorLSAgU1RSSU5HX0FQUEVORChNWV9DX1dBUk5JTkdfRkxBR1MgICAiIC1X ZXJyb3IiKQorLSAgU1RSSU5HX0FQUEVORChNWV9DWFhfV0FSTklOR19GTEFHUyAiIC1XZXJyb3Ii KQorLUVORElGKCkKKy0KKyAjIFNldCB3YXJuaW5nIGZsYWdzIGZvciBnY2MvZysrL2NsYW5nL2Ns YW5nKysKKyBJRihNWV9DT01QSUxFUl9JU19HTlVfT1JfQ0xBTkcpCisgICBTVFJJTkdfQVBQRU5E KENNQUtFX0NfRkxBR1MgICAiICR7TVlfQ19XQVJOSU5HX0ZMQUdTfSIpCistLSAKKzIuMjcuMAor CmRpZmYgLS1naXQgYS9zcmNwa2dzL215c3FsOC9wYXRjaGVzLzAwMDQtdGVzdHMtZml4LWdyYW50 X3VzZXJfbG9jay10ZXN0LnBhdGNoIGIvc3JjcGtncy9teXNxbDgvcGF0Y2hlcy8wMDA0LXRlc3Rz LWZpeC1ncmFudF91c2VyX2xvY2stdGVzdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAwMC4uM2JkMWJjNWE0MDIKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL215 c3FsOC9wYXRjaGVzLzAwMDQtdGVzdHMtZml4LWdyYW50X3VzZXJfbG9jay10ZXN0LnBhdGNoCkBA IC0wLDAgKzEsOTIgQEAKK0Zyb20gMzg0MjdiNTNmZmMzNGY0NjU1MzRiY2IxY2JjNTZmYzhmMmMw N2Q4ZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFRob21hcyBEZXV0c2NobWFubiA8 d2hpc3NpQGdlbnRvby5vcmc+CitEYXRlOiBUaHUsIDMwIEFwciAyMDIwIDIwOjAxOjIwICswMjAw CitTdWJqZWN0OiBbUEFUQ0ggNC81XSB0ZXN0czogZml4IGdyYW50X3VzZXJfbG9jayB0ZXN0CisK K1NpZ25lZC1vZmYtYnk6IFRob21hcyBEZXV0c2NobWFubiA8d2hpc3NpQGdlbnRvby5vcmc+Cist LS0KKyBteXNxbC10ZXN0L3IvZ3JhbnRfdXNlcl9sb2NrLnJlc3VsdCB8ICA0ICsrLS0KKyBteXNx bC10ZXN0L3QvZ3JhbnRfdXNlcl9sb2NrLnRlc3QgICB8IDEyICsrKysrKy0tLS0tLQorIDIgZmls ZXMgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0 IG15c3FsLXRlc3Qvci9ncmFudF91c2VyX2xvY2sucmVzdWx0IG15c3FsLXRlc3Qvci9ncmFudF91 c2VyX2xvY2sucmVzdWx0CitpbmRleCA1NGFhZGRmYjguLjljOTUzODBmMSAxMDA2NDQKKy0tLSBt eXNxbC10ZXN0L3IvZ3JhbnRfdXNlcl9sb2NrLnJlc3VsdAorKysrIG15c3FsLXRlc3Qvci9ncmFu dF91c2VyX2xvY2sucmVzdWx0CitAQCAtOTgsMTMgKzk4LDEzIEBAIENVUlJFTlRfVVNFUigpCisg RFJPUCBVU0VSICcnQGxvY2FsaG9zdDsKKyAjIENyZWF0ZSBhbm9ueW1vdXMgdXNlciAtIExPQ0sK KyBDUkVBVEUgVVNFUiAnJ0Bsb2NhbGhvc3QgSURFTlRJRklFRCBCWSAncGFzcycgQUNDT1VOVCBM T0NLOworLWNvbm5lY3QobG9jYWxob3N0LCxwYXNzLHRlc3QsTUFTVEVSX1BPUlQsTUFTVEVSX1NP Q0tFVCk7CisrY29ubmVjdChsb2NhbGhvc3QsICxwYXNzLHRlc3QsTUFTVEVSX1BPUlQsTUFTVEVS X1NPQ0tFVCk7CisgRVJST1IgSFkwMDA6IEFjY2VzcyBkZW5pZWQgZm9yIHVzZXIgJyhudWxsKSdA J2xvY2FsaG9zdCcuIEFjY291bnQgaXMgbG9ja2VkLgorIERST1AgVVNFUiAnJ0Bsb2NhbGhvc3Q7 CisgIyBEaXNhYmxpbmcgYW5vbnltb3VzIHVzZXIKKyBDUkVBVEUgVVNFUiAnJ0Bsb2NhbGhvc3Qg SURFTlRJRklFRCBCWSAncGFzcyc7CisgQUxURVIgVVNFUiAnJ0Bsb2NhbGhvc3QgQUNDT1VOVCBM T0NLOworLWNvbm5lY3QobG9jYWxob3N0LCxwYXNzLHRlc3QsTUFTVEVSX1BPUlQsTUFTVEVSX1NP Q0tFVCk7CisrY29ubmVjdChsb2NhbGhvc3QsICxwYXNzLHRlc3QsTUFTVEVSX1BPUlQsTUFTVEVS X1NPQ0tFVCk7CisgRVJST1IgSFkwMDA6IEFjY2VzcyBkZW5pZWQgZm9yIHVzZXIgJyhudWxsKSdA J2xvY2FsaG9zdCcuIEFjY291bnQgaXMgbG9ja2VkLgorIERST1AgVVNFUiAnJ0Bsb2NhbGhvc3Q7 CisgIyBFbmFibGluZyBhbm9ueW1vdXMgdXNlcgorZGlmZiAtLWdpdCBteXNxbC10ZXN0L3QvZ3Jh bnRfdXNlcl9sb2NrLnRlc3QgbXlzcWwtdGVzdC90L2dyYW50X3VzZXJfbG9jay50ZXN0CitpbmRl eCBjODY3YmQ1M2QuLjAzZjg3N2RlZiAxMDA2NDQKKy0tLSBteXNxbC10ZXN0L3QvZ3JhbnRfdXNl cl9sb2NrLnRlc3QKKysrKyBteXNxbC10ZXN0L3QvZ3JhbnRfdXNlcl9sb2NrLnRlc3QKK0BAIC0x MTIsNyArMTEyLDcgQEAgRFJPUCBVU0VSIHVubG9ja2VkX3VzZXIyQGxvY2FsaG9zdDsKKyAtLWVj aG8gIyBDcmVhdGUgYW5vbnltb3VzIHVzZXIKKyBjb25uZWN0aW9uIGRlZmF1bHQ7CisgQ1JFQVRF IFVTRVIgJydAbG9jYWxob3N0IElERU5USUZJRUQgQlkgJ3Bhc3MnOworLWNvbm5lY3QoYW5vbnlt b3VzX3VzZXJfY29uLCBsb2NhbGhvc3QsICcnLCBwYXNzKTsKKytjb25uZWN0KGFub255bW91c191 c2VyX2NvbiwgbG9jYWxob3N0LCAnICcsIHBhc3MpOworIFNFTEVDVCBDVVJSRU5UX1VTRVIoKTsK KyBkaXNjb25uZWN0IGFub255bW91c191c2VyX2NvbjsKKyBjb25uZWN0aW9uIGRlZmF1bHQ7CitA QCAtMTIxLDcgKzEyMSw3IEBAIERST1AgVVNFUiAnJ0Bsb2NhbGhvc3Q7CisgLS1lY2hvICMgQ3Jl YXRlIGFub255bW91cyB1c2VyIC0gZXhwbGljaXQgVU5MT0NLCisgY29ubmVjdGlvbiBkZWZhdWx0 OworIENSRUFURSBVU0VSICcnQGxvY2FsaG9zdCBJREVOVElGSUVEIEJZICdwYXNzJyBBQ0NPVU5U IFVOTE9DSzsKKy1jb25uZWN0KGFub255bW91c191c2VyX2NvbiwgbG9jYWxob3N0LCAnJywgcGFz cyk7CisrY29ubmVjdChhbm9ueW1vdXNfdXNlcl9jb24sIGxvY2FsaG9zdCwgJyAnLCBwYXNzKTsK KyBTRUxFQ1QgQ1VSUkVOVF9VU0VSKCk7CisgZGlzY29ubmVjdCBhbm9ueW1vdXNfdXNlcl9jb247 CisgY29ubmVjdGlvbiBkZWZhdWx0OworQEAgLTEzMiw3ICsxMzIsNyBAQCBjb25uZWN0aW9uIGRl ZmF1bHQ7CisgQ1JFQVRFIFVTRVIgJydAbG9jYWxob3N0IElERU5USUZJRUQgQlkgJ3Bhc3MnIEFD Q09VTlQgTE9DSzsKKyAtLXJlcGxhY2VfcmVzdWx0ICRNQVNURVJfTVlTT0NLIE1BU1RFUl9TT0NL RVQgJE1BU1RFUl9NWVBPUlQgTUFTVEVSX1BPUlQKKyAtLWVycm9yIEVSX0FDQ09VTlRfSEFTX0JF RU5fTE9DS0VECistY29ubmVjdChhbm9ueW1vdXNfdXNlcl9jb24sIGxvY2FsaG9zdCwgJycsIHBh c3MpOworK2Nvbm5lY3QoYW5vbnltb3VzX3VzZXJfY29uLCBsb2NhbGhvc3QsICcgJywgcGFzcyk7 CisgY29ubmVjdGlvbiBkZWZhdWx0OworIERST1AgVVNFUiAnJ0Bsb2NhbGhvc3Q7CisgCitAQCAt MTQyLDcgKzE0Miw3IEBAIENSRUFURSBVU0VSICcnQGxvY2FsaG9zdCBJREVOVElGSUVEIEJZICdw YXNzJzsKKyBBTFRFUiBVU0VSICcnQGxvY2FsaG9zdCBBQ0NPVU5UIExPQ0s7CisgLS1yZXBsYWNl X3Jlc3VsdCAkTUFTVEVSX01ZU09DSyBNQVNURVJfU09DS0VUICRNQVNURVJfTVlQT1JUIE1BU1RF Ul9QT1JUCisgLS1lcnJvciBFUl9BQ0NPVU5UX0hBU19CRUVOX0xPQ0tFRAorLWNvbm5lY3QoYW5v bnltb3VzX3VzZXJfY29uLCBsb2NhbGhvc3QsICcnLCBwYXNzKTsKKytjb25uZWN0KGFub255bW91 c191c2VyX2NvbiwgbG9jYWxob3N0LCAnICcsIHBhc3MpOworIGNvbm5lY3Rpb24gZGVmYXVsdDsK KyBEUk9QIFVTRVIgJydAbG9jYWxob3N0OworIAorQEAgLTE1MCw3ICsxNTAsNyBAQCBEUk9QIFVT RVIgJydAbG9jYWxob3N0OworIGNvbm5lY3Rpb24gZGVmYXVsdDsKKyBDUkVBVEUgVVNFUiAnJ0Bs b2NhbGhvc3QgSURFTlRJRklFRCBCWSAncGFzcycgQUNDT1VOVCBMT0NLOworIEFMVEVSIFVTRVIg JydAbG9jYWxob3N0IEFDQ09VTlQgVU5MT0NLOworLWNvbm5lY3QoYW5vbnltb3VzX3VzZXJfY29u LCBsb2NhbGhvc3QsICcnLCBwYXNzKTsKKytjb25uZWN0KGFub255bW91c191c2VyX2NvbiwgbG9j YWxob3N0LCAnICcsIHBhc3MpOworIFNFTEVDVCBDVVJSRU5UX1VTRVIoKTsKKyBkaXNjb25uZWN0 IGFub255bW91c191c2VyX2NvbjsKKyBjb25uZWN0aW9uIGRlZmF1bHQ7CitAQCAtMTcwLDcgKzE3 MCw3IEBAIGNvbm5lY3Rpb24gZGVmYXVsdDsKKyBDUkVBVEUgdXNlciAnJ0Bsb2NhbGhvc3QgSURF TlRJRklFRCBCWSAncGFzcyc7CisgQ1JFQVRFIFVTRVIgJ3VubG9ja2VkX3VzZXInQGxvY2FsaG9z dCBJREVOVElGSUVEIEJZICdwYXNzJzsKKyAKKy1jb25uZWN0KGFub255bW91c191c2VyX2Nvbiwg bG9jYWxob3N0LCAnJywgcGFzcyk7CisrY29ubmVjdChhbm9ueW1vdXNfdXNlcl9jb24sIGxvY2Fs aG9zdCwgJyAnLCBwYXNzKTsKKyAtLWVycm9yIEVSX1RBQkxFQUNDRVNTX0RFTklFRF9FUlJPUgor IFVQREFURSBteXNxbC51c2VyIFNFVCBhY2NvdW50X2xvY2tlZD0nWScKKyAgIFdIRVJFIHVzZXI9 J3VubG9ja2VkX3VzZXInIGFuZCBob3N0ID0gJ2xvY2FsaG9zdCc7CistLSAKKzIuMjcuMAorCmRp ZmYgLS1naXQgYS9zcmNwa2dzL215c3FsOC9wYXRjaGVzLzAwMDUtQWRkLUxpYnJlU1NMLXN1cHBv cnQucGF0Y2ggYi9zcmNwa2dzL215c3FsOC9wYXRjaGVzLzAwMDUtQWRkLUxpYnJlU1NMLXN1cHBv cnQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmUyYTk0NDAz MjNkCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9teXNxbDgvcGF0Y2hlcy8wMDA1LUFkZC1M aWJyZVNTTC1zdXBwb3J0LnBhdGNoCkBAIC0wLDAgKzEsMzU2IEBACitGcm9tIDRhYWRmZjdiMDhm NmE2OTE2MGE0NGMxNzQyZDVhMTJmYjVhYmMwNTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitG cm9tOiBUaG9tYXMgRGV1dHNjaG1hbm4gPHdoaXNzaUBnZW50b28ub3JnPgorRGF0ZTogVGh1LCAz MCBBcHIgMjAyMCAyMDowMTo0OCArMDIwMAorU3ViamVjdDogW1BBVENIIDUvNV0gQWRkIExpYnJl U1NMIHN1cHBvcnQKKworU2lnbmVkLW9mZi1ieTogVGhvbWFzIERldXRzY2htYW5uIDx3aGlzc2lA Z2VudG9vLm9yZz4KKy0tLQorIGNtYWtlL3NzbC5jbWFrZSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8ICA1ICsrKy0tCisgbXlzeXMvbXlfbWQ1LmNjICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgIDIgKysKKyAuLi4vYmluZGluZ3MveGNvbS94Y29tL3hjb21fc3NsX3RyYW5z cG9ydC5jYyAgfCAgNiArKysrKy0KKyBwbHVnaW4veC9jbGllbnQveGNvbm5lY3Rpb25faW1wbC5j YyAgICAgICAgICAgfCAgNCArKysrCisgcm91dGVyL3NyYy9odHRwL3NyYy90bHNfY2xpZW50X2Nv bnRleHQuY2MgICAgIHwgIDIgKy0KKyByb3V0ZXIvc3JjL2h0dHAvc3JjL3Rsc19jb250ZXh0LmNj ICAgICAgICAgICAgfCAgOSArKysrKystLQorIHJvdXRlci9zcmMvaHR0cC9zcmMvdGxzX3NlcnZl cl9jb250ZXh0LmNjICAgICB8ICAzICsrLQorIHNxbC1jb21tb24vY2xpZW50LmNjICAgICAgICAg ICAgICAgICAgICAgICAgICB8ICAyICsrCisgc3FsL215c3FsZC5jYyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgIDQgKysrLQorIHNxbC9zeXNfdmFycy5jYyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8IDIxICsrKysrKysrKysrKysrKysrLS0KKyB2aW8vdmlvc3NsLmNj ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgOCArKystLS0tCisgdmlvL3Zpb3Nz bGZhY3Rvcmllcy5jYyAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKysKKyAxMiBmaWxlcyBj aGFuZ2VkLCA1NCBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBj bWFrZS9zc2wuY21ha2UgY21ha2Uvc3NsLmNtYWtlCitpbmRleCA1MmZlYWRlYWEuLjNiODMzMjY5 NSAxMDA2NDQKKy0tLSBjbWFrZS9zc2wuY21ha2UKKysrKyBjbWFrZS9zc2wuY21ha2UKK0BAIC0y MjIsMTMgKzIyMiwxNCBAQCBNQUNSTyAoTVlTUUxfQ0hFQ0tfU1NMKQorICAgICAgICAgT1BFTlNT TF9GSVhfVkVSU0lPTiAiJHtPUEVOU1NMX1ZFUlNJT05fTlVNQkVSfSIKKyAgICAgICAgICkKKyAg ICAgRU5ESUYoKQorLSAgICBJRigiJHtPUEVOU1NMX01BSk9SX1ZFUlNJT059LiR7T1BFTlNTTF9N SU5PUl9WRVJTSU9OfS4ke09QRU5TU0xfRklYX1ZFUlNJT059IiBWRVJTSU9OX0dSRUFURVIgIjEu MS4wIikKKysgICAgQ0hFQ0tfU1lNQk9MX0VYSVNUUyhUTFMxXzNfVkVSU0lPTiAib3BlbnNzbC90 bHMxLmgiIEhBVkVfVExTMV8zX1ZFUlNJT04pCisrICAgIElGKEhBVkVfVExTMV8zX1ZFUlNJT04p CisgICAgICAgIEFERF9ERUZJTklUSU9OUygtREhBVkVfVExTdjEzKQorICAgICBFTkRJRigpCisg ICAgIElGKE9QRU5TU0xfSU5DTFVERV9ESVIgQU5ECisgICAgICAgIE9QRU5TU0xfTElCUkFSWSAg IEFORAorICAgICAgICBDUllQVE9fTElCUkFSWSAgICAgIEFORAorLSAgICAgICBPUEVOU1NMX01B Sk9SX1ZFUlNJT04gU1RSRVFVQUwgIjEiCisrICAgICAgIE9QRU5TU0xfTUFKT1JfVkVSU0lPTiBW RVJTSU9OX0dSRUFURVJfRVFVQUwgIjEiCisgICAgICAgKQorICAgICAgIFNFVChPUEVOU1NMX0ZP VU5EIFRSVUUpCisgICAgICAgRklORF9QUk9HUkFNKE9QRU5TU0xfRVhFQ1VUQUJMRSBvcGVuc3Ns CitkaWZmIC0tZ2l0IG15c3lzL215X21kNS5jYyBteXN5cy9teV9tZDUuY2MKK2luZGV4IGRlYTk5 N2IyNS4uNTMxNjk2MzI5IDEwMDY0NAorLS0tIG15c3lzL215X21kNS5jYworKysrIG15c3lzL215 X21kNS5jYworQEAgLTU2LDcgKzU2LDkgQEAgc3RhdGljIHZvaWQgbXlfbWQ1X2hhc2godW5zaWdu ZWQgY2hhciAqZGlnZXN0LCB1bnNpZ25lZCBjb25zdCBjaGFyICpidWYsCisgaW50IGNvbXB1dGVf bWQ1X2hhc2goY2hhciAqZGlnZXN0LCBjb25zdCBjaGFyICpidWYsIGludCBsZW4pIHsKKyAgIGlu dCByZXR2YWwgPSAwOworICAgaW50IGZpcHNfbW9kZSA9IDA7CisrI2lmbmRlZiBMSUJSRVNTTF9W RVJTSU9OX05VTUJFUgorICAgZmlwc19tb2RlID0gRklQU19tb2RlKCk7CisrI2VuZGlmCisgICAv KiBJZiBmaXBzIG1vZGUgaXMgT04vU1RSSUNUIHJlc3RyaWN0ZWQgbWV0aG9kIGNhbGxzIHdpbGwg cmVzdWx0IGludG8gYWJvcnQsCisgICAgKiBza2lwcGluZyBjYWxsLiAqLworICAgaWYgKGZpcHNf bW9kZSA9PSAwKSB7CitkaWZmIC0tZ2l0IHBsdWdpbi9ncm91cF9yZXBsaWNhdGlvbi9saWJteXNx bGdjcy9zcmMvYmluZGluZ3MveGNvbS94Y29tL3hjb21fc3NsX3RyYW5zcG9ydC5jYyBwbHVnaW4v Z3JvdXBfcmVwbGljYXRpb24vbGlibXlzcWxnY3Mvc3JjL2JpbmRpbmdzL3hjb20veGNvbS94Y29t X3NzbF90cmFuc3BvcnQuY2MKK2luZGV4IDhiZjYzY2UxNC4uMDJmOTFiNDRlIDEwMDY0NAorLS0t IHBsdWdpbi9ncm91cF9yZXBsaWNhdGlvbi9saWJteXNxbGdjcy9zcmMvYmluZGluZ3MveGNvbS94 Y29tL3hjb21fc3NsX3RyYW5zcG9ydC5jYworKysrIHBsdWdpbi9ncm91cF9yZXBsaWNhdGlvbi9s aWJteXNxbGdjcy9zcmMvYmluZGluZ3MveGNvbS94Y29tL3hjb21fc3NsX3RyYW5zcG9ydC5jYwor QEAgLTMyNSw2ICszMjUsNyBAQCBlcnJvcjoKKyAgIHJldHVybiAxOworIH0KKyAKKysjaWZuZGVm IExJQlJFU1NMX1ZFUlNJT05fTlVNQkVSCisgI2RlZmluZSBPUEVOU1NMX0VSUk9SX0xFTkdUSCA1 MTIKKyBzdGF0aWMgaW50IGNvbmZpZ3VyZV9zc2xfZmlwc19tb2RlKGNvbnN0IHVpbnQgZmlwc19t b2RlKSB7CisgICBpbnQgcmMgPSAtMTsKK0BAIC0zNDgsNiArMzQ5LDcgQEAgc3RhdGljIGludCBj b25maWd1cmVfc3NsX2ZpcHNfbW9kZShjb25zdCB1aW50IGZpcHNfbW9kZSkgeworIEVYSVQ6Cisg ICByZXR1cm4gcmM7CisgfQorKyNlbmRpZgorIAorIHN0YXRpYyBpbnQgY29uZmlndXJlX3NzbF9j YShTU0xfQ1RYICpzc2xfY3R4LCBjb25zdCBjaGFyICpjYV9maWxlLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBjb25zdCBjaGFyICpjYV9wYXRoKSB7CitAQCAtNTQ0LDEwICs1NDYsMTIg QEAgaW50IHhjb21faW5pdF9zc2woY29uc3QgY2hhciAqc2VydmVyX2tleV9maWxlLCBjb25zdCBj aGFyICpzZXJ2ZXJfY2VydF9maWxlLAorICAgaW50IHZlcmlmeV9zZXJ2ZXIgPSBTU0xfVkVSSUZZ X05PTkU7CisgICBpbnQgdmVyaWZ5X2NsaWVudCA9IFNTTF9WRVJJRllfTk9ORTsKKyAKKysjaWZu ZGVmIExJQlJFU1NMX1ZFUlNJT05fTlVNQkVSCisgICBpZiAoY29uZmlndXJlX3NzbF9maXBzX21v ZGUoc3NsX2ZpcHNfbW9kZSkgIT0gMSkgeworICAgICBHX0VSUk9SKCJFcnJvciBzZXR0aW5nIHRo ZSBzc2wgZmlwcyBtb2RlIik7CisgICAgIGdvdG8gZXJyb3I7CisgICB9CisrI2VuZGlmCisgCisg ICBTU0xfbGlicmFyeV9pbml0KCk7CisgICBTU0xfbG9hZF9lcnJvcl9zdHJpbmdzKCk7CitAQCAt NjExLDcgKzYxNSw3IEBAIGVycm9yOgorIHZvaWQgeGNvbV9jbGVhbnVwX3NzbCgpIHsKKyAgIGlm ICgheGNvbV91c2Vfc3NsKCkpIHJldHVybjsKKyAKKy0jaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJF UiA8IDB4MTAxMDAwMDBMCisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAw TCB8fCBkZWZpbmVkKExJQlJFU1NMX1ZFUlNJT05fTlVNQkVSKQorICAgRVJSX3JlbW92ZV90aHJl YWRfc3RhdGUoMCk7CisgI2VuZGlmIC8qIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAw MDAwTCAqLworIH0KK2RpZmYgLS1naXQgcGx1Z2luL3gvY2xpZW50L3hjb25uZWN0aW9uX2ltcGwu Y2MgcGx1Z2luL3gvY2xpZW50L3hjb25uZWN0aW9uX2ltcGwuY2MKK2luZGV4IDEzYmM2Nzk0ZS4u NTIyMzE2OWRiIDEwMDY0NAorLS0tIHBsdWdpbi94L2NsaWVudC94Y29ubmVjdGlvbl9pbXBsLmNj CisrKysgcGx1Z2luL3gvY2xpZW50L3hjb25uZWN0aW9uX2ltcGwuY2MKK0BAIC00OTgsNiArNDk4 LDcgQEAgWEVycm9yIENvbm5lY3Rpb25faW1wbDo6Z2V0X3NzbF9lcnJvcihjb25zdCBpbnQgZXJy b3JfaWQpIHsKKyAgIHJldHVybiBYRXJyb3IoQ1JfU1NMX0NPTk5FQ1RJT05fRVJST1IsIGJ1ZmZl cik7CisgfQorIAorKyNpZm5kZWYgTElCUkVTU0xfVkVSU0lPTl9OVU1CRVIKKyAvKioKKyAgIFNl dCBmaXBzIG1vZGUgaW4gb3BlbnNzbCBsaWJyYXJ5LAorICAgV2hlbiB3ZSBzZXQgZmlwcyBtb2Rl IE9OL1NUUklDVCwgaXQgd2lsbCBwZXJmb3JtIGZvbGxvd2luZyBvcGVyYXRpb25zOgorQEAgLTUz Nyw2ICs1MzgsNyBAQCBpbnQgc2V0X2ZpcHNfbW9kZShjb25zdCB1aW50MzJfdCBmaXBzX21vZGUs CisgRVhJVDoKKyAgIHJldHVybiByYzsKKyB9CisrI2VuZGlmCisgCisgWEVycm9yIENvbm5lY3Rp b25faW1wbDo6YWN0aXZhdGVfdGxzKCkgeworICAgaWYgKG51bGxwdHIgPT0gbV92aW8pIHJldHVy biBnZXRfc29ja2V0X2Vycm9yKFNPQ0tFVF9FQ09OTlJFU0VUKTsKK0BAIC01NDcsMTIgKzU0OSwx NCBAQCBYRXJyb3IgQ29ubmVjdGlvbl9pbXBsOjphY3RpdmF0ZV90bHMoKSB7CisgICBpZiAoIW1f Y29udGV4dC0+bV9zc2xfY29uZmlnLmlzX2NvbmZpZ3VyZWQoKSkKKyAgICAgcmV0dXJuIFhFcnJv cntDUl9TU0xfQ09OTkVDVElPTl9FUlJPUiwgRVJfVEVYVF9UTFNfTk9UX0NPTkZJR1VSQVRFRCwg dHJ1ZX07CisgCisrI2lmbmRlZiBMSUJSRVNTTF9WRVJTSU9OX05VTUJFUgorICAgY2hhciBlcnJf c3RyaW5nW09QRU5TU0xfRVJST1JfTEVOR1RIXSA9IHsnXDAnfTsKKyAgIGlmIChzZXRfZmlwc19t b2RlKAorICAgICAgICAgICBzdGF0aWNfY2FzdDx1aW50MzJfdD4obV9jb250ZXh0LT5tX3NzbF9j b25maWcubV9zc2xfZmlwc19tb2RlKSwKKyAgICAgICAgICAgZXJyX3N0cmluZykgIT0gMSkgewor ICAgICByZXR1cm4gWEVycm9ye0NSX1NTTF9DT05ORUNUSU9OX0VSUk9SLCBlcnJfc3RyaW5nLCB0 cnVlfTsKKyAgIH0KKysjZW5kaWYKKyAgIGF1dG8gc3NsX2N0eF9mbGFncyA9IHByb2Nlc3NfdGxz X3ZlcnNpb24oCisgICAgICAgZGV0YWlsczo6bnVsbF93aGVuX2VtcHR5KG1fY29udGV4dC0+bV9z c2xfY29uZmlnLm1fdGxzX3ZlcnNpb24pKTsKKyAKK2RpZmYgLS1naXQgcm91dGVyL3NyYy9odHRw L3NyYy90bHNfY2xpZW50X2NvbnRleHQuY2Mgcm91dGVyL3NyYy9odHRwL3NyYy90bHNfY2xpZW50 X2NvbnRleHQuY2MKK2luZGV4IDI5N2NlZWUzMC4uN2MxMTU3Mjg5IDEwMDY0NAorLS0tIHJvdXRl ci9zcmMvaHR0cC9zcmMvdGxzX2NsaWVudF9jb250ZXh0LmNjCisrKysgcm91dGVyL3NyYy9odHRw L3NyYy90bHNfY2xpZW50X2NvbnRleHQuY2MKK0BAIC01NCw3ICs1NCw3IEBAIHZvaWQgVGxzQ2xp ZW50Q29udGV4dDo6dmVyaWZ5KFRsc1ZlcmlmeSB2ZXJpZnkpIHsKKyAKKyB2b2lkIFRsc0NsaWVu dENvbnRleHQ6OmNpcGhlcl9zdWl0ZXMoY29uc3Qgc3RkOjpzdHJpbmcgJmNpcGhlcnMpIHsKKyAv LyBUTFN2MS4zIGNpcGhlcnMgYXJlIGNvbnRyb2xsZWQgdmlhIFNTTF9DVFhfc2V0X2NpcGhlcnN1 aXRlcygpCistI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPj0gUk9VVEVSX09QRU5TU0xfVkVS U0lPTigxLCAxLCAxKQorKyNpZmRlZiBUTFMxXzNfVkVSU0lPTgorICAgaWYgKDEgIT0gU1NMX0NU WF9zZXRfY2lwaGVyc3VpdGVzKHNzbF9jdHhfLmdldCgpLCBjaXBoZXJzLmNfc3RyKCkpKSB7Cisg ICAgIHRocm93IFRsc0Vycm9yKCJzZXQtY2lwaGVyLXN1aXRlcyIpOworICAgfQorZGlmZiAtLWdp dCByb3V0ZXIvc3JjL2h0dHAvc3JjL3Rsc19jb250ZXh0LmNjIHJvdXRlci9zcmMvaHR0cC9zcmMv dGxzX2NvbnRleHQuY2MKK2luZGV4IDYwZWQ3ZTZjYS4uMzg4ZWY4ZjI4IDEwMDY0NAorLS0tIHJv dXRlci9zcmMvaHR0cC9zcmMvdGxzX2NvbnRleHQuY2MKKysrKyByb3V0ZXIvc3JjL2h0dHAvc3Jj L3Rsc19jb250ZXh0LmNjCitAQCAtOTEsNyArOTEsNyBAQCBzdGF0aWMgaW50IG8xMXhfdmVyc2lv bihUbHNWZXJzaW9uIHZlcnNpb24pIHsKKyAgICAgICByZXR1cm4gVExTMV8xX1ZFUlNJT047Cisg ICAgIGNhc2UgVGxzVmVyc2lvbjo6VExTXzFfMjoKKyAgICAgICByZXR1cm4gVExTMV8yX1ZFUlNJ T047CistI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPj0gUk9VVEVSX09QRU5TU0xfVkVSU0lP TigxLCAxLCAxKQorKyNpZmRlZiBUTFMxXzNfVkVSU0lPTgorICAgICBjYXNlIFRsc1ZlcnNpb246 OlRMU18xXzM6CisgICAgICAgcmV0dXJuIFRMUzFfM19WRVJTSU9OOworICNlbmRpZgorQEAgLTEy MCw5ICsxMjAsMTEgQEAgdm9pZCBUbHNDb250ZXh0Ojp2ZXJzaW9uX3JhbmdlKFRsc1ZlcnNpb24g bWluX3ZlcnNpb24sIFRsc1ZlcnNpb24gbWF4X3ZlcnNpb24pIHsKKyAgIHN3aXRjaCAobWluX3Zl cnNpb24pIHsKKyAgICAgZGVmYXVsdDoKKyAgICAgICAvLyB1bmtub3duLCBsZWF2ZSBhbGwgZGlz YWJsZWQKKysjaWZkZWYgVExTMV8zX1ZFUlNJT04KKyAgICAgICAvLyBmYWxsdGhyb3VnaAorICAg ICBjYXNlIFRsc1ZlcnNpb246OlRMU18xXzM6CisgICAgICAgb3B0cyB8PSBTU0xfT1BfTk9fVExT djFfMjsKKysjZW5kaWYKKyAgICAgICAvLyBmYWxsdGhyb3VnaAorICAgICBjYXNlIFRsc1ZlcnNp b246OlRMU18xXzI6CisgICAgICAgb3B0cyB8PSBTU0xfT1BfTk9fVExTdjFfMTsKK0BAIC0xNzAs OCArMTcyLDEwIEBAIFRsc1ZlcnNpb24gVGxzQ29udGV4dDo6bWluX3ZlcnNpb24oKSBjb25zdCB7 CisgICAgICAgcmV0dXJuIFRsc1ZlcnNpb246OlRMU18xXzE7CisgICAgIGNhc2UgVExTMV8yX1ZF UlNJT046CisgICAgICAgcmV0dXJuIFRsc1ZlcnNpb246OlRMU18xXzI7CisrI2lmZGVmIFRMUzFf M19WRVJTSU9OCisgICAgIGNhc2UgVExTMV8zX1ZFUlNJT046CisgICAgICAgcmV0dXJuIFRsc1Zl cnNpb246OlRMU18xXzM7CisrI2VuZGlmCisgICAgIGNhc2UgMDoKKyAgICAgICByZXR1cm4gVGxz VmVyc2lvbjo6QVVUTzsKKyAgICAgZGVmYXVsdDoKK0BAIC0yMzAsNyArMjM0LDggQEAgVGxzQ29u dGV4dDo6SW5mb0NhbGxiYWNrIFRsc0NvbnRleHQ6OmluZm9fY2FsbGJhY2soKSBjb25zdCB7Cisg fQorIAorIGludCBUbHNDb250ZXh0OjpzZWN1cml0eV9sZXZlbCgpIGNvbnN0IHsKKy0jaWYgT1BF TlNTTF9WRVJTSU9OX05VTUJFUiA+PSBST1VURVJfT1BFTlNTTF9WRVJTSU9OKDEsIDEsIDApCisr I2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPj0gUk9VVEVSX09QRU5TU0xfVkVSU0lPTigxLCAx LCAwKSAmJiBcCisrICAgICFkZWZpbmVkKExJQlJFU1NMX1ZFUlNJT05fTlVNQkVSKQorICAgcmV0 dXJuIFNTTF9DVFhfZ2V0X3NlY3VyaXR5X2xldmVsKHNzbF9jdHhfLmdldCgpKTsKKyAjZWxzZQor ICAgcmV0dXJuIDA7CitkaWZmIC0tZ2l0IHJvdXRlci9zcmMvaHR0cC9zcmMvdGxzX3NlcnZlcl9j b250ZXh0LmNjIHJvdXRlci9zcmMvaHR0cC9zcmMvdGxzX3NlcnZlcl9jb250ZXh0LmNjCitpbmRl eCAwZjQ0NzI0MTkuLjcwN2Q3ZGU4NiAxMDA2NDQKKy0tLSByb3V0ZXIvc3JjL2h0dHAvc3JjL3Rs c19zZXJ2ZXJfY29udGV4dC5jYworKysrIHJvdXRlci9zcmMvaHR0cC9zcmMvdGxzX3NlcnZlcl9j b250ZXh0LmNjCitAQCAtMTY3LDcgKzE2Nyw4IEBAIHZvaWQgVGxzU2VydmVyQ29udGV4dDo6aW5p dF90bXBfZGgoY29uc3Qgc3RkOjpzdHJpbmcgJmRoX3BhcmFtcykgeworICAgICB9CisgCisgICB9 IGVsc2UgeworLSNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSID49IFJPVVRFUl9PUEVOU1NMX1ZF UlNJT04oMSwgMSwgMCkKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA+PSBST1VURVJfT1BF TlNTTF9WRVJTSU9OKDEsIDEsIDApICYmIFwKKysgICAgIWRlZmluZWQoTElCUkVTU0xfVkVSU0lP Tl9OVU1CRVIpCisgICAgIGRoMjA0OC5yZXNldChESF9nZXRfMjA0OF8yNTYoKSk7CisgI2Vsc2UK KyAgICAgLyoKK2RpZmYgLS1naXQgc3FsLWNvbW1vbi9jbGllbnQuY2Mgc3FsLWNvbW1vbi9jbGll bnQuY2MKK2luZGV4IGZmYjEzNmI1Yi4uOGEwYzdiODM0IDEwMDY0NAorLS0tIHNxbC1jb21tb24v Y2xpZW50LmNjCisrKysgc3FsLWNvbW1vbi9jbGllbnQuY2MKK0BAIC03NzY2LDYgKzc3NjYsNyBA QCBpbnQgU1REQ0FMTCBteXNxbF9vcHRpb25zKE1ZU1FMICpteXNxbCwgZW51bSBteXNxbF9vcHRp b24gb3B0aW9uLAorICAgICAgICAgcmV0dXJuIDE7CisgICAgICAgYnJlYWs7CisgICAgIGNhc2Ug TVlTUUxfT1BUX1NTTF9GSVBTX01PREU6IHsKKysjaWYgIWRlZmluZWQoTElCUkVTU0xfVkVSU0lP Tl9OVU1CRVIpCisgICAgICAgY2hhciBzc2xfZXJyX3N0cmluZ1tPUEVOU1NMX0VSUk9SX0xFTkdU SF0gPSB7J1wwJ307CisgICAgICAgRU5TVVJFX0VYVEVOU0lPTlNfUFJFU0VOVCgmbXlzcWwtPm9w dGlvbnMpOworICAgICAgIG15c3FsLT5vcHRpb25zLmV4dGVuc2lvbi0+c3NsX2ZpcHNfbW9kZSA9 ICpzdGF0aWNfY2FzdDxjb25zdCB1aW50ICo+KGFyZyk7CitAQCAtNzc3Nyw2ICs3Nzc4LDcgQEAg aW50IFNURENBTEwgbXlzcWxfb3B0aW9ucyhNWVNRTCAqbXlzcWwsIGVudW0gbXlzcWxfb3B0aW9u IG9wdGlvbiwKKyAgICAgICAgICAgICAiU2V0IEZpcHMgbW9kZSBPTi9TVFJJQ1QgZmFpbGVkLCBk ZXRhaWw6ICclcycuIiwgc3NsX2Vycl9zdHJpbmcpOworICAgICAgICAgcmV0dXJuIDE7CisgICAg ICAgfQorKyNlbmRpZgorICAgICB9IGJyZWFrOworICAgICBjYXNlIE1ZU1FMX09QVF9TU0xfTU9E RToKKyAgICAgICBFTlNVUkVfRVhURU5TSU9OU19QUkVTRU5UKCZteXNxbC0+b3B0aW9ucyk7Citk aWZmIC0tZ2l0IHNxbC9teXNxbGQuY2Mgc3FsL215c3FsZC5jYworaW5kZXggNjgyZThkNWFlLi45 NmE5MjJkN2EgMTAwNjQ0CistLS0gc3FsL215c3FsZC5jYworKysrIHNxbC9teXNxbGQuY2MKK0BA IC01MTA5LDcgKzUxMDksNyBAQCBzdGF0aWMgaW50IGluaXRfdGhyZWFkX2Vudmlyb25tZW50KCkg eworIAorIHN0YXRpYyBQU0lfbWVtb3J5X2tleSBrZXlfbWVtb3J5X29wZW5zc2wgPSBQU0lfTk9U X0lOU1RSVU1FTlRFRDsKKyAKKy0jaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAw MDBMCisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTCB8fCBkZWZpbmVk KExJQlJFU1NMX1ZFUlNJT05fTlVNQkVSKQorICNkZWZpbmUgRklMRV9MSU5FX0FSR1MKKyAjZWxz ZQorICNkZWZpbmUgRklMRV9MSU5FX0FSR1MgLCBjb25zdCBjaGFyICosIGludAorQEAgLTUxNDMs MTIgKzUxNDMsMTQgQEAgc3RhdGljIHZvaWQgaW5pdF9zc2woKSB7CisgfQorIAorIHN0YXRpYyBp bnQgaW5pdF9zc2xfY29tbXVuaWNhdGlvbigpIHsKKysjaWZuZGVmIExJQlJFU1NMX1ZFUlNJT05f TlVNQkVSCisgICBjaGFyIHNzbF9lcnJfc3RyaW5nW09QRU5TU0xfRVJST1JfTEVOR1RIXSA9IHsn XDAnfTsKKyAgIGludCByZXRfZmlwc19tb2RlID0gc2V0X2ZpcHNfbW9kZShvcHRfc3NsX2ZpcHNf bW9kZSwgc3NsX2Vycl9zdHJpbmcpOworICAgaWYgKHJldF9maXBzX21vZGUgIT0gMSkgeworICAg ICBMb2dFcnIoRVJST1JfTEVWRUwsIEVSX1NTTF9GSVBTX01PREVfRVJST1IsIHNzbF9lcnJfc3Ry aW5nKTsKKyAgICAgcmV0dXJuIDE7CisgICB9CisrI2VuZGlmCisgICBpZiAoVExTX2NoYW5uZWw6 OnNpbmdsZXRvbl9pbml0KCZteXNxbF9tYWluLCBteXNxbF9tYWluX2NoYW5uZWwsIG9wdF91c2Vf c3NsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmc2VydmVyX21haW5fY2Fs bGJhY2ssIG9wdF9pbml0aWFsaXplKSkKKyAgICAgcmV0dXJuIDE7CitkaWZmIC0tZ2l0IHNxbC9z eXNfdmFycy5jYyBzcWwvc3lzX3ZhcnMuY2MKK2luZGV4IDViMWE4MmQyZi4uNGUyZGZmODY1IDEw MDY0NAorLS0tIHNxbC9zeXNfdmFycy5jYworKysrIHNxbC9zeXNfdmFycy5jYworQEAgLTQ0NzQs NiArNDQ3NCw3IEBAIHN0YXRpYyBTeXNfdmFyX3Vsb25nIFN5c19tYXhfZXhlY3V0aW9uX3RpbWUo CisgICAgIEhJTlRfVVBEQVRFQUJMRSBTRVNTSU9OX1ZBUihtYXhfZXhlY3V0aW9uX3RpbWUpLCBD TURfTElORShSRVFVSVJFRF9BUkcpLAorICAgICBWQUxJRF9SQU5HRSgwLCBVTE9OR19NQVgpLCBE RUZBVUxUKDApLCBCTE9DS19TSVpFKDEpKTsKKyAKKysjaWZuZGVmIExJQlJFU1NMX1ZFUlNJT05f TlVNQkVSCisgc3RhdGljIGJvb2wgdXBkYXRlX2ZpcHNfbW9kZShzeXNfdmFyICosIFRIRCAqLCBl bnVtX3Zhcl90eXBlKSB7CisgICBjaGFyIHNzbF9lcnJfc3RyaW5nW09QRU5TU0xfRVJST1JfTEVO R1RIXSA9IHsnXDAnfTsKKyAgIGlmIChzZXRfZmlwc19tb2RlKG9wdF9zc2xfZmlwc19tb2RlLCBz c2xfZXJyX3N0cmluZykgIT0gMSkgeworQEAgLTQ0ODQsMTUgKzQ0ODUsMzEgQEAgc3RhdGljIGJv b2wgdXBkYXRlX2ZpcHNfbW9kZShzeXNfdmFyICosIFRIRCAqLCBlbnVtX3Zhcl90eXBlKSB7Cisg ICAgIHJldHVybiBmYWxzZTsKKyAgIH0KKyB9CisrI2VuZGlmCisrCisrI2lmIGRlZmluZWQoTElC UkVTU0xfVkVSU0lPTl9OVU1CRVIpCisrc3RhdGljIGNvbnN0IGNoYXIgKnNzbF9maXBzX21vZGVf bmFtZXNbXSA9IHsiT0ZGIiwgMH07CisrI2Vsc2UKKytzdGF0aWMgY29uc3QgY2hhciAqc3NsX2Zp cHNfbW9kZV9uYW1lc1tdID0geyJPRkYiLCAiT04iLCAiU1RSSUNUIiwgMH07CisrI2VuZGlmCisg Cistc3RhdGljIGNvbnN0IGNoYXIgKnNzbF9maXBzX21vZGVfbmFtZXNbXSA9IHsiT0ZGIiwgIk9O IiwgIlNUUklDVCIsIG51bGxwdHJ9OworIHN0YXRpYyBTeXNfdmFyX2VudW0gU3lzX3NzbF9maXBz X21vZGUoCisgICAgICJzc2xfZmlwc19tb2RlIiwKKyAgICAgIlNTTCBGSVBTIG1vZGUgKGFwcGxp ZXMgb25seSBmb3IgT3BlblNTTCk7ICIKKysjaWZuZGVmIExJQlJFU1NMX1ZFUlNJT05fTlVNQkVS CisgICAgICJwZXJtaXR0ZWQgdmFsdWVzIGFyZTogT0ZGLCBPTiwgU1RSSUNUIiwKKysjZWxzZQor KyAgICAicGVybWl0dGVkIHZhbHVlcyBhcmU6IE9GRiIsCisrI2VuZGlmCisgICAgIEdMT0JBTF9W QVIob3B0X3NzbF9maXBzX21vZGUpLCBDTURfTElORShSRVFVSVJFRF9BUkcsIE9QVF9TU0xfRklQ U19NT0RFKSwKKyAgICAgc3NsX2ZpcHNfbW9kZV9uYW1lcywgREVGQVVMVCgwKSwgTk9fTVVURVhf R1VBUkQsIE5PVF9JTl9CSU5MT0csCistICAgIE9OX0NIRUNLKG51bGxwdHIpLCBPTl9VUERBVEUo dXBkYXRlX2ZpcHNfbW9kZSksIG51bGxwdHIpOworKyAgICBPTl9DSEVDSyhOVUxMKSwKKysjaWZu ZGVmIExJQlJFU1NMX1ZFUlNJT05fTlVNQkVSCisrICAgIE9OX1VQREFURSh1cGRhdGVfZmlwc19t b2RlKSwKKysjZWxzZQorKyAgICBPTl9VUERBVEUoTlVMTCksCisrI2VuZGlmCisrICAgIE5VTEwp OworIAorIHN0YXRpYyBTeXNfdmFyX2Jvb2wgU3lzX2F1dG9fZ2VuZXJhdGVfY2VydHMoCisgICAg ICJhdXRvX2dlbmVyYXRlX2NlcnRzIiwKK2RpZmYgLS1naXQgdmlvL3Zpb3NzbC5jYyB2aW8vdmlv c3NsLmNjCitpbmRleCAwZTk1OTQ3NDEuLjNhNTg5YzY0YiAxMDA2NDQKKy0tLSB2aW8vdmlvc3Ns LmNjCisrKysgdmlvL3Zpb3NzbC5jYworQEAgLTQ1LDcgKzQ1LDcgQEAKKyAgIEJJT19zZXRfY2Fs bGJhY2tfZXggd2FzIGFkZGVkIGluIG9wZW5TU0wgMS4xLjEKKyAgIEZvciBvbGRlciBvcGVuU1NM LCB1c2UgdGhlIGRlcHJlY2F0ZWQgQklPX3NldF9jYWxsYmFjay4KKyAqLworLSNpZiBPUEVOU1NM X1ZFUlNJT05fTlVNQkVSID49IDB4MTAxMDEwMDBMCisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1C RVIgPj0gMHgxMDEwMTAwMEwgJiYgIWRlZmluZWQoTElCUkVTU0xfVkVSU0lPTl9OVU1CRVIpCisg I2RlZmluZSBIQVZFX0JJT19TRVRfQ0FMTEJBQ0tfRVgKKyAjZW5kaWYKKyAKK0BAIC02MzQsOCAr NjM0LDggQEAgc3RhdGljIGludCBzc2xfZG8oc3RydWN0IHN0X1Zpb1NTTEZkICpwdHIsIFZpbyAq dmlvLCBsb25nIHRpbWVvdXQsCisgCisgI2lmICFkZWZpbmVkKERCVUdfT0ZGKQorICAgICB7Cist ICAgICAgU1RBQ0tfT0YoU1NMX0NPTVApICpzc2xfY29tcF9tZXRob2RzID0gbnVsbHB0cjsKKy0g ICAgICBzc2xfY29tcF9tZXRob2RzID0gU1NMX0NPTVBfZ2V0X2NvbXByZXNzaW9uX21ldGhvZHMo KTsKKysgICAgICBTVEFDS19PRihTU0xfQ09NUCkgKnNzbF9jb21wX21ldGhvZHMgPSBOVUxMOwor KyAgICAgIHNzbF9jb21wX21ldGhvZHMgPSAoU1RBQ0tfT0YoU1NMX0NPTVApICopU1NMX0NPTVBf Z2V0X2NvbXByZXNzaW9uX21ldGhvZHMoKTsKKyAgICAgICBuID0gc2tfU1NMX0NPTVBfbnVtKHNz bF9jb21wX21ldGhvZHMpOworICAgICAgIERCVUdfUFJJTlQoImluZm8iLCAoIkF2YWlsYWJsZSBj b21wcmVzc2lvbiBtZXRob2RzOlxuIikpOworICAgICAgIGlmIChuID09IDApCitAQCAtNjQzLDcg KzY0Myw3IEBAIHN0YXRpYyBpbnQgc3NsX2RvKHN0cnVjdCBzdF9WaW9TU0xGZCAqcHRyLCBWaW8g KnZpbywgbG9uZyB0aW1lb3V0LAorICAgICAgIGVsc2UKKyAgICAgICAgIGZvciAoaiA9IDA7IGog PCBuOyBqKyspIHsKKyAgICAgICAgICAgU1NMX0NPTVAgKmMgPSBza19TU0xfQ09NUF92YWx1ZShz c2xfY29tcF9tZXRob2RzLCBqKTsKKy0jaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAx MDAwMDBMCisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTCB8fCBkZWZp bmVkKExJQlJFU1NMX1ZFUlNJT05fTlVNQkVSKQorICAgICAgICAgICBEQlVHX1BSSU5UKCJpbmZv IiwgKCIgICVkOiAlc1xuIiwgYy0+aWQsIGMtPm5hbWUpKTsKKyAjZWxzZSAgLyogT1BFTlNTTF9W RVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMICovCisgICAgICAgICAgIERCVUdfUFJJTlQoImlu Zm8iLAorZGlmZiAtLWdpdCB2aW8vdmlvc3NsZmFjdG9yaWVzLmNjIHZpby92aW9zc2xmYWN0b3Jp ZXMuY2MKK2luZGV4IDZjMDQwMjljYy4uZjI3MjIxNDYzIDEwMDY0NAorLS0tIHZpby92aW9zc2xm YWN0b3JpZXMuY2MKKysrKyB2aW8vdmlvc3NsZmFjdG9yaWVzLmNjCitAQCAtNDczLDYgKzQ3Myw3 IEBAIHZvaWQgc3NsX3N0YXJ0KCkgeworICAgfQorIH0KKyAKKysjaWZuZGVmIExJQlJFU1NMX1ZF UlNJT05fTlVNQkVSCisgLyoqCisgICBTZXQgZmlwcyBtb2RlIGluIG9wZW5zc2wgbGlicmFyeSwK KyAgIFdoZW4gd2Ugc2V0IGZpcHMgbW9kZSBPTi9TVFJJQ1QsIGl0IHdpbGwgcGVyZm9ybSBmb2xs b3dpbmcgb3BlcmF0aW9uczoKK0BAIC01MjYsNiArNTI3LDcgQEAgRVhJVDoKKyAgIEByZXR1cm5z IG9wZW5zc2wgY3VycmVudCBmaXBzIG1vZGUKKyAqLworIHVpbnQgZ2V0X2ZpcHNfbW9kZSgpIHsg cmV0dXJuIEZJUFNfbW9kZSgpOyB9CisrI2VuZGlmCisgCisgbG9uZyBwcm9jZXNzX3Rsc192ZXJz aW9uKGNvbnN0IGNoYXIgKnRsc192ZXJzaW9uKSB7CisgICBjb25zdCBjaGFyICpzZXBhcmF0b3Ig PSAiLCI7CistLSAKKzIuMjcuMAorCmRpZmYgLS1naXQgYS9zcmNwa2dzL215c3FsOC90ZW1wbGF0 ZSBiL3NyY3BrZ3MvbXlzcWw4L3RlbXBsYXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMDAwLi41YmMzMDRkODZlNwotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvbXlzcWw4 L3RlbXBsYXRlCkBAIC0wLDAgKzEsMTE3IEBACisjIFRlbXBsYXRlIGZpbGUgZm9yICdteXNxbDgn Citwa2duYW1lPW15c3FsOAordmVyc2lvbj04LjAuMjEKK3JldmlzaW9uPTEKK3dya3NyYz0ibXlz cWwtJHt2ZXJzaW9ufSIKK2J1aWxkX3N0eWxlPWNtYWtlCitidWlsZF9oZWxwZXI9cWVtdQorY29u ZmlndXJlX2FyZ3M9IgorCS1ESU5TVEFMTF9JTkZPRElSPXNoYXJlL215c3FsL2RvY3MKKwktRElO U1RBTExfTUFORElSPXNoYXJlL21hbgorCS1ESU5TVEFMTF9QTFVHSU5ESVI9bGliL215c3FsL3Bs dWdpbgorCS1ESU5TVEFMTF9TQ1JJUFRESVI9YmluCisJLURJTlNUQUxMX0lOQ0xVREVESVI9aW5j bHVkZS9teXNxbAorCS1ESU5TVEFMTF9ET0NSRUFETUVESVI9c2hhcmUvbXlzcWwKKwktRElOU1RB TExfU1VQUE9SVEZJTEVTRElSPXNoYXJlL215c3FsCisJLURJTlNUQUxMX01ZU1FMU0hBUkVESVI9 c2hhcmUvbXlzcWwKKwktRElOU1RBTExfRE9DRElSPXNoYXJlL215c3FsL2RvY3MKKwktRElOU1RB TExfU0hBUkVESVI9c2hhcmUvbXlzcWwKKwktRFNZU0NPTkZESVI9L2V0Yy9teXNxbAorCS1ETVlT UUxfREFUQURJUj0vdmFyL2xpYi9teXNxbAorCS1ETVlTUUxfVU5JWF9BRERSPS9ydW4vbXlzcWxk L215c3FsZC5zb2NrCisJLURERUZBVUxUX0NIQVJTRVQ9dXRmOG1iNCAgICAgICAgICAgICAgICMg ZGVmYXVsdAorCS1EREVGQVVMVF9DT0xMQVRJT049dXRmOG1iNF8wOTAwX2FpX2NpICAjIGRlZmF1 bHQKKwktREVOQUJMRURfTE9DQUxfSU5GSUxFPU9OCisJLURXSVRIX1pMSUI9c3lzdGVtCisJLURX SVRIX1pTVEQ9c3lzdGVtCisJLURXSVRIX0xaND1zeXN0ZW0KKwktRFdJVEhfTFpNQT1zeXN0ZW0K KwktRFdJVEhfU1NMPXN5c3RlbQorCS1EV0lUSF9TU0w9c3lzdGVtCisJLURXSVRIX0xJQldSQVA9 T0ZGCisJLURXSVRIT1VUX0VYQU1QTEVfU1RPUkFHRV9FTkdJTkU9MQorCS1EV0lUSE9VVF9BUkNI SVZFX1NUT1JBR0VfRU5HSU5FPTEKKwktRFdJVEhPVVRfQkxBQ0tIT0xFX1NUT1JBR0VfRU5HSU5F PTEKKwktRFdJVEhPVVRfRkVERVJBVEVEX1NUT1JBR0VfRU5HSU5FPTEKKwktRFdJVEhPVVRfTkRC X1NUT1JBR0VfRU5HSU5FPTEKKyIKK2hvc3RtYWtlZGVwZW5kcz0icGVybCBiaXNvbiBuY3Vyc2Vz LWRldmVsIgorbWFrZWRlcGVuZHM9InpsaWItZGV2ZWwgbGlienN0ZC1kZXZlbCBsaWJsejQtZGV2 ZWwgbGlibHptYS1kZXZlbCBsaWJyZXNzbC1kZXZlbAorcmVhZGxpbmUtZGV2ZWwgYm9vc3QtZGV2 ZWwgbGliZXZlbnQtZGV2ZWwiCitkZXBlbmRzPSJteXNxbDgtY2xpZW50IgorY29uZl9maWxlcz0i L2V0Yy9teXNxbC9teS5jbmYiCitzaG9ydF9kZXNjPSJXb3JsZCdzIG1vc3QgcG9wdWxhciBvcGVu IHNvdXJjZSBkYXRhYmFzZSIKK21haW50YWluZXI9IlJpZW4gTWFlcnRlbnMgPHJpZW4ubWFlcnRl bnNAcG9zdGVvLmJlPiIKK2xpY2Vuc2U9IkdQTC0yLjAtb25seSIKK2hvbWVwYWdlPSJodHRwczov L3d3dy5teXNxbC5jb20vcHJvZHVjdHMvY29tbXVuaXR5LyIKK2Rpc3RmaWxlcz0iaHR0cDovL2Rl di5teXNxbC5jb20vZ2V0L0Rvd25sb2Fkcy9NeVNRTC0ke3ZlcnNpb24lLip9L215c3FsLSR7dmVy c2lvbn0udGFyLmd6IgorY2hlY2tzdW09YWQ1NjUzNWVlZTAzOTQzYWRlZWY1ZjE4OGUxZGY3YTM5 NzI5YTc1NTdkOGIyMTc5YjFhZmZkOTk0Yjk5MDAzNAorcmVwbGFjZXM9Im15c3FsPj0wIgorcHJv dmlkZXM9Im15c3FsLSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0iCitzeXN0ZW1fYWNjb3VudHM9Im15 c3FsIgorbXlzcWxfaG9tZWRpcj0iL3Zhci9saWIvbXlzcWwiCitsaWIzMmRpc2FibGVkPXllcwor bm9jcm9zcz0iY3Jvc3MgY29tcGlsaW5nIHNob3VsZCBiZSBwb3NzaWJsZSBidXQgSSBnYXZlIHVw IgorCisKK3Bvc3RfaW5zdGFsbCgpIHsKKwkjIFJlbW92ZSB1bm5lZWRlZCBzdHVmZi4KKwlybSAt cmYgJHtERVNURElSfS91c3Ive3NxbC1iZW5jaCxteXNxbC10ZXN0LGRhdGF9CisJcm0gLWYgJHtE RVNURElSfS91c3Ivc2hhcmUvbWFuL21hbjEvbXlzcWwtdGVzdC1ydW4ucGwuMQorCisJIyBDb25m aWd1cmF0aW9uIGZpbGUuCisJdmluc3RhbGwgJHtGSUxFU0RJUn0vbXkuY25mIDY0NCBldGMvbXlz cWwKKworCSMgcnVuaXQgc2VydmljZQorCXZzdiBteXNxbGQKK30KKworbGlibXlzcWxjbGllbnQ4 X3BhY2thZ2UoKSB7CisJc2hvcnRfZGVzYys9IiAtIGNsaWVudCBsaWJyYXJ5IgorCXByb3ZpZGVz PSJsaWJteXNxbGNsaWVudC0ke3ZlcnNpb259XyR7cmV2aXNpb259IgorCXJlcGxhY2VzPSJsaWJt eXNxbGNsaWVudD49MCIKKwlwa2dfaW5zdGFsbCgpIHsKKwkJdm1vdmUgInVzci9saWIvbGlibXlz cWxjbGllbnQqLnNvLioiCisJfQorfQorCitsaWJteXNxbGNsaWVudDgtZGV2ZWxfcGFja2FnZSgp IHsKKwlkZXBlbmRzPSJsaWJteXNxbGNsaWVudDg+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0iCisJ cHJvdmlkZXM9ImxpYm15c3FsY2xpZW50LWRldmVsLSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0iCisJ cmVwbGFjZXM9ImxpYm15c3FsY2xpZW50LWRldmVsPj0wIgorCXNob3J0X2Rlc2MrPSIgLSBkZXZl bG9wbWVudCBmaWxlcyIKKwlwa2dfaW5zdGFsbCgpIHsKKwkJdm1vdmUgdXNyL2Jpbi9teXNxbF9j b25maWcKKwkJdm1vdmUgdXNyL3NoYXJlL21hbi9tYW4xL215c3FsX2NvbmZpZy4xCisJCXZtb3Zl IHVzci9pbmNsdWRlCisJCXZtb3ZlICJ1c3IvbGliLyouYSIKKwkJdm1vdmUgInVzci9saWIvKi5z byIKKwl9Cit9CisKK215c3FsOC1jbGllbnRfcGFja2FnZSgpIHsKKwlkZXBlbmRzPSJwZXJsIgor CXByb3ZpZGVzPSJteXNxbC1jbGllbnQtJHt2ZXJzaW9ufV8ke3JldmlzaW9ufSIKKwlyZXBsYWNl cz0ibXlzcWwtY2xpZW50Pj0wIgorCXNob3J0X2Rlc2MrPSIgLSBkYXRhYmFzZSBjbGllbnQgYmlu YXJpZXMiCisJcGtnX2luc3RhbGwoKSB7CisJCWZvciBmIGluIGlubm9jaGVja3N1bSBpbm5vdG9w IG15aXNhbV9mdGR1bXAgbXlzcWwgbXlzcWxfY2xpZW50X3Rlc3QgXAorCQkJbXlzcWxfY2xpZW50 X3Rlc3RfZW1iZWRkZWQgbXlzcWxkdW1wc2xvdyBteXNxbGJpbmxvZyBcCisJCQlteXNxbF9maW5k X3Jvd3MgbXlzcWxfZml4X2V4dGVuc2lvbnMgbXlzcWxfd2FpdHBpZCBteXNxbGFjY2VzcyBcCisJ CQlteXNxbGFkbWluIG15c3FsYW5hbHl6ZSBteXNxbGJ1ZyBteXNxbGNoZWNrIG15c3FsZHVtcCBc CisJCQlteXNxbGltcG9ydCBteXNxbG9wdGltaXplIG15c3FscmVwYWlyIG15c3FscmVwb3J0IG15 c3Fsc2hvdyBcCisJCQlteXNxbHNsYXAgbXlzcWx0ZXN0X2VtYmVkZGVkIG15c3FsbWFuYWdlciBt eXNxbHRlc3QgXAorCQkJbXlzcWxob3Rjb3B5IG15c3FsX3VwZ3JhZGUgbXlzcWxfemFwOyBkbwor CQkJaWYgWyAtZiAke0RFU1RESVJ9L3Vzci9iaW4vJHtmfSBdOyB0aGVuCisJCQkJdm1vdmUgdXNy L2Jpbi8ke2Z9CisJCQllbGlmIFsgLWYgJHtERVNURElSfS91c3Ivc2Jpbi8ke2Z9IF07IHRoZW4K KwkJCQl2bW92ZSB1c3Ivc2Jpbi8ke2Z9CisJCQlmaQorCQkJaWYgWyAtZiAke0RFU1RESVJ9L3Vz ci9zaGFyZS9tYW4vbWFuMS8ke2Z9LjEgXTsgdGhlbgorCQkJCXZtb3ZlIHVzci9zaGFyZS9tYW4v bWFuMS8ke2Z9LjEKKwkJCWVsaWYgWyAtZiAke0RFU1RESVJ9L3Vzci9zaGFyZS9tYW4vbWFuOC8k e2Z9LjggXTsgdGhlbgorCQkJCXZtb3ZlIHVzci9zaGFyZS9tYW4vbWFuOC8ke2Z9LjgKKwkJCWZp CisJCWRvbmUKKwl9Cit9CmRpZmYgLS1naXQgYS9zcmNwa2dzL215c3FsOC91cGRhdGUgYi9zcmNw a2dzL215c3FsOC91cGRhdGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAu LmRhODA3OTdjZjRhCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9teXNxbDgvdXBkYXRlCkBA IC0wLDAgKzEsMiBAQAorc2l0ZT0naHR0cDovL2Rldi5teXNxbC5jb20vZG93bmxvYWRzL215c3Fs LycKK3BhdHRlcm49J015U1FMIENvbW11bml0eSBTZXJ2ZXIgXEtbXGQuXSsnCg== --===============0698530682134247756==--