From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marius Vlad Subject: [PATCH i-g-t 3/3] tests/kms_force_connector_basic: Add HDMI and audio EDID injection. Date: Wed, 23 Mar 2016 19:09:38 +0200 Message-ID: <1458752978-18866-4-git-send-email-marius.c.vlad@intel.com> References: <1458752978-18866-1-git-send-email-marius.c.vlad@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTP id A6D1B6E8CF for ; Wed, 23 Mar 2016 17:08:34 +0000 (UTC) In-Reply-To: <1458752978-18866-1-git-send-email-marius.c.vlad@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org U2lnbmVkLW9mZi1ieTogTWFyaXVzIFZsYWQgPG1hcml1cy5jLnZsYWRAaW50ZWwuY29tPgotLS0K IHRlc3RzL2ttc19mb3JjZV9jb25uZWN0b3JfYmFzaWMuYyB8IDIzNiArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrLQogMSBmaWxlIGNoYW5nZWQsIDIzMSBpbnNlcnRpb25zKCsp LCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Rlc3RzL2ttc19mb3JjZV9jb25uZWN0b3Jf YmFzaWMuYyBiL3Rlc3RzL2ttc19mb3JjZV9jb25uZWN0b3JfYmFzaWMuYwppbmRleCBkMmM4MDRj Li5lNjZjZTYyIDEwMDY0NAotLS0gYS90ZXN0cy9rbXNfZm9yY2VfY29ubmVjdG9yX2Jhc2ljLmMK KysrIGIvdGVzdHMva21zX2ZvcmNlX2Nvbm5lY3Rvcl9iYXNpYy5jCkBAIC0yMiw2ICsyMiw4IEBA CiAgKgogICovCiAKKyNkZWZpbmUgX0dOVV9TT1VSQ0UKKyNpbmNsdWRlIDxzdGRpby5oPgogI2lu Y2x1ZGUgImlndC5oIgogCiBJR1RfVEVTVF9ERVNDUklQVElPTigiQ2hlY2sgdGhlIGRlYnVnZnMg Zm9yY2UgY29ubmVjdG9yL2VkaWQgZmVhdHVyZXMgd29yayIKQEAgLTMxLDYgKzMzLDExIEBAIElH VF9URVNUX0RFU0NSSVBUSU9OKCJDaGVjayB0aGUgZGVidWdmcyBmb3JjZSBjb25uZWN0b3IvZWRp ZCBmZWF0dXJlcyB3b3JrIgogCWlndF9hc3NlcnRfZXEobS5oZGlzcGxheSwgaCk7IGlndF9hc3Nl cnRfZXEobS52ZGlzcGxheSwgdyk7IFwKIAlpZ3RfYXNzZXJ0X2VxKG0udnJlZnJlc2gsIHIpOwog CisjZGVmaW5lIEhESVNQTEFZXzRLCTM4NDAKKyNkZWZpbmUgVkRJU1BMQVlfNEsJMjE2MAorLyog bWFnaWMgbnVtYmVyIG9mIGF1ZGlvIG91dHB1dHMgd2hlbiByZWxvYWRpbmcgdGhlIGRyaXZlciAq LworI2RlZmluZSBBVURJT19PVVRQVVRTCTMKKwogc3RhdGljIHZvaWQgcmVzZXRfY29ubmVjdG9y cyh2b2lkKQogewogCWludCBkcm1fZmQgPSAwOwpAQCAtNjgsMTIgKzc1LDE5MSBAQCBzdGF0aWMg aW50IG9wdF9oYW5kbGVyKGludCBvcHQsIGludCBvcHRfaW5kZXgsIHZvaWQgKmRhdGEpCiAJcmV0 dXJuIDA7CiB9CiAKK3N0YXRpYyBpbnQKK2VsZF9pc192YWxpZCh1aW50OF90IG5vX291dHB1dHMp Cit7CisJRklMRSAqaW47CisJY2hhciBidWZbMTAyNF07CisJY2hhciAqZWxkX3BhdGg7CisJaW50 IHJldDsKKwl1aW50OF90IGVsZF92YWxpZCA9IDA7CisJdWludDhfdCBtb25fdmFsaWQgPSAwOwor CXVpbnQ4X3QgaTsKKworCS8qIAorCSAqIFJlbG9hZGluZyB0aGUgZHJpdmVyIHdvdWxkIHJlc2V0 IHRoZSAjbm8gb2Ygb3V0cHV0cywgc28gd2UgbmVlZCB0bworCSAqIGNoZWNrIG9mIHRoZW0uCisJ ICovCisJZm9yIChpID0gMDsgaSA8IG5vX291dHB1dHM7IGkrKykgeworCisJCXJldCA9IGFzcHJp bnRmKCZlbGRfcGF0aCwgIi9wcm9jL2Fzb3VuZC9IRE1JL2VsZCMwLiVodSIsIGkpOworCQlpZ3Rf YXNzZXJ0X25lcShyZXQsIC0xKTsKKworCQlpbiA9IGZvcGVuKGVsZF9wYXRoLCAiciIpOworCQlp ZiAoIWluKSB7CisJCQlpZ3RfZGVidWcoIkZhaWxlZCB0byBvcGVuICclcydcbiIsIGVsZF9wYXRo KTsKKwkJCXJldHVybiAwOworCQl9CisKKwkJbWVtc2V0KGJ1ZiwgMCwgMTAyNCk7CisKKwkJd2hp bGUgKChmZ2V0cyhidWYsIDEwMjQsIGluKSkgIT0gTlVMTCkgeworCisJCQljaGFyICpsaW5lID0g YnVmOworCQkJaWd0X2RlYnVnKCInJXMnIiwgbGluZSk7CisKKwkJCWlmICghc3RybmNhc2VjbXAo bGluZSwgImVsZF92YWxpZCIsIDkpICYmCisJCQkJCXN0cnN0cihsaW5lLCAiMSIpKSB7CisJCQkJ ZWxkX3ZhbGlkKys7CisJCQl9CisKKwkJCWlmICghc3RybmNhc2VjbXAobGluZSwgIm1vbml0b3Jf bmFtZSIsIDEyKSAmJgorCQkJCQlzdHJzdHIobGluZSwgIklHVCIpKSB7CisJCQkJbW9uX3ZhbGlk Kys7CisJCQl9CisJCX0KKworCQlpZiAobW9uX3ZhbGlkICYmIGVsZF92YWxpZCkgeworCQkJZnJl ZShlbGRfcGF0aCk7CisJCQlmY2xvc2UoaW4pOworCQkJcmV0dXJuIDE7CisJCX0KKworCQlmY2xv c2UoaW4pOworCQlmcmVlKGVsZF9wYXRoKTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGlj IHZvaWQKK2hkbWlfaW5qZWN0XzRrKGludCBkcm1fZmQsIGRybU1vZGVDb25uZWN0b3IgKmNvbm5l Y3RvciwgaW50IHN0YXJ0X25fbW9kZXMpCit7CisJdW5zaWduZWQgY2hhciAqZWRpZDsKKwlzaXpl X3QgbGVuZ3RoOworCXN0cnVjdCBrbXN0ZXN0X2Nvbm5lY3Rvcl9jb25maWcgY29uZmlnOworCWlu dCByZXQsIGNydGNfbWFzayA9IC0xOworCWludCBmYl9pZDsKKwlzdHJ1Y3QgaWd0X2ZiIGZiOwor CXVpbnQzMl90IGRldmlkOworCWRybU1vZGVDb25uZWN0b3IgKnRlbXA7CisKKwlkZXZpZCA9IGlu dGVsX2dldF9kcm1fZGV2aWQoZHJtX2ZkKTsKKworCS8qIDRLIHJlcXVpcmVzIGF0IGxlYXN0IEhT VyAqLworCWlndF9yZXF1aXJlKElTX0hBU1dFTEwoZGV2aWQpIHx8IElTX0JST0FEV0VMTChkZXZp ZCkpOworCisJa21zdGVzdF9lZGlkX2FkZF80ayhpZ3Rfa21zX2dldF9iYXNlX2VkaWQoKSwgRURJ RF9MRU5HVEgsICZlZGlkLAorCQkJICAgICZsZW5ndGgpOworCisJa21zdGVzdF9mb3JjZV9jb25u ZWN0b3IoZHJtX2ZkLCBjb25uZWN0b3IsIEZPUkNFX0NPTk5FQ1RPUl9PTik7CisJdGVtcCA9IGRy bU1vZGVHZXRDb25uZWN0b3JDdXJyZW50KGRybV9mZCwgY29ubmVjdG9yLT5jb25uZWN0b3JfaWQp OworCisJZHJtTW9kZUZyZWVDb25uZWN0b3IodGVtcCk7CisKKwlrbXN0ZXN0X2ZvcmNlX2VkaWQo ZHJtX2ZkLCBjb25uZWN0b3IsIGVkaWQsIGxlbmd0aCk7CisJdGVtcCA9IGRybU1vZGVHZXRDb25u ZWN0b3JDdXJyZW50KGRybV9mZCwgY29ubmVjdG9yLT5jb25uZWN0b3JfaWQpOworCisJQ0hFQ0tf TU9ERSh0ZW1wLT5tb2Rlc1sxXSwgSERJU1BMQVlfNEssIFZESVNQTEFZXzRLLCAzMCk7CisKKwkv KiBjcmVhdGUgYSBjb25maWd1cmF0aW9uICovCisJcmV0ID0ga21zdGVzdF9nZXRfY29ubmVjdG9y X2NvbmZpZyhkcm1fZmQsIHRlbXAtPmNvbm5lY3Rvcl9pZCwgY3J0Y19tYXNrLCAmY29uZmlnKTsK KwlpZ3RfYXNzZXJ0KHJldCk7CisKKwlpZ3RfaW5mbygiICAiKTsKKwlrbXN0ZXN0X2R1bXBfbW9k ZSgmdGVtcC0+bW9kZXNbMV0pOworCisJLyogY3JlYXRlIGZyYW1lYnVmZmVyICovCisJZmJfaWQg PSBpZ3RfY3JlYXRlX2ZiKGRybV9mZCwgdGVtcC0+bW9kZXNbMV0uaGRpc3BsYXksCisJCQkgICAg ICB0ZW1wLT5tb2Rlc1sxXS52ZGlzcGxheSwKKwkJCSAgICAgIERSTV9GT1JNQVRfWFJHQjg4ODgs CisJCQkgICAgICBMT0NBTF9EUk1fRk9STUFUX01PRF9OT05FLCAmZmIpOworCisJcmV0ID0gZHJt TW9kZVNldENydGMoZHJtX2ZkLCBjb25maWcuY3J0Yy0+Y3J0Y19pZCwgZmJfaWQsIDAsIDAsCisJ CQkgICAgICZ0ZW1wLT5jb25uZWN0b3JfaWQsIDEsICZ0ZW1wLT5tb2Rlc1sxXSk7CisKKwlpZ3Rf YXNzZXJ0KHJldCA9PSAwKTsKKwlkcm1Nb2RlRnJlZUNvbm5lY3Rvcih0ZW1wKTsKKworCWlndF9y ZW1vdmVfZmIoZHJtX2ZkLCAmZmIpOworCisJa21zdGVzdF9mb3JjZV9lZGlkKGRybV9mZCwgY29u bmVjdG9yLCBOVUxMLCAwKTsKKwlrbXN0ZXN0X2ZvcmNlX2Nvbm5lY3Rvcihkcm1fZmQsIGNvbm5l Y3RvciwgRk9SQ0VfQ09OTkVDVE9SX1VOU1BFQ0lGSUVEKTsKKworCXRlbXAgPSBkcm1Nb2RlR2V0 Q29ubmVjdG9yQ3VycmVudChkcm1fZmQsIGNvbm5lY3Rvci0+Y29ubmVjdG9yX2lkKTsKKwlpZ3Rf YXNzZXJ0X2VxKHRlbXAtPmNvdW50X21vZGVzLCBzdGFydF9uX21vZGVzKTsKKworCWRybU1vZGVG cmVlQ29ubmVjdG9yKHRlbXApOworCisJZnJlZShlZGlkKTsKK30KKworCitzdGF0aWMgdm9pZAor aGRtaV9pbmplY3RfYXVkaW8oaW50IGRybV9mZCwgZHJtTW9kZUNvbm5lY3RvciAqY29ubmVjdG9y LCBpbnQgc3RhcnRfbl9tb2RlcykKK3sKKwl1bnNpZ25lZCBjaGFyICplZGlkOworCXNpemVfdCBs ZW5ndGg7CisJaW50IGZiX2lkLCByZXQsIGNydGNfbWFzayA9IC0xOworCXN0cnVjdCBpZ3RfZmIg ZmI7CisJc3RydWN0IGttc3Rlc3RfY29ubmVjdG9yX2NvbmZpZyBjb25maWc7CisJZHJtTW9kZUNv bm5lY3RvciAqdGVtcDsKKworCWttc3Rlc3RfZWRpZF9hZGRfYXVkaW8oaWd0X2ttc19nZXRfYmFz ZV9lZGlkKCksIEVESURfTEVOR1RILCAmZWRpZCwKKwkJCSAgICAgICAmbGVuZ3RoKTsKKworCWtt c3Rlc3RfZm9yY2VfY29ubmVjdG9yKGRybV9mZCwgY29ubmVjdG9yLCBGT1JDRV9DT05ORUNUT1Jf T04pOworCXRlbXAgPSBkcm1Nb2RlR2V0Q29ubmVjdG9yQ3VycmVudChkcm1fZmQsIGNvbm5lY3Rv ci0+Y29ubmVjdG9yX2lkKTsKKworCWRybU1vZGVGcmVlQ29ubmVjdG9yKHRlbXApOworCisJa21z dGVzdF9mb3JjZV9lZGlkKGRybV9mZCwgY29ubmVjdG9yLCBlZGlkLCBsZW5ndGgpOworCXRlbXAg PSBkcm1Nb2RlR2V0Q29ubmVjdG9yQ3VycmVudChkcm1fZmQsIGNvbm5lY3Rvci0+Y29ubmVjdG9y X2lkKTsKKworCisJLyogY3JlYXRlIGEgY29uZmlndXJhdGlvbiAqLworCXJldCA9IGttc3Rlc3Rf Z2V0X2Nvbm5lY3Rvcl9jb25maWcoZHJtX2ZkLCB0ZW1wLT5jb25uZWN0b3JfaWQsIGNydGNfbWFz aywgJmNvbmZpZyk7CisJaWd0X2Fzc2VydChyZXQpOworCisJLyoKKwkgKiBDcmVhdGUgYSBmcmFt ZWJ1ZmZlciBhcyB0byBhbGxvdyB0aGUga2VybmVsIHRvIGVuYWJsZSB0aGUgcGlwZSBhbmQKKwkg KiBlbmFibGUgdGhlIGF1ZGlvIGVuY29kZXIuCisJICovCisJZmJfaWQgPSBpZ3RfY3JlYXRlX2Zi KGRybV9mZCwgdGVtcC0+bW9kZXNbMF0uaGRpc3BsYXksCisJCQkgICAgICB0ZW1wLT5tb2Rlc1sw XS52ZGlzcGxheSwKKwkJCSAgICAgIERSTV9GT1JNQVRfWFJHQjg4ODgsCisJCQkgICAgICBMT0NB TF9EUk1fRk9STUFUX01PRF9OT05FLCAmZmIpOworCisJcmV0ID0gZHJtTW9kZVNldENydGMoZHJt X2ZkLCBjb25maWcuY3J0Yy0+Y3J0Y19pZCwgZmJfaWQsIDAsIDAsCisJCQkgICAgICZ0ZW1wLT5j b25uZWN0b3JfaWQsIDEsICZ0ZW1wLT5tb2Rlc1swXSk7CisKKworCWlndF9hc3NlcnQocmV0ID09 IDApOworCisJLyoKKwkgKiBUZXN0IGlmIHdlIGhhdmUgL3Byb2MvYXNvdW5kL0hETUkvZWxkIzAu MCBhbmQgaXRzIGNvbnRlbnRzIGFyZSB2YWxpZC4KKwkgKi8KKwlpZ3RfYXNzZXJ0KGVsZF9pc192 YWxpZChBVURJT19PVVRQVVRTKSk7CisKKwlpZ3RfcmVtb3ZlX2ZiKGRybV9mZCwgJmZiKTsKKwlk cm1Nb2RlRnJlZUNvbm5lY3Rvcih0ZW1wKTsKKworCWttc3Rlc3RfZm9yY2VfZWRpZChkcm1fZmQs IGNvbm5lY3RvciwgTlVMTCwgMCk7CisJa21zdGVzdF9mb3JjZV9jb25uZWN0b3IoZHJtX2ZkLCBj b25uZWN0b3IsIEZPUkNFX0NPTk5FQ1RPUl9VTlNQRUNJRklFRCk7CisJdGVtcCA9IGRybU1vZGVH ZXRDb25uZWN0b3JDdXJyZW50KGRybV9mZCwgY29ubmVjdG9yLT5jb25uZWN0b3JfaWQpOworCWln dF9hc3NlcnRfZXEodGVtcC0+Y291bnRfbW9kZXMsIHN0YXJ0X25fbW9kZXMpOworCisJZHJtTW9k ZUZyZWVDb25uZWN0b3IodGVtcCk7CisJZnJlZShlZGlkKTsKK30KKwogaW50IG1haW4oaW50IGFy Z2MsIGNoYXIgKiphcmd2KQogewogCS8qIGZvcmNlIHRoZSBWR0Egb3V0cHV0IGFuZCB0ZXN0IHRo YXQgaXQgd29ya2VkICovCiAJaW50IGRybV9mZCA9IDA7CiAJZHJtTW9kZVJlcyAqcmVzOwogCWRy bU1vZGVDb25uZWN0b3IgKnZnYV9jb25uZWN0b3IgPSBOVUxMLCAqdGVtcDsKKwlkcm1Nb2RlQ29u bmVjdG9yICpoZG1pX2Nvbm5lY3RvciA9IE5VTEw7CiAJaW50IHN0YXJ0X25fbW9kZXMsIHN0YXJ0 X2Nvbm5lY3Rpb247CiAJc3RydWN0IG9wdGlvbiBsb25nX29wdHNbXSA9IHsKIAkJeyJyZXNldCIs IDAsIDAsICdyJ30sCkBAIC04NiwxMiArMjcyLDEzIEBAIGludCBtYWluKGludCBhcmdjLCBjaGFy ICoqYXJndikKIAkJCQkgICAgb3B0X2hhbmRsZXIsIE5VTEwpOwogCiAJaWd0X2ZpeHR1cmUgewor CQlpbnQgaTsKIAkJZHJtX2ZkID0gZHJtX29wZW5fZHJpdmVyX21hc3RlcihEUklWRVJfSU5URUwp OwogCQlyZXMgPSBkcm1Nb2RlR2V0UmVzb3VyY2VzKGRybV9mZCk7CiAJCWlndF9hc3NlcnQocmVz KTsKIAogCQkvKiBmaW5kIHRoZSB2Z2EgY29ubmVjdG9yICovCi0JCWZvciAoaW50IGkgPSAwOyBp IDwgcmVzLT5jb3VudF9jb25uZWN0b3JzOyBpKyspIHsKKwkJZm9yIChpID0gMDsgaSA8IHJlcy0+ Y291bnRfY29ubmVjdG9yczsgaSsrKSB7CiAKIAkJCXZnYV9jb25uZWN0b3IgPSBkcm1Nb2RlR2V0 Q29ubmVjdG9yQ3VycmVudChkcm1fZmQsCiAJCQkJCQkJCSAgIHJlcy0+Y29ubmVjdG9yc1tpXSk7 CkBAIC0xMDEsMTcgKzI4OCwzMSBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAJ CQkJc3RhcnRfY29ubmVjdGlvbiA9IHZnYV9jb25uZWN0b3ItPmNvbm5lY3Rpb247CiAJCQkJYnJl YWs7CiAJCQl9Ci0KIAkJCWRybU1vZGVGcmVlQ29ubmVjdG9yKHZnYV9jb25uZWN0b3IpOwogCiAJ CQl2Z2FfY29ubmVjdG9yID0gTlVMTDsKIAkJfQogCi0JCWlndF9yZXF1aXJlKHZnYV9jb25uZWN0 b3IpOwotCQlpZ3Rfc2tpcF9vbih2Z2FfY29ubmVjdG9yLT5jb25uZWN0aW9uID09IERSTV9NT0RF X0NPTk5FQ1RFRCk7CisJCS8qIGZpbmQgdGhlIEhETUkgY29ubmVjdG9yICovCisJCWZvciAoaSA9 IDA7IGkgPCByZXMtPmNvdW50X2Nvbm5lY3RvcnM7IGkrKykgeworCisJCQloZG1pX2Nvbm5lY3Rv ciA9IGRybU1vZGVHZXRDb25uZWN0b3JDdXJyZW50KGRybV9mZCwKKwkJCQkJCQkJICAgcmVzLT5j b25uZWN0b3JzW2ldKTsKKworCQkJaWYgKGhkbWlfY29ubmVjdG9yLT5jb25uZWN0b3JfdHlwZSA9 PSBEUk1fTU9ERV9DT05ORUNUT1JfSERNSUEpIHsKKwkJCQlzdGFydF9uX21vZGVzID0gaGRtaV9j b25uZWN0b3ItPmNvdW50X21vZGVzOworCQkJCXN0YXJ0X2Nvbm5lY3Rpb24gPSBoZG1pX2Nvbm5l Y3Rvci0+Y29ubmVjdGlvbjsKKwkJCQlicmVhazsKKwkJCX0KKwkJCWRybU1vZGVGcmVlQ29ubmVj dG9yKGhkbWlfY29ubmVjdG9yKTsKKworCQkJaGRtaV9jb25uZWN0b3IgPSBOVUxMOworCQl9CiAJ fQogCiAJaWd0X3N1YnRlc3QoImZvcmNlLWxvYWQtZGV0ZWN0IikgeworCQlpZ3RfcmVxdWlyZSh2 Z2FfY29ubmVjdG9yKTsKKwkJaWd0X3NraXBfb24odmdhX2Nvbm5lY3Rvci0+Y29ubmVjdGlvbiA9 PSBEUk1fTU9ERV9DT05ORUNURUQpOwogCQkvKgogCQkgKiBkaXNhYmxlIGFsbCBvdXRwdXRzIHRv IG1ha2Ugc3VyZSB3ZSBoYXZlIGEKIAkJICogZnJlZSBjcnRjIGF2YWlsYWJsZSBmb3IgbG9hZCBk ZXRlY3QKQEAgLTEzNiw2ICszMzcsOSBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3Yp CiAJaWd0X3N1YnRlc3QoImZvcmNlLWNvbm5lY3Rvci1zdGF0ZSIpIHsKIAkJaWd0X2Rpc3BsYXlf dCBkaXNwbGF5OwogCisJCWlndF9yZXF1aXJlKHZnYV9jb25uZWN0b3IpOworCQlpZ3Rfc2tpcF9v bih2Z2FfY29ubmVjdG9yLT5jb25uZWN0aW9uID09IERSTV9NT0RFX0NPTk5FQ1RFRCk7CisKIAkJ LyogZm9yY2UgdGhlIGNvbm5lY3RvciBvbiBhbmQgY2hlY2sgdGhlIHJlcG9ydGVkIHZhbHVlcyAq LwogCQlrbXN0ZXN0X2ZvcmNlX2Nvbm5lY3Rvcihkcm1fZmQsIHZnYV9jb25uZWN0b3IsIEZPUkNF X0NPTk5FQ1RPUl9PTik7CiAJCXRlbXAgPSBkcm1Nb2RlR2V0Q29ubmVjdG9yQ3VycmVudChkcm1f ZmQsCkBAIC0xNjksNyArMzczLDEwIEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikK IAkJZHJtTW9kZUZyZWVDb25uZWN0b3IodGVtcCk7CiAJfQogCi0JaWd0X3N1YnRlc3QoImZvcmNl LWVkaWQiKSB7CisJaWd0X3N1YnRlc3QoImZvcmNlLWVkaWQtdmdhIikgeworCQlpZ3RfcmVxdWly ZSh2Z2FfY29ubmVjdG9yKTsKKwkJaWd0X3NraXBfb24odmdhX2Nvbm5lY3Rvci0+Y29ubmVjdGlv biA9PSBEUk1fTU9ERV9DT05ORUNURUQpOworCiAJCWttc3Rlc3RfZm9yY2VfY29ubmVjdG9yKGRy bV9mZCwgdmdhX2Nvbm5lY3RvciwKIAkJCQkJRk9SQ0VfQ09OTkVDVE9SX09OKTsKIAkJdGVtcCA9 IGRybU1vZGVHZXRDb25uZWN0b3JDdXJyZW50KGRybV9mZCwKQEAgLTIwMyw5ICs0MTAsMjggQEAg aW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogCiAJfQogCisJaWd0X3N1YnRlc3QoImZv cmNlLWVkaWQtaGRtaS00ayIpIHsKKworCQlpZ3RfcmVxdWlyZShoZG1pX2Nvbm5lY3Rvcik7CisJ CWlndF9za2lwX29uKGhkbWlfY29ubmVjdG9yLT5jb25uZWN0aW9uID09IERSTV9NT0RFX0NPTk5F Q1RFRCk7CisKKwkJaGRtaV9pbmplY3RfNGsoZHJtX2ZkLCBoZG1pX2Nvbm5lY3Rvciwgc3RhcnRf bl9tb2Rlcyk7CisJfQorCisJaWd0X3N1YnRlc3QoImZvcmNlLWVkaWQtaGRtaS1hdWRpbyIpIHsK KworCQlpZ3RfcmVxdWlyZShoZG1pX2Nvbm5lY3Rvcik7CisJCWlndF9za2lwX29uKGhkbWlfY29u bmVjdG9yLT5jb25uZWN0aW9uID09IERSTV9NT0RFX0NPTk5FQ1RFRCk7CisKKwkJaGRtaV9pbmpl Y3RfYXVkaW8oZHJtX2ZkLCBoZG1pX2Nvbm5lY3Rvciwgc3RhcnRfbl9tb2Rlcyk7CisJfQorCiAJ aWd0X3N1YnRlc3QoInBydW5lLXN0YWxlLW1vZGVzIikgewogCQlpbnQgaTsKIAorCQlpZ3RfcmVx dWlyZSh2Z2FfY29ubmVjdG9yKTsKKwkJaWd0X3NraXBfb24odmdhX2Nvbm5lY3Rvci0+Y29ubmVj dGlvbiA9PSBEUk1fTU9ERV9DT05ORUNURUQpOworCiAJCWttc3Rlc3RfZm9yY2VfY29ubmVjdG9y KGRybV9mZCwgdmdhX2Nvbm5lY3RvciwKIAkJCQkJRk9SQ0VfQ09OTkVDVE9SX09OKTsKIAotLSAK Mi41LjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCklu dGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=