From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [v8 01/10] drm: Add HDR source metadata property Date: Tue, 7 May 2019 15:07:40 +0300 Message-ID: <20190507120740.GL24299@intel.com> References: <1554828284-17776-1-git-send-email-uma.shankar@intel.com> <1554828284-17776-2-git-send-email-uma.shankar@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <1554828284-17776-2-git-send-email-uma.shankar@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Uma Shankar Cc: dcastagna@chromium.org, jonas@kwiboo.se, intel-gfx@lists.freedesktop.org, emil.l.velikov@gmail.com, dri-devel@lists.freedesktop.org, seanpaul@chromium.org, ville.syrjala@intel.com, maarten.lankhorst@intel.com List-Id: dri-devel@lists.freedesktop.org T24gVHVlLCBBcHIgMDksIDIwMTkgYXQgMTA6MTQ6MzVQTSArMDUzMCwgVW1hIFNoYW5rYXIgd3Jv dGU6Cj4gVGhpcyBwYXRjaCBhZGRzIGEgYmxvYiBwcm9wZXJ0eSB0byBnZXQgSERSIG1ldGFkYXRh Cj4gaW5mb3JtYXRpb24gZnJvbSB1c2Vyc3BhY2UuIFRoaXMgd2lsbCBiZSBzZW5kIGFzIHBhcnQK PiBvZiBBVkkgSW5mb2ZyYW1lIHRvIHBhbmVsLgo+IAo+IEl0IGFsc28gaW1wbGVtZW50cyBnZXQo KSBhbmQgc2V0KCkgZnVuY3Rpb25zIGZvciBIRFIgb3V0cHV0Cj4gbWV0YWRhdGEgcHJvcGVydHku VGhlIGJsb2IgZGF0YSBpcyByZWNlaXZlZCBmcm9tIHVzZXJzcGFjZSBhbmQKPiBzYXZlZCBpbiBj b25uZWN0b3Igc3RhdGUsIHRoZSBzYW1lIGlzIHJldHVybmVkIGFzIGJsb2IgaW4gZ2V0Cj4gcHJv cGVydHkgY2FsbCB0byB1c2Vyc3BhY2UuCj4gCj4gdjI6IFJlYmFzZSBhbmQgbW9kaWZpZWQgdGhl IG1ldGFkYXRhIHN0cnVjdHVyZSBlbGVtZW50cwo+IGFzIHBlciBWaWxsZSdzIFBPQyBjaGFuZ2Vz Lgo+IAo+IHYzOiBObyBDaGFuZ2UKPiAKPiB2NDogQWRkcmVzc2VkIFNoYXNoYW5rJ3MgcmV2aWV3 IGNvbW1lbnRzCj4gCj4gdjU6IFJlYmFzZS4KPiAKPiB2NjogQWRkcmVzc2VkIEJyaWFuIFN0YXJr ZXkncyByZXZpZXcgY29tbWVudHMsIGRlZmluZWQKPiBuZXcgc3RydWN0dXJlIHdpdGggaGVhZGVy IGZvciBkeW5hbWljIG1ldGFkYXRhIHNjYWxhYmlsaXR5Lgo+IE1lcmdlIGdldC9zZXQgcHJvcGVy dHkgZnVuY3Rpb25zIGZvciBtZXRhZGF0YSBpbiB0aGlzIHBhdGNoLgo+IAo+IHY3OiBBZGRyZXNz ZWQgSm9uYXMgS2FybG1hbiByZXZpZXcgY29tbWVudHMgYW5kIGRlZmluZWQgc2VwYXJhdGUKPiBz dHJ1Y3R1cmUgZm9yIGluZm9mcmFtZSB0byBiZXR0ZXIgYWxpZ24gd2l0aCBDVEEgODYxLkcgc3Bl Yy4gQWRkZWQKPiBTaGFzaGFuaydzIFJCLgo+IAo+IFNpZ25lZC1vZmYtYnk6IFVtYSBTaGFua2Fy IDx1bWEuc2hhbmthckBpbnRlbC5jb20+Cj4gUmV2aWV3ZWQtYnk6IFNoYXNoYW5rIFNoYXJtYSA8 c2hhc2hhbmsuc2hhcm1hQGludGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9h dG9taWMuYyAgICAgIHwgIDIgKysKPiAgZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5j IHwgMTMgKysrKysrKysrKysrKwo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jICAg fCAgNiArKysrKysKPiAgaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oICAgICAgIHwgMTEgKysr KysrKysrKysKPiAgaW5jbHVkZS9kcm0vZHJtX21vZGVfY29uZmlnLmggICAgIHwgIDYgKysrKysr Cj4gIGluY2x1ZGUvbGludXgvaGRtaS5oICAgICAgICAgICAgICB8IDEwICsrKysrKysrKysKPiAg aW5jbHVkZS91YXBpL2RybS9kcm1fbW9kZS5oICAgICAgIHwgMzkgKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrCj4gIDcgZmlsZXMgY2hhbmdlZCwgODcgaW5zZXJ0aW9ucygr KQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jIGIvZHJpdmVy cy9ncHUvZHJtL2RybV9hdG9taWMuYwo+IGluZGV4IDVlYjQwMTMuLjhiOWMxMjYgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fYXRvbWljLmMKPiBAQCAtODgxLDYgKzg4MSw4IEBAIHN0YXRpYyB2b2lkIGRybV9hdG9t aWNfY29ubmVjdG9yX3ByaW50X3N0YXRlKHN0cnVjdCBkcm1fcHJpbnRlciAqcCwKPiAgCj4gIAlk cm1fcHJpbnRmKHAsICJjb25uZWN0b3JbJXVdOiAlc1xuIiwgY29ubmVjdG9yLT5iYXNlLmlkLCBj b25uZWN0b3ItPm5hbWUpOwo+ICAJZHJtX3ByaW50ZihwLCAiXHRjcnRjPSVzXG4iLCBzdGF0ZS0+ Y3J0YyA/IHN0YXRlLT5jcnRjLT5uYW1lIDogIihudWxsKSIpOwo+ICsJZHJtX3ByaW50ZihwLCAi XHRoZHJfbWV0YWRhdGFfY2hhbmdlZD0lZFxuIiwKPiArCQkgICBzdGF0ZS0+aGRyX21ldGFkYXRh X2NoYW5nZWQpOwoKSXMgdGhhdCBmbGFnIGFjdHVhbGx5IHVzZWZ1bD8KCj4gIAo+ICAJaWYgKGNv bm5lY3Rvci0+Y29ubmVjdG9yX3R5cGUgPT0gRFJNX01PREVfQ09OTkVDVE9SX1dSSVRFQkFDSykK PiAgCQlpZiAoc3RhdGUtPndyaXRlYmFja19qb2IgJiYgc3RhdGUtPndyaXRlYmFja19qb2ItPmZi KQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmMgYi9kcml2 ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmMKPiBpbmRleCBlYTc5N2Q0Li42ZDBkMTYxIDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3VhcGkuYwo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3VhcGkuYwo+IEBAIC02NzMsNiArNjczLDggQEAgc3Rh dGljIGludCBkcm1fYXRvbWljX2Nvbm5lY3Rvcl9zZXRfcHJvcGVydHkoc3RydWN0IGRybV9jb25u ZWN0b3IgKmNvbm5lY3RvciwKPiAgewo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNvbm5l Y3Rvci0+ZGV2Owo+ICAJc3RydWN0IGRybV9tb2RlX2NvbmZpZyAqY29uZmlnID0gJmRldi0+bW9k ZV9jb25maWc7Cj4gKwlib29sIHJlcGxhY2VkID0gZmFsc2U7Cj4gKwlpbnQgcmV0Owo+ICAKPiAg CWlmIChwcm9wZXJ0eSA9PSBjb25maWctPnByb3BfY3J0Y19pZCkgewo+ICAJCXN0cnVjdCBkcm1f Y3J0YyAqY3J0YyA9IGRybV9jcnRjX2ZpbmQoZGV2LCBOVUxMLCB2YWwpOwo+IEBAIC03MjEsNiAr NzIzLDE0IEBAIHN0YXRpYyBpbnQgZHJtX2F0b21pY19jb25uZWN0b3Jfc2V0X3Byb3BlcnR5KHN0 cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gIAkJICovCj4gIAkJaWYgKHN0YXRlLT5s aW5rX3N0YXR1cyAhPSBEUk1fTElOS19TVEFUVVNfR09PRCkKPiAgCQkJc3RhdGUtPmxpbmtfc3Rh dHVzID0gdmFsOwo+ICsJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25maWctPmhkcl9vdXRwdXRf bWV0YWRhdGFfcHJvcGVydHkpIHsKPiArCQlyZXQgPSBkcm1fYXRvbWljX3JlcGxhY2VfcHJvcGVy dHlfYmxvYl9mcm9tX2lkKGRldiwKPiArCQkJCSZzdGF0ZS0+aGRyX291dHB1dF9tZXRhZGF0YV9i bG9iX3B0ciwKPiArCQkJCXZhbCwKPiArCQkJCS0xLCBzaXplb2Yoc3RydWN0IGhkcl9vdXRwdXRf bWV0YWRhdGEpLAo+ICsJCQkJJnJlcGxhY2VkKTsKPiArCQlzdGF0ZS0+aGRyX21ldGFkYXRhX2No YW5nZWQgfD0gcmVwbGFjZWQ7Cj4gKwkJcmV0dXJuIHJldDsKPiAgCX0gZWxzZSBpZiAocHJvcGVy dHkgPT0gY29uZmlnLT5hc3BlY3RfcmF0aW9fcHJvcGVydHkpIHsKPiAgCQlzdGF0ZS0+cGljdHVy ZV9hc3BlY3RfcmF0aW8gPSB2YWw7Cj4gIAl9IGVsc2UgaWYgKHByb3BlcnR5ID09IGNvbmZpZy0+ Y29udGVudF90eXBlX3Byb3BlcnR5KSB7Cj4gQEAgLTgwNyw2ICs4MTcsOSBAQCBzdGF0aWMgaW50 IGRybV9hdG9taWNfY29ubmVjdG9yX3NldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAq Y29ubmVjdG9yLAo+ICAJCSp2YWwgPSBzdGF0ZS0+Y29sb3JzcGFjZTsKPiAgCX0gZWxzZSBpZiAo cHJvcGVydHkgPT0gY29ubmVjdG9yLT5zY2FsaW5nX21vZGVfcHJvcGVydHkpIHsKPiAgCQkqdmFs ID0gc3RhdGUtPnNjYWxpbmdfbW9kZTsKPiArCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29uZmln LT5oZHJfb3V0cHV0X21ldGFkYXRhX3Byb3BlcnR5KSB7Cj4gKwkJKnZhbCA9IChzdGF0ZS0+aGRy X291dHB1dF9tZXRhZGF0YV9ibG9iX3B0cikgPwoKUG9pbnRsZXNzIHBhcmVucy4KCj4gKwkJCXN0 YXRlLT5oZHJfb3V0cHV0X21ldGFkYXRhX2Jsb2JfcHRyLT5iYXNlLmlkIDogMDsKPiAgCX0gZWxz ZSBpZiAocHJvcGVydHkgPT0gY29ubmVjdG9yLT5jb250ZW50X3Byb3RlY3Rpb25fcHJvcGVydHkp IHsKPiAgCQkqdmFsID0gc3RhdGUtPmNvbnRlbnRfcHJvdGVjdGlvbjsKPiAgCX0gZWxzZSBpZiAo cHJvcGVydHkgPT0gY29uZmlnLT53cml0ZWJhY2tfZmJfaWRfcHJvcGVydHkpIHsKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9k cm1fY29ubmVjdG9yLmMKPiBpbmRleCAyMzU1MTI0Li4wYmRhZTkwIDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJt X2Nvbm5lY3Rvci5jCj4gQEAgLTEwNTgsNiArMTA1OCwxMiBAQCBpbnQgZHJtX2Nvbm5lY3Rvcl9j cmVhdGVfc3RhbmRhcmRfcHJvcGVydGllcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAJCXJl dHVybiAtRU5PTUVNOwo+ICAJZGV2LT5tb2RlX2NvbmZpZy5ub25fZGVza3RvcF9wcm9wZXJ0eSA9 IHByb3A7Cj4gIAo+ICsJcHJvcCA9IGRybV9wcm9wZXJ0eV9jcmVhdGUoZGV2LCBEUk1fTU9ERV9Q Uk9QX0JMT0IsCj4gKwkJCQkgICAiSERSX09VVFBVVF9NRVRBREFUQSIsIDApOwo+ICsJaWYgKCFw cm9wKQo+ICsJCXJldHVybiAtRU5PTUVNOwo+ICsJZGV2LT5tb2RlX2NvbmZpZy5oZHJfb3V0cHV0 X21ldGFkYXRhX3Byb3BlcnR5ID0gcHJvcDsKPiArCj4gIAlyZXR1cm4gMDsKPiAgfQo+ICAKPiBk aWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oIGIvaW5jbHVkZS9kcm0vZHJt X2Nvbm5lY3Rvci5oCj4gaW5kZXggMDJhMTMxMi4uNTM0M2Y2MCAxMDA2NDQKPiAtLS0gYS9pbmNs dWRlL2RybS9kcm1fY29ubmVjdG9yLmgKPiArKysgYi9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9y LmgKPiBAQCAtNTk5LDYgKzU5OSwxMyBAQCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSB7Cj4g IAkgKiBhbmQgdGhlIGNvbm5lY3RvciBicGMgbGltaXRhdGlvbnMgb2J0YWluZWQgZnJvbSBlZGlk Lgo+ICAJICovCj4gIAl1OCBtYXhfYnBjOwo+ICsKPiArCS8qKgo+ICsJICogQG1ldGFkYXRhX2Js b2JfcHRyOgo+ICsJICogRFJNIGJsb2IgcHJvcGVydHkgZm9yIEhEUiBvdXRwdXQgbWV0YWRhdGEK PiArCSAqLwo+ICsJc3RydWN0IGRybV9wcm9wZXJ0eV9ibG9iICpoZHJfb3V0cHV0X21ldGFkYXRh X2Jsb2JfcHRyOwoKSSB3b3VsZCBkcm9wIHRoZSBfYmxvYl9wdHIgc3VmZml4LiBXZSBkb24ndCBo YXZlIHRoYXQgZm9yIGFueSBvdGhlcgpzdGF0ZSBibG9iLgoKPiArCXU4IGhkcl9tZXRhZGF0YV9j aGFuZ2VkIDogMTsKPiAgfTsKPiAgCj4gIC8qKgo+IEBAIC0xMjM5LDYgKzEyNDYsMTAgQEAgc3Ry dWN0IGRybV9jb25uZWN0b3Igewo+ICAJICogJmRybV9tb2RlX2NvbmZpZy5jb25uZWN0b3JfZnJl ZV93b3JrLgo+ICAJICovCj4gIAlzdHJ1Y3QgbGxpc3Rfbm9kZSBmcmVlX25vZGU7Cj4gKwo+ICsJ LyogSERSIG1ldGRhdGEgKi8KPiArCXN0cnVjdCBoZHJfb3V0cHV0X21ldGFkYXRhIGhkcl9vdXRw dXRfbWV0YWRhdGE7Cj4gKwlzdHJ1Y3QgaGRyX3NpbmtfbWV0YWRhdGEgaGRyX3NpbmtfbWV0YWRh dGE7Cj4gIH07Cj4gIAo+ICAjZGVmaW5lIG9ial90b19jb25uZWN0b3IoeCkgY29udGFpbmVyX29m KHgsIHN0cnVjdCBkcm1fY29ubmVjdG9yLCBiYXNlKQo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2Ry bS9kcm1fbW9kZV9jb25maWcuaCBiL2luY2x1ZGUvZHJtL2RybV9tb2RlX2NvbmZpZy5oCj4gaW5k ZXggN2Y2MGU4ZS4uZWYyNjU2YiAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fbW9kZV9j b25maWcuaAo+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9tb2RlX2NvbmZpZy5oCj4gQEAgLTgzNiw2 ICs4MzYsMTIgQEAgc3RydWN0IGRybV9tb2RlX2NvbmZpZyB7Cj4gIAkgKi8KPiAgCXN0cnVjdCBk cm1fcHJvcGVydHkgKndyaXRlYmFja19vdXRfZmVuY2VfcHRyX3Byb3BlcnR5Owo+ICAKPiArCS8q Cj4gKwkgKiBoZHJfbWV0YWRhdGFfcHJvcGVydHk6IENvbm5lY3RvciBwcm9wZXJ0eSBjb250YWlu aW5nIGhkciBtZXRhdGRhCj4gKwkgKiBUaGlzIHdpbGwgYmUgcHJvdmlkZWQgYnkgdXNlcnNwYWNl IGNvbXBvc2l0b3JzIGJhc2VkIG9uIEhEUiBjb250ZW50Cj4gKwkgKi8KPiArCXN0cnVjdCBkcm1f cHJvcGVydHkgKmhkcl9vdXRwdXRfbWV0YWRhdGFfcHJvcGVydHk7Cj4gKwo+ICAJLyogZHVtYiBp b2N0bCBwYXJhbWV0ZXJzICovCj4gIAl1aW50MzJfdCBwcmVmZXJyZWRfZGVwdGgsIHByZWZlcl9z aGFkb3c7Cj4gIAo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2hkbWkuaCBiL2luY2x1ZGUv bGludXgvaGRtaS5oCj4gaW5kZXggOTI3YWQ2NC4uYTA2NTE5NCAxMDA2NDQKPiAtLS0gYS9pbmNs dWRlL2xpbnV4L2hkbWkuaAo+ICsrKyBiL2luY2x1ZGUvbGludXgvaGRtaS5oCj4gQEAgLTE1Miw2 ICsxNTIsMTYgQEAgZW51bSBoZG1pX2NvbnRlbnRfdHlwZSB7Cj4gIAlIRE1JX0NPTlRFTlRfVFlQ RV9HQU1FLAo+ICB9Owo+ICAKPiArZW51bSBoZG1pX21ldGFkYXRhX3R5cGUgewo+ICsJSERNSV9T VEFUSUNfTUVUQURBVEFfVFlQRTEgPSAxLAo+ICt9Owo+ICsKPiArZW51bSBoZG1pX2VvdGYgewo+ ICsJSERNSV9FT1RGX1RSQURJVElPTkFMX0dBTU1BX1NEUiwKPiArCUhETUlfRU9URl9UUkFESVRJ T05BTF9HQU1NQV9IRFIsCj4gKwlIRE1JX0VPVEZfU01QVEVfU1QyMDg0LAo+ICt9Owo+ICsKPiAg c3RydWN0IGhkbWlfYXZpX2luZm9mcmFtZSB7Cj4gIAllbnVtIGhkbWlfaW5mb2ZyYW1lX3R5cGUg dHlwZTsKPiAgCXVuc2lnbmVkIGNoYXIgdmVyc2lvbjsKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS91 YXBpL2RybS9kcm1fbW9kZS5oIGIvaW5jbHVkZS91YXBpL2RybS9kcm1fbW9kZS5oCj4gaW5kZXgg ODNjZDE2My4uN2I2YTUxOSAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL3VhcGkvZHJtL2RybV9tb2Rl LmgKPiArKysgYi9pbmNsdWRlL3VhcGkvZHJtL2RybV9tb2RlLmgKPiBAQCAtNjMwLDYgKzYzMCw0 NSBAQCBzdHJ1Y3QgZHJtX2NvbG9yX2x1dCB7Cj4gIAlfX3UxNiByZXNlcnZlZDsKPiAgfTsKPiAg Cj4gKy8qIEhEUiBNZXRhZGF0YSBJbmZvZnJhbWUgYXMgcGVyIDg2MS5HIHNwZWMgKi8KPiArc3Ry dWN0IGhkcl9tZXRhZGF0YV9pbmZvZnJhbWUgewo+ICsJX191OCBlb3RmOwo+ICsJX191OCBtZXRh ZGF0YV90eXBlOwo+ICsJc3RydWN0IHsKPiArCQlfX3UxNiB4LCB5Owo+ICsJCX0gZGlzcGxheV9w cmltYXJpZXNbM107Cj4gKwlzdHJ1Y3Qgewo+ICsJCV9fdTE2IHgsIHk7Cj4gKwkJfSB3aGl0ZV9w b2ludDsKPiArCV9fdTE2IG1heF9kaXNwbGF5X21hc3RlcmluZ19sdW1pbmFuY2U7Cj4gKwlfX3Ux NiBtaW5fZGlzcGxheV9tYXN0ZXJpbmdfbHVtaW5hbmNlOwo+ICsJX191MTYgbWF4X2NsbDsKPiAr CV9fdTE2IG1heF9mYWxsOwo+ICt9Owo+ICsKPiArc3RydWN0IGhkcl9vdXRwdXRfbWV0YWRhdGEg ewo+ICsJX191MzIgbWV0YWRhdGFfdHlwZTsKPiArCXVuaW9uIHsKPiArCQlzdHJ1Y3QgaGRyX21l dGFkYXRhX2luZm9mcmFtZSBoZG1pX21ldGFkYXRhX3R5cGUxOwo+ICsJfTsKPiArfTsKPiArCj4g Ky8qIEhEUiBNZXRhZGF0YSBhcyBwZXIgODYxLkcgc3BlYyAqLwo+ICtzdHJ1Y3QgaGRyX3N0YXRp Y19tZXRhZGF0YSB7Cj4gKwlfX3U4IGVvdGY7Cj4gKwlfX3U4IG1ldGFkYXRhX3R5cGU7Cj4gKwlf X3UxNiBtYXhfY2xsOwo+ICsJX191MTYgbWF4X2ZhbGw7Cj4gKwlfX3UxNiBtaW5fY2xsOwo+ICt9 Owo+ICsKPiArc3RydWN0IGhkcl9zaW5rX21ldGFkYXRhIHsKPiArCV9fdTMyIG1ldGFkYXRhX3R5 cGU7Cj4gKwl1bmlvbiB7Cj4gKwkJc3RydWN0IGhkcl9zdGF0aWNfbWV0YWRhdGEgaGRtaV90eXBl MTsKPiArCX07Cj4gK307Cj4gKwo+ICAjZGVmaW5lIERSTV9NT0RFX1BBR0VfRkxJUF9FVkVOVCAw eDAxCj4gICNkZWZpbmUgRFJNX01PREVfUEFHRV9GTElQX0FTWU5DIDB4MDIKPiAgI2RlZmluZSBE Uk1fTU9ERV9QQUdFX0ZMSVBfVEFSR0VUX0FCU09MVVRFIDB4NAo+IC0tIAo+IDEuOS4xCj4gCj4g X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBkcmktZGV2 ZWwgbWFpbGluZyBsaXN0Cj4gZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCgotLSAK VmlsbGUgU3lyasOkbMOkCkludGVsCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2RyaS1kZXZlbA==