From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [v9 04/13] drm: Enable HDR infoframe support Date: Tue, 14 May 2019 15:44:39 +0300 Message-ID: <20190514124439.GZ24299@intel.com> References: <1557340733-9629-1-git-send-email-uma.shankar@intel.com> <1557340733-9629-5-git-send-email-uma.shankar@intel.com> <070c4187-42d5-8db1-973f-682ccc2f420b@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <070c4187-42d5-8db1-973f-682ccc2f420b@amd.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: "Kazlauskas, Nicholas" Cc: "ville.syrjala@intel.com" , "jonas@kwiboo.se" , "intel-gfx@lists.freedesktop.org" , "emil.l.velikov@gmail.com" , "dri-devel@lists.freedesktop.org" , Uma Shankar , "seanpaul@chromium.org" , "dcastagna@chromium.org" , "maarten.lankhorst@intel.com" List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBNYXkgMTQsIDIwMTkgYXQgMTI6MzY6MjVQTSArMDAwMCwgS2F6bGF1c2thcywgTmlj aG9sYXMgd3JvdGU6Cj4gT24gNS84LzE5IDI6MzggUE0sIFVtYSBTaGFua2FyIHdyb3RlOgo+ID4g W0NBVVRJT046IEV4dGVybmFsIEVtYWlsXQo+ID4gCj4gPiBFbmFibGUgRHluYW1pYyBSYW5nZSBh bmQgTWFzdGVyaW5nIEluZm9mcmFtZSBmb3IgSERSCj4gPiBjb250ZW50LCB3aGljaCBpcyBkZWZp bmVkIGluIENFQSA4NjEuMyBzcGVjLgo+ID4gCj4gPiBUaGUgbWV0YWRhdGEgd2lsbCBiZSBjb21w dXRlZCBiYXNlZCBvbiBibGVuZGluZwo+ID4gcG9saWN5IGluIHVzZXJzcGFjZSBjb21wb3NpdG9y cyBhbmQgcGFzc2VkIGFzIGEgY29ubmVjdG9yCj4gPiBwcm9wZXJ0eSBibG9iIHRvIGRyaXZlci4g VGhlIHNhbWUgd2lsbCBiZSBzZW50IGFzIGluZm9mcmFtZQo+ID4gdG8gcGFuZWwgd2hpY2ggc3Vw cG9ydCBIRFIuCj4gPiAKPiA+IEFkZGVkIHRoZSBjb25zdCB2ZXJzaW9uIG9mIGluZm9mcmFtZSBm b3IgRFJNIG1ldGFkYXRhCj4gPiBmb3IgSERSLgo+ID4gCj4gPiB2MjogUmViYXNlIGFuZCBhZGRl ZCBWaWxsZSdzIFBPQyBjaGFuZ2VzLgo+ID4gCj4gPiB2MzogTm8gQ2hhbmdlCj4gPiAKPiA+IHY0 OiBBZGRyZXNzZWQgU2hhc2hhbmsncyByZXZpZXcgY29tbWVudHMgYW5kIG1lcmdlZCB0aGUKPiA+ IHBhdGNoIG1ha2luZyBkcm0gaW5mb2ZyYW1lIGZ1bmN0aW9uIGFyZ3VtZW50cyBhcyBjb25zdGFu dC4KPiA+IAo+ID4gdjU6IFJlYmFzZQo+ID4gCj4gPiB2NjogRml4ZWQgY2hlY2twYXRjaCB3YXJu aW5ncyB3aXRoIC0tc3RyaWN0IG9wdGlvbi4gQWRkcmVzc2VkCj4gPiBTaGFzaGFuaydzIHJldmll dyBjb21tZW50cyBhbmQgYWRkZWQgaGlzIFJCLgo+ID4gCj4gPiB2NzogQWRkcmVzc2VkIEJyaWFu IFN0YXJrZXkncyByZXZpZXcgY29tbWVudHMuIE1lcmdlZCAyIHBhdGNoZXMKPiA+IGludG8gb25l Lgo+ID4gCj4gPiB2ODogQWRkcmVzc2VkIEpvbmFzIEthcmxtYW4gcmV2aWV3IGNvbW1lbnRzLgo+ ID4gCj4gPiBTaWduZWQtb2ZmLWJ5OiBVbWEgU2hhbmthciA8dW1hLnNoYW5rYXJAaW50ZWwuY29t Pgo+ID4gU2lnbmVkLW9mZi1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4 LmludGVsLmNvbT4KPiA+IFJldmlld2VkLWJ5OiBTaGFzaGFuayBTaGFybWEgPHNoYXNoYW5rLnNo YXJtYUBpbnRlbC5jb20+Cj4gPiAtLS0KPiA+ICAgZHJpdmVycy9ncHUvZHJtL2RybV9lZGlkLmMg fCAgNDggKysrKysrKysrKysrCj4gPiAgIGRyaXZlcnMvdmlkZW8vaGRtaS5jICAgICAgIHwgMTg2 ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ID4gICBpbmNs dWRlL2RybS9kcm1fZWRpZC5oICAgICB8ICAgNSArKwo+ID4gICBpbmNsdWRlL2xpbnV4L2hkbWku aCAgICAgICB8ICAyNyArKysrKysrCj4gPiAgIDQgZmlsZXMgY2hhbmdlZCwgMjY2IGluc2VydGlv bnMoKykKPiA+IAo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jIGIv ZHJpdmVycy9ncHUvZHJtL2RybV9lZGlkLmMKPiA+IGluZGV4IGZlMmMyOWIuLjVmNDg5NjUgMTAw NjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYwo+ID4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2RybV9lZGlkLmMKPiA+IEBAIC00OTA2LDYgKzQ5MDYsNTQgQEAgc3RhdGljIGJv b2wgaXNfaGRtaTJfc2luayhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ID4gICB9 Cj4gPiAKPiA+ICAgLyoqCj4gPiArICogZHJtX2hkbWlfaW5mb2ZyYW1lX3NldF9oZHJfbWV0YWRh dGEoKSAtIGZpbGwgYW4gSERNSSBBVkkgaW5mb2ZyYW1lIHdpdGgKPiA+ICsgKiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSERSIG1ldGFkYXRhIGZyb20gdXNlcnNwYWNl Cj4gPiArICogQGZyYW1lOiBIRE1JIEFWSSBpbmZvZnJhbWUKPiA+ICsgKiBAaGRyX3NvdXJjZV9t ZXRhZGF0YTogaGRyX3NvdXJjZV9tZXRhZGF0YSBpbmZvIGZyb20gdXNlcnNwYWNlCj4gPiArICoK PiA+ICsgKiBSZXR1cm46IDAgb24gc3VjY2VzcyBvciBhIG5lZ2F0aXZlIGVycm9yIGNvZGUgb24g ZmFpbHVyZS4KPiA+ICsgKi8KPiA+ICtpbnQKPiA+ICtkcm1faGRtaV9pbmZvZnJhbWVfc2V0X2hk cl9tZXRhZGF0YShzdHJ1Y3QgaGRtaV9kcm1faW5mb2ZyYW1lICpmcmFtZSwKPiA+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBoZHJfb3V0cHV0X21ldGFkYXRhICpo ZHJfbWV0YWRhdGEpCgpoZHJfbWV0YWRhdGEgY2FuIGJlIGNvbnN0LgoKPiA+ICt7Cj4gPiArICAg ICAgIGludCBlcnI7Cj4gPiArCj4gPiArICAgICAgIGlmICghZnJhbWUgfHwgIWhkcl9tZXRhZGF0 YSkKPiA+ICsgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKCnRydWU/Cgo+ID4gKwo+ID4gKyAg ICAgICBlcnIgPSBoZG1pX2RybV9pbmZvZnJhbWVfaW5pdChmcmFtZSk7Cj4gPiArICAgICAgIGlm IChlcnIgPCAwKQo+ID4gKyAgICAgICAgICAgICAgIHJldHVybiBlcnI7Cj4gPiArCj4gPiArICAg ICAgIERSTV9ERUJVR19LTVMoInR5cGUgPSAleFxuIiwgZnJhbWUtPnR5cGUpOwo+ID4gKwo+ID4g KyAgICAgICBmcmFtZS0+bGVuZ3RoID0gc2l6ZW9mKHN0cnVjdCBoZHJfbWV0YWRhdGFfaW5mb2Zy YW1lKTsKPiA+ICsKPiA+ICsgICAgICAgZnJhbWUtPmVvdGYgPSBoZHJfbWV0YWRhdGEtPmhkbWlf bWV0YWRhdGFfdHlwZTEuZW90ZjsKPiA+ICsgICAgICAgZnJhbWUtPm1ldGFkYXRhX3R5cGUgPSBo ZHJfbWV0YWRhdGEtPmhkbWlfbWV0YWRhdGFfdHlwZTEubWV0YWRhdGFfdHlwZTsKPiA+ICsKPiA+ ICsgICAgICAgbWVtY3B5KCZmcmFtZS0+ZGlzcGxheV9wcmltYXJpZXMsCj4gPiArICAgICAgICAg ICAgICAmaGRyX21ldGFkYXRhLT5oZG1pX21ldGFkYXRhX3R5cGUxLmRpc3BsYXlfcHJpbWFyaWVz LCAxMik7Cj4gPiArCj4gPiArICAgICAgIG1lbWNweSgmZnJhbWUtPndoaXRlX3BvaW50LAo+ID4g KyAgICAgICAgICAgICAgJmhkcl9tZXRhZGF0YS0+aGRtaV9tZXRhZGF0YV90eXBlMS53aGl0ZV9w b2ludCwgNCk7Cj4gPiArCj4gPiArICAgICAgIGZyYW1lLT5tYXhfZGlzcGxheV9tYXN0ZXJpbmdf bHVtaW5hbmNlID0KPiA+ICsgICAgICAgICAgICAgICBoZHJfbWV0YWRhdGEtPmhkbWlfbWV0YWRh dGFfdHlwZTEubWF4X2Rpc3BsYXlfbWFzdGVyaW5nX2x1bWluYW5jZTsKPiA+ICsgICAgICAgZnJh bWUtPm1pbl9kaXNwbGF5X21hc3RlcmluZ19sdW1pbmFuY2UgPQo+ID4gKyAgICAgICAgICAgICAg IGhkcl9tZXRhZGF0YS0+aGRtaV9tZXRhZGF0YV90eXBlMS5taW5fZGlzcGxheV9tYXN0ZXJpbmdf bHVtaW5hbmNlOwo+ID4gKyAgICAgICBmcmFtZS0+bWF4X2ZhbGwgPSBoZHJfbWV0YWRhdGEtPmhk bWlfbWV0YWRhdGFfdHlwZTEubWF4X2ZhbGw7Cj4gPiArICAgICAgIGZyYW1lLT5tYXhfY2xsID0g aGRyX21ldGFkYXRhLT5oZG1pX21ldGFkYXRhX3R5cGUxLm1heF9jbGw7Cj4gPiArCj4gPiArICAg ICAgIGhkbWlfaW5mb2ZyYW1lX2xvZyhLRVJOX0NSSVQsIE5VTEwsCj4gPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAodW5pb24gaGRtaV9pbmZvZnJhbWUgKilmcmFtZSk7Cj4gCj4gVGhpcyBz aG91bGRuJ3QgcmVhbGx5IGJlIEtFUk5fQ1JJVCBmb3IgZGVidWcgb3V0cHV0LiBNYXliZSBLRVJO X0lORk8gb3IgCj4gS0VSTl9ERUJVRyBvciBqdXN0IGRyb3AgdGhlIGxvZyBhbHRvZ2V0aGVyIHNp bmNlIGl0IGNhbid0IGFjdHVhbGx5IHRhZyAKPiBpdCB0byBEUk0gb3IgdGhlIGRyaXZlciBpdHNl bGYgaW4gdGhpcyBmdW5jdGlvbi4KClllYWgsIHRoaXMgc2hvdWxkbid0IGJlIGhlcmUuIEl0J3Mg dXAgdG8gdGhlIGRyaXZlciB0byBkdW1wIGl0IHdoZW4gaXQKd2FudHMgdG8uCgo+IAo+IE5pY2hv bGFzIEthemxhdXNrYXMKPiAKPiA+ICsKPiA+ICsgICAgICAgcmV0dXJuIDA7Cj4gPiArfQo+ID4g K0VYUE9SVF9TWU1CT0woZHJtX2hkbWlfaW5mb2ZyYW1lX3NldF9oZHJfbWV0YWRhdGEpOwo+ID4g Kwo+ID4gKy8qKgo+ID4gICAgKiBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9t b2RlKCkgLSBmaWxsIGFuIEhETUkgQVZJIGluZm9mcmFtZSB3aXRoCj4gPiAgICAqICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEgZnJvbSBhIERSTSBkaXNw bGF5IG1vZGUKPiA+ICAgICogQGZyYW1lOiBIRE1JIEFWSSBpbmZvZnJhbWUKPiA+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL3ZpZGVvL2hkbWkuYyBiL2RyaXZlcnMvdmlkZW8vaGRtaS5jCj4gPiBpbmRl eCA3OTlhZTQ5Li43MTdlZDdmYiAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvdmlkZW8vaGRtaS5j Cj4gPiArKysgYi9kcml2ZXJzL3ZpZGVvL2hkbWkuYwo+ID4gQEAgLTY1MCw2ICs2NTAsMTQ2IEBA IHNzaXplX3QgaGRtaV92ZW5kb3JfaW5mb2ZyYW1lX3BhY2soc3RydWN0IGhkbWlfdmVuZG9yX2lu Zm9mcmFtZSAqZnJhbWUsCj4gPiAgICAgICAgICByZXR1cm4gMDsKPiA+ICAgfQo+ID4gCj4gPiAr LyoqCj4gPiArICogaGRtaV9kcm1faW5mb2ZyYW1lX2luaXQoKSAtIGluaXRpYWxpemUgYW4gSERN SSBEeW5hbWluYyBSYW5nZSBhbmQKPiA+ICsgKiBtYXN0ZXJpbmcgaW5mb2ZyYW1lCj4gPiArICog QGZyYW1lOiBIRE1JIERSTSBpbmZvZnJhbWUKPiA+ICsgKgo+ID4gKyAqIFJldHVybnMgMCBvbiBz dWNjZXNzIG9yIGEgbmVnYXRpdmUgZXJyb3IgY29kZSBvbiBmYWlsdXJlLgo+ID4gKyAqLwo+ID4g K2ludCBoZG1pX2RybV9pbmZvZnJhbWVfaW5pdChzdHJ1Y3QgaGRtaV9kcm1faW5mb2ZyYW1lICpm cmFtZSkKPiA+ICt7Cj4gPiArICAgICAgIG1lbXNldChmcmFtZSwgMCwgc2l6ZW9mKCpmcmFtZSkp Owo+ID4gKwo+ID4gKyAgICAgICBmcmFtZS0+dHlwZSA9IEhETUlfSU5GT0ZSQU1FX1RZUEVfRFJN Owo+ID4gKyAgICAgICBmcmFtZS0+dmVyc2lvbiA9IDE7Cj4gPiArCj4gPiArICAgICAgIHJldHVy biAwOwo+ID4gK30KPiA+ICtFWFBPUlRfU1lNQk9MKGhkbWlfZHJtX2luZm9mcmFtZV9pbml0KTsK PiA+ICsKPiA+ICtzdGF0aWMgaW50IGhkbWlfZHJtX2luZm9mcmFtZV9jaGVja19vbmx5KGNvbnN0 IHN0cnVjdCBoZG1pX2RybV9pbmZvZnJhbWUgKmZyYW1lKQo+ID4gK3sKPiA+ICsgICAgICAgaWYg KGZyYW1lLT50eXBlICE9IEhETUlfSU5GT0ZSQU1FX1RZUEVfRFJNIHx8Cj4gPiArICAgICAgICAg ICBmcmFtZS0+dmVyc2lvbiAhPSAxKQo+ID4gKyAgICAgICAgICAgICAgIHJldHVybiAtRUlOVkFM Owo+ID4gKwo+ID4gKyAgICAgICByZXR1cm4gMDsKPiA+ICt9Cj4gPiArCj4gPiArLyoqCj4gPiAr ICogaGRtaV9kcm1faW5mb2ZyYW1lX2NoZWNrKCkgLSBjaGVjayBhIEhETUkgRFJNIGluZm9mcmFt ZQo+ID4gKyAqIEBmcmFtZTogSERNSSBEUk0gaW5mb2ZyYW1lCj4gPiArICoKPiA+ICsgKiBWYWxp ZGF0ZXMgdGhhdCB0aGUgaW5mb2ZyYW1lIGlzIGNvbnNpc3RlbnQuCj4gPiArICogUmV0dXJucyAw IG9uIHN1Y2Nlc3Mgb3IgYSBuZWdhdGl2ZSBlcnJvciBjb2RlIG9uIGZhaWx1cmUuCj4gPiArICov Cj4gPiAraW50IGhkbWlfZHJtX2luZm9mcmFtZV9jaGVjayhzdHJ1Y3QgaGRtaV9kcm1faW5mb2Zy YW1lICpmcmFtZSkKPiA+ICt7Cj4gPiArICAgICAgIHJldHVybiBoZG1pX2RybV9pbmZvZnJhbWVf Y2hlY2tfb25seShmcmFtZSk7Cj4gPiArfQo+ID4gK0VYUE9SVF9TWU1CT0woaGRtaV9kcm1faW5m b2ZyYW1lX2NoZWNrKTsKPiA+ICsKPiA+ICsvKioKPiA+ICsgKiBoZG1pX2RybV9pbmZvZnJhbWVf cGFjaygpIC0gd3JpdGUgSERNSSBEUk0gaW5mb2ZyYW1lIHRvIGJpbmFyeSBidWZmZXIKPiA+ICsg KiBAZnJhbWU6IEhETUkgRFJNIGluZm9mcmFtZQo+ID4gKyAqIEBidWZmZXI6IGRlc3RpbmF0aW9u IGJ1ZmZlcgo+ID4gKyAqIEBzaXplOiBzaXplIG9mIGJ1ZmZlcgo+ID4gKyAqCj4gPiArICogUGFj a3MgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZCBpbiB0aGUgQGZyYW1lIHN0cnVjdHVyZSBpbnRv IGEgYmluYXJ5Cj4gPiArICogcmVwcmVzZW50YXRpb24gdGhhdCBjYW4gYmUgd3JpdHRlbiBpbnRv IHRoZSBjb3JyZXNwb25kaW5nIGNvbnRyb2xsZXIKPiA+ICsgKiByZWdpc3RlcnMuIEFsc28gY29t cHV0ZXMgdGhlIGNoZWNrc3VtIGFzIHJlcXVpcmVkIGJ5IHNlY3Rpb24gNS4zLjUgb2YKPiA+ICsg KiB0aGUgSERNSSAxLjQgc3BlY2lmaWNhdGlvbi4KPiA+ICsgKgo+ID4gKyAqIFJldHVybnMgdGhl IG51bWJlciBvZiBieXRlcyBwYWNrZWQgaW50byB0aGUgYmluYXJ5IGJ1ZmZlciBvciBhIG5lZ2F0 aXZlCj4gPiArICogZXJyb3IgY29kZSBvbiBmYWlsdXJlLgo+ID4gKyAqLwo+ID4gK3NzaXplX3Qg aGRtaV9kcm1faW5mb2ZyYW1lX3BhY2tfb25seShjb25zdCBzdHJ1Y3QgaGRtaV9kcm1faW5mb2Zy YW1lICpmcmFtZSwKPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lk ICpidWZmZXIsIHNpemVfdCBzaXplKQo+ID4gK3sKPiA+ICsgICAgICAgdTggKnB0ciA9IGJ1ZmZl cjsKPiA+ICsgICAgICAgc2l6ZV90IGxlbmd0aDsKPiA+ICsgICAgICAgaW50IGk7Cj4gPiArCj4g PiArICAgICAgIGxlbmd0aCA9IEhETUlfSU5GT0ZSQU1FX0hFQURFUl9TSVpFICsgZnJhbWUtPmxl bmd0aDsKPiA+ICsKPiA+ICsgICAgICAgaWYgKHNpemUgPCBsZW5ndGgpCj4gPiArICAgICAgICAg ICAgICAgcmV0dXJuIC1FTk9TUEM7Cj4gPiArCj4gPiArICAgICAgIG1lbXNldChidWZmZXIsIDAs IHNpemUpOwo+ID4gKwo+ID4gKyAgICAgICBwdHJbMF0gPSBmcmFtZS0+dHlwZTsKPiA+ICsgICAg ICAgcHRyWzFdID0gZnJhbWUtPnZlcnNpb247Cj4gPiArICAgICAgIHB0clsyXSA9IGZyYW1lLT5s ZW5ndGg7Cj4gPiArICAgICAgIHB0clszXSA9IDA7IC8qIGNoZWNrc3VtICovCj4gPiArCj4gPiAr ICAgICAgIC8qIHN0YXJ0IGluZm9mcmFtZSBwYXlsb2FkICovCj4gPiArICAgICAgIHB0ciArPSBI RE1JX0lORk9GUkFNRV9IRUFERVJfU0laRTsKPiA+ICsKPiA+ICsgICAgICAgKnB0cisrID0gZnJh bWUtPmVvdGY7Cj4gPiArICAgICAgICpwdHIrKyA9IGZyYW1lLT5tZXRhZGF0YV90eXBlOwo+ID4g Kwo+ID4gKyAgICAgICBmb3IgKGkgPSAwOyBpIDwgMzsgaSsrKSB7Cj4gPiArICAgICAgICAgICAg ICAgKnB0cisrID0gZnJhbWUtPmRpc3BsYXlfcHJpbWFyaWVzW2ldLng7Cj4gPiArICAgICAgICAg ICAgICAgKnB0cisrID0gZnJhbWUtPmRpc3BsYXlfcHJpbWFyaWVzW2ldLnggPj4gODsKPiA+ICsg ICAgICAgICAgICAgICAqcHRyKysgPSBmcmFtZS0+ZGlzcGxheV9wcmltYXJpZXNbaV0ueTsKPiA+ ICsgICAgICAgICAgICAgICAqcHRyKysgPSBmcmFtZS0+ZGlzcGxheV9wcmltYXJpZXNbaV0ueSA+ PiA4Owo+ID4gKyAgICAgICB9Cj4gPiArCj4gPiArICAgICAgICpwdHIrKyA9IGZyYW1lLT53aGl0 ZV9wb2ludC54Owo+ID4gKyAgICAgICAqcHRyKysgPSBmcmFtZS0+d2hpdGVfcG9pbnQueCA+PiA4 Owo+ID4gKwo+ID4gKyAgICAgICAqcHRyKysgPSBmcmFtZS0+d2hpdGVfcG9pbnQueTsKPiA+ICsg ICAgICAgKnB0cisrID0gZnJhbWUtPndoaXRlX3BvaW50LnkgPj4gODsKPiA+ICsKPiA+ICsgICAg ICAgKnB0cisrID0gZnJhbWUtPm1heF9kaXNwbGF5X21hc3RlcmluZ19sdW1pbmFuY2U7Cj4gPiAr ICAgICAgICpwdHIrKyA9IGZyYW1lLT5tYXhfZGlzcGxheV9tYXN0ZXJpbmdfbHVtaW5hbmNlID4+ IDg7Cj4gPiArCj4gPiArICAgICAgICpwdHIrKyA9IGZyYW1lLT5taW5fZGlzcGxheV9tYXN0ZXJp bmdfbHVtaW5hbmNlOwo+ID4gKyAgICAgICAqcHRyKysgPSBmcmFtZS0+bWluX2Rpc3BsYXlfbWFz dGVyaW5nX2x1bWluYW5jZSA+PiA4Owo+ID4gKwo+ID4gKyAgICAgICAqcHRyKysgPSBmcmFtZS0+ bWF4X2NsbDsKPiA+ICsgICAgICAgKnB0cisrID0gZnJhbWUtPm1heF9jbGwgPj4gODsKPiA+ICsK PiA+ICsgICAgICAgKnB0cisrID0gZnJhbWUtPm1heF9mYWxsOwo+ID4gKyAgICAgICAqcHRyKysg PSBmcmFtZS0+bWF4X2ZhbGwgPj4gODsKPiA+ICsKPiA+ICsgICAgICAgaGRtaV9pbmZvZnJhbWVf c2V0X2NoZWNrc3VtKGJ1ZmZlciwgbGVuZ3RoKTsKPiA+ICsKPiA+ICsgICAgICAgcmV0dXJuIGxl bmd0aDsKPiA+ICt9Cj4gPiArRVhQT1JUX1NZTUJPTChoZG1pX2RybV9pbmZvZnJhbWVfcGFja19v bmx5KTsKPiA+ICsKPiA+ICsvKioKPiA+ICsgKiBoZG1pX2RybV9pbmZvZnJhbWVfcGFjaygpIC0g Y2hlY2sgYSBIRE1JIERSTSBpbmZvZnJhbWUsCj4gPiArICogICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGFuZCB3cml0ZSBpdCB0byBiaW5hcnkgYnVmZmVyCj4gPiArICogQGZyYW1lOiBIRE1J IERSTSBpbmZvZnJhbWUKPiA+ICsgKiBAYnVmZmVyOiBkZXN0aW5hdGlvbiBidWZmZXIKPiA+ICsg KiBAc2l6ZTogc2l6ZSBvZiBidWZmZXIKPiA+ICsgKgo+ID4gKyAqIFZhbGlkYXRlcyB0aGF0IHRo ZSBpbmZvZnJhbWUgaXMgY29uc2lzdGVudCBhbmQgdXBkYXRlcyBkZXJpdmVkIGZpZWxkcwo+ID4g KyAqIChlZy4gbGVuZ3RoKSBiYXNlZCBvbiBvdGhlciBmaWVsZHMsIGFmdGVyIHdoaWNoIGl0IHBh Y2tzIHRoZSBpbmZvcm1hdGlvbgo+ID4gKyAqIGNvbnRhaW5lZCBpbiB0aGUgQGZyYW1lIHN0cnVj dHVyZSBpbnRvIGEgYmluYXJ5IHJlcHJlc2VudGF0aW9uIHRoYXQKPiA+ICsgKiBjYW4gYmUgd3Jp dHRlbiBpbnRvIHRoZSBjb3JyZXNwb25kaW5nIGNvbnRyb2xsZXIgcmVnaXN0ZXJzLiBUaGlzIGZ1 bmN0aW9uCj4gPiArICogYWxzbyBjb21wdXRlcyB0aGUgY2hlY2tzdW0gYXMgcmVxdWlyZWQgYnkg c2VjdGlvbiA1LjMuNSBvZiB0aGUgSERNSSAxLjQKPiA+ICsgKiBzcGVjaWZpY2F0aW9uLgo+ID4g KyAqCj4gPiArICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHBhY2tlZCBpbnRvIHRoZSBi aW5hcnkgYnVmZmVyIG9yIGEgbmVnYXRpdmUKPiA+ICsgKiBlcnJvciBjb2RlIG9uIGZhaWx1cmUu Cj4gPiArICovCj4gPiArc3NpemVfdCBoZG1pX2RybV9pbmZvZnJhbWVfcGFjayhzdHJ1Y3QgaGRt aV9kcm1faW5mb2ZyYW1lICpmcmFtZSwKPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdm9pZCAqYnVmZmVyLCBzaXplX3Qgc2l6ZSkKPiA+ICt7Cj4gPiArICAgICAgIGludCByZXQ7 Cj4gPiArCj4gPiArICAgICAgIHJldCA9IGhkbWlfZHJtX2luZm9mcmFtZV9jaGVjayhmcmFtZSk7 Cj4gPiArICAgICAgIGlmIChyZXQpCj4gPiArICAgICAgICAgICAgICAgcmV0dXJuIHJldDsKPiA+ ICsKPiA+ICsgICAgICAgcmV0dXJuIGhkbWlfZHJtX2luZm9mcmFtZV9wYWNrX29ubHkoZnJhbWUs IGJ1ZmZlciwgc2l6ZSk7Cj4gPiArfQo+ID4gK0VYUE9SVF9TWU1CT0woaGRtaV9kcm1faW5mb2Zy YW1lX3BhY2spOwo+ID4gKwo+ID4gICAvKgo+ID4gICAgKiBoZG1pX3ZlbmRvcl9hbnlfaW5mb2Zy YW1lX2NoZWNrKCkgLSBjaGVjayBhIHZlbmRvciBpbmZvZnJhbWUKPiA+ICAgICovCj4gPiBAQCAt NzU4LDYgKzg5OCwxMCBAQCBzc2l6ZV90IGhkbWlfdmVuZG9yX2luZm9mcmFtZV9wYWNrKHN0cnVj dCBoZG1pX3ZlbmRvcl9pbmZvZnJhbWUgKmZyYW1lLAo+ID4gICAgICAgICAgICAgICAgICBsZW5n dGggPSBoZG1pX2F2aV9pbmZvZnJhbWVfcGFja19vbmx5KCZmcmFtZS0+YXZpLAo+ID4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZmZlciwg c2l6ZSk7Cj4gPiAgICAgICAgICAgICAgICAgIGJyZWFrOwo+ID4gKyAgICAgICBjYXNlIEhETUlf SU5GT0ZSQU1FX1RZUEVfRFJNOgo+ID4gKyAgICAgICAgICAgICAgIGxlbmd0aCA9IGhkbWlfZHJt X2luZm9mcmFtZV9wYWNrX29ubHkoJmZyYW1lLT5kcm0sCj4gPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWZmZXIsIHNpemUpOwo+ID4gKyAg ICAgICAgICAgICAgIGJyZWFrOwo+ID4gICAgICAgICAgY2FzZSBIRE1JX0lORk9GUkFNRV9UWVBF X1NQRDoKPiA+ICAgICAgICAgICAgICAgICAgbGVuZ3RoID0gaGRtaV9zcGRfaW5mb2ZyYW1lX3Bh Y2tfb25seSgmZnJhbWUtPnNwZCwKPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBidWZmZXIsIHNpemUpOwo+ID4gQEAgLTgwNiw2ICs5NTAs OSBAQCBzc2l6ZV90IGhkbWlfdmVuZG9yX2luZm9mcmFtZV9wYWNrKHN0cnVjdCBoZG1pX3ZlbmRv cl9pbmZvZnJhbWUgKmZyYW1lLAo+ID4gICAgICAgICAgY2FzZSBIRE1JX0lORk9GUkFNRV9UWVBF X0FWSToKPiA+ICAgICAgICAgICAgICAgICAgbGVuZ3RoID0gaGRtaV9hdmlfaW5mb2ZyYW1lX3Bh Y2soJmZyYW1lLT5hdmksIGJ1ZmZlciwgc2l6ZSk7Cj4gPiAgICAgICAgICAgICAgICAgIGJyZWFr Owo+ID4gKyAgICAgICBjYXNlIEhETUlfSU5GT0ZSQU1FX1RZUEVfRFJNOgo+ID4gKyAgICAgICAg ICAgICAgIGxlbmd0aCA9IGhkbWlfZHJtX2luZm9mcmFtZV9wYWNrKCZmcmFtZS0+ZHJtLCBidWZm ZXIsIHNpemUpOwo+ID4gKyAgICAgICAgICAgICAgIGJyZWFrOwo+ID4gICAgICAgICAgY2FzZSBI RE1JX0lORk9GUkFNRV9UWVBFX1NQRDoKPiA+ICAgICAgICAgICAgICAgICAgbGVuZ3RoID0gaGRt aV9zcGRfaW5mb2ZyYW1lX3BhY2soJmZyYW1lLT5zcGQsIGJ1ZmZlciwgc2l6ZSk7Cj4gPiAgICAg ICAgICAgICAgICAgIGJyZWFrOwo+ID4gQEAgLTgzOCw2ICs5ODUsOCBAQCBzdGF0aWMgY29uc3Qg Y2hhciAqaGRtaV9pbmZvZnJhbWVfdHlwZV9nZXRfbmFtZShlbnVtIGhkbWlfaW5mb2ZyYW1lX3R5 cGUgdHlwZSkKPiA+ICAgICAgICAgICAgICAgICAgcmV0dXJuICJTb3VyY2UgUHJvZHVjdCBEZXNj cmlwdGlvbiAoU1BEKSI7Cj4gPiAgICAgICAgICBjYXNlIEhETUlfSU5GT0ZSQU1FX1RZUEVfQVVE SU86Cj4gPiAgICAgICAgICAgICAgICAgIHJldHVybiAiQXVkaW8iOwo+ID4gKyAgICAgICBjYXNl IEhETUlfSU5GT0ZSQU1FX1RZUEVfRFJNOgo+ID4gKyAgICAgICAgICAgICAgIHJldHVybiAiRHlu YW1pYyBSYW5nZSBhbmQgTWFzdGVyaW5nIjsKPiA+ICAgICAgICAgIH0KPiA+ICAgICAgICAgIHJl dHVybiAiUmVzZXJ2ZWQiOwo+ID4gICB9Cj4gPiBAQCAtMTI4NCw2ICsxNDMzLDQwIEBAIHN0YXRp YyB2b2lkIGhkbWlfYXVkaW9faW5mb2ZyYW1lX2xvZyhjb25zdCBjaGFyICpsZXZlbCwKPiA+ICAg ICAgICAgICAgICAgICAgICAgICAgICBmcmFtZS0+ZG93bm1peF9pbmhpYml0ID8gIlllcyIgOiAi Tm8iKTsKPiA+ICAgfQo+ID4gCj4gPiArLyoqCj4gPiArICogaGRtaV9kcm1faW5mb2ZyYW1lX2xv ZygpIC0gbG9nIGluZm8gb2YgSERNSSBEUk0gaW5mb2ZyYW1lCj4gPiArICogQGxldmVsOiBsb2dn aW5nIGxldmVsCj4gPiArICogQGRldjogZGV2aWNlCj4gPiArICogQGZyYW1lOiBIRE1JIERSTSBp bmZvZnJhbWUKPiA+ICsgKi8KPiA+ICtzdGF0aWMgdm9pZCBoZG1pX2RybV9pbmZvZnJhbWVfbG9n KGNvbnN0IGNoYXIgKmxldmVsLAo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzdHJ1Y3QgZGV2aWNlICpkZXYsCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGNvbnN0IHN0cnVjdCBoZG1pX2RybV9pbmZvZnJhbWUgKmZyYW1lKQo+ID4gK3sKPiA+ICsg ICAgICAgaW50IGk7Cj4gPiArCj4gPiArICAgICAgIGhkbWlfaW5mb2ZyYW1lX2xvZ19oZWFkZXIo bGV2ZWwsIGRldiwKPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3RydWN0 IGhkbWlfYW55X2luZm9mcmFtZSAqKWZyYW1lKTsKPiA+ICsgICAgICAgaGRtaV9sb2coImxlbmd0 aDogJWRcbiIsIGZyYW1lLT5sZW5ndGgpOwo+ID4gKyAgICAgICBoZG1pX2xvZygibWV0YWRhdGEg dHlwZTogJWRcbiIsIGZyYW1lLT5tZXRhZGF0YV90eXBlKTsKPiA+ICsgICAgICAgaGRtaV9sb2co ImVvdGY6ICVkXG4iLCBmcmFtZS0+ZW90Zik7Cj4gPiArICAgICAgIGZvciAoaSA9IDA7IGkgPCAz OyBpKyspIHsKPiA+ICsgICAgICAgICAgICAgICBoZG1pX2xvZygieFslZF06ICVkXG4iLCBpLCBm cmFtZS0+ZGlzcGxheV9wcmltYXJpZXNbaV0ueCk7Cj4gPiArICAgICAgICAgICAgICAgaGRtaV9s b2coInlbJWRdOiAlZFxuIiwgaSwgZnJhbWUtPmRpc3BsYXlfcHJpbWFyaWVzW2ldLnkpOwo+ID4g KyAgICAgICB9Cj4gPiArCj4gPiArICAgICAgIGhkbWlfbG9nKCJ3aGl0ZSBwb2ludCB4OiAlZFxu IiwgZnJhbWUtPndoaXRlX3BvaW50LngpOwo+ID4gKyAgICAgICBoZG1pX2xvZygid2hpdGUgcG9p bnQgeTogJWRcbiIsIGZyYW1lLT53aGl0ZV9wb2ludC55KTsKPiA+ICsKPiA+ICsgICAgICAgaGRt aV9sb2coIm1heF9kaXNwbGF5X21hc3RlcmluZ19sdW1pbmFuY2U6ICVkXG4iLAo+ID4gKyAgICAg ICAgICAgICAgICBmcmFtZS0+bWF4X2Rpc3BsYXlfbWFzdGVyaW5nX2x1bWluYW5jZSk7Cj4gPiAr ICAgICAgIGhkbWlfbG9nKCJtaW5fZGlzcGxheV9tYXN0ZXJpbmdfbHVtaW5hbmNlOiAlZFxuIiwK PiA+ICsgICAgICAgICAgICAgICAgZnJhbWUtPm1pbl9kaXNwbGF5X21hc3RlcmluZ19sdW1pbmFu Y2UpOwo+ID4gKwo+ID4gKyAgICAgICBoZG1pX2xvZygibWF4X2NsbDogJWRcbiIsIGZyYW1lLT5t YXhfY2xsKTsKPiA+ICsgICAgICAgaGRtaV9sb2coIm1heF9mYWxsOiAlZFxuIiwgZnJhbWUtPm1h eF9mYWxsKTsKPiA+ICt9Cj4gPiArCj4gPiAgIHN0YXRpYyBjb25zdCBjaGFyICoKPiA+ICAgaGRt aV8zZF9zdHJ1Y3R1cmVfZ2V0X25hbWUoZW51bSBoZG1pXzNkX3N0cnVjdHVyZSBzM2Rfc3RydWN0 KQo+ID4gICB7Cj4gPiBAQCAtMTM3Miw2ICsxNTU1LDkgQEAgdm9pZCBoZG1pX2luZm9mcmFtZV9s b2coY29uc3QgY2hhciAqbGV2ZWwsCj4gPiAgICAgICAgICBjYXNlIEhETUlfSU5GT0ZSQU1FX1RZ UEVfVkVORE9SOgo+ID4gICAgICAgICAgICAgICAgICBoZG1pX3ZlbmRvcl9hbnlfaW5mb2ZyYW1l X2xvZyhsZXZlbCwgZGV2LCAmZnJhbWUtPnZlbmRvcik7Cj4gPiAgICAgICAgICAgICAgICAgIGJy ZWFrOwo+ID4gKyAgICAgICBjYXNlIEhETUlfSU5GT0ZSQU1FX1RZUEVfRFJNOgo+ID4gKyAgICAg ICAgICAgICAgIGhkbWlfZHJtX2luZm9mcmFtZV9sb2cobGV2ZWwsIGRldiwgJmZyYW1lLT5kcm0p Owo+ID4gKyAgICAgICAgICAgICAgIGJyZWFrOwo+ID4gICAgICAgICAgfQo+ID4gICB9Cj4gPiAg IEVYUE9SVF9TWU1CT0woaGRtaV9pbmZvZnJhbWVfbG9nKTsKPiA+IGRpZmYgLS1naXQgYS9pbmNs dWRlL2RybS9kcm1fZWRpZC5oIGIvaW5jbHVkZS9kcm0vZHJtX2VkaWQuaAo+ID4gaW5kZXggOWQz YjViOS4uZDgxYzVjMiAxMDA2NDQKPiA+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9lZGlkLmgKPiA+ ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9lZGlkLmgKPiA+IEBAIC0yNSw2ICsyNSw3IEBACj4gPiAK PiA+ICAgI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+Cj4gPiAgICNpbmNsdWRlIDxsaW51eC9oZG1p Lmg+Cj4gPiArI2luY2x1ZGUgPGRybS9kcm1fbW9kZS5oPgo+ID4gCj4gPiAgIHN0cnVjdCBkcm1f ZGV2aWNlOwo+ID4gICBzdHJ1Y3QgaTJjX2FkYXB0ZXI7Cj4gPiBAQCAtMzcwLDYgKzM3MSwxMCBA QCBpbnQgZHJtX2F2X3N5bmNfZGVsYXkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwK PiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBkcm1f ZGlzcGxheV9tb2RlICptb2RlLAo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgZW51bSBoZG1pX3F1YW50aXphdGlvbl9yYW5nZSByZ2JfcXVhbnRfcmFuZ2UpOwo+ID4gCj4g PiAraW50Cj4gPiArZHJtX2hkbWlfaW5mb2ZyYW1lX3NldF9oZHJfbWV0YWRhdGEoc3RydWN0IGhk bWlfZHJtX2luZm9mcmFtZSAqZnJhbWUsCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBzdHJ1Y3QgaGRyX291dHB1dF9tZXRhZGF0YSAqaGRyX21ldGFkYXRhKTsKPiA+ICsK PiA+ICAgLyoqCj4gPiAgICAqIGRybV9lbGRfbW5sIC0gR2V0IEVMRCBtb25pdG9yIG5hbWUgbGVu Z3RoIGluIGJ5dGVzLgo+ID4gICAgKiBAZWxkOiBwb2ludGVyIHRvIGFuIGVsZCBtZW1vcnkgc3Ry dWN0dXJlIHdpdGggbW5sIHNldAo+ID4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvaGRtaS5o IGIvaW5jbHVkZS9saW51eC9oZG1pLmgKPiA+IGluZGV4IDY3ODA0NzYuLjdlZGFmY2YgMTAwNjQ0 Cj4gPiAtLS0gYS9pbmNsdWRlL2xpbnV4L2hkbWkuaAo+ID4gKysrIGIvaW5jbHVkZS9saW51eC9o ZG1pLmgKPiA+IEBAIC00Nyw2ICs0Nyw3IEBAIGVudW0gaGRtaV9pbmZvZnJhbWVfdHlwZSB7Cj4g PiAgICAgICAgICBIRE1JX0lORk9GUkFNRV9UWVBFX0FWSSA9IDB4ODIsCj4gPiAgICAgICAgICBI RE1JX0lORk9GUkFNRV9UWVBFX1NQRCA9IDB4ODMsCj4gPiAgICAgICAgICBIRE1JX0lORk9GUkFN RV9UWVBFX0FVRElPID0gMHg4NCwKPiA+ICsgICAgICAgSERNSV9JTkZPRlJBTUVfVFlQRV9EUk0g PSAweDg3LAo+ID4gICB9Owo+ID4gCj4gPiAgICNkZWZpbmUgSERNSV9JRUVFX09VSSAweDAwMGMw Mwo+ID4gQEAgLTE4NSwxMiArMTg2LDM3IEBAIHN0cnVjdCBoZG1pX2F2aV9pbmZvZnJhbWUgewo+ ID4gICAgICAgICAgdW5zaWduZWQgc2hvcnQgcmlnaHRfYmFyOwo+ID4gICB9Owo+ID4gCj4gPiAr LyogRFJNIEluZm9mcmFtZSBhcyBwZXIgQ1RBIDg2MS5HIHNwZWMgKi8KPiA+ICtzdHJ1Y3QgaGRt aV9kcm1faW5mb2ZyYW1lIHsKPiA+ICsgICAgICAgZW51bSBoZG1pX2luZm9mcmFtZV90eXBlIHR5 cGU7Cj4gPiArICAgICAgIHVuc2lnbmVkIGNoYXIgdmVyc2lvbjsKPiA+ICsgICAgICAgdW5zaWdu ZWQgY2hhciBsZW5ndGg7Cj4gPiArICAgICAgIGVudW0gaGRtaV9lb3RmIGVvdGY7Cj4gPiArICAg ICAgIGVudW0gaGRtaV9tZXRhZGF0YV90eXBlIG1ldGFkYXRhX3R5cGU7Cj4gPiArICAgICAgIHN0 cnVjdCB7Cj4gPiArICAgICAgICAgICAgICAgdTE2IHgsIHk7Cj4gPiArICAgICAgIH0gZGlzcGxh eV9wcmltYXJpZXNbM107Cj4gPiArICAgICAgIHN0cnVjdCB7Cj4gPiArICAgICAgICAgICAgICAg dTE2IHgsIHk7Cj4gPiArICAgICAgIH0gd2hpdGVfcG9pbnQ7Cj4gPiArICAgICAgIHUxNiBtYXhf ZGlzcGxheV9tYXN0ZXJpbmdfbHVtaW5hbmNlOwo+ID4gKyAgICAgICB1MTYgbWluX2Rpc3BsYXlf bWFzdGVyaW5nX2x1bWluYW5jZTsKPiA+ICsgICAgICAgdTE2IG1heF9jbGw7Cj4gPiArICAgICAg IHUxNiBtYXhfZmFsbDsKPiA+ICt9Owo+ID4gKwo+ID4gICBpbnQgaGRtaV9hdmlfaW5mb2ZyYW1l X2luaXQoc3RydWN0IGhkbWlfYXZpX2luZm9mcmFtZSAqZnJhbWUpOwo+ID4gICBzc2l6ZV90IGhk bWlfYXZpX2luZm9mcmFtZV9wYWNrKHN0cnVjdCBoZG1pX2F2aV9pbmZvZnJhbWUgKmZyYW1lLCB2 b2lkICpidWZmZXIsCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3Qg c2l6ZSk7Cj4gPiAgIHNzaXplX3QgaGRtaV9hdmlfaW5mb2ZyYW1lX3BhY2tfb25seShjb25zdCBz dHJ1Y3QgaGRtaV9hdmlfaW5mb2ZyYW1lICpmcmFtZSwKPiA+ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdm9pZCAqYnVmZmVyLCBzaXplX3Qgc2l6ZSk7Cj4gPiAgIGludCBo ZG1pX2F2aV9pbmZvZnJhbWVfY2hlY2soc3RydWN0IGhkbWlfYXZpX2luZm9mcmFtZSAqZnJhbWUp Owo+ID4gK2ludCBoZG1pX2RybV9pbmZvZnJhbWVfaW5pdChzdHJ1Y3QgaGRtaV9kcm1faW5mb2Zy YW1lICpmcmFtZSk7Cj4gPiArc3NpemVfdCBoZG1pX2RybV9pbmZvZnJhbWVfcGFjayhzdHJ1Y3Qg aGRtaV9kcm1faW5mb2ZyYW1lICpmcmFtZSwgdm9pZCAqYnVmZmVyLAo+ID4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzaXplX3Qgc2l6ZSk7Cj4gPiArc3NpemVfdCBoZG1pX2RybV9p bmZvZnJhbWVfcGFja19vbmx5KGNvbnN0IHN0cnVjdCBoZG1pX2RybV9pbmZvZnJhbWUgKmZyYW1l LAo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKmJ1ZmZlciwg c2l6ZV90IHNpemUpOwo+ID4gK2ludCBoZG1pX2RybV9pbmZvZnJhbWVfY2hlY2soc3RydWN0IGhk bWlfZHJtX2luZm9mcmFtZSAqZnJhbWUpOwo+ID4gCj4gPiAgIGVudW0gaGRtaV9zcGRfc2RpIHsK PiA+ICAgICAgICAgIEhETUlfU1BEX1NESV9VTktOT1dOLAo+ID4gQEAgLTM4MSw2ICs0MDcsNyBA QCBzc2l6ZV90IGhkbWlfdmVuZG9yX2luZm9mcmFtZV9wYWNrX29ubHkoY29uc3Qgc3RydWN0IGhk bWlfdmVuZG9yX2luZm9mcmFtZSAqZnJhbQo+ID4gICAgICAgICAgc3RydWN0IGhkbWlfc3BkX2lu Zm9mcmFtZSBzcGQ7Cj4gPiAgICAgICAgICB1bmlvbiBoZG1pX3ZlbmRvcl9hbnlfaW5mb2ZyYW1l IHZlbmRvcjsKPiA+ICAgICAgICAgIHN0cnVjdCBoZG1pX2F1ZGlvX2luZm9mcmFtZSBhdWRpbzsK PiA+ICsgICAgICAgc3RydWN0IGhkbWlfZHJtX2luZm9mcmFtZSBkcm07Cj4gPiAgIH07Cj4gPiAK PiA+ICAgc3NpemVfdCBoZG1pX2luZm9mcmFtZV9wYWNrKHVuaW9uIGhkbWlfaW5mb2ZyYW1lICpm cmFtZSwgdm9pZCAqYnVmZmVyLAo+ID4gLS0KPiA+IDEuOS4xCj4gPiAKPiA+IF9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gPiBkcmktZGV2ZWwgbWFpbGlu ZyBsaXN0Cj4gPiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gPiBodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo+ID4gCj4gCj4g X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBkcmktZGV2 ZWwgbWFpbGluZyBsaXN0Cj4gZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCgotLSAK VmlsbGUgU3lyasOkbMOkCkludGVsCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2RyaS1kZXZlbA==