From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH v8 1/2] drm: Add connector property to limit max bpc Date: Tue, 18 Sep 2018 21:51:03 +0300 Message-ID: <20180918185103.GZ5565@intel.com> References: <20180918181115.3388-1-radhakrishna.sripada@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: <20180918181115.3388-1-radhakrishna.sripada@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Radhakrishna Sripada Cc: Daniel Vetter , intel-gfx@lists.freedesktop.org, Kishore Kadiyala , dri-devel@lists.freedesktop.org, Rodrigo Vivi List-Id: dri-devel@lists.freedesktop.org T24gVHVlLCBTZXAgMTgsIDIwMTggYXQgMTE6MTE6MTRBTSAtMDcwMCwgUmFkaGFrcmlzaG5hIFNy aXBhZGEgd3JvdGU6Cj4gQXQgdGltZXMgMTJicGMgSERNSSBjYW5ub3QgYmUgZHJpdmVuIGR1ZSB0 byBmYXVsdHkgY2FibGVzLCBkb25nbGVzCj4gbGV2ZWwgc2hpZnRlcnMgZXRjLiBUbyB3b3JrYXJv dW5kIHRoZW0gd2UgbWF5IG5lZWQgdG8gZHJpdmUgdGhlIG91dHB1dAo+IGF0IGEgbG93ZXIgYnBj LiBDdXJyZW50bHkgdGhlIHVzZXIgc3BhY2UgZG9lcyBub3QgaGF2ZSBhIHdheSB0byBsaW1pdAo+ IHRoZSBicGMuIFRoZSBkZWZhdWx0IGJwYyB0byBiZSBwcm9ncmFtbWVkIGlzIGRlY2lkZWQgYnkg dGhlIGRyaXZlciBhbmQKPiBpcyBydW4gYWdhaW5zdCBjb25uZWN0b3IgbGltaXRhdGlvbnMuCj4g Cj4gQ3JlYXRpbmcgYSBuZXcgY29ubmVjdG9yIHByb3BlcnR5ICJtYXggYnBjIiBpbiBvcmRlciB0 byBsaW1pdCB0aGUgYnBjLgo+IHhyYW5kciBjYW4gbWFrZSB1c2Ugb2YgdGhpcyBjb25uZWN0b3Ig cHJvcGVydHkgdG8gbWFrZSBzdXJlIHRoYXQgYnBjIGRvZXMKPiBub3QgZXhjZWVkIHRoZSBjb25m aWd1cmVkIHZhbHVlLiBUaGlzIHByb3BlcnR5IGNhbiBiZSB1c2VkIGJ5IHVzZXJzcGFjZSB0bwo+ IHNldCB0aGUgYnBjLgo+IAo+IFYyOiBJbml0aWFsaXplIG1heF9icGMgdG8gc2F0aXNmeSBrbXNf cHJvcGVydGllcwo+IFYzOiBNb3ZlIHRoZSBwcm9wZXJ0eSB0byBkcm1fY29ubmVjdG9yCj4gVjQ6 IFNwbGl0IGRybSBhbmQgaTkxNSBjb21wb25lbnRzKFZpbGxlKQo+IFY1OiBNYWtlIHRoZSBwcm9w ZXJ0eSBwZXIgY29ubmVjdG9yKFZpbGxlKQo+IFY2OiBDb21wYXJlIHRoZSByZXF1ZXN0ZWQgYnBj IHRvIGNvbm5lY3RvciBicGMoRGFuaWVsKQo+ICAgICBNb3ZlIHRoZSBhdHRhY2hfcHJvcGVydHkg ZnVuY3Rpb24gdG8gY29yZShWaWxsZSkKPiBWNzogRml4IGNoZWNrcGF0Y2ggd2FybmluZ3MKPiBW ODogU2ltcGxpZnkgdGhlIGNvbm5lY3RvciBjaGVjayBjb2RlKFZpbGxlKQo+IAo+IENjOiBWaWxs ZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+IENjOiBEYW5pZWwg VmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPgo+IENjOiBLaXNob3JlIEthZGl5YWxhIDxr aXNob3JlLmthZGl5YWxhQGludGVsLmNvbT4KPiBDYzogUm9kcmlnbyBWaXZpIDxyb2RyaWdvLnZp dmlAaW50ZWwuY29tPgo+IENjOiBNYW5hc2kgTmF2YXJlIDxtYW5hc2kuZC5uYXZhcmVAaW50ZWwu Y29tPgo+IENjOiBTdGFuaXNsYXYgTGlzb3Zza2l5IDxzdGFuaXNsYXYubGlzb3Zza2l5QGludGVs LmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBSYWRoYWtyaXNobmEgU3JpcGFkYSA8cmFkaGFrcmlzaG5h LnNyaXBhZGFAaW50ZWwuY29tPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5j ICAgICAgICB8ICA1ICsrKysrCj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5j IHwgIDQgKysrKwo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmMgICB8ICA0ICsr KysKPiAgZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYyAgICAgfCAzMyArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysKPiAgaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oICAg ICAgICAgfCAyMCArKysrKysrKysrKysrKysrKysrKwo+ICA1IGZpbGVzIGNoYW5nZWQsIDY2IGlu c2VydGlvbnMoKykKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMu YyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKPiBpbmRleCAyODcwYWUyMDUyMzcuLmRj NzZlODljMDRhZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwo+IEBAIC0zOTAsNiArMzkwLDcgQEAg c3RhdGljIGludCBkcm1fYXRvbWljX2Nvbm5lY3Rvcl9jaGVjayhzdHJ1Y3QgZHJtX2Nvbm5lY3Rv ciAqY29ubmVjdG9yLAo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGU7 Cj4gIAlzdHJ1Y3QgZHJtX3dyaXRlYmFja19qb2IgKndyaXRlYmFja19qb2IgPSBzdGF0ZS0+d3Jp dGViYWNrX2pvYjsKPiArCXN0cnVjdCBkcm1fZGlzcGxheV9pbmZvICppbmZvID0gJmNvbm5lY3Rv ci0+ZGlzcGxheV9pbmZvOwoKQ2FuIGJlIGNvbnN0LgoKPiAgCj4gIAlpZiAoKGNvbm5lY3Rvci0+ Y29ubmVjdG9yX3R5cGUgIT0gRFJNX01PREVfQ09OTkVDVE9SX1dSSVRFQkFDSykgfHwgIXdyaXRl YmFja19qb2IpCj4gIAkJcmV0dXJuIDA7Cj4gQEAgLTQxNyw2ICs0MTgsMTAgQEAgc3RhdGljIGlu dCBkcm1fYXRvbWljX2Nvbm5lY3Rvcl9jaGVjayhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVj dG9yLAo+ICAJCXJldHVybiAtRUlOVkFMOwo+ICAJfQo+ICAKPiArCXN0YXRlLT5tYXhfYnBjID0g aW5mby0+YnBjID86IDg7Cj4gKwlpZiAoY29ubmVjdG9yLT5tYXhfYnBjX3Byb3BlcnR5KQo+ICsJ CXN0YXRlLT5tYXhfYnBjID0gbWluKHN0YXRlLT5tYXhfYnBjLCBzdGF0ZS0+bWF4X3JlcXVlc3Rl ZF9icGMpOwoKSG9wZWZ1bGx5IHRoaXMgbG9naWMgaXMgZ2VuZXJpYyBlbm91Z2ggdG8gd29yayBm b3IgbW9zdCBkcml2ZXJzLgpJIGhhdmVuJ3QgYWN0dWFsbHkgY2hlY2tlZCB3aGF0IGFueW9uZSBl bHNlIGRvZXMgd2l0aCBpbmZvLT5icGMuCgpSZXZpZXdlZC1ieTogVmlsbGUgU3lyasOkbMOkIDx2 aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCj4gKwo+ICAJcmV0dXJuIDA7Cj4gIH0KPiAg Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jIGIvZHJp dmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMKPiBpbmRleCAzY2YxYWExMzI3NzguLmQ5 Y2U4MDc3ZmI2YSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxw ZXIuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCj4gQEAgLTYz OSw2ICs2MzksMTAgQEAgZHJtX2F0b21pY19oZWxwZXJfY2hlY2tfbW9kZXNldChzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LAo+ICAJCQlpZiAob2xkX2Nvbm5lY3Rvcl9zdGF0ZS0+bGlua19zdGF0dXMg IT0KPiAgCQkJICAgIG5ld19jb25uZWN0b3Jfc3RhdGUtPmxpbmtfc3RhdHVzKQo+ICAJCQkJbmV3 X2NydGNfc3RhdGUtPmNvbm5lY3RvcnNfY2hhbmdlZCA9IHRydWU7Cj4gKwo+ICsJCQlpZiAob2xk X2Nvbm5lY3Rvcl9zdGF0ZS0+bWF4X3JlcXVlc3RlZF9icGMgIT0KPiArCQkJICAgIG5ld19jb25u ZWN0b3Jfc3RhdGUtPm1heF9yZXF1ZXN0ZWRfYnBjKQo+ICsJCQkJbmV3X2NydGNfc3RhdGUtPmNv bm5lY3RvcnNfY2hhbmdlZCA9IHRydWU7Cj4gIAkJfQo+ICAKPiAgCQlpZiAoZnVuY3MtPmF0b21p Y19jaGVjaykKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5j IGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5jCj4gaW5kZXggZDViN2YzMTUwOThj Li44NmFjMzM5MjJiMDkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNf dWFwaS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5jCj4gQEAgLTc0 MCw2ICs3NDAsOCBAQCBzdGF0aWMgaW50IGRybV9hdG9taWNfY29ubmVjdG9yX3NldF9wcm9wZXJ0 eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ICAKPiAgCQlyZXR1cm4gc2V0X291 dF9mZW5jZV9mb3JfY29ubmVjdG9yKHN0YXRlLT5zdGF0ZSwgY29ubmVjdG9yLAo+ICAJCQkJCQkg ICBmZW5jZV9wdHIpOwo+ICsJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25uZWN0b3ItPm1heF9i cGNfcHJvcGVydHkpIHsKPiArCQlzdGF0ZS0+bWF4X3JlcXVlc3RlZF9icGMgPSB2YWw7Cj4gIAl9 IGVsc2UgaWYgKGNvbm5lY3Rvci0+ZnVuY3MtPmF0b21pY19zZXRfcHJvcGVydHkpIHsKPiAgCQly ZXR1cm4gY29ubmVjdG9yLT5mdW5jcy0+YXRvbWljX3NldF9wcm9wZXJ0eShjb25uZWN0b3IsCj4g IAkJCQlzdGF0ZSwgcHJvcGVydHksIHZhbCk7Cj4gQEAgLTgwNCw2ICs4MDYsOCBAQCBkcm1fYXRv bWljX2Nvbm5lY3Rvcl9nZXRfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rv ciwKPiAgCQkqdmFsID0gMDsKPiAgCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29uZmlnLT53cml0 ZWJhY2tfb3V0X2ZlbmNlX3B0cl9wcm9wZXJ0eSkgewo+ICAJCSp2YWwgPSAwOwo+ICsJfSBlbHNl IGlmIChwcm9wZXJ0eSA9PSBjb25uZWN0b3ItPm1heF9icGNfcHJvcGVydHkpIHsKPiArCQkqdmFs ID0gc3RhdGUtPm1heF9yZXF1ZXN0ZWRfYnBjOwo+ICAJfSBlbHNlIGlmIChjb25uZWN0b3ItPmZ1 bmNzLT5hdG9taWNfZ2V0X3Byb3BlcnR5KSB7Cj4gIAkJcmV0dXJuIGNvbm5lY3Rvci0+ZnVuY3Mt PmF0b21pY19nZXRfcHJvcGVydHkoY29ubmVjdG9yLAo+ICAJCQkJc3RhdGUsIHByb3BlcnR5LCB2 YWwpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jIGIvZHJp dmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYwo+IGluZGV4IDFlNDBlNWRlY2JlOS4uNjVlMjJj MWIzN2E1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jCj4gQEAgLTE1ODMsNiArMTU4Mywz OSBAQCB2b2lkIGRybV9jb25uZWN0b3Jfc2V0X2xpbmtfc3RhdHVzX3Byb3BlcnR5KHN0cnVjdCBk cm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gIEVYUE9SVF9TWU1CT0woZHJtX2Nvbm5lY3Rvcl9z ZXRfbGlua19zdGF0dXNfcHJvcGVydHkpOwo+ICAKPiAgLyoqCj4gKyAqIGRybV9jb25uZWN0b3Jf YXR0YWNoX21heF9icGNfcHJvcGVydHkgLSBhdHRhY2ggIm1heCBicGMiIHByb3BlcnR5Cj4gKyAq IEBjb25uZWN0b3I6IGNvbm5lY3RvciB0byBhdHRhY2ggbWF4IGJwYyBwcm9wZXJ0eSBvbi4KPiAr ICogQG1pbjogVGhlIG1pbmltdW0gYml0IGRlcHRoIHN1cHBvcnRlZCBieSB0aGUgY29ubmVjdG9y Lgo+ICsgKiBAbWF4OiBUaGUgbWF4aW11bSBiaXQgZGVwdGggc3VwcG9ydGVkIGJ5IHRoZSBjb25u ZWN0b3IuCj4gKyAqCj4gKyAqIFRoaXMgaXMgdXNlZCB0byBhZGQgc3VwcG9ydCBmb3IgbGltaXRp bmcgdGhlIGJpdCBkZXB0aCBvbiBhIGNvbm5lY3Rvci4KPiArICoKPiArICogUmV0dXJuczoKPiAr ICogWmVybyBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBlcnJubyBvbiBmYWlsdXJlLgo+ICsgKi8KPiAr aW50IGRybV9jb25uZWN0b3JfYXR0YWNoX21heF9icGNfcHJvcGVydHkoc3RydWN0IGRybV9jb25u ZWN0b3IgKmNvbm5lY3RvciwKPiArCQkJCQkgIGludCBtaW4sIGludCBtYXgpCj4gK3sKPiArCXN0 cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjb25uZWN0b3ItPmRldjsKPiArCXN0cnVjdCBkcm1fcHJv cGVydHkgKnByb3A7Cj4gKwo+ICsJcHJvcCA9IGNvbm5lY3Rvci0+bWF4X2JwY19wcm9wZXJ0eTsK PiArCWlmICghcHJvcCkgewo+ICsJCXByb3AgPSBkcm1fcHJvcGVydHlfY3JlYXRlX3JhbmdlKGRl diwgMCwgIm1heCBicGMiLCBtaW4sIG1heCk7Cj4gKwkJaWYgKCFwcm9wKQo+ICsJCQlyZXR1cm4g LUVOT01FTTsKPiArCj4gKwkJY29ubmVjdG9yLT5tYXhfYnBjX3Byb3BlcnR5ID0gcHJvcDsKPiAr CX0KPiArCj4gKwlkcm1fb2JqZWN0X2F0dGFjaF9wcm9wZXJ0eSgmY29ubmVjdG9yLT5iYXNlLCBw cm9wLCBtYXgpOwo+ICsJY29ubmVjdG9yLT5zdGF0ZS0+bWF4X3JlcXVlc3RlZF9icGMgPSBtYXg7 Cj4gKwo+ICsJcmV0dXJuIDA7Cj4gK30KPiArRVhQT1JUX1NZTUJPTChkcm1fY29ubmVjdG9yX2F0 dGFjaF9tYXhfYnBjX3Byb3BlcnR5KTsKPiArCj4gKy8qKgo+ICAgKiBkcm1fY29ubmVjdG9yX2lu aXRfcGFuZWxfb3JpZW50YXRpb25fcHJvcGVydHkgLQo+ICAgKglpbml0aWFsaXplIHRoZSBjb25u ZWN0ZXJzIHBhbmVsX29yaWVudGF0aW9uIHByb3BlcnR5Cj4gICAqIEBjb25uZWN0b3I6IGNvbm5l Y3RvciBmb3Igd2hpY2ggdG8gaW5pdCB0aGUgcGFuZWwtb3JpZW50YXRpb24gcHJvcGVydHkuCj4g ZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaCBiL2luY2x1ZGUvZHJtL2Ry bV9jb25uZWN0b3IuaAo+IGluZGV4IDkxYTg3N2ZhMDBjYi4uYmZjM2U2OThjZGE2IDEwMDY0NAo+ IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaAo+ICsrKyBiL2luY2x1ZGUvZHJtL2Ry bV9jb25uZWN0b3IuaAo+IEBAIC00NjEsNiArNDYxLDE4IEBAIHN0cnVjdCBkcm1fY29ubmVjdG9y X3N0YXRlIHsKPiAgCSAqIGRybV93cml0ZWJhY2tfc2lnbmFsX2NvbXBsZXRpb24oKQo+ICAJICov Cj4gIAlzdHJ1Y3QgZHJtX3dyaXRlYmFja19qb2IgKndyaXRlYmFja19qb2I7Cj4gKwo+ICsJLyoq Cj4gKwkgKiBAbWF4X3JlcXVlc3RlZF9icGM6IENvbm5lY3RvciBwcm9wZXJ0eSB0byBsaW1pdCB0 aGUgbWF4aW11bSBiaXQKPiArCSAqIGRlcHRoIG9mIHRoZSBwaXhlbHMuCj4gKwkgKi8KPiArCXU4 IG1heF9yZXF1ZXN0ZWRfYnBjOwo+ICsKPiArCS8qKgo+ICsJICogQG1heF9icGM6IENvbm5lY3Rv ciBtYXhfYnBjIGJhc2VkIG9uIHRoZSByZXF1ZXN0ZWQgbWF4X2JwYyBwcm9wZXJ0eQo+ICsJICog YW5kIHRoZSBjb25uZWN0b3IgYnBjIGxpbWl0YXRpb25zIG9idGFpbmVkIGZyb20gZWRpZC4KPiAr CSAqLwo+ICsJdTggbWF4X2JwYzsKPiAgfTsKPiAgCj4gIC8qKgo+IEBAIC05MjQsNiArOTM2LDEy IEBAIHN0cnVjdCBkcm1fY29ubmVjdG9yIHsKPiAgCSAqLwo+ICAJc3RydWN0IGRybV9wcm9wZXJ0 eV9ibG9iICpwYXRoX2Jsb2JfcHRyOwo+ICAKPiArCS8qKgo+ICsJICogQG1heF9icGNfcHJvcGVy dHk6IERlZmF1bHQgY29ubmVjdG9yIHByb3BlcnR5IGZvciB0aGUgbWF4IGJwYyB0byBiZQo+ICsJ ICogZHJpdmVuIG91dCBvZiB0aGUgY29ubmVjdG9yLgo+ICsJICovCj4gKwlzdHJ1Y3QgZHJtX3By b3BlcnR5ICptYXhfYnBjX3Byb3BlcnR5Owo+ICsKPiAgI2RlZmluZSBEUk1fQ09OTkVDVE9SX1BP TExfSFBEICgxIDw8IDApCj4gICNkZWZpbmUgRFJNX0NPTk5FQ1RPUl9QT0xMX0NPTk5FQ1QgKDEg PDwgMSkKPiAgI2RlZmluZSBEUk1fQ09OTkVDVE9SX1BPTExfRElTQ09OTkVDVCAoMSA8PCAyKQo+ IEBAIC0xMjAxLDYgKzEyMTksOCBAQCB2b2lkIGRybV9jb25uZWN0b3Jfc2V0X2xpbmtfc3RhdHVz X3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gIAkJCQkJICAgIHVp bnQ2NF90IGxpbmtfc3RhdHVzKTsKPiAgaW50IGRybV9jb25uZWN0b3JfaW5pdF9wYW5lbF9vcmll bnRhdGlvbl9wcm9wZXJ0eSgKPiAgCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsIGlu dCB3aWR0aCwgaW50IGhlaWdodCk7Cj4gK2ludCBkcm1fY29ubmVjdG9yX2F0dGFjaF9tYXhfYnBj X3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gKwkJCQkJICBpbnQg bWluLCBpbnQgbWF4KTsKPiAgCj4gIC8qKgo+ICAgKiBzdHJ1Y3QgZHJtX3RpbGVfZ3JvdXAgLSBU aWxlIGdyb3VwIG1ldGFkYXRhCj4gLS0gCj4gMi45LjMKCi0tIApWaWxsZSBTeXJqw6Rsw6QKSW50 ZWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwt Z2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==