From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH v2 1/6] drm/i915: Stop tracking timeline->inflight_seqnos Date: Tue, 24 Apr 2018 11:14:21 +0100 Message-ID: References: <20180423180854.24219-1-chris@chris-wilson.co.uk> 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 ESMTPS id 79ED56E3CA for ; Tue, 24 Apr 2018 10:14:23 +0000 (UTC) In-Reply-To: <20180423180854.24219-1-chris@chris-wilson.co.uk> Content-Language: en-GB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chris Wilson , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Ck9uIDIzLzA0LzIwMTggMTk6MDgsIENocmlzIFdpbHNvbiB3cm90ZToKPiBJbiBjb21taXQgOWI2 NTg2YWU5ZjZiICgiZHJtL2k5MTU6IEtlZXAgYSBnbG9iYWwgc2Vxbm8gcGVyLWVuZ2luZSIpLCB3 ZQo+IG1vdmVkIGZyb20gYSBnbG9iYWwgaW5mbGlnaHQgY291bnRlciB0byBwZXItZW5naW5lIGNv dW50ZXJzIGluIHRoZQo+IGhvcGUgdGhhdCB3aWxsIGJlIGVhc3kgdG8gcnVuIGNvbmN1cnJlbnRs eSBpbiBmdXR1cmUuIEhvd2V2ZXIsIHdpdGggdGhlCj4gYWR2ZW50IG9mIHRoZSBkZXNpcmUgdG8g bW92ZSByZXF1ZXN0cyBiZXR3ZWVuIGVuZ2luZXMsIHdlIGRvIG5lZWQgYQo+IGdsb2JhbCBjb3Vu dGVyIHRvIHByZXNlcnZlIHRoZSBzZW1hbnRpY3MgdGhhdCBubyBlbmdpbmUgd3JhcHMgaW4gdGhl Cj4gbWlkZGxlIG9mIGEgc3VibWl0LiAoQWx0aG91Z2ggdGhpcyBzZW1hbnRpYyBpcyBub3cgb25s eSByZXF1aXJlZCBmb3IgZ2VuNwo+IHNlbWFwaG9yZSBzdXBwb3J0LCB3aGljaCBvbmx5IHN1cHBv cnRzIGdyZWF0ZXItdGhlbiBjb21wYXJpc29ucyEpCj4gCj4gdjI6IEtlZXAgYSBnbG9iYWwgY291 bnRlciBvZiBhbGwgcmVxdWVzdHMgZXZlciBzdWJtaXR0ZWQgYW5kIGZvcmNlIHRoZQo+IHJlc2V0 IHdoZW4gaXQgd3JhcHMuCj4gCj4gUmVmZXJlbmNlczogOWI2NTg2YWU5ZjZiICgiZHJtL2k5MTU6 IEtlZXAgYSBnbG9iYWwgc2Vxbm8gcGVyLWVuZ2luZSIpCj4gU2lnbmVkLW9mZi1ieTogQ2hyaXMg V2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Cj4gQ2M6IFR2cnRrbyBVcnN1bGluIDx0 dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+Cj4gLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2RlYnVnZnMuYyAgICAgIHwgIDUgKystLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuaCAgICAgICAgICB8ICAxICsKPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt X3RpbWVsaW5lLmggfCAgNiAtLS0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZXF1 ZXN0LmMgICAgICB8IDMzICsrKysrKysrKysrKy0tLS0tLS0tLS0tLQo+ICAgZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMgICB8ICA1ICsrLS0KPiAgIDUgZmlsZXMgY2hhbmdl ZCwgMjIgaW5zZXJ0aW9ucygrKSwgMjggZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kZWJ1Z2ZzLmMKPiBpbmRleCAyZjA1ZjUyNjJiYmEuLjU0N2U5NzEwMmI4NSAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCj4gQEAgLTEzNDAsMTAgKzEzNDAsOSBAQCBz dGF0aWMgaW50IGk5MTVfaGFuZ2NoZWNrX2luZm8oc3RydWN0IHNlcV9maWxlICptLCB2b2lkICp1 bnVzZWQpCj4gICAJCXN0cnVjdCByYl9ub2RlICpyYjsKPiAgIAo+ICAgCQlzZXFfcHJpbnRmKG0s ICIlczpcbiIsIGVuZ2luZS0+bmFtZSk7Cj4gLQkJc2VxX3ByaW50ZihtLCAiXHRzZXFubyA9ICV4 IFtjdXJyZW50ICV4LCBsYXN0ICV4XSwgaW5mbGlnaHQgJWRcbiIsCj4gKwkJc2VxX3ByaW50Ziht LCAiXHRzZXFubyA9ICV4IFtjdXJyZW50ICV4LCBsYXN0ICV4XVxuIiwKPiAgIAkJCSAgIGVuZ2lu ZS0+aGFuZ2NoZWNrLnNlcW5vLCBzZXFub1tpZF0sCj4gLQkJCSAgIGludGVsX2VuZ2luZV9sYXN0 X3N1Ym1pdChlbmdpbmUpLAo+IC0JCQkgICBlbmdpbmUtPnRpbWVsaW5lLT5pbmZsaWdodF9zZXFu b3MpOwo+ICsJCQkgICBpbnRlbF9lbmdpbmVfbGFzdF9zdWJtaXQoZW5naW5lKSk7Cj4gICAJCXNl cV9wcmludGYobSwgIlx0d2FpdGVycz8gJXMsIGZha2UgaXJxIGFjdGl2ZT8gJXMsIHN0YWxsZWQ/ ICVzXG4iLAo+ICAgCQkJICAgeWVzbm8oaW50ZWxfZW5naW5lX2hhc193YWl0ZXIoZW5naW5lKSks Cj4gICAJCQkgICB5ZXNubyh0ZXN0X2JpdChlbmdpbmUtPmlkLAo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuaAo+IGluZGV4IDg0NDRjYThkNWFhMy4uOGZkOWZiNmVmYmE1IDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2Rydi5oCj4gQEAgLTIwNjEsNiArMjA2MSw3IEBAIHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlIHsKPiAgIAkJc3RydWN0IGxpc3RfaGVhZCB0aW1lbGluZXM7Cj4gICAJCXN0cnVjdCBpOTE1 X2dlbV90aW1lbGluZSBnbG9iYWxfdGltZWxpbmU7Cj4gICAJCXUzMiBhY3RpdmVfcmVxdWVzdHM7 Cj4gKwkJdTMyIHJlcXVlc3Rfc2VyaWFsOwo+ICAgCj4gICAJCS8qKgo+ICAgCQkgKiBJcyB0aGUg R1BVIGN1cnJlbnRseSBjb25zaWRlcmVkIGlkbGUsIG9yIGJ1c3kgZXhlY3V0aW5nCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3RpbWVsaW5lLmggYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbV90aW1lbGluZS5oCj4gaW5kZXggMzNlMDFiZjZhYTM2Li42 ZTgyMTE5ZTJjZDggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f dGltZWxpbmUuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3RpbWVsaW5l LmgKPiBAQCAtMzcsMTIgKzM3LDYgQEAgc3RydWN0IGludGVsX3RpbWVsaW5lIHsKPiAgIAl1NjQg ZmVuY2VfY29udGV4dDsKPiAgIAl1MzIgc2Vxbm87Cj4gICAKPiAtCS8qKgo+IC0JICogQ291bnQg b2Ygb3V0c3RhbmRpbmcgcmVxdWVzdHMsIGZyb20gdGhlIHRpbWUgdGhleSBhcmUgY29uc3RydWN0 ZWQKPiAtCSAqIHRvIHRoZSBtb21lbnQgdGhleSBhcmUgcmV0aXJlZC4gTG9vc2VseSBjb3VwbGVk IHRvIGhhcmR3YXJlLgo+IC0JICovCj4gLQl1MzIgaW5mbGlnaHRfc2Vxbm9zOwo+IC0KPiAgIAlz cGlubG9ja190IGxvY2s7Cj4gICAKPiAgIAkvKioKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9yZXF1ZXN0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlcXVl c3QuYwo+IGluZGV4IGI2OTJhOWY3YzM1Ny4uZjNkMDRmMGFiMjFjIDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVxdWVzdC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9yZXF1ZXN0LmMKPiBAQCAtMjQxLDYgKzI0MSw3IEBAIHN0YXRpYyBpbnQgcmVz ZXRfYWxsX2dsb2JhbF9zZXFubyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwgdTMyIHNl cW5vKQo+ICAgCQkJICAgICAgIHNpemVvZih0aW1lbGluZS0+ZW5naW5lW2lkXS5nbG9iYWxfc3lu YykpOwo+ICAgCX0KPiAgIAo+ICsJaTkxNS0+Z3QucmVxdWVzdF9zZXJpYWwgPSBzZXFubzsKPiAg IAlyZXR1cm4gMDsKPiAgIH0KPiAgIAo+IEBAIC0yNTcsMTggKzI1OCwyMiBAQCBpbnQgaTkxNV9n ZW1fc2V0X2dsb2JhbF9zZXFubyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1MzIgc2Vxbm8pCj4g ICAJcmV0dXJuIHJlc2V0X2FsbF9nbG9iYWxfc2Vxbm8oaTkxNSwgc2Vxbm8gLSAxKTsKPiAgIH0K PiAgIAo+IC1zdGF0aWMgaW50IHJlc2VydmVfZW5naW5lKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3Mg KmVuZ2luZSkKPiArc3RhdGljIGludCByZXNlcnZlX2d0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICppOTE1KQo+ICAgewo+IC0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSBlbmdpbmUt Pmk5MTU7Cj4gLQl1MzIgYWN0aXZlID0gKytlbmdpbmUtPnRpbWVsaW5lLT5pbmZsaWdodF9zZXFu b3M7Cj4gLQl1MzIgc2Vxbm8gPSBlbmdpbmUtPnRpbWVsaW5lLT5zZXFubzsKPiAgIAlpbnQgcmV0 Owo+ICAgCj4gLQkvKiBSZXNlcnZhdGlvbiBpcyBmaW5lIHVudGlsIHdlIG5lZWQgdG8gd3JhcCBh cm91bmQgKi8KPiAtCWlmICh1bmxpa2VseShhZGRfb3ZlcmZsb3dzKHNlcW5vLCBhY3RpdmUpKSkg ewo+ICsJLyoKPiArCSAqIFJlc2VydmF0aW9uIGlzIGZpbmUgdW50aWwgd2UgbWF5IG5lZWQgdG8g d3JhcCBhcm91bmQKPiArCSAqCj4gKwkgKiBCeSBpbmNyZW1lbnRpbmcgdGhlIHNlcmlhbCBmb3Ig ZXZlcnkgcmVxdWVzdCwgd2Uga25vdyB0aGF0IG5vCj4gKwkgKiBpbmRpdmlkdWFsIGVuZ2luZSBt YXkgZXhjZWVkIHRoYXQgc2VyaWFsIChhcyBlYWNoIGlzIHJlc2V0IHRvIDAKPiArCSAqIG9uIGFu eSB3cmFwKS4gVGhpcyBwcm90ZWN0cyBldmVuIHRoZSBtb3N0IHBlc3NpbWlzdGljIG9mIG1pZ3Jh dGlvbnMKPiArCSAqIG9mIGV2ZXJ5IHJlcXVlc3QgZnJvbSBhbGwgZW5naW5lcyBvbnRvIGp1c3Qg b25lLgo+ICsJICovCgpJIGRpZG4ndCByZWFsbHkgZmlndXJlIG91dCB3aGF0IHdhcyB3cm9uZyB3 aXRoIHYxPyBOZWl0aGVyIGNvdWxkIGhhbmRsZSAKbW9yZSB0aGFuIGZvdXIgYmlsbGlvbiBvZiBz aW11bHRhbmVvdXNseSBhY3RpdmUgcmVxdWVzdHMgLSBidXQgSSB0aG91Z2h0IAp0aGF0IHNob3Vs ZCBub3QgY29uY2VybiB1cy4gOikKCkkgZG9uJ3QgcXVpdGUgZ2V0IHdyYXBwaW5nIGJhc2VkIG9u IG90aGVyd2lzZSB1bnVzZWQgY291bnRlci4KCnYxIG1hZGUgc2Vuc2UgdG8gd3JhcCB0aGVuIGFu eSBlbmdpbmUgdGltZWxpbmUgY291bGRuJ3QgaGFuZGxlIGFsbCAKYWN0aXZlIHJlcXVlc3RzIHdp dGhvdXQgd3JhcHBpbmcuCgo+ICsJaWYgKHVubGlrZWx5KCsraTkxNS0+Z3QucmVxdWVzdF9zZXJp YWwgPT0gMCkpIHsKPiAgIAkJcmV0ID0gcmVzZXRfYWxsX2dsb2JhbF9zZXFubyhpOTE1LCAwKTsK PiAgIAkJaWYgKHJldCkgewo+IC0JCQllbmdpbmUtPnRpbWVsaW5lLT5pbmZsaWdodF9zZXFub3Mt LTsKPiArCQkJaTkxNS0+Z3QucmVxdWVzdF9zZXJpYWwtLTsKPiAgIAkJCXJldHVybiByZXQ7Cj4g ICAJCX0KPiAgIAl9Cj4gQEAgLTI3OSwxNSArMjg0LDEwIEBAIHN0YXRpYyBpbnQgcmVzZXJ2ZV9l bmdpbmUoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQo+ICAgCXJldHVybiAwOwo+ICAg fQo+ICAgCj4gLXN0YXRpYyB2b2lkIHVucmVzZXJ2ZV9lbmdpbmUoc3RydWN0IGludGVsX2VuZ2lu ZV9jcyAqZW5naW5lKQo+ICtzdGF0aWMgdm9pZCB1bnJlc2VydmVfZ3Qoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmk5MTUpCj4gICB7Cj4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9 IGVuZ2luZS0+aTkxNTsKPiAtCj4gICAJaWYgKCEtLWk5MTUtPmd0LmFjdGl2ZV9yZXF1ZXN0cykK PiAgIAkJaTkxNV9nZW1fcGFyayhpOTE1KTsKPiAtCj4gLQlHRU1fQlVHX09OKCFlbmdpbmUtPnRp bWVsaW5lLT5pbmZsaWdodF9zZXFub3MpOwo+IC0JZW5naW5lLT50aW1lbGluZS0+aW5mbGlnaHRf c2Vxbm9zLS07Cj4gICB9Cj4gICAKPiAgIHZvaWQgaTkxNV9nZW1fcmV0aXJlX25vb3Aoc3RydWN0 IGk5MTVfZ2VtX2FjdGl2ZSAqYWN0aXZlLAo+IEBAIC0zNjIsNyArMzYyLDYgQEAgc3RhdGljIHZv aWQgaTkxNV9yZXF1ZXN0X3JldGlyZShzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpyZXF1ZXN0KQo+ICAg CWxpc3RfZGVsX2luaXQoJnJlcXVlc3QtPmxpbmspOwo+ICAgCXNwaW5fdW5sb2NrX2lycSgmZW5n aW5lLT50aW1lbGluZS0+bG9jayk7Cj4gICAKPiAtCXVucmVzZXJ2ZV9lbmdpbmUocmVxdWVzdC0+ ZW5naW5lKTsKPiAgIAlhZHZhbmNlX3JpbmcocmVxdWVzdCk7Cj4gICAKPiAgIAlmcmVlX2NhcHR1 cmVfbGlzdChyZXF1ZXN0KTsKPiBAQCAtNDI0LDYgKzQyMyw4IEBAIHN0YXRpYyB2b2lkIGk5MTVf cmVxdWVzdF9yZXRpcmUoc3RydWN0IGk5MTVfcmVxdWVzdCAqcmVxdWVzdCkKPiAgIAl9Cj4gICAJ c3Bpbl91bmxvY2tfaXJxKCZyZXF1ZXN0LT5sb2NrKTsKPiAgIAo+ICsJdW5yZXNlcnZlX2d0KHJl cXVlc3QtPmk5MTUpOwo+ICsKPiAgIAlpOTE1X3NjaGVkX25vZGVfZmluaShyZXF1ZXN0LT5pOTE1 LCAmcmVxdWVzdC0+c2NoZWQpOwo+ICAgCWk5MTVfcmVxdWVzdF9wdXQocmVxdWVzdCk7Cj4gICB9 Cj4gQEAgLTY0Miw3ICs2NDMsNyBAQCBpOTE1X3JlcXVlc3RfYWxsb2Moc3RydWN0IGludGVsX2Vu Z2luZV9jcyAqZW5naW5lLCBzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4KQo+ICAgCQlyZXR1 cm4gRVJSX0NBU1QocmluZyk7Cj4gICAJR0VNX0JVR19PTighcmluZyk7Cj4gICAKPiAtCXJldCA9 IHJlc2VydmVfZW5naW5lKGVuZ2luZSk7Cj4gKwlyZXQgPSByZXNlcnZlX2d0KGk5MTUpOwoKTWF5 YmUgbW9yZSBkZXNjcmlwdGl2ZSBuYW1lPyByZXNlcnZlX2d0X2dsb2JhbF9zZXFubz8KCj4gICAJ aWYgKHJldCkKPiAgIAkJZ290byBlcnJfdW5waW47Cj4gICAKPiBAQCAtNzg0LDcgKzc4NSw3IEBA IGk5MTVfcmVxdWVzdF9hbGxvYyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsIHN0cnVj dCBpOTE1X2dlbV9jb250ZXh0ICpjdHgpCj4gICAKPiAgIAlrbWVtX2NhY2hlX2ZyZWUoaTkxNS0+ cmVxdWVzdHMsIHJxKTsKPiAgIGVycl91bnJlc2VydmU6Cj4gLQl1bnJlc2VydmVfZW5naW5lKGVu Z2luZSk7Cj4gKwl1bnJlc2VydmVfZ3QoaTkxNSk7Cj4gICBlcnJfdW5waW46Cj4gICAJZW5naW5l LT5jb250ZXh0X3VucGluKGVuZ2luZSwgY3R4KTsKPiAgIAlyZXR1cm4gRVJSX1BUUihyZXQpOwo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfY3MuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV9jcy5jCj4gaW5kZXggYmU2MDhmNzExMWY1 Li5hNTVhODQ5YjgxYjYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZW5naW5lX2NzLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfY3Mu Ywo+IEBAIC0xMzE4LDEyICsxMzE4LDExIEBAIHZvaWQgaW50ZWxfZW5naW5lX2R1bXAoc3RydWN0 IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLAo+ICAgCWlmIChpOTE1X3Rlcm1pbmFsbHlfd2VkZ2Vk KCZlbmdpbmUtPmk5MTUtPmdwdV9lcnJvcikpCj4gICAJCWRybV9wcmludGYobSwgIioqKiBXRURH RUQgKioqXG4iKTsKPiAgIAo+IC0JZHJtX3ByaW50ZihtLCAiXHRjdXJyZW50IHNlcW5vICV4LCBs YXN0ICV4LCBoYW5nY2hlY2sgJXggWyVkIG1zXSwgaW5mbGlnaHQgJWRcbiIsCj4gKwlkcm1fcHJp bnRmKG0sICJcdGN1cnJlbnQgc2Vxbm8gJXgsIGxhc3QgJXgsIGhhbmdjaGVjayAleCBbJWQgbXNd XG4iLAo+ICAgCQkgICBpbnRlbF9lbmdpbmVfZ2V0X3NlcW5vKGVuZ2luZSksCj4gICAJCSAgIGlu dGVsX2VuZ2luZV9sYXN0X3N1Ym1pdChlbmdpbmUpLAo+ICAgCQkgICBlbmdpbmUtPmhhbmdjaGVj ay5zZXFubywKPiAtCQkgICBqaWZmaWVzX3RvX21zZWNzKGppZmZpZXMgLSBlbmdpbmUtPmhhbmdj aGVjay5hY3Rpb25fdGltZXN0YW1wKSwKPiAtCQkgICBlbmdpbmUtPnRpbWVsaW5lLT5pbmZsaWdo dF9zZXFub3MpOwo+ICsJCSAgIGppZmZpZXNfdG9fbXNlY3MoamlmZmllcyAtIGVuZ2luZS0+aGFu Z2NoZWNrLmFjdGlvbl90aW1lc3RhbXApKTsKPiAgIAlkcm1fcHJpbnRmKG0sICJcdFJlc2V0IGNv dW50OiAlZCAoZ2xvYmFsICVkKVxuIiwKPiAgIAkJICAgaTkxNV9yZXNldF9lbmdpbmVfY291bnQo ZXJyb3IsIGVuZ2luZSksCj4gICAJCSAgIGk5MTVfcmVzZXRfY291bnQoZXJyb3IpKTsKPiAKClJl Z2FyZHMsCgpUdnJ0a28KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwt Z2Z4Cg==