From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rodrigo Vivi Subject: Re: [PATCH 3/9] drm/i915/psr: Extract PSR DPCD initialization and move it to intel_psr.c Date: Wed, 31 Jan 2018 22:57:18 -0800 Message-ID: <20180201065718.j3p3toblkpkxuvps@intel.com> References: <20180127024923.3093-1-dhinakaran.pandiyan@intel.com> <20180127024923.3093-3-dhinakaran.pandiyan@intel.com> <20180131103824.GF13657@boom> 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 F1F4F6E49D for ; Thu, 1 Feb 2018 06:57:21 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20180131103824.GF13657@boom> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Dhinakaran Pandiyan , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBKYW4gMzEsIDIwMTggYXQgMTA6Mzg6MjRBTSArMDAwMCwgRGF2aWQgV2VpbmVoYWxs IHdyb3RlOgo+IE9uIEZyaSwgSmFuIDI2LCAyMDE4IGF0IDA2OjQ5OjE3UE0gLTA4MDAsIERoaW5h a2FyYW4gUGFuZGl5YW4gd3JvdGU6Cj4gPiBpbnRlbF9lZHBfaW5pdF9kcGNkKCkgaXMgY2x1dHRl cmVkIHdpdGggUFNSIHNwZWNpZmljIERQQ0QgY2hlY2tzIGFuZAo+ID4gaW50ZWxfZHAuYyBpcyBo dWdlLgo+IAo+IFllcyBwbGVhc2UhICBHb29kIGlkZWEuCj4gCj4gPiBObyBmdW5jdGlvbmFsIGNo YW5nZSBpbnRlbmRlZC4KPiAKPiBSZXZpZXdlZC1ieTogRGF2aWQgV2VpbmVoYWxsIDxkYXZpZC53 ZWluZWhhbGxAbGludXguaW50ZWwuY29tPgoKQWNrZWQtYnk6IFJvZHJpZ28gVml2aSA8cm9kcmln by52aXZpQGludGVsLmNvbT4KCj4gCj4gPiBDYzogUm9kcmlnbyBWaXZpIDxyb2RyaWdvLnZpdmlA aW50ZWwuY29tPgo+ID4gU2lnbmVkLW9mZi1ieTogRGhpbmFrYXJhbiBQYW5kaXlhbiA8ZGhpbmFr YXJhbi5wYW5kaXlhbkBpbnRlbC5jb20+Cj4gPiAtLS0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcC5jICB8IDY0ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K PiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCB8ICAxICsKPiA+ICBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9wc3IuYyB8IDY4ICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysKPiA+ICAzIGZpbGVzIGNoYW5nZWQsIDcwIGluc2VydGlvbnMoKyksIDYz IGRlbGV0aW9ucygtKQo+ID4gCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPiA+IGluZGV4IGEy ZTg4Nzk5OTkxNS4uMjQ1NDMyNjY5MGZiIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHAuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAu Ywo+ID4gQEAgLTMxMzUsMzUgKzMxMzUsNiBAQCBpbnRlbF9kcF9nZXRfbGlua19zdGF0dXMoc3Ry dWN0IGludGVsX2RwICppbnRlbF9kcCwgdWludDhfdCBsaW5rX3N0YXR1c1tEUF9MSU5LXwo+ID4g IAkJCQlEUF9MSU5LX1NUQVRVU19TSVpFKSA9PSBEUF9MSU5LX1NUQVRVU19TSVpFOwo+ID4gIH0K PiA+ICAKPiA+IC1zdGF0aWMgYm9vbCBpbnRlbF9kcF9nZXRfeV9jb3JkX3N0YXR1cyhzdHJ1Y3Qg aW50ZWxfZHAgKmludGVsX2RwKQo+ID4gLXsKPiA+IC0JdWludDhfdCBwc3JfY2FwcyA9IDA7Cj4g PiAtCj4gPiAtCWlmIChkcm1fZHBfZHBjZF9yZWFkYigmaW50ZWxfZHAtPmF1eCwgRFBfUFNSX0NB UFMsICZwc3JfY2FwcykgIT0gMSkKPiA+IC0JCXJldHVybiBmYWxzZTsKPiA+IC0JcmV0dXJuIHBz cl9jYXBzICYgRFBfUFNSMl9TVV9ZX0NPT1JESU5BVEVfUkVRVUlSRUQ7Cj4gPiAtfQo+ID4gLQo+ ID4gLXN0YXRpYyBib29sIGludGVsX2RwX2dldF9jb2xvcmltZXRyeV9zdGF0dXMoc3RydWN0IGlu dGVsX2RwICppbnRlbF9kcCkKPiA+IC17Cj4gPiAtCXVpbnQ4X3QgZHByeCA9IDA7Cj4gPiAtCj4g PiAtCWlmIChkcm1fZHBfZHBjZF9yZWFkYigmaW50ZWxfZHAtPmF1eCwgRFBfRFBSWF9GRUFUVVJF X0VOVU1FUkFUSU9OX0xJU1QsCj4gPiAtCQkJICAgICAgJmRwcngpICE9IDEpCj4gPiAtCQlyZXR1 cm4gZmFsc2U7Cj4gPiAtCXJldHVybiBkcHJ4ICYgRFBfVlNDX1NEUF9FWFRfRk9SX0NPTE9SSU1F VFJZX1NVUFBPUlRFRDsKPiA+IC19Cj4gPiAtCj4gPiAtc3RhdGljIGJvb2wgaW50ZWxfZHBfZ2V0 X2FscG1fc3RhdHVzKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4gPiAtewo+ID4gLQl1aW50 OF90IGFscG1fY2FwcyA9IDA7Cj4gPiAtCj4gPiAtCWlmIChkcm1fZHBfZHBjZF9yZWFkYigmaW50 ZWxfZHAtPmF1eCwgRFBfUkVDRUlWRVJfQUxQTV9DQVAsCj4gPiAtCQkJICAgICAgJmFscG1fY2Fw cykgIT0gMSkKPiA+IC0JCXJldHVybiBmYWxzZTsKPiA+IC0JcmV0dXJuIGFscG1fY2FwcyAmIERQ X0FMUE1fQ0FQOwo+ID4gLX0KPiA+IC0KPiA+ICAvKiBUaGVzZSBhcmUgc291cmNlLXNwZWNpZmlj IHZhbHVlcy4gKi8KPiA+ICB1aW50OF90Cj4gPiAgaW50ZWxfZHBfdm9sdGFnZV9tYXgoc3RydWN0 IGludGVsX2RwICppbnRlbF9kcCkKPiA+IEBAIC0zNzE0LDQwICszNjg1LDcgQEAgaW50ZWxfZWRw X2luaXRfZHBjZChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+ID4gIAkJZGV2X3ByaXYtPm5v X2F1eF9oYW5kc2hha2UgPSBpbnRlbF9kcC0+ZHBjZFtEUF9NQVhfRE9XTlNQUkVBRF0gJgo+ID4g IAkJCURQX05PX0FVWF9IQU5EU0hBS0VfTElOS19UUkFJTklORzsKPiA+ICAKPiA+IC0JLyogQ2hl Y2sgaWYgdGhlIHBhbmVsIHN1cHBvcnRzIFBTUiAqLwo+ID4gLQlkcm1fZHBfZHBjZF9yZWFkKCZp bnRlbF9kcC0+YXV4LCBEUF9QU1JfU1VQUE9SVCwKPiA+IC0JCQkgaW50ZWxfZHAtPnBzcl9kcGNk LAo+ID4gLQkJCSBzaXplb2YoaW50ZWxfZHAtPnBzcl9kcGNkKSk7Cj4gPiAtCWlmIChpbnRlbF9k cC0+cHNyX2RwY2RbMF0gJiBEUF9QU1JfSVNfU1VQUE9SVEVEKSB7Cj4gPiAtCQlkZXZfcHJpdi0+ cHNyLnNpbmtfc3VwcG9ydCA9IHRydWU7Cj4gPiAtCQlEUk1fREVCVUdfS01TKCJEZXRlY3RlZCBF RFAgUFNSIFBhbmVsLlxuIik7Cj4gPiAtCX0KPiA+IC0KPiA+IC0JaWYgKElOVEVMX0dFTihkZXZf cHJpdikgPj0gOSAmJgo+ID4gLQkgICAgKGludGVsX2RwLT5wc3JfZHBjZFswXSAmIERQX1BTUjJf SVNfU1VQUE9SVEVEKSkgewo+ID4gLQkJdWludDhfdCBmcmFtZV9zeW5jX2NhcDsKPiA+IC0KPiA+ IC0JCWRldl9wcml2LT5wc3Iuc2lua19zdXBwb3J0ID0gdHJ1ZTsKPiA+IC0JCWlmIChkcm1fZHBf ZHBjZF9yZWFkYigmaW50ZWxfZHAtPmF1eCwKPiA+IC0JCQkJICAgICAgRFBfU0lOS19ERVZJQ0Vf QVVYX0ZSQU1FX1NZTkNfQ0FQLAo+ID4gLQkJCQkgICAgICAmZnJhbWVfc3luY19jYXApICE9IDEp Cj4gPiAtCQkJZnJhbWVfc3luY19jYXAgPSAwOwo+ID4gLQkJZGV2X3ByaXYtPnBzci5hdXhfZnJh bWVfc3luYyA9IGZyYW1lX3N5bmNfY2FwID8gdHJ1ZSA6IGZhbHNlOwo+ID4gLQkJLyogUFNSMiBu ZWVkcyBmcmFtZSBzeW5jIGFzIHdlbGwgKi8KPiA+IC0JCWRldl9wcml2LT5wc3IucHNyMl9zdXBw b3J0ID0gZGV2X3ByaXYtPnBzci5hdXhfZnJhbWVfc3luYzsKPiA+IC0JCURSTV9ERUJVR19LTVMo IlBTUjIgJXMgb24gc2luayIsCj4gPiAtCQkJICAgICAgZGV2X3ByaXYtPnBzci5wc3IyX3N1cHBv cnQgPyAic3VwcG9ydGVkIiA6ICJub3Qgc3VwcG9ydGVkIik7Cj4gPiAtCj4gPiAtCQlpZiAoZGV2 X3ByaXYtPnBzci5wc3IyX3N1cHBvcnQpIHsKPiA+IC0JCQlkZXZfcHJpdi0+cHNyLnlfY29yZF9z dXBwb3J0ID0KPiA+IC0JCQkJaW50ZWxfZHBfZ2V0X3lfY29yZF9zdGF0dXMoaW50ZWxfZHApOwo+ ID4gLQkJCWRldl9wcml2LT5wc3IuY29sb3JpbWV0cnlfc3VwcG9ydCA9Cj4gPiAtCQkJCWludGVs X2RwX2dldF9jb2xvcmltZXRyeV9zdGF0dXMoaW50ZWxfZHApOwo+ID4gLQkJCWRldl9wcml2LT5w c3IuYWxwbSA9Cj4gPiAtCQkJCWludGVsX2RwX2dldF9hbHBtX3N0YXR1cyhpbnRlbF9kcCk7Cj4g PiAtCQl9Cj4gPiAtCj4gPiAtCX0KPiA+ICsJaW50ZWxfcHNyX2luaXRfZHBjZChpbnRlbF9kcCk7 Cj4gPiAgCj4gPiAgCS8qCj4gPiAgCSAqIFJlYWQgdGhlIGVEUCBkaXNwbGF5IGNvbnRyb2wgcmVn aXN0ZXJzLgo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5o IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiA+IGluZGV4IDNjZWU1NGJjMDM1 Mi4uYTM0MGJjMDRkYWQ4IDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHJ2LmgKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gPiBA QCAtMTg1MSw2ICsxODUxLDcgQEAgYm9vbCBpc19oZGNwX3N1cHBvcnRlZChzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGVudW0gcG9ydCBwb3J0KTsKPiA+ICAKPiA+ICAvKiBpbnRl bF9wc3IuYyAqLwo+ID4gICNkZWZpbmUgQ0FOX1BTUihkZXZfcHJpdikgKEhBU19QU1IoZGV2X3By aXYpICYmIGRldl9wcml2LT5wc3Iuc2lua19zdXBwb3J0KQo+ID4gK3ZvaWQgaW50ZWxfcHNyX2lu aXRfZHBjZChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKTsKPiA+ICB2b2lkIGludGVsX3Bzcl9l bmFibGUoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKPiA+ICAJCSAgICAgIGNvbnN0IHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKTsKPiA+ICB2b2lkIGludGVsX3Bzcl9kaXNh YmxlKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcHNyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wc3Iu Ywo+ID4gaW5kZXggYzEyYWYxMTE4NjQ3Li5hMWI4Nzg0NDllODMgMTAwNjQ0Cj4gPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wc3IuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfcHNyLmMKPiA+IEBAIC01Niw2ICs1Niw3NCBAQAo+ID4gICNpbmNsdWRlICJp bnRlbF9kcnYuaCIKPiA+ICAjaW5jbHVkZSAiaTkxNV9kcnYuaCIKPiA+ICAKPiA+ICtzdGF0aWMg Ym9vbCBpbnRlbF9kcF9nZXRfeV9jb3JkX3N0YXR1cyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2Rw KQo+ID4gK3sKPiA+ICsJdWludDhfdCBwc3JfY2FwcyA9IDA7Cj4gPiArCj4gPiArCWlmIChkcm1f ZHBfZHBjZF9yZWFkYigmaW50ZWxfZHAtPmF1eCwgRFBfUFNSX0NBUFMsICZwc3JfY2FwcykgIT0g MSkKPiA+ICsJCXJldHVybiBmYWxzZTsKPiA+ICsJcmV0dXJuIHBzcl9jYXBzICYgRFBfUFNSMl9T VV9ZX0NPT1JESU5BVEVfUkVRVUlSRUQ7Cj4gPiArfQo+ID4gKwo+ID4gK3N0YXRpYyBib29sIGlu dGVsX2RwX2dldF9jb2xvcmltZXRyeV9zdGF0dXMoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkK PiA+ICt7Cj4gPiArCXVpbnQ4X3QgZHByeCA9IDA7Cj4gPiArCj4gPiArCWlmIChkcm1fZHBfZHBj ZF9yZWFkYigmaW50ZWxfZHAtPmF1eCwgRFBfRFBSWF9GRUFUVVJFX0VOVU1FUkFUSU9OX0xJU1Qs Cj4gPiArCQkJICAgICAgJmRwcngpICE9IDEpCj4gPiArCQlyZXR1cm4gZmFsc2U7Cj4gPiArCXJl dHVybiBkcHJ4ICYgRFBfVlNDX1NEUF9FWFRfRk9SX0NPTE9SSU1FVFJZX1NVUFBPUlRFRDsKPiA+ ICt9Cj4gPiArCj4gPiArc3RhdGljIGJvb2wgaW50ZWxfZHBfZ2V0X2FscG1fc3RhdHVzKHN0cnVj dCBpbnRlbF9kcCAqaW50ZWxfZHApCj4gPiArewo+ID4gKwl1aW50OF90IGFscG1fY2FwcyA9IDA7 Cj4gPiArCj4gPiArCWlmIChkcm1fZHBfZHBjZF9yZWFkYigmaW50ZWxfZHAtPmF1eCwgRFBfUkVD RUlWRVJfQUxQTV9DQVAsCj4gPiArCQkJICAgICAgJmFscG1fY2FwcykgIT0gMSkKPiA+ICsJCXJl dHVybiBmYWxzZTsKPiA+ICsJcmV0dXJuIGFscG1fY2FwcyAmIERQX0FMUE1fQ0FQOwo+ID4gK30K PiA+ICsKPiA+ICt2b2lkIGludGVsX3Bzcl9pbml0X2RwY2Qoc3RydWN0IGludGVsX2RwICppbnRl bF9kcCkKPiA+ICt7Cj4gPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9Cj4g PiArCQl0b19pOTE1KGRwX3RvX2RpZ19wb3J0KGludGVsX2RwKS0+YmFzZS5iYXNlLmRldik7Cj4g PiArCj4gPiArCWRybV9kcF9kcGNkX3JlYWQoJmludGVsX2RwLT5hdXgsIERQX1BTUl9TVVBQT1JU LCBpbnRlbF9kcC0+cHNyX2RwY2QsCj4gPiArCQkJIHNpemVvZihpbnRlbF9kcC0+cHNyX2RwY2Qp KTsKPiA+ICsKPiA+ICsJaWYgKGludGVsX2RwLT5wc3JfZHBjZFswXSAmIERQX1BTUl9JU19TVVBQ T1JURUQpIHsKPiA+ICsJCWRldl9wcml2LT5wc3Iuc2lua19zdXBwb3J0ID0gdHJ1ZTsKPiA+ICsJ CURSTV9ERUJVR19LTVMoIkRldGVjdGVkIEVEUCBQU1IgUGFuZWwuXG4iKTsKPiA+ICsJfQo+ID4g Kwo+ID4gKwlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA5ICYmCj4gPiArCSAgICAoaW50ZWxf ZHAtPnBzcl9kcGNkWzBdICYgRFBfUFNSMl9JU19TVVBQT1JURUQpKSB7Cj4gPiArCQl1aW50OF90 IGZyYW1lX3N5bmNfY2FwOwo+ID4gKwo+ID4gKwkJZGV2X3ByaXYtPnBzci5zaW5rX3N1cHBvcnQg PSB0cnVlOwo+ID4gKwkJaWYgKGRybV9kcF9kcGNkX3JlYWRiKCZpbnRlbF9kcC0+YXV4LAo+ID4g KwkJCQkgICAgICBEUF9TSU5LX0RFVklDRV9BVVhfRlJBTUVfU1lOQ19DQVAsCj4gPiArCQkJCSAg ICAgICZmcmFtZV9zeW5jX2NhcCkgIT0gMSkKPiA+ICsJCQlmcmFtZV9zeW5jX2NhcCA9IDA7Cj4g PiArCQlkZXZfcHJpdi0+cHNyLmF1eF9mcmFtZV9zeW5jID0gZnJhbWVfc3luY19jYXAgPyB0cnVl IDogZmFsc2U7Cj4gPiArCQkvKiBQU1IyIG5lZWRzIGZyYW1lIHN5bmMgYXMgd2VsbCAqLwo+ID4g KwkJZGV2X3ByaXYtPnBzci5wc3IyX3N1cHBvcnQgPSBkZXZfcHJpdi0+cHNyLmF1eF9mcmFtZV9z eW5jOwo+ID4gKwkJRFJNX0RFQlVHX0tNUygiUFNSMiAlcyBvbiBzaW5rIiwKPiA+ICsJCQkgICAg ICBkZXZfcHJpdi0+cHNyLnBzcjJfc3VwcG9ydCA/ICJzdXBwb3J0ZWQiIDogIm5vdCBzdXBwb3J0 ZWQiKTsKPiA+ICsKPiA+ICsJCWlmIChkZXZfcHJpdi0+cHNyLnBzcjJfc3VwcG9ydCkgewo+ID4g KwkJCWRldl9wcml2LT5wc3IueV9jb3JkX3N1cHBvcnQgPQo+ID4gKwkJCQlpbnRlbF9kcF9nZXRf eV9jb3JkX3N0YXR1cyhpbnRlbF9kcCk7Cj4gPiArCQkJZGV2X3ByaXYtPnBzci5jb2xvcmltZXRy eV9zdXBwb3J0ID0KPiA+ICsJCQkJaW50ZWxfZHBfZ2V0X2NvbG9yaW1ldHJ5X3N0YXR1cyhpbnRl bF9kcCk7Cj4gPiArCQkJZGV2X3ByaXYtPnBzci5hbHBtID0KPiA+ICsJCQkJaW50ZWxfZHBfZ2V0 X2FscG1fc3RhdHVzKGludGVsX2RwKTsKPiA+ICsJCX0KPiA+ICsJfQo+ID4gK30KPiA+ICsKPiA+ ICBzdGF0aWMgYm9vbCB2bHZfaXNfcHNyX2FjdGl2ZV9vbl9waXBlKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsIGludCBwaXBlKQo+ID4gIHsKPiA+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2ID0gdG9faTkxNShkZXYpOwo+ID4gLS0gCj4gPiAyLjE0LjEKPiA+IAo+ID4gX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiA+IEludGVsLWdmeCBt YWlsaW5nIGxpc3QKPiA+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiA+IGh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWls aW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=