From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id C454510E504 for ; Thu, 30 Nov 2023 11:15:05 +0000 (UTC) From: "Govindapillai, Vinod" To: "igt-dev@lists.freedesktop.org" , "B, Jeevan" Date: Thu, 30 Nov 2023 11:15:00 +0000 Message-ID: <3a8de5b8d2d972795fa3979e02408a377b7bb914.camel@intel.com> References: <20231130094557.2124614-1-jeevan.b@intel.com> <20231130094557.2124614-2-jeevan.b@intel.com> In-Reply-To: <20231130094557.2124614-2-jeevan.b@intel.com> Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-ID: <1D114556EDFE734EB0D2B4DFC29C0093@namprd11.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [igt-dev] [PATCH i-g-t 1/2] tests/intel/kms_psr: Add FBC support to PSR/PSR2/PR tests List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" List-ID: SGkgamVldmFuLAoKVGhhbmtzIGZvciB0aGUgcGF0Y2hlcy4uIHNvbWUgY29tbWVudHMgaW5saW5l Li4KCk90aGVyd2lzZSwgbG9naWMgd2lzZSBjb21iaW5pbmcgRkJDIHdpdGggZXhpc3RpbmcgUFNS IHRlc3RzIHNlZW1zIG9rIHRvIG1lLgoKU28gd2l0aCBhZGRyZXNzaW5nIHRob3NlIGNvbW1lbnRz LAoKUmV2aWV3ZWQtYnk6IFZpbm9kIEdvdmluZGFwaWxsYWkgPHZpbm9kLmdvdmluZGFwaWxsYWlA aW50ZWwuY29tPgoKCk9uIFRodSwgMjAyMy0xMS0zMCBhdCAxNToxNSArMDUzMCwgSmVldmFuIEIg d3JvdGU6Cj4gRm9yIEx1bmFyTGFrZSAoaW50ZWxfZGlzcGxheV92ZXIgMjApLCBGQkMgY2FuIGJl IGVuYWJsZWQgYWxvbmcgd2l0aAo+IFBTUi9QU1IyL1BSLCB0aGVyZWJ5IGFkZGluZyBGQkMgY2hl Y2tzIHRvIHZhbGlkYXRlIHRoaXMgc2NlbmFyaW8uCj4gCj4gU2lnbmVkLW9mZi1ieTogSmVldmFu IEIgPGplZXZhbi5iQGludGVsLmNvbT4KPiAtLS0KPiDCoGxpYi9pZ3RfcHNyLmjCoMKgwqDCoMKg wqDCoMKgIHzCoMKgIDUgKwo+IMKgdGVzdHMvaW50ZWwva21zX3Bzci5jIHwgNDU5ICsrKysrKysr KysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLQo+IMKgMiBmaWxlcyBjaGFuZ2VkLCAz MTUgaW5zZXJ0aW9ucygrKSwgMTQ5IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9saWIv aWd0X3Bzci5oIGIvbGliL2lndF9wc3IuaAo+IGluZGV4IGEzMDMzMGU2Yy4uMzY3MTFjMGQ0IDEw MDY0NAo+IC0tLSBhL2xpYi9pZ3RfcHNyLmgKPiArKysgYi9saWIvaWd0X3Bzci5oCj4gQEAgLTQw LDYgKzQwLDExIEBAIGVudW0gcHNyX21vZGUgewo+IMKgwqDCoMKgwqDCoMKgwqBQU1JfRElTQUJM RUQsCj4gwqB9Owo+IMKgCj4gK2VudW0gZmJjX21vZGUgewo+ICvCoMKgwqDCoMKgwqDCoEZCQ19E SVNBQkxFRCwKPiArwqDCoMKgwqDCoMKgwqBGQkNfRU5BQkxFRCwKPiArfTsKPiArCj4gwqBib29s IHBzcl9kaXNhYmxlZF9jaGVjayhpbnQgZGVidWdmc19mZCk7Cj4gwqBib29sIHBzcjJfc2VsZWN0 aXZlX2ZldGNoX2NoZWNrKGludCBkZWJ1Z2ZzX2ZkKTsKPiDCoGJvb2wgcHNyX3dhaXRfZW50cnko aW50IGRlYnVnZnNfZmQsIGVudW0gcHNyX21vZGUgbW9kZSwgaWd0X291dHB1dF90ICpvdXRwdXQp Owo+IGRpZmYgLS1naXQgYS90ZXN0cy9pbnRlbC9rbXNfcHNyLmMgYi90ZXN0cy9pbnRlbC9rbXNf cHNyLmMKPiBpbmRleCAwNWJkZDdiOTguLjQ0MDFkNTJiNiAxMDA2NDQKPiAtLS0gYS90ZXN0cy9p bnRlbC9rbXNfcHNyLmMKPiArKysgYi90ZXN0cy9pbnRlbC9rbXNfcHNyLmMKPiBAQCAtMzUsNiAr MzUsNyBAQAo+IMKgI2luY2x1ZGUgImlndF9zeXNmcy5oIgo+IMKgI2luY2x1ZGUgImlndF9wc3Iu aCIKPiDCoCNpbmNsdWRlICJpbnRlbF9wYXQuaCIKPiArI2luY2x1ZGUgImk5MTUvaW50ZWxfZmJj LmgiCj4gwqAjaW5jbHVkZSA8ZXJybm8uaD4KPiDCoCNpbmNsdWRlIDxzdGRib29sLmg+Cj4gwqAj aW5jbHVkZSA8c3RkaW8uaD4KPiBAQCAtNDMsMTYgKzQ0LDI1IEBACj4gwqAjaW5jbHVkZSAieGUv eGVfcXVlcnkuaCIKPiDCoAo+IMKgLyoqCj4gLSAqIFNVQlRFU1Q6IHBzcl9iYXNpYwo+ICsgKiBT VUJURVNUOiBwc3ItYmFzaWMKPiDCoCAqIERlc2NyaXB0aW9uOiBCYXNpYyBjaGVjayBmb3IgcHNy IGlmIGl0IGlzIGRldGVjdGluZyBjaGFuZ2VzIG1hZGUgaW4gcGxhbmVzCj4gwqAgKiBGdW5jdGlv bmFsaXR5OiBwc3IxCj4gwqAgKgo+IC0gKiBTVUJURVNUOiBwc3JfJXNfJXMKPiArICogU1VCVEVT VDogZmJjLXBzci1iYXNpYwo+ICsgKiBEZXNjcmlwdGlvbjogQmFzaWMgY2hlY2sgZm9yIHBzciBp ZiBpdCBpcyBkZXRlY3RpbmcgY2hhbmdlcyBtYWRlIGluIHBsYW5lcwo+ICsgKiBGdW5jdGlvbmFs aXR5OiBwc3IsIGZiYwo+ICsgKgo+ICsgKiBTVUJURVNUOiBwc3ItJXMtJXMKPiDCoCAqIERlc2Ny aXB0aW9uOiBDaGVjayBpZiBwc3IgaXMgZGV0ZWN0aW5nIG1lbW9yeSBtYXBwaW5nLCByZW5kZXJp bmcgYW5kIHBsYW5lCj4gwqAgKsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG9wZXJhdGlvbnMg cGVyZm9ybWVkIG9uICVhcmdbMV0KPiDCoCAqIERyaXZlciByZXF1aXJlbWVudDogaTkxNQo+IMKg ICogRnVuY3Rpb25hbGl0eToga21zX2NvcmUsIHBsYW5lLCBwc3IxCj4gwqAgKgo+ICsgKiBTVUJU RVNUOiBmYmMtcHNyLSVzLSVzCj4gKyAqIERlc2NyaXB0aW9uOiBDaGVjayBpZiBmYmMgd2l0aCBw c3IgaXMgZGV0ZWN0aW5nIG1lbW9yeSBtYXBwaW5nLCByZW5kZXJpbmcgYW5kIHBsYW5lCj4gKyAq wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgb3BlcmF0aW9ucyBwZXJmb3JtZWQgb24gJWFyZ1sx XQo+ICsgKiBGdW5jdGlvbmFsaXR5OiBrbXNfY29yZSwgcGxhbmUsIHBzciwgZmJjCj4gKyAqCj4g wqAgKiBhcmdbMV06Cj4gwqAgKgo+IMKgICogQGN1cnNvcjrCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgQ3Vyc29yIHBsYW5lCj4gQEAgLTYxLDIxICs3MSwzMSBAQAo+IMKgICoKPiDCoCAqIGFyZ1sy XToKPiDCoCAqCj4gLSAqIEBtbWFwX2NwdTrCoMKgwqDCoMKgwqDCoMKgwqDCoCBNTUFQIENQVQo+ IC0gKiBAbW1hcF9ndHQ6wqDCoMKgwqDCoMKgwqDCoMKgwqAgTU1BUCBHVFQKPiArICogQG1tYXAt Y3B1OsKgwqDCoMKgwqDCoMKgwqDCoMKgIE1NQVAgQ1BVCj4gKyAqIEBtbWFwLWd0dDrCoMKgwqDC oMKgwqDCoMKgwqDCoCBNTUFQIEdUVAo+IMKgICovCj4gwqAKPiDCoC8qKgo+IC0gKiBTVUJURVNU OiBwc3Jfc3ByaXRlX3BsYW5lX21vdmUKPiArICogU1VCVEVTVDogcHNyLXNwcml0ZS1wbGFuZS1t b3ZlCj4gwqAgKiBEZXNjcmlwdGlvbjogQ2hlY2sgaWYgcHNyIGlzIGRldGVjdGluZyBtZW1vcnkg bWFwcGluZywgcmVuZGVyaW5nIGFuZCBwbGFuZQo+IMKgICrCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBvcGVyYXRpb25zIHBlcmZvcm1lZCBvbiBzcHJpdGUgcGxhbmVzCj4gwqAgKiBGdW5jdGlv bmFsaXR5OiBwbGFuZSwgcHNyMQo+IMKgICoKPiAtICogU1VCVEVTVDogcHNyXyVzXyVzCj4gKyAq IFNVQlRFU1Q6IGZiYy1wc3Itc3ByaXRlLXBsYW5lLW1vdmUKPiArICogRGVzY3JpcHRpb246IENo ZWNrIGlmIGZiYyB3aXRoIHBzciBpcyBkZXRlY3RpbmcgbWVtb3J5IG1hcHBpbmcsIHJlbmRlcmlu ZyBhbmQgcGxhbmUKPiArICrCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBvcGVyYXRpb25zIHBl cmZvcm1lZCBvbiBzcHJpdGUgcGxhbmVzCj4gKyAqIEZ1bmN0aW9uYWxpdHk6IHBsYW5lLCBwc3Is IGZiYwo+ICsgKgo+ICsgKiBTVUJURVNUOiBwc3ItJXMtJXMKPiDCoCAqIERlc2NyaXB0aW9uOiBD aGVjayBpZiBwc3IgaXMgZGV0ZWN0aW5nIG1lbW9yeSBtYXBwaW5nLCByZW5kZXJpbmcgYW5kIHBs YW5lCj4gwqAgKsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG9wZXJhdGlvbnMgcGVyZm9ybWVk IG9uICVhcmdbMV0gcGxhbmVzCj4gwqAgKiBGdW5jdGlvbmFsaXR5OiBrbXNfY29yZSwgcGxhbmUs IHBzcjEKPiDCoCAqCj4gKyAqIFNVQlRFU1Q6IGZiYy1wc3ItJXMtJXMKPiArICogRGVzY3JpcHRp b246IENoZWNrIGlmIGZiYyB3aXRoIHBzciBpcyBkZXRlY3RpbmcgbWVtb3J5IG1hcHBpbmcsIHJl bmRlcmluZyBhbmQgcGxhbmUKPiArICrCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBvcGVyYXRp b25zIHBlcmZvcm1lZCBvbiAlYXJnWzFdIHBsYW5lcwo+ICsgKiBGdW5jdGlvbmFsaXR5OiBrbXNf Y29yZSwgcGxhbmUsIHBzciwgZmJjCj4gKyAqCj4gwqAgKiBhcmdbMV06Cj4gwqAgKgo+IMKgICog QGN1cnNvcjrCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgQ3Vyc29yIHBsYW5lCj4gQEAgLTg1LDE1 ICsxMDUsMjAgQEAKPiDCoCAqCj4gwqAgKiBAYmx0OsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBCbGl0dGVyCj4gwqAgKiBAcmVuZGVyOsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBSZW5k ZXIKPiAtICogQHBsYW5lX29ub2ZmOsKgwqDCoMKgwqDCoMKgIFBsYW5lIE9uIG9mZgo+ICsgKiBA cGxhbmUtb25vZmY6wqDCoMKgwqDCoMKgwqAgUGxhbmUgT24gb2ZmCj4gwqAgKi8KPiDCoAo+IMKg LyoqCj4gLSAqIFNVQlRFU1Q6IHBzcl9wcmltYXJ5XyVzCj4gKyAqIFNVQlRFU1Q6IHBzci1wcmlt YXJ5LSVzCj4gwqAgKiBEZXNjcmlwdGlvbjogQ2hlY2sgaWYgcHNyIGlzIGRldGVjdGluZyBtZW1v cnkgbWFwcGluZywgcmVuZGVyaW5nIGFuZCBwbGFuZQo+IMKgICrCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBvcGVyYXRpb25zIHBlcmZvcm1lZCBvbiAlYXJnWzFdIHBsYW5lcwo+IMKgICogRnVu Y3Rpb25hbGl0eToga21zX2NvcmUsIHBzcjEKPiDCoCAqCj4gKyAqIFNVQlRFU1Q6IGZiYy1wc3It cHJpbWFyeS0lcwo+ICsgKiBEZXNjcmlwdGlvbjogQ2hlY2sgaWYgZmJjIHdpdGggcHNyIGlzIGRl dGVjdGluZyBtZW1vcnkgbWFwcGluZywgcmVuZGVyaW5nIGFuZCBwbGFuZQo+ICsgKsKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIG9wZXJhdGlvbnMgcGVyZm9ybWVkIG9uICVhcmdbMV0gcGxhbmVz Cj4gKyAqIEZ1bmN0aW9uYWxpdHk6IGttc19jb3JlLCBwc3IsIGZiYwo+ICsgKgo+IMKgICogYXJn WzFdOgo+IMKgICoKPiDCoCAqIEBibHQ6wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIEJs aXR0ZXIKPiBAQCAtMTAxLDQ0ICsxMjYsODEgQEAKPiDCoCAqLwo+IMKgCj4gwqAvKioKPiAtICog U1VCVEVTVDogcHNyX2RwbXMKPiArICogU1VCVEVTVDogcHNyLWRwbXMKPiDCoCAqIERlc2NyaXB0 aW9uOiBDaGVjayBpZiBwc3IgaXMgZGV0ZWN0aW5nIGNoYW5nZXMgd2hlbiByZW5kZXJpbmcgb3Bl cmF0aW9uIGlzCj4gwqAgKsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHBlcmZvcm1lZMKgIHdp dGggZHBtcyBlbmFibGVkIG9yIGRpc2FibGVkCj4gwqAgKiBGdW5jdGlvbmFsaXR5OiBkcG1zLCBw c3IxCj4gwqAgKgo+IC0gKiBTVUJURVNUOiBwc3Jfbm9fZHJycwo+ICsgKiBTVUJURVNUOiBmYmMt cHNyLWRwbXMKPiArICogRGVzY3JpcHRpb246IENoZWNrIGlmIGZiYyB3aXRoIHBzciBpcyBkZXRl Y3RpbmcgY2hhbmdlcyB3aGVuIHJlbmRlcmluZyBvcGVyYXRpb24gaXMKPiArICrCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCBwZXJmb3JtZWTCoCB3aXRoIGRwbXMgZW5hYmxlZCBvciBkaXNhYmxl ZAo+ICsgKiBGdW5jdGlvbmFsaXR5OiBkcG1zLCBwc3IsIGZiYwo+ICsgKgo+ICsgKiBTVUJURVNU OiBwc3Itbm8tZHJycwo+IMKgICogRGVzY3JpcHRpb246IENoZWNrIGlmIHBzciBpcyBkZXRlY3Rp bmcgY2hhbmdlcyB3aGVuIGRycnMgaXMgZGlzYWJsZWQKPiDCoCAqIEZ1bmN0aW9uYWxpdHk6IGRy cnMsIHBzcjEKPiDCoCAqCj4gLSAqIFNVQlRFU1Q6IHBzcl9zdXNwZW5kCj4gKyAqIFNVQlRFU1Q6 IGZiYy1wc3Itbm8tZHJycwo+ICsgKiBEZXNjcmlwdGlvbjogQ2hlY2sgaWYgZmJjIHdpdGggcHNy IGlzIGRldGVjdGluZyBjaGFuZ2VzIHdoZW4gZHJycyBpcyBkaXNhYmxlZAo+ICsgKiBGdW5jdGlv bmFsaXR5OiBkcnJzLCBwc3IsIGZiYwo+ICsgKgo+ICsgKiBTVUJURVNUOiBwc3Itc3VzcGVuZAo+ IMKgICogRGVzY3JpcHRpb246IENoZWNrIGlmIHBzciBpcyBkZXRlY3RpbmcgY2hhbmdlcyB3aGVu IHBsYW5lIG9wZXJhdGlvbgo+IMKgICrCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpcyBwZXJm b3JtZWQgd2l0aCBzdXNwZW5kIHJlc3VtZSBjeWNsZXMKPiDCoCAqIEZ1bmN0aW9uYWxpdHk6IHBz cjEsIHN1c3BlbmQKPiDCoCAqCj4gLSAqIFNVQlRFU1Q6IHBzcjJfZHBtcwo+ICsgKiBTVUJURVNU OiBmYmMtcHNyLXN1c3BlbmQKPiArICogRGVzY3JpcHRpb246IENoZWNrIGlmIGZiYyB3aXRoIHBz ciBpcyBkZXRlY3RpbmcgY2hhbmdlcyB3aGVuIHBsYW5lIG9wZXJhdGlvbgo+ICsgKsKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIGlzIHBlcmZvcm1lZCB3aXRoIHN1c3BlbmQgcmVzdW1lIGN5Y2xl cwo+ICsgKiBGdW5jdGlvbmFsaXR5OiBwc3IsIHN1c3BlbmQsIGZiYwo+ICsgKgo+ICsgKiBTVUJU RVNUOiBwc3IyLWRwbXMKPiDCoCAqIERlc2NyaXB0aW9uOiBDaGVjayBpZiBwc3IgaXMgZGV0ZWN0 aW5nIGNoYW5nZXMgd2hlbiByZW5kZXJpbmcgb3BlcmF0aW9uCj4gwqAgKsKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIGlzIHBlcmZvcm1lZMKgIHdpdGggZHBtcyBlbmFibGVkIG9yIGRpc2FibGVk Cj4gwqAgKiBGdW5jdGlvbmFsaXR5OiBkcG1zLCBwc3IyCj4gwqAgKgo+IC0gKiBTVUJURVNUOiBw c3IyX25vX2RycnMKPiArICogU1VCVEVTVDogZmJjLXBzcjItZHBtcwo+ICsgKiBEZXNjcmlwdGlv bjogQ2hlY2sgaWYgZmJjIHdpdGggcHNyIGlzIGRldGVjdGluZyBjaGFuZ2VzIHdoZW4gcmVuZGVy aW5nIG9wZXJhdGlvbgo+ICsgKsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlzIHBlcmZvcm1l ZMKgIHdpdGggZHBtcyBlbmFibGVkIG9yIGRpc2FibGVkCj4gKyAqIEZ1bmN0aW9uYWxpdHk6IGRw bXMsIHBzciwgcHNyMiwgZmJjCj4gKyAqCj4gKyAqIFNVQlRFU1Q6IHBzcjItbm8tZHJycwo+IMKg ICogRGVzY3JpcHRpb246IENoZWNrIGlmIHBzciBpcyBkZXRlY3RpbmcgY2hhbmdlcyB3aGVuIGRy cnMgaXMgZGlzYWJsZWQKPiDCoCAqIEZ1bmN0aW9uYWxpdHk6IGRycnMsIHBzcjIKPiDCoCAqCj4g LSAqIFNVQlRFU1Q6IHBzcjJfc3VzcGVuZAo+ICsgKiBTVUJURVNUOiBmYmMtcHNyMi1uby1kcnJz Cj4gKyAqIERlc2NyaXB0aW9uOiBDaGVjayBpZiBmYmMgd2l0aCBwc3IgaXMgZGV0ZWN0aW5nIGNo YW5nZXMgd2hlbiBkcnJzIGlzIGRpc2FibGVkCj4gKyAqIEZ1bmN0aW9uYWxpdHk6IGRycnMsIHBz ciwgcHNyMiwgZmJjCj4gKyAqCj4gKyAqIFNVQlRFU1Q6IHBzcjItc3VzcGVuZAo+IMKgICogRGVz Y3JpcHRpb246IENoZWNrIGlmIHBzciBpcyBkZXRlY3RpbmcgY2hhbmdlcyB3aGVuIHBsYW5lIG9w ZXJhdGlvbiBpcwo+IMKgICrCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBwZXJmb3JtZWQgd2l0 aCBzdXNwZW5kIHJlc3VtZSBjeWNsZXMKPiDCoCAqIEZ1bmN0aW9uYWxpdHk6IHBzcjIsIHN1c3Bl bmQKPiDCoCAqCj4gLSAqIFNVQlRFU1Q6IHBzcjJfYmFzaWMKPiArICogU1VCVEVTVDogZmJjLXBz cjItc3VzcGVuZAo+ICsgKiBEZXNjcmlwdGlvbjogQ2hlY2sgaWYgZmJjIHdpdGggcHNyIGlzIGRl dGVjdGluZyBjaGFuZ2VzIHdoZW4gcGxhbmUgb3BlcmF0aW9uIGlzCj4gKyAqwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgcGVyZm9ybWVkIHdpdGggc3VzcGVuZCByZXN1bWUgY3ljbGVzCj4gKyAq IEZ1bmN0aW9uYWxpdHk6IHBzciwgcHNyMiwgc3VzcGVuZCwgZmJjCj4gKyAqCj4gKyAqIFNVQlRF U1Q6IHBzcjItYmFzaWMKPiDCoCAqIERlc2NyaXB0aW9uOiBCYXNpYyBjaGVjayBmb3IgcHNyIGlm IGl0IGlzIGRldGVjdGluZyBjaGFuZ2VzIG1hZGUgaW4gcGxhbmVzCj4gwqAgKiBGdW5jdGlvbmFs aXR5OiBwc3IyCj4gwqAgKgo+IC0gKiBTVUJURVNUOiBwc3IyXyVzXyVzCj4gKyAqIFNVQlRFU1Q6 IGZiYy1wc3IyLWJhc2ljCj4gKyAqIERlc2NyaXB0aW9uOiBCYXNpYyBjaGVjayBmb3IgZmJjIHdp dGggcHNyIGlmIGl0IGlzIGRldGVjdGluZyBjaGFuZ2VzIG1hZGUgaW4gcGxhbmVzCj4gKyAqIEZ1 bmN0aW9uYWxpdHk6IHBzciwgcHNyMiwgZmJjCj4gKyAqCj4gKyAqIFNVQlRFU1Q6IHBzcjItJXMt JXMKPiDCoCAqIERlc2NyaXB0aW9uOiBDaGVjayBpZiBwc3IyIGlzIGRldGVjdGluZyBtZW1vcnkg bWFwcGluZywgcmVuZGVyaW5nIGFuZCBwbGFuZQo+IMKgICrCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBvcGVyYXRpb25zIHBlcmZvcm1lZCBvbiAlYXJnWzFdIHBsYW5lcwo+IMKgICogRHJpdmVy IHJlcXVpcmVtZW50OiBpOTE1Cj4gwqAgKiBGdW5jdGlvbmFsaXR5OiBrbXNfY29yZSwgcGxhbmUs IHBzcjIKPiDCoCAqCj4gKyAqIFNVQlRFU1Q6IGZiYy1wc3IyLSVzLSVzCj4gKyAqIERlc2NyaXB0 aW9uOiBDaGVjayBpZiBmYmMgd2l0aCBwc3IyIGlzIGRldGVjdGluZyBtZW1vcnkgbWFwcGluZywg cmVuZGVyaW5nIGFuZCBwbGFuZQo+ICsgKsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG9wZXJh dGlvbnMgcGVyZm9ybWVkIG9uICVhcmdbMV0gcGxhbmVzCj4gKyAqIEZ1bmN0aW9uYWxpdHk6IGtt c19jb3JlLCBwbGFuZSwgcHNyLCBwc3IyLCBmYmMKPiArICoKPiDCoCAqIGFyZ1sxXToKPiDCoCAq Cj4gwqAgKiBAY3Vyc29yOsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBDdXJzb3IgcGxhbmUKPiBA QCAtMTQ3LDIxICsyMDksMzEgQEAKPiDCoCAqCj4gwqAgKiBhcmdbMl06Cj4gwqAgKgo+IC0gKiBA bW1hcF9jcHU6wqDCoMKgwqDCoMKgwqDCoMKgwqAgTU1BUCBDUFUKPiAtICogQG1tYXBfZ3R0OsKg wqDCoMKgwqDCoMKgwqDCoMKgIE1NQVAgR1RUCj4gKyAqIEBtbWFwLWNwdTrCoMKgwqDCoMKgwqDC oMKgwqDCoCBNTUFQIENQVQo+ICsgKiBAbW1hcC1ndHQ6wqDCoMKgwqDCoMKgwqDCoMKgwqAgTU1B UCBHVFQKPiDCoCAqLwo+IMKgCj4gwqAvKioKPiAtICogU1VCVEVTVDogcHNyMl9wcmltYXJ5X3Bh Z2VfZmxpcAo+ICsgKiBTVUJURVNUOiBwc3IyLXByaW1hcnktcGFnZS1mbGlwCj4gwqAgKiBEZXNj cmlwdGlvbjogQ2hlY2sgaWYgcHNyIGlzIGRldGVjdGluZyBtZW1vcnkgbWFwcGluZywgcmVuZGVy aW5nIGFuZCBwbGFuZQo+IMKgICrCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBvcGVyYXRpb25z IHBlcmZvcm1lZCBvbiBwcmltYXJ5IHBsYW5lcwo+IMKgICogRnVuY3Rpb25hbGl0eTogcGxhbmUs IHBzcjIKPiDCoCAqCj4gLSAqIFNVQlRFU1Q6IHBzcjJfcHJpbWFyeV8lcwo+ICsgKiBTVUJURVNU OiBmYmMtcHNyMi1wcmltYXJ5LXBhZ2UtZmxpcAo+ICsgKiBEZXNjcmlwdGlvbjogQ2hlY2sgaWYg ZmJjIHdpdGggcHNyIGlzIGRldGVjdGluZyBtZW1vcnkgbWFwcGluZywgcmVuZGVyaW5nIGFuZCBw bGFuZQo+ICsgKsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG9wZXJhdGlvbnMgcGVyZm9ybWVk IG9uIHByaW1hcnkgcGxhbmVzCj4gKyAqIEZ1bmN0aW9uYWxpdHk6IHBsYW5lLCBwc3IsIHBzcjIs IGZiYwo+ICsgKgo+ICsgKiBTVUJURVNUOiBwc3IyLXByaW1hcnktJXMKPiDCoCAqIERlc2NyaXB0 aW9uOiBDaGVjayBpZiBwc3IgaXMgZGV0ZWN0aW5nIG1lbW9yeSBtYXBwaW5nLCByZW5kZXJpbmcg YW5kIHBsYW5lCj4gwqAgKsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG9wZXJhdGlvbnMgcGVy Zm9ybWVkIG9uIHByaW1hcnkgcGxhbmVzCj4gwqAgKiBGdW5jdGlvbmFsaXR5OiBrbXNfY29yZSwg cGxhbmUsIHBzcjIKPiDCoCAqCj4gKyAqIFNVQlRFU1Q6IGZiYy1wc3IyLXByaW1hcnktJXMKPiAr ICogRGVzY3JpcHRpb246IENoZWNrIGlmIGZiYyB3aXRoIHBzciBpcyBkZXRlY3RpbmcgbWVtb3J5 IG1hcHBpbmcsIHJlbmRlcmluZyBhbmQgcGxhbmUKPiArICrCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBvcGVyYXRpb25zIHBlcmZvcm1lZCBvbiBwcmltYXJ5IHBsYW5lcwo+ICsgKiBGdW5jdGlv bmFsaXR5OiBrbXNfY29yZSwgcGxhbmUsIHBzciwgcHNyMiwgZmJjCj4gKyAqCj4gwqAgKiBhcmdb MV06Cj4gwqAgKgo+IMKgICogQGJsdDrCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgQmxp dHRlcgo+IEBAIC0xNjksMTEgKzI0MSwxNiBAQAo+IMKgICovCj4gwqAKPiDCoC8qKgo+IC0gKiBT VUJURVNUOiBwc3IyXyVzXyVzCj4gKyAqIFNVQlRFU1Q6IHBzcjItJXMtJXMKPiDCoCAqIERlc2Ny aXB0aW9uOiBDaGVjayBpZiBwc3IgaXMgZGV0ZWN0aW5nIG1lbW9yeSBtYXBwaW5nLCByZW5kZXJp bmcgYW5kIHBsYW5lCj4gwqAgKsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG9wZXJhdGlvbnMg cGVyZm9ybWVkIG9uICVhcmdbMV0gcGxhbmVzCj4gwqAgKiBGdW5jdGlvbmFsaXR5OiBrbXNfY29y ZSwgcGxhbmUsIHBzcjIKPiDCoCAqCj4gKyAqIFNVQlRFU1Q6IGZiYy1wc3IyLSVzLSVzCj4gKyAq IERlc2NyaXB0aW9uOiBDaGVjayBpZiBwc3IgaXMgZGV0ZWN0aW5nIG1lbW9yeSBtYXBwaW5nLCBy ZW5kZXJpbmcgYW5kIHBsYW5lCj4gKyAqwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgb3BlcmF0 aW9ucyBwZXJmb3JtZWQgb24gJWFyZ1sxXSBwbGFuZXMKPiArICogRnVuY3Rpb25hbGl0eToga21z X2NvcmUsIHBsYW5lLCBwc3IsIHBzcjIsIGZiYwo+ICsgKgo+IMKgICogYXJnWzFdOgo+IMKgICoK PiDCoCAqIEBjdXJzb3I6wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIEN1cnNvciBwbGFuZQo+IEBA IC0xODMsNDIgKzI2MCw2NyBAQAo+IMKgICoKPiDCoCAqIEBibHQ6wqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIEJsaXR0ZXIKPiDCoCAqIEByZW5kZXI6wqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIFJlbmRlcgo+IC0gKiBAcGxhbmVfb25vZmY6wqDCoMKgwqDCoMKgwqAgUGxhbmUgT24gb2Zm Cj4gLSAqIEBwbGFuZV9tb3ZlOsKgwqDCoMKgwqDCoMKgwqAgTW92ZSBwbGFuZSBwb3NpdGlvbgo+ ICsgKiBAcGxhbmUtb25vZmY6wqDCoMKgwqDCoMKgwqAgUGxhbmUgT24gb2ZmCj4gKyAqIEBwbGFu ZS1tb3ZlOsKgwqDCoMKgwqDCoMKgwqAgTW92ZSBwbGFuZSBwb3NpdGlvbgo+IMKgICovCj4gwqAK PiDCoC8qKgo+IC0gKiBTVUJURVNUOiBwcl9kcG1zCj4gKyAqIFNVQlRFU1Q6IHByLWRwbXMKPiDC oCAqIERlc2NyaXB0aW9uOiBDaGVjayBpZiBwciBpcyBkZXRlY3RpbmcgY2hhbmdlcyB3aGVuIHJl bmRlcmluZyBvcGVyYXRpb24KPiDCoCAqwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaXMgcGVy Zm9ybWVkIHdpdGggZHBtcyBlbmFibGVkIG9yIGRpc2FibGVkCj4gwqAgKiBGdW5jdGlvbmFsaXR5 OiBkcG1zLCBwcgo+IMKgICogTWVnYSBmZWF0dXJlOiBQYW5lbCBSZXBsYXkKPiDCoCAqCj4gLSAq IFNVQlRFU1Q6IHByX25vX2RycnMKPiArICogU1VCVEVTVDogZmJjLXByLWRwbXMKPiArICogRGVz Y3JpcHRpb246IENoZWNrIGlmIGZiYyB3aXRoIHByIGlzIGRldGVjdGluZyBjaGFuZ2VzIHdoZW4g cmVuZGVyaW5nIG9wZXJhdGlvbgo+ICsgKsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlzIHBl cmZvcm1lZCB3aXRoIGRwbXMgZW5hYmxlZCBvciBkaXNhYmxlZAo+ICsgKiBGdW5jdGlvbmFsaXR5 OiBkcG1zLCBwciwgZmJjCj4gKyAqCj4gKyAqIFNVQlRFU1Q6IHByLW5vLWRycnMKPiDCoCAqIERl c2NyaXB0aW9uOiBDaGVjayBpZiBwciBpcyBkZXRlY3RpbmcgY2hhbmdlcyB3aGVuIGRycnMgaXMg ZGlzYWJsZWQKPiDCoCAqIEZ1bmN0aW9uYWxpdHk6IGRycnMsIHByCj4gwqAgKiBNZWdhIGZlYXR1 cmU6IFBhbmVsIFJlcGxheQo+IMKgICoKPiAtICogU1VCVEVTVDogcHJfc3VzcGVuZAo+ICsgKiBT VUJURVNUOiBmYmMtcHItbm8tZHJycwo+ICsgKiBEZXNjcmlwdGlvbjogQ2hlY2sgaWYgcHIgaXMg ZGV0ZWN0aW5nIGNoYW5nZXMgd2hlbiBkcnJzIGlzIGRpc2FibGVkCj4gKyAqIEZ1bmN0aW9uYWxp dHk6IGRycnMsIHByLCBmYmMKPiArICoKPiArICogU1VCVEVTVDogcHItc3VzcGVuZAo+IMKgICog RGVzY3JpcHRpb246IENoZWNrIGlmIHByIGlzIGRldGVjdGluZyBjaGFuZ2VzIHdoZW4gcGxhbmUg b3BlcmF0aW9uIGlzCj4gwqAgKsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHBlcmZvcm1lZCB3 aXRoIHN1c3BlbmQgcmVzdW1lIGN5Y2xlcwo+IMKgICogRnVuY3Rpb25hbGl0eTogcHIsIHN1c3Bl bmQKPiDCoCAqIE1lZ2EgZmVhdHVyZTogUGFuZWwgUmVwbGF5Cj4gwqAgKgo+IC0gKiBTVUJURVNU OiBwcl9iYXNpYwo+ICsgKiBTVUJURVNUOiBmYmMtcHItc3VzcGVuZAo+ICsgKiBEZXNjcmlwdGlv bjogQ2hlY2sgaWYgZmJjIHdpdGggcHIgaXMgZGV0ZWN0aW5nIGNoYW5nZXMgd2hlbiBwbGFuZSBv cGVyYXRpb24gaXMKPiArICrCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBwZXJmb3JtZWQgd2l0 aCBzdXNwZW5kIHJlc3VtZSBjeWNsZXMKPiArICogRnVuY3Rpb25hbGl0eTogcHIsIHN1c3BlbmQs IGZiYwo+ICsgKgo+ICsgKiBTVUJURVNUOiBwci1iYXNpYwo+IMKgICogRGVzY3JpcHRpb246IEJh c2ljIGNoZWNrIGZvciBwciBpZiBpdCBpcyBkZXRlY3RpbmcgY2hhbmdlcyBtYWRlIGluIHBsYW5l cwo+IMKgICogRnVuY3Rpb25hbGl0eTogcHIKPiDCoCAqIE1lZ2EgZmVhdHVyZTogUGFuZWwgUmVw bGF5Cj4gKyAqCj4gKyAqIFNVQlRFU1Q6IGZiYy1wci1iYXNpYwo+ICsgKiBEZXNjcmlwdGlvbjog QmFzaWMgY2hlY2sgZm9yIGZiYyB3aXRoIHByIGlmIGl0IGlzIGRldGVjdGluZyBjaGFuZ2VzIG1h ZGUgaW4gcGxhbmVzCj4gKyAqIEZ1bmN0aW9uYWxpdHk6IHByLCBmYmMKPiDCoCAqLwo+IMKgCj4g wqAvKioKPiAtICogU1VCVEVTVDogcHJfJXNfJXMKPiArICogU1VCVEVTVDogcHItJXMtJXMKPiDC oCAqIERlc2NyaXB0aW9uOiBDaGVjayBpZiBwciBpcyBkZXRlY3RpbmcgbWVtb3J5IG1hcHBpbmcs IHJlbmRlcmluZyBhbmQgcGxhbmUKPiDCoCAqwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgb3Bl cmF0aW9ucyBwZXJmb3JtZWQgb24gJWFyZ1sxXSBwbGFuZXMKPiDCoCAqIERyaXZlciByZXF1aXJl bWVudDogaTkxNQo+IMKgICogRnVuY3Rpb25hbGl0eToga21zX2NvcmUsIHBsYW5lLCBwcgo+IMKg ICogTWVnYSBmZWF0dXJlOiBQYW5lbCBSZXBsYXkKPiDCoCAqCj4gKyAqIFNVQlRFU1Q6IGZiYy1w ci0lcy0lcwo+ICsgKiBEZXNjcmlwdGlvbjogQ2hlY2sgaWYgZmJjIHdpdGggcHIgaXMgZGV0ZWN0 aW5nIG1lbW9yeSBtYXBwaW5nLCByZW5kZXJpbmcgYW5kIHBsYW5lCj4gKyAqwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgb3BlcmF0aW9ucyBwZXJmb3JtZWQgb24gJWFyZ1sxXSBwbGFuZXMKPiAr ICogRHJpdmVyIHJlcXVpcmVtZW50OiBpOTE1Cj4gKyAqIEZ1bmN0aW9uYWxpdHk6IGttc19jb3Jl LCBwbGFuZSwgcHIsIGZiYwo+ICsgKiBNZWdhIGZlYXR1cmU6IFBhbmVsIFJlcGxheSwgRkJDCj4g KyAqIFRlc3QgY2F0ZWdvcnk6IGZ1bmN0aW9uYWxpdHkgdGVzdAo+IMKgICogYXJnWzFdOgo+IMKg ICoKPiDCoCAqIEBjdXJzb3I6wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIEN1cnNvciBwbGFuZQo+ IEBAIC0yMjcsMjMgKzMyOSwzNSBAQAo+IMKgICoKPiDCoCAqIGFyZ1syXToKPiDCoCAqCj4gLSAq IEBtbWFwX2NwdTrCoMKgwqDCoMKgwqDCoMKgwqDCoCBNTUFQIENQVQo+IC0gKiBAbW1hcF9ndHQ6 wqDCoMKgwqDCoMKgwqDCoMKgwqAgTU1BUCBHVFQKPiArICogQG1tYXAtY3B1OsKgwqDCoMKgwqDC oMKgwqDCoMKgIE1NQVAgQ1BVCj4gKyAqIEBtbWFwLWd0dDrCoMKgwqDCoMKgwqDCoMKgwqDCoCBN TUFQIEdUVAo+IMKgICovCj4gwqAKPiDCoC8qKgo+IC0gKiBTVUJURVNUOiBwcl9wcmltYXJ5X3Bh Z2VfZmxpcAo+ICsgKiBTVUJURVNUOiBwci1wcmltYXJ5LXBhZ2UtZmxpcAo+IMKgICogRGVzY3Jp cHRpb246IENoZWNrIGlmIHByIGlzIGRldGVjdGluZyBtZW1vcnkgbWFwcGluZywgcmVuZGVyaW5n IGFuZCBwbGFuZQo+IMKgICrCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBvcGVyYXRpb25zIHBl cmZvcm1lZCBvbiBwcmltYXJ5IHBsYW5lcwo+IMKgICogRnVuY3Rpb25hbGl0eTogcGxhbmUsIHBy Cj4gwqAgKiBNZWdhIGZlYXR1cmU6IFBhbmVsIFJlcGxheQo+IMKgICoKPiAtICogU1VCVEVTVDog cHJfcHJpbWFyeV8lcwo+ICsgKiBTVUJURVNUOiBmYmMtcHItcHJpbWFyeS1wYWdlLWZsaXAKPiAr ICogRGVzY3JpcHRpb246IENoZWNrIGlmIGZiYyB3aXRoIHByIGlzIGRldGVjdGluZyBtZW1vcnkg bWFwcGluZywgcmVuZGVyaW5nIGFuZCBwbGFuZQo+ICsgKsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIG9wZXJhdGlvbnMgcGVyZm9ybWVkIG9uIHByaW1hcnkgcGxhbmVzCj4gKyAqIEZ1bmN0aW9u YWxpdHk6IHBsYW5lLCBwciwgZmJjCj4gKyAqIE1lZ2EgZmVhdHVyZTogUGFuZWwgUmVwbGF5LCBG QkMKPiArICoKPiArICogU1VCVEVTVDogcHItcHJpbWFyeS0lcwo+IMKgICogRGVzY3JpcHRpb246 IENoZWNrIGlmIHByIGlzIGRldGVjdGluZyBtZW1vcnkgbWFwcGluZywgcmVuZGVyaW5nIGFuZCBw bGFuZQo+IMKgICrCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBvcGVyYXRpb25zIHBlcmZvcm1l ZCBvbiBwcmltYXJ5IHBsYW5lcwo+IMKgICogRnVuY3Rpb25hbGl0eToga21zX2NvcmUsIHBsYW5l LCBwcgo+IMKgICogTWVnYSBmZWF0dXJlOiBQYW5lbCBSZXBsYXkKPiDCoCAqCj4gKyAqIFNVQlRF U1Q6IGZiYy1wci1wcmltYXJ5LSVzCj4gKyAqIERlc2NyaXB0aW9uOiBDaGVjayBpZiBmYmMgd2l0 aCBwciBpcyBkZXRlY3RpbmcgbWVtb3J5IG1hcHBpbmcsIHJlbmRlcmluZyBhbmQgcGxhbmUKPiAr ICrCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBvcGVyYXRpb25zIHBlcmZvcm1lZCBvbiBwcmlt YXJ5IHBsYW5lcwo+ICsgKiBGdW5jdGlvbmFsaXR5OiBrbXNfY29yZSwgcGxhbmUsIHByLCBmYmMK PiArICogTWVnYSBmZWF0dXJlOiBQYW5lbCBSZXBsYXksIEZCQwo+ICsgKgo+IMKgICogYXJnWzFd Ogo+IMKgICoKPiDCoCAqIEBibHQ6wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIEJsaXR0 ZXIKPiBAQCAtMjUxLDEyICszNjUsMTggQEAKPiDCoCAqLwo+IMKgCj4gwqAvKioKPiAtICogU1VC VEVTVDogcHJfJXNfJXMKPiArICogU1VCVEVTVDogcHItJXMtJXMKPiDCoCAqIERlc2NyaXB0aW9u OiBDaGVjayBpZiBwciBpcyBkZXRlY3RpbmcgbWVtb3J5IG1hcHBpbmcsIHJlbmRlcmluZyBhbmQg cGxhbmUKPiDCoCAqwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgb3BlcmF0aW9ucyBwZXJmb3Jt ZWQgb24gJWFyZ1sxXSBwbGFuZXMKPiDCoCAqIEZ1bmN0aW9uYWxpdHk6IGttc19jb3JlLCBwbGFu ZSwgcHIKPiDCoCAqIE1lZ2EgZmVhdHVyZTogUGFuZWwgUmVwbGF5Cj4gwqAgKgo+ICsgKiBTVUJU RVNUOiBmYmMtcHItJXMtJXMKPiArICogRGVzY3JpcHRpb246IENoZWNrIGlmIGZiYyB3aXRoIHBy IGlzIGRldGVjdGluZyBtZW1vcnkgbWFwcGluZywgcmVuZGVyaW5nIGFuZCBwbGFuZQo+ICsgKsKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG9wZXJhdGlvbnMgcGVyZm9ybWVkIG9uICVhcmdbMV0g cGxhbmVzCj4gKyAqIEZ1bmN0aW9uYWxpdHk6IGttc19jb3JlLCBwbGFuZSwgcHIsIGZiYwo+ICsg KiBNZWdhIGZlYXR1cmU6IFBhbmVsIFJlcGxheSwgRkJDCj4gKyAqCj4gwqAgKiBhcmdbMV06Cj4g wqAgKgo+IMKgICogQGN1cnNvcjrCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgQ3Vyc29yIHBsYW5l Cj4gQEAgLTI2NiwyNSArMzg2LDQwIEBACj4gwqAgKgo+IMKgICogQGJsdDrCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgQmxpdHRlcgo+IMKgICogQHJlbmRlcjrCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgUmVuZGVyCj4gLSAqIEBwbGFuZV9vbm9mZjrCoMKgwqDCoMKgwqDCoCBQbGFuZSBP biBvZmYKPiAtICogQHBsYW5lX21vdmU6wqDCoMKgwqDCoMKgwqDCoCBNb3ZlIHBsYW5lIHBvc2l0 aW9uCj4gKyAqIEBwbGFuZS1vbm9mZjrCoMKgwqDCoMKgwqDCoCBQbGFuZSBPbiBvZmYKPiArICog QHBsYW5lLW1vdmU6wqDCoMKgwqDCoMKgwqDCoCBNb3ZlIHBsYW5lIHBvc2l0aW9uCj4gwqAgKi8K PiDCoAo+IMKgLyoqCj4gLSAqIFNVQlRFU1Q6IHBzcl9jdXJzb3JfcGxhbmVfbW92ZQo+ICsgKiBT VUJURVNUOiBwc3ItY3Vyc29yLXBsYW5lLW1vdmUKPiDCoCAqIERlc2NyaXB0aW9uOiBDaGVjayBp ZiBwc3IgaXMgZGV0ZWN0aW5nIHRoZSBwbGFuZSBvcGVyYXRpb25zIHBlcmZvcm1lZCBvbgo+IMKg ICrCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGN1cnNvciBwbGFuZXMKPiDCoCAqIEZ1bmN0aW9u YWxpdHk6IHBzcjEKPiDCoCAqCj4gLSAqIFNVQlRFU1Q6IHBzcl9wcmltYXJ5X3BhZ2VfZmxpcAo+ ICsgKiBTVUJURVNUOiBmYmMtcHNyLWN1cnNvci1wbGFuZS1tb3ZlCj4gKyAqIERlc2NyaXB0aW9u OiBDaGVjayBpZiBmYmMgd2l0aCBwc3IgaXMgZGV0ZWN0aW5nIHRoZSBwbGFuZSBvcGVyYXRpb25z IHBlcmZvcm1lZCBvbgo+ICsgKsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGN1cnNvciBwbGFu ZXMKPiArICogRnVuY3Rpb25hbGl0eTogcHNyMSwgZmJjCj4gKyAqCj4gKyAqIFNVQlRFU1Q6IHBz ci1wcmltYXJ5LXBhZ2UtZmxpcAo+IMKgICogRGVzY3JpcHRpb246IENoZWNrIGlmIHBzciBpcyBk ZXRlY3RpbmcgcGFnZS1mbGlwcGluZyBvcGVyYXRpb25zIHBlcmZvcm1lZAo+IMKgICrCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoG9uIHByaW1hcnkgcGxhbmVzCj4gwqAgKiBGdW5jdGlvbmFsaXR5 OiBwc3IxCj4gwqAgKgo+IC0gKiBTVUJURVNUOiBwc3Jfc3ByaXRlX3BsYW5lX29ub2ZmCj4gKyAq IFNVQlRFU1Q6IGZiYy1wc3ItcHJpbWFyeS1wYWdlLWZsaXAKPiArICogRGVzY3JpcHRpb246IENo ZWNrIGlmIHBzciBpcyBkZXRlY3RpbmcgcGFnZS1mbGlwcGluZyBvcGVyYXRpb25zIHBlcmZvcm1l ZAo+ICsgKsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG9uIHByaW1hcnkgcGxhbmVzCj4gKyAq IEZ1bmN0aW9uYWxpdHk6IHBzcjEsIGZiYwo+ICsgKgo+ICsgKiBTVUJURVNUOiBwc3Itc3ByaXRl LXBsYW5lLW9ub2ZmCj4gwqAgKiBEZXNjcmlwdGlvbjogQ2hlY2sgaWYgcHNyIGlzIGRldGVjdGlu ZyB0aGUgcGxhbmUgb3BlcmF0aW9ucyBwZXJmb3JtZWQgb24KPiDCoCAqwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqBzcHJpdGUgcGxhbmVzCj4gwqAgKiBGdW5jdGlvbmFsaXR5OiBwc3IxCj4gKyAq Cj4gKyAqIFNVQlRFU1Q6IGZiYy1wc3Itc3ByaXRlLXBsYW5lLW9ub2ZmCj4gKyAqIERlc2NyaXB0 aW9uOiBDaGVjayBpZiBwc3IgaXMgZGV0ZWN0aW5nIHRoZSBwbGFuZSBvcGVyYXRpb25zIHBlcmZv cm1lZCBvbgo+ICsgKsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHNwcml0ZSBwbGFuZXMKPiAr ICogRnVuY3Rpb25hbGl0eTogcHNyMSwgZmJjCj4gwqAgKi8KPiDCoAo+IMKgZW51bSBvcGVyYXRp b25zIHsKPiBAQCAtMzAwLDEzICs0MzUsMTMgQEAgZW51bSBvcGVyYXRpb25zIHsKPiDCoHN0YXRp YyBjb25zdCBjaGFyICpvcF9zdHIoZW51bSBvcGVyYXRpb25zIG9wKQo+IMKgewo+IMKgwqDCoMKg wqDCoMKgwqBzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IG5hbWVbXSA9IHsKPiAtwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgW1BBR0VfRkxJUF0gPSAicGFnZV9mbGlwIiwKPiAtwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgW01NQVBfR1RUXSA9ICJtbWFwX2d0dCIsCj4gLcKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoFtNTUFQX0NQVV0gPSAibW1hcF9jcHUiLAo+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBbUEFHRV9GTElQXSA9ICJwYWdlLWZsaXAiLAo+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBbTU1BUF9HVFRdID0gIm1tYXAtZ3R0IiwKPiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgW01NQVBfQ1BVXSA9ICJtbWFwLWNwdSIsCj4g wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBbQkxUXSA9ICJibHQiLAo+IMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgW1JFTkRFUl0gPSAicmVuZGVyIiwKPiAtwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgW1BMQU5FX01PVkVdID0gInBsYW5lX21vdmUiLAo+IC3CoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBbUExBTkVfT05PRkZdID0gInBsYW5lX29ub2ZmIiwK PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgW1BMQU5FX01PVkVdID0gInBsYW5lLW1v dmUiLAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBbUExBTkVfT05PRkZdID0gInBs YW5lLW9ub2ZmIiwKPiDCoMKgwqDCoMKgwqDCoMKgfTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBy ZXR1cm4gbmFtZVtvcF07Cj4gQEAgLTMxOCw2ICs0NTMsNyBAQCB0eXBlZGVmIHN0cnVjdCB7Cj4g wqDCoMKgwqDCoMKgwqDCoGVudW0gb3BlcmF0aW9ucyBvcDsKPiDCoMKgwqDCoMKgwqDCoMKgaW50 IHRlc3RfcGxhbmVfaWQ7Cj4gwqDCoMKgwqDCoMKgwqDCoGVudW0gcHNyX21vZGUgb3BfcHNyX21v ZGU7Cj4gK8KgwqDCoMKgwqDCoMKgZW51bSBmYmNfbW9kZSBvcF9mYmNfbW9kZTsKPiDCoMKgwqDC oMKgwqDCoMKgdWludDMyX3QgZGV2aWQ7Cj4gwqDCoMKgwqDCoMKgwqDCoHVpbnQzMl90IGNydGNf aWQ7Cj4gwqDCoMKgwqDCoMKgwqDCoGlndF9kaXNwbGF5X3QgZGlzcGxheTsKPiBAQCAtMzI4LDYg KzQ2NCw3IEBAIHR5cGVkZWYgc3RydWN0IHsKPiDCoMKgwqDCoMKgwqDCoMKgaW50IG1vZF9zdHJp ZGU7Cj4gwqDCoMKgwqDCoMKgwqDCoGRybU1vZGVNb2RlSW5mbyAqbW9kZTsKPiDCoMKgwqDCoMKg wqDCoMKgaWd0X291dHB1dF90ICpvdXRwdXQ7Cj4gK8KgwqDCoMKgwqDCoMKgYm9vbCBmYmNfZmxh ZzsKPiDCoH0gZGF0YV90Owo+IMKgCj4gwqBzdGF0aWMgdm9pZCBjcmVhdGVfY3Vyc29yX2ZiKGRh dGFfdCAqZGF0YSkKPiBAQCAtNzI1LDEwICs4NjIsMTUgQEAgc3RhdGljIHZvaWQgdGVzdF9zZXR1 cChkYXRhX3QgKmRhdGEpCj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHBz cl9lbmFibGVfaWZfZW5hYmxlZChkYXRhKTsKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoHNldHVwX3Rlc3RfcGxhbmUoZGF0YSwgZGF0YS0+dGVzdF9wbGFuZV9pZCk7Cj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlmIChkYXRhLT5mYmNfZmxhZyA9PSB0cnVlICYmIGRh dGEtPm9wX2ZiY19tb2RlID09IEZCQ19FTkFCTEVEKQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWd0X2Fzc2VydF9mKGludGVsX2ZiY193YWl0X3VudGls X2VuYWJsZWQoZGF0YS0+ZHJtX2ZkLAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBwaXBlKSwKPiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgIkZCQyBzdGlsbCBkaXNhYmxlZCIpOwpNYXkgYmUgbW92ZSB0aGlzIGFmdGVyIHRo ZSBuZXh0IHN0YXRlbWVudCwgdG8gZW5zdXJlIHRoYXQgRkJDIGlzIGVuYWJsZWQgYWZ0ZXIgdGhl IFBTUj8KPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlmIChwc3Jfd2FpdF9lbnRy eV9pZl9lbmFibGVkKGRhdGEpKSB7Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgcHNyX2VudGVyZWQgPSB0cnVlOwo+IMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGJyZWFrOwo+IMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgfQo+ICsKPiDCoMKgwqDCoMKgwqDCoMKgfQo+IMKgCj4gwqDCoMKgwqDCoMKg wqDCoGlndF9hc3NlcnQocHNyX2VudGVyZWQpOwo+IEBAIC03NDYsMTQgKzg4OCwyMCBAQCBkYXRh X3QgZGF0YSA9IHt9Owo+IMKgCj4gwqBpZ3RfbWFpbgo+IMKgewo+IC3CoMKgwqDCoMKgwqDCoGlu dCB6Owo+ICvCoMKgwqDCoMKgwqDCoGludCB6LCB5Owo+IMKgwqDCoMKgwqDCoMKgwqBlbnVtIG9w ZXJhdGlvbnMgb3A7Cj4gK8KgwqDCoMKgwqDCoMKgZW51bSBwaXBlIHBpcGU7Cj4gwqDCoMKgwqDC oMKgwqDCoGNvbnN0IGNoYXIgKmFwcGVuZF9zdWJ0ZXN0X25hbWVbM10gPSB7Cj4gLcKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCJwc3JfIiwKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgInBzcjJfIiwKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgInByXyIKPiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgInBzci0iLAo+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAicHNyMi0iLAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAi cHItIgo+ICvCoMKgwqDCoMKgwqDCoH07Cj4gK8KgwqDCoMKgwqDCoMKgY29uc3QgY2hhciAqYXBw ZW5kX2ZiY19zdWJ0ZXN0WzJdID0gewo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAi IiwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgImZiYy0iCj4gwqDCoMKgwqDCoMKg wqDCoH07Cj4gwqDCoMKgwqDCoMKgwqDCoGludCBtb2Rlc1tdID0ge1BTUl9NT0RFXzEsIFBTUl9N T0RFXzIsIFBSX01PREV9Owo+ICvCoMKgwqDCoMKgwqDCoGludCBmYmNfc3RhdHVzW10gPSB7RkJD X0RJU0FCTEVELCBGQkNfRU5BQkxFRH07Cj4gwqDCoMKgwqDCoMKgwqDCoGlndF9vdXRwdXRfdCAq b3V0cHV0Owo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoGlndF9maXh0dXJlIHsKPiBAQCAtNzY0LDUy ICs5MTIsMzggQEAgaWd0X21haW4KPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRh dGEuYm9wcyA9IGJ1Zl9vcHNfY3JlYXRlKGRhdGEuZHJtX2ZkKTsKPiDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoGlndF9kaXNwbGF5X3JlcXVpcmUoJmRhdGEuZGlzcGxheSwgZGF0YS5k cm1fZmQpOwo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWd0X3JlcXVpcmVfZihv dXRwdXRfc3VwcG9ydHNfcHNyKCZkYXRhKSwgIlNpbmsgZG9lcyBub3Qgc3VwcG9ydCBQU1IvUFNS Mi9QUlxuIik7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlmICgoaW50ZWxfZGlz cGxheV92ZXIoaW50ZWxfZ2V0X2RybV9kZXZpZChkYXRhLmRybV9mZCkgPT0gMjApKSAmJgo+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKGludGVsX2ZiY19zdXBwb3J0ZWRf b25fY2hpcHNldChkYXRhLmRybV9mZCwgcGlwZSkpKSB7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBkYXRhLmZiY19mbGFnID0gdHJ1ZTsKPiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfQo+IMKgwqDCoMKgwqDCoMKgwqB9Cj4gwqAKPiAtwqDC oMKgwqDCoMKgwqBmb3IgKHogPSAwOyB6IDwgQVJSQVlfU0laRShtb2Rlcyk7IHorKykgewo+IC3C oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBkYXRhLm9wX3Bzcl9tb2RlID0gbW9kZXNbel07 Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZ3RfZGVzY3JpYmUoIkJhc2lj IGNoZWNrIGZvciBwc3IgaWYgaXQgaXMgZGV0ZWN0aW5nIGNoYW5nZXMgbWFkZSBpbiBwbGFuZXMi KTsKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWd0X3N1YnRlc3Rfd2l0aF9keW5h bWljX2YoIiVzYmFzaWMiLCBhcHBlbmRfc3VidGVzdF9uYW1lW3pdKSB7Cj4gLcKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBmb3JfZWFjaF9jb25uZWN0ZWRfb3V0 cHV0KCZkYXRhLmRpc3BsYXksIG91dHB1dCkgewo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlmICghcHNyX3Npbmtfc3VwcG9y dChkYXRhLmRybV9mZCwgZGF0YS5kZWJ1Z2ZzX2ZkLAo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBkYXRhLm9wX3Bzcl9tb2RlLCBvdXRwdXQpKQo+IC3C oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqBjb250aW51ZTsKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZ3RfZGlzcGxheV9yZXNldCgm ZGF0YS5kaXNwbGF5KTsKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBkYXRhLm91dHB1dCA9IG91dHB1dDsKPiAtwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZ3Rf ZHluYW1pY19mKCIlcyIsIGRhdGEub3V0cHV0LT5uYW1lKSB7Cj4gLcKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoGRhdGEudGVzdF9wbGFuZV9pZCA9IERSTV9QTEFORV9UWVBFX1BSSU1BUlk7Cj4gLcKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoHRlc3Rfc2V0dXAoJmRhdGEpOwo+IC3CoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqB0ZXN0X2NsZWFudXAoJmRhdGEpOwo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoH0KPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoH0KPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgfQo+ICvCoMKgwqDCoMKgwqDCoGZvciAoeSA9IDA7IHkgPCBBUlJBWV9TSVpFKGZiY19zdGF0 dXMpOyB5KyspIHsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGF0YS5vcF9mYmNf bW9kZSA9IGZiY19zdGF0dXNbeV07Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGZv ciAoeiA9IDA7IHogPCBBUlJBWV9TSVpFKG1vZGVzKTsgeisrKSB7Cj4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBkYXRhLm9wX3Bzcl9tb2RlID0gbW9kZXNb el07Cj4gwqAKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWd0X2Rlc2NyaWJlKCJD aGVjayBpZiBwc3IgaXMgZGV0ZWN0aW5nIGNoYW5nZXMgd2hlbiBkcnJzIGlzIGRpc2FibGVkIik7 Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlndF9zdWJ0ZXN0X3dpdGhfZHluYW1p Y19mKCIlc25vX2RycnMiLCBhcHBlbmRfc3VidGVzdF9uYW1lW3pdKSB7Cj4gLcKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBmb3JfZWFjaF9jb25uZWN0ZWRfb3V0 cHV0KCZkYXRhLmRpc3BsYXksIG91dHB1dCkgewo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlmICghcHNyX3Npbmtfc3VwcG9y dChkYXRhLmRybV9mZCwgZGF0YS5kZWJ1Z2ZzX2ZkLAo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBkYXRhLm9wX3Bzcl9tb2RlLCBvdXRwdXQpKQo+IC3C oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqBjb250aW51ZTsKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZ3RfZGlzcGxheV9yZXNldCgm ZGF0YS5kaXNwbGF5KTsKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBkYXRhLm91dHB1dCA9IG91dHB1dDsKPiAtwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZ3Rf ZHluYW1pY19mKCIlcyIsIGRhdGEub3V0cHV0LT5uYW1lKSB7Cj4gLcKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoGRhdGEudGVzdF9wbGFuZV9pZCA9IERSTV9QTEFORV9UWVBFX1BSSU1BUlk7Cj4gLcKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoHRlc3Rfc2V0dXAoJmRhdGEpOwo+IC3CoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqBpZ3RfYXNzZXJ0KGRycnNfZGlzYWJsZWQoJmRhdGEpKTsKPiAtwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgdGVzdF9jbGVhbnVwKCZkYXRhKTsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoGlndF9kZXNjcmliZSgiQmFzaWMgY2hlY2sgZm9yIHBzciBpZiBpdCBp cyBkZXRlY3RpbmcgY2hhbmdlcyBtYWRlICIKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAiaW4gcGxhbmVzIik7 Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZ3Rfc3Vi dGVzdF93aXRoX2R5bmFtaWNfZigiJXMlc2Jhc2ljIiwgYXBwZW5kX2ZiY19zdWJ0ZXN0W3ldLAo+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBhcHBlbmRfc3VidGVz dF9uYW1lW3pdKSB7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgZm9yX2VhY2hfY29ubmVjdGVkX291dHB1dCgmZGF0YS5kaXNw bGF5LCBvdXRwdXQpIHsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWYgKCFwc3Jfc2lua19zdXBw b3J0KGRhdGEuZHJtX2ZkLCBkYXRhLmRlYnVnZnNfZmQsCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBkYXRhLm9wX3Bzcl9t b2RlLCBvdXRwdXQpKQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgY29u dGludWU7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlndF9kaXNwbGF5X3Jlc2V0KCZkYXRhLmRp c3BsYXkpOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBkYXRhLm91dHB1dCA9IG91dHB1dDsKPiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgaWd0X2R5bmFtaWNfZigiJXMiLCBkYXRhLm91dHB1dC0+bmFt ZSkgewo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGF0YS50ZXN0X3Bs YW5lX2lkID0gRFJNX1BMQU5FX1RZUEVfUFJJTUFSWTsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoHRlc3Rfc2V0dXAoJmRhdGEpOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgdGVzdF9jbGVhbnVwKCZkYXRhKTsKPiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgfQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqB9Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgfQo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB9Cj4gwqAKPiAt wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZm9yIChvcCA9IFBBR0VfRkxJUDsgb3AgPD0g UkVOREVSOyBvcCsrKSB7Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqBpZ3RfZGVzY3JpYmUoIkNoZWNrIGlmIHBzciBpcyBkZXRlY3RpbmcgcGFnZS1mbGlw cGluZyxtZW1vcnkgbWFwcGluZyBhbmQgIgo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAicmVuZGVy aW5nIG9wZXJhdGlvbnMgcGVyZm9ybWVkIG9uIHByaW1hcnkgcGxhbmVzIik7Cj4gLcKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZ3Rfc3VidGVzdF93aXRoX2R5 bmFtaWNfZigiJXNwcmltYXJ5XyVzIiwKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGFwcGVuZF9zdWJ0ZXN0 X25hbWVbel0sCj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBvcF9zdHIob3ApKSB7Cj4gLcKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWd0X3Nr aXBfb24oaXNfeGVfZGV2aWNlKGRhdGEuZHJtX2ZkKSAmJgo+IC3CoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgKG9wID09IE1NQVBfQ1BVIHx8IG9wID09IE1NQVBfR1RUKSk7Cj4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZ3RfZGVzY3JpYmUoIkNoZWNr IGlmIHBzciBpcyBkZXRlY3RpbmcgY2hhbmdlcyB3aGVuIGRycnMgaXMgZGlzYWJsZWQiKTsKPiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlndF9zdWJ0ZXN0 X3dpdGhfZHluYW1pY19mKCIlcyVzbm8tZHJycyIsIGFwcGVuZF9mYmNfc3VidGVzdFt5XSwKPiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgYXBwZW5kX3N1YnRlc3Rf bmFtZVt6XSkgewo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqBmb3JfZWFjaF9jb25uZWN0ZWRfb3V0cHV0KCZkYXRhLmRpc3Bs YXksIG91dHB1dCkgewo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWYgKCFwc3Jfc2lua19zdXBw b3J0KGRhdGEuZHJtX2ZkLCBkYXRhLmRlYnVnZnNfZmQsCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZGF0YS5vcF9wc3Jf bW9kZSwgb3V0cHV0KSkKPiBAQCAtODE3LDI0ICs5NTEsOTEgQEAgaWd0X21haW4KPiDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoGlndF9kaXNwbGF5X3Jlc2V0KCZkYXRhLmRpc3BsYXkpOwo+IMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgZGF0YS5vdXRwdXQgPSBvdXRwdXQ7Cj4gwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqBpZ3RfZHluYW1pY19mKCIlcyIsIGRhdGEub3V0cHV0LT5uYW1lKSB7Cj4gLcKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBkYXRhLm9wID0gb3A7Cj4gwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGF0YS50ZXN0X3BsYW5lX2lkID0gRFJNX1BM QU5FX1RZUEVfUFJJTUFSWTsKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqB0ZXN0X3NldHVwKCZkYXRhKTsKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoHJ1bl90ZXN0KCZkYXRhKTsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoGlndF9hc3NlcnQoZHJyc19kaXNhYmxlZCgmZGF0YSkpOwpJIHRoaW5rIHRoaXMgaXMgbm90 IHJlbGF0ZWQgdG8gdGhpcyBwYXRjaD8KPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqB0ZXN0X2NsZWFudXAoJmRhdGEpOwo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfQo+ IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqB9Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgfQo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB9Cj4gwqAKPiAtwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgZm9yIChvcCA9IE1NQVBfR1RUOyBvcCA8PSBQTEFORV9PTk9G Rjsgb3ArKykgewo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgaWd0X2Rlc2NyaWJlKCJDaGVjayBpZiBwc3IgaXMgZGV0ZWN0aW5nIG1lbW9yeSBtYXBwaW5n LHJlbmRlcmluZyAiCj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCJhbmQgcGxhbmUgb3BlcmF0aW9u cyBwZXJmb3JtZWQgb24gc3ByaXRlIHBsYW5lcyIpOwo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWd0X3N1YnRlc3Rfd2l0aF9keW5hbWljX2YoIiVzc3By aXRlXyVzIiwKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGFwcGVuZF9zdWJ0ZXN0X25hbWVbel0sCj4gLcKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBvcF9zdHIob3ApKSB7Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWd0X3NraXBfb24oaXNfeGVfZGV2 aWNlKGRhdGEuZHJtX2ZkKSAmJgo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKG9wID09 IE1NQVBfQ1BVIHx8IG9wID09IE1NQVBfR1RUKSk7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBmb3IgKG9wID0gUEFHRV9GTElQOyBvcCA8PSBSRU5ERVI7 IG9wKyspIHsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqBpZ3RfZGVzY3JpYmUoIkNoZWNrIGlmIHBzciBpcyBkZXRlY3Rpbmcg cGFnZS1mbGlwcGluZyxtZW1vcnkgIgo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAi bWFwcGluZyBhbmQgcmVuZGVyaW5nIG9wZXJhdGlvbnMgcGVyZm9ybWVkIG9uICIKPiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgInByaW1hcnkgcGxhbmVzIik7Cj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWd0X3N1 YnRlc3Rfd2l0aF9keW5hbWljX2YoIiVzJXNwcmltYXJ5LSVzIiwKPiBhcHBlbmRfZmJjX3N1YnRl c3RbeV0sCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgYXBwZW5kX3N1YnRlc3Rf bmFtZVt6XSwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBvcF9zdHIob3ApKSB7 Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlndF9za2lwX29uKGlzX3hlX2RldmljZShkYXRhLmRy bV9mZCkgJiYKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAo b3AgPT0gTU1BUF9DUFUgfHwgb3AgPT0gTU1BUF9HVFQpKTsKPiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgZm9yX2VhY2hfY29ubmVjdGVkX291dHB1dCgmZGF0YS5kaXNwbGF5LCBvdXRwdXQpIHsKPiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlmICghcHNyX3Npbmtfc3VwcG9y dChkYXRhLmRybV9mZCwKPiBkYXRhLmRlYnVnZnNfZmQsCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgZGF0YS5vcF9wc3JfbW9kZSwgb3V0cHV0KSkKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBjb250aW51ZTsKPiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlndF9kaXNwbGF5X3Jlc2V0KCZkYXRhLmRpc3BsYXkpOwo+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGF0YS5vdXRwdXQgPSBvdXRw dXQ7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZ3RfZHluYW1pY19m KCIlcyIsIGRhdGEub3V0cHV0LT5uYW1lKSB7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGF0YS5vcCA9IG9wOwo+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRhdGEudGVzdF9wbGFuZV9p ZCA9Cj4gRFJNX1BMQU5FX1RZUEVfUFJJTUFSWTsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB0ZXN0X3NldHVwKCZkYXRhKTsKPiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBydW5fdGVzdCgm ZGF0YSk7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgdGVzdF9jbGVhbnVwKCZkYXRhKTsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoH0KPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfQo+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoH0KPiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoH0KPiArCj4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBmb3IgKG9wID0gTU1BUF9HVFQ7 IG9wIDw9IFBMQU5FX09OT0ZGOyBvcCsrKSB7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWd0X2Rlc2NyaWJlKCJDaGVjayBp ZiBwc3IgaXMgZGV0ZWN0aW5nIG1lbW9yeSBtYXBwaW5nLHJlbmRlcmluZyAiCj4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAiYW5kIHBsYW5lIG9wZXJhdGlvbnMgcGVyZm9y bWVkIG9uIHNwcml0ZQo+IHBsYW5lcyIpOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlndF9zdWJ0ZXN0X3dpdGhfZHluYW1p Y19mKCIlcyVzc3ByaXRlLSVzIiwgYXBwZW5kX2ZiY19zdWJ0ZXN0W3ldLAo+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIGFwcGVuZF9zdWJ0ZXN0X25hbWVbel0sCj4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgb3Bfc3RyKG9wKSkgewo+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqBpZ3Rfc2tpcF9vbihpc194ZV9kZXZpY2UoZGF0YS5kcm1fZmQpICYmCj4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKG9wID09IE1NQVBfQ1BVIHx8IG9w ID09IE1NQVBfR1RUKSk7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGZvcl9lYWNoX2Nvbm5lY3Rl ZF9vdXRwdXQoJmRhdGEuZGlzcGxheSwgb3V0cHV0KSB7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqBpZiAoIXBzcl9zaW5rX3N1cHBvcnQoZGF0YS5kcm1fZmQsCj4gZGF0 YS5kZWJ1Z2ZzX2ZkLAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGRhdGEub3BfcHNyX21vZGUs IG91dHB1dCkpCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgY29udGludWU7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqBpZ3RfZGlzcGxheV9yZXNldCgmZGF0YS5kaXNwbGF5KTsKPiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoGRhdGEub3V0cHV0ID0gb3V0cHV0Owo+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWd0X2R5bmFtaWNfZigiJXMiLCBkYXRhLm91dHB1dC0+ bmFtZSkgewo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoGRhdGEub3AgPSBvcDsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqBkYXRhLnRlc3RfcGxhbmVfaWQgPQo+IERSTV9QTEFORV9UWVBF X09WRVJMQVk7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgdGVzdF9zZXR1cCgmZGF0YSk7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcnVuX3Rlc3QoJmRhdGEpOwo+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHRlc3RfY2xlYW51cCgm ZGF0YSk7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB9Cj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoH0KPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB9Cj4gKwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlndF9kZXNjcmliZSgiQ2hl Y2sgaWYgcHNyIGlzIGRldGVjdGluZyBtZW1vcnkgbWFwcGluZywgcmVuZGVyaW5nCj4gIgo+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgImFuZCBwbGFuZSBvcGVyYXRpb25z IHBlcmZvcm1lZCBvbiBjdXJzb3IKPiBwbGFuZXMiKTsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZ3Rfc3VidGVzdF93aXRo X2R5bmFtaWNfZigiJXMlc2N1cnNvci0lcyIsIGFwcGVuZF9mYmNfc3VidGVzdFt5XSwKPiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGFw cGVuZF9zdWJ0ZXN0X25hbWVbel0sCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBvcF9zdHIob3ApKSB7Cj4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoGlndF9za2lwX29uKGlzX3hlX2RldmljZShkYXRhLmRybV9mZCkgJiYKPiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAob3AgPT0gTU1BUF9DUFUgfHwg b3AgPT0gTU1BUF9HVFQpKTsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZm9yX2VhY2hfY29ubmVj dGVkX291dHB1dCgmZGF0YS5kaXNwbGF5LCBvdXRwdXQpIHsKPiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoGlmICghcHNyX3Npbmtfc3VwcG9ydChkYXRhLmRybV9mZCwKPiBk YXRhLmRlYnVnZnNfZmQsCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZGF0YS5vcF9wc3JfbW9k ZSwgb3V0cHV0KSkKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqBjb250aW51ZTsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoGlndF9kaXNwbGF5X3Jlc2V0KCZkYXRhLmRpc3BsYXkpOwo+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgZGF0YS5vdXRwdXQgPSBvdXRwdXQ7Cj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZ3RfZHluYW1pY19mKCIlcyIsIGRhdGEub3V0cHV0 LT5uYW1lKSB7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgZGF0YS50ZXN0X3BsYW5lX2lkID0KPiBEUk1fUExBTkVfVFlQRV9DVVJTT1I7Cj4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgdGVz dF9zZXR1cCgmZGF0YSk7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgcnVuX3Rlc3QoJmRhdGEpOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHRlc3RfY2xlYW51cCgmZGF0YSk7Cj4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB9Cj4gK8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoH0KPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqB9Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqB9Cj4gKwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgaWd0X2Rlc2NyaWJlKCJDaGVjayBpZiBwc3IgaXMgZGV0ZWN0aW5nIGNoYW5nZXMgd2hl biByZW5kZXJpbmcgb3BlcmF0aW9uICIKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAiaXMgcGVyZm9ybWVkwqAg d2l0aCBkcG1zIGVuYWJsZWQgb3IgZGlzYWJsZWQiKTsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlndF9zdWJ0ZXN0X3dpdGhfZHluYW1pY19mKCIlcyVz ZHBtcyIsIGFwcGVuZF9mYmNfc3VidGVzdFt5XSwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgYXBwZW5kX3N1YnRlc3RfbmFtZVt6XSkgewo+IMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBmb3Jf ZWFjaF9jb25uZWN0ZWRfb3V0cHV0KCZkYXRhLmRpc3BsYXksIG91dHB1dCkgewo+IMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgaWYgKCFwc3Jfc2lua19zdXBwb3J0KGRhdGEuZHJtX2ZkLCBkYXRhLmRl YnVnZnNfZmQsCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgZGF0YS5vcF9wc3JfbW9kZSwgb3V0cHV0KSkKPiBAQCAtODQy LDIyICsxMDQzLDIwIEBAIGlndF9tYWluCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZ3RfZGlz cGxheV9yZXNldCgmZGF0YS5kaXNwbGF5KTsKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRhdGEu b3V0cHV0ID0gb3V0cHV0Owo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWd0X2R5bmFtaWNfZigi JXMiLCBkYXRhLm91dHB1dC0+bmFtZSkgewo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgZGF0YS5vcCA9IG9wOwo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgZGF0YS50ZXN0X3BsYW5lX2lkID0gRFJNX1BMQU5FX1RZUEVfT1ZFUkxBWTsKPiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRhdGEub3AgPSBpZ3RfZ2V0X3JlbmRl cl9jb3B5ZnVuYyhkYXRhLmRldmlkKSA/Cj4gUkVOREVSIDogQkxUOwo+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGF0YS50ZXN0X3BsYW5lX2lkID0gRFJNX1BMQU5FX1RZ UEVfUFJJTUFSWTsKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB0ZXN0 X3NldHVwKCZkYXRhKTsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRw bXNfb2ZmX29uKCZkYXRhKTsKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqBydW5fdGVzdCgmZGF0YSk7Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgdGVzdF9jbGVhbnVwKCZkYXRhKTsKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoH0KPiDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgfQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoH0K PiDCoAo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWd0 X2Rlc2NyaWJlKCJDaGVjayBpZiBwc3IgaXMgZGV0ZWN0aW5nIG1lbW9yeSBtYXBwaW5nLCByZW5k ZXJpbmcgIgo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAiYW5kIHBsYW5lIG9wZXJhdGlvbnMgcGVy Zm9ybWVkIG9uIGN1cnNvciBwbGFuZXMiKTsKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoGlndF9zdWJ0ZXN0X3dpdGhfZHluYW1pY19mKCIlc2N1cnNvcl8l cyIsCj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBhcHBlbmRfc3VidGVzdF9uYW1lW3pdLAo+IC3CoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgb3Bfc3RyKG9wKSkgewo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlndF9za2lwX29uKGlzX3hlX2RldmljZShk YXRhLmRybV9mZCkgJiYKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIChvcCA9PSBNTUFQ X0NQVSB8fCBvcCA9PSBNTUFQX0dUVCkpOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgaWd0X2Rlc2NyaWJlKCJDaGVjayBpZiBwc3IgaXMgZGV0ZWN0aW5n IGNoYW5nZXMgd2hlbiBwbGFuZSBvcGVyYXRpb24gaXMgIgo+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICJwZXJm b3JtZWQgd2l0aCBzdXNwZW5kIHJlc3VtZSBjeWNsZXMiKTsKPiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlndF9zdWJ0ZXN0X3dpdGhfZHluYW1pY19mKCIl cyVzc3VzcGVuZCIsIGFwcGVuZF9mYmNfc3VidGVzdFt5XSwKPiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgYXBwZW5kX3N1YnRlc3RfbmFtZVt6XSkgewo+IMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqBmb3JfZWFjaF9jb25uZWN0ZWRfb3V0cHV0KCZkYXRhLmRpc3BsYXksIG91dHB1dCkgewo+IMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgaWYgKCFwc3Jfc2lua19zdXBwb3J0KGRhdGEuZHJtX2ZkLCBk YXRhLmRlYnVnZnNfZmQsCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZGF0YS5vcF9wc3JfbW9kZSwgb3V0cHV0KSkKPiBA QCAtODY1LDU2ICsxMDY0LDE4IEBAIGlndF9tYWluCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBp Z3RfZGlzcGxheV9yZXNldCgmZGF0YS5kaXNwbGF5KTsKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oGRhdGEub3V0cHV0ID0gb3V0cHV0Owo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWd0X2R5bmFt aWNfZigiJXMiLCBkYXRhLm91dHB1dC0+bmFtZSkgewo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgZGF0YS5vcCA9IFBMQU5FX09OT0ZGOwo+IMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRhdGEudGVzdF9wbGFuZV9pZCA9IERSTV9QTEFORV9UWVBF X0NVUlNPUjsKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB0ZXN0X3Nl dHVwKCZkYXRhKTsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlndF9z eXN0ZW1fc3VzcGVuZF9hdXRvcmVzdW1lKFNVU1BFTkRfU1RBVEVfTUVNLAo+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBTVVNQRU5EX1RFU1RfTk9ORSk7Cj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZ3RfYXNzZXJ0KHBzcl93YWl0X2VudHJ5 X2lmX2VuYWJsZWQoJmRhdGEpKTsKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqBydW5fdGVzdCgmZGF0YSk7Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgdGVzdF9jbGVhbnVwKCZkYXRhKTsKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoH0KPiDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgfQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oH0KPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoH0KPiAtCj4gLcKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoGlndF9kZXNjcmliZSgiQ2hlY2sgaWYgcHNyIGlzIGRldGVjdGlu ZyBjaGFuZ2VzIHdoZW4gcmVuZGVyaW5nIG9wZXJhdGlvbiBpcwo+IHBlcmZvcm1lZCIKPiAtwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAiwqAgd2l0aCBkcG1zIGVuYWJsZWQgb3IgZGlzYWJsZWQiKTsKPiAtwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgaWd0X3N1YnRlc3Rfd2l0aF9keW5hbWljX2YoIiVzZHBtcyIsIGFwcGVu ZF9zdWJ0ZXN0X25hbWVbel0pIHsKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoGZvcl9lYWNoX2Nvbm5lY3RlZF9vdXRwdXQoJmRhdGEuZGlzcGxheSwgb3V0 cHV0KSB7Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgaWYgKCFwc3Jfc2lua19zdXBwb3J0KGRhdGEuZHJtX2ZkLCBkYXRhLmRl YnVnZnNfZmQsCj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIGRhdGEub3BfcHNyX21vZGUsIG91dHB1dCkpCj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGNv bnRpbnVlOwo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoGlndF9kaXNwbGF5X3Jlc2V0KCZkYXRhLmRpc3BsYXkpOwo+IC3CoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oGRhdGEub3V0cHV0ID0gb3V0cHV0Owo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlndF9keW5hbWljX2YoIiVzIiwgZGF0YS5v dXRwdXQtPm5hbWUpIHsKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGF0YS5vcCA9IGlndF9nZXRf cmVuZGVyX2NvcHlmdW5jKGRhdGEuZGV2aWQpID8gUkVOREVSIDoKPiBCTFQ7Cj4gLcKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoGRhdGEudGVzdF9wbGFuZV9pZCA9IERSTV9QTEFORV9UWVBFX1BSSU1BUlk7 Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHRlc3Rfc2V0dXAoJmRhdGEpOwo+IC3CoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqBkcG1zX29mZl9vbigmZGF0YSk7Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHJ1 bl90ZXN0KCZkYXRhKTsKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgdGVzdF9jbGVhbnVwKCZkYXRh KTsKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqB9Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqB9Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoH0KPiAtCj4gLcKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlndF9kZXNjcmliZSgiQ2hlY2sgaWYgcHNyIGlzIGRldGVj dGluZyBjaGFuZ2VzIHdoZW4gcGxhbmUgb3BlcmF0aW9uIGlzIHBlcmZvcm1lZAo+ICIKPiAtwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAid2l0aCBzdXNwZW5kIHJlc3VtZSBjeWNsZXMiKTsKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgaWd0X3N1YnRlc3Rfd2l0aF9keW5hbWljX2YoIiVzc3VzcGVuZCIsIGFwcGVuZF9z dWJ0ZXN0X25hbWVbel0pIHsKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoGZvcl9lYWNoX2Nvbm5lY3RlZF9vdXRwdXQoJmRhdGEuZGlzcGxheSwgb3V0cHV0 KSB7Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgaWYgKCFwc3Jfc2lua19zdXBwb3J0KGRhdGEuZHJtX2ZkLCBkYXRhLmRlYnVn ZnNfZmQsCj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IGRhdGEub3BfcHNyX21vZGUsIG91dHB1dCkpCj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGNvbnRp bnVlOwo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoGlndF9kaXNwbGF5X3Jlc2V0KCZkYXRhLmRpc3BsYXkpOwo+IC3CoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRh dGEub3V0cHV0ID0gb3V0cHV0Owo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlndF9keW5hbWljX2YoIiVzIiwgZGF0YS5vdXRw dXQtPm5hbWUpIHsKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGF0YS5vcCA9IFBMQU5FX09OT0ZG Owo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBkYXRhLnRlc3RfcGxhbmVfaWQgPSBEUk1fUExBTkVf VFlQRV9DVVJTT1I7Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHRlc3Rfc2V0dXAoJmRhdGEpOwo+ IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZ3Rfc3lzdGVtX3N1c3BlbmRfYXV0b3Jlc3VtZShTVVNQ RU5EX1NUQVRFX01FTSwKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBTVVNQRU5EX1RFU1RfTk9O RSk7Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlndF9hc3NlcnQocHNyX3dhaXRfZW50cnlfaWZf ZW5hYmxlZCgmZGF0YSkpOwo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBydW5fdGVzdCgmZGF0YSk7 Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHRlc3RfY2xlYW51cCgmZGF0YSk7Cj4gLcKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfQo+ IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfQo+IC3CoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB9Cj4gwqDCoMKgwqDCoMKgwqDCoH0KPiDCoAo+IMKg wqDCoMKgwqDCoMKgwqBpZ3RfZml4dHVyZSB7Cgo=