From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Jos=C3=A9=20Roberto=20de=20Souza?= Subject: [PATCH 4/6] drm/i915/psr: Do not override PSR2 sink support Date: Wed, 14 Mar 2018 15:36:15 -0700 Message-ID: <20180314223617.20122-4-jose.souza@intel.com> References: <20180314223617.20122-1-jose.souza@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7364B6E62D for ; Wed, 14 Mar 2018 22:39:20 +0000 (UTC) In-Reply-To: <20180314223617.20122-1-jose.souza@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 Cc: Dhinakaran Pandiyan , Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org U2luayBjYW4gc3VwcG9ydCBvdXIgUFNSMiByZXF1aXJlbWVudHMgYnV0IHVzZXJzcGFjZSBjYW4g cmVxdWVzdAphIHJlc29sdXRpb24gdGhhdCBQU1IyIGhhcmR3YXJlIGRvIG5vdCBzdXBwb3J0LCBp biB0aGlzIGNhc2UgaXQKd2FzIG92ZXJ3cml0dGVuIHRoZSBQU1IyIHNpbmsgc3VwcG9ydC4KQWRk aW5nIGFub3RoZXIgZmxhZyBoZXJlLCB0aGlzIHdheSBpZiByZXF1ZXN0ZWQgcmVzb2x1dGlvbiBj aGFuZ2VkCnRvIGEgdmFsdWUgdGhhdCBQU1IyIGhhcmR3YXJlIGNhbiBoYW5kbGUsIFBTUjIgY2Fu IGJlIGVuYWJsZWQuCgpDYzogRGhpbmFrYXJhbiBQYW5kaXlhbiA8ZGhpbmFrYXJhbi5wYW5kaXlh bkBpbnRlbC5jb20+CkNjOiBSb2RyaWdvIFZpdmkgPHJvZHJpZ28udml2aUBpbnRlbC5jb20+ClNp Z25lZC1vZmYtYnk6IEpvc8OpIFJvYmVydG8gZGUgU291emEgPGpvc2Uuc291emFAaW50ZWwuY29t PgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jIHwgIDQgKystLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgfCAgMyArKy0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3Bzci5jICAgIHwgMzYgKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0t LS0tLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDIyIGluc2VydGlvbnMoKyksIDIxIGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKaW5kZXggOTcyMDE0YjI0OTdkLi5hYTU5 MTg1ODNkZjggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCkBAIC0yNTcxLDcgKzI1 NzEsNyBAQCBzdGF0aWMgaW50IGk5MTVfZWRwX3Bzcl9zdGF0dXMoc3RydWN0IHNlcV9maWxlICpt LCB2b2lkICpkYXRhKQogCQkgICB5ZXNubyh3b3JrX2J1c3koJmRldl9wcml2LT5wc3Iud29yay53 b3JrKSkpOwogCiAJaWYgKEhBU19EREkoZGV2X3ByaXYpKSB7Ci0JCWlmIChkZXZfcHJpdi0+cHNy LnBzcjJfc3VwcG9ydCkKKwkJaWYgKGRldl9wcml2LT5wc3IucHNyMl9lbmFibGVkKQogCQkJZW5h YmxlZCA9IEk5MTVfUkVBRChFRFBfUFNSMl9DVEwpICYgRURQX1BTUjJfRU5BQkxFOwogCQllbHNl CiAJCQllbmFibGVkID0gSTkxNV9SRUFEKEVEUF9QU1JfQ1RMKSAmIEVEUF9QU1JfRU5BQkxFOwpA QCAtMjYxOSw3ICsyNjE5LDcgQEAgc3RhdGljIGludCBpOTE1X2VkcF9wc3Jfc3RhdHVzKHN0cnVj dCBzZXFfZmlsZSAqbSwgdm9pZCAqZGF0YSkKIAogCQlzZXFfcHJpbnRmKG0sICJQZXJmb3JtYW5j ZV9Db3VudGVyOiAldVxuIiwgcHNycGVyZik7CiAJfQotCWlmIChkZXZfcHJpdi0+cHNyLnBzcjJf c3VwcG9ydCkgeworCWlmIChkZXZfcHJpdi0+cHNyLnBzcjJfZW5hYmxlZCkgewogCQl1MzIgcHNy MiA9IEk5MTVfUkVBRChFRFBfUFNSMl9TVEFUVVMpOwogCiAJCXNlcV9wcmludGYobSwgIkVEUF9Q U1IyX1NUQVRVUzogJXggWyVzXVxuIiwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4IGQ0YmM4 ZDE4ZjU2Yy4uZDQ0NzUxOTZmNzhhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTYwMSwx MSArNjAxLDEyIEBAIHN0cnVjdCBpOTE1X3BzciB7CiAJYm9vbCBhY3RpdmU7CiAJc3RydWN0IGRl bGF5ZWRfd29yayB3b3JrOwogCXVuc2lnbmVkIGJ1c3lfZnJvbnRidWZmZXJfYml0czsKLQlib29s IHBzcjJfc3VwcG9ydDsKKwlib29sIHNpbmtfcHNyMl9zdXBwb3J0OwogCWJvb2wgbGlua19zdGFu ZGJ5OwogCWJvb2wgY29sb3JpbWV0cnlfc3VwcG9ydDsKIAlib29sIGFscG07CiAJYm9vbCBoYXNf aHdfdHJhY2tpbmc7CisJYm9vbCBwc3IyX2VuYWJsZWQ7CiAKIAl2b2lkICgqZW5hYmxlX3NvdXJj ZSkoc3RydWN0IGludGVsX2RwICosCiAJCQkgICAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bzci5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcHNyLmMKaW5kZXggYzlkYTEzOTBhNzI3Li40Y2I2 MTM4NTVjMjAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bzci5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bzci5jCkBAIC0xNjAsMTUgKzE2MCwxNSBA QCB2b2lkIGludGVsX3Bzcl9pbml0X2RwY2Qoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKIAkJ ICovCiAJCXlfY29vcmRfcmVxID0gaW50ZWxfZHBfZ2V0X3lfY29vcmRfcmVxdWlyZWQoaW50ZWxf ZHApOwogCi0JCWRldl9wcml2LT5wc3IucHNyMl9zdXBwb3J0ID0gZnJhbWVfc3luY19jYXAgJiYg eV9jb29yZF9yZXE7Ci0JCWlmIChkZXZfcHJpdi0+cHNyLnBzcjJfc3VwcG9ydCkKKwkJZGV2X3By aXYtPnBzci5zaW5rX3BzcjJfc3VwcG9ydCA9IGZyYW1lX3N5bmNfY2FwICYmIHlfY29vcmRfcmVx OworCQlpZiAoZGV2X3ByaXYtPnBzci5zaW5rX3BzcjJfc3VwcG9ydCkKIAkJCURSTV9ERUJVR19L TVMoIlBTUjIgc3VwcG9ydGVkIG9uIHNpbmtcbiIpOwogCQllbHNlCiAJCQlEUk1fREVCVUdfS01T KCJQU1IyIG5vdCBzdXBwb3J0ZWQgb24gc2luayIKIAkJCQkgICAgICAiKGZyYW1lIHN5bmM6ICVk IFktY29vcmQgcmVxdWlyZWQ6ICVkKVxuIiwKIAkJCQkgICAgICBmcmFtZV9zeW5jX2NhcCwgeV9j b29yZF9yZXEpOwogCi0JCWlmIChkZXZfcHJpdi0+cHNyLnBzcjJfc3VwcG9ydCkgeworCQlpZiAo ZGV2X3ByaXYtPnBzci5zaW5rX3BzcjJfc3VwcG9ydCkgewogCQkJZGV2X3ByaXYtPnBzci5jb2xv cmltZXRyeV9zdXBwb3J0ID0KIAkJCQlpbnRlbF9kcF9nZXRfY29sb3JpbWV0cnlfc3RhdHVzKGlu dGVsX2RwKTsKIAkJCWRldl9wcml2LT5wc3IuYWxwbSA9CkBAIC0yMDksNyArMjA5LDcgQEAgc3Rh dGljIHZvaWQgaHN3X3Bzcl9zZXR1cF92c2Moc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKIAlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGludGVsX2RpZ19wb3J0 LT5iYXNlLmJhc2UuZGV2KTsKIAlzdHJ1Y3QgZWRwX3ZzY19wc3IgcHNyX3ZzYzsKIAotCWlmIChk ZXZfcHJpdi0+cHNyLnBzcjJfc3VwcG9ydCkgeworCWlmIChkZXZfcHJpdi0+cHNyLnBzcjJfZW5h YmxlZCkgewogCQkvKiBQcmVwYXJlIFZTQyBIZWFkZXIgZm9yIFNVIGFzIHBlciBFRFAgMS40IHNw ZWMsIFRhYmxlIDYuMTEgKi8KIAkJbWVtc2V0KCZwc3JfdnNjLCAwLCBzaXplb2YocHNyX3ZzYykp OwogCQlwc3JfdnNjLnNkcF9oZWFkZXIuSEIwID0gMDsKQEAgLTI4MSwxMiArMjgxLDEyIEBAIHN0 YXRpYyB2b2lkIGhzd19wc3JfZW5hYmxlX3Npbmsoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkK IAlhdXhfY2xvY2tfZGl2aWRlciA9IGludGVsX2RwLT5nZXRfYXV4X2Nsb2NrX2RpdmlkZXIoaW50 ZWxfZHAsIDApOwogCiAJLyogRW5hYmxlIEFVWCBmcmFtZSBzeW5jIGF0IHNpbmsgKi8KLQlpZiAo ZGV2X3ByaXYtPnBzci5wc3IyX3N1cHBvcnQpCisJaWYgKGRldl9wcml2LT5wc3IucHNyMl9lbmFi bGVkKQogCQlkcm1fZHBfZHBjZF93cml0ZWIoJmludGVsX2RwLT5hdXgsCiAJCQkJRFBfU0lOS19E RVZJQ0VfQVVYX0ZSQU1FX1NZTkNfQ09ORiwKIAkJCQlEUF9BVVhfRlJBTUVfU1lOQ19FTkFCTEUp OwogCS8qIEVuYWJsZSBBTFBNIGF0IHNpbmsgZm9yIHBzcjIgKi8KLQlpZiAoZGV2X3ByaXYtPnBz ci5wc3IyX3N1cHBvcnQgJiYgZGV2X3ByaXYtPnBzci5hbHBtKQorCWlmIChkZXZfcHJpdi0+cHNy LnBzcjJfZW5hYmxlZCAmJiBkZXZfcHJpdi0+cHNyLmFscG0pCiAJCWRybV9kcF9kcGNkX3dyaXRl YigmaW50ZWxfZHAtPmF1eCwKIAkJCQlEUF9SRUNFSVZFUl9BTFBNX0NPTkZJRywKIAkJCQlEUF9B TFBNX0VOQUJMRSk7CkBAIC00NTIsNyArNDUyLDcgQEAgc3RhdGljIHZvaWQgaHN3X3Bzcl9hY3Rp dmF0ZShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogCSAqLwogCiAJLyogcHNyMSBhbmQgcHNy MiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiovCi0JaWYgKGRldl9wcml2LT5wc3IucHNyMl9zdXBw b3J0KQorCWlmIChkZXZfcHJpdi0+cHNyLnBzcjJfZW5hYmxlZCkKIAkJaHN3X2FjdGl2YXRlX3Bz cjIoaW50ZWxfZHApOwogCWVsc2UKIAkJaHN3X2FjdGl2YXRlX3BzcjEoaW50ZWxfZHApOwpAQCAt NDcyLDcgKzQ3Miw3IEBAIHN0YXRpYyBib29sIGludGVsX3BzcjJfY29uZmlnX3ZhbGlkKHN0cnVj dCBpbnRlbF9kcCAqaW50ZWxfZHAsCiAJICogZHluYW1pY2FsbHkgZHVyaW5nIFBTUiBlbmFibGUs IGFuZCBleHRyYWN0ZWQgZnJvbSBzaW5rCiAJICogY2FwcyBkdXJpbmcgZURQIGRldGVjdGlvbi4K IAkgKi8KLQlpZiAoIWRldl9wcml2LT5wc3IucHNyMl9zdXBwb3J0KQorCWlmICghZGV2X3ByaXYt PnBzci5zaW5rX3BzcjJfc3VwcG9ydCkKIAkJcmV0dXJuIGZhbHNlOwogCiAJaWYgKElOVEVMX0dF TihkZXZfcHJpdikgPj0gMTAgfHwgSVNfR0VNSU5JTEFLRShkZXZfcHJpdikpIHsKQEAgLTU3MSw3 ICs1NzEsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9wc3JfYWN0aXZhdGUoc3RydWN0IGludGVsX2Rw ICppbnRlbF9kcCkKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gaW50ZWxfZGlnX3BvcnQtPmJh c2UuYmFzZS5kZXY7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkx NShkZXYpOwogCi0JaWYgKGRldl9wcml2LT5wc3IucHNyMl9zdXBwb3J0KQorCWlmIChkZXZfcHJp di0+cHNyLnBzcjJfZW5hYmxlZCkKIAkJV0FSTl9PTihJOTE1X1JFQUQoRURQX1BTUjJfQ1RMKSAm IEVEUF9QU1IyX0VOQUJMRSk7CiAJZWxzZQogCQlXQVJOX09OKEk5MTVfUkVBRChFRFBfUFNSX0NU TCkgJiBFRFBfUFNSX0VOQUJMRSk7CkBAIC01OTIsNyArNTkyLDcgQEAgc3RhdGljIHZvaWQgaHN3 X3Bzcl9lbmFibGVfc291cmNlKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCiAKIAlwc3JfYXV4 X2lvX3Bvd2VyX2dldChpbnRlbF9kcCk7CiAKLQlpZiAoZGV2X3ByaXYtPnBzci5wc3IyX3N1cHBv cnQpIHsKKwlpZiAoZGV2X3ByaXYtPnBzci5wc3IyX2VuYWJsZWQpIHsKIAkJdTMyIGNoaWNrZW4g PSBQU1IyX1ZTQ19FTkFCTEVfUFJPR19IRUFERVIKIAkJCSAgICAgIHwgUFNSMl9BRERfVkVSVElD QUxfTElORV9DT1VOVDsKIAkJSTkxNV9XUklURShDSElDS0VOX1RSQU5TKGNwdV90cmFuc2NvZGVy KSwgY2hpY2tlbik7CkBAIC02NDUsNyArNjQ1LDcgQEAgdm9pZCBpbnRlbF9wc3JfZW5hYmxlKHN0 cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCiAJCWdvdG8gdW5sb2NrOwogCX0KIAotCWRldl9wcml2 LT5wc3IucHNyMl9zdXBwb3J0ID0gY3J0Y19zdGF0ZS0+aGFzX3BzcjI7CisJZGV2X3ByaXYtPnBz ci5wc3IyX2VuYWJsZWQgPSBjcnRjX3N0YXRlLT5oYXNfcHNyMjsKIAlkZXZfcHJpdi0+cHNyLmJ1 c3lfZnJvbnRidWZmZXJfYml0cyA9IDA7CiAKIAlkZXZfcHJpdi0+cHNyLnNldHVwX3ZzYyhpbnRl bF9kcCwgY3J0Y19zdGF0ZSk7CkBAIC03MTUsMTIgKzcxNSwxMiBAQCBzdGF0aWMgdm9pZCBoc3df cHNyX2Rpc2FibGUoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKIAkJaTkxNV9yZWdfdCBwc3Jf c3RhdHVzOwogCQl1MzIgcHNyX3N0YXR1c19tYXNrOwogCi0JCWlmIChkZXZfcHJpdi0+cHNyLnBz cjJfc3VwcG9ydCkKKwkJaWYgKGRldl9wcml2LT5wc3IucHNyMl9lbmFibGVkKQogCQkJZHJtX2Rw X2RwY2Rfd3JpdGViKCZpbnRlbF9kcC0+YXV4LAogCQkJCQlEUF9TSU5LX0RFVklDRV9BVVhfRlJB TUVfU1lOQ19DT05GLAogCQkJCQkwKTsKIAotCQlpZiAoZGV2X3ByaXYtPnBzci5wc3IyX3N1cHBv cnQpIHsKKwkJaWYgKGRldl9wcml2LT5wc3IucHNyMl9lbmFibGVkKSB7CiAJCQlwc3Jfc3RhdHVz ID0gRURQX1BTUjJfU1RBVFVTOwogCQkJcHNyX3N0YXR1c19tYXNrID0gRURQX1BTUjJfU1RBVFVT X1NUQVRFX01BU0s7CiAKQEAgLTc0NCw3ICs3NDQsNyBAQCBzdGF0aWMgdm9pZCBoc3dfcHNyX2Rp c2FibGUoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKIAogCQlkZXZfcHJpdi0+cHNyLmFjdGl2 ZSA9IGZhbHNlOwogCX0gZWxzZSB7Ci0JCWlmIChkZXZfcHJpdi0+cHNyLnBzcjJfc3VwcG9ydCkK KwkJaWYgKGRldl9wcml2LT5wc3IucHNyMl9lbmFibGVkKQogCQkJV0FSTl9PTihJOTE1X1JFQUQo RURQX1BTUjJfQ1RMKSAmIEVEUF9QU1IyX0VOQUJMRSk7CiAJCWVsc2UKIAkJCVdBUk5fT04oSTkx NV9SRUFEKEVEUF9QU1JfQ1RMKSAmIEVEUF9QU1JfRU5BQkxFKTsKQEAgLTgwNCw3ICs4MDQsNyBA QCBzdGF0aWMgdm9pZCBpbnRlbF9wc3Jfd29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCiAJ ICogYW5kIGJlIHJlYWR5IGZvciByZS1lbmFibGUuCiAJICovCiAJaWYgKEhBU19EREkoZGV2X3By aXYpKSB7Ci0JCWlmIChkZXZfcHJpdi0+cHNyLnBzcjJfc3VwcG9ydCkgeworCQlpZiAoZGV2X3By aXYtPnBzci5wc3IyX2VuYWJsZWQpIHsKIAkJCWlmIChpbnRlbF93YWl0X2Zvcl9yZWdpc3Rlcihk ZXZfcHJpdiwKIAkJCQkJCSAgICBFRFBfUFNSMl9TVEFUVVMsCiAJCQkJCQkgICAgRURQX1BTUjJf U1RBVFVTX1NUQVRFX01BU0ssCkBAIC04NjMsMTEgKzg2MywxMSBAQCBzdGF0aWMgdm9pZCBpbnRl bF9wc3JfZXhpdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJCXJldHVybjsK IAogCWlmIChIQVNfRERJKGRldl9wcml2KSkgewotCQlpZiAoZGV2X3ByaXYtPnBzci5wc3IyX3N1 cHBvcnQpCisJCWlmIChkZXZfcHJpdi0+cHNyLnBzcjJfZW5hYmxlZCkKIAkJCWRybV9kcF9kcGNk X3dyaXRlYigmaW50ZWxfZHAtPmF1eCwKIAkJCQkJRFBfU0lOS19ERVZJQ0VfQVVYX0ZSQU1FX1NZ TkNfQ09ORiwKIAkJCQkJMCk7Ci0JCWlmIChkZXZfcHJpdi0+cHNyLnBzcjJfc3VwcG9ydCkgewor CQlpZiAoZGV2X3ByaXYtPnBzci5wc3IyX2VuYWJsZWQpIHsKIAkJCXZhbCA9IEk5MTVfUkVBRChF RFBfUFNSMl9DVEwpOwogCQkJV0FSTl9PTighKHZhbCAmIEVEUF9QU1IyX0VOQUJMRSkpOwogCQkJ STkxNV9XUklURShFRFBfUFNSMl9DVEwsIHZhbCAmIH5FRFBfUFNSMl9FTkFCTEUpOwpAQCAtMTAz Niw3ICsxMDM2LDcgQEAgdm9pZCBpbnRlbF9wc3JfZmx1c2goc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LAogCiAJLyogQnkgZGVmaW5pdGlvbiBmbHVzaCA9IGludmFsaWRhdGUgKyBm bHVzaCAqLwogCWlmIChmcm9udGJ1ZmZlcl9iaXRzKSB7Ci0JCWlmIChkZXZfcHJpdi0+cHNyLnBz cjJfc3VwcG9ydCB8fAorCQlpZiAoZGV2X3ByaXYtPnBzci5wc3IyX2VuYWJsZWQgfHwKIAkJICAg IElTX1ZBTExFWVZJRVcoZGV2X3ByaXYpIHx8IElTX0NIRVJSWVZJRVcoZGV2X3ByaXYpKSB7CiAJ CQlpbnRlbF9wc3JfZXhpdChkZXZfcHJpdik7CiAJCX0gZWxzZSB7Ci0tIAoyLjE2LjIKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWls aW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=