From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Gordon Subject: Re: [PATCH v3 3/3] drm/i915: tidy up a few leftovers Date: Wed, 13 Jan 2016 12:41:57 +0000 Message-ID: <56964615.8080905@intel.com> References: <1452162052-22573-1-git-send-email-david.s.gordon@intel.com> <1452162052-22573-4-git-send-email-david.s.gordon@intel.com> <20160112135301.GJ4588@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id 34FDF6E774 for ; Wed, 13 Jan 2016 04:41:59 -0800 (PST) In-Reply-To: <20160112135301.GJ4588@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniel Vetter Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gMTIvMDEvMTYgMTM6NTMsIERhbmllbCBWZXR0ZXIgd3JvdGU6Cj4gT24gVGh1LCBKYW4gMDcs IDIwMTYgYXQgMTA6MjA6NTJBTSArMDAwMCwgRGF2ZSBHb3Jkb24gd3JvdGU6Cj4+IFRoZXJlIGFy ZSBhIGZldyBiaXRzIG9mIGNvZGUgd2hpY2ggdGhlIHRyYW5zZm9ybWF0aW9ucyBpbXBsZW1lbnRl ZCBieQo+PiB0aGUgcHJldmlvdXMgcGF0Y2ggcmV2ZWFsIHRvIGJlIHN1Ym9wdGltYWwsIG9uY2Ug dGhlIG5vdGlvbiBvZiBhIHBlci0KPj4gcmluZyBkZWZhdWx0IGNvbnRleHQgaGFzIGdvbmUgYXdh eS4gU28gdGhpcyB0aWRpZXMgdXAgdGhlIGxlZnRvdmVycy4KPj4KPj4gSXQgY291bGQgaGF2ZSBi ZWVuIHNxdWFzaGVkIGludG8gdGhlIHByZXZpb3VzIHBhdGNoLCBidXQgdGhhdCB3b3VsZCBoYXZl Cj4+IG1hZGUgdGhhdCBwYXRjaCBsZXNzIGNsZWFybHkgYSBzaW1wbGUgdHJhbnNmb3JtYXRpb24u IEluIHBhcnRpY3VsYXIsIGFueQo+PiBjaGFuZ2Ugd2hpY2ggYWx0ZXJzIHRoZSBjb2RlIGJsb2Nr IHN0cnVjdHVyZSBvciBpbmRlbnRhdGlvbiBoYXMgYmVlbgo+PiBkZWZlcnJlZCBpbnRvIHRoaXMg c2VwYXJhdGUgcGF0Y2gsIGJlY2F1c2Ugc3VjaCB0aGluZ3MgdGVuZCB0byBtYWtlIGRpZmZzCj4+ IG1vcmUgZGlmZmljdWx0IHRvIHJlYWQuCj4+Cj4+IFNpZ25lZC1vZmYtYnk6IERhdmUgR29yZG9u IDxkYXZpZC5zLmdvcmRvbkBpbnRlbC5jb20+Cj4KPiBZZWFoIEkgdGhpbmsgdGhpcyB3YXMgZ29v ZCB0byBiZSBzcGxpdCB1cCwgc2luY2UgSSdtIG5vdCBjb252aW5jZWQgaXQncwo+IGEgbmV0IGlt cHJvdmVtZW50IChmcm9tIGEgcXVpY2sgbG9vayBhdCBsZWFzdCkuIFN0aWxsIHBsZW50eSBvZiBk ZWZhdWx0Cj4gY29udGV4dCBjaGVja3MgdGhhdCBzZWVtIHN1cGVyZmx1b3VzIChlLmcuIG5vdCBw aW5uaW5nIHRoZSBkZWZhdWx0IGNvbnRleHQKPiB3aGVuIGdvaW5nIHRocm91Z2ggZXhlY2xpc3Qg c3VibWlzc2lvbiBpcyBpbW8gYSBuZWVkbGVzcyBzcGVjaWFsIGNhc2UgLQo+IGJlc2lkZXMgdGhh dCB3ZSByZWFsbHkgc2hvdWxkIHVzZSBhY3RpdmUgdHJhY2tpbmcpLgo+Cj4gU28gSSdsbCByZWZy YWluIGZyb20gYWNrIG9yIG5hY2sgb24gdGhpcyBvbmUuCj4gLURhbmllbAo+Cj4+IC0tLQo+PiAg IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jIHwgMTUgKysrKystLS0tLS0tLS0t Cj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyAgICAgfCAgNiArKy0tLS0KPj4g ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyAgICB8IDM4ICsrKysrKysrKysrKysr KysrLS0tLS0tLS0tLS0tLS0tLS0tLS0KPj4gICAzIGZpbGVzIGNoYW5nZWQsIDI0IGluc2VydGlv bnMoKyksIDM1IGRlbGV0aW9ucygtKQo+Pgo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMu Ywo+PiBpbmRleCAyNjEzNzA4Li5iYmIyM2RhIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2RlYnVnZnMuYwo+PiBAQCAtMTk0MiwxMSArMTk0Miw4IEBAIHN0YXRpYyBpbnQgaTkxNV9jb250 ZXh0X3N0YXR1cyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKnVudXNlZCkKPj4KPj4gICAJCXNl cV9wdXRzKG0sICJIVyBjb250ZXh0ICIpOwo+PiAgIAkJZGVzY3JpYmVfY3R4KG0sIGN0eCk7Cj4+ IC0JCWZvcl9lYWNoX3JpbmcocmluZywgZGV2X3ByaXYsIGkpIHsKPj4gLQkJCWlmIChkZXZfcHJp di0+a2VybmVsX2NvbnRleHQgPT0gY3R4KQo+PiAtCQkJCXNlcV9wcmludGYobSwgIihkZWZhdWx0 IGNvbnRleHQgJXMpICIsCj4+IC0JCQkJCSAgIHJpbmctPm5hbWUpOwo+PiAtCQl9Cj4+ICsJCWlm IChjdHggPT0gZGV2X3ByaXYtPmtlcm5lbF9jb250ZXh0KQo+PiArCQkJc2VxX3ByaW50ZihtLCAi KGtlcm5lbCBjb250ZXh0KSAiKTsKClRoaXMgaXMgcmVwbGFjaW5nIHRoZSBtdWx0aXBsZSBtZXNz YWdlcyBpbiB0aGUgZGVidWdmcyBvdXRwdXQ6CiIoZGVmYXVsdCBjb250ZXh0IHJlbmRlciByaW5n KSAoZGVmYXVsdCBjb250ZXh0IGJsaXR0ZXIgcmluZykgKGRlZmF1bHQgCmNvbnRleHQgLi4uIgoo d2hpY2ggYXJlIHJlZHVuZGFudCBiZWNhdXNlIHRoZSBzYW1lIGNvbnRleHQgaXMgdGhlIGRlZmF1 bHQgZm9yIGFsbCAKcmluZ3MpIHdpdGggdGhlIHNpbmdsZSBtb3JlIGNvbmNpc2UgbWVzc2FnZSAi KGtlcm5lbCBjb250ZXh0KSIuCgpPbmUgcGFydCBvZiBvbmUgb2YgQ2hyaXMnIHBhdGNoZXMgZG9l cyB0aGUgc2FtZSBvciBhbiBlcXVpdmFsZW50IHRoaW5nLCAKc28gSSBkb24ndCB0aGluayBpdCdz IGNvbnRlbnRpb3VzLgoKPj4KPj4gICAJCWlmIChpOTE1LmVuYWJsZV9leGVjbGlzdHMpIHsKPj4g ICAJCQlzZXFfcHV0YyhtLCAnXG4nKTsKPj4gQEAgLTIwMzcsMTMgKzIwMzQsMTEgQEAgc3RhdGlj IGludCBpOTE1X2R1bXBfbHJjKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqdW51c2VkKQo+PiAg IAlpZiAocmV0KQo+PiAgIAkJcmV0dXJuIHJldDsKPj4KPj4gLQlsaXN0X2Zvcl9lYWNoX2VudHJ5 KGN0eCwgJmRldl9wcml2LT5jb250ZXh0X2xpc3QsIGxpbmspIHsKPj4gLQkJZm9yX2VhY2hfcmlu ZyhyaW5nLCBkZXZfcHJpdiwgaSkgewo+PiAtCQkJaWYgKGRldl9wcml2LT5rZXJuZWxfY29udGV4 dCAhPSBjdHgpCj4+ICsJbGlzdF9mb3JfZWFjaF9lbnRyeShjdHgsICZkZXZfcHJpdi0+Y29udGV4 dF9saXN0LCBsaW5rKQo+PiArCQlpZiAoY3R4ICE9IGRldl9wcml2LT5rZXJuZWxfY29udGV4dCkK Pj4gKwkJCWZvcl9lYWNoX3JpbmcocmluZywgZGV2X3ByaXYsIGkpCj4+ICAgCQkJCWk5MTVfZHVt cF9scmNfb2JqKG0sIHJpbmcsCj4+ICAgCQkJCQkJICBjdHgtPmVuZ2luZVtpXS5zdGF0ZSk7Cj4+ IC0JCX0KPj4gLQl9CgpTaW5jZSB3ZSBrbm93IHRoYXQgdGhlcmUgaXMgb25seSBvbmUga2VybmVs IGNvbnRleHQsIHRoZSBpZigpIHNob3VsZCBiZSAKb3V0c2lkZSByYXRoZXIgdGhhbiBvdXRzaWRl IHRoZSBmb3JfZWFjaF9yaW5nKCkuIFRoZSB7fSBhcmUgcmVkdW5kYW50IAphbnl3YXkuCgo+Pgo+ PiAgIAltdXRleF91bmxvY2soJmRldi0+c3RydWN0X211dGV4KTsKPj4KPj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbS5jCj4+IGluZGV4IDhmMTAxMTIxLi40ZjQ1ZWIyIDEwMDY0NAo+PiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtLmMKPj4gQEAgLTI2NzcsMTAgKzI2NzcsOCBAQCB2b2lkIGk5MTVfZ2VtX3JlcXVl c3RfZnJlZShzdHJ1Y3Qga3JlZiAqcmVxX3JlZikKPj4gICAJCWk5MTVfZ2VtX3JlcXVlc3RfcmVt b3ZlX2Zyb21fY2xpZW50KHJlcSk7Cj4+Cj4+ICAgCWlmIChjdHgpIHsKPj4gLQkJaWYgKGk5MTUu ZW5hYmxlX2V4ZWNsaXN0cykgewo+PiAtCQkJaWYgKGN0eCAhPSByZXEtPmk5MTUtPmtlcm5lbF9j b250ZXh0KQo+PiAtCQkJCWludGVsX2xyX2NvbnRleHRfdW5waW4ocmVxKTsKPj4gLQkJfQo+PiAr CQlpZiAoaTkxNS5lbmFibGVfZXhlY2xpc3RzICYmIGN0eCAhPSByZXEtPmk5MTUtPmtlcm5lbF9j b250ZXh0KQo+PiArCQkJaW50ZWxfbHJfY29udGV4dF91bnBpbihyZXEpOwoKVHJpdmlhbCByZXdy aXRlIG9mIHRoZSBuZXN0ZWQgaWYoKSB0byByZWR1Y2UgaW5kZW50YXRpb24uCgpBY3R1YWxseSBy ZW1vdmluZyB0aGlzIHRlc3QgaXMgbGVmdCBmb3IgYSBzdWJzZXF1ZW50IHJhdGlvbmFsaXNhdGlv biBvZiAKdGhlIGV4ZWNsaXN0IGNvZGUgKG9uZSBvZiBDaHJpcycgcGF0Y2hlcyB3aWxsIGRvIGl0 KS4KCj4+Cj4+ICAgCQlpOTE1X2dlbV9jb250ZXh0X3VucmVmZXJlbmNlKGN0eCk7Cj4+ICAgCX0K Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKPj4gaW5kZXggYWFhYTVhMy4uOGM0YzliOSAxMDA2 NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKPj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKPj4gQEAgLTY2MCwxNiArNjYwLDEwIEBAIHN0 YXRpYyBpbnQgZXhlY2xpc3RzX21vdmVfdG9fZ3B1KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVz dCAqcmVxLAo+Pgo+PiAgIGludCBpbnRlbF9sb2dpY2FsX3JpbmdfYWxsb2NfcmVxdWVzdF9leHRy YXMoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXF1ZXN0KQo+PiAgIHsKPj4gLQlpbnQg cmV0Owo+PiArCWludCByZXQgPSAwOwo+Pgo+PiAgIAlyZXF1ZXN0LT5yaW5nYnVmID0gcmVxdWVz dC0+Y3R4LT5lbmdpbmVbcmVxdWVzdC0+cmluZy0+aWRdLnJpbmdidWY7Cj4+Cj4+IC0JaWYgKHJl cXVlc3QtPmN0eCAhPSByZXF1ZXN0LT5pOTE1LT5rZXJuZWxfY29udGV4dCkgewo+PiAtCQlyZXQg PSBpbnRlbF9scl9jb250ZXh0X3BpbihyZXF1ZXN0KTsKPj4gLQkJaWYgKHJldCkKPj4gLQkJCXJl dHVybiByZXQ7Cj4+IC0JfQo+PiAtCj4+ICAgCWlmIChpOTE1LmVuYWJsZV9ndWNfc3VibWlzc2lv bikgewo+PiAgIAkJLyoKPj4gICAJCSAqIENoZWNrIHRoYXQgdGhlIEd1QyBoYXMgc3BhY2UgZm9y IHRoZSByZXF1ZXN0IGJlZm9yZQo+PiBAQCAtNjgzLDcgKzY3NywxMCBAQCBpbnQgaW50ZWxfbG9n aWNhbF9yaW5nX2FsbG9jX3JlcXVlc3RfZXh0cmFzKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVz dCAqcmVxdWVzdAo+PiAgIAkJCXJldHVybiByZXQ7Cj4+ICAgCX0KPj4KPj4gLQlyZXR1cm4gMDsK Pj4gKwlpZiAocmVxdWVzdC0+Y3R4ICE9IHJlcXVlc3QtPmk5MTUtPmtlcm5lbF9jb250ZXh0KQo+ PiArCQlyZXQgPSBpbnRlbF9scl9jb250ZXh0X3BpbihyZXF1ZXN0KTsKPj4gKwo+PiArCXJldHVy biByZXQ7Cj4+ICAgfQoKVHdvIHRoaW5ncyBoZXJlLCBvbmUgaXMgcmVzdHJ1Y3R1cmluZyB0aGUg aWYvcmV0IHRlc3RzLCB3aGljaCBpcyAKdHJpdmlhbC4gTW9yZSBpbXBvcnRhbnRseSwgdGhlIHBp bm5pbmcgaXMgbW92ZWQgdG8gQUZURVIgdGhlIEd1QyBzcGFjZSAKcHJlLWNoZWNrLCBvdGhlcndp c2UgdGhlIHBpbm5pbmcgaXMgbm90IHVuZG9uZSBpZiB0aGlzIGNoZWNrIGZhaWxzLgoKSSBjYW4g bW92ZSB0aGlzIHRvIGEgc2VwYXJhdGUgcGF0Y2ggaWYgcmVxdWlyZWQsIGFzIGl0J3MgYWN0dWFs bHkgYSBmaXggCmZvciBhIHBvdGVudGlhbCBidWcuCgo+Pgo+PiAgIHN0YXRpYyBpbnQgbG9naWNh bF9yaW5nX3dhaXRfZm9yX3NwYWNlKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxLAo+ PiBAQCAtMjM4MiwyMiArMjM3OSwyMSBAQCB2b2lkIGludGVsX2xyX2NvbnRleHRfZnJlZShzdHJ1 Y3QgaW50ZWxfY29udGV4dCAqY3R4KQo+PiAgIHsKPj4gICAJaW50IGk7Cj4+Cj4+IC0JZm9yIChp ID0gMDsgaSA8IEk5MTVfTlVNX1JJTkdTOyBpKyspIHsKPj4gKwlmb3IgKGkgPSBJOTE1X05VTV9S SU5HUzsgLS1pID49IDA7ICkgewo+PiArCQlzdHJ1Y3QgaW50ZWxfcmluZ2J1ZmZlciAqcmluZ2J1 ZiA9IGN0eC0+ZW5naW5lW2ldLnJpbmdidWY7Cj4+ICAgCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29i amVjdCAqY3R4X29iaiA9IGN0eC0+ZW5naW5lW2ldLnN0YXRlOwo+Pgo+PiAtCQlpZiAoY3R4X29i aikgewo+PiAtCQkJc3RydWN0IGludGVsX3JpbmdidWZmZXIgKnJpbmdidWYgPQo+PiAtCQkJCQlj dHgtPmVuZ2luZVtpXS5yaW5nYnVmOwo+PiAtCQkJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmlu ZyA9IHJpbmdidWYtPnJpbmc7Cj4+ICsJCWlmICghY3R4X29iaikKPj4gKwkJCWNvbnRpbnVlOwo+ Pgo+PiAtCQkJaWYgKGN0eCA9PSBjdHgtPmk5MTUtPmtlcm5lbF9jb250ZXh0KSB7Cj4+IC0JCQkJ aW50ZWxfdW5waW5fcmluZ2J1ZmZlcl9vYmoocmluZ2J1Zik7Cj4+IC0JCQkJaTkxNV9nZW1fb2Jq ZWN0X2dndHRfdW5waW4oY3R4X29iaik7Cj4+IC0JCQl9Cj4+IC0JCQlXQVJOX09OKGN0eC0+ZW5n aW5lW3JpbmctPmlkXS5waW5fY291bnQpOwo+PiAtCQkJaW50ZWxfcmluZ2J1ZmZlcl9mcmVlKHJp bmdidWYpOwo+PiAtCQkJZHJtX2dlbV9vYmplY3RfdW5yZWZlcmVuY2UoJmN0eF9vYmotPmJhc2Up Owo+PiArCQlpZiAoY3R4ID09IGN0eC0+aTkxNS0+a2VybmVsX2NvbnRleHQpIHsKPj4gKwkJCWlu dGVsX3VucGluX3JpbmdidWZmZXJfb2JqKHJpbmdidWYpOwo+PiArCQkJaTkxNV9nZW1fb2JqZWN0 X2dndHRfdW5waW4oY3R4X29iaik7Cj4+ICAgCQl9Cj4+ICsKPj4gKwkJV0FSTl9PTihjdHgtPmVu Z2luZVtpXS5waW5fY291bnQpOwo+PiArCQlpbnRlbF9yaW5nYnVmZmVyX2ZyZWUocmluZ2J1Zik7 Cj4+ICsJCWRybV9nZW1fb2JqZWN0X3VucmVmZXJlbmNlKCZjdHhfb2JqLT5iYXNlKTsKPj4gICAJ fQo+PiAgIH0KCkFnYWluIHR3byB0aGluZ3M7IG9uZSBpcyB0aGUgdHJpdmlhbCByZXN0cnVjdHVy aW5nIG9mIHRoZSBsb29wIHVzaW5nIApjb250aW51ZSB0byByZWR1Y2UgaW5kZW50YXRpb24gZGVw dGguCgpUaGUgb3RoZXIgKG1vcmUgaW50ZXJlc3RpbmcpIG9uZSBpcyB0byBydW4gdGhlIHRlYXJk b3duIGxvb3AgaW4gcmV2ZXJzZS4gClRoaXMgYXZvaWRlZCBhIGJ1ZyBpbiBzb21lICpvdGhlciog ZGVzdHJ1Y3Rvci10eXBlIGNvZGUgdGhhdCBnb3QgY2FsbGVkIApmcm9tIGhlcmUsIHdoaWNoIGFz c3VtZWQgdGhhdCBSQ1Mgc3RhdGUgd2FzIHN0aWxsIHZhbGlkIHdoaWxlIHJlbGVhc2luZyAKcmVz b3VyY2VzIG9uIHRoZSBvdGhlciByaW5ncy4gVGhhdCBzcGVjaWZpYyBidWcgaGFzIGJlZW4gZWxp bWluYXRlZCBieSAKdGhlIGNoYW5nZSBmcm9tIHBlci1lbmdpbmUgdG8gYSBnbG9iYWwgZGVmYXVs dCBjb250ZXh0LCBidXQgbm9uZXRoZWxlc3MgCml0IHNlZW1zIGEgZ29vZCBwb2xpY3kgdG8gcmVs ZWFzZSByZXNvdXJjZXMgaW4gcmV2ZXJzZSBvcmRlciBvZiAKYWNxdWlzaXRpb247IGhlbmNlIHRl YXJkb3duIGxvb3BzIHNob3VsZCBpbiBnZW5lcmFsIHJ1biBiYWNrd2FyZHMganVzdCAKaW4gY2Fz ZSB0aGVyZSBhcmUgY3Jvc3MtZW5naW5lIGRlcGVuZGVuY2llcy4KCj4+Cj4+IEBAIC0yNDcyLDcg KzI0NjgsNyBAQCBzdGF0aWMgdm9pZCBscmNfc2V0dXBfaGFyZHdhcmVfc3RhdHVzX3BhZ2Uoc3Ry dWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywKPj4gICAgKi8KPj4KPj4gICBpbnQgaW50ZWxfbHJf Y29udGV4dF9kZWZlcnJlZF9hbGxvYyhzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4LAo+PiAtCQkJ CSAgICAgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZykKPj4gKwkJCQkgICAgc3RydWN0IGlu dGVsX2VuZ2luZV9jcyAqcmluZykKClRyaXZpYWwgd2hpdGVzcGFjZSBmaXguCgo+PiAgIHsKPj4g ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IHJpbmctPmRldjsKPj4gICAJc3RydWN0IGRybV9p OTE1X2dlbV9vYmplY3QgKmN0eF9vYmo7Cj4+IC0tCj4+IDEuOS4xCj4+Cj4+IF9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4+IEludGVsLWdmeCBtYWlsaW5n IGxpc3QKPj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+PiBodHRwOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cj4KCkxldCBtZSBrbm93 IHdoZXRoZXIgdGhpcyBhbGwgbG9va3MgT0sgYXMtaXMsIHdpdGggdGhlIGV4cGxhbmF0aW9ucyBh Ym92ZSAKKCdjb3MgSSBkb24ndCB0aGluayB0aGVyZSdzIGFueXRoaW5nIHByb2JsZW1hdGljIHRo ZXJlKSwgb3Igd2hldGhlciBzb21lIApiaXRzIHNob3VsZCBiZSBwb3N0ZWQgc2VwYXJhdGVseS4g VGhlIG9ubHkgYml0IHRoYXQgcmVhbGx5IG1hdHRlcnMgaXMgCnRoZSBwaW5uaW5nLXZzLUd1Qy1w cmVjaGVjayBlcnJvciBwYXRoIGZpeCwgYW5kIHRoYXQgZXJyb3Igd29uJ3QgYmUgCnBvc3NpYmxl IG9uY2UgdGhlIHNjaGVkdWxlciBpcyBpbiwgc28gaXQncyBqdXN0IHRvIGF2b2lkIGxlYWtzIGlm IGl0IApoYXBwZW5zIGluIHRoZSBzaG9ydCB0ZXJtLgoKLkRhdmUuCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50 ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==