From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manasi Navare Subject: Re: [PATCH RFC] drm: Add a new connector atomic property for link status Date: Tue, 29 Nov 2016 12:42:22 -0800 Message-ID: <20161129204222.GA1879@intel.com> References: <1479864621-8105-1-git-send-email-manasi.d.navare@intel.com> <20161123080928.ywu4njrdk6s4xlsc@phenom.ffwll.local> <20161129005914.GB22681@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: Sean Paul Cc: Daniel Vetter , Intel Graphics Development , dri-devel List-Id: dri-devel@lists.freedesktop.org T24gVHVlLCBOb3YgMjksIDIwMTYgYXQgMDI6NDM6NTVQTSAtMDUwMCwgU2VhbiBQYXVsIHdyb3Rl Ogo+IE9uIFR1ZSwgTm92IDI5LCAyMDE2IGF0IDk6NDUgQU0sIFNlYW4gUGF1bCA8c2VhbnBhdWxA Y2hyb21pdW0ub3JnPiB3cm90ZToKPiA+IE9uIE1vbiwgTm92IDI4LCAyMDE2IGF0IDc6NTkgUE0s IE1hbmFzaSBOYXZhcmUKPiA+IDxtYW5hc2kuZC5uYXZhcmVAaW50ZWwuY29tPiB3cm90ZToKPiA+ PiBPbiBXZWQsIE5vdiAyMywgMjAxNiBhdCAwOTowOToyOEFNICswMTAwLCBEYW5pZWwgVmV0dGVy IHdyb3RlOgo+ID4+PiBPbiBUdWUsIE5vdiAyMiwgMjAxNiBhdCAwOToyNzozNVBNIC0wNTAwLCBT ZWFuIFBhdWwgd3JvdGU6Cj4gPj4+ID4gT24gVHVlLCBOb3YgMjIsIDIwMTYgYXQgODozMCBQTSwg TWFuYXNpIE5hdmFyZQo+ID4+PiA+IDxtYW5hc2kuZC5uYXZhcmVAaW50ZWwuY29tPiB3cm90ZToK PiA+Pj4gPiA+IFRoaXMgaXMgUkZDIHBhdGNoIGZvciBhZGRpbmcgYSBjb25uZWN0b3IgbGluay1z dGF0dXMgcHJvcGVydHkKPiA+Pj4gPiA+IGFuZCBtYWtpbmcgaXQgYXRvbWljIGJ5IGFkZGluZyBp dCB0byB0aGUgZHJtX2Nvbm5lY3Rvcl9zdGF0ZS4KPiA+Pj4gPiA+IFRoaXMgaXMgdG8gbWFrZSBz dXJlIGl0cyB3aXJlZCBwcm9wZXJseSBpbiBkcm1fYXRvbWljX2Nvbm5lY3Rvcl9zZXRfcHJvcGVy dHkKPiA+Pj4gPiA+IGFuZCBkcm1fYXRvbWljX2Nvbm5lY3Rvcl9nZXRfcHJvcGVydHkgZnVuY3Rp b25zLgo+ID4+PiA+ID4KPiA+Pj4gPgo+ID4+PiA+IFRoYW5rcyBmb3Igc2VuZGluZyB0aGlzLiBX ZSByYW4gaW50byBzb21lIHJlLXRyYWluaW5nIGF3a3dhcmRuZXNzCj4gPj4+ID4gcmVjZW50bHks IGFuZCBJCj4gPj4+ID4gd2FzIGhvcGluZyBmb3Igc3VjaCBhIHBhdGNoLgo+ID4+PiA+Cj4gPj4+ ID4gPiBDYzogSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGxpbnV4LmludGVsLmNvbT4KPiA+Pj4g PiA+IENjOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGludGVsLmNvbT4KPiA+Pj4gPiA+ IENjOiBWaWxsZSBTeXJqYWxhIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiA+Pj4g PiA+IENjOiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KPiA+Pj4gPiA+ IFNpZ25lZC1vZmYtYnk6IE1hbmFzaSBOYXZhcmUgPG1hbmFzaS5kLm5hdmFyZUBpbnRlbC5jb20+ Cj4gPj4+ID4gPiAtLS0KPiA+Pj4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jICAg IHwgIDUgKysrKwo+ID4+PiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMgfCA2 NSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLQo+ID4+PiA+ID4gIGlu Y2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaCAgICAgfCAxMiArKysrKysrLQo+ID4+PiA+ID4gIGlu Y2x1ZGUvZHJtL2RybV9tb2RlX2NvbmZpZy5oICAgfCAgNSArKysrCj4gPj4+ID4gPiAgaW5jbHVk ZS91YXBpL2RybS9kcm1fbW9kZS5oICAgICB8ICA0ICsrKwo+ID4+PiA+ID4gIDUgZmlsZXMgY2hh bmdlZCwgODggaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKPiA+Pj4gPiA+Cj4gPj4+ID4g PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYyBiL2RyaXZlcnMvZ3B1 L2RybS9kcm1fYXRvbWljLmMKPiA+Pj4gPiA+IGluZGV4IDg5NzM3ZTQuLjY0NGQxOWYgMTAwNjQ0 Cj4gPj4+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCj4gPj4+ID4gPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCj4gPj4+ID4gPiBAQCAtMTA4Nyw2ICsx MDg3LDkgQEAgaW50IGRybV9hdG9taWNfY29ubmVjdG9yX3NldF9wcm9wZXJ0eShzdHJ1Y3QgZHJt X2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ID4+PiA+ID4gICAgICAgICAgICAgICAgICAqIG5vdz8p IGF0b21pYyB3cml0ZXMgdG8gRFBNUyBwcm9wZXJ0eToKPiA+Pj4gPiA+ICAgICAgICAgICAgICAg ICAgKi8KPiA+Pj4gPiA+ICAgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKPiA+Pj4gPiA+ ICsgICAgICAgfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25maWctPmxpbmtfc3RhdHVzX3Byb3Bl cnR5KSB7Cj4gPj4+ID4gPiArICAgICAgICAgICAgICAgc3RhdGUtPmxpbmtfc3RhdHVzID0gdmFs Owo+ID4+Pgo+ID4+PiBJIHRoaW5rIHdlIHNob3VsZCBoYXZlIGEgY2hlY2sgaGVyZSB0byBtYWtl IHN1cmUgdXNlcnNwYWNlIG5ldmVyIHRyaWVzIHRvCj4gPj4+IHNldCB0aGlzIGZyb20gIkdPT0Qi IHRvICJCQUQiLiAiQkFEIiB0byAiQkFEIiB3ZSBuZWVkIHRvIGFsbG93LCBzaW5jZSB3aXRoCj4g Pj4+IGF0b21pYyB1c2Vyc3BhY2UgaXMgc3VwcG9zZWQgdG8gYmUgYWJsZSB0byBqdXN0IHJlc3Rv cmUgZXZlcnl0aGluZyB0byB3aGF0Cj4gPj4+IGl0IHdhcy4KPiA+Pj4KPiA+Pj4gSSBkb24ndCB0 aGluayB0cnlpbmcgdG8gc2V0IGl0IHRvICJCQUQiIHNob3VsZCBjYXVzZSBhbiBlcnJvciB0aG91 Z2gsIGp1c3QKPiA+Pj4gc2lsZW50bHkga2VlcCB0aGUgbGluayBzdGF0dXMgYXQgIkdPT0ciLiBT bzoKPiA+Pj4KPiA+Pj4gICAgICAgLyogTmV2ZXIgZG93bmdyYWRlIGZyb20gR09PRCB0byBCQUQg b24gdXNlcnNwYWNlJ3MgcmVxdWVzdCBoZXJlLAo+ID4+PiAgICAgICAgKiBvbmx5IGh3IGlzc3Vl cyBjYW4gZG8gdGhhdC4gKi8KPiA+Pj4gICAgICAgaWYgKHN0YXRlLT5saW5rX3N0YXR1cyA9PSBH T09EKQo+ID4+PiAgICAgICAgICAgICAgIHJldHVybiAwOwo+ID4+PiAgICAgICBzdGF0ZS0+bGlu a19zdGF0dXMgPSB2YWw7Cj4gPj4+ICAgICAgIHJldHVybiAwOwo+ID4+Pgo+ID4+PiA+ID4gKyAg ICAgICAgICAgICAgIHJldHVybiAwOwo+ID4+PiA+ID4gICAgICAgICB9IGVsc2UgaWYgKGNvbm5l Y3Rvci0+ZnVuY3MtPmF0b21pY19zZXRfcHJvcGVydHkpIHsKPiA+Pj4gPiA+ICAgICAgICAgICAg ICAgICByZXR1cm4gY29ubmVjdG9yLT5mdW5jcy0+YXRvbWljX3NldF9wcm9wZXJ0eShjb25uZWN0 b3IsCj4gPj4+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlLCBwcm9w ZXJ0eSwgdmFsKTsKPiA+Pj4gPiA+IEBAIC0xMTM1LDYgKzExMzgsOCBAQCBzdGF0aWMgdm9pZCBk cm1fYXRvbWljX2Nvbm5lY3Rvcl9wcmludF9zdGF0ZShzdHJ1Y3QgZHJtX3ByaW50ZXIgKnAsCj4g Pj4+ID4gPiAgICAgICAgICAgICAgICAgKnZhbCA9IChzdGF0ZS0+Y3J0YykgPyBzdGF0ZS0+Y3J0 Yy0+YmFzZS5pZCA6IDA7Cj4gPj4+ID4gPiAgICAgICAgIH0gZWxzZSBpZiAocHJvcGVydHkgPT0g Y29uZmlnLT5kcG1zX3Byb3BlcnR5KSB7Cj4gPj4+ID4gPiAgICAgICAgICAgICAgICAgKnZhbCA9 IGNvbm5lY3Rvci0+ZHBtczsKPiA+Pj4gPiA+ICsgICAgICAgfSBlbHNlIGlmIChwcm9wZXJ0eSA9 PSBjb25maWctPmxpbmtfc3RhdHVzX3Byb3BlcnR5KSB7Cj4gPj4+ID4gPiArICAgICAgICAgICAg ICAgKnZhbCA9IHN0YXRlLT5saW5rX3N0YXR1czsKPiA+Pj4gPiA+ICAgICAgICAgfSBlbHNlIGlm IChjb25uZWN0b3ItPmZ1bmNzLT5hdG9taWNfZ2V0X3Byb3BlcnR5KSB7Cj4gPj4+ID4gPiAgICAg ICAgICAgICAgICAgcmV0dXJuIGNvbm5lY3Rvci0+ZnVuY3MtPmF0b21pY19nZXRfcHJvcGVydHko Y29ubmVjdG9yLAo+ID4+PiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0 ZSwgcHJvcGVydHksIHZhbCk7Cj4gPj4+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2RybV9jb25uZWN0b3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMKPiA+Pj4g PiA+IGluZGV4IDVhNDUyNjIuLjQ1NzZjOWYgMTAwNjQ0Cj4gPj4+ID4gPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jCj4gPj4+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v ZHJtX2Nvbm5lY3Rvci5jCj4gPj4+ID4gPiBAQCAtMjQzLDYgKzI0MywxMCBAQCBpbnQgZHJtX2Nv bm5lY3Rvcl9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gPj4+ID4gPiAgICAgICAgIGRy bV9vYmplY3RfYXR0YWNoX3Byb3BlcnR5KCZjb25uZWN0b3ItPmJhc2UsCj4gPj4+ID4gPiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZy0+ZHBtc19wcm9wZXJ0eSwg MCk7Cj4gPj4+ID4gPgo+ID4+PiA+ID4gKyAgICAgICBkcm1fb2JqZWN0X2F0dGFjaF9wcm9wZXJ0 eSgmY29ubmVjdG9yLT5iYXNlLAo+ID4+PiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjb25maWctPmxpbmtfc3RhdHVzX3Byb3BlcnR5LAo+ID4+PiA+ID4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAwKTsKPiA+Pj4gPiA+ICsKPiA+Pj4gPiA+ICAgICAg ICAgaWYgKGRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfQVRPTUlDKSkgewo+ID4+ PiA+ID4gICAgICAgICAgICAgICAgIGRybV9vYmplY3RfYXR0YWNoX3Byb3BlcnR5KCZjb25uZWN0 b3ItPmJhc2UsIGNvbmZpZy0+cHJvcF9jcnRjX2lkLCAwKTsKPiA+Pj4gPiA+ICAgICAgICAgfQo+ ID4+PiA+ID4gQEAgLTUwNiw2ICs1MTAsMTIgQEAgY29uc3QgY2hhciAqZHJtX2dldF9zdWJwaXhl bF9vcmRlcl9uYW1lKGVudW0gc3VicGl4ZWxfb3JkZXIgb3JkZXIpCj4gPj4+ID4gPiAgfTsKPiA+ Pj4gPiA+ICBEUk1fRU5VTV9OQU1FX0ZOKGRybV9nZXRfZHBtc19uYW1lLCBkcm1fZHBtc19lbnVt X2xpc3QpCj4gPj4+ID4gPgo+ID4+PiA+ID4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX3Byb3Bf ZW51bV9saXN0IGRybV9saW5rX3N0YXR1c19lbnVtX2xpc3RbXSA9IHsKPiA+Pj4gPiA+ICsgICAg ICAgeyBEUk1fTU9ERV9MSU5LX1NUQVRVU19HT09ELCAiR29vZCIgfSwKPiA+Pj4gPiA+ICsgICAg ICAgeyBEUk1fTU9ERV9MSU5LX1NUQVRVU19CQUQsICJCYWQiIH0sCj4gPj4+ID4gPiArfTsKPiA+ Pj4gPiA+ICtEUk1fRU5VTV9OQU1FX0ZOKGRybV9nZXRfbGlua19zdGF0dXNfbmFtZSwgZHJtX2xp bmtfc3RhdHVzX2VudW1fbGlzdCkKPiA+Pj4gPiA+ICsKPiA+Pj4gPiA+ICAvKioKPiA+Pj4gPiA+ ICAgKiBkcm1fZGlzcGxheV9pbmZvX3NldF9idXNfZm9ybWF0cyAtIHNldCB0aGUgc3VwcG9ydGVk IGJ1cyBmb3JtYXRzCj4gPj4+ID4gPiAgICogQGluZm86IGRpc3BsYXkgaW5mbyB0byBzdG9yZSBi dXMgZm9ybWF0cyBpbgo+ID4+PiA+ID4gQEAgLTYxNiw3ICs2MjYsNyBAQCBpbnQgZHJtX2Rpc3Bs YXlfaW5mb19zZXRfYnVzX2Zvcm1hdHMoc3RydWN0IGRybV9kaXNwbGF5X2luZm8gKmluZm8sCj4g Pj4+ID4gPiAgICogICAgIHBhdGggcHJvcGVydHkgdGhlIE1TVCBtYW5hZ2VyIGNyZWF0ZWQuIFVz ZXJzcGFjZSBjYW5ub3QgY2hhbmdlIHRoaXMKPiA+Pj4gPiA+ICAgKiAgICAgcHJvcGVydHkuCj4g Pj4+ID4gPiAgICogVElMRToKPiA+Pj4gPiA+IC0gKiAgICAgQ29ubmVjdG9yIHRpbGUgZ3JvdXAg cHJvcGVydHkgdG8gaW5kaWNhdGUgaG93IGEgc2V0IG9mIERSTSBjb25uZWN0b3IKPiA+Pj4gPiA+ ICsgKiAgICAgIENvbm5lY3RvciB0aWxlIGdyb3VwIHByb3BlcnR5IHRvIGluZGljYXRlIGhvdyBh IHNldCBvZiBEUk0gY29ubmVjdG9yCj4gPj4+ID4KPiA+Pj4gPiBrZXlib2FyZCBzbGlwIGhlcmUK PiA+Pj4gPgo+ID4+PiA+ID4gICAqICAgICBjb21wb3NlIHRvZ2V0aGVyIGludG8gb25lIGxvZ2lj YWwgc2NyZWVuLiBUaGlzIGlzIHVzZWQgYnkgYm90aCBoaWdoLXJlcwo+ID4+PiA+ID4gICAqICAg ICBleHRlcm5hbCBzY3JlZW5zIChvZnRlbiBvbmx5IHVzaW5nIGEgc2luZ2xlIGNhYmxlLCBidXQg ZXhwb3NpbmcgbXVsdGlwbGUKPiA+Pj4gPiA+ICAgKiAgICAgRFAgTVNUIHNpbmtzKSwgb3IgaGln aC1yZXMgaW50ZWdyYXRlZCBwYW5lbHMgKGxpa2UgZHVhbC1saW5rIERTSSkgd2hpY2gKPiA+Pj4g PiA+IEBAIC02MjUsNyArNjM1LDE0IEBAIGludCBkcm1fZGlzcGxheV9pbmZvX3NldF9idXNfZm9y bWF0cyhzdHJ1Y3QgZHJtX2Rpc3BsYXlfaW5mbyAqaW5mbywKPiA+Pj4gPiA+ICAgKiAgICAgdGls aW5nIGFuZCB2aXJ0dWFsaXplIGJvdGggJmRybV9jcnRjIGFuZCAmZHJtX3BsYW5lIGlmIG5lZWRl ZC4gRHJpdmVycwo+ID4+PiA+ID4gICAqICAgICBzaG91bGQgdXBkYXRlIHRoaXMgdmFsdWUgdXNp bmcgZHJtX21vZGVfY29ubmVjdG9yX3NldF90aWxlX3Byb3BlcnR5KCkuCj4gPj4+ID4gPiAgICog ICAgIFVzZXJzcGFjZSBjYW5ub3QgY2hhbmdlIHRoaXMgcHJvcGVydHkuCj4gPj4+ID4gPiAtICoK PiA+Pj4gPiA+ICsgKiBsaW5rLXN0YXR1czoKPiA+Pj4gPiA+ICsgKiAgICAgIENvbm5lY3RvciBs aW5rLXN0YXR1cyBwcm9wZXJ0eSB0byBpbmRpY2F0ZSB0aGUgc3RhdHVzIG9mIGxpbmsgZHVyaW5n Cj4gPj4+ID4gPiArICogICAgICB0aGUgbW9kZXNldC4gVGhlIGRlZmF1bHQgdmFsdWUgb2YgbGlu ay1zdGF0dXMgaXMgIkdPT0QiLiBJZiBzb21ldGhpbmcKPiA+Pj4gPiA+ICsgKiAgICAgIGZhaWxz IGR1cmluZyBtb2Rlc2V0LCB0aGUga2VybmVsIGRyaXZlciBjYW4gc2V0IHRoaXMgdG8gIkJBRCIs IHBydW5lCj4gPj4+ID4gPiArICogICAgICB0aGUgbW9kZSBsaXN0IGJhc2VkIG9uIG5ldyBsaW5r IHBhcmFtZXRlcnMgYW5kIHNlbmQgYSBob3RwbHVnIHVldmVudAo+ID4+PiA+ID4gKyAqICAgICAg dG8gbm90aWZ5IHVzZXJzcGFjZSB0byByZS1jaGVjayB0aGUgdmFsaWQgbW9kZXMgdGhyb3VnaCBH RVRfQ09OTkVDVE9SCj4gPj4+ID4gPiArICogICAgICBJT0NUTCBhbmQgcmVkbyBhIG1vZGVzZXQu IERyaXZlcnMgc2hvdWxkIHVwZGF0ZSB0aGlzIHZhbHVlIHVzaW5nCj4gPj4+ID4gPiArICogICAg ICBkcm1fbW9kZV9jb25uZWN0b3Jfc2V0X2xpbmtfc3RhdHVzX3Byb3BlcnR5KCkuCj4gCj4gV2hp bGUgSSdtIG5pdHBpY2tpbmcgZG9jdW1lbnRhdGlvbiwgSSB0aGluayB0aGlzIG9uZSBuZWVkcyB3 b3JrLCB0b28uCj4gSSdkIHByZWZlciB5b3UganVzdCBkZXNjcmliZSB3aGF0IHRoZSBwcm9wZXJ0 eSBjb252ZXlzIGhlcmUgaW5zdGVhZCBvZgo+IGdldHRpbmcgaW50byBkcml2ZXIgaW1wbGVtZW50 YXRpb24gc3BlY2lmaWNzLiBTbyBzb21ldGhpbmcgbGlrZToKPiAKPiAqIGxpbmstc3RhdHVzCj4g KiAgICAgQ29ubmVjdG9yIGxpbmstc3RhdHVzIHByb3BlcnR5IHRvIGluZGljYXRlIHRoZSBzdGF0 dXMgb2YgbGluay4gVGhlCj4gKiAgICAgZGVmYXVsdCB2YWx1ZSBpcyAiR09PRCIuIElmIHNvbWV0 aGluZyBmYWlscyBkdXJpbmcsIG9yIGFmdGVyIG1vZGVzZXQsCj4gKiAgICAgdGhlIGRyaXZlciBt YXkgc2V0IHRoaXMgdG8gIkJBRCIgYW5kIGlzc3VlIGEgaG90cGx1ZyB1ZXZlbnQuIERyaXZlcnMK PiAqICAgICBzaG91bGQgdXBkYXRlIHRoaXMgdmFsdWUgdXNpbmcKPiAqICAgICBkcm1fbW9kZV9j b25uZWN0b3Jfc2V0X2xpbmtfc3RhdHVzX3Byb3BlcnR5KCkKPiAKPiBTZWFuCj4KClRoYW5rcyBh IGxvdCBmb3IgeW91ciBmZWVkYmFjay4KSSB3aWxsIGluY29ycG9yYXRlIHRoZXNlIGNoYW5nZXMg aGVyZSBhbmQgdGhlIG9uZXMgeW91IHBvaW50ZWQgb3V0CmluIHRoZSBwcmV2aW91cyBlbWFpbCBh bmQgc2VuZCBhIG5ldyByZXZpc2lvbi4KClJlZ2FyZHMKTWFuYXNpCgogCj4gPj4+ID4gPiAgICog Q29ubmVjdG9ycyBhbHNvIGhhdmUgb25lIHN0YW5kYXJkaXplZCBhdG9taWMgcHJvcGVydHk6Cj4g Pj4+ID4gPiAgICoKPiA+Pj4gPiA+ICAgKiBDUlRDX0lEOgo+ID4+PiA+ID4gQEAgLTY2Niw2ICs2 ODMsMTMgQEAgaW50IGRybV9jb25uZWN0b3JfY3JlYXRlX3N0YW5kYXJkX3Byb3BlcnRpZXMoc3Ry dWN0IGRybV9kZXZpY2UgKmRldikKPiA+Pj4gPiA+ICAgICAgICAgICAgICAgICByZXR1cm4gLUVO T01FTTsKPiA+Pj4gPiA+ICAgICAgICAgZGV2LT5tb2RlX2NvbmZpZy50aWxlX3Byb3BlcnR5ID0g cHJvcDsKPiA+Pj4gPiA+Cj4gPj4+ID4gPiArICAgICAgIHByb3AgPSBkcm1fcHJvcGVydHlfY3Jl YXRlX2VudW0oZGV2LCBEUk1fTU9ERV9QUk9QX0FUT01JQywgImxpbmstc3RhdHVzIiwKPiA+Pj4g PiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcm1fbGlua19zdGF0 dXNfZW51bV9saXN0LAo+ID4+PiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEFSUkFZX1NJWkUoZHJtX2xpbmtfc3RhdHVzX2VudW1fbGlzdCkpOwo+ID4+PiA+ID4g KyAgICAgICBpZiAoIXByb3ApCj4gPj4+ID4gPiArICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9N RU07Cj4gPj4+ID4gPiArICAgICAgIGRldi0+bW9kZV9jb25maWcubGlua19zdGF0dXNfcHJvcGVy dHkgPSBwcm9wOwo+ID4+PiA+ID4gKwo+ID4+PiA+ID4gICAgICAgICByZXR1cm4gMDsKPiA+Pj4g PiA+ICB9Cj4gPj4+ID4gPgo+ID4+PiA+ID4gQEAgLTk5NSw2ICsxMDE5LDQzIEBAIGludCBkcm1f bW9kZV9jb25uZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3Ig KmNvbm5lY3RvciwKPiA+Pj4gPiA+ICB9Cj4gPj4+ID4gPiAgRVhQT1JUX1NZTUJPTChkcm1fbW9k ZV9jb25uZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVydHkpOwo+ID4+PiA+ID4KPiA+Pj4gPiA+ICsv KioKPiA+Pj4gPiA+ICsgKiBkcm1fbW9kZV9jb25uZWN0b3Jfc2V0X2xpbmtfc3RhdHVzX3Byb3Bl cnR5IC0gU2V0IGxpbmsgc3RhdHVzIHByb3BlcnR5IG9mIGEgY29ubmVjdG9yCj4gPj4+ID4gPiAr ICogQGNvbm5lY3RvcjogZHJtIGNvbm5lY3Rvcgo+ID4+PiA+ID4gKyAqIEBsaW5rX3N0YXR1czog bmV3IHZhbHVlIG9mIGxpbmsgc3RhdHVzIHByb3BlcnR5ICgwOiBHb29kLCAxOiBCYWQpCj4gPj4+ ID4gPiArICoKPiA+Pj4gPiA+ICsgKiBJbiB1c3VhbCB3b3JraW5nIHNjZW5hcmlvLCB0aGlzIGxp bmsgc3RhdHVzIHByb3BlcnR5IHdpbGwgYWx3YXlzIGJlIHNldCB0bwo+ID4+PiA+ID4gKyAqICJH T09EIi4gSWYgc29tZXRoaW5nIGZhaWxzIGR1cmluZyBvciBhZnRlciBhIG1vZGUgc2V0LCB0aGUg a2VybmVsIGRyaXZlciBzaG91bGQKPiA+Pj4gPiA+ICsgKiBzZXQgdGhpcyBsaW5rIHN0YXR1cyBw cm9wZXJ0eSB0byAiQkFEIiBhbmQgcHJ1bmUgdGhlIG1vZGUgbGlzdCBiYXNlZCBvbiBuZXcKPiA+ Pj4gPgo+ID4+PiA+IERvZXMgdGhlIG1vZGUgbGlzdCByZWFsbHkgKm5lZWQqIHRvIGJlIHBydW5l ZD8gSW4gdGhlIGNhc2Ugb2YgbmVlZGluZwo+ID4+PiA+IHRvIHJlLXRyYWluIGEgRFAgbGluaywK PiA+Pj4gPiBpdCBzZWVtcyBsaWtlIHdlIHNob3VsZCBiZSBhYmxlIHRvIHNldCB0aGlzIEJBRCBh bmQga2VlcCB0aGUgbW9kZWxpc3QKPiA+Pj4gPiBhcy1pcyAoc2luY2UgdGhlIHNpbmsKPiA+Pj4g PiBoYXNuJ3QgY2hhbmdlZCkKPiA+Pj4KPiA+Pj4gV2VsbCwgaWYgeW91IHBydW5lIGl0IHdpdGgg dGhlIHNhbWUgY29uc3RyYWludHMgYXMgYmVmb3JlLCBubyBhZGRpdGlvbmFsCj4gPj4+IG1vZGVz IHdpbGwgYmUgcmVtb3ZlZCBhbmQgdGhlIHNhbWUgbGlzdCBpcyB0aGVyZS4gUHJ1bmluZyBoZXJl IHJlZmVycyB0bwo+ID4+PiB0aGUgLT5tb2RlX3ZhbGlkIHN0ZXAgYXMgZG9uZSBpbiBlLmcuIGRy bV9oZWxwZXJfcHJvYmVfc2luZ2xlX2Nvbm5lY3Rvcl9tb2Rlcy4KPiA+Pj4KPiA+Pj4gV2UgbWln aHQgd2FudCB0byBiZSBhIGJpdCBtb3JlIGV4cGxpY2l0IGhlcmUgcGVyaGFwcz8gSGF2ZSBzb21l IGdvb2QKPiA+Pj4gcHJvcG9zYWwgdGV4dCB0byBpbnNlcnQ/Cj4gPj4+ID4KPiA+Pgo+ID4+IFNl YW4sIGRvIHlvdSBoYXZlIGFueSByZWNvbW1lbmRhdGlvbnMgb24gdGhlIHRleHQgdGhhdCBjYW4g Z28gaW4gdGhlIGtlcm5lbCBkb2MgZm9yCj4gPj4gdGhpcyBwcm9wZXJ0eSB0byBjbGFyaWZ5IHRo YXQgaXQgZGVwZW5kcyBvbiB0aGUga2VybmVsIGltcGxlbWVudGF0aW9uIHdoZXRoZXIgd2Ugd2Fu dAo+ID4+IHRvIHVzZSB0aGlzIGxpbmstc3RhdHVzIHByb3BlcnR5IHRvIGRvIHRoZSByZXRyYWlu aW5nIG9yIG5vdC4gTGVhdmluZyBpdCBCQUQgYW5kIG5vdCBkb2luZwo+ID4+IGFueXRoaW5nIHdp bGwgYmUgZmluZSB0b28uCj4gPj4KPiA+Cj4gPiBJJ2QgcHJlZmVyIHNvbWV0aGluZyBsaWtlOgo+ ID4KPiA+ICogSW4gdXN1YWwgd29ya2luZyBzY2VuYXJpbywgdGhpcyBsaW5rIHN0YXR1cyBwcm9w ZXJ0eSB3aWxsIGFsd2F5cyBiZSBzZXQgdG8KPiA+ICogIkdPT0QiLiBJZiBzb21ldGhpbmcgZmFp bHMgZHVyaW5nIG9yIGFmdGVyIGEgbW9kZSBzZXQsIHRoZSBkcml2ZXIgbWF5Cj4gPiAqIHNldCB0 aGlzIHByb3BlcnR5IHRvICJCQUQiLiBUaGUgY2FsbGVyIHRoZW4gbmVlZHMgdG8gc2VuZCBhIGhv dHBsdWcgdWV2ZW50Cj4gPiAqIGZvciB1c2Vyc3BhY2UgdG8gcmUtY2hlY2sgdGhlIHZhbGlkIG1v ZGVzIHRocm91Z2ggR0VUX0NPTk5FQ1RPUl9JT0NUTCBhbmQKPiA+ICogcmV0cnkgbW9kZXNldC4K PiA+ICoKPiA+ICogTm90ZTogRHJpdmVycyBjYW4gbm90IHJlbHkgb24gdXNlcnNwYWNlIHRvIHN1 cHBvcnQgdGhpcyBwcm9wZXJ0eSBhbmQKPiA+ICogaXNzdWUgYSBtb2Rlc2V0LiBBcyBzdWNoLCB0 aGV5IG1heSBjaG9vc2UgdG8gaGFuZGxlIGlzc3VlcyAobGlrZSByZS10cmFpbmluZwo+ID4gKiBh IGxpbmspIHdpdGhvdXQgdXNlcnNwYWNlJ3MgaW50ZXJ2ZW50aW9uLgo+ID4KPiA+Cj4gPiBUaGUg ZGlmZmVyZW5jZSBiZWluZyB0aGF0IHdlIGRvbid0IG5lZWQgdG8gbWVudGlvbiBtb2RlcyBzaW5j ZSB0aGF0Cj4gPiB3aWxsIGJlIGhhbmRsZWQgdGhyb3VnaCB0aGUgbm9ybWFsIGF2ZW51ZSBhbmQg d2UgZG9uJ3QgbmVjZXNzYXJpbHkKPiA+IHdhbnQgdG8gcmVtb3ZlIGFueSBtb2RlcyBmcm9tIHRo ZSBsaXN0Lgo+ID4KPiA+IFNlYW4KPiA+Cj4gPgo+ID4+IE1hbmFzaQo+ID4+PiA+ID4gKyAqIGlu Zm9ybWF0aW9uLiBUaGUgY2FsbGVyIHRoZW4gbmVlZHMgdG8gc2VuZCBhIGhvdHBsdWcgdWV2ZW50 IGZvciB1c2Vyc3BhY2UgdG8KPiA+Pj4gPiA+ICsgKiAgcmUtY2hlY2sgdGhlIHZhbGlkIG1vZGVz IHRocm91Z2ggR0VUX0NPTk5FQ1RPUl9JT0NUTCBhbmQgcmV0cnkgbW9kZXNldC4KPiA+Pj4gPgo+ ID4+PiA+IGV4dHJhIHNwYWNlCj4gPj4+ID4KPiA+Pj4gPiA+ICsgKgo+ID4+PiA+ID4gKyAqIE5v dGUgdGhhdCBhIGxvdCBvZiBleGlzdGluZyB1c2Vyc3BhY2UgZG8gbm90IGhhbmRsZSB0aGlzIHBy b3BlcnR5Lgo+ID4+PiA+ID4gKyAqIERyaXZlcnMgY2FuIHRoZXJlZm9yZSBub3QgcmVseSBvbiB1 c2Vyc3BhY2UgdG8gZml4IHVwIGV2ZXJ5dGhpbmcgYW5kCj4gPj4+ID4gPiArICogc2hvdWxkIHRy eSB0byBoYW5kbGUgaXNzdWVzIChsaWtlIGp1c3QgcmUtdHJhaW5pbmcgYSBsaW5rKSB3aXRob3V0 Cj4gPj4+ID4gPiArICogdXNlcnNwYWNlJ3MgaW50ZXJ2ZW50aW9uLiBUaGlzIHNob3VsZCBvbmx5 IGJlIHVzZWQgd2hlbiB0aGUgY3VycmVudCBtb2RlCj4gPj4+ID4gPiArICogZmFpbHMgYW5kIHVz ZXJzcGFjZSBtdXN0IHNlbGVjdCBhIGRpZmZlcmVudCBkaXNwbGF5IG1vZGUuCj4gPj4+ID4KPiA+ Pj4gPiBIbW0sIEkgc3VwcG9zZSB0aGlzIGFuc3dlcnMgbXkgbGFzdCBxdWVzdGlvbi4gSXQncyB0 b28gYmFkIHdlIGNhbid0Cj4gPj4+ID4gcmVseSBvbiB0aGlzLCBzaW5jZSB3ZSdsbAo+ID4+PiA+ IGp1c3QgZW5kIHVwIHdpdGggZWFjaCBkcml2ZXIgcm9sbGluZyB0aGVpciBvd24gcmUtdHJhaW5p bmcgbG9naWMgb24KPiA+Pj4gPiB0b3Agb2YgcG9zc2libHkgc3VwcG9ydGluZwo+ID4+PiA+IHRo aXMgKGJ1dCBwcm9iYWJseSBub3QsIHNpbmNlIGl0J3MgcmVhbGx5IGp1c3Qgb3ZlcmhlYWQpLiBQ ZXJoYXBzIHRoaXMKPiA+Pj4gPiBpcyBhbiBvdmVybHkgcGVzc2ltaXN0aWMKPiA+Pj4gPiB2aWV3 Pwo+ID4+Pgo+ID4+PiBZb3UgY2FuIGZvcmdvIGFueSByZS10cmFpbmluZyBvZiBjb3Vyc2UsIHRo YXQgc2hvdWxkIHdvcmsgdG9vLiBJdCdzIGp1c3QKPiA+Pj4gdGhhdCBEUCBzcGVjIGFuZCBldmVy eW9uZSBlbHNlIHNlZW0gdG8gcmVjb21tZW5kIHRvIGF0IGxlYXN0IGRvIHNvbWUKPiA+Pj4gbWlu aW1hbCBlZmZvcnQgKG9yIG1heWJlIGV2ZW4gdXBmcm9udCBsaW5rIHRyYWluaW5nKSBoZXJlLiBC dXQgdG90YWxseSBub3QKPiA+Pj4gZG9pbmcgYW55dGhpbmcgaWYgdGhlIGxpbmsgaXMgYmFkIHNo b3VsZCBiZSBvayB0b28gKGFuZCBwcm9iYWJseSByZWFsbHkKPiA+Pj4gc2ltcGxlIHRvIGltcGxl bWVudCBmb3IgZHJpdmVycywgbWF5YmUgZXZlbiB3aXRoIGEgZHBfaHBkX2hhbmRsZXIoKSBoZWxw ZXIKPiA+Pj4gZnVuY3Rpb24gd2hpY2ggY2hlY2tzIGxpbmsgc3RhdHVzIGFuZCBzZXQgbGluay1z dGF0dXMgdG8gYmFkJmZpcmVzIG9mZiB0aGUKPiA+Pj4gdWV2ZW50IGlmIG5lZWRlZC4KPiA+Pj4K PiA+Pj4gQWdhaW4sIGRvIHlvdSBoYXZlIHNvbWUgc2FtcGxlIHByb3NlIHRvIGFkZCBoZXJlIHRv IGNsYXJpZnkgdGhpcz8KPiA+Pj4KPiA+Pj4gVGhhbmtzIGZvciB0YWtpbmcgYSBsb29rIGF0IHRo aXMuCj4gPj4+Cj4gPj4+IENoZWVycywgRGFuaWVsCj4gPj4+Cj4gPj4+ID4gPiArICogVGhlIERS TSBkcml2ZXIgY2FuIGNob3NlIHRvIG5vdCBtb2RpZnkgcHJvcGVydHkgYW5kIGtlZXAgbGluayBz dGF0dXMKPiA+Pj4gPiA+ICsgKiBhcyAiR09PRCIgYWx3YXlzIHRvIGtlZXAgdGhlIHVzZXIgZXhw ZXJpZW5jZSBzYW1lIGFzIGl0IGN1cnJlbnRseSBpcy4KPiA+Pj4gPiA+ICsgKgo+ID4+PiA+ID4g KyAqIFRoZSByZWFzb24gZm9yIGFkZGluZyB0aGlzIHByb3BlcnR5IGlzIHRvIGhhbmRsZSBsaW5r IHRyYWluaW5nIGZhaWx1cmVzLCBidXQKPiA+Pj4gPiA+ICsgKiBpdCBpcyBub3QgbGltaXRlZCB0 byBEUCBvciBsaW5rIHRyYWluaW5nLiBGb3IgZXhhbXBsZSwgaWYgd2UgaW1wbGVtZW50Cj4gPj4+ ID4gPiArICogYXN5bmNocm9ub3VzIHNldGNydGMsIHRoaXMgcHJvcGVydHkgY2FuIGJlIHVzZWQg dG8gcmVwb3J0IGFueSBmYWlsdXJlcyBpbiB0aGF0Lgo+ID4+PiA+ID4gKyAqLwo+ID4+PiA+ID4g K3ZvaWQgZHJtX21vZGVfY29ubmVjdG9yX3NldF9saW5rX3N0YXR1c19wcm9wZXJ0eShzdHJ1Y3Qg ZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ID4+PiA+ID4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90IGxpbmtfc3RhdHVzKQo+ID4+PiA+ ID4gK3sKPiA+Pj4gPiA+ICsgICAgICAgc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNvbm5lY3Rv ci0+ZGV2Owo+ID4+PiA+ID4gKwo+ID4+PiA+ID4gKyAgICAgICAvKiBNYWtlIHN1cmUgdGhlIG11 dGV4IGlzIGdyYWJiZWQgKi8KPiA+Pj4gPiA+ICsgICAgICAgbG9ja2RlcF9hc3NlcnRfaGVsZCgm ZGV2LT5tb2RlX2NvbmZpZy5tdXRleCk7Cj4gPj4+ID4gPiArICAgICAgIGNvbm5lY3Rvci0+bGlu a19zdGF0dXMgPSBsaW5rX3N0YXR1czsKPiA+Pj4gPiA+ICsgICAgICAgZHJtX29iamVjdF9wcm9w ZXJ0eV9zZXRfdmFsdWUoJmNvbm5lY3Rvci0+YmFzZSwKPiA+Pj4gPiA+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZGV2LT5tb2RlX2NvbmZpZy5saW5rX3N0YXR1c19wcm9w ZXJ0eSwKPiA+Pj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlu a19zdGF0dXMpOwo+ID4+PiA+ID4gK30KPiA+Pj4gPiA+ICtFWFBPUlRfU1lNQk9MKGRybV9tb2Rl X2Nvbm5lY3Rvcl9zZXRfbGlua19zdGF0dXNfcHJvcGVydHkpOwo+ID4+PiA+ID4gKwo+ID4+PiA+ ID4gIGludCBkcm1fbW9kZV9jb25uZWN0b3Jfc2V0X29ial9wcm9wKHN0cnVjdCBkcm1fbW9kZV9v YmplY3QgKm9iaiwKPiA+Pj4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3BlcnR5LAo+ID4+PiA+ID4gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdWludDY0X3QgdmFsdWUpCj4gPj4+ID4gPiBkaWZmIC0tZ2l0 IGEvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oIGIvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rv ci5oCj4gPj4+ID4gPiBpbmRleCAzNGY5NzQxLi4zZDUxM2FiIDEwMDY0NAo+ID4+PiA+ID4gLS0t IGEvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oCj4gPj4+ID4gPiArKysgYi9pbmNsdWRlL2Ry bS9kcm1fY29ubmVjdG9yLmgKPiA+Pj4gPiA+IEBAIC0yMTMsNiArMjEzLDkgQEAgc3RydWN0IGRy bV9jb25uZWN0b3Jfc3RhdGUgewo+ID4+PiA+ID4KPiA+Pj4gPiA+ICAgICAgICAgc3RydWN0IGRy bV9lbmNvZGVyICpiZXN0X2VuY29kZXI7Cj4gPj4+ID4gPgo+ID4+PiA+ID4gKyAgICAgICAvKiBD b25uZWN0b3IgTGluayBzdGF0dXMgKi8KPiA+Pj4gPiA+ICsgICAgICAgdW5zaWduZWQgaW50IGxp bmtfc3RhdHVzOwo+ID4+PiA+ID4gKwo+ID4+PiA+ID4gICAgICAgICBzdHJ1Y3QgZHJtX2F0b21p Y19zdGF0ZSAqc3RhdGU7Cj4gPj4+ID4gPiAgfTsKPiA+Pj4gPiA+Cj4gPj4+ID4gPiBAQCAtNjk1 LDYgKzY5OCwxMiBAQCBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciB7Cj4gPj4+ID4gPiAgICAgICAgIHVp bnQ4X3QgbnVtX2hfdGlsZSwgbnVtX3ZfdGlsZTsKPiA+Pj4gPiA+ICAgICAgICAgdWludDhfdCB0 aWxlX2hfbG9jLCB0aWxlX3ZfbG9jOwo+ID4+PiA+ID4gICAgICAgICB1aW50MTZfdCB0aWxlX2hf c2l6ZSwgdGlsZV92X3NpemU7Cj4gPj4+ID4gPiArCj4gPj4+ID4gPiArICAgICAgIC8qIENvbm5l Y3RvciBMaW5rIHN0YXR1cwo+ID4+PiA+ID4gKyAgICAgICAgKiAwOiBJZiB0aGUgbGluayBpcyBH b29kCj4gPj4+ID4gPiArICAgICAgICAqIDE6IElmIHRoZSBsaW5rIGlzIEJhZAo+ID4+PiA+ID4g KyAgICAgICAgKi8KPiA+Pj4gPiA+ICsgICAgICAgaW50IGxpbmtfc3RhdHVzOwo+ID4+PiA+ID4g IH07Cj4gPj4+ID4gPgo+ID4+PiA+ID4gICNkZWZpbmUgb2JqX3RvX2Nvbm5lY3Rvcih4KSBjb250 YWluZXJfb2YoeCwgc3RydWN0IGRybV9jb25uZWN0b3IsIGJhc2UpCj4gPj4+ID4gPiBAQCAtNzY3 LDEyICs3NzYsMTMgQEAgaW50IGRybV9tb2RlX2NyZWF0ZV90dl9wcm9wZXJ0aWVzKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsCj4gPj4+ID4gPiAgaW50IGRybV9tb2RlX2NyZWF0ZV9zY2FsaW5nX21v ZGVfcHJvcGVydHkoc3RydWN0IGRybV9kZXZpY2UgKmRldik7Cj4gPj4+ID4gPiAgaW50IGRybV9t b2RlX2NyZWF0ZV9hc3BlY3RfcmF0aW9fcHJvcGVydHkoc3RydWN0IGRybV9kZXZpY2UgKmRldik7 Cj4gPj4+ID4gPiAgaW50IGRybV9tb2RlX2NyZWF0ZV9zdWdnZXN0ZWRfb2Zmc2V0X3Byb3BlcnRp ZXMoc3RydWN0IGRybV9kZXZpY2UgKmRldik7Cj4gPj4+ID4gPiAtCj4gPj4+ID4KPiA+Pj4gPiBs b3N0IGEgbGluZSBoZXJlCj4gPj4+ID4KPiA+Pj4gPiA+ICBpbnQgZHJtX21vZGVfY29ubmVjdG9y X3NldF9wYXRoX3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gPj4+ ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIg KnBhdGgpOwo+ID4+PiA+ID4gIGludCBkcm1fbW9kZV9jb25uZWN0b3Jfc2V0X3RpbGVfcHJvcGVy dHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rvcik7Cj4gPj4+ID4gPiAgaW50IGRybV9t b2RlX2Nvbm5lY3Rvcl91cGRhdGVfZWRpZF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAq Y29ubmVjdG9yLAo+ID4+PiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjb25zdCBzdHJ1Y3QgZWRpZCAqZWRpZCk7Cj4gPj4+ID4gPiArdm9pZCBkcm1fbW9k ZV9jb25uZWN0b3Jfc2V0X2xpbmtfc3RhdHVzX3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVjdG9y ICpjb25uZWN0b3IsCj4gPj4+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdWludDY0X3QgbGlua19zdGF0dXMpOwo+ID4+PiA+ID4KPiA+Pj4gPiA+ ICAvKioKPiA+Pj4gPiA+ICAgKiBzdHJ1Y3QgZHJtX3RpbGVfZ3JvdXAgLSBUaWxlIGdyb3VwIG1l dGFkYXRhCj4gPj4+ID4gPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX21vZGVfY29uZmln LmggYi9pbmNsdWRlL2RybS9kcm1fbW9kZV9jb25maWcuaAo+ID4+PiA+ID4gaW5kZXggYmY5OTkx Yi4uODZmYWVlNCAxMDA2NDQKPiA+Pj4gPiA+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9tb2RlX2Nv bmZpZy5oCj4gPj4+ID4gPiArKysgYi9pbmNsdWRlL2RybS9kcm1fbW9kZV9jb25maWcuaAo+ID4+ PiA+ID4gQEAgLTQzMSw2ICs0MzEsMTEgQEAgc3RydWN0IGRybV9tb2RlX2NvbmZpZyB7Cj4gPj4+ ID4gPiAgICAgICAgICAqLwo+ID4+PiA+ID4gICAgICAgICBzdHJ1Y3QgZHJtX3Byb3BlcnR5ICp0 aWxlX3Byb3BlcnR5Owo+ID4+PiA+ID4gICAgICAgICAvKioKPiA+Pj4gPiA+ICsgICAgICAgICog QGxpbmtfc3RhdHVzX3Byb3BlcnR5OiBEZWZhdWx0IGNvbm5lY3RvciBwcm9wZXJ0eSBmb3IgbGlu ayBzdGF0dXMKPiA+Pj4gPiA+ICsgICAgICAgICogb2YgYSBjb25uZWN0b3IKPiA+Pj4gPiA+ICsg ICAgICAgICovCj4gPj4+ID4gPiArICAgICAgIHN0cnVjdCBkcm1fcHJvcGVydHkgKmxpbmtfc3Rh dHVzX3Byb3BlcnR5Owo+ID4+PiA+ID4gKyAgICAgICAvKioKPiA+Pj4gPiA+ICAgICAgICAgICog QHBsYW5lX3R5cGVfcHJvcGVydHk6IERlZmF1bHQgcGxhbmUgcHJvcGVydHkgdG8gZGlmZmVyZW50 aWF0ZQo+ID4+PiA+ID4gICAgICAgICAgKiBDVVJTT1IsIFBSSU1BUlkgYW5kIE9WRVJMQVkgbGVn YWN5IHVzZXMgb2YgcGxhbmVzLgo+ID4+PiA+ID4gICAgICAgICAgKi8KPiA+Pj4gPiA+IGRpZmYg LS1naXQgYS9pbmNsdWRlL3VhcGkvZHJtL2RybV9tb2RlLmggYi9pbmNsdWRlL3VhcGkvZHJtL2Ry bV9tb2RlLmgKPiA+Pj4gPiA+IGluZGV4IDcyODc5MGIuLjMwOWM0NzggMTAwNjQ0Cj4gPj4+ID4g PiAtLS0gYS9pbmNsdWRlL3VhcGkvZHJtL2RybV9tb2RlLmgKPiA+Pj4gPiA+ICsrKyBiL2luY2x1 ZGUvdWFwaS9kcm0vZHJtX21vZGUuaAo+ID4+PiA+ID4gQEAgLTEyMyw2ICsxMjMsMTAgQEAKPiA+ Pj4gPiA+ICAjZGVmaW5lIERSTV9NT0RFX0RJUlRZX09OICAgICAgIDEKPiA+Pj4gPiA+ICAjZGVm aW5lIERSTV9NT0RFX0RJUlRZX0FOTk9UQVRFIDIKPiA+Pj4gPiA+Cj4gPj4+ID4gPiArLyogTGlu ayBTdGF0dXMgb3B0aW9ucyAqLwo+ID4+PiA+ID4gKyNkZWZpbmUgRFJNX01PREVfTElOS19TVEFU VVNfR09PRCAgICAgIDAKPiA+Pj4gPiA+ICsjZGVmaW5lIERSTV9NT0RFX0xJTktfU1RBVFVTX0JB RCAgICAgICAxCj4gPj4+ID4gPiArCj4gPj4+ID4gPiAgc3RydWN0IGRybV9tb2RlX21vZGVpbmZv IHsKPiA+Pj4gPiA+ICAgICAgICAgX191MzIgY2xvY2s7Cj4gPj4+ID4gPiAgICAgICAgIF9fdTE2 IGhkaXNwbGF5Owo+ID4+PiA+ID4gLS0KPiA+Pj4gPiA+IDEuOS4xCj4gPj4+ID4gPgo+ID4+PiA+ ID4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiA+Pj4g PiA+IGRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKPiA+Pj4gPiA+IGRyaS1kZXZlbEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKPiA+Pj4gPiA+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vZHJpLWRldmVsCj4gPj4+ID4gX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KPiA+Pj4gPiBkcmktZGV2ZWwgbWFpbGluZyBsaXN0Cj4gPj4+ ID4gZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+ID4+PiA+IGh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCj4gPj4+Cj4gPj4+IC0t Cj4gPj4+IERhbmllbCBWZXR0ZXIKPiA+Pj4gU29mdHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBv cmF0aW9uCj4gPj4+IGh0dHA6Ly9ibG9nLmZmd2xsLmNoCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVs QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=