From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jindal, Sonika" Subject: Re: [PATCH] drm/i915/skl: Enabling PSR2 SU with frame sync Date: Mon, 30 Mar 2015 17:04:12 +0530 Message-ID: <551934B4.5060700@intel.com> References: <1427140803.4663.108.camel@intel.com> <1427358428-11370-1-git-send-email-sonika.jindal@intel.com> <4D68720C2E767A4AA6A8796D42C8EB5909115600@BGSMSX101.gar.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id 7CE126E066 for ; Mon, 30 Mar 2015 04:34:15 -0700 (PDT) In-Reply-To: <4D68720C2E767A4AA6A8796D42C8EB5909115600@BGSMSX101.gar.corp.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "R, Durgadoss" , "intel-gfx@lists.freedesktop.org" Cc: "Vivi, Rodrigo" List-Id: intel-gfx@lists.freedesktop.org CgpPbiAzLzI2LzIwMTUgNTowOSBQTSwgUiwgRHVyZ2Fkb3NzIHdyb3RlOgo+PiAtLS0tLU9yaWdp bmFsIE1lc3NhZ2UtLS0tLQo+PiBGcm9tOiBJbnRlbC1nZnggW21haWx0bzppbnRlbC1nZngtYm91 bmNlc0BsaXN0cy5mcmVlZGVza3RvcC5vcmddIE9uIEJlaGFsZiBPZiBTb25pa2EgSmluZGFsCj4+ IFNlbnQ6IFRodXJzZGF5LCBNYXJjaCAyNiwgMjAxNSAxOjU3IFBNCj4+IFRvOiBpbnRlbC1nZnhA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4+IENjOiBWaXZpLCBSb2RyaWdvCj4+IFN1YmplY3Q6IFtJ bnRlbC1nZnhdIFtQQVRDSF0gZHJtL2k5MTUvc2tsOiBFbmFibGluZyBQU1IyIFNVIHdpdGggZnJh bWUgc3luYwo+Pgo+PiBXZSBtYWtlIHVzZSBvZiBIVyB0cmFja2luZyBmb3IgU2VsZWN0aXZlIHVw ZGF0ZSByZWdpb24gYW5kIGVuYWJsZSBmcmFtZSBzeW5jIG9uCj4+IHNpbmsuIFdlIHVzZSBoYXJk d2FyZSdzIGhhcmRjb2RlZCBkYXRhIHZhbHVlcyBmb3IgZnJhbWUgc3luYyBhbmQgR1RDLgo+Pgo+ PiB2MjogQWRkIDMyMDB4MjAwMCByZXNvbHV0aW9uIHJlc3RyaWN0aW9uIHdpdGggUFNSMiwgbW92 ZSBwc3IyX3N1cHBvcnQgdG8gaTkxNV9wc3IKPj4gc3RydWN0LCBhZGQgYXV4X2ZyYW1lX3N5bmMg dG8gaW5kZXBlbmRlbnRseSBjb250cm9sIGF1eCBmcmFtZSBzeW5jLCByZW5hbWUgdGhlCj4+IFRQ MiBUSU1FIG1hY3JvIGZvciAyNTAwdXMgKFJvZHJpZ28sIFNpdmEpCj4+Cj4+IFNpZ25lZC1vZmYt Ynk6IFNvbmlrYSBKaW5kYWwgPHNvbmlrYS5qaW5kYWxAaW50ZWwuY29tPgo+PiAtLS0KPj4gZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgfCAgICAyICsrCj4+IGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfcmVnLmggIHwgICAxNCArKysrKysrKysrKysrKwo+PiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcC5jICB8ICAgMTUgKysrKysrKysrKysrKysrCj4+IGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3Bzci5jIHwgICAzNCArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKystCj4+IDQgZmlsZXMgY2hhbmdlZCwgNjQgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigt KQo+Pgo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPj4gaW5kZXggZWIzOGNkMS4uNjVkM2RhZSAx MDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+PiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4+IEBAIC04NzksNiArODc5LDggQEAgc3Ry dWN0IGk5MTVfcHNyIHsKPj4gCXN0cnVjdCBkZWxheWVkX3dvcmsgd29yazsKPj4gCXVuc2lnbmVk IGJ1c3lfZnJvbnRidWZmZXJfYml0czsKPj4gCWJvb2wgbGlua19zdGFuZGJ5Owo+PiArCWJvb2wg cHNyMl9zdXBwb3J0Owo+PiArCWJvb2wgYXV4X2ZyYW1lX3N5bmM7Cj4+IH07Cj4+Cj4+IGVudW0g aW50ZWxfcGNoIHsKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVn LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4+IGluZGV4IDViODRlZTYuLjBi NDJlZjMgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+PiBAQCAtMjc0NSw2ICsyNzQ1 LDIwIEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+PiAjZGVmaW5lICAgRURQX1BTUl9E RUJVR19NQVNLX01FTVVQCSgxPDwyNikKPj4gI2RlZmluZSAgIEVEUF9QU1JfREVCVUdfTUFTS19I UEQJKDE8PDI1KQo+Pgo+PiArI2RlZmluZSBFRFBfUFNSMl9DVEwJCQkweDZmOTAwCj4+ICsjZGVm aW5lICAgRURQX1BTUjJfRU5BQkxFCQkoMTw8MzEpCj4+ICsjZGVmaW5lICAgRURQX1NVX1RSQUNL X0VOQUJMRQkJKDE8PDMwKQo+PiArI2RlZmluZSAgIEVEUF9NQVhfU1VfRElTQUJMRV9USU1FKHQp CSgodCk8PDIwKQo+PiArI2RlZmluZSAgIEVEUF9NQVhfU1VfRElTQUJMRV9USU1FX01BU0sJKDB4 MWY8PDIwKQo+PiArI2RlZmluZSAgIEVEUF9QU1IyX1RQMl9USU1FXzUwMAkJKDA8PDgpCj4+ICsj ZGVmaW5lICAgRURQX1BTUjJfVFAyX1RJTUVfMTAwCQkoMTw8OCkKPj4gKyNkZWZpbmUgICBFRFBf UFNSMl9UUDJfVElNRV8yNTAwCSgyPDw4KQo+PiArI2RlZmluZSAgIEVEUF9QU1IyX1RQMl9USU1F XzUwCQkoMzw8OCkKPj4gKyNkZWZpbmUgICBFRFBfUFNSMl9UUDJfVElNRV9NQVNLCSgzPDw4KQo+ PiArI2RlZmluZSAgIEVEUF9QU1IyX0ZSQU1FX0JFRk9SRV9TVV9TSElGVCA0Cj4+ICsjZGVmaW5l ICAgRURQX1BTUjJfRlJBTUVfQkVGT1JFX1NVX01BU0sJKDB4Zjw8NCkKPj4gKyNkZWZpbmUgICBF RFBfUFNSMl9JRExFX01BU0sJCTB4Zgo+PiArCj4+IC8qIFZHQSBwb3J0IGNvbnRyb2wgKi8KPj4g I2RlZmluZSBBRFBBCQkJMHg2MTEwMAo+PiAjZGVmaW5lIFBDSF9BRFBBICAgICAgICAgICAgICAg IDB4ZTExMDAKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4+IGluZGV4IDM5NjdhZjEuLmIwYWU0 NWUgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+PiBAQCAtMzc4Niw2ICszNzg2LDIx IEBAIGludGVsX2RwX2dldF9kcGNkKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4+IAkJCWRl dl9wcml2LT5wc3Iuc2lua19zdXBwb3J0ID0gdHJ1ZTsKPj4gCQkJRFJNX0RFQlVHX0tNUygiRGV0 ZWN0ZWQgRURQIFBTUiBQYW5lbC5cbiIpOwo+PiAJCX0KPj4gKwo+PiArCQlpZiAoSU5URUxfSU5G TyhkZXYpLT5nZW4gPj0gOSAmJgo+PiArCQkJKGludGVsX2RwLT5wc3JfZHBjZFswXSAmIERQX1BT UjJfSVNfU1VQUE9SVEVEKSkgewo+PiArCQkJdWludDhfdCBmcmFtZV9zeW5jX2NhcDsKPj4gKwo+ PiArCQkJZGV2X3ByaXYtPnBzci5zaW5rX3N1cHBvcnQgPSB0cnVlOwo+PiArCQkJaW50ZWxfZHBf ZHBjZF9yZWFkX3dha2UoJmludGVsX2RwLT5hdXgsCj4+ICsJCQkJCURQX1NJTktfREVWSUNFX0FV WF9GUkFNRV9TWU5DX0NBUCwKPj4gKwkJCQkJJmZyYW1lX3N5bmNfY2FwLCAxKTsKPj4gKwkJCWRl dl9wcml2LT5wc3IuYXV4X2ZyYW1lX3N5bmMgPSBmcmFtZV9zeW5jX2NhcCA/IHRydWUgOiBmYWxz ZTsKPj4gKwkJCS8qIFBTUjIgbmVlZHMgZnJhbWUgc3luYyBhcyB3ZWxsICovCj4+ICsJCQlkZXZf cHJpdi0+cHNyLnBzcjJfc3VwcG9ydCA9IGRldl9wcml2LT5wc3IuYXV4X2ZyYW1lX3N5bmM7Cj4+ ICsJCQlEUk1fREVCVUdfS01TKCJQU1IyICVzIG9uIHNpbmsiLAo+PiArCQkJCWRldl9wcml2LT5w c3IucHNyMl9zdXBwb3J0ID8gInN1cHBvcnRlZCIgOiAibm90IHN1cHBvcnRlZCIpOwo+PiArCQl9 Cj4+IAl9Cj4+Cj4+IAkvKiBUcmFpbmluZyBQYXR0ZXJuIDMgc3VwcG9ydCwgYm90aCBzb3VyY2Ug YW5kIHNpbmsgKi8KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bz ci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcHNyLmMKPj4gaW5kZXggYjlmNDBjMi4u ZDUyNjIzZCAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcHNyLmMK Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcHNyLmMKPj4gQEAgLTExNyw2ICsx MTcsMTkgQEAgc3RhdGljIHZvaWQgdmx2X3Bzcl9zZXR1cF92c2Moc3RydWN0IGludGVsX2RwICpp bnRlbF9kcCkKPj4gCUk5MTVfV1JJVEUoVkxWX1ZTQ1NEUChwaXBlKSwgdmFsKTsKPj4gfQo+Pgo+ PiArc3RhdGljIHZvaWQgc2tsX3Bzcl9zZXR1cF9zdV92c2Moc3RydWN0IGludGVsX2RwICppbnRl bF9kcCkKPj4gK3sKPj4gKwlzdHJ1Y3QgZWRwX3ZzY19wc3IgcHNyX3ZzYzsKPj4gKwo+PiArCS8q IFByZXBhcmUgVlNDIEhlYWRlciBmb3IgU1UgYXMgcGVyIEVEUCAxLjQgc3BlYywgVGFibGUgNi4x MSAqLwo+PiArCW1lbXNldCgmcHNyX3ZzYywgMCwgc2l6ZW9mKHBzcl92c2MpKTsKPj4gKwlwc3Jf dnNjLnNkcF9oZWFkZXIuSEIwID0gMDsKPj4gKwlwc3JfdnNjLnNkcF9oZWFkZXIuSEIxID0gMHg3 Owo+PiArCXBzcl92c2Muc2RwX2hlYWRlci5IQjIgPSAweDM7Cj4+ICsJcHNyX3ZzYy5zZHBfaGVh ZGVyLkhCMyA9IDB4YjsKPj4gKwlpbnRlbF9wc3Jfd3JpdGVfdnNjKGludGVsX2RwLCAmcHNyX3Zz Yyk7Cj4+ICt9Cj4+ICsKPj4gc3RhdGljIHZvaWQgaHN3X3Bzcl9zZXR1cF92c2Moc3RydWN0IGlu dGVsX2RwICppbnRlbF9kcCkKPj4gewo+PiAJc3RydWN0IGVkcF92c2NfcHNyIHBzcl92c2M7Cj4+ IEBAIC0xNjUsNiArMTc4LDEyIEBAIHN0YXRpYyB2b2lkIGhzd19wc3JfZW5hYmxlX3Npbmsoc3Ry dWN0IGludGVsX2RwICppbnRlbF9kcCkKPj4gCQlkcm1fZHBfZHBjZF93cml0ZWIoJmludGVsX2Rw LT5hdXgsIERQX1BTUl9FTl9DRkcsCj4+IAkJCQkgICBEUF9QU1JfRU5BQkxFICYgfkRQX1BTUl9N QUlOX0xJTktfQUNUSVZFKTsKPj4KPj4gKwkvKiBFbmFibGUgQVVYIGZyYW1lIHN5bmMgYXQgc2lu ayAqLwo+PiArCWlmIChkZXZfcHJpdi0+cHNyLmF1eF9mcmFtZV9zeW5jKQo+PiArCQlkcm1fZHBf ZHBjZF93cml0ZWIoJmludGVsX2RwLT5hdXgsCj4+ICsJCQkJRFBfU0lOS19ERVZJQ0VfQVVYX0ZS QU1FX1NZTkNfQ09ORiwKPj4gKwkJCQlEUF9BVVhfRlJBTUVfU1lOQ19FTkFCTEUpOwo+PiArCj4+ IAlhdXhfZGF0YV9yZWcgPSAoSU5URUxfSU5GTyhkZXYpLT5nZW4gPj0gOSkgPwo+PiAJCQkJRFBB X0FVWF9DSF9EQVRBMSA6IEVEUF9QU1JfQVVYX0RBVEExKGRldik7Cj4+IAlhdXhfY3RsX3JlZyA9 IChJTlRFTF9JTkZPKGRldiktPmdlbiA+PSA5KSA/Cj4+IEBAIC0xODMsOCArMjAyLDEwIEBAIHN0 YXRpYyB2b2lkIGhzd19wc3JfZW5hYmxlX3Npbmsoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkK Pj4gCQl2YWwgfD0gRFBfQVVYX0NIX0NUTF9USU1FX09VVF8xNjAwdXM7Cj4+IAkJdmFsICY9IH5E UF9BVVhfQ0hfQ1RMX01FU1NBR0VfU0laRV9NQVNLOwo+PiAJCXZhbCB8PSAoc2l6ZW9mKGF1eF9t c2cpIDw8IERQX0FVWF9DSF9DVExfTUVTU0FHRV9TSVpFX1NISUZUKTsKPj4gLQkJLyogVXNlIGhh cmRjb2RlZCBkYXRhIHZhbHVlcyBmb3IgUFNSICovCj4+ICsJCS8qIFVzZSBoYXJkY29kZWQgZGF0 YSB2YWx1ZXMgZm9yIFBTUiwgZnJhbWUgc3luYyBhbmQgR1RDICovCj4+IAkJdmFsICY9IH5EUF9B VVhfQ0hfQ1RMX1BTUl9EQVRBX0FVWF9SRUdfU0tMOwo+PiArCQl2YWwgJj0gfkRQX0FVWF9DSF9D VExfRlNfREFUQV9BVVhfUkVHX1NLTDsKPj4gKwkJdmFsICY9IH5EUF9BVVhfQ0hfQ1RMX0dUQ19E QVRBX0FVWF9SRUdfU0tMOwo+PiAJCUk5MTVfV1JJVEUoYXV4X2N0bF9yZWcsIHZhbCk7Cj4+IAl9 IGVsc2Ugewo+PiAJCUk5MTVfV1JJVEUoYXV4X2N0bF9yZWcsCj4+IEBAIC0yMzIsNiArMjUzLDgg QEAgc3RhdGljIHZvaWQgaHN3X3Bzcl9lbmFibGVfc291cmNlKHN0cnVjdCBpbnRlbF9kcCAqaW50 ZWxfZHApCj4+IAlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCA9IGRwX3RvX2Rp Z19wb3J0KGludGVsX2RwKTsKPj4gCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBkaWdfcG9ydC0+ YmFzZS5iYXNlLmRldjsKPj4gCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRl di0+ZGV2X3ByaXZhdGU7Cj4+ICsJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9j cnRjKGRpZ19wb3J0LT5iYXNlLmJhc2UuY3J0Yyk7Cj4+ICsKPj4gCXVpbnQzMl90IG1heF9zbGVl cF90aW1lID0gMHgxZjsKPj4gCS8qIExhdGVseSBpdCB3YXMgaWRlbnRpZmllZCB0aGF0IGRlcGVu ZGluZyBvbiBwYW5lbCBpZGxlIGZyYW1lIGNvdW50Cj4+IAkgKiBjYWxjdWxhdGVkIGF0IEhXIGNh biBiZSBvZmYgYnkgMS4gU28gbGV0J3MgdXNlIHdoYXQgY2FtZQo+PiBAQCAtMjU1LDYgKzI3OCwx MiBAQCBzdGF0aWMgdm9pZCBoc3dfcHNyX2VuYWJsZV9zb3VyY2Uoc3RydWN0IGludGVsX2RwICpp bnRlbF9kcCkKPj4gCQkgICBtYXhfc2xlZXBfdGltZSA8PCBFRFBfUFNSX01BWF9TTEVFUF9USU1F X1NISUZUIHwKPj4gCQkgICBpZGxlX2ZyYW1lcyA8PCBFRFBfUFNSX0lETEVfRlJBTUVfU0hJRlQg fAo+PiAJCSAgIEVEUF9QU1JfRU5BQkxFKTsKPj4gKwo+PiArCS8qIFBTUjIgaXMgcmVzdHJpY3Rl ZCB0byB3b3JrIHdpdGggcGFuZWwgcmVzb2x1dGlvbnMgdXB0byAzMjAweDIwMDAgKi8KPj4gKwlp ZiAoZGV2X3ByaXYtPnBzci5wc3IyX3N1cHBvcnQgJiYgY3J0Yy0+Y29uZmlnLT5waXBlX3NyY193 IDw9IDMyMDAKPj4gKwkJJiYgY3J0Yy0+Y29uZmlnLT5waXBlX3NyY19oIDw9IDIwMDApCj4+ICsJ CUk5MTVfV1JJVEUoRURQX1BTUjJfQ1RMLCBFRFBfUFNSMl9FTkFCTEUgfAo+PiArCQkJCUVEUF9T VV9UUkFDS19FTkFCTEUgfCBFRFBfUFNSMl9UUDJfVElNRV8xMDApOwo+Cj4gRG8gd2UgbmVlZCB0 aGlzIHNpemUgY2hlY2sgZXZlcnkgdGltZSBfZW5hYmxlKCkgaXMgY2FsbGVkID8KPiBPciBpcyBp dCBzdWZmaWNpZW50IHRvIGRvIGl0IG9uY2UgPwpZZXMsIGl0IGlzIHN1ZmZpY2llbnQgdG8gY2hl Y2sgaXQgb25jZSBhZnRlciB0aGUgcGlwZSBpcyBlbmFibGVkLiBJIHdpbGwgCm1vdmUgaXQgdG8g aW50ZWxfcHNyX2VuYWJsZSB3aGljaCBpcyBjYWxsZWQgb25jZSwgYW5kIHNlbmQgb3V0IGEgcGF0 Y2ggCmluIGEgd2hpbGUuCj4KPiBBbHNvLCBpZiB0aGlzIHNpemUgcmVzdHJpY3Rpb24gaXMgIG5v dCBzcGVjaWZpYyB0byBIU1csIGlzbid0IG1hdGNoX2NvbmRpdGlvbnMoKQo+IGEgYmV0dGVyIHBs YWNlIGZvciB0aGlzIGNoZWNrID8KPgpJdCBpcyBzcGVjaWZpYyB0byBwc3IyLiBJbiBtYXRjaF9j b25kaXRpb25zIHdlIG1haW5seSBjaGVjayBpZiBwc3IgCnN1cHBvcnQgaXMgcG9zc2libGUuIEkg dGhpbmsgdGhpcyBjaGVjayBjYW4gcmVtYWluIGluIGludGVsX3Bzcl9lbmFibGUuCgo+IFRoYW5r cywKPiBEdXJnYQo+Cj4+IH0KPj4KPj4gc3RhdGljIGJvb2wgaW50ZWxfcHNyX21hdGNoX2NvbmRp dGlvbnMoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPj4gQEAgLTM2NCw2ICszOTMsOSBAQCB2 b2lkIGludGVsX3Bzcl9lbmFibGUoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPj4gCWlmIChI QVNfRERJKGRldikpIHsKPj4gCQloc3dfcHNyX3NldHVwX3ZzYyhpbnRlbF9kcCk7Cj4+Cj4+ICsJ CWlmIChkZXZfcHJpdi0+cHNyLnBzcjJfc3VwcG9ydCkKPj4gKwkJCXNrbF9wc3Jfc2V0dXBfc3Vf dnNjKGludGVsX2RwKTsKPj4gKwo+PiAJCS8qIEF2b2lkIGNvbnRpbnVvdXMgUFNSIGV4aXQgYnkg bWFza2luZyBtZW11cCBhbmQgaHBkICovCj4+IAkJSTkxNV9XUklURShFRFBfUFNSX0RFQlVHX0NU TChkZXYpLCBFRFBfUFNSX0RFQlVHX01BU0tfTUVNVVAgfAo+PiAJCQkgICBFRFBfUFNSX0RFQlVH X01BU0tfSFBEIHwgRURQX1BTUl9ERUJVR19NQVNLX0xQU1ApOwo+PiAtLQo+PiAxLjcuMTAuNAo+ Pgo+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+PiBJ bnRlbC1nZnggbWFpbGluZyBsaXN0Cj4+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK Pj4gaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdm eApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1n ZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=