From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id 85FAC6E27F for ; Tue, 29 Oct 2019 12:37:19 +0000 (UTC) Date: Tue, 29 Oct 2019 14:37:14 +0200 From: Arkadiusz Hiler Message-ID: <20191029123714.plmoe5y7ja3adfsh@ahiler-desk1.fi.intel.com> References: <1572343926-22949-1-git-send-email-jeevan.b@intel.com> <1572343926-22949-3-git-send-email-jeevan.b@intel.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <1572343926-22949-3-git-send-email-jeevan.b@intel.com> Subject: Re: [igt-dev] [PATCH i-g-t 2/2] Add a new IGT test to validate DC3CO state List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: Jeevan B Cc: igt-dev@lists.freedesktop.org List-ID: T24gVHVlLCBPY3QgMjksIDIwMTkgYXQgMDM6NDI6MDZQTSArMDUzMCwgSmVldmFuIEIgd3JvdGU6 Cj4gQWRkIGEgc3VidGVzdCBmb3IgREMzQ08gdmlkZW8gcGxheWJhY2sgY2FzZQo+IHRvIGdlbmVy YXRlIHNlbGVjdGl2ZSBmcmFtZSB1cGRhdGUgYW5kIHZhbGlkYXRlCj4gdGhhdCBzeXN0ZW0gc3Rh eXMgaW4gREMzQ08gc3RhdGUgZHVyaW5nIGV4ZWN1dGlvbi4KPiAKPiB2MjogQ2hhbmdlZCBQU1Iy IGlkbGUgY2hlY2sgdG8gc2xlZXAgY2hlY2sgYW5kIGFkZHJlc3NlZCBjb3NtZXRpYyBjaGFuZ2Vz Lgo+IHYzOiBSZW5hbWVkIGEgZnVuY3Rpb24gYW5kIHJlc3RydWN0dXJlZCBjb2RlIGFjY29yZGlu ZyB0byBBbnNodW1hbuKAmXMgY29tbWVudHMuCj4gdjQ6IENvc21ldGljIGNoYW5nZXMuCj4gdjU6 IFJlbW92ZWQgREM1IGNoZWNrLCBQbGF0Zm9ybSBjaGVjayBhbmQgYSBmdW5jdGlvbiBwYXJhbWV0 ZXIuCj4gICAgIFJlbmFtZWQgYSBmdW5jdGlvbiBuYW1lIGFzIHBlciBBcmVrIGFuZCBJbXJlJ3Mg Q29tbWVudHMuCj4gdjY6IEFkZGVkIGEgbmV3IGZ1bmN0aW9uIHJlcXVpcmVfZGNfY291bnRlciBh cyBwZXIgQXJlaydzIENvbW1lbnRzLgo+ICAgICBUaGUgdGVzdCBpcyBub3cgcnVubmluZyBiYXNl ZCBvbiB0aW1lIGluc3RlYWQgb2YgdGhlIG51bWJlciBvZiBmcmFtZXMKPiAgICAgaW5jcmVhc2Vk IGZyYW1lIGRlbGF5IGZyb20gMSB0byAxLjUgYXMgcGVyIEltcmUncyBDb21tZW50cy4KPiB2Nzog UmVtb3ZlZCBwc3IyX2FjdGl2ZV9zbGVlcF9jaGVjayBhbmQgY29ycmVjdGVkIHRoZSBzd2l0Y2gg aW5kZW50YXRpb24uCj4gCj4gU2lnbmVkLW9mZi1ieTogSmVldmFuIEIgPGplZXZhbi5iQGludGVs LmNvbT4KPiBSZXZpZXdlZC1ieTogQW5zaHVtYW4gR3VwdGEgPGFuc2h1bWFuLmd1cHRhQGludGVs LmNvbT4KPiAtLS0KPiAgdGVzdHMvaTkxNS9pOTE1X3BtX2RjLmMgfCAxNTIgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCj4gIDEgZmlsZSBjaGFuZ2VkLCAx NTEgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQo+IAo+IGRpZmYgLS1naXQgYS90ZXN0cy9p OTE1L2k5MTVfcG1fZGMuYyBiL3Rlc3RzL2k5MTUvaTkxNV9wbV9kYy5jCj4gaW5kZXggNDRjNjUz OC4uNDZkYjEzNSAxMDA2NDQKPiAtLS0gYS90ZXN0cy9pOTE1L2k5MTVfcG1fZGMuYwo+ICsrKyBi L3Rlc3RzL2k5MTUvaTkxNV9wbV9kYy5jCj4gQEAgLTMyLDYgKzMyLDcgQEAKPiAgI2luY2x1ZGUg ImlndF9wc3IuaCIKPiAgI2luY2x1ZGUgImlndF9zeXNmcy5oIgo+ICAjaW5jbHVkZSAibGltaXRz LmgiCj4gKyNpbmNsdWRlICJ0aW1lLmgiCj4gIAo+ICAvKiBEQyBTdGF0ZSBGbGFncyAqLwo+ICAj ZGVmaW5lIENIRUNLX0RDNQkoMSA8PCAwKQo+IEBAIC0zOSwxMiArNDAsMTYgQEAKPiAgI2RlZmlu ZSBDSEVDS19EQzNDTwkoMSA8PCAyKQo+ICAKPiAgdHlwZWRlZiBzdHJ1Y3Qgewo+ICsJZG91Ymxl IHIsIGcsIGI7Cj4gK30gY29sb3JfdDsKPiArCj4gK3R5cGVkZWYgc3RydWN0IHsKPiAgCWludCBk cm1fZmQ7Cj4gIAlpbnQgbXNyX2ZkOwo+ICAJaW50IGRlYnVnZnNfZmQ7Cj4gIAl1aW50MzJfdCBk ZXZpZDsKPiAgCWlndF9kaXNwbGF5X3QgZGlzcGxheTsKPiAtCXN0cnVjdCBpZ3RfZmIgZmJfd2hp dGU7Cj4gKwlzdHJ1Y3QgaWd0X2ZiIGZiX3doaXRlLCBmYl9yZ2IsIGZiX3JncjsKPiAgCWVudW0g cHNyX21vZGUgb3BfcHNyX21vZGU7Cj4gIAlkcm1Nb2RlTW9kZUluZm8gKm1vZGU7Cj4gIAlpZ3Rf b3V0cHV0X3QgKm91dHB1dDsKPiBAQCAtMTEwLDYgKzExNSw0MiBAQCBzdGF0aWMgdm9pZCBjbGVh bnVwX2RjX3BzcihkYXRhX3QgKmRhdGEpCj4gIAlpZ3RfcmVtb3ZlX2ZiKGRhdGEtPmRybV9mZCwg JmRhdGEtPmZiX3doaXRlKTsKPiAgfQo+ICAKPiArc3RhdGljIHZvaWQgY2xlYW51cF9kYzNjb19m YnMoZGF0YV90ICpkYXRhKQo+ICt7Cj4gKwlpZ3RfcGxhbmVfdCAqcHJpbWFyeTsKPiArCj4gKwlw cmltYXJ5ID0gaWd0X291dHB1dF9nZXRfcGxhbmVfdHlwZShkYXRhLT5vdXRwdXQsCj4gKwkJCQkJ ICAgIERSTV9QTEFORV9UWVBFX1BSSU1BUlkpOwo+ICsJaWd0X3BsYW5lX3NldF9mYihwcmltYXJ5 LCBOVUxMKTsKPiArCS8qIENsZWFyIEZyYW1lIEJ1ZmZlcnMgKi8KPiArCWlndF9kaXNwbGF5X2Nv bW1pdCgmZGF0YS0+ZGlzcGxheSk7Cj4gKwlpZ3RfcmVtb3ZlX2ZiKGRhdGEtPmRybV9mZCwgJmRh dGEtPmZiX3JnYik7Cj4gKwlpZ3RfcmVtb3ZlX2ZiKGRhdGEtPmRybV9mZCwgJmRhdGEtPmZiX3Jn cik7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIHBhaW50X3JlY3RhbmdsZXMoZGF0YV90ICpkYXRh LAo+ICsJCQkgICAgIGRybU1vZGVNb2RlSW5mbyAqbW9kZSwKPiArCQkJICAgICBjb2xvcl90ICpj b2xvcnMsCj4gKwkJCSAgICAgaWd0X2ZiX3QgKmZiKQo+ICt7Cj4gKwljYWlyb190ICpjciA9IGln dF9nZXRfY2Fpcm9fY3R4KGRhdGEtPmRybV9mZCwgZmIpOwo+ICsJaW50IGksIGwgPSBtb2RlLT5o ZGlzcGxheSAvIDM7Cj4gKwlpbnQgcm93c19yZW1haW5pbmcgPSBtb2RlLT5oZGlzcGxheSAlIDM7 Cj4gKwo+ICsJLyogUGFpbnQgMyBzb2xpZCByZWN0YW5nbGVzLiAqLwo+ICsJZm9yIChpID0gMCA7 IGkgPCAzOyBpKyspIHsKPiArCQlpZ3RfcGFpbnRfY29sb3IoY3IsIGkgKiBsLCAwLCBsLCBtb2Rl LT52ZGlzcGxheSwKPiArCQkJCWNvbG9yc1tpXS5yLCBjb2xvcnNbaV0uZywgY29sb3JzW2ldLmIp Owo+ICsJfQo+ICsKPiArCWlmIChyb3dzX3JlbWFpbmluZyA+IDApCj4gKwkJaWd0X3BhaW50X2Nv bG9yKGNyLCBpICogbCwgMCwgcm93c19yZW1haW5pbmcsIG1vZGUtPnZkaXNwbGF5LAo+ICsJCQkJ Y29sb3JzW2kgLSAxXS5yLCBjb2xvcnNbaSAtIDFdLmcsCj4gKwkJCQljb2xvcnNbaSAtIDFdLmIp Owo+ICsKPiArCWlndF9wdXRfY2Fpcm9fY3R4KGRhdGEtPmRybV9mZCwgZmIsIGNyKTsKPiArfQo+ ICsKPiAgc3RhdGljIHZvaWQgc2V0dXBfcHJpbWFyeShkYXRhX3QgKmRhdGEpCj4gIHsKPiAgCWln dF9wbGFuZV90ICpwcmltYXJ5Owo+IEBAIC0xMjcsNiArMTY4LDIwIEBAIHN0YXRpYyB2b2lkIHNl dHVwX3ByaW1hcnkoZGF0YV90ICpkYXRhKQo+ICAJaWd0X2Rpc3BsYXlfY29tbWl0KCZkYXRhLT5k aXNwbGF5KTsKPiAgfQo+ICAKPiArc3RhdGljIHZvaWQgY3JlYXRlX2NvbG9yX2ZiKGRhdGFfdCAq ZGF0YSwgaWd0X2ZiX3QgKmZiLCBjb2xvcl90ICpmYl9jb2xvcikKPiArewo+ICsJaW50IGZiX2lk Owo+ICsKPiArCWZiX2lkID0gaWd0X2NyZWF0ZV9mYihkYXRhLT5kcm1fZmQsCj4gKwkJCSAgICAg IGRhdGEtPm1vZGUtPmhkaXNwbGF5LAo+ICsJCQkgICAgICBkYXRhLT5tb2RlLT52ZGlzcGxheSwK PiArCQkJICAgICAgRFJNX0ZPUk1BVF9YUkdCODg4OCwKPiArCQkJICAgICAgTE9DQUxfRFJNX0ZP Uk1BVF9NT0RfTk9ORSwKPiArCQkJICAgICAgZmIpOwo+ICsJaWd0X2Fzc2VydChmYl9pZCk7Cj4g KwlwYWludF9yZWN0YW5nbGVzKGRhdGEsIGRhdGEtPm1vZGUsIGZiX2NvbG9yLCBmYik7Cj4gK30K PiArCj4gIHN0YXRpYyB1aW50MzJfdCBnZXRfZGNfY291bnRlcihjaGFyICpkY19kYXRhKQo+ICB7 Cj4gIAljaGFyICplOwo+IEBAIC0xODMsNiArMjM4LDk0IEBAIHN0YXRpYyB2b2lkIGNoZWNrX2Rj X2NvdW50ZXIoaW50IGRybV9mZCwgaW50IGRjX2ZsYWcsIHVpbnQzMl90IHByZXZfZGNfY291bnQp Cj4gIAkJICAgICAiJXMgc3RhdGUgaXMgbm90IGFjaGlldmVkXG4iLCB0bXApOwo+ICB9Cj4gIAo+ ICtzdGF0aWMgdm9pZCBzZXR1cF92aWRlb3BsYXliYWNrKGRhdGFfdCAqZGF0YSkKPiArewo+ICsJ Y29sb3JfdCByZWRfZ3JlZW5fYmx1ZVtdID0gewo+ICsJCXsgMS4wLCAwLjAsIDAuMCB9LAo+ICsJ CXsgMC4wLCAxLjAsIDAuMCB9LAo+ICsJCXsgMC4wLCAwLjAsIDEuMCB9LAo+ICsJfTsKPiArCWNv bG9yX3QgcmVkX2dyZWVuX3JlZFtdID0gewo+ICsJCXsgMS4wLCAwLjAsIDAuMCB9LAo+ICsJCXsg MC4wLCAxLjAsIDAuMCB9LAo+ICsJCXsgMS4wLCAwLjAsIDAuMCB9LAo+ICsJfTsKPiArCj4gKwlj cmVhdGVfY29sb3JfZmIoZGF0YSwgJmRhdGEtPmZiX3JnYiwgcmVkX2dyZWVuX2JsdWUpOwo+ICsJ Y3JlYXRlX2NvbG9yX2ZiKGRhdGEsICZkYXRhLT5mYl9yZ3IsIHJlZF9ncmVlbl9yZWQpOwo+ICt9 Cj4gKwo+ICtzdGF0aWMgdm9pZCBjaGVja19kYzNjb193aXRoX3ZpZGVvcGxheWJhY2tfbGlrZV9s b2FkKGRhdGFfdCAqZGF0YSkKPiArewo+ICsJaWd0X3BsYW5lX3QgKnByaW1hcnk7Cj4gKwl1aW50 MzJfdCBkYzNjb19wcmV2X2NudDsKPiArCWludCBkZWxheTsKPiArCXRpbWVfdCBzZWNzID0gNjsK PiArCXRpbWVfdCBzdGFydFRpbWUgPSB0aW1lKE5VTEwpOwo+ICsKPiArCXByaW1hcnkgPSBpZ3Rf b3V0cHV0X2dldF9wbGFuZV90eXBlKGRhdGEtPm91dHB1dCwKPiArCQkJCQkgICAgRFJNX1BMQU5F X1RZUEVfUFJJTUFSWSk7Cj4gKwlpZ3RfcGxhbmVfc2V0X2ZiKHByaW1hcnksIE5VTEwpOwo+ICsJ ZGMzY29fcHJldl9jbnQgPSByZWFkX2RjX2NvdW50ZXIoZGF0YS0+ZHJtX2ZkLCBDSEVDS19EQzND Tyk7Cj4gKwkvKiBDYWxjdWxhdGUgZGVsYXkgdG8gZ2VuZXJhdGUgaWRsZSBmcmFtZSBpbiB1c2Vj Ki8KPiArCWRlbGF5ID0gMS41ICogKCgxMDAwICogMTAwMCkgLyBkYXRhLT5tb2RlLT52cmVmcmVz aCk7Cj4gKwo+ICsJd2hpbGUgKHRpbWUoTlVMTCkgLSBzdGFydFRpbWUgPCBzZWNzKSB7Cj4gKwkJ aWd0X3BsYW5lX3NldF9mYihwcmltYXJ5LCAmZGF0YS0+ZmJfcmdiKTsKPiArCQlpZ3RfZGlzcGxh eV9jb21taXQoJmRhdGEtPmRpc3BsYXkpOwo+ICsJCXVzbGVlcChkZWxheSk7Cj4gKwo+ICsJCWln dF9wbGFuZV9zZXRfZmIocHJpbWFyeSwgJmRhdGEtPmZiX3Jncik7Cj4gKwkJaWd0X2Rpc3BsYXlf Y29tbWl0KCZkYXRhLT5kaXNwbGF5KTsKPiArCQl1c2xlZXAoZGVsYXkpOwo+ICsJfQo+ICsKPiAr CWNoZWNrX2RjX2NvdW50ZXIoZGF0YS0+ZHJtX2ZkLCBDSEVDS19EQzNDTywgZGMzY29fcHJldl9j bnQpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCByZXF1aXJlX2RjX2NvdW50ZXIoaW50IGRybV9m ZCwgaW50IGRjX2ZsYWcpCgpOaWNlISBUaGFua3MgZm9yIGludHJvZHVjaW5nIHRoaXMuIE5vdyB3 ZSBzaG91bGQgdXNlIHRoYXQgZm9yIHRoZSB0ZXN0cwp0aGF0IGFyZSB1c2luZyBvdGhlciBjb3Vu dGVycyBzbyB0aGV5IGhhdmUgdGhlIHJlcXVpcmVtZW50cyB1cC1mcm9udCBhbmQKZG9uJ3Qgc2tp cCBvbiByZWFkaW5nLgoKQXMgYSBnZW5lcmFsIHJ1bGUgb2YgdGh1bWI6CiAqIHNraXAgb25seSBm cm9tIGZ1bmN0aW9ucyB0aGF0IGhhdmUgKnNraXAqIG9yICpyZXF1aXJlKiBpbiB0aGUgbmFtZQog KiBsZXQgKnJlYWQqIGFuZCBvdGhlciBmdW5jdGlvbnMgdG8gZmFpbAoKU29tZXRoaW5nIGxpa2U6 CgpkaWZmIC0tZ2l0IGEvdGVzdHMvaTkxNS9pOTE1X3BtX2RjLmMgYi90ZXN0cy9pOTE1L2k5MTVf cG1fZGMuYwppbmRleCA0M2FmODZkNC4uNjRkODE0NDAgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2k5MTUv aTkxNV9wbV9kYy5jCisrKyBiL3Rlc3RzL2k5MTUvaTkxNV9wbV9kYy5jCkBAIC0yMDUsMTMgKzIw NSwxMyBAQCBzdGF0aWMgdWludDMyX3QgcmVhZF9kY19jb3VudGVyKHVpbnQzMl90IGRybV9mZCwg aW50IGRjX2ZsYWcpCiAKIAlpZiAoZGNfZmxhZyAmIENIRUNLX0RDNSkgewogCQlzdHIgPSBzdHJz dHIoYnVmLCAiREMzIC0+IERDNSBjb3VudCIpOwotCQlpZ3Rfc2tpcF9vbl9mKCFzdHIsICJEQzUg Y291bnRlciBpcyBub3QgYXZhaWxhYmxlXG4iKTsKKwkJaWd0X2Fzc2VydF9mKHN0ciwgIkRDNSBj b3VudGVyIGlzIG5vdCBhdmFpbGFibGVcbiIpOwogCX0gZWxzZSBpZiAoZGNfZmxhZyAmIENIRUNL X0RDNikgewogCQlzdHIgPSBzdHJzdHIoYnVmLCAiREM1IC0+IERDNiBjb3VudCIpOwotCQlpZ3Rf c2tpcF9vbl9mKCFzdHIsICJEQzYgY291bnRlciBpcyBub3QgYXZhaWxhYmxlXG4iKTsKKwkJaWd0 X2Fzc2VydF9mKHN0ciwgIkRDNiBjb3VudGVyIGlzIG5vdCBhdmFpbGFibGVcbiIpOwogCX0gZWxz ZSBpZiAoZGNfZmxhZyAmIENIRUNLX0RDM0NPKSB7CiAJCXN0ciA9IHN0cnN0cihidWYsICJEQzND TyBjb3VudCIpOwotCQlpZ3Rfc2tpcF9vbl9mKCFzdHIsICJEQzNDTyBjb3VudGVyIGlzIG5vdCBh dmFpbGFibGVcbiIpOworCQlpZ3RfYXNzZXJ0X2Yoc3RyLCAiREMzQ08gY291bnRlciBpcyBub3Qg YXZhaWxhYmxlXG4iKTsKIAl9CiAKIAlyZXR1cm4gZ2V0X2RjX2NvdW50ZXIoc3RyKTsKQEAgLTMw NSw3ICszMDUsNiBAQCBzdGF0aWMgdm9pZCByZXF1aXJlX2RjX2NvdW50ZXIoaW50IGRybV9mZCwg aW50IGRjX2ZsYWcpCiAKIHN0YXRpYyB2b2lkIHNldHVwX2RjM2NvKGRhdGFfdCAqZGF0YSkKIHsK LQlyZXF1aXJlX2RjX2NvdW50ZXIoZGF0YS0+ZHJtX2ZkLCBDSEVDS19EQzNDTyk7CiAJZGF0YS0+ b3BfcHNyX21vZGUgPSBQU1JfTU9ERV8yOwogCXBzcl9lbmFibGUoZGF0YS0+ZGVidWdmc19mZCwg ZGF0YS0+b3BfcHNyX21vZGUpOwogCWlndF9yZXF1aXJlX2YoZWRwX3BzcjJfZW5hYmxlZChkYXRh KSwKQEAgLTMxNCw2ICszMTMsNyBAQCBzdGF0aWMgdm9pZCBzZXR1cF9kYzNjbyhkYXRhX3QgKmRh dGEpCiAKIHN0YXRpYyB2b2lkIHRlc3RfZGMzY29fdnBiX3NpbXVsYXRpb24oZGF0YV90ICpkYXRh KQogeworCXJlcXVpcmVfZGNfY291bnRlcihkYXRhLT5kcm1fZmQsIENIRUNLX0RDM0NPKTsKIAlz ZXR1cF9vdXRwdXQoZGF0YSk7CiAJc2V0dXBfZGMzY28oZGF0YSk7CiAJc2V0dXBfdmlkZW9wbGF5 YmFjayhkYXRhKTsKQEAgLTMyNSw2ICszMjUsNyBAQCBzdGF0aWMgdm9pZCB0ZXN0X2RjX3N0YXRl X3BzcihkYXRhX3QgKmRhdGEsIGludCBkY19mbGFnKQogewogCXVpbnQzMl90IGRjX2NvdW50ZXJf YmVmb3JlX3BzcjsKIAorCXJlcXVpcmVfZGNfY291bnRlcihkYXRhLT5kcm1fZmQsIGRjX2ZsYWcp OwogCWRjX2NvdW50ZXJfYmVmb3JlX3BzciA9IHJlYWRfZGNfY291bnRlcihkYXRhLT5kcm1fZmQs IGRjX2ZsYWcpOwogCXNldHVwX291dHB1dChkYXRhKTsKIAlzZXR1cF9wcmltYXJ5KGRhdGEpOwpA QCAtMzg2LDYgKzM4Nyw3IEBAIHN0YXRpYyB2b2lkIHRlc3RfZGNfc3RhdGVfZHBtcyhkYXRhX3Qg KmRhdGEsIGludCBkY19mbGFnKQogewogCXVpbnQzMl90IGRjX2NvdW50ZXI7CiAKKwlyZXF1aXJl X2RjX2NvdW50ZXIoZGF0YS0+ZHJtX2ZkLCBkY19mbGFnKTsKIAlzZXR1cF9kY19kcG1zKGRhdGEp OwogCWRjX2NvdW50ZXIgPSByZWFkX2RjX2NvdW50ZXIoZGF0YS0+ZHJtX2ZkLCBkY19mbGFnKTsK IAlkcG1zX29mZihkYXRhKTsKCgo+ICt7Cj4gKwljaGFyIGJ1Zls0MDk2XTsKPiArCj4gKwlpZ3Rf ZGVidWdmc19zaW1wbGVfcmVhZChkcm1fZmQsICJpOTE1X2RtY19pbmZvIiwKPiArCQkJCWJ1Ziwg c2l6ZW9mKGJ1ZikpOwo+ICsKPiArCXN3aXRjaCAoZGNfZmxhZykgewo+ICsJY2FzZSBDSEVDS19E QzNDTzoKPiArCQlpZ3Rfc2tpcF9vbl9mKHN0cnN0cihidWYsICJEQzNDTyBjb3VudCIpLAo+ICsJ CQkgICAgICAiREMzQ08gY291bnRlciBpcyBub3QgYXZhaWxhYmxlXG4iKTsKPiArCQlicmVhazsK PiArCWNhc2UgQ0hFQ0tfREM1Ogo+ICsJCWlndF9za2lwX29uX2Yoc3Ryc3RyKGJ1ZiwgIkRDMyAt PiBEQzUgY291bnQiKSwKPiArCQkJICAgICAgIkRDNSBjb3VudGVyIGlzIG5vdCBhdmFpbGFibGVc biIpOwo+ICsJCWJyZWFrOwo+ICsJY2FzZSBDSEVDS19EQzY6Cj4gKwkJaWd0X3NraXBfb25fZihz dHJzdHIoYnVmLCAiREM1IC0+IERDNiBjb3VudCIpLAo+ICsJCQkgICAgICAiREM2IGNvdW50ZXIg aXMgbm90IGF2YWlsYWJsZVxuIik7Cj4gKwkJYnJlYWs7Cj4gKwlkZWZhdWx0Ogo+ICsJCWlndF9h c3NlcnRfZigwLCAiVW5rbm93biBEQyBjb3VudGVyICVkXG4iLCBkY19mbGFnKTsKPiArCX0KPiAr fQo+ICsKPiArc3RhdGljIHZvaWQgc2V0dXBfZGMzY28oZGF0YV90ICpkYXRhKQo+ICt7Cj4gKwly ZXF1aXJlX2RjX2NvdW50ZXIoZGF0YS0+ZHJtX2ZkLCBDSEVDS19EQzNDTyk7Cj4gKwlkYXRhLT5v cF9wc3JfbW9kZSA9IFBTUl9NT0RFXzI7Cj4gKwlwc3JfZW5hYmxlKGRhdGEtPmRlYnVnZnNfZmQs IGRhdGEtPm9wX3Bzcl9tb2RlKTsKPiArCWlndF9yZXF1aXJlX2YoZWRwX3BzcjJfZW5hYmxlZChk YXRhKSwKPiArCQkgICAgICAiUFNSMiBpcyBub3QgZW5hYmxlZFxuIik7Cj4gK30KPiArCj4gK3N0 YXRpYyB2b2lkIHRlc3RfZGMzY29fdnBiX3NpbXVsYXRpb24oZGF0YV90ICpkYXRhKQo+ICt7Cj4g KwlzZXR1cF9vdXRwdXQoZGF0YSk7Cj4gKwlzZXR1cF9kYzNjbyhkYXRhKTsKPiArCXNldHVwX3Zp ZGVvcGxheWJhY2soZGF0YSk7Cj4gKwljaGVja19kYzNjb193aXRoX3ZpZGVvcGxheWJhY2tfbGlr ZV9sb2FkKGRhdGEpOwo+ICsJY2xlYW51cF9kYzNjb19mYnMoZGF0YSk7Cj4gK30KPiArCj4gIHN0 YXRpYyB2b2lkIHRlc3RfZGNfc3RhdGVfcHNyKGRhdGFfdCAqZGF0YSwgaW50IGRjX2ZsYWcpCj4g IHsKPiAgCXVpbnQzMl90IGRjX2NvdW50ZXJfYmVmb3JlX3BzcjsKPiBAQCAtMjg0LDYgKzQyNywx MyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQo+ICAJCQkgICAgICJDYW4ndCBv cGVuIC9kZXYvY3B1LzAvbXNyLlxuIik7Cj4gIAl9Cj4gIAo+ICsJaWd0X2Rlc2NyaWJlKCJUaGlz IHRlc3Qgc2ltdWxhdGUgdmlkZW8gcGxheWJhY2sgIgo+ICsJCSAgICAgImluIG9yZGVyIHRvIHZh bGlkYXRlIERDM0NPIHN0YXRlICIKPiArCQkgICAgICJ3aGlsZSBQU1IyIGlzIGFjdGl2ZSBhbmQg aW4gU0xFRVAgc3RhdGUiKTsKCiJUaGlzIHRlc3QiIGlzIHNvbWV0aGluZyB0aGF0IHRoZSByZWFk ZXIgYWxyZWFkeSBrbm93cy4gVXNpbmcgdGhpcyBraW5kIG9mCnJlZmVyZW5jZSBtYWtlcyBzZW5z ZSB3aGVuIHlvdSBuZWVkIHRvIGFkZHJlc3MgdGhlIHdob2xlIHRoaW5nIGZldwpzZW50ZW5jZXMg ZG93biB0aGUgbGluZS4gSGVyZSBpdCBqdXN0IHVuZWNlc3NhcmlseSBpbmZsYXRlcyB0aGUgd29y ZApjb3VudC4KCkkgc3VnZ2VzdCB5b3UgdG8gcmVwaHJhc2UgaXQgbGlrZSB0aGF0OgoiTWFrZSBz dXJlIHRoYXQgd2UgZW50ZXIgREMzQ08gd2hlbiBQU1IyIGlzIGFjdGl2ZSBhbmQgd2UgYXJlIGlu IFNMRUVQCnN0YXRlLiIKClRoZXJlIGFyZSBmZXcgbW9yZSB0ZXN0cyBoZXJlIHRoYXQgY291bGQg dXNlIHNpbWlsYXIgdHJlYXRlbWVudCBzbyBmZWVsCmZyZWUgdG8gZG8gdGhhdCBpbiBzb21lIGZv bGxvdyB1cCBzZXJpZXMgbGF0ZXIuCgo+ICsJaWd0X3N1YnRlc3QoImRjM2NvLXZwYi1zaW11bGF0 aW9uIikgewo+ICsJCXRlc3RfZGMzY29fdnBiX3NpbXVsYXRpb24oJmRhdGEpOwo+ICsJfQo+ICsK PiAgCWlndF9kZXNjcmliZSgiVGhpcyB0ZXN0IHZhbGlkYXRlcyBkaXNwbGF5IGVuZ2luZSBlbnRy eSB0byBEQzUgc3RhdGUgIgo+ICAJCSAgICAgIndoaWxlIFBTUiBpcyBhY3RpdmUiKTsKPiAgCWln dF9zdWJ0ZXN0KCJkYzUtcHNyIikgewo+IC0tIAo+IDIuNy40Cj4gCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0CmlndC1k ZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vaWd0LWRldg==