From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 04/20] drm/i915: Always try to reset the GPU on takeover Date: Wed, 31 Oct 2018 09:05:53 +0000 Message-ID: <20181031090609.16324-4-chris@chris-wilson.co.uk> References: <20181031090609.16324-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from fireflyinternet.com (mail.fireflyinternet.com [109.228.58.192]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6D26A6E241 for ; Wed, 31 Oct 2018 09:06:22 +0000 (UTC) In-Reply-To: <20181031090609.16324-1-chris@chris-wilson.co.uk> 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 List-Id: intel-gfx@lists.freedesktop.org V2hlbiB3ZSBmaXJzdCBpbnRyb2R1Y2VkIHRoZSByZXNldCB0byBzYW5pdGl6ZSB0aGUgR1BVIG9u IHRha2luZyBvdmVyCmZyb20gdGhlIEJJT1MgYW5kIGJlZm9yZSByZXR1cm5pbmcgY29udHJvbCB0 byB0aGlyZCBwYXJ0aWVzICh0aGUgQklPUyEpLAp3ZSByZXN0cmljdGVkIGl0IHRvIG9ubHkgc3lz dGVtcyB1dGlsaXppbmcgSFcgY29udGV4dHMgYXMgd2Ugd2VyZQp1bmNlcnRhaW4gb2YgaG93IHN0 YWJsZSBvdXIgcmVzZXQgbWVjaGFuaXNtIHRydWx5IHdhcy4gV2Ugbm93IGhhdmUKcmVhc29uYWJs ZSBjb3ZlcmFnZSBhY3Jvc3MgYWxsIG1hY2hpbmVzIHRoYXQgZXhwb3NlIGEgR1BVIHJlc2V0IG1l dGhvZCwKYW5kIHNvIHdlIHNob3VsZCBiZSBzYWZlIHRvIHNhbml0aXplIHRoZSBHUFUgc3RhdGUg ZXZlcnl3aGVyZS4KCnYyOiBXZSBfaGF2ZV8gdG8gc2tpcCB0aGUgcmVzZXQgaWYgaXQgd291bGQg Y2xvYmJlciB0aGUgZGlzcGxheS4KClNpZ25lZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNA Y2hyaXMtd2lsc29uLmNvLnVrPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMg ICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgICAgICAg ICAgIHwgMTEgKystLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGNpLmMgICAg ICAgICAgIHwgIDUgKysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RldmljZV9pbmZv LmggIHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jICAgICAgfCAg NCArKy0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfY3MuYyAgICB8IDE0ICsr KysrKysrKysrKystCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmggICB8 ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW0uYyB8ICAyICst CiA4IGZpbGVzIGNoYW5nZWQsIDI2IGluc2VydGlvbnMoKyksIDE1IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5jCmluZGV4IDE5OGQ2MjVmMjg3MS4uZmVhM2Q0NzFmYTRmIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmMKQEAgLTIxNjMsNyArMjE2Myw3IEBAIHN0YXRpYyBpbnQgaTkx NV9kcm1fcmVzdW1lX2Vhcmx5KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAKIAlpbnRlbF9wb3dl cl9kb21haW5zX3Jlc3VtZShkZXZfcHJpdik7CiAKLQlpbnRlbF9lbmdpbmVzX3Nhbml0aXplKGRl dl9wcml2KTsKKwlpbnRlbF9lbmdpbmVzX3Nhbml0aXplKGRldl9wcml2LCB0cnVlKTsKIAogCWVu YWJsZV9ycG1fd2FrZXJlZl9hc3NlcnRzKGRldl9wcml2KTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt LmMKaW5kZXggOWE4YWY5NDU0YTUzLi44ZWEyNTNkY2ZjZjIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW0uYwpAQCAtMzQzNyw4ICszNDM3LDcgQEAgYm9vbCBpOTE1X2dlbV91bnNldF93ZWRnZWQoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCiAJaTkxNV9yZXRpcmVfcmVxdWVzdHMoaTkxNSk7 CiAJR0VNX0JVR19PTihpOTE1LT5ndC5hY3RpdmVfcmVxdWVzdHMpOwogCi0JaWYgKCFpbnRlbF9n cHVfcmVzZXQoaTkxNSwgQUxMX0VOR0lORVMpKQotCQlpbnRlbF9lbmdpbmVzX3Nhbml0aXplKGk5 MTUpOworCWludGVsX2VuZ2luZXNfc2FuaXRpemUoaTkxNSwgZmFsc2UpOwogCiAJLyoKIAkgKiBV bmRvIG5vcF9zdWJtaXRfcmVxdWVzdC4gV2UgcHJldmVudCBhbGwgbmV3IGk5MTUgcmVxdWVzdHMg ZnJvbQpAQCAtNTAzMCw4ICs1MDI5LDYgQEAgdm9pZCBfX2k5MTVfZ2VtX29iamVjdF9yZWxlYXNl X3VubGVzc19hY3RpdmUoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKIAogdm9pZCBp OTE1X2dlbV9zYW5pdGl6ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIHsKLQlpbnQg ZXJyOwotCiAJR0VNX1RSQUNFKCJcbiIpOwogCiAJbXV0ZXhfbG9jaygmaTkxNS0+ZHJtLnN0cnVj dF9tdXRleCk7CkBAIC01MDU2LDExICs1MDUzLDcgQEAgdm9pZCBpOTE1X2dlbV9zYW5pdGl6ZShz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIAkgKiBpdCBtYXkgaW1wYWN0IHRoZSBkaXNw bGF5IGFuZCB3ZSBhcmUgdW5jZXJ0YWluIGFib3V0IHRoZSBzdGFiaWxpdHkKIAkgKiBvZiB0aGUg cmVzZXQsIHNvIHRoaXMgY291bGQgYmUgYXBwbGllZCB0byBldmVuIGVhcmxpZXIgZ2VuLgogCSAq LwotCWVyciA9IC1FTk9ERVY7Ci0JaWYgKElOVEVMX0dFTihpOTE1KSA+PSA1ICYmIGludGVsX2hh c19ncHVfcmVzZXQoaTkxNSkpCi0JCWVyciA9IFdBUk5fT04oaW50ZWxfZ3B1X3Jlc2V0KGk5MTUs IEFMTF9FTkdJTkVTKSk7Ci0JaWYgKCFlcnIpCi0JCWludGVsX2VuZ2luZXNfc2FuaXRpemUoaTkx NSk7CisJaW50ZWxfZW5naW5lc19zYW5pdGl6ZShpOTE1LCBmYWxzZSk7CiAKIAlpbnRlbF91bmNv cmVfZm9yY2V3YWtlX3B1dChpOTE1LCBGT1JDRVdBS0VfQUxMKTsKIAlpbnRlbF9ydW50aW1lX3Bt X3B1dChpOTE1KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGNpLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BjaS5jCmluZGV4IDQ0ZTc0NTkyMWFjMS4uZTQz NDQ5ZWZiYjMxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BjaS5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGNpLmMKQEAgLTY5LDYgKzY5LDcgQEAKIAlH RU4oMiksIFwKIAkubnVtX3BpcGVzID0gMSwgXAogCS5oYXNfb3ZlcmxheSA9IDEsIC5vdmVybGF5 X25lZWRzX3BoeXNpY2FsID0gMSwgXAorCS5ncHVfcmVzZXRfY2xvYmJlcnNfZGlzcGxheSA9IHRy dWUsIFwKIAkuaGFzX2dtY2hfZGlzcGxheSA9IDEsIFwKIAkuaHdzX25lZWRzX3BoeXNpY2FsID0g MSwgXAogCS51bmZlbmNlZF9uZWVkc19hbGlnbm1lbnQgPSAxLCBcCkBAIC0xMDksNiArMTEwLDcg QEAgc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyBpbnRlbF9pODY1Z19pbmZv ID0gewogCUdFTigzKSwgXAogCS5udW1fcGlwZXMgPSAyLCBcCiAJLmhhc19nbWNoX2Rpc3BsYXkg PSAxLCBcCisJLmdwdV9yZXNldF9jbG9iYmVyc19kaXNwbGF5ID0gdHJ1ZSwgXAogCS5yaW5nX21h c2sgPSBSRU5ERVJfUklORywgXAogCS5oYXNfc25vb3AgPSB0cnVlLCBcCiAJLmhhc19jb2hlcmVu dF9nZ3R0ID0gdHJ1ZSwgXApAQCAtMTc5LDYgKzE4MSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg aW50ZWxfZGV2aWNlX2luZm8gaW50ZWxfcGluZXZpZXdfaW5mbyA9IHsKIAkubnVtX3BpcGVzID0g MiwgXAogCS5oYXNfaG90cGx1ZyA9IDEsIFwKIAkuaGFzX2dtY2hfZGlzcGxheSA9IDEsIFwKKwku Z3B1X3Jlc2V0X2Nsb2JiZXJzX2Rpc3BsYXkgPSB0cnVlLCBcCiAJLnJpbmdfbWFzayA9IFJFTkRF Ul9SSU5HLCBcCiAJLmhhc19zbm9vcCA9IHRydWUsIFwKIAkuaGFzX2NvaGVyZW50X2dndHQgPSB0 cnVlLCBcCkBAIC0yMDgsNiArMjExLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9kZXZp Y2VfaW5mbyBpbnRlbF9nNDVfaW5mbyA9IHsKIAlHRU40X0ZFQVRVUkVTLAogCVBMQVRGT1JNKElO VEVMX0c0NSksCiAJLnJpbmdfbWFzayA9IFJFTkRFUl9SSU5HIHwgQlNEX1JJTkcsCisJLmdwdV9y ZXNldF9jbG9iYmVyc19kaXNwbGF5ID0gZmFsc2UsCiB9OwogCiBzdGF0aWMgY29uc3Qgc3RydWN0 IGludGVsX2RldmljZV9pbmZvIGludGVsX2dtNDVfaW5mbyA9IHsKQEAgLTIxNiw2ICsyMjAsNyBA QCBzdGF0aWMgY29uc3Qgc3RydWN0IGludGVsX2RldmljZV9pbmZvIGludGVsX2dtNDVfaW5mbyA9 IHsKIAkuaXNfbW9iaWxlID0gMSwgLmhhc19mYmMgPSAxLAogCS5zdXBwb3J0c190diA9IDEsCiAJ LnJpbmdfbWFzayA9IFJFTkRFUl9SSU5HIHwgQlNEX1JJTkcsCisJLmdwdV9yZXNldF9jbG9iYmVy c19kaXNwbGF5ID0gZmFsc2UsCiB9OwogCiAjZGVmaW5lIEdFTjVfRkVBVFVSRVMgXApkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGV2aWNlX2luZm8uaCBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2RldmljZV9pbmZvLmgKaW5kZXggYjRjMmM0ZWFlNzhiLi5kNDlj N2U4NjEzZDkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RldmljZV9p bmZvLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGV2aWNlX2luZm8uaApAQCAt OTIsNiArOTIsNyBAQCBlbnVtIGludGVsX3BwZ3R0IHsKIAlmdW5jKGhhc19jc3IpOyBcCiAJZnVu YyhoYXNfZGRpKTsgXAogCWZ1bmMoaGFzX2RwX21zdCk7IFwKKwlmdW5jKGdwdV9yZXNldF9jbG9i YmVyc19kaXNwbGF5KTsgXAogCWZ1bmMoaGFzX3Jlc2V0X2VuZ2luZSk7IFwKIAlmdW5jKGhhc19m YmMpOyBcCiAJZnVuYyhoYXNfZnBnYV9kYmcpOyBcCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNw bGF5LmMKaW5kZXggYzNjYWRjMDlmODU5Li4yN2RhMjY3OTQ5MzAgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kaXNwbGF5LmMKQEAgLTM3MzMsOCArMzczMyw4IEBAIF9faW50ZWxfZGlzcGxheV9y ZXN1bWUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAogc3RhdGljIGJvb2wgZ3B1X3Jlc2V0X2Ns b2JiZXJzX2Rpc3BsYXkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogewotCXJl dHVybiBpbnRlbF9oYXNfZ3B1X3Jlc2V0KGRldl9wcml2KSAmJgotCQlJTlRFTF9HRU4oZGV2X3By aXYpIDwgNSAmJiAhSVNfRzRYKGRldl9wcml2KTsKKwlyZXR1cm4gKElOVEVMX0lORk8oZGV2X3By aXYpLT5ncHVfcmVzZXRfY2xvYmJlcnNfZGlzcGxheSAmJgorCQlpbnRlbF9oYXNfZ3B1X3Jlc2V0 KGRldl9wcml2KSk7CiB9CiAKIHZvaWQgaW50ZWxfcHJlcGFyZV9yZXNldChzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9lbmdpbmVfY3MuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV9jcy5j CmluZGV4IGJjMTQ3ZDllNmM5Mi4uODZkNzM2NGM2ZTVkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfY3MuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9lbmdpbmVfY3MuYwpAQCAtMTA2OCwyMiArMTA2OCwzNCBAQCB2b2lkIGludGVsX2VuZ2lu ZXNfcmVzZXRfZGVmYXVsdF9zdWJtaXNzaW9uKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1 KQogCQllbmdpbmUtPnNldF9kZWZhdWx0X3N1Ym1pc3Npb24oZW5naW5lKTsKIH0KIAorc3RhdGlj IGJvb2wgcmVzZXRfZW5naW5lcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKK3sKKwlp ZiAoSU5URUxfSU5GTyhpOTE1KS0+Z3B1X3Jlc2V0X2Nsb2JiZXJzX2Rpc3BsYXkpCisJCXJldHVy biBmYWxzZTsKKworCXJldHVybiBpbnRlbF9ncHVfcmVzZXQoaTkxNSwgQUxMX0VOR0lORVMpID09 IDA7Cit9CisKIC8qKgogICogaW50ZWxfZW5naW5lc19zYW5pdGl6ZTogY2FsbGVkIGFmdGVyIHRo ZSBHUFUgaGFzIGxvc3QgcG93ZXIKICAqIEBpOTE1OiB0aGUgaTkxNSBkZXZpY2UKKyAqIEBmb3Jj ZTogaWdub3JlIGEgZmFpbGVkIHJlc2V0IGFuZCBzYW5pdGl6ZSBlbmdpbmUgc3RhdGUgYW55d2F5 CiAgKgogICogQW55dGltZSB3ZSByZXNldCB0aGUgR1BVLCBlaXRoZXIgd2l0aCBhbiBleHBsaWNp dCBHUFUgcmVzZXQgb3IgdGhyb3VnaCBhCiAgKiBQQ0kgcG93ZXIgY3ljbGUsIHRoZSBHUFUgbG9z ZXMgc3RhdGUgYW5kIHdlIG11c3QgcmVzZXQgb3VyIHN0YXRlIHRyYWNraW5nCiAgKiB0byBtYXRj aC4gTm90ZSB0aGF0IGNhbGxpbmcgaW50ZWxfZW5naW5lc19zYW5pdGl6ZSgpIGlmIHRoZSBHUFUg aGFzIG5vdAogICogYmVlbiByZXNldCByZXN1bHRzIGluIG11Y2ggY29uZnVzaW9uIQogICovCi12 b2lkIGludGVsX2VuZ2luZXNfc2FuaXRpemUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUp Cit2b2lkIGludGVsX2VuZ2luZXNfc2FuaXRpemUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5 MTUsIGJvb2wgZm9yY2UpCiB7CiAJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lOwogCWVu dW0gaW50ZWxfZW5naW5lX2lkIGlkOwogCiAJR0VNX1RSQUNFKCJcbiIpOwogCisJaWYgKCFyZXNl dF9lbmdpbmVzKGk5MTUpICYmICFmb3JjZSkKKwkJcmV0dXJuOworCiAJZm9yX2VhY2hfZW5naW5l KGVuZ2luZSwgaTkxNSwgaWQpIHsKIAkJaWYgKGVuZ2luZS0+cmVzZXQucmVzZXQpCiAJCQllbmdp bmUtPnJlc2V0LnJlc2V0KGVuZ2luZSwgTlVMTCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9y aW5nYnVmZmVyLmgKaW5kZXggZDNhMDhkMGYwMmZlLi5lMTdiM2MyMjZlOGQgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaAorKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKQEAgLTExMDksNyArMTEwOSw3IEBAIGdlbjhf ZW1pdF9nZ3R0X3dyaXRlKHUzMiAqY3MsIHUzMiB2YWx1ZSwgdTMyIGd0dF9vZmZzZXQpCiAJcmV0 dXJuIGNzOwogfQogCi12b2lkIGludGVsX2VuZ2luZXNfc2FuaXRpemUoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmk5MTUpOwordm9pZCBpbnRlbF9lbmdpbmVzX3Nhbml0aXplKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICppOTE1LCBib29sIGZvcmNlKTsKIAogYm9vbCBpbnRlbF9lbmdpbmVfaXNf aWRsZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpOwogYm9vbCBpbnRlbF9lbmdpbmVz X2FyZV9pZGxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7CmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW0uYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2dlbS5jCmluZGV4IGQwYWExOWQxNzY1My4uYmRjYzUz ZTE1ZTc1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9n ZW0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW0uYwpAQCAt MTIxLDcgKzEyMSw3IEBAIHN0YXRpYyB2b2lkIHBtX3Jlc3VtZShzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqaTkxNSkKIAkgKi8KIAlpbnRlbF9ydW50aW1lX3BtX2dldChpOTE1KTsKIAotCWludGVs X2VuZ2luZXNfc2FuaXRpemUoaTkxNSk7CisJaW50ZWxfZW5naW5lc19zYW5pdGl6ZShpOTE1LCBm YWxzZSk7CiAJaTkxNV9nZW1fc2FuaXRpemUoaTkxNSk7CiAJaTkxNV9nZW1fcmVzdW1lKGk5MTUp OwogCi0tIAoyLjE5LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVs LWdmeAo=