From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH v2 01/11] drm: Add HDMI 2.0 VIC support for AVI info-frames Date: Wed, 31 May 2017 15:41:33 +0300 Message-ID: <20170531124133.GI12629@intel.com> References: <1496146430-11430-1-git-send-email-shashank.sharma@intel.com> <1496146430-11430-2-git-send-email-shashank.sharma@intel.com> <20170530161349.GC12629@intel.com> <560eabae-b37f-03e0-74c4-466a6db07ed6@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <560eabae-b37f-03e0-74c4-466a6db07ed6@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: "Sharma, Shashank" Cc: Jose Abreu , intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, Alex Deucher , Daniel Vetter List-Id: dri-devel@lists.freedesktop.org T24gVHVlLCBNYXkgMzAsIDIwMTcgYXQgMTA6MDA6MTJQTSArMDUzMCwgU2hhcm1hLCBTaGFzaGFu ayB3cm90ZToKPiBSZWdhcmRzCj4gCj4gU2hhc2hhbmsKPiAKPiAKPiBPbiA1LzMwLzIwMTcgOTo0 MyBQTSwgVmlsbGUgU3lyasOkbMOkIHdyb3RlOgo+ID4gT24gVHVlLCBNYXkgMzAsIDIwMTcgYXQg MDU6NDM6NDBQTSArMDUzMCwgU2hhc2hhbmsgU2hhcm1hIHdyb3RlOgo+ID4+IEhETUkgMS40YiBz dXBwb3J0IHRoZSBDRUEgdmlkZW8gbW9kZXMgYXMgcGVyIHJhbmdlIG9mIENFQS04NjEtRCAoVklD IDEtNjQpLgo+ID4+IEZvciBhbnkgb3RoZXIgbW9kZSwgdGhlIFZJQyBmaWxlZCBpbiBBVkkgaW5m b2ZyYW1lcyBzaG91bGQgYmUgMC4KPiA+PiBIRE1JIDIuMCBzaW5rcywgc3VwcG9ydCB2aWRlbyBt b2RlcyByYW5nZSBhcyBwZXIgQ0VBLTg2MS1GIHNwZWMsIHdoaWNoIGlzCj4gPj4gZXh0ZW5kZWQg dG8gKFZJQyAxLTEwNykuCj4gPj4KPiA+PiBUaGlzIHBhdGNoIGFkZHMgYSBib29sIGlucHV0IHZh cmlhYmxlLCB3aGljaCBpbmRpY2F0ZXMgaWYgdGhlIGNvbm5lY3RlZAo+ID4+IHNpbmsgaXMgYSBI RE1JIDIuMCBzaW5rIG9yIG5vdC4gVGhpcyB3aWxsIG1ha2Ugc3VyZSB0aGF0IHdlIGRvbid0IHBh c3MgYQo+ID4+IEhETUkgMi4wIFZJQyB0byBhIEhETUkgMS40IHNpbmsuCj4gPj4KPiA+PiBUaGlz IHBhdGNoIHRvdWNoZXMgYWxsIGRybSBkcml2ZXJzLCB3aG8gYXJlIGNhbGxlcnMgb2YgdGhpcyBm dW5jdGlvbgo+ID4+IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUgYnV0 IHRvIG1ha2Ugc3VyZSB0aGVyZSBpcwo+ID4+IG5vIGNoYW5nZSBpbiBjdXJyZW50IGJlaGF2aW9y LCBpc19oZG1pMiBpcyBrZXB0IGFzIGZhbHNlLgo+ID4+Cj4gPj4gSW4gY2FzZSBvZiBJOTE1IGRy aXZlciwgdGhpcyBwYXRjaCBjaGVja3MgdGhlIGNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvCj4gPj4g dG8gY2hlY2sgaWYgdGhlIGNvbm5lY3RlZCBkaXNwbGF5IGlzIEhETUkgMi4wLgo+ID4+Cj4gPj4g Q2M6IFZpbGxlIFN5cmphbGEgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+ID4+IENj OiBKb3NlIEFicmV1IDxqb3NlLmFicmV1QHN5bm9wc3lzLmNvbT4KPiA+PiBDYzogQW5kcnplaiBI YWpkYSA8YS5oYWpkYUBzYW1zdW5nLmNvbT4KPiA+PiBDYzogQWxleCBEZXVjaGVyIDxhbGV4YW5k ZXIuZGV1Y2hlckBhbWQuY29tPgo+ID4+IENjOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVy QGludGVsLmNvbT4KPiA+Pgo+ID4+IFBTOiBUaGlzIHBhdGNoIHRvdWNoZXMgYSBmZXcgbGluZXMg aW4gZmV3IGZpbGVzLCB3aGljaCB3ZXJlCj4gPj4gYWxyZWFkeSBhYm92ZSA4MCBjaGFyLCBzbyBj aGVja3BhdGNoIGdpdmVzIDgwIGNoYXIgd2FybmluZyBhZ2Fpbi4KPiA+PiAtIGdwdS9kcm0vb21h cGRybS9vbWFwX2VuY29kZXIuYwo+ID4+IC0gZ3B1L2RybS9pOTE1L2ludGVsX3Nkdm8uYwo+ID4+ Cj4gPj4gVjI6IFJlYmFzZSwgQWRkZWQgci1iIGZyb20gQW5kcnplago+ID4+Cj4gPj4gUmV2aWV3 ZWQtYnk6IEFuZHJ6ZWogSGFqZGEgPGEuaGFqZGFAc2Ftc3VuZy5jb20+Cj4gPj4gU2lnbmVkLW9m Zi1ieTogU2hhc2hhbmsgU2hhcm1hIDxzaGFzaGFuay5zaGFybWFAaW50ZWwuY29tPgo+ID4+IC0t LQo+ID4+ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3YxMF8wLmMgICAgfCAgMiAr LQo+ID4+ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3YxMV8wLmMgICAgfCAgMiAr LQo+ID4+ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3Y4XzAuYyAgICAgfCAgMiAr LQo+ID4+ICAgZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hbmFsb2dpeC1hbng3OHh4LmMgfCAgMyAr Ky0KPiA+PiAgIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc2lpOTAyeC5jICAgICAgICAgIHwgIDIg Ky0KPiA+PiAgIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc3lub3BzeXMvZHctaGRtaS5jIHwgIDIg Ky0KPiA+PiAgIGRyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jICAgICAgICAgICAgICAgIHwgMTIg KysrKysrKysrKystCj4gPj4gICBkcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19oZG1pLmMg ICAgICB8ICAyICstCj4gPj4gICBkcml2ZXJzL2dwdS9kcm0vaTJjL3RkYTk5OHhfZHJ2LmMgICAg ICAgICB8ICAyICstCj4gPj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMgICAg ICAgICB8ICA1ICsrKystCj4gPj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zZHZvLmMg ICAgICAgICB8ICAzICsrLQo+ID4+ICAgZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19oZG1p LmMgICAgICAgfCAgMiArLQo+ID4+ICAgZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9lbmNv ZGVyLmMgICAgfCAgMyArKy0KPiA+PiAgIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2F1 ZGlvLmMgICAgIHwgIDIgKy0KPiA+PiAgIGRyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9pbm5vX2hk bWkuYyAgICAgIHwgIDIgKy0KPiA+PiAgIGRyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2hkbWkuYyAg ICAgICAgICAgIHwgIDIgKy0KPiA+PiAgIGRyaXZlcnMvZ3B1L2RybS90ZWdyYS9oZG1pLmMgICAg ICAgICAgICAgIHwgIDIgKy0KPiA+PiAgIGRyaXZlcnMvZ3B1L2RybS90ZWdyYS9zb3IuYyAgICAg ICAgICAgICAgIHwgIDIgKy0KPiA+PiAgIGRyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2hkbWkuYyAg ICAgICAgICAgIHwgIDIgKy0KPiA+PiAgIGRyaXZlcnMvZ3B1L2RybS96dGUvenhfaGRtaS5jICAg ICAgICAgICAgIHwgIDIgKy0KPiA+PiAgIGluY2x1ZGUvZHJtL2RybV9lZGlkLmggICAgICAgICAg ICAgICAgICAgIHwgIDMgKystCj4gPj4gICAyMSBmaWxlcyBjaGFuZ2VkLCAzOCBpbnNlcnRpb25z KCspLCAyMSBkZWxldGlvbnMoLSkKPiA+Pgo+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9kY2VfdjEwXzAuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Rj ZV92MTBfMC5jCj4gPj4gaW5kZXggM2M2MmM0NS4uNDkyM2RkYyAxMDA2NDQKPiA+PiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdjEwXzAuYwo+ID4+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92MTBfMC5jCj4gPj4gQEAgLTE4NjQsNyArMTg2NCw3IEBA IHN0YXRpYyB2b2lkIGRjZV92MTBfMF9hZm10X3NldG1vZGUoc3RydWN0IGRybV9lbmNvZGVyICpl bmNvZGVyLAo+ID4+ICAgCWRjZV92MTBfMF9hdWRpb193cml0ZV9zYWRfcmVncyhlbmNvZGVyKTsK PiA+PiAgIAlkY2VfdjEwXzBfYXVkaW9fd3JpdGVfbGF0ZW5jeV9maWVsZHMoZW5jb2RlciwgbW9k ZSk7Cj4gPj4gICAKPiA+PiAtCWVyciA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNw bGF5X21vZGUoJmZyYW1lLCBtb2RlKTsKPiA+PiArCWVyciA9IGRybV9oZG1pX2F2aV9pbmZvZnJh bWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLCBtb2RlLCBmYWxzZSk7Cj4gPj4gICAJaWYgKGVy ciA8IDApIHsKPiA+PiAgIAkJRFJNX0VSUk9SKCJmYWlsZWQgdG8gc2V0dXAgQVZJIGluZm9mcmFt ZTogJXpkXG4iLCBlcnIpOwo+ID4+ICAgCQlyZXR1cm47Cj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92MTFfMC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvZGNlX3YxMV8wLmMKPiA+PiBpbmRleCBjOGVkMGZhLi40MTAxNjg0IDEwMDY0NAo+ID4+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92MTFfMC5jCj4gPj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3YxMV8wLmMKPiA+PiBAQCAtMTg0OCw3ICsx ODQ4LDcgQEAgc3RhdGljIHZvaWQgZGNlX3YxMV8wX2FmbXRfc2V0bW9kZShzdHJ1Y3QgZHJtX2Vu Y29kZXIgKmVuY29kZXIsCj4gPj4gICAJZGNlX3YxMV8wX2F1ZGlvX3dyaXRlX3NhZF9yZWdzKGVu Y29kZXIpOwo+ID4+ICAgCWRjZV92MTFfMF9hdWRpb193cml0ZV9sYXRlbmN5X2ZpZWxkcyhlbmNv ZGVyLCBtb2RlKTsKPiA+PiAgIAo+ID4+IC0JZXJyID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9m cm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUsIG1vZGUpOwo+ID4+ICsJZXJyID0gZHJtX2hkbWlfYXZp X2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUsIG1vZGUsIGZhbHNlKTsKPiA+PiAg IAlpZiAoZXJyIDwgMCkgewo+ID4+ICAgCQlEUk1fRVJST1IoImZhaWxlZCB0byBzZXR1cCBBVkkg aW5mb2ZyYW1lOiAlemRcbiIsIGVycik7Cj4gPj4gICAJCXJldHVybjsKPiA+PiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3Y4XzAuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2RjZV92OF8wLmMKPiA+PiBpbmRleCAzZTkwYzE5Li5hN2Y2YjMyIDEwMDY0 NAo+ID4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92OF8wLmMKPiA+PiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdjhfMC5jCj4gPj4gQEAgLTE3NDcs NyArMTc0Nyw3IEBAIHN0YXRpYyB2b2lkIGRjZV92OF8wX2FmbXRfc2V0bW9kZShzdHJ1Y3QgZHJt X2VuY29kZXIgKmVuY29kZXIsCj4gPj4gICAJZGNlX3Y4XzBfYXVkaW9fd3JpdGVfc2FkX3JlZ3Mo ZW5jb2Rlcik7Cj4gPj4gICAJZGNlX3Y4XzBfYXVkaW9fd3JpdGVfbGF0ZW5jeV9maWVsZHMoZW5j b2RlciwgbW9kZSk7Cj4gPj4gICAKPiA+PiAtCWVyciA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVf ZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLCBtb2RlKTsKPiA+PiArCWVyciA9IGRybV9oZG1pX2F2 aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLCBtb2RlLCBmYWxzZSk7Cj4gPj4g ICAJaWYgKGVyciA8IDApIHsKPiA+PiAgIAkJRFJNX0VSUk9SKCJmYWlsZWQgdG8gc2V0dXAgQVZJ IGluZm9mcmFtZTogJXpkXG4iLCBlcnIpOwo+ID4+ICAgCQlyZXR1cm47Cj4gPj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYW5hbG9naXgtYW54Nzh4eC5jIGIvZHJpdmVycy9n cHUvZHJtL2JyaWRnZS9hbmFsb2dpeC1hbng3OHh4LmMKPiA+PiBpbmRleCBhMmE4MjM2Li5mOWI3 N2I4IDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYW5hbG9naXgtYW54 Nzh4eC5jCj4gPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hbmFsb2dpeC1hbng3OHh4 LmMKPiA+PiBAQCAtMTA5Nyw3ICsxMDk3LDggQEAgc3RhdGljIHZvaWQgYW54Nzh4eF9icmlkZ2Vf bW9kZV9zZXQoc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSwKPiA+PiAgIAo+ID4+ICAgCW11dGV4 X2xvY2soJmFueDc4eHgtPmxvY2spOwo+ID4+ICAgCj4gPj4gLQllcnIgPSBkcm1faGRtaV9hdmlf aW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZSwgYWRqdXN0ZWRfbW9kZSk7Cj4gPj4g KwllcnIgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZSwg YWRqdXN0ZWRfbW9kZSwKPiA+PiArCQkJCQkJICAgICAgIGZhbHNlKTsKPiA+PiAgIAlpZiAoZXJy KSB7Cj4gPj4gICAJCURSTV9FUlJPUigiRmFpbGVkIHRvIHNldHVwIEFWSSBpbmZvZnJhbWU6ICVk XG4iLCBlcnIpOwo+ID4+ICAgCQlnb3RvIHVubG9jazsKPiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2JyaWRnZS9zaWk5MDJ4LmMgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3NpaTkw MnguYwo+ID4+IGluZGV4IDliODcwNjcuLjNkYzQwZjYgMTAwNjQ0Cj4gPj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2JyaWRnZS9zaWk5MDJ4LmMKPiA+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYnJp ZGdlL3NpaTkwMnguYwo+ID4+IEBAIC0yNjksNyArMjY5LDcgQEAgc3RhdGljIHZvaWQgc2lpOTAy eF9icmlkZ2VfbW9kZV9zZXQoc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSwKPiA+PiAgIAlpZiAo cmV0KQo+ID4+ICAgCQlyZXR1cm47Cj4gPj4gICAKPiA+PiAtCXJldCA9IGRybV9oZG1pX2F2aV9p bmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLCBhZGopOwo+ID4+ICsJcmV0ID0gZHJt X2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUsIGFkaiwgZmFsc2Up Owo+ID4+ICAgCWlmIChyZXQgPCAwKSB7Cj4gPj4gICAJCURSTV9FUlJPUigiY291bGRuJ3QgZmls bCBBVkkgaW5mb2ZyYW1lXG4iKTsKPiA+PiAgIAkJcmV0dXJuOwo+ID4+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL2R3LWhkbWkuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9icmlkZ2Uvc3lub3BzeXMvZHctaGRtaS5jCj4gPj4gaW5kZXggODczN2RlOC4uZTZkMzE4MSAx MDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL2R3LWhkbWku Ywo+ID4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc3lub3BzeXMvZHctaGRtaS5jCj4g Pj4gQEAgLTEzMTcsNyArMTMxNyw3IEBAIHN0YXRpYyB2b2lkIGhkbWlfY29uZmlnX0FWSShzdHJ1 Y3QgZHdfaGRtaSAqaGRtaSwgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gPj4gICAJ dTggdmFsOwo+ID4+ICAgCj4gPj4gICAJLyogSW5pdGlhbGlzZSBpbmZvIGZyYW1lIGZyb20gRFJN IG1vZGUgKi8KPiA+PiAtCWRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUo JmZyYW1lLCBtb2RlKTsKPiA+PiArCWRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5 X21vZGUoJmZyYW1lLCBtb2RlLCBmYWxzZSk7Cj4gPj4gICAKPiA+PiAgIAlpZiAoaGRtaV9idXNf Zm10X2lzX3l1djQ0NChoZG1pLT5oZG1pX2RhdGEuZW5jX291dF9idXNfZm9ybWF0KSkKPiA+PiAg IAkJZnJhbWUuY29sb3JzcGFjZSA9IEhETUlfQ09MT1JTUEFDRV9ZVVY0NDQ7Cj4gPj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9l ZGlkLmMKPiA+PiBpbmRleCAyZTU1NTk5Li44YjIzNDM1IDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9kcm1fZWRpZC5jCj4gPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9lZGlk LmMKPiA+PiBAQCAtNDMzNCwxMiArNDMzNCwxNCBAQCBFWFBPUlRfU1lNQk9MKGRybV9zZXRfcHJl ZmVycmVkX21vZGUpOwo+ID4+ICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgZGF0YSBmcm9tIGEgRFJNIGRpc3BsYXkgbW9kZQo+ID4+ICAgICogQGZyYW1l OiBIRE1JIEFWSSBpbmZvZnJhbWUKPiA+PiAgICAqIEBtb2RlOiBEUk0gZGlzcGxheSBtb2RlCj4g Pj4gKyAqIEBpc19oZG1pMjogU2luayBpcyBIRE1JIDIuMCBjb21wbGlhbnQKPiA+PiAgICAqCj4g Pj4gICAgKiBSZXR1cm46IDAgb24gc3VjY2VzcyBvciBhIG5lZ2F0aXZlIGVycm9yIGNvZGUgb24g ZmFpbHVyZS4KPiA+PiAgICAqLwo+ID4+ICAgaW50Cj4gPj4gICBkcm1faGRtaV9hdmlfaW5mb2Zy YW1lX2Zyb21fZGlzcGxheV9tb2RlKHN0cnVjdCBoZG1pX2F2aV9pbmZvZnJhbWUgKmZyYW1lLAo+ ID4+IC0JCQkJCSBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKPiA+PiArCQkJ CQkgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUsCj4gPj4gKwkJCQkJIGJvb2wg aXNfaGRtaTIpCj4gPj4gICB7Cj4gPj4gICAJaW50IGVycjsKPiA+PiAgIAo+ID4+IEBAIC00MzU1 LDYgKzQzNTcsMTQgQEAgZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZShz dHJ1Y3QgaGRtaV9hdmlfaW5mb2ZyYW1lICpmcmFtZSwKPiA+PiAgIAo+ID4+ICAgCWZyYW1lLT52 aWRlb19jb2RlID0gZHJtX21hdGNoX2NlYV9tb2RlKG1vZGUpOwo+ID4+ICAgCj4gPj4gKwkvKgo+ ID4+ICsJICogSERNSSAxLjQgVklDIHJhbmdlOiAxIDw9IFZJQyA8PSA2NCAoQ0VBLTg2MS1EKSBi dXQKPiA+PiArCSAqIEhETUkgMi4wIFZJQyByYW5nZTogMSA8PSBWSUMgPD0gMTA3IChDRUEtODYx LUYpLiBTbyB3ZQo+ID4+ICsJICogaGF2ZSB0byBtYWtlIHN1cmUgd2UgZG9udCBicmVhayBIRE1J IDEuNCBzaW5rcy4KPiA+PiArCSAqLwo+ID4+ICsJaWYgKCFpc19oZG1pMiAmJiBmcmFtZS0+dmlk ZW9fY29kZSA+IDY0KQo+ID4+ICsJCWZyYW1lLT52aWRlb19jb2RlID0gMDsKPiA+IFNlZW1zIEkn dmUgdG90YWxseSBmb3Jnb3R0ZW4gd2hhdCB3ZSBjb25jbHVkZWQgYWJvdXQgdGhlIEFWSSBWSUMK PiA+IHZzLiBIRE1JIFZJQywgYnV0IEkgaGF2ZSBhIGZlZWxpbmcgdGhpcyBpc24ndCBzdWZmaWNp ZW50Lgo+IEFzIGZhciBhcyBJIHJlbWVtYmVyLCB3ZSBkZWNpZGVkIHRvIHNlbmQgVklDcyA+IDY0 IHRvIEhETUkgMi4wIG1vbml0b3JzIAo+IG9ubHkuCj4gSWYgeW91IGNhbiBwcm92aWRlIHNvbWUg bW9yZSB0aG91Z2h0cyBhYm91dCBob3cgY2FuIHdlIG1ha2UgaXQgYmV0dGVyID8KClRoZSBxdWVz dGlvbiBpcyB3aGV0aGVyIHdlIHNlbmQgdGhlIFZJQyBpbiB0aGUgQVZJIGluZm9mcmFtZSBvZiB0 aGUKSERNSSBpbmZvZnJhbWUuIElJUkMgc2VuZGluZyBib3RoIGlzbid0IGxlZ2FsLCBhbmQgSSB0 aGluayB3ZSBtaWdodCBoYXZlCmNvbmNsdWRlZCB0aGF0IHdlIG1pZ2h0IGhhdmUgdG8gcGFzcyB0 aGUgQVZJIGluZm9mcmFtZSB0byB0aGUgSERNSQppbmZvZnJhbWUgY29uc3RydWN0aW9uIGZ1bmN0 aW9uIG9yIHZpY2UgdmVyc2EgdG8gZmlndXJlIG91dCB3aGljaCBnZXRzCnNlbnQuCgo+IAo+IC0g U2hhc2hhbmsKPiA+PiArCj4gPj4gICAJZnJhbWUtPnBpY3R1cmVfYXNwZWN0ID0gSERNSV9QSUNU VVJFX0FTUEVDVF9OT05FOwo+ID4+ICAgCj4gPj4gICAJLyoKPiA+PiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfaGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL2V4eW5v cy9leHlub3NfaGRtaS5jCj4gPj4gaW5kZXggMWZmNmFiNi4uZjJjYzc1ZCAxMDA2NDQKPiA+PiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19oZG1pLmMKPiA+PiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19oZG1pLmMKPiA+PiBAQCAtNzg0LDcgKzc4NCw3IEBA IHN0YXRpYyB2b2lkIGhkbWlfcmVnX2luZm9mcmFtZXMoc3RydWN0IGhkbWlfY29udGV4dCAqaGRh dGEpCj4gPj4gICAJfQo+ID4+ICAgCj4gPj4gICAJcmV0ID0gZHJtX2hkbWlfYXZpX2luZm9mcmFt ZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJtLmF2aSwKPiA+PiAtCQkJJmhkYXRhLT5jdXJyZW50X21v ZGUpOwo+ID4+ICsJCQkmaGRhdGEtPmN1cnJlbnRfbW9kZSwgZmFsc2UpOwo+ID4+ICAgCWlmICgh cmV0KQo+ID4+ICAgCQlyZXQgPSBoZG1pX2F2aV9pbmZvZnJhbWVfcGFjaygmZnJtLmF2aSwgYnVm LCBzaXplb2YoYnVmKSk7Cj4gPj4gICAJaWYgKHJldCA+IDApIHsKPiA+PiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2kyYy90ZGE5OTh4X2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2kyYy90 ZGE5OTh4X2Rydi5jCj4gPj4gaW5kZXggODZmNDdlMS4uZDFlN2FjNSAxMDA2NDQKPiA+PiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTJjL3RkYTk5OHhfZHJ2LmMKPiA+PiArKysgYi9kcml2ZXJzL2dw dS9kcm0vaTJjL3RkYTk5OHhfZHJ2LmMKPiA+PiBAQCAtNzEyLDcgKzcxMiw3IEBAIHRkYTk5OHhf d3JpdGVfYXZpKHN0cnVjdCB0ZGE5OTh4X3ByaXYgKnByaXYsIHN0cnVjdCBkcm1fZGlzcGxheV9t b2RlICptb2RlKQo+ID4+ICAgewo+ID4+ICAgCXVuaW9uIGhkbWlfaW5mb2ZyYW1lIGZyYW1lOwo+ ID4+ICAgCj4gPj4gLQlkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZm cmFtZS5hdmksIG1vZGUpOwo+ID4+ICsJZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3Bs YXlfbW9kZSgmZnJhbWUuYXZpLCBtb2RlLCBmYWxzZSk7Cj4gPj4gICAJZnJhbWUuYXZpLnF1YW50 aXphdGlvbl9yYW5nZSA9IEhETUlfUVVBTlRJWkFUSU9OX1JBTkdFX0ZVTEw7Cj4gPj4gICAKPiA+ PiAgIAl0ZGE5OTh4X3dyaXRlX2lmKHByaXYsIERJUF9JRl9GTEFHU19JRjIsIFJFR19JRjJfSEIw LCAmZnJhbWUpOwo+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9o ZG1pLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKPiA+PiBpbmRleCA1OGQ2 OTAzLi43MDJjYmFiIDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2hkbWkuYwo+ID4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYwo+ID4+ IEBAIC00NTksMTEgKzQ1OSwxNCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9oZG1pX3NldF9hdmlfaW5m b2ZyYW1lKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKPiA+PiAgIAlzdHJ1Y3QgaW50ZWxf aGRtaSAqaW50ZWxfaGRtaSA9IGVuY190b19pbnRlbF9oZG1pKGVuY29kZXIpOwo+ID4+ICAgCWNv bnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlID0KPiA+PiAgIAkJJmNy dGNfc3RhdGUtPmJhc2UuYWRqdXN0ZWRfbW9kZTsKPiA+PiArCXN0cnVjdCBkcm1fY29ubmVjdG9y ICpjb25uZWN0b3IgPSAmaW50ZWxfaGRtaS0+YXR0YWNoZWRfY29ubmVjdG9yLT5iYXNlOwo+ID4+ ICsJYm9vbCBpc19oZG1pMiA9IGNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLmhkbWkuc2NkYy5zdXBw b3J0ZWQ7Cj4gPj4gICAJdW5pb24gaGRtaV9pbmZvZnJhbWUgZnJhbWU7Cj4gPj4gICAJaW50IHJl dDsKPiA+PiAgIAo+ID4+ICAgCXJldCA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNw bGF5X21vZGUoJmZyYW1lLmF2aSwKPiA+PiAtCQkJCQkJICAgICAgIGFkanVzdGVkX21vZGUpOwo+ ID4+ICsJCQkJCQkgICAgICAgYWRqdXN0ZWRfbW9kZSwKPiA+PiArCQkJCQkJICAgICAgIGlzX2hk bWkyKTsKPiA+PiAgIAlpZiAocmV0IDwgMCkgewo+ID4+ICAgCQlEUk1fRVJST1IoImNvdWxkbid0 IGZpbGwgQVZJIGluZm9mcmFtZVxuIik7Cj4gPj4gICAJCXJldHVybjsKPiA+PiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc2R2by5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfc2R2by5jCj4gPj4gaW5kZXggNmNjMTgxMi4uNjJkNzI3YSAxMDA2NDQKPiA+PiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zZHZvLmMKPiA+PiArKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9zZHZvLmMKPiA+PiBAQCAtMTAwNiw3ICsxMDA2LDggQEAgc3Rh dGljIGJvb2wgaW50ZWxfc2R2b19zZXRfYXZpX2luZm9mcmFtZShzdHJ1Y3QgaW50ZWxfc2R2byAq aW50ZWxfc2R2bywKPiA+PiAgIAlzc2l6ZV90IGxlbjsKPiA+PiAgIAo+ID4+ICAgCXJldCA9IGRy bV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLmF2aSwKPiA+PiAt CQkJCQkJICAgICAgICZwaXBlX2NvbmZpZy0+YmFzZS5hZGp1c3RlZF9tb2RlKTsKPiA+PiArCQkJ CQkJICAgICAgICZwaXBlX2NvbmZpZy0+YmFzZS5hZGp1c3RlZF9tb2RlLAo+ID4+ICsJCQkJCQkg ICAgICAgZmFsc2UpOwo+ID4+ICAgCWlmIChyZXQgPCAwKSB7Cj4gPj4gICAJCURSTV9FUlJPUigi Y291bGRuJ3QgZmlsbCBBVkkgaW5mb2ZyYW1lXG4iKTsKPiA+PiAgIAkJcmV0dXJuIGZhbHNlOwo+ ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2hkbWkuYyBiL2Ry aXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfaGRtaS5jCj4gPj4gaW5kZXggNDFhMWMwMy4uYTE3 NzBkYyAxMDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2hkbWku Ywo+ID4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfaGRtaS5jCj4gPj4gQEAg LTk3NSw3ICs5NzUsNyBAQCBzdGF0aWMgaW50IG10a19oZG1pX3NldHVwX2F2aV9pbmZvZnJhbWUo c3RydWN0IG10a19oZG1pICpoZG1pLAo+ID4+ICAgCXU4IGJ1ZmZlclsxN107Cj4gPj4gICAJc3Np emVfdCBlcnI7Cj4gPj4gICAKPiA+PiAtCWVyciA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJv bV9kaXNwbGF5X21vZGUoJmZyYW1lLCBtb2RlKTsKPiA+PiArCWVyciA9IGRybV9oZG1pX2F2aV9p bmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLCBtb2RlLCBmYWxzZSk7Cj4gPj4gICAJ aWYgKGVyciA8IDApIHsKPiA+PiAgIAkJZGV2X2VycihoZG1pLT5kZXYsCj4gPj4gICAJCQkiRmFp bGVkIHRvIGdldCBBVkkgaW5mb2ZyYW1lIGZyb20gbW9kZTogJXpkXG4iLCBlcnIpOwo+ID4+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2VuY29kZXIuYyBiL2RyaXZl cnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZW5jb2Rlci5jCj4gPj4gaW5kZXggODZjOTc3Yi4uNjI0 ZjViNSAxMDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2VuY29k ZXIuYwo+ID4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZW5jb2Rlci5jCj4g Pj4gQEAgLTg1LDcgKzg1LDggQEAgc3RhdGljIHZvaWQgb21hcF9lbmNvZGVyX21vZGVfc2V0KHN0 cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKPiA+PiAgIAlpZiAoaGRtaV9tb2RlICYmIGRzc2Rl di0+ZHJpdmVyLT5zZXRfaGRtaV9pbmZvZnJhbWUpIHsKPiA+PiAgIAkJc3RydWN0IGhkbWlfYXZp X2luZm9mcmFtZSBhdmk7Cj4gPj4gICAKPiA+PiAtCQlyID0gZHJtX2hkbWlfYXZpX2luZm9mcmFt ZV9mcm9tX2Rpc3BsYXlfbW9kZSgmYXZpLCBhZGp1c3RlZF9tb2RlKTsKPiA+PiArCQlyID0gZHJt X2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmYXZpLCBhZGp1c3RlZF9tb2Rl LAo+ID4+ICsJCQkJCQkJICAgICBmYWxzZSk7Cj4gPj4gICAJCWlmIChyID09IDApCj4gPj4gICAJ CQlkc3NkZXYtPmRyaXZlci0+c2V0X2hkbWlfaW5mb2ZyYW1lKGRzc2RldiwgJmF2aSk7Cj4gPj4g ICAJfQo+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9hdWRp by5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fYXVkaW8uYwo+ID4+IGluZGV4IGFh YWNhYzEuLjc3MGUzMWYgMTAwNjQ0Cj4gPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9y YWRlb25fYXVkaW8uYwo+ID4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2F1 ZGlvLmMKPiA+PiBAQCAtNTE2LDcgKzUxNiw3IEBAIHN0YXRpYyBpbnQgcmFkZW9uX2F1ZGlvX3Nl dF9hdmlfcGFja2V0KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKPiA+PiAgIAlpZiAoIWNv bm5lY3RvcikKPiA+PiAgIAkJcmV0dXJuIC1FSU5WQUw7Cj4gPj4gICAKPiA+PiAtCWVyciA9IGRy bV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLCBtb2RlKTsKPiA+ PiArCWVyciA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1l LCBtb2RlLCBmYWxzZSk7Cj4gPj4gICAJaWYgKGVyciA8IDApIHsKPiA+PiAgIAkJRFJNX0VSUk9S KCJmYWlsZWQgdG8gc2V0dXAgQVZJIGluZm9mcmFtZTogJWRcbiIsIGVycik7Cj4gPj4gICAJCXJl dHVybiBlcnI7Cj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9pbm5v X2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9pbm5vX2hkbWkuYwo+ID4+IGluZGV4 IDdkOWI3NWUuLjcxNDk5NjggMTAwNjQ0Cj4gPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JvY2tj aGlwL2lubm9faGRtaS5jCj4gPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL2lubm9f aGRtaS5jCj4gPj4gQEAgLTI5NCw3ICsyOTQsNyBAQCBzdGF0aWMgaW50IGlubm9faGRtaV9jb25m aWdfdmlkZW9fYXZpKHN0cnVjdCBpbm5vX2hkbWkgKmhkbWksCj4gPj4gICAJdW5pb24gaGRtaV9p bmZvZnJhbWUgZnJhbWU7Cj4gPj4gICAJaW50IHJjOwo+ID4+ICAgCj4gPj4gLQlyYyA9IGRybV9o ZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLmF2aSwgbW9kZSk7Cj4g Pj4gKwlyYyA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1l LmF2aSwgbW9kZSwgZmFsc2UpOwo+ID4+ICAgCj4gPj4gICAJaWYgKGhkbWktPmhkbWlfZGF0YS5l bmNfb3V0X2Zvcm1hdCA9PSBIRE1JX0NPTE9SU1BBQ0VfWVVWNDQ0KQo+ID4+ICAgCQlmcmFtZS5h dmkuY29sb3JzcGFjZSA9IEhETUlfQ09MT1JTUEFDRV9ZVVY0NDQ7Cj4gPj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3Rp X2hkbWkuYwo+ID4+IGluZGV4IGE1OWM5NWEuLmRiYzZhMTkgMTAwNjQ0Cj4gPj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL3N0aS9zdGlfaGRtaS5jCj4gPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3N0 aS9zdGlfaGRtaS5jCj4gPj4gQEAgLTQzNCw3ICs0MzQsNyBAQCBzdGF0aWMgaW50IGhkbWlfYXZp X2luZm9mcmFtZV9jb25maWcoc3RydWN0IHN0aV9oZG1pICpoZG1pKQo+ID4+ICAgCj4gPj4gICAJ RFJNX0RFQlVHX0RSSVZFUigiXG4iKTsKPiA+PiAgIAo+ID4+IC0JcmV0ID0gZHJtX2hkbWlfYXZp X2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmaW5mb2ZyYW1lLCBtb2RlKTsKPiA+PiArCXJl dCA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmluZm9mcmFtZSwg bW9kZSwgZmFsc2UpOwo+ID4+ICAgCWlmIChyZXQgPCAwKSB7Cj4gPj4gICAJCURSTV9FUlJPUigi ZmFpbGVkIHRvIHNldHVwIEFWSSBpbmZvZnJhbWU6ICVkXG4iLCByZXQpOwo+ID4+ICAgCQlyZXR1 cm4gcmV0Owo+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdGVncmEvaGRtaS5jIGIv ZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2hkbWkuYwo+ID4+IGluZGV4IGNkYTA0OTEuLjcxOGQ4ZGIg MTAwNjQ0Cj4gPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2hkbWkuYwo+ID4+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9oZG1pLmMKPiA+PiBAQCAtNzM0LDcgKzczNCw3IEBAIHN0 YXRpYyB2b2lkIHRlZ3JhX2hkbWlfc2V0dXBfYXZpX2luZm9mcmFtZShzdHJ1Y3QgdGVncmFfaGRt aSAqaGRtaSwKPiA+PiAgIAl1OCBidWZmZXJbMTddOwo+ID4+ICAgCXNzaXplX3QgZXJyOwo+ID4+ ICAgCj4gPj4gLQllcnIgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2Rl KCZmcmFtZSwgbW9kZSk7Cj4gPj4gKwllcnIgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21f ZGlzcGxheV9tb2RlKCZmcmFtZSwgbW9kZSwgZmFsc2UpOwo+ID4+ICAgCWlmIChlcnIgPCAwKSB7 Cj4gPj4gICAJCWRldl9lcnIoaGRtaS0+ZGV2LCAiZmFpbGVkIHRvIHNldHVwIEFWSSBpbmZvZnJh bWU6ICV6ZFxuIiwgZXJyKTsKPiA+PiAgIAkJcmV0dXJuOwo+ID4+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vdGVncmEvc29yLmMgYi9kcml2ZXJzL2dwdS9kcm0vdGVncmEvc29yLmMKPiA+ PiBpbmRleCBhOGY1Mjg5Li5mYjI3MDljIDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS90ZWdyYS9zb3IuYwo+ID4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9zb3IuYwo+ID4+ IEBAIC0xOTA0LDcgKzE5MDQsNyBAQCB0ZWdyYV9zb3JfaGRtaV9zZXR1cF9hdmlfaW5mb2ZyYW1l KHN0cnVjdCB0ZWdyYV9zb3IgKnNvciwKPiA+PiAgIAl2YWx1ZSAmPSB+SU5GT0ZSQU1FX0NUUkxf RU5BQkxFOwo+ID4+ICAgCXRlZ3JhX3Nvcl93cml0ZWwoc29yLCB2YWx1ZSwgU09SX0hETUlfQVZJ X0lORk9GUkFNRV9DVFJMKTsKPiA+PiAgIAo+ID4+IC0JZXJyID0gZHJtX2hkbWlfYXZpX2luZm9m cmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUsIG1vZGUpOwo+ID4+ICsJZXJyID0gZHJtX2hk bWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUsIG1vZGUsIGZhbHNlKTsK PiA+PiAgIAlpZiAoZXJyIDwgMCkgewo+ID4+ICAgCQlkZXZfZXJyKHNvci0+ZGV2LCAiZmFpbGVk IHRvIHNldHVwIEFWSSBpbmZvZnJhbWU6ICVkXG4iLCBlcnIpOwo+ID4+ICAgCQlyZXR1cm4gZXJy Owo+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9oZG1pLmMgYi9kcml2 ZXJzL2dwdS9kcm0vdmM0L3ZjNF9oZG1pLmMKPiA+PiBpbmRleCBlZDYzZDRlLi40MDZkNmQ4IDEw MDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2hkbWkuYwo+ID4+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2hkbWkuYwo+ID4+IEBAIC0zOTUsNyArMzk1LDcgQEAg c3RhdGljIHZvaWQgdmM0X2hkbWlfc2V0X2F2aV9pbmZvZnJhbWUoc3RydWN0IGRybV9lbmNvZGVy ICplbmNvZGVyKQo+ID4+ICAgCXVuaW9uIGhkbWlfaW5mb2ZyYW1lIGZyYW1lOwo+ID4+ICAgCWlu dCByZXQ7Cj4gPj4gICAKPiA+PiAtCXJldCA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9k aXNwbGF5X21vZGUoJmZyYW1lLmF2aSwgbW9kZSk7Cj4gPj4gKwlyZXQgPSBkcm1faGRtaV9hdmlf aW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZS5hdmksIG1vZGUsIGZhbHNlKTsKPiA+ PiAgIAlpZiAocmV0IDwgMCkgewo+ID4+ICAgCQlEUk1fRVJST1IoImNvdWxkbid0IGZpbGwgQVZJ IGluZm9mcmFtZVxuIik7Cj4gPj4gICAJCXJldHVybjsKPiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL3p0ZS96eF9oZG1pLmMgYi9kcml2ZXJzL2dwdS9kcm0venRlL3p4X2hkbWkuYwo+ ID4+IGluZGV4IDBkZjczNjYuLjdlODM0ZTMgMTAwNjQ0Cj4gPj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL3p0ZS96eF9oZG1pLmMKPiA+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0venRlL3p4X2hkbWku Ywo+ID4+IEBAIC0xMjQsNyArMTI0LDcgQEAgc3RhdGljIGludCB6eF9oZG1pX2NvbmZpZ192aWRl b19hdmkoc3RydWN0IHp4X2hkbWkgKmhkbWksCj4gPj4gICAJdW5pb24gaGRtaV9pbmZvZnJhbWUg ZnJhbWU7Cj4gPj4gICAJaW50IHJldDsKPiA+PiAgIAo+ID4+IC0JcmV0ID0gZHJtX2hkbWlfYXZp X2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUuYXZpLCBtb2RlKTsKPiA+PiArCXJl dCA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLmF2aSwg bW9kZSwgZmFsc2UpOwo+ID4+ICAgCWlmIChyZXQpIHsKPiA+PiAgIAkJRFJNX0RFVl9FUlJPUiho ZG1pLT5kZXYsICJmYWlsZWQgdG8gZ2V0IGF2aSBpbmZvZnJhbWU6ICVkXG4iLAo+ID4+ICAgCQkJ ICAgICAgcmV0KTsKPiA+PiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2VkaWQuaCBiL2lu Y2x1ZGUvZHJtL2RybV9lZGlkLmgKPiA+PiBpbmRleCA3YjlmNDhiLi5jMDdlYjgxIDEwMDY0NAo+ ID4+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9lZGlkLmgKPiA+PiArKysgYi9pbmNsdWRlL2RybS9k cm1fZWRpZC5oCj4gPj4gQEAgLTM0Myw3ICszNDMsOCBAQCBkcm1fbG9hZF9lZGlkX2Zpcm13YXJl KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gPj4gICAKPiA+PiAgIGludAo+ID4+ ICAgZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZShzdHJ1Y3QgaGRtaV9h dmlfaW5mb2ZyYW1lICpmcmFtZSwKPiA+PiAtCQkJCQkgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5 X21vZGUgKm1vZGUpOwo+ID4+ICsJCQkJCSBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAq bW9kZSwKPiA+PiArCQkJCQkgYm9vbCBpc19oZG1pMik7Cj4gPj4gICBpbnQKPiA+PiAgIGRybV9o ZG1pX3ZlbmRvcl9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoc3RydWN0IGhkbWlfdmVuZG9y X2luZm9mcmFtZSAqZnJhbWUsCj4gPj4gICAJCQkJCSAgICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3Bs YXlfbW9kZSAqbW9kZSk7Cj4gPj4gLS0gCj4gPj4gMi43LjQKCi0tIApWaWxsZSBTeXJqw6Rsw6QK SW50ZWwgT1RDCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=