From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7D7298949C for ; Wed, 12 Jun 2019 10:54:20 +0000 (UTC) From: "Ser, Simon" Date: Wed, 12 Jun 2019 10:54:16 +0000 Message-ID: References: <20190606114852.24053-1-simon.ser@intel.com> <20190606114852.24053-2-simon.ser@intel.com> <3a6d6e17-725d-f796-4c8c-aa9ec1de7fc2@linux.intel.com> In-Reply-To: <3a6d6e17-725d-f796-4c8c-aa9ec1de7fc2@linux.intel.com> Content-Language: en-US Content-ID: MIME-Version: 1.0 Subject: Re: [igt-dev] [PATCH i-g-t 1/3] lib/igt_kms: generate an EDID suitable for DP audio 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: "igt-dev@lists.freedesktop.org" , "martin.peres@linux.intel.com" Cc: "Peres, Martin" List-ID: T24gV2VkLCAyMDE5LTA2LTEyIGF0IDEzOjMxICswMzAwLCBNYXJ0aW4gUGVyZXMgd3JvdGU6DQo+ IE9uIDA2LzA2LzIwMTkgMTQ6NDgsIFNpbW9uIFNlciB3cm90ZToNCj4gPiBQcmlvciB0byB0aGlz IGNvbW1pdCwgd2Ugd2VyZSB1c2luZyB0aGUgQ2hhbWVsaXVtJ3MgZGVmYXVsdCBFRElEIGZvciBE UCBhdWRpby4NCj4gPiBUaGlzIHJlbGllcyBvbiB0aGUgZmFjdCB0aGF0IHRoaXMgRURJRCBzdXBw b3J0cyBhdWRpbyBhbmQgaGFzIGNvcnJlY3QgYXVkaW8NCj4gPiBwYXJlbWV0ZXJzIGZvciBvdXIg dGVzdGluZy4NCj4gPiANCj4gPiBHZW5lcmF0aW5nIG91ciBvd24gRURJRCBpcyBsZXNzIGVycm9y LXByb25lIGFuZCB3aWxsIGFsbG93IHVzIHRvIHRlc3QgZGlmZmVyZW50DQo+ID4gYXVkaW8gcGFy YW1ldGVycy4NCj4gPiANCj4gPiB2MjoNCj4gPiAtIFJlcGxhY2Uge0hETUksRFB9X0FVRElPX0VE SURfTEVOR1RIIHdpdGggQVVESU9fRURJRF9MRU5HVEggKEFyZWspDQo+ID4gLSBEb24ndCBoYXJk Y29kZSBFRElEcyBhcnJheSBsZW5ndGggKEFyZWspDQo+ID4gDQo+ID4gU2lnbmVkLW9mZi1ieTog U2ltb24gU2VyIDxzaW1vbi5zZXJAaW50ZWwuY29tPg0KPiA+IC0tLQ0KPiA+ICBsaWIvaWd0X2tt cy5jICAgICAgICAgICB8IDQ2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0t LS0tDQo+ID4gIGxpYi9pZ3Rfa21zLmggICAgICAgICAgIHwgIDMgKystDQo+ID4gIHRlc3RzL2tt c19jaGFtZWxpdW0uYyAgIHwgMTAgKysrKysrLS0tDQo+ID4gIHRlc3RzL2ttc19oZG1pX2luamVj dC5jIHwgIDIgKy0NCj4gPiAgNCBmaWxlcyBjaGFuZ2VkLCA0NyBpbnNlcnRpb25zKCspLCAxNCBk ZWxldGlvbnMoLSkNCj4gPiANCj4gPiBkaWZmIC0tZ2l0IGEvbGliL2lndF9rbXMuYyBiL2xpYi9p Z3Rfa21zLmMNCj4gPiBpbmRleCBkN2Q3MTFhNzJkMjcuLjAxMWIwNjQ1NzlhOCAxMDA2NDQNCj4g PiAtLS0gYS9saWIvaWd0X2ttcy5jDQo+ID4gKysrIGIvbGliL2lndF9rbXMuYw0KPiA+IEBAIC0x ODMsOSArMTgzLDkgQEAgY29uc3QgdW5zaWduZWQgY2hhciAqaWd0X2ttc19nZXRfYWx0X2VkaWQo dm9pZCkNCj4gPiAgfQ0KPiA+ICANCj4gPiAgc3RhdGljIHZvaWQNCj4gPiAtZ2VuZXJhdGVfaGRt aV9hdWRpb19lZGlkKHVuc2lnbmVkIGNoYXIgcmF3X2VkaWRbc3RhdGljIEhETUlfQVVESU9fRURJ RF9MRU5HVEhdLA0KPiA+IC0JCQkgc3RydWN0IGNlYV9zYWQgKnNhZCwNCj4gPiAtCQkJIHN0cnVj dCBjZWFfc3BlYWtlcl9hbGxvYyAqc3BlYWtlcl9hbGxvYykNCj4gPiArZ2VuZXJhdGVfYXVkaW9f ZWRpZCh1bnNpZ25lZCBjaGFyIHJhd19lZGlkW3N0YXRpYyBBVURJT19FRElEX0xFTkdUSF0sDQo+ ID4gKwkJICAgIGJvb2wgd2l0aF92c2QsIHN0cnVjdCBjZWFfc2FkICpzYWQsDQo+IA0KPiB3aXRo X3ZzZCBpcyBub3QgZXhhY3RseSBzdXBlciBjbGVhciBhcyB0byB3aGF0IGl0IGRvZXMsIHJpZ2h0 PyBIb3cgYWJvdXQNCj4gd2l0aF9oZG1pX2F1ZGlvX3ZzZD8NCg0KTWFrZXMgc2Vuc2UuDQoNCj4g PiArCQkgICAgc3RydWN0IGNlYV9zcGVha2VyX2FsbG9jICpzcGVha2VyX2FsbG9jKQ0KPiA+ICB7 DQo+ID4gIAlzdHJ1Y3QgZWRpZCAqZWRpZDsNCj4gPiAgCXN0cnVjdCBlZGlkX2V4dCAqZWRpZF9l eHQ7DQo+ID4gQEAgLTIxMCwxMCArMjEwLDEyIEBAIGdlbmVyYXRlX2hkbWlfYXVkaW9fZWRpZCh1 bnNpZ25lZCBjaGFyIHJhd19lZGlkW3N0YXRpYyBIRE1JX0FVRElPX0VESURfTEVOR1RIXSwNCj4g PiAgCWNlYV9kYXRhX3NpemUgKz0gZWRpZF9jZWFfZGF0YV9ibG9ja19zZXRfc2FkKGJsb2NrLCBz YWQsIDEpOw0KPiA+ICANCj4gPiAgCS8qIEEgVmVuZG9yIFNwZWNpZmljIERhdGEgYmxvY2sgaXMg bmVlZGVkIGZvciBIRE1JIGF1ZGlvICovDQo+ID4gLQlibG9jayA9IChzdHJ1Y3QgZWRpZF9jZWFf ZGF0YV9ibG9jayAqKSAmY2VhX2RhdGFbY2VhX2RhdGFfc2l6ZV07DQo+ID4gLQl2c2QgPSBjZWFf dnNkX2dldF9oZG1pX2RlZmF1bHQoJnZzZF9zaXplKTsNCj4gPiAtCWNlYV9kYXRhX3NpemUgKz0g ZWRpZF9jZWFfZGF0YV9ibG9ja19zZXRfdnNkKGJsb2NrLCB2c2QsDQo+ID4gLQkJCQkJCSAgICAg dnNkX3NpemUpOw0KPiA+ICsJaWYgKHdpdGhfdnNkKSB7DQo+ID4gKwkJYmxvY2sgPSAoc3RydWN0 IGVkaWRfY2VhX2RhdGFfYmxvY2sgKikgJmNlYV9kYXRhW2NlYV9kYXRhX3NpemVdOw0KPiA+ICsJ CXZzZCA9IGNlYV92c2RfZ2V0X2hkbWlfZGVmYXVsdCgmdnNkX3NpemUpOw0KPiA+ICsJCWNlYV9k YXRhX3NpemUgKz0gZWRpZF9jZWFfZGF0YV9ibG9ja19zZXRfdnNkKGJsb2NrLCB2c2QsDQo+ID4g KwkJCQkJCQkgICAgIHZzZF9zaXplKTsNCj4gPiArCX0NCj4gPiAgDQo+ID4gIAkvKiBTcGVha2Vy IEFsbG9jYXRpb24gRGF0YSBibG9jayAqLw0KPiA+ICAJYmxvY2sgPSAoc3RydWN0IGVkaWRfY2Vh X2RhdGFfYmxvY2sgKikgJmNlYV9kYXRhW2NlYV9kYXRhX3NpemVdOw0KPiA+IEBAIC0yMzMsNyAr MjM1LDMzIEBAIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmlndF9rbXNfZ2V0X2hkbWlfYXVkaW9fZWRp ZCh2b2lkKQ0KPiA+ICB7DQo+ID4gIAlpbnQgY2hhbm5lbHM7DQo+ID4gIAl1aW50OF90IHNhbXBs aW5nX3JhdGVzLCBzYW1wbGVfc2l6ZXM7DQo+ID4gLQlzdGF0aWMgdW5zaWduZWQgY2hhciByYXdf ZWRpZFtIRE1JX0FVRElPX0VESURfTEVOR1RIXSA9IHswfTsNCj4gPiArCXN0YXRpYyB1bnNpZ25l ZCBjaGFyIHJhd19lZGlkW0FVRElPX0VESURfTEVOR1RIXSA9IHswfTsNCj4gPiArCXN0cnVjdCBj ZWFfc2FkIHNhZCA9IHswfTsNCj4gPiArCXN0cnVjdCBjZWFfc3BlYWtlcl9hbGxvYyBzcGVha2Vy X2FsbG9jID0gezB9Ow0KPiA+ICsNCj4gPiArCS8qIEluaXRpYWxpemUgdGhlIFNob3J0IEF1ZGlv IERlc2NyaXB0b3IgZm9yIFBDTSAqLw0KPiA+ICsJY2hhbm5lbHMgPSAyOw0KPiA+ICsJc2FtcGxp bmdfcmF0ZXMgPSBDRUFfU0FEX1NBTVBMSU5HX1JBVEVfMzJLSFogfA0KPiA+ICsJCQkgQ0VBX1NB RF9TQU1QTElOR19SQVRFXzQ0S0haIHwNCj4gPiArCQkJIENFQV9TQURfU0FNUExJTkdfUkFURV80 OEtIWjsNCj4gPiArCXNhbXBsZV9zaXplcyA9IENFQV9TQURfU0FNUExFX1NJWkVfMTYgfA0KPiA+ ICsJCSAgICAgICBDRUFfU0FEX1NBTVBMRV9TSVpFXzIwIHwNCj4gPiArCQkgICAgICAgQ0VBX1NB RF9TQU1QTEVfU0laRV8yNDsNCj4gPiArCWNlYV9zYWRfaW5pdF9wY20oJnNhZCwgY2hhbm5lbHMs IHNhbXBsaW5nX3JhdGVzLCBzYW1wbGVfc2l6ZXMpOw0KPiA+ICsNCj4gPiArCS8qIEluaXRpYWxp emUgdGhlIFNwZWFrZXIgQWxsb2NhdGlvbiBEYXRhICovDQo+ID4gKwlzcGVha2VyX2FsbG9jLnNw ZWFrZXJzID0gQ0VBX1NQRUFLRVJfRlJPTlRfTEVGVF9SSUdIVF9DRU5URVI7DQo+ID4gKw0KPiA+ ICsJZ2VuZXJhdGVfYXVkaW9fZWRpZChyYXdfZWRpZCwgdHJ1ZSwgJnNhZCwgJnNwZWFrZXJfYWxs b2MpOw0KPiA+ICsNCj4gPiArCXJldHVybiByYXdfZWRpZDsNCj4gPiArfQ0KPiA+ICsNCj4gPiAr Y29uc3QgdW5zaWduZWQgY2hhciAqaWd0X2ttc19nZXRfZHBfYXVkaW9fZWRpZCh2b2lkKQ0KPiA+ ICt7DQo+ID4gKwlpbnQgY2hhbm5lbHM7DQo+ID4gKwl1aW50OF90IHNhbXBsaW5nX3JhdGVzLCBz YW1wbGVfc2l6ZXM7DQo+ID4gKwlzdGF0aWMgdW5zaWduZWQgY2hhciByYXdfZWRpZFtBVURJT19F RElEX0xFTkdUSF0gPSB7MH07DQo+ID4gIAlzdHJ1Y3QgY2VhX3NhZCBzYWQgPSB7MH07DQo+ID4g IAlzdHJ1Y3QgY2VhX3NwZWFrZXJfYWxsb2Mgc3BlYWtlcl9hbGxvYyA9IHswfTsNCj4gPiAgDQo+ ID4gQEAgLTI1MCw3ICsyNzgsNyBAQCBjb25zdCB1bnNpZ25lZCBjaGFyICppZ3Rfa21zX2dldF9o ZG1pX2F1ZGlvX2VkaWQodm9pZCkNCj4gPiAgCS8qIEluaXRpYWxpemUgdGhlIFNwZWFrZXIgQWxs b2NhdGlvbiBEYXRhICovDQo+ID4gIAlzcGVha2VyX2FsbG9jLnNwZWFrZXJzID0gQ0VBX1NQRUFL RVJfRlJPTlRfTEVGVF9SSUdIVF9DRU5URVI7DQo+ID4gIA0KPiA+IC0JZ2VuZXJhdGVfaGRtaV9h dWRpb19lZGlkKHJhd19lZGlkLCAmc2FkLCAmc3BlYWtlcl9hbGxvYyk7DQo+ID4gKwlnZW5lcmF0 ZV9hdWRpb19lZGlkKHJhd19lZGlkLCBmYWxzZSwgJnNhZCwgJnNwZWFrZXJfYWxsb2MpOw0KPiA+ ICANCj4gPiAgCXJldHVybiByYXdfZWRpZDsNCj4gPiAgfQ0KPiA+IGRpZmYgLS1naXQgYS9saWIv aWd0X2ttcy5oIGIvbGliL2lndF9rbXMuaA0KPiA+IGluZGV4IDRhYzI4MTMxYjZkOS4uNWRmOWYx OGMwYmQxIDEwMDY0NA0KPiA+IC0tLSBhL2xpYi9pZ3Rfa21zLmgNCj4gPiArKysgYi9saWIvaWd0 X2ttcy5oDQo+ID4gQEAgLTc1NywxMCArNzU3LDExIEBAIHN0cnVjdCBjZWFfc2FkOw0KPiA+ICBz dHJ1Y3QgY2VhX3NwZWFrZXJfYWxsb2M7DQo+ID4gIA0KPiA+ICAjZGVmaW5lIEVESURfTEVOR1RI IDEyOA0KPiA+IC0jZGVmaW5lIEhETUlfQVVESU9fRURJRF9MRU5HVEggKDIgKiBFRElEX0xFTkdU SCkNCj4gPiArI2RlZmluZSBBVURJT19FRElEX0xFTkdUSCAoMiAqIEVESURfTEVOR1RIKQ0KPiA+ ICBjb25zdCB1bnNpZ25lZCBjaGFyICppZ3Rfa21zX2dldF9iYXNlX2VkaWQodm9pZCk7DQo+ID4g IGNvbnN0IHVuc2lnbmVkIGNoYXIgKmlndF9rbXNfZ2V0X2FsdF9lZGlkKHZvaWQpOw0KPiA+ICBj b25zdCB1bnNpZ25lZCBjaGFyICppZ3Rfa21zX2dldF9oZG1pX2F1ZGlvX2VkaWQodm9pZCk7DQo+ ID4gK2NvbnN0IHVuc2lnbmVkIGNoYXIgKmlndF9rbXNfZ2V0X2RwX2F1ZGlvX2VkaWQodm9pZCk7 DQo+ID4gIA0KPiA+ICBzdHJ1Y3QgdWRldl9tb25pdG9yICppZ3Rfd2F0Y2hfaG90cGx1Zyh2b2lk KTsNCj4gPiAgYm9vbCBpZ3RfaG90cGx1Z19kZXRlY3RlZChzdHJ1Y3QgdWRldl9tb25pdG9yICpt b24sDQo+ID4gZGlmZiAtLWdpdCBhL3Rlc3RzL2ttc19jaGFtZWxpdW0uYyBiL3Rlc3RzL2ttc19j aGFtZWxpdW0uYw0KPiA+IGluZGV4IDUyZTNmMDk1MzYyMS4uM2JlZWEwYzYyM2JkIDEwMDY0NA0K PiA+IC0tLSBhL3Rlc3RzL2ttc19jaGFtZWxpdW0uYw0KPiA+ICsrKyBiL3Rlc3RzL2ttc19jaGFt ZWxpdW0uYw0KPiA+IEBAIC0zOSw3ICszOSw5IEBAIGVudW0gdGVzdF9lZGlkIHsNCj4gPiAgCVRF U1RfRURJRF9CQVNFLA0KPiA+ICAJVEVTVF9FRElEX0FMVCwNCj4gPiAgCVRFU1RfRURJRF9IRE1J X0FVRElPLA0KPiA+ICsJVEVTVF9FRElEX0RQX0FVRElPLA0KPiANCj4gTW92ZSBURVNUX0VESURf Q09VTlQgaGVyZSwgc28gYXMgaXQgd2lsbCBhdXRvbWF0aWNhbGx5IGdldCB0aGUgcmlnaHQNCj4g dmFsdWUgd2hlbiB5b3UgY2hhbmdlIHRoZSBhbW91bnQgb2YgdGVzdHMuDQoNClRoZSBpc3N1ZSB3 aXRoIHRoaXMgYXBwcm9hY2ggaXMgdGhhdCBJJ2xsIHRoZW4gbmVlZCB0byBoYW5kbGUgdGhlDQpp bnZhbGlkIFRFU1RfRURJRF9DT1VOVCBlbnVtIGl0ZW0gaW4gZWFjaCBzd2l0Y2ggdXNpbmcgdGhp cyBlbnVtLiBBbHNvDQpmcm9tIGEgc2VtYW50aWMgcG9pbnQtb2YtdmlldywgdGhlIGNvdW50IGlz IG5vdCBhIHZhbGlkIGVudW0gaXRlbS4NCg0KSSBhbHNvIGFncmVlIHRoYXQgaGF2aW5nIHRvIGtl ZXAgdGhlIGNvdW50IGluIHN5bmMgaXMgYW5ub3lpbmcuIEJvdGgNCnNvbHV0aW9ucyBhcmUgYW5u b3lpbmcuIDooDQoNCkkgaGF2ZW4ndCBmb3VuZCBhIHBlcmZlY3Qgc29sdXRpb24gZm9yIHRoaXMg aXNzdWUgeWV0LiBTdWdnZXN0aW9ucw0Kd2VsY29tZSwgaWYgeW91IGhhdmUgYW55Lg0KDQo+IFdp dGggdGhpcyBwYXJ0aWN1bGFyIGNoYW5nZSBkb25lLCB0aGlzIGlzIDoNCj4gUmV2aWV3ZWQtYnk6 IE1hcnRpbiBQZXJlcyA8bWFydGluLnBlcmVzQGxpbnV4LmludGVsLmNvbT4NCj4gDQo+IFRoZSBy ZW5hbWUgaXMgdXAgdG8geW91Lg0KPiANCj4gPiAgfTsNCj4gPiArI2RlZmluZSBURVNUX0VESURf Q09VTlQgNQ0KPiA+ICANCj4gPiAgdHlwZWRlZiBzdHJ1Y3Qgew0KPiA+ICAJc3RydWN0IGNoYW1l bGl1bSAqY2hhbWVsaXVtOw0KPiA+IEBAIC00OSw3ICs1MSw3IEBAIHR5cGVkZWYgc3RydWN0IHsN Cj4gPiAgDQo+ID4gIAlpbnQgZHJtX2ZkOw0KPiA+ICANCj4gPiAtCWludCBlZGlkc1s0XTsNCj4g PiArCWludCBlZGlkc1tURVNUX0VESURfQ09VTlRdOw0KPiA+ICB9IGRhdGFfdDsNCj4gPiAgDQo+ ID4gICNkZWZpbmUgSE9UUExVR19USU1FT1VUIDIwIC8qIHNlY29uZHMgKi8NCj4gPiBAQCAtMTk5 Nyw2ICsxOTk5LDggQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmdldF9lZGlkKGVudW0g dGVzdF9lZGlkIGVkaWQpDQo+ID4gIAkJcmV0dXJuIGlndF9rbXNfZ2V0X2FsdF9lZGlkKCk7DQo+ ID4gIAljYXNlIFRFU1RfRURJRF9IRE1JX0FVRElPOg0KPiA+ICAJCXJldHVybiBpZ3Rfa21zX2dl dF9oZG1pX2F1ZGlvX2VkaWQoKTsNCj4gPiArCWNhc2UgVEVTVF9FRElEX0RQX0FVRElPOg0KPiA+ ICsJCXJldHVybiBpZ3Rfa21zX2dldF9kcF9hdWRpb19lZGlkKCk7DQo+ID4gIAl9DQo+ID4gIAlh c3NlcnQoMCk7IC8qIHVucmVhY2hhYmxlICovDQo+ID4gIH0NCj4gPiBAQCAtMjAzMSw3ICsyMDM1 LDcgQEAgaWd0X21haW4NCj4gPiAgCQkJCQkJICZkYXRhLnBvcnRfY291bnQpOw0KPiA+ICANCj4g PiAgCQlkYXRhLmVkaWRzW1RFU1RfRURJRF9DSEFNRUxJVU1fREVGQVVMVF0gPSBDSEFNRUxJVU1f REVGQVVMVF9FRElEOw0KPiA+IC0JCWZvciAoaSA9IDE7IGkgPCBzaXplb2YoZGF0YS5lZGlkcykg LyBzaXplb2YoZGF0YS5lZGlkc1swXSk7ICsraSkgew0KPiA+ICsJCWZvciAoaSA9IDE7IGkgPCBU RVNUX0VESURfQ09VTlQ7ICsraSkgew0KPiA+ICAJCQlkYXRhLmVkaWRzW2ldID0gY2hhbWVsaXVt X25ld19lZGlkKGRhdGEuY2hhbWVsaXVtLA0KPiA+ICAJCQkJCQkJICAgZ2V0X2VkaWQoaSkpOw0K PiA+ICAJCX0NCj4gPiBAQCAtMjExMyw3ICsyMTE3LDcgQEAgaWd0X21haW4NCj4gPiAgCQkgKiBV c2UgdGhlIENoYW1lbGl1bSdzIGRlZmF1bHQgRURJRCBmb3IgRFAgYXVkaW8uICovDQo+ID4gIAkJ Y29ubmVjdG9yX3N1YnRlc3QoImRwLWF1ZGlvIiwgRGlzcGxheVBvcnQpDQo+ID4gIAkJCXRlc3Rf ZGlzcGxheV9hdWRpbygmZGF0YSwgcG9ydCwgIkhETUkiLA0KPiA+IC0JCQkJCSAgIFRFU1RfRURJ RF9DSEFNRUxJVU1fREVGQVVMVCk7DQo+ID4gKwkJCQkJICAgVEVTVF9FRElEX0RQX0FVRElPKTsN Cj4gPiAgCX0NCj4gPiAgDQo+ID4gIAlpZ3Rfc3VidGVzdF9ncm91cCB7DQo+ID4gZGlmZiAtLWdp dCBhL3Rlc3RzL2ttc19oZG1pX2luamVjdC5jIGIvdGVzdHMva21zX2hkbWlfaW5qZWN0LmMNCj4g PiBpbmRleCA3NTRhNzQwN2I0NDEuLjhjMGQxMzMzZGIxOSAxMDA2NDQNCj4gPiAtLS0gYS90ZXN0 cy9rbXNfaGRtaV9pbmplY3QuYw0KPiA+ICsrKyBiL3Rlc3RzL2ttc19oZG1pX2luamVjdC5jDQo+ ID4gQEAgLTE0OSw3ICsxNDksNyBAQCBoZG1pX2luamVjdF9hdWRpbyhpbnQgZHJtX2ZkLCBkcm1N b2RlQ29ubmVjdG9yICpjb25uZWN0b3IpDQo+ID4gIAlzdHJ1Y3Qga21zdGVzdF9jb25uZWN0b3Jf Y29uZmlnIGNvbmZpZzsNCj4gPiAgDQo+ID4gIAllZGlkID0gaWd0X2ttc19nZXRfaGRtaV9hdWRp b19lZGlkKCk7DQo+ID4gLQlsZW5ndGggPSBIRE1JX0FVRElPX0VESURfTEVOR1RIOw0KPiA+ICsJ bGVuZ3RoID0gQVVESU9fRURJRF9MRU5HVEg7DQo+ID4gIA0KPiA+ICAJa21zdGVzdF9mb3JjZV9l ZGlkKGRybV9mZCwgY29ubmVjdG9yLCBlZGlkLCBsZW5ndGgpOw0KPiA+ICANCj4gPiANCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGlu ZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldg==