From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9593489CDD for ; Tue, 23 Jul 2019 02:44:40 +0000 (UTC) References: <20190715215136.21744-1-lucas.demarchi@intel.com> <20190715215136.21744-10-lucas.demarchi@intel.com> <20190719125415.GL5942@intel.com> <20190722164655.oe3jclrzdueatdpp@ldmartin-desk1> From: "B S, Karthik" Message-ID: Date: Tue, 23 Jul 2019 08:14:37 +0530 MIME-Version: 1.0 In-Reply-To: <20190722164655.oe3jclrzdueatdpp@ldmartin-desk1> Content-Language: en-US Subject: Re: [igt-dev] [PATCH 09/10] tests/kms_plane_multiple/tgl: PCU messaging test List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: Lucas De Marchi Cc: igt-dev@lists.freedesktop.org List-ID: Ck9uIDcvMjIvMjAxOSAxMDoxNiBQTSwgTHVjYXMgRGUgTWFyY2hpIHdyb3RlOgo+IE9uIE1vbiwg SnVsIDIyLCAyMDE5IGF0IDAyOjA3OjM2UE0gKzA1MzAsIEthcnRoaWsgQiBTIHdyb3RlOgo+Pgo+ PiBPbiA3LzE5LzIwMTkgNjoyNCBQTSwgVmlsbGUgU3lyasOkbMOkIHdyb3RlOgo+Pj4gT24gTW9u LCBKdWwgMTUsIDIwMTkgYXQgMDI6NTE6MzVQTSAtMDcwMCwgTHVjYXMgRGUgTWFyY2hpIHdyb3Rl Ogo+Pj4+IEZyb206IEthcnRoaWsgQiBTIDxrYXJ0aGlrLmIuc0BpbnRlbC5jb20+Cj4+Pj4KPj4+ PiBBZGQgYSBzdWJ0ZXN0IHRoYXQgZ2l2ZXMgZmxpcHMgd2hpY2ggYWx0ZXJuYXRlIGJldHdlZW4g bGVhc3QgYmFuZHdpZHRoCj4+Pj4gcmVxdWlyZW1lbnQgYW5kIGhpZ2hlc3QgYmFuZHdpZHRoIHJl cXVpcmVtZW50Lgo+Pj4+Cj4+Pj4gQ2M6IE1pa2EgS2Fob2xhIDxtaWthLmthaG9sYUBpbnRlbC5j b20+Cj4+Pj4gU2lnbmVkLW9mZi1ieTogS2FydGhpayBCIFMgPGthcnRoaWsuYi5zQGludGVsLmNv bT4KPj4+PiBTaWduZWQtb2ZmLWJ5OiBMdWNhcyBEZSBNYXJjaGkgPGx1Y2FzLmRlbWFyY2hpQGlu dGVsLmNvbT4KPj4+PiAtLS0KPj4+PiDCoHRlc3RzL2ttc19wbGFuZV9tdWx0aXBsZS5jIHwgMTc4 IAo+Pj4+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0KPj4+PiDCoDEgZmls ZSBjaGFuZ2VkLCAxNDggaW5zZXJ0aW9ucygrKSwgMzAgZGVsZXRpb25zKC0pCj4+Pj4KPj4+PiBk aWZmIC0tZ2l0IGEvdGVzdHMva21zX3BsYW5lX211bHRpcGxlLmMgYi90ZXN0cy9rbXNfcGxhbmVf bXVsdGlwbGUuYwo+Pj4+IGluZGV4IDgxZWQ0NWRkLi4yYzcyNmZkYSAxMDA2NDQKPj4+PiAtLS0g YS90ZXN0cy9rbXNfcGxhbmVfbXVsdGlwbGUuYwo+Pj4+ICsrKyBiL3Rlc3RzL2ttc19wbGFuZV9t dWx0aXBsZS5jCj4+Pj4gQEAgLTM0LDYgKzM0LDExIEBAIElHVF9URVNUX0RFU0NSSVBUSU9OKCJU ZXN0IGF0b21pYyBtb2RlIHNldHRpbmcgCj4+Pj4gd2l0aCBtdWx0aXBsZSBwbGFuZXMuIik7Cj4+ Pj4gwqAjZGVmaW5lIFNJWkVfUExBTkXCoMKgwqDCoMKgIDI1Ngo+Pj4+IMKgI2RlZmluZSBTSVpF X0NVUlNPUsKgwqDCoMKgIDEyOAo+Pj4+ICsjZGVmaW5lIFNJWkVfUExBTkVfTE9XwqDCoMKgwqAg MTAKPj4+PiArI2RlZmluZSBTSVpFX1BBTkXCoMKgwqDCoMKgIDUKPj4+PiArI2RlZmluZSBTTUFM TF9TQ1JFRU7CoMKgwqDCoMKgIDAKPj4+PiArI2RlZmluZSBGVUxMX1NDUkVFTsKgwqDCoMKgwqAg MQo+Pj4+ICsjZGVmaW5lIFRFU1RfUENVX0FMR0/CoMKgwqDCoMKgIDEKPj4+IFRoYXQncyB3YXkg dG9vIGk5MTUgc3BlY2lmaWMuIFN1Y2ggYSB0ZXN0IHNob3VsZCBiZSB0b3RhbGx5IGdlbmVyaWMu Cj4+IFN1cmUuIEknbGwgdXBkYXRlIFRFU1RfUENVX0FMR08gdG8gVEVTVF9CQU5EV0lEVEguIFdv dWxkIHRoYXQgYmUgCj4+IGZpbmU/IEknbGwgYWxzbyBjaGFuZ2UgdGhlIHRlc3QgbmFtZSBmcm9t ICpfcGN1IHRvICpfYnc/Cj4+Cj4+IEFsc28gdG8gbWFrZSBpdCBtb3JlIGdlbmVyaWMsIHNoYWxs IEkgcmVtb3ZlIHRoZSBHZW4xMisgY2hlY2sgZm9yIAo+PiB0aGlzIHRlc3QsIGFzIHRoaXMgdGVz dCBpcyBleHBlY3RlZCB0byB3b3JrIG9uIG90aGVyIHBsYXRmb3JtcyBhcyB3ZWxsLgo+Cj4gS2Fy dGhpaywgSSdsbCByZW1vdmUgdGhpcyBwYXRjaCBmcm9tIG15IHNlcmllcyBhbmQgbGV0IHlvdSBo YW5kbGUgdGhlCj4gY29tbWVudHMgYW5kIHNlbmQgYW4gdXBkYXRlZCB2ZXJzaW9uLCBvaz8KClN1 cmUuIEknbGwgZG8gaXQuCgpLYXJ0aGlrIEIgUwoKPgo+IEx1Y2FzIERlIE1hcmNoaQo+Cj4+Pgo+ Pj4+IMKgI2RlZmluZSBMT09QX0ZPUkVWRVLCoMKgwqDCoCAtMQo+Pj4+IMKgdHlwZWRlZiBzdHJ1 Y3Qgewo+Pj4+IEBAIC00OCw5ICs1MywxNyBAQCB0eXBlZGVmIHN0cnVjdCB7Cj4+Pj4gwqDCoMKg wqAgaWd0X2NyY190IHJlZl9jcmM7Cj4+Pj4gwqDCoMKgwqAgaWd0X3BpcGVfY3JjX3QgKnBpcGVf Y3JjOwo+Pj4+IMKgwqDCoMKgIGlndF9wbGFuZV90ICoqcGxhbmU7Cj4+Pj4gK8KgwqDCoCB1bnNp Z25lZCBpbnQgZmxhZzsKPj4+PiDCoMKgwqDCoCBzdHJ1Y3QgaWd0X2ZiICpmYjsKPj4+PiDCoH0g ZGF0YV90Owo+Pj4+ICtlbnVtIGJhbmR3aWR0aCB7Cj4+Pj4gK8KgwqDCoCBCV19QUklNQVJZX0xP VywKPj4+PiArwqDCoMKgIEJXX1BSSU1BUllfSElHSCwKPj4+PiArwqDCoMKgIEJXX1BSSU1BUllf TE9XMiwKPj4+PiArwqDCoMKgIEJXX0hJR0gsCj4+Pj4gK8KgwqDCoCBCV19JTlZBTElELAo+Pj4+ ICt9Owo+Pj4+IMKgLyogQ29tbWFuZCBsaW5lIHBhcmFtZXRlcnMuICovCj4+Pj4gwqBzdHJ1Y3Qg ewo+Pj4+IMKgwqDCoMKgIGludCBpdGVyYXRpb25zOwo+Pj4+IEBAIC05Nyw3ICsxMTAsNyBAQCBz dGF0aWMgdm9pZCB0ZXN0X2ZpbmkoZGF0YV90ICpkYXRhLCBpZ3Rfb3V0cHV0X3QgCj4+Pj4gKm91 dHB1dCwgaW50IG5fcGxhbmVzKQo+Pj4+IMKgc3RhdGljIHZvaWQKPj4+PiDCoGdldF9yZWZlcmVu Y2VfY3JjKGRhdGFfdCAqZGF0YSwgaWd0X291dHB1dF90ICpvdXRwdXQsIGVudW0gcGlwZSBwaXBl LAo+Pj4+IC3CoMKgwqDCoMKgwqDCoMKgwqAgY29sb3JfdCAqY29sb3IsIHVpbnQ2NF90IHRpbGlu ZykKPj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgIGNvbG9yX3QgKmNvbG9yLCB1aW50NjRfdCB0aWxp bmcsIGludCBCVykKPj4+PiDCoHsKPj4+PiDCoMKgwqDCoCBkcm1Nb2RlTW9kZUluZm8gKm1vZGU7 Cj4+Pj4gwqDCoMKgwqAgaWd0X3BsYW5lX3QgKnByaW1hcnk7Cj4+Pj4gQEAgLTExMCw3ICsxMjMs OSBAQCBnZXRfcmVmZXJlbmNlX2NyYyhkYXRhX3QgKmRhdGEsIGlndF9vdXRwdXRfdCAKPj4+PiAq b3V0cHV0LCBlbnVtIHBpcGUgcGlwZSwKPj4+PiDCoMKgwqDCoCBtb2RlID0gaWd0X291dHB1dF9n ZXRfbW9kZShvdXRwdXQpOwo+Pj4+IC3CoMKgwqAgaWd0X2NyZWF0ZV9jb2xvcl9mYihkYXRhLT5k cm1fZmQsIG1vZGUtPmhkaXNwbGF5LCBtb2RlLT52ZGlzcGxheSwKPj4+PiArwqDCoMKgIGlndF9j cmVhdGVfY29sb3JfZmIoZGF0YS0+ZHJtX2ZkLAo+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgQlcgPyBtb2RlLT5oZGlzcGxheSA6IFNJWkVfUExBTkVfTE9XLAo+Pj4+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgQlcgPyBtb2RlLT52ZGlzcGxheSA6IFNJWkVfUExB TkVfTE9XLAo+Pj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIERSTV9GT1JNQVRf WFJHQjg4ODgsCj4+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgTE9DQUxfRFJN X0ZPUk1BVF9NT0RfTk9ORSwKPj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBj b2xvci0+cmVkLCBjb2xvci0+Z3JlZW4sIGNvbG9yLT5ibHVlLAo+Pj4+IEBAIC0yODEsNiArMjk2 LDc2IEBAIHByZXBhcmVfcGxhbmVzKGRhdGFfdCAqZGF0YSwgZW51bSBwaXBlIAo+Pj4+IHBpcGVf aWQsIGNvbG9yX3QgKmNvbG9yLAo+Pj4+IMKgICrCoMKgwqDCoCBUaGUgcmVzdWx0aW5nIENSQyBz aG91bGQgYmUgaWRlbnRpY2FsIHRvIHRoZSByZWZlcmVuY2UgQ1JDCj4+Pj4gwqAgKi8KPj4+PiAr c3RhdGljIHZvaWQKPj4+PiArcHJlcGFyZV9wbGFuZXMyKGRhdGFfdCAqZGF0YSwgZW51bSBwaXBl IHBpcGVfaWQsIGNvbG9yX3QgKmNvbG9yLAo+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoCB1aW50 NjRfdCB0aWxpbmcsIGludCBtYXhfcGxhbmVzLCBpZ3Rfb3V0cHV0X3QgKm91dHB1dCwKPj4+PiAr wqDCoMKgwqDCoMKgwqDCoMKgwqAgZW51bSBiYW5kd2lkdGggYmFuZHdpZHRoKQo+Pj4+ICt7Cj4+ Pj4gK8KgwqDCoCBkcm1Nb2RlTW9kZUluZm8gKm1vZGU7Cj4+Pj4gK8KgwqDCoCBpbnQgaHNpemUs IHZzaXplOwo+Pj4+ICvCoMKgwqAgaW50IGk7Cj4+Pj4gK8KgwqDCoCBjYWlyb190ICpjcjsKPj4+ PiArCj4+Pj4gK8KgwqDCoCBpZ3Rfb3V0cHV0X3NldF9waXBlKG91dHB1dCwgcGlwZV9pZCk7Cj4+ Pj4gK8KgwqDCoCBtb2RlID0gaWd0X291dHB1dF9nZXRfbW9kZShvdXRwdXQpOwo+Pj4+ICsKPj4+ PiArwqDCoMKgIHN3aXRjaCAoYmFuZHdpZHRoKSB7Cj4+Pj4gK8KgwqDCoCBjYXNlIEJXX1BSSU1B UllfTE9XOgo+Pj4+ICvCoMKgwqAgY2FzZSBCV19QUklNQVJZX0xPVzI6Cj4+Pj4gK8KgwqDCoMKg wqDCoMKgIGhzaXplID0gU0laRV9QTEFORV9MT1c7Cj4+Pj4gK8KgwqDCoMKgwqDCoMKgIHZzaXpl ID0gU0laRV9QTEFORV9MT1c7Cj4+Pj4gK8KgwqDCoMKgwqDCoMKgIGJyZWFrOwo+Pj4+ICvCoMKg wqAgY2FzZSBCV19QUklNQVJZX0hJR0g6Cj4+Pj4gK8KgwqDCoCBjYXNlIEJXX0hJR0g6Cj4+Pj4g K8KgwqDCoMKgwqDCoMKgIGhzaXplID0gbW9kZS0+aGRpc3BsYXk7Cj4+Pj4gK8KgwqDCoMKgwqDC oMKgIHZzaXplID0gbW9kZS0+dmRpc3BsYXk7Cj4+Pj4gK8KgwqDCoMKgwqDCoMKgIGJyZWFrOwo+ Pj4+ICvCoMKgwqAgZGVmYXVsdDoKPj4+PiArwqDCoMKgwqDCoMKgwqAgaWd0X3dhcm4oIkludmFs aWQgQldcbiIpOwo+Pj4+ICvCoMKgwqAgfQo+Pj4+ICsKPj4+PiArwqDCoMKgIGZvciAoaSA9IDA7 IGkgPCBtYXhfcGxhbmVzOyBpKyspIHsKPj4+PiArwqDCoMKgwqDCoMKgwqAgaWd0X3BsYW5lX3Qg KnBsYW5lID0gaWd0X291dHB1dF9nZXRfcGxhbmUob3V0cHV0LCBpKTsKPj4+PiArwqDCoMKgwqDC oMKgwqAgdWludDMyX3QgZm9ybWF0ID0gRFJNX0ZPUk1BVF9YUkdCODg4ODsKPj4+PiArCj4+Pj4g K8KgwqDCoMKgwqDCoMKgIGlmIChwbGFuZS0+dHlwZSA9PSBEUk1fUExBTkVfVFlQRV9DVVJTT1Ip IHsKPj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBmb3JtYXQgPSBEUk1fRk9STUFUX0FSR0I4 ODg4Owo+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHRpbGluZyA9IExPQ0FMX0RSTV9GT1JN QVRfTU9EX05PTkU7Cj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaHNpemUgPSBTSVpFX0NV UlNPUjsKPj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB2c2l6ZSA9IFNJWkVfQ1VSU09SOwo+ Pj4+ICvCoMKgwqDCoMKgwqDCoCB9Cj4+Pj4gKwo+Pj4+ICvCoMKgwqDCoMKgwqDCoCBkYXRhLT5w bGFuZVtpXSA9IHBsYW5lOwo+Pj4+ICvCoMKgwqDCoMKgwqDCoCBpZ3RfY3JlYXRlX2NvbG9yX2Zi KGRhdGEtPmRybV9mZCwKPj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgaHNpemUsIHZzaXplLAo+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBmb3JtYXQsIHRpbGluZywKPj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgY29sb3ItPnJlZCwgY29sb3ItPmdyZWVuLAo+Pj4+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjb2xvci0+Ymx1ZSwKPj4+PiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgJmRhdGEtPmZiW2ldKTsKPj4+PiArwqDCoMKgwqDCoMKg wqAgaWd0X3BsYW5lX3NldF9wb3NpdGlvbihkYXRhLT5wbGFuZVtpXSwgMCwgMCk7Cj4+Pj4gKwo+ Pj4+ICvCoMKgwqDCoMKgwqDCoCBoc2l6ZSAtPSBTSVpFX1BBTkU7Cj4+Pj4gKwo+Pj4+ICvCoMKg wqDCoMKgwqDCoCAvKiBDcmVhdGUgYmxhY2sgY29sb3IgaG9sZXMgaW4gYWxsIHBsYW5lcyBvdGhl ciB0aGFuIHRoZSAKPj4+PiBjdXJzb3IKPj4+PiArwqDCoMKgwqDCoMKgwqDCoCAqIGFuZCB0aGUg dG9wbW9zdCBwbGFuZSwgc28gdGhhdCBhbGwgcGxhbmVzIHB1dCB0b2dldGhlcgo+Pj4+ICvCoMKg wqDCoMKgwqDCoMKgICogcHJvZHVjZXMgYSBzb2xpZCBibHVlIHNjcmVlbiB0aGF0IG1hdGNoZXMg d2l0aAo+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgICogdGhlIHJlZmVyZW5jZSBDUkMuCj4+Pj4gK8Kg wqDCoMKgwqDCoMKgwqAgKi8KPj4+PiArwqDCoMKgwqDCoMKgwqAgaWYgKGkgPCAobWF4X3BsYW5l cyAtIDIpICYmIGJhbmR3aWR0aCA9PSBCV19ISUdIKSB7Cj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDC oMKgwqAgY3IgPSBpZ3RfZ2V0X2NhaXJvX2N0eChkYXRhLT5kcm1fZmQsICZkYXRhLT5mYltpXSk7 Cj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaWd0X3BhaW50X2NvbG9yKGNyLCAwLCAwLCBo c2l6ZSwgdnNpemUsIDAuMCwgMC4wLCAwLjApOwo+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IGlndF9wdXRfY2Fpcm9fY3R4KGRhdGEtPmRybV9mZCwgJmRhdGEtPmZiW2ldLCBjcik7Cj4+Pj4g K8KgwqDCoMKgwqDCoMKgIH0KPj4+PiArCj4+Pj4gK8KgwqDCoMKgwqDCoMKgIGlndF9wbGFuZV9z ZXRfZmIoZGF0YS0+cGxhbmVbaV0sICZkYXRhLT5mYltpXSk7Cj4+Pj4gKwo+Pj4+ICvCoMKgwqDC oMKgwqDCoCBpZiAoYmFuZHdpZHRoICE9IEJXX0hJR0ggJiYKPj4+PiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBwbGFuZS0+dHlwZSA9PSBEUk1fUExBTkVfVFlQRV9QUklNQVJZKQo+Pj4+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIGJyZWFrOwo+Pj4+ICsKPj4+PiArwqDCoMKgIH0KPj4+PiArfQo+ Pj4+ICsKPj4+PiDCoHN0YXRpYyB2b2lkCj4+Pj4gwqB0ZXN0X3BsYW5lX3Bvc2l0aW9uX3dpdGhf b3V0cHV0KGRhdGFfdCAqZGF0YSwgZW51bSBwaXBlIHBpcGUsCj4+Pj4gwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgaWd0X291dHB1dF90ICpvdXRwdXQsIGludCBuX3BsYW5lcywKPj4+ PiBAQCAtMzA2LDQ2ICszOTEsNjcgQEAgdGVzdF9wbGFuZV9wb3NpdGlvbl93aXRoX291dHB1dChk YXRhX3QgKmRhdGEsIAo+Pj4+IGVudW0gcGlwZSBwaXBlLAo+Pj4+IMKgwqDCoMKgIHRlc3RfaW5p dChkYXRhLCBwaXBlLCBuX3BsYW5lcyk7Cj4+Pj4gLcKgwqDCoCBnZXRfcmVmZXJlbmNlX2NyYyhk YXRhLCBvdXRwdXQsIHBpcGUsICZibHVlLCB0aWxpbmcpOwo+Pj4+ICvCoMKgwqAgaWYgKGRhdGEt PmZsYWcgPT0gVEVTVF9QQ1VfQUxHTykgewo+Pj4+ICvCoMKgwqDCoMKgwqDCoCBmb3IgKGkgPSBC V19QUklNQVJZX0xPVzsgaSA8IEJXX0lOVkFMSUQ7IGkrKykgewo+Pj4+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIGlmIChpID09IEJXX1BSSU1BUllfTE9XIHx8IGkgPT0gQldfUFJJTUFSWV9MT1cy KQo+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZ2V0X3JlZmVyZW5jZV9jcmMo ZGF0YSwgb3V0cHV0LCBwaXBlLCAmYmx1ZSwKPj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB0aWxpbmcsIFNNQUxMX1NDUkVFTik7Cj4+Pj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqAgZWxzZQo+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgZ2V0X3JlZmVyZW5jZV9jcmMoZGF0YSwgb3V0cHV0LCBwaXBlLCAmYmx1ZSwKPj4+PiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB0aWxpbmcsIEZVTExf U0NSRUVOKTsKPj4+PiArCj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLyogRmluZCBvdXQg aG93IG1hbnkgcGxhbmVzIGFyZSBhbGxvd2VkIHNpbXVsdGFuZW91c2x5ICovCj4+Pj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqAgZG8gewo+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgYysrOwo+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcHJlcGFyZV9wbGFu ZXMoZGF0YSwgcGlwZSwgJmJsdWUsIHRpbGluZywgYywgb3V0cHV0KTsKPj4+PiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIGVyciA9IGlndF9kaXNwbGF5X3RyeV9jb21taXQyKCZkYXRh LT5kaXNwbGF5LCAKPj4+PiBDT01NSVRfQVRPTUlDKTsKPj4+PiAtwqDCoMKgIC8qIEZpbmQgb3V0 IGhvdyBtYW55IHBsYW5lcyBhcmUgYWxsb3dlZCBzaW11bHRhbmVvdXNseSAqLwo+Pj4+IC3CoMKg wqAgZG8gewo+Pj4+IC3CoMKgwqDCoMKgwqDCoCBjKys7Cj4+Pj4gLcKgwqDCoMKgwqDCoMKgIHBy ZXBhcmVfcGxhbmVzKGRhdGEsIHBpcGUsICZibHVlLCB0aWxpbmcsIGMsIG91dHB1dCk7Cj4+Pj4g LcKgwqDCoMKgwqDCoMKgIGVyciA9IGlndF9kaXNwbGF5X3RyeV9jb21taXQyKCZkYXRhLT5kaXNw bGF5LCBDT01NSVRfQVRPTUlDKTsKPj4+PiArIGZvcl9lYWNoX3BsYW5lX29uX3BpcGUoJmRhdGEt PmRpc3BsYXksIHBpcGUsIHBsYW5lKQo+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBpZ3RfcGxhbmVfc2V0X2ZiKHBsYW5lLCBOVUxMKTsKPj4+PiAtwqDCoMKgwqDC oMKgwqAgZm9yX2VhY2hfcGxhbmVfb25fcGlwZSgmZGF0YS0+ZGlzcGxheSwgcGlwZSwgcGxhbmUp Cj4+Pj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaWd0X3BsYW5lX3NldF9mYihwbGFuZSwgTlVM TCk7Cj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBmb3IgKGludCB4ID0gMDsg eCA8IGM7IHgrKykKPj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg aWd0X3JlbW92ZV9mYihkYXRhLT5kcm1fZmQsICZkYXRhLT5mYlt4XSk7Cj4+Pj4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqAgfSB3aGlsZSAoIWVyciAmJiBjIDwgbl9wbGFuZXMpOwo+Pj4+IC3CoMKg wqDCoMKgwqDCoCBmb3IgKGludCB4ID0gMDsgeCA8IGM7IHgrKykKPj4+PiAtwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBpZ3RfcmVtb3ZlX2ZiKGRhdGEtPmRybV9mZCwgJmRhdGEtPmZiW3hdKTsKPj4+ PiAtwqDCoMKgIH0gd2hpbGUgKCFlcnIgJiYgYyA8IG5fcGxhbmVzKTsKPj4+PiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBpZiAoZXJyKQo+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgYy0tOwo+Pj4+IC3CoMKgwqAgaWYgKGVycikKPj4+PiAtwqDCoMKgwqDCoMKgwqAgYy0tOwo+ Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlndF9pbmZvKCJUZXN0aW5nIGNvbm5lY3RvciAl cyB1c2luZyBwaXBlICVzIHdpdGggJWQgCj4+Pj4gcGxhbmVzICVzIHdpdGggc2VlZCAlZFxuIiwK Pj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaWd0X291dHB1dF9u YW1lKG91dHB1dCksIAo+Pj4+IGttc3Rlc3RfcGlwZV9uYW1lKHBpcGUpLCBjLAo+Pj4+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpbmZvLCBvcHQuc2VlZCk7Cj4+Pj4g LcKgwqDCoCBpZ3RfaW5mbygiVGVzdGluZyBjb25uZWN0b3IgJXMgdXNpbmcgcGlwZSAlcyB3aXRo ICVkIHBsYW5lcyAlcyAKPj4+PiB3aXRoIHNlZWQgJWRcbiIsCj4+Pj4gLcKgwqDCoMKgwqDCoMKg wqAgaWd0X291dHB1dF9uYW1lKG91dHB1dCksIGttc3Rlc3RfcGlwZV9uYW1lKHBpcGUpLCBjLAo+ Pj4+IC3CoMKgwqDCoMKgwqDCoMKgIGluZm8sIG9wdC5zZWVkKTsKPj4+PiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBwcmVwYXJlX3BsYW5lczIoZGF0YSwgcGlwZSwgJmJsdWUsIHRpbGluZywKPj4+ PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbl9wbGFuZXMsIG91dHB1 dCwgaSk7Cj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaWd0X2Rpc3BsYXlfY29tbWl0Migm ZGF0YS0+ZGlzcGxheSwgQ09NTUlUX0FUT01JQyk7Cj4+Pj4gLcKgwqDCoCBpID0gMDsKPj4+PiAt wqDCoMKgIHdoaWxlIChpIDwgaXRlcmF0aW9ucyB8fCBsb29wX2ZvcmV2ZXIpIHsKPj4+PiAtwqDC oMKgwqDCoMKgwqAgLyogcmFuZG9taXplIHBsYW5lcyBhbmQgc2V0IHVwIHRoZSBob2xlcyAqLwo+ Pj4+IC3CoMKgwqDCoMKgwqDCoCBwcmVwYXJlX3BsYW5lcyhkYXRhLCBwaXBlLCAmYmx1ZSwgdGls aW5nLCBjLCBvdXRwdXQpOwo+Pj4+ICsgaWd0X3BpcGVfY3JjX2dldF9jdXJyZW50KGRhdGEtPmRp c3BsYXkuZHJtX2ZkLAo+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCBkYXRhLT5waXBlX2NyYywgJmNyYyk7Cj4+Pj4gLcKgwqDCoMKgwqDCoMKgIGlndF9kaXNwbGF5 X2NvbW1pdDIoJmRhdGEtPmRpc3BsYXksIENPTU1JVF9BVE9NSUMpOwo+Pj4+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIGlndF9hc3NlcnRfY3JjX2VxdWFsKCZkYXRhLT5yZWZfY3JjLCAmY3JjKTsK Pj4+PiArwqDCoMKgwqDCoMKgwqAgfQo+Pj4+ICvCoMKgwqAgfSBlbHNlIHsKPj4+PiArwqDCoMKg wqDCoMKgwqAgaSA9IDA7Cj4+Pj4gK8KgwqDCoMKgwqDCoMKgIGdldF9yZWZlcmVuY2VfY3JjKGRh dGEsIG91dHB1dCwgcGlwZSwgJmJsdWUsIHRpbGluZywgCj4+Pj4gRlVMTF9TQ1JFRU4pOwo+Pj4+ ICsKPj4+PiArwqDCoMKgwqDCoMKgwqAgd2hpbGUgKGkgPCBpdGVyYXRpb25zIHx8IGxvb3BfZm9y ZXZlcikgewo+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHByZXBhcmVfcGxhbmVzKGRhdGEs IHBpcGUsICZibHVlLCB0aWxpbmcsCj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIG5fcGxhbmVzLCBvdXRwdXQpOwo+Pj4+IC3CoMKgwqDCoMKgwqDCoCBp Z3RfcGlwZV9jcmNfZ2V0X2N1cnJlbnQoZGF0YS0+ZGlzcGxheS5kcm1fZmQsIAo+Pj4+IGRhdGEt PnBpcGVfY3JjLCAmY3JjKTsKPj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZ3RfZGlzcGxh eV9jb21taXQyKCZkYXRhLT5kaXNwbGF5LCBDT01NSVRfQVRPTUlDKTsKPj4+PiAtwqDCoMKgwqDC oMKgwqAgZm9yX2VhY2hfcGxhbmVfb25fcGlwZSgmZGF0YS0+ZGlzcGxheSwgcGlwZSwgcGxhbmUp Cj4+Pj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaWd0X3BsYW5lX3NldF9mYihwbGFuZSwgTlVM TCk7Cj4+Pj4gKyBpZ3RfcGlwZV9jcmNfZ2V0X2N1cnJlbnQoZGF0YS0+ZGlzcGxheS5kcm1fZmQs Cj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBk YXRhLT5waXBlX2NyYywgJmNyYyk7Cj4+Pj4gLcKgwqDCoMKgwqDCoMKgIGZvciAoaW50IHggPSAw OyB4IDwgYzsgeCsrKQo+Pj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlndF9yZW1vdmVfZmIo ZGF0YS0+ZHJtX2ZkLCAmZGF0YS0+ZmJbeF0pOwo+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IGZvcl9lYWNoX3BsYW5lX29uX3BpcGUoJmRhdGEtPmRpc3BsYXksIHBpcGUsIHBsYW5lKQo+Pj4+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaWd0X3BsYW5lX3NldF9mYihwbGFuZSwg TlVMTCk7Cj4+Pj4gLcKgwqDCoMKgwqDCoMKgIGlndF9hc3NlcnRfY3JjX2VxdWFsKCZkYXRhLT5y ZWZfY3JjLCAmY3JjKTsKPj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBmb3IgKGludCB4ID0g MDsgeCA8IGM7IHgrKykKPj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlndF9y ZW1vdmVfZmIoZGF0YS0+ZHJtX2ZkLCAmZGF0YS0+ZmJbeF0pOwo+Pj4+IC3CoMKgwqDCoMKgwqDC oCBpKys7Cj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaWd0X2Fzc2VydF9jcmNfZXF1YWwo JmRhdGEtPnJlZl9jcmMsICZjcmMpOwo+Pj4+ICsKPj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCBpKys7Cj4+Pj4gK8KgwqDCoMKgwqDCoMKgIH0KPj4+PiDCoMKgwqDCoCB9Cj4+Pj4gwqDCoMKg wqAgdGVzdF9maW5pKGRhdGEsIG91dHB1dCwgbl9wbGFuZXMpOwo+Pj4+IEBAIC0zNTUsOCArNDYx LDEyIEBAIHN0YXRpYyB2b2lkCj4+Pj4gwqB0ZXN0X3BsYW5lX3Bvc2l0aW9uKGRhdGFfdCAqZGF0 YSwgZW51bSBwaXBlIHBpcGUsIHVpbnQ2NF90IHRpbGluZykKPj4+PiDCoHsKPj4+PiDCoMKgwqDC oCBpZ3Rfb3V0cHV0X3QgKm91dHB1dDsKPj4+PiArwqDCoMKgIGludCBkZXZpZCA9IGludGVsX2dl dF9kcm1fZGV2aWQoZGF0YS0+ZHJtX2ZkKTsKPj4+PiDCoMKgwqDCoCBpbnQgbl9wbGFuZXMgPSBk YXRhLT5kaXNwbGF5LnBpcGVzW3BpcGVdLm5fcGxhbmVzOwo+Pj4+ICvCoMKgwqAgaWYgKGRhdGEt PmZsYWcgPT0gVEVTVF9QQ1VfQUxHTykKPj4+PiArwqDCoMKgwqDCoMKgwqAgaWd0X3JlcXVpcmUo QVRfTEVBU1RfR0VOKGRldmlkLCAxMikpOwo+Pj4+ICsKPj4+PiDCoMKgwqDCoCBvdXRwdXQgPSBp Z3RfZ2V0X3NpbmdsZV9vdXRwdXRfZm9yX3BpcGUoJmRhdGEtPmRpc3BsYXksIHBpcGUpOwo+Pj4+ IMKgwqDCoMKgIGlndF9yZXF1aXJlKG91dHB1dCk7Cj4+Pj4gQEAgLTM3Nyw2ICs0ODcsMTQgQEAg cnVuX3Rlc3RzX2Zvcl9waXBlKGRhdGFfdCAqZGF0YSwgZW51bSBwaXBlIHBpcGUpCj4+Pj4gwqDC oMKgwqDCoMKgwqDCoCBpZ3RfcmVxdWlyZShkYXRhLT5kaXNwbGF5LnBpcGVzW3BpcGVdLm5fcGxh bmVzID4gMCk7Cj4+Pj4gwqDCoMKgwqAgfQo+Pj4+ICsKPj4+PiArwqDCoMKgIGRhdGEtPmZsYWcg PSBURVNUX1BDVV9BTEdPOwo+Pj4+ICsKPj4+PiArwqDCoMKgIGlndF9zdWJ0ZXN0X2YoImF0b21p Yy1waXBlLSVzLXRpbGluZy1ub25lX3BjdSIsIAo+Pj4+IGttc3Rlc3RfcGlwZV9uYW1lKHBpcGUp KQo+Pj4+ICvCoMKgwqDCoMKgwqDCoCB0ZXN0X3BsYW5lX3Bvc2l0aW9uKGRhdGEsIHBpcGUsIExP Q0FMX0RSTV9GT1JNQVRfTU9EX05PTkUpOwo+Pj4+ICsKPj4+PiArwqDCoMKgIGRhdGEtPmZsYWcg PSAwOwo+Pj4+ICsKPj4+PiDCoMKgwqDCoCBpZ3Rfc3VidGVzdF9mKCJhdG9taWMtcGlwZS0lcy10 aWxpbmcteCIsIGttc3Rlc3RfcGlwZV9uYW1lKHBpcGUpKQo+Pj4+IMKgwqDCoMKgwqDCoMKgwqAg dGVzdF9wbGFuZV9wb3NpdGlvbihkYXRhLCBwaXBlLCAKPj4+PiBMT0NBTF9JOTE1X0ZPUk1BVF9N T0RfWF9USUxFRCk7Cj4+Pj4gLS0gCj4+Pj4gMi4yMS4wCj4+Pj4KPj4+PiBfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+Pj4+IGlndC1kZXYgbWFpbGluZyBs aXN0Cj4+Pj4gaWd0LWRldkBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPj4+PiBodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lndC1kZXYKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KaWd0LWRldiBtYWlsaW5nIGxpc3QKaWd0 LWRldkBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9pZ3QtZGV2