From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED autolearn=ham autolearn_force=no version=3.4.2 Received: from inbox.vuxu.org (localhost [::1]) by inbox.vuxu.org (OpenSMTPD) with ESMTP id d0b7a7c3 for ; Sat, 1 Feb 2020 10:48:57 +0000 (UTC) Content-Type: multipart/mixed; boundary="===============3471742220475835759==" MIME-Version: 1.0 Subject: Re: [PR PATCH] [Updated] New package: telegram-cli-20200106 To: ml@inbox.vuxu.org From: voidlinux-github@inbox.vuxu.org Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Sat, 01 Feb 2020 11:48:57 +0100 Message-ID: <20200201104857.Dx3q-UGfzsFwM7tisVAfgIUdwTgK7SnstAUVAKxzSG8@z> GitHub notification mails are now in MIME to allow UTF8. --===============3471742220475835759== MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgdGltbXlraWxsIGFnYWluc3QgbWFz dGVyIG9uIHRoZSB2b2lkLXBhY2thZ2VzIHJlcG9zaXRvcnkKCmh0dHBzOi8vZ2l0aHViLmNvbS90 aW1teWtpbGwvdm9pZC1wYWNrYWdlcyB0ZWxlZ3JhbS1jbGkKaHR0cHM6Ly9naXRodWIuY29tL3Zv aWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzE4NjkzCgpOZXcgcGFja2FnZTogdGVsZWdyYW0t Y2xpLTIwMjAwMTA2CgoKQSBwYXRjaCBmaWxlIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQt bGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzE4NjkzLnBhdGNoIGlzIGF0dGFjaGVk --===============3471742220475835759== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-telegram-cli-18693.patch" RnJvbSBlZGEwZTAzNWNlZTZjMzhhMzQ4Mzg4NDQ5Mzg1MzEwNjYwNjU1YTczIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJjbyA8bWFya285OXRoZWJlc3RAZ21haWwuY29tPgpEYXRl OiBGcmksIDMxIEphbiAyMDIwIDE5OjEyOjUxICswMTAwClN1YmplY3Q6IFtQQVRDSF0gTmV3IHBh Y2thZ2U6IHRlbGVncmFtLWNsaS0yMDIwMDEwNgoKLS0tCiAuLi4vcGF0Y2hlcy9jcm9zc19jb21w X2NvbmYucGF0Y2ggICAgICAgICAgICAgfCA3NTkgKysrKysrKysrKysrKysrKysrCiAuLi4vdGVs ZWdyYW0tY2xpL3BhdGNoZXMvY3Jvc3NfY29tcF9sdWEucGF0Y2ggfCA0MzkgKysrKysrKysrKwog c3JjcGtncy90ZWxlZ3JhbS1jbGkvdGVtcGxhdGUgICAgICAgICAgICAgICAgIHwgIDI3ICsKIDMg ZmlsZXMgY2hhbmdlZCwgMTIyNSBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3Jj cGtncy90ZWxlZ3JhbS1jbGkvcGF0Y2hlcy9jcm9zc19jb21wX2NvbmYucGF0Y2gKIGNyZWF0ZSBt b2RlIDEwMDY0NCBzcmNwa2dzL3RlbGVncmFtLWNsaS9wYXRjaGVzL2Nyb3NzX2NvbXBfbHVhLnBh dGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy90ZWxlZ3JhbS1jbGkvdGVtcGxhdGUKCmRp ZmYgLS1naXQgYS9zcmNwa2dzL3RlbGVncmFtLWNsaS9wYXRjaGVzL2Nyb3NzX2NvbXBfY29uZi5w YXRjaCBiL3NyY3BrZ3MvdGVsZWdyYW0tY2xpL3BhdGNoZXMvY3Jvc3NfY29tcF9jb25mLnBhdGNo Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5hMGEwMDJmYjhjYwotLS0g L2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvdGVsZWdyYW0tY2xpL3BhdGNoZXMvY3Jvc3NfY29tcF9j b25mLnBhdGNoCkBAIC0wLDAgKzEsNzU5IEBACistLS0gY29uZmlndXJlCTIwMjAtMDEtMDYgMTE6 NDM6NDQuMDAwMDAwMDAwICswMTAwCisrKysgY29uZmlndXJlLm5ldwkyMDIwLTAyLTAxIDExOjQy OjU0Ljg5MTk5NjExMCArMDEwMAorQEAgLTY0MCw2ICs2NDAsNyBAQAorIExVQV9TSE9SVF9WRVJT SU9OCisgTFVBX1ZFUlNJT04KKyBMVUEKKytTRUQKKyBPUEVOU1NMX0xERkxBR1MKKyBPUEVOU1NM X0xJQlMKKyBPUEVOU1NMX0lOQ0xVREVTCitAQCAtMjE5Niw3ICsyMTk3LDcgQEAKKyAKKyAKKyAj ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQorLSMgICAgICAgICAgaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3 YXJlL2F1dG9jb25mLWFyY2hpdmUvYXhfbHVhLmh0bWwKKysjICAgICAgICAgIGh0dHBzOi8vd3d3 LmdudS5vcmcvc29mdHdhcmUvYXV0b2NvbmYtYXJjaGl2ZS9heF9sdWEuaHRtbAorICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09CisgIworICMgU1lOT1BTSVMKK0BAIC0yMjE1LDggKzIyMTYsOCBAQAorICMg ICBBbHNvIGRldGVjdCBMdWEgaGVhZGVycyBhbmQgbGlicmFyaWVzLiBUaGUgTHVhIHZlcnNpb24g Y29udGFpbmVkIGluIHRoZQorICMgICBoZWFkZXIgaXMgY2hlY2tlZCB0byBtYXRjaCB0aGUgTHVh IGludGVycHJldGVyIHZlcnNpb24gZXhhY3RseS4gV2hlbgorICMgICBzZWFyY2hpbmcgZm9yIEx1 YSBsaWJyYXJpZXMsIHRoZSB2ZXJzaW9uIG51bWJlciBpcyB1c2VkIGFzIGEgc3VmZml4LgorLSMg ICBUaGlzIGlzIGRvbmUgd2l0aCB0aGUgZ29hbCBvZiBzdXBwb3J0aW5nIG11bHRpcGxlIEx1YSBp bnN0YWxscyAoNS4xIGFuZAorLSMgICA1LjIgc2lkZS1ieS1zaWRlKS4KKysjICAgVGhpcyBpcyBk b25lIHdpdGggdGhlIGdvYWwgb2Ygc3VwcG9ydGluZyBtdWx0aXBsZSBMdWEgaW5zdGFsbHMgKDUu MSwKKysjICAgNS4yLCBhbmQgNS4zIHNpZGUtYnktc2lkZSkuCisgIworICMgICBBIG5vdGUgb24g Y29tcGF0aWJpbGl0eSB3aXRoIHByZXZpb3VzIHZlcnNpb25zOiBUaGlzIGZpbGUgaGFzIGJlZW4K KyAjICAgbW9zdGx5IHJld3JpdHRlbiBmb3Igc2VyaWFsIDE4LiBNb3N0IGRldmVsb3BlcnMgc2hv dWxkIGJlIGFibGUgdG8gdXNlCitAQCAtMjI0OCwxMyArMjI0OSwxMCBAQAorICMKKyAjICAgSWYg TUlOSU1VTS1WRVJTSU9OIGlzIHN1cHBsaWVkLCB0aGVuIG9ubHkgTHVhIGludGVycHJldGVycyB3 aXRoIGEKKyAjICAgdmVyc2lvbiBudW1iZXIgZ3JlYXRlciBvciBlcXVhbCB0byBNSU5JTVVNLVZF UlNJT04gd2lsbCBiZSBhY2NlcHRlZC4gSWYKKy0jICAgVE9PLUJJRy0gVkVSU0lPTiBpcyBhbHNv IHN1cHBsaWVkLCB0aGVuIG9ubHkgTHVhIGludGVycHJldGVycyB3aXRoIGEKKysjICAgVE9PLUJJ Ry1WRVJTSU9OIGlzIGFsc28gc3VwcGxpZWQsIHRoZW4gb25seSBMdWEgaW50ZXJwcmV0ZXJzIHdp dGggYQorICMgICB2ZXJzaW9uIG51bWJlciBncmVhdGVyIG9yIGVxdWFsIHRvIE1JTklNVU0tVkVS U0lPTiBhbmQgbGVzcyB0aGFuCisgIyAgIFRPTy1CSUctVkVSU0lPTiB3aWxsIGJlIGFjY2VwdGVk LgorICMKKy0jICAgVmVyc2lvbiBjb21wYXJpc29ucyByZXF1aXJlIHRoZSBBWF9DT01QQVJFX1ZF UlNJT04gbWFjcm8sIHdoaWNoIGlzCistIyAgIHByb3ZpZGVkIGJ5IGF4X2NvbXBhcmVfdmVyc2lv bi5tNCBmcm9tIHRoZSBBdXRvY29uZiBBcmNoaXZlLgorLSMKKyAjICAgVGhlIEx1YSB2ZXJzaW9u IG51bWJlciwgTFVBX1ZFUlNJT04sIGlzIGZvdW5kIGZyb20gdGhlIGludGVycHJldGVyLCBhbmQK KyAjICAgc3Vic3RpdHV0ZWQuIExVQV9QTEFURk9STSBpcyBhbHNvIGZvdW5kLCBidXQgbm90IGN1 cnJlbnRseSBzdXBwb3J0ZWQgKG5vCisgIyAgIHN0YW5kYXJkIHJlcHJlc2VudGF0aW9uKS4KK0BA IC0yMjY2LDEyICsyMjY0LDEzIEBACisgIyAgICAgbHVhZXhlY2RpciAgICAgICAgIERpcmVjdG9y eSB0byBpbnN0YWxsIEx1YSBtb2R1bGVzLgorICMgICAgIHBrZ2x1YWV4ZWNkaXIgICAgICAkbHVh ZXhlY2Rpci8kUEFDS0FHRQorICMKKy0jICAgVGhlc2UgcGF0aHMgYSBmb3VuZCBiYXNlZCBvbiAk cHJlZml4LCAkZXhlY19wcmVmaXgsIEx1YSdzIHBhY2thZ2UucGF0aCwKKy0jICAgYW5kIHBhY2th Z2UuY3BhdGguIFRoZSBmaXJzdCBwYXRoIG9mIHBhY2thZ2UucGF0aCBiZWdpbm5pbmcgd2l0aCAk cHJlZml4CistIyAgIGlzIHNlbGVjdGVkIGFzIGx1YWRpci4gVGhlIGZpcnN0IHBhdGggb2YgcGFj a2FnZS5jcGF0aCBiZWdpbm5pbmcgd2l0aAorLSMgICAkZXhlY19wcmVmaXggaXMgdXNlZCBhcyBs dWFleGVjZGlyLiBUaGlzIHNob3VsZCB3b3JrIG9uIGFsbCByZWFzb25hYmxlCistIyAgIEx1YSBp bnN0YWxsYXRpb25zLiBJZiBhIHBhdGggY2Fubm90IGJlIGRldGVybWluZWQsIGEgZGVmYXVsdCBw YXRoIGlzCistIyAgIHVzZWQuIE9mIGNvdXJzZSwgdGhlIHVzZXIgY2FuIG92ZXJyaWRlIHRoZXNl IGxhdGVyIHdoZW4gaW52b2tpbmcgbWFrZS4KKysjICAgVGhlc2UgcGF0aHMgYXJlIGZvdW5kIGJh c2VkIG9uICRwcmVmaXgsICRleGVjX3ByZWZpeCwgTHVhJ3MKKysjICAgcGFja2FnZS5wYXRoLCBh bmQgcGFja2FnZS5jcGF0aC4gVGhlIGZpcnN0IHBhdGggb2YgcGFja2FnZS5wYXRoCisrIyAgIGJl Z2lubmluZyB3aXRoICRwcmVmaXggaXMgc2VsZWN0ZWQgYXMgbHVhZGlyLiBUaGUgZmlyc3QgcGF0 aCBvZgorKyMgICBwYWNrYWdlLmNwYXRoIGJlZ2lubmluZyB3aXRoICRleGVjX3ByZWZpeCBpcyB1 c2VkIGFzIGx1YWV4ZWNkaXIuIFRoaXMKKysjICAgc2hvdWxkIHdvcmsgb24gYWxsIHJlYXNvbmFi bGUgTHVhIGluc3RhbGxhdGlvbnMuIElmIGEgcGF0aCBjYW5ub3QgYmUKKysjICAgZGV0ZXJtaW5l ZCwgYSBkZWZhdWx0IHBhdGggaXMgdXNlZC4gT2YgY291cnNlLCB0aGUgdXNlciBjYW4gb3ZlcnJp ZGUKKysjICAgdGhlc2UgbGF0ZXIgd2hlbiBpbnZva2luZyBtYWtlLgorICMKKyAjICAgICBsdWFk aXIgICAgICAgICAgICAgRGVmYXVsdDogJHByZWZpeC9zaGFyZS9sdWEvJExVQV9WRVJTSU9OCisg IyAgICAgbHVhZXhlY2RpciAgICAgICAgIERlZmF1bHQ6ICRleGVjX3ByZWZpeC9saWIvbHVhLyRM VUFfVkVSU0lPTgorQEAgLTIzNTEsOCArMjM1MCw4IEBACisgIworICMgTElDRU5TRQorICMKKy0j ICAgQ29weXJpZ2h0IChjKSAyMDEzIFRpbSBQZXJraW5zIDx0cHJrNzdAZ21haWwuY29tPgorLSMg ICBDb3B5cmlnaHQgKGMpIDIwMTMgUmV1YmVuIFRob21hcyA8cnJ0QHNjM2Qub3JnPgorKyMgICBD b3B5cmlnaHQgKGMpIDIwMTUgUmV1YmVuIFRob21hcyA8cnJ0QHNjM2Qub3JnPgorKyMgICBDb3B5 cmlnaHQgKGMpIDIwMTQgVGltIFBlcmtpbnMgPHRwcms3N0BnbWFpbC5jb20+CisgIworICMgICBU aGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k L29yIG1vZGlmeSBpdAorICMgICB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUKK0BAIC0yMzY1LDcgKzIzNjQsNyBAQAor ICMgICBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICMKKyAjICAgWW91IHNob3Vs ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug YWxvbmcKKy0jICAgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3Lmdu dS5vcmcvbGljZW5zZXMvPi4KKysjICAgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxo dHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisgIworICMgICBBcyBhIHNwZWNpYWwgZXhj ZXB0aW9uLCB0aGUgcmVzcGVjdGl2ZSBBdXRvY29uZiBNYWNybydzIGNvcHlyaWdodCBvd25lcgor ICMgICBnaXZlcyB1bmxpbWl0ZWQgcGVybWlzc2lvbiB0byBjb3B5LCBkaXN0cmlidXRlIGFuZCBt b2RpZnkgdGhlIGNvbmZpZ3VyZQorQEAgLTIzODAsNyArMjM3OSw3IEBACisgIyAgIG1vZGlmaWVk IHZlcnNpb24gb2YgdGhlIEF1dG9jb25mIE1hY3JvLCB5b3UgbWF5IGV4dGVuZCB0aGlzIHNwZWNp YWwKKyAjICAgZXhjZXB0aW9uIHRvIHRoZSBHUEwgdG8gYXBwbHkgdG8geW91ciBtb2RpZmllZCB2 ZXJzaW9uIGFzIHdlbGwuCisgCistI3NlcmlhbCAyMQorKyNzZXJpYWwgNDAKKyAKKyAKKyAKK0BA IC00NzU4LDYgKzQ3NTcsNzUgQEAKKyAKKyB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8t JExJTkVOT306IGNoZWNraW5nIGZvciBsaWJsdWEiID4mNQorICRhc19lY2hvX24gImNoZWNraW5n IGZvciBsaWJsdWEuLi4gIiA+JjY7IH0KKyt7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8t JExJTkVOT306IGNoZWNraW5nIGZvciBhIHNlZCB0aGF0IGRvZXMgbm90IHRydW5jYXRlIG91dHB1 dCIgPiY1CisrJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIGEgc2VkIHRoYXQgZG9lcyBub3QgdHJ1 bmNhdGUgb3V0cHV0Li4uICIgPiY2OyB9CisraWYgJHthY19jdl9wYXRoX1NFRCs6fSBmYWxzZTsg dGhlbiA6CisrICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgorK2Vsc2UKKysgICAgICAgICAg ICBhY19zY3JpcHQ9cy9hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYS9iYmJiYmJi YmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmIvCisrICAgICBmb3IgYWNfaSBpbiAxIDIgMyA0IDUg NiA3OyBkbworKyAgICAgICBhY19zY3JpcHQ9IiRhY19zY3JpcHQkYXNfbmwkYWNfc2NyaXB0Igor KyAgICAgZG9uZQorKyAgICAgZWNobyAiJGFjX3NjcmlwdCIgMj4vZGV2L251bGwgfCBzZWQgOTlx ID5jb25mdGVzdC5zZWQKKysgICAgIHsgYWNfc2NyaXB0PTsgdW5zZXQgYWNfc2NyaXB0O30KKysg ICAgIGlmIHRlc3QgLXogIiRTRUQiOyB0aGVuCisrICBhY19wYXRoX1NFRF9mb3VuZD1mYWxzZQor KyAgIyBMb29wIHRocm91Z2ggdGhlIHVzZXIncyBwYXRoIGFuZCB0ZXN0IGZvciBlYWNoIG9mIFBS T0dOQU1FLUxJU1QKKysgIGFzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKKytm b3IgYXNfZGlyIGluICRQQVRICisrZG8KKysgIElGUz0kYXNfc2F2ZV9JRlMKKysgIHRlc3QgLXog IiRhc19kaXIiICYmIGFzX2Rpcj0uCisrICAgIGZvciBhY19wcm9nIGluIHNlZCBnc2VkOyBkbwor KyAgICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8K KysgICAgICBhY19wYXRoX1NFRD0iJGFzX2Rpci8kYWNfcHJvZyRhY19leGVjX2V4dCIKKysgICAg ICBhc19mbl9leGVjdXRhYmxlX3AgIiRhY19wYXRoX1NFRCIgfHwgY29udGludWUKKysjIENoZWNr IGZvciBHTlUgYWNfcGF0aF9TRUQgYW5kIHNlbGVjdCBpdCBpZiBpdCBpcyBmb3VuZC4KKysgICMg Q2hlY2sgZm9yIEdOVSAkYWNfcGF0aF9TRUQKKytjYXNlIGAiJGFjX3BhdGhfU0VEIiAtLXZlcnNp b24gMj4mMWAgaW4KKysqR05VKikKKysgIGFjX2N2X3BhdGhfU0VEPSIkYWNfcGF0aF9TRUQiIGFj X3BhdGhfU0VEX2ZvdW5kPTo7OworKyopCisrICBhY19jb3VudD0wCisrICAkYXNfZWNob19uIDAx MjM0NTY3ODkgPiJjb25mdGVzdC5pbiIKKysgIHdoaWxlIDoKKysgIGRvCisrICAgIGNhdCAiY29u ZnRlc3QuaW4iICJjb25mdGVzdC5pbiIgPiJjb25mdGVzdC50bXAiCisrICAgIG12ICJjb25mdGVz dC50bXAiICJjb25mdGVzdC5pbiIKKysgICAgY3AgImNvbmZ0ZXN0LmluIiAiY29uZnRlc3Qubmwi CisrICAgICRhc19lY2hvICcnID4+ICJjb25mdGVzdC5ubCIKKysgICAgIiRhY19wYXRoX1NFRCIg LWYgY29uZnRlc3Quc2VkIDwgImNvbmZ0ZXN0Lm5sIiA+ImNvbmZ0ZXN0Lm91dCIgMj4vZGV2L251 bGwgfHwgYnJlYWsKKysgICAgZGlmZiAiY29uZnRlc3Qub3V0IiAiY29uZnRlc3QubmwiID4vZGV2 L251bGwgMj4mMSB8fCBicmVhaworKyAgICBhc19mbl9hcml0aCAkYWNfY291bnQgKyAxICYmIGFj X2NvdW50PSRhc192YWwKKysgICAgaWYgdGVzdCAkYWNfY291bnQgLWd0ICR7YWNfcGF0aF9TRURf bWF4LTB9OyB0aGVuCisrICAgICAgIyBCZXN0IG9uZSBzbyBmYXIsIHNhdmUgaXQgYnV0IGtlZXAg bG9va2luZyBmb3IgYSBiZXR0ZXIgb25lCisrICAgICAgYWNfY3ZfcGF0aF9TRUQ9IiRhY19wYXRo X1NFRCIKKysgICAgICBhY19wYXRoX1NFRF9tYXg9JGFjX2NvdW50CisrICAgIGZpCisrICAgICMg MTAqKDJeMTApIGNoYXJzIGFzIGlucHV0IHNlZW1zIG1vcmUgdGhhbiBlbm91Z2gKKysgICAgdGVz dCAkYWNfY291bnQgLWd0IDEwICYmIGJyZWFrCisrICBkb25lCisrICBybSAtZiBjb25mdGVzdC5p biBjb25mdGVzdC50bXAgY29uZnRlc3QubmwgY29uZnRlc3Qub3V0OzsKKytlc2FjCisrCisrICAg ICAgJGFjX3BhdGhfU0VEX2ZvdW5kICYmIGJyZWFrIDMKKysgICAgZG9uZQorKyAgZG9uZQorKyAg ZG9uZQorK0lGUz0kYXNfc2F2ZV9JRlMKKysgIGlmIHRlc3QgLXogIiRhY19jdl9wYXRoX1NFRCI7 IHRoZW4KKysgICAgYXNfZm5fZXJyb3IgJD8gIm5vIGFjY2VwdGFibGUgc2VkIGNvdWxkIGJlIGZv dW5kIGluIFwkUEFUSCIgIiRMSU5FTk8iIDUKKysgIGZpCisrZWxzZQorKyAgYWNfY3ZfcGF0aF9T RUQ9JFNFRAorK2ZpCisrCisrZmkKKyt7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJ TkVOT306IHJlc3VsdDogJGFjX2N2X3BhdGhfU0VEIiA+JjUKKyskYXNfZWNobyAiJGFjX2N2X3Bh dGhfU0VEIiA+JjY7IH0KKysgU0VEPSIkYWNfY3ZfcGF0aF9TRUQiCisrICBybSAtZiBjb25mdGVz dC5zZWQKKysKKyAjIENoZWNrIHdoZXRoZXIgLS1lbmFibGUtbGlibHVhIHdhcyBnaXZlbi4KKyBp ZiB0ZXN0ICIke2VuYWJsZV9saWJsdWErc2V0fSIgPSBzZXQ7IHRoZW4gOgorICAgZW5hYmxldmFs PSRlbmFibGVfbGlibHVhOworQEAgLTQ3NzIsOCArNDg0MCwxMSBAQAorIAorIAorIAorKworKwor KworICAgICAgICBpZiB0ZXN0ICJ4JExVQSIgPSAneCc7IHRoZW4gOgorLSAgZm9yIGFjX3Byb2cg aW4gbHVhIGx1YTUuMiBsdWE1MiBsdWE1LjEgbHVhNTEgbHVhNTAKKysgIGZvciBhY19wcm9nIGlu IGx1YSBsdWE1LjMgbHVhNTMgbHVhNS4yIGx1YTUyIGx1YTUuMSBsdWE1MSBsdWE1MAorIGRvCisg ICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIiRhY19wcm9nIiwgc28gaXQgY2FuIGJlIGEg cHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KKyBzZXQgZHVtbXkgJGFjX3Byb2c7IGFjX3dvcmQ9JDIK K0BAIC00ODIyLDIwICs0ODkzLDMzIEBACisgZmkKKyAgICAgYXhfZGlzcGxheV9MVUE9J2x1YScK KyAKKy0gICAgICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hl Y2tpbmcgaWYgJExVQSBpcyBhIEx1YSBpbnRlcnByZXRlciIgPiY1CisrICAgIGlmIHRlc3QgIngk TFVBIiAhPSAneDonOyB0aGVuIDoKKysgICAgICAgICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2Fz X2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgaWYgJExVQSBpcyBhIEx1YSBpbnRlcnByZXRlciIg PiY1CisgJGFzX2VjaG9fbiAiY2hlY2tpbmcgaWYgJExVQSBpcyBhIEx1YSBpbnRlcnByZXRlci4u LiAiID4mNjsgfQorIAorLSAgICBpZiAkTFVBIC1lICJwcmludCgnSGVsbG8gJyAuLiBfVkVSU0lP TiAuLiAnIScpIiAmPi9kZXYvbnVsbDsgdGhlbiA6CisrICAgICAgX2F4X2x1YV9mYWN0b3JpYWw9 YCRMVUEgMj4vZGV2L251bGwgLWUgJworKyAgICAtLSBhIHNpbXBsZSBmYWN0b3JpYWwKKysgICAg ZnVuY3Rpb24gZmFjdCAobikKKysgICAgICBpZiBuID09IDAgdGhlbgorKyAgICAgICAgcmV0dXJu IDEKKysgICAgICBlbHNlCisrICAgICAgICByZXR1cm4gbiAqIGZhY3Qobi0xKQorKyAgICAgIGVu ZAorKyAgICBlbmQKKysgICAgcHJpbnQoImZhY3QoNSkgaXMgIiAuLiBmYWN0KDUpKSdgCisrICBp ZiB0ZXN0ICIkX2F4X2x1YV9mYWN0b3JpYWwiID0gJ2ZhY3QoNSkgaXMgMTIwJzsgdGhlbiA6Cisg ICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogeWVzIiA+ JjUKKyAkYXNfZWNobyAieWVzIiA+JjY7IH0KKyBlbHNlCisgICAgeyAkYXNfZWNobyAiJGFzX21l OiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+JjUKKyAkYXNfZWNobyAibm8iID4m NjsgfQorLSAgICAgICAgYXNfZm5fZXJyb3IgJD8gIm5vdCBhIEx1YSBpbnRlcnByZXRlciIgIiRM SU5FTk8iIDUKKysgICAgICAgICAgICBhc19mbl9lcnJvciAkPyAibm90IGEgTHVhIGludGVycHJl dGVyIiAiJExJTkVOTyIgNQorIAorIGZpCisgCisgCisrZmkKKysKKyAKKyAgIGlmIHRlc3QgIngk TFVBIiA9ICd4Oic7IHRoZW4gOgorIAorQEAgLTQ4NDgsOSArNDkzMiwxMCBAQAorIGlmICR7YXhf Y3ZfbHVhX3ZlcnNpb24rOn0gZmFsc2U7IHRoZW4gOgorICAgJGFzX2VjaG9fbiAiKGNhY2hlZCkg IiA+JjYKKyBlbHNlCistICAgYXhfY3ZfbHVhX3ZlcnNpb249YCRMVUEgLWUgInByaW50KF9WRVJT SU9OKSIgfCBcCistICAgICAgICAgIHNlZCAic3xeTHVhIFwoLipcKXxcMXwiIHwgXAorLSAgICAg ICAgICBncmVwIC1FIC1vICJeWzAtOV0rXC5bMC05XSsiYAorKyAgICAgICAgICAgICAgICAgICBh eF9jdl9sdWFfdmVyc2lvbj1gJExVQSAtZSAnCisrICAgICAgICAgIC0tIHJldHVybiBhIHZlcnNp b24gbnVtYmVyIGluIFguWSBmb3JtYXQKKysgICAgICAgICAgbG9jYWwgXywgXywgdmVyID0gc3Ry aW5nLmZpbmQoX1ZFUlNJT04sICJeTHVhICglZCslLiVkKykiKQorKyAgICAgICAgICBwcmludCh2 ZXIpJ2AKKyAKKyBmaQorIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTog cmVzdWx0OiAkYXhfY3ZfbHVhX3ZlcnNpb24iID4mNQorQEAgLTQ4NjAsNyArNDk0NSw3IEBACisg ZmkKKyAgICAgTFVBX1ZFUlNJT049JGF4X2N2X2x1YV92ZXJzaW9uCisgCistICAgIExVQV9TSE9S VF9WRVJTSU9OPWBlY2hvICIkTFVBX1ZFUlNJT04iIHwgc2VkICdzfFwufHwnYAorKyAgICBMVUFf U0hPUlRfVkVSU0lPTj1gZWNobyAiJExVQV9WRVJTSU9OIiB8ICRTRUQgJ3N8XC58fCdgCisgCisg CisgICAgICAgICAgICAgICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5P fTogY2hlY2tpbmcgZm9yICRheF9kaXNwbGF5X0xVQSBwbGF0Zm9ybSIgPiY1CitAQCAtNDg2OCw3 ICs0OTUzLDcgQEAKKyBpZiAke2F4X2N2X2x1YV9wbGF0Zm9ybSs6fSBmYWxzZTsgdGhlbiA6Cisg ICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgorIGVsc2UKKy0gIGF4X2N2X2x1YV9wbGF0Zm9y bT1gJExVQSAtZSAicHJpbnQoJ3Vua25vd24nKSJgCisrICBheF9jdl9sdWFfcGxhdGZvcm09YCRM VUEgLWUgJ3ByaW50KCJ1bmtub3duIiknYAorIGZpCisgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNf bGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRheF9jdl9sdWFfcGxhdGZvcm0iID4mNQorICRhc19l Y2hvICIkYXhfY3ZfbHVhX3BsYXRmb3JtIiA+JjY7IH0KK0BAIC00ODk1LDI2ICs0OTgwLDM3IEBA CisgCisgCisgCistICBheF9sdWFfcHJlZml4ZWRfcGF0aD0nJworLSAgX2F4X3BhY2thZ2VfcGF0 aHM9YCRMVUEgLWUgJ3ByaW50KHBhY2thZ2UucGF0aCknIDI+L2Rldi9udWxsIHwgc2VkICdzfDt8 XG58ZydgCistICAgIGZvciBfYXhfcGFja2FnZV9wYXRoIGluICRfYXhfcGFja2FnZV9wYXRoczsg ZG8KKy0gICAgICAgIF9heF9wYXRoX3BhcnRzPWBlY2hvICIkX2F4X3BhY2thZ2VfcGF0aCIgfCBz ZWQgJ3N8L3xcbnxnJ2AKKy0gICAgX2F4X3JlYXNzZW1ibGVkPScnCistICAgIGZvciBfYXhfcGF0 aF9wYXJ0IGluICRfYXhfcGF0aF9wYXJ0czsgZG8KKy0gICAgICBlY2hvICIkX2F4X3BhdGhfcGFy dCIgfCBncmVwICdcPycgPi9kZXYvbnVsbCAmJiBicmVhaworLSAgICAgIF9heF9yZWFzc2VtYmxl ZD0iJF9heF9yZWFzc2VtYmxlZC8kX2F4X3BhdGhfcGFydCIKKy0gICAgZG9uZQorLSAgICAgICAg X2F4X3BhY2thZ2VfcGF0aD0kX2F4X3JlYXNzZW1ibGVkCistICAgIGlmIGVjaG8gIiRfYXhfcGFj a2FnZV9wYXRoIiB8IGdyZXAgIl4kYXhfbHVhX3ByZWZpeCIgPi9kZXYvbnVsbDsgdGhlbgorLSAg ICAgICAgICAgIGF4X2x1YV9wcmVmaXhlZF9wYXRoPSRfYXhfcGFja2FnZV9wYXRoCistICAgICAg YnJlYWsKKy0gICAgZmkKKy0gIGRvbmUKKysgIGF4X2x1YV9wcmVmaXhlZF9wYXRoPWAkTFVBIC1l ICcKKysgICAgLS0gZ2V0IHRoZSBwYXRoIGJhc2VkIG9uIHNlYXJjaCB0eXBlCisrICAgIGxvY2Fs IHNlYXJjaHR5cGUgPSAic2NyaXB0IgorKyAgICBsb2NhbCBwYXRocyA9ICIiCisrICAgIGlmIHNl YXJjaHR5cGUgPT0gInNjcmlwdCIgdGhlbgorKyAgICAgIHBhdGhzID0gKHBhY2thZ2UgYW5kIHBh Y2thZ2UucGF0aCkgb3IgTFVBX1BBVEgKKysgICAgZWxzZWlmIHNlYXJjaHR5cGUgPT0gIm1vZHVs ZSIgdGhlbgorKyAgICAgIHBhdGhzID0gKHBhY2thZ2UgYW5kIHBhY2thZ2UuY3BhdGgpIG9yIExV QV9DUEFUSAorKyAgICBlbmQKKysgICAgLS0gc2VhcmNoIGZvciB0aGUgcHJlZml4CisrICAgIGxv Y2FsIHByZWZpeCA9ICInJGF4X2x1YV9wcmVmaXgnIgorKyAgICBsb2NhbCBtaW5wYXRoID0gIiIK KysgICAgbG9jYWwgbWluZGVwdGggPSAxZTkKKysgICAgc3RyaW5nLmdzdWIocGF0aHMsICIoW147 XSspIiwKKysgICAgICBmdW5jdGlvbiAocGF0aCkKKysgICAgICAgIHBhdGggPSBzdHJpbmcuZ3N1 YihwYXRoLCAiJT8uKiQiLCAiIikKKysgICAgICAgIHBhdGggPSBzdHJpbmcuZ3N1YihwYXRoLCAi L1teL10qJCIsICIiKQorKyAgICAgICAgaWYgc3RyaW5nLmZpbmQocGF0aCwgcHJlZml4KSB0aGVu CisrICAgICAgICAgIGxvY2FsIGRlcHRoID0gc3RyaW5nLmxlbihzdHJpbmcuZ3N1YihwYXRoLCAi W14vXSIsICIiKSkKKysgICAgICAgICAgaWYgZGVwdGggPCBtaW5kZXB0aCB0aGVuCisrICAgICAg ICAgICAgbWlucGF0aCA9IHBhdGgKKysgICAgICAgICAgICBtaW5kZXB0aCA9IGRlcHRoCisrICAg ICAgICAgIGVuZAorKyAgICAgICAgZW5kCisrICAgICAgZW5kKQorKyAgICBwcmludChtaW5wYXRo KSdgCisgCisgICAgICAgICBpZiB0ZXN0ICJ4JGF4X2x1YV9wcmVmaXhlZF9wYXRoIiAhPSAneCc7 IHRoZW4gOgorLSAgICAgICAgICAgICBfYXhfc3RyaXBfcHJlZml4PWBlY2hvICIkYXhfbHVhX3By ZWZpeCIgfCBzZWQgJ3N8LnwufGcnYAorKyAgICAgICAgICAgICBfYXhfc3RyaXBfcHJlZml4PWBl Y2hvICIkYXhfbHVhX3ByZWZpeCIgfCAkU0VEICdzfC58LnxnJ2AKKyAgICAgICAgICAgYXhfY3Zf bHVhX2x1YWRpcj1gZWNobyAiJGF4X2x1YV9wcmVmaXhlZF9wYXRoIiB8IFwKKy0gICAgICAgICAg ICBzZWQgInMsXiRfYXhfc3RyaXBfcHJlZml4LCRMVUFfUFJFRklYLCJgCisrICAgICAgICAgICAg JFNFRCAic3xeJF9heF9zdHJpcF9wcmVmaXh8JExVQV9QUkVGSVh8ImAKKyAKKyBmaQorIAorQEAg LTQ5NDEsMjYgKzUwMzcsMzcgQEAKKyAKKyAKKyAKKy0gIGF4X2x1YV9wcmVmaXhlZF9wYXRoPScn CistICBfYXhfcGFja2FnZV9wYXRocz1gJExVQSAtZSAncHJpbnQocGFja2FnZS5jcGF0aGQpJyAy Pi9kZXYvbnVsbCB8IHNlZCAnc3w7fFxufGcnYAorLSAgICBmb3IgX2F4X3BhY2thZ2VfcGF0aCBp biAkX2F4X3BhY2thZ2VfcGF0aHM7IGRvCistICAgICAgICBfYXhfcGF0aF9wYXJ0cz1gZWNobyAi JF9heF9wYWNrYWdlX3BhdGgiIHwgc2VkICdzfC98XG58ZydgCistICAgIF9heF9yZWFzc2VtYmxl ZD0nJworLSAgICBmb3IgX2F4X3BhdGhfcGFydCBpbiAkX2F4X3BhdGhfcGFydHM7IGRvCistICAg ICAgZWNobyAiJF9heF9wYXRoX3BhcnQiIHwgZ3JlcCAnXD8nID4vZGV2L251bGwgJiYgYnJlYWsK Ky0gICAgICBfYXhfcmVhc3NlbWJsZWQ9IiRfYXhfcmVhc3NlbWJsZWQvJF9heF9wYXRoX3BhcnQi CistICAgIGRvbmUKKy0gICAgICAgIF9heF9wYWNrYWdlX3BhdGg9JF9heF9yZWFzc2VtYmxlZAor LSAgICBpZiBlY2hvICIkX2F4X3BhY2thZ2VfcGF0aCIgfCBncmVwICJeJGF4X2x1YV9leGVjX3By ZWZpeCIgPi9kZXYvbnVsbDsgdGhlbgorLSAgICAgICAgICAgIGF4X2x1YV9wcmVmaXhlZF9wYXRo PSRfYXhfcGFja2FnZV9wYXRoCistICAgICAgYnJlYWsKKy0gICAgZmkKKy0gIGRvbmUKKysgIGF4 X2x1YV9wcmVmaXhlZF9wYXRoPWAkTFVBIC1lICcKKysgICAgLS0gZ2V0IHRoZSBwYXRoIGJhc2Vk IG9uIHNlYXJjaCB0eXBlCisrICAgIGxvY2FsIHNlYXJjaHR5cGUgPSAibW9kdWxlIgorKyAgICBs b2NhbCBwYXRocyA9ICIiCisrICAgIGlmIHNlYXJjaHR5cGUgPT0gInNjcmlwdCIgdGhlbgorKyAg ICAgIHBhdGhzID0gKHBhY2thZ2UgYW5kIHBhY2thZ2UucGF0aCkgb3IgTFVBX1BBVEgKKysgICAg ZWxzZWlmIHNlYXJjaHR5cGUgPT0gIm1vZHVsZSIgdGhlbgorKyAgICAgIHBhdGhzID0gKHBhY2th Z2UgYW5kIHBhY2thZ2UuY3BhdGgpIG9yIExVQV9DUEFUSAorKyAgICBlbmQKKysgICAgLS0gc2Vh cmNoIGZvciB0aGUgcHJlZml4CisrICAgIGxvY2FsIHByZWZpeCA9ICInJGF4X2x1YV9leGVjX3By ZWZpeCciCisrICAgIGxvY2FsIG1pbnBhdGggPSAiIgorKyAgICBsb2NhbCBtaW5kZXB0aCA9IDFl OQorKyAgICBzdHJpbmcuZ3N1YihwYXRocywgIihbXjtdKykiLAorKyAgICAgIGZ1bmN0aW9uIChw YXRoKQorKyAgICAgICAgcGF0aCA9IHN0cmluZy5nc3ViKHBhdGgsICIlPy4qJCIsICIiKQorKyAg ICAgICAgcGF0aCA9IHN0cmluZy5nc3ViKHBhdGgsICIvW14vXSokIiwgIiIpCisrICAgICAgICBp ZiBzdHJpbmcuZmluZChwYXRoLCBwcmVmaXgpIHRoZW4KKysgICAgICAgICAgbG9jYWwgZGVwdGgg PSBzdHJpbmcubGVuKHN0cmluZy5nc3ViKHBhdGgsICJbXi9dIiwgIiIpKQorKyAgICAgICAgICBp ZiBkZXB0aCA8IG1pbmRlcHRoIHRoZW4KKysgICAgICAgICAgICBtaW5wYXRoID0gcGF0aAorKyAg ICAgICAgICAgIG1pbmRlcHRoID0gZGVwdGgKKysgICAgICAgICAgZW5kCisrICAgICAgICBlbmQK KysgICAgICBlbmQpCisrICAgIHByaW50KG1pbnBhdGgpJ2AKKyAKKyAgICAgICAgIGlmIHRlc3Qg IngkYXhfbHVhX3ByZWZpeGVkX3BhdGgiICE9ICd4JzsgdGhlbiA6CistICAgICAgICAgICAgIF9h eF9zdHJpcF9wcmVmaXg9YGVjaG8gIiRheF9sdWFfZXhlY19wcmVmaXgiIHwgc2VkICdzfC58Lnxn J2AKKysgICAgICAgICAgICAgX2F4X3N0cmlwX3ByZWZpeD1gZWNobyAiJGF4X2x1YV9leGVjX3By ZWZpeCIgfCAkU0VEICdzfC58LnxnJ2AKKyAgICAgICAgICAgYXhfY3ZfbHVhX2x1YWV4ZWNkaXI9 YGVjaG8gIiRheF9sdWFfcHJlZml4ZWRfcGF0aCIgfCBcCistICAgICAgICAgICAgc2VkICJzLF4k X2F4X3N0cmlwX3ByZWZpeCwkTFVBX0VYRUNfUFJFRklYLCJgCisrICAgICAgICAgICAgJFNFRCAi c3xeJF9heF9zdHJpcF9wcmVmaXh8JExVQV9FWEVDX1BSRUZJWHwiYAorIAorIGZpCisgCitAQCAt NDk4OCw3ICs1MDk1LDcgQEAKKyAKKyAKKyAKKy0gICAgTFVBX1NIT1JUX1ZFUlNJT049YGVjaG8g IiRMVUFfVkVSU0lPTiIgfCBzZWQgJ3N8XC58fCdgCisrICAgIExVQV9TSE9SVF9WRVJTSU9OPWBl Y2hvICIkTFVBX1ZFUlNJT04iIHwgJFNFRCAnc3xcLnx8J2AKKyAKKyAKKyAgICAgX2F4X2x1YV9z YXZlZF9jcHBmbGFncz0kQ1BQRkxBR1MKK0BAIC01MDExLDYgKzUxMTgsNyBAQAorICAgICBpZiB0 ZXN0ICJ4JExVQV9JTkNMVURFIiA9ICd4JyAmJgorICAgICAgICAgIHRlc3QgIngkYWNfY3ZfaGVh ZGVyX2x1YV9oIiAhPSAneHllcyc7IHRoZW4gOgorICAgICAgICAgIGZvciBfYXhfaW5jbHVkZV9w YXRoIGluICAvdXNyL2luY2x1ZGUvbHVhJExVQV9WRVJTSU9OIFwKKysgICAgICAvdXNyL2luY2x1 ZGUvbHVhLSRMVUFfVkVSU0lPTiBcCisgICAgICAgL3Vzci9pbmNsdWRlL2x1YS8kTFVBX1ZFUlNJ T04gXAorICAgICAgIC91c3IvaW5jbHVkZS9sdWEkTFVBX1NIT1JUX1ZFUlNJT04gXAorICAgICAg IC91c3IvbG9jYWwvaW5jbHVkZS9sdWEkTFVBX1ZFUlNJT04gXAorQEAgLTUwNTgsMTQgKzUxNjYs MTUgQEAKKyAKKyAgIGlmIHRlc3QgIngkYWNfY3ZfaGVhZGVyX2x1YV9oIiA9ICd4eWVzJzsgdGhl biA6CisgCistICAgICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBj aGVja2luZyBmb3IgTHVhIGhlYWRlciB2ZXJzaW9uIiA+JjUKKysgICAgICBpZiB0ZXN0ICJ4JGNy b3NzX2NvbXBpbGluZyIgIT0gJ3h5ZXMnOyB0aGVuIDoKKysgICB7ICRhc19lY2hvICIkYXNfbWU6 JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBMdWEgaGVhZGVyIHZlcnNpb24iID4m NQorICRhc19lY2hvX24gImNoZWNraW5nIGZvciBMdWEgaGVhZGVyIHZlcnNpb24uLi4gIiA+JjY7 IH0KKyBpZiAke2F4X2N2X2x1YV9oZWFkZXJfdmVyc2lvbis6fSBmYWxzZTsgdGhlbiA6CisgICAk YXNfZWNob19uICIoY2FjaGVkKSAiID4mNgorIGVsc2UKKyAgICBfYXhfbHVhX3NhdmVkX2NwcGZs YWdzPSRDUFBGTEFHUworLSAgICAgICAgICBDUFBGTEFHUz0iJENQUEZMQUdTICRMVUFfSU5DTFVE RSIKKy0gICAgICAgICAgaWYgdGVzdCAiJGNyb3NzX2NvbXBpbGluZyIgPSB5ZXM7IHRoZW4gOgor KyAgICAgICAgICAgICAgQ1BQRkxBR1M9IiRDUFBGTEFHUyAkTFVBX0lOQ0xVREUiCisrICAgICAg ICAgICAgICBpZiB0ZXN0ICIkY3Jvc3NfY29tcGlsaW5nIiA9IHllczsgdGhlbiA6CisgICB7IHsg JGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogZXJyb3I6IGluIFxgJGFjX3B3 ZCc6IiA+JjUKKyAkYXNfZWNobyAiJGFzX21lOiBlcnJvcjogaW4gXGAkYWNfcHdkJzoiID4mMjt9 CisgYXNfZm5fZXJyb3IgJD8gImNhbm5vdCBydW4gdGVzdCBwcm9ncmFtIHdoaWxlIGNyb3NzIGNv bXBpbGluZworQEAgLTUwODcsOCArNTE5Niw3IEBACisgX0FDRU9GCisgaWYgYWNfZm5fY190cnlf cnVuICIkTElORU5PIjsgdGhlbiA6CisgICAgYXhfY3ZfbHVhX2hlYWRlcl92ZXJzaW9uPWAuL2Nv bmZ0ZXN0JEVYRUVYVCBwIHwgXAorLSAgICAgICAgICAgICAgICBzZWQgInN8Xkx1YSBcKC4qXCl8 XDF8IiB8IFwKKy0gICAgICAgICAgICAgICAgZ3JlcCAtRSAtbyAiXlswLTldK1wuWzAtOV0rImAK KysgICAgICAgICAgICAgICAgICAgICRTRUQgLW4gInN8Xkx1YSBcKFswLTldXHsxLFx9XC5bMC05 XVx7MSxcfVwpLlx7MCxcfXxcMXxwImAKKyAKKyBlbHNlCisgICBheF9jdl9sdWFfaGVhZGVyX3Zl cnNpb249J3Vua25vd24nCitAQCAtNTA5NywyMyArNTIwNSwzMCBAQAorICAgY29uZnRlc3QuJGFj X29iamV4dCBjb25mdGVzdC5iZWFtIGNvbmZ0ZXN0LiRhY19leHQKKyBmaQorIAorLSAgICAgICAg ICBDUFBGTEFHUz0kX2F4X2x1YV9zYXZlZF9jcHBmbGFncworKyAgICAgICAgICAgICAgQ1BQRkxB R1M9JF9heF9sdWFfc2F2ZWRfY3BwZmxhZ3MKKyAKKyBmaQorIHsgJGFzX2VjaG8gIiRhc19tZTok e2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYXhfY3ZfbHVhX2hlYWRlcl92ZXJzaW9uIiA+ JjUKKyAkYXNfZWNobyAiJGF4X2N2X2x1YV9oZWFkZXJfdmVyc2lvbiIgPiY2OyB9CisgCistICAg ICAgICAgICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2lu ZyBpZiBMdWEgaGVhZGVyIHZlcnNpb24gbWF0Y2hlcyAkTFVBX1ZFUlNJT04iID4mNQorKyAgICAg ICAgICAgICAgICAgICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBj aGVja2luZyBpZiBMdWEgaGVhZGVyIHZlcnNpb24gbWF0Y2hlcyAkTFVBX1ZFUlNJT04iID4mNQor ICRhc19lY2hvX24gImNoZWNraW5nIGlmIEx1YSBoZWFkZXIgdmVyc2lvbiBtYXRjaGVzICRMVUFf VkVSU0lPTi4uLiAiID4mNjsgfQorLSAgICAgIGlmIHRlc3QgIngkYXhfY3ZfbHVhX2hlYWRlcl92 ZXJzaW9uIiA9ICJ4JExVQV9WRVJTSU9OIjsgdGhlbiA6CisrICAgICAgICAgIGlmIHRlc3QgIngk YXhfY3ZfbHVhX2hlYWRlcl92ZXJzaW9uIiA9ICJ4JExVQV9WRVJTSU9OIjsgdGhlbiA6CisgICAg eyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IHllcyIgPiY1 CisgJGFzX2VjaG8gInllcyIgPiY2OyB9CistICAgICAgICAgIGF4X2hlYWRlcl92ZXJzaW9uX21h dGNoPSd5ZXMnCisrICAgICAgICAgICAgICBheF9oZWFkZXJfdmVyc2lvbl9tYXRjaD0neWVzJwor IAorIGVsc2UKKyAgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJl c3VsdDogbm8iID4mNQorICRhc19lY2hvICJubyIgPiY2OyB9CistICAgICAgICAgIGF4X2hlYWRl cl92ZXJzaW9uX21hdGNoPSdubycKKysgICAgICAgICAgICAgIGF4X2hlYWRlcl92ZXJzaW9uX21h dGNoPSdubycKKysKKytmaQorKworK2Vsc2UKKysgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19s aW5lbm8tJExJTkVOT306IFdBUk5JTkc6IGNyb3NzIGNvbXBpbGluZyBzbyBhc3N1bWluZyBoZWFk ZXIgdmVyc2lvbiBudW1iZXIgbWF0Y2hlcyIgPiY1CisrJGFzX2VjaG8gIiRhc19tZTogV0FSTklO RzogY3Jvc3MgY29tcGlsaW5nIHNvIGFzc3VtaW5nIGhlYWRlciB2ZXJzaW9uIG51bWJlciBtYXRj aGVzIiA+JjI7fQorKyAgICAgICAgICBheF9oZWFkZXJfdmVyc2lvbl9tYXRjaD0neWVzJworIAor IGZpCisgCitAQCAtNTM2OSwxMCArNTQ4NCwxMSBAQAorIH0KKyBfQUNFT0YKKyBmb3IgYWNfbGli IGluICcnICBsdWEkTFVBX1ZFUlNJT04gXAorLSAgICAgICAgICAgICAgICAgICAgIGx1YSRMVUFf U0hPUlRfVkVSU0lPTiBcCistICAgICAgICAgICAgICAgICAgICAgbHVhLSRMVUFfVkVSU0lPTiBc CistICAgICAgICAgICAgICAgICAgICAgbHVhLSRMVUFfU0hPUlRfVkVSU0lPTiBcCistICAgICAg ICAgICAgICAgICAgICAgbHVhOyBkbworKyAgICAgICAgbHVhJExVQV9TSE9SVF9WRVJTSU9OIFwK KysgICAgICAgIGx1YS0kTFVBX1ZFUlNJT04gXAorKyAgICAgICAgbHVhLSRMVUFfU0hPUlRfVkVS U0lPTiBcCisrICAgICAgICBsdWEgXAorKyAgICAgIDsgZG8KKyAgIGlmIHRlc3QgLXogIiRhY19s aWIiOyB0aGVuCisgICAgIGFjX3Jlcz0ibm9uZSByZXF1aXJlZCIKKyAgIGVsc2UKK0BAIC01NDQx LDggKzU1NTcsMTEgQEAKKyAKKyAKKyAKKysKKysKKysKKyAgICAgICAgaWYgdGVzdCAieCRMVUEi ID0gJ3gnOyB0aGVuIDoKKy0gIGZvciBhY19wcm9nIGluIGx1YSBsdWE1LjIgbHVhNTIgbHVhNS4x IGx1YTUxIGx1YTUwCisrICBmb3IgYWNfcHJvZyBpbiBsdWEgbHVhNS4zIGx1YTUzIGx1YTUuMiBs dWE1MiBsdWE1LjEgbHVhNTEgbHVhNTAKKyBkbworICAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3Jk IG9mICIkYWNfcHJvZyIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCisg c2V0IGR1bW15ICRhY19wcm9nOyBhY193b3JkPSQyCitAQCAtNTQ5MSwyMCArNTYxMCwzMyBAQAor IGZpCisgICAgIGF4X2Rpc3BsYXlfTFVBPSdsdWEnCisgCistICAgICAgICB7ICRhc19lY2hvICIk YXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGlmICRMVUEgaXMgYSBMdWEgaW50 ZXJwcmV0ZXIiID4mNQorKyAgICBpZiB0ZXN0ICJ4JExVQSIgIT0gJ3g6JzsgdGhlbiA6CisrICAg ICAgICAgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5n IGlmICRMVUEgaXMgYSBMdWEgaW50ZXJwcmV0ZXIiID4mNQorICRhc19lY2hvX24gImNoZWNraW5n IGlmICRMVUEgaXMgYSBMdWEgaW50ZXJwcmV0ZXIuLi4gIiA+JjY7IH0KKyAKKy0gICAgaWYgJExV QSAtZSAicHJpbnQoJ0hlbGxvICcgLi4gX1ZFUlNJT04gLi4gJyEnKSIgJj4vZGV2L251bGw7IHRo ZW4gOgorKyAgICAgIF9heF9sdWFfZmFjdG9yaWFsPWAkTFVBIDI+L2Rldi9udWxsIC1lICcKKysg ICAgLS0gYSBzaW1wbGUgZmFjdG9yaWFsCisrICAgIGZ1bmN0aW9uIGZhY3QgKG4pCisrICAgICAg aWYgbiA9PSAwIHRoZW4KKysgICAgICAgIHJldHVybiAxCisrICAgICAgZWxzZQorKyAgICAgICAg cmV0dXJuIG4gKiBmYWN0KG4tMSkKKysgICAgICBlbmQKKysgICAgZW5kCisrICAgIHByaW50KCJm YWN0KDUpIGlzICIgLi4gZmFjdCg1KSknYAorKyAgaWYgdGVzdCAiJF9heF9sdWFfZmFjdG9yaWFs IiA9ICdmYWN0KDUpIGlzIDEyMCc7IHRoZW4gOgorICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNf bGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IHllcyIgPiY1CisgJGFzX2VjaG8gInllcyIgPiY2OyB9 CisgZWxzZQorICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVz dWx0OiBubyIgPiY1CisgJGFzX2VjaG8gIm5vIiA+JjY7IH0KKy0gICAgICAgIGFzX2ZuX2Vycm9y ICQ/ICJub3QgYSBMdWEgaW50ZXJwcmV0ZXIiICIkTElORU5PIiA1CisrICAgICAgICAgICAgYXNf Zm5fZXJyb3IgJD8gIm5vdCBhIEx1YSBpbnRlcnByZXRlciIgIiRMSU5FTk8iIDUKKyAKKyBmaQor IAorIAorK2ZpCisrCisgCisgICBpZiB0ZXN0ICJ4JExVQSIgPSAneDonOyB0aGVuIDoKKyAKK0BA IC01NTE3LDkgKzU2NDksMTAgQEAKKyBpZiAke2F4X2N2X2x1YV92ZXJzaW9uKzp9IGZhbHNlOyB0 aGVuIDoKKyAgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CisgZWxzZQorLSAgIGF4X2N2X2x1 YV92ZXJzaW9uPWAkTFVBIC1lICJwcmludChfVkVSU0lPTikiIHwgXAorLSAgICAgICAgICBzZWQg InN8Xkx1YSBcKC4qXCl8XDF8IiB8IFwKKy0gICAgICAgICAgZ3JlcCAtRSAtbyAiXlswLTldK1wu WzAtOV0rImAKKysgICAgICAgICAgICAgICAgICAgYXhfY3ZfbHVhX3ZlcnNpb249YCRMVUEgLWUg JworKyAgICAgICAgICAtLSByZXR1cm4gYSB2ZXJzaW9uIG51bWJlciBpbiBYLlkgZm9ybWF0Cisr ICAgICAgICAgIGxvY2FsIF8sIF8sIHZlciA9IHN0cmluZy5maW5kKF9WRVJTSU9OLCAiXkx1YSAo JWQrJS4lZCspIikKKysgICAgICAgICAgcHJpbnQodmVyKSdgCisgCisgZmkKKyB7ICRhc19lY2hv ICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGF4X2N2X2x1YV92ZXJzaW9u IiA+JjUKK0BAIC01NTI5LDcgKzU2NjIsNyBAQAorIGZpCisgICAgIExVQV9WRVJTSU9OPSRheF9j dl9sdWFfdmVyc2lvbgorIAorLSAgICBMVUFfU0hPUlRfVkVSU0lPTj1gZWNobyAiJExVQV9WRVJT SU9OIiB8IHNlZCAnc3xcLnx8J2AKKysgICAgTFVBX1NIT1JUX1ZFUlNJT049YGVjaG8gIiRMVUFf VkVSU0lPTiIgfCAkU0VEICdzfFwufHwnYAorIAorIAorICAgICAgICAgICAgICAgICB7ICRhc19l Y2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkYXhfZGlzcGxh eV9MVUEgcGxhdGZvcm0iID4mNQorQEAgLTU1MzcsNyArNTY3MCw3IEBACisgaWYgJHtheF9jdl9s dWFfcGxhdGZvcm0rOn0gZmFsc2U7IHRoZW4gOgorICAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+ JjYKKyBlbHNlCistICBheF9jdl9sdWFfcGxhdGZvcm09YCRMVUEgLWUgInByaW50KCd1bmtub3du JykiYAorKyAgYXhfY3ZfbHVhX3BsYXRmb3JtPWAkTFVBIC1lICdwcmludCgidW5rbm93biIpJ2AK KyBmaQorIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAk YXhfY3ZfbHVhX3BsYXRmb3JtIiA+JjUKKyAkYXNfZWNobyAiJGF4X2N2X2x1YV9wbGF0Zm9ybSIg PiY2OyB9CitAQCAtNTU2NCwyNiArNTY5NywzNyBAQAorIAorIAorIAorLSAgYXhfbHVhX3ByZWZp eGVkX3BhdGg9JycKKy0gIF9heF9wYWNrYWdlX3BhdGhzPWAkTFVBIC1lICdwcmludChwYWNrYWdl LnBhdGgpJyAyPi9kZXYvbnVsbCB8IHNlZCAnc3w7fFxufGcnYAorLSAgICBmb3IgX2F4X3BhY2th Z2VfcGF0aCBpbiAkX2F4X3BhY2thZ2VfcGF0aHM7IGRvCistICAgICAgICBfYXhfcGF0aF9wYXJ0 cz1gZWNobyAiJF9heF9wYWNrYWdlX3BhdGgiIHwgc2VkICdzfC98XG58ZydgCistICAgIF9heF9y ZWFzc2VtYmxlZD0nJworLSAgICBmb3IgX2F4X3BhdGhfcGFydCBpbiAkX2F4X3BhdGhfcGFydHM7 IGRvCistICAgICAgZWNobyAiJF9heF9wYXRoX3BhcnQiIHwgZ3JlcCAnXD8nID4vZGV2L251bGwg JiYgYnJlYWsKKy0gICAgICBfYXhfcmVhc3NlbWJsZWQ9IiRfYXhfcmVhc3NlbWJsZWQvJF9heF9w YXRoX3BhcnQiCistICAgIGRvbmUKKy0gICAgICAgIF9heF9wYWNrYWdlX3BhdGg9JF9heF9yZWFz c2VtYmxlZAorLSAgICBpZiBlY2hvICIkX2F4X3BhY2thZ2VfcGF0aCIgfCBncmVwICJeJGF4X2x1 YV9wcmVmaXgiID4vZGV2L251bGw7IHRoZW4KKy0gICAgICAgICAgICBheF9sdWFfcHJlZml4ZWRf cGF0aD0kX2F4X3BhY2thZ2VfcGF0aAorLSAgICAgIGJyZWFrCistICAgIGZpCistICBkb25lCisr ICBheF9sdWFfcHJlZml4ZWRfcGF0aD1gJExVQSAtZSAnCisrICAgIC0tIGdldCB0aGUgcGF0aCBi YXNlZCBvbiBzZWFyY2ggdHlwZQorKyAgICBsb2NhbCBzZWFyY2h0eXBlID0gInNjcmlwdCIKKysg ICAgbG9jYWwgcGF0aHMgPSAiIgorKyAgICBpZiBzZWFyY2h0eXBlID09ICJzY3JpcHQiIHRoZW4K KysgICAgICBwYXRocyA9IChwYWNrYWdlIGFuZCBwYWNrYWdlLnBhdGgpIG9yIExVQV9QQVRICisr ICAgIGVsc2VpZiBzZWFyY2h0eXBlID09ICJtb2R1bGUiIHRoZW4KKysgICAgICBwYXRocyA9IChw YWNrYWdlIGFuZCBwYWNrYWdlLmNwYXRoKSBvciBMVUFfQ1BBVEgKKysgICAgZW5kCisrICAgIC0t IHNlYXJjaCBmb3IgdGhlIHByZWZpeAorKyAgICBsb2NhbCBwcmVmaXggPSAiJyRheF9sdWFfcHJl Zml4JyIKKysgICAgbG9jYWwgbWlucGF0aCA9ICIiCisrICAgIGxvY2FsIG1pbmRlcHRoID0gMWU5 CisrICAgIHN0cmluZy5nc3ViKHBhdGhzLCAiKFteO10rKSIsCisrICAgICAgZnVuY3Rpb24gKHBh dGgpCisrICAgICAgICBwYXRoID0gc3RyaW5nLmdzdWIocGF0aCwgIiU/LiokIiwgIiIpCisrICAg ICAgICBwYXRoID0gc3RyaW5nLmdzdWIocGF0aCwgIi9bXi9dKiQiLCAiIikKKysgICAgICAgIGlm IHN0cmluZy5maW5kKHBhdGgsIHByZWZpeCkgdGhlbgorKyAgICAgICAgICBsb2NhbCBkZXB0aCA9 IHN0cmluZy5sZW4oc3RyaW5nLmdzdWIocGF0aCwgIlteL10iLCAiIikpCisrICAgICAgICAgIGlm IGRlcHRoIDwgbWluZGVwdGggdGhlbgorKyAgICAgICAgICAgIG1pbnBhdGggPSBwYXRoCisrICAg ICAgICAgICAgbWluZGVwdGggPSBkZXB0aAorKyAgICAgICAgICBlbmQKKysgICAgICAgIGVuZAor KyAgICAgIGVuZCkKKysgICAgcHJpbnQobWlucGF0aCknYAorIAorICAgICAgICAgaWYgdGVzdCAi eCRheF9sdWFfcHJlZml4ZWRfcGF0aCIgIT0gJ3gnOyB0aGVuIDoKKy0gICAgICAgICAgICAgX2F4 X3N0cmlwX3ByZWZpeD1gZWNobyAiJGF4X2x1YV9wcmVmaXgiIHwgc2VkICdzfC58LnxnJ2AKKysg ICAgICAgICAgICAgX2F4X3N0cmlwX3ByZWZpeD1gZWNobyAiJGF4X2x1YV9wcmVmaXgiIHwgJFNF RCAnc3wufC58ZydgCisgICAgICAgICAgIGF4X2N2X2x1YV9sdWFkaXI9YGVjaG8gIiRheF9sdWFf cHJlZml4ZWRfcGF0aCIgfCBcCistICAgICAgICAgICAgc2VkICJzLF4kX2F4X3N0cmlwX3ByZWZp eCwkTFVBX1BSRUZJWCwiYAorKyAgICAgICAgICAgICRTRUQgInN8XiRfYXhfc3RyaXBfcHJlZml4 fCRMVUFfUFJFRklYfCJgCisgCisgZmkKKyAKK0BAIC01NjEwLDI2ICs1NzU0LDM3IEBACisgCisg CisgCistICBheF9sdWFfcHJlZml4ZWRfcGF0aD0nJworLSAgX2F4X3BhY2thZ2VfcGF0aHM9YCRM VUEgLWUgJ3ByaW50KHBhY2thZ2UuY3BhdGhkKScgMj4vZGV2L251bGwgfCBzZWQgJ3N8O3xcbnxn J2AKKy0gICAgZm9yIF9heF9wYWNrYWdlX3BhdGggaW4gJF9heF9wYWNrYWdlX3BhdGhzOyBkbwor LSAgICAgICAgX2F4X3BhdGhfcGFydHM9YGVjaG8gIiRfYXhfcGFja2FnZV9wYXRoIiB8IHNlZCAn c3wvfFxufGcnYAorLSAgICBfYXhfcmVhc3NlbWJsZWQ9JycKKy0gICAgZm9yIF9heF9wYXRoX3Bh cnQgaW4gJF9heF9wYXRoX3BhcnRzOyBkbworLSAgICAgIGVjaG8gIiRfYXhfcGF0aF9wYXJ0IiB8 IGdyZXAgJ1w/JyA+L2Rldi9udWxsICYmIGJyZWFrCistICAgICAgX2F4X3JlYXNzZW1ibGVkPSIk X2F4X3JlYXNzZW1ibGVkLyRfYXhfcGF0aF9wYXJ0IgorLSAgICBkb25lCistICAgICAgICBfYXhf cGFja2FnZV9wYXRoPSRfYXhfcmVhc3NlbWJsZWQKKy0gICAgaWYgZWNobyAiJF9heF9wYWNrYWdl X3BhdGgiIHwgZ3JlcCAiXiRheF9sdWFfZXhlY19wcmVmaXgiID4vZGV2L251bGw7IHRoZW4KKy0g ICAgICAgICAgICBheF9sdWFfcHJlZml4ZWRfcGF0aD0kX2F4X3BhY2thZ2VfcGF0aAorLSAgICAg IGJyZWFrCistICAgIGZpCistICBkb25lCisrICBheF9sdWFfcHJlZml4ZWRfcGF0aD1gJExVQSAt ZSAnCisrICAgIC0tIGdldCB0aGUgcGF0aCBiYXNlZCBvbiBzZWFyY2ggdHlwZQorKyAgICBsb2Nh bCBzZWFyY2h0eXBlID0gIm1vZHVsZSIKKysgICAgbG9jYWwgcGF0aHMgPSAiIgorKyAgICBpZiBz ZWFyY2h0eXBlID09ICJzY3JpcHQiIHRoZW4KKysgICAgICBwYXRocyA9IChwYWNrYWdlIGFuZCBw YWNrYWdlLnBhdGgpIG9yIExVQV9QQVRICisrICAgIGVsc2VpZiBzZWFyY2h0eXBlID09ICJtb2R1 bGUiIHRoZW4KKysgICAgICBwYXRocyA9IChwYWNrYWdlIGFuZCBwYWNrYWdlLmNwYXRoKSBvciBM VUFfQ1BBVEgKKysgICAgZW5kCisrICAgIC0tIHNlYXJjaCBmb3IgdGhlIHByZWZpeAorKyAgICBs b2NhbCBwcmVmaXggPSAiJyRheF9sdWFfZXhlY19wcmVmaXgnIgorKyAgICBsb2NhbCBtaW5wYXRo ID0gIiIKKysgICAgbG9jYWwgbWluZGVwdGggPSAxZTkKKysgICAgc3RyaW5nLmdzdWIocGF0aHMs ICIoW147XSspIiwKKysgICAgICBmdW5jdGlvbiAocGF0aCkKKysgICAgICAgIHBhdGggPSBzdHJp bmcuZ3N1YihwYXRoLCAiJT8uKiQiLCAiIikKKysgICAgICAgIHBhdGggPSBzdHJpbmcuZ3N1Yihw YXRoLCAiL1teL10qJCIsICIiKQorKyAgICAgICAgaWYgc3RyaW5nLmZpbmQocGF0aCwgcHJlZml4 KSB0aGVuCisrICAgICAgICAgIGxvY2FsIGRlcHRoID0gc3RyaW5nLmxlbihzdHJpbmcuZ3N1Yihw YXRoLCAiW14vXSIsICIiKSkKKysgICAgICAgICAgaWYgZGVwdGggPCBtaW5kZXB0aCB0aGVuCisr ICAgICAgICAgICAgbWlucGF0aCA9IHBhdGgKKysgICAgICAgICAgICBtaW5kZXB0aCA9IGRlcHRo CisrICAgICAgICAgIGVuZAorKyAgICAgICAgZW5kCisrICAgICAgZW5kKQorKyAgICBwcmludCht aW5wYXRoKSdgCisgCisgICAgICAgICBpZiB0ZXN0ICJ4JGF4X2x1YV9wcmVmaXhlZF9wYXRoIiAh PSAneCc7IHRoZW4gOgorLSAgICAgICAgICAgICBfYXhfc3RyaXBfcHJlZml4PWBlY2hvICIkYXhf bHVhX2V4ZWNfcHJlZml4IiB8IHNlZCAnc3wufC58ZydgCisrICAgICAgICAgICAgIF9heF9zdHJp cF9wcmVmaXg9YGVjaG8gIiRheF9sdWFfZXhlY19wcmVmaXgiIHwgJFNFRCAnc3wufC58ZydgCisg ICAgICAgICAgIGF4X2N2X2x1YV9sdWFleGVjZGlyPWBlY2hvICIkYXhfbHVhX3ByZWZpeGVkX3Bh dGgiIHwgXAorLSAgICAgICAgICAgIHNlZCAicyxeJF9heF9zdHJpcF9wcmVmaXgsJExVQV9FWEVD X1BSRUZJWCwiYAorKyAgICAgICAgICAgICRTRUQgInN8XiRfYXhfc3RyaXBfcHJlZml4fCRMVUFf RVhFQ19QUkVGSVh8ImAKKyAKKyBmaQorIAorQEAgLTU2NTcsNyArNTgxMiw3IEBACisgCisgCisg CistICAgIExVQV9TSE9SVF9WRVJTSU9OPWBlY2hvICIkTFVBX1ZFUlNJT04iIHwgc2VkICdzfFwu fHwnYAorKyAgICBMVUFfU0hPUlRfVkVSU0lPTj1gZWNobyAiJExVQV9WRVJTSU9OIiB8ICRTRUQg J3N8XC58fCdgCisgCisgCisgICAgIF9heF9sdWFfc2F2ZWRfY3BwZmxhZ3M9JENQUEZMQUdTCitA QCAtNTY4MCw2ICs1ODM1LDcgQEAKKyAgICAgaWYgdGVzdCAieCRMVUFfSU5DTFVERSIgPSAneCcg JiYKKyAgICAgICAgICB0ZXN0ICJ4JGFjX2N2X2hlYWRlcl9sdWFfaCIgIT0gJ3h5ZXMnOyB0aGVu IDoKKyAgICAgICAgICBmb3IgX2F4X2luY2x1ZGVfcGF0aCBpbiAgL3Vzci9pbmNsdWRlL2x1YSRM VUFfVkVSU0lPTiBcCisrICAgICAgL3Vzci9pbmNsdWRlL2x1YS0kTFVBX1ZFUlNJT04gXAorICAg ICAgIC91c3IvaW5jbHVkZS9sdWEvJExVQV9WRVJTSU9OIFwKKyAgICAgICAvdXNyL2luY2x1ZGUv bHVhJExVQV9TSE9SVF9WRVJTSU9OIFwKKyAgICAgICAvdXNyL2xvY2FsL2luY2x1ZGUvbHVhJExV QV9WRVJTSU9OIFwKK0BAIC01NzI3LDE0ICs1ODgzLDE1IEBACisgCisgICBpZiB0ZXN0ICJ4JGFj X2N2X2hlYWRlcl9sdWFfaCIgPSAneHllcyc7IHRoZW4gOgorIAorLSAgICAgIHsgJGFzX2VjaG8g IiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIEx1YSBoZWFkZXIgdmVy c2lvbiIgPiY1CisrICAgICAgaWYgdGVzdCAieCRjcm9zc19jb21waWxpbmciICE9ICd4eWVzJzsg dGhlbiA6CisrICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVj a2luZyBmb3IgTHVhIGhlYWRlciB2ZXJzaW9uIiA+JjUKKyAkYXNfZWNob19uICJjaGVja2luZyBm b3IgTHVhIGhlYWRlciB2ZXJzaW9uLi4uICIgPiY2OyB9CisgaWYgJHtheF9jdl9sdWFfaGVhZGVy X3ZlcnNpb24rOn0gZmFsc2U7IHRoZW4gOgorICAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYK KyBlbHNlCisgICAgX2F4X2x1YV9zYXZlZF9jcHBmbGFncz0kQ1BQRkxBR1MKKy0gICAgICAgICAg Q1BQRkxBR1M9IiRDUFBGTEFHUyAkTFVBX0lOQ0xVREUiCistICAgICAgICAgIGlmIHRlc3QgIiRj cm9zc19jb21waWxpbmciID0geWVzOyB0aGVuIDoKKysgICAgICAgICAgICAgIENQUEZMQUdTPSIk Q1BQRkxBR1MgJExVQV9JTkNMVURFIgorKyAgICAgICAgICAgICAgaWYgdGVzdCAiJGNyb3NzX2Nv bXBpbGluZyIgPSB5ZXM7IHRoZW4gOgorICAgeyB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5l bm8tJExJTkVOT306IGVycm9yOiBpbiBcYCRhY19wd2QnOiIgPiY1CisgJGFzX2VjaG8gIiRhc19t ZTogZXJyb3I6IGluIFxgJGFjX3B3ZCc6IiA+JjI7fQorIGFzX2ZuX2Vycm9yICQ/ICJjYW5ub3Qg cnVuIHRlc3QgcHJvZ3JhbSB3aGlsZSBjcm9zcyBjb21waWxpbmcKK0BAIC01NzU2LDggKzU5MTMs NyBAQAorIF9BQ0VPRgorIGlmIGFjX2ZuX2NfdHJ5X3J1biAiJExJTkVOTyI7IHRoZW4gOgorICAg IGF4X2N2X2x1YV9oZWFkZXJfdmVyc2lvbj1gLi9jb25mdGVzdCRFWEVFWFQgcCB8IFwKKy0gICAg ICAgICAgICAgICAgc2VkICJzfF5MdWEgXCguKlwpfFwxfCIgfCBcCistICAgICAgICAgICAgICAg IGdyZXAgLUUgLW8gIl5bMC05XStcLlswLTldKyJgCisrICAgICAgICAgICAgICAgICAgICAkU0VE IC1uICJzfF5MdWEgXChbMC05XVx7MSxcfVwuWzAtOV1cezEsXH1cKS5cezAsXH18XDF8cCJgCisg CisgZWxzZQorICAgYXhfY3ZfbHVhX2hlYWRlcl92ZXJzaW9uPSd1bmtub3duJworQEAgLTU3NjYs MjMgKzU5MjIsMzAgQEAKKyAgIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuYmVhbSBjb25m dGVzdC4kYWNfZXh0CisgZmkKKyAKKy0gICAgICAgICAgQ1BQRkxBR1M9JF9heF9sdWFfc2F2ZWRf Y3BwZmxhZ3MKKysgICAgICAgICAgICAgIENQUEZMQUdTPSRfYXhfbHVhX3NhdmVkX2NwcGZsYWdz CisgCisgZmkKKyB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3Vs dDogJGF4X2N2X2x1YV9oZWFkZXJfdmVyc2lvbiIgPiY1CisgJGFzX2VjaG8gIiRheF9jdl9sdWFf aGVhZGVyX3ZlcnNpb24iID4mNjsgfQorIAorLSAgICAgICAgICAgIHsgJGFzX2VjaG8gIiRhc19t ZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgaWYgTHVhIGhlYWRlciB2ZXJzaW9uIG1h dGNoZXMgJExVQV9WRVJTSU9OIiA+JjUKKysgICAgICAgICAgICAgICAgICAgIHsgJGFzX2VjaG8g IiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgaWYgTHVhIGhlYWRlciB2ZXJz aW9uIG1hdGNoZXMgJExVQV9WRVJTSU9OIiA+JjUKKyAkYXNfZWNob19uICJjaGVja2luZyBpZiBM dWEgaGVhZGVyIHZlcnNpb24gbWF0Y2hlcyAkTFVBX1ZFUlNJT04uLi4gIiA+JjY7IH0KKy0gICAg ICBpZiB0ZXN0ICJ4JGF4X2N2X2x1YV9oZWFkZXJfdmVyc2lvbiIgPSAieCRMVUFfVkVSU0lPTiI7 IHRoZW4gOgorKyAgICAgICAgICBpZiB0ZXN0ICJ4JGF4X2N2X2x1YV9oZWFkZXJfdmVyc2lvbiIg PSAieCRMVUFfVkVSU0lPTiI7IHRoZW4gOgorICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xp bmVuby0kTElORU5PfTogcmVzdWx0OiB5ZXMiID4mNQorICRhc19lY2hvICJ5ZXMiID4mNjsgfQor LSAgICAgICAgICBheF9oZWFkZXJfdmVyc2lvbl9tYXRjaD0neWVzJworKyAgICAgICAgICAgICAg YXhfaGVhZGVyX3ZlcnNpb25fbWF0Y2g9J3llcycKKyAKKyBlbHNlCisgICAgeyAkYXNfZWNobyAi JGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+JjUKKyAkYXNfZWNobyAi bm8iID4mNjsgfQorLSAgICAgICAgICBheF9oZWFkZXJfdmVyc2lvbl9tYXRjaD0nbm8nCisrICAg ICAgICAgICAgICBheF9oZWFkZXJfdmVyc2lvbl9tYXRjaD0nbm8nCisrCisrZmkKKysKKytlbHNl CisrICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBXQVJOSU5HOiBj cm9zcyBjb21waWxpbmcgc28gYXNzdW1pbmcgaGVhZGVyIHZlcnNpb24gbnVtYmVyIG1hdGNoZXMi ID4mNQorKyRhc19lY2hvICIkYXNfbWU6IFdBUk5JTkc6IGNyb3NzIGNvbXBpbGluZyBzbyBhc3N1 bWluZyBoZWFkZXIgdmVyc2lvbiBudW1iZXIgbWF0Y2hlcyIgPiYyO30KKysgICAgICAgICAgYXhf aGVhZGVyX3ZlcnNpb25fbWF0Y2g9J3llcycKKyAKKyBmaQorIAorQEAgLTYwMzgsMTAgKzYyMDEs MTEgQEAKKyB9CisgX0FDRU9GCisgZm9yIGFjX2xpYiBpbiAnJyAgbHVhJExVQV9WRVJTSU9OIFwK Ky0gICAgICAgICAgICAgICAgICAgICBsdWEkTFVBX1NIT1JUX1ZFUlNJT04gXAorLSAgICAgICAg ICAgICAgICAgICAgIGx1YS0kTFVBX1ZFUlNJT04gXAorLSAgICAgICAgICAgICAgICAgICAgIGx1 YS0kTFVBX1NIT1JUX1ZFUlNJT04gXAorLSAgICAgICAgICAgICAgICAgICAgIGx1YTsgZG8KKysg ICAgICAgIGx1YSRMVUFfU0hPUlRfVkVSU0lPTiBcCisrICAgICAgICBsdWEtJExVQV9WRVJTSU9O IFwKKysgICAgICAgIGx1YS0kTFVBX1NIT1JUX1ZFUlNJT04gXAorKyAgICAgICAgbHVhIFwKKysg ICAgICA7IGRvCisgICBpZiB0ZXN0IC16ICIkYWNfbGliIjsgdGhlbgorICAgICBhY19yZXM9Im5v bmUgcmVxdWlyZWQiCisgICBlbHNlCitAQCAtNjEwOCw3ICs2MjcyLDcgQEAKKyAjIENoZWNrIHdo ZXRoZXIgLS1lbmFibGUtcHl0aG9uIHdhcyBnaXZlbi4KKyBpZiB0ZXN0ICIke2VuYWJsZV9weXRo b24rc2V0fSIgPSBzZXQ7IHRoZW4gOgorICAgZW5hYmxldmFsPSRlbmFibGVfcHl0aG9uOworLSAg ICBpZiB0ZXN0ICJ4JGVuYWJsZXZhbCIgPSAieG5vIiA7IHRoZW4KKysgICAgaWYgdGVzdCAieCRl bmFibGV2YWwiID0gInh5ZXMiIDsgdGhlbgorICAgICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2Fz X2xpbmVuby0kTElORU5PfTogcmVzdWx0OiBkaXNhYmxlZCIgPiY1CisgJGFzX2VjaG8gImRpc2Fi bGVkIiA+JjY7IH0KKyAgICAgZWxzZQpkaWZmIC0tZ2l0IGEvc3JjcGtncy90ZWxlZ3JhbS1jbGkv cGF0Y2hlcy9jcm9zc19jb21wX2x1YS5wYXRjaCBiL3NyY3BrZ3MvdGVsZWdyYW0tY2xpL3BhdGNo ZXMvY3Jvc3NfY29tcF9sdWEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwMDAuLmNiYTQ0ZWJmZWRjCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy90ZWxlZ3JhbS1j bGkvcGF0Y2hlcy9jcm9zc19jb21wX2x1YS5wYXRjaApAQCAtMCwwICsxLDQzOSBAQAorLS0tIGF4 X2x1YS5tNAkyMDIwLTAxLTA2IDExOjQzOjQ0LjAwMDAwMDAwMCArMDEwMAorKysrIGF4X2x1YS5t NG4JMjAyMC0wMi0wMSAxMDo0MzoxMS4yMzg5OTM2NTYgKzAxMDAKK0BAIC0xLDUgKzEsNSBAQAor ICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09CistIyAgICAgICAgICBodHRwOi8vd3d3LmdudS5vcmcvc29m dHdhcmUvYXV0b2NvbmYtYXJjaGl2ZS9heF9sdWEuaHRtbAorKyMgICAgICAgICAgaHR0cHM6Ly93 d3cuZ251Lm9yZy9zb2Z0d2FyZS9hdXRvY29uZi1hcmNoaXZlL2F4X2x1YS5odG1sCisgIyA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KKyAjCisgIyBTWU5PUFNJUworQEAgLTE4LDggKzE4LDggQEAKKyAjICAg QWxzbyBkZXRlY3QgTHVhIGhlYWRlcnMgYW5kIGxpYnJhcmllcy4gVGhlIEx1YSB2ZXJzaW9uIGNv bnRhaW5lZCBpbiB0aGUKKyAjICAgaGVhZGVyIGlzIGNoZWNrZWQgdG8gbWF0Y2ggdGhlIEx1YSBp bnRlcnByZXRlciB2ZXJzaW9uIGV4YWN0bHkuIFdoZW4KKyAjICAgc2VhcmNoaW5nIGZvciBMdWEg bGlicmFyaWVzLCB0aGUgdmVyc2lvbiBudW1iZXIgaXMgdXNlZCBhcyBhIHN1ZmZpeC4KKy0jICAg VGhpcyBpcyBkb25lIHdpdGggdGhlIGdvYWwgb2Ygc3VwcG9ydGluZyBtdWx0aXBsZSBMdWEgaW5z dGFsbHMgKDUuMSBhbmQKKy0jICAgNS4yIHNpZGUtYnktc2lkZSkuCisrIyAgIFRoaXMgaXMgZG9u ZSB3aXRoIHRoZSBnb2FsIG9mIHN1cHBvcnRpbmcgbXVsdGlwbGUgTHVhIGluc3RhbGxzICg1LjEs CisrIyAgIDUuMiwgYW5kIDUuMyBzaWRlLWJ5LXNpZGUpLgorICMKKyAjICAgQSBub3RlIG9uIGNv bXBhdGliaWxpdHkgd2l0aCBwcmV2aW91cyB2ZXJzaW9uczogVGhpcyBmaWxlIGhhcyBiZWVuCisg IyAgIG1vc3RseSByZXdyaXR0ZW4gZm9yIHNlcmlhbCAxOC4gTW9zdCBkZXZlbG9wZXJzIHNob3Vs ZCBiZSBhYmxlIHRvIHVzZQorQEAgLTUxLDEzICs1MSwxMCBAQAorICMKKyAjICAgSWYgTUlOSU1V TS1WRVJTSU9OIGlzIHN1cHBsaWVkLCB0aGVuIG9ubHkgTHVhIGludGVycHJldGVycyB3aXRoIGEK KyAjICAgdmVyc2lvbiBudW1iZXIgZ3JlYXRlciBvciBlcXVhbCB0byBNSU5JTVVNLVZFUlNJT04g d2lsbCBiZSBhY2NlcHRlZC4gSWYKKy0jICAgVE9PLUJJRy0gVkVSU0lPTiBpcyBhbHNvIHN1cHBs aWVkLCB0aGVuIG9ubHkgTHVhIGludGVycHJldGVycyB3aXRoIGEKKysjICAgVE9PLUJJRy1WRVJT SU9OIGlzIGFsc28gc3VwcGxpZWQsIHRoZW4gb25seSBMdWEgaW50ZXJwcmV0ZXJzIHdpdGggYQor ICMgICB2ZXJzaW9uIG51bWJlciBncmVhdGVyIG9yIGVxdWFsIHRvIE1JTklNVU0tVkVSU0lPTiBh bmQgbGVzcyB0aGFuCisgIyAgIFRPTy1CSUctVkVSU0lPTiB3aWxsIGJlIGFjY2VwdGVkLgorICMK Ky0jICAgVmVyc2lvbiBjb21wYXJpc29ucyByZXF1aXJlIHRoZSBBWF9DT01QQVJFX1ZFUlNJT04g bWFjcm8sIHdoaWNoIGlzCistIyAgIHByb3ZpZGVkIGJ5IGF4X2NvbXBhcmVfdmVyc2lvbi5tNCBm cm9tIHRoZSBBdXRvY29uZiBBcmNoaXZlLgorLSMKKyAjICAgVGhlIEx1YSB2ZXJzaW9uIG51bWJl ciwgTFVBX1ZFUlNJT04sIGlzIGZvdW5kIGZyb20gdGhlIGludGVycHJldGVyLCBhbmQKKyAjICAg c3Vic3RpdHV0ZWQuIExVQV9QTEFURk9STSBpcyBhbHNvIGZvdW5kLCBidXQgbm90IGN1cnJlbnRs eSBzdXBwb3J0ZWQgKG5vCisgIyAgIHN0YW5kYXJkIHJlcHJlc2VudGF0aW9uKS4KK0BAIC02OSwx MiArNjYsMTMgQEAKKyAjICAgICBsdWFleGVjZGlyICAgICAgICAgRGlyZWN0b3J5IHRvIGluc3Rh bGwgTHVhIG1vZHVsZXMuCisgIyAgICAgcGtnbHVhZXhlY2RpciAgICAgICRsdWFleGVjZGlyLyRQ QUNLQUdFCisgIworLSMgICBUaGVzZSBwYXRocyBhIGZvdW5kIGJhc2VkIG9uICRwcmVmaXgsICRl eGVjX3ByZWZpeCwgTHVhJ3MgcGFja2FnZS5wYXRoLAorLSMgICBhbmQgcGFja2FnZS5jcGF0aC4g VGhlIGZpcnN0IHBhdGggb2YgcGFja2FnZS5wYXRoIGJlZ2lubmluZyB3aXRoICRwcmVmaXgKKy0j ICAgaXMgc2VsZWN0ZWQgYXMgbHVhZGlyLiBUaGUgZmlyc3QgcGF0aCBvZiBwYWNrYWdlLmNwYXRo IGJlZ2lubmluZyB3aXRoCistIyAgICRleGVjX3ByZWZpeCBpcyB1c2VkIGFzIGx1YWV4ZWNkaXIu IFRoaXMgc2hvdWxkIHdvcmsgb24gYWxsIHJlYXNvbmFibGUKKy0jICAgTHVhIGluc3RhbGxhdGlv bnMuIElmIGEgcGF0aCBjYW5ub3QgYmUgZGV0ZXJtaW5lZCwgYSBkZWZhdWx0IHBhdGggaXMKKy0j ICAgdXNlZC4gT2YgY291cnNlLCB0aGUgdXNlciBjYW4gb3ZlcnJpZGUgdGhlc2UgbGF0ZXIgd2hl biBpbnZva2luZyBtYWtlLgorKyMgICBUaGVzZSBwYXRocyBhcmUgZm91bmQgYmFzZWQgb24gJHBy ZWZpeCwgJGV4ZWNfcHJlZml4LCBMdWEncworKyMgICBwYWNrYWdlLnBhdGgsIGFuZCBwYWNrYWdl LmNwYXRoLiBUaGUgZmlyc3QgcGF0aCBvZiBwYWNrYWdlLnBhdGgKKysjICAgYmVnaW5uaW5nIHdp dGggJHByZWZpeCBpcyBzZWxlY3RlZCBhcyBsdWFkaXIuIFRoZSBmaXJzdCBwYXRoIG9mCisrIyAg IHBhY2thZ2UuY3BhdGggYmVnaW5uaW5nIHdpdGggJGV4ZWNfcHJlZml4IGlzIHVzZWQgYXMgbHVh ZXhlY2Rpci4gVGhpcworKyMgICBzaG91bGQgd29yayBvbiBhbGwgcmVhc29uYWJsZSBMdWEgaW5z dGFsbGF0aW9ucy4gSWYgYSBwYXRoIGNhbm5vdCBiZQorKyMgICBkZXRlcm1pbmVkLCBhIGRlZmF1 bHQgcGF0aCBpcyB1c2VkLiBPZiBjb3Vyc2UsIHRoZSB1c2VyIGNhbiBvdmVycmlkZQorKyMgICB0 aGVzZSBsYXRlciB3aGVuIGludm9raW5nIG1ha2UuCisgIworICMgICAgIGx1YWRpciAgICAgICAg ICAgICBEZWZhdWx0OiAkcHJlZml4L3NoYXJlL2x1YS8kTFVBX1ZFUlNJT04KKyAjICAgICBsdWFl eGVjZGlyICAgICAgICAgRGVmYXVsdDogJGV4ZWNfcHJlZml4L2xpYi9sdWEvJExVQV9WRVJTSU9O CitAQCAtMTU0LDggKzE1Miw4IEBACisgIworICMgTElDRU5TRQorICMKKy0jICAgQ29weXJpZ2h0 IChjKSAyMDEzIFRpbSBQZXJraW5zIDx0cHJrNzdAZ21haWwuY29tPgorLSMgICBDb3B5cmlnaHQg KGMpIDIwMTMgUmV1YmVuIFRob21hcyA8cnJ0QHNjM2Qub3JnPgorKyMgICBDb3B5cmlnaHQgKGMp IDIwMTUgUmV1YmVuIFRob21hcyA8cnJ0QHNjM2Qub3JnPgorKyMgICBDb3B5cmlnaHQgKGMpIDIw MTQgVGltIFBlcmtpbnMgPHRwcms3N0BnbWFpbC5jb20+CisgIworICMgICBUaGlzIHByb2dyYW0g aXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBp dAorICMgICB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGFzIHB1Ymxpc2hlZCBieSB0aGUKK0BAIC0xNjgsNyArMTY2LDcgQEAKKyAjICAgUHVibGljIExp Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAjCisgIyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZl ZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nCistIyAgIHdp dGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2Vz Lz4uCisrIyAgIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251 Lm9yZy9saWNlbnNlcy8+LgorICMKKyAjICAgQXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiwgdGhlIHJl c3BlY3RpdmUgQXV0b2NvbmYgTWFjcm8ncyBjb3B5cmlnaHQgb3duZXIKKyAjICAgZ2l2ZXMgdW5s aW1pdGVkIHBlcm1pc3Npb24gdG8gY29weSwgZGlzdHJpYnV0ZSBhbmQgbW9kaWZ5IHRoZSBjb25m aWd1cmUKK0BAIC0xODMsNyArMTgxLDcgQEAKKyAjICAgbW9kaWZpZWQgdmVyc2lvbiBvZiB0aGUg QXV0b2NvbmYgTWFjcm8sIHlvdSBtYXkgZXh0ZW5kIHRoaXMgc3BlY2lhbAorICMgICBleGNlcHRp b24gdG8gdGhlIEdQTCB0byBhcHBseSB0byB5b3VyIG1vZGlmaWVkIHZlcnNpb24gYXMgd2VsbC4K KyAKKy0jc2VyaWFsIDIxCisrI3NlcmlhbCA0MAorIAorIGRubCA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cisg ZG5sIEFYX1BST0dfTFVBKFtNSU5JTVVNLVZFUlNJT05dLCBbVE9PLUJJRy1WRVJTSU9OXSwKK0BA IC0xOTEsMTIgKzE4OSwxNiBAQAorIGRubCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgQUNfREVGVU4oW0FY X1BST0dfTFVBXSwKKyBbCisrICBkbmwgQ2hlY2sgZm9yIHJlcXVpcmVkIHRvb2xzLgorKyAgQUNf UkVRVUlSRShbQUNfUFJPR19HUkVQXSkKKysgIEFDX1JFUVVJUkUoW0FDX1BST0dfU0VEXSkKKysK KyAgIGRubCBNYWtlIExVQSBhIHByZWNpb3VzIHZhcmlhYmxlLgorICAgQUNfQVJHX1ZBUihbTFVB XSwgW1RoZSBMdWEgaW50ZXJwcmV0ZXIsIGUuZy4gL3Vzci9iaW4vbHVhNS4xXSkKKyAKKyAgIGRu bCBGaW5kIGEgTHVhIGludGVycHJldGVyLgorICAgbTRfZGVmaW5lX2RlZmF1bHQoW19BWF9MVUFf SU5URVJQUkVURVJfTElTVF0sCistICAgIFtsdWEgbHVhNS4yIGx1YTUyIGx1YTUuMSBsdWE1MSBs dWE1MF0pCisrICAgIFtsdWEgbHVhNS4zIGx1YTUzIGx1YTUuMiBsdWE1MiBsdWE1LjEgbHVhNTEg bHVhNTBdKQorIAorICAgbTRfaWYoWyQxXSwgW10sCisgICBbIGRubCBObyB2ZXJzaW9uIGNoZWNr IGlzIG5lZWRlZC4gRmluZCBhbnkgTHVhIGludGVycHJldGVyLgorQEAgLTIwNCwxMiArMjA2LDE0 IEBACisgICAgICAgW0FDX1BBVEhfUFJPR1MoW0xVQV0sIFtfQVhfTFVBX0lOVEVSUFJFVEVSX0xJ U1RdLCBbOl0pXSkKKyAgICAgYXhfZGlzcGxheV9MVUE9J2x1YScKKyAKKy0gICAgZG5sIEF0IGxl YXN0IGNoZWNrIGlmIHRoaXMgaXMgYSBMdWEgaW50ZXJwcmV0ZXIuCistICAgIEFDX01TR19DSEVD S0lORyhbaWYgJExVQSBpcyBhIEx1YSBpbnRlcnByZXRlcl0pCistICAgIF9BWF9MVUFfQ0hLX0lT X0lOVFJQKFskTFVBXSwKKy0gICAgICBbQUNfTVNHX1JFU1VMVChbeWVzXSldLAorLSAgICAgIFsg QUNfTVNHX1JFU1VMVChbbm9dKQorLSAgICAgICAgQUNfTVNHX0VSUk9SKFtub3QgYSBMdWEgaW50 ZXJwcmV0ZXJdKQorKyAgICBBU19JRihbdGVzdCAieCRMVUEiICE9ICd4OiddLAorKyAgICAgIFsg ZG5sIEF0IGxlYXN0IGNoZWNrIGlmIHRoaXMgaXMgYSBMdWEgaW50ZXJwcmV0ZXIuCisrICAgICAg ICBBQ19NU0dfQ0hFQ0tJTkcoW2lmICRMVUEgaXMgYSBMdWEgaW50ZXJwcmV0ZXJdKQorKyAgICAg ICAgX0FYX0xVQV9DSEtfSVNfSU5UUlAoWyRMVUFdLAorKyAgICAgICAgICBbQUNfTVNHX1JFU1VM VChbeWVzXSldLAorKyAgICAgICAgICBbIEFDX01TR19SRVNVTFQoW25vXSkKKysgICAgICAgICAg ICBBQ19NU0dfRVJST1IoW25vdCBhIEx1YSBpbnRlcnByZXRlcl0pCisrICAgICAgICAgIF0pCisg ICAgICAgXSkKKyAgIF0sCisgICBbIGRubCBBIHZlcnNpb24gY2hlY2sgaXMgbmVlZGVkLgorQEAg LTI1NywyMSArMjYxLDI2IEBACisgICAgIG00X2RlZmF1bHQoWyQ0XSwgW0FDX01TR19FUlJPUihb Y2Fubm90IGZpbmQgc3VpdGFibGUgTHVhIGludGVycHJldGVyXSldKQorICAgXSwKKyAgIFsgZG5s IFF1ZXJ5IEx1YSBmb3IgaXRzIHZlcnNpb24gbnVtYmVyLgorLSAgICBBQ19DQUNIRV9DSEVDSyhb Zm9yICRheF9kaXNwbGF5X0xVQSB2ZXJzaW9uXSwgW2F4X2N2X2x1YV92ZXJzaW9uXSwKKy0gICAg ICBbIGF4X2N2X2x1YV92ZXJzaW9uPWAkTFVBIC1lICJwcmludChfVkVSU0lPTikiIHwgXAorLSAg ICAgICAgICBzZWQgInN8Xkx1YSBcKC4qXCl8XDF8IiB8IFwKKy0gICAgICAgICAgZ3JlcCAtRSAt byAiXkA8OkAwLTlAOj5AK1wuQDw6QDAtOUA6PkArImAKKysgICAgQUNfQ0FDSEVfQ0hFQ0soW2Zv ciAkYXhfZGlzcGxheV9MVUEgdmVyc2lvbl0sCisrICAgICAgW2F4X2N2X2x1YV92ZXJzaW9uXSwK KysgICAgICBbIGRubCBHZXQgdGhlIGludGVycHJldGVyIHZlcnNpb24gaW4gWC5ZIGZvcm1hdC4g VGhpcyBzaG91bGQgd29yayBmb3IKKysgICAgICAgIGRubCBpbnRlcnByZXRlcnMgdmVyc2lvbiA1 LjAgYW5kIGJleW9uZC4KKysgICAgICAgIGF4X2N2X2x1YV92ZXJzaW9uPVtgJExVQSAtZSAnCisr ICAgICAgICAgIC0tIHJldHVybiBhIHZlcnNpb24gbnVtYmVyIGluIFguWSBmb3JtYXQKKysgICAg ICAgICAgbG9jYWwgXywgXywgdmVyID0gc3RyaW5nLmZpbmQoX1ZFUlNJT04sICJeTHVhICglZCsl LiVkKykiKQorKyAgICAgICAgICBwcmludCh2ZXIpJ2BdCisgICAgICAgXSkKKyAgICAgQVNfSUYo W3Rlc3QgIngkYXhfY3ZfbHVhX3ZlcnNpb24iID0gJ3gnXSwKKyAgICAgICBbQUNfTVNHX0VSUk9S KFtpbnZhbGlkIEx1YSB2ZXJzaW9uIG51bWJlcl0pXSkKKyAgICAgQUNfU1VCU1QoW0xVQV9WRVJT SU9OXSwgWyRheF9jdl9sdWFfdmVyc2lvbl0pCistICAgIEFDX1NVQlNUKFtMVUFfU0hPUlRfVkVS U0lPTl0sIFtgZWNobyAiJExVQV9WRVJTSU9OIiB8IHNlZCAnc3xcLnx8J2BdKQorKyAgICBBQ19T VUJTVChbTFVBX1NIT1JUX1ZFUlNJT05dLCBbYGVjaG8gIiRMVUFfVkVSU0lPTiIgfCAkU0VEICdz fFwufHwnYF0pCisgCisgICAgIGRubCBUaGUgZm9sbG93aW5nIGNoZWNrIGlzIG5vdCBzdXBwb3J0 ZWQ6CisgICAgIGRubCBBdCB0aW1lcyAobGlrZSB3aGVuIGJ1aWxkaW5nIHNoYXJlZCBsaWJyYXJp ZXMpIHlvdSBtYXkgd2FudCB0byBrbm93CisgICAgIGRubCB3aGljaCBPUyBwbGF0Zm9ybSBMdWEg dGhpbmtzIHRoaXMgaXMuCistICAgIEFDX0NBQ0hFX0NIRUNLKFtmb3IgJGF4X2Rpc3BsYXlfTFVB IHBsYXRmb3JtXSwgW2F4X2N2X2x1YV9wbGF0Zm9ybV0sCistICAgICAgW2F4X2N2X2x1YV9wbGF0 Zm9ybT1gJExVQSAtZSAicHJpbnQoJ3Vua25vd24nKSJgXSkKKysgICAgQUNfQ0FDSEVfQ0hFQ0so W2ZvciAkYXhfZGlzcGxheV9MVUEgcGxhdGZvcm1dLAorKyAgICAgIFtheF9jdl9sdWFfcGxhdGZv cm1dLAorKyAgICAgIFtheF9jdl9sdWFfcGxhdGZvcm09W2AkTFVBIC1lICdwcmludCgidW5rbm93 biIpJ2BdXSkKKyAgICAgQUNfU1VCU1QoW0xVQV9QTEFURk9STV0sIFskYXhfY3ZfbHVhX3BsYXRm b3JtXSkKKyAKKyAgICAgZG5sIFVzZSB0aGUgdmFsdWVzIG9mICRwcmVmaXggYW5kICRleGVjX3By ZWZpeCBmb3IgdGhlIGNvcnJlc3BvbmRpbmcKK0BAIC0yOTYsMTIgKzMwNSwxMiBAQAorICAgICAg ICAgYXhfY3ZfbHVhX2x1YWRpcj0iJExVQV9QUkVGSVgvc2hhcmUvbHVhLyRMVUFfVkVSU0lPTiIK KyAKKyAgICAgICAgIGRubCBUcnkgdG8gZmluZCBhIHBhdGggd2l0aCB0aGUgcHJlZml4LgorLSAg ICAgICAgX0FYX0xVQV9GTkRfUFJGWF9QVEgoWyRMVUFdLCBbJGF4X2x1YV9wcmVmaXhdLCBbcGFj a2FnZS5wYXRoXSkKKysgICAgICAgIF9BWF9MVUFfRk5EX1BSRlhfUFRIKFskTFVBXSwgWyRheF9s dWFfcHJlZml4XSwgW3NjcmlwdF0pCisgICAgICAgICBBU19JRihbdGVzdCAieCRheF9sdWFfcHJl Zml4ZWRfcGF0aCIgIT0gJ3gnXSwKKyAgICAgICAgIFsgZG5sIEZpeCB0aGUgcHJlZml4LgorLSAg ICAgICAgICBfYXhfc3RyaXBfcHJlZml4PWBlY2hvICIkYXhfbHVhX3ByZWZpeCIgfCBzZWQgJ3N8 LnwufGcnYAorKyAgICAgICAgICBfYXhfc3RyaXBfcHJlZml4PWBlY2hvICIkYXhfbHVhX3ByZWZp eCIgfCAkU0VEICdzfC58LnxnJ2AKKyAgICAgICAgICAgYXhfY3ZfbHVhX2x1YWRpcj1gZWNobyAi JGF4X2x1YV9wcmVmaXhlZF9wYXRoIiB8IFwKKy0gICAgICAgICAgICBzZWQgInMsXiRfYXhfc3Ry aXBfcHJlZml4LCRMVUFfUFJFRklYLCJgCisrICAgICAgICAgICAgJFNFRCAic3xeJF9heF9zdHJp cF9wcmVmaXh8JExVQV9QUkVGSVh8ImAKKyAgICAgICAgIF0pCisgICAgICAgXSkKKyAgICAgQUNf U1VCU1QoW2x1YWRpcl0sIFskYXhfY3ZfbHVhX2x1YWRpcl0pCitAQCAtMzIzLDEyICszMzIsMTIg QEAKKyAKKyAgICAgICAgIGRubCBUcnkgdG8gZmluZCBhIHBhdGggd2l0aCB0aGUgcHJlZml4Lgor ICAgICAgICAgX0FYX0xVQV9GTkRfUFJGWF9QVEgoWyRMVUFdLAorLSAgICAgICAgICBbJGF4X2x1 YV9leGVjX3ByZWZpeF0sIFtwYWNrYWdlLmNwYXRoZF0pCisrICAgICAgICAgIFskYXhfbHVhX2V4 ZWNfcHJlZml4XSwgW21vZHVsZV0pCisgICAgICAgICBBU19JRihbdGVzdCAieCRheF9sdWFfcHJl Zml4ZWRfcGF0aCIgIT0gJ3gnXSwKKyAgICAgICAgIFsgZG5sIEZpeCB0aGUgcHJlZml4LgorLSAg ICAgICAgICBfYXhfc3RyaXBfcHJlZml4PWBlY2hvICIkYXhfbHVhX2V4ZWNfcHJlZml4IiB8IHNl ZCAnc3wufC58ZydgCisrICAgICAgICAgIF9heF9zdHJpcF9wcmVmaXg9YGVjaG8gIiRheF9sdWFf ZXhlY19wcmVmaXgiIHwgJFNFRCAnc3wufC58ZydgCisgICAgICAgICAgIGF4X2N2X2x1YV9sdWFl eGVjZGlyPWBlY2hvICIkYXhfbHVhX3ByZWZpeGVkX3BhdGgiIHwgXAorLSAgICAgICAgICAgIHNl ZCAicyxeJF9heF9zdHJpcF9wcmVmaXgsJExVQV9FWEVDX1BSRUZJWCwiYAorKyAgICAgICAgICAg ICRTRUQgInN8XiRfYXhfc3RyaXBfcHJlZml4fCRMVUFfRVhFQ19QUkVGSVh8ImAKKyAgICAgICAg IF0pCisgICAgICAgXSkKKyAgICAgQUNfU1VCU1QoW2x1YWV4ZWNkaXJdLCBbJGF4X2N2X2x1YV9s dWFleGVjZGlyXSkKK0BAIC0zNDIsNyArMzUxLDcgQEAKKyBkbmwgQVhfV0lUSF9MVUEgaXMgbm93 IHRoZSBzYW1lIHRoaW5nIGFzIEFYX1BST0dfTFVBLgorIEFDX0RFRlVOKFtBWF9XSVRIX0xVQV0s CisgWworLSAgQUNfTVNHX1dBUk4oW1skMCBpcyBkZXByZWNhdGVkLCBwbGVhc2UgdXNlIEFYX1BS T0dfTFVBXV0pCisrICBBQ19NU0dfV0FSTihbWyQwIGlzIGRlcHJlY2F0ZWQsIHBsZWFzZSB1c2Ug QVhfUFJPR19MVUEgaW5zdGVhZF1dKQorICAgQVhfUFJPR19MVUEKKyBdKQorIAorQEAgLTM1Miw4 ICszNjEsMTkgQEAKKyBkbmwgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorIEFDX0RFRlVOKFtfQVhfTFVBX0NI S19JU19JTlRSUF0sCisgWworLSAgZG5sIEp1c3QgcHJpbnQgX1ZFUlNJT04gYmVjYXVzZSBhbGwg THVhIGludGVycHJldGVycyBoYXZlIHRoaXMgZ2xvYmFsLgorLSAgQVNfSUYoWyQxIC1lICJwcmlu dCgnSGVsbG8gJyAuLiBfVkVSU0lPTiAuLiAnIScpIiAmPi9kZXYvbnVsbF0sCisrICBkbmwgQSBt aW5pbWFsIEx1YSBmYWN0b3JpYWwgdG8gcHJvdmUgdGhpcyBpcyBhbiBpbnRlcnByZXRlci4gVGhp cyBzaG91bGQgd29yaworKyAgZG5sIGZvciBMdWEgaW50ZXJwcmV0ZXJzIHZlcnNpb24gNS4wIGFu ZCBiZXlvbmQuCisrICBfYXhfbHVhX2ZhY3RvcmlhbD1bYCQxIDI+L2Rldi9udWxsIC1lICcKKysg ICAgLS0gYSBzaW1wbGUgZmFjdG9yaWFsCisrICAgIGZ1bmN0aW9uIGZhY3QgKG4pCisrICAgICAg aWYgbiA9PSAwIHRoZW4KKysgICAgICAgIHJldHVybiAxCisrICAgICAgZWxzZQorKyAgICAgICAg cmV0dXJuIG4gKiBmYWN0KG4tMSkKKysgICAgICBlbmQKKysgICAgZW5kCisrICAgIHByaW50KCJm YWN0KDUpIGlzICIgLi4gZmFjdCg1KSknYF0KKysgIEFTX0lGKFt0ZXN0ICIkX2F4X2x1YV9mYWN0 b3JpYWwiID0gJ2ZhY3QoNSkgaXMgMTIwJ10sCisgICAgIFskMl0sIFskM10pCisgXSkKKyAKK0BA IC0zNjQsNDggKzM4NCw3MCBAQAorIGRubCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgQUNfREVGVU4oW19B WF9MVUFfQ0hLX1ZFUl0sCisgWworLSAgX2F4X3Rlc3RfdmVyPWAkMSAtZSAicHJpbnQoX1ZFUlNJ T04pIiAyPi9kZXYvbnVsbCB8IFwKKy0gICAgc2VkICJzfF5MdWEgXCguKlwpfFwxfCIgfCBncmVw IC1FIC1vICJeQDw6QDAtOUA6PkArXC5APDpAMC05QDo+QCsiYAorLSAgQVNfSUYoW3Rlc3QgIngk X2F4X3Rlc3RfdmVyIiA9ICd4J10sCistICAgIFtfYXhfdGVzdF92ZXI9JzAnXSkKKy0gIEFYX0NP TVBBUkVfVkVSU0lPTihbJF9heF90ZXN0X3Zlcl0sIFtnZV0sIFskMl0pCistICBtNF9pZihbJDNd LCBbXSwgW10sCistICAgIFsgQVNfSUYoWyRheF9jb21wYXJlX3ZlcnNpb25dLAorLSAgICAgICAg W0FYX0NPTVBBUkVfVkVSU0lPTihbJF9heF90ZXN0X3Zlcl0sIFtsdF0sIFskM10pXSkKKy0gICAg XSkKKy0gIEFTX0lGKFskYXhfY29tcGFyZV92ZXJzaW9uXSwgWyQ0XSwgWyQ1XSkKKysgIGRubCBD aGVjayB0aGF0IHRoZSBMdWEgdmVyc2lvbiBpcyB3aXRoaW4gdGhlIGJvdW5kcy4gT25seSB0aGUg bWFqb3IgYW5kIG1pbm9yCisrICBkbmwgdmVyc2lvbiBudW1iZXJzIGFyZSBjb25zaWRlcmVkLiBU aGlzIHNob3VsZCB3b3JrIGZvciBMdWEgaW50ZXJwcmV0ZXJzCisrICBkbmwgdmVyc2lvbiA1LjAg YW5kIGJleW9uZC4KKysgIF9heF9sdWFfZ29vZF92ZXJzaW9uPVtgJDEgLWUgJworKyAgICAtLSBh IHNjcmlwdCB0byBjb21wYXJlIHZlcnNpb25zCisrICAgIGZ1bmN0aW9uIHZlcnN0cjJudW0odmVy c3RyKQorKyAgICAgIGxvY2FsIF8sIF8sIG1ham9ydmVyLCBtaW5vcnZlciA9IHN0cmluZy5maW5k KHZlcnN0ciwgIl4oJWQrKSUuKCVkKykiKQorKyAgICAgIGlmIG1ham9ydmVyIGFuZCBtaW5vcnZl ciB0aGVuCisrICAgICAgICByZXR1cm4gdG9udW1iZXIobWFqb3J2ZXIpICogMTAwICsgdG9udW1i ZXIobWlub3J2ZXIpCisrICAgICAgZW5kCisrICAgIGVuZAorKyAgICBsb2NhbCBtaW52ZXIgPSB2 ZXJzdHIybnVtKCIkMiIpCisrICAgIGxvY2FsIF8sIF8sIHRyaW12ZXIgPSBzdHJpbmcuZmluZChf VkVSU0lPTiwgIl5MdWEgKC4qKSIpCisrICAgIGxvY2FsIHZlciA9IHZlcnN0cjJudW0odHJpbXZl cikKKysgICAgbG9jYWwgbWF4dmVyID0gdmVyc3RyMm51bSgiJDMiKSBvciAxZTkKKysgICAgaWYg bWludmVyIDw9IHZlciBhbmQgdmVyIDwgbWF4dmVyIHRoZW4KKysgICAgICBwcmludCgieWVzIikK KysgICAgZWxzZQorKyAgICAgIHByaW50KCJubyIpCisrICAgIGVuZCdgXQorKyAgICBBU19JRihb dGVzdCAieCRfYXhfbHVhX2dvb2RfdmVyc2lvbiIgPSAieHllcyJdLAorKyAgICAgIFskNF0sIFsk NV0pCisgXSkKKyAKKyAKKyBkbmwgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLWRubCBfQVhfTFVBX0ZORF9Q UkZYX1BUSChQUk9HLCBQUkVGSVgsIExVQS1QQVRILVZBUklBQkxFKQorK2RubCBfQVhfTFVBX0ZO RF9QUkZYX1BUSChQUk9HLCBQUkVGSVgsIFNDUklQVC1PUi1NT0RVTEUtRElSKQorIGRubCA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09CisgQUNfREVGVU4oW19BWF9MVUFfRk5EX1BSRlhfUFRIXSwKKyBbCistICBk bmwgSW52b2tlcyB0aGUgTHVhIGludGVycHJldGVyIFBST0cgdG8gcHJpbnQgdGhlIHBhdGggdmFy aWFibGUKKy0gIGRubCBMVUEtUEFUSC1WQVJJQUJMRSwgdXN1YWxseSBwYWNrYWdlLnBhdGggb3Ig cGFja2FnZS5jcGF0aC4gUGF0aHMgYXJlCistICBkbmwgdGhlbiBtYXRjaGVkIGFnYWluc3QgUFJF RklYLiBUaGUgZmlyc3QgcGF0aCB0byBiZWdpbiB3aXRoIFBSRUZJWCBpcyBzZXQKKy0gIGRubCB0 byBheF9sdWFfcHJlZml4ZWRfcGF0aC4KKy0KKy0gIGF4X2x1YV9wcmVmaXhlZF9wYXRoPScnCist ICBfYXhfcGFja2FnZV9wYXRocz1gJDEgLWUgJ3ByaW50KCQzKScgMj4vZGV2L251bGwgfCBzZWQg J3N8O3xcbnxnJ2AKKy0gIGRubCBUcnkgdGhlIHBhdGhzIGluIG9yZGVyLCBsb29raW5nIGZvciB0 aGUgcHJlZml4LgorLSAgZm9yIF9heF9wYWNrYWdlX3BhdGggaW4gJF9heF9wYWNrYWdlX3BhdGhz OyBkbworLSAgICBkbmwgQ29weSB0aGUgcGF0aCwgdXAgdG8gdGhlIHVzZSBvZiBhIEx1YSB3aWxk Y2FyZC4KKy0gICAgX2F4X3BhdGhfcGFydHM9YGVjaG8gIiRfYXhfcGFja2FnZV9wYXRoIiB8IHNl ZCAnc3wvfFxufGcnYAorLSAgICBfYXhfcmVhc3NlbWJsZWQ9JycKKy0gICAgZm9yIF9heF9wYXRo X3BhcnQgaW4gJF9heF9wYXRoX3BhcnRzOyBkbworLSAgICAgIGVjaG8gIiRfYXhfcGF0aF9wYXJ0 IiB8IGdyZXAgJ1w/JyA+L2Rldi9udWxsICYmIGJyZWFrCistICAgICAgX2F4X3JlYXNzZW1ibGVk PSIkX2F4X3JlYXNzZW1ibGVkLyRfYXhfcGF0aF9wYXJ0IgorLSAgICBkb25lCistICAgIGRubCBD aGVjayB0aGUgcGF0aCBhZ2FpbnN0IHRoZSBwcmVmaXguCistICAgIF9heF9wYWNrYWdlX3BhdGg9 JF9heF9yZWFzc2VtYmxlZAorLSAgICBpZiBlY2hvICIkX2F4X3BhY2thZ2VfcGF0aCIgfCBncmVw ICJeJDIiID4vZGV2L251bGw7IHRoZW4KKy0gICAgICBkbmwgRm91bmQgaXQuCistICAgICAgYXhf bHVhX3ByZWZpeGVkX3BhdGg9JF9heF9wYWNrYWdlX3BhdGgKKy0gICAgICBicmVhaworLSAgICBm aQorLSAgZG9uZQorKyAgZG5sIEdldCB0aGUgc2NyaXB0IG9yIG1vZHVsZSBkaXJlY3RvcnkgYnkg cXVlcnlpbmcgdGhlIEx1YSBpbnRlcnByZXRlciwKKysgIGRubCBmaWx0ZXJpbmcgb24gdGhlIGdp dmVuIHByZWZpeCwgYW5kIHNlbGVjdGluZyB0aGUgc2hhbGxvd2VzdCBwYXRoLiBJZiBubworKyAg ZG5sIHBhdGggaXMgZm91bmQgbWF0Y2hpbmcgdGhlIHByZWZpeCwgdGhlIHJlc3VsdCB3aWxsIGJl IGFuIGVtcHR5IHN0cmluZy4KKysgIGRubCBUaGUgdGhpcmQgYXJndW1lbnQgZGV0ZXJtaW5lcyB0 aGUgdHlwZSBvZiBzZWFyY2gsIGl0IGNhbiBiZSAnc2NyaXB0JyBvcgorKyAgZG5sICdtb2R1bGUn LiBTdXBwbHlpbmcgJ3NjcmlwdCcgd2lsbCBwZXJmb3JtIHRoZSBzZWFyY2ggd2l0aCBwYWNrYWdl LnBhdGgKKysgIGRubCBhbmQgTFVBX1BBVEgsIGFuZCBzdXBwbHlpbmcgJ21vZHVsZScgd2lsbCBz ZWFyY2ggd2l0aCBwYWNrYWdlLmNwYXRoIGFuZAorKyAgZG5sIExVQV9DUEFUSC4gVGhpcyBpcyBk b25lIGZvciBjb21wYXRpYmlsaXR5IHdpdGggTHVhIDUuMC4KKysKKysgIGF4X2x1YV9wcmVmaXhl ZF9wYXRoPVtgJDEgLWUgJworKyAgICAtLSBnZXQgdGhlIHBhdGggYmFzZWQgb24gc2VhcmNoIHR5 cGUKKysgICAgbG9jYWwgc2VhcmNodHlwZSA9ICIkMyIKKysgICAgbG9jYWwgcGF0aHMgPSAiIgor KyAgICBpZiBzZWFyY2h0eXBlID09ICJzY3JpcHQiIHRoZW4KKysgICAgICBwYXRocyA9IChwYWNr YWdlIGFuZCBwYWNrYWdlLnBhdGgpIG9yIExVQV9QQVRICisrICAgIGVsc2VpZiBzZWFyY2h0eXBl ID09ICJtb2R1bGUiIHRoZW4KKysgICAgICBwYXRocyA9IChwYWNrYWdlIGFuZCBwYWNrYWdlLmNw YXRoKSBvciBMVUFfQ1BBVEgKKysgICAgZW5kCisrICAgIC0tIHNlYXJjaCBmb3IgdGhlIHByZWZp eAorKyAgICBsb2NhbCBwcmVmaXggPSAiJyQyJyIKKysgICAgbG9jYWwgbWlucGF0aCA9ICIiCisr ICAgIGxvY2FsIG1pbmRlcHRoID0gMWU5CisrICAgIHN0cmluZy5nc3ViKHBhdGhzLCAiKEA8OkBe O0A6PkArKSIsCisrICAgICAgZnVuY3Rpb24gKHBhdGgpCisrICAgICAgICBwYXRoID0gc3RyaW5n LmdzdWIocGF0aCwgIiU/LiokIiwgIiIpCisrICAgICAgICBwYXRoID0gc3RyaW5nLmdzdWIocGF0 aCwgIi9APDpAXi9AOj5AKiQiLCAiIikKKysgICAgICAgIGlmIHN0cmluZy5maW5kKHBhdGgsIHBy ZWZpeCkgdGhlbgorKyAgICAgICAgICBsb2NhbCBkZXB0aCA9IHN0cmluZy5sZW4oc3RyaW5nLmdz dWIocGF0aCwgIkA8OkBeL0A6PkAiLCAiIikpCisrICAgICAgICAgIGlmIGRlcHRoIDwgbWluZGVw dGggdGhlbgorKyAgICAgICAgICAgIG1pbnBhdGggPSBwYXRoCisrICAgICAgICAgICAgbWluZGVw dGggPSBkZXB0aAorKyAgICAgICAgICBlbmQKKysgICAgICAgIGVuZAorKyAgICAgIGVuZCkKKysg ICAgcHJpbnQobWlucGF0aCknYF0KKyBdKQorIAorIAorQEAgLTQyNiw5ICs0NjgsMTAgQEAKKyAg IEFDX0FSR19WQVIoW0xVQV9JTkNMVURFXSwgW1RoZSBMdWEgaW5jbHVkZXMsIGUuZy4gLUkvdXNy L2luY2x1ZGUvbHVhNS4xXSkKKyAKKyAgIGRubCBTb21lIGRlZmF1bHQgZGlyZWN0b3JpZXMgdG8g c2VhcmNoLgorLSAgTFVBX1NIT1JUX1ZFUlNJT049YGVjaG8gIiRMVUFfVkVSU0lPTiIgfCBzZWQg J3N8XC58fCdgCisrICBMVUFfU0hPUlRfVkVSU0lPTj1gZWNobyAiJExVQV9WRVJTSU9OIiB8ICRT RUQgJ3N8XC58fCdgCisgICBtNF9kZWZpbmVfZGVmYXVsdChbX0FYX0xVQV9JTkNMVURFX0xJU1Rd LAorICAgICBbIC91c3IvaW5jbHVkZS9sdWEkTFVBX1ZFUlNJT04gXAorKyAgICAgIC91c3IvaW5j bHVkZS9sdWEtJExVQV9WRVJTSU9OIFwKKyAgICAgICAvdXNyL2luY2x1ZGUvbHVhLyRMVUFfVkVS U0lPTiBcCisgICAgICAgL3Vzci9pbmNsdWRlL2x1YSRMVUFfU0hPUlRfVkVSU0lPTiBcCisgICAg ICAgL3Vzci9sb2NhbC9pbmNsdWRlL2x1YSRMVUFfVkVSU0lPTiBcCitAQCAtNDcyLDE0ICs1MTUs MTcgQEAKKyAKKyAgIEFTX0lGKFt0ZXN0ICJ4JGFjX2N2X2hlYWRlcl9sdWFfaCIgPSAneHllcydd LAorICAgICBbIGRubCBNYWtlIGEgcHJvZ3JhbSB0byBwcmludCBMVUFfVkVSU0lPTiBkZWZpbmVk IGluIHRoZSBoZWFkZXIuCistICAgICAgZG5sIFRPRE8gVGhpcyBwcm9iYWJseSBzaG91bGRuJ3Qg YmUgYSBydW50aW1lIHRlc3QuCistCistICAgICAgQUNfQ0FDSEVfQ0hFQ0soW2ZvciBMdWEgaGVh ZGVyIHZlcnNpb25dLAorLSAgICAgICAgW2F4X2N2X2x1YV9oZWFkZXJfdmVyc2lvbl0sCistICAg ICAgICBbIF9heF9sdWFfc2F2ZWRfY3BwZmxhZ3M9JENQUEZMQUdTCistICAgICAgICAgIENQUEZM QUdTPSIkQ1BQRkxBR1MgJExVQV9JTkNMVURFIgorLSAgICAgICAgICBBQ19SVU5fSUZFTFNFKAor LSAgICAgICAgICAgIFsgQUNfTEFOR19TT1VSQ0UoW1sKKysgICAgICBkbmwgVE9ETyBJdCB3b3Vs ZCBiZSByZWFsbHkgbmljZSBpZiB3ZSBjb3VsZCBkbyB0aGlzIHdpdGhvdXQgY29tcGlsaW5nIGEK KysgICAgICBkbmwgcHJvZ3JhbSwgdGhlbiBpdCB3b3VsZCB3b3JrIHdoZW4gY3Jvc3MgY29tcGls aW5nLiBCdXQgSSdtIG5vdCBzdXJlIGhvdworKyAgICAgIGRubCB0byBkbyB0aGlzIHJlbGlhYmx5 LiBGb3Igbm93LCBhc3N1bWUgdmVyc2lvbnMgbWF0Y2ggd2hlbiBjcm9zcyBjb21waWxpbmcuCisr CisrICAgICAgQVNfSUYoW3Rlc3QgIngkY3Jvc3NfY29tcGlsaW5nIiAhPSAneHllcyddLAorKyAg ICAgICAgWyBBQ19DQUNIRV9DSEVDSyhbZm9yIEx1YSBoZWFkZXIgdmVyc2lvbl0sCisrICAgICAg ICAgICAgW2F4X2N2X2x1YV9oZWFkZXJfdmVyc2lvbl0sCisrICAgICAgICAgICAgWyBfYXhfbHVh X3NhdmVkX2NwcGZsYWdzPSRDUFBGTEFHUworKyAgICAgICAgICAgICAgQ1BQRkxBR1M9IiRDUFBG TEFHUyAkTFVBX0lOQ0xVREUiCisrICAgICAgICAgICAgICBBQ19SVU5fSUZFTFNFKAorKyAgICAg ICAgICAgICAgICBbIEFDX0xBTkdfU09VUkNFKFtbCisgI2luY2x1ZGUgPGx1YS5oPgorICNpbmNs dWRlIDxzdGRsaWIuaD4KKyAjaW5jbHVkZSA8c3RkaW8uaD4KK0BAIC00ODksMjMgKzUzNSwyNiBA QAorICAgZXhpdChFWElUX1NVQ0NFU1MpOworIH0KKyBdXSkKKysgICAgICAgICAgICAgICAgXSwK KysgICAgICAgICAgICAgICAgWyBheF9jdl9sdWFfaGVhZGVyX3ZlcnNpb249YC4vY29uZnRlc3Qk RVhFRVhUIHAgfCBcCisrICAgICAgICAgICAgICAgICAgICAkU0VEIC1uICJzfF5MdWEgXChAPDpA MC05QDo+QFx7MSxcfVwuQDw6QDAtOUA6PkBcezEsXH1cKS5cezAsXH18XDF8cCJgCisrICAgICAg ICAgICAgICAgIF0sCisrICAgICAgICAgICAgICAgIFtheF9jdl9sdWFfaGVhZGVyX3ZlcnNpb249 J3Vua25vd24nXSkKKysgICAgICAgICAgICAgIENQUEZMQUdTPSRfYXhfbHVhX3NhdmVkX2NwcGZs YWdzCisrICAgICAgICAgICAgXSkKKysKKysgICAgICAgICAgZG5sIENvbXBhcmUgdGhpcyB0byB0 aGUgcHJldmlvdXNseSBmb3VuZCBMVUFfVkVSU0lPTi4KKysgICAgICAgICAgQUNfTVNHX0NIRUNL SU5HKFtpZiBMdWEgaGVhZGVyIHZlcnNpb24gbWF0Y2hlcyAkTFVBX1ZFUlNJT05dKQorKyAgICAg ICAgICBBU19JRihbdGVzdCAieCRheF9jdl9sdWFfaGVhZGVyX3ZlcnNpb24iID0gIngkTFVBX1ZF UlNJT04iXSwKKysgICAgICAgICAgICBbIEFDX01TR19SRVNVTFQoW3llc10pCisrICAgICAgICAg ICAgICBheF9oZWFkZXJfdmVyc2lvbl9tYXRjaD0neWVzJworICAgICAgICAgICAgIF0sCistICAg ICAgICAgICAgWyBheF9jdl9sdWFfaGVhZGVyX3ZlcnNpb249YC4vY29uZnRlc3QkRVhFRVhUIHAg fCBcCistICAgICAgICAgICAgICAgIHNlZCAic3xeTHVhIFwoLipcKXxcMXwiIHwgXAorLSAgICAg ICAgICAgICAgICBncmVwIC1FIC1vICJeQDw6QDAtOUA6PkArXC5APDpAMC05QDo+QCsiYAorLSAg ICAgICAgICAgIF0sCistICAgICAgICAgICAgW2F4X2N2X2x1YV9oZWFkZXJfdmVyc2lvbj0ndW5r bm93biddKQorLSAgICAgICAgICBDUFBGTEFHUz0kX2F4X2x1YV9zYXZlZF9jcHBmbGFncworLSAg ICAgICAgXSkKKy0KKy0gICAgICBkbmwgQ29tcGFyZSB0aGlzIHRvIHRoZSBwcmV2aW91c2x5IGZv dW5kIExVQV9WRVJTSU9OLgorLSAgICAgIEFDX01TR19DSEVDS0lORyhbaWYgTHVhIGhlYWRlciB2 ZXJzaW9uIG1hdGNoZXMgJExVQV9WRVJTSU9OXSkKKy0gICAgICBBU19JRihbdGVzdCAieCRheF9j dl9sdWFfaGVhZGVyX3ZlcnNpb24iID0gIngkTFVBX1ZFUlNJT04iXSwKKy0gICAgICAgIFsgQUNf TVNHX1JFU1VMVChbeWVzXSkKKy0gICAgICAgICAgYXhfaGVhZGVyX3ZlcnNpb25fbWF0Y2g9J3ll cycKKysgICAgICAgICAgICBbIEFDX01TR19SRVNVTFQoW25vXSkKKysgICAgICAgICAgICAgIGF4 X2hlYWRlcl92ZXJzaW9uX21hdGNoPSdubycKKysgICAgICAgICAgICBdKQorICAgICAgICAgXSwK Ky0gICAgICAgIFsgQUNfTVNHX1JFU1VMVChbbm9dKQorLSAgICAgICAgICBheF9oZWFkZXJfdmVy c2lvbl9tYXRjaD0nbm8nCisrICAgICAgICBbIEFDX01TR19XQVJOKFtjcm9zcyBjb21waWxpbmcg c28gYXNzdW1pbmcgaGVhZGVyIHZlcnNpb24gbnVtYmVyIG1hdGNoZXNdKQorKyAgICAgICAgICBh eF9oZWFkZXJfdmVyc2lvbl9tYXRjaD0neWVzJworICAgICAgICAgXSkKKyAgICAgXSkKKyAKK0BA IC01MjIsNyArNTcxLDcgQEAKKyBkbmwgQVhfTFVBX0hFQURFUlNfVkVSU0lPTiBubyBsb25nZXIg ZXhpc3RzLCB1c2UgQVhfTFVBX0hFQURFUlMuCisgQUNfREVGVU4oW0FYX0xVQV9IRUFERVJTX1ZF UlNJT05dLAorIFsKKy0gIEFDX01TR19XQVJOKFtbJDAgaXMgZGVwcmVjYXRlZCwgcGxlYXNlIHVz ZSBBWF9MVUFfSEVBREVSU11dKQorKyAgQUNfTVNHX1dBUk4oW1skMCBpcyBkZXByZWNhdGVkLCBw bGVhc2UgdXNlIEFYX0xVQV9IRUFERVJTIGluc3RlYWRdXSkKKyBdKQorIAorIAorQEAgLTU3OCwx NCArNjI3LDE1IEBACisgICAgIF9heF9sdWFfc2F2ZWRfbGlicz0kTElCUworICAgICBMSUJTPSIk TElCUyAkTFVBX0xJQiIKKyAgICAgQUNfU0VBUkNIX0xJQlMoW2x1YV9sb2FkXSwKKy0gICAgICAg ICAgICAgICAgICAgWyBsdWEkTFVBX1ZFUlNJT04gXAorLSAgICAgICAgICAgICAgICAgICAgIGx1 YSRMVUFfU0hPUlRfVkVSU0lPTiBcCistICAgICAgICAgICAgICAgICAgICAgbHVhLSRMVUFfVkVS U0lPTiBcCistICAgICAgICAgICAgICAgICAgICAgbHVhLSRMVUFfU0hPUlRfVkVSU0lPTiBcCist ICAgICAgICAgICAgICAgICAgICAgbHVhXSwKKy0gICAgICAgICAgICAgICAgICAgW19heF9mb3Vu ZF9sdWFfbGlicz0neWVzJ10sCistICAgICAgICAgICAgICAgICAgIFtfYXhfZm91bmRfbHVhX2xp YnM9J25vJ10sCistICAgICAgICAgICAgICAgICAgIFskX2F4X2x1YV9leHRyYV9saWJzXSkKKysg ICAgICBbIGx1YSRMVUFfVkVSU0lPTiBcCisrICAgICAgICBsdWEkTFVBX1NIT1JUX1ZFUlNJT04g XAorKyAgICAgICAgbHVhLSRMVUFfVkVSU0lPTiBcCisrICAgICAgICBsdWEtJExVQV9TSE9SVF9W RVJTSU9OIFwKKysgICAgICAgIGx1YSBcCisrICAgICAgXSwKKysgICAgICBbX2F4X2ZvdW5kX2x1 YV9saWJzPSd5ZXMnXSwKKysgICAgICBbX2F4X2ZvdW5kX2x1YV9saWJzPSdubyddLAorKyAgICAg IFskX2F4X2x1YV9leHRyYV9saWJzXSkKKyAgICAgTElCUz0kX2F4X2x1YV9zYXZlZF9saWJzCisg CisgICAgIEFTX0lGKFt0ZXN0ICJ4JGFjX2N2X3NlYXJjaF9sdWFfbG9hZCIgIT0gJ3hubycgJiYK ZGlmZiAtLWdpdCBhL3NyY3BrZ3MvdGVsZWdyYW0tY2xpL3RlbXBsYXRlIGIvc3JjcGtncy90ZWxl Z3JhbS1jbGkvdGVtcGxhdGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAu LjkwNGEzY2YxNTc5Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy90ZWxlZ3JhbS1jbGkvdGVt cGxhdGUKQEAgLTAsMCArMSwyNyBAQAorIyBUZW1wbGF0ZSBmaWxlIGZvciAndGVsZWdyYW0tY2xp JworcGtnbmFtZT10ZWxlZ3JhbS1jbGkKK3ZlcnNpb249MjAyMDAxMDYKK3JldmlzaW9uPTEKK2J1 aWxkX3N0eWxlPWdudS1jb25maWd1cmUKK2hvc3RtYWtlZGVwZW5kcz0ibHVhLWRldmVsIGxpYnJl c3NsLWRldmVsIGxpYmNyeXB0bzQ1IgorbWFrZWRlcGVuZHM9ImxpYmV2ZW50LWRldmVsIGxpYmNv bmZpZy1kZXZlbCBqYW5zc29uLWRldmVsIHpsaWItZGV2ZWwgcmVhZGxpbmUtZGV2ZWwiCitzaG9y dF9kZXNjPSJDb21tYW5kLWxpbmUgaW50ZXJmYWNlIGZvciBUZWxlZ3JhbS4gVXNlcyByZWFkbGlu ZSBpbnRlcmZhY2UiCittYWludGFpbmVyPSJNYXJjbyBCZXJ0b25pIDxtYXJjby5iZXJ0b25pLmJv bG9nbmFAZ21haWwuY29tPiIKK2xpY2Vuc2U9IkdQTC0yLjAtb25seSIKK2hvbWVwYWdlPSJodHRw czovL2dpdGh1Yi5jb20va2Vub3JiLWNvbnRyaWIvdGciCitfdGdsdmVyc2lvbj0yMDE5MDIwMwor ZGlzdGZpbGVzPSJodHRwczovL2dpdGh1Yi5jb20va2Vub3JiLWNvbnRyaWIvdGcvYXJjaGl2ZS8k e3ZlcnNpb259LnRhci5nej50Zy0ke3ZlcnNpb259LnRhci5neiBodHRwczovL2dpdGh1Yi5jb20v a2Vub3JiLWNvbnRyaWIvdGdsL2FyY2hpdmUvJHtfdGdsdmVyc2lvbn0udGFyLmd6PnRnbC0ke190 Z2x2ZXJzaW9ufS50YXIuZ3oiCitjaGVja3N1bT0iODI0NTA0ODA0ZThjMGJiMjA5NDNkNzY1YmE1 NGZlYWFjZGE3YjJlYzM0NzM1ZGEwY2ZlNWQ1ZTYxMzQ4ZDUxOSAxNzhlNDQzOTM4YTg5YzlhYTc3 MWZlN2EyNWIzNjMxNTg0MDkxNWJmZjhmNjc0NGFiMjk4ZjM2Zjg4NTQwYTMyIgorCitkb19leHRy YWN0KCkgeworCXNyY2Rpcj0iJFhCUFNfU1JDRElTVERJUi8kcGtnbmFtZS0kdmVyc2lvbiIKKwl0 YXIgLXggLS1uby1zYW1lLXBlcm1pc3Npb25zIC0tbm8tc2FtZS1vd25lciAtZiAkc3JjZGlyL3Rn LSR7dmVyc2lvbn0udGFyLmd6IC1DICR3cmtzcmMgLS1zdHJpcC1jb21wb25lbnRzIDEKKwl0YXIg LXggLS1uby1zYW1lLXBlcm1pc3Npb25zIC0tbm8tc2FtZS1vd25lciAtZiAkc3JjZGlyL3RnbC0k e190Z2x2ZXJzaW9ufS50YXIuZ3ogLUMgJHdya3NyYy90Z2wgLS1zdHJpcC1jb21wb25lbnRzIDEK K30KKworZG9faW5zdGFsbCgpIHsKKwljZCAke3dya3NyY30KKwl2YmluIGJpbi90ZWxlZ3JhbS1j bGkKKwl2bWFuIGRlYmlhbi90ZWxlZ3JhbS1jbGkuOAorCXZjb25mIHRnLXNlcnZlci5wdWIgc2Vy dmVyLnB1YgorfQo= --===============3471742220475835759==--