From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id C61D410E150 for ; Mon, 23 Oct 2023 06:54:11 +0000 (UTC) From: "Hogander, Jouni" To: "Joshi, Kunal1" , "igt-dev@lists.freedesktop.org" Date: Mon, 23 Oct 2023 06:54:02 +0000 Message-ID: <37c94fe86ede8b92e1505eade961783203e5887d.camel@intel.com> References: <20231020060503.870173-1-kunal1.joshi@intel.com> <20231020060503.870173-6-kunal1.joshi@intel.com> In-Reply-To: <20231020060503.870173-6-kunal1.joshi@intel.com> Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [igt-dev] [PATCH i-g-t 5/5] tests/intel/kms_psr: made test compaitable with pr List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Murthy, Arun R" Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" List-ID: T24gRnJpLCAyMDIzLTEwLTIwIGF0IDExOjM1ICswNTMwLCBLdW5hbCBKb3NoaSB3cm90ZToKPiBN b2RpZmllZCBrbXNfcHNyIHRvIGhhdmUgc3VwcG9ydCBmb3IgRFAgcHIuCj4gCj4gQ2M6IEpvdW5p IEjDtmdhbmRlciA8am91bmkuaG9nYW5kZXJAaW50ZWwuY29tPgo+IENjOiBBbmltZXNoIE1hbm5h IDxhbmltZXNoLm1hbm5hQGludGVsLmNvbT4KPiBDYzogQXJ1biBSIE11cnRoeSA8YXJ1bi5yLm11 cnRoeUBpbnRlbC5jb20+Cj4gU2lnbmVkLW9mZi1ieTogS3VuYWwgSm9zaGkgPGt1bmFsMS5qb3No aUBpbnRlbC5jb20+Cj4gLS0tCj4gwqB0ZXN0cy9pbnRlbC9rbXNfcHNyLmMgfCA0MDIgKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLQo+IC0tCj4gwqAxIGZpbGUgY2hhbmdl ZCwgMzMxIGluc2VydGlvbnMoKyksIDcxIGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS90 ZXN0cy9pbnRlbC9rbXNfcHNyLmMgYi90ZXN0cy9pbnRlbC9rbXNfcHNyLmMKPiBpbmRleCBmZmVj YzUyMjIuLmIxNDI2N2RjZSAxMDA2NDQKPiAtLS0gYS90ZXN0cy9pbnRlbC9rbXNfcHNyLmMKPiAr KysgYi90ZXN0cy9pbnRlbC9rbXNfcHNyLmMKPiBAQCAtMjI5LDYgKzIyOSwxMDIgQEAKPiDCoCAq IEBwbGFuZV9tb3ZlOsKgwqDCoMKgwqDCoMKgwqAgTW92ZSBwbGFuZSBwb3NpdGlvbgo+IMKgICov Cj4gwqAKPiArLyoqCj4gKyAqIFNVQlRFU1Q6IHByX2RwbXMKPiArICogRGVzY3JpcHRpb246IENo ZWNrIGlmIHByIGlzIGRldGVjdGluZyBjaGFuZ2VzIHdoZW4gcmVuZGVyaW5nCj4gb3BlcmF0aW9u Cj4gKyAqwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaXMgcGVyZm9ybWVkwqAgd2l0aCBkcG1z IGVuYWJsZWQgb3IgZGlzYWJsZWQKPiArICogRHJpdmVyIHJlcXVpcmVtZW50OiBpOTE1LCB4ZQo+ ICsgKiBGdW5jdGlvbmFsaXR5OiBkcG1zLCBwcgo+ICsgKiBNZWdhIGZlYXR1cmU6IFBhbmVsIFJl cGxheQo+ICsgKiBUZXN0IGNhdGVnb3J5OiBmdW5jdGlvbmFsaXR5IHRlc3QKPiArICoKPiArICog U1VCVEVTVDogcHJfbm9fZHJycwo+ICsgKiBEZXNjcmlwdGlvbjogQ2hlY2sgaWYgcHIgaXMgZGV0 ZWN0aW5nIGNoYW5nZXMgd2hlbiBkcnJzIGlzCj4gZGlzYWJsZWQKPiArICogRHJpdmVyIHJlcXVp cmVtZW50OiBpOTE1LCB4ZQo+ICsgKiBGdW5jdGlvbmFsaXR5OiBkcnJzLCBwcgo+ICsgKiBNZWdh IGZlYXR1cmU6IFBhbmVsIFJlcGxheQo+ICsgKiBUZXN0IGNhdGVnb3J5OiBmdW5jdGlvbmFsaXR5 IHRlc3QKPiArICoKPiArICogU1VCVEVTVDogcHJfc3VzcGVuZAo+ICsgKiBEZXNjcmlwdGlvbjog Q2hlY2sgaWYgcHIgaXMgZGV0ZWN0aW5nIGNoYW5nZXMgd2hlbiBwbGFuZQo+IG9wZXJhdGlvbiBp cwo+ICsgKsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHBlcmZvcm1lZCB3aXRoIHN1c3BlbmQg cmVzdW1lIGN5Y2xlcwo+ICsgKiBEcml2ZXIgcmVxdWlyZW1lbnQ6IGk5MTUsIHhlCj4gKyAqIEZ1 bmN0aW9uYWxpdHk6IHByLCBzdXNwZW5kCj4gKyAqIE1lZ2EgZmVhdHVyZTogUGFuZWwgUmVwbGF5 Cj4gKyAqIFRlc3QgY2F0ZWdvcnk6IGZ1bmN0aW9uYWxpdHkgdGVzdAo+ICsgKgo+ICsgKiBTVUJU RVNUOiBwcl9iYXNpYwo+ICsgKiBEZXNjcmlwdGlvbjogQmFzaWMgY2hlY2sgZm9yIHByIGlmIGl0 IGlzIGRldGVjdGluZyBjaGFuZ2VzIG1hZGUKPiBpbiBwbGFuZXMKPiArICogRHJpdmVyIHJlcXVp cmVtZW50OiBpOTE1LCB4ZQo+ICsgKiBGdW5jdGlvbmFsaXR5OiBwcgo+ICsgKiBNZWdhIGZlYXR1 cmU6IFBhbmVsIFJlcGxheQo+ICsgKiBUZXN0IGNhdGVnb3J5OiBmdW5jdGlvbmFsaXR5IHRlc3QK PiArICoKPiArICogU1VCVEVTVDogcHJfJXNfJXMKPiArICogRGVzY3JpcHRpb246IENoZWNrIGlm IHByIGlzIGRldGVjdGluZyBtZW1vcnkgbWFwcGluZywgcmVuZGVyaW5nCj4gYW5kIHBsYW5lCj4g KyAqwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgb3BlcmF0aW9ucyBwZXJmb3JtZWQgb24gJWFy Z1sxXSBwbGFuZXMKPiArICogRHJpdmVyIHJlcXVpcmVtZW50OiBpOTE1Cj4gKyAqIEZ1bmN0aW9u YWxpdHk6IGttc19jb3JlLCBwbGFuZSwgcHIKPiArICogTWVnYSBmZWF0dXJlOiBQYW5lbCBSZXBs YXkKPiArICogVGVzdCBjYXRlZ29yeTogZnVuY3Rpb25hbGl0eSB0ZXN0Cj4gKyAqCj4gKyAqIGFy Z1sxXToKPiArICoKPiArICogQGN1cnNvcjrCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgQ3Vyc29y IHBsYW5lCj4gKyAqIEBwcmltYXJ5OsKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgUHJpbWFyeSBwbGFu ZQo+ICsgKiBAc3ByaXRlOsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBTcHJpdGUgcGxhbmUKPiAr ICoKPiArICogYXJnWzJdOgo+ICsgKgo+ICsgKiBAbW1hcF9jcHU6wqDCoMKgwqDCoMKgwqDCoMKg wqAgTU1BUCBDUFUKPiArICogQG1tYXBfZ3R0OsKgwqDCoMKgwqDCoMKgwqDCoMKgIE1NQVAgR1RU Cj4gKyAqLwo+ICsKPiArLyoqCj4gKyAqIFNVQlRFU1Q6IHByX3ByaW1hcnlfcGFnZV9mbGlwCj4g KyAqIERlc2NyaXB0aW9uOiBDaGVjayBpZiBwciBpcyBkZXRlY3RpbmcgbWVtb3J5IG1hcHBpbmcs IHJlbmRlcmluZwo+IGFuZCBwbGFuZQo+ICsgKsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG9w ZXJhdGlvbnMgcGVyZm9ybWVkIG9uIHByaW1hcnkgcGxhbmVzCj4gKyAqIERyaXZlciByZXF1aXJl bWVudDogaTkxNSwgeGUKPiArICogRnVuY3Rpb25hbGl0eTogcGxhbmUsIHByCj4gKyAqIE1lZ2Eg ZmVhdHVyZTogUGFuZWwgUmVwbGF5Cj4gKyAqIFRlc3QgY2F0ZWdvcnk6IGZ1bmN0aW9uYWxpdHkg dGVzdAo+ICsgKgo+ICsgKiBTVUJURVNUOiBwcl9wcmltYXJ5XyVzCj4gKyAqIERlc2NyaXB0aW9u OiBDaGVjayBpZiBwciBpcyBkZXRlY3RpbmcgbWVtb3J5IG1hcHBpbmcsIHJlbmRlcmluZwo+IGFu ZCBwbGFuZQo+ICsgKsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG9wZXJhdGlvbnMgcGVyZm9y bWVkIG9uIHByaW1hcnkgcGxhbmVzCj4gKyAqIERyaXZlciByZXF1aXJlbWVudDogaTkxNSwgeGUK PiArICogRnVuY3Rpb25hbGl0eToga21zX2NvcmUsIHBsYW5lLCBwcgo+ICsgKiBNZWdhIGZlYXR1 cmU6IFBhbmVsIFJlcGxheQo+ICsgKiBUZXN0IGNhdGVnb3J5OiBmdW5jdGlvbmFsaXR5IHRlc3QK PiArICoKPiArICogYXJnWzFdOgo+ICsgKgo+ICsgKiBAYmx0OsKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBCbGl0dGVyCj4gKyAqIEByZW5kZXI6wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IFJlbmRlcgo+ICsgKi8KPiArCj4gKy8qKgo+ICsgKiBTVUJURVNUOiBwcl8lc18lcwo+ICsgKiBE ZXNjcmlwdGlvbjogQ2hlY2sgaWYgcHIgaXMgZGV0ZWN0aW5nIG1lbW9yeSBtYXBwaW5nLCByZW5k ZXJpbmcKPiBhbmQgcGxhbmUKPiArICrCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBvcGVyYXRp b25zIHBlcmZvcm1lZCBvbiAlYXJnWzFdIHBsYW5lcwo+ICsgKiBEcml2ZXIgcmVxdWlyZW1lbnQ6 IGk5MTUsIHhlCj4gKyAqIEZ1bmN0aW9uYWxpdHk6IGttc19jb3JlLCBwbGFuZSwgcHIKPiArICog TWVnYSBmZWF0dXJlOiBQYW5lbCBSZXBsYXkKPiArICogVGVzdCBjYXRlZ29yeTogZnVuY3Rpb25h bGl0eSB0ZXN0Cj4gKyAqCj4gKyAqIGFyZ1sxXToKPiArICoKPiArICogQGN1cnNvcjrCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgQ3Vyc29yIHBsYW5lCj4gKyAqIEBzcHJpdGU6wqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIFNwcml0ZSBwbGFuZQo+ICsgKgo+ICsgKiBhcmdbMl06Cj4gKyAqCj4gKyAq IEBibHQ6wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIEJsaXR0ZXIKPiArICogQHJlbmRl cjrCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgUmVuZGVyCj4gKyAqIEBwbGFuZV9vbm9mZjrCoMKg wqDCoMKgwqDCoCBQbGFuZSBPbiBvZmYKPiArICogQHBsYW5lX21vdmU6wqDCoMKgwqDCoMKgwqDC oCBNb3ZlIHBsYW5lIHBvc2l0aW9uCj4gKyAqLwo+ICsKPiDCoGVudW0gb3BlcmF0aW9ucyB7Cj4g wqDCoMKgwqDCoMKgwqDCoFBBR0VfRkxJUCwKPiDCoMKgwqDCoMKgwqDCoMKgTU1BUF9HVFQsCj4g QEAgLTI3Miw2ICszNjgsOSBAQCB0eXBlZGVmIHN0cnVjdCB7Cj4gwqDCoMKgwqDCoMKgwqDCoGln dF9vdXRwdXRfdCAqb3V0cHV0Owo+IMKgwqDCoMKgwqDCoMKgwqBib29sIHdpdGhfcHNyX2Rpc2Fi bGVkOwo+IMKgwqDCoMKgwqDCoMKgwqBib29sIHN1cHBvcnRzX3BzcjI7Cj4gK8KgwqDCoMKgwqDC oMKgIGJvb2wgc3VwcG9ydHNfcHNyOwo+ICvCoMKgwqDCoMKgwqDCoGJvb2wgc3VwcG9ydHNfcHI7 Cj4gK8KgwqDCoMKgwqDCoMKgaWd0X291dHB1dF90ICoqcHJfb3V0cHV0czsKPiDCoH0gZGF0YV90 Owo+IMKgCj4gwqBzdGF0aWMgdm9pZCBjcmVhdGVfY3Vyc29yX2ZiKGRhdGFfdCAqZGF0YSkKPiBA QCAtMzE2LDcgKzQxNSw2IEBAIHN0YXRpYyB2b2lkIHNldHVwX291dHB1dChkYXRhX3QgKmRhdGEp Cj4gwqBzdGF0aWMgdm9pZCBkaXNwbGF5X2luaXQoZGF0YV90ICpkYXRhKQo+IMKgewo+IMKgwqDC oMKgwqDCoMKgwqBpZ3RfZGlzcGxheV9yZXF1aXJlKCZkYXRhLT5kaXNwbGF5LCBkYXRhLT5kcm1f ZmQpOwo+IC3CoMKgwqDCoMKgwqDCoHNldHVwX291dHB1dChkYXRhKTsKPiDCoH0KPiDCoAo+IMKg c3RhdGljIHZvaWQgZGlzcGxheV9maW5pKGRhdGFfdCAqZGF0YSkKPiBAQCAtNDQ0LDYgKzU0Miwx NSBAQCBzdGF0aWMgYm9vbCBwc3Jfd2FpdF9lbnRyeV9pZl9lbmFibGVkKGRhdGFfdAo+ICpkYXRh KQo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcHNyX3dhaXRfZW50cnkoZGF0YS0+ZGVidWdmc19m ZCwgZGF0YS0+b3BfcHNyX21vZGUpOwo+IMKgfQo+IMKgCj4gK3N0YXRpYyBib29sIHByX3dhaXRf ZW50cnkoZGF0YV90ICpkYXRhKQo+ICt7Cj4gK8KgwqDCoMKgwqDCoMKgIGlmIChkYXRhLT53aXRo X3Bzcl9kaXNhYmxlZCkKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiB0 cnVlOwo+ICsKPiArwqDCoMKgwqDCoMKgwqAgcmV0dXJuIGlndF93YWl0KGRwX3ByX2FjdGl2ZV9j aGVjayhkYXRhLT5kZWJ1Z2ZzX2ZkLAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGRhdGEt Pm91dHB1dCksIDUwMCwgMjApOwo+ICt9Cj4gKwo+IMKgc3RhdGljIGJvb2wgcHNyX3dhaXRfdXBk YXRlX2lmX2VuYWJsZWQoZGF0YV90ICpkYXRhKQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBpZiAo ZGF0YS0+d2l0aF9wc3JfZGlzYWJsZWQpCj4gQEAgLTYwNCw3ICs3MTEsMTAgQEAgc3RhdGljIHZv aWQgcnVuX3Rlc3QoZGF0YV90ICpkYXRhKQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgZXhwZWN0ZWQgPSAic2NyZWVuIEdSRUVOIjsKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoGJyZWFrOwo+IMKgwqDCoMKgwqDCoMKgwqB9Cj4gLcKgwqDCoMKgwqDCoMKgaWd0X2Fz c2VydChwc3Jfd2FpdF91cGRhdGVfaWZfZW5hYmxlZChkYXRhKSk7Cj4gK8KgwqDCoMKgwqDCoMKg aWYoc3Ryc3RyKGRhdGEtPm91dHB1dC0+bmFtZSwgIkRQIikpCj4gK8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoGlndF9hc3NlcnQocHJfd2FpdF9lbnRyeShkYXRhKSk7Cj4gK8KgwqDCoMKg wqDCoMKgZWxzZQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZ3RfYXNzZXJ0KHBz cl93YWl0X3VwZGF0ZV9pZl9lbmFibGVkKGRhdGEpKTsKPiDCoMKgwqDCoMKgwqDCoMKgbWFudWFs KGV4cGVjdGVkKTsKPiDCoH0KPiDCoAo+IEBAIC02ODcsNiArNzk3LDcgQEAgc3RhdGljIHZvaWQg dGVzdF9zZXR1cChkYXRhX3QgKmRhdGEpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoGRybU1vZGVD b25uZWN0b3JQdHIgY29ubmVjdG9yOwo+IMKgwqDCoMKgwqDCoMKgwqBib29sIHBzcl9lbnRlcmVk ID0gZmFsc2U7Cj4gK8KgwqDCoMKgwqDCoMKgYm9vbCBwcl9lbnRlcmVkID0gZmFsc2U7Cj4gwqAK PiDCoMKgwqDCoMKgwqDCoMKgaWd0X3JlcXVpcmVfZihkYXRhLT5vdXRwdXQsCj4gwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICJObyBhdmFpbGFibGUgb3V0cHV0IGZv dW5kXG4iKTsKPiBAQCAtNzAzLDE1ICs4MTQsMjMgQEAgc3RhdGljIHZvaWQgdGVzdF9zZXR1cChk YXRhX3QgKmRhdGEpCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZiAoZGF0YS0+ b3BfcHNyX21vZGUgPT0gUFNSX01PREVfMikKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqBpZ3RfcmVxdWlyZShkYXRhLT5zdXBwb3J0c19wc3IyKTsKPiDC oAo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBwc3JfZW5hYmxlX2lmX2VuYWJsZWQo ZGF0YSk7Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHNldHVwX3Rlc3RfcGxhbmUo ZGF0YSwgZGF0YS0+dGVzdF9wbGFuZV9pZCk7Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoGlmIChwc3Jfd2FpdF9lbnRyeV9pZl9lbmFibGVkKGRhdGEpKSB7Cj4gLcKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBwc3JfZW50ZXJlZCA9IHRydWU7Cj4g LcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBicmVhazsKPiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWYgKHN0cnN0cihkYXRhLT5vdXRwdXQtPm5h bWUsICJEUCIpKQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB7Cj4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBzZXR1cF90ZXN0X3BsYW5lKGRh dGEsIGRhdGEtPnRlc3RfcGxhbmVfaWQpOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgcHJfZW50ZXJlZCA9IHByX3dhaXRfZW50cnkoZGF0YSk7Cj4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZihwcl9lbnRlcmVk KQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoGJyZWFrOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB9Cj4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGVsc2Ugewo+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcHNyX2VuYWJsZV9pZl9lbmFibGVkKGRhdGEpOwo+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgc2V0dXBfdGVz dF9wbGFuZShkYXRhLCBkYXRhLT50ZXN0X3BsYW5lX2lkKTsKPiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlmKHBzcl93YWl0X2VudHJ5X2lmX2VuYWJsZWQo ZGF0YSkpIHsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqBwc3JfZW50ZXJlZCA9IHRydWU7Cj4gK8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgYnJlYWs7Cj4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB9Cj4gwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB9Cj4gwqDCoMKgwqDCoMKgwqDCoH0KPiAtCj4gLcKgwqDC oMKgwqDCoMKgaWd0X2Fzc2VydChwc3JfZW50ZXJlZCk7Cj4gK8KgwqDCoMKgwqDCoMKgaWd0X2Fz c2VydChwc3JfZW50ZXJlZCB8fCBwcl9lbnRlcmVkKTsKPiDCoH0KPiDCoAo+IMKgc3RhdGljIHZv aWQgZHBtc19vZmZfb24oZGF0YV90ICpkYXRhKQo+IEBAIC03NDgsMTAgKzg2NywxNSBAQCBkYXRh X3QgZGF0YSA9IHt9Owo+IMKgaWd0X21haW5fYXJncygiIiwgbG9uZ19vcHRpb25zLCBoZWxwX3N0 ciwgb3B0X2hhbmRsZXIsICZkYXRhKQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBlbnVtIG9wZXJh dGlvbnMgb3A7Cj4gLcKgwqDCoMKgwqDCoMKgY29uc3QgY2hhciAqYXBwZW5kX3N1YnRlc3RfbmFt ZVsyXSA9IHsKPiArwqDCoMKgwqDCoMKgwqBjb25zdCBjaGFyICphcHBlbmRfc3VidGVzdF9uYW1l WzNdID0gewo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIiIsCj4gLcKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCJwc3IyXyIKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgInBzcjJfIiwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgInByXyIKPiDC oMKgwqDCoMKgwqDCoMKgfTsKPiArwqDCoMKgwqDCoMKgwqBpbnQgcHJfb3V0cHV0X2NvdW50Owo+ ICvCoMKgwqDCoMKgwqDCoGlndF9vdXRwdXRfdCAqb3V0Owo+ICvCoMKgwqDCoMKgwqDCoGludCBt b2Rlc1tdID0ge1BTUl9NT0RFXzEsIFBTUl9NT0RFXzEsIFBSX01PREV9OwoKUFNSX01PREVfMSBp cyBsaXN0ZWQgdHdpY2UuCgo+ICvCoMKgwqDCoMKgwqDCoGludCB6Owo+IMKgCj4gwqDCoMKgwqDC oMKgwqDCoGlndF9maXh0dXJlIHsKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRh dGEuZHJtX2ZkID0gZHJtX29wZW5fZHJpdmVyX21hc3RlcihEUklWRVJfSU5URUwgfAo+IERSSVZF Ul9YRSk7Cj4gQEAgLTc1OSwxMDMgKzg4MywyMzkgQEAgaWd0X21haW5fYXJncygiIiwgbG9uZ19v cHRpb25zLCBoZWxwX3N0ciwKPiBvcHRfaGFuZGxlciwgJmRhdGEpCj4gwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqBrbXN0ZXN0X3NldF92dF9ncmFwaGljc19tb2RlKCk7Cj4gwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBkYXRhLmRldmlkID0gaW50ZWxfZ2V0X2RybV9kZXZp ZChkYXRhLmRybV9mZCk7Cj4gwqAKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWd0 X3JlcXVpcmVfZihzaW5rX3N1cHBvcnQoJmRhdGEsIFBTUl9NT0RFXzEpLAo+IC3CoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAiU2luayBkb2Vz IG5vdCBzdXBwb3J0IFBTUlxuIik7Cj4gLQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqBwcl9vdXRwdXRfY291bnQgPSAwOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBk YXRhLnByX291dHB1dHMgPSAoaWd0X291dHB1dF90Cj4gKiopbWFsbG9jKHNpemVvZihpZ3Rfb3V0 cHV0X3QgKikgKiBkYXRhLmRpc3BsYXkubl9vdXRwdXRzKTsKPiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgZm9yX2VhY2hfY29ubmVjdGVkX291dHB1dCgmZGF0YS5kaXNwbGF5LCBvdXQp Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZihvdXRw dXRfc3VwcG9ydHNfcHIoZGF0YS5kZWJ1Z2ZzX2ZkLCBvdXQpKQo+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRhdGEucHJfb3V0 cHV0c1twcl9vdXRwdXRfY291bnQrK10gPQo+IG91dDsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgZGF0YS5zdXBwb3J0c19wc3IgPSBzaW5rX3N1cHBvcnQoJmRhdGEsIFBTUl9NT0RF XzEpOwo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGF0YS5zdXBwb3J0c19wc3Iy ID0gc2lua19zdXBwb3J0KCZkYXRhLCBQU1JfTU9ERV8yKTsKPiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgZGF0YS5zdXBwb3J0c19wciA9IHByX291dHB1dF9jb3VudCA+IDAgPyB0cnVl IDoKPiBmYWxzZTsKPiArCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlndF9yZXF1 aXJlX2YoZGF0YS5zdXBwb3J0c19wc3IgfHwgZGF0YS5zdXBwb3J0c19wciwKPiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgIlNpbmsgZG9l cyBub3Qgc3VwcG9ydCBQU1IvUFJcbiIpOwo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgZGF0YS5ib3BzID0gYnVmX29wc19jcmVhdGUoZGF0YS5kcm1fZmQpOwo+IMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgZGlzcGxheV9pbml0KCZkYXRhKTsKPiDCoMKgwqDCoMKgwqDC oMKgfQo+IMKgCj4gLcKgwqDCoMKgwqDCoMKgZm9yIChkYXRhLm9wX3Bzcl9tb2RlID0gUFNSX01P REVfMTsgZGF0YS5vcF9wc3JfbW9kZSA8PQo+IFBTUl9NT0RFXzI7Cj4gLcKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgZGF0YS5vcF9wc3JfbW9kZSsrKSB7Cj4gLQo+ICvCoMKgwqDCoMKgwqDCoGZvciAo eiA9IDA7IHogPCBBUlJBWV9TSVpFKG1vZGVzKTsgeisrKSB7Cj4gK8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoGRhdGEub3BfcHNyX21vZGUgPSBtb2Rlc1t6XTsKCldoeSBhcmUgeW91IGNo YW5naW5nIHRoaXM/IFRvIG15IG9waW5pb24gb3JpZ2luYWwgaXMgbW9yZSBjbGVhci4uLgoKPiDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlndF9kZXNjcmliZSgiQmFzaWMgY2hlY2sg Zm9yIHBzciBpZiBpdCBpcyBkZXRlY3RpbmcKPiBjaGFuZ2VzIG1hZGUgaW4gcGxhbmVzIik7Cj4g LcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlndF9zdWJ0ZXN0X2YoIiVzYmFzaWMiLAo+ IGFwcGVuZF9zdWJ0ZXN0X25hbWVbZGF0YS5vcF9wc3JfbW9kZV0pIHsKPiAtwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRhdGEudGVzdF9wbGFuZV9pZCA9IERS TV9QTEFORV9UWVBFX1BSSU1BUlk7Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqB0ZXN0X3NldHVwKCZkYXRhKTsKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHRlc3RfY2xlYW51cCgmZGF0YSk7Cj4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlndF9zdWJ0ZXN0X3dpdGhfZHluYW1pY19mKCIlc2Jhc2lj IiwKPiBhcHBlbmRfc3VidGVzdF9uYW1lW3pdKSB7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZiAoZGF0YS5vcF9wc3JfbW9kZSA9PSBQUl9NT0RFKQo+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgewo+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oGZvcihpbnQgayA9IDA7IGsgPCBwcl9vdXRwdXRfY291bnQ7Cj4gaysrKSB7Cj4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoGlndF9keW5hbWljX2YoIiVzIiwKPiBkYXRhLnByX291dHB1dHNba10tPm5h bWUpCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoGRhdGEub3V0cHV0ID0KPiBkYXRhLnByX291dHB1dHNba107Cj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBkYXRhLnRlc3RfcGxhbmVfaWQgPQo+IERS TV9QTEFORV9UWVBFX1BSSU1BUlk7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqB0ZXN0X3NldHVwKCZkYXRhKTsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoHRlc3RfY2xlYW51cCgmZGF0YSk7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoH0KPiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqB9Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB9 Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBlbHNlIHsK PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqBzZXR1cF9vdXRwdXQoJmRhdGEpOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlndF9keW5hbWljX2YoIiVzIiwg ZGF0YS5vdXRwdXQtCj4gPm5hbWUpIHsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGF0YS50ZXN0 X3BsYW5lX2lkID0KPiBEUk1fUExBTkVfVFlQRV9QUklNQVJZOwo+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqB0ZXN0X3NldHVwKCZkYXRhKTsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgdGVzdF9jbGVh bnVwKCZkYXRhKTsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqB9Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqB9CgpJIHdvdWxkIHN1Z2dlc3QgdXNpbmcgb3V0cHV0cyBhbmQgb3V0cHV0 X2NvdW50IGluc3RlYWQgb2YgcHJfKiBhbmQgZHJvcApzZXR1cF9vdXRwdXQgZm9yIFBTUiBhcyB3 bGwuIFRoZW4geW91IHdpbGwgaGF2ZSAxIG91dHB1dCBmb3IgUFNSIGFuZAptYW55IG91dHB1cyBm b3IgUFIuIFRoaXMgd2F5IHRoZXJlIGlzIG5vIG5lZWQgdG8gZHVwbGljYXRlIHNvIG11Y2guClNh bWUgY29tbWVudCBhcHBsaWVzIG9uIGVhY2ggdGVzdCBiZWxvdy4KCkJSLAoKSm91bmkgSMO2Z2Fu ZGVyCgo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfQo+IMKgCj4gwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZ3RfZGVzY3JpYmUoIkNoZWNrIGlmIHBzciBpcyBkZXRl Y3RpbmcgY2hhbmdlcyB3aGVuCj4gZHJycyBpcyBkaXNhYmxlZCIpOwo+IC3CoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqBpZ3Rfc3VidGVzdF9mKCIlc25vX2RycnMiLAo+IGFwcGVuZF9zdWJ0 ZXN0X25hbWVbZGF0YS5vcF9wc3JfbW9kZV0pIHsKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRhdGEudGVzdF9wbGFuZV9pZCA9IERSTV9QTEFORV9UWVBF X1BSSU1BUlk7Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqB0ZXN0X3NldHVwKCZkYXRhKTsKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoGlndF9hc3NlcnQoZHJyc19kaXNhYmxlZCgmZGF0YSkpOwo+IC3CoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgdGVzdF9jbGVhbnVwKCZkYXRh KTsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWd0X3N1YnRlc3Rfd2l0aF9keW5h bWljX2YoIiVzbm9fZHJycyIsCj4gYXBwZW5kX3N1YnRlc3RfbmFtZVt6XSkgewo+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlmIChkYXRhLm9wX3Bzcl9t b2RlID09IFBSX01PREUpCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgewo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBmb3IoaW50IGsgPSAwOyBrIDwgcHJfb3V0cHV0X2NvdW50Owo+ IGsrKykgewo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaWd0X2R5bmFtaWNfZigiJXMiLAo+IGRh dGEucHJfb3V0cHV0c1trXS0+bmFtZSkKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHsKPiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRhdGEub3V0cHV0ID0KPiBkYXRhLnBy X291dHB1dHNba107Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBkYXRh LnRlc3RfcGxhbmVfaWQgPQo+IERSTV9QTEFORV9UWVBFX1BSSU1BUlk7Cj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB0ZXN0X3NldHVwKCZkYXRhKTsKPiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlndF9hc3NlcnQoZHJyc19kaXNhYgo+IGxlZCgm ZGF0YSkpOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgdGVzdF9jbGVh bnVwKCZkYXRhKTsKPiArCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9Cj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfQo+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIH0KPiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGVsc2Ugewo+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHNl dHVwX291dHB1dCgmZGF0YSk7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWd0X2R5bmFtaWNfZigiJXMiLCBkYXRhLm91dHB1 dC0KPiA+bmFtZSkgewo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBkYXRhLnRlc3RfcGxhbmVfaWQg PQo+IERSTV9QTEFORV9UWVBFX1BSSU1BUlk7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHRlc3Rf c2V0dXAoJmRhdGEpOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZ3RfYXNzZXJ0KGRycnNfZGlz YWJsZWQoJmRhdAo+IGEpKTsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgdGVzdF9jbGVhbnVwKCZk YXRhKTsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqB9Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqB9Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB9Cj4gwqAKPiDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGZvciAob3AgPSBQQUdFX0ZMSVA7IG9wIDw9IFJF TkRFUjsgb3ArKykgewo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoGlndF9kZXNjcmliZSgiQ2hlY2sgaWYgcHNyIGlzIGRldGVjdGluZyBwYWdlLQo+IGZs aXBwaW5nLG1lbW9yeSBtYXBwaW5nIGFuZCAiCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAicmVu ZGVyaW5nIG9wZXJhdGlvbnMKPiBwZXJmb3JtZWQgb24gcHJpbWFyeSBwbGFuZXMiKTsKPiAtwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlndF9zdWJ0ZXN0X2Yo IiVzcHJpbWFyeV8lcyIsCj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoAo+IGFwcGVuZF9zdWJ0ZXN0X25hbWVb ZGF0YS5vcF9wc3JfbW9kZV0sCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqBpZ3Rfc3VidGVzdF93aXRoX2R5bmFtaWNfZigiJXNwcmltYXJ5XyVzIiwKPiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIGFwcGVuZF9zdWJ0ZXN0X25hbWVbel0sCj4gwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgb3Bfc3RyKG9wKSkgewo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZ3Rfc2tpcF9vbihpc194ZV9kZXZpY2UoZGF0YS5k cm1fZmQpCj4gJiYKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAob3AgPT0gTU1BUF9D UFUgfHwgb3AgPT0KPiBNTUFQX0dUVCkpOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBkYXRhLm9wID0gb3A7Cj4gLcKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgZGF0YS50ZXN0X3BsYW5lX2lkID0KPiBEUk1fUExBTkVfVFlQRV9QUklNQVJZOwo+IC3CoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oHRlc3Rfc2V0dXAoJmRhdGEpOwo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHJ1bl90ZXN0KCZkYXRhKTsKPiAtwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB0ZXN0 X2NsZWFudXAoJmRhdGEpOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlmIChkYXRhLm9wX3Bzcl9tb2RlID09IFBSX01PREUp Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgewo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBmb3IoaW50IGsgPSAwOyBrIDwKPiBw cl9vdXRwdXRfY291bnQ7IGsrKykgewo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgaWd0X2R5bmFtaWNfZigiJXMiLAo+IGRhdGEucHJfb3V0cHV0c1trXS0+bmFtZSkKPiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHsKPiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBkYXRhLm91dHB1dCA9Cj4gZGF0 YS5wcl9vdXRwdXRzW2tdOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoGRhdGEub3AgPSBvcDsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBkYXRhLnRlc3RfcGxhCj4gbmVfaWQgPSBEUk1f UExBTkVfVFlQRV9QUklNQVJZOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoHRlc3Rfc2V0dXAoJmQKPiBhdGEpOwo+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHJ1bl90ZXN0KCZkYXQKPiBh KTsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqB0ZXN0X2NsZWFudXAoCj4gJmRhdGEpOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgfQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB9Cj4gK8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfQo+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGVs c2Ugewo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBzZXR1cF9vdXRwdXQoJmRhdGEpOwo+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqBpZ3RfZHluYW1pY19mKCIlcyIsCj4gZGF0YS5vdXRwdXQtPm5hbWUp IHsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRhdGEub3AgPSBvcDsK PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRhdGEudGVzdF9wbGFuZV9p ZCA9Cj4gRFJNX1BMQU5FX1RZUEVfUFJJTUFSWTsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoHRlc3Rfc2V0dXAoJmRhdGEpOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgcnVuX3Rlc3QoJmRhdGEpOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgdGVzdF9jbGVhbnVwKCZkYXRhKTsKPiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgfQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoH0KPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqB9Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB9Cj4gwqAKPiDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGZvciAob3AgPSBNTUFQX0dUVDsgb3AgPD0gUExB TkVfT05PRkY7IG9wKyspIHsKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqBpZ3RfZGVzY3JpYmUoIkNoZWNrIGlmIHBzciBpcyBkZXRlY3RpbmcKPiBtZW1v cnkgbWFwcGluZyxyZW5kZXJpbmcgIgo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgImFuZCBwbGFu ZSBvcGVyYXRpb25zCj4gcGVyZm9ybWVkIG9uIHNwcml0ZSBwbGFuZXMiKTsKPiAtwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlndF9zdWJ0ZXN0X2YoIiVzc3By aXRlXyVzIiwKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgCj4gYXBwZW5kX3N1YnRlc3RfbmFtZVtkYXRhLm9w X3Bzcl9tb2RlXSwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoGlndF9zdWJ0ZXN0X3dpdGhfZHluYW1pY19mKCIlc3Nwcml0ZV8lcyIsCj4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBhcHBlbmRfc3VidGVzdF9uYW1lW3pdLAo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG9wX3N0 cihvcCkpIHsKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgaWd0X3NraXBfb24oaXNfeGVfZGV2aWNlKGRhdGEuZHJtX2ZkKQo+ ICYmCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKG9wID09IE1NQVBfQ1BVIHx8IG9w ID09Cj4gTU1BUF9HVFQpKTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGF0YS5vcCA9IG9wOwo+IC3CoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRhdGEu dGVzdF9wbGFuZV9pZCA9Cj4gRFJNX1BMQU5FX1RZUEVfT1ZFUkxBWTsKPiAtwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB0ZXN0X3Nl dHVwKCZkYXRhKTsKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqBydW5fdGVzdCgmZGF0YSk7Cj4gLcKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgdGVzdF9jbGVhbnVw KCZkYXRhKTsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqBpZiAoZGF0YS5vcF9wc3JfbW9kZSA9PSBQUl9NT0RFKQo+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oHsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZm9yKGludCBrID0gMDsgayA8Cj4gcHJfb3V0cHV0 X2NvdW50OyBrKyspIHsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGln dF9keW5hbWljX2YoIiVzIiwKPiBkYXRhLnByX291dHB1dHNba10tPm5hbWUpCj4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGF0YS5vdXRwdXQgPQo+IGRhdGEucHJfb3V0 cHV0c1trXTsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqBkYXRhLm9wID0gb3A7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgZGF0YS50ZXN0X3BsYQo+IG5lX2lkID0gRFJNX1BMQU5FX1RZ UEVfT1ZFUkxBWTsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqB0ZXN0X3NldHVwKCZkCj4gYXRhKTsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBydW5fdGVzdCgmZGF0Cj4gYSk7Cj4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgdGVzdF9j bGVhbnVwKAo+ICZkYXRhKTsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oH0KPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoH0KPiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBlbHNlIHsKPiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgc2V0dXBfb3V0cHV0KCZkYXRhKTsKPiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgaWd0X2R5bmFtaWNfZigiJXMiLAo+IGRhdGEub3V0cHV0LT5uYW1lKSB7Cj4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBkYXRhLm9wID0gb3A7Cj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBkYXRhLnRlc3RfcGxhbmVfaWQgPQo+IERS TV9QTEFORV9UWVBFX09WRVJMQVk7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqB0ZXN0X3NldHVwKCZkYXRhKTsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoHJ1bl90ZXN0KCZkYXRhKTsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoHRlc3RfY2xlYW51cCgmZGF0YSk7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoH0KPiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqB9Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg fQo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg aWd0X2Rlc2NyaWJlKCJDaGVjayBpZiBwc3IgaXMgZGV0ZWN0aW5nCj4gbWVtb3J5IG1hcHBpbmcs IHJlbmRlcmluZyAiCj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCJhbmQgcGxhbmUgb3BlcmF0aW9u cwo+IHBlcmZvcm1lZCBvbiBjdXJzb3IgcGxhbmVzIik7Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZ3Rfc3VidGVzdF9mKCIlc2N1cnNvcl8lcyIsCj4g LcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoAo+IGFwcGVuZF9zdWJ0ZXN0X25hbWVbZGF0YS5vcF9wc3JfbW9kZV0s Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBvcF9zdHIob3ApKSB7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgImFuZCBw bGFuZSBvcGVyYXRpb25zIHBlcmZvcm1lZAo+IG9uIGN1cnNvciBwbGFuZXMiKTsKPiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlndF9zdWJ0ZXN0X3dpdGhf ZHluYW1pY19mKCIlc2N1cnNvcl8lcyIsCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgCj4gYXBwZW5kX3N1YnRlc3RfbmFtZVt6XSwKPiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgb3Bfc3RyKG9wKSkgewo+IMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZ3Rfc2tp cF9vbihpc194ZV9kZXZpY2UoZGF0YS5kcm1fZmQpCj4gJiYKPiAtwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIChvcCA9PSBNTUFQX0NQVSB8fCBvcCA9PQo+IE1NQVBfR1RUKSk7Cj4gLQo+IC3C oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoGRhdGEub3AgPSBvcDsKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBkYXRhLnRlc3RfcGxhbmVfaWQgPQo+IERSTV9QTEFO RV9UWVBFX0NVUlNPUjsKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB0ZXN0X3NldHVwKCZkYXRhKTsKPiAtwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBydW5fdGVz dCgmZGF0YSk7Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgdGVzdF9jbGVhbnVwKCZkYXRhKTsKPiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCAob3AgPT0gTU1BUF9DUFUgfHwgb3AgPT0KPiBNTUFQX0dUVCkpOwo+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oGlmIChkYXRhLm9wX3Bzcl9tb2RlID09IFBSX01PREUpCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgewo+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqBmb3IoaW50IGsgPSAwOyBrIDwKPiBwcl9vdXRwdXRfY291bnQ7IGsrKykgewo+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWd0X2R5bmFtaWNfZigiJXMi LAo+IGRhdGEucHJfb3V0cHV0c1trXS0+bmFtZSkKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoHsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqBkYXRhLm91dHB1dCA9Cj4gZGF0YS5wcl9vdXRwdXRzW2tdOwo+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRhdGEub3Ag PSBvcDsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqBkYXRhLnRlc3RfcGxhCj4gbmVfaWQgPSBEUk1fUExBTkVfVFlQRV9DVVJTT1I7Cj4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgdGVzdF9z ZXR1cCgmZAo+IGF0YSk7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgcnVuX3Rlc3QoJmRhdAo+IGEpOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHRlc3RfY2xlYW51cCgKPiAmZGF0YSk7 Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB9Cj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoH0KPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqB9Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZWxzZSB7Cj4gK8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoHNldHVwX291dHB1dCgmZGF0YSk7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlndF9keW5h bWljX2YoIiVzIiwKPiBkYXRhLm91dHB1dC0+bmFtZSkgewo+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgZGF0YS5vcCA9IG9wOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgZGF0YS50ZXN0X3BsYW5lX2lkID0KPiBEUk1fUExBTkVfVFlQRV9DVVJT T1I7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB0ZXN0X3NldHVwKCZk YXRhKTsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHJ1bl90ZXN0KCZk YXRhKTsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHRlc3RfY2xlYW51 cCgmZGF0YSk7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoH0KPiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB9Cj4gwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfQo+IMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgfQo+IMKgCj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oGlndF9kZXNjcmliZSgiQ2hlY2sgaWYgcHNyIGlzIGRldGVjdGluZyBjaGFuZ2VzIHdoZW4KPiBy ZW5kZXJpbmcgb3BlcmF0aW9uIGlzIHBlcmZvcm1lZCIKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAiwqAgd2l0aCBkcG1zIGVu YWJsZWQgb3IgZGlzYWJsZWQiKTsKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWd0 X3N1YnRlc3RfZigiJXNkcG1zIiwKPiBhcHBlbmRfc3VidGVzdF9uYW1lW2RhdGEub3BfcHNyX21v ZGVdKSB7Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBk YXRhLm9wID0gUkVOREVSOwo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgZGF0YS50ZXN0X3BsYW5lX2lkID0gRFJNX1BMQU5FX1RZUEVfUFJJTUFSWTsKPiAt wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHRlc3Rfc2V0dXAo JmRhdGEpOwo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg ZHBtc19vZmZfb24oJmRhdGEpOwo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgcnVuX3Rlc3QoJmRhdGEpOwo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgdGVzdF9jbGVhbnVwKCZkYXRhKTsKPiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgaWd0X2Rlc2NyaWJlKCJDaGVjayBpZiBwc3IgaXMgZGV0ZWN0aW5n IGNoYW5nZXMgd2hlbgo+IHJlbmRlcmluZyBvcGVyYXRpb24gaXMgcGVyZm9ybWVkICIKPiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICJ3aXRo IGRwbXMgZW5hYmxlZCBvciBkaXNhYmxlZCIpOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqBpZ3Rfc3VidGVzdF93aXRoX2R5bmFtaWNfZigiJXNkcG1zIiwKPiBhcHBlbmRfc3VidGVz dF9uYW1lW3pdKSB7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqBpZiAoZGF0YS5vcF9wc3JfbW9kZSA9PSBQUl9NT0RFKQo+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgewo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGZvcihpbnQgayA9IDA7IGsg PCBwcl9vdXRwdXRfY291bnQ7Cj4gaysrKSB7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlndF9k eW5hbWljX2YoIiVzIiwKPiBkYXRhLnByX291dHB1dHNba10tPm5hbWUpCj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoHsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRhdGEu b3V0cHV0ID0KPiBkYXRhLnByX291dHB1dHNba107Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqBkYXRhLm9wID0gUkVOREVSOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgZGF0YS50ZXN0X3BsYW5lX2lkID0KPiBEUk1fUExBTkVfVFlQRV9QUklN QVJZOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgdGVzdF9zZXR1cCgm ZGF0YSk7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBkcG1zX29mZl9v bigmZGF0YSk7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBydW5fdGVz dCgmZGF0YSk7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB0ZXN0X2Ns ZWFudXAoJmRhdGEpOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB9Cj4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfQo+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfQo+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZWxzZSB7Cj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgc2V0dXBf b3V0cHV0KCZkYXRhKTsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZ3RfZHluYW1pY19mKCIlcyIsIGRhdGEub3V0cHV0LQo+ ID5uYW1lKSB7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRhdGEub3AgPSBSRU5ERVI7Cj4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoGRhdGEudGVzdF9wbGFuZV9pZCA9Cj4gRFJNX1BMQU5FX1RZUEVf UFJJTUFSWTsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgdGVzdF9zZXR1cCgmZGF0YSk7Cj4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoGRwbXNfb2ZmX29uKCZkYXRhKTsKPiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgcnVuX3Rlc3QoJmRhdGEpOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB0ZXN0X2NsZWFu dXAoJmRhdGEpOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoH0KPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoH0KPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoH0KPiDCoAo+ IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWd0X2Rlc2NyaWJlKCJDaGVjayBpZiBw c3IgaXMgZGV0ZWN0aW5nIGNoYW5nZXMgd2hlbgo+IHBsYW5lIG9wZXJhdGlvbiBpcyBwZXJmb3Jt ZWQgIgo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAid2l0aCBzdXNwZW5kIHJlc3VtZSBjeWNsZXMiKTsKPiAtwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgaWd0X3N1YnRlc3RfZigiJXNzdXNwZW5kIiwKPiBhcHBlbmRf c3VidGVzdF9uYW1lW2RhdGEub3BfcHNyX21vZGVdKSB7Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBkYXRhLm9wID0gUExBTkVfT05PRkY7Cj4gLcKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBkYXRhLnRlc3RfcGxhbmVf aWQgPSBEUk1fUExBTkVfVFlQRV9DVVJTT1I7Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqB0ZXN0X3NldHVwKCZkYXRhKTsKPiAtCj4gwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlndF9zeXN0ZW1fc3VzcGVuZF9hdXRv cmVzdW1lKFNVU1BFTkRfU1RBVEVfTUVNCj4gLAo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoAo+IFNVU1BFTkRfVEVTVF9OT05FKTsKPiAtwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlndF9hc3NlcnQocHNyX3dhaXRf ZW50cnlfaWZfZW5hYmxlZCgmZGF0YSkpOwo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgcnVuX3Rlc3QoJmRhdGEpOwo+IC3CoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgdGVzdF9jbGVhbnVwKCZkYXRhKTsKPiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWd0X3N1YnRlc3Rfd2l0aF9keW5hbWljX2YoIiVzc3Vz cGVuZCIsCj4gYXBwZW5kX3N1YnRlc3RfbmFtZVt6XSkgewo+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWYgKGRhdGEub3BfcHNyX21vZGUgPT0gUFJfTU9E RSkKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHsKPiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqBmb3IoaW50IGsgPSAwOyBrIDwgcHJfb3V0cHV0X2NvdW50Owo+IGsrKykgewo+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqBpZ3RfZHluYW1pY19mKCIlcyIsCj4gZGF0YS5wcl9vdXRwdXRzW2td LT5uYW1lKQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqBkYXRhLm91dHB1dCA9Cj4gZGF0YS5wcl9vdXRwdXRzW2tdOwo+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGF0YS5vcCA9Cj4gUExBTkVfT05P RkY7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBkYXRhLnRlc3RfcGxh bmVfaWQgPQo+IERSTV9QTEFORV9UWVBFX0NVUlNPUjsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoHRlc3Rfc2V0dXAoJmRhdGEpOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgaWd0X3N5c3RlbV9zdXNwZW5kX2F1Cj4gdG9yZXN1bWUoU1VTUEVO RF9TVEFURV9NRU0sCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAKPiDCoMKgwqDCoMKgwqDCoMKg IFNVU1BFTkRfVEVTVF9OT05FKTsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoGlndF9hc3NlcnQocHJfd2FpdF9lbgo+IHRyeSgmZGF0YSkpOwo+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcnVuX3Rlc3QoJmRhdGEpOwo+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgdGVzdF9jbGVhbnVwKCZkYXRhKTsKPiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgfQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoH0KPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoH0KPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoGVsc2Ugewo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHNldHVwX291dHB1dCgmZGF0YSk7Cj4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWd0 X2R5bmFtaWNfZigiJXMiLCBkYXRhLm91dHB1dC0KPiA+bmFtZSkgewo+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqBkYXRhLm9wID0gUkVOREVSOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBkYXRhLnRl c3RfcGxhbmVfaWQgPQo+IERSTV9QTEFORV9UWVBFX1BSSU1BUlk7Cj4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoHRlc3Rfc2V0dXAoJmRhdGEpOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBkcG1zX29m Zl9vbigmZGF0YSk7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHJ1bl90ZXN0KCZkYXRhKTsKPiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgdGVzdF9jbGVhbnVwKCZkYXRhKTsKPiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB9Cj4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB9Cj4gwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB9Cj4gwqDCoMKgwqDCoMKgwqDCoH0KPiDCoAoK