From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [RESEND-CI v4 01/15] drm: add HDMI 2.0 VIC support for AVI info-frames Date: Mon, 3 Jul 2017 12:57:56 +0300 Message-ID: <20170703095756.GC12629@intel.com> References: <1498041253-16426-1-git-send-email-shashank.sharma@intel.com> <1498041253-16426-2-git-send-email-shashank.sharma@intel.com> <20170630115432.GS12629@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: 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: intel-gfx@lists.freedesktop.org T24gTW9uLCBKdWwgMDMsIDIwMTcgYXQgMDI6MzY6NThQTSArMDUzMCwgU2hhcm1hLCBTaGFzaGFu ayB3cm90ZToKPiBSZWdhcmRzCj4gCj4gU2hhc2hhbmsKPiAKPiAKPiBPbiA2LzMwLzIwMTcgNToy NCBQTSwgVmlsbGUgU3lyasOkbMOkIHdyb3RlOgo+ID4gT24gV2VkLCBKdW4gMjEsIDIwMTcgYXQg MDQ6MDM6NTlQTSArMDUzMCwgU2hhc2hhbmsgU2hhcm1hIHdyb3RlOgo+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 aXZlciwgdGhpcyBwYXRjaDoKPiA+PiAtIGNoZWNrcyBpZiB0aGUgY29ubmVjdGVkIGRpc3BsYXkg aXMgSERNSSAyLjAuCj4gPj4gLSBIRE1JIGluZm9mcmFtZXMgY2Fycnkgb25lIG9mIHRoaXMgdHdv IHR5cGUgb2YgaW5mb3JtYXRpb246Cj4gPj4gCS0gVklDIGZvciA0SyBtb2RlcyBmb3IgSERNSSAx LjQgc2lua3MKPiA+PiAJLSBTM0QgaW5mb3JtYXRpb24gZm9yIFMzRCBtb2Rlcwo+ID4+ICAgIEFz IENFQS04NjEtRiBoYXMgYWxyZWFkeSBkZWZpbmVkIFZJQ3MgZm9yIDRLIHZpZGVvbW9kZXMsIHRo aXMKPiA+PiAgICBwYXRjaCBkb2Vzbid0IGFsbG93IHNlbmRpbmcgSERNSSBpbmZvZnJhbWVzIGZv ciBIRE1JIDIuMCBzaW5rcywKPiA+PiAgICB1bnRpbCB0aGUgbW9kZSBpcyAzRC4KPiA+Pgo+ID4+ IENjOiBWaWxsZSBTeXJqYWxhIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiA+PiBD YzogSm9zZSBBYnJldSA8am9zZS5hYnJldUBzeW5vcHN5cy5jb20+Cj4gPj4gQ2M6IEFuZHJ6ZWog SGFqZGEgPGEuaGFqZGFAc2Ftc3VuZy5jb20+Cj4gPj4gQ2M6IEFsZXggRGV1Y2hlciA8YWxleGFu ZGVyLmRldWNoZXJAYW1kLmNvbT4KPiA+PiBDYzogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRl ckBpbnRlbC5jb20+Cj4gPj4KPiA+PiBQUzogVGhpcyBwYXRjaCB0b3VjaGVzIGEgZmV3IGxpbmVz IGluIGZldyBmaWxlcywgd2hpY2ggd2VyZQo+ID4+IGFscmVhZHkgYWJvdmUgODAgY2hhciwgc28g Y2hlY2twYXRjaCBnaXZlcyA4MCBjaGFyIHdhcm5pbmcgYWdhaW4uCj4gPj4gLSBncHUvZHJtL29t YXBkcm0vb21hcF9lbmNvZGVyLmMKPiA+PiAtIGdwdS9kcm0vaTkxNS9pbnRlbF9zZHZvLmMKPiA+ Pgo+ID4+IFYyOiBSZWJhc2UsIEFkZGVkIHItYiBmcm9tIEFuZHJ6ZWoKPiA+PiBWMzogQWRkcmVz c2VkIHJldmlldyBjb21tZW50IGZyb20gVmlsbGU6Cj4gPj4gCS0gRG8gbm90IHNlbmQgVklDcyBp biBib3RoIEFWSS1JRiBhbmQgSERNSS1JRgo+ID4+IAkgIHNlbmQgb25seSBvbmUgb2YgaXQuCj4g Pj4KPiA+PiBSZXZpZXdlZC1ieTogQW5kcnplaiBIYWpkYSA8YS5oYWpkYUBzYW1zdW5nLmNvbT4K PiA+PiBTaWduZWQtb2ZmLWJ5OiBTaGFzaGFuayBTaGFybWEgPHNoYXNoYW5rLnNoYXJtYUBpbnRl bC5jb20+Cj4gPj4gLS0tCj4gPj4gICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdjEw XzAuYyAgICB8ICAyICstCj4gPj4gICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdjEx XzAuYyAgICB8ICAyICstCj4gPj4gICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2Vfdjhf MC5jICAgICB8ICAyICstCj4gPj4gICBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2FuYWxvZ2l4LWFu eDc4eHguYyB8ICAzICsrLQo+ID4+ICAgZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zaWk5MDJ4LmMg ICAgICAgICAgfCAgMiArLQo+ID4+ICAgZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zeW5vcHN5cy9k dy1oZG1pLmMgfCAgMiArLQo+ID4+ICAgZHJpdmVycy9ncHUvZHJtL2RybV9lZGlkLmMgICAgICAg ICAgICAgICAgfCAxMiArKysrKysrKysrKy0KPiA+PiAgIGRyaXZlcnMvZ3B1L2RybS9leHlub3Mv ZXh5bm9zX2hkbWkuYyAgICAgIHwgIDIgKy0KPiA+PiAgIGRyaXZlcnMvZ3B1L2RybS9pMmMvdGRh OTk4eF9kcnYuYyAgICAgICAgIHwgIDIgKy0KPiA+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2hkbWkuYyAgICAgICAgIHwgMTcgKysrKysrKysrKysrKysrKy0KPiA+PiAgIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3Nkdm8uYyAgICAgICAgIHwgIDMgKystCj4gPj4gICBkcml2ZXJz L2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2hkbWkuYyAgICAgICB8ICAyICstCj4gPj4gICBkcml2ZXJz L2dwdS9kcm0vb21hcGRybS9vbWFwX2VuY29kZXIuYyAgICB8ICAzICsrLQo+ID4+ICAgZHJpdmVy cy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fYXVkaW8uYyAgICAgfCAgMiArLQo+ID4+ICAgZHJpdmVy cy9ncHUvZHJtL3JvY2tjaGlwL2lubm9faGRtaS5jICAgICAgfCAgMiArLQo+ID4+ICAgZHJpdmVy cy9ncHUvZHJtL3N0aS9zdGlfaGRtaS5jICAgICAgICAgICAgfCAgMiArLQo+ID4+ICAgZHJpdmVy cy9ncHUvZHJtL3RlZ3JhL2hkbWkuYyAgICAgICAgICAgICAgfCAgMiArLQo+ID4+ICAgZHJpdmVy cy9ncHUvZHJtL3RlZ3JhL3Nvci5jICAgICAgICAgICAgICAgfCAgMiArLQo+ID4+ICAgZHJpdmVy cy9ncHUvZHJtL3ZjNC92YzRfaGRtaS5jICAgICAgICAgICAgfCAgMiArLQo+ID4+ICAgZHJpdmVy cy9ncHUvZHJtL3p0ZS96eF9oZG1pLmMgICAgICAgICAgICAgfCAgMiArLQo+ID4+ICAgaW5jbHVk ZS9kcm0vZHJtX2VkaWQuaCAgICAgICAgICAgICAgICAgICAgfCAgMyArKy0KPiA+PiAgIDIxIGZp bGVzIGNoYW5nZWQsIDUwIGluc2VydGlvbnMoKyksIDIxIGRlbGV0aW9ucygtKQo+ID4+Cj4gPj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92MTBfMC5jIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3YxMF8wLmMKPiA+PiBpbmRleCAzYzYyYzQ1Li40 OTIzZGRjIDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92 MTBfMC5jCj4gPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3YxMF8wLmMK PiA+PiBAQCAtMTg2NCw3ICsxODY0LDcgQEAgc3RhdGljIHZvaWQgZGNlX3YxMF8wX2FmbXRfc2V0 bW9kZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCj4gPj4gICAJZGNlX3YxMF8wX2F1ZGlv X3dyaXRlX3NhZF9yZWdzKGVuY29kZXIpOwo+ID4+ICAgCWRjZV92MTBfMF9hdWRpb193cml0ZV9s YXRlbmN5X2ZpZWxkcyhlbmNvZGVyLCBtb2RlKTsKPiA+PiAgIAo+ID4+IC0JZXJyID0gZHJtX2hk bWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUsIG1vZGUpOwo+ID4+ICsJ ZXJyID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUsIG1v ZGUsIGZhbHNlKTsKPiA+PiAgIAlpZiAoZXJyIDwgMCkgewo+ID4+ICAgCQlEUk1fRVJST1IoImZh aWxlZCB0byBzZXR1cCBBVkkgaW5mb2ZyYW1lOiAlemRcbiIsIGVycik7Cj4gPj4gICAJCXJldHVy bjsKPiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3YxMV8w LmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdjExXzAuYwo+ID4+IGluZGV4IGM4 ZWQwZmEuLjQxMDE2ODQgMTAwNjQ0Cj4gPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvZGNlX3YxMV8wLmMKPiA+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2Vf djExXzAuYwo+ID4+IEBAIC0xODQ4LDcgKzE4NDgsNyBAQCBzdGF0aWMgdm9pZCBkY2VfdjExXzBf YWZtdF9zZXRtb2RlKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKPiA+PiAgIAlkY2VfdjEx XzBfYXVkaW9fd3JpdGVfc2FkX3JlZ3MoZW5jb2Rlcik7Cj4gPj4gICAJZGNlX3YxMV8wX2F1ZGlv X3dyaXRlX2xhdGVuY3lfZmllbGRzKGVuY29kZXIsIG1vZGUpOwo+ID4+ICAgCj4gPj4gLQllcnIg PSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZSwgbW9kZSk7 Cj4gPj4gKwllcnIgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZm cmFtZSwgbW9kZSwgZmFsc2UpOwo+ID4+ICAgCWlmIChlcnIgPCAwKSB7Cj4gPj4gICAJCURSTV9F UlJPUigiZmFpbGVkIHRvIHNldHVwIEFWSSBpbmZvZnJhbWU6ICV6ZFxuIiwgZXJyKTsKPiA+PiAg IAkJcmV0dXJuOwo+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9k Y2VfdjhfMC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3Y4XzAuYwo+ID4+IGlu ZGV4IDNlOTBjMTkuLmE3ZjZiMzIgMTAwNjQ0Cj4gPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvZGNlX3Y4XzAuYwo+ID4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2RjZV92OF8wLmMKPiA+PiBAQCAtMTc0Nyw3ICsxNzQ3LDcgQEAgc3RhdGljIHZvaWQgZGNlX3Y4 XzBfYWZtdF9zZXRtb2RlKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKPiA+PiAgIAlkY2Vf djhfMF9hdWRpb193cml0ZV9zYWRfcmVncyhlbmNvZGVyKTsKPiA+PiAgIAlkY2VfdjhfMF9hdWRp b193cml0ZV9sYXRlbmN5X2ZpZWxkcyhlbmNvZGVyLCBtb2RlKTsKPiA+PiAgIAo+ID4+IC0JZXJy ID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUsIG1vZGUp Owo+ID4+ICsJZXJyID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgm ZnJhbWUsIG1vZGUsIGZhbHNlKTsKPiA+PiAgIAlpZiAoZXJyIDwgMCkgewo+ID4+ICAgCQlEUk1f RVJST1IoImZhaWxlZCB0byBzZXR1cCBBVkkgaW5mb2ZyYW1lOiAlemRcbiIsIGVycik7Cj4gPj4g ICAJCXJldHVybjsKPiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hbmFs b2dpeC1hbng3OHh4LmMgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2FuYWxvZ2l4LWFueDc4eHgu Ywo+ID4+IGluZGV4IDkwMDY1NzguLmEwODMyMTEgMTAwNjQ0Cj4gPj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2JyaWRnZS9hbmFsb2dpeC1hbng3OHh4LmMKPiA+PiArKysgYi9kcml2ZXJzL2dwdS9k cm0vYnJpZGdlL2FuYWxvZ2l4LWFueDc4eHguYwo+ID4+IEBAIC0xMDk3LDcgKzEwOTcsOCBAQCBz dGF0aWMgdm9pZCBhbng3OHh4X2JyaWRnZV9tb2RlX3NldChzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJp ZGdlLAo+ID4+ICAgCj4gPj4gICAJbXV0ZXhfbG9jaygmYW54Nzh4eC0+bG9jayk7Cj4gPj4gICAK PiA+PiAtCWVyciA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZy YW1lLCBhZGp1c3RlZF9tb2RlKTsKPiA+PiArCWVyciA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVf ZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLCBhZGp1c3RlZF9tb2RlLAo+ID4+ICsJCQkJCQkgICAg ICAgZmFsc2UpOwo+ID4+ICAgCWlmIChlcnIpIHsKPiA+PiAgIAkJRFJNX0VSUk9SKCJGYWlsZWQg dG8gc2V0dXAgQVZJIGluZm9mcmFtZTogJWRcbiIsIGVycik7Cj4gPj4gICAJCWdvdG8gdW5sb2Nr Owo+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3NpaTkwMnguYyBiL2Ry aXZlcnMvZ3B1L2RybS9icmlkZ2Uvc2lpOTAyeC5jCj4gPj4gaW5kZXggOWI4NzA2Ny4uM2RjNDBm NiAxMDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3NpaTkwMnguYwo+ID4+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc2lpOTAyeC5jCj4gPj4gQEAgLTI2OSw3ICsy NjksNyBAQCBzdGF0aWMgdm9pZCBzaWk5MDJ4X2JyaWRnZV9tb2RlX3NldChzdHJ1Y3QgZHJtX2Jy aWRnZSAqYnJpZGdlLAo+ID4+ICAgCWlmIChyZXQpCj4gPj4gICAJCXJldHVybjsKPiA+PiAgIAo+ ID4+IC0JcmV0ID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJh bWUsIGFkaik7Cj4gPj4gKwlyZXQgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxh eV9tb2RlKCZmcmFtZSwgYWRqLCBmYWxzZSk7Cj4gPj4gICAJaWYgKHJldCA8IDApIHsKPiA+PiAg IAkJRFJNX0VSUk9SKCJjb3VsZG4ndCBmaWxsIEFWSSBpbmZvZnJhbWVcbiIpOwo+ID4+ICAgCQly ZXR1cm47Cj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc3lub3BzeXMv ZHctaGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zeW5vcHN5cy9kdy1oZG1pLmMKPiA+ PiBpbmRleCBlYWQxMTI0Li4wYjBjOWRlIDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9icmlkZ2Uvc3lub3BzeXMvZHctaGRtaS5jCj4gPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2Jy aWRnZS9zeW5vcHN5cy9kdy1oZG1pLmMKPiA+PiBAQCAtMTMxNyw3ICsxMzE3LDcgQEAgc3RhdGlj IHZvaWQgaGRtaV9jb25maWdfQVZJKHN0cnVjdCBkd19oZG1pICpoZG1pLCBzdHJ1Y3QgZHJtX2Rp c3BsYXlfbW9kZSAqbW9kZSkKPiA+PiAgIAl1OCB2YWw7Cj4gPj4gICAKPiA+PiAgIAkvKiBJbml0 aWFsaXNlIGluZm8gZnJhbWUgZnJvbSBEUk0gbW9kZSAqLwo+ID4+IC0JZHJtX2hkbWlfYXZpX2lu Zm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUsIG1vZGUpOwo+ID4+ICsJZHJtX2hkbWlf YXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUsIG1vZGUsIGZhbHNlKTsKPiA+ PiAgIAo+ID4+ICAgCWlmIChoZG1pX2J1c19mbXRfaXNfeXV2NDQ0KGhkbWktPmhkbWlfZGF0YS5l bmNfb3V0X2J1c19mb3JtYXQpKQo+ID4+ICAgCQlmcmFtZS5jb2xvcnNwYWNlID0gSERNSV9DT0xP UlNQQUNFX1lVVjQ0NDsKPiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9lZGlk LmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYwo+ID4+IGluZGV4IDJlNTU1OTkuLmQzMTJm ZTEgMTAwNjQ0Cj4gPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9lZGlkLmMKPiA+PiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYwo+ID4+IEBAIC00MzM0LDEyICs0MzM0LDE0IEBA IEVYUE9SVF9TWU1CT0woZHJtX3NldF9wcmVmZXJyZWRfbW9kZSk7Cj4gPj4gICAgKiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhIGZyb20gYSBEUk0gZGlz cGxheSBtb2RlCj4gPj4gICAgKiBAZnJhbWU6IEhETUkgQVZJIGluZm9mcmFtZQo+ID4+ICAgICog QG1vZGU6IERSTSBkaXNwbGF5IG1vZGUKPiA+PiArICogQGlzX2hkbWkyX3Npbms6IFNpbmsgaXMg SERNSSAyLjAgY29tcGxpYW50Cj4gPj4gICAgKgo+ID4+ICAgICogUmV0dXJuOiAwIG9uIHN1Y2Nl c3Mgb3IgYSBuZWdhdGl2ZSBlcnJvciBjb2RlIG9uIGZhaWx1cmUuCj4gPj4gICAgKi8KPiA+PiAg IGludAo+ID4+ICAgZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZShzdHJ1 Y3QgaGRtaV9hdmlfaW5mb2ZyYW1lICpmcmFtZSwKPiA+PiAtCQkJCQkgY29uc3Qgc3RydWN0IGRy bV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gPj4gKwkJCQkJIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxh eV9tb2RlICptb2RlLAo+ID4+ICsJCQkJCSBib29sIGlzX2hkbWkyX3NpbmspCj4gPj4gICB7Cj4g Pj4gICAJaW50IGVycjsKPiA+PiAgIAo+ID4+IEBAIC00MzU1LDYgKzQzNTcsMTQgQEAgZHJtX2hk bWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZShzdHJ1Y3QgaGRtaV9hdmlfaW5mb2Zy YW1lICpmcmFtZSwKPiA+PiAgIAo+ID4+ICAgCWZyYW1lLT52aWRlb19jb2RlID0gZHJtX21hdGNo X2NlYV9tb2RlKG1vZGUpOwo+ID4+ICAgCj4gPj4gKwkvKgo+ID4+ICsJICogSERNSSAxLjQgVklD IHJhbmdlOiAxIDw9IFZJQyA8PSA2NCAoQ0VBLTg2MS1EKSBidXQKPiA+PiArCSAqIEhETUkgMi4w IFZJQyByYW5nZTogMSA8PSBWSUMgPD0gMTA3IChDRUEtODYxLUYpLiBTbyB3ZQo+ID4+ICsJICog aGF2ZSB0byBtYWtlIHN1cmUgd2UgZG9udCBicmVhayBIRE1JIDEuNCBzaW5rcy4KPiA+PiArCSAq Lwo+ID4+ICsJaWYgKCFpc19oZG1pMl9zaW5rICYmIGZyYW1lLT52aWRlb19jb2RlID4gNjQpCj4g Pj4gKwkJZnJhbWUtPnZpZGVvX2NvZGUgPSAwOwo+ID4+ICsKPiA+PiAgIAlmcmFtZS0+cGljdHVy ZV9hc3BlY3QgPSBIRE1JX1BJQ1RVUkVfQVNQRUNUX05PTkU7Cj4gPj4gICAKPiA+PiAgIAkvKgo+ ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19oZG1pLmMgYi9k cml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19oZG1pLmMKPiA+PiBpbmRleCAwNmJmYmU0Li5j OTUzOTI3IDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2hk bWkuYwo+ID4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2hkbWkuYwo+ID4+ IEBAIC03ODQsNyArNzg0LDcgQEAgc3RhdGljIHZvaWQgaGRtaV9yZWdfaW5mb2ZyYW1lcyhzdHJ1 Y3QgaGRtaV9jb250ZXh0ICpoZGF0YSkKPiA+PiAgIAl9Cj4gPj4gICAKPiA+PiAgIAlyZXQgPSBk cm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcm0uYXZpLAo+ID4+IC0J CQkmaGRhdGEtPmN1cnJlbnRfbW9kZSk7Cj4gPj4gKwkJCSZoZGF0YS0+Y3VycmVudF9tb2RlLCBm YWxzZSk7Cj4gPj4gICAJaWYgKCFyZXQpCj4gPj4gICAJCXJldCA9IGhkbWlfYXZpX2luZm9mcmFt ZV9wYWNrKCZmcm0uYXZpLCBidWYsIHNpemVvZihidWYpKTsKPiA+PiAgIAlpZiAocmV0ID4gMCkg ewo+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTJjL3RkYTk5OHhfZHJ2LmMgYi9k cml2ZXJzL2dwdS9kcm0vaTJjL3RkYTk5OHhfZHJ2LmMKPiA+PiBpbmRleCA4NmY0N2UxLi5kMWU3 YWM1IDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pMmMvdGRhOTk4eF9kcnYuYwo+ ID4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pMmMvdGRhOTk4eF9kcnYuYwo+ID4+IEBAIC03MTIs NyArNzEyLDcgQEAgdGRhOTk4eF93cml0ZV9hdmkoc3RydWN0IHRkYTk5OHhfcHJpdiAqcHJpdiwg c3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gPj4gICB7Cj4gPj4gICAJdW5pb24gaGRt aV9pbmZvZnJhbWUgZnJhbWU7Cj4gPj4gICAKPiA+PiAtCWRybV9oZG1pX2F2aV9pbmZvZnJhbWVf ZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLmF2aSwgbW9kZSk7Cj4gPj4gKwlkcm1faGRtaV9hdmlf aW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZS5hdmksIG1vZGUsIGZhbHNlKTsKPiA+ PiAgIAlmcmFtZS5hdmkucXVhbnRpemF0aW9uX3JhbmdlID0gSERNSV9RVUFOVElaQVRJT05fUkFO R0VfRlVMTDsKPiA+PiAgIAo+ID4+ICAgCXRkYTk5OHhfd3JpdGVfaWYocHJpdiwgRElQX0lGX0ZM QUdTX0lGMiwgUkVHX0lGMl9IQjAsICZmcmFtZSk7Cj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hk bWkuYwo+ID4+IGluZGV4IGVjMDc3OWEuLjE3MGFiYzQgMTAwNjQ0Cj4gPj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCj4gPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfaGRtaS5jCj4gPj4gQEAgLTQ1OSwxMSArNDU5LDE0IEBAIHN0YXRpYyB2b2lkIGlu dGVsX2hkbWlfc2V0X2F2aV9pbmZvZnJhbWUoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAo+ ID4+ICAgCXN0cnVjdCBpbnRlbF9oZG1pICppbnRlbF9oZG1pID0gZW5jX3RvX2ludGVsX2hkbWko ZW5jb2Rlcik7Cj4gPj4gICAJY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVk X21vZGUgPQo+ID4+ICAgCQkmY3J0Y19zdGF0ZS0+YmFzZS5hZGp1c3RlZF9tb2RlOwo+ID4+ICsJ c3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciA9ICZpbnRlbF9oZG1pLT5hdHRhY2hlZF9j b25uZWN0b3ItPmJhc2U7Cj4gPj4gKwlib29sIGlzX2hkbWkyX3NpbmsgPSBjb25uZWN0b3ItPmRp c3BsYXlfaW5mby5oZG1pLnNjZGMuc3VwcG9ydGVkOwo+ID4+ICAgCXVuaW9uIGhkbWlfaW5mb2Zy YW1lIGZyYW1lOwo+ID4+ICAgCWludCByZXQ7Cj4gPj4gICAKPiA+PiAgIAlyZXQgPSBkcm1faGRt aV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZS5hdmksCj4gPj4gLQkJCQkJ CSAgICAgICBhZGp1c3RlZF9tb2RlKTsKPiA+PiArCQkJCQkJICAgICAgIGFkanVzdGVkX21vZGUs Cj4gPj4gKwkJCQkJCSAgICAgICBpc19oZG1pMl9zaW5rKTsKPiA+PiAgIAlpZiAocmV0IDwgMCkg ewo+ID4+ICAgCQlEUk1fRVJST1IoImNvdWxkbid0IGZpbGwgQVZJIGluZm9mcmFtZVxuIik7Cj4g Pj4gICAJCXJldHVybjsKPiA+PiBAQCAtODE2LDYgKzgxOSw4IEBAIHN0YXRpYyB2b2lkIGhzd19z ZXRfaW5mb2ZyYW1lcyhzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCj4gPj4gICB7Cj4gPj4g ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5k ZXYpOwo+ID4+ICAgCXN0cnVjdCBpbnRlbF9oZG1pICppbnRlbF9oZG1pID0gZW5jX3RvX2ludGVs X2hkbWkoZW5jb2Rlcik7Cj4gPj4gKwlzdHJ1Y3QgZHJtX2hkbWlfaW5mbyAqaGRtaSA9ICZjb25u X3N0YXRlLT5jb25uZWN0b3ItPmRpc3BsYXlfaW5mby5oZG1pOwo+ID4+ICsJY29uc3Qgc3RydWN0 IGRybV9kaXNwbGF5X21vZGUgKm1vZGUgPSAmY3J0Y19zdGF0ZS0+YmFzZS5hZGp1c3RlZF9tb2Rl Owo+ID4+ICAgCWk5MTVfcmVnX3QgcmVnID0gSFNXX1RWSURFT19ESVBfQ1RMKGNydGNfc3RhdGUt PmNwdV90cmFuc2NvZGVyKTsKPiA+PiAgIAl1MzIgdmFsID0gSTkxNV9SRUFEKHJlZyk7Cj4gPj4g ICAKPiA+PiBAQCAtODM5LDYgKzg0NCwxNiBAQCBzdGF0aWMgdm9pZCBoc3dfc2V0X2luZm9mcmFt ZXMoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAo+ID4+ICAgCj4gPj4gICAJaW50ZWxfaGRt aV9zZXRfYXZpX2luZm9mcmFtZShlbmNvZGVyLCBjcnRjX3N0YXRlKTsKPiA+PiAgIAlpbnRlbF9o ZG1pX3NldF9zcGRfaW5mb2ZyYW1lKGVuY29kZXIsIGNydGNfc3RhdGUpOwo+ID4+ICsKPiA+PiAr CS8qCj4gPj4gKwkgKiBDRUEtODYxLUYgYWRkZWQgbmV3IFZJQ3MgZm9yIDRrIHZpZGVvIG1vZGVz LCBkdWUgdG8gd2hpY2gKPiA+PiArCSAqIEhETUkgMi4wIHNpbmtzIG5lZWQgSERNSSBJRiBvbmx5 IGZvciBTM0QgaW5mb3JtYXRpb24gKE5vdCBmb3IKPiA+PiArCSAqIDRrIFZJQ3MpLiBTbyBmb3Ig YSBIRE1JIDIuMCBzaW5rLCBpZiB0aGUgdmlkZW8gbW9kZSBpcyBub3QgM0QsCj4gPj4gKwkgKiBk b24ndCBib3RoZXIgc2VuZGluZyBIRE1JIElGLgo+ID4+ICsJICovCj4gPj4gKwlpZiAoaGRtaS0+ c2NkYy5zdXBwb3J0ZWQgJiYgIShtb2RlLT5mbGFncyAmIERSTV9NT0RFX0ZMQUdfM0RfTUFTSykp Cj4gPj4gKwkJcmV0dXJuOwo+ID4gVGhhdCBkb2Vzbid0IGxvb2sgbGlrZSB0aGUgcmlndGggcGxh Y2UgZm9yIHRoaXMgY2hlY2suCj4gPgo+ID4gQWxzbyBJIHRoaW5rIHdlIHN0aWxsIHdhbnQgdG8g c2VuZCB0aGUgdmVuZG9yIHNwZWNpZmljIGluZm9mcmFtZSBhbHdheXMsCj4gPiBpZiBmb3Igbm8g b3RoZXIgcmVhc29uIHRoYXQgdG8gZ2V0IGV4dHJhIHRlc3RpbmcgZm9yIHRoZSBjb2RlLiBXZSBq dXN0Cj4gPiBuZWVkIHRvIHNlbGVjdCB3aGV0aGVyIHdlIHNob3VsZCBiZSBzZW5kaW5nIHRoZSBv bGQgb3IgdGhlIG5ldyBvbmUuCj4gSSB0aGluayBpbiB0aGUgcHJldmlvdXMgcmV2aWV3IGNvbW1l bnRzLCB0aGlzIGlzIHdoYXQgeW91IGFza2VkIHRvIGRvOgo+IHNlbmQgSERNSSAyLjAgVklDIG9u bHkgaW4gb25lIHBsYWNlLCBlaXRoZXIgaW4gQVZJIElGIG9yIEhETUkgSUYsIG5vdCBib3RoLgoK WWVzLCB0aGUgVklDLiBJIGRpZG4ndCBzYXkgYW55dGhpbmcgYWJvdXQgbm90IHNlbmRpbmcgYW55 IGluZm9mcmFtZS4KCj4gCj4gTm93LCAgSERNSSBJRiBjb250YWlucyBvbmx5IHR3byBwaWVjZSBv ZiBpbmZvcm1hdGlvbiAoZnJvbSB0aGUgY29kZSk6Cj4gICBmcmFtZS0+dmljID0gdmljIChmb3Ig SERNSSAxLjQgNGsgSERNSSBtb2RlcykKPiAgIG9yCj4gICBmcmFtZS0+czNkX3N0cnVjcnQgPSBz M2Rfc3RydWN0dXJlX2Zyb21fZGlzcGxheV9tb2RlKCkKPiAKPiBTbyBpZiBpdHMgYSBIRE1JIDIu MCBtb25pdG9yICYmIHdlIGRvbid0IHdhbnQgdG8gc2VuZCBzM2RfaW5mbywgdGhlbiAKPiB0aGVy ZSBpcyBub3RoaW5nIGluIHRoZSBmcmFtZSByaWdodCA/CgpOb3Qgc2VuZGluZyBhbnkgaW5mb2Zy YW1lIG1lYW5zIGEgY2hhbmdlIGluIGN1cnJlbnQgYmVoYXZpb3VyIHdoaWNoIHdlCm1heSBub3Qg d2FudC4gSXQgYWxzbyBtZWFucyB3ZSBkb24ndCB0cmVhdCBIRE1JIDIuMCBhbmQgMS54IHNpbmtz CmVxdWFsbHkgc2luY2UgZm9yIDEueCBzaW5rcyB3ZSBhbHdheXMgc2VuZCB0aGUgaW5mb2ZyYW1l LgoKQW5kIGFwcGVuZGl4IEYgb2YgdGhlIHNwZWMgc2VlbXMgdG8gYmUgdGVsbGluZyB1cyB0aGF0 IHRoZXJlIGFyZQpzaW5rcyBvdXQgdGhlcmUgdGhhdCBkb24ndCBwcm9wZXJseSBzd2l0Y2ggZnJv bSAzRCB0byAyRCB3aGVuIHRoZSBzb3VyY2UKc3RvcHMgc2VuZGluZyB0aGUgb2xkIGluZm9mcmFt ZS4gSGVuY2UgaXQgc2VlbXMgbGlrZSBhIGdvb2QgaWRlYSB0bwphbHdheXMgc2VuZCBpdC4gVGhl eSBzcGVhayBhYm91dCBIRE1JIDEuNCBzaW5rcyBzcGVjaWZpY2FsbHksIGJ1dCBJCndvdWxkbid0 IGJlIHN1cnByaXNlZCBpZiBzaW1pbGFyIHByb2JsZW1zIGNyb3AgdXAgaW4gMi4wIHNpbmtzIGFz IHdlbGwuCgpJbiBmYWN0IEkgdGhpbmsgaXQgd291bGQgaGF2ZSBiZWVuIG5pY2UgaWYgdGhleSBo YWQganVzdCB0b3RhbGx5CnJlcGxhY2VkIHRoZSBvbGQgaW5mb2ZyYW1lIHdpdGggdGhlIG5ldyBv bmUsIGFuZCBhbGxvd2VkIHVzIHRvIGFsd2F5cwpqdXN0IHNlbmQgdGhlIG5ldyBpbmZvZnJhbWUu IEJ1dCB0aGUgc3BlYyBzcGVjaWZpY2FsbHkgc2F5cyB0aGF0IHdlCmhhdmUgdG8gdXNlIHRoZSBv bGQgaW5mb2ZyYW1lIGlmIHBvc3NpYmxlIDooCgo+IAo+IC0gU2hhc2hhbmsKPiA+PiArCj4gPj4g ICAJaW50ZWxfaGRtaV9zZXRfaGRtaV9pbmZvZnJhbWUoZW5jb2RlciwgY3J0Y19zdGF0ZSk7Cj4g Pj4gICB9Cj4gPj4gICAKPiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfc2R2by5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc2R2by5jCj4gPj4gaW5kZXgg ZjQzMjlkMi4uNzM3MDc2ZSAxMDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9zZHZvLmMKPiA+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zZHZvLmMK PiA+PiBAQCAtOTk2LDcgKzk5Niw4IEBAIHN0YXRpYyBib29sIGludGVsX3Nkdm9fc2V0X2F2aV9p bmZvZnJhbWUoc3RydWN0IGludGVsX3Nkdm8gKmludGVsX3Nkdm8sCj4gPj4gICAJc3NpemVfdCBs ZW47Cj4gPj4gICAKPiA+PiAgIAlyZXQgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlz cGxheV9tb2RlKCZmcmFtZS5hdmksCj4gPj4gLQkJCQkJCSAgICAgICAmcGlwZV9jb25maWctPmJh c2UuYWRqdXN0ZWRfbW9kZSk7Cj4gPj4gKwkJCQkJCSAgICAgICAmcGlwZV9jb25maWctPmJhc2Uu YWRqdXN0ZWRfbW9kZSwKPiA+PiArCQkJCQkJICAgICAgIGZhbHNlKTsKPiA+PiAgIAlpZiAocmV0 IDwgMCkgewo+ID4+ICAgCQlEUk1fRVJST1IoImNvdWxkbid0IGZpbGwgQVZJIGluZm9mcmFtZVxu Iik7Cj4gPj4gICAJCXJldHVybiBmYWxzZTsKPiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL21lZGlhdGVrL210a19oZG1pLmMgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2hk bWkuYwo+ID4+IGluZGV4IDBhNGZmZDcuLjVjMGQwMjQgMTAwNjQ0Cj4gPj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL21lZGlhdGVrL210a19oZG1pLmMKPiA+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0v bWVkaWF0ZWsvbXRrX2hkbWkuYwo+ID4+IEBAIC05NzUsNyArOTc1LDcgQEAgc3RhdGljIGludCBt dGtfaGRtaV9zZXR1cF9hdmlfaW5mb2ZyYW1lKHN0cnVjdCBtdGtfaGRtaSAqaGRtaSwKPiA+PiAg IAl1OCBidWZmZXJbMTddOwo+ID4+ICAgCXNzaXplX3QgZXJyOwo+ID4+ICAgCj4gPj4gLQllcnIg PSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZSwgbW9kZSk7 Cj4gPj4gKwllcnIgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZm cmFtZSwgbW9kZSwgZmFsc2UpOwo+ID4+ICAgCWlmIChlcnIgPCAwKSB7Cj4gPj4gICAJCWRldl9l cnIoaGRtaS0+ZGV2LAo+ID4+ICAgCQkJIkZhaWxlZCB0byBnZXQgQVZJIGluZm9mcmFtZSBmcm9t IG1vZGU6ICV6ZFxuIiwgZXJyKTsKPiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL29t YXBkcm0vb21hcF9lbmNvZGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2VuY29k ZXIuYwo+ID4+IGluZGV4IDg2Yzk3N2IuLjYyNGY1YjUgMTAwNjQ0Cj4gPj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL29tYXBkcm0vb21hcF9lbmNvZGVyLmMKPiA+PiArKysgYi9kcml2ZXJzL2dwdS9k cm0vb21hcGRybS9vbWFwX2VuY29kZXIuYwo+ID4+IEBAIC04NSw3ICs4NSw4IEBAIHN0YXRpYyB2 b2lkIG9tYXBfZW5jb2Rlcl9tb2RlX3NldChzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCj4g Pj4gICAJaWYgKGhkbWlfbW9kZSAmJiBkc3NkZXYtPmRyaXZlci0+c2V0X2hkbWlfaW5mb2ZyYW1l KSB7Cj4gPj4gICAJCXN0cnVjdCBoZG1pX2F2aV9pbmZvZnJhbWUgYXZpOwo+ID4+ICAgCj4gPj4g LQkJciA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmF2aSwgYWRq dXN0ZWRfbW9kZSk7Cj4gPj4gKwkJciA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNw bGF5X21vZGUoJmF2aSwgYWRqdXN0ZWRfbW9kZSwKPiA+PiArCQkJCQkJCSAgICAgZmFsc2UpOwo+ ID4+ICAgCQlpZiAociA9PSAwKQo+ID4+ICAgCQkJZHNzZGV2LT5kcml2ZXItPnNldF9oZG1pX2lu Zm9mcmFtZShkc3NkZXYsICZhdmkpOwo+ID4+ICAgCX0KPiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fYXVkaW8uYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24v cmFkZW9uX2F1ZGlvLmMKPiA+PiBpbmRleCBhYWFjYWMxLi43NzBlMzFmIDEwMDY0NAo+ID4+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2F1ZGlvLmMKPiA+PiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9hdWRpby5jCj4gPj4gQEAgLTUxNiw3ICs1MTYsNyBA QCBzdGF0aWMgaW50IHJhZGVvbl9hdWRpb19zZXRfYXZpX3BhY2tldChzdHJ1Y3QgZHJtX2VuY29k ZXIgKmVuY29kZXIsCj4gPj4gICAJaWYgKCFjb25uZWN0b3IpCj4gPj4gICAJCXJldHVybiAtRUlO VkFMOwo+ID4+ICAgCj4gPj4gLQllcnIgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlz cGxheV9tb2RlKCZmcmFtZSwgbW9kZSk7Cj4gPj4gKwllcnIgPSBkcm1faGRtaV9hdmlfaW5mb2Zy YW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZSwgbW9kZSwgZmFsc2UpOwo+ID4+ICAgCWlmIChl cnIgPCAwKSB7Cj4gPj4gICAJCURSTV9FUlJPUigiZmFpbGVkIHRvIHNldHVwIEFWSSBpbmZvZnJh bWU6ICVkXG4iLCBlcnIpOwo+ID4+ICAgCQlyZXR1cm4gZXJyOwo+ID4+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvaW5ub19oZG1pLmMgYi9kcml2ZXJzL2dwdS9kcm0vcm9j a2NoaXAvaW5ub19oZG1pLmMKPiA+PiBpbmRleCA3ZDliNzVlLi43MTQ5OTY4IDEwMDY0NAo+ID4+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9pbm5vX2hkbWkuYwo+ID4+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9pbm5vX2hkbWkuYwo+ID4+IEBAIC0yOTQsNyArMjk0LDcg QEAgc3RhdGljIGludCBpbm5vX2hkbWlfY29uZmlnX3ZpZGVvX2F2aShzdHJ1Y3QgaW5ub19oZG1p ICpoZG1pLAo+ID4+ICAgCXVuaW9uIGhkbWlfaW5mb2ZyYW1lIGZyYW1lOwo+ID4+ICAgCWludCBy YzsKPiA+PiAgIAo+ID4+IC0JcmMgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxh eV9tb2RlKCZmcmFtZS5hdmksIG1vZGUpOwo+ID4+ICsJcmMgPSBkcm1faGRtaV9hdmlfaW5mb2Zy YW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZS5hdmksIG1vZGUsIGZhbHNlKTsKPiA+PiAgIAo+ ID4+ICAgCWlmIChoZG1pLT5oZG1pX2RhdGEuZW5jX291dF9mb3JtYXQgPT0gSERNSV9DT0xPUlNQ QUNFX1lVVjQ0NCkKPiA+PiAgIAkJZnJhbWUuYXZpLmNvbG9yc3BhY2UgPSBIRE1JX0NPTE9SU1BB Q0VfWVVWNDQ0Owo+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9oZG1p LmMgYi9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9oZG1pLmMKPiA+PiBpbmRleCBhNTljOTVhLi5k YmM2YTE5IDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2hkbWkuYwo+ ID4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2hkbWkuYwo+ID4+IEBAIC00MzQsNyAr NDM0LDcgQEAgc3RhdGljIGludCBoZG1pX2F2aV9pbmZvZnJhbWVfY29uZmlnKHN0cnVjdCBzdGlf aGRtaSAqaGRtaSkKPiA+PiAgIAo+ID4+ICAgCURSTV9ERUJVR19EUklWRVIoIlxuIik7Cj4gPj4g ICAKPiA+PiAtCXJldCA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUo JmluZm9mcmFtZSwgbW9kZSk7Cj4gPj4gKwlyZXQgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zy b21fZGlzcGxheV9tb2RlKCZpbmZvZnJhbWUsIG1vZGUsIGZhbHNlKTsKPiA+PiAgIAlpZiAocmV0 IDwgMCkgewo+ID4+ICAgCQlEUk1fRVJST1IoImZhaWxlZCB0byBzZXR1cCBBVkkgaW5mb2ZyYW1l OiAlZFxuIiwgcmV0KTsKPiA+PiAgIAkJcmV0dXJuIHJldDsKPiA+PiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL3RlZ3JhL2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9oZG1pLmMK PiA+PiBpbmRleCBjZGEwNDkxLi43MThkOGRiIDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS90ZWdyYS9oZG1pLmMKPiA+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vdGVncmEvaGRtaS5j Cj4gPj4gQEAgLTczNCw3ICs3MzQsNyBAQCBzdGF0aWMgdm9pZCB0ZWdyYV9oZG1pX3NldHVwX2F2 aV9pbmZvZnJhbWUoc3RydWN0IHRlZ3JhX2hkbWkgKmhkbWksCj4gPj4gICAJdTggYnVmZmVyWzE3 XTsKPiA+PiAgIAlzc2l6ZV90IGVycjsKPiA+PiAgIAo+ID4+IC0JZXJyID0gZHJtX2hkbWlfYXZp X2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUsIG1vZGUpOwo+ID4+ICsJZXJyID0g ZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUsIG1vZGUsIGZh bHNlKTsKPiA+PiAgIAlpZiAoZXJyIDwgMCkgewo+ID4+ICAgCQlkZXZfZXJyKGhkbWktPmRldiwg ImZhaWxlZCB0byBzZXR1cCBBVkkgaW5mb2ZyYW1lOiAlemRcbiIsIGVycik7Cj4gPj4gICAJCXJl dHVybjsKPiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL3Nvci5jIGIvZHJp dmVycy9ncHUvZHJtL3RlZ3JhL3Nvci5jCj4gPj4gaW5kZXggYThmNTI4OS4uZmIyNzA5YyAxMDA2 NDQKPiA+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vdGVncmEvc29yLmMKPiA+PiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vdGVncmEvc29yLmMKPiA+PiBAQCAtMTkwNCw3ICsxOTA0LDcgQEAgdGVncmFf c29yX2hkbWlfc2V0dXBfYXZpX2luZm9mcmFtZShzdHJ1Y3QgdGVncmFfc29yICpzb3IsCj4gPj4g ICAJdmFsdWUgJj0gfklORk9GUkFNRV9DVFJMX0VOQUJMRTsKPiA+PiAgIAl0ZWdyYV9zb3Jfd3Jp dGVsKHNvciwgdmFsdWUsIFNPUl9IRE1JX0FWSV9JTkZPRlJBTUVfQ1RSTCk7Cj4gPj4gICAKPiA+ PiAtCWVyciA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1l LCBtb2RlKTsKPiA+PiArCWVyciA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5 X21vZGUoJmZyYW1lLCBtb2RlLCBmYWxzZSk7Cj4gPj4gICAJaWYgKGVyciA8IDApIHsKPiA+PiAg IAkJZGV2X2Vycihzb3ItPmRldiwgImZhaWxlZCB0byBzZXR1cCBBVkkgaW5mb2ZyYW1lOiAlZFxu IiwgZXJyKTsKPiA+PiAgIAkJcmV0dXJuIGVycjsKPiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL3ZjNC92YzRfaGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfaGRtaS5jCj4g Pj4gaW5kZXggZWQ2M2Q0ZS4uNDA2ZDZkOCAxMDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vdmM0L3ZjNF9oZG1pLmMKPiA+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9oZG1p LmMKPiA+PiBAQCAtMzk1LDcgKzM5NSw3IEBAIHN0YXRpYyB2b2lkIHZjNF9oZG1pX3NldF9hdmlf aW5mb2ZyYW1lKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikKPiA+PiAgIAl1bmlvbiBoZG1p X2luZm9mcmFtZSBmcmFtZTsKPiA+PiAgIAlpbnQgcmV0Owo+ID4+ICAgCj4gPj4gLQlyZXQgPSBk cm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZS5hdmksIG1vZGUp Owo+ID4+ICsJcmV0ID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgm ZnJhbWUuYXZpLCBtb2RlLCBmYWxzZSk7Cj4gPj4gICAJaWYgKHJldCA8IDApIHsKPiA+PiAgIAkJ RFJNX0VSUk9SKCJjb3VsZG4ndCBmaWxsIEFWSSBpbmZvZnJhbWVcbiIpOwo+ID4+ICAgCQlyZXR1 cm47Cj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS96dGUvenhfaGRtaS5jIGIvZHJp dmVycy9ncHUvZHJtL3p0ZS96eF9oZG1pLmMKPiA+PiBpbmRleCAwZGY3MzY2Li43ZTgzNGUzIDEw MDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS96dGUvenhfaGRtaS5jCj4gPj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL3p0ZS96eF9oZG1pLmMKPiA+PiBAQCAtMTI0LDcgKzEyNCw3IEBAIHN0 YXRpYyBpbnQgenhfaGRtaV9jb25maWdfdmlkZW9fYXZpKHN0cnVjdCB6eF9oZG1pICpoZG1pLAo+ ID4+ICAgCXVuaW9uIGhkbWlfaW5mb2ZyYW1lIGZyYW1lOwo+ID4+ICAgCWludCByZXQ7Cj4gPj4g ICAKPiA+PiAtCXJldCA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUo JmZyYW1lLmF2aSwgbW9kZSk7Cj4gPj4gKwlyZXQgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zy b21fZGlzcGxheV9tb2RlKCZmcmFtZS5hdmksIG1vZGUsIGZhbHNlKTsKPiA+PiAgIAlpZiAocmV0 KSB7Cj4gPj4gICAJCURSTV9ERVZfRVJST1IoaGRtaS0+ZGV2LCAiZmFpbGVkIHRvIGdldCBhdmkg aW5mb2ZyYW1lOiAlZFxuIiwKPiA+PiAgIAkJCSAgICAgIHJldCk7Cj4gPj4gZGlmZiAtLWdpdCBh L2luY2x1ZGUvZHJtL2RybV9lZGlkLmggYi9pbmNsdWRlL2RybS9kcm1fZWRpZC5oCj4gPj4gaW5k ZXggN2I5ZjQ4Yi4uODljMDA2MiAxMDA2NDQKPiA+PiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fZWRp ZC5oCj4gPj4gKysrIGIvaW5jbHVkZS9kcm0vZHJtX2VkaWQuaAo+ID4+IEBAIC0zNDMsNyArMzQz LDggQEAgZHJtX2xvYWRfZWRpZF9maXJtd2FyZShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVj dG9yKQo+ID4+ICAgCj4gPj4gICBpbnQKPiA+PiAgIGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJv bV9kaXNwbGF5X21vZGUoc3RydWN0IGhkbWlfYXZpX2luZm9mcmFtZSAqZnJhbWUsCj4gPj4gLQkJ CQkJIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKTsKPiA+PiArCQkJCQkgY29u c3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUsCj4gPj4gKwkJCQkJIGJvb2wgaXNfaGRt aTJfc2luayk7Cj4gPj4gICBpbnQKPiA+PiAgIGRybV9oZG1pX3ZlbmRvcl9pbmZvZnJhbWVfZnJv bV9kaXNwbGF5X21vZGUoc3RydWN0IGhkbWlfdmVuZG9yX2luZm9mcmFtZSAqZnJhbWUsCj4gPj4g ICAJCQkJCSAgICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSk7Cj4gPj4gLS0g Cj4gPj4gMi43LjQKCi0tIApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwgT1RDCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QK ZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=