From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Kocialkowski Subject: [PATCH i-g-t v2 3/3] tests: Introduce audio tests, starting with HDMI signal integrity Date: Mon, 21 Aug 2017 18:27:20 +0300 Message-ID: <20170821152720.5925-4-paul.kocialkowski@linux.intel.com> References: <20170821152720.5925-1-paul.kocialkowski@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id E249D6E283 for ; Mon, 21 Aug 2017 15:27:29 +0000 (UTC) In-Reply-To: <20170821152720.5925-1-paul.kocialkowski@linux.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 VGhpcyBpbnRyb2R1Y2VzIGEgbmV3IHRlc3QgZm9yIGF1ZGlvIGdvaW5nIHRocm91Z2ggZGlzcGxh eSBjb25uZWN0b3JzLgpJdCBjdXJyZW50bHkgY29udGFpbnMgYSBzaW5nbGUgc3VidGVzdCBmb3Ig SERNSSBzaWduYWwgaW50ZWdyaXR5LCBidXQKb3RoZXIgdGVzdCBjYXNlcyB3aWxsIGJlIGFkZGVk IGxhdGVyIG9uLgoKVGhlIHRlc3Qgc2V0dXAgY29uc2lzdHMgaW4gdXNpbmcgYW4gSERNSS1WR0Eg YnJpZGdlIHRoYXQgc2VwYXJhdGVzIHRoZQphdWRpbyBvdXQgKHZpYSBhIDMuNSBtbSBqYWNrKSBh bmQgZmVlZGluZyB0aGlzIGJhY2sgdG8gdGhlIERVVCdzIGxpbmUtaW4Kd2hlcmUgaXQgY2FuIGJl IHJlY29yZGVkIGJ5IEFMU0Egd2l0aCBjb250cm9scyBjb3JyZWN0bHkgY29uZmlndXJlZC4KClRo ZSBhdWRpbyB0ZXN0IG1ha2VzIHVzZSBvZiB0aGUgYXVkaW8gYW5kIEFMU0EgaWd0IGxpYnJhcmll cyBoZWxwZXJzLgoKU2lnbmVkLW9mZi1ieTogUGF1bCBLb2NpYWxrb3dza2kgPHBhdWwua29jaWFs a293c2tpQGxpbnV4LmludGVsLmNvbT4KLS0tCiBSRUFETUUgICAgICAgICAgICB8ICAgNiArKwog Y29uZmlndXJlLmFjICAgICAgfCAgMTggKysrKysrCiB0ZXN0cy9NYWtlZmlsZS5hbSB8ICAxMiAr KysrCiB0ZXN0cy9hdWRpby5jICAgICB8IDE3NCArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysKIDQgZmlsZXMgY2hhbmdlZCwgMjEwIGluc2VydGlv bnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0cy9hdWRpby5jCgpkaWZmIC0tZ2l0IGEvUkVB RE1FIGIvUkVBRE1FCmluZGV4IGQxZWE5NTI5Li5jM2RkZjc2OCAxMDA2NDQKLS0tIGEvUkVBRE1F CisrKyBiL1JFQURNRQpAQCAtMTUzLDYgKzE1MywxMiBAQCBUaGUgZm9sbG93aW5nIGRlcGVuZGVu Y2llcyBhcmUgcmVxdWlyZWQgZm9yIGJ1aWxkaW5nIGNoYW1lbGl1bSBzdXBwb3J0CiAJbGliZ2xp YjIuMC1kZXYKIAlsaWJnc2wtZGV2CiAKK1RoZSBmb2xsb3dpbmcgZGVwZW5kZW5jaWVzIGFyZSBy ZXF1aXJlcyBmb3IgYnVpbGRpbmcgYXVkaW8gc3VwcG9ydAorKHBhY2thZ2UgbmFtZXMgbWF5IHZh cnkpOgorCisJbGliYXNvdW5kMi1kZXYKKwlsaWJnc2wtZGV2CisKIFJlbGVhc2VzIGZvciBtYWlu dGFpbmVycwogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKZGlmZiAtLWdpdCBhL2NvbmZpZ3Vy ZS5hYyBiL2NvbmZpZ3VyZS5hYwppbmRleCBlNjYyNzNhNC4uNDFlYzRkMjYgMTAwNjQ0Ci0tLSBh L2NvbmZpZ3VyZS5hYworKysgYi9jb25maWd1cmUuYWMKQEAgLTIyMiw2ICsyMjIsMjMgQEAgZmkK IFBLR19DSEVDS19NT0RVTEVTKEFMU0EsIFthbHNhXSwgW2Fsc2E9eWVzXSwgW2Fsc2E9bm9dKQog QU1fQ09ORElUSU9OQUwoSEFWRV9BTFNBLCBbdGVzdCAieCRhbHNhIiA9IHh5ZXNdKQogCisjIGZv ciBhdWRpbworQUNfQVJHX0VOQUJMRShhdWRpbywgQVNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLWF1 ZGlvXSwKKwkgICAgICBbRW5hYmxlIGJ1aWxkaW5nIG9mIGF1ZGlvIHRlc3RzIChkZWZhdWx0OiBu byldKSwKKwkgICAgICBbaWYgdGVzdCB4JGVuYWJsZXZhbCA9IHh5ZXM7IHRoZW4gZW5hYmxlX2F1 ZGlvPXllczsgZmldLAorCSAgICAgIFtlbmFibGVfYXVkaW89bm9dKQorQU1fQ09ORElUSU9OQUwo SEFWRV9BVURJTywgW3Rlc3QgIngkZW5hYmxlX2F1ZGlvIiA9IHh5ZXNdKQoraWYgdGVzdCAieCRl bmFibGVfYXVkaW8iID0geHllczsgdGhlbgorCWlmIHRlc3QgeCIkYWxzYSIgIT0geHllczsgdGhl bgorCQlBQ19NU0dfRVJST1IoW0ZhaWxlZCB0byBmaW5kIEFMU0EsIHJlcXVpcmVkIGJ5IGF1ZGlv Ll0pCisJZmkKKwlpZiB0ZXN0IHgiJGdzbCIgIT0geHllczsgdGhlbgorCQlBQ19NU0dfRVJST1Io W0ZhaWxlZCB0byBmaW5kIGdzbCwgcmVxdWlyZWQgYnkgYXVkaW8uXSkKKwlmaQorCisJQUNfREVG SU5FKEhBVkVfQVVESU8sIDEsIFtFbmFibGUgQXVkaW8gc3VwcG9ydF0pCitmaQorCiAjIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCiAjCQkJQ29uZmlndXJhdGlvbiBvcHRpb25zCiAjIC0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCkBAIC00MjAsNiArNDM3LDcgQEAgZWNobyAiIgogZWNobyAiIOKAoiBUZXN0czoi CiBlY2hvICIgICAgICAgQnVpbGQgdGVzdHMgICAgICAgIDogJHtCVUlMRF9URVNUU30iCiBlY2hv ICIgICAgICAgQ2hhbWVsaXVtIHRlc3RzICAgIDogJHtlbmFibGVfY2hhbWVsaXVtfSIKK2VjaG8g IiAgICAgICBBdWRpbyB0ZXN0cyAgICAgICAgOiAke2VuYWJsZV9hdWRpb30iCiBlY2hvICIgICAg ICAgQ29tcGlsZSBwcmltZSB0ZXN0czogJHtOT1VWRUFVfSIKIGVjaG8gIiAgICAgICBQcmludCBz dGFjayB0cmFjZXMgOiAke3dpdGhfbGlidW53aW5kfSIKIGVjaG8gIiAgICAgICBEZWJ1ZyBmbGFn cyAgICAgICAgOiAke0RFQlVHX0NGTEFHU30iCmRpZmYgLS1naXQgYS90ZXN0cy9NYWtlZmlsZS5h bSBiL3Rlc3RzL01ha2VmaWxlLmFtCmluZGV4IGY5ZDExZTZjLi40NzFmMzgxOCAxMDA2NDQKLS0t IGEvdGVzdHMvTWFrZWZpbGUuYW0KKysrIGIvdGVzdHMvTWFrZWZpbGUuYW0KQEAgLTIwLDYgKzIw LDE1IEBAIFRFU1RTX3Byb2dzICs9IFwKIAkkKE5VTEwpCiBlbmRpZgogCitpZiBIQVZFX0FMU0EK K2lmIEhBVkVfR1NMCitURVNUU19wcm9ncyArPSBcCisJYXVkaW8gXAorCSQoTlVMTCkKK2VuZGlm CitlbmRpZgorCisKIGlmIEJVSUxEX1RFU1RTCiB0ZXN0LWxpc3QudHh0OiBNYWtlZmlsZS5zb3Vy Y2VzCiAJQGVjaG8gVEVTVExJU1QgPiAkQApAQCAtMTM0LDYgKzE0Myw5IEBAIHZjNF93YWl0X3Nl cW5vX0xEQUREID0gJChMREFERCkgJChEUk1fVkM0X0xJQlMpCiBjaGFtZWxpdW1fQ0ZMQUdTID0g JChBTV9DRkxBR1MpICQoWE1MUlBDX0NGTEFHUykgJChMSUJVREVWX0NGTEFHUykKIGNoYW1lbGl1 bV9MREFERCA9ICQoTERBREQpICQoWE1MUlBDX0xJQlMpICQoTElCVURFVl9MSUJTKQogCithdWRp b19DRkxBR1MgPSAkKEFNX0NGTEFHUykgJChBTFNBX0NGTEFHUykKK2F1ZGlvX0xEQUREID0gJChM REFERCkgJChBTFNBX0xJQlMpCisKIGFtZGdwdV9hbWRfYmFzaWNfQ0ZMQUdTID0gJChBTV9DRkxB R1MpICQoRFJNX0FNREdQVV9DRkxBR1MpCiBhbWRncHVfYW1kX2Jhc2ljX0xEQUREID0gJChMREFE RCkgJChEUk1fQU1ER1BVX0xJQlMpCiBhbWRncHVfYW1kX2NzX25vcF9DRkxBR1MgPSAkKEFNX0NG TEFHUykgJChEUk1fQU1ER1BVX0NGTEFHUykKZGlmZiAtLWdpdCBhL3Rlc3RzL2F1ZGlvLmMgYi90 ZXN0cy9hdWRpby5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwLi43ZmI5MWM5 NwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2F1ZGlvLmMKQEAgLTAsMCArMSwxNzQgQEAKKy8q CisgKiBDb3B5cmlnaHQgwqkgMjAxNyBJbnRlbCBDb3Jwb3JhdGlvbgorICoKKyAqIFBlcm1pc3Np b24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFp bmluZyBhCisgKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRh dGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLAorICogdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUg d2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbgorICogdGhl IHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUs IHN1YmxpY2Vuc2UsCisgKiBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQg dG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUKKyAqIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0 byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICogVGhl IGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2UgKGluY2x1 ZGluZyB0aGUgbmV4dAorICogcGFyYWdyYXBoKSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwgY29w aWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZQorICogU29mdHdhcmUuCisgKgorICog VEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5Z IEtJTkQsIEVYUFJFU1MgT1IKKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQg VE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAorICogRklUTkVTUyBGT1IgQSBQ QVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gIElOIE5PIEVWRU5UIFNIQUxM CisgKiBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBD TEFJTSwgREFNQUdFUyBPUiBPVEhFUgorICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElP TiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKKyAqIEZST00sIE9VVCBP RiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIg REVBTElOR1MKKyAqIElOIFRIRSBTT0ZUV0FSRS4KKyAqCisgKiBBdXRob3JzOgorICogIFBhdWwg S29jaWFsa293c2tpIDxwYXVsLmtvY2lhbGtvd3NraUBsaW51eC5pbnRlbC5jb20+CisgKi8KKwor I2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgImlndC5oIgorCisjZGVmaW5lIFBMQVlCQUNL X0NIQU5ORUxTCTIKKyNkZWZpbmUgUExBWUJBQ0tfRlJBTUVTCQkxMDI0CisKKyNkZWZpbmUgQ0FQ VFVSRV9TQU1QTEVfUkFURQk0ODAwMAorI2RlZmluZSBDQVBUVVJFX0NIQU5ORUxTCTIKKyNkZWZp bmUgQ0FQVFVSRV9ERVZJQ0VfTkFNRQkiZGVmYXVsdCIKKyNkZWZpbmUgQ0FQVFVSRV9GUkFNRVMJ CTIwNDgKKworI2RlZmluZSBSVU5fVElNRU9VVAkJMjAwMAorCitzdHJ1Y3QgdGVzdF9kYXRhIHsK KwlzdHJ1Y3QgYWxzYSAqYWxzYTsKKwlzdHJ1Y3QgYXVkaW9fc2lnbmFsICpzaWduYWw7CisKKwlp bnQgc3RyZWFrOworfTsKKworc3RhdGljIGludCBzYW1wbGluZ19yYXRlc1tdID0geworCTMyMDAw LAorCTQ0MTAwLAorCTQ4MDAwLAorCTg4MjAwLAorCTk2MDAwLAorCTE3NjQwMCwKKwkxOTIwMDAs Cit9OworCitzdGF0aWMgaW50IHNhbXBsaW5nX3JhdGVzX2NvdW50ID0gc2l6ZW9mKHNhbXBsaW5n X3JhdGVzKSAvIHNpemVvZihpbnQpOworCitzdGF0aWMgaW50IHRlc3RfZnJlcXVlbmNpZXNbXSA9 IHsKKwkzMDAsCisJNjAwLAorCTEyMDAsCisJODAwMDAsCisJMTAwMDAsCit9OworCitzdGF0aWMg aW50IHRlc3RfZnJlcXVlbmNpZXNfY291bnQgPSBzaXplb2YodGVzdF9mcmVxdWVuY2llcykgLyBz aXplb2YoaW50KTsKKworc3RhdGljIGludCBvdXRwdXRfY2FsbGJhY2sodm9pZCAqZGF0YSwgc2hv cnQgKmJ1ZmZlciwgaW50IGZyYW1lcykKK3sKKwlzdHJ1Y3QgdGVzdF9kYXRhICp0ZXN0X2RhdGEg PSAoc3RydWN0IHRlc3RfZGF0YSAqKSBkYXRhOworCisJYXVkaW9fc2lnbmFsX2ZpbGwodGVzdF9k YXRhLT5zaWduYWwsIGJ1ZmZlciwgZnJhbWVzKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMg aW50IGlucHV0X2NhbGxiYWNrKHZvaWQgKmRhdGEsIHNob3J0ICpidWZmZXIsIGludCBmcmFtZXMp Cit7CisJc3RydWN0IHRlc3RfZGF0YSAqdGVzdF9kYXRhID0gKHN0cnVjdCB0ZXN0X2RhdGEgKikg ZGF0YTsKKwlib29sIGRldGVjdDsKKworCWRldGVjdCA9IGF1ZGlvX3NpZ25hbF9kZXRlY3QodGVz dF9kYXRhLT5zaWduYWwsIENBUFRVUkVfQ0hBTk5FTFMsCisJCQkJICAgICBDQVBUVVJFX1NBTVBM RV9SQVRFLCBidWZmZXIsIGZyYW1lcyk7CisJaWYgKGRldGVjdCkKKwkJdGVzdF9kYXRhLT5zdHJl YWsrKzsKKwllbHNlCisJCXRlc3RfZGF0YS0+c3RyZWFrID0gMDsKKworCS8qIEEgc3RyZWFrIG9m IDMgZ2l2ZXMgY29uZmlkZW5jZSB0aGF0IHRoZSBzaWduYWwgaXMgZ29vZC4gKi8KKwlpZiAodGVz dF9kYXRhLT5zdHJlYWsgPT0gMykKKwkJcmV0dXJuIDE7CisKKwlyZXR1cm4gMDsKK30KKworc3Rh dGljIHZvaWQgdGVzdF9pbnRlZ3JpdHkoY29uc3QgY2hhciAqZGV2aWNlX25hbWUpCit7CisJc3Ry dWN0IHRlc3RfZGF0YSBkYXRhOworCWludCBzYW1wbGluZ19yYXRlOworCWJvb2wgcnVuID0gZmFs c2U7CisJYm9vbCB0ZXN0OworCWludCBpLCBqOworCWludCByZXQ7CisKKwlkYXRhLmFsc2EgPSBh bHNhX2luaXQoKTsKKwlpZ3RfYXNzZXJ0KGRhdGEuYWxzYSk7CisKKwlyZXQgPSBhbHNhX29wZW5f aW5wdXQoZGF0YS5hbHNhLCBDQVBUVVJFX0RFVklDRV9OQU1FKTsKKwlpZ3RfYXNzZXJ0KHJldCA+ PSAwKTsKKworCWFsc2FfY29uZmlndXJlX2lucHV0KGRhdGEuYWxzYSwgQ0FQVFVSRV9DSEFOTkVM UywKKwkJCSAgICAgQ0FQVFVSRV9TQU1QTEVfUkFURSk7CisKKwlhbHNhX3JlZ2lzdGVyX2lucHV0 X2NhbGxiYWNrKGRhdGEuYWxzYSwgaW5wdXRfY2FsbGJhY2ssICZkYXRhLAorCQkJCSAgICAgQ0FQ VFVSRV9GUkFNRVMpOworCisJZm9yIChpID0gMDsgaSA8IHNhbXBsaW5nX3JhdGVzX2NvdW50OyBp KyspIHsKKwkJcmV0ID0gYWxzYV9vcGVuX291dHB1dChkYXRhLmFsc2EsIGRldmljZV9uYW1lKTsK KwkJaWd0X2Fzc2VydChyZXQgPj0gMCk7CisKKwkJc2FtcGxpbmdfcmF0ZSA9IHNhbXBsaW5nX3Jh dGVzW2ldOworCisJCXRlc3QgPSBhbHNhX3Rlc3Rfb3V0cHV0X2NvbmZpZ3VyYXRpb24oZGF0YS5h bHNhLAorCQkJCQkJICAgICAgUExBWUJBQ0tfQ0hBTk5FTFMsCisJCQkJCQkgICAgICBzYW1wbGlu Z19yYXRlKTsKKwkJaWYgKCF0ZXN0KSB7CisJCQlhbHNhX2Nsb3NlX291dHB1dChkYXRhLmFsc2Ep OworCQkJY29udGludWU7CisJCX0KKworCQlpZ3RfZGVidWcoIlRlc3Rpbmcgd2l0aCBzYW1wbGlu ZyByYXRlICVkXG4iLCBzYW1wbGluZ19yYXRlKTsKKworCQlhbHNhX2NvbmZpZ3VyZV9vdXRwdXQo ZGF0YS5hbHNhLCBQTEFZQkFDS19DSEFOTkVMUywKKwkJCQkgICAgICAgc2FtcGxpbmdfcmF0ZSk7 CisKKwkJZGF0YS5zaWduYWwgPSBhdWRpb19zaWduYWxfaW5pdChQTEFZQkFDS19DSEFOTkVMUywK KwkJCQkJCXNhbXBsaW5nX3JhdGUpOworCQlpZ3RfYXNzZXJ0KGRhdGEuc2lnbmFsKTsKKworCQlm b3IgKGogPSAwOyBqIDwgdGVzdF9mcmVxdWVuY2llc19jb3VudDsgaisrKQorCQkJYXVkaW9fc2ln bmFsX2FkZF9mcmVxdWVuY3koZGF0YS5zaWduYWwsCisJCQkJCQkgICB0ZXN0X2ZyZXF1ZW5jaWVz W2pdKTsKKworCQlhdWRpb19zaWduYWxfc3ludGhlc2l6ZShkYXRhLnNpZ25hbCk7CisKKwkJYWxz YV9yZWdpc3Rlcl9vdXRwdXRfY2FsbGJhY2soZGF0YS5hbHNhLCBvdXRwdXRfY2FsbGJhY2ssCisJ CQkJCSAgICAgICZkYXRhLCBQTEFZQkFDS19GUkFNRVMpOworCisJCWRhdGEuc3RyZWFrID0gMDsK KworCQlyZXQgPSBhbHNhX3J1bihkYXRhLmFsc2EsIFJVTl9USU1FT1VUKTsKKwkJaWd0X2Fzc2Vy dChyZXQgPiAwKTsKKworCQlhdWRpb19zaWduYWxfY2xlYW4oZGF0YS5zaWduYWwpOworCQlmcmVl KGRhdGEuc2lnbmFsKTsKKworCQlhbHNhX2Nsb3NlX291dHB1dChkYXRhLmFsc2EpOworCisJCXJ1 biA9IHRydWU7CisJfQorCisJLyogTWFrZSBzdXJlIHdlIHRlc3RlZCBhdCBsZWFzdCBvbmUgZnJl cXVlbmN5ICovCisJaWd0X2Fzc2VydChydW4pOworCisJYWxzYV9jbG9zZV9pbnB1dChkYXRhLmFs c2EpOworCWZyZWUoZGF0YS5hbHNhKTsKK30KKworaWd0X21haW4KK3sKKwlpZ3Rfc3VidGVzdCgi aGRtaS1pbnRlZ3JpdHkiKQorCQl0ZXN0X2ludGVncml0eSgiSERNSSIpOworfQotLSAKMi4xNC4w CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1n ZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK