From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id BD47E89A76 for ; Wed, 3 Jul 2019 12:58:07 +0000 (UTC) Date: Wed, 3 Jul 2019 15:58:04 +0300 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Message-ID: <20190703125804.GY5942@intel.com> References: <20190702125038.21621-1-simon.ser@intel.com> <20190702125038.21621-5-simon.ser@intel.com> <20190702155103.GU5942@intel.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: Subject: Re: [igt-dev] [PATCH i-g-t 5/5] lib/igt_kms: use igt_edid to generate a 4K EDID 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: "Ser, Simon" Cc: "igt-dev@lists.freedesktop.org" , "Peres, Martin" List-ID: T24gV2VkLCBKdWwgMDMsIDIwMTkgYXQgMDg6MjQ6MDJBTSArMDAwMCwgU2VyLCBTaW1vbiB3cm90 ZToKPiBUaGFua3MgZm9yIHlvdXIgcmV2aWV3cywgdGhlc2UgYXJlIGdvb2QgcG9pbnRzIQo+IAo+ IFJlcGxpZXMgaW5saW5lLgo+IAo+IE9uIFR1ZSwgMjAxOS0wNy0wMiBhdCAxODo1MSArMDMwMCwg VmlsbGUgU3lyasOkbMOkIHdyb3RlOgo+ID4gT24gVHVlLCBKdWwgMDIsIDIwMTkgYXQgMDM6NTA6 MzhQTSArMDMwMCwgU2ltb24gU2VyIHdyb3RlOgo+ID4gPiBUaGUgbmV3IEVESUQgaGFzIGJlZW4g Ynl0ZS1ieS1ieXRlIGNoZWNrZWQgdG8gYmUgZXhhY3RseSB0aGUgc2FtZSBhcyBiZWZvcmUuCj4g PiA+IAo+ID4gPiBTaWduZWQtb2ZmLWJ5OiBTaW1vbiBTZXIgPHNpbW9uLnNlckBpbnRlbC5jb20+ Cj4gPiA+IC0tLQo+ID4gPiAgbGliL2lndF9rbXMuYyAgICAgICAgICAgICAgIHwgMTA3ICsrKysr KysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLQo+ID4gPiAgbGliL2lndF9rbXMuaCAgICAg ICAgICAgICAgIHwgICAyICstCj4gPiA+ICBsaWIvdGVzdHMvaWd0X2VkaWQuYyAgICAgICAgfCAg IDEgKwo+ID4gPiAgbGliL3Rlc3RzL2lndF9oZG1pX2luamVjdC5jIHwgICAxIC0KPiA+ID4gIHRl c3RzL2ttc19oZG1pX2luamVjdC5jICAgICB8ICAgOSArLS0KPiA+ID4gIDUgZmlsZXMgY2hhbmdl ZCwgNjQgaW5zZXJ0aW9ucygrKSwgNTYgZGVsZXRpb25zKC0pCj4gPiA+IAo+ID4gPiBkaWZmIC0t Z2l0IGEvbGliL2lndF9rbXMuYyBiL2xpYi9pZ3Rfa21zLmMKPiA+ID4gaW5kZXggNDVjNzlhMzgw ZGFmLi40NDQ2MDVlNGIxMTAgMTAwNjQ0Cj4gPiA+IC0tLSBhL2xpYi9pZ3Rfa21zLmMKPiA+ID4g KysrIGIvbGliL2lndF9rbXMuYwo+ID4gPiBAQCAtMjg0LDYgKzI4NCw2NiBAQCBjb25zdCB1bnNp Z25lZCBjaGFyICppZ3Rfa21zX2dldF9kcF9hdWRpb19lZGlkKHZvaWQpCj4gPiA+ICAJcmV0dXJu IHJhd19lZGlkOwo+ID4gPiAgfQo+ID4gPiAgCj4gPiA+ICtzdGF0aWMgY29uc3QgdWludDhfdCBl ZGlkXzRrX3N2ZHNbXSA9IHsKPiA+ID4gKwkzMiB8IENFQV9TVkRfTkFUSVZFLCAvKiAxMDgwcCBA IDI0SHogKG5hdGl2ZSkgKi8KPiA+ID4gKwk1LCAgICAgICAgICAgICAgICAgICAvKiAxMDgwaSBA IDYwSHogKi8KPiA+ID4gKwkyMCwgICAgICAgICAgICAgICAgICAvKiAxMDgwaSBAIDUwSHogKi8K PiA+ID4gKwk0LCAgICAgICAgICAgICAgICAgICAvKiA3MjBwIEAgNjBIeiAqLwo+ID4gPiArCTE5 LCAgICAgICAgICAgICAgICAgIC8qIDcyMHAgQCA1MEh6ICovCj4gPiA+ICt9Owo+ID4gPiArCj4g PiA+ICtjb25zdCB1bnNpZ25lZCBjaGFyICppZ3Rfa21zX2dldF80a19lZGlkKHZvaWQpCj4gPiA+ ICt7Cj4gPiA+ICsJc3RhdGljIHVuc2lnbmVkIGNoYXIgcmF3X2VkaWRbMjU2XTsKPiA+ID4gKwlz dHJ1Y3QgZWRpZCAqZWRpZDsKPiA+ID4gKwlzdHJ1Y3QgZWRpZF9leHQgKmVkaWRfZXh0Owo+ID4g PiArCXN0cnVjdCBlZGlkX2NlYSAqZWRpZF9jZWE7Cj4gPiA+ICsJY2hhciAqY2VhX2RhdGE7Cj4g PiA+ICsJc3RydWN0IGVkaWRfY2VhX2RhdGFfYmxvY2sgKmJsb2NrOwo+ID4gPiArCWNoYXIgcmF3 X2hkbWlbSERNSV9WU0RfTUlOX1NJWkUgKyA2XSA9IHswfTsKPiA+ID4gKwlzdHJ1Y3QgaGRtaV92 c2QgKmhkbWk7Cj4gPiA+ICsJc2l6ZV90IGNlYV9kYXRhX3NpemUgPSAwOwo+ID4gPiArCXNpemVf dCBzdmRzX2xlbjsKPiA+ID4gKwo+ID4gPiArCS8qIENyZWF0ZSBhIG5ldyBFRElEIGZyb20gdGhl IGJhc2UgSUdUIEVESUQsIGFuZCBhZGQgYW4KPiA+ID4gKwkgKiBleHRlbnNpb24gdGhhdCBhZHZl cnRpc2VzIDRLIHN1cHBvcnQuICovCj4gPiA+ICsJZWRpZCA9IChzdHJ1Y3QgZWRpZCAqKSByYXdf ZWRpZDsKPiA+ID4gKwltZW1jcHkoZWRpZCwgaWd0X2ttc19nZXRfYmFzZV9lZGlkKCksIHNpemVv ZihzdHJ1Y3QgZWRpZCkpOwo+ID4gCj4gPiBUaGF0IG9ubHkgY29udGFpbnMgdGhlIGJhc2UgYmxv Y2suIEFyZSB3ZSBsZWF2aW5nIHN0YWNrIGdhcmJhZ2UgaW4gdGhlCj4gPiBleHRlbnNpb24gYmxv Y2s/Cj4gCj4gcmF3X2VkaWQgaXMgemVyby1pbml0aWFsaXplZC4gZWRpZCBpcyBqdXN0IGEgcG9p bnRlciB0byByYXdfZWRpZC4KCkFoLCBJIGZhaWxlZCB0byBub3RpY2UgdGhlIHN0YXRpYy4KCj4g Cj4gPiA+ICsJZWRpZC0+ZXh0ZW5zaW9uc19sZW4gPSAxOwo+ID4gPiArCWVkaWRfZXh0ID0gJmVk aWQtPmV4dGVuc2lvbnNbMF07Cj4gPiA+ICsJZWRpZF9jZWEgPSAmZWRpZF9leHQtPmRhdGEuY2Vh Owo+ID4gPiArCWNlYV9kYXRhID0gZWRpZF9jZWEtPmRhdGE7Cj4gPiA+ICsKPiA+ID4gKwkvKiBT aG9ydCBWaWRlbyBEZXNjcmlwdG9yICovCj4gPiA+ICsJYmxvY2sgPSAoc3RydWN0IGVkaWRfY2Vh X2RhdGFfYmxvY2sgKikgJmNlYV9kYXRhW2NlYV9kYXRhX3NpemVdOwo+ID4gPiArCXN2ZHNfbGVu ID0gc2l6ZW9mKGVkaWRfNGtfc3ZkcykgLyBzaXplb2YoZWRpZF80a19zdmRzWzBdKTsKPiA+IAo+ ID4gSSB0aGluayB3ZSBoYXZlIGFuIEFSUkFZX1NJWkUoKS4gQWx0aG91Z2ggc2luY2Ugd2Uga25v dyB0aGVzZSBhcmUgYnl0ZXMKPiA+IG1heWJlIGp1c3QgYSBzaXplb2YoKSB3b3VsZCBiZSBnb29k IGVub3VnaC4KPiAKPiBGYWlyCj4gCj4gPiA+ICsJY2VhX2RhdGFfc2l6ZSArPSBlZGlkX2NlYV9k YXRhX2Jsb2NrX3NldF9zdmQoYmxvY2ssIGVkaWRfNGtfc3ZkcywKPiA+ID4gKwkJCQkJCSAgICAg c3Zkc19sZW4pOwo+ID4gPiArCj4gPiA+ICsJLyogVmVuZG9yIFNwZWNpZmljIERhdGEgYmxvY2sg Ki8KPiA+ID4gKwloZG1pID0gKHN0cnVjdCBoZG1pX3ZzZCAqKSByYXdfaGRtaTsKPiA+ID4gKwlo ZG1pLT5zcmNfcGh5X2FkZHJbMF0gPSAweDEwOwo+ID4gPiArCWhkbWktPnNyY19waHlfYWRkclsx XSA9IDB4MDA7Cj4gPiA+ICsJaGRtaS0+ZmxhZ3MxID0gMDsKPiA+ID4gKwloZG1pLT5tYXhfdGRt c19jbG9jayA9IDA7Cj4gPiA+ICsJaGRtaS0+ZmxhZ3MyID0gSERNSV9WU0RfVklERU9fUFJFU0VO VDsKPiA+ID4gKwloZG1pLT5kYXRhWzBdID0gMHgwMDsgLyogSERNSSB2aWRlbyBmbGFncyAqLwo+ ID4gPiArCWhkbWktPmRhdGFbMV0gPSAxIDw8IDU7IC8qIDEgVklDIGVudHJ5LCAwIDNEIGVudHJp ZXMgKi8KPiA+ID4gKwloZG1pLT5kYXRhWzJdID0gMHgwMTsgLyogMjE2MHAsIHNwZWNpZmllZCBh cyBzaG9ydCBkZXNjcmlwdG9yICovCj4gPiA+ICsKPiA+ID4gKwlibG9jayA9IChzdHJ1Y3QgZWRp ZF9jZWFfZGF0YV9ibG9jayAqKSAmY2VhX2RhdGFbY2VhX2RhdGFfc2l6ZV07Cj4gPiA+ICsJY2Vh X2RhdGFfc2l6ZSArPSBlZGlkX2NlYV9kYXRhX2Jsb2NrX3NldF9oZG1pX3ZzZChibG9jaywgaGRt aSwKPiA+ID4gKwkJCQkJCQkgIHNpemVvZihyYXdfaGRtaSkpOwo+ID4gPiArCj4gPiA+ICsJYXNz ZXJ0KGNlYV9kYXRhX3NpemUgPD0gc2l6ZW9mKGVkaWRfY2VhLT5kYXRhKSk7Cj4gPiA+ICsKPiA+ ID4gKwllZGlkX2V4dF9zZXRfY2VhKGVkaWRfZXh0LCBjZWFfZGF0YV9zaXplLCAwLCAwKTsKPiA+ ID4gKwo+ID4gPiArCWVkaWRfdXBkYXRlX2NoZWNrc3VtKGVkaWQpOwo+ID4gPiArCWVkaWRfZXh0 X3VwZGF0ZV9jZWFfY2hlY2tzdW0oZWRpZF9leHQpOwo+ID4gPiArCXJldHVybiByYXdfZWRpZDsK PiA+ID4gK30KPiA+ID4gKwo+ID4gPiAgY29uc3QgY2hhciAqIGNvbnN0IGlndF9wbGFuZV9wcm9w X25hbWVzW0lHVF9OVU1fUExBTkVfUFJPUFNdID0gewo+ID4gPiAgCVtJR1RfUExBTkVfU1JDX1hd ID0gIlNSQ19YIiwKPiA+ID4gIAlbSUdUX1BMQU5FX1NSQ19ZXSA9ICJTUkNfWSIsCj4gPiA+IEBA IC0xMzQ4LDggKzE0MDgsNiBAQCBzdHJ1Y3QgZWRpZF9ibG9jayB7Cj4gPiA+ICAgICAgdW5zaWdu ZWQgY2hhciAqZGF0YTsKPiA+ID4gIH07Cj4gPiA+ICAKPiA+ID4gLSNkZWZpbmUgRFREX1NVUFBP UlRTX0FVRElPIDE8PDYKPiA+ID4gLQo+ID4gPiAgc3RhdGljIHN0cnVjdCBlZGlkX2Jsb2NrCj4g PiA+ICBpbml0X2NlYV9ibG9jayhjb25zdCB1bnNpZ25lZCBjaGFyICplZGlkLCBzaXplX3QgbGVu Z3RoLAo+ID4gPiAgCSAgICAgICB1bnNpZ25lZCBjaGFyICpuZXdfZWRpZF9wdHJbXSwgc2l6ZV90 ICpuZXdfbGVuZ3RoLAo+ID4gPiBAQCAtMTQzNyw1MSArMTQ5NSw2IEBAIHZvaWQga21zdGVzdF9l ZGlkX2FkZF8zZChjb25zdCB1bnNpZ25lZCBjaGFyICplZGlkLCBzaXplX3QgbGVuZ3RoLAo+ID4g PiAgCXVwZGF0ZV9lZGlkX2NzdW0obmV3X2VkaWQuZGF0YSwgbGVuZ3RoKTsKPiA+ID4gIH0KPiA+ ID4gIAo+ID4gPiAtLyoqCj4gPiA+IC0gKiBrbXN0ZXN0X2VkaWRfYWRkXzRrOgo+ID4gPiAtICog QGVkaWQ6IGFuIGV4aXN0aW5nIHZhbGlkIGVkaWQgYmxvY2sKPiA+ID4gLSAqIEBsZW5ndGg6IGxl bmd0aCBvZiBAZWRpZAo+ID4gPiAtICogQG5ld19lZGlkX3B0cjogcG9pbnRlciB0byB3aGVyZSB0 aGUgbmV3IGVkaWQgd2lsbCBiZSBwbGFjZWQKPiA+ID4gLSAqIEBuZXdfbGVuZ3RoOiBwb2ludGVy IHRvIHRoZSBzaXplIG9mIHRoZSBuZXcgZWRpZAo+ID4gPiAtICoKPiA+ID4gLSAqIE1ha2VzIGEg Y29weSBvZiBhbiBleGlzdGluZyBlZGlkIGJsb2NrIGFuZCBhZGRzIGFuIGV4dGVuc2lvbiBpbmRp Y2F0aW5nCj4gPiA+IC0gKiBhIEhETUkgNEsgbW9kZSBpbiB2c2RiLgo+ID4gPiAtICovCj4gPiA+ IC12b2lkIGttc3Rlc3RfZWRpZF9hZGRfNGsoY29uc3QgdW5zaWduZWQgY2hhciAqZWRpZCwgc2l6 ZV90IGxlbmd0aCwKPiA+ID4gLQkJCSB1bnNpZ25lZCBjaGFyICpuZXdfZWRpZF9wdHJbXSwgc2l6 ZV90ICpuZXdfbGVuZ3RoKQo+ID4gPiAtewo+ID4gPiAtCWNoYXIgdnNkYl9ibG9ja19sZW4gPSAx MjsKPiA+ID4gLQlzdHJ1Y3QgZWRpZF9ibG9jayBuZXdfZWRpZCA9IGluaXRfY2VhX2Jsb2NrKGVk aWQsIGxlbmd0aCwgbmV3X2VkaWRfcHRyLAo+ID4gPiAtCQkJCQkJICAgIG5ld19sZW5ndGgsIHZz ZGJfYmxvY2tfbGVuLAo+ID4gPiAtCQkJCQkJICAgIDApOwo+ID4gPiAtCWludCBwb3MgPSBuZXdf ZWRpZC5wb3M7Cj4gPiA+IC0KPiA+ID4gLQkvKiB2c2RiIGJsb2NrICggaWQgfCBsZW5ndGggKSAq Lwo+ID4gPiAtCW5ld19lZGlkLmRhdGFbcG9zKytdID0gMyA8PCA1IHwgKHZzZGJfYmxvY2tfbGVu IC0gMSk7Cj4gPiA+IC0JLyogcmVnaXN0cmF0aW9uIGlkICovCj4gPiA+IC0JbmV3X2VkaWQuZGF0 YVtwb3MrK10gPSAweDM7Cj4gPiA+IC0JbmV3X2VkaWQuZGF0YVtwb3MrK10gPSAweGM7Cj4gPiA+ IC0JbmV3X2VkaWQuZGF0YVtwb3MrK10gPSAweDA7Cj4gPiA+IC0JLyogc291cmNlIHBoeXNpY2Fs IGFkZHJlc3MgKi8KPiA+ID4gLQluZXdfZWRpZC5kYXRhW3BvcysrXSA9IDB4MTA7Cj4gPiA+IC0J bmV3X2VkaWQuZGF0YVtwb3MrK10gPSAweDAwOwo+ID4gPiAtCS8qIFN1cHBvcnRzX0FJIC4uLiBl dGMgKi8KPiA+ID4gLQluZXdfZWRpZC5kYXRhW3BvcysrXSA9IDB4MDA7Cj4gPiA+IC0JLyogTWF4 IFRNRFMgQ2xvY2sgKi8KPiA+ID4gLQluZXdfZWRpZC5kYXRhW3BvcysrXSA9IDB4MDA7Cj4gPiA+ IC0JLyogTGF0ZW5jeSBwcmVzZW50LCBIRE1JIFZpZGVvIFByZXNlbnQgKi8KPiA+ID4gLQluZXdf ZWRpZC5kYXRhW3BvcysrXSA9IDB4MjA7Cj4gPiA+IC0JLyogSERNSSBWaWRlbyAqLwo+ID4gPiAt CW5ld19lZGlkLmRhdGFbcG9zKytdID0gMHgwMDsgLyogM0QgcHJlc2VudCAqLwo+ID4gPiAtCj4g PiA+IC0JLyogSERNSSBNT0RFIExFTiAtLSBob3cgbWFueSBlbnRyaWVzICovCj4gPiA+IC0JbmV3 X2VkaWQuZGF0YVtwb3MrK10gPSAweDIwOwo+ID4gPiAtCS8qIDIxNjBwLCBzcGVjaWZpZWQgYXMg c2hvcnQgZGVzY3JpcHRvciAqLwo+ID4gPiAtCW5ld19lZGlkLmRhdGFbcG9zKytdID0gMHgwMTsK PiA+ID4gLQo+ID4gPiAtCXVwZGF0ZV9lZGlkX2NzdW0obmV3X2VkaWQuZGF0YSwgbGVuZ3RoKTsK PiA+ID4gLX0KPiA+ID4gLQo+ID4gPiAgLyoqCj4gPiA+ICAgKiBrbXN0ZXN0X3Vuc2V0X2FsbF9j cnRjczoKPiA+ID4gICAqIEBkcm1fZmQ6IHRoZSBEUk0gZmQKPiA+ID4gZGlmZiAtLWdpdCBhL2xp Yi9pZ3Rfa21zLmggYi9saWIvaWd0X2ttcy5oCj4gPiA+IGluZGV4IGY3MjUwODY0MDcxMi4uMjAz NzE5ODc4ZDg2IDEwMDY0NAo+ID4gPiAtLS0gYS9saWIvaWd0X2ttcy5oCj4gPiA+ICsrKyBiL2xp Yi9pZ3Rfa21zLmgKPiA+ID4gQEAgLTE5NSw3ICsxOTUsNiBAQCBlbnVtIGludGVsX2Jyb2FkY2Fz dF9yZ2JfbW9kZSB7Cj4gPiA+ICBib29sIGttc3Rlc3RfZm9yY2VfY29ubmVjdG9yKGludCBmZCwg ZHJtTW9kZUNvbm5lY3RvciAqY29ubmVjdG9yLAo+ID4gPiAgCQkJICAgICBlbnVtIGttc3Rlc3Rf Zm9yY2VfY29ubmVjdG9yX3N0YXRlIHN0YXRlKTsKPiA+ID4gIHZvaWQga21zdGVzdF9lZGlkX2Fk ZF8zZChjb25zdCB1bnNpZ25lZCBjaGFyICplZGlkLCBzaXplX3QgbGVuZ3RoLCB1bnNpZ25lZCBj aGFyICpuZXdfZWRpZF9wdHJbXSwgc2l6ZV90ICpuZXdfbGVuZ3RoKTsKPiA+ID4gLXZvaWQga21z dGVzdF9lZGlkX2FkZF80ayhjb25zdCB1bnNpZ25lZCBjaGFyICplZGlkLCBzaXplX3QgbGVuZ3Ro LCB1bnNpZ25lZCBjaGFyICpuZXdfZWRpZF9wdHJbXSwgc2l6ZV90ICpuZXdfbGVuZ3RoKTsKPiA+ ID4gIHZvaWQga21zdGVzdF9mb3JjZV9lZGlkKGludCBkcm1fZmQsIGRybU1vZGVDb25uZWN0b3Ig KmNvbm5lY3RvciwKPiA+ID4gIAkJCWNvbnN0IHVuc2lnbmVkIGNoYXIgKmVkaWQpOwo+ID4gPiAg Cj4gPiA+IEBAIC03NjMsNiArNzYyLDcgQEAgY29uc3QgdW5zaWduZWQgY2hhciAqaWd0X2ttc19n ZXRfYmFzZV9lZGlkKHZvaWQpOwo+ID4gPiAgY29uc3QgdW5zaWduZWQgY2hhciAqaWd0X2ttc19n ZXRfYWx0X2VkaWQodm9pZCk7Cj4gPiA+ICBjb25zdCB1bnNpZ25lZCBjaGFyICppZ3Rfa21zX2dl dF9oZG1pX2F1ZGlvX2VkaWQodm9pZCk7Cj4gPiA+ICBjb25zdCB1bnNpZ25lZCBjaGFyICppZ3Rf a21zX2dldF9kcF9hdWRpb19lZGlkKHZvaWQpOwo+ID4gPiArY29uc3QgdW5zaWduZWQgY2hhciAq aWd0X2ttc19nZXRfNGtfZWRpZCh2b2lkKTsKPiA+ID4gIAo+ID4gPiAgc3RydWN0IHVkZXZfbW9u aXRvciAqaWd0X3dhdGNoX2hvdHBsdWcodm9pZCk7Cj4gPiA+ICBib29sIGlndF9ob3RwbHVnX2Rl dGVjdGVkKHN0cnVjdCB1ZGV2X21vbml0b3IgKm1vbiwKPiA+ID4gZGlmZiAtLWdpdCBhL2xpYi90 ZXN0cy9pZ3RfZWRpZC5jIGIvbGliL3Rlc3RzL2lndF9lZGlkLmMKPiA+ID4gaW5kZXggYTg0N2Rm MjcyNTI1Li4xYTc4YjM4YTk0NWIgMTAwNjQ0Cj4gPiA+IC0tLSBhL2xpYi90ZXN0cy9pZ3RfZWRp ZC5jCj4gPiA+ICsrKyBiL2xpYi90ZXN0cy9pZ3RfZWRpZC5jCj4gPiA+IEBAIC03Niw2ICs3Niw3 IEBAIGlndF9zaW1wbGVfbWFpbgo+ID4gPiAgCQl7ICJiYXNlIiwgaWd0X2ttc19nZXRfYmFzZV9l ZGlkLCAwIH0sCj4gPiA+ICAJCXsgImFsdCIsIGlndF9rbXNfZ2V0X2FsdF9lZGlkLCAwIH0sCj4g PiA+ICAJCXsgImhkbWlfYXVkaW8iLCBpZ3Rfa21zX2dldF9oZG1pX2F1ZGlvX2VkaWQsIDEgfSwK PiA+ID4gKwkJeyAiNGsiLCBpZ3Rfa21zX2dldF80a19lZGlkLCAxIH0sCj4gPiA+ICAJCXswfSwK PiA+ID4gIAl9LCAqZjsKPiA+ID4gIAljb25zdCB1bnNpZ25lZCBjaGFyICplZGlkOwo+ID4gPiBk aWZmIC0tZ2l0IGEvbGliL3Rlc3RzL2lndF9oZG1pX2luamVjdC5jIGIvbGliL3Rlc3RzL2lndF9o ZG1pX2luamVjdC5jCj4gPiA+IGluZGV4IDI1MzRiMWEyM2FjYi4uYzcwYzMxOTVjYjFkIDEwMDY0 NAo+ID4gPiAtLS0gYS9saWIvdGVzdHMvaWd0X2hkbWlfaW5qZWN0LmMKPiA+ID4gKysrIGIvbGli L3Rlc3RzL2lndF9oZG1pX2luamVjdC5jCj4gPiA+IEBAIC03Miw3ICs3Miw2IEBAIGlndF9zaW1w bGVfbWFpbgo+ID4gPiAgCQloZG1pX2luamVjdF9mdW5jIGluamVjdDsKPiA+ID4gIAl9IGZ1bmNz W10gPSB7Cj4gPiA+ICAJCXsgIjNEIiwga21zdGVzdF9lZGlkX2FkZF8zZCB9LAo+ID4gPiAtCQl7 ICI0ayIsIGttc3Rlc3RfZWRpZF9hZGRfNGsgfSwKPiA+ID4gIAkJeyBOVUxMLCBOVUxMIH0sCj4g PiA+ICAJfSwgKmY7Cj4gPiA+ICAKPiA+ID4gZGlmZiAtLWdpdCBhL3Rlc3RzL2ttc19oZG1pX2lu amVjdC5jIGIvdGVzdHMva21zX2hkbWlfaW5qZWN0LmMKPiA+ID4gaW5kZXggOWE5NjhmYTllNTBl Li42MDE5OGY1Mjk4MTcgMTAwNjQ0Cj4gPiA+IC0tLSBhL3Rlc3RzL2ttc19oZG1pX2luamVjdC5j Cj4gPiA+ICsrKyBiL3Rlc3RzL2ttc19oZG1pX2luamVjdC5jCj4gPiA+IEBAIC03Niw4ICs3Niw3 IEBAIGdldF9jb25uZWN0b3IoaW50IGRybV9mZCwgZHJtTW9kZVJlcyAqcmVzKQo+ID4gPiAgc3Rh dGljIHZvaWQKPiA+ID4gIGhkbWlfaW5qZWN0XzRrKGludCBkcm1fZmQsIGRybU1vZGVDb25uZWN0 b3IgKmNvbm5lY3RvcikKPiA+ID4gIHsKPiA+ID4gLQl1bnNpZ25lZCBjaGFyICplZGlkOwo+ID4g PiAtCXNpemVfdCBsZW5ndGg7Cj4gPiA+ICsJY29uc3QgdW5zaWduZWQgY2hhciAqZWRpZDsKPiA+ ID4gIAlzdHJ1Y3Qga21zdGVzdF9jb25uZWN0b3JfY29uZmlnIGNvbmZpZzsKPiA+ID4gIAlpbnQg cmV0LCBjaWQsIGksIGNydGNfbWFzayA9IC0xOwo+ID4gPiAgCWludCBmYl9pZDsKPiA+ID4gQEAg LTkwLDkgKzg5LDcgQEAgaGRtaV9pbmplY3RfNGsoaW50IGRybV9mZCwgZHJtTW9kZUNvbm5lY3Rv ciAqY29ubmVjdG9yKQo+ID4gPiAgCS8qIDRLIHJlcXVpcmVzIGF0IGxlYXN0IEhTVyAqLwo+ID4g PiAgCWlndF9yZXF1aXJlKElTX0hBU1dFTEwoZGV2aWQpIHx8IGludGVsX2dlbihkZXZpZCkgPj0g OCk7Cj4gPiA+ICAKPiA+ID4gLQlrbXN0ZXN0X2VkaWRfYWRkXzRrKGlndF9rbXNfZ2V0X2Jhc2Vf ZWRpZCgpLCBFRElEX0xFTkdUSCwgJmVkaWQsCj4gPiA+IC0JCQkgICAgJmxlbmd0aCk7Cj4gPiA+ IC0KPiA+ID4gKwllZGlkID0gaWd0X2ttc19nZXRfNGtfZWRpZCgpOwo+ID4gPiAgCWttc3Rlc3Rf Zm9yY2VfZWRpZChkcm1fZmQsIGNvbm5lY3RvciwgZWRpZCk7Cj4gPiA+ICAKPiA+ID4gIAlpZiAo IWttc3Rlc3RfZm9yY2VfY29ubmVjdG9yKGRybV9mZCwgY29ubmVjdG9yLCBGT1JDRV9DT05ORUNU T1JfT04pKQo+ID4gPiBAQCAtMTM1LDggKzEzMiw2IEBAIGhkbWlfaW5qZWN0XzRrKGludCBkcm1f ZmQsIGRybU1vZGVDb25uZWN0b3IgKmNvbm5lY3RvcikKPiA+ID4gIAo+ID4gPiAgCWttc3Rlc3Rf Zm9yY2VfY29ubmVjdG9yKGRybV9mZCwgY29ubmVjdG9yLCBGT1JDRV9DT05ORUNUT1JfVU5TUEVD SUZJRUQpOwo+ID4gPiAgCWttc3Rlc3RfZm9yY2VfZWRpZChkcm1fZmQsIGNvbm5lY3RvciwgTlVM TCk7Cj4gPiA+IC0KPiA+ID4gLQlmcmVlKGVkaWQpOwo+ID4gPiAgfQo+ID4gPiAgCj4gPiA+ICBz dGF0aWMgdm9pZAo+ID4gPiAtLSAKPiA+ID4gMi4yMi4wCj4gPiA+IAo+ID4gPiBfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ID4gPiBpZ3QtZGV2IG1haWxp bmcgbGlzdAo+ID4gPiBpZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+ID4gPiBodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lndC1kZXYKCi0tIApWaWxs ZSBTeXJqw6Rsw6QKSW50ZWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KaWd0LWRldiBtYWlsaW5nIGxpc3QKaWd0LWRldkBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pZ3QtZGV2