From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rex Zhu Subject: [PATCH 3/5] drm/amd/pp: Add struct profile_mode_setting for smu7 Date: Tue, 23 Jan 2018 18:05:00 +0800 Message-ID: <1516701902-14105-3-git-send-email-Rex.Zhu@amd.com> References: <1516701902-14105-1-git-send-email-Rex.Zhu@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1516701902-14105-1-git-send-email-Rex.Zhu-5C7GfCeVMHo@public.gmane.org> List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Rex Zhu TW92ZSBjb25maWd1cmFibGUgcHJvZmlsaW5nIHBhcmFtZXRlcnMgdG8gc3RydWN0CnByb2ZpbGVf bW9kZV9zZXR0aW5nIGFuZCBpbml0aWFsaXplIGN1cnJlbnRfcHJvZmlsZV9zZXR0aW5nLgoKQ2hh bmdlLUlkOiBJMjQyYWNlOGYwNGU2NDAwNzY5NTEzOWM3MDk0ZmU3YjdiZTFiMTAyMApTaWduZWQt b2ZmLWJ5OiBSZXggWmh1IDxSZXguWmh1QGFtZC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2Ft ZC9wb3dlcnBsYXkvaHdtZ3Ivc211N19od21nci5jICAgICAgICB8IDEwICsrKysrKysrLS0KIGRy aXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3bWdyL3NtdTdfaHdtZ3IuaCAgICAgICAgfCAx NSArKysrKysrKysrKysrLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L3NtdW1nci9j aV9zbXVtZ3IuYyAgICAgICAgfCAxNCArKysrKysrLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2Ft ZC9wb3dlcnBsYXkvc211bWdyL2Zpamlfc211bWdyLmMgICAgICB8IDE0ICsrKysrKystLS0tLS0t CiBkcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9zbXVtZ3IvaWNlbGFuZF9zbXVtZ3IuYyAg IHwgMTQgKysrKysrKy0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L3NtdW1n ci9wb2xhcmlzMTBfc211bWdyLmMgfCAxNCArKysrKysrLS0tLS0tLQogZHJpdmVycy9ncHUvZHJt L2FtZC9wb3dlcnBsYXkvc211bWdyL3RvbmdhX3NtdW1nci5jICAgICB8IDE0ICsrKysrKystLS0t LS0tCiA3IGZpbGVzIGNoYW5nZWQsIDU2IGluc2VydGlvbnMoKyksIDM5IGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3bWdyL3NtdTdfaHdt Z3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3bWdyL3NtdTdfaHdtZ3IuYwpp bmRleCAzZmY5NTM2Li5mNjIzNmY5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bv d2VycGxheS9od21nci9zbXU3X2h3bWdyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dl cnBsYXkvaHdtZ3Ivc211N19od21nci5jCkBAIC0xNDg0LDggKzE0ODQsNiBAQCBzdGF0aWMgdm9p ZCBzbXU3X2luaXRfZHBtX2RlZmF1bHRzKHN0cnVjdCBwcF9od21nciAqaHdtZ3IpCiAKIAlkYXRh LT5kbGxfZGVmYXVsdF9vbiA9IGZhbHNlOwogCWRhdGEtPm1jbGtfZHBtMF9hY3Rpdml0eV90YXJn ZXQgPSAweGE7Ci0JZGF0YS0+bWNsa19hY3Rpdml0eV90YXJnZXQgPSBTTVU3X01DTEtfVEFSR0VU QUNUSVZJVFlfREZMVDsKLQlkYXRhLT5zY2xrX2FjdGl2aXR5X3RhcmdldCA9IFNNVTdfU0NMS19U QVJHRVRBQ1RJVklUWV9ERkxUOwogCWRhdGEtPnZkZGNfdmRkZ2Z4X2RlbHRhID0gMzAwOwogCWRh dGEtPnN0YXRpY19zY3JlZW5fdGhyZXNob2xkID0gU01VN19TVEFUSUNTQ1JFRU5USFJFU0hPTERf REZMVDsKIAlkYXRhLT5zdGF0aWNfc2NyZWVuX3RocmVzaG9sZF91bml0ID0gU01VN19TVEFUSUNT Q1JFRU5USFJFU0hPTERVTklUX0RGTFQ7CkBAIC0xNTA5LDYgKzE1MDcsMTQgQEAgc3RhdGljIHZv aWQgc211N19pbml0X2RwbV9kZWZhdWx0cyhzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyKQogCWRhdGEt PmVuYWJsZV9wa2dfcHdyX3RyYWNraW5nX2ZlYXR1cmUgPSB0cnVlOwogCWRhdGEtPmZvcmNlX3Bj aWVfZ2VuID0gUFBfUENJRUdlbkludmFsaWQ7CiAJZGF0YS0+dWx2X3N1cHBvcnRlZCA9IGh3bWdy LT5mZWF0dXJlX21hc2sgJiBQUF9VTFZfTUFTSyA/IHRydWUgOiBmYWxzZTsKKwlkYXRhLT5jdXJy ZW50X3Byb2ZpbGVfc2V0dGluZy5idXBkYXRlX3NjbGsgPSAxOworCWRhdGEtPmN1cnJlbnRfcHJv ZmlsZV9zZXR0aW5nLnNjbGtfdXBfaHlzdCA9IDA7CisJZGF0YS0+Y3VycmVudF9wcm9maWxlX3Nl dHRpbmcuc2Nsa19kb3duX2h5c3QgPSAxMDA7CisJZGF0YS0+Y3VycmVudF9wcm9maWxlX3NldHRp bmcuc2Nsa19hY3Rpdml0eSA9IFNNVTdfU0NMS19UQVJHRVRBQ1RJVklUWV9ERkxUOworCWRhdGEt PmN1cnJlbnRfcHJvZmlsZV9zZXR0aW5nLmJ1cGRhdGVfc2NsayA9IDE7CisJZGF0YS0+Y3VycmVu dF9wcm9maWxlX3NldHRpbmcubWNsa191cF9oeXN0ID0gMDsKKwlkYXRhLT5jdXJyZW50X3Byb2Zp bGVfc2V0dGluZy5tY2xrX2Rvd25faHlzdCA9IDEwMDsKKwlkYXRhLT5jdXJyZW50X3Byb2ZpbGVf c2V0dGluZy5tY2xrX2FjdGl2aXR5ID0gU01VN19NQ0xLX1RBUkdFVEFDVElWSVRZX0RGTFQ7CiAK IAlpZiAoaHdtZ3ItPmNoaXBfaWQgPT0gQ0hJUF9QT0xBUklTMTIgfHwgaHdtZ3ItPmlzX2tpY2tl cikgewogCQl1aW50OF90IHRtcDEsIHRtcDI7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v YW1kL3Bvd2VycGxheS9od21nci9zbXU3X2h3bWdyLmggYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bv d2VycGxheS9od21nci9zbXU3X2h3bWdyLmgKaW5kZXggMzc1ZmExMC4uM2JjZmM2MSAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3Ivc211N19od21nci5oCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3bWdyL3NtdTdfaHdtZ3IuaApAQCAt MTg2LDYgKzE4NiwxNyBAQCBzdHJ1Y3Qgc211N19vZG5fZHBtX3RhYmxlIHsKIAl1aW50MzJfdAkJ CQkJb2RuX21jbGtfbWluX2xpbWl0OwogfTsKIAorc3RydWN0IHByb2ZpbGVfbW9kZV9zZXR0aW5n IHsKKwl1aW50OF90IGJ1cGRhdGVfc2NsazsKKwl1aW50OF90IHNjbGtfdXBfaHlzdDsKKwl1aW50 OF90IHNjbGtfZG93bl9oeXN0OworCXVpbnQxNl90IHNjbGtfYWN0aXZpdHk7CisJdWludDhfdCBi dXBkYXRlX21jbGs7CisJdWludDhfdCBtY2xrX3VwX2h5c3Q7CisJdWludDhfdCBtY2xrX2Rvd25f aHlzdDsKKwl1aW50MTZfdCBtY2xrX2FjdGl2aXR5OworfTsKKwogc3RydWN0IHNtdTdfaHdtZ3Ig ewogCXN0cnVjdCBzbXU3X2RwbV90YWJsZQkJCWRwbV90YWJsZTsKIAlzdHJ1Y3Qgc211N19kcG1f dGFibGUJCQlnb2xkZW5fZHBtX3RhYmxlOwpAQCAtMjg5LDggKzMwMCw2IEBAIHN0cnVjdCBzbXU3 X2h3bWdyIHsKIAlzdHJ1Y3Qgc211N19wY2llX3BlcmZfcmFuZ2UgICAgICAgICAgcGNpZV9sYW5l X3Bvd2VyX3NhdmluZzsKIAlib29sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB1c2VfcGNpZV9wZXJmb3JtYW5jZV9sZXZlbHM7CiAJYm9vbCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdXNlX3BjaWVfcG93ZXJfc2F2aW5nX2xldmVsczsKLQl1aW50MTZf dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtY2xrX2FjdGl2aXR5X3RhcmdldDsK LQl1aW50MTZfdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY2xrX2FjdGl2aXR5 X3RhcmdldDsKIAl1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtY2xr X2RwbTBfYWN0aXZpdHlfdGFyZ2V0OwogCXVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGxvd19zY2xrX2ludGVycnVwdF90aHJlc2hvbGQ7CiAJdWludDMyX3QgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFzdF9tY2xrX2RwbV9lbmFibGVfbWFzazsKQEAg LTMxNiw2ICszMjUsOCBAQCBzdHJ1Y3Qgc211N19od21nciB7CiAJdWludDE2X3QgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBtZW1fbGF0ZW5jeV9oaWdoOwogCXVpbnQxNl90ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgbWVtX2xhdGVuY3lfbG93OwogCXVpbnQzMl90ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdnJfY29uZmlnOworCXN0cnVjdCBwcm9maWxlX21vZGVfc2V0 dGluZyAgICAgICAgICAgY3VzdG9tX3Byb2ZpbGVfc2V0dGluZzsKKwlzdHJ1Y3QgcHJvZmlsZV9t b2RlX3NldHRpbmcgICAgICAgICAgIGN1cnJlbnRfcHJvZmlsZV9zZXR0aW5nOwogfTsKIAogLyog VG8gY29udmVydCB0byBROC44IGZvcm1hdCBmb3IgZmlybXdhcmUgKi8KZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L3NtdW1nci9jaV9zbXVtZ3IuYyBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvcG93ZXJwbGF5L3NtdW1nci9jaV9zbXVtZ3IuYwppbmRleCAwMWNmMzJjLi42 MWRiYmYxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9zbXVtZ3Iv Y2lfc211bWdyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvc211bWdyL2Np X3NtdW1nci5jCkBAIC00NDQsOCArNDQ0LDggQEAgc3RhdGljIGludCBjaV9wb3B1bGF0ZV9zaW5n bGVfZ3JhcGhpY19sZXZlbChzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyLAogCWxldmVsLT5FbmFibGVk Rm9yQWN0aXZpdHkgPSAwOwogCS8qIHRoaXMgbGV2ZWwgY2FuIGJlIHVzZWQgZm9yIHRocm90dGxp bmcuKi8KIAlsZXZlbC0+RW5hYmxlZEZvclRocm90dGxlID0gMTsKLQlsZXZlbC0+VXBIID0gMDsK LQlsZXZlbC0+RG93bkggPSAwOworCWxldmVsLT5VcEggPSBkYXRhLT5jdXJyZW50X3Byb2ZpbGVf c2V0dGluZy5zY2xrX3VwX2h5c3Q7CisJbGV2ZWwtPkRvd25IID0gZGF0YS0+Y3VycmVudF9wcm9m aWxlX3NldHRpbmcuc2Nsa19kb3duX2h5c3Q7CiAJbGV2ZWwtPlZvbHRhZ2VEb3duSCA9IDA7CiAJ bGV2ZWwtPlBvd2VyVGhyb3R0bGUgPSAwOwogCkBAIC00OTIsNyArNDkyLDcgQEAgc3RhdGljIGlu dCBjaV9wb3B1bGF0ZV9hbGxfZ3JhcGhpY19sZXZlbHMoc3RydWN0IHBwX2h3bWdyICpod21ncikK IAlmb3IgKGkgPSAwOyBpIDwgZHBtX3RhYmxlLT5zY2xrX3RhYmxlLmNvdW50OyBpKyspIHsKIAkJ cmVzdWx0ID0gY2lfcG9wdWxhdGVfc2luZ2xlX2dyYXBoaWNfbGV2ZWwoaHdtZ3IsCiAJCQkJZHBt X3RhYmxlLT5zY2xrX3RhYmxlLmRwbV9sZXZlbHNbaV0udmFsdWUsCi0JCQkJZGF0YS0+c2Nsa19h Y3Rpdml0eV90YXJnZXQsCisJCQkJZGF0YS0+Y3VycmVudF9wcm9maWxlX3NldHRpbmcuc2Nsa19h Y3Rpdml0eSwKIAkJCQkmbGV2ZWxzW2ldKTsKIAkJaWYgKHJlc3VsdCkKIAkJCXJldHVybiByZXN1 bHQ7CkBAIC0xMjI2LDEyICsxMjI2LDEyIEBAIHN0YXRpYyBpbnQgY2lfcG9wdWxhdGVfc2luZ2xl X21lbW9yeV9sZXZlbCgKIAogCW1lbW9yeV9sZXZlbC0+RW5hYmxlZEZvclRocm90dGxlID0gMTsK IAltZW1vcnlfbGV2ZWwtPkVuYWJsZWRGb3JBY3Rpdml0eSA9IDE7Ci0JbWVtb3J5X2xldmVsLT5V cEggPSAwOwotCW1lbW9yeV9sZXZlbC0+RG93bkggPSAxMDA7CisJbWVtb3J5X2xldmVsLT5VcEgg PSBkYXRhLT5jdXJyZW50X3Byb2ZpbGVfc2V0dGluZy5tY2xrX3VwX2h5c3Q7CisJbWVtb3J5X2xl dmVsLT5Eb3duSCA9IGRhdGEtPmN1cnJlbnRfcHJvZmlsZV9zZXR0aW5nLm1jbGtfZG93bl9oeXN0 OwogCW1lbW9yeV9sZXZlbC0+Vm9sdGFnZURvd25IID0gMDsKIAogCS8qIEluZGljYXRlcyBtYXhp bXVtIGFjdGl2aXR5IGxldmVsIGZvciB0aGlzIHBlcmZvcm1hbmNlIGxldmVsLiovCi0JbWVtb3J5 X2xldmVsLT5BY3Rpdml0eUxldmVsID0gZGF0YS0+bWNsa19hY3Rpdml0eV90YXJnZXQ7CisJbWVt b3J5X2xldmVsLT5BY3Rpdml0eUxldmVsID0gZGF0YS0+Y3VycmVudF9wcm9maWxlX3NldHRpbmcu bWNsa19hY3Rpdml0eTsKIAltZW1vcnlfbGV2ZWwtPlN0dXR0ZXJFbmFibGUgPSAwOwogCW1lbW9y eV9sZXZlbC0+U3Ryb2JlRW5hYmxlID0gMDsKIAltZW1vcnlfbGV2ZWwtPkVkY1JlYWRFbmFibGUg PSAwOwpAQCAtMTUxNSw3ICsxNTE1LDcgQEAgc3RhdGljIGludCBjaV9wb3B1bGF0ZV9zbWNfYWNw aV9sZXZlbChzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyLAogCXRhYmxlLT5NZW1vcnlBQ1BJTGV2ZWwu RG93bkggPSAxMDA7CiAJdGFibGUtPk1lbW9yeUFDUElMZXZlbC5Wb2x0YWdlRG93bkggPSAwOwog CS8qIEluZGljYXRlcyBtYXhpbXVtIGFjdGl2aXR5IGxldmVsIGZvciB0aGlzIHBlcmZvcm1hbmNl IGxldmVsLiovCi0JdGFibGUtPk1lbW9yeUFDUElMZXZlbC5BY3Rpdml0eUxldmVsID0gUFBfSE9T VF9UT19TTUNfVVMoZGF0YS0+bWNsa19hY3Rpdml0eV90YXJnZXQpOworCXRhYmxlLT5NZW1vcnlB Q1BJTGV2ZWwuQWN0aXZpdHlMZXZlbCA9IFBQX0hPU1RfVE9fU01DX1VTKGRhdGEtPmN1cnJlbnRf cHJvZmlsZV9zZXR0aW5nLm1jbGtfYWN0aXZpdHkpOwogCiAJdGFibGUtPk1lbW9yeUFDUElMZXZl bC5TdHV0dGVyRW5hYmxlID0gMDsKIAl0YWJsZS0+TWVtb3J5QUNQSUxldmVsLlN0cm9iZUVuYWJs ZSA9IDA7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9zbXVtZ3Iv ZmlqaV9zbXVtZ3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L3NtdW1nci9maWpp X3NtdW1nci5jCmluZGV4IGU1NDAzODAuLjFkMGJjNjYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9hbWQvcG93ZXJwbGF5L3NtdW1nci9maWppX3NtdW1nci5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9hbWQvcG93ZXJwbGF5L3NtdW1nci9maWppX3NtdW1nci5jCkBAIC0xMDAxLDggKzEwMDEs OCBAQCBzdGF0aWMgaW50IGZpamlfcG9wdWxhdGVfc2luZ2xlX2dyYXBoaWNfbGV2ZWwoc3RydWN0 IHBwX2h3bWdyICpod21nciwKIAlsZXZlbC0+Q2NQd3JEeW5SbTEgPSAwOwogCWxldmVsLT5FbmFi bGVkRm9yQWN0aXZpdHkgPSAwOwogCWxldmVsLT5FbmFibGVkRm9yVGhyb3R0bGUgPSAxOwotCWxl dmVsLT5VcEh5c3QgPSAxMDsKLQlsZXZlbC0+RG93bkh5c3QgPSAwOworCWxldmVsLT5VcEh5c3Qg PSBkYXRhLT5jdXJyZW50X3Byb2ZpbGVfc2V0dGluZy5zY2xrX3VwX2h5c3Q7CisJbGV2ZWwtPkRv d25IeXN0ID0gZGF0YS0+Y3VycmVudF9wcm9maWxlX3NldHRpbmcuc2Nsa19kb3duX2h5c3Q7CiAJ bGV2ZWwtPlZvbHRhZ2VEb3duSHlzdCA9IDA7CiAJbGV2ZWwtPlBvd2VyVGhyb3R0bGUgPSAwOwog CkBAIC0xMDU5LDcgKzEwNTksNyBAQCBzdGF0aWMgaW50IGZpamlfcG9wdWxhdGVfYWxsX2dyYXBo aWNfbGV2ZWxzKHN0cnVjdCBwcF9od21nciAqaHdtZ3IpCiAJZm9yIChpID0gMDsgaSA8IGRwbV90 YWJsZS0+c2Nsa190YWJsZS5jb3VudDsgaSsrKSB7CiAJCXJlc3VsdCA9IGZpamlfcG9wdWxhdGVf c2luZ2xlX2dyYXBoaWNfbGV2ZWwoaHdtZ3IsCiAJCQkJZHBtX3RhYmxlLT5zY2xrX3RhYmxlLmRw bV9sZXZlbHNbaV0udmFsdWUsCi0JCQkJZGF0YS0+c2Nsa19hY3Rpdml0eV90YXJnZXQsCisJCQkJ ZGF0YS0+Y3VycmVudF9wcm9maWxlX3NldHRpbmcuc2Nsa19hY3Rpdml0eSwKIAkJCQkmbGV2ZWxz W2ldKTsKIAkJaWYgKHJlc3VsdCkKIAkJCXJldHVybiByZXN1bHQ7CkBAIC0xMjIyLDEwICsxMjIy LDEwIEBAIHN0YXRpYyBpbnQgZmlqaV9wb3B1bGF0ZV9zaW5nbGVfbWVtb3J5X2xldmVsKHN0cnVj dCBwcF9od21nciAqaHdtZ3IsCiAKIAltZW1fbGV2ZWwtPkVuYWJsZWRGb3JUaHJvdHRsZSA9IDE7 CiAJbWVtX2xldmVsLT5FbmFibGVkRm9yQWN0aXZpdHkgPSAwOwotCW1lbV9sZXZlbC0+VXBIeXN0 ID0gMDsKLQltZW1fbGV2ZWwtPkRvd25IeXN0ID0gMTAwOworCW1lbV9sZXZlbC0+VXBIeXN0ID0g ZGF0YS0+Y3VycmVudF9wcm9maWxlX3NldHRpbmcubWNsa191cF9oeXN0OworCW1lbV9sZXZlbC0+ RG93bkh5c3QgPSBkYXRhLT5jdXJyZW50X3Byb2ZpbGVfc2V0dGluZy5tY2xrX2Rvd25faHlzdDsK IAltZW1fbGV2ZWwtPlZvbHRhZ2VEb3duSHlzdCA9IDA7Ci0JbWVtX2xldmVsLT5BY3Rpdml0eUxl dmVsID0gZGF0YS0+bWNsa19hY3Rpdml0eV90YXJnZXQ7CisJbWVtX2xldmVsLT5BY3Rpdml0eUxl dmVsID0gZGF0YS0+Y3VycmVudF9wcm9maWxlX3NldHRpbmcubWNsa19hY3Rpdml0eTsKIAltZW1f bGV2ZWwtPlN0dXR0ZXJFbmFibGUgPSBmYWxzZTsKIAogCW1lbV9sZXZlbC0+RGlzcGxheVdhdGVy bWFyayA9IFBQU01DX0RJU1BMQVlfV0FURVJNQVJLX0xPVzsKQEAgLTE0NDMsNyArMTQ0Myw3IEBA IHN0YXRpYyBpbnQgZmlqaV9wb3B1bGF0ZV9zbWNfYWNwaV9sZXZlbChzdHJ1Y3QgcHBfaHdtZ3Ig Kmh3bWdyLAogCXRhYmxlLT5NZW1vcnlBQ1BJTGV2ZWwuRG93bkh5c3QgPSAxMDA7CiAJdGFibGUt Pk1lbW9yeUFDUElMZXZlbC5Wb2x0YWdlRG93bkh5c3QgPSAwOwogCXRhYmxlLT5NZW1vcnlBQ1BJ TGV2ZWwuQWN0aXZpdHlMZXZlbCA9Ci0JCQlQUF9IT1NUX1RPX1NNQ19VUyhkYXRhLT5tY2xrX2Fj dGl2aXR5X3RhcmdldCk7CisJCQlQUF9IT1NUX1RPX1NNQ19VUyhkYXRhLT5jdXJyZW50X3Byb2Zp bGVfc2V0dGluZy5tY2xrX2FjdGl2aXR5KTsKIAogCXRhYmxlLT5NZW1vcnlBQ1BJTGV2ZWwuU3R1 dHRlckVuYWJsZSA9IGZhbHNlOwogCUNPTlZFUlRfRlJPTV9IT1NUX1RPX1NNQ19VTCh0YWJsZS0+ TWVtb3J5QUNQSUxldmVsLk1jbGtGcmVxdWVuY3kpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2FtZC9wb3dlcnBsYXkvc211bWdyL2ljZWxhbmRfc211bWdyLmMgYi9kcml2ZXJzL2dwdS9k cm0vYW1kL3Bvd2VycGxheS9zbXVtZ3IvaWNlbGFuZF9zbXVtZ3IuYwppbmRleCA1Y2Y1ODhkLi5i ZjU4YTY4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9zbXVtZ3Iv aWNlbGFuZF9zbXVtZ3IuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9zbXVt Z3IvaWNlbGFuZF9zbXVtZ3IuYwpAQCAtOTI4LDggKzkyOCw4IEBAIHN0YXRpYyBpbnQgaWNlbGFu ZF9wb3B1bGF0ZV9zaW5nbGVfZ3JhcGhpY19sZXZlbChzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyLAog CWdyYXBoaWNfbGV2ZWwtPkVuYWJsZWRGb3JBY3Rpdml0eSA9IDA7CiAJLyogdGhpcyBsZXZlbCBj YW4gYmUgdXNlZCBmb3IgdGhyb3R0bGluZy4qLwogCWdyYXBoaWNfbGV2ZWwtPkVuYWJsZWRGb3JU aHJvdHRsZSA9IDE7Ci0JZ3JhcGhpY19sZXZlbC0+VXBIeXN0ID0gMDsKLQlncmFwaGljX2xldmVs LT5Eb3duSHlzdCA9IDEwMDsKKwlncmFwaGljX2xldmVsLT5VcEh5c3QgPSBkYXRhLT5jdXJyZW50 X3Byb2ZpbGVfc2V0dGluZy5zY2xrX3VwX2h5c3Q7CisJZ3JhcGhpY19sZXZlbC0+RG93bkh5c3Qg PSBkYXRhLT5jdXJyZW50X3Byb2ZpbGVfc2V0dGluZy5zY2xrX2Rvd25faHlzdDsKIAlncmFwaGlj X2xldmVsLT5Wb2x0YWdlRG93bkh5c3QgPSAwOwogCWdyYXBoaWNfbGV2ZWwtPlBvd2VyVGhyb3R0 bGUgPSAwOwogCkBAIC05ODUsNyArOTg1LDcgQEAgc3RhdGljIGludCBpY2VsYW5kX3BvcHVsYXRl X2FsbF9ncmFwaGljX2xldmVscyhzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyKQogCWZvciAoaSA9IDA7 IGkgPCBkcG1fdGFibGUtPnNjbGtfdGFibGUuY291bnQ7IGkrKykgewogCQlyZXN1bHQgPSBpY2Vs YW5kX3BvcHVsYXRlX3NpbmdsZV9ncmFwaGljX2xldmVsKGh3bWdyLAogCQkJCQlkcG1fdGFibGUt PnNjbGtfdGFibGUuZHBtX2xldmVsc1tpXS52YWx1ZSwKLQkJCQkJZGF0YS0+c2Nsa19hY3Rpdml0 eV90YXJnZXQsCisJCQkJCWRhdGEtPmN1cnJlbnRfcHJvZmlsZV9zZXR0aW5nLnNjbGtfYWN0aXZp dHksCiAJCQkJCSYoc211X2RhdGEtPnNtY19zdGF0ZV90YWJsZS5HcmFwaGljc0xldmVsW2ldKSk7 CiAJCWlmIChyZXN1bHQgIT0gMCkKIAkJCXJldHVybiByZXN1bHQ7CkBAIC0xMjcxLDEyICsxMjcx LDEyIEBAIHN0YXRpYyBpbnQgaWNlbGFuZF9wb3B1bGF0ZV9zaW5nbGVfbWVtb3J5X2xldmVsKAog CiAJbWVtb3J5X2xldmVsLT5FbmFibGVkRm9yVGhyb3R0bGUgPSAxOwogCW1lbW9yeV9sZXZlbC0+ RW5hYmxlZEZvckFjdGl2aXR5ID0gMDsKLQltZW1vcnlfbGV2ZWwtPlVwSHlzdCA9IDA7Ci0JbWVt b3J5X2xldmVsLT5Eb3duSHlzdCA9IDEwMDsKKwltZW1vcnlfbGV2ZWwtPlVwSHlzdCA9IGRhdGEt PmN1cnJlbnRfcHJvZmlsZV9zZXR0aW5nLm1jbGtfdXBfaHlzdDsKKwltZW1vcnlfbGV2ZWwtPkRv d25IeXN0ID0gZGF0YS0+Y3VycmVudF9wcm9maWxlX3NldHRpbmcubWNsa19kb3duX2h5c3Q7CiAJ bWVtb3J5X2xldmVsLT5Wb2x0YWdlRG93bkh5c3QgPSAwOwogCiAJLyogSW5kaWNhdGVzIG1heGlt dW0gYWN0aXZpdHkgbGV2ZWwgZm9yIHRoaXMgcGVyZm9ybWFuY2UgbGV2ZWwuKi8KLQltZW1vcnlf bGV2ZWwtPkFjdGl2aXR5TGV2ZWwgPSBkYXRhLT5tY2xrX2FjdGl2aXR5X3RhcmdldDsKKwltZW1v cnlfbGV2ZWwtPkFjdGl2aXR5TGV2ZWwgPSBkYXRhLT5jdXJyZW50X3Byb2ZpbGVfc2V0dGluZy5t Y2xrX2FjdGl2aXR5OwogCW1lbW9yeV9sZXZlbC0+U3R1dHRlckVuYWJsZSA9IDA7CiAJbWVtb3J5 X2xldmVsLT5TdHJvYmVFbmFibGUgPSAwOwogCW1lbW9yeV9sZXZlbC0+RWRjUmVhZEVuYWJsZSA9 IDA7CkBAIC0xNTU3LDcgKzE1NTcsNyBAQCBzdGF0aWMgaW50IGljZWxhbmRfcG9wdWxhdGVfc21j X2FjcGlfbGV2ZWwoc3RydWN0IHBwX2h3bWdyICpod21nciwKIAl0YWJsZS0+TWVtb3J5QUNQSUxl dmVsLkRvd25IeXN0ID0gMTAwOwogCXRhYmxlLT5NZW1vcnlBQ1BJTGV2ZWwuVm9sdGFnZURvd25I eXN0ID0gMDsKIAkvKiBJbmRpY2F0ZXMgbWF4aW11bSBhY3Rpdml0eSBsZXZlbCBmb3IgdGhpcyBw ZXJmb3JtYW5jZSBsZXZlbC4qLwotCXRhYmxlLT5NZW1vcnlBQ1BJTGV2ZWwuQWN0aXZpdHlMZXZl bCA9IFBQX0hPU1RfVE9fU01DX1VTKGRhdGEtPm1jbGtfYWN0aXZpdHlfdGFyZ2V0KTsKKwl0YWJs ZS0+TWVtb3J5QUNQSUxldmVsLkFjdGl2aXR5TGV2ZWwgPSBQUF9IT1NUX1RPX1NNQ19VUyhkYXRh LT5jdXJyZW50X3Byb2ZpbGVfc2V0dGluZy5tY2xrX2FjdGl2aXR5KTsKIAogCXRhYmxlLT5NZW1v cnlBQ1BJTGV2ZWwuU3R1dHRlckVuYWJsZSA9IDA7CiAJdGFibGUtPk1lbW9yeUFDUElMZXZlbC5T dHJvYmVFbmFibGUgPSAwOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBs YXkvc211bWdyL3BvbGFyaXMxMF9zbXVtZ3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJw bGF5L3NtdW1nci9wb2xhcmlzMTBfc211bWdyLmMKaW5kZXggZjk4NTZlMS4uZDJmOGUzNCAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvc211bWdyL3BvbGFyaXMxMF9z bXVtZ3IuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9zbXVtZ3IvcG9sYXJp czEwX3NtdW1nci5jCkBAIC05NjgsOCArOTY4LDggQEAgc3RhdGljIGludCBwb2xhcmlzMTBfcG9w dWxhdGVfc2luZ2xlX2dyYXBoaWNfbGV2ZWwoc3RydWN0IHBwX2h3bWdyICpod21nciwKIAlsZXZl bC0+Q2NQd3JEeW5SbTEgPSAwOwogCWxldmVsLT5FbmFibGVkRm9yQWN0aXZpdHkgPSAwOwogCWxl dmVsLT5FbmFibGVkRm9yVGhyb3R0bGUgPSAxOwotCWxldmVsLT5VcEh5c3QgPSAxMDsKLQlsZXZl bC0+RG93bkh5c3QgPSAwOworCWxldmVsLT5VcEh5c3QgPSBkYXRhLT5jdXJyZW50X3Byb2ZpbGVf c2V0dGluZy5zY2xrX3VwX2h5c3Q7CisJbGV2ZWwtPkRvd25IeXN0ID0gZGF0YS0+Y3VycmVudF9w cm9maWxlX3NldHRpbmcuc2Nsa19kb3duX2h5c3Q7CiAJbGV2ZWwtPlZvbHRhZ2VEb3duSHlzdCA9 IDA7CiAJbGV2ZWwtPlBvd2VyVGhyb3R0bGUgPSAwOwogCWRhdGEtPmRpc3BsYXlfdGltaW5nLm1p bl9jbG9ja19pbl9zciA9IGh3bWdyLT5kaXNwbGF5X2NvbmZpZy5taW5fY29yZV9zZXRfY2xvY2tf aW5fc3I7CkBAIC0xMDMzLDcgKzEwMzMsNyBAQCBzdGF0aWMgaW50IHBvbGFyaXMxMF9wb3B1bGF0 ZV9hbGxfZ3JhcGhpY19sZXZlbHMoc3RydWN0IHBwX2h3bWdyICpod21ncikKIAogCQlyZXN1bHQg PSBwb2xhcmlzMTBfcG9wdWxhdGVfc2luZ2xlX2dyYXBoaWNfbGV2ZWwoaHdtZ3IsCiAJCQkJZHBt X3RhYmxlLT5zY2xrX3RhYmxlLmRwbV9sZXZlbHNbaV0udmFsdWUsCi0JCQkJaHdfZGF0YS0+c2Ns a19hY3Rpdml0eV90YXJnZXQsCisJCQkJaHdfZGF0YS0+Y3VycmVudF9wcm9maWxlX3NldHRpbmcu c2Nsa19hY3Rpdml0eSwKIAkJCQkmKHNtdV9kYXRhLT5zbWNfc3RhdGVfdGFibGUuR3JhcGhpY3NM ZXZlbFtpXSkpOwogCQlpZiAocmVzdWx0KQogCQkJcmV0dXJuIHJlc3VsdDsKQEAgLTExMzAsMTAg KzExMzAsMTAgQEAgc3RhdGljIGludCBwb2xhcmlzMTBfcG9wdWxhdGVfc2luZ2xlX21lbW9yeV9s ZXZlbChzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyLAogCW1lbV9sZXZlbC0+TWNsa0ZyZXF1ZW5jeSA9 IGNsb2NrOwogCW1lbV9sZXZlbC0+RW5hYmxlZEZvclRocm90dGxlID0gMTsKIAltZW1fbGV2ZWwt PkVuYWJsZWRGb3JBY3Rpdml0eSA9IDA7Ci0JbWVtX2xldmVsLT5VcEh5c3QgPSAwOwotCW1lbV9s ZXZlbC0+RG93bkh5c3QgPSAxMDA7CisJbWVtX2xldmVsLT5VcEh5c3QgPSBkYXRhLT5jdXJyZW50 X3Byb2ZpbGVfc2V0dGluZy5tY2xrX3VwX2h5c3Q7CisJbWVtX2xldmVsLT5Eb3duSHlzdCA9IGRh dGEtPmN1cnJlbnRfcHJvZmlsZV9zZXR0aW5nLm1jbGtfZG93bl9oeXN0OwogCW1lbV9sZXZlbC0+ Vm9sdGFnZURvd25IeXN0ID0gMDsKLQltZW1fbGV2ZWwtPkFjdGl2aXR5TGV2ZWwgPSBkYXRhLT5t Y2xrX2FjdGl2aXR5X3RhcmdldDsKKwltZW1fbGV2ZWwtPkFjdGl2aXR5TGV2ZWwgPSBkYXRhLT5j dXJyZW50X3Byb2ZpbGVfc2V0dGluZy5tY2xrX2FjdGl2aXR5OwogCW1lbV9sZXZlbC0+U3R1dHRl ckVuYWJsZSA9IGZhbHNlOwogCW1lbV9sZXZlbC0+RGlzcGxheVdhdGVybWFyayA9IFBQU01DX0RJ U1BMQVlfV0FURVJNQVJLX0xPVzsKIApAQCAtMTMxNCw3ICsxMzE0LDcgQEAgc3RhdGljIGludCBw b2xhcmlzMTBfcG9wdWxhdGVfc21jX2FjcGlfbGV2ZWwoc3RydWN0IHBwX2h3bWdyICpod21nciwK IAl0YWJsZS0+TWVtb3J5QUNQSUxldmVsLkRvd25IeXN0ID0gMTAwOwogCXRhYmxlLT5NZW1vcnlB Q1BJTGV2ZWwuVm9sdGFnZURvd25IeXN0ID0gMDsKIAl0YWJsZS0+TWVtb3J5QUNQSUxldmVsLkFj dGl2aXR5TGV2ZWwgPQotCQkJUFBfSE9TVF9UT19TTUNfVVMoZGF0YS0+bWNsa19hY3Rpdml0eV90 YXJnZXQpOworCQkJUFBfSE9TVF9UT19TTUNfVVMoZGF0YS0+Y3VycmVudF9wcm9maWxlX3NldHRp bmcubWNsa19hY3Rpdml0eSk7CiAKIAlDT05WRVJUX0ZST01fSE9TVF9UT19TTUNfVUwodGFibGUt Pk1lbW9yeUFDUElMZXZlbC5NY2xrRnJlcXVlbmN5KTsKIAlDT05WRVJUX0ZST01fSE9TVF9UT19T TUNfVUwodGFibGUtPk1lbW9yeUFDUElMZXZlbC5NaW5Wb2x0YWdlKTsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L3NtdW1nci90b25nYV9zbXVtZ3IuYyBiL2RyaXZl cnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L3NtdW1nci90b25nYV9zbXVtZ3IuYwppbmRleCBjZTZl NzQwLi43MDg4ODQ3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9z bXVtZ3IvdG9uZ2Ffc211bWdyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkv c211bWdyL3RvbmdhX3NtdW1nci5jCkBAIC02NDQsOCArNjQ0LDggQEAgc3RhdGljIGludCB0b25n YV9wb3B1bGF0ZV9zaW5nbGVfZ3JhcGhpY19sZXZlbChzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyLAog CWdyYXBoaWNfbGV2ZWwtPkVuYWJsZWRGb3JBY3Rpdml0eSA9IDA7CiAJLyogdGhpcyBsZXZlbCBj YW4gYmUgdXNlZCBmb3IgdGhyb3R0bGluZy4qLwogCWdyYXBoaWNfbGV2ZWwtPkVuYWJsZWRGb3JU aHJvdHRsZSA9IDE7Ci0JZ3JhcGhpY19sZXZlbC0+VXBIeXN0ID0gMDsKLQlncmFwaGljX2xldmVs LT5Eb3duSHlzdCA9IDA7CisJZ3JhcGhpY19sZXZlbC0+VXBIeXN0ID0gZGF0YS0+Y3VycmVudF9w cm9maWxlX3NldHRpbmcuc2Nsa191cF9oeXN0OworCWdyYXBoaWNfbGV2ZWwtPkRvd25IeXN0ID0g ZGF0YS0+Y3VycmVudF9wcm9maWxlX3NldHRpbmcuc2Nsa19kb3duX2h5c3Q7CiAJZ3JhcGhpY19s ZXZlbC0+Vm9sdGFnZURvd25IeXN0ID0gMDsKIAlncmFwaGljX2xldmVsLT5Qb3dlclRocm90dGxl ID0gMDsKIApAQCAtNzA0LDcgKzcwNCw3IEBAIHN0YXRpYyBpbnQgdG9uZ2FfcG9wdWxhdGVfYWxs X2dyYXBoaWNfbGV2ZWxzKHN0cnVjdCBwcF9od21nciAqaHdtZ3IpCiAJZm9yIChpID0gMDsgaSA8 IGRwbV90YWJsZS0+c2Nsa190YWJsZS5jb3VudDsgaSsrKSB7CiAJCXJlc3VsdCA9IHRvbmdhX3Bv cHVsYXRlX3NpbmdsZV9ncmFwaGljX2xldmVsKGh3bWdyLAogCQkJCQlkcG1fdGFibGUtPnNjbGtf dGFibGUuZHBtX2xldmVsc1tpXS52YWx1ZSwKLQkJCQkJZGF0YS0+c2Nsa19hY3Rpdml0eV90YXJn ZXQsCisJCQkJCWRhdGEtPmN1cnJlbnRfcHJvZmlsZV9zZXR0aW5nLnNjbGtfYWN0aXZpdHksCiAJ CQkJCSYoc211X2RhdGEtPnNtY19zdGF0ZV90YWJsZS5HcmFwaGljc0xldmVsW2ldKSk7CiAJCWlm IChyZXN1bHQgIT0gMCkKIAkJCXJldHVybiByZXN1bHQ7CkBAIC05OTQsMTIgKzk5NCwxMiBAQCBz dGF0aWMgaW50IHRvbmdhX3BvcHVsYXRlX3NpbmdsZV9tZW1vcnlfbGV2ZWwoCiAKIAltZW1vcnlf bGV2ZWwtPkVuYWJsZWRGb3JUaHJvdHRsZSA9IDE7CiAJbWVtb3J5X2xldmVsLT5FbmFibGVkRm9y QWN0aXZpdHkgPSAwOwotCW1lbW9yeV9sZXZlbC0+VXBIeXN0ID0gMDsKLQltZW1vcnlfbGV2ZWwt PkRvd25IeXN0ID0gMTAwOworCW1lbW9yeV9sZXZlbC0+VXBIeXN0ID0gZGF0YS0+Y3VycmVudF9w cm9maWxlX3NldHRpbmcubWNsa191cF9oeXN0OworCW1lbW9yeV9sZXZlbC0+RG93bkh5c3QgPSBk YXRhLT5jdXJyZW50X3Byb2ZpbGVfc2V0dGluZy5tY2xrX2Rvd25faHlzdDsKIAltZW1vcnlfbGV2 ZWwtPlZvbHRhZ2VEb3duSHlzdCA9IDA7CiAKIAkvKiBJbmRpY2F0ZXMgbWF4aW11bSBhY3Rpdml0 eSBsZXZlbCBmb3IgdGhpcyBwZXJmb3JtYW5jZSBsZXZlbC4qLwotCW1lbW9yeV9sZXZlbC0+QWN0 aXZpdHlMZXZlbCA9IGRhdGEtPm1jbGtfYWN0aXZpdHlfdGFyZ2V0OworCW1lbW9yeV9sZXZlbC0+ QWN0aXZpdHlMZXZlbCA9IGRhdGEtPmN1cnJlbnRfcHJvZmlsZV9zZXR0aW5nLm1jbGtfYWN0aXZp dHk7CiAJbWVtb3J5X2xldmVsLT5TdHV0dGVyRW5hYmxlID0gMDsKIAltZW1vcnlfbGV2ZWwtPlN0 cm9iZUVuYWJsZSA9IDA7CiAJbWVtb3J5X2xldmVsLT5FZGNSZWFkRW5hYmxlID0gMDsKQEAgLTEy ODksNyArMTI4OSw3IEBAIHN0YXRpYyBpbnQgdG9uZ2FfcG9wdWxhdGVfc21jX2FjcGlfbGV2ZWwo c3RydWN0IHBwX2h3bWdyICpod21nciwKIAl0YWJsZS0+TWVtb3J5QUNQSUxldmVsLlZvbHRhZ2VE b3duSHlzdCA9IDA7CiAJLyogSW5kaWNhdGVzIG1heGltdW0gYWN0aXZpdHkgbGV2ZWwgZm9yIHRo aXMgcGVyZm9ybWFuY2UgbGV2ZWwuKi8KIAl0YWJsZS0+TWVtb3J5QUNQSUxldmVsLkFjdGl2aXR5 TGV2ZWwgPQotCQkJUFBfSE9TVF9UT19TTUNfVVMoZGF0YS0+bWNsa19hY3Rpdml0eV90YXJnZXQp OworCQkJUFBfSE9TVF9UT19TTUNfVVMoZGF0YS0+Y3VycmVudF9wcm9maWxlX3NldHRpbmcubWNs a19hY3Rpdml0eSk7CiAKIAl0YWJsZS0+TWVtb3J5QUNQSUxldmVsLlN0dXR0ZXJFbmFibGUgPSAw OwogCXRhYmxlLT5NZW1vcnlBQ1BJTGV2ZWwuU3Ryb2JlRW5hYmxlID0gMDsKLS0gCjEuOS4xCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4IG1h aWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK