From mboxrd@z Thu Jan 1 00:00:00 1970 From: Archit Taneja Subject: Re: [PATCH v5 07/10] drm/bridge/synopsys: dw-hdmi: Use bridge->mode_valid() callback Date: Tue, 30 May 2017 15:54:46 +0530 Message-ID: <49c4273c-eb14-da5d-f85d-a3a944f8f9cd@codeaurora.org> References: <3d8d449e4d13d2535fa292c75f5fa931de4a4fa8.1495720737.git.joabreu@synopsys.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from smtp.codeaurora.org (smtp.codeaurora.org [198.145.29.96]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3FCB6896E9 for ; Tue, 30 May 2017 10:24:58 +0000 (UTC) In-Reply-To: <3d8d449e4d13d2535fa292c75f5fa931de4a4fa8.1495720737.git.joabreu@synopsys.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Jose Abreu , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Philipp Zabel , Mark Yao Cc: Daniel Vetter , Carlos Palminha , Laurent Pinchart , Kevin Hilman , Carlo Caione List-Id: dri-devel@lists.freedesktop.org SGksCgpPbiAwNS8yNS8yMDE3IDA3OjQ5IFBNLCBKb3NlIEFicmV1IHdyb3RlOgo+IE5vdyB0aGF0 IHdlIGhhdmUgYSBjYWxsYmFjayB0byBjaGVjayBpZiBicmlkZ2Ugc3VwcG9ydHMgYSBnaXZlbiBt b2RlCj4gd2UgY2FuIHVzZSBpdCBpbiBTeW5vcHN5cyBEZXNpZ253YXJlIEhETUkgYnJpZGdlIHNv IHRoYXQgd2UgcmVzdHJpY3QKPiB0aGUgbnVtYmVyIG9mIHByb2JiZWQgbW9kZXMgdG8gdGhlIG9u ZXMgd2UgY2FuIGFjdHVhbGx5IGRpc3BsYXkuCj4KPiBBbHNvLCB0aGVyZSBpcyBubyBuZWVkIHRv IHVzZSBtb2RlX2ZpeHVwKCkgY2FsbGJhY2sgYXMgbW9kZV92YWxpZCgpCj4gd2lsbCBoYW5kbGUg dGhlIG1vZGUgdmFsaWRhdGlvbi4KPgo+IE5PVEU6IE9ubHkgY29tcGlsZSB0ZXN0ZWQKPiBOT1RF IDI6IEkgYWxzbyBoYWQgdG8gY2hhbmdlIHRoZSBwZGF0YSBkZWNsYXJhdGlvbiBvZiBtb2RlX3Zh bGlkCj4gY3VzdG9tIGNhbGxiYWNrIHNvIHRoYXQgdGhlIHBhc3NlZCBtb2RlcyBhcmUgY29uc3Qu IEkgYWxzbyBjaGFuZ2VkCj4gaW4gdGhlIHBsYXRmb3JtcyBJIGZvdW5kLiBOb3QgZXZlbiBjb21w aWxlZCBpdCB0aG91Z2guCgpUaGlzIGNvbXBpbGVzIGZpbmUgYW5kIGhhcyBiZWVuIHRlc3RlZCBv biBNZXNvbiBieSBOZWlsLgoKU2luY2UgdGhpcyBhbHNvIHRvdWNoZXMgcm9ja2NoaXAvaW14IGRy bSBkcml2ZXIgZmlsZXMsIGNhbiBJIGdldCBhbgpPSyBmcm9tIHRoZSBtYWludGFpbmVycyB0byBw dWxsIHRoZSBjaGFuZ2VzIHZpYSBkcm0tbWlzYz8KClRoYW5rcywKQXJjaGl0Cgo+Cj4gU2lnbmVk LW9mZi1ieTogSm9zZSBBYnJldSA8am9hYnJldUBzeW5vcHN5cy5jb20+Cj4gQWNrZWQtYnk6IE5l aWwgQXJtc3Ryb25nIDxuYXJtc3Ryb25nQGJheWxpYnJlLmNvbT4KPiBDYzogQ2FybG9zIFBhbG1p bmhhIDxwYWxtaW5oYUBzeW5vcHN5cy5jb20+Cj4gQ2M6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52 ZXR0ZXJAZmZ3bGwuY2g+Cj4gQ2M6IEFyY2hpdCBUYW5lamEgPGFyY2hpdHRAY29kZWF1cm9yYS5v cmc+Cj4gQ2M6IEFuZHJ6ZWogSGFqZGEgPGEuaGFqZGFAc2Ftc3VuZy5jb20+Cj4gQ2M6IExhdXJl bnQgUGluY2hhcnQgPExhdXJlbnQucGluY2hhcnRAaWRlYXNvbmJvYXJkLmNvbT4KPiBDYzogRGF2 aWQgQWlybGllIDxhaXJsaWVkQGxpbnV4LmllPgo+IENjOiBQaGlsaXBwIFphYmVsIDxwLnphYmVs QHBlbmd1dHJvbml4LmRlPgo+IENjOiBDYXJsbyBDYWlvbmUgPGNhcmxvQGNhaW9uZS5vcmc+Cj4g Q2M6IEtldmluIEhpbG1hbiA8a2hpbG1hbkBiYXlsaWJyZS5jb20+Cj4gQ2M6IE1hcmsgWWFvIDxt YXJrLnlhb0Byb2NrLWNoaXBzLmNvbT4KPiBDYzogSGVpa28gU3R1ZWJuZXIgPGhlaWtvQHNudGVj aC5kZT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zeW5vcHN5cy9kdy1oZG1pLmMg ICB8IDQwICsrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9p bXgvZHdfaGRtaS1pbXguYyAgICAgICAgICAgfCAgNCArLS0KPiAgZHJpdmVycy9ncHUvZHJtL21l c29uL21lc29uX2R3X2hkbWkuYyAgICAgICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9yb2Nr Y2hpcC9kd19oZG1pLXJvY2tjaGlwLmMgfCAgMiArLQo+ICBpbmNsdWRlL2RybS9icmlkZ2UvZHdf aGRtaS5oICAgICAgICAgICAgICAgIHwgIDIgKy0KPiAgNSBmaWxlcyBjaGFuZ2VkLCAxNyBpbnNl cnRpb25zKCspLCAzMyBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vYnJpZGdlL3N5bm9wc3lzL2R3LWhkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc3lu b3BzeXMvZHctaGRtaS5jCj4gaW5kZXggODczN2RlOC4uMDM4ZGM0MyAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL2R3LWhkbWkuYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9icmlkZ2Uvc3lub3BzeXMvZHctaGRtaS5jCj4gQEAgLTE5MDcsMjQgKzE5MDcsNiBA QCBzdGF0aWMgaW50IGR3X2hkbWlfY29ubmVjdG9yX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5l Y3RvciAqY29ubmVjdG9yKQo+ICAJcmV0dXJuIHJldDsKPiAgfQo+Cj4gLXN0YXRpYyBlbnVtIGRy bV9tb2RlX3N0YXR1cwo+IC1kd19oZG1pX2Nvbm5lY3Rvcl9tb2RlX3ZhbGlkKHN0cnVjdCBkcm1f Y29ubmVjdG9yICpjb25uZWN0b3IsCj4gLQkJCSAgICAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUg Km1vZGUpCj4gLXsKPiAtCXN0cnVjdCBkd19oZG1pICpoZG1pID0gY29udGFpbmVyX29mKGNvbm5l Y3RvciwKPiAtCQkJCQkgICBzdHJ1Y3QgZHdfaGRtaSwgY29ubmVjdG9yKTsKPiAtCWVudW0gZHJt X21vZGVfc3RhdHVzIG1vZGVfc3RhdHVzID0gTU9ERV9PSzsKPiAtCj4gLQkvKiBXZSBkb24ndCBz dXBwb3J0IGRvdWJsZS1jbG9ja2VkIG1vZGVzICovCj4gLQlpZiAobW9kZS0+ZmxhZ3MgJiBEUk1f TU9ERV9GTEFHX0RCTENMSykKPiAtCQlyZXR1cm4gTU9ERV9CQUQ7Cj4gLQo+IC0JaWYgKGhkbWkt PnBsYXRfZGF0YS0+bW9kZV92YWxpZCkKPiAtCQltb2RlX3N0YXR1cyA9IGhkbWktPnBsYXRfZGF0 YS0+bW9kZV92YWxpZChjb25uZWN0b3IsIG1vZGUpOwo+IC0KPiAtCXJldHVybiBtb2RlX3N0YXR1 czsKPiAtfQo+IC0KPiAgc3RhdGljIHZvaWQgZHdfaGRtaV9jb25uZWN0b3JfZm9yY2Uoc3RydWN0 IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiAgewo+ICAJc3RydWN0IGR3X2hkbWkgKmhkbWkg PSBjb250YWluZXJfb2YoY29ubmVjdG9yLCBzdHJ1Y3QgZHdfaGRtaSwKPiBAQCAtMTk1MCw3ICsx OTMyLDYgQEAgc3RhdGljIHZvaWQgZHdfaGRtaV9jb25uZWN0b3JfZm9yY2Uoc3RydWN0IGRybV9j b25uZWN0b3IgKmNvbm5lY3RvcikKPgo+ICBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9jb25uZWN0 b3JfaGVscGVyX2Z1bmNzIGR3X2hkbWlfY29ubmVjdG9yX2hlbHBlcl9mdW5jcyA9IHsKPiAgCS5n ZXRfbW9kZXMgPSBkd19oZG1pX2Nvbm5lY3Rvcl9nZXRfbW9kZXMsCj4gLQkubW9kZV92YWxpZCA9 IGR3X2hkbWlfY29ubmVjdG9yX21vZGVfdmFsaWQsCj4gIAkuYmVzdF9lbmNvZGVyID0gZHJtX2F0 b21pY19oZWxwZXJfYmVzdF9lbmNvZGVyLAo+ICB9Owo+Cj4gQEAgLTE5NzMsMTggKzE5NTQsMjEg QEAgc3RhdGljIGludCBkd19oZG1pX2JyaWRnZV9hdHRhY2goc3RydWN0IGRybV9icmlkZ2UgKmJy aWRnZSkKPiAgCXJldHVybiAwOwo+ICB9Cj4KPiAtc3RhdGljIGJvb2wgZHdfaGRtaV9icmlkZ2Vf bW9kZV9maXh1cChzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlLAo+IC0JCQkJICAgICAgY29uc3Qg c3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm9yaWdfbW9kZSwKPiAtCQkJCSAgICAgIHN0cnVjdCBk cm1fZGlzcGxheV9tb2RlICptb2RlKQo+ICtzdGF0aWMgZW51bSBkcm1fbW9kZV9zdGF0dXMgZHdf aGRtaV9icmlkZ2VfbW9kZV92YWxpZChzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlLAo+ICsJCQkJ CQkgICAgICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKPiAgewo+ICAJc3Ry dWN0IGR3X2hkbWkgKmhkbWkgPSBicmlkZ2UtPmRyaXZlcl9wcml2YXRlOwo+ICAJc3RydWN0IGRy bV9jb25uZWN0b3IgKmNvbm5lY3RvciA9ICZoZG1pLT5jb25uZWN0b3I7Cj4gLQllbnVtIGRybV9t b2RlX3N0YXR1cyBzdGF0dXM7Cj4gKwllbnVtIGRybV9tb2RlX3N0YXR1cyBtb2RlX3N0YXR1cyA9 IE1PREVfT0s7Cj4KPiAtCXN0YXR1cyA9IGR3X2hkbWlfY29ubmVjdG9yX21vZGVfdmFsaWQoY29u bmVjdG9yLCBtb2RlKTsKPiAtCWlmIChzdGF0dXMgIT0gTU9ERV9PSykKPiAtCQlyZXR1cm4gZmFs c2U7Cj4gLQlyZXR1cm4gdHJ1ZTsKPiArCS8qIFdlIGRvbid0IHN1cHBvcnQgZG91YmxlLWNsb2Nr ZWQgbW9kZXMgKi8KPiArCWlmIChtb2RlLT5mbGFncyAmIERSTV9NT0RFX0ZMQUdfREJMQ0xLKQo+ ICsJCXJldHVybiBNT0RFX0JBRDsKPiArCj4gKwlpZiAoaGRtaS0+cGxhdF9kYXRhLT5tb2RlX3Zh bGlkKQo+ICsJCW1vZGVfc3RhdHVzID0gaGRtaS0+cGxhdF9kYXRhLT5tb2RlX3ZhbGlkKGNvbm5l Y3RvciwgbW9kZSk7Cj4gKwo+ICsJcmV0dXJuIG1vZGVfc3RhdHVzOwo+ICB9Cj4KPiAgc3RhdGlj IHZvaWQgZHdfaGRtaV9icmlkZ2VfbW9kZV9zZXQoc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSwK PiBAQCAtMjAyOCw3ICsyMDEyLDcgQEAgc3RhdGljIHZvaWQgZHdfaGRtaV9icmlkZ2VfZW5hYmxl KHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UpCj4gIAkuZW5hYmxlID0gZHdfaGRtaV9icmlkZ2Vf ZW5hYmxlLAo+ICAJLmRpc2FibGUgPSBkd19oZG1pX2JyaWRnZV9kaXNhYmxlLAo+ICAJLm1vZGVf c2V0ID0gZHdfaGRtaV9icmlkZ2VfbW9kZV9zZXQsCj4gLQkubW9kZV9maXh1cCA9IGR3X2hkbWlf YnJpZGdlX21vZGVfZml4dXAsCj4gKwkubW9kZV92YWxpZCA9IGR3X2hkbWlfYnJpZGdlX21vZGVf dmFsaWQsCj4gIH07Cj4KPiAgc3RhdGljIGlycXJldHVybl90IGR3X2hkbWlfaTJjX2lycShzdHJ1 Y3QgZHdfaGRtaSAqaGRtaSkKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2lteC9kd19o ZG1pLWlteC5jIGIvZHJpdmVycy9ncHUvZHJtL2lteC9kd19oZG1pLWlteC5jCj4gaW5kZXggZjAz OTY0MS4uNWY1NjFjOCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaW14L2R3X2hkbWkt aW14LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaW14L2R3X2hkbWktaW14LmMKPiBAQCAtMTQ4 LDcgKzE0OCw3IEBAIHN0YXRpYyBpbnQgZHdfaGRtaV9pbXhfYXRvbWljX2NoZWNrKHN0cnVjdCBk cm1fZW5jb2RlciAqZW5jb2RlciwKPiAgfTsKPgo+ICBzdGF0aWMgZW51bSBkcm1fbW9kZV9zdGF0 dXMgaW14NnFfaGRtaV9tb2RlX3ZhbGlkKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb24sCj4gLQkJ CQkJCSAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gKwkJCQkJCSAgY29uc3Qgc3Ry dWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gIHsKPiAgCWlmIChtb2RlLT5jbG9jayA8IDEz NTAwKQo+ICAJCXJldHVybiBNT0RFX0NMT0NLX0xPVzsKPiBAQCAtMTYwLDcgKzE2MCw3IEBAIHN0 YXRpYyBlbnVtIGRybV9tb2RlX3N0YXR1cyBpbXg2cV9oZG1pX21vZGVfdmFsaWQoc3RydWN0IGRy bV9jb25uZWN0b3IgKmNvbiwKPiAgfQo+Cj4gIHN0YXRpYyBlbnVtIGRybV9tb2RlX3N0YXR1cyBp bXg2ZGxfaGRtaV9tb2RlX3ZhbGlkKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb24sCj4gLQkJCQkJ CSAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQo+ICsJCQkJCQkgICBjb25zdCBzdHJ1 Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKPiAgewo+ICAJaWYgKG1vZGUtPmNsb2NrIDwgMTM1 MDApCj4gIAkJcmV0dXJuIE1PREVfQ0xPQ0tfTE9XOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vbWVzb24vbWVzb25fZHdfaGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL21lc29uL21lc29u X2R3X2hkbWkuYwo+IGluZGV4IDdiODZlYjcuLmYwNDM5MDQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL21lc29uL21lc29uX2R3X2hkbWkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9t ZXNvbi9tZXNvbl9kd19oZG1pLmMKPiBAQCAtNTM3LDcgKzUzNyw3IEBAIHN0YXRpYyBpcnFyZXR1 cm5fdCBkd19oZG1pX3RvcF90aHJlYWRfaXJxKGludCBpcnEsIHZvaWQgKmRldl9pZCkKPgo+ICAv KiBUT0ZJWCBFbmFibGUgc3VwcG9ydCBmb3Igbm9uLXZpYyBtb2RlcyAqLwo+ICBzdGF0aWMgZW51 bSBkcm1fbW9kZV9zdGF0dXMgZHdfaGRtaV9tb2RlX3ZhbGlkKHN0cnVjdCBkcm1fY29ubmVjdG9y ICpjb25uZWN0b3IsCj4gLQkJCQkJICAgICAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2Rl KQo+ICsJCQkJCSAgICAgICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKPiAg ewo+ICAJdW5zaWduZWQgaW50IHZjbGtfZnJlcTsKPiAgCXVuc2lnbmVkIGludCB2ZW5jX2ZyZXE7 Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9kd19oZG1pLXJvY2tjaGlw LmMgYi9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvZHdfaGRtaS1yb2NrY2hpcC5jCj4gaW5kZXgg NjNkYWI2Zi4uZjgyMDg0OCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAv ZHdfaGRtaS1yb2NrY2hpcC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL2R3X2hk bWktcm9ja2NoaXAuYwo+IEBAIC0xNTUsNyArMTU1LDcgQEAgc3RhdGljIGludCByb2NrY2hpcF9o ZG1pX3BhcnNlX2R0KHN0cnVjdCByb2NrY2hpcF9oZG1pICpoZG1pKQo+Cj4gIHN0YXRpYyBlbnVt IGRybV9tb2RlX3N0YXR1cwo+ICBkd19oZG1pX3JvY2tjaGlwX21vZGVfdmFsaWQoc3RydWN0IGRy bV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiAtCQkJICAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2Rl ICptb2RlKQo+ICsJCQkgICAgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4g IHsKPiAgCWNvbnN0IHN0cnVjdCBkd19oZG1pX21wbGxfY29uZmlnICptcGxsX2NmZyA9IHJvY2tj aGlwX21wbGxfY2ZnOwo+ICAJaW50IHBjbGsgPSBtb2RlLT5jbG9jayAqIDEwMDA7Cj4gZGlmZiAt LWdpdCBhL2luY2x1ZGUvZHJtL2JyaWRnZS9kd19oZG1pLmggYi9pbmNsdWRlL2RybS9icmlkZ2Uv ZHdfaGRtaS5oCj4gaW5kZXggZWQ1OTliZS4uNGM4ZDRjOCAxMDA2NDQKPiAtLS0gYS9pbmNsdWRl L2RybS9icmlkZ2UvZHdfaGRtaS5oCj4gKysrIGIvaW5jbHVkZS9kcm0vYnJpZGdlL2R3X2hkbWku aAo+IEBAIC0xMjUsNyArMTI1LDcgQEAgc3RydWN0IGR3X2hkbWlfcGh5X29wcyB7Cj4gIHN0cnVj dCBkd19oZG1pX3BsYXRfZGF0YSB7Cj4gIAlzdHJ1Y3QgcmVnbWFwICpyZWdtOwo+ICAJZW51bSBk cm1fbW9kZV9zdGF0dXMgKCptb2RlX3ZhbGlkKShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVj dG9yLAo+IC0JCQkJCSAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKTsKPiArCQkJCQkg ICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSk7Cj4gIAl1bnNpZ25lZCBsb25n IGlucHV0X2J1c19mb3JtYXQ7Cj4gIAl1bnNpZ25lZCBsb25nIGlucHV0X2J1c19lbmNvZGluZzsK Pgo+CgotLSAKUXVhbGNvbW0gSW5ub3ZhdGlvbiBDZW50ZXIsIEluYy4gaXMgYSBtZW1iZXIgb2Yg Q29kZSBBdXJvcmEgRm9ydW0sCmEgTGludXggRm91bmRhdGlvbiBDb2xsYWJvcmF0aXZlIFByb2pl Y3QKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRl dmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==