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 18212 invoked from network); 23 Feb 2023 21:05:07 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 23 Feb 2023 21:05:07 -0000 Content-Type: multipart/mixed; boundary="===============9203468596265702735==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_openldap=3A_update_to_2=2E6=2E4?= To: ml@inbox.vuxu.org From: klarasm Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Thu, 23 Feb 2023 22:05:06 +0100 List-Id: Message-ID: <20230223210506.du-OQicELwaPMVu4XMLoa3gZhjRSNBg_mR8Km738nr4@z> GitHub notification mails are now in MIME to allow UTF8. --===============9203468596265702735== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkga2xhcmFzbSBhZ2FpbnN0IG1hc3Rl ciBvbiB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20va2xh cmFzbS92b2lkLXBhY2thZ2VzIG9wZW5sZGFwLTIuNgpodHRwczovL2dpdGh1Yi5jb20vdm9pZC1s aW51eC92b2lkLXBhY2thZ2VzL3B1bGwvNDE5NDgKCm9wZW5sZGFwOiB1cGRhdGUgdG8gMi42LjQK VGhlIDIuNCBicmFuY2ggaXMgbm90IG1haW50YWluZWQgYW55bW9yZSBhbmQgSSBkb24ndCBrbm93 IGlmIHRoZXJlJ3MgbXVjaCBhZHZhbnRhZ2UgdG8gZ29pbmcgdG8gMi41IGluc3RlYWQgb2YgMi42 DQoNClNvbWUgc2hhcmVkIGxpYnJhcmllcyBoYXZlIGNoYW5nZWQgbmFtZSBzbyB0aGlzIHVwZGF0 ZXMgY29tbW9uL3NobGlicy4NCg0KQXMgdGhpcyBpcyBhIG1ham9yIHVwZGF0ZSB0aGUgbGRhcCBk YXRhYmFzZSBzaG91bGQgYmUgYmFja2VkIHVwIGFuZCByZWNyZWF0ZWQgYXMgcGVyIGh0dHBzOi8v d3d3Lm9wZW5sZGFwLm9yZy9kb2MvYWRtaW4yNi9tYWludGVuYW5jZS5odG1sDQoNCiMjIyMgVGVz dGluZyB0aGUgY2hhbmdlcw0KLSBJIHRlc3RlZCB0aGUgY2hhbmdlcyBpbiB0aGlzIFBSOiAqKllF UyoqIChtYWlubHkgb3BlbmxkYXAsIG1pdC1rcmI1IGFuZCBjeXJ1cy1zYXNsKQ0KLSBJIGhhdmVu J3QgdGVzdGVkIHRoZSByZXZidW1wZWQgcGFja2FnZXMgdGhhdCBtdWNoLCBvdGhlciB0aGFuIGJ1 aWxkaW5nIHdpdGggdGhlaXIgdGVzdCBzdWl0ZQ0KDQpJIGhhdmUgdXBncmFkZWQgbXkgbGRhcCBz ZXR1cCB0byB0aGlzIHZlcnNpb24uIEl0J3Mgbm90IHZlcnkgY29tcGxpY2F0ZWQgc28gbWF5IG5v dCBiZSBncmVhdCBmb3IgY292ZXJhZ2UuDQpCYXNpY2FsbHk6DQotIHR3byBub2Rlcywgd2l0aCBu b3JtYWwgc3luY3JlcGwgYW5kIGdzc2FwaS9rZXJiZXJvcyBmb3IgYXV0aGVudGljYXRpb24NCi0g dGhlIGxkYXAgZGlyZWN0b3J5IGlzIHVzZWQgYXMgZGF0YWJhc2UgYmFja2VuZCBmb3IgbXkga2Vy YmVyb3Mgc2V0dXANCi0gSSBoYXZlIGEgZmV3IG1hY2hpbmVzIHNldHVwIHdpdGgga2VyYmVyb3Mg Zm9yIGF1dGhlbnRpY2F0aW9uIGFuZCBsZGFwIGFzIGlkIHByb3ZpZGVyIChzb21lIHdpdGggc3Nz ZCBhbmQgc29tZSB3aXRoIG5zbGNkKQ0KDQpTbyBmYXIgaXQgc2VlbXMgcHJvbWlzaW5nIGJ1dCB3 aWxsIHRlc3QgbW9yZS4gSSB3b3VsZCBhcHByZWNpYXRlIGlmIGFueW9uZSBlbHNlIGNvdWxkIHRl c3QgYXMgd2VsbC4NCg0KSSBoYXZlIHByb2JhYmx5IG1pc3NlZCBwYWNrYWdlcyB0aGF0IG5lZWQg dG8gYmUgcmV2YnVtcGVkIHNvIHBsZWFzZSBwb2ludCB0aGVtIG91dCBpbiB0aGF0IGNhc2UuDQoN ClBhY2thZ2VzIHRoYXQgZGVwZW5kIG9uIGxpYmxkYXA6DQotIFt4XSBGcmVlUkFESVVTLTMuMC4y Nl8xIChvdXQgb2YgZGF0ZSwgbmV3ZXN0IHZlcnNpb24gaXMgMy4yLjEpDQotIFt4XSBhbHBpbmUt Mi4yNl8xDQotIFt4XSBhbmp1dGEtMy4zNC4wXzQgKGZpeCBmYXVsdHkgZGV0ZWN0aW9uIG9mIHdl YmtpdDJndGspDQotIFt4XSBhcGFjaGUtMi40LjU0XzIgKG91dCBvZiBkYXRlLCBuZXdlc3QgdmVy c2lvbiBpcyAyLjQuNTUpDQotIFt4XSBhcHItdXRpbC1sZGFwLTEuNi4xXzEzICh1cGRhdGUgdG8g MS42LjIpDQotIFt4XSBhdWRpdC0zLjAuM180IChvdXQgb2YgZGF0ZSwgbmV3ZXN0IHZlcnNpb24g aXMgMy4wLjkpDQotIFt4XSBhdXRvZnMtNS4xLjhfMiAob3V0IG9mIGRhdGUsIG5ld2VzdCB2ZXJz aW9uIGlzIDUuMS45KQ0KLSBbeF0gY2xhd3MtbWFpbC00LjEuMV8xDQotIFt4XSBjeXJ1cy1zYXNs LTIuMS4yN185IChvdXQgb2YgZGF0ZSwgbmV3ZXN0IHZlcnNpb24gaXMgMi4xLjI4KQ0KLSBbeF0g ZG92ZWNvdC1wbHVnaW4tbGRhcC0yLjMuMjBfMQ0KLSBbeF0gZG92ZWNvdC1wbHVnaW4tcGlnZW9u aG9sZS1sZGFwLTAuNS4yMF8xDQotIFt4XSBldm9sdXRpb24tMy40Ni4yXzENCi0gW3hdIGV2b2x1 dGlvbi1kYXRhLXNlcnZlci0zLjQ2LjJfMQ0KLSBbeF0gZ251cGctMi4zLjhfMQ0KLSBbeF0gZ251 cGcxLTEuNC4yM18xDQotIFt4XSBrbGRhcC0yMi4wOC4yXzENCi0gW3hdIGxkYXB2aS0xLjdfMTEN Ci0gW3hdIGxpYm5mc2lkbWFwLTIuNS40XzINCi0gW3hdIGxpYnJlb2ZmaWNlLWNvbW1vbi03LjQu My4yXzENCi0gW3hdIGxpZ2h0dHBkLTEuNC42OF8xDQotIFt4XSBsb2c0Y3h4LTAuMTAuMF80ICh1 cGRhdGUgdG8gMS4wLjApDQotIFt4XSBsdWE1NC1sdWFsZGFwLTEuMi41XzMgKG91dCBvZiBkYXRl LCBuZXdlc3QgdmVyc2lvbiBpcyAxLjMuMCkNCi0gW3hdIG1pdC1rcmI1LWxpYnMtMS4xOC4zXzIg KHVwZGF0ZSB0byAxLjIwLjEpDQotIFt4XSBtb25pdG9yaW5nLXBsdWdpbnMtMi4zLjJfMSAob3V0 IG9mIGRhdGUsIG5ld2VzdCB2ZXJzaW9uIGlzIDIuMy4zKQ0KLSBbeF0gbnNzLXBhbS1sZGFwZC0w LjkuMTJfMQ0KLSBbeF0gcGhwLWxkYXAtNy40LjMzXzENCi0gW3hdIHBocDguMC1sZGFwLTguMC4y NV8xIChvdXQgb2YgZGF0ZSwgbmV3ZXN0IHZlcnNpb24gaXMgOC4wLjI3KQ0KLSBbeF0gcGhwOC4x LWxkYXAtOC4xLjEyXzEgKG91dCBvZiBkYXRlLCBuZXdlc3QgdmVyc2lvbiBpbiBicmFuY2ggaXMg OC4xLjE0LiA4LjIuMSBpcyBhbHNvIGF2YWlsYWJsZSkNCi0gW3hdIHBvc3RmaXgtMy43LjNfMQ0K LSBbeF0gcHl0aG9uMy1sZGFwLTMuMi4wXzUgKHVwZGF0ZSB0byAzLjQuMykNCi0gW3hdIHF1b3Rh LTQuMDlfMQ0KLSBbeF0gc2FtYmEtNC4xNC4xMl8yIChvdXQgb2YgZGF0ZSwgbmV3ZXN0IHZlcnNp b24gaXMgNC4xNy41KQ0KLSBbeF0gc2VhaG9yc2UtNDMuMF8xDQotIFt4XSBzcXVpZC01LjdfMQ0K LSBbeF0gc3NzZC0yLjQuMF81IChvdXQgb2YgZGF0ZSwgbGF0ZXN0IHZlcnNpb24gaXMgMi44LjIp DQotIFt4XSBzeWxwaGVlZC0zLjcuMF84DQotIFt4XSB2aXJ0dW9zby1iYXNlLTcuMi41LjFfMyAo dXBkYXRlIHRvIDcuMi44KQ0KLSBbeF0geDJnb2NsaWVudC00LjEuMi4yXzINCg0KW2NpIHNraXBd IGFnYWluLiBUaGlzIHdpbGwgcHJvYmFibHkgdGFrZSBhIGxvbmcgdGltZSB0byBidWlsZC4NCg0K IyMjIyBMb2NhbCBidWlsZCB0ZXN0aW5nDQotIEkgYnVpbHQgdGhpcyBQUiBsb2NhbGx5IGZvciBt eSBuYXRpdmUgYXJjaGl0ZWN0dXJlLCAoeDg2XzY0LWdsaWJjKQ0KLSBJIGJ1aWx0IHRoaXMgUFIg bG9jYWxseSBmb3IgbXkgbmF0aXZlIGFyY2hpdGVjdHVyZSwgKHg4Nl82NC1tdXNsKS4gQnVpbGQg aXNzdWVzOg0KICAtIFt4XSBhdWRpdC0zLjAuM180IChvdXQgb2YgZGF0ZSwgbmV3ZXN0IHZlcnNp b24gaXMgMy4wLjkpIGFscmVhZHkgZmFpbGluZyBvbiBtYXN0ZXIgYnJhbmNoDQogIC0gW3hdIGRv dmVjb3QtcGx1Z2luLWxkYXAtMi4zLjIwXzEgYWxyZWFkeSBmYWlsaW5nIG9uIG1hc3RlciBicmFu Y2gNCiAgLSBbeF0gZG92ZWNvdC1wbHVnaW4tcGlnZW9uaG9sZS1sZGFwLTAuNS4yMF8xIHRlc3Qg c3VpdGUgcGFzc2VzIGlmIGRvdmVjb3QgaXMgYnVpbHQgd2l0aG91dCBjaGVja3MgZmlyc3QNCiAg LSBbeF0gZXZvbHV0aW9uLTMuNDYuMl8xIHRlc3RzIGFyZSBub3QgZm91bmQgb24gbWFzdGVyIGJy YW5jaCBhbmQgdGh1cyBwYXNzZXMgd2l0aG91dCBydW5uaW5nIHRoZW0NCiAgLSBbeF0gZXZvbHV0 aW9uLWRhdGEtc2VydmVyLTMuNDYuMl8xIGFscmVhZHkgZmFpbGluZyBvbiBtYXN0ZXIgYnJhbmNo DQoNCi0gSSBidWlsdCB0aGlzIFBSIGxvY2FsbHkgZm9yIHRoZXNlIGFyY2hpdGVjdHVyZXMgKGlm IHN1cHBvcnRlZC4gbWFyayBjcm9zc2J1aWxkcyk6DQogIC0gYWFyY2g2NC1tdXNsICh4MmdvLWNs aWVudCwgdmlydHVvc28sIHNzc2QsIHNxdWlkLCBsaWJyZW9mZmljZSBhbmQgRnJlZVJBRElVUyBm YWlsIGR1ZSB0byBjcm9zcy1jb21waWxhdGlvbiwgYWxsIG90aGVyIGNvbXBsZXRlKQ0KICAtIGFy bXY2bC1tdXNsICh4MmdvLWNsaWVudCwgdmlydHVvc28sIHNzc2QsIHNxdWlkLCBsaWJyZW9mZmlj ZSBhbmQgRnJlZVJBRElVUyBmYWlsIGR1ZSB0byBjcm9zcy1jb21waWxhdGlvbiwgYWxsIG90aGVy IGNvbXBsZXRlKQ0KICAtIGFybXY3bCAoeDJnby1jbGllbnQsIHZpcnR1b3NvLCBzc3NkLCBzcXVp ZCwgbGlicmVvZmZpY2UgYW5kIEZyZWVSQURJVVMgZmFpbCBkdWUgdG8gY3Jvc3MtY29tcGlsYXRp b24sIGFsbCBvdGhlciBjb21wbGV0ZSkNCiAgLSBpNjg2IChhcHItdXRpbCBzZWVtcyB0byByZXF1 aXJlIHg4Nl82NCBhbmQgY29tcGxhaW5zIHRoYXQgc2VsZWN0ZWQgY3B1IGRvZXMgbm90IHN1cHBv cnQgdGhhdC4gVGhpcyBtYWtlcyBvdGhlciBwYWNrYWdlIHRoYXQgZGVwZW5kIG9uIGFwci11dGls IGZhaWwgYXMgd2VsbDogYW5qdXRhLCBhcGFjaGUsIHBocCwgcGhwOC4wIGFuZCBsb2c0Y3h4LiB2 aXJ0dW9zbywgc3NzZCwgbGlicmVvZmZpY2UsIEZyZWVSQURJVVMsIHNxdWlkIGFuZCBnbnVwZzEg cHJvYmFibHkgZmFpbHMgZHVlIHRvIGNyb3NzLWNvbXBpbGF0aW9uKQ0KDQpQYXRjaGVkIGlzc3Vl IHdpdGggdGVzdDA3OToNCkl0IGJ1aWxkcyBhbmQgdGhlIHRlc3Qgc3VpdGUgaXMgb2sgb24geDg2 XzY0LWdsaWJjIGJ1dCBmYWlscyBvbiB4ODZfNjQtbXVzbCAoaWYgSSByZW1lbWJlciBjb3JyZWN0 bHkgZnJvbSBlYXJsaWVyIHRlc3RpbmcgdGhlIDIuNSBicmFuY2ggaGFkIHRoZSBzYW1lIHRlc3Qg c3VpdGUgZXJyb3IpLg0KW29wZW5sZGFwLTIuNi4zLXRlc3QwNzkubG9nXShodHRwczovL2dpdGh1 Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL2ZpbGVzLzEwNTMwODQzL29wZW5sZGFwLTIu Ni4zLXRlc3QwNzkubG9nKQ0KW29wZW5sZGFwLTIuNi4zLW5vLXRlc3RzLmxvZ10oaHR0cHM6Ly9n aXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9maWxlcy8xMDUzMDkwMy9vcGVubGRh cC0yLjYuMy1uby10ZXN0cy5sb2cpDQpbb3BlbmxkYXAtMi42LjMtYWxsLXRlc3RzLmxvZ10oaHR0 cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9maWxlcy8xMDUzMDkyOS9v cGVubGRhcC0yLjYuMy1hbGwtdGVzdHMubG9nKQ0KDQpJdCBzZWVtcyB0aGF0IHRlc3QgNzkgYWxz byBmYWlscyBvbiBhbHBpbmU6IGh0dHBzOi8vZ2l0LmFscGluZWxpbnV4Lm9yZy9hcG9ydHMvdHJl ZS9tYWluL29wZW5sZGFwL0FQS0JVSUxEI24yMjcNCkknbGwgaGF2ZSB0byBsb29rIGNsb3NlciBp bnRvIHRoZSBzcGVjaWZpYyB0ZXN0IGFuZCB3aHkgaXQgZmFpbHMsIGJ1dCBpZiBpdCdzIG5vdCBj cml0aWNhbCBpdCBtYXkgYmUgb2sgdG8gaWdub3JlIGl0Lg0KDQpUaGUgcmVzdCBvZiB0aGUgdGVz dCBzdWl0ZSBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgcHJvYmxlbS4KCkEgcGF0Y2ggZmlsZSBmcm9t IGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvcHVsbC80MTk0OC5w YXRjaCBpcyBhdHRhY2hlZA== --===============9203468596265702735== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-openldap-2.6-41948.patch" RnJvbSAyMjhkNjE1N2RjMzRmNjVkYjRiNzMxMjc5ZTA4ZDI1YTdiZmIwODY1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBLbGFyYSBNb2RpbiA8a2xhcmFzbW9kaW5AZ21haWwuY29tPgpE YXRlOiBXZWQsIDIgTm92IDIwMjIgMjE6MDQ6NDYgKzAxMDAKU3ViamVjdDogW1BBVENIIDAxLzM5 XSBvcGVubGRhcDogdXBkYXRlIHRvIDIuNi40CgotIHVwZGF0ZSBjb21tb24vc2hsaWJzCi0gYWRk IHNsYXBkLmxkaWYgdG8gY29uZl9maWxlcwotIGFkZCBtb3JlIG9wdGlvbnMgdG8gcnVuaXQgc2Vy dmljZQotIHJlbW92ZSB1bnJlZ29nbml6ZWQgY29uZmlndXJlIG9wdHMKLS0tCiBjb21tb24vc2hs aWJzICAgICAgICAgICAgICAgICAgICB8ICA1ICsrLS0tCiBzcmNwa2dzL29wZW5sZGFwL2ZpbGVz L3NsYXBkL3J1biB8ICAyICstCiBzcmNwa2dzL29wZW5sZGFwL3RlbXBsYXRlICAgICAgICB8IDEy ICsrKysrKy0tLS0tLQogMyBmaWxlcyBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKyksIDEwIGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL2NvbW1vbi9zaGxpYnMgYi9jb21tb24vc2hsaWJzCmluZGV4 IDI4MmYwNTgzZDJiMS4uZWJkZWU3NDVmOGRiIDEwMDY0NAotLS0gYS9jb21tb24vc2hsaWJzCisr KyBiL2NvbW1vbi9zaGxpYnMKQEAgLTY5OSw5ICs2OTksOCBAQCBsaWJnbm9tZS1ibHVldG9vdGgu c28uMTMgZ25vbWUtYmx1ZXRvb3RoMS0zLjEyLjBfMQogbGliZ25vbWUtYmx1ZXRvb3RoLTMuMC5z by4xMyBnbm9tZS1ibHVldG9vdGgtNDIuMV8xCiBsaWJnbm9tZS1ibHVldG9vdGgtdWktMy4wLnNv LjEzIGdub21lLWJsdWV0b290aC00Mi4xXzEKIGxpYnNhc2wyLnNvLjMgbGlic2FzbC0yLjEuMjZf MQotbGlibGJlci0yLjQuc28uMiBsaWJsZGFwLTIuNC4yMV8xCi1saWJsZGFwLTIuNC5zby4yIGxp YmxkYXAtMi40LjIxXzEKLWxpYmxkYXBfci0yLjQuc28uMiBsaWJsZGFwLTIuNC4yMV8xCitsaWJs YmVyLnNvLjIgbGlibGRhcC0yLjYuM18xCitsaWJsZGFwLnNvLjIgbGlibGRhcC0yLjYuM18xCiBs aWJldmVudC0yLjEuc28uNyBsaWJldmVudC0yLjEuMTFfMQogbGliZXZlbnRfY29yZS0yLjEuc28u NyBsaWJldmVudC0yLjEuMTFfMQogbGliZXZlbnRfZXh0cmEtMi4xLnNvLjcgbGliZXZlbnQtMi4x LjExXzEKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvb3BlbmxkYXAvZmlsZXMvc2xhcGQvcnVuIGIvc3Jj cGtncy9vcGVubGRhcC9maWxlcy9zbGFwZC9ydW4KaW5kZXggZjdhZGRmY2JlZWEzLi40ZmEyMjUz YjE4MjUgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mvb3BlbmxkYXAvZmlsZXMvc2xhcGQvcnVuCisrKyBi L3NyY3BrZ3Mvb3BlbmxkYXAvZmlsZXMvc2xhcGQvcnVuCkBAIC03LDQgKzcsNCBAQCBpZiBbICEg LWQgL3J1bi9vcGVubGRhcCBdOyB0aGVuCiAJY2hvd24gJExEQVBVU0VSOiRMREFQR1JPVVAgL3J1 bi9vcGVubGRhcAogZmkKIGV4ZWMgMj4mMQotZXhlYyBzbGFwZCAtdSAkTERBUFVTRVIgLWcgJExE QVBHUk9VUCAtZCAwCitleGVjIHNsYXBkIC11ICRMREFQVVNFUiAtZyAkTERBUEdST1VQIC1kIDAg JHtMREFQVVJMUzorLWggIiRMREFQVVJMUyJ9ICRMREFQT1BUUwpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9vcGVubGRhcC90ZW1wbGF0ZSBiL3NyY3BrZ3Mvb3BlbmxkYXAvdGVtcGxhdGUKaW5kZXggODVm ZTc5ZDc3ZDFlLi41NmI1ODljNmQ4MTMgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mvb3BlbmxkYXAvdGVt cGxhdGUKKysrIGIvc3JjcGtncy9vcGVubGRhcC90ZW1wbGF0ZQpAQCAtMSw2ICsxLDYgQEAKICMg VGVtcGxhdGUgZmlsZSBmb3IgJ29wZW5sZGFwJwogcGtnbmFtZT1vcGVubGRhcAotdmVyc2lvbj0y LjQuNTgKK3ZlcnNpb249Mi42LjQKIHJldmlzaW9uPTEKIGJ1aWxkX3N0eWxlPWdudS1jb25maWd1 cmUKIGNvbmZpZ3VyZV9hcmdzPSItLXByZWZpeD0vdXNyCkBAIC04LDIxICs4LDIxIEBAIGNvbmZp Z3VyZV9hcmdzPSItLXByZWZpeD0vdXNyCiAgLS1zeXNjb25mZGlyPS9ldGMKICAtLWxvY2Fsc3Rh dGVkaXI9L3Zhci9saWIvb3BlbmxkYXAKICAtLXNiaW5kaXI9L3Vzci9iaW4KLSAtLWVuYWJsZS1k eW5hbWljIC0tZW5hYmxlLXByb2N0aXRsZSAtLXdpdGgtdGxzIC0tZW5hYmxlLWxkYXAKKyAtLWVu YWJsZS1keW5hbWljIC0td2l0aC10bHMgLS1lbmFibGUtbGRhcAogIC0tZW5hYmxlLWlwdjYgLS1l bmFibGUtbG9jYWwgLS13aXRoLWN5cnVzLXNhc2wgLS13aXRoLXRocmVhZHMKICAtLWVuYWJsZS1z eXNsb2cgLS1lbmFibGUtc2xhcGQgLS1lbmFibGUtY3J5cHQgLS1lbmFibGUtc3Bhc3N3ZAotIC0t ZW5hYmxlLWJkYiAtLWVuYWJsZS1oZGIgLS1lbmFibGUtb3ZlcmxheXM9bW9kIC0tZW5hYmxlLW1l dGE9bW9kCisgLS1lbmFibGUtb3ZlcmxheXM9bW9kIC0tZW5hYmxlLW1ldGE9bW9kCiAgLS1kaXNh YmxlLXN0YXRpYyAtLXdpdGgteWllbGRpbmdfc2VsZWN0PXllcyAtLWVuYWJsZS1tb2R1bGVzIgog aG9zdG1ha2VkZXBlbmRzPSJwa2ctY29uZmlnIGdyb2ZmIgogbWFrZWRlcGVuZHM9Im9wZW5zc2wt ZGV2ZWwgbGlic2FzbC1kZXZlbCBkYi1kZXZlbCBsaWJsdGRsLWRldmVsIgogZGVwZW5kcz0ib3Bl bmxkYXAtdG9vbHM+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0iCi1jb25mX2ZpbGVzPSIvZXRjL29w ZW5sZGFwL2xkYXAuY29uZiAvZXRjL29wZW5sZGFwL3NsYXBkLmNvbmYiCitjb25mX2ZpbGVzPSIv ZXRjL29wZW5sZGFwL2xkYXAuY29uZiAvZXRjL29wZW5sZGFwL3NsYXBkLmNvbmYgL2V0Yy9vcGVu bGRhcC9zbGFwZC5sZGlmIgogc2hvcnRfZGVzYz0iT3BlbkxEQVAgKExpZ2h0d2VpZ2h0IERpcmVj dG9yeSBBY2Nlc3MgUHJvdG9jb2wpIgogbWFpbnRhaW5lcj0iT3JwaGFuZWQgPG9ycGhhbkB2b2lk bGludXgub3JnPiIKIGxpY2Vuc2U9Ik9MREFQLTIuMCIKIGhvbWVwYWdlPSJodHRwOi8vd3d3Lm9w ZW5sZGFwLm9yZyIKIGRpc3RmaWxlcz0iaHR0cHM6Ly93d3cub3BlbmxkYXAub3JnL3NvZnR3YXJl L2Rvd25sb2FkL09wZW5MREFQL29wZW5sZGFwLXJlbGVhc2Uvb3BlbmxkYXAtJHt2ZXJzaW9ufS50 Z3oiCi1jaGVja3N1bT01N2I1OTI1NGJlMTVkMGJmNmE5YWIzZDUxNGMxYzA1Nzc3YjAyMTIzMjkx NTMzMTM0YTg3Yzk0NDY4ZjhmNDdiCitjaGVja3N1bT1kNTE3MDRlNTAxNzg0MzBjMDZjZjNkOGFh MTc0ZGE2NmJhZGY1NTk3NDdhNDdkOTIwYmI1NGIyZDRhYTQwOTkxCiAKIHN5c3RlbV9hY2NvdW50 cz0ibGRhcCIKIGxkYXBfaG9tZWRpcj0iL3Zhci9saWIvb3BlbmxkYXAiCkBAIC0zOCw3ICszOCw3 IEBAIHBvc3RfaW5zdGFsbCgpIHsKIAl2bGljZW5zZSBMSUNFTlNFCiAJY2htb2QgNzU1ICR7REVT VERJUn0vdXNyL2xpYi8qLnNvLioKIAl2bWtkaXIgdXNyL3NoYXJlL2V4YW1wbGVzL29wZW5sZGFw Ci0JbXYgJHtERVNURElSfS9ldGMvb3BlbmxkYXAvKi57ZXhhbXBsZSxkZWZhdWx0fSAke0RFU1RE SVJ9L3Vzci9zaGFyZS9leGFtcGxlcy9vcGVubGRhcAorCW12ICR7REVTVERJUn0vZXRjL29wZW5s ZGFwLyouZGVmYXVsdCAke0RFU1RESVJ9L3Vzci9zaGFyZS9leGFtcGxlcy9vcGVubGRhcAogCWNo bW9kIDA2NDQgJHtERVNURElSfS91c3Ivc2hhcmUvZXhhbXBsZXMvb3BlbmxkYXAvKgogfQogCgpG cm9tIDkzOTBjM2FhMmVmNmJhMTc0YTY3ODJkNGRlZmRmYzNiZjM2NDVjZDggTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCkZyb206IEtsYXJhIE1vZGluIDxrbGFyYXNtb2RpbkBnbWFpbC5jb20+CkRh dGU6IFdlZCwgMSBGZWIgMjAyMyAwMDoyNTozNiArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMDIvMzld IGN5cnVzLXNhc2w6IHJldmJ1bXAgZHVlIHRvIG9wZW5sZGFwIHVwZGF0ZQoKLS0tCiBzcmNwa2dz L2N5cnVzLXNhc2wvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24o KyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2N5cnVzLXNhc2wvdGVtcGxh dGUgYi9zcmNwa2dzL2N5cnVzLXNhc2wvdGVtcGxhdGUKaW5kZXggYjI1OTE1MjEzOWZkLi5kOTY0 NmVkOGE2NDIgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvY3lydXMtc2FzbC90ZW1wbGF0ZQorKysgYi9z cmNwa2dzL2N5cnVzLXNhc2wvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZp bGUgZm9yICdjeXJ1cy1zYXNsJwogcGtnbmFtZT1jeXJ1cy1zYXNsCiB2ZXJzaW9uPTIuMS4yNwot cmV2aXNpb249OQorcmV2aXNpb249MTAKIGJ1aWxkX3N0eWxlPWdudS1jb25maWd1cmUKIGNvbmZp Z3VyZV9hcmdzPSItLWRpc2FibGUtc3RhdGljIC0tZW5hYmxlLXNoYXJlZCAtLWVuYWJsZS1jaGVj a2Fwb3AKICAtLWVuYWJsZS1jcmFtIC0tZW5hYmxlLWRpZ2VzdCAtLWRpc2FibGUtb3RwIC0tZGlz YWJsZS1zcnAKCkZyb20gZDMzNjBlMjdjMWI1ZTgwMmM5OWNlZDc2OWEwY2I5OWFkZGYyOTg5OCBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogS2xhcmEgTW9kaW4gPGtsYXJhc21vZGluQGdt YWlsLmNvbT4KRGF0ZTogV2VkLCAxIEZlYiAyMDIzIDAwOjI2OjA4ICswMTAwClN1YmplY3Q6IFtQ QVRDSCAwMy8zOV0gbWl0LWtyYjU6IHVwZGF0ZSB0byAxLjIwLjEKCkEgcmVidWlsZCB0cmlnZ2Vy ZCBieSB1cGRhdGUgdG8gb3BlbmxkYXAtMi42LjMgaGFkIHNvbWUgZXJyb3JzIGluIHRoZQp0ZXN0 IHN1aXRlLgpSZW1vdmUgcGF0Y2ggZm9yIGxpYnJlc3NsLgpGb2xsb3cgZGlzdGZpbGVzIGNvbnZl bnRpb24uCi0tLQogc3JjcGtncy9taXQta3JiNS9wYXRjaGVzL2xpYnJlc3NsLnBhdGNoIHwgMzgg LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogc3JjcGtncy9taXQta3JiNS90ZW1wbGF0ZSAgICAg ICAgICAgICAgIHwgIDggKysrLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwg NDIgZGVsZXRpb25zKC0pCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9taXQta3JiNS9wYXRj aGVzL2xpYnJlc3NsLnBhdGNoCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9taXQta3JiNS9wYXRjaGVz L2xpYnJlc3NsLnBhdGNoIGIvc3JjcGtncy9taXQta3JiNS9wYXRjaGVzL2xpYnJlc3NsLnBhdGNo CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZWIwZGJmY2FmM2QuLjAwMDAwMDAwMDAw MAotLS0gYS9zcmNwa2dzL21pdC1rcmI1L3BhdGNoZXMvbGlicmVzc2wucGF0Y2gKKysrIC9kZXYv bnVsbApAQCAtMSwzOCArMCwwIEBACi0tLS0gYS9zcmMvcGx1Z2lucy9wcmVhdXRoL3BraW5pdC9w a2luaXRfY3J5cHRvX29wZW5zc2wuYwkyMDE5LTAxLTA4IDE3OjAyOjM3LjAwMDAwMDAwMCArMDEw MAotKysrIGIvc3JjL3BsdWdpbnMvcHJlYXV0aC9wa2luaXQvcGtpbml0X2NyeXB0b19vcGVuc3Ns LmMJMjAxOS0wNS0xMSAxNjoyOTozNy4wMDE0NTgwODQgKzAyMDAKLUBAIC0xODksNyArMTg5LDcg QEAKLSAgICAgKCpfeDUwOV9wcCkgPSBQS0NTN19jZXJ0X2Zyb21fc2lnbmVyX2luZm8oX3A3LF9z aSkKLSAjZW5kaWYKLSAKLS0jaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBM Ci0rI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTCB8fCBkZWZpbmVkKExJ QlJFU1NMX1ZFUlNJT05fTlVNQkVSKQotIAotIC8qIDEuMSBzdGFuZGFyZGl6ZXMgY29uc3RydWN0 b3IgYW5kIGRlc3RydWN0b3IgbmFtZXMsIHJlbmFtaW5nCi0gICogRVZQX01EX0NUWF97Y3JlYXRl LGRlc3Ryb3l9IGFuZCBkZXByZWNhdGluZyBBU04xX1NUUklOR19kYXRhLiAqLwotQEAgLTMwNTMs NyArMzA1Myw3IEBACi0gICAgIHJldHVybiByZXR2YWw7Ci0gfQotIAotLSNpZiBPUEVOU1NMX1ZF UlNJT05fTlVNQkVSID49IDB4MTAxMDAwMDBMCi0rI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIg Pj0gMHgxMDEwMDAwMEwgfHwgZGVmaW5lZChMSUJSRVNTTF9WRVJTSU9OX05VTUJFUikKLSAKLSAv KgotICAqIFdlIG5lZWQgdG8gZGVjb2RlIERvbWFpblBhcmFtZXRlcnMgZnJvbSBSRkMgMzI3OSBz ZWN0aW9uIDIuMy4zLiAgV2Ugd291bGQKLUBAIC0zMDc5LDcgKzMwNzksNyBAQAotIEFTTjFfU0VR VUVOQ0UoREh2cGFyYW1zKSA9IHsKLSAgICAgQVNOMV9TSU1QTEUoaW50X2RodnBhcmFtcywgc2Vl ZCwgQVNOMV9CSVRfU1RSSU5HKSwKLSAgICAgQVNOMV9TSU1QTEUoaW50X2RodnBhcmFtcywgY291 bnRlciwgQklHTlVNKQotLX0gc3RhdGljX0FTTjFfU0VRVUVOQ0VfRU5EX25hbWUoaW50X2RodnBh cmFtcywgREh2cGFyYW1zKQotK30gQVNOMV9TRVFVRU5DRV9FTkRfbmFtZShpbnRfZGh2cGFyYW1z LCBESHZwYXJhbXMpCi0gCi0gQVNOMV9TRVFVRU5DRShESHhwYXJhbXMpID0gewotICAgICBBU04x X1NJTVBMRShpbnRfZGh4OTQyX2RoLCBwLCBCSUdOVU0pLAotQEAgLTMwODcsNyArMzA4Nyw3IEBA Ci0gICAgIEFTTjFfT1BUKGludF9kaHg5NDJfZGgsIHEsIEJJR05VTSksCi0gICAgIEFTTjFfT1BU KGludF9kaHg5NDJfZGgsIGosIEJJR05VTSksCi0gICAgIEFTTjFfT1BUKGludF9kaHg5NDJfZGgs IHZwYXJhbXMsIERIdnBhcmFtcyksCi0tfSBzdGF0aWNfQVNOMV9TRVFVRU5DRV9FTkRfbmFtZShp bnRfZGh4OTQyX2RoLCBESHhwYXJhbXMpCi0rfSBBU04xX1NFUVVFTkNFX0VORF9uYW1lKGludF9k aHg5NDJfZGgsIERIeHBhcmFtcykKLSAKLSBzdGF0aWMgREggKgotIGRlY29kZV9kaF9wYXJhbXMo Y29uc3QgdWludDhfdCAqcCwgdW5zaWduZWQgaW50IGxlbikKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv bWl0LWtyYjUvdGVtcGxhdGUgYi9zcmNwa2dzL21pdC1rcmI1L3RlbXBsYXRlCmluZGV4IGE2N2Jh ZTE5NzY0YS4uMzZhN2RlNDZlMDk5IDEwMDY0NAotLS0gYS9zcmNwa2dzL21pdC1rcmI1L3RlbXBs YXRlCisrKyBiL3NyY3BrZ3MvbWl0LWtyYjUvdGVtcGxhdGUKQEAgLTIsOCArMiw4IEBACiAjIGlm IHRoZXJlIGlzIGEgYnVtcCBpbiAuc28gdmVyc2lvbiwKICMgYWxzbyB1cGRhdGUgc3JjcGtncy9s aWJnc3NnbHVlL2ZpbGVzL2dzc2FwaV9tZWNoLmNvbmYKIHBrZ25hbWU9bWl0LWtyYjUKLXZlcnNp b249MS4xOC4zCi1yZXZpc2lvbj0yCit2ZXJzaW9uPTEuMjAuMQorcmV2aXNpb249MQogYnVpbGRf c3R5bGU9Z251LWNvbmZpZ3VyZQogaG9zdG1ha2VkZXBlbmRzPSJlMmZzcHJvZ3MtZGV2ZWwgZmxl eCBwZXJsIHBrZy1jb25maWciCiBtYWtlZGVwZW5kcz0iZTJmc3Byb2dzLWRldmVsIGxpYmxkYXAt ZGV2ZWwiCkBAIC0xMSw4ICsxMSw4IEBAIHNob3J0X2Rlc2M9Ik1JVCBLZXJiZXJvcyA1IGltcGxl bWVudGF0aW9uIgogbWFpbnRhaW5lcj0iT3JwaGFuZWQgPG9ycGhhbkB2b2lkbGludXgub3JnPiIK IGxpY2Vuc2U9Ik1JVCIKIGhvbWVwYWdlPSJodHRwOi8vd2ViLm1pdC5lZHUva2VyYmVyb3MiCi1k aXN0ZmlsZXM9IiR7aG9tZXBhZ2V9L2Rpc3Qva3JiNS8ke3ZlcnNpb24lLip9L2tyYjUtJHt2ZXJz aW9ufS50YXIuZ3oiCi1jaGVja3N1bT1lNjE3ODNjMjkyYjVlZmQ5YWZiNDVjNTU1YTgwZGQyNjdh YzY3ZWViYWJjYTQyMTg1MzYyYmVlNmM0ZmJkNzE5CitkaXN0ZmlsZXM9Imh0dHA6Ly93ZWIubWl0 LmVkdS9rZXJiZXJvcy9kaXN0L2tyYjUvJHt2ZXJzaW9uJS4qfS9rcmI1LSR7dmVyc2lvbn0udGFy Lmd6IgorY2hlY2tzdW09NzA0YWVkNDliMTllYjVhNzE3OGIzNGIyODczNjIwZWMyOTlkYjA4NzUy ZDZhODU3NGY5NWQ0MTg3OWFiODg1MQogCiBwb3N0X3BhdGNoKCkgewogCXZzZWQgLWUgIi9MREZM QUdTPS9kIiAtaSBzcmMvYnVpbGQtdG9vbHMva3JiNS1jb25maWcuaW4KCkZyb20gNDBiZTY5MDc4 YWY2MDFmMmZkZjUwMDI4MjkzMmUzMzYwMDYwMjViOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogS2xhcmEgTW9kaW4gPGtsYXJhc21vZGluQGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAxIEZl YiAyMDIzIDAyOjE5OjMzICswMTAwClN1YmplY3Q6IFtQQVRDSCAwNC8zOV0gZXZvbHV0aW9uLWRh dGEtc2VydmVyOiByZXZidW1wIGR1ZSB0byBvcGVubGRhcCB1cGRhdGUKCi0tLQogc3JjcGtncy9l dm9sdXRpb24tZGF0YS1zZXJ2ZXIvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBp bnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2V2b2x1dGlv bi1kYXRhLXNlcnZlci90ZW1wbGF0ZSBiL3NyY3BrZ3MvZXZvbHV0aW9uLWRhdGEtc2VydmVyL3Rl bXBsYXRlCmluZGV4IGJmMWRiMjg4Y2QxMi4uMzVmNGYwYjAwOWM3IDEwMDY0NAotLS0gYS9zcmNw a2dzL2V2b2x1dGlvbi1kYXRhLXNlcnZlci90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2V2b2x1dGlv bi1kYXRhLXNlcnZlci90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBm b3IgJ2V2b2x1dGlvbi1kYXRhLXNlcnZlcicKIHBrZ25hbWU9ZXZvbHV0aW9uLWRhdGEtc2VydmVy CiB2ZXJzaW9uPTMuNDYuMwotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9Y21h a2UKIGJ1aWxkX2hlbHBlcj0iZ2lyIHFlbXUiCiBjb25maWd1cmVfYXJncz0iIC1EU1lTQ09ORl9J TlNUQUxMX0RJUj0vZXRjCgpGcm9tIGQ0ZTM1MGNkMTZkZTlmOTg2ZDdlYjc3NzA2MjBmNzE2NjFh NjkwMjEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEtsYXJhIE1vZGluIDxrbGFyYXNt b2RpbkBnbWFpbC5jb20+CkRhdGU6IFdlZCwgMSBGZWIgMjAyMyAwMjoyMDoxOSArMDEwMApTdWJq ZWN0OiBbUEFUQ0ggMDUvMzldIGdudXBnOiByZXZidW1wIGR1ZSB0byBvcGVubGRhcCB1cGRhdGUK Ci0tLQogc3JjcGtncy9nbnVwZy90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGlu c2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZ251cGcvdGVt cGxhdGUgYi9zcmNwa2dzL2dudXBnL3RlbXBsYXRlCmluZGV4IGM3Y2JlNjg5ZjIzYS4uNDZiNTk2 ZjBjYWM4IDEwMDY0NAotLS0gYS9zcmNwa2dzL2dudXBnL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mv Z251cGcvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdnbnVw ZycKIHBrZ25hbWU9Z251cGcKIHZlcnNpb249Mi40LjAKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIK ICMgV2UncmUgYnVpbGRpbmcgb3V0c2lkZSBvZiB0aGUgc291cmNlIHRyZWUsIGJlY2F1c2UgdXBz dHJlYW0gdG9sZCB1cyB0bzoKICMgaHR0cHM6Ly9kZXYuZ251cGcub3JnL1Q2MzEzIzE2NjMzOQog YnVpbGRfd3Jrc3JjPWJ1aWxkCgpGcm9tIDg2MDc3OWY1YmJhMTEzODQ0YWU4Y2M3N2EwZDM3NmY3 MzI4MGU3NWIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEtsYXJhIE1vZGluIDxrbGFy YXNtb2RpbkBnbWFpbC5jb20+CkRhdGU6IFdlZCwgMSBGZWIgMjAyMyAxNToxMzoyNSArMDEwMApT dWJqZWN0OiBbUEFUQ0ggMDYvMzldIEZyZWVSQURJVVM6IHJldmJ1bXAgZHVlIHRvIG9wZW5sZGFw IHVwZGF0ZQoKLS0tCiBzcmNwa2dzL0ZyZWVSQURJVVMvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUg Y2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNw a2dzL0ZyZWVSQURJVVMvdGVtcGxhdGUgYi9zcmNwa2dzL0ZyZWVSQURJVVMvdGVtcGxhdGUKaW5k ZXggZWUyMDU5YTM3M2I0Li41YjJkNmZjYjc0ZjMgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvRnJlZVJB RElVUy90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL0ZyZWVSQURJVVMvdGVtcGxhdGUKQEAgLTEsNyAr MSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdGcmVlUkFESVVTJwogcGtnbmFtZT1GcmVlUkFE SVVTCiB2ZXJzaW9uPTMuMC4yNgotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9 Z251LWNvbmZpZ3VyZQogbWFrZWRlcGVuZHM9InRhbGxvYy1kZXZlbCBvcGVuc3NsLWRldmVsIG1p dC1rcmI1LWRldmVsIHBhbS1kZXZlbCBcCiAgbGlibWFyaWFkYmNsaWVudC1kZXZlbCBwb3N0Z3Jl c3FsLWxpYnMtZGV2ZWwganNvbi1jLWRldmVsIgoKRnJvbSAwYzU5ZGNlNTJiZDQ2MjJmODJlZDU5 ZmU5MmM1OWNhNjNiMmY4MjE0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLbGFyYSBN b2RpbiA8a2xhcmFzbW9kaW5AZ21haWwuY29tPgpEYXRlOiBXZWQsIDEgRmViIDIwMjMgMTU6MTQ6 MzEgKzAxMDAKU3ViamVjdDogW1BBVENIIDA3LzM5XSBhbHBpbmU6IHJldmJ1bXAgZHVlIHRvIG9w ZW5sZGFwIHVkcGF0ZQoKYWxzbyBhZGQgQlNELTQtQ2xhdXNlIHRvIGxpY2Vuc2VzCi0tLQogc3Jj cGtncy9hbHBpbmUvdGVtcGxhdGUgfCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlv bnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9hbHBpbmUvdGVtcGxh dGUgYi9zcmNwa2dzL2FscGluZS90ZW1wbGF0ZQppbmRleCAwMmM0Zjk0NDUxNWMuLjk3ODllMzAz ZmM4YSAxMDA2NDQKLS0tIGEvc3JjcGtncy9hbHBpbmUvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9h bHBpbmUvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdhbHBp bmUnCiBwa2duYW1lPWFscGluZQogdmVyc2lvbj0yLjI2Ci1yZXZpc2lvbj0xCityZXZpc2lvbj0y CiBfZ2l0aGFzaD05NzI2YzA5OGE3MzllZGZkY2E2MjE4YmM1ZGVlMTA0YzMxMDk1N2U5CiBfZ2l0 c2hvcnQ9IiR7X2dpdGhhc2g6MDo3fSIKIGJ1aWxkX3N0eWxlPWdudS1jb25maWd1cmUKQEAgLTEz LDcgKzEzLDcgQEAgaG9zdG1ha2VkZXBlbmRzPSJodW5zcGVsbCIKIG1ha2VkZXBlbmRzPSJnZXR0 ZXh0LWRldmVsIGxpYmxkYXAtZGV2ZWwgbWl0LWtyYjUtZGV2ZWwgbmN1cnNlcy1kZXZlbCIKIHNo b3J0X2Rlc2M9IkFwYWNoZS1saWNlbnNlZCBQSU5FIG1haWwgdXNlciBhZ2VudCAod2l0aCBDaGFw cGEgcGF0Y2hlcykiCiBtYWludGFpbmVyPSJMZWFoIE5ldWtpcmNoZW4gPGxlYWhAdnV4dS5vcmc+ IgotbGljZW5zZT0iQXBhY2hlLTIuMCIKK2xpY2Vuc2U9IkFwYWNoZS0yLjAsIEJTRC00LUNsYXVz ZSIKIGhvbWVwYWdlPSJodHRwczovL3JlcG8ub3IuY3ovYWxwaW5lLmdpdCIKIGRpc3RmaWxlcz0i aHR0cHM6Ly9yZXBvLm9yLmN6L2FscGluZS5naXQvc25hcHNob3QvJHtfZ2l0aGFzaH0udGFyLmd6 IgogY2hlY2tzdW09YzhjMzc3ZWFiMGY2NWI1MTI4M2UwYWQzMTQ0YmUxNDMwNjVkY2E0NDYzZDEy Y2NmNTA5MmFlODQxNTE1YTQzMQoKRnJvbSA0MmI5NzlmYjJkYjM4MTEyZmYyNjJlNGE5OTI1Yzc1 YzE3ZDdlY2M3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLbGFyYSBNb2RpbiA8a2xh cmFzbW9kaW5AZ21haWwuY29tPgpEYXRlOiBXZWQsIDEgRmViIDIwMjMgMTU6MTg6MjcgKzAxMDAK U3ViamVjdDogW1BBVENIIDA4LzM5XSBhbmp1dGE6IHJldmJ1bXAgZHVlIHRvIG9wZW5sZGFwIHVw ZGF0ZQoKLS0tCiBzcmNwa2dzL2FuanV0YS90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2Vk LCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvYW5q dXRhL3RlbXBsYXRlIGIvc3JjcGtncy9hbmp1dGEvdGVtcGxhdGUKaW5kZXggM2RmMDQ2ZDg4NGZi Li4wNzc3ZTFiOTJlNTcgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvYW5qdXRhL3RlbXBsYXRlCisrKyBi L3NyY3BrZ3MvYW5qdXRhL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxl IGZvciAnYW5qdXRhJwogcGtnbmFtZT1hbmp1dGEKIHZlcnNpb249My4zNC4wCi1yZXZpc2lvbj00 CityZXZpc2lvbj01CiBidWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCiBidWlsZF9oZWxwZXI9Imdp ciBxZW11IgogY29uZmlndXJlX2FyZ3M9Ii0tZGlzYWJsZS1jb21waWxlLXdhcm5pbmdzIC0tZGlz YWJsZS1zY2hlbWFzLWNvbXBpbGUKCkZyb20gMDUzYTU1NjdiM2VlYTkwMjljZWMwMGM1ZDc3Yzdi YWQyZDA2M2MzOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogS2xhcmEgTW9kaW4gPGts YXJhc21vZGluQGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAxIEZlYiAyMDIzIDE1OjE5OjQ1ICswMTAw ClN1YmplY3Q6IFtQQVRDSCAwOS8zOV0gYXBhY2hlOiByZXZidW1wIGR1ZSB0byBvcGVubGRhcCB1 cGRhdGUKCi0tLQogc3JjcGtncy9hcGFjaGUvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdl ZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Fw YWNoZS90ZW1wbGF0ZSBiL3NyY3BrZ3MvYXBhY2hlL3RlbXBsYXRlCmluZGV4IDYyOWFkMThiMzRh NS4uYTY2MWJmNzFkNWMxIDEwMDY0NAotLS0gYS9zcmNwa2dzL2FwYWNoZS90ZW1wbGF0ZQorKysg Yi9zcmNwa2dzL2FwYWNoZS90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmls ZSBmb3IgJ2FwYWNoZScKIHBrZ25hbWU9YXBhY2hlCiB2ZXJzaW9uPTIuNC41NAotcmV2aXNpb249 MgorcmV2aXNpb249MwogYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQogY29uZmlndXJlX2FyZ3M9 Ii0tcHJlZml4PSAtLXNiaW5kaXI9L3Vzci9iaW4gLS1lbmFibGUtcGllIC0tZW5hYmxlLW1vZHVs ZXM9YWxsCiAgLS1lbmFibGUtbW9kcy1zaGFyZWQ9YWxsIC0tZW5hYmxlLWF1dGhuLWRibSAtLWVu YWJsZS1hdXRobi1hbm9uCgpGcm9tIDJjMzQ5NzY4MmRjMTdkZjY0MjcyODhjNDhjYTc3NTdmOTk2 YjdiZWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEtsYXJhIE1vZGluIDxrbGFyYXNt b2RpbkBnbWFpbC5jb20+CkRhdGU6IFdlZCwgMSBGZWIgMjAyMyAxNToyNTozMyArMDEwMApTdWJq ZWN0OiBbUEFUQ0ggMTAvMzldIGFwci11dGlsOiB1cGRhdGUgdG8gMS42LjIKCmZhaWxlZCB0byBk b3dubG9hZCBkaXN0ZmlsZXMgd2hlbiByZXZidW1waW5nCgotIHVwZGF0ZSBtaXJyb3IKLSByZW1v dmUgdXBzdHJlYW1lZCBwYXRjaAotLS0KIHNyY3BrZ3MvYXByLXV0aWwvcGF0Y2hlcy9teXNxbC5w YXRjaCB8IDE1IC0tLS0tLS0tLS0tLS0tLQogc3JjcGtncy9hcHItdXRpbC90ZW1wbGF0ZSAgICAg ICAgICAgIHwgIDggKysrKy0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAx OSBkZWxldGlvbnMoLSkKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Fwci11dGlsL3BhdGNo ZXMvbXlzcWwucGF0Y2gKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Fwci11dGlsL3BhdGNoZXMvbXlz cWwucGF0Y2ggYi9zcmNwa2dzL2Fwci11dGlsL3BhdGNoZXMvbXlzcWwucGF0Y2gKZGVsZXRlZCBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJmMTc5MmVkNmViYi4uMDAwMDAwMDAwMDAwCi0tLSBhL3Ny Y3BrZ3MvYXByLXV0aWwvcGF0Y2hlcy9teXNxbC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE1 ICswLDAgQEAKLWZpeGVzOiBodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2th Z2VzL2lzc3Vlcy8zOTUxMAotdGFrZW4gZnJvbSB1cHN0cmVhbTogaHR0cHM6Ly9zdm4uYXBhY2hl Lm9yZy92aWV3dmMvYXByL2Fwci90cnVuay9kYmQvYXByX2RiZF9teXNxbC5jP3IxPTE4NzIwNTkm cjI9MTg3MjA2MCZkaWZmX2Zvcm1hdD1oCi0KLS0tLSBhL2RiZC9hcHJfZGJkX215c3FsLmMKLSsr KyBiL2RiZC9hcHJfZGJkX215c3FsLmMKLUBAIC0xMjYyLDcgKzEyNjIsOSBAQAotIAotIHN0YXRp YyB2b2lkIGRiZF9teXNxbF9pbml0KGFwcl9wb29sX3QgKnBvb2wpCi0gewotKyNpZiBNWVNRTF9W RVJTSU9OX0lEIDwgMTAwMDAwCi0gICAgIG15X2luaXQoKTsKLSsjZW5kaWYKLSAgICAgbXlzcWxf dGhyZWFkX2luaXQoKTsKLSAKLSAgICAgLyogRklYTUU6IHRoaXMgaXMgYSBndWVzczsgZmluZCBv dXQgd2hhdCBpdCByZWFsbHkgZG9lcyAqLwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9hcHItdXRpbC90 ZW1wbGF0ZSBiL3NyY3BrZ3MvYXByLXV0aWwvdGVtcGxhdGUKaW5kZXggZjFjZDQzNjMzNjVhLi41 ZTkwMDk4NTFiYTQgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvYXByLXV0aWwvdGVtcGxhdGUKKysrIGIv c3JjcGtncy9hcHItdXRpbC90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmls ZSBmb3IgJ2Fwci11dGlsJwogcGtnbmFtZT1hcHItdXRpbAotdmVyc2lvbj0xLjYuMQotcmV2aXNp b249MTMKK3ZlcnNpb249MS42LjIKK3JldmlzaW9uPTEKIGJ1aWxkX3N0eWxlPWdudS1jb25maWd1 cmUKIGNvbmZpZ3VyZV9hcmdzPSIKICAtLXdpdGgtcGdzcWwgLS13aXRoLWxkYXAKQEAgLTE3LDgg KzE3LDggQEAgc2hvcnRfZGVzYz0iQXBhY2hlIFBvcnRhYmxlIFJ1bnRpbWUgVXRpbGl0eSBMaWJy YXJ5IgogbWFpbnRhaW5lcj0iT3JwaGFuZWQgPG9ycGhhbkB2b2lkbGludXgub3JnPiIKIGxpY2Vu c2U9IkFwYWNoZS0yLjAiCiBob21lcGFnZT0iaHR0cHM6Ly9hcHIuYXBhY2hlLm9yZy8iCi1kaXN0 ZmlsZXM9Imh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvZGlzdC9hcHIvJHtwa2duYW1lfS0ke3ZlcnNp b259LnRhci5iejIiCi1jaGVja3N1bT1kM2UxMmY3YjZhZDEyNjg3NTcyYTNhMzk0NzU1NDVhMDcy NjA4ZjRiYTAzYTZjZThhMzc3OGY2MDdkZDAwMzViCitkaXN0ZmlsZXM9Imh0dHBzOi8vZG93bmxv YWRzLmFwYWNoZS5vcmcvYXByLyR7cGtnbmFtZX0tJHt2ZXJzaW9ufS50YXIuYnoyIgorY2hlY2tz dW09NGZlNTc0NDNhNzkwNTAyN2UxMzcwN2M4NzVjNWRlNmY5ZmM2ZTJlNWEyNzI1ZDY5NWIyNWE4 YTEwYzJkMjdlMAogIyBmYWlscyB0byBidWlsZCB0ZXN0cwogbWFrZV9jaGVjaz1ubwogCgpGcm9t IGZhM2FmMWI3MDU1M2Y5NTk3YzQ5ZjFhMGU0OTc3MTY1MjdlZmE1N2UgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCkZyb206IEtsYXJhIE1vZGluIDxrbGFyYXNtb2RpbkBnbWFpbC5jb20+CkRhdGU6 IFdlZCwgMSBGZWIgMjAyMyAxNToyNjo1NCArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMTEvMzldIGF1 ZGl0OiByZXZidW1wIGR1ZSB0byBvcGVubGRhcCB1cGRhdGUKCi0tLQogc3JjcGtncy9hdWRpdC90 ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlv bigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvYXVkaXQvdGVtcGxhdGUgYi9zcmNwa2dzL2F1ZGl0 L3RlbXBsYXRlCmluZGV4IDdlMWU0ZGFiMmY0NS4uMzM0ZDU2N2YzNzgxIDEwMDY0NAotLS0gYS9z cmNwa2dzL2F1ZGl0L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvYXVkaXQvdGVtcGxhdGUKQEAgLTEs NyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdhdWRpdCcKIHBrZ25hbWU9YXVkaXQKIHZl cnNpb249My4wLjMKLXJldmlzaW9uPTQKK3JldmlzaW9uPTUKIGJ1aWxkX3N0eWxlPWdudS1jb25m aWd1cmUKIGNvbmZpZ3VyZV9hcmdzPSItLWxpYmRpcj0vdXNyL2xpYiAtLWVuYWJsZS1zaGFyZWQ9 YXVkaXQgLS1lbmFibGUtZ3NzYXBpLWtyYjUKICAtLXdpdGgtYXBwYXJtb3IgLS13aXRoLWxpYmNh cC1uZyAtLXdpdGgtcHl0aG9uMyIKCkZyb20gOTY1ODdhOTdjODRlYTFhNTcyZDRkM2JlZWE0ZmJh ODQ4ODBmN2JjZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogS2xhcmEgTW9kaW4gPGts YXJhc21vZGluQGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAxIEZlYiAyMDIzIDE1OjI4OjE1ICswMTAw ClN1YmplY3Q6IFtQQVRDSCAxMi8zOV0gYXV0b2ZzOiByZXZidW1wIGR1ZSB0byBvcGVubGRhcCB1 cGRhdGUKCi0tLQogc3JjcGtncy9hdXRvZnMvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdl ZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2F1 dG9mcy90ZW1wbGF0ZSBiL3NyY3BrZ3MvYXV0b2ZzL3RlbXBsYXRlCmluZGV4IGE5YWJjNjBlNjRl OC4uNWY2M2QwYWQ5MmNhIDEwMDY0NAotLS0gYS9zcmNwa2dzL2F1dG9mcy90ZW1wbGF0ZQorKysg Yi9zcmNwa2dzL2F1dG9mcy90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmls ZSBmb3IgJ2F1dG9mcycKIHBrZ25hbWU9YXV0b2ZzCiB2ZXJzaW9uPTUuMS44Ci1yZXZpc2lvbj0y CityZXZpc2lvbj0zCiBidWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCiBtYWtlX2J1aWxkX2FyZ3M9 IkRPTlRTVFJJUD0xIgogY29uZmlndXJlX2FyZ3M9Ii0td2l0aC1saWJ0aXJwYyAtLXdpdGgtbWFw ZGlyPS9ldGMvYXV0b2ZzIC0tc2JpbmRpcj0vdXNyL2JpbiIKCkZyb20gODJkNmRlZDYzOWNlN2Qy NjM0NTI2YzBiYzViOWJjNzY4ZTk0MGQ4MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTog S2xhcmEgTW9kaW4gPGtsYXJhc21vZGluQGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAxIEZlYiAyMDIz IDE1OjI5OjA0ICswMTAwClN1YmplY3Q6IFtQQVRDSCAxMy8zOV0gY2xhd3MtbWFpbDogcmV2YnVt cCBkdWUgdG8gb3BlbmxkYXAgdXBkYXRlCgotLS0KIHNyY3BrZ3MvY2xhd3MtbWFpbC90ZW1wbGF0 ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoK ZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2xhd3MtbWFpbC90ZW1wbGF0ZSBiL3NyY3BrZ3MvY2xhd3Mt bWFpbC90ZW1wbGF0ZQppbmRleCAwZmQ4N2RmNzgwM2UuLmI5ODllYmYxZDhlNCAxMDA2NDQKLS0t IGEvc3JjcGtncy9jbGF3cy1tYWlsL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvY2xhd3MtbWFpbC90 ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2NsYXdzLW1haWwn CiBwa2duYW1lPWNsYXdzLW1haWwKIHZlcnNpb249NC4xLjEKLXJldmlzaW9uPTEKK3JldmlzaW9u PTIKIGJ1aWxkX3N0eWxlPWdudS1jb25maWd1cmUKIGNvbmZpZ3VyZV9hcmdzPSItLWRpc2FibGUt c3RhdGljIC0tZGlzYWJsZS1weXRob24tcGx1Z2luIC0tZGlzYWJsZS1wZXJsLXBsdWdpbgogIC0t ZW5hYmxlLWVuY2hhbnQgLS1lbmFibGUtZ251dGxzIgoKRnJvbSAxYzE5OWYxMWUxYWIzNzlhYjAw YjgzOGRhNWU5YWY5NDE3NDEzOTMwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLbGFy YSBNb2RpbiA8a2xhcmFzbW9kaW5AZ21haWwuY29tPgpEYXRlOiBXZWQsIDEgRmViIDIwMjMgMTU6 MzE6MTYgKzAxMDAKU3ViamVjdDogW1BBVENIIDE0LzM5XSBkb3ZlY290OiByZXZidW1wIGR1ZSB0 byBvcGVubGRhcCB1cGRhdGUKCi0tLQogc3JjcGtncy9kb3ZlY290L3RlbXBsYXRlIHwgMiArLQog MSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0 IGEvc3JjcGtncy9kb3ZlY290L3RlbXBsYXRlIGIvc3JjcGtncy9kb3ZlY290L3RlbXBsYXRlCmlu ZGV4IDc4N2IyOWI2ZWFiOC4uNjk3Nzg4ZTVjMjY2IDEwMDY0NAotLS0gYS9zcmNwa2dzL2RvdmVj b3QvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9kb3ZlY290L3RlbXBsYXRlCkBAIC0yLDcgKzIsNyBA QAogIyByZXZidW1wIGRvdmVjb3QtcGx1Z2luLXBpZ2VvbmhvbGUgd2hlbiB1cGRhdGluZyBkb3Zl Y290IQogcGtnbmFtZT1kb3ZlY290CiB2ZXJzaW9uPTIuMy4yMAotcmV2aXNpb249MgorcmV2aXNp b249MwogYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQogY29uZmlndXJlX2FyZ3M9Ii0td2l0aC1t b2R1bGVkaXI9L3Vzci9saWIvZG92ZWNvdC9tb2R1bGVzIC0td2l0aC1zcWw9cGx1Z2luCiAgLS1k aXNhYmxlLXN0YXRpYyAtLXdpdGgtcGFtIC0td2l0aC1teXNxbCAtLXdpdGgtcGdzcWwgLS13aXRo LWx1Y2VuZQoKRnJvbSBhYWRmM2UzYTFkOWY3MWY2YjlmNThhYWNjNzRlOTQ0ODllYWZiYmNlIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLbGFyYSBNb2RpbiA8a2xhcmFzbW9kaW5AZ21h aWwuY29tPgpEYXRlOiBXZWQsIDEgRmViIDIwMjMgMTU6MzI6MzIgKzAxMDAKU3ViamVjdDogW1BB VENIIDE1LzM5XSBkb3ZlY290LXBsdWdpbi1waWdlb25ob2xlOiByZXZidW1wIGR1ZSB0byBvcGVu bGRhcAogdXBkYXRlCgotLS0KIHNyY3BrZ3MvZG92ZWNvdC1wbHVnaW4tcGlnZW9uaG9sZS90ZW1w bGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigt KQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZG92ZWNvdC1wbHVnaW4tcGlnZW9uaG9sZS90ZW1wbGF0 ZSBiL3NyY3BrZ3MvZG92ZWNvdC1wbHVnaW4tcGlnZW9uaG9sZS90ZW1wbGF0ZQppbmRleCBlNGQx NjhjYzRmNzguLjhhZDM3Y2NmOGZkYSAxMDA2NDQKLS0tIGEvc3JjcGtncy9kb3ZlY290LXBsdWdp bi1waWdlb25ob2xlL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvZG92ZWNvdC1wbHVnaW4tcGlnZW9u aG9sZS90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2RvdmVj b3QtcGx1Z2luLXBpZ2VvbmhvbGUnCiBwa2duYW1lPWRvdmVjb3QtcGx1Z2luLXBpZ2VvbmhvbGUK IHZlcnNpb249MC41LjIwCi1yZXZpc2lvbj0yCityZXZpc2lvbj0zCiBidWlsZF9zdHlsZT1nbnUt Y29uZmlndXJlCiBjb25maWd1cmVfYXJncz0iLS1wcmVmaXg9L3VzcgogIC0td2l0aC1kb3ZlY290 PSR7WEJQU19DUk9TU19CQVNFfS91c3IvbGliL2RvdmVjb3QKCkZyb20gYjA3YmY4NWYzMTc0NDQw YTk5NjdmZTA3NDU4NTIyYjBhNWI1MGUwNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTog S2xhcmEgTW9kaW4gPGtsYXJhc21vZGluQGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAxIEZlYiAyMDIz IDE1OjMzOjQ1ICswMTAwClN1YmplY3Q6IFtQQVRDSCAxNi8zOV0gZXZvbHV0aW9uOiByZXZidW1w IGR1ZSB0byBvcGVubGRhcCB1cGRhdGUKCi0tLQogc3JjcGtncy9ldm9sdXRpb24vdGVtcGxhdGUg fCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRp ZmYgLS1naXQgYS9zcmNwa2dzL2V2b2x1dGlvbi90ZW1wbGF0ZSBiL3NyY3BrZ3MvZXZvbHV0aW9u L3RlbXBsYXRlCmluZGV4IGI5YTYzYWYwOTk1NS4uNWJkMjkxNzNhYzI2IDEwMDY0NAotLS0gYS9z cmNwa2dzL2V2b2x1dGlvbi90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2V2b2x1dGlvbi90ZW1wbGF0 ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2V2b2x1dGlvbicKIHBrZ25h bWU9ZXZvbHV0aW9uCiB2ZXJzaW9uPTMuNDYuMwotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVp bGRfc3R5bGU9Y21ha2UKIGJ1aWxkX2hlbHBlcj0icWVtdSIKIGNvbmZpZ3VyZV9hcmdzPSItRFNZ U0NPTkZfSU5TVEFMTF9ESVI9L2V0YwoKRnJvbSA2MDQ3ODNiMWJjMjYwMTA0NjJiMTJmNmM1MGEw ODY5N2ZkMDIwNDk4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLbGFyYSBNb2RpbiA8 a2xhcmFzbW9kaW5AZ21haWwuY29tPgpEYXRlOiBXZWQsIDEgRmViIDIwMjMgMTU6MzU6MjcgKzAx MDAKU3ViamVjdDogW1BBVENIIDE3LzM5XSBnbnVwZzE6IHJldmJ1bXAgZHVlIHRvIG9wZW5sZGFw IHVwZGF0ZQoKLS0tCiBzcmNwa2dzL2dudXBnMS90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFu Z2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv Z251cGcxL3RlbXBsYXRlIGIvc3JjcGtncy9nbnVwZzEvdGVtcGxhdGUKaW5kZXggYzBjODM3NDc3 OTM5Li5lODYxNDcwMDZhYTEgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvZ251cGcxL3RlbXBsYXRlCisr KyBiL3NyY3BrZ3MvZ251cGcxL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBm aWxlIGZvciAnZ251cGcxJwogcGtnbmFtZT1nbnVwZzEKIHZlcnNpb249MS40LjIzCi1yZXZpc2lv bj0xCityZXZpc2lvbj0yCiBidWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCiBjb25maWd1cmVfYXJn cz0iLS1lbmFibGUtdGhyZWFkcz1wb3NpeCAtLWVuYWJsZS1ub2V4ZWNzdGFjawogIGdudXBnX2N2 X3JlZ2V4X2Jyb2tlbj1ubyIKCkZyb20gZTFmMzc3MGNhNGQ3NWRlNjU1NTkzZjQ1MzFlOGFhNDI5 OTU2MjUyNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogS2xhcmEgTW9kaW4gPGtsYXJh c21vZGluQGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAxIEZlYiAyMDIzIDE1OjM2OjUwICswMTAwClN1 YmplY3Q6IFtQQVRDSCAxOC8zOV0ga2xkYXA6IHJldmJ1bXAgZHVlIHRvIG9wZW5sZGFwIHVwZGF0 ZQoKLS0tCiBzcmNwa2dzL2tsZGFwL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEg aW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9rbGRhcC90 ZW1wbGF0ZSBiL3NyY3BrZ3Mva2xkYXAvdGVtcGxhdGUKaW5kZXggYzRmNmFjZGI4N2RiLi4wNDQz OWJmZDIyYzEgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mva2xkYXAvdGVtcGxhdGUKKysrIGIvc3JjcGtn cy9rbGRhcC90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2ts ZGFwJwogcGtnbmFtZT1rbGRhcAogdmVyc2lvbj0yMi4xMi4xCi1yZXZpc2lvbj0xCityZXZpc2lv bj0yCiBidWlsZF9zdHlsZT1jbWFrZQogaG9zdG1ha2VkZXBlbmRzPSJleHRyYS1jbWFrZS1tb2R1 bGVzIHF0NS1xbWFrZSBxdDUtaG9zdC10b29scyBweXRob24zCiAgZ2V0dGV4dCBrY29yZWFkZG9u cyBrZG9jdG9vbHMiCgpGcm9tIDdlY2VkNmQ1YThmYWI1ZDEzZTY3MzU0YzIwOWY1MjZmMzI4MzQ4 ZDkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEtsYXJhIE1vZGluIDxrbGFyYXNtb2Rp bkBnbWFpbC5jb20+CkRhdGU6IFdlZCwgMSBGZWIgMjAyMyAxNTozNzoyNyArMDEwMApTdWJqZWN0 OiBbUEFUQ0ggMTkvMzldIGxkYXB2aTogcmV2YnVtcCBkdWUgdG8gb3BlbmxkYXAgdXBkYXRlCgph bHNvIGZpeCBzb21lIGxpbnRpbmcgcHJvYmxlbXMKLS0tCiBzcmNwa2dzL2xkYXB2aS90ZW1wbGF0 ZSB8IDggKysrKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9sZGFwdmkvdGVtcGxhdGUgYi9zcmNwa2dzL2xk YXB2aS90ZW1wbGF0ZQppbmRleCAxZGRhM2MyYWU2ZTguLjg4NDAxYjcyMjE5NyAxMDA2NDQKLS0t IGEvc3JjcGtncy9sZGFwdmkvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9sZGFwdmkvdGVtcGxhdGUK QEAgLTEsMTUgKzEsMTUgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2xkYXB2aScKIHBrZ25hbWU9 bGRhcHZpCiB2ZXJzaW9uPTEuNwotcmV2aXNpb249MTEKK3JldmlzaW9uPTEyCiBidWlsZF9zdHls ZT1nbnUtY29uZmlndXJlCiBjb25maWd1cmVfYXJncz0iLS13aXRoLXNoYSIKLW1haW50YWluZXI9 IkxlYWggTmV1a2lyY2hlbiA8bGVhaEB2dXh1Lm9yZz4iCiBob3N0bWFrZWRlcGVuZHM9InBrZy1j b25maWciCiBtYWtlZGVwZW5kcz0ibmN1cnNlcy1kZXZlbCByZWFkbGluZS1kZXZlbCBsaWJzYXNs LWRldmVsIHBvcHQtZGV2ZWwgbGlibGRhcC1kZXZlbCBnbGliLWRldmVsIgotbGljZW5zZT0iR1BM LTIiCitzaG9ydF9kZXNjPSJJbnRlcmFjdGl2ZSBMREFQIGNsaWVudCBmb3IgVW5peCB0ZXJtaW5h bHMiCittYWludGFpbmVyPSJMZWFoIE5ldWtpcmNoZW4gPGxlYWhAdnV4dS5vcmc+IgorbGljZW5z ZT0iR1BMLTIuMC1vci1sYXRlciIKIGhvbWVwYWdlPSJodHRwOi8vd3d3LmxpY2h0ZWJsYXUuY29t L2xkYXB2aS8iCi1zaG9ydF9kZXNjPSJBbiBpbnRlcmFjdGl2ZSBMREFQIGNsaWVudCBmb3IgVW5p eCB0ZXJtaW5hbHMiCiBkaXN0ZmlsZXM9Imh0dHA6Ly93d3cubGljaHRlYmxhdS5jb20vZG93bmxv YWQvbGRhcHZpLSR7dmVyc2lvbn0udGFyLmd6IgogY2hlY2tzdW09NmY2MmU5MmQyMGZmMmFjMGQw NjEyNTAyNGE5MTRiODYyMmU1YjhhMGEwYzJkMzkwYmYzZTc5OTBjYmQyZTE1MwogCgpGcm9tIGNl NGQzNTdkYzkxYjM0MTQ1OTNkZTE4MWZmMmM1OTk5NzkxZmVkYWUgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCkZyb206IEtsYXJhIE1vZGluIDxrbGFyYXNtb2RpbkBnbWFpbC5jb20+CkRhdGU6IFdl ZCwgMSBGZWIgMjAyMyAxNTo0MDozNCArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMjAvMzldIG5mcy11 dGlsczogcmV2YnVtcCBkdWUgdG8gb3BlbmxkYXAgdXBkYXRlCgotLS0KIHNyY3BrZ3MvbmZzLXV0 aWxzL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRl bGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9uZnMtdXRpbHMvdGVtcGxhdGUgYi9zcmNw a2dzL25mcy11dGlscy90ZW1wbGF0ZQppbmRleCAyNTJhNzM1NWI2ODMuLjFlYTIzNzgxY2FmZiAx MDA2NDQKLS0tIGEvc3JjcGtncy9uZnMtdXRpbHMvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9uZnMt dXRpbHMvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICduZnMt dXRpbHMnCiBwa2duYW1lPW5mcy11dGlscwogdmVyc2lvbj0yLjYuMgotcmV2aXNpb249MQorcmV2 aXNpb249MgogYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQogY29uZmlndXJlX2FyZ3M9Ii0td2l0 aC1zdGF0ZHVzZXI9bm9ib2R5IC0tZW5hYmxlLWdzcyAtLWVuYWJsZS1uZnN2NAogIC0td2l0aC1z dGF0ZWRpcj0vdmFyL2xpYi9uZnMgLS1lbmFibGUtbGlibW91bnQtbW91bnQgLS1lbmFibGUtc3Zj Z3NzCgpGcm9tIDgzNGIxNDNjZDExOGFkMzhlNTI5ZWNhNmU2MGI3MzEzODYwYjNjNmQgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCkZyb206IEtsYXJhIE1vZGluIDxrbGFyYXNtb2RpbkBnbWFpbC5j b20+CkRhdGU6IFdlZCwgMSBGZWIgMjAyMyAxNTo0MTozMSArMDEwMApTdWJqZWN0OiBbUEFUQ0gg MjEvMzldIGxpYnJlb2ZmaWNlOiByZXZidW1wIGR1ZSB0byBvcGVubGRhcCB1cGRhdGUKCi0tLQog c3JjcGtncy9saWJyZW9mZmljZS90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGlu c2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbGlicmVvZmZp Y2UvdGVtcGxhdGUgYi9zcmNwa2dzL2xpYnJlb2ZmaWNlL3RlbXBsYXRlCmluZGV4IDExZTAyMzg0 N2YxZS4uZWJjNzYyNzJkNmQ4IDEwMDY0NAotLS0gYS9zcmNwa2dzL2xpYnJlb2ZmaWNlL3RlbXBs YXRlCisrKyBiL3NyY3BrZ3MvbGlicmVvZmZpY2UvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAj IFRlbXBsYXRlIGZpbGUgZm9yICdsaWJyZW9mZmljZScKIHBrZ25hbWU9bGlicmVvZmZpY2UKIHZl cnNpb249Ny40LjMuMgotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9bWV0YQog bWFrZV9idWlsZF90YXJnZXQ9ImJ1aWxkIgogbm9jcm9zcz0iU2V2ZXJhbCBkZXBlbmRlbmNpZXMg YXJlIG5vY3Jvc3M9eWVzIgoKRnJvbSA3ODU1N2ZiY2Q1ZDYzOTE2ZmU3YjkzMGZjMDJkNzgwNGM4 NTU3OGMwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLbGFyYSBNb2RpbiA8a2xhcmFz bW9kaW5AZ21haWwuY29tPgpEYXRlOiBXZWQsIDEgRmViIDIwMjMgMTU6NDU6NTEgKzAxMDAKU3Vi amVjdDogW1BBVENIIDIyLzM5XSBzYW1iYTogcmV2YnVtcCBkdWUgdG8gb3BlbmxkYXAgdXBkYXRl CgotLS0KIHNyY3BrZ3Mvc2FtYmEvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBp bnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3NhbWJhL3Rl bXBsYXRlIGIvc3JjcGtncy9zYW1iYS90ZW1wbGF0ZQppbmRleCAzYmE5MzI2ODk3M2QuLjNlMTE5 OWI3MGM1ZSAxMDA2NDQKLS0tIGEvc3JjcGtncy9zYW1iYS90ZW1wbGF0ZQorKysgYi9zcmNwa2dz L3NhbWJhL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnc2Ft YmEnCiBwa2duYW1lPXNhbWJhCiB2ZXJzaW9uPTQuMTQuMTIKLXJldmlzaW9uPTIKK3JldmlzaW9u PTMKIGJ1aWxkX3N0eWxlPXdhZjMKIGJ1aWxkX2hlbHBlcj0icWVtdSIKIGNvbmZpZ3VyZV9zY3Jp cHQ9ImJ1aWxkdG9vbHMvYmluL3dhZiIKCkZyb20gM2FlOTI4YmY0OGNkNGEzZGZiNzE4MGMzNDZh NTIxYzg1NWQ4YTA3MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogS2xhcmEgTW9kaW4g PGtsYXJhc21vZGluQGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAxIEZlYiAyMDIzIDE1OjUxOjI0ICsw MTAwClN1YmplY3Q6IFtQQVRDSCAyMy8zOV0gbGlnaHR0cDogcmV2YnVtcCBkdWUgdG8gb3Blbmxk YXAgdXBkYXRlCgotLS0KIHNyY3BrZ3MvbGlnaHR0cGQvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUg Y2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNw a2dzL2xpZ2h0dHBkL3RlbXBsYXRlIGIvc3JjcGtncy9saWdodHRwZC90ZW1wbGF0ZQppbmRleCBm OTkwMzc1MTRhZTIuLjAxNTNiNGE4MjIwZiAxMDA2NDQKLS0tIGEvc3JjcGtncy9saWdodHRwZC90 ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2xpZ2h0dHBkL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAog IyBUZW1wbGF0ZSBmaWxlIGZvciAnbGlnaHR0cGQnCiBwa2duYW1lPWxpZ2h0dHBkCiB2ZXJzaW9u PTEuNC42OQotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9bWVzb24KIGNvbmZp Z3VyZV9hcmdzPSItRHdpdGhfYnJvdGxpPWRpc2FibGVkIC1Ed2l0aF9iemlwPWRpc2FibGVkCiAg LUR3aXRoX2tyYjU9ZW5hYmxlZCAtRHdpdGhfbGRhcD1lbmFibGVkCgpGcm9tIDE5MDJmMDBlNTk3 ZWNkYTNlMzRhZGM5YmI1MDdkZmZmMTI4MGE4ODEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206IEtsYXJhIE1vZGluIDxrbGFyYXNtb2RpbkBnbWFpbC5jb20+CkRhdGU6IFdlZCwgMSBGZWIg MjAyMyAxNTo1Mzo1MyArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMjQvMzldIGxvZzRjeHg6IHVwZGF0 ZSB0byAxLjAuMAoKLSBmaXggYSBsaW50aW5nIGlzc3VlCi0gZml4IHN1YnBhY2FrZ2UKLS0tCiAu Li4vcGF0Y2hlcy8xMDAtYnVnZml4LUxPR0NYWC0yODQucGF0Y2ggICAgICAgfCAxNyAtLS0tCiAu Li4vcGF0Y2hlcy8xNTAtYnVnZml4LUxPR0NYWC0zNjUucGF0Y2ggICAgICAgfCAxOSAtLS0tLQog c3JjcGtncy9sb2c0Y3h4L3BhdGNoZXMvMTcwLWdjYzYtZml4LnBhdGNoICAgIHwgODAgLS0tLS0t LS0tLS0tLS0tLS0tLQogLi4uL3BhdGNoZXMvMTgwLWdjYy1maXgtdGVzdHN1aXRlLnBhdGNoICAg ICAgIHwgMjUgLS0tLS0tCiAuLi4vbG9nNGN4eC9wYXRjaGVzL21pc3NpbmctaW5jbHVkZXMucGF0 Y2ggICAgfCAzOCAtLS0tLS0tLS0KIHNyY3BrZ3MvbG9nNGN4eC90ZW1wbGF0ZSAgICAgICAgICAg ICAgICAgICAgICB8IDE0ICsrLS0KIDYgZmlsZXMgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCAx ODYgZGVsZXRpb25zKC0pCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9sb2c0Y3h4L3BhdGNo ZXMvMTAwLWJ1Z2ZpeC1MT0dDWFgtMjg0LnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtn cy9sb2c0Y3h4L3BhdGNoZXMvMTUwLWJ1Z2ZpeC1MT0dDWFgtMzY1LnBhdGNoCiBkZWxldGUgbW9k ZSAxMDA2NDQgc3JjcGtncy9sb2c0Y3h4L3BhdGNoZXMvMTcwLWdjYzYtZml4LnBhdGNoCiBkZWxl dGUgbW9kZSAxMDA2NDQgc3JjcGtncy9sb2c0Y3h4L3BhdGNoZXMvMTgwLWdjYy1maXgtdGVzdHN1 aXRlLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9sb2c0Y3h4L3BhdGNoZXMvbWlz c2luZy1pbmNsdWRlcy5wYXRjaAoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbG9nNGN4eC9wYXRjaGVz LzEwMC1idWdmaXgtTE9HQ1hYLTI4NC5wYXRjaCBiL3NyY3BrZ3MvbG9nNGN4eC9wYXRjaGVzLzEw MC1idWdmaXgtTE9HQ1hYLTI4NC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg ZmNmZjMzMGYzNmQ3Li4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9sb2c0Y3h4L3BhdGNoZXMv MTAwLWJ1Z2ZpeC1MT0dDWFgtMjg0LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBA QAotIyEgL2Jpbi9zaCAvdXNyL3NoYXJlL2RwYXRjaC9kcGF0Y2gtcnVuCi0jIyAxMDAtYnVnZml4 LUxPR0NYWC0yODQuZHBhdGNoIGJ5ICA8bWF0dGhld0Bsb2NhbGhvc3Q+Ci0jIwotIyMgQWxsIGxp bmVzIGJlZ2lubmluZyB3aXRoIGAjIyBEUDonIGFyZSBhIGRlc2NyaXB0aW9uIG9mIHRoZSBwYXRj aC4KLSMjIERQOiBGaXhlcyBidWlsZCBlcnJvciBvbiBBSVggd2l0aCB4bGNfcgotCi0tLS0gYS9z cmMvdGVzdC9jcHAvaGVscGVycy9kYXRldGltZWRhdGVmb3JtYXR0ZXN0Y2FzZS5jcHAJMjAwOC0w My0zMSAxNTozMzowOS4wMDAwMDAwMDAgLTA3MDAKLSsrKyBiL3NyYy90ZXN0L2NwcC9oZWxwZXJz L2RhdGV0aW1lZGF0ZWZvcm1hdHRlc3RjYXNlLmNwcAkyMDA4LTA3LTE3IDA2OjQ5OjQzLjAwMDAw MDAwMCAtMDcwMAotQEAgLTE4MSw3ICsxODEsNyBAQAotICAgICAgICAgLy8gIG91dHB1dCB0aGUg dXNpbmcgU1RMCi0gICAgICAgICAvLwotICAgICAgICAgc3RkOjpiYXNpY19vc3RyaW5nc3RyZWFt PGxvZ2NoYXI+IGJ1ZmZlcjsKLS0jaWYgZGVmaW5lZChfVVNFRkFDKQotKyNpZiBkZWZpbmVkKF9N U0NfVkVSKSAmJiBfTVNDX1ZFUiA8IDEzMDAKLSAgICAgICAgICBfVVNFRkFDKGxvY2FsZSwgc3Rk Ojp0aW1lX3B1dDxsb2djaGFyPikKLSAgICAgICAgICAgICAgLnB1dChidWZmZXIsIGJ1ZmZlciwg JmRhdGUsIGZtdC5jX3N0cigpLCBmbXQuY19zdHIoKSArIGZtdC5sZW5ndGgoKSk7Ci0gI2Vsc2UK ZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbG9nNGN4eC9wYXRjaGVzLzE1MC1idWdmaXgtTE9HQ1hYLTM2 NS5wYXRjaCBiL3NyY3BrZ3MvbG9nNGN4eC9wYXRjaGVzLzE1MC1idWdmaXgtTE9HQ1hYLTM2NS5w YXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGNmOTZiNjdhZTRhLi4wMDAwMDAw MDAwMDAKLS0tIGEvc3JjcGtncy9sb2c0Y3h4L3BhdGNoZXMvMTUwLWJ1Z2ZpeC1MT0dDWFgtMzY1 LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotRGVzY3JpcHRpb246IGZpeGVz IHRlc3Qgc3VpdGUgdG8gbm90IGV4cGVjdCB0aGUgeWVhciB0byBiZSBiZXR3ZWVuIDIwMDAgYW5k IDIwMDkuCi1PcmlnaW46IHVwc3RyZWFtLCBodHRwOi8vc3ZuLmFwYWNoZS5vcmcvdmlld3ZjP3Zp ZXc9cmV2JnJldj05NTQzMzUKLUJ1ZzogaHR0cHM6Ly9pc3N1ZXMuYXBhY2hlLm9yZy9qaXJhL2Jy b3dzZS9MT0dDWFgtMzY1Ci1Gb3J3YXJkZWQ6IG5vdC1uZWVkZWQKLUFwcGxpZWQtVXBzdHJlYW06 IGNvbW1pdCA5NTQzMzUKLUxhc3QtVXBkYXRlOiAyMDE0LTAzLTE0Ci0tLS0KLVRoaXMgcGF0Y2gg aGVhZGVyIGZvbGxvd3MgREVQLTM6IGh0dHA6Ly9kZXAuZGViaWFuLm5ldC9kZXBzL2RlcDMvCi0t LS0gYS9zcmMvdGVzdC9jcHAvdXRpbC9maWx0ZXIuaAkyMDEwLzA2LzE0IDAwOjI0OjQyCTk1NDMz NAotKysrIGIvc3JjL3Rlc3QvY3BwL3V0aWwvZmlsdGVyLmgJMjAxMC8wNi8xNCAwMDozMDo0Mwk5 NTQzMzUKLUBAIC0zMSw3ICszMSw3IEBACi0gI2RlZmluZSBCQVNJQ19QQVQgIlxcWzB4WzAtOUEt Rl0qXSAoRkFUQUx8RVJST1J8V0FSTnxJTkZPfERFQlVHKSIKLSAjZGVmaW5lIElTTzg2MDFfUEFU ICJbMC05XVxcezRcXH0tWzAtOV1cXHsyXFx9LVswLTldXFx7MlxcfSBbMC05XVxcezJcXH06WzAt OV1cXHsyXFx9OlswLTldXFx7MlxcfSxbMC05XVxcezNcXH0iCi0gI2RlZmluZSBBQlNPTFVURV9E QVRFX0FORF9USU1FX1BBVCBcCi0tICAgICAgICAiWzAtOV1cXHsxLDJcXH0gLiogMjAwWzAtOV0g WzAtOV1cXHsyXFx9OlswLTldXFx7MlxcfTpbMC05XVxcezJcXH0sWzAtOV1cXHszXFx9IgotKyAg ICAgICAgIlswLTldXFx7MSwyXFx9IC4qIDJbMC05XVswLTldWzAtOV0gWzAtOV1cXHsyXFx9Olsw LTldXFx7MlxcfTpbMC05XVxcezJcXH0sWzAtOV1cXHszXFx9IgotICNkZWZpbmUgQUJTT0xVVEVf VElNRV9QQVQgIlswLTJdWzAtOV06WzAtOV1bMC05XTpbMC05XVswLTldLFswLTldWzAtOV1bMC05 XSIKLSAjZGVmaW5lIFJFTEFUSVZFX1RJTUVfUEFUICJeWzAtOV0rIgotIApkaWZmIC0tZ2l0IGEv c3JjcGtncy9sb2c0Y3h4L3BhdGNoZXMvMTcwLWdjYzYtZml4LnBhdGNoIGIvc3JjcGtncy9sb2c0 Y3h4L3BhdGNoZXMvMTcwLWdjYzYtZml4LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp bmRleCBjZmEwYzJmNTMxOWMuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL2xvZzRjeHgvcGF0 Y2hlcy8xNzAtZ2NjNi1maXgucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw4MCArMCwwIEBACi1E ZXNjcmlwdGlvbjogRml4IEZUQkZTIHdpdGggR0NDNgotIEdDQzYgaXMgbW9yZSBwaWNraWVyIG9u IHRydW5jYXRpbmcsIHNvIHRoaXMgcGF0Y2ggZml4ZXMgdGhlIG5hcnJvd2luZyBjb252ZXJzaW9u IGVycm9ycy4KLUF1dGhvcjogVG9iaWFzIEZyb3N0IDx0b2JpQGRlYmlhbi5vcmc+Ci1CdWctRGVi aWFuOiBodHRwczovL2J1Z3MuZGViaWFuLm9yZy9jZ2ktYmluL2J1Z3JlcG9ydC5jZ2k/YnVnPTgx MTc2OAotRm9yd2FyZGVkOiBodHRwczovL2lzc3Vlcy5hcGFjaGUub3JnL2ppcmEvYnJvd3NlL0xP R0NYWC00ODIKLUFwcGxpZWQtVXBzdHJlYW06IHllcywgdGFyZ2V0ZWQgdmVyc2lvbiAwLjExLjAK LUxhc3QtVXBkYXRlOiAyMDE2LTA3LTAxIChEZWJDYW1wMTYpCi0tLS0KLVRoaXMgcGF0Y2ggaGVh ZGVyIGZvbGxvd3MgREVQLTM6IGh0dHA6Ly9kZXAuZGViaWFuLm5ldC9kZXBzL2RlcDMvCi0tLS0g YS9zcmMvbWFpbi9jcHAvbG9jYXRpb25pbmZvLmNwcAotKysrIGIvc3JjL21haW4vY3BwL2xvY2F0 aW9uaW5mby5jcHAKLUBAIC0xNDgsNyArMTQ4LDcgQEAKLSAgICAgaWYgKGxpbmVOdW1iZXIgPT0g LTEgJiYgZmlsZU5hbWUgPT0gTkEgJiYgbWV0aG9kTmFtZSA9PSBOQV9NRVRIT0QpIHsKLSAgICAg ICAgICBvcy53cml0ZU51bGwocCk7Ci0gICAgIH0gZWxzZSB7Ci0tICAgICAgICBjaGFyIHByb2xv Z1tdID0gewotKyAgICAgICAgdW5zaWduZWQgY2hhciBwcm9sb2dbXSA9IHsKLSAgICAgICAgICAw eDcyLCAweDAwLCAweDIxLCAweDZGLCAweDcyLCAweDY3LCAweDJFLCAKLSAgICAgICAgICAweDYx LCAweDcwLCAweDYxLCAweDYzLCAweDY4LCAweDY1LCAweDJFLCAweDZDLCAKLSAgICAgICAgICAw eDZGLCAweDY3LCAweDM0LCAweDZBLCAweDJFLCAweDczLCAweDcwLCAweDY5LCAKLUBAIC0xNjEs NyArMTYxLDcgQEAKLSAgICAgICAgICAgICAgICAgMHg2MSwgMHg3NiwgMHg2MSwgMHgyRiwgMHg2 QywgMHg2MSwgMHg2RSwgMHg2NywgCi0gICAgICAgICAgICAgICAgIDB4MkYsIDB4NTMsIDB4NzQs IDB4NzIsIDB4NjksIDB4NkUsIDB4NjcsIDB4M0IsCi0gICAgICAgICAgMHg3OCwgMHg3MCB9Owot LSAgICAgIG9zLndyaXRlUHJvbG9nKCJvcmcuYXBhY2hlLmxvZzRqLnNwaS5Mb2NhdGlvbkluZm8i LCAyLCBwcm9sb2csIHNpemVvZihwcm9sb2cpLCBwKTsKLSsgICAgICBvcy53cml0ZVByb2xvZygi b3JnLmFwYWNoZS5sb2c0ai5zcGkuTG9jYXRpb25JbmZvIiwgMiwgKGNoYXIgKilwcm9sb2csIHNp emVvZihwcm9sb2cpLCBwKTsKLSAgICAgICAgIGNoYXIqIGxpbmUgPSBwLml0b2EobGluZU51bWJl cik7Ci0gICAgICAgICAvLwotICAgICAgICAgLy8gICBjb25zdHJ1Y3QgSmF2YS1saWtlIGZ1bGxJ bmZvIChyZXBsYWNlICI6OiIgd2l0aCAiLiIpCi0tLS0gYS9zcmMvbWFpbi9jcHAvbG9nZ2luZ2V2 ZW50LmNwcAotKysrIGIvc3JjL21haW4vY3BwL2xvZ2dpbmdldmVudC5jcHAKLUBAIC0yMzYsNyAr MjM2LDcgQEAKLSAKLSAKLSB2b2lkIExvZ2dpbmdFdmVudDo6d3JpdGVQcm9sb2coT2JqZWN0T3V0 cHV0U3RyZWFtJiBvcywgUG9vbCYgcCkgIHsKLS0gICAgIGNoYXIgY2xhc3NEZXNjW10gPSB7Ci0r ICAgICB1bnNpZ25lZCBjaGFyIGNsYXNzRGVzY1tdID0gewotICAgICAgICAgMHg3MiwgMHgwMCwg MHgyMSwgCi0gICAgICAgICAweDZGLCAweDcyLCAweDY3LCAweDJFLCAweDYxLCAweDcwLCAweDYx LCAweDYzLCAKLSAgICAgICAgIDB4NjgsIDB4NjUsIDB4MkUsIDB4NkMsIDB4NkYsIDB4NjcsIDB4 MzQsIDB4NkEsIAotQEAgLTI5Miw3ICsyOTIsNyBAQAotICAgICAgICAgMHgzQiwgMHg3OCwgMHg3 MCB9OyAKLSAKLSAgICAgIG9zLndyaXRlUHJvbG9nKCJvcmcuYXBhY2hlLmxvZzRqLnNwaS5Mb2dn aW5nRXZlbnQiLCAKLS0gICAgICAgIDgsIGNsYXNzRGVzYywgc2l6ZW9mKGNsYXNzRGVzYyksIHAp OwotKyAgICAgICAgOCwgKGNoYXIgKikgY2xhc3NEZXNjLCBzaXplb2YoY2xhc3NEZXNjKSwgcCk7 Ci0gfQotIAotIHZvaWQgTG9nZ2luZ0V2ZW50Ojp3cml0ZShoZWxwZXJzOjpPYmplY3RPdXRwdXRT dHJlYW0mIG9zLCBQb29sJiBwKSBjb25zdCB7Ci0tLS0gYS9zcmMvbWFpbi9jcHAvb2JqZWN0b3V0 cHV0c3RyZWFtLmNwcAotKysrIGIvc3JjL21haW4vY3BwL29iamVjdG91dHB1dHN0cmVhbS5jcHAK LUBAIC0zNiw4ICszNiw4IEBACi0gICAgICAgIG9iamVjdEhhbmRsZSgweDdFMDAwMCksCi0gICAg ICAgIGNsYXNzRGVzY3JpcHRpb25zKG5ldyBDbGFzc0Rlc2NyaXB0aW9uTWFwKCkpCi0gewotLSAg IGNoYXIgc3RhcnRbXSA9IHsgMHhBQywgMHhFRCwgMHgwMCwgMHgwNSB9OwotLSAgIEJ5dGVCdWZm ZXIgYnVmKHN0YXJ0LCBzaXplb2Yoc3RhcnQpKTsKLSsgICB1bnNpZ25lZCBjaGFyIHN0YXJ0W10g PSB7IDB4QUMsIDB4RUQsIDB4MDAsIDB4MDUgfTsKLSsgICBCeXRlQnVmZmVyIGJ1ZigoY2hhciop c3RhcnQsIHNpemVvZihzdGFydCkpOwotICAgIG9zLT53cml0ZShidWYsIHApOwotIH0KLSAKLUBA IC04MSw3ICs4MSw3IEBACi0gICAgIC8vCi0gICAgIC8vICBUQ19PQkpFQ1QgYW5kIHRoZSBjbGFz c0Rlc2MgZm9yIGphdmEudXRpbC5IYXNodGFibGUKLSAgICAgLy8KLS0gICAgY2hhciBwcm9sb2db XSA9IHsKLSsgICAgdW5zaWduZWQgY2hhciBwcm9sb2dbXSA9IHsKLSAgICAgICAgIDB4NzIsIDB4 MDAsIDB4MTMsIDB4NkEsIDB4NjEsIDB4NzYsIDB4NjEsIAotICAgICAgICAgMHgyRSwgMHg3NSwg MHg3NCwgMHg2OSwgMHg2QywgMHgyRSwgMHg0OCwgMHg2MSwgCi0gICAgICAgICAweDczLCAweDY4 LCAweDc0LCAweDYxLCAweDYyLCAweDZDLCAweDY1LCAweDEzLCAKLUBAIC05MCw3ICs5MCw3IEBA Ci0gICAgICAgICAweDY0LCAweDQ2LCAweDYxLCAweDYzLCAweDc0LCAweDZGLCAweDcyLCAweDQ5 LCAKLSAgICAgICAgIDB4MDAsIDB4MDksIDB4NzQsIDB4NjgsIDB4NzIsIDB4NjUsIDB4NzMsIDB4 NjgsIAotICAgICAgICAgMHg2RiwgMHg2QywgMHg2NCwgMHg3OCwgMHg3MCAgfTsKLS0gICAgd3Jp dGVQcm9sb2coImphdmEudXRpbC5IYXNodGFibGUiLCAxLCBwcm9sb2csIHNpemVvZihwcm9sb2cp LCBwKTsKLSsgICAgd3JpdGVQcm9sb2coImphdmEudXRpbC5IYXNodGFibGUiLCAxLCAoY2hhciAq KSBwcm9sb2csIHNpemVvZihwcm9sb2cpLCBwKTsKLSAgICAgLy8KLSAgICAgLy8gICBsb2FkRmFj dG9yID0gMC43NSwgdGhyZXNob2xkID0gNSwgYmxvY2tkYXRhIHN0YXJ0LCBidWNrZXRzLnNpemUg PSA3Ci0gICAgIGNoYXIgZGF0YVtdID0geyAweDNGLCAweDQwLCAweDAwLCAweDAwLCAweDAwLCAw eDAwLCAweDAwLCAweDA1LCAKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbG9nNGN4eC9wYXRjaGVzLzE4 MC1nY2MtZml4LXRlc3RzdWl0ZS5wYXRjaCBiL3NyY3BrZ3MvbG9nNGN4eC9wYXRjaGVzLzE4MC1n Y2MtZml4LXRlc3RzdWl0ZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzFi NzE0NjdhMTMxLi4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9sb2c0Y3h4L3BhdGNoZXMvMTgw LWdjYy1maXgtdGVzdHN1aXRlLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjUgKzAsMCBAQAot RGVzY3JpcHRpb246IEZpeCBuYXJyb3dpbmcgZXJyb3JzIGFsc28gZm9yIHRoZSB0ZXN0c3VpdGUK LUF1dGhvcjogVG9iaWFzIEZyb3N0IDx0b2JpQGRlYmlhbi5vcmc+Ci1MYXN0LVVwZGF0ZTogMjAx Ni0xMC0yMwotLS0tCi1UaGlzIHBhdGNoIGhlYWRlciBmb2xsb3dzIERFUC0zOiBodHRwOi8vZGVw LmRlYmlhbi5uZXQvZGVwcy9kZXAzLwotLS0tIGEvc3JjL3Rlc3QvY3BwL3htbC9kb210ZXN0Y2Fz ZS5jcHAKLSsrKyBiL3NyYy90ZXN0L2NwcC94bWwvZG9tdGVzdGNhc2UuY3BwCi1AQCAtMTkwLDcg KzE5MCw3IEBACi0gICAgICAgICAgICAgICAgIERPTUNvbmZpZ3VyYXRvcjo6Y29uZmlndXJlKExP RzRDWFhfVEVTVF9TVFIoImlucHV0L3htbC9ET01UZXN0Q2FzZTMueG1sIikpOwotICAgICAgICAg ICAgICAgICBMT0c0Q1hYX0lORk8obG9nZ2VyLCAiRmlsZSBuYW1lIGlzIGV4cGVjdGVkIHRvIGVu ZCB3aXRoIGEgc3VwZXJzY3JpcHQgMyIpOwotICNpZiBMT0c0Q1hYX0xPR0NIQVJfSVNfVVRGOAot LSAgICAgICAgICAgICAgICBjb25zdCBsb2djaGFyIGZuYW1lW10gPSB7IDB4NkYsIDB4NzUsIDB4 NzQsIDB4NzAsIDB4NzUsIDB4NzQsIDB4MkYsIDB4NjQsIDB4NkYsIDB4NkQsIDB4QzIsIDB4QjMs IDAgfTsKLSsgICAgICAgICAgICAgICAgY29uc3QgbG9nY2hhciBmbmFtZVtdID0geyAweDZGLCAw eDc1LCAweDc0LCAweDcwLCAweDc1LCAweDc0LCAweDJGLCAweDY0LCAweDZGLCAweDZELCAobG9n Y2hhcikweEMyLCAobG9nY2hhcikweEIzLCAwIH07Ci0gI2Vsc2UKLSAgICAgICAgICAgICAgICAg Y29uc3QgbG9nY2hhciBmbmFtZVtdID0geyAweDZGLCAweDc1LCAweDc0LCAweDcwLCAweDc1LCAw eDc0LCAweDJGLCAweDY0LCAweDZGLCAweDZELCAweEIzLCAwIH07Ci0gI2VuZGlmCi1AQCAtMjA5 LDcgKzIwOSw3IEBACi0gICAgICAgICAgICAgICAgIERPTUNvbmZpZ3VyYXRvcjo6Y29uZmlndXJl KExPRzRDWFhfVEVTVF9TVFIoImlucHV0L3htbC9ET01UZXN0Q2FzZTQueG1sIikpOwotICAgICAg ICAgICAgICAgICBMT0c0Q1hYX0lORk8obG9nZ2VyLCAiRmlsZSBuYW1lIGlzIGV4cGVjdGVkIHRv IGVuZCB3aXRoIGFuIGlkZW9ncmFwaGljIDQiKTsKLSAjaWYgTE9HNENYWF9MT0dDSEFSX0lTX1VU RjgKLS0gICAgICAgICAgICAgICAgY29uc3QgbG9nY2hhciBmbmFtZVtdID0geyAweDZGLCAweDc1 LCAweDc0LCAweDcwLCAweDc1LCAweDc0LCAweDJGLCAweDY0LCAweDZGLCAweDZELCAweEUzLCAw eDg2LCAweDk1LCAwIH07Ci0rICAgICAgICAgICAgICAgIGNvbnN0IGxvZ2NoYXIgZm5hbWVbXSA9 IHsgMHg2RiwgKGxvZ2NoYXIpMHg3NSwgMHg3NCwgMHg3MCwgMHg3NSwgMHg3NCwgMHgyRiwgMHg2 NCwgMHg2RiwgMHg2RCwgKGxvZ2NoYXIpMHhFMywgKGxvZ2NoYXIpMHg4NiwgKGxvZ2NoYXIpMHg5 NSwgMCB9OwotICNlbHNlCi0gICAgICAgICAgICAgICAgIGNvbnN0IGxvZ2NoYXIgZm5hbWVbXSA9 IHsgMHg2RiwgMHg3NSwgMHg3NCwgMHg3MCwgMHg3NSwgMHg3NCwgMHgyRiwgMHg2NCwgMHg2Riwg MHg2RCwgMHgzMTk1LCAwIH07Ci0gI2VuZGlmCmRpZmYgLS1naXQgYS9zcmNwa2dzL2xvZzRjeHgv cGF0Y2hlcy9taXNzaW5nLWluY2x1ZGVzLnBhdGNoIGIvc3JjcGtncy9sb2c0Y3h4L3BhdGNoZXMv bWlzc2luZy1pbmNsdWRlcy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTYz YmZmZDk1YzU3Li4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9sb2c0Y3h4L3BhdGNoZXMvbWlz c2luZy1pbmNsdWRlcy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM4ICswLDAgQEAKLWRpZmYg LU5hdXIgYXBhY2hlLWxvZzRjeHgtMC4xMC4wLm9yaWcvc3JjL2V4YW1wbGVzL2NwcC9jb25zb2xl LmNwcCBhcGFjaGUtbG9nNGN4eC0wLjEwLjAvc3JjL2V4YW1wbGVzL2NwcC9jb25zb2xlLmNwcAot LS0tIGEvc3JjL2V4YW1wbGVzL2NwcC9jb25zb2xlLmNwcAkyMDA4LTA0LTAxIDAwOjM0OjUyLjAw MDAwMDAwMCArMDIwMAotKysrIGIvc3JjL2V4YW1wbGVzL2NwcC9jb25zb2xlLmNwcAkyMDA4LTA1 LTA2IDA1OjQwOjUyLjAwMDAwMDAwMCArMDIwMAotQEAgLTE1LDcgKzE1LDEwIEBACi0gICogbGlt aXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0gICovCi0gCi0tI2luY2x1ZGUgPHN0ZGxpYi5o PgotKyNpbmNsdWRlIDxjc3RkaW8+Ci0rI2luY2x1ZGUgPGNzdGRsaWI+Ci0rI2luY2x1ZGUgPGNz dHJpbmc+Ci0rI2luY2x1ZGUgPHN0ZGludC5oPgotICNpbmNsdWRlIDxsb2c0Y3h4L2xvZ2dlci5o PgotICNpbmNsdWRlIDxsb2c0Y3h4L2NvbnNvbGVhcHBlbmRlci5oPgotICNpbmNsdWRlIDxsb2c0 Y3h4L3NpbXBsZWxheW91dC5oPgotZGlmZiAtTmF1ciBhcGFjaGUtbG9nNGN4eC0wLjEwLjAub3Jp Zy9zcmMvbWFpbi9jcHAvaW5wdXRzdHJlYW1yZWFkZXIuY3BwIGFwYWNoZS1sb2c0Y3h4LTAuMTAu MC9zcmMvbWFpbi9jcHAvaW5wdXRzdHJlYW1yZWFkZXIuY3BwCi0tLS0gYS9zcmMvbWFpbi9jcHAv aW5wdXRzdHJlYW1yZWFkZXIuY3BwCTIwMDgtMDQtMDEgMDA6MzQ6MDkuMDAwMDAwMDAwICswMjAw Ci0rKysgYi9zcmMvbWFpbi9jcHAvaW5wdXRzdHJlYW1yZWFkZXIuY3BwCTIwMDgtMDUtMDYgMDU6 MzI6MzEuMDAwMDAwMDAwICswMjAwCi1AQCAtMjEsNiArMjEsOCBAQAotICNpbmNsdWRlIDxsb2c0 Y3h4L2hlbHBlcnMvcG9vbC5oPgotICNpbmNsdWRlIDxsb2c0Y3h4L2hlbHBlcnMvYnl0ZWJ1ZmZl ci5oPgotIAotKyNpbmNsdWRlIDxjc3RyaW5nPgotKwotIHVzaW5nIG5hbWVzcGFjZSBsb2c0Y3h4 OwotIHVzaW5nIG5hbWVzcGFjZSBsb2c0Y3h4OjpoZWxwZXJzOwotIAotZGlmZiAtTmF1ciBzcmMv bWFpbi9jcHAvc29ja2V0b3V0cHV0c3RyZWFtLmNwcCBhcGFjaGUtbG9nNGN4eC0wLjEwLjAvc3Jj L21haW4vY3BwL3NvY2tldG91dHB1dHN0cmVhbS5jcHAKLS0tLSBhL3NyYy9tYWluL2NwcC9zb2Nr ZXRvdXRwdXRzdHJlYW0uY3BwCTIwMDgtMDQtMDEgMDA6MzQ6MDkuMDAwMDAwMDAwICswMjAwCi0r KysgYi9zcmMvbWFpbi9jcHAvc29ja2V0b3V0cHV0c3RyZWFtLmNwcAkyMDA4LTA1LTA2IDA1OjM1 OjU1LjAwMDAwMDAwMCArMDIwMAotQEAgLTIwLDYgKzIwLDggQEAKLSAjaW5jbHVkZSA8bG9nNGN4 eC9oZWxwZXJzL3NvY2tldC5oPgotICNpbmNsdWRlIDxsb2c0Y3h4L2hlbHBlcnMvYnl0ZWJ1ZmZl ci5oPgotIAotKyNpbmNsdWRlIDxjc3RyaW5nPgotKwotIHVzaW5nIG5hbWVzcGFjZSBsb2c0Y3h4 OwotIHVzaW5nIG5hbWVzcGFjZSBsb2c0Y3h4OjpoZWxwZXJzOwpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9sb2c0Y3h4L3RlbXBsYXRlIGIvc3JjcGtncy9sb2c0Y3h4L3RlbXBsYXRlCmluZGV4IDJmNDkw NWExNjA5Mi4uOTYzNzQzZjYzNjdhIDEwMDY0NAotLS0gYS9zcmNwa2dzL2xvZzRjeHgvdGVtcGxh dGUKKysrIGIvc3JjcGtncy9sb2c0Y3h4L3RlbXBsYXRlCkBAIC0xLDIyICsxLDIyIEBACiAjIFRl bXBsYXRlIGZpbGUgZm9yICdsb2c0Y3h4JwogcGtnbmFtZT1sb2c0Y3h4Ci12ZXJzaW9uPTAuMTAu MAotcmV2aXNpb249NAotYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQotbWFrZWRlcGVuZHM9Imxp YnhtbDItZGV2ZWwgYXByLWRldmVsIGFwci11dGlsLWRldmVsIGdkYm0tZGV2ZWwiCi1zaG9ydF9k ZXNjPSJBIEMrKyBMb2dnaW5nIExpYnJhcnkgYmFzZWQgb24gTG9nNEoiCit2ZXJzaW9uPTEuMC4w CityZXZpc2lvbj0xCitidWlsZF9zdHlsZT1jbWFrZQoraG9zdG1ha2VkZXBlbmRzPSJwa2ctY29u ZmlnIHppcCIKK21ha2VkZXBlbmRzPSJsaWJ4bWwyLWRldmVsIGFwci1kZXZlbCBhcHItdXRpbC1k ZXZlbCBnZGJtLWRldmVsIGJvb3N0LWRldmVsIgorc2hvcnRfZGVzYz0iQysrIExvZ2dpbmcgTGli cmFyeSBiYXNlZCBvbiBMb2c0SiIKIG1haW50YWluZXI9Ik9ycGhhbmVkIDxvcnBoYW5Adm9pZGxp bnV4Lm9yZz4iCiBsaWNlbnNlPSJBcGFjaGUtMi4wIgogaG9tZXBhZ2U9Imh0dHBzOi8vbG9nZ2lu Zy5hcGFjaGUub3JnL2xvZzRjeHgvIgogZGlzdGZpbGVzPSJodHRwczovL2FyY2hpdmUuYXBhY2hl Lm9yZy9kaXN0L2xvZ2dpbmcvbG9nNGN4eC8ke3ZlcnNpb259L2FwYWNoZS1sb2c0Y3h4LSR7dmVy c2lvbn0udGFyLmd6IgotY2hlY2tzdW09MGRlMDM5NjIyMGE5NTY2YTU4MDE2NmU2NmIzOTY3NGNi NDBlZmQyMTc2ZjUyYWQyYzY1NDg2Yzk5YzkyMGM4YworY2hlY2tzdW09NmRmOWYxZjY4MjY1MGRl NjA0NTMwOTQ3M2Q1YjJmZTFmNzk4YTAzY2ViMzZhNzRhNWIyMWY1NTIwOTYyZDMyZgogCiBsb2c0 Y3h4LWRldmVsX3BhY2thZ2UoKSB7CiAJc2hvcnRfZGVzYys9IiAtIGRldmVsb3BtZW50IGZpbGVz IgogCWRlcGVuZHM9IiR7c291cmNlcGtnfT49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufSIKIAlwa2df aW5zdGFsbCgpIHsKIAkJdm1vdmUgdXNyL2luY2x1ZGUKLQkJdm1vdmUgdXNyL2xpYi8qLmEKIAkJ dm1vdmUgdXNyL2xpYi8qLnNvCiAJCXZtb3ZlIHVzci9saWIvcGtnY29uZmlnCiAJfQoKRnJvbSBk ZTc5ZDc4NzA2NDE2YTE5NDc2NWFlYmE4MWI5Y2M2ZmVkMTM3MmQwIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiBLbGFyYSBNb2RpbiA8a2xhcmFzbW9kaW5AZ21haWwuY29tPgpEYXRlOiBX ZWQsIDEgRmViIDIwMjMgMTU6NTU6MjUgKzAxMDAKU3ViamVjdDogW1BBVENIIDI1LzM5XSBsdWE1 NC1sdWFsZGFwOiByZXZidW1wIGR1ZSB0byBvcGVubGRhcCB1cGRhdGUKCi0tLQogc3JjcGtncy9s dWE1NC1sdWFsZGFwL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9u KCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9sdWE1NC1sdWFsZGFwL3Rl bXBsYXRlIGIvc3JjcGtncy9sdWE1NC1sdWFsZGFwL3RlbXBsYXRlCmluZGV4IDQ0OTJkYmVhYjY1 MC4uOGMwM2VlZjdlZjRkIDEwMDY0NAotLS0gYS9zcmNwa2dzL2x1YTU0LWx1YWxkYXAvdGVtcGxh dGUKKysrIGIvc3JjcGtncy9sdWE1NC1sdWFsZGFwL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAog IyBUZW1wbGF0ZSBmaWxlIGZvciAnbHVhNTQtbHVhbGRhcCcKIHBrZ25hbWU9bHVhNTQtbHVhbGRh cAogdmVyc2lvbj0xLjIuNQotcmV2aXNpb249MworcmV2aXNpb249NAogY3JlYXRlX3dya3NyYz15 ZXMKIGJ1aWxkX3N0eWxlPWdudS1tYWtlZmlsZQogaG9zdG1ha2VkZXBlbmRzPSJwa2ctY29uZmln IgoKRnJvbSAwMjM4ZmUzMWFjOTRiNWJiNmE3YjIyODJiY2M3ZDc4OTAyOThmMjE0IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLbGFyYSBNb2RpbiA8a2xhcmFzbW9kaW5AZ21haWwuY29t PgpEYXRlOiBXZWQsIDEgRmViIDIwMjMgMTU6NTY6MjIgKzAxMDAKU3ViamVjdDogW1BBVENIIDI2 LzM5XSBtb25pdG9yaW5nLXBsdWdpbnM6IHJldmJ1bXAgZHVlIHRvIG9wZW5sZGFwIHVwZGF0ZQoK LS0tCiBzcmNwa2dzL21vbml0b3JpbmctcGx1Z2lucy90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBj aGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3Br Z3MvbW9uaXRvcmluZy1wbHVnaW5zL3RlbXBsYXRlIGIvc3JjcGtncy9tb25pdG9yaW5nLXBsdWdp bnMvdGVtcGxhdGUKaW5kZXggOWZlYzU1NjJhOWNjLi4yMGZiZDEzYTUwMjAgMTAwNjQ0Ci0tLSBh L3NyY3BrZ3MvbW9uaXRvcmluZy1wbHVnaW5zL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvbW9uaXRv cmluZy1wbHVnaW5zL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZv ciAnbW9uaXRvcmluZy1wbHVnaW5zJwogcGtnbmFtZT1tb25pdG9yaW5nLXBsdWdpbnMKIHZlcnNp b249Mi4zLjIKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPWdudS1jb25maWd1 cmUKIGNvbmZpZ3VyZV9hcmdzPSItLWxpYmV4ZWNkaXI9L3Vzci9saWIvbW9uaXRvcmluZy1wbHVn aW5zIgogaG9zdG1ha2VkZXBlbmRzPSJmcGluZyBvcGVuc3NoIHBvc3RmaXggcHJvY3BzLW5nIHNt YmNsaWVudCBuZXQtc25tcCBiaW5kLXV0aWxzIHN1ZG8iCgpGcm9tIDM3MWQ3ZGZiYTg3NDQzMGVj ZjFlMDJiYzRhYjVlMjE3ZjJhZWRmMGMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEts YXJhIE1vZGluIDxrbGFyYXNtb2RpbkBnbWFpbC5jb20+CkRhdGU6IFdlZCwgMSBGZWIgMjAyMyAx NTo1NzoxMiArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMjcvMzldIG5zcy1wYW0tbGRhcGQ6IHJldmJ1 bXAgZHVlIHRvIG9wZW5sZGFwIHVwZGF0ZQoKLS0tCiBzcmNwa2dzL25zcy1wYW0tbGRhcGQvdGVt cGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24o LSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL25zcy1wYW0tbGRhcGQvdGVtcGxhdGUgYi9zcmNwa2dz L25zcy1wYW0tbGRhcGQvdGVtcGxhdGUKaW5kZXggOTJjYmQ3NTQxN2I0Li4yYjNhMzVhZTg1YTMg MTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvbnNzLXBhbS1sZGFwZC90ZW1wbGF0ZQorKysgYi9zcmNwa2dz L25zcy1wYW0tbGRhcGQvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUg Zm9yICduc3MtcGFtLWxkYXBkJwogcGtnbmFtZT1uc3MtcGFtLWxkYXBkCiB2ZXJzaW9uPTAuOS4x MgotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQogY29u ZmlndXJlX2FyZ3M9Ii0tZW5hYmxlLXNhc2wgLS1lbmFibGUta2VyYmVyb3MgLS13aXRoLXBhbS1z ZWNsaWItZGlyPS91c3IvbGliL3NlY3VyaXR5LyIKIGNvbmZfZmlsZXM9Ii9ldGMvbnNsY2QuY29u ZiIKCkZyb20gYWI1ZWE3N2U2MWU5MzI1NTU2Mjg5NTM0N2NlNDUzOWQyMTA1OTk2NCBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogS2xhcmEgTW9kaW4gPGtsYXJhc21vZGluQGdtYWlsLmNv bT4KRGF0ZTogV2VkLCAxIEZlYiAyMDIzIDE2OjE2OjEwICswMTAwClN1YmplY3Q6IFtQQVRDSCAy OC8zOV0gcGhwOiByZXZidW1wIGR1ZSB0byBvcGVubGRhcCB1cGRhdGUKCi0tLQogc3JjcGtncy9w aHAvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVs ZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3BocC90ZW1wbGF0ZSBiL3NyY3BrZ3MvcGhw L3RlbXBsYXRlCmluZGV4IDM5ZTRkMTYxYjY0OC4uZTljNmY2MDI0NjMxIDEwMDY0NAotLS0gYS9z cmNwa2dzL3BocC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3BocC90ZW1wbGF0ZQpAQCAtMSw3ICsx LDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3BocCcKIHBrZ25hbWU9cGhwCiB2ZXJzaW9uPTcu NC4zMwotcmV2aXNpb249MQorcmV2aXNpb249MgogaG9zdG1ha2VkZXBlbmRzPSJiaXNvbiBwa2ct Y29uZmlnIGFwYWNoZS1kZXZlbCIKIG1ha2VkZXBlbmRzPSJhcGFjaGUtZGV2ZWwgZW5jaGFudDIt ZGV2ZWwgZnJlZXRkcy1kZXZlbCBmcmVldHlwZS1kZXZlbCBnZGJtLWRldmVsCiAgZ21wLWRldmVs IGxpYmN1cmwtZGV2ZWwgbGlianBlZy10dXJiby1kZXZlbCBsaWJtYXJpYWRiY2xpZW50LWRldmVs CgpGcm9tIDIzMjc3ZGFjMzlkMmQzNmU5YjlmMDc1NGQ3ZTNiYThkN2IxN2E2MjcgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IEtsYXJhIE1vZGluIDxrbGFyYXNtb2RpbkBnbWFpbC5jb20+ CkRhdGU6IFdlZCwgMSBGZWIgMjAyMyAxNjoxNzowOSArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMjkv MzldIHBocDguMDogcmV2YnVtcCBkdWUgdG8gb3BlbmxkYXAgdXBkYXRlCgotLS0KIHNyY3BrZ3Mv cGhwOC4wL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAx IGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9waHA4LjAvdGVtcGxhdGUgYi9zcmNw a2dzL3BocDguMC90ZW1wbGF0ZQppbmRleCA3NGM1MGRhMGU0NmYuLjFjMjE1ZDFmODQxYSAxMDA2 NDQKLS0tIGEvc3JjcGtncy9waHA4LjAvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9waHA4LjAvdGVt cGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdwaHA4LjAnCiBwa2du YW1lPXBocDguMAogdmVyc2lvbj04LjAuMjUKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIF9waHBf dmVyc2lvbj04LjAKIGhvc3RtYWtlZGVwZW5kcz0iYmlzb24gcGtnLWNvbmZpZyBhcGFjaGUtZGV2 ZWwiCiBtYWtlZGVwZW5kcz0iYXBhY2hlLWRldmVsIGVuY2hhbnQyLWRldmVsIGZyZWV0ZHMtZGV2 ZWwgZnJlZXR5cGUtZGV2ZWwgZ2RibS1kZXZlbAoKRnJvbSA2YzQ4ZWUxZTY0NjllOTFlM2RhYzkz YjYyOThhYTQ4ZDNhNzFjOWFkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLbGFyYSBN b2RpbiA8a2xhcmFzbW9kaW5AZ21haWwuY29tPgpEYXRlOiBXZWQsIDEgRmViIDIwMjMgMTY6MTk6 MTYgKzAxMDAKU3ViamVjdDogW1BBVENIIDMwLzM5XSBwaHA4LjE6IHJldmJ1bXAgZHVlIHRvIG9w ZW5sZGFwIHVwZGF0ZQoKLS0tCiBzcmNwa2dzL3BocDguMS90ZW1wbGF0ZSB8IDIgKy0KIDEgZmls ZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvcGhwOC4xL3RlbXBsYXRlIGIvc3JjcGtncy9waHA4LjEvdGVtcGxhdGUKaW5kZXggZjE5 Njg4YjUyZjZjLi5mMTQ0MTQ2OTdlNzkgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcGhwOC4xL3RlbXBs YXRlCisrKyBiL3NyY3BrZ3MvcGhwOC4xL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1w bGF0ZSBmaWxlIGZvciAncGhwOC4xJwogcGtnbmFtZT1waHA4LjEKIHZlcnNpb249OC4xLjEyCi1y ZXZpc2lvbj0xCityZXZpc2lvbj0yCiBfcGhwX3ZlcnNpb249OC4xCiBob3N0bWFrZWRlcGVuZHM9 ImJpc29uIHBrZy1jb25maWcgYXBhY2hlLWRldmVsIgogbWFrZWRlcGVuZHM9ImFwYWNoZS1kZXZl bCBlbmNoYW50Mi1kZXZlbCBmcmVldGRzLWRldmVsIGZyZWV0eXBlLWRldmVsIGdkYm0tZGV2ZWwK CkZyb20gYmE0MzA0MWZlZjhiMDE5OTA5OWFmZjNlZmJlOTRjNWQxOTA2ZWRjMCBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogS2xhcmEgTW9kaW4gPGtsYXJhc21vZGluQGdtYWlsLmNvbT4K RGF0ZTogV2VkLCAxIEZlYiAyMDIzIDE2OjIwOjA5ICswMTAwClN1YmplY3Q6IFtQQVRDSCAzMS8z OV0gcG9zdGZpeDogcmV2YnVtcCBkdWUgdG8gb3BlbmxkYXAgdXBkYXRlCgotLS0KIHNyY3BrZ3Mv cG9zdGZpeC90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwg MSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcG9zdGZpeC90ZW1wbGF0ZSBiL3Ny Y3BrZ3MvcG9zdGZpeC90ZW1wbGF0ZQppbmRleCBiMWMyY2Q0ZTgwOTAuLjk5N2EyNDJiOTE5MSAx MDA2NDQKLS0tIGEvc3JjcGtncy9wb3N0Zml4L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcG9zdGZp eC90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3Bvc3RmaXgn CiBwa2duYW1lPXBvc3RmaXgKIHZlcnNpb249My43LjQKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIK IGhvc3RtYWtlZGVwZW5kcz0icGVybCBtNCIKIG1ha2VkZXBlbmRzPSJpY3UtZGV2ZWwgbGlibGRh cC1kZXZlbCBsaWJtYXJpYWRiY2xpZW50LWRldmVsIHBjcmUyLWRldmVsCiAgcG9zdGdyZXNxbC1s aWJzLWRldmVsIHNxbGl0ZS1kZXZlbCIKCkZyb20gMmYwODY3YzBjYTU1OGNlODliMmMxMmMzOTcx NjhhYWU4YWE3MGYzMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogS2xhcmEgTW9kaW4g PGtsYXJhc21vZGluQGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAxIEZlYiAyMDIzIDE2OjIxOjM2ICsw MTAwClN1YmplY3Q6IFtQQVRDSCAzMi8zOV0gcHl0aG9uMy1sZGFwOiB1cGRhdGUgdG8gMy40LjMK CmJ1aWxkIHdhcyBmYWlsaW5nIGFmdGVyIHJldmJ1bXAKcmVtb3ZlIHVubmVjZXNzYXJ5IHNlZCBl eHByZXNzaW9uCi0tLQogc3JjcGtncy9weXRob24zLWxkYXAvdGVtcGxhdGUgfCAxMiArKysrLS0t LS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvc3JjcGtncy9weXRob24zLWxkYXAvdGVtcGxhdGUgYi9zcmNwa2dzL3B5dGhv bjMtbGRhcC90ZW1wbGF0ZQppbmRleCBjZmY3ZGYwNTVlNzguLjQxZTRlZGIxZjM1NCAxMDA2NDQK LS0tIGEvc3JjcGtncy9weXRob24zLWxkYXAvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9weXRob24z LWxkYXAvdGVtcGxhdGUKQEAgLTEsMTAgKzEsMTAgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3B5 dGhvbjMtbGRhcCcKIHBrZ25hbWU9cHl0aG9uMy1sZGFwCiBfcGtnbmFtZT1weXRob24tbGRhcAot dmVyc2lvbj0zLjIuMAotcmV2aXNpb249NQordmVyc2lvbj0zLjQuMworcmV2aXNpb249MQogYnVp bGRfc3R5bGU9cHl0aG9uMy1tb2R1bGUKLWhvc3RtYWtlZGVwZW5kcz0icHl0aG9uMy1zZXR1cHRv b2xzIgoraG9zdG1ha2VkZXBlbmRzPSJweXRob24zLXNldHVwdG9vbHMgcHl0aG9uMy13aGVlbCBw eXRob24zLXB5YXNuMS1tb2R1bGVzIgogbWFrZWRlcGVuZHM9InB5dGhvbjMtZGV2ZWwgbGlibGRh cC1kZXZlbCIKIGRlcGVuZHM9InB5dGhvbjMtcHlhc24xLW1vZHVsZXMiCiBjaGVja2RlcGVuZHM9 Im9wZW5sZGFwIG9wZW5sZGFwLXRvb2xzIgpAQCAtMTMsOCArMTMsNCBAQCBtYWludGFpbmVyPSJN aWNoYWVsIEFsZHJpZGdlIDxtYWxkcmlkZ2VAdm9pZGxpbnV4Lm9yZz4iCiBsaWNlbnNlPSJQeXRo b24tMi4wIgogaG9tZXBhZ2U9Imh0dHBzOi8vd3d3LnB5dGhvbi1sZGFwLm9yZyIKIGRpc3RmaWxl cz0iJHtQWVBJX1NJVEV9L3AvJHtfcGtnbmFtZX0vJHtfcGtnbmFtZX0tJHt2ZXJzaW9ufS50YXIu Z3oiCi1jaGVja3N1bT03ZDFjNGIxNTM3NWE1MzM1NjRhYWQzZDNkZWFkZTc4OTIyMWU0NTAwNTJi MjFlYmI5NzIwZmI4MjJlY2NkYjhlCi0KLXByZV9idWlsZCgpIHsKLQlzZWQgLWkgInM6XmxpYnMg PSAuKjpsaWJzID0gbGRhcF9yIGxiZXIgc2FzbDIgc3NsIGNyeXB0bzoiIHNldHVwLmNmZwotfQor Y2hlY2tzdW09YWIyNmM1MTlhMGVmMmE0NDNhMmExMDM5MWZhM2M1Y2I1MmQ3ODcxMzIzMzk5ZGI5 NDllYmZhYTlmMjVlZTJhMAoKRnJvbSA5YmY1YmU4Njg1NDczM2VlY2NhMDhiYjM4ZjQzMTEwY2Mw ZjM2ODc1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLbGFyYSBNb2RpbiA8a2xhcmFz bW9kaW5AZ21haWwuY29tPgpEYXRlOiBXZWQsIDEgRmViIDIwMjMgMTY6MjM6MzkgKzAxMDAKU3Vi amVjdDogW1BBVENIIDMzLzM5XSBxdW90YTogcmV2YnVtcCBkdWUgdG8gb3BlbmxkYXAgdXBkYXRl CgotLS0KIHNyY3BrZ3MvcXVvdGEvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBp bnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F1b3RhL3Rl bXBsYXRlIGIvc3JjcGtncy9xdW90YS90ZW1wbGF0ZQppbmRleCBhNWRjN2JiZGI1ZjQuLjU1OWVm YWVlMjk5NCAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdW90YS90ZW1wbGF0ZQorKysgYi9zcmNwa2dz L3F1b3RhL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXVv dGEnCiBwa2duYW1lPXF1b3RhCiB2ZXJzaW9uPTQuMDkKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIK IGJ1aWxkX3N0eWxlPWdudS1jb25maWd1cmUKIG1ha2VfYnVpbGRfYXJncz0iVj0xIgogY29uZl9m aWxlcz0iL2V0Yy9xdW90YWdycGFkbWlucyAvZXRjL3F1b3RhdGFiIC9ldGMvd2FybnF1b3RhLmNv bmYiCgpGcm9tIDdhMDZhYWY1ZTU1Yjc5OTdlYTE5YzEwYzViN2I4MWUzYmUwNTlmYTEgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCkZyb206IEtsYXJhIE1vZGluIDxrbGFyYXNtb2RpbkBnbWFpbC5j b20+CkRhdGU6IFdlZCwgMSBGZWIgMjAyMyAxNjozNjoyMiArMDEwMApTdWJqZWN0OiBbUEFUQ0gg MzQvMzldIHNlYWhvcnNlOiByZXZidW1wIGR1ZSB0byBvcGVubGRhcCB1cGRhdGUKCi0tLQogc3Jj cGtncy9zZWFob3JzZS90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlv bigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvc2VhaG9yc2UvdGVtcGxh dGUgYi9zcmNwa2dzL3NlYWhvcnNlL3RlbXBsYXRlCmluZGV4IGJlOGJhNDU0YjRhOC4uZGE5MjIz NGQ4MjE2IDEwMDY0NAotLS0gYS9zcmNwa2dzL3NlYWhvcnNlL3RlbXBsYXRlCisrKyBiL3NyY3Br Z3Mvc2VhaG9yc2UvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9y ICdzZWFob3JzZScKIHBrZ25hbWU9c2VhaG9yc2UKIHZlcnNpb249NDMuMAotcmV2aXNpb249MQor cmV2aXNpb249MgogYnVpbGRfc3R5bGU9bWVzb24KIGJ1aWxkX2hlbHBlcj1naXIKIGhvc3RtYWtl ZGVwZW5kcz0iZ2NyLWRldmVsIGdldHRleHQgZ2xpYi1kZXZlbCBnbnVwZyBpdHN0b29sIGxpYnNl Y3JldC1kZXZlbAoKRnJvbSA1ZWM1ZGVjYzI3NmZlZTQwNDY4YzAzM2E3M2ExYzI0M2I0YTdkMDE0 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLbGFyYSBNb2RpbiA8a2xhcmFzbW9kaW5A Z21haWwuY29tPgpEYXRlOiBXZWQsIDEgRmViIDIwMjMgMTY6Mzg6MzUgKzAxMDAKU3ViamVjdDog W1BBVENIIDM1LzM5XSBzcXVpZDogcmV2YnVtcCBkdWUgdG8gb3BlbmxkYXAgdXBkYXRlCgotLS0K IHNyY3BrZ3Mvc3F1aWQvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRp b24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3NxdWlkL3RlbXBsYXRl IGIvc3JjcGtncy9zcXVpZC90ZW1wbGF0ZQppbmRleCA0OWI5ZWI5ZDdiOTEuLjIyMzhkMWM3ZGY1 MiAxMDA2NDQKLS0tIGEvc3JjcGtncy9zcXVpZC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3NxdWlk L3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnc3F1aWQnCiBw a2duYW1lPXNxdWlkCiB2ZXJzaW9uPTUuNwotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRf c3R5bGU9Z251LWNvbmZpZ3VyZQogY29uZmlndXJlX2FyZ3M9IgogIC0tc3lzY29uZmRpcj0vZXRj L3NxdWlkCgpGcm9tIDI3MDE4YzI3MzYxMWJiMjlkZjNhOWUwYzVhY2FmZTk5ZTM3ZjNiY2MgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEtsYXJhIE1vZGluIDxrbGFyYXNtb2RpbkBnbWFp bC5jb20+CkRhdGU6IFdlZCwgMSBGZWIgMjAyMyAxNjozOTozMCArMDEwMApTdWJqZWN0OiBbUEFU Q0ggMzYvMzldIHNzc2Q6IHJldmJ1bXAgZHVlIHRvIG9wZW5sZGFwIHVwZGF0ZQoKLS0tCiBzcmNw a2dzL3Nzc2QvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyks IDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3Nzc2QvdGVtcGxhdGUgYi9zcmNw a2dzL3Nzc2QvdGVtcGxhdGUKaW5kZXggM2JmZWIzMmVmMTBkLi40NGU2ZjNiOWE2OWQgMTAwNjQ0 Ci0tLSBhL3NyY3BrZ3Mvc3NzZC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3Nzc2QvdGVtcGxhdGUK QEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdzc3NkJwogcGtnbmFtZT1zc3Nk CiB2ZXJzaW9uPTIuNC4wCi1yZXZpc2lvbj01CityZXZpc2lvbj02CiBidWlsZF9zdHlsZT1nbnUt Y29uZmlndXJlCiAjIGNvbmZpZ3VyZSBjaGVja3Mgc3lzLnZlcnNpb25bOjNdIGZvciBQeXRob24g dmVyc2lvbmluZywgc28gMy4xMCBiZWNvbWVzIDMuMTsKICMgdW50aWwgdGhpcyBpcyBmaXhlZCB1 cHN0cmVhbSwgbWFudWFsbHkgZGVmaW5lIGFtX2N2X3B5dGhvbl92ZXJzaW9uIHRvIGNpcmN1bXZl bnQKCkZyb20gN2ZjNjEwYzA0OWE3MzgyMmMzZDFkMDgzZWNlMzUzYTA0YTRjNzczMiBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogS2xhcmEgTW9kaW4gPGtsYXJhc21vZGluQGdtYWlsLmNv bT4KRGF0ZTogV2VkLCAxIEZlYiAyMDIzIDE2OjQxOjMwICswMTAwClN1YmplY3Q6IFtQQVRDSCAz Ny8zOV0gc3lscGhlZWQ6IHJldmJ1bXAgZHVlIHRvIG9wZW5sZGFwIHVwZGF0ZQoKLS0tCiBzcmNw a2dzL3N5bHBoZWVkL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9u KCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9zeWxwaGVlZC90ZW1wbGF0 ZSBiL3NyY3BrZ3Mvc3lscGhlZWQvdGVtcGxhdGUKaW5kZXggN2ZiZjI1Mjc2ZmJjLi4yNWFhNzUz ZTZkNGQgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mvc3lscGhlZWQvdGVtcGxhdGUKKysrIGIvc3JjcGtn cy9zeWxwaGVlZC90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3Ig J3N5bHBoZWVkJwogcGtnbmFtZT1zeWxwaGVlZAogdmVyc2lvbj0zLjcuMAotcmV2aXNpb249OAor cmV2aXNpb249OQogYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQogY29uZmlndXJlX2FyZ3M9Ii0t ZGlzYWJsZS1jb21wZmFjZSAtLWRpc2FibGUtZ3Rrc3BlbGwgLS1lbmFibGUtbGRhcCAtLXdpdGgt Z3BnbWUtcHJlZml4PSR7WEJQU19DUk9TU19CQVNFfS91c3IiCiBob3N0bWFrZWRlcGVuZHM9ImF1 dG9tYWtlIGxpYnRvb2wgcGtnLWNvbmZpZyBmbGV4IGdldHRleHQtZGV2ZWwgZ3RrKy1kZXZlbCBn cGdtZS1kZXZlbCBnbGliLWRldmVsIgoKRnJvbSAyN2FjNTNmNmUxN2JlZDEwZjc1ZjFjMDQ1OGM0 ZWRiYTNjYzhmZWQyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLbGFyYSBNb2RpbiA8 a2xhcmFzbW9kaW5AZ21haWwuY29tPgpEYXRlOiBXZWQsIDEgRmViIDIwMjMgMTY6NDI6NDcgKzAx MDAKU3ViamVjdDogW1BBVENIIDM4LzM5XSB2aXJ0dW9zbzogdXBkYXRlIHRvIDcuMi44Cgp0ZXN0 IHN1aXRlIHdhcyBmYWlsaW5nIG9uIHJldmJ1bXAKCi0gcmVtb3ZlIHBhdGNoZXMgdGhhdCBubyBs b25nZXIgYXBwbHkKLSBhZGQgcGF0Y2ggdGhhdCByZW1vdmVzIGdpdCByZXZpc2lvbiBmcm9tIGdy YXBocWwKLSBkaXNhYmxlIHN0YXRpYyBsaWJyYXJpZXMgYXMgd2UncmUgcmVtb3ZpbmcgdGhlbSBh ZnRlciBpbnN0YWxsIGFueXdheQotIGFkZCB3aGljaCB0byBob3N0bWFrZWRlcGVuZHMKLSBhZGQg bWlzc2luZyBjaGVja2RlcGVuZHMKLS0tCiAuLi4vdmlydHVvc28vcGF0Y2hlcy9hbHdheXMtaWVl ZS1mbG9hdHMucGF0Y2ggfCAgIDQ2IC0KIHNyY3BrZ3MvdmlydHVvc28vcGF0Y2hlcy9maXgtZ3Jh cGhxbC5wYXRjaCAgICB8ICAgMTEgKwogLi4uL3ZpcnR1b3NvL3BhdGNoZXMvZml4LXV0ZjgtYml0 dGVzdC5wYXRjaCAgIHwgICAxNSAtCiBzcmNwa2dzL3ZpcnR1b3NvL3BhdGNoZXMvbXVzbC1wYWdl X3NpemUucGF0Y2ggfCAgIDM0IC0KIC4uLi9yZW1vdmUtb3BlbnNzbC12ZXJzaW9uLWNoZWNrLnBh dGNoICAgICAgICB8ICAgNDggLQogLi4uL3ZpcnR1b3NvL3BhdGNoZXMvc3NsLWNvbm5lY3Qtc3Rh dGUucGF0Y2ggIHwgICAxNSAtCiBzcmNwa2dzL3ZpcnR1b3NvL3BhdGNoZXMvc3NsMS4xLnBhdGNo ICAgICAgICAgfCAxNDAwIC0tLS0tLS0tLS0tLS0tLS0tCiBzcmNwa2dzL3ZpcnR1b3NvL3BhdGNo ZXMvc3NsMS4xX21vcmUucGF0Y2ggICAgfCAgIDIwIC0KIHNyY3BrZ3MvdmlydHVvc28vcGF0Y2hl cy91c2UtbWtzdGVtcC5wYXRjaCAgICB8ICAgMTggLQogc3JjcGtncy92aXJ0dW9zby90ZW1wbGF0 ZSAgICAgICAgICAgICAgICAgICAgIHwgICAxNiArLQogMTAgZmlsZXMgY2hhbmdlZCwgMTggaW5z ZXJ0aW9ucygrKSwgMTYwNSBkZWxldGlvbnMoLSkKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dz L3ZpcnR1b3NvL3BhdGNoZXMvYWx3YXlzLWllZWUtZmxvYXRzLnBhdGNoCiBjcmVhdGUgbW9kZSAx MDA2NDQgc3JjcGtncy92aXJ0dW9zby9wYXRjaGVzL2ZpeC1ncmFwaHFsLnBhdGNoCiBkZWxldGUg bW9kZSAxMDA2NDQgc3JjcGtncy92aXJ0dW9zby9wYXRjaGVzL2ZpeC11dGY4LWJpdHRlc3QucGF0 Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3ZpcnR1b3NvL3BhdGNoZXMvbXVzbC1wYWdl X3NpemUucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3ZpcnR1b3NvL3BhdGNoZXMv cmVtb3ZlLW9wZW5zc2wtdmVyc2lvbi1jaGVjay5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNy Y3BrZ3MvdmlydHVvc28vcGF0Y2hlcy9zc2wtY29ubmVjdC1zdGF0ZS5wYXRjaAogZGVsZXRlIG1v ZGUgMTAwNjQ0IHNyY3BrZ3MvdmlydHVvc28vcGF0Y2hlcy9zc2wxLjEucGF0Y2gKIGRlbGV0ZSBt b2RlIDEwMDY0NCBzcmNwa2dzL3ZpcnR1b3NvL3BhdGNoZXMvc3NsMS4xX21vcmUucGF0Y2gKIGRl bGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3ZpcnR1b3NvL3BhdGNoZXMvdXNlLW1rc3RlbXAucGF0 Y2gKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3ZpcnR1b3NvL3BhdGNoZXMvYWx3YXlzLWllZWUtZmxv YXRzLnBhdGNoIGIvc3JjcGtncy92aXJ0dW9zby9wYXRjaGVzL2Fsd2F5cy1pZWVlLWZsb2F0cy5w YXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjliNTAzNDIxNGY3Li4wMDAwMDAw MDAwMDAKLS0tIGEvc3JjcGtncy92aXJ0dW9zby9wYXRjaGVzL2Fsd2F5cy1pZWVlLWZsb2F0cy5w YXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ2ICswLDAgQEAKLUZyb20gYmM4ZTk4OTBkZThjOTg2 NmU2ZTFmNDljODM1NWViZWU5MTU1NzllNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206 IHE2NiA8ZGFuaWVsQG9jdGFmb3JnZS5vcmc+Ci1EYXRlOiBXZWQsIDI5IEphbiAyMDIwIDEyOjUw OjQ2ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggMS8yXSBhbHdheXMgdXNlIElFRUUgZmxvYXRzCi0K LVdlIGRvbid0IGJ1aWxkIG9uIGFueSBwbGF0Zm9ybXMgd2hlcmUgdGhpcyBpcyBub3QgdGhlIGNh c2UuCi0KLUZpeGVzIHBsYXRmb3JtcyBmb3Igd2hpY2ggdGhpcyBpcyBub3QgY2hlY2tlZC4KLS0t LQotIGxpYnNyYy9Eay9Ea21hcnNoYWwuYyB8IDIwICstLS0tLS0tLS0tLS0tLS0tLS0tCi0gMSBm aWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxOSBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdp dCBsaWJzcmMvRGsvRGttYXJzaGFsLmMgbGlic3JjL0RrL0RrbWFyc2hhbC5jCi1pbmRleCBkYTE1 YTIxLi5iMmI2YzcxIDEwMDY0NAotLS0tIGEvbGlic3JjL0RrL0RrbWFyc2hhbC5jCi0rKysgYi9s aWJzcmMvRGsvRGttYXJzaGFsLmMKLUBAIC0zMSwyNSArMzEsNyBAQAotICMgaW5jbHVkZSA8bmV0 aW5ldC9pbi5oPgkJCSAvKiBmb3IgbnRvaGwsIGh0b25sICovCi0gI2VuZGlmCi0gCi0tI2lmIGRl ZmluZWQgKGkzODYpIHx8IFwKLS0gICAgZGVmaW5lZCAoX1dJTjY0KSB8fCBcCi0tICAgIGRlZmlu ZWQgKF9NX0lYODYpIHx8IFwKLS0gICAgZGVmaW5lZCAoX01fQUxQSEEpIHx8IFwKLS0gICAgZGVm aW5lZCAobWM2ODAwMCkgfHwgXAotLSAgICBkZWZpbmVkIChzcGFyYykgfHwgXAotLSAgICBkZWZp bmVkIChfX3g4Nl82NCkgfHwgXAotLSAgICBkZWZpbmVkIChfX2FscGhhKSB8fCBcCi0tICAgIGRl ZmluZWQgKF9fcG93ZXJwYykgfHwgXAotLSAgICBkZWZpbmVkIChtaXBzKSB8fCBcCi0tICAgIGRl ZmluZWQgKF9fT1MyX18pIHx8IFwKLS0gICAgZGVmaW5lZCAoX0lCTVIyKQotLSMgZGVmaW5lIF9J RUVFX0ZMT0FUUwotLSNlbGlmIGRlZmluZWQgKE9QTF9TT1VSQ0UpCi0tIyBpbmNsdWRlIDxsaWJy cGMuaD4KLS0jZWxzZQotLSMgaW5jbHVkZSA8cnBjL3R5cGVzLmg+Ci0tIyBpbmNsdWRlIDxycGMv eGRyLmg+Ci0tI2VuZGlmCi0rI2RlZmluZSBfSUVFRV9GTE9BVFMKLSAKLSBtYWNyb19jaGFyX2Z1 bmMgcmVhZHRhYmxlWzI1Nl07Ci0gc2VzX3dyaXRlX2Z1bmMgd3JpdGV0YWJsZVsyNTZdOwotLS0g Ci0yLjI0LjAKLQpkaWZmIC0tZ2l0IGEvc3JjcGtncy92aXJ0dW9zby9wYXRjaGVzL2ZpeC1ncmFw aHFsLnBhdGNoIGIvc3JjcGtncy92aXJ0dW9zby9wYXRjaGVzL2ZpeC1ncmFwaHFsLnBhdGNoCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZjA0YjNlNDVjNDdhCi0tLSAv ZGV2L251bGwKKysrIGIvc3JjcGtncy92aXJ0dW9zby9wYXRjaGVzL2ZpeC1ncmFwaHFsLnBhdGNo CkBAIC0wLDAgKzEsMTEgQEAKKy0tLSBhL2JpbnNyYy9ncmFwaHFsL2dyYXBocWxfcGx1Z2luLmMJ MjAyMy0wMi0wMSAyMToxNDoxOC4xNDg0Nzg1MDAgKzAxMDAKKysrKyBiL2JpbnNyYy9ncmFwaHFs L2dyYXBocWxfcGx1Z2luLmMJMjAyMi0xMC0xOSAxNDo0NDoxNC4wMDAwMDAwMDAgKzAyMDAKK0BA IC0xNzMsNyArMTczLDcgQEAKKyAKKyBzdGF0aWMgdW5pdF92ZXJzaW9uX3QgcGx1Z2luX2dyYXBo cWxfdmVyc2lvbiA9IHsKKyAgICJHcmFwaFFML1NQQVJRTCBCcmlkZ2UiLAkvKiE8IFRpdGxlIG9m IHVuaXQsIGZpbGxlZCBieSB1bml0ICovCistICBHUUxfQlJJREdFX1ZFUiAiICgiIEdJVF9IRUFE X1NUUiAiKSIsCS8qITwgVmVyc2lvbiBudW1iZXIsIGZpbGxlZCBieSB1bml0ICovCisrICBHUUxf QlJJREdFX1ZFUiwJCS8qITwgVmVyc2lvbiBudW1iZXIsIGZpbGxlZCBieSB1bml0ICovCisgICAi T3BlbkxpbmsgU29mdHdhcmUiLAkJLyohPCBQbHVnaW4ncyBkZXZlbG9wZXIsIGZpbGxlZCBieSB1 bml0ICovCisgICAiU3VwcG9ydCBmdW5jdGlvbnMgZm9yIEdyYXBoUUwvU1BBUlFMIEJyaWRnZSIs CS8qITwgQW55IGFkZGl0aW9uYWwgaW5mbywgZmlsbGVkIGJ5IHVuaXQgKi8KKyAgIDAsCQkJCS8q ITwgRXJyb3IgbWVzc2FnZSwgZmlsbGVkIGJ5IHVuaXQgbG9hZGVyICovCmRpZmYgLS1naXQgYS9z cmNwa2dzL3ZpcnR1b3NvL3BhdGNoZXMvZml4LXV0ZjgtYml0dGVzdC5wYXRjaCBiL3NyY3BrZ3Mv dmlydHVvc28vcGF0Y2hlcy9maXgtdXRmOC1iaXR0ZXN0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCA4NWU4NGE2N2VmM2MuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL3Zp cnR1b3NvL3BhdGNoZXMvZml4LXV0ZjgtYml0dGVzdC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0x LDE1ICswLDAgQEAKLVNvdXJjZTogQHB1bGxtb2xsCi1VcHN0cmVhbTogbm8KLVJlYXNvbjogZXhw cmVzc2lvbiByZXF1aXJlcyBiaW5hcnkgQU5ELCBub3QgbG9naWNhbAotCi0tLS0gYS9saWJzcmMv dXRpbC9wY3JlbGliL3BjcmVfc3R1ZHkuYwkyMDE4LTA4LTE2IDAxOjA2OjIxLjAwMDAwMDAwMCAr MDIwMAotKysrIGIvbGlic3JjL3V0aWwvcGNyZWxpYi9wY3JlX3N0dWR5LmMJMjAyMC0wMS0yNyAx NTo0NDo1Ny43MTU4MjEzNTUgKzAxMDAKLUBAIC00MzIsNyArNDMyLDcgQEAKLSAgICAgICAgICAg Zm9yIChjID0gMDsgYyA8IDE2OyBjKyspIHN0YXJ0X2JpdHNbY10gfD0gdGNvZGVbY107Ci0gICAg ICAgICAgIGZvciAoYyA9IDEyODsgYyA8IDI1NjsgYysrKQotICAgICAgICAgICAgIHsKLS0gICAg ICAgICAgICBpZiAoKHRjb2RlW2MvOF0gJiYgKDEgPDwgKGMmNykpKSAhPSAwKQotKyAgICAgICAg ICAgIGlmICgodGNvZGVbYy84XSAmICgxIDw8IChjJjcpKSkgIT0gMCkKLSAgICAgICAgICAgICAg IHsKLSAgICAgICAgICAgICAgIGludCBkID0gKGMgPj4gNikgfCAweGMwOyAgICAgICAgICAgIC8q IFNldCBiaXQgZm9yIHRoaXMgc3RhcnRlciAqLwotICAgICAgICAgICAgICAgc3RhcnRfYml0c1tk LzhdIHw9ICgxIDw8IChkJjcpKTsgICAgLyogYW5kIHRoZW4gc2tpcCBvbiB0byB0aGUgKi8KZGlm ZiAtLWdpdCBhL3NyY3BrZ3MvdmlydHVvc28vcGF0Y2hlcy9tdXNsLXBhZ2Vfc2l6ZS5wYXRjaCBi L3NyY3BrZ3MvdmlydHVvc28vcGF0Y2hlcy9tdXNsLXBhZ2Vfc2l6ZS5wYXRjaApkZWxldGVkIGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggNzNhOWFiZGQwZjM5Li4wMDAwMDAwMDAwMDAKLS0tIGEvc3Jj cGtncy92aXJ0dW9zby9wYXRjaGVzL211c2wtcGFnZV9zaXplLnBhdGNoCisrKyAvZGV2L251bGwK QEAgLTEsMzQgKzAsMCBAQAotRnJvbSAxMjU2Njk4MjFkOTVmZjk4OWJmOTQxNjFiOGUyNDk3YmZj YTlkMGFiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogcTY2IDxkYW5pZWxAb2N0YWZv cmdlLm9yZz4KLURhdGU6IFdlZCwgMjkgSmFuIDIwMjAgMTI6NTQ6MTQgKzAxMDAKLVN1YmplY3Q6 IFtQQVRDSCAyLzJdIFVzZSBtb3JlIHBvcnRhYmxlIHBhZ2Ugc2l6ZSBjaGVjawotCi1UaGlzIGZp eGVzIG11c2wgYnVpbGRzLgotLS0tCi0gbGlic3JjL0RrL3Rsc2YuaCB8IDMgKystCi0gMSBmaWxl IGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGxp YnNyYy9Eay90bHNmLmggbGlic3JjL0RrL3Rsc2YuaAotaW5kZXggZGRjZTQ3OC4uYTk2ODdmNCAx MDA2NDQKLS0tLSBhL2xpYnNyYy9Eay90bHNmLmgKLSsrKyBiL2xpYnNyYy9Eay90bHNmLmgKLUBA IC0yMCw2ICsyMCw3IEBACi0gI2RlZmluZSBfVExTRl9IXwotIAotICNpbmNsdWRlIDxzeXMvdHlw ZXMuaD4KLSsjaW5jbHVkZSA8dW5pc3RkLmg+Ci0gCi0gZXh0ZXJuIHNpemVfdCBpbml0X21lbW9y eV9wb29sKHNpemVfdCwgdm9pZCAqKTsKLSBleHRlcm4gc2l6ZV90IGdldF91c2VkX3NpemUodm9p ZCAqKTsKLUBAIC0xNTksNyArMTYwLDcgQEAgZXh0ZXJuIHZvaWQgdGxzZl9iYXNlX2ZyZWUgKHZv aWQgKiBjLCBzaXplX3Qgc3opOwotIAotICNkZWZpbmUgREVGQVVMVF9BUkVBX1NJWkUgKDEwMjQq MTApCi0gCi0tI2RlZmluZSBQQUdFX1NJWkUgKGdldHBhZ2VzaXplKCkpCi0rI2RlZmluZSBQQUdF X1NJWkUgKChpbnQpc3lzY29uZihfU0NfUEFHRVNJWkUpKQotIAotICNpZm5kZWYgV0lOMzIKLSAj aWZkZWYgVVNFX1BSSU5URgotLS0gCi0yLjI0LjAKLQpkaWZmIC0tZ2l0IGEvc3JjcGtncy92aXJ0 dW9zby9wYXRjaGVzL3JlbW92ZS1vcGVuc3NsLXZlcnNpb24tY2hlY2sucGF0Y2ggYi9zcmNwa2dz L3ZpcnR1b3NvL3BhdGNoZXMvcmVtb3ZlLW9wZW5zc2wtdmVyc2lvbi1jaGVjay5wYXRjaApkZWxl dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzA5NGZiYjZhYjY0Li4wMDAwMDAwMDAwMDAKLS0t IGEvc3JjcGtncy92aXJ0dW9zby9wYXRjaGVzL3JlbW92ZS1vcGVuc3NsLXZlcnNpb24tY2hlY2su cGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0OCArMCwwIEBACi1Tb3VyY2U6IEBwdWxsbW9sbAot VXBzdHJlYW06IG5vCi1SZWFzb246IEVuYWJsZSBzdWJkaXItb2JqZWN0cyBhbmQgc3RyaXAgb3Bl bnNzbCB2ZXJzaW9uIGNoZWNrIHdoaWNoIGZhaWxzIGZvciBsaWJyZXNzbAotCi0tLS0gYS9jb25m aWd1cmUuYWMJMjAxOC0wOC0xNiAwMTowNjoyMS4wMDAwMDAwMDAgKzAyMDAKLSsrKyBiL2NvbmZp Z3VyZS5hYwkyMDIwLTAxLTI3IDE1OjAyOjM2Ljk0NjkyMjY2MyArMDEwMAotQEAgLTU4LDcgKzU4 LDcgQEAKLSBkbmwJQU1fSU5JVF9BVVRPTUFLRShbMS44XSkKLSBkbmwJQU1fSU5JVF9BVVRPTUFL RShbMS45IHRhci11c3Rhcl0pCi0gZG5sCi0tQU1fSU5JVF9BVVRPTUFLRShbMS45IHRhci11c3Rh cl0pCi0rQU1fSU5JVF9BVVRPTUFLRShbMS45IHRhci11c3RhciBzdWJkaXItb2JqZWN0c10pCi0g Ci0gQU1fTUFJTlRBSU5FUl9NT0RFCi0gCi1AQCAtODY3LDMyICs4NjcsNiBAQAotIAk7OwotIGVz YWMKLSAKLS1BQ19NU0dfQ0hFQ0tJTkcoW09wZW5TU0wgdmVyc2lvbl0pCi0tQUNfVFJZX0NPTVBJ TEUoWwotLSNpbmNsdWRlIDxvcGVuc3NsL29wZW5zc2x2Lmg+Ci0tXSwgWwotLSNpZiBPUEVOU1NM X1ZFUlNJT05fTlVNQkVSIDwgMHgwMDkwODAxZkwKLS0jZXJyb3IgT3BlblNTTCB2ZXJzaW9uIHRv byBvbGQgCi0tI2VuZGlmCi0tICAgIF0sWwotLSAgICAgIEFDX01TR19SRVNVTFQoWz49IDAuOS44 ZV0pCi0tICAgIF0sWwotLSAgICAgIEFDX01TR19FUlJPUihbT3BlblNTTCB2ZXJzaW9uIDAuOS44 ZSBvciBncmVhdGVyIGlzIHJlcXVpcmVkLl0pCi0tICAgIF0pCi0tCi0tQUNfTVNHX0NIRUNLSU5H KFtPcGVuU1NMIHZlcnNpb25dKQotLUFDX1RSWV9DT01QSUxFKFsKLS0jaW5jbHVkZSA8b3BlbnNz bC9vcGVuc3Nsdi5oPgotLV0sWwotLSNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSID49IDB4MTAx MDAwMGZMCi0tI2Vycm9yIE9wZW5TU0wgdmVyc2lvbiB0b28gbmV3Ci0tI2VuZGlmCi0tICAgIF0s WwotLSAgICAgIEFDX01TR19SRVNVTFQoWzwgMS4xLjBdKQotLSAgICBdLFsKLS0gICAgICBBQ19N U0dfRVJST1IoW09wZW5TU0wgdmVyc2lvbiAxLjEuMCBvciBncmVhdGVyIGlzIGN1cnJlbnRseSBu b3Qgc3VwcG9ydGVkLl0pCi0tICAgIF0pCi0tCi0gQUNfTVNHX0NIRUNLSU5HKFt1c2FiaWxpdHkg b2YgdGhlIE9wZW5TU0wgaGVhZGVyIGZpbGVzIGFuZCBsaWJyYXJ5IGluICR7b3BlbnNzbF9kaXJ9 XSkKLSBBQ19UUllfUlVOKFsKLSAjaW5jbHVkZSA8b3BlbnNzbC9yc2EuaD4KZGlmZiAtLWdpdCBh L3NyY3BrZ3MvdmlydHVvc28vcGF0Y2hlcy9zc2wtY29ubmVjdC1zdGF0ZS5wYXRjaCBiL3NyY3Br Z3MvdmlydHVvc28vcGF0Y2hlcy9zc2wtY29ubmVjdC1zdGF0ZS5wYXRjaApkZWxldGVkIGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMzk1NjZlM2I2ZGZkLi4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtn cy92aXJ0dW9zby9wYXRjaGVzL3NzbC1jb25uZWN0LXN0YXRlLnBhdGNoCisrKyAvZGV2L251bGwK QEAgLTEsMTUgKzAsMCBAQAotU291cmNlOiBAcHVsbG1vbGwKLVVwc3RyZWFtOiBubwotUmVhc29u OiBVc2UgdGhlIHByb3BlciBpbnRlcmZhY2Ugb2YgbGlicmVzc2wgd2hpY2ggZG9lcyBub3QgZXhw b3NlIHRoZSBpbnRlcm5hbCBzdHJ1Y3R1cmUgb2YgU1NMCi0KLS0tLSBhL2xpYnNyYy9XaS9odHRw LmMJMjAxOC0wOC0xNiAwMTowNjoyMS4wMDAwMDAwMDAgKzAyMDAKLSsrKyBiL2xpYnNyYy9XaS9o dHRwLmMJMjAyMC0wMS0yNyAxNTowOTo1My4yODQ5MDUyNjUgKzAxMDAKLUBAIC05OTQ5LDcgKzk5 NDksNyBAQAotIAkgIGNsaV9zc2xfZ2V0X2Vycm9yX3N0cmluZyAoZXJyX2J1Ziwgc2l6ZW9mIChl cnJfYnVmKSk7Ci0gCSAgc3Fscl9uZXdfZXJyb3IgKCI0MjAwMCIsICIuLjAwMiIsICJTU0xfZG9f aGFuZHNoYWtlIGZhaWxlZCAlcyIsIGVycl9idWYpOwotIAl9Ci0tICAgICAgc3NsLT5zdGF0ZSA9 IFNTTF9TVF9BQ0NFUFQ7Ci0rICAgICAgU1NMX3NldF9hY2NlcHRfc3RhdGUgKHNzbCk7Ci0gICAg ICAgd2hpbGUgKFNTTF9yZW5lZ290aWF0ZV9wZW5kaW5nIChzc2wpICYmIGN0ciA8IDEwMDApCi0g CXsKLSAJICB0aW1lb3V0X3QgdG8gPSB7IDAsIDEwMDAgfTsKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv dmlydHVvc28vcGF0Y2hlcy9zc2wxLjEucGF0Y2ggYi9zcmNwa2dzL3ZpcnR1b3NvL3BhdGNoZXMv c3NsMS4xLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ODg3NDk5NDY0ODAu LjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL3ZpcnR1b3NvL3BhdGNoZXMvc3NsMS4xLnBhdGNo CisrKyAvZGV2L251bGwKQEAgLTEsMTQwMCArMCwwIEBACi1EZXNjcmlwdGlvbjogRml4IEZUQkZT IHdpdGggb3BlbnNzbCAxLjEKLUF1dGhvcjogU2ViYXN0aWFuIEFuZHJ6ZWogU2lld2lvciA8c2Vi YXN0aWFuQGJyZWFrcG9pbnQuY2M+Ci1CdWctRGViaWFuOiBodHRwczovL2J1Z3MuZGViaWFuLm9y Zy84Mjg1OTQKLUZvcndhcmRlZDogaHR0cHM6Ly9naXRodWIuY29tL29wZW5saW5rL3ZpcnR1b3Nv LW9wZW5zb3VyY2UvcHVsbC81ODMKLUxhc3QtVXBkYXRlOiBNbyAxMS4gRmViIDEzOjUwOjE3IENF VCAyMDE5IChieSBBbmRyZWFzIFRpbGxlIDx0aWxsZUBkZWJpYW4ub3JnPikKLQotLS0tCi0KLUZy b20gODIzMDkyY2NjYmQ4ZTJhYjliZmFkNmMzZDNkZjc5MWE3ZmZhNzZmYyBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKLUZyb206IFNlYmFzdGlhbiBBbmRyemVqIFNpZXdpb3IgPHNlYmFzdGlhbkBi cmVha3BvaW50LmNjPgotRGF0ZTogTW9uLCA1IFNlcCAyMDE2IDEwOjQ5OjU0ICswMDAwCi1TdWJq ZWN0OiBbUEFUQ0hdIHZpcnR1b3NvLW9wZW5zb3VyY2U6IGJ1aWxkIGFnYWluc3Qgb3BlbnNzbCAx LjEuMAotCi1TaWduZWQtb2ZmLWJ5OiBTZWJhc3RpYW4gQW5kcnplaiBTaWV3aW9yIDxzZWJhc3Rp YW5AYnJlYWtwb2ludC5jYz4KLS0tLQotIGxpYnNyYy9Eay9Ea2VybmVsLmMgICAgICB8ICAgNiAr LQotIGxpYnNyYy9XaS9iaWZfY3J5cHRvLmMgICB8IDEyMCArKysrKysrKysrLS0tLS0tLS0KLSBs aWJzcmMvV2kvaHR0cC5jICAgICAgICAgfCAgIDIgKy0KLSBsaWJzcmMvV2kveG1sZW5jLmMgICAg ICAgfCAzMTkgKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0K LSBsaWJzcmMvV2kveG1sZW5jLmggICAgICAgfCAxOTMgKysrKysrKysrKysrKysrKysrKysrKysr KystLQotIGxpYnNyYy9XaS94bWxlbmNfYWxnb3MuYyB8IDEzMiArKysrKysrKysrKy0tLS0tLS0t LQotIGxpYnNyYy91dGlsL3NzbGVuZ2luZS5jICB8ICAgNiArLQotIDcgZmlsZXMgY2hhbmdlZCwg NTI0IGluc2VydGlvbnMoKyksIDI1NCBkZWxldGlvbnMoLSkKLQotLS0tIGEvbGlic3JjL1dpL2Jp Zl9jcnlwdG8uYwotKysrIGIvbGlic3JjL1dpL2JpZl9jcnlwdG8uYwotQEAgLTE4MSwyMSArMTgx LDI2IEBAIGJveF9obWFjIChjYWRkcl90IGJveCwgY2FkZHJfdCBrZXksIGludAotICAgdW5zaWdu ZWQgY2hhciB0ZW1wW0VWUF9NQVhfTURfU0laRV07Ci0gICB1bnNpZ25lZCBpbnQgc2l6ZSA9IDA7 Ci0gICBjYWRkcl90IHJlcyA9IE5VTEw7Ci0tICBITUFDX0NUWCBjdHg7Ci0rICBITUFDX0NUWCAq Y3R4OwotICAgY29uc3QgRVZQX01EICptZCA9IEVWUF9zaGExICgpOwotIAotICAgaWYgKGFsZyA9 PSAxKQotICAgICBtZCA9IEVWUF9yaXBlbWQxNjAgKCk7Ci0gCi0tICBITUFDX0luaXQgKCZjdHgs IGtleSwgYm94X2xlbmd0aCAoa2V5KSAtIERWX1NUUklOR1AgKGtleSkgPyAxIDogMCwgbWQpOwot LSAgYm94X2htYWNfMSAoYm94LCAmY3R4KTsKLS0gIEhNQUNfRmluYWwgKCZjdHgsIHRlbXAsICZz aXplKTsKLSsgIGN0eCA9IEhNQUNfQ1RYX25ldygpOwotKyAgaWYgKCFjdHgpCi0rCSAgcmV0dXJu IHJlczsKLSsKLSsgIEhNQUNfSW5pdF9leCAoY3R4LCBrZXksIGJveF9sZW5ndGggKGtleSkgLSBE Vl9TVFJJTkdQIChrZXkpID8gMSA6IDAsIG1kLCBOVUxMKTsKLSsgIGJveF9obWFjXzEgKGJveCwg Y3R4KTsKLSsgIEhNQUNfRmluYWwgKGN0eCwgdGVtcCwgJnNpemUpOwotICAgaWYgKHNpemUpCi0g ICAgIHsKLSAgICAgICByZXMgPSBka19hbGxvY19ib3ggKHNpemUgKyAxLCBEVl9TSE9SVF9TVFJJ TkcpOwotICAgICAgIG1lbWNweSAocmVzLCB0ZW1wLCBzaXplKTsKLSAgICAgICByZXNbc2l6ZV0g PSAwOwotICAgICB9Ci0rICBITUFDX0NUWF9mcmVlKGN0eCk7Ci0gICByZXR1cm4gcmVzOwotIH0K LSAKLUBAIC0zNDcsMTQgKzM1MiwxMiBAQCBhc24xX3BhcnNlX3RvX3htbCAoQklPICogYnAsIHVu c2lnbmVkIGNoCi0gCSAgICB7Ci0gCSAgICAgIGludCBpaTsKLSAKLS0JICAgICAgb3BwID0gb3A7 Ci0tCSAgICAgIGlpID0gZDJpX0FTTjFfQk9PTEVBTiAoTlVMTCwgKGNvbnN0IHVuc2lnbmVkIGNo YXIgKiopJm9wcCwgbGVuICsgaGwpOwotLQkgICAgICBpZiAoaWkgPCAwKQotKwkgICAgICBpZiAo bGVuICsgaGwgPCAxKQotIAkJewotIAkJICBpZiAoQklPX3dyaXRlIChicCwgIkJhZCBib29sZWFu XG4iLCAxMikpCi0gCQkgICAgZ290byBlbmQ7Ci0gCQl9Ci0tCSAgICAgIEJJT19wcmludGYgKGJw LCAiJWQiLCBpaSk7Ci0rCSAgICAgIEJJT19wcmludGYgKGJwLCAiJWQiLCBwWzBdKTsKLSAJICAg IH0KLSAJICBlbHNlIGlmICh0YWcgPT0gVl9BU04xX0JNUFNUUklORykKLSAJICAgIHsKLUBAIC00 MTUsNyArNDE4LDcgQEAgYXNuMV9wYXJzZV90b194bWwgKEJJTyAqIGJwLCB1bnNpZ25lZCBjaAot IAkJfQotIAkgICAgICBpZiAob3MgIT0gTlVMTCkKLSAJCXsKLS0JCSAgTV9BU04xX09DVEVUX1NU UklOR19mcmVlIChvcyk7Ci0rCQkgIEFTTjFfU1RSSU5HX2ZyZWUgKG9zKTsKLSAJCSAgb3MgPSBO VUxMOwotIAkJfQotIAkgICAgfQotQEAgLTQ0OCw3ICs0NTEsNyBAQCBhc24xX3BhcnNlX3RvX3ht bCAoQklPICogYnAsIHVuc2lnbmVkIGNoCi0gCQkgIGlmIChCSU9fd3JpdGUgKGJwLCAiQkFEIElO VEVHRVIiLCAxMSkgPD0gMCkKLSAJCSAgICBnb3RvIGVuZDsKLSAJCX0KLS0JICAgICAgTV9BU04x X0lOVEVHRVJfZnJlZSAoYnMpOwotKwkgICAgICBBU04xX1NUUklOR19mcmVlIChicyk7Ci0gCSAg ICB9Ci0gCSAgZWxzZSBpZiAodGFnID09IFZfQVNOMV9FTlVNRVJBVEVEKQotIAkgICAgewotQEAg LTQ3OSw3ICs0ODIsNyBAQCBhc24xX3BhcnNlX3RvX3htbCAoQklPICogYnAsIHVuc2lnbmVkIGNo Ci0gCQkgIGlmIChCSU9fd3JpdGUgKGJwLCAiQkFEIEVOVU1FUkFURUQiLCAxMSkgPD0gMCkKLSAJ CSAgICBnb3RvIGVuZDsKLSAJCX0KLS0JICAgICAgTV9BU04xX0VOVU1FUkFURURfZnJlZSAoYnMp OwotKwkgICAgICBBU04xX1NUUklOR19mcmVlIChicyk7Ci0gCSAgICB9Ci0gCSAgZWxzZSBpZiAo bGVuID4gMCAmJiBkdW1wKQotIAkgICAgewotQEAgLTUxNSw3ICs1MTgsNyBAQCBlbmQ6Ci0gICBp ZiAobyAhPSBOVUxMKQotICAgICBBU04xX09CSkVDVF9mcmVlIChvKTsKLSAgIGlmIChvcyAhPSBO VUxMKQotLSAgICBNX0FTTjFfT0NURVRfU1RSSU5HX2ZyZWUgKG9zKTsKLSsgICAgQVNOMV9TVFJJ TkdfZnJlZSAob3MpOwotICAgKnBwID0gcDsKLSAgIHJldHVybiAocmV0KTsKLSB9Ci1AQCAtNzIz LDcgKzcyNiw3IEBAIGJpb190b19zdHJzZXMgKEJJTyAqIG91dF9iaW8pCi0gICBpbnQgbGVuID0g QklPX2dldF9tZW1fZGF0YSAob3V0X2JpbywgJnB0cik7Ci0gICBpbnQgdG9fcmVhZCA9IGxlbiwg cmVhZGVkID0gMDsKLSAKLS0gIHRvX2ZyZWUgPSAoKEJVRl9NRU0gKikgb3V0X2Jpby0+cHRyKS0+ ZGF0YTsKLSsgIHRvX2ZyZWUgPSAoKEJVRl9NRU0gKikgQklPX2dldF9kYXRhKG91dF9iaW8pKS0+ ZGF0YTsKLSAgIEJJT19zZXRfZmxhZ3MgKG91dF9iaW8sIEJJT19GTEFHU19NRU1fUkRPTkxZKTsK LSAgIENBVENIX1dSSVRFX0ZBSUwgKHNlcykKLSAgICAgewotQEAgLTczNSw3ICs3MzgsNyBAQCBi aW9fdG9fc3Ryc2VzIChCSU8gKiBvdXRfYmlvKQotICAgICAgIH0gd2hpbGUgKHRvX3JlYWQgPiAw KTsKLSAgICAgfQotICAgRU5EX1dSSVRFX0ZBSUwgKHNlcyk7Ci0tICAoKEJVRl9NRU0gKikgb3V0 X2Jpby0+cHRyKS0+ZGF0YSA9IHRvX2ZyZWU7Ci0rICAoKEJVRl9NRU0gKikgQklPX2dldF9kYXRh KG91dF9iaW8pKS0+ZGF0YSA9IHRvX2ZyZWU7Ci0gICBCSU9fY2xlYXJfZmxhZ3MgKG91dF9iaW8s IEJJT19GTEFHU19NRU1fUkRPTkxZKTsKLSAgIHJldHVybiBzZXM7Ci0gfQotQEAgLTc3MCw3ICs3 NzMsNyBAQCBiaWZfc21pbWVfdmVyaWZ5IChjYWRkcl90ICogcXN0LCBjYWRkcl90Ci0gICBpZiAo RFZfVFlQRV9PRiAobXNnKSA9PSBEVl9TVFJJTkdfU0VTU0lPTikKLSAgICAgewotICAgICAgIGlu X2JpbyA9IHN0cnNlc190b19iaW8gKChka19zZXNzaW9uX3QgKikgbXNnKTsKLS0gICAgICB0b19m cmVlID0gKChCVUZfTUVNICopIGluX2Jpby0+cHRyKS0+ZGF0YTsKLSsgICAgICB0b19mcmVlID0g KChCVUZfTUVNICopIEJJT19nZXRfZGF0YShpbl9iaW8pKS0+ZGF0YTsKLSAgICAgICBCSU9fc2V0 X2ZsYWdzIChpbl9iaW8sIEJJT19GTEFHU19NRU1fUkRPTkxZKTsKLSAgICAgfQotICAgZWxzZQot QEAgLTc4MCw3ICs3ODMsNyBAQCBiaWZfc21pbWVfdmVyaWZ5IChjYWRkcl90ICogcXN0LCBjYWRk cl90Ci0gICAgICAgcDcgPSBTTUlNRV9yZWFkX1BLQ1M3IChpbl9iaW8sICZkYXRhX2Jpbyk7Ci0g ICAgICAgaWYgKHRvX2ZyZWUpCi0gCXsKLS0JICAoKEJVRl9NRU0gKikgaW5fYmlvLT5wdHIpLT5k YXRhID0gdG9fZnJlZTsKLSsJICAoKEJVRl9NRU0gKikgQklPX2dldF9kYXRhKGluX2JpbykpLT5k YXRhID0gdG9fZnJlZTsKLSAJICBCSU9fY2xlYXJfZmxhZ3MgKGluX2JpbywgQklPX0ZMQUdTX01F TV9SRE9OTFkpOwotIAl9Ci0gICAgICAgQklPX2ZyZWUgKGluX2Jpbyk7Ci1AQCAtOTI0LDE2ICs5 MjcsMjAgQEAgYmlmX3NtaW1lX3NpZ24gKGNhZGRyX3QgKiBxc3QsIGNhZGRyX3QgKgotICAgICB9 Ci0gCi0gICBjZXJ0cyA9IHNrX1g1MDlfbmV3X251bGwgKCk7Ci0tICBpZiAoc3RvcmUgJiYgc3Rv cmUtPm9ianMpCi0rCi0rICBpZiAoc3RvcmUgJiYgWDUwOV9TVE9SRV9nZXQwX29iamVjdHMoc3Rv cmUpKQotICAgICB7Ci0tICAgICAgZm9yIChpbnggPSAwOyBpbnggPCBza19YNTA5X09CSkVDVF9u dW0gKHN0b3JlLT5vYmpzKTsgaW54KyspCi0rICAgICAgU1RBQ0tfT0YoWDUwOV9PQkpFQ1QpICpz dG9yZV9vYmpzID0gWDUwOV9TVE9SRV9nZXQwX29iamVjdHMoc3RvcmUpOwotKwotKyAgICAgIGZv ciAoaW54ID0gMDsgaW54IDwgc2tfWDUwOV9PQkpFQ1RfbnVtIChzdG9yZV9vYmpzKTsgaW54Kysp Ci0gCXsKLS0JICBYNTA5X09CSkVDVCAqb2JqID0gc2tfWDUwOV9PQkpFQ1RfdmFsdWUgKHN0b3Jl LT5vYmpzLCBpbngpOwotLQkgIGlmIChvYmotPnR5cGUgPT0gWDUwOV9MVV9YNTA5KQotLQkgICAg c2tfWDUwOV9wdXNoIChjZXJ0cywgWDUwOV9kdXAgKG9iai0+ZGF0YS54NTA5KSk7Ci0rCSAgWDUw OV9PQkpFQ1QgKm9iaiA9IHNrX1g1MDlfT0JKRUNUX3ZhbHVlIChzdG9yZV9vYmpzLCBpbngpOwot KwkgIGlmIChYNTA5X09CSkVDVF9nZXRfdHlwZShvYmopID09IFg1MDlfTFVfWDUwOSkKLSsJICAg IHNrX1g1MDlfcHVzaCAoY2VydHMsIFg1MDlfZHVwIChYNTA5X09CSkVDVF9nZXQwX1g1MDkob2Jq KSkpOwotIAl9Ci0gCi0gICAgIH0KLSsKLSAgIGlmIChzdG9yZSkKLSAgICAgWDUwOV9TVE9SRV9m cmVlIChzdG9yZSk7Ci0gICBpbl9iaW8gPSBCSU9fbmV3X21lbV9idWYgKG1zZywgYm94X2xlbmd0 aCAobXNnKSAtIDEpOwotQEAgLTEwMDUsMTUgKzEwMTIsMTkgQEAgYmlmX3NtaW1lX2VuY3J5cHQg KGNhZGRyX3QgKiBxc3QsIGNhZGRyXwotICAgICBzcWxyX25ld19lcnJvciAoIjQyMDAwIiwgIkNS MDA2IiwgIk5vIHJlY2lwaWVudCBjZXJ0aWZpY2F0ZXMiKTsKLSAKLSAgIGNlcnRzID0gc2tfWDUw OV9uZXdfbnVsbCAoKTsKLS0gIGlmIChzdG9yZSAmJiBzdG9yZS0+b2JqcykKLSsKLSsgIGlmIChz dG9yZSAmJiBYNTA5X1NUT1JFX2dldDBfb2JqZWN0cyhzdG9yZSkpCi0gICAgIHsKLS0gICAgICBm b3IgKGlueCA9IDA7IGlueCA8IHNrX1g1MDlfT0JKRUNUX251bSAoc3RvcmUtPm9ianMpOyBpbngr KykKLSsgICAgICBTVEFDS19PRihYNTA5X09CSkVDVCkgKnN0b3JlX29ianMgPSBYNTA5X1NUT1JF X2dldDBfb2JqZWN0cyhzdG9yZSk7Ci0rCi0rICAgICAgZm9yIChpbnggPSAwOyBpbnggPCBza19Y NTA5X09CSkVDVF9udW0gKHN0b3JlX29ianMpOyBpbngrKykKLSAJewotLQkgIFg1MDlfT0JKRUNU ICpvYmogPSBza19YNTA5X09CSkVDVF92YWx1ZSAoc3RvcmUtPm9ianMsIGlueCk7Ci0tCSAgaWYg KG9iai0+dHlwZSA9PSBYNTA5X0xVX1g1MDkpCi0tCSAgICBza19YNTA5X3B1c2ggKGNlcnRzLCBY NTA5X2R1cCAob2JqLT5kYXRhLng1MDkpKTsKLSsJICBYNTA5X09CSkVDVCAqb2JqID0gc2tfWDUw OV9PQkpFQ1RfdmFsdWUgKHN0b3JlX29ianMsIGlueCk7Ci0rCSAgaWYgKFg1MDlfT0JKRUNUX2dl dF90eXBlKG9iaikgPT0gWDUwOV9MVV9YNTA5KQotKwkgICAgc2tfWDUwOV9wdXNoIChjZXJ0cywg WDUwOV9kdXAgKFg1MDlfT0JKRUNUX2dldDBfWDUwOShvYmopKSk7Ci0gCX0KLSAgICAgfQotKwot ICAgaWYgKHN0b3JlKQotICAgICBYNTA5X1NUT1JFX2ZyZWUgKHN0b3JlKTsKLSAgIGluX2JpbyA9 IEJJT19uZXdfbWVtX2J1ZiAobXNnLCBib3hfbGVuZ3RoIChtc2cpIC0gMSk7Ci1AQCAtMTE4MSw3 ICsxMTkyLDcgQEAgeDUwOV9jZXJ0aWZpY2F0ZV92ZXJpZnlfY2IgKGludCBvaywgWDUwOQotICAg Y2hhciAqb3B0cyA9IChjaGFyICopIFg1MDlfU1RPUkVfQ1RYX2dldF9hcHBfZGF0YSAoY3R4KTsK LSAgIGlmICghb2sgJiYgb3B0cykKLSAgICAgewotLSAgICAgIHN3aXRjaCAoY3R4LT5lcnJvcikK LSsgICAgICBzd2l0Y2ggKFg1MDlfU1RPUkVfQ1RYX2dldF9lcnJvcihjdHgpKQotIAl7Ci0gCWNh c2UgWDUwOV9WX0VSUl9DRVJUX0hBU19FWFBJUkVEOgotIAkgIGlmIChzdHJzdHIgKG9wdHMsICJl eHBpcmVkIikpCi1AQCAtMTI4Nyw3ICsxMjk4LDcgQEAgYmlmX3g1MDlfY2VydGlmaWNhdGVfdmVy aWZ5IChjYWRkcl90ICogcQotICAgaWYgKCFpKQotICAgICB7Ci0gICAgICAgY29uc3QgY2hhciAq ZXJyX3N0cjsKLS0gICAgICBlcnJfc3RyID0gWDUwOV92ZXJpZnlfY2VydF9lcnJvcl9zdHJpbmcg KGNzYy0+ZXJyb3IpOwotKyAgICAgIGVycl9zdHIgPSBYNTA5X3ZlcmlmeV9jZXJ0X2Vycm9yX3N0 cmluZyAoWDUwOV9TVE9SRV9DVFhfZ2V0X2Vycm9yKGNzYykpOwotICAgICAgICplcnJfcmV0ID0g c3J2X21ha2VfbmV3X2Vycm9yICgiMjIwMjMiLCAiQ1IwMTUiLCAiWDUwOSBlcnJvcjogJXMiLCBl cnJfc3RyKTsKLSAgICAgfQotIAotQEAgLTEzMDgsMjAgKzEzMTksMTYgQEAgZXJyX3JldDoKLSAj ZGVmaW5lIFZJUlRfQ0VSVF9FWFQgIjIuMTYuODQwLjEuMTExMy4xIgotIAotIHN0YXRpYyBjYWRk cl90Ci0tQk5fYm94IChCSUdOVU0gKiB4KQotK0JOX2JveCAoY29uc3QgQklHTlVNICp4KQotIHsK LSAgIHNpemVfdCBidWZfbGVuLCBuOwotICAgY2FkZHJfdCBidWY7Ci0gICBidWZfbGVuID0gKHNp emVfdCkgQk5fbnVtX2J5dGVzICh4KTsKLS0gIGlmIChidWZfbGVuIDw9IEJOX0JZVEVTKQotLSAg ICBidWYgPSBib3hfbnVtICgodW5zaWduZWQgbG9uZykgeC0+ZFswXSk7Ci0tICBlbHNlCi0tICAg IHsKLS0gICAgICBidWYgPSBka19hbGxvY19ib3ggKGJ1Zl9sZW4sIERWX0JJTik7Ci0tICAgICAg biA9IEJOX2JuMmJpbiAoeCwgKHVuc2lnbmVkIGNoYXIgKikgYnVmKTsKLS0gICAgICBpZiAobiAh PSBidWZfbGVuKQotLQlHUEZfVDsKLS0gICAgfQotKyAgLyogZGlkIG5vdCBmaWd1cmUgb3V0IHdo ZXJlIGJ1ZiBpcyBmcmVlKCllZCAqLwotKyAgYnVmID0gZGtfYWxsb2NfYm94IChidWZfbGVuLCBE Vl9CSU4pOwotKyAgbiA9IEJOX2JuMmJpbiAoeCwgKHVuc2lnbmVkIGNoYXIgKikgYnVmKTsKLSsg IGlmIChuICE9IGJ1Zl9sZW4pCi0rCSAgR1BGX1Q7Ci0gICByZXR1cm4gYnVmOwotIH0KLSAKLUBA IC0xNDk4LDcgKzE1MDUsNyBAQCBiaWZfZ2V0X2NlcnRpZmljYXRlX2luZm8gKGNhZGRyX3QgKiBx c3QsCi0gCWludCBpOwotIAljaGFyIHRtcFsxMDI0XTsKLSAJY2hhciAqZXh0X29pZCA9IChjaGFy ICopIChCT1hfRUxFTUVOVFMgKGFyZ3MpID4gNCA/IGJpZl9zdHJpbmdfYXJnIChxc3QsIGFyZ3Ms IDQsICJnZXRfY2VydGlmaWNhdGVfaW5mbyIpIDogVklSVF9DRVJUX0VYVCk7Ci0tCVNUQUNLX09G IChYNTA5X0VYVEVOU0lPTikgKiBleHRzID0gY2VydC0+Y2VydF9pbmZvLT5leHRlbnNpb25zOwot Kwljb25zdCBTVEFDS19PRiAoWDUwOV9FWFRFTlNJT04pICogZXh0cyA9IFg1MDlfZ2V0MF9leHRl bnNpb25zKGNlcnQpOwotIAlmb3IgKGkgPSAwOyBpIDwgc2tfWDUwOV9FWFRFTlNJT05fbnVtIChl eHRzKTsgaSsrKQotIAkgIHsKLSAJICAgIFg1MDlfRVhURU5TSU9OICpleCA9IHNrX1g1MDlfRVhU RU5TSU9OX3ZhbHVlIChleHRzLCBpKTsKLUBAIC0xNTEwLDcgKzE1MTcsNyBAQCBiaWZfZ2V0X2Nl cnRpZmljYXRlX2luZm8gKGNhZGRyX3QgKiBxc3QsCi0gCQljaGFyICpkYXRhX3B0cjsKLSAJCUJJ TyAqbWVtID0gQklPX25ldyAoQklPX3NfbWVtICgpKTsKLSAJCWlmICghWDUwOVYzX0VYVF9wcmlu dCAobWVtLCBleCwgMCwgMCkpCi0tCQkgIE1fQVNOMV9PQ1RFVF9TVFJJTkdfcHJpbnQgKG1lbSwg ZXgtPnZhbHVlKTsKLSsJCSAgQVNOMV9TVFJJTkdfcHJpbnQgKG1lbSwgWDUwOV9FWFRFTlNJT05f Z2V0X2RhdGEoZXgpKTsKLSAJCWxlbiA9IEJJT19nZXRfbWVtX2RhdGEgKG1lbSwgJmRhdGFfcHRy KTsKLSAJCWlmIChsZW4gPiAwICYmIGRhdGFfcHRyKQotIAkJICB7Ci1AQCAtMTUzNywxOCArMTU0 NCwyMyBAQCBiaWZfZ2V0X2NlcnRpZmljYXRlX2luZm8gKGNhZGRyX3QgKiBxc3QsCi0gCWlmIChr KQotIAkgIHsKLSAjaWZkZWYgRVZQX1BLRVlfUlNBCi0tCSAgICBpZiAoay0+dHlwZSA9PSBFVlBf UEtFWV9SU0EpCi0rCSAgICBpZiAoRVZQX1BLRVlfaWQoaykgPT0gRVZQX1BLRVlfUlNBKQotIAkg ICAgICB7Ci0tCQlSU0EgKnggPSBrLT5wa2V5LnJzYTsKLS0JCXJldCA9IGxpc3QgKDMsIGJveF9k dl9zaG9ydF9zdHJpbmcgKCJSU0FQdWJsaWNLZXkiKSwgQk5fYm94ICh4LT5lKSwgQk5fYm94ICh4 LT5uKSk7Ci0rCQljb25zdCBCSUdOVU0gKm4sICplOwotKwotKwkJUlNBX2dldDBfa2V5KEVWUF9Q S0VZX2dldDBfUlNBKGspLCAmbiwgJmUsIE5VTEwpOwotKwotKwkJcmV0ID0gbGlzdCAoMywgYm94 X2R2X3Nob3J0X3N0cmluZyAoIlJTQVB1YmxpY0tleSIpLCBCTl9ib3ggKGUpLCBCTl9ib3ggKG4p KTsKLSAJICAgICAgfQotIAkgICAgZWxzZQotICNlbmRpZgotICNpZmRlZiBFVlBfUEtFWV9EU0EK LS0JICAgIGlmIChrLT50eXBlID09IEVWUF9QS0VZX0RTQSkKLSsJICAgIGlmIChFVlBfUEtFWV9p ZChrKSA9PSBFVlBfUEtFWV9EU0EpCi0gCSAgICAgIHsKLS0JCURTQSAqeCA9IGstPnBrZXkuZHNh OwotLQkJcmV0ID0gbGlzdCAoMiwgYm94X2R2X3Nob3J0X3N0cmluZyAoIkRTQVB1YmxpY0tleSIp LCBCTl9ib3ggKHgtPnB1Yl9rZXkpKTsKLSsJCWNvbnN0IEJJR05VTSAqcHViX2tleTsKLSsKLSsJ CURTQV9nZXQwX2tleShFVlBfUEtFWV9nZXQwX0RTQShrKSwgJnB1Yl9rZXksIE5VTEwpOwotKwkJ cmV0ID0gbGlzdCAoMiwgYm94X2R2X3Nob3J0X3N0cmluZyAoIkRTQVB1YmxpY0tleSIpLCBCTl9i b3ggKHB1Yl9rZXkpKTsKLSAJICAgICAgfQotIAkgICAgZWxzZQotICNlbmRpZgotQEAgLTE1Njcs MTMgKzE1NzksMTMgQEAgYmlmX2dldF9jZXJ0aWZpY2F0ZV9pbmZvIChjYWRkcl90ICogcXN0LAot IAlpbnQgbiwgaSwgbGVuOwotIAljaGFyICpzLCAqZGF0YV9wdHI7Ci0gCUJJTyAqbWVtID0gQklP X25ldyAoQklPX3NfbWVtICgpKTsKLS0JZm9yIChpID0gMDsgTlVMTCAhPSBzdWJqICYmIGkgPCBz a19YNTA5X05BTUVfRU5UUllfbnVtKHN1YmotPmVudHJpZXMpOyBpKyspCi0rCWZvciAoaSA9IDA7 IE5VTEwgIT0gc3ViaiAmJiBpIDwgWDUwOV9OQU1FX2VudHJ5X2NvdW50KHN1YmopOyBpKyspCi0g CSAgewotLQkgICAgbmUgPSBza19YNTA5X05BTUVfRU5UUllfdmFsdWUoc3Viai0+ZW50cmllcyxp KTsKLS0JICAgIG4gPSBPQkpfb2JqMm5pZCAobmUtPm9iamVjdCk7Ci0rCSAgICBuZSA9IFg1MDlf TkFNRV9nZXRfZW50cnkoc3ViaiwgaSk7Ci0rCSAgICBuID0gT0JKX29iajJuaWQgKFg1MDlfTkFN RV9FTlRSWV9nZXRfb2JqZWN0KG5lKSk7Ci0gCSAgICBpZiAoKG4gPT0gTklEX3VuZGVmKSB8fCAo KHMgPSAoY2hhciAqKSBPQkpfbmlkMnNuIChuKSkgPT0gTlVMTCkpCi0gCSAgICAgIHsKLS0JCWky dF9BU04xX09CSkVDVCAoYnVmZmVyLCBzaXplb2YgKGJ1ZmZlciksIG5lLT5vYmplY3QpOwotKwkJ aTJ0X0FTTjFfT0JKRUNUIChidWZmZXIsIHNpemVvZiAoYnVmZmVyKSwgWDUwOV9OQU1FX0VOVFJZ X2dldF9vYmplY3QobmUpKTsKLSAJCXMgPSBidWZmZXI7Ci0gCSAgICAgIH0KLSAJICAgIGlmICgh c3RyY21wIChzLCBhdHRyKSkKLUBAIC0xNTgyLDkgKzE1OTQsMTAgQEAgYmlmX2dldF9jZXJ0aWZp Y2F0ZV9pbmZvIChjYWRkcl90ICogcXN0LAotIAkJYnJlYWs7Ci0gCSAgICAgIH0KLSAJICB9Ci0r Ci0gCWlmIChuZV9yZXQpCi0gCSAgewotLQkgICAgQVNOMV9TVFJJTkdfcHJpbnQgKG1lbSwgbmVf cmV0LT52YWx1ZSk7Ci0rCSAgICBBU04xX1NUUklOR19wcmludCAobWVtLCBYNTA5X05BTUVfRU5U UllfZ2V0X2RhdGEobmVfcmV0KSk7Ci0gCSAgICBsZW4gPSBCSU9fZ2V0X21lbV9kYXRhIChtZW0s ICZkYXRhX3B0cik7Ci0gCSAgICBpZiAobGVuID4gMCAmJiBkYXRhX3B0cikKLSAJICAgICAgewot QEAgLTE2MDUsMTcgKzE2MTgsMTcgQEAgYmlmX2dldF9jZXJ0aWZpY2F0ZV9pbmZvIChjYWRkcl90 ICogcXN0LAotIAlka19zZXRfdCBzZXQgPSBOVUxMOwotIAljYWRkcl90IHZhbDsKLSAJQklPICpt ZW0gPSBCSU9fbmV3IChCSU9fc19tZW0gKCkpOwotLQlmb3IgKGkgPSAwOyBOVUxMICE9IHN1Ymog JiYgaSA8IHNrX1g1MDlfTkFNRV9FTlRSWV9udW0oc3Viai0+ZW50cmllcyk7IGkrKykKLSsJZm9y IChpID0gMDsgTlVMTCAhPSBzdWJqICYmIGkgPCBYNTA5X05BTUVfZW50cnlfY291bnQoc3Viaik7 IGkrKykKLSAJICB7Ci0gCSAgICB2YWwgPSBOVUxMOwotLQkgICAgbmUgPSBza19YNTA5X05BTUVf RU5UUllfdmFsdWUoc3Viai0+ZW50cmllcyxpKTsKLS0JICAgIG4gPSBPQkpfb2JqMm5pZCAobmUt Pm9iamVjdCk7Ci0rCSAgICBuZSA9IFg1MDlfTkFNRV9nZXRfZW50cnkoc3ViaiwgaSk7Ci0rCSAg ICBuID0gT0JKX29iajJuaWQgKFg1MDlfTkFNRV9FTlRSWV9nZXRfb2JqZWN0KG5lKSk7Ci0gCSAg ICBpZiAoKG4gPT0gTklEX3VuZGVmKSB8fCAoKHMgPSAoY2hhciAqKSBPQkpfbmlkMnNuIChuKSkg PT0gTlVMTCkpCi0gCSAgICAgIHsKLS0JCWkydF9BU04xX09CSkVDVCAoYnVmZmVyLCBzaXplb2Yg KGJ1ZmZlciksIG5lLT5vYmplY3QpOwotKwkJaTJ0X0FTTjFfT0JKRUNUIChidWZmZXIsIHNpemVv ZiAoYnVmZmVyKSwgWDUwOV9OQU1FX0VOVFJZX2dldF9vYmplY3QobmUpKTsKLSAJCXMgPSBidWZm ZXI7Ci0gCSAgICAgIH0KLS0JICAgIEFTTjFfU1RSSU5HX3ByaW50IChtZW0sIG5lLT52YWx1ZSk7 Ci0rCSAgICBBU04xX1NUUklOR19wcmludCAobWVtLCBYNTA5X05BTUVfRU5UUllfZ2V0X2RhdGEo bmUpKTsKLSAJICAgIGxlbiA9IEJJT19nZXRfbWVtX2RhdGEgKG1lbSwgJmRhdGFfcHRyKTsKLSAJ ICAgIGlmIChsZW4gPiAwICYmIGRhdGFfcHRyKQotIAkgICAgICB7Ci1AQCAtMTYyOSwxOCArMTY0 MiwyMiBAQCBiaWZfZ2V0X2NlcnRpZmljYXRlX2luZm8gKGNhZGRyX3QgKiBxc3QsCi0gCSAgfQot IAlCSU9fZnJlZSAobWVtKTsKLSAJcmV0ID0gbGlzdF90b19hcnJheSAoZGtfc2V0X25yZXZlcnNl IChzZXQpKTsKLSsKLSAJYnJlYWs7Ci0gICAgICAgfQotICAgICBjYXNlIDEyOgotICAgICAgIHsK LSAJY29uc3QgdW5zaWduZWQgY2hhciAqczsKLSAJaW50IGksIG47Ci0tCWNvbnN0IEFTTjFfU1RS SU5HICpzaWcgPSBjZXJ0LT5zaWduYXR1cmU7Ci0tCVg1MDlfQUxHT1IgKnNpZ2FsZyA9IGNlcnQt PnNpZ19hbGc7Ci0rCWNvbnN0IEFTTjFfU1RSSU5HICpzaWc7Ci0rCWNvbnN0IFg1MDlfQUxHT1Ig KnNpZ2FsZzsKLSsJY29uc3QgQVNOMV9PQkpFQ1QgKnNpZ19hbGdfYWxnb3JpdGhtOwotIAljaGFy IGJ1Zls4MF07Ci0gCWNhZGRyX3QgdmFsOwotIAotLSAgICAgICAgaTJ0X0FTTjFfT0JKRUNUKGJ1 ZixzaXplb2YgKGJ1ZiksIHNpZ2FsZy0+YWxnb3JpdGhtKTsKLSsJWDUwOV9nZXQwX3NpZ25hdHVy ZSgmc2lnLCAmc2lnYWxnLCBjZXJ0KTsKLSsJWDUwOV9BTEdPUl9nZXQwKCZzaWdfYWxnX2FsZ29y aXRobSwgTlVMTCwgTlVMTCwgc2lnYWxnKTsKLSsJaTJ0X0FTTjFfT0JKRUNUKGJ1ZixzaXplb2Yg KGJ1ZiksIHNpZ19hbGdfYWxnb3JpdGhtKTsKLSAKLSAJbiA9IHNpZy0+bGVuZ3RoOwotIAlzID0g c2lnLT5kYXRhOwotQEAgLTE2NjAsMTEgKzE2NzcsMTEgQEAgYmlmX2dldF9jZXJ0aWZpY2F0ZV9p bmZvIChjYWRkcl90ICogcXN0LAotIAlpZiAoaykKLSAJICB7Ci0gI2lmZGVmIEVWUF9QS0VZX1JT QQotLQkgICAgaWYgKGstPnR5cGUgPT0gRVZQX1BLRVlfUlNBKQotKwkgICAgaWYgKEVWUF9QS0VZ X2lkKGspID09IEVWUF9QS0VZX1JTQSkKLSAJICAgICAgewotIAkJY2hhciAqZGF0YV9wdHI7Ci0g CQlpbnQgbGVuOwotLQkJUlNBICp4ID0gay0+cGtleS5yc2E7Ci0rCQlSU0EgKnggPSBFVlBfUEtF WV9nZXQwX1JTQShrKTsKLSAJCWIgPSBCSU9fbmV3IChCSU9fc19tZW0oKSk7Ci0gCQlpMmRfUlNB X1BVQktFWV9iaW8gKGIsIHgpOwotIAkJbGVuID0gQklPX2dldF9tZW1fZGF0YSAoYiwgJmRhdGFf cHRyKTsKLS0tLSBhL2xpYnNyYy9XaS94bWxlbmMuYwotKysrIGIvbGlic3JjL1dpL3htbGVuYy5j Ci1AQCAtMTIxNSwzNiArMTIxNSw0NSBAQCB2b2lkIHhlbmNfa2V5X3JlbW92ZSAoeGVuY19rZXlf dCAqIGtleSwKLSB9Ci0gCi0gCi0tc3RhdGljIHZvaWQKLS1nZW5yc2FfY2IoaW50IHAsIGludCBu LCB2b2lkICphcmcpCi0tewotLSNpZmRlZiBMSU5UCi0tICBwPW47Ci0tI2VuZGlmCi0tfQotLQot IGludAotIF9feGVuY19rZXlfcnNhX2luaXQgKGNoYXIgKm5hbWUpCi0gewotICAgUlNBICpyc2Eg PSBOVUxMOwotLSAgaW50IG51bT0xMDI0OwotLSAgdW5zaWduZWQgbG9uZyBmND1SU0FfRjQ7Ci0r ICBCSUdOVU0gKmJuID0gTlVMTDsKLSAgIGludCByOwotKwotICAgeGVuY19rZXlfdCAqIHBrZXkg PSB4ZW5jX2dldF9rZXlfYnlfbmFtZSAobmFtZSwgMSk7Ci0gICBpZiAoTlVMTCA9PSBwa2V5KQot ICAgICBTUUxSX05FV19LRVlfRVJST1IgKG5hbWUpOwotIAotLSAgcnNhPVJTQV9nZW5lcmF0ZV9r ZXkobnVtLGY0LGdlbnJzYV9jYixOVUxMKTsKLSsgIHJzYSA9IFJTQV9uZXcoKTsKLSsgIGlmICgh cnNhKQotKwkgIGdvdG8gb3V0OwotKyAgYm4gPSBCTl9uZXcoKTsKLSsgIGlmICghYm4pCi0rCSAg Z290byBvdXQ7Ci0rICBpZiAoIUJOX3NldF93b3JkKGJuLCBSU0FfRjQpKQotKwkgIGdvdG8gb3V0 OwotKwotKyAgaWYgKCFSU0FfZ2VuZXJhdGVfa2V5X2V4KHJzYSwgMTAyNCwgYm4sIE5VTEwpKQot KwkgIGdvdG8gb3V0OwotKwotICAgciA9IFJTQV9jaGVja19rZXkocnNhKTsKLSsgIGlmIChyICE9 IDEpCi0rCSAgZ290byBvdXQ7Ci0gICBwa2V5LT5raS5yc2EucGFkID0gUlNBX1BLQ1MxX1BBRERJ Tkc7Ci0tICBpZiAocnNhID09IE5VTEwpCi0tICAgIHsKLS0gICAgICBzcWxyX25ld19lcnJvciAo IjQyMDAwIiwgIlhFTkMwNiIsCi0tCQkgICAgIlJTQSBwYXJhbWV0ZXJzIGdlbmVyYXRpb24gZXJy b3IiKTsKLS0gICAgfQotICAgcGtleS0+eGVrX3JzYSA9IHJzYTsKLSAgIHBrZXktPnhla19wcml2 YXRlX3JzYSA9IHJzYTsKLSsgIEJOX2ZyZWUoYm4pOwotICAgcmV0dXJuIDA7Ci0rb3V0OgotKyAg aWYgKGJuKQotKwkgIEJOX2ZyZWUoYm4pOwotKyAgaWYgKHJzYSkKLSsJICBSU0FfZnJlZShyc2Ep OwotKyAgc3Fscl9uZXdfZXJyb3IgKCI0MjAwMCIsICJYRU5DMDYiLAotKwkJICAiUlNBIHBhcmFt ZXRlcnMgZ2VuZXJhdGlvbiBlcnJvciIpOwotKyAgcmV0dXJuIC0xOwotIH0KLSAKLSAKLUBAIC0x NDU1LDE5ICsxNDY0LDE5IEBAIHhlbmNfa2V5X3QgKiB4ZW5jX2tleV9jcmVhdGVfZnJvbV94NTA5 X2MKLSAKLSAgIGlmIChwa2V5KQotICAgICB7Ci0tICAgICAgc3dpdGNoIChFVlBfUEtFWV90eXBl IChwa2V5LT50eXBlKSkKLSsgICAgICBzd2l0Y2ggKEVWUF9QS0VZX3R5cGUgKEVWUF9QS0VZX2lk KHBrZXkpKSkKLSAJewotIAljYXNlIEVWUF9QS0VZX0RTQToKLSAJICBzaWduX2FsZ29uYW1lID0g RFNJR19EU0FfU0hBMV9BTEdPOwotIAkgIGVuY19hbGdvbmFtZSA9IFhFTkNfRFNBX0FMR087Ci0t CSAgZHNhID0gcGtleS0+cGtleS5kc2E7Ci0tCSAgcHJpdmF0ZV9kc2EgPSBwcml2YXRlX2tleSA/ IHByaXZhdGVfa2V5LT5wa2V5LmRzYSA6IDA7Ci0rCSAgZHNhID0gRVZQX1BLRVlfZ2V0MF9EU0Eo cGtleSk7Ci0rCSAgcHJpdmF0ZV9kc2EgPSBwcml2YXRlX2tleSA/IEVWUF9QS0VZX2dldDBfRFNB KHByaXZhdGVfa2V5KSA6IDA7Ci0gCSAgYnJlYWs7Ci0gCWNhc2UgRVZQX1BLRVlfUlNBOgotIAkg IHNpZ25fYWxnb25hbWUgPSBEU0lHX1JTQV9TSEExX0FMR087Ci0gCSAgZW5jX2FsZ29uYW1lID0g WEVOQ19SU0FfQUxHTzsKLS0JICByc2EgPSBwa2V5LT5wa2V5LnJzYTsKLS0JICBwcml2YXRlX3Jz YSA9IHByaXZhdGVfa2V5ID8gcHJpdmF0ZV9rZXktPnBrZXkucnNhIDogMDsKLSsJICByc2EgPSBF VlBfUEtFWV9nZXQwX1JTQShwa2V5KTsKLSsJICBwcml2YXRlX3JzYSA9IHByaXZhdGVfa2V5ID8g RVZQX1BLRVlfZ2V0MF9SU0EocHJpdmF0ZV9rZXkpIDogMDsKLSAJICBicmVhazsKLSAJZGVmYXVs dDoKLSAJICBnb3RvIGZpbmlzaDsKLUBAIC0xNTE2LDEzICsxNTI1LDYgQEAgeGVuY19rZXlfdCAq IHhlbmNfa2V5X2NyZWF0ZV9mcm9tX3g1MDlfYwotICAgcmV0dXJuIGs7Ci0gfQotIAotLXN0YXRp YyB2b2lkIGRoX2NiKGludCBwLCBpbnQgbiwgdm9pZCAqYXJnKQotLXsKLS0jaWZkZWYgTElOVAot LSAgcD1uOwotLSNlbmRpZgotLX0KLS0KLSBzdGF0aWMgLyp4ZW5jX2tleV9EU0FfY3JlYXRlICov Ci0gY2FkZHJfdCBiaWZfeGVuY19rZXlfZHNhX2NyZWF0ZSAoY2FkZHJfdCAqIHFzdCwgY2FkZHJf dCAqIGVycl9yLCBzdGF0ZV9zbG90X3QgKiogYXJncykKLSB7Ci1AQCAtMTU4OCwxNSArMTU5MCwy MSBAQCBjYWRkcl90IGJpZl94ZW5jX2tleV9ESF9jcmVhdGUgKGNhZGRyX3QKLSAgICAgICBkaCA9 IERIX25ldyAoKTsKLSAgICAgICBibl9wID0gQk5fYmluMmJuICgodW5zaWduZWQgY2hhciAqKW1v ZCwgcF9sZW4sIE5VTEwpOwotICAgICAgIGJuX2cgPSBCTl9iaW4yYm4gKGdfYmluLCAxLCBOVUxM KTsKLS0gICAgICBkaC0+cCA9IGJuX3A7Ci0tICAgICAgZGgtPmcgPSBibl9nOwotKyAgICAgIGlm IChkaCkKLSsJICAgICAgREhfc2V0MF9wcWcoZGgsIGJuX3AsIE5VTEwsIGJuX2cpOwotIAotICAg ICAgIGRrX2ZyZWVfYm94IChtb2RfYjY0KTsKLSAgICAgICBka19mcmVlX2JveCAobW9kKTsKLSAg ICAgfQotICAgZWxzZQotICAgICB7Ci0tICAgICAgZGggPSBESF9nZW5lcmF0ZV9wYXJhbWV0ZXJz IChudW0sIGcsIGRoX2NiLCBOVUxMKTsKLSsgICAgICBkaCA9IERIX25ldygpOwotKyAgICAgIGlm IChkaCkgewotKwkgICAgICBpZiAoIURIX2dlbmVyYXRlX3BhcmFtZXRlcnNfZXgoZGgsIG51bSwg ZywgTlVMTCkpIHsKLSsJCSAgICAgIERIX2ZyZWUoZGgpOwotKwkJICAgICAgZGggPSBOVUxMOwot KwkgICAgICB9Ci0rICAgICAgfQotICAgICB9Ci0gICBpZiAoIWRoKQotICAgICB7Ci1AQCAtMTYy Niw3ICsxNjM0LDcgQEAgY2FkZHJfdCBiaWZfeGVuY19ESF9nZXRfcGFyYW1zIChjYWRkcl90Ci0g ICBpbnQgbiwgbGVuOwotICAgY2FkZHJfdCBidWYgPSBOVUxMLCByZXQsIGI2NDsKLSAgIERIICpk aDsKLS0gIEJJR05VTSAqbnVtOwotKyAgY29uc3QgQklHTlVNICpudW07Ci0gCi0gICBtdXRleF9l bnRlciAoeGVuY19rZXlzX210eCk7Ci0gICBrZXkgPSB4ZW5jX2dldF9rZXlfYnlfbmFtZSAobmFt ZSwgMCk7Ci1AQCAtMTY0MSwxOSArMTY0OSwxOSBAQCBjYWRkcl90IGJpZl94ZW5jX0RIX2dldF9w YXJhbXMgKGNhZGRyX3QKLSAgIHN3aXRjaCAocGFyYW0pCi0gICAgIHsKLSAgIAljYXNlIDE6Ci0t CSBudW0gPSBkaC0+cDsKLSsJIERIX2dldDBfcHFnKGRoLCAmbnVtLCBOVUxMLCBOVUxMKTsKLSAJ IGJyZWFrOwotIAljYXNlIDI6Ci0tCSBudW0gPSBkaC0+ZzsKLSsJIERIX2dldDBfcHFnKGRoLCBO VUxMLCBOVUxMLCAmbnVtKTsKLSAJIGJyZWFrOwotIAljYXNlIDM6Ci0tCSBudW0gPSBkaC0+cHVi X2tleTsKLSsJIERIX2dldDBfa2V5KGRoLCAmbnVtLCBOVUxMKTsKLSAJIGJyZWFrOwotIAljYXNl IDQ6Ci0tCSBudW0gPSBkaC0+cHJpdl9rZXk7Ci0rCSBESF9nZXQwX2tleShkaCwgTlVMTCwgJm51 bSk7Ci0gCSBicmVhazsKLSAJZGVmYXVsdDoKLS0JIG51bSA9IGRoLT5wdWJfa2V5OwotKwkgREhf Z2V0MF9rZXkoZGgsICZudW0sIE5VTEwpOwotICAgICB9Ci0gCi0gICBidWZfbGVuID0gKHNpemVf dClCTl9udW1fYnl0ZXMobnVtKTsKLUBAIC0xODExLDcgKzE4MTksMTUgQEAgY2FkZHJfdCBiaWZf eGVuY19rZXlfcnNhX2NyZWF0ZSAoY2FkZHJfdAotICAgeGVuY19rZXlfdCAqIGs7Ci0gICBjYWRk cl90IG5hbWUgPSBiaWZfc3RyaW5nX2FyZyAocXN0LCBhcmdzLCAwLCAieGVuY19rZXlfUlNBX2Ny ZWF0ZSIpOwotICAgaW50IG51bSA9IChpbnQpIGJpZl9sb25nX2FyZyAocXN0LCBhcmdzLCAxLCAi eGVuY19rZXlfUlNBX2NyZWF0ZSIpOwotLSAgUlNBICpyc2EgPSBOVUxMOwotKyAgUlNBICpyc2E7 Ci0rICBCSUdOVU0gKmJuOwotKwotKyAgcnNhID0gUlNBX25ldygpOwotKyAgYm4gPSBCTl9uZXco KTsKLSsgIGlmICghcnNhIHx8ICFibikKLSsJZ290byBvdXQ7Ci0rICBpZiAoIUJOX3NldF93b3Jk KGJuLCBSU0FfRjQpKQotKwlnb3RvIG91dDsKLSAKLSAgIG11dGV4X2VudGVyICh4ZW5jX2tleXNf bXR4KTsKLSAgIGlmIChOVUxMID09IChrID0geGVuY19rZXlfY3JlYXRlIChuYW1lLCBYRU5DX1JT QV9BTEdPICwgRFNJR19SU0FfU0hBMV9BTEdPLCAwKSkpCi1AQCAtMTgyMCwxMiArMTgzNiwxMSBA QCBjYWRkcl90IGJpZl94ZW5jX2tleV9yc2FfY3JlYXRlIChjYWRkcl90Ci0gICAgICAgU1FMUl9O RVdfS0VZX0VYSVNUX0VSUk9SIChuYW1lKTsKLSAgICAgfQotIAotLSAgcnNhID0gUlNBX2dlbmVy YXRlX2tleSAobnVtLCBSU0FfRjQsIE5VTEwsIE5VTEwpOwotLQotLSAgaWYgKHJzYSA9PSBOVUxM KQotLSAgICB7Ci0tICAgICAgc3Fscl9uZXdfZXJyb3IgKCI0MjAwMCIsICJYRU5DMDYiLCAiUlNB IGdlbmVyYXRpb24gZXJyb3IiKTsKLS0gICAgfQotKyAgaWYgKCFSU0FfZ2VuZXJhdGVfa2V5X2V4 IChyc2EsIG51bSwgYm4sIE5VTEwpKSB7Ci0rCSAgbXV0ZXhfbGVhdmUgKHhlbmNfa2V5c19tdHgp OwotKwkgIGdvdG8gb3V0OwotKyAgfQotKyAgQk5fZnJlZShibik7Ci0gCi0gICBrLT54ZWtfcnNh ID0gUlNBUHVibGljS2V5X2R1cCAocnNhKTsKLSAgIGstPnhla19wcml2YXRlX3JzYSA9IHJzYTsK LUBAIC0xODM5LDYgKzE4NTQsMTMgQEAgY2FkZHJfdCBiaWZfeGVuY19rZXlfcnNhX2NyZWF0ZSAo Y2FkZHJfdAotIAotICAgbXV0ZXhfbGVhdmUgKHhlbmNfa2V5c19tdHgpOwotICAgcmV0dXJuIE5V TEw7Ci0rb3V0OgotKyAgaWYgKGJuKQotKwkgIEJOX2ZyZWUoYm4pOwotKyAgaWYgKHJzYSkKLSsJ ICBSU0FfZnJlZShyc2EpOwotKyAgc3Fscl9uZXdfZXJyb3IgKCI0MjAwMCIsICJYRU5DMDYiLCAi UlNBIGdlbmVyYXRpb24gZXJyb3IiKTsKLSsgIHJldHVybiBOVUxMOwotIH0KLSAKLSB4ZW5jX2tl eV90ICoKLUBAIC0yMDM0LDcgKzIwNTYsMTMgQEAgaW50IF9feGVuY19rZXlfZHNhX2luaXQgKGNo YXIgKm5hbWUsIGludAotICAgICBTUUxSX05FV19LRVlfRVJST1IgKG5hbWUpOwotIAotICAgUkFO RF9wb2xsICgpOwotLSAgZHNhID0gRFNBX2dlbmVyYXRlX3BhcmFtZXRlcnMobnVtLCBOVUxMLCAw LCBOVUxMLCBOVUxMLCBkaF9jYiwgTlVMTCk7Ci0rICBkc2EgPSBEU0FfbmV3KCk7Ci0rICBpZiAo ZHNhKSB7Ci0rCSAgaWYgKCFEU0FfZ2VuZXJhdGVfcGFyYW1ldGVyc19leChkc2EsIG51bSwgTlVM TCwgMCwgTlVMTCwgTlVMTCwgTlVMTCkpIHsKLSsJCSAgRFNBX2ZyZWUoZHNhKTsKLSsJCSAgZHNh ID0gTlVMTDsKLSsJICB9Ci0rICB9Ci0gICBpZiAoZHNhID09IE5VTEwpCi0gICAgIHsKLSAgICAg ICBzcWxyX25ld19lcnJvciAoIjQyMDAwIiwgIlhFTkMxMSIsCi1AQCAtMjA1OCw3ICsyMDg2LDEz IEBAIGludCBfX3hlbmNfa2V5X2RoX2luaXQgKGNoYXIgKm5hbWUsIGludAotICAgaWYgKE5VTEwg PT0gcGtleSkKLSAgICAgU1FMUl9ORVdfS0VZX0VSUk9SIChuYW1lKTsKLSAKLS0gIGRoID0gREhf Z2VuZXJhdGVfcGFyYW1ldGVycyAobnVtLCBnLCBkaF9jYiwgTlVMTCk7Ci0rICBkaCA9IERIX25l dygpOwotKyAgaWYgKGRoKSB7Ci0rCSAgaWYgKCFESF9nZW5lcmF0ZV9wYXJhbWV0ZXJzX2V4KGRo LCBudW0sIGcsIE5VTEwpKSB7Ci0rCQkgIERIX2ZyZWUoZGgpOwotKwkJICBkaCA9IE5VTEw7Ci0r CSAgfQotKyAgfQotICAgaWYgKCFkaCkKLSAgICAgewotICAgICAgIHNxbHJfbmV3X2Vycm9yICgi NDIwMDAiLCAiWEVOQzExIiwKLUBAIC0yMjgwLDEyICsyMzE0LDEyIEBAIGJpZl94ZW5jX2tleV9y c2FfcmVhZCAoY2FkZHJfdCAqIHFzdCwgY2EKLSAgICAgewotICAgICAgIGluID0gQklPX25ld19t ZW1fYnVmIChrZXlfYmFzZTY0LCBsZW4pOwotICAgICAgIHBrZXkgPSBkMmlfUFVCS0VZX2JpbyAo aW4sIE5VTEwpOwotLSAgICAgIGlmIChwa2V5ICYmIHBrZXktPnR5cGUgPT0gRVZQX1BLRVlfUlNB KQotLQlwID0gcGtleS0+cGtleS5yc2E7Ci0rICAgICAgaWYgKHBrZXkgJiYgRVZQX1BLRVlfaWQo cGtleSkgPT0gRVZQX1BLRVlfUlNBKQotKwlwID0gRVZQX1BLRVlfZ2V0MF9SU0EocGtleSk7Ci0g ICAgICAgQklPX3Jlc2V0IChpbik7Ci0gICAgICAgcGtrZXkgPSBkMmlfUHJpdmF0ZUtleV9iaW8g KGluLCBOVUxMKTsKLS0gICAgICBpZiAocGtrZXkgJiYgcGtrZXktPnR5cGUgPT0gRVZQX1BLRVlf UlNBKQotLQlyID0gcGtrZXktPnBrZXkucnNhOwotKyAgICAgIGlmIChwa2tleSAmJiBFVlBfUEtF WV9pZChwa2tleSkgPT0gRVZQX1BLRVlfUlNBKQotKwlyID0gRVZQX1BLRVlfZ2V0MF9SU0EocGtr ZXkpOwotICAgICAgIEJJT19mcmVlIChpbik7Ci0gICAgIH0KLSAgIGVsc2UKLUBAIC0yMzA0LDkg KzIzMzgsMTEgQEAgYmlmX3hlbmNfa2V5X3JzYV9yZWFkIChjYWRkcl90ICogcXN0LCBjYQotIAot ICAgaWYgKCFwKQotICAgICB7Ci0rICAgICAgY29uc3QgQklHTlVNICpuLCAqZTsKLSsKLSsgICAg ICBSU0FfZ2V0MF9rZXkociwgJm4sICZlLCBOVUxMKTsKLSAgICAgICBwID0gUlNBX25ldyAoKTsK LS0gICAgICBwLT5uID0gQk5fZHVwIChyLT5uKTsKLS0gICAgICBwLT5lID0gQk5fZHVwIChyLT5l KTsKLSsgICAgICBSU0Ffc2V0MF9rZXkocCwgQk5fZHVwKG4pLCBCTl9kdXAoZSksIE5VTEwpOwot ICAgICB9Ci0gCi0gICBtdXRleF9lbnRlciAoeGVuY19rZXlzX210eCk7Ci1AQCAtMjM1NSwxNCAr MjM5MSwxMyBAQCBiaWZfeGVuY19rZXlfcnNhX2NvbnN0cnVjdCAoY2FkZHJfdCAqIHFzCi0gICBw ID0gUlNBX25ldyAoKTsKLSAgIG4gPSBCTl9iaW4yYm4gKCh1bnNpZ25lZCBjaGFyICopIG1vZCwg Ym94X2xlbmd0aCAobW9kKSAtIDEsIE5VTEwpOwotICAgZSA9IEJOX2JpbjJibiAoKHVuc2lnbmVk IGNoYXIgKikgZXhwLCBib3hfbGVuZ3RoIChleHApIC0gMSwgTlVMTCk7Ci0tICBwLT5uID0gbjsK LS0gIHAtPmUgPSBlOwotKyAgUlNBX3NldDBfa2V5KHAsIG4sIGUsIE5VTEwpOwotICAgaWYgKHBl eHApCi0gICAgIHsKLSAgICAgICBwayA9IFJTQV9uZXcgKCk7Ci0tICAgICAgcGstPmQgPSBCTl9i aW4yYm4gKCh1bnNpZ25lZCBjaGFyICopIHBleHAsIGJveF9sZW5ndGggKHBleHApIC0gMSwgTlVM TCk7Ci0tICAgICAgcGstPm4gPSBCTl9kdXAgKG4pOwotLSAgICAgIHBrLT5lID0gQk5fZHVwIChl KTsKLSsgICAgICBSU0Ffc2V0MF9rZXkocCwgQk5fZHVwKG4pLAotKwkJICAgICAgQk5fZHVwKGUp LAotKwkJICAgICAgQk5fYmluMmJuICgodW5zaWduZWQgY2hhciAqKSBwZXhwLCBib3hfbGVuZ3Ro IChwZXhwKSAtIDEsIE5VTEwpKTsKLSAgICAgfQotICAgbXV0ZXhfZW50ZXIgKHhlbmNfa2V5c19t dHgpOwotICAgayA9IHhlbmNfa2V5X2NyZWF0ZSAobmFtZSwgWEVOQ19SU0FfQUxHTywgRFNJR19S U0FfU0hBMV9BTEdPLCAwKTsKLUBAIC00MDg2LDcgKzQxMjEsNyBAQCB2b2lkIHhlbmNfdGFnX2Zy ZWUgKHhlbmNfdGFnX3QgKiB0KQotICNlbmRpZgotIH0KLSAKLS14ZW5jX3RhZ190ICogeGVuY190 YWdfYWRkX2NoaWxkX0JOICh4ZW5jX3RhZ190ICogdGFnLCBCSUdOVU0gKiBibikKLStzdGF0aWMg eGVuY190YWdfdCAqIHhlbmNfdGFnX2FkZF9jaGlsZF9CTiAoeGVuY190YWdfdCAqIHRhZywgY29u c3QgQklHTlVNICogYm4pCi0gewotICBjaGFyICogYnVmZmVyID0gZGtfYWxsb2NfYm94IChCTl9u dW1fYnl0ZXMgKGJuKSwgRFZfQklOKTsKLSAgY2hhciAqIGJ1ZmZlcl9iYXNlNjQgPSBka19hbGxv Y19ib3ggKGJveF9sZW5ndGggKGJ1ZmZlcikgKiAyLCBEVl9TVFJJTkcpOwotQEAgLTQxMTEsMTIg KzQxNDYsMTUgQEAgY2FkZHJfdCAqKiB4ZW5jX2dlbmVyYXRlX2V4dF9pbmZvICh4ZW5jXwotICAg Y2FkZHJfdCAqKiBhcnJheTsKLSAgIGlmIChrZXktPnhla190eXBlID09IERTSUdfS0VZX1JTQSkK LSAgICAgewotKyAgICAgIGNvbnN0IEJJR05VTSAqcnNhX24sICpyc2FfZTsKLSsKLSsgICAgICBS U0FfZ2V0MF9rZXkoa2V5LT5raS5yc2EucnNhX3N0LCAmcnNhX24sICZyc2FfZSwgTlVMTCk7Ci0g ICAgICAgeGVuY190YWdfdCAqIHJzYWtleXZhbCA9IHhlbmNfdGFnX2NyZWF0ZSAoRFNJR19VUkks ICI6UlNBS2V5VmFsdWUiKTsKLSAgICAgICB4ZW5jX3RhZ190ICogcnNhbW9kdWx1cyA9IHhlbmNf dGFnX2NyZWF0ZSAoRFNJR19VUkksICI6TW9kdWx1cyIpOwotICAgICAgIHhlbmNfdGFnX3QgKiBy c2FleHBvbmVudCA9IHhlbmNfdGFnX2NyZWF0ZSAoRFNJR19VUkksICI6RXhwb25lbnQiKTsKLSAK LS0gICAgICB4ZW5jX3RhZ19hZGRfY2hpbGRfQk4gKHJzYW1vZHVsdXMsIGtleS0+a2kucnNhLnJz YV9zdC0+bik7Ci0tICAgICAgeGVuY190YWdfYWRkX2NoaWxkX0JOIChyc2FleHBvbmVudCwga2V5 LT5raS5yc2EucnNhX3N0LT5lKTsKLSsgICAgICB4ZW5jX3RhZ19hZGRfY2hpbGRfQk4gKHJzYW1v ZHVsdXMsIHJzYV9uKTsKLSsgICAgICB4ZW5jX3RhZ19hZGRfY2hpbGRfQk4gKHJzYWV4cG9uZW50 LCByc2FfZSk7Ci0gCi0gICAgICAgeGVuY190YWdfYWRkX2NoaWxkIChyc2FrZXl2YWwsIHhlbmNf dGFnX2ZpbmFsaXplIChyc2Ftb2R1bHVzKSk7Ci0gICAgICAgeGVuY190YWdfYWRkX2NoaWxkIChy c2FrZXl2YWwsIHhlbmNfdGFnX2ZpbmFsaXplIChyc2FleHBvbmVudCkpOwotQEAgLTQxMzUsMTIg KzQxNzMsMTUgQEAgY2FkZHJfdCAqKiB4ZW5jX2dlbmVyYXRlX2V4dF9pbmZvICh4ZW5jXwotICAg ICAgIHhlbmNfdGFnX3QgKiBnID0geGVuY190YWdfY3JlYXRlIChEU0lHX1VSSSwgIjpHIik7Ci0g ICAgICAgeGVuY190YWdfdCAqIHkgPSB4ZW5jX3RhZ19jcmVhdGUgKERTSUdfVVJJLCAiOlkiKTsK LSAgICAgICBEU0EgKiBkc2EgPSBrZXktPmtpLmRzYS5kc2Ffc3Q7Ci0rICAgICAgY29uc3QgQklH TlVNICpkc2FfcCwgKmRzYV9xLCAqZHNhX2csICpkc2FfcHViX2tleTsKLSAKLSsgICAgICBEU0Ff Z2V0MF9wcWcoZHNhLCAmZHNhX3AsICZkc2FfcSwgJmRzYV9nKTsKLSsgICAgICBEU0FfZ2V0MF9r ZXkoZHNhLCAmZHNhX3B1Yl9rZXksIE5VTEwpOwotIAotLSAgICAgIHhlbmNfdGFnX2FkZF9jaGls ZF9CTiAocCwgZHNhLT5wKTsKLS0gICAgICB4ZW5jX3RhZ19hZGRfY2hpbGRfQk4gKHAsIGRzYS0+ cSk7Ci0tICAgICAgeGVuY190YWdfYWRkX2NoaWxkX0JOIChwLCBkc2EtPmcpOwotLSAgICAgIHhl bmNfdGFnX2FkZF9jaGlsZF9CTiAocCwgZHNhLT5wdWJfa2V5KTsKLSsgICAgICB4ZW5jX3RhZ19h ZGRfY2hpbGRfQk4gKHAsIGRzYV9wKTsKLSsgICAgICB4ZW5jX3RhZ19hZGRfY2hpbGRfQk4gKHAs IGRzYV9xKTsKLSsgICAgICB4ZW5jX3RhZ19hZGRfY2hpbGRfQk4gKHAsIGRzYV9nKTsKLSsgICAg ICB4ZW5jX3RhZ19hZGRfY2hpbGRfQk4gKHAsIGRzYV9wdWJfa2V5KTsKLSAKLSAgICAgICB4ZW5j X3RhZ19hZGRfY2hpbGQgKGRzYWtleXZhbCwgeGVuY190YWdfZmluYWxpemUgKHApKTsKLSAgICAg ICB4ZW5jX3RhZ19hZGRfY2hpbGQgKGRzYWtleXZhbCwgeGVuY190YWdfZmluYWxpemUgKHEpKTsK LUBAIC02MTg3LDcgKzYyMjgsNyBAQCBjYWRkcl90IHhlbmNfeDUwOV9nZXRfa2V5X2lkZW50aWZp ZXIgKFg1Ci0gCi0gICByZXQgPSBka19hbGxvY19ib3ggKGlrZXlpZC0+bGVuZ3RoLCBEVl9CSU4p OwotICAgbWVtY3B5IChyZXQsIGlrZXlpZC0+ZGF0YSwgaWtleWlkLT5sZW5ndGgpOwotLSAgTV9B U04xX09DVEVUX1NUUklOR19mcmVlKGlrZXlpZCk7Ci0rICBBU04xX1NUUklOR19mcmVlKGlrZXlp ZCk7Ci0gICByZXR1cm4gcmV0OwotIH0KLSAKLUBAIC02MjQ3LDcgKzYyODgsNyBAQCBiaWZfeDUw OV9nZXRfc3ViamVjdCAoY2FkZHJfdCAqIHFzdCwgY2FkCi0gCi0gICByZXQgPSBka19hbGxvY19i b3ggKGlrZXlpZC0+bGVuZ3RoLCBEVl9CSU4pOwotICAgbWVtY3B5IChyZXQsIGlrZXlpZC0+ZGF0 YSwgaWtleWlkLT5sZW5ndGgpOwotLSAgTV9BU04xX09DVEVUX1NUUklOR19mcmVlKGlrZXlpZCk7 Ci0rICBBU04xX1NUUklOR19mcmVlKGlrZXlpZCk7Ci0gICByZXR1cm4gcmV0OwotIH0KLSAKLUBA IC02ODA2LDcgKzY4NDcsNyBAQCBiaWZfeGVuY194NTA5X2Nzcl9nZW5lcmF0ZSAoY2FkZHJfdCAq IHFzCi0gCXNrX1g1MDlfRVhURU5TSU9OX3B1c2goc3RfZXh0cywgZXgpOwotICAgICB9Ci0gICBY NTA5X1JFUV9hZGRfZXh0ZW5zaW9ucyh4LCBzdF9leHRzKTsKLS0gIGlmICghWDUwOV9SRVFfc2ln biAoeCwgcGssIChway0+dHlwZSA9PSBFVlBfUEtFWV9SU0EgPyBFVlBfbWQ1KCkgOiBFVlBfZHNz MSgpKSkpCi0rICBpZiAoIVg1MDlfUkVRX3NpZ24gKHgsIHBrLCAoRVZQX1BLRVlfaWQocGspID09 IEVWUF9QS0VZX1JTQSA/IEVWUF9tZDUoKSA6IEVWUF9zaGExKCkpKSkKLSAgICAgewotICAgICAg IHBrID0gTlVMTDsgLyoga2VlcCBvbmUgaW4gdGhlIHhlbmNfa2V5ICovCi0gICAgICAgKmVycl9y ZXQgPSBzcnZfbWFrZV9uZXdfZXJyb3IgKCI0MjAwMCIsICJYRUNYWCIsICJDYW4gbm90IHNpZ24g Y2VydGlmaWNhdGUgOiAlcyIsIGdldF9zc2xfZXJyb3JfdGV4dCAoYnVmLCBzaXplb2YgKGJ1Zikp KTsKLUBAIC02OTQ1LDE3ICs2OTg2LDE3IEBAIGJpZl94ZW5jX3g1MDlfZnJvbV9jc3IgKGNhZGRy X3QgKiBxc3QsIGMKLSAgICAgICAqZXJyX3JldCA9IHNydl9tYWtlX25ld19lcnJvciAoIjQyMDAw IiwgIlhFQ1hYIiwgIkNhbiBub3Qgc2lnbiBjZXJ0aWZpY2F0ZSIpOwotICAgICAgIGdvdG8gZXJy OwotICAgICB9Ci0tICBzd2l0Y2ggKEVWUF9QS0VZX3R5cGUgKGNsaV9way0+dHlwZSkpCi0rICBz d2l0Y2ggKEVWUF9QS0VZX3R5cGUgKEVWUF9QS0VZX2lkKGNsaV9waykpKQotICAgICB7Ci0gICAg ICAgY2FzZSBFVlBfUEtFWV9EU0E6Ci0gCSAgc2lnbl9hbGdvbmFtZSA9IERTSUdfRFNBX1NIQTFf QUxHTzsKLSAJICBlbmNfYWxnb25hbWUgPSBYRU5DX0RTQV9BTEdPOwotLQkgIGRzYSA9IGNsaV9w ay0+cGtleS5kc2E7Ci0rCSAgZHNhID0gRVZQX1BLRVlfZ2V0MF9EU0EoY2xpX3BrKTsKLSAJICBi cmVhazsKLSAgICAgICBjYXNlIEVWUF9QS0VZX1JTQToKLSAJICBzaWduX2FsZ29uYW1lID0gRFNJ R19SU0FfU0hBMV9BTEdPOwotIAkgIGVuY19hbGdvbmFtZSA9IFhFTkNfUlNBX0FMR087Ci0tCSAg cnNhID0gY2xpX3BrLT5wa2V5LnJzYTsKLSsJICByc2EgPSBFVlBfUEtFWV9nZXQwX1JTQShjbGlf cGspOwotIAkgIGJyZWFrOwotICAgICAgIGRlZmF1bHQ6Ci0gCSAgKmVycl9yZXQgPSBzcnZfbWFr ZV9uZXdfZXJyb3IgKCI0MjAwMCIsICJYRUNYWCIsICJUaGUgdHlwZSBvZiBwdWJsaWMga2V5IGlz IG5vdCBzdXBwb3J0ZWQgbXVzIHRiZSBSU0Egb3IgRFNBIik7Ci1AQCAtNzAzMiwxOSArNzA3Mywx OSBAQCBiaWZfeGVuY19wa2NzMTJfZXhwb3J0IChjYWRkcl90ICogcXN0LCBjCi0gICBpZiAoZXhw b3J0X2NoYWluKQotICAgICB7Ci0gICAgICAgaW50IGk7Ci0tICAgICAgWDUwOV9TVE9SRV9DVFgg c3RvcmVfY3R4OwotLSAgICAgIFg1MDlfU1RPUkVfQ1RYX2luaXQgKCZzdG9yZV9jdHgsIENBX2Nl cnRzLCB4LCBOVUxMKTsKLS0gICAgICBpZiAoWDUwOV92ZXJpZnlfY2VydCAoJnN0b3JlX2N0eCkg PiAwKQotLQljaGFpbiA9IFg1MDlfU1RPUkVfQ1RYX2dldDFfY2hhaW4gKCZzdG9yZV9jdHgpOwot KyAgICAgIFg1MDlfU1RPUkVfQ1RYICpjdHg7Ci0rICAgICAgWDUwOV9TVE9SRV9DVFhfaW5pdCAo Y3R4LCBDQV9jZXJ0cywgeCwgTlVMTCk7Ci0rICAgICAgaWYgKFg1MDlfdmVyaWZ5X2NlcnQgKGN0 eCkgPiAwKQotKwljaGFpbiA9IFg1MDlfU1RPUkVfQ1RYX2dldDFfY2hhaW4gKGN0eCk7Ci0gICAg ICAgZWxzZQotIAl7Ci0gCSAgY29uc3QgY2hhciAqZXJyX3N0cjsKLS0JICBlcnJfc3RyID0gWDUw OV92ZXJpZnlfY2VydF9lcnJvcl9zdHJpbmcgKHN0b3JlX2N0eC5lcnJvcik7Ci0rCSAgZXJyX3N0 ciA9IFg1MDlfdmVyaWZ5X2NlcnRfZXJyb3Jfc3RyaW5nIChYNTA5X1NUT1JFX0NUWF9nZXRfZXJy b3IoY3R4KSk7Ci0gCSAgKmVycl9yZXQgPSBzcnZfbWFrZV9uZXdfZXJyb3IgKCIyMjAyMyIsICJY RU5DWCIsICJYNTA5IGVycm9yOiAlcyIsIGVycl9zdHIpOwotLQkgIFg1MDlfU1RPUkVfQ1RYX2Ns ZWFudXAgKCZzdG9yZV9jdHgpOwotKwkgIFg1MDlfU1RPUkVfQ1RYX2NsZWFudXAgKGN0eCk7Ci0g CSAgZ290byBlcnI7Ci0gCX0KLS0gICAgICBYNTA5X1NUT1JFX0NUWF9jbGVhbnVwICgmc3RvcmVf Y3R4KTsKLSsgICAgICBYNTA5X1NUT1JFX0NUWF9jbGVhbnVwIChjdHgpOwotICAgICAgIGlmIChj aGFpbikKLSAJewotIAkgIGNlcnRzID0gc2tfWDUwOV9uZXdfbnVsbCAoKTsKLUBAIC03MTUyLDE2 ICs3MTkzLDE2IEBAIGJpZl94ZW5jX3B1YmtleV9wZW1fZXhwb3J0IChjYWRkcl90ICogcXMKLSAg ICAgewotICAgICAgIGsgPSBYNTA5X2dldF9wdWJrZXkgKGtleS0+eGVrX3g1MDkpOwotICNpZmRl ZiBFVlBfUEtFWV9SU0EKLS0gICAgICBpZiAoay0+dHlwZSA9PSBFVlBfUEtFWV9SU0EpCi0rICAg ICAgaWYgKEVWUF9QS0VZX2lkKGspID09IEVWUF9QS0VZX1JTQSkKLSAJewotLQkgIFJTQSAqIHgg PSBrLT5wa2V5LnJzYTsKLSsJICBSU0EgKnggPSBFVlBfUEtFWV9nZXQwX1JTQShrKTsKLSAJICBQ RU1fd3JpdGVfYmlvX1JTQV9QVUJLRVkgKGIsIHgpOwotIAl9Ci0gI2VuZGlmCi0gI2lmZGVmIEVW UF9QS0VZX0RTQQotLSAgICAgIGlmIChrLT50eXBlID09IEVWUF9QS0VZX0RTQSkKLSsgICAgICBp ZiAoRVZQX1BLRVlfaWQoaykgPT0gRVZQX1BLRVlfRFNBKQotIAl7Ci0tCSAgRFNBICogeCA9IGst PnBrZXkuZHNhOwotKwkgIERTQSAqIHggPSBFVlBfUEtFWV9nZXQwX0RTQShrKTsKLSAJICBQRU1f d3JpdGVfYmlvX0RTQV9QVUJLRVkgKGIsIHgpOwotIAl9Ci0gI2VuZGlmCi1AQCAtNzIwOCwxNiAr NzI0OSwxNiBAQCBiaWZfeGVuY19wdWJrZXlfZGVyX2V4cG9ydCAoY2FkZHJfdCAqIHFzCi0gICAg IHsKLSAgICAgICBrID0gWDUwOV9nZXRfcHVia2V5IChrZXktPnhla194NTA5KTsKLSAjaWZkZWYg RVZQX1BLRVlfUlNBCi0tICAgICAgaWYgKGstPnR5cGUgPT0gRVZQX1BLRVlfUlNBKQotKyAgICAg IGlmIChFVlBfUEtFWV9pZChrKSA9PSBFVlBfUEtFWV9SU0EpCi0gCXsKLS0JICBSU0EgKiB4ID0g ay0+cGtleS5yc2E7Ci0rCSAgUlNBICogeCA9IEVWUF9QS0VZX2dldDBfUlNBKGspOwotIAkgIGky ZF9SU0FfUFVCS0VZX2JpbyAoYiwgeCk7Ci0gCX0KLSAjZW5kaWYKLSAjaWZkZWYgRVZQX1BLRVlf RFNBCi0tICAgICAgaWYgKGstPnR5cGUgPT0gRVZQX1BLRVlfRFNBKQotKyAgICAgIGlmIChFVlBf UEtFWV9pZChrKSA9PSBFVlBfUEtFWV9EU0EpCi0gCXsKLS0JICBEU0EgKiB4ID0gay0+cGtleS5k c2E7Ci0rCSAgRFNBICogeCA9IEVWUF9QS0VZX2dldDBfRFNBKGspOwotIAkgIGkyZF9EU0FfUFVC S0VZX2JpbyAoYiwgeCk7Ci0gCX0KLSAjZW5kaWYKLUBAIC03MjQ1LDcgKzcyODYsNyBAQCBlcnI6 Ci0gfQotIAotIHN0YXRpYyBjYWRkcl90Ci0tQk4yYmluYm94IChCSUdOVU0gKiB4KQotK0JOMmJp bmJveCAoY29uc3QgQklHTlVNICogeCkKLSB7Ci0gICBzaXplX3QgYnVmX2xlbiwgbjsKLSAgIGNh ZGRyX3QgYnVmOwotQEAgLTcyODAsOCArNzMyMSwxNCBAQCBzdGF0aWMgY2FkZHJfdAotIHhlbmNf cnNhX3B1Yl9tYWdpYyAoUlNBICogeCkKLSB7Ci0gICBjYWRkcl90IHJldDsKLS0gIGNhZGRyX3Qg biA9IEJOMmJpbmJveCAoeC0+bik7IC8qIG1vZHVsdXMgKi8KLS0gIGNhZGRyX3QgZSA9IEJOMmJp bmJveCAoeC0+ZSk7IC8qIHB1YmxpYyBleHBvbmVudCAqLwotKyAgY2FkZHJfdCBuOwotKyAgY2Fk ZHJfdCBlOwotKyAgY29uc3QgQklHTlVNICpyc2FfbiwgKnJzYV9lOwotKwotKyAgUlNBX2dldDBf a2V5KHgsICZyc2FfbiwgJnJzYV9lLCBOVUxMKTsKLSsgIG4gPSBCTjJiaW5ib3ggKHJzYV9uKTsg LyogbW9kdWx1cyAqLwotKyAgZSA9IEJOMmJpbmJveCAocnNhX2UpOyAvKiBwdWJsaWMgZXhwb25l bnQgKi8KLSsKLSAgIG4gPSB4ZW5jX2VuY29kZV9iYXNlNjRfYmluYm94IChuLCAxKTsKLSAgIGUg PSB4ZW5jX2VuY29kZV9iYXNlNjRfYmluYm94IChlLCAxKTsKLSAgIHJldCA9IGRrX2FsbG9jX2Jv eCAoYm94X2xlbmd0aCAobikgKyBib3hfbGVuZ3RoIChlKSArIDQgLyogdHdvIGRvdHMgLSBvbmUg dHJhaWxpbmcgemVybyArIFJTQSBwcmVmaXggKi8sIERWX1NUUklORyk7Ci1AQCAtNzMwNiw5ICs3 MzUzLDkgQEAgYmlmX3hlbmNfcHVia2V5X21hZ2ljX2V4cG9ydCAoY2FkZHJfdCAqCi0gICAgIHsK LSAgICAgICBrID0gWDUwOV9nZXRfcHVia2V5IChrZXktPnhla194NTA5KTsKLSAjaWZkZWYgRVZQ X1BLRVlfUlNBCi0tICAgICAgaWYgKGstPnR5cGUgPT0gRVZQX1BLRVlfUlNBKQotKyAgICAgIGlm IChFVlBfUEtFWV9pZChrKSA9PSBFVlBfUEtFWV9SU0EpCi0gCXsKLS0JICBSU0EgKiB4ID0gay0+ cGtleS5yc2E7Ci0rCSAgUlNBICogeCA9IEVWUF9QS0VZX2dldDBfUlNBKGspOwotIAkgIHJldCA9 IHhlbmNfcnNhX3B1Yl9tYWdpYyAoeCk7Ci0gCX0KLSAjZW5kaWYKLUBAIC03MzQ5LDEwICs3Mzk2 LDE2IEBAIHN0YXRpYyBjYWRkcl90Ci0geGVuY19yc2FfcHViX3NzaF9leHBvcnQgKFJTQSAqIHgp Ci0gewotICAgc3RhdGljIGNoYXIgKiBzc2hfaGVhZGVyID0gIlx4MDBceDAwXHgwMFx4MDdzc2gt cnNhIjsKLSsgIGNvbnN0IEJJR05VTSAqcnNhX24sICpyc2FfZTsKLSAgIGNhZGRyX3QgcmV0Owot ICAgaW50IGxlbiwgcG9zOwotLSAgY2FkZHJfdCBuID0gQk4yYmluYm94ICh4LT5uKTsgLyogbW9k dWx1cyAqLwotLSAgY2FkZHJfdCBlID0gQk4yYmluYm94ICh4LT5lKTsgLyogcHVibGljIGV4cG9u ZW50ICovCi0rICBjYWRkcl90IG47Ci0rICBjYWRkcl90IGU7Ci0rCi0rICBSU0FfZ2V0MF9rZXko eCwgJnJzYV9uLCAmcnNhX2UsIE5VTEwpOwotKyAgbiA9IEJOMmJpbmJveCAocnNhX24pOyAvKiBt b2R1bHVzICovCi0rICBlID0gQk4yYmluYm94IChyc2FfZSk7IC8qIHB1YmxpYyBleHBvbmVudCAq LwotKwotICAgbGVuID0gMTEgKyA4ICsgYm94X2xlbmd0aCAobikgKyBib3hfbGVuZ3RoIChlKTsK LSAgIGlmIChuWzBdICYgMHg4MCkKLSAgICAgbGVuICsrOwotQEAgLTczODMsOSArNzQzNiw5IEBA IGJpZl94ZW5jX3B1YmtleV9zc2hfZXhwb3J0IChjYWRkcl90ICogcXMKLSAgICAgewotICAgICAg IGsgPSBYNTA5X2dldF9wdWJrZXkgKGtleS0+eGVrX3g1MDkpOwotICNpZmRlZiBFVlBfUEtFWV9S U0EKLS0gICAgICBpZiAoay0+dHlwZSA9PSBFVlBfUEtFWV9SU0EpCi0rICAgICAgaWYgKEVWUF9Q S0VZX2lkKGspID09IEVWUF9QS0VZX1JTQSkKLSAJewotLQkgIFJTQSAqIHggPSBrLT5wa2V5LnJz YTsKLSsJICBSU0EgKiB4ID0gRVZQX1BLRVlfZ2V0MF9SU0Eoayk7Ci0gCSAgcmV0ID0geGVuY19y c2FfcHViX3NzaF9leHBvcnQgKHgpOwotIAl9Ci0gI2VuZGlmCi1AQCAtNzQxOCw3ICs3NDcxLDcg QEAgYmlmX3hlbmNfU1BLSV9yZWFkIChjYWRkcl90ICogcXN0LCBjYWRkcgotICAgICAgIHJldHVy biBOVUxMOwotICAgICB9Ci0gICBwayA9IE5FVFNDQVBFX1NQS0lfZ2V0X3B1YmtleSAoc3BraSk7 Ci0tICBpZiAoIXBrIHx8IHBrLT50eXBlICE9IEVWUF9QS0VZX1JTQSkKLSsgIGlmICghcGsgfHwg RVZQX1BLRVlfaWQocGspICE9IEVWUF9QS0VZX1JTQSkKLSAgICAgewotICAgICAgIE5FVFNDQVBF X1NQS0lfZnJlZSAoc3BraSk7Ci0gICAgICAgKmVycl9yZXQgPSBzcnZfbWFrZV9uZXdfZXJyb3Ig KCI0MjAwMCIsICJYRUNYWCIsICJDYW4gbm90IHJldHJpZXZlIFJTQSBrZXkiKTsKLUBAIC03NTk1 LDE0ICs3NjQ4LDE0IEBAIGJpZl94ZW5jX3g1MDlfY2FfY2VydHNfbGlzdCAoY2FkZHJfdCAqIHEK LSAgIHNlY19jaGVja19kYmEgKChRSSopcXN0LCBtZSk7Ci0gICBpbiA9IEJJT19uZXcgKEJJT19z X21lbSAoKSk7Ci0gICBtdXRleF9lbnRlciAoeGVuY19rZXlzX210eCk7Ci0tICBjZXJ0cyA9IENB X2NlcnRzLT5vYmpzOwotKyAgY2VydHMgPSBYNTA5X1NUT1JFX2dldDBfb2JqZWN0cyhDQV9jZXJ0 cyk7Ci0gICBsZW4gPSBza19YNTA5X09CSkVDVF9udW0gKGNlcnRzKTsKLSAgIGZvciAoaSA9IDA7 IGkgPCBsZW47IGkrKykKLSAgICAgewotICAgICAgIFg1MDlfT0JKRUNUICogb2JqID0gc2tfWDUw OV9PQkpFQ1RfdmFsdWUgKGNlcnRzLCBpKTsKLS0gICAgICBpZiAob2JqLT50eXBlID09IFg1MDlf TFVfWDUwOSkKLSsgICAgICBpZiAoWDUwOV9PQkpFQ1RfZ2V0X3R5cGUob2JqKSA9PSBYNTA5X0xV X1g1MDkpCi0gCXsKLS0JICBYNTA5ICp4ID0gb2JqLT5kYXRhLng1MDk7Ci0rCSAgWDUwOSAqeCA9 IFg1MDlfT0JKRUNUX2dldDBfWDUwOShvYmopOwotIAkgIGNhZGRyX3QgaXRtOwotIAkgIGludCBi bGVuOwotIAkgIEJJT19yZXNldCAoaW4pOwotLS0tIGEvbGlic3JjL1dpL3htbGVuYy5oCi0rKysg Yi9saWJzcmMvV2kveG1sZW5jLmgKLUBAIC0zOCw2ICszOCw3IEBACi0gI2luY2x1ZGUgPG9wZW5z c2wvZHNhLmg+Ci0gI2luY2x1ZGUgPG9wZW5zc2wvcnNhLmg+Ci0gI2luY2x1ZGUgPG9wZW5zc2wv ZGVzLmg+Ci0rI2luY2x1ZGUgPG9wZW5zc2wvaG1hYy5oPgotIAotICNpZmRlZiBBRVNfRU5DX0VO QUJMRQotICNpbmNsdWRlIDxvcGVuc3NsL2Flcy5oPgotQEAgLTYzMSw1ICs2MzIsMTgzIEBAIGNh ZGRyX3QgKiB4bWxfZmluZF9hbnlfY2hpbGQgKGNhZGRyX3QgKgotIAotIGV4dGVybiBka19tdXRl eF90ICogeGVuY19rZXlzX210eDsKLSAKLSsjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4 MTAxMDAwMDAKLSsKLStzdGF0aWMgaW5saW5lIEhNQUNfQ1RYICpITUFDX0NUWF9uZXcodm9pZCkK LSt7Ci0rCUhNQUNfQ1RYICpwOwotKwotKwlwID0gY2FsbG9jKDEsIHNpemVvZihITUFDX0NUWCkp OwotKwlpZiAoIXApCi0rCQlyZXR1cm4gcDsKLSsJSE1BQ19DVFhfaW5pdChwKTsKLSsJcmV0dXJu IHA7Ci0rfQotKwotK3N0YXRpYyBpbmxpbmUgdm9pZCBITUFDX0NUWF9mcmVlKEhNQUNfQ1RYICpj dHgpCi0rewotKwlITUFDX0NUWF9jbGVhbnVwKGN0eCk7Ci0rCWZyZWUoY3R4KTsKLSt9Ci0rCi0r c3RhdGljIGlubGluZSB2b2lkIFJTQV9nZXQwX2tleShjb25zdCBSU0EgKnIsIGNvbnN0IEJJR05V TSAqKm4sCi0rCQkJCWNvbnN0IEJJR05VTSAqKmUsIGNvbnN0IEJJR05VTSAqKmQpCi0rewotKwlp ZiAobiAhPSBOVUxMKQotKwkJKm4gPSByLT5uOwotKwlpZiAoZSAhPSBOVUxMKQotKwkJKmUgPSBy LT5lOwotKwlpZiAoZCAhPSBOVUxMKQotKwkJKmQgPSByLT5kOwotK30KLSsKLStzdGF0aWMgaW5s aW5lIHZvaWQgUlNBX2dldDBfZmFjdG9ycyhjb25zdCBSU0EgKnIsIGNvbnN0IEJJR05VTSAqKnAs Ci0rCQkJCSAgICBjb25zdCBCSUdOVU0gKipxKQotK3sKLSsJaWYgKHAgIT0gTlVMTCkKLSsJCSpw ID0gci0+cDsKLSsJaWYgKHEgIT0gTlVMTCkKLSsJCSpxID0gci0+cTsKLSt9Ci0rCi0rc3RhdGlj IGlubGluZSBSU0EgKkVWUF9QS0VZX2dldDBfUlNBKEVWUF9QS0VZICpwa2V5KQotK3sKLSsJaWYg KHBrZXktPnR5cGUgIT0gRVZQX1BLRVlfUlNBKQotKwkJcmV0dXJuIE5VTEw7Ci0rCXJldHVybiBw a2V5LT5wa2V5LnJzYTsKLSt9Ci0rCi0rc3RhdGljIGlubGluZSB2b2lkIERIX2dldDBfa2V5KGNv bnN0IERIICpkaCwgY29uc3QgQklHTlVNICoqcHViX2tleSwKLSsJCQkgICAgICAgY29uc3QgQklH TlVNICoqcHJpdl9rZXkpCi0rewotKwlpZiAocHViX2tleSAhPSBOVUxMKQotKwkJKnB1Yl9rZXkg PSBkaC0+cHViX2tleTsKLSsJaWYgKHByaXZfa2V5ICE9IE5VTEwpCi0rCQkqcHJpdl9rZXkgPSBk aC0+cHJpdl9rZXk7Ci0rfQotKwotKwotK3N0YXRpYyBpbmxpbmUgdm9pZCBESF9nZXQwX3BxZyhj b25zdCBESCAqZGgsIGNvbnN0IEJJR05VTSAqKnAsIGNvbnN0IEJJR05VTSAqKnEsCi0rCQkJICAg ICAgIGNvbnN0IEJJR05VTSAqKmcpCi0rewotKwlpZiAocCAhPSBOVUxMKQotKwkJKnAgPSBkaC0+ cDsKLSsJaWYgKHEgIT0gTlVMTCkKLSsJCSpxID0gZGgtPnE7Ci0rCWlmIChnICE9IE5VTEwpCi0r CQkqZyA9IGRoLT5nOwotK30KLSsKLStzdGF0aWMgaW5saW5lIERTQSAqRVZQX1BLRVlfZ2V0MF9E U0EoRVZQX1BLRVkgKnBrZXkpCi0rewotKwlpZiAocGtleS0+dHlwZSAhPSBFVlBfUEtFWV9EU0Ep Ci0rCQlyZXR1cm4gTlVMTDsKLSsJcmV0dXJuIHBrZXktPnBrZXkuZHNhOwotK30KLSsKLStzdGF0 aWMgaW5saW5lIGludCBESF9zZXQwX3BxZyhESCAqZGgsIEJJR05VTSAqcCwgQklHTlVNICpxLCBC SUdOVU0gKmcpCi0rewotKwkvKiBJZiB0aGUgZmllbGRzIHAgYW5kIGcgaW4gZCBhcmUgTlVMTCwg dGhlIGNvcnJlc3BvbmRpbmcgaW5wdXQKLSsJICogcGFyYW1ldGVycyBNVVNUIGJlIG5vbi1OVUxM LiAgcSBtYXkgcmVtYWluIE5VTEwuCi0rCSAqLwotKwlpZiAoKGRoLT5wID09IE5VTEwgJiYgcCA9 PSBOVUxMKQotKwkgICAgfHwgKGRoLT5nID09IE5VTEwgJiYgZyA9PSBOVUxMKSkKLSsJCXJldHVy biAwOwotKwotKwlpZiAocCAhPSBOVUxMKSB7Ci0rCQlCTl9mcmVlKGRoLT5wKTsKLSsJCWRoLT5w ID0gcDsKLSsJfQotKwlpZiAocSAhPSBOVUxMKSB7Ci0rCQlCTl9mcmVlKGRoLT5xKTsKLSsJCWRo LT5xID0gcTsKLSsJfQotKwlpZiAoZyAhPSBOVUxMKSB7Ci0rCQlCTl9mcmVlKGRoLT5nKTsKLSsJ CWRoLT5nID0gZzsKLSsJfQotKwotKwlpZiAocSAhPSBOVUxMKSB7Ci0rCQlkaC0+bGVuZ3RoID0g Qk5fbnVtX2JpdHMocSk7Ci0rCX0KLSsKLSsJcmV0dXJuIDE7Ci0rfQotKwotK3N0YXRpYyBpbmxp bmUgaW50IFJTQV9zZXQwX2tleShSU0EgKnIsIEJJR05VTSAqbiwgQklHTlVNICplLCBCSUdOVU0g KmQpCi0rewotKwkvKiBJZiB0aGUgZmllbGRzIG4gYW5kIGUgaW4gciBhcmUgTlVMTCwgdGhlIGNv cnJlc3BvbmRpbmcgaW5wdXQKLSsJICogcGFyYW1ldGVycyBNVVNUIGJlIG5vbi1OVUxMIGZvciBu IGFuZCBlLiAgZCBtYXkgYmUKLSsJICogbGVmdCBOVUxMIChpbiBjYXNlIG9ubHkgdGhlIHB1Ymxp YyBrZXkgaXMgdXNlZCkuCi0rCSAqLwotKwlpZiAoKHItPm4gPT0gTlVMTCAmJiBuID09IE5VTEwp Ci0rCSAgICB8fCAoci0+ZSA9PSBOVUxMICYmIGUgPT0gTlVMTCkpCi0rCQlyZXR1cm4gMDsKLSsK LSsJaWYgKG4gIT0gTlVMTCkgewotKwkJQk5fZnJlZShyLT5uKTsKLSsJCXItPm4gPSBuOwotKwl9 Ci0rCWlmIChlICE9IE5VTEwpIHsKLSsJCUJOX2ZyZWUoci0+ZSk7Ci0rCQlyLT5lID0gZTsKLSsJ fQotKwlpZiAoZCAhPSBOVUxMKSB7Ci0rCQlCTl9mcmVlKHItPmQpOwotKwkJci0+ZCA9IGQ7Ci0r CX0KLSsKLSsJcmV0dXJuIDE7Ci0rfQotKwotK3N0YXRpYyBpbmxpbmUgdm9pZCBEU0FfZ2V0MF9w cWcoY29uc3QgRFNBICpkLCBjb25zdCBCSUdOVU0gKipwLAotKwkJCQljb25zdCBCSUdOVU0gKipx LCBjb25zdCBCSUdOVU0gKipnKQotK3sKLSsJaWYgKHAgIT0gTlVMTCkKLSsJCSpwID0gZC0+cDsK LSsJaWYgKHEgIT0gTlVMTCkKLSsJCSpxID0gZC0+cTsKLSsJaWYgKGcgIT0gTlVMTCkKLSsJCSpn ID0gZC0+ZzsKLSt9Ci0rCi0rc3RhdGljIGlubGluZSB2b2lkIERTQV9nZXQwX2tleShjb25zdCBE U0EgKmQsIGNvbnN0IEJJR05VTSAqKnB1Yl9rZXksCi0rCQkJCWNvbnN0IEJJR05VTSAqKnByaXZf a2V5KQotK3sKLSsJaWYgKHB1Yl9rZXkgIT0gTlVMTCkKLSsJCSpwdWJfa2V5ID0gZC0+cHViX2tl eTsKLSsJaWYgKHByaXZfa2V5ICE9IE5VTEwpCi0rCQkqcHJpdl9rZXkgPSBkLT5wcml2X2tleTsK LSt9Ci0rCi0rc3RhdGljIGlubGluZSBjb25zdCBTVEFDS19PRihYNTA5X0VYVEVOU0lPTikgKlg1 MDlfZ2V0MF9leHRlbnNpb25zKGNvbnN0IFg1MDkgKngpCi0rewotKwlyZXR1cm4geC0+Y2VydF9p bmZvLT5leHRlbnNpb25zOwotK30KLSsKLStzdGF0aWMgaW5saW5lIGludCBYNTA5X3VwX3JlZihY NTA5ICp4KQotK3sKLSsJcmV0dXJuIENSWVBUT19hZGQoJngtPnJlZmVyZW5jZXMsIDEsIENSWVBU T19MT0NLX1g1MDkpOwotK30KLSsKLStzdGF0aWMgaW5saW5lIFNUQUNLX09GKFg1MDlfT0JKRUNU KSAqWDUwOV9TVE9SRV9nZXQwX29iamVjdHMoWDUwOV9TVE9SRSAqdikKLSt7Ci0rCXJldHVybiB2 LT5vYmpzOwotK30KLSsKLStzdGF0aWMgaW5saW5lIGludCBYNTA5X09CSkVDVF9nZXRfdHlwZShj b25zdCBYNTA5X09CSkVDVCAqYSkKLSt7Ci0rCXJldHVybiBhLT50eXBlOwotK30KLSsKLStzdGF0 aWMgaW5saW5lIFg1MDkgKlg1MDlfT0JKRUNUX2dldDBfWDUwOShjb25zdCBYNTA5X09CSkVDVCAq YSkKLSt7Ci0rCWlmIChhID09IE5VTEwgfHwgYS0+dHlwZSAhPSBYNTA5X0xVX1g1MDkpCi0rCQly ZXR1cm4gTlVMTDsKLSsJcmV0dXJuIGEtPmRhdGEueDUwOTsKLSt9Ci0rCi0rI2VuZGlmCi0rCi0g I2VuZGlmCi0gCi0tLS0gYS9saWJzcmMvV2kveG1sZW5jX2FsZ29zLmMKLSsrKyBiL2xpYnNyYy9X aS94bWxlbmNfYWxnb3MuYwotQEAgLTExNDksNyArMTE0OSw3IEBAIGludAotIGRzaWdfaG1hY19z aGEyNTZfZGlnZXN0IChka19zZXNzaW9uX3QgKiBzZXNfaW4sIGxvbmcgbGVuLCB4ZW5jX2tleV90 ICoga2V5LCBjYWRkcl90ICogc2lnbl9vdXQpCi0gewotICAgdW5zaWduZWQgY2hhciAqIGRhdGE7 Ci0tICBITUFDX0NUWCBjdHg7Ci0rICBITUFDX0NUWCAqY3R4OwotICAgdW5zaWduZWQgY2hhciBr ZXlfZGF0YVszMiAqIDhdOwotICAgdW5zaWduZWQgY2hhciBtZCBbU0hBMjU2X0RJR0VTVF9MRU5H VEggKyAxXTsKLSAgIHVuc2lnbmVkIGNoYXIgbWQ2NCBbU0hBMjU2X0RJR0VTVF9MRU5HVEggKiAy ICsgMV07Ci1AQCAtMTE4Miw3ICsxMTgyLDkgQEAgZHNpZ19obWFjX3NoYTI1Nl9kaWdlc3QgKGRr X3Nlc3Npb25fdCAqCi0gICAgICAgZGVmYXVsdDoKLSAJICByZXR1cm4gMDsKLSAgICAgfQotLQot KyAgY3R4ID0gSE1BQ19DVFhfbmV3KCk7Ci0rICBpZiAoIWN0eCkKLSsJICByZXR1cm4gMDsKLSAK LSAgIGRhdGEgPSAodW5zaWduZWQgY2hhciAqKSBka19hbGxvY19ib3ggKGxlbiwgRFZfQ19TVFJJ TkcpOwotICAgQ0FUQ0hfUkVBRF9GQUlMIChzZXNfaW4pCi1AQCAtMTE5MiwxNCArMTE5NCwxNSBA QCBkc2lnX2htYWNfc2hhMjU2X2RpZ2VzdCAoZGtfc2Vzc2lvbl90ICoKLSAgIEZBSUxFRAotICAg ICB7Ci0gICAgICAgZGtfZnJlZV9ib3ggKChib3hfdCkgZGF0YSk7Ci0rICAgICAgSE1BQ19DVFhf ZnJlZShjdHgpOwotICAgICAgIHJldHVybiAwOwotICAgICB9Ci0gICBFTkRfUkVBRF9GQUlMIChz ZXNfaW4pOwotIAotLSAgSE1BQ19Jbml0KCZjdHgsICh2b2lkKikga2V5X2RhdGEgLCBrZXlfbGVu LCBFVlBfc2hhMjU2ICgpKTsKLS0gIEhNQUNfVXBkYXRlKCZjdHgsIGRhdGEsIGxlbik7Ci0tICBI TUFDX0ZpbmFsKCZjdHgsIG1kLCAmaG1hY19sZW4pOwotLSAgSE1BQ19jbGVhbnVwKCZjdHgpOwot KyAgSE1BQ19Jbml0X2V4KGN0eCwgKHZvaWQqKSBrZXlfZGF0YSAsIGtleV9sZW4sIEVWUF9zaGEy NTYgKCksIE5VTEwpOwotKyAgSE1BQ19VcGRhdGUoY3R4LCBkYXRhLCBsZW4pOwotKyAgSE1BQ19G aW5hbChjdHgsIG1kLCAmaG1hY19sZW4pOwotKyAgSE1BQ19DVFhfZnJlZShjdHgpOwotIAotICAg aWYgKGhtYWNfbGVuICE9IFNIQTI1Nl9ESUdFU1RfTEVOR1RIKQotICAgICBHUEZfVDsKLUBAIC0x MjIwLDcgKzEyMjMsNyBAQCBkc2lnX2htYWNfc2hhMjU2X2RpZ2VzdCAoZGtfc2Vzc2lvbl90ICoK LSBpbnQKLSBkc2lnX2htYWNfc2hhMjU2X3ZlcmlmeSAoZGtfc2Vzc2lvbl90ICogc2VzX2luLCBs b25nIGxlbiwgeGVuY19rZXlfdCAqIGtleSwgY2FkZHJfdCBkaWdlc3QpCi0gewotLSAgSE1BQ19D VFggY3R4OwotKyAgSE1BQ19DVFggKmN0eDsKLSAgIHVuc2lnbmVkIGNoYXIgKiBkYXRhOwotICAg dW5zaWduZWQgY2hhciBrZXlfZGF0YVszICogOF07Ci0gICB1bnNpZ25lZCBjaGFyIG1kIFtTSEEy NTZfRElHRVNUX0xFTkdUSCArIDFdOwotQEAgLTEyNDksNiArMTI1Miw5IEBAIGRzaWdfaG1hY19z aGEyNTZfdmVyaWZ5IChka19zZXNzaW9uX3QgKgotIAkgIHJldHVybiAwOwotICAgICB9Ci0gCi0r ICBjdHggPSBITUFDX0NUWF9uZXcoKTsKLSsgIGlmICghY3R4KQotKwkgIHJldHVybiAwOwotIAot ICAgZGF0YSA9ICh1bnNpZ25lZCBjaGFyICopIGRrX2FsbG9jX2JveCAobGVuLCBEVl9DX1NUUklO Ryk7Ci0gICBDQVRDSF9SRUFEX0ZBSUwgKHNlc19pbikKLUBAIC0xMjU4LDE0ICsxMjY0LDE1IEBA IGRzaWdfaG1hY19zaGEyNTZfdmVyaWZ5IChka19zZXNzaW9uX3QgKgotICAgRkFJTEVECi0gICAg IHsKLSAgICAgICBka19mcmVlX2JveCAoKGJveF90KSBkYXRhKTsKLSsgICAgICBITUFDX0NUWF9m cmVlKGN0eCk7Ci0gICAgICAgcmV0dXJuIDA7Ci0gICAgIH0KLSAgIEVORF9SRUFEX0ZBSUwgKHNl c19pbik7Ci0gCi0tICBITUFDX0luaXQoJmN0eCwgKHZvaWQqKSBrZXlfZGF0YSAsIGtleV9sZW4s IEVWUF9zaGEyNTYgKCkpOwotLSAgSE1BQ19VcGRhdGUoJmN0eCwgZGF0YSwgbGVuKTsKLS0gIEhN QUNfRmluYWwoJmN0eCwgbWQsICZobWFjX2xlbik7Ci0tICBITUFDX2NsZWFudXAoJmN0eCk7Ci0r ICBITUFDX0luaXRfZXgoY3R4LCAodm9pZCopIGtleV9kYXRhICwga2V5X2xlbiwgRVZQX3NoYTI1 NiAoKSwgTlVMTCk7Ci0rICBITUFDX1VwZGF0ZShjdHgsIGRhdGEsIGxlbik7Ci0rICBITUFDX0Zp bmFsKGN0eCwgbWQsICZobWFjX2xlbik7Ci0rICBITUFDX0NUWF9mcmVlKGN0eCk7Ci0gICBka19m cmVlX2JveCAoKGJveF90KSBkYXRhKTsKLSAKLSAgIGxlbjEgPSB4ZW5jX2VuY29kZV9iYXNlNjQg KChjaGFyICopbWQsIG1kNjQsIGhtYWNfbGVuKTsKLUBAIC0xNTg2LDcgKzE1OTMsNyBAQCBpbnQK LSBkc2lnX2htYWNfc2hhMV9kaWdlc3QgKGRrX3Nlc3Npb25fdCAqIHNlc19pbiwgbG9uZyBsZW4s IHhlbmNfa2V5X3QgKiBrZXksIGNhZGRyX3QgKiBzaWduX291dCkKLSB7Ci0gICB1bnNpZ25lZCBj aGFyICogZGF0YTsKLS0gIEhNQUNfQ1RYIGN0eDsKLSsgIEhNQUNfQ1RYICpjdHg7Ci0gICB1bnNp Z25lZCBjaGFyIGtleV9kYXRhWzMyICogOF07Ci0gICB1bnNpZ25lZCBjaGFyIG1kIFtTSEFfRElH RVNUX0xFTkdUSCArIDFdOwotICAgdW5zaWduZWQgY2hhciBtZDY0IFtTSEFfRElHRVNUX0xFTkdU SCAqIDIgKyAxXTsKLUBAIC0xNjIwLDYgKzE2MjcsOSBAQCBkc2lnX2htYWNfc2hhMV9kaWdlc3Qg KGRrX3Nlc3Npb25fdCAqIHNlCi0gCSAgcmV0dXJuIDA7Ci0gICAgIH0KLSAKLSsgIGN0eCA9IEhN QUNfQ1RYX25ldygpOwotKyAgaWYgKCFjdHgpCi0rCSAgcmV0dXJuIDA7Ci0gCi0gICBkYXRhID0g KHVuc2lnbmVkIGNoYXIgKikgZGtfYWxsb2NfYm94IChsZW4sIERWX0NfU1RSSU5HKTsKLSAgIENB VENIX1JFQURfRkFJTCAoc2VzX2luKQotQEAgLTE2MjksMTQgKzE2MzksMTUgQEAgZHNpZ19obWFj X3NoYTFfZGlnZXN0IChka19zZXNzaW9uX3QgKiBzZQotICAgRkFJTEVECi0gICAgIHsKLSAgICAg ICBka19mcmVlX2JveCAoKGJveF90KSBkYXRhKTsKLSsgICAgICBITUFDX0NUWF9mcmVlKGN0eCk7 Ci0gICAgICAgcmV0dXJuIDA7Ci0gICAgIH0KLSAgIEVORF9SRUFEX0ZBSUwgKHNlc19pbik7Ci0g Ci0tICBITUFDX0luaXQoJmN0eCwgKHZvaWQqKSBrZXlfZGF0YSAsIGtleV9sZW4sIEVWUF9zaGEx ICgpKTsKLS0gIEhNQUNfVXBkYXRlKCZjdHgsIGRhdGEsIGxlbik7Ci0tICBITUFDX0ZpbmFsKCZj dHgsIG1kLCAmaG1hY19sZW4pOwotLSAgSE1BQ19jbGVhbnVwKCZjdHgpOwotKyAgSE1BQ19Jbml0 X2V4KGN0eCwgKHZvaWQqKSBrZXlfZGF0YSAsIGtleV9sZW4sIEVWUF9zaGExICgpLCBOVUxMKTsK LSsgIEhNQUNfVXBkYXRlKGN0eCwgZGF0YSwgbGVuKTsKLSsgIEhNQUNfRmluYWwoY3R4LCBtZCwg JmhtYWNfbGVuKTsKLSsgIEhNQUNfQ1RYX2ZyZWUoY3R4KTsKLSAKLSAgIGlmIChobWFjX2xlbiAh PSBTSEFfRElHRVNUX0xFTkdUSCkKLSAgICAgR1BGX1Q7Ci1AQCAtMTY1Nyw3ICsxNjY4LDcgQEAg ZHNpZ19obWFjX3NoYTFfZGlnZXN0IChka19zZXNzaW9uX3QgKiBzZQotIGludAotIGRzaWdfaG1h Y19zaGExX3ZlcmlmeSAoZGtfc2Vzc2lvbl90ICogc2VzX2luLCBsb25nIGxlbiwgeGVuY19rZXlf dCAqIGtleSwgY2FkZHJfdCBkaWdlc3QpCi0gewotLSAgSE1BQ19DVFggY3R4OwotKyAgSE1BQ19D VFggKmN0eDsKLSAgIHVuc2lnbmVkIGNoYXIgKiBkYXRhOwotICAgdW5zaWduZWQgY2hhciBrZXlf ZGF0YVszICogOF07Ci0gICB1bnNpZ25lZCBjaGFyIG1kIFtTSEFfRElHRVNUX0xFTkdUSCArIDFd OwotQEAgLTE2ODYsNiArMTY5Nyw5IEBAIGRzaWdfaG1hY19zaGExX3ZlcmlmeSAoZGtfc2Vzc2lv bl90ICogc2UKLSAJICByZXR1cm4gMDsKLSAgICAgfQotIAotKyAgY3R4ID0gSE1BQ19DVFhfbmV3 KCk7Ci0rICBpZiAoIWN0eCkKLSsJICByZXR1cm4gMDsKLSAKLSAgIGRhdGEgPSAodW5zaWduZWQg Y2hhciAqKSBka19hbGxvY19ib3ggKGxlbiwgRFZfQ19TVFJJTkcpOwotICAgQ0FUQ0hfUkVBRF9G QUlMIChzZXNfaW4pCi1AQCAtMTY5NSwxNCArMTcwOSwxNSBAQCBkc2lnX2htYWNfc2hhMV92ZXJp ZnkgKGRrX3Nlc3Npb25fdCAqIHNlCi0gICBGQUlMRUQKLSAgICAgewotICAgICAgIGRrX2ZyZWVf Ym94ICgoYm94X3QpIGRhdGEpOwotKyAgICAgIEhNQUNfQ1RYX2ZyZWUoY3R4KTsKLSAgICAgICBy ZXR1cm4gMDsKLSAgICAgfQotICAgRU5EX1JFQURfRkFJTCAoc2VzX2luKTsKLSAKLS0gIEhNQUNf SW5pdCgmY3R4LCAodm9pZCopIGtleV9kYXRhICwga2V5X2xlbiwgRVZQX3NoYTEgKCkpOwotLSAg SE1BQ19VcGRhdGUoJmN0eCwgZGF0YSwgbGVuKTsKLS0gIEhNQUNfRmluYWwoJmN0eCwgbWQsICZo bWFjX2xlbik7Ci0tICBITUFDX2NsZWFudXAoJmN0eCk7Ci0rICBITUFDX0luaXRfZXgoY3R4LCAo dm9pZCopIGtleV9kYXRhICwga2V5X2xlbiwgRVZQX3NoYTEgKCksIE5VTEwpOwotKyAgSE1BQ19V cGRhdGUoY3R4LCBkYXRhLCBsZW4pOwotKyAgSE1BQ19GaW5hbChjdHgsIG1kLCAmaG1hY19sZW4p OwotKyAgSE1BQ19DVFhfZnJlZShjdHgpOwotICAgZGtfZnJlZV9ib3ggKChib3hfdCkgZGF0YSk7 Ci0gCi0gICBsZW4xID0geGVuY19lbmNvZGVfYmFzZTY0ICgoY2hhciAqKW1kLCBtZDY0LCBobWFj X2xlbik7Ci1AQCAtMTc2Myw3ICsxNzc4LDcgQEAgaW50IHhlbmNfYWVzX2VuY3J5cHRvciAoZGtf c2Vzc2lvbl90ICogcwotICAgY2FkZHJfdCBvdXRidWZfYmVnOwotICAgaW50IGxlbjsKLSAgIGNh ZGRyX3QgZW5jb2RlZF9vdXQ7Ci0tICBFVlBfQ0lQSEVSX0NUWCBjdHg7Ci0rICBFVlBfQ0lQSEVS X0NUWCAqY3R4OwotICAgdW5zaWduZWQgY2hhciAqIGl2ZWMgPSAma2V5LT5raS5hZXMuaXZbMF07 Ci0gCi0gICBDQVRDSF9SRUFEX0ZBSUwgKHNlc19pbikKLUBAIC0xNzc4LDcgKzE3OTMsNyBAQCBp bnQgeGVuY19hZXNfZW5jcnlwdG9yIChka19zZXNzaW9uX3QgKiBzCi0gICBFTkRfUkVBRF9GQUlM IChzZXNfaW4pOwotIAotICNpZiAxCi0tICBFVlBfQ0lQSEVSX0NUWF9pbml0KCZjdHgpOwotKyAg Y3R4ID0gRVZQX0NJUEhFUl9DVFhfbmV3KCk7Ci0gICBvdXRidWZfYmVnID0gZGtfYWxsb2NfYm94 IChib3hfbGVuZ3RoICh0ZXh0KSArIDE2LCBEVl9CSU4pOwotICAgbWVtY3B5IChvdXRidWZfYmVn LCBpdmVjLCAxNik7Ci0gICBvdXRidWYgPSBvdXRidWZfYmVnICsgMTY7Ci1AQCAtMTc4NiwyMCAr MTgwMSwxOSBAQCBpbnQgeGVuY19hZXNfZW5jcnlwdG9yIChka19zZXNzaW9uX3QgKiBzCi0gICBz d2l0Y2ggKGtleS0+a2kuYWVzLmJpdHMpCi0gICAgIHsKLSAgICAgY2FzZSAxMjg6Ci0tICAgICAg RVZQX0VuY3J5cHRJbml0X2V4KCZjdHgsIEVWUF9hZXNfMTI4X2NiYygpLCBOVUxMLCBrZXktPmtp LmFlcy5rLCBpdmVjKTsKLSsgICAgICBFVlBfRW5jcnlwdEluaXRfZXgoY3R4LCBFVlBfYWVzXzEy OF9jYmMoKSwgTlVMTCwga2V5LT5raS5hZXMuaywgaXZlYyk7Ci0gICAgICAgYnJlYWs7Ci0gICAg IGNhc2UgMTkyOgotLSAgICAgIEVWUF9FbmNyeXB0SW5pdF9leCgmY3R4LCBFVlBfYWVzXzE5Ml9j YmMoKSwgTlVMTCwga2V5LT5raS5hZXMuaywgaXZlYyk7Ci0rICAgICAgRVZQX0VuY3J5cHRJbml0 X2V4KGN0eCwgRVZQX2Flc18xOTJfY2JjKCksIE5VTEwsIGtleS0+a2kuYWVzLmssIGl2ZWMpOwot ICAgICAgIGJyZWFrOwotICAgICBjYXNlIDI1NjoKLS0gICAgICBFVlBfRW5jcnlwdEluaXRfZXgo JmN0eCwgRVZQX2Flc18yNTZfY2JjKCksIE5VTEwsIGtleS0+a2kuYWVzLmssIGl2ZWMpOwotKyAg ICAgIEVWUF9FbmNyeXB0SW5pdF9leChjdHgsIEVWUF9hZXNfMjU2X2NiYygpLCBOVUxMLCBrZXkt PmtpLmFlcy5rLCBpdmVjKTsKLSAgICAgICBicmVhazsKLSAgICAgZGVmYXVsdDoKLSAgICAgICBH UEZfVDEgKCJVbnN1cHBvcnRlZCBrZXkgc2l6ZSIpOwotICAgICB9Ci0tICBpZighRVZQX0VuY3J5 cHRVcGRhdGUoJmN0eCwgKHVuc2lnbmVkIGNoYXIgKilvdXRidWYsICZvdXRsZW4sICh1bnNpZ25l ZCBjaGFyICopdGV4dCwgYm94X2xlbmd0aCAodGV4dCkpKQotKyAgaWYoIUVWUF9FbmNyeXB0VXBk YXRlKGN0eCwgKHVuc2lnbmVkIGNoYXIgKilvdXRidWYsICZvdXRsZW4sICh1bnNpZ25lZCBjaGFy ICopdGV4dCwgYm94X2xlbmd0aCAodGV4dCkpKQotICAgICB7Ci0tICAgICAgRVZQX0NJUEhFUl9D VFhfY2xlYW51cCgmY3R4KTsKLSAgICAgICBka19mcmVlX2JveCAodGV4dCk7Ci0gICAgICAgZGtf ZnJlZV9ib3ggKG91dGJ1Zl9iZWcpOwotICAgICAgIHhlbmNfcmVwb3J0X2Vycm9yICh0LCA1MDAs IFhFTkNfRU5DX0VSUiwgIkFFUyBlbmNyeXB0aW9uIGludGVybmFsIGVycm9yICMyIik7Ci1AQCAt MTgxMiw3ICsxODI2LDcgQEAgaW50IHhlbmNfYWVzX2VuY3J5cHRvciAoZGtfc2Vzc2lvbl90ICog cwotICAgICAgIHhlbmNfcmVwb3J0X2Vycm9yICh0LCA1MDAsIFhFTkNfRU5DX0VSUiwgIkFFUyBl bmNyeXB0aW9uIGludGVybmFsIGVycm9yICMzIik7Ci0gICAgICAgfSAqLwotICAgLyogb3V0bGVu ICs9IHRtcGxlbjsgKi8KLS0gIEVWUF9DSVBIRVJfQ1RYX2NsZWFudXAoJmN0eCk7Ci0rICBFVlBf Q0lQSEVSX0NUWF9mcmVlKGN0eCk7Ci0gCi0gI2Vsc2UKLSAgIG91dGJ1Zl9iZWcgPSBka19hbGxv Y19ib3ggKGJveF9sZW5ndGggKHRleHQpICsgMTYgLyogaXYgKi8sIERWX0JJTik7Ci1AQCAtMjA1 MCw2ICsyMDY0LDcgQEAgeGVuY19yc2FfZGVjcnlwdG9yIChka19zZXNzaW9uX3QgKiBzZXNfaQot ICAgaW50IGxlbiA9IDA7Ci0gICBpbnQga2V5c2l6ZTsKLSAgIFJTQSAqIHJzYSA9IGtleS0+eGVr X3ByaXZhdGVfcnNhOwotKyAgY29uc3QgQklHTlVNICpwLCAqcTsKLSAKLSAgIGlmICghc2VzbGVu KQotICAgICB7Ci1AQCAtMjA2Miw5ICsyMDc3LDkgQEAgeGVuY19yc2FfZGVjcnlwdG9yIChka19z ZXNzaW9uX3QgKiBzZXNfaQotICAgICAgIHhlbmNfcmVwb3J0X2Vycm9yICh0LCA1MDAgKyBzdHJs ZW4gKGtleS0+eGVrX25hbWUpLCBYRU5DX0VOQ19FUlIsICJjb3VsZCBub3QgbWFrZSBSU0EgZGVj cnlwdGlvbiBba2V5ICVzIGlzIG5vdCBSU0FdIiwga2V5LT54ZWtfbmFtZSk7Ci0gICAgICAgcmV0 dXJuIDA7Ci0gICAgIH0KLSsgIFJTQV9nZXQwX2ZhY3RvcnMocnNhLCAmcCwgJnEpOwotICAgaWYg KCFyc2EgfHwKLS0gICAgICAhcnNhLT5wIHx8Ci0tICAgICAgIXJzYS0+cSkKLSsgICAgICAhcCB8 fCAhcSkKLSAgICAgewotICAgICAgIGlmIChrZXktPnhla194NTA5X0tJKQotIAlrZXkgPSB4ZW5j X2dldF9rZXlfYnlfa2V5aWRlbnRpZmllciAoa2V5LT54ZWtfeDUwOV9LSSwgMSk7Ci0tLS0gYS9s aWJzcmMvdXRpbC9zc2xlbmdpbmUuYwotKysrIGIvbGlic3JjL3V0aWwvc3NsZW5naW5lLmMKLUBA IC0yOSw3ICsyOSwxMSBAQAotIGludAotIHNzbF9lbmdpbmVfc3RhcnR1cCAodm9pZCkKLSB7Ci0t ICBDUllQVE9fbWFsbG9jX2luaXQgKCk7Ci0rI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAw eDEwMTAwMDAwIHx8IGRlZmluZWQgTElCUkVTU0xfVkVSU0lPTl9OVU1CRVIKLSsJQ1JZUFRPX21h bGxvY19pbml0ICgpOwotKyNlbHNlCi0rCU9QRU5TU0xfbWFsbG9jX2luaXQoKTsKLSsjZW5kaWYK LSAgIEVSUl9sb2FkX2NyeXB0b19zdHJpbmdzKCk7Ci0gICBPcGVuU1NMX2FkZF9hbGxfYWxnb3Jp dGhtcygpOwotIAotLS0tIGEvbGlic3JjL1dpL2h0dHAuYwotKysrIGIvbGlic3JjL1dpL2h0dHAu YwotQEAgLTg4ODYsNyArODg4Niw3IEBAIHNzbF9zZXJ2ZXJfc2V0X2NlcnRpZmljYXRlIChTU0xf Q1RYKiBzc2wKLSAJCSAgbG9nX2Vycm9yICgiU1NMOiBUaGUgc3RvcmVkIGNlcnRpZmljYXRlICcl cycgY2FuIG5vdCBiZSB1c2VkIGFzIGV4dHJhIGNoYWluIGNlcnRpZmljYXRlIiwgdG9rKTsKLSAJ CSAgYnJlYWs7Ci0gCQl9Ci0tCSAgICAgIENSWVBUT19hZGQoJmstPnhla194NTA5LT5yZWZlcmVu Y2VzLCAxLCBDUllQVE9fTE9DS19YNTA5KTsKLSsJICAgICAgWDUwOV91cF9yZWYoay0+eGVrX3g1 MDkpOwotICAgICAgICAgICAgICAgdG9rID0gc3RydG9rX3IgKE5VTEwsICIsIiwgJnRva19zKTsK LSAJICAgIH0KLSAJICBka19mcmVlX2JveCAoc3RyKTsKLS0tLSBhL2xpYnNyYy9Eay9Ea2VybmVs LmMKLSsrKyBiL2xpYnNyYy9Eay9Ea2VybmVsLmMKLUBAIC01MjgwLDcgKzUyODAsMTEgQEAgc3Ns X3NlcnZlcl9pbml0ICgpCi0gICB9Ci0gI2VuZGlmCi0gCi0tICBTU0xlYXlfYWRkX2FsbF9hbGdv cml0aG1zICgpOwotKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMAotKyAg U1NMZWF5X2FkZF9hbGxfYWxnb3JpdGhtcygpOwotKyNlbHNlCi0rICBPcGVuU1NMX2FkZF9hbGxf YWxnb3JpdGhtcygpOwotKyNlbmRpZgotICAgUEtDUzEyX1BCRV9hZGQgKCk7CQkvKiBzdHViICov Ci0gCi0gI2lmZGVmIE5PX1RIUkVBRApkaWZmIC0tZ2l0IGEvc3JjcGtncy92aXJ0dW9zby9wYXRj aGVzL3NzbDEuMV9tb3JlLnBhdGNoIGIvc3JjcGtncy92aXJ0dW9zby9wYXRjaGVzL3NzbDEuMV9t b3JlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NmU1MGVjMTI3YmEuLjAw MDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL3ZpcnR1b3NvL3BhdGNoZXMvc3NsMS4xX21vcmUucGF0 Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi1EZXNjcmlwdGlvbjogQ29tbWVudCB1 bmtub3duIGRlZmluaXRpb24gaW4gc3NsMS4xIC0gcGxlYXNlIHJldmlldyEKLUF1dGhvcjogQW5k cmVhcyBUaWxsZSA8dGlsbGVAZGViaWFuLm9yZz4KLUJ1Zy1EZWJpYW46IGh0dHBzOi8vYnVncy5k ZWJpYW4ub3JnLzgyODU5NAotTGFzdC1VcGRhdGU6IE1vIDExLiBGZWIgMTM6NTA6MTcgQ0VUIDIw MTkKLQotLS0tIGEvbGlic3JjL0RrL0RrZXJuZWwuYwotKysrIGIvbGlic3JjL0RrL0RrZXJuZWwu YwotQEAgLTUxNjEsMTAgKzUxNjEsMTIgQEAgc3NsX2N0eF9zZXRfcHJvdG9jb2xfb3B0aW9ucyhT U0xfQ1RYICpjdAotICAgICAgIGVsc2UgaWYgKCFzdHJjYXNlY21wIChuYW1lLCAiVExTdjFfMiIp IHx8ICFzdHJjYXNlY21wIChuYW1lLCAiVExTdjEuMiIpKQotIAlvcHQgPSBTU0xfUFJPVE9DT0xf VExTVjFfMjsKLSAjZW5kaWYKLSsvKgotICNpZiBkZWZpbmVkIChTU0xfT1BfTk9fVExTdjFfMykK LSAgICAgICBlbHNlIGlmICghc3RyY2FzZWNtcCAobmFtZSwgIlRMU3YxXzMiKSB8fCAhc3RyY2Fz ZWNtcCAobmFtZSwgIlRMU3YxLjMiKSkKLSAJb3B0ID0gU1NMX1BST1RPQ09MX1RMU1YxXzM7Ci0g I2VuZGlmCi0rKi8KLSAgICAgICBlbHNlIGlmICghc3RyY2FzZWNtcCAobmFtZSwgIkFMTCIpKQot IAlvcHQgPSBTU0xfUFJPVE9DT0xfQUxMOwotICAgICAgIGVsc2UKZGlmZiAtLWdpdCBhL3NyY3Br Z3MvdmlydHVvc28vcGF0Y2hlcy91c2UtbWtzdGVtcC5wYXRjaCBiL3NyY3BrZ3MvdmlydHVvc28v cGF0Y2hlcy91c2UtbWtzdGVtcC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg ZDcxYjdlNDE3YmQ5Li4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy92aXJ0dW9zby9wYXRjaGVz L3VzZS1ta3N0ZW1wLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotU291cmNl OiBAcHVsbG1vbGwKLVVwc3RyZWFtOiBubwotUmVhc29uOiBBdm9pZCBta3RlbXAoMykgYmVjYXVz ZSAiTmV2ZXIgdXNlIHRoaXMgZnVuY3Rpb247IHNlZSBCVUdTLiIKLQotLS0tIGEvbGlic3JjL0Rr L0Rrc2Vzc3RyLmMJMjAxOC0wOC0xNiAwMTowNjoyMS4wMDAwMDAwMDAgKzAyMDAKLSsrKyBiL2xp YnNyYy9Eay9Ea3Nlc3N0ci5jCTIwMjAtMDEtMjcgMTU6MjI6MDAuOTUzODc2MjUxICswMTAwCi1A QCAtMjk4LDggKzI5OCwxMCBAQAotICAgICAgIGlmICghc2VzMi0+c2VzX2ZpbGUtPnNlc19tYXhf YmxvY2tzX2luX21lbSkKLSAJewotIAkgIGNoYXIgZm5hbWVbUEFUSF9NQVggKyAxXTsKLSsgICAg ICAgICAgaW50IGZkOwotIAkgIHNucHJpbnRmIChmbmFtZSwgc2l6ZW9mIChmbmFtZSksICIlcy9z ZXNYWFhYWFgiLCBzZXNfdG1wX2Rpcik7Ci0tCSAgbWt0ZW1wIChmbmFtZSk7Ci0rCSAgZmQgPSBt a3N0ZW1wIChmbmFtZSk7Ci0rICAgICAgICAgIGNsb3NlIChmZCk7Ci0gCi0gI2lmIGRlZmluZWQg KFdJTjMyKQotICMgZGVmaW5lIE9QRU5fRkxBR1MgIAkgIE9fQ1JFQVQgfCBPX1JEV1IgfCBPX0JJ TkFSWSB8IE9fRVhDTCB8IE9fVEVNUE9SQVJZCmRpZmYgLS1naXQgYS9zcmNwa2dzL3ZpcnR1b3Nv L3RlbXBsYXRlIGIvc3JjcGtncy92aXJ0dW9zby90ZW1wbGF0ZQppbmRleCA3M2U1OTAyM2QzNWUu Ljc4MzkwOWYwZGUxNCAxMDA2NDQKLS0tIGEvc3JjcGtncy92aXJ0dW9zby90ZW1wbGF0ZQorKysg Yi9zcmNwa2dzL3ZpcnR1b3NvL3RlbXBsYXRlCkBAIC0xLDE4ICsxLDE4IEBACiAjIFRlbXBsYXRl IGZpbGUgZm9yICd2aXJ0dW9zbycKIHBrZ25hbWU9dmlydHVvc28KLXZlcnNpb249Ny4yLjUuMQot cmV2aXNpb249MwordmVyc2lvbj03LjIuOAorcmV2aXNpb249MQogYXJjaHM9Ing4Nl82NCogYWFy Y2g2NCogcHBjNjRsZSoiCiBidWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCi1jb25maWd1cmVfYXJn cz0iLS1lbmFibGUtc3RhdGljIgotaG9zdG1ha2VkZXBlbmRzPSJhdXRvbWFrZSBsaWJ0b29sIGZs ZXggZ3BlcmYgbmV0LXRvb2xzIgoraG9zdG1ha2VkZXBlbmRzPSJhdXRvbWFrZSBsaWJ0b29sIGZs ZXggZ3BlcmYgbmV0LXRvb2xzIHdoaWNoIgogbWFrZWRlcGVuZHM9Im9wZW5zc2wtZGV2ZWwgbGli bGRhcC1kZXZlbCByZWFkbGluZS1kZXZlbCBsaWJ4bWwyLWRldmVsIG1pdC1rcmI1LWRldmVsIgor Y2hlY2tkZXBlbmRzPSJwcm9jcHMtbmcgdW56aXAgY3VybCIKIHNob3J0X2Rlc2M9IlNjYWxhYmxl IGNyb3NzLXBsYXRmb3JtIHNlcnZlciBvZiB2aXJ0dW9zbyIKIG1haW50YWluZXI9Ik9ycGhhbmVk IDxvcnBoYW5Adm9pZGxpbnV4Lm9yZz4iCi1saWNlbnNlPSJHUEwtMiIKK2xpY2Vuc2U9IkdQTC0y LjAtb25seSIKIGhvbWVwYWdlPSJodHRwOi8vdmlydHVvc28ub3Blbmxpbmtzdy5jb20vd2lraS9t YWluL01haW4vIgogZGlzdGZpbGVzPSJodHRwczovL2dpdGh1Yi5jb20vb3BlbmxpbmsvdmlydHVv c28tb3BlbnNvdXJjZS9hcmNoaXZlL3Yke3ZlcnNpb259LnRhci5neiIKLWNoZWNrc3VtPTNlNDgw N2U5NDA5OGI4MjY1ZjhjZjAwODY3ZDEyMTViYjFlOWQwZDI3NDg3OGU1OWE0MjA3NDJkMmRlNDcx YzIKK2NoZWNrc3VtPWI3YThiNzk5NDNhZWY3ZGUxZDdmN2E5ODQwMjc3NDc3NzZhYjBiNDRjZjZl MTYwY2JkNjYwODVlNWJkOTFlZDUKICMgY2Fubm90IGV4ZWN1dGUgYmluYXJ5IGZpbGU6IEV4ZWMg Zm9ybWF0IGVycm9yCiBub2Nyb3NzPSJodHRwczovL2J1aWxkLnZvaWRsaW51eC5vcmcvYnVpbGRl cnMvYXJtdjZsX2J1aWxkZXIvYnVpbGRzLzI5MTg3L3N0ZXBzL3NoZWxsXzMvbG9ncy9zdGRpbyIK IApAQCAtNDUsOCArNDUsNiBAQCBwb3N0X2luc3RhbGwoKSB7CiAJcm0gJHtERVNURElSfS91c3Iv bGliL3ZpcnRvZGJjX3Iue2Esc299CiAJcm0gJHtERVNURElSfS91c3IvbGliL3ZpcnRvZGJjdS57 YSxzb30KIAlybSAke0RFU1RESVJ9L3Vzci9saWIvdmlydG9kYmN1X3Iue2Esc299Ci0JIyByZW1v dmUgc3RhdGljIGxpYnMuCi0Jcm0gJHtERVNURElSfS91c3IvbGliL3ZpcnR1b3NvLW9wZW5zb3Vy Y2UtJHt2ZXJzaW9uJSUuKn0vaG9zdGluZy8qLmEKIH0KIAogdmlydHVvc28tYmFzZV9wYWNrYWdl KCkgewpAQCAtNjIsNiArNjAsNiBAQCB2aXJ0dW9zby1iYXNlX3BhY2thZ2UoKSB7CiAJCQkJJHtQ S0dERVNURElSfS91c3IvYmluLyR7YmlufS12dAogCQlkb25lCiAJCSMgUmVtb3ZlIHN0YXRpYyBs aWJzIGFuZCBsaWJ0b29sIGFyY2hpdmVzLgotCQlybSAtZiAke1BLR0RFU1RESVJ9L3Vzci9saWIv Ki57YSxsYX0KKwkJcm0gLWYgJHtQS0dERVNURElSfS91c3IvbGliLyoubGEKIAl9CiB9CgpGcm9t IDllOWQ1MGJmMjMyZTdhNmYwNzY1MjI0Y2U2YTkwNGUzNTNmY2NhOTAgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCkZyb206IEtsYXJhIE1vZGluIDxrbGFyYXNtb2RpbkBnbWFpbC5jb20+CkRhdGU6 IFdlZCwgMSBGZWIgMjAyMyAxNjo0Mzo1OCArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMzkvMzldIHgy Z29jbGllbnQ6IHJldmJ1bXAgZHVlIHRvIG9wZW5sZGFwIHVwZGF0ZQoKLS0tCiBzcmNwa2dzL3gy Z29jbGllbnQvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyks IDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3gyZ29jbGllbnQvdGVtcGxhdGUg Yi9zcmNwa2dzL3gyZ29jbGllbnQvdGVtcGxhdGUKaW5kZXggYmEyZDU3NzgxYzRkLi43MGM5ZmFl YzRkNGUgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MveDJnb2NsaWVudC90ZW1wbGF0ZQorKysgYi9zcmNw a2dzL3gyZ29jbGllbnQvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUg Zm9yICd4MmdvY2xpZW50JwogcGtnbmFtZT14MmdvY2xpZW50CiB2ZXJzaW9uPTQuMS4yLjIKLXJl dmlzaW9uPTIKK3JldmlzaW9uPTMKIGJ1aWxkX3N0eWxlPWdudS1tYWtlZmlsZQogYnVpbGRfaGVs cGVyPXFtYWtlCiBtYWtlX2J1aWxkX2FyZ3M9IlFNQUtFX0JJTkFSWT1xbWFrZS1xdDUgTFJFTEVB U0VfQklOQVJZPWxyZWxlYXNlLXF0NSIK --===============9203468596265702735==--