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 7016 invoked from network); 30 Jan 2023 15:15:14 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 30 Jan 2023 15:15:14 -0000 Content-Type: multipart/mixed; boundary="===============1924356953825893916==" 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 16:15:14 +0100 List-Id: Message-ID: <20230130151514.6aMz-0EmfYY2tFzr94_H1MNYMcxQz8hiIM-qEI7I2Jo@z> GitHub notification mails are now in MIME to allow UTF8. --===============1924356953825893916== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgZGt3byBhZ2FpbnN0IG1hc3RlciBv biB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20vZGt3by92 b2lkLXBhY2thZ2VzIG9wZW5zc2wzCmh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQt cGFja2FnZXMvcHVsbC8zNzY4MQoKdXBkYXRlIG9wZW5zc2wgdG8gMyBzZXJpZXMKLSBCdWlsZCBm YWlsdXJlcyBvbiBgeDg2XzY0LW11c2xgOg0KLSBbIF0gbm9kZWpzLWx0cywga29yZSwgeHJvb3Rk LCBuZXRwZ3AsIG9wZW5zYywgdnBuLXdzLCBlaWQtbXcsIGJvaW5jLCBwaHAsIHBocDguMCwgdW11 cm11ciwgbnpiZ2V0LCBucnBlLCBwa2NzMTEtaGVscGVyLCBtdW1ibGUsIHNxdWlkLCB4Y2E6IGRl cHJlY2F0ZWQgc29tZXRoaW5nDQotIFsgXSBtYWlyaXgsIHJ1c3Qtc2NjYWNoZSwgZnJhY3RhbCwg dGVsZWdyYW0tZGVza3RvcCwgcmFiYml0bXEtYywgZ2l0LWJyd3MsIHJvb3N0ZXIsIGNhcmdvLWFv Yywgc3BvdGlmeS10dWksIGdpdC1zZXJpZXMsIHRhcnBhdWxpbiwgdGFpc2VpLCBydXN0LWNhcmdv LWF1ZGl0LCBzaWduYWwtYmFja3VwLWRlY29kZSwgY2FyZ28tb3V0ZGF0ZWQsIHJ1c3R1cDogY2Fy Z28gZXJyb3JzDQotIFsgXSBsdWE1NC1sdWFzZWMsIHl1Ymlrby1waXYtdG9vbCwgZ2NzZiwgaXBt aXV0aWwsIHJuZy10b29sczogZXJyb3JzDQotIHhicHM6IGFkZGVkIHRlbXBvcmFyeSBmaXh0dXJl IHN1Z2dlc3RlZCBieSBARHVuY2Flbiwgc3RpbGwgYnJva2VuDQotIHJhY2tldDogZGVwZW5kIG9u IGxpYnNzbDMuMA0KLSBOb3RlIHRvIHNlbGY6IHVzZSBgeHJldmJ1bXAgImJ1bXAgZm9yIG9wZW5z c2wtMy4wIiAkKHhicHMtcXVlcnkgLVJzIGxpYnNzbC5zbyAtcCBzaGxpYi1yZXF1aXJlcyB8IGN1 dCAtZCAnOicgLWYgMSB8IHhhcmdzIC1uMSB4YnBzLXVoZWxwZXIgZ2V0cGtnbmFtZSlgIGFuZCBz YW1lIGZvciBgbGliY3J5cHRvYCwgb3IgdXNlIGBzb3J0IC11IGZpbGUxIGZpbGUyYC4NCltjaSBz a2lwXQoKQSBwYXRjaCBmaWxlIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9p ZC1wYWNrYWdlcy9wdWxsLzM3NjgxLnBhdGNoIGlzIGF0dGFjaGVk --===============1924356953825893916== 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 dGU6IFNhdCwgMjUgSnVuIDIwMjIgMTg6MjI6MjggKzAyMDAKU3ViamVjdDogW1BBVENIIDEvN10g b3BlbnNzbDogdXBkYXRlIHRvIDMuMC43CgotLS0KIGNvbW1vbi9zaGxpYnMgICAgICAgICAgICAg ICAgICAgICAgICAgICB8ICA0ICstCiBzcmNwa2dzL3tsaWJjcnlwdG8xLjEgPT4gbGliY3J5cHRv My4wfSAgfCAgMAogc3JjcGtncy97bGlic3NsMS4xID0+IGxpYnNzbDMuMH0gICAgICAgIHwgIDAK IHNyY3BrZ3Mvb3BlbnNzbC9wYXRjaGVzL3BwYy1hdXh2LnBhdGNoICB8IDI1IC0tLS0tLS0KIHNy Y3BrZ3Mvb3BlbnNzbC9wYXRjaGVzL3BwYzY0LnBhdGNoICAgICB8IDk2IC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KIHNyY3BrZ3Mvb3BlbnNzbC9wYXRjaGVzL3h4eC1wcGNsZS5wYXRjaCB8IDUz IC0tLS0tLS0tLS0tLS0tCiBzcmNwa2dzL29wZW5zc2wvdGVtcGxhdGUgICAgICAgICAgICAgICAg fCAyMCArKystLS0KIDcgZmlsZXMgY2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKSwgMTg0IGRlbGV0 aW9ucygtKQogcmVuYW1lIHNyY3BrZ3Mve2xpYmNyeXB0bzEuMSA9PiBsaWJjcnlwdG8zLjB9ICgx MDAlKQogcmVuYW1lIHNyY3BrZ3Mve2xpYnNzbDEuMSA9PiBsaWJzc2wzLjB9ICgxMDAlKQogZGVs ZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mvb3BlbnNzbC9wYXRjaGVzL3BwYy1hdXh2LnBhdGNoCiBk ZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9vcGVuc3NsL3BhdGNoZXMvcHBjNjQucGF0Y2gKIGRl bGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL29wZW5zc2wvcGF0Y2hlcy94eHgtcHBjbGUucGF0Y2gK CmRpZmYgLS1naXQgYS9jb21tb24vc2hsaWJzIGIvY29tbW9uL3NobGlicwppbmRleCBlZGI4YTJj NWRkNzMuLjU5ZTkyODY2NDg1MCAxMDA2NDQKLS0tIGEvY29tbW9uL3NobGlicworKysgYi9jb21t b24vc2hsaWJzCkBAIC0xNzY4LDggKzE3NjgsOCBAQCBsaWJpZDMuc28gaWQzbGliLTMuOC4zXzcK IGxpYmlkMy0zLjguc28uMyBpZDNsaWItMy44LjNfNwogbGliZ2lyYXJhLWd0azMuc28uMyBnaXJh cmEtMC4yLjhfMQogbGlianEuc28uMSBqcS0xLjZfMgotbGliY3J5cHRvLnNvLjEuMSBsaWJjcnlw dG8xLjEtMS4xLjFmXzEKLWxpYnNzbC5zby4xLjEgbGlic3NsMS4xLTEuMS4xZl8xCitsaWJjcnlw dG8uc28uMyBsaWJjcnlwdG8zLjAtMy4wLjdfMQorbGlic3NsLnNvLjMgbGlic3NsMy4wLTMuMC43 XzEKIGxpYnZhbXAtaG9zdHNkay5zby4zIGxpYnZhbXAtcGx1Z2luLXNkay0yLjJfNgogbGlicG9y dG1pZGkuc28gcG9ydG1pZGktMjE3XzEKIGxpYldpbGRNaWRpLnNvLjIgbGlid2lsZG1pZGktMC40 LjNfMQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9saWJjcnlwdG8xLjEgYi9zcmNwa2dzL2xpYmNyeXB0 bzMuMApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gc3JjcGtncy9saWJjcnlwdG8x LjEKcmVuYW1lIHRvIHNyY3BrZ3MvbGliY3J5cHRvMy4wCmRpZmYgLS1naXQgYS9zcmNwa2dzL2xp YnNzbDEuMSBiL3NyY3BrZ3MvbGlic3NsMy4wCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUg ZnJvbSBzcmNwa2dzL2xpYnNzbDEuMQpyZW5hbWUgdG8gc3JjcGtncy9saWJzc2wzLjAKZGlmZiAt LWdpdCBhL3NyY3BrZ3Mvb3BlbnNzbC9wYXRjaGVzL3BwYy1hdXh2LnBhdGNoIGIvc3JjcGtncy9v cGVuc3NsL3BhdGNoZXMvcHBjLWF1eHYucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDI3NGFjMmQ1NTk5OC4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3Mvb3BlbnNzbC9wYXRj aGVzL3BwYy1hdXh2LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjUgKzAsMCBAQAotZGlmZiAt LWdpdCBhL2NyeXB0by9wcGNjYXAuYyBiL2NyeXB0by9wcGNjYXAuYwotaW5kZXggZWVhYTQ3Yy4u ZTZlZWIxNCAxMDA2NDQKLS0tLSBhL2NyeXB0by9wcGNjYXAuYwotKysrIGIvY3J5cHRvL3BwY2Nh cC5jCi1AQCAtMjA3LDE3ICsyMDcsOSBAQCBzaXplX3QgT1BFTlNTTF9pbnN0cnVtZW50X2J1czIo dW5zaWduZWQgaW50ICpvdXQsIHNpemVfdCBjbnQsIHNpemVfdCBtYXgpCi0gICAgICAgICByZXR1 cm4gMDsKLSB9Ci0gCi0tI2lmIGRlZmluZWQoX19HTElCQ19fKSAmJiBkZWZpbmVkKF9fR0xJQkNf UFJFUkVRKQotLSMgaWYgX19HTElCQ19QUkVSRVEoMiwgMTYpCi0tIyAgaW5jbHVkZSA8c3lzL2F1 eHYuaD4KLS0jICBkZWZpbmUgT1NTTF9JTVBMRU1FTlRfR0VUQVVYVkFMCi0tIyBlbGlmIGRlZmlu ZWQoX19BTkRST0lEX0FQSV9fKQotLS8qIHNlZSBodHRwczovL2RldmVsb3Blci5hbmRyb2lkLmdv b2dsZS5jbi9uZGsvZ3VpZGVzL2NwdS1mZWF0dXJlcyAqLwotLSMgIGlmIF9fQU5EUk9JRF9BUElf XyA+PSAxOAotLSMgICBpbmNsdWRlIDxzeXMvYXV4di5oPgotLSMgICBkZWZpbmUgT1NTTF9JTVBM RU1FTlRfR0VUQVVYVkFMCi0tIyAgZW5kaWYKLS0jIGVuZGlmCi0rI2lmIGRlZmluZWQoX19saW51 eF9fKQotKyMgaW5jbHVkZSA8c3lzL2F1eHYuaD4KLSsjIGRlZmluZSBPU1NMX0lNUExFTUVOVF9H RVRBVVhWQUwKLSAjZW5kaWYKLSAKLSAjaWYgZGVmaW5lZChfX0ZyZWVCU0RfXykKZGlmZiAtLWdp dCBhL3NyY3BrZ3Mvb3BlbnNzbC9wYXRjaGVzL3BwYzY0LnBhdGNoIGIvc3JjcGtncy9vcGVuc3Ns L3BhdGNoZXMvcHBjNjQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM3NWNl ZWRiYTJjMC4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3Mvb3BlbnNzbC9wYXRjaGVzL3BwYzY0 LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsOTYgKzAsMCBAQAotRnJvbSAzNGFiMTNiN2Q4ZTNl NzIzYWRiNjBiZTgxNDJlMzhiN2M5Y2QzODJhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJv bTogQW5keSBQb2x5YWtvdiA8YXBwcm9Ab3BlbnNzbC5vcmc+Ci1EYXRlOiBTdW4sIDUgTWF5IDIw MTkgMTg6MjU6NTAgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gY3J5cHRvL3Blcmxhc20vcHBjLXhs YXRlLnBsOiBhZGQgbGludXg2NHYyIGZsYXZvdXIKLU1JTUUtVmVyc2lvbjogMS4wCi1Db250ZW50 LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rp bmc6IDhiaXQKLQotVGhpcyBpcyBhIGJpZyBlbmRpYW4gRUxGdjIgY29uZmlndXJhdGlvbi4gRUxG djIgd2FzIGFscmVhZHkgYmVpbmcKLXVzZWQgZm9yIGxpdHRsZSBlbmRpYW4sIGFuZCBiaWcgZW5k aWFuIHdhcyB0cmFkaXRpb25hbGx5IEVMRnYxCi1idXQgdGhlcmUgYXJlIHByYWN0aWNhbCBjb25m aWd1cmF0aW9ucyB0aGF0IHVzZSBFTEZ2MiB3aXRoIGJpZwotZW5kaWFuIG5vd2FkYXlzIChBZMOp bGllIExpbnV4LCBWb2lkIExpbnV4LCBwb3NzaWJseSBHZW50b28sIGV0Yy4pCi0KLVJldmlld2Vk LWJ5OiBQYXVsIERhbGUgPHBhdWwuZGFsZUBvcmFjbGUuY29tPgotUmV2aWV3ZWQtYnk6IFJpY2hh cmQgTGV2aXR0ZSA8bGV2aXR0ZUBvcGVuc3NsLm9yZz4KLShNZXJnZWQgZnJvbSBodHRwczovL2dp dGh1Yi5jb20vb3BlbnNzbC9vcGVuc3NsL3B1bGwvODg4MykKLS0tLQotIGNyeXB0by9wZXJsYXNt L3BwYy14bGF0ZS5wbCB8IDggKysrKy0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25z KCspLCA0IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvY3J5cHRvL3Blcmxhc20vcHBjLXhs YXRlLnBsIGIvY3J5cHRvL3Blcmxhc20vcHBjLXhsYXRlLnBsCi1pbmRleCBlNTJmMmY2ZWE2Mi4u NWZjZDA1MjZkZmYgMTAwNzU1Ci0tLS0gYS9jcnlwdG8vcGVybGFzbS9wcGMteGxhdGUucGwKLSsr KyBiL2NyeXB0by9wZXJsYXNtL3BwYy14bGF0ZS5wbAotQEAgLTQ5LDcgKzQ5LDcgQEAKLSAJL29z eC8JCSYmIGRvIHsgJG5hbWUgPSAiXyRuYW1lIjsKLSAJCQkJbGFzdDsKLSAJCQkgICAgICB9Owot LQkvbGludXguKigzMnw2NGxlKS8KLSsJL2xpbnV4LiooMzJ8NjQobGV8djIpKS8KLSAJCQkmJiBk byB7CSRyZXQgLj0gIi5nbG9ibAkkbmFtZSI7Ci0gCQkJCWlmICghJCR0eXBlKSB7Ci0gCQkJCSAg ICAkcmV0IC49ICJcbi50eXBlCSRuYW1lLFxAZnVuY3Rpb24iOwotQEAgLTgwLDcgKzgwLDcgQEAK LSB9OwotIG15ICR0ZXh0ID0gc3ViIHsKLSAgICAgbXkgJHJldCA9ICgkZmxhdm91ciA9fiAvYWl4 LykgPyAiLmNzZWN0XHQudGV4dFtQUl0sNyIgOiAiLnRleHQiOwotLSAgICAkcmV0ID0gIi5hYml2 ZXJzaW9uCTJcbiIuJHJldAlpZiAoJGZsYXZvdXIgPX4gL2xpbnV4Lio2NGxlLyk7Ci0rICAgICRy ZXQgPSAiLmFiaXZlcnNpb24JMlxuIi4kcmV0CWlmICgkZmxhdm91ciA9fiAvbGludXguKjY0KGxl fHYyKS8pOwotICAgICAkcmV0OwotIH07Ci0gbXkgJG1hY2hpbmUgPSBzdWIgewotQEAgLTE4Niw3 ICsxODYsNyBAQAotIAotICMgU29tZSBBQklzIHNwZWNpZnkgdnJzYXZlLCBzcGVjaWFsLXB1cnBv c2UgcmVnaXN0ZXIgIzI1NiwgYXMgcmVzZXJ2ZWQKLSAjIGZvciBzeXN0ZW0gdXNlLgotLW15ICRu b192cnNhdmUgPSAoJGZsYXZvdXIgPX4gL2FpeHxsaW51eDY0bGUvKTsKLStteSAkbm9fdnJzYXZl ID0gKCRmbGF2b3VyID1+IC9haXh8bGludXg2NChsZXx2MikvKTsKLSBteSAkbXRzcHIgPSBzdWIg ewotICAgICBteSAoJGYsJGlkeCwkcmEpID0gQF87Ci0gICAgIGlmICgkaWR4ID09IDI1NiAmJiAk bm9fdnJzYXZlKSB7Ci1AQCAtMzE4LDcgKzMxOCw3IEBAIHN1YiB2Zm91ciB7Ci0gCWlmICgkbGFi ZWwpIHsKLSAJICAgIG15ICR4bGF0ZWQgPSAoJEdMT0JBTFN7JGxhYmVsfSBvciAkbGFiZWwpOwot IAkgICAgcHJpbnQgIiR4bGF0ZWQ6IjsKLS0JICAgIGlmICgkZmxhdm91ciA9fiAvbGludXguKjY0 bGUvKSB7Ci0rCSAgICBpZiAoJGZsYXZvdXIgPX4gL2xpbnV4Lio2NChsZXx2MikvKSB7Ci0gCQlp ZiAoJFRZUEVTeyRsYWJlbH0gPX4gL2Z1bmN0aW9uLykgewotIAkJICAgIHByaW50ZiAiXG4ubG9j YWxlbnRyeQklcywwXG4iLCR4bGF0ZWQ7Ci0gCQl9Ci0KLUZyb20gMDk4NDA0MTI4MzgzZGVkODdi YTM5MGRkNzRlY2Q5ZTJmZmE2ZjUzMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEFu ZHkgUG9seWFrb3YgPGFwcHJvQG9wZW5zc2wub3JnPgotRGF0ZTogU3VuLCA1IE1heSAyMDE5IDE4 OjMwOjU1ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIENvbmZpZ3VyZTogdXNlIEVMRnYyIEFCSSBv biBzb21lIHBwYzY0IGJpZyBlbmRpYW4gc3lzdGVtcwotCi1JZiBfQ0FMTF9FTEYgaXMgZGVmaW5l ZCB0byBiZSAyLCBpdCdzIGFuIEVMRnYyIHN5c3RlbS4KLUNvbmRpdGlvbmFsbHkgc3dpdGNoIHRv IHRoZSB2MiBwZXJsYXNtIHNjaGVtZS4KLQotUmV2aWV3ZWQtYnk6IFBhdWwgRGFsZSA8cGF1bC5k YWxlQG9yYWNsZS5jb20+Ci1SZXZpZXdlZC1ieTogUmljaGFyZCBMZXZpdHRlIDxsZXZpdHRlQG9w ZW5zc2wub3JnPgotKE1lcmdlZCBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuc3NsL29wZW5z c2wvcHVsbC84ODgzKQotLS0tCi0gQ29uZmlndXJlIHwgMTAgKysrKysrKy0tLQotIDEgZmlsZSBj aGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9D b25maWd1cmUgYi9Db25maWd1cmUKLWluZGV4IDIyMDgyZGViNGM3Li5lMzAzZDk4ZGViMyAxMDA3 NTUKLS0tLSBhL0NvbmZpZ3VyZQotKysrIGIvQ29uZmlndXJlCi1AQCAtMTQwMiw4ICsxNDAyLDE1 IEBACi0gbXkgJXByZWRlZmluZWRfQyA9IGNvbXBpbGVyX3ByZWRlZmluZWQoJGNvbmZpZ3tDUk9T U19DT01QSUxFfS4kY29uZmlne0NDfSk7Ci0gbXkgJXByZWRlZmluZWRfQ1hYID0gJGNvbmZpZ3tD WFh9Ci0gICAgID8gY29tcGlsZXJfcHJlZGVmaW5lZCgkY29uZmlne0NST1NTX0NPTVBJTEV9LiRj b25maWd7Q1hYfSkKLSAgICAgOiAoKTsKLSAKLSt1bmxlc3MgKCRkaXNhYmxlZHthc219KSB7Ci0r ICAgICMgYmlnIGVuZGlhbiBzeXN0ZW1zIGNhbiB1c2UgRUxGdjIgQUJJCi0rICAgIGlmICgkdGFy Z2V0IGVxICJsaW51eC1wcGM2NCIpIHsKLSsgICAgICAgICR0YXJnZXR7cGVybGFzbV9zY2hlbWV9 ID0gImxpbnV4NjR2MiIgaWYgKCRwcmVkZWZpbmVkX0N7X0NBTExfRUxGfSA9PSAyKTsKLSsgICAg fQotK30KLSsKLSAjIENoZWNrIGZvciBtYWtlZGVwZW5kIGNhcGFiaWxpdGllcy4KLSBpZiAoISRk aXNhYmxlZHttYWtlZGVwZW5kfSkgewotICAgICBpZiAoJGNvbmZpZ3t0YXJnZXR9ID1+IC9eKFZD fHZtcyktLykgewpkaWZmIC0tZ2l0IGEvc3JjcGtncy9vcGVuc3NsL3BhdGNoZXMveHh4LXBwY2xl LnBhdGNoIGIvc3JjcGtncy9vcGVuc3NsL3BhdGNoZXMveHh4LXBwY2xlLnBhdGNoCmRlbGV0ZWQg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNDk4YWY5Njg4OTkuLjAwMDAwMDAwMDAwMAotLS0gYS9z cmNwa2dzL29wZW5zc2wvcGF0Y2hlcy94eHgtcHBjbGUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAt MSw1MyArMCwwIEBACi1jb21taXQgNTZlMDc4NTZhN2E5ZjdjZTM1ODJiOGNmMzg0M2YyNTI2OTE0 NzVhNgotQXV0aG9yOiBxNjYgPGRhbmllbEBvY3RhZm9yZ2Uub3JnPgotRGF0ZTogICBGcmkgTWFy IDUgMTg6MzY6MDEgMjAyMSArMDEwMAotCi0gICAgYWRkIHBwY2xlIHN1cHBvcnQKLQotZGlmZiAt LWdpdCBDb25maWd1cmF0aW9ucy8xMC1tYWluLmNvbmYgQ29uZmlndXJhdGlvbnMvMTAtbWFpbi5j b25mCi1pbmRleCA4ZGMzZTg1Li4xOGYxMGM5IDEwMDY0NAotLS0tIGEvQ29uZmlndXJhdGlvbnMv MTAtbWFpbi5jb25mCi0rKysgYi9Db25maWd1cmF0aW9ucy8xMC1tYWluLmNvbmYKLUBAIC02NjUs NiArNjY1LDExIEBAIG15ICV0YXJnZXRzID0gKAotICAgICAgICAgcGVybGFzbV9zY2hlbWUgICA9 PiAibGludXgzMiIsCi0gICAgICAgICBsaWJfY3BwZmxhZ3MgICAgID0+IGFkZCgiLURCX0VORElB TiIpLAotICAgICB9LAotKyAgICAibGludXgtcHBjbGUiID0+IHsKLSsgICAgICAgIGluaGVyaXRf ZnJvbSAgICAgPT4gWyAibGludXgtZ2VuZXJpYzMyIiwgYXNtKCJwcGMzMl9hc20iKSBdLAotKyAg ICAgICAgcGVybGFzbV9zY2hlbWUgICA9PiAibGludXgzMmxlIiwKLSsgICAgICAgIGxpYl9jcHBm bGFncyAgICAgPT4gYWRkKCItRExfRU5ESUFOIiksCi0rICAgIH0sCi0gICAgICJsaW51eC1wcGM2 NCIgPT4gewotICAgICAgICAgaW5oZXJpdF9mcm9tICAgICA9PiBbICJsaW51eC1nZW5lcmljNjQi LCBhc20oInBwYzY0X2FzbSIpIF0sCi0gICAgICAgICBjZmxhZ3MgICAgICAgICAgID0+IGFkZCgi LW02NCIpLAotZGlmZiAtLWdpdCBjb25maWcgY29uZmlnCi1pbmRleCAyNjIyNWNhLi42YTFlODMw IDEwMDc1NQotLS0tIGEvY29uZmlnCi0rKysgYi9jb25maWcKLUBAIC01NDMsNiArNTQzLDcgQEAg Y2FzZSAiJEdVRVNTT1MiIGluCi0gCWZpCi0gCTs7Ci0gICBwcGM2NGxlLSotbGludXgyKSBPVVQ9 ImxpbnV4LXBwYzY0bGUiIDs7Ci0rICBwcGNsZS0qLWxpbnV4MikgT1VUPSJsaW51eC1wcGNsZSIg OzsKLSAgIHBwYy0qLWxpbnV4MikgT1VUPSJsaW51eC1wcGMiIDs7Ci0gICBtaXBzNjQqLSotbGlu dXgyKQotIAllY2hvICJXQVJOSU5HISBJZiB5b3Ugd2lzaCB0byBidWlsZCA2NC1iaXQgbGlicmFy eSwgdGhlbiB5b3UgaGF2ZSB0byIKLWRpZmYgLS1naXQgY3J5cHRvL3BvbHkxMzA1L2FzbS9wb2x5 MTMwNS1wcGMucGwgY3J5cHRvL3BvbHkxMzA1L2FzbS9wb2x5MTMwNS1wcGMucGwKLWluZGV4IGU1 ZDY5MzMuLjMyODNmNmIgMTAwNzU1Ci0tLS0gYS9jcnlwdG8vcG9seTEzMDUvYXNtL3BvbHkxMzA1 LXBwYy5wbAotKysrIGIvY3J5cHRvL3BvbHkxMzA1L2FzbS9wb2x5MTMwNS1wcGMucGwKLUBAIC0z MTQsMTAgKzMxNCwxMCBAQCAkY29kZS49PDxfX187Ci0gCWJlcS0JTG5vX2tleQotIF9fXwotICRj b2RlLj08PF9fXwlpZiAoJExJVFRMRV9FTkRJQU4pOwotLQlsdwkkaDAsMCgkaW5wKQkJIyBsb2Fk IGtleSBtYXRlcmlhbAotLQlsdwkkaDEsNCgkaW5wKQotLQlsdwkkaDIsOCgkaW5wKQotLQlsdwkk aDMsMTIoJGlucCkKLSsJbHd6CSRoMCwwKCRpbnApCQkjIGxvYWQga2V5IG1hdGVyaWFsCi0rCWx3 egkkaDEsNCgkaW5wKQotKwlsd3oJJGgyLDgoJGlucCkKLSsJbHd6CSRoMywxMigkaW5wKQotIF9f XwotICRjb2RlLj08PF9fXwlpZiAoISRMSVRUTEVfRU5ESUFOKTsKLSAJbGkJJGgxLDQKZGlmZiAt LWdpdCBhL3NyY3BrZ3Mvb3BlbnNzbC90ZW1wbGF0ZSBiL3NyY3BrZ3Mvb3BlbnNzbC90ZW1wbGF0 ZQppbmRleCAxNDYxZmZkMmY3YTIuLjJhOWU5NGM1ZjgyNiAxMDA2NDQKLS0tIGEvc3JjcGtncy9v cGVuc3NsL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mvb3BlbnNzbC90ZW1wbGF0ZQpAQCAtMSw2ICsx LDYgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ29wZW5zc2wnCiBwa2duYW1lPW9wZW5zc2wKLXZl cnNpb249MS4xLjFzCit2ZXJzaW9uPTMuMC43CiByZXZpc2lvbj0xCiBib290c3RyYXA9eWVzCiBi dWlsZF9zdHlsZT1jb25maWd1cmUKQEAgLTE0LDEwICsxNCwxMCBAQCBtYWtlX2NoZWNrX3Rhcmdl dD10ZXN0CiBtYWtlX2luc3RhbGxfYXJncz0iTUFOU1VGRklYPXNzbCIKIHNob3J0X2Rlc2M9IlRv b2xraXQgZm9yIFNlY3VyZSBTb2NrZXRzIExheWVyIGFuZCBUcmFuc3BvcnQgTGF5ZXIgU2VjdXJp dHkiCiBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+IgotbGljZW5zZT0iT3Bl blNTTCIKK2xpY2Vuc2U9IkFwYWNoZS0yLjAiCiBob21lcGFnZT0iaHR0cHM6Ly93d3cub3BlbnNz bC5vcmciCiBkaXN0ZmlsZXM9Imh0dHBzOi8vd3d3Lm9wZW5zc2wub3JnL3NvdXJjZS9vcGVuc3Ns LSR7dmVyc2lvbn0udGFyLmd6IgotY2hlY2tzdW09YzVhYzAxZTc2MGVlNmZmMGRhYjYxZDZiMmJi ZDMwMTQ2NzI0ZDA2M2ViMzIyMTgwYzZmMThhNmY3NGU0YjZhYQorY2hlY2tzdW09ODMwNDlkMDQy YTI2MGU2OTZmNjI0MDZhYzVjMDhiZjcwNmZkODQzODNmOTQ1Y2YyMWJkNjFlOWVkOTVjMzk2ZQog Y29uZl9maWxlcz0iL2V0Yy9zc2wvb3BlbnNzbC5jbmYiCiByZXBsYWNlcz0ibGlicmVzc2w+PTAi CiAKQEAgLTI4LDcgKzI4LDExIEBAIGlmIFsgIiRDSFJPT1RfUkVBRFkiIF07IHRoZW4KIAlidWls ZF9vcHRpb25zX2RlZmF1bHQ9ImFzbSIKIGVsc2UKIAkjIG9wZW5zc2wtY19yZWhhc2ggZGVwZW5k cyBvbiBwZXJsLCBpZ25vcmUgb24gYm9vdHN0cmFwCi0Jc3VicGFja2FnZXM9ImxpYmNyeXB0bzEu MSBsaWJzc2wxLjEgb3BlbnNzbC1kZXZlbCIKKwlzdWJwYWNrYWdlcz0ibGliY3J5cHRvMy4wIGxp YnNzbDMuMCBvcGVuc3NsLWRldmVsIgorZmkKKworaWYgWyAiJFhCUFNfVEFSR0VUX05PX0FUT01J QzgiIF07IHRoZW4KKwltYWtlZGVwZW5kcys9IiBsaWJhdG9taWMtZGV2ZWwiCiBmaQogCiBjYXNl ICRYQlBTX1RBUkdFVF9NQUNISU5FIGluCkBAIC02MywxNSArNjcsMTUgQEAgcG9zdF9pbnN0YWxs KCkgewogCWZpCiB9CiAKLWxpYmNyeXB0bzEuMV9wYWNrYWdlKCkgeworbGliY3J5cHRvMy4wX3Bh Y2thZ2UoKSB7CiAJc2hvcnRfZGVzYys9IiAtIGNyeXB0byBsaWJyYXJ5IgogCXBrZ19pbnN0YWxs KCkgewogCQl2bW92ZSAidXNyL2xpYi9saWJjcnlwdG8uc28uKiIKLQkJdm1vdmUgdXNyL2xpYi9l bmdpbmVzLTEuMQorCQl2bW92ZSB1c3IvbGliL2VuZ2luZXMtMwogCX0KIH0KIAotbGlic3NsMS4x X3BhY2thZ2UoKSB7CitsaWJzc2wzLjBfcGFja2FnZSgpIHsKIAlzaG9ydF9kZXNjKz0iIC0gU1NM L1RMUyBsaWJyYXJ5IgogCXBrZ19pbnN0YWxsKCkgewogCQl2bW92ZSAidXNyL2xpYi9saWJzc2wu c28uKiIKQEAgLTg3LDcgKzkxLDcgQEAgb3BlbnNzbC1jX3JlaGFzaF9wYWNrYWdlKCkgewogfQog CiBvcGVuc3NsLWRldmVsX3BhY2thZ2UoKSB7Ci0JZGVwZW5kcz0iJHtzb3VyY2Vwa2d9Pj0ke3Zl cnNpb259XyR7cmV2aXNpb259IGxpYnNzbDEuMT49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufSBsaWJj cnlwdG8xLjE+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0iCisJZGVwZW5kcz0iJHtzb3VyY2Vwa2d9 Pj0ke3ZlcnNpb259XyR7cmV2aXNpb259IGxpYnNzbDMuMD49JHt2ZXJzaW9ufV8ke3JldmlzaW9u fSBsaWJjcnlwdG8zLjA+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0iCiAJcmVwbGFjZXM9ImxpYnJl c3NsLWRldmVsPj0wIgogCXNob3J0X2Rlc2MrPSIgLSBkZXZlbG9wbWVudCBmaWxlcyIKIAlwa2df aW5zdGFsbCgpIHsKCkZyb20gZWVjMWZjYWM1MzNlNTQ2NTczMGFkMmUzMWM0NjFiNzI5NmQ2MGQz YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogZGt3byA8bmljb2xvcGlhenphbHVuZ2FA Z21haWwuY29tPgpEYXRlOiBTYXQsIDI1IEp1biAyMDIyIDE4OjMxOjA5ICswMjAwClN1YmplY3Q6 IFtQQVRDSCAyLzddIHJhY2tldDogZGVwZW5kIG9uIGxpYnNzbDMuMAoKLS0tCiBzcmNwa2dzL3Jh Y2tldC90ZW1wbGF0ZSB8IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwg MiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3JhY2tldC90ZW1wbGF0ZSBiL3Ny Y3BrZ3MvcmFja2V0L3RlbXBsYXRlCmluZGV4IDBmMjJkNmMwNDY0OS4uYThiZDVjYjE3NzYxIDEw MDY0NAotLS0gYS9zcmNwa2dzL3JhY2tldC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3JhY2tldC90 ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3JhY2tldCcKIHBr Z25hbWU9cmFja2V0CiB2ZXJzaW9uPTguNwotcmV2aXNpb249MQorcmV2aXNpb249MgogYXJjaHM9 ImFhcmNoNjQqIGFybXY2KiBhcm12NyogaTY4NiogeDg2XzY0KiIKIGJ1aWxkX3dya3NyYz1zcmMK IGJ1aWxkX3N0eWxlPWdudS1jb25maWd1cmUKQEAgLTksNyArOSw3IEBAIGNvbmZpZ3VyZV9hcmdz PSItLWVuYWJsZS11c2VwcmVmaXggLS1lbmFibGUtY3Vyc2VzIgogbWFrZV9idWlsZF9hcmdzPSJD Q19GT1JfQlVJTEQ9Y2MiCiBob3N0bWFrZWRlcGVuZHM9ImxpYmVyYXRpb24tZm9udHMtdHRmIgog bWFrZWRlcGVuZHM9Imd0ayszLWRldmVsIGxpYmx6NC1kZXZlbCBuY3Vyc2VzLWRldmVsIHNxbGl0 ZS1kZXZlbCB6bGliLWRldmVsIgotZGVwZW5kcz0iZ3RrKzMgbGlic3NsMS4xIgorZGVwZW5kcz0i Z3RrKzMgbGlic3NsMy4wIgogc2hvcnRfZGVzYz0iTXVsdGktcGFyYWRpZ20gcHJvZ3JhbW1pbmcg bGFuZ3VhZ2UgaW4gdGhlIExpc3AtU2NoZW1lIGZhbWlseSIKIG1haW50YWluZXI9IkFuZHJlYSBC cmFuY2FsZW9uaSA8YWJjQHBvbXBlbC5tZT4iCiBsaWNlbnNlPSJMR1BMLTMuMC1vbmx5LCBNSVQi CgpGcm9tIGY5ODg0YjBjOGNjODBkZjIzNTFjMzMwNjRkY2ZmNzhhMTNhNmU5ODEgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IGRrd28gPG5pY29sb3BpYXp6YWx1bmdhQGdtYWlsLmNvbT4K RGF0ZTogU2F0LCAyNSBKdW4gMjAyMiAxODozMzo1NyArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMy83 XSB4YnBzOiBhZGQgcGF0Y2ggZm9yIG9wZW5zc2wsIENGTEFHCgotLS0KIHNyY3BrZ3MveGJwcy9w YXRjaGVzL29wZW5zc2wucGF0Y2ggfCAyMyArKysrKysrKysrKysrKysrKysrKysrKwogc3JjcGtn cy94YnBzL3RlbXBsYXRlICAgICAgICAgICAgICB8ICAyICsrCiAyIGZpbGVzIGNoYW5nZWQsIDI1 IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3hicHMvcGF0Y2hlcy9v cGVuc3NsLnBhdGNoCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy94YnBzL3BhdGNoZXMvb3BlbnNzbC5w YXRjaCBiL3NyY3BrZ3MveGJwcy9wYXRjaGVzL29wZW5zc2wucGF0Y2gKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5jYTcyNzQ1NDI0MjIKLS0tIC9kZXYvbnVsbAorKysg Yi9zcmNwa2dzL3hicHMvcGF0Y2hlcy9vcGVuc3NsLnBhdGNoCkBAIC0wLDAgKzEsMjMgQEAKK0Zy b20gZGIxNzY2OTg2YzQzODllYjdlMTdjMGUwMDc2OTcxYjcxMTYxN2VmOSBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKK0Zyb206IEp1YW4gUlAgPHh0cmFlbWVAZ21haWwuY29tPgorRGF0ZTogVGh1 LCAxNiBBcHIgMjAyMCAxNDo1NzoxOCArMDIwMAorU3ViamVjdDogW1BBVENIXSBjb25maWd1cmU6 IGFjY2VwdCBhbnkgb3BlbnNzbCB2ZXJzaW9uLgorCistLS0KKyBjb25maWd1cmUgfCAyICstCisg MSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1n aXQgYS9jb25maWd1cmUgYi9jb25maWd1cmUKK2luZGV4IGRhOGFlNzVmLi4zODNiYzkyNyAxMDA3 NTUKKy0tLSBhL2NvbmZpZ3VyZQorKysrIGIvY29uZmlndXJlCitAQCAtNzA0LDcgKzcwNCw3IEBA IGZpCisgIyBsaWJzc2wgd2l0aCBwa2ctY29uZmlnIHN1cHBvcnQgaXMgcmVxdWlyZWQuCisgIwor IHByaW50ZiAiQ2hlY2tpbmcgZm9yIGxpYnNzbCB2aWEgcGtnLWNvbmZpZyAuLi4gIgorLWlmIHBr Zy1jb25maWcgLS1leGlzdHMgJ2xpYnNzbCA8IDEuMicgJiYgISBwa2ctY29uZmlnIC0tZXhpc3Rz IGxpYnRscyA7IHRoZW4KKytpZiBwa2ctY29uZmlnIC0tZXhpc3RzICdsaWJzc2wnICYmICEgcGtn LWNvbmZpZyAtLWV4aXN0cyBsaWJ0bHMgOyB0aGVuCisgCWVjaG8gImZvdW5kIE9wZW5TU0wgdmVy c2lvbiAkKHBrZy1jb25maWcgLS1tb2R2ZXJzaW9uIGxpYnNzbCkuIgorIGVsaWYgcGtnLWNvbmZp ZyAtLWV4aXN0cyBsaWJzc2wgbGlidGxzOyB0aGVuCisgCWVjaG8gImZvdW5kIExpYnJlU1NMIHZl cnNpb24gJChwa2ctY29uZmlnIC0tbW9kdmVyc2lvbiBsaWJzc2wpLiIKKwpkaWZmIC0tZ2l0IGEv c3JjcGtncy94YnBzL3RlbXBsYXRlIGIvc3JjcGtncy94YnBzL3RlbXBsYXRlCmluZGV4IDFjOTM3 M2M0OThkYy4uY2Y1Zjc3NWYxMzc1IDEwMDY0NAotLS0gYS9zcmNwa2dzL3hicHMvdGVtcGxhdGUK KysrIGIvc3JjcGtncy94YnBzL3RlbXBsYXRlCkBAIC0yMCw2ICsyMCw4IEBAIGRlcGVuZHM9ImNh LWNlcnRpZmljYXRlcyB4YnBzLXRyaWdnZXJzIgogbWFrZV9kaXJzPSIvZXRjL3hicHMuZCAwNzU1 IHJvb3Qgcm9vdCIKIAogTERGTEFHUz0iLWxkbCAtcHRocmVhZCIKKyMgb3BlbnNzbDMKK0NGTEFH Uys9IiAtV25vLWVycm9yIgogCiBpZiBbICIkQ0hST09UX1JFQURZIiBdOyB0aGVuCiAJbWFrZWRl cGVuZHMrPSIgYXRmLWRldmVsIgoKRnJvbSAyNDhhNTU5ZDRhMGE5NmRhNmUyY2E0OWQ5NjFiMDdi ZDNhNTZmNGNkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBka3dvIDxuaWNvbG9waWF6 emFsdW5nYUBnbWFpbC5jb20+CkRhdGU6IFRodSwgMjYgSmFuIDIwMjMgMTM6NDE6MjcgLTA1MDAK U3ViamVjdDogW1BBVENIIDQvN10gdmFuaXR5Z2VuOiByZW1vdmUKCi0tLQogc3JjcGtncy9yZW1v dmVkLXBhY2thZ2VzL3RlbXBsYXRlICAgICAgICAgICAgIHwgICAgMyArLQogLi4uNGE2NDY4NzNj ODQzOWQzYjVlZTNhMjI3OGU3Mjc1NzU1MjFmLnBhdGNoIHwgMTE3MSAtLS0tLS0tLS0tLS0tLS0t LQogLi4uM2U2ZmZmN2RhNTJjNGFlY2JkODk4ZDlkZjJlNjBhNTZmMTM0LnBhdGNoIHwgICA5OCAt LQogc3JjcGtncy92YW5pdHlnZW4vdGVtcGxhdGUgICAgICAgICAgICAgICAgICAgIHwgICAyMSAt CiA0IGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMTI5MSBkZWxldGlvbnMoLSkKIGRl bGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3Zhbml0eWdlbi9wYXRjaGVzLzRiODE0YTY0Njg3M2M4 NDM5ZDNiNWVlM2EyMjc4ZTcyNzU3NTUyMWYucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNw a2dzL3Zhbml0eWdlbi9wYXRjaGVzLzVmMTYzZTZmZmY3ZGE1MmM0YWVjYmQ4OThkOWRmMmU2MGE1 NmYxMzQucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3Zhbml0eWdlbi90ZW1wbGF0 ZQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcmVtb3ZlZC1wYWNrYWdlcy90ZW1wbGF0ZSBiL3NyY3Br Z3MvcmVtb3ZlZC1wYWNrYWdlcy90ZW1wbGF0ZQppbmRleCA4NTI4YWM0NjBhMGIuLmVmNzgxYTQx MmViOCAxMDA2NDQKLS0tIGEvc3JjcGtncy9yZW1vdmVkLXBhY2thZ2VzL3RlbXBsYXRlCisrKyBi L3NyY3BrZ3MvcmVtb3ZlZC1wYWNrYWdlcy90ZW1wbGF0ZQpAQCAtMSw2ICsxLDYgQEAKICMgVGVt cGxhdGUgZmlsZSBmb3IgJ3JlbW92ZWQtcGFja2FnZXMnCiBwa2duYW1lPXJlbW92ZWQtcGFja2Fn ZXMKLXZlcnNpb249MC4xLjIwMjMwMTI5Cit2ZXJzaW9uPTAuMS4yMDIzMDEzMAogcmV2aXNpb249 MQogYnVpbGRfc3R5bGU9bWV0YQogc2hvcnRfZGVzYz0iVW5pbnN0YWxscyBwYWNrYWdlcyByZW1v dmVkIGZyb20gcmVwb3NpdG9yeSIKQEAgLTUxMSw2ICs1MTEsNyBAQCByZXBsYWNlcz0iCiAgdXJs bWF0Y2gtZ2l0PD0yMDE0MTExNl8yCiAgdXdzZ2ktcHl0aG9uPD0yLjAuMThfMwogIHY4PD0zLjI0 LjM1LjMzXzQKKyB2YW5pdHlnZW48PTEuNTNfMgogIHZhcG91cnN5bnRoLW12dG9vbHM8PTIzXzIK ICB2a2QzZDw9MS4zXzEKICB2b2xub3RpPD0wLjFfMQpkaWZmIC0tZ2l0IGEvc3JjcGtncy92YW5p dHlnZW4vcGF0Y2hlcy80YjgxNGE2NDY4NzNjODQzOWQzYjVlZTNhMjI3OGU3Mjc1NzU1MjFmLnBh dGNoIGIvc3JjcGtncy92YW5pdHlnZW4vcGF0Y2hlcy80YjgxNGE2NDY4NzNjODQzOWQzYjVlZTNh MjI3OGU3Mjc1NzU1MjFmLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NGJk NTRkYmYwZmIuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL3Zhbml0eWdlbi9wYXRjaGVzLzRi ODE0YTY0Njg3M2M4NDM5ZDNiNWVlM2EyMjc4ZTcyNzU3NTUyMWYucGF0Y2gKKysrIC9kZXYvbnVs bApAQCAtMSwxMTcxICswLDAgQEAKLUZyb20gNGI4MTRhNjQ2ODczYzg0MzlkM2I1ZWUzYTIyNzhl NzI3NTc1NTIxZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEFudG9uaW8gU3BhZGFy byA8aWxvdmVsaW51eEB1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+Ci1EYXRlOiBTYXQsIDIgSnVu IDIwMTggMjI6Mjc6NTEgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSF0gRml4IE9wZW5TU0wgMS4xLjAg aW5jb21wYXRpYmlsaXRpZXMgKCM1NikKLQotKiBGaXggb3BlbnNzbCAxLjEuMCBpbmNvbXBhdGli aWxpdGllcwotCi0qIFJlcGxhY2UgQk5fTUFTSzIgd2l0aCAweGZmZmZmZmZmTAotCi0qIEZpeCBv dGhlciBvcGVuc3NsIDEuMS4wIGluY29tcGF0aWJpbGl0aWVzCi0KLSogRml4IHJldHJvY29tcGF0 aWJpbGl0eSBpc3N1ZQotCi0qIFJlbW92ZSBCTl9ibjJsZWJpbnBhZCBkdWUgdG8gaW5jb21wYXRp YmlsaXR5Ci0KLSogRml4IG90aGVyIGluY29tcGF0aWJpbGl0eSBlcnJvcnMKLQotKiBGaXhlZCBy ZXRyb2NvbXBhdGliaWxpdHkgKG1heWJlKS4gVGhhbmtzIHRvICBARGVzV3Vyc3RlcwotCi0qIEZp eCBPcGVuU1NMIDEuMSBhbmQgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkKLS0tLQotIGtleWNvbnYu YyAgIHwgIDE4ICsrLS0KLSBvY2xlbmdpbmUuYyB8IDEzMCArKysrKysrKysrKysrKysrKystLS0t LS0tLS0KLSBwYXR0ZXJuLmMgICB8IDI1MiArKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gcGF0dGVybi5oICAgfCAgIDggKy0KLSB1dGlsLmMgICAg ICB8ICA5MCArKysrKysrKystLS0tLS0tLS0tCi0gdmFuaXR5Z2VuLmMgfCAgMTQgKy0tCi0gNiBm aWxlcyBjaGFuZ2VkLCAyNzcgaW5zZXJ0aW9ucygrKSwgMjM1IGRlbGV0aW9ucygtKQotCi1kaWZm IC0tZ2l0IGEva2V5Y29udi5jIGIva2V5Y29udi5jCi1pbmRleCBmNzQ3NWU1Li4zOTRjM2EwIDEw MDY0NAotLS0tIGEva2V5Y29udi5jCi0rKysgYi9rZXljb252LmMKLUBAIC0xMTYwLDcgKzExNjAs NyBAQCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKLSAKLSAJaWYgKGtleTJfaW4pIHsKLSAJ CUJOX0NUWCAqYm5jdHg7Ci0tCQlCSUdOVU0gYm50bXAsIGJudG1wMjsKLSsJCUJJR05VTSAqYm50 bXAsICpibnRtcDI7Ci0gCQlFQ19LRVkgKnBrZXkyOwotIAotIAkJcGtleTIgPSBFQ19LRVlfbmV3 X2J5X2N1cnZlX25hbWUoTklEX3NlY3AyNTZrMSk7Ci1AQCAtMTE4MiwxOSArMTE4MiwxOSBAQCBt YWluKGludCBhcmdjLCBjaGFyICoqYXJndikKLSAJCQljb21wcmVzc2VkID0gMTsKLSAJCX0KLSAK LS0JCUJOX2luaXQoJmJudG1wKTsKLS0JCUJOX2luaXQoJmJudG1wMik7Ci0rCQlibnRtcCA9IEJO X25ldygpOwotKwkJYm50bXAyID0gQk5fbmV3KCk7Ci0gCQlibmN0eCA9IEJOX0NUWF9uZXcoKTsK LS0JCUVDX0dST1VQX2dldF9vcmRlcihFQ19LRVlfZ2V0MF9ncm91cChwa2V5KSwgJmJudG1wMiwg TlVMTCk7Ci0tCQlCTl9tb2RfYWRkKCZibnRtcCwKLSsJCUVDX0dST1VQX2dldF9vcmRlcihFQ19L RVlfZ2V0MF9ncm91cChwa2V5KSwgYm50bXAyLCBOVUxMKTsKLSsJCUJOX21vZF9hZGQoYm50bXAs Ci0gCQkJICAgRUNfS0VZX2dldDBfcHJpdmF0ZV9rZXkocGtleSksCi0gCQkJICAgRUNfS0VZX2dl dDBfcHJpdmF0ZV9rZXkocGtleTIpLAotLQkJCSAgICZibnRtcDIsCi0rCQkJICAgYm50bXAyLAot IAkJCSAgIGJuY3R4KTsKLS0JCXZnX3NldF9wcml2a2V5KCZibnRtcCwgcGtleSk7Ci0rCQl2Z19z ZXRfcHJpdmtleShibnRtcCwgcGtleSk7Ci0gCQlFQ19LRVlfZnJlZShwa2V5Mik7Ci0tCQlCTl9j bGVhcl9mcmVlKCZibnRtcCk7Ci0tCQlCTl9jbGVhcl9mcmVlKCZibnRtcDIpOwotKwkJQk5fY2xl YXJfZnJlZShibnRtcCk7Ci0rCQlCTl9jbGVhcl9mcmVlKGJudG1wMik7Ci0gCQlCTl9DVFhfZnJl ZShibmN0eCk7Ci0gCX0KLSAKLWRpZmYgLS1naXQgYS9vY2xlbmdpbmUuYyBiL29jbGVuZ2luZS5j Ci1pbmRleCA0MDg1ZWRkLi42ZjY1ODQ2IDEwMDY0NAotLS0tIGEvb2NsZW5naW5lLmMKLSsrKyBi L29jbGVuZ2luZS5jCi1AQCAtNDMsNiArNDMsMzQgQEAKLSAjaW5jbHVkZSAicGF0dGVybi5oIgot ICNpbmNsdWRlICJ1dGlsLmgiCi0gCi0rLy8gVW5mb3J0dW5hdGVseSB3ZSBuZWVkIHRoaXMhCi0r I2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPj0gMHgwMDEwMTAwMDAwCi0rI2RlZmluZSBQUE5U X0FSUk9XX1ggcHBudC0+WAotKyNkZWZpbmUgUFBOVF9BUlJPV19ZIHBwbnQtPlkKLSsjZGVmaW5l IFBQTlRfQVJST1dfWiBwcG50LT5aCi0rI2RlZmluZSBQUFNfQVJST1dfWCBwcHMtPlgKLSsjZGVm aW5lIFBQU19BUlJPV19ZIHBwcy0+WQotKyNkZWZpbmUgUFBTX0FSUk9XX1ogcHBzLT5aCi0rI2Rl ZmluZSBQUFRfQVJST1dfWCBwcHQtPlgKLSsjZGVmaW5lIFBQVF9BUlJPV19ZIHBwdC0+WQotKyNk ZWZpbmUgUFBSX0FSUk9XX1ggcHByLT5YCi0rI2RlZmluZSBQUFJfQVJST1dfWSBwcHItPlkKLSsj ZGVmaW5lIFBQQ19BUlJPV19YIHBwYy0+WAotKyNkZWZpbmUgUFBDX0FSUk9XX1kgcHBjLT5ZCi0r I2Vsc2UKLSsjZGVmaW5lIFBQTlRfQVJST1dfWCAmcHBudC0+WAotKyNkZWZpbmUgUFBOVF9BUlJP V19ZICZwcG50LT5ZCi0rI2RlZmluZSBQUE5UX0FSUk9XX1ogJnBwbnQtPloKLSsjZGVmaW5lIFBQ U19BUlJPV19YICZwcHMtPlgKLSsjZGVmaW5lIFBQU19BUlJPV19ZICZwcHMtPlkKLSsjZGVmaW5l IFBQU19BUlJPV19aICZwcHMtPloKLSsjZGVmaW5lIFBQVF9BUlJPV19YICZwcHQtPlgKLSsjZGVm aW5lIFBQVF9BUlJPV19ZICZwcHQtPlkKLSsjZGVmaW5lIFBQUl9BUlJPV19YICZwcHItPlgKLSsj ZGVmaW5lIFBQUl9BUlJPV19ZICZwcHItPlkKLSsjZGVmaW5lIFBQQ19BUlJPV19YICZwcGMtPlgK LSsjZGVmaW5lIFBQQ19BUlJPV19ZICZwcGMtPlkKLSsjZW5kaWYKLSAKLSAjZGVmaW5lIE1BWF9T TE9UIDIKLSAjZGVmaW5lIE1BWF9BUkcgNgotQEAgLTEzMDcsMTQgKzEzMzUsMjEgQEAgdmdfb2Ns X2tlcm5lbF93YWl0KHZnX29jbF9jb250ZXh0X3QgKnZvY3AsIGludCBzbG90KQotIHN0YXRpYyBJ TkxJTkUgdm9pZAotIHZnX29jbF9nZXRfYmlnbnVtX3JhdyhCSUdOVU0gKmJuLCBjb25zdCB1bnNp Z25lZCBjaGFyICpidWYpCi0gewotKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSID49IDB4MDAx MDEwMDAwMAotKwlCTl9sZWJpbjJibihidWYsIDMyLCBibik7Ci0rI2Vsc2UKLSAJYm5fZXhwYW5k KGJuLCAyNTYpOwotIAltZW1jcHkoYm4tPmQsIGJ1ZiwgMzIpOwotIAlibi0+dG9wID0gKDMyIC8g c2l6ZW9mKEJOX1VMT05HKSk7Ci0rI2VuZGlmCi0gfQotIAotIHN0YXRpYyBJTkxJTkUgdm9pZAot IHZnX29jbF9wdXRfYmlnbnVtX3Jhdyh1bnNpZ25lZCBjaGFyICpidWYsIGNvbnN0IEJJR05VTSAq Ym4pCi0gewotKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSID49IDB4MDAxMDEwMDAwMAotKwlC Tl9ibjJsZWJpbnBhZChibiwgYnVmLCAzMik7Ci0rI2Vsc2UKLSAJaW50IGJubGVuID0gKGJuLT50 b3AgKiBzaXplb2YoQk5fVUxPTkcpKTsKLSAJaWYgKGJubGVuID49IDMyKSB7Ci0gCQltZW1jcHko YnVmLCBibi0+ZCwgMzIpOwotQEAgLTEzMjIsNiArMTM1Nyw3IEBAIHZnX29jbF9wdXRfYmlnbnVt X3Jhdyh1bnNpZ25lZCBjaGFyICpidWYsIGNvbnN0IEJJR05VTSAqYm4pCi0gCQltZW1jcHkoYnVm LCBibi0+ZCwgYm5sZW4pOwotIAkJbWVtc2V0KGJ1ZiArIGJubGVuLCAwLCAzMiAtIGJubGVuKTsK LSAJfQotKyNlbmRpZgotIH0KLSAKLSAjZGVmaW5lIEFDQ0VTU19CVU5ETEUgMTAyNAotQEAgLTEz NTEsOSArMTM4NywxNSBAQCB2Z19vY2xfZ2V0X2JpZ251bV90cGEoQklHTlVNICpibiwgY29uc3Qg dW5zaWduZWQgY2hhciAqYnVmLCBpbnQgY2VsbCkKLSAKLSBzdHJ1Y3QgZWNfcG9pbnRfc3Qgewot IAljb25zdCBFQ19NRVRIT0QgKm1ldGg7Ci0rI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPj0g MHgwMDEwMTAwMDAwCi0rCUJJR05VTSAqWDsKLSsJQklHTlVNICpZOwotKwlCSUdOVU0gKlo7Ci0r I2Vsc2UKLSAJQklHTlVNIFg7Ci0gCUJJR05VTSBZOwotIAlCSUdOVU0gWjsKLSsjZW5kaWYKLSAJ aW50IFpfaXNfb25lOwotIH07Ci0gCi1AQCAtMTM2MSwxMSArMTQwMywxMSBAQCBzdGF0aWMgSU5M SU5FIHZvaWQKLSB2Z19vY2xfZ2V0X3BvaW50KEVDX1BPSU5UICpwcG50LCBjb25zdCB1bnNpZ25l ZCBjaGFyICpidWYpCi0gewotIAlzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBtb250X29uZVtd ID0geyAweDAxLDB4MDAsMHgwMCwweDAzLDB4ZDEgfTsKLS0Jdmdfb2NsX2dldF9iaWdudW1fcmF3 KCZwcG50LT5YLCBidWYpOwotLQl2Z19vY2xfZ2V0X2JpZ251bV9yYXcoJnBwbnQtPlksIGJ1ZiAr IDMyKTsKLSsJdmdfb2NsX2dldF9iaWdudW1fcmF3KFBQTlRfQVJST1dfWCwgYnVmKTsKLSsJdmdf b2NsX2dldF9iaWdudW1fcmF3KFBQTlRfQVJST1dfWSwgYnVmICsgMzIpOwotIAlpZiAoIXBwbnQt PlpfaXNfb25lKSB7Ci0gCQlwcG50LT5aX2lzX29uZSA9IDE7Ci0tCQlCTl9iaW4yYm4obW9udF9v bmUsIHNpemVvZihtb250X29uZSksICZwcG50LT5aKTsKLSsJCUJOX2JpbjJibihtb250X29uZSwg c2l6ZW9mKG1vbnRfb25lKSwgUFBOVF9BUlJPV19aKTsKLSAJfQotIH0KLSAKLUBAIC0xMzczLDgg KzE0MTUsOCBAQCBzdGF0aWMgSU5MSU5FIHZvaWQKLSB2Z19vY2xfcHV0X3BvaW50KHVuc2lnbmVk IGNoYXIgKmJ1ZiwgY29uc3QgRUNfUE9JTlQgKnBwbnQpCi0gewotIAlhc3NlcnQocHBudC0+Wl9p c19vbmUpOwotLQl2Z19vY2xfcHV0X2JpZ251bV9yYXcoYnVmLCAmcHBudC0+WCk7Ci0tCXZnX29j bF9wdXRfYmlnbnVtX3JhdyhidWYgKyAzMiwgJnBwbnQtPlkpOwotKwl2Z19vY2xfcHV0X2JpZ251 bV9yYXcoYnVmLCBQUE5UX0FSUk9XX1gpOwotKwl2Z19vY2xfcHV0X2JpZ251bV9yYXcoYnVmICsg MzIsIFBQTlRfQVJST1dfWSk7Ci0gfQotIAotIHN0YXRpYyB2b2lkCi1AQCAtMTY2Miw3ICsxNzA0 LDcgQEAgdmdfb2NsX3ZlcmlmeV90ZW1wb3Jhcnkodmdfb2NsX2NvbnRleHRfdCAqdm9jcCwgaW50 IHNsb3QsIGludCB6X2ludmVydGVkKQotIAl1bnNpZ25lZCBjaGFyICpvY2xfcG9pbnRzX2luID0g TlVMTCwgKm9jbF9zdHJpZGVzX2luID0gTlVMTDsKLSAJY29uc3QgRUNfR1JPVVAgKnBncm91cDsK LSAJRUNfUE9JTlQgKnBwciA9IE5VTEwsICpwcGMgPSBOVUxMLCAqcHBzID0gTlVMTCwgKnBwdCA9 IE5VTEw7Ci0tCUJJR05VTSBibnosIGJuZXosIGJubSwgKmJuemM7Ci0rCUJJR05VTSAqYm56LCAq Ym5leiwgKmJubSwgKmJuemM7Ci0gCUJOX0NUWCAqYm5jdHggPSBOVUxMOwotIAlCTl9NT05UX0NU WCAqYm5tb250OwotIAlpbnQgcmV0ID0gMDsKLUBAIC0xNjc1LDkgKzE3MTcsOSBAQCB2Z19vY2xf dmVyaWZ5X3RlbXBvcmFyeSh2Z19vY2xfY29udGV4dF90ICp2b2NwLCBpbnQgc2xvdCwgaW50IHpf aW52ZXJ0ZWQpCi0gCQkweEZGLDB4RkYsMHhGRiwweEZFLDB4RkYsMHhGRiwweEZDLDB4MkYKLSAJ fTsKLSAKLS0JQk5faW5pdCgmYm56KTsKLS0JQk5faW5pdCgmYm5leik7Ci0tCUJOX2luaXQoJmJu bSk7Ci0rCWJueiA9IEJOX25ldygpOwotKwlibmV6ID0gQk5fbmV3KCk7Ci0rCWJubSA9IEJOX25l dygpOwotIAotIAlibmN0eCA9IEJOX0NUWF9uZXcoKTsKLSAJYm5tb250ID0gQk5fTU9OVF9DVFhf bmV3KCk7Ci1AQCAtMTY5MiwxMyArMTczNCwxMyBAQCB2Z19vY2xfdmVyaWZ5X3RlbXBvcmFyeSh2 Z19vY2xfY29udGV4dF90ICp2b2NwLCBpbnQgc2xvdCwgaW50IHpfaW52ZXJ0ZWQpCi0gCQlnb3Rv IG91dDsKLSAJfQotIAotLQlCTl9iaW4yYm4ocmF3X21vZHVsdXMsIHNpemVvZihyYXdfbW9kdWx1 cyksICZibm0pOwotLQlCTl9NT05UX0NUWF9zZXQoYm5tb250LCAmYm5tLCBibmN0eCk7Ci0rCUJO X2JpbjJibihyYXdfbW9kdWx1cywgc2l6ZW9mKHJhd19tb2R1bHVzKSwgYm5tKTsKLSsJQk5fTU9O VF9DVFhfc2V0KGJubW9udCwgYm5tLCBibmN0eCk7Ci0gCi0gCWlmICh6X2ludmVydGVkKSB7Ci0t CQlibnpjID0gJmJuZXo7Ci0rCQlibnpjID0gYm5lejsKLSAJfSBlbHNlIHsKLS0JCWJuemMgPSAm cHBzLT5aOwotKwkJYm56YyA9IFBQU19BUlJPV19aOwotIAl9Ci0gCi0gCXpfaGVhcCA9ICh1bnNp Z25lZCBjaGFyICopCi1AQCAtMTcyNiwxNSArMTc2OCwxNSBAQCB2Z19vY2xfdmVyaWZ5X3RlbXBv cmFyeSh2Z19vY2xfY29udGV4dF90ICp2b2NwLCBpbnQgc2xvdCwgaW50IHpfaW52ZXJ0ZWQpCi0g CQkJRUNfUE9JTlRfYWRkKHBncm91cCwgcHBzLCBwcGMsIHBwciwgYm5jdHgpOwotIAkJCWFzc2Vy dCghcHBzLT5aX2lzX29uZSk7Ci0gCQkJdmdfb2NsX2dldF9wb2ludF90cGEocHB0LCBwb2ludF90 bXAsIGJ4ICsgeCk7Ci0tCQkJdmdfb2NsX2dldF9iaWdudW1fdHBhKCZibnosIHpfaGVhcCwgYngg KyB4KTsKLSsJCQl2Z19vY2xfZ2V0X2JpZ251bV90cGEoYm56LCB6X2hlYXAsIGJ4ICsgeCk7Ci0g CQkJaWYgKHpfaW52ZXJ0ZWQpIHsKLS0JCQkJQk5fbW9kX2ludmVyc2UoJmJuZXosICZwcHMtPlos ICZibm0sIGJuY3R4KTsKLS0JCQkJQk5fdG9fbW9udGdvbWVyeSgmYm5leiwgJmJuZXosIGJubW9u dCwgYm5jdHgpOwotLQkJCQlCTl90b19tb250Z29tZXJ5KCZibmV6LCAmYm5leiwgYm5tb250LCBi bmN0eCk7Ci0rCQkJCUJOX21vZF9pbnZlcnNlKGJuZXosIFBQU19BUlJPV19aLCBibm0sIGJuY3R4 KTsKLSsJCQkJQk5fdG9fbW9udGdvbWVyeShibmV6LCBibmV6LCBibm1vbnQsIGJuY3R4KTsKLSsJ CQkJQk5fdG9fbW9udGdvbWVyeShibmV6LCBibmV6LCBibm1vbnQsIGJuY3R4KTsKLSAJCQl9Ci0t CQkJaWYgKEJOX2NtcCgmcHB0LT5YLCAmcHBzLT5YKSB8fAotLQkJCSAgICBCTl9jbXAoJnBwdC0+ WSwgJnBwcy0+WSkgfHwKLS0JCQkgICAgQk5fY21wKCZibnosIGJuemMpKSB7Ci0rCQkJaWYgKEJO X2NtcChQUFRfQVJST1dfWCwgUFBTX0FSUk9XX1gpIHx8Ci0rCQkJICAgIEJOX2NtcChQUFRfQVJS T1dfWSwgUFBTX0FSUk9XX1kpIHx8Ci0rCQkJICAgIEJOX2NtcChibnosIGJuemMpKSB7Ci0gCQkJ CWlmICghbWlzbWF0Y2hlcykgewotIAkJCQkJZnByaW50ZihzdGRlcnIsICJCYXNlIHByaXZrZXk6 ICIpOwotIAkJCQkJZmR1bXBibihzdGRlcnIsIEVDX0tFWV9nZXQwX3ByaXZhdGVfa2V5KAotQEAg LTE3NDcsMzMgKzE3ODksMzMgQEAgdmdfb2NsX3ZlcmlmeV90ZW1wb3Jhcnkodmdfb2NsX2NvbnRl eHRfdCAqdm9jcCwgaW50IHNsb3QsIGludCB6X2ludmVydGVkKQotIAkJCQlpZiAoIW1tX3IpIHsK LSAJCQkJCW1tX3IgPSAxOwotIAkJCQkJZnByaW50ZihzdGRlcnIsICJSb3cgWCAgIDogIik7Ci0t CQkJCQlmZHVtcGJuKHN0ZGVyciwgJnBwci0+WCk7Ci0rCQkJCQlmZHVtcGJuKHN0ZGVyciwgUFBS X0FSUk9XX1gpOwotIAkJCQkJZnByaW50ZihzdGRlcnIsICJSb3cgWSAgIDogIik7Ci0tCQkJCQlm ZHVtcGJuKHN0ZGVyciwgJnBwci0+WSk7Ci0rCQkJCQlmZHVtcGJuKHN0ZGVyciwgUFBTX0FSUk9X X1kpOwotIAkJCQl9Ci0gCi0gCQkJCWZwcmludGYoc3RkZXJyLCAiQ29sdW1uIFg6ICIpOwotLQkJ CQlmZHVtcGJuKHN0ZGVyciwgJnBwYy0+WCk7Ci0rCQkJCWZkdW1wYm4oc3RkZXJyLCBQUENfQVJS T1dfWCk7Ci0gCQkJCWZwcmludGYoc3RkZXJyLCAiQ29sdW1uIFk6ICIpOwotLQkJCQlmZHVtcGJu KHN0ZGVyciwgJnBwYy0+WSk7Ci0rCQkJCWZkdW1wYm4oc3RkZXJyLCBQUENfQVJST1dfWSk7Ci0g Ci0tCQkJCWlmIChCTl9jbXAoJnBwdC0+WCwgJnBwcy0+WCkpIHsKLSsJCQkJaWYgKEJOX2NtcChQ UFRfQVJST1dfWCwgUFBTX0FSUk9XX1gpKSB7Ci0gCQkJCQlmcHJpbnRmKHN0ZGVyciwgIkV4cGVj dCBYOiAiKTsKLS0JCQkJCWZkdW1wYm4oc3RkZXJyLCAmcHBzLT5YKTsKLSsJCQkJCWZkdW1wYm4o c3RkZXJyLCBQUFNfQVJST1dfWCk7Ci0gCQkJCQlmcHJpbnRmKHN0ZGVyciwgIkRldmljZSBYOiAi KTsKLS0JCQkJCWZkdW1wYm4oc3RkZXJyLCAmcHB0LT5YKTsKLSsJCQkJCWZkdW1wYm4oc3RkZXJy LCBQUFRfQVJST1dfWCk7Ci0gCQkJCX0KLS0JCQkJaWYgKEJOX2NtcCgmcHB0LT5ZLCAmcHBzLT5Z KSkgewotKwkJCQlpZiAoQk5fY21wKFBQVF9BUlJPV19ZLCBQUFNfQVJST1dfWSkpIHsKLSAJCQkJ CWZwcmludGYoc3RkZXJyLCAiRXhwZWN0IFk6ICIpOwotLQkJCQkJZmR1bXBibihzdGRlcnIsICZw cHMtPlkpOwotKwkJCQkJZmR1bXBibihzdGRlcnIsIFBQU19BUlJPV19ZKTsKLSAJCQkJCWZwcmlu dGYoc3RkZXJyLCAiRGV2aWNlIFk6ICIpOwotLQkJCQkJZmR1bXBibihzdGRlcnIsICZwcHQtPlkp OwotKwkJCQkJZmR1bXBibihzdGRlcnIsIFBQVF9BUlJPV19ZKTsKLSAJCQkJfQotLQkJCQlpZiAo Qk5fY21wKCZibnosIGJuemMpKSB7Ci0rCQkJCWlmIChCTl9jbXAoYm56LCBibnpjKSkgewotIAkJ CQkJZnByaW50ZihzdGRlcnIsICJFeHBlY3QgWjogIik7Ci0gCQkJCQlmZHVtcGJuKHN0ZGVyciwg Ym56Yyk7Ci0gCQkJCQlmcHJpbnRmKHN0ZGVyciwgIkRldmljZSBaOiAiKTsKLS0JCQkJCWZkdW1w Ym4oc3RkZXJyLCAmYm56KTsKLSsJCQkJCWZkdW1wYm4oc3RkZXJyLCBibnopOwotIAkJCQl9Ci0g CQkJfQotIAkJfQotQEAgLTE3OTgsOSArMTg0MCw5IEBAIHZnX29jbF92ZXJpZnlfdGVtcG9yYXJ5 KHZnX29jbF9jb250ZXh0X3QgKnZvY3AsIGludCBzbG90LCBpbnQgel9pbnZlcnRlZCkKLSAJCUVD X1BPSU5UX2ZyZWUocHBzKTsKLSAJaWYgKHBwdCkKLSAJCUVDX1BPSU5UX2ZyZWUocHB0KTsKLS0J Qk5fY2xlYXJfZnJlZSgmYm56KTsKLS0JQk5fY2xlYXJfZnJlZSgmYm5leik7Ci0tCUJOX2NsZWFy X2ZyZWUoJmJubSk7Ci0rCUJOX2NsZWFyX2ZyZWUoYm56KTsKLSsJQk5fY2xlYXJfZnJlZShibmV6 KTsKLSsJQk5fY2xlYXJfZnJlZShibm0pOwotIAlpZiAoYm5tb250KQotIAkJQk5fTU9OVF9DVFhf ZnJlZShibm1vbnQpOwotIAlpZiAoYm5jdHgpCi1AQCAtMTk3MSwxMyArMjAxMywxMyBAQCB2Z19v cGVuY2xfbG9vcCh2Z19leGVjX2NvbnRleHRfdCAqYXJnKQotIAlpZiAoIXBiYXRjaGluYyB8fCAh cG9mZnNldCB8fCAhcHNlZWspCi0gCQlnb3RvIGVub21lbTsKLSAKLS0JQk5fc2V0X3dvcmQoJnZ4 Y3AtPnZ4Y19ibnRtcCwgbmNvbHMpOwotLQlFQ19QT0lOVF9tdWwocGdyb3VwLCBwYmF0Y2hpbmMs ICZ2eGNwLT52eGNfYm50bXAsIE5VTEwsIE5VTEwsCi0rCUJOX3NldF93b3JkKHZ4Y3AtPnZ4Y19i bnRtcCwgbmNvbHMpOwotKwlFQ19QT0lOVF9tdWwocGdyb3VwLCBwYmF0Y2hpbmMsIHZ4Y3AtPnZ4 Y19ibnRtcCwgTlVMTCwgTlVMTCwKLSAJCSAgICAgdnhjcC0+dnhjX2JuY3R4KTsKLSAJRUNfUE9J TlRfbWFrZV9hZmZpbmUocGdyb3VwLCBwYmF0Y2hpbmMsIHZ4Y3AtPnZ4Y19ibmN0eCk7Ci0gCi0t CUJOX3NldF93b3JkKCZ2eGNwLT52eGNfYm50bXAsIHJvdW5kKTsKLS0JRUNfUE9JTlRfbXVsKHBn cm91cCwgcG9mZnNldCwgJnZ4Y3AtPnZ4Y19ibnRtcCwgTlVMTCwgTlVMTCwKLSsJQk5fc2V0X3dv cmQodnhjcC0+dnhjX2JudG1wLCByb3VuZCk7Ci0rCUVDX1BPSU5UX211bChwZ3JvdXAsIHBvZmZz ZXQsIHZ4Y3AtPnZ4Y19ibnRtcCwgTlVMTCwgTlVMTCwKLSAJCSAgICAgdnhjcC0+dnhjX2JuY3R4 KTsKLSAJRUNfUE9JTlRfbWFrZV9hZmZpbmUocGdyb3VwLCBwb2Zmc2V0LCB2eGNwLT52eGNfYm5j dHgpOwotIAotQEAgLTIwNDYsMTIgKzIwODgsMTIgQEAgdmdfb3BlbmNsX2xvb3AodmdfZXhlY19j b250ZXh0X3QgKmFyZykKLSAJfQotIAotIAkvKiBEZXRlcm1pbmUgcmVrZXkgaW50ZXJ2YWwgKi8K LS0JRUNfR1JPVVBfZ2V0X29yZGVyKHBncm91cCwgJnZ4Y3AtPnZ4Y19ibnRtcCwgdnhjcC0+dnhj X2JuY3R4KTsKLS0JQk5fc3ViKCZ2eGNwLT52eGNfYm50bXAyLAotLQkgICAgICAgJnZ4Y3AtPnZ4 Y19ibnRtcCwKLSsJRUNfR1JPVVBfZ2V0X29yZGVyKHBncm91cCwgdnhjcC0+dnhjX2JudG1wLCB2 eGNwLT52eGNfYm5jdHgpOwotKwlCTl9zdWIodnhjcC0+dnhjX2JudG1wMiwKLSsJICAgICAgIHZ4 Y3AtPnZ4Y19ibnRtcCwKLSAJICAgICAgIEVDX0tFWV9nZXQwX3ByaXZhdGVfa2V5KHBrZXkpKTsK LS0JcmVrZXlfYXQgPSBCTl9nZXRfd29yZCgmdnhjcC0+dnhjX2JudG1wMik7Ci0tCWlmICgocmVr ZXlfYXQgPT0gQk5fTUFTSzIpIHx8IChyZWtleV9hdCA+IHJla2V5X21heCkpCi0rCXJla2V5X2F0 ID0gQk5fZ2V0X3dvcmQodnhjcC0+dnhjX2JudG1wMik7Ci0rCWlmICgocmVrZXlfYXQgPT0gMHhm ZmZmZmZmZkwpIHx8IChyZWtleV9hdCA+IHJla2V5X21heCkpCi0gCQlyZWtleV9hdCA9IHJla2V5 X21heDsKLSAJYXNzZXJ0KHJla2V5X2F0ID4gMCk7Ci0gCi1kaWZmIC0tZ2l0IGEvcGF0dGVybi5j IGIvcGF0dGVybi5jCi1pbmRleCBiODQzMzRlLi41NjczYTdlIDEwMDY0NAotLS0tIGEvcGF0dGVy bi5jCi0rKysgYi9wYXR0ZXJuLmMKLUBAIC0xNTEsMTIgKzE1MSwxMiBAQCB2Z19leGVjX2NvbnRl eHRfaW5pdCh2Z19jb250ZXh0X3QgKnZjcCwgdmdfZXhlY19jb250ZXh0X3QgKnZ4Y3ApCi0gCi0g CXZ4Y3AtPnZ4Y192YyA9IHZjcDsKLSAKLS0JQk5faW5pdCgmdnhjcC0+dnhjX2JudGFyZyk7Ci0t CUJOX2luaXQoJnZ4Y3AtPnZ4Y19ibmJhc2UpOwotLQlCTl9pbml0KCZ2eGNwLT52eGNfYm50bXAp OwotLQlCTl9pbml0KCZ2eGNwLT52eGNfYm50bXAyKTsKLSsJdnhjcC0+dnhjX2JudGFyZyA9IEJO X25ldygpOwotKwl2eGNwLT52eGNfYm5iYXNlID0gQk5fbmV3KCk7Ci0rCXZ4Y3AtPnZ4Y19ibnRt cCA9IEJOX25ldygpOwotKwl2eGNwLT52eGNfYm50bXAyID0gQk5fbmV3KCk7Ci0gCi0tCUJOX3Nl dF93b3JkKCZ2eGNwLT52eGNfYm5iYXNlLCA1OCk7Ci0rCUJOX3NldF93b3JkKHZ4Y3AtPnZ4Y19i bmJhc2UsIDU4KTsKLSAKLSAJdnhjcC0+dnhjX2JuY3R4ID0gQk5fQ1RYX25ldygpOwotIAlhc3Nl cnQodnhjcC0+dnhjX2JuY3R4KTsKLUBAIC0xOTYsMTAgKzE5NiwxMCBAQCB2Z19leGVjX2NvbnRl eHRfZGVsKHZnX2V4ZWNfY29udGV4dF90ICp2eGNwKQotIAlpZiAodHAtPnZ4Y19zdG9wKQotIAkJ cHRocmVhZF9jb25kX3NpZ25hbCgmdmdfdGhyZWFkX3VwY29uZCk7Ci0gCi0tCUJOX2NsZWFyX2Zy ZWUoJnZ4Y3AtPnZ4Y19ibnRhcmcpOwotLQlCTl9jbGVhcl9mcmVlKCZ2eGNwLT52eGNfYm5iYXNl KTsKLS0JQk5fY2xlYXJfZnJlZSgmdnhjcC0+dnhjX2JudG1wKTsKLS0JQk5fY2xlYXJfZnJlZSgm dnhjcC0+dnhjX2JudG1wMik7Ci0rCUJOX2NsZWFyX2ZyZWUodnhjcC0+dnhjX2JudGFyZyk7Ci0r CUJOX2NsZWFyX2ZyZWUodnhjcC0+dnhjX2JuYmFzZSk7Ci0rCUJOX2NsZWFyX2ZyZWUodnhjcC0+ dnhjX2JudG1wKTsKLSsJQk5fY2xlYXJfZnJlZSh2eGNwLT52eGNfYm50bXAyKTsKLSAJQk5fQ1RY X2ZyZWUodnhjcC0+dnhjX2JuY3R4KTsKLSAJdnhjcC0+dnhjX2JuY3R4ID0gTlVMTDsKLSAJcHRo cmVhZF9tdXRleF91bmxvY2soJnZnX3RocmVhZF9sb2NrKTsKLUBAIC0yMjUsMTIgKzIyNSwxMiBA QCB2b2lkCi0gdmdfZXhlY19jb250ZXh0X2NvbnNvbGlkYXRlX2tleSh2Z19leGVjX2NvbnRleHRf dCAqdnhjcCkKLSB7Ci0gCWlmICh2eGNwLT52eGNfZGVsdGEpIHsKLS0JCUJOX2NsZWFyKCZ2eGNw LT52eGNfYm50bXApOwotLQkJQk5fc2V0X3dvcmQoJnZ4Y3AtPnZ4Y19ibnRtcCwgdnhjcC0+dnhj X2RlbHRhKTsKLS0JCUJOX2FkZCgmdnhjcC0+dnhjX2JudG1wMiwKLSsJCUJOX2NsZWFyKHZ4Y3At PnZ4Y19ibnRtcCk7Ci0rCQlCTl9zZXRfd29yZCh2eGNwLT52eGNfYm50bXAsIHZ4Y3AtPnZ4Y19k ZWx0YSk7Ci0rCQlCTl9hZGQodnhjcC0+dnhjX2JudG1wMiwKLSAJCSAgICAgICBFQ19LRVlfZ2V0 MF9wcml2YXRlX2tleSh2eGNwLT52eGNfa2V5KSwKLS0JCSAgICAgICAmdnhjcC0+dnhjX2JudG1w KTsKLS0JCXZnX3NldF9wcml2a2V5KCZ2eGNwLT52eGNfYm50bXAyLCB2eGNwLT52eGNfa2V5KTsK LSsJCSAgICAgICB2eGNwLT52eGNfYm50bXApOwotKwkJdmdfc2V0X3ByaXZrZXkodnhjcC0+dnhj X2JudG1wMiwgdnhjcC0+dnhjX2tleSk7Ci0gCQl2eGNwLT52eGNfZGVsdGEgPSAwOwotIAl9Ci0g fQotQEAgLTc1MSwyMCArNzUxLDIwIEBAIGdldF9wcmVmaXhfcmFuZ2VzKGludCBhZGRydHlwZSwg Y29uc3QgY2hhciAqcGZ4LCBCSUdOVU0gKipyZXN1bHQsCi0gCWludCBiNThwb3csIGI1OGNlaWws IGI1OHRvcCA9IDA7Ci0gCWludCByZXQgPSAtMTsKLSAKLS0JQklHTlVNIGJudGFyZywgYm5jZWls LCBibmZsb29yOwotLQlCSUdOVU0gYm5iYXNlOwotKwlCSUdOVU0gKmJudGFyZywgKmJuY2VpbCwg KmJuZmxvb3I7Ci0rCUJJR05VTSAqYm5iYXNlOwotIAlCSUdOVU0gKmJuYXAsICpibmJwLCAqYm50 cDsKLSAJQklHTlVNICpibmhpZ2ggPSBOVUxMLCAqYm5sb3cgPSBOVUxMLCAqYm5oaWdoMiA9IE5V TEwsICpibmxvdzIgPSBOVUxMOwotLQlCSUdOVU0gYm50bXAsIGJudG1wMjsKLSsJQklHTlVNICpi bnRtcCwgKmJudG1wMjsKLSAKLS0JQk5faW5pdCgmYm50YXJnKTsKLS0JQk5faW5pdCgmYm5jZWls KTsKLS0JQk5faW5pdCgmYm5mbG9vcik7Ci0tCUJOX2luaXQoJmJuYmFzZSk7Ci0tCUJOX2luaXQo JmJudG1wKTsKLS0JQk5faW5pdCgmYm50bXAyKTsKLSsJYm50YXJnID0gQk5fbmV3KCk7Ci0rCWJu Y2VpbCA9IEJOX25ldygpOwotKwlibmZsb29yID0gQk5fbmV3KCk7Ci0rCWJuYmFzZSA9IEJOX25l dygpOwotKwlibnRtcCA9IEJOX25ldygpOwotKwlibnRtcDIgPSBCTl9uZXcoKTsKLSAKLS0JQk5f c2V0X3dvcmQoJmJuYmFzZSwgNTgpOwotKwlCTl9zZXRfd29yZChibmJhc2UsIDU4KTsKLSAKLSAJ cCA9IHN0cmxlbihwZngpOwotIAotQEAgLTc5MSwyMCArNzkxLDIwIEBAIGdldF9wcmVmaXhfcmFu Z2VzKGludCBhZGRydHlwZSwgY29uc3QgY2hhciAqcGZ4LCBCSUdOVU0gKipyZXN1bHQsCi0gCi0g CQkJLyogRmlyc3Qgbm9uLXplcm8gY2hhcmFjdGVyICovCi0gCQkJYjU4dG9wID0gYzsKLS0JCQlC Tl9zZXRfd29yZCgmYm50YXJnLCBjKTsKLSsJCQlCTl9zZXRfd29yZChibnRhcmcsIGMpOwotIAot IAkJfSBlbHNlIHsKLS0JCQlCTl9zZXRfd29yZCgmYm50bXAyLCBjKTsKLS0JCQlCTl9tdWwoJmJu dG1wLCAmYm50YXJnLCAmYm5iYXNlLCBibmN0eCk7Ci0tCQkJQk5fYWRkKCZibnRhcmcsICZibnRt cCwgJmJudG1wMik7Ci0rCQkJQk5fc2V0X3dvcmQoYm50bXAyLCBjKTsKLSsJCQlCTl9tdWwoYm50 bXAsIGJudGFyZywgYm5iYXNlLCBibmN0eCk7Ci0rCQkJQk5fYWRkKGJudGFyZywgYm50bXAsIGJu dG1wMik7Ci0gCQl9Ci0gCX0KLSAKLSAJLyogUG93ZXItb2YtdHdvIGNlaWxpbmcgYW5kIGZsb29y IHZhbHVlcyBiYXNlZCBvbiBsZWFkaW5nIDFzICovCi0tCUJOX2NsZWFyKCZibnRtcCk7Ci0tCUJO X3NldF9iaXQoJmJudG1wLCAyMDAgLSAoemVyb19wcmVmaXggKiA4KSk7Ci0tCUJOX3N1YigmYm5j ZWlsLCAmYm50bXAsIEJOX3ZhbHVlX29uZSgpKTsKLS0JQk5fc2V0X2JpdCgmYm5mbG9vciwgMTky IC0gKHplcm9fcHJlZml4ICogOCkpOwotKwlCTl9jbGVhcihibnRtcCk7Ci0rCUJOX3NldF9iaXQo Ym50bXAsIDIwMCAtICh6ZXJvX3ByZWZpeCAqIDgpKTsKLSsJQk5fc3ViKGJuY2VpbCwgYm50bXAs IEJOX3ZhbHVlX29uZSgpKTsKLSsJQk5fc2V0X2JpdChibmZsb29yLCAxOTIgLSAoemVyb19wcmVm aXggKiA4KSk7Ci0gCi0gCWJubG93ID0gQk5fbmV3KCk7Ci0gCWJuaGlnaCA9IEJOX25ldygpOwot QEAgLTgxNSwxMyArODE1LDEzIEBAIGdldF9wcmVmaXhfcmFuZ2VzKGludCBhZGRydHlwZSwgY29u c3QgY2hhciAqcGZ4LCBCSUdOVU0gKipyZXN1bHQsCi0gCQkgKiBudW1lcmljIGJvdW5kYXJpZXMg b2YgdGhlIHByZWZpeC4KLSAJCSAqLwotIAotLQkJQk5fY29weSgmYm50bXAsICZibmNlaWwpOwot LQkJYm5hcCA9ICZibnRtcDsKLS0JCWJuYnAgPSAmYm50bXAyOwotKwkJQk5fY29weShibnRtcCwg Ym5jZWlsKTsKLSsJCWJuYXAgPSBibnRtcDsKLSsJCWJuYnAgPSBibnRtcDI7Ci0gCQliNThwb3cg PSAwOwotLQkJd2hpbGUgKEJOX2NtcChibmFwLCAmYm5iYXNlKSA+IDApIHsKLSsJCXdoaWxlIChC Tl9jbXAoYm5hcCwgYm5iYXNlKSA+IDApIHsKLSAJCQliNThwb3crKzsKLS0JCQlCTl9kaXYoYm5i cCwgTlVMTCwgYm5hcCwgJmJuYmFzZSwgYm5jdHgpOwotKwkJCUJOX2RpdihibmJwLCBOVUxMLCBi bmFwLCBibmJhc2UsIGJuY3R4KTsKLSAJCQlibnRwID0gYm5hcDsKLSAJCQlibmFwID0gYm5icDsK LSAJCQlibmJwID0gYm50cDsKLUBAIC04MzcsMTEgKzgzNywxMSBAQCBnZXRfcHJlZml4X3Jhbmdl cyhpbnQgYWRkcnR5cGUsIGNvbnN0IGNoYXIgKnBmeCwgQklHTlVNICoqcmVzdWx0LAotIAkJCS8q IGdvdG8gb3V0OyAqLwotIAkJfQotIAotLQkJQk5fc2V0X3dvcmQoJmJudG1wMiwgYjU4cG93IC0g KHAgLSB6ZXJvX3ByZWZpeCkpOwotLQkJQk5fZXhwKCZibnRtcCwgJmJuYmFzZSwgJmJudG1wMiwg Ym5jdHgpOwotLQkJQk5fbXVsKGJubG93LCAmYm50bXAsICZibnRhcmcsIGJuY3R4KTsKLS0JCUJO X3N1YigmYm50bXAyLCAmYm50bXAsIEJOX3ZhbHVlX29uZSgpKTsKLS0JCUJOX2FkZChibmhpZ2gs IGJubG93LCAmYm50bXAyKTsKLSsJCUJOX3NldF93b3JkKGJudG1wMiwgYjU4cG93IC0gKHAgLSB6 ZXJvX3ByZWZpeCkpOwotKwkJQk5fZXhwKGJudG1wLCBibmJhc2UsIGJudG1wMiwgYm5jdHgpOwot KwkJQk5fbXVsKGJubG93LCBibnRtcCwgYm50YXJnLCBibmN0eCk7Ci0rCQlCTl9zdWIoYm50bXAy LCBibnRtcCwgQk5fdmFsdWVfb25lKCkpOwotKwkJQk5fYWRkKGJuaGlnaCwgYm5sb3csIGJudG1w Mik7Ci0gCi0gCQlpZiAoYjU4dG9wIDw9IGI1OGNlaWwpIHsKLSAJCQkvKiBGaWxsIG91dCB0aGUg dXBwZXIgcmFuZ2UgdG9vICovCi1AQCAtODQ5LDE2ICs4NDksMTYgQEAgZ2V0X3ByZWZpeF9yYW5n ZXMoaW50IGFkZHJ0eXBlLCBjb25zdCBjaGFyICpwZngsIEJJR05VTSAqKnJlc3VsdCwKLSAJCQli bmxvdzIgPSBCTl9uZXcoKTsKLSAJCQlibmhpZ2gyID0gQk5fbmV3KCk7Ci0gCi0tCQkJQk5fbXVs KGJubG93MiwgYm5sb3csICZibmJhc2UsIGJuY3R4KTsKLS0JCQlCTl9tdWwoJmJudG1wMiwgYm5o aWdoLCAmYm5iYXNlLCBibmN0eCk7Ci0tCQkJQk5fc2V0X3dvcmQoJmJudG1wLCA1Nyk7Ci0tCQkJ Qk5fYWRkKGJuaGlnaDIsICZibnRtcDIsICZibnRtcCk7Ci0rCQkJQk5fbXVsKGJubG93MiwgYm5s b3csIGJuYmFzZSwgYm5jdHgpOwotKwkJCUJOX211bChibnRtcDIsIGJuaGlnaCwgYm5iYXNlLCBi bmN0eCk7Ci0rCQkJQk5fc2V0X3dvcmQoYm50bXAsIDU3KTsKLSsJCQlCTl9hZGQoYm5oaWdoMiwg Ym50bXAyLCBibnRtcCk7Ci0gCi0gCQkJLyoKLSAJCQkgKiBBZGRyZXNzZXMgYWJvdmUgdGhlIGNl aWxpbmcgd2lsbCBoYXZlIG9uZQotIAkJCSAqIGZld2VyICIxIiBwcmVmaXggaW4gZnJvbnQgdGhh biB3ZSByZXF1aXJlLgotIAkJCSAqLwotLQkJCWlmIChCTl9jbXAoJmJuY2VpbCwgYm5sb3cyKSA8 IDApIHsKLSsJCQlpZiAoQk5fY21wKGJuY2VpbCwgYm5sb3cyKSA8IDApIHsKLSAJCQkJLyogSGln aCBwcmVmaXggaXMgYWJvdmUgdGhlIGNlaWxpbmcgKi8KLSAJCQkJY2hlY2tfdXBwZXIgPSAwOwot IAkJCQlCTl9mcmVlKGJuaGlnaDIpOwotQEAgLTg2NiwxNSArODY2LDE1IEBAIGdldF9wcmVmaXhf cmFuZ2VzKGludCBhZGRydHlwZSwgY29uc3QgY2hhciAqcGZ4LCBCSUdOVU0gKipyZXN1bHQsCi0g CQkJCUJOX2ZyZWUoYm5sb3cyKTsKLSAJCQkJYm5sb3cyID0gTlVMTDsKLSAJCQl9Ci0tCQkJZWxz ZSBpZiAoQk5fY21wKCZibmNlaWwsIGJuaGlnaDIpIDwgMCkKLSsJCQllbHNlIGlmIChCTl9jbXAo Ym5jZWlsLCBibmhpZ2gyKSA8IDApCi0gCQkJCS8qIEhpZ2ggcHJlZml4IGlzIHBhcnRseSBhYm92 ZSB0aGUgY2VpbGluZyAqLwotLQkJCQlCTl9jb3B5KGJuaGlnaDIsICZibmNlaWwpOwotKwkJCQlC Tl9jb3B5KGJuaGlnaDIsIGJuY2VpbCk7Ci0gCi0gCQkJLyoKLSAJCQkgKiBBZGRyZXNzZXMgYmVs b3cgdGhlIGZsb29yIHdpbGwgaGF2ZSBhbm90aGVyCi0gCQkJICogIjEiIHByZWZpeCBpbiBmcm9u dCBpbnN0ZWFkIG9mIG91ciB0YXJnZXQuCi0gCQkJICovCi0tCQkJaWYgKEJOX2NtcCgmYm5mbG9v ciwgYm5oaWdoKSA+PSAwKSB7Ci0rCQkJaWYgKEJOX2NtcChibmZsb29yLCBibmhpZ2gpID49IDAp IHsKLSAJCQkJLyogTG93IHByZWZpeCBpcyBjb21wbGV0ZWx5IGJlbG93IHRoZSBmbG9vciAqLwot IAkJCQlhc3NlcnQoY2hlY2tfdXBwZXIpOwotIAkJCQljaGVja191cHBlciA9IDA7Ci1AQCAtODg1 LDM1ICs4ODUsMzUgQEAgZ2V0X3ByZWZpeF9yYW5nZXMoaW50IGFkZHJ0eXBlLCBjb25zdCBjaGFy ICpwZngsIEJJR05VTSAqKnJlc3VsdCwKLSAJCQkJYm5sb3cgPSBibmxvdzI7Ci0gCQkJCWJubG93 MiA9IE5VTEw7Ci0gCQkJfQkJCQotLQkJCWVsc2UgaWYgKEJOX2NtcCgmYm5mbG9vciwgYm5sb3cp ID4gMCkgewotKwkJCWVsc2UgaWYgKEJOX2NtcChibmZsb29yLCBibmxvdykgPiAwKSB7Ci0gCQkJ CS8qIExvdyBwcmVmaXggaXMgcGFydGx5IGJlbG93IHRoZSBmbG9vciAqLwotLQkJCQlCTl9jb3B5 KGJubG93LCAmYm5mbG9vcik7Ci0rCQkJCUJOX2NvcHkoYm5sb3csIGJuZmxvb3IpOwotIAkJCX0K LSAJCX0KLSAKLSAJfSBlbHNlIHsKLS0JCUJOX2NvcHkoYm5oaWdoLCAmYm5jZWlsKTsKLSsJCUJO X2NvcHkoYm5oaWdoLCBibmNlaWwpOwotIAkJQk5fY2xlYXIoYm5sb3cpOwotIAl9Ci0gCi0gCS8q IExpbWl0IHRoZSBwcmVmaXggdG8gdGhlIGFkZHJlc3MgdHlwZSAqLwotLQlCTl9jbGVhcigmYm50 bXApOwotLQlCTl9zZXRfd29yZCgmYm50bXAsIGFkZHJ0eXBlKTsKLS0JQk5fbHNoaWZ0KCZibnRt cDIsICZibnRtcCwgMTkyKTsKLSsJQk5fY2xlYXIoYm50bXApOwotKwlCTl9zZXRfd29yZChibnRt cCwgYWRkcnR5cGUpOwotKwlCTl9sc2hpZnQoYm50bXAyLCBibnRtcCwgMTkyKTsKLSAKLSAJaWYg KGNoZWNrX3VwcGVyKSB7Ci0tCQlpZiAoQk5fY21wKCZibnRtcDIsIGJuaGlnaDIpID4gMCkgewot KwkJaWYgKEJOX2NtcChibnRtcDIsIGJuaGlnaDIpID4gMCkgewotIAkJCWNoZWNrX3VwcGVyID0g MDsKLSAJCQlCTl9mcmVlKGJuaGlnaDIpOwotIAkJCWJuaGlnaDIgPSBOVUxMOwotIAkJCUJOX2Zy ZWUoYm5sb3cyKTsKLSAJCQlibmxvdzIgPSBOVUxMOwotIAkJfQotLQkJZWxzZSBpZiAoQk5fY21w KCZibnRtcDIsIGJubG93MikgPiAwKQotLQkJCUJOX2NvcHkoYm5sb3cyLCAmYm50bXAyKTsKLSsJ CWVsc2UgaWYgKEJOX2NtcChibnRtcDIsIGJubG93MikgPiAwKQotKwkJCUJOX2NvcHkoYm5sb3cy LCBibnRtcDIpOwotIAl9Ci0gCi0tCWlmIChCTl9jbXAoJmJudG1wMiwgYm5oaWdoKSA+IDApIHsK LSsJaWYgKEJOX2NtcChibnRtcDIsIGJuaGlnaCkgPiAwKSB7Ci0gCQlpZiAoIWNoZWNrX3VwcGVy KQotIAkJCWdvdG8gbm90X3Bvc3NpYmxlOwotIAkJY2hlY2tfdXBwZXIgPSAwOwotQEAgLTkyNCwy NiArOTI0LDI2IEBAIGdldF9wcmVmaXhfcmFuZ2VzKGludCBhZGRydHlwZSwgY29uc3QgY2hhciAq cGZ4LCBCSUdOVU0gKipyZXN1bHQsCi0gCQlibmxvdyA9IGJubG93MjsKLSAJCWJubG93MiA9IE5V TEw7Ci0gCX0KLS0JZWxzZSBpZiAoQk5fY21wKCZibnRtcDIsIGJubG93KSA+IDApIHsKLS0JCUJO X2NvcHkoYm5sb3csICZibnRtcDIpOwotKwllbHNlIGlmIChCTl9jbXAoYm50bXAyLCBibmxvdykg PiAwKSB7Ci0rCQlCTl9jb3B5KGJubG93LCBibnRtcDIpOwotIAl9Ci0gCi0tCUJOX3NldF93b3Jk KCZibnRtcCwgYWRkcnR5cGUgKyAxKTsKLS0JQk5fbHNoaWZ0KCZibnRtcDIsICZibnRtcCwgMTky KTsKLSsJQk5fc2V0X3dvcmQoYm50bXAsIGFkZHJ0eXBlICsgMSk7Ci0rCUJOX2xzaGlmdChibnRt cDIsIGJudG1wLCAxOTIpOwotIAotIAlpZiAoY2hlY2tfdXBwZXIpIHsKLS0JCWlmIChCTl9jbXAo JmJudG1wMiwgYm5sb3cyKSA8IDApIHsKLSsJCWlmIChCTl9jbXAoYm50bXAyLCBibmxvdzIpIDwg MCkgewotIAkJCWNoZWNrX3VwcGVyID0gMDsKLSAJCQlCTl9mcmVlKGJuaGlnaDIpOwotIAkJCWJu aGlnaDIgPSBOVUxMOwotIAkJCUJOX2ZyZWUoYm5sb3cyKTsKLSAJCQlibmxvdzIgPSBOVUxMOwot IAkJfQotLQkJZWxzZSBpZiAoQk5fY21wKCZibnRtcDIsIGJuaGlnaDIpIDwgMCkKLS0JCQlCTl9j b3B5KGJubG93MiwgJmJudG1wMik7Ci0rCQllbHNlIGlmIChCTl9jbXAoYm50bXAyLCBibmhpZ2gy KSA8IDApCi0rCQkJQk5fY29weShibmxvdzIsIGJudG1wMik7Ci0gCX0KLSAKLS0JaWYgKEJOX2Nt cCgmYm50bXAyLCBibmxvdykgPCAwKSB7Ci0rCWlmIChCTl9jbXAoYm50bXAyLCBibmxvdykgPCAw KSB7Ci0gCQlpZiAoIWNoZWNrX3VwcGVyKQotIAkJCWdvdG8gbm90X3Bvc3NpYmxlOwotIAkJY2hl Y2tfdXBwZXIgPSAwOwotQEAgLTk1NCw4ICs5NTQsOCBAQCBnZXRfcHJlZml4X3JhbmdlcyhpbnQg YWRkcnR5cGUsIGNvbnN0IGNoYXIgKnBmeCwgQklHTlVNICoqcmVzdWx0LAotIAkJYm5sb3cgPSBi bmxvdzI7Ci0gCQlibmxvdzIgPSBOVUxMOwotIAl9Ci0tCWVsc2UgaWYgKEJOX2NtcCgmYm50bXAy LCBibmhpZ2gpIDwgMCkgewotLQkJQk5fY29weShibmhpZ2gsICZibnRtcDIpOwotKwllbHNlIGlm IChCTl9jbXAoYm50bXAyLCBibmhpZ2gpIDwgMCkgewotKwkJQk5fY29weShibmhpZ2gsIGJudG1w Mik7Ci0gCX0KLSAKLSAJLyogQWRkcmVzcyByYW5nZXMgYXJlIGNvbXBsZXRlICovCi1AQCAtOTc2 LDEyICs5NzYsMTIgQEAgZ2V0X3ByZWZpeF9yYW5nZXMoaW50IGFkZHJ0eXBlLCBjb25zdCBjaGFy ICpwZngsIEJJR05VTSAqKnJlc3VsdCwKLSAJfQotIAotIG91dDoKLS0JQk5fY2xlYXJfZnJlZSgm Ym50YXJnKTsKLS0JQk5fY2xlYXJfZnJlZSgmYm5jZWlsKTsKLS0JQk5fY2xlYXJfZnJlZSgmYm5m bG9vcik7Ci0tCUJOX2NsZWFyX2ZyZWUoJmJuYmFzZSk7Ci0tCUJOX2NsZWFyX2ZyZWUoJmJudG1w KTsKLS0JQk5fY2xlYXJfZnJlZSgmYm50bXAyKTsKLSsJQk5fY2xlYXJfZnJlZShibnRhcmcpOwot KwlCTl9jbGVhcl9mcmVlKGJuY2VpbCk7Ci0rCUJOX2NsZWFyX2ZyZWUoYm5mbG9vcik7Ci0rCUJO X2NsZWFyX2ZyZWUoYm5iYXNlKTsKLSsJQk5fY2xlYXJfZnJlZShibnRtcCk7Ci0rCUJOX2NsZWFy X2ZyZWUoYm50bXAyKTsKLSAJaWYgKGJuaGlnaCkKLSAJCUJOX2ZyZWUoYm5oaWdoKTsKLSAJaWYg KGJubG93KQotQEAgLTEyNjYsNyArMTI2Niw3IEBAIHByZWZpeF9jYXNlX2l0ZXJfbmV4dChwcmVm aXhfY2FzZV9pdGVyX3QgKmNpcCkKLSB0eXBlZGVmIHN0cnVjdCBfdmdfcHJlZml4X2NvbnRleHRf cyB7Ci0gCXZnX2NvbnRleHRfdAkJYmFzZTsKLSAJYXZsX3Jvb3RfdAkJdmNwX2F2bHJvb3Q7Ci0t CUJJR05VTQkJCXZjcF9kaWZmaWN1bHR5OwotKwlCSUdOVU0JCQkqdmNwX2RpZmZpY3VsdHk7Ci0g CWludAkJCXZjcF9jYXNlaW5zZW5zaXRpdmU7Ci0gfSB2Z19wcmVmaXhfY29udGV4dF90OwotIAot QEAgLTEyOTQsNyArMTI5NCw3IEBAIHZnX3ByZWZpeF9jb250ZXh0X2NsZWFyX2FsbF9wYXR0ZXJu cyh2Z19jb250ZXh0X3QgKnZjcCkKLSAJdmNwcC0+YmFzZS52Y19ucGF0dGVybnMgPSAwOwotIAl2 Y3BwLT5iYXNlLnZjX25wYXR0ZXJuc19zdGFydCA9IDA7Ci0gCXZjcHAtPmJhc2UudmNfZm91bmQg PSAwOwotLQlCTl9jbGVhcigmdmNwcC0+dmNwX2RpZmZpY3VsdHkpOwotKwlCTl9jbGVhcih2Y3Bw LT52Y3BfZGlmZmljdWx0eSk7Ci0gfQotIAotIHN0YXRpYyB2b2lkCi1AQCAtMTMwMiw3ICsxMzAy LDcgQEAgdmdfcHJlZml4X2NvbnRleHRfZnJlZSh2Z19jb250ZXh0X3QgKnZjcCkKLSB7Ci0gCXZn X3ByZWZpeF9jb250ZXh0X3QgKnZjcHAgPSAodmdfcHJlZml4X2NvbnRleHRfdCAqKSB2Y3A7Ci0g CXZnX3ByZWZpeF9jb250ZXh0X2NsZWFyX2FsbF9wYXR0ZXJucyh2Y3ApOwotLQlCTl9jbGVhcl9m cmVlKCZ2Y3BwLT52Y3BfZGlmZmljdWx0eSk7Ci0rCUJOX2NsZWFyX2ZyZWUodmNwcC0+dmNwX2Rp ZmZpY3VsdHkpOwotIAlmcmVlKHZjcHApOwotIH0KLSAKLUBAIC0xMzE0LDcgKzEzMTQsNyBAQCB2 Z19wcmVmaXhfY29udGV4dF9uZXh0X2RpZmZpY3VsdHkodmdfcHJlZml4X2NvbnRleHRfdCAqdmNw cCwKLSAKLSAJQk5fY2xlYXIoYm50bXApOwotIAlCTl9zZXRfYml0KGJudG1wLCAxOTIpOwotLQlC Tl9kaXYoYm50bXAyLCBOVUxMLCBibnRtcCwgJnZjcHAtPnZjcF9kaWZmaWN1bHR5LCBibmN0eCk7 Ci0rCUJOX2RpdihibnRtcDIsIE5VTEwsIGJudG1wLCB2Y3BwLT52Y3BfZGlmZmljdWx0eSwgYm5j dHgpOwotIAotIAlkYnVmID0gQk5fYm4yZGVjKGJudG1wMik7Ci0gCWlmICh2Y3BwLT5iYXNlLnZj X3ZlcmJvc2UgPiAwKSB7Ci1AQCAtMTMzNyw3ICsxMzM3LDcgQEAgdmdfcHJlZml4X2NvbnRleHRf YWRkX3BhdHRlcm5zKHZnX2NvbnRleHRfdCAqdmNwLAotIAlwcmVmaXhfY2FzZV9pdGVyX3QgY2Fz ZWl0ZXI7Ci0gCXZnX3ByZWZpeF90ICp2cCwgKnZwMjsKLSAJQk5fQ1RYICpibmN0eDsKLS0JQklH TlVNIGJudG1wLCBibnRtcDIsIGJudG1wMzsKLSsJQklHTlVNICpibnRtcCwgKmJudG1wMiwgKmJu dG1wMzsKLSAJQklHTlVNICpyYW5nZXNbNF07Ci0gCWludCByZXQgPSAwOwotIAlpbnQgaSwgaW1w b3NzaWJsZSA9IDA7Ci1AQCAtMTM0Niw5ICsxMzQ2LDkgQEAgdmdfcHJlZml4X2NvbnRleHRfYWRk X3BhdHRlcm5zKHZnX2NvbnRleHRfdCAqdmNwLAotIAljaGFyICpkYnVmOwotIAotIAlibmN0eCA9 IEJOX0NUWF9uZXcoKTsKLS0JQk5faW5pdCgmYm50bXApOwotLQlCTl9pbml0KCZibnRtcDIpOwot LQlCTl9pbml0KCZibnRtcDMpOwotKwlibnRtcCA9IEJOX25ldygpOwotKwlibnRtcDIgPSBCTl9u ZXcoKTsKLSsJYm50bXAzID0gQk5fbmV3KCk7Ci0gCi0gCW5wZnggPSAwOwotIAlmb3IgKGkgPSAw OyBpIDwgbnBhdHRlcm5zOyBpKyspIHsKLUBAIC0xNDI2LDE2ICsxNDI2LDE2IEBAIHZnX3ByZWZp eF9jb250ZXh0X2FkZF9wYXR0ZXJucyh2Z19jb250ZXh0X3QgKnZjcCwKLSAJCW5wZngrKzsKLSAK LSAJCS8qIERldGVybWluZSB0aGUgcHJvYmFiaWxpdHkgb2YgZmluZGluZyBhIG1hdGNoICovCi0t CQl2Z19wcmVmaXhfcmFuZ2Vfc3VtKHZwLCAmYm50bXAsICZibnRtcDIpOwotLQkJQk5fYWRkKCZi bnRtcDIsICZ2Y3BwLT52Y3BfZGlmZmljdWx0eSwgJmJudG1wKTsKLS0JCUJOX2NvcHkoJnZjcHAt PnZjcF9kaWZmaWN1bHR5LCAmYm50bXAyKTsKLSsJCXZnX3ByZWZpeF9yYW5nZV9zdW0odnAsIGJu dG1wLCBibnRtcDIpOwotKwkJQk5fYWRkKGJudG1wMiwgdmNwcC0+dmNwX2RpZmZpY3VsdHksIGJu dG1wKTsKLSsJCUJOX2NvcHkodmNwcC0+dmNwX2RpZmZpY3VsdHksIGJudG1wMik7Ci0gCi0gCQlp ZiAodmNwLT52Y192ZXJib3NlID4gMSkgewotLQkJCUJOX2NsZWFyKCZibnRtcDIpOwotLQkJCUJO X3NldF9iaXQoJmJudG1wMiwgMTkyKTsKLS0JCQlCTl9kaXYoJmJudG1wMywgTlVMTCwgJmJudG1w MiwgJmJudG1wLCBibmN0eCk7Ci0rCQkJQk5fY2xlYXIoYm50bXAyKTsKLSsJCQlCTl9zZXRfYml0 KGJudG1wMiwgMTkyKTsKLSsJCQlCTl9kaXYoYm50bXAzLCBOVUxMLCBibnRtcDIsIGJudG1wLCBi bmN0eCk7Ci0gCi0tCQkJZGJ1ZiA9IEJOX2JuMmRlYygmYm50bXAzKTsKLSsJCQlkYnVmID0gQk5f Ym4yZGVjKGJudG1wMyk7Ci0gCQkJZnByaW50ZihzdGRlcnIsCi0gCQkJCSJQcmVmaXggZGlmZmlj dWx0eTogJTIwcyAlc1xuIiwKLSAJCQkJZGJ1ZiwgcGF0dGVybnNbaV0pOwotQEAgLTE0NjksMTMg KzE0NjksMTMgQEAgdmdfcHJlZml4X2NvbnRleHRfYWRkX3BhdHRlcm5zKHZnX2NvbnRleHRfdCAq dmNwLAotIAl9Ci0gCi0gCWlmIChucGZ4KQotLQkJdmdfcHJlZml4X2NvbnRleHRfbmV4dF9kaWZm aWN1bHR5KHZjcHAsICZibnRtcCwgJmJudG1wMiwgYm5jdHgpOwotKwkJdmdfcHJlZml4X2NvbnRl eHRfbmV4dF9kaWZmaWN1bHR5KHZjcHAsIGJudG1wLCBibnRtcDIsIGJuY3R4KTsKLSAKLSAJcmV0 ID0gKG5wZnggIT0gMCk7Ci0gCi0tCUJOX2NsZWFyX2ZyZWUoJmJudG1wKTsKLS0JQk5fY2xlYXJf ZnJlZSgmYm50bXAyKTsKLS0JQk5fY2xlYXJfZnJlZSgmYm50bXAzKTsKLSsJQk5fY2xlYXJfZnJl ZShibnRtcCk7Ci0rCUJOX2NsZWFyX2ZyZWUoYm50bXAyKTsKLSsJQk5fY2xlYXJfZnJlZShibnRt cDMpOwotIAlCTl9DVFhfZnJlZShibmN0eCk7Ci0gCXJldHVybiByZXQ7Ci0gfQotQEAgLTE0ODQs MzkgKzE0ODQsMzkgQEAgZG91YmxlCi0gdmdfcHJlZml4X2dldF9kaWZmaWN1bHR5KGludCBhZGRy dHlwZSwgY29uc3QgY2hhciAqcGF0dGVybikKLSB7Ci0gCUJOX0NUWCAqYm5jdHg7Ci0tCUJJR05V TSByZXN1bHQsIGJudG1wOwotKwlCSUdOVU0gKnJlc3VsdCwgKmJudG1wOwotIAlCSUdOVU0gKnJh bmdlc1s0XTsKLSAJY2hhciAqZGJ1ZjsKLSAJaW50IHJldDsKLSAJZG91YmxlIGRpZmZyZXQgPSAw LjA7Ci0gCi0gCWJuY3R4ID0gQk5fQ1RYX25ldygpOwotLQlCTl9pbml0KCZyZXN1bHQpOwotLQlC Tl9pbml0KCZibnRtcCk7Ci0rCXJlc3VsdCA9IEJOX25ldygpOwotKwlibnRtcCA9IEJOX25ldygp OwotIAotIAlyZXQgPSBnZXRfcHJlZml4X3JhbmdlcyhhZGRydHlwZSwKLSAJCQkJcGF0dGVybiwg cmFuZ2VzLCBibmN0eCk7Ci0gCi0gCWlmIChyZXQgPT0gMCkgewotLQkJQk5fc3ViKCZibnRtcCwg cmFuZ2VzWzFdLCByYW5nZXNbMF0pOwotLQkJQk5fYWRkKCZyZXN1bHQsICZyZXN1bHQsICZibnRt cCk7Ci0rCQlCTl9zdWIoYm50bXAsIHJhbmdlc1sxXSwgcmFuZ2VzWzBdKTsKLSsJCUJOX2FkZChy ZXN1bHQsIHJlc3VsdCwgYm50bXApOwotIAkJaWYgKHJhbmdlc1syXSkgewotLQkJCUJOX3N1Yigm Ym50bXAsIHJhbmdlc1szXSwgcmFuZ2VzWzJdKTsKLS0JCQlCTl9hZGQoJnJlc3VsdCwgJnJlc3Vs dCwgJmJudG1wKTsKLSsJCQlCTl9zdWIoYm50bXAsIHJhbmdlc1szXSwgcmFuZ2VzWzJdKTsKLSsJ CQlCTl9hZGQocmVzdWx0LCByZXN1bHQsIGJudG1wKTsKLSAJCX0KLSAJCWZyZWVfcmFuZ2VzKHJh bmdlcyk7Ci0gCi0tCQlCTl9jbGVhcigmYm50bXApOwotLQkJQk5fc2V0X2JpdCgmYm50bXAsIDE5 Mik7Ci0tCQlCTl9kaXYoJnJlc3VsdCwgTlVMTCwgJmJudG1wLCAmcmVzdWx0LCBibmN0eCk7Ci0r CQlCTl9jbGVhcihibnRtcCk7Ci0rCQlCTl9zZXRfYml0KGJudG1wLCAxOTIpOwotKwkJQk5fZGl2 KHJlc3VsdCwgTlVMTCwgYm50bXAsIHJlc3VsdCwgYm5jdHgpOwotIAotLQkJZGJ1ZiA9IEJOX2Ju MmRlYygmcmVzdWx0KTsKLSsJCWRidWYgPSBCTl9ibjJkZWMocmVzdWx0KTsKLSAJCWRpZmZyZXQg PSBzdHJ0b2QoZGJ1ZiwgTlVMTCk7Ci0gCQlPUEVOU1NMX2ZyZWUoZGJ1Zik7Ci0gCX0KLSAKLS0J Qk5fY2xlYXJfZnJlZSgmcmVzdWx0KTsKLS0JQk5fY2xlYXJfZnJlZSgmYm50bXApOwotKwlCTl9j bGVhcl9mcmVlKHJlc3VsdCk7Ci0rCUJOX2NsZWFyX2ZyZWUoYm50bXApOwotIAlCTl9DVFhfZnJl ZShibmN0eCk7Ci0gCXJldHVybiBkaWZmcmV0OwotIH0KLUBAIC0xNTM1LDEwICsxNTM1LDEwIEBA IHZnX3ByZWZpeF90ZXN0KHZnX2V4ZWNfY29udGV4dF90ICp2eGNwKQotIAkgKiBjaGVjayBjb2Rl LgotIAkgKi8KLSAKLS0JQk5fYmluMmJuKHZ4Y3AtPnZ4Y19iaW5yZXMsIDI1LCAmdnhjcC0+dnhj X2JudGFyZyk7Ci0rCUJOX2JpbjJibih2eGNwLT52eGNfYmlucmVzLCAyNSwgdnhjcC0+dnhjX2Ju dGFyZyk7Ci0gCi0gcmVzZWFyY2g6Ci0tCXZwID0gdmdfcHJlZml4X2F2bF9zZWFyY2goJnZjcHAt PnZjcF9hdmxyb290LCAmdnhjcC0+dnhjX2JudGFyZyk7Ci0rCXZwID0gdmdfcHJlZml4X2F2bF9z ZWFyY2goJnZjcHAtPnZjcF9hdmxyb290LCB2eGNwLT52eGNfYm50YXJnKTsKLSAJaWYgKHZwKSB7 Ci0gCQlpZiAodmdfZXhlY19jb250ZXh0X3VwZ3JhZGVfbG9jayh2eGNwKSkKLSAJCQlnb3RvIHJl c2VhcmNoOwotQEAgLTE1NTgsMjAgKzE1NTgsMjAgQEAgdmdfcHJlZml4X3Rlc3QodmdfZXhlY19j b250ZXh0X3QgKnZ4Y3ApCi0gCQlpZiAodmNwcC0+YmFzZS52Y19yZW1vdmVfb25fbWF0Y2gpIHsK LSAJCQkvKiBTdWJ0cmFjdCB0aGUgcmFuZ2UgZnJvbSB0aGUgZGlmZmljdWx0eSAqLwotIAkJCXZn X3ByZWZpeF9yYW5nZV9zdW0odnAsCi0tCQkJCQkgICAgJnZ4Y3AtPnZ4Y19ibnRhcmcsCi0tCQkJ CQkgICAgJnZ4Y3AtPnZ4Y19ibnRtcCk7Ci0tCQkJQk5fc3ViKCZ2eGNwLT52eGNfYm50bXAsCi0t CQkJICAgICAgICZ2Y3BwLT52Y3BfZGlmZmljdWx0eSwKLS0JCQkgICAgICAgJnZ4Y3AtPnZ4Y19i bnRhcmcpOwotLQkJCUJOX2NvcHkoJnZjcHAtPnZjcF9kaWZmaWN1bHR5LCAmdnhjcC0+dnhjX2Ju dG1wKTsKLSsJCQkJCSAgICB2eGNwLT52eGNfYm50YXJnLAotKwkJCQkJICAgIHZ4Y3AtPnZ4Y19i bnRtcCk7Ci0rCQkJQk5fc3ViKHZ4Y3AtPnZ4Y19ibnRtcCwKLSsJCQkgICAgICAgdmNwcC0+dmNw X2RpZmZpY3VsdHksCi0rCQkJICAgICAgIHZ4Y3AtPnZ4Y19ibnRhcmcpOwotKwkJCUJOX2NvcHko dmNwcC0+dmNwX2RpZmZpY3VsdHksIHZ4Y3AtPnZ4Y19ibnRtcCk7Ci0gCi0gCQkJdmdfcHJlZml4 X2RlbGV0ZSgmdmNwcC0+dmNwX2F2bHJvb3QsdnApOwotIAkJCXZjcHAtPmJhc2UudmNfbnBhdHRl cm5zLS07Ci0gCi0gCQkJaWYgKCFhdmxfcm9vdF9lbXB0eSgmdmNwcC0+dmNwX2F2bHJvb3QpKQot IAkJCQl2Z19wcmVmaXhfY29udGV4dF9uZXh0X2RpZmZpY3VsdHkoCi0tCQkJCQl2Y3BwLCAmdnhj cC0+dnhjX2JudG1wLAotLQkJCQkJJnZ4Y3AtPnZ4Y19ibnRtcDIsCi0rCQkJCQl2Y3BwLCB2eGNw LT52eGNfYm50bXAsCi0rCQkJCQl2eGNwLT52eGNfYm50bXAyLAotIAkJCQkJdnhjcC0+dnhjX2Ju Y3R4KTsKLSAJCQl2Y3BwLT5iYXNlLnZjX3BhdHRlcm5fZ2VuZXJhdGlvbisrOwotIAkJfQotQEAg LTE2NTIsNyArMTY1Miw3IEBAIHZnX3ByZWZpeF9jb250ZXh0X25ldyhpbnQgYWRkcnR5cGUsIGlu dCBwcml2dHlwZSwgaW50IGNhc2VpbnNlbnNpdGl2ZSkKLSAJCXZjcHAtPmJhc2UudmNfdGVzdCA9 IHZnX3ByZWZpeF90ZXN0OwotIAkJdmNwcC0+YmFzZS52Y19oYXNoMTYwX3NvcnQgPSB2Z19wcmVm aXhfaGFzaDE2MF9zb3J0OwotIAkJYXZsX3Jvb3RfaW5pdCgmdmNwcC0+dmNwX2F2bHJvb3QpOwot LQkJQk5faW5pdCgmdmNwcC0+dmNwX2RpZmZpY3VsdHkpOwotKwkJdmNwcC0+dmNwX2RpZmZpY3Vs dHkgPSBCTl9uZXcoKTsKLSAJCXZjcHAtPnZjcF9jYXNlaW5zZW5zaXRpdmUgPSBjYXNlaW5zZW5z aXRpdmU7Ci0gCX0KLSAJcmV0dXJuICZ2Y3BwLT5iYXNlOwotQEAgLTE3NzgsMjEgKzE3NzgsMjEg QEAgdmdfcmVnZXhfdGVzdCh2Z19leGVjX2NvbnRleHRfdCAqdnhjcCkKLSAJdW5zaWduZWQgY2hh ciBoYXNoMVszMl0sIGhhc2gyWzMyXTsKLSAJaW50IGksIHpwZngsIHAsIGQsIG5yZXMsIHJlX3Zl Y1s5XTsKLSAJY2hhciBiNThbNDBdOwotLQlCSUdOVU0gYm5yZW07Ci0rCUJJR05VTSAqYm5yZW07 Ci0gCUJJR05VTSAqYm4sICpibmRpdiwgKmJucHRtcDsKLSAJaW50IHJlcyA9IDA7Ci0gCi0gCXBj cmUgKnJlOwotIAotLQlCTl9pbml0KCZibnJlbSk7Ci0rCWJucmVtID0gQk5fbmV3KCk7Ci0gCi0g CS8qIEhhc2ggdGhlIGhhc2ggYW5kIHdyaXRlIHRoZSBmb3VyIGJ5dGUgY2hlY2sgY29kZSAqLwot IAlTSEEyNTYodnhjcC0+dnhjX2JpbnJlcywgMjEsIGhhc2gxKTsKLSAJU0hBMjU2KGhhc2gxLCBz aXplb2YoaGFzaDEpLCBoYXNoMik7Ci0gCW1lbWNweSgmdnhjcC0+dnhjX2JpbnJlc1syMV0sIGhh c2gyLCA0KTsKLSAKLS0JYm4gPSAmdnhjcC0+dnhjX2JudG1wOwotLQlibmRpdiA9ICZ2eGNwLT52 eGNfYm50bXAyOwotKwlibiA9IHZ4Y3AtPnZ4Y19ibnRtcDsKLSsJYm5kaXYgPSB2eGNwLT52eGNf Ym50bXAyOwotIAotIAlCTl9iaW4yYm4odnhjcC0+dnhjX2JpbnJlcywgMjUsIGJuKTsKLSAKLUBA IC0xODAxLDExICsxODAxLDExIEBAIHZnX3JlZ2V4X3Rlc3QodmdfZXhlY19jb250ZXh0X3QgKnZ4 Y3ApCi0gCXAgPSBzaXplb2YoYjU4KSAtIDE7Ci0gCWI1OFtwXSA9ICdcMCc7Ci0gCXdoaWxlICgh Qk5faXNfemVybyhibikpIHsKLS0JCUJOX2RpdihibmRpdiwgJmJucmVtLCBibiwgJnZ4Y3AtPnZ4 Y19ibmJhc2UsIHZ4Y3AtPnZ4Y19ibmN0eCk7Ci0rCQlCTl9kaXYoYm5kaXYsIGJucmVtLCBibiwg dnhjcC0+dnhjX2JuYmFzZSwgdnhjcC0+dnhjX2JuY3R4KTsKLSAJCWJucHRtcCA9IGJuOwotIAkJ Ym4gPSBibmRpdjsKLSAJCWJuZGl2ID0gYm5wdG1wOwotLQkJZCA9IEJOX2dldF93b3JkKCZibnJl bSk7Ci0rCQlkID0gQk5fZ2V0X3dvcmQoYm5yZW0pOwotIAkJYjU4Wy0tcF0gPSB2Z19iNThfYWxw aGFiZXRbZF07Ci0gCX0KLSAJd2hpbGUgKHpwZngtLSkgewotQEAgLTE4NzgsNyArMTg3OCw3IEBA IHZnX3JlZ2V4X3Rlc3QodmdfZXhlY19jb250ZXh0X3QgKnZ4Y3ApCi0gCQlyZXMgPSAxOwotIAl9 Ci0gb3V0OgotLQlCTl9jbGVhcl9mcmVlKCZibnJlbSk7Ci0rCUJOX2NsZWFyX2ZyZWUoYm5yZW0p OwotIAlyZXR1cm4gcmVzOwotIH0KLSAKLWRpZmYgLS1naXQgYS9wYXR0ZXJuLmggYi9wYXR0ZXJu LmgKLWluZGV4IDNjZTJkMWYuLjBiNjA0ZWEgMTAwNjQ0Ci0tLS0gYS9wYXR0ZXJuLmgKLSsrKyBi L3BhdHRlcm4uaAotQEAgLTUxLDEwICs1MSwxMCBAQCBzdHJ1Y3QgX3ZnX2V4ZWNfY29udGV4dF9z IHsKLSAJRUNfS0VZCQkJCSp2eGNfa2V5OwotIAlpbnQJCQkJdnhjX2RlbHRhOwotIAl1bnNpZ25l ZCBjaGFyCQkJdnhjX2JpbnJlc1syOF07Ci0tCUJJR05VTQkJCQl2eGNfYm50YXJnOwotLQlCSUdO VU0JCQkJdnhjX2JuYmFzZTsKLS0JQklHTlVNCQkJCXZ4Y19ibnRtcDsKLS0JQklHTlVNCQkJCXZ4 Y19ibnRtcDI7Ci0rCUJJR05VTQkJCQkqdnhjX2JudGFyZzsKLSsJQklHTlVNCQkJCSp2eGNfYm5i YXNlOwotKwlCSUdOVU0JCQkJKnZ4Y19ibnRtcDsKLSsJQklHTlVNCQkJCSp2eGNfYm50bXAyOwot IAotIAl2Z19leGVjX2NvbnRleHRfdGhyZWFkZnVuY190CXZ4Y190aHJlYWRmdW5jOwotIAlwdGhy ZWFkX3QJCQl2eGNfcHRocmVhZDsKLWRpZmYgLS1naXQgYS91dGlsLmMgYi91dGlsLmMKLWluZGV4 IDRmM2NiYjguLjM1Y2Q1OTIgMTAwNjQ0Ci0tLS0gYS91dGlsLmMKLSsrKyBiL3V0aWwuYwotQEAg LTExMCwxOSArMTEwLDE5IEBAIHZnX2I1OF9lbmNvZGVfY2hlY2sodm9pZCAqYnVmLCBzaXplX3Qg bGVuLCBjaGFyICpyZXN1bHQpCi0gCi0gCUJOX0NUWCAqYm5jdHg7Ci0gCUJJR05VTSAqYm4sICpi bmRpdiwgKmJudG1wOwotLQlCSUdOVU0gYm5hLCBibmIsIGJuYmFzZSwgYm5yZW07Ci0rCUJJR05V TSAqYm5hLCAqYm5iLCAqYm5iYXNlLCAqYm5yZW07Ci0gCXVuc2lnbmVkIGNoYXIgKmJpbnJlczsK LSAJaW50IGJybGVuLCB6cGZ4OwotIAotIAlibmN0eCA9IEJOX0NUWF9uZXcoKTsKLS0JQk5faW5p dCgmYm5hKTsKLS0JQk5faW5pdCgmYm5iKTsKLS0JQk5faW5pdCgmYm5iYXNlKTsKLS0JQk5faW5p dCgmYm5yZW0pOwotLQlCTl9zZXRfd29yZCgmYm5iYXNlLCA1OCk7Ci0rCWJuYSA9IEJOX25ldygp OwotKwlibmIgPSBCTl9uZXcoKTsKLSsJYm5iYXNlID0gQk5fbmV3KCk7Ci0rCWJucmVtID0gQk5f bmV3KCk7Ci0rCUJOX3NldF93b3JkKGJuYmFzZSwgNTgpOwotIAotLQlibiA9ICZibmE7Ci0tCWJu ZGl2ID0gJmJuYjsKLSsJYm4gPSBibmE7Ci0rCWJuZGl2ID0gYm5iOwotIAotIAlicmxlbiA9ICgy ICogbGVuKSArIDQ7Ci0gCWJpbnJlcyA9ICh1bnNpZ25lZCBjaGFyKikgbWFsbG9jKGJybGVuKTsK LUBAIC0xNTQsMTEgKzE1NCwxMSBAQCB2Z19iNThfZW5jb2RlX2NoZWNrKHZvaWQgKmJ1Ziwgc2l6 ZV90IGxlbiwgY2hhciAqcmVzdWx0KQotIAotIAlwID0gYnJsZW47Ci0gCXdoaWxlICghQk5faXNf emVybyhibikpIHsKLS0JCUJOX2RpdihibmRpdiwgJmJucmVtLCBibiwgJmJuYmFzZSwgYm5jdHgp OwotKwkJQk5fZGl2KGJuZGl2LCBibnJlbSwgYm4sIGJuYmFzZSwgYm5jdHgpOwotIAkJYm50bXAg PSBibjsKLSAJCWJuID0gYm5kaXY7Ci0gCQlibmRpdiA9IGJudG1wOwotLQkJZCA9IEJOX2dldF93 b3JkKCZibnJlbSk7Ci0rCQlkID0gQk5fZ2V0X3dvcmQoYm5yZW0pOwotIAkJYmlucmVzWy0tcF0g PSB2Z19iNThfYWxwaGFiZXRbZF07Ci0gCX0KLSAKLUBAIC0xNzAsMTAgKzE3MCwxMCBAQCB2Z19i NThfZW5jb2RlX2NoZWNrKHZvaWQgKmJ1Ziwgc2l6ZV90IGxlbiwgY2hhciAqcmVzdWx0KQotIAly ZXN1bHRbYnJsZW4gLSBwXSA9ICdcMCc7Ci0gCi0gCWZyZWUoYmlucmVzKTsKLS0JQk5fY2xlYXJf ZnJlZSgmYm5hKTsKLS0JQk5fY2xlYXJfZnJlZSgmYm5iKTsKLS0JQk5fY2xlYXJfZnJlZSgmYm5i YXNlKTsKLS0JQk5fY2xlYXJfZnJlZSgmYm5yZW0pOwotKwlCTl9jbGVhcl9mcmVlKGJuYSk7Ci0r CUJOX2NsZWFyX2ZyZWUoYm5iKTsKLSsJQk5fY2xlYXJfZnJlZShibmJhc2UpOwotKwlCTl9jbGVh cl9mcmVlKGJucmVtKTsKLSAJQk5fQ1RYX2ZyZWUoYm5jdHgpOwotIH0KLSAKLUBAIC0xODUsNyAr MTg1LDcgQEAgdmdfYjU4X2RlY29kZV9jaGVjayhjb25zdCBjaGFyICppbnB1dCwgdm9pZCAqYnVm LCBzaXplX3QgbGVuKQotIHsKLSAJaW50IGksIGwsIGM7Ci0gCXVuc2lnbmVkIGNoYXIgKnhidWYg PSBOVUxMOwotLQlCSUdOVU0gYm4sIGJudywgYm5iYXNlOwotKwlCSUdOVU0gKmJuLCAqYm53LCAq Ym5iYXNlOwotIAlCTl9DVFggKmJuY3R4OwotIAl1bnNpZ25lZCBjaGFyIGhhc2gxWzMyXSwgaGFz aDJbMzJdOwotIAl1bnNpZ25lZCBjaGFyIGdyb2VzdGxoYXNoMVs2NF07Ci1AQCAtMTkzLDEwICsx OTMsMTAgQEAgdmdfYjU4X2RlY29kZV9jaGVjayhjb25zdCBjaGFyICppbnB1dCwgdm9pZCAqYnVm LCBzaXplX3QgbGVuKQotIAlpbnQgenBmeDsKLSAJaW50IHJlcyA9IDA7Ci0gCi0tCUJOX2luaXQo JmJuKTsKLS0JQk5faW5pdCgmYm53KTsKLS0JQk5faW5pdCgmYm5iYXNlKTsKLS0JQk5fc2V0X3dv cmQoJmJuYmFzZSwgNTgpOwotKwlibiA9IEJOX25ldygpOwotKwlibncgPSBCTl9uZXcoKTsKLSsJ Ym5iYXNlID0gQk5fbmV3KCk7Ci0rCUJOX3NldF93b3JkKGJuYmFzZSwgNTgpOwotIAlibmN0eCA9 IEJOX0NUWF9uZXcoKTsKLSAKLSAJLyogQnVpbGQgYSBiaWdudW0gZnJvbSB0aGUgZW5jb2RlZCB2 YWx1ZSAqLwotQEAgLTIwNywxMCArMjA3LDEwIEBAIHZnX2I1OF9kZWNvZGVfY2hlY2soY29uc3Qg Y2hhciAqaW5wdXQsIHZvaWQgKmJ1Ziwgc2l6ZV90IGxlbikKLSAJCWMgPSB2Z19iNThfcmV2ZXJz ZV9tYXBbKGludClpbnB1dFtpXV07Ci0gCQlpZiAoYyA8IDApCi0gCQkJZ290byBvdXQ7Ci0tCQlC Tl9jbGVhcigmYm53KTsKLS0JCUJOX3NldF93b3JkKCZibncsIGMpOwotLQkJQk5fbXVsKCZibiwg JmJuLCAmYm5iYXNlLCBibmN0eCk7Ci0tCQlCTl9hZGQoJmJuLCAmYm4sICZibncpOwotKwkJQk5f Y2xlYXIoYm53KTsKLSsJCUJOX3NldF93b3JkKGJudywgYyk7Ci0rCQlCTl9tdWwoYm4sIGJuLCBi bmJhc2UsIGJuY3R4KTsKLSsJCUJOX2FkZChibiwgYm4sIGJudyk7Ci0gCX0KLSAKLSAJLyogQ29w eSB0aGUgYmlnbnVtIHRvIGEgYnl0ZSBidWZmZXIgKi8KLUBAIC0yMjEsNyArMjIxLDcgQEAgdmdf YjU4X2RlY29kZV9jaGVjayhjb25zdCBjaGFyICppbnB1dCwgdm9pZCAqYnVmLCBzaXplX3QgbGVu KQotIAkJCWJyZWFrOwotIAkJenBmeCsrOwotIAl9Ci0tCWMgPSBCTl9udW1fYnl0ZXMoJmJuKTsK LSsJYyA9IEJOX251bV9ieXRlcyhibik7Ci0gCWwgPSB6cGZ4ICsgYzsKLSAJaWYgKGwgPCA1KQot IAkJZ290byBvdXQ7Ci1AQCAtMjMxLDcgKzIzMSw3IEBAIHZnX2I1OF9kZWNvZGVfY2hlY2soY29u c3QgY2hhciAqaW5wdXQsIHZvaWQgKmJ1Ziwgc2l6ZV90IGxlbikKLSAJaWYgKHpwZngpCi0gCQlt ZW1zZXQoeGJ1ZiwgMCwgenBmeCk7Ci0gCWlmIChjKQotLQkJQk5fYm4yYmluKCZibiwgeGJ1ZiAr IHpwZngpOwotKwkJQk5fYm4yYmluKGJuLCB4YnVmICsgenBmeCk7Ci0gCi0gCS8qIENoZWNrIHRo ZSBoYXNoIGNvZGUgKi8KLSAJbCAtPSA0OwotQEAgLTI3MCw5ICsyNzAsOSBAQCB2Z19iNThfZGVj b2RlX2NoZWNrKGNvbnN0IGNoYXIgKmlucHV0LCB2b2lkICpidWYsIHNpemVfdCBsZW4pCi0gb3V0 OgotIAlpZiAoeGJ1ZikKLSAJCWZyZWUoeGJ1Zik7Ci0tCUJOX2NsZWFyX2ZyZWUoJmJuKTsKLS0J Qk5fY2xlYXJfZnJlZSgmYm53KTsKLS0JQk5fY2xlYXJfZnJlZSgmYm5iYXNlKTsKLSsJQk5fY2xl YXJfZnJlZShibik7Ci0rCUJOX2NsZWFyX2ZyZWUoYm53KTsKLSsJQk5fY2xlYXJfZnJlZShibmJh c2UpOwotIAlCTl9DVFhfZnJlZShibmN0eCk7Ci0gCXJldHVybiByZXM7Ci0gfQotQEAgLTQyMCw3 ICs0MjAsNyBAQCB2Z19zZXRfcHJpdmtleShjb25zdCBCSUdOVU0gKmJucHJpdiwgRUNfS0VZICpw a2V5KQotIGludAotIHZnX2RlY29kZV9wcml2a2V5KGNvbnN0IGNoYXIgKmI1OGVuY29kZWQsIEVD X0tFWSAqcGtleSwgaW50ICphZGRydHlwZSkKLSB7Ci0tCUJJR05VTSBibnByaXY7Ci0rCUJJR05V TSAqYm5wcml2OwotIAl1bnNpZ25lZCBjaGFyIGVjcHJpdls0OF07Ci0gCWludCByZXMsIHJldDsK LSAKLUBAIC00MzAsMTAgKzQzMCwxMCBAQCB2Z19kZWNvZGVfcHJpdmtleShjb25zdCBjaGFyICpi NThlbmNvZGVkLCBFQ19LRVkgKnBrZXksIGludCAqYWRkcnR5cGUpCi0gCi0gCXJldCA9IHJlcyAt IDMyOwotIAotLQlCTl9pbml0KCZibnByaXYpOwotLQlCTl9iaW4yYm4oZWNwcml2ICsgMSwgMzIs ICZibnByaXYpOwotLQlyZXMgPSB2Z19zZXRfcHJpdmtleSgmYm5wcml2LCBwa2V5KTsKLS0JQk5f Y2xlYXJfZnJlZSgmYm5wcml2KTsKLSsJYm5wcml2ID0gQk5fbmV3KCk7Ci0rCUJOX2JpbjJibihl Y3ByaXYgKyAxLCAzMiwgYm5wcml2KTsKLSsJcmVzID0gdmdfc2V0X3ByaXZrZXkoYm5wcml2LCBw a2V5KTsKLSsJQk5fY2xlYXJfZnJlZShibnByaXYpOwotIAkqYWRkcnR5cGUgPSBlY3ByaXZbMF07 Ci0gCXJldHVybiByZXQ7Ci0gfQotQEAgLTYzMiwxNSArNjMyLDE1IEBAIHZnX3Byb3RlY3RfY3J5 cHQoaW50IHBhcmFtZXRlcl9ncm91cCwKLSAJCXNhbHRfbGVuID0gNDsKLSAJCWhtYWNfbGVuID0g ODsKLSAJCWhtYWNfa2V5bGVuID0gMTY7Ci0tCQljaXBoZXJ0ZXh0X2xlbiA9ICgocGxhaW50ZXh0 X2xlbiArIGNpcGhlci0+YmxvY2tfc2l6ZSAtIDEpIC8KLS0JCQkJICBjaXBoZXItPmJsb2NrX3Np emUpICogY2lwaGVyLT5ibG9ja19zaXplOwotKwkJY2lwaGVydGV4dF9sZW4gPSAoKHBsYWludGV4 dF9sZW4gKyBFVlBfQ0lQSEVSX2Jsb2NrX3NpemUoY2lwaGVyKSAtIDEpIC8KLSsJCQkJICBFVlBf Q0lQSEVSX2Jsb2NrX3NpemUoY2lwaGVyKSkgKiBFVlBfQ0lQSEVSX2Jsb2NrX3NpemUoY2lwaGVy KTsKLSAJCXBrY3M3X3BhZGRpbmcgPSAwOwotIAkJaG1hY19kaWdlc3QgPSBFVlBfc2hhMjU2KCk7 Ci0gCX0gZWxzZSB7Ci0gCQkvKiBQS0NTLWNvbXBsaWFudCBlbmNvZGluZyAqLwotIAkJc2FsdF9s ZW4gPSA4OwotLQkJY2lwaGVydGV4dF9sZW4gPSAoKHBsYWludGV4dF9sZW4gKyBjaXBoZXItPmJs b2NrX3NpemUpIC8KLS0JCQkJICBjaXBoZXItPmJsb2NrX3NpemUpICogY2lwaGVyLT5ibG9ja19z aXplOwotKwkJY2lwaGVydGV4dF9sZW4gPSAoKHBsYWludGV4dF9sZW4gKyBFVlBfQ0lQSEVSX2Js b2NrX3NpemUoY2lwaGVyKSkgLwotKwkJCQkgIEVWUF9DSVBIRVJfYmxvY2tfc2l6ZShjaXBoZXIp KSAqIEVWUF9DSVBIRVJfYmxvY2tfc2l6ZShjaXBoZXIpOwotIAkJaG1hY19kaWdlc3QgPSBOVUxM OwotIAl9Ci0gCi1AQCAtNjY2LDEyICs2NjYsMTIgQEAgdmdfcHJvdGVjdF9jcnlwdChpbnQgcGFy YW1ldGVyX2dyb3VwLAotIAkJCSAgc2FsdCwgc2FsdF9sZW4sCi0gCQkJICBwYXJhbXMtPml0ZXJh dGlvbnMsCi0gCQkJICBwYmtkZl9kaWdlc3QsCi0tCQkJICBjaXBoZXItPmtleV9sZW4gKyBjaXBo ZXItPml2X2xlbiArIGhtYWNfa2V5bGVuLAotKwkJCSAgRVZQX0NJUEhFUl9rZXlfbGVuZ3RoKGNp cGhlcikgKyBFVlBfQ0lQSEVSX2l2X2xlbmd0aChjaXBoZXIpICsgaG1hY19rZXlsZW4sCi0gCQkJ ICBrZXltYXRlcmlhbCk7Ci0gCi0gCWlmICghRVZQX0NpcGhlckluaXQoY3R4LCBjaXBoZXIsCi0g CQkJICAgIGtleW1hdGVyaWFsLAotLQkJCSAgICBrZXltYXRlcmlhbCArIGNpcGhlci0+a2V5X2xl biwKLSsJCQkgICAga2V5bWF0ZXJpYWwgKyBFVlBfQ0lQSEVSX2tleV9sZW5ndGgoY2lwaGVyKSwK LSAJCQkgICAgZW5jKSkgewotIAkJZnByaW50ZihzdGRlcnIsICJFUlJPUjogY291bGQgbm90IGNv bmZpZ3VyZSBjaXBoZXJcbiIpOwotIAkJZ290byBvdXQ7Ci1AQCAtNzA3LDcgKzcwNyw3IEBAIHZn X3Byb3RlY3RfY3J5cHQoaW50IHBhcmFtZXRlcl9ncm91cCwKLSAJaWYgKGhtYWNfbGVuKSB7Ci0g CQlobGVuID0gc2l6ZW9mKGhtYWMpOwotIAkJSE1BQyhobWFjX2RpZ2VzdCwKLS0JCSAgICAga2V5 bWF0ZXJpYWwgKyBjaXBoZXItPmtleV9sZW4gKyBjaXBoZXItPml2X2xlbiwKLSsJCSAgICAga2V5 bWF0ZXJpYWwgKyBFVlBfQ0lQSEVSX2tleV9sZW5ndGgoY2lwaGVyKSArIEVWUF9DSVBIRVJfaXZf bGVuZ3RoKGNpcGhlciksCi0gCQkgICAgIGhtYWNfa2V5bGVuLAotIAkJICAgICBlbmMgPyBkYXRh X2luIDogZGF0YV9vdXQsIHBsYWludGV4dF9sZW4sCi0gCQkgICAgIGhtYWMsICZobGVuKTsKLUBA IC03ODYsNyArNzg2LDcgQEAgdmdfcHJvdGVjdF9kZWNvZGVfcHJpdmtleShFQ19LRVkgKnBrZXks IGludCAqa2V5dHlwZSwKLSB7Ci0gCXVuc2lnbmVkIGNoYXIgZWNwcml2WzY0XTsKLSAJdW5zaWdu ZWQgY2hhciBlY2VuY1sxMjhdOwotLQlCSUdOVU0gYm47Ci0rCUJJR05VTSAqYm47Ci0gCWludCBy ZXN0eXBlOwotIAlpbnQgcmVzOwotIAotQEAgLTgxMCwxMCArODEwLDEwIEBAIHZnX3Byb3RlY3Rf ZGVjb2RlX3ByaXZrZXkoRUNfS0VZICpwa2V5LCBpbnQgKmtleXR5cGUsCi0gCi0gCXJlcyA9IDE7 Ci0gCWlmIChwa2V5KSB7Ci0tCQlCTl9pbml0KCZibik7Ci0tCQlCTl9iaW4yYm4oZWNwcml2LCAz MiwgJmJuKTsKLS0JCXJlcyA9IHZnX3NldF9wcml2a2V5KCZibiwgcGtleSk7Ci0tCQlCTl9jbGVh cl9mcmVlKCZibik7Ci0rCQlibiA9IEJOX25ldygpOwotKwkJQk5fYmluMmJuKGVjcHJpdiwgMzIs IGJuKTsKLSsJCXJlcyA9IHZnX3NldF9wcml2a2V5KGJuLCBwa2V5KTsKLSsJCUJOX2NsZWFyX2Zy ZWUoYm4pOwotIAkJT1BFTlNTTF9jbGVhbnNlKGVjcHJpdiwgc2l6ZW9mKGVjcHJpdikpOwotIAl9 Ci0gCi1kaWZmIC0tZ2l0IGEvdmFuaXR5Z2VuLmMgYi92YW5pdHlnZW4uYwotaW5kZXggZmI3OTI1 YS4uOTkyZTVkNyAxMDA2NDQKLS0tLSBhL3Zhbml0eWdlbi5jCi0rKysgYi92YW5pdHlnZW4uYwot QEAgLTk0LDggKzk0LDggQEAgdmdfdGhyZWFkX2xvb3Aodm9pZCAqYXJnKQotIAkJZXhpdCgxKTsK LSAJfQotIAotLQlCTl9zZXRfd29yZCgmdnhjcC0+dnhjX2JudG1wLCBwdGFycmF5c2l6ZSk7Ci0t CUVDX1BPSU5UX211bChwZ3JvdXAsIHBiYXRjaGluYywgJnZ4Y3AtPnZ4Y19ibnRtcCwgTlVMTCwg TlVMTCwKLSsJQk5fc2V0X3dvcmQodnhjcC0+dnhjX2JudG1wLCBwdGFycmF5c2l6ZSk7Ci0rCUVD X1BPSU5UX211bChwZ3JvdXAsIHBiYXRjaGluYywgdnhjcC0+dnhjX2JudG1wLCBOVUxMLCBOVUxM LAotIAkJICAgICB2eGNwLT52eGNfYm5jdHgpOwotIAlFQ19QT0lOVF9tYWtlX2FmZmluZShwZ3Jv dXAsIHBiYXRjaGluYywgdnhjcC0+dnhjX2JuY3R4KTsKLSAKLUBAIC0xMzksMTMgKzEzOSwxMyBA QCB2Z190aHJlYWRfbG9vcCh2b2lkICphcmcpCi0gCQkJbnBvaW50cyA9IDA7Ci0gCi0gCQkJLyog RGV0ZXJtaW5lIHJla2V5IGludGVydmFsICovCi0tCQkJRUNfR1JPVVBfZ2V0X29yZGVyKHBncm91 cCwgJnZ4Y3AtPnZ4Y19ibnRtcCwKLSsJCQlFQ19HUk9VUF9nZXRfb3JkZXIocGdyb3VwLCB2eGNw LT52eGNfYm50bXAsCi0gCQkJCQkgICB2eGNwLT52eGNfYm5jdHgpOwotLQkJCUJOX3N1Yigmdnhj cC0+dnhjX2JudG1wMiwKLS0JCQkgICAgICAgJnZ4Y3AtPnZ4Y19ibnRtcCwKLSsJCQlCTl9zdWIo dnhjcC0+dnhjX2JudG1wMiwKLSsJCQkgICAgICAgdnhjcC0+dnhjX2JudG1wLAotIAkJCSAgICAg ICBFQ19LRVlfZ2V0MF9wcml2YXRlX2tleShwa2V5KSk7Ci0tCQkJcmVrZXlfYXQgPSBCTl9nZXRf d29yZCgmdnhjcC0+dnhjX2JudG1wMik7Ci0tCQkJaWYgKChyZWtleV9hdCA9PSBCTl9NQVNLMikg fHwgKHJla2V5X2F0ID4gcmVrZXlfbWF4KSkKLSsJCQlyZWtleV9hdCA9IEJOX2dldF93b3JkKHZ4 Y3AtPnZ4Y19ibnRtcDIpOwotKwkJCWlmICgocmVrZXlfYXQgPT0gMHhmZmZmZmZmZkwpIHx8IChy ZWtleV9hdCA+IHJla2V5X21heCkpCi0gCQkJCXJla2V5X2F0ID0gcmVrZXlfbWF4OwotIAkJCWFz c2VydChyZWtleV9hdCA+IDApOwotIApkaWZmIC0tZ2l0IGEvc3JjcGtncy92YW5pdHlnZW4vcGF0 Y2hlcy81ZjE2M2U2ZmZmN2RhNTJjNGFlY2JkODk4ZDlkZjJlNjBhNTZmMTM0LnBhdGNoIGIvc3Jj cGtncy92YW5pdHlnZW4vcGF0Y2hlcy81ZjE2M2U2ZmZmN2RhNTJjNGFlY2JkODk4ZDlkZjJlNjBh NTZmMTM0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZWUzMGFlMDhjZGYu LjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL3Zhbml0eWdlbi9wYXRjaGVzLzVmMTYzZTZmZmY3 ZGE1MmM0YWVjYmQ4OThkOWRmMmU2MGE1NmYxMzQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw5 OCArMCwwIEBACi1Gcm9tIDVmMTYzZTZmZmY3ZGE1MmM0YWVjYmQ4OThkOWRmMmU2MGE1NmYxMzQg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBEZXNXdXJzdGVzIDxEZXNXdXJzdGVzQHVz ZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KLURhdGU6IFN1biwgMyBKdW4gMjAxOCAxNzo0NjoxNiAr MDMwMAotU3ViamVjdDogW1BBVENIXSBQcml2a2V5IHByZWZpeCBPcGVuU1NMIDEuMSBjb21wYXRp YmlsaXR5ICgjMTE2KQotCi1GaXhlcyAjMTE0Ci0tLS0KLSBvY2xlbmdpbmUuYyB8IDE4ICsrKysr KysrKysrKystLS0tLQotIHZhbml0eWdlbi5jIHwgMTIgKysrKysrKysrKy0tCi0gMiBmaWxlcyBj aGFuZ2VkLCAyMyBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEv b2NsZW5naW5lLmMgYi9vY2xlbmdpbmUuYwotaW5kZXggNjU4NWZjNi4uYzY5YmQ0YiAxMDA2NDQK LS0tLSBhL29jbGVuZ2luZS5jCi0rKysgYi9vY2xlbmdpbmUuYwotQEAgLTUsNyArNSw3IEBACi0g ICogVmFuaXR5Z2VuIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu ZC9vciBtb2RpZnkKLSAgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSAgKiB0aGUgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotLSAqIGFu eSBsYXRlciB2ZXJzaW9uLiAKLSsgKiBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAgKgotICAqIFZhbml0 eWdlbiBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAot ICAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh cnJhbnR5IG9mCi1AQCAtMTA1OCw3ICsxMDU4LDcgQEAgdmdfb2NsX2tlcm5lbF9hcmdfYWxsb2Mo dmdfb2NsX2NvbnRleHRfdCAqdm9jcCwgaW50IHNsb3QsCi0gCQkJCQkgICAgIGthcmcsCi0gCQkJ CQkgICAgIHNpemVvZihjbGJ1ZiksCi0gCQkJCQkgICAgICZjbGJ1Zik7Ci0tCQkJCi0rCi0gCQkJ aWYgKHJldCkgewotIAkJCQlmcHJpbnRmKHN0ZGVyciwKLSAJCQkJCSJjbFNldEtlcm5lbEFyZygl ZCwlZCk6ICIsIGtudW0sIGthcmcpOwotQEAgLTEwOTAsNyArMTA5MCw3IEBAIHZnX29jbF9jb3B5 b3V0X2FyZyh2Z19vY2xfY29udGV4dF90ICp2b2NwLCBpbnQgd3Nsb3QsIGludCBhcmcsCi0gCQkJ CSAgIGJ1ZmZlciwKLSAJCQkJICAgMCwgTlVMTCwKLSAJCQkJICAgTlVMTCk7Ci0tCQkJCi0rCi0g CWlmIChyZXQpIHsKLSAJCWZwcmludGYoc3RkZXJyLCAiY2xFbnF1ZXVlV3JpdGVCdWZmZXIoJWQp OiAiLCBhcmcpOwotIAkJdmdfb2NsX2Vycm9yKHZvY3AsIHJldCwgTlVMTCk7Ci1AQCAtMjA3OSw3 ICsyMDc5LDE1IEBAIHZnX29wZW5jbF9sb29wKHZnX2V4ZWNfY29udGV4dF90ICphcmcpCi0gCW5w b2ludHMgPSAwOwotIAlpZiAodmNwLT52Y19wcml2a2V5X3ByZWZpeF9sZW5ndGggPiAwKSB7Ci0g CQlCSUdOVU0gKnBrYm4gPSBCTl9kdXAoRUNfS0VZX2dldDBfcHJpdmF0ZV9rZXkocGtleSkpOwot LQkJbWVtY3B5KChjaGFyICopcGtibi0+ZCArIDMyIC0gdmNwLT52Y19wcml2a2V5X3ByZWZpeF9s ZW5ndGgsIHZjcC0+dmNfcHJpdmtleV9wcmVmaXgsIHZjcC0+dmNfcHJpdmtleV9wcmVmaXhfbGVu Z3RoKTsKLSsJCXVuc2lnbmVkIGNoYXIgcGtleV9hcnJbMzJdOwotKwkJYXNzZXJ0KEJOX2JuMmJp bihwa2JuLCBwa2V5X2FycikgPCAzMyk7Ci0rCQltZW1jcHkoKGNoYXIgKikgcGtleV9hcnIsIHZj cC0+dmNfcHJpdmtleV9wcmVmaXgsIHZjcC0+dmNfcHJpdmtleV9wcmVmaXhfbGVuZ3RoKTsKLSsJ CWZvciAoaW50IGkgPSAwOyBpIDwgdmNwLT52Y19wcml2a2V5X3ByZWZpeF9sZW5ndGggLyAyOyBp KyspIHsKLSsJCQlpbnQgayA9IHBrZXlfYXJyW2ldOwotKwkJCXBrZXlfYXJyW2ldID0gcGtleV9h cnJbdmNwLT52Y19wcml2a2V5X3ByZWZpeF9sZW5ndGggLSAxIC0gaV07Ci0rCQkJcGtleV9hcnJb dmNwLT52Y19wcml2a2V5X3ByZWZpeF9sZW5ndGggLSAxIC0gaV0gPSBrOwotKwkJfQotKwkJQk5f YmluMmJuKHBrZXlfYXJyLCAzMiwgcGtibik7Ci0gCQlFQ19LRVlfc2V0X3ByaXZhdGVfa2V5KHBr ZXksIHBrYm4pOwotIAotIAkJRUNfUE9JTlQgKm9yaWdpbiA9IEVDX1BPSU5UX25ldyhwZ3JvdXAp OwotQEAgLTIyNDAsNyArMjI0OCw3IEBAIHZnX29wZW5jbF9sb29wKHZnX2V4ZWNfY29udGV4dF90 ICphcmcpCi0gCQkJc2xvdF9idXN5ID0gMTsKLSAJCQlzbG90ID0gKHNsb3QgKyAxKSAlIG5zbG90 czsKLSAKLS0JCX0gZWxzZSB7IAotKwkJfSBlbHNlIHsKLSAJCQlpZiAoc2xvdF9idXN5KSB7Ci0g CQkJCXB0aHJlYWRfbXV0ZXhfbG9jaygmdm9jcC0+dm9jX2xvY2spOwotIAkJCQl3aGlsZSAodm9j cC0+dm9jX29jbF9zbG90ICE9IC0xKSB7Ci1kaWZmIC0tZ2l0IGEvdmFuaXR5Z2VuLmMgYi92YW5p dHlnZW4uYwotaW5kZXggOTkyZTVkNy4uNWU0OWRmNyAxMDA2NDQKLS0tLSBhL3Zhbml0eWdlbi5j Ci0rKysgYi92YW5pdHlnZW4uYwotQEAgLTEyOSw3ICsxMjksMTUgQEAgdmdfdGhyZWFkX2xvb3Ao dm9pZCAqYXJnKQotIAkJCUVDX0tFWV9nZW5lcmF0ZV9rZXkocGtleSk7Ci0gCQkJaWYgKHZjcC0+ dmNfcHJpdmtleV9wcmVmaXhfbGVuZ3RoID4gMCkgewotIAkJCQlCSUdOVU0gKnBrYm4gPSBCTl9k dXAoRUNfS0VZX2dldDBfcHJpdmF0ZV9rZXkocGtleSkpOwotLQkJCQltZW1jcHkoKGNoYXIgKilw a2JuLT5kICsgMzIgLSB2Y3AtPnZjX3ByaXZrZXlfcHJlZml4X2xlbmd0aCwgdmNwLT52Y19wcml2 a2V5X3ByZWZpeCwgdmNwLT52Y19wcml2a2V5X3ByZWZpeF9sZW5ndGgpOwotKyAgICAgICAgdW5z aWduZWQgY2hhciBwa2V5X2FyclszMl07Ci0rICAgICAgICBhc3NlcnQoQk5fYm4yYmluKHBrYm4s IHBrZXlfYXJyKSA8IDMzKTsKLSsgICAgICAgIG1lbWNweSgoY2hhciAqKSBwa2V5X2FyciwgdmNw LT52Y19wcml2a2V5X3ByZWZpeCwgdmNwLT52Y19wcml2a2V5X3ByZWZpeF9sZW5ndGgpOwotKwkJ CQlmb3IgKGludCBpID0gMDsgaSA8IHZjcC0+dmNfcHJpdmtleV9wcmVmaXhfbGVuZ3RoIC8gMjsg aSsrKSB7Ci0rCQkJCQlpbnQgayA9IHBrZXlfYXJyW2ldOwotKwkJCQkJcGtleV9hcnJbaV0gPSBw a2V5X2Fyclt2Y3AtPnZjX3ByaXZrZXlfcHJlZml4X2xlbmd0aCAtIDEgLSBpXTsKLSsJCQkJCXBr ZXlfYXJyW3ZjcC0+dmNfcHJpdmtleV9wcmVmaXhfbGVuZ3RoIC0gMSAtIGldID0gazsKLSsJCQkJ fQotKyAgICAgICAgQk5fYmluMmJuKHBrZXlfYXJyLCAzMiwgcGtibik7Ci0gCQkJCUVDX0tFWV9z ZXRfcHJpdmF0ZV9rZXkocGtleSwgcGtibik7Ci0gCi0gCQkJCUVDX1BPSU5UICpvcmlnaW4gPSBF Q19QT0lOVF9uZXcocGdyb3VwKTsKLUBAIC0xMzk1LDcgKzE0MDMsNyBAQCBtYWluKGludCBhcmdj LCBjaGFyICoqYXJndikKLSAJCQkJCWFkZHJ0eXBlID0gNjA7Ci0gCQkJCQlwcml2dHlwZSA9IDEy ODsKLSAJCQkJCWJyZWFrOwotLQkJCX0JCQkKLSsJCQl9Ci0gCQkJYnJlYWs7Ci0gCi0gLypFTkQg QUxUQ09JTiBHRU5FUkFUT1IqLwpkaWZmIC0tZ2l0IGEvc3JjcGtncy92YW5pdHlnZW4vdGVtcGxh dGUgYi9zcmNwa2dzL3Zhbml0eWdlbi90ZW1wbGF0ZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggNjI0YWM4NTlkNWQyLi4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy92YW5pdHlnZW4v dGVtcGxhdGUKKysrIC9kZXYvbnVsbApAQCAtMSwyMSArMCwwIEBACi0jIFRlbXBsYXRlIGZpbGUg Zm9yICd2YW5pdHlnZW4nCi1wa2duYW1lPXZhbml0eWdlbgotdmVyc2lvbj0xLjUzCi1yZXZpc2lv bj0yCi1tYWtlZGVwZW5kcz0icGNyZS1kZXZlbCBvcGVuc3NsLWRldmVsIgotc2hvcnRfZGVzYz0i Qml0Y29pbiB2YW5pdHkgYWRkcmVzcyBnZW5lcmF0b3IiCi1tYWludGFpbmVyPSJPcnBoYW5lZCA8 b3JwaGFuQHZvaWRsaW51eC5vcmc+IgotbGljZW5zZT0iQUdQTC0zLjAtb3ItbGF0ZXIiCi1ob21l cGFnZT0iaHR0cHM6Ly9naXRodWIuY29tL2V4cGxvaXRhZ2VuY3kvdmFuaXR5Z2VuLXBsdXMiCi1j aGFuZ2Vsb2c9Imh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9leHBsb2l0YWdlbmN5 L3Zhbml0eWdlbi1wbHVzL21hc3Rlci9DSEFOR0VMT0ciCi1kaXN0ZmlsZXM9Imh0dHBzOi8vZ2l0 aHViLmNvbS9leHBsb2l0YWdlbmN5L3Zhbml0eWdlbi1wbHVzL2FyY2hpdmUvUExVUyR7dmVyc2lv bn0udGFyLmd6IgotY2hlY2tzdW09OTc2YTlhZmUyYTQ0NzA1NTFhOGI2YjBkYTk3MTAxYTNhMmU2 YzU0YzVhMjZkYzg3MGFlNzU1YmIyZDhjNzA0MQotCi1kb19idWlsZCgpIHsKLQltYWtlIENDPSRD QyBDRkxBR1M9IiRDRkxBR1MgJExERkxBR1MiICR7bWFrZWpvYnN9Ci19Ci1kb19pbnN0YWxsKCkg ewotCXZiaW4gdmFuaXR5Z2VuCi0JdmJpbiBrZXljb252Ci0JdmxpY2Vuc2UgTElDRU5TRQotfQoK RnJvbSAyNWI2ODllZTJhMjdhNTdiZDE1YjAxMzVjNGNkNjJhMTEyNDc0NDVhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBka3dvIDxuaWNvbG9waWF6emFsdW5nYUBnbWFpbC5jb20+CkRh dGU6IFRodSwgMjYgSmFuIDIwMjMgMTM6NTE6MjIgLTA1MDAKU3ViamVjdDogW1BBVENIIDUvN10g cGpwcm9qZWN0OiB1cGRhdGUgdG8gMi4xMwoKLS0tCiBzcmNwa2dzL3BqcHJvamVjdC90ZW1wbGF0 ZSB8IDE0ICsrKysrKystLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCA3 IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcGpwcm9qZWN0L3RlbXBsYXRlIGIv c3JjcGtncy9wanByb2plY3QvdGVtcGxhdGUKaW5kZXggYzk0ZWFkOTBlOWRlLi44OTQ3NGU1N2U3 ODIgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcGpwcm9qZWN0L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mv cGpwcm9qZWN0L3RlbXBsYXRlCkBAIC0yLDkgKzIsOCBAQAogIyBuby10aGlyZC1wYXJ0eS5wYXRj aCBjb21lcyBmcm9tIEFscGluZSwKICMgYW5kIHRoaXMgdGVtcGxhdGUgaXMgaGVhdmlseSBiYXNl ZCBvbiBBbHBpbmUncyBBUEtCVUlMRC4KIHBrZ25hbWU9cGpwcm9qZWN0Ci12ZXJzaW9uPTIuOAot cmV2aXNpb249NQotZGlzYWJsZV9wYXJhbGxlbF9idWlsZD15ZXMKK3ZlcnNpb249Mi4xMworcmV2 aXNpb249MQogYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQogY29uZmlndXJlX2FyZ3M9Ii0tZW5h YmxlLXNoYXJlZCBcCiAJLS1lbmFibGUtbGlic2FtcGxlcmF0ZSBcCkBAIC0xNywxMyArMTYsMTQg QEAgY29uZmlndXJlX2FyZ3M9Ii0tZW5hYmxlLXNoYXJlZCBcCiAjIHdlYnJ0Yy1hdWRpby1wcm9j ZXNzaW5nLCBidXQgaXQgZG9lc24ndCBoYXZlIHdoYXQgSSBuZWVkLiAgVXNpbmcgdGhlCiAjIGJ1 bmRsZWQgdmVyc2lvbnMgd291bGQgYWxzbyBwb2xsdXRlIGJ1aWxkIHdpdGggbGlieXV2IGFuZCBs aWJ3ZWJydGMgKHl1Y2spLgogbWFrZWRlcGVuZHM9Im9wZW5zc2wtZGV2ZWwgYWxzYS1saWItZGV2 ZWwgbGliZ3NtLWRldmVsIHNwZWV4LWRldmVsIHNwZWV4ZHNwLWRldmVsCi0JbGlic3J0cC1kZXZl bCBsaWJzYW1wbGVyYXRlLWRldmVsIgorIGxpYnNydHAtZGV2ZWwgbGlic2FtcGxlcmF0ZS1kZXZl bCIKIHNob3J0X2Rlc2M9Ik9wZW4gc291cmNlIFNJUCBhbmQgbWVkaWEgc3RhY2siCiBtYWludGFp bmVyPSJDaHJpc3RvcGhlciBCcmFubm9uIDxjaHJpc0B0aGUtYnJhbm5vbnMuY29tPiIKIGxpY2Vu c2U9IkdQTC0yLjAtb3ItbGF0ZXIiCi1ob21lcGFnZT0iaHR0cDovL3d3dy5wanNpcC5vcmcvcGpz dWEuaHRtIgotZGlzdGZpbGVzPSJodHRwOi8vd3d3LnBqc2lwLm9yZy9yZWxlYXNlLyR7dmVyc2lv bn0vJHtwa2duYW1lfS0ke3ZlcnNpb259LnRhci5iejIiCi1jaGVja3N1bT01MDNkMGJkN2Y5ZjEz ZGMxNDkyYWM5YjcxYjc2MWIxMDg5ODUxZmJiNjA4YjlhMTM5OTZlZGMzYzQyMDA2Zjc5Citob21l cGFnZT0iaHR0cHM6Ly93d3cucGpzaXAub3JnLyIKK2Rpc3RmaWxlcz0iaHR0cHM6Ly9naXRodWIu Y29tL3Bqc2lwL3BqcHJvamVjdC9hcmNoaXZlL3JlZnMvdGFncy8ke3ZlcnNpb259LnRhci5neiIK K2NoZWNrc3VtPTQxNzhiYjlmNTg2Mjk5MTExNDYzZmMxNmVhMDRlNDYxYWRjYTRhNzNlNjQ2Zjhk ZGVmNjFlYTUzZGFmYTkyZDkKK2Rpc2FibGVfcGFyYWxsZWxfYnVpbGQ9eWVzCiAKIHByZV9jb25m aWd1cmUoKSB7CiAJZXhwb3J0IExEPSIke0NDfSIKCkZyb20gYzI3ZWYyMzUxNDk2NDY4NGVjNWI2 MTVmNjA0ZjA5NDc5NjU5NDMzMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogZGt3byA8 bmljb2xvcGlhenphbHVuZ2FAZ21haWwuY29tPgpEYXRlOiBUaHUsIDI2IEphbiAyMDIzIDEzOjU0 OjM1IC0wNTAwClN1YmplY3Q6IFtQQVRDSCA2LzddIHN0dW5uZWw6IHVwZGF0ZSB0byA1LjY3Cgot LS0KIHNyY3BrZ3Mvc3R1bm5lbC90ZW1wbGF0ZSB8IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIg aW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3N0dW5u ZWwvdGVtcGxhdGUgYi9zcmNwa2dzL3N0dW5uZWwvdGVtcGxhdGUKaW5kZXggOWFkMzUxZTllMTkw Li42M2ZkMzY3NjI5OGUgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mvc3R1bm5lbC90ZW1wbGF0ZQorKysg Yi9zcmNwa2dzL3N0dW5uZWwvdGVtcGxhdGUKQEAgLTEsNiArMSw2IEBACiAjIFRlbXBsYXRlIGZp bGUgZm9yICdzdHVubmVsJwogcGtnbmFtZT1zdHVubmVsCi12ZXJzaW9uPTUuNjYKK3ZlcnNpb249 NS42NwogcmV2aXNpb249MQogYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQogY29uZmlndXJlX2Fy Z3M9Ii0tZW5hYmxlLWlwdjYgLS13aXRoLXNzbD0ke1hCUFNfQ1JPU1NfQkFTRX0vdXNyIgpAQCAt MTMsNyArMTMsNyBAQCBsaWNlbnNlPSJHUEwtMi4wLW9yLWxhdGVyIgogaG9tZXBhZ2U9Imh0dHBz Oi8vd3d3LnN0dW5uZWwub3JnLyIKIGNoYW5nZWxvZz0iaHR0cHM6Ly93d3cuc3R1bm5lbC5vcmcv TkVXUy5odG1sIgogZGlzdGZpbGVzPSJodHRwczovL3d3dy5zdHVubmVsLm9yZy9kb3dubG9hZHMv c3R1bm5lbC0ke3ZlcnNpb259LnRhci5neiIKLWNoZWNrc3VtPTU1ODE3ODcwNGQxYWE1ZjY4ODNh YWM2Y2M1ZDZiYmYyYTU3MTRjOGEwZDJlOTFkYTAzOTI0NjhjZWU5ZjU3OWMKK2NoZWNrc3VtPTMw ODY5MzllZTY0MDc1MTZjNTliMGJhM2ZiZjU1NTMzOGY5ZDUyZjQ1OWJjYWI2MzM3YzBmMDBlOTFl YTg0NTYKIAogcHJlX2NoZWNrKCkgewogCSMgR2l0SHViJ3MgQ0kgZG9lc24ndCBzdXBwb3J0IElQ djYKCkZyb20gODU4NDM1NTk2OTU2NWY5MjlmMThhMDc3YjUyNjJlNjFjNjY1YWI5ZCBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogZGt3byA8bmljb2xvcGlhenphbHVuZ2FAZ21haWwuY29t PgpEYXRlOiBUaHUsIDI2IEphbiAyMDIzIDE0OjAzOjIwIC0wNTAwClN1YmplY3Q6IFtQQVRDSCA3 LzddIHRocmlmdDogdXBkYXRlIGRpc3RmaWxlcywgYnVtcCBmb3Igb3BlbnNzbAoKLS0tCiBzcmNw a2dzL3RocmlmdC90ZW1wbGF0ZSB8IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9u cygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3RocmlmdC90ZW1wbGF0 ZSBiL3NyY3BrZ3MvdGhyaWZ0L3RlbXBsYXRlCmluZGV4IDlhYzRiYjQ4MWMzMC4uOGIxYTBjMzI0 N2ZkIDEwMDY0NAotLS0gYS9zcmNwa2dzL3RocmlmdC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3Ro cmlmdC90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3Rocmlm dCcKIHBrZ25hbWU9dGhyaWZ0CiB2ZXJzaW9uPTAuMTMuMAotcmV2aXNpb249NgorcmV2aXNpb249 NwogYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQogY29uZmlndXJlX2FyZ3M9Ii0td2l0aG91dC1w eXRob24iCiBtYWtlZGVwZW5kcz0iYm9vc3QtZGV2ZWwgb3BlbnNzbC1kZXZlbCIKQEAgLTEwLDcg KzEwLDcgQEAgc2hvcnRfZGVzYz0iQXBhY2hlIFRocmlmdCBjb21waWxlciIKIG1haW50YWluZXI9 Ik9ycGhhbmVkIDxvcnBoYW5Adm9pZGxpbnV4Lm9yZz4iCiBsaWNlbnNlPSJBcGFjaGUtMi4wIgog aG9tZXBhZ2U9Imh0dHBzOi8vdGhyaWZ0LmFwYWNoZS5vcmcvIgotZGlzdGZpbGVzPSJodHRwOi8v d3d3LXVzLmFwYWNoZS5vcmcvZGlzdC90aHJpZnQvJHt2ZXJzaW9ufS90aHJpZnQtJHt2ZXJzaW9u fS50YXIuZ3oiCitkaXN0ZmlsZXM9Imh0dHBzOi8vYXJjaGl2ZS5hcGFjaGUub3JnL2Rpc3QvdGhy aWZ0LyR7dmVyc2lvbn0vdGhyaWZ0LSR7dmVyc2lvbn0udGFyLmd6IgogY2hlY2tzdW09N2FkMzQ4 Yjg4MDMzYWY0NmNlNDkxNDgwOTdhZmUzNTRkNTEzYzFmY2E3YzYwN2I1OWMzM2ViYjYwNjRiNTE3 OQogCiBpZiBbICIkWEJQU19UQVJHRVRfTk9fQVRPTUlDOCIgXTsgdGhlbgo= --===============1924356953825893916==--