From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 32212 invoked from network); 30 Jan 2023 14:20:44 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 30 Jan 2023 14:20:44 -0000 Content-Type: multipart/mixed; boundary="===============4263302756384351922==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_update_openssl_to_3_series?= To: ml@inbox.vuxu.org From: dkwo Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Mon, 30 Jan 2023 15:20:44 +0100 List-Id: Message-ID: <20230130142044.nKT-ow1YRtvQzlRPwJK-_h0-qnYSCfiBHwrd0INEUew@z> GitHub notification mails are now in MIME to allow UTF8. --===============4263302756384351922== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgZGt3byBhZ2FpbnN0IG1hc3RlciBv biB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20vZGt3by92 b2lkLXBhY2thZ2VzIG9wZW5zc2wzCmh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQt cGFja2FnZXMvcHVsbC8zNzY4MQoKdXBkYXRlIG9wZW5zc2wgdG8gMyBzZXJpZXMKLSBCdWlsZCBm YWlsdXJlcyBvbiBgeDg2XzY0LW11c2xgOg0KLSBbeF0gZ3NvYXAsIHZhbml0eWdlbiwgcGpwcm9q ZWN0LCBzdHVubmVsLCB0aHJpZnQsIHRjcGZsb3c6IG1pc3NpbmcgZGlzdGZpbGVzIC8gd3Jvbmcg c2hhLXN1bXMNCi0gW3hdIHNic2lnbnRvb2w6IGFkZCBwYXRjaA0KLSBbeF0gY2JhbmcsIHBvY286 IHVwZGF0ZQ0KLSBbeF0gZ2l0LWNyeXB0OiB1cGRhdGUsIGFkZCBjeHggZmxhZw0KLSBbIF0gbm9k ZWpzLWx0cywga29yZSwgeHJvb3RkLCBuZXRwZ3AsIG9wZW5zYywgdnBuLXdzLCBlaWQtbXcsIGJv aW5jLCBwaHAsIHBocDguMCwgdW11cm11ciwgbnpiZ2V0LCBucnBlLCBwa2NzMTEtaGVscGVyLCBt dW1ibGUsIHNxdWlkLCB4Y2E6IGRlcHJlY2F0ZWQgc29tZXRoaW5nDQotIFsgXSBtYWlyaXgsIHJ1 c3Qtc2NjYWNoZSwgZnJhY3RhbCwgdGVsZWdyYW0tZGVza3RvcCwgcmFiYml0bXEtYywgZ2l0LWJy d3MsIHJvb3N0ZXIsIGNhcmdvLWFvYywgc3BvdGlmeS10dWksIGdpdC1zZXJpZXMsIHRhcnBhdWxp biwgdGFpc2VpLCBydXN0LWNhcmdvLWF1ZGl0LCBzaWduYWwtYmFja3VwLWRlY29kZSwgY2FyZ28t b3V0ZGF0ZWQsIHJ1c3R1cDogY2FyZ28gZXJyb3JzDQotIFsgXSBsdWE1NC1sdWFzZWMsIHl1Ymlr by1waXYtdG9vbCwgZ2NzZiwgaXBtaXV0aWwsIHJuZy10b29sczogZXJyb3JzDQotIHhicHM6IGFk ZGVkIHRlbXBvcmFyeSBmaXh0dXJlIHN1Z2dlc3RlZCBieSBARHVuY2Flbiwgc3RpbGwgYnJva2Vu DQotIHJhY2tldDogZGVwZW5kIG9uIGxpYnNzbDMuMA0KLSByZW1vdmUgdmFuaXR5Z2VuOiBubyBk aXN0ZmlsZXMgYXZhaWxhYmxlDQotIE5vdGUgdG8gc2VsZjogdXNlIGB4cmV2YnVtcCAiYnVtcCBm b3Igb3BlbnNzbC0zLjAiICQoeGJwcy1xdWVyeSAtUnMgbGlic3NsLnNvIC1wIHNobGliLXJlcXVp cmVzIHwgY3V0IC1kICc6JyAtZiAxIHwgeGFyZ3MgLW4xIHhicHMtdWhlbHBlciBnZXRwa2duYW1l KWAgYW5kIHNhbWUgZm9yIGBsaWJjcnlwdG9gLCBvciB1c2UgYHNvcnQgLXUgZmlsZTEgZmlsZTJg Lg0KW2NpIHNraXBdCgpBIHBhdGNoIGZpbGUgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vdm9pZC1s aW51eC92b2lkLXBhY2thZ2VzL3B1bGwvMzc2ODEucGF0Y2ggaXMgYXR0YWNoZWQ= --===============4263302756384351922== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-openssl3-37681.patch" RnJvbSBkMmUxZTgyYjFiMzA2ZmUxMTM1MDAzMGIxNzdmZjZiYzE5ZDJjZTFlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBka3dvIDxuaWNvbG9waWF6emFsdW5nYUBnbWFpbC5jb20+CkRh dGU6IFNhdCwgMjUgSnVuIDIwMjIgMTg6MjI6MjggKzAyMDAKU3ViamVjdDogW1BBVENIIDAxLzEx XSBvcGVuc3NsOiB1cGRhdGUgdG8gMy4wLjcKCi0tLQogY29tbW9uL3NobGlicyAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgIDQgKy0KIHNyY3BrZ3Mve2xpYmNyeXB0bzEuMSA9PiBsaWJjcnlw dG8zLjB9ICB8ICAwCiBzcmNwa2dzL3tsaWJzc2wxLjEgPT4gbGlic3NsMy4wfSAgICAgICAgfCAg MAogc3JjcGtncy9vcGVuc3NsL3BhdGNoZXMvcHBjLWF1eHYucGF0Y2ggIHwgMjUgLS0tLS0tLQog c3JjcGtncy9vcGVuc3NsL3BhdGNoZXMvcHBjNjQucGF0Y2ggICAgIHwgOTYgLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQogc3JjcGtncy9vcGVuc3NsL3BhdGNoZXMveHh4LXBwY2xlLnBhdGNoIHwg NTMgLS0tLS0tLS0tLS0tLS0KIHNyY3BrZ3Mvb3BlbnNzbC90ZW1wbGF0ZSAgICAgICAgICAgICAg ICB8IDIwICsrKy0tLQogNyBmaWxlcyBjaGFuZ2VkLCAxNCBpbnNlcnRpb25zKCspLCAxODQgZGVs ZXRpb25zKC0pCiByZW5hbWUgc3JjcGtncy97bGliY3J5cHRvMS4xID0+IGxpYmNyeXB0bzMuMH0g KDEwMCUpCiByZW5hbWUgc3JjcGtncy97bGlic3NsMS4xID0+IGxpYnNzbDMuMH0gKDEwMCUpCiBk ZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9vcGVuc3NsL3BhdGNoZXMvcHBjLWF1eHYucGF0Y2gK IGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL29wZW5zc2wvcGF0Y2hlcy9wcGM2NC5wYXRjaAog ZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mvb3BlbnNzbC9wYXRjaGVzL3h4eC1wcGNsZS5wYXRj aAoKZGlmZiAtLWdpdCBhL2NvbW1vbi9zaGxpYnMgYi9jb21tb24vc2hsaWJzCmluZGV4IGVkYjhh MmM1ZGQ3My4uNTllOTI4NjY0ODUwIDEwMDY0NAotLS0gYS9jb21tb24vc2hsaWJzCisrKyBiL2Nv bW1vbi9zaGxpYnMKQEAgLTE3NjgsOCArMTc2OCw4IEBAIGxpYmlkMy5zbyBpZDNsaWItMy44LjNf NwogbGliaWQzLTMuOC5zby4zIGlkM2xpYi0zLjguM183CiBsaWJnaXJhcmEtZ3RrMy5zby4zIGdp cmFyYS0wLjIuOF8xCiBsaWJqcS5zby4xIGpxLTEuNl8yCi1saWJjcnlwdG8uc28uMS4xIGxpYmNy eXB0bzEuMS0xLjEuMWZfMQotbGlic3NsLnNvLjEuMSBsaWJzc2wxLjEtMS4xLjFmXzEKK2xpYmNy eXB0by5zby4zIGxpYmNyeXB0bzMuMC0zLjAuN18xCitsaWJzc2wuc28uMyBsaWJzc2wzLjAtMy4w LjdfMQogbGlidmFtcC1ob3N0c2RrLnNvLjMgbGlidmFtcC1wbHVnaW4tc2RrLTIuMl82CiBsaWJw b3J0bWlkaS5zbyBwb3J0bWlkaS0yMTdfMQogbGliV2lsZE1pZGkuc28uMiBsaWJ3aWxkbWlkaS0w LjQuM18xCmRpZmYgLS1naXQgYS9zcmNwa2dzL2xpYmNyeXB0bzEuMSBiL3NyY3BrZ3MvbGliY3J5 cHRvMy4wCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBzcmNwa2dzL2xpYmNyeXB0 bzEuMQpyZW5hbWUgdG8gc3JjcGtncy9saWJjcnlwdG8zLjAKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv bGlic3NsMS4xIGIvc3JjcGtncy9saWJzc2wzLjAKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFt ZSBmcm9tIHNyY3BrZ3MvbGlic3NsMS4xCnJlbmFtZSB0byBzcmNwa2dzL2xpYnNzbDMuMApkaWZm IC0tZ2l0IGEvc3JjcGtncy9vcGVuc3NsL3BhdGNoZXMvcHBjLWF1eHYucGF0Y2ggYi9zcmNwa2dz L29wZW5zc2wvcGF0Y2hlcy9wcGMtYXV4di5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMjc0YWMyZDU1OTk4Li4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9vcGVuc3NsL3Bh dGNoZXMvcHBjLWF1eHYucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNSArMCwwIEBACi1kaWZm IC0tZ2l0IGEvY3J5cHRvL3BwY2NhcC5jIGIvY3J5cHRvL3BwY2NhcC5jCi1pbmRleCBlZWFhNDdj Li5lNmVlYjE0IDEwMDY0NAotLS0tIGEvY3J5cHRvL3BwY2NhcC5jCi0rKysgYi9jcnlwdG8vcHBj Y2FwLmMKLUBAIC0yMDcsMTcgKzIwNyw5IEBAIHNpemVfdCBPUEVOU1NMX2luc3RydW1lbnRfYnVz Mih1bnNpZ25lZCBpbnQgKm91dCwgc2l6ZV90IGNudCwgc2l6ZV90IG1heCkKLSAgICAgICAgIHJl dHVybiAwOwotIH0KLSAKLS0jaWYgZGVmaW5lZChfX0dMSUJDX18pICYmIGRlZmluZWQoX19HTElC Q19QUkVSRVEpCi0tIyBpZiBfX0dMSUJDX1BSRVJFUSgyLCAxNikKLS0jICBpbmNsdWRlIDxzeXMv YXV4di5oPgotLSMgIGRlZmluZSBPU1NMX0lNUExFTUVOVF9HRVRBVVhWQUwKLS0jIGVsaWYgZGVm aW5lZChfX0FORFJPSURfQVBJX18pCi0tLyogc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLmFuZHJvaWQu Z29vZ2xlLmNuL25kay9ndWlkZXMvY3B1LWZlYXR1cmVzICovCi0tIyAgaWYgX19BTkRST0lEX0FQ SV9fID49IDE4Ci0tIyAgIGluY2x1ZGUgPHN5cy9hdXh2Lmg+Ci0tIyAgIGRlZmluZSBPU1NMX0lN UExFTUVOVF9HRVRBVVhWQUwKLS0jICBlbmRpZgotLSMgZW5kaWYKLSsjaWYgZGVmaW5lZChfX2xp bnV4X18pCi0rIyBpbmNsdWRlIDxzeXMvYXV4di5oPgotKyMgZGVmaW5lIE9TU0xfSU1QTEVNRU5U X0dFVEFVWFZBTAotICNlbmRpZgotIAotICNpZiBkZWZpbmVkKF9fRnJlZUJTRF9fKQpkaWZmIC0t Z2l0IGEvc3JjcGtncy9vcGVuc3NsL3BhdGNoZXMvcHBjNjQucGF0Y2ggYi9zcmNwa2dzL29wZW5z c2wvcGF0Y2hlcy9wcGM2NC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzc1 Y2VlZGJhMmMwLi4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9vcGVuc3NsL3BhdGNoZXMvcHBj NjQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw5NiArMCwwIEBACi1Gcm9tIDM0YWIxM2I3ZDhl M2U3MjNhZGI2MGJlODE0MmUzOGI3YzljZDM4MmEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1G cm9tOiBBbmR5IFBvbHlha292IDxhcHByb0BvcGVuc3NsLm9yZz4KLURhdGU6IFN1biwgNSBNYXkg MjAxOSAxODoyNTo1MCArMDIwMAotU3ViamVjdDogW1BBVENIXSBjcnlwdG8vcGVybGFzbS9wcGMt eGxhdGUucGw6IGFkZCBsaW51eDY0djIgZmxhdm91cgotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRl bnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAotQ29udGVudC1UcmFuc2Zlci1FbmNv ZGluZzogOGJpdAotCi1UaGlzIGlzIGEgYmlnIGVuZGlhbiBFTEZ2MiBjb25maWd1cmF0aW9uLiBF TEZ2MiB3YXMgYWxyZWFkeSBiZWluZwotdXNlZCBmb3IgbGl0dGxlIGVuZGlhbiwgYW5kIGJpZyBl bmRpYW4gd2FzIHRyYWRpdGlvbmFsbHkgRUxGdjEKLWJ1dCB0aGVyZSBhcmUgcHJhY3RpY2FsIGNv bmZpZ3VyYXRpb25zIHRoYXQgdXNlIEVMRnYyIHdpdGggYmlnCi1lbmRpYW4gbm93YWRheXMgKEFk w6lsaWUgTGludXgsIFZvaWQgTGludXgsIHBvc3NpYmx5IEdlbnRvbywgZXRjLikKLQotUmV2aWV3 ZWQtYnk6IFBhdWwgRGFsZSA8cGF1bC5kYWxlQG9yYWNsZS5jb20+Ci1SZXZpZXdlZC1ieTogUmlj aGFyZCBMZXZpdHRlIDxsZXZpdHRlQG9wZW5zc2wub3JnPgotKE1lcmdlZCBmcm9tIGh0dHBzOi8v Z2l0aHViLmNvbS9vcGVuc3NsL29wZW5zc2wvcHVsbC84ODgzKQotLS0tCi0gY3J5cHRvL3Blcmxh c20vcHBjLXhsYXRlLnBsIHwgOCArKysrLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlv bnMoKyksIDQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9jcnlwdG8vcGVybGFzbS9wcGMt eGxhdGUucGwgYi9jcnlwdG8vcGVybGFzbS9wcGMteGxhdGUucGwKLWluZGV4IGU1MmYyZjZlYTYy Li41ZmNkMDUyNmRmZiAxMDA3NTUKLS0tLSBhL2NyeXB0by9wZXJsYXNtL3BwYy14bGF0ZS5wbAot KysrIGIvY3J5cHRvL3Blcmxhc20vcHBjLXhsYXRlLnBsCi1AQCAtNDksNyArNDksNyBAQAotIAkv b3N4LwkJJiYgZG8geyAkbmFtZSA9ICJfJG5hbWUiOwotIAkJCQlsYXN0OwotIAkJCSAgICAgIH07 Ci0tCS9saW51eC4qKDMyfDY0bGUpLwotKwkvbGludXguKigzMnw2NChsZXx2MikpLwotIAkJCSYm IGRvIHsJJHJldCAuPSAiLmdsb2JsCSRuYW1lIjsKLSAJCQkJaWYgKCEkJHR5cGUpIHsKLSAJCQkJ ICAgICRyZXQgLj0gIlxuLnR5cGUJJG5hbWUsXEBmdW5jdGlvbiI7Ci1AQCAtODAsNyArODAsNyBA QAotIH07Ci0gbXkgJHRleHQgPSBzdWIgewotICAgICBteSAkcmV0ID0gKCRmbGF2b3VyID1+IC9h aXgvKSA/ICIuY3NlY3RcdC50ZXh0W1BSXSw3IiA6ICIudGV4dCI7Ci0tICAgICRyZXQgPSAiLmFi aXZlcnNpb24JMlxuIi4kcmV0CWlmICgkZmxhdm91ciA9fiAvbGludXguKjY0bGUvKTsKLSsgICAg JHJldCA9ICIuYWJpdmVyc2lvbgkyXG4iLiRyZXQJaWYgKCRmbGF2b3VyID1+IC9saW51eC4qNjQo bGV8djIpLyk7Ci0gICAgICRyZXQ7Ci0gfTsKLSBteSAkbWFjaGluZSA9IHN1YiB7Ci1AQCAtMTg2 LDcgKzE4Niw3IEBACi0gCi0gIyBTb21lIEFCSXMgc3BlY2lmeSB2cnNhdmUsIHNwZWNpYWwtcHVy cG9zZSByZWdpc3RlciAjMjU2LCBhcyByZXNlcnZlZAotICMgZm9yIHN5c3RlbSB1c2UuCi0tbXkg JG5vX3Zyc2F2ZSA9ICgkZmxhdm91ciA9fiAvYWl4fGxpbnV4NjRsZS8pOwotK215ICRub192cnNh dmUgPSAoJGZsYXZvdXIgPX4gL2FpeHxsaW51eDY0KGxlfHYyKS8pOwotIG15ICRtdHNwciA9IHN1 YiB7Ci0gICAgIG15ICgkZiwkaWR4LCRyYSkgPSBAXzsKLSAgICAgaWYgKCRpZHggPT0gMjU2ICYm ICRub192cnNhdmUpIHsKLUBAIC0zMTgsNyArMzE4LDcgQEAgc3ViIHZmb3VyIHsKLSAJaWYgKCRs YWJlbCkgewotIAkgICAgbXkgJHhsYXRlZCA9ICgkR0xPQkFMU3skbGFiZWx9IG9yICRsYWJlbCk7 Ci0gCSAgICBwcmludCAiJHhsYXRlZDoiOwotLQkgICAgaWYgKCRmbGF2b3VyID1+IC9saW51eC4q NjRsZS8pIHsKLSsJICAgIGlmICgkZmxhdm91ciA9fiAvbGludXguKjY0KGxlfHYyKS8pIHsKLSAJ CWlmICgkVFlQRVN7JGxhYmVsfSA9fiAvZnVuY3Rpb24vKSB7Ci0gCQkgICAgcHJpbnRmICJcbi5s b2NhbGVudHJ5CSVzLDBcbiIsJHhsYXRlZDsKLSAJCX0KLQotRnJvbSAwOTg0MDQxMjgzODNkZWQ4 N2JhMzkwZGQ3NGVjZDllMmZmYTZmNTMwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTog QW5keSBQb2x5YWtvdiA8YXBwcm9Ab3BlbnNzbC5vcmc+Ci1EYXRlOiBTdW4sIDUgTWF5IDIwMTkg MTg6MzA6NTUgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gQ29uZmlndXJlOiB1c2UgRUxGdjIgQUJJ IG9uIHNvbWUgcHBjNjQgYmlnIGVuZGlhbiBzeXN0ZW1zCi0KLUlmIF9DQUxMX0VMRiBpcyBkZWZp bmVkIHRvIGJlIDIsIGl0J3MgYW4gRUxGdjIgc3lzdGVtLgotQ29uZGl0aW9uYWxseSBzd2l0Y2gg dG8gdGhlIHYyIHBlcmxhc20gc2NoZW1lLgotCi1SZXZpZXdlZC1ieTogUGF1bCBEYWxlIDxwYXVs LmRhbGVAb3JhY2xlLmNvbT4KLVJldmlld2VkLWJ5OiBSaWNoYXJkIExldml0dGUgPGxldml0dGVA b3BlbnNzbC5vcmc+Ci0oTWVyZ2VkIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL29wZW5zc2wvb3Bl bnNzbC9wdWxsLzg4ODMpCi0tLS0KLSBDb25maWd1cmUgfCAxMCArKysrKysrLS0tCi0gMSBmaWxl IGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBh L0NvbmZpZ3VyZSBiL0NvbmZpZ3VyZQotaW5kZXggMjIwODJkZWI0YzcuLmUzMDNkOThkZWIzIDEw MDc1NQotLS0tIGEvQ29uZmlndXJlCi0rKysgYi9Db25maWd1cmUKLUBAIC0xNDAyLDggKzE0MDIs MTUgQEAKLSBteSAlcHJlZGVmaW5lZF9DID0gY29tcGlsZXJfcHJlZGVmaW5lZCgkY29uZmlne0NS T1NTX0NPTVBJTEV9LiRjb25maWd7Q0N9KTsKLSBteSAlcHJlZGVmaW5lZF9DWFggPSAkY29uZmln e0NYWH0KLSAgICAgPyBjb21waWxlcl9wcmVkZWZpbmVkKCRjb25maWd7Q1JPU1NfQ09NUElMRX0u JGNvbmZpZ3tDWFh9KQotICAgICA6ICgpOwotIAotK3VubGVzcyAoJGRpc2FibGVke2FzbX0pIHsK LSsgICAgIyBiaWcgZW5kaWFuIHN5c3RlbXMgY2FuIHVzZSBFTEZ2MiBBQkkKLSsgICAgaWYgKCR0 YXJnZXQgZXEgImxpbnV4LXBwYzY0IikgewotKyAgICAgICAgJHRhcmdldHtwZXJsYXNtX3NjaGVt ZX0gPSAibGludXg2NHYyIiBpZiAoJHByZWRlZmluZWRfQ3tfQ0FMTF9FTEZ9ID09IDIpOwotKyAg ICB9Ci0rfQotKwotICMgQ2hlY2sgZm9yIG1ha2VkZXBlbmQgY2FwYWJpbGl0aWVzLgotIGlmICgh JGRpc2FibGVke21ha2VkZXBlbmR9KSB7Ci0gICAgIGlmICgkY29uZmlne3RhcmdldH0gPX4gL14o VkN8dm1zKS0vKSB7CmRpZmYgLS1naXQgYS9zcmNwa2dzL29wZW5zc2wvcGF0Y2hlcy94eHgtcHBj bGUucGF0Y2ggYi9zcmNwa2dzL29wZW5zc2wvcGF0Y2hlcy94eHgtcHBjbGUucGF0Y2gKZGVsZXRl ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI0OThhZjk2ODg5OS4uMDAwMDAwMDAwMDAwCi0tLSBh L3NyY3BrZ3Mvb3BlbnNzbC9wYXRjaGVzL3h4eC1wcGNsZS5wYXRjaAorKysgL2Rldi9udWxsCkBA IC0xLDUzICswLDAgQEAKLWNvbW1pdCA1NmUwNzg1NmE3YTlmN2NlMzU4MmI4Y2YzODQzZjI1MjY5 MTQ3NWE2Ci1BdXRob3I6IHE2NiA8ZGFuaWVsQG9jdGFmb3JnZS5vcmc+Ci1EYXRlOiAgIEZyaSBN YXIgNSAxODozNjowMSAyMDIxICswMTAwCi0KLSAgICBhZGQgcHBjbGUgc3VwcG9ydAotCi1kaWZm IC0tZ2l0IENvbmZpZ3VyYXRpb25zLzEwLW1haW4uY29uZiBDb25maWd1cmF0aW9ucy8xMC1tYWlu LmNvbmYKLWluZGV4IDhkYzNlODUuLjE4ZjEwYzkgMTAwNjQ0Ci0tLS0gYS9Db25maWd1cmF0aW9u cy8xMC1tYWluLmNvbmYKLSsrKyBiL0NvbmZpZ3VyYXRpb25zLzEwLW1haW4uY29uZgotQEAgLTY2 NSw2ICs2NjUsMTEgQEAgbXkgJXRhcmdldHMgPSAoCi0gICAgICAgICBwZXJsYXNtX3NjaGVtZSAg ID0+ICJsaW51eDMyIiwKLSAgICAgICAgIGxpYl9jcHBmbGFncyAgICAgPT4gYWRkKCItREJfRU5E SUFOIiksCi0gICAgIH0sCi0rICAgICJsaW51eC1wcGNsZSIgPT4gewotKyAgICAgICAgaW5oZXJp dF9mcm9tICAgICA9PiBbICJsaW51eC1nZW5lcmljMzIiLCBhc20oInBwYzMyX2FzbSIpIF0sCi0r ICAgICAgICBwZXJsYXNtX3NjaGVtZSAgID0+ICJsaW51eDMybGUiLAotKyAgICAgICAgbGliX2Nw cGZsYWdzICAgICA9PiBhZGQoIi1ETF9FTkRJQU4iKSwKLSsgICAgfSwKLSAgICAgImxpbnV4LXBw YzY0IiA9PiB7Ci0gICAgICAgICBpbmhlcml0X2Zyb20gICAgID0+IFsgImxpbnV4LWdlbmVyaWM2 NCIsIGFzbSgicHBjNjRfYXNtIikgXSwKLSAgICAgICAgIGNmbGFncyAgICAgICAgICAgPT4gYWRk KCItbTY0IiksCi1kaWZmIC0tZ2l0IGNvbmZpZyBjb25maWcKLWluZGV4IDI2MjI1Y2EuLjZhMWU4 MzAgMTAwNzU1Ci0tLS0gYS9jb25maWcKLSsrKyBiL2NvbmZpZwotQEAgLTU0Myw2ICs1NDMsNyBA QCBjYXNlICIkR1VFU1NPUyIgaW4KLSAJZmkKLSAJOzsKLSAgIHBwYzY0bGUtKi1saW51eDIpIE9V VD0ibGludXgtcHBjNjRsZSIgOzsKLSsgIHBwY2xlLSotbGludXgyKSBPVVQ9ImxpbnV4LXBwY2xl IiA7OwotICAgcHBjLSotbGludXgyKSBPVVQ9ImxpbnV4LXBwYyIgOzsKLSAgIG1pcHM2NCotKi1s aW51eDIpCi0gCWVjaG8gIldBUk5JTkchIElmIHlvdSB3aXNoIHRvIGJ1aWxkIDY0LWJpdCBsaWJy YXJ5LCB0aGVuIHlvdSBoYXZlIHRvIgotZGlmZiAtLWdpdCBjcnlwdG8vcG9seTEzMDUvYXNtL3Bv bHkxMzA1LXBwYy5wbCBjcnlwdG8vcG9seTEzMDUvYXNtL3BvbHkxMzA1LXBwYy5wbAotaW5kZXgg ZTVkNjkzMy4uMzI4M2Y2YiAxMDA3NTUKLS0tLSBhL2NyeXB0by9wb2x5MTMwNS9hc20vcG9seTEz MDUtcHBjLnBsCi0rKysgYi9jcnlwdG8vcG9seTEzMDUvYXNtL3BvbHkxMzA1LXBwYy5wbAotQEAg LTMxNCwxMCArMzE0LDEwIEBAICRjb2RlLj08PF9fXzsKLSAJYmVxLQlMbm9fa2V5Ci0gX19fCi0g JGNvZGUuPTw8X19fCWlmICgkTElUVExFX0VORElBTik7Ci0tCWx3CSRoMCwwKCRpbnApCQkjIGxv YWQga2V5IG1hdGVyaWFsCi0tCWx3CSRoMSw0KCRpbnApCi0tCWx3CSRoMiw4KCRpbnApCi0tCWx3 CSRoMywxMigkaW5wKQotKwlsd3oJJGgwLDAoJGlucCkJCSMgbG9hZCBrZXkgbWF0ZXJpYWwKLSsJ bHd6CSRoMSw0KCRpbnApCi0rCWx3egkkaDIsOCgkaW5wKQotKwlsd3oJJGgzLDEyKCRpbnApCi0g X19fCi0gJGNvZGUuPTw8X19fCWlmICghJExJVFRMRV9FTkRJQU4pOwotIAlsaQkkaDEsNApkaWZm IC0tZ2l0IGEvc3JjcGtncy9vcGVuc3NsL3RlbXBsYXRlIGIvc3JjcGtncy9vcGVuc3NsL3RlbXBs YXRlCmluZGV4IDE0NjFmZmQyZjdhMi4uMmE5ZTk0YzVmODI2IDEwMDY0NAotLS0gYS9zcmNwa2dz L29wZW5zc2wvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9vcGVuc3NsL3RlbXBsYXRlCkBAIC0xLDYg KzEsNiBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnb3BlbnNzbCcKIHBrZ25hbWU9b3BlbnNzbAot dmVyc2lvbj0xLjEuMXMKK3ZlcnNpb249My4wLjcKIHJldmlzaW9uPTEKIGJvb3RzdHJhcD15ZXMK IGJ1aWxkX3N0eWxlPWNvbmZpZ3VyZQpAQCAtMTQsMTAgKzE0LDEwIEBAIG1ha2VfY2hlY2tfdGFy Z2V0PXRlc3QKIG1ha2VfaW5zdGFsbF9hcmdzPSJNQU5TVUZGSVg9c3NsIgogc2hvcnRfZGVzYz0i VG9vbGtpdCBmb3IgU2VjdXJlIFNvY2tldHMgTGF5ZXIgYW5kIFRyYW5zcG9ydCBMYXllciBTZWN1 cml0eSIKIG1haW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4iCi1saWNlbnNlPSJP cGVuU1NMIgorbGljZW5zZT0iQXBhY2hlLTIuMCIKIGhvbWVwYWdlPSJodHRwczovL3d3dy5vcGVu c3NsLm9yZyIKIGRpc3RmaWxlcz0iaHR0cHM6Ly93d3cub3BlbnNzbC5vcmcvc291cmNlL29wZW5z c2wtJHt2ZXJzaW9ufS50YXIuZ3oiCi1jaGVja3N1bT1jNWFjMDFlNzYwZWU2ZmYwZGFiNjFkNmIy YmJkMzAxNDY3MjRkMDYzZWIzMjIxODBjNmYxOGE2Zjc0ZTRiNmFhCitjaGVja3N1bT04MzA0OWQw NDJhMjYwZTY5NmY2MjQwNmFjNWMwOGJmNzA2ZmQ4NDM4M2Y5NDVjZjIxYmQ2MWU5ZWQ5NWMzOTZl CiBjb25mX2ZpbGVzPSIvZXRjL3NzbC9vcGVuc3NsLmNuZiIKIHJlcGxhY2VzPSJsaWJyZXNzbD49 MCIKIApAQCAtMjgsNyArMjgsMTEgQEAgaWYgWyAiJENIUk9PVF9SRUFEWSIgXTsgdGhlbgogCWJ1 aWxkX29wdGlvbnNfZGVmYXVsdD0iYXNtIgogZWxzZQogCSMgb3BlbnNzbC1jX3JlaGFzaCBkZXBl bmRzIG9uIHBlcmwsIGlnbm9yZSBvbiBib290c3RyYXAKLQlzdWJwYWNrYWdlcz0ibGliY3J5cHRv MS4xIGxpYnNzbDEuMSBvcGVuc3NsLWRldmVsIgorCXN1YnBhY2thZ2VzPSJsaWJjcnlwdG8zLjAg bGlic3NsMy4wIG9wZW5zc2wtZGV2ZWwiCitmaQorCitpZiBbICIkWEJQU19UQVJHRVRfTk9fQVRP TUlDOCIgXTsgdGhlbgorCW1ha2VkZXBlbmRzKz0iIGxpYmF0b21pYy1kZXZlbCIKIGZpCiAKIGNh c2UgJFhCUFNfVEFSR0VUX01BQ0hJTkUgaW4KQEAgLTYzLDE1ICs2NywxNSBAQCBwb3N0X2luc3Rh bGwoKSB7CiAJZmkKIH0KIAotbGliY3J5cHRvMS4xX3BhY2thZ2UoKSB7CitsaWJjcnlwdG8zLjBf cGFja2FnZSgpIHsKIAlzaG9ydF9kZXNjKz0iIC0gY3J5cHRvIGxpYnJhcnkiCiAJcGtnX2luc3Rh bGwoKSB7CiAJCXZtb3ZlICJ1c3IvbGliL2xpYmNyeXB0by5zby4qIgotCQl2bW92ZSB1c3IvbGli L2VuZ2luZXMtMS4xCisJCXZtb3ZlIHVzci9saWIvZW5naW5lcy0zCiAJfQogfQogCi1saWJzc2wx LjFfcGFja2FnZSgpIHsKK2xpYnNzbDMuMF9wYWNrYWdlKCkgewogCXNob3J0X2Rlc2MrPSIgLSBT U0wvVExTIGxpYnJhcnkiCiAJcGtnX2luc3RhbGwoKSB7CiAJCXZtb3ZlICJ1c3IvbGliL2xpYnNz bC5zby4qIgpAQCAtODcsNyArOTEsNyBAQCBvcGVuc3NsLWNfcmVoYXNoX3BhY2thZ2UoKSB7CiB9 CiAKIG9wZW5zc2wtZGV2ZWxfcGFja2FnZSgpIHsKLQlkZXBlbmRzPSIke3NvdXJjZXBrZ30+PSR7 dmVyc2lvbn1fJHtyZXZpc2lvbn0gbGlic3NsMS4xPj0ke3ZlcnNpb259XyR7cmV2aXNpb259IGxp YmNyeXB0bzEuMT49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufSIKKwlkZXBlbmRzPSIke3NvdXJjZXBr Z30+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0gbGlic3NsMy4wPj0ke3ZlcnNpb259XyR7cmV2aXNp b259IGxpYmNyeXB0bzMuMD49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufSIKIAlyZXBsYWNlcz0ibGli cmVzc2wtZGV2ZWw+PTAiCiAJc2hvcnRfZGVzYys9IiAtIGRldmVsb3BtZW50IGZpbGVzIgogCXBr Z19pbnN0YWxsKCkgewoKRnJvbSBlZWMxZmNhYzUzM2U1NDY1NzMwYWQyZTMxYzQ2MWI3Mjk2ZDYw ZDNhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBka3dvIDxuaWNvbG9waWF6emFsdW5n YUBnbWFpbC5jb20+CkRhdGU6IFNhdCwgMjUgSnVuIDIwMjIgMTg6MzE6MDkgKzAyMDAKU3ViamVj dDogW1BBVENIIDAyLzExXSByYWNrZXQ6IGRlcGVuZCBvbiBsaWJzc2wzLjAKCi0tLQogc3JjcGtn cy9yYWNrZXQvdGVtcGxhdGUgfCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMo KyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9yYWNrZXQvdGVtcGxhdGUg Yi9zcmNwa2dzL3JhY2tldC90ZW1wbGF0ZQppbmRleCAwZjIyZDZjMDQ2NDkuLmE4YmQ1Y2IxNzc2 MSAxMDA2NDQKLS0tIGEvc3JjcGtncy9yYWNrZXQvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9yYWNr ZXQvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdyYWNrZXQn CiBwa2duYW1lPXJhY2tldAogdmVyc2lvbj04LjcKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGFy Y2hzPSJhYXJjaDY0KiBhcm12NiogYXJtdjcqIGk2ODYqIHg4Nl82NCoiCiBidWlsZF93cmtzcmM9 c3JjCiBidWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCkBAIC05LDcgKzksNyBAQCBjb25maWd1cmVf YXJncz0iLS1lbmFibGUtdXNlcHJlZml4IC0tZW5hYmxlLWN1cnNlcyIKIG1ha2VfYnVpbGRfYXJn cz0iQ0NfRk9SX0JVSUxEPWNjIgogaG9zdG1ha2VkZXBlbmRzPSJsaWJlcmF0aW9uLWZvbnRzLXR0 ZiIKIG1ha2VkZXBlbmRzPSJndGsrMy1kZXZlbCBsaWJsejQtZGV2ZWwgbmN1cnNlcy1kZXZlbCBz cWxpdGUtZGV2ZWwgemxpYi1kZXZlbCIKLWRlcGVuZHM9Imd0ayszIGxpYnNzbDEuMSIKK2RlcGVu ZHM9Imd0ayszIGxpYnNzbDMuMCIKIHNob3J0X2Rlc2M9Ik11bHRpLXBhcmFkaWdtIHByb2dyYW1t aW5nIGxhbmd1YWdlIGluIHRoZSBMaXNwLVNjaGVtZSBmYW1pbHkiCiBtYWludGFpbmVyPSJBbmRy ZWEgQnJhbmNhbGVvbmkgPGFiY0Bwb21wZWwubWU+IgogbGljZW5zZT0iTEdQTC0zLjAtb25seSwg TUlUIgoKRnJvbSAxNjhjNmQ4NzU2MGRiZDViZWM2MGUwNTI0YzZkNGJhM2MwNTMwYzFiIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBka3dvIDxuaWNvbG9waWF6emFsdW5nYUBnbWFpbC5j b20+CkRhdGU6IFNhdCwgMjUgSnVuIDIwMjIgMTg6MzM6NTcgKzAyMDAKU3ViamVjdDogW1BBVENI IDAzLzExXSB4YnBzOiBhZGQgcGF0Y2ggZm9yIG9wZW5zc2wsIENGTEFHCgotLS0KIHNyY3BrZ3Mv eGJwcy9wYXRjaGVzL29wZW5zc2wucGF0Y2ggfCAyMyArKysrKysrKysrKysrKysrKysrKysrKwog c3JjcGtncy94YnBzL3RlbXBsYXRlICAgICAgICAgICAgICB8ICAyICsrCiAyIGZpbGVzIGNoYW5n ZWQsIDI1IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3hicHMvcGF0 Y2hlcy9vcGVuc3NsLnBhdGNoCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy94YnBzL3BhdGNoZXMvb3Bl bnNzbC5wYXRjaCBiL3NyY3BrZ3MveGJwcy9wYXRjaGVzL29wZW5zc2wucGF0Y2gKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5jYTcyNzQ1NDI0MjIKLS0tIC9kZXYvbnVs bAorKysgYi9zcmNwa2dzL3hicHMvcGF0Y2hlcy9vcGVuc3NsLnBhdGNoCkBAIC0wLDAgKzEsMjMg QEAKK0Zyb20gZGIxNzY2OTg2YzQzODllYjdlMTdjMGUwMDc2OTcxYjcxMTYxN2VmOSBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEp1YW4gUlAgPHh0cmFlbWVAZ21haWwuY29tPgorRGF0 ZTogVGh1LCAxNiBBcHIgMjAyMCAxNDo1NzoxOCArMDIwMAorU3ViamVjdDogW1BBVENIXSBjb25m aWd1cmU6IGFjY2VwdCBhbnkgb3BlbnNzbCB2ZXJzaW9uLgorCistLS0KKyBjb25maWd1cmUgfCAy ICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2Rp ZmYgLS1naXQgYS9jb25maWd1cmUgYi9jb25maWd1cmUKK2luZGV4IGRhOGFlNzVmLi4zODNiYzky NyAxMDA3NTUKKy0tLSBhL2NvbmZpZ3VyZQorKysrIGIvY29uZmlndXJlCitAQCAtNzA0LDcgKzcw NCw3IEBAIGZpCisgIyBsaWJzc2wgd2l0aCBwa2ctY29uZmlnIHN1cHBvcnQgaXMgcmVxdWlyZWQu CisgIworIHByaW50ZiAiQ2hlY2tpbmcgZm9yIGxpYnNzbCB2aWEgcGtnLWNvbmZpZyAuLi4gIgor LWlmIHBrZy1jb25maWcgLS1leGlzdHMgJ2xpYnNzbCA8IDEuMicgJiYgISBwa2ctY29uZmlnIC0t ZXhpc3RzIGxpYnRscyA7IHRoZW4KKytpZiBwa2ctY29uZmlnIC0tZXhpc3RzICdsaWJzc2wnICYm ICEgcGtnLWNvbmZpZyAtLWV4aXN0cyBsaWJ0bHMgOyB0aGVuCisgCWVjaG8gImZvdW5kIE9wZW5T U0wgdmVyc2lvbiAkKHBrZy1jb25maWcgLS1tb2R2ZXJzaW9uIGxpYnNzbCkuIgorIGVsaWYgcGtn LWNvbmZpZyAtLWV4aXN0cyBsaWJzc2wgbGlidGxzOyB0aGVuCisgCWVjaG8gImZvdW5kIExpYnJl U1NMIHZlcnNpb24gJChwa2ctY29uZmlnIC0tbW9kdmVyc2lvbiBsaWJzc2wpLiIKKwpkaWZmIC0t Z2l0IGEvc3JjcGtncy94YnBzL3RlbXBsYXRlIGIvc3JjcGtncy94YnBzL3RlbXBsYXRlCmluZGV4 IDFjOTM3M2M0OThkYy4uMmE5MzBlNjJlYzI5IDEwMDY0NAotLS0gYS9zcmNwa2dzL3hicHMvdGVt cGxhdGUKKysrIGIvc3JjcGtncy94YnBzL3RlbXBsYXRlCkBAIC0yMCw2ICsyMCw4IEBAIGRlcGVu ZHM9ImNhLWNlcnRpZmljYXRlcyB4YnBzLXRyaWdnZXJzIgogbWFrZV9kaXJzPSIvZXRjL3hicHMu ZCAwNzU1IHJvb3Qgcm9vdCIKIAogTERGTEFHUz0iLWxkbCAtcHRocmVhZCIKKyMgb3BlbnNzbDMK K0NGTEFHUys9Ii1Xbm8tZXJyb3IiCiAKIGlmIFsgIiRDSFJPT1RfUkVBRFkiIF07IHRoZW4KIAlt YWtlZGVwZW5kcys9IiBhdGYtZGV2ZWwiCgpGcm9tIDZjM2RkN2IzZmU0NjQzZjU4YWI0OTA5NDRj OGExYjRkOTExNmU3M2MgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IGRrd28gPG5pY29s b3BpYXp6YWx1bmdhQGdtYWlsLmNvbT4KRGF0ZTogVGh1LCAyNiBKYW4gMjAyMyAxMzo0MToyNyAt MDUwMApTdWJqZWN0OiBbUEFUQ0ggMDQvMTFdIHZhbml0eWdlbjogcmVtb3ZlCgotLS0KIHNyY3Br Z3MvcmVtb3ZlZC1wYWNrYWdlcy90ZW1wbGF0ZSAgICAgICAgICAgICB8ICAgIDMgKy0KIC4uLjRh NjQ2ODczYzg0MzlkM2I1ZWUzYTIyNzhlNzI3NTc1NTIxZi5wYXRjaCB8IDExNzEgLS0tLS0tLS0t LS0tLS0tLS0KIC4uLjNlNmZmZjdkYTUyYzRhZWNiZDg5OGQ5ZGYyZTYwYTU2ZjEzNC5wYXRjaCB8 ICAgOTggLS0KIHNyY3BrZ3MvdmFuaXR5Z2VuL3RlbXBsYXRlICAgICAgICAgICAgICAgICAgICB8 ICAgMjEgLQogNCBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEyOTEgZGVsZXRpb25z KC0pCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy92YW5pdHlnZW4vcGF0Y2hlcy80YjgxNGE2 NDY4NzNjODQzOWQzYjVlZTNhMjI3OGU3Mjc1NzU1MjFmLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2 NDQgc3JjcGtncy92YW5pdHlnZW4vcGF0Y2hlcy81ZjE2M2U2ZmZmN2RhNTJjNGFlY2JkODk4ZDlk ZjJlNjBhNTZmMTM0LnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy92YW5pdHlnZW4v dGVtcGxhdGUKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3JlbW92ZWQtcGFja2FnZXMvdGVtcGxhdGUg Yi9zcmNwa2dzL3JlbW92ZWQtcGFja2FnZXMvdGVtcGxhdGUKaW5kZXggODUyOGFjNDYwYTBiLi5l Zjc4MWE0MTJlYjggMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcmVtb3ZlZC1wYWNrYWdlcy90ZW1wbGF0 ZQorKysgYi9zcmNwa2dzL3JlbW92ZWQtcGFja2FnZXMvdGVtcGxhdGUKQEAgLTEsNiArMSw2IEBA CiAjIFRlbXBsYXRlIGZpbGUgZm9yICdyZW1vdmVkLXBhY2thZ2VzJwogcGtnbmFtZT1yZW1vdmVk LXBhY2thZ2VzCi12ZXJzaW9uPTAuMS4yMDIzMDEyOQordmVyc2lvbj0wLjEuMjAyMzAxMzAKIHJl dmlzaW9uPTEKIGJ1aWxkX3N0eWxlPW1ldGEKIHNob3J0X2Rlc2M9IlVuaW5zdGFsbHMgcGFja2Fn ZXMgcmVtb3ZlZCBmcm9tIHJlcG9zaXRvcnkiCkBAIC01MTEsNiArNTExLDcgQEAgcmVwbGFjZXM9 IgogIHVybG1hdGNoLWdpdDw9MjAxNDExMTZfMgogIHV3c2dpLXB5dGhvbjw9Mi4wLjE4XzMKICB2 ODw9My4yNC4zNS4zM180CisgdmFuaXR5Z2VuPD0xLjUzXzIKICB2YXBvdXJzeW50aC1tdnRvb2xz PD0yM18yCiAgdmtkM2Q8PTEuM18xCiAgdm9sbm90aTw9MC4xXzEKZGlmZiAtLWdpdCBhL3NyY3Br Z3MvdmFuaXR5Z2VuL3BhdGNoZXMvNGI4MTRhNjQ2ODczYzg0MzlkM2I1ZWUzYTIyNzhlNzI3NTc1 NTIxZi5wYXRjaCBiL3NyY3BrZ3MvdmFuaXR5Z2VuL3BhdGNoZXMvNGI4MTRhNjQ2ODczYzg0Mzlk M2I1ZWUzYTIyNzhlNzI3NTc1NTIxZi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggNzRiZDU0ZGJmMGZiLi4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy92YW5pdHlnZW4vcGF0 Y2hlcy80YjgxNGE2NDY4NzNjODQzOWQzYjVlZTNhMjI3OGU3Mjc1NzU1MjFmLnBhdGNoCisrKyAv ZGV2L251bGwKQEAgLTEsMTE3MSArMCwwIEBACi1Gcm9tIDRiODE0YTY0Njg3M2M4NDM5ZDNiNWVl M2EyMjc4ZTcyNzU3NTUyMWYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbnRvbmlv IFNwYWRhcm8gPGlsb3ZlbGludXhAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgotRGF0ZTogU2F0 LCAyIEp1biAyMDE4IDIyOjI3OjUxICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIEZpeCBPcGVuU1NM IDEuMS4wIGluY29tcGF0aWJpbGl0aWVzICgjNTYpCi0KLSogRml4IG9wZW5zc2wgMS4xLjAgaW5j b21wYXRpYmlsaXRpZXMKLQotKiBSZXBsYWNlIEJOX01BU0syIHdpdGggMHhmZmZmZmZmZkwKLQot KiBGaXggb3RoZXIgb3BlbnNzbCAxLjEuMCBpbmNvbXBhdGliaWxpdGllcwotCi0qIEZpeCByZXRy b2NvbXBhdGliaWxpdHkgaXNzdWUKLQotKiBSZW1vdmUgQk5fYm4ybGViaW5wYWQgZHVlIHRvIGlu Y29tcGF0aWJpbGl0eQotCi0qIEZpeCBvdGhlciBpbmNvbXBhdGliaWxpdHkgZXJyb3JzCi0KLSog Rml4ZWQgcmV0cm9jb21wYXRpYmlsaXR5IChtYXliZSkuIFRoYW5rcyB0byAgQERlc1d1cnN0ZXMK LQotKiBGaXggT3BlblNTTCAxLjEgYW5kIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5Ci0tLS0KLSBr ZXljb252LmMgICB8ICAxOCArKy0tCi0gb2NsZW5naW5lLmMgfCAxMzAgKysrKysrKysrKysrKysr KysrLS0tLS0tLS0tCi0gcGF0dGVybi5jICAgfCAyNTIgKysrKysrKysrKysrKysrKysrKysrKysr KystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIHBhdHRlcm4uaCAgIHwgICA4ICstCi0gdXRp bC5jICAgICAgfCAgOTAgKysrKysrKysrLS0tLS0tLS0tLQotIHZhbml0eWdlbi5jIHwgIDE0ICst LQotIDYgZmlsZXMgY2hhbmdlZCwgMjc3IGluc2VydGlvbnMoKyksIDIzNSBkZWxldGlvbnMoLSkK LQotZGlmZiAtLWdpdCBhL2tleWNvbnYuYyBiL2tleWNvbnYuYwotaW5kZXggZjc0NzVlNS4uMzk0 YzNhMCAxMDA2NDQKLS0tLSBhL2tleWNvbnYuYwotKysrIGIva2V5Y29udi5jCi1AQCAtMTE2MCw3 ICsxMTYwLDcgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCi0gCi0gCWlmIChrZXkyX2lu KSB7Ci0gCQlCTl9DVFggKmJuY3R4OwotLQkJQklHTlVNIGJudG1wLCBibnRtcDI7Ci0rCQlCSUdO VU0gKmJudG1wLCAqYm50bXAyOwotIAkJRUNfS0VZICpwa2V5MjsKLSAKLSAJCXBrZXkyID0gRUNf S0VZX25ld19ieV9jdXJ2ZV9uYW1lKE5JRF9zZWNwMjU2azEpOwotQEAgLTExODIsMTkgKzExODIs MTkgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCi0gCQkJY29tcHJlc3NlZCA9IDE7Ci0g CQl9Ci0gCi0tCQlCTl9pbml0KCZibnRtcCk7Ci0tCQlCTl9pbml0KCZibnRtcDIpOwotKwkJYm50 bXAgPSBCTl9uZXcoKTsKLSsJCWJudG1wMiA9IEJOX25ldygpOwotIAkJYm5jdHggPSBCTl9DVFhf bmV3KCk7Ci0tCQlFQ19HUk9VUF9nZXRfb3JkZXIoRUNfS0VZX2dldDBfZ3JvdXAocGtleSksICZi bnRtcDIsIE5VTEwpOwotLQkJQk5fbW9kX2FkZCgmYm50bXAsCi0rCQlFQ19HUk9VUF9nZXRfb3Jk ZXIoRUNfS0VZX2dldDBfZ3JvdXAocGtleSksIGJudG1wMiwgTlVMTCk7Ci0rCQlCTl9tb2RfYWRk KGJudG1wLAotIAkJCSAgIEVDX0tFWV9nZXQwX3ByaXZhdGVfa2V5KHBrZXkpLAotIAkJCSAgIEVD X0tFWV9nZXQwX3ByaXZhdGVfa2V5KHBrZXkyKSwKLS0JCQkgICAmYm50bXAyLAotKwkJCSAgIGJu dG1wMiwKLSAJCQkgICBibmN0eCk7Ci0tCQl2Z19zZXRfcHJpdmtleSgmYm50bXAsIHBrZXkpOwot KwkJdmdfc2V0X3ByaXZrZXkoYm50bXAsIHBrZXkpOwotIAkJRUNfS0VZX2ZyZWUocGtleTIpOwot LQkJQk5fY2xlYXJfZnJlZSgmYm50bXApOwotLQkJQk5fY2xlYXJfZnJlZSgmYm50bXAyKTsKLSsJ CUJOX2NsZWFyX2ZyZWUoYm50bXApOwotKwkJQk5fY2xlYXJfZnJlZShibnRtcDIpOwotIAkJQk5f Q1RYX2ZyZWUoYm5jdHgpOwotIAl9Ci0gCi1kaWZmIC0tZ2l0IGEvb2NsZW5naW5lLmMgYi9vY2xl bmdpbmUuYwotaW5kZXggNDA4NWVkZC4uNmY2NTg0NiAxMDA2NDQKLS0tLSBhL29jbGVuZ2luZS5j Ci0rKysgYi9vY2xlbmdpbmUuYwotQEAgLTQzLDYgKzQzLDM0IEBACi0gI2luY2x1ZGUgInBhdHRl cm4uaCIKLSAjaW5jbHVkZSAidXRpbC5oIgotIAotKy8vIFVuZm9ydHVuYXRlbHkgd2UgbmVlZCB0 aGlzIQotKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSID49IDB4MDAxMDEwMDAwMAotKyNkZWZp bmUgUFBOVF9BUlJPV19YIHBwbnQtPlgKLSsjZGVmaW5lIFBQTlRfQVJST1dfWSBwcG50LT5ZCi0r I2RlZmluZSBQUE5UX0FSUk9XX1ogcHBudC0+WgotKyNkZWZpbmUgUFBTX0FSUk9XX1ggcHBzLT5Y Ci0rI2RlZmluZSBQUFNfQVJST1dfWSBwcHMtPlkKLSsjZGVmaW5lIFBQU19BUlJPV19aIHBwcy0+ WgotKyNkZWZpbmUgUFBUX0FSUk9XX1ggcHB0LT5YCi0rI2RlZmluZSBQUFRfQVJST1dfWSBwcHQt PlkKLSsjZGVmaW5lIFBQUl9BUlJPV19YIHBwci0+WAotKyNkZWZpbmUgUFBSX0FSUk9XX1kgcHBy LT5ZCi0rI2RlZmluZSBQUENfQVJST1dfWCBwcGMtPlgKLSsjZGVmaW5lIFBQQ19BUlJPV19ZIHBw Yy0+WQotKyNlbHNlCi0rI2RlZmluZSBQUE5UX0FSUk9XX1ggJnBwbnQtPlgKLSsjZGVmaW5lIFBQ TlRfQVJST1dfWSAmcHBudC0+WQotKyNkZWZpbmUgUFBOVF9BUlJPV19aICZwcG50LT5aCi0rI2Rl ZmluZSBQUFNfQVJST1dfWCAmcHBzLT5YCi0rI2RlZmluZSBQUFNfQVJST1dfWSAmcHBzLT5ZCi0r I2RlZmluZSBQUFNfQVJST1dfWiAmcHBzLT5aCi0rI2RlZmluZSBQUFRfQVJST1dfWCAmcHB0LT5Y Ci0rI2RlZmluZSBQUFRfQVJST1dfWSAmcHB0LT5ZCi0rI2RlZmluZSBQUFJfQVJST1dfWCAmcHBy LT5YCi0rI2RlZmluZSBQUFJfQVJST1dfWSAmcHByLT5ZCi0rI2RlZmluZSBQUENfQVJST1dfWCAm cHBjLT5YCi0rI2RlZmluZSBQUENfQVJST1dfWSAmcHBjLT5ZCi0rI2VuZGlmCi0gCi0gI2RlZmlu ZSBNQVhfU0xPVCAyCi0gI2RlZmluZSBNQVhfQVJHIDYKLUBAIC0xMzA3LDE0ICsxMzM1LDIxIEBA IHZnX29jbF9rZXJuZWxfd2FpdCh2Z19vY2xfY29udGV4dF90ICp2b2NwLCBpbnQgc2xvdCkKLSBz dGF0aWMgSU5MSU5FIHZvaWQKLSB2Z19vY2xfZ2V0X2JpZ251bV9yYXcoQklHTlVNICpibiwgY29u c3QgdW5zaWduZWQgY2hhciAqYnVmKQotIHsKLSsjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA+ PSAweDAwMTAxMDAwMDAKLSsJQk5fbGViaW4yYm4oYnVmLCAzMiwgYm4pOwotKyNlbHNlCi0gCWJu X2V4cGFuZChibiwgMjU2KTsKLSAJbWVtY3B5KGJuLT5kLCBidWYsIDMyKTsKLSAJYm4tPnRvcCA9 ICgzMiAvIHNpemVvZihCTl9VTE9ORykpOwotKyNlbmRpZgotIH0KLSAKLSBzdGF0aWMgSU5MSU5F IHZvaWQKLSB2Z19vY2xfcHV0X2JpZ251bV9yYXcodW5zaWduZWQgY2hhciAqYnVmLCBjb25zdCBC SUdOVU0gKmJuKQotIHsKLSsjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA+PSAweDAwMTAxMDAw MDAKLSsJQk5fYm4ybGViaW5wYWQoYm4sIGJ1ZiwgMzIpOwotKyNlbHNlCi0gCWludCBibmxlbiA9 IChibi0+dG9wICogc2l6ZW9mKEJOX1VMT05HKSk7Ci0gCWlmIChibmxlbiA+PSAzMikgewotIAkJ bWVtY3B5KGJ1ZiwgYm4tPmQsIDMyKTsKLUBAIC0xMzIyLDYgKzEzNTcsNyBAQCB2Z19vY2xfcHV0 X2JpZ251bV9yYXcodW5zaWduZWQgY2hhciAqYnVmLCBjb25zdCBCSUdOVU0gKmJuKQotIAkJbWVt Y3B5KGJ1ZiwgYm4tPmQsIGJubGVuKTsKLSAJCW1lbXNldChidWYgKyBibmxlbiwgMCwgMzIgLSBi bmxlbik7Ci0gCX0KLSsjZW5kaWYKLSB9Ci0gCi0gI2RlZmluZSBBQ0NFU1NfQlVORExFIDEwMjQK LUBAIC0xMzUxLDkgKzEzODcsMTUgQEAgdmdfb2NsX2dldF9iaWdudW1fdHBhKEJJR05VTSAqYm4s IGNvbnN0IHVuc2lnbmVkIGNoYXIgKmJ1ZiwgaW50IGNlbGwpCi0gCi0gc3RydWN0IGVjX3BvaW50 X3N0IHsKLSAJY29uc3QgRUNfTUVUSE9EICptZXRoOwotKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVN QkVSID49IDB4MDAxMDEwMDAwMAotKwlCSUdOVU0gKlg7Ci0rCUJJR05VTSAqWTsKLSsJQklHTlVN ICpaOwotKyNlbHNlCi0gCUJJR05VTSBYOwotIAlCSUdOVU0gWTsKLSAJQklHTlVNIFo7Ci0rI2Vu ZGlmCi0gCWludCBaX2lzX29uZTsKLSB9OwotIAotQEAgLTEzNjEsMTEgKzE0MDMsMTEgQEAgc3Rh dGljIElOTElORSB2b2lkCi0gdmdfb2NsX2dldF9wb2ludChFQ19QT0lOVCAqcHBudCwgY29uc3Qg dW5zaWduZWQgY2hhciAqYnVmKQotIHsKLSAJc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgbW9u dF9vbmVbXSA9IHsgMHgwMSwweDAwLDB4MDAsMHgwMywweGQxIH07Ci0tCXZnX29jbF9nZXRfYmln bnVtX3JhdygmcHBudC0+WCwgYnVmKTsKLS0Jdmdfb2NsX2dldF9iaWdudW1fcmF3KCZwcG50LT5Z LCBidWYgKyAzMik7Ci0rCXZnX29jbF9nZXRfYmlnbnVtX3JhdyhQUE5UX0FSUk9XX1gsIGJ1Zik7 Ci0rCXZnX29jbF9nZXRfYmlnbnVtX3JhdyhQUE5UX0FSUk9XX1ksIGJ1ZiArIDMyKTsKLSAJaWYg KCFwcG50LT5aX2lzX29uZSkgewotIAkJcHBudC0+Wl9pc19vbmUgPSAxOwotLQkJQk5fYmluMmJu KG1vbnRfb25lLCBzaXplb2YobW9udF9vbmUpLCAmcHBudC0+Wik7Ci0rCQlCTl9iaW4yYm4obW9u dF9vbmUsIHNpemVvZihtb250X29uZSksIFBQTlRfQVJST1dfWik7Ci0gCX0KLSB9Ci0gCi1AQCAt MTM3Myw4ICsxNDE1LDggQEAgc3RhdGljIElOTElORSB2b2lkCi0gdmdfb2NsX3B1dF9wb2ludCh1 bnNpZ25lZCBjaGFyICpidWYsIGNvbnN0IEVDX1BPSU5UICpwcG50KQotIHsKLSAJYXNzZXJ0KHBw bnQtPlpfaXNfb25lKTsKLS0Jdmdfb2NsX3B1dF9iaWdudW1fcmF3KGJ1ZiwgJnBwbnQtPlgpOwot LQl2Z19vY2xfcHV0X2JpZ251bV9yYXcoYnVmICsgMzIsICZwcG50LT5ZKTsKLSsJdmdfb2NsX3B1 dF9iaWdudW1fcmF3KGJ1ZiwgUFBOVF9BUlJPV19YKTsKLSsJdmdfb2NsX3B1dF9iaWdudW1fcmF3 KGJ1ZiArIDMyLCBQUE5UX0FSUk9XX1kpOwotIH0KLSAKLSBzdGF0aWMgdm9pZAotQEAgLTE2NjIs NyArMTcwNCw3IEBAIHZnX29jbF92ZXJpZnlfdGVtcG9yYXJ5KHZnX29jbF9jb250ZXh0X3QgKnZv Y3AsIGludCBzbG90LCBpbnQgel9pbnZlcnRlZCkKLSAJdW5zaWduZWQgY2hhciAqb2NsX3BvaW50 c19pbiA9IE5VTEwsICpvY2xfc3RyaWRlc19pbiA9IE5VTEw7Ci0gCWNvbnN0IEVDX0dST1VQICpw Z3JvdXA7Ci0gCUVDX1BPSU5UICpwcHIgPSBOVUxMLCAqcHBjID0gTlVMTCwgKnBwcyA9IE5VTEws ICpwcHQgPSBOVUxMOwotLQlCSUdOVU0gYm56LCBibmV6LCBibm0sICpibnpjOwotKwlCSUdOVU0g KmJueiwgKmJuZXosICpibm0sICpibnpjOwotIAlCTl9DVFggKmJuY3R4ID0gTlVMTDsKLSAJQk5f TU9OVF9DVFggKmJubW9udDsKLSAJaW50IHJldCA9IDA7Ci1AQCAtMTY3NSw5ICsxNzE3LDkgQEAg dmdfb2NsX3ZlcmlmeV90ZW1wb3Jhcnkodmdfb2NsX2NvbnRleHRfdCAqdm9jcCwgaW50IHNsb3Qs IGludCB6X2ludmVydGVkKQotIAkJMHhGRiwweEZGLDB4RkYsMHhGRSwweEZGLDB4RkYsMHhGQyww eDJGCi0gCX07Ci0gCi0tCUJOX2luaXQoJmJueik7Ci0tCUJOX2luaXQoJmJuZXopOwotLQlCTl9p bml0KCZibm0pOwotKwlibnogPSBCTl9uZXcoKTsKLSsJYm5leiA9IEJOX25ldygpOwotKwlibm0g PSBCTl9uZXcoKTsKLSAKLSAJYm5jdHggPSBCTl9DVFhfbmV3KCk7Ci0gCWJubW9udCA9IEJOX01P TlRfQ1RYX25ldygpOwotQEAgLTE2OTIsMTMgKzE3MzQsMTMgQEAgdmdfb2NsX3ZlcmlmeV90ZW1w b3Jhcnkodmdfb2NsX2NvbnRleHRfdCAqdm9jcCwgaW50IHNsb3QsIGludCB6X2ludmVydGVkKQot IAkJZ290byBvdXQ7Ci0gCX0KLSAKLS0JQk5fYmluMmJuKHJhd19tb2R1bHVzLCBzaXplb2YocmF3 X21vZHVsdXMpLCAmYm5tKTsKLS0JQk5fTU9OVF9DVFhfc2V0KGJubW9udCwgJmJubSwgYm5jdHgp OwotKwlCTl9iaW4yYm4ocmF3X21vZHVsdXMsIHNpemVvZihyYXdfbW9kdWx1cyksIGJubSk7Ci0r CUJOX01PTlRfQ1RYX3NldChibm1vbnQsIGJubSwgYm5jdHgpOwotIAotIAlpZiAoel9pbnZlcnRl ZCkgewotLQkJYm56YyA9ICZibmV6OwotKwkJYm56YyA9IGJuZXo7Ci0gCX0gZWxzZSB7Ci0tCQli bnpjID0gJnBwcy0+WjsKLSsJCWJuemMgPSBQUFNfQVJST1dfWjsKLSAJfQotIAotIAl6X2hlYXAg PSAodW5zaWduZWQgY2hhciAqKQotQEAgLTE3MjYsMTUgKzE3NjgsMTUgQEAgdmdfb2NsX3Zlcmlm eV90ZW1wb3Jhcnkodmdfb2NsX2NvbnRleHRfdCAqdm9jcCwgaW50IHNsb3QsIGludCB6X2ludmVy dGVkKQotIAkJCUVDX1BPSU5UX2FkZChwZ3JvdXAsIHBwcywgcHBjLCBwcHIsIGJuY3R4KTsKLSAJ CQlhc3NlcnQoIXBwcy0+Wl9pc19vbmUpOwotIAkJCXZnX29jbF9nZXRfcG9pbnRfdHBhKHBwdCwg cG9pbnRfdG1wLCBieCArIHgpOwotLQkJCXZnX29jbF9nZXRfYmlnbnVtX3RwYSgmYm56LCB6X2hl YXAsIGJ4ICsgeCk7Ci0rCQkJdmdfb2NsX2dldF9iaWdudW1fdHBhKGJueiwgel9oZWFwLCBieCAr IHgpOwotIAkJCWlmICh6X2ludmVydGVkKSB7Ci0tCQkJCUJOX21vZF9pbnZlcnNlKCZibmV6LCAm cHBzLT5aLCAmYm5tLCBibmN0eCk7Ci0tCQkJCUJOX3RvX21vbnRnb21lcnkoJmJuZXosICZibmV6 LCBibm1vbnQsIGJuY3R4KTsKLS0JCQkJQk5fdG9fbW9udGdvbWVyeSgmYm5leiwgJmJuZXosIGJu bW9udCwgYm5jdHgpOwotKwkJCQlCTl9tb2RfaW52ZXJzZShibmV6LCBQUFNfQVJST1dfWiwgYm5t LCBibmN0eCk7Ci0rCQkJCUJOX3RvX21vbnRnb21lcnkoYm5leiwgYm5leiwgYm5tb250LCBibmN0 eCk7Ci0rCQkJCUJOX3RvX21vbnRnb21lcnkoYm5leiwgYm5leiwgYm5tb250LCBibmN0eCk7Ci0g CQkJfQotLQkJCWlmIChCTl9jbXAoJnBwdC0+WCwgJnBwcy0+WCkgfHwKLS0JCQkgICAgQk5fY21w KCZwcHQtPlksICZwcHMtPlkpIHx8Ci0tCQkJICAgIEJOX2NtcCgmYm56LCBibnpjKSkgewotKwkJ CWlmIChCTl9jbXAoUFBUX0FSUk9XX1gsIFBQU19BUlJPV19YKSB8fAotKwkJCSAgICBCTl9jbXAo UFBUX0FSUk9XX1ksIFBQU19BUlJPV19ZKSB8fAotKwkJCSAgICBCTl9jbXAoYm56LCBibnpjKSkg ewotIAkJCQlpZiAoIW1pc21hdGNoZXMpIHsKLSAJCQkJCWZwcmludGYoc3RkZXJyLCAiQmFzZSBw cml2a2V5OiAiKTsKLSAJCQkJCWZkdW1wYm4oc3RkZXJyLCBFQ19LRVlfZ2V0MF9wcml2YXRlX2tl eSgKLUBAIC0xNzQ3LDMzICsxNzg5LDMzIEBAIHZnX29jbF92ZXJpZnlfdGVtcG9yYXJ5KHZnX29j bF9jb250ZXh0X3QgKnZvY3AsIGludCBzbG90LCBpbnQgel9pbnZlcnRlZCkKLSAJCQkJaWYgKCFt bV9yKSB7Ci0gCQkJCQltbV9yID0gMTsKLSAJCQkJCWZwcmludGYoc3RkZXJyLCAiUm93IFggICA6 ICIpOwotLQkJCQkJZmR1bXBibihzdGRlcnIsICZwcHItPlgpOwotKwkJCQkJZmR1bXBibihzdGRl cnIsIFBQUl9BUlJPV19YKTsKLSAJCQkJCWZwcmludGYoc3RkZXJyLCAiUm93IFkgICA6ICIpOwot LQkJCQkJZmR1bXBibihzdGRlcnIsICZwcHItPlkpOwotKwkJCQkJZmR1bXBibihzdGRlcnIsIFBQ U19BUlJPV19ZKTsKLSAJCQkJfQotIAotIAkJCQlmcHJpbnRmKHN0ZGVyciwgIkNvbHVtbiBYOiAi KTsKLS0JCQkJZmR1bXBibihzdGRlcnIsICZwcGMtPlgpOwotKwkJCQlmZHVtcGJuKHN0ZGVyciwg UFBDX0FSUk9XX1gpOwotIAkJCQlmcHJpbnRmKHN0ZGVyciwgIkNvbHVtbiBZOiAiKTsKLS0JCQkJ ZmR1bXBibihzdGRlcnIsICZwcGMtPlkpOwotKwkJCQlmZHVtcGJuKHN0ZGVyciwgUFBDX0FSUk9X X1kpOwotIAotLQkJCQlpZiAoQk5fY21wKCZwcHQtPlgsICZwcHMtPlgpKSB7Ci0rCQkJCWlmIChC Tl9jbXAoUFBUX0FSUk9XX1gsIFBQU19BUlJPV19YKSkgewotIAkJCQkJZnByaW50ZihzdGRlcnIs ICJFeHBlY3QgWDogIik7Ci0tCQkJCQlmZHVtcGJuKHN0ZGVyciwgJnBwcy0+WCk7Ci0rCQkJCQlm ZHVtcGJuKHN0ZGVyciwgUFBTX0FSUk9XX1gpOwotIAkJCQkJZnByaW50ZihzdGRlcnIsICJEZXZp Y2UgWDogIik7Ci0tCQkJCQlmZHVtcGJuKHN0ZGVyciwgJnBwdC0+WCk7Ci0rCQkJCQlmZHVtcGJu KHN0ZGVyciwgUFBUX0FSUk9XX1gpOwotIAkJCQl9Ci0tCQkJCWlmIChCTl9jbXAoJnBwdC0+WSwg JnBwcy0+WSkpIHsKLSsJCQkJaWYgKEJOX2NtcChQUFRfQVJST1dfWSwgUFBTX0FSUk9XX1kpKSB7 Ci0gCQkJCQlmcHJpbnRmKHN0ZGVyciwgIkV4cGVjdCBZOiAiKTsKLS0JCQkJCWZkdW1wYm4oc3Rk ZXJyLCAmcHBzLT5ZKTsKLSsJCQkJCWZkdW1wYm4oc3RkZXJyLCBQUFNfQVJST1dfWSk7Ci0gCQkJ CQlmcHJpbnRmKHN0ZGVyciwgIkRldmljZSBZOiAiKTsKLS0JCQkJCWZkdW1wYm4oc3RkZXJyLCAm cHB0LT5ZKTsKLSsJCQkJCWZkdW1wYm4oc3RkZXJyLCBQUFRfQVJST1dfWSk7Ci0gCQkJCX0KLS0J CQkJaWYgKEJOX2NtcCgmYm56LCBibnpjKSkgewotKwkJCQlpZiAoQk5fY21wKGJueiwgYm56Yykp IHsKLSAJCQkJCWZwcmludGYoc3RkZXJyLCAiRXhwZWN0IFo6ICIpOwotIAkJCQkJZmR1bXBibihz dGRlcnIsIGJuemMpOwotIAkJCQkJZnByaW50ZihzdGRlcnIsICJEZXZpY2UgWjogIik7Ci0tCQkJ CQlmZHVtcGJuKHN0ZGVyciwgJmJueik7Ci0rCQkJCQlmZHVtcGJuKHN0ZGVyciwgYm56KTsKLSAJ CQkJfQotIAkJCX0KLSAJCX0KLUBAIC0xNzk4LDkgKzE4NDAsOSBAQCB2Z19vY2xfdmVyaWZ5X3Rl bXBvcmFyeSh2Z19vY2xfY29udGV4dF90ICp2b2NwLCBpbnQgc2xvdCwgaW50IHpfaW52ZXJ0ZWQp Ci0gCQlFQ19QT0lOVF9mcmVlKHBwcyk7Ci0gCWlmIChwcHQpCi0gCQlFQ19QT0lOVF9mcmVlKHBw dCk7Ci0tCUJOX2NsZWFyX2ZyZWUoJmJueik7Ci0tCUJOX2NsZWFyX2ZyZWUoJmJuZXopOwotLQlC Tl9jbGVhcl9mcmVlKCZibm0pOwotKwlCTl9jbGVhcl9mcmVlKGJueik7Ci0rCUJOX2NsZWFyX2Zy ZWUoYm5leik7Ci0rCUJOX2NsZWFyX2ZyZWUoYm5tKTsKLSAJaWYgKGJubW9udCkKLSAJCUJOX01P TlRfQ1RYX2ZyZWUoYm5tb250KTsKLSAJaWYgKGJuY3R4KQotQEAgLTE5NzEsMTMgKzIwMTMsMTMg QEAgdmdfb3BlbmNsX2xvb3AodmdfZXhlY19jb250ZXh0X3QgKmFyZykKLSAJaWYgKCFwYmF0Y2hp bmMgfHwgIXBvZmZzZXQgfHwgIXBzZWVrKQotIAkJZ290byBlbm9tZW07Ci0gCi0tCUJOX3NldF93 b3JkKCZ2eGNwLT52eGNfYm50bXAsIG5jb2xzKTsKLS0JRUNfUE9JTlRfbXVsKHBncm91cCwgcGJh dGNoaW5jLCAmdnhjcC0+dnhjX2JudG1wLCBOVUxMLCBOVUxMLAotKwlCTl9zZXRfd29yZCh2eGNw LT52eGNfYm50bXAsIG5jb2xzKTsKLSsJRUNfUE9JTlRfbXVsKHBncm91cCwgcGJhdGNoaW5jLCB2 eGNwLT52eGNfYm50bXAsIE5VTEwsIE5VTEwsCi0gCQkgICAgIHZ4Y3AtPnZ4Y19ibmN0eCk7Ci0g CUVDX1BPSU5UX21ha2VfYWZmaW5lKHBncm91cCwgcGJhdGNoaW5jLCB2eGNwLT52eGNfYm5jdHgp OwotIAotLQlCTl9zZXRfd29yZCgmdnhjcC0+dnhjX2JudG1wLCByb3VuZCk7Ci0tCUVDX1BPSU5U X211bChwZ3JvdXAsIHBvZmZzZXQsICZ2eGNwLT52eGNfYm50bXAsIE5VTEwsIE5VTEwsCi0rCUJO X3NldF93b3JkKHZ4Y3AtPnZ4Y19ibnRtcCwgcm91bmQpOwotKwlFQ19QT0lOVF9tdWwocGdyb3Vw LCBwb2Zmc2V0LCB2eGNwLT52eGNfYm50bXAsIE5VTEwsIE5VTEwsCi0gCQkgICAgIHZ4Y3AtPnZ4 Y19ibmN0eCk7Ci0gCUVDX1BPSU5UX21ha2VfYWZmaW5lKHBncm91cCwgcG9mZnNldCwgdnhjcC0+ dnhjX2JuY3R4KTsKLSAKLUBAIC0yMDQ2LDEyICsyMDg4LDEyIEBAIHZnX29wZW5jbF9sb29wKHZn X2V4ZWNfY29udGV4dF90ICphcmcpCi0gCX0KLSAKLSAJLyogRGV0ZXJtaW5lIHJla2V5IGludGVy dmFsICovCi0tCUVDX0dST1VQX2dldF9vcmRlcihwZ3JvdXAsICZ2eGNwLT52eGNfYm50bXAsIHZ4 Y3AtPnZ4Y19ibmN0eCk7Ci0tCUJOX3N1YigmdnhjcC0+dnhjX2JudG1wMiwKLS0JICAgICAgICZ2 eGNwLT52eGNfYm50bXAsCi0rCUVDX0dST1VQX2dldF9vcmRlcihwZ3JvdXAsIHZ4Y3AtPnZ4Y19i bnRtcCwgdnhjcC0+dnhjX2JuY3R4KTsKLSsJQk5fc3ViKHZ4Y3AtPnZ4Y19ibnRtcDIsCi0rCSAg ICAgICB2eGNwLT52eGNfYm50bXAsCi0gCSAgICAgICBFQ19LRVlfZ2V0MF9wcml2YXRlX2tleShw a2V5KSk7Ci0tCXJla2V5X2F0ID0gQk5fZ2V0X3dvcmQoJnZ4Y3AtPnZ4Y19ibnRtcDIpOwotLQlp ZiAoKHJla2V5X2F0ID09IEJOX01BU0syKSB8fCAocmVrZXlfYXQgPiByZWtleV9tYXgpKQotKwly ZWtleV9hdCA9IEJOX2dldF93b3JkKHZ4Y3AtPnZ4Y19ibnRtcDIpOwotKwlpZiAoKHJla2V5X2F0 ID09IDB4ZmZmZmZmZmZMKSB8fCAocmVrZXlfYXQgPiByZWtleV9tYXgpKQotIAkJcmVrZXlfYXQg PSByZWtleV9tYXg7Ci0gCWFzc2VydChyZWtleV9hdCA+IDApOwotIAotZGlmZiAtLWdpdCBhL3Bh dHRlcm4uYyBiL3BhdHRlcm4uYwotaW5kZXggYjg0MzM0ZS4uNTY3M2E3ZSAxMDA2NDQKLS0tLSBh L3BhdHRlcm4uYwotKysrIGIvcGF0dGVybi5jCi1AQCAtMTUxLDEyICsxNTEsMTIgQEAgdmdfZXhl Y19jb250ZXh0X2luaXQodmdfY29udGV4dF90ICp2Y3AsIHZnX2V4ZWNfY29udGV4dF90ICp2eGNw KQotIAotIAl2eGNwLT52eGNfdmMgPSB2Y3A7Ci0gCi0tCUJOX2luaXQoJnZ4Y3AtPnZ4Y19ibnRh cmcpOwotLQlCTl9pbml0KCZ2eGNwLT52eGNfYm5iYXNlKTsKLS0JQk5faW5pdCgmdnhjcC0+dnhj X2JudG1wKTsKLS0JQk5faW5pdCgmdnhjcC0+dnhjX2JudG1wMik7Ci0rCXZ4Y3AtPnZ4Y19ibnRh cmcgPSBCTl9uZXcoKTsKLSsJdnhjcC0+dnhjX2JuYmFzZSA9IEJOX25ldygpOwotKwl2eGNwLT52 eGNfYm50bXAgPSBCTl9uZXcoKTsKLSsJdnhjcC0+dnhjX2JudG1wMiA9IEJOX25ldygpOwotIAot LQlCTl9zZXRfd29yZCgmdnhjcC0+dnhjX2JuYmFzZSwgNTgpOwotKwlCTl9zZXRfd29yZCh2eGNw LT52eGNfYm5iYXNlLCA1OCk7Ci0gCi0gCXZ4Y3AtPnZ4Y19ibmN0eCA9IEJOX0NUWF9uZXcoKTsK LSAJYXNzZXJ0KHZ4Y3AtPnZ4Y19ibmN0eCk7Ci1AQCAtMTk2LDEwICsxOTYsMTAgQEAgdmdfZXhl Y19jb250ZXh0X2RlbCh2Z19leGVjX2NvbnRleHRfdCAqdnhjcCkKLSAJaWYgKHRwLT52eGNfc3Rv cCkKLSAJCXB0aHJlYWRfY29uZF9zaWduYWwoJnZnX3RocmVhZF91cGNvbmQpOwotIAotLQlCTl9j bGVhcl9mcmVlKCZ2eGNwLT52eGNfYm50YXJnKTsKLS0JQk5fY2xlYXJfZnJlZSgmdnhjcC0+dnhj X2JuYmFzZSk7Ci0tCUJOX2NsZWFyX2ZyZWUoJnZ4Y3AtPnZ4Y19ibnRtcCk7Ci0tCUJOX2NsZWFy X2ZyZWUoJnZ4Y3AtPnZ4Y19ibnRtcDIpOwotKwlCTl9jbGVhcl9mcmVlKHZ4Y3AtPnZ4Y19ibnRh cmcpOwotKwlCTl9jbGVhcl9mcmVlKHZ4Y3AtPnZ4Y19ibmJhc2UpOwotKwlCTl9jbGVhcl9mcmVl KHZ4Y3AtPnZ4Y19ibnRtcCk7Ci0rCUJOX2NsZWFyX2ZyZWUodnhjcC0+dnhjX2JudG1wMik7Ci0g CUJOX0NUWF9mcmVlKHZ4Y3AtPnZ4Y19ibmN0eCk7Ci0gCXZ4Y3AtPnZ4Y19ibmN0eCA9IE5VTEw7 Ci0gCXB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZ2Z190aHJlYWRfbG9jayk7Ci1AQCAtMjI1LDEyICsy MjUsMTIgQEAgdm9pZAotIHZnX2V4ZWNfY29udGV4dF9jb25zb2xpZGF0ZV9rZXkodmdfZXhlY19j b250ZXh0X3QgKnZ4Y3ApCi0gewotIAlpZiAodnhjcC0+dnhjX2RlbHRhKSB7Ci0tCQlCTl9jbGVh cigmdnhjcC0+dnhjX2JudG1wKTsKLS0JCUJOX3NldF93b3JkKCZ2eGNwLT52eGNfYm50bXAsIHZ4 Y3AtPnZ4Y19kZWx0YSk7Ci0tCQlCTl9hZGQoJnZ4Y3AtPnZ4Y19ibnRtcDIsCi0rCQlCTl9jbGVh cih2eGNwLT52eGNfYm50bXApOwotKwkJQk5fc2V0X3dvcmQodnhjcC0+dnhjX2JudG1wLCB2eGNw LT52eGNfZGVsdGEpOwotKwkJQk5fYWRkKHZ4Y3AtPnZ4Y19ibnRtcDIsCi0gCQkgICAgICAgRUNf S0VZX2dldDBfcHJpdmF0ZV9rZXkodnhjcC0+dnhjX2tleSksCi0tCQkgICAgICAgJnZ4Y3AtPnZ4 Y19ibnRtcCk7Ci0tCQl2Z19zZXRfcHJpdmtleSgmdnhjcC0+dnhjX2JudG1wMiwgdnhjcC0+dnhj X2tleSk7Ci0rCQkgICAgICAgdnhjcC0+dnhjX2JudG1wKTsKLSsJCXZnX3NldF9wcml2a2V5KHZ4 Y3AtPnZ4Y19ibnRtcDIsIHZ4Y3AtPnZ4Y19rZXkpOwotIAkJdnhjcC0+dnhjX2RlbHRhID0gMDsK LSAJfQotIH0KLUBAIC03NTEsMjAgKzc1MSwyMCBAQCBnZXRfcHJlZml4X3JhbmdlcyhpbnQgYWRk cnR5cGUsIGNvbnN0IGNoYXIgKnBmeCwgQklHTlVNICoqcmVzdWx0LAotIAlpbnQgYjU4cG93LCBi NThjZWlsLCBiNTh0b3AgPSAwOwotIAlpbnQgcmV0ID0gLTE7Ci0gCi0tCUJJR05VTSBibnRhcmcs IGJuY2VpbCwgYm5mbG9vcjsKLS0JQklHTlVNIGJuYmFzZTsKLSsJQklHTlVNICpibnRhcmcsICpi bmNlaWwsICpibmZsb29yOwotKwlCSUdOVU0gKmJuYmFzZTsKLSAJQklHTlVNICpibmFwLCAqYm5i cCwgKmJudHA7Ci0gCUJJR05VTSAqYm5oaWdoID0gTlVMTCwgKmJubG93ID0gTlVMTCwgKmJuaGln aDIgPSBOVUxMLCAqYm5sb3cyID0gTlVMTDsKLS0JQklHTlVNIGJudG1wLCBibnRtcDI7Ci0rCUJJ R05VTSAqYm50bXAsICpibnRtcDI7Ci0gCi0tCUJOX2luaXQoJmJudGFyZyk7Ci0tCUJOX2luaXQo JmJuY2VpbCk7Ci0tCUJOX2luaXQoJmJuZmxvb3IpOwotLQlCTl9pbml0KCZibmJhc2UpOwotLQlC Tl9pbml0KCZibnRtcCk7Ci0tCUJOX2luaXQoJmJudG1wMik7Ci0rCWJudGFyZyA9IEJOX25ldygp OwotKwlibmNlaWwgPSBCTl9uZXcoKTsKLSsJYm5mbG9vciA9IEJOX25ldygpOwotKwlibmJhc2Ug PSBCTl9uZXcoKTsKLSsJYm50bXAgPSBCTl9uZXcoKTsKLSsJYm50bXAyID0gQk5fbmV3KCk7Ci0g Ci0tCUJOX3NldF93b3JkKCZibmJhc2UsIDU4KTsKLSsJQk5fc2V0X3dvcmQoYm5iYXNlLCA1OCk7 Ci0gCi0gCXAgPSBzdHJsZW4ocGZ4KTsKLSAKLUBAIC03OTEsMjAgKzc5MSwyMCBAQCBnZXRfcHJl Zml4X3JhbmdlcyhpbnQgYWRkcnR5cGUsIGNvbnN0IGNoYXIgKnBmeCwgQklHTlVNICoqcmVzdWx0 LAotIAotIAkJCS8qIEZpcnN0IG5vbi16ZXJvIGNoYXJhY3RlciAqLwotIAkJCWI1OHRvcCA9IGM7 Ci0tCQkJQk5fc2V0X3dvcmQoJmJudGFyZywgYyk7Ci0rCQkJQk5fc2V0X3dvcmQoYm50YXJnLCBj KTsKLSAKLSAJCX0gZWxzZSB7Ci0tCQkJQk5fc2V0X3dvcmQoJmJudG1wMiwgYyk7Ci0tCQkJQk5f bXVsKCZibnRtcCwgJmJudGFyZywgJmJuYmFzZSwgYm5jdHgpOwotLQkJCUJOX2FkZCgmYm50YXJn LCAmYm50bXAsICZibnRtcDIpOwotKwkJCUJOX3NldF93b3JkKGJudG1wMiwgYyk7Ci0rCQkJQk5f bXVsKGJudG1wLCBibnRhcmcsIGJuYmFzZSwgYm5jdHgpOwotKwkJCUJOX2FkZChibnRhcmcsIGJu dG1wLCBibnRtcDIpOwotIAkJfQotIAl9Ci0gCi0gCS8qIFBvd2VyLW9mLXR3byBjZWlsaW5nIGFu ZCBmbG9vciB2YWx1ZXMgYmFzZWQgb24gbGVhZGluZyAxcyAqLwotLQlCTl9jbGVhcigmYm50bXAp OwotLQlCTl9zZXRfYml0KCZibnRtcCwgMjAwIC0gKHplcm9fcHJlZml4ICogOCkpOwotLQlCTl9z dWIoJmJuY2VpbCwgJmJudG1wLCBCTl92YWx1ZV9vbmUoKSk7Ci0tCUJOX3NldF9iaXQoJmJuZmxv b3IsIDE5MiAtICh6ZXJvX3ByZWZpeCAqIDgpKTsKLSsJQk5fY2xlYXIoYm50bXApOwotKwlCTl9z ZXRfYml0KGJudG1wLCAyMDAgLSAoemVyb19wcmVmaXggKiA4KSk7Ci0rCUJOX3N1YihibmNlaWws IGJudG1wLCBCTl92YWx1ZV9vbmUoKSk7Ci0rCUJOX3NldF9iaXQoYm5mbG9vciwgMTkyIC0gKHpl cm9fcHJlZml4ICogOCkpOwotIAotIAlibmxvdyA9IEJOX25ldygpOwotIAlibmhpZ2ggPSBCTl9u ZXcoKTsKLUBAIC04MTUsMTMgKzgxNSwxMyBAQCBnZXRfcHJlZml4X3JhbmdlcyhpbnQgYWRkcnR5 cGUsIGNvbnN0IGNoYXIgKnBmeCwgQklHTlVNICoqcmVzdWx0LAotIAkJICogbnVtZXJpYyBib3Vu ZGFyaWVzIG9mIHRoZSBwcmVmaXguCi0gCQkgKi8KLSAKLS0JCUJOX2NvcHkoJmJudG1wLCAmYm5j ZWlsKTsKLS0JCWJuYXAgPSAmYm50bXA7Ci0tCQlibmJwID0gJmJudG1wMjsKLSsJCUJOX2NvcHko Ym50bXAsIGJuY2VpbCk7Ci0rCQlibmFwID0gYm50bXA7Ci0rCQlibmJwID0gYm50bXAyOwotIAkJ YjU4cG93ID0gMDsKLS0JCXdoaWxlIChCTl9jbXAoYm5hcCwgJmJuYmFzZSkgPiAwKSB7Ci0rCQl3 aGlsZSAoQk5fY21wKGJuYXAsIGJuYmFzZSkgPiAwKSB7Ci0gCQkJYjU4cG93Kys7Ci0tCQkJQk5f ZGl2KGJuYnAsIE5VTEwsIGJuYXAsICZibmJhc2UsIGJuY3R4KTsKLSsJCQlCTl9kaXYoYm5icCwg TlVMTCwgYm5hcCwgYm5iYXNlLCBibmN0eCk7Ci0gCQkJYm50cCA9IGJuYXA7Ci0gCQkJYm5hcCA9 IGJuYnA7Ci0gCQkJYm5icCA9IGJudHA7Ci1AQCAtODM3LDExICs4MzcsMTEgQEAgZ2V0X3ByZWZp eF9yYW5nZXMoaW50IGFkZHJ0eXBlLCBjb25zdCBjaGFyICpwZngsIEJJR05VTSAqKnJlc3VsdCwK LSAJCQkvKiBnb3RvIG91dDsgKi8KLSAJCX0KLSAKLS0JCUJOX3NldF93b3JkKCZibnRtcDIsIGI1 OHBvdyAtIChwIC0gemVyb19wcmVmaXgpKTsKLS0JCUJOX2V4cCgmYm50bXAsICZibmJhc2UsICZi bnRtcDIsIGJuY3R4KTsKLS0JCUJOX211bChibmxvdywgJmJudG1wLCAmYm50YXJnLCBibmN0eCk7 Ci0tCQlCTl9zdWIoJmJudG1wMiwgJmJudG1wLCBCTl92YWx1ZV9vbmUoKSk7Ci0tCQlCTl9hZGQo Ym5oaWdoLCBibmxvdywgJmJudG1wMik7Ci0rCQlCTl9zZXRfd29yZChibnRtcDIsIGI1OHBvdyAt IChwIC0gemVyb19wcmVmaXgpKTsKLSsJCUJOX2V4cChibnRtcCwgYm5iYXNlLCBibnRtcDIsIGJu Y3R4KTsKLSsJCUJOX211bChibmxvdywgYm50bXAsIGJudGFyZywgYm5jdHgpOwotKwkJQk5fc3Vi KGJudG1wMiwgYm50bXAsIEJOX3ZhbHVlX29uZSgpKTsKLSsJCUJOX2FkZChibmhpZ2gsIGJubG93 LCBibnRtcDIpOwotIAotIAkJaWYgKGI1OHRvcCA8PSBiNThjZWlsKSB7Ci0gCQkJLyogRmlsbCBv dXQgdGhlIHVwcGVyIHJhbmdlIHRvbyAqLwotQEAgLTg0OSwxNiArODQ5LDE2IEBAIGdldF9wcmVm aXhfcmFuZ2VzKGludCBhZGRydHlwZSwgY29uc3QgY2hhciAqcGZ4LCBCSUdOVU0gKipyZXN1bHQs Ci0gCQkJYm5sb3cyID0gQk5fbmV3KCk7Ci0gCQkJYm5oaWdoMiA9IEJOX25ldygpOwotIAotLQkJ CUJOX211bChibmxvdzIsIGJubG93LCAmYm5iYXNlLCBibmN0eCk7Ci0tCQkJQk5fbXVsKCZibnRt cDIsIGJuaGlnaCwgJmJuYmFzZSwgYm5jdHgpOwotLQkJCUJOX3NldF93b3JkKCZibnRtcCwgNTcp OwotLQkJCUJOX2FkZChibmhpZ2gyLCAmYm50bXAyLCAmYm50bXApOwotKwkJCUJOX211bChibmxv dzIsIGJubG93LCBibmJhc2UsIGJuY3R4KTsKLSsJCQlCTl9tdWwoYm50bXAyLCBibmhpZ2gsIGJu YmFzZSwgYm5jdHgpOwotKwkJCUJOX3NldF93b3JkKGJudG1wLCA1Nyk7Ci0rCQkJQk5fYWRkKGJu aGlnaDIsIGJudG1wMiwgYm50bXApOwotIAotIAkJCS8qCi0gCQkJICogQWRkcmVzc2VzIGFib3Zl IHRoZSBjZWlsaW5nIHdpbGwgaGF2ZSBvbmUKLSAJCQkgKiBmZXdlciAiMSIgcHJlZml4IGluIGZy b250IHRoYW4gd2UgcmVxdWlyZS4KLSAJCQkgKi8KLS0JCQlpZiAoQk5fY21wKCZibmNlaWwsIGJu bG93MikgPCAwKSB7Ci0rCQkJaWYgKEJOX2NtcChibmNlaWwsIGJubG93MikgPCAwKSB7Ci0gCQkJ CS8qIEhpZ2ggcHJlZml4IGlzIGFib3ZlIHRoZSBjZWlsaW5nICovCi0gCQkJCWNoZWNrX3VwcGVy ID0gMDsKLSAJCQkJQk5fZnJlZShibmhpZ2gyKTsKLUBAIC04NjYsMTUgKzg2NiwxNSBAQCBnZXRf cHJlZml4X3JhbmdlcyhpbnQgYWRkcnR5cGUsIGNvbnN0IGNoYXIgKnBmeCwgQklHTlVNICoqcmVz dWx0LAotIAkJCQlCTl9mcmVlKGJubG93Mik7Ci0gCQkJCWJubG93MiA9IE5VTEw7Ci0gCQkJfQot LQkJCWVsc2UgaWYgKEJOX2NtcCgmYm5jZWlsLCBibmhpZ2gyKSA8IDApCi0rCQkJZWxzZSBpZiAo Qk5fY21wKGJuY2VpbCwgYm5oaWdoMikgPCAwKQotIAkJCQkvKiBIaWdoIHByZWZpeCBpcyBwYXJ0 bHkgYWJvdmUgdGhlIGNlaWxpbmcgKi8KLS0JCQkJQk5fY29weShibmhpZ2gyLCAmYm5jZWlsKTsK LSsJCQkJQk5fY29weShibmhpZ2gyLCBibmNlaWwpOwotIAotIAkJCS8qCi0gCQkJICogQWRkcmVz c2VzIGJlbG93IHRoZSBmbG9vciB3aWxsIGhhdmUgYW5vdGhlcgotIAkJCSAqICIxIiBwcmVmaXgg aW4gZnJvbnQgaW5zdGVhZCBvZiBvdXIgdGFyZ2V0LgotIAkJCSAqLwotLQkJCWlmIChCTl9jbXAo JmJuZmxvb3IsIGJuaGlnaCkgPj0gMCkgewotKwkJCWlmIChCTl9jbXAoYm5mbG9vciwgYm5oaWdo KSA+PSAwKSB7Ci0gCQkJCS8qIExvdyBwcmVmaXggaXMgY29tcGxldGVseSBiZWxvdyB0aGUgZmxv b3IgKi8KLSAJCQkJYXNzZXJ0KGNoZWNrX3VwcGVyKTsKLSAJCQkJY2hlY2tfdXBwZXIgPSAwOwot QEAgLTg4NSwzNSArODg1LDM1IEBAIGdldF9wcmVmaXhfcmFuZ2VzKGludCBhZGRydHlwZSwgY29u c3QgY2hhciAqcGZ4LCBCSUdOVU0gKipyZXN1bHQsCi0gCQkJCWJubG93ID0gYm5sb3cyOwotIAkJ CQlibmxvdzIgPSBOVUxMOwotIAkJCX0JCQkKLS0JCQllbHNlIGlmIChCTl9jbXAoJmJuZmxvb3Is IGJubG93KSA+IDApIHsKLSsJCQllbHNlIGlmIChCTl9jbXAoYm5mbG9vciwgYm5sb3cpID4gMCkg ewotIAkJCQkvKiBMb3cgcHJlZml4IGlzIHBhcnRseSBiZWxvdyB0aGUgZmxvb3IgKi8KLS0JCQkJ Qk5fY29weShibmxvdywgJmJuZmxvb3IpOwotKwkJCQlCTl9jb3B5KGJubG93LCBibmZsb29yKTsK LSAJCQl9Ci0gCQl9Ci0gCi0gCX0gZWxzZSB7Ci0tCQlCTl9jb3B5KGJuaGlnaCwgJmJuY2VpbCk7 Ci0rCQlCTl9jb3B5KGJuaGlnaCwgYm5jZWlsKTsKLSAJCUJOX2NsZWFyKGJubG93KTsKLSAJfQot IAotIAkvKiBMaW1pdCB0aGUgcHJlZml4IHRvIHRoZSBhZGRyZXNzIHR5cGUgKi8KLS0JQk5fY2xl YXIoJmJudG1wKTsKLS0JQk5fc2V0X3dvcmQoJmJudG1wLCBhZGRydHlwZSk7Ci0tCUJOX2xzaGlm dCgmYm50bXAyLCAmYm50bXAsIDE5Mik7Ci0rCUJOX2NsZWFyKGJudG1wKTsKLSsJQk5fc2V0X3dv cmQoYm50bXAsIGFkZHJ0eXBlKTsKLSsJQk5fbHNoaWZ0KGJudG1wMiwgYm50bXAsIDE5Mik7Ci0g Ci0gCWlmIChjaGVja191cHBlcikgewotLQkJaWYgKEJOX2NtcCgmYm50bXAyLCBibmhpZ2gyKSA+ IDApIHsKLSsJCWlmIChCTl9jbXAoYm50bXAyLCBibmhpZ2gyKSA+IDApIHsKLSAJCQljaGVja191 cHBlciA9IDA7Ci0gCQkJQk5fZnJlZShibmhpZ2gyKTsKLSAJCQlibmhpZ2gyID0gTlVMTDsKLSAJ CQlCTl9mcmVlKGJubG93Mik7Ci0gCQkJYm5sb3cyID0gTlVMTDsKLSAJCX0KLS0JCWVsc2UgaWYg KEJOX2NtcCgmYm50bXAyLCBibmxvdzIpID4gMCkKLS0JCQlCTl9jb3B5KGJubG93MiwgJmJudG1w Mik7Ci0rCQllbHNlIGlmIChCTl9jbXAoYm50bXAyLCBibmxvdzIpID4gMCkKLSsJCQlCTl9jb3B5 KGJubG93MiwgYm50bXAyKTsKLSAJfQotIAotLQlpZiAoQk5fY21wKCZibnRtcDIsIGJuaGlnaCkg PiAwKSB7Ci0rCWlmIChCTl9jbXAoYm50bXAyLCBibmhpZ2gpID4gMCkgewotIAkJaWYgKCFjaGVj a191cHBlcikKLSAJCQlnb3RvIG5vdF9wb3NzaWJsZTsKLSAJCWNoZWNrX3VwcGVyID0gMDsKLUBA IC05MjQsMjYgKzkyNCwyNiBAQCBnZXRfcHJlZml4X3JhbmdlcyhpbnQgYWRkcnR5cGUsIGNvbnN0 IGNoYXIgKnBmeCwgQklHTlVNICoqcmVzdWx0LAotIAkJYm5sb3cgPSBibmxvdzI7Ci0gCQlibmxv dzIgPSBOVUxMOwotIAl9Ci0tCWVsc2UgaWYgKEJOX2NtcCgmYm50bXAyLCBibmxvdykgPiAwKSB7 Ci0tCQlCTl9jb3B5KGJubG93LCAmYm50bXAyKTsKLSsJZWxzZSBpZiAoQk5fY21wKGJudG1wMiwg Ym5sb3cpID4gMCkgewotKwkJQk5fY29weShibmxvdywgYm50bXAyKTsKLSAJfQotIAotLQlCTl9z ZXRfd29yZCgmYm50bXAsIGFkZHJ0eXBlICsgMSk7Ci0tCUJOX2xzaGlmdCgmYm50bXAyLCAmYm50 bXAsIDE5Mik7Ci0rCUJOX3NldF93b3JkKGJudG1wLCBhZGRydHlwZSArIDEpOwotKwlCTl9sc2hp ZnQoYm50bXAyLCBibnRtcCwgMTkyKTsKLSAKLSAJaWYgKGNoZWNrX3VwcGVyKSB7Ci0tCQlpZiAo Qk5fY21wKCZibnRtcDIsIGJubG93MikgPCAwKSB7Ci0rCQlpZiAoQk5fY21wKGJudG1wMiwgYm5s b3cyKSA8IDApIHsKLSAJCQljaGVja191cHBlciA9IDA7Ci0gCQkJQk5fZnJlZShibmhpZ2gyKTsK LSAJCQlibmhpZ2gyID0gTlVMTDsKLSAJCQlCTl9mcmVlKGJubG93Mik7Ci0gCQkJYm5sb3cyID0g TlVMTDsKLSAJCX0KLS0JCWVsc2UgaWYgKEJOX2NtcCgmYm50bXAyLCBibmhpZ2gyKSA8IDApCi0t CQkJQk5fY29weShibmxvdzIsICZibnRtcDIpOwotKwkJZWxzZSBpZiAoQk5fY21wKGJudG1wMiwg Ym5oaWdoMikgPCAwKQotKwkJCUJOX2NvcHkoYm5sb3cyLCBibnRtcDIpOwotIAl9Ci0gCi0tCWlm IChCTl9jbXAoJmJudG1wMiwgYm5sb3cpIDwgMCkgewotKwlpZiAoQk5fY21wKGJudG1wMiwgYm5s b3cpIDwgMCkgewotIAkJaWYgKCFjaGVja191cHBlcikKLSAJCQlnb3RvIG5vdF9wb3NzaWJsZTsK LSAJCWNoZWNrX3VwcGVyID0gMDsKLUBAIC05NTQsOCArOTU0LDggQEAgZ2V0X3ByZWZpeF9yYW5n ZXMoaW50IGFkZHJ0eXBlLCBjb25zdCBjaGFyICpwZngsIEJJR05VTSAqKnJlc3VsdCwKLSAJCWJu bG93ID0gYm5sb3cyOwotIAkJYm5sb3cyID0gTlVMTDsKLSAJfQotLQllbHNlIGlmIChCTl9jbXAo JmJudG1wMiwgYm5oaWdoKSA8IDApIHsKLS0JCUJOX2NvcHkoYm5oaWdoLCAmYm50bXAyKTsKLSsJ ZWxzZSBpZiAoQk5fY21wKGJudG1wMiwgYm5oaWdoKSA8IDApIHsKLSsJCUJOX2NvcHkoYm5oaWdo LCBibnRtcDIpOwotIAl9Ci0gCi0gCS8qIEFkZHJlc3MgcmFuZ2VzIGFyZSBjb21wbGV0ZSAqLwot QEAgLTk3NiwxMiArOTc2LDEyIEBAIGdldF9wcmVmaXhfcmFuZ2VzKGludCBhZGRydHlwZSwgY29u c3QgY2hhciAqcGZ4LCBCSUdOVU0gKipyZXN1bHQsCi0gCX0KLSAKLSBvdXQ6Ci0tCUJOX2NsZWFy X2ZyZWUoJmJudGFyZyk7Ci0tCUJOX2NsZWFyX2ZyZWUoJmJuY2VpbCk7Ci0tCUJOX2NsZWFyX2Zy ZWUoJmJuZmxvb3IpOwotLQlCTl9jbGVhcl9mcmVlKCZibmJhc2UpOwotLQlCTl9jbGVhcl9mcmVl KCZibnRtcCk7Ci0tCUJOX2NsZWFyX2ZyZWUoJmJudG1wMik7Ci0rCUJOX2NsZWFyX2ZyZWUoYm50 YXJnKTsKLSsJQk5fY2xlYXJfZnJlZShibmNlaWwpOwotKwlCTl9jbGVhcl9mcmVlKGJuZmxvb3Ip OwotKwlCTl9jbGVhcl9mcmVlKGJuYmFzZSk7Ci0rCUJOX2NsZWFyX2ZyZWUoYm50bXApOwotKwlC Tl9jbGVhcl9mcmVlKGJudG1wMik7Ci0gCWlmIChibmhpZ2gpCi0gCQlCTl9mcmVlKGJuaGlnaCk7 Ci0gCWlmIChibmxvdykKLUBAIC0xMjY2LDcgKzEyNjYsNyBAQCBwcmVmaXhfY2FzZV9pdGVyX25l eHQocHJlZml4X2Nhc2VfaXRlcl90ICpjaXApCi0gdHlwZWRlZiBzdHJ1Y3QgX3ZnX3ByZWZpeF9j b250ZXh0X3MgewotIAl2Z19jb250ZXh0X3QJCWJhc2U7Ci0gCWF2bF9yb290X3QJCXZjcF9hdmxy b290OwotLQlCSUdOVU0JCQl2Y3BfZGlmZmljdWx0eTsKLSsJQklHTlVNCQkJKnZjcF9kaWZmaWN1 bHR5OwotIAlpbnQJCQl2Y3BfY2FzZWluc2Vuc2l0aXZlOwotIH0gdmdfcHJlZml4X2NvbnRleHRf dDsKLSAKLUBAIC0xMjk0LDcgKzEyOTQsNyBAQCB2Z19wcmVmaXhfY29udGV4dF9jbGVhcl9hbGxf cGF0dGVybnModmdfY29udGV4dF90ICp2Y3ApCi0gCXZjcHAtPmJhc2UudmNfbnBhdHRlcm5zID0g MDsKLSAJdmNwcC0+YmFzZS52Y19ucGF0dGVybnNfc3RhcnQgPSAwOwotIAl2Y3BwLT5iYXNlLnZj X2ZvdW5kID0gMDsKLS0JQk5fY2xlYXIoJnZjcHAtPnZjcF9kaWZmaWN1bHR5KTsKLSsJQk5fY2xl YXIodmNwcC0+dmNwX2RpZmZpY3VsdHkpOwotIH0KLSAKLSBzdGF0aWMgdm9pZAotQEAgLTEzMDIs NyArMTMwMiw3IEBAIHZnX3ByZWZpeF9jb250ZXh0X2ZyZWUodmdfY29udGV4dF90ICp2Y3ApCi0g ewotIAl2Z19wcmVmaXhfY29udGV4dF90ICp2Y3BwID0gKHZnX3ByZWZpeF9jb250ZXh0X3QgKikg dmNwOwotIAl2Z19wcmVmaXhfY29udGV4dF9jbGVhcl9hbGxfcGF0dGVybnModmNwKTsKLS0JQk5f Y2xlYXJfZnJlZSgmdmNwcC0+dmNwX2RpZmZpY3VsdHkpOwotKwlCTl9jbGVhcl9mcmVlKHZjcHAt PnZjcF9kaWZmaWN1bHR5KTsKLSAJZnJlZSh2Y3BwKTsKLSB9Ci0gCi1AQCAtMTMxNCw3ICsxMzE0 LDcgQEAgdmdfcHJlZml4X2NvbnRleHRfbmV4dF9kaWZmaWN1bHR5KHZnX3ByZWZpeF9jb250ZXh0 X3QgKnZjcHAsCi0gCi0gCUJOX2NsZWFyKGJudG1wKTsKLSAJQk5fc2V0X2JpdChibnRtcCwgMTky KTsKLS0JQk5fZGl2KGJudG1wMiwgTlVMTCwgYm50bXAsICZ2Y3BwLT52Y3BfZGlmZmljdWx0eSwg Ym5jdHgpOwotKwlCTl9kaXYoYm50bXAyLCBOVUxMLCBibnRtcCwgdmNwcC0+dmNwX2RpZmZpY3Vs dHksIGJuY3R4KTsKLSAKLSAJZGJ1ZiA9IEJOX2JuMmRlYyhibnRtcDIpOwotIAlpZiAodmNwcC0+ YmFzZS52Y192ZXJib3NlID4gMCkgewotQEAgLTEzMzcsNyArMTMzNyw3IEBAIHZnX3ByZWZpeF9j b250ZXh0X2FkZF9wYXR0ZXJucyh2Z19jb250ZXh0X3QgKnZjcCwKLSAJcHJlZml4X2Nhc2VfaXRl cl90IGNhc2VpdGVyOwotIAl2Z19wcmVmaXhfdCAqdnAsICp2cDI7Ci0gCUJOX0NUWCAqYm5jdHg7 Ci0tCUJJR05VTSBibnRtcCwgYm50bXAyLCBibnRtcDM7Ci0rCUJJR05VTSAqYm50bXAsICpibnRt cDIsICpibnRtcDM7Ci0gCUJJR05VTSAqcmFuZ2VzWzRdOwotIAlpbnQgcmV0ID0gMDsKLSAJaW50 IGksIGltcG9zc2libGUgPSAwOwotQEAgLTEzNDYsOSArMTM0Niw5IEBAIHZnX3ByZWZpeF9jb250 ZXh0X2FkZF9wYXR0ZXJucyh2Z19jb250ZXh0X3QgKnZjcCwKLSAJY2hhciAqZGJ1ZjsKLSAKLSAJ Ym5jdHggPSBCTl9DVFhfbmV3KCk7Ci0tCUJOX2luaXQoJmJudG1wKTsKLS0JQk5faW5pdCgmYm50 bXAyKTsKLS0JQk5faW5pdCgmYm50bXAzKTsKLSsJYm50bXAgPSBCTl9uZXcoKTsKLSsJYm50bXAy ID0gQk5fbmV3KCk7Ci0rCWJudG1wMyA9IEJOX25ldygpOwotIAotIAlucGZ4ID0gMDsKLSAJZm9y IChpID0gMDsgaSA8IG5wYXR0ZXJuczsgaSsrKSB7Ci1AQCAtMTQyNiwxNiArMTQyNiwxNiBAQCB2 Z19wcmVmaXhfY29udGV4dF9hZGRfcGF0dGVybnModmdfY29udGV4dF90ICp2Y3AsCi0gCQlucGZ4 Kys7Ci0gCi0gCQkvKiBEZXRlcm1pbmUgdGhlIHByb2JhYmlsaXR5IG9mIGZpbmRpbmcgYSBtYXRj aCAqLwotLQkJdmdfcHJlZml4X3JhbmdlX3N1bSh2cCwgJmJudG1wLCAmYm50bXAyKTsKLS0JCUJO X2FkZCgmYm50bXAyLCAmdmNwcC0+dmNwX2RpZmZpY3VsdHksICZibnRtcCk7Ci0tCQlCTl9jb3B5 KCZ2Y3BwLT52Y3BfZGlmZmljdWx0eSwgJmJudG1wMik7Ci0rCQl2Z19wcmVmaXhfcmFuZ2Vfc3Vt KHZwLCBibnRtcCwgYm50bXAyKTsKLSsJCUJOX2FkZChibnRtcDIsIHZjcHAtPnZjcF9kaWZmaWN1 bHR5LCBibnRtcCk7Ci0rCQlCTl9jb3B5KHZjcHAtPnZjcF9kaWZmaWN1bHR5LCBibnRtcDIpOwot IAotIAkJaWYgKHZjcC0+dmNfdmVyYm9zZSA+IDEpIHsKLS0JCQlCTl9jbGVhcigmYm50bXAyKTsK LS0JCQlCTl9zZXRfYml0KCZibnRtcDIsIDE5Mik7Ci0tCQkJQk5fZGl2KCZibnRtcDMsIE5VTEws ICZibnRtcDIsICZibnRtcCwgYm5jdHgpOwotKwkJCUJOX2NsZWFyKGJudG1wMik7Ci0rCQkJQk5f c2V0X2JpdChibnRtcDIsIDE5Mik7Ci0rCQkJQk5fZGl2KGJudG1wMywgTlVMTCwgYm50bXAyLCBi bnRtcCwgYm5jdHgpOwotIAotLQkJCWRidWYgPSBCTl9ibjJkZWMoJmJudG1wMyk7Ci0rCQkJZGJ1 ZiA9IEJOX2JuMmRlYyhibnRtcDMpOwotIAkJCWZwcmludGYoc3RkZXJyLAotIAkJCQkiUHJlZml4 IGRpZmZpY3VsdHk6ICUyMHMgJXNcbiIsCi0gCQkJCWRidWYsIHBhdHRlcm5zW2ldKTsKLUBAIC0x NDY5LDEzICsxNDY5LDEzIEBAIHZnX3ByZWZpeF9jb250ZXh0X2FkZF9wYXR0ZXJucyh2Z19jb250 ZXh0X3QgKnZjcCwKLSAJfQotIAotIAlpZiAobnBmeCkKLS0JCXZnX3ByZWZpeF9jb250ZXh0X25l eHRfZGlmZmljdWx0eSh2Y3BwLCAmYm50bXAsICZibnRtcDIsIGJuY3R4KTsKLSsJCXZnX3ByZWZp eF9jb250ZXh0X25leHRfZGlmZmljdWx0eSh2Y3BwLCBibnRtcCwgYm50bXAyLCBibmN0eCk7Ci0g Ci0gCXJldCA9IChucGZ4ICE9IDApOwotIAotLQlCTl9jbGVhcl9mcmVlKCZibnRtcCk7Ci0tCUJO X2NsZWFyX2ZyZWUoJmJudG1wMik7Ci0tCUJOX2NsZWFyX2ZyZWUoJmJudG1wMyk7Ci0rCUJOX2Ns ZWFyX2ZyZWUoYm50bXApOwotKwlCTl9jbGVhcl9mcmVlKGJudG1wMik7Ci0rCUJOX2NsZWFyX2Zy ZWUoYm50bXAzKTsKLSAJQk5fQ1RYX2ZyZWUoYm5jdHgpOwotIAlyZXR1cm4gcmV0OwotIH0KLUBA IC0xNDg0LDM5ICsxNDg0LDM5IEBAIGRvdWJsZQotIHZnX3ByZWZpeF9nZXRfZGlmZmljdWx0eShp bnQgYWRkcnR5cGUsIGNvbnN0IGNoYXIgKnBhdHRlcm4pCi0gewotIAlCTl9DVFggKmJuY3R4Owot LQlCSUdOVU0gcmVzdWx0LCBibnRtcDsKLSsJQklHTlVNICpyZXN1bHQsICpibnRtcDsKLSAJQklH TlVNICpyYW5nZXNbNF07Ci0gCWNoYXIgKmRidWY7Ci0gCWludCByZXQ7Ci0gCWRvdWJsZSBkaWZm cmV0ID0gMC4wOwotIAotIAlibmN0eCA9IEJOX0NUWF9uZXcoKTsKLS0JQk5faW5pdCgmcmVzdWx0 KTsKLS0JQk5faW5pdCgmYm50bXApOwotKwlyZXN1bHQgPSBCTl9uZXcoKTsKLSsJYm50bXAgPSBC Tl9uZXcoKTsKLSAKLSAJcmV0ID0gZ2V0X3ByZWZpeF9yYW5nZXMoYWRkcnR5cGUsCi0gCQkJCXBh dHRlcm4sIHJhbmdlcywgYm5jdHgpOwotIAotIAlpZiAocmV0ID09IDApIHsKLS0JCUJOX3N1Yigm Ym50bXAsIHJhbmdlc1sxXSwgcmFuZ2VzWzBdKTsKLS0JCUJOX2FkZCgmcmVzdWx0LCAmcmVzdWx0 LCAmYm50bXApOwotKwkJQk5fc3ViKGJudG1wLCByYW5nZXNbMV0sIHJhbmdlc1swXSk7Ci0rCQlC Tl9hZGQocmVzdWx0LCByZXN1bHQsIGJudG1wKTsKLSAJCWlmIChyYW5nZXNbMl0pIHsKLS0JCQlC Tl9zdWIoJmJudG1wLCByYW5nZXNbM10sIHJhbmdlc1syXSk7Ci0tCQkJQk5fYWRkKCZyZXN1bHQs ICZyZXN1bHQsICZibnRtcCk7Ci0rCQkJQk5fc3ViKGJudG1wLCByYW5nZXNbM10sIHJhbmdlc1sy XSk7Ci0rCQkJQk5fYWRkKHJlc3VsdCwgcmVzdWx0LCBibnRtcCk7Ci0gCQl9Ci0gCQlmcmVlX3Jh bmdlcyhyYW5nZXMpOwotIAotLQkJQk5fY2xlYXIoJmJudG1wKTsKLS0JCUJOX3NldF9iaXQoJmJu dG1wLCAxOTIpOwotLQkJQk5fZGl2KCZyZXN1bHQsIE5VTEwsICZibnRtcCwgJnJlc3VsdCwgYm5j dHgpOwotKwkJQk5fY2xlYXIoYm50bXApOwotKwkJQk5fc2V0X2JpdChibnRtcCwgMTkyKTsKLSsJ CUJOX2RpdihyZXN1bHQsIE5VTEwsIGJudG1wLCByZXN1bHQsIGJuY3R4KTsKLSAKLS0JCWRidWYg PSBCTl9ibjJkZWMoJnJlc3VsdCk7Ci0rCQlkYnVmID0gQk5fYm4yZGVjKHJlc3VsdCk7Ci0gCQlk aWZmcmV0ID0gc3RydG9kKGRidWYsIE5VTEwpOwotIAkJT1BFTlNTTF9mcmVlKGRidWYpOwotIAl9 Ci0gCi0tCUJOX2NsZWFyX2ZyZWUoJnJlc3VsdCk7Ci0tCUJOX2NsZWFyX2ZyZWUoJmJudG1wKTsK LSsJQk5fY2xlYXJfZnJlZShyZXN1bHQpOwotKwlCTl9jbGVhcl9mcmVlKGJudG1wKTsKLSAJQk5f Q1RYX2ZyZWUoYm5jdHgpOwotIAlyZXR1cm4gZGlmZnJldDsKLSB9Ci1AQCAtMTUzNSwxMCArMTUz NSwxMCBAQCB2Z19wcmVmaXhfdGVzdCh2Z19leGVjX2NvbnRleHRfdCAqdnhjcCkKLSAJICogY2hl Y2sgY29kZS4KLSAJICovCi0gCi0tCUJOX2JpbjJibih2eGNwLT52eGNfYmlucmVzLCAyNSwgJnZ4 Y3AtPnZ4Y19ibnRhcmcpOwotKwlCTl9iaW4yYm4odnhjcC0+dnhjX2JpbnJlcywgMjUsIHZ4Y3At PnZ4Y19ibnRhcmcpOwotIAotIHJlc2VhcmNoOgotLQl2cCA9IHZnX3ByZWZpeF9hdmxfc2VhcmNo KCZ2Y3BwLT52Y3BfYXZscm9vdCwgJnZ4Y3AtPnZ4Y19ibnRhcmcpOwotKwl2cCA9IHZnX3ByZWZp eF9hdmxfc2VhcmNoKCZ2Y3BwLT52Y3BfYXZscm9vdCwgdnhjcC0+dnhjX2JudGFyZyk7Ci0gCWlm ICh2cCkgewotIAkJaWYgKHZnX2V4ZWNfY29udGV4dF91cGdyYWRlX2xvY2sodnhjcCkpCi0gCQkJ Z290byByZXNlYXJjaDsKLUBAIC0xNTU4LDIwICsxNTU4LDIwIEBAIHZnX3ByZWZpeF90ZXN0KHZn X2V4ZWNfY29udGV4dF90ICp2eGNwKQotIAkJaWYgKHZjcHAtPmJhc2UudmNfcmVtb3ZlX29uX21h dGNoKSB7Ci0gCQkJLyogU3VidHJhY3QgdGhlIHJhbmdlIGZyb20gdGhlIGRpZmZpY3VsdHkgKi8K LSAJCQl2Z19wcmVmaXhfcmFuZ2Vfc3VtKHZwLAotLQkJCQkJICAgICZ2eGNwLT52eGNfYm50YXJn LAotLQkJCQkJICAgICZ2eGNwLT52eGNfYm50bXApOwotLQkJCUJOX3N1YigmdnhjcC0+dnhjX2Ju dG1wLAotLQkJCSAgICAgICAmdmNwcC0+dmNwX2RpZmZpY3VsdHksCi0tCQkJICAgICAgICZ2eGNw LT52eGNfYm50YXJnKTsKLS0JCQlCTl9jb3B5KCZ2Y3BwLT52Y3BfZGlmZmljdWx0eSwgJnZ4Y3At PnZ4Y19ibnRtcCk7Ci0rCQkJCQkgICAgdnhjcC0+dnhjX2JudGFyZywKLSsJCQkJCSAgICB2eGNw LT52eGNfYm50bXApOwotKwkJCUJOX3N1Yih2eGNwLT52eGNfYm50bXAsCi0rCQkJICAgICAgIHZj cHAtPnZjcF9kaWZmaWN1bHR5LAotKwkJCSAgICAgICB2eGNwLT52eGNfYm50YXJnKTsKLSsJCQlC Tl9jb3B5KHZjcHAtPnZjcF9kaWZmaWN1bHR5LCB2eGNwLT52eGNfYm50bXApOwotIAotIAkJCXZn X3ByZWZpeF9kZWxldGUoJnZjcHAtPnZjcF9hdmxyb290LHZwKTsKLSAJCQl2Y3BwLT5iYXNlLnZj X25wYXR0ZXJucy0tOwotIAotIAkJCWlmICghYXZsX3Jvb3RfZW1wdHkoJnZjcHAtPnZjcF9hdmxy b290KSkKLSAJCQkJdmdfcHJlZml4X2NvbnRleHRfbmV4dF9kaWZmaWN1bHR5KAotLQkJCQkJdmNw cCwgJnZ4Y3AtPnZ4Y19ibnRtcCwKLS0JCQkJCSZ2eGNwLT52eGNfYm50bXAyLAotKwkJCQkJdmNw cCwgdnhjcC0+dnhjX2JudG1wLAotKwkJCQkJdnhjcC0+dnhjX2JudG1wMiwKLSAJCQkJCXZ4Y3At PnZ4Y19ibmN0eCk7Ci0gCQkJdmNwcC0+YmFzZS52Y19wYXR0ZXJuX2dlbmVyYXRpb24rKzsKLSAJ CX0KLUBAIC0xNjUyLDcgKzE2NTIsNyBAQCB2Z19wcmVmaXhfY29udGV4dF9uZXcoaW50IGFkZHJ0 eXBlLCBpbnQgcHJpdnR5cGUsIGludCBjYXNlaW5zZW5zaXRpdmUpCi0gCQl2Y3BwLT5iYXNlLnZj X3Rlc3QgPSB2Z19wcmVmaXhfdGVzdDsKLSAJCXZjcHAtPmJhc2UudmNfaGFzaDE2MF9zb3J0ID0g dmdfcHJlZml4X2hhc2gxNjBfc29ydDsKLSAJCWF2bF9yb290X2luaXQoJnZjcHAtPnZjcF9hdmxy b290KTsKLS0JCUJOX2luaXQoJnZjcHAtPnZjcF9kaWZmaWN1bHR5KTsKLSsJCXZjcHAtPnZjcF9k aWZmaWN1bHR5ID0gQk5fbmV3KCk7Ci0gCQl2Y3BwLT52Y3BfY2FzZWluc2Vuc2l0aXZlID0gY2Fz ZWluc2Vuc2l0aXZlOwotIAl9Ci0gCXJldHVybiAmdmNwcC0+YmFzZTsKLUBAIC0xNzc4LDIxICsx Nzc4LDIxIEBAIHZnX3JlZ2V4X3Rlc3QodmdfZXhlY19jb250ZXh0X3QgKnZ4Y3ApCi0gCXVuc2ln bmVkIGNoYXIgaGFzaDFbMzJdLCBoYXNoMlszMl07Ci0gCWludCBpLCB6cGZ4LCBwLCBkLCBucmVz LCByZV92ZWNbOV07Ci0gCWNoYXIgYjU4WzQwXTsKLS0JQklHTlVNIGJucmVtOwotKwlCSUdOVU0g KmJucmVtOwotIAlCSUdOVU0gKmJuLCAqYm5kaXYsICpibnB0bXA7Ci0gCWludCByZXMgPSAwOwot IAotIAlwY3JlICpyZTsKLSAKLS0JQk5faW5pdCgmYm5yZW0pOwotKwlibnJlbSA9IEJOX25ldygp OwotIAotIAkvKiBIYXNoIHRoZSBoYXNoIGFuZCB3cml0ZSB0aGUgZm91ciBieXRlIGNoZWNrIGNv ZGUgKi8KLSAJU0hBMjU2KHZ4Y3AtPnZ4Y19iaW5yZXMsIDIxLCBoYXNoMSk7Ci0gCVNIQTI1Niho YXNoMSwgc2l6ZW9mKGhhc2gxKSwgaGFzaDIpOwotIAltZW1jcHkoJnZ4Y3AtPnZ4Y19iaW5yZXNb MjFdLCBoYXNoMiwgNCk7Ci0gCi0tCWJuID0gJnZ4Y3AtPnZ4Y19ibnRtcDsKLS0JYm5kaXYgPSAm dnhjcC0+dnhjX2JudG1wMjsKLSsJYm4gPSB2eGNwLT52eGNfYm50bXA7Ci0rCWJuZGl2ID0gdnhj cC0+dnhjX2JudG1wMjsKLSAKLSAJQk5fYmluMmJuKHZ4Y3AtPnZ4Y19iaW5yZXMsIDI1LCBibik7 Ci0gCi1AQCAtMTgwMSwxMSArMTgwMSwxMSBAQCB2Z19yZWdleF90ZXN0KHZnX2V4ZWNfY29udGV4 dF90ICp2eGNwKQotIAlwID0gc2l6ZW9mKGI1OCkgLSAxOwotIAliNThbcF0gPSAnXDAnOwotIAl3 aGlsZSAoIUJOX2lzX3plcm8oYm4pKSB7Ci0tCQlCTl9kaXYoYm5kaXYsICZibnJlbSwgYm4sICZ2 eGNwLT52eGNfYm5iYXNlLCB2eGNwLT52eGNfYm5jdHgpOwotKwkJQk5fZGl2KGJuZGl2LCBibnJl bSwgYm4sIHZ4Y3AtPnZ4Y19ibmJhc2UsIHZ4Y3AtPnZ4Y19ibmN0eCk7Ci0gCQlibnB0bXAgPSBi bjsKLSAJCWJuID0gYm5kaXY7Ci0gCQlibmRpdiA9IGJucHRtcDsKLS0JCWQgPSBCTl9nZXRfd29y ZCgmYm5yZW0pOwotKwkJZCA9IEJOX2dldF93b3JkKGJucmVtKTsKLSAJCWI1OFstLXBdID0gdmdf YjU4X2FscGhhYmV0W2RdOwotIAl9Ci0gCXdoaWxlICh6cGZ4LS0pIHsKLUBAIC0xODc4LDcgKzE4 NzgsNyBAQCB2Z19yZWdleF90ZXN0KHZnX2V4ZWNfY29udGV4dF90ICp2eGNwKQotIAkJcmVzID0g MTsKLSAJfQotIG91dDoKLS0JQk5fY2xlYXJfZnJlZSgmYm5yZW0pOwotKwlCTl9jbGVhcl9mcmVl KGJucmVtKTsKLSAJcmV0dXJuIHJlczsKLSB9Ci0gCi1kaWZmIC0tZ2l0IGEvcGF0dGVybi5oIGIv cGF0dGVybi5oCi1pbmRleCAzY2UyZDFmLi4wYjYwNGVhIDEwMDY0NAotLS0tIGEvcGF0dGVybi5o Ci0rKysgYi9wYXR0ZXJuLmgKLUBAIC01MSwxMCArNTEsMTAgQEAgc3RydWN0IF92Z19leGVjX2Nv bnRleHRfcyB7Ci0gCUVDX0tFWQkJCQkqdnhjX2tleTsKLSAJaW50CQkJCXZ4Y19kZWx0YTsKLSAJ dW5zaWduZWQgY2hhcgkJCXZ4Y19iaW5yZXNbMjhdOwotLQlCSUdOVU0JCQkJdnhjX2JudGFyZzsK LS0JQklHTlVNCQkJCXZ4Y19ibmJhc2U7Ci0tCUJJR05VTQkJCQl2eGNfYm50bXA7Ci0tCUJJR05V TQkJCQl2eGNfYm50bXAyOwotKwlCSUdOVU0JCQkJKnZ4Y19ibnRhcmc7Ci0rCUJJR05VTQkJCQkq dnhjX2JuYmFzZTsKLSsJQklHTlVNCQkJCSp2eGNfYm50bXA7Ci0rCUJJR05VTQkJCQkqdnhjX2Ju dG1wMjsKLSAKLSAJdmdfZXhlY19jb250ZXh0X3RocmVhZGZ1bmNfdAl2eGNfdGhyZWFkZnVuYzsK LSAJcHRocmVhZF90CQkJdnhjX3B0aHJlYWQ7Ci1kaWZmIC0tZ2l0IGEvdXRpbC5jIGIvdXRpbC5j Ci1pbmRleCA0ZjNjYmI4Li4zNWNkNTkyIDEwMDY0NAotLS0tIGEvdXRpbC5jCi0rKysgYi91dGls LmMKLUBAIC0xMTAsMTkgKzExMCwxOSBAQCB2Z19iNThfZW5jb2RlX2NoZWNrKHZvaWQgKmJ1Ziwg c2l6ZV90IGxlbiwgY2hhciAqcmVzdWx0KQotIAotIAlCTl9DVFggKmJuY3R4OwotIAlCSUdOVU0g KmJuLCAqYm5kaXYsICpibnRtcDsKLS0JQklHTlVNIGJuYSwgYm5iLCBibmJhc2UsIGJucmVtOwot KwlCSUdOVU0gKmJuYSwgKmJuYiwgKmJuYmFzZSwgKmJucmVtOwotIAl1bnNpZ25lZCBjaGFyICpi aW5yZXM7Ci0gCWludCBicmxlbiwgenBmeDsKLSAKLSAJYm5jdHggPSBCTl9DVFhfbmV3KCk7Ci0t CUJOX2luaXQoJmJuYSk7Ci0tCUJOX2luaXQoJmJuYik7Ci0tCUJOX2luaXQoJmJuYmFzZSk7Ci0t CUJOX2luaXQoJmJucmVtKTsKLS0JQk5fc2V0X3dvcmQoJmJuYmFzZSwgNTgpOwotKwlibmEgPSBC Tl9uZXcoKTsKLSsJYm5iID0gQk5fbmV3KCk7Ci0rCWJuYmFzZSA9IEJOX25ldygpOwotKwlibnJl bSA9IEJOX25ldygpOwotKwlCTl9zZXRfd29yZChibmJhc2UsIDU4KTsKLSAKLS0JYm4gPSAmYm5h OwotLQlibmRpdiA9ICZibmI7Ci0rCWJuID0gYm5hOwotKwlibmRpdiA9IGJuYjsKLSAKLSAJYnJs ZW4gPSAoMiAqIGxlbikgKyA0OwotIAliaW5yZXMgPSAodW5zaWduZWQgY2hhciopIG1hbGxvYyhi cmxlbik7Ci1AQCAtMTU0LDExICsxNTQsMTEgQEAgdmdfYjU4X2VuY29kZV9jaGVjayh2b2lkICpi dWYsIHNpemVfdCBsZW4sIGNoYXIgKnJlc3VsdCkKLSAKLSAJcCA9IGJybGVuOwotIAl3aGlsZSAo IUJOX2lzX3plcm8oYm4pKSB7Ci0tCQlCTl9kaXYoYm5kaXYsICZibnJlbSwgYm4sICZibmJhc2Us IGJuY3R4KTsKLSsJCUJOX2RpdihibmRpdiwgYm5yZW0sIGJuLCBibmJhc2UsIGJuY3R4KTsKLSAJ CWJudG1wID0gYm47Ci0gCQlibiA9IGJuZGl2OwotIAkJYm5kaXYgPSBibnRtcDsKLS0JCWQgPSBC Tl9nZXRfd29yZCgmYm5yZW0pOwotKwkJZCA9IEJOX2dldF93b3JkKGJucmVtKTsKLSAJCWJpbnJl c1stLXBdID0gdmdfYjU4X2FscGhhYmV0W2RdOwotIAl9Ci0gCi1AQCAtMTcwLDEwICsxNzAsMTAg QEAgdmdfYjU4X2VuY29kZV9jaGVjayh2b2lkICpidWYsIHNpemVfdCBsZW4sIGNoYXIgKnJlc3Vs dCkKLSAJcmVzdWx0W2JybGVuIC0gcF0gPSAnXDAnOwotIAotIAlmcmVlKGJpbnJlcyk7Ci0tCUJO X2NsZWFyX2ZyZWUoJmJuYSk7Ci0tCUJOX2NsZWFyX2ZyZWUoJmJuYik7Ci0tCUJOX2NsZWFyX2Zy ZWUoJmJuYmFzZSk7Ci0tCUJOX2NsZWFyX2ZyZWUoJmJucmVtKTsKLSsJQk5fY2xlYXJfZnJlZShi bmEpOwotKwlCTl9jbGVhcl9mcmVlKGJuYik7Ci0rCUJOX2NsZWFyX2ZyZWUoYm5iYXNlKTsKLSsJ Qk5fY2xlYXJfZnJlZShibnJlbSk7Ci0gCUJOX0NUWF9mcmVlKGJuY3R4KTsKLSB9Ci0gCi1AQCAt MTg1LDcgKzE4NSw3IEBAIHZnX2I1OF9kZWNvZGVfY2hlY2soY29uc3QgY2hhciAqaW5wdXQsIHZv aWQgKmJ1Ziwgc2l6ZV90IGxlbikKLSB7Ci0gCWludCBpLCBsLCBjOwotIAl1bnNpZ25lZCBjaGFy ICp4YnVmID0gTlVMTDsKLS0JQklHTlVNIGJuLCBibncsIGJuYmFzZTsKLSsJQklHTlVNICpibiwg KmJudywgKmJuYmFzZTsKLSAJQk5fQ1RYICpibmN0eDsKLSAJdW5zaWduZWQgY2hhciBoYXNoMVsz Ml0sIGhhc2gyWzMyXTsKLSAJdW5zaWduZWQgY2hhciBncm9lc3RsaGFzaDFbNjRdOwotQEAgLTE5 MywxMCArMTkzLDEwIEBAIHZnX2I1OF9kZWNvZGVfY2hlY2soY29uc3QgY2hhciAqaW5wdXQsIHZv aWQgKmJ1Ziwgc2l6ZV90IGxlbikKLSAJaW50IHpwZng7Ci0gCWludCByZXMgPSAwOwotIAotLQlC Tl9pbml0KCZibik7Ci0tCUJOX2luaXQoJmJudyk7Ci0tCUJOX2luaXQoJmJuYmFzZSk7Ci0tCUJO X3NldF93b3JkKCZibmJhc2UsIDU4KTsKLSsJYm4gPSBCTl9uZXcoKTsKLSsJYm53ID0gQk5fbmV3 KCk7Ci0rCWJuYmFzZSA9IEJOX25ldygpOwotKwlCTl9zZXRfd29yZChibmJhc2UsIDU4KTsKLSAJ Ym5jdHggPSBCTl9DVFhfbmV3KCk7Ci0gCi0gCS8qIEJ1aWxkIGEgYmlnbnVtIGZyb20gdGhlIGVu Y29kZWQgdmFsdWUgKi8KLUBAIC0yMDcsMTAgKzIwNywxMCBAQCB2Z19iNThfZGVjb2RlX2NoZWNr KGNvbnN0IGNoYXIgKmlucHV0LCB2b2lkICpidWYsIHNpemVfdCBsZW4pCi0gCQljID0gdmdfYjU4 X3JldmVyc2VfbWFwWyhpbnQpaW5wdXRbaV1dOwotIAkJaWYgKGMgPCAwKQotIAkJCWdvdG8gb3V0 OwotLQkJQk5fY2xlYXIoJmJudyk7Ci0tCQlCTl9zZXRfd29yZCgmYm53LCBjKTsKLS0JCUJOX211 bCgmYm4sICZibiwgJmJuYmFzZSwgYm5jdHgpOwotLQkJQk5fYWRkKCZibiwgJmJuLCAmYm53KTsK LSsJCUJOX2NsZWFyKGJudyk7Ci0rCQlCTl9zZXRfd29yZChibncsIGMpOwotKwkJQk5fbXVsKGJu LCBibiwgYm5iYXNlLCBibmN0eCk7Ci0rCQlCTl9hZGQoYm4sIGJuLCBibncpOwotIAl9Ci0gCi0g CS8qIENvcHkgdGhlIGJpZ251bSB0byBhIGJ5dGUgYnVmZmVyICovCi1AQCAtMjIxLDcgKzIyMSw3 IEBAIHZnX2I1OF9kZWNvZGVfY2hlY2soY29uc3QgY2hhciAqaW5wdXQsIHZvaWQgKmJ1Ziwgc2l6 ZV90IGxlbikKLSAJCQlicmVhazsKLSAJCXpwZngrKzsKLSAJfQotLQljID0gQk5fbnVtX2J5dGVz KCZibik7Ci0rCWMgPSBCTl9udW1fYnl0ZXMoYm4pOwotIAlsID0genBmeCArIGM7Ci0gCWlmIChs IDwgNSkKLSAJCWdvdG8gb3V0OwotQEAgLTIzMSw3ICsyMzEsNyBAQCB2Z19iNThfZGVjb2RlX2No ZWNrKGNvbnN0IGNoYXIgKmlucHV0LCB2b2lkICpidWYsIHNpemVfdCBsZW4pCi0gCWlmICh6cGZ4 KQotIAkJbWVtc2V0KHhidWYsIDAsIHpwZngpOwotIAlpZiAoYykKLS0JCUJOX2JuMmJpbigmYm4s IHhidWYgKyB6cGZ4KTsKLSsJCUJOX2JuMmJpbihibiwgeGJ1ZiArIHpwZngpOwotIAotIAkvKiBD aGVjayB0aGUgaGFzaCBjb2RlICovCi0gCWwgLT0gNDsKLUBAIC0yNzAsOSArMjcwLDkgQEAgdmdf YjU4X2RlY29kZV9jaGVjayhjb25zdCBjaGFyICppbnB1dCwgdm9pZCAqYnVmLCBzaXplX3QgbGVu KQotIG91dDoKLSAJaWYgKHhidWYpCi0gCQlmcmVlKHhidWYpOwotLQlCTl9jbGVhcl9mcmVlKCZi bik7Ci0tCUJOX2NsZWFyX2ZyZWUoJmJudyk7Ci0tCUJOX2NsZWFyX2ZyZWUoJmJuYmFzZSk7Ci0r CUJOX2NsZWFyX2ZyZWUoYm4pOwotKwlCTl9jbGVhcl9mcmVlKGJudyk7Ci0rCUJOX2NsZWFyX2Zy ZWUoYm5iYXNlKTsKLSAJQk5fQ1RYX2ZyZWUoYm5jdHgpOwotIAlyZXR1cm4gcmVzOwotIH0KLUBA IC00MjAsNyArNDIwLDcgQEAgdmdfc2V0X3ByaXZrZXkoY29uc3QgQklHTlVNICpibnByaXYsIEVD X0tFWSAqcGtleSkKLSBpbnQKLSB2Z19kZWNvZGVfcHJpdmtleShjb25zdCBjaGFyICpiNThlbmNv ZGVkLCBFQ19LRVkgKnBrZXksIGludCAqYWRkcnR5cGUpCi0gewotLQlCSUdOVU0gYm5wcml2Owot KwlCSUdOVU0gKmJucHJpdjsKLSAJdW5zaWduZWQgY2hhciBlY3ByaXZbNDhdOwotIAlpbnQgcmVz LCByZXQ7Ci0gCi1AQCAtNDMwLDEwICs0MzAsMTAgQEAgdmdfZGVjb2RlX3ByaXZrZXkoY29uc3Qg Y2hhciAqYjU4ZW5jb2RlZCwgRUNfS0VZICpwa2V5LCBpbnQgKmFkZHJ0eXBlKQotIAotIAlyZXQg PSByZXMgLSAzMjsKLSAKLS0JQk5faW5pdCgmYm5wcml2KTsKLS0JQk5fYmluMmJuKGVjcHJpdiAr IDEsIDMyLCAmYm5wcml2KTsKLS0JcmVzID0gdmdfc2V0X3ByaXZrZXkoJmJucHJpdiwgcGtleSk7 Ci0tCUJOX2NsZWFyX2ZyZWUoJmJucHJpdik7Ci0rCWJucHJpdiA9IEJOX25ldygpOwotKwlCTl9i aW4yYm4oZWNwcml2ICsgMSwgMzIsIGJucHJpdik7Ci0rCXJlcyA9IHZnX3NldF9wcml2a2V5KGJu cHJpdiwgcGtleSk7Ci0rCUJOX2NsZWFyX2ZyZWUoYm5wcml2KTsKLSAJKmFkZHJ0eXBlID0gZWNw cml2WzBdOwotIAlyZXR1cm4gcmV0OwotIH0KLUBAIC02MzIsMTUgKzYzMiwxNSBAQCB2Z19wcm90 ZWN0X2NyeXB0KGludCBwYXJhbWV0ZXJfZ3JvdXAsCi0gCQlzYWx0X2xlbiA9IDQ7Ci0gCQlobWFj X2xlbiA9IDg7Ci0gCQlobWFjX2tleWxlbiA9IDE2OwotLQkJY2lwaGVydGV4dF9sZW4gPSAoKHBs YWludGV4dF9sZW4gKyBjaXBoZXItPmJsb2NrX3NpemUgLSAxKSAvCi0tCQkJCSAgY2lwaGVyLT5i bG9ja19zaXplKSAqIGNpcGhlci0+YmxvY2tfc2l6ZTsKLSsJCWNpcGhlcnRleHRfbGVuID0gKChw bGFpbnRleHRfbGVuICsgRVZQX0NJUEhFUl9ibG9ja19zaXplKGNpcGhlcikgLSAxKSAvCi0rCQkJ CSAgRVZQX0NJUEhFUl9ibG9ja19zaXplKGNpcGhlcikpICogRVZQX0NJUEhFUl9ibG9ja19zaXpl KGNpcGhlcik7Ci0gCQlwa2NzN19wYWRkaW5nID0gMDsKLSAJCWhtYWNfZGlnZXN0ID0gRVZQX3No YTI1NigpOwotIAl9IGVsc2UgewotIAkJLyogUEtDUy1jb21wbGlhbnQgZW5jb2RpbmcgKi8KLSAJ CXNhbHRfbGVuID0gODsKLS0JCWNpcGhlcnRleHRfbGVuID0gKChwbGFpbnRleHRfbGVuICsgY2lw aGVyLT5ibG9ja19zaXplKSAvCi0tCQkJCSAgY2lwaGVyLT5ibG9ja19zaXplKSAqIGNpcGhlci0+ YmxvY2tfc2l6ZTsKLSsJCWNpcGhlcnRleHRfbGVuID0gKChwbGFpbnRleHRfbGVuICsgRVZQX0NJ UEhFUl9ibG9ja19zaXplKGNpcGhlcikpIC8KLSsJCQkJICBFVlBfQ0lQSEVSX2Jsb2NrX3NpemUo Y2lwaGVyKSkgKiBFVlBfQ0lQSEVSX2Jsb2NrX3NpemUoY2lwaGVyKTsKLSAJCWhtYWNfZGlnZXN0 ID0gTlVMTDsKLSAJfQotIAotQEAgLTY2NiwxMiArNjY2LDEyIEBAIHZnX3Byb3RlY3RfY3J5cHQo aW50IHBhcmFtZXRlcl9ncm91cCwKLSAJCQkgIHNhbHQsIHNhbHRfbGVuLAotIAkJCSAgcGFyYW1z LT5pdGVyYXRpb25zLAotIAkJCSAgcGJrZGZfZGlnZXN0LAotLQkJCSAgY2lwaGVyLT5rZXlfbGVu ICsgY2lwaGVyLT5pdl9sZW4gKyBobWFjX2tleWxlbiwKLSsJCQkgIEVWUF9DSVBIRVJfa2V5X2xl bmd0aChjaXBoZXIpICsgRVZQX0NJUEhFUl9pdl9sZW5ndGgoY2lwaGVyKSArIGhtYWNfa2V5bGVu LAotIAkJCSAga2V5bWF0ZXJpYWwpOwotIAotIAlpZiAoIUVWUF9DaXBoZXJJbml0KGN0eCwgY2lw aGVyLAotIAkJCSAgICBrZXltYXRlcmlhbCwKLS0JCQkgICAga2V5bWF0ZXJpYWwgKyBjaXBoZXIt PmtleV9sZW4sCi0rCQkJICAgIGtleW1hdGVyaWFsICsgRVZQX0NJUEhFUl9rZXlfbGVuZ3RoKGNp cGhlciksCi0gCQkJICAgIGVuYykpIHsKLSAJCWZwcmludGYoc3RkZXJyLCAiRVJST1I6IGNvdWxk IG5vdCBjb25maWd1cmUgY2lwaGVyXG4iKTsKLSAJCWdvdG8gb3V0OwotQEAgLTcwNyw3ICs3MDcs NyBAQCB2Z19wcm90ZWN0X2NyeXB0KGludCBwYXJhbWV0ZXJfZ3JvdXAsCi0gCWlmIChobWFjX2xl bikgewotIAkJaGxlbiA9IHNpemVvZihobWFjKTsKLSAJCUhNQUMoaG1hY19kaWdlc3QsCi0tCQkg ICAgIGtleW1hdGVyaWFsICsgY2lwaGVyLT5rZXlfbGVuICsgY2lwaGVyLT5pdl9sZW4sCi0rCQkg ICAgIGtleW1hdGVyaWFsICsgRVZQX0NJUEhFUl9rZXlfbGVuZ3RoKGNpcGhlcikgKyBFVlBfQ0lQ SEVSX2l2X2xlbmd0aChjaXBoZXIpLAotIAkJICAgICBobWFjX2tleWxlbiwKLSAJCSAgICAgZW5j ID8gZGF0YV9pbiA6IGRhdGFfb3V0LCBwbGFpbnRleHRfbGVuLAotIAkJICAgICBobWFjLCAmaGxl bik7Ci1AQCAtNzg2LDcgKzc4Niw3IEBAIHZnX3Byb3RlY3RfZGVjb2RlX3ByaXZrZXkoRUNfS0VZ ICpwa2V5LCBpbnQgKmtleXR5cGUsCi0gewotIAl1bnNpZ25lZCBjaGFyIGVjcHJpdls2NF07Ci0g CXVuc2lnbmVkIGNoYXIgZWNlbmNbMTI4XTsKLS0JQklHTlVNIGJuOwotKwlCSUdOVU0gKmJuOwot IAlpbnQgcmVzdHlwZTsKLSAJaW50IHJlczsKLSAKLUBAIC04MTAsMTAgKzgxMCwxMCBAQCB2Z19w cm90ZWN0X2RlY29kZV9wcml2a2V5KEVDX0tFWSAqcGtleSwgaW50ICprZXl0eXBlLAotIAotIAly ZXMgPSAxOwotIAlpZiAocGtleSkgewotLQkJQk5faW5pdCgmYm4pOwotLQkJQk5fYmluMmJuKGVj cHJpdiwgMzIsICZibik7Ci0tCQlyZXMgPSB2Z19zZXRfcHJpdmtleSgmYm4sIHBrZXkpOwotLQkJ Qk5fY2xlYXJfZnJlZSgmYm4pOwotKwkJYm4gPSBCTl9uZXcoKTsKLSsJCUJOX2JpbjJibihlY3By aXYsIDMyLCBibik7Ci0rCQlyZXMgPSB2Z19zZXRfcHJpdmtleShibiwgcGtleSk7Ci0rCQlCTl9j bGVhcl9mcmVlKGJuKTsKLSAJCU9QRU5TU0xfY2xlYW5zZShlY3ByaXYsIHNpemVvZihlY3ByaXYp KTsKLSAJfQotIAotZGlmZiAtLWdpdCBhL3Zhbml0eWdlbi5jIGIvdmFuaXR5Z2VuLmMKLWluZGV4 IGZiNzkyNWEuLjk5MmU1ZDcgMTAwNjQ0Ci0tLS0gYS92YW5pdHlnZW4uYwotKysrIGIvdmFuaXR5 Z2VuLmMKLUBAIC05NCw4ICs5NCw4IEBAIHZnX3RocmVhZF9sb29wKHZvaWQgKmFyZykKLSAJCWV4 aXQoMSk7Ci0gCX0KLSAKLS0JQk5fc2V0X3dvcmQoJnZ4Y3AtPnZ4Y19ibnRtcCwgcHRhcnJheXNp emUpOwotLQlFQ19QT0lOVF9tdWwocGdyb3VwLCBwYmF0Y2hpbmMsICZ2eGNwLT52eGNfYm50bXAs IE5VTEwsIE5VTEwsCi0rCUJOX3NldF93b3JkKHZ4Y3AtPnZ4Y19ibnRtcCwgcHRhcnJheXNpemUp OwotKwlFQ19QT0lOVF9tdWwocGdyb3VwLCBwYmF0Y2hpbmMsIHZ4Y3AtPnZ4Y19ibnRtcCwgTlVM TCwgTlVMTCwKLSAJCSAgICAgdnhjcC0+dnhjX2JuY3R4KTsKLSAJRUNfUE9JTlRfbWFrZV9hZmZp bmUocGdyb3VwLCBwYmF0Y2hpbmMsIHZ4Y3AtPnZ4Y19ibmN0eCk7Ci0gCi1AQCAtMTM5LDEzICsx MzksMTMgQEAgdmdfdGhyZWFkX2xvb3Aodm9pZCAqYXJnKQotIAkJCW5wb2ludHMgPSAwOwotIAot IAkJCS8qIERldGVybWluZSByZWtleSBpbnRlcnZhbCAqLwotLQkJCUVDX0dST1VQX2dldF9vcmRl cihwZ3JvdXAsICZ2eGNwLT52eGNfYm50bXAsCi0rCQkJRUNfR1JPVVBfZ2V0X29yZGVyKHBncm91 cCwgdnhjcC0+dnhjX2JudG1wLAotIAkJCQkJICAgdnhjcC0+dnhjX2JuY3R4KTsKLS0JCQlCTl9z dWIoJnZ4Y3AtPnZ4Y19ibnRtcDIsCi0tCQkJICAgICAgICZ2eGNwLT52eGNfYm50bXAsCi0rCQkJ Qk5fc3ViKHZ4Y3AtPnZ4Y19ibnRtcDIsCi0rCQkJICAgICAgIHZ4Y3AtPnZ4Y19ibnRtcCwKLSAJ CQkgICAgICAgRUNfS0VZX2dldDBfcHJpdmF0ZV9rZXkocGtleSkpOwotLQkJCXJla2V5X2F0ID0g Qk5fZ2V0X3dvcmQoJnZ4Y3AtPnZ4Y19ibnRtcDIpOwotLQkJCWlmICgocmVrZXlfYXQgPT0gQk5f TUFTSzIpIHx8IChyZWtleV9hdCA+IHJla2V5X21heCkpCi0rCQkJcmVrZXlfYXQgPSBCTl9nZXRf d29yZCh2eGNwLT52eGNfYm50bXAyKTsKLSsJCQlpZiAoKHJla2V5X2F0ID09IDB4ZmZmZmZmZmZM KSB8fCAocmVrZXlfYXQgPiByZWtleV9tYXgpKQotIAkJCQlyZWtleV9hdCA9IHJla2V5X21heDsK LSAJCQlhc3NlcnQocmVrZXlfYXQgPiAwKTsKLSAKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvdmFuaXR5 Z2VuL3BhdGNoZXMvNWYxNjNlNmZmZjdkYTUyYzRhZWNiZDg5OGQ5ZGYyZTYwYTU2ZjEzNC5wYXRj aCBiL3NyY3BrZ3MvdmFuaXR5Z2VuL3BhdGNoZXMvNWYxNjNlNmZmZjdkYTUyYzRhZWNiZDg5OGQ5 ZGYyZTYwYTU2ZjEzNC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWVlMzBh ZTA4Y2RmLi4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy92YW5pdHlnZW4vcGF0Y2hlcy81ZjE2 M2U2ZmZmN2RhNTJjNGFlY2JkODk4ZDlkZjJlNjBhNTZmMTM0LnBhdGNoCisrKyAvZGV2L251bGwK QEAgLTEsOTggKzAsMCBAQAotRnJvbSA1ZjE2M2U2ZmZmN2RhNTJjNGFlY2JkODk4ZDlkZjJlNjBh NTZmMTM0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogRGVzV3Vyc3RlcyA8RGVzV3Vy c3Rlc0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+Ci1EYXRlOiBTdW4sIDMgSnVuIDIwMTggMTc6 NDY6MTYgKzAzMDAKLVN1YmplY3Q6IFtQQVRDSF0gUHJpdmtleSBwcmVmaXggT3BlblNTTCAxLjEg Y29tcGF0aWJpbGl0eSAoIzExNikKLQotRml4ZXMgIzExNAotLS0tCi0gb2NsZW5naW5lLmMgfCAx OCArKysrKysrKysrKysrLS0tLS0KLSB2YW5pdHlnZW4uYyB8IDEyICsrKysrKysrKystLQotIDIg ZmlsZXMgY2hhbmdlZCwgMjMgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKLQotZGlmZiAt LWdpdCBhL29jbGVuZ2luZS5jIGIvb2NsZW5naW5lLmMKLWluZGV4IDY1ODVmYzYuLmM2OWJkNGIg MTAwNjQ0Ci0tLS0gYS9vY2xlbmdpbmUuYwotKysrIGIvb2NsZW5naW5lLmMKLUBAIC01LDcgKzUs NyBAQAotICAqIFZhbml0eWdlbiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0 ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZm ZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0gICogdGhlIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IK LS0gKiBhbnkgbGF0ZXIgdmVyc2lvbi4gCi0rICogYW55IGxhdGVyIHZlcnNpb24uCi0gICoKLSAg KiBWYW5pdHlnZW4gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVz ZWZ1bCwKLSAgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w bGllZCB3YXJyYW50eSBvZgotQEAgLTEwNTgsNyArMTA1OCw3IEBAIHZnX29jbF9rZXJuZWxfYXJn X2FsbG9jKHZnX29jbF9jb250ZXh0X3QgKnZvY3AsIGludCBzbG90LAotIAkJCQkJICAgICBrYXJn LAotIAkJCQkJICAgICBzaXplb2YoY2xidWYpLAotIAkJCQkJICAgICAmY2xidWYpOwotLQkJCQot KwotIAkJCWlmIChyZXQpIHsKLSAJCQkJZnByaW50ZihzdGRlcnIsCi0gCQkJCQkiY2xTZXRLZXJu ZWxBcmcoJWQsJWQpOiAiLCBrbnVtLCBrYXJnKTsKLUBAIC0xMDkwLDcgKzEwOTAsNyBAQCB2Z19v Y2xfY29weW91dF9hcmcodmdfb2NsX2NvbnRleHRfdCAqdm9jcCwgaW50IHdzbG90LCBpbnQgYXJn LAotIAkJCQkgICBidWZmZXIsCi0gCQkJCSAgIDAsIE5VTEwsCi0gCQkJCSAgIE5VTEwpOwotLQkJ CQotKwotIAlpZiAocmV0KSB7Ci0gCQlmcHJpbnRmKHN0ZGVyciwgImNsRW5xdWV1ZVdyaXRlQnVm ZmVyKCVkKTogIiwgYXJnKTsKLSAJCXZnX29jbF9lcnJvcih2b2NwLCByZXQsIE5VTEwpOwotQEAg LTIwNzksNyArMjA3OSwxNSBAQCB2Z19vcGVuY2xfbG9vcCh2Z19leGVjX2NvbnRleHRfdCAqYXJn KQotIAlucG9pbnRzID0gMDsKLSAJaWYgKHZjcC0+dmNfcHJpdmtleV9wcmVmaXhfbGVuZ3RoID4g MCkgewotIAkJQklHTlVNICpwa2JuID0gQk5fZHVwKEVDX0tFWV9nZXQwX3ByaXZhdGVfa2V5KHBr ZXkpKTsKLS0JCW1lbWNweSgoY2hhciAqKXBrYm4tPmQgKyAzMiAtIHZjcC0+dmNfcHJpdmtleV9w cmVmaXhfbGVuZ3RoLCB2Y3AtPnZjX3ByaXZrZXlfcHJlZml4LCB2Y3AtPnZjX3ByaXZrZXlfcHJl Zml4X2xlbmd0aCk7Ci0rCQl1bnNpZ25lZCBjaGFyIHBrZXlfYXJyWzMyXTsKLSsJCWFzc2VydChC Tl9ibjJiaW4ocGtibiwgcGtleV9hcnIpIDwgMzMpOwotKwkJbWVtY3B5KChjaGFyICopIHBrZXlf YXJyLCB2Y3AtPnZjX3ByaXZrZXlfcHJlZml4LCB2Y3AtPnZjX3ByaXZrZXlfcHJlZml4X2xlbmd0 aCk7Ci0rCQlmb3IgKGludCBpID0gMDsgaSA8IHZjcC0+dmNfcHJpdmtleV9wcmVmaXhfbGVuZ3Ro IC8gMjsgaSsrKSB7Ci0rCQkJaW50IGsgPSBwa2V5X2FycltpXTsKLSsJCQlwa2V5X2FycltpXSA9 IHBrZXlfYXJyW3ZjcC0+dmNfcHJpdmtleV9wcmVmaXhfbGVuZ3RoIC0gMSAtIGldOwotKwkJCXBr ZXlfYXJyW3ZjcC0+dmNfcHJpdmtleV9wcmVmaXhfbGVuZ3RoIC0gMSAtIGldID0gazsKLSsJCX0K LSsJCUJOX2JpbjJibihwa2V5X2FyciwgMzIsIHBrYm4pOwotIAkJRUNfS0VZX3NldF9wcml2YXRl X2tleShwa2V5LCBwa2JuKTsKLSAKLSAJCUVDX1BPSU5UICpvcmlnaW4gPSBFQ19QT0lOVF9uZXco cGdyb3VwKTsKLUBAIC0yMjQwLDcgKzIyNDgsNyBAQCB2Z19vcGVuY2xfbG9vcCh2Z19leGVjX2Nv bnRleHRfdCAqYXJnKQotIAkJCXNsb3RfYnVzeSA9IDE7Ci0gCQkJc2xvdCA9IChzbG90ICsgMSkg JSBuc2xvdHM7Ci0gCi0tCQl9IGVsc2UgeyAKLSsJCX0gZWxzZSB7Ci0gCQkJaWYgKHNsb3RfYnVz eSkgewotIAkJCQlwdGhyZWFkX211dGV4X2xvY2soJnZvY3AtPnZvY19sb2NrKTsKLSAJCQkJd2hp bGUgKHZvY3AtPnZvY19vY2xfc2xvdCAhPSAtMSkgewotZGlmZiAtLWdpdCBhL3Zhbml0eWdlbi5j IGIvdmFuaXR5Z2VuLmMKLWluZGV4IDk5MmU1ZDcuLjVlNDlkZjcgMTAwNjQ0Ci0tLS0gYS92YW5p dHlnZW4uYwotKysrIGIvdmFuaXR5Z2VuLmMKLUBAIC0xMjksNyArMTI5LDE1IEBAIHZnX3RocmVh ZF9sb29wKHZvaWQgKmFyZykKLSAJCQlFQ19LRVlfZ2VuZXJhdGVfa2V5KHBrZXkpOwotIAkJCWlm ICh2Y3AtPnZjX3ByaXZrZXlfcHJlZml4X2xlbmd0aCA+IDApIHsKLSAJCQkJQklHTlVNICpwa2Ju ID0gQk5fZHVwKEVDX0tFWV9nZXQwX3ByaXZhdGVfa2V5KHBrZXkpKTsKLS0JCQkJbWVtY3B5KChj aGFyICopcGtibi0+ZCArIDMyIC0gdmNwLT52Y19wcml2a2V5X3ByZWZpeF9sZW5ndGgsIHZjcC0+ dmNfcHJpdmtleV9wcmVmaXgsIHZjcC0+dmNfcHJpdmtleV9wcmVmaXhfbGVuZ3RoKTsKLSsgICAg ICAgIHVuc2lnbmVkIGNoYXIgcGtleV9hcnJbMzJdOwotKyAgICAgICAgYXNzZXJ0KEJOX2JuMmJp bihwa2JuLCBwa2V5X2FycikgPCAzMyk7Ci0rICAgICAgICBtZW1jcHkoKGNoYXIgKikgcGtleV9h cnIsIHZjcC0+dmNfcHJpdmtleV9wcmVmaXgsIHZjcC0+dmNfcHJpdmtleV9wcmVmaXhfbGVuZ3Ro KTsKLSsJCQkJZm9yIChpbnQgaSA9IDA7IGkgPCB2Y3AtPnZjX3ByaXZrZXlfcHJlZml4X2xlbmd0 aCAvIDI7IGkrKykgewotKwkJCQkJaW50IGsgPSBwa2V5X2FycltpXTsKLSsJCQkJCXBrZXlfYXJy W2ldID0gcGtleV9hcnJbdmNwLT52Y19wcml2a2V5X3ByZWZpeF9sZW5ndGggLSAxIC0gaV07Ci0r CQkJCQlwa2V5X2Fyclt2Y3AtPnZjX3ByaXZrZXlfcHJlZml4X2xlbmd0aCAtIDEgLSBpXSA9IGs7 Ci0rCQkJCX0KLSsgICAgICAgIEJOX2JpbjJibihwa2V5X2FyciwgMzIsIHBrYm4pOwotIAkJCQlF Q19LRVlfc2V0X3ByaXZhdGVfa2V5KHBrZXksIHBrYm4pOwotIAotIAkJCQlFQ19QT0lOVCAqb3Jp Z2luID0gRUNfUE9JTlRfbmV3KHBncm91cCk7Ci1AQCAtMTM5NSw3ICsxNDAzLDcgQEAgbWFpbihp bnQgYXJnYywgY2hhciAqKmFyZ3YpCi0gCQkJCQlhZGRydHlwZSA9IDYwOwotIAkJCQkJcHJpdnR5 cGUgPSAxMjg7Ci0gCQkJCQlicmVhazsKLS0JCQl9CQkJCi0rCQkJfQotIAkJCWJyZWFrOwotIAot IC8qRU5EIEFMVENPSU4gR0VORVJBVE9SKi8KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvdmFuaXR5Z2Vu L3RlbXBsYXRlIGIvc3JjcGtncy92YW5pdHlnZW4vdGVtcGxhdGUKZGVsZXRlZCBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDYyNGFjODU5ZDVkMi4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvdmFu aXR5Z2VuL3RlbXBsYXRlCisrKyAvZGV2L251bGwKQEAgLTEsMjEgKzAsMCBAQAotIyBUZW1wbGF0 ZSBmaWxlIGZvciAndmFuaXR5Z2VuJwotcGtnbmFtZT12YW5pdHlnZW4KLXZlcnNpb249MS41Mwot cmV2aXNpb249MgotbWFrZWRlcGVuZHM9InBjcmUtZGV2ZWwgb3BlbnNzbC1kZXZlbCIKLXNob3J0 X2Rlc2M9IkJpdGNvaW4gdmFuaXR5IGFkZHJlc3MgZ2VuZXJhdG9yIgotbWFpbnRhaW5lcj0iT3Jw aGFuZWQgPG9ycGhhbkB2b2lkbGludXgub3JnPiIKLWxpY2Vuc2U9IkFHUEwtMy4wLW9yLWxhdGVy IgotaG9tZXBhZ2U9Imh0dHBzOi8vZ2l0aHViLmNvbS9leHBsb2l0YWdlbmN5L3Zhbml0eWdlbi1w bHVzIgotY2hhbmdlbG9nPSJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZXhwbG9p dGFnZW5jeS92YW5pdHlnZW4tcGx1cy9tYXN0ZXIvQ0hBTkdFTE9HIgotZGlzdGZpbGVzPSJodHRw czovL2dpdGh1Yi5jb20vZXhwbG9pdGFnZW5jeS92YW5pdHlnZW4tcGx1cy9hcmNoaXZlL1BMVVMk e3ZlcnNpb259LnRhci5neiIKLWNoZWNrc3VtPTk3NmE5YWZlMmE0NDcwNTUxYThiNmIwZGE5NzEw MWEzYTJlNmM1NGM1YTI2ZGM4NzBhZTc1NWJiMmQ4YzcwNDEKLQotZG9fYnVpbGQoKSB7Ci0JbWFr ZSBDQz0kQ0MgQ0ZMQUdTPSIkQ0ZMQUdTICRMREZMQUdTIiAke21ha2Vqb2JzfQotfQotZG9faW5z dGFsbCgpIHsKLQl2YmluIHZhbml0eWdlbgotCXZiaW4ga2V5Y29udgotCXZsaWNlbnNlIExJQ0VO U0UKLX0KCkZyb20gMTg3ODBmYmVmNjFkMTU4ZDE1ZWZhODMxMWQwOTRiMzEzMmVmOTZhZiBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogZGt3byA8bmljb2xvcGlhenphbHVuZ2FAZ21haWwu Y29tPgpEYXRlOiBUaHUsIDI2IEphbiAyMDIzIDEzOjUxOjIyIC0wNTAwClN1YmplY3Q6IFtQQVRD SCAwNS8xMV0gcGpwcm9qZWN0OiB1cGRhdGUgdG8gMi4xMwoKLS0tCiBzcmNwa2dzL3BqcHJvamVj dC90ZW1wbGF0ZSB8IDE0ICsrKysrKystLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNyBpbnNlcnRp b25zKCspLCA3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcGpwcm9qZWN0L3Rl bXBsYXRlIGIvc3JjcGtncy9wanByb2plY3QvdGVtcGxhdGUKaW5kZXggYzk0ZWFkOTBlOWRlLi44 OTQ3NGU1N2U3ODIgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcGpwcm9qZWN0L3RlbXBsYXRlCisrKyBi L3NyY3BrZ3MvcGpwcm9qZWN0L3RlbXBsYXRlCkBAIC0yLDkgKzIsOCBAQAogIyBuby10aGlyZC1w YXJ0eS5wYXRjaCBjb21lcyBmcm9tIEFscGluZSwKICMgYW5kIHRoaXMgdGVtcGxhdGUgaXMgaGVh dmlseSBiYXNlZCBvbiBBbHBpbmUncyBBUEtCVUlMRC4KIHBrZ25hbWU9cGpwcm9qZWN0Ci12ZXJz aW9uPTIuOAotcmV2aXNpb249NQotZGlzYWJsZV9wYXJhbGxlbF9idWlsZD15ZXMKK3ZlcnNpb249 Mi4xMworcmV2aXNpb249MQogYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQogY29uZmlndXJlX2Fy Z3M9Ii0tZW5hYmxlLXNoYXJlZCBcCiAJLS1lbmFibGUtbGlic2FtcGxlcmF0ZSBcCkBAIC0xNywx MyArMTYsMTQgQEAgY29uZmlndXJlX2FyZ3M9Ii0tZW5hYmxlLXNoYXJlZCBcCiAjIHdlYnJ0Yy1h dWRpby1wcm9jZXNzaW5nLCBidXQgaXQgZG9lc24ndCBoYXZlIHdoYXQgSSBuZWVkLiAgVXNpbmcg dGhlCiAjIGJ1bmRsZWQgdmVyc2lvbnMgd291bGQgYWxzbyBwb2xsdXRlIGJ1aWxkIHdpdGggbGli eXV2IGFuZCBsaWJ3ZWJydGMgKHl1Y2spLgogbWFrZWRlcGVuZHM9Im9wZW5zc2wtZGV2ZWwgYWxz YS1saWItZGV2ZWwgbGliZ3NtLWRldmVsIHNwZWV4LWRldmVsIHNwZWV4ZHNwLWRldmVsCi0JbGli c3J0cC1kZXZlbCBsaWJzYW1wbGVyYXRlLWRldmVsIgorIGxpYnNydHAtZGV2ZWwgbGlic2FtcGxl cmF0ZS1kZXZlbCIKIHNob3J0X2Rlc2M9Ik9wZW4gc291cmNlIFNJUCBhbmQgbWVkaWEgc3RhY2si CiBtYWludGFpbmVyPSJDaHJpc3RvcGhlciBCcmFubm9uIDxjaHJpc0B0aGUtYnJhbm5vbnMuY29t PiIKIGxpY2Vuc2U9IkdQTC0yLjAtb3ItbGF0ZXIiCi1ob21lcGFnZT0iaHR0cDovL3d3dy5wanNp cC5vcmcvcGpzdWEuaHRtIgotZGlzdGZpbGVzPSJodHRwOi8vd3d3LnBqc2lwLm9yZy9yZWxlYXNl LyR7dmVyc2lvbn0vJHtwa2duYW1lfS0ke3ZlcnNpb259LnRhci5iejIiCi1jaGVja3N1bT01MDNk MGJkN2Y5ZjEzZGMxNDkyYWM5YjcxYjc2MWIxMDg5ODUxZmJiNjA4YjlhMTM5OTZlZGMzYzQyMDA2 Zjc5Citob21lcGFnZT0iaHR0cHM6Ly93d3cucGpzaXAub3JnLyIKK2Rpc3RmaWxlcz0iaHR0cHM6 Ly9naXRodWIuY29tL3Bqc2lwL3BqcHJvamVjdC9hcmNoaXZlL3JlZnMvdGFncy8ke3ZlcnNpb259 LnRhci5neiIKK2NoZWNrc3VtPTQxNzhiYjlmNTg2Mjk5MTExNDYzZmMxNmVhMDRlNDYxYWRjYTRh NzNlNjQ2ZjhkZGVmNjFlYTUzZGFmYTkyZDkKK2Rpc2FibGVfcGFyYWxsZWxfYnVpbGQ9eWVzCiAK IHByZV9jb25maWd1cmUoKSB7CiAJZXhwb3J0IExEPSIke0NDfSIKCkZyb20gNjk2YzRhZjI4MDRl MTZlNGY3MTkzMDc4OWUwZTA1ZmI0ODExOTM1NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogZGt3byA8bmljb2xvcGlhenphbHVuZ2FAZ21haWwuY29tPgpEYXRlOiBUaHUsIDI2IEphbiAy MDIzIDEzOjU0OjM1IC0wNTAwClN1YmplY3Q6IFtQQVRDSCAwNi8xMV0gc3R1bm5lbDogdXBkYXRl IHRvIDUuNjcKCi0tLQogc3JjcGtncy9zdHVubmVsL3RlbXBsYXRlIHwgNCArKy0tCiAxIGZpbGUg Y2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3Mvc3R1bm5lbC90ZW1wbGF0ZSBiL3NyY3BrZ3Mvc3R1bm5lbC90ZW1wbGF0ZQppbmRleCA5 YWQzNTFlOWUxOTAuLjYzZmQzNjc2Mjk4ZSAxMDA2NDQKLS0tIGEvc3JjcGtncy9zdHVubmVsL3Rl bXBsYXRlCisrKyBiL3NyY3BrZ3Mvc3R1bm5lbC90ZW1wbGF0ZQpAQCAtMSw2ICsxLDYgQEAKICMg VGVtcGxhdGUgZmlsZSBmb3IgJ3N0dW5uZWwnCiBwa2duYW1lPXN0dW5uZWwKLXZlcnNpb249NS42 NgordmVyc2lvbj01LjY3CiByZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCiBj b25maWd1cmVfYXJncz0iLS1lbmFibGUtaXB2NiAtLXdpdGgtc3NsPSR7WEJQU19DUk9TU19CQVNF fS91c3IiCkBAIC0xMyw3ICsxMyw3IEBAIGxpY2Vuc2U9IkdQTC0yLjAtb3ItbGF0ZXIiCiBob21l cGFnZT0iaHR0cHM6Ly93d3cuc3R1bm5lbC5vcmcvIgogY2hhbmdlbG9nPSJodHRwczovL3d3dy5z dHVubmVsLm9yZy9ORVdTLmh0bWwiCiBkaXN0ZmlsZXM9Imh0dHBzOi8vd3d3LnN0dW5uZWwub3Jn L2Rvd25sb2Fkcy9zdHVubmVsLSR7dmVyc2lvbn0udGFyLmd6IgotY2hlY2tzdW09NTU4MTc4NzA0 ZDFhYTVmNjg4M2FhYzZjYzVkNmJiZjJhNTcxNGM4YTBkMmU5MWRhMDM5MjQ2OGNlZTlmNTc5Ywor Y2hlY2tzdW09MzA4NjkzOWVlNjQwNzUxNmM1OWIwYmEzZmJmNTU1MzM4ZjlkNTJmNDU5YmNhYjYz MzdjMGYwMGU5MWVhODQ1NgogCiBwcmVfY2hlY2soKSB7CiAJIyBHaXRIdWIncyBDSSBkb2Vzbid0 IHN1cHBvcnQgSVB2NgoKRnJvbSBlMTI4ZDY2YjE3NDQwZjFkNWVmOGM5NDA2ODljNjQ2N2NkOGVk ZjI5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBka3dvIDxuaWNvbG9waWF6emFsdW5n YUBnbWFpbC5jb20+CkRhdGU6IFRodSwgMjYgSmFuIDIwMjMgMTQ6MDM6MjAgLTA1MDAKU3ViamVj dDogW1BBVENIIDA3LzExXSB0aHJpZnQ6IHVwZGF0ZSBkaXN0ZmlsZXMsIGJ1bXAgZm9yIG9wZW5z c2wKCi0tLQogc3JjcGtncy90aHJpZnQvdGVtcGxhdGUgfCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2Vk LCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy90 aHJpZnQvdGVtcGxhdGUgYi9zcmNwa2dzL3RocmlmdC90ZW1wbGF0ZQppbmRleCA5YWM0YmI0ODFj MzAuLjhiMWEwYzMyNDdmZCAxMDA2NDQKLS0tIGEvc3JjcGtncy90aHJpZnQvdGVtcGxhdGUKKysr IGIvc3JjcGtncy90aHJpZnQvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZp bGUgZm9yICd0aHJpZnQnCiBwa2duYW1lPXRocmlmdAogdmVyc2lvbj0wLjEzLjAKLXJldmlzaW9u PTYKK3JldmlzaW9uPTcKIGJ1aWxkX3N0eWxlPWdudS1jb25maWd1cmUKIGNvbmZpZ3VyZV9hcmdz PSItLXdpdGhvdXQtcHl0aG9uIgogbWFrZWRlcGVuZHM9ImJvb3N0LWRldmVsIG9wZW5zc2wtZGV2 ZWwiCkBAIC0xMCw3ICsxMCw3IEBAIHNob3J0X2Rlc2M9IkFwYWNoZSBUaHJpZnQgY29tcGlsZXIi CiBtYWludGFpbmVyPSJPcnBoYW5lZCA8b3JwaGFuQHZvaWRsaW51eC5vcmc+IgogbGljZW5zZT0i QXBhY2hlLTIuMCIKIGhvbWVwYWdlPSJodHRwczovL3RocmlmdC5hcGFjaGUub3JnLyIKLWRpc3Rm aWxlcz0iaHR0cDovL3d3dy11cy5hcGFjaGUub3JnL2Rpc3QvdGhyaWZ0LyR7dmVyc2lvbn0vdGhy aWZ0LSR7dmVyc2lvbn0udGFyLmd6IgorZGlzdGZpbGVzPSJodHRwczovL2FyY2hpdmUuYXBhY2hl Lm9yZy9kaXN0L3RocmlmdC8ke3ZlcnNpb259L3RocmlmdC0ke3ZlcnNpb259LnRhci5neiIKIGNo ZWNrc3VtPTdhZDM0OGI4ODAzM2FmNDZjZTQ5MTQ4MDk3YWZlMzU0ZDUxM2MxZmNhN2M2MDdiNTlj MzNlYmI2MDY0YjUxNzkKIAogaWYgWyAiJFhCUFNfVEFSR0VUX05PX0FUT01JQzgiIF07IHRoZW4K CkZyb20gMWNhNjQ4ZThmYWI2ZWFlOTFhN2E2ZDc4ZWY2ZWIwNDE1ZDBkY2Q2YSBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogZGt3byA8bmljb2xvcGlhenphbHVuZ2FAZ21haWwuY29tPgpE YXRlOiBGcmksIDI3IEphbiAyMDIzIDEwOjI1OjQ0IC0wNTAwClN1YmplY3Q6IFtQQVRDSCAwOC8x MV0gY2Jhbmc6IHVwZGF0ZSB0byAxLjcuMgoKLS0tCiBzcmNwa2dzL2NiYW5nL3RlbXBsYXRlIHwg MTIgKysrKysrLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCA2IGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2JhbmcvdGVtcGxhdGUgYi9zcmNwa2dzL2Ni YW5nL3RlbXBsYXRlCmluZGV4IDkzNTdiZGMwZDcwOS4uY2E5NDRmN2M4Yjc0IDEwMDY0NAotLS0g YS9zcmNwa2dzL2NiYW5nL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvY2JhbmcvdGVtcGxhdGUKQEAg LTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdjYmFuZycKIHBrZ25hbWU9Y2JhbmcK LXZlcnNpb249MS42LjAKLXJldmlzaW9uPTQKK3ZlcnNpb249MS43LjIKK3JldmlzaW9uPTEKIGJ1 aWxkX3N0eWxlPXNjb25zCiBtYWtlX2J1aWxkX2FyZ3M9InNoYXJlZGxpYj0xIHN0YXRpY2xpYj0x IgogbWFrZV9pbnN0YWxsX2FyZ3M9IiR7bWFrZV9idWlsZF9hcmdzfSIKQEAgLTE0LDExICsxNCwx MSBAQCBtYWludGFpbmVyPSJPcnBoYW5lZCA8b3JwaGFuQHZvaWRsaW51eC5vcmc+IgogbGljZW5z ZT0iTEdQTC0yLjEtb25seSIKIGhvbWVwYWdlPSJodHRwczovL2dpdGh1Yi5jb20vQ2F1bGRyb25E ZXZlbG9wbWVudExMQy9jYmFuZyIKIGRpc3RmaWxlcz0iaHR0cHM6Ly9naXRodWIuY29tL0NhdWxk cm9uRGV2ZWxvcG1lbnRMTEMvY2JhbmcvYXJjaGl2ZS8ke3ZlcnNpb259LnRhci5nej4ke3BrZ25h bWV9LSR7dmVyc2lvbn0udGFyLmd6IgotY2hlY2tzdW09OGFhNWVmYWNmNDE5YjcxMmI1YmQwMTcy YzlkNTYzMDFiZGNiZDQ3N2NiNTkwY2VlYzI1YzM1OTVhMTkyZTljMAorY2hlY2tzdW09YzBjODZk ZjYwMmY2NWY3MzNkMjc1ZGE3ODJiYmVjM2VkYTY2ZWUzNTViYzFhZWI2ZjczNjE3NWJhNzUzMmFj MQogCi1wb3N0X2V4dHJhY3QoKSB7Ci0JdG91Y2ggdGVzdHMvaW9zdHJlYW1UZXN0cy97QyxEZWN9 b21wcmVzc1Rlc3QvZGlzYWJsZQotfQorI3Bvc3RfZXh0cmFjdCgpIHsKKyMJdG91Y2ggdGVzdHMv aW9zdHJlYW1UZXN0cy97QyxEZWN9b21wcmVzc1Rlc3QvZGlzYWJsZQorI30KIAogcG9zdF9idWls ZCgpIHsKIAljZCB0ZXN0cwoKRnJvbSBmZWY3NTgzMTc2ZDkzOTQyZWE2MjcxMjk1ZmExY2UzNjE4 YzVhYWUyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBka3dvIDxuaWNvbG9waWF6emFs dW5nYUBnbWFpbC5jb20+CkRhdGU6IEZyaSwgMjcgSmFuIDIwMjMgMTA6NDU6MjAgLTA1MDAKU3Vi amVjdDogW1BBVENIIDA5LzExXSBwb2NvOiB1cGRhdGUgdG8gMS4xMi40CgotLS0KIGNvbW1vbi9z aGxpYnMgICAgICAgICB8IDI2ICsrKysrKysrKysrKystLS0tLS0tLS0tLS0tCiBzcmNwa2dzL3Bv Y28vdGVtcGxhdGUgfCAgOCArKysrLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCAxNyBpbnNlcnRpb25z KCspLCAxNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9jb21tb24vc2hsaWJzIGIvY29tbW9u L3NobGlicwppbmRleCA1OWU5Mjg2NjQ4NTAuLmY4ZmNjNTE4Y2JhNiAxMDA2NDQKLS0tIGEvY29t bW9uL3NobGlicworKysgYi9jb21tb24vc2hsaWJzCkBAIC0zMDA2LDE5ICszMDA2LDE5IEBAIGxp YnNpZ3Jvay5zby40IGxpYnNpZ3Jvay0wLjUuMF8xCiBsaWJzaWdyb2tjeHguc28uNCBsaWJzaWdy b2stMC41LjBfMQogbGlic2lncm9rZGVjb2RlLnNvLjQgbGlic2lncm9rZGVjb2RlLTAuNS4wXzIK IGxpYmdseXIuc28uMSBnbHlyLTEuMC44XzEKLWxpYlBvY29KU09OLnNvLjY0IHBvY28tMS45LjRf MwotbGliUG9jb01vbmdvREIuc28uNjQgcG9jby0xLjkuNF8zCi1saWJQb2NvWmlwLnNvLjY0IHBv Y28tMS45LjRfMwotbGliUG9jb0RhdGEuc28uNjQgcG9jby0xLjkuNF8zCi1saWJQb2NvTmV0LnNv LjY0IHBvY28tMS45LjRfMwotbGliUG9jb0RhdGFTUUxpdGUuc28uNjQgcG9jby0xLjkuNF8zCi1s aWJQb2NvRm91bmRhdGlvbi5zby42NCBwb2NvLTEuOS40XzMKLWxpYlBvY29YTUwuc28uNjQgcG9j by0xLjkuNF8zCi1saWJQb2NvVXRpbC5zby42NCBwb2NvLTEuOS40XzMKLWxpYlBvY29SZWRpcy5z by42NCBwb2NvLTEuOS40XzMKLWxpYlBvY29FbmNvZGluZ3Muc28uNjQgcG9jby0xLjkuNF8zCi1s aWJQb2NvTmV0U1NMLnNvLjY0IHBvY28tMS45LjRfMwotbGliUG9jb0NyeXB0by5zby42NCBwb2Nv LTEuOS40XzMKK2xpYlBvY29KU09OLnNvLjk0IHBvY28tMS4xMi40XzEKK2xpYlBvY29Nb25nb0RC LnNvLjk0IHBvY28tMS4xMi40XzEKK2xpYlBvY29aaXAuc28uOTQgcG9jby0xLjEyLjRfMQorbGli UG9jb0RhdGEuc28uOTQgcG9jby0xLjEyLjRfMQorbGliUG9jb05ldC5zby45NCBwb2NvLTEuMTIu NF8xCitsaWJQb2NvRGF0YVNRTGl0ZS5zby45NCBwb2NvLTEuMTIuNF8xCitsaWJQb2NvRm91bmRh dGlvbi5zby45NCBwb2NvLTEuMTIuNF8xCitsaWJQb2NvWE1MLnNvLjk0IHBvY28tMS4xMi40XzEK K2xpYlBvY29VdGlsLnNvLjk0IHBvY28tMS4xMi40XzEKK2xpYlBvY29SZWRpcy5zby45NCBwb2Nv LTEuMTIuNF8xCitsaWJQb2NvRW5jb2RpbmdzLnNvLjk0IHBvY28tMS4xMi40XzEKK2xpYlBvY29O ZXRTU0wuc28uOTQgcG9jby0xLjEyLjRfMQorbGliUG9jb0NyeXB0by5zby45NCBwb2NvLTEuMTIu NF8xCiBsaWJQdGV4LnNvIHB0ZXgtMi4zLjJfMQogbGlib3BlbmJsYXMuc28uMCBvcGVuYmxhcy0w LjIuMTlfMQogbGlicnRhdWRpby5zby42IHJ0YXVkaW8tNS4xLjBfMQpkaWZmIC0tZ2l0IGEvc3Jj cGtncy9wb2NvL3RlbXBsYXRlIGIvc3JjcGtncy9wb2NvL3RlbXBsYXRlCmluZGV4IDAwODUzNmI2 NzEyMS4uOTgzZmZlMDY5ZTNiIDEwMDY0NAotLS0gYS9zcmNwa2dzL3BvY28vdGVtcGxhdGUKKysr IGIvc3JjcGtncy9wb2NvL3RlbXBsYXRlCkBAIC0xLDE2ICsxLDE2IEBACiAjIFRlbXBsYXRlIGZp bGUgZm9yICdwb2NvJwogcGtnbmFtZT1wb2NvCi12ZXJzaW9uPTEuOS40Ci1yZXZpc2lvbj0zCit2 ZXJzaW9uPTEuMTIuNAorcmV2aXNpb249MQogYnVpbGRfc3R5bGU9Y21ha2UKIGNvbmZpZ3VyZV9h cmdzPSItRFBPQ09fVU5CVU5ETEVEPU9OIgotbWFrZWRlcGVuZHM9Im9wZW5zc2wtZGV2ZWwgemxp Yi1kZXZlbCBwY3JlLWRldmVsIGV4cGF0LWRldmVsIHNxbGl0ZS1kZXZlbCIKK21ha2VkZXBlbmRz PSJvcGVuc3NsLWRldmVsIHpsaWItZGV2ZWwgcGNyZTItZGV2ZWwgZXhwYXQtZGV2ZWwgc3FsaXRl LWRldmVsIgogc2hvcnRfZGVzYz0iQysrIGNsYXNzIGxpYnJhcmllcyBmb3IgYnVpbGRpbmcgbmV0 d29yay1iYXNlZCBhcHBsaWNhdGlvbnMiCiBtYWludGFpbmVyPSJKdWxpZW4gRGVob3MgPGRlaG9z QHVuaXYtbGl0dG9yYWwuZnI+IgogbGljZW5zZT0iQlNMLTEuMCIKIGhvbWVwYWdlPSJodHRwczov L3BvY29wcm9qZWN0Lm9yZyIKIGRpc3RmaWxlcz0iaHR0cHM6Ly9wb2NvcHJvamVjdC5vcmcvcmVs ZWFzZXMvJHtwa2duYW1lfS0ke3ZlcnNpb259LyR7cGtnbmFtZX0tJHt2ZXJzaW9ufS1hbGwudGFy Lmd6IgotY2hlY2tzdW09ZWIzNGYyNTdiMTEyNDBhNzExZWU1MDVmMWQ4MGM3NTRhODBhOTkwYWVi NDhkOGQ5MzQwNzg4NGRmMjg4ZmQ3NworY2hlY2tzdW09NGMzNTg0ZGFhNWIwZTk3M2YyNjg2NTRk YmViMTE3MWVjNzYyMWUzNThiMmI2NDM2M2NkMWFiZDU1OGE2ODc3NwogCiBwb3N0X2luc3RhbGwo KSB7CiAJdmxpY2Vuc2UgTElDRU5TRQoKRnJvbSBmZDA3NGU2NzI2ZjQ1ZGJjYTM4YTM1NTM2OWY2 Yjc0YzI2MzE2NWRlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBka3dvIDxuaWNvbG9w aWF6emFsdW5nYUBnbWFpbC5jb20+CkRhdGU6IEZyaSwgMjcgSmFuIDIwMjMgMTA6NDU6NDMgLTA1 MDAKU3ViamVjdDogW1BBVENIIDEwLzExXSByZW13aGFyZWFkOiBidW1wIGZvciBwb2NvCgotLS0K IHNyY3BrZ3MvcmVtd2hhcmVhZC90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGlu c2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcmVtd2hhcmVh ZC90ZW1wbGF0ZSBiL3NyY3BrZ3MvcmVtd2hhcmVhZC90ZW1wbGF0ZQppbmRleCBlNzJhYjA2MTMx ZTQuLjRmYjRjNTc0YjNlYyAxMDA2NDQKLS0tIGEvc3JjcGtncy9yZW13aGFyZWFkL3RlbXBsYXRl CisrKyBiL3NyY3BrZ3MvcmVtd2hhcmVhZC90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVt cGxhdGUgZmlsZSBmb3IgJ3JlbXdoYXJlYWQnCiBwa2duYW1lPXJlbXdoYXJlYWQKIHZlcnNpb249 MC4xMC4wCi1yZXZpc2lvbj00CityZXZpc2lvbj01CiBidWlsZF9zdHlsZT1jbWFrZQogaG9zdG1h a2VkZXBlbmRzPSJwb2NvLWRldmVsIGFzY2lpZG9jIHBrZy1jb25maWciCiBtYWtlZGVwZW5kcz0i cG9jby1kZXZlbCBib29zdC1kZXZlbCIKCkZyb20gNThhODNiMzQ0NWRmNGUzNGFmMTVjZTBjODkx MWFjZTE0NjNjZGQ1MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogZGt3byA8bmljb2xv cGlhenphbHVuZ2FAZ21haWwuY29tPgpEYXRlOiBTYXQsIDI4IEphbiAyMDIzIDE2OjU4OjMyIC0w NTAwClN1YmplY3Q6IFtQQVRDSCAxMS8xMV0gZ2l0LWNyeXB0OiB1cGRhdGUgdG8gMC43LjAsIGFk ZCBDWFhGTEFHIGZvciBvcGVuc3NsMwoKLS0tCiBzcmNwa2dzL2dpdC1jcnlwdC90ZW1wbGF0ZSB8 IDEwICsrKysrKystLS0KIDEgZmlsZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDMgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9naXQtY3J5cHQvdGVtcGxhdGUgYi9zcmNwa2dz L2dpdC1jcnlwdC90ZW1wbGF0ZQppbmRleCBmNWM0Yzc5YjY2NGQuLjE4YjBlMGY3NmE1OCAxMDA2 NDQKLS0tIGEvc3JjcGtncy9naXQtY3J5cHQvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9naXQtY3J5 cHQvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdnaXQtY3J5 cHQnCiBwa2duYW1lPWdpdC1jcnlwdAotdmVyc2lvbj0wLjYuMAotcmV2aXNpb249OAordmVyc2lv bj0wLjcuMAorcmV2aXNpb249MQogYnVpbGRfc3R5bGU9Z251LW1ha2VmaWxlCiBtYWtlX3VzZV9l bnY9eWVzCiBtYWtlX2J1aWxkX2FyZ3M9IkVOQUJMRV9NQU49eWVzIgpAQCAtMTMsNyArMTMsMTEg QEAgbWFpbnRhaW5lcj0iQW5keSBDb2JhdWdoIDxhbmRyZXdjb2JhdWdoQGdtYWlsLmNvbT4iCiBs aWNlbnNlPSJHUEwtMy4wLW9yLWxhdGVyIgogaG9tZXBhZ2U9Imh0dHBzOi8vd3d3LmFnd2EubmFt ZS9wcm9qZWN0cy9naXQtY3J5cHQvIgogZGlzdGZpbGVzPSJodHRwczovL2dpdGh1Yi5jb20vQUdX QS9naXQtY3J5cHQvYXJjaGl2ZS8ke3ZlcnNpb259LnRhci5neiIKLWNoZWNrc3VtPTc3N2MwYzdh YWRiYmM3NThiNjlhZmYxMzM5Y2E2MTY5NzAxMWVmN2I5MmYxZDFlZTk1MThhOGVlNzcwMmJiNzgK K2NoZWNrc3VtPTIyMTBhODk1ODgxNjlhZTlhNTQ5ODhjN2ZkZDk3MTczMzNmMGM2MDUzZmY3MDRk MzM1NjMxYTM4N2JkM2JjZmYKKworZG9fYnVpbGQoKSB7CisJbWFrZSBDWFhGTEFHUz0iJENYWEZM QUdTIC1ET1BFTlNTTF9BUElfQ09NUEFUPTB4MzAwMDAwMDBMIgorfQogCiBwb3N0X2luc3RhbGwo KSB7CiAJdmRvYyBSRUFETUUK --===============4263302756384351922==--