From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Thulasimani, Sivakumar" Subject: Re: [PATCH v2] drm/i915: Don't pass *DP around to link training functions Date: Wed, 21 Oct 2015 19:38:14 +0530 Message-ID: <56279C4E.90301@intel.com> References: <5624B17B.70405@intel.com> <1445435529-19511-1-git-send-email-ander.conselvan.de.oliveira@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id 65BD76E040 for ; Wed, 21 Oct 2015 07:09:47 -0700 (PDT) In-Reply-To: <1445435529-19511-1-git-send-email-ander.conselvan.de.oliveira@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ander Conselvan de Oliveira , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org CgpPbiAxMC8yMS8yMDE1IDc6MjIgUE0sIEFuZGVyIENvbnNlbHZhbiBkZSBPbGl2ZWlyYSB3cm90 ZToKPiBJdCBqdXN0IG1ha2VzIHRoZSBjb2RlIG1vcmUgY29uZnVzaW5nLCBzbyBqdXN0IHJlZmVy ZW5jZSBpbnRlbF9kcC0+RFAKPiBkaXJlY3RseS4KPgo+IE5vdGUgdGhhdCB0aGlzIGFsc28gZml4 IGEgYnVnIHdoZXJlIHRoZSB2YWx1ZSBvZiBpbnRlbF9kcC0+RFAgY291bGQgYmUKPiBkaWZmZXJl bnQgdGhhbiB0aGUgbGFzdCB2YWx1ZSB3cml0dGVuIHRvIHRoZSBodywgZHVlIHRvIGFuIGVhcmx5 IHJldHVybgo+IHRoYXQgd291bGQgc2tpcCB0aGUgJ2ludGVsX2RwLT5EUCA9IERQJyBsaW5lLgo+ Cj4gdjI6IERvbid0IHByZXNlcnZlIG9sZCBEUCB2YWx1ZSBvbiBmYWlsdXJlLiAoU2l2YWt1bWFy KQo+ICAgIC0gRG9uJ3QgY2FsbCBkcm1fZHBfY2xvY2tfcmVjb3Zlcnlfb2soKSB0d2ljZS4gKFNp dmFrdW1hcikKPiAgICAtIEtlZXAgcmV0dXJuIHR5cGUgb2YgY2xvY2sgcmVjb3ZlcnkgYW5kIGNo YW5uZWwgZXF1YWxpemF0aW9uCj4gICAgICBmdW5jdGlvbnMgYXMgdm9pZC4gKEFuZGVyKQo+Cj4g U2lnbmVkLW9mZi1ieTogQW5kZXIgQ29uc2VsdmFuIGRlIE9saXZlaXJhIDxhbmRlci5jb25zZWx2 YW4uZGUub2xpdmVpcmFAaW50ZWwuY29tPgo+IC0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHAuYyB8IDQzICsrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Cj4gICAxIGZpbGUgY2hhbmdlZCwgMTggaW5zZXJ0aW9ucygrKSwgMjUgZGVsZXRpb25zKC0pCj4K PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPiBpbmRleCA4Mjg3ZGY0Li5mMzEwZGFiIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gQEAgLTM1OTYsNyArMzU5Niw2IEBAIGludGVsX2RwX3Nl dF9zaWduYWxfbGV2ZWxzKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsIHVpbnQzMl90ICpEUCkK PiAgIAo+ICAgc3RhdGljIGJvb2wKPiAgIGludGVsX2RwX3NldF9saW5rX3RyYWluKHN0cnVjdCBp bnRlbF9kcCAqaW50ZWxfZHAsCj4gLQkJCXVpbnQzMl90ICpEUCwKPiAgIAkJCXVpbnQ4X3QgZHBf dHJhaW5fcGF0KQo+ICAgewo+ICAgCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2Rp Z19wb3J0ID0gZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApOwo+IEBAIC0zNjA1LDkgKzM2MDQsOSBA QCBpbnRlbF9kcF9zZXRfbGlua190cmFpbihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAo+ICAg CXVpbnQ4X3QgYnVmW3NpemVvZihpbnRlbF9kcC0+dHJhaW5fc2V0KSArIDFdOwo+ICAgCWludCBy ZXQsIGxlbjsKPiAgIAo+IC0JX2ludGVsX2RwX3NldF9saW5rX3RyYWluKGludGVsX2RwLCBEUCwg ZHBfdHJhaW5fcGF0KTsKPiArCV9pbnRlbF9kcF9zZXRfbGlua190cmFpbihpbnRlbF9kcCwgJmlu dGVsX2RwLT5EUCwgZHBfdHJhaW5fcGF0KTsKPiAgIAo+IC0JSTkxNV9XUklURShpbnRlbF9kcC0+ b3V0cHV0X3JlZywgKkRQKTsKPiArCUk5MTVfV1JJVEUoaW50ZWxfZHAtPm91dHB1dF9yZWcsIGlu dGVsX2RwLT5EUCk7Cj4gICAJUE9TVElOR19SRUFEKGludGVsX2RwLT5vdXRwdXRfcmVnKTsKPiAg IAo+ICAgCWJ1ZlswXSA9IGRwX3RyYWluX3BhdDsKPiBAQCAtMzYyOCwxNyArMzYyNywxNyBAQCBp bnRlbF9kcF9zZXRfbGlua190cmFpbihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAo+ICAgfQo+ ICAgCj4gICBzdGF0aWMgYm9vbAo+IC1pbnRlbF9kcF9yZXNldF9saW5rX3RyYWluKHN0cnVjdCBp bnRlbF9kcCAqaW50ZWxfZHAsIHVpbnQzMl90ICpEUCwKPiAraW50ZWxfZHBfcmVzZXRfbGlua190 cmFpbihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAo+ICAgCQkJdWludDhfdCBkcF90cmFpbl9w YXQpCj4gICB7Cj4gICAJaWYgKCFpbnRlbF9kcC0+dHJhaW5fc2V0X3ZhbGlkKQo+ICAgCQltZW1z ZXQoaW50ZWxfZHAtPnRyYWluX3NldCwgMCwgc2l6ZW9mKGludGVsX2RwLT50cmFpbl9zZXQpKTsK PiAtCWludGVsX2RwX3NldF9zaWduYWxfbGV2ZWxzKGludGVsX2RwLCBEUCk7Cj4gLQlyZXR1cm4g aW50ZWxfZHBfc2V0X2xpbmtfdHJhaW4oaW50ZWxfZHAsIERQLCBkcF90cmFpbl9wYXQpOwo+ICsJ aW50ZWxfZHBfc2V0X3NpZ25hbF9sZXZlbHMoaW50ZWxfZHAsICZpbnRlbF9kcC0+RFApOwpjYW4g dGhpcyBiZSByZW1vdmVkIGFzIHdlbGwgPyB3ZSBhcmUgYWxyZWFkeSBwYXNzaW5nIGludGVsX2Rw IHNvIHNhbWUgYXMgCm90aGVyIHBsYWNlcy4KPiArCXJldHVybiBpbnRlbF9kcF9zZXRfbGlua190 cmFpbihpbnRlbF9kcCwgZHBfdHJhaW5fcGF0KTsKPiAgIH0KPiAgIAo+ICAgc3RhdGljIGJvb2wK PiAtaW50ZWxfZHBfdXBkYXRlX2xpbmtfdHJhaW4oc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwg dWludDMyX3QgKkRQLAo+ICtpbnRlbF9kcF91cGRhdGVfbGlua190cmFpbihzdHJ1Y3QgaW50ZWxf ZHAgKmludGVsX2RwLAo+ICAgCQkJICAgY29uc3QgdWludDhfdCBsaW5rX3N0YXR1c1tEUF9MSU5L X1NUQVRVU19TSVpFXSkKPiAgIHsKPiAgIAlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRl bF9kaWdfcG9ydCA9IGRwX3RvX2RpZ19wb3J0KGludGVsX2RwKTsKPiBAQCAtMzY0Nyw5ICszNjQ2 LDkgQEAgaW50ZWxfZHBfdXBkYXRlX2xpbmtfdHJhaW4oc3RydWN0IGludGVsX2RwICppbnRlbF9k cCwgdWludDMyX3QgKkRQLAo+ICAgCWludCByZXQ7Cj4gICAKPiAgIAlpbnRlbF9nZXRfYWRqdXN0 X3RyYWluKGludGVsX2RwLCBsaW5rX3N0YXR1cyk7Cj4gLQlpbnRlbF9kcF9zZXRfc2lnbmFsX2xl dmVscyhpbnRlbF9kcCwgRFApOwo+ICsJaW50ZWxfZHBfc2V0X3NpZ25hbF9sZXZlbHMoaW50ZWxf ZHAsICZpbnRlbF9kcC0+RFApOwo+ICAgCj4gLQlJOTE1X1dSSVRFKGludGVsX2RwLT5vdXRwdXRf cmVnLCAqRFApOwo+ICsJSTkxNV9XUklURShpbnRlbF9kcC0+b3V0cHV0X3JlZywgaW50ZWxfZHAt PkRQKTsKPiAgIAlQT1NUSU5HX1JFQUQoaW50ZWxfZHAtPm91dHB1dF9yZWcpOwo+ICAgCj4gICAJ cmV0ID0gZHJtX2RwX2RwY2Rfd3JpdGUoJmludGVsX2RwLT5hdXgsIERQX1RSQUlOSU5HX0xBTkUw X1NFVCwKPiBAQCAtMzY5OCw3ICszNjk3LDYgQEAgaW50ZWxfZHBfbGlua190cmFpbmluZ19jbG9j a19yZWNvdmVyeShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+ICAgCWludCBpOwo+ICAgCXVp bnQ4X3Qgdm9sdGFnZTsKPiAgIAlpbnQgdm9sdGFnZV90cmllcywgbG9vcF90cmllczsKPiAtCXVp bnQzMl90IERQID0gaW50ZWxfZHAtPkRQOwo+ICAgCXVpbnQ4X3QgbGlua19jb25maWdbMl07Cj4g ICAJdWludDhfdCBsaW5rX2J3LCByYXRlX3NlbGVjdDsKPiAgIAo+IEBAIC0zNzIyLDEwICszNzIw LDEwIEBAIGludGVsX2RwX2xpbmtfdHJhaW5pbmdfY2xvY2tfcmVjb3Zlcnkoc3RydWN0IGludGVs X2RwICppbnRlbF9kcCkKPiAgIAlsaW5rX2NvbmZpZ1sxXSA9IERQX1NFVF9BTlNJXzhCMTBCOwo+ ICAgCWRybV9kcF9kcGNkX3dyaXRlKCZpbnRlbF9kcC0+YXV4LCBEUF9ET1dOU1BSRUFEX0NUUkws IGxpbmtfY29uZmlnLCAyKTsKPiAgIAo+IC0JRFAgfD0gRFBfUE9SVF9FTjsKPiArCWludGVsX2Rw LT5EUCB8PSBEUF9QT1JUX0VOOwo+ICAgCj4gICAJLyogY2xvY2sgcmVjb3ZlcnkgKi8KPiAtCWlm ICghaW50ZWxfZHBfcmVzZXRfbGlua190cmFpbihpbnRlbF9kcCwgJkRQLAo+ICsJaWYgKCFpbnRl bF9kcF9yZXNldF9saW5rX3RyYWluKGludGVsX2RwLAo+ICAgCQkJCSAgICAgICBEUF9UUkFJTklO R19QQVRURVJOXzEgfAo+ICAgCQkJCSAgICAgICBEUF9MSU5LX1NDUkFNQkxJTkdfRElTQUJMRSkp IHsKPiAgIAkJRFJNX0VSUk9SKCJmYWlsZWQgdG8gZW5hYmxlIGxpbmsgdHJhaW5pbmdcbiIpOwo+ IEBAIC0zNzU3LDcgKzM3NTUsNyBAQCBpbnRlbF9kcF9saW5rX3RyYWluaW5nX2Nsb2NrX3JlY292 ZXJ5KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4gICAJCQlEUk1fREVCVUdfS01TKCJjbG9j ayByZWNvdmVyeSBub3Qgb2ssIHJlc2V0Iik7Cj4gICAJCQkvKiBjbGVhciB0aGUgZmxhZyBhcyB3 ZSBhcmUgbm90IHJldXNpbmcgdHJhaW4gc2V0ICovCj4gICAJCQlpbnRlbF9kcC0+dHJhaW5fc2V0 X3ZhbGlkID0gZmFsc2U7Cj4gLQkJCWlmICghaW50ZWxfZHBfcmVzZXRfbGlua190cmFpbihpbnRl bF9kcCwgJkRQLAo+ICsJCQlpZiAoIWludGVsX2RwX3Jlc2V0X2xpbmtfdHJhaW4oaW50ZWxfZHAs Cj4gICAJCQkJCQkgICAgICAgRFBfVFJBSU5JTkdfUEFUVEVSTl8xIHwKPiAgIAkJCQkJCSAgICAg ICBEUF9MSU5LX1NDUkFNQkxJTkdfRElTQUJMRSkpIHsKPiAgIAkJCQlEUk1fRVJST1IoImZhaWxl ZCB0byBlbmFibGUgbGluayB0cmFpbmluZ1xuIik7Cj4gQEAgLTM3NzYsNyArMzc3NCw3IEBAIGlu dGVsX2RwX2xpbmtfdHJhaW5pbmdfY2xvY2tfcmVjb3Zlcnkoc3RydWN0IGludGVsX2RwICppbnRl bF9kcCkKPiAgIAkJCQlEUk1fRVJST1IoInRvbyBtYW55IGZ1bGwgcmV0cmllcywgZ2l2ZSB1cFxu Iik7Cj4gICAJCQkJYnJlYWs7Cj4gICAJCQl9Cj4gLQkJCWludGVsX2RwX3Jlc2V0X2xpbmtfdHJh aW4oaW50ZWxfZHAsICZEUCwKPiArCQkJaW50ZWxfZHBfcmVzZXRfbGlua190cmFpbihpbnRlbF9k cCwKPiAgIAkJCQkJCSAgRFBfVFJBSU5JTkdfUEFUVEVSTl8xIHwKPiAgIAkJCQkJCSAgRFBfTElO S19TQ1JBTUJMSU5HX0RJU0FCTEUpOwo+ICAgCQkJdm9sdGFnZV90cmllcyA9IDA7Cj4gQEAgLTM3 OTUsMTMgKzM3OTMsMTEgQEAgaW50ZWxfZHBfbGlua190cmFpbmluZ19jbG9ja19yZWNvdmVyeShz dHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+ICAgCQl2b2x0YWdlID0gaW50ZWxfZHAtPnRyYWlu X3NldFswXSAmIERQX1RSQUlOX1ZPTFRBR0VfU1dJTkdfTUFTSzsKPiAgIAo+ICAgCQkvKiBVcGRh dGUgdHJhaW5pbmcgc2V0IGFzIHJlcXVlc3RlZCBieSB0YXJnZXQgKi8KPiAtCQlpZiAoIWludGVs X2RwX3VwZGF0ZV9saW5rX3RyYWluKGludGVsX2RwLCAmRFAsIGxpbmtfc3RhdHVzKSkgewo+ICsJ CWlmICghaW50ZWxfZHBfdXBkYXRlX2xpbmtfdHJhaW4oaW50ZWxfZHAsIGxpbmtfc3RhdHVzKSkg ewo+ICAgCQkJRFJNX0VSUk9SKCJmYWlsZWQgdG8gdXBkYXRlIGxpbmsgdHJhaW5pbmdcbiIpOwo+ ICAgCQkJYnJlYWs7Cj4gICAJCX0KPiAgIAl9Cj4gLQo+IC0JaW50ZWxfZHAtPkRQID0gRFA7Cj4g ICB9Cj4gICAKPiAgIHN0YXRpYyB2b2lkCj4gQEAgLTM4MTEsNyArMzgwNyw2IEBAIGludGVsX2Rw X2xpbmtfdHJhaW5pbmdfY2hhbm5lbF9lcXVhbGl6YXRpb24oc3RydWN0IGludGVsX2RwICppbnRl bF9kcCkKPiAgIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZGlnX3BvcnQtPmJhc2UuYmFzZS5k ZXY7Cj4gICAJYm9vbCBjaGFubmVsX2VxID0gZmFsc2U7Cj4gICAJaW50IHRyaWVzLCBjcl90cmll czsKPiAtCXVpbnQzMl90IERQID0gaW50ZWxfZHAtPkRQOwo+ICAgCXVpbnQzMl90IHRyYWluaW5n X3BhdHRlcm4gPSBEUF9UUkFJTklOR19QQVRURVJOXzI7Cj4gICAKPiAgIAkvKgo+IEBAIC0zODMw LDcgKzM4MjUsNyBAQCBpbnRlbF9kcF9saW5rX3RyYWluaW5nX2NoYW5uZWxfZXF1YWxpemF0aW9u KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4gICAJCURSTV9FUlJPUigiNS40IEdicHMgbGlu ayByYXRlIHdpdGhvdXQgSEJSMi9UUFMzIHN1cHBvcnRcbiIpOwo+ICAgCj4gICAJLyogY2hhbm5l bCBlcXVhbGl6YXRpb24gKi8KPiAtCWlmICghaW50ZWxfZHBfc2V0X2xpbmtfdHJhaW4oaW50ZWxf ZHAsICZEUCwKPiArCWlmICghaW50ZWxfZHBfc2V0X2xpbmtfdHJhaW4oaW50ZWxfZHAsCj4gICAJ CQkJICAgICB0cmFpbmluZ19wYXR0ZXJuIHwKPiAgIAkJCQkgICAgIERQX0xJTktfU0NSQU1CTElO R19ESVNBQkxFKSkgewo+ICAgCQlEUk1fRVJST1IoImZhaWxlZCB0byBzdGFydCBjaGFubmVsIGVx dWFsaXphdGlvblxuIik7Cj4gQEAgLTM4NTksNyArMzg1NCw3IEBAIGludGVsX2RwX2xpbmtfdHJh aW5pbmdfY2hhbm5lbF9lcXVhbGl6YXRpb24oc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPiAg IAkJCQkJICAgICAgaW50ZWxfZHAtPmxhbmVfY291bnQpKSB7Cj4gICAJCQlpbnRlbF9kcC0+dHJh aW5fc2V0X3ZhbGlkID0gZmFsc2U7Cj4gICAJCQlpbnRlbF9kcF9saW5rX3RyYWluaW5nX2Nsb2Nr X3JlY292ZXJ5KGludGVsX2RwKTsKPiAtCQkJaW50ZWxfZHBfc2V0X2xpbmtfdHJhaW4oaW50ZWxf ZHAsICZEUCwKPiArCQkJaW50ZWxfZHBfc2V0X2xpbmtfdHJhaW4oaW50ZWxfZHAsCj4gICAJCQkJ CQl0cmFpbmluZ19wYXR0ZXJuIHwKPiAgIAkJCQkJCURQX0xJTktfU0NSQU1CTElOR19ESVNBQkxF KTsKPiAgIAkJCWNyX3RyaWVzKys7Cj4gQEAgLTM4NzYsNyArMzg3MSw3IEBAIGludGVsX2RwX2xp bmtfdHJhaW5pbmdfY2hhbm5lbF9lcXVhbGl6YXRpb24oc3RydWN0IGludGVsX2RwICppbnRlbF9k cCkKPiAgIAkJaWYgKHRyaWVzID4gNSkgewo+ICAgCQkJaW50ZWxfZHAtPnRyYWluX3NldF92YWxp ZCA9IGZhbHNlOwo+ICAgCQkJaW50ZWxfZHBfbGlua190cmFpbmluZ19jbG9ja19yZWNvdmVyeShp bnRlbF9kcCk7Cj4gLQkJCWludGVsX2RwX3NldF9saW5rX3RyYWluKGludGVsX2RwLCAmRFAsCj4g KwkJCWludGVsX2RwX3NldF9saW5rX3RyYWluKGludGVsX2RwLAo+ICAgCQkJCQkJdHJhaW5pbmdf cGF0dGVybiB8Cj4gICAJCQkJCQlEUF9MSU5LX1NDUkFNQkxJTkdfRElTQUJMRSk7Cj4gICAJCQl0 cmllcyA9IDA7Cj4gQEAgLTM4ODUsNyArMzg4MCw3IEBAIGludGVsX2RwX2xpbmtfdHJhaW5pbmdf Y2hhbm5lbF9lcXVhbGl6YXRpb24oc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPiAgIAkJfQo+ ICAgCj4gICAJCS8qIFVwZGF0ZSB0cmFpbmluZyBzZXQgYXMgcmVxdWVzdGVkIGJ5IHRhcmdldCAq Lwo+IC0JCWlmICghaW50ZWxfZHBfdXBkYXRlX2xpbmtfdHJhaW4oaW50ZWxfZHAsICZEUCwgbGlu a19zdGF0dXMpKSB7Cj4gKwkJaWYgKCFpbnRlbF9kcF91cGRhdGVfbGlua190cmFpbihpbnRlbF9k cCwgbGlua19zdGF0dXMpKSB7Cj4gICAJCQlEUk1fRVJST1IoImZhaWxlZCB0byB1cGRhdGUgbGlu ayB0cmFpbmluZ1xuIik7Cj4gICAJCQlicmVhazsKPiAgIAkJfQo+IEBAIC0zODk0LDggKzM4ODks NiBAQCBpbnRlbF9kcF9saW5rX3RyYWluaW5nX2NoYW5uZWxfZXF1YWxpemF0aW9uKHN0cnVjdCBp bnRlbF9kcCAqaW50ZWxfZHApCj4gICAKPiAgIAlpbnRlbF9kcF9zZXRfaWRsZV9saW5rX3RyYWlu KGludGVsX2RwKTsKPiAgIAo+IC0JaW50ZWxfZHAtPkRQID0gRFA7Cj4gLQo+ICAgCWlmIChjaGFu bmVsX2VxKSB7Cj4gICAJCWludGVsX2RwLT50cmFpbl9zZXRfdmFsaWQgPSB0cnVlOwo+ICAgCQlE Uk1fREVCVUdfS01TKCJDaGFubmVsIEVRIGRvbmUuIERQIFRyYWluaW5nIHN1Y2Nlc3NmdWxcbiIp Owo+IEBAIC0zOTA0LDcgKzM4OTcsNyBAQCBpbnRlbF9kcF9saW5rX3RyYWluaW5nX2NoYW5uZWxf ZXF1YWxpemF0aW9uKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4gICAKPiAgIHZvaWQgaW50 ZWxfZHBfc3RvcF9saW5rX3RyYWluKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4gICB7Cj4g LQlpbnRlbF9kcF9zZXRfbGlua190cmFpbihpbnRlbF9kcCwgJmludGVsX2RwLT5EUCwKPiArCWlu dGVsX2RwX3NldF9saW5rX3RyYWluKGludGVsX2RwLAo+ICAgCQkJCURQX1RSQUlOSU5HX1BBVFRF Uk5fRElTQUJMRSk7Cj4gICB9Cj4gICAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vaW50ZWwtZ2Z4Cg==