From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Deucher Subject: [PATCH 07/11] drm/amdgpu: Add Fiji support to the GFX 8.0 IP module (v2) Date: Mon, 3 Aug 2015 13:58:08 -0400 Message-ID: <1438624692-30932-8-git-send-email-alexander.deucher@amd.com> References: <1438624692-30932-1-git-send-email-alexander.deucher@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-yk0-f179.google.com (mail-yk0-f179.google.com [209.85.160.179]) by gabe.freedesktop.org (Postfix) with ESMTPS id D72216E765 for ; Mon, 3 Aug 2015 10:58:31 -0700 (PDT) Received: by ykoo205 with SMTP id o205so26974493yko.0 for ; Mon, 03 Aug 2015 10:58:31 -0700 (PDT) In-Reply-To: <1438624692-30932-1-git-send-email-alexander.deucher@amd.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 Cc: Alex Deucher , David Zhang List-Id: dri-devel@lists.freedesktop.org djI6IGFnZDVmOiBmaXggdGhlIHJiIHNldHVwLgoKU2lnbmVkLW9mZi1ieTogRGF2aWQgWmhhbmcg PGRhdmlkMS56aGFuZ0BhbWQuY29tPgpSZXZpZXdlZC1ieTogQWxleCBEZXVjaGVyIDxhbGV4YW5k ZXIuZGV1Y2hlckBhbWQuY29tPgpSZXZpZXdlZC1ieTogSmFtbXkgWmhvdSA8SmFtbXkuWmhvdUBh bWQuY29tPgpSZXZpZXdlZC1ieTogQ2hyaXN0aWFuIEs/bmlnIDxjaHJpc3RpYW4ua29lbmlnQGFt ZC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4X3Y4XzAuYyB8IDEwOSAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS92aS5jICAgICAgIHwgICA3ICsrKwogMiBmaWxlcyBjaGFuZ2VkLCAxMTUgaW5zZXJ0aW9u cygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2dmeF92OF8wLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nZnhfdjhfMC5jCmlu ZGV4IGQyOWRjOGMuLjBhZTRmNDcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2dmeF92OF8wLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4X3Y4XzAu YwpAQCAtODcsNiArODcsMTMgQEAgTU9EVUxFX0ZJUk1XQVJFKCJhbWRncHUvdG9wYXpfbWVjLmJp biIpOwogTU9EVUxFX0ZJUk1XQVJFKCJhbWRncHUvdG9wYXpfbWVjMi5iaW4iKTsKIE1PRFVMRV9G SVJNV0FSRSgiYW1kZ3B1L3RvcGF6X3JsYy5iaW4iKTsKIAorTU9EVUxFX0ZJUk1XQVJFKCJhbWRn cHUvZmlqaV9jZS5iaW4iKTsKK01PRFVMRV9GSVJNV0FSRSgiYW1kZ3B1L2ZpamlfcGZwLmJpbiIp OworTU9EVUxFX0ZJUk1XQVJFKCJhbWRncHUvZmlqaV9tZS5iaW4iKTsKK01PRFVMRV9GSVJNV0FS RSgiYW1kZ3B1L2ZpamlfbWVjLmJpbiIpOworTU9EVUxFX0ZJUk1XQVJFKCJhbWRncHUvZmlqaV9t ZWMyLmJpbiIpOworTU9EVUxFX0ZJUk1XQVJFKCJhbWRncHUvZmlqaV9ybGMuYmluIik7CisKIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgYW1kZ3B1X2dkc19yZWdfb2Zmc2V0IGFtZGdwdV9nZHNfcmVnX29m ZnNldFtdID0KIHsKIAl7bW1HRFNfVk1JRDBfQkFTRSwgbW1HRFNfVk1JRDBfU0laRSwgbW1HRFNf R1dTX1ZNSUQwLCBtbUdEU19PQV9WTUlEMH0sCkBAIC0yMTcsNiArMjI0LDcxIEBAIHN0YXRpYyBj b25zdCB1MzIgdG9uZ2FfbWdjZ19jZ2NnX2luaXRbXSA9CiAJbW1DUF9NRU1fU0xQX0NOVEwsIDB4 MDAwMDAwMDEsIDB4MDAwMDAwMDEsCiB9OwogCitzdGF0aWMgY29uc3QgdTMyIGZpamlfZ29sZGVu X2NvbW1vbl9hbGxbXSA9Cit7CisJbW1HUkJNX0dGWF9JTkRFWCwgMHhmZmZmZmZmZiwgMHhlMDAw MDAwMCwKKwltbVBBX1NDX1JBU1RFUl9DT05GSUcsIDB4ZmZmZmZmZmYsIDB4M2EwMDE2MWEsCisJ bW1QQV9TQ19SQVNURVJfQ09ORklHXzEsIDB4ZmZmZmZmZmYsIDB4MDAwMDAwMmUsCisJbW1HQl9B RERSX0NPTkZJRywgMHhmZmZmZmZmZiwgMHgxMjAxMTAwMywKKwltbVNQSV9SRVNPVVJDRV9SRVNF UlZFX0NVXzAsIDB4ZmZmZmZmZmYsIDB4MDAwMDA4MDAsCisJbW1TUElfUkVTT1VSQ0VfUkVTRVJW RV9DVV8xLCAweGZmZmZmZmZmLCAweDAwMDAwODAwLAorCW1tU1BJX1JFU09VUkNFX1JFU0VSVkVf RU5fQ1VfMCwgMHhmZmZmZmZmZiwgMHgwMDAwN0ZCRiwKKwltbVNQSV9SRVNPVVJDRV9SRVNFUlZF X0VOX0NVXzEsIDB4ZmZmZmZmZmYsIDB4MDAwMDdGQUYKK307CisKK3N0YXRpYyBjb25zdCB1MzIg Z29sZGVuX3NldHRpbmdzX2ZpamlfYTEwW10gPQoreworCW1tQ0JfSFdfQ09OVFJPTF8zLCAweDAw MDAwMWZmLCAweDAwMDAwMDQwLAorCW1tREJfREVCVUcyLCAweGYwMGZmZmZmLCAweDAwMDAwNDAw LAorCW1tUEFfU0NfRU5IQU5DRSwgMHhmZmZmZmZmZiwgMHgyMDAwMDAwMSwKKwltbVBBX1NDX0ZJ Rk9fREVQVEhfQ05UTCwgMHgwMDAwMDNmZiwgMHgwMDAwMDEwMCwKKwltbVBBX1NDX0xJTkVfU1RJ UFBMRV9TVEFURSwgMHgwMDAwZmYwZiwgMHgwMDAwMDAwMCwKKwltbVRBX0NOVExfQVVYLCAweDAw MGYwMDBmLCAweDAwMGIwMDAwLAorCW1tVENDX0NUUkwsIDB4MDAxMDAwMDAsIDB4ZjMwZmZmN2Ys CisJbW1UQ1BfQUREUl9DT05GSUcsIDB4MDAwMDAzZmYsIDB4MDAwMDAwZmYsCisJbW1UQ1BfQ0hB Tl9TVEVFUl9ISSwgMHhmZmZmZmZmZiwgMHg3ZDZjZjVlNCwKKwltbVRDUF9DSEFOX1NURUVSX0xP LCAweGZmZmZmZmZmLCAweDM5MjhiMWEwLAorfTsKKworc3RhdGljIGNvbnN0IHUzMiBmaWppX21n Y2dfY2djZ19pbml0W10gPQoreworCW1tUkxDX0NHVFRfTUdDR19PVkVSUklERSwgMHhmZmZmZmZm ZiwgMHhmZmZmZmZjMCwKKwltbUdSQk1fR0ZYX0lOREVYLCAweGZmZmZmZmZmLCAweGUwMDAwMDAw LAorCW1tQ0JfQ0dUVF9TQ0xLX0NUUkwsIDB4ZmZmZmZmZmYsIDB4MDAwMDAxMDAsCisJbW1DR1RU X0JDSV9DTEtfQ1RSTCwgMHhmZmZmZmZmZiwgMHgwMDAwMDEwMCwKKwltbUNHVFRfQ1BfQ0xLX0NU UkwsIDB4ZmZmZmZmZmYsIDB4MDAwMDAxMDAsCisJbW1DR1RUX0NQQ19DTEtfQ1RSTCwgMHhmZmZm ZmZmZiwgMHgwMDAwMDEwMCwKKwltbUNHVFRfQ1BGX0NMS19DVFJMLCAweGZmZmZmZmZmLCAweDQw MDAwMTAwLAorCW1tQ0dUVF9HRFNfQ0xLX0NUUkwsIDB4ZmZmZmZmZmYsIDB4MDAwMDAxMDAsCisJ bW1DR1RUX0lBX0NMS19DVFJMLCAweGZmZmZmZmZmLCAweDA2MDAwMTAwLAorCW1tQ0dUVF9QQV9D TEtfQ1RSTCwgMHhmZmZmZmZmZiwgMHgwMDAwMDEwMCwKKwltbUNHVFRfV0RfQ0xLX0NUUkwsIDB4 ZmZmZmZmZmYsIDB4MDYwMDAxMDAsCisJbW1DR1RUX1BDX0NMS19DVFJMLCAweGZmZmZmZmZmLCAw eDAwMDAwMTAwLAorCW1tQ0dUVF9STENfQ0xLX0NUUkwsIDB4ZmZmZmZmZmYsIDB4MDAwMDAxMDAs CisJbW1DR1RUX1NDX0NMS19DVFJMLCAweGZmZmZmZmZmLCAweDAwMDAwMTAwLAorCW1tQ0dUVF9T UElfQ0xLX0NUUkwsIDB4ZmZmZmZmZmYsIDB4MDAwMDAxMDAsCisJbW1DR1RUX1NRX0NMS19DVFJM LCAweGZmZmZmZmZmLCAweDAwMDAwMTAwLAorCW1tQ0dUVF9TUUdfQ0xLX0NUUkwsIDB4ZmZmZmZm ZmYsIDB4MDAwMDAxMDAsCisJbW1DR1RUX1NYX0NMS19DVFJMMCwgMHhmZmZmZmZmZiwgMHgwMDAw MDEwMCwKKwltbUNHVFRfU1hfQ0xLX0NUUkwxLCAweGZmZmZmZmZmLCAweDAwMDAwMTAwLAorCW1t Q0dUVF9TWF9DTEtfQ1RSTDIsIDB4ZmZmZmZmZmYsIDB4MDAwMDAxMDAsCisJbW1DR1RUX1NYX0NM S19DVFJMMywgMHhmZmZmZmZmZiwgMHgwMDAwMDEwMCwKKwltbUNHVFRfU1hfQ0xLX0NUUkw0LCAw eGZmZmZmZmZmLCAweDAwMDAwMTAwLAorCW1tQ0dUVF9UQ0lfQ0xLX0NUUkwsIDB4ZmZmZmZmZmYs IDB4MDAwMDAxMDAsCisJbW1DR1RUX1RDUF9DTEtfQ1RSTCwgMHhmZmZmZmZmZiwgMHgwMDAwMDEw MCwKKwltbUNHVFRfVkdUX0NMS19DVFJMLCAweGZmZmZmZmZmLCAweDA2MDAwMTAwLAorCW1tREJf Q0dUVF9DTEtfQ1RSTF8wLCAweGZmZmZmZmZmLCAweDAwMDAwMTAwLAorCW1tVEFfQ0dUVF9DVFJM LCAweGZmZmZmZmZmLCAweDAwMDAwMTAwLAorCW1tVENBX0NHVFRfU0NMS19DVFJMLCAweGZmZmZm ZmZmLCAweDAwMDAwMTAwLAorCW1tVENDX0NHVFRfU0NMS19DVFJMLCAweGZmZmZmZmZmLCAweDAw MDAwMTAwLAorCW1tVERfQ0dUVF9DVFJMLCAweGZmZmZmZmZmLCAweDAwMDAwMTAwLAorCW1tR1JC TV9HRlhfSU5ERVgsIDB4ZmZmZmZmZmYsIDB4ZTAwMDAwMDAsCisJbW1DR1RTX1NNX0NUUkxfUkVH LCAweGZmZmZmZmZmLCAweDk2ZTAwMjAwLAorCW1tQ1BfUkJfV1BUUl9QT0xMX0NOVEwsIDB4ZmZm ZmZmZmYsIDB4MDA5MDAxMDAsCisJbW1STENfQ0dDR19DR0xTX0NUUkwsIDB4ZmZmZmZmZmYsIDB4 MDAyMDAwM2MsCisJbW1DUF9NRU1fU0xQX0NOVEwsIDB4MDAwMDAwMDEsIDB4MDAwMDAwMDEsCit9 OworCiBzdGF0aWMgY29uc3QgdTMyIGdvbGRlbl9zZXR0aW5nc19pY2VsYW5kX2ExMVtdID0KIHsK IAltbUNCX0hXX0NPTlRST0xfMywgMHgwMDAwMDA0MCwgMHgwMDAwMDA0MCwKQEAgLTQzOSw2ICs1 MTEsMTggQEAgc3RhdGljIHZvaWQgZ2Z4X3Y4XzBfaW5pdF9nb2xkZW5fcmVnaXN0ZXJzKHN0cnVj dCBhbWRncHVfZGV2aWNlICphZGV2KQogCQkJCQkJIGljZWxhbmRfZ29sZGVuX2NvbW1vbl9hbGws CiAJCQkJCQkgKGNvbnN0IHUzMilBUlJBWV9TSVpFKGljZWxhbmRfZ29sZGVuX2NvbW1vbl9hbGwp KTsKIAkJYnJlYWs7CisJY2FzZSBDSElQX0ZJSkk6CisJCWFtZGdwdV9wcm9ncmFtX3JlZ2lzdGVy X3NlcXVlbmNlKGFkZXYsCisJCQkJCQkgZmlqaV9tZ2NnX2NnY2dfaW5pdCwKKwkJCQkJCSAoY29u c3QgdTMyKUFSUkFZX1NJWkUoZmlqaV9tZ2NnX2NnY2dfaW5pdCkpOworCQlhbWRncHVfcHJvZ3Jh bV9yZWdpc3Rlcl9zZXF1ZW5jZShhZGV2LAorCQkJCQkJIGdvbGRlbl9zZXR0aW5nc19maWppX2Ex MCwKKwkJCQkJCSAoY29uc3QgdTMyKUFSUkFZX1NJWkUoZ29sZGVuX3NldHRpbmdzX2ZpamlfYTEw KSk7CisJCWFtZGdwdV9wcm9ncmFtX3JlZ2lzdGVyX3NlcXVlbmNlKGFkZXYsCisJCQkJCQkgZmlq aV9nb2xkZW5fY29tbW9uX2FsbCwKKwkJCQkJCSAoY29uc3QgdTMyKUFSUkFZX1NJWkUoZmlqaV9n b2xkZW5fY29tbW9uX2FsbCkpOworCQlicmVhazsKKwogCWNhc2UgQ0hJUF9UT05HQToKIAkJYW1k Z3B1X3Byb2dyYW1fcmVnaXN0ZXJfc2VxdWVuY2UoYWRldiwKIAkJCQkJCSB0b25nYV9tZ2NnX2Nn Y2dfaW5pdCwKQEAgLTU5OSw2ICs2ODMsOSBAQCBzdGF0aWMgaW50IGdmeF92OF8wX2luaXRfbWlj cm9jb2RlKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQogCWNhc2UgQ0hJUF9DQVJSSVpPOgog CQljaGlwX25hbWUgPSAiY2Fycml6byI7CiAJCWJyZWFrOworCWNhc2UgQ0hJUF9GSUpJOgorCQlj aGlwX25hbWUgPSAiZmlqaSI7CisJCWJyZWFrOwogCWRlZmF1bHQ6CiAJCUJVRygpOwogCX0KQEAg LTEyMTMsNiArMTMwMCw3IEBAIHN0YXRpYyB2b2lkIGdmeF92OF8wX3RpbGluZ19tb2RlX3RhYmxl X2luaXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCiAJCQlhZGV2LT5nZnguY29uZmlnLm1h Y3JvdGlsZV9tb2RlX2FycmF5W3JlZ19vZmZzZXRdID0gZ2JfdGlsZV9tb2RlbjsKIAkJCVdSRUcz MihtbUdCX01BQ1JPVElMRV9NT0RFMCArIHJlZ19vZmZzZXQsIGdiX3RpbGVfbW9kZW4pOwogCQl9 CisJY2FzZSBDSElQX0ZJSkk6CiAJY2FzZSBDSElQX1RPTkdBOgogCQlmb3IgKHJlZ19vZmZzZXQg PSAwOyByZWdfb2Zmc2V0IDwgbnVtX3RpbGVfbW9kZV9zdGF0ZXM7IHJlZ19vZmZzZXQrKykgewog CQkJc3dpdGNoIChyZWdfb2Zmc2V0KSB7CkBAIC0xOTYxLDYgKzIwNDksMjMgQEAgc3RhdGljIHZv aWQgZ2Z4X3Y4XzBfZ3B1X2luaXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCiAJCWFkZXYt PmdmeC5jb25maWcuc2NfZWFybHl6X3RpbGVfZmlmb19zaXplID0gMHgxMzA7CiAJCWdiX2FkZHJf Y29uZmlnID0gVE9QQVpfR0JfQUREUl9DT05GSUdfR09MREVOOwogCQlicmVhazsKKwljYXNlIENI SVBfRklKSToKKwkJYWRldi0+Z2Z4LmNvbmZpZy5tYXhfc2hhZGVyX2VuZ2luZXMgPSA0OworCQlh ZGV2LT5nZnguY29uZmlnLm1heF90aWxlX3BpcGVzID0gMTY7CisJCWFkZXYtPmdmeC5jb25maWcu bWF4X2N1X3Blcl9zaCA9IDE2OworCQlhZGV2LT5nZnguY29uZmlnLm1heF9zaF9wZXJfc2UgPSAx OworCQlhZGV2LT5nZnguY29uZmlnLm1heF9iYWNrZW5kc19wZXJfc2UgPSA0OworCQlhZGV2LT5n ZnguY29uZmlnLm1heF90ZXh0dXJlX2NoYW5uZWxfY2FjaGVzID0gODsKKwkJYWRldi0+Z2Z4LmNv bmZpZy5tYXhfZ3BycyA9IDI1NjsKKwkJYWRldi0+Z2Z4LmNvbmZpZy5tYXhfZ3NfdGhyZWFkcyA9 IDMyOworCQlhZGV2LT5nZnguY29uZmlnLm1heF9od19jb250ZXh0cyA9IDg7CisKKwkJYWRldi0+ Z2Z4LmNvbmZpZy5zY19wcmltX2ZpZm9fc2l6ZV9mcm9udGVuZCA9IDB4MjA7CisJCWFkZXYtPmdm eC5jb25maWcuc2NfcHJpbV9maWZvX3NpemVfYmFja2VuZCA9IDB4MTAwOworCQlhZGV2LT5nZngu Y29uZmlnLnNjX2hpel90aWxlX2ZpZm9fc2l6ZSA9IDB4MzA7CisJCWFkZXYtPmdmeC5jb25maWcu c2NfZWFybHl6X3RpbGVfZmlmb19zaXplID0gMHgxMzA7CisJCWdiX2FkZHJfY29uZmlnID0gVE9O R0FfR0JfQUREUl9DT05GSUdfR09MREVOOworCQlicmVhazsKIAljYXNlIENISVBfVE9OR0E6CiAJ CWFkZXYtPmdmeC5jb25maWcubWF4X3NoYWRlcl9lbmdpbmVzID0gNDsKIAkJYWRldi0+Z2Z4LmNv bmZpZy5tYXhfdGlsZV9waXBlcyA9IDg7CkBAIC0yNDc0LDYgKzI1NzksNyBAQCBzdGF0aWMgaW50 IGdmeF92OF8wX2NwX2dmeF9zdGFydChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKIAlhbWRn cHVfcmluZ193cml0ZShyaW5nLCBtbVBBX1NDX1JBU1RFUl9DT05GSUcgLSBQQUNLRVQzX1NFVF9D T05URVhUX1JFR19TVEFSVCk7CiAJc3dpdGNoIChhZGV2LT5hc2ljX3R5cGUpIHsKIAljYXNlIENI SVBfVE9OR0E6CisJY2FzZSBDSElQX0ZJSkk6CiAJCWFtZGdwdV9yaW5nX3dyaXRlKHJpbmcsIDB4 MTYwMDAwMTIpOwogCQlhbWRncHVfcmluZ193cml0ZShyaW5nLCAweDAwMDAwMDJBKTsKIAkJYnJl YWs7CkBAIC0zODYxLDcgKzM5NjcsOCBAQCBzdGF0aWMgYm9vbCBnZnhfdjhfMF9yaW5nX2VtaXRf c2VtYXBob3JlKHN0cnVjdCBhbWRncHVfcmluZyAqcmluZywKIAl1bnNpZ25lZCBzZWwgPSBlbWl0 X3dhaXQgPyBQQUNLRVQzX1NFTV9TRUxfV0FJVCA6IFBBQ0tFVDNfU0VNX1NFTF9TSUdOQUw7CiAK IAlpZiAocmluZy0+YWRldi0+YXNpY190eXBlID09IENISVBfVE9QQVogfHwKLQkgICAgcmluZy0+ YWRldi0+YXNpY190eXBlID09IENISVBfVE9OR0EpCisJICAgIHJpbmctPmFkZXYtPmFzaWNfdHlw ZSA9PSBDSElQX1RPTkdBIHx8CisJICAgIHJpbmctPmFkZXYtPmFzaWNfdHlwZSA9PSBDSElQX0ZJ SkkpCiAJCS8qIHdlIGdvdCBhIGh3IHNlbWFwaG9yZSBidWcgaW4gVkkgVE9OR0EsIHJldHVybiBm YWxzZSB0byBzd2l0Y2ggYmFjayB0byBzdyBmZW5jZSB3YWl0ICovCiAJCXJldHVybiBmYWxzZTsK IAllbHNlIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3ZpLmMgYi9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS92aS5jCmluZGV4IDI1NTBlY2YuLmEwYmFiYjQgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3ZpLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvdmkuYwpAQCAtMTIwNiw2ICsxMjA2LDEzIEBAIHN0YXRpYyBjb25z dCBzdHJ1Y3QgYW1kZ3B1X2lwX2Jsb2NrX3ZlcnNpb24gZmlqaV9pcF9ibG9ja3NbXSA9CiAJCS5y ZXYgPSAwLAogCQkuZnVuY3MgPSAmZGNlX3YxMF8wX2lwX2Z1bmNzLAogCX0sCisJeworCQkudHlw ZSA9IEFNRF9JUF9CTE9DS19UWVBFX0dGWCwKKwkJLm1ham9yID0gOCwKKwkJLm1pbm9yID0gMCwK KwkJLnJldiA9IDAsCisJCS5mdW5jcyA9ICZnZnhfdjhfMF9pcF9mdW5jcywKKwl9LAogfTsKIAog c3RhdGljIGNvbnN0IHN0cnVjdCBhbWRncHVfaXBfYmxvY2tfdmVyc2lvbiBjel9pcF9ibG9ja3Nb XSA9Ci0tIAoxLjguMy4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1k ZXZlbAo=