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: Thu, 1 Jun 2017 22:29:36 +0300 Message-ID: <20170601192936.GU12629@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> <20170531124133.GI12629@intel.com> <2b1b4ce8-b302-9472-3771-172bdd8d9835@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: <2b1b4ce8-b302-9472-3771-172bdd8d9835@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Sharma, Shashank" Cc: Jose Abreu , intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, Andrzej Hajda , Alex Deucher , Daniel Vetter List-Id: dri-devel@lists.freedesktop.org T24gV2VkLCBNYXkgMzEsIDIwMTcgYXQgMDk6MDY6MTJQTSArMDUzMCwgU2hhcm1hLCBTaGFzaGFu ayB3cm90ZToKPiBSZWdhcmRzCj4gCj4gU2hhc2hhbmsKPiAKPiAKPiBPbiA1LzMxLzIwMTcgNjox MSBQTSwgVmlsbGUgU3lyasOkbMOkIHdyb3RlOgo+ID4gT24gVHVlLCBNYXkgMzAsIDIwMTcgYXQg MTA6MDA6MTJQTSArMDUzMCwgU2hhcm1hLCBTaGFzaGFuayB3cm90ZToKPiA+PiBSZWdhcmRzCj4g Pj4KPiA+PiBTaGFzaGFuawo+ID4+Cj4gPj4KPiA+PiBPbiA1LzMwLzIwMTcgOTo0MyBQTSwgVmls bGUgU3lyasOkbMOkIHdyb3RlOgo+ID4+PiBPbiBUdWUsIE1heSAzMCwgMjAxNyBhdCAwNTo0Mzo0 MFBNICswNTMwLCBTaGFzaGFuayBTaGFybWEgd3JvdGU6Cj4gPj4+PiBIRE1JIDEuNGIgc3VwcG9y dCB0aGUgQ0VBIHZpZGVvIG1vZGVzIGFzIHBlciByYW5nZSBvZiBDRUEtODYxLUQgKFZJQyAxLTY0 KS4KPiA+Pj4+IEZvciBhbnkgb3RoZXIgbW9kZSwgdGhlIFZJQyBmaWxlZCBpbiBBVkkgaW5mb2Zy YW1lcyBzaG91bGQgYmUgMC4KPiA+Pj4+IEhETUkgMi4wIHNpbmtzLCBzdXBwb3J0IHZpZGVvIG1v ZGVzIHJhbmdlIGFzIHBlciBDRUEtODYxLUYgc3BlYywgd2hpY2ggaXMKPiA+Pj4+IGV4dGVuZGVk IHRvIChWSUMgMS0xMDcpLgo+ID4+Pj4KPiA+Pj4+IFRoaXMgcGF0Y2ggYWRkcyBhIGJvb2wgaW5w dXQgdmFyaWFibGUsIHdoaWNoIGluZGljYXRlcyBpZiB0aGUgY29ubmVjdGVkCj4gPj4+PiBzaW5r IGlzIGEgSERNSSAyLjAgc2luayBvciBub3QuIFRoaXMgd2lsbCBtYWtlIHN1cmUgdGhhdCB3ZSBk b24ndCBwYXNzIGEKPiA+Pj4+IEhETUkgMi4wIFZJQyB0byBhIEhETUkgMS40IHNpbmsuCj4gPj4+ Pgo+ID4+Pj4gVGhpcyBwYXRjaCB0b3VjaGVzIGFsbCBkcm0gZHJpdmVycywgd2hvIGFyZSBjYWxs ZXJzIG9mIHRoaXMgZnVuY3Rpb24KPiA+Pj4+IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9k aXNwbGF5X21vZGUgYnV0IHRvIG1ha2Ugc3VyZSB0aGVyZSBpcwo+ID4+Pj4gbm8gY2hhbmdlIGlu IGN1cnJlbnQgYmVoYXZpb3IsIGlzX2hkbWkyIGlzIGtlcHQgYXMgZmFsc2UuCj4gPj4+Pgo+ID4+ Pj4gSW4gY2FzZSBvZiBJOTE1IGRyaXZlciwgdGhpcyBwYXRjaCBjaGVja3MgdGhlIGNvbm5lY3Rv ci0+ZGlzcGxheV9pbmZvCj4gPj4+PiB0byBjaGVjayBpZiB0aGUgY29ubmVjdGVkIGRpc3BsYXkg aXMgSERNSSAyLjAuCj4gPj4+Pgo+ID4+Pj4gQ2M6IFZpbGxlIFN5cmphbGEgPHZpbGxlLnN5cmph bGFAbGludXguaW50ZWwuY29tPgo+ID4+Pj4gQ2M6IEpvc2UgQWJyZXUgPGpvc2UuYWJyZXVAc3lu b3BzeXMuY29tPgo+ID4+Pj4gQ2M6IEFuZHJ6ZWogSGFqZGEgPGEuaGFqZGFAc2Ftc3VuZy5jb20+ Cj4gPj4+PiBDYzogQWxleCBEZXVjaGVyIDxhbGV4YW5kZXIuZGV1Y2hlckBhbWQuY29tPgo+ID4+ Pj4gQ2M6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAaW50ZWwuY29tPgo+ID4+Pj4KPiA+ Pj4+IFBTOiBUaGlzIHBhdGNoIHRvdWNoZXMgYSBmZXcgbGluZXMgaW4gZmV3IGZpbGVzLCB3aGlj aCB3ZXJlCj4gPj4+PiBhbHJlYWR5IGFib3ZlIDgwIGNoYXIsIHNvIGNoZWNrcGF0Y2ggZ2l2ZXMg ODAgY2hhciB3YXJuaW5nIGFnYWluLgo+ID4+Pj4gLSBncHUvZHJtL29tYXBkcm0vb21hcF9lbmNv ZGVyLmMKPiA+Pj4+IC0gZ3B1L2RybS9pOTE1L2ludGVsX3Nkdm8uYwo+ID4+Pj4KPiA+Pj4+IFYy OiBSZWJhc2UsIEFkZGVkIHItYiBmcm9tIEFuZHJ6ZWoKPiA+Pj4+Cj4gPj4+PiBSZXZpZXdlZC1i eTogQW5kcnplaiBIYWpkYSA8YS5oYWpkYUBzYW1zdW5nLmNvbT4KPiA+Pj4+IFNpZ25lZC1vZmYt Ynk6IFNoYXNoYW5rIFNoYXJtYSA8c2hhc2hhbmsuc2hhcm1hQGludGVsLmNvbT4KPiA+Pj4+IC0t LQo+ID4+Pj4gICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3YxMF8wLmMgICAgfCAg MiArLQo+ID4+Pj4gICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3YxMV8wLmMgICAg fCAgMiArLQo+ID4+Pj4gICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3Y4XzAuYyAg ICAgfCAgMiArLQo+ID4+Pj4gICAgZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hbmFsb2dpeC1hbng3 OHh4LmMgfCAgMyArKy0KPiA+Pj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc2lpOTAyeC5j ICAgICAgICAgIHwgIDIgKy0KPiA+Pj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc3lub3Bz eXMvZHctaGRtaS5jIHwgIDIgKy0KPiA+Pj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5j ICAgICAgICAgICAgICAgIHwgMTIgKysrKysrKysrKystCj4gPj4+PiAgICBkcml2ZXJzL2dwdS9k cm0vZXh5bm9zL2V4eW5vc19oZG1pLmMgICAgICB8ICAyICstCj4gPj4+PiAgICBkcml2ZXJzL2dw dS9kcm0vaTJjL3RkYTk5OHhfZHJ2LmMgICAgICAgICB8ICAyICstCj4gPj4+PiAgICBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMgICAgICAgICB8ICA1ICsrKystCj4gPj4+PiAgICBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zZHZvLmMgICAgICAgICB8ICAzICsrLQo+ID4+Pj4g ICAgZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19oZG1pLmMgICAgICAgfCAgMiArLQo+ID4+ Pj4gICAgZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9lbmNvZGVyLmMgICAgfCAgMyArKy0K PiA+Pj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2F1ZGlvLmMgICAgIHwgIDIg Ky0KPiA+Pj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9pbm5vX2hkbWkuYyAgICAgIHwg IDIgKy0KPiA+Pj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2hkbWkuYyAgICAgICAgICAg IHwgIDIgKy0KPiA+Pj4+ICAgIGRyaXZlcnMvZ3B1L2RybS90ZWdyYS9oZG1pLmMgICAgICAgICAg ICAgIHwgIDIgKy0KPiA+Pj4+ICAgIGRyaXZlcnMvZ3B1L2RybS90ZWdyYS9zb3IuYyAgICAgICAg ICAgICAgIHwgIDIgKy0KPiA+Pj4+ICAgIGRyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2hkbWkuYyAg ICAgICAgICAgIHwgIDIgKy0KPiA+Pj4+ICAgIGRyaXZlcnMvZ3B1L2RybS96dGUvenhfaGRtaS5j ICAgICAgICAgICAgIHwgIDIgKy0KPiA+Pj4+ICAgIGluY2x1ZGUvZHJtL2RybV9lZGlkLmggICAg ICAgICAgICAgICAgICAgIHwgIDMgKystCj4gPj4+PiAgICAyMSBmaWxlcyBjaGFuZ2VkLCAzOCBp bnNlcnRpb25zKCspLCAyMSBkZWxldGlvbnMoLSkKPiA+Pj4+Cj4gPj4+PiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3YxMF8wLmMgYi9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9kY2VfdjEwXzAuYwo+ID4+Pj4gaW5kZXggM2M2MmM0NS4uNDkyM2RkYyAxMDA2 NDQKPiA+Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92MTBfMC5jCj4g Pj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdjEwXzAuYwo+ID4+Pj4g QEAgLTE4NjQsNyArMTg2NCw3IEBAIHN0YXRpYyB2b2lkIGRjZV92MTBfMF9hZm10X3NldG1vZGUo c3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAo+ID4+Pj4gICAgCWRjZV92MTBfMF9hdWRpb193 cml0ZV9zYWRfcmVncyhlbmNvZGVyKTsKPiA+Pj4+ICAgIAlkY2VfdjEwXzBfYXVkaW9fd3JpdGVf bGF0ZW5jeV9maWVsZHMoZW5jb2RlciwgbW9kZSk7Cj4gPj4+PiAgICAKPiA+Pj4+IC0JZXJyID0g ZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUsIG1vZGUpOwo+ ID4+Pj4gKwllcnIgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZm cmFtZSwgbW9kZSwgZmFsc2UpOwo+ID4+Pj4gICAgCWlmIChlcnIgPCAwKSB7Cj4gPj4+PiAgICAJ CURSTV9FUlJPUigiZmFpbGVkIHRvIHNldHVwIEFWSSBpbmZvZnJhbWU6ICV6ZFxuIiwgZXJyKTsK PiA+Pj4+ICAgIAkJcmV0dXJuOwo+ID4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2RjZV92MTFfMC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3Yx MV8wLmMKPiA+Pj4+IGluZGV4IGM4ZWQwZmEuLjQxMDE2ODQgMTAwNjQ0Cj4gPj4+PiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdjExXzAuYwo+ID4+Pj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3YxMV8wLmMKPiA+Pj4+IEBAIC0xODQ4LDcgKzE4NDgs NyBAQCBzdGF0aWMgdm9pZCBkY2VfdjExXzBfYWZtdF9zZXRtb2RlKHN0cnVjdCBkcm1fZW5jb2Rl ciAqZW5jb2RlciwKPiA+Pj4+ICAgIAlkY2VfdjExXzBfYXVkaW9fd3JpdGVfc2FkX3JlZ3MoZW5j b2Rlcik7Cj4gPj4+PiAgICAJZGNlX3YxMV8wX2F1ZGlvX3dyaXRlX2xhdGVuY3lfZmllbGRzKGVu Y29kZXIsIG1vZGUpOwo+ID4+Pj4gICAgCj4gPj4+PiAtCWVyciA9IGRybV9oZG1pX2F2aV9pbmZv ZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLCBtb2RlKTsKPiA+Pj4+ICsJZXJyID0gZHJt X2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUsIG1vZGUsIGZhbHNl KTsKPiA+Pj4+ICAgIAlpZiAoZXJyIDwgMCkgewo+ID4+Pj4gICAgCQlEUk1fRVJST1IoImZhaWxl ZCB0byBzZXR1cCBBVkkgaW5mb2ZyYW1lOiAlemRcbiIsIGVycik7Cj4gPj4+PiAgICAJCXJldHVy bjsKPiA+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2Vfdjhf MC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3Y4XzAuYwo+ID4+Pj4gaW5kZXgg M2U5MGMxOS4uYTdmNmIzMiAxMDA2NDQKPiA+Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2RjZV92OF8wLmMKPiA+Pj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2RjZV92OF8wLmMKPiA+Pj4+IEBAIC0xNzQ3LDcgKzE3NDcsNyBAQCBzdGF0aWMgdm9pZCBkY2Vf djhfMF9hZm10X3NldG1vZGUoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAo+ID4+Pj4gICAg CWRjZV92OF8wX2F1ZGlvX3dyaXRlX3NhZF9yZWdzKGVuY29kZXIpOwo+ID4+Pj4gICAgCWRjZV92 OF8wX2F1ZGlvX3dyaXRlX2xhdGVuY3lfZmllbGRzKGVuY29kZXIsIG1vZGUpOwo+ID4+Pj4gICAg Cj4gPj4+PiAtCWVyciA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUo JmZyYW1lLCBtb2RlKTsKPiA+Pj4+ICsJZXJyID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9t X2Rpc3BsYXlfbW9kZSgmZnJhbWUsIG1vZGUsIGZhbHNlKTsKPiA+Pj4+ICAgIAlpZiAoZXJyIDwg MCkgewo+ID4+Pj4gICAgCQlEUk1fRVJST1IoImZhaWxlZCB0byBzZXR1cCBBVkkgaW5mb2ZyYW1l OiAlemRcbiIsIGVycik7Cj4gPj4+PiAgICAJCXJldHVybjsKPiA+Pj4+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vYnJpZGdlL2FuYWxvZ2l4LWFueDc4eHguYyBiL2RyaXZlcnMvZ3B1L2Ry bS9icmlkZ2UvYW5hbG9naXgtYW54Nzh4eC5jCj4gPj4+PiBpbmRleCBhMmE4MjM2Li5mOWI3N2I4 IDEwMDY0NAo+ID4+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hbmFsb2dpeC1hbng3 OHh4LmMKPiA+Pj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYW5hbG9naXgtYW54Nzh4 eC5jCj4gPj4+PiBAQCAtMTA5Nyw3ICsxMDk3LDggQEAgc3RhdGljIHZvaWQgYW54Nzh4eF9icmlk Z2VfbW9kZV9zZXQoc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSwKPiA+Pj4+ICAgIAo+ID4+Pj4g ICAgCW11dGV4X2xvY2soJmFueDc4eHgtPmxvY2spOwo+ID4+Pj4gICAgCj4gPj4+PiAtCWVyciA9 IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLCBhZGp1c3Rl ZF9tb2RlKTsKPiA+Pj4+ICsJZXJyID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3Bs YXlfbW9kZSgmZnJhbWUsIGFkanVzdGVkX21vZGUsCj4gPj4+PiArCQkJCQkJICAgICAgIGZhbHNl KTsKPiA+Pj4+ICAgIAlpZiAoZXJyKSB7Cj4gPj4+PiAgICAJCURSTV9FUlJPUigiRmFpbGVkIHRv IHNldHVwIEFWSSBpbmZvZnJhbWU6ICVkXG4iLCBlcnIpOwo+ID4+Pj4gICAgCQlnb3RvIHVubG9j azsKPiA+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3NpaTkwMnguYyBi L2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc2lpOTAyeC5jCj4gPj4+PiBpbmRleCA5Yjg3MDY3Li4z ZGM0MGY2IDEwMDY0NAo+ID4+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zaWk5MDJ4 LmMKPiA+Pj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc2lpOTAyeC5jCj4gPj4+PiBA QCAtMjY5LDcgKzI2OSw3IEBAIHN0YXRpYyB2b2lkIHNpaTkwMnhfYnJpZGdlX21vZGVfc2V0KHN0 cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UsCj4gPj4+PiAgICAJaWYgKHJldCkKPiA+Pj4+ICAgIAkJ cmV0dXJuOwo+ID4+Pj4gICAgCj4gPj4+PiAtCXJldCA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVf ZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLCBhZGopOwo+ID4+Pj4gKwlyZXQgPSBkcm1faGRtaV9h dmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZSwgYWRqLCBmYWxzZSk7Cj4gPj4+ PiAgICAJaWYgKHJldCA8IDApIHsKPiA+Pj4+ICAgIAkJRFJNX0VSUk9SKCJjb3VsZG4ndCBmaWxs IEFWSSBpbmZvZnJhbWVcbiIpOwo+ID4+Pj4gICAgCQlyZXR1cm47Cj4gPj4+PiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zeW5vcHN5cy9kdy1oZG1pLmMgYi9kcml2ZXJzL2dw dS9kcm0vYnJpZGdlL3N5bm9wc3lzL2R3LWhkbWkuYwo+ID4+Pj4gaW5kZXggODczN2RlOC4uZTZk MzE4MSAxMDA2NDQKPiA+Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc3lub3BzeXMv ZHctaGRtaS5jCj4gPj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL2R3 LWhkbWkuYwo+ID4+Pj4gQEAgLTEzMTcsNyArMTMxNyw3IEBAIHN0YXRpYyB2b2lkIGhkbWlfY29u ZmlnX0FWSShzdHJ1Y3QgZHdfaGRtaSAqaGRtaSwgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1v ZGUpCj4gPj4+PiAgICAJdTggdmFsOwo+ID4+Pj4gICAgCj4gPj4+PiAgICAJLyogSW5pdGlhbGlz ZSBpbmZvIGZyYW1lIGZyb20gRFJNIG1vZGUgKi8KPiA+Pj4+IC0JZHJtX2hkbWlfYXZpX2luZm9m cmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUsIG1vZGUpOwo+ID4+Pj4gKwlkcm1faGRtaV9h dmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZSwgbW9kZSwgZmFsc2UpOwo+ID4+ Pj4gICAgCj4gPj4+PiAgICAJaWYgKGhkbWlfYnVzX2ZtdF9pc195dXY0NDQoaGRtaS0+aGRtaV9k YXRhLmVuY19vdXRfYnVzX2Zvcm1hdCkpCj4gPj4+PiAgICAJCWZyYW1lLmNvbG9yc3BhY2UgPSBI RE1JX0NPTE9SU1BBQ0VfWVVWNDQ0Owo+ID4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fZWRpZC5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9lZGlkLmMKPiA+Pj4+IGluZGV4IDJl NTU1OTkuLjhiMjM0MzUgMTAwNjQ0Cj4gPj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2Vk aWQuYwo+ID4+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9lZGlkLmMKPiA+Pj4+IEBAIC00 MzM0LDEyICs0MzM0LDE0IEBAIEVYUE9SVF9TWU1CT0woZHJtX3NldF9wcmVmZXJyZWRfbW9kZSk7 Cj4gPj4+PiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBkYXRhIGZyb20gYSBEUk0gZGlzcGxheSBtb2RlCj4gPj4+PiAgICAgKiBAZnJhbWU6IEhETUkg QVZJIGluZm9mcmFtZQo+ID4+Pj4gICAgICogQG1vZGU6IERSTSBkaXNwbGF5IG1vZGUKPiA+Pj4+ ICsgKiBAaXNfaGRtaTI6IFNpbmsgaXMgSERNSSAyLjAgY29tcGxpYW50Cj4gPj4+PiAgICAgKgo+ ID4+Pj4gICAgICogUmV0dXJuOiAwIG9uIHN1Y2Nlc3Mgb3IgYSBuZWdhdGl2ZSBlcnJvciBjb2Rl IG9uIGZhaWx1cmUuCj4gPj4+PiAgICAgKi8KPiA+Pj4+ICAgIGludAo+ID4+Pj4gICAgZHJtX2hk bWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZShzdHJ1Y3QgaGRtaV9hdmlfaW5mb2Zy YW1lICpmcmFtZSwKPiA+Pj4+IC0JCQkJCSBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAq bW9kZSkKPiA+Pj4+ICsJCQkJCSBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSwK PiA+Pj4+ICsJCQkJCSBib29sIGlzX2hkbWkyKQo+ID4+Pj4gICAgewo+ID4+Pj4gICAgCWludCBl cnI7Cj4gPj4+PiAgICAKPiA+Pj4+IEBAIC00MzU1LDYgKzQzNTcsMTQgQEAgZHJtX2hkbWlfYXZp X2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZShzdHJ1Y3QgaGRtaV9hdmlfaW5mb2ZyYW1lICpm cmFtZSwKPiA+Pj4+ICAgIAo+ID4+Pj4gICAgCWZyYW1lLT52aWRlb19jb2RlID0gZHJtX21hdGNo X2NlYV9tb2RlKG1vZGUpOwo+ID4+Pj4gICAgCj4gPj4+PiArCS8qCj4gPj4+PiArCSAqIEhETUkg MS40IFZJQyByYW5nZTogMSA8PSBWSUMgPD0gNjQgKENFQS04NjEtRCkgYnV0Cj4gPj4+PiArCSAq IEhETUkgMi4wIFZJQyByYW5nZTogMSA8PSBWSUMgPD0gMTA3IChDRUEtODYxLUYpLiBTbyB3ZQo+ ID4+Pj4gKwkgKiBoYXZlIHRvIG1ha2Ugc3VyZSB3ZSBkb250IGJyZWFrIEhETUkgMS40IHNpbmtz Lgo+ID4+Pj4gKwkgKi8KPiA+Pj4+ICsJaWYgKCFpc19oZG1pMiAmJiBmcmFtZS0+dmlkZW9fY29k ZSA+IDY0KQo+ID4+Pj4gKwkJZnJhbWUtPnZpZGVvX2NvZGUgPSAwOwo+ID4+PiBTZWVtcyBJJ3Zl IHRvdGFsbHkgZm9yZ290dGVuIHdoYXQgd2UgY29uY2x1ZGVkIGFib3V0IHRoZSBBVkkgVklDCj4g Pj4+IHZzLiBIRE1JIFZJQywgYnV0IEkgaGF2ZSBhIGZlZWxpbmcgdGhpcyBpc24ndCBzdWZmaWNp ZW50Lgo+ID4+IEFzIGZhciBhcyBJIHJlbWVtYmVyLCB3ZSBkZWNpZGVkIHRvIHNlbmQgVklDcyA+ IDY0IHRvIEhETUkgMi4wIG1vbml0b3JzCj4gPj4gb25seS4KPiA+PiBJZiB5b3UgY2FuIHByb3Zp ZGUgc29tZSBtb3JlIHRob3VnaHRzIGFib3V0IGhvdyBjYW4gd2UgbWFrZSBpdCBiZXR0ZXIgPwo+ ID4gVGhlIHF1ZXN0aW9uIGlzIHdoZXRoZXIgd2Ugc2VuZCB0aGUgVklDIGluIHRoZSBBVkkgaW5m b2ZyYW1lIG9mIHRoZQo+ID4gSERNSSBpbmZvZnJhbWUuIElJUkMgc2VuZGluZyBib3RoIGlzbid0 IGxlZ2FsLCBhbmQgSSB0aGluayB3ZSBtaWdodCBoYXZlCj4gPiBjb25jbHVkZWQgdGhhdCB3ZSBt aWdodCBoYXZlIHRvIHBhc3MgdGhlIEFWSSBpbmZvZnJhbWUgdG8gdGhlIEhETUkKPiA+IGluZm9m cmFtZSBjb25zdHJ1Y3Rpb24gZnVuY3Rpb24gb3IgdmljZSB2ZXJzYSB0byBmaWd1cmUgb3V0IHdo aWNoIGdldHMKPiA+IHNlbnQuCj4gWWVzLCB5b3UgYXJlIGNvcnJlY3QsIGFuZCB0aGlzIGlzIHdo YXQgd2UgZGVjaWRlZC4gQnV0IG9uIGEgcmVjZW50IAo+IGRldmVsb3BtZW50LCBJIHdhcyBhYmxl IHRvIHRlc3QgdGhpcyBwYXRjaCBzZXJpZXMgd2l0aCBhIEhETUkgMi4wIGFuYWx5emVyLAo+IGFu ZCB3aGVuIEkgdGVzdGVkIHRoZSBBVkkgSUYgKHdpdGggVklDIDk3LCAzOHgyMUA2MCAxNjo5KSB0 aGUgYW5hbHl6ZXIgCj4gd2FzIGNhbGxpbmcgaXQgbGVnYWwsIGFuZCB3YXMgYWxzbyBhYmxlIHRv IGRldGVjdCB0aGUgbW9kZSBiYXNlZCBvbiBWSUMuCj4gU28gbG9va3MgbGlrZSBpdHMgKGZvcnR1 bmF0ZWx5KSBjb3JyZWN0IGludGVycHJldGF0aW9uIG9mIHRoZSBzcGVjLiBCdXQgCj4gZG8geW91 IHN0aWxsIHRoaW5rIHdlIHNob3VsZCBjaGFuZ2UgaXQgPwoKSSdtIHByZXR0eSBzdXJlIHRoZSBz cGVjIHNhaWQgeW91J3JlIG5vdCBzdXBwb3NlZCB0byBzZW5kIHR3byBWSUNzLgoKPiAKPiAtIFNo YXNoYW5rCj4gPj4gLSBTaGFzaGFuawo+ID4+Pj4gKwo+ID4+Pj4gICAgCWZyYW1lLT5waWN0dXJl X2FzcGVjdCA9IEhETUlfUElDVFVSRV9BU1BFQ1RfTk9ORTsKPiA+Pj4+ICAgIAo+ID4+Pj4gICAg CS8qCj4gPj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfaGRt aS5jIGIvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfaGRtaS5jCj4gPj4+PiBpbmRleCAx ZmY2YWI2Li5mMmNjNzVkIDEwMDY0NAo+ID4+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2V4eW5v cy9leHlub3NfaGRtaS5jCj4gPj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5v c19oZG1pLmMKPiA+Pj4+IEBAIC03ODQsNyArNzg0LDcgQEAgc3RhdGljIHZvaWQgaGRtaV9yZWdf aW5mb2ZyYW1lcyhzdHJ1Y3QgaGRtaV9jb250ZXh0ICpoZGF0YSkKPiA+Pj4+ICAgIAl9Cj4gPj4+ PiAgICAKPiA+Pj4+ICAgIAlyZXQgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxh eV9tb2RlKCZmcm0uYXZpLAo+ID4+Pj4gLQkJCSZoZGF0YS0+Y3VycmVudF9tb2RlKTsKPiA+Pj4+ ICsJCQkmaGRhdGEtPmN1cnJlbnRfbW9kZSwgZmFsc2UpOwo+ID4+Pj4gICAgCWlmICghcmV0KQo+ ID4+Pj4gICAgCQlyZXQgPSBoZG1pX2F2aV9pbmZvZnJhbWVfcGFjaygmZnJtLmF2aSwgYnVmLCBz aXplb2YoYnVmKSk7Cj4gPj4+PiAgICAJaWYgKHJldCA+IDApIHsKPiA+Pj4+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTJjL3RkYTk5OHhfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTJj L3RkYTk5OHhfZHJ2LmMKPiA+Pj4+IGluZGV4IDg2ZjQ3ZTEuLmQxZTdhYzUgMTAwNjQ0Cj4gPj4+ PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTJjL3RkYTk5OHhfZHJ2LmMKPiA+Pj4+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pMmMvdGRhOTk4eF9kcnYuYwo+ID4+Pj4gQEAgLTcxMiw3ICs3MTIsNyBA QCB0ZGE5OTh4X3dyaXRlX2F2aShzdHJ1Y3QgdGRhOTk4eF9wcml2ICpwcml2LCBzdHJ1Y3QgZHJt X2Rpc3BsYXlfbW9kZSAqbW9kZSkKPiA+Pj4+ICAgIHsKPiA+Pj4+ICAgIAl1bmlvbiBoZG1pX2lu Zm9mcmFtZSBmcmFtZTsKPiA+Pj4+ICAgIAo+ID4+Pj4gLQlkcm1faGRtaV9hdmlfaW5mb2ZyYW1l X2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZS5hdmksIG1vZGUpOwo+ID4+Pj4gKwlkcm1faGRtaV9h dmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZS5hdmksIG1vZGUsIGZhbHNlKTsK PiA+Pj4+ICAgIAlmcmFtZS5hdmkucXVhbnRpemF0aW9uX3JhbmdlID0gSERNSV9RVUFOVElaQVRJ T05fUkFOR0VfRlVMTDsKPiA+Pj4+ICAgIAo+ID4+Pj4gICAgCXRkYTk5OHhfd3JpdGVfaWYocHJp diwgRElQX0lGX0ZMQUdTX0lGMiwgUkVHX0lGMl9IQjAsICZmcmFtZSk7Cj4gPj4+PiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfaGRtaS5jCj4gPj4+PiBpbmRleCA1OGQ2OTAzLi43MDJjYmFiIDEwMDY0NAo+ ID4+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCj4gPj4+PiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKPiA+Pj4+IEBAIC00NTksMTEgKzQ1 OSwxNCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9oZG1pX3NldF9hdmlfaW5mb2ZyYW1lKHN0cnVjdCBk cm1fZW5jb2RlciAqZW5jb2RlciwKPiA+Pj4+ICAgIAlzdHJ1Y3QgaW50ZWxfaGRtaSAqaW50ZWxf aGRtaSA9IGVuY190b19pbnRlbF9oZG1pKGVuY29kZXIpOwo+ID4+Pj4gICAgCWNvbnN0IHN0cnVj dCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlID0KPiA+Pj4+ICAgIAkJJmNydGNfc3Rh dGUtPmJhc2UuYWRqdXN0ZWRfbW9kZTsKPiA+Pj4+ICsJc3RydWN0IGRybV9jb25uZWN0b3IgKmNv bm5lY3RvciA9ICZpbnRlbF9oZG1pLT5hdHRhY2hlZF9jb25uZWN0b3ItPmJhc2U7Cj4gPj4+PiAr CWJvb2wgaXNfaGRtaTIgPSBjb25uZWN0b3ItPmRpc3BsYXlfaW5mby5oZG1pLnNjZGMuc3VwcG9y dGVkOwo+ID4+Pj4gICAgCXVuaW9uIGhkbWlfaW5mb2ZyYW1lIGZyYW1lOwo+ID4+Pj4gICAgCWlu dCByZXQ7Cj4gPj4+PiAgICAKPiA+Pj4+ICAgIAlyZXQgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1l X2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZS5hdmksCj4gPj4+PiAtCQkJCQkJICAgICAgIGFkanVz dGVkX21vZGUpOwo+ID4+Pj4gKwkJCQkJCSAgICAgICBhZGp1c3RlZF9tb2RlLAo+ID4+Pj4gKwkJ CQkJCSAgICAgICBpc19oZG1pMik7Cj4gPj4+PiAgICAJaWYgKHJldCA8IDApIHsKPiA+Pj4+ICAg IAkJRFJNX0VSUk9SKCJjb3VsZG4ndCBmaWxsIEFWSSBpbmZvZnJhbWVcbiIpOwo+ID4+Pj4gICAg CQlyZXR1cm47Cj4gPj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf c2R2by5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc2R2by5jCj4gPj4+PiBpbmRleCA2 Y2MxODEyLi42MmQ3MjdhIDEwMDY0NAo+ID4+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfc2R2by5jCj4gPj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zZHZv LmMKPiA+Pj4+IEBAIC0xMDA2LDcgKzEwMDYsOCBAQCBzdGF0aWMgYm9vbCBpbnRlbF9zZHZvX3Nl dF9hdmlfaW5mb2ZyYW1lKHN0cnVjdCBpbnRlbF9zZHZvICppbnRlbF9zZHZvLAo+ID4+Pj4gICAg CXNzaXplX3QgbGVuOwo+ID4+Pj4gICAgCj4gPj4+PiAgICAJcmV0ID0gZHJtX2hkbWlfYXZpX2lu Zm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUuYXZpLAo+ID4+Pj4gLQkJCQkJCSAgICAg ICAmcGlwZV9jb25maWctPmJhc2UuYWRqdXN0ZWRfbW9kZSk7Cj4gPj4+PiArCQkJCQkJICAgICAg ICZwaXBlX2NvbmZpZy0+YmFzZS5hZGp1c3RlZF9tb2RlLAo+ID4+Pj4gKwkJCQkJCSAgICAgICBm YWxzZSk7Cj4gPj4+PiAgICAJaWYgKHJldCA8IDApIHsKPiA+Pj4+ICAgIAkJRFJNX0VSUk9SKCJj b3VsZG4ndCBmaWxsIEFWSSBpbmZvZnJhbWVcbiIpOwo+ID4+Pj4gICAgCQlyZXR1cm4gZmFsc2U7 Cj4gPj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19oZG1pLmMg Yi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2hkbWkuYwo+ID4+Pj4gaW5kZXggNDFhMWMw My4uYTE3NzBkYyAxMDA2NDQKPiA+Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9t dGtfaGRtaS5jCj4gPj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2hkbWku Ywo+ID4+Pj4gQEAgLTk3NSw3ICs5NzUsNyBAQCBzdGF0aWMgaW50IG10a19oZG1pX3NldHVwX2F2 aV9pbmZvZnJhbWUoc3RydWN0IG10a19oZG1pICpoZG1pLAo+ID4+Pj4gICAgCXU4IGJ1ZmZlclsx N107Cj4gPj4+PiAgICAJc3NpemVfdCBlcnI7Cj4gPj4+PiAgICAKPiA+Pj4+IC0JZXJyID0gZHJt X2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUsIG1vZGUpOwo+ID4+ Pj4gKwllcnIgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFt ZSwgbW9kZSwgZmFsc2UpOwo+ID4+Pj4gICAgCWlmIChlcnIgPCAwKSB7Cj4gPj4+PiAgICAJCWRl dl9lcnIoaGRtaS0+ZGV2LAo+ID4+Pj4gICAgCQkJIkZhaWxlZCB0byBnZXQgQVZJIGluZm9mcmFt ZSBmcm9tIG1vZGU6ICV6ZFxuIiwgZXJyKTsKPiA+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vb21hcGRybS9vbWFwX2VuY29kZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29t YXBfZW5jb2Rlci5jCj4gPj4+PiBpbmRleCA4NmM5NzdiLi42MjRmNWI1IDEwMDY0NAo+ID4+Pj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9lbmNvZGVyLmMKPiA+Pj4+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZW5jb2Rlci5jCj4gPj4+PiBAQCAtODUsNyAr ODUsOCBAQCBzdGF0aWMgdm9pZCBvbWFwX2VuY29kZXJfbW9kZV9zZXQoc3RydWN0IGRybV9lbmNv ZGVyICplbmNvZGVyLAo+ID4+Pj4gICAgCWlmIChoZG1pX21vZGUgJiYgZHNzZGV2LT5kcml2ZXIt PnNldF9oZG1pX2luZm9mcmFtZSkgewo+ID4+Pj4gICAgCQlzdHJ1Y3QgaGRtaV9hdmlfaW5mb2Zy YW1lIGF2aTsKPiA+Pj4+ICAgIAo+ID4+Pj4gLQkJciA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVf ZnJvbV9kaXNwbGF5X21vZGUoJmF2aSwgYWRqdXN0ZWRfbW9kZSk7Cj4gPj4+PiArCQlyID0gZHJt X2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmYXZpLCBhZGp1c3RlZF9tb2Rl LAo+ID4+Pj4gKwkJCQkJCQkgICAgIGZhbHNlKTsKPiA+Pj4+ICAgIAkJaWYgKHIgPT0gMCkKPiA+ Pj4+ICAgIAkJCWRzc2Rldi0+ZHJpdmVyLT5zZXRfaGRtaV9pbmZvZnJhbWUoZHNzZGV2LCAmYXZp KTsKPiA+Pj4+ICAgIAl9Cj4gPj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVv bi9yYWRlb25fYXVkaW8uYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2F1ZGlvLmMK PiA+Pj4+IGluZGV4IGFhYWNhYzEuLjc3MGUzMWYgMTAwNjQ0Cj4gPj4+PiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9hdWRpby5jCj4gPj4+PiArKysgYi9kcml2ZXJzL2dwdS9k cm0vcmFkZW9uL3JhZGVvbl9hdWRpby5jCj4gPj4+PiBAQCAtNTE2LDcgKzUxNiw3IEBAIHN0YXRp YyBpbnQgcmFkZW9uX2F1ZGlvX3NldF9hdmlfcGFja2V0KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5j b2RlciwKPiA+Pj4+ICAgIAlpZiAoIWNvbm5lY3RvcikKPiA+Pj4+ICAgIAkJcmV0dXJuIC1FSU5W QUw7Cj4gPj4+PiAgICAKPiA+Pj4+IC0JZXJyID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9t X2Rpc3BsYXlfbW9kZSgmZnJhbWUsIG1vZGUpOwo+ID4+Pj4gKwllcnIgPSBkcm1faGRtaV9hdmlf aW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZSwgbW9kZSwgZmFsc2UpOwo+ID4+Pj4g ICAgCWlmIChlcnIgPCAwKSB7Cj4gPj4+PiAgICAJCURSTV9FUlJPUigiZmFpbGVkIHRvIHNldHVw IEFWSSBpbmZvZnJhbWU6ICVkXG4iLCBlcnIpOwo+ID4+Pj4gICAgCQlyZXR1cm4gZXJyOwo+ID4+ Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9pbm5vX2hkbWkuYyBiL2Ry aXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9pbm5vX2hkbWkuYwo+ID4+Pj4gaW5kZXggN2Q5Yjc1ZS4u NzE0OTk2OCAxMDA2NDQKPiA+Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9pbm5v X2hkbWkuYwo+ID4+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL2lubm9faGRtaS5j Cj4gPj4+PiBAQCAtMjk0LDcgKzI5NCw3IEBAIHN0YXRpYyBpbnQgaW5ub19oZG1pX2NvbmZpZ192 aWRlb19hdmkoc3RydWN0IGlubm9faGRtaSAqaGRtaSwKPiA+Pj4+ICAgIAl1bmlvbiBoZG1pX2lu Zm9mcmFtZSBmcmFtZTsKPiA+Pj4+ICAgIAlpbnQgcmM7Cj4gPj4+PiAgICAKPiA+Pj4+IC0JcmMg PSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZS5hdmksIG1v ZGUpOwo+ID4+Pj4gKwlyYyA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21v ZGUoJmZyYW1lLmF2aSwgbW9kZSwgZmFsc2UpOwo+ID4+Pj4gICAgCj4gPj4+PiAgICAJaWYgKGhk bWktPmhkbWlfZGF0YS5lbmNfb3V0X2Zvcm1hdCA9PSBIRE1JX0NPTE9SU1BBQ0VfWVVWNDQ0KQo+ ID4+Pj4gICAgCQlmcmFtZS5hdmkuY29sb3JzcGFjZSA9IEhETUlfQ09MT1JTUEFDRV9ZVVY0NDQ7 Cj4gPj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfaGRtaS5jIGIvZHJp dmVycy9ncHUvZHJtL3N0aS9zdGlfaGRtaS5jCj4gPj4+PiBpbmRleCBhNTljOTVhLi5kYmM2YTE5 IDEwMDY0NAo+ID4+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfaGRtaS5jCj4gPj4+ PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9oZG1pLmMKPiA+Pj4+IEBAIC00MzQsNyAr NDM0LDcgQEAgc3RhdGljIGludCBoZG1pX2F2aV9pbmZvZnJhbWVfY29uZmlnKHN0cnVjdCBzdGlf aGRtaSAqaGRtaSkKPiA+Pj4+ICAgIAo+ID4+Pj4gICAgCURSTV9ERUJVR19EUklWRVIoIlxuIik7 Cj4gPj4+PiAgICAKPiA+Pj4+IC0JcmV0ID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rp c3BsYXlfbW9kZSgmaW5mb2ZyYW1lLCBtb2RlKTsKPiA+Pj4+ICsJcmV0ID0gZHJtX2hkbWlfYXZp X2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmaW5mb2ZyYW1lLCBtb2RlLCBmYWxzZSk7Cj4g Pj4+PiAgICAJaWYgKHJldCA8IDApIHsKPiA+Pj4+ICAgIAkJRFJNX0VSUk9SKCJmYWlsZWQgdG8g c2V0dXAgQVZJIGluZm9mcmFtZTogJWRcbiIsIHJldCk7Cj4gPj4+PiAgICAJCXJldHVybiByZXQ7 Cj4gPj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2hkbWkuYyBiL2RyaXZl cnMvZ3B1L2RybS90ZWdyYS9oZG1pLmMKPiA+Pj4+IGluZGV4IGNkYTA0OTEuLjcxOGQ4ZGIgMTAw NjQ0Cj4gPj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vdGVncmEvaGRtaS5jCj4gPj4+PiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vdGVncmEvaGRtaS5jCj4gPj4+PiBAQCAtNzM0LDcgKzczNCw3IEBA IHN0YXRpYyB2b2lkIHRlZ3JhX2hkbWlfc2V0dXBfYXZpX2luZm9mcmFtZShzdHJ1Y3QgdGVncmFf aGRtaSAqaGRtaSwKPiA+Pj4+ICAgIAl1OCBidWZmZXJbMTddOwo+ID4+Pj4gICAgCXNzaXplX3Qg ZXJyOwo+ID4+Pj4gICAgCj4gPj4+PiAtCWVyciA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJv bV9kaXNwbGF5X21vZGUoJmZyYW1lLCBtb2RlKTsKPiA+Pj4+ICsJZXJyID0gZHJtX2hkbWlfYXZp X2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUsIG1vZGUsIGZhbHNlKTsKPiA+Pj4+ ICAgIAlpZiAoZXJyIDwgMCkgewo+ID4+Pj4gICAgCQlkZXZfZXJyKGhkbWktPmRldiwgImZhaWxl ZCB0byBzZXR1cCBBVkkgaW5mb2ZyYW1lOiAlemRcbiIsIGVycik7Cj4gPj4+PiAgICAJCXJldHVy bjsKPiA+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdGVncmEvc29yLmMgYi9kcml2 ZXJzL2dwdS9kcm0vdGVncmEvc29yLmMKPiA+Pj4+IGluZGV4IGE4ZjUyODkuLmZiMjcwOWMgMTAw NjQ0Cj4gPj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vdGVncmEvc29yLmMKPiA+Pj4+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9zb3IuYwo+ID4+Pj4gQEAgLTE5MDQsNyArMTkwNCw3IEBA IHRlZ3JhX3Nvcl9oZG1pX3NldHVwX2F2aV9pbmZvZnJhbWUoc3RydWN0IHRlZ3JhX3NvciAqc29y LAo+ID4+Pj4gICAgCXZhbHVlICY9IH5JTkZPRlJBTUVfQ1RSTF9FTkFCTEU7Cj4gPj4+PiAgICAJ dGVncmFfc29yX3dyaXRlbChzb3IsIHZhbHVlLCBTT1JfSERNSV9BVklfSU5GT0ZSQU1FX0NUUkwp Owo+ID4+Pj4gICAgCj4gPj4+PiAtCWVyciA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9k aXNwbGF5X21vZGUoJmZyYW1lLCBtb2RlKTsKPiA+Pj4+ICsJZXJyID0gZHJtX2hkbWlfYXZpX2lu Zm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUsIG1vZGUsIGZhbHNlKTsKPiA+Pj4+ICAg IAlpZiAoZXJyIDwgMCkgewo+ID4+Pj4gICAgCQlkZXZfZXJyKHNvci0+ZGV2LCAiZmFpbGVkIHRv IHNldHVwIEFWSSBpbmZvZnJhbWU6ICVkXG4iLCBlcnIpOwo+ID4+Pj4gICAgCQlyZXR1cm4gZXJy Owo+ID4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2hkbWkuYyBiL2Ry aXZlcnMvZ3B1L2RybS92YzQvdmM0X2hkbWkuYwo+ID4+Pj4gaW5kZXggZWQ2M2Q0ZS4uNDA2ZDZk OCAxMDA2NDQKPiA+Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2hkbWkuYwo+ID4+ Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfaGRtaS5jCj4gPj4+PiBAQCAtMzk1LDcg KzM5NSw3IEBAIHN0YXRpYyB2b2lkIHZjNF9oZG1pX3NldF9hdmlfaW5mb2ZyYW1lKHN0cnVjdCBk cm1fZW5jb2RlciAqZW5jb2RlcikKPiA+Pj4+ICAgIAl1bmlvbiBoZG1pX2luZm9mcmFtZSBmcmFt ZTsKPiA+Pj4+ICAgIAlpbnQgcmV0Owo+ID4+Pj4gICAgCj4gPj4+PiAtCXJldCA9IGRybV9oZG1p X2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLmF2aSwgbW9kZSk7Cj4gPj4+ PiArCXJldCA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1l LmF2aSwgbW9kZSwgZmFsc2UpOwo+ID4+Pj4gICAgCWlmIChyZXQgPCAwKSB7Cj4gPj4+PiAgICAJ CURSTV9FUlJPUigiY291bGRuJ3QgZmlsbCBBVkkgaW5mb2ZyYW1lXG4iKTsKPiA+Pj4+ICAgIAkJ cmV0dXJuOwo+ID4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS96dGUvenhfaGRtaS5j IGIvZHJpdmVycy9ncHUvZHJtL3p0ZS96eF9oZG1pLmMKPiA+Pj4+IGluZGV4IDBkZjczNjYuLjdl ODM0ZTMgMTAwNjQ0Cj4gPj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0venRlL3p4X2hkbWkuYwo+ ID4+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3p0ZS96eF9oZG1pLmMKPiA+Pj4+IEBAIC0xMjQs NyArMTI0LDcgQEAgc3RhdGljIGludCB6eF9oZG1pX2NvbmZpZ192aWRlb19hdmkoc3RydWN0IHp4 X2hkbWkgKmhkbWksCj4gPj4+PiAgICAJdW5pb24gaGRtaV9pbmZvZnJhbWUgZnJhbWU7Cj4gPj4+ PiAgICAJaW50IHJldDsKPiA+Pj4+ICAgIAo+ID4+Pj4gLQlyZXQgPSBkcm1faGRtaV9hdmlfaW5m b2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZS5hdmksIG1vZGUpOwo+ID4+Pj4gKwlyZXQg PSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZS5hdmksIG1v ZGUsIGZhbHNlKTsKPiA+Pj4+ICAgIAlpZiAocmV0KSB7Cj4gPj4+PiAgICAJCURSTV9ERVZfRVJS T1IoaGRtaS0+ZGV2LCAiZmFpbGVkIHRvIGdldCBhdmkgaW5mb2ZyYW1lOiAlZFxuIiwKPiA+Pj4+ ICAgIAkJCSAgICAgIHJldCk7Cj4gPj4+PiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2Vk aWQuaCBiL2luY2x1ZGUvZHJtL2RybV9lZGlkLmgKPiA+Pj4+IGluZGV4IDdiOWY0OGIuLmMwN2Vi ODEgMTAwNjQ0Cj4gPj4+PiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fZWRpZC5oCj4gPj4+PiArKysg Yi9pbmNsdWRlL2RybS9kcm1fZWRpZC5oCj4gPj4+PiBAQCAtMzQzLDcgKzM0Myw4IEBAIGRybV9s b2FkX2VkaWRfZmlybXdhcmUoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiA+Pj4+ ICAgIAo+ID4+Pj4gICAgaW50Cj4gPj4+PiAgICBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21f ZGlzcGxheV9tb2RlKHN0cnVjdCBoZG1pX2F2aV9pbmZvZnJhbWUgKmZyYW1lLAo+ID4+Pj4gLQkJ CQkJIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKTsKPiA+Pj4+ICsJCQkJCSBj b25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSwKPiA+Pj4+ICsJCQkJCSBib29sIGlz X2hkbWkyKTsKPiA+Pj4+ICAgIGludAo+ID4+Pj4gICAgZHJtX2hkbWlfdmVuZG9yX2luZm9mcmFt ZV9mcm9tX2Rpc3BsYXlfbW9kZShzdHJ1Y3QgaGRtaV92ZW5kb3JfaW5mb2ZyYW1lICpmcmFtZSwK PiA+Pj4+ICAgIAkJCQkJICAgIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKTsK PiA+Pj4+IC0tIAo+ID4+Pj4gMi43LjQKCi0tIApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwgT1RDCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBt YWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=