From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from localhost (localhost [127.0.0.1]) by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTP id 3F70D24E59 for ; Fri, 18 May 2018 12:10:49 -0400 (EDT) Received: from turing.freelists.org ([127.0.0.1]) by localhost (turing.freelists.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id C02Ma-WK62o5 for ; Fri, 18 May 2018 12:10:49 -0400 (EDT) Received: from f345.i.mail.ru (f345.i.mail.ru [217.69.140.241]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTPS id 5F7A724E15 for ; Fri, 18 May 2018 12:10:43 -0400 (EDT) Received: by f345.i.mail.ru with local (envelope-from ) id 1fJhxo-00082c-Ll for tarantool-patches@freelists.org; Fri, 18 May 2018 19:10:40 +0300 From: =?UTF-8?B?0JzQtdGA0LPQtdC9INCY0LzQtdC10LI=?= Subject: [tarantool-patches] =?UTF-8?B?UmU6IFt0YXJhbnRvb2wtcGF0Y2hlc10gUmU6IFtQQVRDSCAxLzFdIHNxbDog?= =?UTF-8?B?SVMgaXMgb25seSBhcHBsaWNhYmxlIHdoZW4gZGVhbGluZyB3aXRoIE5VTEw=?= MIME-Version: 1.0 Date: Fri, 18 May 2018 19:10:40 +0300 Message-ID: <1526659840.883327245@f345.i.mail.ru> Content-Type: multipart/mixed; boundary="----vGN3Ugm2ZWDRlosk17SITTQOGMbbUBmg-tYCWuCaa2S58kW1M-1526659840" In-Reply-To: <10ce4eb3-e380-3007-8811-78d6f4517e1b@tarantool.org> References: <1526642787.218420559@f261.i.mail.ru> <10ce4eb3-e380-3007-8811-78d6f4517e1b@tarantool.org> Sender: tarantool-patches-bounce@freelists.org Errors-to: tarantool-patches-bounce@freelists.org Reply-To: tarantool-patches@freelists.org List-help: List-unsubscribe: List-software: Ecartis version 1.0.0 List-Id: tarantool-patches List-subscribe: List-owner: List-post: List-archive: To: tarantool-patches@freelists.org ------vGN3Ugm2ZWDRlosk17SITTQOGMbbUBmg-tYCWuCaa2S58kW1M-1526659840 Content-Type: multipart/alternative; boundary="--ALT--vGN3Ugm2ZWDRlosk17SITTQOGMbbUBmg1526659840" ----ALT--vGN3Ugm2ZWDRlosk17SITTQOGMbbUBmg1526659840 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 CgoKPtCf0Y/RgtC90LjRhtCwLCAxOCDQvNCw0Y8gMjAxOCwgMTQ6NTUgKzAzOjAwINC+0YIgVmxh ZGlzbGF2IFNocGlsZXZveSA8di5zaHBpbGV2b3lAdGFyYW50b29sLm9yZz46Cj4KPkhlbGxvLiBU aGFua3MgZm9yIHRoZSBwYXRjaCEgSXQgaXMgYWxtb3N0IHBlcmZlY3QhIEJ1dCBsb29rIGF0IG15 IDUgY29tbWVudHMgYmVsb3cuCj4KPk9uIDE4LzA1LzIwMTggMTQ6MjYsINCc0LXRgNCz0LXQvSDQ mNC80LXQtdCyIHdyb3RlOgo+PiAgRnJvbSBhYTU1MjhjZmRkNTRkZWYwYTIzYzZmZDgyMjNkMjgz ZmM4MzRhMWQ2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQo+PiBNZXNzYWdlLUlkOiA8IGFhNTUy OGNmZGQ1NGRlZjBhMjNjNmZkODIyM2QyODNmYzgzNGExZDYuMTUyNjQ3ODE5NS5naXQuaW1lZXZt YUB0YXJhbnRvb2wub3JnID4KPj4gRnJvbTogTWVyZ2VuIEltZWV2IDwgaW1lZXZtYUB0YXJhbnRv b2wub3JnID4KPj4gRGF0ZTogV2VkLCAxNiBNYXkgMjAxOCAxNjozOToyNiArMDMwMAo+Cj4xLiBX aHkgZG8gSSBzZWUgdGhpcyBpbiB0aGUgbWVzc2FnZSBib2R5PyBIb3cgZG8geW91IHNlbmQgbWFp bD8gTWFudWFsbHkgY29weS1wYXN0aW5nIGludG8KPnlvdXIgbWFpbCBjbGllbnQ/IE9yIHZpYSBn aXQgc2VuZC1tYWlsPyBQbGVhc2UsIHVzZSBnaXQgc2VuZC1tYWlsLiBTTVRQIGhlYWRlcnMgbXVz dCBub3QgYmUKPnZpc2libGUgaW4gdGhlIG1lc3NhZ2UgYm9keS4gClVuZGVyc3Rvb2QuIFdpbGwg ZG8gbmV4dCB0aW1lLgo+Cj4KPj4gU3ViamVjdDogW1BBVENIIDEvMV0gc3FsOiBJUyBpcyBvbmx5 IGFwcGxpY2FibGUgd2hlbiBkZWFsaW5nIHdpdGggTlVMTAo+PiAKPj4gQWNjb3JkaW5nIHRvIEFO U0kgU3RhbmRhcmQgSVMvSVMgTk9UIGNhbiBiZSB1c2VkIHRvIGRldGVybWluZQo+PiBpZiB2YWx1 ZXMgaXMgbnVsbC4gQXQgdGhlIHNhbWUgdGltZSBpbiBTUUxpdGUzIElTL0lTIE5PVCBoYXZlIGFu Cj4+IGFkZGl0aW9uYWwgZnVuY3Rpb24gLSBpdCBjYW4gYmUgdXNlZCB0byBjaGVjayBlcXVhbGl0 eSBvZiB0d28KPj4gdmFsdWVzLiBUaGlzIHBhdGNoIHJlbW92ZXMgdGhhdCBhZGRpdGlvbmFsIGZ1 bmN0aW9uLgo+PiAKPj4gQ2xvc2VzICMyMTM2Cj4+IC0tLQo+PiBCcmFuY2g6ICBodHRwczovL2dp dGh1Yi5jb20vdGFyYW50b29sL3RhcmFudG9vbC90cmVlL2doLTIxMzYtYmVoYXZpb3VyLW9mLUlT LWNvcnJlY3RlZAo+PiBJc3N1ZTogIGh0dHBzOi8vZ2l0aHViLmNvbS90YXJhbnRvb2wvdGFyYW50 b29sL2lzc3Vlcy8yMTM2Cj4+IAo+PiAgwqBzcmMvYm94L3NxbC9wYXJzZS55wqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCB8wqAgMzAgKy0tLQo+PiAgwqB0ZXN0L3NxbC10YXAvZV9leHByLnRl c3QubHVhwqDCoMKgwqDCoCB8IDM2NiArKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQo+PiAgwqB0ZXN0L3NxbC10YXAvbHVhX3NxbC50ZXN0Lmx1YcKgwqDCoMKgIHzCoCAxMiAr LQo+PiAgwqB0ZXN0L3NxbC10YXAvbnVsbC50ZXN0Lmx1YcKgwqDCoMKgwqDCoMKgIHzCoCA4OSAr KysrKysrKy0KPj4gIMKgdGVzdC9zcWwtdGFwL3N1YnNlbGVjdC50ZXN0Lmx1YcKgwqAgfMKgwqAg MiArLQo+PiAgwqB0ZXN0L3NxbC10YXAvdHJhbnNpdGl2ZTEudGVzdC5sdWEgfMKgIDQ1ICstLS0t Cj4+ICDCoHRlc3Qvc3FsLXRhcC90eXBlcy50ZXN0Lmx1YcKgwqDCoMKgwqDCoCB8wqDCoCAyICst Cj4+ICDCoHRlc3Qvc3FsLXRhcC90eXBlczIudGVzdC5sdWHCoMKgwqDCoMKgIHzCoMKgIDIgKy0K Pj4gIMKgOCBmaWxlcyBjaGFuZ2VkLCAyMjkgaW5zZXJ0aW9ucygrKSwgMzE5IGRlbGV0aW9ucygt KQo+PiAKPj4gZGlmZiAtLWdpdCBhL3NyYy9ib3gvc3FsL3BhcnNlLnkgYi9zcmMvYm94L3NxbC9w YXJzZS55Cj4+IGluZGV4IDg3MjY0N2QuLjRhZDUxOTUgMTAwNjQ0Cj4+IC0tLSBhL3NyYy9ib3gv c3FsL3BhcnNlLnkKPj4gKysrIGIvc3JjL2JveC9zcWwvcGFyc2UueQo+PiBAQCAtMTAzMiwzNiAr MTAzMiwxMCBAQCBleHByKEEpIDo6PSBleHByKEEpIGxpa2VvcChPUCkgZXhwcihZKSBFU0NBUEUg ZXhwcihFKS7CoCBbTElLRV9LV13CoCB7Cj4+ICDCoMKgIH0KPj4gIMKgfQo+PiAKPj4gLWV4cHIo QSkgOjo9IGV4cHIoQSkgSVNOVUxMfE5PVE5VTEwoRSkuwqDCoCB7c3BhblVuYXJ5UG9zdGZpeChw UGFyc2UsQEUsJkEsJkUpO30KPj4gK2V4cHIoQSkgOjo9IGV4cHIoQSkgSVMgTlVMTChFKS7CoMKg IHtzcGFuVW5hcnlQb3N0Zml4KHBQYXJzZSxUS19JU05VTEwsJkEsJkUpO30KPj4gK2V4cHIoQSkg Ojo9IGV4cHIoQSkgSVMgTk9UIE5VTEwoRSkuwqDCoCB7c3BhblVuYXJ5UG9zdGZpeChwUGFyc2Us VEtfTk9UTlVMTCwmQSwmRSk7fQo+PiAgwqBleHByKEEpIDo6PSBleHByKEEpIE5PVCBOVUxMKEUp LiB7c3BhblVuYXJ5UG9zdGZpeChwUGFyc2UsVEtfTk9UTlVMTCwmQSwmRSk7fQo+Cj4yLiBXaGF0 IGlzICdOT1QgTlVMTCcgd2l0aCBubyAnSVMnLiBJcyBpdCBhbGxvd2VkIGJ5IHRoZSBzdGFuZGFy ZD8gTGV0cyByZW1vdmUgaXQgdG9vLAo+aWYgbm90LiAKRG9uZQo+Cj4KPj4gCj4+IC0laW5jbHVk ZSB7Cj4+IC3CoCAvKiBBIHJvdXRpbmUgdG8gY29udmVydCBhIGJpbmFyeSBUS19JUyBvciBUS19J U05PVCBleHByZXNzaW9uIGludG8gYQo+PiAtwqAgKiogdW5hcnkgVEtfSVNOVUxMIG9yIFRLX05P VE5VTEwgZXhwcmVzc2lvbi4gKi8KPgo+My4gSSBzdGlsbCBjYW4gZ3JlcCBJU05VTEwgdG9rZW4u IE5PVE5VTEwgdG9vLiBUaGV5IG11c3QgYmUgcmVtb3ZlZCBjb21wbGV0ZWx5LCBidXQKPnZlcnkg YWNjdXJhdGVseS4gRm9yIGV4YW1wbGUsIFRLX05VTEwsIFRLX0lTTlVMTCwgVEtfTk9UTlVMTCBh cmUgbm90IHRva2VucywgdGhleQo+YXJlIGlkZW50aWZpZXJzIGZvciAnTlVMTCcsICdJUyBOVUxM JywgYW5kICdJUyBOT1QgTlVMTCcuIEJ1dCBzdHJpbmdzICdJU05VTEwnIGFuZAo+J05PVE5VTEwn IG11c3QgYmUgcmVtb3ZlZC4gRm9yIGV4YW1wbGUsIGxvb2sgZXh0cmEvbWtrZXl3b3JkaGFzaC5j OjE5Ni4gSGVyZSBhbGwgdGhlCj50b2tlbnMgYXJlIHN0b3JlZCBhbmQgdGhlaXIgaWRlbnRpZmll cnMsIHNvICJOT1ROVUxMIiBpcyByZWZsZWN0ZWQgaW50byBUS19OT1ROVUxMLgo+V2UgbXVzdCBy ZW1vdmUgIk5PVE5VTEwiLiBTYW1lIGluIHBhcnNlLnk6MTM3LCAyMTMuCj4KPkluIHRyZWV2aWV3 LmM6NDc1IE5PVE5VTEwgbXVzdCBiZSByZXBsYWNlZCB3aXRoICJOT1QgTlVMTCIuIFNhbWUgaW4g dmRiZWF1eC5jOjE1MDguCj4KPlNhbWUgYWJvdXQgSVNOVUxMLiAKUGFydGlhbGx5IGRvbmUuIE9u ZXMgaW4gcGFyc2UueSB1c2VkIHRvIGdlbmVyYXRlIGlkZW50aWZpZXJzIHRvIG9wZXJhdGlvbnMg J0lTIE5VTEwnIGFuZCAnSVMgTk9UIE5VTEwnCj4KPgo+PiAtwqAgc3RhdGljIHZvaWQgYmluYXJ5 VG9VbmFyeUlmTnVsbChQYXJzZSAqcFBhcnNlLCBFeHByICpwWSwgRXhwciAqcEEsIGludCBvcCl7 Cj4+IC3CoMKgwqAgc3FsaXRlMyAqZGIgPSBwUGFyc2UtPmRiOwo+PiAtwqDCoMKgIGlmKCBwQSAm JiBwWSAmJiBwWS0+b3A9PVRLX05VTEwgKXsKPj4gLcKgwqDCoMKgwqAgcEEtPm9wID0gKHU4KW9w Owo+PiAtwqDCoMKgwqDCoCBzcWxfZXhwcl9mcmVlKGRiLCBwQS0+cFJpZ2h0LCBmYWxzZSk7Cj4+ IC3CoMKgwqDCoMKgIHBBLT5wUmlnaHQgPSAwOwo+PiAtwqDCoMKgIH0KPj4gLcKgIH0KPj4gLX0K Pj4gLQo+PiAtLy/CoMKgwqAgZXhwcjEgSVMgZXhwcjIKPj4gLS8vwqDCoMKgIGV4cHIxIElTIE5P VCBleHByMgo+PiAtLy8KPj4gLS8vIElmIGV4cHIyIGlzIE5VTEwgdGhlbiBjb2RlIGFzIFRLX0lT TlVMTCBvciBUS19OT1ROVUxMLsKgIElmIGV4cHIyCj4+IC0vLyBpcyBhbnkgb3RoZXIgZXhwcmVz c2lvbiwgY29kZSBhcyBUS19JUyBvciBUS19JU05PVC4KPj4gLS8vCj4+IC1leHByKEEpIDo6PSBl eHByKEEpIElTIGV4cHIoWSkuwqDCoMKgwqAgewo+PiAtwqAgc3BhbkJpbmFyeUV4cHIocFBhcnNl LFRLX0lTLCZBLCZZKTsKPj4gLcKgIGJpbmFyeVRvVW5hcnlJZk51bGwocFBhcnNlLCBZLnBFeHBy LCBBLnBFeHByLCBUS19JU05VTEwpOwo+PiAtfQo+PiAtZXhwcihBKSA6Oj0gZXhwcihBKSBJUyBO T1QgZXhwcihZKS4gewo+PiAtwqAgc3BhbkJpbmFyeUV4cHIocFBhcnNlLFRLX0lTTk9ULCZBLCZZ KTsKPj4gLcKgIGJpbmFyeVRvVW5hcnlJZk51bGwocFBhcnNlLCBZLnBFeHByLCBBLnBFeHByLCBU S19OT1ROVUxMKTsKPj4gLX0KPj4gCj4+ICDCoCVpbmNsdWRlIHsKPj4gIMKgwqAgLyogQ29uc3Ry dWN0IGFuIGV4cHJlc3Npb24gbm9kZSBmb3IgYSB1bmFyeSBwcmVmaXggb3BlcmF0b3IKPj4gZGlm ZiAtLWdpdCBhL3Rlc3Qvc3FsLXRhcC9lX2V4cHIudGVzdC5sdWEgYi90ZXN0L3NxbC10YXAvZV9l eHByLnRlc3QubHVhCj4+IGluZGV4IGQwZjY4OTUuLmQzNzgyMjIgMTAwNzU1Cj4+IC0tLSBhL3Rl c3Qvc3FsLXRhcC9lX2V4cHIudGVzdC5sdWEKPj4gKysrIGIvdGVzdC9zcWwtdGFwL2VfZXhwci50 ZXN0Lmx1YQo+PiBAQCAtNTEyLDI1ICs1MTIsMjcgQEAgdGVzdDpkb19leGVjc3FsX3Rlc3QoCj4+ ICDCoMKgwqDCoMKgwqDCoMKgIC0tIDwvZV9leHByLTguMS4yPgo+PiAgwqDCoMKgwqAgfSkKPj4g Cj4+IC10ZXN0OmRvX2V4ZWNzcWxfdGVzdCgKPj4gLcKgwqDCoCAiZV9leHByLTguMS4zIiwKPj4g LcKgwqDCoCBbWwo+PiAtwqDCoMKgwqDCoMKgwqAgU0VMRUNUIE5VTEwgSVPCoMKgwqDCoCAnYWIn Cj4+IC3CoMKgwqAgXV0sIHsKPj4gLcKgwqDCoMKgwqDCoMKgIC0tIDxlX2V4cHItOC4xLjM+Cj4+ IC3CoMKgwqDCoMKgwqDCoCAwCj4+IC3CoMKgwqDCoMKgwqDCoCAtLSA8L2VfZXhwci04LjEuMz4K Pj4gLcKgwqDCoCB9KQo+PiAtCj4+IC10ZXN0OmRvX2V4ZWNzcWxfdGVzdCgKPj4gLcKgwqDCoCAi ZV9leHByLTguMS40IiwKPj4gLcKgwqDCoCBbWwo+PiAtwqDCoMKgwqDCoMKgwqAgU0VMRUNUICdh YicgSVPCoMKgwqDCoCAnYWInCj4+IC3CoMKgwqAgXV0sIHsKPj4gLcKgwqDCoMKgwqDCoMKgIC0t IDxlX2V4cHItOC4xLjQ+Cj4+IC3CoMKgwqDCoMKgwqDCoCAxCj4+IC3CoMKgwqDCoMKgwqDCoCAt LSA8L2VfZXhwci04LjEuND4KPj4gLcKgwqDCoCB9KQo+PiArLS0gZ2gtMjEzNjogQWNjb3JkaW5n IHRvIEFOU0kgU1FMIElTIGNhbiBiZSB1c2VkIG9ubHkgaW4gSVMgTlVMTCBvciBJUyBOT1QgTlVM TAo+Cj40LiBQbGVhc2UsIHJlbW92ZSB0aGUgb2xkIHRlc3RzLCBub3QgY29tbWVudCB0aGVtLiAK RG9uZQo+Cj4+IGRpZmYgLS1naXQgYS90ZXN0L3NxbC10YXAvdHJhbnNpdGl2ZTEudGVzdC5sdWEg Yi90ZXN0L3NxbC10YXAvdHJhbnNpdGl2ZTEudGVzdC5sdWEKPj4gaW5kZXggYmRiOWU5Ny4uZWQz MjM4ZiAxMDA3NTUKPj4gLS0tIGEvdGVzdC9zcWwtdGFwL3RyYW5zaXRpdmUxLnRlc3QubHVhCj4+ ICsrKyBiL3Rlc3Qvc3FsLXRhcC90cmFuc2l0aXZlMS50ZXN0Lmx1YQo+PiBAQCAtMjM0LDM2ICsy MjEsNiBAQCB0ZXN0OmRvX2V4ZWNzcWxfdGVzdCgKPj4gIMKgwqDCoMKgwqDCoMKgwqAgLS0gPC90 cmFuc2l0aXZlMS00MDA+Cj4+ICDCoMKgwqDCoCB9KQo+PiAKPj4gLXRlc3Q6ZG9fZXhlY3NxbF90 ZXN0KAo+PiAtwqDCoMKgICJ0cmFuc2l0aXZlMS00MDEiLAo+PiAtwqDCoMKgIFtbCj4+IC3CoMKg wqDCoMKgwqDCoCBTRUxFQ1QgJzEtcm93JyBGUk9NIHQ0MDEgTEVGVCBKT0lOIHQ0MDIgT04gYiBJ UyBhIEpPSU4gdDQwMyBPTiBjPWE7Cj4+IC3CoMKgwqAgXV0sIHsKPj4gLcKgwqDCoMKgwqDCoMKg IC0tIDx0cmFuc2l0aXZlMS00MDE+Cj4+IC3CoMKgwqDCoMKgwqDCoCAiMS1yb3ciCj4+IC3CoMKg wqDCoMKgwqDCoCAtLSA8L3RyYW5zaXRpdmUxLTQwMT4KPj4gLcKgwqDCoCB9KQo+Cj41LiBBcmUg eW91IHN1cmUgdGhlc2UgdGVzdHMgbXVzdCBiZSByZW1vdmVkPyBMb29rcyBsaWtlIHRoZXkgdGVz dAo+Sk9JTnMsIG5vdCBJUy4gTWF5YmUgaXQgaXMgYmV0dGVyIHRvIGZpeCB0aGVtIHJlcGxhY2lu ZyBJUyB3aXRoICc9JyA/IApUaGVyZSB3ZXJlIGZvdXIgb2YgcHJldHR5IG11Y2ggaWRlbnRpY2Fs IHRlc3RzLiBJIGRlbGV0ZWQgb25lcyB0aGF0IHVzZWQgJ0lTJyBhcyByZXBsYWNlbWVudCB0byAn PScuIE9uZSBsZWZ0Cj4KPgo+PiAtCj4+IC10ZXN0OmRvX2V4ZWNzcWxfdGVzdCgKPj4gLcKgwqDC oCAidHJhbnNpdGl2ZTEtNDAyIiwKPj4gLcKgwqDCoCBbWwo+PiAtwqDCoMKgwqDCoMKgwqAgU0VM RUNUICcxLXJvdycgRlJPTSB0NDAxIExFRlQgSk9JTiB0NDAyIE9OIGI9YSBKT0lOIHQ0MDMgT04g YyBJUyBhOwo+PiAtwqDCoMKgIF1dLCB7Cj4+IC3CoMKgwqDCoMKgwqDCoCAtLSA8dHJhbnNpdGl2 ZTEtNDAyPgo+PiAtwqDCoMKgwqDCoMKgwqAgIjEtcm93Igo+PiAtwqDCoMKgwqDCoMKgwqAgLS0g PC90cmFuc2l0aXZlMS00MDI+Cj4+IC3CoMKgwqAgfSkKPj4gLQo+PiAtdGVzdDpkb19leGVjc3Fs X3Rlc3QoCj4+IC3CoMKgwqAgInRyYW5zaXRpdmUxLTQwMyIsCj4+IC3CoMKgwqAgW1sKPj4gLcKg wqDCoMKgwqDCoMKgIFNFTEVDVCAnMS1yb3cnIEZST00gdDQwMSBMRUZUIEpPSU4gdDQwMiBPTiBi IElTIGEgSk9JTiB0NDAzIE9OIGMgSVMgYTsKPj4gLcKgwqDCoCBdXSwgewo+PiAtwqDCoMKgwqDC oMKgwqAgLS0gPHRyYW5zaXRpdmUxLTQwMz4KPj4gLcKgwqDCoMKgwqDCoMKgICIxLXJvdyIKPj4g LcKgwqDCoMKgwqDCoMKgIC0tIDwvdHJhbnNpdGl2ZTEtNDAzPgo+PiAtwqDCoMKgIH0pCj4+IC0K PgoKUmVzdWx0IG9mICJnaXQgc2hvdyIgY29udGFpbnMgbW9yZSB0aGFuIDE0IDAwMCBsaW5lcyBv ZiB0ZXh0Lgo= ----ALT--vGN3Ugm2ZWDRlosk17SITTQOGMbbUBmg1526659840 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 CjxIVE1MPjxCT0RZPjxicj48YnI+PGJyPjxibG9ja3F1b3RlIHN0eWxlPSJib3JkZXItbGVmdDox cHggc29saWQgIzA4NTdBNjsgbWFyZ2luOjEwcHg7IHBhZGRpbmc6MCAwIDAgMTBweDsiPgoJ0J/R j9GC0L3QuNGG0LAsIDE4INC80LDRjyAyMDE4LCAxNDo1NSArMDM6MDAg0L7RgiBWbGFkaXNsYXYg U2hwaWxldm95ICZsdDt2LnNocGlsZXZveUB0YXJhbnRvb2wub3JnJmd0Ozo8YnI+PGJyPjxkaXYg aWQ9IiI+PGRpdiBjbGFzcz0ianMtaGVscGVyIGpzLXJlYWRtc2ctbXNnIj48ZGl2PjxkaXYgaWQ9 InN0eWxlXzE1MjY2NDQ1MTMwMDAwMDAwNzIxX0JPRFkiPkhlbGxvLiBUaGFua3MgZm9yIHRoZSBw YXRjaCEgSXQgaXMgYWxtb3N0IHBlcmZlY3QhIEJ1dCBsb29rIGF0IG15IDUgY29tbWVudHMgYmVs b3cuPGJyPjxicj4KT24gMTgvMDUvMjAxOCAxNDoyNiwg0JzQtdGA0LPQtdC9INCY0LzQtdC10LIg d3JvdGU6PGJyPgomZ3Q7ICBGcm9tIGFhNTUyOGNmZGQ1NGRlZjBhMjNjNmZkODIyM2QyODNmYzgz NGExZDYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxPGJyPgomZ3Q7IE1lc3NhZ2UtSWQ6ICZsdDs8 YSBocmVmPSJtYWlsdG86YWE1NTI4Y2ZkZDU0ZGVmMGEyM2M2ZmQ4MjIzZDI4M2ZjODM0YTFkNi4x NTI2NDc4MTk1LmdpdC5pbWVldm1hQHRhcmFudG9vbC5vcmciPmFhNTUyOGNmZGQ1NGRlZjBhMjNj NmZkODIyM2QyODNmYzgzNGExZDYuMTUyNjQ3ODE5NS5naXQuaW1lZXZtYUB0YXJhbnRvb2wub3Jn PC9hPiZndDs8YnI+CiZndDsgRnJvbTogTWVyZ2VuIEltZWV2ICZsdDs8YSBocmVmPSJtYWlsdG86 aW1lZXZtYUB0YXJhbnRvb2wub3JnIj5pbWVldm1hQHRhcmFudG9vbC5vcmc8L2E+Jmd0Ozxicj4K Jmd0OyBEYXRlOiBXZWQsIDE2IE1heSAyMDE4IDE2OjM5OjI2ICswMzAwPGJyPjxicj4KMS4gV2h5 IGRvIEkgc2VlIHRoaXMgaW4gdGhlIG1lc3NhZ2UgYm9keT8gSG93IGRvIHlvdSBzZW5kIG1haWw/ IE1hbnVhbGx5IGNvcHktcGFzdGluZyBpbnRvPGJyPgp5b3VyIG1haWwgY2xpZW50PyBPciB2aWEg Z2l0IHNlbmQtbWFpbD8gUGxlYXNlLCB1c2UgZ2l0IHNlbmQtbWFpbC4gU01UUCBoZWFkZXJzIG11 c3Qgbm90IGJlPGJyPgp2aXNpYmxlIGluIHRoZSBtZXNzYWdlIGJvZHkuPC9kaXY+PC9kaXY+PC9k aXY+PC9kaXY+PC9ibG9ja3F1b3RlPlVuZGVyc3Rvb2QuIFdpbGwgZG8gbmV4dCB0aW1lLjxicj48 YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyLWxlZnQ6MXB4IHNvbGlkICMwODU3QTY7IG1hcmdpbjox MHB4OyBwYWRkaW5nOjAgMCAwIDEwcHg7Ij48ZGl2IGlkPSIiPjxkaXYgY2xhc3M9ImpzLWhlbHBl ciBqcy1yZWFkbXNnLW1zZyI+PGRpdj48ZGl2IGlkPSJzdHlsZV8xNTI2NjQ0NTEzMDAwMDAwMDcy MV9CT0RZIj48YnI+PGJyPgomZ3Q7IFN1YmplY3Q6IFtQQVRDSCAxLzFdIHNxbDogSVMgaXMgb25s eSBhcHBsaWNhYmxlIHdoZW4gZGVhbGluZyB3aXRoIE5VTEw8YnI+CiZndDsgPGJyPgomZ3Q7IEFj Y29yZGluZyB0byBBTlNJIFN0YW5kYXJkIElTL0lTIE5PVCBjYW4gYmUgdXNlZCB0byBkZXRlcm1p bmU8YnI+CiZndDsgaWYgdmFsdWVzIGlzIG51bGwuIEF0IHRoZSBzYW1lIHRpbWUgaW4gU1FMaXRl MyBJUy9JUyBOT1QgaGF2ZSBhbjxicj4KJmd0OyBhZGRpdGlvbmFsIGZ1bmN0aW9uIC0gaXQgY2Fu IGJlIHVzZWQgdG8gY2hlY2sgZXF1YWxpdHkgb2YgdHdvPGJyPgomZ3Q7IHZhbHVlcy4gVGhpcyBw YXRjaCByZW1vdmVzIHRoYXQgYWRkaXRpb25hbCBmdW5jdGlvbi48YnI+CiZndDsgPGJyPgomZ3Q7 IENsb3NlcyAjMjEzNjxicj4KJmd0OyAtLS08YnI+CiZndDsgQnJhbmNoOiA8YSBocmVmPSJodHRw czovL2dpdGh1Yi5jb20vdGFyYW50b29sL3RhcmFudG9vbC90cmVlL2doLTIxMzYtYmVoYXZpb3Vy LW9mLUlTLWNvcnJlY3RlZCIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vZ2l0aHViLmNvbS90YXJh bnRvb2wvdGFyYW50b29sL3RyZWUvZ2gtMjEzNi1iZWhhdmlvdXItb2YtSVMtY29ycmVjdGVkPC9h Pjxicj4KJmd0OyBJc3N1ZTogPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3RhcmFudG9vbC90 YXJhbnRvb2wvaXNzdWVzLzIxMzYiIHRhcmdldD0iX2JsYW5rIj5odHRwczovL2dpdGh1Yi5jb20v dGFyYW50b29sL3RhcmFudG9vbC9pc3N1ZXMvMjEzNjwvYT48YnI+CiZndDsgPGJyPgomZ3Q7ICAm bmJzcDtzcmMvYm94L3NxbC9wYXJzZS55Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHwmbmJz cDsgMzAgKy0tLTxicj4KJmd0OyAgJm5ic3A7dGVzdC9zcWwtdGFwL2VfZXhwci50ZXN0Lmx1YSZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB8IDM2NiArKysrKysrKysrKysrKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLTxicj4KJmd0OyAgJm5ic3A7dGVzdC9zcWwtdGFwL2x1YV9zcWwudGVz dC5sdWEmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfCZuYnNwOyAxMiArLTxicj4KJmd0OyAgJm5i c3A7dGVzdC9zcWwtdGFwL251bGwudGVzdC5sdWEmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsgfCZuYnNwOyA4OSArKysrKysrKy08YnI+CiZndDsgICZuYnNwO3Rlc3Qv c3FsLXRhcC9zdWJzZWxlY3QudGVzdC5sdWEmbmJzcDsmbmJzcDsgfCZuYnNwOyZuYnNwOyAyICst PGJyPgomZ3Q7ICAmbmJzcDt0ZXN0L3NxbC10YXAvdHJhbnNpdGl2ZTEudGVzdC5sdWEgfCZuYnNw OyA0NSArLS0tLTxicj4KJmd0OyAgJm5ic3A7dGVzdC9zcWwtdGFwL3R5cGVzLnRlc3QubHVhJm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHwmbmJzcDsmbmJzcDsgMiArLTxicj4K Jmd0OyAgJm5ic3A7dGVzdC9zcWwtdGFwL3R5cGVzMi50ZXN0Lmx1YSZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyB8Jm5ic3A7Jm5ic3A7IDIgKy08YnI+CiZndDsgICZuYnNwOzggZmlsZXMg Y2hhbmdlZCwgMjI5IGluc2VydGlvbnMoKyksIDMxOSBkZWxldGlvbnMoLSk8YnI+CiZndDsgPGJy PgomZ3Q7IGRpZmYgLS1naXQgYS9zcmMvYm94L3NxbC9wYXJzZS55IGIvc3JjL2JveC9zcWwvcGFy c2UueTxicj4KJmd0OyBpbmRleCA4NzI2NDdkLi40YWQ1MTk1IDEwMDY0NDxicj4KJmd0OyAtLS0g YS9zcmMvYm94L3NxbC9wYXJzZS55PGJyPgomZ3Q7ICsrKyBiL3NyYy9ib3gvc3FsL3BhcnNlLnk8 YnI+CiZndDsgQEAgLTEwMzIsMzYgKzEwMzIsMTAgQEAgZXhwcihBKSA6Oj0gZXhwcihBKSBsaWtl b3AoT1ApIGV4cHIoWSkgRVNDQVBFIGV4cHIoRSkuJm5ic3A7IFtMSUtFX0tXXSZuYnNwOyB7PGJy PgomZ3Q7ICAmbmJzcDsmbmJzcDsgfTxicj4KJmd0OyAgJm5ic3A7fTxicj4KJmd0OyA8YnI+CiZn dDsgLWV4cHIoQSkgOjo9IGV4cHIoQSkgSVNOVUxMfE5PVE5VTEwoRSkuJm5ic3A7Jm5ic3A7IHtz cGFuVW5hcnlQb3N0Zml4KHBQYXJzZSxARSwmYW1wO0EsJmFtcDtFKTt9PGJyPgomZ3Q7ICtleHBy KEEpIDo6PSBleHByKEEpIElTIE5VTEwoRSkuJm5ic3A7Jm5ic3A7IHtzcGFuVW5hcnlQb3N0Zml4 KHBQYXJzZSxUS19JU05VTEwsJmFtcDtBLCZhbXA7RSk7fTxicj4KJmd0OyArZXhwcihBKSA6Oj0g ZXhwcihBKSBJUyBOT1QgTlVMTChFKS4mbmJzcDsmbmJzcDsge3NwYW5VbmFyeVBvc3RmaXgocFBh cnNlLFRLX05PVE5VTEwsJmFtcDtBLCZhbXA7RSk7fTxicj4KJmd0OyAgJm5ic3A7ZXhwcihBKSA6 Oj0gZXhwcihBKSBOT1QgTlVMTChFKS4ge3NwYW5VbmFyeVBvc3RmaXgocFBhcnNlLFRLX05PVE5V TEwsJmFtcDtBLCZhbXA7RSk7fTxicj48YnI+CjIuIFdoYXQgaXMgJ05PVCBOVUxMJyB3aXRoIG5v ICdJUycuIElzIGl0IGFsbG93ZWQgYnkgdGhlIHN0YW5kYXJkPyBMZXRzIHJlbW92ZSBpdCB0b28s PGJyPgppZiBub3QuPC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9ibG9ja3F1b3RlPkRvbmU8YnI+ PGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlci1sZWZ0OjFweCBzb2xpZCAjMDg1N0E2OyBtYXJnaW46 MTBweDsgcGFkZGluZzowIDAgMCAxMHB4OyI+PGRpdiBpZD0iIj48ZGl2IGNsYXNzPSJqcy1oZWxw ZXIganMtcmVhZG1zZy1tc2ciPjxkaXY+PGRpdiBpZD0ic3R5bGVfMTUyNjY0NDUxMzAwMDAwMDA3 MjFfQk9EWSI+PGJyPjxicj4KJmd0OyA8YnI+CiZndDsgLSVpbmNsdWRlIHs8YnI+CiZndDsgLSZu YnNwOyAvKiBBIHJvdXRpbmUgdG8gY29udmVydCBhIGJpbmFyeSBUS19JUyBvciBUS19JU05PVCBl eHByZXNzaW9uIGludG8gYTxicj4KJmd0OyAtJm5ic3A7ICoqIHVuYXJ5IFRLX0lTTlVMTCBvciBU S19OT1ROVUxMIGV4cHJlc3Npb24uICovPGJyPjxicj4KMy4gSSBzdGlsbCBjYW4gZ3JlcCBJU05V TEwgdG9rZW4uIE5PVE5VTEwgdG9vLiBUaGV5IG11c3QgYmUgcmVtb3ZlZCBjb21wbGV0ZWx5LCBi dXQ8YnI+CnZlcnkgYWNjdXJhdGVseS4gRm9yIGV4YW1wbGUsIFRLX05VTEwsIFRLX0lTTlVMTCwg VEtfTk9UTlVMTCBhcmUgbm90IHRva2VucywgdGhleTxicj4KYXJlIGlkZW50aWZpZXJzIGZvciAn TlVMTCcsICdJUyBOVUxMJywgYW5kICdJUyBOT1QgTlVMTCcuIEJ1dCBzdHJpbmdzICdJU05VTEwn IGFuZDxicj4KJ05PVE5VTEwnIG11c3QgYmUgcmVtb3ZlZC4gRm9yIGV4YW1wbGUsIGxvb2sgZXh0 cmEvbWtrZXl3b3JkaGFzaC5jOjE5Ni4gSGVyZSBhbGwgdGhlPGJyPgp0b2tlbnMgYXJlIHN0b3Jl ZCBhbmQgdGhlaXIgaWRlbnRpZmllcnMsIHNvICJOT1ROVUxMIiBpcyByZWZsZWN0ZWQgaW50byBU S19OT1ROVUxMLjxicj4KV2UgbXVzdCByZW1vdmUgIk5PVE5VTEwiLiBTYW1lIGluIHBhcnNlLnk6 MTM3LCAyMTMuPGJyPjxicj4KSW4gdHJlZXZpZXcuYzo0NzUgTk9UTlVMTCBtdXN0IGJlIHJlcGxh Y2VkIHdpdGggIk5PVCBOVUxMIi4gU2FtZSBpbiB2ZGJlYXV4LmM6MTUwOC48YnI+PGJyPgpTYW1l IGFib3V0IElTTlVMTC48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L2Jsb2NrcXVvdGU+UGFydGlh bGx5IGRvbmUuIE9uZXMgaW4gcGFyc2UueSB1c2VkIHRvIGdlbmVyYXRlIGlkZW50aWZpZXJzIHRv IG9wZXJhdGlvbnMgJ0lTIE5VTEwnIGFuZCAnSVMgTk9UIE5VTEwnPGJyPjxibG9ja3F1b3RlIHN0 eWxlPSJib3JkZXItbGVmdDoxcHggc29saWQgIzA4NTdBNjsgbWFyZ2luOjEwcHg7IHBhZGRpbmc6 MCAwIDAgMTBweDsiPjxkaXYgaWQ9IiI+PGRpdiBjbGFzcz0ianMtaGVscGVyIGpzLXJlYWRtc2ct bXNnIj48ZGl2PjxkaXYgaWQ9InN0eWxlXzE1MjY2NDQ1MTMwMDAwMDAwNzIxX0JPRFkiPjxicj48 YnI+CiZndDsgLSZuYnNwOyBzdGF0aWMgdm9pZCBiaW5hcnlUb1VuYXJ5SWZOdWxsKFBhcnNlICpw UGFyc2UsIEV4cHIgKnBZLCBFeHByICpwQSwgaW50IG9wKXs8YnI+CiZndDsgLSZuYnNwOyZuYnNw OyZuYnNwOyBzcWxpdGUzICpkYiA9IHBQYXJzZS0mZ3Q7ZGI7PGJyPgomZ3Q7IC0mbmJzcDsmbmJz cDsmbmJzcDsgaWYoIHBBICZhbXA7JmFtcDsgcFkgJmFtcDsmYW1wOyBwWS0mZ3Q7b3A9PVRLX05V TEwgKXs8YnI+CiZndDsgLSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBwQS0mZ3Q7b3Ag PSAodTgpb3A7PGJyPgomZ3Q7IC0mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgc3FsX2V4 cHJfZnJlZShkYiwgcEEtJmd0O3BSaWdodCwgZmFsc2UpOzxicj4KJmd0OyAtJm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7IHBBLSZndDtwUmlnaHQgPSAwOzxicj4KJmd0OyAtJm5ic3A7Jm5i c3A7Jm5ic3A7IH08YnI+CiZndDsgLSZuYnNwOyB9PGJyPgomZ3Q7IC19PGJyPgomZ3Q7IC08YnI+ CiZndDsgLS8vJm5ic3A7Jm5ic3A7Jm5ic3A7IGV4cHIxIElTIGV4cHIyPGJyPgomZ3Q7IC0vLyZu YnNwOyZuYnNwOyZuYnNwOyBleHByMSBJUyBOT1QgZXhwcjI8YnI+CiZndDsgLS8vPGJyPgomZ3Q7 IC0vLyBJZiBleHByMiBpcyBOVUxMIHRoZW4gY29kZSBhcyBUS19JU05VTEwgb3IgVEtfTk9UTlVM TC4mbmJzcDsgSWYgZXhwcjI8YnI+CiZndDsgLS8vIGlzIGFueSBvdGhlciBleHByZXNzaW9uLCBj b2RlIGFzIFRLX0lTIG9yIFRLX0lTTk9ULjxicj4KJmd0OyAtLy88YnI+CiZndDsgLWV4cHIoQSkg Ojo9IGV4cHIoQSkgSVMgZXhwcihZKS4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgezxicj4KJmd0 OyAtJm5ic3A7IHNwYW5CaW5hcnlFeHByKHBQYXJzZSxUS19JUywmYW1wO0EsJmFtcDtZKTs8YnI+ CiZndDsgLSZuYnNwOyBiaW5hcnlUb1VuYXJ5SWZOdWxsKHBQYXJzZSwgWS5wRXhwciwgQS5wRXhw ciwgVEtfSVNOVUxMKTs8YnI+CiZndDsgLX08YnI+CiZndDsgLWV4cHIoQSkgOjo9IGV4cHIoQSkg SVMgTk9UIGV4cHIoWSkuIHs8YnI+CiZndDsgLSZuYnNwOyBzcGFuQmluYXJ5RXhwcihwUGFyc2Us VEtfSVNOT1QsJmFtcDtBLCZhbXA7WSk7PGJyPgomZ3Q7IC0mbmJzcDsgYmluYXJ5VG9VbmFyeUlm TnVsbChwUGFyc2UsIFkucEV4cHIsIEEucEV4cHIsIFRLX05PVE5VTEwpOzxicj4KJmd0OyAtfTxi cj4KJmd0OyA8YnI+CiZndDsgICZuYnNwOyVpbmNsdWRlIHs8YnI+CiZndDsgICZuYnNwOyZuYnNw OyAvKiBDb25zdHJ1Y3QgYW4gZXhwcmVzc2lvbiBub2RlIGZvciBhIHVuYXJ5IHByZWZpeCBvcGVy YXRvcjxicj4KJmd0OyBkaWZmIC0tZ2l0IGEvdGVzdC9zcWwtdGFwL2VfZXhwci50ZXN0Lmx1YSBi L3Rlc3Qvc3FsLXRhcC9lX2V4cHIudGVzdC5sdWE8YnI+CiZndDsgaW5kZXggZDBmNjg5NS4uZDM3 ODIyMiAxMDA3NTU8YnI+CiZndDsgLS0tIGEvdGVzdC9zcWwtdGFwL2VfZXhwci50ZXN0Lmx1YTxi cj4KJmd0OyArKysgYi90ZXN0L3NxbC10YXAvZV9leHByLnRlc3QubHVhPGJyPgomZ3Q7IEBAIC01 MTIsMjUgKzUxMiwyNyBAQCB0ZXN0OmRvX2V4ZWNzcWxfdGVzdCg8YnI+CiZndDsgICZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAtLSAmbHQ7L2VfZXhwci04 LjEuMiZndDs8YnI+CiZndDsgICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB9KTxicj4KJmd0OyA8 YnI+CiZndDsgLXRlc3Q6ZG9fZXhlY3NxbF90ZXN0KDxicj4KJmd0OyAtJm5ic3A7Jm5ic3A7Jm5i c3A7ICJlX2V4cHItOC4xLjMiLDxicj4KJmd0OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7IFtbPGJyPgom Z3Q7IC0mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgU0VMRUNUIE5V TEwgSVMmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJ2FiJzxicj4KJmd0OyAtJm5ic3A7Jm5ic3A7 Jm5ic3A7IF1dLCB7PGJyPgomZ3Q7IC0mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsgLS0gJmx0O2VfZXhwci04LjEuMyZndDs8YnI+CiZndDsgLSZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAwPGJyPgomZ3Q7IC0mbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgLS0gJmx0Oy9lX2V4cHItOC4xLjMmZ3Q7PGJyPgom Z3Q7IC0mbmJzcDsmbmJzcDsmbmJzcDsgfSk8YnI+CiZndDsgLTxicj4KJmd0OyAtdGVzdDpkb19l eGVjc3FsX3Rlc3QoPGJyPgomZ3Q7IC0mbmJzcDsmbmJzcDsmbmJzcDsgImVfZXhwci04LjEuNCIs PGJyPgomZ3Q7IC0mbmJzcDsmbmJzcDsmbmJzcDsgW1s8YnI+CiZndDsgLSZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBTRUxFQ1QgJ2FiJyBJUyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyAnYWInPGJyPgomZ3Q7IC0mbmJzcDsmbmJzcDsmbmJzcDsgXV0sIHs8YnI+CiZn dDsgLSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAtLSAmbHQ7ZV9l eHByLTguMS40Jmd0Ozxicj4KJmd0OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7IDE8YnI+CiZndDsgLSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyAtLSAmbHQ7L2VfZXhwci04LjEuNCZndDs8YnI+CiZndDsgLSZuYnNwOyZuYnNwOyZu YnNwOyB9KTxicj4KJmd0OyArLS0gZ2gtMjEzNjogQWNjb3JkaW5nIHRvIEFOU0kgU1FMIElTIGNh biBiZSB1c2VkIG9ubHkgaW4gSVMgTlVMTCBvciBJUyBOT1QgTlVMTDxicj48YnI+CjQuIFBsZWFz ZSwgcmVtb3ZlIHRoZSBvbGQgdGVzdHMsIG5vdCBjb21tZW50IHRoZW0uPC9kaXY+PC9kaXY+PC9k aXY+PC9kaXY+PC9ibG9ja3F1b3RlPkRvbmU8YnI+PGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlci1s ZWZ0OjFweCBzb2xpZCAjMDg1N0E2OyBtYXJnaW46MTBweDsgcGFkZGluZzowIDAgMCAxMHB4OyI+ PGRpdiBpZD0iIj48ZGl2IGNsYXNzPSJqcy1oZWxwZXIganMtcmVhZG1zZy1tc2ciPjxkaXY+PGRp diBpZD0ic3R5bGVfMTUyNjY0NDUxMzAwMDAwMDA3MjFfQk9EWSI+PGJyPgomZ3Q7IGRpZmYgLS1n aXQgYS90ZXN0L3NxbC10YXAvdHJhbnNpdGl2ZTEudGVzdC5sdWEgYi90ZXN0L3NxbC10YXAvdHJh bnNpdGl2ZTEudGVzdC5sdWE8YnI+CiZndDsgaW5kZXggYmRiOWU5Ny4uZWQzMjM4ZiAxMDA3NTU8 YnI+CiZndDsgLS0tIGEvdGVzdC9zcWwtdGFwL3RyYW5zaXRpdmUxLnRlc3QubHVhPGJyPgomZ3Q7 ICsrKyBiL3Rlc3Qvc3FsLXRhcC90cmFuc2l0aXZlMS50ZXN0Lmx1YTxicj4KJmd0OyBAQCAtMjM0 LDM2ICsyMjEsNiBAQCB0ZXN0OmRvX2V4ZWNzcWxfdGVzdCg8YnI+CiZndDsgICZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAtLSAmbHQ7L3RyYW5zaXRpdmUx LTQwMCZndDs8YnI+CiZndDsgICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB9KTxicj4KJmd0OyA8 YnI+CiZndDsgLXRlc3Q6ZG9fZXhlY3NxbF90ZXN0KDxicj4KJmd0OyAtJm5ic3A7Jm5ic3A7Jm5i c3A7ICJ0cmFuc2l0aXZlMS00MDEiLDxicj4KJmd0OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7IFtbPGJy PgomZ3Q7IC0mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgU0VMRUNU ICcxLXJvdycgRlJPTSB0NDAxIExFRlQgSk9JTiB0NDAyIE9OIGIgSVMgYSBKT0lOIHQ0MDMgT04g Yz1hOzxicj4KJmd0OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7IF1dLCB7PGJyPgomZ3Q7IC0mbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgLS0gJmx0O3RyYW5zaXRpdmUxLTQw MSZndDs8YnI+CiZndDsgLSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyAiMS1yb3ciPGJyPgomZ3Q7IC0mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsgLS0gJmx0Oy90cmFuc2l0aXZlMS00MDEmZ3Q7PGJyPgomZ3Q7IC0mbmJzcDsmbmJzcDsm bmJzcDsgfSk8YnI+PGJyPgo1LiBBcmUgeW91IHN1cmUgdGhlc2UgdGVzdHMgbXVzdCBiZSByZW1v dmVkPyBMb29rcyBsaWtlIHRoZXkgdGVzdDxicj4KSk9JTnMsIG5vdCBJUy4gTWF5YmUgaXQgaXMg YmV0dGVyIHRvIGZpeCB0aGVtIHJlcGxhY2luZyBJUyB3aXRoICc9JyA/PC9kaXY+PC9kaXY+PC9k aXY+PC9kaXY+PC9ibG9ja3F1b3RlPlRoZXJlIHdlcmUgZm91ciBvZiBwcmV0dHkgbXVjaCBpZGVu dGljYWwgdGVzdHMuIEkgZGVsZXRlZCBvbmVzIHRoYXQgdXNlZCAnSVMnIGFzIHJlcGxhY2VtZW50 IHRvICc9Jy4gT25lIGxlZnQ8YnI+PGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlci1sZWZ0OjFweCBz b2xpZCAjMDg1N0E2OyBtYXJnaW46MTBweDsgcGFkZGluZzowIDAgMCAxMHB4OyI+PGRpdiBpZD0i Ij48ZGl2IGNsYXNzPSJqcy1oZWxwZXIganMtcmVhZG1zZy1tc2ciPjxkaXY+PGRpdiBpZD0ic3R5 bGVfMTUyNjY0NDUxMzAwMDAwMDA3MjFfQk9EWSI+PGJyPjxicj4KJmd0OyAtPGJyPgomZ3Q7IC10 ZXN0OmRvX2V4ZWNzcWxfdGVzdCg8YnI+CiZndDsgLSZuYnNwOyZuYnNwOyZuYnNwOyAidHJhbnNp dGl2ZTEtNDAyIiw8YnI+CiZndDsgLSZuYnNwOyZuYnNwOyZuYnNwOyBbWzxicj4KJmd0OyAtJm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFNFTEVDVCAnMS1yb3cnIEZS T00gdDQwMSBMRUZUIEpPSU4gdDQwMiBPTiBiPWEgSk9JTiB0NDAzIE9OIGMgSVMgYTs8YnI+CiZn dDsgLSZuYnNwOyZuYnNwOyZuYnNwOyBdXSwgezxicj4KJmd0OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IC0tICZsdDt0cmFuc2l0aXZlMS00MDImZ3Q7PGJyPgom Z3Q7IC0mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgIjEtcm93Ijxi cj4KJmd0OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IC0tICZs dDsvdHJhbnNpdGl2ZTEtNDAyJmd0Ozxicj4KJmd0OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7IH0pPGJy PgomZ3Q7IC08YnI+CiZndDsgLXRlc3Q6ZG9fZXhlY3NxbF90ZXN0KDxicj4KJmd0OyAtJm5ic3A7 Jm5ic3A7Jm5ic3A7ICJ0cmFuc2l0aXZlMS00MDMiLDxicj4KJmd0OyAtJm5ic3A7Jm5ic3A7Jm5i c3A7IFtbPGJyPgomZ3Q7IC0mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsgU0VMRUNUICcxLXJvdycgRlJPTSB0NDAxIExFRlQgSk9JTiB0NDAyIE9OIGIgSVMgYSBKT0lO IHQ0MDMgT04gYyBJUyBhOzxicj4KJmd0OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7IF1dLCB7PGJyPgom Z3Q7IC0mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgLS0gJmx0O3Ry YW5zaXRpdmUxLTQwMyZndDs8YnI+CiZndDsgLSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyAiMS1yb3ciPGJyPgomZ3Q7IC0mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsgLS0gJmx0Oy90cmFuc2l0aXZlMS00MDMmZ3Q7PGJyPgomZ3Q7IC0m bmJzcDsmbmJzcDsmbmJzcDsgfSk8YnI+CiZndDsgLTxicj48YnI+PC9kaXY+PC9kaXY+PC9kaXY+ PC9kaXY+PC9ibG9ja3F1b3RlPgo8YnI+UmVzdWx0IG9mICJnaXQgc2hvdyIgY29udGFpbnMgbW9y ZSB0aGFuIDE0IDAwMCBsaW5lcyBvZiB0ZXh0Ljxicj48L0JPRFk+PC9IVE1MPgo= ----ALT--vGN3Ugm2ZWDRlosk17SITTQOGMbbUBmg1526659840-- ------vGN3Ugm2ZWDRlosk17SITTQOGMbbUBmg-tYCWuCaa2S58kW1M-1526659840 Content-Type: text/plain; name="=?UTF-8?B?cGF0Y2gudHh0?=" Content-Disposition: attachment; filename="=?UTF-8?B?cGF0Y2gudHh0?=" Content-Transfer-Encoding: base64 Y29tbWl0IDRiYmI5NDEwOWRlZTExNTVhYTM2ZTZiODE0YjkxMjkwM2E4ODFlZGIKQXV0aG9yOiBN ZXJnZW4gSW1lZXYgPGltZWV2bWFAdGFyYW50b29sLm9yZz4KRGF0ZTogICBXZWQgTWF5IDE2IDE2 OjM5OjI2IDIwMTggKzAzMDAKCiAgICBzcWw6IElTIGlzIG9ubHkgYXBwbGljYWJsZSB3aGVuIGRl YWxpbmcgd2l0aCBOVUxMCiAgICAKICAgIEFjY29yZGluZyB0byBBTlNJIFN0YW5kYXJkIElTL0lT IE5PVCBjYW4gYmUgdXNlZCB0byBkZXRlcm1pbmUKICAgIGlmIHZhbHVlcyBpcyBudWxsLiBBdCB0 aGUgc2FtZSB0aW1lIGluIFNRTGl0ZTMgSVMvSVMgTk9UIGhhdmUgYW4KICAgIGFkZGl0aW9uYWwg ZnVuY3Rpb24gLSBpdCBjYW4gYmUgdXNlZCB0byBjaGVjayBlcXVhbGl0eSBvZiB0d28KICAgIHZh bHVlcy4gVGhpcyBmZWF0dXJlIGlzbid0IGNvbW1vbiBmb3IgZGlmZmVyZW50IHZlcnNpb25zIG9m IFNRTAogICAgKG9ubHkgaW4gUEwvU1FMIHJpZ2h0IG9wZXJhbmQgY2FuIGJlIE5PTkUsIFRSVUUg b2YgRkFMU0UpIFRoaXMKICAgIHBhdGNoIHJlbW92ZXMgZGVzY3JpYmVkIGZ1bmN0aW9uLgogICAg CiAgICBDbG9zZXMgIzIxMzYKCmRpZmYgLS1naXQgYS9zcmMvYm94L3NxbC9wYXJzZS55IGIvc3Jj L2JveC9zcWwvcGFyc2UueQppbmRleCA4NzI2NDdkLi4yYzdmMWNlIDEwMDY0NAotLS0gYS9zcmMv Ym94L3NxbC9wYXJzZS55CisrKyBiL3NyYy9ib3gvc3FsL3BhcnNlLnkKQEAgLTEwMzIsMzYgKzEw MzIsOSBAQCBleHByKEEpIDo6PSBleHByKEEpIGxpa2VvcChPUCkgZXhwcihZKSBFU0NBUEUgZXhw cihFKS4gIFtMSUtFX0tXXSAgewogICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgCiB9CiAK LWV4cHIoQSkgOjo9IGV4cHIoQSkgSVNOVUxMfE5PVE5VTEwoRSkuICAge3NwYW5VbmFyeVBvc3Rm aXgocFBhcnNlLEBFLCZBLCZFKTt9Ci1leHByKEEpIDo6PSBleHByKEEpIE5PVCBOVUxMKEUpLiB7 c3BhblVuYXJ5UG9zdGZpeChwUGFyc2UsVEtfTk9UTlVMTCwmQSwmRSk7fQorZXhwcihBKSA6Oj0g ZXhwcihBKSBJUyBOVUxMKEUpLiAgIHtzcGFuVW5hcnlQb3N0Zml4KHBQYXJzZSxUS19JU05VTEws JkEsJkUpO30KK2V4cHIoQSkgOjo9IGV4cHIoQSkgSVMgTk9UIE5VTEwoRSkuICAge3NwYW5VbmFy eVBvc3RmaXgocFBhcnNlLFRLX05PVE5VTEwsJkEsJkUpO30KIAotJWluY2x1ZGUgewotICAvKiBB IHJvdXRpbmUgdG8gY29udmVydCBhIGJpbmFyeSBUS19JUyBvciBUS19JU05PVCBleHByZXNzaW9u IGludG8gYQotICAqKiB1bmFyeSBUS19JU05VTEwgb3IgVEtfTk9UTlVMTCBleHByZXNzaW9uLiAq LwotICBzdGF0aWMgdm9pZCBiaW5hcnlUb1VuYXJ5SWZOdWxsKFBhcnNlICpwUGFyc2UsIEV4cHIg KnBZLCBFeHByICpwQSwgaW50IG9wKXsKLSAgICBzcWxpdGUzICpkYiA9IHBQYXJzZS0+ZGI7Ci0g ICAgaWYoIHBBICYmIHBZICYmIHBZLT5vcD09VEtfTlVMTCApewotICAgICAgcEEtPm9wID0gKHU4 KW9wOwotICAgICAgc3FsX2V4cHJfZnJlZShkYiwgcEEtPnBSaWdodCwgZmFsc2UpOwotICAgICAg cEEtPnBSaWdodCA9IDA7Ci0gICAgfQotICB9Ci19Ci0KLS8vICAgIGV4cHIxIElTIGV4cHIyCi0v LyAgICBleHByMSBJUyBOT1QgZXhwcjIKLS8vCi0vLyBJZiBleHByMiBpcyBOVUxMIHRoZW4gY29k ZSBhcyBUS19JU05VTEwgb3IgVEtfTk9UTlVMTC4gIElmIGV4cHIyCi0vLyBpcyBhbnkgb3RoZXIg ZXhwcmVzc2lvbiwgY29kZSBhcyBUS19JUyBvciBUS19JU05PVC4KLS8vIAotZXhwcihBKSA6Oj0g ZXhwcihBKSBJUyBleHByKFkpLiAgICAgewotICBzcGFuQmluYXJ5RXhwcihwUGFyc2UsVEtfSVMs JkEsJlkpOwotICBiaW5hcnlUb1VuYXJ5SWZOdWxsKHBQYXJzZSwgWS5wRXhwciwgQS5wRXhwciwg VEtfSVNOVUxMKTsKLX0KLWV4cHIoQSkgOjo9IGV4cHIoQSkgSVMgTk9UIGV4cHIoWSkuIHsKLSAg c3BhbkJpbmFyeUV4cHIocFBhcnNlLFRLX0lTTk9ULCZBLCZZKTsKLSAgYmluYXJ5VG9VbmFyeUlm TnVsbChwUGFyc2UsIFkucEV4cHIsIEEucEV4cHIsIFRLX05PVE5VTEwpOwotfQogCiAlaW5jbHVk ZSB7CiAgIC8qIENvbnN0cnVjdCBhbiBleHByZXNzaW9uIG5vZGUgZm9yIGEgdW5hcnkgcHJlZml4 IG9wZXJhdG9yCmRpZmYgLS1naXQgYS9zcmMvYm94L3NxbC90cmVldmlldy5jIGIvc3JjL2JveC9z cWwvdHJlZXZpZXcuYwppbmRleCAxZmY5NDljLi4yZDY2ZGY1IDEwMDY0NAotLS0gYS9zcmMvYm94 L3NxbC90cmVldmlldy5jCisrKyBiL3NyYy9ib3gvc3FsL3RyZWV2aWV3LmMKQEAgLTQ2OSwxMCAr NDY5LDEwIEBAIHNxbGl0ZTNUcmVlVmlld0V4cHIoVHJlZVZpZXcgKiBwVmlldywgY29uc3QgRXhw ciAqIHBFeHByLCB1OCBtb3JlVG9Gb2xsb3cpCiAJCXpVbmlPcCA9ICJOT1QiOwogCQlicmVhazsK IAljYXNlIFRLX0lTTlVMTDoKLQkJelVuaU9wID0gIklTTlVMTCI7CisJCXpVbmlPcCA9ICJJUyBO VUxMIjsKIAkJYnJlYWs7CiAJY2FzZSBUS19OT1ROVUxMOgotCQl6VW5pT3AgPSAiTk9UTlVMTCI7 CisJCXpVbmlPcCA9ICJOT1QgTlVMTCI7CiAJCWJyZWFrOwogCiAJY2FzZSBUS19TUEFOOnsKZGlm ZiAtLWdpdCBhL3NyYy9ib3gvc3FsL3ZkYmVhdXguYyBiL3NyYy9ib3gvc3FsL3ZkYmVhdXguYwpp bmRleCBlNjdmY2FlLi41YzM4NjRlIDEwMDY0NAotLS0gYS9zcmMvYm94L3NxbC92ZGJlYXV4LmMK KysrIGIvc3JjL2JveC9zcWwvdmRiZWF1eC5jCkBAIC0xNTAyLDEwICsxNTAyLDEwIEBAIGRpc3Bs YXlQNEV4cHIoU3RyQWNjdW0gKiBwLCBFeHByICogcEV4cHIpCiAJCXpPcCA9ICJOT1QiOwogCQli cmVhazsKIAljYXNlIFRLX0lTTlVMTDoKLQkJek9wID0gIklTTlVMTCI7CisJCXpPcCA9ICJJUyBO VUxMIjsKIAkJYnJlYWs7CiAJY2FzZSBUS19OT1ROVUxMOgotCQl6T3AgPSAiTk9UTlVMTCI7CisJ CXpPcCA9ICJOT1QgTlVMTCI7CiAJCWJyZWFrOwogCiAJZGVmYXVsdDoKZGlmZiAtLWdpdCBhL3Rl c3Qvc3FsLXRhcC9hbmFseXplMS50ZXN0Lmx1YSBiL3Rlc3Qvc3FsLXRhcC9hbmFseXplMS50ZXN0 Lmx1YQppbmRleCA1ZDkxZDk2Li4zMDhmNmI5IDEwMDc1NQotLS0gYS90ZXN0L3NxbC10YXAvYW5h bHl6ZTEudGVzdC5sdWEKKysrIGIvdGVzdC9zcWwtdGFwL2FuYWx5emUxLnRlc3QubHVhCkBAIC02 NSw3ICs2NSw3IEBAIHRlc3Q6ZG9fZXhlY3NxbF90ZXN0KAogdGVzdDpkb19leGVjc3FsX3Rlc3Qo CiAgICAgImFuYWx5emUtMS43IiwKICAgICBbWwotICAgICAgICBTRUxFQ1QgKiBGUk9NICJfc3Fs X3N0YXQxIiBXSEVSRSAiaWR4IiBOT1QgTlVMTAorICAgICAgICBTRUxFQ1QgKiBGUk9NICJfc3Fs X3N0YXQxIiBXSEVSRSAiaWR4IiBJUyBOT1QgTlVMTAogICAgIF1dLCB7CiAgICAgICAgIC0tIDxh bmFseXplLTEuNz4KICAgICAgICAgLS0gPC9hbmFseXplLTEuNz4KQEAgLTg0LDcgKzg0LDcgQEAg dGVzdDpkb19jYXRjaHNxbF90ZXN0KAogdGVzdDpkb19leGVjc3FsX3Rlc3QoCiAgICAgImFuYWx5 emUtMS45IiwKICAgICBbWwotICAgICAgICBTRUxFQ1QgKiBGUk9NICJfc3FsX3N0YXQxIiBXSEVS RSAiaWR4IiBOT1QgTlVMTAorICAgICAgICBTRUxFQ1QgKiBGUk9NICJfc3FsX3N0YXQxIiBXSEVS RSAiaWR4IiBJUyBOT1QgTlVMTAogICAgIF1dLCB7CiAgICAgICAgIC0tIDxhbmFseXplLTEuOT4K ICAgICAgICAgLS0gPC9hbmFseXplLTEuOT4KZGlmZiAtLWdpdCBhL3Rlc3Qvc3FsLXRhcC9jc2Uu dGVzdC5sdWEgYi90ZXN0L3NxbC10YXAvY3NlLnRlc3QubHVhCmluZGV4IDA0ZWY2NzMuLjM1NDRl ZjYgMTAwNzU1Ci0tLSBhL3Rlc3Qvc3FsLXRhcC9jc2UudGVzdC5sdWEKKysrIGIvdGVzdC9zcWwt dGFwL2NzZS50ZXN0Lmx1YQpAQCAtNDIsNyArNDIsNyBAQCB0ZXN0OmRvX3Rlc3QoCiB0ZXN0OmRv X2V4ZWNzcWxfdGVzdCgKICAgICAiY3NlLTEuMiIsCiAgICAgW1sKLSAgICAgICAgU0VMRUNUIGIs IGIlYiwgYj09YiwgYiE9YiwgYjxiLCBiPD1iLCBiIElTIE5VTEwsIGIgTk9UIE5VTEwsIGIgRlJP TSB0MQorICAgICAgICBTRUxFQ1QgYiwgYiViLCBiPT1iLCBiIT1iLCBiPGIsIGI8PWIsIGIgSVMg TlVMTCwgYiBJUyBOT1QgTlVMTCwgYiBGUk9NIHQxCiAgICAgXV0sIHsKICAgICAgICAgLS0gPGNz ZS0xLjI+CiAgICAgICAgIDExLCAwLCAxLCAwLCAwLCAxLCAwLCAxLCAxMSwgMjEsIDAsIDEsIDAs IDAsIDEsIDAsIDEsIDIxCkBAIC0xNDIsNyArMTQyLDcgQEAgdGVzdDpkb19leGVjc3FsX3Rlc3Qo CiB0ZXN0OmRvX2V4ZWNzcWxfdGVzdCgKICAgICAiY3NlLTEuOCIsCiAgICAgW1sKLSAgICAgICAg U0VMRUNUIGEsIGElYSwgYT09YSwgYSE9YSwgYTxhLCBhPD1hLCBhIElTIE5VTEwsIGEgTk9UIE5V TEwsIGEgRlJPTSB0MQorICAgICAgICBTRUxFQ1QgYSwgYSVhLCBhPT1hLCBhIT1hLCBhPGEsIGE8 PWEsIGEgSVMgTlVMTCwgYSBJUyBOT1QgTlVMTCwgYSBGUk9NIHQxCiAgICAgXV0sIHsKICAgICAg ICAgLS0gPGNzZS0xLjg+CiAgICAgICAgIDEsIDAsIDEsIDAsIDAsIDEsIDAsIDEsIDEsIDIsIDAs IDEsIDAsIDAsIDEsIDAsIDEsIDIKZGlmZiAtLWdpdCBhL3Rlc3Qvc3FsLXRhcC9lX2V4cHIudGVz dC5sdWEgYi90ZXN0L3NxbC10YXAvZV9leHByLnRlc3QubHVhCmluZGV4IGQwZjY4OTUuLjA5NmM1 NmQgMTAwNzU1Ci0tLSBhL3Rlc3Qvc3FsLXRhcC9lX2V4cHIudGVzdC5sdWEKKysrIGIvdGVzdC9z cWwtdGFwL2VfZXhwci50ZXN0Lmx1YQpAQCAtMSw2ICsxLDYgQEAKICMhL3Vzci9iaW4vZW52IHRh cmFudG9vbAogdGVzdCA9IHJlcXVpcmUoInNxbHRlc3RlciIpCi10ZXN0OnBsYW4oMTQ3NTApCit0 ZXN0OnBsYW4oMTI0MzYpCiAKIC0tIS4vdGNsdGVzdHJ1bm5lci5sdWEKIC0tIDIwMTAgSnVseSAx NgpAQCAtOTYsNyArOTYsNyBAQCBvcGVyYXRpb25zID0gewogICAgIHsiKyIsICItIn0sCiAgICAg eyI8PCIsICI+PiIsICImIiwgInwifSwKICAgICB7IjwiLCAiPD0iLCAiPiIsICI+PSJ9LAotICAg IHsiPSIsICI9PSIsICIhPSIsICI8PiIsICJJUyIsICJJUyBOT1QiLCAiTElLRSIsICJHTE9CIn0s IC0tIk1BVENIIiwgIlJFR0VYUCJ9LAorICAgIHsiPSIsICI9PSIsICIhPSIsICI8PiIsICJMSUtF IiwgIkdMT0IifSwgLS0iTUFUQ0giLCAiUkVHRVhQIn0sCiAgICAgeyJBTkQifSwKICAgICB7Ik9S In0sCiB9CkBAIC01MTMsMjYgKzUxMyw2IEBAIHRlc3Q6ZG9fZXhlY3NxbF90ZXN0KAogICAgIH0p CiAKIHRlc3Q6ZG9fZXhlY3NxbF90ZXN0KAotICAgICJlX2V4cHItOC4xLjMiLAotICAgIFtbCi0g ICAgICAgIFNFTEVDVCBOVUxMIElTICAgICAnYWInCi0gICAgXV0sIHsKLSAgICAgICAgLS0gPGVf ZXhwci04LjEuMz4KLSAgICAgICAgMAotICAgICAgICAtLSA8L2VfZXhwci04LjEuMz4KLSAgICB9 KQotCi10ZXN0OmRvX2V4ZWNzcWxfdGVzdCgKLSAgICAiZV9leHByLTguMS40IiwKLSAgICBbWwot ICAgICAgICBTRUxFQ1QgJ2FiJyBJUyAgICAgJ2FiJwotICAgIF1dLCB7Ci0gICAgICAgIC0tIDxl X2V4cHItOC4xLjQ+Ci0gICAgICAgIDEKLSAgICAgICAgLS0gPC9lX2V4cHItOC4xLjQ+Ci0gICAg fSkKLQotdGVzdDpkb19leGVjc3FsX3Rlc3QoCiAgICAgImVfZXhwci04LjEuNSIsCiAgICAgW1sK ICAgICAgICAgU0VMRUNUIE5VTEwgPT0gICAgIE5VTEwKQEAgLTU5MywyNiArNTczLDYgQEAgdGVz dDpkb19leGVjc3FsX3Rlc3QoCiAgICAgfSkKIAogdGVzdDpkb19leGVjc3FsX3Rlc3QoCi0gICAg ImVfZXhwci04LjEuMTEiLAotICAgIFtbCi0gICAgICAgIFNFTEVDVCBOVUxMIElTIE5PVCAnYWIn Ci0gICAgXV0sIHsKLSAgICAgICAgLS0gPGVfZXhwci04LjEuMTE+Ci0gICAgICAgIDEKLSAgICAg ICAgLS0gPC9lX2V4cHItOC4xLjExPgotICAgIH0pCi0KLXRlc3Q6ZG9fZXhlY3NxbF90ZXN0KAot ICAgICJlX2V4cHItOC4xLjEyIiwKLSAgICBbWwotICAgICAgICBTRUxFQ1QgJ2FiJyBJUyBOT1Qg J2FiJwotICAgIF1dLCB7Ci0gICAgICAgIC0tIDxlX2V4cHItOC4xLjEyPgotICAgICAgICAwCi0g ICAgICAgIC0tIDwvZV9leHByLTguMS4xMj4KLSAgICB9KQotCi10ZXN0OmRvX2V4ZWNzcWxfdGVz dCgKICAgICAiZV9leHByLTguMS4xMyIsCiAgICAgW1sKICAgICAgICAgU0VMRUNUIE5VTEwgIT0g ICAgIE5VTEwKQEAgLTY1MiwzMSArNjEyLDYgQEAgdGVzdDpkb19leGVjc3FsX3Rlc3QoCiAgICAg ICAgIC0tIDwvZV9leHByLTguMS4xNj4KICAgICB9KQogCi1mb3IgbjEsIHJocyBpbiBpcGFpcnMo bGl0ZXJhbHMpIGRvCi0gICAgZm9yIG4yLCBsaHMgaW4gaXBhaXJzKGxpdGVyYWxzKSBkbwotICAg ICAgICBsb2NhbCBlcSA9ICIiCi0gICAgICAgIGlmICgocmhzIH49ICJOVUxMIikgYW5kIChsaHMg fj0gIk5VTEwiKSkgdGhlbgotICAgICAgICAgICAgZXEgPSB0ZXN0OmV4ZWNzcWwoc3RyaW5nLmZv cm1hdCgiU0VMRUNUICVzID0gJXMsICVzICE9ICVzIiwgbGhzLCByaHMsIGxocywgcmhzKSkKLSAg ICAgICAgZWxzZQotICAgICAgICAgICAgZXEgPSB7ICgobGhzID09ICJOVUxMIikgYW5kIChyaHMg PT0gIk5VTEwiKSkgYW5kIDEgb3IgMCwgKChsaHMgfj0gIk5VTEwiKSBvciAocmhzIH49ICJOVUxM IikpIGFuZCAxIG9yIDB9Ci0gICAgICAgIGVuZAotICAgICAgICBsb2NhbCBsYWJlbCA9IHN0cmlu Zy5mb3JtYXQoImVfZXhwci04LjIuJXMuJXMiLCBuMSwgbjIpCi0gICAgICAgIHRlc3Q6ZG9fZXhl Y3NxbF90ZXN0KAotICAgICAgICAgICAgbGFiZWwuLiIuMSIsCi0gICAgICAgICAgICBzdHJpbmcu Zm9ybWF0KFtbCi0gICAgICAgICAgICAgICAgU0VMRUNUICVzIElTICVzLCAlcyBJUyBOT1QgJXMK LSAgICAgICAgICAgIF1dLCBsaHMsIHJocywgbGhzLCByaHMpLCBlcSkKLQotICAgICAgICB0ZXN0 OmRvX2V4ZWNzcWxfdGVzdCgKLSAgICAgICAgICAgIGxhYmVsLi4iLjIiLAotICAgICAgICAgICAg c3RyaW5nLmZvcm1hdChbWwotICAgICAgICAgICAgICAgIFNFTEVDVCAoJXMgSVMgJXMpIElTIE5V TEwsICglcyBJUyBOT1QgJXMpIElTIE5VTEwKLSAgICAgICAgICAgIF1dLCBsaHMsIHJocywgbGhz LCByaHMpLCB7Ci0gICAgICAgICAgICAgICAgMCwgMAotICAgICAgICAgICAgfSkKLQotICAgIGVu ZAotZW5kCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIC0tIFJ1biBzb21lIHRlc3RzIG9uIHRoZSBDT0xM QVRFICJ1bmFyeSBwb3N0Zml4IG9wZXJhdG9yIi4KIC0tCkBAIC04MjksMjggKzc2NCw5IEBAIHRl c3Q6ZG9fZXhlY3NxbF90ZXN0KAogICAgICAgICAtLSA8L2VfZXhwci05LjEzPgogICAgIH0pCiAK LXRlc3Q6ZG9fZXhlY3NxbF90ZXN0KAotICAgICJlX2V4cHItOS4xNCIsCi0gICAgW1sKLSAgICAg ICAgU0VMRUNUICAnYWJjZCcgSVMgJ0FCQ0QnICBDT0xMQVRFICJ1bmljb2RlX2NpIgotICAgIF1d LCB7Ci0gICAgICAgIC0tIDxlX2V4cHItOS4xND4KLSAgICAgICAgMQotICAgICAgICAtLSA8L2Vf ZXhwci05LjE0PgotICAgIH0pCi0KLXRlc3Q6ZG9fZXhlY3NxbF90ZXN0KAotICAgICJlX2V4cHIt OS4xNSIsCi0gICAgW1sKLSAgICAgICAgU0VMRUNUICgnYWJjZCcgSVMgJ0FCQ0QnKSBDT0xMQVRF ICJ1bmljb2RlX2NpIgotICAgIF1dLCB7Ci0gICAgICAgIC0tIDxlX2V4cHItOS4xNT4KLSAgICAg ICAgMAotICAgICAgICAtLSA8L2VfZXhwci05LjE1PgotICAgIH0pCiAKIHRlc3Q6ZG9fZXhlY3Nx bF90ZXN0KAotICAgICJlX2V4cHItOS4xNiIsCisgICAgImVfZXhwci05LjE0IiwKICAgICBbWwog ICAgICAgICBTRUxFQ1QgICdhYmNkJyAhPSAnQUJDRCcgICAgICBDT0xMQVRFICJ1bmljb2RlX2Np IgogICAgIF1dLCB7CkBAIC04NjAsNyArNzc2LDcgQEAgdGVzdDpkb19leGVjc3FsX3Rlc3QoCiAg ICAgfSkKIAogdGVzdDpkb19leGVjc3FsX3Rlc3QoCi0gICAgImVfZXhwci05LjE3IiwKKyAgICAi ZV9leHByLTkuMTUiLAogICAgIFtbCiAgICAgICAgIFNFTEVDVCAoJ2FiY2QnICE9ICdBQkNEJykg ICAgIENPTExBVEUgInVuaWNvZGVfY2kiCiAgICAgXV0sIHsKQEAgLTg3MCw3ICs3ODYsNyBAQCB0 ZXN0OmRvX2V4ZWNzcWxfdGVzdCgKICAgICB9KQogCiB0ZXN0OmRvX2V4ZWNzcWxfdGVzdCgKLSAg ICAiZV9leHByLTkuMTgiLAorICAgICJlX2V4cHItOS4xNiIsCiAgICAgW1sKICAgICAgICAgU0VM RUNUICAnYWJjZCcgPD4gJ0FCQ0QnICAgICAgQ09MTEFURSAidW5pY29kZV9jaSIKICAgICBdXSwg ewpAQCAtODgwLDcgKzc5Niw3IEBAIHRlc3Q6ZG9fZXhlY3NxbF90ZXN0KAogICAgIH0pCiAKIHRl c3Q6ZG9fZXhlY3NxbF90ZXN0KAotICAgICJlX2V4cHItOS4xOSIsCisgICAgImVfZXhwci05LjE3 IiwKICAgICBbWwogICAgICAgICBTRUxFQ1QgKCdhYmNkJyA8PiAnQUJDRCcpICAgICBDT0xMQVRF ICJ1bmljb2RlX2NpIgogICAgIF1dLCB7CkBAIC04OTAsMjcgKzgwNiw3IEBAIHRlc3Q6ZG9fZXhl Y3NxbF90ZXN0KAogICAgIH0pCiAKIHRlc3Q6ZG9fZXhlY3NxbF90ZXN0KAotICAgICJlX2V4cHIt OS4yMCIsCi0gICAgW1sKLSAgICAgICAgU0VMRUNUICAnYWJjZCcgSVMgTk9UICdBQkNEJyAgQ09M TEFURSAidW5pY29kZV9jaSIKLSAgICBdXSwgewotICAgICAgICAtLSA8ZV9leHByLTkuMjA+Ci0g ICAgICAgIDAKLSAgICAgICAgLS0gPC9lX2V4cHItOS4yMD4KLSAgICB9KQotCi10ZXN0OmRvX2V4 ZWNzcWxfdGVzdCgKLSAgICAiZV9leHByLTkuMjEiLAotICAgIFtbCi0gICAgICAgIFNFTEVDVCAo J2FiY2QnIElTIE5PVCAnQUJDRCcpIENPTExBVEUgInVuaWNvZGVfY2kiCi0gICAgXV0sIHsKLSAg ICAgICAgLS0gPGVfZXhwci05LjIxPgotICAgICAgICAxCi0gICAgICAgIC0tIDwvZV9leHByLTku MjE+Ci0gICAgfSkKLQotdGVzdDpkb19leGVjc3FsX3Rlc3QoCi0gICAgImVfZXhwci05LjIyIiwK KyAgICAiZV9leHByLTkuMTgiLAogICAgIFtbCiAgICAgICAgIFNFTEVDVCAnYmJiJyBCRVRXRUVO ICdBQUEnIEFORCAnQ0NDJyBDT0xMQVRFICJ1bmljb2RlX2NpIgogICAgIF1dLCB7CkBAIC05MjAs NyArODE2LDcgQEAgdGVzdDpkb19leGVjc3FsX3Rlc3QoCiAgICAgfSkKIAogdGVzdDpkb19leGVj c3FsX3Rlc3QoCi0gICAgImVfZXhwci05LjIzIiwKKyAgICAiZV9leHByLTkuMTkiLAogICAgIFtb CiAgICAgICAgIFNFTEVDVCAoJ2JiYicgQkVUV0VFTiAnQUFBJyBBTkQgJ0NDQycpIENPTExBVEUg InVuaWNvZGVfY2kiCiAgICAgXV0sIHsKQEAgLTE1MTIsMTI4ICsxNDA4LDkwIEBAIGxvY2FsIHRl c3RfY2FzZXMxMiA9ewogICAgIHsxNSwgImNuYW1lIn0sCiAgICAgezE2LCAidGJsbmFtZS5jbmFt ZSJ9LAogCi0gICAgezE4LCAiKyBFWFBSIn0sCi0gICAgezE5LCAiLSBFWFBSIn0sCi0gICAgezIw LCAiTk9UIEVYUFIifSwKLSAgICB7MjEsICJ+IEVYUFIifSwKLQotICAgIHsyMiwgIkVYUFIxIHx8 IEVYUFIyIn0sCi0gICAgezIzLCAiRVhQUjEgKiBFWFBSMiJ9LAotICAgIHsyNCwgIkVYUFIxIC8g RVhQUjIifSwKLSAgICB7MjUsICJFWFBSMSAlIEVYUFIyIn0sCi0gICAgezI2LCAiRVhQUjEgKyBF WFBSMiJ9LAotICAgIHsyNywgIkVYUFIxIC0gRVhQUjIifSwKLSAgICB7MjgsICJFWFBSMSA8PCBF WFBSMiJ9LAotICAgIHsyOSwgIkVYUFIxID4+IEVYUFIyIn0sCi0gICAgezMwLCAiRVhQUjEgJiBF WFBSMiJ9LAotCi0gICAgezMxLCAiRVhQUjEgfCBFWFBSMiJ9LAotICAgIHszMiwgIkVYUFIxIDwg RVhQUjIifSwKLSAgICB7MzMsICJFWFBSMSA8PSBFWFBSMiJ9LAotICAgIHszNCwgIkVYUFIxID4g RVhQUjIifSwKLSAgICB7MzUsICJFWFBSMSA+PSBFWFBSMiJ9LAotICAgIHszNiwgIkVYUFIxID0g RVhQUjIifSwKLSAgICB7MzcsICJFWFBSMSA9PSBFWFBSMiJ9LAotICAgIHszOCwgIkVYUFIxICE9 IEVYUFIyIn0sCi0gICAgezM5LCAiRVhQUjEgPD4gRVhQUjIifSwKLSAgICB7NDAsICJFWFBSMSBJ UyBFWFBSMiJ9LAotICAgIHs0MSwgIkVYUFIxIElTIE5PVCBFWFBSMiJ9LAotICAgIHs0MiwgIkVY UFIxIEFORCBFWFBSMiJ9LAotICAgIHs0MywgIkVYUFIxIE9SIEVYUFIyIn0sCi0KLSAgICB7NDQs ICJjb3VudCgqKSJ9LAotICAgIHs0NSwgImNvdW50KERJU1RJTkNUIEVYUFIpIn0sCi0gICAgezQ2 LCAic3Vic3RyKEVYUFIsIDEwLCAyMCkifSwKLSAgICB7NDcsICJjaGFuZ2VzKCkifSwKLQotICAg IHs0OCwgIiggRVhQUiApIn0sCi0KLSAgICB7NDksICJDQVNUICggRVhQUiBBUyBpbnRlZ2VyICki fSwKLSAgICB7NTAsICJDQVNUICggRVhQUiBBUyAnYWJjZCcgKSJ9LAotICAgIHs1MSwgIkNBU1Qg KCBFWFBSIEFTICdhYiQgJGNkJyApIn0sCi0KLSAgICB7NTIsICJFWFBSIENPTExBVEUgXCJ1bmlj b2RlX2NpXCIifSwKLSAgICB7NTMsICJFWFBSIENPTExBVEUgYmluYXJ5In0sCi0KLSAgICB7NTQs ICJFWFBSMSBMSUtFIEVYUFIyIn0sCi0gICAgezU1LCAiRVhQUjEgTElLRSBFWFBSMiBFU0NBUEUg RVhQUiJ9LAotICAgIHs1NiwgIkVYUFIxIEdMT0IgRVhQUjIifSwKLSAgICB7NTcsICJFWFBSMSBH TE9CIEVYUFIyIEVTQ0FQRSBFWFBSIn0sCi0gICAgezU4LCAiRVhQUjEgUkVHRVhQIEVYUFIyIn0s Ci0gICAgezU5LCAiRVhQUjEgUkVHRVhQIEVYUFIyIEVTQ0FQRSBFWFBSIn0sCi0gICAgezYwLCAi RVhQUjEgTUFUQ0ggRVhQUjIifSwKLSAgICB7NjEsICJFWFBSMSBNQVRDSCBFWFBSMiBFU0NBUEUg RVhQUiJ9LAotICAgIHs2MiwgIkVYUFIxIE5PVCBMSUtFIEVYUFIyIn0sCi0gICAgezYzLCAiRVhQ UjEgTk9UIExJS0UgRVhQUjIgRVNDQVBFIEVYUFIifSwKLSAgICB7NjQsICJFWFBSMSBOT1QgR0xP QiBFWFBSMiJ9LAotICAgIHs2NSwgIkVYUFIxIE5PVCBHTE9CIEVYUFIyIEVTQ0FQRSBFWFBSIn0s Ci0gICAgezY2LCAiRVhQUjEgTk9UIFJFR0VYUCBFWFBSMiJ9LAotICAgIHs2NywgIkVYUFIxIE5P VCBSRUdFWFAgRVhQUjIgRVNDQVBFIEVYUFIifSwKLSAgICB7NjgsICJFWFBSMSBOT1QgTUFUQ0gg RVhQUjIifSwKLSAgICB7NjksICJFWFBSMSBOT1QgTUFUQ0ggRVhQUjIgRVNDQVBFIEVYUFIifSwK LQotICAgIHs3MCwgIkVYUFIgSVNOVUxMIn0sCi0gICAgezcxLCAiRVhQUiBOT1ROVUxMIn0sCi0g ICAgezcyLCAiRVhQUiBOT1QgTlVMTCJ9LAotCi0gICAgezczLCAiRVhQUjEgSVMgRVhQUjIifSwK LSAgICB7NzQsICJFWFBSMSBJUyBOT1QgRVhQUjIifSwKLQotICAgIHs3NSwgIkVYUFIgTk9UIEJF VFdFRU4gRVhQUjEgQU5EIEVYUFIyIn0sCi0gICAgezc2LCAiRVhQUiBCRVRXRUVOIEVYUFIxIEFO RCBFWFBSMiJ9LAotCi0gICAgezc3LCAiRVhQUiBOT1QgSU4gKFNFTEVDVCBjbmFtZSBGUk9NIHRi bG5hbWUpIn0sCi0gICAgezc4LCAiRVhQUiBOT1QgSU4gKDEpIn0sCi0gICAgezc5LCAiRVhQUiBO T1QgSU4gKDEsIDIsIDMpIn0sCi0gICAgezgwLCAiRVhQUiBOT1QgSU4gdGJsbmFtZSJ9LAotICAg IHs4MiwgIkVYUFIgSU4gKFNFTEVDVCBjbmFtZSBGUk9NIHRibG5hbWUpIn0sCi0gICAgezgzLCAi RVhQUiBJTiAoMSkifSwKLSAgICB7ODQsICJFWFBSIElOICgxLCAyLCAzKSJ9LAotICAgIHs4NSwg IkVYUFIgSU4gdGJsbmFtZSJ9LAotICAgIHs1NywgIkVYUFIxIEdMT0IgRVhQUjIgRVNDQVBFIEVY UFIifSwKLSAgICB7NTgsICJFWFBSMSBSRUdFWFAgRVhQUjIifSwKLSAgICB7NTksICJFWFBSMSBS RUdFWFAgRVhQUjIgRVNDQVBFIEVYUFIifSwKLSAgICB7NjAsICJFWFBSMSBNQVRDSCBFWFBSMiJ9 LAotICAgIHs2MSwgIkVYUFIxIE1BVENIIEVYUFIyIEVTQ0FQRSBFWFBSIn0sCi0gICAgezYyLCAi RVhQUjEgTk9UIExJS0UgRVhQUjIifSwKLSAgICB7NjMsICJFWFBSMSBOT1QgTElLRSBFWFBSMiBF U0NBUEUgRVhQUiJ9LAotICAgIHs2NCwgIkVYUFIxIE5PVCBHTE9CIEVYUFIyIn0sCi0gICAgezY1 LCAiRVhQUjEgTk9UIEdMT0IgRVhQUjIgRVNDQVBFIEVYUFIifSwKLSAgICB7NjYsICJFWFBSMSBO T1QgUkVHRVhQIEVYUFIyIn0sCi0gICAgezY3LCAiRVhQUjEgTk9UIFJFR0VYUCBFWFBSMiBFU0NB UEUgRVhQUiJ9LAotICAgIHs2OCwgIkVYUFIxIE5PVCBNQVRDSCBFWFBSMiJ9LAotICAgIHs2OSwg IkVYUFIxIE5PVCBNQVRDSCBFWFBSMiBFU0NBUEUgRVhQUiJ9LAotCi0gICAgezcwLCAiRVhQUiBJ U05VTEwifSwKLSAgICB7NzEsICJFWFBSIE5PVE5VTEwifSwKLSAgICB7NzIsICJFWFBSIE5PVCBO VUxMIn0sCi0KLSAgICB7NzMsICJFWFBSMSBJUyBFWFBSMiJ9LAotICAgIHs3NCwgIkVYUFIxIElT IE5PVCBFWFBSMiJ9LAotCi0gICAgezc1LCAiRVhQUiBOT1QgQkVUV0VFTiBFWFBSMSBBTkQgRVhQ UjIifSwKLSAgICB7NzYsICJFWFBSIEJFVFdFRU4gRVhQUjEgQU5EIEVYUFIyIn0sCi0KLSAgICB7 NzcsICJFWFBSIE5PVCBJTiAoU0VMRUNUIGNuYW1lIEZST00gdGJsbmFtZSkifSwKLSAgICB7Nzgs ICJFWFBSIE5PVCBJTiAoMSkifSwKLSAgICB7NzksICJFWFBSIE5PVCBJTiAoMSwgMiwgMykifSwK LSAgICB7ODAsICJFWFBSIE5PVCBJTiB0YmxuYW1lIn0sCi0gICAgezgyLCAiRVhQUiBJTiAoU0VM RUNUIGNuYW1lIEZST00gdGJsbmFtZSkifSwKLSAgICB7ODMsICJFWFBSIElOICgxKSJ9LAotICAg IHs4NCwgIkVYUFIgSU4gKDEsIDIsIDMpIn0sCi0gICAgezg1LCAiRVhQUiBJTiB0YmxuYW1lIn0s Ci0KLSAgICB7ODcsICJFWElTVFMgKFNFTEVDVCBjbmFtZSBGUk9NIHRibG5hbWUpIn0sCi0gICAg ezg4LCAiTk9UIEVYSVNUUyAoU0VMRUNUIGNuYW1lIEZST00gdGJsbmFtZSkifSwKLQotICAgIHs4 OSwgIkNBU0UgRVhQUiBXSEVOIEVYUFIxIFRIRU4gRVhQUjIgRUxTRSBFWFBSIEVORCJ9LAotICAg IHs5MCwgIkNBU0UgRVhQUiBXSEVOIEVYUFIxIFRIRU4gRVhQUjIgRU5EIn0sCi0gICAgezkxLCAi Q0FTRSBFWFBSIFdIRU4gRVhQUjEgVEhFTiBFWFBSMiBXSEVOIEVYUFIgVEhFTiBFWFBSMSBFTFNF IEVYUFIyIEVORCJ9LAotICAgIHs5MiwgIkNBU0UgRVhQUiBXSEVOIEVYUFIxIFRIRU4gRVhQUjIg V0hFTiBFWFBSIFRIRU4gRVhQUjEgRU5EIn0sCi0gICAgezkzLCAiQ0FTRSBXSEVOIEVYUFIxIFRI RU4gRVhQUjIgRUxTRSBFWFBSIEVORCJ9LAotICAgIHs5NCwgIkNBU0UgV0hFTiBFWFBSMSBUSEVO IEVYUFIyIEVORCJ9LAotICAgIHs5NSwgIkNBU0UgV0hFTiBFWFBSMSBUSEVOIEVYUFIyIFdIRU4g RVhQUiBUSEVOIEVYUFIxIEVMU0UgRVhQUjIgRU5EIn0sCi0gICAgezk2LCAiQ0FTRSBXSEVOIEVY UFIxIFRIRU4gRVhQUjIgV0hFTiBFWFBSIFRIRU4gRVhQUjEgRU5EIn0sCisgICAgezE3LCAiKyBF WFBSIn0sCisgICAgezE4LCAiLSBFWFBSIn0sCisgICAgezE5LCAiTk9UIEVYUFIifSwKKyAgICB7 MjAsICJ+IEVYUFIifSwKKworICAgIHsyMSwgIkVYUFIxIHx8IEVYUFIyIn0sCisgICAgezIyLCAi RVhQUjEgKiBFWFBSMiJ9LAorICAgIHsyMywgIkVYUFIxIC8gRVhQUjIifSwKKyAgICB7MjQsICJF WFBSMSAlIEVYUFIyIn0sCisgICAgezI1LCAiRVhQUjEgKyBFWFBSMiJ9LAorICAgIHsyNiwgIkVY UFIxIC0gRVhQUjIifSwKKyAgICB7MjcsICJFWFBSMSA8PCBFWFBSMiJ9LAorICAgIHsyOCwgIkVY UFIxID4+IEVYUFIyIn0sCisgICAgezI5LCAiRVhQUjEgJiBFWFBSMiJ9LAorCisgICAgezMwLCAi RVhQUjEgfCBFWFBSMiJ9LAorICAgIHszMSwgIkVYUFIxIDwgRVhQUjIifSwKKyAgICB7MzIsICJF WFBSMSA8PSBFWFBSMiJ9LAorICAgIHszMywgIkVYUFIxID4gRVhQUjIifSwKKyAgICB7MzQsICJF WFBSMSA+PSBFWFBSMiJ9LAorICAgIHszNSwgIkVYUFIxID0gRVhQUjIifSwKKyAgICB7MzYsICJF WFBSMSA9PSBFWFBSMiJ9LAorICAgIHszNywgIkVYUFIxICE9IEVYUFIyIn0sCisgICAgezM4LCAi RVhQUjEgPD4gRVhQUjIifSwKKyAgICB7MzksICJFWFBSMSBBTkQgRVhQUjIifSwKKyAgICB7NDAs ICJFWFBSMSBPUiBFWFBSMiJ9LAorCisgICAgezQxLCAiY291bnQoKikifSwKKyAgICB7NDIsICJj b3VudChESVNUSU5DVCBFWFBSKSJ9LAorICAgIHs0MywgInN1YnN0cihFWFBSLCAxMCwgMjApIn0s CisgICAgezQ0LCAiY2hhbmdlcygpIn0sCisKKyAgICB7NDUsICIoIEVYUFIgKSJ9LAorCisgICAg ezQ2LCAiQ0FTVCAoIEVYUFIgQVMgaW50ZWdlciApIn0sCisgICAgezQ3LCAiQ0FTVCAoIEVYUFIg QVMgJ2FiY2QnICkifSwKKyAgICB7NDgsICJDQVNUICggRVhQUiBBUyAnYWIkICRjZCcgKSJ9LAor CisgICAgezQ5LCAiRVhQUiBDT0xMQVRFIFwidW5pY29kZV9jaVwiIn0sCisgICAgezUwLCAiRVhQ UiBDT0xMQVRFIGJpbmFyeSJ9LAorCisgICAgezUxLCAiRVhQUjEgTElLRSBFWFBSMiJ9LAorICAg IHs1MiwgIkVYUFIxIExJS0UgRVhQUjIgRVNDQVBFIEVYUFIifSwKKyAgICB7NTMsICJFWFBSMSBH TE9CIEVYUFIyIn0sCisgICAgezU0LCAiRVhQUjEgR0xPQiBFWFBSMiBFU0NBUEUgRVhQUiJ9LAor ICAgIHs1NSwgIkVYUFIxIFJFR0VYUCBFWFBSMiJ9LAorICAgIHs1NiwgIkVYUFIxIFJFR0VYUCBF WFBSMiBFU0NBUEUgRVhQUiJ9LAorICAgIHs1NywgIkVYUFIxIE1BVENIIEVYUFIyIn0sCisgICAg ezU4LCAiRVhQUjEgTUFUQ0ggRVhQUjIgRVNDQVBFIEVYUFIifSwKKyAgICB7NTksICJFWFBSMSBO T1QgTElLRSBFWFBSMiJ9LAorICAgIHs2MCwgIkVYUFIxIE5PVCBMSUtFIEVYUFIyIEVTQ0FQRSBF WFBSIn0sCisgICAgezYxLCAiRVhQUjEgTk9UIEdMT0IgRVhQUjIifSwKKyAgICB7NjIsICJFWFBS MSBOT1QgR0xPQiBFWFBSMiBFU0NBUEUgRVhQUiJ9LAorICAgIHs2MywgIkVYUFIxIE5PVCBSRUdF WFAgRVhQUjIifSwKKyAgICB7NjQsICJFWFBSMSBOT1QgUkVHRVhQIEVYUFIyIEVTQ0FQRSBFWFBS In0sCisgICAgezY1LCAiRVhQUjEgTk9UIE1BVENIIEVYUFIyIn0sCisgICAgezY2LCAiRVhQUjEg Tk9UIE1BVENIIEVYUFIyIEVTQ0FQRSBFWFBSIn0sCisKKyAgICB7NjcsICJFWFBSIElTIE5VTEwi fSwKKyAgICB7NjgsICJFWFBSIElTIE5PVCBOVUxMIn0sCisKKyAgICB7NjksICJFWFBSIE5PVCBC RVRXRUVOIEVYUFIxIEFORCBFWFBSMiJ9LAorICAgIHs3MCwgIkVYUFIgQkVUV0VFTiBFWFBSMSBB TkQgRVhQUjIifSwKKworICAgIHs3MSwgIkVYUFIgTk9UIElOIChTRUxFQ1QgY25hbWUgRlJPTSB0 YmxuYW1lKSJ9LAorICAgIHs3MiwgIkVYUFIgTk9UIElOICgxKSJ9LAorICAgIHs3MywgIkVYUFIg Tk9UIElOICgxLCAyLCAzKSJ9LAorICAgIHs3NCwgIkVYUFIgTk9UIElOIHRibG5hbWUifSwKKyAg ICB7NzUsICJFWFBSIElOIChTRUxFQ1QgY25hbWUgRlJPTSB0YmxuYW1lKSJ9LAorICAgIHs3Niwg IkVYUFIgSU4gKDEpIn0sCisgICAgezc3LCAiRVhQUiBJTiAoMSwgMiwgMykifSwKKyAgICB7Nzgs ICJFWFBSIElOIHRibG5hbWUifSwKKworICAgIHs3OSwgIkVYSVNUUyAoU0VMRUNUIGNuYW1lIEZS T00gdGJsbmFtZSkifSwKKyAgICB7ODAsICJOT1QgRVhJU1RTIChTRUxFQ1QgY25hbWUgRlJPTSB0 YmxuYW1lKSJ9LAorCisgICAgezgxLCAiQ0FTRSBFWFBSIFdIRU4gRVhQUjEgVEhFTiBFWFBSMiBF TFNFIEVYUFIgRU5EIn0sCisgICAgezgyLCAiQ0FTRSBFWFBSIFdIRU4gRVhQUjEgVEhFTiBFWFBS MiBFTkQifSwKKyAgICB7ODMsICJDQVNFIEVYUFIgV0hFTiBFWFBSMSBUSEVOIEVYUFIyIFdIRU4g RVhQUiBUSEVOIEVYUFIxIEVMU0UgRVhQUjIgRU5EIn0sCisgICAgezg0LCAiQ0FTRSBFWFBSIFdI RU4gRVhQUjEgVEhFTiBFWFBSMiBXSEVOIEVYUFIgVEhFTiBFWFBSMSBFTkQifSwKKyAgICB7ODUs ICJDQVNFIFdIRU4gRVhQUjEgVEhFTiBFWFBSMiBFTFNFIEVYUFIgRU5EIn0sCisgICAgezg2LCAi Q0FTRSBXSEVOIEVYUFIxIFRIRU4gRVhQUjIgRU5EIn0sCisgICAgezg3LCAiQ0FTRSBXSEVOIEVY UFIxIFRIRU4gRVhQUjIgV0hFTiBFWFBSIFRIRU4gRVhQUjEgRUxTRSBFWFBSMiBFTkQifSwKKyAg ICB7ODgsICJDQVNFIFdIRU4gRVhQUjEgVEhFTiBFWFBSMiBXSEVOIEVYUFIgVEhFTiBFWFBSMSBF TkQifSwKIH0KIAogZm9yIF8sIHZhbCBpbiBpcGFpcnModGVzdF9jYXNlczEyKSBkbwpkaWZmIC0t Z2l0IGEvdGVzdC9zcWwtdGFwL2x1YV9zcWwudGVzdC5sdWEgYi90ZXN0L3NxbC10YXAvbHVhX3Nx bC50ZXN0Lmx1YQppbmRleCAxNDQ0ZDIxLi4zOTQ5MjJhIDEwMDc1NQotLS0gYS90ZXN0L3NxbC10 YXAvbHVhX3NxbC50ZXN0Lmx1YQorKysgYi90ZXN0L3NxbC10YXAvbHVhX3NxbC50ZXN0Lmx1YQpA QCAtMSw3ICsxLDcgQEAKICMhL3Vzci9iaW4vZW52IHRhcmFudG9vbAogdGVzdCA9IHJlcXVpcmUo InNxbHRlc3RlciIpCiBOVUxMID0gcmVxdWlyZSgnbXNncGFjaycpLk5VTEwKLXRlc3Q6cGxhbigy NSkKK3Rlc3Q6cGxhbigyNCkKIAogbG9jYWwgZnVuY3Rpb24gZnVuYzEoYSkKICAgICByZXR1cm4g YQpAQCAtMTE4LDE2ICsxMTgsNiBAQCBmb3IgaSA9IDEsICNmcm9tX2x1YV90b19zcWwsIDEgZG8K ICAgICAgICAgezF9KQogZW5kCiAKLWxvY2FsIGZ1bmN0aW9uIGFsbHdheXNfbmlsKCkKLSAgICBy ZXR1cm4gbmlsCi1lbmQKLWJveC5pbnRlcm5hbC5zcWxfY3JlYXRlX2Z1bmN0aW9uKCJhbGx3YXlz X25pbCIsIGFsbHdheXNfbmlsKQotCi10ZXN0OmRvX2V4ZWNzcWxfdGVzdCgKLSAgICAibHVhX3Nx bC0yLjQiLAotICAgICJzZWxlY3QgTlVMTCBpcyBhbGx3YXlzX25pbCgpIiwKLSAgICB7MX0pCi0K IGxvY2FsIGZyb21fbHVhX3RvX3NxbF9iYWQgPSB7CiAgICAgWzFdID0gTlVMTCwKICAgICBbMl0g PSAxMkxMLCAtLSBpdCBpcyBwb3NzaWJsZSB0byBzdXBwb3J0IHRoaXMgdHlwZQpkaWZmIC0tZ2l0 IGEvdGVzdC9zcWwtdGFwL21pbm1heDIudGVzdC5sdWEgYi90ZXN0L3NxbC10YXAvbWlubWF4Mi50 ZXN0Lmx1YQppbmRleCA0NzliMTY2Li5hYjU2ZjFhIDEwMDc1NQotLS0gYS90ZXN0L3NxbC10YXAv bWlubWF4Mi50ZXN0Lmx1YQorKysgYi90ZXN0L3NxbC10YXAvbWlubWF4Mi50ZXN0Lmx1YQpAQCAt NTIxLDcgKzUyMSw3IEBAIHRlc3Q6ZG9fZXhlY3NxbF90ZXN0KAogdGVzdDpkb19leGVjc3FsX3Rl c3QoCiAgICAgIm1pbm1heDItMTAuNSIsCiAgICAgW1sKLSAgICAgICAgREVMRVRFIEZST00gdDYg V0hFUkUgeCBOT1QgTlVMTDsKKyAgICAgICAgREVMRVRFIEZST00gdDYgV0hFUkUgeCBJUyBOT1Qg TlVMTDsKICAgICAgICAgU0VMRUNUIGNvdW50KCopIEZST00gdDY7CiAgICAgXV0sIHsKICAgICAg ICAgLS0gPG1pbm1heDItMTAuNT4KZGlmZiAtLWdpdCBhL3Rlc3Qvc3FsLXRhcC9udWxsLnRlc3Qu bHVhIGIvdGVzdC9zcWwtdGFwL251bGwudGVzdC5sdWEKaW5kZXggZWQ5YTFhYS4uZWUzMDk2MSAx MDA3NTUKLS0tIGEvdGVzdC9zcWwtdGFwL251bGwudGVzdC5sdWEKKysrIGIvdGVzdC9zcWwtdGFw L251bGwudGVzdC5sdWEKQEAgLTEsNiArMSw2IEBACiAjIS91c3IvYmluL2VudiB0YXJhbnRvb2wK IHRlc3QgPSByZXF1aXJlKCJzcWx0ZXN0ZXIiKQotdGVzdDpwbGFuKDM3KQordGVzdDpwbGFuKDQ1 KQogCiAtLSEuL3RjbHRlc3RydW5uZXIubHVhCiAtLSAyMDAxIFNlcHRlbWJlciAxNQpAQCAtNDcw LDQgKzQ3MCw5MSBAQCB0ZXN0OmRvX2V4ZWNzcWxfdGVzdCgKIC0tIH0ge3t9IHggdHdvIHt9IHgg aWl9CiAKIAorLS0gZ2gtMjEzNjogIklTIiBpcyBvbmx5IGFwcGxpY2FibGUgd2hlbiBkZWFsaW5n IHdpdGggTlVMTAorCit0ZXN0OmRvX2V4ZWNzcWxfdGVzdCgKKyAgICAibnVsbC0xMC4xIiwKKyAg ICBbWworICAgICAgICBTRUxFQ1QgMSBXSEVSRSAxIElTIE5VTEw7CisgICAgXV0sIHsKKyAgICAg ICAgLS0gPG51bGwtOC4xNT4KKworICAgICAgICAtLSA8L251bGwtOC4xNT4KKyAgICB9KQorCit0 ZXN0OmRvX2V4ZWNzcWxfdGVzdCgKKyAgICAibnVsbC0xMC4yIiwKKyAgICBbWworICAgICAgICBT RUxFQ1QgMSBXSEVSRSAxIElTIE5PVCBOVUxMOworICAgIF1dLCB7CisgICAgICAgIC0tIDxudWxs LTguMTU+CisgICAgICAgIDEKKyAgICAgICAgLS0gPC9udWxsLTguMTU+CisgICAgfSkKKwordGVz dDpkb19leGVjc3FsX3Rlc3QoCisgICAgIm51bGwtMTAuMyIsCisgICAgW1sKKyAgICAgICAgU0VM RUNUIDEgV0hFUkUgTlVMTCBJUyBOVUxMOworICAgIF1dLCB7CisgICAgICAgIC0tIDxudWxsLTgu MTU+CisgICAgICAgIDEKKyAgICAgICAgLS0gPC9udWxsLTguMTU+CisgICAgfSkKKwordGVzdDpk b19leGVjc3FsX3Rlc3QoCisgICAgIm51bGwtMTAuNCIsCisgICAgW1sKKyAgICAgICAgU0VMRUNU IDEgV0hFUkUgTlVMTCBJUyBOT1QgTlVMTDsKKyAgICBdXSwgeworICAgICAgICAtLSA8bnVsbC04 LjE1PgorCisgICAgICAgIC0tIDwvbnVsbC04LjE1PgorICAgIH0pCisKK3Rlc3Q6ZG9fY2F0Y2hz cWxfdGVzdCgKKyAgICAibnVsbC0xMC41IiwKKyAgICBbWworICAgICAgICBTRUxFQ1QgMSBXSEVS RSAxIElTIDE7CisgICAgXV0sCisgICAgeworICAgIC0tIDxpbmRleC0xLjM+CisgICAgMSwgIm5l YXIgXCIxXCI6IHN5bnRheCBlcnJvciIKKyAgICAtLSA8aW5kZXgtMS4zPgorICAgIH0pCisKK3Rl c3Q6ZG9fY2F0Y2hzcWxfdGVzdCgKKyAgICAibnVsbC0xMC42IiwKKyAgICBbWworICAgICAgICBT RUxFQ1QgMSBXSEVSRSAxIElTIE5PVCAxOworICAgIF1dLAorICAgIHsKKyAgICAtLSA8aW5kZXgt MS4zPgorICAgIDEsICJuZWFyIFwiMVwiOiBzeW50YXggZXJyb3IiCisgICAgLS0gPGluZGV4LTEu Mz4KKyAgICB9KQorCit0ZXN0OmRvX2NhdGNoc3FsX3Rlc3QoCisgICAgIm51bGwtMTAuNyIsCisg ICAgW1sKKyAgICAgICAgU0VMRUNUIDEgV0hFUkUgTlVMTCBJUyAxOworICAgIF1dLAorICAgIHsK KyAgICAtLSA8aW5kZXgtMS4zPgorICAgIDEsICJuZWFyIFwiMVwiOiBzeW50YXggZXJyb3IiCisg ICAgLS0gPGluZGV4LTEuMz4KKyAgICB9KQorCit0ZXN0OmRvX2NhdGNoc3FsX3Rlc3QoCisgICAg Im51bGwtMTAuOCIsCisgICAgW1sKKyAgICAgICAgU0VMRUNUIDEgV0hFUkUgTlVMTCBJUyBOT1Qg MTsKKyAgICBdXSwKKyAgICB7CisgICAgLS0gPGluZGV4LTEuMz4KKyAgICAxLCAibmVhciBcIjFc Ijogc3ludGF4IGVycm9yIgorICAgIC0tIDxpbmRleC0xLjM+CisgICAgfSkKKworCiB0ZXN0OmZp bmlzaF90ZXN0KCkKZGlmZiAtLWdpdCBhL3Rlc3Qvc3FsLXRhcC9zZWxlY3RCLnRlc3QubHVhIGIv dGVzdC9zcWwtdGFwL3NlbGVjdEIudGVzdC5sdWEKaW5kZXggNTY2ZGExOC4uOTI4NTNkYiAxMDA3 NTUKLS0tIGEvdGVzdC9zcWwtdGFwL3NlbGVjdEIudGVzdC5sdWEKKysrIGIvdGVzdC9zcWwtdGFw L3NlbGVjdEIudGVzdC5sdWEKQEAgLTQ5NCw3ICs0OTQsNyBAQCBmb3IgaWkgPSAzLCA2LCAxIGRv CiAgICAgICAgICAgICAgIFNFTEVDVCBhKjEwICsgMC4xLCBmKjEwICsgMC4xIEZST00gdDEgTEVG VCBKT0lOIHQyIE9OIChjPWQpCiAgICAgICAgICAgICAgIFVOSU9OIEFMTAogICAgICAgICAgICAg ICBTRUxFQ1QgYSoxMDAsIGIqMTAwIEZST00gdDEKLSAgICAgICAgICAgICkgV0hFUkUgeSt4IE5P VCBOVUxMIE9SREVSIEJZIDE7CisgICAgICAgICAgICApIFdIRVJFIHkreCBJUyBOT1QgTlVMTCBP UkRFUiBCWSAxOwogICAgICAgICBdXSwgewogICAgICAgICAgICAgNiwgMTgsIDMwLCAyNjAuMiwg NjAwLCAxODAwLCAzMDAwCiAgICAgICAgIH0pCmRpZmYgLS1naXQgYS90ZXN0L3NxbC10YXAvc3Vi c2VsZWN0LnRlc3QubHVhIGIvdGVzdC9zcWwtdGFwL3N1YnNlbGVjdC50ZXN0Lmx1YQppbmRleCAz NmRmOWExLi44MDllYzEyIDEwMDc1NQotLS0gYS90ZXN0L3NxbC10YXAvc3Vic2VsZWN0LnRlc3Qu bHVhCisrKyBiL3Rlc3Qvc3FsLXRhcC9zdWJzZWxlY3QudGVzdC5sdWEKQEAgLTEzNSw3ICsxMzUs NyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgIF1dCiAgICAgICAgIHJldHVybiB0ZXN0OmV4ZWNz cWwgW1sKICAgICAgICAgICAgIFNFTEVDVCB5IGZyb20gdDIgCi0gICAgICAgICAgICBXSEVSRSB4 ID0gKFNFTEVDVCBzdW0oYikgRlJPTSB0MSB3aGVyZSBhIG5vdG51bGwpIC0gKFNFTEVDVCBzdW0o YSkgRlJPTSB0MSkKKyAgICAgICAgICAgIFdIRVJFIHggPSAoU0VMRUNUIHN1bShiKSBGUk9NIHQx IHdoZXJlIGEgaXMgbm90IG51bGwpIC0gKFNFTEVDVCBzdW0oYSkgRlJPTSB0MSkKICAgICAgICAg XV0KICAgICBlbmQsIHsKICAgICAgICAgLS0gPHN1YnNlbGVjdC0xLjU+CmRpZmYgLS1naXQgYS90 ZXN0L3NxbC10YXAvdHJhbnNpdGl2ZTEudGVzdC5sdWEgYi90ZXN0L3NxbC10YXAvdHJhbnNpdGl2 ZTEudGVzdC5sdWEKaW5kZXggYmRiOWU5Ny4uZWQzMjM4ZiAxMDA3NTUKLS0tIGEvdGVzdC9zcWwt dGFwL3RyYW5zaXRpdmUxLnRlc3QubHVhCisrKyBiL3Rlc3Qvc3FsLXRhcC90cmFuc2l0aXZlMS50 ZXN0Lmx1YQpAQCAtMSw2ICsxLDYgQEAKICMhL3Vzci9iaW4vZW52IHRhcmFudG9vbAogdGVzdCA9 IHJlcXVpcmUoInNxbHRlc3RlciIpCi10ZXN0OnBsYW4oMzApCit0ZXN0OnBsYW4oMjYpCiAKIC0t IS4vdGNsdGVzdHJ1bm5lci5sdWEKIC0tIDIwMTMgQXByaWwgMTcKQEAgLTEyNCwxOSArMTI0LDYg QEAgdGVzdDpkb19leGVjc3FsX3Rlc3QoCiAgICAgfSkKIAogdGVzdDpkb19leGVjc3FsX3Rlc3Qo Ci0gICAgInRyYW5zaXRpdmUxLTMwMiIsCi0gICAgW1sKLSAgICAgICAgU0VMRUNUICoKLSAgICAg ICAgICBGUk9NIHQzMDEgQ1JPU1MgSk9JTiB0MzAyCi0gICAgICAgICBXSEVSRSB3IElTIHkgQU5E IHkgSVMgTk9UIE5VTEwKLSAgICAgICAgIE9SREVSIEJZIHc7Ci0gICAgXV0sIHsKLSAgICAgICAg LS0gPHRyYW5zaXRpdmUxLTMwMj4KLSAgICAgICAgMSwgMiwgMSwgMywgMywgNCwgMywgNiwgNSwg NiwgNSwgNwotICAgICAgICAtLSA8L3RyYW5zaXRpdmUxLTMwMj4KLSAgICB9KQotCi10ZXN0OmRv X2V4ZWNzcWxfdGVzdCgKICAgICAidHJhbnNpdGl2ZTEtMzEwIiwKICAgICBbWwogICAgICAgICBT RUxFQ1QgKgpAQCAtMjM0LDM2ICsyMjEsNiBAQCB0ZXN0OmRvX2V4ZWNzcWxfdGVzdCgKICAgICAg ICAgLS0gPC90cmFuc2l0aXZlMS00MDA+CiAgICAgfSkKIAotdGVzdDpkb19leGVjc3FsX3Rlc3Qo Ci0gICAgInRyYW5zaXRpdmUxLTQwMSIsCi0gICAgW1sKLSAgICAgICAgU0VMRUNUICcxLXJvdycg RlJPTSB0NDAxIExFRlQgSk9JTiB0NDAyIE9OIGIgSVMgYSBKT0lOIHQ0MDMgT04gYz1hOwotICAg IF1dLCB7Ci0gICAgICAgIC0tIDx0cmFuc2l0aXZlMS00MDE+Ci0gICAgICAgICIxLXJvdyIKLSAg ICAgICAgLS0gPC90cmFuc2l0aXZlMS00MDE+Ci0gICAgfSkKLQotdGVzdDpkb19leGVjc3FsX3Rl c3QoCi0gICAgInRyYW5zaXRpdmUxLTQwMiIsCi0gICAgW1sKLSAgICAgICAgU0VMRUNUICcxLXJv dycgRlJPTSB0NDAxIExFRlQgSk9JTiB0NDAyIE9OIGI9YSBKT0lOIHQ0MDMgT04gYyBJUyBhOwot ICAgIF1dLCB7Ci0gICAgICAgIC0tIDx0cmFuc2l0aXZlMS00MDI+Ci0gICAgICAgICIxLXJvdyIK LSAgICAgICAgLS0gPC90cmFuc2l0aXZlMS00MDI+Ci0gICAgfSkKLQotdGVzdDpkb19leGVjc3Fs X3Rlc3QoCi0gICAgInRyYW5zaXRpdmUxLTQwMyIsCi0gICAgW1sKLSAgICAgICAgU0VMRUNUICcx LXJvdycgRlJPTSB0NDAxIExFRlQgSk9JTiB0NDAyIE9OIGIgSVMgYSBKT0lOIHQ0MDMgT04gYyBJ UyBhOwotICAgIF1dLCB7Ci0gICAgICAgIC0tIDx0cmFuc2l0aXZlMS00MDM+Ci0gICAgICAgICIx LXJvdyIKLSAgICAgICAgLS0gPC90cmFuc2l0aXZlMS00MDM+Ci0gICAgfSkKLQogLS0gVGhlIGZv bGxvd2luZyBpcyBhIHNjcmlwdCBkaXN0aWxsZWQgZnJvbSB0aGUgWEJNQyBwcm9qZWN0IHdoZXJl IHRoZQogLS0gYnVnIHdhcyBvcmlnaW5hbGx5IGVuY291bnRlcmVkLiAgVGhlIGNvcnJlY3QgYW5z d2VyIGlzIGEgc2luZ2xlIHJvdwogLS0gb2Ygb3V0cHV0LiAgQmVmb3JlIHRoZSBidWcgd2FzIGZp eGVkLCB6ZXJvIHJvd3Mgd2VyZSBnZW5lcmF0ZWQuCmRpZmYgLS1naXQgYS90ZXN0L3NxbC10YXAv dHlwZXMudGVzdC5sdWEgYi90ZXN0L3NxbC10YXAvdHlwZXMudGVzdC5sdWEKaW5kZXggYzEwMmVm ZC4uMWRhMjUxMiAxMDA3NTUKLS0tIGEvdGVzdC9zcWwtdGFwL3R5cGVzLnRlc3QubHVhCisrKyBi L3Rlc3Qvc3FsLXRhcC90eXBlcy50ZXN0Lmx1YQpAQCAtMzA2LDcgKzMwNiw3IEBAIHRlc3Q6ZG9f ZXhlY3NxbF90ZXN0KAogdGVzdDpkb19leGVjc3FsX3Rlc3QoCiAgICAgInR5cGVzLTIuMy4yIiwK ICAgICBbWwotICAgICAgICBTRUxFQ1QgYSBJU05VTEwgRlJPTSB0MzsKKyAgICAgICAgU0VMRUNU IGEgSVMgTlVMTCBGUk9NIHQzOwogICAgIF1dLCB7CiAgICAgICAgIC0tIDx0eXBlcy0yLjMuMj4K ICAgICAgICAgMQpkaWZmIC0tZ2l0IGEvdGVzdC9zcWwtdGFwL3R5cGVzMi50ZXN0Lmx1YSBiL3Rl c3Qvc3FsLXRhcC90eXBlczIudGVzdC5sdWEKaW5kZXggNjEwMzU5My4uMDY4MTdhYSAxMDA3NTUK LS0tIGEvdGVzdC9zcWwtdGFwL3R5cGVzMi50ZXN0Lmx1YQorKysgYi90ZXN0L3NxbC10YXAvdHlw ZXMyLnRlc3QubHVhCkBAIC0yMDEsNyArMjAxLDcgQEAgdGVzdF9ib29sKCJ0eXBlczItNC4yOCIs ICJvMT0nNTAwJyIsICInNTAwLjAnID4gbzEiLCAxKQogLS0gdHlwZXMyLTUuKiAtIFRoZSAnSU4g KHgsIHkuLi4uKScgb3BlcmF0b3Igd2l0aCBubyBpbmRleC4KIC0tIAogLS0gQ29tcGFyZSBsaXRl cmFscyBhZ2FpbnN0IGxpdGVyYWxzIChubyBhZmZpbml0eSBhcHBsaWVkKQotdGVzdF9ib29sKCJ0 eXBlczItNS4xIiwgIiIsICIoTlVMTCBJTiAoJzEwLjAnLCAyMCkpIElTTlVMTCIsIDEpCit0ZXN0 X2Jvb2woInR5cGVzMi01LjEiLCAiIiwgIihOVUxMIElOICgnMTAuMCcsIDIwKSkgSVMgTlVMTCIs IDEpCiB0ZXN0X2Jvb2woInR5cGVzMi01LjIiLCAiIiwgIjEwIElOICgnMTAuMCcsIDIwKSIsIDAp CiB0ZXN0X2Jvb2woInR5cGVzMi01LjMiLCAiIiwgIicxMCcgSU4gKCcxMC4wJywgMjApIiwgMCkK IHRlc3RfYm9vbCgidHlwZXMyLTUuNCIsICIiLCAiMTAgSU4gKDEwLjAsIDIwKSIsIDEpCmRpZmYg LS1naXQgYS90ZXN0L3NxbC10YXAvd2hlcmU3LnRlc3QubHVhIGIvdGVzdC9zcWwtdGFwL3doZXJl Ny50ZXN0Lmx1YQppbmRleCA3NWJiN2I2Li42NjkxZGQwIDEwMDc1NQotLS0gYS90ZXN0L3NxbC10 YXAvd2hlcmU3LnRlc3QubHVhCisrKyBiL3Rlc3Qvc3FsLXRhcC93aGVyZTcudGVzdC5sdWEKQEAg LTQ0OSw3ICs0NDksNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgIFNFTEVDVCBhIEZST00gdDIKICAg ICAgIFdIRVJFIGI9MTA3MAogICAgICAgICAgT1IgKGc9J2VkY2JhenknIEFORCBmIEdMT0IgJ3d4 eXphKicpCi0gICAgICAgICBPUiAoZD49ODkuMCBBTkQgZDw5MC4wIEFORCBkIE5PVCBOVUxMKQor ICAgICAgICAgT1IgKGQ+PTg5LjAgQU5EIGQ8OTAuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAg ICAgIE9SICgoYSBCRVRXRUVOIDE4IEFORCAyMCkgQU5EIGEhPTE5KQogICAgICAgICAgT1IgKGc9 J3Fwb25tbGsnIEFORCBmIEdMT0IgJ25vcHFyKicpCiAgICAgICAgICBPUiAoZz0nZmVkY2Jheicg QU5EIGYgR0xPQiAnc3R1dncqJykKQEAgLTQ2OCw3ICs0NjgsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAg ICAgIFNFTEVDVCBhIEZST00gdDMKICAgICAgIFdIRVJFIGI9MTA3MAogICAgICAgICAgT1IgKGc9 J2VkY2JhenknIEFORCBmIEdMT0IgJ3d4eXphKicpCi0gICAgICAgICBPUiAoZD49ODkuMCBBTkQg ZDw5MC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTg5LjAgQU5EIGQ8OTAuMCBB TkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDE4IEFORCAyMCkgQU5E IGEhPTE5KQogICAgICAgICAgT1IgKGc9J3Fwb25tbGsnIEFORCBmIEdMT0IgJ25vcHFyKicpCiAg ICAgICAgICBPUiAoZz0nZmVkY2JheicgQU5EIGYgR0xPQiAnc3R1dncqJykKQEAgLTQ4NSwxMSAr NDg1LDExIEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVybiBj b3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIKLSAgICAgIFdIRVJFIChk Pj00Ny4wIEFORCBkPDQ4LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49NDcuMCBB TkQgZDw0OC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMzMg QU5EIDM1KSBBTkQgYSE9MzQpCiAgICAgICAgICBPUiAoZz0nZWRjYmF6eScgQU5EIGYgR0xPQiAn dXZ3eHkqJykKICAgICAgICAgIE9SIGI9MjIwCi0gICAgICAgICBPUiAoZD49NzAuMCBBTkQgZDw3 MS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTcwLjAgQU5EIGQ8NzEuMCBBTkQg ZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDY3IEFORCA2OSkgQU5EIGEh PTY4KQogICAgICAgICAgT1IgKGc9J3Fwb25tbGsnIEFORCBmIEdMT0IgJ3BxcnN0KicpCiAgIF1d KQpAQCAtNTA0LDExICs1MDQsMTEgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAg ICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0Mwot ICAgICAgV0hFUkUgKGQ+PTQ3LjAgQU5EIGQ8NDguMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdI RVJFIChkPj00Ny4wIEFORCBkPDQ4LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAo KGEgQkVUV0VFTiAzMyBBTkQgMzUpIEFORCBhIT0zNCkKICAgICAgICAgIE9SIChnPSdlZGNiYXp5 JyBBTkQgZiBHTE9CICd1dnd4eSonKQogICAgICAgICAgT1IgYj0yMjAKLSAgICAgICAgIE9SIChk Pj03MC4wIEFORCBkPDcxLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NzAuMCBB TkQgZDw3MS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNjcg QU5EIDY5KSBBTkQgYSE9NjgpCiAgICAgICAgICBPUiAoZz0ncXBvbm1saycgQU5EIGYgR0xPQiAn cHFyc3QqJykKICAgXV0pCkBAIC02MjQsNyArNjI0LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAg ICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCiAgICAg ICBXSEVSRSAoKGEgQkVUV0VFTiA4IEFORCAxMCkgQU5EIGEhPTkpCi0gICAgICAgICBPUiAoZD49 OTQuMCBBTkQgZDw5NS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTk0LjAgQU5E IGQ8OTUuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDM0IEFO RCAzNikgQU5EIGEhPTM1KQogICAgICAgICAgT1IgYz0xNDAxNAogICAgICAgICAgT1IgYj04MjgK QEAgLTY0MSw3ICs2NDEsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgIHJldHVybiBjb3VudF9z dGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDMKICAgICAgIFdIRVJFICgoYSBCRVRX RUVOIDggQU5EIDEwKSBBTkQgYSE9OSkKLSAgICAgICAgIE9SIChkPj05NC4wIEFORCBkPDk1LjAg QU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49OTQuMCBBTkQgZDw5NS4wIEFORCBkIElT IE5PVCBOVUxMKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMzQgQU5EIDM2KSBBTkQgYSE9MzUp CiAgICAgICAgICBPUiBjPTE0MDE0CiAgICAgICAgICBPUiBiPTgyOApAQCAtNzQ1LDExICs3NDUs MTEgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAgICAgICAgcmV0dXJuIGNvdW50 X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MgotICAgICAgV0hFUkUgKGQ+PTcy LjAgQU5EIGQ8NzMuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChkPj03Mi4wIEFORCBk PDczLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoZz0namloZ2ZlZCcgQU5EIGYg R0xPQiAnd3h5emEqJykKICAgICAgICAgIE9SIGM9MTEwMTEKICAgICAgICAgIE9SIGM9MjAwMjAK LSAgICAgICAgIE9SIChkPj0xOC4wIEFORCBkPDE5LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAg ICBPUiAoZD49MTguMCBBTkQgZDwxOS4wIEFORCBkIElTIE5PVCBOVUxMKQogICBdXSkKICAgICBl bmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjExLjE+CkBAIC03NjIsMTEgKzc2MiwxMSBAQCB0 ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNf c29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQzCi0gICAgICBXSEVSRSAoZD49NzIuMCBBTkQg ZDw3My4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTcyLjAgQU5EIGQ8NzMuMCBB TkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChnPSdqaWhnZmVkJyBBTkQgZiBHTE9CICd3 eHl6YSonKQogICAgICAgICAgT1IgYz0xMTAxMQogICAgICAgICAgT1IgYz0yMDAyMAotICAgICAg ICAgT1IgKGQ+PTE4LjAgQU5EIGQ8MTkuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChk Pj0xOC4wIEFORCBkPDE5LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewog ICAgICAgICAtLSA8d2hlcmU3LTIuMTEuMj4KQEAgLTc3OSwxNiArNzc5LDE2IEBAIHRlc3Q6ZG9f dGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtb CiAgICAgIFNFTEVDVCBhIEZST00gdDIKLSAgICAgIFdIRVJFIChkPj01MC4wIEFORCBkPDUxLjAg QU5EIGQgTk9UIE5VTEwpCi0gICAgICAgICBPUiAoZD49ODMuMCBBTkQgZDw4NC4wIEFORCBkIE5P VCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTUwLjAgQU5EIGQ8NTEuMCBBTkQgZCBJUyBOT1QgTlVM TCkKKyAgICAgICAgIE9SIChkPj04My4wIEFORCBkPDg0LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAg ICAgICAgICBPUiAoZz0ndnV0c3JxcCcgQU5EIGYgR0xPQiAncnN0dXYqJykKICAgICAgICAgIE9S IGI9NzkyCiAgICAgICAgICBPUiBhPTk3Ci0gICAgICAgICBPUiAoZD49ODcuMCBBTkQgZDw4OC4w IEFORCBkIE5PVCBOVUxMKQotICAgICAgICAgT1IgKGQ+PTgxLjAgQU5EIGQ8ODIuMCBBTkQgZCBO T1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj04Ny4wIEFORCBkPDg4LjAgQU5EIGQgSVMgTk9UIE5V TEwpCisgICAgICAgICBPUiAoZD49ODEuMCBBTkQgZDw4Mi4wIEFORCBkIElTIE5PVCBOVUxMKQog ICAgICAgICAgT1IgYj05MTYKICAgICAgICAgIE9SIGE9NjkKLSAgICAgICAgIE9SIChkPj0zMS4w IEFORCBkPDMyLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MzEuMCBBTkQgZDwz Mi4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYz02MDA2CiAgIF1dKQogICAgIGVu ZCwgewpAQCAtODAyLDE2ICs4MDIsMTYgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9uKCkK ICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0 MwotICAgICAgV0hFUkUgKGQ+PTUwLjAgQU5EIGQ8NTEuMCBBTkQgZCBOT1QgTlVMTCkKLSAgICAg ICAgIE9SIChkPj04My4wIEFORCBkPDg0LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAo ZD49NTAuMCBBTkQgZDw1MS4wIEFORCBkIElTIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTgz LjAgQU5EIGQ8ODQuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChnPSd2dXRzcnFw JyBBTkQgZiBHTE9CICdyc3R1dionKQogICAgICAgICAgT1IgYj03OTIKICAgICAgICAgIE9SIGE9 OTcKLSAgICAgICAgIE9SIChkPj04Ny4wIEFORCBkPDg4LjAgQU5EIGQgTk9UIE5VTEwpCi0gICAg ICAgICBPUiAoZD49ODEuMCBBTkQgZDw4Mi4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1Ig KGQ+PTg3LjAgQU5EIGQ8ODguMCBBTkQgZCBJUyBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj04 MS4wIEFORCBkPDgyLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTkxNgogICAg ICAgICAgT1IgYT02OQotICAgICAgICAgT1IgKGQ+PTMxLjAgQU5EIGQ8MzIuMCBBTkQgZCBOT1Qg TlVMTCkKKyAgICAgICAgIE9SIChkPj0zMS4wIEFORCBkPDMyLjAgQU5EIGQgSVMgTk9UIE5VTEwp CiAgICAgICAgICBPUiBjPTYwMDYKICAgXV0pCiAgICAgZW5kLCB7CkBAIC04NzAsNyArODcwLDcg QEAgdGVzdDpkb190ZXN0KAogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAg ICBTRUxFQ1QgYSBGUk9NIHQyCiAgICAgICBXSEVSRSAoKGEgQkVUV0VFTiA0NyBBTkQgNDkpIEFO RCBhIT00OCkKLSAgICAgICAgIE9SIChkPj00OC4wIEFORCBkPDQ5LjAgQU5EIGQgTk9UIE5VTEwp CisgICAgICAgICBPUiAoZD49NDguMCBBTkQgZDw0OS4wIEFORCBkIElTIE5PVCBOVUxMKQogICBd XSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjE0LjE+CkBAIC04ODQsNyArODg0 LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwog ICAgICBTRUxFQ1QgYSBGUk9NIHQzCiAgICAgICBXSEVSRSAoKGEgQkVUV0VFTiA0NyBBTkQgNDkp IEFORCBhIT00OCkKLSAgICAgICAgIE9SIChkPj00OC4wIEFORCBkPDQ5LjAgQU5EIGQgTk9UIE5V TEwpCisgICAgICAgICBPUiAoZD49NDguMCBBTkQgZDw0OS4wIEFORCBkIElTIE5PVCBOVUxMKQog ICBdXSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjE0LjI+CkBAIC05MzAsNyAr OTMwLDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChb WwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCiAgICAgICBXSEVSRSBiPTkzOAotICAgICAgICAgT1Ig KGQ+PTY3LjAgQU5EIGQ8NjguMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj02Ny4w IEFORCBkPDY4LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoZz0ndnV0c3JxcCcg QU5EIGYgR0xPQiAncnN0dXYqJykKICAgXV0pCiAgICAgZW5kLCB7CkBAIC05NDUsNyArOTQ1LDcg QEAgdGVzdDpkb190ZXN0KAogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAg ICBTRUxFQ1QgYSBGUk9NIHQzCiAgICAgICBXSEVSRSBiPTkzOAotICAgICAgICAgT1IgKGQ+PTY3 LjAgQU5EIGQ8NjguMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj02Ny4wIEFORCBk PDY4LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoZz0ndnV0c3JxcCcgQU5EIGYg R0xPQiAncnN0dXYqJykKICAgXV0pCiAgICAgZW5kLCB7CkBAIC05NTksMTAgKzk1OSwxMCBAQCB0 ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNf c29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCi0gICAgICBXSEVSRSAoZD49NjguMCBBTkQg ZDw2OS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTY4LjAgQU5EIGQ8NjkuMCBB TkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGY9J3phYmNkZWZnaCcKICAgICAgICAgIE9S IGI9MzA4Ci0gICAgICAgICBPUiAoZD49MTYuMCBBTkQgZDwxNy4wIEFORCBkIE5PVCBOVUxMKQor ICAgICAgICAgT1IgKGQ+PTE2LjAgQU5EIGQ8MTcuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAg ICAgIE9SIChnPSdzcnFwb25tJyBBTkQgZiBHTE9CICdkZWZnaConKQogICAgICAgICAgT1IgKChh IEJFVFdFRU4gMTUgQU5EIDE3KSBBTkQgYSE9MTYpCiAgICAgICAgICBPUiBiPTQ0MwpAQCAtOTgx LDEwICs5ODEsMTAgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAgICAgICAgcmV0 dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MwotICAgICAgV0hF UkUgKGQ+PTY4LjAgQU5EIGQ8NjkuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChkPj02 OC4wIEFORCBkPDY5LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBmPSd6YWJjZGVm Z2gnCiAgICAgICAgICBPUiBiPTMwOAotICAgICAgICAgT1IgKGQ+PTE2LjAgQU5EIGQ8MTcuMCBB TkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0xNi4wIEFORCBkPDE3LjAgQU5EIGQgSVMg Tk9UIE5VTEwpCiAgICAgICAgICBPUiAoZz0nc3JxcG9ubScgQU5EIGYgR0xPQiAnZGVmZ2gqJykK ICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDE1IEFORCAxNykgQU5EIGEhPTE2KQogICAgICAgICAg T1IgYj00NDMKQEAgLTEwMDMsOSArMTAwMyw5IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlv bigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZS T00gdDIKLSAgICAgIFdIRVJFIChkPj00Ni4wIEFORCBkPDQ3LjAgQU5EIGQgTk9UIE5VTEwpCisg ICAgICBXSEVSRSAoZD49NDYuMCBBTkQgZDw0Ny4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAg ICAgT1IgYj03NjIKLSAgICAgICAgIE9SIChkPj01Ni4wIEFORCBkPDU3LjAgQU5EIGQgTk9UIE5V TEwpCisgICAgICAgICBPUiAoZD49NTYuMCBBTkQgZDw1Ny4wIEFORCBkIElTIE5PVCBOVUxMKQog ICAgICAgICAgT1IgYT0xOQogICBdXSkKICAgICBlbmQsIHsKQEAgLTEwMTksOSArMTAxOSw5IEBA IHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVw c19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDMKLSAgICAgIFdIRVJFIChkPj00Ni4wIEFO RCBkPDQ3LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49NDYuMCBBTkQgZDw0Ny4w IEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj03NjIKLSAgICAgICAgIE9SIChkPj01 Ni4wIEFORCBkPDU3LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NTYuMCBBTkQg ZDw1Ny4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYT0xOQogICBdXSkKICAgICBl bmQsIHsKQEAgLTEwMzUsNyArMTAzNSw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigp CiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00g dDIKLSAgICAgIFdIRVJFIChkPj02My4wIEFORCBkPDY0LjAgQU5EIGQgTk9UIE5VTEwpCisgICAg ICBXSEVSRSAoZD49NjMuMCBBTkQgZDw2NC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAg T1IgYT00NgogICAgICAgICAgT1IgKGc9J3l4d3Z1dHMnIEFORCBmIEdMT0IgJ2NkZWZnKicpCiAg ICAgICAgICBPUiBhPTczCkBAIC0xMDU2LDcgKzEwNTYsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAg ZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxF Q1QgYSBGUk9NIHQzCi0gICAgICBXSEVSRSAoZD49NjMuMCBBTkQgZDw2NC4wIEFORCBkIE5PVCBO VUxMKQorICAgICAgV0hFUkUgKGQ+PTYzLjAgQU5EIGQ8NjQuMCBBTkQgZCBJUyBOT1QgTlVMTCkK ICAgICAgICAgIE9SIGE9NDYKICAgICAgICAgIE9SIChnPSd5eHd2dXRzJyBBTkQgZiBHTE9CICdj ZGVmZyonKQogICAgICAgICAgT1IgYT03MwpAQCAtMTEwNiwxNSArMTEwNiwxNSBAQCB0ZXN0OmRv X3Rlc3QoCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBh IEZST00gdDIKICAgICAgIFdIRVJFIGM9MTMwMTMKLSAgICAgICAgIE9SIChkPj01NS4wIEFORCBk PDU2LjAgQU5EIGQgTk9UIE5VTEwpCi0gICAgICAgICBPUiAoZD49NzUuMCBBTkQgZDw3Ni4wIEFO RCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTU1LjAgQU5EIGQ8NTYuMCBBTkQgZCBJUyBO T1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj03NS4wIEFORCBkPDc2LjAgQU5EIGQgSVMgTk9UIE5V TEwpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA4NyBBTkQgODkpIEFORCBhIT04OCkKICAgICAg ICAgIE9SIGY9J2JjZGVmZ2hpaicKICAgICAgICAgIE9SIGI9NTg2CiAgICAgICAgICBPUiAoZz0n ZWRjYmF6eScgQU5EIGYgR0xPQiAndXZ3eHkqJykKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDU5 IEFORCA2MSkgQU5EIGEhPTYwKQogICAgICAgICAgT1IgKGc9J21sa2ppaGcnIEFORCBmIEdMT0Ig J2doaWprKicpCi0gICAgICAgICBPUiAoZD49Ni4wIEFORCBkPDcuMCBBTkQgZCBOT1QgTlVMTCkK KyAgICAgICAgIE9SIChkPj02LjAgQU5EIGQ8Ny4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAg ICAgT1IgYT05CiAgIF1dKQogICAgIGVuZCwgewpAQCAtMTEyOSwxNSArMTEyOSwxNSBAQCB0ZXN0 OmRvX3Rlc3QoCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVD VCBhIEZST00gdDMKICAgICAgIFdIRVJFIGM9MTMwMTMKLSAgICAgICAgIE9SIChkPj01NS4wIEFO RCBkPDU2LjAgQU5EIGQgTk9UIE5VTEwpCi0gICAgICAgICBPUiAoZD49NzUuMCBBTkQgZDw3Ni4w IEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTU1LjAgQU5EIGQ8NTYuMCBBTkQgZCBJ UyBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj03NS4wIEFORCBkPDc2LjAgQU5EIGQgSVMgTk9U IE5VTEwpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA4NyBBTkQgODkpIEFORCBhIT04OCkKICAg ICAgICAgIE9SIGY9J2JjZGVmZ2hpaicKICAgICAgICAgIE9SIGI9NTg2CiAgICAgICAgICBPUiAo Zz0nZWRjYmF6eScgQU5EIGYgR0xPQiAndXZ3eHkqJykKICAgICAgICAgIE9SICgoYSBCRVRXRUVO IDU5IEFORCA2MSkgQU5EIGEhPTYwKQogICAgICAgICAgT1IgKGc9J21sa2ppaGcnIEFORCBmIEdM T0IgJ2doaWprKicpCi0gICAgICAgICBPUiAoZD49Ni4wIEFORCBkPDcuMCBBTkQgZCBOT1QgTlVM TCkKKyAgICAgICAgIE9SIChkPj02LjAgQU5EIGQ8Ny4wIEFORCBkIElTIE5PVCBOVUxMKQogICAg ICAgICAgT1IgYT05CiAgIF1dKQogICAgIGVuZCwgewpAQCAtMTE1Myw5ICsxMTUzLDkgQEAgdGVz dDpkb190ZXN0KAogICAgICBTRUxFQ1QgYSBGUk9NIHQyCiAgICAgICBXSEVSRSBiPTM5OQogICAg ICAgICAgT1IgYz0yODAyOAotICAgICAgICAgT1IgKGQ+PTgyLjAgQU5EIGQ8ODMuMCBBTkQgZCBO T1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj04Mi4wIEFORCBkPDgzLjAgQU5EIGQgSVMgTk9UIE5V TEwpCiAgICAgICAgICBPUiAoZz0ncXBvbm1saycgQU5EIGYgR0xPQiAncXJzdHUqJykKLSAgICAg ICAgIE9SIChkPj05OC4wIEFORCBkPDk5LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAo ZD49OTguMCBBTkQgZDw5OS4wIEFORCBkIElTIE5PVCBOVUxMKQogICBdXSkKICAgICBlbmQsIHsK ICAgICAgICAgLS0gPHdoZXJlNy0yLjIyLjE+CkBAIC0xMTcwLDkgKzExNzAsOSBAQCB0ZXN0OmRv X3Rlc3QoCiAgICAgIFNFTEVDVCBhIEZST00gdDMKICAgICAgIFdIRVJFIGI9Mzk5CiAgICAgICAg ICBPUiBjPTI4MDI4Ci0gICAgICAgICBPUiAoZD49ODIuMCBBTkQgZDw4My4wIEFORCBkIE5PVCBO VUxMKQorICAgICAgICAgT1IgKGQ+PTgyLjAgQU5EIGQ8ODMuMCBBTkQgZCBJUyBOT1QgTlVMTCkK ICAgICAgICAgIE9SIChnPSdxcG9ubWxrJyBBTkQgZiBHTE9CICdxcnN0dSonKQotICAgICAgICAg T1IgKGQ+PTk4LjAgQU5EIGQ8OTkuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj05 OC4wIEFORCBkPDk5LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAg ICAgICAtLSA8d2hlcmU3LTIuMjIuMj4KQEAgLTEyNjYsNyArMTI2Niw3IEBAIHRlc3Q6ZG9fdGVz dCgKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJP TSB0MgogICAgICAgV0hFUkUgYz01MDA1Ci0gICAgICAgICBPUiAoZD49Mi4wIEFORCBkPDMuMCBB TkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0yLjAgQU5EIGQ8My4wIEFORCBkIElTIE5P VCBOVUxMKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMzYgQU5EIDM4KSBBTkQgYSE9MzcpCiAg ICAgICAgICBPUiAoZz0ncG9ubWxraicgQU5EIGYgR0xPQiAndnd4eXoqJykKICAgXV0pCkBAIC0x MjgyLDcgKzEyODIsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVw c19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDMKICAgICAgIFdIRVJFIGM9NTAwNQotICAg ICAgICAgT1IgKGQ+PTIuMCBBTkQgZDwzLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAo ZD49Mi4wIEFORCBkPDMuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SICgoYSBCRVRX RUVOIDM2IEFORCAzOCkgQU5EIGEhPTM3KQogICAgICAgICAgT1IgKGc9J3Bvbm1sa2onIEFORCBm IEdMT0IgJ3Z3eHl6KicpCiAgIF1dKQpAQCAtMTI5Nyw3ICsxMjk3LDcgQEAgdGVzdDpkb190ZXN0 KAogICAgIGZ1bmN0aW9uKCkKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAg ICAgU0VMRUNUIGEgRlJPTSB0MgotICAgICAgV0hFUkUgKGQ+PTMwLjAgQU5EIGQ8MzEuMCBBTkQg ZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChkPj0zMC4wIEFORCBkPDMxLjAgQU5EIGQgSVMgTk9U IE5VTEwpCiAgICAgICAgICBPUiAoZz0nbWxramloZycgQU5EIGYgR0xPQiAnZ2hpamsqJykKICAg ICAgICAgIE9SICgoYSBCRVRXRUVOIDY0IEFORCA2NikgQU5EIGEhPTY1KQogICAgICAgICAgT1Ig KGc9J2tqaWhnZmUnIEFORCBmIEdMT0IgJ3Fyc3R1KicpCkBAIC0xMzE0LDcgKzEzMTQsNyBAQCB0 ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNf c29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQzCi0gICAgICBXSEVSRSAoZD49MzAuMCBBTkQg ZDwzMS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTMwLjAgQU5EIGQ8MzEuMCBB TkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChnPSdtbGtqaWhnJyBBTkQgZiBHTE9CICdn aGlqayonKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNjQgQU5EIDY2KSBBTkQgYSE9NjUpCiAg ICAgICAgICBPUiAoZz0na2ppaGdmZScgQU5EIGYgR0xPQiAncXJzdHUqJykKQEAgLTE0ODQsNyAr MTQ4NCw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIGI9MTAxMgogICAgICAgICAgT1Ig KChhIEJFVFdFRU4gNTcgQU5EIDU5KSBBTkQgYSE9NTgpCiAgICAgICAgICBPUiAoKGEgQkVUV0VF TiA2NyBBTkQgNjkpIEFORCBhIT02OCkKLSAgICAgICAgIE9SIChkPj0xOS4wIEFORCBkPDIwLjAg QU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MTkuMCBBTkQgZDwyMC4wIEFORCBkIElT IE5PVCBOVUxMKQogICAgICAgICAgT1IgKGYgR0xPQiAnP2JjZGUqJyBBTkQgZiBHTE9CICdhYmNk KicpCiAgIF1dKQogICAgIGVuZCwgewpAQCAtMTUwMyw3ICsxNTAzLDcgQEAgdGVzdDpkb190ZXN0 KAogICAgICAgICAgT1IgYj0xMDEyCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA1NyBBTkQgNTkp IEFORCBhIT01OCkKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDY3IEFORCA2OSkgQU5EIGEhPTY4 KQotICAgICAgICAgT1IgKGQ+PTE5LjAgQU5EIGQ8MjAuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAg ICAgIE9SIChkPj0xOS4wIEFORCBkPDIwLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBP UiAoZiBHTE9CICc/YmNkZSonIEFORCBmIEdMT0IgJ2FiY2QqJykKICAgXV0pCiAgICAgZW5kLCB7 CkBAIC0xNTIwLDcgKzE1MjAsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICBXSEVSRSBmPSdyc3R1 dnd4eXonCiAgICAgICAgICBPUiAoZz0namloZ2ZlZCcgQU5EIGYgR0xPQiAnd3h5emEqJykKICAg ICAgICAgIE9SICgoYSBCRVRXRUVOIDkwIEFORCA5MikgQU5EIGEhPTkxKQotICAgICAgICAgT1Ig KGQ+PTk4LjAgQU5EIGQ8OTkuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj05OC4w IEFORCBkPDk5LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAgICAg ICAtLSA8d2hlcmU3LTIuMzIuMT4KQEAgLTE1MzYsNyArMTUzNiw3IEBAIHRlc3Q6ZG9fdGVzdCgK ICAgICAgIFdIRVJFIGY9J3JzdHV2d3h5eicKICAgICAgICAgIE9SIChnPSdqaWhnZmVkJyBBTkQg ZiBHTE9CICd3eHl6YSonKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gOTAgQU5EIDkyKSBBTkQg YSE9OTEpCi0gICAgICAgICBPUiAoZD49OTguMCBBTkQgZDw5OS4wIEFORCBkIE5PVCBOVUxMKQor ICAgICAgICAgT1IgKGQ+PTk4LjAgQU5EIGQ8OTkuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgXV0p CiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi4zMi4yPgpAQCAtMTU4OCw3ICsxNTg4 LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwog ICAgICBTRUxFQ1QgYSBGUk9NIHQyCiAgICAgICBXSEVSRSBhPTc3Ci0gICAgICAgICBPUiAoZD49 NTguMCBBTkQgZDw1OS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTU4LjAgQU5E IGQ8NTkuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0t IDx3aGVyZTctMi4zNC4xPgpAQCAtMTYwMiw3ICsxNjAyLDcgQEAgdGVzdDpkb190ZXN0KAogICAg ICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQzCiAg ICAgICBXSEVSRSBhPTc3Ci0gICAgICAgICBPUiAoZD49NTguMCBBTkQgZDw1OS4wIEFORCBkIE5P VCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTU4LjAgQU5EIGQ8NTkuMCBBTkQgZCBJUyBOT1QgTlVM TCkKICAgXV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi4zNC4yPgpAQCAtMTYx Niw4ICsxNjE2LDggQEAgdGVzdDpkb190ZXN0KAogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNf c29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCiAgICAgICBXSEVSRSBiPTQ5OAotICAgICAg ICAgT1IgKGQ+PTI3LjAgQU5EIGQ8MjguMCBBTkQgZCBOT1QgTlVMTCkKLSAgICAgICAgIE9SIChk Pj04OC4wIEFORCBkPDg5LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MjcuMCBB TkQgZDwyOC4wIEFORCBkIElTIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTg4LjAgQU5EIGQ8 ODkuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDY3IEFORCA2 OSkgQU5EIGEhPTY4KQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNjcgQU5EIDY5KSBBTkQgYSE9 NjgpCiAgICAgICAgICBPUiBjPTMzMDMzCkBAIC0xNjM3LDggKzE2MzcsOCBAQCB0ZXN0OmRvX3Rl c3QoCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZS T00gdDMKICAgICAgIFdIRVJFIGI9NDk4Ci0gICAgICAgICBPUiAoZD49MjcuMCBBTkQgZDwyOC4w IEFORCBkIE5PVCBOVUxMKQotICAgICAgICAgT1IgKGQ+PTg4LjAgQU5EIGQ8ODkuMCBBTkQgZCBO T1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0yNy4wIEFORCBkPDI4LjAgQU5EIGQgSVMgTk9UIE5V TEwpCisgICAgICAgICBPUiAoZD49ODguMCBBTkQgZDw4OS4wIEFORCBkIElTIE5PVCBOVUxMKQog ICAgICAgICAgT1IgKChhIEJFVFdFRU4gNjcgQU5EIDY5KSBBTkQgYSE9NjgpCiAgICAgICAgICBP UiAoKGEgQkVUV0VFTiA2NyBBTkQgNjkpIEFORCBhIT02OCkKICAgICAgICAgIE9SIGM9MzMwMzMK QEAgLTE2NTcsNyArMTY1Nyw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAg ICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIKLSAg ICAgIFdIRVJFIChkPj02LjAgQU5EIGQ8Ny4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUg KGQ+PTYuMCBBTkQgZDw3LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoKGEgQkVU V0VFTiA1OCBBTkQgNjApIEFORCBhIT01OSkKICAgXV0pCiAgICAgZW5kLCB7CkBAIC0xNjcxLDcg KzE2NzEsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4g Y291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQzCi0gICAgICBXSEVSRSAo ZD49Ni4wIEFORCBkPDcuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChkPj02LjAgQU5E IGQ8Ny4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNTggQU5E IDYwKSBBTkQgYSE9NTkpCiAgIF1dKQogICAgIGVuZCwgewpAQCAtMTY4Niw3ICsxNjg2LDcgQEAg dGVzdDpkb190ZXN0KAogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBT RUxFQ1QgYSBGUk9NIHQyCiAgICAgICBXSEVSRSBiPTEwNTkKLSAgICAgICAgIE9SIChkPj00My4w IEFORCBkPDQ0LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NDMuMCBBTkQgZDw0 NC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYz00MDA0CiAgICAgICAgICBPUiBi PTgwNgogICBdXSkKQEAgLTE3MDIsNyArMTcwMiw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAg cmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MwogICAgICAg V0hFUkUgYj0xMDU5Ci0gICAgICAgICBPUiAoZD49NDMuMCBBTkQgZDw0NC4wIEFORCBkIE5PVCBO VUxMKQorICAgICAgICAgT1IgKGQ+PTQzLjAgQU5EIGQ8NDQuMCBBTkQgZCBJUyBOT1QgTlVMTCkK ICAgICAgICAgIE9SIGM9NDAwNAogICAgICAgICAgT1IgYj04MDYKICAgXV0pCkBAIC0xODIzLDcg KzE4MjMsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4g Y291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCi0gICAgICBXSEVSRSAo ZD49NzMuMCBBTkQgZDw3NC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTczLjAg QU5EIGQ8NzQuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDUg QU5EIDcpIEFORCBhIT02KQogICBdXSkKICAgICBlbmQsIHsKQEAgLTE4MzcsNyArMTgzNyw3IEBA IHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVw c19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDMKLSAgICAgIFdIRVJFIChkPj03My4wIEFO RCBkPDc0LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49NzMuMCBBTkQgZDw3NC4w IEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNSBBTkQgNykgQU5E IGEhPTYpCiAgIF1dKQogICAgIGVuZCwgewpAQCAtMTg1MiwxMyArMTg1MiwxMyBAQCB0ZXN0OmRv X3Rlc3QoCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBh IEZST00gdDIKICAgICAgIFdIRVJFIChmIEdMT0IgJz9lZmdoKicgQU5EIGYgR0xPQiAnZGVmZyon KQotICAgICAgICAgT1IgKGQ+PTE0LjAgQU5EIGQ8MTUuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAg ICAgIE9SIChkPj0xNC4wIEFORCBkPDE1LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBP UiAoZz0naGdmZWRjYicgQU5EIGYgR0xPQiAnZmdoaWoqJykKICAgICAgICAgIE9SIGI9Mjk3CiAg ICAgICAgICBPUiBiPTExMwogICAgICAgICAgT1IgYj0xNzYKICAgICAgICAgIE9SIChnPSd1dHNy cXBvJyBBTkQgZiBHTE9CICd2d3h5eionKQotICAgICAgICAgT1IgKGQ+PTc1LjAgQU5EIGQ8NzYu MCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj03NS4wIEFORCBkPDc2LjAgQU5EIGQg SVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBhPTY3CiAgICAgICAgICBPUiBjPTI2MDI2CiAgIF1d KQpAQCAtMTg3NCwxMyArMTg3NCwxMyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgIHJldHVybiBj b3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDMKICAgICAgIFdIRVJFIChm IEdMT0IgJz9lZmdoKicgQU5EIGYgR0xPQiAnZGVmZyonKQotICAgICAgICAgT1IgKGQ+PTE0LjAg QU5EIGQ8MTUuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0xNC4wIEFORCBkPDE1 LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoZz0naGdmZWRjYicgQU5EIGYgR0xP QiAnZmdoaWoqJykKICAgICAgICAgIE9SIGI9Mjk3CiAgICAgICAgICBPUiBiPTExMwogICAgICAg ICAgT1IgYj0xNzYKICAgICAgICAgIE9SIChnPSd1dHNycXBvJyBBTkQgZiBHTE9CICd2d3h5eion KQotICAgICAgICAgT1IgKGQ+PTc1LjAgQU5EIGQ8NzYuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAg ICAgIE9SIChkPj03NS4wIEFORCBkPDc2LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBP UiBhPTY3CiAgICAgICAgICBPUiBjPTI2MDI2CiAgIF1dKQpAQCAtMTg5NSw3ICsxODk1LDcgQEAg dGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBz X3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MgotICAgICAgV0hFUkUgKGQ+PTc4LjAgQU5E IGQ8NzkuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChkPj03OC4wIEFORCBkPDc5LjAg QU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA0IEFORCA2KSBBTkQg YSE9NSkKICAgICAgICAgIE9SIGE9ODMKICAgICAgICAgIE9SIGI9NDQKQEAgLTE5MTUsNyArMTkx NSw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3Vu dF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDMKLSAgICAgIFdIRVJFIChkPj03 OC4wIEFORCBkPDc5LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49NzguMCBBTkQg ZDw3OS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNCBBTkQg NikgQU5EIGEhPTUpCiAgICAgICAgICBPUiBhPTgzCiAgICAgICAgICBPUiBiPTQ0CkBAIC0xOTM1 LDcgKzE5MzUsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1 cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCi0gICAgICBXSEVS RSAoZD49NDIuMCBBTkQgZDw0My4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTQy LjAgQU5EIGQ8NDMuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9OTM1CiAgICAg ICAgICBPUiAoKGEgQkVUV0VFTiAzMiBBTkQgMzQpIEFORCBhIT0zMykKICAgICAgICAgIE9SIGI9 NDg3CkBAIC0xOTU0LDcgKzE5NTQsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQog ICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQz Ci0gICAgICBXSEVSRSAoZD49NDIuMCBBTkQgZDw0My4wIEFORCBkIE5PVCBOVUxMKQorICAgICAg V0hFUkUgKGQ+PTQyLjAgQU5EIGQ8NDMuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9S IGI9OTM1CiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiAzMiBBTkQgMzQpIEFORCBhIT0zMykKICAg ICAgICAgIE9SIGI9NDg3CkBAIC0xOTczLDE2ICsxOTczLDE2IEBAIHRlc3Q6ZG9fdGVzdCgKICAg ICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNF TEVDVCBhIEZST00gdDIKLSAgICAgIFdIRVJFIChkPj02OC4wIEFORCBkPDY5LjAgQU5EIGQgTk9U IE5VTEwpCi0gICAgICAgICBPUiAoZD49OTQuMCBBTkQgZDw5NS4wIEFORCBkIE5PVCBOVUxMKQor ICAgICAgV0hFUkUgKGQ+PTY4LjAgQU5EIGQ8NjkuMCBBTkQgZCBJUyBOT1QgTlVMTCkKKyAgICAg ICAgIE9SIChkPj05NC4wIEFORCBkPDk1LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBP UiBiPTkzOAogICAgICAgICAgT1IgYj02NDEKICAgICAgICAgIE9SIGM9MTcwMTcKICAgICAgICAg IE9SIGE9ODIKLSAgICAgICAgIE9SIChkPj02NS4wIEFORCBkPDY2LjAgQU5EIGQgTk9UIE5VTEwp CisgICAgICAgICBPUiAoZD49NjUuMCBBTkQgZDw2Ni4wIEFORCBkIElTIE5PVCBOVUxMKQogICAg ICAgICAgT1IgKGc9J3JxcG9ubWwnIEFORCBmIEdMT0IgJ2xtbm9wKicpCiAgICAgICAgICBPUiAo KGEgQkVUV0VFTiA1NiBBTkQgNTgpIEFORCBhIT01NykKLSAgICAgICAgIE9SIChkPj0zOS4wIEFO RCBkPDQwLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MzkuMCBBTkQgZDw0MC4w IEFORCBkIElTIE5PVCBOVUxMKQogICBdXSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJl Ny0yLjQ1LjE+CkBAIC0xOTk1LDE2ICsxOTk1LDE2IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5j dGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBh IEZST00gdDMKLSAgICAgIFdIRVJFIChkPj02OC4wIEFORCBkPDY5LjAgQU5EIGQgTk9UIE5VTEwp Ci0gICAgICAgICBPUiAoZD49OTQuMCBBTkQgZDw5NS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAg V0hFUkUgKGQ+PTY4LjAgQU5EIGQ8NjkuMCBBTkQgZCBJUyBOT1QgTlVMTCkKKyAgICAgICAgIE9S IChkPj05NC4wIEFORCBkPDk1LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTkz OAogICAgICAgICAgT1IgYj02NDEKICAgICAgICAgIE9SIGM9MTcwMTcKICAgICAgICAgIE9SIGE9 ODIKLSAgICAgICAgIE9SIChkPj02NS4wIEFORCBkPDY2LjAgQU5EIGQgTk9UIE5VTEwpCisgICAg ICAgICBPUiAoZD49NjUuMCBBTkQgZDw2Ni4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAg T1IgKGc9J3JxcG9ubWwnIEFORCBmIEdMT0IgJ2xtbm9wKicpCiAgICAgICAgICBPUiAoKGEgQkVU V0VFTiA1NiBBTkQgNTgpIEFORCBhIT01NykKLSAgICAgICAgIE9SIChkPj0zOS4wIEFORCBkPDQw LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MzkuMCBBTkQgZDw0MC4wIEFORCBk IElTIE5PVCBOVUxMKQogICBdXSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjQ1 LjI+CkBAIC0yMDUwLDcgKzIwNTAsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBiPTIx MgogICAgICAgICAgT1IgKGc9J2xramloZ2YnIEFORCBmIEdMT0IgJ25vcHFyKicpCiAgICAgICAg ICBPUiBjPTI4MDI4Ci0gICAgICAgICBPUiAoZD49ODMuMCBBTkQgZDw4NC4wIEFORCBkIE5PVCBO VUxMKQorICAgICAgICAgT1IgKGQ+PTgzLjAgQU5EIGQ8ODQuMCBBTkQgZCBJUyBOT1QgTlVMTCkK ICAgXV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi40Ny4xPgpAQCAtMjA2OCw3 ICsyMDY4LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgYj0yMTIKICAgICAgICAgIE9S IChnPSdsa2ppaGdmJyBBTkQgZiBHTE9CICdub3BxcionKQogICAgICAgICAgT1IgYz0yODAyOAot ICAgICAgICAgT1IgKGQ+PTgzLjAgQU5EIGQ8ODQuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAg IE9SIChkPj04My4wIEFORCBkPDg0LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVu ZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIuNDcuMj4KQEAgLTIwODEsNyArMjA4MSw3IEBAIHRl c3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19z b3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIKLSAgICAgIFdIRVJFIChkPj0xMi4wIEFORCBk PDEzLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49MTIuMCBBTkQgZDwxMy4wIEFO RCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYT01MQogICAgICAgICAgT1IgKChhIEJFVFdF RU4gMjggQU5EIDMwKSBBTkQgYSE9MjkpCiAgIF1dKQpAQCAtMjA5Niw3ICsyMDk2LDcgQEAgdGVz dDpkb190ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3Nv cnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MwotICAgICAgV0hFUkUgKGQ+PTEyLjAgQU5EIGQ8 MTMuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChkPj0xMi4wIEFORCBkPDEzLjAgQU5E IGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBhPTUxCiAgICAgICAgICBPUiAoKGEgQkVUV0VF TiAyOCBBTkQgMzApIEFORCBhIT0yOSkKICAgXV0pCkBAIC0yMTU1LDcgKzIxNTUsNyBAQCB0ZXN0 OmRvX3Rlc3QoCiAgICAgICAgICBPUiBiPTE0MwogICAgICAgICAgT1IgYT00NgogICAgICAgICAg T1IgYj02NjAKLSAgICAgICAgIE9SIChkPj00MS4wIEFORCBkPDQyLjAgQU5EIGQgTk9UIE5VTEwp CisgICAgICAgICBPUiAoZD49NDEuMCBBTkQgZDw0Mi4wIEFORCBkIElTIE5PVCBOVUxMKQogICAg ICAgICAgT1IgKGYgR0xPQiAnP3l6YWIqJyBBTkQgZiBHTE9CICd4eXphKicpCiAgICAgICAgICBP UiAoZz0ndnV0c3JxcCcgQU5EIGYgR0xPQiAncnN0dXYqJykKICAgICAgICAgIE9SIGI9MzU1CkBA IC0yMTc3LDcgKzIxNzcsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBiPTE0MwogICAg ICAgICAgT1IgYT00NgogICAgICAgICAgT1IgYj02NjAKLSAgICAgICAgIE9SIChkPj00MS4wIEFO RCBkPDQyLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NDEuMCBBTkQgZDw0Mi4w IEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKGYgR0xPQiAnP3l6YWIqJyBBTkQgZiBH TE9CICd4eXphKicpCiAgICAgICAgICBPUiAoZz0ndnV0c3JxcCcgQU5EIGYgR0xPQiAncnN0dXYq JykKICAgICAgICAgIE9SIGI9MzU1CkBAIC0yMjU5LDggKzIyNTksOCBAQCB0ZXN0OmRvX3Rlc3Qo CiAgICAgIFNFTEVDVCBhIEZST00gdDIKICAgICAgIFdIRVJFIGI9NDczCiAgICAgICAgICBPUiBi PTExMDAKLSAgICAgICAgIE9SIChkPj01My4wIEFORCBkPDU0LjAgQU5EIGQgTk9UIE5VTEwpCi0g ICAgICAgICBPUiAoZD49MTUuMCBBTkQgZDwxNi4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAg T1IgKGQ+PTUzLjAgQU5EIGQ8NTQuMCBBTkQgZCBJUyBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChk Pj0xNS4wIEFORCBkPDE2LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBhPTIwCiAg ICAgICAgICBPUiBiPTEwODkKICAgICAgICAgIE9SIGI9MzMwCkBAIC0yMjgwLDggKzIyODAsOCBA QCB0ZXN0OmRvX3Rlc3QoCiAgICAgIFNFTEVDVCBhIEZST00gdDMKICAgICAgIFdIRVJFIGI9NDcz CiAgICAgICAgICBPUiBiPTExMDAKLSAgICAgICAgIE9SIChkPj01My4wIEFORCBkPDU0LjAgQU5E IGQgTk9UIE5VTEwpCi0gICAgICAgICBPUiAoZD49MTUuMCBBTkQgZDwxNi4wIEFORCBkIE5PVCBO VUxMKQorICAgICAgICAgT1IgKGQ+PTUzLjAgQU5EIGQ8NTQuMCBBTkQgZCBJUyBOT1QgTlVMTCkK KyAgICAgICAgIE9SIChkPj0xNS4wIEFORCBkPDE2LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAg ICAgICBPUiBhPTIwCiAgICAgICAgICBPUiBiPTEwODkKICAgICAgICAgIE9SIGI9MzMwCkBAIC0y MzQ0LDcgKzIzNDQsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVw c19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIKICAgICAgIFdIRVJFICgoYSBCRVRXRUVO IDc2IEFORCA3OCkgQU5EIGEhPTc3KQotICAgICAgICAgT1IgKGQ+PTI0LjAgQU5EIGQ8MjUuMCBB TkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0yNC4wIEFORCBkPDI1LjAgQU5EIGQgSVMg Tk9UIE5VTEwpCiAgICAgICAgICBPUiBmPSd5emFiY2RlZmcnCiAgICAgICAgICBPUiBjPTE0MDE0 CiAgICAgICAgICBPUiBhPTEKQEAgLTIzNjMsNyArMjM2Myw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAg ICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0Mwog ICAgICAgV0hFUkUgKChhIEJFVFdFRU4gNzYgQU5EIDc4KSBBTkQgYSE9NzcpCi0gICAgICAgICBP UiAoZD49MjQuMCBBTkQgZDwyNS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTI0 LjAgQU5EIGQ8MjUuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGY9J3l6YWJjZGVm ZycKICAgICAgICAgIE9SIGM9MTQwMTQKICAgICAgICAgIE9SIGE9MQpAQCAtMjQxMiw5ICsyNDEy LDkgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwog ICAgICBTRUxFQ1QgYSBGUk9NIHQyCiAgICAgICBXSEVSRSBiPTc0OAotICAgICAgICAgT1IgKGQ+ PTIwLjAgQU5EIGQ8MjEuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0yMC4wIEFO RCBkPDIxLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoZz0nbGtqaWhnZicgQU5E IGYgR0xPQiAncHFyc3QqJykKLSAgICAgICAgIE9SIChkPj05LjAgQU5EIGQ8MTAuMCBBTkQgZCBO T1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj05LjAgQU5EIGQ8MTAuMCBBTkQgZCBJUyBOT1QgTlVM TCkKICAgICAgICAgIE9SIGI9NjMwCiAgIF1dKQogICAgIGVuZCwgewpAQCAtMjQyOSw5ICsyNDI5 LDkgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwog ICAgICBTRUxFQ1QgYSBGUk9NIHQzCiAgICAgICBXSEVSRSBiPTc0OAotICAgICAgICAgT1IgKGQ+ PTIwLjAgQU5EIGQ8MjEuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0yMC4wIEFO RCBkPDIxLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoZz0nbGtqaWhnZicgQU5E IGYgR0xPQiAncHFyc3QqJykKLSAgICAgICAgIE9SIChkPj05LjAgQU5EIGQ8MTAuMCBBTkQgZCBO T1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj05LjAgQU5EIGQ8MTAuMCBBTkQgZCBJUyBOT1QgTlVM TCkKICAgICAgICAgIE9SIGI9NjMwCiAgIF1dKQogICAgIGVuZCwgewpAQCAtMjU0OSwxMSArMjU0 OSwxMSBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291 bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCi0gICAgICBXSEVSRSAoZD49 OS4wIEFORCBkPDEwLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49OS4wIEFORCBk PDEwLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBhPTgKICAgICAgICAgIE9SIGE9 NjIKICAgICAgICAgIE9SIGI9NzI2Ci0gICAgICAgICBPUiAoZD49MTAuMCBBTkQgZDwxMS4wIEFO RCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTEwLjAgQU5EIGQ8MTEuMCBBTkQgZCBJUyBO T1QgTlVMTCkKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDUwIEFORCA1MikgQU5EIGEhPTUxKQog ICAgICAgICAgT1IgKGc9J3Z1dHNycXAnIEFORCBmIEdMT0IgJ29wcXJzKicpCiAgICAgICAgICBP UiAoKGEgQkVUV0VFTiA1OSBBTkQgNjEpIEFORCBhIT02MCkKQEAgLTI1NjksMTEgKzI1NjksMTEg QEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAgICAgICAgcmV0dXJuIGNvdW50X3N0 ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MwotICAgICAgV0hFUkUgKGQ+PTkuMCBB TkQgZDwxMC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTkuMCBBTkQgZDwxMC4w IEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYT04CiAgICAgICAgICBPUiBhPTYyCiAg ICAgICAgICBPUiBiPTcyNgotICAgICAgICAgT1IgKGQ+PTEwLjAgQU5EIGQ8MTEuMCBBTkQgZCBO T1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0xMC4wIEFORCBkPDExLjAgQU5EIGQgSVMgTk9UIE5V TEwpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA1MCBBTkQgNTIpIEFORCBhIT01MSkKICAgICAg ICAgIE9SIChnPSd2dXRzcnFwJyBBTkQgZiBHTE9CICdvcHFycyonKQogICAgICAgICAgT1IgKChh IEJFVFdFRU4gNTkgQU5EIDYxKSBBTkQgYSE9NjApCkBAIC0yNjM1LDcgKzI2MzUsNyBAQCB0ZXN0 OmRvX3Rlc3QoCiAgICAgICAgICBPUiAoZz0nZmVkY2JheicgQU5EIGYgR0xPQiAnc3R1dncqJykK ICAgICAgICAgIE9SIGI9NTA5CiAgICAgICAgICBPUiBiPTkyNAotICAgICAgICAgT1IgKGQ+PTIx LjAgQU5EIGQ8MjIuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0yMS4wIEFORCBk PDIyLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8 d2hlcmU3LTIuNjMuMT4KQEAgLTI2NTQsNyArMjY1NCw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAg ICAgIE9SIChnPSdmZWRjYmF6JyBBTkQgZiBHTE9CICdzdHV2dyonKQogICAgICAgICAgT1IgYj01 MDkKICAgICAgICAgIE9SIGI9OTI0Ci0gICAgICAgICBPUiAoZD49MjEuMCBBTkQgZDwyMi4wIEFO RCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTIxLjAgQU5EIGQ8MjIuMCBBTkQgZCBJUyBO T1QgTlVMTCkKICAgXV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi42My4yPgpA QCAtMjY2Nyw3ICsyNjY3LDcgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAgICAg ICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MgotICAg ICAgV0hFUkUgKGQ+PTkzLjAgQU5EIGQ8OTQuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJF IChkPj05My4wIEFORCBkPDk0LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoZiBH TE9CICc/amtsbSonIEFORCBmIEdMT0IgJ2lqa2wqJykKICAgICAgICAgIE9SIChmIEdMT0IgJz9k ZWZnKicgQU5EIGYgR0xPQiAnY2RlZionKQogICAgICAgICAgT1IgKGc9J2VkY2JhenknIEFORCBm IEdMT0IgJ3d4eXphKicpCkBAIC0yNjg3LDcgKzI2ODcsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAg ZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxF Q1QgYSBGUk9NIHQzCi0gICAgICBXSEVSRSAoZD49OTMuMCBBTkQgZDw5NC4wIEFORCBkIE5PVCBO VUxMKQorICAgICAgV0hFUkUgKGQ+PTkzLjAgQU5EIGQ8OTQuMCBBTkQgZCBJUyBOT1QgTlVMTCkK ICAgICAgICAgIE9SIChmIEdMT0IgJz9qa2xtKicgQU5EIGYgR0xPQiAnaWprbConKQogICAgICAg ICAgT1IgKGYgR0xPQiAnP2RlZmcqJyBBTkQgZiBHTE9CICdjZGVmKicpCiAgICAgICAgICBPUiAo Zz0nZWRjYmF6eScgQU5EIGYgR0xPQiAnd3h5emEqJykKQEAgLTI3MTUsNyArMjcxNSw3IEBAIHRl c3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIGE9NDUKICAgICAgICAgIE9SIChnPSdramloZ2ZlJyBB TkQgZiBHTE9CICdyc3R1dionKQogICAgICAgICAgT1IgYT04NQotICAgICAgICAgT1IgKGQ+PTY1 LjAgQU5EIGQ8NjYuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj02NS4wIEFORCBk PDY2LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8 d2hlcmU3LTIuNjUuMT4KQEAgLTI3MzYsNyArMjczNiw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAg ICAgIE9SIGE9NDUKICAgICAgICAgIE9SIChnPSdramloZ2ZlJyBBTkQgZiBHTE9CICdyc3R1dion KQogICAgICAgICAgT1IgYT04NQotICAgICAgICAgT1IgKGQ+PTY1LjAgQU5EIGQ8NjYuMCBBTkQg ZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj02NS4wIEFORCBkPDY2LjAgQU5EIGQgSVMgTk9U IE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIuNjUuMj4KQEAg LTI3ODQsNyArMjc4NCw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIChnPSd1dHNycXBv JyBBTkQgZiBHTE9CICd0dXZ3eConKQogICAgICAgICAgT1IgKGc9J2VkY2JhenknIEFORCBmIEdM T0IgJ3d4eXphKicpCiAgICAgICAgICBPUiAoZiBHTE9CICc/bW5vcConIEFORCBmIEdMT0IgJ2xt bm8qJykKLSAgICAgICAgIE9SIChkPj0yNy4wIEFORCBkPDI4LjAgQU5EIGQgTk9UIE5VTEwpCisg ICAgICAgICBPUiAoZD49MjcuMCBBTkQgZDwyOC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAg ICAgT1IgYT05MQogICBdXSkKICAgICBlbmQsIHsKQEAgLTI4MDMsNyArMjgwMyw3IEBAIHRlc3Q6 ZG9fdGVzdCgKICAgICAgICAgIE9SIChnPSd1dHNycXBvJyBBTkQgZiBHTE9CICd0dXZ3eConKQog ICAgICAgICAgT1IgKGc9J2VkY2JhenknIEFORCBmIEdMT0IgJ3d4eXphKicpCiAgICAgICAgICBP UiAoZiBHTE9CICc/bW5vcConIEFORCBmIEdMT0IgJ2xtbm8qJykKLSAgICAgICAgIE9SIChkPj0y Ny4wIEFORCBkPDI4LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MjcuMCBBTkQg ZDwyOC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYT05MQogICBdXSkKICAgICBl bmQsIHsKQEAgLTI4MTgsMTIgKzI4MTgsMTIgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICByZXR1 cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCiAgICAgICBXSEVS RSAoZz0nZ2ZlZGNiYScgQU5EIGYgR0xPQiAnbm9wcXIqJykKLSAgICAgICAgIE9SIChkPj0yOC4w IEFORCBkPDI5LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MjguMCBBTkQgZDwy OS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKGYgR0xPQiAnP2tsbW4qJyBBTkQg ZiBHTE9CICdqa2xtKicpCiAgICAgICAgICBPUiBiPTY0OQogICAgICAgICAgT1IgYj0yMzEKLSAg ICAgICAgIE9SIChkPj00OC4wIEFORCBkPDQ5LjAgQU5EIGQgTk9UIE5VTEwpCi0gICAgICAgICBP UiAoZD49MjkuMCBBTkQgZDwzMC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTQ4 LjAgQU5EIGQ8NDkuMCBBTkQgZCBJUyBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0yOS4wIEFO RCBkPDMwLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTU4CiAgIF1dKQogICAg IGVuZCwgewpAQCAtMjgzOCwxMiArMjgzOCwxMiBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgIHJl dHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDMKICAgICAgIFdI RVJFIChnPSdnZmVkY2JhJyBBTkQgZiBHTE9CICdub3BxcionKQotICAgICAgICAgT1IgKGQ+PTI4 LjAgQU5EIGQ8MjkuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0yOC4wIEFORCBk PDI5LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoZiBHTE9CICc/a2xtbionIEFO RCBmIEdMT0IgJ2prbG0qJykKICAgICAgICAgIE9SIGI9NjQ5CiAgICAgICAgICBPUiBiPTIzMQot ICAgICAgICAgT1IgKGQ+PTQ4LjAgQU5EIGQ8NDkuMCBBTkQgZCBOT1QgTlVMTCkKLSAgICAgICAg IE9SIChkPj0yOS4wIEFORCBkPDMwLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49 NDguMCBBTkQgZDw0OS4wIEFORCBkIElTIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTI5LjAg QU5EIGQ8MzAuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9NTgKICAgXV0pCiAg ICAgZW5kLCB7CkBAIC0yODU4LDcgKzI4NTgsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgIHJl dHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIKICAgICAgIFdI RVJFIGI9OTc5Ci0gICAgICAgICBPUiAoZD49NzguMCBBTkQgZDw3OS4wIEFORCBkIE5PVCBOVUxM KQorICAgICAgICAgT1IgKGQ+PTc4LjAgQU5EIGQ8NzkuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAg XV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi42OS4xPgpAQCAtMjg3Miw3ICsy ODcyLDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChb WwogICAgICBTRUxFQ1QgYSBGUk9NIHQzCiAgICAgICBXSEVSRSBiPTk3OQotICAgICAgICAgT1Ig KGQ+PTc4LjAgQU5EIGQ8NzkuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj03OC4w IEFORCBkPDc5LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAgICAg ICAtLSA8d2hlcmU3LTIuNjkuMj4KQEAgLTI5MjQsNyArMjkyNCw3IEBAIHRlc3Q6ZG9fdGVzdCgK ICAgICAgICAgIE9SIGI9NjcxCiAgICAgICAgICBPUiAoZz0nb25tbGtqaScgQU5EIGYgR0xPQiAn emFiY2QqJykKICAgICAgICAgIE9SIGE9OTEKLSAgICAgICAgIE9SIChkPj05OC4wIEFORCBkPDk5 LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49OTguMCBBTkQgZDw5OS4wIEFORCBk IElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNDcgQU5EIDQ5KSBBTkQgYSE9 NDgpCiAgICAgICAgICBPUiBiPTEwMDQKICAgICAgICAgIE9SIGI9OTYwCkBAIC0yOTQ3LDcgKzI5 NDcsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBiPTY3MQogICAgICAgICAgT1IgKGc9 J29ubWxramknIEFORCBmIEdMT0IgJ3phYmNkKicpCiAgICAgICAgICBPUiBhPTkxCi0gICAgICAg ICBPUiAoZD49OTguMCBBTkQgZDw5OS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+ PTk4LjAgQU5EIGQ8OTkuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SICgoYSBCRVRX RUVOIDQ3IEFORCA0OSkgQU5EIGEhPTQ4KQogICAgICAgICAgT1IgYj0xMDA0CiAgICAgICAgICBP UiBiPTk2MApAQCAtMjk2NCw3ICsyOTY0LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICByZXR1 cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCiAgICAgICBXSEVS RSBiPTc2MgotICAgICAgICAgT1IgKGQ+PTkzLjAgQU5EIGQ8OTQuMCBBTkQgZCBOT1QgTlVMTCkK KyAgICAgICAgIE9SIChkPj05My4wIEFORCBkPDk0LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAg ICAgICBPUiAoKGEgQkVUV0VFTiA1NiBBTkQgNTgpIEFORCBhIT01NykKICAgXV0pCiAgICAgZW5k LCB7CkBAIC0yOTc5LDcgKzI5NzksNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgIHJldHVybiBj b3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDMKICAgICAgIFdIRVJFIGI9 NzYyCi0gICAgICAgICBPUiAoZD49OTMuMCBBTkQgZDw5NC4wIEFORCBkIE5PVCBOVUxMKQorICAg ICAgICAgT1IgKGQ+PTkzLjAgQU5EIGQ8OTQuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAg IE9SICgoYSBCRVRXRUVOIDU2IEFORCA1OCkgQU5EIGEhPTU3KQogICBdXSkKICAgICBlbmQsIHsK QEAgLTI5OTMsMTMgKzI5OTMsMTMgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAg ICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0Mgot ICAgICAgV0hFUkUgKGQ+PTExLjAgQU5EIGQ8MTIuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdI RVJFIChkPj0xMS4wIEFORCBkPDEyLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBh PTE0CiAgICAgICAgICBPUiAoZz0naGdmZWRjYicgQU5EIGYgR0xPQiAnaGlqa2wqJykKLSAgICAg ICAgIE9SIChkPj01NC4wIEFORCBkPDU1LjAgQU5EIGQgTk9UIE5VTEwpCi0gICAgICAgICBPUiAo ZD49MjMuMCBBTkQgZDwyNC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTU0LjAg QU5EIGQ8NTUuMCBBTkQgZCBJUyBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0yMy4wIEFORCBk PDI0LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTIxMgotICAgICAgICAgT1Ig KGQ+PTc4LjAgQU5EIGQ8NzkuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj03OC4w IEFORCBkPDc5LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAgICAg ICAtLSA8d2hlcmU3LTIuNzMuMT4KQEAgLTMwMTIsMTMgKzMwMTIsMTMgQEAgdGVzdDpkb190ZXN0 KAogICAgIGZ1bmN0aW9uKCkKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAg ICAgU0VMRUNUIGEgRlJPTSB0MwotICAgICAgV0hFUkUgKGQ+PTExLjAgQU5EIGQ8MTIuMCBBTkQg ZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChkPj0xMS4wIEFORCBkPDEyLjAgQU5EIGQgSVMgTk9U IE5VTEwpCiAgICAgICAgICBPUiBhPTE0CiAgICAgICAgICBPUiAoZz0naGdmZWRjYicgQU5EIGYg R0xPQiAnaGlqa2wqJykKLSAgICAgICAgIE9SIChkPj01NC4wIEFORCBkPDU1LjAgQU5EIGQgTk9U IE5VTEwpCi0gICAgICAgICBPUiAoZD49MjMuMCBBTkQgZDwyNC4wIEFORCBkIE5PVCBOVUxMKQor ICAgICAgICAgT1IgKGQ+PTU0LjAgQU5EIGQ8NTUuMCBBTkQgZCBJUyBOT1QgTlVMTCkKKyAgICAg ICAgIE9SIChkPj0yMy4wIEFORCBkPDI0LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBP UiBiPTIxMgotICAgICAgICAgT1IgKGQ+PTc4LjAgQU5EIGQ8NzkuMCBBTkQgZCBOT1QgTlVMTCkK KyAgICAgICAgIE9SIChkPj03OC4wIEFORCBkPDc5LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1d KQogICAgIGVuZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIuNzMuMj4KQEAgLTMwMzQsNyArMzAz NCw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgIFdIRVJFIChnPSdpaGdmZWRjJyBBTkQgZiBHTE9C ICdiY2RlZionKQogICAgICAgICAgT1IgYj0xNjgKICAgICAgICAgIE9SIGI9MjUKLSAgICAgICAg IE9SIChkPj04OS4wIEFORCBkPDkwLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49 ODkuMCBBTkQgZDw5MC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKGc9J2xramlo Z2YnIEFORCBmIEdMT0IgJ29wcXJzKicpCiAgIF1dKQogICAgIGVuZCwgewpAQCAtMzA1MSw3ICsz MDUxLDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgV0hFUkUgKGc9J2loZ2ZlZGMnIEFORCBmIEdM T0IgJ2JjZGVmKicpCiAgICAgICAgICBPUiBiPTE2OAogICAgICAgICAgT1IgYj0yNQotICAgICAg ICAgT1IgKGQ+PTg5LjAgQU5EIGQ8OTAuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChk Pj04OS4wIEFORCBkPDkwLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoZz0nbGtq aWhnZicgQU5EIGYgR0xPQiAnb3BxcnMqJykKICAgXV0pCiAgICAgZW5kLCB7CkBAIC0zMDk2LDEx ICszMDk2LDExIEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3Nv cnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MgogICAgICAgV0hFUkUgYz0zMTAzMQotICAgICAg ICAgT1IgKGQ+PTEwMC4wIEFORCBkPDEwMS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1Ig KGQ+PTEwMC4wIEFORCBkPDEwMS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKChh IEJFVFdFRU4gODcgQU5EIDg5KSBBTkQgYSE9ODgpCiAgICAgICAgICBPUiAoZiBHTE9CICc/cXJz dConIEFORCBmIEdMT0IgJ3BxcnMqJykKICAgICAgICAgIE9SIGE9NDkKLSAgICAgICAgIE9SIChk Pj01Ni4wIEFORCBkPDU3LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NTYuMCBB TkQgZDw1Ny4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKGc9J21sa2ppaGcnIEFO RCBmIEdMT0IgJ2tsbW5vKicpCiAgIF1dKQogICAgIGVuZCwgewpAQCAtMzExNSwxMSArMzExNSwx MSBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAg ICAgIFNFTEVDVCBhIEZST00gdDMKICAgICAgIFdIRVJFIGM9MzEwMzEKLSAgICAgICAgIE9SIChk Pj0xMDAuMCBBTkQgZDwxMDEuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0xMDAu MCBBTkQgZDwxMDEuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SICgoYSBCRVRXRUVO IDg3IEFORCA4OSkgQU5EIGEhPTg4KQogICAgICAgICAgT1IgKGYgR0xPQiAnP3Fyc3QqJyBBTkQg ZiBHTE9CICdwcXJzKicpCiAgICAgICAgICBPUiBhPTQ5Ci0gICAgICAgICBPUiAoZD49NTYuMCBB TkQgZDw1Ny4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTU2LjAgQU5EIGQ8NTcu MCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChnPSdtbGtqaWhnJyBBTkQgZiBHTE9C ICdrbG1ubyonKQogICBdXSkKICAgICBlbmQsIHsKQEAgLTMxMzUsOCArMzEzNSw4IEBAIHRlc3Q6 ZG9fdGVzdCgKICAgICAgU0VMRUNUIGEgRlJPTSB0MgogICAgICAgV0hFUkUgYT04MAogICAgICAg ICAgT1IgKChhIEJFVFdFRU4gNCBBTkQgNikgQU5EIGEhPTUpCi0gICAgICAgICBPUiAoZD49Mjku MCBBTkQgZDwzMC4wIEFORCBkIE5PVCBOVUxMKQotICAgICAgICAgT1IgKGQ+PTI1LjAgQU5EIGQ8 MjYuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0yOS4wIEFORCBkPDMwLjAgQU5E IGQgSVMgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MjUuMCBBTkQgZDwyNi4wIEFORCBkIElT IE5PVCBOVUxMKQogICAgICAgICAgT1IgYj05NzEKICAgICAgICAgIE9SIGE9NjAKICAgXV0pCkBA IC0zMTUzLDggKzMxNTMsOCBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgIFNFTEVDVCBhIEZST00gdDMK ICAgICAgIFdIRVJFIGE9ODAKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDQgQU5EIDYpIEFORCBh IT01KQotICAgICAgICAgT1IgKGQ+PTI5LjAgQU5EIGQ8MzAuMCBBTkQgZCBOT1QgTlVMTCkKLSAg ICAgICAgIE9SIChkPj0yNS4wIEFORCBkPDI2LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBP UiAoZD49MjkuMCBBTkQgZDwzMC4wIEFORCBkIElTIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+ PTI1LjAgQU5EIGQ8MjYuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9OTcxCiAg ICAgICAgICBPUiBhPTYwCiAgIF1dKQpAQCAtMzE2OSwxMSArMzE2OSwxMSBAQCB0ZXN0OmRvX3Rl c3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwog ICAgICBTRUxFQ1QgYSBGUk9NIHQyCi0gICAgICBXSEVSRSAoZD49ODUuMCBBTkQgZDw4Ni4wIEFO RCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTg1LjAgQU5EIGQ8ODYuMCBBTkQgZCBJUyBO T1QgTlVMTCkKICAgICAgICAgIE9SIChnPSdnZmVkY2JhJyBBTkQgZiBHTE9CICdsbW5vcConKQog ICAgICAgICAgT1IgKChhIEJFVFdFRU4gMzAgQU5EIDMyKSBBTkQgYSE9MzEpCiAgICAgICAgICBP UiBiPTEwODkKLSAgICAgICAgIE9SIChkPj00My4wIEFORCBkPDQ0LjAgQU5EIGQgTk9UIE5VTEwp CisgICAgICAgICBPUiAoZD49NDMuMCBBTkQgZDw0NC4wIEFORCBkIElTIE5PVCBOVUxMKQogICBd XSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjc4LjE+CkBAIC0zMTg2LDExICsz MTg2LDExIEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVybiBj b3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDMKLSAgICAgIFdIRVJFIChk Pj04NS4wIEFORCBkPDg2LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49ODUuMCBB TkQgZDw4Ni4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKGc9J2dmZWRjYmEnIEFO RCBmIEdMT0IgJ2xtbm9wKicpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiAzMCBBTkQgMzIpIEFO RCBhIT0zMSkKICAgICAgICAgIE9SIGI9MTA4OQotICAgICAgICAgT1IgKGQ+PTQzLjAgQU5EIGQ8 NDQuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj00My4wIEFORCBkPDQ0LjAgQU5E IGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIu NzguMj4KQEAgLTMzMDQsNyArMzMwNCw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgcmV0dXJu IGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MgogICAgICAgV0hFUkUg Yj05NzkKLSAgICAgICAgIE9SIChkPj04LjAgQU5EIGQ8OS4wIEFORCBkIE5PVCBOVUxMKQorICAg ICAgICAgT1IgKGQ+PTguMCBBTkQgZDw5LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBP UiBhPTEzCiAgICAgICAgICBPUiBhPTE1CiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA2IEFORCA4 KSBBTkQgYSE9NykKQEAgLTMzMjcsNyArMzMyNyw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAg cmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MwogICAgICAg V0hFUkUgYj05NzkKLSAgICAgICAgIE9SIChkPj04LjAgQU5EIGQ8OS4wIEFORCBkIE5PVCBOVUxM KQorICAgICAgICAgT1IgKGQ+PTguMCBBTkQgZDw5LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAg ICAgICBPUiBhPTEzCiAgICAgICAgICBPUiBhPTE1CiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA2 IEFORCA4KSBBTkQgYSE9NykKQEAgLTMzNTMsNyArMzM1Myw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAg ICAgICAgIE9SIChnPSd1dHNycXBvJyBBTkQgZiBHTE9CICd2d3h5eionKQogICAgICAgICAgT1Ig KChhIEJFVFdFRU4gMzEgQU5EIDMzKSBBTkQgYSE9MzIpCiAgICAgICAgICBPUiAoZz0nbWxramlo ZycgQU5EIGYgR0xPQiAnZ2hpamsqJykKLSAgICAgICAgIE9SIChkPj0xLjAgQU5EIGQ8Mi4wIEFO RCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTEuMCBBTkQgZDwyLjAgQU5EIGQgSVMgTk9U IE5VTEwpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA3NyBBTkQgNzkpIEFORCBhIT03OCkKICAg ICAgICAgIE9SIGI9NTI4CiAgICAgICAgICBPUiBjPTMwMDMwCkBAIC0zMzc0LDcgKzMzNzQsNyBA QCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiAoZz0ndXRzcnFwbycgQU5EIGYgR0xPQiAndnd4 eXoqJykKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDMxIEFORCAzMykgQU5EIGEhPTMyKQogICAg ICAgICAgT1IgKGc9J21sa2ppaGcnIEFORCBmIEdMT0IgJ2doaWprKicpCi0gICAgICAgICBPUiAo ZD49MS4wIEFORCBkPDIuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0xLjAgQU5E IGQ8Mi4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNzcgQU5E IDc5KSBBTkQgYSE9NzgpCiAgICAgICAgICBPUiBiPTUyOAogICAgICAgICAgT1IgYz0zMDAzMApA QCAtMzUwNSw3ICszNTA1LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgKGc9J2hnZmVk Y2InIEFORCBmIEdMT0IgJ2lqa2xtKicpCiAgICAgICAgICBPUiBjPTEwMDEKICAgICAgICAgIE9S IChnPSdoZ2ZlZGNiJyBBTkQgZiBHTE9CICdoaWprbConKQotICAgICAgICAgT1IgKGQ+PTE2LjAg QU5EIGQ8MTcuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0xNi4wIEFORCBkPDE3 LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoZz0naWhnZmVkYycgQU5EIGYgR0xP QiAnYWJjZGUqJykKICAgICAgICAgIE9SIGM9MzMwMzMKICAgXV0pCkBAIC0zNTI2LDcgKzM1MjYs NyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiAoZz0naGdmZWRjYicgQU5EIGYgR0xPQiAn aWprbG0qJykKICAgICAgICAgIE9SIGM9MTAwMQogICAgICAgICAgT1IgKGc9J2hnZmVkY2InIEFO RCBmIEdMT0IgJ2hpamtsKicpCi0gICAgICAgICBPUiAoZD49MTYuMCBBTkQgZDwxNy4wIEFORCBk IE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTE2LjAgQU5EIGQ8MTcuMCBBTkQgZCBJUyBOT1Qg TlVMTCkKICAgICAgICAgIE9SIChnPSdpaGdmZWRjJyBBTkQgZiBHTE9CICdhYmNkZSonKQogICAg ICAgICAgT1IgYz0zMzAzMwogICBdXSkKQEAgLTM2MTAsNyArMzYxMCw3IEBAIHRlc3Q6ZG9fdGVz dCgKICAgICAgIFdIRVJFIGI9NjYKICAgICAgICAgIE9SIGI9NTUzCiAgICAgICAgICBPUiBhPTY0 Ci0gICAgICAgICBPUiAoZD49OTMuMCBBTkQgZDw5NC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAg ICAgT1IgKGQ+PTkzLjAgQU5EIGQ8OTQuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9S IChnPSd2dXRzcnFwJyBBTkQgZiBHTE9CICdyc3R1dionKQogICAgICAgICAgT1IgYT02MgogICAg ICAgICAgT1IgYj0xMDgxCkBAIC0zNjMzLDcgKzM2MzMsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAg ICBXSEVSRSBiPTY2CiAgICAgICAgICBPUiBiPTU1MwogICAgICAgICAgT1IgYT02NAotICAgICAg ICAgT1IgKGQ+PTkzLjAgQU5EIGQ8OTQuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChk Pj05My4wIEFORCBkPDk0LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoZz0ndnV0 c3JxcCcgQU5EIGYgR0xPQiAncnN0dXYqJykKICAgICAgICAgIE9SIGE9NjIKICAgICAgICAgIE9S IGI9MTA4MQpAQCAtMzY4OCwxMCArMzY4OCwxMCBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgIHJl dHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIKICAgICAgIFdI RVJFIGM9MzQwMzQKLSAgICAgICAgIE9SIChkPj02OC4wIEFORCBkPDY5LjAgQU5EIGQgTk9UIE5V TEwpCisgICAgICAgICBPUiAoZD49NjguMCBBTkQgZDw2OS4wIEFORCBkIElTIE5PVCBOVUxMKQog ICAgICAgICAgT1IgYT00NAogICAgICAgICAgT1IgKGc9J3RzcnFwb24nIEFORCBmIEdMT0IgJ3h5 emFiKicpCi0gICAgICAgICBPUiAoZD49MTIuMCBBTkQgZDwxMy4wIEFORCBkIE5PVCBOVUxMKQor ICAgICAgICAgT1IgKGQ+PTEyLjAgQU5EIGQ8MTMuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAg ICAgIE9SIGM9MzEwMzEKICAgICAgICAgIE9SIChnPSdpaGdmZWRjJyBBTkQgZiBHTE9CICdhYmNk ZSonKQogICAgICAgICAgT1IgYj02MTkKQEAgLTM3MTAsMTAgKzM3MTAsMTAgQEAgdGVzdDpkb190 ZXN0KAogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBG Uk9NIHQzCiAgICAgICBXSEVSRSBjPTM0MDM0Ci0gICAgICAgICBPUiAoZD49NjguMCBBTkQgZDw2 OS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTY4LjAgQU5EIGQ8NjkuMCBBTkQg ZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGE9NDQKICAgICAgICAgIE9SIChnPSd0c3JxcG9u JyBBTkQgZiBHTE9CICd4eXphYionKQotICAgICAgICAgT1IgKGQ+PTEyLjAgQU5EIGQ8MTMuMCBB TkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0xMi4wIEFORCBkPDEzLjAgQU5EIGQgSVMg Tk9UIE5VTEwpCiAgICAgICAgICBPUiBjPTMxMDMxCiAgICAgICAgICBPUiAoZz0naWhnZmVkYycg QU5EIGYgR0xPQiAnYWJjZGUqJykKICAgICAgICAgIE9SIGI9NjE5CkBAIC0zNzM1LDcgKzM3MzUs NyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBjPTE1MDE1CiAgICAgICAgICBPUiAoKGEg QkVUV0VFTiA2NSBBTkQgNjcpIEFORCBhIT02NikKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDk3 IEFORCA5OSkgQU5EIGEhPTk4KQotICAgICAgICAgT1IgKGQ+PTQ0LjAgQU5EIGQ8NDUuMCBBTkQg ZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj00NC4wIEFORCBkPDQ1LjAgQU5EIGQgSVMgTk9U IE5VTEwpCiAgICAgICAgICBPUiBiPTExMAogICAgICAgICAgT1IgZj0na2xtbm9wcXJzJwogICAg ICAgICAgT1IgKGc9J2ZlZGNiYXonIEFORCBmIEdMT0IgJ3Fyc3R1KicpCkBAIC0zNzU4LDcgKzM3 NTgsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBjPTE1MDE1CiAgICAgICAgICBPUiAo KGEgQkVUV0VFTiA2NSBBTkQgNjcpIEFORCBhIT02NikKICAgICAgICAgIE9SICgoYSBCRVRXRUVO IDk3IEFORCA5OSkgQU5EIGEhPTk4KQotICAgICAgICAgT1IgKGQ+PTQ0LjAgQU5EIGQ8NDUuMCBB TkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj00NC4wIEFORCBkPDQ1LjAgQU5EIGQgSVMg Tk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTExMAogICAgICAgICAgT1IgZj0na2xtbm9wcXJzJwog ICAgICAgICAgT1IgKGc9J2ZlZGNiYXonIEFORCBmIEdMT0IgJ3Fyc3R1KicpCkBAIC0zNzc5LDkg KzM3NzksOSBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgIFNFTEVDVCBhIEZST00gdDIKICAgICAgIFdI RVJFIGE9NzIKICAgICAgICAgIE9SIGI9OTEzCi0gICAgICAgICBPUiAoZD49MjguMCBBTkQgZDwy OS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTI4LjAgQU5EIGQ8MjkuMCBBTkQg ZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9MTIxCi0gICAgICAgICBPUiAoZD49Mi4wIEFO RCBkPDMuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0yLjAgQU5EIGQ8My4wIEFO RCBkIElTIE5PVCBOVUxMKQogICBdXSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0y Ljk0LjE+CkBAIC0zNzk2LDkgKzM3OTYsOSBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgIFNFTEVDVCBh IEZST00gdDMKICAgICAgIFdIRVJFIGE9NzIKICAgICAgICAgIE9SIGI9OTEzCi0gICAgICAgICBP UiAoZD49MjguMCBBTkQgZDwyOS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTI4 LjAgQU5EIGQ8MjkuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9MTIxCi0gICAg ICAgICBPUiAoZD49Mi4wIEFORCBkPDMuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChk Pj0yLjAgQU5EIGQ8My4wIEFORCBkIElTIE5PVCBOVUxMKQogICBdXSkKICAgICBlbmQsIHsKICAg ICAgICAgLS0gPHdoZXJlNy0yLjk0LjI+CkBAIC0zOTEwLDkgKzM5MTAsOSBAQCB0ZXN0OmRvX3Rl c3QoCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZS T00gdDIKICAgICAgIFdIRVJFIGI9MjUKLSAgICAgICAgIE9SIChkPj0yMy4wIEFORCBkPDI0LjAg QU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MjMuMCBBTkQgZDwyNC4wIEFORCBkIElT IE5PVCBOVUxMKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gODEgQU5EIDgzKSBBTkQgYSE9ODIp Ci0gICAgICAgICBPUiAoZD49MTcuMCBBTkQgZDwxOC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAg ICAgT1IgKGQ+PTE3LjAgQU5EIGQ8MTguMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9S ICgoYSBCRVRXRUVOIDMgQU5EIDUpIEFORCBhIT00KQogICAgICAgICAgT1IgYj0yODkKICAgICAg ICAgIE9SICgoYSBCRVRXRUVOIDg1IEFORCA4NykgQU5EIGEhPTg2KQpAQCAtMzkyOSw5ICszOTI5 LDkgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwog ICAgICBTRUxFQ1QgYSBGUk9NIHQzCiAgICAgICBXSEVSRSBiPTI1Ci0gICAgICAgICBPUiAoZD49 MjMuMCBBTkQgZDwyNC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTIzLjAgQU5E IGQ8MjQuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDgxIEFO RCA4MykgQU5EIGEhPTgyKQotICAgICAgICAgT1IgKGQ+PTE3LjAgQU5EIGQ8MTguMCBBTkQgZCBO T1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0xNy4wIEFORCBkPDE4LjAgQU5EIGQgSVMgTk9UIE5V TEwpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiAzIEFORCA1KSBBTkQgYSE9NCkKICAgICAgICAg IE9SIGI9Mjg5CiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA4NSBBTkQgODcpIEFORCBhIT04NikK QEAgLTM5NDksMTIgKzM5NDksMTIgQEAgdGVzdDpkb190ZXN0KAogICAgICBTRUxFQ1QgYSBGUk9N IHQyCiAgICAgICBXSEVSRSBmPSdkZWZnaGlqa2wnCiAgICAgICAgICBPUiBiPTQ2NQotICAgICAg ICAgT1IgKGQ+PTQ2LjAgQU5EIGQ8NDcuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChk Pj00Ni4wIEFORCBkPDQ3LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBjPTkwMDkK ICAgICAgICAgIE9SIGI9OTkwCiAgICAgICAgICBPUiBiPTEzMgogICAgICAgICAgT1IgYT0zNQot ICAgICAgICAgT1IgKGQ+PTc4LjAgQU5EIGQ8NzkuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAg IE9SIChkPj03OC4wIEFORCBkPDc5LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBh PTgxCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA3MSBBTkQgNzMpIEFORCBhIT03MikKICAgXV0p CkBAIC0zOTcxLDEyICszOTcxLDEyIEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgU0VMRUNUIGEgRlJP TSB0MwogICAgICAgV0hFUkUgZj0nZGVmZ2hpamtsJwogICAgICAgICAgT1IgYj00NjUKLSAgICAg ICAgIE9SIChkPj00Ni4wIEFORCBkPDQ3LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAo ZD49NDYuMCBBTkQgZDw0Ny4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYz05MDA5 CiAgICAgICAgICBPUiBiPTk5MAogICAgICAgICAgT1IgYj0xMzIKICAgICAgICAgIE9SIGE9MzUK LSAgICAgICAgIE9SIChkPj03OC4wIEFORCBkPDc5LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAg ICBPUiAoZD49NzguMCBBTkQgZDw3OS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1Ig YT04MQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNzEgQU5EIDczKSBBTkQgYSE9NzIpCiAgIF1d KQpAQCAtMzk5Miw3ICszOTkyLDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICByZXR1cm4gY291 bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCiAgICAgICBXSEVSRSBjPTI2 MDI2Ci0gICAgICAgICBPUiAoZD49OS4wIEFORCBkPDEwLjAgQU5EIGQgTk9UIE5VTEwpCisgICAg ICAgICBPUiAoZD49OS4wIEFORCBkPDEwLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBP UiBmPSdsbW5vcHFyc3QnCiAgICAgICAgICBPUiBhPTYKICAgICAgICAgIE9SICgoYSBCRVRXRUVO IDU5IEFORCA2MSkgQU5EIGEhPTYwKQpAQCAtNDAwOSw3ICs0MDA5LDcgQEAgdGVzdDpkb190ZXN0 KAogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9N IHQzCiAgICAgICBXSEVSRSBjPTI2MDI2Ci0gICAgICAgICBPUiAoZD49OS4wIEFORCBkPDEwLjAg QU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49OS4wIEFORCBkPDEwLjAgQU5EIGQgSVMg Tk9UIE5VTEwpCiAgICAgICAgICBPUiBmPSdsbW5vcHFyc3QnCiAgICAgICAgICBPUiBhPTYKICAg ICAgICAgIE9SICgoYSBCRVRXRUVOIDU5IEFORCA2MSkgQU5EIGEhPTYwKQpAQCAtNDAyNiw3ICs0 MDI2LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChb WwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCiAgICAgICBXSEVSRSAoKGEgQkVUV0VFTiA5OCBBTkQg MTAwKSBBTkQgYSE9OTkpCi0gICAgICAgICBPUiAoZD49Ny4wIEFORCBkPDguMCBBTkQgZCBOT1Qg TlVMTCkKKyAgICAgICAgIE9SIChkPj03LjAgQU5EIGQ8OC4wIEFORCBkIElTIE5PVCBOVUxMKQog ICBdXSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjEwMS4xPgpAQCAtNDA0MCw3 ICs0MDQwLDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29y dChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQzCiAgICAgICBXSEVSRSAoKGEgQkVUV0VFTiA5OCBB TkQgMTAwKSBBTkQgYSE9OTkpCi0gICAgICAgICBPUiAoZD49Ny4wIEFORCBkPDguMCBBTkQgZCBO T1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj03LjAgQU5EIGQ8OC4wIEFORCBkIElTIE5PVCBOVUxM KQogICBdXSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjEwMS4yPgpAQCAtNDA1 NCwxMiArNDA1NCwxMiBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVw c19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIKICAgICAgIFdIRVJFIGM9MTEwMTEKLSAg ICAgICAgIE9SIChkPj01MS4wIEFORCBkPDUyLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBP UiAoZD49NTEuMCBBTkQgZDw1Mi4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj02 MzAKICAgICAgICAgIE9SIGM9MTkwMTkKICAgICAgICAgIE9SIChnPSdnZmVkY2JhJyBBTkQgZiBH TE9CICdsbW5vcConKQogICAgICAgICAgT1IgYT0yNAotICAgICAgICAgT1IgKGQ+PTk1LjAgQU5E IGQ8OTYuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj05NS4wIEFORCBkPDk2LjAg QU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA1MSBBTkQgNTMpIEFO RCBhIT01MikKICAgXV0pCiAgICAgZW5kLCB7CkBAIC00MDc0LDEyICs0MDc0LDEyIEBAIHRlc3Q6 ZG9fdGVzdCgKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNU IGEgRlJPTSB0MwogICAgICAgV0hFUkUgYz0xMTAxMQotICAgICAgICAgT1IgKGQ+PTUxLjAgQU5E IGQ8NTIuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj01MS4wIEFORCBkPDUyLjAg QU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTYzMAogICAgICAgICAgT1IgYz0xOTAx OQogICAgICAgICAgT1IgKGc9J2dmZWRjYmEnIEFORCBmIEdMT0IgJ2xtbm9wKicpCiAgICAgICAg ICBPUiBhPTI0Ci0gICAgICAgICBPUiAoZD49OTUuMCBBTkQgZDw5Ni4wIEFORCBkIE5PVCBOVUxM KQorICAgICAgICAgT1IgKGQ+PTk1LjAgQU5EIGQ8OTYuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAg ICAgICAgIE9SICgoYSBCRVRXRUVOIDUxIEFORCA1MykgQU5EIGEhPTUyKQogICBdXSkKICAgICBl bmQsIHsKQEAgLTQyNjQsNyArNDI2NCw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgcmV0dXJu IGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MgogICAgICAgV0hFUkUg Yj00OTgKLSAgICAgICAgIE9SIChkPj02OS4wIEFORCBkPDcwLjAgQU5EIGQgTk9UIE5VTEwpCisg ICAgICAgICBPUiAoZD49NjkuMCBBTkQgZDw3MC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAg ICAgT1IgYT0xCiAgIF1dKQogICAgIGVuZCwgewpAQCAtNDI3OSw3ICs0Mjc5LDcgQEAgdGVzdDpk b190ZXN0KAogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1Qg YSBGUk9NIHQzCiAgICAgICBXSEVSRSBiPTQ5OAotICAgICAgICAgT1IgKGQ+PTY5LjAgQU5EIGQ8 NzAuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj02OS4wIEFORCBkPDcwLjAgQU5E IGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBhPTEKICAgXV0pCiAgICAgZW5kLCB7CkBAIC00 NTMzLDcgKzQ1MzMsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBiPTYzMAogICAgICAg ICAgT1IgKGYgR0xPQiAnP2NkZWYqJyBBTkQgZiBHTE9CICdiY2RlKicpCiAgICAgICAgICBPUiBj PTMwMDMKLSAgICAgICAgIE9SIChkPj00OS4wIEFORCBkPDUwLjAgQU5EIGQgTk9UIE5VTEwpCisg ICAgICAgICBPUiAoZD49NDkuMCBBTkQgZDw1MC4wIEFORCBkIElTIE5PVCBOVUxMKQogICBdXSkK ICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjExNi4xPgpAQCAtNDU1NCw3ICs0NTU0 LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgYj02MzAKICAgICAgICAgIE9SIChmIEdM T0IgJz9jZGVmKicgQU5EIGYgR0xPQiAnYmNkZSonKQogICAgICAgICAgT1IgYz0zMDAzCi0gICAg ICAgICBPUiAoZD49NDkuMCBBTkQgZDw1MC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1Ig KGQ+PTQ5LjAgQU5EIGQ8NTAuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAgICAgZW5kLCB7 CiAgICAgICAgIC0tIDx3aGVyZTctMi4xMTYuMj4KQEAgLTQ1NzUsNyArNDU3NSw3IEBAIHRlc3Q6 ZG9fdGVzdCgKICAgICAgICAgIE9SIGI9MTQzCiAgICAgICAgICBPUiAoZiBHTE9CICc/a2xtbion IEFORCBmIEdMT0IgJ2prbG0qJykKICAgICAgICAgIE9SIChnPSdvbm1sa2ppJyBBTkQgZiBHTE9C ICd3eHl6YSonKQotICAgICAgICAgT1IgKGQ+PTEwLjAgQU5EIGQ8MTEuMCBBTkQgZCBOT1QgTlVM TCkKKyAgICAgICAgIE9SIChkPj0xMC4wIEFORCBkPDExLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAg IF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIuMTE3LjE+CkBAIC00NTk2LDcg KzQ1OTYsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBiPTE0MwogICAgICAgICAgT1Ig KGYgR0xPQiAnP2tsbW4qJyBBTkQgZiBHTE9CICdqa2xtKicpCiAgICAgICAgICBPUiAoZz0nb25t bGtqaScgQU5EIGYgR0xPQiAnd3h5emEqJykKLSAgICAgICAgIE9SIChkPj0xMC4wIEFORCBkPDEx LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MTAuMCBBTkQgZDwxMS4wIEFORCBk IElTIE5PVCBOVUxMKQogICBdXSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjEx Ny4yPgpAQCAtNDY0MSw3ICs0NjQxLDcgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9uKCkK ICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0 MgotICAgICAgV0hFUkUgKGQ+PTMuMCBBTkQgZDw0LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBX SEVSRSAoZD49My4wIEFORCBkPDQuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9 NDUxCiAgICAgICAgICBPUiBiPTM2MwogICAgICAgICAgT1IgYj0zMzAKQEAgLTQ2NjIsNyArNDY2 Miw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3Vu dF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDMKLSAgICAgIFdIRVJFIChkPj0z LjAgQU5EIGQ8NC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTMuMCBBTkQgZDw0 LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTQ1MQogICAgICAgICAgT1IgYj0z NjMKICAgICAgICAgIE9SIGI9MzMwCkBAIC00Njg0LDcgKzQ2ODQsNyBAQCB0ZXN0OmRvX3Rlc3Qo CiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00g dDIKICAgICAgIFdIRVJFIChnPSdmZWRjYmF6JyBBTkQgZiBHTE9CICdyc3R1dionKQotICAgICAg ICAgT1IgKGQ+PTY4LjAgQU5EIGQ8NjkuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChk Pj02OC4wIEFORCBkPDY5LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoZz0ndnV0 c3JxcCcgQU5EIGYgR0xPQiAncHFyc3QqJykKICAgICAgICAgIE9SIGUgSVMgTlVMTAogICAgICAg ICAgT1IgYj03NTkKQEAgLTQ3MDEsNyArNDcwMSw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAg cmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MwogICAgICAg V0hFUkUgKGc9J2ZlZGNiYXonIEFORCBmIEdMT0IgJ3JzdHV2KicpCi0gICAgICAgICBPUiAoZD49 NjguMCBBTkQgZDw2OS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTY4LjAgQU5E IGQ8NjkuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChnPSd2dXRzcnFwJyBBTkQg ZiBHTE9CICdwcXJzdConKQogICAgICAgICAgT1IgZSBJUyBOVUxMCiAgICAgICAgICBPUiBiPTc1 OQpAQCAtNDc0OCwxMCArNDc0OCwxMCBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgIHJldHVybiBj b3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIKICAgICAgIFdIRVJFIGI9 MTAzNwotICAgICAgICAgT1IgKGQ+PTQ3LjAgQU5EIGQ8NDguMCBBTkQgZCBOT1QgTlVMTCkKKyAg ICAgICAgIE9SIChkPj00Ny4wIEFORCBkPDQ4LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAg ICBPUiAoKGEgQkVUV0VFTiA0MyBBTkQgNDUpIEFORCBhIT00NCkKLSAgICAgICAgIE9SIChkPj04 Mi4wIEFORCBkPDgzLjAgQU5EIGQgTk9UIE5VTEwpCi0gICAgICAgICBPUiAoZD49MjcuMCBBTkQg ZDwyOC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTgyLjAgQU5EIGQ8ODMuMCBB TkQgZCBJUyBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0yNy4wIEFORCBkPDI4LjAgQU5EIGQg SVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA3NSBBTkQgNzcpIEFORCBhIT03 NikKICAgXV0pCiAgICAgZW5kLCB7CkBAIC00NzY2LDEwICs0NzY2LDEwIEBAIHRlc3Q6ZG9fdGVz dCgKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJP TSB0MwogICAgICAgV0hFUkUgYj0xMDM3Ci0gICAgICAgICBPUiAoZD49NDcuMCBBTkQgZDw0OC4w IEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTQ3LjAgQU5EIGQ8NDguMCBBTkQgZCBJ UyBOT1QgTlVMTCkKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDQzIEFORCA0NSkgQU5EIGEhPTQ0 KQotICAgICAgICAgT1IgKGQ+PTgyLjAgQU5EIGQ8ODMuMCBBTkQgZCBOT1QgTlVMTCkKLSAgICAg ICAgIE9SIChkPj0yNy4wIEFORCBkPDI4LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAo ZD49ODIuMCBBTkQgZDw4My4wIEFORCBkIElTIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTI3 LjAgQU5EIGQ8MjguMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SICgoYSBCRVRXRUVO IDc1IEFORCA3NykgQU5EIGEhPTc2KQogICBdXSkKICAgICBlbmQsIHsKQEAgLTQ4NjEsNyArNDg2 MSw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIChmIEdMT0IgJz9qa2xtKicgQU5EIGYg R0xPQiAnaWprbConKQogICAgICAgICAgT1IgKGc9J3NycXBvbm0nIEFORCBmIEdMT0IgJ2ZnaGlq KicpCiAgICAgICAgICBPUiBiPTI0MgotICAgICAgICAgT1IgKGQ+PTcwLjAgQU5EIGQ8NzEuMCBB TkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj03MC4wIEFORCBkPDcxLjAgQU5EIGQgSVMg Tk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTM1MgogICAgICAgICAgT1IgYT00OQogICAgICAgICAg T1IgKGc9J25tbGtqaWgnIEFORCBmIEdMT0IgJ2ZnaGlqKicpCkBAIC00ODgzLDcgKzQ4ODMsNyBA QCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiAoZiBHTE9CICc/amtsbSonIEFORCBmIEdMT0Ig J2lqa2wqJykKICAgICAgICAgIE9SIChnPSdzcnFwb25tJyBBTkQgZiBHTE9CICdmZ2hpaionKQog ICAgICAgICAgT1IgYj0yNDIKLSAgICAgICAgIE9SIChkPj03MC4wIEFORCBkPDcxLjAgQU5EIGQg Tk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NzAuMCBBTkQgZDw3MS4wIEFORCBkIElTIE5PVCBO VUxMKQogICAgICAgICAgT1IgYj0zNTIKICAgICAgICAgIE9SIGE9NDkKICAgICAgICAgIE9SIChn PSdubWxramloJyBBTkQgZiBHTE9CICdmZ2hpaionKQpAQCAtNDg5OSwxNCArNDg5OSwxNCBAQCB0 ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNf c29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCi0gICAgICBXSEVSRSAoZD49ODcuMCBBTkQg ZDw4OC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTg3LjAgQU5EIGQ8ODguMCBB TkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9NzA0CiAgICAgICAgICBPUiBhPTcKICAg ICAgICAgIE9SIGE9OAogICAgICAgICAgT1IgYT00NgogICAgICAgICAgT1IgYj03NDAKICAgICAg ICAgIE9SIGI9OTkzCi0gICAgICAgICBPUiAoZD49MzguMCBBTkQgZDwzOS4wIEFORCBkIE5PVCBO VUxMKQorICAgICAgICAgT1IgKGQ+PTM4LjAgQU5EIGQ8MzkuMCBBTkQgZCBJUyBOT1QgTlVMTCkK ICAgXV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi4xMjYuMT4KQEAgLTQ5MTks MTQgKzQ5MTksMTQgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAgICAgICAgcmV0 dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MwotICAgICAgV0hF UkUgKGQ+PTg3LjAgQU5EIGQ8ODguMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChkPj04 Ny4wIEFORCBkPDg4LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTcwNAogICAg ICAgICAgT1IgYT03CiAgICAgICAgICBPUiBhPTgKICAgICAgICAgIE9SIGE9NDYKICAgICAgICAg IE9SIGI9NzQwCiAgICAgICAgICBPUiBiPTk5MwotICAgICAgICAgT1IgKGQ+PTM4LjAgQU5EIGQ8 MzkuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0zOC4wIEFORCBkPDM5LjAgQU5E IGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIu MTI2LjI+CkBAIC00OTk5LDggKzQ5OTksOCBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24o KQogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9N IHQyCi0gICAgICBXSEVSRSAoZD49MjYuMCBBTkQgZDwyNy4wIEFORCBkIE5PVCBOVUxMKQotICAg ICAgICAgT1IgKGQ+PTk3LjAgQU5EIGQ8OTguMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJF IChkPj0yNi4wIEFORCBkPDI3LjAgQU5EIGQgSVMgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49 OTcuMCBBTkQgZDw5OC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYT02NQogICBd XSkKICAgICBlbmQsIHsKQEAgLTUwMTQsOCArNTAxNCw4IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBm dW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVD VCBhIEZST00gdDMKLSAgICAgIFdIRVJFIChkPj0yNi4wIEFORCBkPDI3LjAgQU5EIGQgTk9UIE5V TEwpCi0gICAgICAgICBPUiAoZD49OTcuMCBBTkQgZDw5OC4wIEFORCBkIE5PVCBOVUxMKQorICAg ICAgV0hFUkUgKGQ+PTI2LjAgQU5EIGQ8MjcuMCBBTkQgZCBJUyBOT1QgTlVMTCkKKyAgICAgICAg IE9SIChkPj05Ny4wIEFORCBkPDk4LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBh PTY1CiAgIF1dKQogICAgIGVuZCwgewpAQCAtNTAyOSwxMCArNTAyOSwxMCBAQCB0ZXN0OmRvX3Rl c3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwog ICAgICBTRUxFQ1QgYSBGUk9NIHQyCi0gICAgICBXSEVSRSAoZD49NzEuMCBBTkQgZDw3Mi4wIEFO RCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTcxLjAgQU5EIGQ8NzIuMCBBTkQgZCBJUyBO T1QgTlVMTCkKICAgICAgICAgIE9SIDEwMDAwMDA8YgogICAgICAgICAgT1IgKGc9J3l4d3Z1dHMn IEFORCBmIEdMT0IgJ2NkZWZnKicpCi0gICAgICAgICBPUiAoZD49NTAuMCBBTkQgZDw1MS4wIEFO RCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTUwLjAgQU5EIGQ8NTEuMCBBTkQgZCBJUyBO T1QgTlVMTCkKICAgICAgICAgIE9SIGE9MjQKICAgXV0pCiAgICAgZW5kLCB7CkBAIC01MDQ2LDEw ICs1MDQ2LDEwIEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVy biBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDMKLSAgICAgIFdIRVJF IChkPj03MS4wIEFORCBkPDcyLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49NzEu MCBBTkQgZDw3Mi4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgMTAwMDAwMDxiCiAg ICAgICAgICBPUiAoZz0neXh3dnV0cycgQU5EIGYgR0xPQiAnY2RlZmcqJykKLSAgICAgICAgIE9S IChkPj01MC4wIEFORCBkPDUxLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NTAu MCBBTkQgZDw1MS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYT0yNAogICBdXSkK ICAgICBlbmQsIHsKQEAgLTUwNjksNyArNTA2OSw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAg IE9SIGI9MzYKICAgICAgICAgIE9SIGI9ODE0CiAgICAgICAgICBPUiBhPTE0Ci0gICAgICAgICBP UiAoZD49NjEuMCBBTkQgZDw2Mi4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTYx LjAgQU5EIGQ8NjIuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9NDQwCiAgICAg ICAgICBPUiAoZz0neHd2dXRzcicgQU5EIGYgR0xPQiAnZmdoaWoqJykKICAgICAgICAgIE9SIChm IEdMT0IgJz9hYmNkKicgQU5EIGYgR0xPQiAnemFiYyonKQpAQCAtNTA5MSw3ICs1MDkxLDcgQEAg dGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgYj0zNgogICAgICAgICAgT1IgYj04MTQKICAgICAg ICAgIE9SIGE9MTQKLSAgICAgICAgIE9SIChkPj02MS4wIEFORCBkPDYyLjAgQU5EIGQgTk9UIE5V TEwpCisgICAgICAgICBPUiAoZD49NjEuMCBBTkQgZDw2Mi4wIEFORCBkIElTIE5PVCBOVUxMKQog ICAgICAgICAgT1IgYj00NDAKICAgICAgICAgIE9SIChnPSd4d3Z1dHNyJyBBTkQgZiBHTE9CICdm Z2hpaionKQogICAgICAgICAgT1IgKGYgR0xPQiAnP2FiY2QqJyBBTkQgZiBHTE9CICd6YWJjKicp CkBAIC01MTYzLDcgKzUxNjMsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAg ICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCi0g ICAgICBXSEVSRSAoZD49ODAuMCBBTkQgZDw4MS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hF UkUgKGQ+PTgwLjAgQU5EIGQ8ODEuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGE9 ODIKICAgXV0pCiAgICAgZW5kLCB7CkBAIC01MTc3LDcgKzUxNzcsNyBAQCB0ZXN0OmRvX3Rlc3Qo CiAgICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAg ICBTRUxFQ1QgYSBGUk9NIHQzCi0gICAgICBXSEVSRSAoZD49ODAuMCBBTkQgZDw4MS4wIEFORCBk IE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTgwLjAgQU5EIGQ8ODEuMCBBTkQgZCBJUyBOT1Qg TlVMTCkKICAgICAgICAgIE9SIGE9ODIKICAgXV0pCiAgICAgZW5kLCB7CkBAIC01MTk1LDcgKzUx OTUsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBjPTI0MDI0CiAgICAgICAgICBPUiBi PTk0NgogICAgICAgICAgT1IgYT0xOQotICAgICAgICAgT1IgKGQ+PTQ3LjAgQU5EIGQ8NDguMCBB TkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj00Ny4wIEFORCBkPDQ4LjAgQU5EIGQgSVMg Tk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIuMTM1LjE+ CkBAIC01MjEyLDcgKzUyMTIsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBjPTI0MDI0 CiAgICAgICAgICBPUiBiPTk0NgogICAgICAgICAgT1IgYT0xOQotICAgICAgICAgT1IgKGQ+PTQ3 LjAgQU5EIGQ8NDguMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj00Ny4wIEFORCBk PDQ4LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8 d2hlcmU3LTIuMTM1LjI+CkBAIC01MjY1LDcgKzUyNjUsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAg IFNFTEVDVCBhIEZST00gdDIKICAgICAgIFdIRVJFIGI9NzA0CiAgICAgICAgICBPUiBiPTk0OQot ICAgICAgICAgT1IgKGQ+PTcyLjAgQU5EIGQ8NzMuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAg IE9SIChkPj03Mi4wIEFORCBkPDczLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAo Zz0ndXRzcnFwbycgQU5EIGYgR0xPQiAnd3h5emEqJykKICAgICAgICAgIE9SIGM9MjQwMjQKICAg ICAgICAgIE9SIGI9NTUzCkBAIC01Mjg1LDcgKzUyODUsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAg IFNFTEVDVCBhIEZST00gdDMKICAgICAgIFdIRVJFIGI9NzA0CiAgICAgICAgICBPUiBiPTk0OQot ICAgICAgICAgT1IgKGQ+PTcyLjAgQU5EIGQ8NzMuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAg IE9SIChkPj03Mi4wIEFORCBkPDczLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAo Zz0ndXRzcnFwbycgQU5EIGYgR0xPQiAnd3h5emEqJykKICAgICAgICAgIE9SIGM9MjQwMjQKICAg ICAgICAgIE9SIGI9NTUzCkBAIC01MzA2LDcgKzUzMDYsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAg ICBXSEVSRSAoZiBHTE9CICc/Y2RlZionIEFORCBmIEdMT0IgJ2JjZGUqJykKICAgICAgICAgIE9S IChnPSdpaGdmZWRjJyBBTkQgZiBHTE9CICdlZmdoaSonKQogICAgICAgICAgT1IgYj05MDIKLSAg ICAgICAgIE9SIChkPj02MS4wIEFORCBkPDYyLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBP UiAoZD49NjEuMCBBTkQgZDw2Mi4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj0y NQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMTYgQU5EIDE4KSBBTkQgYSE9MTcpCiAgICAgICAg ICBPUiBmPSd6YWJjZGVmZ2gnCkBAIC01MzI2LDcgKzUzMjYsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAg ICAgICBXSEVSRSAoZiBHTE9CICc/Y2RlZionIEFORCBmIEdMT0IgJ2JjZGUqJykKICAgICAgICAg IE9SIChnPSdpaGdmZWRjJyBBTkQgZiBHTE9CICdlZmdoaSonKQogICAgICAgICAgT1IgYj05MDIK LSAgICAgICAgIE9SIChkPj02MS4wIEFORCBkPDYyLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAg ICBPUiAoZD49NjEuMCBBTkQgZDw2Mi4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1Ig Yj0yNQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMTYgQU5EIDE4KSBBTkQgYSE9MTcpCiAgICAg ICAgICBPUiBmPSd6YWJjZGVmZ2gnCkBAIC01MzQ2LDcgKzUzNDYsNyBAQCB0ZXN0OmRvX3Rlc3Qo CiAgICAgICBXSEVSRSBhPTIyCiAgICAgICAgICBPUiBiPTM2CiAgICAgICAgICBPUiAoKGEgQkVU V0VFTiA1NyBBTkQgNTkpIEFORCBhIT01OCkKLSAgICAgICAgIE9SIChkPj0zMS4wIEFORCBkPDMy LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MzEuMCBBTkQgZDwzMi4wIEFORCBk IElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gODEgQU5EIDgzKSBBTkQgYSE9 ODIpCiAgIF1dKQogICAgIGVuZCwgewpAQCAtNTM2Myw3ICs1MzYzLDcgQEAgdGVzdDpkb190ZXN0 KAogICAgICAgV0hFUkUgYT0yMgogICAgICAgICAgT1IgYj0zNgogICAgICAgICAgT1IgKChhIEJF VFdFRU4gNTcgQU5EIDU5KSBBTkQgYSE9NTgpCi0gICAgICAgICBPUiAoZD49MzEuMCBBTkQgZDwz Mi4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTMxLjAgQU5EIGQ8MzIuMCBBTkQg ZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDgxIEFORCA4MykgQU5EIGEh PTgyKQogICBdXSkKICAgICBlbmQsIHsKQEAgLTUzNzgsNyArNTM3OCw3IEBAIHRlc3Q6ZG9fdGVz dCgKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJP TSB0MgogICAgICAgV0hFUkUgYj0yNTMKLSAgICAgICAgIE9SIChkPj02MC4wIEFORCBkPDYxLjAg QU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NjAuMCBBTkQgZDw2MS4wIEFORCBkIElT IE5PVCBOVUxMKQogICBdXSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjE0MC4x PgpAQCAtNTM5Miw3ICs1MzkyLDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICByZXR1cm4gY291 bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQzCiAgICAgICBXSEVSRSBiPTI1 MwotICAgICAgICAgT1IgKGQ+PTYwLjAgQU5EIGQ8NjEuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAg ICAgIE9SIChkPj02MC4wIEFORCBkPDYxLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAg IGVuZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIuMTQwLjI+CkBAIC01NDQwLDEzICs1NDQwLDEz IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgIFdIRVJFIGM9MzAwMzAKICAgICAgICAgIE9SIGE9MTgK ICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDQ0IEFORCA0NikgQU5EIGEhPTQ1KQotICAgICAgICAg T1IgKGQ+PTg5LjAgQU5EIGQ8OTAuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj04 OS4wIEFORCBkPDkwLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTExCiAgICAg ICAgICBPUiAoZz0ncXBvbm1saycgQU5EIGYgR0xPQiAnb3BxcnMqJykKICAgICAgICAgIE9SIGE9 NTIKICAgICAgICAgIE9SIChnPSd1dHNycXBvJyBBTkQgZiBHTE9CICd3eHl6YSonKQogICAgICAg ICAgT1IgYT0xMwotICAgICAgICAgT1IgKGQ+PTY1LjAgQU5EIGQ8NjYuMCBBTkQgZCBOT1QgTlVM TCkKKyAgICAgICAgIE9SIChkPj02NS4wIEFORCBkPDY2LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAg IF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIuMTQyLjE+CkBAIC01NDYyLDEz ICs1NDYyLDEzIEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgIFdIRVJFIGM9MzAwMzAKICAgICAgICAg IE9SIGE9MTgKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDQ0IEFORCA0NikgQU5EIGEhPTQ1KQot ICAgICAgICAgT1IgKGQ+PTg5LjAgQU5EIGQ8OTAuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAg IE9SIChkPj04OS4wIEFORCBkPDkwLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBi PTExCiAgICAgICAgICBPUiAoZz0ncXBvbm1saycgQU5EIGYgR0xPQiAnb3BxcnMqJykKICAgICAg ICAgIE9SIGE9NTIKICAgICAgICAgIE9SIChnPSd1dHNycXBvJyBBTkQgZiBHTE9CICd3eHl6YSon KQogICAgICAgICAgT1IgYT0xMwotICAgICAgICAgT1IgKGQ+PTY1LjAgQU5EIGQ8NjYuMCBBTkQg ZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj02NS4wIEFORCBkPDY2LjAgQU5EIGQgSVMgTk9U IE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIuMTQyLjI+CkBA IC01NDg1LDcgKzU0ODUsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBmPSdlZmdoaWpr bG0nCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiAzOSBBTkQgNDEpIEFORCBhIT00MCkKICAgICAg ICAgIE9SIGI9MTA0NQotICAgICAgICAgT1IgKGQ+PTI0LjAgQU5EIGQ8MjUuMCBBTkQgZCBOT1Qg TlVMTCkKKyAgICAgICAgIE9SIChkPj0yNC4wIEFORCBkPDI1LjAgQU5EIGQgSVMgTk9UIE5VTEwp CiAgICAgICAgICBPUiBmPSd1dnd4eXphYmMnCiAgICAgICAgICBPUiAoZiBHTE9CICc/emFiYyon IEFORCBmIEdMT0IgJ3l6YWIqJykKICAgXV0pCkBAIC01NTA0LDcgKzU1MDQsNyBAQCB0ZXN0OmRv X3Rlc3QoCiAgICAgICAgICBPUiBmPSdlZmdoaWprbG0nCiAgICAgICAgICBPUiAoKGEgQkVUV0VF TiAzOSBBTkQgNDEpIEFORCBhIT00MCkKICAgICAgICAgIE9SIGI9MTA0NQotICAgICAgICAgT1Ig KGQ+PTI0LjAgQU5EIGQ8MjUuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0yNC4w IEFORCBkPDI1LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBmPSd1dnd4eXphYmMn CiAgICAgICAgICBPUiAoZiBHTE9CICc/emFiYyonIEFORCBmIEdMT0IgJ3l6YWIqJykKICAgXV0p CkBAIC01NTI3LDcgKzU1MjcsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBmPSd3eHl6 YWJjZGUnCiAgICAgICAgICBPUiBjPTE4MDE4CiAgICAgICAgICBPUiBiPTU5NwotICAgICAgICAg T1IgKGQ+PTY5LjAgQU5EIGQ8NzAuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj02 OS4wIEFORCBkPDcwLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAg ICAgICAtLSA8d2hlcmU3LTIuMTQ0LjE+CkBAIC01NTQ4LDcgKzU1NDgsNyBAQCB0ZXN0OmRvX3Rl c3QoCiAgICAgICAgICBPUiBmPSd3eHl6YWJjZGUnCiAgICAgICAgICBPUiBjPTE4MDE4CiAgICAg ICAgICBPUiBiPTU5NwotICAgICAgICAgT1IgKGQ+PTY5LjAgQU5EIGQ8NzAuMCBBTkQgZCBOT1Qg TlVMTCkKKyAgICAgICAgIE9SIChkPj02OS4wIEFORCBkPDcwLjAgQU5EIGQgSVMgTk9UIE5VTEwp CiAgIF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIuMTQ0LjI+CkBAIC01NTYz LDEyICs1NTYzLDEyIEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgU0VMRUNUIGEgRlJPTSB0MgogICAg ICAgV0hFUkUgYj05MQogICAgICAgICAgT1IgKGc9J3V0c3JxcG8nIEFORCBmIEdMT0IgJ3d4eXph KicpCi0gICAgICAgICBPUiAoZD49MjEuMCBBTkQgZDwyMi4wIEFORCBkIE5PVCBOVUxMKQorICAg ICAgICAgT1IgKGQ+PTIxLjAgQU5EIGQ8MjIuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAg IE9SIChnPSd3dnV0c3JxJyBBTkQgZiBHTE9CICdtbm9wcSonKQogICAgICAgICAgT1IgKChhIEJF VFdFRU4gODkgQU5EIDkxKSBBTkQgYSE9OTApCi0gICAgICAgICBPUiAoZD49ODUuMCBBTkQgZDw4 Ni4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTg1LjAgQU5EIGQ8ODYuMCBBTkQg ZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9MTAyCi0gICAgICAgICBPUiAoZD49MzYuMCBB TkQgZDwzNy4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTM2LjAgQU5EIGQ8Mzcu MCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDU5IEFORCA2MSkg QU5EIGEhPTYwKQogICAgICAgICAgT1IgYj03ODQKICAgXV0pCkBAIC01NTg1LDEyICs1NTg1LDEy IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgU0VMRUNUIGEgRlJPTSB0MwogICAgICAgV0hFUkUgYj05 MQogICAgICAgICAgT1IgKGc9J3V0c3JxcG8nIEFORCBmIEdMT0IgJ3d4eXphKicpCi0gICAgICAg ICBPUiAoZD49MjEuMCBBTkQgZDwyMi4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+ PTIxLjAgQU5EIGQ8MjIuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChnPSd3dnV0 c3JxJyBBTkQgZiBHTE9CICdtbm9wcSonKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gODkgQU5E IDkxKSBBTkQgYSE9OTApCi0gICAgICAgICBPUiAoZD49ODUuMCBBTkQgZDw4Ni4wIEFORCBkIE5P VCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTg1LjAgQU5EIGQ8ODYuMCBBTkQgZCBJUyBOT1QgTlVM TCkKICAgICAgICAgIE9SIGI9MTAyCi0gICAgICAgICBPUiAoZD49MzYuMCBBTkQgZDwzNy4wIEFO RCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTM2LjAgQU5EIGQ8MzcuMCBBTkQgZCBJUyBO T1QgTlVMTCkKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDU5IEFORCA2MSkgQU5EIGEhPTYwKQog ICAgICAgICAgT1IgYj03ODQKICAgXV0pCkBAIC01NjA5LDcgKzU2MDksNyBAQCB0ZXN0OmRvX3Rl c3QoCiAgICAgICAgICBPUiAoZz0nZ2ZlZGNiYScgQU5EIGYgR0xPQiAnbm9wcXIqJykKICAgICAg ICAgIE9SIGI9OTkwCiAgICAgICAgICBPUiBhPTUyCi0gICAgICAgICBPUiAoZD49MzguMCBBTkQg ZDwzOS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTM4LjAgQU5EIGQ8MzkuMCBB TkQgZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTct Mi4xNDYuMT4KQEAgLTU2MjYsNyArNTYyNiw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9S IChnPSdnZmVkY2JhJyBBTkQgZiBHTE9CICdub3BxcionKQogICAgICAgICAgT1IgYj05OTAKICAg ICAgICAgIE9SIGE9NTIKLSAgICAgICAgIE9SIChkPj0zOC4wIEFORCBkPDM5LjAgQU5EIGQgTk9U IE5VTEwpCisgICAgICAgICBPUiAoZD49MzguMCBBTkQgZDwzOS4wIEFORCBkIElTIE5PVCBOVUxM KQogICBdXSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjE0Ni4yPgpAQCAtNTY4 MiwxMCArNTY4MiwxMCBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICBXSEVSRSAoKGEgQkVUV0VFTiA2 OCBBTkQgNzApIEFORCBhIT02OSkKICAgICAgICAgIE9SIGI9NDIxCiAgICAgICAgICBPUiAoKGEg QkVUV0VFTiAyMiBBTkQgMjQpIEFORCBhIT0yMykKLSAgICAgICAgIE9SIChkPj0yLjAgQU5EIGQ8 My4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTIuMCBBTkQgZDwzLjAgQU5EIGQg SVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoZz0nc3JxcG9ubScgQU5EIGYgR0xPQiAnZGVmZ2gq JykKLSAgICAgICAgIE9SIChkPj04OS4wIEFORCBkPDkwLjAgQU5EIGQgTk9UIE5VTEwpCi0gICAg ICAgICBPUiAoZD49MjQuMCBBTkQgZDwyNS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1Ig KGQ+PTg5LjAgQU5EIGQ8OTAuMCBBTkQgZCBJUyBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0y NC4wIEFORCBkPDI1LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBjPTIyMDIyCiAg ICAgICAgICBPUiBiPTgyNQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMTcgQU5EIDE5KSBBTkQg YSE9MTgpCkBAIC01NzA1LDEwICs1NzA1LDEwIEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgIFdIRVJF ICgoYSBCRVRXRUVOIDY4IEFORCA3MCkgQU5EIGEhPTY5KQogICAgICAgICAgT1IgYj00MjEKICAg ICAgICAgIE9SICgoYSBCRVRXRUVOIDIyIEFORCAyNCkgQU5EIGEhPTIzKQotICAgICAgICAgT1Ig KGQ+PTIuMCBBTkQgZDwzLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49Mi4wIEFO RCBkPDMuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChnPSdzcnFwb25tJyBBTkQg ZiBHTE9CICdkZWZnaConKQotICAgICAgICAgT1IgKGQ+PTg5LjAgQU5EIGQ8OTAuMCBBTkQgZCBO T1QgTlVMTCkKLSAgICAgICAgIE9SIChkPj0yNC4wIEFORCBkPDI1LjAgQU5EIGQgTk9UIE5VTEwp CisgICAgICAgICBPUiAoZD49ODkuMCBBTkQgZDw5MC4wIEFORCBkIElTIE5PVCBOVUxMKQorICAg ICAgICAgT1IgKGQ+PTI0LjAgQU5EIGQ8MjUuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAg IE9SIGM9MjIwMjIKICAgICAgICAgIE9SIGI9ODI1CiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiAx NyBBTkQgMTkpIEFORCBhIT0xOCkKQEAgLTU3MjUsNyArNTcyNSw3IEBAIHRlc3Q6ZG9fdGVzdCgK ICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAg IFNFTEVDVCBhIEZST00gdDIKLSAgICAgIFdIRVJFIChkPj00NC4wIEFORCBkPDQ1LjAgQU5EIGQg Tk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49NDQuMCBBTkQgZDw0NS4wIEFORCBkIElTIE5PVCBO VUxMKQogICAgICAgICAgT1IgYj00ODQKICAgICAgICAgIE9SIGI9MTAyNgogICAgICAgICAgT1Ig YT05MApAQCAtNTc0NCw3ICs1NzQ0LDcgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9uKCkK ICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0 MwotICAgICAgV0hFUkUgKGQ+PTQ0LjAgQU5EIGQ8NDUuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAg IFdIRVJFIChkPj00NC4wIEFORCBkPDQ1LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBP UiBiPTQ4NAogICAgICAgICAgT1IgYj0xMDI2CiAgICAgICAgICBPUiBhPTkwCkBAIC01NzY0LDkg KzU3NjQsOSBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0 KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIKICAgICAgIFdIRVJFIGM8PTEwCi0gICAgICAgICBP UiAoZD49NzYuMCBBTkQgZDw3Ny4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTc2 LjAgQU5EIGQ8NzcuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9MTU0Ci0gICAg ICAgICBPUiAoZD49NzcuMCBBTkQgZDw3OC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1Ig KGQ+PTc3LjAgQU5EIGQ8NzguMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9ODgw CiAgICAgICAgICBPUiBhPTU1CiAgICAgICAgICBPUiBiPTc3MwpAQCAtNTc4NSw5ICs1Nzg1LDkg QEAgdGVzdDpkb190ZXN0KAogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAg ICBTRUxFQ1QgYSBGUk9NIHQzCiAgICAgICBXSEVSRSBjPD0xMAotICAgICAgICAgT1IgKGQ+PTc2 LjAgQU5EIGQ8NzcuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj03Ni4wIEFORCBk PDc3LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTE1NAotICAgICAgICAgT1Ig KGQ+PTc3LjAgQU5EIGQ8NzguMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj03Ny4w IEFORCBkPDc4LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTg4MAogICAgICAg ICAgT1IgYT01NQogICAgICAgICAgT1IgYj03NzMKQEAgLTU4MzcsNyArNTgzNyw3IEBAIHRlc3Q6 ZG9fdGVzdCgKICAgICAgU0VMRUNUIGEgRlJPTSB0MgogICAgICAgV0hFUkUgYT0zMwogICAgICAg ICAgT1IgYj0xMDQ1Ci0gICAgICAgICBPUiAoZD49NDAuMCBBTkQgZDw0MS4wIEFORCBkIE5PVCBO VUxMKQorICAgICAgICAgT1IgKGQ+PTQwLjAgQU5EIGQ8NDEuMCBBTkQgZCBJUyBOT1QgTlVMTCkK ICAgICAgICAgIE9SIGM9MTMwMTMKICAgICAgICAgIE9SIChnPSdnZmVkY2JhJyBBTkQgZiBHTE9C ICdtbm9wcSonKQogICAgICAgICAgT1IgYj0xMjQKQEAgLTU4NTYsNyArNTg1Niw3IEBAIHRlc3Q6 ZG9fdGVzdCgKICAgICAgU0VMRUNUIGEgRlJPTSB0MwogICAgICAgV0hFUkUgYT0zMwogICAgICAg ICAgT1IgYj0xMDQ1Ci0gICAgICAgICBPUiAoZD49NDAuMCBBTkQgZDw0MS4wIEFORCBkIE5PVCBO VUxMKQorICAgICAgICAgT1IgKGQ+PTQwLjAgQU5EIGQ8NDEuMCBBTkQgZCBJUyBOT1QgTlVMTCkK ICAgICAgICAgIE9SIGM9MTMwMTMKICAgICAgICAgIE9SIChnPSdnZmVkY2JhJyBBTkQgZiBHTE9C ICdtbm9wcSonKQogICAgICAgICAgT1IgYj0xMjQKQEAgLTU5NzUsNyArNTk3NSw3IEBAIHRlc3Q6 ZG9fdGVzdCgKICAgICAgICAgIE9SIChnPSd5eHd2dXRzJyBBTkQgZiBHTE9CICdjZGVmZyonKQog ICAgICAgICAgT1IgZj0namtsbW5vcHFyJwogICAgICAgICAgT1IgKGYgR0xPQiAnP2RlZmcqJyBB TkQgZiBHTE9CICdjZGVmKicpCi0gICAgICAgICBPUiAoZD49NTEuMCBBTkQgZDw1Mi4wIEFORCBk IE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTUxLjAgQU5EIGQ8NTIuMCBBTkQgZCBJUyBOT1Qg TlVMTCkKICAgICAgICAgIE9SIGI9MTA1NgogICBdXSkKICAgICBlbmQsIHsKQEAgLTU5OTMsNyAr NTk5Myw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIChnPSd5eHd2dXRzJyBBTkQgZiBH TE9CICdjZGVmZyonKQogICAgICAgICAgT1IgZj0namtsbW5vcHFyJwogICAgICAgICAgT1IgKGYg R0xPQiAnP2RlZmcqJyBBTkQgZiBHTE9CICdjZGVmKicpCi0gICAgICAgICBPUiAoZD49NTEuMCBB TkQgZDw1Mi4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTUxLjAgQU5EIGQ8NTIu MCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9MTA1NgogICBdXSkKICAgICBlbmQs IHsKQEAgLTYwMDgsMTQgKzYwMDgsMTQgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICByZXR1cm4g Y291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCiAgICAgICBXSEVSRSBh PTQ3Ci0gICAgICAgICBPUiAoZD49OTQuMCBBTkQgZDw5NS4wIEFORCBkIE5PVCBOVUxMKQorICAg ICAgICAgT1IgKGQ+PTk0LjAgQU5EIGQ8OTUuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAg IE9SIGI9NDEwCiAgICAgICAgICBPUiBiPTY4MgogICAgICAgICAgT1IgKChhIEJFVFdFRU4gOTgg QU5EIDEwMCkgQU5EIGEhPTk5KQogICAgICAgICAgT1IgZj0naGlqa2xtbm9wJwotICAgICAgICAg T1IgKGQ+PTQwLjAgQU5EIGQ8NDEuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj00 MC4wIEFORCBkPDQxLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTE2OAotICAg ICAgICAgT1IgKGQ+PTUxLjAgQU5EIGQ8NTIuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9S IChkPj01MS4wIEFORCBkPDUyLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBhPTMy CiAgICAgICAgICBPUiBhPTcyCiAgIF1dKQpAQCAtNjAzMSwxNCArNjAzMSwxNCBAQCB0ZXN0OmRv X3Rlc3QoCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBh IEZST00gdDMKICAgICAgIFdIRVJFIGE9NDcKLSAgICAgICAgIE9SIChkPj05NC4wIEFORCBkPDk1 LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49OTQuMCBBTkQgZDw5NS4wIEFORCBk IElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj00MTAKICAgICAgICAgIE9SIGI9NjgyCiAgICAg ICAgICBPUiAoKGEgQkVUV0VFTiA5OCBBTkQgMTAwKSBBTkQgYSE9OTkpCiAgICAgICAgICBPUiBm PSdoaWprbG1ub3AnCi0gICAgICAgICBPUiAoZD49NDAuMCBBTkQgZDw0MS4wIEFORCBkIE5PVCBO VUxMKQorICAgICAgICAgT1IgKGQ+PTQwLjAgQU5EIGQ8NDEuMCBBTkQgZCBJUyBOT1QgTlVMTCkK ICAgICAgICAgIE9SIGI9MTY4Ci0gICAgICAgICBPUiAoZD49NTEuMCBBTkQgZDw1Mi4wIEFORCBk IE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTUxLjAgQU5EIGQ8NTIuMCBBTkQgZCBJUyBOT1Qg TlVMTCkKICAgICAgICAgIE9SIGE9MzIKICAgICAgICAgIE9SIGE9NzIKICAgXV0pCkBAIC02MDU1 LDcgKzYwNTUsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgIFNFTEVDVCBhIEZST00gdDIKICAgICAg IFdIRVJFIGI9NjE2CiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiAyNSBBTkQgMjcpIEFORCBhIT0y NikKLSAgICAgICAgIE9SIChkPj0zOC4wIEFORCBkPDM5LjAgQU5EIGQgTk9UIE5VTEwpCisgICAg ICAgICBPUiAoZD49MzguMCBBTkQgZDwzOS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAg T1IgYT05NgogICBdXSkKICAgICBlbmQsIHsKQEAgLTYwNzEsNyArNjA3MSw3IEBAIHRlc3Q6ZG9f dGVzdCgKICAgICAgU0VMRUNUIGEgRlJPTSB0MwogICAgICAgV0hFUkUgYj02MTYKICAgICAgICAg IE9SICgoYSBCRVRXRUVOIDI1IEFORCAyNykgQU5EIGEhPTI2KQotICAgICAgICAgT1IgKGQ+PTM4 LjAgQU5EIGQ8MzkuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0zOC4wIEFORCBk PDM5LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBhPTk2CiAgIF1dKQogICAgIGVu ZCwgewpAQCAtNjA4NSw3ICs2MDg1LDcgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9uKCkK ICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0 MgotICAgICAgV0hFUkUgKGQ+PTY2LjAgQU5EIGQ8NjcuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAg IFdIRVJFIChkPj02Ni4wIEFORCBkPDY3LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBP UiBiPTM1MgogICBdXSkKICAgICBlbmQsIHsKQEAgLTYwOTksNyArNjA5OSw3IEBAIHRlc3Q6ZG9f dGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtb CiAgICAgIFNFTEVDVCBhIEZST00gdDMKLSAgICAgIFdIRVJFIChkPj02Ni4wIEFORCBkPDY3LjAg QU5EIGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49NjYuMCBBTkQgZDw2Ny4wIEFORCBkIElT IE5PVCBOVUxMKQogICAgICAgICAgT1IgYj0zNTIKICAgXV0pCiAgICAgZW5kLCB7CkBAIC02MTE1 LDcgKzYxMTUsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgIFNFTEVDVCBhIEZST00gdDIKICAgICAg IFdIRVJFIGI9Nzk1CiAgICAgICAgICBPUiBjPTEzMDEzCi0gICAgICAgICBPUiAoZD49MjguMCBB TkQgZDwyOS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTI4LjAgQU5EIGQ8Mjku MCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9NTk3CiAgIF1dKQogICAgIGVuZCwg ewpAQCAtNjEzMSw3ICs2MTMxLDcgQEAgdGVzdDpkb190ZXN0KAogICAgICBTRUxFQ1QgYSBGUk9N IHQzCiAgICAgICBXSEVSRSBiPTc5NQogICAgICAgICAgT1IgYz0xMzAxMwotICAgICAgICAgT1Ig KGQ+PTI4LjAgQU5EIGQ8MjkuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0yOC4w IEFORCBkPDI5LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTU5NwogICBdXSkK ICAgICBlbmQsIHsKQEAgLTYyMzIsNyArNjIzMiw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgIFdI RVJFIGY9J2NkZWZnaGlqaycKICAgICAgICAgIE9SIChmIEdMT0IgJz9zdHV2KicgQU5EIGYgR0xP QiAncnN0dSonKQogICAgICAgICAgT1IgKGc9J2loZ2ZlZGMnIEFORCBmIEdMT0IgJ2RlZmdoKicp Ci0gICAgICAgICBPUiAoZD49NTkuMCBBTkQgZDw2MC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAg ICAgT1IgKGQ+PTU5LjAgQU5EIGQ8NjAuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAgICAg ZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi4xNjMuMT4KQEAgLTYyNDgsNyArNjI0OCw3IEBA IHRlc3Q6ZG9fdGVzdCgKICAgICAgIFdIRVJFIGY9J2NkZWZnaGlqaycKICAgICAgICAgIE9SIChm IEdMT0IgJz9zdHV2KicgQU5EIGYgR0xPQiAncnN0dSonKQogICAgICAgICAgT1IgKGc9J2loZ2Zl ZGMnIEFORCBmIEdMT0IgJ2RlZmdoKicpCi0gICAgICAgICBPUiAoZD49NTkuMCBBTkQgZDw2MC4w IEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTU5LjAgQU5EIGQ8NjAuMCBBTkQgZCBJ UyBOT1QgTlVMTCkKICAgXV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi4xNjMu Mj4KQEAgLTYyNjMsMTAgKzYyNjMsMTAgQEAgdGVzdDpkb190ZXN0KAogICAgICBTRUxFQ1QgYSBG Uk9NIHQyCiAgICAgICBXSEVSRSBhPTY1CiAgICAgICAgICBPUiBjPTE0MDE0Ci0gICAgICAgICBP UiAoZD49ODguMCBBTkQgZDw4OS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTg4 LjAgQU5EIGQ8ODkuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGE9NDcKICAgICAg ICAgIE9SIGI9MjIwCi0gICAgICAgICBPUiAoZD49MzcuMCBBTkQgZDwzOC4wIEFORCBkIE5PVCBO VUxMKQorICAgICAgICAgT1IgKGQ+PTM3LjAgQU5EIGQ8MzguMCBBTkQgZCBJUyBOT1QgTlVMTCkK ICAgXV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi4xNjQuMT4KQEAgLTYyODEs MTAgKzYyODEsMTAgQEAgdGVzdDpkb190ZXN0KAogICAgICBTRUxFQ1QgYSBGUk9NIHQzCiAgICAg ICBXSEVSRSBhPTY1CiAgICAgICAgICBPUiBjPTE0MDE0Ci0gICAgICAgICBPUiAoZD49ODguMCBB TkQgZDw4OS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTg4LjAgQU5EIGQ8ODku MCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGE9NDcKICAgICAgICAgIE9SIGI9MjIw Ci0gICAgICAgICBPUiAoZD49MzcuMCBBTkQgZDwzOC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAg ICAgT1IgKGQ+PTM3LjAgQU5EIGQ8MzguMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAgICAg ZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi4xNjQuMj4KQEAgLTYzMzgsMTEgKzYzMzgsMTEg QEAgdGVzdDpkb190ZXN0KAogICAgICAgV0hFUkUgYj0zNjMKICAgICAgICAgIE9SIChnPSd0c3Jx cG9uJyBBTkQgZiBHTE9CICd6YWJjZConKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNTggQU5E IDYwKSBBTkQgYSE9NTkpCi0gICAgICAgICBPUiAoZD49Mi4wIEFORCBkPDMuMCBBTkQgZCBOT1Qg TlVMTCkKLSAgICAgICAgIE9SIChkPj00Ni4wIEFORCBkPDQ3LjAgQU5EIGQgTk9UIE5VTEwpCisg ICAgICAgICBPUiAoZD49Mi4wIEFORCBkPDMuMCBBTkQgZCBJUyBOT1QgTlVMTCkKKyAgICAgICAg IE9SIChkPj00Ni4wIEFORCBkPDQ3LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAo Zz0nd3Z1dHNycScgQU5EIGYgR0xPQiAna2xtbm8qJykKICAgICAgICAgIE9SIGE9MzkKLSAgICAg ICAgIE9SIChkPj01NC4wIEFORCBkPDU1LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAo ZD49NTQuMCBBTkQgZDw1NS4wIEFORCBkIElTIE5PVCBOVUxMKQogICBdXSkKICAgICBlbmQsIHsK ICAgICAgICAgLS0gPHdoZXJlNy0yLjE2Ni4xPgpAQCAtNjM1OCwxMSArNjM1OCwxMSBAQCB0ZXN0 OmRvX3Rlc3QoCiAgICAgICBXSEVSRSBiPTM2MwogICAgICAgICAgT1IgKGc9J3RzcnFwb24nIEFO RCBmIEdMT0IgJ3phYmNkKicpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA1OCBBTkQgNjApIEFO RCBhIT01OSkKLSAgICAgICAgIE9SIChkPj0yLjAgQU5EIGQ8My4wIEFORCBkIE5PVCBOVUxMKQot ICAgICAgICAgT1IgKGQ+PTQ2LjAgQU5EIGQ8NDcuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAg IE9SIChkPj0yLjAgQU5EIGQ8My4wIEFORCBkIElTIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+ PTQ2LjAgQU5EIGQ8NDcuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChnPSd3dnV0 c3JxJyBBTkQgZiBHTE9CICdrbG1ubyonKQogICAgICAgICAgT1IgYT0zOQotICAgICAgICAgT1Ig KGQ+PTU0LjAgQU5EIGQ8NTUuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj01NC4w IEFORCBkPDU1LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAgICAg ICAtLSA8d2hlcmU3LTIuMTY2LjI+CkBAIC02Mzc2LDcgKzYzNzYsNyBAQCB0ZXN0OmRvX3Rlc3Qo CiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00g dDIKICAgICAgIFdIRVJFIGM9MzAwMzAKLSAgICAgICAgIE9SIChkPj01Mi4wIEFORCBkPDUzLjAg QU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NTIuMCBBTkQgZDw1My4wIEFORCBkIElT IE5PVCBOVUxMKQogICAgICAgICAgT1IgYj04NTAKICAgICAgICAgIE9SIChmIEdMT0IgJz92d3h5 KicgQU5EIGYgR0xPQiAndXZ3eConKQogICBdXSkKQEAgLTYzOTIsNyArNjM5Miw3IEBAIHRlc3Q6 ZG9fdGVzdCgKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNU IGEgRlJPTSB0MwogICAgICAgV0hFUkUgYz0zMDAzMAotICAgICAgICAgT1IgKGQ+PTUyLjAgQU5E IGQ8NTMuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj01Mi4wIEFORCBkPDUzLjAg QU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTg1MAogICAgICAgICAgT1IgKGYgR0xP QiAnP3Z3eHkqJyBBTkQgZiBHTE9CICd1dnd4KicpCiAgIF1dKQpAQCAtNjQwNyw4ICs2NDA3LDgg QEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAgICAgICAgcmV0dXJuIGNvdW50X3N0 ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MgotICAgICAgV0hFUkUgKGQ+PTIzLjAg QU5EIGQ8MjQuMCBBTkQgZCBOT1QgTlVMTCkKLSAgICAgICAgIE9SIChkPj05MS4wIEFORCBkPDky LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49MjMuMCBBTkQgZDwyNC4wIEFORCBk IElTIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTkxLjAgQU5EIGQ8OTIuMCBBTkQgZCBJUyBO T1QgTlVMTCkKICAgICAgICAgIE9SIGI9ODAKICAgXV0pCiAgICAgZW5kLCB7CkBAIC02NDIyLDgg KzY0MjIsOCBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4g Y291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQzCi0gICAgICBXSEVSRSAo ZD49MjMuMCBBTkQgZDwyNC4wIEFORCBkIE5PVCBOVUxMKQotICAgICAgICAgT1IgKGQ+PTkxLjAg QU5EIGQ8OTIuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChkPj0yMy4wIEFORCBkPDI0 LjAgQU5EIGQgSVMgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49OTEuMCBBTkQgZDw5Mi4wIEFO RCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj04MAogICBdXSkKICAgICBlbmQsIHsKQEAg LTY0MzgsNyArNjQzOCw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgcmV0dXJuIGNvdW50X3N0 ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MgogICAgICAgV0hFUkUgKChhIEJFVFdF RU4gNTkgQU5EIDYxKSBBTkQgYSE9NjApCi0gICAgICAgICBPUiAoZD49NzcuMCBBTkQgZDw3OC4w IEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTc3LjAgQU5EIGQ8NzguMCBBTkQgZCBJ UyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9NDYyCiAgICAgICAgICBPUiBhPTUxCiAgICAgICAg ICBPUiBiPTM0NApAQCAtNjQ1Nyw3ICs2NDU3LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICBy ZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQzCiAgICAgICBX SEVSRSAoKGEgQkVUV0VFTiA1OSBBTkQgNjEpIEFORCBhIT02MCkKLSAgICAgICAgIE9SIChkPj03 Ny4wIEFORCBkPDc4LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NzcuMCBBTkQg ZDw3OC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj00NjIKICAgICAgICAgIE9S IGE9NTEKICAgICAgICAgIE9SIGI9MzQ0CkBAIC02NTA4LDcgKzY1MDgsNyBAQCB0ZXN0OmRvX3Rl c3QoCiAgICAgICBXSEVSRSBiPTE3OQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMiBBTkQgNCkg QU5EIGEhPTMpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA0MCBBTkQgNDIpIEFORCBhIT00MSkK LSAgICAgICAgIE9SIChkPj0xMy4wIEFORCBkPDE0LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAg ICBPUiAoZD49MTMuMCBBTkQgZDwxNC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1Ig KChhIEJFVFdFRU4gNzIgQU5EIDc0KSBBTkQgYSE9NzMpCiAgIF1dKQogICAgIGVuZCwgewpAQCAt NjUyNSw3ICs2NTI1LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgV0hFUkUgYj0xNzkKICAgICAg ICAgIE9SICgoYSBCRVRXRUVOIDIgQU5EIDQpIEFORCBhIT0zKQogICAgICAgICAgT1IgKChhIEJF VFdFRU4gNDAgQU5EIDQyKSBBTkQgYSE9NDEpCi0gICAgICAgICBPUiAoZD49MTMuMCBBTkQgZDwx NC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTEzLjAgQU5EIGQ8MTQuMCBBTkQg ZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDcyIEFORCA3NCkgQU5EIGEh PTczKQogICBdXSkKICAgICBlbmQsIHsKQEAgLTY1NDEsNyArNjU0MSw3IEBAIHRlc3Q6ZG9fdGVz dCgKICAgICAgU0VMRUNUIGEgRlJPTSB0MgogICAgICAgV0hFUkUgYj0zMzMKICAgICAgICAgIE9S IChnPSdubWxramloJyBBTkQgZiBHTE9CICdiY2RlZionKQotICAgICAgICAgT1IgKGQ+PTYyLjAg QU5EIGQ8NjMuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj02Mi4wIEFORCBkPDYz LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTQwNwogICAgICAgICAgT1IgYT01 CiAgICAgICAgICBPUiBiPTgxNwpAQCAtNjU2MCw3ICs2NTYwLDcgQEAgdGVzdDpkb190ZXN0KAog ICAgICBTRUxFQ1QgYSBGUk9NIHQzCiAgICAgICBXSEVSRSBiPTMzMwogICAgICAgICAgT1IgKGc9 J25tbGtqaWgnIEFORCBmIEdMT0IgJ2JjZGVmKicpCi0gICAgICAgICBPUiAoZD49NjIuMCBBTkQg ZDw2My4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTYyLjAgQU5EIGQ8NjMuMCBB TkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9NDA3CiAgICAgICAgICBPUiBhPTUKICAg ICAgICAgIE9SIGI9ODE3CkBAIC02NzEzLDcgKzY3MTMsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAg ZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxF Q1QgYSBGUk9NIHQyCi0gICAgICBXSEVSRSAoZD49My4wIEFORCBkPDQuMCBBTkQgZCBOT1QgTlVM TCkKKyAgICAgIFdIRVJFIChkPj0zLjAgQU5EIGQ8NC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAg ICAgICAgT1IgKGc9J2ppaGdmZWQnIEFORCBmIEdMT0IgJ3h5emFiKicpCiAgICAgICAgICBPUiBj PTMyMDMyCiAgICAgICAgICBPUiBiPTI4OQpAQCAtNjczMSw3ICs2NzMxLDcgQEAgdGVzdDpkb190 ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sK ICAgICAgU0VMRUNUIGEgRlJPTSB0MwotICAgICAgV0hFUkUgKGQ+PTMuMCBBTkQgZDw0LjAgQU5E IGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49My4wIEFORCBkPDQuMCBBTkQgZCBJUyBOT1Qg TlVMTCkKICAgICAgICAgIE9SIChnPSdqaWhnZmVkJyBBTkQgZiBHTE9CICd4eXphYionKQogICAg ICAgICAgT1IgYz0zMjAzMgogICAgICAgICAgT1IgYj0yODkKQEAgLTY3ODYsMTEgKzY3ODYsMTEg QEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgKGYgR0xPQiAnP3JzdHUqJyBBTkQgZiBHTE9C ICdxcnN0KicpCiAgICAgICAgICBPUiBiPTkwMgogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNjQg QU5EIDY2KSBBTkQgYSE9NjUpCi0gICAgICAgICBPUiAoZD49MS4wIEFORCBkPDIuMCBBTkQgZCBO T1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0xLjAgQU5EIGQ8Mi4wIEFORCBkIElTIE5PVCBOVUxM KQogICAgICAgICAgT1IgKGc9J2ZlZGNiYXonIEFORCBmIEdMT0IgJ3JzdHV2KicpCiAgICAgICAg ICBPUiBiPTI0MgogICAgICAgICAgT1IgKGc9J3l4d3Z1dHMnIEFORCBmIEdMT0IgJ2NkZWZnKicp Ci0gICAgICAgICBPUiAoZD49OTEuMCBBTkQgZDw5Mi4wIEFORCBkIE5PVCBOVUxMKQorICAgICAg ICAgT1IgKGQ+PTkxLjAgQU5EIGQ8OTIuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9S IChnPSdxcG9ubWxrJyBBTkQgZiBHTE9CICdxcnN0dSonKQogICBdXSkKICAgICBlbmQsIHsKQEAg LTY4MDksMTEgKzY4MDksMTEgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgKGYgR0xPQiAn P3JzdHUqJyBBTkQgZiBHTE9CICdxcnN0KicpCiAgICAgICAgICBPUiBiPTkwMgogICAgICAgICAg T1IgKChhIEJFVFdFRU4gNjQgQU5EIDY2KSBBTkQgYSE9NjUpCi0gICAgICAgICBPUiAoZD49MS4w IEFORCBkPDIuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0xLjAgQU5EIGQ8Mi4w IEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKGc9J2ZlZGNiYXonIEFORCBmIEdMT0Ig J3JzdHV2KicpCiAgICAgICAgICBPUiBiPTI0MgogICAgICAgICAgT1IgKGc9J3l4d3Z1dHMnIEFO RCBmIEdMT0IgJ2NkZWZnKicpCi0gICAgICAgICBPUiAoZD49OTEuMCBBTkQgZDw5Mi4wIEFORCBk IE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTkxLjAgQU5EIGQ8OTIuMCBBTkQgZCBJUyBOT1Qg TlVMTCkKICAgICAgICAgIE9SIChnPSdxcG9ubWxrJyBBTkQgZiBHTE9CICdxcnN0dSonKQogICBd XSkKICAgICBlbmQsIHsKQEAgLTY4MzIsNyArNjgzMiw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAg ICAgIE9SIGI9NzgxCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA2NiBBTkQgNjgpIEFORCBhIT02 NykKICAgICAgICAgIE9SIGQ+MWUxMAotICAgICAgICAgT1IgKGQ+PTcxLjAgQU5EIGQ8NzIuMCBB TkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj03MS4wIEFORCBkPDcyLjAgQU5EIGQgSVMg Tk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIuMTgwLjE+ CkBAIC02ODUwLDcgKzY4NTAsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBiPTc4MQog ICAgICAgICAgT1IgKChhIEJFVFdFRU4gNjYgQU5EIDY4KSBBTkQgYSE9NjcpCiAgICAgICAgICBP UiBkPjFlMTAKLSAgICAgICAgIE9SIChkPj03MS4wIEFORCBkPDcyLjAgQU5EIGQgTk9UIE5VTEwp CisgICAgICAgICBPUiAoZD49NzEuMCBBTkQgZDw3Mi4wIEFORCBkIElTIE5PVCBOVUxMKQogICBd XSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjE4MC4yPgpAQCAtNjg2OCw3ICs2 ODY4LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgKGYgR0xPQiAnP2prbG0qJyBBTkQg ZiBHTE9CICdpamtsKicpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA1NyBBTkQgNTkpIEFORCBh IT01OCkKICAgICAgICAgIE9SIGE9NzYKLSAgICAgICAgIE9SIChkPj0yMy4wIEFORCBkPDI0LjAg QU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MjMuMCBBTkQgZDwyNC4wIEFORCBkIElT IE5PVCBOVUxMKQogICAgICAgICAgT1IgKGc9J2ppaGdmZWQnIEFORCBmIEdMT0IgJ3d4eXphKicp CiAgICAgICAgICBPUiBiPTE3NgogICBdXSkKQEAgLTY4ODgsNyArNjg4OCw3IEBAIHRlc3Q6ZG9f dGVzdCgKICAgICAgICAgIE9SIChmIEdMT0IgJz9qa2xtKicgQU5EIGYgR0xPQiAnaWprbConKQog ICAgICAgICAgT1IgKChhIEJFVFdFRU4gNTcgQU5EIDU5KSBBTkQgYSE9NTgpCiAgICAgICAgICBP UiBhPTc2Ci0gICAgICAgICBPUiAoZD49MjMuMCBBTkQgZDwyNC4wIEFORCBkIE5PVCBOVUxMKQor ICAgICAgICAgT1IgKGQ+PTIzLjAgQU5EIGQ8MjQuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAg ICAgIE9SIChnPSdqaWhnZmVkJyBBTkQgZiBHTE9CICd3eHl6YSonKQogICAgICAgICAgT1IgYj0x NzYKICAgXV0pCkBAIC02OTA2LDcgKzY5MDYsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICBXSEVS RSAoZz0ncG9ubWxraicgQU5EIGYgR0xPQiAndnd4eXoqJykKICAgICAgICAgIE9SICgoYSBCRVRX RUVOIDU5IEFORCA2MSkgQU5EIGEhPTYwKQogICAgICAgICAgT1IgKGc9J25tbGtqaWgnIEFORCBm IEdMT0IgJ2RlZmdoKicpCi0gICAgICAgICBPUiAoZD49NjAuMCBBTkQgZDw2MS4wIEFORCBkIE5P VCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTYwLjAgQU5EIGQ8NjEuMCBBTkQgZCBJUyBOT1QgTlVM TCkKICAgICAgICAgIE9SIChnPSd3dnV0c3JxJyBBTkQgZiBHTE9CICdtbm9wcSonKQogICAgICAg ICAgT1IgYj0xNAogICAgICAgICAgT1IgKChhIEJFVFdFRU4gODggQU5EIDkwKSBBTkQgYSE9ODkp CkBAIC02OTI2LDcgKzY5MjYsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICBXSEVSRSAoZz0ncG9u bWxraicgQU5EIGYgR0xPQiAndnd4eXoqJykKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDU5IEFO RCA2MSkgQU5EIGEhPTYwKQogICAgICAgICAgT1IgKGc9J25tbGtqaWgnIEFORCBmIEdMT0IgJ2Rl ZmdoKicpCi0gICAgICAgICBPUiAoZD49NjAuMCBBTkQgZDw2MS4wIEFORCBkIE5PVCBOVUxMKQor ICAgICAgICAgT1IgKGQ+PTYwLjAgQU5EIGQ8NjEuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAg ICAgIE9SIChnPSd3dnV0c3JxJyBBTkQgZiBHTE9CICdtbm9wcSonKQogICAgICAgICAgT1IgYj0x NAogICAgICAgICAgT1IgKChhIEJFVFdFRU4gODggQU5EIDkwKSBBTkQgYSE9ODkpCkBAIC02OTQ1 LDcgKzY5NDUsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgIFNFTEVDVCBhIEZST00gdDIKICAgICAg IFdIRVJFIChnPSd0c3JxcG9uJyBBTkQgZiBHTE9CICd6YWJjZConKQogICAgICAgICAgT1IgYj0y ODYKLSAgICAgICAgIE9SIChkPj0zMS4wIEFORCBkPDMyLjAgQU5EIGQgTk9UIE5VTEwpCisgICAg ICAgICBPUiAoZD49MzEuMCBBTkQgZDwzMi4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAg T1IgYj05MQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNDMgQU5EIDQ1KSBBTkQgYSE9NDQpCiAg IF1dKQpAQCAtNjk2Miw3ICs2OTYyLDcgQEAgdGVzdDpkb190ZXN0KAogICAgICBTRUxFQ1QgYSBG Uk9NIHQzCiAgICAgICBXSEVSRSAoZz0ndHNycXBvbicgQU5EIGYgR0xPQiAnemFiY2QqJykKICAg ICAgICAgIE9SIGI9Mjg2Ci0gICAgICAgICBPUiAoZD49MzEuMCBBTkQgZDwzMi4wIEFORCBkIE5P VCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTMxLjAgQU5EIGQ8MzIuMCBBTkQgZCBJUyBOT1QgTlVM TCkKICAgICAgICAgIE9SIGI9OTEKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDQzIEFORCA0NSkg QU5EIGEhPTQ0KQogICBdXSkKQEAgLTcwNzEsOCArNzA3MSw4IEBAIHRlc3Q6ZG9fdGVzdCgKICAg ICAgICAgIE9SIGI9MjM0CiAgICAgICAgICBPUiBiPTY0MQogICAgICAgICAgT1IgKGYgR0xPQiAn P29wcXIqJyBBTkQgZiBHTE9CICdub3BxKicpCi0gICAgICAgICBPUiAoZD49MTIuMCBBTkQgZDwx My4wIEFORCBkIE5PVCBOVUxMKQotICAgICAgICAgT1IgKGQ+PTUuMCBBTkQgZDw2LjAgQU5EIGQg Tk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MTIuMCBBTkQgZDwxMy4wIEFORCBkIElTIE5PVCBO VUxMKQorICAgICAgICAgT1IgKGQ+PTUuMCBBTkQgZDw2LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAg ICAgICAgICBPUiBhPTk4CiAgIF1dKQogICAgIGVuZCwgewpAQCAtNzA5Miw4ICs3MDkyLDggQEAg dGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgYj0yMzQKICAgICAgICAgIE9SIGI9NjQxCiAgICAg ICAgICBPUiAoZiBHTE9CICc/b3BxcionIEFORCBmIEdMT0IgJ25vcHEqJykKLSAgICAgICAgIE9S IChkPj0xMi4wIEFORCBkPDEzLjAgQU5EIGQgTk9UIE5VTEwpCi0gICAgICAgICBPUiAoZD49NS4w IEFORCBkPDYuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0xMi4wIEFORCBkPDEz LjAgQU5EIGQgSVMgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NS4wIEFORCBkPDYuMCBBTkQg ZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGE9OTgKICAgXV0pCiAgICAgZW5kLCB7CkBAIC03 MTE0LDggKzcxMTQsOCBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiAoZz0nZmVkY2Jheicg QU5EIGYgR0xPQiAncnN0dXYqJykKICAgICAgICAgIE9SIGI9NjkKICAgICAgICAgIE9SIGI9MTAw MQotICAgICAgICAgT1IgKGQ+PTI2LjAgQU5EIGQ8MjcuMCBBTkQgZCBOT1QgTlVMTCkKLSAgICAg ICAgIE9SIChkPj0yMy4wIEFORCBkPDI0LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAo ZD49MjYuMCBBTkQgZDwyNy4wIEFORCBkIElTIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTIz LjAgQU5EIGQ8MjQuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChnPSdpaGdmZWRj JyBBTkQgZiBHTE9CICdkZWZnaConKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMzIgQU5EIDM0 KSBBTkQgYSE9MzMpCiAgIF1dKQpAQCAtNzEzNyw4ICs3MTM3LDggQEAgdGVzdDpkb190ZXN0KAog ICAgICAgICAgT1IgKGc9J2ZlZGNiYXonIEFORCBmIEdMT0IgJ3JzdHV2KicpCiAgICAgICAgICBP UiBiPTY5CiAgICAgICAgICBPUiBiPTEwMDEKLSAgICAgICAgIE9SIChkPj0yNi4wIEFORCBkPDI3 LjAgQU5EIGQgTk9UIE5VTEwpCi0gICAgICAgICBPUiAoZD49MjMuMCBBTkQgZDwyNC4wIEFORCBk IE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTI2LjAgQU5EIGQ8MjcuMCBBTkQgZCBJUyBOT1Qg TlVMTCkKKyAgICAgICAgIE9SIChkPj0yMy4wIEFORCBkPDI0LjAgQU5EIGQgSVMgTk9UIE5VTEwp CiAgICAgICAgICBPUiAoZz0naWhnZmVkYycgQU5EIGYgR0xPQiAnZGVmZ2gqJykKICAgICAgICAg IE9SICgoYSBCRVRXRUVOIDMyIEFORCAzNCkgQU5EIGEhPTMzKQogICBdXSkKQEAgLTcxODgsNyAr NzE4OCw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDcyIEFORCA3 NCkgQU5EIGEhPTczKQogICAgICAgICAgT1IgYj0xNAogICAgICAgICAgT1IgKChhIEJFVFdFRU4g NTYgQU5EIDU4KSBBTkQgYSE9NTcpCi0gICAgICAgICBPUiAoZD49MTguMCBBTkQgZDwxOS4wIEFO RCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTE4LjAgQU5EIGQ8MTkuMCBBTkQgZCBJUyBO T1QgTlVMTCkKICAgICAgICAgIE9SIGE9NjYKICAgXV0pCiAgICAgZW5kLCB7CkBAIC03MjA3LDcg KzcyMDcsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA3MiBBTkQg NzQpIEFORCBhIT03MykKICAgICAgICAgIE9SIGI9MTQKICAgICAgICAgIE9SICgoYSBCRVRXRUVO IDU2IEFORCA1OCkgQU5EIGEhPTU3KQotICAgICAgICAgT1IgKGQ+PTE4LjAgQU5EIGQ8MTkuMCBB TkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0xOC4wIEFORCBkPDE5LjAgQU5EIGQgSVMg Tk9UIE5VTEwpCiAgICAgICAgICBPUiBhPTY2CiAgIF1dKQogICAgIGVuZCwgewpAQCAtNzIyMiw3 ICs3MjIyLDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29y dChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCiAgICAgICBXSEVSRSBjPTIzMDIzCi0gICAgICAg ICBPUiAoZD49ODMuMCBBTkQgZDw4NC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+ PTgzLjAgQU5EIGQ8ODQuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGE9NjYKICAg ICAgICAgIE9SIChnPSdvbm1sa2ppJyBBTkQgZiBHTE9CICd6YWJjZConKQogICAgICAgICAgT1Ig YT01MQpAQCAtNzI0MSw3ICs3MjQxLDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICByZXR1cm4g Y291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQzCiAgICAgICBXSEVSRSBj PTIzMDIzCi0gICAgICAgICBPUiAoZD49ODMuMCBBTkQgZDw4NC4wIEFORCBkIE5PVCBOVUxMKQor ICAgICAgICAgT1IgKGQ+PTgzLjAgQU5EIGQ8ODQuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAg ICAgIE9SIGE9NjYKICAgICAgICAgIE9SIChnPSdvbm1sa2ppJyBBTkQgZiBHTE9CICd6YWJjZCon KQogICAgICAgICAgT1IgYT01MQpAQCAtNzI5NSw5ICs3Mjk1LDkgQEAgdGVzdDpkb190ZXN0KAog ICAgICAgICAgT1IgZj0nZWZnaGlqa2xtJwogICAgICAgICAgT1IgYT04CiAgICAgICAgICBPUiBh PTgwCi0gICAgICAgICBPUiAoZD49MzQuMCBBTkQgZDwzNS4wIEFORCBkIE5PVCBOVUxMKQorICAg ICAgICAgT1IgKGQ+PTM0LjAgQU5EIGQ8MzUuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAg IE9SIGI9MjU2Ci0gICAgICAgICBPUiAoZD49NzIuMCBBTkQgZDw3My4wIEFORCBkIE5PVCBOVUxM KQorICAgICAgICAgT1IgKGQ+PTcyLjAgQU5EIGQ8NzMuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAg XV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi4xOTMuMT4KQEAgLTczMTYsOSAr NzMxNiw5IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIGY9J2VmZ2hpamtsbScKICAgICAg ICAgIE9SIGE9OAogICAgICAgICAgT1IgYT04MAotICAgICAgICAgT1IgKGQ+PTM0LjAgQU5EIGQ8 MzUuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0zNC4wIEFORCBkPDM1LjAgQU5E IGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTI1NgotICAgICAgICAgT1IgKGQ+PTcyLjAg QU5EIGQ8NzMuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj03Mi4wIEFORCBkPDcz LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8d2hl cmU3LTIuMTkzLjI+CkBAIC03MzMxLDcgKzczMzEsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVu Y3Rpb24oKQogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1Qg YSBGUk9NIHQyCi0gICAgICBXSEVSRSAoZD49ODcuMCBBTkQgZDw4OC4wIEFORCBkIE5PVCBOVUxM KQorICAgICAgV0hFUkUgKGQ+PTg3LjAgQU5EIGQ8ODguMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAg ICAgICAgIE9SIGI9ODM2CiAgICAgICAgICBPUiAoZiBHTE9CICc/ZGVmZyonIEFORCBmIEdMT0Ig J2NkZWYqJykKICAgICAgICAgIE9SIChnPSd3dnV0c3JxJyBBTkQgZiBHTE9CICdpamtsbSonKQpA QCAtNzM1MCw3ICs3MzUwLDcgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAgICAg ICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MwotICAg ICAgV0hFUkUgKGQ+PTg3LjAgQU5EIGQ8ODguMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJF IChkPj04Ny4wIEFORCBkPDg4LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTgz NgogICAgICAgICAgT1IgKGYgR0xPQiAnP2RlZmcqJyBBTkQgZiBHTE9CICdjZGVmKicpCiAgICAg ICAgICBPUiAoZz0nd3Z1dHNycScgQU5EIGYgR0xPQiAnaWprbG0qJykKQEAgLTczNzQsOSArNzM3 NCw5IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDYyIEFORCA2NCkg QU5EIGEhPTYzKQogICAgICAgICAgT1IgYz02MDA2CiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA1 MCBBTkQgNTIpIEFORCBhIT01MSkKLSAgICAgICAgIE9SIChkPj0xMi4wIEFORCBkPDEzLjAgQU5E IGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MTIuMCBBTkQgZDwxMy4wIEFORCBkIElTIE5P VCBOVUxMKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gODggQU5EIDkwKSBBTkQgYSE9ODkpCi0g ICAgICAgICBPUiAoZD49NDMuMCBBTkQgZDw0NC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAg T1IgKGQ+PTQzLjAgQU5EIGQ8NDQuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAgICAgZW5k LCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi4xOTUuMT4KQEAgLTczOTQsOSArNzM5NCw5IEBAIHRl c3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDYyIEFORCA2NCkgQU5EIGEhPTYz KQogICAgICAgICAgT1IgYz02MDA2CiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA1MCBBTkQgNTIp IEFORCBhIT01MSkKLSAgICAgICAgIE9SIChkPj0xMi4wIEFORCBkPDEzLjAgQU5EIGQgTk9UIE5V TEwpCisgICAgICAgICBPUiAoZD49MTIuMCBBTkQgZDwxMy4wIEFORCBkIElTIE5PVCBOVUxMKQog ICAgICAgICAgT1IgKChhIEJFVFdFRU4gODggQU5EIDkwKSBBTkQgYSE9ODkpCi0gICAgICAgICBP UiAoZD49NDMuMCBBTkQgZDw0NC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTQz LjAgQU5EIGQ8NDQuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAgICAgZW5kLCB7CiAgICAg ICAgIC0tIDx3aGVyZTctMi4xOTUuMj4KQEAgLTc0MTMsNyArNzQxMyw3IEBAIHRlc3Q6ZG9fdGVz dCgKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDE0IEFORCAxNikgQU5EIGEhPTE1KQogICAgICAg ICAgT1IgYT0xMwogICAgICAgICAgT1IgYj0xMjEKLSAgICAgICAgIE9SIChkPj00NC4wIEFORCBk PDQ1LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NDQuMCBBTkQgZDw0NS4wIEFO RCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMTIgQU5EIDE0KSBBTkQg YSE9MTMpCiAgICAgICAgICBPUiAoZz0ndXRzcnFwbycgQU5EIGYgR0xPQiAnc3R1dncqJykKICAg ICAgICAgIE9SIGI9NjYwCkBAIC03NDM1LDcgKzc0MzUsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAg ICAgICBPUiAoKGEgQkVUV0VFTiAxNCBBTkQgMTYpIEFORCBhIT0xNSkKICAgICAgICAgIE9SIGE9 MTMKICAgICAgICAgIE9SIGI9MTIxCi0gICAgICAgICBPUiAoZD49NDQuMCBBTkQgZDw0NS4wIEFO RCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTQ0LjAgQU5EIGQ8NDUuMCBBTkQgZCBJUyBO T1QgTlVMTCkKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDEyIEFORCAxNCkgQU5EIGEhPTEzKQog ICAgICAgICAgT1IgKGc9J3V0c3JxcG8nIEFORCBmIEdMT0IgJ3N0dXZ3KicpCiAgICAgICAgICBP UiBiPTY2MApAQCAtNzQ1NywxMCArNzQ1NywxMCBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBP UiBiPTQ5NQogICAgICAgICAgT1IgYj0xNTcKICAgICAgICAgIE9SIChmIEdMT0IgJz92d3h5Kicg QU5EIGYgR0xPQiAndXZ3eConKQotICAgICAgICAgT1IgKGQ+PTU5LjAgQU5EIGQ8NjAuMCBBTkQg ZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj01OS4wIEFORCBkPDYwLjAgQU5EIGQgSVMgTk9U IE5VTEwpCiAgICAgICAgICBPUiAoZz0neXh3dnV0cycgQU5EIGYgR0xPQiAnYmNkZWYqJykKICAg ICAgICAgIE9SIChnPSd4d3Z1dHNyJyBBTkQgZiBHTE9CICdoaWprbConKQotICAgICAgICAgT1Ig KGQ+PTEuMCBBTkQgZDwyLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MS4wIEFO RCBkPDIuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGY9J3d4eXphYmNkZScKICAg XV0pCiAgICAgZW5kLCB7CkBAIC03NDc4LDEwICs3NDc4LDEwIEBAIHRlc3Q6ZG9fdGVzdCgKICAg ICAgICAgIE9SIGI9NDk1CiAgICAgICAgICBPUiBiPTE1NwogICAgICAgICAgT1IgKGYgR0xPQiAn P3Z3eHkqJyBBTkQgZiBHTE9CICd1dnd4KicpCi0gICAgICAgICBPUiAoZD49NTkuMCBBTkQgZDw2 MC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTU5LjAgQU5EIGQ8NjAuMCBBTkQg ZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChnPSd5eHd2dXRzJyBBTkQgZiBHTE9CICdiY2Rl ZionKQogICAgICAgICAgT1IgKGc9J3h3dnV0c3InIEFORCBmIEdMT0IgJ2hpamtsKicpCi0gICAg ICAgICBPUiAoZD49MS4wIEFORCBkPDIuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChk Pj0xLjAgQU5EIGQ8Mi4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgZj0nd3h5emFi Y2RlJwogICBdXSkKICAgICBlbmQsIHsKQEAgLTc2MDQsNyArNzYwNCw3IEBAIHRlc3Q6ZG9fdGVz dCgKICAgICAgICAgIE9SIChnPSdvbm1sa2ppJyBBTkQgZiBHTE9CICd5emFiYyonKQogICAgICAg ICAgT1IgYj04OTEKICAgICAgICAgIE9SIGE9NDAKLSAgICAgICAgIE9SIChkPj02Ny4wIEFORCBk PDY4LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NjcuMCBBTkQgZDw2OC4wIEFO RCBkIElTIE5PVCBOVUxMKQogICBdXSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0y LjIwMS4xPgpAQCAtNzYyNCw3ICs3NjI0LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1Ig KGc9J29ubWxramknIEFORCBmIEdMT0IgJ3l6YWJjKicpCiAgICAgICAgICBPUiBiPTg5MQogICAg ICAgICAgT1IgYT00MAotICAgICAgICAgT1IgKGQ+PTY3LjAgQU5EIGQ8NjguMCBBTkQgZCBOT1Qg TlVMTCkKKyAgICAgICAgIE9SIChkPj02Ny4wIEFORCBkPDY4LjAgQU5EIGQgSVMgTk9UIE5VTEwp CiAgIF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIuMjAxLjI+CkBAIC03NjM3 LDEzICs3NjM3LDEzIEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJl dHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIKLSAgICAgIFdI RVJFIChkPj0xNS4wIEFORCBkPDE2LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49 MTUuMCBBTkQgZDwxNi4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYT0zMgotICAg ICAgICAgT1IgKGQ+PTg4LjAgQU5EIGQ8ODkuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9S IChkPj04OC4wIEFORCBkPDg5LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBhPTk1 CiAgICAgICAgICBPUiBkPjFlMTAKICAgICAgICAgIE9SIGI9NDI5Ci0gICAgICAgICBPUiAoZD49 NTQuMCBBTkQgZDw1NS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTU0LjAgQU5E IGQ8NTUuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChnPSdqaWhnZmVkJyBBTkQg ZiBHTE9CICd5emFiYyonKQogICAgICAgICAgT1IgYz0xMDAxMAogICAgICAgICAgT1IgKChhIEJF VFdFRU4gODMgQU5EIDg1KSBBTkQgYSE9ODQpCkBAIC03NjU5LDEzICs3NjU5LDEzIEBAIHRlc3Q6 ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0 KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDMKLSAgICAgIFdIRVJFIChkPj0xNS4wIEFORCBkPDE2 LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49MTUuMCBBTkQgZDwxNi4wIEFORCBk IElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYT0zMgotICAgICAgICAgT1IgKGQ+PTg4LjAgQU5E IGQ8ODkuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj04OC4wIEFORCBkPDg5LjAg QU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBhPTk1CiAgICAgICAgICBPUiBkPjFlMTAK ICAgICAgICAgIE9SIGI9NDI5Ci0gICAgICAgICBPUiAoZD49NTQuMCBBTkQgZDw1NS4wIEFORCBk IE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTU0LjAgQU5EIGQ8NTUuMCBBTkQgZCBJUyBOT1Qg TlVMTCkKICAgICAgICAgIE9SIChnPSdqaWhnZmVkJyBBTkQgZiBHTE9CICd5emFiYyonKQogICAg ICAgICAgT1IgYz0xMDAxMAogICAgICAgICAgT1IgKChhIEJFVFdFRU4gODMgQU5EIDg1KSBBTkQg YSE9ODQpCkBAIC03NzI2LDEzICs3NzI2LDEzIEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgcmV0 dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MgogICAgICAgV0hF UkUgKChhIEJFVFdFRU4gMzQgQU5EIDM2KSBBTkQgYSE9MzUpCi0gICAgICAgICBPUiAoZD49NTcu MCBBTkQgZDw1OC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTU3LjAgQU5EIGQ8 NTguMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChnPSdzcnFwb25tJyBBTkQgZiBH TE9CICdlZmdoaSonKQogICAgICAgICAgT1IgYT04MwogICAgICAgICAgT1IgKGc9J2hnZmVkY2In IEFORCBmIEdMT0IgJ2lqa2xtKicpCiAgICAgICAgICBPUiAoZz0na2ppaGdmZScgQU5EIGYgR0xP QiAncXJzdHUqJykKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDk5IEFORCAxMDEpIEFORCBhIT0x MDApCi0gICAgICAgICBPUiAoZD49MTIuMCBBTkQgZDwxMy4wIEFORCBkIE5PVCBOVUxMKQorICAg ICAgICAgT1IgKGQ+PTEyLjAgQU5EIGQ8MTMuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAg IE9SIGI9MTA5MgogICAgICAgICAgT1IgKGc9J3NycXBvbm0nIEFORCBmIEdMT0IgJ2VmZ2hpKicp CiAgICAgICAgICBPUiBiPTI1CkBAIC03NzQ5LDEzICs3NzQ5LDEzIEBAIHRlc3Q6ZG9fdGVzdCgK ICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0 MwogICAgICAgV0hFUkUgKChhIEJFVFdFRU4gMzQgQU5EIDM2KSBBTkQgYSE9MzUpCi0gICAgICAg ICBPUiAoZD49NTcuMCBBTkQgZDw1OC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+ PTU3LjAgQU5EIGQ8NTguMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChnPSdzcnFw b25tJyBBTkQgZiBHTE9CICdlZmdoaSonKQogICAgICAgICAgT1IgYT04MwogICAgICAgICAgT1Ig KGc9J2hnZmVkY2InIEFORCBmIEdMT0IgJ2lqa2xtKicpCiAgICAgICAgICBPUiAoZz0na2ppaGdm ZScgQU5EIGYgR0xPQiAncXJzdHUqJykKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDk5IEFORCAx MDEpIEFORCBhIT0xMDApCi0gICAgICAgICBPUiAoZD49MTIuMCBBTkQgZDwxMy4wIEFORCBkIE5P VCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTEyLjAgQU5EIGQ8MTMuMCBBTkQgZCBJUyBOT1QgTlVM TCkKICAgICAgICAgIE9SIGI9MTA5MgogICAgICAgICAgT1IgKGc9J3NycXBvbm0nIEFORCBmIEdM T0IgJ2VmZ2hpKicpCiAgICAgICAgICBPUiBiPTI1CkBAIC03Nzc2LDcgKzc3NzYsNyBAQCB0ZXN0 OmRvX3Rlc3QoCiAgICAgICAgICBPUiAoZz0neHd2dXRzcicgQU5EIGYgR0xPQiAnZmdoaWoqJykK ICAgICAgICAgIE9SIGE9NTAKICAgICAgICAgIE9SIChnPSdxcG9ubWxrJyBBTkQgZiBHTE9CICdv cHFycyonKQotICAgICAgICAgT1IgKGQ+PTUzLjAgQU5EIGQ8NTQuMCBBTkQgZCBOT1QgTlVMTCkK KyAgICAgICAgIE9SIChkPj01My4wIEFORCBkPDU0LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1d KQogICAgIGVuZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIuMjA1LjE+CkBAIC03Nzk0LDcgKzc3 OTQsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiAoZz0neHd2dXRzcicgQU5EIGYgR0xP QiAnZmdoaWoqJykKICAgICAgICAgIE9SIGE9NTAKICAgICAgICAgIE9SIChnPSdxcG9ubWxrJyBB TkQgZiBHTE9CICdvcHFycyonKQotICAgICAgICAgT1IgKGQ+PTUzLjAgQU5EIGQ8NTQuMCBBTkQg ZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj01My4wIEFORCBkPDU0LjAgQU5EIGQgSVMgTk9U IE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIuMjA1LjI+CkBA IC03ODM2LDcgKzc4MzYsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgIHJldHVybiBjb3VudF9z dGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIKICAgICAgIFdIRVJFIGI9ODkxCi0g ICAgICAgICBPUiAoZD49MzEuMCBBTkQgZDwzMi4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAg T1IgKGQ+PTMxLjAgQU5EIGQ8MzIuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGY9 J25vcHFyc3R1dicKICAgXV0pCiAgICAgZW5kLCB7CkBAIC03ODUxLDcgKzc4NTEsNyBAQCB0ZXN0 OmRvX3Rlc3QoCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVD VCBhIEZST00gdDMKICAgICAgIFdIRVJFIGI9ODkxCi0gICAgICAgICBPUiAoZD49MzEuMCBBTkQg ZDwzMi4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTMxLjAgQU5EIGQ8MzIuMCBB TkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGY9J25vcHFyc3R1dicKICAgXV0pCiAgICAg ZW5kLCB7CkBAIC03OTI5LDkgKzc5MjksOSBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24o KQogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9N IHQyCi0gICAgICBXSEVSRSAoZD49NDAuMCBBTkQgZDw0MS4wIEFORCBkIE5PVCBOVUxMKQorICAg ICAgV0hFUkUgKGQ+PTQwLjAgQU5EIGQ8NDEuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAg IE9SIGE9NzcKLSAgICAgICAgIE9SIChkPj04NS4wIEFORCBkPDg2LjAgQU5EIGQgTk9UIE5VTEwp CisgICAgICAgICBPUiAoZD49ODUuMCBBTkQgZDw4Ni4wIEFORCBkIElTIE5PVCBOVUxMKQogICBd XSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjIxMC4xPgpAQCAtNzk0NCw5ICs3 OTQ0LDkgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAgICAgICAgcmV0dXJuIGNv dW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MwotICAgICAgV0hFUkUgKGQ+ PTQwLjAgQU5EIGQ8NDEuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChkPj00MC4wIEFO RCBkPDQxLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBhPTc3Ci0gICAgICAgICBP UiAoZD49ODUuMCBBTkQgZDw4Ni4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTg1 LjAgQU5EIGQ8ODYuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAgICAgZW5kLCB7CiAgICAg ICAgIC0tIDx3aGVyZTctMi4yMTAuMj4KQEAgLTc5NTksMTEgKzc5NTksMTEgQEAgdGVzdDpkb190 ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sK ICAgICAgU0VMRUNUIGEgRlJPTSB0MgotICAgICAgV0hFUkUgKGQ+PTY2LjAgQU5EIGQ8NjcuMCBB TkQgZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChkPj02Ni4wIEFORCBkPDY3LjAgQU5EIGQgSVMg Tk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTExCiAgICAgICAgICBPUiAoZz0nZmVkY2JheicgQU5E IGYgR0xPQiAnc3R1dncqJykKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDE0IEFORCAxNikgQU5E IGEhPTE1KQotICAgICAgICAgT1IgKGQ+PTM4LjAgQU5EIGQ8MzkuMCBBTkQgZCBOT1QgTlVMTCkK KyAgICAgICAgIE9SIChkPj0zOC4wIEFORCBkPDM5LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAg ICAgICBPUiBhPTk5CiAgIF1dKQogICAgIGVuZCwgewpAQCAtNzk3NywxMSArNzk3NywxMSBAQCB0 ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNf c29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQzCi0gICAgICBXSEVSRSAoZD49NjYuMCBBTkQg ZDw2Ny4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTY2LjAgQU5EIGQ8NjcuMCBB TkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9MTEKICAgICAgICAgIE9SIChnPSdmZWRj YmF6JyBBTkQgZiBHTE9CICdzdHV2dyonKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMTQgQU5E IDE2KSBBTkQgYSE9MTUpCi0gICAgICAgICBPUiAoZD49MzguMCBBTkQgZDwzOS4wIEFORCBkIE5P VCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTM4LjAgQU5EIGQ8MzkuMCBBTkQgZCBJUyBOT1QgTlVM TCkKICAgICAgICAgIE9SIGE9OTkKICAgXV0pCiAgICAgZW5kLCB7CkBAIC04MDAxLDcgKzgwMDEs NyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA2MCBBTkQgNjIpIEFO RCBhIT02MSkKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDkwIEFORCA5MikgQU5EIGEhPTkxKQog ICAgICAgICAgT1IgKChhIEJFVFdFRU4gOSBBTkQgMTEpIEFORCBhIT0xMCkKLSAgICAgICAgIE9S IChkPj01Mi4wIEFORCBkPDUzLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NTIu MCBBTkQgZDw1My4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKGc9J2tqaWhnZmUn IEFORCBmIEdMT0IgJ3R1dnd4KicpCiAgICAgICAgICBPUiBiPTgwCiAgIF1dKQpAQCAtODAyMiw3 ICs4MDIyLDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNjAgQU5E IDYyKSBBTkQgYSE9NjEpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA5MCBBTkQgOTIpIEFORCBh IT05MSkKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDkgQU5EIDExKSBBTkQgYSE9MTApCi0gICAg ICAgICBPUiAoZD49NTIuMCBBTkQgZDw1My4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1Ig KGQ+PTUyLjAgQU5EIGQ8NTMuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChnPSdr amloZ2ZlJyBBTkQgZiBHTE9CICd0dXZ3eConKQogICAgICAgICAgT1IgYj04MAogICBdXSkKQEAg LTgxMzMsNyArODEzMyw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAgICAg IHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIKLSAgICAg IFdIRVJFIChkPj0zLjAgQU5EIGQ8NC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+ PTMuMCBBTkQgZDw0LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoZz0nZ2ZlZGNi YScgQU5EIGYgR0xPQiAnb3BxcnMqJykKICAgICAgICAgIE9SIGI9MTAxNQogICAgICAgICAgT1Ig Yz0xNjAxNgpAQCAtODE1Myw3ICs4MTUzLDcgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9u KCkKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJP TSB0MwotICAgICAgV0hFUkUgKGQ+PTMuMCBBTkQgZDw0LjAgQU5EIGQgTk9UIE5VTEwpCisgICAg ICBXSEVSRSAoZD49My4wIEFORCBkPDQuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9S IChnPSdnZmVkY2JhJyBBTkQgZiBHTE9CICdvcHFycyonKQogICAgICAgICAgT1IgYj0xMDE1CiAg ICAgICAgICBPUiBjPTE2MDE2CkBAIC04MTc0LDcgKzgxNzQsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAg ICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIK ICAgICAgIFdIRVJFIChnPSd5eHd2dXRzJyBBTkQgZiBHTE9CICdiY2RlZionKQotICAgICAgICAg T1IgKGQ+PTQ0LjAgQU5EIGQ8NDUuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj00 NC4wIEFORCBkPDQ1LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTY0MQogICAg ICAgICAgT1IgYj03OTUKICAgXV0pCkBAIC04MTkwLDcgKzgxOTAsNyBAQCB0ZXN0OmRvX3Rlc3Qo CiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00g dDMKICAgICAgIFdIRVJFIChnPSd5eHd2dXRzJyBBTkQgZiBHTE9CICdiY2RlZionKQotICAgICAg ICAgT1IgKGQ+PTQ0LjAgQU5EIGQ8NDUuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChk Pj00NC4wIEFORCBkPDQ1LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTY0MQog ICAgICAgICAgT1IgYj03OTUKICAgXV0pCkBAIC04MjA2LDggKzgyMDYsOCBAQCB0ZXN0OmRvX3Rl c3QoCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZS T00gdDIKICAgICAgIFdIRVJFIGY9J2ZnaGlqa2xtbicKLSAgICAgICAgIE9SIChkPj00NC4wIEFO RCBkPDQ1LjAgQU5EIGQgTk9UIE5VTEwpCi0gICAgICAgICBPUiAoZD49MTUuMCBBTkQgZDwxNi4w IEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTQ0LjAgQU5EIGQ8NDUuMCBBTkQgZCBJ UyBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0xNS4wIEFORCBkPDE2LjAgQU5EIGQgSVMgTk9U IE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIuMjE4LjE+CkBA IC04MjIxLDggKzgyMjEsOCBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgIHJldHVybiBjb3VudF9z dGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDMKICAgICAgIFdIRVJFIGY9J2ZnaGlq a2xtbicKLSAgICAgICAgIE9SIChkPj00NC4wIEFORCBkPDQ1LjAgQU5EIGQgTk9UIE5VTEwpCi0g ICAgICAgICBPUiAoZD49MTUuMCBBTkQgZDwxNi4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAg T1IgKGQ+PTQ0LjAgQU5EIGQ8NDUuMCBBTkQgZCBJUyBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChk Pj0xNS4wIEFORCBkPDE2LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewog ICAgICAgICAtLSA8d2hlcmU3LTIuMjE4LjI+CkBAIC04MjczLDExICs4MjczLDExIEBAIHRlc3Q6 ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0 KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIKLSAgICAgIFdIRVJFIChkPj05Ny4wIEFORCBkPDk4 LjAgQU5EIGQgTk9UIE5VTEwpCi0gICAgICAgICBPUiAoZD49MTYuMCBBTkQgZDwxNy4wIEFORCBk IE5PVCBOVUxMKQotICAgICAgICAgT1IgKGQ+PTEyLjAgQU5EIGQ8MTMuMCBBTkQgZCBOT1QgTlVM TCkKKyAgICAgIFdIRVJFIChkPj05Ny4wIEFORCBkPDk4LjAgQU5EIGQgSVMgTk9UIE5VTEwpCisg ICAgICAgICBPUiAoZD49MTYuMCBBTkQgZDwxNy4wIEFORCBkIElTIE5PVCBOVUxMKQorICAgICAg ICAgT1IgKGQ+PTEyLjAgQU5EIGQ8MTMuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9S IGI9ODgwCi0gICAgICAgICBPUiAoZD49ODYuMCBBTkQgZDw4Ny4wIEFORCBkIE5PVCBOVUxMKQor ICAgICAgICAgT1IgKGQ+PTg2LjAgQU5EIGQ8ODcuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAg ICAgIE9SIGI9MTA4OQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNjkgQU5EIDcxKSBBTkQgYSE9 NzApCiAgICAgICAgICBPUiBmIElTIE5VTEwKQEAgLTgyOTQsMTEgKzgyOTQsMTEgQEAgdGVzdDpk b190ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQo W1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MwotICAgICAgV0hFUkUgKGQ+PTk3LjAgQU5EIGQ8OTgu MCBBTkQgZCBOT1QgTlVMTCkKLSAgICAgICAgIE9SIChkPj0xNi4wIEFORCBkPDE3LjAgQU5EIGQg Tk9UIE5VTEwpCi0gICAgICAgICBPUiAoZD49MTIuMCBBTkQgZDwxMy4wIEFORCBkIE5PVCBOVUxM KQorICAgICAgV0hFUkUgKGQ+PTk3LjAgQU5EIGQ8OTguMCBBTkQgZCBJUyBOT1QgTlVMTCkKKyAg ICAgICAgIE9SIChkPj0xNi4wIEFORCBkPDE3LjAgQU5EIGQgSVMgTk9UIE5VTEwpCisgICAgICAg ICBPUiAoZD49MTIuMCBBTkQgZDwxMy4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1Ig Yj04ODAKLSAgICAgICAgIE9SIChkPj04Ni4wIEFORCBkPDg3LjAgQU5EIGQgTk9UIE5VTEwpCisg ICAgICAgICBPUiAoZD49ODYuMCBBTkQgZDw4Ny4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAg ICAgT1IgYj0xMDg5CiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA2OSBBTkQgNzEpIEFORCBhIT03 MCkKICAgICAgICAgIE9SIGYgSVMgTlVMTApAQCAtODM5NiwxMSArODM5NiwxMSBAQCB0ZXN0OmRv X3Rlc3QoCiAgICAgICAgICBPUiBjPTE4MDE4CiAgICAgICAgICBPUiBiPTc5MgogICAgICAgICAg T1IgKGc9J21sa2ppaGcnIEFORCBmIEdMT0IgJ2prbG1uKicpCi0gICAgICAgICBPUiAoZD49Nzcu MCBBTkQgZDw3OC4wIEFORCBkIE5PVCBOVUxMKQotICAgICAgICAgT1IgKGQ+PTguMCBBTkQgZDw5 LjAgQU5EIGQgTk9UIE5VTEwpCi0gICAgICAgICBPUiAoZD49OTEuMCBBTkQgZDw5Mi4wIEFORCBk IE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTc3LjAgQU5EIGQ8NzguMCBBTkQgZCBJUyBOT1Qg TlVMTCkKKyAgICAgICAgIE9SIChkPj04LjAgQU5EIGQ8OS4wIEFORCBkIElTIE5PVCBOVUxMKQor ICAgICAgICAgT1IgKGQ+PTkxLjAgQU5EIGQ8OTIuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAg ICAgIE9SIGY9J3V2d3h5emFiYycKLSAgICAgICAgIE9SIChkPj03NC4wIEFORCBkPDc1LjAgQU5E IGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NzQuMCBBTkQgZDw3NS4wIEFORCBkIElTIE5P VCBOVUxMKQogICBdXSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjIyMy4xPgpA QCAtODQxOCwxMSArODQxOCwxMSBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBjPTE4MDE4 CiAgICAgICAgICBPUiBiPTc5MgogICAgICAgICAgT1IgKGc9J21sa2ppaGcnIEFORCBmIEdMT0Ig J2prbG1uKicpCi0gICAgICAgICBPUiAoZD49NzcuMCBBTkQgZDw3OC4wIEFORCBkIE5PVCBOVUxM KQotICAgICAgICAgT1IgKGQ+PTguMCBBTkQgZDw5LjAgQU5EIGQgTk9UIE5VTEwpCi0gICAgICAg ICBPUiAoZD49OTEuMCBBTkQgZDw5Mi4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+ PTc3LjAgQU5EIGQ8NzguMCBBTkQgZCBJUyBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj04LjAg QU5EIGQ8OS4wIEFORCBkIElTIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTkxLjAgQU5EIGQ8 OTIuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGY9J3V2d3h5emFiYycKLSAgICAg ICAgIE9SIChkPj03NC4wIEFORCBkPDc1LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAo ZD49NzQuMCBBTkQgZDw3NS4wIEFORCBkIElTIE5PVCBOVUxMKQogICBdXSkKICAgICBlbmQsIHsK ICAgICAgICAgLS0gPHdoZXJlNy0yLjIyMy4yPgpAQCAtODQzNiw3ICs4NDM2LDcgQEAgdGVzdDpk b190ZXN0KAogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1Qg YSBGUk9NIHQyCiAgICAgICBXSEVSRSBiPTQyOQotICAgICAgICAgT1IgKGQ+PTMzLjAgQU5EIGQ8 MzQuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0zMy4wIEFORCBkPDM0LjAgQU5E IGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoZiBHTE9CICc/ZmdoaSonIEFORCBmIEdMT0Ig J2VmZ2gqJykKICAgICAgICAgIE9SIChnPSdxcG9ubWxrJyBBTkQgZiBHTE9CICdvcHFycyonKQog ICAgICAgICAgT1IgYj0xMDcwCkBAIC04NDU0LDcgKzg0NTQsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAg ICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDMK ICAgICAgIFdIRVJFIGI9NDI5Ci0gICAgICAgICBPUiAoZD49MzMuMCBBTkQgZDwzNC4wIEFORCBk IE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTMzLjAgQU5EIGQ8MzQuMCBBTkQgZCBJUyBOT1Qg TlVMTCkKICAgICAgICAgIE9SIChmIEdMT0IgJz9mZ2hpKicgQU5EIGYgR0xPQiAnZWZnaConKQog ICAgICAgICAgT1IgKGc9J3Fwb25tbGsnIEFORCBmIEdMT0IgJ29wcXJzKicpCiAgICAgICAgICBP UiBiPTEwNzAKQEAgLTg2NjgsOSArODY2OCw5IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9S IChnPSdzcnFwb25tJyBBTkQgZiBHTE9CICdkZWZnaConKQogICAgICAgICAgT1IgKChhIEJFVFdF RU4gNjQgQU5EIDY2KSBBTkQgYSE9NjUpCiAgICAgICAgICBPUiBiPTY4MgotICAgICAgICAgT1Ig KGQ+PTM0LjAgQU5EIGQ8MzUuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0zNC4w IEFORCBkPDM1LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoZz0nbGtqaWhnZicg QU5EIGYgR0xPQiAnbm9wcXIqJykKLSAgICAgICAgIE9SIChkPj0yMi4wIEFORCBkPDIzLjAgQU5E IGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MjIuMCBBTkQgZDwyMy4wIEFORCBkIElTIE5P VCBOVUxMKQogICBdXSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjIzMS4xPgpA QCAtODY4OCw5ICs4Njg4LDkgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgKGc9J3NycXBv bm0nIEFORCBmIEdMT0IgJ2RlZmdoKicpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA2NCBBTkQg NjYpIEFORCBhIT02NSkKICAgICAgICAgIE9SIGI9NjgyCi0gICAgICAgICBPUiAoZD49MzQuMCBB TkQgZDwzNS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTM0LjAgQU5EIGQ8MzUu MCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChnPSdsa2ppaGdmJyBBTkQgZiBHTE9C ICdub3BxcionKQotICAgICAgICAgT1IgKGQ+PTIyLjAgQU5EIGQ8MjMuMCBBTkQgZCBOT1QgTlVM TCkKKyAgICAgICAgIE9SIChkPj0yMi4wIEFORCBkPDIzLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAg IF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIuMjMxLjI+CkBAIC04NzM3LDE0 ICs4NzM3LDE0IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVy biBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIKLSAgICAgIFdIRVJF IChkPj01NS4wIEFORCBkPDU2LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49NTUu MCBBTkQgZDw1Ni4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgZj0nYWJjZGVmZ2hp JwogICAgICAgICAgT1IgYj0yNjcKICAgICAgICAgIE9SIChnPSdpaGdmZWRjJyBBTkQgZiBHTE9C ICdhYmNkZSonKQogICAgICAgICAgT1IgKGc9J3V0c3JxcG8nIEFORCBmIEdMT0IgJ3V2d3h5Kicp CiAgICAgICAgICBPUiBhPTgyCiAgICAgICAgICBPUiBhPTU0Ci0gICAgICAgICBPUiAoZD49MTYu MCBBTkQgZDwxNy4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTE2LjAgQU5EIGQ8 MTcuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9MTA3OAogICBdXSkKICAgICBl bmQsIHsKQEAgLTg3NTgsMTQgKzg3NTgsMTQgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9u KCkKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJP TSB0MwotICAgICAgV0hFUkUgKGQ+PTU1LjAgQU5EIGQ8NTYuMCBBTkQgZCBOT1QgTlVMTCkKKyAg ICAgIFdIRVJFIChkPj01NS4wIEFORCBkPDU2LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAg ICBPUiBmPSdhYmNkZWZnaGknCiAgICAgICAgICBPUiBiPTI2NwogICAgICAgICAgT1IgKGc9J2lo Z2ZlZGMnIEFORCBmIEdMT0IgJ2FiY2RlKicpCiAgICAgICAgICBPUiAoZz0ndXRzcnFwbycgQU5E IGYgR0xPQiAndXZ3eHkqJykKICAgICAgICAgIE9SIGE9ODIKICAgICAgICAgIE9SIGE9NTQKLSAg ICAgICAgIE9SIChkPj0xNi4wIEFORCBkPDE3LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBP UiAoZD49MTYuMCBBTkQgZDwxNy4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj0x MDc4CiAgIF1dKQogICAgIGVuZCwgewpAQCAtODc3OSw5ICs4Nzc5LDkgQEAgdGVzdDpkb190ZXN0 KAogICAgIGZ1bmN0aW9uKCkKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAg ICAgU0VMRUNUIGEgRlJPTSB0MgotICAgICAgV0hFUkUgKGQ+PTkzLjAgQU5EIGQ8OTQuMCBBTkQg ZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChkPj05My4wIEFORCBkPDk0LjAgQU5EIGQgSVMgTk9U IE5VTEwpCiAgICAgICAgICBPUiBmPSdoaWprbG1ub3AnCi0gICAgICAgICBPUiAoZD49MzQuMCBB TkQgZDwzNS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTM0LjAgQU5EIGQ8MzUu MCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVy ZTctMi4yMzQuMT4KQEAgLTg3OTQsOSArODc5NCw5IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5j dGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBh IEZST00gdDMKLSAgICAgIFdIRVJFIChkPj05My4wIEFORCBkPDk0LjAgQU5EIGQgTk9UIE5VTEwp CisgICAgICBXSEVSRSAoZD49OTMuMCBBTkQgZDw5NC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAg ICAgICAgT1IgZj0naGlqa2xtbm9wJwotICAgICAgICAgT1IgKGQ+PTM0LjAgQU5EIGQ8MzUuMCBB TkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0zNC4wIEFORCBkPDM1LjAgQU5EIGQgSVMg Tk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIuMjM0LjI+ CkBAIC04ODEzLDcgKzg4MTMsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiAoKGEgQkVU V0VFTiA1MSBBTkQgNTMpIEFORCBhIT01MikKICAgICAgICAgIE9SIGE9MTgKICAgICAgICAgIE9S ICgoYSBCRVRXRUVOIDMxIEFORCAzMykgQU5EIGEhPTMyKQotICAgICAgICAgT1IgKGQ+PTk0LjAg QU5EIGQ8OTUuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj05NC4wIEFORCBkPDk1 LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAxMDAwMDAwPGIKICAgICAgICAgIE9S IChmIEdMT0IgJz9wcXJzKicgQU5EIGYgR0xPQiAnb3BxcionKQogICAgICAgICAgT1IgKGc9J3Jx cG9ubWwnIEFORCBmIEdMT0IgJ2xtbm9wKicpCkBAIC04ODM0LDcgKzg4MzQsNyBAQCB0ZXN0OmRv X3Rlc3QoCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA1MSBBTkQgNTMpIEFORCBhIT01MikKICAg ICAgICAgIE9SIGE9MTgKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDMxIEFORCAzMykgQU5EIGEh PTMyKQotICAgICAgICAgT1IgKGQ+PTk0LjAgQU5EIGQ8OTUuMCBBTkQgZCBOT1QgTlVMTCkKKyAg ICAgICAgIE9SIChkPj05NC4wIEFORCBkPDk1LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAg ICBPUiAxMDAwMDAwPGIKICAgICAgICAgIE9SIChmIEdMT0IgJz9wcXJzKicgQU5EIGYgR0xPQiAn b3BxcionKQogICAgICAgICAgT1IgKGc9J3JxcG9ubWwnIEFORCBmIEdMT0IgJ2xtbm9wKicpCkBA IC04ODU0LDcgKzg4NTQsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICBXSEVSRSBiPTEwMDEKICAg ICAgICAgIE9SIGI9MTY4CiAgICAgICAgICBPUiAoZiBHTE9CICc/aWprbConIEFORCBmIEdMT0Ig J2hpamsqJykKLSAgICAgICAgIE9SIChkPj04OS4wIEFORCBkPDkwLjAgQU5EIGQgTk9UIE5VTEwp CisgICAgICAgICBPUiAoZD49ODkuMCBBTkQgZDw5MC4wIEFORCBkIElTIE5PVCBOVUxMKQogICBd XSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjIzNi4xPgpAQCAtODg3MCw3ICs4 ODcwLDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgV0hFUkUgYj0xMDAxCiAgICAgICAgICBPUiBi PTE2OAogICAgICAgICAgT1IgKGYgR0xPQiAnP2lqa2wqJyBBTkQgZiBHTE9CICdoaWprKicpCi0g ICAgICAgICBPUiAoZD49ODkuMCBBTkQgZDw5MC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAg T1IgKGQ+PTg5LjAgQU5EIGQ8OTAuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAgICAgZW5k LCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi4yMzYuMj4KQEAgLTg5NTcsNyArODk1Nyw3IEBAIHRl c3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19z b3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIKLSAgICAgIFdIRVJFIChkPj0yLjAgQU5EIGQ8 My4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTIuMCBBTkQgZDwzLjAgQU5EIGQg SVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA4NyBBTkQgODkpIEFORCBhIT04 OCkKICAgICAgICAgIE9SIGI9NTIwCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA0NyBBTkQgNDkp IEFORCBhIT00OCkKQEAgLTg5NzQsNyArODk3NCw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5j dGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBh IEZST00gdDMKLSAgICAgIFdIRVJFIChkPj0yLjAgQU5EIGQ8My4wIEFORCBkIE5PVCBOVUxMKQor ICAgICAgV0hFUkUgKGQ+PTIuMCBBTkQgZDwzLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAg ICBPUiAoKGEgQkVUV0VFTiA4NyBBTkQgODkpIEFORCBhIT04OCkKICAgICAgICAgIE9SIGI9NTIw CiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA0NyBBTkQgNDkpIEFORCBhIT00OCkKQEAgLTkwMzAs NyArOTAzMCw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIGI9ODgKICAgICAgICAgIE9S IGY9J2hpamtsbW5vcCcKICAgICAgICAgIE9SIGI9ODA2Ci0gICAgICAgICBPUiAoZD49NDYuMCBB TkQgZDw0Ny4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTQ2LjAgQU5EIGQ8NDcu MCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9ODgKICAgXV0pCiAgICAgZW5kLCB7 CkBAIC05MDUxLDcgKzkwNTEsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBiPTg4CiAg ICAgICAgICBPUiBmPSdoaWprbG1ub3AnCiAgICAgICAgICBPUiBiPTgwNgotICAgICAgICAgT1Ig KGQ+PTQ2LjAgQU5EIGQ8NDcuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj00Ni4w IEFORCBkPDQ3LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTg4CiAgIF1dKQog ICAgIGVuZCwgewpAQCAtOTA2NiwxMCArOTA2NiwxMCBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAg IHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIKICAgICAg IFdIRVJFIGI9ODE3Ci0gICAgICAgICBPUiAoZD49NTUuMCBBTkQgZDw1Ni4wIEFORCBkIE5PVCBO VUxMKQorICAgICAgICAgT1IgKGQ+PTU1LjAgQU5EIGQ8NTYuMCBBTkQgZCBJUyBOT1QgTlVMTCkK ICAgICAgICAgIE9SIGE9MzYKICAgICAgICAgIE9SIGI9OTYwCi0gICAgICAgICBPUiAoZD49NjMu MCBBTkQgZDw2NC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTYzLjAgQU5EIGQ8 NjQuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9Mzc0CiAgICAgICAgICBPUiBi PTkzOAogICAgICAgICAgT1IgYj03NzMKQEAgLTkwODgsMTAgKzkwODgsMTAgQEAgdGVzdDpkb190 ZXN0KAogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBG Uk9NIHQzCiAgICAgICBXSEVSRSBiPTgxNwotICAgICAgICAgT1IgKGQ+PTU1LjAgQU5EIGQ8NTYu MCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj01NS4wIEFORCBkPDU2LjAgQU5EIGQg SVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBhPTM2CiAgICAgICAgICBPUiBiPTk2MAotICAgICAg ICAgT1IgKGQ+PTYzLjAgQU5EIGQ8NjQuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChk Pj02My4wIEFORCBkPDY0LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTM3NAog ICAgICAgICAgT1IgYj05MzgKICAgICAgICAgIE9SIGI9NzczCkBAIC05MTc1LDEyICs5MTc1LDEy IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIGI9Mzk5CiAgICAgICAgICBPUiBiPTEwMDQK ICAgICAgICAgIE9SIGM9MTYwMTYKLSAgICAgICAgIE9SIChkPj0zMS4wIEFORCBkPDMyLjAgQU5E IGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MzEuMCBBTkQgZDwzMi4wIEFORCBkIElTIE5P VCBOVUxMKQogICAgICAgICAgT1IgYj02NzEKICAgICAgICAgIE9SIGE9MjUKICAgICAgICAgIE9S IGE9MzAKICAgICAgICAgIE9SIGE9OAotICAgICAgICAgT1IgKGQ+PTUuMCBBTkQgZDw2LjAgQU5E IGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NS4wIEFORCBkPDYuMCBBTkQgZCBJUyBOT1Qg TlVMTCkKICAgXV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi4yNDUuMT4KQEAg LTkxOTcsMTIgKzkxOTcsMTIgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgYj0zOTkKICAg ICAgICAgIE9SIGI9MTAwNAogICAgICAgICAgT1IgYz0xNjAxNgotICAgICAgICAgT1IgKGQ+PTMx LjAgQU5EIGQ8MzIuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0zMS4wIEFORCBk PDMyLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTY3MQogICAgICAgICAgT1Ig YT0yNQogICAgICAgICAgT1IgYT0zMAogICAgICAgICAgT1IgYT04Ci0gICAgICAgICBPUiAoZD49 NS4wIEFORCBkPDYuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj01LjAgQU5EIGQ8 Ni4wIEFORCBkIElTIE5PVCBOVUxMKQogICBdXSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdo ZXJlNy0yLjI0NS4yPgpAQCAtOTIyMCw3ICs5MjIwLDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAg ICAgT1IgYj01OTQKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDM5IEFORCA0MSkgQU5EIGEhPTQw KQogICAgICAgICAgT1IgYj04NjEKLSAgICAgICAgIE9SIChkPj05MC4wIEFORCBkPDkxLjAgQU5E IGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49OTAuMCBBTkQgZDw5MS4wIEFORCBkIElTIE5P VCBOVUxMKQogICAgICAgICAgT1IgYj05NDkKICAgICAgICAgIE9SIChnPSd1dHNycXBvJyBBTkQg ZiBHTE9CICdzdHV2dyonKQogICAgICAgICAgT1IgKGc9J25tbGtqaWgnIEFORCBmIEdMT0IgJ2Nk ZWZnKicpCkBAIC05MjQxLDcgKzkyNDEsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBi PTU5NAogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMzkgQU5EIDQxKSBBTkQgYSE9NDApCiAgICAg ICAgICBPUiBiPTg2MQotICAgICAgICAgT1IgKGQ+PTkwLjAgQU5EIGQ8OTEuMCBBTkQgZCBOT1Qg TlVMTCkKKyAgICAgICAgIE9SIChkPj05MC4wIEFORCBkPDkxLjAgQU5EIGQgSVMgTk9UIE5VTEwp CiAgICAgICAgICBPUiBiPTk0OQogICAgICAgICAgT1IgKGc9J3V0c3JxcG8nIEFORCBmIEdMT0Ig J3N0dXZ3KicpCiAgICAgICAgICBPUiAoZz0nbm1sa2ppaCcgQU5EIGYgR0xPQiAnY2RlZmcqJykK QEAgLTkzODcsNyArOTM4Nyw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIChnPSd3dnV0 c3JxJyBBTkQgZiBHTE9CICdtbm9wcSonKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNjYgQU5E IDY4KSBBTkQgYSE9NjcpCiAgICAgICAgICBPUiBiPTM0NAotICAgICAgICAgT1IgKGQ+PTg2LjAg QU5EIGQ8ODcuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj04Ni4wIEFORCBkPDg3 LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8d2hl cmU3LTIuMjUxLjE+CkBAIC05NDA0LDcgKzk0MDQsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAg ICBPUiAoZz0nd3Z1dHNycScgQU5EIGYgR0xPQiAnbW5vcHEqJykKICAgICAgICAgIE9SICgoYSBC RVRXRUVOIDY2IEFORCA2OCkgQU5EIGEhPTY3KQogICAgICAgICAgT1IgYj0zNDQKLSAgICAgICAg IE9SIChkPj04Ni4wIEFORCBkPDg3LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49 ODYuMCBBTkQgZDw4Ny4wIEFORCBkIElTIE5PVCBOVUxMKQogICBdXSkKICAgICBlbmQsIHsKICAg ICAgICAgLS0gPHdoZXJlNy0yLjI1MS4yPgpAQCAtOTQ1NSw3ICs5NDU1LDcgQEAgdGVzdDpkb190 ZXN0KAogICAgICAgICAgT1IgYT0yOAogICAgICAgICAgT1IgYj00NDMKICAgICAgICAgIE9SIGI9 MzYzCi0gICAgICAgICBPUiAoZD49MjguMCBBTkQgZDwyOS4wIEFORCBkIE5PVCBOVUxMKQorICAg ICAgICAgT1IgKGQ+PTI4LjAgQU5EIGQ8MjkuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAg IE9SIGE9NjAKICAgICAgICAgIE9SIGI9ODAKICAgICAgICAgIE9SIChnPSdwb25tbGtqJyBBTkQg ZiBHTE9CICd2d3h5eionKQpAQCAtOTQ3Niw3ICs5NDc2LDcgQEAgdGVzdDpkb190ZXN0KAogICAg ICAgICAgT1IgYT0yOAogICAgICAgICAgT1IgYj00NDMKICAgICAgICAgIE9SIGI9MzYzCi0gICAg ICAgICBPUiAoZD49MjguMCBBTkQgZDwyOS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1Ig KGQ+PTI4LjAgQU5EIGQ8MjkuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGE9NjAK ICAgICAgICAgIE9SIGI9ODAKICAgICAgICAgIE9SIChnPSdwb25tbGtqJyBBTkQgZiBHTE9CICd2 d3h5eionKQpAQCAtOTQ5Myw3ICs5NDkzLDcgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9u KCkKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJP TSB0MgotICAgICAgV0hFUkUgKGQ+PTMzLjAgQU5EIGQ8MzQuMCBBTkQgZCBOT1QgTlVMTCkKKyAg ICAgIFdIRVJFIChkPj0zMy4wIEFORCBkPDM0LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAg ICBPUiBiPTY2MAogICBdXSkKICAgICBlbmQsIHsKQEAgLTk1MDcsNyArOTUwNyw3IEBAIHRlc3Q6 ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0 KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDMKLSAgICAgIFdIRVJFIChkPj0zMy4wIEFORCBkPDM0 LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49MzMuMCBBTkQgZDwzNC4wIEFORCBk IElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj02NjAKICAgXV0pCiAgICAgZW5kLCB7CkBAIC05 NjAzLDExICs5NjAzLDExIEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIGI9ODUwCiAgICAg ICAgICBPUiAoKGEgQkVUV0VFTiAzMiBBTkQgMzQpIEFORCBhIT0zMykKICAgICAgICAgIE9SIGI9 OTI0Ci0gICAgICAgICBPUiAoZD49MzcuMCBBTkQgZDwzOC4wIEFORCBkIE5PVCBOVUxMKQotICAg ICAgICAgT1IgKGQ+PTc4LjAgQU5EIGQ8NzkuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9S IChkPj0zNy4wIEFORCBkPDM4LjAgQU5EIGQgSVMgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49 NzguMCBBTkQgZDw3OS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj0zNTUKLSAg ICAgICAgIE9SIChkPj01Ni4wIEFORCBkPDU3LjAgQU5EIGQgTk9UIE5VTEwpCi0gICAgICAgICBP UiAoZD49ODYuMCBBTkQgZDw4Ny4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTU2 LjAgQU5EIGQ8NTcuMCBBTkQgZCBJUyBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj04Ni4wIEFO RCBkPDg3LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAgICAgICAt LSA8d2hlcmU3LTIuMjU3LjE+CkBAIC05NjI2LDExICs5NjI2LDExIEBAIHRlc3Q6ZG9fdGVzdCgK ICAgICAgICAgIE9SIGI9ODUwCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiAzMiBBTkQgMzQpIEFO RCBhIT0zMykKICAgICAgICAgIE9SIGI9OTI0Ci0gICAgICAgICBPUiAoZD49MzcuMCBBTkQgZDwz OC4wIEFORCBkIE5PVCBOVUxMKQotICAgICAgICAgT1IgKGQ+PTc4LjAgQU5EIGQ8NzkuMCBBTkQg ZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0zNy4wIEFORCBkPDM4LjAgQU5EIGQgSVMgTk9U IE5VTEwpCisgICAgICAgICBPUiAoZD49NzguMCBBTkQgZDw3OS4wIEFORCBkIElTIE5PVCBOVUxM KQogICAgICAgICAgT1IgYj0zNTUKLSAgICAgICAgIE9SIChkPj01Ni4wIEFORCBkPDU3LjAgQU5E IGQgTk9UIE5VTEwpCi0gICAgICAgICBPUiAoZD49ODYuMCBBTkQgZDw4Ny4wIEFORCBkIE5PVCBO VUxMKQorICAgICAgICAgT1IgKGQ+PTU2LjAgQU5EIGQ8NTcuMCBBTkQgZCBJUyBOT1QgTlVMTCkK KyAgICAgICAgIE9SIChkPj04Ni4wIEFORCBkPDg3LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1d KQogICAgIGVuZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIuMjU3LjI+CkBAIC05NjQzLDcgKzk2 NDMsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291 bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCi0gICAgICBXSEVSRSAoZD49 NDYuMCBBTkQgZDw0Ny4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTQ2LjAgQU5E IGQ8NDcuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9OTgyCiAgICAgICAgICBP UiAoKGEgQkVUV0VFTiA4MSBBTkQgODMpIEFORCBhIT04MikKICAgICAgICAgIE9SIGI9Mzc0CkBA IC05NjU5LDcgKzk2NTksNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAg ICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQzCi0gICAg ICBXSEVSRSAoZD49NDYuMCBBTkQgZDw0Ny4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUg KGQ+PTQ2LjAgQU5EIGQ8NDcuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9OTgy CiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA4MSBBTkQgODMpIEFORCBhIT04MikKICAgICAgICAg IE9SIGI9Mzc0CkBAIC05Njc3LDcgKzk2NzcsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgIFNFTEVD VCBhIEZST00gdDIKICAgICAgIFdIRVJFICgoYSBCRVRXRUVOIDg3IEFORCA4OSkgQU5EIGEhPTg4 KQogICAgICAgICAgT1IgYj04MTQKLSAgICAgICAgIE9SIChkPj0xOS4wIEFORCBkPDIwLjAgQU5E IGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MTkuMCBBTkQgZDwyMC4wIEFORCBkIElTIE5P VCBOVUxMKQogICBdXSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjI1OS4xPgpA QCAtOTY5Miw3ICs5NjkyLDcgQEAgdGVzdDpkb190ZXN0KAogICAgICBTRUxFQ1QgYSBGUk9NIHQz CiAgICAgICBXSEVSRSAoKGEgQkVUV0VFTiA4NyBBTkQgODkpIEFORCBhIT04OCkKICAgICAgICAg IE9SIGI9ODE0Ci0gICAgICAgICBPUiAoZD49MTkuMCBBTkQgZDwyMC4wIEFORCBkIE5PVCBOVUxM KQorICAgICAgICAgT1IgKGQ+PTE5LjAgQU5EIGQ8MjAuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAg XV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi4yNTkuMj4KQEAgLTk3MDYsNyAr OTcwNiw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQo W1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MgogICAgICAgV0hFUkUgKGc9J3Fwb25tbGsnIEFORCBm IEdMT0IgJ25vcHFyKicpCi0gICAgICAgICBPUiAoZD49MTIuMCBBTkQgZDwxMy4wIEFORCBkIE5P VCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTEyLjAgQU5EIGQ8MTMuMCBBTkQgZCBJUyBOT1QgTlVM TCkKICAgICAgICAgIE9SIGI9OTkzCiAgIF1dKQogICAgIGVuZCwgewpAQCAtOTcyMSw3ICs5NzIx LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwog ICAgICBTRUxFQ1QgYSBGUk9NIHQzCiAgICAgICBXSEVSRSAoZz0ncXBvbm1saycgQU5EIGYgR0xP QiAnbm9wcXIqJykKLSAgICAgICAgIE9SIChkPj0xMi4wIEFORCBkPDEzLjAgQU5EIGQgTk9UIE5V TEwpCisgICAgICAgICBPUiAoZD49MTIuMCBBTkQgZDwxMy4wIEFORCBkIElTIE5PVCBOVUxMKQog ICAgICAgICAgT1IgYj05OTMKICAgXV0pCiAgICAgZW5kLCB7CkBAIC05NzQzLDcgKzk3NDMsNyBA QCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBiPTI0MgogICAgICAgICAgT1IgYT01OQogICAg ICAgICAgT1IgYj0xMDQ1Ci0gICAgICAgICBPUiAoZD49OC4wIEFORCBkPDkuMCBBTkQgZCBOT1Qg TlVMTCkKKyAgICAgICAgIE9SIChkPj04LjAgQU5EIGQ8OS4wIEFORCBkIElTIE5PVCBOVUxMKQog ICBdXSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjI2MS4xPgpAQCAtOTc2NCw3 ICs5NzY0LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgYj0yNDIKICAgICAgICAgIE9S IGE9NTkKICAgICAgICAgIE9SIGI9MTA0NQotICAgICAgICAgT1IgKGQ+PTguMCBBTkQgZDw5LjAg QU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49OC4wIEFORCBkPDkuMCBBTkQgZCBJUyBO T1QgTlVMTCkKICAgXV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi4yNjEuMj4K QEAgLTk3ODIsOCArOTc4Miw4IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIGM9MzAwMwog ICAgICAgICAgT1IgKGYgR0xPQiAnP2JjZGUqJyBBTkQgZiBHTE9CICdhYmNkKicpCiAgICAgICAg ICBPUiAoKGEgQkVUV0VFTiA2OCBBTkQgNzApIEFORCBhIT02OSkKLSAgICAgICAgIE9SIChkPj0x LjAgQU5EIGQ8Mi4wIEFORCBkIE5PVCBOVUxMKQotICAgICAgICAgT1IgKGQ+PTMzLjAgQU5EIGQ8 MzQuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0xLjAgQU5EIGQ8Mi4wIEFORCBk IElTIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTMzLjAgQU5EIGQ8MzQuMCBBTkQgZCBJUyBO T1QgTlVMTCkKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDcxIEFORCA3MykgQU5EIGEhPTcyKQog ICBdXSkKICAgICBlbmQsIHsKQEAgLTk4MDIsOCArOTgwMiw4IEBAIHRlc3Q6ZG9fdGVzdCgKICAg ICAgICAgIE9SIGM9MzAwMwogICAgICAgICAgT1IgKGYgR0xPQiAnP2JjZGUqJyBBTkQgZiBHTE9C ICdhYmNkKicpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA2OCBBTkQgNzApIEFORCBhIT02OSkK LSAgICAgICAgIE9SIChkPj0xLjAgQU5EIGQ8Mi4wIEFORCBkIE5PVCBOVUxMKQotICAgICAgICAg T1IgKGQ+PTMzLjAgQU5EIGQ8MzQuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0x LjAgQU5EIGQ8Mi4wIEFORCBkIElTIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTMzLjAgQU5E IGQ8MzQuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDcxIEFO RCA3MykgQU5EIGEhPTcyKQogICBdXSkKICAgICBlbmQsIHsKQEAgLTk4MjYsNyArOTgyNiw3IEBA IHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIGI9MTAyMwogICAgICAgICAgT1IgYT0xMDAKICAg ICAgICAgIE9SIChnPSdubWxramloJyBBTkQgZiBHTE9CICdkZWZnaConKQotICAgICAgICAgT1Ig KGQ+PTk3LjAgQU5EIGQ8OTguMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj05Ny4w IEFORCBkPDk4LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAgICAg ICAtLSA8d2hlcmU3LTIuMjYzLjE+CkBAIC05ODQ4LDcgKzk4NDgsNyBAQCB0ZXN0OmRvX3Rlc3Qo CiAgICAgICAgICBPUiBiPTEwMjMKICAgICAgICAgIE9SIGE9MTAwCiAgICAgICAgICBPUiAoZz0n bm1sa2ppaCcgQU5EIGYgR0xPQiAnZGVmZ2gqJykKLSAgICAgICAgIE9SIChkPj05Ny4wIEFORCBk PDk4LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49OTcuMCBBTkQgZDw5OC4wIEFO RCBkIElTIE5PVCBOVUxMKQogICBdXSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0y LjI2My4yPgpAQCAtOTg5NSw3ICs5ODk1LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICBTRUxFQ1Qg YSBGUk9NIHQyCiAgICAgICBXSEVSRSAoKGEgQkVUV0VFTiA5MyBBTkQgOTUpIEFORCBhIT05NCkK ICAgICAgICAgIE9SIGE9NzkKLSAgICAgICAgIE9SIChkPj0zOS4wIEFORCBkPDQwLjAgQU5EIGQg Tk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MzkuMCBBTkQgZDw0MC4wIEFORCBkIElTIE5PVCBO VUxMKQogICAgICAgICAgT1IgYj00NjIKICAgXV0pCiAgICAgZW5kLCB7CkBAIC05OTExLDcgKzk5 MTEsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgIFNFTEVDVCBhIEZST00gdDMKICAgICAgIFdIRVJF ICgoYSBCRVRXRUVOIDkzIEFORCA5NSkgQU5EIGEhPTk0KQogICAgICAgICAgT1IgYT03OQotICAg ICAgICAgT1IgKGQ+PTM5LjAgQU5EIGQ8NDAuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9S IChkPj0zOS4wIEFORCBkPDQwLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTQ2 MgogICBdXSkKICAgICBlbmQsIHsKQEAgLTk5MjUsNyArOTkyNSw3IEBAIHRlc3Q6ZG9fdGVzdCgK ICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAg IFNFTEVDVCBhIEZST00gdDIKLSAgICAgIFdIRVJFIChkPj0zMy4wIEFORCBkPDM0LjAgQU5EIGQg Tk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49MzMuMCBBTkQgZDwzNC4wIEFORCBkIElTIE5PVCBO VUxMKQogICAgICAgICAgT1IgYj0xNDYKICAgICAgICAgIE9SIDEwMDAwMDA8YgogICAgICAgICAg T1IgYj05OQpAQCAtOTk0Miw3ICs5OTQyLDcgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9u KCkKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJP TSB0MwotICAgICAgV0hFUkUgKGQ+PTMzLjAgQU5EIGQ8MzQuMCBBTkQgZCBOT1QgTlVMTCkKKyAg ICAgIFdIRVJFIChkPj0zMy4wIEFORCBkPDM0LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAg ICBPUiBiPTE0NgogICAgICAgICAgT1IgMTAwMDAwMDxiCiAgICAgICAgICBPUiBiPTk5CkBAIC05 OTYyLDE0ICs5OTYyLDE0IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgIFdIRVJFIGI9OTM1CiAgICAg ICAgICBPUiBiPTQ3MwogICAgICAgICAgT1IgYT0yOAotICAgICAgICAgT1IgKGQ+PTIwLjAgQU5E IGQ8MjEuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0yMC4wIEFORCBkPDIxLjAg QU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA2MiBBTkQgNjQpIEFO RCBhIT02MykKICAgICAgICAgIE9SIGE9NjIKICAgICAgICAgIE9SIGI9NjE5CiAgICAgICAgICBP UiBhPTgyCi0gICAgICAgICBPUiAoZD49NjcuMCBBTkQgZDw2OC4wIEFORCBkIE5PVCBOVUxMKQor ICAgICAgICAgT1IgKGQ+PTY3LjAgQU5EIGQ8NjguMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAg ICAgIE9SIGM9MTQwMTQKLSAgICAgICAgIE9SIChkPj00My4wIEFORCBkPDQ0LjAgQU5EIGQgTk9U IE5VTEwpCisgICAgICAgICBPUiAoZD49NDMuMCBBTkQgZDw0NC4wIEFORCBkIElTIE5PVCBOVUxM KQogICBdXSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjI2Ny4xPgpAQCAtOTk4 NSwxNCArOTk4NSwxNCBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICBXSEVSRSBiPTkzNQogICAgICAg ICAgT1IgYj00NzMKICAgICAgICAgIE9SIGE9MjgKLSAgICAgICAgIE9SIChkPj0yMC4wIEFORCBk PDIxLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MjAuMCBBTkQgZDwyMS4wIEFO RCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNjIgQU5EIDY0KSBBTkQg YSE9NjMpCiAgICAgICAgICBPUiBhPTYyCiAgICAgICAgICBPUiBiPTYxOQogICAgICAgICAgT1Ig YT04MgotICAgICAgICAgT1IgKGQ+PTY3LjAgQU5EIGQ8NjguMCBBTkQgZCBOT1QgTlVMTCkKKyAg ICAgICAgIE9SIChkPj02Ny4wIEFORCBkPDY4LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAg ICBPUiBjPTE0MDE0Ci0gICAgICAgICBPUiAoZD49NDMuMCBBTkQgZDw0NC4wIEFORCBkIE5PVCBO VUxMKQorICAgICAgICAgT1IgKGQ+PTQzLjAgQU5EIGQ8NDQuMCBBTkQgZCBJUyBOT1QgTlVMTCkK ICAgXV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi4yNjcuMj4KQEAgLTEwMTY2 LDcgKzEwMTY2LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNf c29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCiAgICAgICBXSEVSRSAoZz0nbm1sa2ppaCcg QU5EIGYgR0xPQiAnYmNkZWYqJykKLSAgICAgICAgIE9SIChkPj02My4wIEFORCBkPDY0LjAgQU5E IGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NjMuMCBBTkQgZDw2NC4wIEFORCBkIElTIE5P VCBOVUxMKQogICAgICAgICAgT1IgYT03NQogICAgICAgICAgT1IgYj05NjAKICAgICAgICAgIE9S IChnPSd0c3JxcG9uJyBBTkQgZiBHTE9CICd5emFiYyonKQpAQCAtMTAxODgsNyArMTAxODgsNyBA QCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAg IFNFTEVDVCBhIEZST00gdDMKICAgICAgIFdIRVJFIChnPSdubWxramloJyBBTkQgZiBHTE9CICdi Y2RlZionKQotICAgICAgICAgT1IgKGQ+PTYzLjAgQU5EIGQ8NjQuMCBBTkQgZCBOT1QgTlVMTCkK KyAgICAgICAgIE9SIChkPj02My4wIEFORCBkPDY0LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAg ICAgICBPUiBhPTc1CiAgICAgICAgICBPUiBiPTk2MAogICAgICAgICAgT1IgKGc9J3RzcnFwb24n IEFORCBmIEdMT0IgJ3l6YWJjKicpCkBAIC0xMDI0MSw4ICsxMDI0MSw4IEBAIHRlc3Q6ZG9fdGVz dCgKICAgICAgICAgIE9SIGE9MjMKICAgICAgICAgIE9SIGI9NzQ4CiAgICAgICAgICBPUiBiPTQw NwotICAgICAgICAgT1IgKGQ+PTQuMCBBTkQgZDw1LjAgQU5EIGQgTk9UIE5VTEwpCi0gICAgICAg ICBPUiAoZD49ODcuMCBBTkQgZDw4OC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+ PTQuMCBBTkQgZDw1LjAgQU5EIGQgSVMgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49ODcuMCBB TkQgZDw4OC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj05NzkKICAgICAgICAg IE9SICgoYSBCRVRXRUVOIDE1IEFORCAxNykgQU5EIGEhPTE2KQogICBdXSkKQEAgLTEwMjYxLDgg KzEwMjYxLDggQEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgYT0yMwogICAgICAgICAgT1Ig Yj03NDgKICAgICAgICAgIE9SIGI9NDA3Ci0gICAgICAgICBPUiAoZD49NC4wIEFORCBkPDUuMCBB TkQgZCBOT1QgTlVMTCkKLSAgICAgICAgIE9SIChkPj04Ny4wIEFORCBkPDg4LjAgQU5EIGQgTk9U IE5VTEwpCisgICAgICAgICBPUiAoZD49NC4wIEFORCBkPDUuMCBBTkQgZCBJUyBOT1QgTlVMTCkK KyAgICAgICAgIE9SIChkPj04Ny4wIEFORCBkPDg4LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAg ICAgICBPUiBiPTk3OQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMTUgQU5EIDE3KSBBTkQgYSE9 MTYpCiAgIF1dKQpAQCAtMTAzNDgsNyArMTAzNDgsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAg ICBPUiBiPTk3OQogICAgICAgICAgT1IgYj0yNzUKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDU2 IEFORCA1OCkgQU5EIGEhPTU3KQotICAgICAgICAgT1IgKGQ+PTQxLjAgQU5EIGQ8NDIuMCBBTkQg ZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj00MS4wIEFORCBkPDQyLjAgQU5EIGQgSVMgTk9U IE5VTEwpCiAgICAgICAgICBPUiBiPTUzOQogICAgICAgICAgT1IgYT04NwogICBdXSkKQEAgLTEw MzY4LDcgKzEwMzY4LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgYj05NzkKICAgICAg ICAgIE9SIGI9Mjc1CiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA1NiBBTkQgNTgpIEFORCBhIT01 NykKLSAgICAgICAgIE9SIChkPj00MS4wIEFORCBkPDQyLjAgQU5EIGQgTk9UIE5VTEwpCisgICAg ICAgICBPUiAoZD49NDEuMCBBTkQgZDw0Mi4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAg T1IgYj01MzkKICAgICAgICAgIE9SIGE9ODcKICAgXV0pCkBAIC0xMDQyNyw3ICsxMDQyNyw3IEBA IHRlc3Q6ZG9fdGVzdCgKICAgICAgU0VMRUNUIGEgRlJPTSB0MgogICAgICAgV0hFUkUgKChhIEJF VFdFRU4gODAgQU5EIDgyKSBBTkQgYSE9ODEpCiAgICAgICAgICBPUiAoZiBHTE9CICc/amtsbSon IEFORCBmIEdMT0IgJ2lqa2wqJykKLSAgICAgICAgIE9SIChkPj00Mi4wIEFORCBkPDQzLjAgQU5E IGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NDIuMCBBTkQgZDw0My4wIEFORCBkIElTIE5P VCBOVUxMKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNDkgQU5EIDUxKSBBTkQgYSE9NTApCiAg ICAgICAgICBPUiAoZz0naWhnZmVkYycgQU5EIGYgR0xPQiAnYmNkZWYqJykKICAgXV0pCkBAIC0x MDQ0NCw3ICsxMDQ0NCw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgU0VMRUNUIGEgRlJPTSB0Mwog ICAgICAgV0hFUkUgKChhIEJFVFdFRU4gODAgQU5EIDgyKSBBTkQgYSE9ODEpCiAgICAgICAgICBP UiAoZiBHTE9CICc/amtsbSonIEFORCBmIEdMT0IgJ2lqa2wqJykKLSAgICAgICAgIE9SIChkPj00 Mi4wIEFORCBkPDQzLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NDIuMCBBTkQg ZDw0My4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNDkgQU5E IDUxKSBBTkQgYSE9NTApCiAgICAgICAgICBPUiAoZz0naWhnZmVkYycgQU5EIGYgR0xPQiAnYmNk ZWYqJykKICAgXV0pCkBAIC0xMDUyOSwxNSArMTA1MjksMTUgQEAgdGVzdDpkb190ZXN0KAogICAg IGZ1bmN0aW9uKCkKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VM RUNUIGEgRlJPTSB0MgotICAgICAgV0hFUkUgKGQ+PTM4LjAgQU5EIGQ8MzkuMCBBTkQgZCBOT1Qg TlVMTCkKKyAgICAgIFdIRVJFIChkPj0zOC4wIEFORCBkPDM5LjAgQU5EIGQgSVMgTk9UIE5VTEwp CiAgICAgICAgICBPUiBiPTMyMgotICAgICAgICAgT1IgKGQ+PTE5LjAgQU5EIGQ8MjAuMCBBTkQg ZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0xOS4wIEFORCBkPDIwLjAgQU5EIGQgSVMgTk9U IE5VTEwpCiAgICAgICAgICBPUiAoZz0nZmVkY2JheicgQU5EIGYgR0xPQiAncHFyc3QqJykKICAg ICAgICAgIE9SIChnPSdvbm1sa2ppJyBBTkQgZiBHTE9CICd3eHl6YSonKQogICAgICAgICAgT1Ig Yj00MzIKICAgICAgICAgIE9SIGI9NTUKICAgICAgICAgIE9SIGE9NTMKLSAgICAgICAgIE9SIChk Pj03NC4wIEFORCBkPDc1LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NzQuMCBB TkQgZDw3NS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKGYgR0xPQiAnP2lqa2wq JyBBTkQgZiBHTE9CICdoaWprKicpCiAgICAgICAgICBPUiBiPTI1CiAgIF1dKQpAQCAtMTA1NTIs MTUgKzEwNTUyLDE1IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJl dHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDMKLSAgICAgIFdI RVJFIChkPj0zOC4wIEFORCBkPDM5LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49 MzguMCBBTkQgZDwzOS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj0zMjIKLSAg ICAgICAgIE9SIChkPj0xOS4wIEFORCBkPDIwLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBP UiAoZD49MTkuMCBBTkQgZDwyMC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKGc9 J2ZlZGNiYXonIEFORCBmIEdMT0IgJ3BxcnN0KicpCiAgICAgICAgICBPUiAoZz0nb25tbGtqaScg QU5EIGYgR0xPQiAnd3h5emEqJykKICAgICAgICAgIE9SIGI9NDMyCiAgICAgICAgICBPUiBiPTU1 CiAgICAgICAgICBPUiBhPTUzCi0gICAgICAgICBPUiAoZD49NzQuMCBBTkQgZDw3NS4wIEFORCBk IE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTc0LjAgQU5EIGQ8NzUuMCBBTkQgZCBJUyBOT1Qg TlVMTCkKICAgICAgICAgIE9SIChmIEdMT0IgJz9pamtsKicgQU5EIGYgR0xPQiAnaGlqayonKQog ICAgICAgICAgT1IgYj0yNQogICBdXSkKQEAgLTEwNjE3LDcgKzEwNjE3LDcgQEAgdGVzdDpkb190 ZXN0KAogICAgICAgICAgT1IgKGYgR0xPQiAnP3BxcnMqJyBBTkQgZiBHTE9CICdvcHFyKicpCiAg ICAgICAgICBPUiAoKGEgQkVUV0VFTiA1OSBBTkQgNjEpIEFORCBhIT02MCkKICAgICAgICAgIE9S IGI9NzUxCi0gICAgICAgICBPUiAoZD49NzMuMCBBTkQgZDw3NC4wIEFORCBkIE5PVCBOVUxMKQor ICAgICAgICAgT1IgKGQ+PTczLjAgQU5EIGQ8NzQuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgXV0p CiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi4yODQuMT4KQEAgLTEwNjM4LDcgKzEw NjM4LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgKGYgR0xPQiAnP3BxcnMqJyBBTkQg ZiBHTE9CICdvcHFyKicpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA1OSBBTkQgNjEpIEFORCBh IT02MCkKICAgICAgICAgIE9SIGI9NzUxCi0gICAgICAgICBPUiAoZD49NzMuMCBBTkQgZDw3NC4w IEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTczLjAgQU5EIGQ8NzQuMCBBTkQgZCBJ UyBOT1QgTlVMTCkKICAgXV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi4yODQu Mj4KQEAgLTEwNjUxLDcgKzEwNjUxLDcgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9uKCkK ICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0 MgotICAgICAgV0hFUkUgKGQ+PTMyLjAgQU5EIGQ8MzMuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAg IFdIRVJFIChkPj0zMi4wIEFORCBkPDMzLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBP UiBiPTkyNwogICAgICAgICAgT1IgYj0yNzUKICAgICAgICAgIE9SIGI9Mzk2CkBAIC0xMDY3Myw3 ICsxMDY3Myw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVy biBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDMKLSAgICAgIFdIRVJF IChkPj0zMi4wIEFORCBkPDMzLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49MzIu MCBBTkQgZDwzMy4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj05MjcKICAgICAg ICAgIE9SIGI9Mjc1CiAgICAgICAgICBPUiBiPTM5NgpAQCAtMTA2OTgsMTQgKzEwNjk4LDE0IEBA IHRlc3Q6ZG9fdGVzdCgKICAgICAgIFdIRVJFIChnPSd3dnV0c3JxJyBBTkQgZiBHTE9CICdsbW5v cConKQogICAgICAgICAgT1IgYj03MTgKICAgICAgICAgIE9SIGY9J3Z3eHl6YWJjZCcKLSAgICAg ICAgIE9SIChkPj05OC4wIEFORCBkPDk5LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAo ZD49OTguMCBBTkQgZDw5OS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKGc9J2tq aWhnZmUnIEFORCBmIEdMT0IgJ3R1dnd4KicpCiAgICAgICAgICBPUiAoZiBHTE9CICc/dXZ3eCon IEFORCBmIEdMT0IgJ3R1dncqJykKLSAgICAgICAgIE9SIChkPj0yMi4wIEFORCBkPDIzLjAgQU5E IGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MjIuMCBBTkQgZDwyMy4wIEFORCBkIElTIE5P VCBOVUxMKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNjYgQU5EIDY4KSBBTkQgYSE9NjcpCiAg ICAgICAgICBPUiAoZz0nbWxramloZycgQU5EIGYgR0xPQiAnamtsbW4qJykKICAgICAgICAgIE9S IChmIEdMT0IgJz9rbG1uKicgQU5EIGYgR0xPQiAnamtsbSonKQotICAgICAgICAgT1IgKGQ+PTEx LjAgQU5EIGQ8MTIuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0xMS4wIEFORCBk PDEyLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8 d2hlcmU3LTIuMjg2LjE+CkBAIC0xMDcyMSwxNCArMTA3MjEsMTQgQEAgdGVzdDpkb190ZXN0KAog ICAgICAgV0hFUkUgKGc9J3d2dXRzcnEnIEFORCBmIEdMT0IgJ2xtbm9wKicpCiAgICAgICAgICBP UiBiPTcxOAogICAgICAgICAgT1IgZj0ndnd4eXphYmNkJwotICAgICAgICAgT1IgKGQ+PTk4LjAg QU5EIGQ8OTkuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj05OC4wIEFORCBkPDk5 LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoZz0na2ppaGdmZScgQU5EIGYgR0xP QiAndHV2d3gqJykKICAgICAgICAgIE9SIChmIEdMT0IgJz91dnd4KicgQU5EIGYgR0xPQiAndHV2 dyonKQotICAgICAgICAgT1IgKGQ+PTIyLjAgQU5EIGQ8MjMuMCBBTkQgZCBOT1QgTlVMTCkKKyAg ICAgICAgIE9SIChkPj0yMi4wIEFORCBkPDIzLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAg ICBPUiAoKGEgQkVUV0VFTiA2NiBBTkQgNjgpIEFORCBhIT02NykKICAgICAgICAgIE9SIChnPSdt bGtqaWhnJyBBTkQgZiBHTE9CICdqa2xtbionKQogICAgICAgICAgT1IgKGYgR0xPQiAnP2tsbW4q JyBBTkQgZiBHTE9CICdqa2xtKicpCi0gICAgICAgICBPUiAoZD49MTEuMCBBTkQgZDwxMi4wIEFO RCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTExLjAgQU5EIGQ8MTIuMCBBTkQgZCBJUyBO T1QgTlVMTCkKICAgXV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi4yODYuMj4K QEAgLTEwNzQ2LDcgKzEwNzQ2LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgYj04NjEK ICAgICAgICAgIE9SIGI9MTA4MQogICAgICAgICAgT1IgYj01NzIKLSAgICAgICAgIE9SIChkPj00 LjAgQU5EIGQ8NS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTQuMCBBTkQgZDw1 LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBhPTExCiAgICAgICAgICBPUiAoKGEg QkVUV0VFTiA5OSBBTkQgMTAxKSBBTkQgYSE9MTAwKQogICAgICAgICAgT1IgYT04OQpAQCAtMTA3 NjgsNyArMTA3NjgsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBiPTg2MQogICAgICAg ICAgT1IgYj0xMDgxCiAgICAgICAgICBPUiBiPTU3MgotICAgICAgICAgT1IgKGQ+PTQuMCBBTkQg ZDw1LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NC4wIEFORCBkPDUuMCBBTkQg ZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGE9MTEKICAgICAgICAgIE9SICgoYSBCRVRXRUVO IDk5IEFORCAxMDEpIEFORCBhIT0xMDApCiAgICAgICAgICBPUiBhPTg5CkBAIC0xMDc4OCw5ICsx MDc4OCw5IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgIFdIRVJFIGI9MjMxCiAgICAgICAgICBPUiBi PTM4OAogICAgICAgICAgT1IgZDwwLjAKLSAgICAgICAgIE9SIChkPj0zOS4wIEFORCBkPDQwLjAg QU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MzkuMCBBTkQgZDw0MC4wIEFORCBkIElT IE5PVCBOVUxMKQogICAgICAgICAgT1IgYj0xMDQ1Ci0gICAgICAgICBPUiAoZD49MTIuMCBBTkQg ZDwxMy4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTEyLjAgQU5EIGQ8MTMuMCBB TkQgZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTct Mi4yODguMT4KQEAgLTEwODA2LDkgKzEwODA2LDkgQEAgdGVzdDpkb190ZXN0KAogICAgICAgV0hF UkUgYj0yMzEKICAgICAgICAgIE9SIGI9Mzg4CiAgICAgICAgICBPUiBkPDAuMAotICAgICAgICAg T1IgKGQ+PTM5LjAgQU5EIGQ8NDAuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0z OS4wIEFORCBkPDQwLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTEwNDUKLSAg ICAgICAgIE9SIChkPj0xMi4wIEFORCBkPDEzLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBP UiAoZD49MTIuMCBBTkQgZDwxMy4wIEFORCBkIElTIE5PVCBOVUxMKQogICBdXSkKICAgICBlbmQs IHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjI4OC4yPgpAQCAtMTA4MjIsNyArMTA4MjIsNyBAQCB0 ZXN0OmRvX3Rlc3QoCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNF TEVDVCBhIEZST00gdDIKICAgICAgIFdIRVJFIGI9NTI4Ci0gICAgICAgICBPUiAoZD49NTMuMCBB TkQgZDw1NC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTUzLjAgQU5EIGQ8NTQu MCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9NzYyCiAgIF1dKQogICAgIGVuZCwg ewpAQCAtMTA4MzcsNyArMTA4MzcsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgIHJldHVybiBj b3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDMKICAgICAgIFdIRVJFIGI9 NTI4Ci0gICAgICAgICBPUiAoZD49NTMuMCBBTkQgZDw1NC4wIEFORCBkIE5PVCBOVUxMKQorICAg ICAgICAgT1IgKGQ+PTUzLjAgQU5EIGQ8NTQuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAg IE9SIGI9NzYyCiAgIF1dKQogICAgIGVuZCwgewpAQCAtMTA4ODEsMTEgKzEwODgxLDExIEBAIHRl c3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19z b3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIKLSAgICAgIFdIRVJFIChkPj01Mi4wIEFORCBk PDUzLjAgQU5EIGQgTk9UIE5VTEwpCi0gICAgICAgICBPUiAoZD49NzYuMCBBTkQgZDw3Ny4wIEFO RCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTUyLjAgQU5EIGQ8NTMuMCBBTkQgZCBJUyBO T1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj03Ni4wIEFORCBkPDc3LjAgQU5EIGQgSVMgTk9UIE5V TEwpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA5NiBBTkQgOTgpIEFORCBhIT05NykKLSAgICAg ICAgIE9SIChkPj0xOS4wIEFORCBkPDIwLjAgQU5EIGQgTk9UIE5VTEwpCi0gICAgICAgICBPUiAo ZD49NC4wIEFORCBkPDUuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0xOS4wIEFO RCBkPDIwLjAgQU5EIGQgSVMgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NC4wIEFORCBkPDUu MCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVy ZTctMi4yOTEuMT4KQEAgLTEwODk4LDExICsxMDg5OCwxMSBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAg ZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxF Q1QgYSBGUk9NIHQzCi0gICAgICBXSEVSRSAoZD49NTIuMCBBTkQgZDw1My4wIEFORCBkIE5PVCBO VUxMKQotICAgICAgICAgT1IgKGQ+PTc2LjAgQU5EIGQ8NzcuMCBBTkQgZCBOT1QgTlVMTCkKKyAg ICAgIFdIRVJFIChkPj01Mi4wIEFORCBkPDUzLjAgQU5EIGQgSVMgTk9UIE5VTEwpCisgICAgICAg ICBPUiAoZD49NzYuMCBBTkQgZDw3Ny4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1Ig KChhIEJFVFdFRU4gOTYgQU5EIDk4KSBBTkQgYSE9OTcpCi0gICAgICAgICBPUiAoZD49MTkuMCBB TkQgZDwyMC4wIEFORCBkIE5PVCBOVUxMKQotICAgICAgICAgT1IgKGQ+PTQuMCBBTkQgZDw1LjAg QU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MTkuMCBBTkQgZDwyMC4wIEFORCBkIElT IE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTQuMCBBTkQgZDw1LjAgQU5EIGQgSVMgTk9UIE5V TEwpCiAgIF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIuMjkxLjI+CkBAIC0x MDkxOSw3ICsxMDkxOSw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIGM9NjAwNgogICAg ICAgICAgT1IgYj0yMzEKICAgICAgICAgIE9SIGI9MjEyCi0gICAgICAgICBPUiAoZD49MzYuMCBB TkQgZDwzNy4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTM2LjAgQU5EIGQ8Mzcu MCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChnPSdnZmVkY2JhJyBBTkQgZiBHTE9C ICdrbG1ubyonKQogICAgICAgICAgT1IgYz0zMDAzMAogICAgICAgICAgT1IgKGc9J29ubWxramkn IEFORCBmIEdMT0IgJ2FiY2RlKicpCkBAIC0xMDkzOSw3ICsxMDkzOSw3IEBAIHRlc3Q6ZG9fdGVz dCgKICAgICAgICAgIE9SIGM9NjAwNgogICAgICAgICAgT1IgYj0yMzEKICAgICAgICAgIE9SIGI9 MjEyCi0gICAgICAgICBPUiAoZD49MzYuMCBBTkQgZDwzNy4wIEFORCBkIE5PVCBOVUxMKQorICAg ICAgICAgT1IgKGQ+PTM2LjAgQU5EIGQ8MzcuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAg IE9SIChnPSdnZmVkY2JhJyBBTkQgZiBHTE9CICdrbG1ubyonKQogICAgICAgICAgT1IgYz0zMDAz MAogICAgICAgICAgT1IgKGc9J29ubWxramknIEFORCBmIEdMT0IgJ2FiY2RlKicpCkBAIC0xMTAz MSwxMSArMTEwMzEsMTEgQEAgdGVzdDpkb190ZXN0KAogICAgICBTRUxFQ1QgYSBGUk9NIHQyCiAg ICAgICBXSEVSRSAoZz0nbWxramloZycgQU5EIGYgR0xPQiAnZ2hpamsqJykKICAgICAgICAgIE9S IGE9MwotICAgICAgICAgT1IgKGQ+PTYzLjAgQU5EIGQ8NjQuMCBBTkQgZCBOT1QgTlVMTCkKKyAg ICAgICAgIE9SIChkPj02My4wIEFORCBkPDY0LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAg ICBPUiAoZiBHTE9CICc/b3BxcionIEFORCBmIEdMT0IgJ25vcHEqJykKICAgICAgICAgIE9SIGI9 NDk4CiAgICAgICAgICBPUiBhPTEwMAotICAgICAgICAgT1IgKGQ+PTMxLjAgQU5EIGQ8MzIuMCBB TkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0zMS4wIEFORCBkPDMyLjAgQU5EIGQgSVMg Tk9UIE5VTEwpCiAgICAgICAgICBPUiAoZz0na2ppaGdmZScgQU5EIGYgR0xPQiAncnN0dXYqJykK ICAgICAgICAgIE9SIGE9NjkKICAgXV0pCkBAIC0xMTA1MiwxMSArMTEwNTIsMTEgQEAgdGVzdDpk b190ZXN0KAogICAgICBTRUxFQ1QgYSBGUk9NIHQzCiAgICAgICBXSEVSRSAoZz0nbWxramloZycg QU5EIGYgR0xPQiAnZ2hpamsqJykKICAgICAgICAgIE9SIGE9MwotICAgICAgICAgT1IgKGQ+PTYz LjAgQU5EIGQ8NjQuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj02My4wIEFORCBk PDY0LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoZiBHTE9CICc/b3BxcionIEFO RCBmIEdMT0IgJ25vcHEqJykKICAgICAgICAgIE9SIGI9NDk4CiAgICAgICAgICBPUiBhPTEwMAot ICAgICAgICAgT1IgKGQ+PTMxLjAgQU5EIGQ8MzIuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAg IE9SIChkPj0zMS4wIEFORCBkPDMyLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAo Zz0na2ppaGdmZScgQU5EIGYgR0xPQiAncnN0dXYqJykKICAgICAgICAgIE9SIGE9NjkKICAgXV0p CkBAIC0xMTA3Myw3ICsxMTA3Myw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgU0VMRUNUIGEgRlJP TSB0MgogICAgICAgV0hFUkUgKGc9J2loZ2ZlZGMnIEFORCBmIEdMT0IgJ2VmZ2hpKicpCiAgICAg ICAgICBPUiBiPTMwMAotICAgICAgICAgT1IgKGQ+PTcuMCBBTkQgZDw4LjAgQU5EIGQgTk9UIE5V TEwpCisgICAgICAgICBPUiAoZD49Ny4wIEFORCBkPDguMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAg ICAgICAgIE9SIGI9NTgKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDU1IEFORCA1NykgQU5EIGEh PTU2KQogICAgICAgICAgT1IgKGc9J25tbGtqaWgnIEFORCBmIEdMT0IgJ2RlZmdoKicpCkBAIC0x MTA4MSw3ICsxMTA4MSw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIGI9MjM0CiAgICAg ICAgICBPUiAoKGEgQkVUV0VFTiA0MyBBTkQgNDUpIEFORCBhIT00NCkKICAgICAgICAgIE9SIGY9 J2doaWprbG1ubycKLSAgICAgICAgIE9SIChkPj0yNi4wIEFORCBkPDI3LjAgQU5EIGQgTk9UIE5V TEwpCisgICAgICAgICBPUiAoZD49MjYuMCBBTkQgZDwyNy4wIEFORCBkIElTIE5PVCBOVUxMKQog ICBdXSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjI5Ni4xPgpAQCAtMTEwOTYs NyArMTEwOTYsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgIFNFTEVDVCBhIEZST00gdDMKICAgICAg IFdIRVJFIChnPSdpaGdmZWRjJyBBTkQgZiBHTE9CICdlZmdoaSonKQogICAgICAgICAgT1IgYj0z MDAKLSAgICAgICAgIE9SIChkPj03LjAgQU5EIGQ8OC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAg ICAgT1IgKGQ+PTcuMCBBTkQgZDw4LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBi PTU4CiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA1NSBBTkQgNTcpIEFORCBhIT01NikKICAgICAg ICAgIE9SIChnPSdubWxramloJyBBTkQgZiBHTE9CICdkZWZnaConKQpAQCAtMTExMDQsNyArMTEx MDQsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBiPTIzNAogICAgICAgICAgT1IgKChh IEJFVFdFRU4gNDMgQU5EIDQ1KSBBTkQgYSE9NDQpCiAgICAgICAgICBPUiBmPSdnaGlqa2xtbm8n Ci0gICAgICAgICBPUiAoZD49MjYuMCBBTkQgZDwyNy4wIEFORCBkIE5PVCBOVUxMKQorICAgICAg ICAgT1IgKGQ+PTI2LjAgQU5EIGQ8MjcuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAgICAg ZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi4yOTYuMj4KQEAgLTExMTI1LDcgKzExMTI1LDcg QEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMzcgQU5EIDM5KSBBTkQg YSE9MzgpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA1NiBBTkQgNTgpIEFORCBhIT01NykKICAg ICAgICAgIE9SICgoYSBCRVRXRUVOIDE4IEFORCAyMCkgQU5EIGEhPTE5KQotICAgICAgICAgT1Ig KGQ+PTQ1LjAgQU5EIGQ8NDYuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj00NS4w IEFORCBkPDQ2LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoZiBHTE9CICc/Z2hp aionIEFORCBmIEdMT0IgJ2ZnaGkqJykKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDUzIEFORCA1 NSkgQU5EIGEhPTU0KQogICBdXSkKQEAgLTExMTQ4LDcgKzExMTQ4LDcgQEAgdGVzdDpkb190ZXN0 KAogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMzcgQU5EIDM5KSBBTkQgYSE9MzgpCiAgICAgICAg ICBPUiAoKGEgQkVUV0VFTiA1NiBBTkQgNTgpIEFORCBhIT01NykKICAgICAgICAgIE9SICgoYSBC RVRXRUVOIDE4IEFORCAyMCkgQU5EIGEhPTE5KQotICAgICAgICAgT1IgKGQ+PTQ1LjAgQU5EIGQ8 NDYuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj00NS4wIEFORCBkPDQ2LjAgQU5E IGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoZiBHTE9CICc/Z2hpaionIEFORCBmIEdMT0Ig J2ZnaGkqJykKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDUzIEFORCA1NSkgQU5EIGEhPTU0KQog ICBdXSkKQEAgLTExMzk5LDcgKzExMzk5LDcgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9u KCkKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJP TSB0MgotICAgICAgV0hFUkUgKGQ+PTQ3LjAgQU5EIGQ8NDguMCBBTkQgZCBOT1QgTlVMTCkKKyAg ICAgIFdIRVJFIChkPj00Ny4wIEFORCBkPDQ4LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAg ICBPUiAoZz0namloZ2ZlZCcgQU5EIGYgR0xPQiAneHl6YWIqJykKICAgICAgICAgIE9SIGE9NjgK ICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDE0IEFORCAxNikgQU5EIGEhPTE1KQpAQCAtMTE0MTUs NyArMTE0MTUsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1 cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQzCi0gICAgICBXSEVS RSAoZD49NDcuMCBBTkQgZDw0OC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTQ3 LjAgQU5EIGQ8NDguMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChnPSdqaWhnZmVk JyBBTkQgZiBHTE9CICd4eXphYionKQogICAgICAgICAgT1IgYT02OAogICAgICAgICAgT1IgKChh IEJFVFdFRU4gMTQgQU5EIDE2KSBBTkQgYSE9MTUpCkBAIC0xMTQzMSw3ICsxMTQzMSw3IEBAIHRl c3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19z b3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIKLSAgICAgIFdIRVJFIChkPj0xMC4wIEFORCBk PDExLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49MTAuMCBBTkQgZDwxMS4wIEFO RCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKGc9J2xramloZ2YnIEFORCBmIEdMT0IgJ2xt bm9wKicpCiAgIF1dKQogICAgIGVuZCwgewpAQCAtMTE0NDUsNyArMTE0NDUsNyBAQCB0ZXN0OmRv X3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChb WwogICAgICBTRUxFQ1QgYSBGUk9NIHQzCi0gICAgICBXSEVSRSAoZD49MTAuMCBBTkQgZDwxMS4w IEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTEwLjAgQU5EIGQ8MTEuMCBBTkQgZCBJ UyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChnPSdsa2ppaGdmJyBBTkQgZiBHTE9CICdsbW5vcCon KQogICBdXSkKICAgICBlbmQsIHsKQEAgLTExNDYyLDEwICsxMTQ2MiwxMCBAQCB0ZXN0OmRvX3Rl c3QoCiAgICAgICBXSEVSRSBhPTMyCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiAxNSBBTkQgMTcp IEFORCBhIT0xNikKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDkyIEFORCA5NCkgQU5EIGEhPTkz KQotICAgICAgICAgT1IgKGQ+PTg2LjAgQU5EIGQ8ODcuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAg ICAgIE9SIChkPj04Ni4wIEFORCBkPDg3LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBP UiBjPTcwMDcKICAgICAgICAgIE9SIGI9OTY4Ci0gICAgICAgICBPUiAoZD49MTguMCBBTkQgZDwx OS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTE4LjAgQU5EIGQ8MTkuMCBBTkQg ZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi4z MDYuMT4KQEAgLTExNDgxLDEwICsxMTQ4MSwxMCBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICBXSEVS RSBhPTMyCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiAxNSBBTkQgMTcpIEFORCBhIT0xNikKICAg ICAgICAgIE9SICgoYSBCRVRXRUVOIDkyIEFORCA5NCkgQU5EIGEhPTkzKQotICAgICAgICAgT1Ig KGQ+PTg2LjAgQU5EIGQ8ODcuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj04Ni4w IEFORCBkPDg3LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBjPTcwMDcKICAgICAg ICAgIE9SIGI9OTY4Ci0gICAgICAgICBPUiAoZD49MTguMCBBTkQgZDwxOS4wIEFORCBkIE5PVCBO VUxMKQorICAgICAgICAgT1IgKGQ+PTE4LjAgQU5EIGQ8MTkuMCBBTkQgZCBJUyBOT1QgTlVMTCkK ICAgXV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi4zMDYuMj4KQEAgLTExNTY3 LDEyICsxMTU2NywxMiBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICBy ZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCi0gICAgICBX SEVSRSAoZD49NjAuMCBBTkQgZDw2MS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+ PTYwLjAgQU5EIGQ8NjEuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGE9NjcKICAg ICAgICAgIE9SIGI9MTM1CiAgICAgICAgICBPUiBmPSdiY2RlZmdoaWonCiAgICAgICAgICBPUiBi PTkyNAotICAgICAgICAgT1IgKGQ+PTIyLjAgQU5EIGQ8MjMuMCBBTkQgZCBOT1QgTlVMTCkKKyAg ICAgICAgIE9SIChkPj0yMi4wIEFORCBkPDIzLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQog ICAgIGVuZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIuMzA5LjE+CkBAIC0xMTU4NSwxMiArMTE1 ODUsMTIgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAgICAgICAgcmV0dXJuIGNv dW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MwotICAgICAgV0hFUkUgKGQ+ PTYwLjAgQU5EIGQ8NjEuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChkPj02MC4wIEFO RCBkPDYxLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBhPTY3CiAgICAgICAgICBP UiBiPTEzNQogICAgICAgICAgT1IgZj0nYmNkZWZnaGlqJwogICAgICAgICAgT1IgYj05MjQKLSAg ICAgICAgIE9SIChkPj0yMi4wIEFORCBkPDIzLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBP UiAoZD49MjIuMCBBTkQgZDwyMy4wIEFORCBkIElTIE5PVCBOVUxMKQogICBdXSkKICAgICBlbmQs IHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjMwOS4yPgpAQCAtMTE2MzIsNyArMTE2MzIsNyBAQCB0 ZXN0OmRvX3Rlc3QoCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNF TEVDVCBhIEZST00gdDIKICAgICAgIFdIRVJFICgoYSBCRVRXRUVOIDM0IEFORCAzNikgQU5EIGEh PTM1KQotICAgICAgICAgT1IgKGQ+PTUwLjAgQU5EIGQ8NTEuMCBBTkQgZCBOT1QgTlVMTCkKKyAg ICAgICAgIE9SIChkPj01MC4wIEFORCBkPDUxLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAg ICBPUiAoKGEgQkVUV0VFTiAzNSBBTkQgMzcpIEFORCBhIT0zNikKICAgICAgICAgIE9SIGE9NDkK ICAgICAgICAgIE9SIGE9MzgKQEAgLTExNjU1LDcgKzExNjU1LDcgQEAgdGVzdDpkb190ZXN0KAog ICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQz CiAgICAgICBXSEVSRSAoKGEgQkVUV0VFTiAzNCBBTkQgMzYpIEFORCBhIT0zNSkKLSAgICAgICAg IE9SIChkPj01MC4wIEFORCBkPDUxLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49 NTAuMCBBTkQgZDw1MS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKChhIEJFVFdF RU4gMzUgQU5EIDM3KSBBTkQgYSE9MzYpCiAgICAgICAgICBPUiBhPTQ5CiAgICAgICAgICBPUiBh PTM4CkBAIC0xMTc2MSw4ICsxMTc2MSw4IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SICgo YSBCRVRXRUVOIDEwIEFORCAxMikgQU5EIGEhPTExKQogICAgICAgICAgT1IgZj0nbG1ub3BxcnN0 JwogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMzcgQU5EIDM5KSBBTkQgYSE9MzgpCi0gICAgICAg ICBPUiAoZD49NjQuMCBBTkQgZDw2NS4wIEFORCBkIE5PVCBOVUxMKQotICAgICAgICAgT1IgKGQ+ PTcuMCBBTkQgZDw4LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NjQuMCBBTkQg ZDw2NS4wIEFORCBkIElTIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTcuMCBBTkQgZDw4LjAg QU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPDAKICAgICAgICAgIE9SIGI9MjMxCiAg ICAgICAgICBPUiBhPTE0CkBAIC0xMTc4Miw4ICsxMTc4Miw4IEBAIHRlc3Q6ZG9fdGVzdCgKICAg ICAgICAgIE9SICgoYSBCRVRXRUVOIDEwIEFORCAxMikgQU5EIGEhPTExKQogICAgICAgICAgT1Ig Zj0nbG1ub3BxcnN0JwogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMzcgQU5EIDM5KSBBTkQgYSE9 MzgpCi0gICAgICAgICBPUiAoZD49NjQuMCBBTkQgZDw2NS4wIEFORCBkIE5PVCBOVUxMKQotICAg ICAgICAgT1IgKGQ+PTcuMCBBTkQgZDw4LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAo ZD49NjQuMCBBTkQgZDw2NS4wIEFORCBkIElTIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTcu MCBBTkQgZDw4LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPDAKICAgICAgICAg IE9SIGI9MjMxCiAgICAgICAgICBPUiBhPTE0CkBAIC0xMTgwMSwxMyArMTE4MDEsMTMgQEAgdGVz dDpkb190ZXN0KAogICAgICBTRUxFQ1QgYSBGUk9NIHQyCiAgICAgICBXSEVSRSBiPTkwNQogICAg ICAgICAgT1IgZj0naGlqa2xtbm9wJwotICAgICAgICAgT1IgKGQ+PTQ1LjAgQU5EIGQ8NDYuMCBB TkQgZCBOT1QgTlVMTCkKLSAgICAgICAgIE9SIChkPj0yNi4wIEFORCBkPDI3LjAgQU5EIGQgTk9U IE5VTEwpCisgICAgICAgICBPUiAoZD49NDUuMCBBTkQgZDw0Ni4wIEFORCBkIElTIE5PVCBOVUxM KQorICAgICAgICAgT1IgKGQ+PTI2LjAgQU5EIGQ8MjcuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAg ICAgICAgIE9SIChnPSdpaGdmZWRjJyBBTkQgZiBHTE9CICdjZGVmZyonKQogICAgICAgICAgT1Ig KGc9J3V0c3JxcG8nIEFORCBmIEdMT0IgJ3d4eXphKicpCiAgICAgICAgICBPUiAoZiBHTE9CICc/ bW5vcConIEFORCBmIEdMT0IgJ2xtbm8qJykKICAgICAgICAgIE9SIGI9ODE3Ci0gICAgICAgICBP UiAoZD49MjAuMCBBTkQgZDwyMS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTIw LjAgQU5EIGQ8MjEuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAgICAgZW5kLCB7CiAgICAg ICAgIC0tIDx3aGVyZTctMi4zMTUuMT4KQEAgLTExODIyLDEzICsxMTgyMiwxMyBAQCB0ZXN0OmRv X3Rlc3QoCiAgICAgIFNFTEVDVCBhIEZST00gdDMKICAgICAgIFdIRVJFIGI9OTA1CiAgICAgICAg ICBPUiBmPSdoaWprbG1ub3AnCi0gICAgICAgICBPUiAoZD49NDUuMCBBTkQgZDw0Ni4wIEFORCBk IE5PVCBOVUxMKQotICAgICAgICAgT1IgKGQ+PTI2LjAgQU5EIGQ8MjcuMCBBTkQgZCBOT1QgTlVM TCkKKyAgICAgICAgIE9SIChkPj00NS4wIEFORCBkPDQ2LjAgQU5EIGQgSVMgTk9UIE5VTEwpCisg ICAgICAgICBPUiAoZD49MjYuMCBBTkQgZDwyNy4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAg ICAgT1IgKGc9J2loZ2ZlZGMnIEFORCBmIEdMT0IgJ2NkZWZnKicpCiAgICAgICAgICBPUiAoZz0n dXRzcnFwbycgQU5EIGYgR0xPQiAnd3h5emEqJykKICAgICAgICAgIE9SIChmIEdMT0IgJz9tbm9w KicgQU5EIGYgR0xPQiAnbG1ubyonKQogICAgICAgICAgT1IgYj04MTcKLSAgICAgICAgIE9SIChk Pj0yMC4wIEFORCBkPDIxLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MjAuMCBB TkQgZDwyMS4wIEFORCBkIElTIE5PVCBOVUxMKQogICBdXSkKICAgICBlbmQsIHsKICAgICAgICAg LS0gPHdoZXJlNy0yLjMxNS4yPgpAQCAtMTE4NDMsNyArMTE4NDMsNyBAQCB0ZXN0OmRvX3Rlc3Qo CiAgICAgIFNFTEVDVCBhIEZST00gdDIKICAgICAgIFdIRVJFIChnPSdoZ2ZlZGNiJyBBTkQgZiBH TE9CICdoaWprbConKQogICAgICAgICAgT1IgYj0zMTEKLSAgICAgICAgIE9SIChkPj02MS4wIEFO RCBkPDYyLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NjEuMCBBTkQgZDw2Mi4w IEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYT00OAogICAgICAgICAgT1IgKGc9J3Bv bm1sa2onIEFORCBmIEdMT0IgJ3JzdHV2KicpCiAgICAgICAgICBPUiAoZz0ncG9ubWxraicgQU5E IGYgR0xPQiAndnd4eXoqJykKQEAgLTExODY2LDcgKzExODY2LDcgQEAgdGVzdDpkb190ZXN0KAog ICAgICBTRUxFQ1QgYSBGUk9NIHQzCiAgICAgICBXSEVSRSAoZz0naGdmZWRjYicgQU5EIGYgR0xP QiAnaGlqa2wqJykKICAgICAgICAgIE9SIGI9MzExCi0gICAgICAgICBPUiAoZD49NjEuMCBBTkQg ZDw2Mi4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTYxLjAgQU5EIGQ8NjIuMCBB TkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGE9NDgKICAgICAgICAgIE9SIChnPSdwb25t bGtqJyBBTkQgZiBHTE9CICdyc3R1dionKQogICAgICAgICAgT1IgKGc9J3Bvbm1sa2onIEFORCBm IEdMT0IgJ3Z3eHl6KicpCkBAIC0xMTg4NywxNCArMTE4ODcsMTQgQEAgdGVzdDpkb190ZXN0KAog ICAgIGZ1bmN0aW9uKCkKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAg U0VMRUNUIGEgRlJPTSB0MgotICAgICAgV0hFUkUgKGQ+PTk1LjAgQU5EIGQ8OTYuMCBBTkQgZCBO T1QgTlVMTCkKKyAgICAgIFdIRVJFIChkPj05NS4wIEFORCBkPDk2LjAgQU5EIGQgSVMgTk9UIE5V TEwpCiAgICAgICAgICBPUiBiPTEwNzAKICAgICAgICAgIE9SIChnPSdlZGNiYXp5JyBBTkQgZiBH TE9CICd2d3h5eionKQotICAgICAgICAgT1IgKGQ+PTQ1LjAgQU5EIGQ8NDYuMCBBTkQgZCBOT1Qg TlVMTCkKLSAgICAgICAgIE9SIChkPj0yMi4wIEFORCBkPDIzLjAgQU5EIGQgTk9UIE5VTEwpCisg ICAgICAgICBPUiAoZD49NDUuMCBBTkQgZDw0Ni4wIEFORCBkIElTIE5PVCBOVUxMKQorICAgICAg ICAgT1IgKGQ+PTIyLjAgQU5EIGQ8MjMuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9S IGE9MjIKLSAgICAgICAgIE9SIChkPj0xMS4wIEFORCBkPDEyLjAgQU5EIGQgTk9UIE5VTEwpCi0g ICAgICAgICBPUiAoZD49NjEuMCBBTkQgZDw2Mi4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAg T1IgKGQ+PTExLjAgQU5EIGQ8MTIuMCBBTkQgZCBJUyBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChk Pj02MS4wIEFORCBkPDYyLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBmPSd0dXZ3 eHl6YWInCiAgICAgICAgICBPUiBhPTcyCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA1MyBBTkQg NTUpIEFORCBhIT01NCkKQEAgLTExOTEwLDE0ICsxMTkxMCwxNCBAQCB0ZXN0OmRvX3Rlc3QoCiAg ICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBT RUxFQ1QgYSBGUk9NIHQzCi0gICAgICBXSEVSRSAoZD49OTUuMCBBTkQgZDw5Ni4wIEFORCBkIE5P VCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTk1LjAgQU5EIGQ8OTYuMCBBTkQgZCBJUyBOT1QgTlVM TCkKICAgICAgICAgIE9SIGI9MTA3MAogICAgICAgICAgT1IgKGc9J2VkY2JhenknIEFORCBmIEdM T0IgJ3Z3eHl6KicpCi0gICAgICAgICBPUiAoZD49NDUuMCBBTkQgZDw0Ni4wIEFORCBkIE5PVCBO VUxMKQotICAgICAgICAgT1IgKGQ+PTIyLjAgQU5EIGQ8MjMuMCBBTkQgZCBOT1QgTlVMTCkKKyAg ICAgICAgIE9SIChkPj00NS4wIEFORCBkPDQ2LjAgQU5EIGQgSVMgTk9UIE5VTEwpCisgICAgICAg ICBPUiAoZD49MjIuMCBBTkQgZDwyMy4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1Ig YT0yMgotICAgICAgICAgT1IgKGQ+PTExLjAgQU5EIGQ8MTIuMCBBTkQgZCBOT1QgTlVMTCkKLSAg ICAgICAgIE9SIChkPj02MS4wIEFORCBkPDYyLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBP UiAoZD49MTEuMCBBTkQgZDwxMi4wIEFORCBkIElTIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+ PTYxLjAgQU5EIGQ8NjIuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGY9J3R1dnd4 eXphYicKICAgICAgICAgIE9SIGE9NzIKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDUzIEFORCA1 NSkgQU5EIGEhPTU0KQpAQCAtMTE5MzMsNyArMTE5MzMsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAg ZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxF Q1QgYSBGUk9NIHQyCi0gICAgICBXSEVSRSAoZD49OC4wIEFORCBkPDkuMCBBTkQgZCBOT1QgTlVM TCkKKyAgICAgIFdIRVJFIChkPj04LjAgQU5EIGQ8OS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAg ICAgICAgT1IgKGc9J3Z1dHNycXAnIEFORCBmIEdMT0IgJ3Fyc3R1KicpCiAgICAgICAgICBPUiBh PTIxCiAgICAgICAgICBPUiBiPTEwMjYKQEAgLTExOTUxLDcgKzExOTUxLDcgQEAgdGVzdDpkb190 ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sK ICAgICAgU0VMRUNUIGEgRlJPTSB0MwotICAgICAgV0hFUkUgKGQ+PTguMCBBTkQgZDw5LjAgQU5E IGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49OC4wIEFORCBkPDkuMCBBTkQgZCBJUyBOT1Qg TlVMTCkKICAgICAgICAgIE9SIChnPSd2dXRzcnFwJyBBTkQgZiBHTE9CICdxcnN0dSonKQogICAg ICAgICAgT1IgYT0yMQogICAgICAgICAgT1IgYj0xMDI2CkBAIC0xMjAwNyw3ICsxMjAwNyw3IEBA IHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVw c19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIKLSAgICAgIFdIRVJFIChkPj0xLjAgQU5E IGQ8Mi4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTEuMCBBTkQgZDwyLjAgQU5E IGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTU0MgogICAgICAgICAgT1IgYj02MzgKICAg XV0pCkBAIC0xMjAyMiw3ICsxMjAyMiw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigp CiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00g dDMKLSAgICAgIFdIRVJFIChkPj0xLjAgQU5EIGQ8Mi4wIEFORCBkIE5PVCBOVUxMKQorICAgICAg V0hFUkUgKGQ+PTEuMCBBTkQgZDwyLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBi PTU0MgogICAgICAgICAgT1IgYj02MzgKICAgXV0pCkBAIC0xMjA0MSw3ICsxMjA0MSw3IEBAIHRl c3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIGI9MTA3MAogICAgICAgICAgT1IgYT05MQogICAgICAg ICAgT1IgYj0xMDE1Ci0gICAgICAgICBPUiAoZD49MTIuMCBBTkQgZDwxMy4wIEFORCBkIE5PVCBO VUxMKQorICAgICAgICAgT1IgKGQ+PTEyLjAgQU5EIGQ8MTMuMCBBTkQgZCBJUyBOT1QgTlVMTCkK ICAgICAgICAgIE9SIChnPSdpaGdmZWRjJyBBTkQgZiBHTE9CICdjZGVmZyonKQogICAgICAgICAg T1IgKChhIEJFVFdFRU4gOTEgQU5EIDkzKSBBTkQgYSE9OTIpCiAgIF1dKQpAQCAtMTIwNjAsNyAr MTIwNjAsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBiPTEwNzAKICAgICAgICAgIE9S IGE9OTEKICAgICAgICAgIE9SIGI9MTAxNQotICAgICAgICAgT1IgKGQ+PTEyLjAgQU5EIGQ8MTMu MCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0xMi4wIEFORCBkPDEzLjAgQU5EIGQg SVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoZz0naWhnZmVkYycgQU5EIGYgR0xPQiAnY2RlZmcq JykKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDkxIEFORCA5MykgQU5EIGEhPTkyKQogICBdXSkK QEAgLTEyMTk2LDcgKzEyMTk2LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgYj00MzIK ICAgICAgICAgIE9SIDEwMDAwMDA8YgogICAgICAgICAgT1IgYT01OAotICAgICAgICAgT1IgKGQ+ PTQ1LjAgQU5EIGQ8NDYuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj00NS4wIEFO RCBkPDQ2LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTc3CiAgICAgICAgICBP UiBiPTYwNQogICBdXSkKQEAgLTEyMjE4LDcgKzEyMjE4LDcgQEAgdGVzdDpkb190ZXN0KAogICAg ICAgICAgT1IgYj00MzIKICAgICAgICAgIE9SIDEwMDAwMDA8YgogICAgICAgICAgT1IgYT01OAot ICAgICAgICAgT1IgKGQ+PTQ1LjAgQU5EIGQ8NDYuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAg IE9SIChkPj00NS4wIEFORCBkPDQ2LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBi PTc3CiAgICAgICAgICBPUiBiPTYwNQogICBdXSkKQEAgLTEyMjMzLDcgKzEyMjMzLDcgQEAgdGVz dDpkb190ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3Nv cnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MgotICAgICAgV0hFUkUgKGQ+PTg5LjAgQU5EIGQ8 OTAuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChkPj04OS4wIEFORCBkPDkwLjAgQU5E IGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTU4MwogICAgICAgICAgT1IgYT02MgogICBd XSkKQEAgLTEyMjQ4LDcgKzEyMjQ4LDcgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9uKCkK ICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0 MwotICAgICAgV0hFUkUgKGQ+PTg5LjAgQU5EIGQ8OTAuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAg IFdIRVJFIChkPj04OS4wIEFORCBkPDkwLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBP UiBiPTU4MwogICAgICAgICAgT1IgYT02MgogICBdXSkKQEAgLTEyMjY1LDExICsxMjI2NSwxMSBA QCB0ZXN0OmRvX3Rlc3QoCiAgICAgIFNFTEVDVCBhIEZST00gdDIKICAgICAgIFdIRVJFICgoYSBC RVRXRUVOIDg0IEFORCA4NikgQU5EIGEhPTg1KQogICAgICAgICAgT1IgZj0ncHFyc3R1dnd4Jwot ICAgICAgICAgT1IgKGQ+PTUuMCBBTkQgZDw2LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBP UiAoZD49NS4wIEFORCBkPDYuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9Mjc4 CiAgICAgICAgICBPUiBhPTEwCi0gICAgICAgICBPUiAoZD49NTQuMCBBTkQgZDw1NS4wIEFORCBk IE5PVCBOVUxMKQotICAgICAgICAgT1IgKGQ+PTI4LjAgQU5EIGQ8MjkuMCBBTkQgZCBOT1QgTlVM TCkKKyAgICAgICAgIE9SIChkPj01NC4wIEFORCBkPDU1LjAgQU5EIGQgSVMgTk9UIE5VTEwpCisg ICAgICAgICBPUiAoZD49MjguMCBBTkQgZDwyOS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAg ICAgT1IgKChhIEJFVFdFRU4gNjMgQU5EIDY1KSBBTkQgYSE9NjQpCiAgICAgICAgICBPUiAoZz0n a2ppaGdmZScgQU5EIGYgR0xPQiAncXJzdHUqJykKICAgICAgICAgIE9SIGY9J3V2d3h5emFiYycK QEAgLTEyMjg3LDExICsxMjI4NywxMSBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgIFNFTEVDVCBhIEZS T00gdDMKICAgICAgIFdIRVJFICgoYSBCRVRXRUVOIDg0IEFORCA4NikgQU5EIGEhPTg1KQogICAg ICAgICAgT1IgZj0ncHFyc3R1dnd4JwotICAgICAgICAgT1IgKGQ+PTUuMCBBTkQgZDw2LjAgQU5E IGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NS4wIEFORCBkPDYuMCBBTkQgZCBJUyBOT1Qg TlVMTCkKICAgICAgICAgIE9SIGI9Mjc4CiAgICAgICAgICBPUiBhPTEwCi0gICAgICAgICBPUiAo ZD49NTQuMCBBTkQgZDw1NS4wIEFORCBkIE5PVCBOVUxMKQotICAgICAgICAgT1IgKGQ+PTI4LjAg QU5EIGQ8MjkuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj01NC4wIEFORCBkPDU1 LjAgQU5EIGQgSVMgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MjguMCBBTkQgZDwyOS4wIEFO RCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNjMgQU5EIDY1KSBBTkQg YSE9NjQpCiAgICAgICAgICBPUiAoZz0na2ppaGdmZScgQU5EIGYgR0xPQiAncXJzdHUqJykKICAg ICAgICAgIE9SIGY9J3V2d3h5emFiYycKQEAgLTEyMzU4LDcgKzEyMzU4LDcgQEAgdGVzdDpkb190 ZXN0KAogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNjMgQU5EIDY1KSBBTkQgYSE9NjQpCiAgICAg ICAgICBPUiBmPSdhYmNkZWZnaGknCiAgICAgICAgICBPUiBhPTYKLSAgICAgICAgIE9SIChkPj0x Ny4wIEFORCBkPDE4LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MTcuMCBBTkQg ZDwxOC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj03NjIKICAgXV0pCiAgICAg ZW5kLCB7CkBAIC0xMjM3Nyw3ICsxMjM3Nyw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9S ICgoYSBCRVRXRUVOIDYzIEFORCA2NSkgQU5EIGEhPTY0KQogICAgICAgICAgT1IgZj0nYWJjZGVm Z2hpJwogICAgICAgICAgT1IgYT02Ci0gICAgICAgICBPUiAoZD49MTcuMCBBTkQgZDwxOC4wIEFO RCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTE3LjAgQU5EIGQ8MTguMCBBTkQgZCBJUyBO T1QgTlVMTCkKICAgICAgICAgIE9SIGI9NzYyCiAgIF1dKQogICAgIGVuZCwgewpAQCAtMTI0MTks NyArMTI0MTksNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1 cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCi0gICAgICBXSEVS RSAoZD49NzIuMCBBTkQgZDw3My4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTcy LjAgQU5EIGQ8NzMuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9NjkzCiAgICAg ICAgICBPUiAoZz0naGdmZWRjYicgQU5EIGYgR0xPQiAnaWprbG0qJykKICAgICAgICAgIE9SIGI9 OTY4CkBAIC0xMjQzOSw3ICsxMjQzOSw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigp CiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00g dDMKLSAgICAgIFdIRVJFIChkPj03Mi4wIEFORCBkPDczLjAgQU5EIGQgTk9UIE5VTEwpCisgICAg ICBXSEVSRSAoZD49NzIuMCBBTkQgZDw3My4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAg T1IgYj02OTMKICAgICAgICAgIE9SIChnPSdoZ2ZlZGNiJyBBTkQgZiBHTE9CICdpamtsbSonKQog ICAgICAgICAgT1IgYj05NjgKQEAgLTEyNDYxLDcgKzEyNDYxLDcgQEAgdGVzdDpkb190ZXN0KAog ICAgICBTRUxFQ1QgYSBGUk9NIHQyCiAgICAgICBXSEVSRSBjPTMyMDMyCiAgICAgICAgICBPUiBi PTgxNAotICAgICAgICAgT1IgKGQ+PTkwLjAgQU5EIGQ8OTEuMCBBTkQgZCBOT1QgTlVMTCkKKyAg ICAgICAgIE9SIChkPj05MC4wIEFORCBkPDkxLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAg ICBPUiBiPTgxNAogICAgICAgICAgT1IgYT03OAogICAgICAgICAgT1IgYT0zNwpAQCAtMTI0Nzks NyArMTI0NzksNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgIFNFTEVDVCBhIEZST00gdDMKICAgICAg IFdIRVJFIGM9MzIwMzIKICAgICAgICAgIE9SIGI9ODE0Ci0gICAgICAgICBPUiAoZD49OTAuMCBB TkQgZDw5MS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTkwLjAgQU5EIGQ8OTEu MCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9ODE0CiAgICAgICAgICBPUiBhPTc4 CiAgICAgICAgICBPUiBhPTM3CkBAIC0xMjQ5OCw3ICsxMjQ5OCw3IEBAIHRlc3Q6ZG9fdGVzdCgK ICAgICAgIFdIRVJFIGI9MTkwCiAgICAgICAgICBPUiAoZz0nbWxramloZycgQU5EIGYgR0xPQiAn aGlqa2wqJykKICAgICAgICAgIE9SIGI9OTI0Ci0gICAgICAgICBPUiAoZD49NDAuMCBBTkQgZDw0 MS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTQwLjAgQU5EIGQ8NDEuMCBBTkQg ZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9NzU5CiAgICAgICAgICBPUiAoZz0neXh3dnV0 cycgQU5EIGYgR0xPQiAnYmNkZWYqJykKICAgXV0pCkBAIC0xMjUxNiw3ICsxMjUxNiw3IEBAIHRl c3Q6ZG9fdGVzdCgKICAgICAgIFdIRVJFIGI9MTkwCiAgICAgICAgICBPUiAoZz0nbWxramloZycg QU5EIGYgR0xPQiAnaGlqa2wqJykKICAgICAgICAgIE9SIGI9OTI0Ci0gICAgICAgICBPUiAoZD49 NDAuMCBBTkQgZDw0MS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTQwLjAgQU5E IGQ8NDEuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9NzU5CiAgICAgICAgICBP UiAoZz0neXh3dnV0cycgQU5EIGYgR0xPQiAnYmNkZWYqJykKICAgXV0pCkBAIC0xMjU4Myw3ICsx MjU4Myw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIChnPSdzcnFwb25tJyBBTkQgZiBH TE9CICdnaGlqayonKQogICAgICAgICAgT1IgKGc9J2ppaGdmZWQnIEFORCBmIEdMT0IgJ3phYmNk KicpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiAyIEFORCA0KSBBTkQgYSE9MykKLSAgICAgICAg IE9SIChkPj00My4wIEFORCBkPDQ0LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49 NDMuMCBBTkQgZDw0NC4wIEFORCBkIElTIE5PVCBOVUxMKQogICBdXSkKICAgICBlbmQsIHsKICAg ICAgICAgLS0gPHdoZXJlNy0yLjMzNS4xPgpAQCAtMTI2MDQsNyArMTI2MDQsNyBAQCB0ZXN0OmRv X3Rlc3QoCiAgICAgICAgICBPUiAoZz0nc3JxcG9ubScgQU5EIGYgR0xPQiAnZ2hpamsqJykKICAg ICAgICAgIE9SIChnPSdqaWhnZmVkJyBBTkQgZiBHTE9CICd6YWJjZConKQogICAgICAgICAgT1Ig KChhIEJFVFdFRU4gMiBBTkQgNCkgQU5EIGEhPTMpCi0gICAgICAgICBPUiAoZD49NDMuMCBBTkQg ZDw0NC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTQzLjAgQU5EIGQ8NDQuMCBB TkQgZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTct Mi4zMzUuMj4KQEAgLTEyNjE3LDcgKzEyNjE3LDcgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0 aW9uKCkKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEg RlJPTSB0MgotICAgICAgV0hFUkUgKGQ+PTcwLjAgQU5EIGQ8NzEuMCBBTkQgZCBOT1QgTlVMTCkK KyAgICAgIFdIRVJFIChkPj03MC4wIEFORCBkPDcxLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAg ICAgICBPUiAoKGEgQkVUV0VFTiAxMyBBTkQgMTUpIEFORCBhIT0xNCkKICAgICAgICAgIE9SIGI9 NjM4CiAgICAgICAgICBPUiBiPTQ5NQpAQCAtMTI2MzcsNyArMTI2MzcsNyBAQCB0ZXN0OmRvX3Rl c3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwog ICAgICBTRUxFQ1QgYSBGUk9NIHQzCi0gICAgICBXSEVSRSAoZD49NzAuMCBBTkQgZDw3MS4wIEFO RCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTcwLjAgQU5EIGQ8NzEuMCBBTkQgZCBJUyBO T1QgTlVMTCkKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDEzIEFORCAxNSkgQU5EIGEhPTE0KQog ICAgICAgICAgT1IgYj02MzgKICAgICAgICAgIE9SIGI9NDk1CkBAIC0xMjY1OCw5ICsxMjY1OCw5 IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAg ICAgU0VMRUNUIGEgRlJPTSB0MgogICAgICAgV0hFUkUgYz04MDA4Ci0gICAgICAgICBPUiAoZD49 MzkuMCBBTkQgZDw0MC4wIEFORCBkIE5PVCBOVUxMKQotICAgICAgICAgT1IgKGQ+PTEwMC4wIEFO RCBkPDEwMS4wIEFORCBkIE5PVCBOVUxMKQotICAgICAgICAgT1IgKGQ+PTEuMCBBTkQgZDwyLjAg QU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MzkuMCBBTkQgZDw0MC4wIEFORCBkIElT IE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTEwMC4wIEFORCBkPDEwMS4wIEFORCBkIElTIE5P VCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTEuMCBBTkQgZDwyLjAgQU5EIGQgSVMgTk9UIE5VTEwp CiAgICAgICAgICBPUiBiPTMwMAogICAgICAgICAgT1IgKGc9J3l4d3Z1dHMnIEFORCBmIEdMT0Ig J2NkZWZnKicpCiAgICAgICAgICBPUiBhPTQxCkBAIC0xMjY4MCw5ICsxMjY4MCw5IEBAIHRlc3Q6 ZG9fdGVzdCgKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNU IGEgRlJPTSB0MwogICAgICAgV0hFUkUgYz04MDA4Ci0gICAgICAgICBPUiAoZD49MzkuMCBBTkQg ZDw0MC4wIEFORCBkIE5PVCBOVUxMKQotICAgICAgICAgT1IgKGQ+PTEwMC4wIEFORCBkPDEwMS4w IEFORCBkIE5PVCBOVUxMKQotICAgICAgICAgT1IgKGQ+PTEuMCBBTkQgZDwyLjAgQU5EIGQgTk9U IE5VTEwpCisgICAgICAgICBPUiAoZD49MzkuMCBBTkQgZDw0MC4wIEFORCBkIElTIE5PVCBOVUxM KQorICAgICAgICAgT1IgKGQ+PTEwMC4wIEFORCBkPDEwMS4wIEFORCBkIElTIE5PVCBOVUxMKQor ICAgICAgICAgT1IgKGQ+PTEuMCBBTkQgZDwyLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAg ICBPUiBiPTMwMAogICAgICAgICAgT1IgKGc9J3l4d3Z1dHMnIEFORCBmIEdMT0IgJ2NkZWZnKicp CiAgICAgICAgICBPUiBhPTQxCkBAIC0xMjcwOSw3ICsxMjcwOSw3IEBAIHRlc3Q6ZG9fdGVzdCgK ICAgICAgICAgIE9SIGI9NDg0CiAgICAgICAgICBPUiBiPTE5MAogICAgICAgICAgT1IgKChhIEJF VFdFRU4gOTUgQU5EIDk3KSBBTkQgYSE9OTYpCi0gICAgICAgICBPUiAoZD49NzQuMCBBTkQgZDw3 NS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTc0LjAgQU5EIGQ8NzUuMCBBTkQg ZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChnPSdtbGtqaWhnJyBBTkQgZiBHTE9CICdqa2xt bionKQogICAgICAgICAgT1IgYj0xMDIzCiAgIF1dKQpAQCAtMTI3MzIsNyArMTI3MzIsNyBAQCB0 ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBiPTQ4NAogICAgICAgICAgT1IgYj0xOTAKICAgICAg ICAgIE9SICgoYSBCRVRXRUVOIDk1IEFORCA5NykgQU5EIGEhPTk2KQotICAgICAgICAgT1IgKGQ+ PTc0LjAgQU5EIGQ8NzUuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj03NC4wIEFO RCBkPDc1LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoZz0nbWxramloZycgQU5E IGYgR0xPQiAnamtsbW4qJykKICAgICAgICAgIE9SIGI9MTAyMwogICBdXSkKQEAgLTEyNzUwLDcg KzEyNzUwLDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgV0hFUkUgKGc9J2loZ2ZlZGMnIEFORCBm IEdMT0IgJ2VmZ2hpKicpCiAgICAgICAgICBPUiBhPTM0CiAgICAgICAgICBPUiBmPSdyc3R1dnd4 eXonCi0gICAgICAgICBPUiAoZD49MTAuMCBBTkQgZDwxMS4wIEFORCBkIE5PVCBOVUxMKQorICAg ICAgICAgT1IgKGQ+PTEwLjAgQU5EIGQ8MTEuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAg IE9SIGI9NzI5CiAgIF1dKQogICAgIGVuZCwgewpAQCAtMTI3NjcsNyArMTI3NjcsNyBAQCB0ZXN0 OmRvX3Rlc3QoCiAgICAgICBXSEVSRSAoZz0naWhnZmVkYycgQU5EIGYgR0xPQiAnZWZnaGkqJykK ICAgICAgICAgIE9SIGE9MzQKICAgICAgICAgIE9SIGY9J3JzdHV2d3h5eicKLSAgICAgICAgIE9S IChkPj0xMC4wIEFORCBkPDExLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MTAu MCBBTkQgZDwxMS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj03MjkKICAgXV0p CiAgICAgZW5kLCB7CkBAIC0xMjc4MSw3ICsxMjc4MSw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBm dW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVD VCBhIEZST00gdDIKLSAgICAgIFdIRVJFIChkPj0zNy4wIEFORCBkPDM4LjAgQU5EIGQgTk9UIE5V TEwpCisgICAgICBXSEVSRSAoZD49MzcuMCBBTkQgZDwzOC4wIEFORCBkIElTIE5PVCBOVUxMKQog ICAgICAgICAgT1IgYj0xMDA0CiAgICAgICAgICBPUiAoZz0ncXBvbm1saycgQU5EIGYgR0xPQiAn cHFyc3QqJykKICAgICAgICAgIE9SIGcgSVMgTlVMTApAQCAtMTI3OTcsNyArMTI3OTcsNyBAQCB0 ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNf c29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQzCi0gICAgICBXSEVSRSAoZD49MzcuMCBBTkQg ZDwzOC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTM3LjAgQU5EIGQ8MzguMCBB TkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9MTAwNAogICAgICAgICAgT1IgKGc9J3Fw b25tbGsnIEFORCBmIEdMT0IgJ3BxcnN0KicpCiAgICAgICAgICBPUiBnIElTIE5VTEwKQEAgLTEy ODE1LDExICsxMjgxNSwxMSBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgIFNFTEVDVCBhIEZST00gdDIK ICAgICAgIFdIRVJFIGE9NzMKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDM2IEFORCAzOCkgQU5E IGEhPTM3KQotICAgICAgICAgT1IgKGQ+PTYzLjAgQU5EIGQ8NjQuMCBBTkQgZCBOT1QgTlVMTCkK KyAgICAgICAgIE9SIChkPj02My4wIEFORCBkPDY0LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAg ICAgICBPUiAoKGEgQkVUV0VFTiA1MSBBTkQgNTMpIEFORCBhIT01MikKICAgICAgICAgIE9SIGE9 OQotICAgICAgICAgT1IgKGQ+PTEuMCBBTkQgZDwyLjAgQU5EIGQgTk9UIE5VTEwpCi0gICAgICAg ICBPUiAoZD49NTUuMCBBTkQgZDw1Ni4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+ PTEuMCBBTkQgZDwyLjAgQU5EIGQgSVMgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NTUuMCBB TkQgZDw1Ni4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYT00NAogICAgICAgICAg T1IgYT0yMwogICAgICAgICAgT1IgKGc9J2loZ2ZlZGMnIEFORCBmIEdMT0IgJ2FiY2RlKicpCkBA IC0xMjgzOCwxMSArMTI4MzgsMTEgQEAgdGVzdDpkb190ZXN0KAogICAgICBTRUxFQ1QgYSBGUk9N IHQzCiAgICAgICBXSEVSRSBhPTczCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiAzNiBBTkQgMzgp IEFORCBhIT0zNykKLSAgICAgICAgIE9SIChkPj02My4wIEFORCBkPDY0LjAgQU5EIGQgTk9UIE5V TEwpCisgICAgICAgICBPUiAoZD49NjMuMCBBTkQgZDw2NC4wIEFORCBkIElTIE5PVCBOVUxMKQog ICAgICAgICAgT1IgKChhIEJFVFdFRU4gNTEgQU5EIDUzKSBBTkQgYSE9NTIpCiAgICAgICAgICBP UiBhPTkKLSAgICAgICAgIE9SIChkPj0xLjAgQU5EIGQ8Mi4wIEFORCBkIE5PVCBOVUxMKQotICAg ICAgICAgT1IgKGQ+PTU1LjAgQU5EIGQ8NTYuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9S IChkPj0xLjAgQU5EIGQ8Mi4wIEFORCBkIElTIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTU1 LjAgQU5EIGQ8NTYuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGE9NDQKICAgICAg ICAgIE9SIGE9MjMKICAgICAgICAgIE9SIChnPSdpaGdmZWRjJyBBTkQgZiBHTE9CICdhYmNkZSon KQpAQCAtMTI4NjgsNyArMTI4NjgsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiAoZz0n aWhnZmVkYycgQU5EIGYgR0xPQiAnYWJjZGUqJykKICAgICAgICAgIE9SIGE9MTMKICAgICAgICAg IE9SIGE9MTUKLSAgICAgICAgIE9SIChkPj0yOS4wIEFORCBkPDMwLjAgQU5EIGQgTk9UIE5VTEwp CisgICAgICAgICBPUiAoZD49MjkuMCBBTkQgZDwzMC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAg ICAgICAgT1IgYT0zNgogICBdXSkKICAgICBlbmQsIHsKQEAgLTEyODkxLDcgKzEyODkxLDcgQEAg dGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgKGc9J2loZ2ZlZGMnIEFORCBmIEdMT0IgJ2FiY2Rl KicpCiAgICAgICAgICBPUiBhPTEzCiAgICAgICAgICBPUiBhPTE1Ci0gICAgICAgICBPUiAoZD49 MjkuMCBBTkQgZDwzMC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTI5LjAgQU5E IGQ8MzAuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGE9MzYKICAgXV0pCiAgICAg ZW5kLCB7CkBAIC0xMjkwNywxMCArMTI5MDcsMTAgQEAgdGVzdDpkb190ZXN0KAogICAgICBTRUxF Q1QgYSBGUk9NIHQyCiAgICAgICBXSEVSRSBiPTkzOAogICAgICAgICAgT1IgKChhIEJFVFdFRU4g NTcgQU5EIDU5KSBBTkQgYSE9NTgpCi0gICAgICAgICBPUiAoZD49NTQuMCBBTkQgZDw1NS4wIEFO RCBkIE5PVCBOVUxMKQotICAgICAgICAgT1IgKGQ+PTMyLjAgQU5EIGQ8MzMuMCBBTkQgZCBOT1Qg TlVMTCkKKyAgICAgICAgIE9SIChkPj01NC4wIEFORCBkPDU1LjAgQU5EIGQgSVMgTk9UIE5VTEwp CisgICAgICAgICBPUiAoZD49MzIuMCBBTkQgZDwzMy4wIEFORCBkIElTIE5PVCBOVUxMKQogICAg ICAgICAgT1IgYj0yNDUKLSAgICAgICAgIE9SIChkPj0zNS4wIEFORCBkPDM2LjAgQU5EIGQgTk9U IE5VTEwpCisgICAgICAgICBPUiAoZD49MzUuMCBBTkQgZDwzNi4wIEFORCBkIElTIE5PVCBOVUxM KQogICBdXSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjM0My4xPgpAQCAtMTI5 MjUsMTAgKzEyOTI1LDEwIEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgU0VMRUNUIGEgRlJPTSB0Mwog ICAgICAgV0hFUkUgYj05MzgKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDU3IEFORCA1OSkgQU5E IGEhPTU4KQotICAgICAgICAgT1IgKGQ+PTU0LjAgQU5EIGQ8NTUuMCBBTkQgZCBOT1QgTlVMTCkK LSAgICAgICAgIE9SIChkPj0zMi4wIEFORCBkPDMzLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAg ICBPUiAoZD49NTQuMCBBTkQgZDw1NS4wIEFORCBkIElTIE5PVCBOVUxMKQorICAgICAgICAgT1Ig KGQ+PTMyLjAgQU5EIGQ8MzMuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9MjQ1 Ci0gICAgICAgICBPUiAoZD49MzUuMCBBTkQgZDwzNi4wIEFORCBkIE5PVCBOVUxMKQorICAgICAg ICAgT1IgKGQ+PTM1LjAgQU5EIGQ8MzYuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAgICAg ZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi4zNDMuMj4KQEAgLTEyOTQ4LDkgKzEyOTQ4LDkg QEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMzAgQU5EIDMyKSBBTkQg YSE9MzEpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA5NSBBTkQgOTcpIEFORCBhIT05NikKICAg ICAgICAgIE9SIGM9MjUwMjUKLSAgICAgICAgIE9SIChkPj01MS4wIEFORCBkPDUyLjAgQU5EIGQg Tk9UIE5VTEwpCi0gICAgICAgICBPUiAoZD49NzkuMCBBTkQgZDw4MC4wIEFORCBkIE5PVCBOVUxM KQotICAgICAgICAgT1IgKGQ+PTc2LjAgQU5EIGQ8NzcuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAg ICAgIE9SIChkPj01MS4wIEFORCBkPDUyLjAgQU5EIGQgSVMgTk9UIE5VTEwpCisgICAgICAgICBP UiAoZD49NzkuMCBBTkQgZDw4MC4wIEFORCBkIElTIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+ PTc2LjAgQU5EIGQ8NzcuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAgICAgZW5kLCB7CiAg ICAgICAgIC0tIDx3aGVyZTctMi4zNDQuMT4KQEAgLTEyOTcwLDkgKzEyOTcwLDkgQEAgdGVzdDpk b190ZXN0KAogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMzAgQU5EIDMyKSBBTkQgYSE9MzEpCiAg ICAgICAgICBPUiAoKGEgQkVUV0VFTiA5NSBBTkQgOTcpIEFORCBhIT05NikKICAgICAgICAgIE9S IGM9MjUwMjUKLSAgICAgICAgIE9SIChkPj01MS4wIEFORCBkPDUyLjAgQU5EIGQgTk9UIE5VTEwp Ci0gICAgICAgICBPUiAoZD49NzkuMCBBTkQgZDw4MC4wIEFORCBkIE5PVCBOVUxMKQotICAgICAg ICAgT1IgKGQ+PTc2LjAgQU5EIGQ8NzcuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChk Pj01MS4wIEFORCBkPDUyLjAgQU5EIGQgSVMgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49Nzku MCBBTkQgZDw4MC4wIEFORCBkIElTIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTc2LjAgQU5E IGQ8NzcuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0t IDx3aGVyZTctMi4zNDQuMj4KQEAgLTEzMDI3LDcgKzEzMDI3LDcgQEAgdGVzdDpkb190ZXN0KAog ICAgICAgICAgT1IgKChhIEJFVFdFRU4gMjAgQU5EIDIyKSBBTkQgYSE9MjEpCiAgICAgICAgICBP UiBiPTg4MAogICAgICAgICAgT1IgKChhIEJFVFdFRU4gODUgQU5EIDg3KSBBTkQgYSE9ODYpCi0g ICAgICAgICBPUiAoZD49NzMuMCBBTkQgZDw3NC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAg T1IgKGQ+PTczLjAgQU5EIGQ8NzQuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChn PSdubWxramloJyBBTkQgZiBHTE9CICdiY2RlZionKQogICBdXSkKICAgICBlbmQsIHsKQEAgLTEz MDQ5LDcgKzEzMDQ5LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgKChhIEJFVFdFRU4g MjAgQU5EIDIyKSBBTkQgYSE9MjEpCiAgICAgICAgICBPUiBiPTg4MAogICAgICAgICAgT1IgKChh IEJFVFdFRU4gODUgQU5EIDg3KSBBTkQgYSE9ODYpCi0gICAgICAgICBPUiAoZD49NzMuMCBBTkQg ZDw3NC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTczLjAgQU5EIGQ8NzQuMCBB TkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChnPSdubWxramloJyBBTkQgZiBHTE9CICdi Y2RlZionKQogICBdXSkKICAgICBlbmQsIHsKQEAgLTEzMTAwLDEyICsxMzEwMCwxMiBAQCB0ZXN0 OmRvX3Rlc3QoCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVD VCBhIEZST00gdDIKICAgICAgIFdIRVJFIGI9OTgyCi0gICAgICAgICBPUiAoZD49NDUuMCBBTkQg ZDw0Ni4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTQ1LjAgQU5EIGQ8NDYuMCBB TkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9MjM0CiAgICAgICAgICBPUiBjPTE1MDE1 CiAgICAgICAgICBPUiBhPTQ3CiAgICAgICAgICBPUiBmPSdxcnN0dXZ3eHknCi0gICAgICAgICBP UiAoZD49NjUuMCBBTkQgZDw2Ni4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTY1 LjAgQU5EIGQ8NjYuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9ODE0CiAgICAg ICAgICBPUiBiPTQ0MAogICAgICAgICAgT1IgYj00NTQKQEAgLTEzMTIyLDEyICsxMzEyMiwxMiBA QCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAg IFNFTEVDVCBhIEZST00gdDMKICAgICAgIFdIRVJFIGI9OTgyCi0gICAgICAgICBPUiAoZD49NDUu MCBBTkQgZDw0Ni4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTQ1LjAgQU5EIGQ8 NDYuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9MjM0CiAgICAgICAgICBPUiBj PTE1MDE1CiAgICAgICAgICBPUiBhPTQ3CiAgICAgICAgICBPUiBmPSdxcnN0dXZ3eHknCi0gICAg ICAgICBPUiAoZD49NjUuMCBBTkQgZDw2Ni4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1Ig KGQ+PTY1LjAgQU5EIGQ8NjYuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9ODE0 CiAgICAgICAgICBPUiBiPTQ0MAogICAgICAgICAgT1IgYj00NTQKQEAgLTEzMTQzLDEyICsxMzE0 MywxMiBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291 bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCi0gICAgICBXSEVSRSAoZD49 NDcuMCBBTkQgZDw0OC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTQ3LjAgQU5E IGQ8NDguMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGM9NzAwNwogICAgICAgICAg T1IgYj00MjkKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDI1IEFORCAyNykgQU5EIGEhPTI2KQog ICAgICAgICAgT1IgYj0yMzEKLSAgICAgICAgIE9SIChkPj0yNi4wIEFORCBkPDI3LjAgQU5EIGQg Tk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MjYuMCBBTkQgZDwyNy4wIEFORCBkIElTIE5PVCBO VUxMKQogICAgICAgICAgT1IgYz0yMjAyMgogICAgICAgICAgT1IgZj0nYmNkZWZnaGlqJwogICBd XSkKQEAgLTEzMTYzLDEyICsxMzE2MywxMiBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24o KQogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9N IHQzCi0gICAgICBXSEVSRSAoZD49NDcuMCBBTkQgZDw0OC4wIEFORCBkIE5PVCBOVUxMKQorICAg ICAgV0hFUkUgKGQ+PTQ3LjAgQU5EIGQ8NDguMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAg IE9SIGM9NzAwNwogICAgICAgICAgT1IgYj00MjkKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDI1 IEFORCAyNykgQU5EIGEhPTI2KQogICAgICAgICAgT1IgYj0yMzEKLSAgICAgICAgIE9SIChkPj0y Ni4wIEFORCBkPDI3LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MjYuMCBBTkQg ZDwyNy4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYz0yMjAyMgogICAgICAgICAg T1IgZj0nYmNkZWZnaGlqJwogICBdXSkKQEAgLTEzMTg0LDcgKzEzMTg0LDcgQEAgdGVzdDpkb190 ZXN0KAogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBG Uk9NIHQyCiAgICAgICBXSEVSRSBjPTE3MDE3Ci0gICAgICAgICBPUiAoZD49NjIuMCBBTkQgZDw2 My4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTYyLjAgQU5EIGQ8NjMuMCBBTkQg ZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDg4IEFORCA5MCkgQU5EIGEh PTg5KQogICAgICAgICAgT1IgYj03ODQKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDIyIEFORCAy NCkgQU5EIGEhPTIzKQpAQCAtMTMyMDQsNyArMTMyMDQsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAg ICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDMKICAg ICAgIFdIRVJFIGM9MTcwMTcKLSAgICAgICAgIE9SIChkPj02Mi4wIEFORCBkPDYzLjAgQU5EIGQg Tk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NjIuMCBBTkQgZDw2My4wIEFORCBkIElTIE5PVCBO VUxMKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gODggQU5EIDkwKSBBTkQgYSE9ODkpCiAgICAg ICAgICBPUiBiPTc4NAogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMjIgQU5EIDI0KSBBTkQgYSE9 MjMpCkBAIC0xMzI1OCw3ICsxMzI1OCw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIGI9 MTU0CiAgICAgICAgICBPUiBhPTMwCiAgICAgICAgICBPUiBjPTMwMDMKLSAgICAgICAgIE9SIChk Pj04OC4wIEFORCBkPDg5LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49ODguMCBB TkQgZDw4OS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKGYgR0xPQiAnP3l6YWIq JyBBTkQgZiBHTE9CICd4eXphKicpCiAgICAgICAgICBPUiBiPTU2NAogICAgICAgICAgT1IgYj01 NQpAQCAtMTMyODAsNyArMTMyODAsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBiPTE1 NAogICAgICAgICAgT1IgYT0zMAogICAgICAgICAgT1IgYz0zMDAzCi0gICAgICAgICBPUiAoZD49 ODguMCBBTkQgZDw4OS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTg4LjAgQU5E IGQ8ODkuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChmIEdMT0IgJz95emFiKicg QU5EIGYgR0xPQiAneHl6YSonKQogICAgICAgICAgT1IgYj01NjQKICAgICAgICAgIE9SIGI9NTUK QEAgLTEzMjk5LDcgKzEzMjk5LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICBTRUxFQ1QgYSBGUk9N IHQyCiAgICAgICBXSEVSRSBhPTUyCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA2NiBBTkQgNjgp IEFORCBhIT02NykKLSAgICAgICAgIE9SIChkPj01NC4wIEFORCBkPDU1LjAgQU5EIGQgTk9UIE5V TEwpCisgICAgICAgICBPUiAoZD49NTQuMCBBTkQgZDw1NS4wIEFORCBkIElTIE5PVCBOVUxMKQog ICBdXSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjM1My4xPgpAQCAtMTMzMTQs NyArMTMzMTQsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgIFNFTEVDVCBhIEZST00gdDMKICAgICAg IFdIRVJFIGE9NTIKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDY2IEFORCA2OCkgQU5EIGEhPTY3 KQotICAgICAgICAgT1IgKGQ+PTU0LjAgQU5EIGQ8NTUuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAg ICAgIE9SIChkPj01NC4wIEFORCBkPDU1LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAg IGVuZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIuMzUzLjI+CkBAIC0xMzM1NSwxNCArMTMzNTUs MTQgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAgICAgICAgcmV0dXJuIGNvdW50 X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MgotICAgICAgV0hFUkUgKGQ+PTcz LjAgQU5EIGQ8NzQuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChkPj03My4wIEFORCBk PDc0LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBjPTIxMDIxCiAgICAgICAgICBP UiAoZz0nbGtqaWhnZicgQU5EIGYgR0xPQiAnbm9wcXIqJykKICAgICAgICAgIE9SIGY9J3phYmNk ZWZnaCcKICAgICAgICAgIE9SIChnPSd5eHd2dXRzJyBBTkQgZiBHTE9CICdiY2RlZionKQogICAg ICAgICAgT1IgYj03ODEKICAgICAgICAgIE9SIGE9NjQKLSAgICAgICAgIE9SIChkPj0xMS4wIEFO RCBkPDEyLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MTEuMCBBTkQgZDwxMi4w IEFORCBkIElTIE5PVCBOVUxMKQogICBdXSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJl Ny0yLjM1NS4xPgpAQCAtMTMzNzUsMTQgKzEzMzc1LDE0IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBm dW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVD VCBhIEZST00gdDMKLSAgICAgIFdIRVJFIChkPj03My4wIEFORCBkPDc0LjAgQU5EIGQgTk9UIE5V TEwpCisgICAgICBXSEVSRSAoZD49NzMuMCBBTkQgZDw3NC4wIEFORCBkIElTIE5PVCBOVUxMKQog ICAgICAgICAgT1IgYz0yMTAyMQogICAgICAgICAgT1IgKGc9J2xramloZ2YnIEFORCBmIEdMT0Ig J25vcHFyKicpCiAgICAgICAgICBPUiBmPSd6YWJjZGVmZ2gnCiAgICAgICAgICBPUiAoZz0neXh3 dnV0cycgQU5EIGYgR0xPQiAnYmNkZWYqJykKICAgICAgICAgIE9SIGI9NzgxCiAgICAgICAgICBP UiBhPTY0Ci0gICAgICAgICBPUiAoZD49MTEuMCBBTkQgZDwxMi4wIEFORCBkIE5PVCBOVUxMKQor ICAgICAgICAgT1IgKGQ+PTExLjAgQU5EIGQ8MTIuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgXV0p CiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi4zNTUuMj4KQEAgLTEzMzk2LDcgKzEz Mzk2LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChb WwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCiAgICAgICBXSEVSRSAoZz0nbGtqaWhnZicgQU5EIGYg R0xPQiAncHFyc3QqJykKLSAgICAgICAgIE9SIChkPj05MC4wIEFORCBkPDkxLjAgQU5EIGQgTk9U IE5VTEwpCisgICAgICAgICBPUiAoZD49OTAuMCBBTkQgZDw5MS4wIEFORCBkIElTIE5PVCBOVUxM KQogICAgICAgICAgT1IgYT0zNAogICAgICAgICAgT1IgKGc9J3JxcG9ubWwnIEFORCBmIEdMT0Ig J2lqa2xtKicpCiAgICAgICAgICBPUiAoZz0ncnFwb25tbCcgQU5EIGYgR0xPQiAna2xtbm8qJykK QEAgLTEzNDE3LDcgKzEzNDE3LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICByZXR1cm4gY291 bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQzCiAgICAgICBXSEVSRSAoZz0n bGtqaWhnZicgQU5EIGYgR0xPQiAncHFyc3QqJykKLSAgICAgICAgIE9SIChkPj05MC4wIEFORCBk PDkxLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49OTAuMCBBTkQgZDw5MS4wIEFO RCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYT0zNAogICAgICAgICAgT1IgKGc9J3JxcG9u bWwnIEFORCBmIEdMT0IgJ2lqa2xtKicpCiAgICAgICAgICBPUiAoZz0ncnFwb25tbCcgQU5EIGYg R0xPQiAna2xtbm8qJykKQEAgLTEzNDQwLDcgKzEzNDQwLDcgQEAgdGVzdDpkb190ZXN0KAogICAg ICAgV0hFUkUgKGc9J3Fwb25tbGsnIEFORCBmIEdMT0IgJ3BxcnN0KicpCiAgICAgICAgICBPUiAo ZiBHTE9CICc/cXJzdConIEFORCBmIEdMT0IgJ3BxcnMqJykKICAgICAgICAgIE9SIGE9NDUKLSAg ICAgICAgIE9SIChkPj04MS4wIEFORCBkPDgyLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBP UiAoZD49ODEuMCBBTkQgZDw4Mi4wIEFORCBkIElTIE5PVCBOVUxMKQogICBdXSkKICAgICBlbmQs IHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjM1Ny4xPgpAQCAtMTM0NTYsNyArMTM0NTYsNyBAQCB0 ZXN0OmRvX3Rlc3QoCiAgICAgICBXSEVSRSAoZz0ncXBvbm1saycgQU5EIGYgR0xPQiAncHFyc3Qq JykKICAgICAgICAgIE9SIChmIEdMT0IgJz9xcnN0KicgQU5EIGYgR0xPQiAncHFycyonKQogICAg ICAgICAgT1IgYT00NQotICAgICAgICAgT1IgKGQ+PTgxLjAgQU5EIGQ8ODIuMCBBTkQgZCBOT1Qg TlVMTCkKKyAgICAgICAgIE9SIChkPj04MS4wIEFORCBkPDgyLjAgQU5EIGQgSVMgTk9UIE5VTEwp CiAgIF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIuMzU3LjI+CkBAIC0xMzQ2 OSw3ICsxMzQ2OSw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJl dHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIKLSAgICAgIFdI RVJFIChkPj01My4wIEFORCBkPDU0LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49 NTMuMCBBTkQgZDw1NC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKGc9J25tbGtq aWgnIEFORCBmIEdMT0IgJ2NkZWZnKicpCiAgICAgICAgICBPUiBiPTE2NQogICAgICAgICAgT1Ig Yj04MzYKQEAgLTEzNDg1LDcgKzEzNDg1LDcgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9u KCkKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJP TSB0MwotICAgICAgV0hFUkUgKGQ+PTUzLjAgQU5EIGQ8NTQuMCBBTkQgZCBOT1QgTlVMTCkKKyAg ICAgIFdIRVJFIChkPj01My4wIEFORCBkPDU0LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAg ICBPUiAoZz0nbm1sa2ppaCcgQU5EIGYgR0xPQiAnY2RlZmcqJykKICAgICAgICAgIE9SIGI9MTY1 CiAgICAgICAgICBPUiBiPTgzNgpAQCAtMTM1MzUsOSArMTM1MzUsOSBAQCB0ZXN0OmRvX3Rlc3Qo CiAgICAgIFNFTEVDVCBhIEZST00gdDIKICAgICAgIFdIRVJFIGI9NDQwCiAgICAgICAgICBPUiBh PTE5Ci0gICAgICAgICBPUiAoZD49NDcuMCBBTkQgZDw0OC4wIEFORCBkIE5PVCBOVUxMKQorICAg ICAgICAgT1IgKGQ+PTQ3LjAgQU5EIGQ8NDguMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAg IE9SIGM9MjIwMjIKLSAgICAgICAgIE9SIChkPj00Ny4wIEFORCBkPDQ4LjAgQU5EIGQgTk9UIE5V TEwpCisgICAgICAgICBPUiAoZD49NDcuMCBBTkQgZDw0OC4wIEFORCBkIElTIE5PVCBOVUxMKQog ICAgICAgICAgT1IgYT05MgogICAgICAgICAgT1IgYj0xMDI2CiAgICAgICAgICBPUiBiPTYwOApA QCAtMTM1NTUsOSArMTM1NTUsOSBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgIFNFTEVDVCBhIEZST00g dDMKICAgICAgIFdIRVJFIGI9NDQwCiAgICAgICAgICBPUiBhPTE5Ci0gICAgICAgICBPUiAoZD49 NDcuMCBBTkQgZDw0OC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTQ3LjAgQU5E IGQ8NDguMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGM9MjIwMjIKLSAgICAgICAg IE9SIChkPj00Ny4wIEFORCBkPDQ4LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49 NDcuMCBBTkQgZDw0OC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYT05MgogICAg ICAgICAgT1IgYj0xMDI2CiAgICAgICAgICBPUiBiPTYwOApAQCAtMTM1NzcsNyArMTM1NzcsNyBA QCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBiPTg4CiAgICAgICAgICBPUiAoZz0ndXRzcnFw bycgQU5EIGYgR0xPQiAnd3h5emEqJykKICAgICAgICAgIE9SIGM9MjMwMjMKLSAgICAgICAgIE9S IChkPj02Ny4wIEFORCBkPDY4LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49Njcu MCBBTkQgZDw2OC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYT01NgogICAgICAg ICAgT1IgKChhIEJFVFdFRU4gMTMgQU5EIDE1KSBBTkQgYSE9MTQpCiAgICAgICAgICBPUiAoZiBH TE9CICc/cnN0dSonIEFORCBmIEdMT0IgJ3Fyc3QqJykKQEAgLTEzNTk5LDcgKzEzNTk5LDcgQEAg dGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgYj04OAogICAgICAgICAgT1IgKGc9J3V0c3JxcG8n IEFORCBmIEdMT0IgJ3d4eXphKicpCiAgICAgICAgICBPUiBjPTIzMDIzCi0gICAgICAgICBPUiAo ZD49NjcuMCBBTkQgZDw2OC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTY3LjAg QU5EIGQ8NjguMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGE9NTYKICAgICAgICAg IE9SICgoYSBCRVRXRUVOIDEzIEFORCAxNSkgQU5EIGEhPTE0KQogICAgICAgICAgT1IgKGYgR0xP QiAnP3JzdHUqJyBBTkQgZiBHTE9CICdxcnN0KicpCkBAIC0xMzYxNyw3ICsxMzYxNyw3IEBAIHRl c3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19z b3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIKLSAgICAgIFdIRVJFIChkPj05Ny4wIEFORCBk PDk4LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49OTcuMCBBTkQgZDw5OC4wIEFO RCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMjIgQU5EIDI0KSBBTkQg YSE9MjMpCiAgICAgICAgICBPUiBhPTc0CiAgICAgICAgICBPUiAoZz0ndXRzcnFwbycgQU5EIGYg R0xPQiAndXZ3eHkqJykKQEAgLTEzNjM0LDcgKzEzNjM0LDcgQEAgdGVzdDpkb190ZXN0KAogICAg IGZ1bmN0aW9uKCkKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VM RUNUIGEgRlJPTSB0MwotICAgICAgV0hFUkUgKGQ+PTk3LjAgQU5EIGQ8OTguMCBBTkQgZCBOT1Qg TlVMTCkKKyAgICAgIFdIRVJFIChkPj05Ny4wIEFORCBkPDk4LjAgQU5EIGQgSVMgTk9UIE5VTEwp CiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiAyMiBBTkQgMjQpIEFORCBhIT0yMykKICAgICAgICAg IE9SIGE9NzQKICAgICAgICAgIE9SIChnPSd1dHNycXBvJyBBTkQgZiBHTE9CICd1dnd4eSonKQpA QCAtMTM3ODgsNyArMTM3ODgsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgIHJldHVybiBjb3Vu dF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIKICAgICAgIFdIRVJFIChmIEdM T0IgJz9qa2xtKicgQU5EIGYgR0xPQiAnaWprbConKQotICAgICAgICAgT1IgKGQ+PTc3LjAgQU5E IGQ8NzguMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj03Ny4wIEFORCBkPDc4LjAg QU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTE1NwogICAgICAgICAgT1IgYj0xMDI2 CiAgIF1dKQpAQCAtMTM4MDQsNyArMTM4MDQsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgIHJl dHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDMKICAgICAgIFdI RVJFIChmIEdMT0IgJz9qa2xtKicgQU5EIGYgR0xPQiAnaWprbConKQotICAgICAgICAgT1IgKGQ+ PTc3LjAgQU5EIGQ8NzguMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj03Ny4wIEFO RCBkPDc4LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTE1NwogICAgICAgICAg T1IgYj0xMDI2CiAgIF1dKQpAQCAtMTM5NzYsNyArMTM5NzYsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAg ICAgICBXSEVSRSBhPTYzCiAgICAgICAgICBPUiBhPTY5CiAgICAgICAgICBPUiBiPTMzMwotICAg ICAgICAgT1IgKGQ+PTYuMCBBTkQgZDw3LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAo ZD49Ni4wIEFORCBkPDcuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9MTM1CiAg ICAgICAgICBPUiBiPTI1CiAgICAgICAgICBPUiBiPTEwMzcKQEAgLTEzOTk4LDcgKzEzOTk4LDcg QEAgdGVzdDpkb190ZXN0KAogICAgICAgV0hFUkUgYT02MwogICAgICAgICAgT1IgYT02OQogICAg ICAgICAgT1IgYj0zMzMKLSAgICAgICAgIE9SIChkPj02LjAgQU5EIGQ8Ny4wIEFORCBkIE5PVCBO VUxMKQorICAgICAgICAgT1IgKGQ+PTYuMCBBTkQgZDw3LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAg ICAgICAgICBPUiBiPTEzNQogICAgICAgICAgT1IgYj0yNQogICAgICAgICAgT1IgYj0xMDM3CkBA IC0xNDAxOCw3ICsxNDAxOCw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgcmV0dXJuIGNvdW50 X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MgogICAgICAgV0hFUkUgKGc9J2Vk Y2JhenknIEFORCBmIEdMT0IgJ3d4eXphKicpCi0gICAgICAgICBPUiAoZD49NTIuMCBBTkQgZDw1 My4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTUyLjAgQU5EIGQ8NTMuMCBBTkQg ZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9MTEzCiAgICAgICAgICBPUiAoKGEgQkVUV0VF TiA0MCBBTkQgNDIpIEFORCBhIT00MSkKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDUzIEFORCA1 NSkgQU5EIGEhPTU0KQpAQCAtMTQwMzYsNyArMTQwMzYsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAg ICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDMKICAg ICAgIFdIRVJFIChnPSdlZGNiYXp5JyBBTkQgZiBHTE9CICd3eHl6YSonKQotICAgICAgICAgT1Ig KGQ+PTUyLjAgQU5EIGQ8NTMuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj01Mi4w IEFORCBkPDUzLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTExMwogICAgICAg ICAgT1IgKChhIEJFVFdFRU4gNDAgQU5EIDQyKSBBTkQgYSE9NDEpCiAgICAgICAgICBPUiAoKGEg QkVUV0VFTiA1MyBBTkQgNTUpIEFORCBhIT01NCkKQEAgLTE0MDU0LDcgKzE0MDU0LDcgQEAgdGVz dDpkb190ZXN0KAogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxF Q1QgYSBGUk9NIHQyCiAgICAgICBXSEVSRSBiPTEwMjYKLSAgICAgICAgIE9SIChkPj00OC4wIEFO RCBkPDQ5LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NDguMCBBTkQgZDw0OS4w IEFORCBkIElTIE5PVCBOVUxMKQogICBdXSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJl Ny0yLjM3NC4xPgpAQCAtMTQwNjgsNyArMTQwNjgsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAg IHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDMKICAgICAg IFdIRVJFIGI9MTAyNgotICAgICAgICAgT1IgKGQ+PTQ4LjAgQU5EIGQ8NDkuMCBBTkQgZCBOT1Qg TlVMTCkKKyAgICAgICAgIE9SIChkPj00OC4wIEFORCBkPDQ5LjAgQU5EIGQgSVMgTk9UIE5VTEwp CiAgIF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIuMzc0LjI+CkBAIC0xNDA5 MSw3ICsxNDA5MSw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIGE9MTAKICAgICAgICAg IE9SIGY9J21ub3BxcnN0dScKICAgICAgICAgIE9SIGI9OTQ2Ci0gICAgICAgICBPUiAoZD49OTUu MCBBTkQgZDw5Ni4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTk1LjAgQU5EIGQ8 OTYuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3 aGVyZTctMi4zNzUuMT4KQEAgLTE0MTE0LDcgKzE0MTE0LDcgQEAgdGVzdDpkb190ZXN0KAogICAg ICAgICAgT1IgYT0xMAogICAgICAgICAgT1IgZj0nbW5vcHFyc3R1JwogICAgICAgICAgT1IgYj05 NDYKLSAgICAgICAgIE9SIChkPj05NS4wIEFORCBkPDk2LjAgQU5EIGQgTk9UIE5VTEwpCisgICAg ICAgICBPUiAoZD49OTUuMCBBTkQgZDw5Ni4wIEFORCBkIElTIE5PVCBOVUxMKQogICBdXSkKICAg ICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjM3NS4yPgpAQCAtMTQxMjcsNyArMTQxMjcs NyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291bnRf c3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCi0gICAgICBXSEVSRSAoZD49MTEu MCBBTkQgZDwxMi4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTExLjAgQU5EIGQ8 MTIuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGM9MjMwMjMKICAgICAgICAgIE9S IGI9NDYyCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiAxNyBBTkQgMTkpIEFORCBhIT0xOCkKQEAg LTE0MTQzLDcgKzE0MTQzLDcgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAgICAg ICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MwotICAg ICAgV0hFUkUgKGQ+PTExLjAgQU5EIGQ8MTIuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJF IChkPj0xMS4wIEFORCBkPDEyLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBjPTIz MDIzCiAgICAgICAgICBPUiBiPTQ2MgogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMTcgQU5EIDE5 KSBBTkQgYSE9MTgpCkBAIC0xNDE2NSwxMCArMTQxNjUsMTAgQEAgdGVzdDpkb190ZXN0KAogICAg ICAgICAgT1IgYT0xOAogICAgICAgICAgT1IgYz0yNDAyNAogICAgICAgICAgT1IgKGc9J3d2dXRz cnEnIEFORCBmIEdMT0IgJ2prbG1uKicpCi0gICAgICAgICBPUiAoZD49MzguMCBBTkQgZDwzOS4w IEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTM4LjAgQU5EIGQ8MzkuMCBBTkQgZCBJ UyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChnPSdwb25tbGtqJyBBTkQgZiBHTE9CICdyc3R1dion KQogICAgICAgICAgT1IgYz0xOTAxOQotICAgICAgICAgT1IgKGQ+PTg3LjAgQU5EIGQ8ODguMCBB TkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj04Ny4wIEFORCBkPDg4LjAgQU5EIGQgSVMg Tk9UIE5VTEwpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA0NCBBTkQgNDYpIEFORCBhIT00NSkK ICAgXV0pCiAgICAgZW5kLCB7CkBAIC0xNDE4OCwxMCArMTQxODgsMTAgQEAgdGVzdDpkb190ZXN0 KAogICAgICAgICAgT1IgYT0xOAogICAgICAgICAgT1IgYz0yNDAyNAogICAgICAgICAgT1IgKGc9 J3d2dXRzcnEnIEFORCBmIEdMT0IgJ2prbG1uKicpCi0gICAgICAgICBPUiAoZD49MzguMCBBTkQg ZDwzOS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTM4LjAgQU5EIGQ8MzkuMCBB TkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChnPSdwb25tbGtqJyBBTkQgZiBHTE9CICdy c3R1dionKQogICAgICAgICAgT1IgYz0xOTAxOQotICAgICAgICAgT1IgKGQ+PTg3LjAgQU5EIGQ8 ODguMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj04Ny4wIEFORCBkPDg4LjAgQU5E IGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA0NCBBTkQgNDYpIEFORCBh IT00NSkKICAgXV0pCiAgICAgZW5kLCB7CkBAIC0xNDIwNSw5ICsxNDIwNSw5IEBAIHRlc3Q6ZG9f dGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtb CiAgICAgIFNFTEVDVCBhIEZST00gdDIKLSAgICAgIFdIRVJFIChkPj0xNS4wIEFORCBkPDE2LjAg QU5EIGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49MTUuMCBBTkQgZDwxNi4wIEFORCBkIElT IE5PVCBOVUxMKQogICAgICAgICAgT1IgYT0yMAotICAgICAgICAgT1IgKGQ+PTk0LjAgQU5EIGQ8 OTUuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj05NC4wIEFORCBkPDk1LjAgQU5E IGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTEyMQogICAgICAgICAgT1IgYT0xMAogICAg ICAgICAgT1IgYj03OTIKQEAgLTE0MjIzLDkgKzE0MjIzLDkgQEAgdGVzdDpkb190ZXN0KAogICAg IGZ1bmN0aW9uKCkKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VM RUNUIGEgRlJPTSB0MwotICAgICAgV0hFUkUgKGQ+PTE1LjAgQU5EIGQ8MTYuMCBBTkQgZCBOT1Qg TlVMTCkKKyAgICAgIFdIRVJFIChkPj0xNS4wIEFORCBkPDE2LjAgQU5EIGQgSVMgTk9UIE5VTEwp CiAgICAgICAgICBPUiBhPTIwCi0gICAgICAgICBPUiAoZD49OTQuMCBBTkQgZDw5NS4wIEFORCBk IE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTk0LjAgQU5EIGQ8OTUuMCBBTkQgZCBJUyBOT1Qg TlVMTCkKICAgICAgICAgIE9SIGI9MTIxCiAgICAgICAgICBPUiBhPTEwCiAgICAgICAgICBPUiBi PTc5MgpAQCAtMTQzMDMsMTAgKzE0MzAzLDEwIEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlv bigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZS T00gdDIKLSAgICAgIFdIRVJFIChkPj05Ny4wIEFORCBkPDk4LjAgQU5EIGQgTk9UIE5VTEwpCisg ICAgICBXSEVSRSAoZD49OTcuMCBBTkQgZDw5OC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAg ICAgT1IgKGc9J2ZlZGNiYXonIEFORCBmIEdMT0IgJ3R1dnd4KicpCiAgICAgICAgICBPUiBhPTQ2 Ci0gICAgICAgICBPUiAoZD49MjguMCBBTkQgZDwyOS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAg ICAgT1IgKGQ+PTI4LjAgQU5EIGQ8MjkuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAgICAg ZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi4zODEuMT4KQEAgLTE0MzE5LDEwICsxNDMxOSwx MCBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291bnRf c3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQzCi0gICAgICBXSEVSRSAoZD49OTcu MCBBTkQgZDw5OC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTk3LjAgQU5EIGQ8 OTguMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChnPSdmZWRjYmF6JyBBTkQgZiBH TE9CICd0dXZ3eConKQogICAgICAgICAgT1IgYT00NgotICAgICAgICAgT1IgKGQ+PTI4LjAgQU5E IGQ8MjkuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0yOC4wIEFORCBkPDI5LjAg QU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8d2hlcmU3 LTIuMzgxLjI+CkBAIC0xNDMzNyw3ICsxNDMzNyw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgU0VM RUNUIGEgRlJPTSB0MgogICAgICAgV0hFUkUgKGc9J2loZ2ZlZGMnIEFORCBmIEdMT0IgJ2RlZmdo KicpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA5NyBBTkQgOTkpIEFORCBhIT05OCkKLSAgICAg ICAgIE9SIChkPj0xOC4wIEFORCBkPDE5LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAo ZD49MTguMCBBTkQgZDwxOS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj0xMDU2 CiAgICAgICAgICBPUiBiPTE0NgogICBdXSkKQEAgLTE0MzU0LDcgKzE0MzU0LDcgQEAgdGVzdDpk b190ZXN0KAogICAgICBTRUxFQ1QgYSBGUk9NIHQzCiAgICAgICBXSEVSRSAoZz0naWhnZmVkYycg QU5EIGYgR0xPQiAnZGVmZ2gqJykKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDk3IEFORCA5OSkg QU5EIGEhPTk4KQotICAgICAgICAgT1IgKGQ+PTE4LjAgQU5EIGQ8MTkuMCBBTkQgZCBOT1QgTlVM TCkKKyAgICAgICAgIE9SIChkPj0xOC4wIEFORCBkPDE5LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAg ICAgICAgICBPUiBiPTEwNTYKICAgICAgICAgIE9SIGI9MTQ2CiAgIF1dKQpAQCAtMTQzNzUsNyAr MTQzNzUsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBhPTM2CiAgICAgICAgICBPUiBi PTczNwogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMjEgQU5EIDIzKSBBTkQgYSE9MjIpCi0gICAg ICAgICBPUiAoZD49ODkuMCBBTkQgZDw5MC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1Ig KGQ+PTg5LjAgQU5EIGQ8OTAuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGE9NzUK ICAgXV0pCiAgICAgZW5kLCB7CkBAIC0xNDM5NSw3ICsxNDM5NSw3IEBAIHRlc3Q6ZG9fdGVzdCgK ICAgICAgICAgIE9SIGE9MzYKICAgICAgICAgIE9SIGI9NzM3CiAgICAgICAgICBPUiAoKGEgQkVU V0VFTiAyMSBBTkQgMjMpIEFORCBhIT0yMikKLSAgICAgICAgIE9SIChkPj04OS4wIEFORCBkPDkw LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49ODkuMCBBTkQgZDw5MC4wIEFORCBk IElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYT03NQogICBdXSkKICAgICBlbmQsIHsKQEAgLTE0 NDExLDggKzE0NDExLDggQEAgdGVzdDpkb190ZXN0KAogICAgICBTRUxFQ1QgYSBGUk9NIHQyCiAg ICAgICBXSEVSRSBjPTkwMDkKICAgICAgICAgIE9SIGE9MzQKLSAgICAgICAgIE9SIChkPj05NS4w IEFORCBkPDk2LjAgQU5EIGQgTk9UIE5VTEwpCi0gICAgICAgICBPUiAoZD49MTYuMCBBTkQgZDwx Ny4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTk1LjAgQU5EIGQ8OTYuMCBBTkQg ZCBJUyBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0xNi4wIEFORCBkPDE3LjAgQU5EIGQgSVMg Tk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTcxNQogICAgICAgICAgT1IgYj02MTkKICAgICAgICAg IE9SICgoYSBCRVRXRUVOIDk4IEFORCAxMDApIEFORCBhIT05OSkKQEAgLTE0NDMwLDggKzE0NDMw LDggQEAgdGVzdDpkb190ZXN0KAogICAgICBTRUxFQ1QgYSBGUk9NIHQzCiAgICAgICBXSEVSRSBj PTkwMDkKICAgICAgICAgIE9SIGE9MzQKLSAgICAgICAgIE9SIChkPj05NS4wIEFORCBkPDk2LjAg QU5EIGQgTk9UIE5VTEwpCi0gICAgICAgICBPUiAoZD49MTYuMCBBTkQgZDwxNy4wIEFORCBkIE5P VCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTk1LjAgQU5EIGQ8OTYuMCBBTkQgZCBJUyBOT1QgTlVM TCkKKyAgICAgICAgIE9SIChkPj0xNi4wIEFORCBkPDE3LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAg ICAgICAgICBPUiBiPTcxNQogICAgICAgICAgT1IgYj02MTkKICAgICAgICAgIE9SICgoYSBCRVRX RUVOIDk4IEFORCAxMDApIEFORCBhIT05OSkKQEAgLTE0NDQ3LDcgKzE0NDQ3LDcgQEAgdGVzdDpk b190ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQo W1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MgotICAgICAgV0hFUkUgKGQ+PTYxLjAgQU5EIGQ8NjIu MCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChkPj02MS4wIEFORCBkPDYyLjAgQU5EIGQg SVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiAxMSBBTkQgMTMpIEFORCBhIT0x MikKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDc0IEFORCA3NikgQU5EIGEhPTc1KQogICAgICAg ICAgT1IgKChhIEJFVFdFRU4gMzkgQU5EIDQxKSBBTkQgYSE9NDApCkBAIC0xNDQ1Niw3ICsxNDQ1 Niw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIChmIEdMT0IgJz9jZGVmKicgQU5EIGYg R0xPQiAnYmNkZSonKQogICAgICAgICAgT1IgYj0zMDAKICAgICAgICAgIE9SICgoYSBCRVRXRUVO IDI0IEFORCAyNikgQU5EIGEhPTI1KQotICAgICAgICAgT1IgKGQ+PTIxLjAgQU5EIGQ8MjIuMCBB TkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0yMS4wIEFORCBkPDIyLjAgQU5EIGQgSVMg Tk9UIE5VTEwpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA5MyBBTkQgOTUpIEFORCBhIT05NCkK ICAgXV0pCiAgICAgZW5kLCB7CkBAIC0xNDQ3MCw3ICsxNDQ3MCw3IEBAIHRlc3Q6ZG9fdGVzdCgK ICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAg IFNFTEVDVCBhIEZST00gdDMKLSAgICAgIFdIRVJFIChkPj02MS4wIEFORCBkPDYyLjAgQU5EIGQg Tk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49NjEuMCBBTkQgZDw2Mi4wIEFORCBkIElTIE5PVCBO VUxMKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMTEgQU5EIDEzKSBBTkQgYSE9MTIpCiAgICAg ICAgICBPUiAoKGEgQkVUV0VFTiA3NCBBTkQgNzYpIEFORCBhIT03NSkKICAgICAgICAgIE9SICgo YSBCRVRXRUVOIDM5IEFORCA0MSkgQU5EIGEhPTQwKQpAQCAtMTQ0NzksNyArMTQ0NzksNyBAQCB0 ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiAoZiBHTE9CICc/Y2RlZionIEFORCBmIEdMT0IgJ2Jj ZGUqJykKICAgICAgICAgIE9SIGI9MzAwCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiAyNCBBTkQg MjYpIEFORCBhIT0yNSkKLSAgICAgICAgIE9SIChkPj0yMS4wIEFORCBkPDIyLjAgQU5EIGQgTk9U IE5VTEwpCisgICAgICAgICBPUiAoZD49MjEuMCBBTkQgZDwyMi4wIEFORCBkIElTIE5PVCBOVUxM KQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gOTMgQU5EIDk1KSBBTkQgYSE9OTQpCiAgIF1dKQog ICAgIGVuZCwgewpAQCAtMTQ0OTQsMTMgKzE0NDk0LDEzIEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAg ICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MgogICAg ICAgV0hFUkUgYT04NQotICAgICAgICAgT1IgKGQ+PTMzLjAgQU5EIGQ8MzQuMCBBTkQgZCBOT1Qg TlVMTCkKKyAgICAgICAgIE9SIChkPj0zMy4wIEFORCBkPDM0LjAgQU5EIGQgSVMgTk9UIE5VTEwp CiAgICAgICAgICBPUiBiPTIxMgogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMjUgQU5EIDI3KSBB TkQgYSE9MjYpCiAgICAgICAgICBPUiBiPTM2CiAgICAgICAgICBPUiBiPTIzMQogICAgICAgICAg T1IgYj0xMDQ4Ci0gICAgICAgICBPUiAoZD49OTIuMCBBTkQgZDw5My4wIEFORCBkIE5PVCBOVUxM KQorICAgICAgICAgT1IgKGQ+PTkyLjAgQU5EIGQ8OTMuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAg ICAgICAgIE9SICgoYSBCRVRXRUVOIDY5IEFORCA3MSkgQU5EIGEhPTcwKQogICAgICAgICAgT1Ig KGc9J3Bvbm1sa2onIEFORCBmIEdMT0IgJ3JzdHV2KicpCiAgICAgICAgICBPUiBjPTE5MDE5CkBA IC0xNDUxNywxMyArMTQ1MTcsMTMgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICByZXR1cm4gY291 bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQzCiAgICAgICBXSEVSRSBhPTg1 Ci0gICAgICAgICBPUiAoZD49MzMuMCBBTkQgZDwzNC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAg ICAgT1IgKGQ+PTMzLjAgQU5EIGQ8MzQuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9S IGI9MjEyCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiAyNSBBTkQgMjcpIEFORCBhIT0yNikKICAg ICAgICAgIE9SIGI9MzYKICAgICAgICAgIE9SIGI9MjMxCiAgICAgICAgICBPUiBiPTEwNDgKLSAg ICAgICAgIE9SIChkPj05Mi4wIEFORCBkPDkzLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBP UiAoZD49OTIuMCBBTkQgZDw5My4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKChh IEJFVFdFRU4gNjkgQU5EIDcxKSBBTkQgYSE9NzApCiAgICAgICAgICBPUiAoZz0ncG9ubWxraicg QU5EIGYgR0xPQiAncnN0dXYqJykKICAgICAgICAgIE9SIGM9MTkwMTkKQEAgLTE0NTQwLDcgKzE0 NTQwLDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChb WwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCiAgICAgICBXSEVSRSAoKGEgQkVUV0VFTiAyOCBBTkQg MzApIEFORCBhIT0yOSkKLSAgICAgICAgIE9SIChkPj04LjAgQU5EIGQ8OS4wIEFORCBkIE5PVCBO VUxMKQorICAgICAgICAgT1IgKGQ+PTguMCBBTkQgZDw5LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAg ICAgICAgICBPUiBiPTEwNTkKICAgICAgICAgIE9SIGI9NjMwCiAgIF1dKQpAQCAtMTQ1NTYsNyAr MTQ1NTYsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0 KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDMKICAgICAgIFdIRVJFICgoYSBCRVRXRUVOIDI4IEFO RCAzMCkgQU5EIGEhPTI5KQotICAgICAgICAgT1IgKGQ+PTguMCBBTkQgZDw5LjAgQU5EIGQgTk9U IE5VTEwpCisgICAgICAgICBPUiAoZD49OC4wIEFORCBkPDkuMCBBTkQgZCBJUyBOT1QgTlVMTCkK ICAgICAgICAgIE9SIGI9MTA1OQogICAgICAgICAgT1IgYj02MzAKICAgXV0pCkBAIC0xNDYwMywx MSArMTQ2MDMsMTEgQEAgdGVzdDpkb190ZXN0KAogICAgICBTRUxFQ1QgYSBGUk9NIHQyCiAgICAg ICBXSEVSRSBiPTEwMDEKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDg3IEFORCA4OSkgQU5EIGEh PTg4KQotICAgICAgICAgT1IgKGQ+PTE1LjAgQU5EIGQ8MTYuMCBBTkQgZCBOT1QgTlVMTCkKKyAg ICAgICAgIE9SIChkPj0xNS4wIEFORCBkPDE2LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAg ICBPUiAoKGEgQkVUV0VFTiA2OCBBTkQgNzApIEFORCBhIT02OSkKICAgICAgICAgIE9SIGE9NTgK ICAgICAgICAgIE9SIGI9MzMzCi0gICAgICAgICBPUiAoZD49NDkuMCBBTkQgZDw1MC4wIEFORCBk IE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTQ5LjAgQU5EIGQ8NTAuMCBBTkQgZCBJUyBOT1Qg TlVMTCkKICAgICAgICAgIE9SIChnPSdwb25tbGtqJyBBTkQgZiBHTE9CICdyc3R1dionKQogICAg ICAgICAgT1IgYj01NzIKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDUwIEFORCA1MikgQU5EIGEh PTUxKQpAQCAtMTQ2MjYsMTEgKzE0NjI2LDExIEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgU0VMRUNU IGEgRlJPTSB0MwogICAgICAgV0hFUkUgYj0xMDAxCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA4 NyBBTkQgODkpIEFORCBhIT04OCkKLSAgICAgICAgIE9SIChkPj0xNS4wIEFORCBkPDE2LjAgQU5E IGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MTUuMCBBTkQgZDwxNi4wIEFORCBkIElTIE5P VCBOVUxMKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNjggQU5EIDcwKSBBTkQgYSE9NjkpCiAg ICAgICAgICBPUiBhPTU4CiAgICAgICAgICBPUiBiPTMzMwotICAgICAgICAgT1IgKGQ+PTQ5LjAg QU5EIGQ8NTAuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj00OS4wIEFORCBkPDUw LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoZz0ncG9ubWxraicgQU5EIGYgR0xP QiAncnN0dXYqJykKICAgICAgICAgIE9SIGI9NTcyCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA1 MCBBTkQgNTIpIEFORCBhIT01MSkKQEAgLTE0Njc4LDcgKzE0Njc4LDcgQEAgdGVzdDpkb190ZXN0 KAogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9N IHQyCiAgICAgICBXSEVSRSBjPTE1MDE1Ci0gICAgICAgICBPUiAoZD49ODcuMCBBTkQgZDw4OC4w IEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTg3LjAgQU5EIGQ8ODguMCBBTkQgZCBJ UyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChnPSdtbGtqaWhnJyBBTkQgZiBHTE9CICdoaWprbCon KQogICAgICAgICAgT1IgYj01OAogICAgICAgICAgT1IgYj02NzQKQEAgLTE0Njk2LDcgKzE0Njk2 LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwog ICAgICBTRUxFQ1QgYSBGUk9NIHQzCiAgICAgICBXSEVSRSBjPTE1MDE1Ci0gICAgICAgICBPUiAo ZD49ODcuMCBBTkQgZDw4OC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTg3LjAg QU5EIGQ8ODguMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChnPSdtbGtqaWhnJyBB TkQgZiBHTE9CICdoaWprbConKQogICAgICAgICAgT1IgYj01OAogICAgICAgICAgT1IgYj02NzQK QEAgLTE0NzQ0LDE2ICsxNDc0NCwxNiBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgIHJldHVybiBj b3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIKICAgICAgIFdIRVJFIGI9 NTI4Ci0gICAgICAgICBPUiAoZD49NjQuMCBBTkQgZDw2NS4wIEFORCBkIE5PVCBOVUxMKQorICAg ICAgICAgT1IgKGQ+PTY0LjAgQU5EIGQ8NjUuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAg IE9SIGI9NjMwCiAgICAgICAgICBPUiBhPTE5CiAgICAgICAgICBPUiAoZz0ncG9ubWxraicgQU5E IGYgR0xPQiAnc3R1dncqJykKICAgICAgICAgIE9SIGY9J3d4eXphYmNkZScKICAgICAgICAgIE9S IChnPSdwb25tbGtqJyBBTkQgZiBHTE9CICdyc3R1dionKQogICAgICAgICAgT1IgYj0zNzcKLSAg ICAgICAgIE9SIChkPj00OC4wIEFORCBkPDQ5LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBP UiAoZD49NDguMCBBTkQgZDw0OS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYT03 NwotICAgICAgICAgT1IgKGQ+PTguMCBBTkQgZDw5LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAg ICBPUiAoZD49OC4wIEFORCBkPDkuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAgICAgZW5k LCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi4zOTMuMT4KQEAgLTE0NzY3LDE2ICsxNDc2NywxNiBA QCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAg IFNFTEVDVCBhIEZST00gdDMKICAgICAgIFdIRVJFIGI9NTI4Ci0gICAgICAgICBPUiAoZD49NjQu MCBBTkQgZDw2NS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTY0LjAgQU5EIGQ8 NjUuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9NjMwCiAgICAgICAgICBPUiBh PTE5CiAgICAgICAgICBPUiAoZz0ncG9ubWxraicgQU5EIGYgR0xPQiAnc3R1dncqJykKICAgICAg ICAgIE9SIGY9J3d4eXphYmNkZScKICAgICAgICAgIE9SIChnPSdwb25tbGtqJyBBTkQgZiBHTE9C ICdyc3R1dionKQogICAgICAgICAgT1IgYj0zNzcKLSAgICAgICAgIE9SIChkPj00OC4wIEFORCBk PDQ5LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NDguMCBBTkQgZDw0OS4wIEFO RCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYT03NwotICAgICAgICAgT1IgKGQ+PTguMCBB TkQgZDw5LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49OC4wIEFORCBkPDkuMCBB TkQgZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTct Mi4zOTMuMj4KQEAgLTE0ODE5LDEyICsxNDgxOSwxMiBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgIFNF TEVDVCBhIEZST00gdDIKICAgICAgIFdIRVJFIGE9NjQKICAgICAgICAgIE9SIChmIEdMT0IgJz9i Y2RlKicgQU5EIGYgR0xPQiAnYWJjZConKQotICAgICAgICAgT1IgKGQ+PTU3LjAgQU5EIGQ8NTgu MCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj01Ny4wIEFORCBkPDU4LjAgQU5EIGQg SVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoZz0nc3JxcG9ubScgQU5EIGYgR0xPQiAnY2RlZmcq JykKICAgICAgICAgIE9SIGM9MTQwMTQKICAgICAgICAgIE9SIGI9NTg2CiAgICAgICAgICBPUiBj PTI3MDI3Ci0gICAgICAgICBPUiAoZD49ODYuMCBBTkQgZDw4Ny4wIEFORCBkIE5PVCBOVUxMKQor ICAgICAgICAgT1IgKGQ+PTg2LjAgQU5EIGQ8ODcuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAg ICAgIE9SIChnPSdqaWhnZmVkJyBBTkQgZiBHTE9CICd3eHl6YSonKQogICBdXSkKICAgICBlbmQs IHsKQEAgLTE0ODQwLDEyICsxNDg0MCwxMiBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgIFNFTEVDVCBh IEZST00gdDMKICAgICAgIFdIRVJFIGE9NjQKICAgICAgICAgIE9SIChmIEdMT0IgJz9iY2RlKicg QU5EIGYgR0xPQiAnYWJjZConKQotICAgICAgICAgT1IgKGQ+PTU3LjAgQU5EIGQ8NTguMCBBTkQg ZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj01Ny4wIEFORCBkPDU4LjAgQU5EIGQgSVMgTk9U IE5VTEwpCiAgICAgICAgICBPUiAoZz0nc3JxcG9ubScgQU5EIGYgR0xPQiAnY2RlZmcqJykKICAg ICAgICAgIE9SIGM9MTQwMTQKICAgICAgICAgIE9SIGI9NTg2CiAgICAgICAgICBPUiBjPTI3MDI3 Ci0gICAgICAgICBPUiAoZD49ODYuMCBBTkQgZDw4Ny4wIEFORCBkIE5PVCBOVUxMKQorICAgICAg ICAgT1IgKGQ+PTg2LjAgQU5EIGQ8ODcuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9S IChnPSdqaWhnZmVkJyBBTkQgZiBHTE9CICd3eHl6YSonKQogICBdXSkKICAgICBlbmQsIHsKQEAg LTE0ODYyLDcgKzE0ODYyLDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgV0hFUkUgYT00NgogICAg ICAgICAgT1IgYj0yOTcKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDU3IEFORCA1OSkgQU5EIGEh PTU4KQotICAgICAgICAgT1IgKGQ+PTc1LjAgQU5EIGQ8NzYuMCBBTkQgZCBOT1QgTlVMTCkKKyAg ICAgICAgIE9SIChkPj03NS4wIEFORCBkPDc2LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAg ICBPUiBiPTI3NQogICAgICAgICAgT1IgYj05MQogICAgICAgICAgT1IgYj0xMDE1CkBAIC0xNDg4 NCw3ICsxNDg4NCw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgIFdIRVJFIGE9NDYKICAgICAgICAg IE9SIGI9Mjk3CiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA1NyBBTkQgNTkpIEFORCBhIT01OCkK LSAgICAgICAgIE9SIChkPj03NS4wIEFORCBkPDc2LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAg ICBPUiAoZD49NzUuMCBBTkQgZDw3Ni4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1Ig Yj0yNzUKICAgICAgICAgIE9SIGI9OTEKICAgICAgICAgIE9SIGI9MTAxNQpAQCAtMTQ5MDUsMTQg KzE0OTA1LDE0IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgU0VMRUNUIGEgRlJPTSB0MgogICAgICAg V0hFUkUgKGc9J2tqaWhnZmUnIEFORCBmIEdMT0IgJ3R1dnd4KicpCiAgICAgICAgICBPUiAoZz0n dHNycXBvbicgQU5EIGYgR0xPQiAnemFiY2QqJykKLSAgICAgICAgIE9SIChkPj02MS4wIEFORCBk PDYyLjAgQU5EIGQgTk9UIE5VTEwpCi0gICAgICAgICBPUiAoZD49OTguMCBBTkQgZDw5OS4wIEFO RCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTYxLjAgQU5EIGQ8NjIuMCBBTkQgZCBJUyBO T1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj05OC4wIEFORCBkPDk5LjAgQU5EIGQgSVMgTk9UIE5V TEwpCiAgICAgICAgICBPUiAoZz0ndHNycXBvbicgQU5EIGYgR0xPQiAnYmNkZWYqJykKICAgICAg ICAgIE9SIGE9MjMKICAgICAgICAgIE9SIGI9NzM3Ci0gICAgICAgICBPUiAoZD49NzEuMCBBTkQg ZDw3Mi4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTcxLjAgQU5EIGQ8NzIuMCBB TkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDE4IEFORCAyMCkgQU5E IGEhPTE5KQotICAgICAgICAgT1IgKGQ+PTY5LjAgQU5EIGQ8NzAuMCBBTkQgZCBOT1QgTlVMTCkK KyAgICAgICAgIE9SIChkPj02OS4wIEFORCBkPDcwLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAg ICAgICBPUiAoKGEgQkVUV0VFTiA2OCBBTkQgNzApIEFORCBhIT02OSkKICAgXV0pCiAgICAgZW5k LCB7CkBAIC0xNDkyOCwxNCArMTQ5MjgsMTQgQEAgdGVzdDpkb190ZXN0KAogICAgICBTRUxFQ1Qg YSBGUk9NIHQzCiAgICAgICBXSEVSRSAoZz0na2ppaGdmZScgQU5EIGYgR0xPQiAndHV2d3gqJykK ICAgICAgICAgIE9SIChnPSd0c3JxcG9uJyBBTkQgZiBHTE9CICd6YWJjZConKQotICAgICAgICAg T1IgKGQ+PTYxLjAgQU5EIGQ8NjIuMCBBTkQgZCBOT1QgTlVMTCkKLSAgICAgICAgIE9SIChkPj05 OC4wIEFORCBkPDk5LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NjEuMCBBTkQg ZDw2Mi4wIEFORCBkIElTIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTk4LjAgQU5EIGQ8OTku MCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChnPSd0c3JxcG9uJyBBTkQgZiBHTE9C ICdiY2RlZionKQogICAgICAgICAgT1IgYT0yMwogICAgICAgICAgT1IgYj03MzcKLSAgICAgICAg IE9SIChkPj03MS4wIEFORCBkPDcyLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49 NzEuMCBBTkQgZDw3Mi4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKChhIEJFVFdF RU4gMTggQU5EIDIwKSBBTkQgYSE9MTkpCi0gICAgICAgICBPUiAoZD49NjkuMCBBTkQgZDw3MC4w IEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTY5LjAgQU5EIGQ8NzAuMCBBTkQgZCBJ UyBOT1QgTlVMTCkKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDY4IEFORCA3MCkgQU5EIGEhPTY5 KQogICBdXSkKICAgICBlbmQsIHsKQEAgLTE0OTUwLDkgKzE0OTUwLDkgQEAgdGVzdDpkb190ZXN0 KAogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9N IHQyCiAgICAgICBXSEVSRSBiPTgxNAotICAgICAgICAgT1IgKGQ+PTcxLjAgQU5EIGQ8NzIuMCBB TkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj03MS4wIEFORCBkPDcyLjAgQU5EIGQgSVMg Tk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTM3NwotICAgICAgICAgT1IgKGQ+PTc5LjAgQU5EIGQ8 ODAuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj03OS4wIEFORCBkPDgwLjAgQU5E IGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIu Mzk4LjE+CkBAIC0xNDk2Niw5ICsxNDk2Niw5IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgcmV0 dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MwogICAgICAgV0hF UkUgYj04MTQKLSAgICAgICAgIE9SIChkPj03MS4wIEFORCBkPDcyLjAgQU5EIGQgTk9UIE5VTEwp CisgICAgICAgICBPUiAoZD49NzEuMCBBTkQgZDw3Mi4wIEFORCBkIElTIE5PVCBOVUxMKQogICAg ICAgICAgT1IgYj0zNzcKLSAgICAgICAgIE9SIChkPj03OS4wIEFORCBkPDgwLjAgQU5EIGQgTk9U IE5VTEwpCisgICAgICAgICBPUiAoZD49NzkuMCBBTkQgZDw4MC4wIEFORCBkIElTIE5PVCBOVUxM KQogICBdXSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjM5OC4yPgpAQCAtMTQ5 ODUsNyArMTQ5ODUsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBiPTEwNTkKICAgICAg ICAgIE9SIChmIEdMT0IgJz9hYmNkKicgQU5EIGYgR0xPQiAnemFiYyonKQogICAgICAgICAgT1Ig KGc9J25tbGtqaWgnIEFORCBmIEdMT0IgJ2JjZGVmKicpCi0gICAgICAgICBPUiAoZD49OS4wIEFO RCBkPDEwLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49OS4wIEFORCBkPDEwLjAg QU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoZz0ncG9ubWxraicgQU5EIGYgR0xPQiAn dXZ3eHkqJykKICAgICAgICAgIE9SIGI9Nzk1CiAgIF1dKQpAQCAtMTUwMDQsNyArMTUwMDQsNyBA QCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBiPTEwNTkKICAgICAgICAgIE9SIChmIEdMT0Ig Jz9hYmNkKicgQU5EIGYgR0xPQiAnemFiYyonKQogICAgICAgICAgT1IgKGc9J25tbGtqaWgnIEFO RCBmIEdMT0IgJ2JjZGVmKicpCi0gICAgICAgICBPUiAoZD49OS4wIEFORCBkPDEwLjAgQU5EIGQg Tk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49OS4wIEFORCBkPDEwLjAgQU5EIGQgSVMgTk9UIE5V TEwpCiAgICAgICAgICBPUiAoZz0ncG9ubWxraicgQU5EIGYgR0xPQiAndXZ3eHkqJykKICAgICAg ICAgIE9SIGI9Nzk1CiAgIF1dKQpAQCAtMTUwMjMsNyArMTUwMjMsNyBAQCB0ZXN0OmRvX3Rlc3Qo CiAgICAgICAgICBPUiBhPTkzCiAgICAgICAgICBPUiBhPTExCiAgICAgICAgICBPUiBmPSdub3Bx cnN0dXYnCi0gICAgICAgICBPUiAoZD49MjcuMCBBTkQgZDwyOC4wIEFORCBkIE5PVCBOVUxMKQor ICAgICAgICAgT1IgKGQ+PTI3LjAgQU5EIGQ8MjguMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAg ICAgIE9SICgoYSBCRVRXRUVOIDIyIEFORCAyNCkgQU5EIGEhPTIzKQogICAgICAgICAgT1IgYT0x NwogICAgICAgICAgT1IgYj0zNjYKQEAgLTE1MDQzLDcgKzE1MDQzLDcgQEAgdGVzdDpkb190ZXN0 KAogICAgICAgICAgT1IgYT05MwogICAgICAgICAgT1IgYT0xMQogICAgICAgICAgT1IgZj0nbm9w cXJzdHV2JwotICAgICAgICAgT1IgKGQ+PTI3LjAgQU5EIGQ8MjguMCBBTkQgZCBOT1QgTlVMTCkK KyAgICAgICAgIE9SIChkPj0yNy4wIEFORCBkPDI4LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAg ICAgICBPUiAoKGEgQkVUV0VFTiAyMiBBTkQgMjQpIEFORCBhIT0yMykKICAgICAgICAgIE9SIGE9 MTcKICAgICAgICAgIE9SIGI9MzY2CkBAIC0xNTEzNSw5ICsxNTEzNSw5IEBAIHRlc3Q6ZG9fdGVz dCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAg ICAgIFNFTEVDVCBhIEZST00gdDIKLSAgICAgIFdIRVJFIChkPj05Ny4wIEFORCBkPDk4LjAgQU5E IGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49OTcuMCBBTkQgZDw5OC4wIEFORCBkIElTIE5P VCBOVUxMKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNDQgQU5EIDQ2KSBBTkQgYSE9NDUpCi0g ICAgICAgICBPUiAoZD49MjguMCBBTkQgZDwyOS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAg T1IgKGQ+PTI4LjAgQU5EIGQ8MjkuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9 NjYzCiAgICAgICAgICBPUiBiPTUzMQogICAgICAgICAgT1IgYj0xNDYKQEAgLTE1MTU3LDkgKzE1 MTU3LDkgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAgICAgICAgcmV0dXJuIGNv dW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MwotICAgICAgV0hFUkUgKGQ+ PTk3LjAgQU5EIGQ8OTguMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChkPj05Ny4wIEFO RCBkPDk4LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA0NCBB TkQgNDYpIEFORCBhIT00NSkKLSAgICAgICAgIE9SIChkPj0yOC4wIEFORCBkPDI5LjAgQU5EIGQg Tk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MjguMCBBTkQgZDwyOS4wIEFORCBkIElTIE5PVCBO VUxMKQogICAgICAgICAgT1IgYj02NjMKICAgICAgICAgIE9SIGI9NTMxCiAgICAgICAgICBPUiBi PTE0NgpAQCAtMTUxODQsMTAgKzE1MTg0LDEwIEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9S IChnPSdsa2ppaGdmJyBBTkQgZiBHTE9CICdtbm9wcSonKQogICAgICAgICAgT1IgYj03MjYKICAg ICAgICAgIE9SICgoYSBCRVRXRUVOIDczIEFORCA3NSkgQU5EIGEhPTc0KQotICAgICAgICAgT1Ig KGQ+PTEyLjAgQU5EIGQ8MTMuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0xMi4w IEFORCBkPDEzLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBjPTIwMDIKICAgICAg ICAgIE9SIGM9MTUwMTUKLSAgICAgICAgIE9SIChkPj03NS4wIEFORCBkPDc2LjAgQU5EIGQgTk9U IE5VTEwpCisgICAgICAgICBPUiAoZD49NzUuMCBBTkQgZDw3Ni4wIEFORCBkIElTIE5PVCBOVUxM KQogICAgICAgICAgT1IgYj0yMDEKICAgXV0pCiAgICAgZW5kLCB7CkBAIC0xNTIwNiwxMCArMTUy MDYsMTAgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgKGc9J2xramloZ2YnIEFORCBmIEdM T0IgJ21ub3BxKicpCiAgICAgICAgICBPUiBiPTcyNgogICAgICAgICAgT1IgKChhIEJFVFdFRU4g NzMgQU5EIDc1KSBBTkQgYSE9NzQpCi0gICAgICAgICBPUiAoZD49MTIuMCBBTkQgZDwxMy4wIEFO RCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTEyLjAgQU5EIGQ8MTMuMCBBTkQgZCBJUyBO T1QgTlVMTCkKICAgICAgICAgIE9SIGM9MjAwMgogICAgICAgICAgT1IgYz0xNTAxNQotICAgICAg ICAgT1IgKGQ+PTc1LjAgQU5EIGQ8NzYuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChk Pj03NS4wIEFORCBkPDc2LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTIwMQog ICBdXSkKICAgICBlbmQsIHsKQEAgLTE1MjU1LDEwICsxNTI1NSwxMCBAQCB0ZXN0OmRvX3Rlc3Qo CiAgICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAg ICBTRUxFQ1QgYSBGUk9NIHQyCi0gICAgICBXSEVSRSAoZD49NjMuMCBBTkQgZDw2NC4wIEFORCBk IE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTYzLjAgQU5EIGQ8NjQuMCBBTkQgZCBJUyBOT1Qg TlVMTCkKICAgICAgICAgIE9SIChnPSd3dnV0c3JxJyBBTkQgZiBHTE9CICdtbm9wcSonKQogICAg ICAgICAgT1IgYj0xOTgKLSAgICAgICAgIE9SIChkPj01OC4wIEFORCBkPDU5LjAgQU5EIGQgTk9U IE5VTEwpCisgICAgICAgICBPUiAoZD49NTguMCBBTkQgZDw1OS4wIEFORCBkIElTIE5PVCBOVUxM KQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMTIgQU5EIDE0KSBBTkQgYSE9MTMpCiAgICAgICAg ICBPUiAoKGEgQkVUV0VFTiAyMCBBTkQgMjIpIEFORCBhIT0yMSkKICAgICAgICAgIE9SIGI9Mjg2 CkBAIC0xNTI3NSwxMCArMTUyNzUsMTAgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9uKCkK ICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0 MwotICAgICAgV0hFUkUgKGQ+PTYzLjAgQU5EIGQ8NjQuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAg IFdIRVJFIChkPj02My4wIEFORCBkPDY0LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBP UiAoZz0nd3Z1dHNycScgQU5EIGYgR0xPQiAnbW5vcHEqJykKICAgICAgICAgIE9SIGI9MTk4Ci0g ICAgICAgICBPUiAoZD49NTguMCBBTkQgZDw1OS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAg T1IgKGQ+PTU4LjAgQU5EIGQ8NTkuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SICgo YSBCRVRXRUVOIDEyIEFORCAxNCkgQU5EIGEhPTEzKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4g MjAgQU5EIDIyKSBBTkQgYSE9MjEpCiAgICAgICAgICBPUiBiPTI4NgpAQCAtMTUyOTYsMTIgKzE1 Mjk2LDEyIEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQo W1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MgogICAgICAgV0hFUkUgYj0yNDIKLSAgICAgICAgIE9S IChkPj0xNy4wIEFORCBkPDE4LjAgQU5EIGQgTk9UIE5VTEwpCi0gICAgICAgICBPUiAoZD49OTku MCBBTkQgZDwxMDAuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0xNy4wIEFORCBk PDE4LjAgQU5EIGQgSVMgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49OTkuMCBBTkQgZDwxMDAu MCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDU3IEFORCA1OSkg QU5EIGEhPTU4KQogICAgICAgICAgT1IgZj0nYmNkZWZnaGlqJwogICAgICAgICAgT1IgKChhIEJF VFdFRU4gMTcgQU5EIDE5KSBBTkQgYSE9MTgpCi0gICAgICAgICBPUiAoZD49ODguMCBBTkQgZDw4 OS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTg4LjAgQU5EIGQ8ODkuMCBBTkQg ZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGE9MzgKICAgICAgICAgIE9SIGI9MTg3CiAgIF1d KQpAQCAtMTUzMTcsMTIgKzE1MzE3LDEyIEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgcmV0dXJu IGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MwogICAgICAgV0hFUkUg Yj0yNDIKLSAgICAgICAgIE9SIChkPj0xNy4wIEFORCBkPDE4LjAgQU5EIGQgTk9UIE5VTEwpCi0g ICAgICAgICBPUiAoZD49OTkuMCBBTkQgZDwxMDAuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAg IE9SIChkPj0xNy4wIEFORCBkPDE4LjAgQU5EIGQgSVMgTk9UIE5VTEwpCisgICAgICAgICBPUiAo ZD49OTkuMCBBTkQgZDwxMDAuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SICgoYSBC RVRXRUVOIDU3IEFORCA1OSkgQU5EIGEhPTU4KQogICAgICAgICAgT1IgZj0nYmNkZWZnaGlqJwog ICAgICAgICAgT1IgKChhIEJFVFdFRU4gMTcgQU5EIDE5KSBBTkQgYSE9MTgpCi0gICAgICAgICBP UiAoZD49ODguMCBBTkQgZDw4OS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTg4 LjAgQU5EIGQ8ODkuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGE9MzgKICAgICAg ICAgIE9SIGI9MTg3CiAgIF1dKQpAQCAtMTUzMzcsMTIgKzE1MzM3LDEyIEBAIHRlc3Q6ZG9fdGVz dCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAg ICAgIFNFTEVDVCBhIEZST00gdDIKLSAgICAgIFdIRVJFIChkPj0xMC4wIEFORCBkPDExLjAgQU5E IGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49MTAuMCBBTkQgZDwxMS4wIEFORCBkIElTIE5P VCBOVUxMKQogICAgICAgICAgT1IgYj02MzAKICAgICAgICAgIE9SIGE9NTUKICAgICAgICAgIE9S IGM9MjYwMjYKICAgICAgICAgIE9SIChnPSdramloZ2ZlJyBBTkQgZiBHTE9CICdxcnN0dSonKQot ICAgICAgICAgT1IgKGQ+PTIzLjAgQU5EIGQ8MjQuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAg IE9SIChkPj0yMy4wIEFORCBkPDI0LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVu ZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIuNDA4LjE+CkBAIC0xNTM1NSwxMiArMTUzNTUsMTIg QEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAgICAgICAgcmV0dXJuIGNvdW50X3N0 ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MwotICAgICAgV0hFUkUgKGQ+PTEwLjAg QU5EIGQ8MTEuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChkPj0xMC4wIEFORCBkPDEx LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTYzMAogICAgICAgICAgT1IgYT01 NQogICAgICAgICAgT1IgYz0yNjAyNgogICAgICAgICAgT1IgKGc9J2tqaWhnZmUnIEFORCBmIEdM T0IgJ3Fyc3R1KicpCi0gICAgICAgICBPUiAoZD49MjMuMCBBTkQgZDwyNC4wIEFORCBkIE5PVCBO VUxMKQorICAgICAgICAgT1IgKGQ+PTIzLjAgQU5EIGQ8MjQuMCBBTkQgZCBJUyBOT1QgTlVMTCkK ICAgXV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi40MDguMj4KQEAgLTE1Mzc2 LDkgKzE1Mzc2LDkgQEAgdGVzdDpkb190ZXN0KAogICAgICAgV0hFUkUgZj0ndXZ3eHl6YWJjJwog ICAgICAgICAgT1IgZj0neHl6YWJjZGVmJwogICAgICAgICAgT1IgKGc9J2loZ2ZlZGMnIEFORCBm IEdMT0IgJ2JjZGVmKicpCi0gICAgICAgICBPUiAoZD49NzAuMCBBTkQgZDw3MS4wIEFORCBkIE5P VCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTcwLjAgQU5EIGQ8NzEuMCBBTkQgZCBJUyBOT1QgTlVM TCkKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDUxIEFORCA1MykgQU5EIGEhPTUyKQotICAgICAg ICAgT1IgKGQ+PTMxLjAgQU5EIGQ8MzIuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChk Pj0zMS4wIEFORCBkPDMyLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTY5CiAg ICAgICAgICBPUiAoZiBHTE9CICc/amtsbSonIEFORCBmIEdMT0IgJ2lqa2wqJykKICAgXV0pCkBA IC0xNTM5Niw5ICsxNTM5Niw5IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgIFdIRVJFIGY9J3V2d3h5 emFiYycKICAgICAgICAgIE9SIGY9J3h5emFiY2RlZicKICAgICAgICAgIE9SIChnPSdpaGdmZWRj JyBBTkQgZiBHTE9CICdiY2RlZionKQotICAgICAgICAgT1IgKGQ+PTcwLjAgQU5EIGQ8NzEuMCBB TkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj03MC4wIEFORCBkPDcxLjAgQU5EIGQgSVMg Tk9UIE5VTEwpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA1MSBBTkQgNTMpIEFORCBhIT01MikK LSAgICAgICAgIE9SIChkPj0zMS4wIEFORCBkPDMyLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAg ICBPUiAoZD49MzEuMCBBTkQgZDwzMi4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1Ig Yj02OQogICAgICAgICAgT1IgKGYgR0xPQiAnP2prbG0qJyBBTkQgZiBHTE9CICdpamtsKicpCiAg IF1dKQpAQCAtMTU0NTQsNyArMTU0NTQsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBh PTIwCiAgICAgICAgICBPUiAoZz0ndnV0c3JxcCcgQU5EIGYgR0xPQiAnbm9wcXIqJykKICAgICAg ICAgIE9SIGI9OTQ2Ci0gICAgICAgICBPUiAoZD49NjEuMCBBTkQgZDw2Mi4wIEFORCBkIE5PVCBO VUxMKQorICAgICAgICAgT1IgKGQ+PTYxLjAgQU5EIGQ8NjIuMCBBTkQgZCBJUyBOT1QgTlVMTCkK ICAgICAgICAgIE9SIGE9NjQKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDE3IEFORCAxOSkgQU5E IGEhPTE4KQogICAgICAgICAgT1IgYj0xMDAxCkBAIC0xNTQ3Niw3ICsxNTQ3Niw3IEBAIHRlc3Q6 ZG9fdGVzdCgKICAgICAgICAgIE9SIGE9MjAKICAgICAgICAgIE9SIChnPSd2dXRzcnFwJyBBTkQg ZiBHTE9CICdub3BxcionKQogICAgICAgICAgT1IgYj05NDYKLSAgICAgICAgIE9SIChkPj02MS4w IEFORCBkPDYyLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NjEuMCBBTkQgZDw2 Mi4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYT02NAogICAgICAgICAgT1IgKChh IEJFVFdFRU4gMTcgQU5EIDE5KSBBTkQgYSE9MTgpCiAgICAgICAgICBPUiBiPTEwMDEKQEAgLTE1 NDk0LDkgKzE1NDk0LDkgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICByZXR1cm4gY291bnRfc3Rl cHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCiAgICAgICBXSEVSRSBiPTkwMgotICAg ICAgICAgT1IgKGQ+PTI3LjAgQU5EIGQ8MjguMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9S IChkPj0yNy4wIEFORCBkPDI4LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBhPTg2 Ci0gICAgICAgICBPUiAoZD49OTcuMCBBTkQgZDw5OC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAg ICAgT1IgKGQ+PTk3LjAgQU5EIGQ8OTguMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAgICAg ZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi40MTIuMT4KQEAgLTE1NTEwLDkgKzE1NTEwLDkg QEAgdGVzdDpkb190ZXN0KAogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAg ICBTRUxFQ1QgYSBGUk9NIHQzCiAgICAgICBXSEVSRSBiPTkwMgotICAgICAgICAgT1IgKGQ+PTI3 LjAgQU5EIGQ8MjguMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0yNy4wIEFORCBk PDI4LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBhPTg2Ci0gICAgICAgICBPUiAo ZD49OTcuMCBBTkQgZDw5OC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTk3LjAg QU5EIGQ8OTguMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAgICAgZW5kLCB7CiAgICAgICAg IC0tIDx3aGVyZTctMi40MTIuMj4KQEAgLTE1NTI1LDcgKzE1NTI1LDcgQEAgdGVzdDpkb190ZXN0 KAogICAgIGZ1bmN0aW9uKCkKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAg ICAgU0VMRUNUIGEgRlJPTSB0MgotICAgICAgV0hFUkUgKGQ+PTU2LjAgQU5EIGQ8NTcuMCBBTkQg ZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChkPj01Ni4wIEFORCBkPDU3LjAgQU5EIGQgSVMgTk9U IE5VTEwpCiAgICAgICAgICBPUiBhPTMyCiAgICAgICAgICBPUiAoZz0ncXBvbm1saycgQU5EIGYg R0xPQiAnbW5vcHEqJykKICAgICAgICAgIE9SIChnPSd4d3Z1dHNyJyBBTkQgZiBHTE9CICdlZmdo aSonKQpAQCAtMTU1NDIsNyArMTU1NDIsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24o KQogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9N IHQzCi0gICAgICBXSEVSRSAoZD49NTYuMCBBTkQgZDw1Ny4wIEFORCBkIE5PVCBOVUxMKQorICAg ICAgV0hFUkUgKGQ+PTU2LjAgQU5EIGQ8NTcuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAg IE9SIGE9MzIKICAgICAgICAgIE9SIChnPSdxcG9ubWxrJyBBTkQgZiBHTE9CICdtbm9wcSonKQog ICAgICAgICAgT1IgKGc9J3h3dnV0c3InIEFORCBmIEdMT0IgJ2VmZ2hpKicpCkBAIC0xNTU2Miw3 ICsxNTU2Miw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgIFdIRVJFIGI9MTY4CiAgICAgICAgICBP UiBjPTIwMDIKICAgICAgICAgIE9SIGI9NzcKLSAgICAgICAgIE9SIChkPj0yNy4wIEFORCBkPDI4 LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MjcuMCBBTkQgZDwyOC4wIEFORCBk IElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgZj0ncXJzdHV2d3h5JwogICBdXSkKICAgICBlbmQs IHsKQEAgLTE1NTc5LDcgKzE1NTc5LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgV0hFUkUgYj0x NjgKICAgICAgICAgIE9SIGM9MjAwMgogICAgICAgICAgT1IgYj03NwotICAgICAgICAgT1IgKGQ+ PTI3LjAgQU5EIGQ8MjguMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0yNy4wIEFO RCBkPDI4LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBmPSdxcnN0dXZ3eHknCiAg IF1dKQogICAgIGVuZCwgewpAQCAtMTU2NTEsNyArMTU2NTEsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAg ICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBT RUxFQ1QgYSBGUk9NIHQyCi0gICAgICBXSEVSRSAoZD49MzIuMCBBTkQgZDwzMy4wIEFORCBkIE5P VCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTMyLjAgQU5EIGQ8MzMuMCBBTkQgZCBJUyBOT1QgTlVM TCkKICAgICAgICAgIE9SIGE9MjcKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDU1IEFORCA1Nykg QU5EIGEhPTU2KQogICAgICAgICAgT1IgKGc9J3V0c3JxcG8nIEFORCBmIEdMT0IgJ3R1dnd4Kicp CkBAIC0xNTY2Nyw3ICsxNTY2Nyw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAg ICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDMK LSAgICAgIFdIRVJFIChkPj0zMi4wIEFORCBkPDMzLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBX SEVSRSAoZD49MzIuMCBBTkQgZDwzMy4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1Ig YT0yNwogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNTUgQU5EIDU3KSBBTkQgYSE9NTYpCiAgICAg ICAgICBPUiAoZz0ndXRzcnFwbycgQU5EIGYgR0xPQiAndHV2d3gqJykKQEAgLTE1NjgzLDcgKzE1 NjgzLDcgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAgICAgICAgcmV0dXJuIGNv dW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MgotICAgICAgV0hFUkUgKGQ+ PTc0LjAgQU5EIGQ8NzUuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChkPj03NC4wIEFO RCBkPDc1LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTc3CiAgIF1dKQogICAg IGVuZCwgewpAQCAtMTU2OTcsNyArMTU2OTcsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rp b24oKQogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBG Uk9NIHQzCi0gICAgICBXSEVSRSAoZD49NzQuMCBBTkQgZDw3NS4wIEFORCBkIE5PVCBOVUxMKQor ICAgICAgV0hFUkUgKGQ+PTc0LjAgQU5EIGQ8NzUuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAg ICAgIE9SIGI9NzcKICAgXV0pCiAgICAgZW5kLCB7CkBAIC0xNTcxOSw3ICsxNTcxOSw3IEBAIHRl c3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDU2IEFORCA1OCkgQU5EIGEhPTU3 KQogICAgICAgICAgT1IgYj01NjEKICAgICAgICAgIE9SIGI9MzUyCi0gICAgICAgICBPUiAoZD49 MzcuMCBBTkQgZDwzOC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTM3LjAgQU5E IGQ8MzguMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChnPSd1dHNycXBvJyBBTkQg ZiBHTE9CICdzdHV2dyonKQogICAgICAgICAgT1IgYT05NQogICBdXSkKQEAgLTE1NzQyLDcgKzE1 NzQyLDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNTYgQU5EIDU4 KSBBTkQgYSE9NTcpCiAgICAgICAgICBPUiBiPTU2MQogICAgICAgICAgT1IgYj0zNTIKLSAgICAg ICAgIE9SIChkPj0zNy4wIEFORCBkPDM4LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAo ZD49MzcuMCBBTkQgZDwzOC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKGc9J3V0 c3JxcG8nIEFORCBmIEdMT0IgJ3N0dXZ3KicpCiAgICAgICAgICBPUiBhPTk1CiAgIF1dKQpAQCAt MTU4MDMsOSArMTU4MDMsOSBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBhPTE3CiAgICAg ICAgICBPUiBmPSdqa2xtbm9wcXInCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA1IEFORCA3KSBB TkQgYSE9NikKLSAgICAgICAgIE9SIChkPj0zOS4wIEFORCBkPDQwLjAgQU5EIGQgTk9UIE5VTEwp CisgICAgICAgICBPUiAoZD49MzkuMCBBTkQgZDw0MC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAg ICAgICAgT1IgYT0yMwotICAgICAgICAgT1IgKGQ+PTI1LjAgQU5EIGQ8MjYuMCBBTkQgZCBOT1Qg TlVMTCkKKyAgICAgICAgIE9SIChkPj0yNS4wIEFORCBkPDI2LjAgQU5EIGQgSVMgTk9UIE5VTEwp CiAgIF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIuNDIxLjE+CkBAIC0xNTgy Miw5ICsxNTgyMiw5IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIGE9MTcKICAgICAgICAg IE9SIGY9J2prbG1ub3BxcicKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDUgQU5EIDcpIEFORCBh IT02KQotICAgICAgICAgT1IgKGQ+PTM5LjAgQU5EIGQ8NDAuMCBBTkQgZCBOT1QgTlVMTCkKKyAg ICAgICAgIE9SIChkPj0zOS4wIEFORCBkPDQwLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAg ICBPUiBhPTIzCi0gICAgICAgICBPUiAoZD49MjUuMCBBTkQgZDwyNi4wIEFORCBkIE5PVCBOVUxM KQorICAgICAgICAgT1IgKGQ+PTI1LjAgQU5EIGQ8MjYuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAg XV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi40MjEuMj4KQEAgLTE1ODM3LDcg KzE1ODM3LDcgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAgICAgICAgcmV0dXJu IGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MgotICAgICAgV0hFUkUg KGQ+PTc0LjAgQU5EIGQ8NzUuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChkPj03NC4w IEFORCBkPDc1LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTM2MwogICAgICAg ICAgT1IgYj00NTQKICAgXV0pCkBAIC0xNTg1Miw3ICsxNTg1Miw3IEBAIHRlc3Q6ZG9fdGVzdCgK ICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAg IFNFTEVDVCBhIEZST00gdDMKLSAgICAgIFdIRVJFIChkPj03NC4wIEFORCBkPDc1LjAgQU5EIGQg Tk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49NzQuMCBBTkQgZDw3NS4wIEFORCBkIElTIE5PVCBO VUxMKQogICAgICAgICAgT1IgYj0zNjMKICAgICAgICAgIE9SIGI9NDU0CiAgIF1dKQpAQCAtMTU5 NDMsNyArMTU5NDMsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBhPTc4CiAgICAgICAg ICBPUiBmPSdlZmdoaWprbG0nCiAgICAgICAgICBPUiAoZz0ncnFwb25tbCcgQU5EIGYgR0xPQiAn bG1ub3AqJykKLSAgICAgICAgIE9SIChkPj04NS4wIEFORCBkPDg2LjAgQU5EIGQgTk9UIE5VTEwp CisgICAgICAgICBPUiAoZD49ODUuMCBBTkQgZDw4Ni4wIEFORCBkIElTIE5PVCBOVUxMKQogICBd XSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjQyNS4xPgpAQCAtMTU5NjYsNyAr MTU5NjYsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBhPTc4CiAgICAgICAgICBPUiBm PSdlZmdoaWprbG0nCiAgICAgICAgICBPUiAoZz0ncnFwb25tbCcgQU5EIGYgR0xPQiAnbG1ub3Aq JykKLSAgICAgICAgIE9SIChkPj04NS4wIEFORCBkPDg2LjAgQU5EIGQgTk9UIE5VTEwpCisgICAg ICAgICBPUiAoZD49ODUuMCBBTkQgZDw4Ni4wIEFORCBkIElTIE5PVCBOVUxMKQogICBdXSkKICAg ICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjQyNS4yPgpAQCAtMTU5ODAsNyArMTU5ODAs NyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAg ICAgIFNFTEVDVCBhIEZST00gdDIKICAgICAgIFdIRVJFIGI9MTk4Ci0gICAgICAgICBPUiAoZD49 OTQuMCBBTkQgZDw5NS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTk0LjAgQU5E IGQ8OTUuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9Mzg4CiAgIF1dKQogICAg IGVuZCwgewpAQCAtMTU5OTUsNyArMTU5OTUsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgIHJl dHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDMKICAgICAgIFdI RVJFIGI9MTk4Ci0gICAgICAgICBPUiAoZD49OTQuMCBBTkQgZDw5NS4wIEFORCBkIE5PVCBOVUxM KQorICAgICAgICAgT1IgKGQ+PTk0LjAgQU5EIGQ8OTUuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAg ICAgICAgIE9SIGI9Mzg4CiAgIF1dKQogICAgIGVuZCwgewpAQCAtMTYwNDksNyArMTYwNDksNyBA QCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291bnRfc3Rl cHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCi0gICAgICBXSEVSRSAoZD49ODEuMCBB TkQgZDw4Mi4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTgxLjAgQU5EIGQ8ODIu MCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGE9NTYKICAgICAgICAgIE9SIChnPSdo Z2ZlZGNiJyBBTkQgZiBHTE9CICdnaGlqayonKQogICBdXSkKQEAgLTE2MDY0LDcgKzE2MDY0LDcg QEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAgICAgICAgcmV0dXJuIGNvdW50X3N0 ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MwotICAgICAgV0hFUkUgKGQ+PTgxLjAg QU5EIGQ8ODIuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChkPj04MS4wIEFORCBkPDgy LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBhPTU2CiAgICAgICAgICBPUiAoZz0n aGdmZWRjYicgQU5EIGYgR0xPQiAnZ2hpamsqJykKICAgXV0pCkBAIC0xNjA4MSw3ICsxNjA4MSw3 IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgU0VMRUNUIGEgRlJPTSB0MgogICAgICAgV0hFUkUgYz49 MzQwMzUKICAgICAgICAgIE9SIGI9MTY4Ci0gICAgICAgICBPUiAoZD49ODkuMCBBTkQgZDw5MC4w IEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTg5LjAgQU5EIGQ8OTAuMCBBTkQgZCBJ UyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChmIEdMT0IgJz9jZGVmKicgQU5EIGYgR0xPQiAnYmNk ZSonKQogICBdXSkKICAgICBlbmQsIHsKQEAgLTE2MDk3LDcgKzE2MDk3LDcgQEAgdGVzdDpkb190 ZXN0KAogICAgICBTRUxFQ1QgYSBGUk9NIHQzCiAgICAgICBXSEVSRSBjPj0zNDAzNQogICAgICAg ICAgT1IgYj0xNjgKLSAgICAgICAgIE9SIChkPj04OS4wIEFORCBkPDkwLjAgQU5EIGQgTk9UIE5V TEwpCisgICAgICAgICBPUiAoZD49ODkuMCBBTkQgZDw5MC4wIEFORCBkIElTIE5PVCBOVUxMKQog ICAgICAgICAgT1IgKGYgR0xPQiAnP2NkZWYqJyBBTkQgZiBHTE9CICdiY2RlKicpCiAgIF1dKQog ICAgIGVuZCwgewpAQCAtMTYxNDMsNyArMTYxNDMsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVu Y3Rpb24oKQogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1Qg YSBGUk9NIHQyCi0gICAgICBXSEVSRSAoZD49MjkuMCBBTkQgZDwzMC4wIEFORCBkIE5PVCBOVUxM KQorICAgICAgV0hFUkUgKGQ+PTI5LjAgQU5EIGQ8MzAuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAg ICAgICAgIE9SIChnPSdxcG9ubWxrJyBBTkQgZiBHTE9CICdvcHFycyonKQogICAgICAgICAgT1Ig Zj0ncnN0dXZ3eHl6JwogICAgICAgICAgT1IgKGc9J3Fwb25tbGsnIEFORCBmIEdMT0IgJ25vcHFy KicpCkBAIC0xNjE1OSw3ICsxNjE1OSw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigp CiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00g dDMKLSAgICAgIFdIRVJFIChkPj0yOS4wIEFORCBkPDMwLjAgQU5EIGQgTk9UIE5VTEwpCisgICAg ICBXSEVSRSAoZD49MjkuMCBBTkQgZDwzMC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAg T1IgKGc9J3Fwb25tbGsnIEFORCBmIEdMT0IgJ29wcXJzKicpCiAgICAgICAgICBPUiBmPSdyc3R1 dnd4eXonCiAgICAgICAgICBPUiAoZz0ncXBvbm1saycgQU5EIGYgR0xPQiAnbm9wcXIqJykKQEAg LTE2MTc3LDcgKzE2MTc3LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICBTRUxFQ1QgYSBGUk9NIHQy CiAgICAgICBXSEVSRSBiPTU4CiAgICAgICAgICBPUiBiPTQ4NAotICAgICAgICAgT1IgKGQ+PTY4 LjAgQU5EIGQ8NjkuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj02OC4wIEFORCBk PDY5LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTY3MQogICAgICAgICAgT1Ig YT02OQogICBdXSkKQEAgLTE2MTk0LDcgKzE2MTk0LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICBT RUxFQ1QgYSBGUk9NIHQzCiAgICAgICBXSEVSRSBiPTU4CiAgICAgICAgICBPUiBiPTQ4NAotICAg ICAgICAgT1IgKGQ+PTY4LjAgQU5EIGQ8NjkuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9S IChkPj02OC4wIEFORCBkPDY5LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTY3 MQogICAgICAgICAgT1IgYT02OQogICBdXSkKQEAgLTE2MjEwLDcgKzE2MjEwLDcgQEAgdGVzdDpk b190ZXN0KAogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1Qg YSBGUk9NIHQyCiAgICAgICBXSEVSRSBmPSdtbm9wcXJzdHUnCi0gICAgICAgICBPUiAoZD49NzMu MCBBTkQgZDw3NC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTczLjAgQU5EIGQ8 NzQuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9ODYxCiAgICAgICAgICBPUiBi PTc3CiAgICAgICAgICBPUiBmPSdxcnN0dXZ3eHknCkBAIC0xNjIyNyw3ICsxNjIyNyw3IEBAIHRl c3Q6ZG9fdGVzdCgKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VM RUNUIGEgRlJPTSB0MwogICAgICAgV0hFUkUgZj0nbW5vcHFyc3R1JwotICAgICAgICAgT1IgKGQ+ PTczLjAgQU5EIGQ8NzQuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj03My4wIEFO RCBkPDc0LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTg2MQogICAgICAgICAg T1IgYj03NwogICAgICAgICAgT1IgZj0ncXJzdHV2d3h5JwpAQCAtMTYyNDQsMTIgKzE2MjQ0LDEy IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAg ICAgU0VMRUNUIGEgRlJPTSB0MgogICAgICAgV0hFUkUgYj0xMTMKLSAgICAgICAgIE9SIChkPj01 MS4wIEFORCBkPDUyLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NTEuMCBBTkQg ZDw1Mi4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj0xMTMKICAgICAgICAgIE9S IChnPSd4d3Z1dHNyJyBBTkQgZiBHTE9CICdlZmdoaSonKQogICAgICAgICAgT1IgKChhIEJFVFdF RU4gNjIgQU5EIDY0KSBBTkQgYSE9NjMpCiAgICAgICAgICBPUiBjPTYwMDYKLSAgICAgICAgIE9S IChkPj0xNC4wIEFORCBkPDE1LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MTQu MCBBTkQgZDwxNS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj05NDYKICAgICAg ICAgIE9SIGE9ODYKICAgXV0pCkBAIC0xNjI2NSwxMiArMTYyNjUsMTIgQEAgdGVzdDpkb190ZXN0 KAogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9N IHQzCiAgICAgICBXSEVSRSBiPTExMwotICAgICAgICAgT1IgKGQ+PTUxLjAgQU5EIGQ8NTIuMCBB TkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj01MS4wIEFORCBkPDUyLjAgQU5EIGQgSVMg Tk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTExMwogICAgICAgICAgT1IgKGc9J3h3dnV0c3InIEFO RCBmIEdMT0IgJ2VmZ2hpKicpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA2MiBBTkQgNjQpIEFO RCBhIT02MykKICAgICAgICAgIE9SIGM9NjAwNgotICAgICAgICAgT1IgKGQ+PTE0LjAgQU5EIGQ8 MTUuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0xNC4wIEFORCBkPDE1LjAgQU5E IGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTk0NgogICAgICAgICAgT1IgYT04NgogICBd XSkKQEAgLTE2Mjg5LDcgKzE2Mjg5LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgKChh IEJFVFdFRU4gOCBBTkQgMTApIEFORCBhIT05KQogICAgICAgICAgT1IgYz0yMjAyMgogICAgICAg ICAgT1IgKChhIEJFVFdFRU4gNzkgQU5EIDgxKSBBTkQgYSE9ODApCi0gICAgICAgICBPUiAoZD49 NzkuMCBBTkQgZDw4MC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTc5LjAgQU5E IGQ8ODAuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGM9MjUwMjUKICAgXV0pCiAg ICAgZW5kLCB7CkBAIC0xNjMwNyw3ICsxNjMwNyw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAg IE9SICgoYSBCRVRXRUVOIDggQU5EIDEwKSBBTkQgYSE9OSkKICAgICAgICAgIE9SIGM9MjIwMjIK ICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDc5IEFORCA4MSkgQU5EIGEhPTgwKQotICAgICAgICAg T1IgKGQ+PTc5LjAgQU5EIGQ8ODAuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj03 OS4wIEFORCBkPDgwLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBjPTI1MDI1CiAg IF1dKQogICAgIGVuZCwgewpAQCAtMTYzNzAsNyArMTYzNzAsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAg ICAgICBXSEVSRSAoZz0na2ppaGdmZScgQU5EIGYgR0xPQiAndXZ3eHkqJykKICAgICAgICAgIE9S IGE9MTMKICAgICAgICAgIE9SIChnPSdmZWRjYmF6JyBBTkQgZiBHTE9CICdxcnN0dSonKQotICAg ICAgICAgT1IgKGQ+PTY2LjAgQU5EIGQ8NjcuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9S IChkPj02Ni4wIEFORCBkPDY3LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoZz0n eHd2dXRzcicgQU5EIGYgR0xPQiAnZ2hpamsqJykKICAgICAgICAgIE9SIGM9MjkwMjkKICAgICAg ICAgIE9SIGI9MzExCkBAIC0xNjM5Miw3ICsxNjM5Miw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAg IFdIRVJFIChnPSdramloZ2ZlJyBBTkQgZiBHTE9CICd1dnd4eSonKQogICAgICAgICAgT1IgYT0x MwogICAgICAgICAgT1IgKGc9J2ZlZGNiYXonIEFORCBmIEdMT0IgJ3Fyc3R1KicpCi0gICAgICAg ICBPUiAoZD49NjYuMCBBTkQgZDw2Ny4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+ PTY2LjAgQU5EIGQ8NjcuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChnPSd4d3Z1 dHNyJyBBTkQgZiBHTE9CICdnaGlqayonKQogICAgICAgICAgT1IgYz0yOTAyOQogICAgICAgICAg T1IgYj0zMTEKQEAgLTE2NDE1LDkgKzE2NDE1LDkgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICAg T1IgYT05NgogICAgICAgICAgT1IgYT0yMgogICAgICAgICAgT1IgYj0zNDEKLSAgICAgICAgIE9S IChkPj0yNS4wIEFORCBkPDI2LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MjUu MCBBTkQgZDwyNi4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj04NzIKLSAgICAg ICAgIE9SIChkPj0yLjAgQU5EIGQ8My4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+ PTIuMCBBTkQgZDwzLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoKGEgQkVUV0VF TiAyNSBBTkQgMjcpIEFORCBhIT0yNikKICAgXV0pCiAgICAgZW5kLCB7CkBAIC0xNjQzNSw5ICsx NjQzNSw5IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIGE9OTYKICAgICAgICAgIE9SIGE9 MjIKICAgICAgICAgIE9SIGI9MzQxCi0gICAgICAgICBPUiAoZD49MjUuMCBBTkQgZDwyNi4wIEFO RCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTI1LjAgQU5EIGQ8MjYuMCBBTkQgZCBJUyBO T1QgTlVMTCkKICAgICAgICAgIE9SIGI9ODcyCi0gICAgICAgICBPUiAoZD49Mi4wIEFORCBkPDMu MCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0yLjAgQU5EIGQ8My4wIEFORCBkIElT IE5PVCBOVUxMKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMjUgQU5EIDI3KSBBTkQgYSE9MjYp CiAgIF1dKQogICAgIGVuZCwgewpAQCAtMTY0NTEsMTAgKzE2NDUxLDEwIEBAIHRlc3Q6ZG9fdGVz dCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAg ICAgIFNFTEVDVCBhIEZST00gdDIKLSAgICAgIFdIRVJFIChkPj04Mi4wIEFORCBkPDgzLjAgQU5E IGQgTk9UIE5VTEwpCi0gICAgICAgICBPUiAoZD49MzYuMCBBTkQgZDwzNy4wIEFORCBkIE5PVCBO VUxMKQorICAgICAgV0hFUkUgKGQ+PTgyLjAgQU5EIGQ8ODMuMCBBTkQgZCBJUyBOT1QgTlVMTCkK KyAgICAgICAgIE9SIChkPj0zNi4wIEFORCBkPDM3LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAg ICAgICBPUiAoZz0ndHNycXBvbicgQU5EIGYgR0xPQiAneHl6YWIqJykKLSAgICAgICAgIE9SIChk Pj0zNi4wIEFORCBkPDM3LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MzYuMCBB TkQgZDwzNy4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNjMg QU5EIDY1KSBBTkQgYSE9NjQpCiAgICAgICAgICBPUiBhPTQxCiAgICAgICAgICBPUiAoZz0neHd2 dXRzcicgQU5EIGYgR0xPQiAnZ2hpamsqJykKQEAgLTE2NDcyLDEwICsxNjQ3MiwxMCBAQCB0ZXN0 OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29y dChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQzCi0gICAgICBXSEVSRSAoZD49ODIuMCBBTkQgZDw4 My4wIEFORCBkIE5PVCBOVUxMKQotICAgICAgICAgT1IgKGQ+PTM2LjAgQU5EIGQ8MzcuMCBBTkQg ZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChkPj04Mi4wIEFORCBkPDgzLjAgQU5EIGQgSVMgTk9U IE5VTEwpCisgICAgICAgICBPUiAoZD49MzYuMCBBTkQgZDwzNy4wIEFORCBkIElTIE5PVCBOVUxM KQogICAgICAgICAgT1IgKGc9J3RzcnFwb24nIEFORCBmIEdMT0IgJ3h5emFiKicpCi0gICAgICAg ICBPUiAoZD49MzYuMCBBTkQgZDwzNy4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+ PTM2LjAgQU5EIGQ8MzcuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SICgoYSBCRVRX RUVOIDYzIEFORCA2NSkgQU5EIGEhPTY0KQogICAgICAgICAgT1IgYT00MQogICAgICAgICAgT1Ig KGc9J3h3dnV0c3InIEFORCBmIEdMT0IgJ2doaWprKicpCkBAIC0xNjUyMSw4ICsxNjUyMSw4IEBA IHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVw c19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIKLSAgICAgIFdIRVJFIChkPj00NC4wIEFO RCBkPDQ1LjAgQU5EIGQgTk9UIE5VTEwpCi0gICAgICAgICBPUiAoZD49MjEuMCBBTkQgZDwyMi4w IEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTQ0LjAgQU5EIGQ8NDUuMCBBTkQgZCBJ UyBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0yMS4wIEFORCBkPDIyLjAgQU5EIGQgSVMgTk9U IE5VTEwpCiAgICAgICAgICBPUiBiPTQ4NAogICBdXSkKICAgICBlbmQsIHsKQEAgLTE2NTM2LDgg KzE2NTM2LDggQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAgICAgICAgcmV0dXJu IGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MwotICAgICAgV0hFUkUg KGQ+PTQ0LjAgQU5EIGQ8NDUuMCBBTkQgZCBOT1QgTlVMTCkKLSAgICAgICAgIE9SIChkPj0yMS4w IEFORCBkPDIyLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49NDQuMCBBTkQgZDw0 NS4wIEFORCBkIElTIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTIxLjAgQU5EIGQ8MjIuMCBB TkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9NDg0CiAgIF1dKQogICAgIGVuZCwgewpA QCAtMTY1NTEsMTQgKzE2NTUxLDE0IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAg ICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIK LSAgICAgIFdIRVJFIChkPj0yMi4wIEFORCBkPDIzLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBX SEVSRSAoZD49MjIuMCBBTkQgZDwyMy4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1Ig Yj0zNzcKICAgICAgICAgIE9SIGI9MzYzCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA1NSBBTkQg NTcpIEFORCBhIT01NikKICAgICAgICAgIE9SIGI9NzM3Ci0gICAgICAgICBPUiAoZD49MTAwLjAg QU5EIGQ8MTAxLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MTAwLjAgQU5EIGQ8 MTAxLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTUwNgotICAgICAgICAgT1Ig KGQ+PTI1LjAgQU5EIGQ8MjYuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0yNS4w IEFORCBkPDI2LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBhPTE2CiAgIF1dKQog ICAgIGVuZCwgewpAQCAtMTY1NzIsMTQgKzE2NTcyLDE0IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBm dW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVD VCBhIEZST00gdDMKLSAgICAgIFdIRVJFIChkPj0yMi4wIEFORCBkPDIzLjAgQU5EIGQgTk9UIE5V TEwpCisgICAgICBXSEVSRSAoZD49MjIuMCBBTkQgZDwyMy4wIEFORCBkIElTIE5PVCBOVUxMKQog ICAgICAgICAgT1IgYj0zNzcKICAgICAgICAgIE9SIGI9MzYzCiAgICAgICAgICBPUiAoKGEgQkVU V0VFTiA1NSBBTkQgNTcpIEFORCBhIT01NikKICAgICAgICAgIE9SIGI9NzM3Ci0gICAgICAgICBP UiAoZD49MTAwLjAgQU5EIGQ8MTAxLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49 MTAwLjAgQU5EIGQ8MTAxLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTUwNgot ICAgICAgICAgT1IgKGQ+PTI1LjAgQU5EIGQ8MjYuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAg IE9SIChkPj0yNS4wIEFORCBkPDI2LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBh PTE2CiAgIF1dKQogICAgIGVuZCwgewpAQCAtMTY1OTYsNyArMTY1OTYsNyBAQCB0ZXN0OmRvX3Rl c3QoCiAgICAgICBXSEVSRSAoZz0namloZ2ZlZCcgQU5EIGYgR0xPQiAnemFiY2QqJykKICAgICAg ICAgIE9SIGI9MTAyCiAgICAgICAgICBPUiBiPTIxMgotICAgICAgICAgT1IgKGQ+PTM3LjAgQU5E IGQ8MzguMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0zNy4wIEFORCBkPDM4LjAg QU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTQ4NwogICAgICAgICAgT1IgKGc9J2lo Z2ZlZGMnIEFORCBmIEdMT0IgJ2VmZ2hpKicpCiAgIF1dKQpAQCAtMTY2MTQsNyArMTY2MTQsNyBA QCB0ZXN0OmRvX3Rlc3QoCiAgICAgICBXSEVSRSAoZz0namloZ2ZlZCcgQU5EIGYgR0xPQiAnemFi Y2QqJykKICAgICAgICAgIE9SIGI9MTAyCiAgICAgICAgICBPUiBiPTIxMgotICAgICAgICAgT1Ig KGQ+PTM3LjAgQU5EIGQ8MzguMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0zNy4w IEFORCBkPDM4LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTQ4NwogICAgICAg ICAgT1IgKGc9J2loZ2ZlZGMnIEFORCBmIEdMT0IgJ2VmZ2hpKicpCiAgIF1dKQpAQCAtMTY2NjMs NyArMTY2NjMsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA1OCBB TkQgNjApIEFORCBhIT01OSkKICAgICAgICAgIE9SIChmIEdMT0IgJz93eHl6KicgQU5EIGYgR0xP QiAndnd4eSonKQogICAgICAgICAgT1IgYj05NTcKLSAgICAgICAgIE9SIChkPj00Mi4wIEFORCBk PDQzLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NDIuMCBBTkQgZDw0My4wIEFO RCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYT02NwogICAgICAgICAgT1IgYT03MgogICBd XSkKQEAgLTE2NjgyLDcgKzE2NjgyLDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgKChh IEJFVFdFRU4gNTggQU5EIDYwKSBBTkQgYSE9NTkpCiAgICAgICAgICBPUiAoZiBHTE9CICc/d3h5 eionIEFORCBmIEdMT0IgJ3Z3eHkqJykKICAgICAgICAgIE9SIGI9OTU3Ci0gICAgICAgICBPUiAo ZD49NDIuMCBBTkQgZDw0My4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTQyLjAg QU5EIGQ8NDMuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGE9NjcKICAgICAgICAg IE9SIGE9NzIKICAgXV0pCkBAIC0xNjcwNyw3ICsxNjcwNyw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAg ICAgICAgIE9SIGY9J2doaWprbG1ubycKICAgICAgICAgIE9SIChnPSdlZGNiYXp5JyBBTkQgZiBH TE9CICd3eHl6YSonKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gOTAgQU5EIDkyKSBBTkQgYSE9 OTEpCi0gICAgICAgICBPUiAoZD49OTcuMCBBTkQgZDw5OC4wIEFORCBkIE5PVCBOVUxMKQorICAg ICAgICAgT1IgKGQ+PTk3LjAgQU5EIGQ8OTguMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAg ICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi40NDYuMT4KQEAgLTE2NzMwLDcgKzE2NzMw LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgZj0nZ2hpamtsbW5vJwogICAgICAgICAg T1IgKGc9J2VkY2JhenknIEFORCBmIEdMT0IgJ3d4eXphKicpCiAgICAgICAgICBPUiAoKGEgQkVU V0VFTiA5MCBBTkQgOTIpIEFORCBhIT05MSkKLSAgICAgICAgIE9SIChkPj05Ny4wIEFORCBkPDk4 LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49OTcuMCBBTkQgZDw5OC4wIEFORCBk IElTIE5PVCBOVUxMKQogICBdXSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjQ0 Ni4yPgpAQCAtMTY4MTEsMTEgKzE2ODExLDExIEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgU0VMRUNU IGEgRlJPTSB0MgogICAgICAgV0hFUkUgYj04OTEKICAgICAgICAgIE9SIGI9ODA2Ci0gICAgICAg ICBPUiAoZD49MTkuMCBBTkQgZDwyMC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+ PTE5LjAgQU5EIGQ8MjAuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SICgoYSBCRVRX RUVOIDg1IEFORCA4NykgQU5EIGEhPTg2KQogICAgICAgICAgT1IgYj04NjEKICAgICAgICAgIE9S ICgoYSBCRVRXRUVOIDgyIEFORCA4NCkgQU5EIGEhPTgzKQotICAgICAgICAgT1IgKGQ+PTM0LjAg QU5EIGQ8MzUuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0zNC4wIEFORCBkPDM1 LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8d2hl cmU3LTIuNDQ5LjE+CkBAIC0xNjgzMCwxMSArMTY4MzAsMTEgQEAgdGVzdDpkb190ZXN0KAogICAg ICBTRUxFQ1QgYSBGUk9NIHQzCiAgICAgICBXSEVSRSBiPTg5MQogICAgICAgICAgT1IgYj04MDYK LSAgICAgICAgIE9SIChkPj0xOS4wIEFORCBkPDIwLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAg ICBPUiAoZD49MTkuMCBBTkQgZDwyMC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1Ig KChhIEJFVFdFRU4gODUgQU5EIDg3KSBBTkQgYSE9ODYpCiAgICAgICAgICBPUiBiPTg2MQogICAg ICAgICAgT1IgKChhIEJFVFdFRU4gODIgQU5EIDg0KSBBTkQgYSE9ODMpCi0gICAgICAgICBPUiAo ZD49MzQuMCBBTkQgZDwzNS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTM0LjAg QU5EIGQ8MzUuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAgICAgZW5kLCB7CiAgICAgICAg IC0tIDx3aGVyZTctMi40NDkuMj4KQEAgLTE2OTgyLDkgKzE2OTgyLDkgQEAgdGVzdDpkb190ZXN0 KAogICAgICAgICAgT1IgYj01NTAKICAgICAgICAgIE9SIGI9MTA1OQogICAgICAgICAgT1IgKGc9 J2hnZmVkY2InIEFORCBmIEdMT0IgJ2doaWprKicpCi0gICAgICAgICBPUiAoZD49NzguMCBBTkQg ZDw3OS4wIEFORCBkIE5PVCBOVUxMKQotICAgICAgICAgT1IgKGQ+PTE4LjAgQU5EIGQ8MTkuMCBB TkQgZCBOT1QgTlVMTCkKLSAgICAgICAgIE9SIChkPj05Mi4wIEFORCBkPDkzLjAgQU5EIGQgTk9U IE5VTEwpCisgICAgICAgICBPUiAoZD49NzguMCBBTkQgZDw3OS4wIEFORCBkIElTIE5PVCBOVUxM KQorICAgICAgICAgT1IgKGQ+PTE4LjAgQU5EIGQ8MTkuMCBBTkQgZCBJUyBOT1QgTlVMTCkKKyAg ICAgICAgIE9SIChkPj05Mi4wIEFORCBkPDkzLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAg ICBPUiBiPTczNwogICBdXSkKICAgICBlbmQsIHsKQEAgLTE3MDA1LDkgKzE3MDA1LDkgQEAgdGVz dDpkb190ZXN0KAogICAgICAgICAgT1IgYj01NTAKICAgICAgICAgIE9SIGI9MTA1OQogICAgICAg ICAgT1IgKGc9J2hnZmVkY2InIEFORCBmIEdMT0IgJ2doaWprKicpCi0gICAgICAgICBPUiAoZD49 NzguMCBBTkQgZDw3OS4wIEFORCBkIE5PVCBOVUxMKQotICAgICAgICAgT1IgKGQ+PTE4LjAgQU5E IGQ8MTkuMCBBTkQgZCBOT1QgTlVMTCkKLSAgICAgICAgIE9SIChkPj05Mi4wIEFORCBkPDkzLjAg QU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NzguMCBBTkQgZDw3OS4wIEFORCBkIElT IE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTE4LjAgQU5EIGQ8MTkuMCBBTkQgZCBJUyBOT1Qg TlVMTCkKKyAgICAgICAgIE9SIChkPj05Mi4wIEFORCBkPDkzLjAgQU5EIGQgSVMgTk9UIE5VTEwp CiAgICAgICAgICBPUiBiPTczNwogICBdXSkKICAgICBlbmQsIHsKQEAgLTE3MTAzLDEzICsxNzEw MywxMyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291 bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCi0gICAgICBXSEVSRSAoZD49 ODQuMCBBTkQgZDw4NS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTg0LjAgQU5E IGQ8ODUuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChmIEdMT0IgJz93eHl6Kicg QU5EIGYgR0xPQiAndnd4eSonKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNSBBTkQgNykgQU5E IGEhPTYpCi0gICAgICAgICBPUiAoZD49NTQuMCBBTkQgZDw1NS4wIEFORCBkIE5PVCBOVUxMKQor ICAgICAgICAgT1IgKGQ+PTU0LjAgQU5EIGQ8NTUuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAg ICAgIE9SIGI9MTA3OAogICAgICAgICAgT1IgYj0xOTgKLSAgICAgICAgIE9SIChkPj02Ny4wIEFO RCBkPDY4LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NjcuMCBBTkQgZDw2OC4w IEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj01NQogICAgICAgICAgT1IgYj01MTcK ICAgICAgICAgIE9SIGI9NzQwCkBAIC0xNzEyNSwxMyArMTcxMjUsMTMgQEAgdGVzdDpkb190ZXN0 KAogICAgIGZ1bmN0aW9uKCkKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAg ICAgU0VMRUNUIGEgRlJPTSB0MwotICAgICAgV0hFUkUgKGQ+PTg0LjAgQU5EIGQ8ODUuMCBBTkQg ZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChkPj04NC4wIEFORCBkPDg1LjAgQU5EIGQgSVMgTk9U IE5VTEwpCiAgICAgICAgICBPUiAoZiBHTE9CICc/d3h5eionIEFORCBmIEdMT0IgJ3Z3eHkqJykK ICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDUgQU5EIDcpIEFORCBhIT02KQotICAgICAgICAgT1Ig KGQ+PTU0LjAgQU5EIGQ8NTUuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj01NC4w IEFORCBkPDU1LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTEwNzgKICAgICAg ICAgIE9SIGI9MTk4Ci0gICAgICAgICBPUiAoZD49NjcuMCBBTkQgZDw2OC4wIEFORCBkIE5PVCBO VUxMKQorICAgICAgICAgT1IgKGQ+PTY3LjAgQU5EIGQ8NjguMCBBTkQgZCBJUyBOT1QgTlVMTCkK ICAgICAgICAgIE9SIGI9NTUKICAgICAgICAgIE9SIGI9NTE3CiAgICAgICAgICBPUiBiPTc0MApA QCAtMTcxNTAsNyArMTcxNTAsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICBXSEVSRSAoZz0nd3Z1 dHNycScgQU5EIGYgR0xPQiAnaWprbG0qJykKICAgICAgICAgIE9SIGM9MjUwMjUKICAgICAgICAg IE9SIGI9NTUwCi0gICAgICAgICBPUiAoZD49MjIuMCBBTkQgZDwyMy4wIEFORCBkIE5PVCBOVUxM KQorICAgICAgICAgT1IgKGQ+PTIyLjAgQU5EIGQ8MjMuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAg ICAgICAgIE9SIChnPSdubWxramloJyBBTkQgZiBHTE9CICdiY2RlZionKQogICBdXSkKICAgICBl bmQsIHsKQEAgLTE3MTY3LDcgKzE3MTY3LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgV0hFUkUg KGc9J3d2dXRzcnEnIEFORCBmIEdMT0IgJ2lqa2xtKicpCiAgICAgICAgICBPUiBjPTI1MDI1CiAg ICAgICAgICBPUiBiPTU1MAotICAgICAgICAgT1IgKGQ+PTIyLjAgQU5EIGQ8MjMuMCBBTkQgZCBO T1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0yMi4wIEFORCBkPDIzLjAgQU5EIGQgSVMgTk9UIE5V TEwpCiAgICAgICAgICBPUiAoZz0nbm1sa2ppaCcgQU5EIGYgR0xPQiAnYmNkZWYqJykKICAgXV0p CiAgICAgZW5kLCB7CkBAIC0xNzIxNiw5ICsxNzIxNiw5IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAg ICAgIE9SIChmIEdMT0IgJz9tbm9wKicgQU5EIGYgR0xPQiAnbG1ubyonKQogICAgICAgICAgT1Ig Yj01ODMKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDYzIEFORCA2NSkgQU5EIGEhPTY0KQotICAg ICAgICAgT1IgKGQ+PTI2LjAgQU5EIGQ8MjcuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9S IChkPj0yNi4wIEFORCBkPDI3LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoKGEg QkVUV0VFTiA0MCBBTkQgNDIpIEFORCBhIT00MSkKLSAgICAgICAgIE9SIChkPj03NS4wIEFORCBk PDc2LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NzUuMCBBTkQgZDw3Ni4wIEFO RCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj05MzgKICAgXV0pCiAgICAgZW5kLCB7CkBA IC0xNzIzNyw5ICsxNzIzNyw5IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIChmIEdMT0Ig Jz9tbm9wKicgQU5EIGYgR0xPQiAnbG1ubyonKQogICAgICAgICAgT1IgYj01ODMKICAgICAgICAg IE9SICgoYSBCRVRXRUVOIDYzIEFORCA2NSkgQU5EIGEhPTY0KQotICAgICAgICAgT1IgKGQ+PTI2 LjAgQU5EIGQ8MjcuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0yNi4wIEFORCBk PDI3LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA0MCBBTkQg NDIpIEFORCBhIT00MSkKLSAgICAgICAgIE9SIChkPj03NS4wIEFORCBkPDc2LjAgQU5EIGQgTk9U IE5VTEwpCisgICAgICAgICBPUiAoZD49NzUuMCBBTkQgZDw3Ni4wIEFORCBkIElTIE5PVCBOVUxM KQogICAgICAgICAgT1IgYj05MzgKICAgXV0pCiAgICAgZW5kLCB7CkBAIC0xNzI1NSw3ICsxNzI1 NSw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgU0VMRUNUIGEgRlJPTSB0MgogICAgICAgV0hFUkUg Yj02NzEKICAgICAgICAgIE9SIGE9NTYKLSAgICAgICAgIE9SIChkPj00OS4wIEFORCBkPDUwLjAg QU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NDkuMCBBTkQgZDw1MC4wIEFORCBkIElT IE5PVCBOVUxMKQogICAgICAgICAgT1IgYj0xNTcKICAgICAgICAgIE9SIGE9ODMKICAgICAgICAg IE9SICgoYSBCRVRXRUVOIDczIEFORCA3NSkgQU5EIGEhPTc0KQpAQCAtMTcyNzgsNyArMTcyNzgs NyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgIFNFTEVDVCBhIEZST00gdDMKICAgICAgIFdIRVJFIGI9 NjcxCiAgICAgICAgICBPUiBhPTU2Ci0gICAgICAgICBPUiAoZD49NDkuMCBBTkQgZDw1MC4wIEFO RCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTQ5LjAgQU5EIGQ8NTAuMCBBTkQgZCBJUyBO T1QgTlVMTCkKICAgICAgICAgIE9SIGI9MTU3CiAgICAgICAgICBPUiBhPTgzCiAgICAgICAgICBP UiAoKGEgQkVUV0VFTiA3MyBBTkQgNzUpIEFORCBhIT03NCkKQEAgLTE3MzM1LDcgKzE3MzM1LDcg QEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgYT0zNAogICAgICAgICAgT1IgZj0namtsbW5v cHFyJwogICAgICAgICAgT1IgYT04MgotICAgICAgICAgT1IgKGQ+PTE2LjAgQU5EIGQ8MTcuMCBB TkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0xNi4wIEFORCBkPDE3LjAgQU5EIGQgSVMg Tk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTQ1NAogICAgICAgICAgT1IgYj0zNTUKICAgICAgICAg IE9SIGM9MjEwMjEKQEAgLTE3MzU3LDcgKzE3MzU3LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAg ICAgT1IgYT0zNAogICAgICAgICAgT1IgZj0namtsbW5vcHFyJwogICAgICAgICAgT1IgYT04Mgot ICAgICAgICAgT1IgKGQ+PTE2LjAgQU5EIGQ8MTcuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAg IE9SIChkPj0xNi4wIEFORCBkPDE3LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBi PTQ1NAogICAgICAgICAgT1IgYj0zNTUKICAgICAgICAgIE9SIGM9MjEwMjEKQEAgLTE3Mzc3LDEy ICsxNzM3NywxMiBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgIFNFTEVDVCBhIEZST00gdDIKICAgICAg IFdIRVJFICgoYSBCRVRXRUVOIDQ0IEFORCA0NikgQU5EIGEhPTQ1KQogICAgICAgICAgT1IgYT01 MwotICAgICAgICAgT1IgKGQ+PTIzLjAgQU5EIGQ8MjQuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAg ICAgIE9SIChkPj0yMy4wIEFORCBkPDI0LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBP UiAoZz0ncG9ubWxraicgQU5EIGYgR0xPQiAndXZ3eHkqJykKICAgICAgICAgIE9SIGI9NTk0CiAg ICAgICAgICBPUiBiPTgwCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiAxOCBBTkQgMjApIEFORCBh IT0xOSkKLSAgICAgICAgIE9SIChkPj00OS4wIEFORCBkPDUwLjAgQU5EIGQgTk9UIE5VTEwpCisg ICAgICAgICBPUiAoZD49NDkuMCBBTkQgZDw1MC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAg ICAgT1IgZD4xZTEwCiAgIF1dKQogICAgIGVuZCwgewpAQCAtMTczOTgsMTIgKzE3Mzk4LDEyIEBA IHRlc3Q6ZG9fdGVzdCgKICAgICAgU0VMRUNUIGEgRlJPTSB0MwogICAgICAgV0hFUkUgKChhIEJF VFdFRU4gNDQgQU5EIDQ2KSBBTkQgYSE9NDUpCiAgICAgICAgICBPUiBhPTUzCi0gICAgICAgICBP UiAoZD49MjMuMCBBTkQgZDwyNC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTIz LjAgQU5EIGQ8MjQuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChnPSdwb25tbGtq JyBBTkQgZiBHTE9CICd1dnd4eSonKQogICAgICAgICAgT1IgYj01OTQKICAgICAgICAgIE9SIGI9 ODAKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDE4IEFORCAyMCkgQU5EIGEhPTE5KQotICAgICAg ICAgT1IgKGQ+PTQ5LjAgQU5EIGQ8NTAuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChk Pj00OS4wIEFORCBkPDUwLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBkPjFlMTAK ICAgXV0pCiAgICAgZW5kLCB7CkBAIC0xNzQ0OSw3ICsxNzQ0OSw3IEBAIHRlc3Q6ZG9fdGVzdCgK ICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDc1IEFORCA3NykgQU5EIGEhPTc2KQogICAgICAgICAg T1IgKChhIEJFVFdFRU4gNDMgQU5EIDQ1KSBBTkQgYSE9NDQpCiAgICAgICAgICBPUiBhPTkwCi0g ICAgICAgICBPUiAoZD49MzMuMCBBTkQgZDwzNC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAg T1IgKGQ+PTMzLjAgQU5EIGQ8MzQuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAgICAgZW5k LCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi40NjYuMT4KQEAgLTE3NDY2LDcgKzE3NDY2LDcgQEAg dGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNzUgQU5EIDc3KSBBTkQgYSE9 NzYpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA0MyBBTkQgNDUpIEFORCBhIT00NCkKICAgICAg ICAgIE9SIGE9OTAKLSAgICAgICAgIE9SIChkPj0zMy4wIEFORCBkPDM0LjAgQU5EIGQgTk9UIE5V TEwpCisgICAgICAgICBPUiAoZD49MzMuMCBBTkQgZDwzNC4wIEFORCBkIElTIE5PVCBOVUxMKQog ICBdXSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjQ2Ni4yPgpAQCAtMTc0ODEs NyArMTc0ODEsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgIFNFTEVDVCBhIEZST00gdDIKICAgICAg IFdIRVJFIGE9NTkKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDY5IEFORCA3MSkgQU5EIGEhPTcw KQotICAgICAgICAgT1IgKGQ+PTkuMCBBTkQgZDwxMC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAg ICAgT1IgKGQ+PTkuMCBBTkQgZDwxMC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1Ig KGc9J3h3dnV0c3InIEFORCBmIEdMT0IgJ2ZnaGlqKicpCiAgICAgICAgICBPUiBmPSd3eHl6YWJj ZGUnCiAgICAgICAgICBPUiAoZiBHTE9CICc/YWJjZConIEFORCBmIEdMT0IgJ3phYmMqJykKQEAg LTE3NTAyLDcgKzE3NTAyLDcgQEAgdGVzdDpkb190ZXN0KAogICAgICBTRUxFQ1QgYSBGUk9NIHQz CiAgICAgICBXSEVSRSBhPTU5CiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA2OSBBTkQgNzEpIEFO RCBhIT03MCkKLSAgICAgICAgIE9SIChkPj05LjAgQU5EIGQ8MTAuMCBBTkQgZCBOT1QgTlVMTCkK KyAgICAgICAgIE9SIChkPj05LjAgQU5EIGQ8MTAuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAg ICAgIE9SIChnPSd4d3Z1dHNyJyBBTkQgZiBHTE9CICdmZ2hpaionKQogICAgICAgICAgT1IgZj0n d3h5emFiY2RlJwogICAgICAgICAgT1IgKGYgR0xPQiAnP2FiY2QqJyBBTkQgZiBHTE9CICd6YWJj KicpCkBAIC0xNzU4NCw3ICsxNzU4NCw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgcmV0dXJu IGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MgogICAgICAgV0hFUkUg Yj0zMDAKLSAgICAgICAgIE9SIChkPj01Mi4wIEFORCBkPDUzLjAgQU5EIGQgTk9UIE5VTEwpCisg ICAgICAgICBPUiAoZD49NTIuMCBBTkQgZDw1My4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAg ICAgT1IgYj05MzUKICAgICAgICAgIE9SIGI9MTkwCiAgIF1dKQpAQCAtMTc2MDAsNyArMTc2MDAs NyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAg ICAgIFNFTEVDVCBhIEZST00gdDMKICAgICAgIFdIRVJFIGI9MzAwCi0gICAgICAgICBPUiAoZD49 NTIuMCBBTkQgZDw1My4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTUyLjAgQU5E IGQ8NTMuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9OTM1CiAgICAgICAgICBP UiBiPTE5MAogICBdXSkKQEAgLTE3NjIwLDcgKzE3NjIwLDcgQEAgdGVzdDpkb190ZXN0KAogICAg ICAgICAgT1IgKGc9J3h3dnV0c3InIEFORCBmIEdMT0IgJ2VmZ2hpKicpCiAgICAgICAgICBPUiBi PTQ2NQogICAgICAgICAgT1IgYj01ODYKLSAgICAgICAgIE9SIChkPj0yMC4wIEFORCBkPDIxLjAg QU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MjAuMCBBTkQgZDwyMS4wIEFORCBkIElT IE5PVCBOVUxMKQogICAgICAgICAgT1IgYj04OAogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMzAg QU5EIDMyKSBBTkQgYSE9MzEpCiAgICAgICAgICBPUiBiPTcyNgpAQCAtMTc2NDIsNyArMTc2NDIs NyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiAoZz0neHd2dXRzcicgQU5EIGYgR0xPQiAn ZWZnaGkqJykKICAgICAgICAgIE9SIGI9NDY1CiAgICAgICAgICBPUiBiPTU4NgotICAgICAgICAg T1IgKGQ+PTIwLjAgQU5EIGQ8MjEuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0y MC4wIEFORCBkPDIxLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTg4CiAgICAg ICAgICBPUiAoKGEgQkVUV0VFTiAzMCBBTkQgMzIpIEFORCBhIT0zMSkKICAgICAgICAgIE9SIGI9 NzI2CkBAIC0xNzY1OSw3ICsxNzY1OSw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigp CiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00g dDIKLSAgICAgIFdIRVJFIChkPj0zNC4wIEFORCBkPDM1LjAgQU5EIGQgTk9UIE5VTEwpCisgICAg ICBXSEVSRSAoZD49MzQuMCBBTkQgZDwzNS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAg T1IgKGYgR0xPQiAnP2FiY2QqJyBBTkQgZiBHTE9CICd6YWJjKicpCiAgICAgICAgICBPUiAoZz0n aGdmZWRjYicgQU5EIGYgR0xPQiAnaGlqa2wqJykKICAgICAgICAgIE9SIChnPSdmZWRjYmF6JyBB TkQgZiBHTE9CICd0dXZ3eConKQpAQCAtMTc2ODAsNyArMTc2ODAsNyBAQCB0ZXN0OmRvX3Rlc3Qo CiAgICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAg ICBTRUxFQ1QgYSBGUk9NIHQzCi0gICAgICBXSEVSRSAoZD49MzQuMCBBTkQgZDwzNS4wIEFORCBk IE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTM0LjAgQU5EIGQ8MzUuMCBBTkQgZCBJUyBOT1Qg TlVMTCkKICAgICAgICAgIE9SIChmIEdMT0IgJz9hYmNkKicgQU5EIGYgR0xPQiAnemFiYyonKQog ICAgICAgICAgT1IgKGc9J2hnZmVkY2InIEFORCBmIEdMT0IgJ2hpamtsKicpCiAgICAgICAgICBP UiAoZz0nZmVkY2JheicgQU5EIGYgR0xPQiAndHV2d3gqJykKQEAgLTE3NzA1LDcgKzE3NzA1LDcg QEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNTMgQU5EIDU1KSBBTkQg YSE9NTQpCiAgICAgICAgICBPUiBjPTEwMDEKICAgICAgICAgIE9SIGI9NDg0Ci0gICAgICAgICBP UiAoZD49NjUuMCBBTkQgZDw2Ni4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTY1 LjAgQU5EIGQ8NjYuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGM8PTEwCiAgICAg ICAgICBPUiBhPTkyCiAgICAgICAgICBPUiAoZz0ndHNycXBvbicgQU5EIGYgR0xPQiAnemFiY2Qq JykKQEAgLTE3NzI3LDcgKzE3NzI3LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgKChh IEJFVFdFRU4gNTMgQU5EIDU1KSBBTkQgYSE9NTQpCiAgICAgICAgICBPUiBjPTEwMDEKICAgICAg ICAgIE9SIGI9NDg0Ci0gICAgICAgICBPUiAoZD49NjUuMCBBTkQgZDw2Ni4wIEFORCBkIE5PVCBO VUxMKQorICAgICAgICAgT1IgKGQ+PTY1LjAgQU5EIGQ8NjYuMCBBTkQgZCBJUyBOT1QgTlVMTCkK ICAgICAgICAgIE9SIGM8PTEwCiAgICAgICAgICBPUiBhPTkyCiAgICAgICAgICBPUiAoZz0ndHNy cXBvbicgQU5EIGYgR0xPQiAnemFiY2QqJykKQEAgLTE3NzkwLDkgKzE3NzkwLDkgQEAgdGVzdDpk b190ZXN0KAogICAgICAgV0hFUkUgYj0zMTkKICAgICAgICAgIE9SIGE9NTAKICAgICAgICAgIE9S IChnPSdzcnFwb25tJyBBTkQgZiBHTE9CICdkZWZnaConKQotICAgICAgICAgT1IgKGQ+PTU1LjAg QU5EIGQ8NTYuMCBBTkQgZCBOT1QgTlVMTCkKLSAgICAgICAgIE9SIChkPj0xMC4wIEFORCBkPDEx LjAgQU5EIGQgTk9UIE5VTEwpCi0gICAgICAgICBPUiAoZD49OTIuMCBBTkQgZDw5My4wIEFORCBk IE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTU1LjAgQU5EIGQ8NTYuMCBBTkQgZCBJUyBOT1Qg TlVMTCkKKyAgICAgICAgIE9SIChkPj0xMC4wIEFORCBkPDExLjAgQU5EIGQgSVMgTk9UIE5VTEwp CisgICAgICAgICBPUiAoZD49OTIuMCBBTkQgZDw5My4wIEFORCBkIElTIE5PVCBOVUxMKQogICAg ICAgICAgT1IgYT05NgogICBdXSkKICAgICBlbmQsIHsKQEAgLTE3ODA5LDkgKzE3ODA5LDkgQEAg dGVzdDpkb190ZXN0KAogICAgICAgV0hFUkUgYj0zMTkKICAgICAgICAgIE9SIGE9NTAKICAgICAg ICAgIE9SIChnPSdzcnFwb25tJyBBTkQgZiBHTE9CICdkZWZnaConKQotICAgICAgICAgT1IgKGQ+ PTU1LjAgQU5EIGQ8NTYuMCBBTkQgZCBOT1QgTlVMTCkKLSAgICAgICAgIE9SIChkPj0xMC4wIEFO RCBkPDExLjAgQU5EIGQgTk9UIE5VTEwpCi0gICAgICAgICBPUiAoZD49OTIuMCBBTkQgZDw5My4w IEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTU1LjAgQU5EIGQ8NTYuMCBBTkQgZCBJ UyBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0xMC4wIEFORCBkPDExLjAgQU5EIGQgSVMgTk9U IE5VTEwpCisgICAgICAgICBPUiAoZD49OTIuMCBBTkQgZDw5My4wIEFORCBkIElTIE5PVCBOVUxM KQogICAgICAgICAgT1IgYT05NgogICBdXSkKICAgICBlbmQsIHsKQEAgLTE3ODU5LDcgKzE3ODU5 LDcgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAgICAgICAgcmV0dXJuIGNvdW50 X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MgotICAgICAgV0hFUkUgKGQ+PTM1 LjAgQU5EIGQ8MzYuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChkPj0zNS4wIEFORCBk PDM2LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTEwMjYKICAgICAgICAgIE9S ICgoYSBCRVRXRUVOIDE0IEFORCAxNikgQU5EIGEhPTE1KQogICBdXSkKQEAgLTE3ODc0LDcgKzE3 ODc0LDcgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAgICAgICAgcmV0dXJuIGNv dW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MwotICAgICAgV0hFUkUgKGQ+ PTM1LjAgQU5EIGQ8MzYuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChkPj0zNS4wIEFO RCBkPDM2LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTEwMjYKICAgICAgICAg IE9SICgoYSBCRVRXRUVOIDE0IEFORCAxNikgQU5EIGEhPTE1KQogICBdXSkKQEAgLTE3ODkwLDEx ICsxNzg5MCwxMSBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19z b3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIKICAgICAgIFdIRVJFIChnPSdwb25tbGtqJyBB TkQgZiBHTE9CICd1dnd4eSonKQotICAgICAgICAgT1IgKGQ+PTM0LjAgQU5EIGQ8MzUuMCBBTkQg ZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0zNC4wIEFORCBkPDM1LjAgQU5EIGQgSVMgTk9U IE5VTEwpCiAgICAgICAgICBPUiBiPTQwNwogICAgICAgICAgT1IgYj00NTQKICAgICAgICAgIE9S IChmIEdMT0IgJz9rbG1uKicgQU5EIGYgR0xPQiAnamtsbSonKQotICAgICAgICAgT1IgKGQ+PTkx LjAgQU5EIGQ8OTIuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj05MS4wIEFORCBk PDkyLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTYyNwogICAgICAgICAgT1Ig KGYgR0xPQiAnP29wcXIqJyBBTkQgZiBHTE9CICdub3BxKicpCiAgIF1dKQpAQCAtMTc5MTAsMTEg KzE3OTEwLDExIEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3Nv cnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MwogICAgICAgV0hFUkUgKGc9J3Bvbm1sa2onIEFO RCBmIEdMT0IgJ3V2d3h5KicpCi0gICAgICAgICBPUiAoZD49MzQuMCBBTkQgZDwzNS4wIEFORCBk IE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTM0LjAgQU5EIGQ8MzUuMCBBTkQgZCBJUyBOT1Qg TlVMTCkKICAgICAgICAgIE9SIGI9NDA3CiAgICAgICAgICBPUiBiPTQ1NAogICAgICAgICAgT1Ig KGYgR0xPQiAnP2tsbW4qJyBBTkQgZiBHTE9CICdqa2xtKicpCi0gICAgICAgICBPUiAoZD49OTEu MCBBTkQgZDw5Mi4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTkxLjAgQU5EIGQ8 OTIuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9NjI3CiAgICAgICAgICBPUiAo ZiBHTE9CICc/b3BxcionIEFORCBmIEdMT0IgJ25vcHEqJykKICAgXV0pCkBAIC0xNzkyOSw3ICsx NzkyOSw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVybiBj b3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIKLSAgICAgIFdIRVJFIChk Pj03OS4wIEFORCBkPDgwLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49NzkuMCBB TkQgZDw4MC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYz0zNDAzNAogICAgICAg ICAgT1IgKChhIEJFVFdFRU4gMjQgQU5EIDI2KSBBTkQgYSE9MjUpCiAgICAgICAgICBPUiAoKGEg QkVUV0VFTiAxOCBBTkQgMjApIEFORCBhIT0xOSkKQEAgLTE3OTQ3LDcgKzE3OTQ3LDcgQEAgdGVz dDpkb190ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3Nv cnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MwotICAgICAgV0hFUkUgKGQ+PTc5LjAgQU5EIGQ8 ODAuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChkPj03OS4wIEFORCBkPDgwLjAgQU5E IGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBjPTM0MDM0CiAgICAgICAgICBPUiAoKGEgQkVU V0VFTiAyNCBBTkQgMjYpIEFORCBhIT0yNSkKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDE4IEFO RCAyMCkgQU5EIGEhPTE5KQpAQCAtMTc5NjcsOSArMTc5NjcsOSBAQCB0ZXN0OmRvX3Rlc3QoCiAg ICAgIFNFTEVDVCBhIEZST00gdDIKICAgICAgIFdIRVJFIGE9OTcKICAgICAgICAgIE9SIGI9NTc1 Ci0gICAgICAgICBPUiAoZD49ODEuMCBBTkQgZDw4Mi4wIEFORCBkIE5PVCBOVUxMKQorICAgICAg ICAgT1IgKGQ+PTgxLjAgQU5EIGQ8ODIuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9S ICgoYSBCRVRXRUVOIDIgQU5EIDQpIEFORCBhIT0zKQotICAgICAgICAgT1IgKGQ+PTEuMCBBTkQg ZDwyLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MS4wIEFORCBkPDIuMCBBTkQg ZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChmIEdMT0IgJz9yc3R1KicgQU5EIGYgR0xPQiAn cXJzdConKQogICBdXSkKICAgICBlbmQsIHsKQEAgLTE3OTg1LDkgKzE3OTg1LDkgQEAgdGVzdDpk b190ZXN0KAogICAgICBTRUxFQ1QgYSBGUk9NIHQzCiAgICAgICBXSEVSRSBhPTk3CiAgICAgICAg ICBPUiBiPTU3NQotICAgICAgICAgT1IgKGQ+PTgxLjAgQU5EIGQ8ODIuMCBBTkQgZCBOT1QgTlVM TCkKKyAgICAgICAgIE9SIChkPj04MS4wIEFORCBkPDgyLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAg ICAgICAgICBPUiAoKGEgQkVUV0VFTiAyIEFORCA0KSBBTkQgYSE9MykKLSAgICAgICAgIE9SIChk Pj0xLjAgQU5EIGQ8Mi4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTEuMCBBTkQg ZDwyLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoZiBHTE9CICc/cnN0dSonIEFO RCBmIEdMT0IgJ3Fyc3QqJykKICAgXV0pCiAgICAgZW5kLCB7CkBAIC0xODAwMywxMiArMTgwMDMs MTIgQEAgdGVzdDpkb190ZXN0KAogICAgICBTRUxFQ1QgYSBGUk9NIHQyCiAgICAgICBXSEVSRSBi PTU2MQogICAgICAgICAgT1IgYj03NzMKLSAgICAgICAgIE9SIChkPj00Ni4wIEFORCBkPDQ3LjAg QU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NDYuMCBBTkQgZDw0Ny4wIEFORCBkIElT IE5PVCBOVUxMKQogICAgICAgICAgT1IgYj0yMDEKICAgICAgICAgIE9SIGE9OTkKICAgICAgICAg IE9SIChnPSd1dHNycXBvJyBBTkQgZiBHTE9CICd0dXZ3eConKQogICAgICAgICAgT1IgKChhIEJF VFdFRU4gMzYgQU5EIDM4KSBBTkQgYSE9MzcpCi0gICAgICAgICBPUiAoZD49MjMuMCBBTkQgZDwy NC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTIzLjAgQU5EIGQ8MjQuMCBBTkQg ZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9OTQ2CiAgICAgICAgICBPUiBiPTk5MwogICAg ICAgICAgT1IgKGc9J2ZlZGNiYXonIEFORCBmIEdMT0IgJ3Fyc3R1KicpCkBAIC0xODAyNiwxMiAr MTgwMjYsMTIgQEAgdGVzdDpkb190ZXN0KAogICAgICBTRUxFQ1QgYSBGUk9NIHQzCiAgICAgICBX SEVSRSBiPTU2MQogICAgICAgICAgT1IgYj03NzMKLSAgICAgICAgIE9SIChkPj00Ni4wIEFORCBk PDQ3LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NDYuMCBBTkQgZDw0Ny4wIEFO RCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj0yMDEKICAgICAgICAgIE9SIGE9OTkKICAg ICAgICAgIE9SIChnPSd1dHNycXBvJyBBTkQgZiBHTE9CICd0dXZ3eConKQogICAgICAgICAgT1Ig KChhIEJFVFdFRU4gMzYgQU5EIDM4KSBBTkQgYSE9MzcpCi0gICAgICAgICBPUiAoZD49MjMuMCBB TkQgZDwyNC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTIzLjAgQU5EIGQ8MjQu MCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9OTQ2CiAgICAgICAgICBPUiBiPTk5 MwogICAgICAgICAgT1IgKGc9J2ZlZGNiYXonIEFORCBmIEdMT0IgJ3Fyc3R1KicpCkBAIC0xODA1 MiwxMSArMTgwNTIsMTEgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgKChhIEJFVFdFRU4g MjQgQU5EIDI2KSBBTkQgYSE9MjUpCiAgICAgICAgICBPUiBiPTkxNgogICAgICAgICAgT1IgYjww Ci0gICAgICAgICBPUiAoZD49NjIuMCBBTkQgZDw2My4wIEFORCBkIE5PVCBOVUxMKQorICAgICAg ICAgT1IgKGQ+PTYyLjAgQU5EIGQ8NjMuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9S IGI9MTU0CiAgICAgICAgICBPUiBjPTEwMDEwCiAgICAgICAgICBPUiBiPTQ1MQotICAgICAgICAg T1IgKGQ+PTE0LjAgQU5EIGQ8MTUuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0x NC4wIEFORCBkPDE1LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAg ICAgICAtLSA8d2hlcmU3LTIuNDgyLjE+CkBAIC0xODA3NCwxMSArMTgwNzQsMTEgQEAgdGVzdDpk b190ZXN0KAogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMjQgQU5EIDI2KSBBTkQgYSE9MjUpCiAg ICAgICAgICBPUiBiPTkxNgogICAgICAgICAgT1IgYjwwCi0gICAgICAgICBPUiAoZD49NjIuMCBB TkQgZDw2My4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTYyLjAgQU5EIGQ8NjMu MCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9MTU0CiAgICAgICAgICBPUiBjPTEw MDEwCiAgICAgICAgICBPUiBiPTQ1MQotICAgICAgICAgT1IgKGQ+PTE0LjAgQU5EIGQ8MTUuMCBB TkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0xNC4wIEFORCBkPDE1LjAgQU5EIGQgSVMg Tk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIuNDgyLjI+ CkBAIC0xODE0MSw4ICsxODE0MSw4IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIGE9OTIK ICAgICAgICAgIE9SIGE9MQogICAgICAgICAgT1IgKGYgR0xPQiAnP2ZnaGkqJyBBTkQgZiBHTE9C ICdlZmdoKicpCi0gICAgICAgICBPUiAoZD49MjguMCBBTkQgZDwyOS4wIEFORCBkIE5PVCBOVUxM KQotICAgICAgICAgT1IgKGQ+PTcuMCBBTkQgZDw4LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAg ICBPUiAoZD49MjguMCBBTkQgZDwyOS4wIEFORCBkIElTIE5PVCBOVUxMKQorICAgICAgICAgT1Ig KGQ+PTcuMCBBTkQgZDw4LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoZz0ncnFw b25tbCcgQU5EIGYgR0xPQiAnbG1ub3AqJykKICAgICAgICAgIE9SIGI9OTA1CiAgICAgICAgICBP UiAoKGEgQkVUV0VFTiA1MSBBTkQgNTMpIEFORCBhIT01MikKQEAgLTE4MTYyLDggKzE4MTYyLDgg QEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgYT05MgogICAgICAgICAgT1IgYT0xCiAgICAg ICAgICBPUiAoZiBHTE9CICc/ZmdoaSonIEFORCBmIEdMT0IgJ2VmZ2gqJykKLSAgICAgICAgIE9S IChkPj0yOC4wIEFORCBkPDI5LjAgQU5EIGQgTk9UIE5VTEwpCi0gICAgICAgICBPUiAoZD49Ny4w IEFORCBkPDguMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0yOC4wIEFORCBkPDI5 LjAgQU5EIGQgSVMgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49Ny4wIEFORCBkPDguMCBBTkQg ZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChnPSdycXBvbm1sJyBBTkQgZiBHTE9CICdsbW5v cConKQogICAgICAgICAgT1IgYj05MDUKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDUxIEFORCA1 MykgQU5EIGEhPTUyKQpAQCAtMTgxNzksOCArMTgxNzksOCBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAg ZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxF Q1QgYSBGUk9NIHQyCi0gICAgICBXSEVSRSAoZD49MTcuMCBBTkQgZDwxOC4wIEFORCBkIE5PVCBO VUxMKQotICAgICAgICAgT1IgKGQ+PTQuMCBBTkQgZDw1LjAgQU5EIGQgTk9UIE5VTEwpCisgICAg ICBXSEVSRSAoZD49MTcuMCBBTkQgZDwxOC4wIEFORCBkIElTIE5PVCBOVUxMKQorICAgICAgICAg T1IgKGQ+PTQuMCBBTkQgZDw1LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTIx MgogICAgICAgICAgT1IgYT00MgogICAgICAgICAgT1IgYT05MgpAQCAtMTgxOTYsOCArMTgxOTYs OCBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291bnRf c3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQzCi0gICAgICBXSEVSRSAoZD49MTcu MCBBTkQgZDwxOC4wIEFORCBkIE5PVCBOVUxMKQotICAgICAgICAgT1IgKGQ+PTQuMCBBTkQgZDw1 LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49MTcuMCBBTkQgZDwxOC4wIEFORCBk IElTIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTQuMCBBTkQgZDw1LjAgQU5EIGQgSVMgTk9U IE5VTEwpCiAgICAgICAgICBPUiBiPTIxMgogICAgICAgICAgT1IgYT00MgogICAgICAgICAgT1Ig YT05MgpAQCAtMTgyMTksNyArMTgyMTksNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBh PTExCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA0NCBBTkQgNDYpIEFORCBhIT00NSkKICAgICAg ICAgIE9SIGI9MzIyCi0gICAgICAgICBPUiAoZD49Ni4wIEFORCBkPDcuMCBBTkQgZCBOT1QgTlVM TCkKKyAgICAgICAgIE9SIChkPj02LjAgQU5EIGQ8Ny4wIEFORCBkIElTIE5PVCBOVUxMKQogICAg ICAgICAgT1IgKGc9J3V0c3JxcG8nIEFORCBmIEdMT0IgJ3d4eXphKicpCiAgICAgICAgICBPUiBi PTkwMgogICAgICAgICAgT1IgYz49MzQwMzUKQEAgLTE4MjQxLDcgKzE4MjQxLDcgQEAgdGVzdDpk b190ZXN0KAogICAgICAgICAgT1IgYT0xMQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNDQgQU5E IDQ2KSBBTkQgYSE9NDUpCiAgICAgICAgICBPUiBiPTMyMgotICAgICAgICAgT1IgKGQ+PTYuMCBB TkQgZDw3LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49Ni4wIEFORCBkPDcuMCBB TkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChnPSd1dHNycXBvJyBBTkQgZiBHTE9CICd3 eHl6YSonKQogICAgICAgICAgT1IgYj05MDIKICAgICAgICAgIE9SIGM+PTM0MDM1CkBAIC0xODI1 OSw3ICsxODI1OSw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgU0VMRUNUIGEgRlJPTSB0MgogICAg ICAgV0hFUkUgKChhIEJFVFdFRU4gNTIgQU5EIDU0KSBBTkQgYSE9NTMpCiAgICAgICAgICBPUiAo KGEgQkVUV0VFTiA1NiBBTkQgNTgpIEFORCBhIT01NykKLSAgICAgICAgIE9SIChkPj04LjAgQU5E IGQ8OS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTguMCBBTkQgZDw5LjAgQU5E IGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBhPTI3CiAgICAgICAgICBPUiBhPTQ4CiAgICAg ICAgICBPUiBiPTkyNwpAQCAtMTgyODIsNyArMTgyODIsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAg IFNFTEVDVCBhIEZST00gdDMKICAgICAgIFdIRVJFICgoYSBCRVRXRUVOIDUyIEFORCA1NCkgQU5E IGEhPTUzKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNTYgQU5EIDU4KSBBTkQgYSE9NTcpCi0g ICAgICAgICBPUiAoZD49OC4wIEFORCBkPDkuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9S IChkPj04LjAgQU5EIGQ8OS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYT0yNwog ICAgICAgICAgT1IgYT00OAogICAgICAgICAgT1IgYj05MjcKQEAgLTE4MzM1LDE0ICsxODMzNSwx NCBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291bnRf c3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCi0gICAgICBXSEVSRSAoZD49Mjcu MCBBTkQgZDwyOC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTI3LjAgQU5EIGQ8 MjguMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9NTUKLSAgICAgICAgIE9SIChk Pj0xMy4wIEFORCBkPDE0LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MTMuMCBB TkQgZDwxNC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKGc9J29ubWxramknIEFO RCBmIEdMT0IgJ2FiY2RlKicpCiAgICAgICAgICBPUiBhPTUwCi0gICAgICAgICBPUiAoZD49NzMu MCBBTkQgZDw3NC4wIEFORCBkIE5PVCBOVUxMKQotICAgICAgICAgT1IgKGQ+PTUxLjAgQU5EIGQ8 NTIuMCBBTkQgZCBOT1QgTlVMTCkKLSAgICAgICAgIE9SIChkPj02NC4wIEFORCBkPDY1LjAgQU5E IGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NzMuMCBBTkQgZDw3NC4wIEFORCBkIElTIE5P VCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTUxLjAgQU5EIGQ8NTIuMCBBTkQgZCBJUyBOT1QgTlVM TCkKKyAgICAgICAgIE9SIChkPj02NC4wIEFORCBkPDY1LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAg IF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIuNDg5LjE+CkBAIC0xODM1NSwx NCArMTgzNTUsMTQgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAgICAgICAgcmV0 dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MwotICAgICAgV0hF UkUgKGQ+PTI3LjAgQU5EIGQ8MjguMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChkPj0y Ny4wIEFORCBkPDI4LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTU1Ci0gICAg ICAgICBPUiAoZD49MTMuMCBBTkQgZDwxNC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1Ig KGQ+PTEzLjAgQU5EIGQ8MTQuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChnPSdv bm1sa2ppJyBBTkQgZiBHTE9CICdhYmNkZSonKQogICAgICAgICAgT1IgYT01MAotICAgICAgICAg T1IgKGQ+PTczLjAgQU5EIGQ8NzQuMCBBTkQgZCBOT1QgTlVMTCkKLSAgICAgICAgIE9SIChkPj01 MS4wIEFORCBkPDUyLjAgQU5EIGQgTk9UIE5VTEwpCi0gICAgICAgICBPUiAoZD49NjQuMCBBTkQg ZDw2NS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTczLjAgQU5EIGQ8NzQuMCBB TkQgZCBJUyBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj01MS4wIEFORCBkPDUyLjAgQU5EIGQg SVMgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NjQuMCBBTkQgZDw2NS4wIEFORCBkIElTIE5P VCBOVUxMKQogICBdXSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjQ4OS4yPgpA QCAtMTg0OTksNyArMTg0OTksNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAg ICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCi0g ICAgICBXSEVSRSAoZD49NjAuMCBBTkQgZDw2MS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hF UkUgKGQ+PTYwLjAgQU5EIGQ8NjEuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9 NzI2CiAgICAgICAgICBPUiBmPSdhYmNkZWZnaGknCiAgICAgICAgICBPUiBiPTE3OQpAQCAtMTg1 MjAsNyArMTg1MjAsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICBy ZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQzCi0gICAgICBX SEVSRSAoZD49NjAuMCBBTkQgZDw2MS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+ PTYwLjAgQU5EIGQ8NjEuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9NzI2CiAg ICAgICAgICBPUiBmPSdhYmNkZWZnaGknCiAgICAgICAgICBPUiBiPTE3OQpAQCAtMTg1NzQsNyAr MTg1NzQsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBiPTQ0MwogICAgICAgICAgT1Ig Yj04MzYKICAgICAgICAgIE9SIChmIEdMT0IgJz9vcHFyKicgQU5EIGYgR0xPQiAnbm9wcSonKQot ICAgICAgICAgT1IgKGQ+PTExLjAgQU5EIGQ8MTIuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAg IE9SIChkPj0xMS4wIEFORCBkPDEyLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAo KGEgQkVUV0VFTiA1MSBBTkQgNTMpIEFORCBhIT01MikKICAgICAgICAgIE9SIGI9MTEwCiAgICAg ICAgICBPUiAoZiBHTE9CICc/ZGVmZyonIEFORCBmIEdMT0IgJ2NkZWYqJykKQEAgLTE4NTk1LDcg KzE4NTk1LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgYj00NDMKICAgICAgICAgIE9S IGI9ODM2CiAgICAgICAgICBPUiAoZiBHTE9CICc/b3BxcionIEFORCBmIEdMT0IgJ25vcHEqJykK LSAgICAgICAgIE9SIChkPj0xMS4wIEFORCBkPDEyLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAg ICBPUiAoZD49MTEuMCBBTkQgZDwxMi4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1Ig KChhIEJFVFdFRU4gNTEgQU5EIDUzKSBBTkQgYSE9NTIpCiAgICAgICAgICBPUiBiPTExMAogICAg ICAgICAgT1IgKGYgR0xPQiAnP2RlZmcqJyBBTkQgZiBHTE9CICdjZGVmKicpCkBAIC0xODYxNyw3 ICsxODYxNyw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIGE9MjIKICAgICAgICAgIE9S IGI9NTk0CiAgICAgICAgICBPUiAoZiBHTE9CICc/dHV2dyonIEFORCBmIEdMT0IgJ3N0dXYqJykK LSAgICAgICAgIE9SIChkPj01Ny4wIEFORCBkPDU4LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAg ICBPUiAoZD49NTcuMCBBTkQgZDw1OC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1Ig KGc9J2ppaGdmZWQnIEFORCBmIEdMT0IgJ3d4eXphKicpCiAgICAgICAgICBPUiAoZz0nbWxramlo ZycgQU5EIGYgR0xPQiAnamtsbW4qJykKICAgXV0pCkBAIC0xODYzOCw3ICsxODYzOCw3IEBAIHRl c3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIGE9MjIKICAgICAgICAgIE9SIGI9NTk0CiAgICAgICAg ICBPUiAoZiBHTE9CICc/dHV2dyonIEFORCBmIEdMT0IgJ3N0dXYqJykKLSAgICAgICAgIE9SIChk Pj01Ny4wIEFORCBkPDU4LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NTcuMCBB TkQgZDw1OC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKGc9J2ppaGdmZWQnIEFO RCBmIEdMT0IgJ3d4eXphKicpCiAgICAgICAgICBPUiAoZz0nbWxramloZycgQU5EIGYgR0xPQiAn amtsbW4qJykKICAgXV0pCkBAIC0xODY1NCw3ICsxODY1NCw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAg ICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0Mgog ICAgICAgV0hFUkUgKGc9J3V0c3JxcG8nIEFORCBmIEdMT0IgJ3d4eXphKicpCi0gICAgICAgICBP UiAoZD49MS4wIEFORCBkPDIuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0xLjAg QU5EIGQ8Mi4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKGc9J3d2dXRzcnEnIEFO RCBmIEdMT0IgJ2tsbW5vKicpCiAgICAgICAgICBPUiBmPSd2d3h5emFiY2QnCiAgICAgICAgICBP UiAoZz0ndnV0c3JxcCcgQU5EIGYgR0xPQiAnbm9wcXIqJykKQEAgLTE4NjczLDcgKzE4NjczLDcg QEAgdGVzdDpkb190ZXN0KAogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAg ICBTRUxFQ1QgYSBGUk9NIHQzCiAgICAgICBXSEVSRSAoZz0ndXRzcnFwbycgQU5EIGYgR0xPQiAn d3h5emEqJykKLSAgICAgICAgIE9SIChkPj0xLjAgQU5EIGQ8Mi4wIEFORCBkIE5PVCBOVUxMKQor ICAgICAgICAgT1IgKGQ+PTEuMCBBTkQgZDwyLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAg ICBPUiAoZz0nd3Z1dHNycScgQU5EIGYgR0xPQiAna2xtbm8qJykKICAgICAgICAgIE9SIGY9J3Z3 eHl6YWJjZCcKICAgICAgICAgIE9SIChnPSd2dXRzcnFwJyBBTkQgZiBHTE9CICdub3BxcionKQpA QCAtMTg2OTcsNyArMTg2OTcsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBiPTgyNQog ICAgICAgICAgT1IgYT04MAogICAgICAgICAgT1IgKGc9J3RzcnFwb24nIEFORCBmIEdMT0IgJ3h5 emFiKicpCi0gICAgICAgICBPUiAoZD49OTcuMCBBTkQgZDw5OC4wIEFORCBkIE5PVCBOVUxMKQor ICAgICAgICAgT1IgKGQ+PTk3LjAgQU5EIGQ8OTguMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAg ICAgIE9SIGI9NTMxCiAgICAgICAgICBPUiBhPTEwMAogICBdXSkKQEAgLTE4NzE4LDcgKzE4NzE4 LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgYj04MjUKICAgICAgICAgIE9SIGE9ODAK ICAgICAgICAgIE9SIChnPSd0c3JxcG9uJyBBTkQgZiBHTE9CICd4eXphYionKQotICAgICAgICAg T1IgKGQ+PTk3LjAgQU5EIGQ8OTguMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj05 Ny4wIEFORCBkPDk4LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTUzMQogICAg ICAgICAgT1IgYT0xMDAKICAgXV0pCkBAIC0xODczNSw3ICsxODczNSw3IEBAIHRlc3Q6ZG9fdGVz dCgKICAgICAgU0VMRUNUIGEgRlJPTSB0MgogICAgICAgV0hFUkUgKGc9J3V0c3JxcG8nIEFORCBm IEdMT0IgJ3R1dnd4KicpCiAgICAgICAgICBPUiBiPTIyMAotICAgICAgICAgT1IgKGQ+PTUzLjAg QU5EIGQ8NTQuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj01My4wIEFORCBkPDU0 LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8d2hl cmU3LTIuNTAwLjE+CkBAIC0xODc1MCw3ICsxODc1MCw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAg U0VMRUNUIGEgRlJPTSB0MwogICAgICAgV0hFUkUgKGc9J3V0c3JxcG8nIEFORCBmIEdMT0IgJ3R1 dnd4KicpCiAgICAgICAgICBPUiBiPTIyMAotICAgICAgICAgT1IgKGQ+PTUzLjAgQU5EIGQ8NTQu MCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj01My4wIEFORCBkPDU0LjAgQU5EIGQg SVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIuNTAw LjI+CkBAIC0xODc2NCw3ICsxODc2NCw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgcmV0dXJu IGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MgogICAgICAgV0hFUkUg YT05MgotICAgICAgICAgT1IgKGQ+PTkuMCBBTkQgZDwxMC4wIEFORCBkIE5PVCBOVUxMKQorICAg ICAgICAgT1IgKGQ+PTkuMCBBTkQgZDwxMC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAg T1IgYj05OTAKICAgXV0pCiAgICAgZW5kLCB7CkBAIC0xODc3OSw3ICsxODc3OSw3IEBAIHRlc3Q6 ZG9fdGVzdCgKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNU IGEgRlJPTSB0MwogICAgICAgV0hFUkUgYT05MgotICAgICAgICAgT1IgKGQ+PTkuMCBBTkQgZDwx MC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTkuMCBBTkQgZDwxMC4wIEFORCBk IElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj05OTAKICAgXV0pCiAgICAgZW5kLCB7CkBAIC0x ODgzMyw3ICsxODgzMyw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAgICAg IHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIKLSAgICAg IFdIRVJFIChkPj03Mi4wIEFORCBkPDczLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAo ZD49NzIuMCBBTkQgZDw3My4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj03NzMK ICAgICAgICAgIE9SIGY9J2RlZmdoaWprbCcKICAgXV0pCkBAIC0xODg0OCw3ICsxODg0OCw3IEBA IHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVw c19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDMKLSAgICAgIFdIRVJFIChkPj03Mi4wIEFO RCBkPDczLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49NzIuMCBBTkQgZDw3My4w IEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj03NzMKICAgICAgICAgIE9SIGY9J2Rl ZmdoaWprbCcKICAgXV0pCkBAIC0xODg5NSwxNSArMTg4OTUsMTUgQEAgdGVzdDpkb190ZXN0KAog ICAgICBTRUxFQ1QgYSBGUk9NIHQyCiAgICAgICBXSEVSRSBiPTcwNAogICAgICAgICAgT1IgKGc9 J3d2dXRzcnEnIEFORCBmIEdMT0IgJ2tsbW5vKicpCi0gICAgICAgICBPUiAoZD49NTEuMCBBTkQg ZDw1Mi4wIEFORCBkIE5PVCBOVUxMKQotICAgICAgICAgT1IgKGQ+PTg5LjAgQU5EIGQ8OTAuMCBB TkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj01MS4wIEFORCBkPDUyLjAgQU5EIGQgSVMg Tk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49ODkuMCBBTkQgZDw5MC4wIEFORCBkIElTIE5PVCBO VUxMKQogICAgICAgICAgT1IgYj0yNQogICAgICAgICAgT1IgKGc9J2ppaGdmZWQnIEFORCBmIEdM T0IgJ3phYmNkKicpCiAgICAgICAgICBPUiBiPTQ4NwogICAgICAgICAgT1IgKGc9J2hnZmVkY2In IEFORCBmIEdMT0IgJ2ZnaGlqKicpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA3NyBBTkQgNzkp IEFORCBhIT03OCkKLSAgICAgICAgIE9SIChkPj0yMy4wIEFORCBkPDI0LjAgQU5EIGQgTk9UIE5V TEwpCi0gICAgICAgICBPUiAoZD49ODQuMCBBTkQgZDw4NS4wIEFORCBkIE5PVCBOVUxMKQorICAg ICAgICAgT1IgKGQ+PTIzLjAgQU5EIGQ8MjQuMCBBTkQgZCBJUyBOT1QgTlVMTCkKKyAgICAgICAg IE9SIChkPj04NC4wIEFORCBkPDg1LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVu ZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIuNTA1LjE+CkBAIC0xODkxOCwxNSArMTg5MTgsMTUg QEAgdGVzdDpkb190ZXN0KAogICAgICBTRUxFQ1QgYSBGUk9NIHQzCiAgICAgICBXSEVSRSBiPTcw NAogICAgICAgICAgT1IgKGc9J3d2dXRzcnEnIEFORCBmIEdMT0IgJ2tsbW5vKicpCi0gICAgICAg ICBPUiAoZD49NTEuMCBBTkQgZDw1Mi4wIEFORCBkIE5PVCBOVUxMKQotICAgICAgICAgT1IgKGQ+ PTg5LjAgQU5EIGQ8OTAuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj01MS4wIEFO RCBkPDUyLjAgQU5EIGQgSVMgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49ODkuMCBBTkQgZDw5 MC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj0yNQogICAgICAgICAgT1IgKGc9 J2ppaGdmZWQnIEFORCBmIEdMT0IgJ3phYmNkKicpCiAgICAgICAgICBPUiBiPTQ4NwogICAgICAg ICAgT1IgKGc9J2hnZmVkY2InIEFORCBmIEdMT0IgJ2ZnaGlqKicpCiAgICAgICAgICBPUiAoKGEg QkVUV0VFTiA3NyBBTkQgNzkpIEFORCBhIT03OCkKLSAgICAgICAgIE9SIChkPj0yMy4wIEFORCBk PDI0LjAgQU5EIGQgTk9UIE5VTEwpCi0gICAgICAgICBPUiAoZD49ODQuMCBBTkQgZDw4NS4wIEFO RCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTIzLjAgQU5EIGQ8MjQuMCBBTkQgZCBJUyBO T1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj04NC4wIEFORCBkPDg1LjAgQU5EIGQgSVMgTk9UIE5V TEwpCiAgIF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIuNTA1LjI+CkBAIC0x ODk0Miw3ICsxODk0Miw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgIFdIRVJFIGE9MTkKICAgICAg ICAgIE9SIChnPSdvbm1sa2ppJyBBTkQgZiBHTE9CICd4eXphYionKQogICAgICAgICAgT1IgYj02 NzQKLSAgICAgICAgIE9SIChkPj02MC4wIEFORCBkPDYxLjAgQU5EIGQgTk9UIE5VTEwpCisgICAg ICAgICBPUiAoZD49NjAuMCBBTkQgZDw2MS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAg T1IgYj0zNTUKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDcyIEFORCA3NCkgQU5EIGEhPTczKQog ICAgICAgICAgT1IgKGc9J3Fwb25tbGsnIEFORCBmIEdMT0IgJ3BxcnN0KicpCkBAIC0xODk2NSw3 ICsxODk2NSw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgIFdIRVJFIGE9MTkKICAgICAgICAgIE9S IChnPSdvbm1sa2ppJyBBTkQgZiBHTE9CICd4eXphYionKQogICAgICAgICAgT1IgYj02NzQKLSAg ICAgICAgIE9SIChkPj02MC4wIEFORCBkPDYxLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBP UiAoZD49NjAuMCBBTkQgZDw2MS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj0z NTUKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDcyIEFORCA3NCkgQU5EIGEhPTczKQogICAgICAg ICAgT1IgKGc9J3Fwb25tbGsnIEFORCBmIEdMT0IgJ3BxcnN0KicpCkBAIC0xOTE1Miw3ICsxOTE1 Miw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDM2IEFORCAzOCkg QU5EIGEhPTM3KQogICAgICAgICAgT1IgYz0yNzAyNwogICAgICAgICAgT1IgYz0yMDAyMAotICAg ICAgICAgT1IgKGQ+PTIzLjAgQU5EIGQ8MjQuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9S IChkPj0yMy4wIEFORCBkPDI0LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwg ewogICAgICAgICAtLSA8d2hlcmU3LTIuNTEyLjE+CkBAIC0xOTE3NCw3ICsxOTE3NCw3IEBAIHRl c3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDM2IEFORCAzOCkgQU5EIGEhPTM3 KQogICAgICAgICAgT1IgYz0yNzAyNwogICAgICAgICAgT1IgYz0yMDAyMAotICAgICAgICAgT1Ig KGQ+PTIzLjAgQU5EIGQ8MjQuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0yMy4w IEFORCBkPDI0LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAgICAg ICAtLSA8d2hlcmU3LTIuNTEyLjI+CkBAIC0xOTIyMyw3ICsxOTIyMyw3IEBAIHRlc3Q6ZG9fdGVz dCgKICAgICAgICAgIE9SIChnPSdtbGtqaWhnJyBBTkQgZiBHTE9CICdrbG1ubyonKQogICAgICAg ICAgT1IgYj0zMTkKICAgICAgICAgIE9SIGY9J2ZnaGlqa2xtbicKLSAgICAgICAgIE9SIChkPj03 My4wIEFORCBkPDc0LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NzMuMCBBTkQg ZDw3NC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNDIgQU5E IDQ0KSBBTkQgYSE9NDMpCiAgIF1dKQogICAgIGVuZCwgewpAQCAtMTkyNDEsNyArMTkyNDEsNyBA QCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiAoZz0nbWxramloZycgQU5EIGYgR0xPQiAna2xt bm8qJykKICAgICAgICAgIE9SIGI9MzE5CiAgICAgICAgICBPUiBmPSdmZ2hpamtsbW4nCi0gICAg ICAgICBPUiAoZD49NzMuMCBBTkQgZDw3NC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1Ig KGQ+PTczLjAgQU5EIGQ8NzQuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SICgoYSBC RVRXRUVOIDQyIEFORCA0NCkgQU5EIGEhPTQzKQogICBdXSkKICAgICBlbmQsIHsKQEAgLTE5MjU3 LDExICsxOTI1NywxMSBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgIFNFTEVDVCBhIEZST00gdDIKICAg ICAgIFdIRVJFIGI9NjcxCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA4NiBBTkQgODgpIEFORCBh IT04NykKLSAgICAgICAgIE9SIChkPj0yNy4wIEFORCBkPDI4LjAgQU5EIGQgTk9UIE5VTEwpCisg ICAgICAgICBPUiAoZD49MjcuMCBBTkQgZDwyOC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAg ICAgT1IgYj0xMDA0CiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiAxOCBBTkQgMjApIEFORCBhIT0x OSkKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDUgQU5EIDcpIEFORCBhIT02KQotICAgICAgICAg T1IgKGQ+PTgyLjAgQU5EIGQ8ODMuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj04 Mi4wIEFORCBkPDgzLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTc0OAogICAg ICAgICAgT1IgKGc9J3RzcnFwb24nIEFORCBmIEdMT0IgJ3h5emFiKicpCiAgIF1dKQpAQCAtMTky NzgsMTEgKzE5Mjc4LDExIEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgU0VMRUNUIGEgRlJPTSB0Mwog ICAgICAgV0hFUkUgYj02NzEKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDg2IEFORCA4OCkgQU5E IGEhPTg3KQotICAgICAgICAgT1IgKGQ+PTI3LjAgQU5EIGQ8MjguMCBBTkQgZCBOT1QgTlVMTCkK KyAgICAgICAgIE9SIChkPj0yNy4wIEFORCBkPDI4LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAg ICAgICBPUiBiPTEwMDQKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDE4IEFORCAyMCkgQU5EIGEh PTE5KQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNSBBTkQgNykgQU5EIGEhPTYpCi0gICAgICAg ICBPUiAoZD49ODIuMCBBTkQgZDw4My4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+ PTgyLjAgQU5EIGQ8ODMuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9NzQ4CiAg ICAgICAgICBPUiAoZz0ndHNycXBvbicgQU5EIGYgR0xPQiAneHl6YWIqJykKICAgXV0pCkBAIC0x OTMzNCwxMSArMTkzMzQsMTEgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICByZXR1cm4gY291bnRf c3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCiAgICAgICBXSEVSRSAoZz0namlo Z2ZlZCcgQU5EIGYgR0xPQiAnd3h5emEqJykKLSAgICAgICAgIE9SIChkPj02Ny4wIEFORCBkPDY4 LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NjcuMCBBTkQgZDw2OC4wIEFORCBk IElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj0xMTAKICAgICAgICAgIE9SIChnPSdnZmVkY2Jh JyBBTkQgZiBHTE9CICdub3BxcionKQogICAgICAgICAgT1IgYz0yNjAyNgotICAgICAgICAgT1Ig KGQ+PTY5LjAgQU5EIGQ8NzAuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj02OS4w IEFORCBkPDcwLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTg1MAogICAgICAg ICAgT1IgYT02CiAgIF1dKQpAQCAtMTkzNTQsMTEgKzE5MzU0LDExIEBAIHRlc3Q6ZG9fdGVzdCgK ICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0 MwogICAgICAgV0hFUkUgKGc9J2ppaGdmZWQnIEFORCBmIEdMT0IgJ3d4eXphKicpCi0gICAgICAg ICBPUiAoZD49NjcuMCBBTkQgZDw2OC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+ PTY3LjAgQU5EIGQ8NjguMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9MTEwCiAg ICAgICAgICBPUiAoZz0nZ2ZlZGNiYScgQU5EIGYgR0xPQiAnbm9wcXIqJykKICAgICAgICAgIE9S IGM9MjYwMjYKLSAgICAgICAgIE9SIChkPj02OS4wIEFORCBkPDcwLjAgQU5EIGQgTk9UIE5VTEwp CisgICAgICAgICBPUiAoZD49NjkuMCBBTkQgZDw3MC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAg ICAgICAgT1IgYj04NTAKICAgICAgICAgIE9SIGE9NgogICBdXSkKQEAgLTE5NDE2LDcgKzE5NDE2 LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwog ICAgICBTRUxFQ1QgYSBGUk9NIHQyCiAgICAgICBXSEVSRSBiPTI0MgotICAgICAgICAgT1IgKGQ+ PTIwLjAgQU5EIGQ8MjEuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0yMC4wIEFO RCBkPDIxLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiAyMCBB TkQgMjIpIEFORCBhIT0yMSkKICAgXV0pCiAgICAgZW5kLCB7CkBAIC0xOTQzMSw3ICsxOTQzMSw3 IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAg ICAgU0VMRUNUIGEgRlJPTSB0MwogICAgICAgV0hFUkUgYj0yNDIKLSAgICAgICAgIE9SIChkPj0y MC4wIEFORCBkPDIxLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MjAuMCBBTkQg ZDwyMS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMjAgQU5E IDIyKSBBTkQgYSE9MjEpCiAgIF1dKQogICAgIGVuZCwgewpAQCAtMTk0ODYsNyArMTk0ODYsNyBA QCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAg IFNFTEVDVCBhIEZST00gdDIKICAgICAgIFdIRVJFIChnPSd4d3Z1dHNyJyBBTkQgZiBHTE9CICdn aGlqayonKQotICAgICAgICAgT1IgKGQ+PTYxLjAgQU5EIGQ8NjIuMCBBTkQgZCBOT1QgTlVMTCkK KyAgICAgICAgIE9SIChkPj02MS4wIEFORCBkPDYyLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAg ICAgICBPUiAoZz0ndnV0c3JxcCcgQU5EIGYgR0xPQiAncHFyc3QqJykKICAgICAgICAgIE9SIGE9 NTIKICAgXV0pCkBAIC0xOTUwMiw3ICsxOTUwMiw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAg cmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MwogICAgICAg V0hFUkUgKGc9J3h3dnV0c3InIEFORCBmIEdMT0IgJ2doaWprKicpCi0gICAgICAgICBPUiAoZD49 NjEuMCBBTkQgZDw2Mi4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTYxLjAgQU5E IGQ8NjIuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChnPSd2dXRzcnFwJyBBTkQg ZiBHTE9CICdwcXJzdConKQogICAgICAgICAgT1IgYT01MgogICBdXSkKQEAgLTE5NTU1LDcgKzE5 NTU1LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICBTRUxFQ1QgYSBGUk9NIHQyCiAgICAgICBXSEVS RSAoKGEgQkVUV0VFTiA0NyBBTkQgNDkpIEFORCBhIT00OCkKICAgICAgICAgIE9SIGI9NTE3Ci0g ICAgICAgICBPUiAoZD49NjMuMCBBTkQgZDw2NC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAg T1IgKGQ+PTYzLjAgQU5EIGQ8NjQuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SICgo YSBCRVRXRUVOIDY3IEFORCA2OSkgQU5EIGEhPTY4KQogICAgICAgICAgT1IgKGc9J3NycXBvbm0n IEFORCBmIEdMT0IgJ2ZnaGlqKicpCiAgICAgICAgICBPUiBmPSdkZWZnaGlqa2wnCkBAIC0xOTU2 Myw3ICsxOTU2Myw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIGM+PTM0MDM1CiAgICAg ICAgICBPUiAoKGEgQkVUV0VFTiAzMyBBTkQgMzUpIEFORCBhIT0zNCkKICAgICAgICAgIE9SIGE9 ODAKLSAgICAgICAgIE9SIChkPj0yMy4wIEFORCBkPDI0LjAgQU5EIGQgTk9UIE5VTEwpCisgICAg ICAgICBPUiAoZD49MjMuMCBBTkQgZDwyNC4wIEFORCBkIElTIE5PVCBOVUxMKQogICBdXSkKICAg ICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjUyMy4xPgpAQCAtMTk1NzgsNyArMTk1Nzgs NyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgIFNFTEVDVCBhIEZST00gdDMKICAgICAgIFdIRVJFICgo YSBCRVRXRUVOIDQ3IEFORCA0OSkgQU5EIGEhPTQ4KQogICAgICAgICAgT1IgYj01MTcKLSAgICAg ICAgIE9SIChkPj02My4wIEFORCBkPDY0LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAo ZD49NjMuMCBBTkQgZDw2NC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKChhIEJF VFdFRU4gNjcgQU5EIDY5KSBBTkQgYSE9NjgpCiAgICAgICAgICBPUiAoZz0nc3JxcG9ubScgQU5E IGYgR0xPQiAnZmdoaWoqJykKICAgICAgICAgIE9SIGY9J2RlZmdoaWprbCcKQEAgLTE5NTg2LDcg KzE5NTg2LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgYz49MzQwMzUKICAgICAgICAg IE9SICgoYSBCRVRXRUVOIDMzIEFORCAzNSkgQU5EIGEhPTM0KQogICAgICAgICAgT1IgYT04MAot ICAgICAgICAgT1IgKGQ+PTIzLjAgQU5EIGQ8MjQuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAg IE9SIChkPj0yMy4wIEFORCBkPDI0LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVu ZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIuNTIzLjI+CkBAIC0xOTU5OSw3ICsxOTU5OSw3IEBA IHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVw c19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIKLSAgICAgIFdIRVJFIChkPj05Ni4wIEFO RCBkPDk3LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49OTYuMCBBTkQgZDw5Ny4w IEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj0yMDkKICAgICAgICAgIE9SIGI9Mzk5 CiAgICAgICAgICBPUiAoZz0nZmVkY2JheicgQU5EIGYgR0xPQiAndHV2d3gqJykKQEAgLTE5NjE1 LDcgKzE5NjE1LDcgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAgICAgICAgcmV0 dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MwotICAgICAgV0hF UkUgKGQ+PTk2LjAgQU5EIGQ8OTcuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChkPj05 Ni4wIEFORCBkPDk3LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTIwOQogICAg ICAgICAgT1IgYj0zOTkKICAgICAgICAgIE9SIChnPSdmZWRjYmF6JyBBTkQgZiBHTE9CICd0dXZ3 eConKQpAQCAtMTk2MzgsNyArMTk2MzgsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiAo Zz0nbm1sa2ppaCcgQU5EIGYgR0xPQiAnZGVmZ2gqJykKICAgICAgICAgIE9SIChmIEdMT0IgJz96 YWJjKicgQU5EIGYgR0xPQiAneXphYionKQogICAgICAgICAgT1IgYj00MzIKLSAgICAgICAgIE9S IChkPj05Mi4wIEFORCBkPDkzLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49OTIu MCBBTkQgZDw5My4wIEFORCBkIElTIE5PVCBOVUxMKQogICBdXSkKICAgICBlbmQsIHsKICAgICAg ICAgLS0gPHdoZXJlNy0yLjUyNS4xPgpAQCAtMTk2NTgsNyArMTk2NTgsNyBAQCB0ZXN0OmRvX3Rl c3QoCiAgICAgICAgICBPUiAoZz0nbm1sa2ppaCcgQU5EIGYgR0xPQiAnZGVmZ2gqJykKICAgICAg ICAgIE9SIChmIEdMT0IgJz96YWJjKicgQU5EIGYgR0xPQiAneXphYionKQogICAgICAgICAgT1Ig Yj00MzIKLSAgICAgICAgIE9SIChkPj05Mi4wIEFORCBkPDkzLjAgQU5EIGQgTk9UIE5VTEwpCisg ICAgICAgICBPUiAoZD49OTIuMCBBTkQgZDw5My4wIEFORCBkIElTIE5PVCBOVUxMKQogICBdXSkK ICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjUyNS4yPgpAQCAtMTk2NzEsNyArMTk2 NzEsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291 bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCi0gICAgICBXSEVSRSAoZD49 ODguMCBBTkQgZDw4OS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTg4LjAgQU5E IGQ8ODkuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9MTU3CiAgICAgICAgICBP UiAoKGEgQkVUV0VFTiA3OCBBTkQgODApIEFORCBhIT03OSkKICAgICAgICAgIE9SIGE9MwpAQCAt MTk2OTMsNyArMTk2OTMsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAg ICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQzCi0gICAg ICBXSEVSRSAoZD49ODguMCBBTkQgZDw4OS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUg KGQ+PTg4LjAgQU5EIGQ8ODkuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9MTU3 CiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA3OCBBTkQgODApIEFORCBhIT03OSkKICAgICAgICAg IE9SIGE9MwpAQCAtMTk4MTMsMTEgKzE5ODEzLDExIEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAg IE9SIChnPSdwb25tbGtqJyBBTkQgZiBHTE9CICd1dnd4eSonKQogICAgICAgICAgT1IgYj03ODQK ICAgICAgICAgIE9SIGI9NTgzCi0gICAgICAgICBPUiAoZD49NTQuMCBBTkQgZDw1NS4wIEFORCBk IE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTU0LjAgQU5EIGQ8NTUuMCBBTkQgZCBJUyBOT1Qg TlVMTCkKICAgICAgICAgIE9SIGI9ODE0CiAgICAgICAgICBPUiAoZz0nbWxramloZycgQU5EIGYg R0xPQiAnZ2hpamsqJykKICAgICAgICAgIE9SIGI9NjE5Ci0gICAgICAgICBPUiAoZD49ODAuMCBB TkQgZDw4MS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTgwLjAgQU5EIGQ8ODEu MCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVy ZTctMi41MzAuMT4KQEAgLTE5ODM0LDExICsxOTgzNCwxMSBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAg ICAgICBPUiAoZz0ncG9ubWxraicgQU5EIGYgR0xPQiAndXZ3eHkqJykKICAgICAgICAgIE9SIGI9 Nzg0CiAgICAgICAgICBPUiBiPTU4MwotICAgICAgICAgT1IgKGQ+PTU0LjAgQU5EIGQ8NTUuMCBB TkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj01NC4wIEFORCBkPDU1LjAgQU5EIGQgSVMg Tk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTgxNAogICAgICAgICAgT1IgKGc9J21sa2ppaGcnIEFO RCBmIEdMT0IgJ2doaWprKicpCiAgICAgICAgICBPUiBiPTYxOQotICAgICAgICAgT1IgKGQ+PTgw LjAgQU5EIGQ8ODEuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj04MC4wIEFORCBk PDgxLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8 d2hlcmU3LTIuNTMwLjI+CkBAIC0xOTg5Nyw3ICsxOTg5Nyw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAg ICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNF TEVDVCBhIEZST00gdDIKLSAgICAgIFdIRVJFIChkPj04Ni4wIEFORCBkPDg3LjAgQU5EIGQgTk9U IE5VTEwpCisgICAgICBXSEVSRSAoZD49ODYuMCBBTkQgZDw4Ny4wIEFORCBkIElTIE5PVCBOVUxM KQogICAgICAgICAgT1IgYj0yMzEKICAgICAgICAgIE9SIGE9ODEKICAgICAgICAgIE9SIGE9NzIK QEAgLTE5OTE1LDcgKzE5OTE1LDcgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAg ICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0Mwot ICAgICAgV0hFUkUgKGQ+PTg2LjAgQU5EIGQ8ODcuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdI RVJFIChkPj04Ni4wIEFORCBkPDg3LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBi PTIzMQogICAgICAgICAgT1IgYT04MQogICAgICAgICAgT1IgYT03MgpAQCAtMTk5MzMsMTMgKzE5 OTMzLDEzIEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVybiBj b3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIKLSAgICAgIFdIRVJFIChk Pj03NC4wIEFORCBkPDc1LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49NzQuMCBB TkQgZDw3NS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYT02MwogICAgICAgICAg T1IgKChhIEJFVFdFRU4gNzAgQU5EIDcyKSBBTkQgYSE9NzEpCiAgICAgICAgICBPUiBhPTcxCiAg ICAgICAgICBPUiBiPTIyCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA3NiBBTkQgNzgpIEFORCBh IT03NykKLSAgICAgICAgIE9SIChkPj0yMS4wIEFORCBkPDIyLjAgQU5EIGQgTk9UIE5VTEwpCisg ICAgICAgICBPUiAoZD49MjEuMCBBTkQgZDwyMi4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAg ICAgT1IgKChhIEJFVFdFRU4gNTkgQU5EIDYxKSBBTkQgYSE9NjApCiAgICAgICAgICBPUiBhPTUz CiAgIF1dKQpAQCAtMTk5NTQsMTMgKzE5OTU0LDEzIEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5j dGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBh IEZST00gdDMKLSAgICAgIFdIRVJFIChkPj03NC4wIEFORCBkPDc1LjAgQU5EIGQgTk9UIE5VTEwp CisgICAgICBXSEVSRSAoZD49NzQuMCBBTkQgZDw3NS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAg ICAgICAgT1IgYT02MwogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNzAgQU5EIDcyKSBBTkQgYSE9 NzEpCiAgICAgICAgICBPUiBhPTcxCiAgICAgICAgICBPUiBiPTIyCiAgICAgICAgICBPUiAoKGEg QkVUV0VFTiA3NiBBTkQgNzgpIEFORCBhIT03NykKLSAgICAgICAgIE9SIChkPj0yMS4wIEFORCBk PDIyLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MjEuMCBBTkQgZDwyMi4wIEFO RCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNTkgQU5EIDYxKSBBTkQg YSE9NjApCiAgICAgICAgICBPUiBhPTUzCiAgIF1dKQpAQCAtMjAwMTYsNyArMjAwMTYsNyBAQCB0 ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBiPTIzNAogICAgICAgICAgT1IgYj01NQogICAgICAg ICAgT1IgKGYgR0xPQiAnP3d4eXoqJyBBTkQgZiBHTE9CICd2d3h5KicpCi0gICAgICAgICBPUiAo ZD49NTYuMCBBTkQgZDw1Ny4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTU2LjAg QU5EIGQ8NTcuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAgICAgZW5kLCB7CiAgICAgICAg IC0tIDx3aGVyZTctMi41MzUuMT4KQEAgLTIwMDM4LDcgKzIwMDM4LDcgQEAgdGVzdDpkb190ZXN0 KAogICAgICAgICAgT1IgYj0yMzQKICAgICAgICAgIE9SIGI9NTUKICAgICAgICAgIE9SIChmIEdM T0IgJz93eHl6KicgQU5EIGYgR0xPQiAndnd4eSonKQotICAgICAgICAgT1IgKGQ+PTU2LjAgQU5E IGQ8NTcuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj01Ni4wIEFORCBkPDU3LjAg QU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8d2hlcmU3 LTIuNTM1LjI+CkBAIC0yMDA1Miw3ICsyMDA1Miw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAg cmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MgogICAgICAg V0hFUkUgYj0zNTUKLSAgICAgICAgIE9SIChkPj00OS4wIEFORCBkPDUwLjAgQU5EIGQgTk9UIE5V TEwpCisgICAgICAgICBPUiAoZD49NDkuMCBBTkQgZDw1MC4wIEFORCBkIElTIE5PVCBOVUxMKQog ICAgICAgICAgT1IgKGc9J2tqaWhnZmUnIEFORCBmIEdMT0IgJ3JzdHV2KicpCiAgICAgICAgICBP UiBiPTgwNgogICAgICAgICAgT1IgYj00NjIKQEAgLTIwMDcyLDcgKzIwMDcyLDcgQEAgdGVzdDpk b190ZXN0KAogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1Qg YSBGUk9NIHQzCiAgICAgICBXSEVSRSBiPTM1NQotICAgICAgICAgT1IgKGQ+PTQ5LjAgQU5EIGQ8 NTAuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj00OS4wIEFORCBkPDUwLjAgQU5E IGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoZz0na2ppaGdmZScgQU5EIGYgR0xPQiAncnN0 dXYqJykKICAgICAgICAgIE9SIGI9ODA2CiAgICAgICAgICBPUiBiPTQ2MgpAQCAtMjAxMzEsNyAr MjAxMzEsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiAoZz0ndXRzcnFwbycgQU5EIGYg R0xPQiAndnd4eXoqJykKICAgICAgICAgIE9SIGI9NzQ4CiAgICAgICAgICBPUiBiPTkxMwotICAg ICAgICAgT1IgKGQ+PTUuMCBBTkQgZDw2LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAo ZD49NS4wIEFORCBkPDYuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGE9MjIKICAg XV0pCiAgICAgZW5kLCB7CkBAIC0yMDE0OSw3ICsyMDE0OSw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAg ICAgICAgIE9SIChnPSd1dHNycXBvJyBBTkQgZiBHTE9CICd2d3h5eionKQogICAgICAgICAgT1Ig Yj03NDgKICAgICAgICAgIE9SIGI9OTEzCi0gICAgICAgICBPUiAoZD49NS4wIEFORCBkPDYuMCBB TkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj01LjAgQU5EIGQ8Ni4wIEFORCBkIElTIE5P VCBOVUxMKQogICAgICAgICAgT1IgYT0yMgogICBdXSkKICAgICBlbmQsIHsKQEAgLTIwMjQ0LDEx ICsyMDI0NCwxMSBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICBXSEVSRSBiPTgxNAogICAgICAgICAg T1IgYz0zMDAzMAogICAgICAgICAgT1IgKGc9J3Fwb25tbGsnIEFORCBmIEdMT0IgJ29wcXJzKicp Ci0gICAgICAgICBPUiAoZD49MzQuMCBBTkQgZDwzNS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAg ICAgT1IgKGQ+PTM0LjAgQU5EIGQ8MzUuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9S IGE9MTYKICAgICAgICAgIE9SIGI9MTA0OAogICAgICAgICAgT1IgYj0xMTMKLSAgICAgICAgIE9S IChkPj02MS4wIEFORCBkPDYyLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NjEu MCBBTkQgZDw2Mi4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKGc9J3h3dnV0c3In IEFORCBmIEdMT0IgJ2RlZmdoKicpCiAgICAgICAgICBPUiBiPTcyOQogICAgICAgICAgT1IgYT01 NApAQCAtMjAyNjcsMTEgKzIwMjY3LDExIEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgIFdIRVJFIGI9 ODE0CiAgICAgICAgICBPUiBjPTMwMDMwCiAgICAgICAgICBPUiAoZz0ncXBvbm1saycgQU5EIGYg R0xPQiAnb3BxcnMqJykKLSAgICAgICAgIE9SIChkPj0zNC4wIEFORCBkPDM1LjAgQU5EIGQgTk9U IE5VTEwpCisgICAgICAgICBPUiAoZD49MzQuMCBBTkQgZDwzNS4wIEFORCBkIElTIE5PVCBOVUxM KQogICAgICAgICAgT1IgYT0xNgogICAgICAgICAgT1IgYj0xMDQ4CiAgICAgICAgICBPUiBiPTEx MwotICAgICAgICAgT1IgKGQ+PTYxLjAgQU5EIGQ8NjIuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAg ICAgIE9SIChkPj02MS4wIEFORCBkPDYyLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBP UiAoZz0neHd2dXRzcicgQU5EIGYgR0xPQiAnZGVmZ2gqJykKICAgICAgICAgIE9SIGI9NzI5CiAg ICAgICAgICBPUiBhPTU0CkBAIC0yMDI5MSw3ICsyMDI5MSw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAg ICAgICAgIE9SIChnPSdramloZ2ZlJyBBTkQgZiBHTE9CICd0dXZ3eConKQogICAgICAgICAgT1Ig Yj04MTQKICAgICAgICAgIE9SIGM9MjIwMjIKLSAgICAgICAgIE9SIChkPj04LjAgQU5EIGQ8OS4w IEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTguMCBBTkQgZDw5LjAgQU5EIGQgSVMg Tk9UIE5VTEwpCiAgICAgICAgICBPUiAoZiBHTE9CICc/bW5vcConIEFORCBmIEdMT0IgJ2xtbm8q JykKICAgICAgICAgIE9SIGE9MQogICAgICAgICAgT1IgYj0zMTEKQEAgLTIwMzE0LDcgKzIwMzE0 LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgKGc9J2tqaWhnZmUnIEFORCBmIEdMT0Ig J3R1dnd4KicpCiAgICAgICAgICBPUiBiPTgxNAogICAgICAgICAgT1IgYz0yMjAyMgotICAgICAg ICAgT1IgKGQ+PTguMCBBTkQgZDw5LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49 OC4wIEFORCBkPDkuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChmIEdMT0IgJz9t bm9wKicgQU5EIGYgR0xPQiAnbG1ubyonKQogICAgICAgICAgT1IgYT0xCiAgICAgICAgICBPUiBi PTMxMQpAQCAtMjAzMzQsNyArMjAzMzQsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgIHJldHVy biBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIKICAgICAgIFdIRVJF IGI9MTQ2Ci0gICAgICAgICBPUiAoZD49NTIuMCBBTkQgZDw1My4wIEFORCBkIE5PVCBOVUxMKQor ICAgICAgICAgT1IgKGQ+PTUyLjAgQU5EIGQ8NTMuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAg ICAgIE9SIGE9NTcKICAgXV0pCiAgICAgZW5kLCB7CkBAIC0yMDM0OSw3ICsyMDM0OSw3IEBAIHRl c3Q6ZG9fdGVzdCgKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VM RUNUIGEgRlJPTSB0MwogICAgICAgV0hFUkUgYj0xNDYKLSAgICAgICAgIE9SIChkPj01Mi4wIEFO RCBkPDUzLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NTIuMCBBTkQgZDw1My4w IEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYT01NwogICBdXSkKICAgICBlbmQsIHsK QEAgLTIwMzYzLDEwICsyMDM2MywxMCBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQog ICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQy Ci0gICAgICBXSEVSRSAoZD49MTAwLjAgQU5EIGQ8MTAxLjAgQU5EIGQgTk9UIE5VTEwpCisgICAg ICBXSEVSRSAoZD49MTAwLjAgQU5EIGQ8MTAxLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAg ICBPUiBmPSdmZ2hpamtsbW4nCiAgICAgICAgICBPUiBhPTcwCi0gICAgICAgICBPUiAoZD49NC4w IEFORCBkPDUuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj00LjAgQU5EIGQ8NS4w IEFORCBkIElTIE5PVCBOVUxMKQogICBdXSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJl Ny0yLjU0NC4xPgpAQCAtMjAzNzksMTAgKzIwMzc5LDEwIEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBm dW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVD VCBhIEZST00gdDMKLSAgICAgIFdIRVJFIChkPj0xMDAuMCBBTkQgZDwxMDEuMCBBTkQgZCBOT1Qg TlVMTCkKKyAgICAgIFdIRVJFIChkPj0xMDAuMCBBTkQgZDwxMDEuMCBBTkQgZCBJUyBOT1QgTlVM TCkKICAgICAgICAgIE9SIGY9J2ZnaGlqa2xtbicKICAgICAgICAgIE9SIGE9NzAKLSAgICAgICAg IE9SIChkPj00LjAgQU5EIGQ8NS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTQu MCBBTkQgZDw1LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAgICAg ICAtLSA8d2hlcmU3LTIuNTQ0LjI+CkBAIC0yMDM5NywxMiArMjAzOTcsMTIgQEAgdGVzdDpkb190 ZXN0KAogICAgICBTRUxFQ1QgYSBGUk9NIHQyCiAgICAgICBXSEVSRSBhPTQyCiAgICAgICAgICBP UiBiPTMzMwotICAgICAgICAgT1IgKGQ+PTM1LjAgQU5EIGQ8MzYuMCBBTkQgZCBOT1QgTlVMTCkK KyAgICAgICAgIE9SIChkPj0zNS4wIEFORCBkPDM2LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAg ICAgICBPUiBiPTEwODkKLSAgICAgICAgIE9SIChkPj0xMi4wIEFORCBkPDEzLjAgQU5EIGQgTk9U IE5VTEwpCisgICAgICAgICBPUiAoZD49MTIuMCBBTkQgZDwxMy4wIEFORCBkIElTIE5PVCBOVUxM KQogICAgICAgICAgT1IgYT0yMgogICAgICAgICAgT1IgYj01OTQKLSAgICAgICAgIE9SIChkPj0x NS4wIEFORCBkPDE2LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MTUuMCBBTkQg ZDwxNi4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKGYgR0xPQiAnP2doaWoqJyBB TkQgZiBHTE9CICdmZ2hpKicpCiAgIF1dKQogICAgIGVuZCwgewpAQCAtMjA0MTgsMTIgKzIwNDE4 LDEyIEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgU0VMRUNUIGEgRlJPTSB0MwogICAgICAgV0hFUkUg YT00MgogICAgICAgICAgT1IgYj0zMzMKLSAgICAgICAgIE9SIChkPj0zNS4wIEFORCBkPDM2LjAg QU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MzUuMCBBTkQgZDwzNi4wIEFORCBkIElT IE5PVCBOVUxMKQogICAgICAgICAgT1IgYj0xMDg5Ci0gICAgICAgICBPUiAoZD49MTIuMCBBTkQg ZDwxMy4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTEyLjAgQU5EIGQ8MTMuMCBB TkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGE9MjIKICAgICAgICAgIE9SIGI9NTk0Ci0g ICAgICAgICBPUiAoZD49MTUuMCBBTkQgZDwxNi4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAg T1IgKGQ+PTE1LjAgQU5EIGQ8MTYuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChm IEdMT0IgJz9naGlqKicgQU5EIGYgR0xPQiAnZmdoaSonKQogICBdXSkKICAgICBlbmQsIHsKQEAg LTIwNDM3LDE1ICsyMDQzNywxNSBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAg ICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCi0g ICAgICBXSEVSRSAoZD49NjcuMCBBTkQgZDw2OC4wIEFORCBkIE5PVCBOVUxMKQotICAgICAgICAg T1IgKGQ+PTE2LjAgQU5EIGQ8MTcuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChkPj02 Ny4wIEFORCBkPDY4LjAgQU5EIGQgSVMgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MTYuMCBB TkQgZDwxNy4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj0xMTMKLSAgICAgICAg IE9SIChkPj0yNS4wIEFORCBkPDI2LjAgQU5EIGQgTk9UIE5VTEwpCi0gICAgICAgICBPUiAoZD49 NjkuMCBBTkQgZDw3MC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTI1LjAgQU5E IGQ8MjYuMCBBTkQgZCBJUyBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj02OS4wIEFORCBkPDcw LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiAzIEFORCA1KSBB TkQgYSE9NCkKICAgICAgICAgIE9SIChmIEdMT0IgJz9iY2RlKicgQU5EIGYgR0xPQiAnYWJjZCon KQogICAgICAgICAgT1IgZj0nbW5vcHFyc3R1JwotICAgICAgICAgT1IgKGQ+PTE3LjAgQU5EIGQ8 MTguMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0xNy4wIEFORCBkPDE4LjAgQU5E IGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTkwMgogICBdXSkKICAgICBlbmQsIHsKQEAg LTIwNDU5LDE1ICsyMDQ1OSwxNSBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAg ICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQzCi0g ICAgICBXSEVSRSAoZD49NjcuMCBBTkQgZDw2OC4wIEFORCBkIE5PVCBOVUxMKQotICAgICAgICAg T1IgKGQ+PTE2LjAgQU5EIGQ8MTcuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChkPj02 Ny4wIEFORCBkPDY4LjAgQU5EIGQgSVMgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MTYuMCBB TkQgZDwxNy4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj0xMTMKLSAgICAgICAg IE9SIChkPj0yNS4wIEFORCBkPDI2LjAgQU5EIGQgTk9UIE5VTEwpCi0gICAgICAgICBPUiAoZD49 NjkuMCBBTkQgZDw3MC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTI1LjAgQU5E IGQ8MjYuMCBBTkQgZCBJUyBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj02OS4wIEFORCBkPDcw LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiAzIEFORCA1KSBB TkQgYSE9NCkKICAgICAgICAgIE9SIChmIEdMT0IgJz9iY2RlKicgQU5EIGYgR0xPQiAnYWJjZCon KQogICAgICAgICAgT1IgZj0nbW5vcHFyc3R1JwotICAgICAgICAgT1IgKGQ+PTE3LjAgQU5EIGQ8 MTguMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0xNy4wIEFORCBkPDE4LjAgQU5E IGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTkwMgogICBdXSkKICAgICBlbmQsIHsKQEAg LTIwNTE2LDcgKzIwNTE2LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgKGc9J2loZ2Zl ZGMnIEFORCBmIEdMT0IgJ2VmZ2hpKicpCiAgICAgICAgICBPUiBiPTQxOAogICAgICAgICAgT1Ig KGc9J2dmZWRjYmEnIEFORCBmIEdMT0IgJ2tsbW5vKicpCi0gICAgICAgICBPUiAoZD49NjUuMCBB TkQgZDw2Ni4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTY1LjAgQU5EIGQ8NjYu MCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVy ZTctMi41NDguMT4KQEAgLTIwNTM0LDcgKzIwNTM0LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAg ICAgT1IgKGc9J2loZ2ZlZGMnIEFORCBmIEdMT0IgJ2VmZ2hpKicpCiAgICAgICAgICBPUiBiPTQx OAogICAgICAgICAgT1IgKGc9J2dmZWRjYmEnIEFORCBmIEdMT0IgJ2tsbW5vKicpCi0gICAgICAg ICBPUiAoZD49NjUuMCBBTkQgZDw2Ni4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+ PTY1LjAgQU5EIGQ8NjYuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAgICAgZW5kLCB7CiAg ICAgICAgIC0tIDx3aGVyZTctMi41NDguMj4KQEAgLTIwNTUxLDEwICsyMDU1MSwxMCBAQCB0ZXN0 OmRvX3Rlc3QoCiAgICAgICAgICBPUiBhPTk1CiAgICAgICAgICBPUiBhPTU2CiAgICAgICAgICBP UiBhPTQ2Ci0gICAgICAgICBPUiAoZD49MTAwLjAgQU5EIGQ8MTAxLjAgQU5EIGQgTk9UIE5VTEwp CisgICAgICAgICBPUiAoZD49MTAwLjAgQU5EIGQ8MTAxLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAg ICAgICAgICBPUiAoZz0nbWxramloZycgQU5EIGYgR0xPQiAnamtsbW4qJykKICAgICAgICAgIE9S IChnPSd3dnV0c3JxJyBBTkQgZiBHTE9CICdrbG1ubyonKQotICAgICAgICAgT1IgKGQ+PTQxLjAg QU5EIGQ8NDIuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj00MS4wIEFORCBkPDQy LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8d2hl cmU3LTIuNTQ5LjE+CkBAIC0yMDU3MSwxMCArMjA1NzEsMTAgQEAgdGVzdDpkb190ZXN0KAogICAg ICAgICAgT1IgYT05NQogICAgICAgICAgT1IgYT01NgogICAgICAgICAgT1IgYT00NgotICAgICAg ICAgT1IgKGQ+PTEwMC4wIEFORCBkPDEwMS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1Ig KGQ+PTEwMC4wIEFORCBkPDEwMS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKGc9 J21sa2ppaGcnIEFORCBmIEdMT0IgJ2prbG1uKicpCiAgICAgICAgICBPUiAoZz0nd3Z1dHNycScg QU5EIGYgR0xPQiAna2xtbm8qJykKLSAgICAgICAgIE9SIChkPj00MS4wIEFORCBkPDQyLjAgQU5E IGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NDEuMCBBTkQgZDw0Mi4wIEFORCBkIElTIE5P VCBOVUxMKQogICBdXSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjU0OS4yPgpA QCAtMjA1ODcsMTUgKzIwNTg3LDE1IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAg ICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIK LSAgICAgIFdIRVJFIChkPj04Ny4wIEFORCBkPDg4LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBX SEVSRSAoZD49ODcuMCBBTkQgZDw4OC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1Ig YT0xMwotICAgICAgICAgT1IgKGQ+PTc1LjAgQU5EIGQ8NzYuMCBBTkQgZCBOT1QgTlVMTCkKKyAg ICAgICAgIE9SIChkPj03NS4wIEFORCBkPDc2LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAg ICBPUiBhPTkKICAgICAgICAgIE9SIGE9MjcKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDg4IEFO RCA5MCkgQU5EIGEhPTg5KQotICAgICAgICAgT1IgKGQ+PTM3LjAgQU5EIGQ8MzguMCBBTkQgZCBO T1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0zNy4wIEFORCBkPDM4LjAgQU5EIGQgSVMgTk9UIE5V TEwpCiAgICAgICAgICBPUiBiPTQ4NAotICAgICAgICAgT1IgKGQ+PTQ0LjAgQU5EIGQ8NDUuMCBB TkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj00NC4wIEFORCBkPDQ1LjAgQU5EIGQgSVMg Tk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTU5NAogICBdXSkKICAgICBlbmQsIHsKQEAgLTIwNjA5 LDE1ICsyMDYwOSwxNSBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICBy ZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQzCi0gICAgICBX SEVSRSAoZD49ODcuMCBBTkQgZDw4OC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+ PTg3LjAgQU5EIGQ8ODguMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGE9MTMKLSAg ICAgICAgIE9SIChkPj03NS4wIEFORCBkPDc2LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBP UiAoZD49NzUuMCBBTkQgZDw3Ni4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYT05 CiAgICAgICAgICBPUiBhPTI3CiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA4OCBBTkQgOTApIEFO RCBhIT04OSkKLSAgICAgICAgIE9SIChkPj0zNy4wIEFORCBkPDM4LjAgQU5EIGQgTk9UIE5VTEwp CisgICAgICAgICBPUiAoZD49MzcuMCBBTkQgZDwzOC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAg ICAgICAgT1IgYj00ODQKLSAgICAgICAgIE9SIChkPj00NC4wIEFORCBkPDQ1LjAgQU5EIGQgTk9U IE5VTEwpCisgICAgICAgICBPUiAoZD49NDQuMCBBTkQgZDw0NS4wIEFORCBkIElTIE5PVCBOVUxM KQogICAgICAgICAgT1IgYj01OTQKICAgXV0pCiAgICAgZW5kLCB7CkBAIC0yMDY5OSwxMiArMjA2 OTksMTIgQEAgdGVzdDpkb190ZXN0KAogICAgICBTRUxFQ1QgYSBGUk9NIHQyCiAgICAgICBXSEVS RSBiPTc5NQogICAgICAgICAgT1IgYj02NzEKLSAgICAgICAgIE9SIChkPj0zOC4wIEFORCBkPDM5 LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MzguMCBBTkQgZDwzOS4wIEFORCBk IElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNzEgQU5EIDczKSBBTkQgYSE9 NzIpCi0gICAgICAgICBPUiAoZD49NjMuMCBBTkQgZDw2NC4wIEFORCBkIE5PVCBOVUxMKQorICAg ICAgICAgT1IgKGQ+PTYzLjAgQU5EIGQ8NjQuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAg IE9SIChmIEdMT0IgJz9xcnN0KicgQU5EIGYgR0xPQiAncHFycyonKQogICAgICAgICAgT1IgYj0z MjIKLSAgICAgICAgIE9SIChkPj02MC4wIEFORCBkPDYxLjAgQU5EIGQgTk9UIE5VTEwpCisgICAg ICAgICBPUiAoZD49NjAuMCBBTkQgZDw2MS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAg T1IgYz0zNDAzNAogICAgICAgICAgT1IgYj00MTAKICAgXV0pCkBAIC0yMDcyMSwxMiArMjA3MjEs MTIgQEAgdGVzdDpkb190ZXN0KAogICAgICBTRUxFQ1QgYSBGUk9NIHQzCiAgICAgICBXSEVSRSBi PTc5NQogICAgICAgICAgT1IgYj02NzEKLSAgICAgICAgIE9SIChkPj0zOC4wIEFORCBkPDM5LjAg QU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MzguMCBBTkQgZDwzOS4wIEFORCBkIElT IE5PVCBOVUxMKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNzEgQU5EIDczKSBBTkQgYSE9NzIp Ci0gICAgICAgICBPUiAoZD49NjMuMCBBTkQgZDw2NC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAg ICAgT1IgKGQ+PTYzLjAgQU5EIGQ8NjQuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9S IChmIEdMT0IgJz9xcnN0KicgQU5EIGYgR0xPQiAncHFycyonKQogICAgICAgICAgT1IgYj0zMjIK LSAgICAgICAgIE9SIChkPj02MC4wIEFORCBkPDYxLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAg ICBPUiAoZD49NjAuMCBBTkQgZDw2MS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1Ig Yz0zNDAzNAogICAgICAgICAgT1IgYj00MTAKICAgXV0pCkBAIC0yMDc0MywxMCArMjA3NDMsMTAg QEAgdGVzdDpkb190ZXN0KAogICAgICBTRUxFQ1QgYSBGUk9NIHQyCiAgICAgICBXSEVSRSBjPTEz MDEzCiAgICAgICAgICBPUiAoZz0nZmVkY2JheicgQU5EIGYgR0xPQiAncXJzdHUqJykKLSAgICAg ICAgIE9SIChkPj00Mi4wIEFORCBkPDQzLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAo ZD49NDIuMCBBTkQgZDw0My4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKGc9J21s a2ppaGcnIEFORCBmIEdMT0IgJ2prbG1uKicpCiAgICAgICAgICBPUiBiPTQ3Ci0gICAgICAgICBP UiAoZD49NzkuMCBBTkQgZDw4MC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTc5 LjAgQU5EIGQ8ODAuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChnPSdramloZ2Zl JyBBTkQgZiBHTE9CICdyc3R1dionKQogICAgICAgICAgT1IgYj04MjgKICAgXV0pCkBAIC0yMDc2 MywxMCArMjA3NjMsMTAgQEAgdGVzdDpkb190ZXN0KAogICAgICBTRUxFQ1QgYSBGUk9NIHQzCiAg ICAgICBXSEVSRSBjPTEzMDEzCiAgICAgICAgICBPUiAoZz0nZmVkY2JheicgQU5EIGYgR0xPQiAn cXJzdHUqJykKLSAgICAgICAgIE9SIChkPj00Mi4wIEFORCBkPDQzLjAgQU5EIGQgTk9UIE5VTEwp CisgICAgICAgICBPUiAoZD49NDIuMCBBTkQgZDw0My4wIEFORCBkIElTIE5PVCBOVUxMKQogICAg ICAgICAgT1IgKGc9J21sa2ppaGcnIEFORCBmIEdMT0IgJ2prbG1uKicpCiAgICAgICAgICBPUiBi PTQ3Ci0gICAgICAgICBPUiAoZD49NzkuMCBBTkQgZDw4MC4wIEFORCBkIE5PVCBOVUxMKQorICAg ICAgICAgT1IgKGQ+PTc5LjAgQU5EIGQ8ODAuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAg IE9SIChnPSdramloZ2ZlJyBBTkQgZiBHTE9CICdyc3R1dionKQogICAgICAgICAgT1IgYj04MjgK ICAgXV0pCkBAIC0yMDg3NSwxMiArMjA4NzUsMTIgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0 aW9uKCkKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEg RlJPTSB0MgotICAgICAgV0hFUkUgKGQ+PTEyLjAgQU5EIGQ8MTMuMCBBTkQgZCBOT1QgTlVMTCkK KyAgICAgIFdIRVJFIChkPj0xMi4wIEFORCBkPDEzLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAg ICAgICBPUiBiPTgwNgogICAgICAgICAgT1IgYT00NwogICAgICAgICAgT1IgZDwwLjAKICAgICAg ICAgIE9SIGI9OTgyCi0gICAgICAgICBPUiAoZD49Mi4wIEFORCBkPDMuMCBBTkQgZCBOT1QgTlVM TCkKKyAgICAgICAgIE9SIChkPj0yLjAgQU5EIGQ8My4wIEFORCBkIElTIE5PVCBOVUxMKQogICAg ICAgICAgT1IgKGc9J2hnZmVkY2InIEFORCBmIEdMT0IgJ2prbG1uKicpCiAgICAgICAgICBPUiAo KGEgQkVUV0VFTiA5NyBBTkQgOTkpIEFORCBhIT05OCkKICAgICAgICAgIE9SIGUgSVMgTlVMTApA QCAtMjA4OTgsMTIgKzIwODk4LDEyIEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAg ICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDMK LSAgICAgIFdIRVJFIChkPj0xMi4wIEFORCBkPDEzLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBX SEVSRSAoZD49MTIuMCBBTkQgZDwxMy4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1Ig Yj04MDYKICAgICAgICAgIE9SIGE9NDcKICAgICAgICAgIE9SIGQ8MC4wCiAgICAgICAgICBPUiBi PTk4MgotICAgICAgICAgT1IgKGQ+PTIuMCBBTkQgZDwzLjAgQU5EIGQgTk9UIE5VTEwpCisgICAg ICAgICBPUiAoZD49Mi4wIEFORCBkPDMuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9S IChnPSdoZ2ZlZGNiJyBBTkQgZiBHTE9CICdqa2xtbionKQogICAgICAgICAgT1IgKChhIEJFVFdF RU4gOTcgQU5EIDk5KSBBTkQgYSE9OTgpCiAgICAgICAgICBPUiBlIElTIE5VTEwKQEAgLTIwOTUz LDExICsyMDk1MywxMSBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICBy ZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCi0gICAgICBX SEVSRSAoZD49NTcuMCBBTkQgZDw1OC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+ PTU3LjAgQU5EIGQ8NTguMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9MTA1Ngot ICAgICAgICAgT1IgKGQ+PTczLjAgQU5EIGQ8NzQuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAg IE9SIChkPj03My4wIEFORCBkPDc0LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBi PTcyOQotICAgICAgICAgT1IgKGQ+PTkuMCBBTkQgZDwxMC4wIEFORCBkIE5PVCBOVUxMKQorICAg ICAgICAgT1IgKGQ+PTkuMCBBTkQgZDwxMC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAg T1IgYj0yMjAKICAgICAgICAgIE9SIGI9NDk4CiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA5NiBB TkQgOTgpIEFORCBhIT05NykKQEAgLTIwOTczLDExICsyMDk3MywxMSBAQCB0ZXN0OmRvX3Rlc3Qo CiAgICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAg ICBTRUxFQ1QgYSBGUk9NIHQzCi0gICAgICBXSEVSRSAoZD49NTcuMCBBTkQgZDw1OC4wIEFORCBk IE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTU3LjAgQU5EIGQ8NTguMCBBTkQgZCBJUyBOT1Qg TlVMTCkKICAgICAgICAgIE9SIGI9MTA1NgotICAgICAgICAgT1IgKGQ+PTczLjAgQU5EIGQ8NzQu MCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj03My4wIEFORCBkPDc0LjAgQU5EIGQg SVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTcyOQotICAgICAgICAgT1IgKGQ+PTkuMCBBTkQg ZDwxMC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTkuMCBBTkQgZDwxMC4wIEFO RCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj0yMjAKICAgICAgICAgIE9SIGI9NDk4CiAg ICAgICAgICBPUiAoKGEgQkVUV0VFTiA5NiBBTkQgOTgpIEFORCBhIT05NykKQEAgLTIxMDcxLDcg KzIxMDcxLDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgYT0xMAogICAgICAgICAgT1Ig Yj0xOTAKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDggQU5EIDEwKSBBTkQgYSE9OSkKLSAgICAg ICAgIE9SIChkPj01NS4wIEFORCBkPDU2LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAo ZD49NTUuMCBBTkQgZDw1Ni4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKGc9J2dm ZWRjYmEnIEFORCBmIEdMT0IgJ21ub3BxKicpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA2NyBB TkQgNjkpIEFORCBhIT02OCkKICAgICAgICAgIE9SIGI9Mzg1CkBAIC0yMTA5NCw3ICsyMTA5NCw3 IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIGE9MTAKICAgICAgICAgIE9SIGI9MTkwCiAg ICAgICAgICBPUiAoKGEgQkVUV0VFTiA4IEFORCAxMCkgQU5EIGEhPTkpCi0gICAgICAgICBPUiAo ZD49NTUuMCBBTkQgZDw1Ni4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTU1LjAg QU5EIGQ8NTYuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChnPSdnZmVkY2JhJyBB TkQgZiBHTE9CICdtbm9wcSonKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNjcgQU5EIDY5KSBB TkQgYSE9NjgpCiAgICAgICAgICBPUiBiPTM4NQpAQCAtMjExNTIsMTAgKzIxMTUyLDEwIEBAIHRl c3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDMzIEFORCAzNSkgQU5EIGEhPTM0 KQogICAgICAgICAgT1IgYz0zMzAzMwogICAgICAgICAgT1IgKGc9J3V0c3JxcG8nIEFORCBmIEdM T0IgJ3N0dXZ3KicpCi0gICAgICAgICBPUiAoZD49ODEuMCBBTkQgZDw4Mi4wIEFORCBkIE5PVCBO VUxMKQorICAgICAgICAgT1IgKGQ+PTgxLjAgQU5EIGQ8ODIuMCBBTkQgZCBJUyBOT1QgTlVMTCkK ICAgICAgICAgIE9SIGcgSVMgTlVMTAogICAgICAgICAgT1IgYj0yMjAKLSAgICAgICAgIE9SIChk Pj03MC4wIEFORCBkPDcxLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NzAuMCBB TkQgZDw3MS4wIEFORCBkIElTIE5PVCBOVUxMKQogICBdXSkKICAgICBlbmQsIHsKICAgICAgICAg LS0gPHdoZXJlNy0yLjU2NS4xPgpAQCAtMjExNzUsMTAgKzIxMTc1LDEwIEBAIHRlc3Q6ZG9fdGVz dCgKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDMzIEFORCAzNSkgQU5EIGEhPTM0KQogICAgICAg ICAgT1IgYz0zMzAzMwogICAgICAgICAgT1IgKGc9J3V0c3JxcG8nIEFORCBmIEdMT0IgJ3N0dXZ3 KicpCi0gICAgICAgICBPUiAoZD49ODEuMCBBTkQgZDw4Mi4wIEFORCBkIE5PVCBOVUxMKQorICAg ICAgICAgT1IgKGQ+PTgxLjAgQU5EIGQ8ODIuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAg IE9SIGcgSVMgTlVMTAogICAgICAgICAgT1IgYj0yMjAKLSAgICAgICAgIE9SIChkPj03MC4wIEFO RCBkPDcxLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NzAuMCBBTkQgZDw3MS4w IEFORCBkIElTIE5PVCBOVUxMKQogICBdXSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJl Ny0yLjU2NS4yPgpAQCAtMjEyNTYsNyArMjEyNTYsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAg IHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIKICAgICAg IFdIRVJFICgoYSBCRVRXRUVOIDMwIEFORCAzMikgQU5EIGEhPTMxKQotICAgICAgICAgT1IgKGQ+ PTUuMCBBTkQgZDw2LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NS4wIEFORCBk PDYuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3 aGVyZTctMi41NjguMT4KQEAgLTIxMjcwLDcgKzIxMjcwLDcgQEAgdGVzdDpkb190ZXN0KAogICAg ICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQzCiAg ICAgICBXSEVSRSAoKGEgQkVUV0VFTiAzMCBBTkQgMzIpIEFORCBhIT0zMSkKLSAgICAgICAgIE9S IChkPj01LjAgQU5EIGQ8Ni4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTUuMCBB TkQgZDw2LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAgICAgICAt LSA8d2hlcmU3LTIuNTY4LjI+CkBAIC0yMTMxMyw3ICsyMTMxMyw3IEBAIHRlc3Q6ZG9fdGVzdCgK ICAgICAgU0VMRUNUIGEgRlJPTSB0MgogICAgICAgV0hFUkUgKChhIEJFVFdFRU4gMCBBTkQgMikg QU5EIGEhPTEpCiAgICAgICAgICBPUiBiPTExMDAKLSAgICAgICAgIE9SIChkPj03MC4wIEFORCBk PDcxLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NzAuMCBBTkQgZDw3MS4wIEFO RCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj00MjEKICAgICAgICAgIE9SIGI9NDY1CiAg ICAgICAgICBPUiBiPTg5NApAQCAtMjEzMzUsNyArMjEzMzUsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAg ICAgIFNFTEVDVCBhIEZST00gdDMKICAgICAgIFdIRVJFICgoYSBCRVRXRUVOIDAgQU5EIDIpIEFO RCBhIT0xKQogICAgICAgICAgT1IgYj0xMTAwCi0gICAgICAgICBPUiAoZD49NzAuMCBBTkQgZDw3 MS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTcwLjAgQU5EIGQ8NzEuMCBBTkQg ZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9NDIxCiAgICAgICAgICBPUiBiPTQ2NQogICAg ICAgICAgT1IgYj04OTQKQEAgLTIxMzU5LDcgKzIxMzU5LDcgQEAgdGVzdDpkb190ZXN0KAogICAg ICAgICAgT1IgKGc9J2loZ2ZlZGMnIEFORCBmIEdMT0IgJ2FiY2RlKicpCiAgICAgICAgICBPUiBi PTQxMAogICAgICAgICAgT1IgYj04NTgKLSAgICAgICAgIE9SIChkPj00OS4wIEFORCBkPDUwLjAg QU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NDkuMCBBTkQgZDw1MC4wIEFORCBkIElT IE5PVCBOVUxMKQogICBdXSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjU3MS4x PgpAQCAtMjEzNzYsNyArMjEzNzYsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiAoZz0n aWhnZmVkYycgQU5EIGYgR0xPQiAnYWJjZGUqJykKICAgICAgICAgIE9SIGI9NDEwCiAgICAgICAg ICBPUiBiPTg1OAotICAgICAgICAgT1IgKGQ+PTQ5LjAgQU5EIGQ8NTAuMCBBTkQgZCBOT1QgTlVM TCkKKyAgICAgICAgIE9SIChkPj00OS4wIEFORCBkPDUwLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAg IF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIuNTcxLjI+CkBAIC0yMTQyMiw5 ICsyMTQyMiw5IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIGE9NTQKICAgICAgICAgIE9S IChnPSd0c3JxcG9uJyBBTkQgZiBHTE9CICd6YWJjZConKQogICAgICAgICAgT1IgYT05Ci0gICAg ICAgICBPUiAoZD49NDcuMCBBTkQgZDw0OC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1Ig KGQ+PTQ3LjAgQU5EIGQ8NDguMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChmIEdM T0IgJz9pamtsKicgQU5EIGYgR0xPQiAnaGlqayonKQotICAgICAgICAgT1IgKGQ+PTYzLjAgQU5E IGQ8NjQuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj02My4wIEFORCBkPDY0LjAg QU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8d2hlcmU3 LTIuNTczLjE+CkBAIC0yMTQ0Miw5ICsyMTQ0Miw5IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAg IE9SIGE9NTQKICAgICAgICAgIE9SIChnPSd0c3JxcG9uJyBBTkQgZiBHTE9CICd6YWJjZConKQog ICAgICAgICAgT1IgYT05Ci0gICAgICAgICBPUiAoZD49NDcuMCBBTkQgZDw0OC4wIEFORCBkIE5P VCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTQ3LjAgQU5EIGQ8NDguMCBBTkQgZCBJUyBOT1QgTlVM TCkKICAgICAgICAgIE9SIChmIEdMT0IgJz9pamtsKicgQU5EIGYgR0xPQiAnaGlqayonKQotICAg ICAgICAgT1IgKGQ+PTYzLjAgQU5EIGQ8NjQuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9S IChkPj02My4wIEFORCBkPDY0LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwg ewogICAgICAgICAtLSA8d2hlcmU3LTIuNTczLjI+CkBAIC0yMTUyOCw3ICsyMTUyOCw3IEBAIHRl c3Q6ZG9fdGVzdCgKICAgICAgIFdIRVJFIGI9NTUzCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiAy MSBBTkQgMjMpIEFORCBhIT0yMikKICAgICAgICAgIE9SIChnPSdvbm1sa2ppJyBBTkQgZiBHTE9C ICd3eHl6YSonKQotICAgICAgICAgT1IgKGQ+PTU5LjAgQU5EIGQ8NjAuMCBBTkQgZCBOT1QgTlVM TCkKKyAgICAgICAgIE9SIChkPj01OS4wIEFORCBkPDYwLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAg ICAgICAgICBPUiAoZz0nbWxramloZycgQU5EIGYgR0xPQiAnamtsbW4qJykKICAgICAgICAgIE9S IGI9NTgzCiAgICAgICAgICBPUiBhPTU2CkBAIC0yMTU0Nyw3ICsyMTU0Nyw3IEBAIHRlc3Q6ZG9f dGVzdCgKICAgICAgIFdIRVJFIGI9NTUzCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiAyMSBBTkQg MjMpIEFORCBhIT0yMikKICAgICAgICAgIE9SIChnPSdvbm1sa2ppJyBBTkQgZiBHTE9CICd3eHl6 YSonKQotICAgICAgICAgT1IgKGQ+PTU5LjAgQU5EIGQ8NjAuMCBBTkQgZCBOT1QgTlVMTCkKKyAg ICAgICAgIE9SIChkPj01OS4wIEFORCBkPDYwLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAg ICBPUiAoZz0nbWxramloZycgQU5EIGYgR0xPQiAnamtsbW4qJykKICAgICAgICAgIE9SIGI9NTgz CiAgICAgICAgICBPUiBhPTU2CkBAIC0yMTU2NCw3ICsyMTU2NCw3IEBAIHRlc3Q6ZG9fdGVzdCgK ICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0 MgogICAgICAgV0hFUkUgYT04MwotICAgICAgICAgT1IgKGQ+PTc3LjAgQU5EIGQ8NzguMCBBTkQg ZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj03Ny4wIEFORCBkPDc4LjAgQU5EIGQgSVMgTk9U IE5VTEwpCiAgICAgICAgICBPUiAoZz0nc3JxcG9ubScgQU5EIGYgR0xPQiAnZGVmZ2gqJykKICAg ICAgICAgIE9SIGE9MQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMTcgQU5EIDE5KSBBTkQgYSE9 MTgpCkBAIC0yMTU4Myw3ICsyMTU4Myw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgcmV0dXJu IGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MwogICAgICAgV0hFUkUg YT04MwotICAgICAgICAgT1IgKGQ+PTc3LjAgQU5EIGQ8NzguMCBBTkQgZCBOT1QgTlVMTCkKKyAg ICAgICAgIE9SIChkPj03Ny4wIEFORCBkPDc4LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAg ICBPUiAoZz0nc3JxcG9ubScgQU5EIGYgR0xPQiAnZGVmZ2gqJykKICAgICAgICAgIE9SIGE9MQog ICAgICAgICAgT1IgKChhIEJFVFdFRU4gMTcgQU5EIDE5KSBBTkQgYSE9MTgpCkBAIC0yMTYzNCw3 ICsyMTYzNCw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgIFdIRVJFIGI9OTI0CiAgICAgICAgICBP UiBhPTkyCiAgICAgICAgICBPUiBhPTYzCi0gICAgICAgICBPUiAoZD49NjAuMCBBTkQgZDw2MS4w IEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTYwLjAgQU5EIGQ8NjEuMCBBTkQgZCBJ UyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChnPSdmZWRjYmF6JyBBTkQgZiBHTE9CICd0dXZ3eCon KQogICBdXSkKICAgICBlbmQsIHsKQEAgLTIxNjUxLDcgKzIxNjUxLDcgQEAgdGVzdDpkb190ZXN0 KAogICAgICAgV0hFUkUgYj05MjQKICAgICAgICAgIE9SIGE9OTIKICAgICAgICAgIE9SIGE9NjMK LSAgICAgICAgIE9SIChkPj02MC4wIEFORCBkPDYxLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAg ICBPUiAoZD49NjAuMCBBTkQgZDw2MS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1Ig KGc9J2ZlZGNiYXonIEFORCBmIEdMT0IgJ3R1dnd4KicpCiAgIF1dKQogICAgIGVuZCwgewpAQCAt MjE2NjksNyArMjE2NjksNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBmPSd2d3h5emFi Y2QnCiAgICAgICAgICBPUiBiPTE5MAogICAgICAgICAgT1IgKGYgR0xPQiAnP21ub3AqJyBBTkQg ZiBHTE9CICdsbW5vKicpCi0gICAgICAgICBPUiAoZD49NDIuMCBBTkQgZDw0My4wIEFORCBkIE5P VCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTQyLjAgQU5EIGQ8NDMuMCBBTkQgZCBJUyBOT1QgTlVM TCkKICAgICAgICAgIE9SIGI9ODgKICAgICAgICAgIE9SIGI9NTgKICAgXV0pCkBAIC0yMTY4OCw3 ICsyMTY4OCw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIGY9J3Z3eHl6YWJjZCcKICAg ICAgICAgIE9SIGI9MTkwCiAgICAgICAgICBPUiAoZiBHTE9CICc/bW5vcConIEFORCBmIEdMT0Ig J2xtbm8qJykKLSAgICAgICAgIE9SIChkPj00Mi4wIEFORCBkPDQzLjAgQU5EIGQgTk9UIE5VTEwp CisgICAgICAgICBPUiAoZD49NDIuMCBBTkQgZDw0My4wIEFORCBkIElTIE5PVCBOVUxMKQogICAg ICAgICAgT1IgYj04OAogICAgICAgICAgT1IgYj01OAogICBdXSkKQEAgLTIxNzA1LDEyICsyMTcw NSwxMiBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgIFNFTEVDVCBhIEZST00gdDIKICAgICAgIFdIRVJF IGI9NDk1CiAgICAgICAgICBPUiBjPTI0MDI0Ci0gICAgICAgICBPUiAoZD49ODIuMCBBTkQgZDw4 My4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTgyLjAgQU5EIGQ8ODMuMCBBTkQg ZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9MTAwMQogICAgICAgICAgT1IgKGc9J3RzcnFw b24nIEFORCBmIEdMT0IgJ3phYmNkKicpCiAgICAgICAgICBPUiBkPjFlMTAKICAgICAgICAgIE9S IGI9NTMxCi0gICAgICAgICBPUiAoZD49NDkuMCBBTkQgZDw1MC4wIEFORCBkIE5PVCBOVUxMKQor ICAgICAgICAgT1IgKGQ+PTQ5LjAgQU5EIGQ8NTAuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAg ICAgIE9SIGI9MTA4OQogICBdXSkKICAgICBlbmQsIHsKQEAgLTIxNzI2LDEyICsyMTcyNiwxMiBA QCB0ZXN0OmRvX3Rlc3QoCiAgICAgIFNFTEVDVCBhIEZST00gdDMKICAgICAgIFdIRVJFIGI9NDk1 CiAgICAgICAgICBPUiBjPTI0MDI0Ci0gICAgICAgICBPUiAoZD49ODIuMCBBTkQgZDw4My4wIEFO RCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTgyLjAgQU5EIGQ8ODMuMCBBTkQgZCBJUyBO T1QgTlVMTCkKICAgICAgICAgIE9SIGI9MTAwMQogICAgICAgICAgT1IgKGc9J3RzcnFwb24nIEFO RCBmIEdMT0IgJ3phYmNkKicpCiAgICAgICAgICBPUiBkPjFlMTAKICAgICAgICAgIE9SIGI9NTMx Ci0gICAgICAgICBPUiAoZD49NDkuMCBBTkQgZDw1MC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAg ICAgT1IgKGQ+PTQ5LjAgQU5EIGQ8NTAuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9S IGI9MTA4OQogICBdXSkKICAgICBlbmQsIHsKQEAgLTIxNzQ1LDggKzIxNzQ1LDggQEAgdGVzdDpk b190ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQo W1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MgotICAgICAgV0hFUkUgKGQ+PTQ4LjAgQU5EIGQ8NDku MCBBTkQgZCBOT1QgTlVMTCkKLSAgICAgICAgIE9SIChkPj00MS4wIEFORCBkPDQyLjAgQU5EIGQg Tk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49NDguMCBBTkQgZDw0OS4wIEFORCBkIElTIE5PVCBO VUxMKQorICAgICAgICAgT1IgKGQ+PTQxLjAgQU5EIGQ8NDIuMCBBTkQgZCBJUyBOT1QgTlVMTCkK ICAgXV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi41ODIuMT4KQEAgLTIxNzU5 LDggKzIxNzU5LDggQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAgICAgICAgcmV0 dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MwotICAgICAgV0hF UkUgKGQ+PTQ4LjAgQU5EIGQ8NDkuMCBBTkQgZCBOT1QgTlVMTCkKLSAgICAgICAgIE9SIChkPj00 MS4wIEFORCBkPDQyLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49NDguMCBBTkQg ZDw0OS4wIEFORCBkIElTIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTQxLjAgQU5EIGQ8NDIu MCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVy ZTctMi41ODIuMj4KQEAgLTIxNzc2LDcgKzIxNzc2LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAg V0hFUkUgKChhIEJFVFdFRU4gNzEgQU5EIDczKSBBTkQgYSE9NzIpCiAgICAgICAgICBPUiAoZz0n eXh3dnV0cycgQU5EIGYgR0xPQiAnYmNkZWYqJykKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDgw IEFORCA4MikgQU5EIGEhPTgxKQotICAgICAgICAgT1IgKGQ+PTUyLjAgQU5EIGQ8NTMuMCBBTkQg ZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj01Mi4wIEFORCBkPDUzLjAgQU5EIGQgSVMgTk9U IE5VTEwpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA5MSBBTkQgOTMpIEFORCBhIT05MikKICAg ICAgICAgIE9SIGQ+MWUxMAogICAgICAgICAgT1IgYj0yMgpAQCAtMjE3OTcsNyArMjE3OTcsNyBA QCB0ZXN0OmRvX3Rlc3QoCiAgICAgICBXSEVSRSAoKGEgQkVUV0VFTiA3MSBBTkQgNzMpIEFORCBh IT03MikKICAgICAgICAgIE9SIChnPSd5eHd2dXRzJyBBTkQgZiBHTE9CICdiY2RlZionKQogICAg ICAgICAgT1IgKChhIEJFVFdFRU4gODAgQU5EIDgyKSBBTkQgYSE9ODEpCi0gICAgICAgICBPUiAo ZD49NTIuMCBBTkQgZDw1My4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTUyLjAg QU5EIGQ8NTMuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDkx IEFORCA5MykgQU5EIGEhPTkyKQogICAgICAgICAgT1IgZD4xZTEwCiAgICAgICAgICBPUiBiPTIy CkBAIC0yMTg5Miw4ICsyMTg5Miw4IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgIFdIRVJFICgoYSBC RVRXRUVOIDk0IEFORCA5NikgQU5EIGEhPTk1KQogICAgICAgICAgT1IgYj04NTgKICAgICAgICAg IE9SIGI9ODA2Ci0gICAgICAgICBPUiAoZD49NjMuMCBBTkQgZDw2NC4wIEFORCBkIE5PVCBOVUxM KQotICAgICAgICAgT1IgKGQ+PTc3LjAgQU5EIGQ8NzguMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAg ICAgIE9SIChkPj02My4wIEFORCBkPDY0LjAgQU5EIGQgSVMgTk9UIE5VTEwpCisgICAgICAgICBP UiAoZD49NzcuMCBBTkQgZDw3OC4wIEFORCBkIElTIE5PVCBOVUxMKQogICBdXSkKICAgICBlbmQs IHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjU4Ni4xPgpAQCAtMjE5MDksOCArMjE5MDksOCBAQCB0 ZXN0OmRvX3Rlc3QoCiAgICAgICBXSEVSRSAoKGEgQkVUV0VFTiA5NCBBTkQgOTYpIEFORCBhIT05 NSkKICAgICAgICAgIE9SIGI9ODU4CiAgICAgICAgICBPUiBiPTgwNgotICAgICAgICAgT1IgKGQ+ PTYzLjAgQU5EIGQ8NjQuMCBBTkQgZCBOT1QgTlVMTCkKLSAgICAgICAgIE9SIChkPj03Ny4wIEFO RCBkPDc4LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NjMuMCBBTkQgZDw2NC4w IEFORCBkIElTIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTc3LjAgQU5EIGQ8NzguMCBBTkQg ZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi41 ODYuMj4KQEAgLTIxOTI1LDEwICsyMTkyNSwxMCBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgIFNFTEVD VCBhIEZST00gdDIKICAgICAgIFdIRVJFIGY9J3Z3eHl6YWJjZCcKICAgICAgICAgIE9SIGE9NzIK LSAgICAgICAgIE9SIChkPj0zNy4wIEFORCBkPDM4LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAg ICBPUiAoZD49MzcuMCBBTkQgZDwzOC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1Ig Yj05MzUKLSAgICAgICAgIE9SIChkPj00MC4wIEFORCBkPDQxLjAgQU5EIGQgTk9UIE5VTEwpCi0g ICAgICAgICBPUiAoZD49MzYuMCBBTkQgZDwzNy4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAg T1IgKGQ+PTQwLjAgQU5EIGQ8NDEuMCBBTkQgZCBJUyBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChk Pj0zNi4wIEFORCBkPDM3LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBjPTEzMDEz CiAgIF1dKQogICAgIGVuZCwgewpAQCAtMjE5NDQsMTAgKzIxOTQ0LDEwIEBAIHRlc3Q6ZG9fdGVz dCgKICAgICAgU0VMRUNUIGEgRlJPTSB0MwogICAgICAgV0hFUkUgZj0ndnd4eXphYmNkJwogICAg ICAgICAgT1IgYT03MgotICAgICAgICAgT1IgKGQ+PTM3LjAgQU5EIGQ8MzguMCBBTkQgZCBOT1Qg TlVMTCkKKyAgICAgICAgIE9SIChkPj0zNy4wIEFORCBkPDM4LjAgQU5EIGQgSVMgTk9UIE5VTEwp CiAgICAgICAgICBPUiBiPTkzNQotICAgICAgICAgT1IgKGQ+PTQwLjAgQU5EIGQ8NDEuMCBBTkQg ZCBOT1QgTlVMTCkKLSAgICAgICAgIE9SIChkPj0zNi4wIEFORCBkPDM3LjAgQU5EIGQgTk9UIE5V TEwpCisgICAgICAgICBPUiAoZD49NDAuMCBBTkQgZDw0MS4wIEFORCBkIElTIE5PVCBOVUxMKQor ICAgICAgICAgT1IgKGQ+PTM2LjAgQU5EIGQ8MzcuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAg ICAgIE9SIGM9MTMwMTMKICAgXV0pCiAgICAgZW5kLCB7CkBAIC0yMTk2Myw3ICsyMTk2Myw3IEBA IHRlc3Q6ZG9fdGVzdCgKICAgICAgU0VMRUNUIGEgRlJPTSB0MgogICAgICAgV0hFUkUgYz01MDA1 CiAgICAgICAgICBPUiAoZz0nZ2ZlZGNiYScgQU5EIGYgR0xPQiAna2xtbm8qJykKLSAgICAgICAg IE9SIChkPj00My4wIEFORCBkPDQ0LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49 NDMuMCBBTkQgZDw0NC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKGc9J3Bvbm1s a2onIEFORCBmIEdMT0IgJ3N0dXZ3KicpCiAgICAgICAgICBPUiBiPTE0MwogICAgICAgICAgT1Ig YT02OApAQCAtMjE5ODMsNyArMjE5ODMsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgIFNFTEVDVCBh IEZST00gdDMKICAgICAgIFdIRVJFIGM9NTAwNQogICAgICAgICAgT1IgKGc9J2dmZWRjYmEnIEFO RCBmIEdMT0IgJ2tsbW5vKicpCi0gICAgICAgICBPUiAoZD49NDMuMCBBTkQgZDw0NC4wIEFORCBk IE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTQzLjAgQU5EIGQ8NDQuMCBBTkQgZCBJUyBOT1Qg TlVMTCkKICAgICAgICAgIE9SIChnPSdwb25tbGtqJyBBTkQgZiBHTE9CICdzdHV2dyonKQogICAg ICAgICAgT1IgYj0xNDMKICAgICAgICAgIE9SIGE9NjgKQEAgLTIyMDAxLDkgKzIyMDAxLDkgQEAg dGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBz X3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MgotICAgICAgV0hFUkUgKGQ+PTUuMCBBTkQg ZDw2LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49NS4wIEFORCBkPDYuMCBBTkQg ZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChnPSd4d3Z1dHNyJyBBTkQgZiBHTE9CICdnaGlq ayonKQotICAgICAgICAgT1IgKGQ+PTcyLjAgQU5EIGQ8NzMuMCBBTkQgZCBOT1QgTlVMTCkKKyAg ICAgICAgIE9SIChkPj03Mi4wIEFORCBkPDczLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAg ICBPUiAoKGEgQkVUV0VFTiA3NiBBTkQgNzgpIEFORCBhIT03NykKICAgICAgICAgIE9SIChnPSdr amloZ2ZlJyBBTkQgZiBHTE9CICdxcnN0dSonKQogICAgICAgICAgT1IgYT05OQpAQCAtMjIwMjAs OSArMjIwMjAsOSBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1 cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQzCi0gICAgICBXSEVS RSAoZD49NS4wIEFORCBkPDYuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChkPj01LjAg QU5EIGQ8Ni4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKGc9J3h3dnV0c3InIEFO RCBmIEdMT0IgJ2doaWprKicpCi0gICAgICAgICBPUiAoZD49NzIuMCBBTkQgZDw3My4wIEFORCBk IE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTcyLjAgQU5EIGQ8NzMuMCBBTkQgZCBJUyBOT1Qg TlVMTCkKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDc2IEFORCA3OCkgQU5EIGEhPTc3KQogICAg ICAgICAgT1IgKGc9J2tqaWhnZmUnIEFORCBmIEdMT0IgJ3Fyc3R1KicpCiAgICAgICAgICBPUiBh PTk5CkBAIC0yMjA0MSw3ICsyMjA0MSw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgU0VMRUNUIGEg RlJPTSB0MgogICAgICAgV0hFUkUgKGc9J3Fwb25tbGsnIEFORCBmIEdMT0IgJ29wcXJzKicpCiAg ICAgICAgICBPUiAoKGEgQkVUV0VFTiA4OCBBTkQgOTApIEFORCBhIT04OSkKLSAgICAgICAgIE9S IChkPj0xMy4wIEFORCBkPDE0LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MTMu MCBBTkQgZDwxNC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKGc9J3h3dnV0c3In IEFORCBmIEdMT0IgJ2ZnaGlqKicpCiAgICAgICAgICBPUiBiPTk3MQogICAgICAgICAgT1IgKGc9 J3h3dnV0c3InIEFORCBmIEdMT0IgJ2ZnaGlqKicpCkBAIC0yMjA1OSw3ICsyMjA1OSw3IEBAIHRl c3Q6ZG9fdGVzdCgKICAgICAgU0VMRUNUIGEgRlJPTSB0MwogICAgICAgV0hFUkUgKGc9J3Fwb25t bGsnIEFORCBmIEdMT0IgJ29wcXJzKicpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA4OCBBTkQg OTApIEFORCBhIT04OSkKLSAgICAgICAgIE9SIChkPj0xMy4wIEFORCBkPDE0LjAgQU5EIGQgTk9U IE5VTEwpCisgICAgICAgICBPUiAoZD49MTMuMCBBTkQgZDwxNC4wIEFORCBkIElTIE5PVCBOVUxM KQogICAgICAgICAgT1IgKGc9J3h3dnV0c3InIEFORCBmIEdMT0IgJ2ZnaGlqKicpCiAgICAgICAg ICBPUiBiPTk3MQogICAgICAgICAgT1IgKGc9J3h3dnV0c3InIEFORCBmIEdMT0IgJ2ZnaGlqKicp CkBAIC0yMjExNCw3ICsyMjExNCw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgIFdIRVJFIGY9J25v cHFyc3R1dicKICAgICAgICAgIE9SIGI9OTkzCiAgICAgICAgICBPUiBhPTc2Ci0gICAgICAgICBP UiAoZD49NzkuMCBBTkQgZDw4MC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTc5 LjAgQU5EIGQ8ODAuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGM9MjAwMjAKICAg ICAgICAgIE9SIGE9MjYKICAgICAgICAgIE9SIGI9MTA0OApAQCAtMjIxMzcsNyArMjIxMzcsNyBA QCB0ZXN0OmRvX3Rlc3QoCiAgICAgICBXSEVSRSBmPSdub3BxcnN0dXYnCiAgICAgICAgICBPUiBi PTk5MwogICAgICAgICAgT1IgYT03NgotICAgICAgICAgT1IgKGQ+PTc5LjAgQU5EIGQ8ODAuMCBB TkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj03OS4wIEFORCBkPDgwLjAgQU5EIGQgSVMg Tk9UIE5VTEwpCiAgICAgICAgICBPUiBjPTIwMDIwCiAgICAgICAgICBPUiBhPTI2CiAgICAgICAg ICBPUiBiPTEwNDgKQEAgLTIyMTU5LDExICsyMjE1OSwxMSBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAg IFNFTEVDVCBhIEZST00gdDIKICAgICAgIFdIRVJFIGI9NzgxCiAgICAgICAgICBPUiBiPTY3MQot ICAgICAgICAgT1IgKGQ+PTYwLjAgQU5EIGQ8NjEuMCBBTkQgZCBOT1QgTlVMTCkKLSAgICAgICAg IE9SIChkPj0xNS4wIEFORCBkPDE2LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49 NjAuMCBBTkQgZDw2MS4wIEFORCBkIElTIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTE1LjAg QU5EIGQ8MTYuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDM5 IEFORCA0MSkgQU5EIGEhPTQwKQogICAgICAgICAgT1IgYj0xMTMKLSAgICAgICAgIE9SIChkPj0x Ni4wIEFORCBkPDE3LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MTYuMCBBTkQg ZDwxNy4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj0zODUKICAgICAgICAgIE9S IChnPSdoZ2ZlZGNiJyBBTkQgZiBHTE9CICdmZ2hpaionKQogICBdXSkKQEAgLTIyMTgwLDExICsy MjE4MCwxMSBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgIFNFTEVDVCBhIEZST00gdDMKICAgICAgIFdI RVJFIGI9NzgxCiAgICAgICAgICBPUiBiPTY3MQotICAgICAgICAgT1IgKGQ+PTYwLjAgQU5EIGQ8 NjEuMCBBTkQgZCBOT1QgTlVMTCkKLSAgICAgICAgIE9SIChkPj0xNS4wIEFORCBkPDE2LjAgQU5E IGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NjAuMCBBTkQgZDw2MS4wIEFORCBkIElTIE5P VCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTE1LjAgQU5EIGQ8MTYuMCBBTkQgZCBJUyBOT1QgTlVM TCkKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDM5IEFORCA0MSkgQU5EIGEhPTQwKQogICAgICAg ICAgT1IgYj0xMTMKLSAgICAgICAgIE9SIChkPj0xNi4wIEFORCBkPDE3LjAgQU5EIGQgTk9UIE5V TEwpCisgICAgICAgICBPUiAoZD49MTYuMCBBTkQgZDwxNy4wIEFORCBkIElTIE5PVCBOVUxMKQog ICAgICAgICAgT1IgYj0zODUKICAgICAgICAgIE9SIChnPSdoZ2ZlZGNiJyBBTkQgZiBHTE9CICdm Z2hpaionKQogICBdXSkKQEAgLTIyMjA1LDcgKzIyMjA1LDcgQEAgdGVzdDpkb190ZXN0KAogICAg ICAgICAgT1IgYj04MjUKICAgICAgICAgIE9SIGI9NzA0CiAgICAgICAgICBPUiAoZz0nbWxramlo ZycgQU5EIGYgR0xPQiAnamtsbW4qJykKLSAgICAgICAgIE9SIChkPj05LjAgQU5EIGQ8MTAuMCBB TkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj05LjAgQU5EIGQ8MTAuMCBBTkQgZCBJUyBO T1QgTlVMTCkKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDU4IEFORCA2MCkgQU5EIGEhPTU5KQog ICAgICAgICAgT1IgYT03NgogICAgICAgICAgT1IgYz0zMjAzMgpAQCAtMjIyMjgsNyArMjIyMjgs NyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBiPTgyNQogICAgICAgICAgT1IgYj03MDQK ICAgICAgICAgIE9SIChnPSdtbGtqaWhnJyBBTkQgZiBHTE9CICdqa2xtbionKQotICAgICAgICAg T1IgKGQ+PTkuMCBBTkQgZDwxMC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTku MCBBTkQgZDwxMC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4g NTggQU5EIDYwKSBBTkQgYSE9NTkpCiAgICAgICAgICBPUiBhPTc2CiAgICAgICAgICBPUiBjPTMy MDMyCkBAIC0yMjI3NSw3ICsyMjI3NSw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgU0VMRUNUIGEg RlJPTSB0MgogICAgICAgV0hFUkUgYj04NjkKICAgICAgICAgIE9SIGE9MzQKLSAgICAgICAgIE9S IChkPj04Ny4wIEFORCBkPDg4LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49ODcu MCBBTkQgZDw4OC4wIEFORCBkIElTIE5PVCBOVUxMKQogICBdXSkKICAgICBlbmQsIHsKICAgICAg ICAgLS0gPHdoZXJlNy0yLjU5Ni4xPgpAQCAtMjIyOTAsNyArMjIyOTAsNyBAQCB0ZXN0OmRvX3Rl c3QoCiAgICAgIFNFTEVDVCBhIEZST00gdDMKICAgICAgIFdIRVJFIGI9ODY5CiAgICAgICAgICBP UiBhPTM0Ci0gICAgICAgICBPUiAoZD49ODcuMCBBTkQgZDw4OC4wIEFORCBkIE5PVCBOVUxMKQor ICAgICAgICAgT1IgKGQ+PTg3LjAgQU5EIGQ8ODguMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgXV0p CiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi41OTYuMj4KQEAgLTIyMzg0LDkgKzIy Mzg0LDkgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChb WwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCiAgICAgICBXSEVSRSBiPTQ0MwotICAgICAgICAgT1Ig KGQ+PTEwLjAgQU5EIGQ8MTEuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0xMC4w IEFORCBkPDExLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTgzOQotICAgICAg ICAgT1IgKGQ+PTUxLjAgQU5EIGQ8NTIuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChk Pj01MS4wIEFORCBkPDUyLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoZz0nb25t bGtqaScgQU5EIGYgR0xPQiAneHl6YWIqJykKICAgICAgICAgIE9SIChnPSd2dXRzcnFwJyBBTkQg ZiBHTE9CICdub3BxcionKQogICAgICAgICAgT1IgYz03MDA3CkBAIC0yMjQwMyw5ICsyMjQwMyw5 IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAg ICAgU0VMRUNUIGEgRlJPTSB0MwogICAgICAgV0hFUkUgYj00NDMKLSAgICAgICAgIE9SIChkPj0x MC4wIEFORCBkPDExLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MTAuMCBBTkQg ZDwxMS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj04MzkKLSAgICAgICAgIE9S IChkPj01MS4wIEFORCBkPDUyLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NTEu MCBBTkQgZDw1Mi4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKGc9J29ubWxramkn IEFORCBmIEdMT0IgJ3h5emFiKicpCiAgICAgICAgICBPUiAoZz0ndnV0c3JxcCcgQU5EIGYgR0xP QiAnbm9wcXIqJykKICAgICAgICAgIE9SIGM9NzAwNwpAQCAtMjI0MjMsMTAgKzIyNDIzLDEwIEBA IHRlc3Q6ZG9fdGVzdCgKICAgICAgU0VMRUNUIGEgRlJPTSB0MgogICAgICAgV0hFUkUgKGYgR0xP QiAnP3JzdHUqJyBBTkQgZiBHTE9CICdxcnN0KicpCiAgICAgICAgICBPUiBhPTIxCi0gICAgICAg ICBPUiAoZD49OS4wIEFORCBkPDEwLjAgQU5EIGQgTk9UIE5VTEwpCi0gICAgICAgICBPUiAoZD49 My4wIEFORCBkPDQuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj05LjAgQU5EIGQ8 MTAuMCBBTkQgZCBJUyBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0zLjAgQU5EIGQ8NC4wIEFO RCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgZj0nemFiY2RlZmdoJwotICAgICAgICAgT1Ig KGQ+PTk3LjAgQU5EIGQ8OTguMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj05Ny4w IEFORCBkPDk4LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTUwNgogICAgICAg ICAgT1IgKChhIEJFVFdFRU4gMTQgQU5EIDE2KSBBTkQgYSE9MTUpCiAgICAgICAgICBPUiBiPTg4 CkBAIC0yMjQ0NSwxMCArMjI0NDUsMTAgQEAgdGVzdDpkb190ZXN0KAogICAgICBTRUxFQ1QgYSBG Uk9NIHQzCiAgICAgICBXSEVSRSAoZiBHTE9CICc/cnN0dSonIEFORCBmIEdMT0IgJ3Fyc3QqJykK ICAgICAgICAgIE9SIGE9MjEKLSAgICAgICAgIE9SIChkPj05LjAgQU5EIGQ8MTAuMCBBTkQgZCBO T1QgTlVMTCkKLSAgICAgICAgIE9SIChkPj0zLjAgQU5EIGQ8NC4wIEFORCBkIE5PVCBOVUxMKQor ICAgICAgICAgT1IgKGQ+PTkuMCBBTkQgZDwxMC4wIEFORCBkIElTIE5PVCBOVUxMKQorICAgICAg ICAgT1IgKGQ+PTMuMCBBTkQgZDw0LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBm PSd6YWJjZGVmZ2gnCi0gICAgICAgICBPUiAoZD49OTcuMCBBTkQgZDw5OC4wIEFORCBkIE5PVCBO VUxMKQorICAgICAgICAgT1IgKGQ+PTk3LjAgQU5EIGQ8OTguMCBBTkQgZCBJUyBOT1QgTlVMTCkK ICAgICAgICAgIE9SIGI9NTA2CiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiAxNCBBTkQgMTYpIEFO RCBhIT0xNSkKICAgICAgICAgIE9SIGI9ODgKQEAgLTIyNDY1LDE0ICsyMjQ2NSwxNCBAQCB0ZXN0 OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29y dChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCi0gICAgICBXSEVSRSAoZD49NDEuMCBBTkQgZDw0 Mi4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTQxLjAgQU5EIGQ8NDIuMCBBTkQg ZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGY9J2JjZGVmZ2hpaicKICAgICAgICAgIE9SICgo YSBCRVRXRUVOIDY4IEFORCA3MCkgQU5EIGEhPTY5KQotICAgICAgICAgT1IgKGQ+PTU0LjAgQU5E IGQ8NTUuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj01NC4wIEFORCBkPDU1LjAg QU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoZz0nc3JxcG9ubScgQU5EIGYgR0xPQiAn ZWZnaGkqJykKICAgICAgICAgIE9SIChnPSdtbGtqaWhnJyBBTkQgZiBHTE9CICdqa2xtbionKQog ICAgICAgICAgT1IgYj03NjIKLSAgICAgICAgIE9SIChkPj02My4wIEFORCBkPDY0LjAgQU5EIGQg Tk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NjMuMCBBTkQgZDw2NC4wIEFORCBkIElTIE5PVCBO VUxMKQogICAgICAgICAgT1IgKGc9J2ppaGdmZWQnIEFORCBmIEdMT0IgJ3l6YWJjKicpCiAgIF1d KQogICAgIGVuZCwgewpAQCAtMjI0ODYsMTQgKzIyNDg2LDE0IEBAIHRlc3Q6ZG9fdGVzdCgKICAg ICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNF TEVDVCBhIEZST00gdDMKLSAgICAgIFdIRVJFIChkPj00MS4wIEFORCBkPDQyLjAgQU5EIGQgTk9U IE5VTEwpCisgICAgICBXSEVSRSAoZD49NDEuMCBBTkQgZDw0Mi4wIEFORCBkIElTIE5PVCBOVUxM KQogICAgICAgICAgT1IgZj0nYmNkZWZnaGlqJwogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNjgg QU5EIDcwKSBBTkQgYSE9NjkpCi0gICAgICAgICBPUiAoZD49NTQuMCBBTkQgZDw1NS4wIEFORCBk IE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTU0LjAgQU5EIGQ8NTUuMCBBTkQgZCBJUyBOT1Qg TlVMTCkKICAgICAgICAgIE9SIChnPSdzcnFwb25tJyBBTkQgZiBHTE9CICdlZmdoaSonKQogICAg ICAgICAgT1IgKGc9J21sa2ppaGcnIEFORCBmIEdMT0IgJ2prbG1uKicpCiAgICAgICAgICBPUiBi PTc2MgotICAgICAgICAgT1IgKGQ+PTYzLjAgQU5EIGQ8NjQuMCBBTkQgZCBOT1QgTlVMTCkKKyAg ICAgICAgIE9SIChkPj02My4wIEFORCBkPDY0LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAg ICBPUiAoZz0namloZ2ZlZCcgQU5EIGYgR0xPQiAneXphYmMqJykKICAgXV0pCiAgICAgZW5kLCB7 CkBAIC0yMjUwNyw5ICsyMjUwNyw5IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAg ICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIK LSAgICAgIFdIRVJFIChkPj04NS4wIEFORCBkPDg2LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBX SEVSRSAoZD49ODUuMCBBTkQgZDw4Ni4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1Ig Zj0ncXJzdHV2d3h5JwotICAgICAgICAgT1IgKGQ+PTU2LjAgQU5EIGQ8NTcuMCBBTkQgZCBOT1Qg TlVMTCkKKyAgICAgICAgIE9SIChkPj01Ni4wIEFORCBkPDU3LjAgQU5EIGQgSVMgTk9UIE5VTEwp CiAgIF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIuNjAyLjE+CkBAIC0yMjUy Miw5ICsyMjUyMiw5IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJl dHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDMKLSAgICAgIFdI RVJFIChkPj04NS4wIEFORCBkPDg2LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49 ODUuMCBBTkQgZDw4Ni4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgZj0ncXJzdHV2 d3h5JwotICAgICAgICAgT1IgKGQ+PTU2LjAgQU5EIGQ8NTcuMCBBTkQgZCBOT1QgTlVMTCkKKyAg ICAgICAgIE9SIChkPj01Ni4wIEFORCBkPDU3LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQog ICAgIGVuZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIuNjAyLjI+CkBAIC0yMjUzNyw4ICsyMjUz Nyw4IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3Vu dF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIKLSAgICAgIFdIRVJFIChkPj04 OS4wIEFORCBkPDkwLjAgQU5EIGQgTk9UIE5VTEwpCi0gICAgICAgICBPUiAoZD49NTcuMCBBTkQg ZDw1OC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTg5LjAgQU5EIGQ8OTAuMCBB TkQgZCBJUyBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj01Ny4wIEFORCBkPDU4LjAgQU5EIGQg SVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBhPTIxCiAgICAgICAgICBPUiBiPDAKICAgICAgICAg IE9SIGY9J2JjZGVmZ2hpaicKQEAgLTIyNTU1LDggKzIyNTU1LDggQEAgdGVzdDpkb190ZXN0KAog ICAgIGZ1bmN0aW9uKCkKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAg U0VMRUNUIGEgRlJPTSB0MwotICAgICAgV0hFUkUgKGQ+PTg5LjAgQU5EIGQ8OTAuMCBBTkQgZCBO T1QgTlVMTCkKLSAgICAgICAgIE9SIChkPj01Ny4wIEFORCBkPDU4LjAgQU5EIGQgTk9UIE5VTEwp CisgICAgICBXSEVSRSAoZD49ODkuMCBBTkQgZDw5MC4wIEFORCBkIElTIE5PVCBOVUxMKQorICAg ICAgICAgT1IgKGQ+PTU3LjAgQU5EIGQ8NTguMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAg IE9SIGE9MjEKICAgICAgICAgIE9SIGI8MAogICAgICAgICAgT1IgZj0nYmNkZWZnaGlqJwpAQCAt MjI1NzMsOSArMjI1NzMsOSBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAg ICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCi0gICAg ICBXSEVSRSAoZD49NTUuMCBBTkQgZDw1Ni4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUg KGQ+PTU1LjAgQU5EIGQ8NTYuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChnPSdo Z2ZlZGNiJyBBTkQgZiBHTE9CICdmZ2hpaionKQotICAgICAgICAgT1IgKGQ+PTQwLjAgQU5EIGQ8 NDEuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj00MC4wIEFORCBkPDQxLjAgQU5E IGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTEwNjcKICAgICAgICAgIE9SIGI9MjMxCiAg ICAgICAgICBPUiBiPTExMwpAQCAtMjI1OTQsOSArMjI1OTQsOSBAQCB0ZXN0OmRvX3Rlc3QoCiAg ICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBT RUxFQ1QgYSBGUk9NIHQzCi0gICAgICBXSEVSRSAoZD49NTUuMCBBTkQgZDw1Ni4wIEFORCBkIE5P VCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTU1LjAgQU5EIGQ8NTYuMCBBTkQgZCBJUyBOT1QgTlVM TCkKICAgICAgICAgIE9SIChnPSdoZ2ZlZGNiJyBBTkQgZiBHTE9CICdmZ2hpaionKQotICAgICAg ICAgT1IgKGQ+PTQwLjAgQU5EIGQ8NDEuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChk Pj00MC4wIEFORCBkPDQxLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTEwNjcK ICAgICAgICAgIE9SIGI9MjMxCiAgICAgICAgICBPUiBiPTExMwpAQCAtMjI2NTUsNyArMjI2NTUs NyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291bnRf c3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCi0gICAgICBXSEVSRSAoZD49MjYu MCBBTkQgZDwyNy4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTI2LjAgQU5EIGQ8 MjcuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9MzA4CiAgICAgICAgICBPUiBj PD0xMAogICAgICAgICAgT1IgKGc9J3h3dnV0c3InIEFORCBmIEdMT0IgJ2hpamtsKicpCkBAIC0y MjY3Nyw3ICsyMjY3Nyw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAgICAg IHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDMKLSAgICAg IFdIRVJFIChkPj0yNi4wIEFORCBkPDI3LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAo ZD49MjYuMCBBTkQgZDwyNy4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj0zMDgK ICAgICAgICAgIE9SIGM8PTEwCiAgICAgICAgICBPUiAoZz0neHd2dXRzcicgQU5EIGYgR0xPQiAn aGlqa2wqJykKQEAgLTIyNzAwLDE0ICsyMjcwMCwxNCBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAg IHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIKICAgICAg IFdIRVJFICgoYSBCRVRXRUVOIDk1IEFORCA5NykgQU5EIGEhPTk2KQotICAgICAgICAgT1IgKGQ+ PTE3LjAgQU5EIGQ8MTguMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0xNy4wIEFO RCBkPDE4LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTk5MwogICAgICAgICAg T1IgKChhIEJFVFdFRU4gNDMgQU5EIDQ1KSBBTkQgYSE9NDQpCiAgICAgICAgICBPUiAoZiBHTE9C ICc/emFiYyonIEFORCBmIEdMT0IgJ3l6YWIqJykKICAgICAgICAgIE9SIGI9NjYzCiAgICAgICAg ICBPUiAoZz0naWhnZmVkYycgQU5EIGYgR0xPQiAnZGVmZ2gqJykKICAgICAgICAgIE9SIGI9ODY5 Ci0gICAgICAgICBPUiAoZD49NDMuMCBBTkQgZDw0NC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAg ICAgT1IgKGQ+PTQzLjAgQU5EIGQ8NDQuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9S IGI9MTIxCiAgIF1dKQogICAgIGVuZCwgewpAQCAtMjI3MjIsMTQgKzIyNzIyLDE0IEBAIHRlc3Q6 ZG9fdGVzdCgKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNU IGEgRlJPTSB0MwogICAgICAgV0hFUkUgKChhIEJFVFdFRU4gOTUgQU5EIDk3KSBBTkQgYSE9OTYp Ci0gICAgICAgICBPUiAoZD49MTcuMCBBTkQgZDwxOC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAg ICAgT1IgKGQ+PTE3LjAgQU5EIGQ8MTguMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9S IGI9OTkzCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA0MyBBTkQgNDUpIEFORCBhIT00NCkKICAg ICAgICAgIE9SIChmIEdMT0IgJz96YWJjKicgQU5EIGYgR0xPQiAneXphYionKQogICAgICAgICAg T1IgYj02NjMKICAgICAgICAgIE9SIChnPSdpaGdmZWRjJyBBTkQgZiBHTE9CICdkZWZnaConKQog ICAgICAgICAgT1IgYj04NjkKLSAgICAgICAgIE9SIChkPj00My4wIEFORCBkPDQ0LjAgQU5EIGQg Tk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NDMuMCBBTkQgZDw0NC4wIEFORCBkIElTIE5PVCBO VUxMKQogICAgICAgICAgT1IgYj0xMjEKICAgXV0pCiAgICAgZW5kLCB7CkBAIC0yMjgxNCw5ICsy MjgxNCw5IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIGI9ODk0CiAgICAgICAgICBPUiBh PTMxCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA4NCBBTkQgODYpIEFORCBhIT04NSkKLSAgICAg ICAgIE9SIChkPj05Mi4wIEFORCBkPDkzLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAo ZD49OTIuMCBBTkQgZDw5My4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYT05NAot ICAgICAgICAgT1IgKGQ+PTIxLjAgQU5EIGQ8MjIuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAg IE9SIChkPj0yMS4wIEFORCBkPDIyLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAo KGEgQkVUV0VFTiA5MyBBTkQgOTUpIEFORCBhIT05NCkKICAgICAgICAgIE9SIGE9MjEKICAgICAg ICAgIE9SIGI9MTAwMQpAQCAtMjI4MzcsOSArMjI4MzcsOSBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAg ICAgICBPUiBiPTg5NAogICAgICAgICAgT1IgYT0zMQogICAgICAgICAgT1IgKChhIEJFVFdFRU4g ODQgQU5EIDg2KSBBTkQgYSE9ODUpCi0gICAgICAgICBPUiAoZD49OTIuMCBBTkQgZDw5My4wIEFO RCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTkyLjAgQU5EIGQ8OTMuMCBBTkQgZCBJUyBO T1QgTlVMTCkKICAgICAgICAgIE9SIGE9OTQKLSAgICAgICAgIE9SIChkPj0yMS4wIEFORCBkPDIy LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MjEuMCBBTkQgZDwyMi4wIEFORCBk IElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gOTMgQU5EIDk1KSBBTkQgYSE9 OTQpCiAgICAgICAgICBPUiBhPTIxCiAgICAgICAgICBPUiBiPTEwMDEKQEAgLTIyOTYwLDEwICsy Mjk2MCwxMCBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0 KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIKICAgICAgIFdIRVJFIChmIEdMT0IgJz9vcHFyKicg QU5EIGYgR0xPQiAnbm9wcSonKQotICAgICAgICAgT1IgKGQ+PTQ3LjAgQU5EIGQ8NDguMCBBTkQg ZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj00Ny4wIEFORCBkPDQ4LjAgQU5EIGQgSVMgTk9U IE5VTEwpCiAgICAgICAgICBPUiBiPTUyMAogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNCBBTkQg NikgQU5EIGEhPTUpCi0gICAgICAgICBPUiAoZD49NTAuMCBBTkQgZDw1MS4wIEFORCBkIE5PVCBO VUxMKQorICAgICAgICAgT1IgKGQ+PTUwLjAgQU5EIGQ8NTEuMCBBTkQgZCBJUyBOT1QgTlVMTCkK ICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDMxIEFORCAzMykgQU5EIGEhPTMyKQogICAgICAgICAg T1IgKGc9J2VkY2JhenknIEFORCBmIEdMT0IgJ3d4eXphKicpCiAgICAgICAgICBPUiBhPTIxCkBA IC0yMjk4MCwxMCArMjI5ODAsMTAgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICByZXR1cm4gY291 bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQzCiAgICAgICBXSEVSRSAoZiBH TE9CICc/b3BxcionIEFORCBmIEdMT0IgJ25vcHEqJykKLSAgICAgICAgIE9SIChkPj00Ny4wIEFO RCBkPDQ4LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NDcuMCBBTkQgZDw0OC4w IEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj01MjAKICAgICAgICAgIE9SICgoYSBC RVRXRUVOIDQgQU5EIDYpIEFORCBhIT01KQotICAgICAgICAgT1IgKGQ+PTUwLjAgQU5EIGQ8NTEu MCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj01MC4wIEFORCBkPDUxLjAgQU5EIGQg SVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiAzMSBBTkQgMzMpIEFORCBhIT0z MikKICAgICAgICAgIE9SIChnPSdlZGNiYXp5JyBBTkQgZiBHTE9CICd3eHl6YSonKQogICAgICAg ICAgT1IgYT0yMQpAQCAtMjMwMDUsNyArMjMwMDUsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAg ICBPUiBiPTQxOAogICAgICAgICAgT1IgYT01NwogICAgICAgICAgT1IgZj0nbW5vcHFyc3R1Jwot ICAgICAgICAgT1IgKGQ+PTk5LjAgQU5EIGQ8MTAwLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAg ICBPUiAoZD49OTkuMCBBTkQgZDwxMDAuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAgICAg ZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi42MTUuMT4KQEAgLTIzMDI0LDcgKzIzMDI0LDcg QEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgYj00MTgKICAgICAgICAgIE9SIGE9NTcKICAg ICAgICAgIE9SIGY9J21ub3BxcnN0dScKLSAgICAgICAgIE9SIChkPj05OS4wIEFORCBkPDEwMC4w IEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTk5LjAgQU5EIGQ8MTAwLjAgQU5EIGQg SVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIuNjE1 LjI+CkBAIC0yMzA0MSwxMiArMjMwNDEsMTIgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1Ig KGc9J3Bvbm1sa2onIEFORCBmIEdMT0IgJ3Z3eHl6KicpCiAgICAgICAgICBPUiBiPTQxOAogICAg ICAgICAgT1IgKGc9J2tqaWhnZmUnIEFORCBmIEdMT0IgJ3N0dXZ3KicpCi0gICAgICAgICBPUiAo ZD49NDMuMCBBTkQgZDw0NC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTQzLjAg QU5EIGQ8NDQuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9NTk0CiAgICAgICAg ICBPUiBhPTIxCiAgICAgICAgICBPUiBhPTc4CiAgICAgICAgICBPUiBhPTkxCi0gICAgICAgICBP UiAoZD49ODAuMCBBTkQgZDw4MS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTgw LjAgQU5EIGQ8ODEuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAgICAgZW5kLCB7CiAgICAg ICAgIC0tIDx3aGVyZTctMi42MTYuMT4KQEAgLTIzMDYzLDEyICsyMzA2MywxMiBAQCB0ZXN0OmRv X3Rlc3QoCiAgICAgICAgICBPUiAoZz0ncG9ubWxraicgQU5EIGYgR0xPQiAndnd4eXoqJykKICAg ICAgICAgIE9SIGI9NDE4CiAgICAgICAgICBPUiAoZz0na2ppaGdmZScgQU5EIGYgR0xPQiAnc3R1 dncqJykKLSAgICAgICAgIE9SIChkPj00My4wIEFORCBkPDQ0LjAgQU5EIGQgTk9UIE5VTEwpCisg ICAgICAgICBPUiAoZD49NDMuMCBBTkQgZDw0NC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAg ICAgT1IgYj01OTQKICAgICAgICAgIE9SIGE9MjEKICAgICAgICAgIE9SIGE9NzgKICAgICAgICAg IE9SIGE9OTEKLSAgICAgICAgIE9SIChkPj04MC4wIEFORCBkPDgxLjAgQU5EIGQgTk9UIE5VTEwp CisgICAgICAgICBPUiAoZD49ODAuMCBBTkQgZDw4MS4wIEFORCBkIElTIE5PVCBOVUxMKQogICBd XSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjYxNi4yPgpAQCAtMjMxMTEsMTAg KzIzMTExLDEwIEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVy biBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIKLSAgICAgIFdIRVJF IChkPj0yLjAgQU5EIGQ8My4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTIuMCBB TkQgZDwzLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTcyNgogICAgICAgICAg T1IgYj02NjMKLSAgICAgICAgIE9SIChkPj0xMy4wIEFORCBkPDE0LjAgQU5EIGQgTk9UIE5VTEwp CisgICAgICAgICBPUiAoZD49MTMuMCBBTkQgZDwxNC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAg ICAgICAgT1IgYT0yNQogICAgICAgICAgT1IgZj0ncXJzdHV2d3h5JwogICBdXSkKQEAgLTIzMTI5 LDEwICsyMzEyOSwxMCBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICBy ZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQzCi0gICAgICBX SEVSRSAoZD49Mi4wIEFORCBkPDMuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChkPj0y LjAgQU5EIGQ8My4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj03MjYKICAgICAg ICAgIE9SIGI9NjYzCi0gICAgICAgICBPUiAoZD49MTMuMCBBTkQgZDwxNC4wIEFORCBkIE5PVCBO VUxMKQorICAgICAgICAgT1IgKGQ+PTEzLjAgQU5EIGQ8MTQuMCBBTkQgZCBJUyBOT1QgTlVMTCkK ICAgICAgICAgIE9SIGE9MjUKICAgICAgICAgIE9SIGY9J3Fyc3R1dnd4eScKICAgXV0pCkBAIC0y MzE0OSw3ICsyMzE0OSw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgU0VMRUNUIGEgRlJPTSB0Mgog ICAgICAgV0hFUkUgYj04MDYKICAgICAgICAgIE9SIChnPSdpaGdmZWRjJyBBTkQgZiBHTE9CICdl ZmdoaSonKQotICAgICAgICAgT1IgKGQ+PTUwLjAgQU5EIGQ8NTEuMCBBTkQgZCBOT1QgTlVMTCkK KyAgICAgICAgIE9SIChkPj01MC4wIEFORCBkPDUxLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAg ICAgICBPUiAoKGEgQkVUV0VFTiAxMCBBTkQgMTIpIEFORCBhIT0xMSkKICAgICAgICAgIE9SIGI9 Mjc1CiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA4MCBBTkQgODIpIEFORCBhIT04MSkKQEAgLTIz MTY3LDcgKzIzMTY3LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICBTRUxFQ1QgYSBGUk9NIHQzCiAg ICAgICBXSEVSRSBiPTgwNgogICAgICAgICAgT1IgKGc9J2loZ2ZlZGMnIEFORCBmIEdMT0IgJ2Vm Z2hpKicpCi0gICAgICAgICBPUiAoZD49NTAuMCBBTkQgZDw1MS4wIEFORCBkIE5PVCBOVUxMKQor ICAgICAgICAgT1IgKGQ+PTUwLjAgQU5EIGQ8NTEuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAg ICAgIE9SICgoYSBCRVRXRUVOIDEwIEFORCAxMikgQU5EIGEhPTExKQogICAgICAgICAgT1IgYj0y NzUKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDgwIEFORCA4MikgQU5EIGEhPTgxKQpAQCAtMjMy OTEsOCArMjMyOTEsOCBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBiPTcxOAogICAgICAg ICAgT1IgYT00CiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA1NiBBTkQgNTgpIEFORCBhIT01NykK LSAgICAgICAgIE9SIChkPj02OS4wIEFORCBkPDcwLjAgQU5EIGQgTk9UIE5VTEwpCi0gICAgICAg ICBPUiAoZD49MTYuMCBBTkQgZDwxNy4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+ PTY5LjAgQU5EIGQ8NzAuMCBBTkQgZCBJUyBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0xNi4w IEFORCBkPDE3LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAgICAg ICAtLSA8d2hlcmU3LTIuNjIzLjE+CkBAIC0yMzMxMSw4ICsyMzMxMSw4IEBAIHRlc3Q6ZG9fdGVz dCgKICAgICAgICAgIE9SIGI9NzE4CiAgICAgICAgICBPUiBhPTQKICAgICAgICAgIE9SICgoYSBC RVRXRUVOIDU2IEFORCA1OCkgQU5EIGEhPTU3KQotICAgICAgICAgT1IgKGQ+PTY5LjAgQU5EIGQ8 NzAuMCBBTkQgZCBOT1QgTlVMTCkKLSAgICAgICAgIE9SIChkPj0xNi4wIEFORCBkPDE3LjAgQU5E IGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NjkuMCBBTkQgZDw3MC4wIEFORCBkIElTIE5P VCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTE2LjAgQU5EIGQ8MTcuMCBBTkQgZCBJUyBOT1QgTlVM TCkKICAgXV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi42MjMuMj4KQEAgLTIz NDIwLDEyICsyMzQyMCwxMiBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgIHJldHVybiBjb3VudF9z dGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIKICAgICAgIFdIRVJFIGI9OTkwCi0g ICAgICAgICBPUiAoZD49OTcuMCBBTkQgZDw5OC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAg T1IgKGQ+PTk3LjAgQU5EIGQ8OTguMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SICgo YSBCRVRXRUVOIDQxIEFORCA0MykgQU5EIGEhPTQyKQogICAgICAgICAgT1IgKGc9J25tbGtqaWgn IEFORCBmIEdMT0IgJ2ZnaGlqKicpCi0gICAgICAgICBPUiAoZD49ODYuMCBBTkQgZDw4Ny4wIEFO RCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTg2LjAgQU5EIGQ8ODcuMCBBTkQgZCBJUyBO T1QgTlVMTCkKICAgICAgICAgIE9SIGI9NTMxCi0gICAgICAgICBPUiAoZD49NjcuMCBBTkQgZDw2 OC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTY3LjAgQU5EIGQ8NjguMCBBTkQg ZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChmIEdMT0IgJz9oaWprKicgQU5EIGYgR0xPQiAn Z2hpaionKQogICAgICAgICAgT1IgZj0ncXJzdHV2d3h5JwogICBdXSkKQEAgLTIzNDQxLDEyICsy MzQ0MSwxMiBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0 KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDMKICAgICAgIFdIRVJFIGI9OTkwCi0gICAgICAgICBP UiAoZD49OTcuMCBBTkQgZDw5OC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTk3 LjAgQU5EIGQ8OTguMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SICgoYSBCRVRXRUVO IDQxIEFORCA0MykgQU5EIGEhPTQyKQogICAgICAgICAgT1IgKGc9J25tbGtqaWgnIEFORCBmIEdM T0IgJ2ZnaGlqKicpCi0gICAgICAgICBPUiAoZD49ODYuMCBBTkQgZDw4Ny4wIEFORCBkIE5PVCBO VUxMKQorICAgICAgICAgT1IgKGQ+PTg2LjAgQU5EIGQ8ODcuMCBBTkQgZCBJUyBOT1QgTlVMTCkK ICAgICAgICAgIE9SIGI9NTMxCi0gICAgICAgICBPUiAoZD49NjcuMCBBTkQgZDw2OC4wIEFORCBk IE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTY3LjAgQU5EIGQ8NjguMCBBTkQgZCBJUyBOT1Qg TlVMTCkKICAgICAgICAgIE9SIChmIEdMT0IgJz9oaWprKicgQU5EIGYgR0xPQiAnZ2hpaionKQog ICAgICAgICAgT1IgZj0ncXJzdHV2d3h5JwogICBdXSkKQEAgLTIzNDY1LDEyICsyMzQ2NSwxMiBA QCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiAoZz0namloZ2ZlZCcgQU5EIGYgR0xPQiAndnd4 eXoqJykKICAgICAgICAgIE9SIGI9NjI3CiAgICAgICAgICBPUiAoZz0nZWRjYmF6eScgQU5EIGYg R0xPQiAndnd4eXoqJykKLSAgICAgICAgIE9SIChkPj0zOC4wIEFORCBkPDM5LjAgQU5EIGQgTk9U IE5VTEwpCi0gICAgICAgICBPUiAoZD49NzguMCBBTkQgZDw3OS4wIEFORCBkIE5PVCBOVUxMKQor ICAgICAgICAgT1IgKGQ+PTM4LjAgQU5EIGQ8MzkuMCBBTkQgZCBJUyBOT1QgTlVMTCkKKyAgICAg ICAgIE9SIChkPj03OC4wIEFORCBkPDc5LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBP UiBiPTg4MwotICAgICAgICAgT1IgKGQ+PTkzLjAgQU5EIGQ8OTQuMCBBTkQgZCBOT1QgTlVMTCkK KyAgICAgICAgIE9SIChkPj05My4wIEFORCBkPDk0LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAg ICAgICBPUiBmPSd5emFiY2RlZmcnCi0gICAgICAgICBPUiAoZD49NTkuMCBBTkQgZDw2MC4wIEFO RCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTU5LjAgQU5EIGQ8NjAuMCBBTkQgZCBJUyBO T1QgTlVMTCkKICAgXV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi42MjguMT4K QEAgLTIzNDg3LDEyICsyMzQ4NywxMiBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiAoZz0n amloZ2ZlZCcgQU5EIGYgR0xPQiAndnd4eXoqJykKICAgICAgICAgIE9SIGI9NjI3CiAgICAgICAg ICBPUiAoZz0nZWRjYmF6eScgQU5EIGYgR0xPQiAndnd4eXoqJykKLSAgICAgICAgIE9SIChkPj0z OC4wIEFORCBkPDM5LjAgQU5EIGQgTk9UIE5VTEwpCi0gICAgICAgICBPUiAoZD49NzguMCBBTkQg ZDw3OS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTM4LjAgQU5EIGQ8MzkuMCBB TkQgZCBJUyBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj03OC4wIEFORCBkPDc5LjAgQU5EIGQg SVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTg4MwotICAgICAgICAgT1IgKGQ+PTkzLjAgQU5E IGQ8OTQuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj05My4wIEFORCBkPDk0LjAg QU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBmPSd5emFiY2RlZmcnCi0gICAgICAgICBP UiAoZD49NTkuMCBBTkQgZDw2MC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTU5 LjAgQU5EIGQ8NjAuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAgICAgZW5kLCB7CiAgICAg ICAgIC0tIDx3aGVyZTctMi42MjguMj4KQEAgLTIzNjc3LDkgKzIzNjc3LDkgQEAgdGVzdDpkb190 ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sK ICAgICAgU0VMRUNUIGEgRlJPTSB0MgotICAgICAgV0hFUkUgKGQ+PTYyLjAgQU5EIGQ8NjMuMCBB TkQgZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChkPj02Mi4wIEFORCBkPDYzLjAgQU5EIGQgSVMg Tk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTEwMDEKLSAgICAgICAgIE9SIChkPj04Ni4wIEFORCBk PDg3LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49ODYuMCBBTkQgZDw4Ny4wIEFO RCBkIElTIE5PVCBOVUxMKQogICBdXSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0y LjYzNC4xPgpAQCAtMjM2OTIsOSArMjM2OTIsOSBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rp b24oKQogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBG Uk9NIHQzCi0gICAgICBXSEVSRSAoZD49NjIuMCBBTkQgZDw2My4wIEFORCBkIE5PVCBOVUxMKQor ICAgICAgV0hFUkUgKGQ+PTYyLjAgQU5EIGQ8NjMuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAg ICAgIE9SIGI9MTAwMQotICAgICAgICAgT1IgKGQ+PTg2LjAgQU5EIGQ8ODcuMCBBTkQgZCBOT1Qg TlVMTCkKKyAgICAgICAgIE9SIChkPj04Ni4wIEFORCBkPDg3LjAgQU5EIGQgSVMgTk9UIE5VTEwp CiAgIF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIuNjM0LjI+CkBAIC0yMzc5 MCw3ICsyMzc5MCw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgIFdIRVJFIChmIEdMT0IgJz9zdHV2 KicgQU5EIGYgR0xPQiAncnN0dSonKQogICAgICAgICAgT1IgYj03NTEKICAgICAgICAgIE9SIChn PSdnZmVkY2JhJyBBTkQgZiBHTE9CICdrbG1ubyonKQotICAgICAgICAgT1IgKGQ+PTEwLjAgQU5E IGQ8MTEuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0xMC4wIEFORCBkPDExLjAg QU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBhPTY3CiAgICAgICAgICBPUiBiPTEwMgog ICBdXSkKQEAgLTIzODA4LDcgKzIzODA4LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgV0hFUkUg KGYgR0xPQiAnP3N0dXYqJyBBTkQgZiBHTE9CICdyc3R1KicpCiAgICAgICAgICBPUiBiPTc1MQog ICAgICAgICAgT1IgKGc9J2dmZWRjYmEnIEFORCBmIEdMT0IgJ2tsbW5vKicpCi0gICAgICAgICBP UiAoZD49MTAuMCBBTkQgZDwxMS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTEw LjAgQU5EIGQ8MTEuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGE9NjcKICAgICAg ICAgIE9SIGI9MTAyCiAgIF1dKQpAQCAtMjM4MjMsMTIgKzIzODIzLDEyIEBAIHRlc3Q6ZG9fdGVz dCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAg ICAgIFNFTEVDVCBhIEZST00gdDIKLSAgICAgIFdIRVJFIChkPj02OS4wIEFORCBkPDcwLjAgQU5E IGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49NjkuMCBBTkQgZDw3MC4wIEFORCBkIElTIE5P VCBOVUxMKQogICAgICAgICAgT1IgYj0yNTYKICAgICAgICAgIE9SIGM9NzAwNwogICAgICAgICAg T1IgYz0yNjAyNgogICAgICAgICAgT1IgKChhIEJFVFdFRU4gODAgQU5EIDgyKSBBTkQgYSE9ODEp Ci0gICAgICAgICBPUiAoZD49NzQuMCBBTkQgZDw3NS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAg ICAgT1IgKGQ+PTc0LjAgQU5EIGQ8NzUuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9S IGE9NjYKICAgXV0pCiAgICAgZW5kLCB7CkBAIC0yMzg0MiwxMiArMjM4NDIsMTIgQEAgdGVzdDpk b190ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQo W1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MwotICAgICAgV0hFUkUgKGQ+PTY5LjAgQU5EIGQ8NzAu MCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChkPj02OS4wIEFORCBkPDcwLjAgQU5EIGQg SVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTI1NgogICAgICAgICAgT1IgYz03MDA3CiAgICAg ICAgICBPUiBjPTI2MDI2CiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA4MCBBTkQgODIpIEFORCBh IT04MSkKLSAgICAgICAgIE9SIChkPj03NC4wIEFORCBkPDc1LjAgQU5EIGQgTk9UIE5VTEwpCisg ICAgICAgICBPUiAoZD49NzQuMCBBTkQgZDw3NS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAg ICAgT1IgYT02NgogICBdXSkKICAgICBlbmQsIHsKQEAgLTIzODY4LDkgKzIzODY4LDkgQEAgdGVz dDpkb190ZXN0KAogICAgICAgICAgT1IgYj0zMwogICAgICAgICAgT1IgYj04MTcKICAgICAgICAg IE9SIChnPSdwb25tbGtqJyBBTkQgZiBHTE9CICd0dXZ3eConKQotICAgICAgICAgT1IgKGQ+PTEw LjAgQU5EIGQ8MTEuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0xMC4wIEFORCBk PDExLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoZz0neHd2dXRzcicgQU5EIGYg R0xPQiAnZWZnaGkqJykKLSAgICAgICAgIE9SIChkPj0yMS4wIEFORCBkPDIyLjAgQU5EIGQgTk9U IE5VTEwpCisgICAgICAgICBPUiAoZD49MjEuMCBBTkQgZDwyMi4wIEFORCBkIElTIE5PVCBOVUxM KQogICBdXSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjYzOS4xPgpAQCAtMjM4 OTAsOSArMjM4OTAsOSBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBiPTMzCiAgICAgICAg ICBPUiBiPTgxNwogICAgICAgICAgT1IgKGc9J3Bvbm1sa2onIEFORCBmIEdMT0IgJ3R1dnd4Kicp Ci0gICAgICAgICBPUiAoZD49MTAuMCBBTkQgZDwxMS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAg ICAgT1IgKGQ+PTEwLjAgQU5EIGQ8MTEuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9S IChnPSd4d3Z1dHNyJyBBTkQgZiBHTE9CICdlZmdoaSonKQotICAgICAgICAgT1IgKGQ+PTIxLjAg QU5EIGQ8MjIuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0yMS4wIEFORCBkPDIy LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8d2hl cmU3LTIuNjM5LjI+CkBAIC0yMzkxMyw3ICsyMzkxMyw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAg ICAgIE9SIGE9NDkKICAgICAgICAgIE9SIGE9NTMKICAgICAgICAgIE9SIGE9NTYKLSAgICAgICAg IE9SIChkPj04My4wIEFORCBkPDg0LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49 ODMuMCBBTkQgZDw4NC4wIEFORCBkIElTIE5PVCBOVUxMKQogICBdXSkKICAgICBlbmQsIHsKICAg ICAgICAgLS0gPHdoZXJlNy0yLjY0MC4xPgpAQCAtMjM5MzQsNyArMjM5MzQsNyBAQCB0ZXN0OmRv X3Rlc3QoCiAgICAgICAgICBPUiBhPTQ5CiAgICAgICAgICBPUiBhPTUzCiAgICAgICAgICBPUiBh PTU2Ci0gICAgICAgICBPUiAoZD49ODMuMCBBTkQgZDw4NC4wIEFORCBkIE5PVCBOVUxMKQorICAg ICAgICAgT1IgKGQ+PTgzLjAgQU5EIGQ8ODQuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAg ICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi42NDAuMj4KQEAgLTI0MDE5LDcgKzI0MDE5 LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgKGc9J3NycXBvbm0nIEFORCBmIEdMT0Ig J2RlZmdoKicpCiAgICAgICAgICBPUiBiPTUwOQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNTgg QU5EIDYwKSBBTkQgYSE9NTkpCi0gICAgICAgICBPUiAoZD49NDkuMCBBTkQgZDw1MC4wIEFORCBk IE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTQ5LjAgQU5EIGQ8NTAuMCBBTkQgZCBJUyBOT1Qg TlVMTCkKICAgICAgICAgIE9SIChnPSd0c3JxcG9uJyBBTkQgZiBHTE9CICdhYmNkZSonKQogICAg ICAgICAgT1IgZj0nYmNkZWZnaGlqJwogICBdXSkKQEAgLTI0MDM4LDcgKzI0MDM4LDcgQEAgdGVz dDpkb190ZXN0KAogICAgICAgICAgT1IgKGc9J3NycXBvbm0nIEFORCBmIEdMT0IgJ2RlZmdoKicp CiAgICAgICAgICBPUiBiPTUwOQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNTggQU5EIDYwKSBB TkQgYSE9NTkpCi0gICAgICAgICBPUiAoZD49NDkuMCBBTkQgZDw1MC4wIEFORCBkIE5PVCBOVUxM KQorICAgICAgICAgT1IgKGQ+PTQ5LjAgQU5EIGQ8NTAuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAg ICAgICAgIE9SIChnPSd0c3JxcG9uJyBBTkQgZiBHTE9CICdhYmNkZSonKQogICAgICAgICAgT1Ig Zj0nYmNkZWZnaGlqJwogICBdXSkKQEAgLTI0MDU2LDcgKzI0MDU2LDcgQEAgdGVzdDpkb190ZXN0 KAogICAgICAgV0hFUkUgYT0yMwogICAgICAgICAgT1IgYT00MwogICAgICAgICAgT1IgYz0xOTAx OQotICAgICAgICAgT1IgKGQ+PTQ3LjAgQU5EIGQ8NDguMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAg ICAgIE9SIChkPj00Ny4wIEFORCBkPDQ4LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBP UiBjPTE4MDE4CiAgIF1dKQogICAgIGVuZCwgewpAQCAtMjQwNzMsNyArMjQwNzMsNyBAQCB0ZXN0 OmRvX3Rlc3QoCiAgICAgICBXSEVSRSBhPTIzCiAgICAgICAgICBPUiBhPTQzCiAgICAgICAgICBP UiBjPTE5MDE5Ci0gICAgICAgICBPUiAoZD49NDcuMCBBTkQgZDw0OC4wIEFORCBkIE5PVCBOVUxM KQorICAgICAgICAgT1IgKGQ+PTQ3LjAgQU5EIGQ8NDguMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAg ICAgICAgIE9SIGM9MTgwMTgKICAgXV0pCiAgICAgZW5kLCB7CkBAIC0yNDA4OCw3ICsyNDA4OCw3 IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAg ICAgU0VMRUNUIGEgRlJPTSB0MgogICAgICAgV0hFUkUgYT0zNgotICAgICAgICAgT1IgKGQ+PTIy LjAgQU5EIGQ8MjMuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0yMi4wIEFORCBk PDIzLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTIzMQogICBdXSkKICAgICBl bmQsIHsKQEAgLTI0MTAzLDcgKzI0MTAzLDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICByZXR1 cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQzCiAgICAgICBXSEVS RSBhPTM2Ci0gICAgICAgICBPUiAoZD49MjIuMCBBTkQgZDwyMy4wIEFORCBkIE5PVCBOVUxMKQor ICAgICAgICAgT1IgKGQ+PTIyLjAgQU5EIGQ8MjMuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAg ICAgIE9SIGI9MjMxCiAgIF1dKQogICAgIGVuZCwgewpAQCAtMjQxNDcsMTQgKzI0MTQ3LDE0IEBA IHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVw c19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIKLSAgICAgIFdIRVJFIChkPj0yOC4wIEFO RCBkPDI5LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49MjguMCBBTkQgZDwyOS4w IEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj00MjEKICAgICAgICAgIE9SIChnPSdx cG9ubWxrJyBBTkQgZiBHTE9CICdxcnN0dSonKQogICAgICAgICAgT1IgYj03MDQKICAgICAgICAg IE9SIGE9OTAKICAgICAgICAgIE9SIGE9NzgKICAgICAgICAgIE9SIDEwMDAwMDA8YgotICAgICAg ICAgT1IgKGQ+PTgwLjAgQU5EIGQ8ODEuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChk Pj04MC4wIEFORCBkPDgxLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoZz0naWhn ZmVkYycgQU5EIGYgR0xPQiAnZGVmZ2gqJykKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDUzIEFO RCA1NSkgQU5EIGEhPTU0KQogICBdXSkKQEAgLTI0MTY5LDE0ICsyNDE2OSwxNCBAQCB0ZXN0OmRv X3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChb WwogICAgICBTRUxFQ1QgYSBGUk9NIHQzCi0gICAgICBXSEVSRSAoZD49MjguMCBBTkQgZDwyOS4w IEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTI4LjAgQU5EIGQ8MjkuMCBBTkQgZCBJ UyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9NDIxCiAgICAgICAgICBPUiAoZz0ncXBvbm1saycg QU5EIGYgR0xPQiAncXJzdHUqJykKICAgICAgICAgIE9SIGI9NzA0CiAgICAgICAgICBPUiBhPTkw CiAgICAgICAgICBPUiBhPTc4CiAgICAgICAgICBPUiAxMDAwMDAwPGIKLSAgICAgICAgIE9SIChk Pj04MC4wIEFORCBkPDgxLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49ODAuMCBB TkQgZDw4MS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKGc9J2loZ2ZlZGMnIEFO RCBmIEdMT0IgJ2RlZmdoKicpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA1MyBBTkQgNTUpIEFO RCBhIT01NCkKICAgXV0pCkBAIC0yNDI2MCw3ICsyNDI2MCw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAg ICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0Mgog ICAgICAgV0hFUkUgKChhIEJFVFdFRU4gOTQgQU5EIDk2KSBBTkQgYSE9OTUpCi0gICAgICAgICBP UiAoZD49NzguMCBBTkQgZDw3OS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTc4 LjAgQU5EIGQ8NzkuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9MjIKICAgXV0p CiAgICAgZW5kLCB7CkBAIC0yNDI3NSw3ICsyNDI3NSw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAg ICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MwogICAg ICAgV0hFUkUgKChhIEJFVFdFRU4gOTQgQU5EIDk2KSBBTkQgYSE9OTUpCi0gICAgICAgICBPUiAo ZD49NzguMCBBTkQgZDw3OS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTc4LjAg QU5EIGQ8NzkuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9MjIKICAgXV0pCiAg ICAgZW5kLCB7CkBAIC0yNDI5MSw5ICsyNDI5MSw5IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgU0VM RUNUIGEgRlJPTSB0MgogICAgICAgV0hFUkUgYj0yNzUKICAgICAgICAgIE9SICgoYSBCRVRXRUVO IDU3IEFORCA1OSkgQU5EIGEhPTU4KQotICAgICAgICAgT1IgKGQ+PTkyLjAgQU5EIGQ8OTMuMCBB TkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj05Mi4wIEFORCBkPDkzLjAgQU5EIGQgSVMg Tk9UIE5VTEwpCiAgICAgICAgICBPUiAoZz0ncnFwb25tbCcgQU5EIGYgR0xPQiAnbG1ub3AqJykK LSAgICAgICAgIE9SIChkPj01My4wIEFORCBkPDU0LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAg ICBPUiAoZD49NTMuMCBBTkQgZDw1NC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1Ig Zj0naWprbG1ub3BxJwogICBdXSkKICAgICBlbmQsIHsKQEAgLTI0MzA5LDkgKzI0MzA5LDkgQEAg dGVzdDpkb190ZXN0KAogICAgICBTRUxFQ1QgYSBGUk9NIHQzCiAgICAgICBXSEVSRSBiPTI3NQog ICAgICAgICAgT1IgKChhIEJFVFdFRU4gNTcgQU5EIDU5KSBBTkQgYSE9NTgpCi0gICAgICAgICBP UiAoZD49OTIuMCBBTkQgZDw5My4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTky LjAgQU5EIGQ8OTMuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChnPSdycXBvbm1s JyBBTkQgZiBHTE9CICdsbW5vcConKQotICAgICAgICAgT1IgKGQ+PTUzLjAgQU5EIGQ8NTQuMCBB TkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj01My4wIEFORCBkPDU0LjAgQU5EIGQgSVMg Tk9UIE5VTEwpCiAgICAgICAgICBPUiBmPSdpamtsbW5vcHEnCiAgIF1dKQogICAgIGVuZCwgewpA QCAtMjQzOTksNyArMjQzOTksNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAg ICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCi0g ICAgICBXSEVSRSAoZD49MTIuMCBBTkQgZDwxMy4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hF UkUgKGQ+PTEyLjAgQU5EIGQ8MTMuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGM9 MTIwMTIKICAgICAgICAgIE9SIGE9MTYKICAgICAgICAgIE9SIGE9MTUKQEAgLTI0NDIxLDcgKzI0 NDIxLDcgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAgICAgICAgcmV0dXJuIGNv dW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MwotICAgICAgV0hFUkUgKGQ+ PTEyLjAgQU5EIGQ8MTMuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChkPj0xMi4wIEFO RCBkPDEzLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBjPTEyMDEyCiAgICAgICAg ICBPUiBhPTE2CiAgICAgICAgICBPUiBhPTE1CkBAIC0yNDQ0OSw4ICsyNDQ0OSw4IEBAIHRlc3Q6 ZG9fdGVzdCgKICAgICAgICAgIE9SIChnPSdxcG9ubWxrJyBBTkQgZiBHTE9CICdwcXJzdConKQog ICAgICAgICAgT1IgKChhIEJFVFdFRU4gMzMgQU5EIDM1KSBBTkQgYSE9MzQpCiAgICAgICAgICBP UiBiPTUzOQotICAgICAgICAgT1IgKGQ+PTQ4LjAgQU5EIGQ8NDkuMCBBTkQgZCBOT1QgTlVMTCkK LSAgICAgICAgIE9SIChkPj02MS4wIEFORCBkPDYyLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAg ICBPUiAoZD49NDguMCBBTkQgZDw0OS4wIEFORCBkIElTIE5PVCBOVUxMKQorICAgICAgICAgT1Ig KGQ+PTYxLjAgQU5EIGQ8NjIuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGE9MjEK ICAgXV0pCiAgICAgZW5kLCB7CkBAIC0yNDQ3MCw4ICsyNDQ3MCw4IEBAIHRlc3Q6ZG9fdGVzdCgK ICAgICAgICAgIE9SIChnPSdxcG9ubWxrJyBBTkQgZiBHTE9CICdwcXJzdConKQogICAgICAgICAg T1IgKChhIEJFVFdFRU4gMzMgQU5EIDM1KSBBTkQgYSE9MzQpCiAgICAgICAgICBPUiBiPTUzOQot ICAgICAgICAgT1IgKGQ+PTQ4LjAgQU5EIGQ8NDkuMCBBTkQgZCBOT1QgTlVMTCkKLSAgICAgICAg IE9SIChkPj02MS4wIEFORCBkPDYyLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49 NDguMCBBTkQgZDw0OS4wIEFORCBkIElTIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTYxLjAg QU5EIGQ8NjIuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGE9MjEKICAgXV0pCiAg ICAgZW5kLCB7CkBAIC0yNDU2MSw5ICsyNDU2MSw5IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgU0VM RUNUIGEgRlJPTSB0MgogICAgICAgV0hFUkUgYj0yNDIKICAgICAgICAgIE9SIGI9OTA1Ci0gICAg ICAgICBPUiAoZD49NjYuMCBBTkQgZDw2Ny4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1Ig KGQ+PTY2LjAgQU5EIGQ8NjcuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChnPSdo Z2ZlZGNiJyBBTkQgZiBHTE9CICdpamtsbSonKQotICAgICAgICAgT1IgKGQ+PTk2LjAgQU5EIGQ8 OTcuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj05Ni4wIEFORCBkPDk3LjAgQU5E IGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBhPTI0CiAgICAgICAgICBPUiAoKGEgQkVUV0VF TiA2NyBBTkQgNjkpIEFORCBhIT02OCkKICAgICAgICAgIE9SIGI9MTEwMApAQCAtMjQ1ODMsOSAr MjQ1ODMsOSBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgIFNFTEVDVCBhIEZST00gdDMKICAgICAgIFdI RVJFIGI9MjQyCiAgICAgICAgICBPUiBiPTkwNQotICAgICAgICAgT1IgKGQ+PTY2LjAgQU5EIGQ8 NjcuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj02Ni4wIEFORCBkPDY3LjAgQU5E IGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoZz0naGdmZWRjYicgQU5EIGYgR0xPQiAnaWpr bG0qJykKLSAgICAgICAgIE9SIChkPj05Ni4wIEFORCBkPDk3LjAgQU5EIGQgTk9UIE5VTEwpCisg ICAgICAgICBPUiAoZD49OTYuMCBBTkQgZDw5Ny4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAg ICAgT1IgYT0yNAogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNjcgQU5EIDY5KSBBTkQgYSE9Njgp CiAgICAgICAgICBPUiBiPTExMDAKQEAgLTI0NjA3LDcgKzI0NjA3LDcgQEAgdGVzdDpkb190ZXN0 KAogICAgICAgICAgT1IgYT03MgogICAgICAgICAgT1IgYj0zNzcKICAgICAgICAgIE9SIChmIEdM T0IgJz9iY2RlKicgQU5EIGYgR0xPQiAnYWJjZConKQotICAgICAgICAgT1IgKGQ+PTkzLjAgQU5E IGQ8OTQuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj05My4wIEFORCBkPDk0LjAg QU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTQ3NgogICAgICAgICAgT1IgKGc9J3l4 d3Z1dHMnIEFORCBmIEdMT0IgJ2NkZWZnKicpCiAgIF1dKQpAQCAtMjQ2MjYsNyArMjQ2MjYsNyBA QCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBhPTcyCiAgICAgICAgICBPUiBiPTM3NwogICAg ICAgICAgT1IgKGYgR0xPQiAnP2JjZGUqJyBBTkQgZiBHTE9CICdhYmNkKicpCi0gICAgICAgICBP UiAoZD49OTMuMCBBTkQgZDw5NC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTkz LjAgQU5EIGQ8OTQuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9NDc2CiAgICAg ICAgICBPUiAoZz0neXh3dnV0cycgQU5EIGYgR0xPQiAnY2RlZmcqJykKICAgXV0pCkBAIC0yNDY0 MywxMCArMjQ2NDMsMTAgQEAgdGVzdDpkb190ZXN0KAogICAgICBTRUxFQ1QgYSBGUk9NIHQyCiAg ICAgICBXSEVSRSBiPTI0NQogICAgICAgICAgT1IgYj02MzgKLSAgICAgICAgIE9SIChkPj02Mi4w IEFORCBkPDYzLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NjIuMCBBTkQgZDw2 My4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKGc9J2xramloZ2YnIEFORCBmIEdM T0IgJ3BxcnN0KicpCiAgICAgICAgICBPUiBmPSdvcHFyc3R1dncnCi0gICAgICAgICBPUiAoZD49 ODYuMCBBTkQgZDw4Ny4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTg2LjAgQU5E IGQ8ODcuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9ODE3CiAgICAgICAgICBP UiBhPTg1CiAgICAgICAgICBPUiAoZz0nbGtqaWhnZicgQU5EIGYgR0xPQiAnbW5vcHEqJykKQEAg LTI0NjY0LDEwICsyNDY2NCwxMCBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgIFNFTEVDVCBhIEZST00g dDMKICAgICAgIFdIRVJFIGI9MjQ1CiAgICAgICAgICBPUiBiPTYzOAotICAgICAgICAgT1IgKGQ+ PTYyLjAgQU5EIGQ8NjMuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj02Mi4wIEFO RCBkPDYzLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoZz0nbGtqaWhnZicgQU5E IGYgR0xPQiAncHFyc3QqJykKICAgICAgICAgIE9SIGY9J29wcXJzdHV2dycKLSAgICAgICAgIE9S IChkPj04Ni4wIEFORCBkPDg3LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49ODYu MCBBTkQgZDw4Ny4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj04MTcKICAgICAg ICAgIE9SIGE9ODUKICAgICAgICAgIE9SIChnPSdsa2ppaGdmJyBBTkQgZiBHTE9CICdtbm9wcSon KQpAQCAtMjQ3NDYsNyArMjQ3NDYsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgIHJldHVybiBj b3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIKICAgICAgIFdIRVJFICgo YSBCRVRXRUVOIDU1IEFORCA1NykgQU5EIGEhPTU2KQotICAgICAgICAgT1IgKGQ+PTg1LjAgQU5E IGQ8ODYuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj04NS4wIEFORCBkPDg2LjAg QU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBjPD0xMAogICAgICAgICAgT1IgKChhIEJF VFdFRU4gNzUgQU5EIDc3KSBBTkQgYSE9NzYpCiAgICAgICAgICBPUiAoZz0na2ppaGdmZScgQU5E IGYgR0xPQiAndXZ3eHkqJykKQEAgLTI0NzY2LDcgKzI0NzY2LDcgQEAgdGVzdDpkb190ZXN0KAog ICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQz CiAgICAgICBXSEVSRSAoKGEgQkVUV0VFTiA1NSBBTkQgNTcpIEFORCBhIT01NikKLSAgICAgICAg IE9SIChkPj04NS4wIEFORCBkPDg2LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49 ODUuMCBBTkQgZDw4Ni4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYzw9MTAKICAg ICAgICAgIE9SICgoYSBCRVRXRUVOIDc1IEFORCA3NykgQU5EIGEhPTc2KQogICAgICAgICAgT1Ig KGc9J2tqaWhnZmUnIEFORCBmIEdMT0IgJ3V2d3h5KicpCkBAIC0yNDgzOSw3ICsyNDgzOSw3IEBA IHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIChnPSd3dnV0c3JxJyBBTkQgZiBHTE9CICdrbG1u byonKQogICAgICAgICAgT1IgYT00NAogICAgICAgICAgT1IgKGc9J3Fwb25tbGsnIEFORCBmIEdM T0IgJ21ub3BxKicpCi0gICAgICAgICBPUiAoZD49OTkuMCBBTkQgZDwxMDAuMCBBTkQgZCBOT1Qg TlVMTCkKKyAgICAgICAgIE9SIChkPj05OS4wIEFORCBkPDEwMC4wIEFORCBkIElTIE5PVCBOVUxM KQogICAgICAgICAgT1IgYj0xMDkyCiAgIF1dKQogICAgIGVuZCwgewpAQCAtMjQ4NjEsNyArMjQ4 NjEsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiAoZz0nd3Z1dHNycScgQU5EIGYgR0xP QiAna2xtbm8qJykKICAgICAgICAgIE9SIGE9NDQKICAgICAgICAgIE9SIChnPSdxcG9ubWxrJyBB TkQgZiBHTE9CICdtbm9wcSonKQotICAgICAgICAgT1IgKGQ+PTk5LjAgQU5EIGQ8MTAwLjAgQU5E IGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49OTkuMCBBTkQgZDwxMDAuMCBBTkQgZCBJUyBO T1QgTlVMTCkKICAgICAgICAgIE9SIGI9MTA5MgogICBdXSkKICAgICBlbmQsIHsKQEAgLTI0OTIx LDE0ICsyNDkyMSwxNCBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgIFNFTEVDVCBhIEZST00gdDIKICAg ICAgIFdIRVJFIGE9MTIKICAgICAgICAgIE9SIGI9OTM1Ci0gICAgICAgICBPUiAoZD49ODcuMCBB TkQgZDw4OC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTg3LjAgQU5EIGQ8ODgu MCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9MTA3MAogICAgICAgICAgT1IgYT0y NAogICAgICAgICAgT1IgYT05NQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMjcgQU5EIDI5KSBB TkQgYSE9MjgpCiAgICAgICAgICBPUiBhPTQwCiAgICAgICAgICBPUiBiPTkzNQotICAgICAgICAg T1IgKGQ+PTUzLjAgQU5EIGQ8NTQuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj01 My4wIEFORCBkPDU0LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAg ICAgICAtLSA8d2hlcmU3LTIuNjY3LjE+CkBAIC0yNDk0MywxNCArMjQ5NDMsMTQgQEAgdGVzdDpk b190ZXN0KAogICAgICBTRUxFQ1QgYSBGUk9NIHQzCiAgICAgICBXSEVSRSBhPTEyCiAgICAgICAg ICBPUiBiPTkzNQotICAgICAgICAgT1IgKGQ+PTg3LjAgQU5EIGQ8ODguMCBBTkQgZCBOT1QgTlVM TCkKKyAgICAgICAgIE9SIChkPj04Ny4wIEFORCBkPDg4LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAg ICAgICAgICBPUiBiPTEwNzAKICAgICAgICAgIE9SIGE9MjQKICAgICAgICAgIE9SIGE9OTUKICAg ICAgICAgIE9SICgoYSBCRVRXRUVOIDI3IEFORCAyOSkgQU5EIGEhPTI4KQogICAgICAgICAgT1Ig YT00MAogICAgICAgICAgT1IgYj05MzUKLSAgICAgICAgIE9SIChkPj01My4wIEFORCBkPDU0LjAg QU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NTMuMCBBTkQgZDw1NC4wIEFORCBkIElT IE5PVCBOVUxMKQogICBdXSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjY2Ny4y PgpAQCAtMjQ5NjgsNyArMjQ5NjgsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBiPTIw OQogICAgICAgICAgT1IgYj0zNzQKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDc2IEFORCA3OCkg QU5EIGEhPTc3KQotICAgICAgICAgT1IgKGQ+PTQwLjAgQU5EIGQ8NDEuMCBBTkQgZCBOT1QgTlVM TCkKKyAgICAgICAgIE9SIChkPj00MC4wIEFORCBkPDQxLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAg ICAgICAgICBPUiBjPTIyMDIyCiAgIF1dKQogICAgIGVuZCwgewpAQCAtMjQ5ODcsNyArMjQ5ODcs NyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBiPTIwOQogICAgICAgICAgT1IgYj0zNzQK ICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDc2IEFORCA3OCkgQU5EIGEhPTc3KQotICAgICAgICAg T1IgKGQ+PTQwLjAgQU5EIGQ8NDEuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj00 MC4wIEFORCBkPDQxLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBjPTIyMDIyCiAg IF1dKQogICAgIGVuZCwgewpAQCAtMjUwNDcsOSArMjUwNDcsOSBAQCB0ZXN0OmRvX3Rlc3QoCiAg ICAgIFNFTEVDVCBhIEZST00gdDIKICAgICAgIFdIRVJFIGI9OTkKICAgICAgICAgIE9SIChnPSdu bWxramloJyBBTkQgZiBHTE9CICdmZ2hpaionKQotICAgICAgICAgT1IgKGQ+PTk4LjAgQU5EIGQ8 OTkuMCBBTkQgZCBOT1QgTlVMTCkKLSAgICAgICAgIE9SIChkPj0xLjAgQU5EIGQ8Mi4wIEFORCBk IE5PVCBOVUxMKQotICAgICAgICAgT1IgKGQ+PTQ2LjAgQU5EIGQ8NDcuMCBBTkQgZCBOT1QgTlVM TCkKKyAgICAgICAgIE9SIChkPj05OC4wIEFORCBkPDk5LjAgQU5EIGQgSVMgTk9UIE5VTEwpCisg ICAgICAgICBPUiAoZD49MS4wIEFORCBkPDIuMCBBTkQgZCBJUyBOT1QgTlVMTCkKKyAgICAgICAg IE9SIChkPj00Ni4wIEFORCBkPDQ3LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVu ZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIuNjcwLjE+CkBAIC0yNTA2NCw5ICsyNTA2NCw5IEBA IHRlc3Q6ZG9fdGVzdCgKICAgICAgU0VMRUNUIGEgRlJPTSB0MwogICAgICAgV0hFUkUgYj05OQog ICAgICAgICAgT1IgKGc9J25tbGtqaWgnIEFORCBmIEdMT0IgJ2ZnaGlqKicpCi0gICAgICAgICBP UiAoZD49OTguMCBBTkQgZDw5OS4wIEFORCBkIE5PVCBOVUxMKQotICAgICAgICAgT1IgKGQ+PTEu MCBBTkQgZDwyLjAgQU5EIGQgTk9UIE5VTEwpCi0gICAgICAgICBPUiAoZD49NDYuMCBBTkQgZDw0 Ny4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTk4LjAgQU5EIGQ8OTkuMCBBTkQg ZCBJUyBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0xLjAgQU5EIGQ8Mi4wIEFORCBkIElTIE5P VCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTQ2LjAgQU5EIGQ8NDcuMCBBTkQgZCBJUyBOT1QgTlVM TCkKICAgXV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi42NzAuMj4KQEAgLTI1 MDgwLDcgKzI1MDgwLDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICByZXR1cm4gY291bnRfc3Rl cHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCiAgICAgICBXSEVSRSBhPTMKLSAgICAg ICAgIE9SIChkPj02Mi4wIEFORCBkPDYzLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAo ZD49NjIuMCBBTkQgZDw2My4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj0zNTUK ICAgICAgICAgIE9SIGI9ODE0CiAgICAgICAgICBPUiAoZz0naWhnZmVkYycgQU5EIGYgR0xPQiAn YmNkZWYqJykKQEAgLTI1MTAxLDcgKzI1MTAxLDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICBy ZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQzCiAgICAgICBX SEVSRSBhPTMKLSAgICAgICAgIE9SIChkPj02Mi4wIEFORCBkPDYzLjAgQU5EIGQgTk9UIE5VTEwp CisgICAgICAgICBPUiAoZD49NjIuMCBBTkQgZDw2My4wIEFORCBkIElTIE5PVCBOVUxMKQogICAg ICAgICAgT1IgYj0zNTUKICAgICAgICAgIE9SIGI9ODE0CiAgICAgICAgICBPUiAoZz0naWhnZmVk YycgQU5EIGYgR0xPQiAnYmNkZWYqJykKQEAgLTI1MTIxLDggKzI1MTIxLDggQEAgdGVzdDpkb190 ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sK ICAgICAgU0VMRUNUIGEgRlJPTSB0MgotICAgICAgV0hFUkUgKGQ+PTEuMCBBTkQgZDwyLjAgQU5E IGQgTk9UIE5VTEwpCi0gICAgICAgICBPUiAoZD49NTYuMCBBTkQgZDw1Ny4wIEFORCBkIE5PVCBO VUxMKQorICAgICAgV0hFUkUgKGQ+PTEuMCBBTkQgZDwyLjAgQU5EIGQgSVMgTk9UIE5VTEwpCisg ICAgICAgICBPUiAoZD49NTYuMCBBTkQgZDw1Ny4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAg ICAgT1IgYj0zNjMKICAgICAgICAgIE9SIChnPSdzcnFwb25tJyBBTkQgZiBHTE9CICdmZ2hpaion KQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNjQgQU5EIDY2KSBBTkQgYSE9NjUpCkBAIC0yNTE0 MSw4ICsyNTE0MSw4IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJl dHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDMKLSAgICAgIFdI RVJFIChkPj0xLjAgQU5EIGQ8Mi4wIEFORCBkIE5PVCBOVUxMKQotICAgICAgICAgT1IgKGQ+PTU2 LjAgQU5EIGQ8NTcuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChkPj0xLjAgQU5EIGQ8 Mi4wIEFORCBkIElTIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTU2LjAgQU5EIGQ8NTcuMCBB TkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9MzYzCiAgICAgICAgICBPUiAoZz0nc3Jx cG9ubScgQU5EIGYgR0xPQiAnZmdoaWoqJykKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDY0IEFO RCA2NikgQU5EIGEhPTY1KQpAQCAtMjUxOTgsOCArMjUxOTgsOCBAQCB0ZXN0OmRvX3Rlc3QoCiAg ICAgICBXSEVSRSBhPTc5CiAgICAgICAgICBPUiBiPTIwMQogICAgICAgICAgT1IgYj05OQotICAg ICAgICAgT1IgKGQ+PTIxLjAgQU5EIGQ8MjIuMCBBTkQgZCBOT1QgTlVMTCkKLSAgICAgICAgIE9S IChkPj0xOS4wIEFORCBkPDIwLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MjEu MCBBTkQgZDwyMi4wIEFORCBkIElTIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTE5LjAgQU5E IGQ8MjAuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGE9NjQKICAgICAgICAgIE9S IChmIEdMT0IgJz9yc3R1KicgQU5EIGYgR0xPQiAncXJzdConKQogICAgICAgICAgT1IgYT04OQpA QCAtMjUyMTgsOCArMjUyMTgsOCBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICBXSEVSRSBhPTc5CiAg ICAgICAgICBPUiBiPTIwMQogICAgICAgICAgT1IgYj05OQotICAgICAgICAgT1IgKGQ+PTIxLjAg QU5EIGQ8MjIuMCBBTkQgZCBOT1QgTlVMTCkKLSAgICAgICAgIE9SIChkPj0xOS4wIEFORCBkPDIw LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MjEuMCBBTkQgZDwyMi4wIEFORCBk IElTIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTE5LjAgQU5EIGQ8MjAuMCBBTkQgZCBJUyBO T1QgTlVMTCkKICAgICAgICAgIE9SIGE9NjQKICAgICAgICAgIE9SIChmIEdMT0IgJz9yc3R1Kicg QU5EIGYgR0xPQiAncXJzdConKQogICAgICAgICAgT1IgYT04OQpAQCAtMjUyNzksNyArMjUyNzks NyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291bnRf c3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCi0gICAgICBXSEVSRSAoZD49MTAw LjAgQU5EIGQ8MTAxLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49MTAwLjAgQU5E IGQ8MTAxLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoZz0ndXRzcnFwbycgQU5E IGYgR0xPQiAndHV2d3gqJykKICAgICAgICAgIE9SIGY9J2tsbW5vcHFycycKICAgICAgICAgIE9S IGY9J2xtbm9wcXJzdCcKQEAgLTI1Mjk1LDcgKzI1Mjk1LDcgQEAgdGVzdDpkb190ZXN0KAogICAg IGZ1bmN0aW9uKCkKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VM RUNUIGEgRlJPTSB0MwotICAgICAgV0hFUkUgKGQ+PTEwMC4wIEFORCBkPDEwMS4wIEFORCBkIE5P VCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTEwMC4wIEFORCBkPDEwMS4wIEFORCBkIElTIE5PVCBO VUxMKQogICAgICAgICAgT1IgKGc9J3V0c3JxcG8nIEFORCBmIEdMT0IgJ3R1dnd4KicpCiAgICAg ICAgICBPUiBmPSdrbG1ub3BxcnMnCiAgICAgICAgICBPUiBmPSdsbW5vcHFyc3QnCkBAIC0yNTM5 Myw3ICsyNTM5Myw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIChnPSdtbGtqaWhnJyBB TkQgZiBHTE9CICdnaGlqayonKQogICAgICAgICAgT1IgYj03MDcKICAgICAgICAgIE9SIGI9MzYz Ci0gICAgICAgICBPUiAoZD49MTIuMCBBTkQgZDwxMy4wIEFORCBkIE5PVCBOVUxMKQorICAgICAg ICAgT1IgKGQ+PTEyLjAgQU5EIGQ8MTMuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9S IGI9MTU3CiAgICAgICAgICBPUiAoZz0ndHNycXBvbicgQU5EIGYgR0xPQiAneXphYmMqJykKICAg XV0pCkBAIC0yNTQxNCw3ICsyNTQxNCw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIChn PSdtbGtqaWhnJyBBTkQgZiBHTE9CICdnaGlqayonKQogICAgICAgICAgT1IgYj03MDcKICAgICAg ICAgIE9SIGI9MzYzCi0gICAgICAgICBPUiAoZD49MTIuMCBBTkQgZDwxMy4wIEFORCBkIE5PVCBO VUxMKQorICAgICAgICAgT1IgKGQ+PTEyLjAgQU5EIGQ8MTMuMCBBTkQgZCBJUyBOT1QgTlVMTCkK ICAgICAgICAgIE9SIGI9MTU3CiAgICAgICAgICBPUiAoZz0ndHNycXBvbicgQU5EIGYgR0xPQiAn eXphYmMqJykKICAgXV0pCkBAIC0yNTQyOSw3ICsyNTQyOSw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAg ICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNF TEVDVCBhIEZST00gdDIKLSAgICAgIFdIRVJFIChkPj0yNy4wIEFORCBkPDI4LjAgQU5EIGQgTk9U IE5VTEwpCisgICAgICBXSEVSRSAoZD49MjcuMCBBTkQgZDwyOC4wIEFORCBkIElTIE5PVCBOVUxM KQogICAgICAgICAgT1IgYT0yCiAgICAgICAgICBPUiBhPTg0CiAgICAgICAgICBPUiBiPTM5OQpA QCAtMjU0NTEsNyArMjU0NTEsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAg ICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQzCi0g ICAgICBXSEVSRSAoZD49MjcuMCBBTkQgZDwyOC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hF UkUgKGQ+PTI3LjAgQU5EIGQ8MjguMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGE9 MgogICAgICAgICAgT1IgYT04NAogICAgICAgICAgT1IgYj0zOTkKQEAgLTI1NDc4LDcgKzI1NDc4 LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMzggQU5EIDQwKSBB TkQgYSE9MzkpCiAgICAgICAgICBPUiBjPTMwMDMKICAgICAgICAgIE9SIGE9MTkKLSAgICAgICAg IE9SIChkPj00Ni4wIEFORCBkPDQ3LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49 NDYuMCBBTkQgZDw0Ny4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKChhIEJFVFdF RU4gMjAgQU5EIDIyKSBBTkQgYSE9MjEpCiAgIF1dKQogICAgIGVuZCwgewpAQCAtMjU0OTcsNyAr MjU0OTcsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiAzOCBBTkQg NDApIEFORCBhIT0zOSkKICAgICAgICAgIE9SIGM9MzAwMwogICAgICAgICAgT1IgYT0xOQotICAg ICAgICAgT1IgKGQ+PTQ2LjAgQU5EIGQ8NDcuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9S IChkPj00Ni4wIEFORCBkPDQ3LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoKGEg QkVUV0VFTiAyMCBBTkQgMjIpIEFORCBhIT0yMSkKICAgXV0pCiAgICAgZW5kLCB7CkBAIC0yNTUx MywxMCArMjU1MTMsMTAgQEAgdGVzdDpkb190ZXN0KAogICAgICBTRUxFQ1QgYSBGUk9NIHQyCiAg ICAgICBXSEVSRSBiPTY1MgogICAgICAgICAgT1IgYT04MwotICAgICAgICAgT1IgKGQ+PTk3LjAg QU5EIGQ8OTguMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj05Ny4wIEFORCBkPDk4 LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTEwMgogICAgICAgICAgT1IgYj0z MDAKLSAgICAgICAgIE9SIChkPj00OS4wIEFORCBkPDUwLjAgQU5EIGQgTk9UIE5VTEwpCisgICAg ICAgICBPUiAoZD49NDkuMCBBTkQgZDw1MC4wIEFORCBkIElTIE5PVCBOVUxMKQogICBdXSkKICAg ICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjY4Mi4xPgpAQCAtMjU1MzEsMTAgKzI1NTMx LDEwIEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgU0VMRUNUIGEgRlJPTSB0MwogICAgICAgV0hFUkUg Yj02NTIKICAgICAgICAgIE9SIGE9ODMKLSAgICAgICAgIE9SIChkPj05Ny4wIEFORCBkPDk4LjAg QU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49OTcuMCBBTkQgZDw5OC4wIEFORCBkIElT IE5PVCBOVUxMKQogICAgICAgICAgT1IgYj0xMDIKICAgICAgICAgIE9SIGI9MzAwCi0gICAgICAg ICBPUiAoZD49NDkuMCBBTkQgZDw1MC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+ PTQ5LjAgQU5EIGQ8NTAuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAgICAgZW5kLCB7CiAg ICAgICAgIC0tIDx3aGVyZTctMi42ODIuMj4KQEAgLTI1NTk0LDE0ICsyNTU5NCwxNCBAQCB0ZXN0 OmRvX3Rlc3QoCiAgICAgICBXSEVSRSBiPTIwOQogICAgICAgICAgT1IgYj0xOTgKICAgICAgICAg IE9SIGE9NTIKLSAgICAgICAgIE9SIChkPj02NC4wIEFORCBkPDY1LjAgQU5EIGQgTk9UIE5VTEwp CisgICAgICAgICBPUiAoZD49NjQuMCBBTkQgZDw2NS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAg ICAgICAgT1IgZDwwLjAKICAgICAgICAgIE9SIChnPSdycXBvbm1sJyBBTkQgZiBHTE9CICdqa2xt bionKQogICAgICAgICAgT1IgKGYgR0xPQiAnP2lqa2wqJyBBTkQgZiBHTE9CICdoaWprKicpCiAg ICAgICAgICBPUiBiPTE2OAotICAgICAgICAgT1IgKGQ+PTI0LjAgQU5EIGQ8MjUuMCBBTkQgZCBO T1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0yNC4wIEFORCBkPDI1LjAgQU5EIGQgSVMgTk9UIE5V TEwpCiAgICAgICAgICBPUiBmPSd1dnd4eXphYmMnCi0gICAgICAgICBPUiAoZD49NDIuMCBBTkQg ZDw0My4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTQyLjAgQU5EIGQ8NDMuMCBB TkQgZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTct Mi42ODQuMT4KQEAgLTI1NjE3LDE0ICsyNTYxNywxNCBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICBX SEVSRSBiPTIwOQogICAgICAgICAgT1IgYj0xOTgKICAgICAgICAgIE9SIGE9NTIKLSAgICAgICAg IE9SIChkPj02NC4wIEFORCBkPDY1LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49 NjQuMCBBTkQgZDw2NS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgZDwwLjAKICAg ICAgICAgIE9SIChnPSdycXBvbm1sJyBBTkQgZiBHTE9CICdqa2xtbionKQogICAgICAgICAgT1Ig KGYgR0xPQiAnP2lqa2wqJyBBTkQgZiBHTE9CICdoaWprKicpCiAgICAgICAgICBPUiBiPTE2OAot ICAgICAgICAgT1IgKGQ+PTI0LjAgQU5EIGQ8MjUuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAg IE9SIChkPj0yNC4wIEFORCBkPDI1LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBm PSd1dnd4eXphYmMnCi0gICAgICAgICBPUiAoZD49NDIuMCBBTkQgZDw0My4wIEFORCBkIE5PVCBO VUxMKQorICAgICAgICAgT1IgKGQ+PTQyLjAgQU5EIGQ8NDMuMCBBTkQgZCBJUyBOT1QgTlVMTCkK ICAgXV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi42ODQuMj4KQEAgLTI1NjQ1 LDcgKzI1NjQ1LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgKGc9J2hnZmVkY2InIEFO RCBmIEdMT0IgJ2doaWprKicpCiAgICAgICAgICBPUiAoZz0nd3Z1dHNycScgQU5EIGYgR0xPQiAn aWprbG0qJykKICAgICAgICAgIE9SIGE9MTQKLSAgICAgICAgIE9SIChkPj0xMi4wIEFORCBkPDEz LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MTIuMCBBTkQgZDwxMy4wIEFORCBk IElTIE5PVCBOVUxMKQogICBdXSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjY4 NS4xPgpAQCAtMjU2NjYsNyArMjU2NjYsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiAo Zz0naGdmZWRjYicgQU5EIGYgR0xPQiAnZ2hpamsqJykKICAgICAgICAgIE9SIChnPSd3dnV0c3Jx JyBBTkQgZiBHTE9CICdpamtsbSonKQogICAgICAgICAgT1IgYT0xNAotICAgICAgICAgT1IgKGQ+ PTEyLjAgQU5EIGQ8MTMuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0xMi4wIEFO RCBkPDEzLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAgICAgICAt LSA8d2hlcmU3LTIuNjg1LjI+CkBAIC0yNTc5NSwxMCArMjU3OTUsMTAgQEAgdGVzdDpkb190ZXN0 KAogICAgICBTRUxFQ1QgYSBGUk9NIHQyCiAgICAgICBXSEVSRSBjPTI3MDI3CiAgICAgICAgICBP UiBiPTk2OAotICAgICAgICAgT1IgKGQ+PTUxLjAgQU5EIGQ8NTIuMCBBTkQgZCBOT1QgTlVMTCkK KyAgICAgICAgIE9SIChkPj01MS4wIEFORCBkPDUyLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAg ICAgICBPUiBiPTQ4NwogICAgICAgICAgT1IgYj05MjQKLSAgICAgICAgIE9SIChkPj03MC4wIEFO RCBkPDcxLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NzAuMCBBTkQgZDw3MS4w IEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYz0xNDAxNAogICAgICAgICAgT1IgYj0x MDAxCiAgIF1dKQpAQCAtMjU4MTUsMTAgKzI1ODE1LDEwIEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAg U0VMRUNUIGEgRlJPTSB0MwogICAgICAgV0hFUkUgYz0yNzAyNwogICAgICAgICAgT1IgYj05NjgK LSAgICAgICAgIE9SIChkPj01MS4wIEFORCBkPDUyLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAg ICBPUiAoZD49NTEuMCBBTkQgZDw1Mi4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1Ig Yj00ODcKICAgICAgICAgIE9SIGI9OTI0Ci0gICAgICAgICBPUiAoZD49NzAuMCBBTkQgZDw3MS4w IEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTcwLjAgQU5EIGQ8NzEuMCBBTkQgZCBJ UyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGM9MTQwMTQKICAgICAgICAgIE9SIGI9MTAwMQogICBd XSkKQEAgLTI1ODM3LDcgKzI1ODM3LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgKChh IEJFVFdFRU4gNDMgQU5EIDQ1KSBBTkQgYSE9NDQpCiAgICAgICAgICBPUiAoZz0nZ2ZlZGNiYScg QU5EIGYgR0xPQiAnbW5vcHEqJykKICAgICAgICAgIE9SIChmIEdMT0IgJz91dnd4KicgQU5EIGYg R0xPQiAndHV2dyonKQotICAgICAgICAgT1IgKGQ+PTEwLjAgQU5EIGQ8MTEuMCBBTkQgZCBOT1Qg TlVMTCkKKyAgICAgICAgIE9SIChkPj0xMC4wIEFORCBkPDExLjAgQU5EIGQgSVMgTk9UIE5VTEwp CiAgICAgICAgICBPUiBiPTQ0MwogICAgICAgICAgT1IgYj01NjQKICAgICAgICAgIE9SIChnPSdr amloZ2ZlJyBBTkQgZiBHTE9CICdyc3R1dionKQpAQCAtMjU4NjAsNyArMjU4NjAsNyBAQCB0ZXN0 OmRvX3Rlc3QoCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA0MyBBTkQgNDUpIEFORCBhIT00NCkK ICAgICAgICAgIE9SIChnPSdnZmVkY2JhJyBBTkQgZiBHTE9CICdtbm9wcSonKQogICAgICAgICAg T1IgKGYgR0xPQiAnP3V2d3gqJyBBTkQgZiBHTE9CICd0dXZ3KicpCi0gICAgICAgICBPUiAoZD49 MTAuMCBBTkQgZDwxMS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTEwLjAgQU5E IGQ8MTEuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9NDQzCiAgICAgICAgICBP UiBiPTU2NAogICAgICAgICAgT1IgKGc9J2tqaWhnZmUnIEFORCBmIEdMT0IgJ3JzdHV2KicpCkBA IC0yNTkxMCw3ICsyNTkxMCw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgIFdIRVJFIChnPSdramlo Z2ZlJyBBTkQgZiBHTE9CICdzdHV2dyonKQogICAgICAgICAgT1IgYj01MzEKICAgICAgICAgIE9S ICgoYSBCRVRXRUVOIDkzIEFORCA5NSkgQU5EIGEhPTk0KQotICAgICAgICAgT1IgKGQ+PTMuMCBB TkQgZDw0LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49My4wIEFORCBkPDQuMCBB TkQgZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTct Mi42OTIuMT4KQEAgLTI1OTI2LDcgKzI1OTI2LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgV0hF UkUgKGc9J2tqaWhnZmUnIEFORCBmIEdMT0IgJ3N0dXZ3KicpCiAgICAgICAgICBPUiBiPTUzMQog ICAgICAgICAgT1IgKChhIEJFVFdFRU4gOTMgQU5EIDk1KSBBTkQgYSE9OTQpCi0gICAgICAgICBP UiAoZD49My4wIEFORCBkPDQuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0zLjAg QU5EIGQ8NC4wIEFORCBkIElTIE5PVCBOVUxMKQogICBdXSkKICAgICBlbmQsIHsKICAgICAgICAg LS0gPHdoZXJlNy0yLjY5Mi4yPgpAQCAtMjU5NjcsMTAgKzI1OTY3LDEwIEBAIHRlc3Q6ZG9fdGVz dCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAg ICAgIFNFTEVDVCBhIEZST00gdDIKLSAgICAgIFdIRVJFIChkPj02MC4wIEFORCBkPDYxLjAgQU5E IGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49NjAuMCBBTkQgZDw2MS4wIEFORCBkIElTIE5P VCBOVUxMKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMjQgQU5EIDI2KSBBTkQgYSE9MjUpCi0g ICAgICAgICBPUiAoZD49ODMuMCBBTkQgZDw4NC4wIEFORCBkIE5PVCBOVUxMKQotICAgICAgICAg T1IgKGQ+PTE5LjAgQU5EIGQ8MjAuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj04 My4wIEFORCBkPDg0LjAgQU5EIGQgSVMgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MTkuMCBB TkQgZDwyMC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj03ODQKICAgICAgICAg IE9SIGI9NzE4CiAgICAgICAgICBPUiBhPTE4CkBAIC0yNTk5MCwxMCArMjU5OTAsMTAgQEAgdGVz dDpkb190ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3Nv cnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MwotICAgICAgV0hFUkUgKGQ+PTYwLjAgQU5EIGQ8 NjEuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChkPj02MC4wIEFORCBkPDYxLjAgQU5E IGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiAyNCBBTkQgMjYpIEFORCBh IT0yNSkKLSAgICAgICAgIE9SIChkPj04My4wIEFORCBkPDg0LjAgQU5EIGQgTk9UIE5VTEwpCi0g ICAgICAgICBPUiAoZD49MTkuMCBBTkQgZDwyMC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAg T1IgKGQ+PTgzLjAgQU5EIGQ8ODQuMCBBTkQgZCBJUyBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChk Pj0xOS4wIEFORCBkPDIwLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTc4NAog ICAgICAgICAgT1IgYj03MTgKICAgICAgICAgIE9SIGE9MTgKQEAgLTI2MDE2LDExICsyNjAxNiwx MSBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICBXSEVSRSBiPTQ3MwogICAgICAgICAgT1IgYj02NDkK ICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDQ2IEFORCA0OCkgQU5EIGEhPTQ3KQotICAgICAgICAg T1IgKGQ+PTkxLjAgQU5EIGQ8OTIuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj05 MS4wIEFORCBkPDkyLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTExMDAKICAg ICAgICAgIE9SIGI9MTAxMgogICAgICAgICAgT1IgYT03MgotICAgICAgICAgT1IgKGQ+PTE4LjAg QU5EIGQ8MTkuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0xOC4wIEFORCBkPDE5 LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTE3NgogICAgICAgICAgT1IgYj0z NTUKICAgXV0pCkBAIC0yNjAzOCwxMSArMjYwMzgsMTEgQEAgdGVzdDpkb190ZXN0KAogICAgICAg V0hFUkUgYj00NzMKICAgICAgICAgIE9SIGI9NjQ5CiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA0 NiBBTkQgNDgpIEFORCBhIT00NykKLSAgICAgICAgIE9SIChkPj05MS4wIEFORCBkPDkyLjAgQU5E IGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49OTEuMCBBTkQgZDw5Mi4wIEFORCBkIElTIE5P VCBOVUxMKQogICAgICAgICAgT1IgYj0xMTAwCiAgICAgICAgICBPUiBiPTEwMTIKICAgICAgICAg IE9SIGE9NzIKLSAgICAgICAgIE9SIChkPj0xOC4wIEFORCBkPDE5LjAgQU5EIGQgTk9UIE5VTEwp CisgICAgICAgICBPUiAoZD49MTguMCBBTkQgZDwxOS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAg ICAgICAgT1IgYj0xNzYKICAgICAgICAgIE9SIGI9MzU1CiAgIF1dKQpAQCAtMjYwNTcsMTMgKzI2 MDU3LDEzIEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVybiBj b3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIKLSAgICAgIFdIRVJFIChk Pj0xNS4wIEFORCBkPDE2LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49MTUuMCBB TkQgZDwxNi4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgZj0nY2RlZmdoaWprJwot ICAgICAgICAgT1IgKGQ+PTE5LjAgQU5EIGQ8MjAuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAg IE9SIChkPj0xOS4wIEFORCBkPDIwLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAo KGEgQkVUV0VFTiAzMCBBTkQgMzIpIEFORCBhIT0zMSkKLSAgICAgICAgIE9SIChkPj0yOS4wIEFO RCBkPDMwLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MjkuMCBBTkQgZDwzMC4w IEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKGc9J3NycXBvbm0nIEFORCBmIEdMT0Ig J2doaWprKicpCi0gICAgICAgICBPUiAoZD49OTEuMCBBTkQgZDw5Mi4wIEFORCBkIE5PVCBOVUxM KQorICAgICAgICAgT1IgKGQ+PTkxLjAgQU5EIGQ8OTIuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAg XV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi42OTYuMT4KQEAgLTI2MDc2LDEz ICsyNjA3NiwxMyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1 cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQzCi0gICAgICBXSEVS RSAoZD49MTUuMCBBTkQgZDwxNi4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTE1 LjAgQU5EIGQ8MTYuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGY9J2NkZWZnaGlq aycKLSAgICAgICAgIE9SIChkPj0xOS4wIEFORCBkPDIwLjAgQU5EIGQgTk9UIE5VTEwpCisgICAg ICAgICBPUiAoZD49MTkuMCBBTkQgZDwyMC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAg T1IgKChhIEJFVFdFRU4gMzAgQU5EIDMyKSBBTkQgYSE9MzEpCi0gICAgICAgICBPUiAoZD49Mjku MCBBTkQgZDwzMC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTI5LjAgQU5EIGQ8 MzAuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChnPSdzcnFwb25tJyBBTkQgZiBH TE9CICdnaGlqayonKQotICAgICAgICAgT1IgKGQ+PTkxLjAgQU5EIGQ8OTIuMCBBTkQgZCBOT1Qg TlVMTCkKKyAgICAgICAgIE9SIChkPj05MS4wIEFORCBkPDkyLjAgQU5EIGQgSVMgTk9UIE5VTEwp CiAgIF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIuNjk2LjI+CkBAIC0yNjA5 Nyw3ICsyNjA5Nyw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgU0VMRUNUIGEgRlJPTSB0MgogICAg ICAgV0hFUkUgKGc9J21sa2ppaGcnIEFORCBmIEdMT0IgJ2lqa2xtKicpCiAgICAgICAgICBPUiBi PTg4MwotICAgICAgICAgT1IgKGQ+PTIyLjAgQU5EIGQ8MjMuMCBBTkQgZCBOT1QgTlVMTCkKKyAg ICAgICAgIE9SIChkPj0yMi4wIEFORCBkPDIzLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAg ICBPUiBiPTkzOAogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMTcgQU5EIDE5KSBBTkQgYSE9MTgp CiAgICAgICAgICBPUiBmPSdkZWZnaGlqa2wnCkBAIC0yNjExNyw3ICsyNjExNyw3IEBAIHRlc3Q6 ZG9fdGVzdCgKICAgICAgU0VMRUNUIGEgRlJPTSB0MwogICAgICAgV0hFUkUgKGc9J21sa2ppaGcn IEFORCBmIEdMT0IgJ2lqa2xtKicpCiAgICAgICAgICBPUiBiPTg4MwotICAgICAgICAgT1IgKGQ+ PTIyLjAgQU5EIGQ8MjMuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0yMi4wIEFO RCBkPDIzLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTkzOAogICAgICAgICAg T1IgKChhIEJFVFdFRU4gMTcgQU5EIDE5KSBBTkQgYSE9MTgpCiAgICAgICAgICBPUiBmPSdkZWZn aGlqa2wnCkBAIC0yNjEzNiw3ICsyNjEzNiw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgcmV0 dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MgogICAgICAgV0hF UkUgKChhIEJFVFdFRU4gNyBBTkQgOSkgQU5EIGEhPTgpCi0gICAgICAgICBPUiAoZD49NzYuMCBB TkQgZDw3Ny4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTc2LjAgQU5EIGQ8Nzcu MCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9OTAyCiAgICAgICAgICBPUiBiPTI1 CiAgIF1dKQpAQCAtMjYxNTIsNyArMjYxNTIsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgIHJl dHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDMKICAgICAgIFdI RVJFICgoYSBCRVRXRUVOIDcgQU5EIDkpIEFORCBhIT04KQotICAgICAgICAgT1IgKGQ+PTc2LjAg QU5EIGQ8NzcuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj03Ni4wIEFORCBkPDc3 LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTkwMgogICAgICAgICAgT1IgYj0y NQogICBdXSkKQEAgLTI2MTY4LDcgKzI2MTY4LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICBy ZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCiAgICAgICBX SEVSRSAoZz0ndHNycXBvbicgQU5EIGYgR0xPQiAnYWJjZGUqJykKLSAgICAgICAgIE9SIChkPj01 NS4wIEFORCBkPDU2LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NTUuMCBBTkQg ZDw1Ni4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNjggQU5E IDcwKSBBTkQgYSE9NjkpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA3NCBBTkQgNzYpIEFORCBh IT03NSkKICAgICAgICAgIE9SIGI9MTA5MgpAQCAtMjYxODYsNyArMjYxODYsNyBAQCB0ZXN0OmRv X3Rlc3QoCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBh IEZST00gdDMKICAgICAgIFdIRVJFIChnPSd0c3JxcG9uJyBBTkQgZiBHTE9CICdhYmNkZSonKQot ICAgICAgICAgT1IgKGQ+PTU1LjAgQU5EIGQ8NTYuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAg IE9SIChkPj01NS4wIEFORCBkPDU2LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAo KGEgQkVUV0VFTiA2OCBBTkQgNzApIEFORCBhIT02OSkKICAgICAgICAgIE9SICgoYSBCRVRXRUVO IDc0IEFORCA3NikgQU5EIGEhPTc1KQogICAgICAgICAgT1IgYj0xMDkyCkBAIC0yNjMyNSw3ICsy NjMyNSw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIGI9NzcKICAgICAgICAgIE9SIGI9 OTI3CiAgICAgICAgICBPUiBhPTk5Ci0gICAgICAgICBPUiAoZD49NjYuMCBBTkQgZDw2Ny4wIEFO RCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTY2LjAgQU5EIGQ8NjcuMCBBTkQgZCBJUyBO T1QgTlVMTCkKICAgICAgICAgIE9SIChmIEdMT0IgJz92d3h5KicgQU5EIGYgR0xPQiAndXZ3eCon KQogICBdXSkKICAgICBlbmQsIHsKQEAgLTI2MzQ3LDcgKzI2MzQ3LDcgQEAgdGVzdDpkb190ZXN0 KAogICAgICAgICAgT1IgYj03NwogICAgICAgICAgT1IgYj05MjcKICAgICAgICAgIE9SIGE9OTkK LSAgICAgICAgIE9SIChkPj02Ni4wIEFORCBkPDY3LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAg ICBPUiAoZD49NjYuMCBBTkQgZDw2Ny4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1Ig KGYgR0xPQiAnP3Z3eHkqJyBBTkQgZiBHTE9CICd1dnd4KicpCiAgIF1dKQogICAgIGVuZCwgewpA QCAtMjYzNjEsOCArMjYzNjEsOCBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAg ICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCi0g ICAgICBXSEVSRSAoZD49NzYuMCBBTkQgZDw3Ny4wIEFORCBkIE5PVCBOVUxMKQotICAgICAgICAg T1IgKGQ+PTQ1LjAgQU5EIGQ8NDYuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChkPj03 Ni4wIEFORCBkPDc3LjAgQU5EIGQgSVMgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NDUuMCBB TkQgZDw0Ni4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj0xMQogICAgICAgICAg T1IgKChhIEJFVFdFRU4gMjEgQU5EIDIzKSBBTkQgYSE9MjIpCiAgIF1dKQpAQCAtMjYzNzcsOCAr MjYzNzcsOCBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4g Y291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQzCi0gICAgICBXSEVSRSAo ZD49NzYuMCBBTkQgZDw3Ny4wIEFORCBkIE5PVCBOVUxMKQotICAgICAgICAgT1IgKGQ+PTQ1LjAg QU5EIGQ8NDYuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChkPj03Ni4wIEFORCBkPDc3 LjAgQU5EIGQgSVMgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NDUuMCBBTkQgZDw0Ni4wIEFO RCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj0xMQogICAgICAgICAgT1IgKChhIEJFVFdF RU4gMjEgQU5EIDIzKSBBTkQgYSE9MjIpCiAgIF1dKQpAQCAtMjY0MjEsMTMgKzI2NDIxLDEzIEBA IHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVw c19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIKLSAgICAgIFdIRVJFIChkPj00NC4wIEFO RCBkPDQ1LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49NDQuMCBBTkQgZDw0NS4w IEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNTQgQU5EIDU2KSBB TkQgYSE9NTUpCiAgICAgICAgICBPUiBmPSdsbW5vcHFyc3QnCiAgICAgICAgICBPUiAoZiBHTE9C ICc/bG1ubyonIEFORCBmIEdMT0IgJ2tsbW4qJykKICAgICAgICAgIE9SIChnPSdpaGdmZWRjJyBB TkQgZiBHTE9CICdkZWZnaConKQogICAgICAgICAgT1IgYT0yMwotICAgICAgICAgT1IgKGQ+PTY5 LjAgQU5EIGQ8NzAuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj02OS4wIEFORCBk PDcwLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8 d2hlcmU3LTIuNzA2LjE+CkBAIC0yNjQ0MCwxMyArMjY0NDAsMTMgQEAgdGVzdDpkb190ZXN0KAog ICAgIGZ1bmN0aW9uKCkKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAg U0VMRUNUIGEgRlJPTSB0MwotICAgICAgV0hFUkUgKGQ+PTQ0LjAgQU5EIGQ8NDUuMCBBTkQgZCBO T1QgTlVMTCkKKyAgICAgIFdIRVJFIChkPj00NC4wIEFORCBkPDQ1LjAgQU5EIGQgSVMgTk9UIE5V TEwpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA1NCBBTkQgNTYpIEFORCBhIT01NSkKICAgICAg ICAgIE9SIGY9J2xtbm9wcXJzdCcKICAgICAgICAgIE9SIChmIEdMT0IgJz9sbW5vKicgQU5EIGYg R0xPQiAna2xtbionKQogICAgICAgICAgT1IgKGc9J2loZ2ZlZGMnIEFORCBmIEdMT0IgJ2RlZmdo KicpCiAgICAgICAgICBPUiBhPTIzCi0gICAgICAgICBPUiAoZD49NjkuMCBBTkQgZDw3MC4wIEFO RCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTY5LjAgQU5EIGQ8NzAuMCBBTkQgZCBJUyBO T1QgTlVMTCkKICAgXV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi43MDYuMj4K QEAgLTI2NDYyLDcgKzI2NDYyLDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgV0hFUkUgYj04MzYK ICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDg5IEFORCA5MSkgQU5EIGEhPTkwKQogICAgICAgICAg T1IgYj02MDUKLSAgICAgICAgIE9SIChkPj00Ni4wIEFORCBkPDQ3LjAgQU5EIGQgTk9UIE5VTEwp CisgICAgICAgICBPUiAoZD49NDYuMCBBTkQgZDw0Ny4wIEFORCBkIElTIE5PVCBOVUxMKQogICAg ICAgICAgT1IgKGc9J2tqaWhnZmUnIEFORCBmIEdMT0IgJ3N0dXZ3KicpCiAgICAgICAgICBPUiBi PTc1OQogICAgICAgICAgT1IgKGYgR0xPQiAnP3phYmMqJyBBTkQgZiBHTE9CICd5emFiKicpCkBA IC0yNjQ4NSw3ICsyNjQ4NSw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgIFdIRVJFIGI9ODM2CiAg ICAgICAgICBPUiAoKGEgQkVUV0VFTiA4OSBBTkQgOTEpIEFORCBhIT05MCkKICAgICAgICAgIE9S IGI9NjA1Ci0gICAgICAgICBPUiAoZD49NDYuMCBBTkQgZDw0Ny4wIEFORCBkIE5PVCBOVUxMKQor ICAgICAgICAgT1IgKGQ+PTQ2LjAgQU5EIGQ8NDcuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAg ICAgIE9SIChnPSdramloZ2ZlJyBBTkQgZiBHTE9CICdzdHV2dyonKQogICAgICAgICAgT1IgYj03 NTkKICAgICAgICAgIE9SIChmIEdMT0IgJz96YWJjKicgQU5EIGYgR0xPQiAneXphYionKQpAQCAt MjY1MDUsOCArMjY1MDUsOCBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAg ICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCi0gICAg ICBXSEVSRSAoZD49NTEuMCBBTkQgZDw1Mi4wIEFORCBkIE5PVCBOVUxMKQotICAgICAgICAgT1Ig KGQ+PTQyLjAgQU5EIGQ8NDMuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChkPj01MS4w IEFORCBkPDUyLjAgQU5EIGQgSVMgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NDIuMCBBTkQg ZDw0My4wIEFORCBkIElTIE5PVCBOVUxMKQogICBdXSkKICAgICBlbmQsIHsKICAgICAgICAgLS0g PHdoZXJlNy0yLjcwOC4xPgpAQCAtMjY1MTksOCArMjY1MTksOCBAQCB0ZXN0OmRvX3Rlc3QoCiAg ICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBT RUxFQ1QgYSBGUk9NIHQzCi0gICAgICBXSEVSRSAoZD49NTEuMCBBTkQgZDw1Mi4wIEFORCBkIE5P VCBOVUxMKQotICAgICAgICAgT1IgKGQ+PTQyLjAgQU5EIGQ8NDMuMCBBTkQgZCBOT1QgTlVMTCkK KyAgICAgIFdIRVJFIChkPj01MS4wIEFORCBkPDUyLjAgQU5EIGQgSVMgTk9UIE5VTEwpCisgICAg ICAgICBPUiAoZD49NDIuMCBBTkQgZDw0My4wIEFORCBkIElTIE5PVCBOVUxMKQogICBdXSkKICAg ICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjcwOC4yPgpAQCAtMjY2MDQsNyArMjY2MDQs NyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICBXSEVSRSAoZz0nbm1sa2ppaCcgQU5EIGYgR0xPQiAn ZWZnaGkqJykKICAgICAgICAgIE9SIGE9MzQKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDYgQU5E IDgpIEFORCBhIT03KQotICAgICAgICAgT1IgKGQ+PTc1LjAgQU5EIGQ8NzYuMCBBTkQgZCBOT1Qg TlVMTCkKKyAgICAgICAgIE9SIChkPj03NS4wIEFORCBkPDc2LjAgQU5EIGQgSVMgTk9UIE5VTEwp CiAgICAgICAgICBPUiBhPTY3CiAgICAgICAgICBPUiBhPTI4CiAgIF1dKQpAQCAtMjY2MjIsNyAr MjY2MjIsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICBXSEVSRSAoZz0nbm1sa2ppaCcgQU5EIGYg R0xPQiAnZWZnaGkqJykKICAgICAgICAgIE9SIGE9MzQKICAgICAgICAgIE9SICgoYSBCRVRXRUVO IDYgQU5EIDgpIEFORCBhIT03KQotICAgICAgICAgT1IgKGQ+PTc1LjAgQU5EIGQ8NzYuMCBBTkQg ZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj03NS4wIEFORCBkPDc2LjAgQU5EIGQgSVMgTk9U IE5VTEwpCiAgICAgICAgICBPUiBhPTY3CiAgICAgICAgICBPUiBhPTI4CiAgIF1dKQpAQCAtMjY2 NDAsNyArMjY2NDAsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICBXSEVSRSAoZz0ncXBvbm1saycg QU5EIGYgR0xPQiAncHFyc3QqJykKICAgICAgICAgIE9SIGE9NTIKICAgICAgICAgIE9SICgoYSBC RVRXRUVOIDY4IEFORCA3MCkgQU5EIGEhPTY5KQotICAgICAgICAgT1IgKGQ+PTI0LjAgQU5EIGQ8 MjUuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0yNC4wIEFORCBkPDI1LjAgQU5E IGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBmPSdnaGlqa2xtbm8nCiAgICAgICAgICBPUiAo Zz0ndXRzcnFwbycgQU5EIGYgR0xPQiAnc3R1dncqJykKICAgICAgICAgIE9SIChmIEdMT0IgJz9o aWprKicgQU5EIGYgR0xPQiAnZ2hpaionKQpAQCAtMjY2NjMsNyArMjY2NjMsNyBAQCB0ZXN0OmRv X3Rlc3QoCiAgICAgICBXSEVSRSAoZz0ncXBvbm1saycgQU5EIGYgR0xPQiAncHFyc3QqJykKICAg ICAgICAgIE9SIGE9NTIKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDY4IEFORCA3MCkgQU5EIGEh PTY5KQotICAgICAgICAgT1IgKGQ+PTI0LjAgQU5EIGQ8MjUuMCBBTkQgZCBOT1QgTlVMTCkKKyAg ICAgICAgIE9SIChkPj0yNC4wIEFORCBkPDI1LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAg ICBPUiBmPSdnaGlqa2xtbm8nCiAgICAgICAgICBPUiAoZz0ndXRzcnFwbycgQU5EIGYgR0xPQiAn c3R1dncqJykKICAgICAgICAgIE9SIChmIEdMT0IgJz9oaWprKicgQU5EIGYgR0xPQiAnZ2hpaion KQpAQCAtMjY2ODUsNyArMjY2ODUsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgIFNFTEVDVCBhIEZS T00gdDIKICAgICAgIFdIRVJFIChnPSdxcG9ubWxrJyBBTkQgZiBHTE9CICdwcXJzdConKQogICAg ICAgICAgT1IgKChhIEJFVFdFRU4gNjkgQU5EIDcxKSBBTkQgYSE9NzApCi0gICAgICAgICBPUiAo ZD49NzEuMCBBTkQgZDw3Mi4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTcxLjAg QU5EIGQ8NzIuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGE9NDcKICAgXV0pCiAg ICAgZW5kLCB7CkBAIC0yNjcwMSw3ICsyNjcwMSw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgU0VM RUNUIGEgRlJPTSB0MwogICAgICAgV0hFUkUgKGc9J3Fwb25tbGsnIEFORCBmIEdMT0IgJ3BxcnN0 KicpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA2OSBBTkQgNzEpIEFORCBhIT03MCkKLSAgICAg ICAgIE9SIChkPj03MS4wIEFORCBkPDcyLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAo ZD49NzEuMCBBTkQgZDw3Mi4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYT00Nwog ICBdXSkKICAgICBlbmQsIHsKQEAgLTI2NzgwLDcgKzI2NzgwLDcgQEAgdGVzdDpkb190ZXN0KAog ICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQy CiAgICAgICBXSEVSRSBjPTMxMDMxCi0gICAgICAgICBPUiAoZD49MTIuMCBBTkQgZDwxMy4wIEFO RCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTEyLjAgQU5EIGQ8MTMuMCBBTkQgZCBJUyBO T1QgTlVMTCkKICAgICAgICAgIE9SIChnPSdwb25tbGtqJyBBTkQgZiBHTE9CICd0dXZ3eConKQog ICAgICAgICAgT1IgKChhIEJFVFdFRU4gNjYgQU5EIDY4KSBBTkQgYSE9NjcpCiAgICAgICAgICBP UiBiPTI1NgpAQCAtMjY4MDMsNyArMjY4MDMsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgIHJl dHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDMKICAgICAgIFdI RVJFIGM9MzEwMzEKLSAgICAgICAgIE9SIChkPj0xMi4wIEFORCBkPDEzLjAgQU5EIGQgTk9UIE5V TEwpCisgICAgICAgICBPUiAoZD49MTIuMCBBTkQgZDwxMy4wIEFORCBkIElTIE5PVCBOVUxMKQog ICAgICAgICAgT1IgKGc9J3Bvbm1sa2onIEFORCBmIEdMT0IgJ3R1dnd4KicpCiAgICAgICAgICBP UiAoKGEgQkVUV0VFTiA2NiBBTkQgNjgpIEFORCBhIT02NykKICAgICAgICAgIE9SIGI9MjU2CkBA IC0yNjgzMyw3ICsyNjgzMyw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIGE9MgogICAg ICAgICAgT1IgYT01MQogICAgICAgICAgT1IgYj0yODYKLSAgICAgICAgIE9SIChkPj05Ni4wIEFO RCBkPDk3LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49OTYuMCBBTkQgZDw5Ny4w IEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj04MAogICBdXSkKICAgICBlbmQsIHsK QEAgLTI2ODU1LDcgKzI2ODU1LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgYT0yCiAg ICAgICAgICBPUiBhPTUxCiAgICAgICAgICBPUiBiPTI4NgotICAgICAgICAgT1IgKGQ+PTk2LjAg QU5EIGQ8OTcuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj05Ni4wIEFORCBkPDk3 LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTgwCiAgIF1dKQogICAgIGVuZCwg ewpAQCAtMjY4NzEsNyArMjY4NzEsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgIFNFTEVDVCBhIEZS T00gdDIKICAgICAgIFdIRVJFIGI9ODQ3CiAgICAgICAgICBPUiBmPSdlZmdoaWprbG0nCi0gICAg ICAgICBPUiAoZD49Ni4wIEFORCBkPDcuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChk Pj02LjAgQU5EIGQ8Ny4wIEFORCBkIElTIE5PVCBOVUxMKQogICBdXSkKICAgICBlbmQsIHsKICAg ICAgICAgLS0gPHdoZXJlNy0yLjcxOC4xPgpAQCAtMjY4ODYsNyArMjY4ODYsNyBAQCB0ZXN0OmRv X3Rlc3QoCiAgICAgIFNFTEVDVCBhIEZST00gdDMKICAgICAgIFdIRVJFIGI9ODQ3CiAgICAgICAg ICBPUiBmPSdlZmdoaWprbG0nCi0gICAgICAgICBPUiAoZD49Ni4wIEFORCBkPDcuMCBBTkQgZCBO T1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj02LjAgQU5EIGQ8Ny4wIEFORCBkIElTIE5PVCBOVUxM KQogICBdXSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjcxOC4yPgpAQCAtMjY5 MzEsNyArMjY5MzEsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiAz MSBBTkQgMzMpIEFORCBhIT0zMikKICAgICAgICAgIE9SIChnPSdubWxramloJyBBTkQgZiBHTE9C ICdiY2RlZionKQogICAgICAgICAgT1IgYT00MwotICAgICAgICAgT1IgKGQ+PTE0LjAgQU5EIGQ8 MTUuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0xNC4wIEFORCBkPDE1LjAgQU5E IGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTcyOQogICAgICAgICAgT1IgKGc9J3Z1dHNy cXAnIEFORCBmIEdMT0IgJ29wcXJzKicpCiAgIF1dKQpAQCAtMjY5NTAsNyArMjY5NTAsNyBAQCB0 ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiAzMSBBTkQgMzMpIEFORCBhIT0z MikKICAgICAgICAgIE9SIChnPSdubWxramloJyBBTkQgZiBHTE9CICdiY2RlZionKQogICAgICAg ICAgT1IgYT00MwotICAgICAgICAgT1IgKGQ+PTE0LjAgQU5EIGQ8MTUuMCBBTkQgZCBOT1QgTlVM TCkKKyAgICAgICAgIE9SIChkPj0xNC4wIEFORCBkPDE1LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAg ICAgICAgICBPUiBiPTcyOQogICAgICAgICAgT1IgKGc9J3Z1dHNycXAnIEFORCBmIEdMT0IgJ29w cXJzKicpCiAgIF1dKQpAQCAtMjcwMDYsNyArMjcwMDYsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAg ICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIKICAg ICAgIFdIRVJFICgoYSBCRVRXRUVOIDQwIEFORCA0MikgQU5EIGEhPTQxKQotICAgICAgICAgT1Ig KGQ+PTYyLjAgQU5EIGQ8NjMuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj02Mi4w IEFORCBkPDYzLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBjPD0xMAogICAgICAg ICAgT1IgKGc9J3NycXBvbm0nIEFORCBmIEdMT0IgJ2ZnaGlqKicpCiAgICAgICAgICBPUiBhPTM1 CkBAIC0yNzAxNSw3ICsyNzAxNSw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIGE9NzMK ICAgICAgICAgIE9SIGI9NzM3CiAgICAgICAgICBPUiBjPTE4MDE4Ci0gICAgICAgICBPUiAoZD49 MjMuMCBBTkQgZDwyNC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTIzLjAgQU5E IGQ8MjQuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0t IDx3aGVyZTctMi43MjIuMT4KQEAgLTI3MDI5LDcgKzI3MDI5LDcgQEAgdGVzdDpkb190ZXN0KAog ICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQz CiAgICAgICBXSEVSRSAoKGEgQkVUV0VFTiA0MCBBTkQgNDIpIEFORCBhIT00MSkKLSAgICAgICAg IE9SIChkPj02Mi4wIEFORCBkPDYzLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49 NjIuMCBBTkQgZDw2My4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYzw9MTAKICAg ICAgICAgIE9SIChnPSdzcnFwb25tJyBBTkQgZiBHTE9CICdmZ2hpaionKQogICAgICAgICAgT1Ig YT0zNQpAQCAtMjcwMzgsNyArMjcwMzgsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBh PTczCiAgICAgICAgICBPUiBiPTczNwogICAgICAgICAgT1IgYz0xODAxOAotICAgICAgICAgT1Ig KGQ+PTIzLjAgQU5EIGQ8MjQuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0yMy4w IEFORCBkPDI0LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAgICAg ICAtLSA8d2hlcmU3LTIuNzIyLjI+CkBAIC0yNzA1Miw3ICsyNzA1Miw3IEBAIHRlc3Q6ZG9fdGVz dCgKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJP TSB0MgogICAgICAgV0hFUkUgKChhIEJFVFdFRU4gMCBBTkQgMikgQU5EIGEhPTEpCi0gICAgICAg ICBPUiAoZD49NzkuMCBBTkQgZDw4MC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+ PTc5LjAgQU5EIGQ8ODAuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChnPSdmZWRj YmF6JyBBTkQgZiBHTE9CICdyc3R1dionKQogICAgICAgICAgT1IgYj03NjIKICAgICAgICAgIE9S ICgoYSBCRVRXRUVOIDM5IEFORCA0MSkgQU5EIGEhPTQwKQpAQCAtMjcwNzAsNyArMjcwNzAsNyBA QCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAg IFNFTEVDVCBhIEZST00gdDMKICAgICAgIFdIRVJFICgoYSBCRVRXRUVOIDAgQU5EIDIpIEFORCBh IT0xKQotICAgICAgICAgT1IgKGQ+PTc5LjAgQU5EIGQ8ODAuMCBBTkQgZCBOT1QgTlVMTCkKKyAg ICAgICAgIE9SIChkPj03OS4wIEFORCBkPDgwLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAg ICBPUiAoZz0nZmVkY2JheicgQU5EIGYgR0xPQiAncnN0dXYqJykKICAgICAgICAgIE9SIGI9NzYy CiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiAzOSBBTkQgNDEpIEFORCBhIT00MCkKQEAgLTI3MDkz LDcgKzI3MDkzLDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgYj05NzkKICAgICAgICAg IE9SIGE9MzYKICAgICAgICAgIE9SIChmIEdMT0IgJz92d3h5KicgQU5EIGYgR0xPQiAndXZ3eCon KQotICAgICAgICAgT1IgKGQ+PTUwLjAgQU5EIGQ8NTEuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAg ICAgIE9SIChkPj01MC4wIEFORCBkPDUxLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBP UiBhPTU1CiAgICAgICAgICBPUiAoZz0nZmVkY2JheicgQU5EIGYgR0xPQiAncnN0dXYqJykKICAg XV0pCkBAIC0yNzExNCw3ICsyNzExNCw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIGI9 OTc5CiAgICAgICAgICBPUiBhPTM2CiAgICAgICAgICBPUiAoZiBHTE9CICc/dnd4eSonIEFORCBm IEdMT0IgJ3V2d3gqJykKLSAgICAgICAgIE9SIChkPj01MC4wIEFORCBkPDUxLjAgQU5EIGQgTk9U IE5VTEwpCisgICAgICAgICBPUiAoZD49NTAuMCBBTkQgZDw1MS4wIEFORCBkIElTIE5PVCBOVUxM KQogICAgICAgICAgT1IgYT01NQogICAgICAgICAgT1IgKGc9J2ZlZGNiYXonIEFORCBmIEdMT0Ig J3JzdHV2KicpCiAgIF1dKQpAQCAtMjcxNjMsNyArMjcxNjMsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAg ICAgIFNFTEVDVCBhIEZST00gdDIKICAgICAgIFdIRVJFIGI9MTAwNAogICAgICAgICAgT1IgKGc9 J21sa2ppaGcnIEFORCBmIEdMT0IgJ2prbG1uKicpCi0gICAgICAgICBPUiAoZD49Ny4wIEFORCBk PDguMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj03LjAgQU5EIGQ8OC4wIEFORCBk IElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYT01NgogICBdXSkKICAgICBlbmQsIHsKQEAgLTI3 MTc5LDcgKzI3MTc5LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICBTRUxFQ1QgYSBGUk9NIHQzCiAg ICAgICBXSEVSRSBiPTEwMDQKICAgICAgICAgIE9SIChnPSdtbGtqaWhnJyBBTkQgZiBHTE9CICdq a2xtbionKQotICAgICAgICAgT1IgKGQ+PTcuMCBBTkQgZDw4LjAgQU5EIGQgTk9UIE5VTEwpCisg ICAgICAgICBPUiAoZD49Ny4wIEFORCBkPDguMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAg IE9SIGE9NTYKICAgXV0pCiAgICAgZW5kLCB7CkBAIC0yNzIwMiw3ICsyNzIwMiw3IEBAIHRlc3Q6 ZG9fdGVzdCgKICAgICAgICAgIE9SIGI9OTI0CiAgICAgICAgICBPUiAoZz0nbGtqaWhnZicgQU5E IGYgR0xPQiAnb3BxcnMqJykKICAgICAgICAgIE9SIGE9NTAKLSAgICAgICAgIE9SIChkPj0zOC4w IEFORCBkPDM5LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MzguMCBBTkQgZDwz OS4wIEFORCBkIElTIE5PVCBOVUxMKQogICBdXSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdo ZXJlNy0yLjcyNy4xPgpAQCAtMjcyMjQsNyArMjcyMjQsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAg ICAgICBPUiBiPTkyNAogICAgICAgICAgT1IgKGc9J2xramloZ2YnIEFORCBmIEdMT0IgJ29wcXJz KicpCiAgICAgICAgICBPUiBhPTUwCi0gICAgICAgICBPUiAoZD49MzguMCBBTkQgZDwzOS4wIEFO RCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTM4LjAgQU5EIGQ8MzkuMCBBTkQgZCBJUyBO T1QgTlVMTCkKICAgXV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi43MjcuMj4K QEAgLTI3Mjk5LDEyICsyNzI5OSwxMiBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgIFNFTEVDVCBhIEZS T00gdDIKICAgICAgIFdIRVJFICgoYSBCRVRXRUVOIDcyIEFORCA3NCkgQU5EIGEhPTczKQogICAg ICAgICAgT1IgYj02MDUKLSAgICAgICAgIE9SIChkPj00My4wIEFORCBkPDQ0LjAgQU5EIGQgTk9U IE5VTEwpCisgICAgICAgICBPUiAoZD49NDMuMCBBTkQgZDw0NC4wIEFORCBkIElTIE5PVCBOVUxM KQogICAgICAgICAgT1IgKGc9J3d2dXRzcnEnIEFORCBmIEdMT0IgJ21ub3BxKicpCiAgICAgICAg ICBPUiAoKGEgQkVUV0VFTiA3MiBBTkQgNzQpIEFORCBhIT03MykKICAgICAgICAgIE9SIGY9J2lq a2xtbm9wcScKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDg2IEFORCA4OCkgQU5EIGEhPTg3KQot ICAgICAgICAgT1IgKGQ+PTEzLjAgQU5EIGQ8MTQuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAg IE9SIChkPj0xMy4wIEFORCBkPDE0LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBj PTkwMDkKICAgICAgICAgIE9SIGI9Mzc0CiAgIF1dKQpAQCAtMjczMjEsMTIgKzI3MzIxLDEyIEBA IHRlc3Q6ZG9fdGVzdCgKICAgICAgU0VMRUNUIGEgRlJPTSB0MwogICAgICAgV0hFUkUgKChhIEJF VFdFRU4gNzIgQU5EIDc0KSBBTkQgYSE9NzMpCiAgICAgICAgICBPUiBiPTYwNQotICAgICAgICAg T1IgKGQ+PTQzLjAgQU5EIGQ8NDQuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj00 My4wIEFORCBkPDQ0LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoZz0nd3Z1dHNy cScgQU5EIGYgR0xPQiAnbW5vcHEqJykKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDcyIEFORCA3 NCkgQU5EIGEhPTczKQogICAgICAgICAgT1IgZj0naWprbG1ub3BxJwogICAgICAgICAgT1IgKChh IEJFVFdFRU4gODYgQU5EIDg4KSBBTkQgYSE9ODcpCi0gICAgICAgICBPUiAoZD49MTMuMCBBTkQg ZDwxNC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTEzLjAgQU5EIGQ8MTQuMCBB TkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGM9OTAwOQogICAgICAgICAgT1IgYj0zNzQK ICAgXV0pCkBAIC0yNzM3OSw3ICsyNzM3OSw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9S IGI9NzE4CiAgICAgICAgICBPUiAoZz0nZmVkY2JheicgQU5EIGYgR0xPQiAncHFyc3QqJykKICAg ICAgICAgIE9SIChmIEdMT0IgJz9jZGVmKicgQU5EIGYgR0xPQiAnYmNkZSonKQotICAgICAgICAg T1IgKGQ+PTI1LjAgQU5EIGQ8MjYuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0y NS4wIEFORCBkPDI2LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAg ICAgICAtLSA8d2hlcmU3LTIuNzMyLjE+CkBAIC0yNzM5Niw3ICsyNzM5Niw3IEBAIHRlc3Q6ZG9f dGVzdCgKICAgICAgICAgIE9SIGI9NzE4CiAgICAgICAgICBPUiAoZz0nZmVkY2JheicgQU5EIGYg R0xPQiAncHFyc3QqJykKICAgICAgICAgIE9SIChmIEdMT0IgJz9jZGVmKicgQU5EIGYgR0xPQiAn YmNkZSonKQotICAgICAgICAgT1IgKGQ+PTI1LjAgQU5EIGQ8MjYuMCBBTkQgZCBOT1QgTlVMTCkK KyAgICAgICAgIE9SIChkPj0yNS4wIEFORCBkPDI2LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1d KQogICAgIGVuZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIuNzMyLjI+CkBAIC0yNzQwOSw3ICsy NzQwOSw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVybiBj b3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIKLSAgICAgIFdIRVJFIChk Pj03My4wIEFORCBkPDc0LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49NzMuMCBB TkQgZDw3NC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gOTYg QU5EIDk4KSBBTkQgYSE9OTcpCiAgIF1dKQogICAgIGVuZCwgewpAQCAtMjc0MjMsNyArMjc0MjMs NyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291bnRf c3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQzCi0gICAgICBXSEVSRSAoZD49NzMu MCBBTkQgZDw3NC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTczLjAgQU5EIGQ8 NzQuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDk2IEFORCA5 OCkgQU5EIGEhPTk3KQogICBdXSkKICAgICBlbmQsIHsKQEAgLTI3NDM4LDcgKzI3NDM4LDcgQEAg dGVzdDpkb190ZXN0KAogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBT RUxFQ1QgYSBGUk9NIHQyCiAgICAgICBXSEVSRSBiPTE3NgotICAgICAgICAgT1IgKGQ+PTI1LjAg QU5EIGQ8MjYuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0yNS4wIEFORCBkPDI2 LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiAyNyBBTkQgMjkp IEFORCBhIT0yOCkKICAgICAgICAgIE9SIGI9NjE5CiAgICAgICAgICBPUiBiPTU5NwpAQCAtMjc0 NDYsNyArMjc0NDYsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBhPTI3CiAgICAgICAg ICBPUiBiPTkxCiAgICAgICAgICBPUiBhPTc3Ci0gICAgICAgICBPUiAoZD49ODAuMCBBTkQgZDw4 MS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTgwLjAgQU5EIGQ8ODEuMCBBTkQg ZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi43 MzQuMT4KQEAgLTI3NDYwLDcgKzI3NDYwLDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICByZXR1 cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQzCiAgICAgICBXSEVS RSBiPTE3NgotICAgICAgICAgT1IgKGQ+PTI1LjAgQU5EIGQ8MjYuMCBBTkQgZCBOT1QgTlVMTCkK KyAgICAgICAgIE9SIChkPj0yNS4wIEFORCBkPDI2LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAg ICAgICBPUiAoKGEgQkVUV0VFTiAyNyBBTkQgMjkpIEFORCBhIT0yOCkKICAgICAgICAgIE9SIGI9 NjE5CiAgICAgICAgICBPUiBiPTU5NwpAQCAtMjc0NjgsNyArMjc0NjgsNyBAQCB0ZXN0OmRvX3Rl c3QoCiAgICAgICAgICBPUiBhPTI3CiAgICAgICAgICBPUiBiPTkxCiAgICAgICAgICBPUiBhPTc3 Ci0gICAgICAgICBPUiAoZD49ODAuMCBBTkQgZDw4MS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAg ICAgT1IgKGQ+PTgwLjAgQU5EIGQ8ODEuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAgICAg ZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi43MzQuMj4KQEAgLTI3NTIxLDcgKzI3NTIxLDcg QEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgYT0zNwogICAgICAgICAgT1IgYj0xMDU2CiAg ICAgICAgICBPUiAoZz0nc3JxcG9ubScgQU5EIGYgR0xPQiAnZGVmZ2gqJykKLSAgICAgICAgIE9S IChkPj00LjAgQU5EIGQ8NS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTQuMCBB TkQgZDw1LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTEwMjMKICAgXV0pCiAg ICAgZW5kLCB7CkBAIC0yNzU0MSw3ICsyNzU0MSw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAg IE9SIGE9MzcKICAgICAgICAgIE9SIGI9MTA1NgogICAgICAgICAgT1IgKGc9J3NycXBvbm0nIEFO RCBmIEdMT0IgJ2RlZmdoKicpCi0gICAgICAgICBPUiAoZD49NC4wIEFORCBkPDUuMCBBTkQgZCBO T1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj00LjAgQU5EIGQ8NS4wIEFORCBkIElTIE5PVCBOVUxM KQogICAgICAgICAgT1IgYj0xMDIzCiAgIF1dKQogICAgIGVuZCwgewpAQCAtMjc1OTYsMTAgKzI3 NTk2LDEwIEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgIFdIRVJFIGI9MTA4MQogICAgICAgICAgT1Ig Yj01NDIKICAgICAgICAgIE9SIChnPSdtbGtqaWhnJyBBTkQgZiBHTE9CICdqa2xtbionKQotICAg ICAgICAgT1IgKGQ+PTQ3LjAgQU5EIGQ8NDguMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9S IChkPj00Ny4wIEFORCBkPDQ4LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTgy OAotICAgICAgICAgT1IgKGQ+PTY3LjAgQU5EIGQ8NjguMCBBTkQgZCBOT1QgTlVMTCkKLSAgICAg ICAgIE9SIChkPj02NC4wIEFORCBkPDY1LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAo ZD49NjcuMCBBTkQgZDw2OC4wIEFORCBkIElTIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTY0 LjAgQU5EIGQ8NjUuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGE9MTgKICAgXV0p CiAgICAgZW5kLCB7CkBAIC0yNzYxNiwxMCArMjc2MTYsMTAgQEAgdGVzdDpkb190ZXN0KAogICAg ICAgV0hFUkUgYj0xMDgxCiAgICAgICAgICBPUiBiPTU0MgogICAgICAgICAgT1IgKGc9J21sa2pp aGcnIEFORCBmIEdMT0IgJ2prbG1uKicpCi0gICAgICAgICBPUiAoZD49NDcuMCBBTkQgZDw0OC4w IEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTQ3LjAgQU5EIGQ8NDguMCBBTkQgZCBJ UyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9ODI4Ci0gICAgICAgICBPUiAoZD49NjcuMCBBTkQg ZDw2OC4wIEFORCBkIE5PVCBOVUxMKQotICAgICAgICAgT1IgKGQ+PTY0LjAgQU5EIGQ8NjUuMCBB TkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj02Ny4wIEFORCBkPDY4LjAgQU5EIGQgSVMg Tk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NjQuMCBBTkQgZDw2NS4wIEFORCBkIElTIE5PVCBO VUxMKQogICAgICAgICAgT1IgYT0xOAogICBdXSkKICAgICBlbmQsIHsKQEAgLTI3NjM1LDcgKzI3 NjM1LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICBTRUxFQ1QgYSBGUk9NIHQyCiAgICAgICBXSEVS RSBmPSdhYmNkZWZnaGknCiAgICAgICAgICBPUiBhPTE0Ci0gICAgICAgICBPUiAoZD49MTMuMCBB TkQgZDwxNC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTEzLjAgQU5EIGQ8MTQu MCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGM9MjcwMjcKICAgICAgICAgIE9SIGE9 NDcKICAgXV0pCkBAIC0yNzY1Miw3ICsyNzY1Miw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgU0VM RUNUIGEgRlJPTSB0MwogICAgICAgV0hFUkUgZj0nYWJjZGVmZ2hpJwogICAgICAgICAgT1IgYT0x NAotICAgICAgICAgT1IgKGQ+PTEzLjAgQU5EIGQ8MTQuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAg ICAgIE9SIChkPj0xMy4wIEFORCBkPDE0LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBP UiBjPTI3MDI3CiAgICAgICAgICBPUiBhPTQ3CiAgIF1dKQpAQCAtMjc2NzEsMTEgKzI3NjcxLDEx IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIGI9NzM3CiAgICAgICAgICBPUiBhPTM3CiAg ICAgICAgICBPUiAoKGEgQkVUV0VFTiA5OCBBTkQgMTAwKSBBTkQgYSE9OTkpCi0gICAgICAgICBP UiAoZD49OTQuMCBBTkQgZDw5NS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTk0 LjAgQU5EIGQ8OTUuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SICgoYSBCRVRXRUVO IDY1IEFORCA2NykgQU5EIGEhPTY2KQogICAgICAgICAgT1IgYT05MQogICAgICAgICAgT1IgYj03 NwotICAgICAgICAgT1IgKGQ+PTk0LjAgQU5EIGQ8OTUuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAg ICAgIE9SIChkPj05NC4wIEFORCBkPDk1LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAg IGVuZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIuNzQwLjE+CkBAIC0yNzY5MiwxMSArMjc2OTIs MTEgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgYj03MzcKICAgICAgICAgIE9SIGE9MzcK ICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDk4IEFORCAxMDApIEFORCBhIT05OSkKLSAgICAgICAg IE9SIChkPj05NC4wIEFORCBkPDk1LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49 OTQuMCBBTkQgZDw5NS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKChhIEJFVFdF RU4gNjUgQU5EIDY3KSBBTkQgYSE9NjYpCiAgICAgICAgICBPUiBhPTkxCiAgICAgICAgICBPUiBi PTc3Ci0gICAgICAgICBPUiAoZD49OTQuMCBBTkQgZDw5NS4wIEFORCBkIE5PVCBOVUxMKQorICAg ICAgICAgT1IgKGQ+PTk0LjAgQU5EIGQ8OTUuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAg ICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi43NDAuMj4KQEAgLTI3NzgyLDEwICsyNzc4 MiwxMCBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICBXSEVSRSAoZz0ndHNycXBvbicgQU5EIGYgR0xP QiAnemFiY2QqJykKICAgICAgICAgIE9SIGE9MjQKICAgICAgICAgIE9SIGYgSVMgTlVMTAotICAg ICAgICAgT1IgKGQ+PTc3LjAgQU5EIGQ8NzguMCBBTkQgZCBOT1QgTlVMTCkKLSAgICAgICAgIE9S IChkPj01Ny4wIEFORCBkPDU4LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49Nzcu MCBBTkQgZDw3OC4wIEFORCBkIElTIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTU3LjAgQU5E IGQ8NTguMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGM9MTIwMTIKLSAgICAgICAg IE9SIChkPj04OC4wIEFORCBkPDg5LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49 ODguMCBBTkQgZDw4OS4wIEFORCBkIElTIE5PVCBOVUxMKQogICBdXSkKICAgICBlbmQsIHsKICAg ICAgICAgLS0gPHdoZXJlNy0yLjc0My4xPgpAQCAtMjc4MDEsMTAgKzI3ODAxLDEwIEBAIHRlc3Q6 ZG9fdGVzdCgKICAgICAgIFdIRVJFIChnPSd0c3JxcG9uJyBBTkQgZiBHTE9CICd6YWJjZConKQog ICAgICAgICAgT1IgYT0yNAogICAgICAgICAgT1IgZiBJUyBOVUxMCi0gICAgICAgICBPUiAoZD49 NzcuMCBBTkQgZDw3OC4wIEFORCBkIE5PVCBOVUxMKQotICAgICAgICAgT1IgKGQ+PTU3LjAgQU5E IGQ8NTguMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj03Ny4wIEFORCBkPDc4LjAg QU5EIGQgSVMgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NTcuMCBBTkQgZDw1OC4wIEFORCBk IElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYz0xMjAxMgotICAgICAgICAgT1IgKGQ+PTg4LjAg QU5EIGQ8ODkuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj04OC4wIEFORCBkPDg5 LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8d2hl cmU3LTIuNzQzLjI+CkBAIC0yNzgxOCw3ICsyNzgxOCw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAg ICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MgogICAg ICAgV0hFUkUgYT05NAotICAgICAgICAgT1IgKGQ+PTc0LjAgQU5EIGQ8NzUuMCBBTkQgZCBOT1Qg TlVMTCkKKyAgICAgICAgIE9SIChkPj03NC4wIEFORCBkPDc1LjAgQU5EIGQgSVMgTk9UIE5VTEwp CiAgICAgICAgICBPUiAoZz0naGdmZWRjYicgQU5EIGYgR0xPQiAnaGlqa2wqJykKICAgICAgICAg IE9SIGI9NzkyCiAgICAgICAgICBPUiBhPTc3CkBAIC0yNzgzOCw3ICsyNzgzOCw3IEBAIHRlc3Q6 ZG9fdGVzdCgKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNU IGEgRlJPTSB0MwogICAgICAgV0hFUkUgYT05NAotICAgICAgICAgT1IgKGQ+PTc0LjAgQU5EIGQ8 NzUuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj03NC4wIEFORCBkPDc1LjAgQU5E IGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoZz0naGdmZWRjYicgQU5EIGYgR0xPQiAnaGlq a2wqJykKICAgICAgICAgIE9SIGI9NzkyCiAgICAgICAgICBPUiBhPTc3CkBAIC0yNzg1OCwxNCAr Mjc4NTgsMTQgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29y dChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCiAgICAgICBXSEVSRSAoKGEgQkVUV0VFTiA1MSBB TkQgNTMpIEFORCBhIT01MikKLSAgICAgICAgIE9SIChkPj0zMC4wIEFORCBkPDMxLjAgQU5EIGQg Tk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MzAuMCBBTkQgZDwzMS4wIEFORCBkIElTIE5PVCBO VUxMKQogICAgICAgICAgT1IgYj0xNAogICAgICAgICAgT1IgKChhIEJFVFdFRU4gODkgQU5EIDkx KSBBTkQgYSE9OTApCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiAxNSBBTkQgMTcpIEFORCBhIT0x NikKLSAgICAgICAgIE9SIChkPj0yNy4wIEFORCBkPDI4LjAgQU5EIGQgTk9UIE5VTEwpCisgICAg ICAgICBPUiAoZD49MjcuMCBBTkQgZDwyOC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAg T1IgYj0xMjEKLSAgICAgICAgIE9SIChkPj02My4wIEFORCBkPDY0LjAgQU5EIGQgTk9UIE5VTEwp Ci0gICAgICAgICBPUiAoZD49ODYuMCBBTkQgZDw4Ny4wIEFORCBkIE5PVCBOVUxMKQorICAgICAg ICAgT1IgKGQ+PTYzLjAgQU5EIGQ8NjQuMCBBTkQgZCBJUyBOT1QgTlVMTCkKKyAgICAgICAgIE9S IChkPj04Ni4wIEFORCBkPDg3LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwg ewogICAgICAgICAtLSA8d2hlcmU3LTIuNzQ1LjE+CkBAIC0yNzg3OSwxNCArMjc4NzksMTQgQEAg dGVzdDpkb190ZXN0KAogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBT RUxFQ1QgYSBGUk9NIHQzCiAgICAgICBXSEVSRSAoKGEgQkVUV0VFTiA1MSBBTkQgNTMpIEFORCBh IT01MikKLSAgICAgICAgIE9SIChkPj0zMC4wIEFORCBkPDMxLjAgQU5EIGQgTk9UIE5VTEwpCisg ICAgICAgICBPUiAoZD49MzAuMCBBTkQgZDwzMS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAg ICAgT1IgYj0xNAogICAgICAgICAgT1IgKChhIEJFVFdFRU4gODkgQU5EIDkxKSBBTkQgYSE9OTAp CiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiAxNSBBTkQgMTcpIEFORCBhIT0xNikKLSAgICAgICAg IE9SIChkPj0yNy4wIEFORCBkPDI4LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49 MjcuMCBBTkQgZDwyOC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj0xMjEKLSAg ICAgICAgIE9SIChkPj02My4wIEFORCBkPDY0LjAgQU5EIGQgTk9UIE5VTEwpCi0gICAgICAgICBP UiAoZD49ODYuMCBBTkQgZDw4Ny4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTYz LjAgQU5EIGQ8NjQuMCBBTkQgZCBJUyBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj04Ni4wIEFO RCBkPDg3LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAgICAgICAt LSA8d2hlcmU3LTIuNzQ1LjI+CkBAIC0yNzkyOSwxNSArMjc5MjksMTUgQEAgdGVzdDpkb190ZXN0 KAogICAgIGZ1bmN0aW9uKCkKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAg ICAgU0VMRUNUIGEgRlJPTSB0MgotICAgICAgV0hFUkUgKGQ+PTg0LjAgQU5EIGQ8ODUuMCBBTkQg ZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChkPj04NC4wIEFORCBkPDg1LjAgQU5EIGQgSVMgTk9U IE5VTEwpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiAzMiBBTkQgMzQpIEFORCBhIT0zMykKICAg ICAgICAgIE9SIGI9MjY3CiAgICAgICAgICBPUiBjPTE5MDE5CiAgICAgICAgICBPUiBhPTQyCiAg ICAgICAgICBPUiBiPTkzOAogICAgICAgICAgT1IgKGYgR0xPQiAnP3N0dXYqJyBBTkQgZiBHTE9C ICdyc3R1KicpCi0gICAgICAgICBPUiAoZD49MjEuMCBBTkQgZDwyMi4wIEFORCBkIE5PVCBOVUxM KQotICAgICAgICAgT1IgKGQ+PTEuMCBBTkQgZDwyLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAg ICBPUiAoZD49MjEuMCBBTkQgZDwyMi4wIEFORCBkIElTIE5PVCBOVUxMKQorICAgICAgICAgT1Ig KGQ+PTEuMCBBTkQgZDwyLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoKGEgQkVU V0VFTiAyMiBBTkQgMjQpIEFORCBhIT0yMykKICAgICAgICAgIE9SIChmIEdMT0IgJz9rbG1uKicg QU5EIGYgR0xPQiAnamtsbSonKQogICBdXSkKQEAgLTI3OTUyLDE1ICsyNzk1MiwxNSBAQCB0ZXN0 OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29y dChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQzCi0gICAgICBXSEVSRSAoZD49ODQuMCBBTkQgZDw4 NS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTg0LjAgQU5EIGQ8ODUuMCBBTkQg ZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDMyIEFORCAzNCkgQU5EIGEh PTMzKQogICAgICAgICAgT1IgYj0yNjcKICAgICAgICAgIE9SIGM9MTkwMTkKICAgICAgICAgIE9S IGE9NDIKICAgICAgICAgIE9SIGI9OTM4CiAgICAgICAgICBPUiAoZiBHTE9CICc/c3R1dionIEFO RCBmIEdMT0IgJ3JzdHUqJykKLSAgICAgICAgIE9SIChkPj0yMS4wIEFORCBkPDIyLjAgQU5EIGQg Tk9UIE5VTEwpCi0gICAgICAgICBPUiAoZD49MS4wIEFORCBkPDIuMCBBTkQgZCBOT1QgTlVMTCkK KyAgICAgICAgIE9SIChkPj0yMS4wIEFORCBkPDIyLjAgQU5EIGQgSVMgTk9UIE5VTEwpCisgICAg ICAgICBPUiAoZD49MS4wIEFORCBkPDIuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9S ICgoYSBCRVRXRUVOIDIyIEFORCAyNCkgQU5EIGEhPTIzKQogICAgICAgICAgT1IgKGYgR0xPQiAn P2tsbW4qJyBBTkQgZiBHTE9CICdqa2xtKicpCiAgIF1dKQpAQCAtMjgwNTIsMTMgKzI4MDUyLDEz IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgIFdIRVJFIGI9MTA1NgogICAgICAgICAgT1IgKChhIEJF VFdFRU4gOTEgQU5EIDkzKSBBTkQgYSE9OTIpCiAgICAgICAgICBPUiBiPTEwNzgKLSAgICAgICAg IE9SIChkPj04MC4wIEFORCBkPDgxLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49 ODAuMCBBTkQgZDw4MS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYz0zMTAzMQog ICAgICAgICAgT1IgYj04NjkKICAgICAgICAgIE9SIChnPSdqaWhnZmVkJyBBTkQgZiBHTE9CICd6 YWJjZConKQogICAgICAgICAgT1IgYj0yNDUKICAgICAgICAgIE9SIGE9OTIKLSAgICAgICAgIE9S IChkPj02Ni4wIEFORCBkPDY3LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NjYu MCBBTkQgZDw2Ny4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj04ODAKICAgXV0p CiAgICAgZW5kLCB7CkBAIC0yODA3NSwxMyArMjgwNzUsMTMgQEAgdGVzdDpkb190ZXN0KAogICAg ICAgV0hFUkUgYj0xMDU2CiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA5MSBBTkQgOTMpIEFORCBh IT05MikKICAgICAgICAgIE9SIGI9MTA3OAotICAgICAgICAgT1IgKGQ+PTgwLjAgQU5EIGQ8ODEu MCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj04MC4wIEFORCBkPDgxLjAgQU5EIGQg SVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBjPTMxMDMxCiAgICAgICAgICBPUiBiPTg2OQogICAg ICAgICAgT1IgKGc9J2ppaGdmZWQnIEFORCBmIEdMT0IgJ3phYmNkKicpCiAgICAgICAgICBPUiBi PTI0NQogICAgICAgICAgT1IgYT05MgotICAgICAgICAgT1IgKGQ+PTY2LjAgQU5EIGQ8NjcuMCBB TkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj02Ni4wIEFORCBkPDY3LjAgQU5EIGQgSVMg Tk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTg4MAogICBdXSkKICAgICBlbmQsIHsKQEAgLTI4MDk3 LDE0ICsyODA5NywxNCBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgIFNFTEVDVCBhIEZST00gdDIKICAg ICAgIFdIRVJFIGI9MTA3OAogICAgICAgICAgT1IgYz0yODAyOAotICAgICAgICAgT1IgKGQ+PTQw LjAgQU5EIGQ8NDEuMCBBTkQgZCBOT1QgTlVMTCkKLSAgICAgICAgIE9SIChkPj0zOC4wIEFORCBk PDM5LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NDAuMCBBTkQgZDw0MS4wIEFO RCBkIElTIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTM4LjAgQU5EIGQ8MzkuMCBBTkQgZCBJ UyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChmIEdMT0IgJz9yc3R1KicgQU5EIGYgR0xPQiAncXJz dConKQogICAgICAgICAgT1IgKGc9J21sa2ppaGcnIEFORCBmIEdMT0IgJ2prbG1uKicpCiAgICAg ICAgICBPUiAoKGEgQkVUV0VFTiAxNyBBTkQgMTkpIEFORCBhIT0xOCkKICAgICAgICAgIE9SIGM9 OTAwOQogICAgICAgICAgT1IgYT0xNwotICAgICAgICAgT1IgKGQ+PTM5LjAgQU5EIGQ8NDAuMCBB TkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0zOS4wIEFORCBkPDQwLjAgQU5EIGQgSVMg Tk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIuNzUxLjE+ CkBAIC0yODExOSwxNCArMjgxMTksMTQgQEAgdGVzdDpkb190ZXN0KAogICAgICBTRUxFQ1QgYSBG Uk9NIHQzCiAgICAgICBXSEVSRSBiPTEwNzgKICAgICAgICAgIE9SIGM9MjgwMjgKLSAgICAgICAg IE9SIChkPj00MC4wIEFORCBkPDQxLjAgQU5EIGQgTk9UIE5VTEwpCi0gICAgICAgICBPUiAoZD49 MzguMCBBTkQgZDwzOS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTQwLjAgQU5E IGQ8NDEuMCBBTkQgZCBJUyBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0zOC4wIEFORCBkPDM5 LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoZiBHTE9CICc/cnN0dSonIEFORCBm IEdMT0IgJ3Fyc3QqJykKICAgICAgICAgIE9SIChnPSdtbGtqaWhnJyBBTkQgZiBHTE9CICdqa2xt bionKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMTcgQU5EIDE5KSBBTkQgYSE9MTgpCiAgICAg ICAgICBPUiBjPTkwMDkKICAgICAgICAgIE9SIGE9MTcKLSAgICAgICAgIE9SIChkPj0zOS4wIEFO RCBkPDQwLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MzkuMCBBTkQgZDw0MC4w IEFORCBkIElTIE5PVCBOVUxMKQogICBdXSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJl Ny0yLjc1MS4yPgpAQCAtMjgxMzksMTQgKzI4MTM5LDE0IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBm dW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVD VCBhIEZST00gdDIKLSAgICAgIFdIRVJFIChkPj01Ny4wIEFORCBkPDU4LjAgQU5EIGQgTk9UIE5V TEwpCisgICAgICBXSEVSRSAoZD49NTcuMCBBTkQgZDw1OC4wIEFORCBkIElTIE5PVCBOVUxMKQog ICAgICAgICAgT1IgYj03NjIKICAgICAgICAgIE9SIChnPSdtbGtqaWhnJyBBTkQgZiBHTE9CICdn aGlqayonKQogICAgICAgICAgT1IgZj0ndHV2d3h5emFiJwotICAgICAgICAgT1IgKGQ+PTQ0LjAg QU5EIGQ8NDUuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj00NC4wIEFORCBkPDQ1 LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiAzMSBBTkQgMzMp IEFORCBhIT0zMikKICAgICAgICAgIE9SIGI9MTAzNAotICAgICAgICAgT1IgKGQ+PTE0LjAgQU5E IGQ8MTUuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0xNC4wIEFORCBkPDE1LjAg QU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8d2hlcmU3 LTIuNzUyLjE+CkBAIC0yODE1OSwxNCArMjgxNTksMTQgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1 bmN0aW9uKCkKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNU IGEgRlJPTSB0MwotICAgICAgV0hFUkUgKGQ+PTU3LjAgQU5EIGQ8NTguMCBBTkQgZCBOT1QgTlVM TCkKKyAgICAgIFdIRVJFIChkPj01Ny4wIEFORCBkPDU4LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAg ICAgICAgICBPUiBiPTc2MgogICAgICAgICAgT1IgKGc9J21sa2ppaGcnIEFORCBmIEdMT0IgJ2do aWprKicpCiAgICAgICAgICBPUiBmPSd0dXZ3eHl6YWInCi0gICAgICAgICBPUiAoZD49NDQuMCBB TkQgZDw0NS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTQ0LjAgQU5EIGQ8NDUu MCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDMxIEFORCAzMykg QU5EIGEhPTMyKQogICAgICAgICAgT1IgYj0xMDM0Ci0gICAgICAgICBPUiAoZD49MTQuMCBBTkQg ZDwxNS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTE0LjAgQU5EIGQ8MTUuMCBB TkQgZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTct Mi43NTIuMj4KQEAgLTI4MjE4LDExICsyODIxOCwxMSBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICBX SEVSRSBjPTExMDExCiAgICAgICAgICBPUiBhPTE0CiAgICAgICAgICBPUiBjPTE2MDE2Ci0gICAg ICAgICBPUiAoZD49MjEuMCBBTkQgZDwyMi4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1Ig KGQ+PTIxLjAgQU5EIGQ8MjIuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChnPSdz cnFwb25tJyBBTkQgZiBHTE9CICdlZmdoaSonKQogICAgICAgICAgT1IgZj0namtsbW5vcHFyJwot ICAgICAgICAgT1IgKGQ+PTI1LjAgQU5EIGQ8MjYuMCBBTkQgZCBOT1QgTlVMTCkKLSAgICAgICAg IE9SIChkPj05Ni4wIEFORCBkPDk3LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49 MjUuMCBBTkQgZDwyNi4wIEFORCBkIElTIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTk2LjAg QU5EIGQ8OTcuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9OTE2CiAgIF1dKQog ICAgIGVuZCwgewpAQCAtMjgyMzksMTEgKzI4MjM5LDExIEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAg IFdIRVJFIGM9MTEwMTEKICAgICAgICAgIE9SIGE9MTQKICAgICAgICAgIE9SIGM9MTYwMTYKLSAg ICAgICAgIE9SIChkPj0yMS4wIEFORCBkPDIyLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBP UiAoZD49MjEuMCBBTkQgZDwyMi4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKGc9 J3NycXBvbm0nIEFORCBmIEdMT0IgJ2VmZ2hpKicpCiAgICAgICAgICBPUiBmPSdqa2xtbm9wcXIn Ci0gICAgICAgICBPUiAoZD49MjUuMCBBTkQgZDwyNi4wIEFORCBkIE5PVCBOVUxMKQotICAgICAg ICAgT1IgKGQ+PTk2LjAgQU5EIGQ8OTcuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChk Pj0yNS4wIEFORCBkPDI2LjAgQU5EIGQgSVMgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49OTYu MCBBTkQgZDw5Ny4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj05MTYKICAgXV0p CiAgICAgZW5kLCB7CkBAIC0yODI2NCw3ICsyODI2NCw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAg ICAgIE9SIGE9MTQKICAgICAgICAgIE9SIGI9NjA4CiAgICAgICAgICBPUiAoZz0nZWRjYmF6eScg QU5EIGYgR0xPQiAndXZ3eHkqJykKLSAgICAgICAgIE9SIChkPj02Ni4wIEFORCBkPDY3LjAgQU5E IGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NjYuMCBBTkQgZDw2Ny4wIEFORCBkIElTIE5P VCBOVUxMKQogICAgICAgICAgT1IgYj0xMjEKICAgICAgICAgIE9SIGI9MzMzCiAgICAgICAgICBP UiAoKGEgQkVUV0VFTiA5MyBBTkQgOTUpIEFORCBhIT05NCkKQEAgLTI4Mjg3LDcgKzI4Mjg3LDcg QEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgYT0xNAogICAgICAgICAgT1IgYj02MDgKICAg ICAgICAgIE9SIChnPSdlZGNiYXp5JyBBTkQgZiBHTE9CICd1dnd4eSonKQotICAgICAgICAgT1Ig KGQ+PTY2LjAgQU5EIGQ8NjcuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj02Ni4w IEFORCBkPDY3LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTEyMQogICAgICAg ICAgT1IgYj0zMzMKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDkzIEFORCA5NSkgQU5EIGEhPTk0 KQpAQCAtMjgzNDAsNyArMjgzNDAsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgIHJldHVybiBj b3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIKICAgICAgIFdIRVJFIChn PSd4d3Z1dHNyJyBBTkQgZiBHTE9CICdlZmdoaSonKQotICAgICAgICAgT1IgKGQ+PTc5LjAgQU5E IGQ8ODAuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj03OS4wIEFORCBkPDgwLjAg QU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8d2hlcmU3 LTIuNzU3LjE+CkBAIC0yODM1NCw3ICsyODM1NCw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAg cmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MwogICAgICAg V0hFUkUgKGc9J3h3dnV0c3InIEFORCBmIEdMT0IgJ2VmZ2hpKicpCi0gICAgICAgICBPUiAoZD49 NzkuMCBBTkQgZDw4MC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTc5LjAgQU5E IGQ8ODAuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0t IDx3aGVyZTctMi43NTcuMj4KQEAgLTI4Mzc1LDcgKzI4Mzc1LDcgQEAgdGVzdDpkb190ZXN0KAog ICAgICAgICAgT1IgYz0xMDAxCiAgICAgICAgICBPUiBiPTc4NAogICAgICAgICAgT1IgKGc9J3Ny cXBvbm0nIEFORCBmIEdMT0IgJ2doaWprKicpCi0gICAgICAgICBPUiAoZD49NjkuMCBBTkQgZDw3 MC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTY5LjAgQU5EIGQ8NzAuMCBBTkQg ZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi43 NTguMT4KQEAgLTI4Mzk2LDcgKzI4Mzk2LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1Ig Yz0xMDAxCiAgICAgICAgICBPUiBiPTc4NAogICAgICAgICAgT1IgKGc9J3NycXBvbm0nIEFORCBm IEdMT0IgJ2doaWprKicpCi0gICAgICAgICBPUiAoZD49NjkuMCBBTkQgZDw3MC4wIEFORCBkIE5P VCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTY5LjAgQU5EIGQ8NzAuMCBBTkQgZCBJUyBOT1QgTlVM TCkKICAgXV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi43NTguMj4KQEAgLTI4 NDg5LDggKzI4NDg5LDggQEAgdGVzdDpkb190ZXN0KAogICAgICBTRUxFQ1QgYSBGUk9NIHQyCiAg ICAgICBXSEVSRSBiPTc4MQogICAgICAgICAgT1IgKGYgR0xPQiAnP3BxcnMqJyBBTkQgZiBHTE9C ICdvcHFyKicpCi0gICAgICAgICBPUiAoZD49NTYuMCBBTkQgZDw1Ny4wIEFORCBkIE5PVCBOVUxM KQotICAgICAgICAgT1IgKGQ+PTk5LjAgQU5EIGQ8MTAwLjAgQU5EIGQgTk9UIE5VTEwpCisgICAg ICAgICBPUiAoZD49NTYuMCBBTkQgZDw1Ny4wIEFORCBkIElTIE5PVCBOVUxMKQorICAgICAgICAg T1IgKGQ+PTk5LjAgQU5EIGQ8MTAwLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAo Zz0neXh3dnV0cycgQU5EIGYgR0xPQiAnYmNkZWYqJykKICAgICAgICAgIE9SIChnPSdubWxramlo JyBBTkQgZiBHTE9CICdjZGVmZyonKQogICAgICAgICAgT1IgZj0nbG1ub3BxcnN0JwpAQCAtMjg1 MTEsOCArMjg1MTEsOCBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgIFNFTEVDVCBhIEZST00gdDMKICAg ICAgIFdIRVJFIGI9NzgxCiAgICAgICAgICBPUiAoZiBHTE9CICc/cHFycyonIEFORCBmIEdMT0Ig J29wcXIqJykKLSAgICAgICAgIE9SIChkPj01Ni4wIEFORCBkPDU3LjAgQU5EIGQgTk9UIE5VTEwp Ci0gICAgICAgICBPUiAoZD49OTkuMCBBTkQgZDwxMDAuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAg ICAgIE9SIChkPj01Ni4wIEFORCBkPDU3LjAgQU5EIGQgSVMgTk9UIE5VTEwpCisgICAgICAgICBP UiAoZD49OTkuMCBBTkQgZDwxMDAuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChn PSd5eHd2dXRzJyBBTkQgZiBHTE9CICdiY2RlZionKQogICAgICAgICAgT1IgKGc9J25tbGtqaWgn IEFORCBmIEdMT0IgJ2NkZWZnKicpCiAgICAgICAgICBPUiBmPSdsbW5vcHFyc3QnCkBAIC0yODUz NSw3ICsyODUzNSw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIGI9NzE4CiAgICAgICAg ICBPUiAoZz0ncXBvbm1saycgQU5EIGYgR0xPQiAnb3BxcnMqJykKICAgICAgICAgIE9SIGE9NTAK LSAgICAgICAgIE9SIChkPj0xMS4wIEFORCBkPDEyLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAg ICBPUiAoZD49MTEuMCBBTkQgZDwxMi4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1Ig Yj0zNjMKICAgICAgICAgIE9SIChnPSdycXBvbm1sJyBBTkQgZiBHTE9CICdpamtsbSonKQogICAg ICAgICAgT1IgYj0xMDIzCkBAIC0yODU1NSw3ICsyODU1NSw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAg ICAgICAgIE9SIGI9NzE4CiAgICAgICAgICBPUiAoZz0ncXBvbm1saycgQU5EIGYgR0xPQiAnb3Bx cnMqJykKICAgICAgICAgIE9SIGE9NTAKLSAgICAgICAgIE9SIChkPj0xMS4wIEFORCBkPDEyLjAg QU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MTEuMCBBTkQgZDwxMi4wIEFORCBkIElT IE5PVCBOVUxMKQogICAgICAgICAgT1IgYj0zNjMKICAgICAgICAgIE9SIChnPSdycXBvbm1sJyBB TkQgZiBHTE9CICdpamtsbSonKQogICAgICAgICAgT1IgYj0xMDIzCkBAIC0yODU3Miw3ICsyODU3 Miw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sK ICAgICAgU0VMRUNUIGEgRlJPTSB0MgogICAgICAgV0hFUkUgYj0xMDgxCi0gICAgICAgICBPUiAo ZD49NTUuMCBBTkQgZDw1Ni4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTU1LjAg QU5EIGQ8NTYuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9NDczCiAgICAgICAg ICBPUiAoKGEgQkVUV0VFTiA0MyBBTkQgNDUpIEFORCBhIT00NCkKICAgICAgICAgIE9SIGI9NTg2 CkBAIC0yODU5MSw3ICsyODU5MSw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgcmV0dXJuIGNv dW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MwogICAgICAgV0hFUkUgYj0x MDgxCi0gICAgICAgICBPUiAoZD49NTUuMCBBTkQgZDw1Ni4wIEFORCBkIE5PVCBOVUxMKQorICAg ICAgICAgT1IgKGQ+PTU1LjAgQU5EIGQ8NTYuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAg IE9SIGI9NDczCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA0MyBBTkQgNDUpIEFORCBhIT00NCkK ICAgICAgICAgIE9SIGI9NTg2CkBAIC0yODYxMCw4ICsyODYxMCw4IEBAIHRlc3Q6ZG9fdGVzdCgK ICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0 MgogICAgICAgV0hFUkUgKGYgR0xPQiAnP2lqa2wqJyBBTkQgZiBHTE9CICdoaWprKicpCi0gICAg ICAgICBPUiAoZD49NTguMCBBTkQgZDw1OS4wIEFORCBkIE5PVCBOVUxMKQotICAgICAgICAgT1Ig KGQ+PTEzLjAgQU5EIGQ8MTQuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj01OC4w IEFORCBkPDU5LjAgQU5EIGQgSVMgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MTMuMCBBTkQg ZDwxNC4wIEFORCBkIElTIE5PVCBOVUxMKQogICBdXSkKICAgICBlbmQsIHsKICAgICAgICAgLS0g PHdoZXJlNy0yLjc2NC4xPgpAQCAtMjg2MjUsOCArMjg2MjUsOCBAQCB0ZXN0OmRvX3Rlc3QoCiAg ICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDMK ICAgICAgIFdIRVJFIChmIEdMT0IgJz9pamtsKicgQU5EIGYgR0xPQiAnaGlqayonKQotICAgICAg ICAgT1IgKGQ+PTU4LjAgQU5EIGQ8NTkuMCBBTkQgZCBOT1QgTlVMTCkKLSAgICAgICAgIE9SIChk Pj0xMy4wIEFORCBkPDE0LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NTguMCBB TkQgZDw1OS4wIEFORCBkIElTIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTEzLjAgQU5EIGQ8 MTQuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3 aGVyZTctMi43NjQuMj4KQEAgLTI4NjQ0LDcgKzI4NjQ0LDcgQEAgdGVzdDpkb190ZXN0KAogICAg ICAgICAgT1IgYT00NwogICAgICAgICAgT1IgKGc9J2tqaWhnZmUnIEFORCBmIEdMT0IgJ3Fyc3R1 KicpCiAgICAgICAgICBPUiAoZz0nbGtqaWhnZicgQU5EIGYgR0xPQiAnbG1ub3AqJykKLSAgICAg ICAgIE9SIChkPj04NC4wIEFORCBkPDg1LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAo ZD49ODQuMCBBTkQgZDw4NS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgZj0nbG1u b3BxcnN0JwogICBdXSkKICAgICBlbmQsIHsKQEAgLTI4NjYzLDcgKzI4NjYzLDcgQEAgdGVzdDpk b190ZXN0KAogICAgICAgICAgT1IgYT00NwogICAgICAgICAgT1IgKGc9J2tqaWhnZmUnIEFORCBm IEdMT0IgJ3Fyc3R1KicpCiAgICAgICAgICBPUiAoZz0nbGtqaWhnZicgQU5EIGYgR0xPQiAnbG1u b3AqJykKLSAgICAgICAgIE9SIChkPj04NC4wIEFORCBkPDg1LjAgQU5EIGQgTk9UIE5VTEwpCisg ICAgICAgICBPUiAoZD49ODQuMCBBTkQgZDw4NS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAg ICAgT1IgZj0nbG1ub3BxcnN0JwogICBdXSkKICAgICBlbmQsIHsKQEAgLTI4NzE3LDE2ICsyODcx NywxNiBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291 bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCi0gICAgICBXSEVSRSAoZD49 NjMuMCBBTkQgZDw2NC4wIEFORCBkIE5PVCBOVUxMKQotICAgICAgICAgT1IgKGQ+PTE2LjAgQU5E IGQ8MTcuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChkPj02My4wIEFORCBkPDY0LjAg QU5EIGQgSVMgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MTYuMCBBTkQgZDwxNy4wIEFORCBk IElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj02OTYKICAgICAgICAgIE9SIGI9MTU0Ci0gICAg ICAgICBPUiAoZD49MjQuMCBBTkQgZDwyNS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1Ig KGQ+PTI0LjAgQU5EIGQ8MjUuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGE9MjIK LSAgICAgICAgIE9SIChkPj00Ny4wIEFORCBkPDQ4LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAg ICBPUiAoZD49NDcuMCBBTkQgZDw0OC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1Ig YT01MgogICAgICAgICAgT1IgYT0yMQotICAgICAgICAgT1IgKGQ+PTcwLjAgQU5EIGQ8NzEuMCBB TkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj03MC4wIEFORCBkPDcxLjAgQU5EIGQgSVMg Tk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIuNzY3LjE+ CkBAIC0yODczOSwxNiArMjg3MzksMTYgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9uKCkK ICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0 MwotICAgICAgV0hFUkUgKGQ+PTYzLjAgQU5EIGQ8NjQuMCBBTkQgZCBOT1QgTlVMTCkKLSAgICAg ICAgIE9SIChkPj0xNi4wIEFORCBkPDE3LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAo ZD49NjMuMCBBTkQgZDw2NC4wIEFORCBkIElTIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTE2 LjAgQU5EIGQ8MTcuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9Njk2CiAgICAg ICAgICBPUiBiPTE1NAotICAgICAgICAgT1IgKGQ+PTI0LjAgQU5EIGQ8MjUuMCBBTkQgZCBOT1Qg TlVMTCkKKyAgICAgICAgIE9SIChkPj0yNC4wIEFORCBkPDI1LjAgQU5EIGQgSVMgTk9UIE5VTEwp CiAgICAgICAgICBPUiBhPTIyCi0gICAgICAgICBPUiAoZD49NDcuMCBBTkQgZDw0OC4wIEFORCBk IE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTQ3LjAgQU5EIGQ8NDguMCBBTkQgZCBJUyBOT1Qg TlVMTCkKICAgICAgICAgIE9SIGE9NTIKICAgICAgICAgIE9SIGE9MjEKLSAgICAgICAgIE9SIChk Pj03MC4wIEFORCBkPDcxLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NzAuMCBB TkQgZDw3MS4wIEFORCBkIElTIE5PVCBOVUxMKQogICBdXSkKICAgICBlbmQsIHsKICAgICAgICAg LS0gPHdoZXJlNy0yLjc2Ny4yPgpAQCAtMjg3NjcsNyArMjg3NjcsNyBAQCB0ZXN0OmRvX3Rlc3Qo CiAgICAgICAgICBPUiBiPTUyMAogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMjMgQU5EIDI1KSBB TkQgYSE9MjQpCiAgICAgICAgICBPUiBiPTQwNwotICAgICAgICAgT1IgKGQ+PTM3LjAgQU5EIGQ8 MzguMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0zNy4wIEFORCBkPDM4LjAgQU5E IGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBjPj0zNDAzNQogICAgICAgICAgT1IgYj0xMzUK ICAgXV0pCkBAIC0yODc4OCw3ICsyODc4OCw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9S IGI9NTIwCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiAyMyBBTkQgMjUpIEFORCBhIT0yNCkKICAg ICAgICAgIE9SIGI9NDA3Ci0gICAgICAgICBPUiAoZD49MzcuMCBBTkQgZDwzOC4wIEFORCBkIE5P VCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTM3LjAgQU5EIGQ8MzguMCBBTkQgZCBJUyBOT1QgTlVM TCkKICAgICAgICAgIE9SIGM+PTM0MDM1CiAgICAgICAgICBPUiBiPTEzNQogICBdXSkKQEAgLTI4 ODAzLDcgKzI4ODAzLDcgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAgICAgICAg cmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MgotICAgICAg V0hFUkUgKGQ+PTQzLjAgQU5EIGQ8NDQuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChk Pj00My4wIEFORCBkPDQ0LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTcwNwog ICAgICAgICAgT1IgYj0xNAogICAgICAgICAgT1IgYj0xMDg5CkBAIC0yODgyMCw3ICsyODgyMCw3 IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9z dGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDMKLSAgICAgIFdIRVJFIChkPj00My4w IEFORCBkPDQ0LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49NDMuMCBBTkQgZDw0 NC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj03MDcKICAgICAgICAgIE9SIGI9 MTQKICAgICAgICAgIE9SIGI9MTA4OQpAQCAtMjg5MDgsNyArMjg5MDgsNyBAQCB0ZXN0OmRvX3Rl c3QoCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZS T00gdDIKICAgICAgIFdIRVJFIGE9ODcKLSAgICAgICAgIE9SIChkPj00Ny4wIEFORCBkPDQ4LjAg QU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NDcuMCBBTkQgZDw0OC4wIEFORCBkIElT IE5PVCBOVUxMKQogICAgICAgICAgT1IgYj00ODcKICAgICAgICAgIE9SIChnPSdnZmVkY2JhJyBB TkQgZiBHTE9CICdtbm9wcSonKQogICBdXSkKQEAgLTI4OTI0LDcgKzI4OTI0LDcgQEAgdGVzdDpk b190ZXN0KAogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1Qg YSBGUk9NIHQzCiAgICAgICBXSEVSRSBhPTg3Ci0gICAgICAgICBPUiAoZD49NDcuMCBBTkQgZDw0 OC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTQ3LjAgQU5EIGQ8NDguMCBBTkQg ZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9NDg3CiAgICAgICAgICBPUiAoZz0nZ2ZlZGNi YScgQU5EIGYgR0xPQiAnbW5vcHEqJykKICAgXV0pCkBAIC0yODk0NCw5ICsyODk0NCw5IEBAIHRl c3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIGI9NjA4CiAgICAgICAgICBPUiBiPTgxNAogICAgICAg ICAgT1IgYT02NwotICAgICAgICAgT1IgKGQ+PTYxLjAgQU5EIGQ8NjIuMCBBTkQgZCBOT1QgTlVM TCkKKyAgICAgICAgIE9SIChkPj02MS4wIEFORCBkPDYyLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAg ICAgICAgICBPUiBiPTEwNTkKLSAgICAgICAgIE9SIChkPj01OC4wIEFORCBkPDU5LjAgQU5EIGQg Tk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NTguMCBBTkQgZDw1OS4wIEFORCBkIElTIE5PVCBO VUxMKQogICAgICAgICAgT1IgYT0xOAogICAgICAgICAgT1IgYj00MDcKICAgICAgICAgIE9SICgo YSBCRVRXRUVOIDEwIEFORCAxMikgQU5EIGEhPTExKQpAQCAtMjg5NjcsOSArMjg5NjcsOSBAQCB0 ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBiPTYwOAogICAgICAgICAgT1IgYj04MTQKICAgICAg ICAgIE9SIGE9NjcKLSAgICAgICAgIE9SIChkPj02MS4wIEFORCBkPDYyLjAgQU5EIGQgTk9UIE5V TEwpCisgICAgICAgICBPUiAoZD49NjEuMCBBTkQgZDw2Mi4wIEFORCBkIElTIE5PVCBOVUxMKQog ICAgICAgICAgT1IgYj0xMDU5Ci0gICAgICAgICBPUiAoZD49NTguMCBBTkQgZDw1OS4wIEFORCBk IE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTU4LjAgQU5EIGQ8NTkuMCBBTkQgZCBJUyBOT1Qg TlVMTCkKICAgICAgICAgIE9SIGE9MTgKICAgICAgICAgIE9SIGI9NDA3CiAgICAgICAgICBPUiAo KGEgQkVUV0VFTiAxMCBBTkQgMTIpIEFORCBhIT0xMSkKQEAgLTI5MDIwLDkgKzI5MDIwLDkgQEAg dGVzdDpkb190ZXN0KAogICAgICAgV0hFUkUgYj0yMjAKICAgICAgICAgIE9SIChnPSdubWxramlo JyBBTkQgZiBHTE9CICdjZGVmZyonKQogICAgICAgICAgT1IgYj0zNjMKLSAgICAgICAgIE9SIChk Pj02Ni4wIEFORCBkPDY3LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NjYuMCBB TkQgZDw2Ny4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKGc9J25tbGtqaWgnIEFO RCBmIEdMT0IgJ2RlZmdoKicpCi0gICAgICAgICBPUiAoZD49NTIuMCBBTkQgZDw1My4wIEFORCBk IE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTUyLjAgQU5EIGQ8NTMuMCBBTkQgZCBJUyBOT1Qg TlVMTCkKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDEwIEFORCAxMikgQU5EIGEhPTExKQogICBd XSkKICAgICBlbmQsIHsKQEAgLTI5MDM5LDkgKzI5MDM5LDkgQEAgdGVzdDpkb190ZXN0KAogICAg ICAgV0hFUkUgYj0yMjAKICAgICAgICAgIE9SIChnPSdubWxramloJyBBTkQgZiBHTE9CICdjZGVm ZyonKQogICAgICAgICAgT1IgYj0zNjMKLSAgICAgICAgIE9SIChkPj02Ni4wIEFORCBkPDY3LjAg QU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NjYuMCBBTkQgZDw2Ny4wIEFORCBkIElT IE5PVCBOVUxMKQogICAgICAgICAgT1IgKGc9J25tbGtqaWgnIEFORCBmIEdMT0IgJ2RlZmdoKicp Ci0gICAgICAgICBPUiAoZD49NTIuMCBBTkQgZDw1My4wIEFORCBkIE5PVCBOVUxMKQorICAgICAg ICAgT1IgKGQ+PTUyLjAgQU5EIGQ8NTMuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9S ICgoYSBCRVRXRUVOIDEwIEFORCAxMikgQU5EIGEhPTExKQogICBdXSkKICAgICBlbmQsIHsKQEAg LTI5MDU2LDExICsyOTA1NiwxMSBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgIHJldHVybiBjb3Vu dF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIKICAgICAgIFdIRVJFIGI9NDk4 Ci0gICAgICAgICBPUiAoZD49NS4wIEFORCBkPDYuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAg IE9SIChkPj01LjAgQU5EIGQ8Ni4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj04 ODAKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDYwIEFORCA2MikgQU5EIGEhPTYxKQogICAgICAg ICAgT1IgYj04MjgKLSAgICAgICAgIE9SIChkPj0xNS4wIEFORCBkPDE2LjAgQU5EIGQgTk9UIE5V TEwpCisgICAgICAgICBPUiAoZD49MTUuMCBBTkQgZDwxNi4wIEFORCBkIElTIE5PVCBOVUxMKQog ICAgICAgICAgT1IgYj0xMTMKICAgXV0pCiAgICAgZW5kLCB7CkBAIC0yOTA3NSwxMSArMjkwNzUs MTEgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwog ICAgICBTRUxFQ1QgYSBGUk9NIHQzCiAgICAgICBXSEVSRSBiPTQ5OAotICAgICAgICAgT1IgKGQ+ PTUuMCBBTkQgZDw2LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NS4wIEFORCBk PDYuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9ODgwCiAgICAgICAgICBPUiAo KGEgQkVUV0VFTiA2MCBBTkQgNjIpIEFORCBhIT02MSkKICAgICAgICAgIE9SIGI9ODI4Ci0gICAg ICAgICBPUiAoZD49MTUuMCBBTkQgZDwxNi4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1Ig KGQ+PTE1LjAgQU5EIGQ8MTYuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9MTEz CiAgIF1dKQogICAgIGVuZCwgewpAQCAtMjkwOTQsNyArMjkwOTQsNyBAQCB0ZXN0OmRvX3Rlc3Qo CiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00g dDIKICAgICAgIFdIRVJFIGI9MTA1OQotICAgICAgICAgT1IgKGQ+PTIwLjAgQU5EIGQ8MjEuMCBB TkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0yMC4wIEFORCBkPDIxLjAgQU5EIGQgSVMg Tk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTk2MAogICAgICAgICAgT1IgKGYgR0xPQiAnP3JzdHUq JyBBTkQgZiBHTE9CICdxcnN0KicpCiAgICAgICAgICBPUiAoZz0nd3Z1dHNycScgQU5EIGYgR0xP QiAnbW5vcHEqJykKQEAgLTI5MTEzLDcgKzI5MTEzLDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAg ICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQzCiAgICAg ICBXSEVSRSBiPTEwNTkKLSAgICAgICAgIE9SIChkPj0yMC4wIEFORCBkPDIxLjAgQU5EIGQgTk9U IE5VTEwpCisgICAgICAgICBPUiAoZD49MjAuMCBBTkQgZDwyMS4wIEFORCBkIElTIE5PVCBOVUxM KQogICAgICAgICAgT1IgYj05NjAKICAgICAgICAgIE9SIChmIEdMT0IgJz9yc3R1KicgQU5EIGYg R0xPQiAncXJzdConKQogICAgICAgICAgT1IgKGc9J3d2dXRzcnEnIEFORCBmIEdMT0IgJ21ub3Bx KicpCkBAIC0yOTE2Niw3ICsyOTE2Niw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SICgo YSBCRVRXRUVOIDIxIEFORCAyMykgQU5EIGEhPTIyKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4g ODYgQU5EIDg4KSBBTkQgYSE9ODcpCiAgICAgICAgICBPUiBjPTIzMDIzCi0gICAgICAgICBPUiAo ZD49OTkuMCBBTkQgZDwxMDAuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj05OS4w IEFORCBkPDEwMC4wIEFORCBkIElTIE5PVCBOVUxMKQogICBdXSkKICAgICBlbmQsIHsKICAgICAg ICAgLS0gPHdoZXJlNy0yLjc3OS4xPgpAQCAtMjkxODYsNyArMjkxODYsNyBAQCB0ZXN0OmRvX3Rl c3QoCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiAyMSBBTkQgMjMpIEFORCBhIT0yMikKICAgICAg ICAgIE9SICgoYSBCRVRXRUVOIDg2IEFORCA4OCkgQU5EIGEhPTg3KQogICAgICAgICAgT1IgYz0y MzAyMwotICAgICAgICAgT1IgKGQ+PTk5LjAgQU5EIGQ8MTAwLjAgQU5EIGQgTk9UIE5VTEwpCisg ICAgICAgICBPUiAoZD49OTkuMCBBTkQgZDwxMDAuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgXV0p CiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi43NzkuMj4KQEAgLTI5MjAzLDcgKzI5 MjAzLDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgKGYgR0xPQiAnP3Fyc3QqJyBBTkQg ZiBHTE9CICdwcXJzKicpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA4IEFORCAxMCkgQU5EIGEh PTkpCiAgICAgICAgICBPUiBmPSdhYmNkZWZnaGknCi0gICAgICAgICBPUiAoZD49OTIuMCBBTkQg ZDw5My4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTkyLjAgQU5EIGQ8OTMuMCBB TkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9ODY5CiAgIF1dKQogICAgIGVuZCwgewpA QCAtMjkyMjEsNyArMjkyMjEsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiAoZiBHTE9C ICc/cXJzdConIEFORCBmIEdMT0IgJ3BxcnMqJykKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDgg QU5EIDEwKSBBTkQgYSE9OSkKICAgICAgICAgIE9SIGY9J2FiY2RlZmdoaScKLSAgICAgICAgIE9S IChkPj05Mi4wIEFORCBkPDkzLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49OTIu MCBBTkQgZDw5My4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj04NjkKICAgXV0p CiAgICAgZW5kLCB7CkBAIC0yOTI3MSwxMCArMjkyNzEsMTAgQEAgdGVzdDpkb190ZXN0KAogICAg ICAgICAgT1IgYj0xMDM3CiAgICAgICAgICBPUiBiPTEzMgogICAgICAgICAgT1IgYz0xMDAxCi0g ICAgICAgICBPUiAoZD49MjAuMCBBTkQgZDwyMS4wIEFORCBkIE5PVCBOVUxMKQotICAgICAgICAg T1IgKGQ+PTE4LjAgQU5EIGQ8MTkuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0y MC4wIEFORCBkPDIxLjAgQU5EIGQgSVMgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MTguMCBB TkQgZDwxOS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKGc9J2dmZWRjYmEnIEFO RCBmIEdMT0IgJ25vcHFyKicpCi0gICAgICAgICBPUiAoZD49NTguMCBBTkQgZDw1OS4wIEFORCBk IE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTU4LjAgQU5EIGQ8NTkuMCBBTkQgZCBJUyBOT1Qg TlVMTCkKICAgICAgICAgIE9SIChnPSdramloZ2ZlJyBBTkQgZiBHTE9CICdxcnN0dSonKQogICAg ICAgICAgT1IgYT0zMgogICBdXSkKQEAgLTI5MjkzLDEwICsyOTI5MywxMCBAQCB0ZXN0OmRvX3Rl c3QoCiAgICAgICAgICBPUiBiPTEwMzcKICAgICAgICAgIE9SIGI9MTMyCiAgICAgICAgICBPUiBj PTEwMDEKLSAgICAgICAgIE9SIChkPj0yMC4wIEFORCBkPDIxLjAgQU5EIGQgTk9UIE5VTEwpCi0g ICAgICAgICBPUiAoZD49MTguMCBBTkQgZDwxOS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAg T1IgKGQ+PTIwLjAgQU5EIGQ8MjEuMCBBTkQgZCBJUyBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChk Pj0xOC4wIEFORCBkPDE5LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoZz0nZ2Zl ZGNiYScgQU5EIGYgR0xPQiAnbm9wcXIqJykKLSAgICAgICAgIE9SIChkPj01OC4wIEFORCBkPDU5 LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NTguMCBBTkQgZDw1OS4wIEFORCBk IElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKGc9J2tqaWhnZmUnIEFORCBmIEdMT0IgJ3Fyc3R1 KicpCiAgICAgICAgICBPUiBhPTMyCiAgIF1dKQpAQCAtMjkzMTMsNyArMjkzMTMsNyBAQCB0ZXN0 OmRvX3Rlc3QoCiAgICAgIFNFTEVDVCBhIEZST00gdDIKICAgICAgIFdIRVJFIGE9MjQKICAgICAg ICAgIE9SIGI9OTI3Ci0gICAgICAgICBPUiAoZD49NTIuMCBBTkQgZDw1My4wIEFORCBkIE5PVCBO VUxMKQorICAgICAgICAgT1IgKGQ+PTUyLjAgQU5EIGQ8NTMuMCBBTkQgZCBJUyBOT1QgTlVMTCkK ICAgICAgICAgIE9SIGE9NwogICAgICAgICAgT1IgYj00NjIKICAgICAgICAgIE9SIGI9NjA4CkBA IC0yOTMzNSw3ICsyOTMzNSw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgU0VMRUNUIGEgRlJPTSB0 MwogICAgICAgV0hFUkUgYT0yNAogICAgICAgICAgT1IgYj05MjcKLSAgICAgICAgIE9SIChkPj01 Mi4wIEFORCBkPDUzLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NTIuMCBBTkQg ZDw1My4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYT03CiAgICAgICAgICBPUiBi PTQ2MgogICAgICAgICAgT1IgYj02MDgKQEAgLTI5Mzg3LDE2ICsyOTM4NywxNiBAQCB0ZXN0OmRv X3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChb WwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCi0gICAgICBXSEVSRSAoZD49NjAuMCBBTkQgZDw2MS4w IEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTYwLjAgQU5EIGQ8NjEuMCBBTkQgZCBJ UyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9MzYKICAgICAgICAgIE9SIChmIEdMT0IgJz9lZmdo KicgQU5EIGYgR0xPQiAnZGVmZyonKQogICAgICAgICAgT1IgKGc9J2loZ2ZlZGMnIEFORCBmIEdM T0IgJ2NkZWZnKicpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA0NiBBTkQgNDgpIEFORCBhIT00 NykKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDMxIEFORCAzMykgQU5EIGEhPTMyKQotICAgICAg ICAgT1IgKGQ+PTkxLjAgQU5EIGQ8OTIuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChk Pj05MS4wIEFORCBkPDkyLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoZz0naWhn ZmVkYycgQU5EIGYgR0xPQiAnZWZnaGkqJykKICAgICAgICAgIE9SIChnPSdqaWhnZmVkJyBBTkQg ZiBHTE9CICd2d3h5eionKQotICAgICAgICAgT1IgKGQ+PTc3LjAgQU5EIGQ8NzguMCBBTkQgZCBO T1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj03Ny4wIEFORCBkPDc4LjAgQU5EIGQgSVMgTk9UIE5V TEwpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiAyNiBBTkQgMjgpIEFORCBhIT0yNykKICAgXV0p CiAgICAgZW5kLCB7CkBAIC0yOTQxMCwxNiArMjk0MTAsMTYgQEAgdGVzdDpkb190ZXN0KAogICAg IGZ1bmN0aW9uKCkKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VM RUNUIGEgRlJPTSB0MwotICAgICAgV0hFUkUgKGQ+PTYwLjAgQU5EIGQ8NjEuMCBBTkQgZCBOT1Qg TlVMTCkKKyAgICAgIFdIRVJFIChkPj02MC4wIEFORCBkPDYxLjAgQU5EIGQgSVMgTk9UIE5VTEwp CiAgICAgICAgICBPUiBiPTM2CiAgICAgICAgICBPUiAoZiBHTE9CICc/ZWZnaConIEFORCBmIEdM T0IgJ2RlZmcqJykKICAgICAgICAgIE9SIChnPSdpaGdmZWRjJyBBTkQgZiBHTE9CICdjZGVmZyon KQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNDYgQU5EIDQ4KSBBTkQgYSE9NDcpCiAgICAgICAg ICBPUiAoKGEgQkVUV0VFTiAzMSBBTkQgMzMpIEFORCBhIT0zMikKLSAgICAgICAgIE9SIChkPj05 MS4wIEFORCBkPDkyLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49OTEuMCBBTkQg ZDw5Mi4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKGc9J2loZ2ZlZGMnIEFORCBm IEdMT0IgJ2VmZ2hpKicpCiAgICAgICAgICBPUiAoZz0namloZ2ZlZCcgQU5EIGYgR0xPQiAndnd4 eXoqJykKLSAgICAgICAgIE9SIChkPj03Ny4wIEFORCBkPDc4LjAgQU5EIGQgTk9UIE5VTEwpCisg ICAgICAgICBPUiAoZD49NzcuMCBBTkQgZDw3OC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAg ICAgT1IgKChhIEJFVFdFRU4gMjYgQU5EIDI4KSBBTkQgYSE9MjcpCiAgIF1dKQogICAgIGVuZCwg ewpAQCAtMjk0NDAsNyArMjk0NDAsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBiPTMw MAogICAgICAgICAgT1IgYT00MQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMzcgQU5EIDM5KSBB TkQgYSE9MzgpCi0gICAgICAgICBPUiAoZD49MS4wIEFORCBkPDIuMCBBTkQgZCBOT1QgTlVMTCkK KyAgICAgICAgIE9SIChkPj0xLjAgQU5EIGQ8Mi4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAg ICAgT1IgYT0zMwogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMTAgQU5EIDEyKSBBTkQgYSE9MTEp CiAgIF1dKQpAQCAtMjk0NjIsNyArMjk0NjIsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBP UiBiPTMwMAogICAgICAgICAgT1IgYT00MQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMzcgQU5E IDM5KSBBTkQgYSE9MzgpCi0gICAgICAgICBPUiAoZD49MS4wIEFORCBkPDIuMCBBTkQgZCBOT1Qg TlVMTCkKKyAgICAgICAgIE9SIChkPj0xLjAgQU5EIGQ8Mi4wIEFORCBkIElTIE5PVCBOVUxMKQog ICAgICAgICAgT1IgYT0zMwogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMTAgQU5EIDEyKSBBTkQg YSE9MTEpCiAgIF1dKQpAQCAtMjk0NzgsNyArMjk0NzgsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAg ICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIKICAg ICAgIFdIRVJFICgoYSBCRVRXRUVOIDY4IEFORCA3MCkgQU5EIGEhPTY5KQotICAgICAgICAgT1Ig KGQ+PTcxLjAgQU5EIGQ8NzIuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj03MS4w IEFORCBkPDcyLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA5 NCBBTkQgOTYpIEFORCBhIT05NSkKICAgICAgICAgIE9SIChmIEdMT0IgJz9jZGVmKicgQU5EIGYg R0xPQiAnYmNkZSonKQogICAgICAgICAgT1IgKGc9J2dmZWRjYmEnIEFORCBmIEdMT0IgJ21ub3Bx KicpCkBAIC0yOTUwMSw3ICsyOTUwMSw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgcmV0dXJu IGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MwogICAgICAgV0hFUkUg KChhIEJFVFdFRU4gNjggQU5EIDcwKSBBTkQgYSE9NjkpCi0gICAgICAgICBPUiAoZD49NzEuMCBB TkQgZDw3Mi4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTcxLjAgQU5EIGQ8NzIu MCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDk0IEFORCA5Nikg QU5EIGEhPTk1KQogICAgICAgICAgT1IgKGYgR0xPQiAnP2NkZWYqJyBBTkQgZiBHTE9CICdiY2Rl KicpCiAgICAgICAgICBPUiAoZz0nZ2ZlZGNiYScgQU5EIGYgR0xPQiAnbW5vcHEqJykKQEAgLTI5 NTU3LDcgKzI5NTU3LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgYj03MzcKICAgICAg ICAgIE9SIGI9MjAxCiAgICAgICAgICBPUiBhPTcKLSAgICAgICAgIE9SIChkPj0yNi4wIEFORCBk PDI3LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MjYuMCBBTkQgZDwyNy4wIEFO RCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKGc9J3l4d3Z1dHMnIEFORCBmIEdMT0IgJ2Nk ZWZnKicpCiAgICAgICAgICBPUiBiPTk1NwogICBdXSkKQEAgLTI5NTc2LDcgKzI5NTc2LDcgQEAg dGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgYj03MzcKICAgICAgICAgIE9SIGI9MjAxCiAgICAg ICAgICBPUiBhPTcKLSAgICAgICAgIE9SIChkPj0yNi4wIEFORCBkPDI3LjAgQU5EIGQgTk9UIE5V TEwpCisgICAgICAgICBPUiAoZD49MjYuMCBBTkQgZDwyNy4wIEFORCBkIElTIE5PVCBOVUxMKQog ICAgICAgICAgT1IgKGc9J3l4d3Z1dHMnIEFORCBmIEdMT0IgJ2NkZWZnKicpCiAgICAgICAgICBP UiBiPTk1NwogICBdXSkKQEAgLTI5NjI5LDcgKzI5NjI5LDcgQEAgdGVzdDpkb190ZXN0KAogICAg IGZ1bmN0aW9uKCkKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VM RUNUIGEgRlJPTSB0MgotICAgICAgV0hFUkUgKGQ+PTQ1LjAgQU5EIGQ8NDYuMCBBTkQgZCBOT1Qg TlVMTCkKKyAgICAgIFdIRVJFIChkPj00NS4wIEFORCBkPDQ2LjAgQU5EIGQgSVMgTk9UIE5VTEwp CiAgICAgICAgICBPUiBiPTE3OQogICAgICAgICAgT1IgYj0xMDgxCiAgICAgICAgICBPUiBiPTM3 NwpAQCAtMjk2NDksNyArMjk2NDksNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQog ICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQz Ci0gICAgICBXSEVSRSAoZD49NDUuMCBBTkQgZDw0Ni4wIEFORCBkIE5PVCBOVUxMKQorICAgICAg V0hFUkUgKGQ+PTQ1LjAgQU5EIGQ8NDYuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9S IGI9MTc5CiAgICAgICAgICBPUiBiPTEwODEKICAgICAgICAgIE9SIGI9Mzc3CkBAIC0yOTc4OSw3 ICsyOTc4OSw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVy biBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIKLSAgICAgIFdIRVJF IChkPj0yNS4wIEFORCBkPDI2LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49MjUu MCBBTkQgZDwyNi4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj01MDkKICAgICAg ICAgIE9SIGI9MTAwNAogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMjggQU5EIDMwKSBBTkQgYSE9 MjkpCkBAIC0yOTgwOCw3ICsyOTgwOCw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigp CiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00g dDMKLSAgICAgIFdIRVJFIChkPj0yNS4wIEFORCBkPDI2LjAgQU5EIGQgTk9UIE5VTEwpCisgICAg ICBXSEVSRSAoZD49MjUuMCBBTkQgZDwyNi4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAg T1IgYj01MDkKICAgICAgICAgIE9SIGI9MTAwNAogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMjgg QU5EIDMwKSBBTkQgYSE9MjkpCkBAIC0yOTg1NSw3ICsyOTg1NSw3IEBAIHRlc3Q6ZG9fdGVzdCgK ICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAg IFNFTEVDVCBhIEZST00gdDIKLSAgICAgIFdIRVJFIChkPj05NS4wIEFORCBkPDk2LjAgQU5EIGQg Tk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49OTUuMCBBTkQgZDw5Ni4wIEFORCBkIElTIE5PVCBO VUxMKQogICAgICAgICAgT1IgZj0nYWJjZGVmZ2hpJwogICBdXSkKICAgICBlbmQsIHsKQEAgLTI5 ODY5LDcgKzI5ODY5LDcgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAgICAgICAg cmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MwotICAgICAg V0hFUkUgKGQ+PTk1LjAgQU5EIGQ8OTYuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChk Pj05NS4wIEFORCBkPDk2LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBmPSdhYmNk ZWZnaGknCiAgIF1dKQogICAgIGVuZCwgewpAQCAtMjk5MTgsNyArMjk5MTgsNyBAQCB0ZXN0OmRv X3Rlc3QoCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBh IEZST00gdDIKICAgICAgIFdIRVJFIGY9J2xtbm9wcXJzdCcKLSAgICAgICAgIE9SIChkPj04LjAg QU5EIGQ8OS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTguMCBBTkQgZDw5LjAg QU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBhPTQ3CiAgICAgICAgICBPUiBhPTcxCiAg IF1dKQpAQCAtMjk5MzQsNyArMjk5MzQsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgIHJldHVy biBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDMKICAgICAgIFdIRVJF IGY9J2xtbm9wcXJzdCcKLSAgICAgICAgIE9SIChkPj04LjAgQU5EIGQ8OS4wIEFORCBkIE5PVCBO VUxMKQorICAgICAgICAgT1IgKGQ+PTguMCBBTkQgZDw5LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAg ICAgICAgICBPUiBhPTQ3CiAgICAgICAgICBPUiBhPTcxCiAgIF1dKQpAQCAtMjk5NTAsNyArMjk5 NTAsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtb CiAgICAgIFNFTEVDVCBhIEZST00gdDIKICAgICAgIFdIRVJFIGI9NTMxCi0gICAgICAgICBPUiAo ZD49MTIuMCBBTkQgZDwxMy4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTEyLjAg QU5EIGQ8MTMuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDk1 IEFORCA5NykgQU5EIGEhPTk2KQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMzIgQU5EIDM0KSBB TkQgYSE9MzMpCiAgICAgICAgICBPUiBiPTQ0CkBAIC0yOTk3MSw3ICsyOTk3MSw3IEBAIHRlc3Q6 ZG9fdGVzdCgKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNU IGEgRlJPTSB0MwogICAgICAgV0hFUkUgYj01MzEKLSAgICAgICAgIE9SIChkPj0xMi4wIEFORCBk PDEzLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MTIuMCBBTkQgZDwxMy4wIEFO RCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gOTUgQU5EIDk3KSBBTkQg YSE9OTYpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiAzMiBBTkQgMzQpIEFORCBhIT0zMykKICAg ICAgICAgIE9SIGI9NDQKQEAgLTI5OTkzLDcgKzI5OTkzLDcgQEAgdGVzdDpkb190ZXN0KAogICAg ICBTRUxFQ1QgYSBGUk9NIHQyCiAgICAgICBXSEVSRSAoZiBHTE9CICc/ZWZnaConIEFORCBmIEdM T0IgJ2RlZmcqJykKICAgICAgICAgIE9SIChnPSdpaGdmZWRjJyBBTkQgZiBHTE9CICdlZmdoaSon KQotICAgICAgICAgT1IgKGQ+PTg5LjAgQU5EIGQ8OTAuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAg ICAgIE9SIChkPj04OS4wIEFORCBkPDkwLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBP UiBmPSdqa2xtbm9wcXInCiAgIF1dKQogICAgIGVuZCwgewpAQCAtMzAwMDksNyArMzAwMDksNyBA QCB0ZXN0OmRvX3Rlc3QoCiAgICAgIFNFTEVDVCBhIEZST00gdDMKICAgICAgIFdIRVJFIChmIEdM T0IgJz9lZmdoKicgQU5EIGYgR0xPQiAnZGVmZyonKQogICAgICAgICAgT1IgKGc9J2loZ2ZlZGMn IEFORCBmIEdMT0IgJ2VmZ2hpKicpCi0gICAgICAgICBPUiAoZD49ODkuMCBBTkQgZDw5MC4wIEFO RCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTg5LjAgQU5EIGQ8OTAuMCBBTkQgZCBJUyBO T1QgTlVMTCkKICAgICAgICAgIE9SIGY9J2prbG1ub3BxcicKICAgXV0pCiAgICAgZW5kLCB7CkBA IC0zMDAyNyw3ICszMDAyNyw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIChnPSdpaGdm ZWRjJyBBTkQgZiBHTE9CICdhYmNkZSonKQogICAgICAgICAgT1IgYT00NwogICAgICAgICAgT1Ig KGc9J3Fwb25tbGsnIEFORCBmIEdMT0IgJ3Fyc3R1KicpCi0gICAgICAgICBPUiAoZD49OTMuMCBB TkQgZDw5NC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTkzLjAgQU5EIGQ8OTQu MCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChnPSd3dnV0c3JxJyBBTkQgZiBHTE9C ICdpamtsbSonKQogICAgICAgICAgT1IgYj04MAogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNjAg QU5EIDYyKSBBTkQgYSE9NjEpCkBAIC0zMDA0OCw3ICszMDA0OCw3IEBAIHRlc3Q6ZG9fdGVzdCgK ICAgICAgICAgIE9SIChnPSdpaGdmZWRjJyBBTkQgZiBHTE9CICdhYmNkZSonKQogICAgICAgICAg T1IgYT00NwogICAgICAgICAgT1IgKGc9J3Fwb25tbGsnIEFORCBmIEdMT0IgJ3Fyc3R1KicpCi0g ICAgICAgICBPUiAoZD49OTMuMCBBTkQgZDw5NC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAg T1IgKGQ+PTkzLjAgQU5EIGQ8OTQuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChn PSd3dnV0c3JxJyBBTkQgZiBHTE9CICdpamtsbSonKQogICAgICAgICAgT1IgYj04MAogICAgICAg ICAgT1IgKChhIEJFVFdFRU4gNjAgQU5EIDYyKSBBTkQgYSE9NjEpCkBAIC0zMDA2NiwxNCArMzAw NjYsMTQgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChb WwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCiAgICAgICBXSEVSRSBhPTQ4Ci0gICAgICAgICBPUiAo ZD49NTUuMCBBTkQgZDw1Ni4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTU1LjAg QU5EIGQ8NTYuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9MTAxNQogICAgICAg ICAgT1IgYT01NwogICAgICAgICAgT1IgKGYgR0xPQiAnP2tsbW4qJyBBTkQgZiBHTE9CICdqa2xt KicpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA0NyBBTkQgNDkpIEFORCBhIT00OCkKICAgICAg ICAgIE9SICgoYSBCRVRXRUVOIDk4IEFORCAxMDApIEFORCBhIT05OSkKICAgICAgICAgIE9SIChn PSdvbm1sa2ppJyBBTkQgZiBHTE9CICd5emFiYyonKQotICAgICAgICAgT1IgKGQ+PTQuMCBBTkQg ZDw1LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NC4wIEFORCBkPDUuMCBBTkQg ZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9MTY1CiAgIF1dKQogICAgIGVuZCwgewpAQCAt MzAwODgsMTQgKzMwMDg4LDE0IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgcmV0dXJuIGNvdW50 X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MwogICAgICAgV0hFUkUgYT00OAot ICAgICAgICAgT1IgKGQ+PTU1LjAgQU5EIGQ8NTYuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAg IE9SIChkPj01NS4wIEFORCBkPDU2LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBi PTEwMTUKICAgICAgICAgIE9SIGE9NTcKICAgICAgICAgIE9SIChmIEdMT0IgJz9rbG1uKicgQU5E IGYgR0xPQiAnamtsbSonKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNDcgQU5EIDQ5KSBBTkQg YSE9NDgpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA5OCBBTkQgMTAwKSBBTkQgYSE9OTkpCiAg ICAgICAgICBPUiAoZz0nb25tbGtqaScgQU5EIGYgR0xPQiAneXphYmMqJykKLSAgICAgICAgIE9S IChkPj00LjAgQU5EIGQ8NS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTQuMCBB TkQgZDw1LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTE2NQogICBdXSkKICAg ICBlbmQsIHsKQEAgLTMwMTg2LDcgKzMwMTg2LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICAg T1IgKChhIEJFVFdFRU4gOTMgQU5EIDk1KSBBTkQgYSE9OTQpCiAgICAgICAgICBPUiAoZz0ncG9u bWxraicgQU5EIGYgR0xPQiAndHV2d3gqJykKICAgICAgICAgIE9SIGE9MTQKLSAgICAgICAgIE9S IChkPj05Ny4wIEFORCBkPDk4LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49OTcu MCBBTkQgZDw5OC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj05NDYKICAgICAg ICAgIE9SICgoYSBCRVRXRUVOIDUzIEFORCA1NSkgQU5EIGEhPTU0KQogICAgICAgICAgT1IgYj0x MjQKQEAgLTMwMjA5LDcgKzMwMjA5LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgKChh IEJFVFdFRU4gOTMgQU5EIDk1KSBBTkQgYSE9OTQpCiAgICAgICAgICBPUiAoZz0ncG9ubWxraicg QU5EIGYgR0xPQiAndHV2d3gqJykKICAgICAgICAgIE9SIGE9MTQKLSAgICAgICAgIE9SIChkPj05 Ny4wIEFORCBkPDk4LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49OTcuMCBBTkQg ZDw5OC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj05NDYKICAgICAgICAgIE9S ICgoYSBCRVRXRUVOIDUzIEFORCA1NSkgQU5EIGEhPTU0KQogICAgICAgICAgT1IgYj0xMjQKQEAg LTMwMjI2LDggKzMwMjI2LDggQEAgdGVzdDpkb190ZXN0KAogICAgICAgICByZXR1cm4gY291bnRf c3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCiAgICAgICBXSEVSRSAoKGEgQkVU V0VFTiA4OCBBTkQgOTApIEFORCBhIT04OSkKLSAgICAgICAgIE9SIChkPj01Mi4wIEFORCBkPDUz LjAgQU5EIGQgTk9UIE5VTEwpCi0gICAgICAgICBPUiAoZD49NjYuMCBBTkQgZDw2Ny4wIEFORCBk IE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTUyLjAgQU5EIGQ8NTMuMCBBTkQgZCBJUyBOT1Qg TlVMTCkKKyAgICAgICAgIE9SIChkPj02Ni4wIEFORCBkPDY3LjAgQU5EIGQgSVMgTk9UIE5VTEwp CiAgICAgICAgICBPUiAoZz0nZ2ZlZGNiYScgQU5EIGYgR0xPQiAna2xtbm8qJykKICAgXV0pCiAg ICAgZW5kLCB7CkBAIC0zMDI0Miw4ICszMDI0Miw4IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAg cmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MwogICAgICAg V0hFUkUgKChhIEJFVFdFRU4gODggQU5EIDkwKSBBTkQgYSE9ODkpCi0gICAgICAgICBPUiAoZD49 NTIuMCBBTkQgZDw1My4wIEFORCBkIE5PVCBOVUxMKQotICAgICAgICAgT1IgKGQ+PTY2LjAgQU5E IGQ8NjcuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj01Mi4wIEFORCBkPDUzLjAg QU5EIGQgSVMgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NjYuMCBBTkQgZDw2Ny4wIEFORCBk IElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKGc9J2dmZWRjYmEnIEFORCBmIEdMT0IgJ2tsbW5v KicpCiAgIF1dKQogICAgIGVuZCwgewpAQCAtMzAyOTMsNyArMzAyOTMsNyBAQCB0ZXN0OmRvX3Rl c3QoCiAgICAgIFNFTEVDVCBhIEZST00gdDIKICAgICAgIFdIRVJFIChnPSdqaWhnZmVkJyBBTkQg ZiBHTE9CICd6YWJjZConKQogICAgICAgICAgT1IgKGYgR0xPQiAnP21ub3AqJyBBTkQgZiBHTE9C ICdsbW5vKicpCi0gICAgICAgICBPUiAoZD49NDMuMCBBTkQgZDw0NC4wIEFORCBkIE5PVCBOVUxM KQorICAgICAgICAgT1IgKGQ+PTQzLjAgQU5EIGQ8NDQuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAg ICAgICAgIE9SICgoYSBCRVRXRUVOIDc5IEFORCA4MSkgQU5EIGEhPTgwKQogICAgICAgICAgT1Ig KGc9J2VkY2JhenknIEFORCBmIEdMT0IgJ3d4eXphKicpCiAgICAgICAgICBPUiAoZiBHTE9CICc/ a2xtbionIEFORCBmIEdMT0IgJ2prbG0qJykKQEAgLTMwMzEzLDcgKzMwMzEzLDcgQEAgdGVzdDpk b190ZXN0KAogICAgICBTRUxFQ1QgYSBGUk9NIHQzCiAgICAgICBXSEVSRSAoZz0namloZ2ZlZCcg QU5EIGYgR0xPQiAnemFiY2QqJykKICAgICAgICAgIE9SIChmIEdMT0IgJz9tbm9wKicgQU5EIGYg R0xPQiAnbG1ubyonKQotICAgICAgICAgT1IgKGQ+PTQzLjAgQU5EIGQ8NDQuMCBBTkQgZCBOT1Qg TlVMTCkKKyAgICAgICAgIE9SIChkPj00My4wIEFORCBkPDQ0LjAgQU5EIGQgSVMgTk9UIE5VTEwp CiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA3OSBBTkQgODEpIEFORCBhIT04MCkKICAgICAgICAg IE9SIChnPSdlZGNiYXp5JyBBTkQgZiBHTE9CICd3eHl6YSonKQogICAgICAgICAgT1IgKGYgR0xP QiAnP2tsbW4qJyBBTkQgZiBHTE9CICdqa2xtKicpCkBAIC0zMDMzMSwxMCArMzAzMzEsMTAgQEAg dGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBz X3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MgotICAgICAgV0hFUkUgKGQ+PTMwLjAgQU5E IGQ8MzEuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChkPj0zMC4wIEFORCBkPDMxLjAg QU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoZz0neHd2dXRzcicgQU5EIGYgR0xPQiAn ZWZnaGkqJykKICAgICAgICAgIE9SIChnPSdnZmVkY2JhJyBBTkQgZiBHTE9CICdsbW5vcConKQot ICAgICAgICAgT1IgKGQ+PTY0LjAgQU5EIGQ8NjUuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAg IE9SIChkPj02NC4wIEFORCBkPDY1LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAo Zz0nZ2ZlZGNiYScgQU5EIGYgR0xPQiAnbm9wcXIqJykKICAgICAgICAgIE9SIGE9NTkKICAgXV0p CkBAIC0zMDM0OSwxMCArMzAzNDksMTAgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9uKCkK ICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0 MwotICAgICAgV0hFUkUgKGQ+PTMwLjAgQU5EIGQ8MzEuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAg IFdIRVJFIChkPj0zMC4wIEFORCBkPDMxLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBP UiAoZz0neHd2dXRzcicgQU5EIGYgR0xPQiAnZWZnaGkqJykKICAgICAgICAgIE9SIChnPSdnZmVk Y2JhJyBBTkQgZiBHTE9CICdsbW5vcConKQotICAgICAgICAgT1IgKGQ+PTY0LjAgQU5EIGQ8NjUu MCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj02NC4wIEFORCBkPDY1LjAgQU5EIGQg SVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoZz0nZ2ZlZGNiYScgQU5EIGYgR0xPQiAnbm9wcXIq JykKICAgICAgICAgIE9SIGE9NTkKICAgXV0pCkBAIC0zMDM3NSw4ICszMDM3NSw4IEBAIHRlc3Q6 ZG9fdGVzdCgKICAgICAgICAgIE9SIGY9J2doaWprbG1ubycKICAgICAgICAgIE9SICgoYSBCRVRX RUVOIDE0IEFORCAxNikgQU5EIGEhPTE1KQogICAgICAgICAgT1IgZj0nZ2hpamtsbW5vJwotICAg ICAgICAgT1IgKGQ+PTY0LjAgQU5EIGQ8NjUuMCBBTkQgZCBOT1QgTlVMTCkKLSAgICAgICAgIE9S IChkPj0xOS4wIEFORCBkPDIwLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NjQu MCBBTkQgZDw2NS4wIEFORCBkIElTIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTE5LjAgQU5E IGQ8MjAuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9MTA4MQogICBdXSkKICAg ICBlbmQsIHsKQEAgLTMwMzk4LDggKzMwMzk4LDggQEAgdGVzdDpkb190ZXN0KAogICAgICAgICAg T1IgZj0nZ2hpamtsbW5vJwogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMTQgQU5EIDE2KSBBTkQg YSE9MTUpCiAgICAgICAgICBPUiBmPSdnaGlqa2xtbm8nCi0gICAgICAgICBPUiAoZD49NjQuMCBB TkQgZDw2NS4wIEFORCBkIE5PVCBOVUxMKQotICAgICAgICAgT1IgKGQ+PTE5LjAgQU5EIGQ8MjAu MCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj02NC4wIEFORCBkPDY1LjAgQU5EIGQg SVMgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MTkuMCBBTkQgZDwyMC4wIEFORCBkIElTIE5P VCBOVUxMKQogICAgICAgICAgT1IgYj0xMDgxCiAgIF1dKQogICAgIGVuZCwgewpAQCAtMzA0MTYs MTAgKzMwNDE2LDEwIEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgIFdIRVJFICgoYSBCRVRXRUVOIDMw IEFORCAzMikgQU5EIGEhPTMxKQogICAgICAgICAgT1IgYT05NgogICAgICAgICAgT1IgYj0zNTUK LSAgICAgICAgIE9SIChkPj04MS4wIEFORCBkPDgyLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAg ICBPUiAoZD49ODEuMCBBTkQgZDw4Mi4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1Ig Yj01OTcKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDkyIEFORCA5NCkgQU5EIGEhPTkzKQotICAg ICAgICAgT1IgKGQ+PTg4LjAgQU5EIGQ8ODkuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9S IChkPj04OC4wIEFORCBkPDg5LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoZiBH TE9CICc/bG1ubyonIEFORCBmIEdMT0IgJ2tsbW4qJykKICAgICAgICAgIE9SIGI9MTY4CiAgICAg ICAgICBPUiAoZz0ndnV0c3JxcCcgQU5EIGYgR0xPQiAncHFyc3QqJykKQEAgLTMwNDM4LDEwICsz MDQzOCwxMCBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICBXSEVSRSAoKGEgQkVUV0VFTiAzMCBBTkQg MzIpIEFORCBhIT0zMSkKICAgICAgICAgIE9SIGE9OTYKICAgICAgICAgIE9SIGI9MzU1Ci0gICAg ICAgICBPUiAoZD49ODEuMCBBTkQgZDw4Mi4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1Ig KGQ+PTgxLjAgQU5EIGQ8ODIuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9NTk3 CiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA5MiBBTkQgOTQpIEFORCBhIT05MykKLSAgICAgICAg IE9SIChkPj04OC4wIEFORCBkPDg5LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49 ODguMCBBTkQgZDw4OS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKGYgR0xPQiAn P2xtbm8qJyBBTkQgZiBHTE9CICdrbG1uKicpCiAgICAgICAgICBPUiBiPTE2OAogICAgICAgICAg T1IgKGc9J3Z1dHNycXAnIEFORCBmIEdMT0IgJ3BxcnN0KicpCkBAIC0zMDQ1Nyw5ICszMDQ1Nyw5 IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9z dGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIKLSAgICAgIFdIRVJFIChkPj00Ny4w IEFORCBkPDQ4LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49NDcuMCBBTkQgZDw0 OC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj05NTcKLSAgICAgICAgIE9SIChk Pj05LjAgQU5EIGQ8MTAuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj05LjAgQU5E IGQ8MTAuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDg3IEFO RCA4OSkgQU5EIGEhPTg4KQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNTggQU5EIDYwKSBBTkQg YSE9NTkpCiAgICAgICAgICBPUiBhPTQwCkBAIC0zMDQ3NSw5ICszMDQ3NSw5IEBAIHRlc3Q6ZG9f dGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtb CiAgICAgIFNFTEVDVCBhIEZST00gdDMKLSAgICAgIFdIRVJFIChkPj00Ny4wIEFORCBkPDQ4LjAg QU5EIGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49NDcuMCBBTkQgZDw0OC4wIEFORCBkIElT IE5PVCBOVUxMKQogICAgICAgICAgT1IgYj05NTcKLSAgICAgICAgIE9SIChkPj05LjAgQU5EIGQ8 MTAuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj05LjAgQU5EIGQ8MTAuMCBBTkQg ZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDg3IEFORCA4OSkgQU5EIGEh PTg4KQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNTggQU5EIDYwKSBBTkQgYSE9NTkpCiAgICAg ICAgICBPUiBhPTQwCkBAIC0zMDQ5Nyw5ICszMDQ5Nyw5IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAg ICAgIE9SIGE9MzYKICAgICAgICAgIE9SIGE9NzUKICAgICAgICAgIE9SIGI9MTc5Ci0gICAgICAg ICBPUiAoZD49NDMuMCBBTkQgZDw0NC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+ PTQzLjAgQU5EIGQ8NDQuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChnPSd1dHNy cXBvJyBBTkQgZiBHTE9CICdzdHV2dyonKQotICAgICAgICAgT1IgKGQ+PTY1LjAgQU5EIGQ8NjYu MCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj02NS4wIEFORCBkPDY2LjAgQU5EIGQg SVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTg1MAogICAgICAgICAgT1IgYT02MgogICBdXSkK QEAgLTMwNTE4LDkgKzMwNTE4LDkgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgYT0zNgog ICAgICAgICAgT1IgYT03NQogICAgICAgICAgT1IgYj0xNzkKLSAgICAgICAgIE9SIChkPj00My4w IEFORCBkPDQ0LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NDMuMCBBTkQgZDw0 NC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKGc9J3V0c3JxcG8nIEFORCBmIEdM T0IgJ3N0dXZ3KicpCi0gICAgICAgICBPUiAoZD49NjUuMCBBTkQgZDw2Ni4wIEFORCBkIE5PVCBO VUxMKQorICAgICAgICAgT1IgKGQ+PTY1LjAgQU5EIGQ8NjYuMCBBTkQgZCBJUyBOT1QgTlVMTCkK ICAgICAgICAgIE9SIGI9ODUwCiAgICAgICAgICBPUiBhPTYyCiAgIF1dKQpAQCAtMzA1NDAsNyAr MzA1NDAsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBhPTY2CiAgICAgICAgICBPUiBi PTQ4NwogICAgICAgICAgT1IgYT0xCi0gICAgICAgICBPUiAoZD49NTQuMCBBTkQgZDw1NS4wIEFO RCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTU0LjAgQU5EIGQ8NTUuMCBBTkQgZCBJUyBO T1QgTlVMTCkKICAgICAgICAgIE9SIGM9NTAwNQogICAgICAgICAgT1IgYT00NwogICAgICAgICAg T1IgYz01MDA1CkBAIC0zMDU2Myw3ICszMDU2Myw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAg IE9SIGE9NjYKICAgICAgICAgIE9SIGI9NDg3CiAgICAgICAgICBPUiBhPTEKLSAgICAgICAgIE9S IChkPj01NC4wIEFORCBkPDU1LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NTQu MCBBTkQgZDw1NS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYz01MDA1CiAgICAg ICAgICBPUiBhPTQ3CiAgICAgICAgICBPUiBjPTUwMDUKQEAgLTMwNjEzLDEzICszMDYxMywxMyBA QCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291bnRfc3Rl cHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCi0gICAgICBXSEVSRSAoZD49MTAuMCBB TkQgZDwxMS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTEwLjAgQU5EIGQ8MTEu MCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDkwIEFORCA5Mikg QU5EIGEhPTkxKQogICAgICAgICAgT1IgYj0zMTkKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDMx IEFORCAzMykgQU5EIGEhPTMyKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gOSBBTkQgMTEpIEFO RCBhIT0xMCkKICAgICAgICAgIE9SIGE9MjEKLSAgICAgICAgIE9SIChkPj03Mi4wIEFORCBkPDcz LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NzIuMCBBTkQgZDw3My4wIEFORCBk IElTIE5PVCBOVUxMKQogICBdXSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjgx Ny4xPgpAQCAtMzA2MzIsMTMgKzMwNjMyLDEzIEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlv bigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZS T00gdDMKLSAgICAgIFdIRVJFIChkPj0xMC4wIEFORCBkPDExLjAgQU5EIGQgTk9UIE5VTEwpCisg ICAgICBXSEVSRSAoZD49MTAuMCBBTkQgZDwxMS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAg ICAgT1IgKChhIEJFVFdFRU4gOTAgQU5EIDkyKSBBTkQgYSE9OTEpCiAgICAgICAgICBPUiBiPTMx OQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMzEgQU5EIDMzKSBBTkQgYSE9MzIpCiAgICAgICAg ICBPUiAoKGEgQkVUV0VFTiA5IEFORCAxMSkgQU5EIGEhPTEwKQogICAgICAgICAgT1IgYT0yMQot ICAgICAgICAgT1IgKGQ+PTcyLjAgQU5EIGQ8NzMuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAg IE9SIChkPj03Mi4wIEFORCBkPDczLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVu ZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIuODE3LjI+CkBAIC0zMDY1MSwxMyArMzA2NTEsMTMg QEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAgICAgICAgcmV0dXJuIGNvdW50X3N0 ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MgotICAgICAgV0hFUkUgKGQ+PTIyLjAg QU5EIGQ8MjMuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChkPj0yMi4wIEFORCBkPDIz LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTM5NgogICAgICAgICAgT1IgKGc9 J2tqaWhnZmUnIEFORCBmIEdMT0IgJ3V2d3h5KicpCiAgICAgICAgICBPUiBiPTEwMTIKICAgICAg ICAgIE9SIChmIEdMT0IgJz9rbG1uKicgQU5EIGYgR0xPQiAnamtsbSonKQogICAgICAgICAgT1Ig Yj03ODQKLSAgICAgICAgIE9SIChkPj02MC4wIEFORCBkPDYxLjAgQU5EIGQgTk9UIE5VTEwpCisg ICAgICAgICBPUiAoZD49NjAuMCBBTkQgZDw2MS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAg ICAgT1IgYj05NzkKICAgICAgICAgIE9SIGM8PTEwCiAgICAgICAgICBPUiBiPTkxMwpAQCAtMzA2 NzQsMTMgKzMwNjc0LDEzIEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAgICAg IHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDMKLSAgICAg IFdIRVJFIChkPj0yMi4wIEFORCBkPDIzLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAo ZD49MjIuMCBBTkQgZDwyMy4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj0zOTYK ICAgICAgICAgIE9SIChnPSdramloZ2ZlJyBBTkQgZiBHTE9CICd1dnd4eSonKQogICAgICAgICAg T1IgYj0xMDEyCiAgICAgICAgICBPUiAoZiBHTE9CICc/a2xtbionIEFORCBmIEdMT0IgJ2prbG0q JykKICAgICAgICAgIE9SIGI9Nzg0Ci0gICAgICAgICBPUiAoZD49NjAuMCBBTkQgZDw2MS4wIEFO RCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTYwLjAgQU5EIGQ8NjEuMCBBTkQgZCBJUyBO T1QgTlVMTCkKICAgICAgICAgIE9SIGI9OTc5CiAgICAgICAgICBPUiBjPD0xMAogICAgICAgICAg T1IgYj05MTMKQEAgLTMwNzYzLDcgKzMwNzYzLDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICAg T1IgYj0xMDEyCiAgICAgICAgICBPUiBmPSd4eXphYmNkZWYnCiAgICAgICAgICBPUiBiPTY4Mgot ICAgICAgICAgT1IgKGQ+PTUyLjAgQU5EIGQ8NTMuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAg IE9SIChkPj01Mi4wIEFORCBkPDUzLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVu ZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIuODIxLjE+CkBAIC0zMDc4Miw3ICszMDc4Miw3IEBA IHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIGI9MTAxMgogICAgICAgICAgT1IgZj0neHl6YWJj ZGVmJwogICAgICAgICAgT1IgYj02ODIKLSAgICAgICAgIE9SIChkPj01Mi4wIEFORCBkPDUzLjAg QU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NTIuMCBBTkQgZDw1My4wIEFORCBkIElT IE5PVCBOVUxMKQogICBdXSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjgyMS4y PgpAQCAtMzA3OTYsNyArMzA3OTYsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgIHJldHVybiBj b3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIKICAgICAgIFdIRVJFIGE9 OTYKLSAgICAgICAgIE9SIChkPj0xOS4wIEFORCBkPDIwLjAgQU5EIGQgTk9UIE5VTEwpCisgICAg ICAgICBPUiAoZD49MTkuMCBBTkQgZDwyMC4wIEFORCBkIElTIE5PVCBOVUxMKQogICBdXSkKICAg ICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjgyMi4xPgpAQCAtMzA4MTAsNyArMzA4MTAs NyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAg ICAgIFNFTEVDVCBhIEZST00gdDMKICAgICAgIFdIRVJFIGE9OTYKLSAgICAgICAgIE9SIChkPj0x OS4wIEFORCBkPDIwLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MTkuMCBBTkQg ZDwyMC4wIEFORCBkIElTIE5PVCBOVUxMKQogICBdXSkKICAgICBlbmQsIHsKICAgICAgICAgLS0g PHdoZXJlNy0yLjgyMi4yPgpAQCAtMzA4MjQsNyArMzA4MjQsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAg ICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIK ICAgICAgIFdIRVJFIGE9MgotICAgICAgICAgT1IgKGQ+PTExLjAgQU5EIGQ8MTIuMCBBTkQgZCBO T1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0xMS4wIEFORCBkPDEyLjAgQU5EIGQgSVMgTk9UIE5V TEwpCiAgICAgICAgICBPUiBhPTIzCiAgICAgICAgICBPUiBiPTEwOTIKICAgICAgICAgIE9SIGM9 MTkwMTkKQEAgLTMwODQ3LDcgKzMwODQ3LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICByZXR1 cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQzCiAgICAgICBXSEVS RSBhPTIKLSAgICAgICAgIE9SIChkPj0xMS4wIEFORCBkPDEyLjAgQU5EIGQgTk9UIE5VTEwpCisg ICAgICAgICBPUiAoZD49MTEuMCBBTkQgZDwxMi4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAg ICAgT1IgYT0yMwogICAgICAgICAgT1IgYj0xMDkyCiAgICAgICAgICBPUiBjPTE5MDE5CkBAIC0z MDg2OSwxMyArMzA4NjksMTMgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAgICAg ICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MgotICAg ICAgV0hFUkUgKGQ+PTE2LjAgQU5EIGQ8MTcuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJF IChkPj0xNi4wIEFORCBkPDE3LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTk5 MwogICAgICAgICAgT1IgYz0xNzAxNwotICAgICAgICAgT1IgKGQ+PTg1LjAgQU5EIGQ8ODYuMCBB TkQgZCBOT1QgTlVMTCkKLSAgICAgICAgIE9SIChkPj0zNy4wIEFORCBkPDM4LjAgQU5EIGQgTk9U IE5VTEwpCi0gICAgICAgICBPUiAoZD49MjkuMCBBTkQgZDwzMC4wIEFORCBkIE5PVCBOVUxMKQot ICAgICAgICAgT1IgKGQ+PTUzLjAgQU5EIGQ8NTQuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAg IE9SIChkPj04NS4wIEFORCBkPDg2LjAgQU5EIGQgSVMgTk9UIE5VTEwpCisgICAgICAgICBPUiAo ZD49MzcuMCBBTkQgZDwzOC4wIEFORCBkIElTIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTI5 LjAgQU5EIGQ8MzAuMCBBTkQgZCBJUyBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj01My4wIEFO RCBkPDU0LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTMzMwogICBdXSkKICAg ICBlbmQsIHsKQEAgLTMwODg5LDEzICszMDg4OSwxMyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVu Y3Rpb24oKQogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1Qg YSBGUk9NIHQzCi0gICAgICBXSEVSRSAoZD49MTYuMCBBTkQgZDwxNy4wIEFORCBkIE5PVCBOVUxM KQorICAgICAgV0hFUkUgKGQ+PTE2LjAgQU5EIGQ8MTcuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAg ICAgICAgIE9SIGI9OTkzCiAgICAgICAgICBPUiBjPTE3MDE3Ci0gICAgICAgICBPUiAoZD49ODUu MCBBTkQgZDw4Ni4wIEFORCBkIE5PVCBOVUxMKQotICAgICAgICAgT1IgKGQ+PTM3LjAgQU5EIGQ8 MzguMCBBTkQgZCBOT1QgTlVMTCkKLSAgICAgICAgIE9SIChkPj0yOS4wIEFORCBkPDMwLjAgQU5E IGQgTk9UIE5VTEwpCi0gICAgICAgICBPUiAoZD49NTMuMCBBTkQgZDw1NC4wIEFORCBkIE5PVCBO VUxMKQorICAgICAgICAgT1IgKGQ+PTg1LjAgQU5EIGQ8ODYuMCBBTkQgZCBJUyBOT1QgTlVMTCkK KyAgICAgICAgIE9SIChkPj0zNy4wIEFORCBkPDM4LjAgQU5EIGQgSVMgTk9UIE5VTEwpCisgICAg ICAgICBPUiAoZD49MjkuMCBBTkQgZDwzMC4wIEFORCBkIElTIE5PVCBOVUxMKQorICAgICAgICAg T1IgKGQ+PTUzLjAgQU5EIGQ8NTQuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9 MzMzCiAgIF1dKQogICAgIGVuZCwgewpAQCAtMzA5MTEsOCArMzA5MTEsOCBAQCB0ZXN0OmRvX3Rl c3QoCiAgICAgIFNFTEVDVCBhIEZST00gdDIKICAgICAgIFdIRVJFIGI9MzMwCiAgICAgICAgICBP UiBhPTczCi0gICAgICAgICBPUiAoZD49NjEuMCBBTkQgZDw2Mi4wIEFORCBkIE5PVCBOVUxMKQot ICAgICAgICAgT1IgKGQ+PTQwLjAgQU5EIGQ8NDEuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAg IE9SIChkPj02MS4wIEFORCBkPDYyLjAgQU5EIGQgSVMgTk9UIE5VTEwpCisgICAgICAgICBPUiAo ZD49NDAuMCBBTkQgZDw0MS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj04MjgK ICAgICAgICAgIE9SIGI9MzYzCiAgICAgICAgICBPUiAoZz0ncnFwb25tbCcgQU5EIGYgR0xPQiAn bG1ub3AqJykKQEAgLTMwOTMwLDggKzMwOTMwLDggQEAgdGVzdDpkb190ZXN0KAogICAgICBTRUxF Q1QgYSBGUk9NIHQzCiAgICAgICBXSEVSRSBiPTMzMAogICAgICAgICAgT1IgYT03MwotICAgICAg ICAgT1IgKGQ+PTYxLjAgQU5EIGQ8NjIuMCBBTkQgZCBOT1QgTlVMTCkKLSAgICAgICAgIE9SIChk Pj00MC4wIEFORCBkPDQxLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NjEuMCBB TkQgZDw2Mi4wIEFORCBkIElTIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTQwLjAgQU5EIGQ8 NDEuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9ODI4CiAgICAgICAgICBPUiBi PTM2MwogICAgICAgICAgT1IgKGc9J3JxcG9ubWwnIEFORCBmIEdMT0IgJ2xtbm9wKicpCkBAIC0z MDk0OSw3ICszMDk0OSw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgU0VMRUNUIGEgRlJPTSB0Mgog ICAgICAgV0hFUkUgKGc9J2dmZWRjYmEnIEFORCBmIEdMT0IgJ2xtbm9wKicpCiAgICAgICAgICBP UiBhPTQxCi0gICAgICAgICBPUiAoZD49MjkuMCBBTkQgZDwzMC4wIEFORCBkIE5PVCBOVUxMKQor ICAgICAgICAgT1IgKGQ+PTI5LjAgQU5EIGQ8MzAuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAg ICAgIE9SIGI9ODI1CiAgIF1dKQogICAgIGVuZCwgewpAQCAtMzA5NjUsNyArMzA5NjUsNyBAQCB0 ZXN0OmRvX3Rlc3QoCiAgICAgIFNFTEVDVCBhIEZST00gdDMKICAgICAgIFdIRVJFIChnPSdnZmVk Y2JhJyBBTkQgZiBHTE9CICdsbW5vcConKQogICAgICAgICAgT1IgYT00MQotICAgICAgICAgT1Ig KGQ+PTI5LjAgQU5EIGQ8MzAuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0yOS4w IEFORCBkPDMwLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTgyNQogICBdXSkK ICAgICBlbmQsIHsKQEAgLTMwOTgwLDcgKzMwOTgwLDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAg ICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCiAgICAg ICBXSEVSRSAoKGEgQkVUV0VFTiA0NiBBTkQgNDgpIEFORCBhIT00NykKLSAgICAgICAgIE9SIChk Pj0xMC4wIEFORCBkPDExLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MTAuMCBB TkQgZDwxMS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj05MDUKICAgICAgICAg IE9SIGI9MTc2CiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA4OSBBTkQgOTEpIEFORCBhIT05MCkK QEAgLTMxMDAyLDcgKzMxMDAyLDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICByZXR1cm4gY291 bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQzCiAgICAgICBXSEVSRSAoKGEg QkVUV0VFTiA0NiBBTkQgNDgpIEFORCBhIT00NykKLSAgICAgICAgIE9SIChkPj0xMC4wIEFORCBk PDExLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MTAuMCBBTkQgZDwxMS4wIEFO RCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj05MDUKICAgICAgICAgIE9SIGI9MTc2CiAg ICAgICAgICBPUiAoKGEgQkVUV0VFTiA4OSBBTkQgOTEpIEFORCBhIT05MCkKQEAgLTMxMTA5LDkg KzMxMTA5LDkgQEAgdGVzdDpkb190ZXN0KAogICAgICBTRUxFQ1QgYSBGUk9NIHQyCiAgICAgICBX SEVSRSAoKGEgQkVUV0VFTiAxOCBBTkQgMjApIEFORCBhIT0xOSkKICAgICAgICAgIE9SICgoYSBC RVRXRUVOIDQwIEFORCA0MikgQU5EIGEhPTQxKQotICAgICAgICAgT1IgKGQ+PTcyLjAgQU5EIGQ8 NzMuMCBBTkQgZCBOT1QgTlVMTCkKLSAgICAgICAgIE9SIChkPj01Ni4wIEFORCBkPDU3LjAgQU5E IGQgTk9UIE5VTEwpCi0gICAgICAgICBPUiAoZD49NjMuMCBBTkQgZDw2NC4wIEFORCBkIE5PVCBO VUxMKQorICAgICAgICAgT1IgKGQ+PTcyLjAgQU5EIGQ8NzMuMCBBTkQgZCBJUyBOT1QgTlVMTCkK KyAgICAgICAgIE9SIChkPj01Ni4wIEFORCBkPDU3LjAgQU5EIGQgSVMgTk9UIE5VTEwpCisgICAg ICAgICBPUiAoZD49NjMuMCBBTkQgZDw2NC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAg T1IgZj0nemFiY2RlZmdoJwogICAgICAgICAgT1IgYj04NjEKICAgICAgICAgIE9SIChnPSd2dXRz cnFwJyBBTkQgZiBHTE9CICdwcXJzdConKQpAQCAtMzExMzIsOSArMzExMzIsOSBAQCB0ZXN0OmRv X3Rlc3QoCiAgICAgIFNFTEVDVCBhIEZST00gdDMKICAgICAgIFdIRVJFICgoYSBCRVRXRUVOIDE4 IEFORCAyMCkgQU5EIGEhPTE5KQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNDAgQU5EIDQyKSBB TkQgYSE9NDEpCi0gICAgICAgICBPUiAoZD49NzIuMCBBTkQgZDw3My4wIEFORCBkIE5PVCBOVUxM KQotICAgICAgICAgT1IgKGQ+PTU2LjAgQU5EIGQ8NTcuMCBBTkQgZCBOT1QgTlVMTCkKLSAgICAg ICAgIE9SIChkPj02My4wIEFORCBkPDY0LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAo ZD49NzIuMCBBTkQgZDw3My4wIEFORCBkIElTIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTU2 LjAgQU5EIGQ8NTcuMCBBTkQgZCBJUyBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj02My4wIEFO RCBkPDY0LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBmPSd6YWJjZGVmZ2gnCiAg ICAgICAgICBPUiBiPTg2MQogICAgICAgICAgT1IgKGc9J3Z1dHNycXAnIEFORCBmIEdMT0IgJ3Bx cnN0KicpCkBAIC0zMTE1NSw3ICszMTE1NSw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgU0VMRUNU IGEgRlJPTSB0MgogICAgICAgV0hFUkUgYj01NzUKICAgICAgICAgIE9SIChmIEdMT0IgJz9ub3Bx KicgQU5EIGYgR0xPQiAnbW5vcConKQotICAgICAgICAgT1IgKGQ+PTczLjAgQU5EIGQ8NzQuMCBB TkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj03My4wIEFORCBkPDc0LjAgQU5EIGQgSVMg Tk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTQxOAogICAgICAgICAgT1IgKGYgR0xPQiAnP3Fyc3Qq JyBBTkQgZiBHTE9CICdwcXJzKicpCiAgICAgICAgICBPUiBiPTc5MgpAQCAtMzExNzYsNyArMzEx NzYsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgIFNFTEVDVCBhIEZST00gdDMKICAgICAgIFdIRVJF IGI9NTc1CiAgICAgICAgICBPUiAoZiBHTE9CICc/bm9wcSonIEFORCBmIEdMT0IgJ21ub3AqJykK LSAgICAgICAgIE9SIChkPj03My4wIEFORCBkPDc0LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAg ICBPUiAoZD49NzMuMCBBTkQgZDw3NC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1Ig Yj00MTgKICAgICAgICAgIE9SIChmIEdMT0IgJz9xcnN0KicgQU5EIGYgR0xPQiAncHFycyonKQog ICAgICAgICAgT1IgYj03OTIKQEAgLTMxMTk5LDkgKzMxMTk5LDkgQEAgdGVzdDpkb190ZXN0KAog ICAgICAgICAgT1IgYj05MTMKICAgICAgICAgIE9SIGI9MjUzCiAgICAgICAgICBPUiBiPTE5OAot ICAgICAgICAgT1IgKGQ+PTI3LjAgQU5EIGQ8MjguMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAg IE9SIChkPj0yNy4wIEFORCBkPDI4LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBh PTE3Ci0gICAgICAgICBPUiAoZD49ODUuMCBBTkQgZDw4Ni4wIEFORCBkIE5PVCBOVUxMKQorICAg ICAgICAgT1IgKGQ+PTg1LjAgQU5EIGQ8ODYuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAg ICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi44MzMuMT4KQEAgLTMxMjE4LDkgKzMxMjE4 LDkgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgYj05MTMKICAgICAgICAgIE9SIGI9MjUz CiAgICAgICAgICBPUiBiPTE5OAotICAgICAgICAgT1IgKGQ+PTI3LjAgQU5EIGQ8MjguMCBBTkQg ZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0yNy4wIEFORCBkPDI4LjAgQU5EIGQgSVMgTk9U IE5VTEwpCiAgICAgICAgICBPUiBhPTE3Ci0gICAgICAgICBPUiAoZD49ODUuMCBBTkQgZDw4Ni4w IEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTg1LjAgQU5EIGQ8ODYuMCBBTkQgZCBJ UyBOT1QgTlVMTCkKICAgXV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi44MzMu Mj4KQEAgLTMxMjM4LDggKzMxMjM4LDggQEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgYT03 MwogICAgICAgICAgT1IgYj02MjcKICAgICAgICAgIE9SIGM9NTAwNQotICAgICAgICAgT1IgKGQ+ PTYyLjAgQU5EIGQ8NjMuMCBBTkQgZCBOT1QgTlVMTCkKLSAgICAgICAgIE9SIChkPj0yOC4wIEFO RCBkPDI5LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NjIuMCBBTkQgZDw2My4w IEFORCBkIElTIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTI4LjAgQU5EIGQ8MjkuMCBBTkQg ZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9MjY3CiAgICAgICAgICBPUiBiPTg3MgogICAg ICAgICAgT1IgYT0yNwpAQCAtMzEyNjEsOCArMzEyNjEsOCBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAg ICAgICBPUiBhPTczCiAgICAgICAgICBPUiBiPTYyNwogICAgICAgICAgT1IgYz01MDA1Ci0gICAg ICAgICBPUiAoZD49NjIuMCBBTkQgZDw2My4wIEFORCBkIE5PVCBOVUxMKQotICAgICAgICAgT1Ig KGQ+PTI4LjAgQU5EIGQ8MjkuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj02Mi4w IEFORCBkPDYzLjAgQU5EIGQgSVMgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MjguMCBBTkQg ZDwyOS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj0yNjcKICAgICAgICAgIE9S IGI9ODcyCiAgICAgICAgICBPUiBhPTI3CkBAIC0zMTMxOSw3ICszMTMxOSw3IEBAIHRlc3Q6ZG9f dGVzdCgKICAgICAgICAgIE9SIGE9MzIKICAgICAgICAgIE9SIGI9MTAzNwogICAgICAgICAgT1Ig Yj0xOTgKLSAgICAgICAgIE9SIChkPj0xMy4wIEFORCBkPDE0LjAgQU5EIGQgTk9UIE5VTEwpCisg ICAgICAgICBPUiAoZD49MTMuMCBBTkQgZDwxNC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAg ICAgT1IgYT0yNQogICBdXSkKICAgICBlbmQsIHsKQEAgLTMxMzM3LDcgKzMxMzM3LDcgQEAgdGVz dDpkb190ZXN0KAogICAgICAgICAgT1IgYT0zMgogICAgICAgICAgT1IgYj0xMDM3CiAgICAgICAg ICBPUiBiPTE5OAotICAgICAgICAgT1IgKGQ+PTEzLjAgQU5EIGQ8MTQuMCBBTkQgZCBOT1QgTlVM TCkKKyAgICAgICAgIE9SIChkPj0xMy4wIEFORCBkPDE0LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAg ICAgICAgICBPUiBhPTI1CiAgIF1dKQogICAgIGVuZCwgewpAQCAtMzEzNTYsMTEgKzMxMzU2LDEx IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIGI9MzIyCiAgICAgICAgICBPUiBiPTQ2NQog ICAgICAgICAgT1IgKGc9J2dmZWRjYmEnIEFORCBmIEdMT0IgJ2xtbm9wKicpCi0gICAgICAgICBP UiAoZD49MzguMCBBTkQgZDwzOS4wIEFORCBkIE5PVCBOVUxMKQotICAgICAgICAgT1IgKGQ+PTcu MCBBTkQgZDw4LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MzguMCBBTkQgZDwz OS4wIEFORCBkIElTIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTcuMCBBTkQgZDw4LjAgQU5E IGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA3NyBBTkQgNzkpIEFORCBh IT03OCkKICAgICAgICAgIE9SIChnPSdsa2ppaGdmJyBBTkQgZiBHTE9CICdtbm9wcSonKQotICAg ICAgICAgT1IgKGQ+PTM4LjAgQU5EIGQ8MzkuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9S IChkPj0zOC4wIEFORCBkPDM5LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTQ1 NAogICBdXSkKICAgICBlbmQsIHsKQEAgLTMxMzc5LDExICszMTM3OSwxMSBAQCB0ZXN0OmRvX3Rl c3QoCiAgICAgICAgICBPUiBiPTMyMgogICAgICAgICAgT1IgYj00NjUKICAgICAgICAgIE9SIChn PSdnZmVkY2JhJyBBTkQgZiBHTE9CICdsbW5vcConKQotICAgICAgICAgT1IgKGQ+PTM4LjAgQU5E IGQ8MzkuMCBBTkQgZCBOT1QgTlVMTCkKLSAgICAgICAgIE9SIChkPj03LjAgQU5EIGQ8OC4wIEFO RCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTM4LjAgQU5EIGQ8MzkuMCBBTkQgZCBJUyBO T1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj03LjAgQU5EIGQ8OC4wIEFORCBkIElTIE5PVCBOVUxM KQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNzcgQU5EIDc5KSBBTkQgYSE9NzgpCiAgICAgICAg ICBPUiAoZz0nbGtqaWhnZicgQU5EIGYgR0xPQiAnbW5vcHEqJykKLSAgICAgICAgIE9SIChkPj0z OC4wIEFORCBkPDM5LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MzguMCBBTkQg ZDwzOS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj00NTQKICAgXV0pCiAgICAg ZW5kLCB7CkBAIC0zMTQwMCw3ICszMTQwMCw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgIFdIRVJF IGI9OTI0CiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiAzNSBBTkQgMzcpIEFORCBhIT0zNikKICAg ICAgICAgIE9SIGM9MTUwMTUKLSAgICAgICAgIE9SIChkPj04NC4wIEFORCBkPDg1LjAgQU5EIGQg Tk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49ODQuMCBBTkQgZDw4NS4wIEFORCBkIElTIE5PVCBO VUxMKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMyBBTkQgNSkgQU5EIGEhPTQpCiAgICAgICAg ICBPUiAoZz0nb25tbGtqaScgQU5EIGYgR0xPQiAnYWJjZGUqJykKICAgICAgICAgIE9SIGI9ODAz CkBAIC0zMTQxOSw3ICszMTQxOSw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgIFdIRVJFIGI9OTI0 CiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiAzNSBBTkQgMzcpIEFORCBhIT0zNikKICAgICAgICAg IE9SIGM9MTUwMTUKLSAgICAgICAgIE9SIChkPj04NC4wIEFORCBkPDg1LjAgQU5EIGQgTk9UIE5V TEwpCisgICAgICAgICBPUiAoZD49ODQuMCBBTkQgZDw4NS4wIEFORCBkIElTIE5PVCBOVUxMKQog ICAgICAgICAgT1IgKChhIEJFVFdFRU4gMyBBTkQgNSkgQU5EIGEhPTQpCiAgICAgICAgICBPUiAo Zz0nb25tbGtqaScgQU5EIGYgR0xPQiAnYWJjZGUqJykKICAgICAgICAgIE9SIGI9ODAzCkBAIC0z MTQ0Myw3ICszMTQ0Myw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIGE9NDUKICAgICAg ICAgIE9SIChnPSdnZmVkY2JhJyBBTkQgZiBHTE9CICdtbm9wcSonKQogICAgICAgICAgT1IgYT0y NwotICAgICAgICAgT1IgKGQ+PTc3LjAgQU5EIGQ8NzguMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAg ICAgIE9SIChkPj03Ny4wIEFORCBkPDc4LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBP UiBiPTg1MAogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNTUgQU5EIDU3KSBBTkQgYSE9NTYpCiAg IF1dKQpAQCAtMzE0NjYsNyArMzE0NjYsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBh PTQ1CiAgICAgICAgICBPUiAoZz0nZ2ZlZGNiYScgQU5EIGYgR0xPQiAnbW5vcHEqJykKICAgICAg ICAgIE9SIGE9MjcKLSAgICAgICAgIE9SIChkPj03Ny4wIEFORCBkPDc4LjAgQU5EIGQgTk9UIE5V TEwpCisgICAgICAgICBPUiAoZD49NzcuMCBBTkQgZDw3OC4wIEFORCBkIElTIE5PVCBOVUxMKQog ICAgICAgICAgT1IgYj04NTAKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDU1IEFORCA1NykgQU5E IGEhPTU2KQogICBdXSkKQEAgLTMxNDgzLDkgKzMxNDgzLDkgQEAgdGVzdDpkb190ZXN0KAogICAg ICBTRUxFQ1QgYSBGUk9NIHQyCiAgICAgICBXSEVSRSBiPTc1MQogICAgICAgICAgT1IgKChhIEJF VFdFRU4gOTYgQU5EIDk4KSBBTkQgYSE9OTcpCi0gICAgICAgICBPUiAoZD49NzEuMCBBTkQgZDw3 Mi4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTcxLjAgQU5EIGQ8NzIuMCBBTkQg ZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChnPSdnZmVkY2JhJyBBTkQgZiBHTE9CICdsbW5v cConKQotICAgICAgICAgT1IgKGQ+PTU2LjAgQU5EIGQ8NTcuMCBBTkQgZCBOT1QgTlVMTCkKKyAg ICAgICAgIE9SIChkPj01Ni4wIEFORCBkPDU3LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAg ICBPUiBhPTg5CiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiAzNiBBTkQgMzgpIEFORCBhIT0zNykK ICAgXV0pCkBAIC0zMTUwMiw5ICszMTUwMiw5IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgU0VMRUNU IGEgRlJPTSB0MwogICAgICAgV0hFUkUgYj03NTEKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDk2 IEFORCA5OCkgQU5EIGEhPTk3KQotICAgICAgICAgT1IgKGQ+PTcxLjAgQU5EIGQ8NzIuMCBBTkQg ZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj03MS4wIEFORCBkPDcyLjAgQU5EIGQgSVMgTk9U IE5VTEwpCiAgICAgICAgICBPUiAoZz0nZ2ZlZGNiYScgQU5EIGYgR0xPQiAnbG1ub3AqJykKLSAg ICAgICAgIE9SIChkPj01Ni4wIEFORCBkPDU3LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBP UiAoZD49NTYuMCBBTkQgZDw1Ny4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYT04 OQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMzYgQU5EIDM4KSBBTkQgYSE9MzcpCiAgIF1dKQpA QCAtMzE1OTMsNyArMzE1OTMsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAg ICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCi0g ICAgICBXSEVSRSAoZD49MzcuMCBBTkQgZDwzOC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hF UkUgKGQ+PTM3LjAgQU5EIGQ8MzguMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9 MjEyCiAgICAgICAgICBPUiBmPSdjZGVmZ2hpamsnCiAgIF1dKQpAQCAtMzE2MDgsNyArMzE2MDgs NyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291bnRf c3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQzCi0gICAgICBXSEVSRSAoZD49Mzcu MCBBTkQgZDwzOC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTM3LjAgQU5EIGQ8 MzguMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9MjEyCiAgICAgICAgICBPUiBm PSdjZGVmZ2hpamsnCiAgIF1dKQpAQCAtMzE2MjUsOSArMzE2MjUsOSBAQCB0ZXN0OmRvX3Rlc3Qo CiAgICAgIFNFTEVDVCBhIEZST00gdDIKICAgICAgIFdIRVJFIGI9Njg1CiAgICAgICAgICBPUiAo Zz0ncG9ubWxraicgQU5EIGYgR0xPQiAncnN0dXYqJykKLSAgICAgICAgIE9SIChkPj02My4wIEFO RCBkPDY0LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NjMuMCBBTkQgZDw2NC4w IEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj01MjAKLSAgICAgICAgIE9SIChkPj03 Ni4wIEFORCBkPDc3LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NzYuMCBBTkQg ZDw3Ny4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYT01MwogICAgICAgICAgT1Ig KChhIEJFVFdFRU4gOTEgQU5EIDkzKSBBTkQgYSE9OTIpCiAgICAgICAgICBPUiBiPTkzOApAQCAt MzE2NDcsOSArMzE2NDcsOSBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgIFNFTEVDVCBhIEZST00gdDMK ICAgICAgIFdIRVJFIGI9Njg1CiAgICAgICAgICBPUiAoZz0ncG9ubWxraicgQU5EIGYgR0xPQiAn cnN0dXYqJykKLSAgICAgICAgIE9SIChkPj02My4wIEFORCBkPDY0LjAgQU5EIGQgTk9UIE5VTEwp CisgICAgICAgICBPUiAoZD49NjMuMCBBTkQgZDw2NC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAg ICAgICAgT1IgYj01MjAKLSAgICAgICAgIE9SIChkPj03Ni4wIEFORCBkPDc3LjAgQU5EIGQgTk9U IE5VTEwpCisgICAgICAgICBPUiAoZD49NzYuMCBBTkQgZDw3Ny4wIEFORCBkIElTIE5PVCBOVUxM KQogICAgICAgICAgT1IgYT01MwogICAgICAgICAgT1IgKChhIEJFVFdFRU4gOTEgQU5EIDkzKSBB TkQgYSE9OTIpCiAgICAgICAgICBPUiBiPTkzOApAQCAtMzE2NzAsNyArMzE2NzAsNyBAQCB0ZXN0 OmRvX3Rlc3QoCiAgICAgICBXSEVSRSBiPTU4MwogICAgICAgICAgT1IgYj04OTQKICAgICAgICAg IE9SIGM9MjYwMjYKLSAgICAgICAgIE9SIChkPj04NC4wIEFORCBkPDg1LjAgQU5EIGQgTk9UIE5V TEwpCisgICAgICAgICBPUiAoZD49ODQuMCBBTkQgZDw4NS4wIEFORCBkIElTIE5PVCBOVUxMKQog ICBdXSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjg0NS4xPgpAQCAtMzE2ODYs NyArMzE2ODYsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICBXSEVSRSBiPTU4MwogICAgICAgICAg T1IgYj04OTQKICAgICAgICAgIE9SIGM9MjYwMjYKLSAgICAgICAgIE9SIChkPj04NC4wIEFORCBk PDg1LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49ODQuMCBBTkQgZDw4NS4wIEFO RCBkIElTIE5PVCBOVUxMKQogICBdXSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0y Ljg0NS4yPgpAQCAtMzE3MzUsNyArMzE3MzUsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBP UiBmPSdub3BxcnN0dXYnCiAgICAgICAgICBPUiBiPTI2NAogICAgICAgICAgT1IgKChhIEJFVFdF RU4gMzMgQU5EIDM1KSBBTkQgYSE9MzQpCi0gICAgICAgICBPUiAoZD49NTguMCBBTkQgZDw1OS4w IEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTU4LjAgQU5EIGQ8NTkuMCBBTkQgZCBJ UyBOT1QgTlVMTCkKICAgXV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi44NDcu MT4KQEAgLTMxNzU2LDcgKzMxNzU2LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgZj0n bm9wcXJzdHV2JwogICAgICAgICAgT1IgYj0yNjQKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDMz IEFORCAzNSkgQU5EIGEhPTM0KQotICAgICAgICAgT1IgKGQ+PTU4LjAgQU5EIGQ8NTkuMCBBTkQg ZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj01OC4wIEFORCBkPDU5LjAgQU5EIGQgSVMgTk9U IE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIuODQ3LjI+CkBA IC0zMTgwMSw3ICszMTgwMSw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgU0VMRUNUIGEgRlJPTSB0 MgogICAgICAgV0hFUkUgYj0yMDkKICAgICAgICAgIE9SIGI9ODA2Ci0gICAgICAgICBPUiAoZD49 OC4wIEFORCBkPDkuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj04LjAgQU5EIGQ8 OS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKGc9J3Z1dHNycXAnIEFORCBmIEdM T0IgJ3JzdHV2KicpCiAgIF1dKQogICAgIGVuZCwgewpAQCAtMzE4MTcsNyArMzE4MTcsNyBAQCB0 ZXN0OmRvX3Rlc3QoCiAgICAgIFNFTEVDVCBhIEZST00gdDMKICAgICAgIFdIRVJFIGI9MjA5CiAg ICAgICAgICBPUiBiPTgwNgotICAgICAgICAgT1IgKGQ+PTguMCBBTkQgZDw5LjAgQU5EIGQgTk9U IE5VTEwpCisgICAgICAgICBPUiAoZD49OC4wIEFORCBkPDkuMCBBTkQgZCBJUyBOT1QgTlVMTCkK ICAgICAgICAgIE9SIChnPSd2dXRzcnFwJyBBTkQgZiBHTE9CICdyc3R1dionKQogICBdXSkKICAg ICBlbmQsIHsKQEAgLTMxODYxLDcgKzMxODYxLDcgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0 aW9uKCkKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEg RlJPTSB0MgotICAgICAgV0hFUkUgKGQ+PTQuMCBBTkQgZDw1LjAgQU5EIGQgTk9UIE5VTEwpCisg ICAgICBXSEVSRSAoZD49NC4wIEFORCBkPDUuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAg IE9SIGE9NDUKICAgICAgICAgIE9SIChnPSdramloZ2ZlJyBBTkQgZiBHTE9CICd1dnd4eSonKQog ICAgICAgICAgT1IgYT02OQpAQCAtMzE4NzksNyArMzE4NzksNyBAQCB0ZXN0OmRvX3Rlc3QoCiAg ICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBT RUxFQ1QgYSBGUk9NIHQzCi0gICAgICBXSEVSRSAoZD49NC4wIEFORCBkPDUuMCBBTkQgZCBOT1Qg TlVMTCkKKyAgICAgIFdIRVJFIChkPj00LjAgQU5EIGQ8NS4wIEFORCBkIElTIE5PVCBOVUxMKQog ICAgICAgICAgT1IgYT00NQogICAgICAgICAgT1IgKGc9J2tqaWhnZmUnIEFORCBmIEdMT0IgJ3V2 d3h5KicpCiAgICAgICAgICBPUiBhPTY5CkBAIC0zMTg5OCw5ICszMTg5OCw5IEBAIHRlc3Q6ZG9f dGVzdCgKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEg RlJPTSB0MgogICAgICAgV0hFUkUgYz05MDA5Ci0gICAgICAgICBPUiAoZD49ODUuMCBBTkQgZDw4 Ni4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTg1LjAgQU5EIGQ8ODYuMCBBTkQg ZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChnPSd3dnV0c3JxJyBBTkQgZiBHTE9CICdrbG1u byonKQotICAgICAgICAgT1IgKGQ+PTkuMCBBTkQgZDwxMC4wIEFORCBkIE5PVCBOVUxMKQorICAg ICAgICAgT1IgKGQ+PTkuMCBBTkQgZDwxMC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAg T1IgKGc9J2xramloZ2YnIEFORCBmIEdMT0IgJ3BxcnN0KicpCiAgIF1dKQogICAgIGVuZCwgewpA QCAtMzE5MTUsOSArMzE5MTUsOSBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgIHJldHVybiBjb3Vu dF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDMKICAgICAgIFdIRVJFIGM9OTAw OQotICAgICAgICAgT1IgKGQ+PTg1LjAgQU5EIGQ8ODYuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAg ICAgIE9SIChkPj04NS4wIEFORCBkPDg2LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBP UiAoZz0nd3Z1dHNycScgQU5EIGYgR0xPQiAna2xtbm8qJykKLSAgICAgICAgIE9SIChkPj05LjAg QU5EIGQ8MTAuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj05LjAgQU5EIGQ8MTAu MCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChnPSdsa2ppaGdmJyBBTkQgZiBHTE9C ICdwcXJzdConKQogICBdXSkKICAgICBlbmQsIHsKQEAgLTMxOTMyLDEzICszMTkzMiwxMyBAQCB0 ZXN0OmRvX3Rlc3QoCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNF TEVDVCBhIEZST00gdDIKICAgICAgIFdIRVJFIGE9OTgKLSAgICAgICAgIE9SIChkPj0xMDAuMCBB TkQgZDwxMDEuMCBBTkQgZCBOT1QgTlVMTCkKLSAgICAgICAgIE9SIChkPj02My4wIEFORCBkPDY0 LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MTAwLjAgQU5EIGQ8MTAxLjAgQU5E IGQgSVMgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NjMuMCBBTkQgZDw2NC4wIEFORCBkIElT IE5PVCBOVUxMKQogICAgICAgICAgT1IgYT00NwogICAgICAgICAgT1IgYz0yNDAyNAogICAgICAg ICAgT1IgYT0yNwogICAgICAgICAgT1IgKGc9J3Bvbm1sa2onIEFORCBmIEdMT0IgJ3R1dnd4Kicp Ci0gICAgICAgICBPUiAoZD49MjAuMCBBTkQgZDwyMS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAg ICAgT1IgKGQ+PTIwLjAgQU5EIGQ8MjEuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAgICAg ZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi44NTMuMT4KQEAgLTMxOTUyLDEzICszMTk1Miwx MyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAg ICAgIFNFTEVDVCBhIEZST00gdDMKICAgICAgIFdIRVJFIGE9OTgKLSAgICAgICAgIE9SIChkPj0x MDAuMCBBTkQgZDwxMDEuMCBBTkQgZCBOT1QgTlVMTCkKLSAgICAgICAgIE9SIChkPj02My4wIEFO RCBkPDY0LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MTAwLjAgQU5EIGQ8MTAx LjAgQU5EIGQgSVMgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NjMuMCBBTkQgZDw2NC4wIEFO RCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYT00NwogICAgICAgICAgT1IgYz0yNDAyNAog ICAgICAgICAgT1IgYT0yNwogICAgICAgICAgT1IgKGc9J3Bvbm1sa2onIEFORCBmIEdMT0IgJ3R1 dnd4KicpCi0gICAgICAgICBPUiAoZD49MjAuMCBBTkQgZDwyMS4wIEFORCBkIE5PVCBOVUxMKQor ICAgICAgICAgT1IgKGQ+PTIwLjAgQU5EIGQ8MjEuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgXV0p CiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi44NTMuMj4KQEAgLTMyMDA0LDcgKzMy MDA0LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChb WwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCiAgICAgICBXSEVSRSBjPTEyMDEyCi0gICAgICAgICBP UiAoZD49ODAuMCBBTkQgZDw4MS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTgw LjAgQU5EIGQ8ODEuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SICgoYSBCRVRXRUVO IDE2IEFORCAxOCkgQU5EIGEhPTE3KQogICAgICAgICAgT1IgKGc9J2VkY2JhenknIEFORCBmIEdM T0IgJ3V2d3h5KicpCiAgIF1dKQpAQCAtMzIwMjAsNyArMzIwMjAsNyBAQCB0ZXN0OmRvX3Rlc3Qo CiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00g dDMKICAgICAgIFdIRVJFIGM9MTIwMTIKLSAgICAgICAgIE9SIChkPj04MC4wIEFORCBkPDgxLjAg QU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49ODAuMCBBTkQgZDw4MS4wIEFORCBkIElT IE5PVCBOVUxMKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMTYgQU5EIDE4KSBBTkQgYSE9MTcp CiAgICAgICAgICBPUiAoZz0nZWRjYmF6eScgQU5EIGYgR0xPQiAndXZ3eHkqJykKICAgXV0pCkBA IC0zMjAzOSw3ICszMjAzOSw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIChmIEdMT0Ig Jz9ub3BxKicgQU5EIGYgR0xPQiAnbW5vcConKQogICAgICAgICAgT1IgYj00MjkKICAgICAgICAg IE9SIGY9J2prbG1ub3BxcicKLSAgICAgICAgIE9SIChkPj00OC4wIEFORCBkPDQ5LjAgQU5EIGQg Tk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NDguMCBBTkQgZDw0OS4wIEFORCBkIElTIE5PVCBO VUxMKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNzcgQU5EIDc5KSBBTkQgYSE9NzgpCiAgIF1d KQogICAgIGVuZCwgewpAQCAtMzIwNTcsNyArMzIwNTcsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAg ICAgICBPUiAoZiBHTE9CICc/bm9wcSonIEFORCBmIEdMT0IgJ21ub3AqJykKICAgICAgICAgIE9S IGI9NDI5CiAgICAgICAgICBPUiBmPSdqa2xtbm9wcXInCi0gICAgICAgICBPUiAoZD49NDguMCBB TkQgZDw0OS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTQ4LjAgQU5EIGQ8NDku MCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDc3IEFORCA3OSkg QU5EIGEhPTc4KQogICBdXSkKICAgICBlbmQsIHsKQEAgLTMyMjI0LDcgKzMyMjI0LDcgQEAgdGVz dDpkb190ZXN0KAogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxF Q1QgYSBGUk9NIHQyCiAgICAgICBXSEVSRSBiPTIzMQotICAgICAgICAgT1IgKGQ+PTI0LjAgQU5E IGQ8MjUuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0yNC4wIEFORCBkPDI1LjAg QU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBhPTM4CiAgICAgICAgICBPUiBhPTQKICAg ICAgICAgIE9SIGI9Nzg0CkBAIC0zMjI0MSw3ICszMjI0MSw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAg ICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0Mwog ICAgICAgV0hFUkUgYj0yMzEKLSAgICAgICAgIE9SIChkPj0yNC4wIEFORCBkPDI1LjAgQU5EIGQg Tk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MjQuMCBBTkQgZDwyNS4wIEFORCBkIElTIE5PVCBO VUxMKQogICAgICAgICAgT1IgYT0zOAogICAgICAgICAgT1IgYT00CiAgICAgICAgICBPUiBiPTc4 NApAQCAtMzIyNjEsNyArMzIyNjEsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBhPTI2 CiAgICAgICAgICBPUiAoZz0na2ppaGdmZScgQU5EIGYgR0xPQiAncXJzdHUqJykKICAgICAgICAg IE9SIGE9ODEKLSAgICAgICAgIE9SIChkPj0zLjAgQU5EIGQ8NC4wIEFORCBkIE5PVCBOVUxMKQor ICAgICAgICAgT1IgKGQ+PTMuMCBBTkQgZDw0LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAg ICBPUiAoKGEgQkVUV0VFTiAyOCBBTkQgMzApIEFORCBhIT0yOSkKICAgICAgICAgIE9SIGI9Mjc1 CiAgICAgICAgICBPUiAoZz0naGdmZWRjYicgQU5EIGYgR0xPQiAnamtsbW4qJykKQEAgLTMyMjg0 LDcgKzMyMjg0LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgYT0yNgogICAgICAgICAg T1IgKGc9J2tqaWhnZmUnIEFORCBmIEdMT0IgJ3Fyc3R1KicpCiAgICAgICAgICBPUiBhPTgxCi0g ICAgICAgICBPUiAoZD49My4wIEFORCBkPDQuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9S IChkPj0zLjAgQU5EIGQ8NC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKChhIEJF VFdFRU4gMjggQU5EIDMwKSBBTkQgYSE9MjkpCiAgICAgICAgICBPUiBiPTI3NQogICAgICAgICAg T1IgKGc9J2hnZmVkY2InIEFORCBmIEdMT0IgJ2prbG1uKicpCkBAIC0zMjMzMSw3ICszMjMzMSw3 IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9z dGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIKLSAgICAgIFdIRVJFIChkPj00LjAg QU5EIGQ8NS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTQuMCBBTkQgZDw1LjAg QU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBhPTg1CiAgICAgICAgICBPUiBmIElTIE5V TEwKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDQ5IEFORCA1MSkgQU5EIGEhPTUwKQpAQCAtMzIz MzksNyArMzIzMzksNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBiPTE1NAogICAgICAg ICAgT1IgKChhIEJFVFdFRU4gNDAgQU5EIDQyKSBBTkQgYSE9NDEpCiAgICAgICAgICBPUiAoKGEg QkVUV0VFTiA4NyBBTkQgODkpIEFORCBhIT04OCkKLSAgICAgICAgIE9SIChkPj0yNS4wIEFORCBk PDI2LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MjUuMCBBTkQgZDwyNi4wIEFO RCBkIElTIE5PVCBOVUxMKQogICBdXSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0y Ljg2NS4xPgpAQCAtMzIzNTIsNyArMzIzNTIsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rp b24oKQogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBG Uk9NIHQzCi0gICAgICBXSEVSRSAoZD49NC4wIEFORCBkPDUuMCBBTkQgZCBOT1QgTlVMTCkKKyAg ICAgIFdIRVJFIChkPj00LjAgQU5EIGQ8NS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAg T1IgYT04NQogICAgICAgICAgT1IgZiBJUyBOVUxMCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA0 OSBBTkQgNTEpIEFORCBhIT01MCkKQEAgLTMyMzYwLDcgKzMyMzYwLDcgQEAgdGVzdDpkb190ZXN0 KAogICAgICAgICAgT1IgYj0xNTQKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDQwIEFORCA0Mikg QU5EIGEhPTQxKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gODcgQU5EIDg5KSBBTkQgYSE9ODgp Ci0gICAgICAgICBPUiAoZD49MjUuMCBBTkQgZDwyNi4wIEFORCBkIE5PVCBOVUxMKQorICAgICAg ICAgT1IgKGQ+PTI1LjAgQU5EIGQ8MjYuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAgICAg ZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi44NjUuMj4KQEAgLTMyMzgwLDcgKzMyMzgwLDcg QEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgMTAwMDAwMDxiCiAgICAgICAgICBPUiBhPTI0 CiAgICAgICAgICBPUiBiPTEwODkKLSAgICAgICAgIE9SIChkPj03NS4wIEFORCBkPDc2LjAgQU5E IGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NzUuMCBBTkQgZDw3Ni4wIEFORCBkIElTIE5P VCBOVUxMKQogICAgICAgICAgT1IgKGc9J3JxcG9ubWwnIEFORCBmIEdMT0IgJ2hpamtsKicpCiAg IF1dKQogICAgIGVuZCwgewpAQCAtMzI0MDEsNyArMzI0MDEsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAg ICAgICAgICBPUiAxMDAwMDAwPGIKICAgICAgICAgIE9SIGE9MjQKICAgICAgICAgIE9SIGI9MTA4 OQotICAgICAgICAgT1IgKGQ+PTc1LjAgQU5EIGQ8NzYuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAg ICAgIE9SIChkPj03NS4wIEFORCBkPDc2LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBP UiAoZz0ncnFwb25tbCcgQU5EIGYgR0xPQiAnaGlqa2wqJykKICAgXV0pCiAgICAgZW5kLCB7CkBA IC0zMjQxNSw3ICszMjQxNSw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAg ICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIKLSAg ICAgIFdIRVJFIChkPj0xNi4wIEFORCBkPDE3LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBXSEVS RSAoZD49MTYuMCBBTkQgZDwxNy4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKChh IEJFVFdFRU4gODAgQU5EIDgyKSBBTkQgYSE9ODEpCiAgICAgICAgICBPUiBiPTM2CiAgICAgICAg ICBPUiAoKGEgQkVUV0VFTiAzMyBBTkQgMzUpIEFORCBhIT0zNCkKQEAgLTMyNDMxLDcgKzMyNDMx LDcgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAgICAgICAgcmV0dXJuIGNvdW50 X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MwotICAgICAgV0hFUkUgKGQ+PTE2 LjAgQU5EIGQ8MTcuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChkPj0xNi4wIEFORCBk PDE3LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA4MCBBTkQg ODIpIEFORCBhIT04MSkKICAgICAgICAgIE9SIGI9MzYKICAgICAgICAgIE9SICgoYSBCRVRXRUVO IDMzIEFORCAzNSkgQU5EIGEhPTM0KQpAQCAtMzI0NDcsMTQgKzMyNDQ3LDE0IEBAIHRlc3Q6ZG9f dGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtb CiAgICAgIFNFTEVDVCBhIEZST00gdDIKLSAgICAgIFdIRVJFIChkPj05Ny4wIEFORCBkPDk4LjAg QU5EIGQgTk9UIE5VTEwpCi0gICAgICAgICBPUiAoZD49MzUuMCBBTkQgZDwzNi4wIEFORCBkIE5P VCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTk3LjAgQU5EIGQ8OTguMCBBTkQgZCBJUyBOT1QgTlVM TCkKKyAgICAgICAgIE9SIChkPj0zNS4wIEFORCBkPDM2LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAg ICAgICAgICBPUiBjPTI2MDI2CiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiAzNyBBTkQgMzkpIEFO RCBhIT0zOCkKICAgICAgICAgIE9SIGE9NTYKICAgICAgICAgIE9SIGI9NTA2CiAgICAgICAgICBP UiBiPTc4MQotICAgICAgICAgT1IgKGQ+PTI4LjAgQU5EIGQ8MjkuMCBBTkQgZCBOT1QgTlVMTCkK KyAgICAgICAgIE9SIChkPj0yOC4wIEFORCBkPDI5LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1d KQogICAgIGVuZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIuODY4LjE+CkBAIC0zMjQ2NywxNCAr MzI0NjcsMTQgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAgICAgICAgcmV0dXJu IGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MwotICAgICAgV0hFUkUg KGQ+PTk3LjAgQU5EIGQ8OTguMCBBTkQgZCBOT1QgTlVMTCkKLSAgICAgICAgIE9SIChkPj0zNS4w IEFORCBkPDM2LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49OTcuMCBBTkQgZDw5 OC4wIEFORCBkIElTIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTM1LjAgQU5EIGQ8MzYuMCBB TkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGM9MjYwMjYKICAgICAgICAgIE9SICgoYSBC RVRXRUVOIDM3IEFORCAzOSkgQU5EIGEhPTM4KQogICAgICAgICAgT1IgYT01NgogICAgICAgICAg T1IgYj01MDYKICAgICAgICAgIE9SIGI9NzgxCi0gICAgICAgICBPUiAoZD49MjguMCBBTkQgZDwy OS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTI4LjAgQU5EIGQ8MjkuMCBBTkQg ZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi44 NjguMj4KQEAgLTMyNTg5LDEzICszMjU4OSwxMyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rp b24oKQogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBG Uk9NIHQyCi0gICAgICBXSEVSRSAoZD49NTkuMCBBTkQgZDw2MC4wIEFORCBkIE5PVCBOVUxMKQor ICAgICAgV0hFUkUgKGQ+PTU5LjAgQU5EIGQ8NjAuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAg ICAgIE9SICgoYSBCRVRXRUVOIDE0IEFORCAxNikgQU5EIGEhPTE1KQogICAgICAgICAgT1IgYj04 MzkKICAgICAgICAgIE9SIGY9J2RlZmdoaWprbCcKLSAgICAgICAgIE9SIChkPj05NS4wIEFORCBk PDk2LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49OTUuMCBBTkQgZDw5Ni4wIEFO RCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKGc9J21sa2ppaGcnIEFORCBmIEdMT0IgJ2lq a2xtKicpCi0gICAgICAgICBPUiAoZD49NTIuMCBBTkQgZDw1My4wIEFORCBkIE5PVCBOVUxMKQor ICAgICAgICAgT1IgKGQ+PTUyLjAgQU5EIGQ8NTMuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAg ICAgIE9SIChnPSdoZ2ZlZGNiJyBBTkQgZiBHTE9CICdoaWprbConKQogICAgICAgICAgT1IgYj00 OTgKICAgXV0pCkBAIC0zMjYxMCwxMyArMzI2MTAsMTMgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1 bmN0aW9uKCkKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNU IGEgRlJPTSB0MwotICAgICAgV0hFUkUgKGQ+PTU5LjAgQU5EIGQ8NjAuMCBBTkQgZCBOT1QgTlVM TCkKKyAgICAgIFdIRVJFIChkPj01OS4wIEFORCBkPDYwLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAg ICAgICAgICBPUiAoKGEgQkVUV0VFTiAxNCBBTkQgMTYpIEFORCBhIT0xNSkKICAgICAgICAgIE9S IGI9ODM5CiAgICAgICAgICBPUiBmPSdkZWZnaGlqa2wnCi0gICAgICAgICBPUiAoZD49OTUuMCBB TkQgZDw5Ni4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTk1LjAgQU5EIGQ8OTYu MCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChnPSdtbGtqaWhnJyBBTkQgZiBHTE9C ICdpamtsbSonKQotICAgICAgICAgT1IgKGQ+PTUyLjAgQU5EIGQ8NTMuMCBBTkQgZCBOT1QgTlVM TCkKKyAgICAgICAgIE9SIChkPj01Mi4wIEFORCBkPDUzLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAg ICAgICAgICBPUiAoZz0naGdmZWRjYicgQU5EIGYgR0xPQiAnaGlqa2wqJykKICAgICAgICAgIE9S IGI9NDk4CiAgIF1dKQpAQCAtMzI2MzQsNyArMzI2MzQsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAg ICBXSEVSRSBiPTI1NgogICAgICAgICAgT1IgYz0xOTAxOQogICAgICAgICAgT1IgYT01NAotICAg ICAgICAgT1IgKGQ+PTQ2LjAgQU5EIGQ8NDcuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9S IChkPj00Ni4wIEFORCBkPDQ3LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTQ5 OAogICAgICAgICAgT1IgYj03NwogICBdXSkKQEAgLTMyNjUyLDcgKzMyNjUyLDcgQEAgdGVzdDpk b190ZXN0KAogICAgICAgV0hFUkUgYj0yNTYKICAgICAgICAgIE9SIGM9MTkwMTkKICAgICAgICAg IE9SIGE9NTQKLSAgICAgICAgIE9SIChkPj00Ni4wIEFORCBkPDQ3LjAgQU5EIGQgTk9UIE5VTEwp CisgICAgICAgICBPUiAoZD49NDYuMCBBTkQgZDw0Ny4wIEFORCBkIElTIE5PVCBOVUxMKQogICAg ICAgICAgT1IgYj00OTgKICAgICAgICAgIE9SIGI9NzcKICAgXV0pCkBAIC0zMjY3Miw3ICszMjY3 Miw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIGI9NTg2CiAgICAgICAgICBPUiBhPTc0 CiAgICAgICAgICBPUiBiPTExMwotICAgICAgICAgT1IgKGQ+PTk5LjAgQU5EIGQ8MTAwLjAgQU5E IGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49OTkuMCBBTkQgZDwxMDAuMCBBTkQgZCBJUyBO T1QgTlVMTCkKICAgICAgICAgIE9SIGI9NDk1CiAgIF1dKQogICAgIGVuZCwgewpAQCAtMzI2OTEs NyArMzI2OTEsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBiPTU4NgogICAgICAgICAg T1IgYT03NAogICAgICAgICAgT1IgYj0xMTMKLSAgICAgICAgIE9SIChkPj05OS4wIEFORCBkPDEw MC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTk5LjAgQU5EIGQ8MTAwLjAgQU5E IGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTQ5NQogICBdXSkKICAgICBlbmQsIHsKQEAg LTMyNzA3LDcgKzMyNzA3LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICBTRUxFQ1QgYSBGUk9NIHQy CiAgICAgICBXSEVSRSBhPTEyCiAgICAgICAgICBPUiBhPTUwCi0gICAgICAgICBPUiAoZD49MzMu MCBBTkQgZDwzNC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTMzLjAgQU5EIGQ8 MzQuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDY2IEFORCA2 OCkgQU5EIGEhPTY3KQogICBdXSkKICAgICBlbmQsIHsKQEAgLTMyNzIzLDcgKzMyNzIzLDcgQEAg dGVzdDpkb190ZXN0KAogICAgICBTRUxFQ1QgYSBGUk9NIHQzCiAgICAgICBXSEVSRSBhPTEyCiAg ICAgICAgICBPUiBhPTUwCi0gICAgICAgICBPUiAoZD49MzMuMCBBTkQgZDwzNC4wIEFORCBkIE5P VCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTMzLjAgQU5EIGQ8MzQuMCBBTkQgZCBJUyBOT1QgTlVM TCkKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDY2IEFORCA2OCkgQU5EIGEhPTY3KQogICBdXSkK ICAgICBlbmQsIHsKQEAgLTMyNzM4LDExICszMjczOCwxMSBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAg ICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIKICAg ICAgIFdIRVJFIGI9MzA4Ci0gICAgICAgICBPUiAoZD49NzMuMCBBTkQgZDw3NC4wIEFORCBkIE5P VCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTczLjAgQU5EIGQ8NzQuMCBBTkQgZCBJUyBOT1QgTlVM TCkKICAgICAgICAgIE9SIChnPSdubWxramloJyBBTkQgZiBHTE9CICdiY2RlZionKQogICAgICAg ICAgT1IgYT04MwogICAgICAgICAgT1IgYz0yMzAyMwotICAgICAgICAgT1IgKGQ+PTU3LjAgQU5E IGQ8NTguMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj01Ny4wIEFORCBkPDU4LjAg QU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoZz0nbGtqaWhnZicgQU5EIGYgR0xPQiAn bm9wcXIqJykKICAgICAgICAgIE9SIGE9NTgKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDE3IEFO RCAxOSkgQU5EIGEhPTE4KQpAQCAtMzI3NjEsMTEgKzMyNzYxLDExIEBAIHRlc3Q6ZG9fdGVzdCgK ICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0 MwogICAgICAgV0hFUkUgYj0zMDgKLSAgICAgICAgIE9SIChkPj03My4wIEFORCBkPDc0LjAgQU5E IGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NzMuMCBBTkQgZDw3NC4wIEFORCBkIElTIE5P VCBOVUxMKQogICAgICAgICAgT1IgKGc9J25tbGtqaWgnIEFORCBmIEdMT0IgJ2JjZGVmKicpCiAg ICAgICAgICBPUiBhPTgzCiAgICAgICAgICBPUiBjPTIzMDIzCi0gICAgICAgICBPUiAoZD49NTcu MCBBTkQgZDw1OC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTU3LjAgQU5EIGQ8 NTguMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChnPSdsa2ppaGdmJyBBTkQgZiBH TE9CICdub3BxcionKQogICAgICAgICAgT1IgYT01OAogICAgICAgICAgT1IgKChhIEJFVFdFRU4g MTcgQU5EIDE5KSBBTkQgYSE9MTgpCkBAIC0zMjc4NSwxMCArMzI3ODUsMTAgQEAgdGVzdDpkb190 ZXN0KAogICAgICBTRUxFQ1QgYSBGUk9NIHQyCiAgICAgICBXSEVSRSBiPTQ3NgogICAgICAgICAg T1IgYT0yNgotICAgICAgICAgT1IgKGQ+PTg3LjAgQU5EIGQ8ODguMCBBTkQgZCBOT1QgTlVMTCkK KyAgICAgICAgIE9SIChkPj04Ny4wIEFORCBkPDg4LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAg ICAgICBPUiBiPTc2MgogICAgICAgICAgT1IgYj0xNTcKLSAgICAgICAgIE9SIChkPj0xNy4wIEFO RCBkPDE4LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MTcuMCBBTkQgZDwxOC4w IEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKGc9J25tbGtqaWgnIEFORCBmIEdMT0Ig J2NkZWZnKicpCiAgIF1dKQogICAgIGVuZCwgewpAQCAtMzI4MDQsMTAgKzMyODA0LDEwIEBAIHRl c3Q6ZG9fdGVzdCgKICAgICAgU0VMRUNUIGEgRlJPTSB0MwogICAgICAgV0hFUkUgYj00NzYKICAg ICAgICAgIE9SIGE9MjYKLSAgICAgICAgIE9SIChkPj04Ny4wIEFORCBkPDg4LjAgQU5EIGQgTk9U IE5VTEwpCisgICAgICAgICBPUiAoZD49ODcuMCBBTkQgZDw4OC4wIEFORCBkIElTIE5PVCBOVUxM KQogICAgICAgICAgT1IgYj03NjIKICAgICAgICAgIE9SIGI9MTU3Ci0gICAgICAgICBPUiAoZD49 MTcuMCBBTkQgZDwxOC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTE3LjAgQU5E IGQ8MTguMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChnPSdubWxramloJyBBTkQg ZiBHTE9CICdjZGVmZyonKQogICBdXSkKICAgICBlbmQsIHsKQEAgLTMyODIxLDcgKzMyODIxLDcg QEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAgICAgICAgcmV0dXJuIGNvdW50X3N0 ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MgotICAgICAgV0hFUkUgKGQ+PTc3LjAg QU5EIGQ8NzguMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChkPj03Ny4wIEFORCBkPDc4 LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBhPTEKICAgICAgICAgIE9SICgoYSBC RVRXRUVOIDkzIEFORCA5NSkgQU5EIGEhPTk0KQogICAgICAgICAgT1IgYj0yNzgKQEAgLTMyODMx LDcgKzMyODMxLDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgKChhIEJFVFdFRU4gODIg QU5EIDg0KSBBTkQgYSE9ODMpCiAgICAgICAgICBPUiAoZz0nZWRjYmF6eScgQU5EIGYgR0xPQiAn dXZ3eHkqJykKICAgICAgICAgIE9SIChnPSdqaWhnZmVkJyBBTkQgZiBHTE9CICd3eHl6YSonKQot ICAgICAgICAgT1IgKGQ+PTcyLjAgQU5EIGQ8NzMuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAg IE9SIChkPj03Mi4wIEFORCBkPDczLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVu ZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIuODc4LjE+CkBAIC0zMjg0NCw3ICszMjg0NCw3IEBA IHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVw c19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDMKLSAgICAgIFdIRVJFIChkPj03Ny4wIEFO RCBkPDc4LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49NzcuMCBBTkQgZDw3OC4w IEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYT0xCiAgICAgICAgICBPUiAoKGEgQkVU V0VFTiA5MyBBTkQgOTUpIEFORCBhIT05NCkKICAgICAgICAgIE9SIGI9Mjc4CkBAIC0zMjg1NCw3 ICszMjg1NCw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDgyIEFO RCA4NCkgQU5EIGEhPTgzKQogICAgICAgICAgT1IgKGc9J2VkY2JhenknIEFORCBmIEdMT0IgJ3V2 d3h5KicpCiAgICAgICAgICBPUiAoZz0namloZ2ZlZCcgQU5EIGYgR0xPQiAnd3h5emEqJykKLSAg ICAgICAgIE9SIChkPj03Mi4wIEFORCBkPDczLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBP UiAoZD49NzIuMCBBTkQgZDw3My4wIEFORCBkIElTIE5PVCBOVUxMKQogICBdXSkKICAgICBlbmQs IHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjg3OC4yPgpAQCAtMzI4NjgsOSArMzI4NjgsOSBAQCB0 ZXN0OmRvX3Rlc3QoCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNF TEVDVCBhIEZST00gdDIKICAgICAgIFdIRVJFIGI9MTI0Ci0gICAgICAgICBPUiAoZD49OTIuMCBB TkQgZDw5My4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTkyLjAgQU5EIGQ8OTMu MCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDQxIEFORCA0Mykg QU5EIGEhPTQyKQotICAgICAgICAgT1IgKGQ+PTk2LjAgQU5EIGQ8OTcuMCBBTkQgZCBOT1QgTlVM TCkKKyAgICAgICAgIE9SIChkPj05Ni4wIEFORCBkPDk3LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAg ICAgICAgICBPUiBiPTc1OQogICAgICAgICAgT1IgKGYgR0xPQiAnP25vcHEqJyBBTkQgZiBHTE9C ICdtbm9wKicpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA0NSBBTkQgNDcpIEFORCBhIT00NikK QEAgLTMyODg4LDkgKzMyODg4LDkgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICByZXR1cm4gY291 bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQzCiAgICAgICBXSEVSRSBiPTEy NAotICAgICAgICAgT1IgKGQ+PTkyLjAgQU5EIGQ8OTMuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAg ICAgIE9SIChkPj05Mi4wIEFORCBkPDkzLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBP UiAoKGEgQkVUV0VFTiA0MSBBTkQgNDMpIEFORCBhIT00MikKLSAgICAgICAgIE9SIChkPj05Ni4w IEFORCBkPDk3LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49OTYuMCBBTkQgZDw5 Ny4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj03NTkKICAgICAgICAgIE9SIChm IEdMT0IgJz9ub3BxKicgQU5EIGYgR0xPQiAnbW5vcConKQogICAgICAgICAgT1IgKChhIEJFVFdF RU4gNDUgQU5EIDQ3KSBBTkQgYSE9NDYpCkBAIC0zMjk1MSw3ICszMjk1MSw3IEBAIHRlc3Q6ZG9f dGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtb CiAgICAgIFNFTEVDVCBhIEZST00gdDIKLSAgICAgIFdIRVJFIChkPj0yNi4wIEFORCBkPDI3LjAg QU5EIGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49MjYuMCBBTkQgZDwyNy4wIEFORCBkIElT IE5PVCBOVUxMKQogICAgICAgICAgT1IgZj0neHl6YWJjZGVmJwogICBdXSkKICAgICBlbmQsIHsK QEAgLTMyOTY1LDcgKzMyOTY1LDcgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAg ICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0Mwot ICAgICAgV0hFUkUgKGQ+PTI2LjAgQU5EIGQ8MjcuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdI RVJFIChkPj0yNi4wIEFORCBkPDI3LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBm PSd4eXphYmNkZWYnCiAgIF1dKQogICAgIGVuZCwgewpAQCAtMzI5ODIsMTIgKzMyOTgyLDEyIEBA IHRlc3Q6ZG9fdGVzdCgKICAgICAgIFdIRVJFIGI9NDg3CiAgICAgICAgICBPUiBiPTM1NQogICAg ICAgICAgT1IgYz05MDA5Ci0gICAgICAgICBPUiAoZD49OC4wIEFORCBkPDkuMCBBTkQgZCBOT1Qg TlVMTCkKKyAgICAgICAgIE9SIChkPj04LjAgQU5EIGQ8OS4wIEFORCBkIElTIE5PVCBOVUxMKQog ICAgICAgICAgT1IgKChhIEJFVFdFRU4gMzIgQU5EIDM0KSBBTkQgYSE9MzMpCiAgICAgICAgICBP UiBiPTExMwogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMjQgQU5EIDI2KSBBTkQgYSE9MjUpCiAg ICAgICAgICBPUiBhPTkwCi0gICAgICAgICBPUiAoZD49NjYuMCBBTkQgZDw2Ny4wIEFORCBkIE5P VCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTY2LjAgQU5EIGQ8NjcuMCBBTkQgZCBJUyBOT1QgTlVM TCkKICAgICAgICAgIE9SIChnPSdoZ2ZlZGNiJyBBTkQgZiBHTE9CICdqa2xtbionKQogICAgICAg ICAgT1IgZj0nbm9wcXJzdHV2JwogICBdXSkKQEAgLTMzMDA1LDEyICszMzAwNSwxMiBAQCB0ZXN0 OmRvX3Rlc3QoCiAgICAgICBXSEVSRSBiPTQ4NwogICAgICAgICAgT1IgYj0zNTUKICAgICAgICAg IE9SIGM9OTAwOQotICAgICAgICAgT1IgKGQ+PTguMCBBTkQgZDw5LjAgQU5EIGQgTk9UIE5VTEwp CisgICAgICAgICBPUiAoZD49OC4wIEFORCBkPDkuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAg ICAgIE9SICgoYSBCRVRXRUVOIDMyIEFORCAzNCkgQU5EIGEhPTMzKQogICAgICAgICAgT1IgYj0x MTMKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDI0IEFORCAyNikgQU5EIGEhPTI1KQogICAgICAg ICAgT1IgYT05MAotICAgICAgICAgT1IgKGQ+PTY2LjAgQU5EIGQ8NjcuMCBBTkQgZCBOT1QgTlVM TCkKKyAgICAgICAgIE9SIChkPj02Ni4wIEFORCBkPDY3LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAg ICAgICAgICBPUiAoZz0naGdmZWRjYicgQU5EIGYgR0xPQiAnamtsbW4qJykKICAgICAgICAgIE9S IGY9J25vcHFyc3R1dicKICAgXV0pCkBAIC0zMzAyNSw3ICszMzAyNSw3IEBAIHRlc3Q6ZG9fdGVz dCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAg ICAgIFNFTEVDVCBhIEZST00gdDIKLSAgICAgIFdIRVJFIChkPj0zNC4wIEFORCBkPDM1LjAgQU5E IGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49MzQuMCBBTkQgZDwzNS4wIEFORCBkIElTIE5P VCBOVUxMKQogICAgICAgICAgT1IgYj0yNzUKICAgXV0pCiAgICAgZW5kLCB7CkBAIC0zMzAzOSw3 ICszMzAzOSw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVy biBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDMKLSAgICAgIFdIRVJF IChkPj0zNC4wIEFORCBkPDM1LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49MzQu MCBBTkQgZDwzNS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj0yNzUKICAgXV0p CiAgICAgZW5kLCB7CkBAIC0zMzA5OSw3ICszMzA5OSw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAg U0VMRUNUIGEgRlJPTSB0MgogICAgICAgV0hFUkUgKGYgR0xPQiAnP3V2d3gqJyBBTkQgZiBHTE9C ICd0dXZ3KicpCiAgICAgICAgICBPUiBiPTgxNAotICAgICAgICAgT1IgKGQ+PTU0LjAgQU5EIGQ8 NTUuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj01NC4wIEFORCBkPDU1LjAgQU5E IGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIu ODg1LjE+CkBAIC0zMzExNCw3ICszMzExNCw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgU0VMRUNU IGEgRlJPTSB0MwogICAgICAgV0hFUkUgKGYgR0xPQiAnP3V2d3gqJyBBTkQgZiBHTE9CICd0dXZ3 KicpCiAgICAgICAgICBPUiBiPTgxNAotICAgICAgICAgT1IgKGQ+PTU0LjAgQU5EIGQ8NTUuMCBB TkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj01NC4wIEFORCBkPDU1LjAgQU5EIGQgSVMg Tk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIuODg1LjI+ CkBAIC0zMzE4OSw3ICszMzE4OSw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIGI9MjUz CiAgICAgICAgICBPUiAoZiBHTE9CICc/cHFycyonIEFORCBmIEdMT0IgJ29wcXIqJykKICAgICAg ICAgIE9SIGI9Mjg2Ci0gICAgICAgICBPUiAoZD49MTAuMCBBTkQgZDwxMS4wIEFORCBkIE5PVCBO VUxMKQorICAgICAgICAgT1IgKGQ+PTEwLjAgQU5EIGQ8MTEuMCBBTkQgZCBJUyBOT1QgTlVMTCkK ICAgXV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi44ODguMT4KQEAgLTMzMjA2 LDcgKzMzMjA2LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgYj0yNTMKICAgICAgICAg IE9SIChmIEdMT0IgJz9wcXJzKicgQU5EIGYgR0xPQiAnb3BxcionKQogICAgICAgICAgT1IgYj0y ODYKLSAgICAgICAgIE9SIChkPj0xMC4wIEFORCBkPDExLjAgQU5EIGQgTk9UIE5VTEwpCisgICAg ICAgICBPUiAoZD49MTAuMCBBTkQgZDwxMS4wIEFORCBkIElTIE5PVCBOVUxMKQogICBdXSkKICAg ICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjg4OC4yPgpAQCAtMzMyMTksNyArMzMyMTks NyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291bnRf c3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCi0gICAgICBXSEVSRSAoZD49MTUu MCBBTkQgZDwxNi4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTE1LjAgQU5EIGQ8 MTYuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChnPSdnZmVkY2JhJyBBTkQgZiBH TE9CICdtbm9wcSonKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMjYgQU5EIDI4KSBBTkQgYSE9 MjcpCiAgICAgICAgICBPUiBiPTQyMQpAQCAtMzMyMzksNyArMzMyMzksNyBAQCB0ZXN0OmRvX3Rl c3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwog ICAgICBTRUxFQ1QgYSBGUk9NIHQzCi0gICAgICBXSEVSRSAoZD49MTUuMCBBTkQgZDwxNi4wIEFO RCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTE1LjAgQU5EIGQ8MTYuMCBBTkQgZCBJUyBO T1QgTlVMTCkKICAgICAgICAgIE9SIChnPSdnZmVkY2JhJyBBTkQgZiBHTE9CICdtbm9wcSonKQog ICAgICAgICAgT1IgKChhIEJFVFdFRU4gMjYgQU5EIDI4KSBBTkQgYSE9MjcpCiAgICAgICAgICBP UiBiPTQyMQpAQCAtMzMyOTcsNyArMzMyOTcsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBP UiAoZz0nc3JxcG9ubScgQU5EIGYgR0xPQiAnZmdoaWoqJykKICAgICAgICAgIE9SICgoYSBCRVRX RUVOIDQgQU5EIDYpIEFORCBhIT01KQogICAgICAgICAgT1IgKGc9J2tqaWhnZmUnIEFORCBmIEdM T0IgJ3Fyc3R1KicpCi0gICAgICAgICBPUiAoZD49MTEuMCBBTkQgZDwxMi4wIEFORCBkIE5PVCBO VUxMKQorICAgICAgICAgT1IgKGQ+PTExLjAgQU5EIGQ8MTIuMCBBTkQgZCBJUyBOT1QgTlVMTCkK ICAgXV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi44OTEuMT4KQEAgLTMzMzE0 LDcgKzMzMzE0LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgKGc9J3NycXBvbm0nIEFO RCBmIEdMT0IgJ2ZnaGlqKicpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA0IEFORCA2KSBBTkQg YSE9NSkKICAgICAgICAgIE9SIChnPSdramloZ2ZlJyBBTkQgZiBHTE9CICdxcnN0dSonKQotICAg ICAgICAgT1IgKGQ+PTExLjAgQU5EIGQ8MTIuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9S IChkPj0xMS4wIEFORCBkPDEyLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwg ewogICAgICAgICAtLSA8d2hlcmU3LTIuODkxLjI+CkBAIC0zMzMzMiw3ICszMzMzMiw3IEBAIHRl c3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIGI9NDMyCiAgICAgICAgICBPUiBiPTQxMAogICAgICAg ICAgT1IgYT04NgotICAgICAgICAgT1IgKGQ+PTg5LjAgQU5EIGQ8OTAuMCBBTkQgZCBOT1QgTlVM TCkKKyAgICAgICAgIE9SIChkPj04OS4wIEFORCBkPDkwLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAg ICAgICAgICBPUiBiPTYzOAogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNTggQU5EIDYwKSBBTkQg YSE9NTkpCiAgICAgICAgICBPUiBiPTE5MApAQCAtMzMzNTMsNyArMzMzNTMsNyBAQCB0ZXN0OmRv X3Rlc3QoCiAgICAgICAgICBPUiBiPTQzMgogICAgICAgICAgT1IgYj00MTAKICAgICAgICAgIE9S IGE9ODYKLSAgICAgICAgIE9SIChkPj04OS4wIEFORCBkPDkwLjAgQU5EIGQgTk9UIE5VTEwpCisg ICAgICAgICBPUiAoZD49ODkuMCBBTkQgZDw5MC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAg ICAgT1IgYj02MzgKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDU4IEFORCA2MCkgQU5EIGEhPTU5 KQogICAgICAgICAgT1IgYj0xOTAKQEAgLTMzNDM4LDcgKzMzNDM4LDcgQEAgdGVzdDpkb190ZXN0 KAogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9N IHQyCiAgICAgICBXSEVSRSAoKGEgQkVUV0VFTiA2NyBBTkQgNjkpIEFORCBhIT02OCkKLSAgICAg ICAgIE9SIChkPj02OS4wIEFORCBkPDcwLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAo ZD49NjkuMCBBTkQgZDw3MC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKGc9J3V0 c3JxcG8nIEFORCBmIEdMT0IgJ3V2d3h5KicpCiAgICAgICAgICBPUiBhPTQ2CiAgICAgICAgICBP UiBiPTE4NwpAQCAtMzM0NTcsNyArMzM0NTcsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgIHJl dHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDMKICAgICAgIFdI RVJFICgoYSBCRVRXRUVOIDY3IEFORCA2OSkgQU5EIGEhPTY4KQotICAgICAgICAgT1IgKGQ+PTY5 LjAgQU5EIGQ8NzAuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj02OS4wIEFORCBk PDcwLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoZz0ndXRzcnFwbycgQU5EIGYg R0xPQiAndXZ3eHkqJykKICAgICAgICAgIE9SIGE9NDYKICAgICAgICAgIE9SIGI9MTg3CkBAIC0z MzQ3NSwxMCArMzM0NzUsMTAgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAgICAg ICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MgotICAg ICAgV0hFUkUgKGQ+PTk3LjAgQU5EIGQ8OTguMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJF IChkPj05Ny4wIEFORCBkPDk4LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBhPTk5 CiAgICAgICAgICBPUiBjPTMwMDMKLSAgICAgICAgIE9SIChkPj01Ny4wIEFORCBkPDU4LjAgQU5E IGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NTcuMCBBTkQgZDw1OC4wIEFORCBkIElTIE5P VCBOVUxMKQogICAgICAgICAgT1IgYj0zMDAKICAgICAgICAgIE9SIGI9NzE4CiAgICAgICAgICBP UiBjPj0zNDAzNQpAQCAtMzM0OTUsMTAgKzMzNDk1LDEwIEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBm dW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVD VCBhIEZST00gdDMKLSAgICAgIFdIRVJFIChkPj05Ny4wIEFORCBkPDk4LjAgQU5EIGQgTk9UIE5V TEwpCisgICAgICBXSEVSRSAoZD49OTcuMCBBTkQgZDw5OC4wIEFORCBkIElTIE5PVCBOVUxMKQog ICAgICAgICAgT1IgYT05OQogICAgICAgICAgT1IgYz0zMDAzCi0gICAgICAgICBPUiAoZD49NTcu MCBBTkQgZDw1OC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTU3LjAgQU5EIGQ8 NTguMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9MzAwCiAgICAgICAgICBPUiBi PTcxOAogICAgICAgICAgT1IgYz49MzQwMzUKQEAgLTMzNTU5LDcgKzMzNTU5LDcgQEAgdGVzdDpk b190ZXN0KAogICAgICBTRUxFQ1QgYSBGUk9NIHQyCiAgICAgICBXSEVSRSBjPTI5MDI5CiAgICAg ICAgICBPUiBmPSdlZmdoaWprbG0nCi0gICAgICAgICBPUiAoZD49NDguMCBBTkQgZDw0OS4wIEFO RCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTQ4LjAgQU5EIGQ8NDkuMCBBTkQgZCBJUyBO T1QgTlVMTCkKICAgICAgICAgIE9SIGE9MjYKICAgICAgICAgIE9SIChmIEdMT0IgJz9lZmdoKicg QU5EIGYgR0xPQiAnZGVmZyonKQogICBdXSkKQEAgLTMzNTc2LDcgKzMzNTc2LDcgQEAgdGVzdDpk b190ZXN0KAogICAgICBTRUxFQ1QgYSBGUk9NIHQzCiAgICAgICBXSEVSRSBjPTI5MDI5CiAgICAg ICAgICBPUiBmPSdlZmdoaWprbG0nCi0gICAgICAgICBPUiAoZD49NDguMCBBTkQgZDw0OS4wIEFO RCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTQ4LjAgQU5EIGQ8NDkuMCBBTkQgZCBJUyBO T1QgTlVMTCkKICAgICAgICAgIE9SIGE9MjYKICAgICAgICAgIE9SIChmIEdMT0IgJz9lZmdoKicg QU5EIGYgR0xPQiAnZGVmZyonKQogICBdXSkKQEAgLTMzNzUyLDggKzMzNzUyLDggQEAgdGVzdDpk b190ZXN0KAogICAgICAgV0hFUkUgYj0xMDY3CiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA1MyBB TkQgNTUpIEFORCBhIT01NCkKICAgICAgICAgIE9SIChnPSdqaWhnZmVkJyBBTkQgZiBHTE9CICd2 d3h5eionKQotICAgICAgICAgT1IgKGQ+PTE4LjAgQU5EIGQ8MTkuMCBBTkQgZCBOT1QgTlVMTCkK LSAgICAgICAgIE9SIChkPj01NC4wIEFORCBkPDU1LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAg ICBPUiAoZD49MTguMCBBTkQgZDwxOS4wIEFORCBkIElTIE5PVCBOVUxMKQorICAgICAgICAgT1Ig KGQ+PTU0LjAgQU5EIGQ8NTUuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9NTIw CiAgICAgICAgICBPUiBiPTM5OQogICAgICAgICAgT1IgYj0yMDkKQEAgLTMzNzc0LDggKzMzNzc0 LDggQEAgdGVzdDpkb190ZXN0KAogICAgICAgV0hFUkUgYj0xMDY3CiAgICAgICAgICBPUiAoKGEg QkVUV0VFTiA1MyBBTkQgNTUpIEFORCBhIT01NCkKICAgICAgICAgIE9SIChnPSdqaWhnZmVkJyBB TkQgZiBHTE9CICd2d3h5eionKQotICAgICAgICAgT1IgKGQ+PTE4LjAgQU5EIGQ8MTkuMCBBTkQg ZCBOT1QgTlVMTCkKLSAgICAgICAgIE9SIChkPj01NC4wIEFORCBkPDU1LjAgQU5EIGQgTk9UIE5V TEwpCisgICAgICAgICBPUiAoZD49MTguMCBBTkQgZDwxOS4wIEFORCBkIElTIE5PVCBOVUxMKQor ICAgICAgICAgT1IgKGQ+PTU0LjAgQU5EIGQ8NTUuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAg ICAgIE9SIGI9NTIwCiAgICAgICAgICBPUiBiPTM5OQogICAgICAgICAgT1IgYj0yMDkKQEAgLTMz NzkzLDEwICszMzc5MywxMCBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAg ICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCi0gICAg ICBXSEVSRSAoZD49NzkuMCBBTkQgZDw4MC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUg KGQ+PTc5LjAgQU5EIGQ8ODAuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGE9NTcK ICAgICAgICAgIE9SIGI9NTUKLSAgICAgICAgIE9SIChkPj0zNC4wIEFORCBkPDM1LjAgQU5EIGQg Tk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MzQuMCBBTkQgZDwzNS4wIEFORCBkIElTIE5PVCBO VUxMKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMjAgQU5EIDIyKSBBTkQgYSE9MjEpCiAgICAg ICAgICBPUiAoZz0ncnFwb25tbCcgQU5EIGYgR0xPQiAnbG1ub3AqJykKICAgICAgICAgIE9SICgo YSBCRVRXRUVOIDAgQU5EIDIpIEFORCBhIT0xKQpAQCAtMzM4MTMsMTAgKzMzODEzLDEwIEBAIHRl c3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19z b3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDMKLSAgICAgIFdIRVJFIChkPj03OS4wIEFORCBk PDgwLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49NzkuMCBBTkQgZDw4MC4wIEFO RCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYT01NwogICAgICAgICAgT1IgYj01NQotICAg ICAgICAgT1IgKGQ+PTM0LjAgQU5EIGQ8MzUuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9S IChkPj0zNC4wIEFORCBkPDM1LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoKGEg QkVUV0VFTiAyMCBBTkQgMjIpIEFORCBhIT0yMSkKICAgICAgICAgIE9SIChnPSdycXBvbm1sJyBB TkQgZiBHTE9CICdsbW5vcConKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMCBBTkQgMikgQU5E IGEhPTEpCkBAIC0zMzg2OSw4ICszMzg2OSw4IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlv bigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZS T00gdDIKLSAgICAgIFdIRVJFIChkPj01MS4wIEFORCBkPDUyLjAgQU5EIGQgTk9UIE5VTEwpCi0g ICAgICAgICBPUiAoZD49NDUuMCBBTkQgZDw0Ni4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hF UkUgKGQ+PTUxLjAgQU5EIGQ8NTIuMCBBTkQgZCBJUyBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChk Pj00NS4wIEFORCBkPDQ2LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTc0OAog ICAgICAgICAgT1IgYj0yMDkKICAgICAgICAgIE9SIGE9MTAwCkBAIC0zMzg4Niw4ICszMzg4Niw4 IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9z dGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDMKLSAgICAgIFdIRVJFIChkPj01MS4w IEFORCBkPDUyLjAgQU5EIGQgTk9UIE5VTEwpCi0gICAgICAgICBPUiAoZD49NDUuMCBBTkQgZDw0 Ni4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTUxLjAgQU5EIGQ8NTIuMCBBTkQg ZCBJUyBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj00NS4wIEFORCBkPDQ2LjAgQU5EIGQgSVMg Tk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTc0OAogICAgICAgICAgT1IgYj0yMDkKICAgICAgICAg IE9SIGE9MTAwCkBAIC0zMzk1NCw3ICszMzk1NCw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAg IE9SICgoYSBCRVRXRUVOIDYzIEFORCA2NSkgQU5EIGEhPTY0KQogICAgICAgICAgT1IgKGYgR0xP QiAnP3h5emEqJyBBTkQgZiBHTE9CICd3eHl6KicpCiAgICAgICAgICBPUiAoZz0namloZ2ZlZCcg QU5EIGYgR0xPQiAnd3h5emEqJykKLSAgICAgICAgIE9SIChkPj03Mi4wIEFORCBkPDczLjAgQU5E IGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NzIuMCBBTkQgZDw3My4wIEFORCBkIElTIE5P VCBOVUxMKQogICAgICAgICAgT1IgYT03OAogICAgICAgICAgT1IgKChhIEJFVFdFRU4gOTAgQU5E IDkyKSBBTkQgYSE9OTEpCiAgIF1dKQpAQCAtMzM5NzQsNyArMzM5NzQsNyBAQCB0ZXN0OmRvX3Rl c3QoCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA2MyBBTkQgNjUpIEFORCBhIT02NCkKICAgICAg ICAgIE9SIChmIEdMT0IgJz94eXphKicgQU5EIGYgR0xPQiAnd3h5eionKQogICAgICAgICAgT1Ig KGc9J2ppaGdmZWQnIEFORCBmIEdMT0IgJ3d4eXphKicpCi0gICAgICAgICBPUiAoZD49NzIuMCBB TkQgZDw3My4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTcyLjAgQU5EIGQ8NzMu MCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGE9NzgKICAgICAgICAgIE9SICgoYSBC RVRXRUVOIDkwIEFORCA5MikgQU5EIGEhPTkxKQogICBdXSkKQEAgLTM0MDIzLDcgKzM0MDIzLDcg QEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgYj0yNTMKICAgICAgICAgIE9SIGE9ODAKICAg ICAgICAgIE9SIGE9ODcKLSAgICAgICAgIE9SIChkPj0zNy4wIEFORCBkPDM4LjAgQU5EIGQgTk9U IE5VTEwpCisgICAgICAgICBPUiAoZD49MzcuMCBBTkQgZDwzOC4wIEFORCBkIElTIE5PVCBOVUxM KQogICBdXSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjkxMS4xPgpAQCAtMzQw NDIsNyArMzQwNDIsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBiPTI1MwogICAgICAg ICAgT1IgYT04MAogICAgICAgICAgT1IgYT04NwotICAgICAgICAgT1IgKGQ+PTM3LjAgQU5EIGQ8 MzguMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0zNy4wIEFORCBkPDM4LjAgQU5E IGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIu OTExLjI+CkBAIC0zNDA1NSwxMCArMzQwNTUsMTAgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0 aW9uKCkKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEg RlJPTSB0MgotICAgICAgV0hFUkUgKGQ+PTQyLjAgQU5EIGQ8NDMuMCBBTkQgZCBOT1QgTlVMTCkK KyAgICAgIFdIRVJFIChkPj00Mi4wIEFORCBkPDQzLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAg ICAgICBPUiBiPTgyNQogICAgICAgICAgT1IgYT0xMDAKLSAgICAgICAgIE9SIChkPj03Ny4wIEFO RCBkPDc4LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NzcuMCBBTkQgZDw3OC4w IEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYT02MAogICBdXSkKICAgICBlbmQsIHsK QEAgLTM0MDcyLDEwICszNDA3MiwxMCBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQog ICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQz Ci0gICAgICBXSEVSRSAoZD49NDIuMCBBTkQgZDw0My4wIEFORCBkIE5PVCBOVUxMKQorICAgICAg V0hFUkUgKGQ+PTQyLjAgQU5EIGQ8NDMuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9S IGI9ODI1CiAgICAgICAgICBPUiBhPTEwMAotICAgICAgICAgT1IgKGQ+PTc3LjAgQU5EIGQ8Nzgu MCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj03Ny4wIEFORCBkPDc4LjAgQU5EIGQg SVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBhPTYwCiAgIF1dKQogICAgIGVuZCwgewpAQCAtMzQw ODksMTIgKzM0MDg5LDEyIEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAgICAg IHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIKLSAgICAg IFdIRVJFIChkPj05NC4wIEFORCBkPDk1LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAo ZD49OTQuMCBBTkQgZDw5NS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj04ODMK LSAgICAgICAgIE9SIChkPj0zNS4wIEFORCBkPDM2LjAgQU5EIGQgTk9UIE5VTEwpCi0gICAgICAg ICBPUiAoZD49My4wIEFORCBkPDQuMCBBTkQgZCBOT1QgTlVMTCkKLSAgICAgICAgIE9SIChkPj03 OC4wIEFORCBkPDc5LjAgQU5EIGQgTk9UIE5VTEwpCi0gICAgICAgICBPUiAoZD49NDUuMCBBTkQg ZDw0Ni4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTM1LjAgQU5EIGQ8MzYuMCBB TkQgZCBJUyBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0zLjAgQU5EIGQ8NC4wIEFORCBkIElT IE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTc4LjAgQU5EIGQ8NzkuMCBBTkQgZCBJUyBOT1Qg TlVMTCkKKyAgICAgICAgIE9SIChkPj00NS4wIEFORCBkPDQ2LjAgQU5EIGQgSVMgTk9UIE5VTEwp CiAgICAgICAgICBPUiBhPTgxCiAgICAgICAgICBPUiAoZiBHTE9CICc/ZmdoaSonIEFORCBmIEdM T0IgJ2VmZ2gqJykKICAgICAgICAgIE9SIGY9J21ub3BxcnN0dScKQEAgLTM0MTEwLDEyICszNDEx MCwxMiBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291 bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQzCi0gICAgICBXSEVSRSAoZD49 OTQuMCBBTkQgZDw5NS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTk0LjAgQU5E IGQ8OTUuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9ODgzCi0gICAgICAgICBP UiAoZD49MzUuMCBBTkQgZDwzNi4wIEFORCBkIE5PVCBOVUxMKQotICAgICAgICAgT1IgKGQ+PTMu MCBBTkQgZDw0LjAgQU5EIGQgTk9UIE5VTEwpCi0gICAgICAgICBPUiAoZD49NzguMCBBTkQgZDw3 OS4wIEFORCBkIE5PVCBOVUxMKQotICAgICAgICAgT1IgKGQ+PTQ1LjAgQU5EIGQ8NDYuMCBBTkQg ZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0zNS4wIEFORCBkPDM2LjAgQU5EIGQgSVMgTk9U IE5VTEwpCisgICAgICAgICBPUiAoZD49My4wIEFORCBkPDQuMCBBTkQgZCBJUyBOT1QgTlVMTCkK KyAgICAgICAgIE9SIChkPj03OC4wIEFORCBkPDc5LjAgQU5EIGQgSVMgTk9UIE5VTEwpCisgICAg ICAgICBPUiAoZD49NDUuMCBBTkQgZDw0Ni4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAg T1IgYT04MQogICAgICAgICAgT1IgKGYgR0xPQiAnP2ZnaGkqJyBBTkQgZiBHTE9CICdlZmdoKicp CiAgICAgICAgICBPUiBmPSdtbm9wcXJzdHUnCkBAIC0zNDEzNSw3ICszNDEzNSw3IEBAIHRlc3Q6 ZG9fdGVzdCgKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDE0IEFORCAxNikgQU5EIGEhPTE1KQog ICAgICAgICAgT1IgYj02NjMKICAgICAgICAgIE9SIGI9OTA1Ci0gICAgICAgICBPUiAoZD49OTYu MCBBTkQgZDw5Ny4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTk2LjAgQU5EIGQ8 OTcuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9ODgzCiAgICAgICAgICBPUiBj PTIyMDIyCiAgICAgICAgICBPUiBiPTYzOApAQCAtMzQxNTUsNyArMzQxNTUsNyBAQCB0ZXN0OmRv X3Rlc3QoCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiAxNCBBTkQgMTYpIEFORCBhIT0xNSkKICAg ICAgICAgIE9SIGI9NjYzCiAgICAgICAgICBPUiBiPTkwNQotICAgICAgICAgT1IgKGQ+PTk2LjAg QU5EIGQ8OTcuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj05Ni4wIEFORCBkPDk3 LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTg4MwogICAgICAgICAgT1IgYz0y MjAyMgogICAgICAgICAgT1IgYj02MzgKQEAgLTM0MjE3LDEwICszNDIxNywxMCBAQCB0ZXN0OmRv X3Rlc3QoCiAgICAgICAgICBPUiAoZz0na2ppaGdmZScgQU5EIGYgR0xPQiAndXZ3eHkqJykKICAg ICAgICAgIE9SICgoYSBCRVRXRUVOIDUzIEFORCA1NSkgQU5EIGEhPTU0KQogICAgICAgICAgT1Ig YT0yNQotICAgICAgICAgT1IgKGQ+PTUuMCBBTkQgZDw2LjAgQU5EIGQgTk9UIE5VTEwpCi0gICAg ICAgICBPUiAoZD49MTMuMCBBTkQgZDwxNC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1Ig KGQ+PTUuMCBBTkQgZDw2LjAgQU5EIGQgSVMgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MTMu MCBBTkQgZDwxNC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgZj0nb3BxcnN0dXZ3 JwotICAgICAgICAgT1IgKGQ+PTUzLjAgQU5EIGQ8NTQuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAg ICAgIE9SIChkPj01My4wIEFORCBkPDU0LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBP UiBiPTkzOAogICBdXSkKICAgICBlbmQsIHsKQEAgLTM0MjQwLDEwICszNDI0MCwxMCBAQCB0ZXN0 OmRvX3Rlc3QoCiAgICAgICAgICBPUiAoZz0na2ppaGdmZScgQU5EIGYgR0xPQiAndXZ3eHkqJykK ICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDUzIEFORCA1NSkgQU5EIGEhPTU0KQogICAgICAgICAg T1IgYT0yNQotICAgICAgICAgT1IgKGQ+PTUuMCBBTkQgZDw2LjAgQU5EIGQgTk9UIE5VTEwpCi0g ICAgICAgICBPUiAoZD49MTMuMCBBTkQgZDwxNC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAg T1IgKGQ+PTUuMCBBTkQgZDw2LjAgQU5EIGQgSVMgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49 MTMuMCBBTkQgZDwxNC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgZj0nb3BxcnN0 dXZ3JwotICAgICAgICAgT1IgKGQ+PTUzLjAgQU5EIGQ8NTQuMCBBTkQgZCBOT1QgTlVMTCkKKyAg ICAgICAgIE9SIChkPj01My4wIEFORCBkPDU0LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAg ICBPUiBiPTkzOAogICBdXSkKICAgICBlbmQsIHsKQEAgLTM0MjU4LDcgKzM0MjU4LDcgQEAgdGVz dDpkb190ZXN0KAogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxF Q1QgYSBGUk9NIHQyCiAgICAgICBXSEVSRSAoZz0nbm1sa2ppaCcgQU5EIGYgR0xPQiAnZmdoaWoq JykKLSAgICAgICAgIE9SIChkPj0xNS4wIEFORCBkPDE2LjAgQU5EIGQgTk9UIE5VTEwpCisgICAg ICAgICBPUiAoZD49MTUuMCBBTkQgZDwxNi4wIEFORCBkIElTIE5PVCBOVUxMKQogICBdXSkKICAg ICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjkxNy4xPgpAQCAtMzQyNzIsNyArMzQyNzIs NyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAg ICAgIFNFTEVDVCBhIEZST00gdDMKICAgICAgIFdIRVJFIChnPSdubWxramloJyBBTkQgZiBHTE9C ICdmZ2hpaionKQotICAgICAgICAgT1IgKGQ+PTE1LjAgQU5EIGQ8MTYuMCBBTkQgZCBOT1QgTlVM TCkKKyAgICAgICAgIE9SIChkPj0xNS4wIEFORCBkPDE2LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAg IF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIuOTE3LjI+CkBAIC0zNDI5MCw3 ICszNDI5MCw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIGE9MzIKICAgICAgICAgIE9S IGI9MTEwCiAgICAgICAgICBPUiBiPTI5NwotICAgICAgICAgT1IgKGQ+PTEzLjAgQU5EIGQ8MTQu MCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0xMy4wIEFORCBkPDE0LjAgQU5EIGQg SVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA2MCBBTkQgNjIpIEFORCBhIT02 MSkKICAgICAgICAgIE9SIGY9J2doaWprbG1ubycKICAgICAgICAgIE9SIGI9NDczCkBAIC0zNDMx Miw3ICszNDMxMiw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIGE9MzIKICAgICAgICAg IE9SIGI9MTEwCiAgICAgICAgICBPUiBiPTI5NwotICAgICAgICAgT1IgKGQ+PTEzLjAgQU5EIGQ8 MTQuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0xMy4wIEFORCBkPDE0LjAgQU5E IGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA2MCBBTkQgNjIpIEFORCBh IT02MSkKICAgICAgICAgIE9SIGY9J2doaWprbG1ubycKICAgICAgICAgIE9SIGI9NDczCkBAIC0z NDMyOSwxNCArMzQzMjksMTQgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAgICAg ICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MgotICAg ICAgV0hFUkUgKGQ+PTMzLjAgQU5EIGQ8MzQuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJF IChkPj0zMy4wIEFORCBkPDM0LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTkw NQogICAgICAgICAgT1IgYT05NwogICAgICAgICAgT1IgKGc9J2hnZmVkY2InIEFORCBmIEdMT0Ig J2hpamtsKicpCiAgICAgICAgICBPUiBjPTI3MDI3CiAgICAgICAgICBPUiBmPSdiY2RlZmdoaWon Ci0gICAgICAgICBPUiAoZD49NTQuMCBBTkQgZDw1NS4wIEFORCBkIE5PVCBOVUxMKQotICAgICAg ICAgT1IgKGQ+PTI1LjAgQU5EIGQ8MjYuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChk Pj01NC4wIEFORCBkPDU1LjAgQU5EIGQgSVMgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MjUu MCBBTkQgZDwyNi4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4g MzggQU5EIDQwKSBBTkQgYSE9MzkpCiAgICAgICAgICBPUiAoZiBHTE9CICc/ZmdoaSonIEFORCBm IEdMT0IgJ2VmZ2gqJykKICAgXV0pCkBAIC0zNDM1MSwxNCArMzQzNTEsMTQgQEAgdGVzdDpkb190 ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sK ICAgICAgU0VMRUNUIGEgRlJPTSB0MwotICAgICAgV0hFUkUgKGQ+PTMzLjAgQU5EIGQ8MzQuMCBB TkQgZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChkPj0zMy4wIEFORCBkPDM0LjAgQU5EIGQgSVMg Tk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTkwNQogICAgICAgICAgT1IgYT05NwogICAgICAgICAg T1IgKGc9J2hnZmVkY2InIEFORCBmIEdMT0IgJ2hpamtsKicpCiAgICAgICAgICBPUiBjPTI3MDI3 CiAgICAgICAgICBPUiBmPSdiY2RlZmdoaWonCi0gICAgICAgICBPUiAoZD49NTQuMCBBTkQgZDw1 NS4wIEFORCBkIE5PVCBOVUxMKQotICAgICAgICAgT1IgKGQ+PTI1LjAgQU5EIGQ8MjYuMCBBTkQg ZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj01NC4wIEFORCBkPDU1LjAgQU5EIGQgSVMgTk9U IE5VTEwpCisgICAgICAgICBPUiAoZD49MjUuMCBBTkQgZDwyNi4wIEFORCBkIElTIE5PVCBOVUxM KQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMzggQU5EIDQwKSBBTkQgYSE9MzkpCiAgICAgICAg ICBPUiAoZiBHTE9CICc/ZmdoaSonIEFORCBmIEdMT0IgJ2VmZ2gqJykKICAgXV0pCkBAIC0zNDQx MCw3ICszNDQxMCw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIGI9ODI4CiAgICAgICAg ICBPUiBhPTg4CiAgICAgICAgICBPUiAoZz0ndHNycXBvbicgQU5EIGYgR0xPQiAneHl6YWIqJykK LSAgICAgICAgIE9SIChkPj02MC4wIEFORCBkPDYxLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAg ICBPUiAoZD49NjAuMCBBTkQgZDw2MS4wIEFORCBkIElTIE5PVCBOVUxMKQogICBdXSkKICAgICBl bmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjkyMS4xPgpAQCAtMzQ0MzIsNyArMzQ0MzIsNyBA QCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBiPTgyOAogICAgICAgICAgT1IgYT04OAogICAg ICAgICAgT1IgKGc9J3RzcnFwb24nIEFORCBmIEdMT0IgJ3h5emFiKicpCi0gICAgICAgICBPUiAo ZD49NjAuMCBBTkQgZDw2MS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTYwLjAg QU5EIGQ8NjEuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAgICAgZW5kLCB7CiAgICAgICAg IC0tIDx3aGVyZTctMi45MjEuMj4KQEAgLTM0NDQ1LDEwICszNDQ0NSwxMCBAQCB0ZXN0OmRvX3Rl c3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwog ICAgICBTRUxFQ1QgYSBGUk9NIHQyCi0gICAgICBXSEVSRSAoZD49MTcuMCBBTkQgZDwxOC4wIEFO RCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTE3LjAgQU5EIGQ8MTguMCBBTkQgZCBJUyBO T1QgTlVMTCkKICAgICAgICAgIE9SIChnPSdqaWhnZmVkJyBBTkQgZiBHTE9CICd4eXphYionKQog ICAgICAgICAgT1IgYj0zNjYKLSAgICAgICAgIE9SIChkPj0yOC4wIEFORCBkPDI5LjAgQU5EIGQg Tk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MjguMCBBTkQgZDwyOS4wIEFORCBkIElTIE5PVCBO VUxMKQogICAgICAgICAgT1IgYz0xNjAxNgogICAgICAgICAgT1IgKGc9J2VkY2JhenknIEFORCBm IEdMT0IgJ3d4eXphKicpCiAgICAgICAgICBPUiBjPTkwMDkKQEAgLTM0NDY0LDEwICszNDQ2NCwx MCBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291bnRf c3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQzCi0gICAgICBXSEVSRSAoZD49MTcu MCBBTkQgZDwxOC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTE3LjAgQU5EIGQ8 MTguMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChnPSdqaWhnZmVkJyBBTkQgZiBH TE9CICd4eXphYionKQogICAgICAgICAgT1IgYj0zNjYKLSAgICAgICAgIE9SIChkPj0yOC4wIEFO RCBkPDI5LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MjguMCBBTkQgZDwyOS4w IEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYz0xNjAxNgogICAgICAgICAgT1IgKGc9 J2VkY2JhenknIEFORCBmIEdMT0IgJ3d4eXphKicpCiAgICAgICAgICBPUiBjPTkwMDkKQEAgLTM0 NTE3LDcgKzM0NTE3LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICBTRUxFQ1QgYSBGUk9NIHQyCiAg ICAgICBXSEVSRSBiPTg2MQogICAgICAgICAgT1IgKGYgR0xPQiAnP3h5emEqJyBBTkQgZiBHTE9C ICd3eHl6KicpCi0gICAgICAgICBPUiAoZD49MjkuMCBBTkQgZDwzMC4wIEFORCBkIE5PVCBOVUxM KQorICAgICAgICAgT1IgKGQ+PTI5LjAgQU5EIGQ8MzAuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAg ICAgICAgIE9SIGI9NjgyCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA5MyBBTkQgOTUpIEFORCBh IT05NCkKICAgICAgICAgIE9SIGI9Mjg2CkBAIC0zNDUzNSw3ICszNDUzNSw3IEBAIHRlc3Q6ZG9f dGVzdCgKICAgICAgU0VMRUNUIGEgRlJPTSB0MwogICAgICAgV0hFUkUgYj04NjEKICAgICAgICAg IE9SIChmIEdMT0IgJz94eXphKicgQU5EIGYgR0xPQiAnd3h5eionKQotICAgICAgICAgT1IgKGQ+ PTI5LjAgQU5EIGQ8MzAuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0yOS4wIEFO RCBkPDMwLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTY4MgogICAgICAgICAg T1IgKChhIEJFVFdFRU4gOTMgQU5EIDk1KSBBTkQgYSE9OTQpCiAgICAgICAgICBPUiBiPTI4NgpA QCAtMzQ2MjEsNyArMzQ2MjEsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBiPTEwMTUK ICAgICAgICAgIE9SIChnPSdxcG9ubWxrJyBBTkQgZiBHTE9CICdxcnN0dSonKQogICAgICAgICAg T1IgYj05MTYKLSAgICAgICAgIE9SIChkPj0zMS4wIEFORCBkPDMyLjAgQU5EIGQgTk9UIE5VTEwp CisgICAgICAgICBPUiAoZD49MzEuMCBBTkQgZDwzMi4wIEFORCBkIElTIE5PVCBOVUxMKQogICAg ICAgICAgT1IgYj02OQogICAgICAgICAgT1IgKGc9J2hnZmVkY2InIEFORCBmIEdMT0IgJ2ZnaGlq KicpCiAgIF1dKQpAQCAtMzQ2NDIsNyArMzQ2NDIsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAg ICBPUiBiPTEwMTUKICAgICAgICAgIE9SIChnPSdxcG9ubWxrJyBBTkQgZiBHTE9CICdxcnN0dSon KQogICAgICAgICAgT1IgYj05MTYKLSAgICAgICAgIE9SIChkPj0zMS4wIEFORCBkPDMyLjAgQU5E IGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MzEuMCBBTkQgZDwzMi4wIEFORCBkIElTIE5P VCBOVUxMKQogICAgICAgICAgT1IgYj02OQogICAgICAgICAgT1IgKGc9J2hnZmVkY2InIEFORCBm IEdMT0IgJ2ZnaGlqKicpCiAgIF1dKQpAQCAtMzQ2NjEsNyArMzQ2NjEsNyBAQCB0ZXN0OmRvX3Rl c3QoCiAgICAgICAgICBPUiBhPTEKICAgICAgICAgIE9SIGY9J3V2d3h5emFiYycKICAgICAgICAg IE9SIGI9NDk4Ci0gICAgICAgICBPUiAoZD49MjAuMCBBTkQgZDwyMS4wIEFORCBkIE5PVCBOVUxM KQorICAgICAgICAgT1IgKGQ+PTIwLjAgQU5EIGQ8MjEuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAg ICAgICAgIE9SIGE9NjMKICAgICAgICAgIE9SIGY9J21ub3BxcnN0dScKICAgICAgICAgIE9SIChn PSdtbGtqaWhnJyBBTkQgZiBHTE9CICdpamtsbSonKQpAQCAtMzQ2ODQsNyArMzQ2ODQsNyBAQCB0 ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBhPTEKICAgICAgICAgIE9SIGY9J3V2d3h5emFiYycK ICAgICAgICAgIE9SIGI9NDk4Ci0gICAgICAgICBPUiAoZD49MjAuMCBBTkQgZDwyMS4wIEFORCBk IE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTIwLjAgQU5EIGQ8MjEuMCBBTkQgZCBJUyBOT1Qg TlVMTCkKICAgICAgICAgIE9SIGE9NjMKICAgICAgICAgIE9SIGY9J21ub3BxcnN0dScKICAgICAg ICAgIE9SIChnPSdtbGtqaWhnJyBBTkQgZiBHTE9CICdpamtsbSonKQpAQCAtMzQ3NzUsNyArMzQ3 NzUsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBiPTEwNzgKICAgICAgICAgIE9SICgo YSBCRVRXRUVOIDIxIEFORCAyMykgQU5EIGEhPTIyKQogICAgICAgICAgT1IgKGc9J21sa2ppaGcn IEFORCBmIEdMT0IgJ2lqa2xtKicpCi0gICAgICAgICBPUiAoZD49MjAuMCBBTkQgZDwyMS4wIEFO RCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTIwLjAgQU5EIGQ8MjEuMCBBTkQgZCBJUyBO T1QgTlVMTCkKICAgICAgICAgIE9SIGI9NDI5CiAgIF1dKQogICAgIGVuZCwgewpAQCAtMzQ3OTMs NyArMzQ3OTMsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBiPTEwNzgKICAgICAgICAg IE9SICgoYSBCRVRXRUVOIDIxIEFORCAyMykgQU5EIGEhPTIyKQogICAgICAgICAgT1IgKGc9J21s a2ppaGcnIEFORCBmIEdMT0IgJ2lqa2xtKicpCi0gICAgICAgICBPUiAoZD49MjAuMCBBTkQgZDwy MS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTIwLjAgQU5EIGQ8MjEuMCBBTkQg ZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9NDI5CiAgIF1dKQogICAgIGVuZCwgewpAQCAt MzQ4MDcsNyArMzQ4MDcsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAg ICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCi0gICAg ICBXSEVSRSAoZD49ODIuMCBBTkQgZDw4My4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUg KGQ+PTgyLjAgQU5EIGQ8ODMuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9MjY0 CiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA4NSBBTkQgODcpIEFORCBhIT04NikKICAgICAgICAg IE9SIGI9MTA0OApAQCAtMzQ4MjQsNyArMzQ4MjQsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVu Y3Rpb24oKQogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1Qg YSBGUk9NIHQzCi0gICAgICBXSEVSRSAoZD49ODIuMCBBTkQgZDw4My4wIEFORCBkIE5PVCBOVUxM KQorICAgICAgV0hFUkUgKGQ+PTgyLjAgQU5EIGQ8ODMuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAg ICAgICAgIE9SIGI9MjY0CiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA4NSBBTkQgODcpIEFORCBh IT04NikKICAgICAgICAgIE9SIGI9MTA0OApAQCAtMzQ4NzMsNyArMzQ4NzMsNyBAQCB0ZXN0OmRv X3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChb WwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCi0gICAgICBXSEVSRSAoZD49NTYuMCBBTkQgZDw1Ny4w IEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTU2LjAgQU5EIGQ8NTcuMCBBTkQgZCBJ UyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9ODU4CiAgICAgICAgICBPUiBhPTU4CiAgICAgICAg ICBPUiAoZz0nb25tbGtqaScgQU5EIGYgR0xPQiAneHl6YWIqJykKQEAgLTM0ODk0LDcgKzM0ODk0 LDcgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAgICAgICAgcmV0dXJuIGNvdW50 X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MwotICAgICAgV0hFUkUgKGQ+PTU2 LjAgQU5EIGQ8NTcuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChkPj01Ni4wIEFORCBk PDU3LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTg1OAogICAgICAgICAgT1Ig YT01OAogICAgICAgICAgT1IgKGc9J29ubWxramknIEFORCBmIEdMT0IgJ3h5emFiKicpCkBAIC0z NDk5Niw4ICszNDk5Niw4IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIChmIEdMT0IgJz95 emFiKicgQU5EIGYgR0xPQiAneHl6YSonKQogICAgICAgICAgT1IgYT01OQogICAgICAgICAgT1Ig Yj00NAotICAgICAgICAgT1IgKGQ+PTE0LjAgQU5EIGQ8MTUuMCBBTkQgZCBOT1QgTlVMTCkKLSAg ICAgICAgIE9SIChkPj01OS4wIEFORCBkPDYwLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBP UiAoZD49MTQuMCBBTkQgZDwxNS4wIEFORCBkIElTIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+ PTU5LjAgQU5EIGQ8NjAuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAgICAgZW5kLCB7CiAg ICAgICAgIC0tIDx3aGVyZTctMi45MzcuMT4KQEAgLTM1MDE3LDggKzM1MDE3LDggQEAgdGVzdDpk b190ZXN0KAogICAgICAgICAgT1IgKGYgR0xPQiAnP3l6YWIqJyBBTkQgZiBHTE9CICd4eXphKicp CiAgICAgICAgICBPUiBhPTU5CiAgICAgICAgICBPUiBiPTQ0Ci0gICAgICAgICBPUiAoZD49MTQu MCBBTkQgZDwxNS4wIEFORCBkIE5PVCBOVUxMKQotICAgICAgICAgT1IgKGQ+PTU5LjAgQU5EIGQ8 NjAuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0xNC4wIEFORCBkPDE1LjAgQU5E IGQgSVMgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NTkuMCBBTkQgZDw2MC4wIEFORCBkIElT IE5PVCBOVUxMKQogICBdXSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjkzNy4y PgpAQCAtMzUwMzIsNyArMzUwMzIsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgIHJldHVybiBj b3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIKICAgICAgIFdIRVJFIGI9 NTY0Ci0gICAgICAgICBPUiAoZD49OTMuMCBBTkQgZDw5NC4wIEFORCBkIE5PVCBOVUxMKQorICAg ICAgICAgT1IgKGQ+PTkzLjAgQU5EIGQ8OTQuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAg IE9SIGI9NDUxCiAgICAgICAgICBPUiBiPTMzMAogICAgICAgICAgT1IgYT00NwpAQCAtMzUwNTAs NyArMzUwNTAsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19z b3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDMKICAgICAgIFdIRVJFIGI9NTY0Ci0gICAgICAg ICBPUiAoZD49OTMuMCBBTkQgZDw5NC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+ PTkzLjAgQU5EIGQ8OTQuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9NDUxCiAg ICAgICAgICBPUiBiPTMzMAogICAgICAgICAgT1IgYT00NwpAQCAtMzUwOTcsMTIgKzM1MDk3LDEy IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgU0VMRUNUIGEgRlJPTSB0MgogICAgICAgV0hFUkUgYj05 MjQKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDYgQU5EIDgpIEFORCBhIT03KQotICAgICAgICAg T1IgKGQ+PTM2LjAgQU5EIGQ8MzcuMCBBTkQgZCBOT1QgTlVMTCkKLSAgICAgICAgIE9SIChkPj00 MC4wIEFORCBkPDQxLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MzYuMCBBTkQg ZDwzNy4wIEFORCBkIElTIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTQwLjAgQU5EIGQ8NDEu MCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGE9MTAwCiAgICAgICAgICBPUiBjPTE1 MDE1Ci0gICAgICAgICBPUiAoZD49ODIuMCBBTkQgZDw4My4wIEFORCBkIE5PVCBOVUxMKQotICAg ICAgICAgT1IgKGQ+PTIuMCBBTkQgZDwzLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAo ZD49ODIuMCBBTkQgZDw4My4wIEFORCBkIElTIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTIu MCBBTkQgZDwzLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAgICAg ICAtLSA8d2hlcmU3LTIuOTQwLjE+CkBAIC0zNTExNywxMiArMzUxMTcsMTIgQEAgdGVzdDpkb190 ZXN0KAogICAgICBTRUxFQ1QgYSBGUk9NIHQzCiAgICAgICBXSEVSRSBiPTkyNAogICAgICAgICAg T1IgKChhIEJFVFdFRU4gNiBBTkQgOCkgQU5EIGEhPTcpCi0gICAgICAgICBPUiAoZD49MzYuMCBB TkQgZDwzNy4wIEFORCBkIE5PVCBOVUxMKQotICAgICAgICAgT1IgKGQ+PTQwLjAgQU5EIGQ8NDEu MCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0zNi4wIEFORCBkPDM3LjAgQU5EIGQg SVMgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NDAuMCBBTkQgZDw0MS4wIEFORCBkIElTIE5P VCBOVUxMKQogICAgICAgICAgT1IgYT0xMDAKICAgICAgICAgIE9SIGM9MTUwMTUKLSAgICAgICAg IE9SIChkPj04Mi4wIEFORCBkPDgzLjAgQU5EIGQgTk9UIE5VTEwpCi0gICAgICAgICBPUiAoZD49 Mi4wIEFORCBkPDMuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj04Mi4wIEFORCBk PDgzLjAgQU5EIGQgSVMgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49Mi4wIEFORCBkPDMuMCBB TkQgZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTct Mi45NDAuMj4KQEAgLTM1MTM1LDkgKzM1MTM1LDkgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0 aW9uKCkKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEg RlJPTSB0MgotICAgICAgV0hFUkUgKGQ+PTYzLjAgQU5EIGQ8NjQuMCBBTkQgZCBOT1QgTlVMTCkK LSAgICAgICAgIE9SIChkPj00NC4wIEFORCBkPDQ1LjAgQU5EIGQgTk9UIE5VTEwpCi0gICAgICAg ICBPUiAoZD49MzYuMCBBTkQgZDwzNy4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+ PTYzLjAgQU5EIGQ8NjQuMCBBTkQgZCBJUyBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj00NC4w IEFORCBkPDQ1LjAgQU5EIGQgSVMgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MzYuMCBBTkQg ZDwzNy4wIEFORCBkIElTIE5PVCBOVUxMKQogICBdXSkKICAgICBlbmQsIHsKICAgICAgICAgLS0g PHdoZXJlNy0yLjk0MS4xPgpAQCAtMzUxNTAsOSArMzUxNTAsOSBAQCB0ZXN0OmRvX3Rlc3QoCiAg ICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBT RUxFQ1QgYSBGUk9NIHQzCi0gICAgICBXSEVSRSAoZD49NjMuMCBBTkQgZDw2NC4wIEFORCBkIE5P VCBOVUxMKQotICAgICAgICAgT1IgKGQ+PTQ0LjAgQU5EIGQ8NDUuMCBBTkQgZCBOT1QgTlVMTCkK LSAgICAgICAgIE9SIChkPj0zNi4wIEFORCBkPDM3LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBX SEVSRSAoZD49NjMuMCBBTkQgZDw2NC4wIEFORCBkIElTIE5PVCBOVUxMKQorICAgICAgICAgT1Ig KGQ+PTQ0LjAgQU5EIGQ8NDUuMCBBTkQgZCBJUyBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0z Ni4wIEFORCBkPDM3LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAg ICAgICAtLSA8d2hlcmU3LTIuOTQxLjI+CkBAIC0zNTIxMiw3ICszNTIxMiw3IEBAIHRlc3Q6ZG9f dGVzdCgKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEg RlJPTSB0MgogICAgICAgV0hFUkUgYT05NgotICAgICAgICAgT1IgKGQ+PTIzLjAgQU5EIGQ8MjQu MCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0yMy4wIEFORCBkPDI0LjAgQU5EIGQg SVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoZz0ncG9ubWxraicgQU5EIGYgR0xPQiAndnd4eXoq JykKICAgICAgICAgIE9SIChmIEdMT0IgJz9mZ2hpKicgQU5EIGYgR0xPQiAnZWZnaConKQogICAg ICAgICAgT1IgKChhIEJFVFdFRU4gMzcgQU5EIDM5KSBBTkQgYSE9MzgpCkBAIC0zNTIzNSw3ICsz NTIzNSw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQo W1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MwogICAgICAgV0hFUkUgYT05NgotICAgICAgICAgT1Ig KGQ+PTIzLjAgQU5EIGQ8MjQuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0yMy4w IEFORCBkPDI0LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoZz0ncG9ubWxraicg QU5EIGYgR0xPQiAndnd4eXoqJykKICAgICAgICAgIE9SIChmIEdMT0IgJz9mZ2hpKicgQU5EIGYg R0xPQiAnZWZnaConKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMzcgQU5EIDM5KSBBTkQgYSE9 MzgpCkBAIC0zNTI2Myw3ICszNTI2Myw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIGI9 NzczCiAgICAgICAgICBPUiBhPTEKICAgICAgICAgIE9SIGI9NzI2Ci0gICAgICAgICBPUiAoZD49 OTkuMCBBTkQgZDwxMDAuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj05OS4wIEFO RCBkPDEwMC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gODcg QU5EIDg5KSBBTkQgYSE9ODgpCiAgICAgICAgICBPUiBiPTExMAogICBdXSkKQEAgLTM1Mjg0LDcg KzM1Mjg0LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgYj03NzMKICAgICAgICAgIE9S IGE9MQogICAgICAgICAgT1IgYj03MjYKLSAgICAgICAgIE9SIChkPj05OS4wIEFORCBkPDEwMC4w IEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTk5LjAgQU5EIGQ8MTAwLjAgQU5EIGQg SVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA4NyBBTkQgODkpIEFORCBhIT04 OCkKICAgICAgICAgIE9SIGI9MTEwCiAgIF1dKQpAQCAtMzUzMDYsNyArMzUzMDYsNyBAQCB0ZXN0 OmRvX3Rlc3QoCiAgICAgICAgICBPUiAoZz0naWhnZmVkYycgQU5EIGYgR0xPQiAnYmNkZWYqJykK ICAgICAgICAgIE9SIGE9NDQKICAgICAgICAgIE9SIGE9MzYKLSAgICAgICAgIE9SIChkPj03Ni4w IEFORCBkPDc3LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NzYuMCBBTkQgZDw3 Ny4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKGc9J3Z1dHNycXAnIEFORCBmIEdM T0IgJ3Fyc3R1KicpCiAgICAgICAgICBPUiBiPTcxNQogICAgICAgICAgT1IgKGc9J3Z1dHNycXAn IEFORCBmIEdMT0IgJ3Fyc3R1KicpCkBAIC0zNTMyOSw3ICszNTMyOSw3IEBAIHRlc3Q6ZG9fdGVz dCgKICAgICAgICAgIE9SIChnPSdpaGdmZWRjJyBBTkQgZiBHTE9CICdiY2RlZionKQogICAgICAg ICAgT1IgYT00NAogICAgICAgICAgT1IgYT0zNgotICAgICAgICAgT1IgKGQ+PTc2LjAgQU5EIGQ8 NzcuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj03Ni4wIEFORCBkPDc3LjAgQU5E IGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoZz0ndnV0c3JxcCcgQU5EIGYgR0xPQiAncXJz dHUqJykKICAgICAgICAgIE9SIGI9NzE1CiAgICAgICAgICBPUiAoZz0ndnV0c3JxcCcgQU5EIGYg R0xPQiAncXJzdHUqJykKQEAgLTM1MzQ3LDExICszNTM0NywxMSBAQCB0ZXN0OmRvX3Rlc3QoCiAg ICAgIFNFTEVDVCBhIEZST00gdDIKICAgICAgIFdIRVJFICgoYSBCRVRXRUVOIDMgQU5EIDUpIEFO RCBhIT00KQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNTYgQU5EIDU4KSBBTkQgYSE9NTcpCi0g ICAgICAgICBPUiAoZD49MTUuMCBBTkQgZDwxNi4wIEFORCBkIE5PVCBOVUxMKQotICAgICAgICAg T1IgKGQ+PTU1LjAgQU5EIGQ8NTYuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0x NS4wIEFORCBkPDE2LjAgQU5EIGQgSVMgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NTUuMCBB TkQgZDw1Ni4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKGc9J2ppaGdmZWQnIEFO RCBmIEdMT0IgJ3l6YWJjKicpCiAgICAgICAgICBPUiBhPTI0Ci0gICAgICAgICBPUiAoZD49OTku MCBBTkQgZDwxMDAuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj05OS4wIEFORCBk PDEwMC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKGYgR0xPQiAnP2JjZGUqJyBB TkQgZiBHTE9CICdhYmNkKicpCiAgIF1dKQogICAgIGVuZCwgewpAQCAtMzUzNjcsMTEgKzM1MzY3 LDExIEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgU0VMRUNUIGEgRlJPTSB0MwogICAgICAgV0hFUkUg KChhIEJFVFdFRU4gMyBBTkQgNSkgQU5EIGEhPTQpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA1 NiBBTkQgNTgpIEFORCBhIT01NykKLSAgICAgICAgIE9SIChkPj0xNS4wIEFORCBkPDE2LjAgQU5E IGQgTk9UIE5VTEwpCi0gICAgICAgICBPUiAoZD49NTUuMCBBTkQgZDw1Ni4wIEFORCBkIE5PVCBO VUxMKQorICAgICAgICAgT1IgKGQ+PTE1LjAgQU5EIGQ8MTYuMCBBTkQgZCBJUyBOT1QgTlVMTCkK KyAgICAgICAgIE9SIChkPj01NS4wIEFORCBkPDU2LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAg ICAgICBPUiAoZz0namloZ2ZlZCcgQU5EIGYgR0xPQiAneXphYmMqJykKICAgICAgICAgIE9SIGE9 MjQKLSAgICAgICAgIE9SIChkPj05OS4wIEFORCBkPDEwMC4wIEFORCBkIE5PVCBOVUxMKQorICAg ICAgICAgT1IgKGQ+PTk5LjAgQU5EIGQ8MTAwLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAg ICBPUiAoZiBHTE9CICc/YmNkZSonIEFORCBmIEdMT0IgJ2FiY2QqJykKICAgXV0pCiAgICAgZW5k LCB7CkBAIC0zNTQyNiw3ICszNTQyNiw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgIFdIRVJFIGE9 MjgKICAgICAgICAgIE9SIGI9OTI3CiAgICAgICAgICBPUiBiPTUyMAotICAgICAgICAgT1IgKGQ+ PTUzLjAgQU5EIGQ8NTQuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj01My4wIEFO RCBkPDU0LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTYzOAogICAgICAgICAg T1IgZj0ndnd4eXphYmNkJwogICBdXSkKQEAgLTM1NDQ0LDcgKzM1NDQ0LDcgQEAgdGVzdDpkb190 ZXN0KAogICAgICAgV0hFUkUgYT0yOAogICAgICAgICAgT1IgYj05MjcKICAgICAgICAgIE9SIGI9 NTIwCi0gICAgICAgICBPUiAoZD49NTMuMCBBTkQgZDw1NC4wIEFORCBkIE5PVCBOVUxMKQorICAg ICAgICAgT1IgKGQ+PTUzLjAgQU5EIGQ8NTQuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAg IE9SIGI9NjM4CiAgICAgICAgICBPUiBmPSd2d3h5emFiY2QnCiAgIF1dKQpAQCAtMzU0NjEsMTEg KzM1NDYxLDExIEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgU0VMRUNUIGEgRlJPTSB0MgogICAgICAg V0hFUkUgKGc9J25tbGtqaWgnIEFORCBmIEdMT0IgJ2NkZWZnKicpCiAgICAgICAgICBPUiBiPTEw MjYKLSAgICAgICAgIE9SIChkPj0xLjAgQU5EIGQ8Mi4wIEFORCBkIE5PVCBOVUxMKQorICAgICAg ICAgT1IgKGQ+PTEuMCBBTkQgZDwyLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAo Zz0nd3Z1dHNycScgQU5EIGYgR0xPQiAnbG1ub3AqJykKICAgICAgICAgIE9SIGI9MzU1CiAgICAg ICAgICBPUiBiPTY0MQotICAgICAgICAgT1IgKGQ+PTUzLjAgQU5EIGQ8NTQuMCBBTkQgZCBOT1Qg TlVMTCkKKyAgICAgICAgIE9SIChkPj01My4wIEFORCBkPDU0LjAgQU5EIGQgSVMgTk9UIE5VTEwp CiAgIF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIuOTQ5LjE+CkBAIC0zNTQ4 MCwxMSArMzU0ODAsMTEgQEAgdGVzdDpkb190ZXN0KAogICAgICBTRUxFQ1QgYSBGUk9NIHQzCiAg ICAgICBXSEVSRSAoZz0nbm1sa2ppaCcgQU5EIGYgR0xPQiAnY2RlZmcqJykKICAgICAgICAgIE9S IGI9MTAyNgotICAgICAgICAgT1IgKGQ+PTEuMCBBTkQgZDwyLjAgQU5EIGQgTk9UIE5VTEwpCisg ICAgICAgICBPUiAoZD49MS4wIEFORCBkPDIuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAg IE9SIChnPSd3dnV0c3JxJyBBTkQgZiBHTE9CICdsbW5vcConKQogICAgICAgICAgT1IgYj0zNTUK ICAgICAgICAgIE9SIGI9NjQxCi0gICAgICAgICBPUiAoZD49NTMuMCBBTkQgZDw1NC4wIEFORCBk IE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTUzLjAgQU5EIGQ8NTQuMCBBTkQgZCBJUyBOT1Qg TlVMTCkKICAgXV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi45NDkuMj4KQEAg LTM1NTAyLDcgKzM1NTAyLDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgYj02NDEKICAg ICAgICAgIE9SIGE9MwogICAgICAgICAgT1IgYT0zNQotICAgICAgICAgT1IgKGQ+PTgxLjAgQU5E IGQ8ODIuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj04MS4wIEFORCBkPDgyLjAg QU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBmPSdvcHFyc3R1dncnCiAgICAgICAgICBP UiBhPTQxCiAgICAgICAgICBPUiBhPTgzCkBAIC0zNTUyNSw3ICszNTUyNSw3IEBAIHRlc3Q6ZG9f dGVzdCgKICAgICAgICAgIE9SIGI9NjQxCiAgICAgICAgICBPUiBhPTMKICAgICAgICAgIE9SIGE9 MzUKLSAgICAgICAgIE9SIChkPj04MS4wIEFORCBkPDgyLjAgQU5EIGQgTk9UIE5VTEwpCisgICAg ICAgICBPUiAoZD49ODEuMCBBTkQgZDw4Mi4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAg T1IgZj0nb3BxcnN0dXZ3JwogICAgICAgICAgT1IgYT00MQogICAgICAgICAgT1IgYT04MwpAQCAt MzU1NDgsNyArMzU1NDgsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBjPTE1MDE1CiAg ICAgICAgICBPUiBiPTE0NgogICAgICAgICAgT1IgYj0xMDkyCi0gICAgICAgICBPUiAoZD49NjAu MCBBTkQgZDw2MS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTYwLjAgQU5EIGQ8 NjEuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgXV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3 aGVyZTctMi45NTEuMT4KQEAgLTM1NTY2LDcgKzM1NTY2LDcgQEAgdGVzdDpkb190ZXN0KAogICAg ICAgICAgT1IgYz0xNTAxNQogICAgICAgICAgT1IgYj0xNDYKICAgICAgICAgIE9SIGI9MTA5Mgot ICAgICAgICAgT1IgKGQ+PTYwLjAgQU5EIGQ8NjEuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAg IE9SIChkPj02MC4wIEFORCBkPDYxLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVu ZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIuOTUxLjI+CkBAIC0zNTU4NCwxMiArMzU1ODQsMTIg QEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgZj0naGlqa2xtbm9wJwogICAgICAgICAgT1Ig YT02NQogICAgICAgICAgT1IgZj0naWprbG1ub3BxJwotICAgICAgICAgT1IgKGQ+PTc5LjAgQU5E IGQ8ODAuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj03OS4wIEFORCBkPDgwLjAg QU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBnIElTIE5VTEwKICAgICAgICAgIE9SIGE9 MjYKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDM4IEFORCA0MCkgQU5EIGEhPTM5KQogICAgICAg ICAgT1IgYT05Ci0gICAgICAgICBPUiAoZD49MzIuMCBBTkQgZDwzMy4wIEFORCBkIE5PVCBOVUxM KQorICAgICAgICAgT1IgKGQ+PTMyLjAgQU5EIGQ8MzMuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAg XV0pCiAgICAgZW5kLCB7CiAgICAgICAgIC0tIDx3aGVyZTctMi45NTIuMT4KQEAgLTM1NjA3LDEy ICszNTYwNywxMiBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBmPSdoaWprbG1ub3AnCiAg ICAgICAgICBPUiBhPTY1CiAgICAgICAgICBPUiBmPSdpamtsbW5vcHEnCi0gICAgICAgICBPUiAo ZD49NzkuMCBBTkQgZDw4MC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTc5LjAg QU5EIGQ8ODAuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGcgSVMgTlVMTAogICAg ICAgICAgT1IgYT0yNgogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMzggQU5EIDQwKSBBTkQgYSE9 MzkpCiAgICAgICAgICBPUiBhPTkKLSAgICAgICAgIE9SIChkPj0zMi4wIEFORCBkPDMzLjAgQU5E IGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MzIuMCBBTkQgZDwzMy4wIEFORCBkIElTIE5P VCBOVUxMKQogICBdXSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjk1Mi4yPgpA QCAtMzU2OTgsNyArMzU2OTgsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgIHJldHVybiBjb3Vu dF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIKICAgICAgIFdIRVJFIGM9MzAw MwotICAgICAgICAgT1IgKGQ+PTY3LjAgQU5EIGQ8NjguMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAg ICAgIE9SIChkPj02Ny4wIEFORCBkPDY4LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBP UiBhPTkzCiAgIF1dKQogICAgIGVuZCwgewpAQCAtMzU3MTMsNyArMzU3MTMsNyBAQCB0ZXN0OmRv X3Rlc3QoCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBh IEZST00gdDMKICAgICAgIFdIRVJFIGM9MzAwMwotICAgICAgICAgT1IgKGQ+PTY3LjAgQU5EIGQ8 NjguMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj02Ny4wIEFORCBkPDY4LjAgQU5E IGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBhPTkzCiAgIF1dKQogICAgIGVuZCwgewpAQCAt MzU3MjcsMTAgKzM1NzI3LDEwIEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAg ICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIKLSAg ICAgIFdIRVJFIChkPj00Mi4wIEFORCBkPDQzLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBXSEVS RSAoZD49NDIuMCBBTkQgZDw0My4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKGc9 J3Bvbm1sa2onIEFORCBmIEdMT0IgJ3N0dXZ3KicpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiAy MSBBTkQgMjMpIEFORCBhIT0yMikKLSAgICAgICAgIE9SIChkPj0xMi4wIEFORCBkPDEzLjAgQU5E IGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MTIuMCBBTkQgZDwxMy4wIEFORCBkIElTIE5P VCBOVUxMKQogICAgICAgICAgT1IgYj03MzcKICAgXV0pCiAgICAgZW5kLCB7CkBAIC0zNTc0NCwx MCArMzU3NDQsMTAgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAgICAgICAgcmV0 dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MwotICAgICAgV0hF UkUgKGQ+PTQyLjAgQU5EIGQ8NDMuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChkPj00 Mi4wIEFORCBkPDQzLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoZz0ncG9ubWxr aicgQU5EIGYgR0xPQiAnc3R1dncqJykKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDIxIEFORCAy MykgQU5EIGEhPTIyKQotICAgICAgICAgT1IgKGQ+PTEyLjAgQU5EIGQ8MTMuMCBBTkQgZCBOT1Qg TlVMTCkKKyAgICAgICAgIE9SIChkPj0xMi4wIEFORCBkPDEzLjAgQU5EIGQgSVMgTk9UIE5VTEwp CiAgICAgICAgICBPUiBiPTczNwogICBdXSkKICAgICBlbmQsIHsKQEAgLTM1ODI1LDEwICszNTgy NSwxMCBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291 bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCi0gICAgICBXSEVSRSAoZD49 MTIuMCBBTkQgZDwxMy4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTEyLjAgQU5E IGQ8MTMuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDU5IEFO RCA2MSkgQU5EIGEhPTYwKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gODYgQU5EIDg4KSBBTkQg YSE9ODcpCi0gICAgICAgICBPUiAoZD49MzguMCBBTkQgZDwzOS4wIEFORCBkIE5PVCBOVUxMKQor ICAgICAgICAgT1IgKGQ+PTM4LjAgQU5EIGQ8MzkuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAg ICAgIE9SIGI9MjQ1CiAgICAgICAgICBPUiBiPTUyOAogICAgICAgICAgT1IgYj0zNjYKQEAgLTM1 ODQ4LDEwICszNTg0OCwxMCBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAg ICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQzCi0gICAg ICBXSEVSRSAoZD49MTIuMCBBTkQgZDwxMy4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUg KGQ+PTEyLjAgQU5EIGQ8MTMuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SICgoYSBC RVRXRUVOIDU5IEFORCA2MSkgQU5EIGEhPTYwKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gODYg QU5EIDg4KSBBTkQgYSE9ODcpCi0gICAgICAgICBPUiAoZD49MzguMCBBTkQgZDwzOS4wIEFORCBk IE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTM4LjAgQU5EIGQ8MzkuMCBBTkQgZCBJUyBOT1Qg TlVMTCkKICAgICAgICAgIE9SIGI9MjQ1CiAgICAgICAgICBPUiBiPTUyOAogICAgICAgICAgT1Ig Yj0zNjYKQEAgLTM1ODcxLDcgKzM1ODcxLDcgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9u KCkKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJP TSB0MgotICAgICAgV0hFUkUgKGQ+PTEwMC4wIEFORCBkPDEwMS4wIEFORCBkIE5PVCBOVUxMKQor ICAgICAgV0hFUkUgKGQ+PTEwMC4wIEFORCBkPDEwMS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAg ICAgICAgT1IgKChhIEJFVFdFRU4gOCBBTkQgMTApIEFORCBhIT05KQogICAgICAgICAgT1IgKChh IEJFVFdFRU4gODYgQU5EIDg4KSBBTkQgYSE9ODcpCiAgICAgICAgICBPUiBiPTE0NgpAQCAtMzU4 OTMsNyArMzU4OTMsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICBy ZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQzCi0gICAgICBX SEVSRSAoZD49MTAwLjAgQU5EIGQ8MTAxLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAo ZD49MTAwLjAgQU5EIGQ8MTAxLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoKGEg QkVUV0VFTiA4IEFORCAxMCkgQU5EIGEhPTkpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiA4NiBB TkQgODgpIEFORCBhIT04NykKICAgICAgICAgIE9SIGI9MTQ2CkBAIC0zNjAxOCw3ICszNjAxOCw3 IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAg ICAgU0VMRUNUIGEgRlJPTSB0MgogICAgICAgV0hFUkUgYj02MzgKLSAgICAgICAgIE9SIChkPj00 NC4wIEFORCBkPDQ1LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NDQuMCBBTkQg ZDw0NS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKGc9J2dmZWRjYmEnIEFORCBm IEdMT0IgJ2xtbm9wKicpCiAgICAgICAgICBPUiBiPTE2NQogICAgICAgICAgT1IgKChhIEJFVFdF RU4gMTAgQU5EIDEyKSBBTkQgYSE9MTEpCkBAIC0zNjA0MCw3ICszNjA0MCw3IEBAIHRlc3Q6ZG9f dGVzdCgKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEg RlJPTSB0MwogICAgICAgV0hFUkUgYj02MzgKLSAgICAgICAgIE9SIChkPj00NC4wIEFORCBkPDQ1 LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NDQuMCBBTkQgZDw0NS4wIEFORCBk IElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKGc9J2dmZWRjYmEnIEFORCBmIEdMT0IgJ2xtbm9w KicpCiAgICAgICAgICBPUiBiPTE2NQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMTAgQU5EIDEy KSBBTkQgYSE9MTEpCkBAIC0zNjA2MSwxMiArMzYwNjEsMTIgQEAgdGVzdDpkb190ZXN0KAogICAg IGZ1bmN0aW9uKCkKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VM RUNUIGEgRlJPTSB0MgotICAgICAgV0hFUkUgKGQ+PTUyLjAgQU5EIGQ8NTMuMCBBTkQgZCBOT1Qg TlVMTCkKKyAgICAgIFdIRVJFIChkPj01Mi4wIEFORCBkPDUzLjAgQU5EIGQgSVMgTk9UIE5VTEwp CiAgICAgICAgICBPUiBmPSdvcHFyc3R1dncnCiAgICAgICAgICBPUiBhPTgzCiAgICAgICAgICBP UiBhPTkzCiAgICAgICAgICBPUiBiPTg1OAotICAgICAgICAgT1IgKGQ+PTE4LjAgQU5EIGQ8MTku MCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0xOC4wIEFORCBkPDE5LjAgQU5EIGQg SVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoZz0namloZ2ZlZCcgQU5EIGYgR0xPQiAndnd4eXoq JykKICAgXV0pCiAgICAgZW5kLCB7CkBAIC0zNjA4MCwxMiArMzYwODAsMTIgQEAgdGVzdDpkb190 ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sK ICAgICAgU0VMRUNUIGEgRlJPTSB0MwotICAgICAgV0hFUkUgKGQ+PTUyLjAgQU5EIGQ8NTMuMCBB TkQgZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChkPj01Mi4wIEFORCBkPDUzLjAgQU5EIGQgSVMg Tk9UIE5VTEwpCiAgICAgICAgICBPUiBmPSdvcHFyc3R1dncnCiAgICAgICAgICBPUiBhPTgzCiAg ICAgICAgICBPUiBhPTkzCiAgICAgICAgICBPUiBiPTg1OAotICAgICAgICAgT1IgKGQ+PTE4LjAg QU5EIGQ8MTkuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0xOC4wIEFORCBkPDE5 LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoZz0namloZ2ZlZCcgQU5EIGYgR0xP QiAndnd4eXoqJykKICAgXV0pCiAgICAgZW5kLCB7CkBAIC0zNjEyOSw3ICszNjEyOSw3IEBAIHRl c3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19z b3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIKLSAgICAgIFdIRVJFIChkPj02MC4wIEFORCBk PDYxLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49NjAuMCBBTkQgZDw2MS4wIEFO RCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNTAgQU5EIDUyKSBBTkQg YSE9NTEpCiAgIF1dKQogICAgIGVuZCwgewpAQCAtMzYxNDMsNyArMzYxNDMsNyBAQCB0ZXN0OmRv X3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChb WwogICAgICBTRUxFQ1QgYSBGUk9NIHQzCi0gICAgICBXSEVSRSAoZD49NjAuMCBBTkQgZDw2MS4w IEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTYwLjAgQU5EIGQ8NjEuMCBBTkQgZCBJ UyBOT1QgTlVMTCkKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDUwIEFORCA1MikgQU5EIGEhPTUx KQogICBdXSkKICAgICBlbmQsIHsKQEAgLTM2MTkzLDcgKzM2MTkzLDcgQEAgdGVzdDpkb190ZXN0 KAogICAgICBTRUxFQ1QgYSBGUk9NIHQyCiAgICAgICBXSEVSRSAoZz0nZmVkY2JheicgQU5EIGYg R0xPQiAncnN0dXYqJykKICAgICAgICAgIE9SIGI9NzQ4Ci0gICAgICAgICBPUiAoZD49OTcuMCBB TkQgZDw5OC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTk3LjAgQU5EIGQ8OTgu MCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDY5IEFORCA3MSkg QU5EIGEhPTcwKQogICAgICAgICAgT1IgYj01MzEKICAgICAgICAgIE9SIGI9MTA5MgpAQCAtMzYy MTIsNyArMzYyMTIsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgIFNFTEVDVCBhIEZST00gdDMKICAg ICAgIFdIRVJFIChnPSdmZWRjYmF6JyBBTkQgZiBHTE9CICdyc3R1dionKQogICAgICAgICAgT1Ig Yj03NDgKLSAgICAgICAgIE9SIChkPj05Ny4wIEFORCBkPDk4LjAgQU5EIGQgTk9UIE5VTEwpCisg ICAgICAgICBPUiAoZD49OTcuMCBBTkQgZDw5OC4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAg ICAgT1IgKChhIEJFVFdFRU4gNjkgQU5EIDcxKSBBTkQgYSE9NzApCiAgICAgICAgICBPUiBiPTUz MQogICAgICAgICAgT1IgYj0xMDkyCkBAIC0zNjIyOSw3ICszNjIyOSw3IEBAIHRlc3Q6ZG9fdGVz dCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAg ICAgIFNFTEVDVCBhIEZST00gdDIKLSAgICAgIFdIRVJFIChkPj0zMC4wIEFORCBkPDMxLjAgQU5E IGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49MzAuMCBBTkQgZDwzMS4wIEFORCBkIElTIE5P VCBOVUxMKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gOCBBTkQgMTApIEFORCBhIT05KQogICAg ICAgICAgT1IgKGYgR0xPQiAnP3BxcnMqJyBBTkQgZiBHTE9CICdvcHFyKicpCiAgICAgICAgICBP UiBhPTUwCkBAIC0zNjI0Nyw3ICszNjI0Nyw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlv bigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZS T00gdDMKLSAgICAgIFdIRVJFIChkPj0zMC4wIEFORCBkPDMxLjAgQU5EIGQgTk9UIE5VTEwpCisg ICAgICBXSEVSRSAoZD49MzAuMCBBTkQgZDwzMS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAg ICAgT1IgKChhIEJFVFdFRU4gOCBBTkQgMTApIEFORCBhIT05KQogICAgICAgICAgT1IgKGYgR0xP QiAnP3BxcnMqJyBBTkQgZiBHTE9CICdvcHFyKicpCiAgICAgICAgICBPUiBhPTUwCkBAIC0zNjI2 OCwxMCArMzYyNjgsMTAgQEAgdGVzdDpkb190ZXN0KAogICAgICAgV0hFUkUgYT0yNAogICAgICAg ICAgT1IgKChhIEJFVFdFRU4gMjIgQU5EIDI0KSBBTkQgYSE9MjMpCiAgICAgICAgICBPUiBiPTQ4 NwotICAgICAgICAgT1IgKGQ+PTk2LjAgQU5EIGQ8OTcuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAg ICAgIE9SIChkPj05Ni4wIEFORCBkPDk3LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBP UiAoKGEgQkVUV0VFTiAxMyBBTkQgMTUpIEFORCBhIT0xNCkKICAgICAgICAgIE9SIGI9MTMyCi0g ICAgICAgICBPUiAoZD49NTQuMCBBTkQgZDw1NS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAg T1IgKGQ+PTU0LjAgQU5EIGQ8NTUuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9 Nzk1CiAgICAgICAgICBPUiBiPTczNwogICBdXSkKQEAgLTM2Mjg5LDEwICszNjI4OSwxMCBAQCB0 ZXN0OmRvX3Rlc3QoCiAgICAgICBXSEVSRSBhPTI0CiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiAy MiBBTkQgMjQpIEFORCBhIT0yMykKICAgICAgICAgIE9SIGI9NDg3Ci0gICAgICAgICBPUiAoZD49 OTYuMCBBTkQgZDw5Ny4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTk2LjAgQU5E IGQ8OTcuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDEzIEFO RCAxNSkgQU5EIGEhPTE0KQogICAgICAgICAgT1IgYj0xMzIKLSAgICAgICAgIE9SIChkPj01NC4w IEFORCBkPDU1LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NTQuMCBBTkQgZDw1 NS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj03OTUKICAgICAgICAgIE9SIGI9 NzM3CiAgIF1dKQpAQCAtMzYzMDcsNyArMzYzMDcsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVu Y3Rpb24oKQogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1Qg YSBGUk9NIHQyCi0gICAgICBXSEVSRSAoZD49ODguMCBBTkQgZDw4OS4wIEFORCBkIE5PVCBOVUxM KQorICAgICAgV0hFUkUgKGQ+PTg4LjAgQU5EIGQ8ODkuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAg ICAgICAgIE9SIGE9MzQKICAgICAgICAgIE9SIGM9MTYwMTYKICAgICAgICAgIE9SIGI9MTA3OApA QCAtMzYzMjUsNyArMzYzMjUsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAg ICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQzCi0g ICAgICBXSEVSRSAoZD49ODguMCBBTkQgZDw4OS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hF UkUgKGQ+PTg4LjAgQU5EIGQ8ODkuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGE9 MzQKICAgICAgICAgIE9SIGM9MTYwMTYKICAgICAgICAgIE9SIGI9MTA3OApAQCAtMzYzNDcsNyAr MzYzNDcsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiAxOSBBTkQg MjEpIEFORCBhIT0yMCkKICAgICAgICAgIE9SIChnPSdwb25tbGtqJyBBTkQgZiBHTE9CICd0dXZ3 eConKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gNzMgQU5EIDc1KSBBTkQgYSE9NzQpCi0gICAg ICAgICBPUiAoZD49MzguMCBBTkQgZDwzOS4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1Ig KGQ+PTM4LjAgQU5EIGQ8MzkuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGE9Ngog ICBdXSkKICAgICBlbmQsIHsKQEAgLTM2MzY1LDcgKzM2MzY1LDcgQEAgdGVzdDpkb190ZXN0KAog ICAgICAgICAgT1IgKChhIEJFVFdFRU4gMTkgQU5EIDIxKSBBTkQgYSE9MjApCiAgICAgICAgICBP UiAoZz0ncG9ubWxraicgQU5EIGYgR0xPQiAndHV2d3gqJykKICAgICAgICAgIE9SICgoYSBCRVRX RUVOIDczIEFORCA3NSkgQU5EIGEhPTc0KQotICAgICAgICAgT1IgKGQ+PTM4LjAgQU5EIGQ8Mzku MCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0zOC4wIEFORCBkPDM5LjAgQU5EIGQg SVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBhPTYKICAgXV0pCiAgICAgZW5kLCB7CkBAIC0zNjQy NSwxMCArMzY0MjUsMTAgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAgICAgICAg cmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MgotICAgICAg V0hFUkUgKGQ+PTQwLjAgQU5EIGQ8NDEuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChk Pj00MC4wIEFORCBkPDQxLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTExMAog ICAgICAgICAgT1IgZj0nZ2hpamtsbW5vJwotICAgICAgICAgT1IgKGQ+PTIxLjAgQU5EIGQ8MjIu MCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0yMS4wIEFORCBkPDIyLjAgQU5EIGQg SVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIuOTc1 LjE+CkBAIC0zNjQ0MSwxMCArMzY0NDEsMTAgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9u KCkKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJP TSB0MwotICAgICAgV0hFUkUgKGQ+PTQwLjAgQU5EIGQ8NDEuMCBBTkQgZCBOT1QgTlVMTCkKKyAg ICAgIFdIRVJFIChkPj00MC4wIEFORCBkPDQxLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAg ICBPUiBiPTExMAogICAgICAgICAgT1IgZj0nZ2hpamtsbW5vJwotICAgICAgICAgT1IgKGQ+PTIx LjAgQU5EIGQ8MjIuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0yMS4wIEFORCBk PDIyLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8 d2hlcmU3LTIuOTc1LjI+CkBAIC0zNjQ2MSw3ICszNjQ2MSw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAg ICAgICAgIE9SIChnPSd1dHNycXBvJyBBTkQgZiBHTE9CICd1dnd4eSonKQogICAgICAgICAgT1Ig KGYgR0xPQiAnP2NkZWYqJyBBTkQgZiBHTE9CICdiY2RlKicpCiAgICAgICAgICBPUiBiPTkxCi0g ICAgICAgICBPUiAoZD49NDUuMCBBTkQgZDw0Ni4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAg T1IgKGQ+PTQ1LjAgQU5EIGQ8NDYuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9 NzcKICAgICAgICAgIE9SIChnPSdwb25tbGtqJyBBTkQgZiBHTE9CICd1dnd4eSonKQogICAgICAg ICAgT1IgKGc9J3Z1dHNycXAnIEFORCBmIEdMT0IgJ3BxcnN0KicpCkBAIC0zNjQ4MSw3ICszNjQ4 MSw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIChnPSd1dHNycXBvJyBBTkQgZiBHTE9C ICd1dnd4eSonKQogICAgICAgICAgT1IgKGYgR0xPQiAnP2NkZWYqJyBBTkQgZiBHTE9CICdiY2Rl KicpCiAgICAgICAgICBPUiBiPTkxCi0gICAgICAgICBPUiAoZD49NDUuMCBBTkQgZDw0Ni4wIEFO RCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTQ1LjAgQU5EIGQ8NDYuMCBBTkQgZCBJUyBO T1QgTlVMTCkKICAgICAgICAgIE9SIGI9NzcKICAgICAgICAgIE9SIChnPSdwb25tbGtqJyBBTkQg ZiBHTE9CICd1dnd4eSonKQogICAgICAgICAgT1IgKGc9J3Z1dHNycXAnIEFORCBmIEdMT0IgJ3Bx cnN0KicpCkBAIC0zNjQ5NywxMiArMzY0OTcsMTIgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0 aW9uKCkKICAgICAgICAgcmV0dXJuIGNvdW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEg RlJPTSB0MgotICAgICAgV0hFUkUgKGQ+PTU2LjAgQU5EIGQ8NTcuMCBBTkQgZCBOT1QgTlVMTCkK LSAgICAgICAgIE9SIChkPj03OC4wIEFORCBkPDc5LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBX SEVSRSAoZD49NTYuMCBBTkQgZDw1Ny4wIEFORCBkIElTIE5PVCBOVUxMKQorICAgICAgICAgT1Ig KGQ+PTc4LjAgQU5EIGQ8NzkuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9Njkz Ci0gICAgICAgICBPUiAoZD49MjEuMCBBTkQgZDwyMi4wIEFORCBkIE5PVCBOVUxMKQotICAgICAg ICAgT1IgKGQ+PTI2LjAgQU5EIGQ8MjcuMCBBTkQgZCBOT1QgTlVMTCkKLSAgICAgICAgIE9SIChk Pj00Mi4wIEFORCBkPDQzLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MjEuMCBB TkQgZDwyMi4wIEFORCBkIElTIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTI2LjAgQU5EIGQ8 MjcuMCBBTkQgZCBJUyBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj00Mi4wIEFORCBkPDQzLjAg QU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBhPTUyCiAgICAgICAgICBPUiBiPTM3Nwog ICBdXSkKQEAgLTM2NTE3LDEyICszNjUxNywxMiBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rp b24oKQogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBG Uk9NIHQzCi0gICAgICBXSEVSRSAoZD49NTYuMCBBTkQgZDw1Ny4wIEFORCBkIE5PVCBOVUxMKQot ICAgICAgICAgT1IgKGQ+PTc4LjAgQU5EIGQ8NzkuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdI RVJFIChkPj01Ni4wIEFORCBkPDU3LjAgQU5EIGQgSVMgTk9UIE5VTEwpCisgICAgICAgICBPUiAo ZD49NzguMCBBTkQgZDw3OS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYj02OTMK LSAgICAgICAgIE9SIChkPj0yMS4wIEFORCBkPDIyLjAgQU5EIGQgTk9UIE5VTEwpCi0gICAgICAg ICBPUiAoZD49MjYuMCBBTkQgZDwyNy4wIEFORCBkIE5PVCBOVUxMKQotICAgICAgICAgT1IgKGQ+ PTQyLjAgQU5EIGQ8NDMuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0yMS4wIEFO RCBkPDIyLjAgQU5EIGQgSVMgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MjYuMCBBTkQgZDwy Ny4wIEFORCBkIElTIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTQyLjAgQU5EIGQ8NDMuMCBB TkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGE9NTIKICAgICAgICAgIE9SIGI9Mzc3CiAg IF1dKQpAQCAtMzY1NDQsNyArMzY1NDQsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiBi PTEwMDQKICAgICAgICAgIE9SIGI9ODcyCiAgICAgICAgICBPUiBhPTk1Ci0gICAgICAgICBPUiAo ZD49MjcuMCBBTkQgZDwyOC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTI3LjAg QU5EIGQ8MjguMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGI9MTc2CiAgICAgICAg ICBPUiBiPTMwMAogICBdXSkKQEAgLTM2NTY2LDcgKzM2NTY2LDcgQEAgdGVzdDpkb190ZXN0KAog ICAgICAgICAgT1IgYj0xMDA0CiAgICAgICAgICBPUiBiPTg3MgogICAgICAgICAgT1IgYT05NQot ICAgICAgICAgT1IgKGQ+PTI3LjAgQU5EIGQ8MjguMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAg IE9SIChkPj0yNy4wIEFORCBkPDI4LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBi PTE3NgogICAgICAgICAgT1IgYj0zMDAKICAgXV0pCkBAIC0zNjU5MCw3ICszNjU5MCw3IEBAIHRl c3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIChnPSdubWxramloJyBBTkQgZiBHTE9CICdiY2RlZion KQogICAgICAgICAgT1IgKGYgR0xPQiAnP2hpamsqJyBBTkQgZiBHTE9CICdnaGlqKicpCiAgICAg ICAgICBPUiBiPTkyNwotICAgICAgICAgT1IgKGQ+PTUwLjAgQU5EIGQ8NTEuMCBBTkQgZCBOT1Qg TlVMTCkKKyAgICAgICAgIE9SIChkPj01MC4wIEFORCBkPDUxLjAgQU5EIGQgSVMgTk9UIE5VTEwp CiAgIF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8d2hlcmU3LTIuOTc5LjE+CkBAIC0zNjYx Miw3ICszNjYxMiw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIChnPSdubWxramloJyBB TkQgZiBHTE9CICdiY2RlZionKQogICAgICAgICAgT1IgKGYgR0xPQiAnP2hpamsqJyBBTkQgZiBH TE9CICdnaGlqKicpCiAgICAgICAgICBPUiBiPTkyNwotICAgICAgICAgT1IgKGQ+PTUwLjAgQU5E IGQ8NTEuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj01MC4wIEFORCBkPDUxLjAg QU5EIGQgSVMgTk9UIE5VTEwpCiAgIF1dKQogICAgIGVuZCwgewogICAgICAgICAtLSA8d2hlcmU3 LTIuOTc5LjI+CkBAIC0zNjYyNyw3ICszNjYyNyw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgU0VM RUNUIGEgRlJPTSB0MgogICAgICAgV0hFUkUgZj0nZmdoaWprbG1uJwogICAgICAgICAgT1IgYj0x MDc4Ci0gICAgICAgICBPUiAoZD49MzUuMCBBTkQgZDwzNi4wIEFORCBkIE5PVCBOVUxMKQorICAg ICAgICAgT1IgKGQ+PTM1LjAgQU5EIGQ8MzYuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAg IE9SIGY9J2ZnaGlqa2xtbicKICAgXV0pCiAgICAgZW5kLCB7CkBAIC0zNjY0Myw3ICszNjY0Myw3 IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgU0VMRUNUIGEgRlJPTSB0MwogICAgICAgV0hFUkUgZj0n ZmdoaWprbG1uJwogICAgICAgICAgT1IgYj0xMDc4Ci0gICAgICAgICBPUiAoZD49MzUuMCBBTkQg ZDwzNi4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTM1LjAgQU5EIGQ8MzYuMCBB TkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGY9J2ZnaGlqa2xtbicKICAgXV0pCiAgICAg ZW5kLCB7CkBAIC0zNjczNCw3ICszNjczNCw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgIFdIRVJF IGI9MzYzCiAgICAgICAgICBPUiBiPTYzMAogICAgICAgICAgT1IgYj05MzUKLSAgICAgICAgIE9S IChkPj0yMC4wIEFORCBkPDIxLjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MjAu MCBBTkQgZDwyMS4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKGc9J3NycXBvbm0n IEFORCBmIEdMT0IgJ2RlZmdoKicpCiAgICAgICAgICBPUiBmPSd5emFiY2RlZmcnCiAgICAgICAg ICBPUiAoKGEgQkVUV0VFTiAzNyBBTkQgMzkpIEFORCBhIT0zOCkKQEAgLTM2NzUzLDcgKzM2NzUz LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICAgV0hFUkUgYj0zNjMKICAgICAgICAgIE9SIGI9NjMw CiAgICAgICAgICBPUiBiPTkzNQotICAgICAgICAgT1IgKGQ+PTIwLjAgQU5EIGQ8MjEuMCBBTkQg ZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0yMC4wIEFORCBkPDIxLjAgQU5EIGQgSVMgTk9U IE5VTEwpCiAgICAgICAgICBPUiAoZz0nc3JxcG9ubScgQU5EIGYgR0xPQiAnZGVmZ2gqJykKICAg ICAgICAgIE9SIGY9J3l6YWJjZGVmZycKICAgICAgICAgIE9SICgoYSBCRVRXRUVOIDM3IEFORCAz OSkgQU5EIGEhPTM4KQpAQCAtMzY3NjksOSArMzY3NjksOSBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAg ZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxF Q1QgYSBGUk9NIHQyCi0gICAgICBXSEVSRSAoZD49OTcuMCBBTkQgZDw5OC4wIEFORCBkIE5PVCBO VUxMKQorICAgICAgV0hFUkUgKGQ+PTk3LjAgQU5EIGQ8OTguMCBBTkQgZCBJUyBOT1QgTlVMTCkK ICAgICAgICAgIE9SIGE9NDAKLSAgICAgICAgIE9SIChkPj04Ni4wIEFORCBkPDg3LjAgQU5EIGQg Tk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49ODYuMCBBTkQgZDw4Ny4wIEFORCBkIElTIE5PVCBO VUxMKQogICAgICAgICAgT1IgZj0nYWJjZGVmZ2hpJwogICAgICAgICAgT1IgYj02OTYKICAgICAg ICAgIE9SIChnPSd2dXRzcnFwJyBBTkQgZiBHTE9CICdxcnN0dSonKQpAQCAtMzY3OTIsOSArMzY3 OTIsOSBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291 bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQzCi0gICAgICBXSEVSRSAoZD49 OTcuMCBBTkQgZDw5OC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgV0hFUkUgKGQ+PTk3LjAgQU5E IGQ8OTguMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIGE9NDAKLSAgICAgICAgIE9S IChkPj04Ni4wIEFORCBkPDg3LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49ODYu MCBBTkQgZDw4Ny4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgZj0nYWJjZGVmZ2hp JwogICAgICAgICAgT1IgYj02OTYKICAgICAgICAgIE9SIChnPSd2dXRzcnFwJyBBTkQgZiBHTE9C ICdxcnN0dSonKQpAQCAtMzY4NDUsMTEgKzM2ODQ1LDExIEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBm dW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVD VCBhIEZST00gdDIKLSAgICAgIFdIRVJFIChkPj05Ni4wIEFORCBkPDk3LjAgQU5EIGQgTk9UIE5V TEwpCisgICAgICBXSEVSRSAoZD49OTYuMCBBTkQgZDw5Ny4wIEFORCBkIElTIE5PVCBOVUxMKQog ICAgICAgICAgT1IgYT03MwogICAgICAgICAgT1IgYj03MjkKLSAgICAgICAgIE9SIChkPj04MS4w IEFORCBkPDgyLjAgQU5EIGQgTk9UIE5VTEwpCi0gICAgICAgICBPUiAoZD49NjcuMCBBTkQgZDw2 OC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+PTgxLjAgQU5EIGQ8ODIuMCBBTkQg ZCBJUyBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj02Ny4wIEFORCBkPDY4LjAgQU5EIGQgSVMg Tk9UIE5VTEwpCiAgICAgICAgICBPUiBhPTMyCiAgIF1dKQogICAgIGVuZCwgewpAQCAtMzY4NjMs MTEgKzM2ODYzLDExIEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAgICAgICAgIHJl dHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDMKLSAgICAgIFdI RVJFIChkPj05Ni4wIEFORCBkPDk3LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICBXSEVSRSAoZD49 OTYuMCBBTkQgZDw5Ny4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgYT03MwogICAg ICAgICAgT1IgYj03MjkKLSAgICAgICAgIE9SIChkPj04MS4wIEFORCBkPDgyLjAgQU5EIGQgTk9U IE5VTEwpCi0gICAgICAgICBPUiAoZD49NjcuMCBBTkQgZDw2OC4wIEFORCBkIE5PVCBOVUxMKQor ICAgICAgICAgT1IgKGQ+PTgxLjAgQU5EIGQ8ODIuMCBBTkQgZCBJUyBOT1QgTlVMTCkKKyAgICAg ICAgIE9SIChkPj02Ny4wIEFORCBkPDY4LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBP UiBhPTMyCiAgIF1dKQogICAgIGVuZCwgewpAQCAtMzY4ODYsNyArMzY4ODYsNyBAQCB0ZXN0OmRv X3Rlc3QoCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiAzOCBBTkQgNDApIEFORCBhIT0zOSkKICAg ICAgICAgIE9SIChnPSd0c3JxcG9uJyBBTkQgZiBHTE9CICd4eXphYionKQogICAgICAgICAgT1Ig Yj00ODQKLSAgICAgICAgIE9SIChkPj04Mi4wIEFORCBkPDgzLjAgQU5EIGQgTk9UIE5VTEwpCisg ICAgICAgICBPUiAoZD49ODIuMCBBTkQgZDw4My4wIEFORCBkIElTIE5PVCBOVUxMKQogICBdXSkK ICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjk4Ny4xPgpAQCAtMzY5MDQsNyArMzY5 MDQsNyBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiAzOCBBTkQgNDAp IEFORCBhIT0zOSkKICAgICAgICAgIE9SIChnPSd0c3JxcG9uJyBBTkQgZiBHTE9CICd4eXphYion KQogICAgICAgICAgT1IgYj00ODQKLSAgICAgICAgIE9SIChkPj04Mi4wIEFORCBkPDgzLjAgQU5E IGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49ODIuMCBBTkQgZDw4My4wIEFORCBkIElTIE5P VCBOVUxMKQogICBdXSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjk4Ny4yPgpA QCAtMzY5MTcsMTYgKzM2OTE3LDE2IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlvbigpCiAg ICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZST00gdDIK LSAgICAgIFdIRVJFIChkPj05OS4wIEFORCBkPDEwMC4wIEFORCBkIE5PVCBOVUxMKQorICAgICAg V0hFUkUgKGQ+PTk5LjAgQU5EIGQ8MTAwLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBP UiBiPTEzNQotICAgICAgICAgT1IgKGQ+PTY2LjAgQU5EIGQ8NjcuMCBBTkQgZCBOT1QgTlVMTCkK KyAgICAgICAgIE9SIChkPj02Ni4wIEFORCBkPDY3LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAg ICAgICBPUiBiPTIwOQogICAgICAgICAgT1IgYj0zNjMKICAgICAgICAgIE9SIGM9MjcwMjcKICAg ICAgICAgIE9SIGI9MTAyNgogICAgICAgICAgT1IgYz02MDA2CiAgICAgICAgICBPUiAoZz0ncG9u bWxraicgQU5EIGYgR0xPQiAndXZ3eHkqJykKLSAgICAgICAgIE9SIChkPj03My4wIEFORCBkPDc0 LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NzMuMCBBTkQgZDw3NC4wIEFORCBk IElTIE5PVCBOVUxMKQogICBdXSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjk4 OC4xPgpAQCAtMzY5MzksMTYgKzM2OTM5LDE2IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBmdW5jdGlv bigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVDVCBhIEZS T00gdDMKLSAgICAgIFdIRVJFIChkPj05OS4wIEFORCBkPDEwMC4wIEFORCBkIE5PVCBOVUxMKQor ICAgICAgV0hFUkUgKGQ+PTk5LjAgQU5EIGQ8MTAwLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAg ICAgICBPUiBiPTEzNQotICAgICAgICAgT1IgKGQ+PTY2LjAgQU5EIGQ8NjcuMCBBTkQgZCBOT1Qg TlVMTCkKKyAgICAgICAgIE9SIChkPj02Ni4wIEFORCBkPDY3LjAgQU5EIGQgSVMgTk9UIE5VTEwp CiAgICAgICAgICBPUiBiPTIwOQogICAgICAgICAgT1IgYj0zNjMKICAgICAgICAgIE9SIGM9Mjcw MjcKICAgICAgICAgIE9SIGI9MTAyNgogICAgICAgICAgT1IgYz02MDA2CiAgICAgICAgICBPUiAo Zz0ncG9ubWxraicgQU5EIGYgR0xPQiAndXZ3eHkqJykKLSAgICAgICAgIE9SIChkPj03My4wIEFO RCBkPDc0LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NzMuMCBBTkQgZDw3NC4w IEFORCBkIElTIE5PVCBOVUxMKQogICBdXSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJl Ny0yLjk4OC4yPgpAQCAtMzY5NjEsMTEgKzM2OTYxLDExIEBAIHRlc3Q6ZG9fdGVzdCgKICAgICBm dW5jdGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudF9zdGVwc19zb3J0KFtbCiAgICAgIFNFTEVD VCBhIEZST00gdDIKLSAgICAgIFdIRVJFIChkPj03OS4wIEFORCBkPDgwLjAgQU5EIGQgTk9UIE5V TEwpCisgICAgICBXSEVSRSAoZD49NzkuMCBBTkQgZDw4MC4wIEFORCBkIElTIE5PVCBOVUxMKQog ICAgICAgICAgT1IgKChhIEJFVFdFRU4gMTggQU5EIDIwKSBBTkQgYSE9MTkpCiAgICAgICAgICBP UiAoZz0ncXBvbm1saycgQU5EIGYgR0xPQiAnbm9wcXIqJykKICAgICAgICAgIE9SIGE9OTcKLSAg ICAgICAgIE9SIChkPj00NS4wIEFORCBkPDQ2LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBP UiAoZD49NDUuMCBBTkQgZDw0Ni4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKChh IEJFVFdFRU4gMjIgQU5EIDI0KSBBTkQgYSE9MjMpCiAgICAgICAgICBPUiAoZz0nbWxramloZycg QU5EIGYgR0xPQiAnZ2hpamsqJykKICAgICAgICAgIE9SIGI9Njc0CkBAIC0zNjk4MywxMSArMzY5 ODMsMTEgQEAgdGVzdDpkb190ZXN0KAogICAgIGZ1bmN0aW9uKCkKICAgICAgICAgcmV0dXJuIGNv dW50X3N0ZXBzX3NvcnQoW1sKICAgICAgU0VMRUNUIGEgRlJPTSB0MwotICAgICAgV0hFUkUgKGQ+ PTc5LjAgQU5EIGQ8ODAuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChkPj03OS4wIEFO RCBkPDgwLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiAxOCBB TkQgMjApIEFORCBhIT0xOSkKICAgICAgICAgIE9SIChnPSdxcG9ubWxrJyBBTkQgZiBHTE9CICdu b3BxcionKQogICAgICAgICAgT1IgYT05NwotICAgICAgICAgT1IgKGQ+PTQ1LjAgQU5EIGQ8NDYu MCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj00NS4wIEFORCBkPDQ2LjAgQU5EIGQg SVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiAyMiBBTkQgMjQpIEFORCBhIT0y MykKICAgICAgICAgIE9SIChnPSdtbGtqaWhnJyBBTkQgZiBHTE9CICdnaGlqayonKQogICAgICAg ICAgT1IgYj02NzQKQEAgLTM3MDA3LDcgKzM3MDA3LDcgQEAgdGVzdDpkb190ZXN0KAogICAgICBT RUxFQ1QgYSBGUk9NIHQyCiAgICAgICBXSEVSRSBiPTI5NwogICAgICAgICAgT1IgYT04MwotICAg ICAgICAgT1IgKGQ+PTc4LjAgQU5EIGQ8NzkuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9S IChkPj03OC4wIEFORCBkPDc5LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoKGEg QkVUV0VFTiAxNiBBTkQgMTgpIEFORCBhIT0xNykKICAgXV0pCiAgICAgZW5kLCB7CkBAIC0zNzAy Myw3ICszNzAyMyw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgU0VMRUNUIGEgRlJPTSB0MwogICAg ICAgV0hFUkUgYj0yOTcKICAgICAgICAgIE9SIGE9ODMKLSAgICAgICAgIE9SIChkPj03OC4wIEFO RCBkPDc5LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NzguMCBBTkQgZDw3OS4w IEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKChhIEJFVFdFRU4gMTYgQU5EIDE4KSBB TkQgYSE9MTcpCiAgIF1dKQogICAgIGVuZCwgewpAQCAtMzcwNzcsOCArMzcwNzcsOCBAQCB0ZXN0 OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICByZXR1cm4gY291bnRfc3RlcHNfc29y dChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQyCi0gICAgICBXSEVSRSAoZD49NDUuMCBBTkQgZDw0 Ni4wIEFORCBkIE5PVCBOVUxMKQotICAgICAgICAgT1IgKGQ+PTYzLjAgQU5EIGQ8NjQuMCBBTkQg ZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChkPj00NS4wIEFORCBkPDQ2LjAgQU5EIGQgSVMgTk9U IE5VTEwpCisgICAgICAgICBPUiAoZD49NjMuMCBBTkQgZDw2NC4wIEFORCBkIElTIE5PVCBOVUxM KQogICBdXSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdoZXJlNy0yLjk5Mi4xPgpAQCAtMzcw OTEsOCArMzcwOTEsOCBAQCB0ZXN0OmRvX3Rlc3QoCiAgICAgZnVuY3Rpb24oKQogICAgICAgICBy ZXR1cm4gY291bnRfc3RlcHNfc29ydChbWwogICAgICBTRUxFQ1QgYSBGUk9NIHQzCi0gICAgICBX SEVSRSAoZD49NDUuMCBBTkQgZDw0Ni4wIEFORCBkIE5PVCBOVUxMKQotICAgICAgICAgT1IgKGQ+ PTYzLjAgQU5EIGQ8NjQuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgIFdIRVJFIChkPj00NS4wIEFO RCBkPDQ2LjAgQU5EIGQgSVMgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49NjMuMCBBTkQgZDw2 NC4wIEFORCBkIElTIE5PVCBOVUxMKQogICBdXSkKICAgICBlbmQsIHsKICAgICAgICAgLS0gPHdo ZXJlNy0yLjk5Mi4yPgpAQCAtMzcxNzksMTAgKzM3MTc5LDEwIEBAIHRlc3Q6ZG9fdGVzdCgKICAg ICAgU0VMRUNUIGEgRlJPTSB0MgogICAgICAgV0hFUkUgYT00MQogICAgICAgICAgT1IgYj05OTAK LSAgICAgICAgIE9SIChkPj0zNi4wIEFORCBkPDM3LjAgQU5EIGQgTk9UIE5VTEwpCisgICAgICAg ICBPUiAoZD49MzYuMCBBTkQgZDwzNy4wIEFORCBkIElTIE5PVCBOVUxMKQogICAgICAgICAgT1Ig Yj02MDUKICAgICAgICAgIE9SIChnPSdzcnFwb25tJyBBTkQgZiBHTE9CICdjZGVmZyonKQotICAg ICAgICAgT1IgKGQ+PTM2LjAgQU5EIGQ8MzcuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9S IChkPj0zNi4wIEFORCBkPDM3LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiAoZz0n dnV0c3JxcCcgQU5EIGYgR0xPQiAncXJzdHUqJykKICAgICAgICAgIE9SIGI9OTY4CiAgICAgICAg ICBPUiBhPTY2CkBAIC0zNzIwMCwxMCArMzcyMDAsMTAgQEAgdGVzdDpkb190ZXN0KAogICAgICBT RUxFQ1QgYSBGUk9NIHQzCiAgICAgICBXSEVSRSBhPTQxCiAgICAgICAgICBPUiBiPTk5MAotICAg ICAgICAgT1IgKGQ+PTM2LjAgQU5EIGQ8MzcuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9S IChkPj0zNi4wIEFORCBkPDM3LjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBiPTYw NQogICAgICAgICAgT1IgKGc9J3NycXBvbm0nIEFORCBmIEdMT0IgJ2NkZWZnKicpCi0gICAgICAg ICBPUiAoZD49MzYuMCBBTkQgZDwzNy4wIEFORCBkIE5PVCBOVUxMKQorICAgICAgICAgT1IgKGQ+ PTM2LjAgQU5EIGQ8MzcuMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9SIChnPSd2dXRz cnFwJyBBTkQgZiBHTE9CICdxcnN0dSonKQogICAgICAgICAgT1IgYj05NjgKICAgICAgICAgIE9S IGE9NjYKQEAgLTM3MjIzLDggKzM3MjIzLDggQEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1Ig KGc9J3NycXBvbm0nIEFORCBmIEdMT0IgJ2doaWprKicpCiAgICAgICAgICBPUiAoZz0ndXRzcnFw bycgQU5EIGYgR0xPQiAndHV2d3gqJykKICAgICAgICAgIE9SIChnPSdubWxramloJyBBTkQgZiBH TE9CICdmZ2hpaionKQotICAgICAgICAgT1IgKGQ+PTE3LjAgQU5EIGQ8MTguMCBBTkQgZCBOT1Qg TlVMTCkKLSAgICAgICAgIE9SIChkPj0zNy4wIEFORCBkPDM4LjAgQU5EIGQgTk9UIE5VTEwpCisg ICAgICAgICBPUiAoZD49MTcuMCBBTkQgZDwxOC4wIEFORCBkIElTIE5PVCBOVUxMKQorICAgICAg ICAgT1IgKGQ+PTM3LjAgQU5EIGQ8MzguMCBBTkQgZCBJUyBOT1QgTlVMTCkKICAgICAgICAgIE9S IChnPSdvbm1sa2ppJyBBTkQgZiBHTE9CICdhYmNkZSonKQogICAgICAgICAgT1IgKChhIEJFVFdF RU4gMzkgQU5EIDQxKSBBTkQgYSE9NDApCiAgIF1dKQpAQCAtMzcyNDMsOCArMzcyNDMsOCBAQCB0 ZXN0OmRvX3Rlc3QoCiAgICAgICAgICBPUiAoZz0nc3JxcG9ubScgQU5EIGYgR0xPQiAnZ2hpamsq JykKICAgICAgICAgIE9SIChnPSd1dHNycXBvJyBBTkQgZiBHTE9CICd0dXZ3eConKQogICAgICAg ICAgT1IgKGc9J25tbGtqaWgnIEFORCBmIEdMT0IgJ2ZnaGlqKicpCi0gICAgICAgICBPUiAoZD49 MTcuMCBBTkQgZDwxOC4wIEFORCBkIE5PVCBOVUxMKQotICAgICAgICAgT1IgKGQ+PTM3LjAgQU5E IGQ8MzguMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0xNy4wIEFORCBkPDE4LjAg QU5EIGQgSVMgTk9UIE5VTEwpCisgICAgICAgICBPUiAoZD49MzcuMCBBTkQgZDwzOC4wIEFORCBk IElTIE5PVCBOVUxMKQogICAgICAgICAgT1IgKGc9J29ubWxramknIEFORCBmIEdMT0IgJ2FiY2Rl KicpCiAgICAgICAgICBPUiAoKGEgQkVUV0VFTiAzOSBBTkQgNDEpIEFORCBhIT00MCkKICAgXV0p CkBAIC0zNzQyMSw3ICszNzQyMSw3IEBAIHRlc3Q6ZG9fdGVzdCgKICAgICAgICAgIE9SIGE9MjMK ICAgICAgICAgIE9SIChmIEdMT0IgJz9kZWZnKicgQU5EIGYgR0xPQiAnY2RlZionKQogICAgICAg ICAgT1IgZDwwLjAKLSAgICAgICAgIE9SIChkPj0yMi4wIEFORCBkPDIzLjAgQU5EIGQgTk9UIE5V TEwpCisgICAgICAgICBPUiAoZD49MjIuMCBBTkQgZDwyMy4wIEFORCBkIElTIE5PVCBOVUxMKQog ICAgICAgICAgT1IgYT05MQogICBdXSkKICAgICBlbmQsIHsKQEAgLTM3NDM5LDcgKzM3NDM5LDcg QEAgdGVzdDpkb190ZXN0KAogICAgICAgICAgT1IgYT0yMwogICAgICAgICAgT1IgKGYgR0xPQiAn P2RlZmcqJyBBTkQgZiBHTE9CICdjZGVmKicpCiAgICAgICAgICBPUiBkPDAuMAotICAgICAgICAg T1IgKGQ+PTIyLjAgQU5EIGQ8MjMuMCBBTkQgZCBOT1QgTlVMTCkKKyAgICAgICAgIE9SIChkPj0y Mi4wIEFORCBkPDIzLjAgQU5EIGQgSVMgTk9UIE5VTEwpCiAgICAgICAgICBPUiBhPTkxCiAgIF1d KQogICAgIGVuZCwgewo= ------vGN3Ugm2ZWDRlosk17SITTQOGMbbUBmg-tYCWuCaa2S58kW1M-1526659840--