From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeykumar Sankaran Subject: Re: [PATCH v2 5/5] drm/msm: subclass work object for vblank events Date: Mon, 03 Dec 2018 12:27:42 -0800 Message-ID: <3590f098fa3094b6d6abc89b20b52cc7@codeaurora.org> References: <1541543790-748-1-git-send-email-jsanka@codeaurora.org> <1541543790-748-5-git-send-email-jsanka@codeaurora.org> <20181107155551.GZ154160@art_vandelay> <86c75419b86da1a3f538638ef0004203@codeaurora.org> <20181129221511.GI154160@art_vandelay> <126d5b3a93c1827aaf10cd64486d4967@codeaurora.org> <20181130200711.GK154160@art_vandelay> <20181203142155.GL154160@art_vandelay> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20181203142155.GL154160@art_vandelay> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: Sean Paul Cc: linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, seanpaul-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, hoegsberg-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org, freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org T24gMjAxOC0xMi0wMyAwNjoyMSwgU2VhbiBQYXVsIHdyb3RlOgo+IE9uIEZyaSwgTm92IDMwLCAy MDE4IGF0IDA0OjIxOjE1UE0gLTA4MDAsIEpleWt1bWFyIFNhbmthcmFuIHdyb3RlOgo+PiBPbiAy MDE4LTExLTMwIDEyOjA3LCBTZWFuIFBhdWwgd3JvdGU6Cj4+ID4gT24gRnJpLCBOb3YgMzAsIDIw MTggYXQgMTE6NDU6NTVBTSAtMDgwMCwgSmV5a3VtYXIgU2Fua2FyYW4gd3JvdGU6Cj4+ID4gPiBP biAyMDE4LTExLTI5IDE0OjE1LCBTZWFuIFBhdWwgd3JvdGU6Cj4+ID4gPiA+IE9uIFR1ZSwgTm92 IDIwLCAyMDE4IGF0IDAyOjA0OjE0UE0gLTA4MDAsIEpleWt1bWFyIFNhbmthcmFuIHdyb3RlOgo+ PiA+ID4gPiA+IE9uIDIwMTgtMTEtMDcgMDc6NTUsIFNlYW4gUGF1bCB3cm90ZToKPj4gPiA+ID4g PiA+IE9uIFR1ZSwgTm92IDA2LCAyMDE4IGF0IDAyOjM2OjMwUE0gLTA4MDAsIEpleWt1bWFyIFNh bmthcmFuCj4gd3JvdGU6Cj4+ID4gPiA+ID4gPiA+IG1zbSBtYWludGFpbnMgYSBzZXBhcmF0ZSBz dHJ1Y3R1cmUgdG8gZGVmaW5lIHZibGFuawo+PiA+ID4gPiA+ID4gPiB3b3JrIGRlZmluaXRpb25z IGFuZCBhIGxpc3QgdG8gdHJhY2sgZXZlbnRzIHN1Ym1pdHRlZAo+PiA+ID4gPiA+ID4gPiB0byB0 aGUgd29ya3F1ZXVlLiBXZSBjYW4gYXZvaWQgdGhpcyByZWR1bmRhbnQgbGlzdAo+PiA+ID4gPiA+ ID4gPiBhbmQgaXRzIHByb3RlY3Rpb24gbWVjaGFuaXNtLCBpZiB3ZSBzdWJjbGFzcyB0aGUKPj4g PiA+ID4gPiA+ID4gd29yayBvYmplY3QgdG8gZW5jYXBzdWxhdGUgdmJsYW5rIGV2ZW50IHBhcmFt ZXRlcnMuCj4+ID4gPiA+ID4gPiA+Cj4+ID4gPiA+ID4gPiA+IGNoYW5nZXMgaW4gdjI6Cj4+ID4g PiA+ID4gPiA+IAktIHN1YmNsYXNzIG9wdGltaXphdGlvbiBvbiBzeXN0ZW0gd3EgKFNlYW4gUGF1 bCkKPj4gPiA+ID4gPiA+Cj4+ID4gPiA+ID4gPiBJIHdvdWxkbid0IGRvIGl0IGxpa2UgdGhpcywg dGJoLiBPbmUgcHJvYmxlbSBpcyB0aGF0IHlvdSd2ZQo+IGxvc3QKPj4gPiB5b3VyCj4+ID4gPiA+ ID4gPiBmbHVzaCgpIG9uCj4+ID4gPiA+ID4gPiB1bmJpbmQsIHNvIHRoZXJlJ3Mgbm8gd2F5IHRv IGtub3cgaWYgeW91IGhhdmUgd29ya2VycyBpbiB0aGUKPiB3aWxkCj4+ID4gPiA+ID4gPiB3YWl0 aW5nCj4+ID4gPiA+ID4gPiB0bwo+PiA+ID4gPiA+ID4gZW5hYmxlL2Rpc2FibGUgdmJsYW5rLgo+ PiA+ID4gPiA+ID4KPj4gPiA+ID4gPiA+IEFub3RoZXIgaXNzdWVzIGlzIHRoYXQgQUZBSUNULCB3 ZSBkb24ndCBuZWVkIGEgcXVldWUgb2YKPj4gPiA+ID4gPiA+IGVuYWJsZXMvZGlzYWJsZXMsCj4+ ID4gPiA+ID4gPiBidXQKPj4gPiA+ID4gPiA+IHJhdGhlciBqdXN0IHRoZSBsYXN0IHJlcXVlc3Rl ZCBzdGF0ZSAoaWU6IHNob3VsZCB3ZSBiZSBvbiBvcgo+IG9mZikuCj4+ID4gU28KPj4gPiA+ID4g PiA+IHRoaW5ncwo+PiA+ID4gPiA+ID4gZG9uJ3QgbmVlZCB0byBiZSB0aGlzIGNvbXBsaWNhdGVk IChhbmQgd2UncmUgcG9zc2libHkKPiB0aHJhc2hpbmcKPj4gPiB2YmxhbmsKPj4gPiA+ID4gPiA+ IG9uL29mZgo+PiA+ID4gPiA+ID4gZm9yIG5vIHJlYXNvbikuCj4+ID4gPiA+ID4gPgo+PiA+ID4g PiA+ID4gSSdtIHN0aWxsIG9mIHRoZSBtaW5kIHRoYXQgeW91IHNob3VsZCBqdXN0IG1ha2UgdGhp cwo+IHN5bmNocm9ub3VzCj4+ID4gYW5kCj4+ID4gPiA+IGJlCj4+ID4gPiA+ID4gPiBkb25lCj4+ ID4gPiA+ID4gPiB3aXRoIHRoZSB0aHJlYWRzIChlc3BlY2lhbGx5IHNpbmNlIHdlJ3JlIHN0aWxs Cj4+ID4gdW5jb3ZlcmluZy9pbnRyb2R1Y2luZwo+PiA+ID4gPiA+ID4gcmFjZXMhKS4KPj4gPiA+ ID4gPiA+Cj4+ID4gPiA+ID4gV2hpbGUgc2NvcGluZyBvdXQgdGhlIGVmZm9ydCB0byBtYWtlIHZi bGFuayBldmVudHMgc3luY2hyb25vdXMsCj4gSQo+PiA+ID4gPiA+IGZvdW5kCj4+ID4gPiA+ID4g dGhhdCB0aGUgc3BpbmxvY2sgbG9ja2luZyBvcmRlciBvZiB2YmxhbmsgcmVxdWVzdCBzZXF1ZW5j ZSBhbmQKPj4gPiB2YmxhbmsKPj4gPiA+ID4gPiBjYWxsYmFjawo+PiA+ID4gPiA+IHNlcXVlbmNl cyBhcmUgdGhlIG9wcG9zaXRlLgo+PiA+ID4gPiA+Cj4+ID4gPiA+ID4gSW4gRFBVLCBkcm1fdmJs YW5rX2VuYWJsZSBhY3F1aXJlcyB2YmxhbmtfdGltZV9sb2NrIGJlZm9yZQo+PiA+IHJlZ2lzdGVy aW5nCj4+ID4gPiA+ID4gdGhlIGNydGMgdG8gZW5jb2RlciB3aGljaCBoYXBwZW5zIGFmdGVyIGFj cXVpcmluZwo+IGVuY29kZXJfc3BpbmxvY2suCj4+ID4gPiA+ID4gQnV0Cj4+ID4gPiA+ID4gdGhl IHZibGFua19jYWxsYmFjayBhY3F1aXJlcyBlbmNvZGVyX3NwaW5sb2NrIGJlZm9yZSBhY2Nlc3Np bmcKPiB0aGUKPj4gPiA+ID4gPiByZWdpc3RlcmVkCj4+ID4gPiA+ID4gY3J0YyBhbmQgY2FsbGlu ZyBpbnRvIGRybV92YmxhbmtfaGFuZGxlciB3aGljaCB0cmllcyB0byBhY3F1aXJlCj4+ID4gPiA+ ID4gdmJsYW5rX3RpbWVfbG9jay4KPj4gPiA+ID4gPiBBY3F1aXJpbmcgYm90aCB2YmxhbmtfdGlt ZV9sb2NrIGFuZCBlbmNvZGVyX3NwaW5sb2NrIGluIHRoZSBzYW1lCj4+ID4gPiA+ID4gdGhyZWFk Cj4+ID4gPiA+ID4gaXMgbGVhZGluZyB0byBkZWFkbG9jay4KPj4gPiA+ID4KPj4gPiA+ID4gSG1t LCBJJ20gbm90IHN1cmUgSSBmb2xsb3cuIEFyZSB5b3Ugc2VlaW5nIGlzc3VlcyB3aGVyZSBpcnEK PiBvdmVybGFwcwo+PiA+ID4gPiB3aXRoCj4+ID4gPiA+IGVuYWJsZS9kaXNhYmxlPyBJIGhhY2tl ZCBpbiBzeW5jIHZibGFuayBlbmFibGUvZGlzYWJsZSBxdWlja2x5IHRvCj4gc2VlCj4+ID4gaWYK Pj4gPiA+ID4gSQo+PiA+ID4gPiBjb3VsZAo+PiA+ID4gPiByZXByb2R1Y2Ugd2hhdCB5b3UncmUg c2VlaW5nLCBidXQgdGhpbmdzIHNlZW1lZCB3ZWxsIGJlaGF2ZWQuCj4+ID4gPiA+Cj4+ID4gPgo+ PiA+ID4gVGhlIHJhY2UgaXMgYmV0d2VlbiBkcm1fdmJsYW5rX2dldC9wdXQgYW5kIHZibGFua19o YW5kbGVyIGNvbnRleHRzLgo+PiA+ID4KPj4gPiA+IFdoZW4gbWFkZSBzeW5jaHJvbm91czoKPj4g PiA+Cj4+ID4gPiB3aGlsZSBjYWxsaW5nIGRybV92YmxhbmtfZ2V0LCB0aGUgY2FsbHN0YWNrIGxv b2tzIGxpa2UgYmVsb3c6Cj4+ID4gPiBkcm1fdmJsYW5rX2dldCAtPiBkcm1fdmJsYW5rX2VuYWJs ZSAoYWNxdWlyZXMgdmJsYW5rX3RpbWVfbG9jaykgLT4KPj4gPiA+IF9fZW5hYmxlX3ZibGFuayAt PiBkcHVfY3J0Y192YmxhbmsgLT4KPj4gPiA+IGRwdV9lbmNvZGVyX3RvZ2dsZV92YmxhbmtfZm9y X2NydGMKPj4gPiA+ICh0cmllcyB0byBhY3F1aXJlIGVuY19zcGlubG9jaykKPj4gPiA+Cj4+ID4g PiBJbiB2YmxhbmsgaGFuZGxlciwgdGhlIGNhbGwgc3RhY2sgd2lsbCBiZToKPj4gPiA+IGRwdV9l bmNvZGVyX3BoeXNfdmlkX3ZibGFua19pcnEgLT4gZHB1X2VuY29kZXJfdmJsYW5rX2NhbGxiYWNr Cj4+ID4gPiAoYWNxdWlyZXMKPj4gPiA+IGVuY19zcGlubG9jaykgLT4gZHB1X2NydGNfdmJsYW5r X2NhbGxiYWNrIC0+IGRybV9oYW5kbGVfdmJsYW5rCj4+ID4gPiAodHJpZXMgdG8KPj4gPiA+IGFj cXVpcmUgdmJsYW5rX3RpbWVfbG9jaykKPj4gPgo+PiA+IEhtbSwgSSdtIG5vdCBzdXJlIGhvdyB0 aGlzIGNhbiBoYXBwZW4uIFdlIGFjcXVpcmUgYW5kIHJlbGVhc2UgdGhlCj4+ID4gZW5jX3NwaW5s b2NrCj4+ID4gYmVmb3JlIGVuYWJsaW5nIHRoZSBpcnEsIHllcyB3ZSB3aWxsIGhvbGQgb24gdG8g dGhlIHZibF90aW1lX2xvY2ssIGJ1dAo+PiA+IHdlCj4+ID4gc2hvdWxkbid0IGJlIHRyeWluZyB0 byByZWFjcXVpcmUgYW4gZW5jb2RlcidzIHNwaW5sb2NrIGFmdGVyIHdlJ3ZlCj4+ID4gZW5hYmxl ZAo+PiA+IGl0Lgo+PiBJbiB0aGUgc3luY2hyb25vdXMgYXBwcm9hY2ggZHB1X2VuY29kZXJfdG9n Z2xlX3ZibGFua19mb3JfY3J0Yyh3aGljaAo+PiBhY3F1aXJlcyB0aGUgZW5jX3NwaW5sb2NrKSB3 aWxsIGJlIGNhbGxlZCB3aGlsZSB3ZQo+PiBhcmUgaG9sZGluZyB0aGUgdmJsX3RpbWVfbG9jay4K Pj4gCj4+ID4gSSBkb24ndCBrbm93IGhvdyB0aGF0IGNhbiBkZWFkbG9jaywgc2luY2Ugd2Ugc2hv dWxkIG5ldmVyIGJlIHJ1bm5pbmcKPj4gPiBlbmFibGUgYW5kCj4+ID4gdGhlIGhhbmRsZXIgY29u Y3VycmVudGx5Lgo+PiA+Cj4+IEkgYWdyZWUgdGhhdCB2YmxhbmtfaXJxIGhhbmRsZXIgc2hvdWxk IG5vdCBiZSBydW5uaW5nIGJlZm9yZSB0aGUgCj4+IGVuYWJsZQo+PiBzZXF1ZW5jZS4gQnV0Cj4+ IGRvbid0IHlvdSBleHBlY3QgdGhlIGhhbmRsZXIgdG8gYmUgcnVubmluZyB3aGlsZSBjYWxsaW5n IHRoZQo+IHZibGFua19kaXNhYmxlCj4+IHNlcXVlbmNlPwo+IAo+IFRoaXMgaXMgYW4gZW50aXJl bHkgZGlmZmVyZW50IHByb2JsZW0gdGhvdWdoLiBJdCdzIGFsc28gb25lIHRoYXQgaXMgCj4gZWFz aWVyCj4gdG8KPiBmaXguIEkgdGhpbmsgd2UgY291bGQgcHJvYmFibHkgZ3JhYiB0aGUgZW5jX3Nw aW5sb2NrIGluIGRpc2FibGUgYW5kIAo+IGNsZWFyCj4gdGhlCj4gY3J0YyBwb2ludGVyLgo+IAp3 ZSBkbyBob2xkIGVuY19zcGlubG9jayBpbiBkcHVfZW5jb2Rlcl9hc3NpZ25fY3J0YyAoZHJtL21z bTogZHB1OiBSZW1vdmUgCnZibGFua19jYWxsYmFjayBmcm9tIGVuY29kZXIpCndoZXJlIHdlIGNs ZWFyIHRoZSBjcnRjIHBvaW50ZXIuCgo+IFdoYXQgSSdtIGdldHRpbmcgYXQgaXMgdGhhdCB0aGVy ZSdzIG5vIGZ1bmRhbWVudGFsIHJlYXNvbiB3aHkgd2UgbmVlZCAKPiB0bwo+IGhhdmUKPiBhc3lu YyB2YmxhbmsgZW5hYmxlL2Rpc2FibGUuCj4gCj4gU2Vhbgo+IApUaGVyZSBpcyByZWFsbHkgbm8g Km5lZWQqIHRvIGhhdmUgdGhlbSBhc3luYy4gQnV0IEkgYmVsaWV2ZSB0aGUgcmVhc29uIAp3aHkg dGhleQphcmUgaW1wbGVtZW50ZWQgdGhpcyB3YXkgaXMgdG8gYXZvaWQgZGVhZGxvY2sgYmV0d2Vl biB0aGUgYmVsb3cgdHdvIApwYXRocy4KClJlc3RhdGluZyB0aGUgYWJvdmUgZmluZGluZ3M6CnZi bGFua19oYW5kbGVycyBhbmQgdmJsYW5rIGVuYWJsZS9kaXNhYmxlIGNhbiBydW4gY29uY3VycmVu dGx5LiBUaGUgCmZpcnN0IHRyeWluZyB0byBhY3F1aXJlCnZibF90aW1lX2xvY2sgaG9sZGluZyBl bmNfc3BpbmxvY2suIE90aGVyIHRyeWluZyB0byBhY3F1aXJlIGVuY19zcGlubG9jayAKaG9sZGlu Zwp2YmxfdGltZV9sb2NrLgoKVGhhbmtzLApKZXlrdW1hciBTLgoKCj4+IHZibCBkaXNhYmxlIHdp bGwgdHJ5IHRvIGFjcXVpcmUgdGhlIGxvY2tzIGluIHRoZSBvcHBvc2l0ZSBvcmRlciB0byAKPj4g dGhhdAo+IG9mCj4+IGlycV9oYW5kbGVyIGFuZCB0aGUKPj4gc2FtZSBpc3N1ZSBpcyBib3VuZCB0 byBoYXBwZW4uCj4+IAo+PiBXaXRoIHlvdXIgcGF0Y2gsIHlvdSBzaG91bGQgYmUgYWJsZSB0byBz aW11bGF0ZSB0aGlzIGRlYWRsb2NrIGlmIHlvdSAKPj4gY2FuCj4+IGluamVjdCBhIGRlbGF5Cj4+ IGJ5IGFkZGluZyBhIHByX2VyciBsb2cgaW4gdmJsYW5rX2N0cmxfcXVldWVfd29yawo+PiAKPj4g VGhhbmtzLAo+PiBKZXlrdW1hciBTLgo+PiAKPj4gPiBUaGUgb25seSB0aGluZyBJIGNhbiB0aGlu ayBvZiBpcyB0aGF0IHRoZSB2YmxhbmsgaW50ZXJydXB0cyBhcmUgZmlyaW5nCj4+ID4gYWZ0ZXIK Pj4gPiB2YmxhbmsgaGFzIGJlZW4gZGlzYWJsZWQ/IEluIHRoYXQgY2FzZSwgaXQgc2VlbXMgbGlr ZSB3ZSBzaG91bGQKPiBwcm9wZXJseQo+PiA+IGZsdXNoCj4+ID4gdGhlbS4KPj4gPgo+PiA+IFNl YW4KPj4gPgo+PiA+Cj4+ID4gPgo+PiA+ID4KPj4gPiA+ID4gSSBkbyBzZWUgdGhhdCB0aGVyZSBp cyBhIGNoYW5jZSB0byBjYWxsIGRybV9oYW5kbGVfdmJsYW5rKCkgd2hpbGUKPj4gPiA+ID4gaG9s ZGluZwo+PiA+ID4gPiBlbmNfc3BpbmxvY2ssIGJ1dCBjb3VsZG4ndCBmaW5kIGFueSBvYnZpb3Vz IGxvY2sgcmVjdXJzaW9uIHRoZXJlLgo+PiA+ID4gPgo+PiA+ID4gPiBNYXliZSBhIGNhbGxzdGFj ayBvciBsb2NrZGVwIHNwbGF0IHdvdWxkIGhlbHA/Cj4+ID4gPiA+Cj4+ID4gPiA+IFNlYW4KPj4g PiA+ID4KPj4gPiA+ID4KPj4gPiA+ID4gSGVyZSdzIG15IGhhY2sgdG8gYnlwYXNzIHRoZSBkaXNw bGF5IHRocmVhZDoKPj4gPiA+ID4KPj4gPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9tc20vbXNtX2Rydi5jCj4+ID4gPiA+IGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmMK Pj4gPiA+ID4gaW5kZXggOWM5ZjdmZjY5NjBiMzguLjVhM2NhYzU4MjUzMTllIDEwMDY0NAo+PiA+ ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYuYwo+PiA+ID4gPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYuYwo+PiA+ID4gPiBAQCAtMjQyLDI0ICsyNDIsMTkg QEAgc3RhdGljIHZvaWQgdmJsYW5rX2N0cmxfd29ya2VyKHN0cnVjdAo+PiA+IGt0aHJlYWRfd29y awo+PiA+ID4gPiAqd29yaykKPj4gPiA+ID4gIHN0YXRpYyBpbnQgdmJsYW5rX2N0cmxfcXVldWVf d29yayhzdHJ1Y3QgbXNtX2RybV9wcml2YXRlICpwcml2LAo+PiA+ID4gPiAgCQkJCQlpbnQgY3J0 Y19pZCwgYm9vbCBlbmFibGUpCj4+ID4gPiA+ICB7Cj4+ID4gPiA+ICsJc3RydWN0IG1zbV9rbXMg KmttcyA9IHByaXYtPmttczsKPj4gPiA+ID4gIAlzdHJ1Y3QgbXNtX3ZibGFua19jdHJsICp2Ymxf Y3RybCA9ICZwcml2LT52YmxhbmtfY3RybDsKPj4gPiA+ID4gLQlzdHJ1Y3QgdmJsYW5rX2V2ZW50 ICp2YmxfZXY7Cj4+ID4gPiA+ICAJdW5zaWduZWQgbG9uZyBmbGFnczsKPj4gPiA+ID4KPj4gPiA+ ID4gLQl2YmxfZXYgPSBremFsbG9jKHNpemVvZigqdmJsX2V2KSwgR0ZQX0FUT01JQyk7Cj4+ID4g PiA+IC0JaWYgKCF2YmxfZXYpCj4+ID4gPiA+IC0JCXJldHVybiAtRU5PTUVNOwo+PiA+ID4gPiAr CXNwaW5fbG9ja19pcnFzYXZlKCZ2YmxfY3RybC0+bG9jaywgZmxhZ3MpOwo+PiA+ID4gPgo+PiA+ ID4gPiAtCXZibF9ldi0+Y3J0Y19pZCA9IGNydGNfaWQ7Cj4+ID4gPiA+IC0JdmJsX2V2LT5lbmFi bGUgPSBlbmFibGU7Cj4+ID4gPiA+ICsJaWYgKGVuYWJsZSkKPj4gPiA+ID4gKwkJa21zLT5mdW5j cy0+ZW5hYmxlX3ZibGFuayhrbXMsCj4gcHJpdi0+Y3J0Y3NbY3J0Y19pZF0pOwo+PiA+ID4gPiAr CWVsc2UKPj4gPiA+ID4gKwkJa21zLT5mdW5jcy0+ZGlzYWJsZV92Ymxhbmsoa21zLAo+IHByaXYt PmNydGNzW2NydGNfaWRdKTsKPj4gPiA+ID4KPj4gPiA+ID4gLQlzcGluX2xvY2tfaXJxc2F2ZSgm dmJsX2N0cmwtPmxvY2ssIGZsYWdzKTsKPj4gPiA+ID4gLQlsaXN0X2FkZF90YWlsKCZ2YmxfZXYt Pm5vZGUsICZ2YmxfY3RybC0+ZXZlbnRfbGlzdCk7Cj4+ID4gPiA+ICAJc3Bpbl91bmxvY2tfaXJx cmVzdG9yZSgmdmJsX2N0cmwtPmxvY2ssIGZsYWdzKTsKPj4gPiA+ID4KPj4gPiA+ID4gLQlrdGhy ZWFkX3F1ZXVlX3dvcmsoJnByaXYtPmRpc3BfdGhyZWFkW2NydGNfaWRdLndvcmtlciwKPj4gPiA+ ID4gLQkJCSZ2YmxfY3RybC0+d29yayk7Cj4+ID4gPiA+IC0KPj4gPiA+ID4gIAlyZXR1cm4gMDsK Pj4gPiA+ID4gIH0KPj4gPiA+ID4KPj4gPiA+IEV2ZW4gd2l0aCB5b3VyIHBhdGNoIGFib3ZlLCBJ IHNlZSBmcmFtZSBpcyBnZXR0aW5nIHN0dWNrIGJ1dCBpdAo+PiA+ID4gcmVjb3ZlcnMKPj4gPiBp bgo+PiA+ID4gYSB3aGlsZS4KPj4gPiA+IFRoZSBwYXRjaCBJIHRyaWVkIHdhcyBhc3NpZ25pbmcK Pj4gPiBjcnRjLT5mdW5jcy0+ZW5hYmxlX3ZibGFuay9kaXNhYmxlX3ZibGFuayBzbwo+PiA+ID4g dGhhdAo+PiA+ID4gX19lbmFibGVfdmJsYW5rIGNhbiBjYWxsIGNydGMgZGlyZWN0bHkuIEJ1dCB0 aGUgYWJvdmUgY2FsbHN0YWNrIGlzCj4+ID4gPiBzdGlsbAo+PiA+ID4gdmFsaWQgZm9yIHlvdXIg cGF0Y2guCj4+ID4gPgo+PiA+ID4gVGhhbmtzLAo+PiA+ID4gSmV5a3VtYXIgUy4KPj4gPiA+ID4K Pj4gPiA+ID4KPj4gPiA+ID4gPgo+PiA+ID4gPiA+IEluIE1EUDUsIEkgc2VlIHRoZSBzYW1lIHBh dHRlcm4gYmV0d2VlbiB2YmxhbmtfdGltZV9sb2NrIGFuZAo+PiA+IGxpc3RfbG9jawo+PiA+ID4g PiB3aGljaAo+PiA+ID4gPiA+IGlzIHVzZWQgdG8gdHJhY2sgdGhlIGlycSBoYW5kbGVycy4KPj4g PiA+ID4gPgo+PiA+ID4gPiA+IEkgYmVsaWV2ZSB0aGF0IGV4cGxhaW5zIHdoeSBtc21fZHJ2IGlz IHF1ZXVpbmcgdGhlIHZibGFuawo+PiA+ID4gPiA+IGVuYWJsZS9kaXNhYmxlCj4+ID4gPiA+ID4g d29ya3MgdG8gV1EgYWZ0ZXIgYWNxdWlyaW5nIHZibGFua190aW1lX2xvY2suCj4+ID4gPiA+ID4K Pj4gPiA+ID4gPiBUaGFua3MsCj4+ID4gPiA+ID4gSmV5a3VtYXIgUy4KPj4gPiA+ID4gPgo+PiA+ ID4gPiA+ID4gU2Vhbgo+PiA+ID4gPiA+ID4KPj4gPiA+ID4gPiA+ID4KPj4gPiA+ID4gPiA+ID4g U2lnbmVkLW9mZi1ieTogSmV5a3VtYXIgU2Fua2FyYW4gPGpzYW5rYUBjb2RlYXVyb3JhLm9yZz4K Pj4gPiA+ID4gPiA+ID4gLS0tCj4+ID4gPiA+ID4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vbXNtL21z bV9kcnYuYyB8IDY3Cj4+ID4gPiA+ID4gPiArKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCj4+ID4gPiA+ID4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYu aCB8ICA3IC0tLS0tCj4+ID4gPiA+ID4gPiA+ICAyIGZpbGVzIGNoYW5nZWQsIDIwIGluc2VydGlv bnMoKyksIDU0IGRlbGV0aW9ucygtKQo+PiA+ID4gPiA+ID4gPgo+PiA+ID4gPiA+ID4gPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmMKPj4gPiA+ID4gPiA+IGIvZHJp dmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmMKPj4gPiA+ID4gPiA+ID4gaW5kZXggNmQ2YzczYi4u OGRhNWJlMiAxMDA2NDQKPj4gPiA+ID4gPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9t c21fZHJ2LmMKPj4gPiA+ID4gPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2 LmMKPj4gPiA+ID4gPiA+ID4gQEAgLTIwMyw2MSArMjAzLDQ0IEBAIHUzMiBtc21fcmVhZGwoY29u c3Qgdm9pZCBfX2lvbWVtCj4gKmFkZHIpCj4+ID4gPiA+ID4gPiA+ICAJcmV0dXJuIHZhbDsKPj4g PiA+ID4gPiA+ID4gIH0KPj4gPiA+ID4gPiA+ID4KPj4gPiA+ID4gPiA+ID4gLXN0cnVjdCB2Ymxh bmtfZXZlbnQgewo+PiA+ID4gPiA+ID4gPiAtCXN0cnVjdCBsaXN0X2hlYWQgbm9kZTsKPj4gPiA+ ID4gPiA+ID4gK3N0cnVjdCBtc21fdmJsYW5rX3dvcmsgewo+PiA+ID4gPiA+ID4gPiArCXN0cnVj dCB3b3JrX3N0cnVjdCB3b3JrOwo+PiA+ID4gPiA+ID4gPiAgCWludCBjcnRjX2lkOwo+PiA+ID4g PiA+ID4gPiAgCWJvb2wgZW5hYmxlOwo+PiA+ID4gPiA+ID4gPiArCXN0cnVjdCBtc21fZHJtX3By aXZhdGUgKnByaXY7Cj4+ID4gPiA+ID4gPiA+ICB9Owo+PiA+ID4gPiA+ID4gPgo+PiA+ID4gPiA+ ID4gPiAgc3RhdGljIHZvaWQgdmJsYW5rX2N0cmxfd29ya2VyKHN0cnVjdCB3b3JrX3N0cnVjdCAq d29yaykKPj4gPiA+ID4gPiA+ID4gIHsKPj4gPiA+ID4gPiA+ID4gLQlzdHJ1Y3QgbXNtX3ZibGFu a19jdHJsICp2YmxfY3RybCA9IGNvbnRhaW5lcl9vZih3b3JrLAo+PiA+ID4gPiA+ID4gPiAtCQkJ CQkJc3RydWN0Cj4+ID4gbXNtX3ZibGFua19jdHJsLAo+PiA+ID4gPiA+ID4gd29yayk7Cj4+ID4g PiA+ID4gPiA+IC0Jc3RydWN0IG1zbV9kcm1fcHJpdmF0ZSAqcHJpdiA9IGNvbnRhaW5lcl9vZih2 YmxfY3RybCwKPj4gPiA+ID4gPiA+ID4gLQkJCQkJc3RydWN0IG1zbV9kcm1fcHJpdmF0ZSwKPj4g PiA+ID4gPiA+IHZibGFua19jdHJsKTsKPj4gPiA+ID4gPiA+ID4gKwlzdHJ1Y3QgbXNtX3ZibGFu a193b3JrICp2Ymxfd29yayA9IGNvbnRhaW5lcl9vZih3b3JrLAo+PiA+ID4gPiA+ID4gPiArCQkJ CQkJc3RydWN0Cj4+ID4gbXNtX3ZibGFua193b3JrLAo+PiA+ID4gPiA+ID4gd29yayk7Cj4+ID4g PiA+ID4gPiA+ICsJc3RydWN0IG1zbV9kcm1fcHJpdmF0ZSAqcHJpdiA9IHZibF93b3JrLT5wcml2 Owo+PiA+ID4gPiA+ID4gPiAgCXN0cnVjdCBtc21fa21zICprbXMgPSBwcml2LT5rbXM7Cj4+ID4g PiA+ID4gPiA+IC0Jc3RydWN0IHZibGFua19ldmVudCAqdmJsX2V2LCAqdG1wOwo+PiA+ID4gPiA+ ID4gPiAtCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Cj4+ID4gPiA+ID4gPiA+IC0KPj4gPiA+ID4gPiA+ ID4gLQlzcGluX2xvY2tfaXJxc2F2ZSgmdmJsX2N0cmwtPmxvY2ssIGZsYWdzKTsKPj4gPiA+ID4g PiA+ID4gLQlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUodmJsX2V2LCB0bXAsCj4+ID4gJnZibF9j dHJsLT5ldmVudF9saXN0LCBub2RlKQo+PiA+ID4gPiA+ID4gewo+PiA+ID4gPiA+ID4gPiAtCQls aXN0X2RlbCgmdmJsX2V2LT5ub2RlKTsKPj4gPiA+ID4gPiA+ID4gLQkJc3Bpbl91bmxvY2tfaXJx cmVzdG9yZSgmdmJsX2N0cmwtPmxvY2ssIGZsYWdzKTsKPj4gPiA+ID4gPiA+ID4gLQo+PiA+ID4g PiA+ID4gPiAtCQlpZiAodmJsX2V2LT5lbmFibGUpCj4+ID4gPiA+ID4gPiA+IC0JCQlrbXMtPmZ1 bmNzLT5lbmFibGVfdmJsYW5rKGttcywKPj4gPiA+ID4gPiA+ID4gLQo+PiA+ID4gPiA+ID4gcHJp di0+Y3J0Y3NbdmJsX2V2LT5jcnRjX2lkXSk7Cj4+ID4gPiA+ID4gPiA+IC0JCWVsc2UKPj4gPiA+ ID4gPiA+ID4gLQkJCWttcy0+ZnVuY3MtPmRpc2FibGVfdmJsYW5rKGttcywKPj4gPiA+ID4gPiA+ ID4gLQo+PiA+ID4gPiA+ID4gcHJpdi0+Y3J0Y3NbdmJsX2V2LT5jcnRjX2lkXSk7Cj4+ID4gPiA+ ID4gPiA+Cj4+ID4gPiA+ID4gPiA+IC0JCWtmcmVlKHZibF9ldik7Cj4+ID4gPiA+ID4gPiA+IC0K Pj4gPiA+ID4gPiA+ID4gLQkJc3Bpbl9sb2NrX2lycXNhdmUoJnZibF9jdHJsLT5sb2NrLCBmbGFn cyk7Cj4+ID4gPiA+ID4gPiA+IC0JfQo+PiA+ID4gPiA+ID4gPiArCWlmICh2Ymxfd29yay0+ZW5h YmxlKQo+PiA+ID4gPiA+ID4gPiArCQlrbXMtPmZ1bmNzLT5lbmFibGVfdmJsYW5rKGttcywKPj4g PiA+ID4gPiA+IHByaXYtPmNydGNzW3ZibF93b3JrLT5jcnRjX2lkXSk7Cj4+ID4gPiA+ID4gPiA+ ICsJZWxzZQo+PiA+ID4gPiA+ID4gPiArCQlrbXMtPmZ1bmNzLT5kaXNhYmxlX3ZibGFuayhrbXMs Cj4+ID4gPiA+ID4gPiBwcml2LT5jcnRjc1t2Ymxfd29yay0+Y3J0Y19pZF0pOwo+PiA+ID4gPiA+ ID4gPgo+PiA+ID4gPiA+ID4gPiAtCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnZibF9jdHJsLT5s b2NrLCBmbGFncyk7Cj4+ID4gPiA+ID4gPiA+ICsJa2ZyZWUodmJsX3dvcmspOwo+PiA+ID4gPiA+ ID4gPiAgfQo+PiA+ID4gPiA+ID4gPgo+PiA+ID4gPiA+ID4gPiAgc3RhdGljIGludCB2Ymxhbmtf Y3RybF9xdWV1ZV93b3JrKHN0cnVjdCBtc21fZHJtX3ByaXZhdGUKPiAqcHJpdiwKPj4gPiA+ID4g PiA+ID4gIAkJCQkJaW50IGNydGNfaWQsIGJvb2wgZW5hYmxlKQo+PiA+ID4gPiA+ID4gPiAgewo+ PiA+ID4gPiA+ID4gPiAtCXN0cnVjdCBtc21fdmJsYW5rX2N0cmwgKnZibF9jdHJsID0gJnByaXYt PnZibGFua19jdHJsOwo+PiA+ID4gPiA+ID4gPiAtCXN0cnVjdCB2YmxhbmtfZXZlbnQgKnZibF9l djsKPj4gPiA+ID4gPiA+ID4gLQl1bnNpZ25lZCBsb25nIGZsYWdzOwo+PiA+ID4gPiA+ID4gPiAr CXN0cnVjdCBtc21fdmJsYW5rX3dvcmsgKnZibF93b3JrOwo+PiA+ID4gPiA+ID4gPgo+PiA+ID4g PiA+ID4gPiAtCXZibF9ldiA9IGt6YWxsb2Moc2l6ZW9mKCp2YmxfZXYpLCBHRlBfQVRPTUlDKTsK Pj4gPiA+ID4gPiA+ID4gLQlpZiAoIXZibF9ldikKPj4gPiA+ID4gPiA+ID4gKwl2Ymxfd29yayA9 IGt6YWxsb2Moc2l6ZW9mKCp2Ymxfd29yayksIEdGUF9BVE9NSUMpOwo+PiA+ID4gPiA+ID4gPiAr CWlmICghdmJsX3dvcmspCj4+ID4gPiA+ID4gPiA+ICAJCXJldHVybiAtRU5PTUVNOwo+PiA+ID4g PiA+ID4gPgo+PiA+ID4gPiA+ID4gPiAtCXZibF9ldi0+Y3J0Y19pZCA9IGNydGNfaWQ7Cj4+ID4g PiA+ID4gPiA+IC0JdmJsX2V2LT5lbmFibGUgPSBlbmFibGU7Cj4+ID4gPiA+ID4gPiA+ICsJSU5J VF9XT1JLKCZ2Ymxfd29yay0+d29yaywgdmJsYW5rX2N0cmxfd29ya2VyKTsKPj4gPiA+ID4gPiA+ ID4KPj4gPiA+ID4gPiA+ID4gLQlzcGluX2xvY2tfaXJxc2F2ZSgmdmJsX2N0cmwtPmxvY2ssIGZs YWdzKTsKPj4gPiA+ID4gPiA+ID4gLQlsaXN0X2FkZF90YWlsKCZ2YmxfZXYtPm5vZGUsICZ2Ymxf Y3RybC0+ZXZlbnRfbGlzdCk7Cj4+ID4gPiA+ID4gPiA+IC0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9y ZSgmdmJsX2N0cmwtPmxvY2ssIGZsYWdzKTsKPj4gPiA+ID4gPiA+ID4gKwl2Ymxfd29yay0+Y3J0 Y19pZCA9IGNydGNfaWQ7Cj4+ID4gPiA+ID4gPiA+ICsJdmJsX3dvcmstPmVuYWJsZSA9IGVuYWJs ZTsKPj4gPiA+ID4gPiA+ID4gKwl2Ymxfd29yay0+cHJpdiA9IHByaXY7Cj4+ID4gPiA+ID4gPiA+ Cj4+ID4gPiA+ID4gPiA+IC0Jc2NoZWR1bGVfd29yaygmdmJsX2N0cmwtPndvcmspOwo+PiA+ID4g PiA+ID4gPiArCXNjaGVkdWxlX3dvcmsoJnZibF93b3JrLT53b3JrKTsKPj4gPiA+ID4gPiA+ID4K Pj4gPiA+ID4gPiA+ID4gIAlyZXR1cm4gMDsKPj4gPiA+ID4gPiA+ID4gIH0KPj4gPiA+ID4gPiA+ ID4gQEAgLTI2OSwxNCArMjUyLDEzIEBAIHN0YXRpYyBpbnQgbXNtX2RybV91bmluaXQoc3RydWN0 Cj4gZGV2aWNlCj4+ID4gKmRldikKPj4gPiA+ID4gPiA+ID4gIAlzdHJ1Y3QgbXNtX2RybV9wcml2 YXRlICpwcml2ID0gZGRldi0+ZGV2X3ByaXZhdGU7Cj4+ID4gPiA+ID4gPiA+ICAJc3RydWN0IG1z bV9rbXMgKmttcyA9IHByaXYtPmttczsKPj4gPiA+ID4gPiA+ID4gIAlzdHJ1Y3QgbXNtX21kc3Mg Km1kc3MgPSBwcml2LT5tZHNzOwo+PiA+ID4gPiA+ID4gPiAtCXN0cnVjdCBtc21fdmJsYW5rX2N0 cmwgKnZibF9jdHJsID0gJnByaXYtPnZibGFua19jdHJsOwo+PiA+ID4gPiA+ID4gPiAtCXN0cnVj dCB2YmxhbmtfZXZlbnQgKnZibF9ldiwgKnRtcDsKPj4gPiA+ID4gPiA+ID4gIAlpbnQgaTsKPj4g PiA+ID4gPiA+ID4KPj4gPiA+ID4gPiA+ID4gIAkvKiBXZSBtdXN0IGNhbmNlbCBhbmQgY2xlYW51 cCBhbnkgcGVuZGluZyB2YmxhbmsKPj4gPiBlbmFibGUvZGlzYWJsZQo+PiA+ID4gPiA+ID4gPiAg CSAqIHdvcmsgYmVmb3JlIGRybV9pcnFfdW5pbnN0YWxsKCkgdG8gYXZvaWQgd29yawo+PiA+IHJl LWVuYWJsaW5nIGFuCj4+ID4gPiA+ID4gPiA+ICAJICogaXJxIGFmdGVyIHVuaW5zdGFsbCBoYXMg ZGlzYWJsZWQgaXQuCj4+ID4gPiA+ID4gPiA+ICAJICovCj4+ID4gPiA+ID4gPiA+ICsKPj4gPiA+ ID4gPiA+ID4gIAltc21fZ2VtX3Nocmlua2VyX2NsZWFudXAoZGRldik7Cj4+ID4gPiA+ID4gPiA+ Cj4+ID4gPiA+ID4gPiA+ICAJZHJtX2ttc19oZWxwZXJfcG9sbF9maW5pKGRkZXYpOwo+PiA+ID4g PiA+ID4gPiBAQCAtMjkyLDEyICsyNzQsNiBAQCBzdGF0aWMgaW50IG1zbV9kcm1fdW5pbml0KHN0 cnVjdCBkZXZpY2UKPj4gPiAqZGV2KQo+PiA+ID4gPiA+ID4gPiAgI2VuZGlmCj4+ID4gPiA+ID4g PiA+ICAJZHJtX21vZGVfY29uZmlnX2NsZWFudXAoZGRldik7Cj4+ID4gPiA+ID4gPiA+Cj4+ID4g PiA+ID4gPiA+IC0JZmx1c2hfd29yaygmdmJsX2N0cmwtPndvcmspOwo+PiA+ID4gPiA+ID4gPiAt CWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZSh2YmxfZXYsIHRtcCwKPj4gPiAmdmJsX2N0cmwtPmV2 ZW50X2xpc3QsIG5vZGUpCj4+ID4gPiA+ID4gPiB7Cj4+ID4gPiA+ID4gPiA+IC0JCWxpc3RfZGVs KCZ2YmxfZXYtPm5vZGUpOwo+PiA+ID4gPiA+ID4gPiAtCQlrZnJlZSh2YmxfZXYpOwo+PiA+ID4g PiA+ID4gPiAtCX0KPj4gPiA+ID4gPiA+ID4gLQo+PiA+ID4gPiA+ID4gPiAgCS8qIGNsZWFuIHVw IGV2ZW50IHdvcmtlciB0aHJlYWRzICovCj4+ID4gPiA+ID4gPiA+ICAJZm9yIChpID0gMDsgaSA8 IHByaXYtPm51bV9jcnRjczsgaSsrKSB7Cj4+ID4gPiA+ID4gPiA+ICAJCWlmIChwcml2LT5ldmVu dF90aHJlYWRbaV0udGhyZWFkKSB7Cj4+ID4gPiA+ID4gPiA+IEBAIC00NjksOSArNDQ1LDYgQEAg c3RhdGljIGludCBtc21fZHJtX2luaXQoc3RydWN0IGRldmljZQo+ICpkZXYsCj4+ID4gPiA+IHN0 cnVjdAo+PiA+ID4gPiA+ID4gZHJtX2RyaXZlciAqZHJ2KQo+PiA+ID4gPiA+ID4gPiAgCXByaXYt PndxID0gYWxsb2Nfb3JkZXJlZF93b3JrcXVldWUoIm1zbSIsIDApOwo+PiA+ID4gPiA+ID4gPgo+ PiA+ID4gPiA+ID4gPiAgCUlOSVRfTElTVF9IRUFEKCZwcml2LT5pbmFjdGl2ZV9saXN0KTsKPj4g PiA+ID4gPiA+ID4gLQlJTklUX0xJU1RfSEVBRCgmcHJpdi0+dmJsYW5rX2N0cmwuZXZlbnRfbGlz dCk7Cj4+ID4gPiA+ID4gPiA+IC0JSU5JVF9XT1JLKCZwcml2LT52YmxhbmtfY3RybC53b3JrLCB2 YmxhbmtfY3RybF93b3JrZXIpOwo+PiA+ID4gPiA+ID4gPiAtCXNwaW5fbG9ja19pbml0KCZwcml2 LT52YmxhbmtfY3RybC5sb2NrKTsKPj4gPiA+ID4gPiA+ID4KPj4gPiA+ID4gPiA+ID4gIAlkcm1f bW9kZV9jb25maWdfaW5pdChkZGV2KTsKPj4gPiA+ID4gPiA+ID4KPj4gPiA+ID4gPiA+ID4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5oCj4+ID4gPiA+ID4gPiBiL2Ry aXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5oCj4+ID4gPiA+ID4gPiA+IGluZGV4IDA1ZDMzYTcu LmQ0Y2JkZTIgMTAwNjQ0Cj4+ID4gPiA+ID4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20v bXNtX2Rydi5oCj4+ID4gPiA+ID4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Ry di5oCj4+ID4gPiA+ID4gPiA+IEBAIC03NywxMiArNzcsNiBAQCBlbnVtIG1zbV9tZHBfcGxhbmVf cHJvcGVydHkgewo+PiA+ID4gPiA+ID4gPiAgCVBMQU5FX1BST1BfTUFYX05VTQo+PiA+ID4gPiA+ ID4gPiAgfTsKPj4gPiA+ID4gPiA+ID4KPj4gPiA+ID4gPiA+ID4gLXN0cnVjdCBtc21fdmJsYW5r X2N0cmwgewo+PiA+ID4gPiA+ID4gPiAtCXN0cnVjdCB3b3JrX3N0cnVjdCB3b3JrOwo+PiA+ID4g PiA+ID4gPiAtCXN0cnVjdCBsaXN0X2hlYWQgZXZlbnRfbGlzdDsKPj4gPiA+ID4gPiA+ID4gLQlz cGlubG9ja190IGxvY2s7Cj4+ID4gPiA+ID4gPiA+IC19Owo+PiA+ID4gPiA+ID4gPiAtCj4+ID4g PiA+ID4gPiA+ICAjZGVmaW5lIE1TTV9HUFVfTUFYX1JJTkdTIDQKPj4gPiA+ID4gPiA+ID4gICNk ZWZpbmUgTUFYX0hfVElMRVNfUEVSX0RJU1BMQVkgMgo+PiA+ID4gPiA+ID4gPgo+PiA+ID4gPiA+ ID4gPiBAQCAtMjI1LDcgKzIxOSw2IEBAIHN0cnVjdCBtc21fZHJtX3ByaXZhdGUgewo+PiA+ID4g PiA+ID4gPiAgCXN0cnVjdCBub3RpZmllcl9ibG9jayB2bWFwX25vdGlmaWVyOwo+PiA+ID4gPiA+ ID4gPiAgCXN0cnVjdCBzaHJpbmtlciBzaHJpbmtlcjsKPj4gPiA+ID4gPiA+ID4KPj4gPiA+ID4g PiA+ID4gLQlzdHJ1Y3QgbXNtX3ZibGFua19jdHJsIHZibGFua19jdHJsOwo+PiA+ID4gPiA+ID4g PiAgCXN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpwbV9zdGF0ZTsKPj4gPiA+ID4gPiA+ID4gIH07 Cj4+ID4gPiA+ID4gPiA+Cj4+ID4gPiA+ID4gPiA+IC0tCj4+ID4gPiA+ID4gPiA+IFRoZSBRdWFs Y29tbSBJbm5vdmF0aW9uIENlbnRlciwgSW5jLiBpcyBhIG1lbWJlciBvZiB0aGUgQ29kZQo+PiA+ IEF1cm9yYQo+PiA+ID4gPiA+ID4gRm9ydW0sCj4+ID4gPiA+ID4gPiA+IGEgTGludXggRm91bmRh dGlvbiBDb2xsYWJvcmF0aXZlIFByb2plY3QKPj4gPiA+ID4gPiA+ID4KPj4gPiA+ID4gPiA+ID4g X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPj4gPiA+ID4g PiA+ID4gRnJlZWRyZW5vIG1haWxpbmcgbGlzdAo+PiA+ID4gPiA+ID4gPiBGcmVlZHJlbm9AbGlz dHMuZnJlZWRlc2t0b3Aub3JnCj4+ID4gPiA+ID4gPiA+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZnJlZWRyZW5vCj4+ID4gPiA+ID4KPj4gPiA+ID4gPiAt LQo+PiA+ID4gPiA+IEpleWt1bWFyIFMKPj4gPiA+Cj4+ID4gPiAtLQo+PiA+ID4gSmV5a3VtYXIg Uwo+PiAKPj4gLS0KPj4gSmV5a3VtYXIgUwoKLS0gCkpleWt1bWFyIFMKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KRnJlZWRyZW5vIG1haWxpbmcgbGlzdApG cmVlZHJlbm9AbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vZnJlZWRyZW5vCg==