From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Sharma, Shashank" Subject: Re: [PATCH 2/6] drm/i915: Add HDMI probe function Date: Mon, 14 Sep 2015 19:15:23 +0530 Message-ID: <55F6CF73.9010707@intel.com> References: <1441373176-22302-1-git-send-email-sonika.jindal@intel.com> <1441373176-22302-3-git-send-email-sonika.jindal@intel.com> <20150904144839.GB26318@phenom.ffwll.local> <55F2B0D3.2020001@intel.com> <20150914083008.GI3383@phenom.ffwll.local> <20150914130754.GD3383@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id E6DC36E691 for ; Mon, 14 Sep 2015 06:45:26 -0700 (PDT) In-Reply-To: <20150914130754.GD3383@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: "intel-gfx@lists.freedesktop.org" List-Id: intel-gfx@lists.freedesktop.org UmVnYXJkcwpTaGFzaGFuawoKT24gOS8xNC8yMDE1IDY6MzcgUE0sIERhbmllbCBWZXR0ZXIgd3Jv dGU6Cj4gT24gTW9uLCBTZXAgMTQsIDIwMTUgYXQgMDk6NTU6MzNBTSArMDAwMCwgU2hhcm1hLCBT aGFzaGFuayB3cm90ZToKPj4+IFlvdSBuZWVkIHRvIGluamVjdCBhIGZha2UgaHBkIG9yIHNpbWls YXIgZXZlcnl0aW1lIHRoZSB3b3JsZCBtaWdodCBoYXZlIGNoYW5nZWQgZnJvbSB1bmRlciB1cywg d2hpY2ggaXNuJ3QganVzdCBpbml0IGJ1dCBhbHNvIHN5c3RlbSByZXN1bWUuCj4+IFRoaXMgaXMg YSBmYWtlIGhwZCBvbmx5LCBqdXN0IHdpdGhvdXQgd3JhcHBlciwgaWYgeW91IHdhbnQsIHdlIGNh bgo+PiBjcmVhdGUgYSB3cmFwcGVyIGZ1bmN0aW9uIGxpa2UgKGludGVsX2hkbWlfaW5zZXJ0X2Zh a2VfaHBkKSwgYW5kIGNhbGwKPj4gdGhpcyBmdW5jdGlvbiBmcm9tIGluaXQoKSBBbmQgY2FsbCBI RE1JIHByb2JlKGhvdF9wbHVnKSBmdW5jdGlvbiBmcm9tCj4+IGhlcmUuIFRoaXMgd291bGQgYmUg anVzdCBhZGRpbmcgc29tZSBDUFUgY3ljbGVzIGluIHRoZSBjb2RlLgo+Cj4gV2UgYWxyZWFkeSBo YXZlIGZha2UgaHBkIGhhbmRsaW5nLCBhbmQgaXQncyBkb25lIGF0IGEgaGlnaGVyIGxldmVsIChh bmQgaW4KPiBhbGwgdGhlIGNvcnJlY3QgcGxhY2VzKSB1c2luZyBkcm1faGVscGVyX2hwZF9pcnFf ZXZlbnQuCj4KVGhhbmtzLCB0aGlzIHNvdW5kcyBsaWtlIGEgZ29vZCBzdWdnZXN0aW9uIGhlcmUu CldlIGNhbiBjYWxsIHRoZSBob3RfcGx1ZygpIGZyb20gZHJtX2hlbHBlcl9ocGRfaXJxX2V2ZW50 LCBqdXN0IGJlZm9yZSBpdCAKY2FsbHMgdGhlIGRldGVjdCgpLCBhbmQgb3VyIHN0YXRlIG1hY2hp bmUgaXMgc3RpbGwgaW50YWN0Lgo+IFlvdXIgcGF0Y2ggaGVyZSBicmVha3MgdGhhdCwgYnV0IHRo ZW4gb25seSBwYXJ0aWFsbHkgZml4ZXMgdGhpbmdzIHVwIGFnYWluCj4gKHlvdSdyZSBtaXNzaW5n IHN5c3RlbSByZXN1bWUpLiBUaGF0J3Mgbm90IGEgZ29vZCBkZXNpZ24sIHNpbmNlIGl0IG1lYW5z Cj4gd2UgbmVlZCBiYW5kYWlkcyBhbGwgb3ZlciBhbHNvIGluIHRoZSBmdXR1cmUgZm9yIGFueXRo aW5nIGVsc2UgKGxpa2UgRFApLgo+CkkgZ3Vlc3MsIGluIHRoaXMgd2FzIHdlIHdvbnQgYnJlYWsg YW55dGhpbmcgZXhpc3RpbmcuCj4gSGVuY2UgaW1vIHdoeSB3ZSBzaG91bGQgY3JlYXRlIGEgbmV3 IG92ZXJhbGwgZGVzaWduIHdpdGggaG93IHRoaXMgaXMKPiBzdXBwb3NlZCB0byBiZSBoYW5kbGVk LCBhbmQgdGhlbiBjaGFuZ2UgdGhlIGNvcmUgYml0cyAoc28gcHJvYmFibHkgd2UgbmVlZAo+IGFu IGludGVsIHZlcnNpb24gb2YgZHJtX2hlbHBlcl9ocGRfaXJxX2V2ZW50IGFuZCB1c2UgdGhhdCBp bnN0ZWFkIG9mIHRoZQo+IGN1cnJlbnQgY2FsbHMpLiBFdmVudHVhbGx5IHdlIHdhbnQgdG8gbWFr ZSB0aGF0IGFzeW5jIHRvIHNwZWVkIHVwIHJlc3VtZS4KPgo+Pj4gQWRkaW5nIGhhY2tzIGxpa2Ug dGhlc2UgaW4gdGhlIGluaXQgY29kZSBpcyBjZXJ0YWlubHkgdGhlIHdyb25nIGFwcHJvYWNoLCBz aW5jZSB3ZSBuZXZlciBkb25lIGRldGVjdGlvbiB0aGlzIGVhcmx5IChzbyBzdXJwcmlzaW5nIGZy b20gYSBoaWdoLWxldmVsCj4+PiBvcmRlcmluZykgYW5kIGl0IGFsc28gbWlzc2VzIHJlc3VtZSAo d2hpY2ggaXMgd2h5IGl0IHNob3VsZCBiZSBkb25lIGluIGNvZGUgc2hhcmVkIGJldHdlZW4gZHJp dmVyIGxvYWQgYW5kIHJlc3VtZSkuCj4+IER1cmluZyB0aGUgQURGIGNvZGUgZGV2ZWxvcG1lbnQs IHdlIHNhdyB0aGF0IGZiX2NvbnNvbGUgY29tZXMgdXAgdmVyeQo+PiBzb29uLCBhcyBzb29uIGFz IHRoZSBpbnRlbF9mYmRldiBpcyByZWFkeSwgY2F1c2luZyBhIGRldGVjdCgpIG9uIGEKPj4gY29u bmVjdGVkIEhETUkuICBEbyB5b3UgdGhpbmsgaW50ZWxfaHBkX2luaXQoKSB3b3VsZCBiZSB0aGUg cmlnaHQgcGxhY2UKPj4gdG8gcHJvYmUsIGNveiBhcyB5b3UgcmlnaHRseSBtZW50aW9uZWQsIHdl IHdpbGwgbmVlZCB0aGlzIG9uCj4+IHN1c3BlbmQvcmVzdW1lIGFsc28uCj4KPiBOb3BlLiBmYmRl diBpcyBvcHRpb25hbCBhbmQgeW91IGNhbid0IHJlbHkgdXBvbiB0aGF0LCBvciB3cml0ZSB0aGUg Y29kZQo+IGFzc3VtaW5nIGl0J3MgdGhlcmUuIFRoZSBpbml0aWFsIHByb2JpbmcgYXQgZHJpdmVy IGxvYWQgdGltZSBpcyBhdG0gbm90Cj4gZG9uZSBhdCBhbGwsIHdlIHJlbHkgdXBvbiBmYmRldiBv ciBlYXJseSB1c2Vyc3BhY2UgdG8gZG8gdGhlIHByb2JpbmcuCj4KPiBXaGF0IHlvdSBwcm9iYWJs eSB3YW50IHRvIGRvIGluc3RlYWQgaXMgcmVzZXQgdGhlIGVkaWQgY2FjaGUgb24gZHJpdmVyCj4g bG9hZCBhbmQgb24gcmVzdW1lIHRvIG1ha2Ugc3VyZSB3ZSBkb24ndCBjYWNoZSBhIHBvdGVudGlh bGx5IGJvZ3VzIGVkaWQuCj4gV2UgaGF2ZSB0aGUgZW5jb2Rlci0+cmVzZXQgaG9vayBmb3IgdGhh dCBraW5kIG9mIHdvcmsuIFRoYXQgbWlnaHQgYmUKPiBhbm90aGVyIGFwcHJvYWNoLgo+Clllcywg dGhhdHMgZXhhY3RseSB3aGF0IGhvdF9wbHVnIGZ1bmN0aW9uIGRvZXMuIEl0IGNoZWNrcyB0aGUg bGl2ZSAKc3RhdHVzIGFuZCBpZiB3ZSBoYXZlIGNhY2hlZCBFRElELCBpdCByZWxlYXNlcyB0aGUg RURJRC4gTm93IGl0cyBqdXN0IAptYXR0ZXIgb2YgY2FsbGluZyB0aGlzIGZyb20gdGhlIHJpZ2h0 IHBsYWNlLCBpbiB0aGUgcmlnaHQgd2F5Lgo+IEJ1dCBkb2luZyBwcm9iZSBpbiBfaW5pdCBmb3Ig ZHluYW1pYyBwb3J0cyBpc250JyB0aGUgcmlnaHQgYXBwcm9hY2ggaW1vLgo+IC1EYW5pZWwKPgpZ ZXAsIGFncmVlLiBMZXQgdXMgd29yayBvbiB0aGlzIHBhcnQuCj4+Cj4+IFJlZ2FyZHMKPj4gU2hh c2hhbmsKPj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0KPj4gRnJvbTogSW50ZWwtZ2Z4IFtt YWlsdG86aW50ZWwtZ2Z4LWJvdW5jZXNAbGlzdHMuZnJlZWRlc2t0b3Aub3JnXSBPbiBCZWhhbGYg T2YgRGFuaWVsIFZldHRlcgo+PiBTZW50OiBNb25kYXksIFNlcHRlbWJlciAxNCwgMjAxNSAyOjAw IFBNCj4+IFRvOiBKaW5kYWwsIFNvbmlrYQo+PiBDYzogaW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwo+PiBTdWJqZWN0OiBSZTogW0ludGVsLWdmeF0gW1BBVENIIDIvNl0gZHJtL2k5MTU6 IEFkZCBIRE1JIHByb2JlIGZ1bmN0aW9uCj4+Cj4+IE9uIEZyaSwgU2VwIDExLCAyMDE1IGF0IDA0 OjE1OjM5UE0gKzA1MzAsIEppbmRhbCwgU29uaWthIHdyb3RlOgo+Pj4KPj4+Cj4+PiBPbiA5LzEw LzIwMTUgMTI6MjUgQU0sIFJvZHJpZ28gVml2aSB3cm90ZToKPj4+PiBJIGxpa2VkIHRoZSBhcHBy b2FjaCBhbmQgYWdyZWUgd2l0aCBEYW5pZWwsIHNvIHdpdGggaGlzIHN1Z2dlc3Rpb25zCj4+Pj4g ZmVlbCBmcmVlIHRvIHVzZToKPj4+PiBSZXZpZXdlZC1ieTogUm9kcmlnbyBWaXZpIDxyb2RyaWdv LnZpdmlAaW50ZWwuY29tCj4+Pj4gPG1haWx0bzpyb2RyaWdvLnZpdmlAaW50ZWwuY29tPj4KPj4+ Pgo+Pj4+IE9uIEZyaSwgU2VwIDQsIDIwMTUgYXQgNzo0NiBBTSBEYW5pZWwgVmV0dGVyIDxkYW5p ZWxAZmZ3bGwuY2gKPj4+PiA8bWFpbHRvOmRhbmllbEBmZndsbC5jaD4+IHdyb3RlOgo+Pj4+Cj4+ Pj4gICAgIE9uIEZyaSwgU2VwIDA0LCAyMDE1IGF0IDA2OjU2OjEyUE0gKzA1MzAsIFNvbmlrYSBK aW5kYWwgd3JvdGU6Cj4+Pj4gICAgICA+IEZyb206IFNoYXNoYW5rIFNoYXJtYSA8c2hhc2hhbmsu c2hhcm1hQGludGVsLmNvbQo+Pj4+ICAgICA8bWFpbHRvOnNoYXNoYW5rLnNoYXJtYUBpbnRlbC5j b20+Pgo+Pj4+ICAgICAgPgo+Pj4+ICAgICAgPiBUaGlzIHBhdGNoIGFkZHMgYSBzZXBhcmF0ZSBw cm9iZSBmdW5jdGlvbiBmb3IgSERNSQo+Pj4+ICAgICAgPiBFRElEIHJlYWQgb3ZlciBEREMgY2hh bm5lbC4gVGhpcyBmdW5jdGlvbiBoYXMgYmVlbgo+Pj4+ICAgICAgPiByZWdpc3RlcmVkIGFzIGEg LmhvdF9wbHVnIGhhbmRsZXIgZm9yIEhETUkgZW5jb2Rlci4KPj4+PiAgICAgID4KPj4+PiAgICAg ID4gVGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24gb2YgaGRtaV9kZXRlY3QoKQo+Pj4+ICAgICAg PiBmdW5jdGlvbiByZS1zZXRzIHRoZSBjYWNoZWQgSERNSSBlZGlkIChpbiBjb25uZWN0b3ItPmRl dGVjdF9lZGlkKSBpbgo+Pj4+ICAgICAgPiBldmVyeSBkZXRlY3QgY2FsbC5UaGlzIGZ1bmN0aW9u IGdldHMgY2FsbGVkIG1hbnkgdGltZXMsIHNvbWV0aW1lcwo+Pj4+ICAgICAgPiBkaXJlY3RseSBm cm9tIHVzZXJzcGFjZSBwcm9iZXMsIGZvcmNpbmcgZHJpdmVycyB0byByZWFkIEVESUQgZXZlcnkK Pj4+PiAgICAgID4gZGV0ZWN0IGZ1bmN0aW9uIGNhbGwuVGhpcyBjYXVzZXMgc2V2ZXJhbCBwcm9i bGVtcyBsaWtlOgo+Pj4+ICAgICAgPgo+Pj4+ICAgICAgPiAxLiBSYWNlIGNvbmRpdGlvbnMgaW4g bXVsdGlwbGUgaG90X3BsdWcgLyB1bnBsdWcgY2FzZXMsIGJldHdlZW4KPj4+PiAgICAgID4gICAg aW50ZXJydXB0cyBib3R0b20gaGFsdmVzIGFuZCB1c2Vyc3BhY2UgZGV0ZWN0aW9ucy4KPj4+PiAg ICAgID4gMi4gTWFueSBVbi1uZWNlc3NhcnkgRURJRCByZWFkcyBmb3Igc2luZ2xlIGhvdHBsdWcv dW5wbHVnCj4+Pj4gICAgICA+IDMuIEhETUkgY29tcGxhaW5jZSBmYWlsdXJlcyB3aGljaCBleHBl Y3RzIG9ubHkgb25lIEVESUQgcmVhZCBwZXIKPj4+PiAgICAgaG90cGx1Zwo+Pj4+ICAgICAgPgo+ Pj4+ICAgICAgPiBUaGlzIGZ1bmN0aW9uIHdpbGwgYmUgc2VydmluZyB0aGUgcHVycG9zZSBvZiBy ZWFsbHkgcmVhZGluZyB0aGUgRURJRAo+Pj4+ICAgICAgPiBieSByZWFsbHkgcHJvYmluZyB0aGUg RERDIGNoYW5uZWwsIGFuZCB1cGRhdGluZyB0aGUgY2FjaGVkIEVESUQuCj4+Pj4gICAgICA+Cj4+ Pj4gICAgICA+IFRoZSBwbGFuIGlzIHRvOgo+Pj4+ICAgICAgPiAxLiBpOTE1IElSUSBoYW5kbGVy IGJvdHRvbSBoYWxmIGZ1bmN0aW9uIGFscmVhZHkgY2FsbHMKPj4+PiAgICAgID4gICAgaW50ZWxf ZW5jb2Rlci0+aG90cGx1ZygpIGZ1bmN0aW9uLiBBZGRpbmcgVGhpcyBwcm9iZSBmdW5jdGlvbgo+ Pj4+ICAgICB3aGljaAo+Pj4+ICAgICAgPiAgICB3aWxsIHJlYWQgdGhlIEVESUQgb25seSBpbiBj YXNlIG9mIGEgaG90cGx1ZyAvIHVucGx1Zy4KPj4+PiAgICAgID4gMi4gRHVyaW5nIGluaXRfY29u bmVjdG9yIGhpcyBwcm9iZSB3aWxsIGJlIGNhbGxlZCB0byByZWFkIHRoZSBlZGlkCj4+Pj4gICAg ICA+IDMuIFJldXNlIHRoZSBjYWNoZWQgRURJRCBpbiBoZG1pX2RldGVjdCgpIGZ1bmN0aW9uLgo+ Pj4+ICAgICAgPgo+Pj4+ICAgICAgPiBUaGUgIjwgZ2VuNyIgY2hlY2sgaXMgdGhlcmUgYmVjYXVz ZSB0aGlzIHdhcyB0ZXN0ZWQgb25seSBmb3IgPj1nZW43Cj4+Pj4gICAgICA+IHBsYXRmb3Jtcy4g Rm9yIG9sZGVyIHBsYXRmb3JtcyB0aGUgaG90cGx1Zy9yZWFkaW5nIGVkaWQgcGF0aAo+Pj4+ICAg ICByZW1haW5zIHNhbWUuCj4+Pj4gICAgICA+Cj4+Pj4gICAgICA+IHYyOiBDYWxsaW5nIHNldF9l ZGlkIGluc3RlYWQgb2YgaGRtaV9wcm9iZSBkdXJpbmcgaW5pdC4KPj4+PiAgICAgID4gQWxzbywg Zm9yIHBsYXRmb3JtcyBoYXZpbmcgRERJLCBpbnRlbF9lbmNvZGVyIGZvciBEUCBhbmQgSERNSSBp cyBzYW1lCj4+Pj4gICAgICA+ICh0YWtlbiBmcm9tIGludGVsX2RpZ19wb3J0KSwgc28gZm9yIERQ IGFsc28sIGhvdF9wbHVnIGZ1bmN0aW9uCj4+Pj4gICAgIGdldHMgY2FsbGVkCj4+Pj4gICAgICA+ IHdoaWNoIGlzIG5vdCBpbnRlbmRlZCBoZXJlLiBTbywgY2hlY2sgZm9yIEhETUkgaW4gaW50ZWxf aGRtaV9wcm9iZQo+Pj4+ICAgICAgPiBSZWx5IG9uIEhQRCBmb3IgdXBkYXRpbmcgZWRpZCBvbmx5 IGZvciBwbGF0Zm9ybXMgZ2VuID4gOCBhbmQgYWxzbwo+Pj4+ICAgICBmb3IgVkxWLgo+Pj4+ICAg ICAgPgo+Pj4+ICAgICAgPiB2MzogRHJvcHBpbmcgdGhlIGdlbiA8IDggfHwgIVZMViAgY2hlY2su IE5vdyBhbGwgcGxhdGZvcm1zIHNob3VsZAo+Pj4+ICAgICByZWx5IG9uCj4+Pj4gICAgICA+IGhv dHBsdWcgb3IgaW5pdCBmb3IgdXBkYXRpbmcgdGhlIGVkaWQuKERhbmllbCkKPj4+PiAgICAgID4g QWxzbywgY2FsbGluZyBoZG1pX3Byb2JlIGluIGluaXQgaW5zdGVhZCBvZiBzZXRfZWRpZAo+Pj4+ ICAgICAgPgo+Pj4+ICAgICAgPiBTaWduZWQtb2ZmLWJ5OiBTaGFzaGFuayBTaGFybWEgPHNoYXNo YW5rLnNoYXJtYUBpbnRlbC5jb20KPj4+PiAgICAgPG1haWx0bzpzaGFzaGFuay5zaGFybWFAaW50 ZWwuY29tPj4KPj4+PiAgICAgID4gU2lnbmVkLW9mZi1ieTogU29uaWthIEppbmRhbCA8c29uaWth LmppbmRhbEBpbnRlbC5jb20KPj4+PiAgICAgPG1haWx0bzpzb25pa2EuamluZGFsQGludGVsLmNv bT4+Cj4+Pj4gICAgICA+IC0tLQo+Pj4+ICAgICAgPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfaGRtaS5jIHwgICA0Ngo+Pj4+ICAgICArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr Ky0tLS0tCj4+Pj4gICAgICA+ICAxIGZpbGUgY2hhbmdlZCwgNDAgaW5zZXJ0aW9ucygrKSwgNiBk ZWxldGlvbnMoLSkKPj4+PiAgICAgID4KPj4+PiAgICAgID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYwo+Pj4+ICAgICBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2hkbWkuYwo+Pj4+ICAgICAgPiBpbmRleCA1YmRiMzg2Li4xZWRhNzFhIDEwMDY0NAo+ Pj4+ICAgICAgPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKPj4+PiAg ICAgID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCj4+Pj4gICAgICA+ IEBAIC0xMzY4LDIzICsxMzY4LDUzIEBAIGludGVsX2hkbWlfc2V0X2VkaWQoc3RydWN0IGRybV9j b25uZWN0b3IKPj4+PiAgICAgKmNvbm5lY3RvcikKPj4+PiAgICAgID4gICAgICAgcmV0dXJuIGNv bm5lY3RlZDsKPj4+PiAgICAgID4gIH0KPj4+PiAgICAgID4KPj4+PiAgICAgID4gK3ZvaWQgaW50 ZWxfaGRtaV9wcm9iZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlcikKPj4+Pgo+ Pj4+ICAgICBQbGVhc2UgY2FsbCBpdCBfaG90X3BsdWcgaWYgaXQncyBmb3IgdGhlIF9ob3RfcGx1 ZyBwYXRoLgo+Pj4+Cj4+PiBIbW0sIGluaXRpYWwgcGxhbiB3YXMgdG8gY2FsbCBpdCBmcm9tIG90 aGVyIHBsYWNlcyBpZiBhbnkuLgo+Pj4gQnV0IG5vdyBpdCBzZWVtcyBtb3JlIGxvZ2ljYWwgdG8g bmFtZSBpdCBfaG90X3BsdWcuCj4+PiBJIHdpbGwgZG8gdGhhdC4KPj4+Cj4+Pj4gICAgICA+ICt7 Cj4+Pj4gICAgICA+ICsgICAgIHN0cnVjdCBpbnRlbF9oZG1pICppbnRlbF9oZG1pID0KPj4+PiAg ICAgID4gKyAgICAgICAgICAgICAgICAgICAgIGVuY190b19pbnRlbF9oZG1pKCZpbnRlbF9lbmNv ZGVyLT5iYXNlKTsKPj4+PiAgICAgID4gKyAgICAgc3RydWN0IGludGVsX2Nvbm5lY3RvciAqaW50 ZWxfY29ubmVjdG9yID0KPj4+PiAgICAgID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg aW50ZWxfaGRtaS0+YXR0YWNoZWRfY29ubmVjdG9yOwo+Pj4+ICAgICAgPiArCj4+Pj4gICAgICA+ ICsgICAgIC8qCj4+Pj4gICAgICA+ICsgICAgICAqIFdlIGFyZSBoZXJlLCBtZWFucyB0aGVyZSBp cyBhIGhvdHBsdWcgb3IgYSBmb3JjZQo+Pj4+ICAgICAgPiArICAgICAgKiBkZXRlY3Rpb24uIENs ZWFyIHRoZSBjYWNoZWQgRURJRCBhbmQgcHJvYmUgdGhlCj4+Pj4gICAgICA+ICsgICAgICAqIERE QyBidXMgdG8gY2hlY2sgdGhlIGN1cnJlbnQgc3RhdHVzIG9mIEhETUkuCj4+Pj4gICAgICA+ICsg ICAgICAqLwo+Pj4+ICAgICAgPiArICAgICBpbnRlbF9oZG1pX3Vuc2V0X2VkaWQoJmludGVsX2Nv bm5lY3Rvci0+YmFzZSk7Cj4+Pj4gICAgICA+ICsgICAgIGlmIChpbnRlbF9oZG1pX3NldF9lZGlk KCZpbnRlbF9jb25uZWN0b3ItPmJhc2UpKQo+Pj4+ICAgICAgPiArICAgICAgICAgICAgIERSTV9E RUJVR19EUklWRVIoIkREQyBwcm9iZTogZ290IEVESURcbiIpOwo+Pj4+ICAgICAgPiArICAgICBl bHNlCj4+Pj4gICAgICA+ICsgICAgICAgICAgICAgRFJNX0RFQlVHX0RSSVZFUigiRERDIHByb2Jl OiBubyBFRElEXG4iKTsKPj4+PiAgICAgID4gK30KPj4+PiAgICAgID4gKwo+Pj4+ICAgICAgPiAg c3RhdGljIGVudW0gZHJtX2Nvbm5lY3Rvcl9zdGF0dXMKPj4+PiAgICAgID4gIGludGVsX2hkbWlf ZGV0ZWN0KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsIGJvb2wgZm9yY2UpCj4+Pj4g ICAgICA+ICB7Cj4+Pj4gICAgICA+ICAgICAgIGVudW0gZHJtX2Nvbm5lY3Rvcl9zdGF0dXMgc3Rh dHVzOwo+Pj4+ICAgICAgPiArICAgICBzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICppbnRlbF9jb25u ZWN0b3IgPQo+Pj4+ICAgICAgPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b19pbnRl bF9jb25uZWN0b3IoY29ubmVjdG9yKTsKPj4+PiAgICAgID4KPj4+PiAgICAgID4gICAgICAgRFJN X0RFQlVHX0tNUygiW0NPTk5FQ1RPUjolZDolc11cbiIsCj4+Pj4gICAgICA+ICAgICAgICAgICAg ICAgICAgICAgY29ubmVjdG9yLT5iYXNlLmlkIDxodHRwOi8vYmFzZS5pZD4sCj4+Pj4gICAgIGNv bm5lY3Rvci0+bmFtZSk7Cj4+Pj4gICAgICA+ICsgICAgIC8qCj4+Pj4gICAgICA+ICsgICAgICAq IFRoZXJlIGFyZSBtYW55IHVzZXJzcGFjZSBjYWxscyB3aGljaCBwcm9iZSBFRElEIGZyb20KPj4+ PiAgICAgID4gKyAgICAgICogZGV0ZWN0IHBhdGguIEluIGNhc2Ugb2YgbXVsdGlwbGUgaG90cGx1 Zy91bnBsdWcsIHRoZXNlCj4+Pj4gICAgICA+ICsgICAgICAqIGNhbiBjYXVzZSByYWNlIGNvbmRp dGlvbnMgd2hpbGUgcHJvYmluZyBFRElELiBBbHNvIGl0cwo+Pj4+ICAgICAgPiArICAgICAgKiB3 YXN0ZSBvZiBDUFUgY3ljbGVzIHRvIHJlYWQgdGhlIEVESUQgYWdhaW4gYW5kIGFnYWluCj4+Pj4g ICAgICA+ICsgICAgICAqIHVubGVzcyB0aGVyZSBpcyBhIHJlYWwgaG90cGx1Zy4KPj4+PiAgICAg ID4gKyAgICAgICogU28sIHJlbHkgb24gaG90cGx1Z3MgYW5kIGluaXQgdG8gcmVhZCBlZGlkLgo+ Pj4+ICAgICAgPiArICAgICAgKiBDaGVjayBjb25uZWN0b3Igc3RhdHVzIGJhc2VkIG9uIGF2YWls YWJpbGl0eSBvZiBjYWNoZWQgRURJRC4KPj4+PiAgICAgID4gKyAgICAgICovCj4+Pj4gICAgICA+ Cj4+Pj4gICAgICA+IC0gICAgIGludGVsX2hkbWlfdW5zZXRfZWRpZChjb25uZWN0b3IpOwo+Pj4+ ICAgICAgPiAtCj4+Pj4gICAgICA+IC0gICAgIGlmIChpbnRlbF9oZG1pX3NldF9lZGlkKGNvbm5l Y3RvcikpIHsKPj4+PiAgICAgID4gKyAgICAgaWYgKGludGVsX2Nvbm5lY3Rvci0+ZGV0ZWN0X2Vk aWQpIHsKPj4+PiAgICAgID4gICAgICAgICAgICAgICBzdHJ1Y3QgaW50ZWxfaGRtaSAqaW50ZWxf aGRtaSA9Cj4+Pj4gICAgIGludGVsX2F0dGFjaGVkX2hkbWkoY29ubmVjdG9yKTsKPj4+PiAgICAg ID4gLQo+Pj4+ICAgICAgPiAtICAgICAgICAgICAgIGhkbWlfdG9fZGlnX3BvcnQoaW50ZWxfaGRt aSktPmJhc2UudHlwZSA9Cj4+Pj4gICAgIElOVEVMX09VVFBVVF9IRE1JOwo+Pj4+ICAgICAgPiAg ICAgICAgICAgICAgIHN0YXR1cyA9IGNvbm5lY3Rvcl9zdGF0dXNfY29ubmVjdGVkOwo+Pj4+ICAg ICAgPiAtICAgICB9IGVsc2UKPj4+PiAgICAgID4gKyAgICAgICAgICAgICBoZG1pX3RvX2RpZ19w b3J0KGludGVsX2hkbWkpLT5iYXNlLnR5cGUgPQo+Pj4+ICAgICBJTlRFTF9PVVRQVVRfSERNSTsK Pj4+PiAgICAgID4gKyAgICAgICAgICAgICBEUk1fREVCVUdfRFJJVkVSKCJoZG1pIHN0YXR1cyA9 IGNvbm5lY3RlZFxuIik7Cj4+Pj4gICAgICA+ICsgICAgIH0gZWxzZSB7Cj4+Pj4gICAgICA+ICAg ICAgICAgICAgICAgc3RhdHVzID0gY29ubmVjdG9yX3N0YXR1c19kaXNjb25uZWN0ZWQ7Cj4+Pj4g ICAgICA+ICsgICAgICAgICAgICAgRFJNX0RFQlVHX0RSSVZFUigiaGRtaSBzdGF0dXMgPSBkaXNj b25uZWN0ZWRcbiIpOwo+Pj4+ICAgICAgPiArICAgICB9Cj4+Pj4gICAgICA+Cj4+Pj4gICAgICA+ ICAgICAgIHJldHVybiBzdGF0dXM7Cj4+Pj4gICAgICA+ICB9Cj4+Pj4gICAgICA+IEBAIC0yMTA0 LDExICsyMTM0LDE1IEBAIHZvaWQgaW50ZWxfaGRtaV9pbml0X2Nvbm5lY3RvcihzdHJ1Y3QKPj4+ PiAgICAgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCwKPj4+PiAgICAgID4gICAg ICAgaW50ZWxfY29ubmVjdG9yLT51bnJlZ2lzdGVyID0gaW50ZWxfY29ubmVjdG9yX3VucmVnaXN0 ZXI7Cj4+Pj4gICAgICA+Cj4+Pj4gICAgICA+ICAgICAgIGludGVsX2hkbWlfYWRkX3Byb3BlcnRp ZXMoaW50ZWxfaGRtaSwgY29ubmVjdG9yKTsKPj4+PiAgICAgID4gKyAgICAgaW50ZWxfZW5jb2Rl ci0+aG90X3BsdWcgPSBpbnRlbF9oZG1pX3Byb2JlOwo+Pj4+ICAgICAgPgo+Pj4+ICAgICAgPiAg ICAgICBpbnRlbF9jb25uZWN0b3JfYXR0YWNoX2VuY29kZXIoaW50ZWxfY29ubmVjdG9yLCBpbnRl bF9lbmNvZGVyKTsKPj4+PiAgICAgID4gICAgICAgZHJtX2Nvbm5lY3Rvcl9yZWdpc3Rlcihjb25u ZWN0b3IpOwo+Pj4+ICAgICAgPiAgICAgICBpbnRlbF9oZG1pLT5hdHRhY2hlZF9jb25uZWN0b3Ig PSBpbnRlbF9jb25uZWN0b3I7Cj4+Pj4gICAgICA+Cj4+Pj4gICAgICA+ICsgICAgIC8qIFNldCBl ZGlkIGR1cmluZyBpbml0ICovCj4+Pj4gICAgICA+ICsgICAgIGludGVsX2hkbWlfcHJvYmUoaW50 ZWxfZW5jb2Rlcik7Cj4+Pj4KPj4+PiAgICAgU2VwYXJhdGUgcGF0Y2gsIGJ1dCB3ZSByZWFsbHkg ZG9uJ3Qgd2FudCB0aGlzLCBpbml0aWFsIHByb2JlIHNob3VsZCBiZQo+Pj4+ICAgICBkb25lIGFz eW5jIHRvIGF2b2lkIHN0YWxsaW5nIHRoZSBkcml2ZXIuCj4+Pj4gICAgIC1EYW5pZWwKPj4+Cj4+ PiBXaGVyZSBlbHNlIGRvIHlvdSBzdWdnZXN0IHRvIGRvIHRoaXM/IGRldGVjdCBjYWxsIGlzIG9u ZSBwbGFjZSB3aGljaAo+Pj4gZG9lcyB0aGlzIGZvciBEUCBhbmQgdXNlZCB0byBkbyBmb3IgSERN SSBhbHNvLgo+Pj4gQnV0IHNpbmNlIHdlIG5lZWQgdG8gdGFrZSB0aGUgZWRpZCByZWFkaW5nIHBh cnQgb3V0IG9mIGVkaWQsIEkgZG9udAo+Pj4gc2VlIGFueSBvdGhlciBwbGFjZS4KPj4+IFBsZWFz ZSBzdWdnZXN0Lgo+Pgo+PiBZb3UgbmVlZCB0byBpbmplY3QgYSBmYWtlIGhwZCBvciBzaW1pbGFy IGV2ZXJ5dGltZSB0aGUgd29ybGQgbWlnaHQgaGF2ZSBjaGFuZ2VkIGZyb20gdW5kZXIgdXMsIHdo aWNoIGlzbid0IGp1c3QgaW5pdCBidXQgYWxzbyBzeXN0ZW0gcmVzdW1lLgo+Pgo+PiBXZSBkbyB0 aGF0IGFscmVhZHksIHNvIHlvdSBqdXN0IGhhdmUgdG8gbWFrZSBzdXJlIHRoYXQga2VlcHMgb24g d29ya2luZy4KPj4gUHJvYmFibHkgYW5vdGhlciByZWFzb24gd2h5IGl0IHdvdWxkIGJlIGJldHRl ciB0byByZXdvcmsgdGhhdCBlbnRpcmUgaHBkIGhhbmRsaW5nL2RldGVjdGlvbiBjb2RlLCB0byBt YWtlIHN1cmUgaXQncyBjbGVhbiBhbmQgY2FuIGJlIHVuZGVyc3Rvb2QuCj4+Cj4+IEFkZGluZyBo YWNrcyBsaWtlIHRoZXNlIGluIHRoZSBpbml0IGNvZGUgaXMgY2VydGFpbmx5IHRoZSB3cm9uZyBh cHByb2FjaCwgc2luY2Ugd2UgbmV2ZXIgZG9uZSBkZXRlY3Rpb24gdGhpcyBlYXJseSAoc28gc3Vy cHJpc2luZyBmcm9tIGEgaGlnaC1sZXZlbAo+PiBvcmRlcmluZykgYW5kIGl0IGFsc28gbWlzc2Vz IHJlc3VtZSAod2hpY2ggaXMgd2h5IGl0IHNob3VsZCBiZSBkb25lIGluIGNvZGUgc2hhcmVkIGJl dHdlZW4gZHJpdmVyIGxvYWQgYW5kIHJlc3VtZSkuCj4+IC1EYW5pZWwKPj4gLS0KPj4gRGFuaWVs IFZldHRlcgo+PiBTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24KPj4gaHR0cDov L2Jsb2cuZmZ3bGwuY2gKPj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KPj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+PiBJbnRlbC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCj4+IGh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9pbnRlbC1nZngKPgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVs LWdmeAo=