From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH v9 04/10] drm/i915/dsb: Indexed register write function for DSB. Date: Mon, 23 Sep 2019 10:35:23 +0300 Message-ID: <87ef07ihxg.fsf@intel.com> References: <20190920115930.27829-1-animesh.manna@intel.com> <20190920115930.27829-5-animesh.manna@intel.com> <87y2yjtb41.fsf@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 CA6856E152 for ; Mon, 23 Sep 2019 07:35:23 +0000 (UTC) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Animesh Manna , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCAyMCBTZXAgMjAxOSwgQW5pbWVzaCBNYW5uYSA8YW5pbWVzaC5tYW5uYUBpbnRlbC5j b20+IHdyb3RlOgo+IE9uIDkvMjAvMjAxOSA1OjQ4IFBNLCBKYW5pIE5pa3VsYSB3cm90ZToKPj4g T24gRnJpLCAyMCBTZXAgMjAxOSwgQW5pbWVzaCBNYW5uYSA8YW5pbWVzaC5tYW5uYUBpbnRlbC5j b20+IHdyb3RlOgo+Pj4gRFNCIGNhbiBwcm9ncmFtIGxhcmdlIHNldCBvZiBkYXRhIHRocm91Z2gg aW5kZXhlZCByZWdpc3RlciB3cml0ZQo+Pj4gKG9wY29kZSAweDkpIGluIG9uZSBzaG90LiBEU0Ig ZmVhdHVyZSBjYW4gYmUgdXNlZCBmb3IgYnVsayByZWdpc3Rlcgo+Pj4gcHJvZ3JhbW1pbmcgZS5n LiBnYW1tYSBsdXQgcHJvZ3JhbW1pbmcsIEhEUiBtZXRhIGRhdGEgcHJvZ3JhbW1pbmcuCj4+Pgo+ Pj4gdjE6IGluaXRpYWwgdmVyc2lvbi4KPj4+IHYyOiBzaW1wbGlmaWVkIGNvZGUgYnkgdXNpbmcg QUxJR04oKS4gKENocmlzKQo+Pj4gdjM6IGFzY2lpIHRhYmxlIGFkZGVkIGFzIGNvZGUgY29tbWVu dC4gKFNoYXNoYW5rKQo+Pj4gdjQ6IGNvc21ldGljIGNoYW5nZXMgZG9uZS4gKFNoYXNoYW5rKQo+ Pj4gdjU6IHJlc2V0IGluc19zdGFydF9vZmZzZXQuIChKYW5pKQo+Pj4gdjY6IHVwZGF0ZSBpbnNf c3RhcnRfb2Zmc2V0IGluIGluZWxfZHNiX3JlZ193cml0ZS4KPj4+Cj4+PiBDYzogU2hhc2hhbmsg U2hhcm1hIDxzaGFzaGFuay5zaGFybWFAaW50ZWwuY29tPgo+Pj4gQ2M6IEltcmUgRGVhayA8aW1y ZS5kZWFrQGludGVsLmNvbT4KPj4+IENjOiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAaW50ZWwu Y29tPgo+Pj4gQ2M6IFJvZHJpZ28gVml2aSA8cm9kcmlnby52aXZpQGludGVsLmNvbT4KPj4+IFJl dmlld2VkLWJ5OiBTaGFzaGFuayBTaGFybWEgPHNoYXNoYW5rLnNoYXJtYUBpbnRlbC5jb20+Cj4+ PiBTaWduZWQtb2ZmLWJ5OiBBbmltZXNoIE1hbm5hIDxhbmltZXNoLm1hbm5hQGludGVsLmNvbT4K Pj4+IC0tLQo+Pj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RzYi5jIHwg NjggKysrKysrKysrKysrKysrKysrKysrKysrCj4+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfZHNiLmggfCAgOSArKysrCj4+PiAgIDIgZmlsZXMgY2hhbmdlZCwgNzcgaW5z ZXJ0aW9ucygrKQo+Pj4KPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNw bGF5L2ludGVsX2RzYi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kc2Iu Ywo+Pj4gaW5kZXggZjk0Y2Q2ZGM5OGI2Li5mYWE4NTNiMDg0NTggMTAwNjQ0Cj4+PiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RzYi5jCj4+PiArKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RzYi5jCj4+PiBAQCAtMTIsOCArMTIsMTAgQEAK Pj4+ICAgLyogRFNCIG9wY29kZXMuICovCj4+PiAgICNkZWZpbmUgRFNCX09QQ09ERV9TSElGVAkJ MjQKPj4+ICAgI2RlZmluZSBEU0JfT1BDT0RFX01NSU9fV1JJVEUJCTB4MQo+Pj4gKyNkZWZpbmUg RFNCX09QQ09ERV9JTkRFWEVEX1dSSVRFCTB4OQo+Pj4gICAjZGVmaW5lIERTQl9CWVRFX0VOCQkJ MHhGCj4+PiAgICNkZWZpbmUgRFNCX0JZVEVfRU5fU0hJRlQJCTIwCj4+PiArI2RlZmluZSBEU0Jf UkVHX1ZBTFVFX01BU0sJCTB4ZmZmZmYKPj4+ICAgCj4+PiAgIHN0cnVjdCBpbnRlbF9kc2IgKgo+ Pj4gICBpbnRlbF9kc2JfZ2V0KHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQo+Pj4gQEAgLTgzLDkg Kzg1LDc0IEBAIHZvaWQgaW50ZWxfZHNiX3B1dChzdHJ1Y3QgaW50ZWxfZHNiICpkc2IpCj4+PiAg IAkJbXV0ZXhfdW5sb2NrKCZpOTE1LT5kcm0uc3RydWN0X211dGV4KTsKPj4+ICAgCQlkc2ItPmNt ZF9idWYgPSBOVUxMOwo+Pj4gICAJCWRzYi0+ZnJlZV9wb3MgPSAwOwo+Pj4gKwkJZHNiLT5pbnNf c3RhcnRfb2Zmc2V0ID0gMDsKPj4+ICAgCX0KPj4+ICAgfQo+Pj4gICAKPj4+ICt2b2lkIGludGVs X2RzYl9pbmRleGVkX3JlZ193cml0ZShzdHJ1Y3QgaW50ZWxfZHNiICpkc2IsIGk5MTVfcmVnX3Qg cmVnLAo+Pj4gKwkJCQkgdTMyIHZhbCkKPj4+ICt7Cj4+PiArCXN0cnVjdCBpbnRlbF9jcnRjICpj cnRjID0gY29udGFpbmVyX29mKGRzYiwgdHlwZW9mKCpjcnRjKSwgZHNiKTsKPj4+ICsJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7Cj4+ PiArCXUzMiAqYnVmID0gZHNiLT5jbWRfYnVmOwo+Pj4gKwl1MzIgcmVnX3ZhbDsKPj4+ICsKPj4+ ICsJaWYgKCFidWYpIHsKPj4+ICsJCUk5MTVfV1JJVEUocmVnLCB2YWwpOwo+Pj4gKwkJcmV0dXJu Owo+Pj4gKwl9Cj4+PiArCj4+PiArCWlmIChXQVJOX09OKGRzYi0+ZnJlZV9wb3MgPj0gRFNCX0JV Rl9TSVpFKSkgewo+Pj4gKwkJRFJNX0RFQlVHX0tNUygiRFNCIGJ1ZmZlciBvdmVyZmxvd1xuIik7 Cj4+PiArCQlyZXR1cm47Cj4+PiArCX0KPj4+ICsKPj4+ICsJLyoKPj4+ICsJICogRm9yIGV4YW1w bGUgdGhlIGJ1ZmZlciB3aWxsIGxvb2sgbGlrZSBiZWxvdyBmb3IgMyBkd29yZHMgZm9yIGF1dG8K Pj4+ICsJICogaW5jcmVtZW50IHJlZ2lzdGVyOgo+Pj4gKwkgKiArLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCj4+PiArCSAqIHwgc2l6ZSA9 IDMgfCBvZmZzZXQgJnwgdmFsdWUxIHwgdmFsdWUyIHwgdmFsdWUzIHwgemVybyAgIHwKPj4+ICsJ ICogfCAgICAgICAgICB8IG9wY29kZSAgfCAgICAgICAgfCAgICAgICAgfCAgICAgICAgfCAgICAg ICAgfAo+Pj4gKwkgKiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rCj4+PiArCSAqICsgICAgICAgICAgKyAgICAgICAgICsgICAgICAgICsg ICAgICAgICsgICAgICAgICsgICAgICAgICsKPj4+ICsJICogMCAgICAgICAgICA0ICAgICAgICAg OCAgICAgICAgMTIgICAgICAgMTYgICAgICAgMjAgICAgICAgMjQKPj4+ICsJICogQnl0ZQo+Pj4g KwkgKgo+Pj4gKwkgKiBBcyBldmVyeSBpbnN0cnVjdGlvbiBpcyA4IGJ5dGUgYWxpZ25lZCB0aGUg aW5kZXggb2YgZHNiIGluc3RydWN0aW9uCj4+PiArCSAqIHdpbGwgc3RhcnQgYWx3YXlzIGZyb20g ZXZlbiBudW1iZXIgd2hpbGUgZGVhbGluZyB3aXRoIHUzMiBhcnJheS4gSWYKPj4+ICsJICogd2Ug YXJlIHdyaXRpbmcgb2RkIG5vIG9mIGR3b3JkcywgWmVyb3Mgd2lsbCBiZSBhZGRlZCBpbiB0aGUg ZW5kIGZvcgo+Pj4gKwkgKiBwYWRkaW5nLgo+Pj4gKwkgKi8KPj4+ICsJcmVnX3ZhbCA9IGJ1Zltk c2ItPmluc19zdGFydF9vZmZzZXQgKyAxXSAmIERTQl9SRUdfVkFMVUVfTUFTSzsKPj4+ICsJaWYg KHJlZ192YWwgIT0gaTkxNV9tbWlvX3JlZ19vZmZzZXQocmVnKSkgewo+Pj4gKwkJLyogRXZlcnkg aW5zdHJ1Y3Rpb24gc2hvdWxkIGJlIDggYnl0ZSBhbGlnbmVkLiAqLwo+Pj4gKwkJZHNiLT5mcmVl X3BvcyA9IEFMSUdOKGRzYi0+ZnJlZV9wb3MsIDIpOwo+Pj4gKwo+Pj4gKwkJZHNiLT5pbnNfc3Rh cnRfb2Zmc2V0ID0gZHNiLT5mcmVlX3BvczsKPj4+ICsKPj4+ICsJCS8qIFVwZGF0ZSB0aGUgc2l6 ZS4gKi8KPj4+ICsJCWJ1Zltkc2ItPmZyZWVfcG9zKytdID0gMTsKPj4+ICsKPj4+ICsJCS8qIFVw ZGF0ZSB0aGUgb3Bjb2RlIGFuZCByZWcuICovCj4+PiArCQlidWZbZHNiLT5mcmVlX3BvcysrXSA9 IChEU0JfT1BDT0RFX0lOREVYRURfV1JJVEUgIDw8Cj4+PiArCQkJCQlEU0JfT1BDT0RFX1NISUZU KSB8Cj4+PiArCQkJCQlpOTE1X21taW9fcmVnX29mZnNldChyZWcpOwo+Pj4gKwo+Pj4gKwkJLyog VXBkYXRlIHRoZSB2YWx1ZS4gKi8KPj4+ICsJCWJ1Zltkc2ItPmZyZWVfcG9zKytdID0gdmFsOwo+ Pj4gKwl9IGVsc2Ugewo+Pj4gKwkJLyogVXBkYXRlIHRoZSBuZXcgdmFsdWUuICovCj4+PiArCQli dWZbZHNiLT5mcmVlX3BvcysrXSA9IHZhbDsKPj4+ICsKPj4+ICsJCS8qIFVwZGF0ZSB0aGUgc2l6 ZS4gKi8KPj4+ICsJCWJ1Zltkc2ItPmluc19zdGFydF9vZmZzZXRdKys7Cj4+PiArCX0KPj4+ICsK Pj4+ICsJLyogaWYgbnVtYmVyIG9mIGRhdGEgd29yZHMgaXMgb2RkLCB0aGVuIHRoZSBsYXN0IGR3 b3JkIHNob3VsZCBiZSAwLiovCj4+PiArCWlmIChkc2ItPmZyZWVfcG9zICYgMHgxKQo+Pj4gKwkJ YnVmW2RzYi0+ZnJlZV9wb3NdID0gMDsKPj4+ICt9Cj4+PiArCj4+PiAgIHZvaWQgaW50ZWxfZHNi X3JlZ193cml0ZShzdHJ1Y3QgaW50ZWxfZHNiICpkc2IsIGk5MTVfcmVnX3QgcmVnLCB1MzIgdmFs KQo+Pj4gICB7Cj4+PiAgIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IGNvbnRhaW5lcl9vZihk c2IsIHR5cGVvZigqY3J0YyksIGRzYik7Cj4+PiBAQCAtMTAyLDYgKzE2OSw3IEBAIHZvaWQgaW50 ZWxfZHNiX3JlZ193cml0ZShzdHJ1Y3QgaW50ZWxfZHNiICpkc2IsIGk5MTVfcmVnX3QgcmVnLCB1 MzIgdmFsKQo+Pj4gICAJCXJldHVybjsKPj4+ICAgCX0KPj4+ICAgCj4+PiArCWRzYi0+aW5zX3N0 YXJ0X29mZnNldCA9IGRzYi0+ZnJlZV9wb3M7Cj4+IE9rYXksIEknbSBiZWluZyBhIHBlZGFudCwg YnV0IHRoYXQncyBraW5kIG9mIHBhcnQgb2YgdGhlIGpvYgo+PiBkZXNjcmlwdGlvbiwgSSdtIGFm cmFpZC4KPj4KPj4gV2hhdCBpZjoKPj4KPj4gaW50ZWxfZHNiX2dldCgpCj4+IGludGVsX2RzYl9y ZWdfd3JpdGUoZHNiLCBGT08sIDApOwo+PiBpbnRlbF9kc2JfaW5kZXhlZF9yZWdfd3JpdGUoZHNi LCBGT08sIDApOwo+PiBpbnRlbF9kc2JfY29tbWl0KCkKPj4gaW50ZWxfZHNiX3B1dCgpCj4KPiBI aSBKYW5pLAo+Cj4gSSBhbSB0cnlpbmcgdG8gdGhpbmsgYSBzY2VuYXJpbyB3aGVyZSBtYXkgd3Jp dGUgdGhlIHNhbWUgcmVnaXN0ZXIgd2hpY2ggCj4gaXMgaGF2aW5nIGF1dG8taW5jcmVtZW50IGNh cGFiaWxpdHkgdXNpbmcgYm90aCBpbnRlbF9kc2JfcmVnX3dyaXRlIGFuZCAKPiBpbnRlbF9kc2Jf aW5kZXhlZF9yZWdfd3JpdGUuCj4gVG8gc2V0IHRoZSBhdXRvIGluY3JlbWVudCBtb2RlIHdlIG1h eSBuZWVkIHRvIHdyaXRlIGEgZGlmZmVyZW50IHJlZ2lzdGVyIAo+IHRvIGNvbnRyb2wgYXV0by1p bmNyZW1lbnQgbW9kZS4KPiBJZiB0aGVyZSBpcyBhbnkgcHJhY3RpY2FsIHNjZW5hcmlvLCBkbyB5 b3Ugd2FudCB0byBtZSB0byBhZGQgbm93PwoKSXQncyBub3QgYSBsaWtlbHkgc2NlbmFyaW8sIEkn dmUgcHVzaGVkIHRoZSBzZXJpZXMsIHRoYW5rcyBmb3IgdGhlCnBhdGNoZXMgYW5kIHJldmlldy4K CkkgdGhpbmsgeW91IHNob3VsZCBiZSBhYmxlIHRvIGxvb2sgYXQgdGhlIGNvbnRlbnRzIG9mIHRo ZSBidWZmZXIgYW5kCmRlY2lkZSBiYXNlZCBvbiB0aGF0LgoKQlIsCkphbmkuCgoKPgo+IEN1cnJl bnRseSBjaGVja2luZyByZWdpc3RlciB2YWx1ZSBvbmx5IHdoaWxlIGNyZWF0aW5nIGJ1ZmZlciBm b3IgCj4gYXV0by1pbmNyZW1lbnQgcmVnaXN0ZXIuIElmIHdlIHdhbnQgdG8gYWRkIHRoZSBhYm92 ZSB0aGVuIHdlIG1pZ2h0IG5lZWQgCj4gbGlrZSBiZWxvdyBiZWNhdXNlIHdlIGFyZSBpbnRyb2R1 Y2luZyBhIHZhcmlhYmlsaXR5IGZhY3RvciByZWdhcmRpbmcgCj4gZHNiLWFwaSB0byB3cml0ZSB0 aGUgc2FtZSByZWdpc3RlciBpbiBjb25zZXF1ZW50IGNhbGwuCj4KPiBlbnVtIGRzYl93cml0ZV90 eXBlIHsKPiAgICAgIE5PUk1BTCwKPiAgICAgIElOREVYCj4gfTsKPgo+IHN0cnVjdCBsYXN0X3dy aXRlIHsKPiAgICAgIHUzMiByZWdfdmFsOwo+ICAgICAgZW51bSBkc2Jfd3JpdGVfdHlwZSB0eXBl Owo+IH0KPgo+IHRoZW4sIGxhc3Qgd3JpdGUgY2FuIGJlIHVwZGF0ZWQgaW4gaW50ZWxfZHNiX3Jl Z193cml0ZSgpIGFzIE5PUk1BTCB3cml0ZSAKPiBhbmQgbGF0ZXIgd2lsbCBjaGVjayBpbiBpbnRl bF9kc2JfaW5kZXhlZF9yZWdfd3JpdGUoKSB0byBpZGVudGlmeSBhYm92ZSAKPiBtZW50aW9uZWQg Y2FzZS4KPiBQbGVhc2UgbGV0IG1lIGtub3cgeW91ciBzdWdnZXN0aW9uLCB3aWxsIGRvIGFjY29y ZGluZ2x5Lgo+Cj4gUmVnYXJkcywKPiBBbmltZXNoCj4KPj4KPj4gQlIsCj4+IEphbmkuCj4+Cj4+ PiAgIAlidWZbZHNiLT5mcmVlX3BvcysrXSA9IHZhbDsKPj4+ICAgCWJ1Zltkc2ItPmZyZWVfcG9z KytdID0gKERTQl9PUENPREVfTU1JT19XUklURSAgPDwgRFNCX09QQ09ERV9TSElGVCkgfAo+Pj4g ICAJCQkgICAgICAgKERTQl9CWVRFX0VOIDw8IERTQl9CWVRFX0VOX1NISUZUKSB8Cj4+PiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kc2IuaCBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHNiLmgKPj4+IGluZGV4IDA2ODZkNjdiMzRk NS4uMmFlMjJmNzMwOWE3IDEwMDY0NAo+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlz cGxheS9pbnRlbF9kc2IuaAo+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9p bnRlbF9kc2IuaAo+Pj4gQEAgLTMwLDExICszMCwyMCBAQCBzdHJ1Y3QgaW50ZWxfZHNiIHsKPj4+ ICAgCSAqIGFuZCBoZWxwIGluIGNhbGN1bGF0aW5nIHRhaWwgb2YgY29tbWFuZCBidWZmZXIuCj4+ PiAgIAkgKi8KPj4+ICAgCWludCBmcmVlX3BvczsKPj4+ICsKPj4+ICsJLyoKPj4+ICsJICogaW5z X3N0YXJ0X29mZnNldCB3aWxsIGhlbHAgdG8gc3RvcmUgc3RhcnQgYWRkcmVzcyBvZiB0aGUgZHNi Cj4+PiArCSAqIGluc3R1Y3Rpb24gYW5kIGhlbHAgaW4gaWRlbnRpZnlpbmcgdGhlIGJhdGNoIG9m IGF1dG8taW5jcmVtZW50Cj4+PiArCSAqIHJlZ2lzdGVyLgo+Pj4gKwkgKi8KPj4+ICsJdTMyIGlu c19zdGFydF9vZmZzZXQ7Cj4+PiAgIH07Cj4+PiAgIAo+Pj4gICBzdHJ1Y3QgaW50ZWxfZHNiICoK Pj4+ICAgaW50ZWxfZHNiX2dldChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0Yyk7Cj4+PiAgIHZvaWQg aW50ZWxfZHNiX3B1dChzdHJ1Y3QgaW50ZWxfZHNiICpkc2IpOwo+Pj4gICB2b2lkIGludGVsX2Rz Yl9yZWdfd3JpdGUoc3RydWN0IGludGVsX2RzYiAqZHNiLCBpOTE1X3JlZ190IHJlZywgdTMyIHZh bCk7Cj4+PiArdm9pZCBpbnRlbF9kc2JfaW5kZXhlZF9yZWdfd3JpdGUoc3RydWN0IGludGVsX2Rz YiAqZHNiLCBpOTE1X3JlZ190IHJlZywKPj4+ICsJCQkJIHUzMiB2YWwpOwo+Pj4gICAKPj4+ICAg I2VuZGlmCj4KPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Xwo+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRl bC1nZngKCi0tIApKYW5pIE5pa3VsYSwgSW50ZWwgT3BlbiBTb3VyY2UgR3JhcGhpY3MgQ2VudGVy Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdm eCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==