From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Stone Subject: [RFC PATCH 07/37] drm: sti: Use crtc->hwmode for adjusted mode Date: Thu, 19 Mar 2015 04:33:06 +0000 Message-ID: <1426739616-10635-7-git-send-email-daniels@collabora.com> References: <1426739556-10429-1-git-send-email-daniels@collabora.com> <1426739616-10635-1-git-send-email-daniels@collabora.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from bhuna.collabora.co.uk (bhuna.collabora.co.uk [93.93.135.160]) by gabe.freedesktop.org (Postfix) with ESMTP id 0AB686E952 for ; Wed, 18 Mar 2015 21:33:45 -0700 (PDT) In-Reply-To: <1426739616-10635-1-git-send-email-daniels@collabora.com> 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 List-Id: dri-devel@lists.freedesktop.org Y3J0Yy0+aHdtb2RlIGNvbnRhaW5zIHRoZSBhZGp1c3RlZF9tb2RlIGZyb20gbW9kZV9zZXQ7IG5v IHJlYXNvbiB0bwpvdmVyd3JpdGUgY3J0Yy0+bW9kZSAodGhlIHVzZXItc3BlY2lmaWVkIG1vZGUp IHdpdGggdGhpcyBhbnltb3JlLiBUaGlzCm1vZGUgY2FuIGFsc28gYmUgY29uc3QsIHNpbmNlIHdl IGRvbid0IG1vZGlmeSBpdCBhbnl3aGVyZS4KClNpZ25lZC1vZmYtYnk6IERhbmllbCBTdG9uZSA8 ZGFuaWVsc0Bjb2xsYWJvcmEuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2N1cnNv ci5jICAgIHwgIDQgKystLQogZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfZHJtX2NydGMuYyAgfCAx MSArKystLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfZHJtX3BsYW5lLmMgfCAgMiAr LQogZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfZ2RwLmMgICAgICAgfCAgMiArLQogZHJpdmVycy9n cHUvZHJtL3N0aS9zdGlfbGF5ZXIuYyAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL3N0aS9z dGlfbGF5ZXIuaCAgICAgfCAgNCArKy0tCiBkcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9taXhlci5j ICAgICB8ICA0ICsrLS0KIGRyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX21peGVyLmggICAgIHwgIDIg Ky0KIGRyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX3ZpZC5jICAgICAgIHwgIDIgKy0KIDkgZmlsZXMg Y2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKSwgMTkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfY3Vyc29yLmMgYi9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0 aV9jdXJzb3IuYwppbmRleCAwMTBlYWVlLi45OThiMTNjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vc3RpL3N0aV9jdXJzb3IuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9jdXJz b3IuYwpAQCAtOTksNyArOTksNyBAQCBzdGF0aWMgdm9pZCBzdGlfY3Vyc29yX2FyZ2I4ODg4X3Rv X2NsdXQ4KHN0cnVjdCBzdGlfbGF5ZXIgKmxheWVyKQogc3RhdGljIGludCBzdGlfY3Vyc29yX3By ZXBhcmVfbGF5ZXIoc3RydWN0IHN0aV9sYXllciAqbGF5ZXIsIGJvb2wgZmlyc3RfcHJlcGFyZSkK IHsKIAlzdHJ1Y3Qgc3RpX2N1cnNvciAqY3Vyc29yID0gdG9fc3RpX2N1cnNvcihsYXllcik7Ci0J c3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUgPSBsYXllci0+bW9kZTsKKwljb25zdCBzdHJ1 Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSA9IGxheWVyLT5tb2RlOwogCXUzMiB5LCB4OwogCXUz MiB2YWw7CiAKQEAgLTE2Niw3ICsxNjYsNyBAQCBzdGF0aWMgaW50IHN0aV9jdXJzb3JfcHJlcGFy ZV9sYXllcihzdHJ1Y3Qgc3RpX2xheWVyICpsYXllciwgYm9vbCBmaXJzdF9wcmVwYXJlKQogc3Rh dGljIGludCBzdGlfY3Vyc29yX2NvbW1pdF9sYXllcihzdHJ1Y3Qgc3RpX2xheWVyICpsYXllcikK IHsKIAlzdHJ1Y3Qgc3RpX2N1cnNvciAqY3Vyc29yID0gdG9fc3RpX2N1cnNvcihsYXllcik7Ci0J c3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUgPSBsYXllci0+bW9kZTsKKwljb25zdCBzdHJ1 Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSA9IGxheWVyLT5tb2RlOwogCXUzMiB5ZG8sIHhkbzsK IAogCWRldl9kYmcobGF5ZXItPmRldiwgIiVzICVzXG4iLCBfX2Z1bmNfXywgc3RpX2xheWVyX3Rv X3N0cihsYXllcikpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfZHJtX2Ny dGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2RybV9jcnRjLmMKaW5kZXggZTZmNmVmNy4u NDcyMWU5MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfZHJtX2NydGMuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9kcm1fY3J0Yy5jCkBAIC0xMjksMTcgKzEyOSwx MiBAQCBzdGlfZHJtX2NydGNfbW9kZV9zZXQoc3RydWN0IGRybV9jcnRjICpjcnRjLCBzdHJ1Y3Qg ZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSwKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCi0JLyogY29w eSB0aGUgbW9kZSBkYXRhIGFkanVzdGVkIGJ5IG1vZGVfZml4dXAoKSBpbnRvIGNydGMtPm1vZGUK LQkgKiBzbyB0aGF0IGhhcmR3YXJlIGNhbiBiZSBzZXQgdG8gcHJvcGVyIG1vZGUKLQkgKi8KLQlt ZW1jcHkoJmNydGMtPm1vZGUsIGFkanVzdGVkX21vZGUsIHNpemVvZigqYWRqdXN0ZWRfbW9kZSkp OwotCiAJcmVzID0gc3RpX21peGVyX3NldF9sYXllcl9kZXB0aChtaXhlciwgbGF5ZXIpOwogCWlm IChyZXMpIHsKIAkJRFJNX0VSUk9SKCJDYW4gbm90IHNldCBsYXllciBkZXB0aFxuIik7CiAJCXJl dHVybiAtRUlOVkFMOwogCX0KLQlyZXMgPSBzdGlfbWl4ZXJfYWN0aXZlX3ZpZGVvX2FyZWEobWl4 ZXIsICZjcnRjLT5tb2RlKTsKKwlyZXMgPSBzdGlfbWl4ZXJfYWN0aXZlX3ZpZGVvX2FyZWEobWl4 ZXIsIGFkanVzdGVkX21vZGUpOwogCWlmIChyZXMpIHsKIAkJRFJNX0VSUk9SKCJDYW4gbm90IHNl dCBhY3RpdmUgdmlkZW8gYXJlYVxuIik7CiAJCXJldHVybiAtRUlOVkFMOwpAQCAtMTQ5LDcgKzE0 NCw3IEBAIHN0aV9kcm1fY3J0Y19tb2RlX3NldChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsIHN0cnVj dCBkcm1fZGlzcGxheV9tb2RlICptb2RlLAogCWggPSBjcnRjLT5wcmltYXJ5LT5mYi0+aGVpZ2h0 IC0geTsKIAogCXJldHVybiBzdGlfbGF5ZXJfcHJlcGFyZShsYXllciwgY3J0YywKLQkJCWNydGMt PnByaW1hcnktPmZiLCAmY3J0Yy0+bW9kZSwKKwkJCWNydGMtPnByaW1hcnktPmZiLCBhZGp1c3Rl ZF9tb2RlLAogCQkJbWl4ZXItPmlkLCAwLCAwLCB3LCBoLCB4LCB5LCB3LCBoKTsKIH0KIApAQCAt MTc3LDcgKzE3Miw3IEBAIHN0YXRpYyBpbnQgc3RpX2RybV9jcnRjX21vZGVfc2V0X2Jhc2Uoc3Ry dWN0IGRybV9jcnRjICpjcnRjLCBpbnQgeCwgaW50IHksCiAJaCA9IGNydGMtPnByaW1hcnktPmZi LT5oZWlnaHQgLSBjcnRjLT55OwogCiAJcmV0ID0gc3RpX2xheWVyX3ByZXBhcmUobGF5ZXIsIGNy dGMsCi0JCQkJY3J0Yy0+cHJpbWFyeS0+ZmIsICZjcnRjLT5tb2RlLAorCQkJCWNydGMtPnByaW1h cnktPmZiLCAmY3J0Yy0+aHdtb2RlLAogCQkJCW1peGVyLT5pZCwgMCwgMCwgdywgaCwKIAkJCQlj cnRjLT54LCBjcnRjLT55LCB3LCBoKTsKIAlpZiAocmV0KSB7CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vc3RpL3N0aV9kcm1fcGxhbmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2Ry bV9wbGFuZS5jCmluZGV4IGJiNmEyOTMuLjQyZWRiYTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9zdGkvc3RpX2RybV9wbGFuZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2Ry bV9wbGFuZS5jCkBAIC00Niw3ICs0Niw3IEBAIHN0aV9kcm1fdXBkYXRlX3BsYW5lKHN0cnVjdCBk cm1fcGxhbmUgKnBsYW5lLCBzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAKIAkvKiBzcmNfeCBhcmUg aW4gMTYuMTYgZm9ybWF0LiAqLwogCXJlcyA9IHN0aV9sYXllcl9wcmVwYXJlKGxheWVyLCBjcnRj LCBmYiwKLQkJCSZjcnRjLT5tb2RlLCBtaXhlci0+aWQsCisJCQkmY3J0Yy0+aHdtb2RlLCBtaXhl ci0+aWQsCiAJCQljcnRjX3gsIGNydGNfeSwgY3J0Y193LCBjcnRjX2gsCiAJCQlzcmNfeCA+PiAx Niwgc3JjX3kgPj4gMTYsCiAJCQlzcmNfdyA+PiAxNiwgc3JjX2ggPj4gMTYpOwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfZ2RwLmMgYi9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0 aV9nZHAuYwppbmRleCAwODc5MDZmLi5hZjgxZThhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vc3RpL3N0aV9nZHAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9nZHAuYwpAQCAt MjUxLDcgKzI1MSw3IEBAIHN0YXRpYyBpbnQgc3RpX2dkcF9wcmVwYXJlX2xheWVyKHN0cnVjdCBz dGlfbGF5ZXIgKmxheWVyLCBib29sIGZpcnN0X3ByZXBhcmUpCiB7CiAJc3RydWN0IHN0aV9nZHBf bm9kZV9saXN0ICpsaXN0OwogCXN0cnVjdCBzdGlfZ2RwX25vZGUgKnRvcF9maWVsZCwgKmJ0bV9m aWVsZDsKLQlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSA9IGxheWVyLT5tb2RlOworCWNv bnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlID0gbGF5ZXItPm1vZGU7CiAJc3RydWN0 IGRldmljZSAqZGV2ID0gbGF5ZXItPmRldjsKIAlzdHJ1Y3Qgc3RpX2dkcCAqZ2RwID0gdG9fc3Rp X2dkcChsYXllcik7CiAJc3RydWN0IHN0aV9jb21wb3NpdG9yICpjb21wbyA9IGRldl9nZXRfZHJ2 ZGF0YShkZXYpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfbGF5ZXIuYyBi L2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2xheWVyLmMKaW5kZXggODk5MTA0Zi4uZjUxNDk4OSAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfbGF5ZXIuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vc3RpL3N0aV9sYXllci5jCkBAIC04Myw3ICs4Myw3IEBAIEVYUE9SVF9TWU1CT0wo c3RpX2xheWVyX2NyZWF0ZSk7CiBpbnQgc3RpX2xheWVyX3ByZXBhcmUoc3RydWN0IHN0aV9sYXll ciAqbGF5ZXIsCiAJCSAgICAgIHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAkJICAgICAgc3RydWN0 IGRybV9mcmFtZWJ1ZmZlciAqZmIsCi0JCSAgICAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICpt b2RlLCBpbnQgbWl4ZXJfaWQsCisJCSAgICAgIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2Rl ICptb2RlLCBpbnQgbWl4ZXJfaWQsCiAJCSAgICAgIGludCBkZXN0X3gsIGludCBkZXN0X3ksIGlu dCBkZXN0X3csIGludCBkZXN0X2gsCiAJCSAgICAgIGludCBzcmNfeCwgaW50IHNyY195LCBpbnQg c3JjX3csIGludCBzcmNfaCkKIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3Rp X2xheWVyLmggYi9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9sYXllci5oCmluZGV4IGNlZmY0OTcu LjUwZGQ2MzggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2xheWVyLmgKKysr IGIvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfbGF5ZXIuaApAQCAtOTIsNyArOTIsNyBAQCBzdHJ1 Y3Qgc3RpX2xheWVyIHsKIAlzdHJ1Y3QgZHJtX3BsYW5lIHBsYW5lOwogCXN0cnVjdCBkcm1fZnJh bWVidWZmZXIgKmZiOwogCXN0cnVjdCBkcm1fY3J0YyAqY3J0YzsKLQlzdHJ1Y3QgZHJtX2Rpc3Bs YXlfbW9kZSAqbW9kZTsKKwljb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZTsKIAll bnVtIHN0aV9sYXllcl9kZXNjIGRlc2M7CiAJc3RydWN0IGRldmljZSAqZGV2OwogCXZvaWQgX19p b21lbSAqcmVnczsKQEAgLTExNiw3ICsxMTYsNyBAQCBzdHJ1Y3Qgc3RpX2xheWVyICpzdGlfbGF5 ZXJfY3JlYXRlKHN0cnVjdCBkZXZpY2UgKmRldiwgaW50IGRlc2MsCiBpbnQgc3RpX2xheWVyX3By ZXBhcmUoc3RydWN0IHN0aV9sYXllciAqbGF5ZXIsCiAJCQlzdHJ1Y3QgZHJtX2NydGMgKmNydGMs CiAJCQlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwKLQkJCXN0cnVjdCBkcm1fZGlzcGxheV9t b2RlICptb2RlLAorCQkJY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUsCiAJCQlp bnQgbWl4ZXJfaWQsCiAJCQlpbnQgZGVzdF94LCBpbnQgZGVzdF95LAogCQkJaW50IGRlc3Rfdywg aW50IGRlc3RfaCwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX21peGVyLmMg Yi9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9taXhlci5jCmluZGV4IDEzYTRiODQuLjQ1YWE4NDIg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX21peGVyLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL3N0aS9zdGlfbWl4ZXIuYwpAQCAtODgsNyArODgsNyBAQCBzdGF0aWMgdm9pZCBz dGlfbWl4ZXJfc2V0X2JhY2tncm91bmRfY29sb3Ioc3RydWN0IHN0aV9taXhlciAqbWl4ZXIsCiB9 CiAKIHN0YXRpYyB2b2lkIHN0aV9taXhlcl9zZXRfYmFja2dyb3VuZF9hcmVhKHN0cnVjdCBzdGlf bWl4ZXIgKm1peGVyLAotCQkJCQkgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQorCQkJ CQkgIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQogewogCXUzMiB5ZG8sIHhk bywgeWRzLCB4ZHM7CiAKQEAgLTE1NSw3ICsxNTUsNyBAQCBpbnQgc3RpX21peGVyX3NldF9sYXll cl9kZXB0aChzdHJ1Y3Qgc3RpX21peGVyICptaXhlciwgc3RydWN0IHN0aV9sYXllciAqbGF5ZXIp CiB9CiAKIGludCBzdGlfbWl4ZXJfYWN0aXZlX3ZpZGVvX2FyZWEoc3RydWN0IHN0aV9taXhlciAq bWl4ZXIsCi0JCQkJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCisJCQkJY29uc3Qgc3Ry dWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCiB7CiAJdTMyIHlkbywgeGRvLCB5ZHMsIHhkczsK IApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfbWl4ZXIuaCBiL2RyaXZlcnMv Z3B1L2RybS9zdGkvc3RpX21peGVyLmgKaW5kZXggYjk3MjgyMS4uMjM5ZjJhNCAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfbWl4ZXIuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0v c3RpL3N0aV9taXhlci5oCkBAIC00NCw3ICs0NCw3IEBAIGludCBzdGlfbWl4ZXJfc2V0X2xheWVy X3N0YXR1cyhzdHJ1Y3Qgc3RpX21peGVyICptaXhlciwKIHZvaWQgc3RpX21peGVyX2NsZWFyX2Fs bF9sYXllcnMoc3RydWN0IHN0aV9taXhlciAqbWl4ZXIpOwogaW50IHN0aV9taXhlcl9zZXRfbGF5 ZXJfZGVwdGgoc3RydWN0IHN0aV9taXhlciAqbWl4ZXIsIHN0cnVjdCBzdGlfbGF5ZXIgKmxheWVy KTsKIGludCBzdGlfbWl4ZXJfYWN0aXZlX3ZpZGVvX2FyZWEoc3RydWN0IHN0aV9taXhlciAqbWl4 ZXIsCi0JCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKTsKKwkJY29uc3Qgc3RydWN0IGRy bV9kaXNwbGF5X21vZGUgKm1vZGUpOwogCiB2b2lkIHN0aV9taXhlcl9zZXRfYmFja2dyb3VuZF9z dGF0dXMoc3RydWN0IHN0aV9taXhlciAqbWl4ZXIsIGJvb2wgZW5hYmxlKTsKIApkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfdmlkLmMgYi9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0 aV92aWQuYwppbmRleCAxMGNlZDZhLi41YWRkNGE3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vc3RpL3N0aV92aWQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV92aWQuYwpAQCAt NTcsNyArNTcsNyBAQCBzdGF0aWMgaW50IHN0aV92aWRfcHJlcGFyZV9sYXllcihzdHJ1Y3Qgc3Rp X2xheWVyICp2aWQsIGJvb2wgZmlyc3RfcHJlcGFyZSkKIAogc3RhdGljIGludCBzdGlfdmlkX2Nv bW1pdF9sYXllcihzdHJ1Y3Qgc3RpX2xheWVyICp2aWQpCiB7Ci0Jc3RydWN0IGRybV9kaXNwbGF5 X21vZGUgKm1vZGUgPSB2aWQtPm1vZGU7CisJY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUg Km1vZGUgPSB2aWQtPm1vZGU7CiAJdTMyIHlkbywgeGRvLCB5ZHMsIHhkczsKIAogCXlkbyA9IHN0 aV92dGdfZ2V0X2xpbmVfbnVtYmVyKCptb2RlLCB2aWQtPmRzdF95KTsKLS0gCjIuMy4yCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFp bGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=