Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1ruqH8-007yxW-R8 for pgsql-hackers@arkaria.postgresql.org; Thu, 11 Apr 2024 08:59:20 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1ruqH7-00FLku-Rk for pgsql-hackers@arkaria.postgresql.org; Thu, 11 Apr 2024 08:59:17 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1ruqH7-00FLkk-8s for pgsql-hackers@lists.postgresql.org; Thu, 11 Apr 2024 08:59:17 +0000 Received: from mail.postgrespro.ru ([93.174.131.139]) by magus.postgresql.org with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1ruqH2-000Lbn-29 for pgsql-hackers@lists.postgresql.org; Thu, 11 Apr 2024 08:59:16 +0000 Received: from [172.30.11.66] (unknown [172.30.11.66]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) (Authenticated sender: d.koval@postgrespro.ru) by mail.postgrespro.ru (Postfix/587) with ESMTPSA id 49BE3E20EC3; Thu, 11 Apr 2024 11:59:10 +0300 (MSK) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=postgrespro.ru; s=mx2023; t=1712825950; bh=VZ8WJIG52KeT2WmzsdU8Out686+QRL3sqVdmhEEfytA=; h=Message-ID:Date:User-Agent:Subject:To:Cc:References:From: In-Reply-To:From; b=Lq3D+CjO9qY7n+XrtXiRqMajylyITcKaLiSm4Abw4D9LXqb5wYfpjzSzj7R93UGBN N8Hfnm0esqck9V1Cvq3ecDYB7C9Sbzg0HeYO1DT5ENsHtOU7KEU/wPSrn2ouGeMseO Uv24bx+GfVVKno81Wczz51dP8lhp3FkkvCzwhVcC2/6FJNBYwWkLTJXl5e2UtPXhNc jJjS1pkqetkBc5cylt+wRaxIfvjwe4QlDUUCXbKVib2qkTCIKXcDC8boLK8j5GEA9y 0VGE+TDFRVkwMx166TJKWMBBgaMhnJb32Mg9pPU1c+i+rYgDtLeih/BvNxYmBzLhua YMx3zpqkI9T9w== Content-Type: multipart/mixed; boundary="------------Y06tWWfeUGtaoSwWeGZ18tAm" Message-ID: Date: Thu, 11 Apr 2024 11:59:10 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Add SPLIT PARTITION/MERGE PARTITIONS commands To: Richard Guo Cc: Alexander Korotkov , PostgreSQL Hackers References: <3a4b9c1c-3edf-4e29-9629-b4113aefb0f3@postgrespro.ru> <28ed1ee0-749d-9838-955e-abff42fc44be@gmail.com> <86bfd241-a58c-479a-9a72-2c67a02becf8@postgrespro.ru> Content-Language: en-US From: Dmitry Koval In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------Y06tWWfeUGtaoSwWeGZ18tAm Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi! > FWIW, I also proposed a patch earlier that fixes error messages and > comments in the split partition code Sorry, I thought all the fixes you suggested were already included in v1-0002-Fixes-for-english-text.patch (but they are not). Added missing lines to v2-0002-Fixes-for-english-text.patch. -- With best regards, Dmitry Koval Postgres Professional: http://postgrespro.com --------------Y06tWWfeUGtaoSwWeGZ18tAm Content-Type: text/plain; charset=UTF-8; name="v2-0001-Fix-for-SPLIT-MERGE-partitions-of-temporary-table.patch" Content-Disposition: attachment; filename*0="v2-0001-Fix-for-SPLIT-MERGE-partitions-of-temporary-table.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSBjZmQ1YTU2ZDE1ZTdlYWQ2ZGQ3YWU2NmNkMzgyZGUzZmEzODE1MGQ3IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLb3ZhbCBEbWl0cnkgPGQua292YWxAcG9zdGdyZXNw cm8ucnU+CkRhdGU6IFdlZCwgMTAgQXByIDIwMjQgMTg6NTQ6MDUgKzAzMDAKU3ViamVjdDog W1BBVENIIHYyIDEvMl0gRml4IGZvciBTUExJVC9NRVJHRSBwYXJ0aXRpb25zIG9mIHRlbXBv cmFyeSB0YWJsZQoKLS0tCiBzcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNtZHMuYyAgICAg ICAgICAgICAgfCAxMSArKysrLS0tCiBzcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfdXRpbGNt ZC5jICAgICAgICAgICAgfCAgMiArLQogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wYXJ0 aXRpb25fbWVyZ2Uub3V0IHwgMzIgKysrKysrKysrKysrKysrKystLQogc3JjL3Rlc3QvcmVn cmVzcy9leHBlY3RlZC9wYXJ0aXRpb25fc3BsaXQub3V0IHwgMjkgKysrKysrKysrKysrKysr KysKIHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3BhcnRpdGlvbl9tZXJnZS5zcWwgICAgICB8IDI0 ICsrKysrKysrKysrKystCiBzcmMvdGVzdC9yZWdyZXNzL3NxbC9wYXJ0aXRpb25fc3BsaXQu c3FsICAgICAgfCAyMyArKysrKysrKysrKysrCiA2IGZpbGVzIGNoYW5nZWQsIDExMyBpbnNl cnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2Nv bW1hbmRzL3RhYmxlY21kcy5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFibGVjbWRzLmMK aW5kZXggOGE5OGEwYWY0OC4uM2RhOWY2Mzg5ZCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQv Y29tbWFuZHMvdGFibGVjbWRzLmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFibGVj bWRzLmMKQEAgLTIxMTQ1LDE3ICsyMTE0NSwxOSBAQCBtb3ZlU3BsaXRUYWJsZVJvd3MoUmVs YXRpb24gcmVsLCBSZWxhdGlvbiBzcGxpdFJlbCwgTGlzdCAqcGFydGxpc3QsIExpc3QgKm5l d1BhcgogICogY3JlYXRlUGFydGl0aW9uVGFibGU6IGNyZWF0ZSB0YWJsZSBmb3IgYSBuZXcg cGFydGl0aW9uIHdpdGggZ2l2ZW4gbmFtZQogICogKG5ld1BhcnROYW1lKSBsaWtlIHRhYmxl IChtb2RlbFJlbE5hbWUpCiAgKgotICogRW11bGF0ZXMgY29tbWFuZDogQ1JFQVRFIFRBQkxF IDxuZXdQYXJ0TmFtZT4gKExJS0UgPG1vZGVsUmVsTmFtZT4KKyAqIEVtdWxhdGVzIGNvbW1h bmQ6IENSRUFURSBbVEVNUF0gVEFCTEUgPG5ld1BhcnROYW1lPiAoTElLRSA8bW9kZWxSZWxO YW1lPgogICogSU5DTFVESU5HIEFMTCBFWENMVURJTkcgSU5ERVhFUyBFWENMVURJTkcgSURF TlRJVFkpCiAgKi8KIHN0YXRpYyB2b2lkCi1jcmVhdGVQYXJ0aXRpb25UYWJsZShSYW5nZVZh ciAqbmV3UGFydE5hbWUsIFJhbmdlVmFyICptb2RlbFJlbE5hbWUsCitjcmVhdGVQYXJ0aXRp b25UYWJsZShSZWxhdGlvbiByZWwsIFJhbmdlVmFyICpuZXdQYXJ0TmFtZSwgUmFuZ2VWYXIg Km1vZGVsUmVsTmFtZSwKIAkJCQkJIEFsdGVyVGFibGVVdGlsaXR5Q29udGV4dCAqY29udGV4 dCkKIHsKIAlDcmVhdGVTdG10ICpjcmVhdGVTdG10OwogCVRhYmxlTGlrZUNsYXVzZSAqdGxj OwogCVBsYW5uZWRTdG10ICp3cmFwcGVyOwogCisJbmV3UGFydE5hbWUtPnJlbHBlcnNpc3Rl bmNlID0gcmVsLT5yZF9yZWwtPnJlbHBlcnNpc3RlbmNlOworCiAJY3JlYXRlU3RtdCA9IG1h a2VOb2RlKENyZWF0ZVN0bXQpOwogCWNyZWF0ZVN0bXQtPnJlbGF0aW9uID0gbmV3UGFydE5h bWU7CiAJY3JlYXRlU3RtdC0+dGFibGVFbHRzID0gTklMOwpAQCAtMjEyOTEsNyArMjEyOTMs NyBAQCBBVEV4ZWNTcGxpdFBhcnRpdGlvbihMaXN0ICoqd3F1ZXVlLCBBbHRlcmVkVGFibGVJ bmZvICp0YWIsIFJlbGF0aW9uIHJlbCwKIAkJU2luZ2xlUGFydGl0aW9uU3BlYyAqc3BzID0g KFNpbmdsZVBhcnRpdGlvblNwZWMgKikgbGZpcnN0KGxpc3RwdHIpOwogCQlSZWxhdGlvbglu ZXdQYXJ0UmVsOwogCi0JCWNyZWF0ZVBhcnRpdGlvblRhYmxlKHNwcy0+bmFtZSwgcGFyZW50 TmFtZSwgY29udGV4dCk7CisJCWNyZWF0ZVBhcnRpdGlvblRhYmxlKHJlbCwgc3BzLT5uYW1l LCBwYXJlbnROYW1lLCBjb250ZXh0KTsKIAogCQkvKiBPcGVuIHRoZSBuZXcgcGFydGl0aW9u IGFuZCBhY3F1aXJlIGV4Y2x1c2l2ZSBsb2NrIG9uIGl0LiAqLwogCQluZXdQYXJ0UmVsID0g dGFibGVfb3BlbnJ2KHNwcy0+bmFtZSwgQWNjZXNzRXhjbHVzaXZlTG9jayk7CkBAIC0yMTQ5 MSw3ICsyMTQ5Myw4IEBAIEFURXhlY01lcmdlUGFydGl0aW9ucyhMaXN0ICoqd3F1ZXVlLCBB bHRlcmVkVGFibGVJbmZvICp0YWIsIFJlbGF0aW9uIHJlbCwKIAkJbWVyZ2VQYXJ0TmFtZSA9 IG1ha2VSYW5nZVZhcihnZXRfbmFtZXNwYWNlX25hbWUoUmVsYXRpb25HZXROYW1lc3BhY2Uo cmVsKSksCiAJCQkJCQkJCQkgdG1wUmVsTmFtZSwgLTEpOwogCX0KLQljcmVhdGVQYXJ0aXRp b25UYWJsZShtZXJnZVBhcnROYW1lLAorCWNyZWF0ZVBhcnRpdGlvblRhYmxlKHJlbCwKKwkJ CQkJCSBtZXJnZVBhcnROYW1lLAogCQkJCQkJIG1ha2VSYW5nZVZhcihnZXRfbmFtZXNwYWNl X25hbWUoUmVsYXRpb25HZXROYW1lc3BhY2UocmVsKSksCiAJCQkJCQkJCQkgIFJlbGF0aW9u R2V0UmVsYXRpb25OYW1lKHJlbCksIC0xKSwKIAkJCQkJCSBjb250ZXh0KTsKZGlmZiAtLWdp dCBhL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV91dGlsY21kLmMgYi9zcmMvYmFja2VuZC9w YXJzZXIvcGFyc2VfdXRpbGNtZC5jCmluZGV4IGNlYmEwNjk5MDUuLmEzYmJjYzk5YzAgMTAw NjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV91dGlsY21kLmMKKysrIGIvc3Jj L2JhY2tlbmQvcGFyc2VyL3BhcnNlX3V0aWxjbWQuYwpAQCAtMzQzMCw3ICszNDMwLDcgQEAg Y2hlY2tQYXJ0aXRpb24oUmVsYXRpb24gcmVsLCBPaWQgcGFydFJlbE9pZCkKIAlpZiAocGFy dFJlbC0+cmRfcmVsLT5yZWxraW5kICE9IFJFTEtJTkRfUkVMQVRJT04pCiAJCWVyZXBvcnQo RVJST1IsCiAJCQkJKGVycmNvZGUoRVJSQ09ERV9XUk9OR19PQkpFQ1RfVFlQRSksCi0JCQkJ IGVycm1zZygiXCIlc1wiIGlzIG5vdCBhIHRhYmxlIiwKKwkJCQkgZXJybXNnKCJcIiVzXCIg aXMgbm90IGFuIG9yZGluYXJ5IHRhYmxlIiwKIAkJCQkJCVJlbGF0aW9uR2V0UmVsYXRpb25O YW1lKHBhcnRSZWwpKSkpOwogCiAJaWYgKCFwYXJ0UmVsLT5yZF9yZWwtPnJlbGlzcGFydGl0 aW9uKQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wYXJ0aXRpb25f bWVyZ2Uub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wYXJ0aXRpb25fbWVyZ2Uu b3V0CmluZGV4IDYwZWFjZjZiZjMuLjlmZTk3YTgwMWQgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0 L3JlZ3Jlc3MvZXhwZWN0ZWQvcGFydGl0aW9uX21lcmdlLm91dAorKysgYi9zcmMvdGVzdC9y ZWdyZXNzL2V4cGVjdGVkL3BhcnRpdGlvbl9tZXJnZS5vdXQKQEAgLTI1LDkgKzI1LDkgQEAg QUxURVIgVEFCTEUgc2FsZXNfcmFuZ2UgTUVSR0UgUEFSVElUSU9OUyAoc2FsZXNfZmViMjAy Miwgc2FsZXNfbWFyMjAyMiwgc2FsZXNfZmUKIEVSUk9SOiAgcGFydGl0aW9uIHdpdGggbmFt ZSAic2FsZXNfZmViMjAyMiIgYWxyZWFkeSB1c2VkCiBMSU5FIDE6IC4uLmUgTUVSR0UgUEFS VElUSU9OUyAoc2FsZXNfZmViMjAyMiwgc2FsZXNfbWFyMjAyMiwgc2FsZXNfZmViMi4uLgog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF4KLS0tIEVSUk9SOiAgInNhbGVzX2FwcjIwMjIiIGlzIG5vdCBhIHRhYmxlCist LSBFUlJPUjogICJzYWxlc19hcHIyMDIyIiBpcyBub3QgYW4gb3JkaW5hcnkgdGFibGUKIEFM VEVSIFRBQkxFIHNhbGVzX3JhbmdlIE1FUkdFIFBBUlRJVElPTlMgKHNhbGVzX2ZlYjIwMjIs IHNhbGVzX21hcjIwMjIsIHNhbGVzX2FwcjIwMjIpIElOVE8gc2FsZXNfZmViX21hcl9hcHIy MDIyOwotRVJST1I6ICAic2FsZXNfYXByMjAyMiIgaXMgbm90IGEgdGFibGUKK0VSUk9SOiAg InNhbGVzX2FwcjIwMjIiIGlzIG5vdCBhbiBvcmRpbmFyeSB0YWJsZQogLS0gRVJST1I6ICBp bnZhbGlkIHBhcnRpdGlvbnMgb3JkZXIsIHBhcnRpdGlvbiAic2FsZXNfbWFyMjAyMiIgY2Fu IG5vdCBiZSBtZXJnZWQKIC0tIChzcGFjZSBiZXR3ZWVuIHNlY3Rpb25zIHNhbGVzX2phbjIw MjIgYW5kIHNhbGVzX21hcjIwMjIpCiBBTFRFUiBUQUJMRSBzYWxlc19yYW5nZSBNRVJHRSBQ QVJUSVRJT05TIChzYWxlc19qYW4yMDIyLCBzYWxlc19tYXIyMDIyKSBJTlRPIHNhbGVzX2ph bl9tYXIyMDIyOwpAQCAtNzQ2LDQgKzc0NiwzMiBAQCBEUk9QIFRBQkxFIHQzOwogRFJPUCBU QUJMRSB0MjsKIERST1AgVEFCTEUgdDE7CiAtLQorLS0gVHJ5IHRvIE1FUkdFIHBhcnRpdGlv bnMgb2YgdGVtcG9yYXJ5IHRhYmxlLgorLS0KK0NSRUFURSBURU1QIFRBQkxFIHQgKGkgaW50 KSBQQVJUSVRJT04gQlkgUkFOR0UgKGkpOworQ1JFQVRFIFRFTVAgVEFCTEUgdHBfMF8xIFBB UlRJVElPTiBPRiB0IEZPUiBWQUxVRVMgRlJPTSAoMCkgVE8gKDEpOworQ1JFQVRFIFRFTVAg VEFCTEUgdHBfMV8yIFBBUlRJVElPTiBPRiB0IEZPUiBWQUxVRVMgRlJPTSAoMSkgVE8gKDIp OworU0VMRUNUIGMub2lkOjpwZ19jYXRhbG9nLnJlZ2NsYXNzLCBwZ19jYXRhbG9nLnBnX2dl dF9leHByKGMucmVscGFydGJvdW5kLCBjLm9pZCksIGMucmVscGVyc2lzdGVuY2UKKyAgRlJP TSBwZ19jYXRhbG9nLnBnX2NsYXNzIGMsIHBnX2NhdGFsb2cucGdfaW5oZXJpdHMgaQorICBX SEVSRSBjLm9pZCA9IGkuaW5ocmVsaWQgQU5EIGkuaW5ocGFyZW50ID0gJ3QnOjpyZWdjbGFz cworICBPUkRFUiBCWSBwZ19jYXRhbG9nLnBnX2dldF9leHByKGMucmVscGFydGJvdW5kLCBj Lm9pZCkgPSAnREVGQVVMVCcsIGMub2lkOjpwZ19jYXRhbG9nLnJlZ2NsYXNzOjpwZ19jYXRh bG9nLnRleHQ7CisgIG9pZCAgIHwgICAgICAgIHBnX2dldF9leHByICAgICAgICAgfCByZWxw ZXJzaXN0ZW5jZSAKKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLQorIHRwXzBfMSB8IEZPUiBWQUxVRVMgRlJPTSAoMCkgVE8gKDEpIHwg dAorIHRwXzFfMiB8IEZPUiBWQUxVRVMgRlJPTSAoMSkgVE8gKDIpIHwgdAorKDIgcm93cykK KworQUxURVIgVEFCTEUgdCBNRVJHRSBQQVJUSVRJT05TICh0cF8wXzEsIHRwXzFfMikgSU5U TyB0cF8wXzI7CistLSBQYXJ0aXRpb24gc2hvdWxkIGJlIHRlbXBvcmFyeS4KK1NFTEVDVCBj Lm9pZDo6cGdfY2F0YWxvZy5yZWdjbGFzcywgcGdfY2F0YWxvZy5wZ19nZXRfZXhwcihjLnJl bHBhcnRib3VuZCwgYy5vaWQpLCBjLnJlbHBlcnNpc3RlbmNlCisgIEZST00gcGdfY2F0YWxv Zy5wZ19jbGFzcyBjLCBwZ19jYXRhbG9nLnBnX2luaGVyaXRzIGkKKyAgV0hFUkUgYy5vaWQg PSBpLmluaHJlbGlkIEFORCBpLmluaHBhcmVudCA9ICd0Jzo6cmVnY2xhc3MKKyAgT1JERVIg QlkgcGdfY2F0YWxvZy5wZ19nZXRfZXhwcihjLnJlbHBhcnRib3VuZCwgYy5vaWQpID0gJ0RF RkFVTFQnLCBjLm9pZDo6cGdfY2F0YWxvZy5yZWdjbGFzczo6cGdfY2F0YWxvZy50ZXh0Owor ICBvaWQgICB8ICAgICAgICBwZ19nZXRfZXhwciAgICAgICAgIHwgcmVscGVyc2lzdGVuY2Ug CistLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0KKyB0cF8wXzIgfCBGT1IgVkFMVUVTIEZST00gKDApIFRPICgyKSB8IHQKKygxIHJvdykK KworRFJPUCBUQUJMRSB0OworLS0KIERST1AgU0NIRU1BIHBhcnRpdGlvbnNfbWVyZ2Vfc2No ZW1hOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wYXJ0aXRpb25f c3BsaXQub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wYXJ0aXRpb25fc3BsaXQu b3V0CmluZGV4IDI2YTBkMDk5NjkuLjNkMjIwODNlNDEgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0 L3JlZ3Jlc3MvZXhwZWN0ZWQvcGFydGl0aW9uX3NwbGl0Lm91dAorKysgYi9zcmMvdGVzdC9y ZWdyZXNzL2V4cGVjdGVkL3BhcnRpdGlvbl9zcGxpdC5vdXQKQEAgLTE0MjcsNCArMTQyNywz MyBAQCBFUlJPUjogIHJlbGF0aW9uICJ0MXBhIiBpcyBub3QgYSBwYXJ0aXRpb24gb2YgcmVs YXRpb24gInQyIgogRFJPUCBUQUJMRSB0MjsKIERST1AgVEFCTEUgdDE7CiAtLQorLS0gVHJ5 IHRvIFNQTElUIHBhcnRpdGlvbiBvZiB0ZW1wb3JhcnkgdGFibGUuCistLQorQ1JFQVRFIFRF TVAgVEFCTEUgdCAoaSBpbnQpIFBBUlRJVElPTiBCWSBSQU5HRSAoaSk7CitDUkVBVEUgVEVN UCBUQUJMRSB0cF8wXzIgUEFSVElUSU9OIE9GIHQgRk9SIFZBTFVFUyBGUk9NICgwKSBUTyAo Mik7CitTRUxFQ1QgYy5vaWQ6OnBnX2NhdGFsb2cucmVnY2xhc3MsIHBnX2NhdGFsb2cucGdf Z2V0X2V4cHIoYy5yZWxwYXJ0Ym91bmQsIGMub2lkKSwgYy5yZWxwZXJzaXN0ZW5jZQorICBG Uk9NIHBnX2NhdGFsb2cucGdfY2xhc3MgYywgcGdfY2F0YWxvZy5wZ19pbmhlcml0cyBpCisg IFdIRVJFIGMub2lkID0gaS5pbmhyZWxpZCBBTkQgaS5pbmhwYXJlbnQgPSAndCc6OnJlZ2Ns YXNzCisgIE9SREVSIEJZIHBnX2NhdGFsb2cucGdfZ2V0X2V4cHIoYy5yZWxwYXJ0Ym91bmQs IGMub2lkKSA9ICdERUZBVUxUJywgYy5vaWQ6OnBnX2NhdGFsb2cucmVnY2xhc3M6OnBnX2Nh dGFsb2cudGV4dDsKKyAgb2lkICAgfCAgICAgICAgcGdfZ2V0X2V4cHIgICAgICAgICB8IHJl bHBlcnNpc3RlbmNlIAorLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tCisgdHBfMF8yIHwgRk9SIFZBTFVFUyBGUk9NICgwKSBUTyAoMikg fCB0CisoMSByb3cpCisKK0FMVEVSIFRBQkxFIHQgU1BMSVQgUEFSVElUSU9OIHRwXzBfMiBJ TlRPCisgIChQQVJUSVRJT04gdHBfMF8xIEZPUiBWQUxVRVMgRlJPTSAoMCkgVE8gKDEpLAor ICAgUEFSVElUSU9OIHRwXzFfMiBGT1IgVkFMVUVTIEZST00gKDEpIFRPICgyKSk7CistLSBQ YXJ0aXRpb25zIHNob3VsZCBiZSB0ZW1wb3JhcnkuCitTRUxFQ1QgYy5vaWQ6OnBnX2NhdGFs b2cucmVnY2xhc3MsIHBnX2NhdGFsb2cucGdfZ2V0X2V4cHIoYy5yZWxwYXJ0Ym91bmQsIGMu b2lkKSwgYy5yZWxwZXJzaXN0ZW5jZQorICBGUk9NIHBnX2NhdGFsb2cucGdfY2xhc3MgYywg cGdfY2F0YWxvZy5wZ19pbmhlcml0cyBpCisgIFdIRVJFIGMub2lkID0gaS5pbmhyZWxpZCBB TkQgaS5pbmhwYXJlbnQgPSAndCc6OnJlZ2NsYXNzCisgIE9SREVSIEJZIHBnX2NhdGFsb2cu cGdfZ2V0X2V4cHIoYy5yZWxwYXJ0Ym91bmQsIGMub2lkKSA9ICdERUZBVUxUJywgYy5vaWQ6 OnBnX2NhdGFsb2cucmVnY2xhc3M6OnBnX2NhdGFsb2cudGV4dDsKKyAgb2lkICAgfCAgICAg ICAgcGdfZ2V0X2V4cHIgICAgICAgICB8IHJlbHBlcnNpc3RlbmNlIAorLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tCisgdHBfMF8xIHwg Rk9SIFZBTFVFUyBGUk9NICgwKSBUTyAoMSkgfCB0CisgdHBfMV8yIHwgRk9SIFZBTFVFUyBG Uk9NICgxKSBUTyAoMikgfCB0CisoMiByb3dzKQorCitEUk9QIFRBQkxFIHQ7CistLQogRFJP UCBTQ0hFTUEgcGFydGl0aW9uX3NwbGl0X3NjaGVtYTsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0 L3JlZ3Jlc3Mvc3FsL3BhcnRpdGlvbl9tZXJnZS5zcWwgYi9zcmMvdGVzdC9yZWdyZXNzL3Nx bC9wYXJ0aXRpb25fbWVyZ2Uuc3FsCmluZGV4IDlhZmVkNzAzNjUuLjQyOGI2Y2M4OGYgMTAw NjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3BhcnRpdGlvbl9tZXJnZS5zcWwKKysr IGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcGFydGl0aW9uX21lcmdlLnNxbApAQCAtMjgsNyAr MjgsNyBAQCBDUkVBVEUgVEFCTEUgc2FsZXNfb3RoZXJzIFBBUlRJVElPTiBPRiBzYWxlc19y YW5nZSBERUZBVUxUOwogCiAtLSBFUlJPUjogIHBhcnRpdGlvbiB3aXRoIG5hbWUgInNhbGVz X2ZlYjIwMjIiIGFscmVhZHkgdXNlZAogQUxURVIgVEFCTEUgc2FsZXNfcmFuZ2UgTUVSR0Ug UEFSVElUSU9OUyAoc2FsZXNfZmViMjAyMiwgc2FsZXNfbWFyMjAyMiwgc2FsZXNfZmViMjAy MikgSU5UTyBzYWxlc19mZWJfbWFyX2FwcjIwMjI7Ci0tLSBFUlJPUjogICJzYWxlc19hcHIy MDIyIiBpcyBub3QgYSB0YWJsZQorLS0gRVJST1I6ICAic2FsZXNfYXByMjAyMiIgaXMgbm90 IGFuIG9yZGluYXJ5IHRhYmxlCiBBTFRFUiBUQUJMRSBzYWxlc19yYW5nZSBNRVJHRSBQQVJU SVRJT05TIChzYWxlc19mZWIyMDIyLCBzYWxlc19tYXIyMDIyLCBzYWxlc19hcHIyMDIyKSBJ TlRPIHNhbGVzX2ZlYl9tYXJfYXByMjAyMjsKIC0tIEVSUk9SOiAgaW52YWxpZCBwYXJ0aXRp b25zIG9yZGVyLCBwYXJ0aXRpb24gInNhbGVzX21hcjIwMjIiIGNhbiBub3QgYmUgbWVyZ2Vk CiAtLSAoc3BhY2UgYmV0d2VlbiBzZWN0aW9ucyBzYWxlc19qYW4yMDIyIGFuZCBzYWxlc19t YXIyMDIyKQpAQCAtNDQ0LDUgKzQ0NCwyNyBAQCBEUk9QIFRBQkxFIHQzOwogRFJPUCBUQUJM RSB0MjsKIERST1AgVEFCTEUgdDE7CiAKKy0tCistLSBUcnkgdG8gTUVSR0UgcGFydGl0aW9u cyBvZiB0ZW1wb3JhcnkgdGFibGUuCistLQorQ1JFQVRFIFRFTVAgVEFCTEUgdCAoaSBpbnQp IFBBUlRJVElPTiBCWSBSQU5HRSAoaSk7CitDUkVBVEUgVEVNUCBUQUJMRSB0cF8wXzEgUEFS VElUSU9OIE9GIHQgRk9SIFZBTFVFUyBGUk9NICgwKSBUTyAoMSk7CitDUkVBVEUgVEVNUCBU QUJMRSB0cF8xXzIgUEFSVElUSU9OIE9GIHQgRk9SIFZBTFVFUyBGUk9NICgxKSBUTyAoMik7 CisKK1NFTEVDVCBjLm9pZDo6cGdfY2F0YWxvZy5yZWdjbGFzcywgcGdfY2F0YWxvZy5wZ19n ZXRfZXhwcihjLnJlbHBhcnRib3VuZCwgYy5vaWQpLCBjLnJlbHBlcnNpc3RlbmNlCisgIEZS T00gcGdfY2F0YWxvZy5wZ19jbGFzcyBjLCBwZ19jYXRhbG9nLnBnX2luaGVyaXRzIGkKKyAg V0hFUkUgYy5vaWQgPSBpLmluaHJlbGlkIEFORCBpLmluaHBhcmVudCA9ICd0Jzo6cmVnY2xh c3MKKyAgT1JERVIgQlkgcGdfY2F0YWxvZy5wZ19nZXRfZXhwcihjLnJlbHBhcnRib3VuZCwg Yy5vaWQpID0gJ0RFRkFVTFQnLCBjLm9pZDo6cGdfY2F0YWxvZy5yZWdjbGFzczo6cGdfY2F0 YWxvZy50ZXh0OworCitBTFRFUiBUQUJMRSB0IE1FUkdFIFBBUlRJVElPTlMgKHRwXzBfMSwg dHBfMV8yKSBJTlRPIHRwXzBfMjsKKworLS0gUGFydGl0aW9uIHNob3VsZCBiZSB0ZW1wb3Jh cnkuCitTRUxFQ1QgYy5vaWQ6OnBnX2NhdGFsb2cucmVnY2xhc3MsIHBnX2NhdGFsb2cucGdf Z2V0X2V4cHIoYy5yZWxwYXJ0Ym91bmQsIGMub2lkKSwgYy5yZWxwZXJzaXN0ZW5jZQorICBG Uk9NIHBnX2NhdGFsb2cucGdfY2xhc3MgYywgcGdfY2F0YWxvZy5wZ19pbmhlcml0cyBpCisg IFdIRVJFIGMub2lkID0gaS5pbmhyZWxpZCBBTkQgaS5pbmhwYXJlbnQgPSAndCc6OnJlZ2Ns YXNzCisgIE9SREVSIEJZIHBnX2NhdGFsb2cucGdfZ2V0X2V4cHIoYy5yZWxwYXJ0Ym91bmQs IGMub2lkKSA9ICdERUZBVUxUJywgYy5vaWQ6OnBnX2NhdGFsb2cucmVnY2xhc3M6OnBnX2Nh dGFsb2cudGV4dDsKKworRFJPUCBUQUJMRSB0OworCiAtLQogRFJPUCBTQ0hFTUEgcGFydGl0 aW9uc19tZXJnZV9zY2hlbWE7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9w YXJ0aXRpb25fc3BsaXQuc3FsIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcGFydGl0aW9uX3Nw bGl0LnNxbAppbmRleCA2MjViMDFkZGQxLi41ZGMyZmMzOWNkIDEwMDY0NAotLS0gYS9zcmMv dGVzdC9yZWdyZXNzL3NxbC9wYXJ0aXRpb25fc3BsaXQuc3FsCisrKyBiL3NyYy90ZXN0L3Jl Z3Jlc3Mvc3FsL3BhcnRpdGlvbl9zcGxpdC5zcWwKQEAgLTg0NCw1ICs4NDQsMjggQEAgQUxU RVIgVEFCTEUgdDIgU1BMSVQgUEFSVElUSU9OIHQxcGEgSU5UTwogRFJPUCBUQUJMRSB0MjsK IERST1AgVEFCTEUgdDE7CiAKKy0tCistLSBUcnkgdG8gU1BMSVQgcGFydGl0aW9uIG9mIHRl bXBvcmFyeSB0YWJsZS4KKy0tCitDUkVBVEUgVEVNUCBUQUJMRSB0IChpIGludCkgUEFSVElU SU9OIEJZIFJBTkdFIChpKTsKK0NSRUFURSBURU1QIFRBQkxFIHRwXzBfMiBQQVJUSVRJT04g T0YgdCBGT1IgVkFMVUVTIEZST00gKDApIFRPICgyKTsKKworU0VMRUNUIGMub2lkOjpwZ19j YXRhbG9nLnJlZ2NsYXNzLCBwZ19jYXRhbG9nLnBnX2dldF9leHByKGMucmVscGFydGJvdW5k LCBjLm9pZCksIGMucmVscGVyc2lzdGVuY2UKKyAgRlJPTSBwZ19jYXRhbG9nLnBnX2NsYXNz IGMsIHBnX2NhdGFsb2cucGdfaW5oZXJpdHMgaQorICBXSEVSRSBjLm9pZCA9IGkuaW5ocmVs aWQgQU5EIGkuaW5ocGFyZW50ID0gJ3QnOjpyZWdjbGFzcworICBPUkRFUiBCWSBwZ19jYXRh bG9nLnBnX2dldF9leHByKGMucmVscGFydGJvdW5kLCBjLm9pZCkgPSAnREVGQVVMVCcsIGMu b2lkOjpwZ19jYXRhbG9nLnJlZ2NsYXNzOjpwZ19jYXRhbG9nLnRleHQ7CisKK0FMVEVSIFRB QkxFIHQgU1BMSVQgUEFSVElUSU9OIHRwXzBfMiBJTlRPCisgIChQQVJUSVRJT04gdHBfMF8x IEZPUiBWQUxVRVMgRlJPTSAoMCkgVE8gKDEpLAorICAgUEFSVElUSU9OIHRwXzFfMiBGT1Ig VkFMVUVTIEZST00gKDEpIFRPICgyKSk7CisKKy0tIFBhcnRpdGlvbnMgc2hvdWxkIGJlIHRl bXBvcmFyeS4KK1NFTEVDVCBjLm9pZDo6cGdfY2F0YWxvZy5yZWdjbGFzcywgcGdfY2F0YWxv Zy5wZ19nZXRfZXhwcihjLnJlbHBhcnRib3VuZCwgYy5vaWQpLCBjLnJlbHBlcnNpc3RlbmNl CisgIEZST00gcGdfY2F0YWxvZy5wZ19jbGFzcyBjLCBwZ19jYXRhbG9nLnBnX2luaGVyaXRz IGkKKyAgV0hFUkUgYy5vaWQgPSBpLmluaHJlbGlkIEFORCBpLmluaHBhcmVudCA9ICd0Jzo6 cmVnY2xhc3MKKyAgT1JERVIgQlkgcGdfY2F0YWxvZy5wZ19nZXRfZXhwcihjLnJlbHBhcnRi b3VuZCwgYy5vaWQpID0gJ0RFRkFVTFQnLCBjLm9pZDo6cGdfY2F0YWxvZy5yZWdjbGFzczo6 cGdfY2F0YWxvZy50ZXh0OworCitEUk9QIFRBQkxFIHQ7CisKIC0tCiBEUk9QIFNDSEVNQSBw YXJ0aXRpb25fc3BsaXRfc2NoZW1hOwotLSAKMi40MC4xLndpbmRvd3MuMQoK --------------Y06tWWfeUGtaoSwWeGZ18tAm Content-Type: text/plain; charset=UTF-8; name="v2-0002-Fixes-for-english-text.patch" Content-Disposition: attachment; filename="v2-0002-Fixes-for-english-text.patch" Content-Transfer-Encoding: base64 RnJvbSA4M2NkODYzNDNiOGE3NWFmZTg5ZTQxNzdmYzA2NGU1M2ZlODIxYjAxIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLb3ZhbCBEbWl0cnkgPGQua292YWxAcG9zdGdyZXNw cm8ucnU+CkRhdGU6IFdlZCwgMTAgQXByIDIwMjQgMTk6NTU6MTggKzAzMDAKU3ViamVjdDog W1BBVENIIHYyIDIvMl0gRml4ZXMgZm9yIGVuZ2xpc2ggdGV4dAoKLS0tCiBkb2Mvc3JjL3Nn bWwvZGRsLnNnbWwgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogZG9jL3NyYy9z Z21sL3JlZi9hbHRlcl90YWJsZS5zZ21sICAgICAgICAgICAgIHwgIDYgKy0KIHNyYy9iYWNr ZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5jICAgICAgICAgICAgICB8IDE4ICsrKy0tLQogc3Jj L2JhY2tlbmQvcGFyc2VyL3BhcnNlX3V0aWxjbWQuYyAgICAgICAgICAgIHwgIDYgKy0KIHNy Yy9iYWNrZW5kL3BhcnRpdGlvbmluZy9wYXJ0Ym91bmRzLmMgICAgICAgICB8IDMwICsrKysr LS0tLS0KIHNyYy90ZXN0L2lzb2xhdGlvbi9zcGVjcy9wYXJ0aXRpb24tbWVyZ2Uuc3BlYyB8 ICAyICstCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3BhcnRpdGlvbl9tZXJnZS5vdXQg fCAxNCArKy0tLQogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wYXJ0aXRpb25fc3BsaXQu b3V0IHwgNTggKysrKysrKysrLS0tLS0tLS0tLQogc3JjL3Rlc3QvcmVncmVzcy9zcWwvcGFy dGl0aW9uX21lcmdlLnNxbCAgICAgIHwgMTIgKystLQogc3JjL3Rlc3QvcmVncmVzcy9zcWwv cGFydGl0aW9uX3NwbGl0LnNxbCAgICAgIHwgNDggKysrKysrKy0tLS0tLS0tCiAxMCBmaWxl cyBjaGFuZ2VkLCA5OCBpbnNlcnRpb25zKCspLCA5OCBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9kb2Mvc3JjL3NnbWwvZGRsLnNnbWwgYi9kb2Mvc3JjL3NnbWwvZGRsLnNnbWwKaW5k ZXggMDBmNDRmNTZmYS4uMDI2YmZmZjcwZiAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL2Rk bC5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9kZGwuc2dtbApAQCAtNDM4Nyw3ICs0Mzg3LDcg QEAgQUxURVIgSU5ERVggbWVhc3VyZW1lbnRfY2l0eV9pZF9sb2dkYXRlX2tleQogICAgICBh IHNpbmdsZSBwYXJ0aXRpb24gdXNpbmcgdGhlCiAgICAgIDxsaW5rIGxpbmtlbmQ9InNxbC1h bHRlcnRhYmxlLW1lcmdlLXBhcnRpdGlvbnMiPjxjb21tYW5kPkFMVEVSIFRBQkxFIC4uLiBN RVJHRSBQQVJUSVRJT05TPC9jb21tYW5kPjwvbGluaz4uCiAgICAgIFRoaXMgZmVhdHVyZSBz aW1wbGlmaWVzIHRoZSBtYW5hZ2VtZW50IG9mIHBhcnRpdGlvbmVkIHRhYmxlcyBieSBhbGxv d2luZwotICAgICBhZG1pbmlzdHJhdG9ycyB0byBjb21iaW5lIHBhcnRpdGlvbnMgdGhhdCBh cmUgbm8gbG9uZ2VyIG5lZWRlZCBhcworICAgICB1c2VycyB0byBjb21iaW5lIHBhcnRpdGlv bnMgdGhhdCBhcmUgbm8gbG9uZ2VyIG5lZWRlZCBhcwogICAgICBzZXBhcmF0ZSBlbnRpdGll cy4gIEl0J3MgaW1wb3J0YW50IHRvIG5vdGUgdGhhdCB0aGlzIG9wZXJhdGlvbiBpcyBub3QK ICAgICAgc3VwcG9ydGVkIGZvciBoYXNoLXBhcnRpdGlvbmVkIHRhYmxlcyBhbmQgYWNxdWly ZXMgYW4KICAgICAgPGxpdGVyYWw+QUNDRVNTIEVYQ0xVU0lWRTwvbGl0ZXJhbD4gbG9jaywg d2hpY2ggY291bGQgaW1wYWN0IGhpZ2gtbG9hZApkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21s L3JlZi9hbHRlcl90YWJsZS5zZ21sIGIvZG9jL3NyYy9zZ21sL3JlZi9hbHRlcl90YWJsZS5z Z21sCmluZGV4IDhmNWJmMTg1ZGQuLmZlMzZmZjgyZTUgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMv c2dtbC9yZWYvYWx0ZXJfdGFibGUuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvcmVmL2FsdGVy X3RhYmxlLnNnbWwKQEAgLTExNzUsNyArMTE3NSw3IEBAIFdJVEggKCBNT0RVTFVTIDxyZXBs YWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5udW1lcmljX2xpdGVyYWw8L3JlcGxhY2VhYmxl PiwgUkVNCiAgICAgICA8aXRlbWl6ZWRsaXN0PgogICAgICAgIDxsaXN0aXRlbT4KICAgICAg ICAgPHBhcmE+Ci0gICAgICAgICBGb3IgcmFuZ2UtcGFydGl0aW9uZWQgdGFibGVzIGlzIG5l Y2Vzc2FyeSB0aGF0IHRoZSByYW5nZXMKKyAgICAgICAgIEZvciByYW5nZS1wYXJ0aXRpb25l ZCB0YWJsZXMgaXQgaXMgbmVjZXNzYXJ5IHRoYXQgdGhlIHJhbmdlcwogICAgICAgICAgb2Yg dGhlIHBhcnRpdGlvbnMgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnBhcnRpdGlv bl9uYW1lMTwvcmVwbGFjZWFibGU+LAogICAgICAgICAgPHJlcGxhY2VhYmxlIGNsYXNzPSJw YXJhbWV0ZXIiPnBhcnRpdGlvbl9uYW1lMjwvcmVwbGFjZWFibGU+IFssIC4uLl0gY2FuCiAg ICAgICAgICBiZSBtZXJnZWQgaW50byBvbmUgcmFuZ2Ugd2l0aG91dCBzcGFjZXMgYW5kIG92 ZXJsYXBzIChvdGhlcndpc2UgYW4gZXJyb3IKQEAgLTExODUsMTAgKzExODUsMTAgQEAgV0lU SCAoIE1PRFVMVVMgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm51bWVyaWNfbGl0 ZXJhbDwvcmVwbGFjZWFibGU+LCBSRU0KICAgICAgICA8L2xpc3RpdGVtPgogICAgICAgIDxs aXN0aXRlbT4KICAgICAgICAgPHBhcmE+Ci0gICAgICAgICBGb3IgbGlzdC1wYXJ0aXRpb25l ZCB0YWJsZXMgdGhlIHZhbHVlcyBsaXN0cyBvZiBhbGwgcGFydGl0aW9ucworICAgICAgICAg Rm9yIGxpc3QtcGFydGl0aW9uZWQgdGFibGVzIHRoZSB2YWx1ZSBsaXN0cyBvZiBhbGwgcGFy dGl0aW9ucwogICAgICAgICAgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnBhcnRp dGlvbl9uYW1lMTwvcmVwbGFjZWFibGU+LAogICAgICAgICAgPHJlcGxhY2VhYmxlIGNsYXNz PSJwYXJhbWV0ZXIiPnBhcnRpdGlvbl9uYW1lMjwvcmVwbGFjZWFibGU+IFssIC4uLl0gYXJl Ci0gICAgICAgICBjb21iaW5lZCBhbmQgZm9ybSBhIGxpc3Qgb2YgdmFsdWVzIG9mIHBhcnRp dGlvbgorICAgICAgICAgY29tYmluZWQgYW5kIGZvcm0gdGhlIGxpc3Qgb2YgdmFsdWVzIG9m IHBhcnRpdGlvbgogICAgICAgICAgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnBh cnRpdGlvbl9uYW1lPC9yZXBsYWNlYWJsZT4uCiAgICAgICAgIDwvcGFyYT4KICAgICAgICA8 L2xpc3RpdGVtPgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFibGVjbWRz LmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNtZHMuYwppbmRleCAzZGE5ZjYzODlk Li5jNDRkOWMxZGI2IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNt ZHMuYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNtZHMuYwpAQCAtMjA4ODgs NyArMjA4ODgsNyBAQCBHZXRBdHRyaWJ1dGVTdG9yYWdlKE9pZCBhdHR0eXBpZCwgY29uc3Qg Y2hhciAqc3RvcmFnZW1vZGUpCiB9CiAKIC8qCi0gKiBTdHJ1Y3Qgd2l0aCBjb250ZXh0IG9m IG5ldyBwYXJ0aXRpb24gZm9yIGluc2VydCByb3dzIGZyb20gc3BsaXRlZCBwYXJ0aXRpb24K KyAqIFN0cnVjdCB3aXRoIGNvbnRleHQgb2YgbmV3IHBhcnRpdGlvbiBmb3IgaW5zZXJ0aW5n IHJvd3MgZnJvbSBzcGxpdCBwYXJ0aXRpb24KICAqLwogdHlwZWRlZiBzdHJ1Y3QgU3BsaXRQ YXJ0aXRpb25Db250ZXh0CiB7CkBAIC0yMDk0NSw3ICsyMDk0NSw3IEBAIGRlbGV0ZVNwbGl0 UGFydGl0aW9uQ29udGV4dChTcGxpdFBhcnRpdGlvbkNvbnRleHQgKnBjLCBpbnQgdGlfb3B0 aW9ucykKICAqCiAgKiBOZXcgcGFydGl0aW9ucyBkZXNjcmlwdGlvbjoKICAqIHBhcnRsaXN0 OiBsaXN0IG9mIHBvaW50ZXJzIHRvIFNpbmdsZVBhcnRpdGlvblNwZWMgc3RydWN0dXJlcy4K LSAqIG5ld1BhcnRSZWxzOiBsaXN0IG9mIFJlbGF0aW9uJ3MuCisgKiBuZXdQYXJ0UmVsczog bGlzdCBvZiBSZWxhdGlvbnMuCiAgKiBkZWZhdWx0UGFydE9pZDogb2lkIG9mIERFRkFVTFQg cGFydGl0aW9uLCBmb3IgdGFibGUgcmVsLgogICovCiBzdGF0aWMgdm9pZApAQCAtMjEwMzAs NyArMjEwMzAsNyBAQCBtb3ZlU3BsaXRUYWJsZVJvd3MoUmVsYXRpb24gcmVsLCBSZWxhdGlv biBzcGxpdFJlbCwgTGlzdCAqcGFydGxpc3QsIExpc3QgKm5ld1BhcgogCiAJLyoKIAkgKiBN YXAgY29tcHV0aW5nIGZvciBtb3ZpbmcgYXR0cmlidXRlcyBvZiBzcGxpdCBwYXJ0aXRpb24g dG8gbmV3IHBhcnRpdGlvbgotCSAqIChmb3IgZmlyc3QgbmV3IHBhcnRpdGlvbiBidXQgb3Ro ZXIgbmV3IHBhcnRpdGlvbnMgY2FuIHVzZSB0aGUgc2FtZQorCSAqIChmb3IgZmlyc3QgbmV3 IHBhcnRpdGlvbiwgYnV0IG90aGVyIG5ldyBwYXJ0aXRpb25zIGNhbiB1c2UgdGhlIHNhbWUK IAkgKiBtYXApLgogCSAqLwogCXBjID0gKFNwbGl0UGFydGl0aW9uQ29udGV4dCAqKSBsZmly c3QobGlzdF9oZWFkKHBhcnRDb250ZXh0cykpOwpAQCAtMjEwODUsNyArMjEwODUsNyBAQCBt b3ZlU3BsaXRUYWJsZVJvd3MoUmVsYXRpb24gcmVsLCBSZWxhdGlvbiBzcGxpdFJlbCwgTGlz dCAqcGFydGxpc3QsIExpc3QgKm5ld1BhcgogCiAJCWlmICh0dXBsZV9tYXApCiAJCXsKLQkJ CS8qIE5lZWQgdG8gdXNlIG1hcCBmb3IgY29weSBhdHRyaWJ1dGVzLiAqLworCQkJLyogTmVl ZCB0byB1c2UgbWFwIHRvIGNvcHkgYXR0cmlidXRlcy4gKi8KIAkJCWluc2VydHNsb3QgPSBl eGVjdXRlX2F0dHJfbWFwX3Nsb3QodHVwbGVfbWFwLT5hdHRyTWFwLCBzcmNzbG90LCBwYy0+ ZHN0c2xvdCk7CiAJCX0KIAkJZWxzZQpAQCAtMjEyNDUsNyArMjEyNDUsNyBAQCBBVEV4ZWNT cGxpdFBhcnRpdGlvbihMaXN0ICoqd3F1ZXVlLCBBbHRlcmVkVGFibGVJbmZvICp0YWIsIFJl bGF0aW9uIHJlbCwKIAkJCVJhbmdlVmFyR2V0QW5kQ2hlY2tDcmVhdGlvbk5hbWVzcGFjZShz cHMtPm5hbWUsIE5vTG9jaywgTlVMTCk7CiAKIAkJLyoKLQkJICogVGhpcyB3b3VsZCBmYWls IGxhdGVyIG9uIGFueXdheSwgaWYgdGhlIHJlbGF0aW9uIGFscmVhZHkgZXhpc3RzLgorCQkg KiBUaGlzIHdvdWxkIGZhaWwgbGF0ZXIgb24gYW55d2F5IGlmIHRoZSByZWxhdGlvbiBhbHJl YWR5IGV4aXN0cy4KIAkJICogQnV0IGJ5IGNhdGNoaW5nIGl0IGhlcmUgd2UgY2FuIGVtaXQg YSBuaWNlciBlcnJvciBtZXNzYWdlLgogCQkgKi8KIAkJZXhpc3RpbmdfcmVsaWQgPSBnZXRf cmVsbmFtZV9yZWxpZChyZWxuYW1lLCBuYW1lc3BhY2VJZCk7CkBAIC0yMTMxMiw3ICsyMTMx Miw3IEBAIEFURXhlY1NwbGl0UGFydGl0aW9uKExpc3QgKip3cXVldWUsIEFsdGVyZWRUYWJs ZUluZm8gKnRhYiwgUmVsYXRpb24gcmVsLAogCQlTaW5nbGVQYXJ0aXRpb25TcGVjICpzcHMg PSAoU2luZ2xlUGFydGl0aW9uU3BlYyAqKSBsZmlyc3QobGlzdHB0cik7CiAJCVJlbGF0aW9u CW5ld1BhcnRSZWwgPSAoUmVsYXRpb24pIGxmaXJzdChsaXN0cHRyMik7CiAKLQkJLyogd3F1 ZXVlID0gTlVMTDogdmVyaWZpY2F0aW9uIGZvciBlYWNoIGNsb25lZCBjb25zdHJhaW50IGlz IG5vdCBuZWVkLiAqLworCQkvKiB3cXVldWUgPSBOVUxMOiB2ZXJpZmljYXRpb24gZm9yIGVh Y2ggY2xvbmVkIGNvbnN0cmFpbnQgaXMgbm90IG5lZWRlZC4gKi8KIAkJYXR0YWNoUGFydGl0 aW9uVGFibGUoTlVMTCwgcmVsLCBuZXdQYXJ0UmVsLCBzcHMtPmJvdW5kKTsKIAkJLyogS2Vl cCB0aGUgbG9jayB1bnRpbCBjb21taXQuICovCiAJCXRhYmxlX2Nsb3NlKG5ld1BhcnRSZWws IE5vTG9jayk7CkBAIC0yMTM4Niw3ICsyMTM4Niw3IEBAIG1vdmVNZXJnZWRUYWJsZXNSb3dz KFJlbGF0aW9uIHJlbCwgTGlzdCAqbWVyZ2luZ1BhcnRpdGlvbnNMaXN0LAogCiAJCQlpZiAo dHVwbGVfbWFwKQogCQkJewotCQkJCS8qIE5lZWQgdG8gdXNlIG1hcCBmb3IgY29weSBhdHRy aWJ1dGVzLiAqLworCQkJCS8qIE5lZWQgdG8gdXNlIG1hcCB0byBjb3B5IGF0dHJpYnV0ZXMu ICovCiAJCQkJaW5zZXJ0c2xvdCA9IGV4ZWN1dGVfYXR0cl9tYXBfc2xvdCh0dXBsZV9tYXAt PmF0dHJNYXAsIHNyY3Nsb3QsIGRzdHNsb3QpOwogCQkJfQogCQkJZWxzZQpAQCAtMjE0ODgs NyArMjE0ODgsNyBAQCBBVEV4ZWNNZXJnZVBhcnRpdGlvbnMoTGlzdCAqKndxdWV1ZSwgQWx0 ZXJlZFRhYmxlSW5mbyAqdGFiLCBSZWxhdGlvbiByZWwsCiAJLyogQ3JlYXRlIHRhYmxlIGZv ciBuZXcgcGFydGl0aW9uLCB1c2UgcGFydGl0aW9uZWQgdGFibGUgYXMgbW9kZWwuICovCiAJ aWYgKGlzU2FtZU5hbWUpCiAJewotCQkvKiBDcmVhdGUgcGFydGl0aW9uIHRhYmxlIHdpdGgg Z2VuZXJhdGVkIHRlbXBhcmFyeSBuYW1lLiAqLworCQkvKiBDcmVhdGUgcGFydGl0aW9uIHRh YmxlIHdpdGggZ2VuZXJhdGVkIHRlbXBvcmFyeSBuYW1lLiAqLwogCQlzcHJpbnRmKHRtcFJl bE5hbWUsICJtZXJnZS0ldS0lWC10bXAiLCBSZWxhdGlvbkdldFJlbGlkKHJlbCksIE15UHJv Y1BpZCk7CiAJCW1lcmdlUGFydE5hbWUgPSBtYWtlUmFuZ2VWYXIoZ2V0X25hbWVzcGFjZV9u YW1lKFJlbGF0aW9uR2V0TmFtZXNwYWNlKHJlbCkpLAogCQkJCQkJCQkJIHRtcFJlbE5hbWUs IC0xKTsKQEAgLTIxNTEyLDcgKzIxNTEyLDcgQEAgQVRFeGVjTWVyZ2VQYXJ0aXRpb25zKExp c3QgKip3cXVldWUsIEFsdGVyZWRUYWJsZUluZm8gKnRhYiwgUmVsYXRpb24gcmVsLAogCiAJ LyoKIAkgKiBBdHRhY2ggYSBuZXcgcGFydGl0aW9uIHRvIHRoZSBwYXJ0aXRpb25lZCB0YWJs ZS4gd3F1ZXVlID0gTlVMTDoKLQkgKiB2ZXJpZmljYXRpb24gZm9yIGVhY2ggY2xvbmVkIGNv bnN0cmFpbnQgaXMgbm90IG5lZWQuCisJICogdmVyaWZpY2F0aW9uIGZvciBlYWNoIGNsb25l ZCBjb25zdHJhaW50IGlzIG5vdCBuZWVkZWQuCiAJICovCiAJYXR0YWNoUGFydGl0aW9uVGFi bGUoTlVMTCwgcmVsLCBuZXdQYXJ0UmVsLCBjbWQtPmJvdW5kKTsKIApkaWZmIC0tZ2l0IGEv c3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX3V0aWxjbWQuYyBiL3NyYy9iYWNrZW5kL3BhcnNl ci9wYXJzZV91dGlsY21kLmMKaW5kZXggYTNiYmNjOTljMC4uMWY2ZTkwY2Q0NyAxMDA2NDQK LS0tIGEvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX3V0aWxjbWQuYworKysgYi9zcmMvYmFj a2VuZC9wYXJzZXIvcGFyc2VfdXRpbGNtZC5jCkBAIC0zNDkyLDcgKzM0OTIsNyBAQCB0cmFu c2Zvcm1QYXJ0aXRpb25DbWRGb3JTcGxpdChDcmVhdGVTdG10Q29udGV4dCAqY3h0LCBQYXJ0 aXRpb25DbWQgKnBhcnRjbWQpCiAgKiB0cmFuc2Zvcm1QYXJ0aXRpb25DbWRGb3JNZXJnZQog ICoJCUFuYWx5emUgdGhlIEFMVEVSIFRBQkxMRSAuLi4gTUVSR0UgUEFSVElUSU9OUyBjb21t YW5kCiAgKgotICogRG9lcyBzaW1wbGUgY2hlY2tzIGZvciBtZXJnZWQgcGFydGl0aW9ucy4g Q2FsY3VsYXRlcyBib3VuZCBvZiByZXN1bHQKKyAqIERvZXMgc2ltcGxlIGNoZWNrcyBmb3Ig bWVyZ2VkIHBhcnRpdGlvbnMuIENhbGN1bGF0ZXMgYm91bmQgb2YgcmVzdWx0aW5nCiAgKiBw YXJ0aXRpb24uCiAgKi8KIHN0YXRpYyB2b2lkCkBAIC0zNTM3LDcgKzM1MzcsNyBAQCB0cmFu c2Zvcm1QYXJ0aXRpb25DbWRGb3JNZXJnZShDcmVhdGVTdG10Q29udGV4dCAqY3h0LCBQYXJ0 aXRpb25DbWQgKnBhcnRjbWQpCiAJCQlpZiAoZXF1YWwobmFtZSwgbmFtZTIpKQogCQkJCWVy ZXBvcnQoRVJST1IsCiAJCQkJCQkoZXJyY29kZShFUlJDT0RFX0RVUExJQ0FURV9UQUJMRSks Ci0JCQkJCQkgZXJybXNnKCJwYXJ0aXRpb24gd2l0aCBuYW1lIFwiJXNcIiBhbHJlYWR5IHVz ZWQiLCBuYW1lLT5yZWxuYW1lKSksCisJCQkJCQkgZXJybXNnKCJwYXJ0aXRpb24gd2l0aCBu YW1lIFwiJXNcIiBpcyBhbHJlYWR5IHVzZWQiLCBuYW1lLT5yZWxuYW1lKSksCiAJCQkJCQlw YXJzZXJfZXJycG9zaXRpb24oY3h0LT5wc3RhdGUsIG5hbWUyLT5sb2NhdGlvbikpOwogCQl9 CiAKQEAgLTM1NTEsNyArMzU1MSw3IEBAIHRyYW5zZm9ybVBhcnRpdGlvbkNtZEZvck1lcmdl KENyZWF0ZVN0bXRDb250ZXh0ICpjeHQsIFBhcnRpdGlvbkNtZCAqcGFydGNtZCkKIAkJcGFy dE9pZHMgPSBsYXBwZW5kX29pZChwYXJ0T2lkcywgcGFydE9pZCk7CiAJfQogCi0JLyogQWxs b2NhdGUgYm91bmQgb2YgcmVzdWx0IHBhcnRpdGlvbi4gKi8KKwkvKiBBbGxvY2F0ZSBib3Vu ZCBvZiByZXN1bHRpbmcgcGFydGl0aW9uLiAqLwogCUFzc2VydChwYXJ0Y21kLT5ib3VuZCA9 PSBOVUxMKTsKIAlwYXJ0Y21kLT5ib3VuZCA9IG1ha2VOb2RlKFBhcnRpdGlvbkJvdW5kU3Bl Yyk7CiAKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3BhcnRpdGlvbmluZy9wYXJ0Ym91bmRz LmMgYi9zcmMvYmFja2VuZC9wYXJ0aXRpb25pbmcvcGFydGJvdW5kcy5jCmluZGV4IGMwYzQ5 YjBhMGIuLmY4OWJkYjNjODYgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3BhcnRpdGlvbmlu Zy9wYXJ0Ym91bmRzLmMKKysrIGIvc3JjL2JhY2tlbmQvcGFydGl0aW9uaW5nL3BhcnRib3Vu ZHMuYwpAQCAtMzIxNCw3ICszMjE0LDcgQEAgY2hlY2tfbmV3X3BhcnRpdGlvbl9ib3VuZChj aGFyICpyZWxuYW1lLCBSZWxhdGlvbiBwYXJlbnQsCiAJCQkJCQlQYXJ0aXRpb25SYW5nZURh dHVtICpkYXR1bTsKIAogCQkJCQkJLyoKLQkJCQkJCSAqIFBvaW50IHRvIHByb2JsZW1hdGlj IGtleSBpbiB0aGUgbG93ZXIgZGF0dW1zIGxpc3Q7CisJCQkJCQkgKiBQb2ludCB0byBwcm9i bGVtYXRpYyBrZXkgaW4gdGhlIGxpc3Qgb2YgbG93ZXIgZGF0dW1zOwogCQkJCQkJICogaWYg d2UgaGF2ZSBlcXVhbGl0eSwgcG9pbnQgdG8gdGhlIGZpcnN0IG9uZS4KIAkJCQkJCSAqLwog CQkJCQkJZGF0dW0gPSBjbXB2YWwgPT0gMCA/IGxpbml0aWFsKHNwZWMtPmxvd2VyZGF0dW1z KSA6CkBAIC00OTg2LDEwICs0OTg2LDEwIEBAIHNhdGlzZmllc19oYXNoX3BhcnRpdGlvbihQ R19GVU5DVElPTl9BUkdTKQogICogVGhpcyBpcyBhIGhlbHBlciBmdW5jdGlvbiBmb3IgY2hl Y2tfcGFydGl0aW9uc19mb3Jfc3BsaXQoKSBhbmQKICAqIGNhbGN1bGF0ZV9wYXJ0aXRpb25f Ym91bmRfZm9yX21lcmdlKCkuCiAgKiBUaGlzIGZ1bmN0aW9uIGNvbXBhcmVzIHVwcGVyIGJv dW5kIG9mIGZpcnN0X2JvdW5kIGFuZCBsb3dlciBib3VuZCBvZgotICogc2Vjb25kX2JvdW5k LiBUaGVzZSBib3VuZHMgc2hvdWxkIGJlIGVxdWFsIGV4Y2VwdCBjYXNlCisgKiBzZWNvbmRf Ym91bmQuIFRoZXNlIGJvdW5kcyBzaG91bGQgYmUgZXF1YWwgZXhjZXB0IHdoZW4KICAqICJk ZWZhdWx0UGFydCA9PSB0cnVlIiAodGhpcyBtZWFucyB0aGF0IG9uZSBvZiBzcGxpdCBwYXJ0 aXRpb25zIGlzIERFRkFVTFQpLgogICogSW4gdGhpcyBjYXNlIHVwcGVyIGJvdW5kIG9mIGZp cnN0X2JvdW5kIGNhbiBiZSBsZXNzIHRoYW4gbG93ZXIgYm91bmQgb2YKLSAqIHNlY29uZF9i b3VuZCBiZWNhdXNlIHNwYWNlIGJldHdlZW4gb2YgdGhlc2UgYm91bmRzIHdpbGwgYmUgaW5j bHVkZWQgaW4KKyAqIHNlY29uZF9ib3VuZCBiZWNhdXNlIHNwYWNlIGJldHdlZW4gdGhlc2Ug Ym91bmRzIHdpbGwgYmUgaW5jbHVkZWQgaW4KICAqIERFRkFVTFQgcGFydGl0aW9uLgogICoK ICAqIHBhcmVudDoJCQlwYXJ0aXRpb25lZCB0YWJsZQpAQCAtNDk5OCw3ICs0OTk4LDcgQEAg c2F0aXNmaWVzX2hhc2hfcGFydGl0aW9uKFBHX0ZVTkNUSU9OX0FSR1MpCiAgKiBzZWNvbmRf bmFtZToJCW5hbWUgb2Ygc2Vjb25kIHBhcnRpdGlvbgogICogc2Vjb25kX2JvdW5kOglib3Vu ZCBvZiBzZWNvbmQgcGFydGl0aW9uCiAgKiBkZWZhdWx0UGFydDoJCXRydWUgaWYgb25lIG9m IHNwbGl0IHBhcnRpdGlvbnMgaXMgREVGQVVMVAotICogcHN0YXRlOgkJCXBvaW50ZXIgdG8g UGFyc2VTdGF0ZSBzdHJ1Y3QgZm9yIGRldGVybWluZSBlcnJvciBwb3NpdGlvbgorICogcHN0 YXRlOgkJCXBvaW50ZXIgdG8gUGFyc2VTdGF0ZSBzdHJ1Y3QgZm9yIGRldGVybWluaW5nIGVy cm9yIHBvc2l0aW9uCiAgKi8KIHN0YXRpYyB2b2lkCiBjaGVja190d29fcGFydGl0aW9uc19i b3VuZHNfcmFuZ2UoUmVsYXRpb24gcGFyZW50LApAQCAtNTAyMCw3ICs1MDIwLDcgQEAgY2hl Y2tfdHdvX3BhcnRpdGlvbnNfYm91bmRzX3JhbmdlKFJlbGF0aW9uIHBhcmVudCwKIAlzZWNv bmRfbG93ZXIgPSBtYWtlX29uZV9wYXJ0aXRpb25fcmJvdW5kKGtleSwgLTEsIHNlY29uZF9i b3VuZC0+bG93ZXJkYXR1bXMsIHRydWUpOwogCiAJLyoKLQkgKiBsb3dlcjE9ZmFsc2UgKHRo ZSBzZWNvbmQgdG8gbGFzdCBhcmd1bWVudCkgZm9yIGNvcnJlY3QgY29tcGFyaXNvbiBsb3dl cgorCSAqIGxvd2VyMT1mYWxzZSAodGhlIHNlY29uZCB0byBsYXN0IGFyZ3VtZW50KSBmb3Ig Y29ycmVjdCBjb21wYXJpc29uIG9mIGxvd2VyCiAJICogYW5kIHVwcGVyIGJvdW5kcy4KIAkg Ki8KIAljbXB2YWwgPSBwYXJ0aXRpb25fcmJvdW5kX2NtcChrZXktPnBhcnRuYXR0cywKQEAg LTUxNDAsNyArNTE0MCw3IEBAIGdldF9wYXJ0aXRpb25fYm91bmRfc3BlYyhPaWQgcGFydE9p ZCwgUmFuZ2VWYXIgKm5hbWUpCiAgKgogICogKGZ1bmN0aW9uIGZvciBCWSBSQU5HRSBwYXJ0 aXRpb25pbmcpCiAgKgotICogQ2hlY2tzIHRoYXQgYm91bmRzIG9mIG5ldyBwYXJ0aXRpb24g InNwZWMiIGlzIGluc2lkZSBib3VuZHMgb2Ygc3BsaXQKKyAqIENoZWNrcyB0aGF0IGJvdW5k cyBvZiBuZXcgcGFydGl0aW9uICJzcGVjIiBhcmUgaW5zaWRlIGJvdW5kcyBvZiBzcGxpdAog ICogcGFydGl0aW9uICh3aXRoIE9pZCBzcGxpdFBhcnRPaWQpLiBJZiBmaXJzdD10cnVlICh0 aGlzIG1lYW5zIHRoYXQgInNwZWMiIGlzCiAgKiB0aGUgZmlyc3Qgb2YgbmV3IHBhcnRpdGlv bnMpIHRoZW4gbG93ZXIgYm91bmQgb2YgInNwZWMiIHNob3VsZCBiZSBlcXVhbCAob3IKICAq IGdyZWF0ZXIgdGhhbiBvciBlcXVhbCBpbiBjYXNlIGRlZmF1bHRQYXJ0PXRydWUpIHRvIGxv d2VyIGJvdW5kIG9mIHNwbGl0CkBAIC01Mjc0LDcgKzUyNzQsNyBAQCBjaGVja19wYXJ0aXRp b25fYm91bmRzX2Zvcl9zcGxpdF9yYW5nZShSZWxhdGlvbiBwYXJlbnQsCiAgKgogICogKGZ1 bmN0aW9uIGZvciBCWSBMSVNUIHBhcnRpdGlvbmluZykKICAqCi0gKiBDaGVja3MgdGhhdCBi b3VuZHMgb2YgbmV3IHBhcnRpdGlvbiBpcyBpbnNpZGUgYm91bmRzIG9mIHNwbGl0IHBhcnRp dGlvbgorICogQ2hlY2tzIHRoYXQgYm91bmRzIG9mIG5ldyBwYXJ0aXRpb24gYXJlIGluc2lk ZSBib3VuZHMgb2Ygc3BsaXQgcGFydGl0aW9uCiAgKiAod2l0aCBPaWQgc3BsaXRQYXJ0T2lk KS4KICAqCiAgKiBwYXJlbnQ6CQkJcGFydGl0aW9uZWQgdGFibGUKQEAgLTU0NDUsOCArNTQ0 NSw4IEBAIGNoZWNrX3BhcmVudF92YWx1ZXNfaW5fbmV3X3BhcnRpdGlvbnMoUmVsYXRpb24g cGFyZW50LAogCUFzc2VydChrZXktPnN0cmF0ZWd5ID09IFBBUlRJVElPTl9TVFJBVEVHWV9M SVNUKTsKIAogCS8qCi0JICogU3BlY2lhbCBwcm9jZXNzaW5nIGZvciBOVUxMIHZhbHVlLiBT ZWFyY2ggTlVMTC12YWx1ZSBpZiBpdCBjb250YWlucwotCSAqIHNwbGl0IHBhcnRpdGlvbiAo cGFydE9pZCkuCisJICogU3BlY2lhbCBwcm9jZXNzaW5nIGZvciBOVUxMIHZhbHVlLiBTZWFy Y2ggTlVMTCB2YWx1ZSBpZiB0aGUgc3BsaXQKKwkgKiBwYXJ0aXRpb24gKHBhcnRPaWQpIGNv bnRhaW5zIGl0LgogCSAqLwogCWlmIChwYXJ0aXRpb25fYm91bmRfYWNjZXB0c19udWxscyhi b3VuZGluZm8pICYmCiAJCXBhcnRkZXNjLT5vaWRzW2JvdW5kaW5mby0+bnVsbF9pbmRleF0g PT0gcGFydE9pZCkKQEAgLTU0NjEsNyArNTQ2MSw3IEBAIGNoZWNrX3BhcmVudF92YWx1ZXNf aW5fbmV3X3BhcnRpdGlvbnMoUmVsYXRpb24gcGFyZW50LAogCiAJLyoKIAkgKiBTZWFyY2gg YWxsIHZhbHVlcyBvZiBzcGxpdCBwYXJ0aXRpb24gd2l0aCBwYXJ0T2lkIGluIFBhcnRpdGlv bkRlc2Mgb2YKLQkgKiBwYXJ0aXRpb25kZSB0YWJsZS4KKwkgKiBwYXJ0aXRpb25lZCB0YWJs ZS4KIAkgKi8KIAlmb3IgKGkgPSAwOyBpIDwgYm91bmRpbmZvLT5uZGF0dW1zOyBpKyspCiAJ ewpAQCAtNTQ5OCw3ICs1NDk4LDcgQEAgY2hlY2tfcGFyZW50X3ZhbHVlc19pbl9uZXdfcGFy dGl0aW9ucyhSZWxhdGlvbiBwYXJlbnQsCiAKIAkJZXJlcG9ydChFUlJPUiwKIAkJCQkoZXJy Y29kZShFUlJDT0RFX0lOVkFMSURfT0JKRUNUX0RFRklOSVRJT04pLAotCQkJCSBlcnJtc2co Im5ldyBwYXJ0aXRpb25zIG5vdCBoYXZlIHZhbHVlICVzIGJ1dCBzcGxpdCBwYXJ0aXRpb24g aGFzIiwKKwkJCQkgZXJybXNnKCJuZXcgcGFydGl0aW9ucyBkbyBub3QgaGF2ZSB2YWx1ZSAl cyBidXQgc3BsaXQgcGFydGl0aW9uIGRvZXMiLAogCQkJCQkJc2VhcmNoTnVsbCA/ICJOVUxM IiA6IGdldF9saXN0X3BhcnR2YWx1ZV9zdHJpbmcobm90Rm91bmRWYWwpKSkpOwogCX0KIH0K QEAgLTU2NDUsNyArNTY0NSw3IEBAIGNoZWNrX3BhcnRpdGlvbnNfZm9yX3NwbGl0KFJlbGF0 aW9uIHBhcmVudCwKIAl7CiAJCWVyZXBvcnQoRVJST1IsCiAJCQkJKGVycmNvZGUoRVJSQ09E RV9JTlZBTElEX09CSkVDVF9ERUZJTklUSU9OKSwKLQkJCQkgZXJybXNnKCJhbnkgcGFydGl0 aW9uIGluIHRoZSBsaXN0IHNob3VsZCBiZSBERUZBVUxUIGJlY2F1c2Ugc3BsaXQgcGFydGl0 aW9uIGlzIERFRkFVTFQiKSksCisJCQkJIGVycm1zZygiYWxsIHBhcnRpdGlvbnMgaW4gdGhl IGxpc3Qgc2hvdWxkIGJlIERFRkFVTFQgYmVjYXVzZSBzcGxpdCBwYXJ0aXRpb24gaXMgREVG QVVMVCIpKSwKIAkJCQlwYXJzZXJfZXJycG9zaXRpb24ocHN0YXRlLCAoKFNpbmdsZVBhcnRp dGlvblNwZWMgKikgbGluaXRpYWwocGFydGxpc3QpKS0+bmFtZS0+bG9jYXRpb24pKTsKIAl9 CiAJZWxzZSBpZiAoIWlzU3BsaXRQYXJ0RGVmYXVsdCAmJiAoZGVmYXVsdF9pbmRleCA+PSAw KSAmJiBPaWRJc1ZhbGlkKGRlZmF1bHRQYXJ0T2lkKSkKQEAgLTU3MTQsNyArNTcxNCw3IEBA IGNoZWNrX3BhcnRpdGlvbnNfZm9yX3NwbGl0KFJlbGF0aW9uIHBhcmVudCwKIAkJCWlmIChl cXVhbChzcHMtPm5hbWUsIHNwczItPm5hbWUpKQogCQkJCWVyZXBvcnQoRVJST1IsCiAJCQkJ CQkoZXJyY29kZShFUlJDT0RFX0RVUExJQ0FURV9UQUJMRSksCi0JCQkJCQkgZXJybXNnKCJu YW1lIFwiJXNcIiBhbHJlYWR5IHVzZWQiLCBzcHMyLT5uYW1lLT5yZWxuYW1lKSksCisJCQkJ CQkgZXJybXNnKCJuYW1lIFwiJXNcIiBpcyBhbHJlYWR5IHVzZWQiLCBzcHMyLT5uYW1lLT5y ZWxuYW1lKSksCiAJCQkJCQlwYXJzZXJfZXJycG9zaXRpb24ocHN0YXRlLCBzcHMyLT5uYW1l LT5sb2NhdGlvbikpOwogCQl9CiAJfQpAQCAtNTgwNSwxNCArNTgwNSwxNCBAQCBjYWxjdWxh dGVfcGFydGl0aW9uX2JvdW5kX2Zvcl9tZXJnZShSZWxhdGlvbiBwYXJlbnQsCiAJCQkJfQog CiAJCQkJLyoKLQkJCQkgKiBMb3dlciBib3VuZCBvZiBmaXJzdCBwYXJ0aXRpb24gaXMgYSBs b3dlciBib3VuZCBvZiBtZXJnZWQKKwkJCQkgKiBMb3dlciBib3VuZCBvZiBmaXJzdCBwYXJ0 aXRpb24gaXMgdGhlIGxvd2VyIGJvdW5kIG9mIG1lcmdlZAogCQkJCSAqIHBhcnRpdGlvbi4K IAkJCQkgKi8KIAkJCQlzcGVjLT5sb3dlcmRhdHVtcyA9CiAJCQkJCSgoUGFydGl0aW9uQm91 bmRTcGVjICopIGxpc3RfbnRoKGJvdW5kcywgbG93ZXJfYm91bmRzWzBdLT5pbmRleCkpLT5s b3dlcmRhdHVtczsKIAogCQkJCS8qCi0JCQkJICogVXBwZXIgYm91bmQgb2YgbGFzdCBwYXJ0 aXRpb24gaXMgYSB1cHBlciBib3VuZCBvZiBtZXJnZWQKKwkJCQkgKiBVcHBlciBib3VuZCBv ZiBsYXN0IHBhcnRpdGlvbiBpcyB0aGUgdXBwZXIgYm91bmQgb2YgbWVyZ2VkCiAJCQkJICog cGFydGl0aW9uLgogCQkJCSAqLwogCQkJCXNwZWMtPnVwcGVyZGF0dW1zID0KZGlmZiAtLWdp dCBhL3NyYy90ZXN0L2lzb2xhdGlvbi9zcGVjcy9wYXJ0aXRpb24tbWVyZ2Uuc3BlYyBiL3Ny Yy90ZXN0L2lzb2xhdGlvbi9zcGVjcy9wYXJ0aXRpb24tbWVyZ2Uuc3BlYwppbmRleCBlYzQ4 NzMyYzU4Li5kYzJiOWQzNDQ1IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9pc29sYXRpb24vc3Bl Y3MvcGFydGl0aW9uLW1lcmdlLnNwZWMKKysrIGIvc3JjL3Rlc3QvaXNvbGF0aW9uL3NwZWNz L3BhcnRpdGlvbi1tZXJnZS5zcGVjCkBAIC0zOCw3ICszOCw3IEBAIHN0ZXAgczJzCXsgU0VM RUNUICogRlJPTSB0cGFydDsgfQogCiAKICMgczIgaW5zZXJ0cyByb3cgaW50byB0YWJsZS4g czEgc3RhcnRzIE1FUkdFIFBBUlRJVElPTlMgdGhlbgotIyBzMiB0cnlpbmcgdG8gdXBkYXRl IGluc2VydGVkIHJvdyBhbmQgd2FpdHMgdW50aWwgczEgZmluaXNoZWQKKyMgczIgaXMgdHJ5 aW5nIHRvIHVwZGF0ZSBpbnNlcnRlZCByb3cgYW5kIHdhaXRzIHVudGlsIHMxIGZpbmlzaGVz CiAjIE1FUkdFIG9wZXJhdGlvbi4KIAogcGVybXV0YXRpb24gczJiIHMyaSBzMmMgczFiIHMx bWVyZyBzMmIgczJ1IHMxYyBzMmMgczJzCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNz L2V4cGVjdGVkL3BhcnRpdGlvbl9tZXJnZS5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVj dGVkL3BhcnRpdGlvbl9tZXJnZS5vdXQKaW5kZXggOWZlOTdhODAxZC4uMjY3NTZmYWYzOCAx MDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wYXJ0aXRpb25fbWVyZ2Uu b3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcGFydGl0aW9uX21lcmdlLm91 dApAQCAtMjAsMTkgKzIwLDE5IEBAIENSRUFURSBUQUJMRSBzYWxlc19hcHJfMSBQQVJUSVRJ T04gT0Ygc2FsZXNfYXByMjAyMiBGT1IgVkFMVUVTIEZST00gKCcyMDIyLTA0LTAxCiBDUkVB VEUgVEFCTEUgc2FsZXNfYXByXzIgUEFSVElUSU9OIE9GIHNhbGVzX2FwcjIwMjIgRk9SIFZB TFVFUyBGUk9NICgnMjAyMi0wNC0xNScpIFRPICgnMjAyMi0wNS0wMScpOwogQUxURVIgVEFC TEUgc2FsZXNfcmFuZ2UgQVRUQUNIIFBBUlRJVElPTiBzYWxlc19hcHIyMDIyIEZPUiBWQUxV RVMgRlJPTSAoJzIwMjItMDQtMDEnKSBUTyAoJzIwMjItMDUtMDEnKTsKIENSRUFURSBUQUJM RSBzYWxlc19vdGhlcnMgUEFSVElUSU9OIE9GIHNhbGVzX3JhbmdlIERFRkFVTFQ7Ci0tLSBF UlJPUjogIHBhcnRpdGlvbiB3aXRoIG5hbWUgInNhbGVzX2ZlYjIwMjIiIGFscmVhZHkgdXNl ZAorLS0gRVJST1I6ICBwYXJ0aXRpb24gd2l0aCBuYW1lICJzYWxlc19mZWIyMDIyIiBpcyBh bHJlYWR5IHVzZWQKIEFMVEVSIFRBQkxFIHNhbGVzX3JhbmdlIE1FUkdFIFBBUlRJVElPTlMg KHNhbGVzX2ZlYjIwMjIsIHNhbGVzX21hcjIwMjIsIHNhbGVzX2ZlYjIwMjIpIElOVE8gc2Fs ZXNfZmViX21hcl9hcHIyMDIyOwotRVJST1I6ICBwYXJ0aXRpb24gd2l0aCBuYW1lICJzYWxl c19mZWIyMDIyIiBhbHJlYWR5IHVzZWQKK0VSUk9SOiAgcGFydGl0aW9uIHdpdGggbmFtZSAi c2FsZXNfZmViMjAyMiIgaXMgYWxyZWFkeSB1c2VkCiBMSU5FIDE6IC4uLmUgTUVSR0UgUEFS VElUSU9OUyAoc2FsZXNfZmViMjAyMiwgc2FsZXNfbWFyMjAyMiwgc2FsZXNfZmViMi4uLgog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF4KIC0tIEVSUk9SOiAgInNhbGVzX2FwcjIwMjIiIGlzIG5vdCBhbiBvcmRpbmFy eSB0YWJsZQogQUxURVIgVEFCTEUgc2FsZXNfcmFuZ2UgTUVSR0UgUEFSVElUSU9OUyAoc2Fs ZXNfZmViMjAyMiwgc2FsZXNfbWFyMjAyMiwgc2FsZXNfYXByMjAyMikgSU5UTyBzYWxlc19m ZWJfbWFyX2FwcjIwMjI7CiBFUlJPUjogICJzYWxlc19hcHIyMDIyIiBpcyBub3QgYW4gb3Jk aW5hcnkgdGFibGUKLS0tIEVSUk9SOiAgaW52YWxpZCBwYXJ0aXRpb25zIG9yZGVyLCBwYXJ0 aXRpb24gInNhbGVzX21hcjIwMjIiIGNhbiBub3QgYmUgbWVyZ2VkCistLSBFUlJPUjogIGxv d2VyIGJvdW5kIG9mIHBhcnRpdGlvbiAic2FsZXNfbWFyMjAyMiIgY29uZmxpY3RzIHdpdGgg dXBwZXIgYm91bmQgb2YgcHJldmlvdXMgcGFydGl0aW9uICJzYWxlc19qYW4yMDIyIgogLS0g KHNwYWNlIGJldHdlZW4gc2VjdGlvbnMgc2FsZXNfamFuMjAyMiBhbmQgc2FsZXNfbWFyMjAy MikKIEFMVEVSIFRBQkxFIHNhbGVzX3JhbmdlIE1FUkdFIFBBUlRJVElPTlMgKHNhbGVzX2ph bjIwMjIsIHNhbGVzX21hcjIwMjIpIElOVE8gc2FsZXNfamFuX21hcjIwMjI7CiBFUlJPUjog IGxvd2VyIGJvdW5kIG9mIHBhcnRpdGlvbiAic2FsZXNfbWFyMjAyMiIgY29uZmxpY3RzIHdp dGggdXBwZXIgYm91bmQgb2YgcHJldmlvdXMgcGFydGl0aW9uICJzYWxlc19qYW4yMDIyIgot LS0gRVJST1I6ICBpbnZhbGlkIHBhcnRpdGlvbnMgb3JkZXIsIHBhcnRpdGlvbiAic2FsZXNf amFuMjAyMiIgY2FuIG5vdCBiZSBtZXJnZWQKKy0tIEVSUk9SOiAgbG93ZXIgYm91bmQgb2Yg cGFydGl0aW9uICJzYWxlc19qYW4yMDIyIiBjb25mbGljdHMgd2l0aCB1cHBlciBib3VuZCBv ZiBwcmV2aW91cyBwYXJ0aXRpb24gInNhbGVzX2RlYzIwMjEiCiAtLSAoc3BhY2UgYmV0d2Vl biBzZWN0aW9ucyBzYWxlc19kZWMyMDIxIGFuZCBzYWxlc19qYW4yMDIyKQogQUxURVIgVEFC TEUgc2FsZXNfcmFuZ2UgTUVSR0UgUEFSVElUSU9OUyAoc2FsZXNfZGVjMjAyMSwgc2FsZXNf amFuMjAyMiwgc2FsZXNfZmViMjAyMikgSU5UTyBzYWxlc19kZWNfamFuX2ZlYjIwMjI7CiBF UlJPUjogIGxvd2VyIGJvdW5kIG9mIHBhcnRpdGlvbiAic2FsZXNfamFuMjAyMiIgY29uZmxp Y3RzIHdpdGggdXBwZXIgYm91bmQgb2YgcHJldmlvdXMgcGFydGl0aW9uICJzYWxlc19kZWMy MDIxIgpAQCAtNTIsNyArNTIsNyBAQCBTRUxFQ1QgYy5vaWQ6OnBnX2NhdGFsb2cucmVnY2xh c3MsIGMucmVsa2luZCwgaW5oZGV0YWNocGVuZGluZywgcGdfY2F0YWxvZy5wZ19nZQogCiBE Uk9QIFRBQkxFIHNhbGVzX3JhbmdlOwogLS0KLS0tIEFkZCByb3dzIGludG8gcGFydGl0aW9u ZWQgdGFibGUgdGhlbiBtZXJnZSBwYXJ0aXRpb25zCistLSBBZGQgcm93cyBpbnRvIHBhcnRp dGlvbmVkIHRhYmxlLCB0aGVuIG1lcmdlIHBhcnRpdGlvbnMKIC0tCiBDUkVBVEUgVEFCTEUg c2FsZXNfcmFuZ2UgKHNhbGVzbWFuX2lkIElOVCwgc2FsZXNtYW5fbmFtZSBWQVJDSEFSKDMw KSwgc2FsZXNfYW1vdW50IElOVCwgc2FsZXNfZGF0ZSBEQVRFKSBQQVJUSVRJT04gQlkgUkFO R0UgKHNhbGVzX2RhdGUpOwogQ1JFQVRFIFRBQkxFIHNhbGVzX2phbjIwMjIgUEFSVElUSU9O IE9GIHNhbGVzX3JhbmdlIEZPUiBWQUxVRVMgRlJPTSAoJzIwMjItMDEtMDEnKSBUTyAoJzIw MjItMDItMDEnKTsKQEAgLTE2Miw3ICsxNjIsNyBAQCBTRUxFQ1QgKiBGUk9NIHNhbGVzX290 aGVyczsKICAgICAgICAgICAxNCB8IFNtaXRoICAgICAgICAgfCAgICAgICAgICA1MTAgfCAw NS0wNC0yMDIyCiAoMSByb3cpCiAKLS0tIFVzZSBpbmRleHNjYW4gZm9yIHRlc3QgaW5kZXhl cworLS0gVXNlIGluZGV4c2NhbiBmb3IgdGVzdGluZyBpbmRleGVzCiBTRVQgZW5hYmxlX3Nl cXNjYW4gPSBPRkY7CiBTRUxFQ1QgKiBGUk9NIHNhbGVzX2ZlYl9tYXJfYXByMjAyMiB3aGVy ZSBzYWxlc19kYXRlID4gJzIwMjItMDEtMDEnOwogIHNhbGVzbWFuX2lkIHwgc2FsZXNtYW5f bmFtZSB8IHNhbGVzX2Ftb3VudCB8IHNhbGVzX2RhdGUgCkBAIC03MDQsNyArNzA0LDcgQEAg U0VMRUNUICogRlJPTSBzYWxlc19hbGw7CiAgICAgICAgICAgMTMgfCBHYW5kaSAgICAgICAg IHwgV2Fyc2F3ICAgICAgfCAgICAgICAgICAxNTAgfCAwMy0wOC0yMDIyCiAoMTAgcm93cykK IAotLS0gVXNlIGluZGV4c2NhbiBmb3IgdGVzdCBpbmRleGVzIGFmdGVyIG1lcmdlIHBhcnRp dGlvbnMKKy0tIFVzZSBpbmRleHNjYW4gZm9yIHRlc3RpbmcgaW5kZXhlcyBhZnRlciBtZXJn aW5nIHBhcnRpdGlvbnMKIFNFVCBlbmFibGVfc2Vxc2NhbiA9IE9GRjsKIFNFTEVDVCAqIEZS T00gc2FsZXNfYWxsIFdIRVJFIHNhbGVzX3N0YXRlID0gJ1dhcnNhdyc7CiAgc2FsZXNtYW5f aWQgfCBzYWxlc21hbl9uYW1lIHwgc2FsZXNfc3RhdGUgfCBzYWxlc19hbW91bnQgfCBzYWxl c19kYXRlIApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wYXJ0aXRp b25fc3BsaXQub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wYXJ0aXRpb25fc3Bs aXQub3V0CmluZGV4IDNkMjIwODNlNDEuLjQ2ZjAyMDEzYmUgMTAwNjQ0Ci0tLSBhL3NyYy90 ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcGFydGl0aW9uX3NwbGl0Lm91dAorKysgYi9zcmMvdGVz dC9yZWdyZXNzL2V4cGVjdGVkL3BhcnRpdGlvbl9zcGxpdC5vdXQKQEAgLTQzLDcgKzQzLDcg QEAgRVJST1I6ICBlbXB0eSByYW5nZSBib3VuZCBzcGVjaWZpZWQgZm9yIHBhcnRpdGlvbiAi c2FsZXNfbWFyMjAyMiIKIExJTkUgMzogICAgUEFSVElUSU9OIHNhbGVzX21hcjIwMjIgRk9S IFZBTFVFUyBGUk9NICgnMjAyMi0wMy0wMScpIFRPLi4uCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgogREVUQUlMOiAgU3BlY2lmaWVk IGxvd2VyIGJvdW5kICgnMDMtMDEtMjAyMicpIGlzIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0 byB1cHBlciBib3VuZCAoJzAyLTAxLTIwMjInKS4KLS0tRVJST1I6ICBsaXN0IG9mIHNwbGl0 IHBhcnRpdGlvbnMgc2hvdWxkIGNvbnRhaW5zIGF0IGxlYXN0IHR3byBpdGVtcworLS1FUlJP UjogIGxpc3Qgb2Ygc3BsaXQgcGFydGl0aW9ucyBzaG91bGQgY29udGFpbiBhdCBsZWFzdCB0 d28gaXRlbXMKIEFMVEVSIFRBQkxFIHNhbGVzX3JhbmdlIFNQTElUIFBBUlRJVElPTiBzYWxl c19mZWJfbWFyX2FwcjIwMjIgSU5UTwogICAoUEFSVElUSU9OIHNhbGVzX2ZlYjIwMjIgRk9S IFZBTFVFUyBGUk9NICgnMjAyMi0wMi0wMScpIFRPICgnMjAyMi0xMC0wMScpKTsKIEVSUk9S OiAgbGlzdCBvZiBuZXcgcGFydGl0aW9ucyBzaG91bGQgY29udGFpbiBhdCBsZWFzdCB0d28g aXRlbXMKQEAgLTU1LDIxICs1NSwyMSBAQCBBTFRFUiBUQUJMRSBzYWxlc19yYW5nZSBTUExJ VCBQQVJUSVRJT04gc2FsZXNfZmViX21hcl9hcHIyMDIyIElOVE8KIEVSUk9SOiAgbG93ZXIg Ym91bmQgb2YgcGFydGl0aW9uICJzYWxlc19mZWIyMDIyIiBpcyBsZXNzIHRoYW4gbG93ZXIg Ym91bmQgb2Ygc3BsaXQgcGFydGl0aW9uCiBMSU5FIDI6ICAgKFBBUlRJVElPTiBzYWxlc19m ZWIyMDIyIEZPUiBWQUxVRVMgRlJPTSAoJzIwMjItMDEtMDEnKSBUTy4uLgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLS0tIEVSUk9S OiAgbmFtZSAic2FsZXNfZmViX21hcl9hcHIyMDIyIiBhbHJlYWR5IHVzZWQKKy0tIEVSUk9S OiAgbmFtZSAic2FsZXNfZmViX21hcl9hcHIyMDIyIiBpcyBhbHJlYWR5IHVzZWQKIC0tIChX ZSBjYW4gY3JlYXRlIHBhcnRpdGlvbiB3aXRoIHRoZSBzYW1lIG5hbWUgYXMgc3BsaXQgcGFy dGl0aW9uLCBidXQgY2FuJ3QgY3JlYXRlIHR3byBwYXJ0aXRpb25zIHdpdGggdGhlIHNhbWUg bmFtZSkKIEFMVEVSIFRBQkxFIHNhbGVzX3JhbmdlIFNQTElUIFBBUlRJVElPTiBzYWxlc19m ZWJfbWFyX2FwcjIwMjIgSU5UTwogICAoUEFSVElUSU9OIHNhbGVzX2ZlYl9tYXJfYXByMjAy MiBGT1IgVkFMVUVTIEZST00gKCcyMDIyLTAyLTAxJykgVE8gKCcyMDIyLTAzLTAxJyksCiAg ICBQQVJUSVRJT04gc2FsZXNfZmViX21hcl9hcHIyMDIyIEZPUiBWQUxVRVMgRlJPTSAoJzIw MjItMDMtMDEnKSBUTyAoJzIwMjItMDQtMDEnKSwKICAgIFBBUlRJVElPTiBzYWxlc19hcHIy MDIyIEZPUiBWQUxVRVMgRlJPTSAoJzIwMjItMDQtMDEnKSBUTyAoJzIwMjItMDUtMDEnKSk7 Ci1FUlJPUjogIG5hbWUgInNhbGVzX2ZlYl9tYXJfYXByMjAyMiIgYWxyZWFkeSB1c2VkCitF UlJPUjogIG5hbWUgInNhbGVzX2ZlYl9tYXJfYXByMjAyMiIgaXMgYWxyZWFkeSB1c2VkCiBM SU5FIDM6ICAgIFBBUlRJVElPTiBzYWxlc19mZWJfbWFyX2FwcjIwMjIgRk9SIFZBTFVFUyBG Uk9NICgnMjAyMi0wMy4uLgogICAgICAgICAgICAgICAgICAgICAgXgotLS0gRVJST1I6ICBu YW1lICJzYWxlc19mZWIyMDIyIiBhbHJlYWR5IHVzZWQKKy0tIEVSUk9SOiAgbmFtZSAic2Fs ZXNfZmViMjAyMiIgaXMgYWxyZWFkeSB1c2VkCiBBTFRFUiBUQUJMRSBzYWxlc19yYW5nZSBT UExJVCBQQVJUSVRJT04gc2FsZXNfZmViX21hcl9hcHIyMDIyIElOVE8KICAgKFBBUlRJVElP TiBzYWxlc19mZWIyMDIyIEZPUiBWQUxVRVMgRlJPTSAoJzIwMjItMDItMDEnKSBUTyAoJzIw MjItMDMtMDEnKSwKICAgIFBBUlRJVElPTiBzYWxlc19mZWIyMDIyIEZPUiBWQUxVRVMgRlJP TSAoJzIwMjItMDMtMDEnKSBUTyAoJzIwMjItMDQtMDEnKSwKICAgIFBBUlRJVElPTiBzYWxl c19hcHIyMDIyIEZPUiBWQUxVRVMgRlJPTSAoJzIwMjItMDQtMDEnKSBUTyAoJzIwMjItMDUt MDEnKSk7Ci1FUlJPUjogIG5hbWUgInNhbGVzX2ZlYjIwMjIiIGFscmVhZHkgdXNlZAorRVJS T1I6ICBuYW1lICJzYWxlc19mZWIyMDIyIiBpcyBhbHJlYWR5IHVzZWQKIExJTkUgMzogICAg UEFSVElUSU9OIHNhbGVzX2ZlYjIwMjIgRk9SIFZBTFVFUyBGUk9NICgnMjAyMi0wMy0wMScp IFRPLi4uCiAgICAgICAgICAgICAgICAgICAgICBeCiAtLSBFUlJPUjogICJzYWxlc19mZWJf bWFyX2FwcjIwMjIiIGlzIG5vdCBhIHBhcnRpdGlvbmVkIHRhYmxlCkBAIC04Niw3ICs4Niw3 IEBAIEFMVEVSIFRBQkxFIHNhbGVzX3JhbmdlIFNQTElUIFBBUlRJVElPTiBzYWxlc19mZWJf bWFyX2FwcjIwMjIgSU5UTwogRVJST1I6ICB1cHBlciBib3VuZCBvZiBwYXJ0aXRpb24gInNh bGVzX2FwcjIwMjIiIGlzIGdyZWF0ZXIgdGhhbiB1cHBlciBib3VuZCBvZiBzcGxpdCBwYXJ0 aXRpb24KIExJTkUgNDogLi4uIHNhbGVzX2FwcjIwMjIgRk9SIFZBTFVFUyBGUk9NICgnMjAy Mi0wNC0wMScpIFRPICgnMjAyMi0wNi0wLi4uCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgotLS0gRVJST1I6ICBsb3dl ciBib3VuZCBvZiBwYXJ0aXRpb24gInNhbGVzX21hcjIwMjIiIGlzIG5vdCBlcXVhbHMgdG8g dXBwZXIgYm91bmQgb2YgcHJldmlvdXMgcGFydGl0aW9uCistLSBFUlJPUjogIGxvd2VyIGJv dW5kIG9mIHBhcnRpdGlvbiAic2FsZXNfbWFyMjAyMiIgY29uZmxpY3RzIHdpdGggdXBwZXIg Ym91bmQgb2YgcHJldmlvdXMgcGFydGl0aW9uICJzYWxlc19mZWIyMDIyIgogQUxURVIgVEFC TEUgc2FsZXNfcmFuZ2UgU1BMSVQgUEFSVElUSU9OIHNhbGVzX2ZlYl9tYXJfYXByMjAyMiBJ TlRPCiAgIChQQVJUSVRJT04gc2FsZXNfZmViMjAyMiBGT1IgVkFMVUVTIEZST00gKCcyMDIy LTAyLTAxJykgVE8gKCcyMDIyLTAzLTAxJyksCiAgICBQQVJUSVRJT04gc2FsZXNfbWFyMjAy MiBGT1IgVkFMVUVTIEZST00gKCcyMDIyLTAyLTAxJykgVE8gKCcyMDIyLTA0LTAxJyksCkBA IC05Niw3ICs5Niw3IEBAIExJTkUgMzogICAgUEFSVElUSU9OIHNhbGVzX21hcjIwMjIgRk9S IFZBTFVFUyBGUk9NICgnMjAyMi0wMi0wMScpIFRPLi4uCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgogLS0gVGVzdHMgZm9yIHNwYWNl cyBiZXR3ZWVuIHBhcnRpdGlvbnMsIHRoZW0gc2hvdWxkIGJlIGV4ZWN1dGVkIHdpdGhvdXQg REVGQVVMVCBwYXJ0aXRpb24KIEFMVEVSIFRBQkxFIHNhbGVzX3JhbmdlIERFVEFDSCBQQVJU SVRJT04gc2FsZXNfb3RoZXJzOwotLS0gRVJST1I6ICBsb3dlciBib3VuZCBvZiBwYXJ0aXRp b24gInNhbGVzX2ZlYjIwMjIiIGlzIG5vdCBlcXVhbHMgdG8gbG93ZXIgYm91bmQgb2Ygc3Bs aXQgcGFydGl0aW9uCistLSBFUlJPUjogIGxvd2VyIGJvdW5kIG9mIHBhcnRpdGlvbiAic2Fs ZXNfZmViMjAyMiIgaXMgbm90IGVxdWFsIHRvIGxvd2VyIGJvdW5kIG9mIHNwbGl0IHBhcnRp dGlvbgogQUxURVIgVEFCTEUgc2FsZXNfcmFuZ2UgU1BMSVQgUEFSVElUSU9OIHNhbGVzX2Zl Yl9tYXJfYXByMjAyMiBJTlRPCiAgIChQQVJUSVRJT04gc2FsZXNfZmViMjAyMiBGT1IgVkFM VUVTIEZST00gKCcyMDIyLTAyLTAyJykgVE8gKCcyMDIyLTAzLTAxJyksCiAgICBQQVJUSVRJ T04gc2FsZXNfbWFyMjAyMiBGT1IgVkFMVUVTIEZST00gKCcyMDIyLTAzLTAxJykgVE8gKCcy MDIyLTA0LTAxJyksCkBAIC0xOTEsNyArMTkxLDcgQEAgU0VMRUNUICogRlJPTSBzYWxlc19v dGhlcnM7CiAKIERST1AgVEFCTEUgc2FsZXNfcmFuZ2UgQ0FTQ0FERTsKIC0tCi0tLSBBZGQg c3BsaXQgcGFydGl0aW9uIHRoZW4gYWRkIHJvd3MgaW50byBwYXJ0aXRpb25lZCB0YWJsZQor LS0gQWRkIHNwbGl0IHBhcnRpdGlvbiwgdGhlbiBhZGQgcm93cyBpbnRvIHBhcnRpdGlvbmVk IHRhYmxlCiAtLQogQ1JFQVRFIFRBQkxFIHNhbGVzX3JhbmdlIChzYWxlc21hbl9pZCBJTlQs IHNhbGVzbWFuX25hbWUgVkFSQ0hBUigzMCksIHNhbGVzX2Ftb3VudCBJTlQsIHNhbGVzX2Rh dGUgREFURSkgUEFSVElUSU9OIEJZIFJBTkdFIChzYWxlc19kYXRlKTsKIENSRUFURSBUQUJM RSBzYWxlc19qYW4yMDIyIFBBUlRJVElPTiBPRiBzYWxlc19yYW5nZSBGT1IgVkFMVUVTIEZS T00gKCcyMDIyLTAxLTAxJykgVE8gKCcyMDIyLTAyLTAxJyk7CkBAIC0zOTQsNyArMzk0LDcg QEAgTElORSAxOiBTRUxFQ1QgKiBGUk9NIHNhbGVzX2phbl9mZWIyMDIyOwogICAgICAgICAg ICAgICAgICAgICAgIF4KIERST1AgVEFCTEUgc2FsZXNfZGF0ZSBDQVNDQURFOwogLS0KLS0t IFRlc3Q6IHNwbGl0IERFRkFVTFQgcGFydGl0aW9uOyB1c2luZyBhIGluZGV4IG9uIHBhcnRp dGlvbiBrZXk7IGNoZWNrIGluZGV4IGFmdGVyIHNwbGl0CistLSBUZXN0OiBzcGxpdCBERUZB VUxUIHBhcnRpdGlvbjsgdXNlIGFuIGluZGV4IG9uIHBhcnRpdGlvbiBrZXk7IGNoZWNrIGlu ZGV4IGFmdGVyIHNwbGl0CiAtLQogQ1JFQVRFIFRBQkxFIHNhbGVzX3JhbmdlIChzYWxlc21h bl9pZCBJTlQsIHNhbGVzbWFuX25hbWUgVkFSQ0hBUigzMCksIHNhbGVzX2Ftb3VudCBJTlQs IHNhbGVzX2RhdGUgREFURSkgUEFSVElUSU9OIEJZIFJBTkdFIChzYWxlc19kYXRlKTsKIENS RUFURSBUQUJMRSBzYWxlc19qYW4yMDIyIFBBUlRJVElPTiBPRiBzYWxlc19yYW5nZSBGT1Ig VkFMVUVTIEZST00gKCcyMDIyLTAxLTAxJykgVE8gKCcyMDIyLTAyLTAxJyk7CkBAIC00NDEs NyArNDQxLDcgQEAgQUxURVIgVEFCTEUgc2FsZXNfcmFuZ2UgU1BMSVQgUEFSVElUSU9OIHNh bGVzX290aGVycyBJTlRPCiAgICBQQVJUSVRJT04gc2FsZXNfbWFyMjAyMiBGT1IgVkFMVUVT IEZST00gKCcyMDIyLTAzLTAxJykgVE8gKCcyMDIyLTA0LTAxJyksCiAgICBQQVJUSVRJT04g c2FsZXNfYXByMjAyMiBGT1IgVkFMVUVTIEZST00gKCcyMDIyLTA0LTAxJykgVE8gKCcyMDIy LTA1LTAxJyksCiAgICBQQVJUSVRJT04gc2FsZXNfb3RoZXJzIERFRkFVTFQpOwotLS0gVXNl IGluZGV4c2NhbiBmb3IgdGVzdCBpbmRleGVzCistLSBVc2UgaW5kZXhzY2FuIGZvciB0ZXN0 aW5nIGluZGV4ZXMKIFNFVCBlbmFibGVfaW5kZXhzY2FuID0gT047CiBTRVQgZW5hYmxlX3Nl cXNjYW4gPSBPRkY7CiBTRUxFQ1QgKiBGUk9NIHNhbGVzX2ZlYjIwMjIgd2hlcmUgc2FsZXNf ZGF0ZSA+ICcyMDIyLTAxLTAxJzsKQEAgLTUwMyw3ICs1MDMsNyBAQCBTRUxFQ1QgKiBGUk9N IHBnX2luZGV4ZXMgV0hFUkUgdGFibGVuYW1lID0gJ3NhbGVzX290aGVycycgYW5kIHNjaGVt YW5hbWUgPSAncGFydAogCiBEUk9QIFRBQkxFIHNhbGVzX3JhbmdlIENBU0NBREU7CiAtLQot LS0gVGVzdDogc29tZSBjYXNlcyBmb3Igc3BsaXQgREVGQVVMVCBwYXJ0aXRpb24gKGRpZmZl cmVudCBib3VuZHMpCistLSBUZXN0OiBzb21lIGNhc2VzIGZvciBzcGxpdHRpbmcgREVGQVVM VCBwYXJ0aXRpb24gKGRpZmZlcmVudCBib3VuZHMpCiAtLQogQ1JFQVRFIFRBQkxFIHNhbGVz X3JhbmdlIChzYWxlc21hbl9pZCBJTlQsIHNhbGVzbWFuX25hbWUgVkFSQ0hBUigzMCksIHNh bGVzX2Ftb3VudCBJTlQsIHNhbGVzX2RhdGUgSU5UKSBQQVJUSVRJT04gQlkgUkFOR0UgKHNh bGVzX2RhdGUpOwogQ1JFQVRFIFRBQkxFIHNhbGVzX290aGVycyBQQVJUSVRJT04gT0Ygc2Fs ZXNfcmFuZ2UgREVGQVVMVDsKQEAgLTUzNyw3ICs1MzcsNyBAQCBBTFRFUiBUQUJMRSBzYWxl c19yYW5nZSBTUExJVCBQQVJUSVRJT04gc2FsZXNfb3RoZXJzIElOVE8KIEVSUk9SOiAgbG93 ZXIgYm91bmQgb2YgcGFydGl0aW9uICJzYWxlc19lcnJvciIgY29uZmxpY3RzIHdpdGggdXBw ZXIgYm91bmQgb2YgcHJldmlvdXMgcGFydGl0aW9uICJzYWxlc19kZWMyMDIyIgogTElORSAz OiAgICBQQVJUSVRJT04gc2FsZXNfZXJyb3IgRk9SIFZBTFVFUyBGUk9NICgyMDIxMTIxMCkg VE8gKDIwMjEuLi4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgotLS0gc2FsZXNfZXJyb3IgaW50ZXJzZWN0cyB3aXRoIHNhbGVzX2RlYzIw MjIgKGV4YWN0IHRoZSBzYW1lIGJvdW5kcykKKy0tIHNhbGVzX2Vycm9yIGludGVyc2VjdHMg d2l0aCBzYWxlc19kZWMyMDIyIChleGFjdGx5IHRoZSBzYW1lIGJvdW5kcykKIC0tIEVSUk9S OiAgbG93ZXIgYm91bmQgb2YgcGFydGl0aW9uICJzYWxlc19lcnJvciIgY29uZmxpY3RzIHdp dGggdXBwZXIgYm91bmQgb2YgcHJldmlvdXMgcGFydGl0aW9uICJzYWxlc19kZWMyMDIyIgog QUxURVIgVEFCTEUgc2FsZXNfcmFuZ2UgU1BMSVQgUEFSVElUSU9OIHNhbGVzX290aGVycyBJ TlRPCiAgIChQQVJUSVRJT04gc2FsZXNfZGVjMjAyMiBGT1IgVkFMVUVTIEZST00gKDIwMjEx MjAxKSBUTyAoMjAyMjAxMDEpLApAQCAtNTQ3LDE1ICs1NDcsMTUgQEAgQUxURVIgVEFCTEUg c2FsZXNfcmFuZ2UgU1BMSVQgUEFSVElUSU9OIHNhbGVzX290aGVycyBJTlRPCiBFUlJPUjog IGxvd2VyIGJvdW5kIG9mIHBhcnRpdGlvbiAic2FsZXNfZXJyb3IiIGNvbmZsaWN0cyB3aXRo IHVwcGVyIGJvdW5kIG9mIHByZXZpb3VzIHBhcnRpdGlvbiAic2FsZXNfZGVjMjAyMiIKIExJ TkUgMzogICAgUEFSVElUSU9OIHNhbGVzX2Vycm9yIEZPUiBWQUxVRVMgRlJPTSAoMjAyMTEy MDEpIFRPICgyMDIyLi4uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF4KLS0tIEVSUk9SOiAgYW55IHBhcnRpdGlvbiBpbiB0aGUgbGlzdCBz aG91bGQgYmUgREVGQVVMVCBiZWNhdXNlIHNwbGl0IHBhcnRpdGlvbiBpcyBERUZBVUxUCist LSBFUlJPUjogIGFsbCBwYXJ0aXRpb25zIGluIHRoZSBsaXN0IHNob3VsZCBiZSBERUZBVUxU IGJlY2F1c2Ugc3BsaXQgcGFydGl0aW9uIGlzIERFRkFVTFQKIEFMVEVSIFRBQkxFIHNhbGVz X3JhbmdlIFNQTElUIFBBUlRJVElPTiBzYWxlc19vdGhlcnMgSU5UTwogICAoUEFSVElUSU9O IHNhbGVzX2RlYzIwMjIgRk9SIFZBTFVFUyBGUk9NICgyMDIxMTIwMSkgVE8gKDIwMjIwMTAx KSwKICAgIFBBUlRJVElPTiBzYWxlc19qYW4yMDIyIEZPUiBWQUxVRVMgRlJPTSAoMjAyMjAx MDEpIFRPICgyMDIyMDIwMSksCiAgICBQQVJUSVRJT04gc2FsZXNfZmViMjAyMiBGT1IgVkFM VUVTIEZST00gKDIwMjIwMjAxKSBUTyAoMjAyMjAzMDEpKTsKLUVSUk9SOiAgYW55IHBhcnRp dGlvbiBpbiB0aGUgbGlzdCBzaG91bGQgYmUgREVGQVVMVCBiZWNhdXNlIHNwbGl0IHBhcnRp dGlvbiBpcyBERUZBVUxUCitFUlJPUjogIGFsbCBwYXJ0aXRpb25zIGluIHRoZSBsaXN0IHNo b3VsZCBiZSBERUZBVUxUIGJlY2F1c2Ugc3BsaXQgcGFydGl0aW9uIGlzIERFRkFVTFQKIExJ TkUgMjogICAoUEFSVElUSU9OIHNhbGVzX2RlYzIwMjIgRk9SIFZBTFVFUyBGUk9NICgyMDIx MTIwMSkgVE8gKDIwLi4uCiAgICAgICAgICAgICAgICAgICAgICBeCi0tLSBubyBlcnJvcjog Ym91bmRzIG9mIHNhbGVzX25vZXJyb3IgYmV0d2VlbiBzYWxlc19kZWMyMDIyIGFuZCBzYWxl c19mZWIyMDIyCistLSBubyBlcnJvcjogYm91bmRzIG9mIHNhbGVzX25vZXJyb3IgYXJlIGJl dHdlZW4gc2FsZXNfZGVjMjAyMiBhbmQgc2FsZXNfZmViMjAyMgogQUxURVIgVEFCTEUgc2Fs ZXNfcmFuZ2UgU1BMSVQgUEFSVElUSU9OIHNhbGVzX290aGVycyBJTlRPCiAgIChQQVJUSVRJ T04gc2FsZXNfZGVjMjAyMiBGT1IgVkFMVUVTIEZST00gKDIwMjExMjAxKSBUTyAoMjAyMjAx MDEpLAogICAgUEFSVElUSU9OIHNhbGVzX25vZXJyb3IgRk9SIFZBTFVFUyBGUk9NICgyMDIy MDExMCkgVE8gKDIwMjIwMTIwKSwKQEAgLTU2NCw3ICs1NjQsNyBAQCBBTFRFUiBUQUJMRSBz YWxlc19yYW5nZSBTUExJVCBQQVJUSVRJT04gc2FsZXNfb3RoZXJzIElOVE8KIERST1AgVEFC TEUgc2FsZXNfcmFuZ2U7CiBDUkVBVEUgVEFCTEUgc2FsZXNfcmFuZ2UgKHNhbGVzbWFuX2lk IElOVCwgc2FsZXNtYW5fbmFtZSBWQVJDSEFSKDMwKSwgc2FsZXNfYW1vdW50IElOVCwgc2Fs ZXNfZGF0ZSBJTlQpIFBBUlRJVElPTiBCWSBSQU5HRSAoc2FsZXNfZGF0ZSk7CiBDUkVBVEUg VEFCTEUgc2FsZXNfb3RoZXJzIFBBUlRJVElPTiBPRiBzYWxlc19yYW5nZSBERUZBVUxUOwot LS0gbm8gZXJyb3I6IGJvdW5kcyBvZiBzYWxlc19ub2Vycm9yIGVxdWFscyB0byBsb3dlciBh bmQgdXBwZXIgYm91bmRzIG9mIHNhbGVzX2RlYzIwMjIgYW5kIHNhbGVzX2ZlYjIwMjIKKy0t IG5vIGVycm9yOiBib3VuZHMgb2Ygc2FsZXNfbm9lcnJvciBhcmUgZXF1YWwgdG8gbG93ZXIg YW5kIHVwcGVyIGJvdW5kcyBvZiBzYWxlc19kZWMyMDIyIGFuZCBzYWxlc19mZWIyMDIyCiBB TFRFUiBUQUJMRSBzYWxlc19yYW5nZSBTUExJVCBQQVJUSVRJT04gc2FsZXNfb3RoZXJzIElO VE8KICAgKFBBUlRJVElPTiBzYWxlc19kZWMyMDIyIEZPUiBWQUxVRVMgRlJPTSAoMjAyMTEy MDEpIFRPICgyMDIyMDEwMSksCiAgICBQQVJUSVRJT04gc2FsZXNfbm9lcnJvciBGT1IgVkFM VUVTIEZST00gKDIwMjEwMTAxKSBUTyAoMjAyMTAyMDEpLApAQCAtNjE2LDcgKzYxNiw3IEBA IFNFTEVDVCBwZ19nZXRfY29uc3RyYWludGRlZihvaWQpLCBjb25uYW1lLCBjb25rZXkgRlJP TSBwZ19jb25zdHJhaW50IFdIRVJFIGNvbnJlCiAgRk9SRUlHTiBLRVkgKHNhbGVzbWFuX2lk KSBSRUZFUkVOQ0VTIHNhbGVzbWFucyhzYWxlc21hbl9pZCkgfCBzYWxlc19yYW5nZV9zYWxl c21hbl9pZF9ma2V5ICAgfCB7MX0KICgyIHJvd3MpCiAKLS0tIEVSUk9SOiAgbmV3IHJvdyBm b3IgcmVsYXRpb24gInNhbGVzX21hcjIwMjIiIHZpb2xhdGVzIGNoZWNrIGNvbnN0cmFpbnQg InNhbGVzX3JhbmdlX3NhbGVzbWFuX2lkX2NoZWNrIgorLS0gRVJST1I6ICBuZXcgcm93IGZv ciByZWxhdGlvbiAic2FsZXNfbWFyMjAyMiIgdmlvbGF0ZXMgY2hlY2sgY29uc3RyYWludCAi c2FsZXNfcmFuZ2Vfc2FsZXNfYW1vdW50X2NoZWNrIgogSU5TRVJUIElOVE8gc2FsZXNfcmFu Z2UgVkFMVUVTICgxLCAwLCAnMjAyMi0wMy0xMScpOwogRVJST1I6ICBuZXcgcm93IGZvciBy ZWxhdGlvbiAic2FsZXNfbWFyMjAyMiIgdmlvbGF0ZXMgY2hlY2sgY29uc3RyYWludCAic2Fs ZXNfcmFuZ2Vfc2FsZXNfYW1vdW50X2NoZWNrIgogREVUQUlMOiAgRmFpbGluZyByb3cgY29u dGFpbnMgKDEsIDAsIDAzLTExLTIwMjIpLgpAQCAtNjI5LDcgKzYyOSw3IEBAIElOU0VSVCBJ TlRPIHNhbGVzX3JhbmdlIFZBTFVFUyAoMSwgMTAsICcyMDIyLTAzLTExJyk7CiBEUk9QIFRB QkxFIHNhbGVzX3JhbmdlIENBU0NBREU7CiBEUk9QIFRBQkxFIHNhbGVzbWFucyBDQVNDQURF OwogLS0KLS0tIFRlc3Q6IHNwbGl0IHBhcnRpdGlvbiBvbiBwYXJ0aXRpb25lZCB0YWJsZSBp biBjYXNlIGV4aXN0cyBGT1JFSUdOIEtFWSByZWZlcmVuY2UgZnJvbSBhbm90aGVyIHRhYmxl CistLSBUZXN0OiBzcGxpdCBwYXJ0aXRpb24gb24gcGFydGl0aW9uZWQgdGFibGUgaW4gY2Fz ZSBvZiBleGlzdGluZyBGT1JFSUdOIEtFWSByZWZlcmVuY2UgZnJvbSBhbm90aGVyIHRhYmxl CiAtLQogQ1JFQVRFIFRBQkxFIHNhbGVzbWFucyhzYWxlc21hbl9pZCBJTlQgUFJJTUFSWSBL RVksIHNhbGVzbWFuX25hbWUgVkFSQ0hBUigzMCkpIFBBUlRJVElPTiBCWSBSQU5HRSAoc2Fs ZXNtYW5faWQpOwogQ1JFQVRFIFRBQkxFIHNhbGVzIChzYWxlc21hbl9pZCBJTlQgUkVGRVJF TkNFUyBzYWxlc21hbnMoc2FsZXNtYW5faWQpLCBzYWxlc19hbW91bnQgSU5ULCBzYWxlc19k YXRlIERBVEUpOwpAQCAtNzcwLDExICs3NzAsMTEgQEAgRFJPUCBUQUJMRSBzYWxlc21hbnMg Q0FTQ0FERTsKIERST1AgRlVOQ1RJT04gYWZ0ZXJfaW5zZXJ0X3Jvd190cmlnZ2VyKCk7CiAt LQogLS0gVGVzdDogc3BsaXQgcGFydGl0aW9uIHdpdGNoIGlkZW50aXR5IGNvbHVtbgotLS0g SWYgc3BsaXQgcGFydGl0aW9uIGNvbHVtbiBpcyBpZGVudGl0eS1jb2x1bW4sIGNvbHVtbnMg b2YgbmV3IHBhcnRpdGlvbnMgYXJlIGlkZW50aXR5LWNvbHVtbnMgdG9vLgorLS0gSWYgc3Bs aXQgcGFydGl0aW9uIGNvbHVtbiBpcyBpZGVudGl0eSBjb2x1bW4sIGNvbHVtbnMgb2YgbmV3 IHBhcnRpdGlvbnMgYXJlIGlkZW50aXR5IGNvbHVtbnMgdG9vLgogLS0KIENSRUFURSBUQUJM RSBzYWxlc21hbnMoc2FsZXNtYW5faWQgSU5UIEdFTkVSQVRFRCBBTFdBWVMgQVMgSURFTlRJ VFkgUFJJTUFSWSBLRVksIHNhbGVzbWFuX25hbWUgVkFSQ0hBUigzMCkpIFBBUlRJVElPTiBC WSBSQU5HRSAoc2FsZXNtYW5faWQpOwogQ1JFQVRFIFRBQkxFIHNhbGVzbWFuczFfMiBQQVJU SVRJT04gT0Ygc2FsZXNtYW5zIEZPUiBWQUxVRVMgRlJPTSAoMSkgVE8gKDIpOwotLS0gQ3Jl YXRlIG5ldyBwYXJ0aXRpb24gd2l0aCBpZGVudGl0eS1jb2x1bW46CistLSBDcmVhdGUgbmV3 IHBhcnRpdGlvbiB3aXRoIGlkZW50aXR5IGNvbHVtbjoKIENSRUFURSBUQUJMRSBzYWxlc21h bnMyXzUoc2FsZXNtYW5faWQgSU5UIE5PVCBOVUxMLCBzYWxlc21hbl9uYW1lIFZBUkNIQVIo MzApKTsKIEFMVEVSIFRBQkxFIHNhbGVzbWFucyBBVFRBQ0ggUEFSVElUSU9OIHNhbGVzbWFu czJfNSBGT1IgVkFMVUVTIEZST00gKDIpIFRPICg1KTsKIElOU0VSVCBJTlRPIHNhbGVzbWFu cyAoc2FsZXNtYW5fbmFtZSkgVkFMVUVTICgnUG9pcm90Jyk7CkBAIC03OTMsNyArNzkzLDcg QEAgU0VMRUNUIGF0dG5hbWUsIGF0dGlkZW50aXR5LCBhdHRnZW5lcmF0ZWQgRlJPTSBwZ19h dHRyaWJ1dGUgV0hFUkUgYXR0bnVtID4gMCBBTkQKICBzYWxlc21hbl9uYW1lIHwgICAgICAg ICAgICAgfCAKICgyIHJvd3MpCiAKLS0tIFNwbGl0IHBhcnRpdGlvbiBoYXMgaWRlbnRpdHkt Y29sdW1uOgorLS0gU3BsaXQgcGFydGl0aW9uIGhhcyBpZGVudGl0eSBjb2x1bW46CiBTRUxF Q1QgYXR0bmFtZSwgYXR0aWRlbnRpdHksIGF0dGdlbmVyYXRlZCBGUk9NIHBnX2F0dHJpYnV0 ZSBXSEVSRSBhdHRudW0gPiAwIEFORCBhdHRyZWxpZCA9ICdzYWxlc21hbnMyXzUnOjpyZWdj bGFzczo6b2lkOwogICAgIGF0dG5hbWUgICAgfCBhdHRpZGVudGl0eSB8IGF0dGdlbmVyYXRl ZCAKIC0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tCkBAIC0x MDM2LDcgKzEwMzYsNyBAQCBQQVJUSVRJT04gQlkgTElTVCAoc2FsZXNfc3RhdGUpOwogQ1JF QVRFIFRBQkxFIHNhbGVzX25vcmQgUEFSVElUSU9OIE9GIHNhbGVzX2xpc3QgRk9SIFZBTFVF UyBJTiAoJ09zbG8nLCAnU3QuIFBldGVyc2J1cmcnLCAnSGVsc2lua2knKTsKIENSRUFURSBU QUJMRSBzYWxlc19hbGwgUEFSVElUSU9OIE9GIHNhbGVzX2xpc3QgRk9SIFZBTFVFUyBJTiAo J1dhcnNhdycsICdMaXNib24nLCAnTmV3IFlvcmsnLCAnTWFkcmlkJywgJ0JlamluZycsICdC ZXJsaW4nLCAnRGVsaGknLCAnS3lpdicsICdWbGFkaXZvc3RvaycpOwogQ1JFQVRFIFRBQkxF IHNhbGVzX290aGVycyBQQVJUSVRJT04gT0Ygc2FsZXNfbGlzdCBERUZBVUxUOwotLS0gRVJS T1I6ICBwYXJ0aXRpb24gInNhbGVzX2Vhc3QiIHdvdWxkIG92ZXJsYXAgcGFydGl0aW9uICJz YWxlc19ub3JkIgorLS0gRVJST1I6ICBuZXcgcGFydGl0aW9uICJzYWxlc19lYXN0IiB3b3Vs ZCBvdmVybGFwIHdpdGggYW5vdGhlciAobm90IHNwbGl0KSBwYXJ0aXRpb24gInNhbGVzX25v cmQiCiBBTFRFUiBUQUJMRSBzYWxlc19saXN0IFNQTElUIFBBUlRJVElPTiBzYWxlc19hbGwg SU5UTwogICAoUEFSVElUSU9OIHNhbGVzX3dlc3QgRk9SIFZBTFVFUyBJTiAoJ0xpc2Jvbics ICdOZXcgWW9yaycsICdNYWRyaWQnKSwKICAgIFBBUlRJVElPTiBzYWxlc19lYXN0IEZPUiBW QUxVRVMgSU4gKCdCZWppbmcnLCAnRGVsaGknLCAnVmxhZGl2b3N0b2snLCAnSGVsc2lua2kn KSwKQEAgLTEwNjMsOCArMTA2Myw4IEBAIExJTkUgMjogLi4uc193ZXN0IEZPUiBWQUxVRVMg SU4gKCdMaXNib24nLCAnTmV3IFlvcmsnLCAnTWFkcmlkJywgTlVMTCksCiBEUk9QIFRBQkxF IHNhbGVzX2xpc3Q7CiAtLQogLS0gVGVzdDogdHdvIHNwZWNpZmljIGVycm9ycyBmb3IgQlkg TElTVCBwYXJ0aXRpb25pbmc6Ci0tLSAgICogbmV3IHBhcnRpdGlvbnMgbm90IGhhcyBOVUxM IHZhbHVlIHRoYXQgc3BsaXQgcGFydGl0aW9uIGhhcy4KLS0tICAgKiBuZXcgcGFydGl0aW9u cyBub3QgaGFzIGEgdmFsdWUgdGhhdCBzcGxpdCBwYXJ0aXRpb24gaGFzLgorLS0gICAqIG5l dyBwYXJ0aXRpb25zIGRvIG5vdCBoYXZlIE5VTEwgdmFsdWUsIHdoaWNoIHNwbGl0IHBhcnRp dGlvbiBoYXMuCistLSAgICogbmV3IHBhcnRpdGlvbnMgZG8gbm90IGhhdmUgYSB2YWx1ZSB0 aGF0IHNwbGl0IHBhcnRpdGlvbiBoYXMuCiAtLQogQ1JFQVRFIFRBQkxFIHNhbGVzX2xpc3QK IChzYWxlc21hbl9pZCBJTlQsCkBAIC0xMDc1LDE4ICsxMDc1LDE4IEBAIENSRUFURSBUQUJM RSBzYWxlc19saXN0CiBQQVJUSVRJT04gQlkgTElTVCAoc2FsZXNfc3RhdGUpOwogQ1JFQVRF IFRBQkxFIHNhbGVzX25vcmQgUEFSVElUSU9OIE9GIHNhbGVzX2xpc3QgRk9SIFZBTFVFUyBJ TiAoJ0hlbHNpbmtpJywgJ1N0LiBQZXRlcnNidXJnJywgJ09zbG8nKTsKIENSRUFURSBUQUJM RSBzYWxlc19hbGwgUEFSVElUSU9OIE9GIHNhbGVzX2xpc3QgRk9SIFZBTFVFUyBJTiAoJ1dh cnNhdycsICdMaXNib24nLCAnTmV3IFlvcmsnLCAnTWFkcmlkJywgJ0JlamluZycsICdCZXJs aW4nLCAnRGVsaGknLCAnS3lpdicsICdWbGFkaXZvc3RvaycsIE5VTEwpOwotLS0gRVJST1I6 ICBuZXcgcGFydGl0aW9ucyBub3QgaGF2ZSB2YWx1ZSBOVUxMIGJ1dCBzcGxpdCBwYXJ0aXRp b24gaGFzCistLSBFUlJPUjogIG5ldyBwYXJ0aXRpb25zIGRvIG5vdCBoYXZlIHZhbHVlIE5V TEwgYnV0IHNwbGl0IHBhcnRpdGlvbiBkb2VzCiBBTFRFUiBUQUJMRSBzYWxlc19saXN0IFNQ TElUIFBBUlRJVElPTiBzYWxlc19hbGwgSU5UTwogICAoUEFSVElUSU9OIHNhbGVzX3dlc3Qg Rk9SIFZBTFVFUyBJTiAoJ0xpc2JvbicsICdOZXcgWW9yaycsICdNYWRyaWQnKSwKICAgIFBB UlRJVElPTiBzYWxlc19lYXN0IEZPUiBWQUxVRVMgSU4gKCdCZWppbmcnLCAnRGVsaGknLCAn VmxhZGl2b3N0b2snKSwKICAgIFBBUlRJVElPTiBzYWxlc19jZW50cmFsIEZPUiBWQUxVRVMg SU4gKCdXYXJzYXcnLCAnQmVybGluJywgJ0t5aXYnKSk7Ci1FUlJPUjogIG5ldyBwYXJ0aXRp b25zIG5vdCBoYXZlIHZhbHVlIE5VTEwgYnV0IHNwbGl0IHBhcnRpdGlvbiBoYXMKLS0tIEVS Uk9SOiAgbmV3IHBhcnRpdGlvbnMgbm90IGhhdmUgdmFsdWUgJ0t5aXYnIGJ1dCBzcGxpdCBw YXJ0aXRpb24gaGFzCitFUlJPUjogIG5ldyBwYXJ0aXRpb25zIGRvIG5vdCBoYXZlIHZhbHVl IE5VTEwgYnV0IHNwbGl0IHBhcnRpdGlvbiBkb2VzCistLSBFUlJPUjogIG5ldyBwYXJ0aXRp b25zIGRvIG5vdCBoYXZlIHZhbHVlICdLeWl2JyBidXQgc3BsaXQgcGFydGl0aW9uIGRvZXMK IEFMVEVSIFRBQkxFIHNhbGVzX2xpc3QgU1BMSVQgUEFSVElUSU9OIHNhbGVzX2FsbCBJTlRP CiAgIChQQVJUSVRJT04gc2FsZXNfd2VzdCBGT1IgVkFMVUVTIElOICgnTGlzYm9uJywgJ05l dyBZb3JrJywgJ01hZHJpZCcpLAogICAgUEFSVElUSU9OIHNhbGVzX2Vhc3QgRk9SIFZBTFVF UyBJTiAoJ0JlamluZycsICdEZWxoaScsICdWbGFkaXZvc3RvaycpLAogICAgUEFSVElUSU9O IHNhbGVzX2NlbnRyYWwgRk9SIFZBTFVFUyBJTiAoJ1dhcnNhdycsICdCZXJsaW4nLCBOVUxM KSk7Ci1FUlJPUjogIG5ldyBwYXJ0aXRpb25zIG5vdCBoYXZlIHZhbHVlICdLeWl2JyBidXQg c3BsaXQgcGFydGl0aW9uIGhhcworRVJST1I6ICBuZXcgcGFydGl0aW9ucyBkbyBub3QgaGF2 ZSB2YWx1ZSAnS3lpdicgYnV0IHNwbGl0IHBhcnRpdGlvbiBkb2VzCiBEUk9QIFRBQkxFIHNh bGVzX2xpc3Q7CiAtLQogLS0gVGVzdDogQlkgTElTVCBwYXJ0aXRpb25pbmcsIFNQTElUIFBB UlRJVElPTiB3aXRoIGRhdGEKQEAgLTExNzQsNyArMTE3NCw3IEBAIFNFTEVDVCAqIEZST00g c2FsZXNfY2VudHJhbDsKICAgICAgICAgICAxMyB8IEdhbmRpICAgICAgICAgfCBXYXJzYXcg ICAgICB8ICAgICAgICAgIDE1MCB8IDAzLTA4LTIwMjIKICg0IHJvd3MpCiAKLS0tIFVzZSBp bmRleHNjYW4gZm9yIHRlc3QgaW5kZXhlcyBhZnRlciBzcGxpdCBwYXJ0aXRpb24KKy0tIFVz ZSBpbmRleHNjYW4gZm9yIHRlc3RpbmcgaW5kZXhlcyBhZnRlciBzcGxpdHRpbmcgcGFydGl0 aW9uCiBTRVQgZW5hYmxlX2luZGV4c2NhbiA9IE9OOwogU0VUIGVuYWJsZV9zZXFzY2FuID0g T0ZGOwogU0VMRUNUICogRlJPTSBzYWxlc19jZW50cmFsIFdIRVJFIHNhbGVzX3N0YXRlID0g J1dhcnNhdyc7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9wYXJ0aXRpb25f bWVyZ2Uuc3FsIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcGFydGl0aW9uX21lcmdlLnNxbApp bmRleCA0MjhiNmNjODhmLi45OWI4ZjExYTE4IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdy ZXNzL3NxbC9wYXJ0aXRpb25fbWVyZ2Uuc3FsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3Fs L3BhcnRpdGlvbl9tZXJnZS5zcWwKQEAgLTI2LDE0ICsyNiwxNCBAQCBBTFRFUiBUQUJMRSBz YWxlc19yYW5nZSBBVFRBQ0ggUEFSVElUSU9OIHNhbGVzX2FwcjIwMjIgRk9SIFZBTFVFUyBG Uk9NICgnMjAyMi0wNAogCiBDUkVBVEUgVEFCTEUgc2FsZXNfb3RoZXJzIFBBUlRJVElPTiBP RiBzYWxlc19yYW5nZSBERUZBVUxUOwogCi0tLSBFUlJPUjogIHBhcnRpdGlvbiB3aXRoIG5h bWUgInNhbGVzX2ZlYjIwMjIiIGFscmVhZHkgdXNlZAorLS0gRVJST1I6ICBwYXJ0aXRpb24g d2l0aCBuYW1lICJzYWxlc19mZWIyMDIyIiBpcyBhbHJlYWR5IHVzZWQKIEFMVEVSIFRBQkxF IHNhbGVzX3JhbmdlIE1FUkdFIFBBUlRJVElPTlMgKHNhbGVzX2ZlYjIwMjIsIHNhbGVzX21h cjIwMjIsIHNhbGVzX2ZlYjIwMjIpIElOVE8gc2FsZXNfZmViX21hcl9hcHIyMDIyOwogLS0g RVJST1I6ICAic2FsZXNfYXByMjAyMiIgaXMgbm90IGFuIG9yZGluYXJ5IHRhYmxlCiBBTFRF UiBUQUJMRSBzYWxlc19yYW5nZSBNRVJHRSBQQVJUSVRJT05TIChzYWxlc19mZWIyMDIyLCBz YWxlc19tYXIyMDIyLCBzYWxlc19hcHIyMDIyKSBJTlRPIHNhbGVzX2ZlYl9tYXJfYXByMjAy MjsKLS0tIEVSUk9SOiAgaW52YWxpZCBwYXJ0aXRpb25zIG9yZGVyLCBwYXJ0aXRpb24gInNh bGVzX21hcjIwMjIiIGNhbiBub3QgYmUgbWVyZ2VkCistLSBFUlJPUjogIGxvd2VyIGJvdW5k IG9mIHBhcnRpdGlvbiAic2FsZXNfbWFyMjAyMiIgY29uZmxpY3RzIHdpdGggdXBwZXIgYm91 bmQgb2YgcHJldmlvdXMgcGFydGl0aW9uICJzYWxlc19qYW4yMDIyIgogLS0gKHNwYWNlIGJl dHdlZW4gc2VjdGlvbnMgc2FsZXNfamFuMjAyMiBhbmQgc2FsZXNfbWFyMjAyMikKIEFMVEVS IFRBQkxFIHNhbGVzX3JhbmdlIE1FUkdFIFBBUlRJVElPTlMgKHNhbGVzX2phbjIwMjIsIHNh bGVzX21hcjIwMjIpIElOVE8gc2FsZXNfamFuX21hcjIwMjI7Ci0tLSBFUlJPUjogIGludmFs aWQgcGFydGl0aW9ucyBvcmRlciwgcGFydGl0aW9uICJzYWxlc19qYW4yMDIyIiBjYW4gbm90 IGJlIG1lcmdlZAorLS0gRVJST1I6ICBsb3dlciBib3VuZCBvZiBwYXJ0aXRpb24gInNhbGVz X2phbjIwMjIiIGNvbmZsaWN0cyB3aXRoIHVwcGVyIGJvdW5kIG9mIHByZXZpb3VzIHBhcnRp dGlvbiAic2FsZXNfZGVjMjAyMSIKIC0tIChzcGFjZSBiZXR3ZWVuIHNlY3Rpb25zIHNhbGVz X2RlYzIwMjEgYW5kIHNhbGVzX2phbjIwMjIpCiBBTFRFUiBUQUJMRSBzYWxlc19yYW5nZSBN RVJHRSBQQVJUSVRJT05TIChzYWxlc19kZWMyMDIxLCBzYWxlc19qYW4yMDIyLCBzYWxlc19m ZWIyMDIyKSBJTlRPIHNhbGVzX2RlY19qYW5fZmViMjAyMjsKIApAQCAtNDgsNyArNDgsNyBA QCBTRUxFQ1QgYy5vaWQ6OnBnX2NhdGFsb2cucmVnY2xhc3MsIGMucmVsa2luZCwgaW5oZGV0 YWNocGVuZGluZywgcGdfY2F0YWxvZy5wZ19nZQogRFJPUCBUQUJMRSBzYWxlc19yYW5nZTsK IAogLS0KLS0tIEFkZCByb3dzIGludG8gcGFydGl0aW9uZWQgdGFibGUgdGhlbiBtZXJnZSBw YXJ0aXRpb25zCistLSBBZGQgcm93cyBpbnRvIHBhcnRpdGlvbmVkIHRhYmxlLCB0aGVuIG1l cmdlIHBhcnRpdGlvbnMKIC0tCiBDUkVBVEUgVEFCTEUgc2FsZXNfcmFuZ2UgKHNhbGVzbWFu X2lkIElOVCwgc2FsZXNtYW5fbmFtZSBWQVJDSEFSKDMwKSwgc2FsZXNfYW1vdW50IElOVCwg c2FsZXNfZGF0ZSBEQVRFKSBQQVJUSVRJT04gQlkgUkFOR0UgKHNhbGVzX2RhdGUpOwogQ1JF QVRFIFRBQkxFIHNhbGVzX2phbjIwMjIgUEFSVElUSU9OIE9GIHNhbGVzX3JhbmdlIEZPUiBW QUxVRVMgRlJPTSAoJzIwMjItMDEtMDEnKSBUTyAoJzIwMjItMDItMDEnKTsKQEAgLTk2LDcg Kzk2LDcgQEAgU0VMRUNUICogRlJPTSBzYWxlc19qYW4yMDIyOwogU0VMRUNUICogRlJPTSBz YWxlc19mZWJfbWFyX2FwcjIwMjI7CiBTRUxFQ1QgKiBGUk9NIHNhbGVzX290aGVyczsKIAot LS0gVXNlIGluZGV4c2NhbiBmb3IgdGVzdCBpbmRleGVzCistLSBVc2UgaW5kZXhzY2FuIGZv ciB0ZXN0aW5nIGluZGV4ZXMKIFNFVCBlbmFibGVfc2Vxc2NhbiA9IE9GRjsKIAogU0VMRUNU ICogRlJPTSBzYWxlc19mZWJfbWFyX2FwcjIwMjIgd2hlcmUgc2FsZXNfZGF0ZSA+ICcyMDIy LTAxLTAxJzsKQEAgLTQxNSw3ICs0MTUsNyBAQCBTRUxFQ1QgKiBGUk9NIHNhbGVzX2xpc3Q7 CiBTRUxFQ1QgKiBGUk9NIHNhbGVzX25vcmQ7CiBTRUxFQ1QgKiBGUk9NIHNhbGVzX2FsbDsK IAotLS0gVXNlIGluZGV4c2NhbiBmb3IgdGVzdCBpbmRleGVzIGFmdGVyIG1lcmdlIHBhcnRp dGlvbnMKKy0tIFVzZSBpbmRleHNjYW4gZm9yIHRlc3RpbmcgaW5kZXhlcyBhZnRlciBtZXJn aW5nIHBhcnRpdGlvbnMKIFNFVCBlbmFibGVfc2Vxc2NhbiA9IE9GRjsKIAogU0VMRUNUICog RlJPTSBzYWxlc19hbGwgV0hFUkUgc2FsZXNfc3RhdGUgPSAnV2Fyc2F3JzsKZGlmZiAtLWdp dCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3BhcnRpdGlvbl9zcGxpdC5zcWwgYi9zcmMvdGVz dC9yZWdyZXNzL3NxbC9wYXJ0aXRpb25fc3BsaXQuc3FsCmluZGV4IDVkYzJmYzM5Y2QuLjU3 NmY5ZjBmNjMgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3BhcnRpdGlvbl9z cGxpdC5zcWwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcGFydGl0aW9uX3NwbGl0LnNx bApAQCAtNDIsNyArNDIsNyBAQCBBTFRFUiBUQUJMRSBzYWxlc19yYW5nZSBTUExJVCBQQVJU SVRJT04gc2FsZXNfZmViX21hcl9hcHIyMDIyIElOVE8KICAgIFBBUlRJVElPTiBzYWxlc19t YXIyMDIyIEZPUiBWQUxVRVMgRlJPTSAoJzIwMjItMDMtMDEnKSBUTyAoJzIwMjItMDItMDEn KSwKICAgIFBBUlRJVElPTiBzYWxlc19hcHIyMDIyIEZPUiBWQUxVRVMgRlJPTSAoJzIwMjIt MDQtMDEnKSBUTyAoJzIwMjItMDUtMDEnKSk7CiAKLS0tRVJST1I6ICBsaXN0IG9mIHNwbGl0 IHBhcnRpdGlvbnMgc2hvdWxkIGNvbnRhaW5zIGF0IGxlYXN0IHR3byBpdGVtcworLS1FUlJP UjogIGxpc3Qgb2Ygc3BsaXQgcGFydGl0aW9ucyBzaG91bGQgY29udGFpbiBhdCBsZWFzdCB0 d28gaXRlbXMKIEFMVEVSIFRBQkxFIHNhbGVzX3JhbmdlIFNQTElUIFBBUlRJVElPTiBzYWxl c19mZWJfbWFyX2FwcjIwMjIgSU5UTwogICAoUEFSVElUSU9OIHNhbGVzX2ZlYjIwMjIgRk9S IFZBTFVFUyBGUk9NICgnMjAyMi0wMi0wMScpIFRPICgnMjAyMi0xMC0wMScpKTsKIApAQCAt NTIsMTQgKzUyLDE0IEBAIEFMVEVSIFRBQkxFIHNhbGVzX3JhbmdlIFNQTElUIFBBUlRJVElP TiBzYWxlc19mZWJfbWFyX2FwcjIwMjIgSU5UTwogICAgUEFSVElUSU9OIHNhbGVzX21hcjIw MjIgRk9SIFZBTFVFUyBGUk9NICgnMjAyMi0wMy0wMScpIFRPICgnMjAyMi0wNC0wMScpLAog ICAgUEFSVElUSU9OIHNhbGVzX2FwcjIwMjIgRk9SIFZBTFVFUyBGUk9NICgnMjAyMi0wNC0w MScpIFRPICgnMjAyMi0wNS0wMScpKTsKIAotLS0gRVJST1I6ICBuYW1lICJzYWxlc19mZWJf bWFyX2FwcjIwMjIiIGFscmVhZHkgdXNlZAorLS0gRVJST1I6ICBuYW1lICJzYWxlc19mZWJf bWFyX2FwcjIwMjIiIGlzIGFscmVhZHkgdXNlZAogLS0gKFdlIGNhbiBjcmVhdGUgcGFydGl0 aW9uIHdpdGggdGhlIHNhbWUgbmFtZSBhcyBzcGxpdCBwYXJ0aXRpb24sIGJ1dCBjYW4ndCBj cmVhdGUgdHdvIHBhcnRpdGlvbnMgd2l0aCB0aGUgc2FtZSBuYW1lKQogQUxURVIgVEFCTEUg c2FsZXNfcmFuZ2UgU1BMSVQgUEFSVElUSU9OIHNhbGVzX2ZlYl9tYXJfYXByMjAyMiBJTlRP CiAgIChQQVJUSVRJT04gc2FsZXNfZmViX21hcl9hcHIyMDIyIEZPUiBWQUxVRVMgRlJPTSAo JzIwMjItMDItMDEnKSBUTyAoJzIwMjItMDMtMDEnKSwKICAgIFBBUlRJVElPTiBzYWxlc19m ZWJfbWFyX2FwcjIwMjIgRk9SIFZBTFVFUyBGUk9NICgnMjAyMi0wMy0wMScpIFRPICgnMjAy Mi0wNC0wMScpLAogICAgUEFSVElUSU9OIHNhbGVzX2FwcjIwMjIgRk9SIFZBTFVFUyBGUk9N ICgnMjAyMi0wNC0wMScpIFRPICgnMjAyMi0wNS0wMScpKTsKIAotLS0gRVJST1I6ICBuYW1l ICJzYWxlc19mZWIyMDIyIiBhbHJlYWR5IHVzZWQKKy0tIEVSUk9SOiAgbmFtZSAic2FsZXNf ZmViMjAyMiIgaXMgYWxyZWFkeSB1c2VkCiBBTFRFUiBUQUJMRSBzYWxlc19yYW5nZSBTUExJ VCBQQVJUSVRJT04gc2FsZXNfZmViX21hcl9hcHIyMDIyIElOVE8KICAgKFBBUlRJVElPTiBz YWxlc19mZWIyMDIyIEZPUiBWQUxVRVMgRlJPTSAoJzIwMjItMDItMDEnKSBUTyAoJzIwMjIt MDMtMDEnKSwKICAgIFBBUlRJVElPTiBzYWxlc19mZWIyMDIyIEZPUiBWQUxVRVMgRlJPTSAo JzIwMjItMDMtMDEnKSBUTyAoJzIwMjItMDQtMDEnKSwKQEAgLTc3LDcgKzc3LDcgQEAgQUxU RVIgVEFCTEUgc2FsZXNfcmFuZ2UgU1BMSVQgUEFSVElUSU9OIHNhbGVzX2ZlYl9tYXJfYXBy MjAyMiBJTlRPCiAgICBQQVJUSVRJT04gc2FsZXNfbWFyMjAyMiBGT1IgVkFMVUVTIEZST00g KCcyMDIyLTAzLTAxJykgVE8gKCcyMDIyLTA0LTAxJyksCiAgICBQQVJUSVRJT04gc2FsZXNf YXByMjAyMiBGT1IgVkFMVUVTIEZST00gKCcyMDIyLTA0LTAxJykgVE8gKCcyMDIyLTA2LTAx JykpOwogCi0tLSBFUlJPUjogIGxvd2VyIGJvdW5kIG9mIHBhcnRpdGlvbiAic2FsZXNfbWFy MjAyMiIgaXMgbm90IGVxdWFscyB0byB1cHBlciBib3VuZCBvZiBwcmV2aW91cyBwYXJ0aXRp b24KKy0tIEVSUk9SOiAgbG93ZXIgYm91bmQgb2YgcGFydGl0aW9uICJzYWxlc19tYXIyMDIy IiBjb25mbGljdHMgd2l0aCB1cHBlciBib3VuZCBvZiBwcmV2aW91cyBwYXJ0aXRpb24gInNh bGVzX2ZlYjIwMjIiCiBBTFRFUiBUQUJMRSBzYWxlc19yYW5nZSBTUExJVCBQQVJUSVRJT04g c2FsZXNfZmViX21hcl9hcHIyMDIyIElOVE8KICAgKFBBUlRJVElPTiBzYWxlc19mZWIyMDIy IEZPUiBWQUxVRVMgRlJPTSAoJzIwMjItMDItMDEnKSBUTyAoJzIwMjItMDMtMDEnKSwKICAg IFBBUlRJVElPTiBzYWxlc19tYXIyMDIyIEZPUiBWQUxVRVMgRlJPTSAoJzIwMjItMDItMDEn KSBUTyAoJzIwMjItMDQtMDEnKSwKQEAgLTg2LDcgKzg2LDcgQEAgQUxURVIgVEFCTEUgc2Fs ZXNfcmFuZ2UgU1BMSVQgUEFSVElUSU9OIHNhbGVzX2ZlYl9tYXJfYXByMjAyMiBJTlRPCiAt LSBUZXN0cyBmb3Igc3BhY2VzIGJldHdlZW4gcGFydGl0aW9ucywgdGhlbSBzaG91bGQgYmUg ZXhlY3V0ZWQgd2l0aG91dCBERUZBVUxUIHBhcnRpdGlvbgogQUxURVIgVEFCTEUgc2FsZXNf cmFuZ2UgREVUQUNIIFBBUlRJVElPTiBzYWxlc19vdGhlcnM7CiAKLS0tIEVSUk9SOiAgbG93 ZXIgYm91bmQgb2YgcGFydGl0aW9uICJzYWxlc19mZWIyMDIyIiBpcyBub3QgZXF1YWxzIHRv IGxvd2VyIGJvdW5kIG9mIHNwbGl0IHBhcnRpdGlvbgorLS0gRVJST1I6ICBsb3dlciBib3Vu ZCBvZiBwYXJ0aXRpb24gInNhbGVzX2ZlYjIwMjIiIGlzIG5vdCBlcXVhbCB0byBsb3dlciBi b3VuZCBvZiBzcGxpdCBwYXJ0aXRpb24KIEFMVEVSIFRBQkxFIHNhbGVzX3JhbmdlIFNQTElU IFBBUlRJVElPTiBzYWxlc19mZWJfbWFyX2FwcjIwMjIgSU5UTwogICAoUEFSVElUSU9OIHNh bGVzX2ZlYjIwMjIgRk9SIFZBTFVFUyBGUk9NICgnMjAyMi0wMi0wMicpIFRPICgnMjAyMi0w My0wMScpLAogICAgUEFSVElUSU9OIHNhbGVzX21hcjIwMjIgRk9SIFZBTFVFUyBGUk9NICgn MjAyMi0wMy0wMScpIFRPICgnMjAyMi0wNC0wMScpLApAQCAtMTMzLDcgKzEzMyw3IEBAIFNF TEVDVCAqIEZST00gc2FsZXNfb3RoZXJzOwogRFJPUCBUQUJMRSBzYWxlc19yYW5nZSBDQVND QURFOwogCiAtLQotLS0gQWRkIHNwbGl0IHBhcnRpdGlvbiB0aGVuIGFkZCByb3dzIGludG8g cGFydGl0aW9uZWQgdGFibGUKKy0tIEFkZCBzcGxpdCBwYXJ0aXRpb24sIHRoZW4gYWRkIHJv d3MgaW50byBwYXJ0aXRpb25lZCB0YWJsZQogLS0KIENSRUFURSBUQUJMRSBzYWxlc19yYW5n ZSAoc2FsZXNtYW5faWQgSU5ULCBzYWxlc21hbl9uYW1lIFZBUkNIQVIoMzApLCBzYWxlc19h bW91bnQgSU5ULCBzYWxlc19kYXRlIERBVEUpIFBBUlRJVElPTiBCWSBSQU5HRSAoc2FsZXNf ZGF0ZSk7CiBDUkVBVEUgVEFCTEUgc2FsZXNfamFuMjAyMiBQQVJUSVRJT04gT0Ygc2FsZXNf cmFuZ2UgRk9SIFZBTFVFUyBGUk9NICgnMjAyMi0wMS0wMScpIFRPICgnMjAyMi0wMi0wMScp OwpAQCAtMjE5LDcgKzIxOSw3IEBAIFNFTEVDVCAqIEZST00gc2FsZXNfamFuX2ZlYjIwMjI7 CiBEUk9QIFRBQkxFIHNhbGVzX2RhdGUgQ0FTQ0FERTsKIAogLS0KLS0tIFRlc3Q6IHNwbGl0 IERFRkFVTFQgcGFydGl0aW9uOyB1c2luZyBhIGluZGV4IG9uIHBhcnRpdGlvbiBrZXk7IGNo ZWNrIGluZGV4IGFmdGVyIHNwbGl0CistLSBUZXN0OiBzcGxpdCBERUZBVUxUIHBhcnRpdGlv bjsgdXNlIGFuIGluZGV4IG9uIHBhcnRpdGlvbiBrZXk7IGNoZWNrIGluZGV4IGFmdGVyIHNw bGl0CiAtLQogQ1JFQVRFIFRBQkxFIHNhbGVzX3JhbmdlIChzYWxlc21hbl9pZCBJTlQsIHNh bGVzbWFuX25hbWUgVkFSQ0hBUigzMCksIHNhbGVzX2Ftb3VudCBJTlQsIHNhbGVzX2RhdGUg REFURSkgUEFSVElUSU9OIEJZIFJBTkdFIChzYWxlc19kYXRlKTsKIENSRUFURSBUQUJMRSBz YWxlc19qYW4yMDIyIFBBUlRJVElPTiBPRiBzYWxlc19yYW5nZSBGT1IgVkFMVUVTIEZST00g KCcyMDIyLTAxLTAxJykgVE8gKCcyMDIyLTAyLTAxJyk7CkBAIC0yNTAsNyArMjUwLDcgQEAg QUxURVIgVEFCTEUgc2FsZXNfcmFuZ2UgU1BMSVQgUEFSVElUSU9OIHNhbGVzX290aGVycyBJ TlRPCiAgICBQQVJUSVRJT04gc2FsZXNfYXByMjAyMiBGT1IgVkFMVUVTIEZST00gKCcyMDIy LTA0LTAxJykgVE8gKCcyMDIyLTA1LTAxJyksCiAgICBQQVJUSVRJT04gc2FsZXNfb3RoZXJz IERFRkFVTFQpOwogCi0tLSBVc2UgaW5kZXhzY2FuIGZvciB0ZXN0IGluZGV4ZXMKKy0tIFVz ZSBpbmRleHNjYW4gZm9yIHRlc3RpbmcgaW5kZXhlcwogU0VUIGVuYWJsZV9pbmRleHNjYW4g PSBPTjsKIFNFVCBlbmFibGVfc2Vxc2NhbiA9IE9GRjsKIApAQCAtMjcwLDcgKzI3MCw3IEBA IFNFTEVDVCAqIEZST00gcGdfaW5kZXhlcyBXSEVSRSB0YWJsZW5hbWUgPSAnc2FsZXNfb3Ro ZXJzJyBhbmQgc2NoZW1hbmFtZSA9ICdwYXJ0CiBEUk9QIFRBQkxFIHNhbGVzX3JhbmdlIENB U0NBREU7CiAKIC0tCi0tLSBUZXN0OiBzb21lIGNhc2VzIGZvciBzcGxpdCBERUZBVUxUIHBh cnRpdGlvbiAoZGlmZmVyZW50IGJvdW5kcykKKy0tIFRlc3Q6IHNvbWUgY2FzZXMgZm9yIHNw bGl0dGluZyBERUZBVUxUIHBhcnRpdGlvbiAoZGlmZmVyZW50IGJvdW5kcykKIC0tCiBDUkVB VEUgVEFCTEUgc2FsZXNfcmFuZ2UgKHNhbGVzbWFuX2lkIElOVCwgc2FsZXNtYW5fbmFtZSBW QVJDSEFSKDMwKSwgc2FsZXNfYW1vdW50IElOVCwgc2FsZXNfZGF0ZSBJTlQpIFBBUlRJVElP TiBCWSBSQU5HRSAoc2FsZXNfZGF0ZSk7CiBDUkVBVEUgVEFCTEUgc2FsZXNfb3RoZXJzIFBB UlRJVElPTiBPRiBzYWxlc19yYW5nZSBERUZBVUxUOwpAQCAtMjk5LDcgKzI5OSw3IEBAIEFM VEVSIFRBQkxFIHNhbGVzX3JhbmdlIFNQTElUIFBBUlRJVElPTiBzYWxlc19vdGhlcnMgSU5U TwogICAgUEFSVElUSU9OIHNhbGVzX2ZlYjIwMjIgRk9SIFZBTFVFUyBGUk9NICgyMDIyMDIw MSkgVE8gKDIwMjIwMzAxKSwKICAgIFBBUlRJVElPTiBzYWxlc19vdGhlcnMgREVGQVVMVCk7 CiAKLS0tIHNhbGVzX2Vycm9yIGludGVyc2VjdHMgd2l0aCBzYWxlc19kZWMyMDIyIChleGFj dCB0aGUgc2FtZSBib3VuZHMpCistLSBzYWxlc19lcnJvciBpbnRlcnNlY3RzIHdpdGggc2Fs ZXNfZGVjMjAyMiAoZXhhY3RseSB0aGUgc2FtZSBib3VuZHMpCiAtLSBFUlJPUjogIGxvd2Vy IGJvdW5kIG9mIHBhcnRpdGlvbiAic2FsZXNfZXJyb3IiIGNvbmZsaWN0cyB3aXRoIHVwcGVy IGJvdW5kIG9mIHByZXZpb3VzIHBhcnRpdGlvbiAic2FsZXNfZGVjMjAyMiIKIEFMVEVSIFRB QkxFIHNhbGVzX3JhbmdlIFNQTElUIFBBUlRJVElPTiBzYWxlc19vdGhlcnMgSU5UTwogICAo UEFSVElUSU9OIHNhbGVzX2RlYzIwMjIgRk9SIFZBTFVFUyBGUk9NICgyMDIxMTIwMSkgVE8g KDIwMjIwMTAxKSwKQEAgLTMwNywxMyArMzA3LDEzIEBAIEFMVEVSIFRBQkxFIHNhbGVzX3Jh bmdlIFNQTElUIFBBUlRJVElPTiBzYWxlc19vdGhlcnMgSU5UTwogICAgUEFSVElUSU9OIHNh bGVzX2ZlYjIwMjIgRk9SIFZBTFVFUyBGUk9NICgyMDIyMDIwMSkgVE8gKDIwMjIwMzAxKSwK ICAgIFBBUlRJVElPTiBzYWxlc19vdGhlcnMgREVGQVVMVCk7CiAKLS0tIEVSUk9SOiAgYW55 IHBhcnRpdGlvbiBpbiB0aGUgbGlzdCBzaG91bGQgYmUgREVGQVVMVCBiZWNhdXNlIHNwbGl0 IHBhcnRpdGlvbiBpcyBERUZBVUxUCistLSBFUlJPUjogIGFsbCBwYXJ0aXRpb25zIGluIHRo ZSBsaXN0IHNob3VsZCBiZSBERUZBVUxUIGJlY2F1c2Ugc3BsaXQgcGFydGl0aW9uIGlzIERF RkFVTFQKIEFMVEVSIFRBQkxFIHNhbGVzX3JhbmdlIFNQTElUIFBBUlRJVElPTiBzYWxlc19v dGhlcnMgSU5UTwogICAoUEFSVElUSU9OIHNhbGVzX2RlYzIwMjIgRk9SIFZBTFVFUyBGUk9N ICgyMDIxMTIwMSkgVE8gKDIwMjIwMTAxKSwKICAgIFBBUlRJVElPTiBzYWxlc19qYW4yMDIy IEZPUiBWQUxVRVMgRlJPTSAoMjAyMjAxMDEpIFRPICgyMDIyMDIwMSksCiAgICBQQVJUSVRJ T04gc2FsZXNfZmViMjAyMiBGT1IgVkFMVUVTIEZST00gKDIwMjIwMjAxKSBUTyAoMjAyMjAz MDEpKTsKIAotLS0gbm8gZXJyb3I6IGJvdW5kcyBvZiBzYWxlc19ub2Vycm9yIGJldHdlZW4g c2FsZXNfZGVjMjAyMiBhbmQgc2FsZXNfZmViMjAyMgorLS0gbm8gZXJyb3I6IGJvdW5kcyBv ZiBzYWxlc19ub2Vycm9yIGFyZSBiZXR3ZWVuIHNhbGVzX2RlYzIwMjIgYW5kIHNhbGVzX2Zl YjIwMjIKIEFMVEVSIFRBQkxFIHNhbGVzX3JhbmdlIFNQTElUIFBBUlRJVElPTiBzYWxlc19v dGhlcnMgSU5UTwogICAoUEFSVElUSU9OIHNhbGVzX2RlYzIwMjIgRk9SIFZBTFVFUyBGUk9N ICgyMDIxMTIwMSkgVE8gKDIwMjIwMTAxKSwKICAgIFBBUlRJVElPTiBzYWxlc19ub2Vycm9y IEZPUiBWQUxVRVMgRlJPTSAoMjAyMjAxMTApIFRPICgyMDIyMDEyMCksCkBAIC0zMjUsNyAr MzI1LDcgQEAgRFJPUCBUQUJMRSBzYWxlc19yYW5nZTsKIENSRUFURSBUQUJMRSBzYWxlc19y YW5nZSAoc2FsZXNtYW5faWQgSU5ULCBzYWxlc21hbl9uYW1lIFZBUkNIQVIoMzApLCBzYWxl c19hbW91bnQgSU5ULCBzYWxlc19kYXRlIElOVCkgUEFSVElUSU9OIEJZIFJBTkdFIChzYWxl c19kYXRlKTsKIENSRUFURSBUQUJMRSBzYWxlc19vdGhlcnMgUEFSVElUSU9OIE9GIHNhbGVz X3JhbmdlIERFRkFVTFQ7CiAKLS0tIG5vIGVycm9yOiBib3VuZHMgb2Ygc2FsZXNfbm9lcnJv ciBlcXVhbHMgdG8gbG93ZXIgYW5kIHVwcGVyIGJvdW5kcyBvZiBzYWxlc19kZWMyMDIyIGFu ZCBzYWxlc19mZWIyMDIyCistLSBubyBlcnJvcjogYm91bmRzIG9mIHNhbGVzX25vZXJyb3Ig YXJlIGVxdWFsIHRvIGxvd2VyIGFuZCB1cHBlciBib3VuZHMgb2Ygc2FsZXNfZGVjMjAyMiBh bmQgc2FsZXNfZmViMjAyMgogQUxURVIgVEFCTEUgc2FsZXNfcmFuZ2UgU1BMSVQgUEFSVElU SU9OIHNhbGVzX290aGVycyBJTlRPCiAgIChQQVJUSVRJT04gc2FsZXNfZGVjMjAyMiBGT1Ig VkFMVUVTIEZST00gKDIwMjExMjAxKSBUTyAoMjAyMjAxMDEpLAogICAgUEFSVElUSU9OIHNh bGVzX25vZXJyb3IgRk9SIFZBTFVFUyBGUk9NICgyMDIxMDEwMSkgVE8gKDIwMjEwMjAxKSwK QEAgLTM2MSw3ICszNjEsNyBAQCBTRUxFQ1QgcGdfZ2V0X2NvbnN0cmFpbnRkZWYob2lkKSwg Y29ubmFtZSwgY29ua2V5IEZST00gcGdfY29uc3RyYWludCBXSEVSRSBjb25yZQogU0VMRUNU IHBnX2dldF9jb25zdHJhaW50ZGVmKG9pZCksIGNvbm5hbWUsIGNvbmtleSBGUk9NIHBnX2Nv bnN0cmFpbnQgV0hFUkUgY29ucmVsaWQgPSAnc2FsZXNfbWFyMjAyMic6OnJlZ2NsYXNzOjpv aWQ7CiBTRUxFQ1QgcGdfZ2V0X2NvbnN0cmFpbnRkZWYob2lkKSwgY29ubmFtZSwgY29ua2V5 IEZST00gcGdfY29uc3RyYWludCBXSEVSRSBjb25yZWxpZCA9ICdzYWxlc19hcHIyMDIyJzo6 cmVnY2xhc3M6Om9pZDsKIAotLS0gRVJST1I6ICBuZXcgcm93IGZvciByZWxhdGlvbiAic2Fs ZXNfbWFyMjAyMiIgdmlvbGF0ZXMgY2hlY2sgY29uc3RyYWludCAic2FsZXNfcmFuZ2Vfc2Fs ZXNtYW5faWRfY2hlY2siCistLSBFUlJPUjogIG5ldyByb3cgZm9yIHJlbGF0aW9uICJzYWxl c19tYXIyMDIyIiB2aW9sYXRlcyBjaGVjayBjb25zdHJhaW50ICJzYWxlc19yYW5nZV9zYWxl c19hbW91bnRfY2hlY2siCiBJTlNFUlQgSU5UTyBzYWxlc19yYW5nZSBWQUxVRVMgKDEsIDAs ICcyMDIyLTAzLTExJyk7CiAtLSBFUlJPUjogIGluc2VydCBvciB1cGRhdGUgb24gdGFibGUg InNhbGVzX21hcjIwMjIiIHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInNhbGVz X3JhbmdlX3NhbGVzbWFuX2lkX2ZrZXkiCiBJTlNFUlQgSU5UTyBzYWxlc19yYW5nZSBWQUxV RVMgKC0xLCAxMCwgJzIwMjItMDMtMTEnKTsKQEAgLTM3Miw3ICszNzIsNyBAQCBEUk9QIFRB QkxFIHNhbGVzX3JhbmdlIENBU0NBREU7CiBEUk9QIFRBQkxFIHNhbGVzbWFucyBDQVNDQURF OwogCiAtLQotLS0gVGVzdDogc3BsaXQgcGFydGl0aW9uIG9uIHBhcnRpdGlvbmVkIHRhYmxl IGluIGNhc2UgZXhpc3RzIEZPUkVJR04gS0VZIHJlZmVyZW5jZSBmcm9tIGFub3RoZXIgdGFi bGUKKy0tIFRlc3Q6IHNwbGl0IHBhcnRpdGlvbiBvbiBwYXJ0aXRpb25lZCB0YWJsZSBpbiBj YXNlIG9mIGV4aXN0aW5nIEZPUkVJR04gS0VZIHJlZmVyZW5jZSBmcm9tIGFub3RoZXIgdGFi bGUKIC0tCiBDUkVBVEUgVEFCTEUgc2FsZXNtYW5zKHNhbGVzbWFuX2lkIElOVCBQUklNQVJZ IEtFWSwgc2FsZXNtYW5fbmFtZSBWQVJDSEFSKDMwKSkgUEFSVElUSU9OIEJZIFJBTkdFIChz YWxlc21hbl9pZCk7CiBDUkVBVEUgVEFCTEUgc2FsZXMgKHNhbGVzbWFuX2lkIElOVCBSRUZF UkVOQ0VTIHNhbGVzbWFucyhzYWxlc21hbl9pZCksIHNhbGVzX2Ftb3VudCBJTlQsIHNhbGVz X2RhdGUgREFURSk7CkBAIC00NzAsMTIgKzQ3MCwxMiBAQCBEUk9QIEZVTkNUSU9OIGFmdGVy X2luc2VydF9yb3dfdHJpZ2dlcigpOwogCiAtLQogLS0gVGVzdDogc3BsaXQgcGFydGl0aW9u IHdpdGNoIGlkZW50aXR5IGNvbHVtbgotLS0gSWYgc3BsaXQgcGFydGl0aW9uIGNvbHVtbiBp cyBpZGVudGl0eS1jb2x1bW4sIGNvbHVtbnMgb2YgbmV3IHBhcnRpdGlvbnMgYXJlIGlkZW50 aXR5LWNvbHVtbnMgdG9vLgorLS0gSWYgc3BsaXQgcGFydGl0aW9uIGNvbHVtbiBpcyBpZGVu dGl0eSBjb2x1bW4sIGNvbHVtbnMgb2YgbmV3IHBhcnRpdGlvbnMgYXJlIGlkZW50aXR5IGNv bHVtbnMgdG9vLgogLS0KIENSRUFURSBUQUJMRSBzYWxlc21hbnMoc2FsZXNtYW5faWQgSU5U IEdFTkVSQVRFRCBBTFdBWVMgQVMgSURFTlRJVFkgUFJJTUFSWSBLRVksIHNhbGVzbWFuX25h bWUgVkFSQ0hBUigzMCkpIFBBUlRJVElPTiBCWSBSQU5HRSAoc2FsZXNtYW5faWQpOwogCiBD UkVBVEUgVEFCTEUgc2FsZXNtYW5zMV8yIFBBUlRJVElPTiBPRiBzYWxlc21hbnMgRk9SIFZB TFVFUyBGUk9NICgxKSBUTyAoMik7Ci0tLSBDcmVhdGUgbmV3IHBhcnRpdGlvbiB3aXRoIGlk ZW50aXR5LWNvbHVtbjoKKy0tIENyZWF0ZSBuZXcgcGFydGl0aW9uIHdpdGggaWRlbnRpdHkg Y29sdW1uOgogQ1JFQVRFIFRBQkxFIHNhbGVzbWFuczJfNShzYWxlc21hbl9pZCBJTlQgTk9U IE5VTEwsIHNhbGVzbWFuX25hbWUgVkFSQ0hBUigzMCkpOwogQUxURVIgVEFCTEUgc2FsZXNt YW5zIEFUVEFDSCBQQVJUSVRJT04gc2FsZXNtYW5zMl81IEZPUiBWQUxVRVMgRlJPTSAoMikg VE8gKDUpOwogCkBAIC00ODQsNyArNDg0LDcgQEAgSU5TRVJUIElOVE8gc2FsZXNtYW5zIChz YWxlc21hbl9uYW1lKSBWQUxVRVMgKCdJdmFub3YnKTsKIAogU0VMRUNUIGF0dG5hbWUsIGF0 dGlkZW50aXR5LCBhdHRnZW5lcmF0ZWQgRlJPTSBwZ19hdHRyaWJ1dGUgV0hFUkUgYXR0bnVt ID4gMCBBTkQgYXR0cmVsaWQgPSAnc2FsZXNtYW5zJzo6cmVnY2xhc3M6Om9pZDsKIFNFTEVD VCBhdHRuYW1lLCBhdHRpZGVudGl0eSwgYXR0Z2VuZXJhdGVkIEZST00gcGdfYXR0cmlidXRl IFdIRVJFIGF0dG51bSA+IDAgQU5EIGF0dHJlbGlkID0gJ3NhbGVzbWFuczFfMic6OnJlZ2Ns YXNzOjpvaWQ7Ci0tLSBTcGxpdCBwYXJ0aXRpb24gaGFzIGlkZW50aXR5LWNvbHVtbjoKKy0t IFNwbGl0IHBhcnRpdGlvbiBoYXMgaWRlbnRpdHkgY29sdW1uOgogU0VMRUNUIGF0dG5hbWUs IGF0dGlkZW50aXR5LCBhdHRnZW5lcmF0ZWQgRlJPTSBwZ19hdHRyaWJ1dGUgV0hFUkUgYXR0 bnVtID4gMCBBTkQgYXR0cmVsaWQgPSAnc2FsZXNtYW5zMl81Jzo6cmVnY2xhc3M6Om9pZDsK IAogQUxURVIgVEFCTEUgc2FsZXNtYW5zIFNQTElUIFBBUlRJVElPTiBzYWxlc21hbnMyXzUg SU5UTwpAQCAtNjA5LDcgKzYwOSw3IEBAIENSRUFURSBUQUJMRSBzYWxlc19ub3JkIFBBUlRJ VElPTiBPRiBzYWxlc19saXN0IEZPUiBWQUxVRVMgSU4gKCdPc2xvJywgJ1N0LiBQZXRlCiBD UkVBVEUgVEFCTEUgc2FsZXNfYWxsIFBBUlRJVElPTiBPRiBzYWxlc19saXN0IEZPUiBWQUxV RVMgSU4gKCdXYXJzYXcnLCAnTGlzYm9uJywgJ05ldyBZb3JrJywgJ01hZHJpZCcsICdCZWpp bmcnLCAnQmVybGluJywgJ0RlbGhpJywgJ0t5aXYnLCAnVmxhZGl2b3N0b2snKTsKIENSRUFU RSBUQUJMRSBzYWxlc19vdGhlcnMgUEFSVElUSU9OIE9GIHNhbGVzX2xpc3QgREVGQVVMVDsK IAotLS0gRVJST1I6ICBwYXJ0aXRpb24gInNhbGVzX2Vhc3QiIHdvdWxkIG92ZXJsYXAgcGFy dGl0aW9uICJzYWxlc19ub3JkIgorLS0gRVJST1I6ICBuZXcgcGFydGl0aW9uICJzYWxlc19l YXN0IiB3b3VsZCBvdmVybGFwIHdpdGggYW5vdGhlciAobm90IHNwbGl0KSBwYXJ0aXRpb24g InNhbGVzX25vcmQiCiBBTFRFUiBUQUJMRSBzYWxlc19saXN0IFNQTElUIFBBUlRJVElPTiBz YWxlc19hbGwgSU5UTwogICAoUEFSVElUSU9OIHNhbGVzX3dlc3QgRk9SIFZBTFVFUyBJTiAo J0xpc2JvbicsICdOZXcgWW9yaycsICdNYWRyaWQnKSwKICAgIFBBUlRJVElPTiBzYWxlc19l YXN0IEZPUiBWQUxVRVMgSU4gKCdCZWppbmcnLCAnRGVsaGknLCAnVmxhZGl2b3N0b2snLCAn SGVsc2lua2knKSwKQEAgLTYzMSw4ICs2MzEsOCBAQCBEUk9QIFRBQkxFIHNhbGVzX2xpc3Q7 CiAKIC0tCiAtLSBUZXN0OiB0d28gc3BlY2lmaWMgZXJyb3JzIGZvciBCWSBMSVNUIHBhcnRp dGlvbmluZzoKLS0tICAgKiBuZXcgcGFydGl0aW9ucyBub3QgaGFzIE5VTEwgdmFsdWUgdGhh dCBzcGxpdCBwYXJ0aXRpb24gaGFzLgotLS0gICAqIG5ldyBwYXJ0aXRpb25zIG5vdCBoYXMg YSB2YWx1ZSB0aGF0IHNwbGl0IHBhcnRpdGlvbiBoYXMuCistLSAgICogbmV3IHBhcnRpdGlv bnMgZG8gbm90IGhhdmUgTlVMTCB2YWx1ZSwgd2hpY2ggc3BsaXQgcGFydGl0aW9uIGhhcy4K Ky0tICAgKiBuZXcgcGFydGl0aW9ucyBkbyBub3QgaGF2ZSBhIHZhbHVlIHRoYXQgc3BsaXQg cGFydGl0aW9uIGhhcy4KIC0tCiBDUkVBVEUgVEFCTEUgc2FsZXNfbGlzdAogKHNhbGVzbWFu X2lkIElOVCwKQEAgLTY0NSwxMyArNjQ1LDEzIEBAIFBBUlRJVElPTiBCWSBMSVNUIChzYWxl c19zdGF0ZSk7CiBDUkVBVEUgVEFCTEUgc2FsZXNfbm9yZCBQQVJUSVRJT04gT0Ygc2FsZXNf bGlzdCBGT1IgVkFMVUVTIElOICgnSGVsc2lua2knLCAnU3QuIFBldGVyc2J1cmcnLCAnT3Ns bycpOwogQ1JFQVRFIFRBQkxFIHNhbGVzX2FsbCBQQVJUSVRJT04gT0Ygc2FsZXNfbGlzdCBG T1IgVkFMVUVTIElOICgnV2Fyc2F3JywgJ0xpc2JvbicsICdOZXcgWW9yaycsICdNYWRyaWQn LCAnQmVqaW5nJywgJ0JlcmxpbicsICdEZWxoaScsICdLeWl2JywgJ1ZsYWRpdm9zdG9rJywg TlVMTCk7CiAKLS0tIEVSUk9SOiAgbmV3IHBhcnRpdGlvbnMgbm90IGhhdmUgdmFsdWUgTlVM TCBidXQgc3BsaXQgcGFydGl0aW9uIGhhcworLS0gRVJST1I6ICBuZXcgcGFydGl0aW9ucyBk byBub3QgaGF2ZSB2YWx1ZSBOVUxMIGJ1dCBzcGxpdCBwYXJ0aXRpb24gZG9lcwogQUxURVIg VEFCTEUgc2FsZXNfbGlzdCBTUExJVCBQQVJUSVRJT04gc2FsZXNfYWxsIElOVE8KICAgKFBB UlRJVElPTiBzYWxlc193ZXN0IEZPUiBWQUxVRVMgSU4gKCdMaXNib24nLCAnTmV3IFlvcmsn LCAnTWFkcmlkJyksCiAgICBQQVJUSVRJT04gc2FsZXNfZWFzdCBGT1IgVkFMVUVTIElOICgn QmVqaW5nJywgJ0RlbGhpJywgJ1ZsYWRpdm9zdG9rJyksCiAgICBQQVJUSVRJT04gc2FsZXNf Y2VudHJhbCBGT1IgVkFMVUVTIElOICgnV2Fyc2F3JywgJ0JlcmxpbicsICdLeWl2JykpOwog Ci0tLSBFUlJPUjogIG5ldyBwYXJ0aXRpb25zIG5vdCBoYXZlIHZhbHVlICdLeWl2JyBidXQg c3BsaXQgcGFydGl0aW9uIGhhcworLS0gRVJST1I6ICBuZXcgcGFydGl0aW9ucyBkbyBub3Qg aGF2ZSB2YWx1ZSAnS3lpdicgYnV0IHNwbGl0IHBhcnRpdGlvbiBkb2VzCiBBTFRFUiBUQUJM RSBzYWxlc19saXN0IFNQTElUIFBBUlRJVElPTiBzYWxlc19hbGwgSU5UTwogICAoUEFSVElU SU9OIHNhbGVzX3dlc3QgRk9SIFZBTFVFUyBJTiAoJ0xpc2JvbicsICdOZXcgWW9yaycsICdN YWRyaWQnKSwKICAgIFBBUlRJVElPTiBzYWxlc19lYXN0IEZPUiBWQUxVRVMgSU4gKCdCZWpp bmcnLCAnRGVsaGknLCAnVmxhZGl2b3N0b2snKSwKQEAgLTcwMyw3ICs3MDMsNyBAQCBTRUxF Q1QgKiBGUk9NIHNhbGVzX2Vhc3Q7CiBTRUxFQ1QgKiBGUk9NIHNhbGVzX25vcmQ7CiBTRUxF Q1QgKiBGUk9NIHNhbGVzX2NlbnRyYWw7CiAKLS0tIFVzZSBpbmRleHNjYW4gZm9yIHRlc3Qg aW5kZXhlcyBhZnRlciBzcGxpdCBwYXJ0aXRpb24KKy0tIFVzZSBpbmRleHNjYW4gZm9yIHRl c3RpbmcgaW5kZXhlcyBhZnRlciBzcGxpdHRpbmcgcGFydGl0aW9uCiBTRVQgZW5hYmxlX2lu ZGV4c2NhbiA9IE9OOwogU0VUIGVuYWJsZV9zZXFzY2FuID0gT0ZGOwogCi0tIAoyLjQwLjEu d2luZG93cy4xCgo= --------------Y06tWWfeUGtaoSwWeGZ18tAm--