From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Christian_K=c3=b6nig?= Subject: Re: [PATCH 3/3] drm/amdgpu: remove amdgpu_cs_try_evict Date: Mon, 2 Sep 2019 16:56:43 +0200 Message-ID: References: <20190902105219.2813-1-christian.koenig@amd.com> <20190902105219.2813-3-christian.koenig@amd.com> <4e8e46ea-4492-480e-bcd3-58cc563e4520@gmail.com> Reply-To: christian.koenig-5C7GfCeVMHo@public.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: Content-Language: en-US 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: Kenny Ho , =?UTF-8?Q?Christian_K=c3=b6nig?= Cc: amd-gfx list UFRFIG1lYW5zIFBhZ2UgVGFibGUgRW50cnkuCgpTdGFydGluZyB3aXRoIFZlZ2ExMCB3ZSBoYXZl IG11bHRpIGxldmVsIHBhZ2UgdGFibGVzIGFuZCB3aGVuIHlvdSAKY29udGludW91c2x5IGFsbG9j YXRlIDJNQiAob3IgZXZlbiAxR0IpIHlvdSBjYW4gc2V0IGEgYml0IGluIHRoZSAKaGllcmFyY2h5 IHRoYXQgdGhlIHdhbGtlciBzaG91bGQgc3RvcCBhbmQgdGFrZSB0aGUgYWRkcmVzcyBhbmQgZmxh Z3MgZm9yIAp0aGUgd2hvbGUgMk1CIGJsb2NrLgoKVGhlIHJlc3VsdCBpcyB0aGF0IHdpdGggNEsg cGFnZXMgeW91IG5lZWQgYW4gYWRkaXRpb25hbCBsZXZlbCBpbiB0aGUgCmhpZXJhcmNoeSBjb21w YXJlZCB0byAyTUIgcGFnZXMgYW5kIHNvIG1vcmUgbWVtb3J5LgoKUmVnYXJkcywKQ2hyaXN0aWFu LgoKQW0gMDIuMDkuMTkgdW0gMTY6NDcgc2NocmllYiBLZW5ueSBIbzoKPiBBaCBvaywgdGhhbmtz IGZvciB0aGUgZXhwbGFuYXRpb24uICBBYm91dCB0aGUgbGFzdCBiaXQsIHdoYXQgaXMgdGhlCj4g cmVhc29uIGJlaGluZCB0aGUgZGlmZmVyZW5jZXMgaW4gcGFnZSBzaXplPyAgKEkgYXNzdW1lIHRo YXQncyB3aGF0IHlvdQo+IG1lYW50IGJ5IFBURT8gIE9yIGlzIHRoYXQgc29tZXRoaW5nIGVsc2U/ KQo+Cj4gUmVnYXJkcywKPiBLZW5ueQo+Cj4gT24gTW9uLCBTZXAgMiwgMjAxOSBhdCAxMDozMSBB TSBDaHJpc3RpYW4gS8O2bmlnCj4gPGNrb2VuaWcubGVpY2h0enVtZXJrZW5AZ21haWwuY29tPiB3 cm90ZToKPj4gSGkgS2VubnksCj4+Cj4+IFdoZW4gd2UgZG8gYSBDUyB3ZSBoYXZlIGEgY2VydGFp biBzZXQgb2YgYnVmZmVycyB3aGljaCB0aGUgc3VibWlzc2lvbiBpcwo+PiB3b3JraW5nIHdpdGgg YW5kIGFyZSBsb2NrZWQgZG93biB3aGlsZSB3ZSBwcmVwYXJlIHRoZSBzdWJtaXNzaW9uLgo+Pgo+ PiBUaGlzIHdvcmtpbmcgc2V0IGNvbnRhaW5zIG9mIHRoZSBidWZmZXJzIGluIHRoZSBCTyBsaXN0 IGFzIHdlbGwgYXMgdGhlCj4+IG9uZSBpbiB0aGUgVk0gcGx1cyBvbmUgb3IgdHdvIGZvciBDU0Eg YW5kIHVzZXIgZmVuY2VzIGV0Yy4uCj4+Cj4+IE5vdyB3aGF0IGNhbiBoYXBwZW4gaXMgdGhhdCB3 ZSBmaW5kIHRoYXQgd2UgbmVlZCB0byBhbGxvY2F0ZSBzb21lIHBhZ2UKPj4gdGFibGVzIGR1cmlu ZyB0aGUgQ1MgYW5kIHdoZW4gYSBsb3Qgb2YgQk9zIGFyZSBsb2NrZWQgZG93biBhbGxvY2F0aW5n IGEKPj4gcGFnZSB0YWJsZSBjYW4gZmFpbCBiZWNhdXNlIHdlIGNhbid0IGV2aWN0IG90aGVyIEJP cy4KPj4KPj4gV2hhdCB0aGlzIGNvZGUgdHJpZXMgdG9kbyBpcyB0byBldmljdCBzdHVmZiBmcm9t IHRoZSBCTyBsaXN0IHRvIG1ha2UKPj4gcm9vbSBmb3IgVk0gQk9zLCBidXQgc2luY2Ugbm93IG11 Y2ggbW9yZSBCT3MgYXJlIGJvdW5kIHRvIHRoZSBWTSB0aGlzCj4+IGRvZXNuJ3Qgd29yayBhbnkg bW9yZS4KPj4KPj4KPj4gVGhlIHJvb3Qgb2YgdGhlIHByb2JsZW0gaXMgdGhhdCBpdCBpcyByZWFs bHkgdHJpY2t5IHRvIGZpZ3VyZSBvdXQgaG93Cj4+IG11Y2ggbWVtb3J5IHlvdSBuZWVkIGZvciB0 aGUgcGFnZSB0YWJsZXMgaW4gdGhlIGZpcnN0IHBsYWNlLiBTZWUgZm9yIGEKPj4gQk8gaW4gVlJB TSB3ZSB1c3VhbGx5IG5lZWQgb25seSBvbmUgUFRFIGZvciBlYWNoIDJNQiwgYnV0IGZvciBhIEJP IGluCj4+IHN5c3RlbSBtZW1vcnkgd2UgbmVlZCBvbmUgUFRFIGZvciBlYWNoIDRLIG9mIG1lbW9y eS4KPj4KPj4gU28gd2hhdCBjYW4gaGFwcGVuIGlzIHRoYXQgeW91IGV2aWN0IHNvbWV0aGluZyBm cm9tIFZSQU0gYmVjYXVzZSB5b3UKPj4gbmVlZCByb29tIGFuZCB0aGF0IGV2aWN0aW9uIGluIHR1 cm4gbWFrZXMgeW91IG5lZWQgZXZlbiBtb3JlIHJvb20uLi4uLgo+Pgo+PiBJdCBjYW4gdGFrZSBh IHdoaWxlIHVudGlsIHRoaXMgcmVhY2hlcyBhIHN0YWJsZSBwb2ludCwgc28gdGhpcyBwYXRjaCBz ZXQKPj4gaGVyZSBzd2l0Y2hlZCBmcm9tIGEgZHluYW1pYyBhcHByb2FjaCB0byBqdXN0IGFzc3Vt aW5nIHRoZSB3b3JzdCBhbmQKPj4gcmVzZXJ2aW5nIHNvbWUgbWVtb3J5IGZvciBwYWdlIHRhYmxl cy4KPj4KPj4gUmVnYXJkcywKPj4gQ2hyaXN0aWFuLgo+Pgo+PiBBbSAwMi4wOS4xOSB1bSAxNjow NyBzY2hyaWViIEtlbm55IEhvOgo+Pj4gSGV5IENocmlzdGlhbiwKPj4+Cj4+PiBDYW4geW91IGdv IGludG8gZGV0YWlscyBhIGJpdCBtb3JlIG9uIHRoZSBob3cgYW5kIHdoeSB0aGlzIGRvZXNuJ3QK Pj4+IHdvcmsgd2VsbCBhbnltb3JlPyAgKHN1Y2ggYXMgaXRzIHJlbGF0aW9uc2hpcCB3aXRoIHBl ciBWTSBCT3M/KSAgSSBhbQo+Pj4gY3VyaW91cyB0byBsZWFybiBtb3JlIGJlY2F1c2UgSSB3YXMg cmVhZGluZyBpbnRvIHRoaXMgY2h1bmsgb2YgY29kZQo+Pj4gZWFybGllci4gIElzIHRoaXMgc29t ZXRoaW5nIHRoYXQgdGhlIFNocmlua2VyIEFQSSBjYW4gaGVscCB3aXRoPwo+Pj4KPj4+IFJlZ2Fy ZHMsCj4+PiBLZW5ueQo+Pj4KPj4+IE9uIE1vbiwgU2VwIDIsIDIwMTkgYXQgNjo1MiBBTSBDaHJp c3RpYW4gS8O2bmlnCj4+PiA8Y2tvZW5pZy5sZWljaHR6dW1lcmtlbkBnbWFpbC5jb20+IHdyb3Rl Ogo+Pj4+IFRyeWluZyB0byBldmljdCB0aGluZ3MgZnJvbSB0aGUgY3VycmVudCB3b3JraW5nIHNl dCBkb2Vzbid0IHdvcmsgdGhhdAo+Pj4+IHdlbGwgYW55bW9yZSBiZWNhdXNlIG9mIHBlciBWTSBC T3MuCj4+Pj4KPj4+PiBSZWx5IG9uIHJlc2VydmluZyBWUkFNIGZvciBwYWdlIHRhYmxlcyB0byBh dm9pZCBjb250ZW50aW9uLgo+Pj4+Cj4+Pj4gU2lnbmVkLW9mZi1ieTogQ2hyaXN0aWFuIEvDtm5p ZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPgo+Pj4+IC0tLQo+Pj4+ICAgIGRyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5oICAgIHwgIDEgLQo+Pj4+ICAgIGRyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2FtZGdwdV9jcy5jIHwgNzEgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K Pj4+PiAgICAyIGZpbGVzIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCA3MSBkZWxldGlvbnMoLSkK Pj4+Pgo+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHUu aCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5oCj4+Pj4gaW5kZXggYTIzNjIx M2Y4ZThlLi5kMTk5NTE1NjczM2UgMTAwNjQ0Cj4+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvYW1kZ3B1LmgKPj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHUuaAo+Pj4+IEBAIC00NzgsNyArNDc4LDYgQEAgc3RydWN0IGFtZGdwdV9jc19wYXJzZXIg ewo+Pj4+ICAgICAgICAgICB1aW50NjRfdCAgICAgICAgICAgICAgICAgICAgICAgIGJ5dGVzX21v dmVkX3Zpc190aHJlc2hvbGQ7Cj4+Pj4gICAgICAgICAgIHVpbnQ2NF90ICAgICAgICAgICAgICAg ICAgICAgICAgYnl0ZXNfbW92ZWQ7Cj4+Pj4gICAgICAgICAgIHVpbnQ2NF90ICAgICAgICAgICAg ICAgICAgICAgICAgYnl0ZXNfbW92ZWRfdmlzOwo+Pj4+IC0gICAgICAgc3RydWN0IGFtZGdwdV9i b19saXN0X2VudHJ5ICAgICAqZXZpY3RhYmxlOwo+Pj4+Cj4+Pj4gICAgICAgICAgIC8qIHVzZXIg ZmVuY2UgKi8KPj4+PiAgICAgICAgICAgc3RydWN0IGFtZGdwdV9ib19saXN0X2VudHJ5ICAgICB1 Zl9lbnRyeTsKPj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1k Z3B1X2NzLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY3MuYwo+Pj4+IGlu ZGV4IGZkOTViNTg2YjU5MC4uMDMxODJkOTY4ZDNkIDEwMDY0NAo+Pj4+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9jcy5jCj4+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X2NzLmMKPj4+PiBAQCAtNDQ3LDc1ICs0NDcsMTIgQEAgc3RhdGlj IGludCBhbWRncHVfY3NfYm9fdmFsaWRhdGUoc3RydWN0IGFtZGdwdV9jc19wYXJzZXIgKnAsCj4+ Pj4gICAgICAgICAgIHJldHVybiByOwo+Pj4+ICAgIH0KPj4+Pgo+Pj4+IC0vKiBMYXN0IHJlc29y dCwgdHJ5IHRvIGV2aWN0IHNvbWV0aGluZyBmcm9tIHRoZSBjdXJyZW50IHdvcmtpbmcgc2V0ICov Cj4+Pj4gLXN0YXRpYyBib29sIGFtZGdwdV9jc190cnlfZXZpY3Qoc3RydWN0IGFtZGdwdV9jc19w YXJzZXIgKnAsCj4+Pj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgYW1k Z3B1X2JvICp2YWxpZGF0ZWQpCj4+Pj4gLXsKPj4+PiAtICAgICAgIHVpbnQzMl90IGRvbWFpbiA9 IHZhbGlkYXRlZC0+YWxsb3dlZF9kb21haW5zOwo+Pj4+IC0gICAgICAgc3RydWN0IHR0bV9vcGVy YXRpb25fY3R4IGN0eCA9IHsgdHJ1ZSwgZmFsc2UgfTsKPj4+PiAtICAgICAgIGludCByOwo+Pj4+ IC0KPj4+PiAtICAgICAgIGlmICghcC0+ZXZpY3RhYmxlKQo+Pj4+IC0gICAgICAgICAgICAgICBy ZXR1cm4gZmFsc2U7Cj4+Pj4gLQo+Pj4+IC0gICAgICAgZm9yICg7JnAtPmV2aWN0YWJsZS0+dHYu aGVhZCAhPSAmcC0+dmFsaWRhdGVkOwo+Pj4+IC0gICAgICAgICAgICBwLT5ldmljdGFibGUgPSBs aXN0X3ByZXZfZW50cnkocC0+ZXZpY3RhYmxlLCB0di5oZWFkKSkgewo+Pj4+IC0KPj4+PiAtICAg ICAgICAgICAgICAgc3RydWN0IGFtZGdwdV9ib19saXN0X2VudHJ5ICpjYW5kaWRhdGUgPSBwLT5l dmljdGFibGU7Cj4+Pj4gLSAgICAgICAgICAgICAgIHN0cnVjdCBhbWRncHVfYm8gKmJvID0gdHRt X3RvX2FtZGdwdV9ibyhjYW5kaWRhdGUtPnR2LmJvKTsKPj4+PiAtICAgICAgICAgICAgICAgc3Ry dWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYgPSBhbWRncHVfdHRtX2FkZXYoYm8tPnRiby5iZGV2KTsK Pj4+PiAtICAgICAgICAgICAgICAgYm9vbCB1cGRhdGVfYnl0ZXNfbW92ZWRfdmlzOwo+Pj4+IC0g ICAgICAgICAgICAgICB1aW50MzJfdCBvdGhlcjsKPj4+PiAtCj4+Pj4gLSAgICAgICAgICAgICAg IC8qIElmIHdlIHJlYWNoZWQgb3VyIGN1cnJlbnQgQk8gd2UgY2FuIGZvcmdldCBpdCAqLwo+Pj4+ IC0gICAgICAgICAgICAgICBpZiAoYm8gPT0gdmFsaWRhdGVkKQo+Pj4+IC0gICAgICAgICAgICAg ICAgICAgICAgIGJyZWFrOwo+Pj4+IC0KPj4+PiAtICAgICAgICAgICAgICAgLyogV2UgY2FuJ3Qg bW92ZSBwaW5uZWQgQk9zIGhlcmUgKi8KPj4+PiAtICAgICAgICAgICAgICAgaWYgKGJvLT5waW5f Y291bnQpCj4+Pj4gLSAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7Cj4+Pj4gLQo+Pj4+ IC0gICAgICAgICAgICAgICBvdGhlciA9IGFtZGdwdV9tZW1fdHlwZV90b19kb21haW4oYm8tPnRi by5tZW0ubWVtX3R5cGUpOwo+Pj4+IC0KPj4+PiAtICAgICAgICAgICAgICAgLyogQ2hlY2sgaWYg dGhpcyBCTyBpcyBpbiBvbmUgb2YgdGhlIGRvbWFpbnMgd2UgbmVlZCBzcGFjZSBmb3IgKi8KPj4+ PiAtICAgICAgICAgICAgICAgaWYgKCEob3RoZXIgJiBkb21haW4pKQo+Pj4+IC0gICAgICAgICAg ICAgICAgICAgICAgIGNvbnRpbnVlOwo+Pj4+IC0KPj4+PiAtICAgICAgICAgICAgICAgLyogQ2hl Y2sgaWYgd2UgY2FuIG1vdmUgdGhpcyBCTyBzb21ld2hlcmUgZWxzZSAqLwo+Pj4+IC0gICAgICAg ICAgICAgICBvdGhlciA9IGJvLT5hbGxvd2VkX2RvbWFpbnMgJiB+ZG9tYWluOwo+Pj4+IC0gICAg ICAgICAgICAgICBpZiAoIW90aGVyKQo+Pj4+IC0gICAgICAgICAgICAgICAgICAgICAgIGNvbnRp bnVlOwo+Pj4+IC0KPj4+PiAtICAgICAgICAgICAgICAgLyogR29vZCB3ZSBjYW4gdHJ5IHRvIG1v dmUgdGhpcyBCTyBzb21ld2hlcmUgZWxzZSAqLwo+Pj4+IC0gICAgICAgICAgICAgICB1cGRhdGVf Ynl0ZXNfbW92ZWRfdmlzID0KPj4+PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICFh bWRncHVfZ21jX3ZyYW1fZnVsbF92aXNpYmxlKCZhZGV2LT5nbWMpICYmCj4+Pj4gLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBhbWRncHVfYm9faW5fY3B1X3Zpc2libGVfdnJhbShibyk7 Cj4+Pj4gLSAgICAgICAgICAgICAgIGFtZGdwdV9ib19wbGFjZW1lbnRfZnJvbV9kb21haW4oYm8s IG90aGVyKTsKPj4+PiAtICAgICAgICAgICAgICAgciA9IHR0bV9ib192YWxpZGF0ZSgmYm8tPnRi bywgJmJvLT5wbGFjZW1lbnQsICZjdHgpOwo+Pj4+IC0gICAgICAgICAgICAgICBwLT5ieXRlc19t b3ZlZCArPSBjdHguYnl0ZXNfbW92ZWQ7Cj4+Pj4gLSAgICAgICAgICAgICAgIGlmICh1cGRhdGVf Ynl0ZXNfbW92ZWRfdmlzKQo+Pj4+IC0gICAgICAgICAgICAgICAgICAgICAgIHAtPmJ5dGVzX21v dmVkX3ZpcyArPSBjdHguYnl0ZXNfbW92ZWQ7Cj4+Pj4gLQo+Pj4+IC0gICAgICAgICAgICAgICBp ZiAodW5saWtlbHkocikpCj4+Pj4gLSAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Cj4+Pj4g LQo+Pj4+IC0gICAgICAgICAgICAgICBwLT5ldmljdGFibGUgPSBsaXN0X3ByZXZfZW50cnkocC0+ ZXZpY3RhYmxlLCB0di5oZWFkKTsKPj4+PiAtICAgICAgICAgICAgICAgbGlzdF9tb3ZlKCZjYW5k aWRhdGUtPnR2LmhlYWQsICZwLT52YWxpZGF0ZWQpOwo+Pj4+IC0KPj4+PiAtICAgICAgICAgICAg ICAgcmV0dXJuIHRydWU7Cj4+Pj4gLSAgICAgICB9Cj4+Pj4gLQo+Pj4+IC0gICAgICAgcmV0dXJu IGZhbHNlOwo+Pj4+IC19Cj4+Pj4gLQo+Pj4+ICAgIHN0YXRpYyBpbnQgYW1kZ3B1X2NzX3ZhbGlk YXRlKHZvaWQgKnBhcmFtLCBzdHJ1Y3QgYW1kZ3B1X2JvICpibykKPj4+PiAgICB7Cj4+Pj4gICAg ICAgICAgIHN0cnVjdCBhbWRncHVfY3NfcGFyc2VyICpwID0gcGFyYW07Cj4+Pj4gICAgICAgICAg IGludCByOwo+Pj4+Cj4+Pj4gLSAgICAgICBkbyB7Cj4+Pj4gLSAgICAgICAgICAgICAgIHIgPSBh bWRncHVfY3NfYm9fdmFsaWRhdGUocCwgYm8pOwo+Pj4+IC0gICAgICAgfSB3aGlsZSAociA9PSAt RU5PTUVNICYmIGFtZGdwdV9jc190cnlfZXZpY3QocCwgYm8pKTsKPj4+PiArICAgICAgIHIgPSBh bWRncHVfY3NfYm9fdmFsaWRhdGUocCwgYm8pOwo+Pj4+ICAgICAgICAgICBpZiAocikKPj4+PiAg ICAgICAgICAgICAgICAgICByZXR1cm4gcjsKPj4+Pgo+Pj4+IEBAIC01NTQsOSArNDkxLDYgQEAg c3RhdGljIGludCBhbWRncHVfY3NfbGlzdF92YWxpZGF0ZShzdHJ1Y3QgYW1kZ3B1X2NzX3BhcnNl ciAqcCwKPj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpbmRpbmdfdXNlcnB0ciA9IHRy dWU7Cj4+Pj4gICAgICAgICAgICAgICAgICAgfQo+Pj4+Cj4+Pj4gLSAgICAgICAgICAgICAgIGlm IChwLT5ldmljdGFibGUgPT0gbG9iaikKPj4+PiAtICAgICAgICAgICAgICAgICAgICAgICBwLT5l dmljdGFibGUgPSBOVUxMOwo+Pj4+IC0KPj4+PiAgICAgICAgICAgICAgICAgICByID0gYW1kZ3B1 X2NzX3ZhbGlkYXRlKHAsIGJvKTsKPj4+PiAgICAgICAgICAgICAgICAgICBpZiAocikKPj4+PiAg ICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByOwo+Pj4+IEBAIC02NTksOSArNTkzLDYg QEAgc3RhdGljIGludCBhbWRncHVfY3NfcGFyc2VyX2JvcyhzdHJ1Y3QgYW1kZ3B1X2NzX3BhcnNl ciAqcCwKPj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZw LT5ieXRlc19tb3ZlZF92aXNfdGhyZXNob2xkKTsKPj4+PiAgICAgICAgICAgcC0+Ynl0ZXNfbW92 ZWQgPSAwOwo+Pj4+ICAgICAgICAgICBwLT5ieXRlc19tb3ZlZF92aXMgPSAwOwo+Pj4+IC0gICAg ICAgcC0+ZXZpY3RhYmxlID0gbGlzdF9sYXN0X2VudHJ5KCZwLT52YWxpZGF0ZWQsCj4+Pj4gLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGFtZGdwdV9ib19saXN0 X2VudHJ5LAo+Pj4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR2Lmhl YWQpOwo+Pj4+Cj4+Pj4gICAgICAgICAgIHIgPSBhbWRncHVfdm1fdmFsaWRhdGVfcHRfYm9zKHAt PmFkZXYsICZmcHJpdi0+dm0sCj4+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGFtZGdwdV9jc192YWxpZGF0ZSwgcCk7Cj4+Pj4gLS0KPj4+PiAyLjE3LjEKPj4+Pgo+ Pj4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4+Pj4g YW1kLWdmeCBtYWlsaW5nIGxpc3QKPj4+PiBhbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+ Pj4+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdm eAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gYW1k LWdmeCBtYWlsaW5nIGxpc3QKPiBhbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeAoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYW1kLWdmeCBtYWlsaW5n IGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4