From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED autolearn=ham autolearn_force=no version=3.4.2 Received: (qmail 14670 invoked from network); 7 May 2020 18:27:49 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 7 May 2020 18:27:49 -0000 Content-Type: multipart/mixed; boundary="===============6544577029032989608==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_WIP=3A_pipewire=3A_update_to_0=2E3=2E4?= To: ml@inbox.vuxu.org From: sirn Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Thu, 07 May 2020 20:27:48 +0200 List-Id: Message-ID: <20200507182748.7r3_ppfWRafwp9Llq3F5nPKPk57qm-6oiO2cFfjKJmk@z> GitHub notification mails are now in MIME to allow UTF8. --===============6544577029032989608== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgc2lybiBhZ2FpbnN0IG1hc3RlciBv biB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20vc2lybi92 b2lkLXBhY2thZ2VzIHBpcGV3aXJlLXVwZGF0ZQpodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51 eC92b2lkLXBhY2thZ2VzL3B1bGwvMjA0MTMKCldJUDogcGlwZXdpcmU6IHVwZGF0ZSB0byAwLjMu NApUaGlzIFBSIHVwZGF0ZXMgYHBpcGV3aXJlYCB0byAwLjMuNCBhbmQgYWxzbyB1cGRhdGluZy9w YXRjaGluZyBhbGwgcGFja2FnZXMgdGhhdCBkZXBlbmRzIG9uIGl0LiANCg0KKiBgeGRnLWRlc2t0 b3AtcG9ydGFsYCBpbmNsdWRlcyBhIHBhdGNoIGJhY2twb3J0ZWQgZnJvbSAxLjcuMCB0byBhbGxv dyAxLjYuMCB0byBidWlsZCBhZ2FpbnN0IHBpcGV3aXJlLTAuMyAoMS43LnggaXMgcHJlcmVsZWFz ZSkNCiogYHhkZy1kZXNrdG9wLXBvcnRhbC1rZGVgIGFscmVhZHkgaW5jbHVkZXMgUGlwZXdpcmUg MC4zIHN1cHBvcnQgYW5kIG9ubHkgcmVxdWlyZXMgcmV2YnVtcC4NCiogYG11dHRlcmAgaW5jbHVk ZXMgYSBwYXRjaCBiYWNrcG9ydGVkIGZyb20gMy4zNSB0byBhbGxvdyAzLjM0IHRvIGJ1aWxkIGFn YWluc3QgcGlwZXdpcmUtMC4zICh1cGdyYWRpbmcgdG8gPj0zLjM1IGFsc28gcmVxdWlyZXMgdXBn cmFkaW5nIEdOT01FKS4KCkEgcGF0Y2ggZmlsZSBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS92b2lk LWxpbnV4L3ZvaWQtcGFja2FnZXMvcHVsbC8yMDQxMy5wYXRjaCBpcyBhdHRhY2hlZA== --===============6544577029032989608== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-pipewire-update-20413.patch" RnJvbSBjOGRlZDVlNDY2NjM5MjAyYWY0MjBhOGZhYzQzMzJmYWQxNDg2OTk3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBLcmlkc2FkYSBUaGFuYWJ1bHBvbmcgPHNpcm5Ab2dzaXRlLm5l dD4KRGF0ZTogU2F0LCAyOCBNYXIgMjAyMCAxNjoyMzo1MiArMDkwMApTdWJqZWN0OiBbUEFUQ0gg MS80XSBwaXBld2lyZTogdXBkYXRlIHRvIDAuMy40CgotLS0KIGNvbW1vbi9zaGxpYnMgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBzcmNwa2dzL2Fsc2EtcGlwZXdpcmUg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgMSArCiBzcmNwa2dzL2xpYmphY2stcGlwZXdpcmUg ICAgICAgICAgICAgICAgICAgICAgfCAgMSArCiBzcmNwa2dzL2xpYnB1bHNlYXVkaW8tcGlwZXdp cmUgICAgICAgICAgICAgICAgfCAgMSArCiAuLi4vcGF0Y2hlcy8wMS1maXgtZm9ybWF0LXdhcm5p bmcucGF0Y2ggICAgICAgfCAzNyArKysrKysrKysrCiAuLi4vcGF0Y2hlcy8wMi1maXgtc3BhX2xv Z19mdW5jLW11c2wucGF0Y2ggICAgfCAyNSArKysrKysrCiBzcmNwa2dzL3BpcGV3aXJlL3RlbXBs YXRlICAgICAgICAgICAgICAgICAgICAgfCA3MSArKysrKysrKysrKysrKy0tLS0tCiA3IGZpbGVz IGNoYW5nZWQsIDEyMCBpbnNlcnRpb25zKCspLCAxOCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2Rl IDEyMDAwMCBzcmNwa2dzL2Fsc2EtcGlwZXdpcmUKIGNyZWF0ZSBtb2RlIDEyMDAwMCBzcmNwa2dz L2xpYmphY2stcGlwZXdpcmUKIGNyZWF0ZSBtb2RlIDEyMDAwMCBzcmNwa2dzL2xpYnB1bHNlYXVk aW8tcGlwZXdpcmUKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3BpcGV3aXJlL3BhdGNoZXMv MDEtZml4LWZvcm1hdC13YXJuaW5nLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9w aXBld2lyZS9wYXRjaGVzLzAyLWZpeC1zcGFfbG9nX2Z1bmMtbXVzbC5wYXRjaAoKZGlmZiAtLWdp dCBhL2NvbW1vbi9zaGxpYnMgYi9jb21tb24vc2hsaWJzCmluZGV4IDRiZGMwM2U4YjIzLi44YWUy MjU2OTAwYiAxMDA2NDQKLS0tIGEvY29tbW9uL3NobGlicworKysgYi9jb21tb24vc2hsaWJzCkBA IC0zMjAzLDcgKzMyMDMsNyBAQCBsaWJhcmNhbl9zaG1pZl9leHQuc28uMC4xMSBhcmNhbi0wLjUu NC4zXzEKIGxpYmFyY2FuX3NobWlmX3NlcnZlci5zby4wLjExIGFyY2FuLTAuNS40LjNfMQogbGli YXJjYW5fdHVpLnNvLjAuMTEgYXJjYW4tMC41LjQuM18xCiBsaWJsd2lwdjYuc28uMiBsd2lwdjYt MS41YV8xCi1saWJwaXBld2lyZS0wLjIuc28uMSBsaWJwaXBld2lyZS0wLjIuMl8xCitsaWJwaXBl d2lyZS0wLjMuc28uMCBsaWJwaXBld2lyZS0wLjMuNF8xCiBsaWJ2b2xrLnNvLjIuMi4xIHZvbGst Mi4yLjFfMQogbGliZ251cmFkaW8tcnVudGltZS5zby4zLjguMCBnbnVyYWRpby0zLjguMC4wXzEK IGxpYmdudXJhZGlvLXBtdC5zby4zLjguMCBnbnVyYWRpby0zLjguMC4wXzEKZGlmZiAtLWdpdCBh L3NyY3BrZ3MvYWxzYS1waXBld2lyZSBiL3NyY3BrZ3MvYWxzYS1waXBld2lyZQpuZXcgZmlsZSBt b2RlIDEyMDAwMAppbmRleCAwMDAwMDAwMDAwMC4uYzljOTdjZjY3MDcKLS0tIC9kZXYvbnVsbAor KysgYi9zcmNwa2dzL2Fsc2EtcGlwZXdpcmUKQEAgLTAsMCArMSBAQAorcGlwZXdpcmUKXCBObyBu ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmNwa2dzL2xpYmphY2stcGlwZXdp cmUgYi9zcmNwa2dzL2xpYmphY2stcGlwZXdpcmUKbmV3IGZpbGUgbW9kZSAxMjAwMDAKaW5kZXgg MDAwMDAwMDAwMDAuLmM5Yzk3Y2Y2NzA3Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9saWJq YWNrLXBpcGV3aXJlCkBAIC0wLDAgKzEgQEAKK3BpcGV3aXJlClwgTm8gbmV3bGluZSBhdCBlbmQg b2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9saWJwdWxzZWF1ZGlvLXBpcGV3aXJlIGIvc3Jj cGtncy9saWJwdWxzZWF1ZGlvLXBpcGV3aXJlCm5ldyBmaWxlIG1vZGUgMTIwMDAwCmluZGV4IDAw MDAwMDAwMDAwLi5jOWM5N2NmNjcwNwotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvbGlicHVs c2VhdWRpby1waXBld2lyZQpAQCAtMCwwICsxIEBACitwaXBld2lyZQpcIE5vIG5ld2xpbmUgYXQg ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcGlwZXdpcmUvcGF0Y2hlcy8wMS1maXgt Zm9ybWF0LXdhcm5pbmcucGF0Y2ggYi9zcmNwa2dzL3BpcGV3aXJlL3BhdGNoZXMvMDEtZml4LWZv cm1hdC13YXJuaW5nLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw Li5iNGU4NzQ4MzkwZQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcGlwZXdpcmUvcGF0Y2hl cy8wMS1maXgtZm9ybWF0LXdhcm5pbmcucGF0Y2gKQEAgLTAsMCArMSwzNyBAQAorRnJvbSA5Nzlh ODFhNzBkNDY4ZDY0ODI3NzM1MjFiODlhYWY2N2NlNzliOTIxIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQorRnJvbTogV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CitEYXRlOiBGcmks IDEgTWF5IDIwMjAgMTE6MDU6MzggKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gbWVzb246IGFkZCAt V2Zvcm1hdAorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hh cnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitjYzE6IHdhcm5p bmc6IOKAmC1XZm9ybWF0LXNlY3VyaXR54oCZIGlnbm9yZWQgd2l0aG91dCDigJgtV2Zvcm1hdOKA mSBbLVdmb3JtYXQtc2VjdXJpdHldCisKK0ZpeGVzICMyMzQKKy0tLQorIG1lc29uLmJ1aWxkIHwg MiArKworIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL21l c29uLmJ1aWxkIGIvbWVzb24uYnVpbGQKK2luZGV4IDc0MTQyNTg3Li4xNjMxZTc2MyAxMDA2NDQK Ky0tLSBtZXNvbi5idWlsZAorKysrIG1lc29uLmJ1aWxkCitAQCAtNTEsNiArNTEsNyBAQCBpZiBj Yy5nZXRfaWQoKSA9PSAnZ2NjJworIAkJCSctV3NpZ24tY29tcGFyZScsCisgCQkJJy1XaW1wbGlj aXQtZmFsbHRocm91Z2gnLAorIAkJCSctV3BvaW50ZXItYXJpdGgnLAorKwkJCSctV2Zvcm1hdCcs CisgCQkJJy1XZm9ybWF0LXNlY3VyaXR5JywKKyAJCQknLVdlcnJvcj1zdWdnZXN0LWF0dHJpYnV0 ZT1mb3JtYXQnLAorIAkJCSctV21pc3NpbmctYnJhY2VzJywKK0BAIC02OCw2ICs2OSw3IEBAIGlm IGNjLmdldF9pZCgpID09ICdnY2MnCisgCQkJJy1Xc2lnbi1jb21wYXJlJywKKyAJCQknLVdpbXBs aWNpdC1mYWxsdGhyb3VnaCcsCisgCQkJJy1XcG9pbnRlci1hcml0aCcsCisrCQkJJy1XZm9ybWF0 JywKKyAJCQknLVdmb3JtYXQtc2VjdXJpdHknLAorIAkJCSctV2Vycm9yPXN1Z2dlc3QtYXR0cmli dXRlPWZvcm1hdCcsCisgCQkJJy1XbWlzc2luZy1icmFjZXMnLAorLS0KKzIuMjYuMgpkaWZmIC0t Z2l0IGEvc3JjcGtncy9waXBld2lyZS9wYXRjaGVzLzAyLWZpeC1zcGFfbG9nX2Z1bmMtbXVzbC5w YXRjaCBiL3NyY3BrZ3MvcGlwZXdpcmUvcGF0Y2hlcy8wMi1maXgtc3BhX2xvZ19mdW5jLW11c2wu cGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmI4MTY5NzVhNmVi Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9waXBld2lyZS9wYXRjaGVzLzAyLWZpeC1zcGFf bG9nX2Z1bmMtbXVzbC5wYXRjaApAQCAtMCwwICsxLDI1IEBACitGcm9tIGU4M2JmOGEzM2Y3MjAw NTBjN2YxZWM1ZjAwNTMwZmFmZDVhZjU2OTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9t OiBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KK0RhdGU6IEZyaSwgMSBNYXkgMjAy MCAxMToxODoyOCArMDIwMAorU3ViamVjdDogW1BBVENIXSBsb2c6IHVzZSBwcmludGYgYXR0cmli dXRlIGZvciBsb2cgZmFsbGJhY2sKKworRml4ZXMgIzIzMworLS0tCisgc3BhL2luY2x1ZGUvc3Bh L3N1cHBvcnQvbG9nLmggfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAx IGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9zcGEvaW5jbHVkZS9zcGEvc3VwcG9ydC9sb2cu aCBiL3NwYS9pbmNsdWRlL3NwYS9zdXBwb3J0L2xvZy5oCitpbmRleCBjOTdjYzhlNS4uNTFiM2U3 NDEgMTAwNjQ0CistLS0gc3BhL2luY2x1ZGUvc3BhL3N1cHBvcnQvbG9nLmgKKysrKyBzcGEvaW5j bHVkZS9zcGEvc3VwcG9ydC9sb2cuaAorQEAgLTEzOSw3ICsxMzksNyBAQCBzdHJ1Y3Qgc3BhX2xv Z19tZXRob2RzIHsKKyAjZWxzZQorCisgI2RlZmluZSBTUEFfTE9HX0ZVTkMobmFtZSxsZXYpCQkJ CQkJCVwKKy1zdGF0aWMgaW5saW5lIHZvaWQgc3BhX2xvZ18jI25hbWUgKHN0cnVjdCBzcGFfbG9n ICpsLCBjb25zdCBjaGFyICpmb3JtYXQsIC4uLikgIFwKKytzdGF0aWMgaW5saW5lIFNQQV9QUklO VEZfRlVOQygyLDMpIHZvaWQgc3BhX2xvZ18jI25hbWUgKHN0cnVjdCBzcGFfbG9nICpsLCBjb25z dCBjaGFyICpmb3JtYXQsIC4uLikgIFwKKyB7CQkJCQkJCQkJCVwKKyAJaWYgKFNQQV9VTkxJS0VM WShzcGFfbG9nX2xldmVsX2VuYWJsZWQobCwgbGV2KSkpIHsJCQlcCisgCQl2YV9saXN0IHZhcmFy Z3M7CQkJCQkJXAorLS0KKzIuMjYuMgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9waXBld2lyZS90ZW1w bGF0ZSBiL3NyY3BrZ3MvcGlwZXdpcmUvdGVtcGxhdGUKaW5kZXggN2Y2NDZkYWQxMWQuLjc2M2I3 ZjliMzY1IDEwMDY0NAotLS0gYS9zcmNwa2dzL3BpcGV3aXJlL3RlbXBsYXRlCisrKyBiL3NyY3Br Z3MvcGlwZXdpcmUvdGVtcGxhdGUKQEAgLTEsMjYgKzEsMzcgQEAKICMgVGVtcGxhdGUgZmlsZSBm b3IgJ3BpcGV3aXJlJwogcGtnbmFtZT1waXBld2lyZQotdmVyc2lvbj0wLjIuNwordmVyc2lvbj0w LjMuNAogcmV2aXNpb249MQogYnVpbGRfc3R5bGU9bWVzb24KLWNvbmZpZ3VyZV9hcmdzPSItRG1h bj10cnVlIC1EZ3N0cmVhbWVyPWVuYWJsZWQgLURkb2NzPXRydWUgLURzeXN0ZW1kPWZhbHNlIgor Y29uZmlndXJlX2FyZ3M9Ii1EbWFuPXRydWUgLURnc3RyZWFtZXI9dHJ1ZSAtRGRvY3M9dHJ1ZSAt RHN5c3RlbWQ9ZmFsc2UKKyAtRGJsdWV6NT10cnVlIC1EZmZtcGVnPXRydWUgLURwaXBld2lyZS1h bHNhPXRydWUgLURwaXBld2lyZS1qYWNrPXRydWUKKyAtRHBpcGV3aXJlLXB1bHNlYXVkaW89dHJ1 ZSIKIGhvc3RtYWtlZGVwZW5kcz0iZG94eWdlbiBncmFwaHZpeiBwa2ctY29uZmlnIHhtbHRvbWFu IgogbWFrZWRlcGVuZHM9IlNETDItZGV2ZWwgZmZtcGVnLWRldmVsIGdzdC1wbHVnaW5zLWJhc2Ux LWRldmVsIGphY2stZGV2ZWwKLSBzYmMtZGV2ZWwgdjRsLXV0aWxzLWRldmVsIGxpYnZhLWRldmVs IgorIHNiYy1kZXZlbCB2NGwtdXRpbHMtZGV2ZWwgbGlidmEtZGV2ZWwgbGliYmx1ZXRvb3RoLWRl dmVsIgogc2hvcnRfZGVzYz0iU2VydmVyIGFuZCB1c2VyIHNwYWNlIEFQSSB0byBkZWFsIHdpdGgg bXVsdGltZWRpYSBwaXBlbGluZXMiCi1tYWludGFpbmVyPSJPcnBoYW5lZCA8b3JwaGFuQHZvaWRs aW51eC5vcmc+IgotI05leHQgcmVsZWFzZSB3aWxsIHByb2JhYmx5IGNoYW5nZSB0byBNSVQsIGN1 cnJlbnRseSBsaXN0ZWQgaW4gbWFzdGVyCi1saWNlbnNlPSJMR1BMLTIuMS1vbmx5LCBHUEwtMi4w LW9ubHkgIgorbWFpbnRhaW5lcj0iS3JpZHNhZGEgVGhhbmFidWxwb25nIDxzaXJuQG9nc2l0ZS5u ZXQ+IgorbGljZW5zZT0iTUlUIgogaG9tZXBhZ2U9Imh0dHBzOi8vcGlwZXdpcmUub3JnLyIKLWNo YW5nZWxvZz0iaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL1BpcGVXaXJlL3BpcGV3 aXJlL21hc3Rlci9ORVdTIgotZGlzdGZpbGVzPSJodHRwczovL2dpdGh1Yi5jb20vUGlwZVdpcmUv cGlwZXdpcmUvYXJjaGl2ZS8ke3ZlcnNpb259LnRhci5neiIKLWNoZWNrc3VtPWJmYWEwZjZhZTZj MDc5MWUyZTBiNTkyMzRkMzk5NzUzYmYyNGYxYjMzZGJmNTg3NjgyMzYzYTg0NjNkZDhkZjEKK2No YW5nZWxvZz0iaHR0cHM6Ly9naXRsYWIuZnJlZWRlc2t0b3Aub3JnL3BpcGV3aXJlL3BpcGV3aXJl Ly0vcmF3L21hc3Rlci9ORVdTIgorZGlzdGZpbGVzPSJodHRwczovL2dpdGxhYi5mcmVlZGVza3Rv cC5vcmcvcGlwZXdpcmUvcGlwZXdpcmUvLS9hcmNoaXZlLyR7dmVyc2lvbn0vcGlwZXdpcmUtJHt2 ZXJzaW9ufS50YXIuZ3oiCitjaGVja3N1bT02YTFjOWM2NzE1MTRjODRiMzhjZTk2ZDUxODIzMzU0 NzAyYmM0ZDVkYmFiYTEyZDUwMWZhYTA0NDhmODkyNTE1CiBjb25mX2ZpbGVzPSIvZXRjL3BpcGV3 aXJlL3BpcGV3aXJlLmNvbmYiCiAKK2lmIFsgIiRYQlBTX1RBUkdFVF9OT19BVE9NSUM4IiBdOyB0 aGVuCisJbWFrZWRlcGVuZHMrPSIgbGliYXRvbWljLWRldmVsIgorCUxERkxBR1MrPSIgLWxhdG9t aWMiCitmaQorCitwb3N0X2luc3RhbGwoKSB7CisJdmxpY2Vuc2UgTElDRU5TRQorfQorCiBsaWJw aXBld2lyZV9wYWNrYWdlKCkgewogCXNob3J0X2Rlc2MrPSIgLSBwaXBld2lyZSBsaWJyYXJ5Igog CXBrZ19pbnN0YWxsKCkgewotCQl2bW92ZSAidXNyL2xpYi9saWJwaXBld2lyZS0wLjIuc28uKiIK KwkJdm1vdmUgInVzci9saWIvbGlicGlwZXdpcmUtMC4zLnNvLioiCisJCXZtb3ZlICJ1c3IvbGli L3BpcGV3aXJlLTAuMy8qLnNvIgogCX0KIH0KIApAQCAtMjgsMjUgKzM5LDI1IEBAIHBpcGV3aXJl LWRldmVsX3BhY2thZ2UoKSB7CiAJZGVwZW5kcz0ibGlicGlwZXdpcmUtJHt2ZXJzaW9ufV8ke3Jl dmlzaW9ufSIKIAlzaG9ydF9kZXNjKz0iIC0gcGlwZXdpcmUgYW5kIGxpYnNwYSBkZXZlbG9wbWVu dCBmaWxlcyIKIAlwa2dfaW5zdGFsbCgpIHsKLQkJdm1vdmUgdXNyL2luY2x1ZGUvcGlwZXdpcmUK LQkJdm1vdmUgdXNyL2luY2x1ZGUvc3BhCi0JCXZtb3ZlIHVzci9saWIvcGtnY29uZmlnL2xpYnBp cGV3aXJlLTAuMi5wYwotCQl2bW92ZSB1c3IvbGliL3BrZ2NvbmZpZy9saWJzcGEtMC4xLnBjCi0J CXZtb3ZlIHVzci9saWIvbGlicGlwZXdpcmUtMC4yLnNvCisJCXZtb3ZlIHVzci9pbmNsdWRlL3Bp cGV3aXJlLTAuMworCQl2bW92ZSB1c3IvaW5jbHVkZS9zcGEtMC4yCisJCXZtb3ZlIHVzci9saWIv cGtnY29uZmlnL2xpYnBpcGV3aXJlLTAuMy5wYworCQl2bW92ZSB1c3IvbGliL3BrZ2NvbmZpZy9s aWJzcGEtMC4yLnBjCisJCXZtb3ZlIHVzci9saWIvbGlicGlwZXdpcmUtMC4zLnNvCiAJfQogfQog CiBsaWJzcGEtZmZtcGVnX3BhY2thZ2UoKSB7CiAJc2hvcnRfZGVzYys9IiAtIGZmbXBlZyBwbHVn aW5zIgogCXBrZ19pbnN0YWxsKCkgewotCQl2bW92ZSB1c3IvbGliL3NwYS9mZm1wZWcKKwkJdm1v dmUgdXNyL2xpYi9zcGEtMC4yL2ZmbXBlZwogCX0KIH0KIAogbGlic3BhLWJsdWV0b290aF9wYWNr YWdlKCkgewogCXNob3J0X2Rlc2MrPSIgLSBibHVldG9vdGggcGx1Z2lucyIKIAlwa2dfaW5zdGFs bCgpIHsKLQkJdm1vdmUgdXNyL2xpYi9zcGEvYmx1ZXo1CisJCXZtb3ZlIHVzci9saWIvc3BhLTAu Mi9ibHVlejUKIAl9CiB9CiAKQEAgLTU3LDYgKzY4LDMyIEBAIGdzdHJlYW1lcjEtcGlwZXdpcmVf cGFja2FnZSgpIHsKIAl9CiB9CiAKK2xpYnB1bHNlYXVkaW8tcGlwZXdpcmVfcGFja2FnZSgpIHsK KwlkZXBlbmRzPSJsaWJwaXBld2lyZS0ke3ZlcnNpb259XyR7cmV2aXNpb259IgorCXNob3J0X2Rl c2MrPSIgLSBQdWxzZUF1ZGlvIGNsaWVudCBsaWJyYXJ5IgorCXBrZ19pbnN0YWxsKCkgeworCQl2 bW92ZSB1c3IvbGliL3BpcGV3aXJlLTAuMy9wdWxzZQorCQl2bW92ZSB1c3IvYmluL3B3LXB1bHNl CisJfQorfQorCithbHNhLXBpcGV3aXJlX3BhY2thZ2UoKSB7CisJZGVwZW5kcz0ibGlicGlwZXdp cmUtJHt2ZXJzaW9ufV8ke3JldmlzaW9ufSIKKwlzaG9ydF9kZXNjKz0iIC0gQUxTQSBjbGllbnQg bGlicmFyeSIKKwlwa2dfaW5zdGFsbCgpIHsKKwkJdm1vdmUgdXNyL2xpYi9hbHNhLWxpYgorCX0K K30KKworbGliamFjay1waXBld2lyZV9wYWNrYWdlKCkgeworCWRlcGVuZHM9ImxpYnBpcGV3aXJl LSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0iCisJc2hvcnRfZGVzYys9IiAtIEpBQ0sgY2xpZW50IGxp YnJhcnkiCisJcGtnX2luc3RhbGwoKSB7CisJCXZtb3ZlIHVzci9saWIvcGlwZXdpcmUtMC4zL2ph Y2sKKwkJdm1vdmUgdXNyL2Jpbi9wdy1qYWNrCisJfQorfQorCiBwaXBld2lyZS1kb2NfcGFja2Fn ZSgpIHsKIAlhcmNocz1ub2FyY2gKIAlzaG9ydF9kZXNjKz0iIC0gZG9jdW1lbnRhdGlvbiIKCkZy b20gZTBlNzBmYzRlOWNmOGM3NGI2YzU3NWNiNzZlZjAwY2Q3NjZlYzExOCBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKRnJvbTogS3JpZHNhZGEgVGhhbmFidWxwb25nIDxzaXJuQG9nc2l0ZS5uZXQ+ CkRhdGU6IFNhdCwgMjggTWFyIDIwMjAgMTY6MjQ6NDYgKzA5MDAKU3ViamVjdDogW1BBVENIIDIv NF0geGRnLWRlc2t0b3AtcG9ydGFsLWtkZTogcmVidWlsZCBmb3IgcGlwZXdpcmUtMC4zCgotLS0K IHNyY3BrZ3MveGRnLWRlc2t0b3AtcG9ydGFsLWtkZS90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBj aGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3Br Z3MveGRnLWRlc2t0b3AtcG9ydGFsLWtkZS90ZW1wbGF0ZSBiL3NyY3BrZ3MveGRnLWRlc2t0b3At cG9ydGFsLWtkZS90ZW1wbGF0ZQppbmRleCA3YTJhYWYxNmI5Ni4uNTc0ZTI4NTA0YjcgMTAwNjQ0 Ci0tLSBhL3NyY3BrZ3MveGRnLWRlc2t0b3AtcG9ydGFsLWtkZS90ZW1wbGF0ZQorKysgYi9zcmNw a2dzL3hkZy1kZXNrdG9wLXBvcnRhbC1rZGUvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRl bXBsYXRlIGZpbGUgZm9yICd4ZGctZGVza3RvcC1wb3J0YWwta2RlJwogcGtnbmFtZT14ZGctZGVz a3RvcC1wb3J0YWwta2RlCiB2ZXJzaW9uPTUuMTguNQotcmV2aXNpb249MQorcmV2aXNpb249Mgog YnVpbGRfc3R5bGU9Y21ha2UKIGhvc3RtYWtlZGVwZW5kcz0iZXh0cmEtY21ha2UtbW9kdWxlcyBx dDUtcW1ha2UgcXQ1LWhvc3QtdG9vbHMga2NvcmVhZGRvbnMgZ2V0dGV4dCIKIG1ha2VkZXBlbmRz PSJnbGliLWRldmVsIGtpby1kZXZlbCBrd2F5bGFuZC1kZXZlbCBsaWJlcG94eS1kZXZlbCBwaXBl d2lyZS1kZXZlbAoKRnJvbSBmODY4MDZjMzk0NTY3NWYyODBiOTllNWUyNDY3N2UyMjNjMWNiMjA3 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLcmlkc2FkYSBUaGFuYWJ1bHBvbmcgPHNp cm5Ab2dzaXRlLm5ldD4KRGF0ZTogU2F0LCAyOCBNYXIgMjAyMCAxNjoyNDoyNiArMDkwMApTdWJq ZWN0OiBbUEFUQ0ggMy80XSB4ZGctZGVza3RvcC1wb3J0YWw6IHJlYnVpbGQgZm9yIHBpcGV3aXJl LTAuMwoKLS0tCiAuLi4vcGF0Y2hlcy9waXBld2lyZS0wLjMucGF0Y2ggICAgICAgICAgICAgICAg fCA1NTEgKysrKysrKysrKysrKysrKysrCiBzcmNwa2dzL3hkZy1kZXNrdG9wLXBvcnRhbC90ZW1w bGF0ZSAgICAgICAgICAgfCAgIDggKy0KIDIgZmlsZXMgY2hhbmdlZCwgNTU3IGluc2VydGlvbnMo KyksIDIgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy94ZGctZGVza3Rv cC1wb3J0YWwvcGF0Y2hlcy9waXBld2lyZS0wLjMucGF0Y2gKCmRpZmYgLS1naXQgYS9zcmNwa2dz L3hkZy1kZXNrdG9wLXBvcnRhbC9wYXRjaGVzL3BpcGV3aXJlLTAuMy5wYXRjaCBiL3NyY3BrZ3Mv eGRnLWRlc2t0b3AtcG9ydGFsL3BhdGNoZXMvcGlwZXdpcmUtMC4zLnBhdGNoCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi45NGViZTA4MzU5OAotLS0gL2Rldi9udWxsCisr KyBiL3NyY3BrZ3MveGRnLWRlc2t0b3AtcG9ydGFsL3BhdGNoZXMvcGlwZXdpcmUtMC4zLnBhdGNo CkBAIC0wLDAgKzEsNTUxIEBACitGcm9tIGEzODkwMWU1ZTdmODM1ZWZlN2I3YTA2YzU1NzkwYzhj MjBiYzkxYTIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBXaW0gVGF5bWFucyA8d3Rh eW1hbnNAcmVkaGF0LmNvbT4KK0RhdGU6IFR1ZSwgMTQgSmFuIDIwMjAgMDk6Mzc6MDkgKzAxMDAK K1N1YmplY3Q6IFtQQVRDSF0gUGlwZVdpcmU6IHVwZGF0ZSB0byAwLjMgQVBJCisKKy0tLQorIGNv bmZpZ3VyZS5hYyAgICAgIHwgICAyICstCisgc3JjL2NhbWVyYS5jICAgICAgfCAgMjQgKysrKy0t LS0KKyBzcmMvcGlwZXdpcmUuYyAgICB8IDE0MSArKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCisgc3JjL3BpcGV3aXJlLmggICAgfCAgMTAgKystLQorIHNyYy9z Y3JlZW4tY2FzdC5jIHwgIDk4ICsrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgNSBm aWxlcyBjaGFuZ2VkLCA3MiBpbnNlcnRpb25zKCspLCAyMDMgZGVsZXRpb25zKC0pCisKK2RpZmYg LS1naXQgY29uZmlndXJlLmFjIGNvbmZpZ3VyZS5hYworaW5kZXggODk5MDJmYS4uNjJkNzk2MCAx MDA2NDQKKy0tLSBjb25maWd1cmUuYWMKKysrKyBjb25maWd1cmUuYWMKK0BAIC05Nyw3ICs5Nyw3 IEBAIEFDX0FSR19FTkFCTEUocGlwZXdpcmUsCisgCSAgICAgIFtBU19IRUxQX1NUUklORyhbLS1l bmFibGUtcGlwZXdpcmVdLFtFbmFibGUgUGlwZVdpcmUgc3VwcG9ydC4gTmVlZGVkIGZvciBzY3Jl ZW4gY2FzdCBwb3J0YWxdKV0sCisgCSAgICAgIGVuYWJsZV9waXBld2lyZT0kZW5hYmxldmFsLCBl bmFibGVfcGlwZXdpcmU9eWVzKQorIGlmIHRlc3QgeCRlbmFibGVfcGlwZXdpcmUgPSB4eWVzIDsg dGhlbgorLQlQS0dfQ0hFQ0tfTU9EVUxFUyhQSVBFV0lSRSwgW2xpYnBpcGV3aXJlLTAuMiA+PSAw LjIuNl0pCisrCVBLR19DSEVDS19NT0RVTEVTKFBJUEVXSVJFLCBbbGlicGlwZXdpcmUtMC4zID49 IDAuMi45MF0pCisgCUFDX0RFRklORShbSEFWRV9QSVBFV0lSRV0sWzFdLCBbRGVmaW5lIHRvIGVu YWJsZSBQaXBlV2lyZSBzdXBwb3J0XSkKKyBmaQorIEFNX0NPTkRJVElPTkFMKFtIQVZFX1BJUEVX SVJFXSxbdGVzdCAiJGVuYWJsZV9waXBld2lyZSIgPSAieWVzIl0pCitkaWZmIC0tZ2l0IHNyYy9j YW1lcmEuYyBzcmMvY2FtZXJhLmMKK2luZGV4IGMyYjM5MmMuLjIwZmUzYWEgMTAwNjQ0CistLS0g c3JjL2NhbWVyYS5jCisrKysgc3JjL2NhbWVyYS5jCitAQCAtMTQxLDcgKzE0MSw3IEBAIG9wZW5f cGlwZXdpcmVfY2FtZXJhX3JlbW90ZSAoY29uc3QgY2hhciAqYXBwX2lkLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgR0Vycm9yICoqZXJyb3IpCisgeworICAgUGlwZVdpcmVSZW1vdGUg KnJlbW90ZTsKKy0gIHN0cnVjdCBzcGFfZGljdF9pdGVtIHBlcm1pc3Npb25faXRlbXNbMV07Cisr ICBzdHJ1Y3QgcHdfcGVybWlzc2lvbiBwZXJtaXNzaW9uX2l0ZW1zWzJdOworICAgc3RydWN0IHB3 X3Byb3BlcnRpZXMgKnBpcGV3aXJlX3Byb3BlcnRpZXM7CisgCisgICBwaXBld2lyZV9wcm9wZXJ0 aWVzID0KK0BAIC0xNTgsMTIgKzE1OCwxMiBAQCBvcGVuX3BpcGV3aXJlX2NhbWVyYV9yZW1vdGUg KGNvbnN0IGNoYXIgKmFwcF9pZCwKKyAgICAqIEhpZGUgYWxsIGV4aXN0aW5nIGFuZCBmdXR1cmUg bm9kZXMgYnkgZGVmYXVsdC4gUGlwZVdpcmUgd2lsbCB1c2UgdGhlCisgICAgKiBwZXJtaXNzaW9u IHN0b3JlIHRvIHNldCB1cCBwZXJtaXNzaW9ucy4KKyAgICAqLworLSAgcGVybWlzc2lvbl9pdGVt c1swXS5rZXkgPSBQV19DT1JFX1BST1hZX1BFUk1JU1NJT05TX0RFRkFVTFQ7CistICBwZXJtaXNz aW9uX2l0ZW1zWzBdLnZhbHVlID0gIi0tLSI7CisrICBwZXJtaXNzaW9uX2l0ZW1zWzBdID0gUFdf UEVSTUlTU0lPTl9JTklUIChQV19JRF9DT1JFLCBQV19QRVJNX1JXWCk7CisrICBwZXJtaXNzaW9u X2l0ZW1zWzFdID0gUFdfUEVSTUlTU0lPTl9JTklUIChQV19JRF9BTlksIDApOworIAorLSAgcHdf Y29yZV9wcm94eV9wZXJtaXNzaW9ucyAocHdfcmVtb3RlX2dldF9jb3JlX3Byb3h5IChyZW1vdGUt PnJlbW90ZSksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmU1BBX0RJQ1RfSU5JVCAo cGVybWlzc2lvbl9pdGVtcywKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBHX05fRUxFTUVOVFMgKHBlcm1pc3Npb25faXRlbXMpKSk7CisrICBwd19jbGllbnRf dXBkYXRlX3Blcm1pc3Npb25zIChwd19jb3JlX2dldF9jbGllbnQocmVtb3RlLT5jb3JlKSwKKysg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdfTl9FTEVNRU5UUyAocGVybWlzc2lvbl9p dGVtcyksCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZXJtaXNzaW9uX2l0ZW1z KTsKKyAKKyAgIHBpcGV3aXJlX3JlbW90ZV9yb3VuZHRyaXAgKHJlbW90ZSk7CisgCitAQCAtMjE5 LDcgKzIxOSw3IEBAIGhhbmRsZV9vcGVuX3BpcGV3aXJlX3JlbW90ZSAoWGRwQ2FtZXJhICpvYmpl Y3QsCisgICAgIH0KKyAKKyAgIG91dF9mZF9saXN0ID0gZ191bml4X2ZkX2xpc3RfbmV3ICgpOwor LSAgZmQgPSBwd19yZW1vdGVfc3RlYWxfZmQgKHJlbW90ZS0+cmVtb3RlKTsKKysgIGZkID0gcHdf Y29yZV9zdGVhbF9mZCAocmVtb3RlLT5jb3JlKTsKKyAgIGZkX2lkID0gZ191bml4X2ZkX2xpc3Rf YXBwZW5kIChvdXRfZmRfbGlzdCwgZmQsICZlcnJvcik7CisgICBjbG9zZSAoZmQpOworICAgcGlw ZXdpcmVfcmVtb3RlX2Rlc3Ryb3kgKHJlbW90ZSk7CitAQCAtMjUwLDI5ICsyNTAsMjggQEAgY2Ft ZXJhX2lmYWNlX2luaXQgKFhkcENhbWVyYUlmYWNlICppZmFjZSkKKyBzdGF0aWMgdm9pZAorIGds b2JhbF9hZGRlZF9jYiAoUGlwZVdpcmVSZW1vdGUgKnJlbW90ZSwKKyAgICAgICAgICAgICAgICAg IHVpbnQzMl90IGlkLAorLSAgICAgICAgICAgICAgICAgdWludDMyX3QgdHlwZSwKKysgICAgICAg ICAgICAgICAgIGNvbnN0IGNoYXIgKnR5cGUsCisgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1 Y3Qgc3BhX2RpY3QgKnByb3BzLAorICAgICAgICAgICAgICAgICAgZ3BvaW50ZXIgdXNlcl9kYXRh KQorIHsKKyAgIENhbWVyYSAqY2FtZXJhID0gdXNlcl9kYXRhOworLSAgc3RydWN0IHB3X3R5cGUg KmNvcmVfdHlwZSA9IHB3X2NvcmVfZ2V0X3R5cGUgKHJlbW90ZS0+Y29yZSk7CisgICBjb25zdCBz dHJ1Y3Qgc3BhX2RpY3RfaXRlbSAqbWVkaWFfY2xhc3M7CisgICBjb25zdCBzdHJ1Y3Qgc3BhX2Rp Y3RfaXRlbSAqbWVkaWFfcm9sZTsKKyAKKy0gIGlmICh0eXBlICE9IGNvcmVfdHlwZS0+bm9kZSkK KysgIGlmIChzdHJjbXAodHlwZSwgUFdfVFlQRV9JTlRFUkZBQ0VfTm9kZSkgIT0gMCkKKyAgICAg cmV0dXJuOworIAorICAgaWYgKCFwcm9wcykKKyAgICAgcmV0dXJuOworIAorLSAgbWVkaWFfY2xh c3MgPSBzcGFfZGljdF9sb29rdXBfaXRlbSAocHJvcHMsICJtZWRpYS5jbGFzcyIpOworKyAgbWVk aWFfY2xhc3MgPSBzcGFfZGljdF9sb29rdXBfaXRlbSAocHJvcHMsIFBXX0tFWV9NRURJQV9DTEFT Uyk7CisgICBpZiAoIW1lZGlhX2NsYXNzKQorICAgICByZXR1cm47CisgCisgICBpZiAoZ19zdHJj bXAwIChtZWRpYV9jbGFzcy0+dmFsdWUsICJWaWRlby9Tb3VyY2UiKSAhPSAwKQorICAgICByZXR1 cm47CisgCistICBtZWRpYV9yb2xlID0gc3BhX2RpY3RfbG9va3VwX2l0ZW0gKHByb3BzLCAibWVk aWEucm9sZSIpOworKyAgbWVkaWFfcm9sZSA9IHNwYV9kaWN0X2xvb2t1cF9pdGVtIChwcm9wcywg UFdfS0VZX01FRElBX1JPTEUpOworICAgaWYgKCFtZWRpYV9yb2xlKQorICAgICByZXR1cm47Cisg CitAQCAtMzQyLDYgKzM0MSw3IEBAIGNyZWF0ZV9waXBld2lyZV9yZW1vdGUgKENhbWVyYSAqY2Ft ZXJhLAorICAgICB9CisgCisgICBwaXBld2lyZV9wcm9wZXJ0aWVzID0gcHdfcHJvcGVydGllc19u ZXcgKCJwaXBld2lyZS5hY2Nlc3MucG9ydGFsLmlzX3BvcnRhbCIsICJ0cnVlIiwKKysgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBvcnRhbC5tb25pdG9yIiwgIkNh bWVyYSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwp OworICAgY2FtZXJhLT5waXBld2lyZV9yZW1vdGUgPSBwaXBld2lyZV9yZW1vdGVfbmV3X3N5bmMg KHBpcGV3aXJlX3Byb3BlcnRpZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZ2xvYmFsX2FkZGVkX2NiLAorZGlmZiAtLWdpdCBzcmMvcGlw ZXdpcmUuYyBzcmMvcGlwZXdpcmUuYworaW5kZXggNzkzYTM3OC4uMTYyY2Q1NSAxMDA2NDQKKy0t LSBzcmMvcGlwZXdpcmUuYworKysrIHNyYy9waXBld2lyZS5jCitAQCAtMjEsNiArMjEsNyBAQAor ICNpbmNsdWRlIDxlcnJuby5oPgorICNpbmNsdWRlIDxnbGliLmg+CisgI2luY2x1ZGUgPHBpcGV3 aXJlL3BpcGV3aXJlLmg+CisrI2luY2x1ZGUgPHNwYS91dGlscy9yZXN1bHQuaD4KKyAKKyAjaW5j bHVkZSAicGlwZXdpcmUuaCIKKyAKK0BAIC0zNiwyNyArMzcsMjUgQEAgc3RhdGljIGdib29sZWFu IGlzX3BpcGV3aXJlX2luaXRpYWxpemVkID0gRkFMU0U7Cisgc3RhdGljIHZvaWQKKyByZWdpc3Ry eV9ldmVudF9nbG9iYWwgKHZvaWQgKnVzZXJfZGF0YSwKKyAgICAgICAgICAgICAgICAgICAgICAg IHVpbnQzMl90IGlkLAorLSAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgcGFyZW50X2lk LAorICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgcGVybWlzc2lvbnMsCistICAgICAg ICAgICAgICAgICAgICAgICB1aW50MzJfdCB0eXBlLAorKyAgICAgICAgICAgICAgICAgICAgICAg Y29uc3QgY2hhciAqdHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHZlcnNp b24sCisgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3Qgc3BhX2RpY3QgKnByb3Bz KQorIHsKKyAgIFBpcGVXaXJlUmVtb3RlICpyZW1vdGUgPSB1c2VyX2RhdGE7CistICBzdHJ1Y3Qg cHdfdHlwZSAqY29yZV90eXBlID0gcHdfY29yZV9nZXRfdHlwZSAocmVtb3RlLT5jb3JlKTsKKyAg IGNvbnN0IHN0cnVjdCBzcGFfZGljdF9pdGVtICpmYWN0b3J5X29iamVjdF90eXBlOworICAgUGlw ZVdpcmVHbG9iYWwgKmdsb2JhbDsKKyAKKyAgIGdsb2JhbCA9IGdfbmV3MCAoUGlwZVdpcmVHbG9i YWwsIDEpOworICAgKmdsb2JhbCA9IChQaXBlV2lyZUdsb2JhbCkgeworLSAgICAucGFyZW50X2lk ID0gcGFyZW50X2lkLAorKyAgICAucGFyZW50X2lkID0gaWQsCisgICB9OworIAorICAgZ19oYXNo X3RhYmxlX2luc2VydCAocmVtb3RlLT5nbG9iYWxzLCBHSU5UX1RPX1BPSU5URVIgKGlkKSwgZ2xv YmFsKTsKKyAgIGlmIChyZW1vdGUtPmdsb2JhbF9hZGRlZF9jYikKKyAgICAgcmVtb3RlLT5nbG9i YWxfYWRkZWRfY2IgKHJlbW90ZSwgaWQsIHR5cGUsIHByb3BzLCByZW1vdGUtPnVzZXJfZGF0YSk7 CisgCistICBpZiAodHlwZSAhPSBjb3JlX3R5cGUtPmZhY3RvcnkpCisrICBpZiAoc3RyY21wKHR5 cGUsIFBXX1RZUEVfSU5URVJGQUNFX0ZhY3RvcnkpICE9IDApCisgICAgIHJldHVybjsKKyAKKyAg IGZhY3Rvcnlfb2JqZWN0X3R5cGUgPSBzcGFfZGljdF9sb29rdXBfaXRlbSAocHJvcHMsICJmYWN0 b3J5LnR5cGUubmFtZSIpOworQEAgLTgxLDggKzgwLDggQEAgcmVnaXN0cnlfZXZlbnRfZ2xvYmFs X3JlbW92ZSAodm9pZCAqdXNlcl9kYXRhLAorICAgZ19oYXNoX3RhYmxlX3JlbW92ZSAocmVtb3Rl LT5nbG9iYWxzLCBHSU5UX1RPX1BPSU5URVIgKGlkKSk7CisgfQorIAorLXN0YXRpYyBjb25zdCBz dHJ1Y3QgcHdfcmVnaXN0cnlfcHJveHlfZXZlbnRzIHJlZ2lzdHJ5X2V2ZW50cyA9IHsKKy0gIFBX X1ZFUlNJT05fUkVHSVNUUllfUFJPWFlfRVZFTlRTLAorK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcHdf cmVnaXN0cnlfZXZlbnRzIHJlZ2lzdHJ5X2V2ZW50cyA9IHsKKysgIFBXX1ZFUlNJT05fUkVHSVNU UllfRVZFTlRTLAorICAgLmdsb2JhbCA9IHJlZ2lzdHJ5X2V2ZW50X2dsb2JhbCwKKyAgIC5nbG9i YWxfcmVtb3ZlID0gcmVnaXN0cnlfZXZlbnRfZ2xvYmFsX3JlbW92ZSwKKyB9OworQEAgLTkwLDcg Kzg5LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBwd19yZWdpc3RyeV9wcm94eV9ldmVudHMgcmVn aXN0cnlfZXZlbnRzID0geworIHZvaWQKKyBwaXBld2lyZV9yZW1vdGVfcm91bmR0cmlwIChQaXBl V2lyZVJlbW90ZSAqcmVtb3RlKQorIHsKKy0gIHB3X2NvcmVfcHJveHlfc3luYyAocmVtb3RlLT5j b3JlX3Byb3h5LCArK3JlbW90ZS0+c3luY19zZXEpOworKyAgcmVtb3RlLT5zeW5jX3NlcSA9IHB3 X2NvcmVfc3luYyAocmVtb3RlLT5jb3JlLCBQV19JRF9DT1JFLCByZW1vdGUtPnN5bmNfc2VxKTsK KyAgIHB3X21haW5fbG9vcF9ydW4gKHJlbW90ZS0+bG9vcCk7CisgfQorIAorQEAgLTk4LDE2ICs5 NywxMyBAQCBzdGF0aWMgZ2Jvb2xlYW4KKyBkaXNjb3Zlcl9ub2RlX2ZhY3Rvcnlfc3luYyAoUGlw ZVdpcmVSZW1vdGUgKnJlbW90ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0Vycm9y ICoqZXJyb3IpCisgeworLSAgc3RydWN0IHB3X3R5cGUgKmNvcmVfdHlwZSA9IHB3X2NvcmVfZ2V0 X3R5cGUgKHJlbW90ZS0+Y29yZSk7CistICBzdHJ1Y3QgcHdfcmVnaXN0cnlfcHJveHkgKnJlZ2lz dHJ5X3Byb3h5OworKyAgc3RydWN0IHB3X3JlZ2lzdHJ5ICpyZWdpc3RyeTsKKyAKKy0gIHJlZ2lz dHJ5X3Byb3h5ID0gcHdfY29yZV9wcm94eV9nZXRfcmVnaXN0cnkgKHJlbW90ZS0+Y29yZV9wcm94 eSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvcmVf dHlwZS0+cmVnaXN0cnksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBQV19WRVJTSU9OX1JFR0lTVFJZLCAwKTsKKy0gIHB3X3JlZ2lzdHJ5X3Byb3h5X2Fk ZF9saXN0ZW5lciAocmVnaXN0cnlfcHJveHksCistICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICZyZW1vdGUtPnJlZ2lzdHJ5X2xpc3RlbmVyLAorLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAmcmVnaXN0cnlfZXZlbnRzLAorLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICByZW1vdGUpOworKyAgcmVnaXN0cnkgPSBwd19jb3JlX2dldF9yZWdpc3RyeSAo cmVtb3RlLT5jb3JlLCBQV19WRVJTSU9OX1JFR0lTVFJZLCAwKTsKKysgIHB3X3JlZ2lzdHJ5X2Fk ZF9saXN0ZW5lciAocmVnaXN0cnksCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICZyZW1v dGUtPnJlZ2lzdHJ5X2xpc3RlbmVyLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcmVn aXN0cnlfZXZlbnRzLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW1vdGUpOworIAor ICAgcGlwZXdpcmVfcmVtb3RlX3JvdW5kdHJpcCAocmVtb3RlKTsKKyAKK0BAIC0xMjIsNTkgKzEx OCwzNSBAQCBkaXNjb3Zlcl9ub2RlX2ZhY3Rvcnlfc3luYyAoUGlwZVdpcmVSZW1vdGUgKnJlbW90 ZSwKKyB9CisgCisgc3RhdGljIHZvaWQKKy1vbl9zdGF0ZV9jaGFuZ2VkICh2b2lkICp1c2VyX2Rh dGEsCistICAgICAgICAgICAgICAgICAgZW51bSBwd19yZW1vdGVfc3RhdGUgb2xkLAorLSAgICAg ICAgICAgICAgICAgIGVudW0gcHdfcmVtb3RlX3N0YXRlIHN0YXRlLAorLSAgICAgICAgICAgICAg ICAgIGNvbnN0IGNoYXIgKmVycm9yKQorK2NvcmVfZXZlbnRfZXJyb3IgKHZvaWQgICAgICAgKnVz ZXJfZGF0YSwKKysgICAgICAgICAgICAgICAgICB1aW50MzJfdCAgICBpZCwKKysJCSAgaW50ICAg ICAgICAgc2VxLAorKwkJICBpbnQgICAgICAgICByZXMsCisrCQkgIGNvbnN0IGNoYXIgKm1lc3Nh Z2UpCisgeworICAgUGlwZVdpcmVSZW1vdGUgKnJlbW90ZSA9IHVzZXJfZGF0YTsKKyAKKy0gIHN3 aXRjaCAoc3RhdGUpCisrICBpZiAoaWQgPT0gUFdfSURfQ09SRSkKKyAgICAgeworLSAgICBjYXNl IFBXX1JFTU9URV9TVEFURV9FUlJPUjoKKy0gICAgICBpZiAoIXJlbW90ZS0+ZXJyb3IpCistICAg ICAgICB7CistICAgICAgICAgIGdfc2V0X2Vycm9yICgmcmVtb3RlLT5lcnJvciwgR19JT19FUlJP UiwgR19JT19FUlJPUl9GQUlMRUQsCistICAgICAgICAgICAgICAgICAgICAgICAiJXMiLCBlcnJv cik7CistICAgICAgICB9CisrICAgICAgZ19zZXRfZXJyb3IgKCZyZW1vdGUtPmVycm9yLCBHX0lP X0VSUk9SLCBHX0lPX0VSUk9SX0ZBSUxFRCwKKysgICAgICAgICAgICAgICAgICIlcyIsIG1lc3Nh Z2UpOworICAgICAgIHB3X21haW5fbG9vcF9xdWl0IChyZW1vdGUtPmxvb3ApOworLSAgICAgIGJy ZWFrOworLSAgICBjYXNlIFBXX1JFTU9URV9TVEFURV9VTkNPTk5FQ1RFRDoKKy0gICAgICBpZiAo IXJlbW90ZS0+ZXJyb3IpCistICAgICAgICB7CistICAgICAgICAgIGdfc2V0X2Vycm9yICgmcmVt b3RlLT5lcnJvciwgR19JT19FUlJPUiwgR19JT19FUlJPUl9GQUlMRUQsCistICAgICAgICAgICAg ICAgICAgICAgICAiRGlzY29ubmVjdGVkIik7CistICAgICAgICB9CistICAgICAgcHdfbWFpbl9s b29wX3F1aXQgKHJlbW90ZS0+bG9vcCk7CistICAgICAgYnJlYWs7CistICAgIGNhc2UgUFdfUkVN T1RFX1NUQVRFX0NPTk5FQ1RJTkc6CistICAgICAgYnJlYWs7CistICAgIGNhc2UgUFdfUkVNT1RF X1NUQVRFX0NPTk5FQ1RFRDoKKy0gICAgICBwd19tYWluX2xvb3BfcXVpdCAocmVtb3RlLT5sb29w KTsKKy0gICAgICBicmVhazsKKy0gICAgZGVmYXVsdDoKKy0gICAgICBnX3dhcm5pbmcgKCJVbmtu b3duIFBpcGVXaXJlIHN0YXRlIik7CistICAgICAgYnJlYWs7CisgICAgIH0KKyB9CisgCistc3Rh dGljIGNvbnN0IHN0cnVjdCBwd19yZW1vdGVfZXZlbnRzIHJlbW90ZV9ldmVudHMgPSB7CistICBQ V19WRVJTSU9OX1JFTU9URV9FVkVOVFMsCistICAuc3RhdGVfY2hhbmdlZCA9IG9uX3N0YXRlX2No YW5nZWQsCistfTsKKy0KKyBzdGF0aWMgdm9pZAorIGNvcmVfZXZlbnRfZG9uZSAodm9pZCAqdXNl cl9kYXRhLAorLSAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2VxKQorKyAgICAgICAgICAgICAg ICAgdWludDMyX3QgaWQsIGludCBzZXEpCisgeworICAgUGlwZVdpcmVSZW1vdGUgKnJlbW90ZSA9 IHVzZXJfZGF0YTsKKyAKKy0gIGlmIChyZW1vdGUtPnN5bmNfc2VxID09IHNlcSkKKysgIGlmIChp ZCA9PSBQV19JRF9DT1JFICYmIHJlbW90ZS0+c3luY19zZXEgPT0gc2VxKQorICAgICBwd19tYWlu X2xvb3BfcXVpdCAocmVtb3RlLT5sb29wKTsKKyB9CisgCistc3RhdGljIGNvbnN0IHN0cnVjdCBw d19jb3JlX3Byb3h5X2V2ZW50cyBjb3JlX2V2ZW50cyA9IHsKKy0gIFBXX1ZFUlNJT05fQ09SRV9Q Uk9YWV9FVkVOVFMsCisrc3RhdGljIGNvbnN0IHN0cnVjdCBwd19jb3JlX2V2ZW50cyBjb3JlX2V2 ZW50cyA9IHsKKysgIFBXX1ZFUlNJT05fQ09SRV9FVkVOVFMsCisrICAuZXJyb3IgPSBjb3JlX2V2 ZW50X2Vycm9yLAorICAgLmRvbmUgPSBjb3JlX2V2ZW50X2RvbmUsCisgfTsKKyAKK0BAIC0yMzcs OCArMjA5LDggQEAgdm9pZAorIHBpcGV3aXJlX3JlbW90ZV9kZXN0cm95IChQaXBlV2lyZVJlbW90 ZSAqcmVtb3RlKQorIHsKKyAgIGdfY2xlYXJfcG9pbnRlciAoJnJlbW90ZS0+Z2xvYmFscywgZ19o YXNoX3RhYmxlX2Rlc3Ryb3kpOworLSAgZ19jbGVhcl9wb2ludGVyICgmcmVtb3RlLT5yZW1vdGUs IHB3X3JlbW90ZV9kZXN0cm95KTsKKy0gIGdfY2xlYXJfcG9pbnRlciAoJnJlbW90ZS0+Y29yZSwg cHdfY29yZV9kZXN0cm95KTsKKysgIGdfY2xlYXJfcG9pbnRlciAoJnJlbW90ZS0+Y29yZSwgcHdf Y29yZV9kaXNjb25uZWN0KTsKKysgIGdfY2xlYXJfcG9pbnRlciAoJnJlbW90ZS0+Y29udGV4dCwg cHdfY29udGV4dF9kZXN0cm95KTsKKyAgIGdfY2xlYXJfcG9pbnRlciAoJnJlbW90ZS0+bG9vcCwg cHdfbWFpbl9sb29wX2Rlc3Ryb3kpOworICAgZ19jbGVhcl9lcnJvciAoJnJlbW90ZS0+ZXJyb3Ip OworIAorQEAgLTMwNyw2OCArMjc5LDMxIEBAIHBpcGV3aXJlX3JlbW90ZV9uZXdfc3luYyAoc3Ry dWN0IHB3X3Byb3BlcnRpZXMgKnBpcGV3aXJlX3Byb3BlcnRpZXMsCisgICAgICAgcmV0dXJuIE5V TEw7CisgICAgIH0KKyAKKy0gIHJlbW90ZS0+Y29yZSA9IHB3X2NvcmVfbmV3IChwd19tYWluX2xv b3BfZ2V0X2xvb3AgKHJlbW90ZS0+bG9vcCksIE5VTEwpOworLSAgaWYgKCFyZW1vdGUtPmNvcmUp CisrICByZW1vdGUtPmNvbnRleHQgPSBwd19jb250ZXh0X25ldyAocHdfbWFpbl9sb29wX2dldF9s b29wIChyZW1vdGUtPmxvb3ApLCBOVUxMLCAwKTsKKysgIGlmICghcmVtb3RlLT5jb250ZXh0KQor ICAgICB7CisgICAgICAgcGlwZXdpcmVfcmVtb3RlX2Rlc3Ryb3kgKHJlbW90ZSk7CisgICAgICAg cHdfcHJvcGVydGllc19mcmVlIChwaXBld2lyZV9wcm9wZXJ0aWVzKTsKKyAgICAgICBnX3NldF9l cnJvciAoZXJyb3IsIEdfSU9fRVJST1IsIEdfSU9fRVJST1JfRkFJTEVELAorLSAgICAgICAgICAg ICAgICAgICAiQ291bGRuJ3QgY3JlYXRlIFBpcGVXaXJlIGNvcmUiKTsKKysgICAgICAgICAgICAg ICAgICAgIkNvdWxkbid0IGNyZWF0ZSBQaXBlV2lyZSBjb250ZXh0Iik7CisgICAgICAgcmV0dXJu IE5VTEw7CisgICAgIH0KKyAKKy0gIHJlbW90ZS0+cmVtb3RlID0gcHdfcmVtb3RlX25ldyAocmVt b3RlLT5jb3JlLCBwaXBld2lyZV9wcm9wZXJ0aWVzLCAwKTsKKy0gIGlmICghcmVtb3RlLT5yZW1v dGUpCisrICByZW1vdGUtPmNvcmUgPSBwd19jb250ZXh0X2Nvbm5lY3QgKHJlbW90ZS0+Y29udGV4 dCwgcGlwZXdpcmVfcHJvcGVydGllcywgMCk7CisrICBpZiAoIXJlbW90ZS0+Y29yZSkKKyAgICAg eworICAgICAgIHBpcGV3aXJlX3JlbW90ZV9kZXN0cm95IChyZW1vdGUpOworICAgICAgIGdfc2V0 X2Vycm9yIChlcnJvciwgR19JT19FUlJPUiwgR19JT19FUlJPUl9GQUlMRUQsCistICAgICAgICAg ICAgICAgICAgICJDb3VsZG4ndCBjcmVhdGUgUGlwZVdpcmUgcmVtb3RlIik7CisrICAgICAgICAg ICAgICAgICAgICJDb3VsZG4ndCBjb25uZWN0IHRvIFBpcGVXaXJlIik7CisgICAgICAgcmV0dXJu IE5VTEw7CisgICAgIH0KKyAKKyAgIHJlbW90ZS0+Z2xvYmFscyA9IGdfaGFzaF90YWJsZV9uZXdf ZnVsbCAoTlVMTCwgTlVMTCwgTlVMTCwgZ19mcmVlKTsKKyAKKy0gIHB3X3JlbW90ZV9hZGRfbGlz dGVuZXIgKHJlbW90ZS0+cmVtb3RlLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgJnJlbW90 ZS0+cmVtb3RlX2xpc3RlbmVyLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgJnJlbW90ZV9l dmVudHMsCistICAgICAgICAgICAgICAgICAgICAgICAgICByZW1vdGUpOworLQorLSAgaWYgKHB3 X3JlbW90ZV9jb25uZWN0IChyZW1vdGUtPnJlbW90ZSkgIT0gMCkKKy0gICAgeworLSAgICAgIHBp cGV3aXJlX3JlbW90ZV9kZXN0cm95IChyZW1vdGUpOworLSAgICAgIGdfc2V0X2Vycm9yIChlcnJv ciwgR19JT19FUlJPUiwgR19JT19FUlJPUl9GQUlMRUQsCistICAgICAgICAgICAgICAgICAgICJD b3VsZG4ndCBjb25uZWN0IFBpcGVXaXJlIHJlbW90ZSIpOworLSAgICAgIHJldHVybiBOVUxMOwor LSAgICB9CistCistICBwd19tYWluX2xvb3BfcnVuIChyZW1vdGUtPmxvb3ApOworLQorLSAgc3dp dGNoIChwd19yZW1vdGVfZ2V0X3N0YXRlIChyZW1vdGUtPnJlbW90ZSwgTlVMTCkpCistICAgIHsK Ky0gICAgY2FzZSBQV19SRU1PVEVfU1RBVEVfRVJST1I6CistICAgIGNhc2UgUFdfUkVNT1RFX1NU QVRFX1VOQ09OTkVDVEVEOgorLSAgICAgICplcnJvciA9IGdfc3RlYWxfcG9pbnRlciAoJnJlbW90 ZS0+ZXJyb3IpOworLSAgICAgIHBpcGV3aXJlX3JlbW90ZV9kZXN0cm95IChyZW1vdGUpOworLSAg ICAgIHJldHVybiBOVUxMOworLSAgICBjYXNlIFBXX1JFTU9URV9TVEFURV9DT05ORUNUSU5HOgor LSAgICAgIGdfc2V0X2Vycm9yIChlcnJvciwgR19JT19FUlJPUiwgR19JT19FUlJPUl9GQUlMRUQs CistICAgICAgICAgICAgICAgICAgICJQaXBlV2lyZSBsb29wIHN0b3BwZWQgdW5leHBlY3RlZGx5 Iik7CistICAgICAgcGlwZXdpcmVfcmVtb3RlX2Rlc3Ryb3kgKHJlbW90ZSk7CistICAgICAgcmV0 dXJuIE5VTEw7CistICAgIGNhc2UgUFdfUkVNT1RFX1NUQVRFX0NPTk5FQ1RFRDoKKy0gICAgICBi cmVhazsKKy0gICAgZGVmYXVsdDoKKy0gICAgICBnX3NldF9lcnJvciAoZXJyb3IsIEdfSU9fRVJS T1IsIEdfSU9fRVJST1JfRkFJTEVELAorLSAgICAgICAgICAgICAgICAgICAiVW5leHBlY3RlZCBQ aXBlV2lyZSBzdGF0ZSIpOworLSAgICAgIHBpcGV3aXJlX3JlbW90ZV9kZXN0cm95IChyZW1vdGUp OworLSAgICAgIHJldHVybiBOVUxMOworLSAgICB9CistCistICByZW1vdGUtPmNvcmVfcHJveHkg PSBwd19yZW1vdGVfZ2V0X2NvcmVfcHJveHkgKHJlbW90ZS0+cmVtb3RlKTsKKy0gIHB3X2NvcmVf cHJveHlfYWRkX2xpc3RlbmVyIChyZW1vdGUtPmNvcmVfcHJveHksCistICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJnJlbW90ZS0+Y29yZV9saXN0ZW5lciwKKy0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAmY29yZV9ldmVudHMsCistICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgcmVtb3RlKTsKKysgIHB3X2NvcmVfYWRkX2xpc3RlbmVyIChyZW1vdGUtPmNvcmUsCisrICAg ICAgICAgICAgICAgICAgICAgICAgJnJlbW90ZS0+Y29yZV9saXN0ZW5lciwKKysgICAgICAgICAg ICAgICAgICAgICAgICAmY29yZV9ldmVudHMsCisrICAgICAgICAgICAgICAgICAgICAgICAgcmVt b3RlKTsKKyAKKyAgIGlmICghZGlzY292ZXJfbm9kZV9mYWN0b3J5X3N5bmMgKHJlbW90ZSwgZXJy b3IpKQorICAgICB7CitkaWZmIC0tZ2l0IHNyYy9waXBld2lyZS5oIHNyYy9waXBld2lyZS5oCitp bmRleCAwZjFiZjU0Li5iZjQ4ZDVlIDEwMDY0NAorLS0tIHNyYy9waXBld2lyZS5oCisrKysgc3Jj L3BpcGV3aXJlLmgKK0BAIC0zMiw3ICszMiw3IEBAIHR5cGVkZWYgc3RydWN0IF9QaXBlV2lyZUds b2JhbAorIAorIHR5cGVkZWYgdm9pZCAoKiBQaXBlV2lyZUdsb2JhbEFkZGVkQ2FsbGJhY2spIChQ aXBlV2lyZVJlbW90ZSAqcmVtb3RlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB1aW50MzJfdCBpZCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdWludDMyX3QgdHlwZSwKKysgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqdHlwZSwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IHNwYV9kaWN0ICpw cm9wcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3Bv aW50ZXIgdXNlcl9kYXRhKTsKKyAKK0BAIC00MywxMyArNDMsMTEgQEAgdHlwZWRlZiB2b2lkICgq IFBpcGVXaXJlR2xvYmFsUmVtb3ZlZENhbGxiYWNrKSAoUGlwZVdpcmVSZW1vdGUgKnJlbW90ZSwK KyBzdHJ1Y3QgX1BpcGVXaXJlUmVtb3RlCisgeworICAgc3RydWN0IHB3X21haW5fbG9vcCAqbG9v cDsKKysgIHN0cnVjdCBwd19jb250ZXh0ICpjb250ZXh0OworICAgc3RydWN0IHB3X2NvcmUgKmNv cmU7CistICBzdHJ1Y3QgcHdfcmVtb3RlICpyZW1vdGU7CistICBzdHJ1Y3Qgc3BhX2hvb2sgcmVt b3RlX2xpc3RlbmVyOworLQorLSAgc3RydWN0IHB3X2NvcmVfcHJveHkgKmNvcmVfcHJveHk7Cisg ICBzdHJ1Y3Qgc3BhX2hvb2sgY29yZV9saXN0ZW5lcjsKKy0gIHVpbnQzMl90IHN5bmNfc2VxOwor KworKyAgaW50IHN5bmNfc2VxOworIAorICAgc3RydWN0IHNwYV9ob29rIHJlZ2lzdHJ5X2xpc3Rl bmVyOworIAorZGlmZiAtLWdpdCBzcmMvc2NyZWVuLWNhc3QuYyBzcmMvc2NyZWVuLWNhc3QuYwor aW5kZXggNzg4MWRkYy4uMTY3NzA1MCAxMDA2NDQKKy0tLSBzcmMvc2NyZWVuLWNhc3QuYworKysr IHNyYy9zY3JlZW4tY2FzdC5jCitAQCAtMzEsMTAgKzMxLDEwIEBACisgI2luY2x1ZGUgInhkcC1p bXBsLWRidXMuaCIKKyAjaW5jbHVkZSAieGRwLXV0aWxzLmgiCisgCistI2RlZmluZSBQRVJNSVNT SU9OX0lURU0oaXRlbV9rZXksIGl0ZW1fdmFsdWUpIFwKKy0gICgoc3RydWN0IHNwYV9kaWN0X2l0 ZW0pIHsgXAorLSAgICAua2V5ID0gaXRlbV9rZXksIFwKKy0gICAgLnZhbHVlID0gaXRlbV92YWx1 ZSBcCisrI2RlZmluZSBQRVJNSVNTSU9OX0lURU0oaXRlbV9pZCwgaXRlbV9wZXJtaXNzaW9ucykg XAorKyAgKChzdHJ1Y3QgcHdfcGVybWlzc2lvbikgeyBcCisrICAgIC5pZCA9IGl0ZW1faWQsIFwK KysgICAgLnBlcm1pc3Npb25zID0gaXRlbV9wZXJtaXNzaW9ucyBcCisgICB9KQorIAorIHR5cGVk ZWYgc3RydWN0IF9TY3JlZW5DYXN0IFNjcmVlbkNhc3Q7CitAQCAtNTE3LDQyICs1MTcsOSBAQCBz Y3JlZW5fY2FzdF9zdHJlYW1fZ2V0X3BpcGV3aXJlX25vZGVfaWQgKFNjcmVlbkNhc3RTdHJlYW0g KnN0cmVhbSkKKyAgIHJldHVybiBzdHJlYW0tPmlkOworIH0KKyAKKy1zdGF0aWMgdm9pZAorLWFw cGVuZF9wYXJlbnRfcGVybWlzc2lvbnMgKFBpcGVXaXJlUmVtb3RlICpyZW1vdGUsCistICAgICAg ICAgICAgICAgICAgICAgICAgICAgR0FycmF5ICpwZXJtaXNzaW9uX2l0ZW1zLAorLSAgICAgICAg ICAgICAgICAgICAgICAgICAgIEdMaXN0ICoqc3RyaW5nX3N0YXNoLAorLSAgICAgICAgICAgICAg ICAgICAgICAgICAgIFBpcGVXaXJlR2xvYmFsICpnbG9iYWwsCistICAgICAgICAgICAgICAgICAg ICAgICAgICAgY29uc3QgY2hhciAqcGVybWlzc2lvbikKKy17CistICBQaXBlV2lyZUdsb2JhbCAq cGFyZW50OworLSAgY2hhciAqcGFyZW50X3Blcm1pc3Npb25fdmFsdWU7CistCistICBpZiAoZ2xv YmFsLT5wYXJlbnRfaWQgPT0gMCkKKy0gICAgcmV0dXJuOworLQorLSAgcGFyZW50ID0gZ19oYXNo X3RhYmxlX2xvb2t1cCAocmVtb3RlLT5nbG9iYWxzLCBHSU5UX1RPX1BPSU5URVIgKGdsb2JhbC0+ cGFyZW50X2lkKSk7CistCistICBpZiAocGFyZW50LT5wZXJtaXNzaW9uX3NldCkKKy0gICAgcmV0 dXJuOworLSAgcGFyZW50LT5wZXJtaXNzaW9uX3NldCA9IFRSVUU7CistCistICBhcHBlbmRfcGFy ZW50X3Blcm1pc3Npb25zIChyZW1vdGUsIHBlcm1pc3Npb25faXRlbXMsIHN0cmluZ19zdGFzaCwK Ky0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudCwgcGVybWlzc2lvbik7CistCist ICBwYXJlbnRfcGVybWlzc2lvbl92YWx1ZSA9IGdfc3RyZHVwX3ByaW50ZiAoIiV1OiVzIiwKKy0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbG9iYWwtPnBhcmVu dF9pZCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZXJt aXNzaW9uKTsKKy0gICpzdHJpbmdfc3Rhc2ggPSBnX2xpc3RfcHJlcGVuZCAoKnN0cmluZ19zdGFz aCwgcGFyZW50X3Blcm1pc3Npb25fdmFsdWUpOworLQorLSAgZ19hcnJheV9hcHBlbmRfdmFsIChw ZXJtaXNzaW9uX2l0ZW1zLAorLSAgICAgICAgICAgICAgICAgICAgICBQRVJNSVNTSU9OX0lURU0g KFBXX0NPUkVfUFJPWFlfUEVSTUlTU0lPTlNfR0xPQkFMLAorLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHBhcmVudF9wZXJtaXNzaW9uX3ZhbHVlKSk7CistfQorLQorIHN0 YXRpYyB2b2lkCisgYXBwZW5kX3N0cmVhbV9wZXJtaXNzaW9ucyAoUGlwZVdpcmVSZW1vdGUgKnJl bW90ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBHQXJyYXkgKnBlcm1pc3Npb25faXRl bXMsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xpc3QgKipzdHJpbmdfc3Rhc2gsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xpc3QgKnN0cmVhbXMpCisgeworICAgR0xpc3Qg Kmw7CitAQCAtNTYxLDIxICs1MjgsMTAgQEAgYXBwZW5kX3N0cmVhbV9wZXJtaXNzaW9ucyAoUGlw ZVdpcmVSZW1vdGUgKnJlbW90ZSwKKyAgICAgeworICAgICAgIFNjcmVlbkNhc3RTdHJlYW0gKnN0 cmVhbSA9IGwtPmRhdGE7CisgICAgICAgdWludDMyX3Qgc3RyZWFtX2lkOworLSAgICAgIFBpcGVX aXJlR2xvYmFsICpzdHJlYW1fZ2xvYmFsOworLSAgICAgIGNoYXIgKnN0cmVhbV9wZXJtaXNzaW9u X3ZhbHVlOworIAorICAgICAgIHN0cmVhbV9pZCA9IHNjcmVlbl9jYXN0X3N0cmVhbV9nZXRfcGlw ZXdpcmVfbm9kZV9pZCAoc3RyZWFtKTsKKy0gICAgICBzdHJlYW1fZ2xvYmFsID0gZ19oYXNoX3Rh YmxlX2xvb2t1cCAocmVtb3RlLT5nbG9iYWxzLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBHSU5UX1RPX1BPSU5URVIgKHN0cmVhbV9pZCkpOworLQorLSAgICAg IGFwcGVuZF9wYXJlbnRfcGVybWlzc2lvbnMgKHJlbW90ZSwgcGVybWlzc2lvbl9pdGVtcywgc3Ry aW5nX3N0YXNoLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmVhbV9nbG9i YWwsICJyLS0iKTsKKy0KKy0gICAgICBzdHJlYW1fcGVybWlzc2lvbl92YWx1ZSA9IGdfc3RyZHVw X3ByaW50ZiAoIiV1OnJ3eCIsIHN0cmVhbV9pZCk7CistICAgICAgKnN0cmluZ19zdGFzaCA9IGdf bGlzdF9wcmVwZW5kICgqc3RyaW5nX3N0YXNoLCBzdHJlYW1fcGVybWlzc2lvbl92YWx1ZSk7Cisg ICAgICAgZ19hcnJheV9hcHBlbmRfdmFsIChwZXJtaXNzaW9uX2l0ZW1zLAorLSAgICAgICAgICAg ICAgICAgICAgICAgICAgUEVSTUlTU0lPTl9JVEVNIChQV19DT1JFX1BST1hZX1BFUk1JU1NJT05T X0dMT0JBTCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ry ZWFtX3Blcm1pc3Npb25fdmFsdWUpKTsKKysgICAgICAgICAgICAgICAgICAgICAgICAgIFBFUk1J U1NJT05fSVRFTSAoc3RyZWFtX2lkLCBQV19QRVJNX1JXWCkpOworICAgICB9CisgfQorIAorQEAg LTU4Nyw5ICs1NDMsNiBAQCBvcGVuX3BpcGV3aXJlX3NjcmVlbl9jYXN0X3JlbW90ZSAoY29uc3Qg Y2hhciAqYXBwX2lkLAorICAgc3RydWN0IHB3X3Byb3BlcnRpZXMgKnBpcGV3aXJlX3Byb3BlcnRp ZXM7CisgICBQaXBlV2lyZVJlbW90ZSAqcmVtb3RlOworICAgZ19hdXRvcHRyKEdBcnJheSkgcGVy bWlzc2lvbl9pdGVtcyA9IE5VTEw7CistICBjaGFyICpub2RlX2ZhY3RvcnlfcGVybWlzc2lvbl9z dHJpbmc7CistICBHTGlzdCAqc3RyaW5nX3N0YXNoID0gTlVMTDsKKy0gIHN0cnVjdCBzcGFfZGlj dCAqcGVybWlzc2lvbl9kaWN0OworICAgUGlwZVdpcmVHbG9iYWwgKm5vZGVfZ2xvYmFsOworIAor ICAgcGlwZXdpcmVfcHJvcGVydGllcyA9IHB3X3Byb3BlcnRpZXNfbmV3ICgicGlwZXdpcmUuYWNj ZXNzLnBvcnRhbC5hcHBfaWQiLCBhcHBfaWQsCitAQCAtNjAzLDQ4ICs1NTYsMzEgQEAgb3Blbl9w aXBld2lyZV9zY3JlZW5fY2FzdF9yZW1vdGUgKGNvbnN0IGNoYXIgKmFwcF9pZCwKKyAKKyAgIHBl cm1pc3Npb25faXRlbXMgPSBnX2FycmF5X25ldyAoRkFMU0UsIFRSVUUsIHNpemVvZiAoc3RydWN0 IHNwYV9kaWN0X2l0ZW0pKTsKKyAKKy0gIC8qCistICAgKiBIaWRlIGFsbCBleGlzdGluZyBhbmQg ZnV0dXJlIG5vZGVzIChleGNlcHQgdGhlIG9uZXMgd2UgZXhwbGljaXRseSBsaXN0IGJlbG93Lgor LSAgICovCistICBnX2FycmF5X2FwcGVuZF92YWwgKHBlcm1pc3Npb25faXRlbXMsCistICAgICAg ICAgICAgICAgICAgICAgIFBFUk1JU1NJT05fSVRFTSAoUFdfQ09SRV9QUk9YWV9QRVJNSVNTSU9O U19FWElTVElORywKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLS0t IikpOworLSAgZ19hcnJheV9hcHBlbmRfdmFsIChwZXJtaXNzaW9uX2l0ZW1zLAorLSAgICAgICAg ICAgICAgICAgICAgICBQRVJNSVNTSU9OX0lURU0gKFBXX0NPUkVfUFJPWFlfUEVSTUlTU0lPTlNf REVGQVVMVCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLS0tIikp OworLQorICAgLyoKKyAgICAqIFBpcGVXaXJlOkludGVyZmFjZTpDb3JlCisgICAgKiBOZWVkcyBy d3ggdG8gYmUgYWJsZSBjcmVhdGUgdGhlIHNpbmsgbm9kZSB1c2luZyB0aGUgY3JlYXRlLW9iamVj dCBtZXRob2QKKyAgICAqLworICAgZ19hcnJheV9hcHBlbmRfdmFsIChwZXJtaXNzaW9uX2l0ZW1z LAorLSAgICAgICAgICAgICAgICAgICAgICBQRVJNSVNTSU9OX0lURU0gKFBXX0NPUkVfUFJPWFlf UEVSTUlTU0lPTlNfR0xPQkFMLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICIwOnJ3eCIpKTsKKysgICAgICAgICAgICAgICAgICAgICAgUEVSTUlTU0lPTl9JVEVNIChQ V19JRF9DT1JFLCBQV19QRVJNX1JXWCkpOworIAorICAgLyoKKyAgICAqIFBpcGVXaXJlOkludGVy ZmFjZTpOb2RlRmFjdG9yeQorICAgICogTmVlZHMgci0tIHNvIGl0IGNhbiBiZSBwYXNzZWQgdG8g Y3JlYXRlLW9iamVjdCB3aGVuIGNyZWF0aW5nIHRoZSBzaW5rIG5vZGUuCisgICAgKi8KKy0gIG5v ZGVfZmFjdG9yeV9wZXJtaXNzaW9uX3N0cmluZyA9IGdfc3RyZHVwX3ByaW50ZiAoIiVkOnItLSIs CistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJl bW90ZS0+bm9kZV9mYWN0b3J5X2lkKTsKKy0gIHN0cmluZ19zdGFzaCA9IGdfbGlzdF9wcmVwZW5k IChzdHJpbmdfc3Rhc2gsIG5vZGVfZmFjdG9yeV9wZXJtaXNzaW9uX3N0cmluZyk7CisgICBnX2Fy cmF5X2FwcGVuZF92YWwgKHBlcm1pc3Npb25faXRlbXMsCistICAgICAgICAgICAgICAgICAgICAg IFBFUk1JU1NJT05fSVRFTSAoUFdfQ09SRV9QUk9YWV9QRVJNSVNTSU9OU19HTE9CQUwsCistICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZV9mYWN0b3J5X3Blcm1pc3Np b25fc3RyaW5nKSk7CistICBub2RlX2dsb2JhbCA9IGdfaGFzaF90YWJsZV9sb29rdXAgKHJlbW90 ZS0+Z2xvYmFscywKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0lOVF9U T19QT0lOVEVSIChyZW1vdGUtPm5vZGVfZmFjdG9yeV9pZCkpOworLSAgYXBwZW5kX3BhcmVudF9w ZXJtaXNzaW9ucyAocmVtb3RlLCBwZXJtaXNzaW9uX2l0ZW1zLCAmc3RyaW5nX3N0YXNoLAorLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZV9nbG9iYWwsICJyLS0iKTsKKysgICAgICAg ICAgICAgICAgICAgICAgUEVSTUlTU0lPTl9JVEVNIChyZW1vdGUtPm5vZGVfZmFjdG9yeV9pZCwg UFdfUEVSTV9SKSk7CisgCistICBhcHBlbmRfc3RyZWFtX3Blcm1pc3Npb25zIChyZW1vdGUsIHBl cm1pc3Npb25faXRlbXMsICZzdHJpbmdfc3Rhc2gsIHN0cmVhbXMpOworKyAgYXBwZW5kX3N0cmVh bV9wZXJtaXNzaW9ucyAocmVtb3RlLCBwZXJtaXNzaW9uX2l0ZW1zLCBzdHJlYW1zKTsKKyAKKy0g IHBlcm1pc3Npb25fZGljdCA9CistICAgICZTUEFfRElDVF9JTklUICgoc3RydWN0IHNwYV9kaWN0 X2l0ZW0gKikgcGVybWlzc2lvbl9pdGVtcy0+ZGF0YSwKKy0gICAgICAgICAgICAgICAgICAgIHBl cm1pc3Npb25faXRlbXMtPmxlbik7CistICBwd19jb3JlX3Byb3h5X3Blcm1pc3Npb25zIChwd19y ZW1vdGVfZ2V0X2NvcmVfcHJveHkgKHJlbW90ZS0+cmVtb3RlKSwKKy0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHBlcm1pc3Npb25fZGljdCk7CisrICAvKgorKyAgICogSGlkZSBhbGwgZXhp c3RpbmcgYW5kIGZ1dHVyZSBub2RlcyAoZXhjZXB0IHRoZSBvbmVzIHdlIGV4cGxpY2l0bHkgbGlz dCBhYm92ZSkuCisrICAgKi8KKysgIGdfYXJyYXlfYXBwZW5kX3ZhbCAocGVybWlzc2lvbl9pdGVt cywKKysgICAgICAgICAgICAgICAgICAgICAgUEVSTUlTU0lPTl9JVEVNIChQV19JRF9BTlksIDAp KTsKKyAKKy0gIGdfbGlzdF9mcmVlX2Z1bGwgKHN0cmluZ19zdGFzaCwgZ19mcmVlKTsKKysgIHB3 X2NsaWVudF91cGRhdGVfcGVybWlzc2lvbnMgKHB3X2NvcmVfZ2V0X2NsaWVudChyZW1vdGUtPmNv cmUpLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVybWlzc2lvbl9pdGVtcy0+ bGVuLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0IHN0cnVjdCBwd19w ZXJtaXNzaW9uICopcGVybWlzc2lvbl9pdGVtcy0+ZGF0YSk7CisgCisgICBwaXBld2lyZV9yZW1v dGVfcm91bmR0cmlwIChyZW1vdGUpOworIAorQEAgLTk0Myw3ICs4NzksNyBAQCBoYW5kbGVfb3Bl bl9waXBld2lyZV9yZW1vdGUgKFhkcFNjcmVlbkNhc3QgKm9iamVjdCwKKyAgICAgfQorIAorICAg b3V0X2ZkX2xpc3QgPSBnX3VuaXhfZmRfbGlzdF9uZXcgKCk7CistICBmZCA9IHB3X3JlbW90ZV9z dGVhbF9mZCAocmVtb3RlLT5yZW1vdGUpOworKyAgZmQgPSBwd19jb3JlX3N0ZWFsX2ZkIChyZW1v dGUtPmNvcmUpOworICAgZmRfaWQgPSBnX3VuaXhfZmRfbGlzdF9hcHBlbmQgKG91dF9mZF9saXN0 LCBmZCwgJmVycm9yKTsKKyAgIGNsb3NlIChmZCk7CisgICBwaXBld2lyZV9yZW1vdGVfZGVzdHJv eSAocmVtb3RlKTsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MveGRnLWRlc2t0b3AtcG9ydGFsL3RlbXBs YXRlIGIvc3JjcGtncy94ZGctZGVza3RvcC1wb3J0YWwvdGVtcGxhdGUKaW5kZXggZWI4YTQ2MDJm NWQuLjExMzZiNmE2ZTBlIDEwMDY0NAotLS0gYS9zcmNwa2dzL3hkZy1kZXNrdG9wLXBvcnRhbC90 ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3hkZy1kZXNrdG9wLXBvcnRhbC90ZW1wbGF0ZQpAQCAtMSwx MCArMSwxMCBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAneGRnLWRlc2t0b3AtcG9ydGFsJwogcGtn bmFtZT14ZGctZGVza3RvcC1wb3J0YWwKIHZlcnNpb249MS42LjAKLXJldmlzaW9uPTEKK3Jldmlz aW9uPTIKIGJ1aWxkX3N0eWxlPWdudS1jb25maWd1cmUKIGNvbmZpZ3VyZV9hcmdzPSItLWVuYWJs ZS1waXBld2lyZSAtLWVuYWJsZS1nZW9jbHVlIC0tZGlzYWJsZS1saWJwb3J0YWwiCi1ob3N0bWFr ZWRlcGVuZHM9InBrZy1jb25maWcgZ2xpYi1kZXZlbCIKK2hvc3RtYWtlZGVwZW5kcz0iYXV0b21h a2UgbGlidG9vbCBnZXR0ZXh0LWRldmVsIHBrZy1jb25maWcgZ2xpYi1kZXZlbCIKIG1ha2VkZXBl bmRzPSJmbGF0cGFrLWRldmVsIGZ1c2UtZGV2ZWwgcGlwZXdpcmUtZGV2ZWwgZ2VvY2x1ZTItZGV2 ZWwiCiBzaG9ydF9kZXNjPSJQb3J0YWwgZnJvbnRlbmQgc2VydmljZSBmb3IgRmxhdHBhayIKIG1h aW50YWluZXI9IkR1bmNhZW4gPGR1bmNhZW5Adm9pZGxpbnV4Lm9yZz4iCkBAIC0xMyw2ICsxMywx MCBAQCBob21lcGFnZT0iaHR0cHM6Ly9naXRodWIuY29tL2ZsYXRwYWsveGRnLWRlc2t0b3AtcG9y dGFsIgogZGlzdGZpbGVzPSJodHRwczovL2dpdGh1Yi5jb20vZmxhdHBhay8ke3BrZ25hbWV9L3Jl bGVhc2VzL2Rvd25sb2FkLyR7dmVyc2lvbn0vJHtwa2duYW1lfS0ke3ZlcnNpb259LnRhci54eiIK IGNoZWNrc3VtPTg4M2M5YzlhOTI1ZTQ4YWY1NDgxMmI1MzQ3ZjU0NmRkNzc2ZWMyZTI3MDc2YTgz ZDVhODEyNmFmNmJhZmI5ZGEKIAorcHJlX2NvbmZpZ3VyZSgpIHsKKwlhdXRvcmVjb25mIC12ZmkK K30KKwogcG9zdF9pbnN0YWxsKCkgewogCXJtIC1yZiAiJHtERVNURElSfS91c3IvbGliL3N5c3Rl bWQiCiB9CgpGcm9tIGNiMjRhYjhhZDRlN2NiNDBmZTZkNmQ1NDY5YzkyNGEzMjNlMzU0ZTIgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEtyaWRzYWRhIFRoYW5hYnVscG9uZyA8c2lybkBv Z3NpdGUubmV0PgpEYXRlOiBUaHUsIDMwIEFwciAyMDIwIDA2OjE3OjE3ICswOTAwClN1YmplY3Q6 IFtQQVRDSCA0LzRdIG11dHRlcjogcmVidWlsZCBmb3IgcGlwZXdpcmUtMC4zCgotLS0KIHNyY3Br Z3MvbXV0dGVyL3BhdGNoZXMvcGlwZXdpcmUtMC4zLnBhdGNoIHwgNTIxICsrKysrKysrKysrKysr KysrKysrKysKIHNyY3BrZ3MvbXV0dGVyL3RlbXBsYXRlICAgICAgICAgICAgICAgICAgIHwgICAy ICstCiAyIGZpbGVzIGNoYW5nZWQsIDUyMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiBj cmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9tdXR0ZXIvcGF0Y2hlcy9waXBld2lyZS0wLjMucGF0 Y2gKCmRpZmYgLS1naXQgYS9zcmNwa2dzL211dHRlci9wYXRjaGVzL3BpcGV3aXJlLTAuMy5wYXRj aCBiL3NyY3BrZ3MvbXV0dGVyL3BhdGNoZXMvcGlwZXdpcmUtMC4zLnBhdGNoCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5lYmZmNjVmYmE4NQotLS0gL2Rldi9udWxsCisr KyBiL3NyY3BrZ3MvbXV0dGVyL3BhdGNoZXMvcGlwZXdpcmUtMC4zLnBhdGNoCkBAIC0wLDAgKzEs NTIxIEBACitCdWlsZCBtdXR0ZXIgYWdhaW5zdCBwaXBld2lyZS0wLjMsIGJhc2VkIG9uIGEgcGF0 Y2ggYXQ6CitodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvbXV0dGVyLy0vbWVyZ2VfcmVx dWVzdHMvMTA2MgorLS0tIG1lc29uLmJ1aWxkCisrKysgbWVzb24uYnVpbGQKK0BAIC01MCw3ICs1 MCw3IEBAIGxpYmlucHV0X3JlcSA9ICc+PSAxLjcnCisgZ2JtX3JlcSA9ICc+PSAxMC4zJworCisg IyBzY3JlZW4gY2FzdCB2ZXJzaW9uIHJlcXVpcmVtZW50cworLWxpYnBpcGV3aXJlX3JlcSA9ICc+ PSAwLjIuNScKKytsaWJwaXBld2lyZV9yZXEgPSAnPj0gMC4zLjAnCisKKyBnbm9tZSA9IGltcG9y dCgnZ25vbWUnKQorIHBrZyA9IGltcG9ydCgncGtnY29uZmlnJykKK0BAIC0yNDEsNyArMjQxLDcg QEAgZW5kaWYKKworIGhhdmVfcmVtb3RlX2Rlc2t0b3AgPSBnZXRfb3B0aW9uKCdyZW1vdGVfZGVz a3RvcCcpCisgaWYgaGF2ZV9yZW1vdGVfZGVza3RvcAorLSAgbGlicGlwZXdpcmVfZGVwID0gZGVw ZW5kZW5jeSgnbGlicGlwZXdpcmUtMC4yJywgdmVyc2lvbjogbGlicGlwZXdpcmVfcmVxKQorKyAg bGlicGlwZXdpcmVfZGVwID0gZGVwZW5kZW5jeSgnbGlicGlwZXdpcmUtMC4zJywgdmVyc2lvbjog bGlicGlwZXdpcmVfcmVxKQorIGVuZGlmCisKKyBoYXZlX2ludHJvc3BlY3Rpb24gPSBnZXRfb3B0 aW9uKCdpbnRyb3NwZWN0aW9uJykKK2RpZmYgLS1naXQgYS9zcmMvYmFja2VuZHMvbWV0YS1zY3Jl ZW4tY2FzdC1zdHJlYW0tc3JjLmMgYi9zcmMvYmFja2VuZHMvbWV0YS1zY3JlZW4tY2FzdC1zdHJl YW0tc3JjLmMKK2luZGV4IDgyYzVjYmE0MzYuLmJhMWNlOTRhN2UgMTAwNjQ0CistLS0gc3JjL2Jh Y2tlbmRzL21ldGEtc2NyZWVuLWNhc3Qtc3RyZWFtLXNyYy5jCisrKysgc3JjL2JhY2tlbmRzL21l dGEtc2NyZWVuLWNhc3Qtc3RyZWFtLXNyYy5jCitAQCAtMjksNiArMjksNyBAQAorICNpbmNsdWRl IDxzcGEvcGFyYW0vcHJvcHMuaD4KKyAjaW5jbHVkZSA8c3BhL3BhcmFtL2Zvcm1hdC11dGlscy5o PgorICNpbmNsdWRlIDxzcGEvcGFyYW0vdmlkZW8vZm9ybWF0LXV0aWxzLmg+CisrI2luY2x1ZGUg PHNwYS91dGlscy9yZXN1bHQuaD4KKyAjaW5jbHVkZSA8c3RkaW50Lmg+CisgI2luY2x1ZGUgPHN5 cy9tbWFuLmg+CisKK0BAIC02MiwxNSArNjMsNiBAQCBlbnVtCisKKyBzdGF0aWMgZ3VpbnQgc2ln bmFsc1tOX1NJR05BTFNdOworCistdHlwZWRlZiBzdHJ1Y3QgX01ldGFTcGFUeXBlCisteworLSAg c3RydWN0IHNwYV90eXBlX21lZGlhX3R5cGUgbWVkaWFfdHlwZTsKKy0gIHN0cnVjdCBzcGFfdHlw ZV9tZWRpYV9zdWJ0eXBlIG1lZGlhX3N1YnR5cGU7CistICBzdHJ1Y3Qgc3BhX3R5cGVfZm9ybWF0 X3ZpZGVvIGZvcm1hdF92aWRlbzsKKy0gIHN0cnVjdCBzcGFfdHlwZV92aWRlb19mb3JtYXQgdmlk ZW9fZm9ybWF0OworLSAgdWludDMyX3QgbWV0YV9jdXJzb3I7CistfSBNZXRhU3BhVHlwZTsKKy0K KyB0eXBlZGVmIHN0cnVjdCBfTWV0YVBpcGVXaXJlU291cmNlCisgeworICAgR1NvdXJjZSBiYXNl OworQEAgLTgyLDE5ICs3NCwxOSBAQCB0eXBlZGVmIHN0cnVjdCBfTWV0YVNjcmVlbkNhc3RTdHJl YW1TcmNQcml2YXRlCisgeworICAgTWV0YVNjcmVlbkNhc3RTdHJlYW0gKnN0cmVhbTsKKworKyAg c3RydWN0IHB3X2NvbnRleHQgKnBpcGV3aXJlX2NvbnRleHQ7CisgICBzdHJ1Y3QgcHdfY29yZSAq cGlwZXdpcmVfY29yZTsKKy0gIHN0cnVjdCBwd19yZW1vdGUgKnBpcGV3aXJlX3JlbW90ZTsKKy0g IHN0cnVjdCBwd190eXBlICpwaXBld2lyZV90eXBlOworICAgTWV0YVBpcGVXaXJlU291cmNlICpw aXBld2lyZV9zb3VyY2U7CistICBzdHJ1Y3Qgc3BhX2hvb2sgcGlwZXdpcmVfcmVtb3RlX2xpc3Rl bmVyOworKyAgc3RydWN0IHNwYV9ob29rIHBpcGV3aXJlX2NvcmVfbGlzdGVuZXI7CisKKyAgIGdi b29sZWFuIGlzX2VuYWJsZWQ7CisKKyAgIHN0cnVjdCBwd19zdHJlYW0gKnBpcGV3aXJlX3N0cmVh bTsKKyAgIHN0cnVjdCBzcGFfaG9vayBwaXBld2lyZV9zdHJlYW1fbGlzdGVuZXI7CisrICB1aW50 MzJfdCBub2RlX2lkOworCistICBNZXRhU3BhVHlwZSBzcGFfdHlwZTsKKyAgIHN0cnVjdCBzcGFf dmlkZW9faW5mb19yYXcgdmlkZW9fZm9ybWF0OworKyAgaW50IHZpZGVvX3N0cmlkZTsKKworICAg dWludDY0X3QgbGFzdF9mcmFtZV90aW1lc3RhbXBfdXM7CisKK0BAIC0xMTIsOCArMTA0LDYgQEAg R19ERUZJTkVfVFlQRV9XSVRIX0NPREUgKE1ldGFTY3JlZW5DYXN0U3RyZWFtU3JjLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGFfc2NyZWVuX2Nh c3Rfc3RyZWFtX3NyY19pbml0X2luaXRhYmxlX2lmYWNlKQorICAgICAgICAgICAgICAgICAgICAg ICAgICBHX0FERF9QUklWQVRFIChNZXRhU2NyZWVuQ2FzdFN0cmVhbVNyYykpCisKKy0jZGVmaW5l IFBST1BfUkFOR0UobWluLCBtYXgpIDIsIChtaW4pLCAobWF4KQorLQorIHN0YXRpYyB2b2lkCisg bWV0YV9zY3JlZW5fY2FzdF9zdHJlYW1fc3JjX2dldF9zcGVjcyAoTWV0YVNjcmVlbkNhc3RTdHJl YW1TcmMgKnNyYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg ICAgICAgICAgICAgICAgICAgICAqd2lkdGgsCitAQCAtMjg2LDkgKzI3Niw2IEBAIG1ldGFfc2Ny ZWVuX2Nhc3Rfc3RyZWFtX3NyY19zZXRfZW1wdHlfY3Vyc29yX3Nwcml0ZV9tZXRhZGF0YSAoTWV0 YVNjcmVlbkNhc3RTdHJlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBpbnQgICAgICAgICAgICAgICAgICAgICAgeCwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGludCAgICAgICAgICAgICAgICAgICAgICB5KQorIHsKKy0gIE1ldGFTY3JlZW5DYXN0U3RyZWFt U3JjUHJpdmF0ZSAqcHJpdiA9CistICAgIG1ldGFfc2NyZWVuX2Nhc3Rfc3RyZWFtX3NyY19nZXRf aW5zdGFuY2VfcHJpdmF0ZSAoc3JjKTsKKy0gIE1ldGFTcGFUeXBlICpzcGFfdHlwZSA9ICZwcml2 LT5zcGFfdHlwZTsKKyAgIHN0cnVjdCBzcGFfbWV0YV9iaXRtYXAgKnNwYV9tZXRhX2JpdG1hcDsK KworICAgc3BhX21ldGFfY3Vyc29yLT5pZCA9IDE7CitAQCAtMzAwLDcgKzI4Nyw3IEBAIG1ldGFf c2NyZWVuX2Nhc3Rfc3RyZWFtX3NyY19zZXRfZW1wdHlfY3Vyc29yX3Nwcml0ZV9tZXRhZGF0YSAo TWV0YVNjcmVlbkNhc3RTdHJlCisgICBzcGFfbWV0YV9iaXRtYXAgPSBTUEFfTUVNQkVSIChzcGFf bWV0YV9jdXJzb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGFfbWV0YV9j dXJzb3ItPmJpdG1hcF9vZmZzZXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz dHJ1Y3Qgc3BhX21ldGFfYml0bWFwKTsKKy0gIHNwYV9tZXRhX2JpdG1hcC0+Zm9ybWF0ID0gc3Bh X3R5cGUtPnZpZGVvX2Zvcm1hdC5SR0JBOworKyAgc3BhX21ldGFfYml0bWFwLT5mb3JtYXQgPSBT UEFfVklERU9fRk9STUFUX1JHQkE7CisgICBzcGFfbWV0YV9iaXRtYXAtPm9mZnNldCA9IHNpemVv ZiAoc3RydWN0IHNwYV9tZXRhX2JpdG1hcCk7CisKKyAgIHNwYV9tZXRhX2N1cnNvci0+aG90c3Bv dC54ID0gMDsKK0BAIC0zMTcsOSArMzA0LDYgQEAgbWV0YV9zY3JlZW5fY2FzdF9zdHJlYW1fc3Jj X3NldF9jdXJzb3Jfc3ByaXRlX21ldGFkYXRhIChNZXRhU2NyZWVuQ2FzdFN0cmVhbVNyYworICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50 ICAgICAgICAgICAgICAgICAgICAgIHksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdCAgICAgICAgICAgICAgICAgICAgc2NhbGUp CisgeworLSAgTWV0YVNjcmVlbkNhc3RTdHJlYW1TcmNQcml2YXRlICpwcml2ID0KKy0gICAgbWV0 YV9zY3JlZW5fY2FzdF9zdHJlYW1fc3JjX2dldF9pbnN0YW5jZV9wcml2YXRlIChzcmMpOworLSAg TWV0YVNwYVR5cGUgKnNwYV90eXBlID0gJnByaXYtPnNwYV90eXBlOworICAgQ29nbFRleHR1cmUg KmN1cnNvcl90ZXh0dXJlOworICAgc3RydWN0IHNwYV9tZXRhX2JpdG1hcCAqc3BhX21ldGFfYml0 bWFwOworICAgaW50IGhvdHNwb3RfeCwgaG90c3BvdF95OworQEAgLTM0Niw3ICszMzAsNyBAQCBt ZXRhX3NjcmVlbl9jYXN0X3N0cmVhbV9zcmNfc2V0X2N1cnNvcl9zcHJpdGVfbWV0YWRhdGEgKE1l dGFTY3JlZW5DYXN0U3RyZWFtU3JjCisgICBzcGFfbWV0YV9iaXRtYXAgPSBTUEFfTUVNQkVSIChz cGFfbWV0YV9jdXJzb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGFfbWV0 YV9jdXJzb3ItPmJpdG1hcF9vZmZzZXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzdHJ1Y3Qgc3BhX21ldGFfYml0bWFwKTsKKy0gIHNwYV9tZXRhX2JpdG1hcC0+Zm9ybWF0ID0g c3BhX3R5cGUtPnZpZGVvX2Zvcm1hdC5SR0JBOworKyAgc3BhX21ldGFfYml0bWFwLT5mb3JtYXQg PSBTUEFfVklERU9fRk9STUFUX1JHQkE7CisgICBzcGFfbWV0YV9iaXRtYXAtPm9mZnNldCA9IHNp emVvZiAoc3RydWN0IHNwYV9tZXRhX2JpdG1hcCk7CisKKyAgIG1ldGFfY3Vyc29yX3Nwcml0ZV9n ZXRfaG90c3BvdCAoY3Vyc29yX3Nwcml0ZSwgJmhvdHNwb3RfeCwgJmhvdHNwb3RfeSk7CitAQCAt MzgyLDEyICszNjYsMTAgQEAgc3RhdGljIHZvaWQKKyBhZGRfY3Vyc29yX21ldGFkYXRhIChNZXRh U2NyZWVuQ2FzdFN0cmVhbVNyYyAqc3JjLAorICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBz cGFfYnVmZmVyICAgICAgICpzcGFfYnVmZmVyKQorIHsKKy0gIE1ldGFTY3JlZW5DYXN0U3RyZWFt U3JjUHJpdmF0ZSAqcHJpdiA9CistICAgIG1ldGFfc2NyZWVuX2Nhc3Rfc3RyZWFtX3NyY19nZXRf aW5zdGFuY2VfcHJpdmF0ZSAoc3JjKTsKKy0gIE1ldGFTcGFUeXBlICpzcGFfdHlwZSA9ICZwcml2 LT5zcGFfdHlwZTsKKyAgIHN0cnVjdCBzcGFfbWV0YV9jdXJzb3IgKnNwYV9tZXRhX2N1cnNvcjsK KworLSAgc3BhX21ldGFfY3Vyc29yID0gc3BhX2J1ZmZlcl9maW5kX21ldGEgKHNwYV9idWZmZXIs IHNwYV90eXBlLT5tZXRhX2N1cnNvcik7CisrICBzcGFfbWV0YV9jdXJzb3IgPSBzcGFfYnVmZmVy X2ZpbmRfbWV0YV9kYXRhIChzcGFfYnVmZmVyLCBTUEFfTUVUQV9DdXJzb3IsCisrICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YgKCpzcGFfbWV0YV9j dXJzb3IpKTsKKyAgIGlmIChzcGFfbWV0YV9jdXJzb3IpCisgICAgIG1ldGFfc2NyZWVuX2Nhc3Rf c3RyZWFtX3NyY19zZXRfY3Vyc29yX21ldGFkYXRhIChzcmMsIHNwYV9tZXRhX2N1cnNvcik7Cisg fQorQEAgLTQ0NywxNCArNDI5LDE0IEBAIG1ldGFfc2NyZWVuX2Nhc3Rfc3RyZWFtX3NyY19tYXli ZV9yZWNvcmRfZnJhbWUgKE1ldGFTY3JlZW5DYXN0U3RyZWFtU3JjICpzcmMpCisgICAgIHsKKyAg ICAgICBkYXRhID0gc3BhX2J1ZmZlci0+ZGF0YXNbMF0uZGF0YTsKKyAgICAgfQorLSAgZWxzZSBp ZiAoc3BhX2J1ZmZlci0+ZGF0YXNbMF0udHlwZSA9PSBwcml2LT5waXBld2lyZV90eXBlLT5kYXRh Lk1lbUZkKQorKyAgZWxzZSBpZiAoc3BhX2J1ZmZlci0+ZGF0YXNbMF0udHlwZSA9PSBTUEFfREFU QV9NZW1GZCkKKyAgICAgeworICAgICAgIG1hcCA9IG1tYXAgKE5VTEwsIHNwYV9idWZmZXItPmRh dGFzWzBdLm1heHNpemUgKyBzcGFfYnVmZmVyLT5kYXRhc1swXS5tYXBvZmZzZXQsCisgICAgICAg ICAgICAgICAgICAgUFJPVF9SRUFEIHwgUFJPVF9XUklURSwgTUFQX1NIQVJFRCwKKyAgICAgICAg ICAgICAgICAgICBzcGFfYnVmZmVyLT5kYXRhc1swXS5mZCwgMCk7CisgICAgICAgaWYgKG1hcCA9 PSBNQVBfRkFJTEVEKQorICAgICAgICAgeworLSAgICAgICAgICBnX3dhcm5pbmcgKCJGYWlsZWQg dG8gbW1hcCBwaXBld2lyZSBzdHJlYW0gYnVmZmVyOiAlc1xuIiwKKysgICAgICAgICAgZ193YXJu aW5nICgiRmFpbGVkIHRvIG1tYXAgcGlwZXdpcmUgc3RyZWFtIGJ1ZmZlcjogJXMiLAorICAgICAg ICAgICAgICAgICAgICAgIHN0cmVycm9yIChlcnJubykpOworICAgICAgICAgICByZXR1cm47Cisg ICAgICAgICB9CitAQCAtNDY5LDI4ICs0NTEsMzAgQEAgbWV0YV9zY3JlZW5fY2FzdF9zdHJlYW1f c3JjX21heWJlX3JlY29yZF9mcmFtZSAoTWV0YVNjcmVlbkNhc3RTdHJlYW1TcmMgKnNyYykKKwor ICAgaWYgKG1ldGFfc2NyZWVuX2Nhc3Rfc3RyZWFtX3NyY19yZWNvcmRfZnJhbWUgKHNyYywgZGF0 YSkpCisgICAgIHsKKy0gICAgICBzdHJ1Y3Qgc3BhX21ldGFfdmlkZW9fY3JvcCAqc3BhX21ldGFf dmlkZW9fY3JvcDsKKysgICAgICBzdHJ1Y3Qgc3BhX21ldGFfcmVnaW9uICpzcGFfbWV0YV92aWRl b19jcm9wOworCisgICAgICAgc3BhX2J1ZmZlci0+ZGF0YXNbMF0uY2h1bmstPnNpemUgPSBzcGFf YnVmZmVyLT5kYXRhc1swXS5tYXhzaXplOworKyAgICAgIHNwYV9idWZmZXItPmRhdGFzWzBdLmNo dW5rLT5zdHJpZGUgPSBwcml2LT52aWRlb19zdHJpZGU7CisKKyAgICAgICAvKiBVcGRhdGUgVmlk ZW9Dcm9wIGlmIG5lZWRlZCAqLworICAgICAgIHNwYV9tZXRhX3ZpZGVvX2Nyb3AgPQorLSAgICAg ICAgc3BhX2J1ZmZlcl9maW5kX21ldGEgKHNwYV9idWZmZXIsIHByaXYtPnBpcGV3aXJlX3R5cGUt Pm1ldGEuVmlkZW9Dcm9wKTsKKysgICAgICAgIHNwYV9idWZmZXJfZmluZF9tZXRhX2RhdGEgKHNw YV9idWZmZXIsIFNQQV9NRVRBX1ZpZGVvQ3JvcCwKKysgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHNpemVvZiAoKnNwYV9tZXRhX3ZpZGVvX2Nyb3ApKTsKKyAgICAgICBpZiAoc3Bh X21ldGFfdmlkZW9fY3JvcCkKKyAgICAgICAgIHsKKyAgICAgICAgICAgaWYgKG1ldGFfc2NyZWVu X2Nhc3Rfc3RyZWFtX3NyY19nZXRfdmlkZW9jcm9wIChzcmMsICZjcm9wX3JlY3QpKQorICAgICAg ICAgICAgIHsKKy0gICAgICAgICAgICAgIHNwYV9tZXRhX3ZpZGVvX2Nyb3AtPnggPSBjcm9wX3Jl Y3QueDsKKy0gICAgICAgICAgICAgIHNwYV9tZXRhX3ZpZGVvX2Nyb3AtPnkgPSBjcm9wX3JlY3Qu eTsKKy0gICAgICAgICAgICAgIHNwYV9tZXRhX3ZpZGVvX2Nyb3AtPndpZHRoID0gY3JvcF9yZWN0 LndpZHRoOworLSAgICAgICAgICAgICAgc3BhX21ldGFfdmlkZW9fY3JvcC0+aGVpZ2h0ID0gY3Jv cF9yZWN0LmhlaWdodDsKKysgICAgICAgICAgICAgIHNwYV9tZXRhX3ZpZGVvX2Nyb3AtPnJlZ2lv bi5wb3NpdGlvbi54ID0gY3JvcF9yZWN0Lng7CisrICAgICAgICAgICAgICBzcGFfbWV0YV92aWRl b19jcm9wLT5yZWdpb24ucG9zaXRpb24ueSA9IGNyb3BfcmVjdC55OworKyAgICAgICAgICAgICAg c3BhX21ldGFfdmlkZW9fY3JvcC0+cmVnaW9uLnNpemUud2lkdGggPSBjcm9wX3JlY3Qud2lkdGg7 CisrICAgICAgICAgICAgICBzcGFfbWV0YV92aWRlb19jcm9wLT5yZWdpb24uc2l6ZS5oZWlnaHQg PSBjcm9wX3JlY3QuaGVpZ2h0OworICAgICAgICAgICAgIH0KKyAgICAgICAgICAgZWxzZQorICAg ICAgICAgICAgIHsKKy0gICAgICAgICAgICAgIHNwYV9tZXRhX3ZpZGVvX2Nyb3AtPnggPSAwOwor LSAgICAgICAgICAgICAgc3BhX21ldGFfdmlkZW9fY3JvcC0+eSA9IDA7CistICAgICAgICAgICAg ICBzcGFfbWV0YV92aWRlb19jcm9wLT53aWR0aCA9IHByaXYtPnN0cmVhbV93aWR0aDsKKy0gICAg ICAgICAgICAgIHNwYV9tZXRhX3ZpZGVvX2Nyb3AtPmhlaWdodCA9IHByaXYtPnN0cmVhbV9oZWln aHQ7CisrICAgICAgICAgICAgICBzcGFfbWV0YV92aWRlb19jcm9wLT5yZWdpb24ucG9zaXRpb24u eCA9IDA7CisrICAgICAgICAgICAgICBzcGFfbWV0YV92aWRlb19jcm9wLT5yZWdpb24ucG9zaXRp b24ueSA9IDA7CisrICAgICAgICAgICAgICBzcGFfbWV0YV92aWRlb19jcm9wLT5yZWdpb24uc2l6 ZS53aWR0aCA9IHByaXYtPnN0cmVhbV93aWR0aDsKKysgICAgICAgICAgICAgIHNwYV9tZXRhX3Zp ZGVvX2Nyb3AtPnJlZ2lvbi5zaXplLmhlaWdodCA9IHByaXYtPnN0cmVhbV9oZWlnaHQ7CisgICAg ICAgICAgICAgfQorICAgICAgICAgfQorICAgICB9CitAQCAtNTU1LDcgKzUzOSw2IEBAIG9uX3N0 cmVhbV9zdGF0ZV9jaGFuZ2VkICh2b2lkICAgICAgICAgICAgICAgICAqZGF0YSwKKyAgIE1ldGFT Y3JlZW5DYXN0U3RyZWFtU3JjICpzcmMgPSBkYXRhOworICAgTWV0YVNjcmVlbkNhc3RTdHJlYW1T cmNQcml2YXRlICpwcml2ID0KKyAgICAgbWV0YV9zY3JlZW5fY2FzdF9zdHJlYW1fc3JjX2dldF9p bnN0YW5jZV9wcml2YXRlIChzcmMpOworLSAgdWludDMyX3Qgbm9kZV9pZDsKKworICAgc3dpdGNo IChzdGF0ZSkKKyAgICAgeworQEAgLTU2MywxNCArNTQ2LDEyIEBAIG9uX3N0cmVhbV9zdGF0ZV9j aGFuZ2VkICh2b2lkICAgICAgICAgICAgICAgICAqZGF0YSwKKyAgICAgICBnX3dhcm5pbmcgKCJw aXBld2lyZSBzdHJlYW0gZXJyb3I6ICVzIiwgZXJyb3JfbWVzc2FnZSk7CisgICAgICAgbWV0YV9z Y3JlZW5fY2FzdF9zdHJlYW1fc3JjX25vdGlmeV9jbG9zZWQgKHNyYyk7CisgICAgICAgYnJlYWs7 CistICAgIGNhc2UgUFdfU1RSRUFNX1NUQVRFX0NPTkZJR1VSRToKKy0gICAgICBub2RlX2lkID0g cHdfc3RyZWFtX2dldF9ub2RlX2lkIChwcml2LT5waXBld2lyZV9zdHJlYW0pOworLSAgICAgIGdf c2lnbmFsX2VtaXQgKHNyYywgc2lnbmFsc1tSRUFEWV0sIDAsICh1bnNpZ25lZCBpbnQpIG5vZGVf aWQpOworLSAgICAgIGJyZWFrOworLSAgICBjYXNlIFBXX1NUUkVBTV9TVEFURV9VTkNPTk5FQ1RF RDoKKy0gICAgY2FzZSBQV19TVFJFQU1fU1RBVEVfQ09OTkVDVElORzoKKy0gICAgY2FzZSBQV19T VFJFQU1fU1RBVEVfUkVBRFk6CisgICAgIGNhc2UgUFdfU1RSRUFNX1NUQVRFX1BBVVNFRDoKKysg ICAgICBpZiAocHJpdi0+bm9kZV9pZCA9PSBTUEFfSURfSU5WQUxJRCAmJiBwcml2LT5waXBld2ly ZV9zdHJlYW0pCisrICAgICAgICB7CisrICAgICAgICAgIHByaXYtPm5vZGVfaWQgPSBwd19zdHJl YW1fZ2V0X25vZGVfaWQgKHByaXYtPnBpcGV3aXJlX3N0cmVhbSk7CisrICAgICAgICAgIGdfc2ln bmFsX2VtaXQgKHNyYywgc2lnbmFsc1tSRUFEWV0sIDAsICh1bnNpZ25lZCBpbnQpIHByaXYtPm5v ZGVfaWQpOworKyAgICAgICAgfQorICAgICAgIGlmIChtZXRhX3NjcmVlbl9jYXN0X3N0cmVhbV9z cmNfaXNfZW5hYmxlZCAoc3JjKSkKKyAgICAgICAgIG1ldGFfc2NyZWVuX2Nhc3Rfc3RyZWFtX3Ny Y19kaXNhYmxlIChzcmMpOworICAgICAgIGJyZWFrOworQEAgLTU3OCw2OCArNTU5LDY5IEBAIG9u X3N0cmVhbV9zdGF0ZV9jaGFuZ2VkICh2b2lkICAgICAgICAgICAgICAgICAqZGF0YSwKKyAgICAg ICBpZiAoIW1ldGFfc2NyZWVuX2Nhc3Rfc3RyZWFtX3NyY19pc19lbmFibGVkIChzcmMpKQorICAg ICAgICAgbWV0YV9zY3JlZW5fY2FzdF9zdHJlYW1fc3JjX2VuYWJsZSAoc3JjKTsKKyAgICAgICBi cmVhazsKKysgICAgY2FzZSBQV19TVFJFQU1fU1RBVEVfVU5DT05ORUNURUQ6CisrICAgIGNhc2Ug UFdfU1RSRUFNX1NUQVRFX0NPTk5FQ1RJTkc6CisrICAgICAgYnJlYWs7CisgICAgIH0KKyB9CisK KyBzdGF0aWMgdm9pZAorLW9uX3N0cmVhbV9mb3JtYXRfY2hhbmdlZCAodm9pZCAgICAgICAgICAg ICAgICAgKmRhdGEsCistICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3Qgc3Bh X3BvZCAqZm9ybWF0KQorK29uX3N0cmVhbV9wYXJhbV9jaGFuZ2VkICh2b2lkICAgICAgICAgICAg ICAgICAqZGF0YSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAg ICAgIGlkLAorKyAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3Qgc3BhX3BvZCAq Zm9ybWF0KQorIHsKKyAgIE1ldGFTY3JlZW5DYXN0U3RyZWFtU3JjICpzcmMgPSBkYXRhOworICAg TWV0YVNjcmVlbkNhc3RTdHJlYW1TcmNQcml2YXRlICpwcml2ID0KKyAgICAgbWV0YV9zY3JlZW5f Y2FzdF9zdHJlYW1fc3JjX2dldF9pbnN0YW5jZV9wcml2YXRlIChzcmMpOworLSAgc3RydWN0IHB3 X3R5cGUgKnBpcGV3aXJlX3R5cGUgPSBwcml2LT5waXBld2lyZV90eXBlOworICAgdWludDhfdCBw YXJhbXNfYnVmZmVyWzEwMjRdOworICAgaW50MzJfdCB3aWR0aCwgaGVpZ2h0LCBzdHJpZGUsIHNp emU7CisgICBzdHJ1Y3Qgc3BhX3BvZF9idWlsZGVyIHBvZF9idWlsZGVyOworICAgY29uc3Qgc3Ry dWN0IHNwYV9wb2QgKnBhcmFtc1szXTsKKyAgIGNvbnN0IGludCBicHAgPSA0OworCistICBpZiAo IWZvcm1hdCkKKy0gICAgeworLSAgICAgIHB3X3N0cmVhbV9maW5pc2hfZm9ybWF0IChwcml2LT5w aXBld2lyZV9zdHJlYW0sIDAsIE5VTEwsIDApOworLSAgICAgIHJldHVybjsKKy0gICAgfQorKyAg aWYgKCFmb3JtYXQgfHwgaWQgIT0gU1BBX1BBUkFNX0Zvcm1hdCkKKysgICAgcmV0dXJuOworCisg ICBzcGFfZm9ybWF0X3ZpZGVvX3Jhd19wYXJzZSAoZm9ybWF0LAorLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICZwcml2LT52aWRlb19mb3JtYXQsCistICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJnByaXYtPnNwYV90eXBlLmZvcm1hdF92aWRlbyk7CisrICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJnByaXYtPnZpZGVvX2Zvcm1hdCk7CisKKyAgIHdpZHRoID0gcHJpdi0+ dmlkZW9fZm9ybWF0LnNpemUud2lkdGg7CisgICBoZWlnaHQgPSBwcml2LT52aWRlb19mb3JtYXQu c2l6ZS5oZWlnaHQ7CisgICBzdHJpZGUgPSBTUEFfUk9VTkRfVVBfTiAod2lkdGggKiBicHAsIDQp OworICAgc2l6ZSA9IGhlaWdodCAqIHN0cmlkZTsKKworKyAgcHJpdi0+dmlkZW9fc3RyaWRlID0g c3RyaWRlOworKworICAgcG9kX2J1aWxkZXIgPSBTUEFfUE9EX0JVSUxERVJfSU5JVCAocGFyYW1z X2J1ZmZlciwgc2l6ZW9mIChwYXJhbXNfYnVmZmVyKSk7CisKKy0gIHBhcmFtc1swXSA9IHNwYV9w b2RfYnVpbGRlcl9vYmplY3QgKAorKyAgcGFyYW1zWzBdID0gc3BhX3BvZF9idWlsZGVyX2FkZF9v YmplY3QgKAorICAgICAmcG9kX2J1aWxkZXIsCistICAgIHBpcGV3aXJlX3R5cGUtPnBhcmFtLmlk QnVmZmVycywgcGlwZXdpcmVfdHlwZS0+cGFyYW1fYnVmZmVycy5CdWZmZXJzLAorLSAgICAiOiIs IHBpcGV3aXJlX3R5cGUtPnBhcmFtX2J1ZmZlcnMuc2l6ZSwgImkiLCBzaXplLAorLSAgICAiOiIs IHBpcGV3aXJlX3R5cGUtPnBhcmFtX2J1ZmZlcnMuc3RyaWRlLCAiaSIsIHN0cmlkZSwKKy0gICAg IjoiLCBwaXBld2lyZV90eXBlLT5wYXJhbV9idWZmZXJzLmJ1ZmZlcnMsICJpcnUiLCAxNiwgUFJP UF9SQU5HRSAoMiwgMTYpLAorLSAgICAiOiIsIHBpcGV3aXJlX3R5cGUtPnBhcmFtX2J1ZmZlcnMu YWxpZ24sICJpIiwgMTYpOworLQorLSAgcGFyYW1zWzFdID0gc3BhX3BvZF9idWlsZGVyX29iamVj dCAoCisrICAgIFNQQV9UWVBFX09CSkVDVF9QYXJhbUJ1ZmZlcnMsIFNQQV9QQVJBTV9CdWZmZXJz LAorKyAgICBTUEFfUEFSQU1fQlVGRkVSU19idWZmZXJzLCBTUEFfUE9EX0NIT0lDRV9SQU5HRV9J bnQgKDE2LCAyLCAxNiksCisrICAgIFNQQV9QQVJBTV9CVUZGRVJTX2Jsb2NrcywgU1BBX1BPRF9J bnQgKDEpLAorKyAgICBTUEFfUEFSQU1fQlVGRkVSU19zaXplLCBTUEFfUE9EX0ludCAoc2l6ZSks CisrICAgIFNQQV9QQVJBTV9CVUZGRVJTX3N0cmlkZSwgU1BBX1BPRF9JbnQgKHN0cmlkZSksCisr ICAgIFNQQV9QQVJBTV9CVUZGRVJTX2FsaWduLCBTUEFfUE9EX0ludCAoMTYpKTsKKysKKysgIHBh cmFtc1sxXSA9IHNwYV9wb2RfYnVpbGRlcl9hZGRfb2JqZWN0ICgKKyAgICAgJnBvZF9idWlsZGVy LAorLSAgICBwaXBld2lyZV90eXBlLT5wYXJhbS5pZE1ldGEsIHBpcGV3aXJlX3R5cGUtPnBhcmFt X21ldGEuTWV0YSwKKy0gICAgIjoiLCBwaXBld2lyZV90eXBlLT5wYXJhbV9tZXRhLnR5cGUsICJJ IiwgcGlwZXdpcmVfdHlwZS0+bWV0YS5WaWRlb0Nyb3AsCistICAgICI6IiwgcGlwZXdpcmVfdHlw ZS0+cGFyYW1fbWV0YS5zaXplLCAiaSIsIHNpemVvZiAoc3RydWN0IHNwYV9tZXRhX3ZpZGVvX2Ny b3ApKTsKKysgICAgU1BBX1RZUEVfT0JKRUNUX1BhcmFtTWV0YSwgU1BBX1BBUkFNX01ldGEsCisr ICAgIFNQQV9QQVJBTV9NRVRBX3R5cGUsIFNQQV9QT0RfSWQgKFNQQV9NRVRBX1ZpZGVvQ3JvcCks CisrICAgIFNQQV9QQVJBTV9NRVRBX3NpemUsIFNQQV9QT0RfSW50IChzaXplb2YgKHN0cnVjdCBz cGFfbWV0YV9yZWdpb24pKSk7CisKKy0gIHBhcmFtc1syXSA9IHNwYV9wb2RfYnVpbGRlcl9vYmpl Y3QgKAorKyAgcGFyYW1zWzJdID0gc3BhX3BvZF9idWlsZGVyX2FkZF9vYmplY3QgKAorICAgICAm cG9kX2J1aWxkZXIsCistICAgIHBpcGV3aXJlX3R5cGUtPnBhcmFtLmlkTWV0YSwgcGlwZXdpcmVf dHlwZS0+cGFyYW1fbWV0YS5NZXRhLAorLSAgICAiOiIsIHBpcGV3aXJlX3R5cGUtPnBhcmFtX21l dGEudHlwZSwgIkkiLCBwcml2LT5zcGFfdHlwZS5tZXRhX2N1cnNvciwKKy0gICAgIjoiLCBwaXBl d2lyZV90eXBlLT5wYXJhbV9tZXRhLnNpemUsICJpIiwgQ1VSU09SX01FVEFfU0laRSAoNjQsIDY0 KSk7CisrICAgIFNQQV9UWVBFX09CSkVDVF9QYXJhbU1ldGEsIFNQQV9QQVJBTV9NZXRhLAorKyAg ICBTUEFfUEFSQU1fTUVUQV90eXBlLCBTUEFfUE9EX0lkIChTUEFfTUVUQV9DdXJzb3IpLAorKyAg ICBTUEFfUEFSQU1fTUVUQV9zaXplLCBTUEFfUE9EX0ludCAoQ1VSU09SX01FVEFfU0laRSAoNjQs IDY0KSkpOworCistICBwd19zdHJlYW1fZmluaXNoX2Zvcm1hdCAocHJpdi0+cGlwZXdpcmVfc3Ry ZWFtLCAwLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtcywgR19OX0VMRU1FTlRT IChwYXJhbXMpKTsKKysgIHB3X3N0cmVhbV91cGRhdGVfcGFyYW1zIChwcml2LT5waXBld2lyZV9z dHJlYW0sIHBhcmFtcywgR19OX0VMRU1FTlRTIChwYXJhbXMpKTsKKyB9CisKKyBzdGF0aWMgY29u c3Qgc3RydWN0IHB3X3N0cmVhbV9ldmVudHMgc3RyZWFtX2V2ZW50cyA9IHsKKyAgIFBXX1ZFUlNJ T05fU1RSRUFNX0VWRU5UUywKKyAgIC5zdGF0ZV9jaGFuZ2VkID0gb25fc3RyZWFtX3N0YXRlX2No YW5nZWQsCistICAuZm9ybWF0X2NoYW5nZWQgPSBvbl9zdHJlYW1fZm9ybWF0X2NoYW5nZWQsCisr ICAucGFyYW1fY2hhbmdlZCA9IG9uX3N0cmVhbV9wYXJhbV9jaGFuZ2VkLAorIH07CisKKyBzdGF0 aWMgc3RydWN0IHB3X3N0cmVhbSAqCitAQCAtNjUyLDggKzYzNCw2IEBAIGNyZWF0ZV9waXBld2ly ZV9zdHJlYW0gKE1ldGFTY3JlZW5DYXN0U3RyZWFtU3JjICAqc3JjLAorICAgdWludDhfdCBidWZm ZXJbMTAyNF07CisgICBzdHJ1Y3Qgc3BhX3BvZF9idWlsZGVyIHBvZF9idWlsZGVyID0KKyAgICAg U1BBX1BPRF9CVUlMREVSX0lOSVQgKGJ1ZmZlciwgc2l6ZW9mIChidWZmZXIpKTsKKy0gIE1ldGFT cGFUeXBlICpzcGFfdHlwZSA9ICZwcml2LT5zcGFfdHlwZTsKKy0gIHN0cnVjdCBwd190eXBlICpw aXBld2lyZV90eXBlID0gcHJpdi0+cGlwZXdpcmVfdHlwZTsKKyAgIGZsb2F0IGZyYW1lX3JhdGU7 CisgICBNZXRhRnJhY3Rpb24gZnJhbWVfcmF0ZV9mcmFjdGlvbjsKKyAgIHN0cnVjdCBzcGFfZnJh Y3Rpb24gbWF4X2ZyYW1lcmF0ZTsKK0BAIC02NjEsNyArNjQxLDkgQEAgY3JlYXRlX3BpcGV3aXJl X3N0cmVhbSAoTWV0YVNjcmVlbkNhc3RTdHJlYW1TcmMgICpzcmMsCisgICBjb25zdCBzdHJ1Y3Qg c3BhX3BvZCAqcGFyYW1zWzFdOworICAgaW50IHJlc3VsdDsKKworLSAgcGlwZXdpcmVfc3RyZWFt ID0gcHdfc3RyZWFtX25ldyAocHJpdi0+cGlwZXdpcmVfcmVtb3RlLAorKyAgcHJpdi0+bm9kZV9p ZCA9IFNQQV9JRF9JTlZBTElEOworKworKyAgcGlwZXdpcmVfc3RyZWFtID0gcHdfc3RyZWFtX25l dyAocHJpdi0+cGlwZXdpcmVfY29yZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICJtZXRhLXNjcmVlbi1jYXN0LXNyYyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBOVUxMKTsKKyAgIGlmICghcGlwZXdpcmVfc3RyZWFtKQorQEAgLTY4MiwxNyArNjY0 LDE3IEBAIGNyZWF0ZV9waXBld2lyZV9zdHJlYW0gKE1ldGFTY3JlZW5DYXN0U3RyZWFtU3JjICAq c3JjLAorICAgbWF4X2ZyYW1lcmF0ZSA9IFNQQV9GUkFDVElPTiAoZnJhbWVfcmF0ZV9mcmFjdGlv bi5udW0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcmFtZV9yYXRlX2ZyYWN0 aW9uLmRlbm9tKTsKKworLSAgcGFyYW1zWzBdID0gc3BhX3BvZF9idWlsZGVyX29iamVjdCAoCisr ICBwYXJhbXNbMF0gPSBzcGFfcG9kX2J1aWxkZXJfYWRkX29iamVjdCAoCisgICAgICZwb2RfYnVp bGRlciwKKy0gICAgcGlwZXdpcmVfdHlwZS0+cGFyYW0uaWRFbnVtRm9ybWF0LCBwaXBld2lyZV90 eXBlLT5zcGFfZm9ybWF0LAorLSAgICAiSSIsIHNwYV90eXBlLT5tZWRpYV90eXBlLnZpZGVvLAor LSAgICAiSSIsIHNwYV90eXBlLT5tZWRpYV9zdWJ0eXBlLnJhdywKKy0gICAgIjoiLCBzcGFfdHlw ZS0+Zm9ybWF0X3ZpZGVvLmZvcm1hdCwgIkkiLCBzcGFfdHlwZS0+dmlkZW9fZm9ybWF0LkJHUngs CistICAgICI6Iiwgc3BhX3R5cGUtPmZvcm1hdF92aWRlby5zaXplLCAiUiIsICZTUEFfUkVDVEFO R0xFIChwcml2LT5zdHJlYW1fd2lkdGgsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcml2LT5zdHJlYW1faGVpZ2h0KSwKKy0gICAg IjoiLCBzcGFfdHlwZS0+Zm9ybWF0X3ZpZGVvLmZyYW1lcmF0ZSwgIkYiLCAmU1BBX0ZSQUNUSU9O ICgwLCAxKSwKKy0gICAgIjoiLCBzcGFfdHlwZS0+Zm9ybWF0X3ZpZGVvLm1heF9mcmFtZXJhdGUs ICJGcnUiLCAmbWF4X2ZyYW1lcmF0ZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBQUk9QX1JBTkdFICgmbWluX2ZyYW1lcmF0ZSwKKysgICAg U1BBX1RZUEVfT0JKRUNUX0Zvcm1hdCwgU1BBX1BBUkFNX0VudW1Gb3JtYXQsCisrICAgIFNQQV9G T1JNQVRfbWVkaWFUeXBlLCBTUEFfUE9EX0lkIChTUEFfTUVESUFfVFlQRV92aWRlbyksCisrICAg IFNQQV9GT1JNQVRfbWVkaWFTdWJ0eXBlLCBTUEFfUE9EX0lkIChTUEFfTUVESUFfU1VCVFlQRV9y YXcpLAorKyAgICBTUEFfRk9STUFUX1ZJREVPX2Zvcm1hdCwgU1BBX1BPRF9JZCAoU1BBX1ZJREVP X0ZPUk1BVF9CR1J4KSwKKysgICAgU1BBX0ZPUk1BVF9WSURFT19zaXplLCBTUEFfUE9EX1JlY3Rh bmdsZSAoJlNQQV9SRUNUQU5HTEUgKHByaXYtPnN0cmVhbV93aWR0aCwKKysgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaXYtPnN0 cmVhbV9oZWlnaHQpKSwKKysgICAgU1BBX0ZPUk1BVF9WSURFT19mcmFtZXJhdGUsIFNQQV9QT0Rf RnJhY3Rpb24gKCZTUEFfRlJBQ1RJT04gKDAsIDEpKSwKKysgICAgU1BBX0ZPUk1BVF9WSURFT19t YXhGcmFtZXJhdGUsIFNQQV9QT0RfQ0hPSUNFX1JBTkdFX0ZyYWN0aW9uICgmbWF4X2ZyYW1lcmF0 ZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAmbWluX2ZyYW1lcmF0ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbWF4X2ZyYW1lcmF0ZSkp OworCisgICBwd19zdHJlYW1fYWRkX2xpc3RlbmVyIChwaXBld2lyZV9zdHJlYW0sCitAQCAtNzAy LDcgKzY4NCw3IEBAIGNyZWF0ZV9waXBld2lyZV9zdHJlYW0gKE1ldGFTY3JlZW5DYXN0U3RyZWFt U3JjICAqc3JjLAorCisgICByZXN1bHQgPSBwd19zdHJlYW1fY29ubmVjdCAocGlwZXdpcmVfc3Ry ZWFtLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBXX0RJUkVDVElPTl9PVVRQVVQs CistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKKysgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBTUEFfSURfSU5WQUxJRCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAoUFdfU1RSRUFNX0ZMQUdfRFJJVkVSIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgUFdfU1RSRUFNX0ZMQUdfTUFQX0JVRkZFUlMpLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHBhcmFtcywgR19OX0VMRU1FTlRTIChwYXJhbXMpKTsKK0BAIC03MTcsNDAgKzY5 OSwxOCBAQCBjcmVhdGVfcGlwZXdpcmVfc3RyZWFtIChNZXRhU2NyZWVuQ2FzdFN0cmVhbVNyYyAg KnNyYywKKyB9CisKKyBzdGF0aWMgdm9pZAorLW9uX3N0YXRlX2NoYW5nZWQgKHZvaWQgICAgICAg ICAgICAgICAgICpkYXRhLAorLSAgICAgICAgICAgICAgICAgIGVudW0gcHdfcmVtb3RlX3N0YXRl ICBvbGQsCistICAgICAgICAgICAgICAgICAgZW51bSBwd19yZW1vdGVfc3RhdGUgIHN0YXRlLAor LSAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgICAgICAgICAgICplcnJvcl9tZXNzYWdlKQor K29uX2NvcmVfZXJyb3IgKHZvaWQgICAgICAgKmRhdGEsCisrICAgICAgICAgICAgICAgdWludDMy X3QgICAgaWQsCisrCSAgICAgICBpbnQgICAgICAgICBzZXEsCisrCSAgICAgICBpbnQgICAgICAg ICByZXMsCisrCSAgICAgICBjb25zdCBjaGFyICptZXNzYWdlKQorIHsKKyAgIE1ldGFTY3JlZW5D YXN0U3RyZWFtU3JjICpzcmMgPSBkYXRhOworLSAgTWV0YVNjcmVlbkNhc3RTdHJlYW1TcmNQcml2 YXRlICpwcml2ID0KKy0gICAgbWV0YV9zY3JlZW5fY2FzdF9zdHJlYW1fc3JjX2dldF9pbnN0YW5j ZV9wcml2YXRlIChzcmMpOworLSAgc3RydWN0IHB3X3N0cmVhbSAqcGlwZXdpcmVfc3RyZWFtOwor LSAgR0Vycm9yICplcnJvciA9IE5VTEw7CisKKy0gIHN3aXRjaCAoc3RhdGUpCistICAgIHsKKy0g ICAgY2FzZSBQV19SRU1PVEVfU1RBVEVfRVJST1I6CistICAgICAgZ193YXJuaW5nICgicGlwZXdp cmUgcmVtb3RlIGVycm9yOiAlc1xuIiwgZXJyb3JfbWVzc2FnZSk7CistICAgICAgbWV0YV9zY3Jl ZW5fY2FzdF9zdHJlYW1fc3JjX25vdGlmeV9jbG9zZWQgKHNyYyk7CistICAgICAgYnJlYWs7Cist ICAgIGNhc2UgUFdfUkVNT1RFX1NUQVRFX0NPTk5FQ1RFRDoKKy0gICAgICBwaXBld2lyZV9zdHJl YW0gPSBjcmVhdGVfcGlwZXdpcmVfc3RyZWFtIChzcmMsICZlcnJvcik7CistICAgICAgaWYgKCFw aXBld2lyZV9zdHJlYW0pCistICAgICAgICB7CistICAgICAgICAgIGdfd2FybmluZyAoIkNvdWxk IG5vdCBjcmVhdGUgcGlwZXdpcmUgc3RyZWFtOiAlcyIsIGVycm9yLT5tZXNzYWdlKTsKKy0gICAg ICAgICAgZ19lcnJvcl9mcmVlIChlcnJvcik7CistICAgICAgICAgIG1ldGFfc2NyZWVuX2Nhc3Rf c3RyZWFtX3NyY19ub3RpZnlfY2xvc2VkIChzcmMpOworLSAgICAgICAgfQorLSAgICAgIGVsc2UK Ky0gICAgICAgIHsKKy0gICAgICAgICAgcHJpdi0+cGlwZXdpcmVfc3RyZWFtID0gcGlwZXdpcmVf c3RyZWFtOworLSAgICAgICAgfQorLSAgICAgIGJyZWFrOworLSAgICBjYXNlIFBXX1JFTU9URV9T VEFURV9VTkNPTk5FQ1RFRDoKKy0gICAgY2FzZSBQV19SRU1PVEVfU1RBVEVfQ09OTkVDVElORzoK Ky0gICAgICBicmVhazsKKy0gICAgfQorKyAgZ193YXJuaW5nICgicGlwZXdpcmUgcmVtb3RlIGVy cm9yOiBpZDoldSAlcyIsIGlkLCBtZXNzYWdlKTsKKysKKysgIGlmIChpZCA9PSBQV19JRF9DT1JF ICYmIHJlcyA9PSAtRVBJUEUpCisrICAgIG1ldGFfc2NyZWVuX2Nhc3Rfc3RyZWFtX3NyY19ub3Rp ZnlfY2xvc2VkIChzcmMpOworIH0KKworIHN0YXRpYyBnYm9vbGVhbgorQEAgLTc5MywxNyArNzUz LDYgQEAgc3RhdGljIEdTb3VyY2VGdW5jcyBwaXBld2lyZV9zb3VyY2VfZnVuY3MgPQorICAgcGlw ZXdpcmVfbG9vcF9zb3VyY2VfZmluYWxpemUKKyB9OworCistc3RhdGljIHZvaWQKKy1pbml0X3Nw YV90eXBlIChNZXRhU3BhVHlwZSAgICAgICAgICp0eXBlLAorLSAgICAgICAgICAgICAgIHN0cnVj dCBzcGFfdHlwZV9tYXAgKm1hcCkKKy17CistICBzcGFfdHlwZV9tZWRpYV90eXBlX21hcCAobWFw LCAmdHlwZS0+bWVkaWFfdHlwZSk7CistICBzcGFfdHlwZV9tZWRpYV9zdWJ0eXBlX21hcCAobWFw LCAmdHlwZS0+bWVkaWFfc3VidHlwZSk7CistICBzcGFfdHlwZV9mb3JtYXRfdmlkZW9fbWFwICht YXAsICZ0eXBlLT5mb3JtYXRfdmlkZW8pOworLSAgc3BhX3R5cGVfdmlkZW9fZm9ybWF0X21hcCAo bWFwLCAmdHlwZS0+dmlkZW9fZm9ybWF0KTsKKy0gIHR5cGUtPm1ldGFfY3Vyc29yID0gc3BhX3R5 cGVfbWFwX2dldF9pZChtYXAsIFNQQV9UWVBFX01FVEFfX0N1cnNvcik7CistfQorLQorIHN0YXRp YyBNZXRhUGlwZVdpcmVTb3VyY2UgKgorIGNyZWF0ZV9waXBld2lyZV9zb3VyY2UgKHZvaWQpCisg eworQEAgLTgyOSw5ICs3NzgsOSBAQCBjcmVhdGVfcGlwZXdpcmVfc291cmNlICh2b2lkKQorICAg cmV0dXJuIHBpcGV3aXJlX3NvdXJjZTsKKyB9CisKKy1zdGF0aWMgY29uc3Qgc3RydWN0IHB3X3Jl bW90ZV9ldmVudHMgcmVtb3RlX2V2ZW50cyA9IHsKKy0gIFBXX1ZFUlNJT05fUkVNT1RFX0VWRU5U UywKKy0gIC5zdGF0ZV9jaGFuZ2VkID0gb25fc3RhdGVfY2hhbmdlZCwKKytzdGF0aWMgY29uc3Qg c3RydWN0IHB3X2NvcmVfZXZlbnRzIGNvcmVfZXZlbnRzID0geworKyAgUFdfVkVSU0lPTl9DT1JF X0VWRU5UUywKKysgIC5lcnJvciA9IG9uX2NvcmVfZXJyb3IsCisgfTsKKworIHN0YXRpYyBnYm9v bGVhbgorQEAgLTg1MSwzNyArODAwLDMxIEBAIG1ldGFfc2NyZWVuX2Nhc3Rfc3RyZWFtX3NyY19p bml0YWJsZV9pbml0IChHSW5pdGFibGUgICAgICppbml0YWJsZSwKKyAgICAgICByZXR1cm4gRkFM U0U7CisgICAgIH0KKworLSAgcHJpdi0+cGlwZXdpcmVfY29yZSA9IHB3X2NvcmVfbmV3IChwcml2 LT5waXBld2lyZV9zb3VyY2UtPnBpcGV3aXJlX2xvb3AsCistICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIE5VTEwpOworLSAgaWYgKCFwcml2LT5waXBld2lyZV9jb3JlKQorKyAg cHJpdi0+cGlwZXdpcmVfY29udGV4dCA9IHB3X2NvbnRleHRfbmV3IChwcml2LT5waXBld2lyZV9z b3VyY2UtPnBpcGV3aXJlX2xvb3AsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIE5VTEwsIDApOworKyAgaWYgKCFwcml2LT5waXBld2lyZV9jb250ZXh0KQorICAg ICB7CisgICAgICAgZ19zZXRfZXJyb3IgKGVycm9yLCBHX0lPX0VSUk9SLCBHX0lPX0VSUk9SX0ZB SUxFRCwKKy0gICAgICAgICAgICAgICAgICAgIkZhaWxlZCB0byBjcmVhdGUgcGlwZXdpcmUgY29y ZSIpOworKyAgICAgICAgICAgICAgICAgICAiRmFpbGVkIHRvIGNyZWF0ZSBwaXBld2lyZSBjb250 ZXh0Iik7CisgICAgICAgcmV0dXJuIEZBTFNFOworICAgICB9CisKKy0gIHByaXYtPnBpcGV3aXJl X3JlbW90ZSA9IHB3X3JlbW90ZV9uZXcgKHByaXYtPnBpcGV3aXJlX2NvcmUsIE5VTEwsIDApOwor LSAgaWYgKCFwcml2LT5waXBld2lyZV9yZW1vdGUpCisrICBwcml2LT5waXBld2lyZV9jb3JlID0g cHdfY29udGV4dF9jb25uZWN0IChwcml2LT5waXBld2lyZV9jb250ZXh0LCBOVUxMLCAwKTsKKysg IGlmICghcHJpdi0+cGlwZXdpcmVfY29yZSkKKyAgICAgeworICAgICAgIGdfc2V0X2Vycm9yIChl cnJvciwgR19JT19FUlJPUiwgR19JT19FUlJPUl9GQUlMRUQsCistICAgICAgICAgICAgICAgICAg ICJDb3VsZG4ndCBjcmVhdCBwaXBld2lyZSByZW1vdGUiKTsKKysgICAgICAgICAgICAgICAgICAg IkNvdWxkbid0IGNvbm5lY3QgcGlwZXdpcmUgY29udGV4dCIpOworICAgICAgIHJldHVybiBGQUxT RTsKKyAgICAgfQorCistICBwd19yZW1vdGVfYWRkX2xpc3RlbmVyIChwcml2LT5waXBld2lyZV9y ZW1vdGUsCistICAgICAgICAgICAgICAgICAgICAgICAgICAmcHJpdi0+cGlwZXdpcmVfcmVtb3Rl X2xpc3RlbmVyLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgJnJlbW90ZV9ldmVudHMsCist ICAgICAgICAgICAgICAgICAgICAgICAgICBzcmMpOworKyAgcHdfY29yZV9hZGRfbGlzdGVuZXIg KHByaXYtPnBpcGV3aXJlX2NvcmUsCisrICAgICAgICAgICAgICAgICAgICAgICAgJnByaXYtPnBp cGV3aXJlX2NvcmVfbGlzdGVuZXIsCisrICAgICAgICAgICAgICAgICAgICAgICAgJmNvcmVfZXZl bnRzLAorKyAgICAgICAgICAgICAgICAgICAgICAgIHNyYyk7CisKKy0gIHByaXYtPnBpcGV3aXJl X3R5cGUgPSBwd19jb3JlX2dldF90eXBlIChwcml2LT5waXBld2lyZV9jb3JlKTsKKy0gIGluaXRf c3BhX3R5cGUgKCZwcml2LT5zcGFfdHlwZSwgcHJpdi0+cGlwZXdpcmVfdHlwZS0+bWFwKTsKKy0K Ky0gIGlmIChwd19yZW1vdGVfY29ubmVjdCAocHJpdi0+cGlwZXdpcmVfcmVtb3RlKSAhPSAwKQor LSAgICB7CistICAgICAgZ19zZXRfZXJyb3IgKGVycm9yLCBHX0lPX0VSUk9SLCBHX0lPX0VSUk9S X0ZBSUxFRCwKKy0gICAgICAgICAgICAgICAgICAgIkNvdWxkbid0IGNvbm5lY3QgcGlwZXdpcmUg cmVtb3RlIik7CistICAgICAgcmV0dXJuIEZBTFNFOworLSAgICB9CisrICBwcml2LT5waXBld2ly ZV9zdHJlYW0gPSBjcmVhdGVfcGlwZXdpcmVfc3RyZWFtIChzcmMsIGVycm9yKTsKKysgIGlmICgh cHJpdi0+cGlwZXdpcmVfc3RyZWFtKQorKyAgICByZXR1cm4gRkFMU0U7CisKKyAgIHJldHVybiBU UlVFOworIH0KK0BAIC05MTIsOCArODU1LDggQEAgbWV0YV9zY3JlZW5fY2FzdF9zdHJlYW1fc3Jj X2ZpbmFsaXplIChHT2JqZWN0ICpvYmplY3QpCisgICAgIG1ldGFfc2NyZWVuX2Nhc3Rfc3RyZWFt X3NyY19kaXNhYmxlIChzcmMpOworCisgICBnX2NsZWFyX3BvaW50ZXIgKCZwcml2LT5waXBld2ly ZV9zdHJlYW0sIHB3X3N0cmVhbV9kZXN0cm95KTsKKy0gIGdfY2xlYXJfcG9pbnRlciAoJnByaXYt PnBpcGV3aXJlX3JlbW90ZSwgcHdfcmVtb3RlX2Rlc3Ryb3kpOworLSAgZ19jbGVhcl9wb2ludGVy ICgmcHJpdi0+cGlwZXdpcmVfY29yZSwgcHdfY29yZV9kZXN0cm95KTsKKysgIGdfY2xlYXJfcG9p bnRlciAoJnByaXYtPnBpcGV3aXJlX2NvcmUsIHB3X2NvcmVfZGlzY29ubmVjdCk7CisrICBnX2Ns ZWFyX3BvaW50ZXIgKCZwcml2LT5waXBld2lyZV9jb250ZXh0LCBwd19jb250ZXh0X2Rlc3Ryb3kp OworICAgZ19zb3VyY2VfZGVzdHJveSAoJnByaXYtPnBpcGV3aXJlX3NvdXJjZS0+YmFzZSk7CisK KyAgIEdfT0JKRUNUX0NMQVNTIChtZXRhX3NjcmVlbl9jYXN0X3N0cmVhbV9zcmNfcGFyZW50X2Ns YXNzKS0+ZmluYWxpemUgKG9iamVjdCk7CmRpZmYgLS1naXQgYS9zcmNwa2dzL211dHRlci90ZW1w bGF0ZSBiL3NyY3BrZ3MvbXV0dGVyL3RlbXBsYXRlCmluZGV4IDRlMGJkMzJiNjdkLi44MDZhM2Jl ZjlmMCAxMDA2NDQKLS0tIGEvc3JjcGtncy9tdXR0ZXIvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9t dXR0ZXIvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdtdXR0 ZXInCiBwa2duYW1lPW11dHRlcgogdmVyc2lvbj0zLjM0LjEKLXJldmlzaW9uPTIKK3JldmlzaW9u PTMKIGJ1aWxkX2hlbHBlcj0iZ2lyIgogYnVpbGRfc3R5bGU9bWVzb24KIGNvbmZpZ3VyZV9hcmdz PSItRGVnbF9kZXZpY2U9dHJ1ZSAtRHVkZXY9dHJ1ZSAtRG5hdGl2ZV9iYWNrZW5kPXRydWUK --===============6544577029032989608==--