From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 52/53] drm/i915: Remove the now obsolete 'outstanding_lazy_request' Date: Tue, 10 Mar 2015 11:18:05 +0100 Message-ID: <20150310101805.GI3800@phenom.ffwll.local> References: <1423828140-10653-1-git-send-email-John.C.Harrison@Intel.com> <1424366285-29232-1-git-send-email-John.C.Harrison@Intel.com> <1424366285-29232-53-git-send-email-John.C.Harrison@Intel.com> <54FE31FE.4040408@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-we0-f175.google.com (mail-we0-f175.google.com [74.125.82.175]) by gabe.freedesktop.org (Postfix) with ESMTP id F3B806E693 for ; Tue, 10 Mar 2015 03:16:26 -0700 (PDT) Received: by wevk48 with SMTP id k48so616617wev.7 for ; Tue, 10 Mar 2015 03:16:26 -0700 (PDT) Content-Disposition: inline In-Reply-To: <54FE31FE.4040408@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Tomas Elf Cc: Intel-GFX@Lists.FreeDesktop.Org List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCBNYXIgMDksIDIwMTUgYXQgMTE6NTE6MjZQTSArMDAwMCwgVG9tYXMgRWxmIHdyb3Rl Ogo+IE9uIDE5LzAyLzIwMTUgMTc6MTgsIEpvaG4uQy5IYXJyaXNvbkBJbnRlbC5jb20gd3JvdGU6 Cj4gPkZyb206IEpvaG4gSGFycmlzb24gPEpvaG4uQy5IYXJyaXNvbkBJbnRlbC5jb20+Cj4gPgo+ ID5UaGUgb3V0c3RhbmRpbmdfbGF6eV9yZXF1ZXN0IGlzIG5vIGxvbmdlciB1c2VkIGFueXdoZXJl IGluIHRoZSBkcml2ZXIuCj4gPkV2ZXJ5dGhpbmcgdGhhdCB3YXMgbG9va2luZyBhdCBpdCBub3cg aGFzIGEgcmVxdWVzdCBleHBsaWNpdGx5IHBhc3NlZCBpbiBmcm9tIG9uCj4gPmhpZ2guIEV2ZXJ5 dGhpbmcgdGhhdCB3YXMgcmVseWluZyB1cG9uIGJlaGluZCB0aGUgc2NlbmVzIGlzIG5vdyBleHBs aWNpdGx5Cj4gPmNyZWF0aW5nL3Bhc3Npbmcvc3VibWl0dGluZyBpdCdzIG93biBwcml2YXRlIHJl cXVlc3QuIFRodXMgdGhlIE9MUiBjYW4gYmUKPiA+cmVtb3ZlZC4KPiA+Cj4gCj4gIkV2ZXJ5dGhp bmcgdGhhdCB3YXMgcmVseWluZyB1cG9uIGJlaGluZCB0aGUgc2NlbmVzIGlzIG5vdyBleHBsaWNp dGx5Cj4gY3JlYXRpbmcvcGFzc2luZy9zdWJtaXR0aW5nIGl0J3MgLi4uIgo+IC0tLT4KPiAiRXZl cnl0aGluZyB0aGF0IHdhcyByZWx5aW5nIG9uIGl0IGJlaGluZCB0aGUgc2NlbmVzIGlzIG5vdyBl eHBsaWNpdGx5Cj4gY3JlYXRpbmcvcGFzc2luZy9zdWJtaXR0aW5nIGl0cyAuLi4iID8KPiAKPiAK PiA+Rm9yOiBWSVotNTExNQo+ID5TaWduZWQtb2ZmLWJ5OiBKb2huIEhhcnJpc29uIDxKb2huLkMu SGFycmlzb25ASW50ZWwuY29tPgo+ID4tLS0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbS5jICAgICAgICAgICAgfCAgIDE2ICstLS0tLS0tLS0tLS0tLS0KPiA+ICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMgfCAgICA0ICstLS0KPiA+ICBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyAgICAgICAgICAgfCAgICA2ICsrLS0tLQo+ID4gIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYyAgICB8ICAgMTcgKystLS0tLS0t LS0tLS0tLS0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmggICAg fCAgICA0IC0tLS0KPiA+ICA1IGZpbGVzIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgNDEgZGVs ZXRpb25zKC0pCj4gPgo+ID5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKPiA+aW5kZXggNjBmNjY3MS4u OGU3NDE4YiAxMDA2NDQKPiA+LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwo+ ID4rKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCj4gPkBAIC0xMTU2LDE1ICsx MTU2LDkgQEAgaTkxNV9nZW1fY2hlY2tfd2VkZ2Uoc3RydWN0IGk5MTVfZ3B1X2Vycm9yICplcnJv ciwKPiA+ICBpbnQKPiA+ICBpOTE1X2dlbV9jaGVja19vbHIoc3RydWN0IGRybV9pOTE1X2dlbV9y ZXF1ZXN0ICpyZXEpCj4gPiAgewo+ID4tCWludCByZXQ7Cj4gPi0KPiA+ICAJV0FSTl9PTighbXV0 ZXhfaXNfbG9ja2VkKCZyZXEtPnJpbmctPmRldi0+c3RydWN0X211dGV4KSk7Cj4gPgo+ID4tCXJl dCA9IDA7Cj4gPi0JaWYgKHJlcSA9PSByZXEtPnJpbmctPm91dHN0YW5kaW5nX2xhenlfcmVxdWVz dCkKPiA+LQkJcmV0ID0gaTkxNV9hZGRfcmVxdWVzdChyZXEpOwo+ID4tCj4gPi0JcmV0dXJuIHJl dDsKPiA+KwlyZXR1cm4gMDsKPiA+ICB9Cj4gPgo+ID4gIHN0YXRpYyB2b2lkIGZha2VfaXJxKHVu c2lnbmVkIGxvbmcgZGF0YSkKPiA+QEAgLTI0MjQsOCArMjQxOCw2IEBAIGludCBfX2k5MTVfYWRk X3JlcXVlc3Qoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXF1ZXN0LAo+ID4gIAlkZXZf cHJpdiA9IHJpbmctPmRldi0+ZGV2X3ByaXZhdGU7Cj4gPiAgCXJpbmdidWYgPSByZXF1ZXN0LT5y aW5nYnVmOwo+ID4KPiA+LQlXQVJOX09OKHJlcXVlc3QgIT0gcmluZy0+b3V0c3RhbmRpbmdfbGF6 eV9yZXF1ZXN0KTsKPiA+LQo+ID4gIAlyZXF1ZXN0X3N0YXJ0ID0gaW50ZWxfcmluZ19nZXRfdGFp bChyaW5nYnVmKTsKPiA+ICAJLyoKPiA+ICAJICogRW1pdCBhbnkgb3V0c3RhbmRpbmcgZmx1c2hl cyAtIGV4ZWNidWYgY2FuIGZhaWwgdG8gZW1pdCB0aGUgZmx1c2gKPiA+QEAgLTI0ODYsNyArMjQ3 OCw2IEBAIGludCBfX2k5MTVfYWRkX3JlcXVlc3Qoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0 ICpyZXF1ZXN0LAo+ID4gIAl9Cj4gPgo+ID4gIAl0cmFjZV9pOTE1X2dlbV9yZXF1ZXN0X2FkZChy ZXF1ZXN0KTsKPiA+LQlyaW5nLT5vdXRzdGFuZGluZ19sYXp5X3JlcXVlc3QgPSBOVUxMOwo+ID4K PiA+ICAJaTkxNV9xdWV1ZV9oYW5nY2hlY2socmluZy0+ZGV2KTsKPiA+Cj4gPkBAIC0yNjcyLDkg KzI2NjMsNiBAQCBzdGF0aWMgdm9pZCBpOTE1X2dlbV9yZXNldF9yaW5nX2NsZWFudXAoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ID4KPiA+ICAJCWk5MTVfZ2VtX2ZyZWVfcmVx dWVzdChyZXF1ZXN0KTsKPiA+ICAJfQo+ID4tCj4gPi0JLyogVGhpcyBtYXkgbm90IGhhdmUgYmVl biBmbHVzaGVkIGJlZm9yZSB0aGUgcmVzZXQsIHNvIGNsZWFuIGl0IG5vdyAqLwo+ID4tCWk5MTVf Z2VtX3JlcXVlc3RfYXNzaWduKCZyaW5nLT5vdXRzdGFuZGluZ19sYXp5X3JlcXVlc3QsIE5VTEwp Owo+ID4gIH0KPiA+Cj4gPiAgdm9pZCBpOTE1X2dlbV9yZXN0b3JlX2ZlbmNlcyhzdHJ1Y3QgZHJt X2RldmljZSAqZGV2KQo+ID5AQCAtMzEyNCw4ICszMTEyLDYgQEAgaW50IGk5MTVfZ3B1X2lkbGUo c3RydWN0IGRybV9kZXZpY2UgKmRldikKPiA+ICAJCQl9Cj4gPiAgCQl9Cj4gPgo+ID4tCQlXQVJO X09OKHJpbmctPm91dHN0YW5kaW5nX2xhenlfcmVxdWVzdCk7Cj4gPi0KPiA+ICAJCXJldCA9IGlu dGVsX3JpbmdfaWRsZShyaW5nKTsKPiA+ICAJCWlmIChyZXQpCj4gPiAgCQkJcmV0dXJuIHJldDsK PiA+ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYwo+ID5pbmRleCA2 YTcwM2U2Li4wZWFlNTkyIDEwMDY0NAo+ID4tLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbV9leGVjYnVmZmVyLmMKPiA+KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f ZXhlY2J1ZmZlci5jCj4gPkBAIC0xNTcxLDEwICsxNTcxLDggQEAgZXJyOgo+ID4gIAkgKiBtdXN0 IGJlIGZyZWVkIGFnYWluLiBJZiBpdCB3YXMgc3VibWl0dGVkIHRoZW4gaXQgaXMgYmVpbmcgdHJh Y2tlZAo+ID4gIAkgKiBvbiB0aGUgYWN0aXZlIHJlcXVlc3QgbGlzdCBhbmQgbm8gY2xlYW4gdXAg aXMgcmVxdWlyZWQgaGVyZS4KPiA+ICAJICovCj4gPi0JaWYgKHJldCAmJiBwYXJhbXMtPnJlcXVl c3QpIHsKPiA+KwlpZiAocmV0ICYmIHBhcmFtcy0+cmVxdWVzdCkKPiA+ICAJCWk5MTVfZ2VtX3Jl cXVlc3RfdW5yZWZlcmVuY2UocGFyYW1zLT5yZXF1ZXN0KTsKPiA+LQkJcmluZy0+b3V0c3RhbmRp bmdfbGF6eV9yZXF1ZXN0ID0gTlVMTDsKPiA+LQl9Cj4gPgo+ID4gIAltdXRleF91bmxvY2soJmRl di0+c3RydWN0X211dGV4KTsKPiA+Cj4gPmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9scmMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCj4gPmluZGV4 IDI5MTFjZjYuLmRiNjNlYTAgMTAwNjQ0Cj4gPi0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2xyYy5jCj4gPisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCj4gPkBA IC0xMDMyLDggKzEwMzIsNyBAQCBpbnQgaW50ZWxfbG9naWNhbF9yaW5nX2FsbG9jX3JlcXVlc3Qo c3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywKPiA+ICAJaWYgKCFyZXFfb3V0KQo+ID4gIAkJ cmV0dXJuIC1FSU5WQUw7Cj4gPgo+ID4tCWlmICgoKnJlcV9vdXQgPSByaW5nLT5vdXRzdGFuZGlu Z19sYXp5X3JlcXVlc3QpICE9IE5VTEwpCj4gPi0JCXJldHVybiAwOwo+ID4rCSpyZXFfb3V0ID0g TlVMTDsKPiA+Cj4gPiAgCXJlcXVlc3QgPSBremFsbG9jKHNpemVvZigqcmVxdWVzdCksIEdGUF9L RVJORUwpOwo+ID4gIAlpZiAocmVxdWVzdCA9PSBOVUxMKQo+ID5AQCAtMTA2Nyw3ICsxMDY2LDcg QEAgaW50IGludGVsX2xvZ2ljYWxfcmluZ19hbGxvY19yZXF1ZXN0KHN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKnJpbmcsCj4gPiAgCWk5MTVfZ2VtX2NvbnRleHRfcmVmZXJlbmNlKHJlcXVlc3QtPmN0 eCk7Cj4gPiAgCXJlcXVlc3QtPnJpbmdidWYgPSBjdHgtPmVuZ2luZVtyaW5nLT5pZF0ucmluZ2J1 ZjsKPiA+Cj4gPi0JKnJlcV9vdXQgPSByaW5nLT5vdXRzdGFuZGluZ19sYXp5X3JlcXVlc3QgPSBy ZXF1ZXN0Owo+ID4rCSpyZXFfb3V0ID0gcmVxdWVzdDsKPiA+ICAJcmV0dXJuIDA7Cj4gPiAgfQo+ ID4KPiA+QEAgLTEzOTMsNyArMTM5Miw2IEBAIHZvaWQgaW50ZWxfbG9naWNhbF9yaW5nX2NsZWFu dXAoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZykKPiA+Cj4gPiAgCWludGVsX2xvZ2ljYWxf cmluZ19zdG9wKHJpbmcpOwo+ID4gIAlXQVJOX09OKChJOTE1X1JFQURfTU9ERShyaW5nKSAmIE1P REVfSURMRSkgPT0gMCk7Cj4gPi0JaTkxNV9nZW1fcmVxdWVzdF9hc3NpZ24oJnJpbmctPm91dHN0 YW5kaW5nX2xhenlfcmVxdWVzdCwgTlVMTCk7Cj4gPgo+ID4gIAlpZiAocmluZy0+Y2xlYW51cCkK PiA+ICAJCXJpbmctPmNsZWFudXAocmluZyk7Cj4gPmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9y aW5nYnVmZmVyLmMKPiA+aW5kZXggNWVlZjAyZS4uODVkYWExOCAxMDA2NDQKPiA+LS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jCj4gPisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYwo+ID5AQCAtMjAzNCw3ICsyMDM0LDYgQEAgdm9p ZCBpbnRlbF9jbGVhbnVwX3JpbmdfYnVmZmVyKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcp Cj4gPgo+ID4gIAlpbnRlbF91bnBpbl9yaW5nYnVmZmVyX29iaihyaW5nYnVmKTsKPiA+ICAJaW50 ZWxfZGVzdHJveV9yaW5nYnVmZmVyX29iaihyaW5nYnVmKTsKPiA+LQlpOTE1X2dlbV9yZXF1ZXN0 X2Fzc2lnbigmcmluZy0+b3V0c3RhbmRpbmdfbGF6eV9yZXF1ZXN0LCBOVUxMKTsKPiA+Cj4gPiAg CWlmIChyaW5nLT5jbGVhbnVwKQo+ID4gIAkJcmluZy0+Y2xlYW51cChyaW5nKTsKPiA+QEAgLTIx NTMsMTUgKzIxNTIsNiBAQCBzdGF0aWMgaW50IGludGVsX3dyYXBfcmluZ19idWZmZXIoc3RydWN0 IGludGVsX2VuZ2luZV9jcyAqcmluZykKPiA+ICBpbnQgaW50ZWxfcmluZ19pZGxlKHN0cnVjdCBp bnRlbF9lbmdpbmVfY3MgKnJpbmcpCj4gPiAgewo+ID4gIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3Jl cXVlc3QgKnJlcTsKPiA+LQlpbnQgcmV0Owo+ID4tCj4gPi0JLyogV2UgbmVlZCB0byBhZGQgYW55 IHJlcXVlc3RzIHJlcXVpcmVkIHRvIGZsdXNoIHRoZSBvYmplY3RzIGFuZCByaW5nICovCj4gPi0J V0FSTl9PTihyaW5nLT5vdXRzdGFuZGluZ19sYXp5X3JlcXVlc3QpOwo+ID4tCWlmIChyaW5nLT5v dXRzdGFuZGluZ19sYXp5X3JlcXVlc3QpIHsKPiA+LQkJcmV0ID0gaTkxNV9hZGRfcmVxdWVzdChy aW5nLT5vdXRzdGFuZGluZ19sYXp5X3JlcXVlc3QpOwo+ID4tCQlpZiAocmV0KQo+ID4tCQkJcmV0 dXJuIHJldDsKPiA+LQl9Cj4gPgo+ID4gIAkvKiBXYWl0IHVwb24gdGhlIGxhc3QgcmVxdWVzdCB0 byBiZSBjb21wbGV0ZWQgKi8KPiA+ICAJaWYgKGxpc3RfZW1wdHkoJnJpbmctPnJlcXVlc3RfbGlz dCkpCj4gPkBAIC0yMTg2LDggKzIxNzYsNyBAQCBpbnRlbF9yaW5nX2FsbG9jX3JlcXVlc3Qoc3Ry dWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywKPiA+ICAJaWYgKCFyZXFfb3V0KQo+ID4gIAkJcmV0 dXJuIC1FSU5WQUw7Cj4gPgo+ID4tCWlmICgoKnJlcV9vdXQgPSByaW5nLT5vdXRzdGFuZGluZ19s YXp5X3JlcXVlc3QpICE9IE5VTEwpCj4gPi0JCXJldHVybiAwOwo+ID4rCSpyZXFfb3V0ID0gTlVM TDsKPiA+Cj4gPiAgCXJlcXVlc3QgPSBremFsbG9jKHNpemVvZigqcmVxdWVzdCksIEdGUF9LRVJO RUwpOwo+ID4gIAlpZiAocmVxdWVzdCA9PSBOVUxMKQo+ID5AQCAtMjIwNiw3ICsyMTk1LDcgQEAg aW50ZWxfcmluZ19hbGxvY19yZXF1ZXN0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCj4g PiAgCQlyZXR1cm4gcmV0Owo+ID4gIAl9Cj4gPgo+ID4tCSpyZXFfb3V0ID0gcmluZy0+b3V0c3Rh bmRpbmdfbGF6eV9yZXF1ZXN0ID0gcmVxdWVzdDsKPiA+KwkqcmVxX291dCA9IHJlcXVlc3Q7Cj4g PiAgCXJldHVybiAwOwo+ID4gIH0KPiA+Cj4gPkBAIC0yMjgxLDggKzIyNzAsNiBAQCB2b2lkIGlu dGVsX3JpbmdfaW5pdF9zZXFubyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLCB1MzIgc2Vx bm8pCj4gPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSByaW5nLT5kZXY7Cj4gPiAgCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gPgo+ID4t CUJVR19PTihyaW5nLT5vdXRzdGFuZGluZ19sYXp5X3JlcXVlc3QpOwo+ID4tCj4gPiAgCWlmIChJ TlRFTF9JTkZPKGRldiktPmdlbiA9PSA2IHx8IElOVEVMX0lORk8oZGV2KS0+Z2VuID09IDcpIHsK PiA+ICAJCUk5MTVfV1JJVEUoUklOR19TWU5DXzAocmluZy0+bW1pb19iYXNlKSwgMCk7Cj4gPiAg CQlJOTE1X1dSSVRFKFJJTkdfU1lOQ18xKHJpbmctPm1taW9fYmFzZSksIDApOwo+ID5kaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCj4gPmluZGV4IDNiMDI2MWYuLmQyYzY0Mjcg MTAwNjQ0Cj4gPi0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaAo+ ID4rKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKPiA+QEAgLTI1 OCwxMCArMjU4LDYgQEAgc3RydWN0ICBpbnRlbF9lbmdpbmVfY3Mgewo+ID4gIAkgKi8KPiA+ICAJ c3RydWN0IGxpc3RfaGVhZCByZXF1ZXN0X2xpc3Q7Cj4gPgo+ID4tCS8qKgo+ID4tCSAqIERvIHdl IGhhdmUgc29tZSBub3QgeWV0IGVtaXR0ZWQgcmVxdWVzdHMgb3V0c3RhbmRpbmc/Cj4gPi0JICov Cj4gPi0Jc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpvdXRzdGFuZGluZ19sYXp5X3JlcXVl c3Q7Cj4gPiAgCWJvb2wgZ3B1X2NhY2hlc19kaXJ0eTsKPiA+ICAJYm9vbCBmYmNfZGlydHk7Cj4g Pgo+ID4KPiAKPiBTaW5jZSB3ZSdyZSByZW1vdmluZyB0aGUgaTkxNV9hZGRfcmVxdWVzdCBmcm9t IGk5MTVfY2hlY2tfb2xyIGFuZCB0aGVyZWJ5Cj4gcmVtb3ZpbmcgdGhlIE9MUiBlbWlzc2lvbiB0 aGUgZm9sbG93aW5nIGNvbW1lbnQgYXQKPiBpOTE1X2dlbV9vYmplY3RfZmx1c2hfYWN0aXZlIGlz IG5vIGxvbmdlciB2YWxpZDoKPiAKPiAgICAgICAgIC8qKgo+ICAgICAgICAgICogRW5zdXJlcyB0 aGF0IGFuIG9iamVjdCB3aWxsIGV2ZW50dWFsbHkgZ2V0IG5vbi1idXN5IGJ5IGZsdXNoaW5nCj4g YW55IHJlcXVpcmVkCj4gICAgICAgICAgKiB3cml0ZSBkb21haW5zLCBlbWl0dGluZyBhbnkgb3V0 c3RhbmRpbmcgbGF6eSByZXF1ZXN0IGFuZCByZXRpcmluZwo+IGFuZAo+ICAgICAgICAgICogY29t cGxldGVkIHJlcXVlc3RzLgo+ICAgICAgICAgICovCj4gICAgICAgICAgc3RhdGljIGludAo+ICAg ICAgICAgIGk5MTVfZ2VtX29iamVjdF9mbHVzaF9hY3RpdmUoc3RydWN0IGRybV9pOTE1X2dlbV9v YmplY3QgKm9iaikKPiAgICAgICAgICB7Cj4gICAgICAgICAgICAgICAgIHN0cnVjdCBpbnRlbF9l bmdpbmVfY3MgKnJpbmc7Cj4gICAgICAgICAgICAgICAgIGludCByZXQ7Cj4gCj4gICAgICAgICAg ICAgICAgIGlmIChvYmotPmFjdGl2ZSkgewo+ICAgICAgICAgICAgICAgICAgICAgICAgIHJpbmcg PQo+IGk5MTVfZ2VtX3JlcXVlc3RfZ2V0X3Jpbmcob2JqLT5sYXN0X3JlYWRfcmVxKTsKPiAgICAg ICAgICAgICAgICAgICAgICAgICByZXQgPSBpOTE1X2dlbV9jaGVja19vbHIob2JqLT5sYXN0X3Jl YWRfcmVxKTsKCk5pY2UgY2F0Y2ghIE9uIHRvcCBvZiB0aGF0IHRoZSBpbnQgcmV0dXJuIHZhbHVl IGlzIG5vIGxvbmdlciBuZWVkZWQsIHNvIGEKZm9sbG93LXVwIHBhdGNoIHNob3VsZCBzaW1wbGlm eSBpdCB0byB2b2lkLgotRGFuaWVsCi0tIApEYW5pZWwgVmV0dGVyClNvZnR3YXJlIEVuZ2luZWVy LCBJbnRlbCBDb3Jwb3JhdGlvbgorNDEgKDApIDc5IDM2NSA1NyA0OCAtIGh0dHA6Ly9ibG9nLmZm d2xsLmNoCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCklu dGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==