From mboxrd@z Thu Jan 1 00:00:00 1970 From: vathsala nagaraju Subject: [PATCH] drm/i915/psr: vbt change for psr Date: Tue, 22 May 2018 14:57:23 +0530 Message-ID: <1526981243-2745-1-git-send-email-vathsala.nagaraju@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 43CD36E24B for ; Tue, 22 May 2018 09:27:30 +0000 (UTC) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: dhinakaran.pandiyan@intel.com, jani.nikula@linux.intel.com Cc: Jani Nikula , intel-gfx@lists.freedesktop.org, Rodrigo Vivi , Puthikorn Voravootivat , Maulik V Vaghela List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVmF0aHNhbGEgTmFnYXJhanUgPHZhdGhzYWxhLm5hZ2FyYWp1QGludGVsLmNvbT4KCkZv ciBwc3IgYmxvY2sgIzksIHRoZSB2YnQgZGVzY3JpcHRpb24gaGFzIG1vdmVkIHRvIG9wdGlvbnMg WzAtM10gZm9yClRQMSxUUDIsVFAzIFdha2V1cCB0aW1lIGZyb20gZGVjaW1hbCB2YWx1ZSB3aXRo b3V0IGFueSBjaGFuZ2UgdG8gdmJ0CnN0cnVjdHVyZS4gU2luY2Ugc3BlYyBkb2VzIG5vdCAgbWVu dGlvbiBmcm9tIHdoaWNoIFZCVCB2ZXJzaW9uIHRoaXMKY2hhbmdlIHdhcyBhZGRlZCB0byB2YnQu YnNmIGZpbGUsIHdlIGNhbm5vdCBkZXBlbmQgb24gYmRiLT52ZXJzaW9uIGNoZWNrCnRvIGNoYW5n ZSBmb3IgYWxsIHRoZSBwbGF0Zm9ybXMuCgpUaGVyZSBpcyBSQ1IgaW5wbGFjZSBmb3IgR09QIHRl YW0gdG8gIHByb3ZpZGUgdGhlIHZlcnNpb24gbnVtYmVyCnRvIG1ha2UgZ2VuZXJpYyBjaGFuZ2Uu IFNpbmNlIEthYnlsYWtlIHdpdGggYmRiIHZlcnNpb24gMjA5IGlzIGhhdmluZyB0aGlzCmNoYW5n ZSwgbGltaXRpbmcgdGhpcyBjaGFuZ2UgdG8gZ2VuOV9iYyBhbmQgdmVyc2lvbiAyMDkrIHRvIHVu YmxvY2sgZ29vZ2xlLgoKVGVzdGVkIG9uIHNrbChiZGIgdmVyc2lvbiAyMDMsd2l0aG91dCBvcHRp b25zKSBhbmQKa2FieWxha2UoYmRiIHZlcnNpb24gMjA5LDIxMikgaGF2aW5nIG5ldyBvcHRpb25z LgoKYnNwZWMgMjAxMzEKCnYyOiAoSmFuaSBhbmQgUm9kcmlnbykKICAgIG1vdmUgdGhlIDE2NSB2 ZXJzaW9uIGNoZWNrIHRvIGludGVsX2Jpb3MuYwp2MzogSmFuaQogICAgTW92ZSB0aGUgYWJzdHJh Y3Rpb24gdG8gaW50ZWxfYmlvcy4KdjQ6IEphbmkKICAgIFJlbmFtZSB0cCpfd2FrZXVwX3RpbWUg dG8gaGF2ZSAidXMiIHN1ZmZpeC4KICAgIEZvciB2YWx1ZXMgb3V0c2lkZSByYW5nZVswLTNdLGRl ZmF1bHQgdG8gbWF4IDI1MDB1cy4KICAgIE9sZCBkZWNpbWFsIHZhbHVlIHdhcyB3YWtlIHVwIHRp bWUgaW4gbXVsdGlwbGVzIG9mIDEwMHVzLgp2NTogSmFuaSBhbmQgUm9kcmlnbwogICAgSGFuZGxl IG9wdGlvbiAyIGluIGRlZmF1bHQgY29uZGl0aW9uLgogICAgUHJpbnQgb3VzdGlkZSByYW5nZSB2 YWx1ZS4KICAgIEZvciBuZWdldGl2ZSB2YWx1ZXMgZGVmYXVsdCB0byAyNTAwdXMuCnY2OiBKYW5p CiAgICBIYW5kbGUgZGVmYXVsdCBmaXJzdCBhbmQgdGhlbiBmYWxsIHRocm91Z2ggZm9yIGNhc2Ug Mi4Kdjc6IFJvZHJpZ28KICAgIEFwcGx5IHRoaXMgY2hhbmdlIGZvciBJU19HRU45X0JDIGFuZCB2 YnQgdmVyc2lvbiA+IDIwOQp2ODogUHV0aGlrCiAgICBBZGQgbmV3IGZ1bmN0aW9uIHZidF9wc3Jf dG9fdXMuCnY5OiBKYW5pCiAgICBDaGFuZ2UgdG8gdjcgdmVyc2lvbiBhcyBpdCdzIG1vcmUgcmVh ZGFibGUuCiAgICBESwogICAgYWRkIGNvbW1lbnQgLypmYWxsIHRocm91Z2gqLyBhZnRlciBjYXNl Mi4KCkNjOiBSb2RyaWdvIFZpdmkgPHJvZHJpZ28udml2aUBpbnRlbC5jb20+CkNjOiBQdXRoaWtv cm4gVm9yYXZvb3RpdmF0IDxwdXRoaWtAY2hyb21pdW0ub3JnPgpDYzogRGhpbmFrYXJhbiBQYW5k aXlhbiA8ZGhpbmFrYXJhbi5wYW5kaXlhbkBpbnRlbC5jb20+CkNjOiBKYW5pIE5pa3VsYSA8amFu aS5uaWt1bGFAaW50ZWwuY29tPgpDYzogSm9zw6kgUm9iZXJ0byBkZSBTb3V6YSA8am9zZS5zb3V6 YUBpbnRlbC5jb20+CgpTaWduZWQtb2ZmLWJ5OiBNYXVsaWsgViBWYWdoZWxhIDxtYXVsaWsudi52 YWdoZWxhQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogVmF0aHNhbGEgTmFnYXJhanUgPHZhdGhz YWxhLm5hZ2FyYWp1QGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Ry di5oICAgfCAgNCArKy0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oICAgfCAgOCAr KystLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9iaW9zLmMgfCA0OCArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3Bzci5jICB8IDM5ICsrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0KIDQgZmlsZXMgY2hh bmdlZCwgNzIgaW5zZXJ0aW9ucygrKSwgMjcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmgKaW5kZXggZTMzYzM4MC4uZGNmYTc5MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBA IC0xMDc4LDggKzEwNzgsOCBAQCBzdHJ1Y3QgaW50ZWxfdmJ0X2RhdGEgewogCQlib29sIHJlcXVp cmVfYXV4X3dha2V1cDsKIAkJaW50IGlkbGVfZnJhbWVzOwogCQllbnVtIHBzcl9saW5lc190b193 YWl0IGxpbmVzX3RvX3dhaXQ7Ci0JCWludCB0cDFfd2FrZXVwX3RpbWU7Ci0JCWludCB0cDJfdHAz X3dha2V1cF90aW1lOworCQlpbnQgdHAxX3dha2V1cF90aW1lX3VzOworCQlpbnQgdHAyX3RwM193 YWtldXBfdGltZV91czsKIAl9IHBzcjsKIAogCXN0cnVjdCB7CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcu aAppbmRleCAxOTZhMGViLi41MTNiNGE0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X3JlZy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKQEAgLTQw ODgsMTAgKzQwODgsMTAgQEAgZW51bSB7CiAjZGVmaW5lICAgRURQX1lfQ09PUkRJTkFURV9FTkFC TEUJKDE8PDI1KSAvKiBHTEsgYW5kIENOTCsgKi8KICNkZWZpbmUgICBFRFBfTUFYX1NVX0RJU0FC TEVfVElNRSh0KQkoKHQpPDwyMCkKICNkZWZpbmUgICBFRFBfTUFYX1NVX0RJU0FCTEVfVElNRV9N QVNLCSgweDFmPDwyMCkKLSNkZWZpbmUgICBFRFBfUFNSMl9UUDJfVElNRV81MDAJCSgwPDw4KQot I2RlZmluZSAgIEVEUF9QU1IyX1RQMl9USU1FXzEwMAkJKDE8PDgpCi0jZGVmaW5lICAgRURQX1BT UjJfVFAyX1RJTUVfMjUwMAkoMjw8OCkKLSNkZWZpbmUgICBFRFBfUFNSMl9UUDJfVElNRV81MAkJ KDM8PDgpCisjZGVmaW5lICAgRURQX1BTUjJfVFAyX1RJTUVfNTAwdXMJKDA8PDgpCisjZGVmaW5l ICAgRURQX1BTUjJfVFAyX1RJTUVfMTAwdXMJKDE8PDgpCisjZGVmaW5lICAgRURQX1BTUjJfVFAy X1RJTUVfMjUwMHVzCSgyPDw4KQorI2RlZmluZSAgIEVEUF9QU1IyX1RQMl9USU1FXzUwdXMJKDM8 PDgpCiAjZGVmaW5lICAgRURQX1BTUjJfVFAyX1RJTUVfTUFTSwkoMzw8OCkKICNkZWZpbmUgICBF RFBfUFNSMl9GUkFNRV9CRUZPUkVfU1VfU0hJRlQgNAogI2RlZmluZSAgIEVEUF9QU1IyX0ZSQU1F X0JFRk9SRV9TVV9NQVNLCSgweGY8PDQpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9iaW9zLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9iaW9zLmMKaW5kZXgg NTQyNzBiZC4uNDE3ZjY1NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf Ymlvcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Jpb3MuYwpAQCAtNjg4LDgg KzY4OCw1MiBAQCBzdGF0aWMgaW50IGludGVsX2Jpb3Nfc3NjX2ZyZXF1ZW5jeShzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCWJyZWFrOwogCX0KIAotCWRldl9wcml2LT52YnQu cHNyLnRwMV93YWtldXBfdGltZSA9IHBzcl90YWJsZS0+dHAxX3dha2V1cF90aW1lOwotCWRldl9w cml2LT52YnQucHNyLnRwMl90cDNfd2FrZXVwX3RpbWUgPSBwc3JfdGFibGUtPnRwMl90cDNfd2Fr ZXVwX3RpbWU7CisJLyoKKwkgKiBOZXcgcHNyIG9wdGlvbnMgMD01MDB1cywgMT0xMDB1cywgMj0y NTAwdXMsIDM9MHVzCisJICogT2xkIGRlY2ltYWwgdmFsdWUgaXMgd2FrZSB1cCB0aW1lIGluIG11 bHRpcGxlcyBvZiAxMDAgdXMuCisJICovCisJaWYgKGJkYi0+dmVyc2lvbiA+PSAyMDkgJiYgSVNf R0VOOV9CQyhkZXZfcHJpdikpIHsKKwkJc3dpdGNoIChwc3JfdGFibGUtPnRwMV93YWtldXBfdGlt ZSkgeworCQljYXNlIDA6CisJCQlkZXZfcHJpdi0+dmJ0LnBzci50cDFfd2FrZXVwX3RpbWVfdXMg PSA1MDA7CisJCQlicmVhazsKKwkJY2FzZSAxOgorCQkJZGV2X3ByaXYtPnZidC5wc3IudHAxX3dh a2V1cF90aW1lX3VzID0gMTAwOworCQkJYnJlYWs7CisJCWNhc2UgMzoKKwkJCWRldl9wcml2LT52 YnQucHNyLnRwMV93YWtldXBfdGltZV91cyA9IDA7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJ CURSTV9ERUJVR19LTVMoIlZCVCB0cDEgd2FrZXVwIHRpbWUgdmFsdWUgJWQgaXMgb3V0c2lkZSBy YW5nZVswLTNdLCBkZWZhdWx0aW5nIHRvIG1heCB2YWx1ZSAyNTAwdXNcbiIsCisJCQkJCXBzcl90 YWJsZS0+dHAxX3dha2V1cF90aW1lKTsKKwkJCS8qIGZhbGx0aHJvdWdoICovCisJCWNhc2UgMjoK KwkJCWRldl9wcml2LT52YnQucHNyLnRwMV93YWtldXBfdGltZV91cyA9IDI1MDA7CisJCQlicmVh azsKKwkJfQorCisJCXN3aXRjaCAocHNyX3RhYmxlLT50cDJfdHAzX3dha2V1cF90aW1lKSB7CisJ CWNhc2UgMDoKKwkJCWRldl9wcml2LT52YnQucHNyLnRwMl90cDNfd2FrZXVwX3RpbWVfdXMgPSA1 MDA7CisJCQlicmVhazsKKwkJY2FzZSAxOgorCQkJZGV2X3ByaXYtPnZidC5wc3IudHAyX3RwM193 YWtldXBfdGltZV91cyA9IDEwMDsKKwkJCWJyZWFrOworCQljYXNlIDM6CisJCQlkZXZfcHJpdi0+ dmJ0LnBzci50cDFfd2FrZXVwX3RpbWVfdXMgPSAwOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJ CQlEUk1fREVCVUdfS01TKCJWQlQgdHAyX3RwMyB3YWtldXAgdGltZSB2YWx1ZSAlZCBpcyBvdXRz aWRlIHJhbmdlWzAtM10sIGRlZmF1bHRpbmcgdG8gbWF4IHZhbHVlIDI1MDB1c1xuIiwKKwkJCQkJ cHNyX3RhYmxlLT50cDJfdHAzX3dha2V1cF90aW1lKTsKKwkJCS8qIGZhbGx0aHJvdWdoICovCisJ CWNhc2UgMjoKKwkJCWRldl9wcml2LT52YnQucHNyLnRwMl90cDNfd2FrZXVwX3RpbWVfdXMgPSAy NTAwOworCQlicmVhazsKKwkJfQorCX0gZWxzZSB7CisJCWRldl9wcml2LT52YnQucHNyLnRwMV93 YWtldXBfdGltZV91cyA9IHBzcl90YWJsZS0+dHAxX3dha2V1cF90aW1lICogMTAwOworCQlkZXZf cHJpdi0+dmJ0LnBzci50cDJfdHAzX3dha2V1cF90aW1lX3VzID0gcHNyX3RhYmxlLT50cDJfdHAz X3dha2V1cF90aW1lICogMTAwOworCX0KIH0KIAogc3RhdGljIHZvaWQgcGFyc2VfZHNpX2JhY2ts aWdodF9wb3J0cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wc3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3Bzci5jCmluZGV4IGRiMjdmMmYuLmQ2NGYwMzkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3Bzci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3Bzci5jCkBAIC00NjEsMjMgKzQ2MSwyMyBAQCBzdGF0aWMgdm9pZCBoc3dfYWN0aXZhdGVfcHNy MShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogCWlmIChkZXZfcHJpdi0+cHNyLmxpbmtfc3Rh bmRieSkKIAkJdmFsIHw9IEVEUF9QU1JfTElOS19TVEFOREJZOwogCi0JaWYgKGRldl9wcml2LT52 YnQucHNyLnRwMV93YWtldXBfdGltZSA+IDUpCi0JCXZhbCB8PSBFRFBfUFNSX1RQMV9USU1FXzI1 MDB1czsKLQllbHNlIGlmIChkZXZfcHJpdi0+dmJ0LnBzci50cDFfd2FrZXVwX3RpbWUgPiAxKQot CQl2YWwgfD0gRURQX1BTUl9UUDFfVElNRV81MDB1czsKLQllbHNlIGlmIChkZXZfcHJpdi0+dmJ0 LnBzci50cDFfd2FrZXVwX3RpbWUgPiAwKQorCWlmIChkZXZfcHJpdi0+dmJ0LnBzci50cDFfd2Fr ZXVwX3RpbWVfdXMgPT0gMCkKKwkJdmFsIHw9ICBFRFBfUFNSX1RQMV9USU1FXzB1czsKKwllbHNl IGlmIChkZXZfcHJpdi0+dmJ0LnBzci50cDFfd2FrZXVwX3RpbWVfdXMgPD0gMTAwKQogCQl2YWwg fD0gRURQX1BTUl9UUDFfVElNRV8xMDB1czsKKwllbHNlIGlmIChkZXZfcHJpdi0+dmJ0LnBzci50 cDFfd2FrZXVwX3RpbWVfdXMgPD0gNTAwKQorCQl2YWwgfD0gRURQX1BTUl9UUDFfVElNRV81MDB1 czsKIAllbHNlCi0JCXZhbCB8PSBFRFBfUFNSX1RQMV9USU1FXzB1czsKKwkJdmFsIHw9IEVEUF9Q U1JfVFAxX1RJTUVfMjUwMHVzOwogCi0JaWYgKGRldl9wcml2LT52YnQucHNyLnRwMl90cDNfd2Fr ZXVwX3RpbWUgPiA1KQotCQl2YWwgfD0gRURQX1BTUl9UUDJfVFAzX1RJTUVfMjUwMHVzOwotCWVs c2UgaWYgKGRldl9wcml2LT52YnQucHNyLnRwMl90cDNfd2FrZXVwX3RpbWUgPiAxKQotCQl2YWwg fD0gRURQX1BTUl9UUDJfVFAzX1RJTUVfNTAwdXM7Ci0JZWxzZSBpZiAoZGV2X3ByaXYtPnZidC5w c3IudHAyX3RwM193YWtldXBfdGltZSA+IDApCisJaWYgKGRldl9wcml2LT52YnQucHNyLnRwMl90 cDNfd2FrZXVwX3RpbWVfdXMgPT0gMCkKKwkJdmFsIHw9ICBFRFBfUFNSX1RQMl9UUDNfVElNRV8w dXM7CisJZWxzZSBpZiAoZGV2X3ByaXYtPnZidC5wc3IudHAyX3RwM193YWtldXBfdGltZV91cyA8 PSAxMDApCiAJCXZhbCB8PSBFRFBfUFNSX1RQMl9UUDNfVElNRV8xMDB1czsKKwllbHNlIGlmIChk ZXZfcHJpdi0+dmJ0LnBzci50cDJfdHAzX3dha2V1cF90aW1lX3VzIDw9IDUwMCkKKwkJdmFsIHw9 IEVEUF9QU1JfVFAyX1RQM19USU1FXzUwMHVzOwogCWVsc2UKLQkJdmFsIHw9IEVEUF9QU1JfVFAy X1RQM19USU1FXzB1czsKKwkJdmFsIHw9IEVEUF9QU1JfVFAyX1RQM19USU1FXzI1MDB1czsKIAog CWlmIChpbnRlbF9kcF9zb3VyY2Vfc3VwcG9ydHNfaGJyMihpbnRlbF9kcCkgJiYKIAkgICAgZHJt X2RwX3RwczNfc3VwcG9ydGVkKGludGVsX2RwLT5kcGNkKSkKQEAgLTUxMywxNCArNTEzLDE1IEBA IHN0YXRpYyB2b2lkIGhzd19hY3RpdmF0ZV9wc3IyKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAp CiAKIAl2YWwgfD0gRURQX1BTUjJfRlJBTUVfQkVGT1JFX1NVKGRldl9wcml2LT5wc3Iuc2lua19z eW5jX2xhdGVuY3kgKyAxKTsKIAotCWlmIChkZXZfcHJpdi0+dmJ0LnBzci50cDJfdHAzX3dha2V1 cF90aW1lID4gNSkKLQkJdmFsIHw9IEVEUF9QU1IyX1RQMl9USU1FXzI1MDA7Ci0JZWxzZSBpZiAo ZGV2X3ByaXYtPnZidC5wc3IudHAyX3RwM193YWtldXBfdGltZSA+IDEpCi0JCXZhbCB8PSBFRFBf UFNSMl9UUDJfVElNRV81MDA7Ci0JZWxzZSBpZiAoZGV2X3ByaXYtPnZidC5wc3IudHAyX3RwM193 YWtldXBfdGltZSA+IDApCi0JCXZhbCB8PSBFRFBfUFNSMl9UUDJfVElNRV8xMDA7CisJaWYgKGRl dl9wcml2LT52YnQucHNyLnRwMl90cDNfd2FrZXVwX3RpbWVfdXMgPj0gMCAmJgorCSAgICBkZXZf cHJpdi0+dmJ0LnBzci50cDJfdHAzX3dha2V1cF90aW1lX3VzIDw9IDUwKQorCQl2YWwgfD0gRURQ X1BTUjJfVFAyX1RJTUVfNTB1czsKKwllbHNlIGlmIChkZXZfcHJpdi0+dmJ0LnBzci50cDJfdHAz X3dha2V1cF90aW1lX3VzIDw9IDEwMCkKKwkJdmFsIHw9IEVEUF9QU1IyX1RQMl9USU1FXzEwMHVz OworCWVsc2UgaWYgKGRldl9wcml2LT52YnQucHNyLnRwMl90cDNfd2FrZXVwX3RpbWVfdXMgPD0g NTAwKQorCQl2YWwgfD0gRURQX1BTUjJfVFAyX1RJTUVfNTAwdXM7CiAJZWxzZQotCQl2YWwgfD0g RURQX1BTUjJfVFAyX1RJTUVfNTA7CisJCXZhbCB8PSBFRFBfUFNSMl9UUDJfVElNRV8yNTAwdXM7 CiAKIAlJOTE1X1dSSVRFKEVEUF9QU1IyX0NUTCwgdmFsKTsKIH0KLS0gCjEuOS4xCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGlu ZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK