From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Sharma, Shashank" Subject: Re: [PATCH 02/10] drm/edid: Allow HDMI infoframe without VIC or S3D Date: Fri, 17 Nov 2017 08:40:02 +0530 Message-ID: <54b81923-ae4f-1f9b-c48d-a03f86f7b8ef@intel.com> References: <20171113170427.4150-1-ville.syrjala@linux.intel.com> <20171113170427.4150-3-ville.syrjala@linux.intel.com> <612b8afd-0811-646b-b3c5-93b970eb962d@intel.com> <20171116162144.GW10981@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20171116162144.GW10981@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: =?UTF-8?B?VmlsbGUgU3lyasOkbMOk?= Cc: Andrzej Hajda , intel-gfx@lists.freedesktop.org, Laurent Pinchart , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org UmVnYXJkcwoKU2hhc2hhbmsKCgpPbiAxMS8xNi8yMDE3IDk6NTEgUE0sIFZpbGxlIFN5cmrDpGzD pCB3cm90ZToKPiBPbiBUaHUsIE5vdiAxNiwgMjAxNyBhdCAwODoxMDo1NVBNICswNTMwLCBTaGFy bWEsIFNoYXNoYW5rIHdyb3RlOgo+PiBSZWdhcmRzCj4+Cj4+IFNoYXNoYW5rCj4+Cj4+Cj4+IE9u IDExLzEzLzIwMTcgMTA6MzQgUE0sIFZpbGxlIFN5cmphbGEgd3JvdGU6Cj4+PiBGcm9tOiBWaWxs ZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+Pj4KPj4+IEFwcGVk aXggRiBvZiBIRE1JIDIuMCBzYXlzIHRoYXQgc29tZSBIRE1JIHNpbmsgbWF5IGZhaWwgdG8gc3dp dGNoIGZyb20KPj4+IDNEIHRvIDJEIG1vZGUgaW4gYSB0aW1lbHkgZmFzaGlvbiBpZiB0aGUgc291 cmNlIHNpbXBseSBzdG9wcyBzZW5kaW5nIHRoZQo+Pj4gSERNSSBpbmZvZnJhbWUuIFRoZSBzdWdn ZXN0ZWQgd29ya2Fyb3VuZCBpcyB0byBrZWVwIHNlbmRpbmcgdGhlCj4+PiBpbmZvZnJhbWUgZXZl biB3aGVuIHN0cmljdGx5IG5vdCBuZWNlc3NhcnkgKGllLiBubyBWSUMgYW5kIG5vIFMzRCkuCj4+ PiBIRE1JIDEuNCBkb2VzIGFsbG93IGZvciB0aGlzIGJlaGF2aW91ciwgc3RhdGluZyB0aGF0IHNl bmRpbmcgdGhlCj4+PiBpbmZvZnJhbWUgaXMgb3B0aW9uYWwgaW4gdGhpcyBjYXNlLgo+Pj4KPj4+ IFRoZSBpbmZvZnJhbWUgd2FzIGZpcnN0IHNwZWNpZmllZCBpbiBIRE1JIDEuNCwgc28gaW4gdGhl b3J5IHNpbmtzCj4+PiBwcmVkYXRpbmcgdGhhdCBtYXkgbm90IGFwcHJlY2lhdGUgdXMgc2VuZGlu ZyBhbiB1a25vd24gaW5mb2ZyYW1lCj4+PiB0aGVpciB3YXkuIFRvIGF2b2lkIHJlZ3Jlc3Npb25z IGxldCdzIHRyeSB0byBkZXRlcm1pbmUgaWYgdGhlIHNpbmsKPj4+IHN1cHBvcnRzIHRoZSBpbmZv ZnJhbWUgb3Igbm90LiBVbmZvcnR1bmF0ZWx5IHRoZXJlJ3Mgbm8gZGlyZWN0IHdheQo+Pj4gdG8g ZG8gdGhhdCwgc28gaW5zdGVhZCB3ZSdsbCBqdXN0IGNoZWNrIGlmIHdlIG1hbmFnZWQgdG8gcGFy c2UgYW55Cj4+PiBIRE1JIDEuNCA0ayBvciBzdGVyZW8gbW9kZXMgZnJvbSB0aGUgRURJRCwgYW5k IGlmIHNvIHdlIGFzc3VtZSB0aGUKPj4+IHNpbmsgd2lsbCBhY2NlcHQgdGhlIGluZm9mcmFtZS4g QWxzbyBpZiB0aGUgRURJRCBjb250YWlucyB0aGUgSERNSQo+Pj4gMi4wIEhETUkgRm9ydW0gVlNE QiB3ZSBjYW4gYXNzdW1lIHRoZSBzaW5rIGlzIHByZXBhcmVkIHRvIHJlY2VpdmUKPj4+IHRoZSBp bmZvZnJhbWUuCj4+IEkgYW0gdHJ5aW5nIHRvIGdldCBzb21lIHNlbnNlIGZyb20gSERNSSAyLjAg c3BlYyBzZWN0aW9uIDEwLjIuMSwgd2hpY2gKPj4gdGFsa3MgYWJvdXQKPj4gc3dpdGNoIGZyb20g M0QgdG8gMkQuICBUbyBtZSBpdCBsb29rcyBsaWtlOgo+PiBJZiAoc2VuZGluZ190b19oZG1pMl9z aW5rcykgewo+PiAgICAgICAtIGZvciAzZCBtb2RlcyBzZW5kIEhGLVZTSUYKPj4gICAgICAgLSBm b3IgMmQgbW9kZXMgJiYgZGVmaW5lZCBpbiBIMTRiIEhGVlNJRiwgc2VuZCBIMTRCLVZTSUYKPj4g ICAgICAgICBXaGVuIHlvdSBzd2l0Y2ggZnJvbSAzZC0+MmQgewo+PiAgICAgICAgICAgIC0gc2Vu ZF9IRi1WU0lGIHdpdGggM0RfdmFsaWQgYml0ID0gMC8xCj4+ICAgICAgICB9Cj4+IH0gZWxzZSB7 IC8qIEhETUkgMS40YiBzaW5rcyBmcm9tIEFwcGVuZGl4IEYgKi8KPj4gICAgICAgLSAgc2VuZCBI MTRiLVZTSUYgd2l0aCBIRE1JX3ZpZGVvX2Zvcm1hdFsyOjAgPSAwIE9SIDFdCj4+IH0KPj4KPj4g U2hvdWxkIHdlIGFkZCBhIGlzX2hkbWkyIGNoZWNrIGFuZCBzZXBhcmF0ZSB0aGVzZSBjYXNlcyA/ Cj4gV2UgZG9uJ3Qgc3VwcG9ydCB0aGUgSERNSSBmb3J1bSBpbmZvZnJhbWUuIE1heWJlIHNvbWVv bmUgZm9yZ290IHRvCj4gaW1wbGVtZW50IHRoYXQgd2hlbiBhZGRpbmcgdGhlIHJlc3Qgb2YgSERN SSAyLjAgc3VwcG9ydD8gOykKSG93IHRvIG1ha2UgYW4gJ2VtYmFycmFzc2VkIHNtaWxlICcgc21p bGV5IDopID8KV2lsbCBzdGFydCBsb29raW5nIGludG8gaXQuIE1lYW53aGlsZQpSZXZpZXdlZC1i eTogU2hhc2hhbmsgU2hhcm1hIDxzaGFzaGFuay5zaGFybWFAaW50ZWwuY29tPgo+Pj4gdjI6IEZp eCB0aGUgZ2V0dGluZyBoYXNfaGRtaV9pbmZvZnJhbWUgZnJvbSBkaXNwbGF5X2luZm8KPj4+ICAg ICAgIEFsd2F5cyBmYWlsIGNvbnN0cnVjdGluZyB0aGUgaW5mb2ZyYW1lIGlmIHRoZSBkaXNwbGF5 Cj4+PiAgICAgICBwb3NzaWJseSBjYW4ndCBoYW5kbGUgaXQKPj4+Cj4+PiBDYzogU2hhc2hhbmsg U2hhcm1hIDxzaGFzaGFuay5zaGFybWFAaW50ZWwuY29tPgo+Pj4gQ2M6IEFuZHJ6ZWogSGFqZGEg PGEuaGFqZGFAc2Ftc3VuZy5jb20+Cj4+PiBDYzogTGF1cmVudCBQaW5jaGFydCA8bGF1cmVudC5w aW5jaGFydEBpZGVhc29uYm9hcmQuY29tPgo+Pj4gU2lnbmVkLW9mZi1ieTogVmlsbGUgU3lyasOk bMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPj4+IC0tLQo+Pj4gICAgZHJpdmVy cy9ncHUvZHJtL2JyaWRnZS9zaWwtc2lpODYyMC5jICAgICAgfCAgMyArKy0KPj4+ICAgIGRyaXZl cnMvZ3B1L2RybS9icmlkZ2Uvc3lub3BzeXMvZHctaGRtaS5jIHwgIDQgKysrLQo+Pj4gICAgZHJp dmVycy9ncHUvZHJtL2RybV9lZGlkLmMgICAgICAgICAgICAgICAgfCAzNCArKysrKysrKysrKysr KysrKysrKysrKysrLS0tLS0tCj4+PiAgICBkcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19o ZG1pLmMgICAgICB8ICAyICstCj4+PiAgICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1p LmMgICAgICAgICB8IDE0ICsrKysrKystLS0tLS0KPj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9tZWRp YXRlay9tdGtfaGRtaS5jICAgICAgIHwgIDMgKystCj4+PiAgICBkcml2ZXJzL2dwdS9kcm0vbm91 dmVhdS9udjUwX2Rpc3BsYXkuYyAgICB8ICAzICsrLQo+Pj4gICAgZHJpdmVycy9ncHUvZHJtL3Jv Y2tjaGlwL2lubm9faGRtaS5jICAgICAgfCAgMSArCj4+PiAgICBkcml2ZXJzL2dwdS9kcm0vc3Rp L3N0aV9oZG1pLmMgICAgICAgICAgICB8ICA0ICsrKy0KPj4+ICAgIGRyaXZlcnMvZ3B1L2RybS96 dGUvenhfaGRtaS5jICAgICAgICAgICAgIHwgIDEgKwo+Pj4gICAgaW5jbHVkZS9kcm0vZHJtX2Nv bm5lY3Rvci5oICAgICAgICAgICAgICAgfCAgNSArKysrKwo+Pj4gICAgaW5jbHVkZS9kcm0vZHJt X2VkaWQuaCAgICAgICAgICAgICAgICAgICAgfCAgMSArCj4+PiAgICAxMiBmaWxlcyBjaGFuZ2Vk LCA1NyBpbnNlcnRpb25zKCspLCAxOCBkZWxldGlvbnMoLSkKPj4+Cj4+PiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zaWwtc2lpODYyMC5jIGIvZHJpdmVycy9ncHUvZHJtL2Jy aWRnZS9zaWwtc2lpODYyMC5jCj4+PiBpbmRleCBiN2ViNzA0ZDBhOGEuLjQ0MTcyNzZiYTAyZSAx MDA2NDQKPj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc2lsLXNpaTg2MjAuYwo+Pj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zaWwtc2lpODYyMC5jCj4+PiBAQCAtMjIyMCw4 ICsyMjIwLDkgQEAgc3RhdGljIGJvb2wgc2lpODYyMF9tb2RlX2ZpeHVwKHN0cnVjdCBkcm1fYnJp ZGdlICpicmlkZ2UsCj4+PiAgICAJCQl1bmlvbiBoZG1pX2luZm9mcmFtZSBmcm07Cj4+PiAgICAJ CQl1OCBtaGxfdmljW10gPSB7IDAsIDk1LCA5NCwgOTMsIDk4IH07Cj4+PiAgICAKPj4+ICsJCQkv KiBGSVhNRTogV2UgbmVlZCB0aGUgY29ubmVjdG9yIGhlcmUgKi8KPj4+ICAgIAkJCWRybV9oZG1p X3ZlbmRvcl9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoCj4+PiAtCQkJCSZmcm0udmVuZG9y LmhkbWksIGFkanVzdGVkX21vZGUpOwo+Pj4gKwkJCQkmZnJtLnZlbmRvci5oZG1pLCBOVUxMLCBh ZGp1c3RlZF9tb2RlKTsKPj4+ICAgIAkJCXZpYyA9IGZybS52ZW5kb3IuaGRtaS52aWM7Cj4+PiAg ICAJCQlpZiAodmljID49IEFSUkFZX1NJWkUobWhsX3ZpYykpCj4+PiAgICAJCQkJdmljID0gMDsK Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL2R3LWhkbWku YyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc3lub3BzeXMvZHctaGRtaS5jCj4+PiBpbmRleCBh NjRjZTcxMTIyODguLmIxNzIxMzk1MDJkNiAxMDA2NDQKPj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9icmlkZ2Uvc3lub3BzeXMvZHctaGRtaS5jCj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYnJp ZGdlL3N5bm9wc3lzL2R3LWhkbWkuYwo+Pj4gQEAgLTE0MzcsNyArMTQzNyw5IEBAIHN0YXRpYyB2 b2lkIGhkbWlfY29uZmlnX3ZlbmRvcl9zcGVjaWZpY19pbmZvZnJhbWUoc3RydWN0IGR3X2hkbWkg KmhkbWksCj4+PiAgICAJdTggYnVmZmVyWzEwXTsKPj4+ICAgIAlzc2l6ZV90IGVycjsKPj4+ICAg IAo+Pj4gLQllcnIgPSBkcm1faGRtaV92ZW5kb3JfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2Rl KCZmcmFtZSwgbW9kZSk7Cj4+PiArCWVyciA9IGRybV9oZG1pX3ZlbmRvcl9pbmZvZnJhbWVfZnJv bV9kaXNwbGF5X21vZGUoJmZyYW1lLAo+Pj4gKwkJCQkJCQkgICZoZG1pLT5jb25uZWN0b3IsCj4+ PiArCQkJCQkJCSAgbW9kZSk7Cj4+PiAgICAJaWYgKGVyciA8IDApCj4+PiAgICAJCS8qCj4+PiAg ICAJCSAqIEdvaW5nIGludG8gdGhhdCBzdGF0ZW1lbnQgZG9lcyBub3QgbWVhbnMgdmVuZG9yIGlu Zm9mcmFtZQo+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jIGIvZHJp dmVycy9ncHUvZHJtL2RybV9lZGlkLmMKPj4+IGluZGV4IDc0OWQwN2EwMTc3Mi4uOWFkYTBjY2Y1 MGRmIDEwMDY0NAo+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9lZGlkLmMKPj4+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jCj4+PiBAQCAtMzM5Myw2ICszMzkzLDcgQEAgc3Rh dGljIGludAo+Pj4gICAgZG9faGRtaV92c2RiX21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpj b25uZWN0b3IsIGNvbnN0IHU4ICpkYiwgdTggbGVuLAo+Pj4gICAgCQkgICBjb25zdCB1OCAqdmlk ZW9fZGIsIHU4IHZpZGVvX2xlbikKPj4+ICAgIHsKPj4+ICsJc3RydWN0IGRybV9kaXNwbGF5X2lu Zm8gKmluZm8gPSAmY29ubmVjdG9yLT5kaXNwbGF5X2luZm87Cj4+PiAgICAJaW50IG1vZGVzID0g MCwgb2Zmc2V0ID0gMCwgaSwgbXVsdGlfcHJlc2VudCA9IDAsIG11bHRpX2xlbjsKPj4+ICAgIAl1 OCB2aWNfbGVuLCBoZG1pXzNkX2xlbiA9IDA7Cj4+PiAgICAJdTE2IG1hc2s7Cj4+PiBAQCAtMzUy MCw2ICszNTIxLDggQEAgZG9faGRtaV92c2RiX21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpj b25uZWN0b3IsIGNvbnN0IHU4ICpkYiwgdTggbGVuLAo+Pj4gICAgCX0KPj4+ICAgIAo+Pj4gICAg b3V0Ogo+Pj4gKwlpZiAobW9kZXMgPiAwKQo+Pj4gKwkJaW5mby0+aGFzX2hkbWlfaW5mb2ZyYW1l ID0gdHJ1ZTsKPj4+ICAgIAlyZXR1cm4gbW9kZXM7Cj4+PiAgICB9Cj4+PiAgICAKPj4+IEBAIC00 MjQzLDYgKzQyNDYsOCBAQCBzdGF0aWMgdm9pZCBkcm1fcGFyc2VfaGRtaV9mb3J1bV92c2RiKHN0 cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4+PiAgICAJc3RydWN0IGRybV9kaXNwbGF5 X2luZm8gKmRpc3BsYXkgPSAmY29ubmVjdG9yLT5kaXNwbGF5X2luZm87Cj4+PiAgICAJc3RydWN0 IGRybV9oZG1pX2luZm8gKmhkbWkgPSAmZGlzcGxheS0+aGRtaTsKPj4+ICAgIAo+Pj4gKwlkaXNw bGF5LT5oYXNfaGRtaV9pbmZvZnJhbWUgPSB0cnVlOwo+Pj4gKwo+Pj4gICAgCWlmIChoZl92c2Ri WzZdICYgMHg4MCkgewo+Pj4gICAgCQloZG1pLT5zY2RjLnN1cHBvcnRlZCA9IHRydWU7Cj4+PiAg ICAJCWlmIChoZl92c2RiWzZdICYgMHg0MCkKPj4+IEBAIC00NDE2LDYgKzQ0MjEsNyBAQCBzdGF0 aWMgdm9pZCBkcm1fYWRkX2Rpc3BsYXlfaW5mbyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVj dG9yLAo+Pj4gICAgCWluZm8tPmNlYV9yZXYgPSAwOwo+Pj4gICAgCWluZm8tPm1heF90bWRzX2Ns b2NrID0gMDsKPj4+ICAgIAlpbmZvLT5kdmlfZHVhbCA9IGZhbHNlOwo+Pj4gKwlpbmZvLT5oYXNf aGRtaV9pbmZvZnJhbWUgPSBmYWxzZTsKPj4+ICAgIAo+Pj4gICAgCWlmIChlZGlkLT5yZXZpc2lv biA8IDMpCj4+PiAgICAJCXJldHVybjsKPj4+IEBAIC00OTAzLDYgKzQ5MDksNyBAQCBzM2Rfc3Ry dWN0dXJlX2Zyb21fZGlzcGxheV9tb2RlKGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICpt b2RlKQo+Pj4gICAgICogZHJtX2hkbWlfdmVuZG9yX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9k ZSgpIC0gZmlsbCBhbiBIRE1JIGluZm9mcmFtZSB3aXRoCj4+PiAgICAgKiBkYXRhIGZyb20gYSBE Uk0gZGlzcGxheSBtb2RlCj4+PiAgICAgKiBAZnJhbWU6IEhETUkgdmVuZG9yIGluZm9mcmFtZQo+ Pj4gKyAqIEBjb25uZWN0b3I6IHRoZSBjb25uZWN0b3IKPj4gSSByZW1lbWJlciBvdXIgb2xkIGRp c2N1c3Npb24gd2hlcmUgd2UgcmVhbGl6ZWQgdGhhdCB3ZSB3aWxsIG5lZWQgdGhpcwo+PiBjb25u ZWN0b3IgZm9yIGFsbCB0eXBlcyBvZiBpbmZvZnJhbWVzLAo+PiBldmVudHVhbGx5LCBkbyB5b3Ug dGhpbmsgd2Ugc2hvdWxkIHN0YXJ0IHRoaW5raW5nIGFib3V0IGNyZWF0aW5nIGEKPj4gd3JhcHBl ciBsaWtlIGRybV9hbnlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCksCj4+IGFuZCBwYXNz IGNvbm5lY3RvciBhbmQgZGVzaXJlZCB0eXBlIHRvIGl0ID9PciBJIGFtIGdldHRpbmcgdG9vIGFt Yml0aW91cwo+PiB0YXJnZXRpbmcgdGhpcyBzZXJpZXMgOikgPwo+Pj4gICAgICogQG1vZGU6IERS TSBkaXNwbGF5IG1vZGUKPj4+ICAgICAqCj4+PiAgICAgKiBOb3RlIHRoYXQgdGhlcmUncyBpcyBh IG5lZWQgdG8gc2VuZCBIRE1JIHZlbmRvciBpbmZvZnJhbWVzIG9ubHkgd2hlbiB1c2luZyBhCj4+ PiBAQCAtNDkxMyw4ICs0OTIwLDE1IEBAIHMzZF9zdHJ1Y3R1cmVfZnJvbV9kaXNwbGF5X21vZGUo Y29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4+PiAgICAgKi8KPj4+ICAgIGlu dAo+Pj4gICAgZHJtX2hkbWlfdmVuZG9yX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZShzdHJ1 Y3QgaGRtaV92ZW5kb3JfaW5mb2ZyYW1lICpmcmFtZSwKPj4+ICsJCQkJCSAgICBzdHJ1Y3QgZHJt X2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+Pj4gICAgCQkJCQkgICAgY29uc3Qgc3RydWN0IGRybV9k aXNwbGF5X21vZGUgKm1vZGUpCj4+PiAgICB7Cj4+PiArCS8qCj4+PiArCSAqIEZJWE1FOiBzaWwt c2lpODYyMCBkb2Vzbid0IGhhdmUgYSBjb25uZWN0b3IgYXJvdW5kIHdoZW4KPj4+ICsJICogd2Ug bmVlZCBvbmUsIHNvIHdlIGhhdmUgdG8gYmUgcHJlcGFyZWQgZm9yIGEgTlVMTCBjb25uZWN0b3Iu Cj4+PiArCSAqLwo+Pj4gKwlib29sIGhhc19oZG1pX2luZm9mcmFtZSA9IGNvbm5lY3RvciA/Cj4+ PiArCQljb25uZWN0b3ItPmRpc3BsYXlfaW5mby5oYXNfaGRtaV9pbmZvZnJhbWUgOiBmYWxzZTsK Pj4+ICAgIAlpbnQgZXJyOwo+Pj4gICAgCXUzMiBzM2RfZmxhZ3M7Cj4+PiAgICAJdTggdmljOwo+ Pj4gQEAgLTQ5MjIsMTEgKzQ5MzYsMjEgQEAgZHJtX2hkbWlfdmVuZG9yX2luZm9mcmFtZV9mcm9t X2Rpc3BsYXlfbW9kZShzdHJ1Y3QgaGRtaV92ZW5kb3JfaW5mb2ZyYW1lICpmcmFtZSwKPj4+ICAg IAlpZiAoIWZyYW1lIHx8ICFtb2RlKQo+Pj4gICAgCQlyZXR1cm4gLUVJTlZBTDsKPj4+ICAgIAo+ Pj4gKwlpZiAoIWhhc19oZG1pX2luZm9mcmFtZSkKPj4+ICsJCXJldHVybiAtRUlOVkFMOwo+Pj4g Kwo+Pj4gICAgCXZpYyA9IGRybV9tYXRjaF9oZG1pX21vZGUobW9kZSk7Cj4+PiAgICAJczNkX2Zs YWdzID0gbW9kZS0+ZmxhZ3MgJiBEUk1fTU9ERV9GTEFHXzNEX01BU0s7Cj4+PiAgICAKPj4+IC0J aWYgKCF2aWMgJiYgIXMzZF9mbGFncykKPj4+IC0JCXJldHVybiAtRUlOVkFMOwo+Pj4gKwkvKgo+ Pj4gKwkgKiBFdmVuIGlmIGl0J3Mgbm90IGFic29sdXRlbHkgbmVjZXNzYXJ5IHRvIHNlbmQgdGhl IGluZm9mcmFtZQo+Pj4gKwkgKiAoaWUudmljPT0wIGFuZCBzM2Rfc3RydWN0PT0wKSB3ZSB3aWxs IHN0aWxsIHNlbmQgaXQgaWYgd2UKPj4+ICsJICoga25vdyB0aGF0IHRoZSBzaW5rIGNhbiBoYW5k bGUgaXQuIFRoaXMgaXMgYmFzZWQgb24gYQo+Pj4gKwkgKiBzdWdnZXN0aW9uIGluIEhETUkgMi4w IEFwcGVuZGl4IEYuIEFwcGFyZW50bHkgc29tZSBzaW5rcwo+Pj4gKwkgKiBoYXZlIHRyb3VibGUg cmVhbGl6aW5nIHRoYXQgdGhleSBzaHVsZCBzd2l0Y2ggZnJvbSAzRCB0byAyRAo+Pj4gKwkgKiBt b2RlIGlmIHRoZSBzb3VyY2Ugc2ltcGx5IHN0b3BzIHNlbmRpbmcgdGhlIGluZm9mcmFtZSB3aGVu Cj4+PiArCSAqIGl0IHdhbnRzIHRvIHN3aXRjaCBmcm9tIDNEIHRvIDJELgo+Pj4gKwkgKi8KPj4+ ICAgIAo+Pj4gICAgCWlmICh2aWMgJiYgczNkX2ZsYWdzKQo+Pj4gICAgCQlyZXR1cm4gLUVJTlZB TDsKPj4+IEBAIC00OTM1LDEwICs0OTU5LDggQEAgZHJtX2hkbWlfdmVuZG9yX2luZm9mcmFtZV9m cm9tX2Rpc3BsYXlfbW9kZShzdHJ1Y3QgaGRtaV92ZW5kb3JfaW5mb2ZyYW1lICpmcmFtZSwKPj4+ ICAgIAlpZiAoZXJyIDwgMCkKPj4+ICAgIAkJcmV0dXJuIGVycjsKPj4+ICAgIAo+Pj4gLQlpZiAo dmljKQo+Pj4gLQkJZnJhbWUtPnZpYyA9IHZpYzsKPj4+IC0JZWxzZQo+Pj4gLQkJZnJhbWUtPnMz ZF9zdHJ1Y3QgPSBzM2Rfc3RydWN0dXJlX2Zyb21fZGlzcGxheV9tb2RlKG1vZGUpOwo+Pj4gKwlm cmFtZS0+dmljID0gdmljOwo+Pj4gKwlmcmFtZS0+czNkX3N0cnVjdCA9IHMzZF9zdHJ1Y3R1cmVf ZnJvbV9kaXNwbGF5X21vZGUobW9kZSk7Cj4+PiAgICAKPj4+ICAgIAlyZXR1cm4gMDsKPj4+ICAg IH0KPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19oZG1pLmMg Yi9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19oZG1pLmMKPj4+IGluZGV4IDAxMDlmZjQw YjFkYi4uODEyYjI3NzNlZDY5IDEwMDY0NAo+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2V4eW5v cy9leHlub3NfaGRtaS5jCj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19o ZG1pLmMKPj4+IEBAIC03OTUsNyArNzk1LDcgQEAgc3RhdGljIHZvaWQgaGRtaV9yZWdfaW5mb2Zy YW1lcyhzdHJ1Y3QgaGRtaV9jb250ZXh0ICpoZGF0YSkKPj4+ICAgIAl9Cj4+PiAgICAKPj4+ICAg IAlyZXQgPSBkcm1faGRtaV92ZW5kb3JfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcm0u dmVuZG9yLmhkbWksCj4+PiAtCQkJJmhkYXRhLT5jdXJyZW50X21vZGUpOwo+Pj4gKwkJCSZoZGF0 YS0+Y29ubmVjdG9yLCAmaGRhdGEtPmN1cnJlbnRfbW9kZSk7Cj4+PiAgICAJaWYgKCFyZXQpCj4+ PiAgICAJCXJldCA9IGhkbWlfdmVuZG9yX2luZm9mcmFtZV9wYWNrKCZmcm0udmVuZG9yLmhkbWks IGJ1ZiwKPj4+ICAgIAkJCQlzaXplb2YoYnVmKSk7Cj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRt aS5jCj4+PiBpbmRleCAyZDk1ZGI2NGNkZjIuLjJjY2JhNGNjZjdhZCAxMDA2NDQKPj4+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYwo+Pj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfaGRtaS5jCj4+PiBAQCAtNTEyLDEyICs1MTIsMTQgQEAgc3RhdGljIHZv aWQgaW50ZWxfaGRtaV9zZXRfc3BkX2luZm9mcmFtZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29k ZXIsCj4+PiAgICAKPj4+ICAgIHN0YXRpYyB2b2lkCj4+PiAgICBpbnRlbF9oZG1pX3NldF9oZG1p X2luZm9mcmFtZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCj4+PiAtCQkJICAgICAgY29u c3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4+PiArCQkJICAgICAgY29u c3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCj4+PiArCQkJICAgICAgY29u c3Qgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGUpCj4+PiAgICB7Cj4+PiAg ICAJdW5pb24gaGRtaV9pbmZvZnJhbWUgZnJhbWU7Cj4+PiAgICAJaW50IHJldDsKPj4+ICAgIAo+ Pj4gICAgCXJldCA9IGRybV9oZG1pX3ZlbmRvcl9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUo JmZyYW1lLnZlbmRvci5oZG1pLAo+Pj4gKwkJCQkJCQkgIGNvbm5fc3RhdGUtPmNvbm5lY3RvciwK Pj4+ICAgIAkJCQkJCQkgICZjcnRjX3N0YXRlLT5iYXNlLmFkanVzdGVkX21vZGUpOwo+Pj4gICAg CWlmIChyZXQgPCAwKQo+Pj4gICAgCQlyZXR1cm47Cj4+PiBAQCAtNTg0LDcgKzU4Niw3IEBAIHN0 YXRpYyB2b2lkIGc0eF9zZXRfaW5mb2ZyYW1lcyhzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIs Cj4+PiAgICAKPj4+ICAgIAlpbnRlbF9oZG1pX3NldF9hdmlfaW5mb2ZyYW1lKGVuY29kZXIsIGNy dGNfc3RhdGUpOwo+Pj4gICAgCWludGVsX2hkbWlfc2V0X3NwZF9pbmZvZnJhbWUoZW5jb2Rlciwg Y3J0Y19zdGF0ZSk7Cj4+PiAtCWludGVsX2hkbWlfc2V0X2hkbWlfaW5mb2ZyYW1lKGVuY29kZXIs IGNydGNfc3RhdGUpOwo+Pj4gKwlpbnRlbF9oZG1pX3NldF9oZG1pX2luZm9mcmFtZShlbmNvZGVy LCBjcnRjX3N0YXRlLCBjb25uX3N0YXRlKTsKPj4+ICAgIH0KPj4+ICAgIAo+Pj4gICAgc3RhdGlj IGJvb2wgaGRtaV9zaW5rX2lzX2RlZXBfY29sb3IoY29uc3Qgc3RydWN0IGRybV9jb25uZWN0b3Jf c3RhdGUgKmNvbm5fc3RhdGUpCj4+PiBAQCAtNzI1LDcgKzcyNyw3IEBAIHN0YXRpYyB2b2lkIGli eF9zZXRfaW5mb2ZyYW1lcyhzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCj4+PiAgICAKPj4+ ICAgIAlpbnRlbF9oZG1pX3NldF9hdmlfaW5mb2ZyYW1lKGVuY29kZXIsIGNydGNfc3RhdGUpOwo+ Pj4gICAgCWludGVsX2hkbWlfc2V0X3NwZF9pbmZvZnJhbWUoZW5jb2RlciwgY3J0Y19zdGF0ZSk7 Cj4+PiAtCWludGVsX2hkbWlfc2V0X2hkbWlfaW5mb2ZyYW1lKGVuY29kZXIsIGNydGNfc3RhdGUp Owo+Pj4gKwlpbnRlbF9oZG1pX3NldF9oZG1pX2luZm9mcmFtZShlbmNvZGVyLCBjcnRjX3N0YXRl LCBjb25uX3N0YXRlKTsKPj4+ICAgIH0KPj4+ICAgIAo+Pj4gICAgc3RhdGljIHZvaWQgY3B0X3Nl dF9pbmZvZnJhbWVzKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKPj4+IEBAIC03NjgsNyAr NzcwLDcgQEAgc3RhdGljIHZvaWQgY3B0X3NldF9pbmZvZnJhbWVzKHN0cnVjdCBkcm1fZW5jb2Rl ciAqZW5jb2RlciwKPj4+ICAgIAo+Pj4gICAgCWludGVsX2hkbWlfc2V0X2F2aV9pbmZvZnJhbWUo ZW5jb2RlciwgY3J0Y19zdGF0ZSk7Cj4+PiAgICAJaW50ZWxfaGRtaV9zZXRfc3BkX2luZm9mcmFt ZShlbmNvZGVyLCBjcnRjX3N0YXRlKTsKPj4+IC0JaW50ZWxfaGRtaV9zZXRfaGRtaV9pbmZvZnJh bWUoZW5jb2RlciwgY3J0Y19zdGF0ZSk7Cj4+PiArCWludGVsX2hkbWlfc2V0X2hkbWlfaW5mb2Zy YW1lKGVuY29kZXIsIGNydGNfc3RhdGUsIGNvbm5fc3RhdGUpOwo+Pj4gICAgfQo+Pj4gICAgCj4+ PiAgICBzdGF0aWMgdm9pZCB2bHZfc2V0X2luZm9mcmFtZXMoc3RydWN0IGRybV9lbmNvZGVyICpl bmNvZGVyLAo+Pj4gQEAgLTgyMSw3ICs4MjMsNyBAQCBzdGF0aWMgdm9pZCB2bHZfc2V0X2luZm9m cmFtZXMoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAo+Pj4gICAgCj4+PiAgICAJaW50ZWxf aGRtaV9zZXRfYXZpX2luZm9mcmFtZShlbmNvZGVyLCBjcnRjX3N0YXRlKTsKPj4+ICAgIAlpbnRl bF9oZG1pX3NldF9zcGRfaW5mb2ZyYW1lKGVuY29kZXIsIGNydGNfc3RhdGUpOwo+Pj4gLQlpbnRl bF9oZG1pX3NldF9oZG1pX2luZm9mcmFtZShlbmNvZGVyLCBjcnRjX3N0YXRlKTsKPj4+ICsJaW50 ZWxfaGRtaV9zZXRfaGRtaV9pbmZvZnJhbWUoZW5jb2RlciwgY3J0Y19zdGF0ZSwgY29ubl9zdGF0 ZSk7Cj4+PiAgICB9Cj4+PiAgICAKPj4+ICAgIHN0YXRpYyB2b2lkIGhzd19zZXRfaW5mb2ZyYW1l cyhzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCj4+PiBAQCAtODU0LDcgKzg1Niw3IEBAIHN0 YXRpYyB2b2lkIGhzd19zZXRfaW5mb2ZyYW1lcyhzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIs Cj4+PiAgICAKPj4+ICAgIAlpbnRlbF9oZG1pX3NldF9hdmlfaW5mb2ZyYW1lKGVuY29kZXIsIGNy dGNfc3RhdGUpOwo+Pj4gICAgCWludGVsX2hkbWlfc2V0X3NwZF9pbmZvZnJhbWUoZW5jb2Rlciwg Y3J0Y19zdGF0ZSk7Cj4+PiAtCWludGVsX2hkbWlfc2V0X2hkbWlfaW5mb2ZyYW1lKGVuY29kZXIs IGNydGNfc3RhdGUpOwo+Pj4gKwlpbnRlbF9oZG1pX3NldF9oZG1pX2luZm9mcmFtZShlbmNvZGVy LCBjcnRjX3N0YXRlLCBjb25uX3N0YXRlKTsKPj4+ICAgIH0KPj4+ICAgIAo+Pj4gICAgdm9pZCBp bnRlbF9kcF9kdWFsX21vZGVfc2V0X3RtZHNfb3V0cHV0KHN0cnVjdCBpbnRlbF9oZG1pICpoZG1p LCBib29sIGVuYWJsZSkKPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsv bXRrX2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfaGRtaS5jCj4+PiBpbmRl eCBiNzg3OTEwNjE5ODMuLjU5YTExMDI2ZGNlYiAxMDA2NDQKPj4+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9tZWRpYXRlay9tdGtfaGRtaS5jCj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0 ZWsvbXRrX2hkbWkuYwo+Pj4gQEAgLTEwNTQsNyArMTA1NCw4IEBAIHN0YXRpYyBpbnQgbXRrX2hk bWlfc2V0dXBfdmVuZG9yX3NwZWNpZmljX2luZm9mcmFtZShzdHJ1Y3QgbXRrX2hkbWkgKmhkbWks Cj4+PiAgICAJdTggYnVmZmVyWzEwXTsKPj4+ICAgIAlzc2l6ZV90IGVycjsKPj4+ICAgIAo+Pj4g LQllcnIgPSBkcm1faGRtaV92ZW5kb3JfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFt ZSwgbW9kZSk7Cj4+PiArCWVyciA9IGRybV9oZG1pX3ZlbmRvcl9pbmZvZnJhbWVfZnJvbV9kaXNw bGF5X21vZGUoJmZyYW1lLAo+Pj4gKwkJCQkJCQkgICZoZG1pLT5jb25uLCBtb2RlKTsKPj4+ICAg IAlpZiAoZXJyKSB7Cj4+PiAgICAJCWRldl9lcnIoaGRtaS0+ZGV2LAo+Pj4gICAgCQkJIkZhaWxl ZCB0byBnZXQgdmVuZG9yIGluZm9mcmFtZSBmcm9tIG1vZGU6ICV6ZFxuIiwgZXJyKTsKPj4+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9udjUwX2Rpc3BsYXkuYyBiL2RyaXZl cnMvZ3B1L2RybS9ub3V2ZWF1L252NTBfZGlzcGxheS5jCj4+PiBpbmRleCBiMjZhNTA2ZDIwY2Eu LjlkN2IyYWZkN2NmYyAxMDA2NDQKPj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252 NTBfZGlzcGxheS5jCj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9udjUwX2Rpc3Bs YXkuYwo+Pj4gQEAgLTI3NTQsNyArMjc1NCw4IEBAIG52NTBfaGRtaV9lbmFibGUoc3RydWN0IGRy bV9lbmNvZGVyICplbmNvZGVyLCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKPj4+ICAg IAkJCT0gaGRtaV9pbmZvZnJhbWVfcGFjaygmYXZpX2ZyYW1lLCBhcmdzLmluZm9mcmFtZXMsIDE3 KTsKPj4+ICAgIAl9Cj4+PiAgICAKPj4+IC0JcmV0ID0gZHJtX2hkbWlfdmVuZG9yX2luZm9mcmFt ZV9mcm9tX2Rpc3BsYXlfbW9kZSgmdmVuZG9yX2ZyYW1lLnZlbmRvci5oZG1pLCBtb2RlKTsKPj4+ ICsJcmV0ID0gZHJtX2hkbWlfdmVuZG9yX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmdmVu ZG9yX2ZyYW1lLnZlbmRvci5oZG1pLAo+Pj4gKwkJCQkJCQkgICZudl9jb25uZWN0b3ItPmJhc2Us IG1vZGUpOwo+Pj4gICAgCWlmICghcmV0KSB7Cj4+PiAgICAJCS8qIFdlIGhhdmUgYSBWZW5kb3Ig SW5mb0ZyYW1lLCBwb3B1bGF0ZSBpdCB0byB0aGUgZGlzcGxheSAqLwo+Pj4gICAgCQlhcmdzLnB3 ci52ZW5kb3JfaW5mb2ZyYW1lX2xlbmd0aAo+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9yb2NrY2hpcC9pbm5vX2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9pbm5vX2hk bWkuYwo+Pj4gaW5kZXggZWU1ODRkODcxMTFmLi5mYWIzMDkyN2E4ODkgMTAwNjQ0Cj4+PiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvaW5ub19oZG1pLmMKPj4+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9yb2NrY2hpcC9pbm5vX2hkbWkuYwo+Pj4gQEAgLTI4Miw2ICsyODIsNyBAQCBzdGF0 aWMgaW50IGlubm9faGRtaV9jb25maWdfdmlkZW9fdnNpKHN0cnVjdCBpbm5vX2hkbWkgKmhkbWks Cj4+PiAgICAJaW50IHJjOwo+Pj4gICAgCj4+PiAgICAJcmMgPSBkcm1faGRtaV92ZW5kb3JfaW5m b2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZS52ZW5kb3IuaGRtaSwKPj4+ICsJCQkJCQkJ ICZoZG1pLT5jb25uZWN0b3IsCj4+PiAgICAJCQkJCQkJIG1vZGUpOwo+Pj4gICAgCj4+PiAgICAJ cmV0dXJuIGlubm9faGRtaV91cGxvYWRfZnJhbWUoaGRtaSwgcmMsICZmcmFtZSwgSU5GT0ZSQU1F X1ZTSSwKPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9oZG1pLmMgYi9k cml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9oZG1pLmMKPj4+IGluZGV4IGQxOTAyNzUwYTg1ZC4uYzNi MjkyYWIxN2E1IDEwMDY0NAo+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfaGRtaS5j Cj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9oZG1pLmMKPj4+IEBAIC01MTUsNyAr NTE1LDkgQEAgc3RhdGljIGludCBoZG1pX3ZlbmRvcl9pbmZvZnJhbWVfY29uZmlnKHN0cnVjdCBz dGlfaGRtaSAqaGRtaSkKPj4+ICAgIAo+Pj4gICAgCURSTV9ERUJVR19EUklWRVIoIlxuIik7Cj4+ PiAgICAKPj4+IC0JcmV0ID0gZHJtX2hkbWlfdmVuZG9yX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlf bW9kZSgmaW5mb2ZyYW1lLCBtb2RlKTsKPj4+ICsJcmV0ID0gZHJtX2hkbWlfdmVuZG9yX2luZm9m cmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmaW5mb2ZyYW1lLAo+Pj4gKwkJCQkJCQkgIGhkbWktPmRy bV9jb25uZWN0b3IsCj4+PiArCQkJCQkJCSAgbW9kZSk7Cj4+PiAgICAJaWYgKHJldCA8IDApIHsK Pj4+ICAgIAkJLyoKPj4+ICAgIAkJICogR29pbmcgaW50byB0aGF0IHN0YXRlbWVudCBkb2VzIG5v dCBtZWFucyB2ZW5kb3IgaW5mb2ZyYW1lCj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L3p0ZS96eF9oZG1pLmMgYi9kcml2ZXJzL2dwdS9kcm0venRlL3p4X2hkbWkuYwo+Pj4gaW5kZXgg YjhhYmIxYjQ5NmZmLi4xM2VhOTBmN2ExODUgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0venRlL3p4X2hkbWkuYwo+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3p0ZS96eF9oZG1pLmMK Pj4+IEBAIC0xMDgsNiArMTA4LDcgQEAgc3RhdGljIGludCB6eF9oZG1pX2NvbmZpZ192aWRlb192 c2koc3RydWN0IHp4X2hkbWkgKmhkbWksCj4+PiAgICAJaW50IHJldDsKPj4+ICAgIAo+Pj4gICAg CXJldCA9IGRybV9oZG1pX3ZlbmRvcl9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1l LnZlbmRvci5oZG1pLAo+Pj4gKwkJCQkJCQkgICZoZG1pLT5jb25uZWN0b3IsCj4+PiAgICAJCQkJ CQkJICBtb2RlKTsKPj4+ICAgIAlpZiAocmV0KSB7Cj4+PiAgICAJCURSTV9ERVZfRVJST1IoaGRt aS0+ZGV2LCAiZmFpbGVkIHRvIGdldCB2ZW5kb3IgaW5mb2ZyYW1lOiAlZFxuIiwKPj4+IGRpZmYg LS1naXQgYS9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmggYi9pbmNsdWRlL2RybS9kcm1fY29u bmVjdG9yLmgKPj4+IGluZGV4IDJiOTdkMWUyOGY2MC4uMTU0MzIxMmIwNDQ5IDEwMDY0NAo+Pj4g LS0tIGEvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oCj4+PiArKysgYi9pbmNsdWRlL2RybS9k cm1fY29ubmVjdG9yLmgKPj4+IEBAIC0yNzAsNiArMjcwLDExIEBAIHN0cnVjdCBkcm1fZGlzcGxh eV9pbmZvIHsKPj4+ICAgIAlib29sIGR2aV9kdWFsOwo+Pj4gICAgCj4+PiAgICAJLyoqCj4+PiAr CSAqIEBoYXNfaGRtaV9pbmZvZnJhbWU6IERvZXMgdGhlIHNpbmsgc3VwcG9ydCB0aGUgSERNSSBp bmZvZnJhbWU/Cj4+PiArCSAqLwo+Pj4gKwlib29sIGhhc19oZG1pX2luZm9mcmFtZTsKPj4+ICsK Pj4+ICsJLyoqCj4+PiAgICAJICogQGVkaWRfaGRtaV9kY19tb2RlczogTWFzayBvZiBzdXBwb3J0 ZWQgaGRtaSBkZWVwIGNvbG9yIG1vZGVzLiBFdmVuCj4+PiAgICAJICogbW9yZSBzdHVmZiByZWR1 bmRhbnQgd2l0aCBAYnVzX2Zvcm1hdHMuCj4+PiAgICAJICovCj4+PiBkaWZmIC0tZ2l0IGEvaW5j bHVkZS9kcm0vZHJtX2VkaWQuaCBiL2luY2x1ZGUvZHJtL2RybV9lZGlkLmgKPj4+IGluZGV4IDll NGUyMzUyNDg0MC4uM2M4NzQwYWQxZGI2IDEwMDY0NAo+Pj4gLS0tIGEvaW5jbHVkZS9kcm0vZHJt X2VkaWQuaAo+Pj4gKysrIGIvaW5jbHVkZS9kcm0vZHJtX2VkaWQuaAo+Pj4gQEAgLTM1Niw2ICsz NTYsNyBAQCBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKHN0cnVjdCBo ZG1pX2F2aV9pbmZvZnJhbWUgKmZyYW1lLAo+Pj4gICAgCQkJCQkgYm9vbCBpc19oZG1pMl9zaW5r KTsKPj4+ICAgIGludAo+Pj4gICAgZHJtX2hkbWlfdmVuZG9yX2luZm9mcmFtZV9mcm9tX2Rpc3Bs YXlfbW9kZShzdHJ1Y3QgaGRtaV92ZW5kb3JfaW5mb2ZyYW1lICpmcmFtZSwKPj4+ICsJCQkJCSAg ICBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+Pj4gICAgCQkJCQkgICAgY29uc3Qg c3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpOwo+Pj4gICAgdm9pZAo+Pj4gICAgZHJtX2hk bWlfYXZpX2luZm9mcmFtZV9xdWFudF9yYW5nZShzdHJ1Y3QgaGRtaV9hdmlfaW5mb2ZyYW1lICpm cmFtZSwKPj4gT3RoZXJ3aXNlIGxvb2tzIGdvb2QKPj4gLSBTaGFzaGFuawoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==