From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Zanoni, Paulo R" Subject: Re: [PATCH 2/2] drm/i915: Nuke fbc members from intel_crtc->atomic, v4. Date: Tue, 15 Mar 2016 19:52:02 +0000 Message-ID: <1458071521.2281.1.camel@intel.com> References: <1457516145-32117-1-git-send-email-maarten.lankhorst@linux.intel.com> <1457516145-32117-2-git-send-email-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 467A66E809 for ; Tue, 15 Mar 2016 19:52:03 +0000 (UTC) In-Reply-To: <1457516145-32117-2-git-send-email-maarten.lankhorst@linux.intel.com> Content-Language: en-US Content-ID: <11F37D06E761AF47AFA1C3219C0FC7A1@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "intel-gfx@lists.freedesktop.org" , "maarten.lankhorst@linux.intel.com" List-Id: intel-gfx@lists.freedesktop.org RW0gUXVhLCAyMDE2LTAzLTA5IMOgcyAxMDozNSArMDEwMCwgTWFhcnRlbiBMYW5raG9yc3QgZXNj cmV2ZXU6DQo+IFdoZW5ldmVyIHRoZXJlJ3MgYW4gdXBkYXRlIHRvIHRoZSBwcmltYXJ5IHBsYW5l LA0KPiBmYmNfcHJlX3VwZGF0ZSBhbmQgZmJjX3Bvc3RfdXBkYXRlIGFyZSBjYWxsZWQuIEtpbGwg b2ZmDQo+IGludGVsX2NydGMtPmF0b21pYy51cGRhdGVfZmJjIGFuZCBub3cgdGhhdCBpbnRlbF9j cnRjLT5hdG9taWMNCj4gaXMgZW1wdHksIGtpbGwgaXQgb2ZmIHRvby4NCj4gDQo+IENoYW5nZXMg c2luY2UgdjE6DQo+IC0gQWRkIGEgaW50ZWxfZmJjX3N1cHBvcnRzX3JvdGF0aW9uIGhlbHBlci4N Cj4gQ2hhbmdlcyBzaW5jZSB2MjoNCj4gLSBSZW1vdmUgaW50ZWxfZmJjX3N1cHBvcnRzX3JvdGF0 aW9uX2hlbHBlci4NCj4gLSBSZW1vdmUgdW5yZWxhdGVkIGNoYW5nZXMuDQo+IENoYW5nZXMgc2lu Y2UgdjM6DQo+IC0gUmViYXNlDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBNYWFydGVuIExhbmtob3Jz dCA8bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPg0KDQpMb29rcyBsaWtlIHRoZSBX TSBmaXhlcyBpbmRlZWQgc29sdmVkIHRoZSBwcm9ibGVtcyBJIHBvaW50ZWQgaW4gbXkNCnByZXZp b3VzIHJldmlldywgc286DQoNClJldmlld2VkLWJ5OiBQYXVsbyBaYW5vbmkgPHBhdWxvLnIuemFu b25pQGludGVsLmNvbT4NCg0KPiAtLS0NCj4gwqBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k aXNwbGF5LmMgfCA1MSArKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQ0KPiAtLS0tLS0tLS0tDQo+ IMKgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmjCoMKgwqDCoMKgfCAxNSAtLS0tLS0t LS0tLQ0KPiDCoDIgZmlsZXMgY2hhbmdlZCwgMTYgaW5zZXJ0aW9ucygrKSwgNTAgZGVsZXRpb25z KC0pDQo+IA0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxh eS5jDQo+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jDQo+IGluZGV4IDJk MzE3NTU2MDhjZS4uNmU2ZDhiMzQyNTE3IDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kaXNwbGF5LmMNCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZGlzcGxheS5jDQo+IEBAIC00OTEyLDExICs0OTEyLDkgQEAgc3RhdGljIHZvaWQgaW50ZWxfcG9z dF9wbGFuZV91cGRhdGUoc3RydWN0DQo+IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRl KQ0KPiDCoHsNCj4gwqAJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKG9s ZF9jcnRjX3N0YXRlLQ0KPiA+YmFzZS5jcnRjKTsNCj4gwqAJc3RydWN0IGRybV9hdG9taWNfc3Rh dGUgKm9sZF9zdGF0ZSA9IG9sZF9jcnRjX3N0YXRlLQ0KPiA+YmFzZS5zdGF0ZTsNCj4gLQlzdHJ1 Y3QgaW50ZWxfY3J0Y19hdG9taWNfY29tbWl0ICphdG9taWMgPSAmY3J0Yy0+YXRvbWljOw0KPiDC oAlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcgPQ0KPiDCoAkJdG9faW50ZWxf Y3J0Y19zdGF0ZShjcnRjLT5iYXNlLnN0YXRlKTsNCj4gwqAJc3RydWN0IGRybV9kZXZpY2UgKmRl diA9IGNydGMtPmJhc2UuZGV2Ow0KPiAtCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9IGRldi0+ZGV2X3ByaXZhdGU7DQo+IMKgCXN0cnVjdCBkcm1fcGxhbmUgKnByaW1hcnkgPSBj cnRjLT5iYXNlLnByaW1hcnk7DQo+IMKgCXN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKm9sZF9wcmlf c3RhdGUgPQ0KPiDCoAkJZHJtX2F0b21pY19nZXRfZXhpc3RpbmdfcGxhbmVfc3RhdGUob2xkX3N0 YXRlLA0KPiBwcmltYXJ5KTsNCj4gQEAgLTQ5MjgsMjIgKzQ5MjYsMTkgQEAgc3RhdGljIHZvaWQg aW50ZWxfcG9zdF9wbGFuZV91cGRhdGUoc3RydWN0DQo+IGludGVsX2NydGNfc3RhdGUgKm9sZF9j cnRjX3N0YXRlKQ0KPiDCoAlpZiAocGlwZV9jb25maWctPndtX2NoYW5nZWQgJiYgcGlwZV9jb25m aWctPmJhc2UuYWN0aXZlKQ0KPiDCoAkJaW50ZWxfdXBkYXRlX3dhdGVybWFya3MoJmNydGMtPmJh c2UpOw0KPiDCoA0KPiAtCWlmIChhdG9taWMtPnVwZGF0ZV9mYmMpDQo+IC0JCWludGVsX2ZiY19w b3N0X3VwZGF0ZShjcnRjKTsNCj4gLQ0KPiDCoAlpZiAob2xkX3ByaV9zdGF0ZSkgew0KPiDCoAkJ c3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpwcmltYXJ5X3N0YXRlID0NCj4gwqAJCQl0b19pbnRl bF9wbGFuZV9zdGF0ZShwcmltYXJ5LT5zdGF0ZSk7DQo+IMKgCQlzdHJ1Y3QgaW50ZWxfcGxhbmVf c3RhdGUgKm9sZF9wcmltYXJ5X3N0YXRlID0NCj4gwqAJCQl0b19pbnRlbF9wbGFuZV9zdGF0ZShv bGRfcHJpX3N0YXRlKTsNCj4gwqANCj4gKwkJaW50ZWxfZmJjX3Bvc3RfdXBkYXRlKGNydGMpOw0K PiArDQo+IMKgCQlpZiAocHJpbWFyeV9zdGF0ZS0+dmlzaWJsZSAmJg0KPiDCoAkJwqDCoMKgwqAo bmVlZHNfbW9kZXNldCgmcGlwZV9jb25maWctPmJhc2UpIHx8DQo+IMKgCQnCoMKgwqDCoMKgIW9s ZF9wcmltYXJ5X3N0YXRlLT52aXNpYmxlKSkNCj4gwqAJCQlpbnRlbF9wb3N0X2VuYWJsZV9wcmlt YXJ5KCZjcnRjLT5iYXNlKTsNCj4gwqAJfQ0KPiAtDQo+IC0JbWVtc2V0KGF0b21pYywgMCwgc2l6 ZW9mKCphdG9taWMpKTsNCj4gwqB9DQo+IMKgDQo+IMKgc3RhdGljIHZvaWQgaW50ZWxfcHJlX3Bs YW5lX3VwZGF0ZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZQ0KPiAqb2xkX2NydGNfc3RhdGUpDQo+ IEBAIC00OTUxLDcgKzQ5NDYsNiBAQCBzdGF0aWMgdm9pZCBpbnRlbF9wcmVfcGxhbmVfdXBkYXRl KHN0cnVjdA0KPiBpbnRlbF9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZSkNCj4gwqAJc3RydWN0 IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKG9sZF9jcnRjX3N0YXRlLQ0KPiA+YmFz ZS5jcnRjKTsNCj4gwqAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmJhc2UuZGV2Ow0K PiDCoAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRl Ow0KPiAtCXN0cnVjdCBpbnRlbF9jcnRjX2F0b21pY19jb21taXQgKmF0b21pYyA9ICZjcnRjLT5h dG9taWM7DQo+IMKgCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZyA9DQo+IMKg CQl0b19pbnRlbF9jcnRjX3N0YXRlKGNydGMtPmJhc2Uuc3RhdGUpOw0KPiDCoAlzdHJ1Y3QgZHJt X2F0b21pY19zdGF0ZSAqb2xkX3N0YXRlID0gb2xkX2NydGNfc3RhdGUtDQo+ID5iYXNlLnN0YXRl Ow0KPiBAQCAtNDk2MCwxNSArNDk1NCwxNCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9wcmVfcGxhbmVf dXBkYXRlKHN0cnVjdA0KPiBpbnRlbF9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZSkNCj4gwqAJ CWRybV9hdG9taWNfZ2V0X2V4aXN0aW5nX3BsYW5lX3N0YXRlKG9sZF9zdGF0ZSwNCj4gcHJpbWFy eSk7DQo+IMKgCWJvb2wgbW9kZXNldCA9IG5lZWRzX21vZGVzZXQoJnBpcGVfY29uZmlnLT5iYXNl KTsNCj4gwqANCj4gLQlpZiAoYXRvbWljLT51cGRhdGVfZmJjKQ0KPiAtCQlpbnRlbF9mYmNfcHJl X3VwZGF0ZShjcnRjKTsNCj4gLQ0KPiDCoAlpZiAob2xkX3ByaV9zdGF0ZSkgew0KPiDCoAkJc3Ry dWN0IGludGVsX3BsYW5lX3N0YXRlICpwcmltYXJ5X3N0YXRlID0NCj4gwqAJCQl0b19pbnRlbF9w bGFuZV9zdGF0ZShwcmltYXJ5LT5zdGF0ZSk7DQo+IMKgCQlzdHJ1Y3QgaW50ZWxfcGxhbmVfc3Rh dGUgKm9sZF9wcmltYXJ5X3N0YXRlID0NCj4gwqAJCQl0b19pbnRlbF9wbGFuZV9zdGF0ZShvbGRf cHJpX3N0YXRlKTsNCj4gwqANCj4gKwkJaW50ZWxfZmJjX3ByZV91cGRhdGUoY3J0Yyk7DQo+ICsN Cj4gwqAJCWlmIChvbGRfcHJpbWFyeV9zdGF0ZS0+dmlzaWJsZSAmJg0KPiDCoAkJwqDCoMKgwqAo bW9kZXNldCB8fCAhcHJpbWFyeV9zdGF0ZS0+dmlzaWJsZSkpDQo+IMKgCQkJaW50ZWxfcHJlX2Rp c2FibGVfcHJpbWFyeSgmY3J0Yy0+YmFzZSk7DQo+IEBAIC0xMjAyNywyNyArMTIwMjAsMTcgQEAg aW50IGludGVsX3BsYW5lX2F0b21pY19jYWxjX2NoYW5nZXMoc3RydWN0DQo+IGRybV9jcnRjX3N0 YXRlICpjcnRjX3N0YXRlLA0KPiDCoAlpZiAodmlzaWJsZSB8fCB3YXNfdmlzaWJsZSkNCj4gwqAJ CXBpcGVfY29uZmlnLT5mYl9iaXRzIHw9IHRvX2ludGVsX3BsYW5lKHBsYW5lKS0NCj4gPmZyb250 YnVmZmVyX2JpdDsNCj4gwqANCj4gLQlzd2l0Y2ggKHBsYW5lLT50eXBlKSB7DQo+IC0JY2FzZSBE Uk1fUExBTkVfVFlQRV9QUklNQVJZOg0KPiAtCQlpbnRlbF9jcnRjLT5hdG9taWMudXBkYXRlX2Zi YyA9IHRydWU7DQo+IC0NCj4gLQkJYnJlYWs7DQo+IC0JY2FzZSBEUk1fUExBTkVfVFlQRV9DVVJT T1I6DQo+IC0JCWJyZWFrOw0KPiAtCWNhc2UgRFJNX1BMQU5FX1RZUEVfT1ZFUkxBWToNCj4gLQkJ LyoNCj4gLQkJwqAqIFdhQ3hTUkRpc2FibGVkRm9yU3ByaXRlU2NhbGluZzppdmINCj4gLQkJwqAq DQo+IC0JCcKgKiBjc3RhdGUtPnVwZGF0ZV93bSB3YXMgYWxyZWFkeSBzZXQgYWJvdmUsIHNvIHRo aXMNCj4gZmxhZyB3aWxsDQo+IC0JCcKgKiB0YWtlIGVmZmVjdCB3aGVuIHdlIGNvbW1pdCBhbmQg cHJvZ3JhbQ0KPiB3YXRlcm1hcmtzLg0KPiAtCQnCoCovDQo+IC0JCWlmIChJU19JVllCUklER0Uo ZGV2KSAmJg0KPiAtCQnCoMKgwqDCoG5lZWRzX3NjYWxpbmcodG9faW50ZWxfcGxhbmVfc3RhdGUo cGxhbmVfc3RhdGUpKQ0KPiAmJg0KPiAtCQnCoMKgwqDCoCFuZWVkc19zY2FsaW5nKG9sZF9wbGFu ZV9zdGF0ZSkpDQo+IC0JCQlwaXBlX2NvbmZpZy0+ZGlzYWJsZV9scF93bSA9IHRydWU7DQo+ICsJ LyoNCj4gKwnCoCogV2FDeFNSRGlzYWJsZWRGb3JTcHJpdGVTY2FsaW5nOml2Yg0KPiArCcKgKg0K PiArCcKgKiBjc3RhdGUtPnVwZGF0ZV93bSB3YXMgYWxyZWFkeSBzZXQgYWJvdmUsIHNvIHRoaXMg ZmxhZw0KPiB3aWxsDQo+ICsJwqAqIHRha2UgZWZmZWN0IHdoZW4gd2UgY29tbWl0IGFuZCBwcm9n cmFtIHdhdGVybWFya3MuDQo+ICsJwqAqLw0KPiArCWlmIChwbGFuZS0+dHlwZSA9PSBEUk1fUExB TkVfVFlQRV9PVkVSTEFZICYmDQo+IElTX0lWWUJSSURHRShkZXYpICYmDQo+ICsJwqDCoMKgwqBu ZWVkc19zY2FsaW5nKHRvX2ludGVsX3BsYW5lX3N0YXRlKHBsYW5lX3N0YXRlKSkgJiYNCj4gKwnC oMKgwqDCoCFuZWVkc19zY2FsaW5nKG9sZF9wbGFuZV9zdGF0ZSkpDQo+ICsJCXBpcGVfY29uZmln LT5kaXNhYmxlX2xwX3dtID0gdHJ1ZTsNCj4gwqANCj4gLQkJYnJlYWs7DQo+IC0JfQ0KPiDCoAly ZXR1cm4gMDsNCj4gwqB9DQo+IMKgDQo+IEBAIC0xMzQ3NSw5ICsxMzQ1OCw2IEBAIHN0YXRpYyBp bnQgaW50ZWxfYXRvbWljX2NoZWNrKHN0cnVjdA0KPiBkcm1fZGV2aWNlICpkZXYsDQo+IMKgCQlz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcgPQ0KPiDCoAkJCXRvX2ludGVsX2Ny dGNfc3RhdGUoY3J0Y19zdGF0ZSk7DQo+IMKgDQo+IC0JCW1lbXNldCgmdG9faW50ZWxfY3J0Yyhj cnRjKS0+YXRvbWljLCAwLA0KPiAtCQnCoMKgwqDCoMKgwqDCoHNpemVvZihzdHJ1Y3QgaW50ZWxf Y3J0Y19hdG9taWNfY29tbWl0KSk7DQo+IC0NCj4gwqAJCS8qIENhdGNoIEk5MTVfTU9ERV9GTEFH X0lOSEVSSVRFRCAqLw0KPiDCoAkJaWYgKGNydGNfc3RhdGUtPm1vZGUucHJpdmF0ZV9mbGFncyAh PSBjcnRjLT5zdGF0ZS0NCj4gPm1vZGUucHJpdmF0ZV9mbGFncykNCj4gwqAJCQljcnRjX3N0YXRl LT5tb2RlX2NoYW5nZWQgPSB0cnVlOw0KPiBAQCAtMTM3ODYsNyArMTM3NjYsOCBAQCBzdGF0aWMg aW50IGludGVsX2F0b21pY19jb21taXQoc3RydWN0DQo+IGRybV9kZXZpY2UgKmRldiwNCj4gwqAJ CWlmICghbW9kZXNldCkNCj4gwqAJCQlpbnRlbF9wcmVfcGxhbmVfdXBkYXRlKHRvX2ludGVsX2Ny dGNfc3RhdGUoYw0KPiBydGNfc3RhdGUpKTsNCj4gwqANCj4gLQkJaWYgKGNydGMtPnN0YXRlLT5h Y3RpdmUgJiYgaW50ZWxfY3J0Yy0NCj4gPmF0b21pYy51cGRhdGVfZmJjKQ0KPiArCQlpZiAoY3J0 Yy0+c3RhdGUtPmFjdGl2ZSAmJg0KPiArCQnCoMKgwqDCoGRybV9hdG9taWNfZ2V0X2V4aXN0aW5n X3BsYW5lX3N0YXRlKHN0YXRlLCBjcnRjLQ0KPiA+cHJpbWFyeSkpDQo+IMKgCQkJaW50ZWxfZmJj X2VuYWJsZShpbnRlbF9jcnRjKTsNCj4gwqANCj4gwqAJCWlmIChjcnRjLT5zdGF0ZS0+YWN0aXZl ICYmDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaA0KPiBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oDQo+IGluZGV4IDYzODVkYmIwMWFjZS4u ZGFlMDRjM2Y4Y2RhIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k cnYuaA0KPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaA0KPiBAQCAtNTk2 LDE5ICs1OTYsNiBAQCBzdHJ1Y3QgaW50ZWxfbW1pb19mbGlwIHsNCj4gwqAJdW5zaWduZWQgaW50 IHJvdGF0aW9uOw0KPiDCoH07DQo+IMKgDQo+IC0vKg0KPiAtICogVHJhY2tpbmcgb2Ygb3BlcmF0 aW9ucyB0aGF0IG5lZWQgdG8gYmUgcGVyZm9ybWVkIGF0IHRoZQ0KPiBiZWdpbm5pbmcvZW5kIG9m IGFuDQo+IC0gKiBhdG9taWMgY29tbWl0LCBvdXRzaWRlIHRoZSBhdG9taWMgc2VjdGlvbiB3aGVy ZSBpbnRlcnJ1cHRzIGFyZQ0KPiBkaXNhYmxlZC4NCj4gLSAqIFRoZXNlIGFyZSBnZW5lcmFsbHkg b3BlcmF0aW9ucyB0aGF0IGdyYWIgbXV0ZXhlcyBvciBtaWdodA0KPiBvdGhlcndpc2Ugc2xlZXAN Cj4gLSAqIGFuZCB0aHVzIGNhbid0IGJlIHJ1biB3aXRoIGludGVycnVwdHMgZGlzYWJsZWQuDQo+ IC0gKi8NCj4gLXN0cnVjdCBpbnRlbF9jcnRjX2F0b21pY19jb21taXQgew0KPiAtCS8qIFNsZWVw YWJsZSBvcGVyYXRpb25zIHRvIHBlcmZvcm0gYmVmb3JlIGNvbW1pdCAqLw0KPiAtDQo+IC0JLyog U2xlZXBhYmxlIG9wZXJhdGlvbnMgdG8gcGVyZm9ybSBhZnRlciBjb21taXQgKi8NCj4gLQlib29s IHVwZGF0ZV9mYmM7DQo+IC19Ow0KPiAtDQo+IMKgc3RydWN0IGludGVsX2NydGMgew0KPiDCoAlz dHJ1Y3QgZHJtX2NydGMgYmFzZTsNCj4gwqAJZW51bSBwaXBlIHBpcGU7DQo+IEBAIC02NjksOCAr NjU2LDYgQEAgc3RydWN0IGludGVsX2NydGMgew0KPiDCoAkJaW50IHNjYW5saW5lX3N0YXJ0Ow0K PiDCoAl9IGRlYnVnOw0KPiDCoA0KPiAtCXN0cnVjdCBpbnRlbF9jcnRjX2F0b21pY19jb21taXQg YXRvbWljOw0KPiAtDQo+IMKgCS8qIHNjYWxlcnMgYXZhaWxhYmxlIG9uIHRoaXMgY3J0YyAqLw0K PiDCoAlpbnQgbnVtX3NjYWxlcnM7DQo+IMKgCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2ludGVsLWdmeAo=