From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: Re: [PATCH 4/7] drm/i915/gen11: Program the scalers correctly for planar formats. Date: Mon, 24 Sep 2018 10:39:54 +0200 Message-ID: References: <20180921173945.6276-1-maarten.lankhorst@linux.intel.com> <20180921173945.6276-5-maarten.lankhorst@linux.intel.com> <20180921184501.GI5565@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2C4F189B3C for ; Mon, 24 Sep 2018 08:41:10 +0000 (UTC) In-Reply-To: <20180921184501.GI5565@intel.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: =?UTF-8?B?VmlsbGUgU3lyasOkbMOk?= Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T3AgMjEtMDktMTggb20gMjA6NDUgc2NocmVlZiBWaWxsZSBTeXJqw6Rsw6Q6Cj4gT24gRnJpLCBT ZXAgMjEsIDIwMTggYXQgMDc6Mzk6NDJQTSArMDIwMCwgTWFhcnRlbiBMYW5raG9yc3Qgd3JvdGU6 Cj4+IFRoZSBmaXJzdCAzIHBsYW5lcyAocHJpbWFyeSwgc3ByaXRlIDAgYW5kIDEpIGhhdmUgYSBk ZWRpY2F0ZWQgY2hyb21hCj4+IHVwc2FtcGxlciB0byB1cHNjYWxlIFlVVjQyMCB0byBZVVY0NDQg YW5kIHRoZSBzY2FsZXIgc2hvdWxkIG9ubHkgYmUKPj4gdXNlZCBmb3IgdXBzY2FsaW5nLiBCZWNh dXNlIG9mIHRoaXMgd2Ugc2hvdWxkbid0IHByb2dyYW0gdGhlIHNjYWxlcnMKPj4gaW4gcGxhbmFy IG1vZGUgaWYgTlYxMiBhbmQgdGhlIGNocm9tYSB1cHNhbXBsZXIgYXJlIHVzZWQuIEluc3RlYWQK Pj4gcHJvZ3JhbSB0aGUgc2NhbGVycyBsaWtlIG9uIG5vcm1hbCBwbGFuZXMuCj4+Cj4+IFNwcml0 ZSAyIGFuZCAzIGhhdmUgbm8gZGVkaWNhdGVkIHNjYWxlciwgYW5kIG5lZWQgdG8gcHJvZ3JhbSB0 aGUKPj4gc2VsZWN0ZWQgWSBwbGFuZSBpbiB0aGUgc2NhbGVyIG1vZGUuCj4+Cj4+IFNpZ25lZC1v ZmYtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5j b20+Cj4+IC0tLQo+PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCAgICAgIHwgIDIg KysKPj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F0b21pYy5jICB8ICA2ICsrKysrLQo+ PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgMzAgKysrKysrKysrKysr KysrKy0tLS0tLS0tLS0tLQo+PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAg IHwgIDggKysrKysrKysKPj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jICB8 ICAzICsrLQo+PiAgNSBmaWxlcyBjaGFuZ2VkLCAzNCBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlv bnMoLSkKPj4KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4+IGluZGV4IGU3ZTZjYTdmOTY2NS4u MWI1OWQxNWFhZjU5IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Jl Zy5oCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPj4gQEAgLTY4NzIs NiArNjg3Miw4IEBAIGVudW0gewo+PiAgI2RlZmluZSBQU19WQURBUFRfTU9ERV9MRUFTVF9BREFQ VCAoMCA8PCA1KQo+PiAgI2RlZmluZSBQU19WQURBUFRfTU9ERV9NT0RfQURBUFQgICAoMSA8PCA1 KQo+PiAgI2RlZmluZSBQU19WQURBUFRfTU9ERV9NT1NUX0FEQVBUICAoMyA8PCA1KQo+PiArI2Rl ZmluZSBQU19QTEFORV9ZX1NFTF9NQVNLICAoNyA8PCA1KQo+PiArI2RlZmluZSBQU19QTEFORV9Z X1NFTChwbGFuZSkgKCgocGxhbmUpICsgMSkgPDwgNSkKPj4gIAo+PiAgI2RlZmluZSBfUFNfUFdS X0dBVEVfMUEgICAgIDB4NjgxNjAKPj4gICNkZWZpbmUgX1BTX1BXUl9HQVRFXzJBICAgICAweDY4 MjYwCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdG9taWMuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F0b21pYy5jCj4+IGluZGV4IDIwYmZjODljNjUy Yy4uM2MyNDBhZDBhOGQzIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9hdG9taWMuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdG9taWMuYwo+ PiBAQCAtMjM1LDkgKzIzNSwxMyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9hdG9taWNfc2V0dXBfc2Nh bGVyKHN0cnVjdCBpbnRlbF9jcnRjX3NjYWxlcl9zdGF0ZSAqc2NhbGVyX3N0YQo+PiAgCQlpZiAo SU5URUxfR0VOKGRldl9wcml2KSA9PSA5ICYmCj4+ICAJCSAgICAhSVNfR0VNSU5JTEFLRShkZXZf cHJpdikpCj4+ICAJCQltb2RlID0gU0tMX1BTX1NDQUxFUl9NT0RFX05WMTI7Cj4+IC0JCWVsc2UK Pj4gKwkJZWxzZSBpZiAoIWljbF9pc19oZHJfcGxhbmUodG9faW50ZWxfcGxhbmUocGxhbmVfc3Rh dGUtPmJhc2UucGxhbmUpKSkgewo+PiAgCQkJbW9kZSA9IFBTX1NDQUxFUl9NT0RFX1BMQU5BUjsK Pj4gIAo+PiArCQkJaWYgKHBsYW5lX3N0YXRlLT5saW5rZWRfcGxhbmUpCj4+ICsJCQkJbW9kZSB8 PSBQU19QTEFORV9ZX1NFTChwbGFuZV9zdGF0ZS0+bGlua2VkX3BsYW5lLT5pZCk7Cj4+ICsJCX0g ZWxzZQo+PiArCQkJbW9kZSA9IFBTX1NDQUxFUl9NT0RFX1BBQ0tFRDsKPj4gIAl9IGVsc2UgaWYg KElOVEVMX0dFTihkZXZfcHJpdikgPiA5IHx8IElTX0dFTUlOSUxBS0UoZGV2X3ByaXYpKSB7Cj4+ ICAJCW1vZGUgPSBQU19TQ0FMRVJfTU9ERV9QQUNLRUQ7Cj4+ICAJfSBlbHNlIGlmIChudW1fc2Nh bGVyc19uZWVkID09IDEgJiYgaW50ZWxfY3J0Yy0+bnVtX3NjYWxlcnMgPiAxKSB7Cj4+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPj4gaW5kZXggMTljZDZiYmI0M2M0Li5jZWE5MTIz NWQ0OTggMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXku Ywo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPj4gQEAgLTQ4 MzMsOCArNDgzMyw3IEBAIHN0YXRpYyBpbnQKPj4gIHNrbF91cGRhdGVfc2NhbGVyKHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLCBib29sIGZvcmNlX2RldGFjaCwKPj4gIAkJICB1 bnNpZ25lZCBpbnQgc2NhbGVyX3VzZXIsIGludCAqc2NhbGVyX2lkLAo+PiAgCQkgIGludCBzcmNf dywgaW50IHNyY19oLCBpbnQgZHN0X3csIGludCBkc3RfaCwKPj4gLQkJICBib29sIHBsYW5lX3Nj YWxlcl9jaGVjaywKPj4gLQkJICB1aW50MzJfdCBwaXhlbF9mb3JtYXQpCj4+ICsJCSAgY29uc3Qg c3RydWN0IGRybV9mb3JtYXRfaW5mbyAqZm9ybWF0LCBib29sIG5lZWRfc2NhbGluZykKPj4gIHsK Pj4gIAlzdHJ1Y3QgaW50ZWxfY3J0Y19zY2FsZXJfc3RhdGUgKnNjYWxlcl9zdGF0ZSA9Cj4+ICAJ CSZjcnRjX3N0YXRlLT5zY2FsZXJfc3RhdGU7Cj4+IEBAIC00ODQzLDE4ICs0ODQyLDE0IEBAIHNr bF91cGRhdGVfc2NhbGVyKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLCBib29s IGZvcmNlX2RldGFjaCwKPj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0 b19pOTE1KGludGVsX2NydGMtPmJhc2UuZGV2KTsKPj4gIAljb25zdCBzdHJ1Y3QgZHJtX2Rpc3Bs YXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSA9Cj4+ICAJCSZjcnRjX3N0YXRlLT5iYXNlLmFkanVzdGVk X21vZGU7Cj4+IC0JaW50IG5lZWRfc2NhbGluZzsKPj4gIAo+PiAgCS8qCj4+ICAJICogU3JjIGNv b3JkaW5hdGVzIGFyZSBhbHJlYWR5IHJvdGF0ZWQgYnkgMjcwIGRlZ3JlZXMgZm9yCj4+ICAJICog dGhlIDkwLzI3MCBkZWdyZWUgcGxhbmUgcm90YXRpb24gY2FzZXMgKHRvIG1hdGNoIHRoZQo+PiAg CSAqIEdUVCBtYXBwaW5nKSwgaGVuY2Ugbm8gbmVlZCB0byBhY2NvdW50IGZvciByb3RhdGlvbiBo ZXJlLgo+PiAgCSAqLwo+PiAtCW5lZWRfc2NhbGluZyA9IHNyY193ICE9IGRzdF93IHx8IHNyY19o ICE9IGRzdF9oOwo+PiAtCj4+IC0JaWYgKHBsYW5lX3NjYWxlcl9jaGVjaykKPj4gLQkJaWYgKHBp eGVsX2Zvcm1hdCA9PSBEUk1fRk9STUFUX05WMTIpCj4+IC0JCQluZWVkX3NjYWxpbmcgPSB0cnVl Owo+PiArCWlmIChzcmNfdyAhPSBkc3RfdyB8fCBzcmNfaCAhPSBkc3RfaCkKPj4gKwkJbmVlZF9z Y2FsaW5nID0gdHJ1ZTsKPj4gIAo+PiAgCWlmIChjcnRjX3N0YXRlLT55Y2JjcjQyMCAmJiBzY2Fs ZXJfdXNlciA9PSBTS0xfQ1JUQ19JTkRFWCkKPj4gIAkJbmVlZF9zY2FsaW5nID0gdHJ1ZTsKPj4g QEAgLTQ4OTUsNyArNDg5MCw3IEBAIHNrbF91cGRhdGVfc2NhbGVyKHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpjcnRjX3N0YXRlLCBib29sIGZvcmNlX2RldGFjaCwKPj4gIAkJcmV0dXJuIDA7Cj4+ ICAJfQo+PiAgCj4+IC0JaWYgKHBsYW5lX3NjYWxlcl9jaGVjayAmJiBwaXhlbF9mb3JtYXQgPT0g RFJNX0ZPUk1BVF9OVjEyICYmCj4+ICsJaWYgKGZvcm1hdCAmJiBmb3JtYXQtPmZvcm1hdCA9PSBE Uk1fRk9STUFUX05WMTIgJiYKPj4gIAkgICAgKHNyY19oIDwgU0tMX01JTl9ZVVZfNDIwX1NSQ19I IHx8IHNyY193IDwgU0tMX01JTl9ZVVZfNDIwX1NSQ19XKSkgewo+PiAgCQlEUk1fREVCVUdfS01T KCJOVjEyOiBzcmMgZGltZW5zaW9ucyBub3QgbWV0XG4iKTsKPj4gIAkJcmV0dXJuIC1FSU5WQUw7 Cj4+IEBAIC00OTQzLDcgKzQ5MzgsNyBAQCBpbnQgc2tsX3VwZGF0ZV9zY2FsZXJfY3J0YyhzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqc3RhdGUpCj4+ICAJCQkJICZzdGF0ZS0+c2NhbGVyX3N0YXRl LnNjYWxlcl9pZCwKPj4gIAkJCQkgc3RhdGUtPnBpcGVfc3JjX3csIHN0YXRlLT5waXBlX3NyY19o LAo+PiAgCQkJCSBhZGp1c3RlZF9tb2RlLT5jcnRjX2hkaXNwbGF5LAo+PiAtCQkJCSBhZGp1c3Rl ZF9tb2RlLT5jcnRjX3ZkaXNwbGF5LCBmYWxzZSwgMCk7Cj4+ICsJCQkJIGFkanVzdGVkX21vZGUt PmNydGNfdmRpc3BsYXksIE5VTEwsIDApOwo+PiAgfQo+PiAgCj4+ICAvKioKPj4gQEAgLTQ5NTgs MTMgKzQ5NTMsMjIgQEAgaW50IHNrbF91cGRhdGVfc2NhbGVyX2NydGMoc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKnN0YXRlKQo+PiAgc3RhdGljIGludCBza2xfdXBkYXRlX3NjYWxlcl9wbGFuZShz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKPj4gIAkJCQkgICBzdHJ1Y3QgaW50 ZWxfcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlKQo+PiAgewo+PiAtCj4+ICAJc3RydWN0IGludGVs X3BsYW5lICppbnRlbF9wbGFuZSA9Cj4+ICAJCXRvX2ludGVsX3BsYW5lKHBsYW5lX3N0YXRlLT5i YXNlLnBsYW5lKTsKPj4gIAlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiA9IHBsYW5lX3N0YXRl LT5iYXNlLmZiOwo+PiAgCWludCByZXQ7Cj4+IC0KPj4gIAlib29sIGZvcmNlX2RldGFjaCA9ICFm YiB8fCAhcGxhbmVfc3RhdGUtPmJhc2UudmlzaWJsZTsKPj4gKwlib29sIG5lZWRfc2NhbGluZyA9 IGZhbHNlOwo+PiArCj4+ICsJaWYgKGZiICYmIGZiLT5mb3JtYXQtPmZvcm1hdCA9PSBEUk1fRk9S TUFUX05WMTIpIHsKPj4gKwkJLyoKPj4gKwkJICogR2VuMTAtIGFuZCBzcHJpdGUgMiBhbmQgMyBh bHdheXMgbmVlZCB0aGUgc2NhbGVyLgo+IFRoaXMgcGFydCBvZiB0aGUgY29tbWVudCBpcyByYXRo ZXIgbW9yZSBjb25mdXNpbmcgdGhhbiBoZWxwZnVsIEkgdGhpbmsuCj4gVGhlIHJlc3Qgc2VlbXMg Y2xlYXIgZW5vdWdoIHNvIG1heWJlIGp1c3QgZHJvcCB0aGlzIHNlbnRlbmNlPwpyLWIgaWYgY2hh bmdlZCB0bzoKZ2VuMTAtIGFuZCBub24taGRyIHBsYW5lcyBhbHdheXMgbmVlZCB0aGUgc2NhbGVy Pwo+PiArCQkgKiBPbiBnZW4xMSB3ZSB1c2UgdGhlIGNocm9tYSB1cHNhbXBsZXIgd2hlbiBhdmFp bGFibGUsCj4+ICsJCSAqIGFuZCBvbmx5IHVzZSB0aGUgc2NhbGVyIGZvciBub3JtYWwgc2NhbGlu Zy4KPj4gKwkJICovCj4+ICsJCWlmICghaWNsX2lzX2hkcl9wbGFuZShpbnRlbF9wbGFuZSkpCj4+ ICsJCQluZWVkX3NjYWxpbmcgPSB0cnVlOwo+PiArCX0KPj4gIAo+PiAgCXJldCA9IHNrbF91cGRh dGVfc2NhbGVyKGNydGNfc3RhdGUsIGZvcmNlX2RldGFjaCwKPj4gIAkJCQlkcm1fcGxhbmVfaW5k ZXgoJmludGVsX3BsYW5lLT5iYXNlKSwKPj4gQEAgLTQ5NzMsNyArNDk3Nyw3IEBAIHN0YXRpYyBp bnQgc2tsX3VwZGF0ZV9zY2FsZXJfcGxhbmUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNf c3RhdGUsCj4+ICAJCQkJZHJtX3JlY3RfaGVpZ2h0KCZwbGFuZV9zdGF0ZS0+YmFzZS5zcmMpID4+ IDE2LAo+PiAgCQkJCWRybV9yZWN0X3dpZHRoKCZwbGFuZV9zdGF0ZS0+YmFzZS5kc3QpLAo+PiAg CQkJCWRybV9yZWN0X2hlaWdodCgmcGxhbmVfc3RhdGUtPmJhc2UuZHN0KSwKPj4gLQkJCQlmYiA/ IHRydWUgOiBmYWxzZSwgZmIgPyBmYi0+Zm9ybWF0LT5mb3JtYXQgOiAwKTsKPj4gKwkJCQlmYiA/ IGZiLT5mb3JtYXQgOiBOVUxMLCBuZWVkX3NjYWxpbmcpOwo+PiAgCj4+ICAJaWYgKHJldCB8fCBw bGFuZV9zdGF0ZS0+c2NhbGVyX2lkIDwgMCkKPj4gIAkJcmV0dXJuIHJldDsKPj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHJ2LmgKPj4gaW5kZXggMjljN2E0YmI0ODRkLi4yNWJlMjM0MTQ5MTMgMTAwNjQ0 Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4+IEBAIC0yMTk2LDYgKzIxOTYsMTQgQEAgc3Rh dGljIGlubGluZSBib29sIGljbF9pc19udjEyX3lfcGxhbmUoZW51bSBwbGFuZV9pZCBpZCkKPj4g IAlyZXR1cm4gZmFsc2U7Cj4+ICB9Cj4+ICAKPj4gK3N0YXRpYyBpbmxpbmUgYm9vbCBpY2xfaXNf aGRyX3BsYW5lKHN0cnVjdCBpbnRlbF9wbGFuZSAqcGxhbmUpCj4+ICt7Cj4+ICsJaWYgKElOVEVM X0dFTih0b19pOTE1KHBsYW5lLT5iYXNlLmRldikpIDwgMTEpCj4+ICsJCXJldHVybiBmYWxzZTsK Pj4gKwo+PiArCXJldHVybiBwbGFuZS0+aWQgPCBQTEFORV9TUFJJVEUyOwo+PiArfQo+PiArCj4+ ICAvKiBpbnRlbF90di5jICovCj4+ICB2b2lkIGludGVsX3R2X2luaXQoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2KTsKPj4gIAo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfc3ByaXRlLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUu Ywo+PiBpbmRleCA0NmM2MzM2Y2I4NTguLjExMWQ3MmE1ZDVhMCAxMDA2NDQKPj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfc3ByaXRlLmMKPj4gQEAgLTMxMCw3ICszMTAsOCBAQCBza2xfcHJvZ3JhbV9z Y2FsZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+PiAgCWNydGNfaC0tOwo+ PiAgCj4+ICAJLyogVE9ETzogaGFuZGxlIHN1Yi1waXhlbCBjb29yZGluYXRlcyAqLwo+PiAtCWlm IChwbGFuZV9zdGF0ZS0+YmFzZS5mYi0+Zm9ybWF0LT5mb3JtYXQgPT0gRFJNX0ZPUk1BVF9OVjEy KSB7Cj4+ICsJaWYgKHBsYW5lX3N0YXRlLT5iYXNlLmZiLT5mb3JtYXQtPmZvcm1hdCA9PSBEUk1f Rk9STUFUX05WMTIgJiYKPj4gKwkgICAgIWljbF9pc19oZHJfcGxhbmUocGxhbmUpKSB7Cj4+ICAJ CXlfaHBoYXNlID0gc2tsX3NjYWxlcl9jYWxjX3BoYXNlKDEsIGZhbHNlKTsKPj4gIAkJeV92cGhh c2UgPSBza2xfc2NhbGVyX2NhbGNfcGhhc2UoMSwgZmFsc2UpOwo+PiAgCj4+IC0tIAo+PiAyLjE4 LjAKPj4KPj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K Pj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+PiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCj4+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50 ZWwtZ2Z4CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K SW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==