From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH v8 04/35] drm/i915: Initialize HDCP2.2 Date: Fri, 7 Dec 2018 15:16:30 +0100 Message-ID: <20181207141630.GC21184@phenom.ffwll.local> References: <1543315413-24302-1-git-send-email-ramalingam.c@intel.com> <1543315413-24302-5-git-send-email-ramalingam.c@intel.com> <20181206100317.GN21184@phenom.ffwll.local> 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: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "C, Ramalingam" Cc: daniel.vetter@ffwll.ch, intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, tomas.winkler@intel.com List-Id: dri-devel@lists.freedesktop.org T24gRnJpLCBEZWMgMDcsIDIwMTggYXQgMTA6MjQ6MjZBTSArMDUzMCwgQywgUmFtYWxpbmdhbSB3 cm90ZToKPiAKPiBPbiAxMi82LzIwMTggMzozMyBQTSwgRGFuaWVsIFZldHRlciB3cm90ZToKPiA+ IE9uIFR1ZSwgTm92IDI3LCAyMDE4IGF0IDA0OjEzOjAyUE0gKzA1MzAsIFJhbWFsaW5nYW0gQyB3 cm90ZToKPiA+ID4gQWRkIHRoZSBIRENQMi4yIGluaXRpYWxpemF0aW9uIHRvIHRoZSBleGlzdGlu ZyBIRENQMS40IHN0YWNrLgo+ID4gV2l0aCB0aGUgY29tbWVudHMgYmVsb3cgYWRkcmVzc2VkIHRo ZSBjb21taXQgbWVzc2FnZSBpcyBhIGJpdCB1bnRydWUsCj4gPiBzaW5jZSB0aGlzIGp1c3Qgd2ly ZXMgdXAgYSBiYXNpYyBoZGNwMl9zdXBwb3J0ZWQgZmxhZyBpbiBhIGZldyBwbGFjZXMuCj4gPiBQ bGVhc2UgbWFrZSB0aGF0IGNsZWFyLgo+ID4gCj4gPiA+IHYyOgo+ID4gPiAgICBtZWkgaW50ZXJm YWNlIGhhbmRsZSBpcyBwcm90ZWN0ZWQgd2l0aCBtdXRleC4gW0NocmlzIFdpbHNvbl0KPiA+ID4g djM6Cj4gPiA+ICAgIE5vdGlmaWVycyBhcmUgdXNlZCBmb3IgdGhlIG1laSBpbnRlcmZhY2Ugc3Rh dGUuCj4gPiA+IHY0Ogo+ID4gPiAgICBQb2xsIGZvciBtZWkgY2xpZW50IGRldmljZSBzdGF0ZQo+ ID4gPiAgICBFcnJvciBtc2cgZm9yIG91dCBvZiBtZW0gW1VtYV0KPiA+ID4gICAgSW5saW5lIHJl cSBmb3IgaW5pdCBmdW5jdGlvbiByZW1vdmVkIFtVbWFdCj4gPiA+IHY1Ogo+ID4gPiAgICBSZWJh c2UgYXMgUGFydCBvZiByZW9yZGVyaW5nLgo+ID4gPiAgICBDb21wb25lbnQgaXMgdXNlZCBmb3Ig dGhlIEk5MTUgYW5kIE1FSV9IRENQIGludGVyZmFjZSBbRGFuaWVsXQo+ID4gPiB2NjoKPiA+ID4g ICAgSERDUDIuMiB1c2VzIHRoZSBJOTE1IGNvbXBvbmVudCBtYXN0ZXIgdG8gY29tbXVuaWNhdGUg d2l0aCBtZWlfaGRjcAo+ID4gPiAJLSBbRGFuaWVsXQo+ID4gPiAgICBSZXF1aXJlZCBIRENQMi4y IHZhcmlhYmxlcyBkZWZpbmVkIFtTZWFuIFBhdWxdCj4gPiA+IHY3Ogo+ID4gPiAgICBpbnRlbF9o ZGNwMi4yX2luaXQgcmV0dXJucyB2b2lkIFtVbWFdCj4gPiA+ICAgIFJlYWxpZ25pbmcgdGhlIGNv ZGVzLgo+ID4gPiB2ODoKPiA+ID4gICAgQXZvaWQgdXNpbmcgYm9vbCBzdHJ1Y3R1cmUgbWVtYmVy cy4KPiA+ID4gICAgTUVJIGludGVyZmFjZSByZWxhdGVkIGNoYW5nZXMgYXJlIG1vdmVkIGludG8g c2VwYXJhdGUgcGF0Y2guCj4gPiA+ICAgIENvbW1pdCBtc2cgaXMgdXBkYXRlZCBhY2NvcmRpbmds eS4KPiA+ID4gICAgaW50ZWxfaGRjcF9leGl0IGlzIGRlZmluZWQgYW5kIHVzZWQgZnJvbSBpOTE1 X3VubG9hZAo+ID4gPiAKPiA+ID4gU2lnbmVkLW9mZi1ieTogUmFtYWxpbmdhbSBDIDxyYW1hbGlu Z2FtLmNAaW50ZWwuY29tPgo+ID4gPiAtLS0KPiA+ID4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2Rydi5jICAgfCAgIDIgKwo+ID4gPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rw LmMgICB8ICAgMyArLQo+ID4gPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICB8 ICAxNiArKystCj4gPiA+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRjcC5jIHwgMTcy ICsrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tCj4gPiA+ICAgZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jIHwgICAyICstCj4gPiA+ICAgNSBmaWxlcyBjaGFuZ2Vk LCAxMzAgaW5zZXJ0aW9ucygrKSwgNjUgZGVsZXRpb25zKC0pCj4gPiA+IAo+ID4gPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZHJ2LmMKPiA+ID4gaW5kZXggYjFkMjNjNzNjMTQ3Li5mYmVkZDUwMjRhZmUgMTAw NjQ0Cj4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKPiA+ID4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwo+ID4gPiBAQCAtMTc1NSw2ICsxNzU1 LDggQEAgdm9pZCBpOTE1X2RyaXZlcl91bmxvYWQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiA+ ID4gICAJZGlzYWJsZV9ycG1fd2FrZXJlZl9hc3NlcnRzKGRldl9wcml2KTsKPiA+ID4gKwlpbnRl bF9oZGNwX2V4aXQoZGV2X3ByaXYpOwo+ID4gVGhpcyBzbWVsbHMgbGlrZSBhIHNlcGFyYXRlIHBh dGNoLiBOZWVkcyB0byBiZSBzcGxpdCBvdXQuIExvb2tpbmcgYXQgdGhlCj4gPiBpbXBsZW1lbnRh dGlvbiBvZiBpbnRlbF9oZGNwX2V4aXQgSSB0aGluayBpdCdzIHBhcGVyaW5nIG92ZXIgc29tZSB1 bmxvYWQKPiA+IHRyb3VibGUuIFdlIHNob3VsZCBiZSBzaHV0dGluZyBkb3duIGFsbCB0aGUgb3V0 cHV0cyBvbiBkcml2ZXIgdW5sb2FkLAo+ID4gd2hpY2ggbWVpIHNob3VsZCBiZSB0cmlnZ2VyaW5n ICh3aXRoIHRoZSBjb21wb25lbnQgc3R1ZmYpLCB3aGljaCBtZWFucwo+ID4gdGhpcyBjb2RlIHNo b3VsZCBiZSB1bmVjZXNzYXJ5LiBCdXQgSSdtIG5vdCBzdXJlLgo+ID4gCj4gPiBFaXRoZXIgd2F5 IG5lZWRzIHRvIGJlIHNwbGl0IG91dCwgYnV0IEkgdGhpbmsgcHJvcGVyIHNvbHV0aW9uIGlzIHRv IGRyb3AKPiA+IGl0Lgo+IAo+IEFzIHdlIGRpc2N1c3NlZCwgZHVyaW5nIHY3LS0+djggaSBjaGFu Z2VkIHRoZSBjb21wb25lbnQgdXNhZ2Ugc3VjaCB0aGF0IGl0IHdvbnQgYWZmZWN0IGk5MTUgbG9h ZC91bmxvYWQuCj4gRHVyaW5nIHRoZSBmaXJzdCBjb25uZWN0b3IgaW5pdCwgY29tcG9uZW50IG1h c3RlciB3aWxsIGJlIGFkZGVkLiBBbmQgZHVyaW5nIHRoZSBtZWlfY2xpZW50IGRldiBhbmQgZHJp dmVyIGJpbmRpbmcsCj4gY29tcG9uZW50IHdpbGwgYmUgYWRkZWQgaGVuY2UgdGhlIGJpbmRpbmcg d2lsbCBoYXBwZW4gd2l0aCBpbnRlcmZhY2UgaW5pdGlhbGl6YXRpb24gZnJvbSBtZWkuCj4gCj4g VXBvbiBIRENQMi4yIHJlcXVlc3QsIGNvbXBvbmVudCBiaW5kaW5nIHdpbGwgYmUgY2hlY2tlZCBi ZWZvcmUgYXR0ZW1wdGluZyBmb3IgSERDUDIuMiBhdXRoLgo+IFNvIGNvbXBvbmVudCBtYXN0ZXIg dW5iaW5kIHRyaWdnZXJlZCBkdWUgdG8gbWVpIGNvbXBvbmVudF9kZWwsIHdpbGwgdGVhcmRvd24g dGhlIEhEQ1AyLjIgY2FwYWJpbGl0eSBvZiB0aGUgSTkxNS4KPiAKPiBTbyBpbiBjYXNlIG9mIEk5 MTUgdW5sb2FkIHRyaWdnZXIsIGZyb20gd2hhdHNvZXZlciByZWFzb24sIHdlIG5lZWQgdG8gY2xl YXIgdGhlIEhEQ1AgYWN0aXZpdGllcyBhbmQgYnJpbmcgZG93bgo+IHRoZSBpOTE1X2hkY3BfY29t cG9uZW50X21hc3RlciBhbmQgdGhlIGludGVyZmFjZSB3aXRoIG1laS4gRm9yIHRoaXMgcHVycG9z ZSBvbmx5IGludGVsX2hkY3BfZXhpdCBpcyB3cml0dGVuIGhlcmUuCgpTdW1tYXJpemluZyBvdXIg aXJjIGRpc2N1c3Npb246CgotIEkgbGlrZSB0aGUgY29tcG9uZW50IHVzYWdlIG9mIHY3IG11Y2gg bW9yZS4KCi0gSSBzdGlsbCBkb24ndCB0aGluayB3ZSBoYXZlIGEgdXNlLWNhc2UgZm9yIGxvYWRp bmcvdW5sb2FkaW5nIG1laV9oZGNwIG9uCiAgZGVtYW5kLCBvciBhdCBsZWFzdCBub3QgaW4gbG9j a3N0ZXAgd2l0aCBpOTE1LmtvOgogIC0gQ3JPUyB3b24ndCB1c2UgTUUKICAtIHVzdWFsIGxpbnV4 IGRpc3Ryb3MgZG9uJ3QgY2FyZSBhYm91dCBjb250ZW50IHByb3RlY3Rpb24sIHNvIHdvbid0IGV2 ZW4KICAgIGVuYWJsZSB0aGUgTUVJX0hEQ1AgZHJpdmVyCiAgLSBpb3RnL2VtYmVkZGVkIGVpdGhl ciB3YW50cyBpdCAoYW5kIHRoZW4gcHJvYmFibHkgYWx3YXlzKSBvciBkb2Vzbid0CiAgICB3YW50 IGl0IChpbiB3aGljaCBjYXNlIGl0IHdvbid0IGJlIGJ1aWx0IGluKS4gUGx1cyBlbWJlZGRlZCB0 ZW5kcyB0bwogICAgaGF2ZSBhbGwgYnVpbHQtaW4gZHJpdmVycyBhbnl3YXksIHNvIHRoZXkgYWxs IGxvYWQgaW4gb3JkZXIuCgogIEFuZCBJIGRvbid0IHdhbnQgdG8gcmV2aWV3IHRoZSB2YWxpZGF0 aW9uIGNvdmVyYWdlIGFuZCBsb2NraW5nIGFuZAogIHJ1bnRpbWUgY29uc2VxdWVuY2VzIG9mIG1h a2luZyB0aGlzIHBvc3NpYmxlLCBzaW5jZSBJJ20gbGF6eSA6LSkKCi0gSSBsb29rZWQgbG9ja2Rl cCBzcGxhdCBpbiB2NyBhZ2FpbiBpbiBtb3JlIGRldGFpbC4gSXQncyBub3QgYWN0dWFsbHkgYW4K ICBpc3N1ZSB3aXRoIGNvbXBvbmVudCB1c2FnZSwgYnV0IGp1c3QgdW5sdWNreSB0byBub3cgcnVu IGludG8gYQogIHByZWV4aXN0aW5nIGlzc3VlOiBBbnkgZHJpdmVyIHlvdSB1bmJpbmQgdGhyb3Vn aCB0aGUgc3lzZnMgZmlsZSB3aWxsCiAgZ2VuZXJhdGUgYSBsb2NrZGVwIHNwbGF0IGlmIGl0IHJl bW92ZXMgYW55IHN5c2ZzIGZpbGVzIGl0c2VsZi4gVGhhdCdzIGEKICBwcmUtZXhpc3RpbmcgYnVn LCBlYXNpbHkgcmVwcm9kdWNlZCBieSB1bmJpbmRpbmcgaTkxNS4KCiAgT25seSB0aGluZyBuZXcg aXMgdGhhdCBjb21wb25lbnQgY29ubmVjdHMgdGhlIHNuZC1oZGEtaW50ZWwgYW5kIGk5MTUKICB1 bmxvYWQgc2VxdWVuY2UgdGhyb3VnaCB0aGUgY29tcG9uZW50IGxvY2sgKGJ1dCBkb2VzIF9ub3Rf IGNyZWF0ZSBhCiAgbG9vcCksIGFuZCBzaW5jZSB3ZSB1bmJpbmQgc25kLWhkYS1pbnRlbCB0aHJv dWdoIHN5c2ZzIGFuZCBpOTE5CiAgdW5yZWdpc3RlcnMgX2xvdHNfIG9mIHN5c2ZzIGZpbGVzIGxv Y2tkZXAgbm93IHNlZXMgdGhlIGN5Y2xlLiBJdCdzCiAgYWx3YXlzIGJlZW4gdGhlcmUuCgogIEkn bSB3b3JraW5nIG9uIGEgc2VwYXJhdGUgcGF0Y2ggdG8gZml4IHRoaXMuCgpDaGVlcnMsIERhbmll bAo+IAo+ID4gCj4gPiA+ICsKPiA+ID4gICAJaTkxNV9kcml2ZXJfdW5yZWdpc3RlcihkZXZfcHJp dik7Cj4gPiA+ICAgCWlmIChpOTE1X2dlbV9zdXNwZW5kKGRldl9wcml2KSkKPiA+ID4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcC5jCj4gPiA+IGluZGV4IDE4ZTNhNWEzZDg3My4uYWM2MmFmMDczNjg4IDEw MDY0NAo+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gPiA+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPiA+ID4gQEAgLTY2NzUsNyArNjY3 NSw4IEBAIGludGVsX2RwX2luaXRfY29ubmVjdG9yKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQg KmludGVsX2RpZ19wb3J0LAo+ID4gPiAgIAlpbnRlbF9kcF9hZGRfcHJvcGVydGllcyhpbnRlbF9k cCwgY29ubmVjdG9yKTsKPiA+ID4gICAJaWYgKGlzX2hkY3Bfc3VwcG9ydGVkKGRldl9wcml2LCBw b3J0KSAmJiAhaW50ZWxfZHBfaXNfZWRwKGludGVsX2RwKSkgewo+ID4gPiAtCQlpbnQgcmV0ID0g aW50ZWxfaGRjcF9pbml0KGludGVsX2Nvbm5lY3RvciwgJmludGVsX2RwX2hkY3Bfc2hpbSk7Cj4g PiA+ICsJCWludCByZXQgPSBpbnRlbF9oZGNwX2luaXQoaW50ZWxfY29ubmVjdG9yLCAmaW50ZWxf ZHBfaGRjcF9zaGltLAo+ID4gPiArCQkJCQkgIGZhbHNlKTsKPiA+ID4gICAJCWlmIChyZXQpCj4g PiA+ICAgCQkJRFJNX0RFQlVHX0tNUygiSERDUCBpbml0IGZhaWxlZCwgc2tpcHBpbmcuXG4iKTsK PiA+ID4gICAJfQo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4gPiBpbmRleCBhNjJk NzdiNzYyOTEuLjg1YTUyNjU5ODA5NiAxMDA2NDQKPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHJ2LmgKPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHJ2LmgKPiA+ID4gQEAgLTM4OCw2ICszODgsMTcgQEAgc3RydWN0IGludGVsX2hkY3Agewo+ID4g PiAgIAl1NjQgdmFsdWU7Cj4gPiA+ICAgCXN0cnVjdCBkZWxheWVkX3dvcmsgY2hlY2tfd29yazsK PiA+ID4gICAJc3RydWN0IHdvcmtfc3RydWN0IHByb3Bfd29yazsKPiA+ID4gKwo+ID4gPiArCS8q IEhEQ1AyLjIgcmVsYXRlZCBkZWZpbml0aW9ucyAqLwo+ID4gPiArCS8qIEZsYWcgaW5kaWNhdGVz IHdoZXRoZXIgdGhpcyBjb25uZWN0b3Igc3VwcG9ydHMgSERDUDIuMiBvciBub3QuICovCj4gPiA+ ICsJdTggaGRjcDJfc3VwcG9ydGVkOwo+ID4gPiArCj4gPiA+ICsJLyoKPiA+ID4gKwkgKiBDb250 ZW50IFN0cmVhbSBUeXBlIGRlZmluZWQgYnkgY29udGVudCBvd25lci4gVFlQRTAoMHgwKSBjb250 ZW50IGNhbgo+ID4gPiArCSAqIGZsb3cgaW4gdGhlIGxpbmsgcHJvdGVjdGVkIGJ5IEhEQ1AyLjIg b3IgSERDUDEuNCwgd2hlcmUgYXMgVFlQRTEoMHgxKQo+ID4gPiArCSAqIGNvbnRlbnQgY2FuIGZs b3cgb25seSB0aHJvdWdoIGEgbGluayBwcm90ZWN0ZWQgYnkgSERDUDIuMi4KPiA+ID4gKwkgKi8K PiA+ID4gKwl1OCBjb250ZW50X3R5cGU7Cj4gPiA+ICAgfTsKPiA+ID4gICBzdHJ1Y3QgaW50ZWxf Y29ubmVjdG9yIHsKPiA+ID4gQEAgLTIwMTYsMTIgKzIwMjcsMTUgQEAgdm9pZCBpbnRlbF9oZGNw X2F0b21pY19jaGVjayhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ID4gPiAgIAkJ CSAgICAgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKm9sZF9zdGF0ZSwKPiA+ID4gICAJCQkg ICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpuZXdfc3RhdGUpOwo+ID4gPiAgIGludCBp bnRlbF9oZGNwX2luaXQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ID4gPiAt CQkgICAgY29uc3Qgc3RydWN0IGludGVsX2hkY3Bfc2hpbSAqaGRjcF9zaGltKTsKPiA+ID4gKwkJ ICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9oZGNwX3NoaW0gKmhkY3Bfc2hpbSwKPiA+ID4gKwkJICAg IGJvb2wgaGRjcDJfc3VwcG9ydGVkKTsKPiA+ID4gICBpbnQgaW50ZWxfaGRjcF9lbmFibGUoc3Ry dWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKPiA+ID4gICBpbnQgaW50ZWxfaGRjcF9k aXNhYmxlKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3Rvcik7Cj4gPiA+ICAgaW50IGlu dGVsX2hkY3BfY2hlY2tfbGluayhzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpOwo+ ID4gPiAgIGJvb2wgaXNfaGRjcF9zdXBwb3J0ZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2LCBlbnVtIHBvcnQgcG9ydCk7Cj4gPiA+ICAgYm9vbCBpbnRlbF9oZGNwX2NhcGFibGUo c3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKPiA+ID4gK2Jvb2wgaXNfaGRjcDJf c3VwcG9ydGVkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cj4gPiA+ICt2b2lk IGludGVsX2hkY3BfZXhpdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+ID4g PiAgIC8qIGludGVsX3Bzci5jICovCj4gPiA+ICAgI2RlZmluZSBDQU5fUFNSKGRldl9wcml2KSAo SEFTX1BTUihkZXZfcHJpdikgJiYgZGV2X3ByaXYtPnBzci5zaW5rX3N1cHBvcnQpCj4gPiA+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZGNwLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9oZGNwLmMKPiA+ID4gaW5kZXggMDRiYTZjMTNlNzE1Li45OWRkZGI1 NDA5NTggMTAwNjQ0Cj4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkY3Au Ywo+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZGNwLmMKPiA+ID4gQEAg LTczMCw2ICs3MzAsNjUgQEAgc3RydWN0IGludGVsX2Nvbm5lY3RvciAqaW50ZWxfaGRjcF90b19j b25uZWN0b3Ioc3RydWN0IGludGVsX2hkY3AgKmhkY3ApCj4gPiA+ICAgCXJldHVybiBjb250YWlu ZXJfb2YoaGRjcCwgc3RydWN0IGludGVsX2Nvbm5lY3RvciwgaGRjcCk7Cj4gPiA+ICAgfQo+ID4g PiArLyogSW1wbGVtZW50cyBQYXJ0IDMgb2YgdGhlIEhEQ1AgYXV0aG9yaXphdGlvbiBwcm9jZWR1 cmUgKi8KPiA+ID4gK2ludCBpbnRlbF9oZGNwX2NoZWNrX2xpbmsoc3RydWN0IGludGVsX2Nvbm5l Y3RvciAqY29ubmVjdG9yKQo+ID4gU3B1cmlvdXMgbW92ZW1lbnQgb2YgdGhpcyBmdW5jdGlvbi4g UGxlYXNlIGRyb3AsIG9yIGlmIHlvdSBuZWVkIHRoaXMKPiA+IGZ1bmN0aW9uIG1vdmVkLCBzcGxp dCBpdCBvdXQgaW50byBhIHNlcGFyYXRlIHBhdGNoIHRoYXQgb25seSBtb3ZlcyB0aGUKPiA+IGZ1 bmN0aW9uIGFyb3VuZC4KPiAKPiBJbnRlbnRpb24gaXMgZ2F0aGVyaW5nIHRoZSBoZGNwMS40IGZ1 bmN0aW9ucyB0b2dldGhlciBiZWZvcmUgaW1wbGVtZW50aW5nIHRoZSBoZGNwMi4yIGNvZGUuCj4g QnV0IGFzIHlvdSBtZW50aW9uZWQgaSB3aWxsIGRvIGl0IGFzIGEgc2VwYXJhdGUgcGF0Y2guCgpB aCB5ZWFoIHRoYXQgbWFrZXMgc2Vuc2UsIGJ1dCBjb21taXQgbWVzc2FnZSBkaWRuJ3QgZXhwbGFp biB0aGF0LiBTZXBhcmF0ZQpwYXRjaCBzb3VuZHMgZ29vZC4KLURhbmllbAoKPiAKPiAtLVJhbQo+ IAo+ID4gPiArewo+ID4gPiArCXN0cnVjdCBpbnRlbF9oZGNwICpoZGNwID0gJmNvbm5lY3Rvci0+ aGRjcDsKPiA+ID4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBjb25uZWN0 b3ItPmJhc2UuZGV2LT5kZXZfcHJpdmF0ZTsKPiA+ID4gKwlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9w b3J0ICppbnRlbF9kaWdfcG9ydCA9IGNvbm5fdG9fZGlnX3BvcnQoY29ubmVjdG9yKTsKPiA+ID4g KwllbnVtIHBvcnQgcG9ydCA9IGludGVsX2RpZ19wb3J0LT5iYXNlLnBvcnQ7Cj4gPiA+ICsJaW50 IHJldCA9IDA7Cj4gPiA+ICsKPiA+ID4gKwlpZiAoIWhkY3AtPnNoaW0pCj4gPiA+ICsJCXJldHVy biAtRU5PRU5UOwo+ID4gPiArCj4gPiA+ICsJbXV0ZXhfbG9jaygmaGRjcC0+bXV0ZXgpOwo+ID4g PiArCj4gPiA+ICsJaWYgKGhkY3AtPnZhbHVlID09IERSTV9NT0RFX0NPTlRFTlRfUFJPVEVDVElP Tl9VTkRFU0lSRUQpCj4gPiA+ICsJCWdvdG8gb3V0Owo+ID4gPiArCj4gPiA+ICsJaWYgKCEoSTkx NV9SRUFEKFBPUlRfSERDUF9TVEFUVVMocG9ydCkpICYgSERDUF9TVEFUVVNfRU5DKSkgewo+ID4g PiArCQlEUk1fRVJST1IoIiVzOiVkIEhEQ1AgY2hlY2sgZmFpbGVkOiBsaW5rIGlzIG5vdCBlbmNy eXB0ZWQsJXhcbiIsCj4gPiA+ICsJCQkgIGNvbm5lY3Rvci0+YmFzZS5uYW1lLCBjb25uZWN0b3It PmJhc2UuYmFzZS5pZCwKPiA+ID4gKwkJCSAgSTkxNV9SRUFEKFBPUlRfSERDUF9TVEFUVVMocG9y dCkpKTsKPiA+ID4gKwkJcmV0ID0gLUVOWElPOwo+ID4gPiArCQloZGNwLT52YWx1ZSA9IERSTV9N T0RFX0NPTlRFTlRfUFJPVEVDVElPTl9ERVNJUkVEOwo+ID4gPiArCQlzY2hlZHVsZV93b3JrKCZo ZGNwLT5wcm9wX3dvcmspOwo+ID4gPiArCQlnb3RvIG91dDsKPiA+ID4gKwl9Cj4gPiA+ICsKPiA+ ID4gKwlpZiAoaGRjcC0+c2hpbS0+Y2hlY2tfbGluayhpbnRlbF9kaWdfcG9ydCkpIHsKPiA+ID4g KwkJaWYgKGhkY3AtPnZhbHVlICE9IERSTV9NT0RFX0NPTlRFTlRfUFJPVEVDVElPTl9VTkRFU0lS RUQpIHsKPiA+ID4gKwkJCWhkY3AtPnZhbHVlID0gRFJNX01PREVfQ09OVEVOVF9QUk9URUNUSU9O X0VOQUJMRUQ7Cj4gPiA+ICsJCQlzY2hlZHVsZV93b3JrKCZoZGNwLT5wcm9wX3dvcmspOwo+ID4g PiArCQl9Cj4gPiA+ICsJCWdvdG8gb3V0Owo+ID4gPiArCX0KPiA+ID4gKwo+ID4gPiArCURSTV9E RUJVR19LTVMoIlslczolZF0gSERDUCBsaW5rIGZhaWxlZCwgcmV0cnlpbmcgYXV0aGVudGljYXRp b25cbiIsCj4gPiA+ICsJCSAgICAgIGNvbm5lY3Rvci0+YmFzZS5uYW1lLCBjb25uZWN0b3ItPmJh c2UuYmFzZS5pZCk7Cj4gPiA+ICsKPiA+ID4gKwlyZXQgPSBfaW50ZWxfaGRjcF9kaXNhYmxlKGNv bm5lY3Rvcik7Cj4gPiA+ICsJaWYgKHJldCkgewo+ID4gPiArCQlEUk1fRVJST1IoIkZhaWxlZCB0 byBkaXNhYmxlIGhkY3AgKCVkKVxuIiwgcmV0KTsKPiA+ID4gKwkJaGRjcC0+dmFsdWUgPSBEUk1f TU9ERV9DT05URU5UX1BST1RFQ1RJT05fREVTSVJFRDsKPiA+ID4gKwkJc2NoZWR1bGVfd29yaygm aGRjcC0+cHJvcF93b3JrKTsKPiA+ID4gKwkJZ290byBvdXQ7Cj4gPiA+ICsJfQo+ID4gPiArCj4g PiA+ICsJcmV0ID0gX2ludGVsX2hkY3BfZW5hYmxlKGNvbm5lY3Rvcik7Cj4gPiA+ICsJaWYgKHJl dCkgewo+ID4gPiArCQlEUk1fRVJST1IoIkZhaWxlZCB0byBlbmFibGUgaGRjcCAoJWQpXG4iLCBy ZXQpOwo+ID4gPiArCQloZGNwLT52YWx1ZSA9IERSTV9NT0RFX0NPTlRFTlRfUFJPVEVDVElPTl9E RVNJUkVEOwo+ID4gPiArCQlzY2hlZHVsZV93b3JrKCZoZGNwLT5wcm9wX3dvcmspOwo+ID4gPiAr CQlnb3RvIG91dDsKPiA+ID4gKwl9Cj4gPiA+ICsKPiA+ID4gK291dDoKPiA+ID4gKwltdXRleF91 bmxvY2soJmhkY3AtPm11dGV4KTsKPiA+ID4gKwlyZXR1cm4gcmV0Owo+ID4gPiArfQo+ID4gPiAr Cj4gPiA+ICAgc3RhdGljIHZvaWQgaW50ZWxfaGRjcF9jaGVja193b3JrKHN0cnVjdCB3b3JrX3N0 cnVjdCAqd29yaykKPiA+ID4gICB7Cj4gPiA+ICAgCXN0cnVjdCBpbnRlbF9oZGNwICpoZGNwID0g Y29udGFpbmVyX29mKHRvX2RlbGF5ZWRfd29yayh3b3JrKSwKPiA+ID4gQEAgLTc3NCwxNCArODMz LDM0IEBAIGJvb2wgaXNfaGRjcF9zdXBwb3J0ZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2LCBlbnVtIHBvcnQgcG9ydCkKPiA+ID4gICAJCSFJU19DSEVSUllWSUVXKGRldl9wcml2 KSAmJiBwb3J0IDwgUE9SVF9FKTsKPiA+ID4gICB9Cj4gPiA+ICtib29sIGlzX2hkY3AyX3N1cHBv cnRlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gPiA+ICt7Cj4gPiA+ICsJ cmV0dXJuICgoSU5URUxfR0VOKGRldl9wcml2KSA+PSAxMCB8fCBJU19HRU1JTklMQUtFKGRldl9w cml2KSB8fAo+ID4gPiArCQkgSVNfS0FCWUxBS0UoZGV2X3ByaXYpKSAmJiBJU19FTkFCTEVEKENP TkZJR19JTlRFTF9NRUlfSERDUCkpOwo+ID4gPiArfQo+ID4gPiArCj4gPiA+ICtzdGF0aWMgdm9p ZCBpbnRlbF9oZGNwMl9pbml0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiA+ ID4gK3sKPiA+ID4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1 KGNvbm5lY3Rvci0+YmFzZS5kZXYpOwo+ID4gPiArCXN0cnVjdCBpbnRlbF9oZGNwICpoZGNwID0g JmNvbm5lY3Rvci0+aGRjcDsKPiA+ID4gKwo+ID4gPiArCVdBUk5fT04oIWlzX2hkY3AyX3N1cHBv cnRlZChkZXZfcHJpdikpOwo+ID4gPiArCj4gPiA+ICsJLyogVE9ETzogTUVJIGludGVyZmFjZSBu ZWVkcyB0byBiZSBpbml0aWFsaXplZCBoZXJlICovCj4gPiA+ICsJaGRjcC0+aGRjcDJfc3VwcG9y dGVkID0gMTsKPiA+ID4gK30KPiA+ID4gKwo+ID4gPiAgIGludCBpbnRlbF9oZGNwX2luaXQoc3Ry dWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ID4gPiAtCQkgICAgY29uc3Qgc3RydWN0 IGludGVsX2hkY3Bfc2hpbSAqc2hpbSkKPiA+ID4gKwkJICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9o ZGNwX3NoaW0gKnNoaW0sCj4gPiA+ICsJCSAgICBib29sIGhkY3AyX3N1cHBvcnRlZCkKPiA+ID4g ICB7Cj4gPiA+ICAgCXN0cnVjdCBpbnRlbF9oZGNwICpoZGNwID0gJmNvbm5lY3Rvci0+aGRjcDsK PiA+ID4gICAJaW50IHJldDsKPiA+ID4gLQlyZXQgPSBkcm1fY29ubmVjdG9yX2F0dGFjaF9jb250 ZW50X3Byb3RlY3Rpb25fcHJvcGVydHkoCj4gPiA+IC0JCQkmY29ubmVjdG9yLT5iYXNlKTsKPiA+ ID4gKwlpZiAoIXNoaW0pCj4gPiA+ICsJCXJldHVybiAtRUlOVkFMOwo+ID4gPiArCj4gPiA+ICsJ cmV0ID0gZHJtX2Nvbm5lY3Rvcl9hdHRhY2hfY29udGVudF9wcm90ZWN0aW9uX3Byb3BlcnR5KCZj b25uZWN0b3ItPmJhc2UpOwo+ID4gPiAgIAlpZiAocmV0KQo+ID4gPiAgIAkJcmV0dXJuIHJldDsK PiA+ID4gQEAgLTc4OSw5ICs4NjgsMzcgQEAgaW50IGludGVsX2hkY3BfaW5pdChzdHJ1Y3QgaW50 ZWxfY29ubmVjdG9yICpjb25uZWN0b3IsCj4gPiA+ICAgCW11dGV4X2luaXQoJmhkY3AtPm11dGV4 KTsKPiA+ID4gICAJSU5JVF9ERUxBWUVEX1dPUksoJmhkY3AtPmNoZWNrX3dvcmssIGludGVsX2hk Y3BfY2hlY2tfd29yayk7Cj4gPiA+ICAgCUlOSVRfV09SSygmaGRjcC0+cHJvcF93b3JrLCBpbnRl bF9oZGNwX3Byb3Bfd29yayk7Cj4gPiA+ICsKPiA+ID4gKwlpZiAoaGRjcDJfc3VwcG9ydGVkKQo+ ID4gPiArCQlpbnRlbF9oZGNwMl9pbml0KGNvbm5lY3Rvcik7Cj4gPiA+ICsKPiA+ID4gICAJcmV0 dXJuIDA7Cj4gPiA+ICAgfQo+ID4gPiArdm9pZCBpbnRlbF9oZGNwX2V4aXQoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ID4gPiArewo+ID4gPiArCXN0cnVjdCBkcm1fZGV2aWNl ICpkZXYgPSAmZGV2X3ByaXYtPmRybTsKPiA+ID4gKwlzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpp bnRlbF9jb25uZWN0b3I7Cj4gPiA+ICsJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcjsK PiA+ID4gKwlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXIgY29ubl9pdGVyOwo+ID4gPiAr Cj4gPiA+ICsJZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfYmVnaW4oZGV2LCAmY29ubl9pdGVyKTsK PiA+ID4gKwlkcm1fZm9yX2VhY2hfY29ubmVjdG9yX2l0ZXIoY29ubmVjdG9yLCAmY29ubl9pdGVy KSB7Cj4gPiA+ICsJCWludGVsX2Nvbm5lY3RvciA9IHRvX2ludGVsX2Nvbm5lY3Rvcihjb25uZWN0 b3IpOwo+ID4gPiArCj4gPiA+ICsJCWlmICghaW50ZWxfY29ubmVjdG9yLT5oZGNwLnNoaW0pCj4g PiA+ICsJCQljb250aW51ZTsKPiA+ID4gKwo+ID4gPiArCQlpbnRlbF9oZGNwX2Rpc2FibGUoaW50 ZWxfY29ubmVjdG9yKTsKPiA+ID4gKwo+ID4gPiArCQltdXRleF9sb2NrKCZpbnRlbF9jb25uZWN0 b3ItPmhkY3AubXV0ZXgpOwo+ID4gPiArCQlpbnRlbF9jb25uZWN0b3ItPmhkY3AuaGRjcDJfc3Vw cG9ydGVkID0gMDsKPiA+ID4gKwkJaW50ZWxfY29ubmVjdG9yLT5oZGNwLnNoaW0gPSBOVUxMOwo+ ID4gPiArCQltdXRleF91bmxvY2soJmludGVsX2Nvbm5lY3Rvci0+aGRjcC5tdXRleCk7Cj4gPiA+ ICsJfQo+ID4gPiArCWRybV9jb25uZWN0b3JfbGlzdF9pdGVyX2VuZCgmY29ubl9pdGVyKTsKPiA+ ID4gK30KPiA+ID4gKwo+ID4gPiAgIGludCBpbnRlbF9oZGNwX2VuYWJsZShzdHJ1Y3QgaW50ZWxf Y29ubmVjdG9yICpjb25uZWN0b3IpCj4gPiA+ICAgewo+ID4gPiAgIAlzdHJ1Y3QgaW50ZWxfaGRj cCAqaGRjcCA9ICZjb25uZWN0b3ItPmhkY3A7Cj4gPiA+IEBAIC04NjcsNjIgKzk3NCwzIEBAIHZv aWQgaW50ZWxfaGRjcF9hdG9taWNfY2hlY2soc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rv ciwKPiA+ID4gICAJCQkJCQkgICBuZXdfc3RhdGUtPmNydGMpOwo+ID4gPiAgIAljcnRjX3N0YXRl LT5tb2RlX2NoYW5nZWQgPSB0cnVlOwo+ID4gPiAgIH0KPiA+ID4gLQo+ID4gPiAtLyogSW1wbGVt ZW50cyBQYXJ0IDMgb2YgdGhlIEhEQ1AgYXV0aG9yaXphdGlvbiBwcm9jZWR1cmUgKi8KPiA+ID4g LWludCBpbnRlbF9oZGNwX2NoZWNrX2xpbmsoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVj dG9yKQo+ID4gPiAtewo+ID4gPiAtCXN0cnVjdCBpbnRlbF9oZGNwICpoZGNwID0gJmNvbm5lY3Rv ci0+aGRjcDsKPiA+ID4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBjb25u ZWN0b3ItPmJhc2UuZGV2LT5kZXZfcHJpdmF0ZTsKPiA+ID4gLQlzdHJ1Y3QgaW50ZWxfZGlnaXRh bF9wb3J0ICppbnRlbF9kaWdfcG9ydCA9IGNvbm5fdG9fZGlnX3BvcnQoY29ubmVjdG9yKTsKPiA+ ID4gLQllbnVtIHBvcnQgcG9ydCA9IGludGVsX2RpZ19wb3J0LT5iYXNlLnBvcnQ7Cj4gPiA+IC0J aW50IHJldCA9IDA7Cj4gPiA+IC0KPiA+ID4gLQlpZiAoIWhkY3AtPnNoaW0pCj4gPiA+IC0JCXJl dHVybiAtRU5PRU5UOwo+ID4gPiAtCj4gPiA+IC0JbXV0ZXhfbG9jaygmaGRjcC0+bXV0ZXgpOwo+ ID4gPiAtCj4gPiA+IC0JaWYgKGhkY3AtPnZhbHVlID09IERSTV9NT0RFX0NPTlRFTlRfUFJPVEVD VElPTl9VTkRFU0lSRUQpCj4gPiA+IC0JCWdvdG8gb3V0Owo+ID4gPiAtCj4gPiA+IC0JaWYgKCEo STkxNV9SRUFEKFBPUlRfSERDUF9TVEFUVVMocG9ydCkpICYgSERDUF9TVEFUVVNfRU5DKSkgewo+ ID4gPiAtCQlEUk1fRVJST1IoIiVzOiVkIEhEQ1AgY2hlY2sgZmFpbGVkOiBsaW5rIGlzIG5vdCBl bmNyeXB0ZWQsJXhcbiIsCj4gPiA+IC0JCQkgIGNvbm5lY3Rvci0+YmFzZS5uYW1lLCBjb25uZWN0 b3ItPmJhc2UuYmFzZS5pZCwKPiA+ID4gLQkJCSAgSTkxNV9SRUFEKFBPUlRfSERDUF9TVEFUVVMo cG9ydCkpKTsKPiA+ID4gLQkJcmV0ID0gLUVOWElPOwo+ID4gPiAtCQloZGNwLT52YWx1ZSA9IERS TV9NT0RFX0NPTlRFTlRfUFJPVEVDVElPTl9ERVNJUkVEOwo+ID4gPiAtCQlzY2hlZHVsZV93b3Jr KCZoZGNwLT5wcm9wX3dvcmspOwo+ID4gPiAtCQlnb3RvIG91dDsKPiA+ID4gLQl9Cj4gPiA+IC0K PiA+ID4gLQlpZiAoaGRjcC0+c2hpbS0+Y2hlY2tfbGluayhpbnRlbF9kaWdfcG9ydCkpIHsKPiA+ ID4gLQkJaWYgKGhkY3AtPnZhbHVlICE9IERSTV9NT0RFX0NPTlRFTlRfUFJPVEVDVElPTl9VTkRF U0lSRUQpIHsKPiA+ID4gLQkJCWhkY3AtPnZhbHVlID0gRFJNX01PREVfQ09OVEVOVF9QUk9URUNU SU9OX0VOQUJMRUQ7Cj4gPiA+IC0JCQlzY2hlZHVsZV93b3JrKCZoZGNwLT5wcm9wX3dvcmspOwo+ ID4gPiAtCQl9Cj4gPiA+IC0JCWdvdG8gb3V0Owo+ID4gPiAtCX0KPiA+ID4gLQo+ID4gPiAtCURS TV9ERUJVR19LTVMoIlslczolZF0gSERDUCBsaW5rIGZhaWxlZCwgcmV0cnlpbmcgYXV0aGVudGlj YXRpb25cbiIsCj4gPiA+IC0JCSAgICAgIGNvbm5lY3Rvci0+YmFzZS5uYW1lLCBjb25uZWN0b3It PmJhc2UuYmFzZS5pZCk7Cj4gPiA+IC0KPiA+ID4gLQlyZXQgPSBfaW50ZWxfaGRjcF9kaXNhYmxl KGNvbm5lY3Rvcik7Cj4gPiA+IC0JaWYgKHJldCkgewo+ID4gPiAtCQlEUk1fRVJST1IoIkZhaWxl ZCB0byBkaXNhYmxlIGhkY3AgKCVkKVxuIiwgcmV0KTsKPiA+ID4gLQkJaGRjcC0+dmFsdWUgPSBE Uk1fTU9ERV9DT05URU5UX1BST1RFQ1RJT05fREVTSVJFRDsKPiA+ID4gLQkJc2NoZWR1bGVfd29y aygmaGRjcC0+cHJvcF93b3JrKTsKPiA+ID4gLQkJZ290byBvdXQ7Cj4gPiA+IC0JfQo+ID4gPiAt Cj4gPiA+IC0JcmV0ID0gX2ludGVsX2hkY3BfZW5hYmxlKGNvbm5lY3Rvcik7Cj4gPiA+IC0JaWYg KHJldCkgewo+ID4gPiAtCQlEUk1fREVCVUdfS01TKCJGYWlsZWQgdG8gZW5hYmxlIGhkY3AgKCVk KVxuIiwgcmV0KTsKPiA+ID4gLQkJaGRjcC0+dmFsdWUgPSBEUk1fTU9ERV9DT05URU5UX1BST1RF Q1RJT05fREVTSVJFRDsKPiA+ID4gLQkJc2NoZWR1bGVfd29yaygmaGRjcC0+cHJvcF93b3JrKTsK PiA+ID4gLQkJZ290byBvdXQ7Cj4gPiA+IC0JfQo+ID4gPiAtCj4gPiA+IC1vdXQ6Cj4gPiA+IC0J bXV0ZXhfdW5sb2NrKCZoZGNwLT5tdXRleCk7Cj4gPiA+IC0JcmV0dXJuIHJldDsKPiA+ID4gLX0K PiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYwo+ID4gPiBpbmRleCBlMmM2YTJiM2U4ZjIu LmU3NTVhMzM3MGJjYSAxMDA2NDQKPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfaGRtaS5jCj4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYwo+ ID4gPiBAQCAtMjQxNyw3ICsyNDE3LDcgQEAgdm9pZCBpbnRlbF9oZG1pX2luaXRfY29ubmVjdG9y KHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0LAo+ID4gPiAgIAlpZiAo aXNfaGRjcF9zdXBwb3J0ZWQoZGV2X3ByaXYsIHBvcnQpKSB7Cj4gPiA+ICAgCQlpbnQgcmV0ID0g aW50ZWxfaGRjcF9pbml0KGludGVsX2Nvbm5lY3RvciwKPiA+ID4gLQkJCQkJICAmaW50ZWxfaGRt aV9oZGNwX3NoaW0pOwo+ID4gPiArCQkJCQkgICZpbnRlbF9oZG1pX2hkY3Bfc2hpbSwgZmFsc2Up Owo+ID4gPiAgIAkJaWYgKHJldCkKPiA+ID4gICAJCQlEUk1fREVCVUdfS01TKCJIRENQIGluaXQg ZmFpbGVkLCBza2lwcGluZy5cbiIpOwo+ID4gVGhlIGFjdHVhbCBjaGFuZ2UgbGVmdCB0byB3aXJl IGhkY3AyX3N1cHBvcnRlZCBzZWVtcyBvayB3aXRoIG1lLCBidXQgaGFyZAo+ID4gdG8gdGVsbCB3 aXRob3V0IHNlZWluZyBtb3JlIHlldCA6LSkKPiA+IC1EYW5pZWwKPiA+IAo+ID4gPiAgIAl9Cj4g PiA+IC0tIAo+ID4gPiAyLjcuNAo+ID4gPiAKCi0tIApEYW5pZWwgVmV0dGVyClNvZnR3YXJlIEVu Z2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgpodHRwOi8vYmxvZy5mZndsbC5jaApfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBs aXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK