From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Lisovskiy, Stanislav" Subject: Re: [PATCH v2] Fix the possible watermark miswriting for skl+ Date: Wed, 14 Nov 2018 08:19:26 +0000 Message-ID: <427af7de4895bfc091076c17e9ee8b0ce8601ad5.camel@intel.com> References: <20181113143138.9536-1-stanislav.lisovskiy@intel.com> <154212725731.16646.18341926608523070344@skylake-alporthouse-com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <154212725731.16646.18341926608523070344@skylake-alporthouse-com> Content-Language: en-US Content-ID: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: "intel-gfx@lists.freedesktop.org" , "chris@chris-wilson.co.uk" Cc: "Syrjala, Ville" , "Peres, Martin" , "dri-devel@lists.freedesktop.org" List-Id: dri-devel@lists.freedesktop.org T24gVHVlLCAyMDE4LTExLTEzIGF0IDE2OjQwICswMDAwLCBDaHJpcyBXaWxzb24gd3JvdGU6DQo+ IFF1b3RpbmcgU3RhbmlzbGF2IExpc292c2tpeSAoMjAxOC0xMS0xMyAxNDozMTozOCkNCj4gPiBD dXJyZW50bHkgd2hlbmV2ZXIgd2UgYXR0ZW1wdCB0byByZWNhbGN1bGF0ZQ0KPiA+IHdhdGVybWFy a3MsIHdlIGFzc2lnbiBkaXJ0eV9waXBlcyB0byB6ZXJvLA0KPiA+IHRoZW4gY29tcGFyZSBjdXJy ZW50IHdtIHJlc3VsdHMgdG8gdGhlIHJlY2FsY3VsYXRlZA0KPiA+IG9uZSBhbmQgaWYgdGhleSBj aGFuZ2VkIHdlIHNldCBjb3JyZXNwb25kZW50IGRpcnR5X3BpcGVzDQo+ID4gYml0IGFnYWluLg0K PiA+IFRoaXMgY2FuIGxlYWQgdG8gc2l0dWF0aW9uLCB3aGVuIHdlIGFyZSBjbGVhcmluZyBkaXJ0 eV9waXBlcywNCj4gPiBzYW1lIHdtIHJlc3VsdHMgdHdpY2UgaW4gYSByb3cgYW5kIG5vdCBzZXR0 aW5nIGRpcnR5X3BpcGVzDQo+ID4gPT4gc28gdGhhdCB3YXRlcm1hcmtzIGFyZSBub3QgYWN0dWFs bHkgdXBkYXRlZCwgd2hpY2ggdGhlbiBtaWdodA0KPiA+IGxlYWQgdG8gZmlmbyB1bmRlcnJ1bnMs IGNyYyBtaXNtYXRjaCBhbmQgb3RoZXIgaXNzdWVzLg0KPiA+IA0KPiA+IEluc3RlYWQsIHdoZW5l dmVyIHdlIGRldGVjdCB0aGF0IHdtIHJlc3VsdHMgYXJlIGNoYW5nZWQsDQo+ID4gbmVlZCB0byBz ZXQgY29ycmVzcG9uZGVudCBkaXJ0eV9waXBlcyBiaXQgYW5kIGNsZWFyIGl0DQo+ID4gb25seSBv bmNlIHRoZSBjaGFuZ2UgaXMgd3JpdHRlbiwgYnV0IG5vdCBjbGVhciBpdCBldmVyeXRpbWUNCj4g PiB3ZSBhdHRlbXB0IHRvIHJlY2FsY3VsYXRlIHRob3NlIGluIHNrbF9jb21wdXRlX3dtLg0KPiAN Cj4gT2ssIGJ1dCBhcmUgbm90IGRpcnR5X3BpcGVzIGJlaW5nIHJlY29tcHV0ZWQgZm9yIGVhY2gg Y29tbWl0IHdydCB0bw0KPiB0aGUNCj4gY3VycmVudCBIVyBzdGF0ZS4gU2hvdWxkIGRpcnR5X3Bp cGVzIG5vdCBiZSAwIGF0IHRoZSBzdGFydCBvZg0KPiBjb21wdXRlX3dtDQo+IG5hdHVyYWxseSBk dWUgdG8gaXQgbm90IGJlaW5nIHVzZWQgYmVmb3JlIGluIHRoZSBhdG9taWMgY29tbWl0DQo+IHNl cXVlbmNlPw0KPiAtQ2hyaXMNCg0KV2UgZGlzY3Vzc2VkIHRoaXMgeWVzdGVyZGF5IHdpdGggVmls bGUsIGFzIEkgdW5kZXJzdGFuZCB0aGUgd2hvbGUNCmRybV9hdG9taWNfc3RhdGUgaXMgYWxsb2Nh dGVkIGVhY2ggdGltZSB0aGUgY29tbWl0IHN0YXJ0cyBhbmQgaXQgaXMgDQphbHJlYWR5IG5hdHVy YWxseSAwLiBTbyBhbnl3YXkgYXNzaWduaW5nIGhlcmUgZGlydHlfcGlwZXMgdG8gMCBsb29rZWQN CnJlZHVuZGFudCBhdCBsZWFzdCB0byBtZSBhbmQgVmlsbGUuDQpIb3dldmVyIHRoZSBwcm9ibGVt IEkgbWVhbiB3YXMgdGhhdCBpZiBza2xfY29tcHV0ZV93bSBpcyBpbnZva2VkIA0KdHdpY2UgYW5k IGdldHRpbmcgdGhlIHNhbWUgd20gcmVzdWx0cywgdGhlbiB3ZSBhcmUgbm90IGdvaW5nIHRvIHNl dA0KY29ycmVzcG9uZGVudCBkaXJ0eV9waXBlcyBiaXQgYW5kIGJlY2F1c2UgaXQgd2FzIHplcm9l ZCBpbiB0aGUNCmJlZ2lubmluZyBvZiBza2xfY29tcHV0ZV93bSwgd2UgYXJlIG5vdCBnb2luZyB0 byB1cGRhdGUgdGhlIHdhdGVybWFya3MNCmF0IGFsbCwgZXZlbiB0aG91Z2ggd2Ugc2hvdWxkIGFz IGl0IGhhZCBjaGFuZ2VkLg0KDQpEdXJpbmcgb3VyIGRpc2N1c3Npb24gd2l0aCBWaWxsZSwgd2Ug YWdyZWVkIHRoYXQgdGhlb3JldGljYWxseSB0aGlzDQpzaG91bGRuJ3QgaGFwcGVuIGJlY2F1c2Ug c2tsX2NvbXB1dGVfd20oY2FsbGVkIHZpYQ0KY29tcHV0ZV9nbG9iYWxfd2F0ZXJtYXJrcyBob29r KSBzaG91bGQgYmUgY2FsbGVkIG9ubHkgb25jZSBwZXIgY29tbWl0DQppbiBpbnRlbF9hdG9taWNf Y2hlY2sgYW5kIHRoZW4gcmVzdWx0cyBhcmUgd3JpdHRlbiwgd2hlbiBjcnRjIGlzDQp1cGRhdGVk IGFuZCB0aGlzIHBvdGVudGlhbGx5IGNhbiBiZSBjYXVnaHQgdXNpbmcgc29tZSBXQVJOX09OLg0K DQpXaGF0IEkgZGlkIGlzIEkgYWRkZWQgYSBXQVJOX09OIGhlcmUgaW4gc2tsX2NvbXB1dGVfd20g YW5kIHJlbW92ZWQNCmFzc2lnbmluZyBkaXJ0eV9waXBlcyB0byB6ZXJvKHNvIHRoYXQgd2UgY2Fu IHNlZSB0aGF0IGl0IG1pZ2h0IGhhcHBlbg0KdGhhdCBjb3JyZXNwb25kZW50IGJpdCBpcyBhbHJl YWR5IHNldCwgYnV0IHdlIGFyZSBnZXR0aW5nIGhlcmUgYWdhaW4pOg0KDQpAQCAtNTQ0MSw5ICs1 NDQxLDYgQEAgc2tsX2NvbXB1dGVfd20oc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQ0K ICAgICAgICBib29sIGNoYW5nZWQgPSBmYWxzZTsNCiAgICAgICAgaW50IHJldCwgaTsNCiANCi0g ICAgICAgLyogQ2xlYXIgYWxsIGRpcnR5IGZsYWdzICovDQotICAgICAgIHJlc3VsdHMtPmRpcnR5 X3BpcGVzID0gMDsNCi0NCkBAIC01NDcxLDYgKzU0NzEsOCBAQCBza2xfY29tcHV0ZV93bShzdHJ1 Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpDQoJCXJldCA9IHNrbF91cGRhdGVfcGlwZV93bShj c3RhdGUsIG9sZF9waXBlX3dtLCBwaXBlX3dtLA0KCQkNCgkJICZyZXN1bHRzLT5kZGIsICZjaGFu Z2VkKTsNCiAgICAgICAgICAgICAgICBpZiAocmV0KQ0KICAgICAgICAgICAgICAgICAgICAgICAg cmV0dXJuIHJldDsNCiANCisgICAgICAgICAgICAgICBXQVJOX09OKCFjaGFuZ2VkICYmIChyZXN1 bHRzLT5kaXJ0eV9waXBlcyAmDQpkcm1fY3J0Y19tYXNrKGNydGMpKSk7DQorDQogICAgICAgICAg ICAgICAgaWYgKGNoYW5nZWQpDQogICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRzLT5kaXJ0 eV9waXBlcyB8PSBkcm1fY3J0Y19tYXNrKGNydGMpOw0KDQpJZiBza2xfY29tcHV0ZV93bSBpcyBj YWxsZWQgb25seSBvbmNlIHdlIHNob3VsZCBuZXZlciBnZXQgaXQsIGFzDQp3ZSB3b3VsZCBvdGhl cndpc2UgbmV2ZXIgaGF2ZSBjb3JyZXBvbmRlbnQgY3J0YyBiaXQgYWxyZWFkeSBzZXQgaGVyZQ0K KGFuZCB3ZSB3b3VsZCBhbHJlYWR5IGhhZCB6ZXJvZWQgZGlydHlfcGlwZXMgaGVyZSBhcyB3ZSBk byBub3csIHRoZSANCnVwZGF0ZSB3b3VsZCBiZSBsb3N0KS4NCg0KSG93ZXZlciB0aGlzIFdBUk4g cmVhbGx5IGNhdGNoZXMgdGhlIGlzc3VlOg0KDQpbICAgMzUuNjgxOTA5XSAtLS0tLS0tLS0tLS1b IGN1dCBoZXJlIF0tLS0tLS0tLS0tLS0NClsgICAzNS42ODE5MTddIFdBUk5fT04oIWNoYW5nZWQg JiYgKHJlc3VsdHMtPmRpcnR5X3BpcGVzICYNCmRybV9jcnRjX21hc2soY3J0YykpKQ0KWyAgIDM1 LjY4MTk5OF0gV0FSTklORzogQ1BVOiAzIFBJRDogMTQ5OSBhdA0KZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfcG0uYzo1NDc0IHNrbF9jb21wdXRlX3dtKzB4NzA5LzB4ODAwIFtpOTE1XQ0KWyAg IDM1LjY4MjAwMl0gTW9kdWxlcyBsaW5rZWQgaW46IGNkY19ldGhlciB1c2JuZXQgc25kX2hkYV9j b2RlY19oZG1pDQpzbmRfaGRhX2NvZGVjX3JlYWx0ZWsgc25kX2hkYV9jb2RlY19nZW5lcmljIHI4 MTUyIG1paSBzbmRfaGRhX2ludGVsDQpzbmRfaGRhX2NvZGVjIHg4Nl9wa2dfdGVtcF90aGVybWFs IHNuZF9od2RlcCBjb3JldGVtcCBzbmRfaGRhX2NvcmUNCnNuZF9wY20gcGwyMzAzIHVzYnNlcmlh bCBidHVzYiBidHJ0bCBidGJjbSBidGludGVsIGJsdWV0b290aA0KZWNkaF9nZW5lcmljIG1laV9t ZSBtZWkgZG1fY3J5cHQgY3JjdDEwZGlmX3BjbG11bCBjcmMzMl9wY2xtdWwNCmdoYXNoX2NsbXVs bmlfaW50ZWwgaTkxNSBwcmltZV9udW1iZXJzIGkyY19oaWQgcGluY3RybF9zdW5yaXNlcG9pbnQN CnBpbmN0cmxfaW50ZWwNClsgICAzNS42ODIwNDRdIENQVTogMyBQSUQ6IDE0OTkgQ29tbTogWG9y ZyBUYWludGVkOg0KRyAgICAgICAgVyAgICAgICAgIDQuMjAuMC1yYzEtQ0ktQ0lfRFJNXzUwNzYr ICMxMjMNClsgICAzNS42ODIwNDddIEhhcmR3YXJlIG5hbWU6IExFTk9WTyA4MUE4L0xOVk5CMTYx MjE2LCBCSU9TIDVTQ04zNFdXDQowOS8wMS8yMDE3DQpbICAgMzUuNjgyMDkzXSBSSVA6IDAwMTA6 c2tsX2NvbXB1dGVfd20rMHg3MDkvMHg4MDAgW2k5MTVdDQpbICAgMzUuNjgyMDk3XSBDb2RlOiBj MSBlOCAxMSBlOSA0MCBmZSBmZiBmZiBkMyBlMCA0MSA4NSA4NiA5OCAwNCAwMCAwMA0KMGYgODQg ODUgZmUgZmYgZmYgNDggYzcgYzYgMTAgNDggMWMgYTAgNDggYzcgYzcgMmMgMTMgMWIgYTAgZTgg MDcgNDkgMDMNCmUxIDwwZj4gMGIgNDEgOGIgODYgOTggMDQgMDAgMDAgZTkgNGYgZmUgZmYgZmYg NDQgODkgY2EgZTkgYTUgZjkgZmYgZmYNClsgICAzNS42ODIxMDFdIFJTUDogMDAxODpmZmZmYzkw MDAwYzUzYTA4IEVGTEFHUzogMDAwMTAyODINClsgICAzNS42ODIxMDZdIFJBWDogMDAwMDAwMDAw MDAwMDAwMCBSQlg6IDAwMDAwMDAwMDA3Nzg0YmYgUkNYOg0KMDAwMDAwMDAwMDAwMDAwNg0KWyAg IDM1LjY4MjEwOV0gUkRYOiAwMDAwMDAwMDAwMDAwMDA2IFJTSTogZmZmZmZmZmY4MjEyODg2YSBS REk6DQpmZmZmZmZmZjgyMGQ2ZDU3DQpbICAgMzUuNjgyMTEyXSBSQlA6IGZmZmY4ODAyOWVmNDAw MDAgUjA4OiAwMDAwMDAwMDFkNWUzYjhiIFIwOToNCjAwMDAwMDAwMDAwMDAwMDANClsgICAzNS42 ODIxMTZdIFIxMDogZmZmZjg4MDI5YmUyZWE1NCBSMTE6IDAwMDAwMDAwMDAwMDAwMDAgUjEyOg0K ZmZmZjg4MDI5OWRiNmZjOA0KWyAgIDM1LjY4MjExOV0gUjEzOiBmZmZmODgwMjliZTJlNjc4IFIx NDogZmZmZjg4MDI2MDAwYzEzOCBSMTU6DQowMDAwMDAwMDAwMDAwMDAxDQpbICAgMzUuNjgyMTIz XSBGUzogIDAwMDA3ZjNiYmNhOTA2MDAoMDAwMCkgR1M6ZmZmZjg4MDJiOWQ4MDAwMCgwMDAwKQ0K a25sR1M6MDAwMDAwMDAwMDAwMDAwMA0KWyAgIDM1LjY4MjEyNl0gQ1M6ICAwMDEwIERTOiAwMDAw IEVTOiAwMDAwIENSMDogMDAwMDAwMDA4MDA1MDAzMw0KWyAgIDM1LjY4MjEzMF0gQ1IyOiAwMDAw N2Y4MzhhN2IxMTU4IENSMzogMDAwMDAwMDI2Y2JlMjAwMyBDUjQ6DQowMDAwMDAwMDAwMzYwNmUw DQpbICAgMzUuNjgyMTMzXSBDYWxsIFRyYWNlOg0KWyAgIDM1LjY4MjE0OF0gID8gX19tdXRleF91 bmxvY2tfc2xvd3BhdGgrMHg0Ni8weDJiMA0KWyAgIDM1LjY4MjIxNV0gIGludGVsX2F0b21pY19j aGVjaysweDRkNi8weDEyMzAgW2k5MTVdDQpbICAgMzUuNjgyMjMzXSAgZHJtX2F0b21pY19jaGVj a19vbmx5KzB4NDc3LzB4NzEwDQpbICAgMzUuNjgyMjQ1XSAgZHJtX2F0b21pY19jb21taXQrMHhl LzB4NTANClsgICAzNS42ODIyNTNdICBkcm1fYXRvbWljX2hlbHBlcl9zZXRfY29uZmlnKzB4N2Iv MHg5MA0KWyAgIDM1LjY4MjI2MF0gIGRybV9tb2RlX3NldGNydGMrMHgxOTUvMHg2YjANClsgICAz NS42ODIyODldICA/IGRybV9tb2RlX2dldGNydGMrMHgxODAvMHgxODANClsgICAzNS42ODIyOTVd ICBkcm1faW9jdGxfa2VybmVsKzB4ODEvMHhmMA0KWyAgIDM1LjY4MjMwNV0gIGRybV9pb2N0bCsw eDJkZS8weDM5MA0KWyAgIDM1LjY4MjMxMl0gID8gZHJtX21vZGVfZ2V0Y3J0YysweDE4MC8weDE4 MA0KWyAgIDM1LjY4MjMyN10gID8gbG9ja19hY3F1aXJlKzB4YTYvMHgxYzANClsgICAzNS42ODIz MzZdICBkb192ZnNfaW9jdGwrMHhhMC8weDZlMA0KWyAgIDM1LjY4MjM0NV0gID8gX19mZ2V0KzB4 ZmMvMHgxZTANClsgICAzNS42ODIzNTNdICBrc3lzX2lvY3RsKzB4MzUvMHg2MA0KWyAgIDM1LjY4 MjM2MV0gIF9feDY0X3N5c19pb2N0bCsweDExLzB4MjANClsgICAzNS42ODIzNjldICBkb19zeXNj YWxsXzY0KzB4NTUvMHgxOTANClsgICAzNS42ODIzNzZdICBlbnRyeV9TWVNDQUxMXzY0X2FmdGVy X2h3ZnJhbWUrMHg0OS8weGJlDQpbICAgMzUuNjgyMzgwXSBSSVA6IDAwMzM6MHg3ZjNiYjllYTg1 ZDcNClsgICAzNS42ODIzODVdIENvZGU6IGIzIDY2IDkwIDQ4IDhiIDA1IGIxIDQ4IDJkIDAwIDY0 IGM3IDAwIDI2IDAwIDAwIDAwDQo0OCBjNyBjMCBmZiBmZiBmZiBmZiBjMyA2NiAyZSAwZiAxZiA4 NCAwMCAwMCAwMCAwMCAwMCBiOCAxMCAwMCAwMCAwMCAwZg0KMDUgPDQ4PiAzZCAwMSBmMCBmZiBm ZiA3MyAwMSBjMyA0OCA4YiAwZCA4MSA0OCAyZCAwMCBmNyBkOCA2NCA4OSAwMSA0OA0KWyAgIDM1 LjY4MjM4OF0gUlNQOiAwMDJiOjAwMDA3ZmZmNDFjNmU4ZDggRUZMQUdTOiAwMDAwMDI0NiBPUklH X1JBWDoNCjAwMDAwMDAwMDAwMDAwMTANClsgICAzNS42ODIzOTNdIFJBWDogZmZmZmZmZmZmZmZm ZmZkYSBSQlg6IDAwMDA1NWZjYTEzNzc2ODAgUkNYOg0KMDAwMDdmM2JiOWVhODVkNw0KWyAgIDM1 LjY4MjM5Nl0gUkRYOiAwMDAwN2ZmZjQxYzZlOWMwIFJTSTogMDAwMDAwMDBjMDY4NjRhMiBSREk6 DQowMDAwMDAwMDAwMDAwMDBkDQpbICAgMzUuNjgyNDAwXSBSQlA6IDAwMDA3ZmZmNDFjNmU5YzAg UjA4OiAwMDAwMDAwMDAwMDAwMDAxIFIwOToNCjAwMDA3ZjNiYmM5ZjQwMDANClsgICAzNS42ODI0 MDNdIFIxMDogMDAwMDAwMDAwMDAwMDAwMSBSMTE6IDAwMDAwMDAwMDAwMDAyNDYgUjEyOg0KMDAw MDAwMDBjMDY4NjRhMg0KWyAgIDM1LjY4MjQwNl0gUjEzOiAwMDAwMDAwMDAwMDAwMDBkIFIxNDog MDAwMDAwMDAwMDAwMDAwYSBSMTU6DQowMDAwNTVmY2ExMzdmYTUwDQpbICAgMzUuNjgyNDI0XSBp cnEgZXZlbnQgc3RhbXA6IDg0NzIyNA0KWyAgIDM1LjY4MjQyOV0gaGFyZGlycXMgbGFzdCAgZW5h YmxlZCBhdCAoODQ3MjIzKTogWzxmZmZmZmZmZjgxMGZiYTI0Pl0NCnZwcmludGtfZW1pdCsweDEy NC8weDMyMA0KWyAgIDM1LjY4MjQzNF0gaGFyZGlycXMgbGFzdCBkaXNhYmxlZCBhdCAoODQ3MjI0 KTogWzxmZmZmZmZmZjgxMDAxOWEwPl0NCnRyYWNlX2hhcmRpcnFzX29mZl90aHVuaysweDFhLzB4 MWMNClsgICAzNS42ODI0MzhdIHNvZnRpcnFzIGxhc3QgIGVuYWJsZWQgYXQgKDg0NzE4Mik6IFs8 ZmZmZmZmZmY4MWMwMDMzYT5dDQpfX2RvX3NvZnRpcnErMHgzM2EvMHg0YjkNClsgICAzNS42ODI0 NDRdIHNvZnRpcnFzIGxhc3QgZGlzYWJsZWQgYXQgKDg0NzE3NSk6IFs8ZmZmZmZmZmY4MTA4ZGVm OT5dDQppcnFfZXhpdCsweGE5LzB4YzANClsgICAzNS42ODI0ODRdIFdBUk5JTkc6IENQVTogMyBQ SUQ6IDE0OTkgYXQNCmRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmM6NTQ3NCBza2xfY29t cHV0ZV93bSsweDcwOS8weDgwMCBbaTkxNV0NClsgICAzNS42ODI0ODddIC0tLVsgZW5kIHRyYWNl IDdiNDM5N2FhN2NkN2Q0MDUgXS0tLQ0KDQpXaGljaCBtZWFucyB0aGF0IHdlIGFyZSBsb3Npbmcg c29tZSB3YXRlcm1hcmsgdXBkYXRlcywgaW4gY2FzZSBpZiB3ZQ0KYXNzaWduIGRpcnR5X3BpcGVz IHRvIHplcm8gYW5kIHRoZW4gbm90IHNldHRpbmcgaXQgYmFjay4NCg0KDQo+IF9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+IGRyaS1kZXZlbCBtYWlsaW5n IGxpc3QNCj4gZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZw0KPiBodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbA0KLS0gDQpCZXN0IFJl Z2FyZHMsDQoNCkxpc292c2tpeSBTdGFuaXNsYXYKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vZHJpLWRldmVsCg==