From mboxrd@z Thu Jan 1 00:00:00 1970 From: Uma Shankar Subject: [v2 1/7] drm: Add gamma mode caps property Date: Mon, 1 Apr 2019 23:00:05 +0530 Message-ID: <1554139811-13280-2-git-send-email-uma.shankar@intel.com> References: <1554139811-13280-1-git-send-email-uma.shankar@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1554139811-13280-1-git-send-email-uma.shankar@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, dri-devel@lists.freedesktop.org Cc: dcastagna@chromium.org, seanpaul@chromium.org, ville.syrjala@intel.com, harry.wentland@amd.com, maarten.lankhorst@intel.com List-Id: dri-devel@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCkFk ZCBhIGdhbW1hIG1vZGUgY2FwYWJpbGl0eSBwcm9wZXJ0eSB0byBlbmFibGUgdmFyaW91cyBraW5k IG9mCmdhbW1hIG1vZGVzIHN1cHBvcnRlZCBieSBwbGF0Zm9ybXMgbGlrZTogSW50ZXJwb2xhdGVk LCBTcGxpdCwKTXVsdGkgU2VnbWVudGVkIGV0Yy4gVXNlcnNwYWNlIGNhbiBnZXQgdGhpcyBwcm9w ZXJ0eSBhbmQKc2hvdWxkIGJlIGFibGUgdG8gZ2V0IHRoZSBwbGF0Zm9ybSBjYXBhYmlsdGllcyB3 cnQgdmFyaW91cwpnYW1tYSBtb2RlcyBwb3NzaWJsZSBhbmQgdGhlIHBvc3NpYmxlIHJhbmdlcy4K Ckl0IGNhbiB0aGVuIGNyZWF0ZSB0aGUgTFVUIGFuZCBzZW5kIGl0IHRvIGRyaXZlciB1c2luZwph bm90aGVyIGdhbW1hIG1vZGUgcHJvcGVydHkgYXMgYmxvYi4KClNpZ25lZC1vZmYtYnk6IFZpbGxl IFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6 IFVtYSBTaGFua2FyIDx1bWEuc2hhbmthckBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJt L2RybV9hdG9taWNfdWFwaS5jIHwgIDMgKysKIGRyaXZlcnMvZ3B1L2RybS9kcm1fY29sb3JfbWdt dC5jICB8IDc4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogaW5jbHVk ZS9kcm0vZHJtX2NvbG9yX21nbXQuaCAgICAgIHwgIDggKysrKwogaW5jbHVkZS9kcm0vZHJtX2Ny dGMuaCAgICAgICAgICAgIHwgIDcgKysrKwogaW5jbHVkZS9kcm0vZHJtX21vZGVfY29uZmlnLmgg ICAgIHwgIDUgKysrCiBpbmNsdWRlL3VhcGkvZHJtL2RybV9tb2RlLmggICAgICAgfCAzOCArKysr KysrKysrKysrKysrKysrCiA2IGZpbGVzIGNoYW5nZWQsIDEzOSBpbnNlcnRpb25zKCspCgpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5jIGIvZHJpdmVycy9ncHUv ZHJtL2RybV9hdG9taWNfdWFwaS5jCmluZGV4IGVhNzk3ZDQuLjAzZGYyYTQgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3VhcGkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v ZHJtX2F0b21pY191YXBpLmMKQEAgLTQ5NSw2ICs0OTUsOSBAQCBzdGF0aWMgaW50IGRybV9hdG9t aWNfY3J0Y19zZXRfcHJvcGVydHkoc3RydWN0IGRybV9jcnRjICpjcnRjLAogCQkqdmFsID0gKHN0 YXRlLT5tb2RlX2Jsb2IpID8gc3RhdGUtPm1vZGVfYmxvYi0+YmFzZS5pZCA6IDA7CiAJZWxzZSBp ZiAocHJvcGVydHkgPT0gY29uZmlnLT5wcm9wX3Zycl9lbmFibGVkKQogCQkqdmFsID0gc3RhdGUt PnZycl9lbmFibGVkOworCWVsc2UgaWYgKHByb3BlcnR5ID09IGNvbmZpZy0+Z2FtbWFfbW9kZV9j YXBzX3Byb3BlcnR5KQorCQkqdmFsID0gKHN0YXRlLT5nYW1tYV9tb2RlX2NhcHMpID8KKwkJCXN0 YXRlLT5nYW1tYV9tb2RlX2NhcHMtPmJhc2UuaWQgOiAwOwogCWVsc2UgaWYgKHByb3BlcnR5ID09 IGNvbmZpZy0+ZGVnYW1tYV9sdXRfcHJvcGVydHkpCiAJCSp2YWwgPSAoc3RhdGUtPmRlZ2FtbWFf bHV0KSA/IHN0YXRlLT5kZWdhbW1hX2x1dC0+YmFzZS5pZCA6IDA7CiAJZWxzZSBpZiAocHJvcGVy dHkgPT0gY29uZmlnLT5jdG1fcHJvcGVydHkpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v ZHJtX2NvbG9yX21nbXQuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29sb3JfbWdtdC5jCmluZGV4 IGQ1ZDM0ZDAuLjA1NGYwZWQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29sb3Jf bWdtdC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29sb3JfbWdtdC5jCkBAIC0xNzYsNiAr MTc2LDg0IEBAIHZvaWQgZHJtX2NydGNfZW5hYmxlX2NvbG9yX21nbXQoc3RydWN0IGRybV9jcnRj ICpjcnRjLAogfQogRVhQT1JUX1NZTUJPTChkcm1fY3J0Y19lbmFibGVfY29sb3JfbWdtdCk7CiAK K3ZvaWQgZHJtX2NydGNfYXR0YWNoX2dhbW1hX21vZGVfY2Fwc19wcm9wZXJ0eShzdHJ1Y3QgZHJt X2NydGMgKmNydGMpCit7CisJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRldjsKKwlz dHJ1Y3QgZHJtX21vZGVfY29uZmlnICpjb25maWcgPSAmZGV2LT5tb2RlX2NvbmZpZzsKKworCWlm ICghY29uZmlnLT5nYW1tYV9tb2RlX2NhcHNfcHJvcGVydHkpCisJCXJldHVybjsKKworCWRybV9v YmplY3RfYXR0YWNoX3Byb3BlcnR5KCZjcnRjLT5iYXNlLAorCQkJCSAgIGNvbmZpZy0+Z2FtbWFf bW9kZV9jYXBzX3Byb3BlcnR5LCAwKTsKK30KK0VYUE9SVF9TWU1CT0woZHJtX2NydGNfYXR0YWNo X2dhbW1hX21vZGVfY2Fwc19wcm9wZXJ0eSk7CisKK2ludCBkcm1fY29sb3JfY3JlYXRlX2dhbW1h X21vZGVfY2Fwc19wcm9wZXJ0eShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAorCQkJCQkgICAgICBp bnQgbnVtX3ZhbHVlcykKK3sKKwlzdHJ1Y3QgZHJtX21vZGVfY29uZmlnICpjb25maWcgPSAmZGV2 LT5tb2RlX2NvbmZpZzsKKwlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpwcm9wOworCisJcHJvcCA9IGRy bV9wcm9wZXJ0eV9jcmVhdGUoZGV2LAorCQkJCSAgIERSTV9NT0RFX1BST1BfRU5VTSB8CisJCQkJ ICAgRFJNX01PREVfUFJPUF9JTU1VVEFCTEUsCisJCQkJICAgIkdBTU1BX01PREVfQ0FQUyIsIG51 bV92YWx1ZXMpOworCWlmICghcHJvcCkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwljb25maWctPmdh bW1hX21vZGVfY2Fwc19wcm9wZXJ0eSA9IHByb3A7CisKKwlyZXR1cm4gMDsKK30KK0VYUE9SVF9T WU1CT0woZHJtX2NvbG9yX2NyZWF0ZV9nYW1tYV9tb2RlX2NhcHNfcHJvcGVydHkpOworCitpbnQg ZHJtX2NvbG9yX2FkZF9nYW1tYV9tb2RlX3JhbmdlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCisJ CQkJICAgY29uc3QgY2hhciAqbmFtZSwKKwkJCQkgICBjb25zdCBzdHJ1Y3QgZHJtX2NvbG9yX2x1 dF9yYW5nZSAqcmFuZ2VzLAorCQkJCSAgIHNpemVfdCBsZW5ndGgpCit7CisJc3RydWN0IGRybV9t b2RlX2NvbmZpZyAqY29uZmlnID0gJmRldi0+bW9kZV9jb25maWc7CisJc3RydWN0IGRybV9wcm9w ZXJ0eV9ibG9iICpibG9iOworCXN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3A7CisJaW50IG51bV9y YW5nZXMgPSBsZW5ndGggLyBzaXplb2YocmFuZ2VzWzBdKTsKKwlpbnQgaSwgcmV0LCBudW1fdHlw ZXNfMDsKKworCWlmIChXQVJOX09OKGxlbmd0aCA9PSAwIHx8IGxlbmd0aCAlIHNpemVvZihyYW5n ZXNbMF0pICE9IDApKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCW51bV90eXBlc18wID0gaHdlaWdo dDgocmFuZ2VzWzBdLmZsYWdzICYgKERSTV9NT0RFX0xVVF9HQU1NQSB8CisJCQkJCQkgIERSTV9N T0RFX0xVVF9ERUdBTU1BKSk7CisJaWYgKG51bV90eXBlc18wID09IDApCisJCXJldHVybiAtRUlO VkFMOworCisJZm9yIChpID0gMTsgaSA8IG51bV9yYW5nZXM7IGkrKykgeworCQlpbnQgbnVtX3R5 cGVzID0gaHdlaWdodDgocmFuZ2VzW2ldLmZsYWdzICYgKERSTV9NT0RFX0xVVF9HQU1NQSB8CisJ CQkJCQkJICAgIERSTV9NT0RFX0xVVF9ERUdBTU1BKSk7CisKKwkJLyogZWl0aGVyIGFsbCByYW5n ZXMgaGF2ZSBERUdBTU1BfEdBTU1BIG9yIG5vbmUgaGF2ZSBpdCAqLworCQlpZiAobnVtX3R5cGVz XzAgIT0gbnVtX3R5cGVzKQorCQkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJcHJvcCA9IGNvbmZp Zy0+Z2FtbWFfbW9kZV9jYXBzX3Byb3BlcnR5OworCWlmICghcHJvcCkKKwkJcmV0dXJuIC1FSU5W QUw7CisKKwlibG9iID0gZHJtX3Byb3BlcnR5X2NyZWF0ZV9ibG9iKGRldiwgbGVuZ3RoLCByYW5n ZXMpOworCWlmIChJU19FUlIoYmxvYikpCisJCXJldHVybiBQVFJfRVJSKGJsb2IpOworCisJcmV0 ID0gZHJtX3Byb3BlcnR5X2FkZF9lbnVtKHByb3AsIGJsb2ItPmJhc2UuaWQsIG5hbWUpOworCWlm IChyZXQpIHsKKwkJZHJtX3Byb3BlcnR5X2Jsb2JfcHV0KGJsb2IpOworCQlyZXR1cm4gcmV0Owor CX0KKworCXJldHVybiAwOworfQorRVhQT1JUX1NZTUJPTChkcm1fY29sb3JfYWRkX2dhbW1hX21v ZGVfcmFuZ2UpOworCiAvKioKICAqIGRybV9tb2RlX2NydGNfc2V0X2dhbW1hX3NpemUgLSBzZXQg dGhlIGdhbW1hIHRhYmxlIHNpemUKICAqIEBjcnRjOiBDUlRDIHRvIHNldCB0aGUgZ2FtbWEgdGFi bGUgc2l6ZSBmb3IKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9jb2xvcl9tZ210LmggYi9p bmNsdWRlL2RybS9kcm1fY29sb3JfbWdtdC5oCmluZGV4IGQxYzY2MmQuLmUwZjk0ZGIgMTAwNjQ0 Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9jb2xvcl9tZ210LmgKKysrIGIvaW5jbHVkZS9kcm0vZHJt X2NvbG9yX21nbXQuaApAQCAtNTEsNiArNTEsMTQgQEAgc3RhdGljIGlubGluZSBpbnQgZHJtX2Nv bG9yX2x1dF9zaXplKGNvbnN0IHN0cnVjdCBkcm1fcHJvcGVydHlfYmxvYiAqYmxvYikKIAlyZXR1 cm4gYmxvYi0+bGVuZ3RoIC8gc2l6ZW9mKHN0cnVjdCBkcm1fY29sb3JfbHV0KTsKIH0KIAoraW50 IGRybV9jb2xvcl9jcmVhdGVfZ2FtbWFfbW9kZV9jYXBzX3Byb3BlcnR5KHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsCisJCQkJCSAgICAgIGludCBudW1fdmFsdWVzKTsKK3ZvaWQgZHJtX2NydGNfYXR0 YWNoX2dhbW1hX21vZGVfY2Fwc19wcm9wZXJ0eShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpOworaW50 IGRybV9jb2xvcl9hZGRfZ2FtbWFfbW9kZV9yYW5nZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAor CQkJCSAgIGNvbnN0IGNoYXIgKm5hbWUsCisJCQkJICAgY29uc3Qgc3RydWN0IGRybV9jb2xvcl9s dXRfcmFuZ2UgKnJhbmdlcywKKwkJCQkgICBzaXplX3QgbGVuZ3RoKTsKKwogZW51bSBkcm1fY29s b3JfZW5jb2RpbmcgewogCURSTV9DT0xPUl9ZQ0JDUl9CVDYwMSwKIAlEUk1fQ09MT1JfWUNCQ1Jf QlQ3MDksCmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fY3J0Yy5oIGIvaW5jbHVkZS9kcm0v ZHJtX2NydGMuaAppbmRleCA1OGFkOTgzLi5jZGZkYTkwIDEwMDY0NAotLS0gYS9pbmNsdWRlL2Ry bS9kcm1fY3J0Yy5oCisrKyBiL2luY2x1ZGUvZHJtL2RybV9jcnRjLmgKQEAgLTI0OSw2ICsyNDks MTMgQEAgc3RydWN0IGRybV9jcnRjX3N0YXRlIHsKIAlzdHJ1Y3QgZHJtX3Byb3BlcnR5X2Jsb2Ig Km1vZGVfYmxvYjsKIAogCS8qKgorCSAqIEBnYW1tYV9tb2RlOgorCSAqCisJICogRklYTUUKKwkg Ki8KKwlzdHJ1Y3QgZHJtX3Byb3BlcnR5X2Jsb2IgKmdhbW1hX21vZGVfY2FwczsKKworCS8qKgog CSAqIEBkZWdhbW1hX2x1dDoKIAkgKgogCSAqIExvb2t1cCB0YWJsZSBmb3IgY29udmVydGluZyBm cmFtZWJ1ZmZlciBwaXhlbCBkYXRhIGJlZm9yZSBhcHBseSB0aGUKZGlmZiAtLWdpdCBhL2luY2x1 ZGUvZHJtL2RybV9tb2RlX2NvbmZpZy5oIGIvaW5jbHVkZS9kcm0vZHJtX21vZGVfY29uZmlnLmgK aW5kZXggN2Y2MGU4ZS4uN2IyMDM1NSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtX21vZGVf Y29uZmlnLmgKKysrIGIvaW5jbHVkZS9kcm0vZHJtX21vZGVfY29uZmlnLmgKQEAgLTc2MSw2ICs3 NjEsMTEgQEAgc3RydWN0IGRybV9tb2RlX2NvbmZpZyB7CiAJICovCiAJc3RydWN0IGRybV9wcm9w ZXJ0eSAqY29udGVudF90eXBlX3Byb3BlcnR5OwogCS8qKgorCSAqIEBnYW1tYV9tb2RlX3Byb3Bl cnR5OiBPcHRpb25hbCBDUlRDIHByb3BlcnR5IHRvIGVudW1lcmF0ZSBhbmQKKwkgKiBzZWxlY3Qg dGhlIG1vZGUgb2YgdGhlIGNydGMgZ2FtbWEvZGVnbWFtYSBMVVRzLgorCSAqLworCXN0cnVjdCBk cm1fcHJvcGVydHkgKmdhbW1hX21vZGVfY2Fwc19wcm9wZXJ0eTsKKwkvKioKIAkgKiBAZGVnYW1t YV9sdXRfcHJvcGVydHk6IE9wdGlvbmFsIENSVEMgcHJvcGVydHkgdG8gc2V0IHRoZSBMVVQgdXNl ZCB0bwogCSAqIGNvbnZlcnQgdGhlIGZyYW1lYnVmZmVyJ3MgY29sb3JzIHRvIGxpbmVhciBnYW1t YS4KIAkgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWFwaS9kcm0vZHJtX21vZGUuaCBiL2luY2x1 ZGUvdWFwaS9kcm0vZHJtX21vZGUuaAppbmRleCAwOWQ3Mjk2Li5lNDc1ZjRhIDEwMDY0NAotLS0g YS9pbmNsdWRlL3VhcGkvZHJtL2RybV9tb2RlLmgKKysrIGIvaW5jbHVkZS91YXBpL2RybS9kcm1f bW9kZS5oCkBAIC02MjksNiArNjI5LDQ0IEBAIHN0cnVjdCBkcm1fY29sb3JfbHV0IHsKIAlfX3Ux NiByZXNlcnZlZDsKIH07CiAKKy8qCisgKiBEUk1fTU9ERV9MVVRfR0FNTUF8RFJNX01PREVfTFVU X0RFR0FNTUEgaXMgbGVnYWwgYW5kIG1lYW5zIHRoZSBMVVQKKyAqIGNhbiBiZSB1c2VkIGZvciBl aXRoZXIgcHVycG9zZSwgYnV0IG5vdCBzaW11bHRhbmVvdXNseS4gVG8gZXhwb3NlCisgKiBtb2Rl cyB0aGF0IHN1cHBvcnQgZ2FtbWEgYW5kIGRlZ2FtbWEgc2ltdWx0YW5lb3VzbHkgdGhlIGdhbW1h IG1vZGUKKyAqIG11c3QgZGVjbGFyZSBkaXN0aW5jdCBEUk1fTU9ERV9MVVRfR0FNTUEgYW5kIERS TV9NT0RFX0xVVF9ERUdBTU1BCisgKiByYW5nZXMuCisgKi8KKy8qIExVVCBpcyBmb3IgZ2FtbWEg KGFmdGVyIENUTSkgKi8KKyNkZWZpbmUgRFJNX01PREVfTFVUX0dBTU1BICgxIDw8IDApCisvKiBM VVQgaXMgZm9yIGRlZ2FtbWEgKGJlZm9yZSBDVE0pICovCisjZGVmaW5lIERSTV9NT0RFX0xVVF9E RUdBTU1BICgxIDw8IDEpCisvKiBsaW5lYXJseSBpbnRlcnBvbGF0ZSBiZXR3ZWVuIHRoZSBwb2lu dHMgKi8KKyNkZWZpbmUgRFJNX01PREVfTFVUX0lOVEVSUE9MQVRFICgxIDw8IDIpCisvKgorICog dGhlIGxhc3QgdmFsdWUgb2YgdGhlIHByZXZpb3VzIHJhbmdlIGlzIHRoZQorICogZmlyc3QgdmFs dWUgb2YgdGhlIGN1cnJlbnQgcmFuZ2UuCisgKi8KKyNkZWZpbmUgRFJNX01PREVfTFVUX1JFVVNF X0xBU1QgKDEgPDwgMykKKy8qIHRoZSBjdXJ2ZSBtdXN0IGJlIG5vbi1kZWNyZWFzaW5nICovCisj ZGVmaW5lIERSTV9NT0RFX0xVVF9OT05fREVDUkVBU0lORyAoMSA8PCA0KQorLyogdGhlIGN1cnZl IGlzIHJlZmxlY3RlZCBhY3Jvc3Mgb3JpZ2luIGZvciBuZWdhdGl2ZSBpbnB1dHMgKi8KKyNkZWZp bmUgRFJNX01PREVfTFVUX1JFRkxFQ1RfTkVHQVRJVkUgKDEgPDwgNSkKKy8qIHRoZSBzYW1lIGN1 cnZlIChyZWQpIGlzIHVzZWQgZm9yIGJsdWUgYW5kIGdyZWVuIGNoYW5uZWxzIGFzIHdlbGwgKi8K KyNkZWZpbmUgRFJNX01PREVfTFVUX1NJTkdMRV9DSEFOTkVMICgxIDw8IDYpCisKK3N0cnVjdCBk cm1fY29sb3JfbHV0X3JhbmdlIHsKKwkvKiBEUk1fTU9ERV9MVVRfKiAqLworCV9fdTMyIGZsYWdz OworCS8qIG51bWJlciBvZiBwb2ludHMgb24gdGhlIGN1cnZlICovCisJX191MTYgY291bnQ7CisJ LyogaW5wdXQvb3V0cHV0IGJpdHMgcGVyIGNvbXBvbmVudCAqLworCV9fdTggaW5wdXRfYnBjLCBv dXRwdXRfYnBjOworCS8qIGlucHV0IHN0YXJ0L2VuZCB2YWx1ZXMgKi8KKwlfX3MzMiBzdGFydCwg ZW5kOworCS8qIG91dHB1dCBtaW4vbWF4IHZhbHVlcyAqLworCV9fczMyIG1pbiwgbWF4OworfTsK KwogI2RlZmluZSBEUk1fTU9ERV9QQUdFX0ZMSVBfRVZFTlQgMHgwMQogI2RlZmluZSBEUk1fTU9E RV9QQUdFX0ZMSVBfQVNZTkMgMHgwMgogI2RlZmluZSBEUk1fTU9ERV9QQUdFX0ZMSVBfVEFSR0VU X0FCU09MVVRFIDB4NAotLSAKMS45LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2ludGVsLWdmeA==