From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM02-CY1-obe.outbound.protection.outlook.com (mail-eopbgr760057.outbound.protection.outlook.com [40.107.76.57]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9AD1B6E293 for ; Wed, 11 Sep 2019 14:29:53 +0000 (UTC) From: "Kazlauskas, Nicholas" Date: Wed, 11 Sep 2019 14:29:51 +0000 Message-ID: <308a2ff8-a9cf-64e4-22e0-80ceb2f9c6fd@amd.com> References: <20190911141124.1130-1-stylon.wang@amd.com> In-Reply-To: <20190911141124.1130-1-stylon.wang@amd.com> Content-Language: en-US Content-ID: <545F0D0CE6DE74479BAF10B8999BEF66@namprd12.prod.outlook.com> MIME-Version: 1.0 Subject: Re: [igt-dev] [PATCH i-g-t] tools/amd_hdmi_compliance_yuv420: Test 4K video modes with YUV encoding 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: "Wang, Chao-kai (Stylon)" , "igt-dev@lists.freedesktop.org" List-ID: T24gMjAxOS0wOS0xMSAxMDoxMSBhLm0uLCBXYW5nLCBDaGFvLWthaSAoU3R5bG9uKSB3cm90ZToN Cj4gRnJvbTogU3R5bG9uIFdhbmcgPHN0eWxvbi53YW5nQGFtZC5jb20+DQo+IA0KPiBIRE1JIDIu MCBjb21wbGlhbmNlIHRlc3RzIG5lZWRzIDRLIG1vZGVzIHdpdGggWVVWIGVuY29kaW5nLg0KPiBU aGlzIHRlc3Qgc2VsZWN0cyA0SyBtb2RlcyBiYXNlZCBvbiBzcGVjaWZpZWQgVklDLg0KDQpJdCBo ZWxwcyB0byBub3RlIHdoYXQgY2hhbmdlZCBpbiBhIHBhdGNoIHNlcmllcyBpbiBib3RoIHRoZSBw YXRjaCB0aXRsZSANCmFuZCBpbiB0aGUgY29tbWl0IG1lc3NhZ2UgaGVyZS4NCg0KWW91IGNhbiBh ZGQgYSB2MiB0byB0aGUgcGF0Y2ggaGVhZGVyIGJ5IGFwcGVuZGluZyBhIC12MiB0byB5b3VyIGNv bW1hbmQsIGVnOg0KDQoiZ2l0IHNlbmQtZW1haWwgLXYyIC4uLiINCg0KQW5kIGluIHRoZSBjb21t aXQgZGVzY3JpcHRpb24geW91IHNob3VsZCBkbyBzb21ldGhpbmcgbGlrZToNCg0KdjI6DQotIGV4 YW1wbGUgY2hhbmdlIDENCi0gZXhhbXBsZSBjaGFuZ2UgMg0KDQpPdGhlciB0aGFuIHRoYXQsIEkg ZG8gaGF2ZSBzb21lIGdlbmVyYWwgY29tbWVudHMgYW5kIG5pdHBpY2tzOg0KDQpJIHRoaW5rIHRo aXMgdG9vbCBtaWdodCBiZSBiZXR0ZXIgb2ZmIG5hbWVkIGFzIGp1c3QgYW1kX2hkbWlfY29tcGxp YW5jZSANCnNvIHdlIGNhbiBleHBhbmQgb24gdGhpcyBsYXRlci4NCg0KTmljaG9sYXMgS2F6bGF1 c2thcw0KDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBTdHlsb24gV2FuZyA8c3R5bG9uLndhbmdAYW1k LmNvbT4NCj4gLS0tDQo+ICAgdG9vbHMvTWFrZWZpbGUuYW0gICAgICAgICAgICAgICAgICB8ICAg MyArDQo+ICAgdG9vbHMvTWFrZWZpbGUuc291cmNlcyAgICAgICAgICAgICB8ICAgNCArDQo+ICAg dG9vbHMvYW1kX2hkbWlfY29tcGxpYW5jZV95dXY0MjAuYyB8IDE5MyArKysrKysrKysrKysrKysr KysrKysrKysrKysrKw0KPiAgIHRvb2xzL21lc29uLmJ1aWxkICAgICAgICAgICAgICAgICAgfCAg IDUgKw0KPiAgIDQgZmlsZXMgY2hhbmdlZCwgMjA1IGluc2VydGlvbnMoKykNCj4gICBjcmVhdGUg bW9kZSAxMDA2NDQgdG9vbHMvYW1kX2hkbWlfY29tcGxpYW5jZV95dXY0MjAuYw0KPiANCj4gZGlm ZiAtLWdpdCBhL3Rvb2xzL01ha2VmaWxlLmFtIGIvdG9vbHMvTWFrZWZpbGUuYW0NCj4gaW5kZXgg NGY1NDcyMGYuLjFhMjNlMDc4IDEwMDY0NA0KPiAtLS0gYS90b29scy9NYWtlZmlsZS5hbQ0KPiAr KysgYi90b29scy9NYWtlZmlsZS5hbQ0KPiBAQCAtMTEsNiArMTEsOSBAQCBiaW5fUFJPR1JBTVMg Kz0gaW50ZWxfZHBfY29tcGxpYW5jZQ0KPiAgIGludGVsX2RwX2NvbXBsaWFuY2VfQ0ZMQUdTID0g JChBTV9DRkxBR1MpICQoR0xJQl9DRkxBR1MpDQo+ICAgaW50ZWxfZHBfY29tcGxpYW5jZV9MREFE RCA9ICQodG9wX2J1aWxkZGlyKS9saWIvbGliaW50ZWxfdG9vbHMubGENCj4gICANCj4gK2Jpbl9Q Uk9HUkFNUyArPSBhbWRfaGRtaV9jb21wbGlhbmNlX3l1djQyMA0KPiArYW1kX2hkbWlfY29tcGxp YW5jZV95dXY0MjBfQ0ZMQUdTID0gJChBTV9DRkxBR1MpICQoR0xJQl9DRkxBR1MpDQo+ICsNCj4g ICBTVUJESVJTID0gbnVsbF9zdGF0ZV9nZW4gcmVnaXN0ZXJzDQo+ICAgDQo+ICAgQU1fQ1BQRkxB R1MgPSAtSSQodG9wX3NyY2RpcikgLUkkKHRvcF9zcmNkaXIpL2luY2x1ZGUvZHJtLXVhcGkgLUkk KHRvcF9zcmNkaXIpL2xpYiBcDQo+IGRpZmYgLS1naXQgYS90b29scy9NYWtlZmlsZS5zb3VyY2Vz IGIvdG9vbHMvTWFrZWZpbGUuc291cmNlcw0KPiBpbmRleCA1MDcwNmY0MS4uODE5NmNiNTkgMTAw NjQ0DQo+IC0tLSBhL3Rvb2xzL01ha2VmaWxlLnNvdXJjZXMNCj4gKysrIGIvdG9vbHMvTWFrZWZp bGUuc291cmNlcw0KPiBAQCAtNjYsMyArNjYsNyBAQCBpbnRlbF9kcF9jb21wbGlhbmNlX1NPVVJD RVMgPSBcDQo+ICAgICAgICAgICBpbnRlbF9kcF9jb21wbGlhbmNlX2hvdHBsdWcuYyBcDQo+ICAg ICAgICAgICAkKE5VTEwpDQo+ICAgDQo+ICthbWRfaGRtaV9jb21wbGlhbmNlX3l1djQyMF9TT1VS Q0VTID0gXA0KPiArICAgICAgICBhbWRfaGRtaV9jb21wbGlhbmNlX3l1djQyMC5jIFwNCj4gKwkJ JChOVUxMKQ0KPiArDQo+IGRpZmYgLS1naXQgYS90b29scy9hbWRfaGRtaV9jb21wbGlhbmNlX3l1 djQyMC5jIGIvdG9vbHMvYW1kX2hkbWlfY29tcGxpYW5jZV95dXY0MjAuYw0KPiBuZXcgZmlsZSBt b2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMC4uNWY1ZWFlMmMNCj4gLS0tIC9kZXYvbnVsbA0K PiArKysgYi90b29scy9hbWRfaGRtaV9jb21wbGlhbmNlX3l1djQyMC5jDQo+IEBAIC0wLDAgKzEs MTkzIEBADQo+ICsvKg0KPiArICogQ29weXJpZ2h0IDIwMTkgQWR2YW5jZWQgTWljcm8gRGV2aWNl cywgSW5jLg0KPiArICoNCj4gKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUg b2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhDQo+ICsgKiBjb3B5IG9mIHRoaXMg c29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2Fy ZSIpLA0KPiArICogdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwg aW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbg0KPiArICogdGhlIHJpZ2h0cyB0byB1c2UsIGNv cHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsDQo+ICsg KiBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNv bnMgdG8gd2hvbSB0aGUNCj4gKyAqIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3Vi amVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6DQo+ICsgKg0KPiArICogVGhlIGFib3Zl IGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5j bHVkZWQgaW4NCj4gKyAqIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhl IFNvZnR3YXJlLg0KPiArICoNCj4gKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMi LCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SDQo+ICsgKiBJTVBMSUVE LCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5U QUJJTElUWSwNCj4gKyAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05J TkZSSU5HRU1FTlQuICBJTiBOTyBFVkVOVCBTSEFMTA0KPiArICogVEhFIENPUFlSSUdIVCBIT0xE RVIoUykgT1IgQVVUSE9SKFMpIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SDQo+ ICsgKiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBU T1JUIE9SIE9USEVSV0lTRSwNCj4gKyAqIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5F Q1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUg0KPiArICogT1RIRVIgREVBTElO R1MgSU4gVEhFIFNPRlRXQVJFLg0KPiArICovDQo+ICsNCj4gKyNpbmNsdWRlICJpZ3QuaCINCj4g Kw0KPiArLyogQ29tbW9uIHRlc3QgZGF0YSAqLw0KPiArdHlwZWRlZiBzdHJ1Y3QgZGF0YSB7DQo+ ICsJc3RydWN0IGlndF9mYiBwYXR0ZXJuX2ZiX2luZm87DQo+ICsJaW50IGZkOw0KPiArCWlndF9k aXNwbGF5X3QgZGlzcGxheTsNCj4gKwlpZ3RfcGxhbmVfdCAqcHJpbWFyeTsNCj4gKwlpZ3Rfb3V0 cHV0X3QgKm91dHB1dDsNCj4gKwlpZ3RfcGlwZV90ICpwaXBlOw0KPiArCWVudW0gcGlwZSBwaXBl X2lkOw0KPiArCWJvb2wgdXNlX3ZpcnR1YWxfY29ubmVjdG9yOw0KPiArfSBkYXRhX3Q7DQo+ICsN Cj4gKy8vIFZpZGVvIG1vZGVzIGluZGV4ZWQgYnkgVklDDQoNCklHVCB1c2VzIGtlcm5lbCBzdHls ZSBmb3JtYXR0aW5nIHNvIHRoaXMgY29tbWVudCBzaG91bGQgYmU6DQoNCi8qIFZpZGVvIG1vZGVz IGluZGV4ZWQgYnkgVklDICovDQoNCj4gK3N0YXRpYyBkcm1Nb2RlTW9kZUluZm8gdGVzdF9tb2Rl c1tdID0gew0KPiArCVsxXSA9IHsgMjUxNzUsDQo+ICsJCQk2NDAsIDY1NiwgNzUyLCA4MDAsIDAs DQo+ICsJCQk0ODAsIDQ4OSwgNDkyLCA1MjUsIDAsDQo+ICsJCQk2MCwgMHhhLCAweDQwLA0KPiAr CQkJIjY0MHg0ODAiLAkvKiBWSUMgMSAqLw0KPiArCX0sDQo+ICsJWzk2XSA9IHsgNTk0MDAwLA0K PiArCQkJIDM4NDAsIDQ4OTYsIDQ5ODQsIDUyODAsIDAsDQo+ICsJCQkgMjE2MCwgMjE2OCwgMjE3 OCwgMjI1MCwgMCwNCj4gKwkJCTUwLCAweDV8RFJNX01PREVfRkxBR19QSUNfQVJfMTZfOSwgMHg0 MCwNCj4gKwkJCSIzODQweDIxNjAiLAkvKiBWSUMgOTYgKi8NCj4gKwl9LA0KPiArCVs5N10gPSB7 IDU5NDAwMCwNCj4gKwkJCTM4NDAsIDQwMTYsIDQxMDQsIDQ0MDAsIDAsDQo+ICsJCQkyMTYwLCAy MTY4LCAyMTc4LCAyMjUwLCAwLA0KPiArCQkJNjAsIDB4NXxEUk1fTU9ERV9GTEFHX1BJQ19BUl8x Nl85LCAweDQwLA0KPiArCQkJIjM4NDB4MjE2MCIsCS8qIFZJQyA5NyAqLw0KPiArCX0sDQo+ICsJ WzEwMV0gPSB7IDU5NDAwMCwNCj4gKwkJCSAgNDA5NiwgNTA2NCwgNTE1MiwgNTI4MCwgMCwNCj4g KwkJCSAgMjE2MCwgMjE2OCwgMjE3OCwgMjI1MCwgMCwNCj4gKwkJCSAgNTAsIDB4NXxEUk1fTU9E RV9GTEFHX1BJQ19BUl8yNTZfMTM1LCAweDQwLA0KPiArCQkJICAiNDA5NngyMTYwIiwJLyogVklD IDEwMSAqLw0KPiArCX0sDQo+ICsJWzEwMl0gPSB7IDU5NDAwMCwNCj4gKwkJCSAgNDA5NiwgNDE4 NCwgNDI3MiwgNDQwMCwgMCwNCj4gKwkJCSAgMjE2MCwgMjE2OCwgMjE3OCwgMjI1MCwgMCwNCj4g KwkJCSAgNjAsIDB4NXxEUk1fTU9ERV9GTEFHX1BJQ19BUl8yNTZfMTM1LCAweDQwLA0KPiArCQkJ ICAiNDA5NngyMTYwIiwJLyogVklDIDEwMiAqLw0KPiArCX0sDQo+ICsJWzEwNl0gPSB7IDU5NDAw MCwNCj4gKwkJCSAzODQwLCA0ODk2LCA0OTg0LCA1MjgwLCAwLA0KPiArCQkJIDIxNjAsIDIxNjgs IDIxNzgsIDIyNTAsIDAsDQo+ICsJCQk1MCwgMHg1fERSTV9NT0RFX0ZMQUdfUElDX0FSXzY0XzI3 LCAweDQwLA0KPiArCQkJIjM4NDB4MjE2MCIsCS8qIFZJQyAxMDYgKi8NCj4gKwl9LA0KPiArCVsx MDddID0geyA1OTQwMDAsDQo+ICsJCQkzODQwLCA0MDE2LCA0MTA0LCA0NDAwLCAwLA0KPiArCQkJ MjE2MCwgMjE2OCwgMjE3OCwgMjI1MCwgMCwNCj4gKwkJCTYwLCAweDV8RFJNX01PREVfRkxBR19Q SUNfQVJfNjRfMjcsIDB4NDAsDQo+ICsJCQkiMzg0MHgyMTYwIiwJLyogVklDIDEwNyAqLw0KPiAr CX0sDQo+ICt9Ow0KPiArDQo+ICsvKiBDb21tb24gdGVzdCBzZXR1cC4gKi8NCj4gK3N0YXRpYyB2 b2lkIHRlc3RfaW5pdChkYXRhX3QgKmRhdGEpDQo+ICt7DQo+ICsJaWd0X2Rpc3BsYXlfdCAqZGlz cGxheSA9ICZkYXRhLT5kaXNwbGF5Ow0KPiArDQo+ICsJZGF0YS0+cGlwZV9pZCA9IFBJUEVfQTsN Cj4gKwlkYXRhLT5waXBlID0gJmRhdGEtPmRpc3BsYXkucGlwZXNbZGF0YS0+cGlwZV9pZF07DQo+ ICsNCj4gKwlpZ3RfZGlzcGxheV9yZXNldChkaXNwbGF5KTsNCj4gKw0KPiArCS8qIGZpbmQgYSBj b25uZWN0ZWQgSERNSSBvdXRwdXQgKi8NCj4gKwlkYXRhLT5vdXRwdXQgPSBOVUxMOw0KPiArCWZv ciAoaW50IGk9MDsgaSA8IGRhdGEtPmRpc3BsYXkubl9vdXRwdXRzOyArK2kpIHsNCj4gKwkJZHJt TW9kZUNvbm5lY3RvciAqY29ubmVjdG9yID0gZGF0YS0+ZGlzcGxheS5vdXRwdXRzW2ldLmNvbmZp Zy5jb25uZWN0b3I7DQo+ICsJCWlmIChjb25uZWN0b3ItPmNvbm5lY3Rpb24gPT0gRFJNX01PREVf Q09OTkVDVEVEICYmDQo+ICsJCQkJKGNvbm5lY3Rvci0+Y29ubmVjdG9yX3R5cGUgPT0gRFJNX01P REVfQ09OTkVDVE9SX0hETUlBIHx8DQo+ICsJCQkJIChkYXRhLT51c2VfdmlydHVhbF9jb25uZWN0 b3IgJiYNCj4gKwkJCQkgIGNvbm5lY3Rvci0+Y29ubmVjdG9yX3R5cGUgPT0gRFJNX01PREVfQ09O TkVDVE9SX1ZJUlRVQUwpKSkgew0KPiArCQkJZGF0YS0+b3V0cHV0ID0gJmRhdGEtPmRpc3BsYXku b3V0cHV0c1tpXTsNCj4gKwkJfQ0KPiArCX0NCj4gKw0KPiArCWlndF9yZXF1aXJlKGRhdGEtPm91 dHB1dCk7DQo+ICsNCj4gKwlkYXRhLT5wcmltYXJ5ID0NCj4gKwkJaWd0X3BpcGVfZ2V0X3BsYW5l X3R5cGUoZGF0YS0+cGlwZSwgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSk7DQo+ICsNCj4gKwlpZ3Rf b3V0cHV0X3NldF9waXBlKGRhdGEtPm91dHB1dCwgZGF0YS0+cGlwZV9pZCk7DQo+ICsNCj4gK30N Cj4gKw0KPiArLyogQ29tbW9uIHRlc3QgY2xlYW51cC4gKi8NCj4gK3N0YXRpYyB2b2lkIHRlc3Rf ZmluaShkYXRhX3QgKmRhdGEpDQo+ICt7DQo+ICsJaWd0X2Rpc3BsYXlfcmVzZXQoJmRhdGEtPmRp c3BsYXkpOw0KPiArfQ0KPiArDQo+ICtzdGF0aWMgdm9pZCB0ZXN0X3ZpY19tb2RlKGRhdGFfdCAq ZGF0YSwgaW50IHZpYykNCj4gK3sNCj4gKwlpZ3RfZGlzcGxheV90ICpkaXNwbGF5ID0gJmRhdGEt PmRpc3BsYXk7DQo+ICsJZHJtTW9kZU1vZGVJbmZvICptb2RlOw0KPiArCWlndF9mYl90IGFmYjsN Cj4gKw0KPiArCXRlc3RfaW5pdChkYXRhKTsNCj4gKw0KPiArCW1vZGUgPSAmdGVzdF9tb2Rlc1t2 aWNdOw0KPiArDQo+ICsJaWd0X291dHB1dF9vdmVycmlkZV9tb2RlKGRhdGEtPm91dHB1dCwgbW9k ZSk7DQo+ICsNCj4gKwlpZ3RfY3JlYXRlX3BhdHRlcm5fZmIoZGF0YS0+ZmQsIG1vZGUtPmhkaXNw bGF5LCBtb2RlLT52ZGlzcGxheSwgRFJNX0ZPUk1BVF9YUkdCODg4OCwgMCwgJmFmYik7DQo+ICsN Cj4gKwlpZ3RfcGxhbmVfc2V0X2ZiKGRhdGEtPnByaW1hcnksICZhZmIpOw0KPiArDQo+ICsJaWd0 X2Rpc3BsYXlfY29tbWl0X2F0b21pYyhkaXNwbGF5LCBEUk1fTU9ERV9BVE9NSUNfQUxMT1dfTU9E RVNFVCwgTlVMTCk7DQo+ICsNCj4gKwlmcHJpbnRmKHN0ZGVyciwgIlByZXNzIFtFbnRlcl0gdG8g ZmluaXNoXG4iKTsNCg0KSSB0aGluayBpZ3RfaW5mbyguLi4pIGlzIHByZWZlcnJlZCBoZXJlIG92 ZXIgZnByaW50ZiBkaXJlY3RseS4NCg0KPiArCWdldGNoYXIoKTsNCkkgdW5kZXJzdGFuZCB0aGF0 IHlvdSBhcmVuJ3QgdXNpbmcgaWd0X2RlYnVnX3dhaXRfZm9yX2tleXByZXNzIGhlcmUsIGJ1dCAN CkkgdGhpbmsgYW4gaW1wcm92ZW1lbnQgdGhhdCBjb3VsZCBiZSBtYWRlIGlzIHRvIGV4dHJhY3Qg dGhpcyBvdXQgaW50byBhIA0Kc3ViIGZ1bmN0aW9uIHRoYXQgd2FpdHMgZXhwbGljaXRseSBmb3Ig dGhlIG5ld2xpbmU6DQoNCnN0YXRpYyB2b2lkIHdhaXRfZm9yX2tleXByZXNzKHZvaWQpDQp7DQoJ d2hpbGUgKGdldGNoYXIoKSAhPSAnXG4nKQ0KCQk7DQp9DQoNCj4gKw0KPiArCXRlc3RfZmluaShk YXRhKTsNCj4gK30NCj4gKw0KPiArY29uc3QgY2hhciAqb3B0c3RyID0gImh2dDoiOw0KPiArc3Rh dGljIHZvaWQgdXNhZ2UoY29uc3QgY2hhciAqbmFtZSkNCj4gK3sNCj4gKwlmcHJpbnRmKHN0ZGVy ciwgIlVzYWdlOiAlcyBbLWh0XVxuIiwgbmFtZSk7DQo+ICsJZnByaW50ZihzdGRlcnIsICItaDoJ c2hvdyBoZWxwXG4iKTsNCj4gKwlmcHJpbnRmKHN0ZGVyciwgIi10IHZpYzogc2VsZWN0IHZpZGVv IG1vZGUgYmFzZWQgb24gVklDXG4iKTsNCj4gKwlmcHJpbnRmKHN0ZGVyciwgIi12Ogl0ZXN0IG9u ICdWaXJ0dWFsJyBjb25uZWN0b3IgYXMgd2VsbCwgZm9yIGRlYnVnZ2luZy5cbiIpOw0KDQppZ3Rf aW5mbyguLi4pIGlmIHBvc3NpYmxlIGhlcmUNCg0KPiArfQ0KPiArDQo+ICtpbnQgbWFpbihpbnQg YXJnYywgY2hhciAqKmFyZ3YpDQo+ICt7DQo+ICsJZGF0YV90IGRhdGE7DQo+ICsJaW50IGM7DQo+ ICsJaW50IHZpYyA9IDE7IC8qIGRlZmF1bHQgdG8gVklDIDEgKDY0MHg0ODApICovDQo+ICsNCj4g KwltZW1zZXQoJmRhdGEsIDAsIHNpemVvZihkYXRhKSk7DQo+ICsNCj4gKwl3aGlsZSgoYyA9IGdl dG9wdChhcmdjLCBhcmd2LCBvcHRzdHIpKSAhPSAtMSkgew0KPiArCQlzd2l0Y2goYykgew0KPiAr CQljYXNlICd0JzoNCj4gKwkJCXZpYyA9IGF0b2kob3B0YXJnKTsNCj4gKwkJCWJyZWFrOw0KPiAr CQljYXNlICd2JzoNCj4gKwkJCWRhdGEudXNlX3ZpcnR1YWxfY29ubmVjdG9yID0gdHJ1ZTsNCj4g KwkJCWJyZWFrOw0KPiArCQlkZWZhdWx0Og0KPiArCQljYXNlICdoJzoNCj4gKwkJCXVzYWdlKGFy Z3ZbMF0pOw0KPiArCQkJZXhpdCgxKTsNCj4gKwkJfQ0KPiArCX0NCj4gKw0KPiArCWlmICh2aWMg PCAxIHx8DQo+ICsJCXZpYyA+IEFSUkFZX1NJWkUodGVzdF9tb2RlcykgfHwNCj4gKwkJIXRlc3Rf bW9kZXNbdmljXS5uYW1lWzBdKSB7DQo+ICsJCWZwcmludGYoc3RkZXJyLCAiVklDICVkIGlzIG5v dCBzdXBwb3J0ZWRcbiIsIHZpYyk7DQoNCmlndF9pbmZvKC4uLikgaWYgcG9zc2libGUgaGVyZQ0K DQo+ICsJCWV4aXQoMSk7DQo+ICsJfQ0KPiArDQo+ICsJZGF0YS5mZCA9IGRybV9vcGVuX2RyaXZl cl9tYXN0ZXIoRFJJVkVSX0FOWSk7DQo+ICsJa21zdGVzdF9zZXRfdnRfZ3JhcGhpY3NfbW9kZSgp Ow0KPiArDQo+ICsJaWd0X2Rpc3BsYXlfcmVxdWlyZSgmZGF0YS5kaXNwbGF5LCBkYXRhLmZkKTsN Cj4gKwlpZ3RfcmVxdWlyZShkYXRhLmRpc3BsYXkuaXNfYXRvbWljKTsNCj4gKwlpZ3RfZGlzcGxh eV9yZXF1aXJlX291dHB1dCgmZGF0YS5kaXNwbGF5KTsNCj4gKw0KPiArCXRlc3RfdmljX21vZGUo JmRhdGEsIHZpYyk7DQo+ICsNCj4gKwlpZ3RfZGlzcGxheV9maW5pKCZkYXRhLmRpc3BsYXkpOw0K PiArfQ0KPiBkaWZmIC0tZ2l0IGEvdG9vbHMvbWVzb24uYnVpbGQgYi90b29scy9tZXNvbi5idWls ZA0KPiBpbmRleCA2ZTcyYjI2My4uZmEzNjZhYjIgMTAwNjQ0DQo+IC0tLSBhL3Rvb2xzL21lc29u LmJ1aWxkDQo+ICsrKyBiL3Rvb2xzL21lc29uLmJ1aWxkDQo+IEBAIC0xMDAsNiArMTAwLDExIEBA IGV4ZWN1dGFibGUoJ2ludGVsX2dwdV90b3AnLCAnaW50ZWxfZ3B1X3RvcC5jJywNCj4gICAJICAg aW5zdGFsbF9ycGF0aCA6IGJpbmRpcl9ycGF0aGRpciwNCj4gICAJICAgZGVwZW5kZW5jaWVzIDog bGliX2lndF9wZXJmKQ0KPiAgIA0KPiArZXhlY3V0YWJsZSgnYW1kX2hkbWlfY29tcGxpYW5jZV95 dXY0MjAnLCAnYW1kX2hkbWlfY29tcGxpYW5jZV95dXY0MjAuYycsDQo+ICsJICAgZGVwZW5kZW5j aWVzIDogW3Rvb2xfZGVwc10sDQo+ICsJICAgaW5zdGFsbF9ycGF0aCA6IGJpbmRpcl9ycGF0aGRp ciwNCj4gKwkgICBpbnN0YWxsIDogdHJ1ZSkNCj4gKw0KPiAgIGNvbmZfZGF0YSA9IGNvbmZpZ3Vy YXRpb25fZGF0YSgpDQo+ICAgY29uZl9kYXRhLnNldCgncHJlZml4JywgcHJlZml4KQ0KPiAgIGNv bmZfZGF0YS5zZXQoJ2V4ZWNfcHJlZml4JywgJyR7cHJlZml4fScpDQo+IA0KDQpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwppZ3QtZGV2IG1haWxpbmcgbGlz dAppZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lndC1kZXY=