From mboxrd@z Thu Jan 1 00:00:00 1970 From: Russell King Subject: [PATCH 16/17] drm/armada: remove crtc YUV colourspace properties Date: Tue, 10 Jul 2018 11:33:31 +0100 Message-ID: References: <20180710103106.GI17271@n2100.armlinux.org.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from pandora.armlinux.org.uk (pandora.armlinux.org.uk [IPv6:2001:4d48:ad52:3201:214:fdff:fe10:1be6]) by gabe.freedesktop.org (Postfix) with ESMTPS id D1D3B6E8F4 for ; Tue, 10 Jul 2018 10:33:37 +0000 (UTC) In-Reply-To: <20180710103106.GI17271@n2100.armlinux.org.uk> Content-Disposition: inline List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: David Airlie List-Id: dri-devel@lists.freedesktop.org UmVtb3ZlIHRoZSB1bnVzZWQgQ1JUQyBjb2xvdXJzcGFjZSBwcm9wZXJ0aWVzIC0gdXNlcnNwYWNl IGRvZXMgbm90IG1ha2UKdXNlIG9mIHRoZXNlLiAgSW4gYW55IGNhc2UsIHRoZXNlIGFyZSBub3Qg YSBwcm9wZXJ0eSBvZiB0aGUgQ1JUQywgc2luY2UKdGhleSBkZW1vbnN0cmFibHkgb25seSBhZmZl Y3QgdGhlIHZpZGVvIChvdmVybGF5KSBwbGFuZSwgaXJyZXNwZWN0aXZlCm9mIHRoZSBmb3JtYXQg b2YgdGhlIGdyYXBoaWNzIChwcmltYXJ5KSBwbGFuZS4KClNpZ25lZC1vZmYtYnk6IFJ1c3NlbGwg S2luZyA8cm1rK2tlcm5lbEBhcm1saW51eC5vcmcudWs+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2Fy bWFkYS9hcm1hZGFfY3J0Yy5jIHwgMTE4IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCiBkcml2ZXJzL2dwdS9kcm0vYXJtYWRhL2FybWFkYV9jcnRjLmggfCAgIDIgLQogZHJpdmVy cy9ncHUvZHJtL2FybWFkYS9hcm1hZGFfZHJtLmggIHwgICAyIC0KIDMgZmlsZXMgY2hhbmdlZCwg MTIyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcm1hZGEvYXJt YWRhX2NydGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9hcm1hZGEvYXJtYWRhX2NydGMuYwppbmRleCBi OWIwYTUwODc5M2QuLjM1YjJkZjBmYzIxYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2Fy bWFkYS9hcm1hZGFfY3J0Yy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm1hZGEvYXJtYWRhX2Ny dGMuYwpAQCAtMjMsMTQgKzIzLDYgQEAKICNpbmNsdWRlICJhcm1hZGFfcGxhbmUuaCIKICNpbmNs dWRlICJhcm1hZGFfdHJhY2UuaCIKIAotZW51bSBjc2NfbW9kZSB7Ci0JQ1NDX0FVVE8gPSAwLAot CUNTQ19ZVVZfQ0NJUjYwMSA9IDEsCi0JQ1NDX1lVVl9DQ0lSNzA5ID0gMiwKLQlDU0NfUkdCX0NP TVBVVEVSID0gMSwKLQlDU0NfUkdCX1NUVURJTyA9IDIsCi19OwotCiAvKgogICogQSBub3RlIGFi b3V0IGludGVybGFjaW5nLiAgTGV0J3MgY29uc2lkZXIgSERNSSAxOTIweDEwODBpLgogICogVGhl IHRpbWluZyBwYXJhbWV0ZXJzIHdlIGhhdmUgZnJvbSBYIGFyZToKQEAgLTQzOCw0MiArNDMwLDYg QEAgc3RhdGljIGlycXJldHVybl90IGFybWFkYV9kcm1faXJxKGludCBpcnEsIHZvaWQgKmFyZykK IAlyZXR1cm4gSVJRX05PTkU7CiB9CiAKLXN0YXRpYyB1aW50MzJfdCBhcm1hZGFfZHJtX2NydGNf Y2FsY3VsYXRlX2NzYyhzdHJ1Y3QgYXJtYWRhX2NydGMgKmRjcnRjKQotewotCXN0cnVjdCBkcm1f ZGlzcGxheV9tb2RlICphZGogPSAmZGNydGMtPmNydGMubW9kZTsKLQl1aW50MzJfdCB2YWwgPSAw OwotCi0JaWYgKGRjcnRjLT5jc2NfeXV2X21vZGUgPT0gQ1NDX1lVVl9DQ0lSNzA5KQotCQl2YWwg fD0gQ0ZHX0NTQ19ZVVZfQ0NJUjcwOTsKLQlpZiAoZGNydGMtPmNzY19yZ2JfbW9kZSA9PSBDU0Nf UkdCX1NUVURJTykKLQkJdmFsIHw9IENGR19DU0NfUkdCX1NUVURJTzsKLQotCS8qCi0JICogSW4g YXV0byBtb2RlLCBzZXQgdGhlIGNvbG9yaW1ldHJ5LCBiYXNlZCB1cG9uIHRoZSBIRE1JIHNwZWMu Ci0JICogMTI4MHg3MjBwLCAxOTIweDEwODBwIGFuZCAxOTIweDEwODBpIHVzZSBJVFU3MDksIG90 aGVycyB1c2UKLQkgKiBJVFU2MDEuICBJdCBtYXkgYmUgbW9yZSBhcHByb3ByaWF0ZSB0byBzZXQg dGhpcyBkZXBlbmRpbmcgb24KLQkgKiB0aGUgc291cmNlIC0gYnV0IHdoYXQgaWYgdGhlIGdyYXBo aWMgZnJhbWUgaXMgWVVWIGFuZCB0aGUKLQkgKiB2aWRlbyBmcmFtZSBpcyBSR0I/Ci0JICovCi0J aWYgKChhZGotPmhkaXNwbGF5ID09IDEyODAgJiYgYWRqLT52ZGlzcGxheSA9PSA3MjAgJiYKLQkg ICAgICEoYWRqLT5mbGFncyAmIERSTV9NT0RFX0ZMQUdfSU5URVJMQUNFKSkgfHwKLQkgICAgKGFk ai0+aGRpc3BsYXkgPT0gMTkyMCAmJiBhZGotPnZkaXNwbGF5ID09IDEwODApKSB7Ci0JCWlmIChk Y3J0Yy0+Y3NjX3l1dl9tb2RlID09IENTQ19BVVRPKQotCQkJdmFsIHw9IENGR19DU0NfWVVWX0ND SVI3MDk7Ci0JfQotCi0JLyoKLQkgKiBXZSBhc3N1bWUgd2UncmUgY29ubmVjdGVkIHRvIGEgVFYt bGlrZSBkZXZpY2UsIHNvIHRoZSBZVVYtPlJHQgotCSAqIGNvbnZlcnNpb24gc2hvdWxkIHByb2R1 Y2UgYSBsaW1pdGVkIHJhbmdlLiAgV2Ugc2hvdWxkIHNldCB0aGlzCi0JICogZGVwZW5kaW5nIG9u IHRoZSBjb25uZWN0b3JzIGF0dGFjaGVkIHRvIHRoaXMgQ1JUQywgYW5kIHdoYXQKLQkgKiBraW5k IG9mIGRldmljZSB0aGV5IHJlcG9ydCBiZWluZyBjb25uZWN0ZWQuCi0JICovCi0JaWYgKGRjcnRj LT5jc2NfcmdiX21vZGUgPT0gQ1NDX0FVVE8pCi0JCXZhbCB8PSBDRkdfQ1NDX1JHQl9TVFVESU87 Ci0KLQlyZXR1cm4gdmFsOwotfQotCiAvKiBUaGUgbW9kZV9jb25maWcubXV0ZXggd2lsbCBiZSBo ZWxkIGZvciB0aGlzIGNhbGwgKi8KIHN0YXRpYyB2b2lkIGFybWFkYV9kcm1fY3J0Y19tb2RlX3Nl dF9ub2ZiKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKIHsKQEAgLTU2MCw5ICs1MTYsNiBAQCBzdGF0 aWMgdm9pZCBhcm1hZGFfZHJtX2NydGNfbW9kZV9zZXRfbm9mYihzdHJ1Y3QgZHJtX2NydGMgKmNy dGMpCiAKIAl2YWwgPSBhZGotPmZsYWdzICYgRFJNX01PREVfRkxBR19OVlNZTkMgPyBDRkdfVlNZ TkNfSU5WIDogMDsKIAlhcm1hZGFfcmVnX3F1ZXVlX21vZChyZWdzLCBpLCB2YWwsIENGR19WU1lO Q19JTlYsIExDRF9TUFVfRE1BX0NUUkwxKTsKLQotCXZhbCA9IGRjcnRjLT5zcHVfaW9wYWRfY3Ry bCB8IGFybWFkYV9kcm1fY3J0Y19jYWxjdWxhdGVfY3NjKGRjcnRjKTsKLQlhcm1hZGFfcmVnX3F1 ZXVlX3NldChyZWdzLCBpLCB2YWwsIExDRF9TUFVfSU9QQURfQ09OVFJPTCk7CiAJYXJtYWRhX3Jl Z19xdWV1ZV9lbmQocmVncywgaSk7CiAKIAlhcm1hZGFfZHJtX2NydGNfdXBkYXRlX3JlZ3MoZGNy dGMsIHJlZ3MpOwpAQCAtOTM3LDMzICs4OTAsNiBAQCBzdGF0aWMgaW50IGFybWFkYV9kcm1fY3J0 Y19wYWdlX2ZsaXAoc3RydWN0IGRybV9jcnRjICpjcnRjLAogCXJldHVybiByZXQ7CiB9CiAKLXN0 YXRpYyBpbnQKLWFybWFkYV9kcm1fY3J0Y19zZXRfcHJvcGVydHkoc3RydWN0IGRybV9jcnRjICpj cnRjLAotCXN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3BlcnR5LCB1aW50NjRfdCB2YWwpCi17Ci0J c3RydWN0IGFybWFkYV9wcml2YXRlICpwcml2ID0gY3J0Yy0+ZGV2LT5kZXZfcHJpdmF0ZTsKLQlz dHJ1Y3QgYXJtYWRhX2NydGMgKmRjcnRjID0gZHJtX3RvX2FybWFkYV9jcnRjKGNydGMpOwotCWJv b2wgdXBkYXRlX2NzYyA9IGZhbHNlOwotCi0JaWYgKHByb3BlcnR5ID09IHByaXYtPmNzY195dXZf cHJvcCkgewotCQlkY3J0Yy0+Y3NjX3l1dl9tb2RlID0gdmFsOwotCQl1cGRhdGVfY3NjID0gdHJ1 ZTsKLQl9IGVsc2UgaWYgKHByb3BlcnR5ID09IHByaXYtPmNzY19yZ2JfcHJvcCkgewotCQlkY3J0 Yy0+Y3NjX3JnYl9tb2RlID0gdmFsOwotCQl1cGRhdGVfY3NjID0gdHJ1ZTsKLQl9Ci0KLQlpZiAo dXBkYXRlX2NzYykgewotCQl1aW50MzJfdCB2YWw7Ci0KLQkJdmFsID0gZGNydGMtPnNwdV9pb3Bh ZF9jdHJsIHwKLQkJICAgICAgYXJtYWRhX2RybV9jcnRjX2NhbGN1bGF0ZV9jc2MoZGNydGMpOwot CQl3cml0ZWxfcmVsYXhlZCh2YWwsIGRjcnRjLT5iYXNlICsgTENEX1NQVV9JT1BBRF9DT05UUk9M KTsKLQl9Ci0KLQlyZXR1cm4gMDsKLX0KLQogLyogVGhlc2UgYXJlIGNhbGxlZCB1bmRlciB0aGUg dmJsX2xvY2suICovCiBzdGF0aWMgaW50IGFybWFkYV9kcm1fY3J0Y19lbmFibGVfdmJsYW5rKHN0 cnVjdCBkcm1fY3J0YyAqY3J0YykKIHsKQEAgLTk5Myw0NSArOTE5LDEyIEBAIHN0YXRpYyBjb25z dCBzdHJ1Y3QgZHJtX2NydGNfZnVuY3MgYXJtYWRhX2NydGNfZnVuY3MgPSB7CiAJLmRlc3Ryb3kJ PSBhcm1hZGFfZHJtX2NydGNfZGVzdHJveSwKIAkuc2V0X2NvbmZpZwk9IGRybV9jcnRjX2hlbHBl cl9zZXRfY29uZmlnLAogCS5wYWdlX2ZsaXAJPSBhcm1hZGFfZHJtX2NydGNfcGFnZV9mbGlwLAot CS5zZXRfcHJvcGVydHkJPSBhcm1hZGFfZHJtX2NydGNfc2V0X3Byb3BlcnR5LAogCS5hdG9taWNf ZHVwbGljYXRlX3N0YXRlID0gZHJtX2F0b21pY19oZWxwZXJfY3J0Y19kdXBsaWNhdGVfc3RhdGUs CiAJLmF0b21pY19kZXN0cm95X3N0YXRlID0gZHJtX2F0b21pY19oZWxwZXJfY3J0Y19kZXN0cm95 X3N0YXRlLAogCS5lbmFibGVfdmJsYW5rCT0gYXJtYWRhX2RybV9jcnRjX2VuYWJsZV92Ymxhbmss CiAJLmRpc2FibGVfdmJsYW5rCT0gYXJtYWRhX2RybV9jcnRjX2Rpc2FibGVfdmJsYW5rLAogfTsK IAotc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fcHJvcF9lbnVtX2xpc3QgYXJtYWRhX2RybV9jc2Nf eXV2X2VudW1fbGlzdFtdID0gewotCXsgQ1NDX0FVVE8sICAgICAgICAiQXV0byIgfSwKLQl7IENT Q19ZVVZfQ0NJUjYwMSwgIkNDSVI2MDEiIH0sCi0JeyBDU0NfWVVWX0NDSVI3MDksICJDQ0lSNzA5 IiB9LAotfTsKLQotc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fcHJvcF9lbnVtX2xpc3QgYXJtYWRh X2RybV9jc2NfcmdiX2VudW1fbGlzdFtdID0gewotCXsgQ1NDX0FVVE8sICAgICAgICAgIkF1dG8i IH0sCi0JeyBDU0NfUkdCX0NPTVBVVEVSLCAiQ29tcHV0ZXIgc3lzdGVtIiB9LAotCXsgQ1NDX1JH Ql9TVFVESU8sICAgIlN0dWRpbyIgfSwKLX07Ci0KLXN0YXRpYyBpbnQgYXJtYWRhX2RybV9jcnRj X2NyZWF0ZV9wcm9wZXJ0aWVzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCi17Ci0Jc3RydWN0IGFy bWFkYV9wcml2YXRlICpwcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKLQotCWlmIChwcml2LT5jc2Nf eXV2X3Byb3ApCi0JCXJldHVybiAwOwotCi0JcHJpdi0+Y3NjX3l1dl9wcm9wID0gZHJtX3Byb3Bl cnR5X2NyZWF0ZV9lbnVtKGRldiwgMCwKLQkJCQkiQ1NDX1lVViIsIGFybWFkYV9kcm1fY3NjX3l1 dl9lbnVtX2xpc3QsCi0JCQkJQVJSQVlfU0laRShhcm1hZGFfZHJtX2NzY195dXZfZW51bV9saXN0 KSk7Ci0JcHJpdi0+Y3NjX3JnYl9wcm9wID0gZHJtX3Byb3BlcnR5X2NyZWF0ZV9lbnVtKGRldiwg MCwKLQkJCQkiQ1NDX1JHQiIsIGFybWFkYV9kcm1fY3NjX3JnYl9lbnVtX2xpc3QsCi0JCQkJQVJS QVlfU0laRShhcm1hZGFfZHJtX2NzY19yZ2JfZW51bV9saXN0KSk7Ci0KLQlpZiAoIXByaXYtPmNz Y195dXZfcHJvcCB8fCAhcHJpdi0+Y3NjX3JnYl9wcm9wKQotCQlyZXR1cm4gLUVOT01FTTsKLQot CXJldHVybiAwOwotfQotCiBzdGF0aWMgaW50IGFybWFkYV9kcm1fY3J0Y19jcmVhdGUoc3RydWN0 IGRybV9kZXZpY2UgKmRybSwgc3RydWN0IGRldmljZSAqZGV2LAogCXN0cnVjdCByZXNvdXJjZSAq cmVzLCBpbnQgaXJxLCBjb25zdCBzdHJ1Y3QgYXJtYWRhX3ZhcmlhbnQgKnZhcmlhbnQsCiAJc3Ry dWN0IGRldmljZV9ub2RlICpwb3J0KQpAQCAtMTA0MiwxMCArOTM1LDYgQEAgc3RhdGljIGludCBh cm1hZGFfZHJtX2NydGNfY3JlYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkcm0sIHN0cnVjdCBkZXZp Y2UgKmRldiwKIAl2b2lkIF9faW9tZW0gKmJhc2U7CiAJaW50IHJldDsKIAotCXJldCA9IGFybWFk YV9kcm1fY3J0Y19jcmVhdGVfcHJvcGVydGllcyhkcm0pOwotCWlmIChyZXQpCi0JCXJldHVybiBy ZXQ7Ci0KIAliYXNlID0gZGV2bV9pb3JlbWFwX3Jlc291cmNlKGRldiwgcmVzKTsKIAlpZiAoSVNf RVJSKGJhc2UpKQogCQlyZXR1cm4gUFRSX0VSUihiYXNlKTsKQEAgLTEwNjMsOCArOTUyLDYgQEAg c3RhdGljIGludCBhcm1hZGFfZHJtX2NydGNfY3JlYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkcm0s IHN0cnVjdCBkZXZpY2UgKmRldiwKIAlkY3J0Yy0+YmFzZSA9IGJhc2U7CiAJZGNydGMtPm51bSA9 IGRybS0+bW9kZV9jb25maWcubnVtX2NydGM7CiAJZGNydGMtPmNsayA9IEVSUl9QVFIoLUVJTlZB TCk7Ci0JZGNydGMtPmNzY195dXZfbW9kZSA9IENTQ19BVVRPOwotCWRjcnRjLT5jc2NfcmdiX21v ZGUgPSBDU0NfQVVUTzsKIAlkY3J0Yy0+Y2ZnX2R1bWJfY3RybCA9IERVTUIyNF9SR0I4ODhfMDsK IAlkY3J0Yy0+c3B1X2lvcGFkX2N0cmwgPSBDRkdfVlNDQUxFX0xOX0VOIHwgQ0ZHX0lPUEFEX0RV TUIyNDsKIAlzcGluX2xvY2tfaW5pdCgmZGNydGMtPmlycV9sb2NrKTsKQEAgLTExMjEsMTEgKzEw MDgsNiBAQCBzdGF0aWMgaW50IGFybWFkYV9kcm1fY3J0Y19jcmVhdGUoc3RydWN0IGRybV9kZXZp Y2UgKmRybSwgc3RydWN0IGRldmljZSAqZGV2LAogCiAJZHJtX2NydGNfaGVscGVyX2FkZCgmZGNy dGMtPmNydGMsICZhcm1hZGFfY3J0Y19oZWxwZXJfZnVuY3MpOwogCi0JZHJtX29iamVjdF9hdHRh Y2hfcHJvcGVydHkoJmRjcnRjLT5jcnRjLmJhc2UsIHByaXYtPmNzY195dXZfcHJvcCwKLQkJCQkg ICBkY3J0Yy0+Y3NjX3l1dl9tb2RlKTsKLQlkcm1fb2JqZWN0X2F0dGFjaF9wcm9wZXJ0eSgmZGNy dGMtPmNydGMuYmFzZSwgcHJpdi0+Y3NjX3JnYl9wcm9wLAotCQkJCSAgIGRjcnRjLT5jc2Nfcmdi X21vZGUpOwotCiAJcmV0dXJuIGFybWFkYV9vdmVybGF5X3BsYW5lX2NyZWF0ZShkcm0sIDEgPDwg ZGNydGMtPm51bSk7CiAKIGVycl9jcnRjX2luaXQ6CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vYXJtYWRhL2FybWFkYV9jcnRjLmggYi9kcml2ZXJzL2dwdS9kcm0vYXJtYWRhL2FybWFkYV9j cnRjLmgKaW5kZXggYzI3NDM1YTg3NzZhLi4yMTMzOGY3YzNkN2QgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9hcm1hZGEvYXJtYWRhX2NydGMuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vYXJt YWRhL2FybWFkYV9jcnRjLmgKQEAgLTcyLDggKzcyLDYgQEAgc3RydWN0IGFybWFkYV9jcnRjIHsK IAl9IHZbMl07CiAJYm9vbAkJCWludGVybGFjZWQ7CiAJYm9vbAkJCWN1cnNvcl91cGRhdGU7Ci0J dWludDhfdAkJCWNzY195dXZfbW9kZTsKLQl1aW50OF90CQkJY3NjX3JnYl9tb2RlOwogCiAJc3Ry dWN0IGRybV9wbGFuZQkqcGxhbmU7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcm1h ZGEvYXJtYWRhX2RybS5oIGIvZHJpdmVycy9ncHUvZHJtL2FybWFkYS9hcm1hZGFfZHJtLmgKaW5k ZXggY2M0YzU1N2M5ZjY2Li4yODA4N2U0YjliODEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9hcm1hZGEvYXJtYWRhX2RybS5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm1hZGEvYXJtYWRh X2RybS5oCkBAIC02MCw4ICs2MCw2IEBAIHN0cnVjdCBhcm1hZGFfcHJpdmF0ZSB7CiAJc3RydWN0 IGFybWFkYV9jcnRjCSpkY3J0Y1syXTsKIAlzdHJ1Y3QgZHJtX21tCQlsaW5lYXI7IC8qIHByb3Rl Y3RlZCBieSBsaW5lYXJfbG9jayAqLwogCXN0cnVjdCBtdXRleAkJbGluZWFyX2xvY2s7Ci0Jc3Ry dWN0IGRybV9wcm9wZXJ0eQkqY3NjX3l1dl9wcm9wOwotCXN0cnVjdCBkcm1fcHJvcGVydHkJKmNz Y19yZ2JfcHJvcDsKIAlzdHJ1Y3QgZHJtX3Byb3BlcnR5CSpjb2xvcmtleV9wcm9wOwogCXN0cnVj dCBkcm1fcHJvcGVydHkJKmNvbG9ya2V5X21pbl9wcm9wOwogCXN0cnVjdCBkcm1fcHJvcGVydHkJ KmNvbG9ya2V5X21heF9wcm9wOwotLSAKMi43LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2RyaS1kZXZlbAo=