From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Sharma, Shashank" Subject: Re: [PATCH v5 09/17] drm: create hdmi output property Date: Wed, 5 Jul 2017 12:11:43 +0530 Message-ID: <3fde1d2d-1578-3e16-2bd7-71895f26fe08@intel.com> References: <1499177524-26292-1-git-send-email-shashank.sharma@intel.com> <1499177524-26292-10-git-send-email-shashank.sharma@intel.com> <20170704153627.wapxm6tjp4m6vkxc@phenom.ffwll.local> <3eeb3546-7cc0-77eb-cc82-6e30a5d66047@intel.com> <20170705063156.ckqmyy45546bf4du@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170705063156.ckqmyy45546bf4du@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniel Vetter Cc: Daniel Vetter , intel-gfx@lists.freedesktop.org, Jose Abreu , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org UmVnYXJkcwoKU2hhc2hhbmsKCgpPbiA3LzUvMjAxNyAxMjowMSBQTSwgRGFuaWVsIFZldHRlciB3 cm90ZToKPiBPbiBXZWQsIEp1bCAwNSwgMjAxNyBhdCAxMTozOTozMEFNICswNTMwLCBTaGFybWEs IFNoYXNoYW5rIHdyb3RlOgo+PiBSZWdhcmRzCj4+Cj4+IFNoYXNoYW5rCj4+Cj4+Cj4+IE9uIDcv NC8yMDE3IDk6MDYgUE0sIERhbmllbCBWZXR0ZXIgd3JvdGU6Cj4+PiBPbiBUdWUsIEp1bCAwNCwg MjAxNyBhdCAwNzo0MTo1NlBNICswNTMwLCBTaGFzaGFuayBTaGFybWEgd3JvdGU6Cj4+Pj4gSERN SSBkaXNwbGF5cyBjYW4gc3VwcG9ydCB2YXJpb3VzIG91dHB1dCB0eXBlcywgYmFzZWQgb24KPj4+ PiB0aGUgY29sb3Igc3BhY2UgYW5kIHN1YnNhbXBsaW5nIHR5cGUuIFRoZSBwb3NzaWJsZQo+Pj4+ IG91dHB1dHMgZnJvbSBhIEhETUkgMi4wIG1vbml0b3IgY291bGQgYmU6Cj4+Pj4gICAgLSBSR0IK Pj4+PiAgICAtIFlDQkNSIDQ0NAo+Pj4+ICAgIC0gWUNCQ1IgNDIyCj4+Pj4gICAgLSBZQ0JDUiA0 MjAKPj4+Pgo+Pj4+IFRoaXMgcGF0Y2ggYWRkcyBhIGRybSBwcm9wZXJ0eSAiaGRtaV9vdXRwdXRf Zm9ybWF0IiwgdXNpbmcgd2hpY2gsCj4+Pj4gYSB1c2VyIGNhbiBzcGVjaWZ5IGl0cyBwcmVmZXJl bmNlLCBmb3IgdGhlIEhETUkgb3V0cHV0IHR5cGUuIFRoZQo+Pj4+IG91dHB1dCB0eXBlIGVudW1z IGFyZSBzaW1pbGFyIHRvIHRoZSBtZW50aW9uZWQgb3V0cHV0cyBhYm92ZS4gVG8KPj4+PiBoYW5k bGUgdmFyaW91cyBzdWJzYW1wbGluZyBvZiBZQ0JDUiBvdXRwdXQgdHlwZXMsIHRoaXMgcHJvcGVy dHkKPj4+PiBhbGxvd3MgdHdvIHNwZWNpYWwgY2FzZXM6Cj4+Pj4gICAgLSBEUk1fSERNSV9PVVRQ VVRfWUNCQ1JfSFEKPj4+PiAgICAgIFRoaXMgaW5kaWNhdGVzIHByZWZlcnJlZCBvdXRwdXQgc2hv dWxkIGJlIFlDQkNSIG91dHB1dCwgd2l0aCBoaWdoZXN0Cj4+Pj4gICAgICBzdWJzYW1wbGluZyBy YXRlIGJ5IHRoZSBzb3VyY2Uvc2luaywgd2hpY2ggY2FuIGJlIHR5cGljYWxseToKPj4+PiAgICAJ LSB5Y2JjcjQ0NAo+Pj4+ICAgIAktIHljYmNyNDIyCj4+Pj4gICAgCS0geWNiY3I0MjAKPj4+PiAg ICAtIERSTV9IRE1JX09VVFBVVF9ZQ0JDUl9MUQo+Pj4+ICAgICAgVGhpcyBpbmRpY2F0ZXMgcHJl ZmVycmVkIG91dHB1dCBzaG91bGQgYmUgWUNCQ1Igb3V0cHV0LCB3aXRoIGxvd2VzdAo+Pj4+ICAg ICAgc3Vic2FtcGxpbmcgcmF0ZSBzdXBwb3J0ZWQgYnkgc291cmNlL3NpbmssIHdoaWNoIGNhbiBi ZToKPj4+PiAgICAJLSB5Y2JjcjQyMAo+Pj4+ICAgIAktIHljYmNyNDIyCj4+Pj4gICAgCS0geWNi Y3I0NDQKPj4+Pgo+Pj4+IERlZmF1bHQgdmFsdWUgb2YgdGhlIHByb3BlcnR5IGlzIHNldCB0byAw ID0gUkdCLCBzbyBubyBjaGFuZ2VzIGlmIHlvdQo+Pj4+IGRvbnQgc2V0IHRoZSBwcm9wZXJ0eS4K Pj4+Pgo+Pj4+IFBTOiBXaGlsZSBkb2luZyBtb2Rlc2V0IGZvciBZQ0JDUiA0MjAgb25seSBtb2Rl cywgdGhpcyBwcm9wZXJ0eSBpcwo+Pj4+ICAgICAgIGlnbm9yZWQsIGFzIHRob3NlIHRpbWluZ3Mg Y2FuIGJlIHN1cHBvcnRlZCBvbmx5IGluIFlDQkNSIDQyMAo+Pj4+ICAgICAgIG91dHB1dCBtb2Rl Lgo+Pj4+Cj4+Pj4gVjI6IEFkZGVkIGRlc2NyaXB0aW9uIGZvciB0aGUgbmV3IHZhcmlhYmxlIHRv IGFkZHJlc3MgYnVpbGQgd2FybmluZwo+Pj4+IFYzOiBSZWJhc2UKPj4+PiBWNDogUmViYXNlCj4+ Pj4gVjU6IEFkZGVkIGdldF9wcm9wZXJ0eSBjb3VudGVycGFydCB0byBmaXggSUdUIEJBVCBmYWls dXJlcyAoQkFUL0NJKQo+Pj4+ICAgICAgIERhbnZldDoKPj4+PiAgICAgICAtIEFkZCBkb2N1bWVu dGF0aW9uIGZvciB0aGUgbmV3IHByb3BlcnR5Cj4+Pj4gICAgICAgLSBDcmVhdGUgYSBzdWItc2Vj dGlvbiBmb3IgSERNSSBwcm9wZXJ0aWVzLCBhbmQgYWRkIGRvY3VtZW50YXRpb24gZm9yCj4+Pj4g ICAgICAgICBmZXcgbW9yZSBIRE1JIHByb3BldGllcy4gQWRkZWQgZG9jdW1lbnRhdGlvbiBmb3I6 Cj4+Pj4gCS0gQnJvYWRjYXN0IFJHQgo+Pj4+IAktIGFzcGVjdCByYXRpbwo+Pj4+Cj4+Pj4gQ2M6 IFZpbGxlIFN5cmphbGEgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+Pj4+IENjOiBK b3NlIEFicmV1IDxqb2FicmV1QHN5bm9wc3lzLmNvbT4KPj4+PiBDYzogRGFuaWVsIFZldHRlciA8 ZGFuaWVsLnZldHRlckBpbnRlbC5jb20+Cj4+Pj4gU2lnbmVkLW9mZi1ieTogU2hhc2hhbmsgU2hh cm1hIDxzaGFzaGFuay5zaGFybWFAaW50ZWwuY29tPgo+Pj4gQnVuY2ggbW9yZSBkb2N1bWVudGF0 aW9uIG5pdHBpY2tzIGJlbG93LiBJJ2QgcGVyc29uYWxseSBhbHNvIHNwbGl0IHVwIHRoZQo+Pj4g cGF0Y2ggaW50byBkb2N1bWVudGluZyB0aGUgZXhpc3RpbmcgcHJvcHMgYW5kIGFkZGluZyB0aGUg bmV3IGZvcm1hdCBvbmUuCj4+IEluIGZhY3QgdGhhdHMgd2hhdCBJIHdvdWxkIGRvIG5vdy4gSSBk b250IHdhbnQgSERNSSAyLjAgcGF0Y2ggc2VyaWVzIHRvIGdldAo+PiBibG9ja2VkIGR1ZSB0byBk b2N1bWVudGF0aW9uLCBhcyB3aXRoIGFsbCB0aGUgY29tbWVudHMKPj4gaXQgc2VlbXMgbGlrZSBz b21lIHdvcmsuIExldHMgZG8gaXQgaW4gdGhpcyB3YXk6Cj4+ICAgLSBUaGlzIHBhdGNoIHNlcmll cyB3aWxsIGFkZCB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgaGRtaV9vdXRwdXRfcHJvcGVydHkKPj4g LSBJIHdpbGwgc2VuZCBhIHNlcGFyYXRlIHBhdGNoIHdoaWNoIHdpbGwgY29sbGVjdGl2ZWx5IGFk ZCBkb2N1bWVudGF0aW9uIGZvcgo+PiBhbGwgc3RhbmRhcmQgSERNSSBwcm9wZXJ0aWVzLgo+Pj4g VGhhbmtzLCBEYW5pZWwKPj4+Cj4+Pj4gLS0tCj4+Pj4gICAgRG9jdW1lbnRhdGlvbi9ncHUvZHJt LWttcy5yc3QgICAgICAgfCAxMiArKysrKysrCj4+Pj4gICAgZHJpdmVycy9ncHUvZHJtL2RybV9h dG9taWMuYyAgICAgICAgfCAgNCArKysKPj4+PiAgICBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21p Y19oZWxwZXIuYyB8ICA0ICsrKwo+Pj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9y LmMgICAgIHwgNjkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQo+Pj4+ICAg IGRyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Y19pbnRlcm5hbC5oIHwgIDEgKwo+Pj4+ICAgIGRyaXZl cnMvZ3B1L2RybS9kcm1fbW9kZV9jb25maWcuYyAgIHwgIDQgKysrCj4+Pj4gICAgZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfbW9kZXMuYyAgfCAxMyArKysrKysrCj4+Pj4gICAgaW5jbHVkZS9k cm0vZHJtX2Nvbm5lY3Rvci5oICAgICAgICAgfCAxOCArKysrKysrKysrCj4+Pj4gICAgaW5jbHVk ZS9kcm0vZHJtX21vZGVfY29uZmlnLmggICAgICAgfCAgNSArKysKPj4+PiAgICA5IGZpbGVzIGNo YW5nZWQsIDEyOSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCj4+Pj4KPj4+PiBkaWZmIC0t Z2l0IGEvRG9jdW1lbnRhdGlvbi9ncHUvZHJtLWttcy5yc3QgYi9Eb2N1bWVudGF0aW9uL2dwdS9k cm0ta21zLnJzdAo+Pj4+IGluZGV4IDMwNzI4NDEuLmRjZGQ2ZmYgMTAwNjQ0Cj4+Pj4gLS0tIGEv RG9jdW1lbnRhdGlvbi9ncHUvZHJtLWttcy5yc3QKPj4+PiArKysgYi9Eb2N1bWVudGF0aW9uL2dw dS9kcm0ta21zLnJzdAo+Pj4+IEBAIC01MDgsNiArNTA4LDE4IEBAIFN0YW5kYXJkIENvbm5lY3Rv ciBQcm9wZXJ0aWVzCj4+Pj4gICAgLi4ga2VybmVsLWRvYzo6IGRyaXZlcnMvZ3B1L2RybS9kcm1f Y29ubmVjdG9yLmMKPj4+PiAgICAgICA6ZG9jOiBzdGFuZGFyZCBjb25uZWN0b3IgcHJvcGVydGll cwo+Pj4+ICtTdGFuZGFyZCBIRE1JIFByb3BlcnRpZXMKPj4+PiArLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KPj4+PiArCj4+Pj4gKy4uIGtlcm5lbC1kb2M6OiBkcml2ZXJzL2dwdS9kcm0v ZHJtX2Nvbm5lY3Rvci5jCj4+Pj4gKyAgIDpkb2M6IGhkbWlfb3V0cHV0X2Zvcm1hdAo+Pj4+ICsK Pj4+PiArLi4ga2VybmVsLWRvYzo6IGRyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMKPj4+ PiArICAgOmRvYzogYXNwZWN0IHJhdGlvIHByb3BlcnR5Cj4+PiBJJ2QgaGF2ZSBqdXN0IGNyZWF0 ZWQgMSBET0M6IHNlY3Rpb24gdGl0bGVkICJzdGFuZGFyZCBIRE1JIHByb3BlcnRpZXMiIGFuZAo+ Pj4gbGlzdGVkIGFsbCBvZiB0aGVtIGluIDEgY29tbWVudCBibG9jay4gUGVvcGxlIG9mdGVuIGZv cmdldCB0byBhZGQgdGhlCj4+PiBpbmNsdWRlIHN0YW56YSBpbiB0aGUgLnJzdCBmaWxlcywgaGF2 aW5nIGJpZ2dlciBjb21tZW50cyBoZWxwcyB3aXRoIHRoYXQuCj4+Pgo+Pj4gQnV0IGZlZWwgZnJl ZSB0byBnbyBlaXRoZXIgd2F5Lgo+PiBZZXMsIHRoaXMgd291bGQgYmUgZWFzaWVyIGZvciBtZSB0 b28sIGJ1dCB0aGlzIG1lYW5zIEkgd2lsbCBoYXZlIHRvIGFkZCBhbGwKPj4gdGhlIGRvY3VtZW50 YXRpb24gaW4gb25lIHBsYWNlLCBpbiBvbmUgZmlsZSwgd2hldGhlciB0aGUgcmVzcGVjdGl2ZQo+ PiBwcm9wZXJ0eSBpcyBjcmVhdGVkIGF0IHRoYXQgcGxhY2Ugb3Igbm90LiBJIGFtIG5vdCBzdXJl IGlmIGV2ZXJ5b25lIHdvdWxkIGJlCj4+IG9rIHdpdGggdGhhdCBkdXJpbmcgcmV2aWV3LiBCdXQg aWYgeW91IHRoaW5rIHdlIHNob3VsZCBnbyBhaGVhZCwKPj4gdGhhbmtzIGZvciBlYXNpbmcgdGhp cyB1cCBmb3IgbWUgOi0pLgo+IEl0IG1pZ2h0IHJlc3VsdCBpbiBhIG1pbm9yIG1lcmdlIGNvbmZs aWN0LCBidXQgbm90aGluZyBiYWQgc2hvdWxkIGhhcHBlbgo+IGlmIHdlIHB1dCBhbGwgdGhlIGRv Y3MgaW50byBvbmUgc2VjdGlvbi4KR290IGl0LCBzbyB0aGUgY2xlYW51cCBwYXRjaCB3aWxsIGhh dmUgZG9jIGZvciBhbGwgRFJNIGxldmVsIEhETUkgCnByb3BlcnR5IGluIG9uZSBwbGFjZSAhCj4+ Pj4gKy4uIGtlcm5lbC1kb2M6OiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9tb2Rlcy5jCj4+ Pj4gKyAgIDpkb2M6IEJyb2FkY2FzdCBSR0IgcHJvcGVydHkKPj4+IFBsZWFzZSBubyBnZW5lcmlj IHByb3BlcnRpZXMgZG9jdW1lbnRlZCBpbiBkcml2ZXIgY29kZS4KPj4gQnJvYWRjYXN0IFJHQiBw cm9wZXJ0eSBpcyBjcmVhdGVkIGhlcmUsIGFuZCBhbHNvLCB3aGlsZSBJIHdhcyBhZGRpbmcKPj4g ZG9jdW1lbnRhdGlvbiBmb3IgaXQsIEkgcmVhbGl6ZWQgaXRzIGtlcHQgaW4gZGV2X3ByaXYsIHdo aWNoIGlzIHNwZWNpZmljIHRvCj4+IEk5MTUgZHJpdmVyLCBTbyBpdHMgbm90IGdlbmVyaWMgdG9v LiBJIHdhcyBub3Qgc3VyZSBpZiB0aGF0IHdpbGwgYmUgT0ssIGlmIEkKPj4gYWRkIGFuIEludGVs IHNwZWNpZmljIHByb3BlcnR5J3MgZGVzY3JpcHRpb24gaW4gRFJNIGxheWVyID8KPiBJdCBzaG91 bGQgYmUgZ2VuZXJpYywgYnV0IG9oIHdlbGwgaXQgaXNuJ3QuIEVpdGhlciBkb2N1bWVudCBpdCBp biB0aGUKPiBjb3JlLCBvciB3ZSdsbCBsZWF2ZSB0aGlzIHRvIHRoZSBmdXR1cmUgd2hlbiB0aGUg Y3JlYXRlIGhlbHBlciBnZXRzCj4gZXh0cmFjdGVkIHRvIHRoZSBjb3JlLgo+Cj4+Pj4gKwo+Pj4+ ICAgIFBsYW5lIENvbXBvc2l0aW9uIFByb3BlcnRpZXMKPj4+PiAgICAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCj4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWlj LmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCj4+Pj4gaW5kZXggMDljYTY2Mi4uYWRj Yjg5ZCAxMDA2NDQKPj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCj4+Pj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwo+Pj4+IEBAIC0xMTkyLDYgKzExOTIs OCBAQCBpbnQgZHJtX2F0b21pY19jb25uZWN0b3Jfc2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fY29u bmVjdG9yICpjb25uZWN0b3IsCj4+Pj4gICAgCQlzdGF0ZS0+cGljdHVyZV9hc3BlY3RfcmF0aW8g PSB2YWw7Cj4+Pj4gICAgCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29ubmVjdG9yLT5zY2FsaW5n X21vZGVfcHJvcGVydHkpIHsKPj4+PiAgICAJCXN0YXRlLT5zY2FsaW5nX21vZGUgPSB2YWw7Cj4+ Pj4gKwl9IGVsc2UgaWYgKHByb3BlcnR5ID09IGNvbmZpZy0+aGRtaV9vdXRwdXRfcHJvcGVydHkp IHsKPj4+PiArCQlzdGF0ZS0+aGRtaV9vdXRwdXQgPSB2YWw7Cj4+Pj4gICAgCX0gZWxzZSBpZiAo Y29ubmVjdG9yLT5mdW5jcy0+YXRvbWljX3NldF9wcm9wZXJ0eSkgewo+Pj4+ICAgIAkJcmV0dXJu IGNvbm5lY3Rvci0+ZnVuY3MtPmF0b21pY19zZXRfcHJvcGVydHkoY29ubmVjdG9yLAo+Pj4+ICAg IAkJCQlzdGF0ZSwgcHJvcGVydHksIHZhbCk7Cj4+Pj4gQEAgLTEyNzIsNiArMTI3NCw4IEBAIGRy bV9hdG9taWNfY29ubmVjdG9yX2dldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29u bmVjdG9yLAo+Pj4+ICAgIAkJKnZhbCA9IHN0YXRlLT5waWN0dXJlX2FzcGVjdF9yYXRpbzsKPj4+ PiAgICAJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25uZWN0b3ItPnNjYWxpbmdfbW9kZV9wcm9w ZXJ0eSkgewo+Pj4+ICAgIAkJKnZhbCA9IHN0YXRlLT5zY2FsaW5nX21vZGU7Cj4+Pj4gKwl9IGVs c2UgaWYgKHByb3BlcnR5ID09IGNvbmZpZy0+aGRtaV9vdXRwdXRfcHJvcGVydHkpIHsKPj4+PiAr CQkqdmFsID0gc3RhdGUtPmhkbWlfb3V0cHV0Owo+Pj4+ICAgIAl9IGVsc2UgaWYgKGNvbm5lY3Rv ci0+ZnVuY3MtPmF0b21pY19nZXRfcHJvcGVydHkpIHsKPj4+PiAgICAJCXJldHVybiBjb25uZWN0 b3ItPmZ1bmNzLT5hdG9taWNfZ2V0X3Byb3BlcnR5KGNvbm5lY3RvciwKPj4+PiAgICAJCQkJc3Rh dGUsIHByb3BlcnR5LCB2YWwpOwo+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJt X2F0b21pY19oZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCj4+ Pj4gaW5kZXggMjNlNDY2MS4uMmU3NDU5ZiAxMDA2NDQKPj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vZHJtX2F0b21pY19oZWxwZXIuYwo+Pj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRv bWljX2hlbHBlci5jCj4+Pj4gQEAgLTYzNyw2ICs2MzcsMTAgQEAgZHJtX2F0b21pY19oZWxwZXJf Y2hlY2tfbW9kZXNldChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+Pj4+ICAgIAkJCWlmIChvbGRf Y29ubmVjdG9yX3N0YXRlLT5saW5rX3N0YXR1cyAhPQo+Pj4+ICAgIAkJCSAgICBuZXdfY29ubmVj dG9yX3N0YXRlLT5saW5rX3N0YXR1cykKPj4+PiAgICAJCQkJbmV3X2NydGNfc3RhdGUtPmNvbm5l Y3RvcnNfY2hhbmdlZCA9IHRydWU7Cj4+Pj4gKwo+Pj4+ICsJCQlpZiAob2xkX2Nvbm5lY3Rvcl9z dGF0ZS0+aGRtaV9vdXRwdXQgIT0KPj4+PiArCQkJICAgIG5ld19jb25uZWN0b3Jfc3RhdGUtPmhk bWlfb3V0cHV0KQo+Pj4+ICsJCQkJbmV3X2NydGNfc3RhdGUtPmNvbm5lY3RvcnNfY2hhbmdlZCA9 IHRydWU7Cj4+Pj4gICAgCQl9Cj4+Pj4gICAgCQlpZiAoZnVuY3MtPmF0b21pY19jaGVjaykKPj4+ PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYyBiL2RyaXZlcnMv Z3B1L2RybS9kcm1fY29ubmVjdG9yLmMKPj4+PiBpbmRleCA4MDcyZTZlLi44MzU3OTE4IDEwMDY0 NAo+Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMKPj4+PiArKysgYi9k cml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jCj4+Pj4gQEAgLTIyNyw2ICsyMjcsMTEgQEAg aW50IGRybV9jb25uZWN0b3JfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+Pj4+ICAgIAkJ CQkJICAgICAgY29uZmlnLT5lZGlkX3Byb3BlcnR5LAo+Pj4+ICAgIAkJCQkJICAgICAgMCk7Cj4+ Pj4gKwlpZiAoY29ubmVjdG9yX3R5cGUgIT0gRFJNX01PREVfQ09OTkVDVE9SX1ZJUlRVQUwpCj4+ Pj4gKwkJZHJtX29iamVjdF9hdHRhY2hfcHJvcGVydHkoJmNvbm5lY3Rvci0+YmFzZSwKPj4+PiAr CQkJCQkgICBjb25maWctPmhkbWlfb3V0cHV0X3Byb3BlcnR5LAo+Pj4+ICsJCQkJCSAgIDApOwo+ Pj4+ICsKPj4+PiAgICAJZHJtX29iamVjdF9hdHRhY2hfcHJvcGVydHkoJmNvbm5lY3Rvci0+YmFz ZSwKPj4+PiAgICAJCQkJICAgICAgY29uZmlnLT5kcG1zX3Byb3BlcnR5LCAwKTsKPj4+PiBAQCAt NjE3LDYgKzYyMiwyNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9wcm9wX2VudW1fbGlzdCBk cm1fbGlua19zdGF0dXNfZW51bV9saXN0W10gPSB7Cj4+Pj4gICAgfTsKPj4+PiAgICBEUk1fRU5V TV9OQU1FX0ZOKGRybV9nZXRfbGlua19zdGF0dXNfbmFtZSwgZHJtX2xpbmtfc3RhdHVzX2VudW1f bGlzdCkKPj4+PiArc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fcHJvcF9lbnVtX2xpc3QgZHJtX2hk bWlfb3V0cHV0X2VudW1fbGlzdFtdID0gewo+Pj4+ICsJeyBEUk1fSERNSV9PVVRQVVRfREVGQVVM VF9SR0IsICJvdXRwdXRfcmdiIiB9LAo+Pj4+ICsJeyBEUk1fSERNSV9PVVRQVVRfWUNCQ1I0NDQs ICJvdXRwdXRfeWNiY3I0NDQiIH0sCj4+Pj4gKwl7IERSTV9IRE1JX09VVFBVVF9ZQ0JDUjQyMiwg Im91dHB1dF95Y2JjcjQyMiIgfSwKPj4+PiArCXsgRFJNX0hETUlfT1VUUFVUX1lDQkNSNDIwLCAi b3V0cHV0X3ljYmNyNDIwIiB9LAo+Pj4+ICsJeyBEUk1fSERNSV9PVVRQVVRfWUNCQ1JfSFEsICJv dXRwdXRfeWNiY3JfaGlnaF9zdWJzYW1wbGluZyIgfSwKPj4+PiArCXsgRFJNX0hETUlfT1VUUFVU X1lDQkNSX0xRLCAib3V0cHV0X3ljYmNyX2xvd19zdWJzYW1wbGluZyIgfSwKPj4+PiArCXsgRFJN X0hETUlfT1VUUFVUX0lOVkFMSUQsICJpbnZhbGlkX291dHB1dCIgfSwKPj4+PiArfTsKPj4+PiAr Cj4+Pj4gKy8qKgo+Pj4+ICsgKiBkcm1fZ2V0X2hkbWlfb3V0cHV0X25hbWUgLSByZXR1cm4gYSBz dHJpbmcgZm9yIGEgZ2l2ZW4gaGRtaSBvdXRwdXQgZW51bQo+Pj4+ICsgKiBAdHlwZTogZW51bSBv ZiBvdXRwdXQgdHlwZQo+Pj4+ICsgKi8KPj4+PiArY29uc3QgY2hhciAqZHJtX2dldF9oZG1pX291 dHB1dF9uYW1lKGVudW0gZHJtX2hkbWlfb3V0cHV0X3R5cGUgdHlwZSkKPj4+PiArewo+Pj4+ICsJ cmV0dXJuIGRybV9oZG1pX291dHB1dF9lbnVtX2xpc3RbdHlwZV0ubmFtZTsKPj4+PiArfQo+Pj4+ ICtFWFBPUlRfU1lNQk9MKGRybV9nZXRfaGRtaV9vdXRwdXRfbmFtZSk7Cj4+Pj4gKwo+Pj4+ICAg IC8qKgo+Pj4+ICAgICAqIGRybV9kaXNwbGF5X2luZm9fc2V0X2J1c19mb3JtYXRzIC0gc2V0IHRo ZSBzdXBwb3J0ZWQgYnVzIGZvcm1hdHMKPj4+PiAgICAgKiBAaW5mbzogZGlzcGxheSBpbmZvIHRv IHN0b3JlIGJ1cyBmb3JtYXRzIGluCj4+Pj4gQEAgLTY5Nyw3ICs3MjIsMzYgQEAgc3RhdGljIGNv bnN0IHN0cnVjdCBkcm1fcHJvcF9lbnVtX2xpc3QgZHJtX3R2X3N1YmNvbm5lY3Rvcl9lbnVtX2xp c3RbXSA9IHsKPj4+PiAgICAJeyBEUk1fTU9ERV9TVUJDT05ORUNUT1JfU0NBUlQsICAgICAiU0NB UlQiICAgICB9LCAvKiBUVi1vdXQgKi8KPj4+PiAgICB9Owo+Pj4+ICAgIERSTV9FTlVNX05BTUVf Rk4oZHJtX2dldF90dl9zdWJjb25uZWN0b3JfbmFtZSwKPj4+PiAtCQkgZHJtX3R2X3N1YmNvbm5l Y3Rvcl9lbnVtX2xpc3QpCj4+Pj4gKwkJIGRybV90dl9zdWJjb25uZWN0b3JfZW51bV9saXN0KTsK Pj4+PiArCj4+Pj4gKy8qKgo+Pj4+ICsgKiBET0M6IGhkbWlfb3V0cHV0X2Zvcm1hdAo+Pj4+ICsg Kgo+Pj4+ICsgKiBoZG1pX291dHB1dF9mb3JtYXQ6Cj4+Pj4gKyAqCUVudW0gcHJvcGVydHkgd2hp Y2ggYWxsb3dzIGEgdXNlcnNwYWNlIHRvIHByb3ZpZGUgaXRzIHByZWZlcmVuY2UgZm9yIGEKPj4+ PiArICoJSERNSSBvdXRwdXQgZm9ybWF0LiBTdGFuZGFyZCBIRE1JIDEuNGIgb3V0cHV0cyBjYW4g c3VwcG9ydCBSR0IvWUNCQ1I0NDQKPj4+PiArICoJWUNCQ1I0MjIgb3V0cHV0IGZvcm1hdHMsIHdo ZXJlYXMgSERNSSAyLjAgb3V0cHV0cyBjYW4gYWRkaXRpb25hbGx5Cj4+Pj4gKyAqCXN1cHBvcnQg WUNCQ1I0MjAgb3V0cHV0LiBEZWZhdWx0IHZhbHVlIG9mIHRoZSBwcm9wZXJ0eSBpcyBIRE1JIG91 dHB1dAo+Pj4+ICsgKglSR0IuCj4+Pj4gKyAqCj4+Pj4gKyAqCUEgZHJpdmVyIGNhbiBhdHRhY2gg dG8gdGhpcyBwcm9wZXJ0eSwgYW5kIHRoZW4gaGFuZGxlIHRoZSBIRE1JIG91dHB1dAo+Pj4+ICsg KgliYXNlZCBvbiBpdHMgY2FwYWJpbGl0aWVzIGFuZCBzaW5rIHN1cHBvcnQuIFRoZXJlIGFyZSBm ZXcgaGVscGVyCj4+Pj4gKyAqCWZ1bmN0aW9ucyBhdmFpbGFibGUgaW4gZHJtX21vZGVzLmMgd2hp Y2ggY2FuIGhlbHAgaW4gZmluZGluZyB0aGUgYmVzdAo+Pj4+ICsgKglzdWl0YWJsZSBvdXRwdXQg Y29uc2lkZXJpbmcgYSBzaW5rL3NvdXJjZS9tb2RlIGNvbWJpbmF0aW9uLiBSZWZlciB0bwo+Pj4+ ICsgKglkcm1fbW9kZXMuYzpkcm1fZGlzcGxheV9pbmZvX2hkbWlfb3V0cHV0X3R5cGUoKQo+Pj4+ ICsgKi8KPj4+PiAraW50IGRybV9jb25uZWN0b3JfY3JlYXRlX2hkbWlfcHJvcGVydGllcyhzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2KQo+Pj4+ICt7Cj4+Pj4gKwlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpw cm9wOwo+Pj4+ICsKPj4+PiArCXByb3AgPSBkcm1fcHJvcGVydHlfY3JlYXRlX2VudW0oZGV2LCAw LCAiaGRtaV9vdXRwdXRfZm9ybWF0IiwKPj4+PiArCQkJCQlkcm1faGRtaV9vdXRwdXRfZW51bV9s aXN0LAo+Pj4+ICsJCQkJCUFSUkFZX1NJWkUoZHJtX2hkbWlfb3V0cHV0X2VudW1fbGlzdCkpOwo+ Pj4+ICsJaWYgKCFwcm9wKQo+Pj4+ICsJCXJldHVybiAtRU5PTUVNOwo+Pj4+ICsJZGV2LT5tb2Rl X2NvbmZpZy5oZG1pX291dHB1dF9wcm9wZXJ0eSA9IHByb3A7Cj4+Pj4gKwlyZXR1cm4gMDsKPj4+ PiArfQo+Pj4+ICAgIC8qKgo+Pj4+ICAgICAqIERPQzogc3RhbmRhcmQgY29ubmVjdG9yIHByb3Bl cnRpZXMKPj4+PiBAQCAtMTAyNCw2ICsxMDc4LDE5IEBAIGludCBkcm1fY29ubmVjdG9yX2F0dGFj aF9zY2FsaW5nX21vZGVfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwK Pj4+PiAgICB9Cj4+Pj4gICAgRVhQT1JUX1NZTUJPTChkcm1fY29ubmVjdG9yX2F0dGFjaF9zY2Fs aW5nX21vZGVfcHJvcGVydHkpOwo+Pj4+ICsKPj4+PiArLyoqCj4+Pj4gKyAqIERPQzogYXNwZWN0 IHJhdGlvIHByb3BlcnR5Cj4+Pj4gKyAqCj4+Pj4gKyAqIGFzcGVjdCByYXRpbzoKPj4+PiArICoJ RW51bSBwcm9wZXJ0eSB0byBvdmVycmlkZSB0aGUgSERNSSBvdXRwdXQncyBhc3BlY3QgcmF0aW8u Cj4+Pj4gKyAqCVdoZW4gdGhpcyBwcm9wZXJ0eSBpcyBzZXQsIHRoZSBhc3BlY3QgcmF0aW8gb2Yg dGhlIGZyYW1lIGluCj4+Pj4gKyAqCUFWSSBpbmZvZnJhbWVzIGlzIHNldCBhcyBwZXIgdGhlIHBy b3BlcnR5IHZhbHVlLiBGb3IgZXhhbXBsZQo+Pj4+ICsgKglpZiB1c2Vyc3BhY2Ugc2V0cyB0aGUg cHJvcGVydHkgdmFsdWUgdG8gRFJNX01PREVfUElDVFVSRV9BU1BFQ1RfNF8zCj4+Pj4gKyAqCXRo ZSBvdXRwdXQgYXNwZWN0IHJhdGlvIGlzIHNldCB0byA0OjMgKHJlZ2FyZGxlc3Mgb2YgdGhlIFBB UiBvZiBtb2RlKQo+Pj4gV291bGQgYmUgZ29vZCB0byBkb2N1bWVudCBhbGwgcG9zc2libGUgdmFs dWVzLiBTYW1lIGZvciB0aGUgb3RoZXIKPj4+IHByb3BlcnRpZXMsIHBsdXMgaW5zZXJ0IGEgbGlu ayB0byB0aGUgZnVuY3Rpb24gdGhhdCBjcmVhdGVzIHRoZSBwcm9wZXJ0eQo+Pj4gKHdoZXJlIHdl IGhhdmUgdGhhdCkuCj4+IFRoaXMgaXMgdGhlIHBhcnQsIHdoaWNoIG1ha2VzIG1lIGZlZWwgdGhh dCBJIHNob3VsZCBjcmVhdGUgdGhpcyBwYXRjaAo+PiBzZXBhcmF0ZWx5LCBhcyB0aGlzIHNlZW1z IGxpa2Ugc2xpZ2h0bHkgYmlnZ2VyIGNsZWFudXAgdGhhbgo+PiBJIHRob3VnaHQsIHNvIEkgZG9u dCB3YW50IHRoaXMgdG8gYmUgYSBwYXJ0IG9mIEhETUkgMi4wIHNlcmllcy4KPiBXcml0aW5nIGdv b2QgZG9jcyBpcyBoYXJkIHdvcmssIGJ1dCBpdCdzIHBhcnQgb2YgY3JlYXRpbmcgYSBuZXcgdWFw aSA6LSkKPiBCdXQgeWVhaCB5b3UgY2FuIHNwbGl0IG91dCB0aGUgb3ZlcmFsbCBjbGVhbnVwIGlm IHlvdSB0aGluayB0aGF0J3MgZWFzaWVyCj4gKGl0J2xsIHByb2JhYmx5IHJlc3VsdCBpbiBzb21l IGZ1biBzbWFsbCBjb25mbGljdHMpLgpUaGFua3MuCj4+Pj4gKyAqCj4+Pj4gKyAqLwo+Pj4+ICsK Pj4+PiAgICAvKioKPj4+PiAgICAgKiBkcm1fbW9kZV9jcmVhdGVfYXNwZWN0X3JhdGlvX3Byb3Bl cnR5IC0gY3JlYXRlIGFzcGVjdCByYXRpbyBwcm9wZXJ0eQo+Pj4+ICAgICAqIEBkZXY6IERSTSBk ZXZpY2UKPj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjX2ludGVybmFs LmggYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGNfaW50ZXJuYWwuaAo+Pj4+IGluZGV4IGQwNzdj NTQuLmU2YzRhZGMgMTAwNjQ0Cj4+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjX2lu dGVybmFsLmgKPj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGNfaW50ZXJuYWwuaAo+ Pj4+IEBAIC0xNDAsNiArMTQwLDcgQEAgaW50IGRybV9tb2RlX2Nvbm5lY3Rvcl9zZXRfb2JqX3By b3Aoc3RydWN0IGRybV9tb2RlX29iamVjdCAqb2JqLAo+Pj4+ICAgIAkJCQkgICAgc3RydWN0IGRy bV9wcm9wZXJ0eSAqcHJvcGVydHksCj4+Pj4gICAgCQkJCSAgICB1aW50NjRfdCB2YWx1ZSk7Cj4+ Pj4gICAgaW50IGRybV9jb25uZWN0b3JfY3JlYXRlX3N0YW5kYXJkX3Byb3BlcnRpZXMoc3RydWN0 IGRybV9kZXZpY2UgKmRldik7Cj4+Pj4gK2ludCBkcm1fY29ubmVjdG9yX2NyZWF0ZV9oZG1pX3By b3BlcnRpZXMoc3RydWN0IGRybV9kZXZpY2UgKmRldik7Cj4+Pj4gICAgY29uc3QgY2hhciAqZHJt X2dldF9jb25uZWN0b3JfZm9yY2VfbmFtZShlbnVtIGRybV9jb25uZWN0b3JfZm9yY2UgZm9yY2Up Owo+Pj4+ICAgIC8qIElPQ1RMICovCj4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9k cm1fbW9kZV9jb25maWcuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZV9jb25maWcuYwo+Pj4+ IGluZGV4IGQ5ODYyMjUuLjNiYTkyNjIgMTAwNjQ0Cj4+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2RybV9tb2RlX2NvbmZpZy5jCj4+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9tb2RlX2Nv bmZpZy5jCj4+Pj4gQEAgLTIxMCw2ICsyMTAsMTAgQEAgc3RhdGljIGludCBkcm1fbW9kZV9jcmVh dGVfc3RhbmRhcmRfcHJvcGVydGllcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+Pj4+ICAgIAlp ZiAocmV0KQo+Pj4+ICAgIAkJcmV0dXJuIHJldDsKPj4+PiArCXJldCA9IGRybV9jb25uZWN0b3Jf Y3JlYXRlX2hkbWlfcHJvcGVydGllcyhkZXYpOwo+Pj4+ICsJaWYgKHJldCkKPj4+PiArCQlyZXR1 cm4gcmV0Owo+Pj4gV2Ugc3RpbGwgY3JlYXRlIGFsbCB0aGUgcHJvcGVydHkgdmFsdWVzIGluc3Rl YWQgb2YganVzdCB0aGUgb25lcyB0aGF0IHRoZQo+Pj4gc291cmNlIGh3IHN1cHBvcnRzLiBFLmcu IGFzcGVjdCByYXRpbyBwcm9wZXJ0eSBpcyBvbmx5IGNyZWF0ZWQgaWYgbmVlZGVkLAo+Pj4gbm90 IHVuY29uZGl0aW9uYWxseSBvbiBhbGwgY29ubmVjdG9ycy4KPj4+Cj4+PiBOb3RlIHRoYXQgdXNl cnMgc2VlIHByb3BlcnRpZXMgdGhyb3VnaCB4cmFuZHIgYW5kIHRoZSBndWkgc2NyZWVuCj4+PiBj b25maWd1cmF0aW9uIHRvb2xzLCBhZGRpbmcgcHJvcGVydGllcyB0aGF0IG5ldmVyIGRvIGFueXRo aW5nIGlzCj4+PiBjb25mdXNpbmcsIG1vcmUgZm9yIHByb3BlcnRpZXMgd2hlcmUgeW91IGNhbiBz ZWxlY3QgaW52YWxpZCB2YWx1ZXMuCj4+IElmIEkgdW5kZXJzdG9vZCB0aGlzIHByb3Blcmx5LCB5 b3Ugd2FudCBtZSB0byBjcmVhdGUgdGhlIHByb3BlcnR5IGluIEk5MTUKPj4gbGF5ZXIsIGp1c3Qg YmVmb3JlIGF0dGFjaGluZyBpdCB0byBvYmplY3QgKHNpbWlsYXIgdG8gYXNwZWN0IHJhdGlvIGFu ZAo+PiBvdGhlcnMpCj4+IHNvbWV0aGluZyBsaWtlOgo+PiBpbnRlbF9hdHRhY2hfaGRtaV9vdXRw dXRfcHJvcGVydHkoKQo+PiB7Cj4+ICAgICAgICBpZiAoIW1vZGVfY29uZmlnLT5oZG1pX291dHB1 dF9wcm9wZXJ0eSkKPj4gICAgICAgICAgICAgICAgICAgICBtb2RlX2NvbmZpZy0+aGRtaV9vdXRw dXRfcHJvcGVydHkgPSBjcmVhdGVfcHJvcCgpOwo+PiAgICAgICAgICBub3dfYXR0YWNoX3Byb3Bl cnR5KCk7Cj4+IH0KPiBZZXMuCj4KPj4gSSB3YXMgYXNzdW1pbmcgdGhhdCBvbmNlIG90aGVyIGRy aXZlcnMgbW92ZSB0byBIRE1JIDIuMCwgdGhleSBtaWdodCBhbGwgbmVlZAo+PiB0aGlzIGZvciBZ Q0JDUjQyMCBvdXRwdXRzLCBzbyBpdCB3b3VsZCBiZSBvayB0byBjcmVhdGUgaXQgZ2VuZXJpY2Fs bHkuCj4+IEJ1dCBhdCB0aGUgc2FtZSB0aW1lLCB0aGlzIGFsc28gc2VlbXMgbGlrZSBhIGdvb2Qg aWRlYS4KPiBnZW44IGlzbid0IGdvaW5nIHRvIG1hZ2ljYWxseSBzdXBwb3J0IGhkbWkyLjAuIFdl IHNob3VsZG4ndCBhZHZlcnRpc2UgaXQKPiB0byB1c2VycyBlaXRoZXIuIFNhbWUgaG9sZHMgZm9y IG90aGVyIGRyaXZlcnMgYW5kIG90aGVyIGZlYXR1cmVzLiBIYXZpbmcgYQo+IGdlbmVyaWMvc2hh cmVkIGZ1bmN0aW9uIHRvIGNyZWF0ZSBpdCBpcyBnb29kLCBidXQgYXV0b21pY2FsbHkgY3JlYXRp bmcKPiBzb21ldGhpbmcgdGhhdCBvbiBtYW55IGRyaXZlcnMvcGxhdGZvcm1zIGRvZXMgbm90aGlu ZyBpcyBub3QgZ29vZCwgdGhhdAo+IG9ubHkgY29uZnVzZXMgdXNlcnMgKGFuZCB1c2Vyc3BhY2Ug cHJvZ3JhbW1lcnMpLgpBY3R1YWxseSwgdGhpcyBwcm9wZXJ0eSBkb2Vzbid0IG9ubHkgY29udHJv bCBIRE1JIG91dHB1dCBhcyA0MjAsIGJ1dCAKYWxsb3dzIDQ0NC80MjIgb3V0cHV0cyBhcyB3ZWxs LiBUaGlzIHBhdGNoCnNlcmllcyBhZGRzIGEgd2hvbGUgZnJhbWV3b3JrIGZvciBZQ0JDUiBoYW5k bGluZywgYW5kIGFueSBvbGRlciBHRU4gd2l0aCAKSERNSSAxLjRiIHN1cHBvcnQgY2FuIHVzZSB0 aGlzIGZvcgpZQ0JDUjQ0NCBvdXRwdXQgaGFuZGxpbmcgZm9yIGV4YW1wbGUuCgpBbmQgYWdhaW4s IHdoZW4gSSBzYWlkIG90aGVyIGRyaXZlcnMsIEkgbWVhbnQgRFJNIGRyaXZlcnMgYXBhcnQgZnJv bSAKSTkxNSwgd2hvIGFyZSBpbnRlcmVzdGVkIGluIFlDQkNSIG91dHB1dCBoYW5kbGluZyB1c2lu Zwp0aGlzIGZyYW1ld29yay4KCkJ1dCBzdGlsbCBpZiB5b3UgdGhpbmssIGl0IHdvdWxkIGJlIGdv b2QgdG8gY3JlYXRlIHRoaXMgb24gbmVlZCBiYXNpcywgCnlvdSBhcmUgdGhlIGJvc3MgOi0pClBs ZWFzZSBsZXQgbWUga25vdy4KCi0gU2hhc2hhbmsKPiBDaGVlcnMsIERhbmllbAo+Cj4+IC0gU2hh c2hhbmsKPj4+PiArCj4+Pj4gICAgCXByb3AgPSBkcm1fcHJvcGVydHlfY3JlYXRlX2VudW0oZGV2 LCBEUk1fTU9ERV9QUk9QX0lNTVVUQUJMRSwKPj4+PiAgICAJCQkJCSJ0eXBlIiwgZHJtX3BsYW5l X3R5cGVfZW51bV9saXN0LAo+Pj4+ICAgIAkJCQkJQVJSQVlfU0laRShkcm1fcGxhbmVfdHlwZV9l bnVtX2xpc3QpKTsKPj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf bW9kZXMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX21vZGVzLmMKPj4+PiBpbmRleCA5 NTFlODM0Li5kMDdkZTQ1IDEwMDY0NAo+Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX21vZGVzLmMKPj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9tb2Rlcy5j Cj4+Pj4gQEAgLTEwNCw2ICsxMDQsMTkgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fcHJvcF9l bnVtX2xpc3QgYnJvYWRjYXN0X3JnYl9uYW1lc1tdID0gewo+Pj4+ICAgIAl7IElOVEVMX0JST0FE Q0FTVF9SR0JfTElNSVRFRCwgIkxpbWl0ZWQgMTY6MjM1IiB9LAo+Pj4+ICAgIH07Cj4+Pj4gKy8q Kgo+Pj4+ICsgKiBET0M6IEJyb2FkY2FzdCBSR0IgcHJvcGVydHkKPj4+PiArICoKPj4+PiArICog QnJvYWRjYXN0IFJHQjoKPj4+PiArICoJRW51bSBwcm9wZXJ0eSB0byBpbmRpY2F0ZSBSR0IgY29s b3IgcmFuZ2Ugb2YgYSBIRE1JIG91dHB1dC4KPj4+PiArICoJRm9yIGxpbWl0ZWQgcmFuZ2UgUkdC IG91dHB1dHMsIGEgcmVtYXBwaW5nIG9mIHBpeGVsIHZhbHVlcyBmcm9tIDAtMjU1Cj4+Pj4gKyAq CXNob3VsZCBiZSByZW1hcGVkIHRvIGEgcmFuZ2Ugb2YgMTYtMjM1LiBXaGVuIHRoaXMgcHJvcGVy dHkgaXMgc2V0IHRvCj4+Pj4gKyAqCUxpbWl0ZWQgMTY6MjM1IGFuZCBDVE0gaXMgc2V0LCB0aGUg aGFyZHdhcmUgd2lsbCBiZSBwcm9ncmFtbWVkIHdpdGggdGhlCj4+Pj4gKyAqCXJlc3VsdCBvZiB0 aGUgbXVsdGlwbGljYXRpb24gb2YgQ1RNIGJ5IHRoZSBsaW1pdGVkICByYW5nZSBtYXRyaXgsIHRv Cj4+Pj4gKyAqCWVuc3VyZSB0aGUgcGl4ZWxzIG5vcm1hbHkgaW4gdGhlIHJhbmdlIDAuLjEuMCBh cmUgcmVtYXBwZWQgdG8gdGhlIHJhbmdlCj4+Pj4gKyAqCTE2LzI1NS4uMjM1LzI1NS4KPj4+PiAr ICoKPj4+PiArICovCj4+Pj4gICAgdm9pZAo+Pj4+ICAgIGludGVsX2F0dGFjaF9icm9hZGNhc3Rf cmdiX3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4+Pj4gICAgewo+ Pj4+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmggYi9pbmNsdWRlL2Ry bS9kcm1fY29ubmVjdG9yLmgKPj4+PiBpbmRleCA0YmMwODgyLi4zNzczNjAwIDEwMDY0NAo+Pj4+ IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaAo+Pj4+ICsrKyBiL2luY2x1ZGUvZHJt L2RybV9jb25uZWN0b3IuaAo+Pj4+IEBAIC0zMTksNiArMzE5LDE3IEBAIHN0cnVjdCBkcm1fdHZf Y29ubmVjdG9yX3N0YXRlIHsKPj4+PiAgICAJdW5zaWduZWQgaW50IGh1ZTsKPj4+PiAgICB9Owo+ Pj4+ICsvKiBIRE1JIG91dHB1dCBwaXhlbCBmb3JtYXQgKi8KPj4+PiArZW51bSBkcm1faGRtaV9v dXRwdXRfdHlwZSB7Cj4+Pj4gKwlEUk1fSERNSV9PVVRQVVRfREVGQVVMVF9SR0IsIC8qIGRlZmF1 bHQgUkdCICovCj4+Pj4gKwlEUk1fSERNSV9PVVRQVVRfWUNCQ1I0NDQsIC8qIFlDQkNSIDQ0NCAq Lwo+Pj4+ICsJRFJNX0hETUlfT1VUUFVUX1lDQkNSNDIyLCAvKiBZQ0JDUiA0MjIgKi8KPj4+PiAr CURSTV9IRE1JX09VVFBVVF9ZQ0JDUjQyMCwgLyogWUNCQ1IgNDIwICovCj4+Pj4gKwlEUk1fSERN SV9PVVRQVVRfWUNCQ1JfSFEsIC8qIEhpZ2hlc3Qgc3Vic2FtcGxlZCBZVVYgKi8KPj4+PiArCURS TV9IRE1JX09VVFBVVF9ZQ0JDUl9MUSwgLyogTG93ZXN0IHN1YnNhbXBsZWQgWVVWICovCj4+Pj4g KwlEUk1fSERNSV9PVVRQVVRfSU5WQUxJRCwgLyogR3Vlc3Mgd2hhdCA/ICovCj4+Pj4gK307Cj4+ Pj4gKwo+Pj4+ICAgIC8qKgo+Pj4+ICAgICAqIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlIC0g bXV0YWJsZSBjb25uZWN0b3Igc3RhdGUKPj4+PiAgICAgKiBAY29ubmVjdG9yOiBiYWNrcG9pbnRl ciB0byB0aGUgY29ubmVjdG9yCj4+Pj4gQEAgLTM2Myw2ICszNzQsMTIgQEAgc3RydWN0IGRybV9j b25uZWN0b3Jfc3RhdGUgewo+Pj4+ICAgIAkgKiB1cHNjYWxpbmcsIG1vc3RseSB1c2VkIGZvciBi dWlsdC1pbiBwYW5lbHMuCj4+Pj4gICAgCSAqLwo+Pj4+ICAgIAl1bnNpZ25lZCBpbnQgc2NhbGlu Z19tb2RlOwo+Pj4+ICsKPj4+PiArCS8qKgo+Pj4+ICsJICogQGhkbWlfb3V0cHV0OiBDb25uZWN0 b3IgcHJvcGVydHkgdG8gY29udHJvbCB0aGUKPj4+PiArCSAqIEhETUkgb3V0cHV0IG1vZGUgKFJH Qi9ZQ0JDUjQ0NC80MjIvNDIwKS4KPj4+PiArCSAqLwo+Pj4+ICsJZW51bSBkcm1faGRtaV9vdXRw dXRfdHlwZSBoZG1pX291dHB1dDsKPj4+PiAgICB9Owo+Pj4+ICAgIC8qKgo+Pj4+IEBAIC05OTEs NiArMTAwOCw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBkcm1fY29ubmVjdG9yX3VucmVmZXJlbmNl KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4+Pj4gICAgY29uc3QgY2hhciAqZHJt X2dldF9jb25uZWN0b3Jfc3RhdHVzX25hbWUoZW51bSBkcm1fY29ubmVjdG9yX3N0YXR1cyBzdGF0 dXMpOwo+Pj4+ICAgIGNvbnN0IGNoYXIgKmRybV9nZXRfc3VicGl4ZWxfb3JkZXJfbmFtZShlbnVt IHN1YnBpeGVsX29yZGVyIG9yZGVyKTsKPj4+PiArY29uc3QgY2hhciAqZHJtX2dldF9oZG1pX291 dHB1dF9uYW1lKGVudW0gZHJtX2hkbWlfb3V0cHV0X3R5cGUgdHlwZSk7Cj4+Pj4gICAgY29uc3Qg Y2hhciAqZHJtX2dldF9kcG1zX25hbWUoaW50IHZhbCk7Cj4+Pj4gICAgY29uc3QgY2hhciAqZHJt X2dldF9kdmlfaV9zdWJjb25uZWN0b3JfbmFtZShpbnQgdmFsKTsKPj4+PiAgICBjb25zdCBjaGFy ICpkcm1fZ2V0X2R2aV9pX3NlbGVjdF9uYW1lKGludCB2YWwpOwo+Pj4+IGRpZmYgLS1naXQgYS9p bmNsdWRlL2RybS9kcm1fbW9kZV9jb25maWcuaCBiL2luY2x1ZGUvZHJtL2RybV9tb2RlX2NvbmZp Zy5oCj4+Pj4gaW5kZXggNDI5ODE3MS4uMTg4NzI2MSAxMDA2NDQKPj4+PiAtLS0gYS9pbmNsdWRl L2RybS9kcm1fbW9kZV9jb25maWcuaAo+Pj4+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9tb2RlX2Nv bmZpZy5oCj4+Pj4gQEAgLTc0MCw2ICs3NDAsMTEgQEAgc3RydWN0IGRybV9tb2RlX2NvbmZpZyB7 Cj4+Pj4gICAgCSAqIHRoZSBwb3NpdGlvbiBvZiB0aGUgb3V0cHV0IG9uIHRoZSBob3N0J3Mgc2Ny ZWVuLgo+Pj4+ICAgIAkgKi8KPj4+PiAgICAJc3RydWN0IGRybV9wcm9wZXJ0eSAqc3VnZ2VzdGVk X3lfcHJvcGVydHk7Cj4+Pj4gKwkvKioKPj4+PiArCSAqIEBoZG1pX291dHB1dF9wcm9wZXJ0eTog b3V0cHV0IHBpeGVsIGZvcm1hdCBmcm9tIEhETUkgZGlzcGxheQo+Pj4+ICsJICogRGVmYXVsdCBp cyBzZXQgZm9yIFJHQgo+Pj4+ICsJICovCj4+Pj4gKwlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpoZG1p X291dHB1dF9wcm9wZXJ0eTsKPj4+PiAgICAJLyogZHVtYiBpb2N0bCBwYXJhbWV0ZXJzICovCj4+ Pj4gICAgCXVpbnQzMl90IHByZWZlcnJlZF9kZXB0aCwgcHJlZmVyX3NoYWRvdzsKPj4+PiAtLSAK Pj4+PiAyLjcuNAo+Pj4+Cj4+Pj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KPj4+PiBkcmktZGV2ZWwgbWFpbGluZyBsaXN0Cj4+Pj4gZHJpLWRldmVsQGxp c3RzLmZyZWVkZXNrdG9wLm9yZwo+Pj4+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9pbnRlbC1nZngK