From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oleksandr Andrushchenko Subject: Re: [PATCH] xen/netfront: Remove unneeded .resume callback Date: Wed, 27 Mar 2019 08:40:20 +0200 Message-ID: References: <20190314131749.25706-1-andr2000@gmail.com> <6205819a-af39-8cd8-db87-f3fe047ff064@gmail.com> <09afcdca-258f-e5ca-5c31-b7fd079eb213@oracle.com> <3e868e7a-4872-e8ab-fd2c-90917ad6d593@arm.com> <435369ba-ad3b-1d3a-c2f4-babe8bb6189c@amazon.com> <20190325173011.GA20277@kaos-source-ops-60001.pdx1.amazon.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1h92Ed-0005L4-DA for xen-devel@lists.xenproject.org; Wed, 27 Mar 2019 06:40:27 +0000 Received: by mail-lj1-x242.google.com with SMTP id v13so13342459ljk.4 for ; Tue, 26 Mar 2019 23:40:24 -0700 (PDT) In-Reply-To: <20190325173011.GA20277@kaos-source-ops-60001.pdx1.amazon.com> Content-Language: en-US List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Anchal Agarwal Cc: "jgross@suse.com" , "sstabellini@kernel.org" , "eduval@amazon.com" , "Oleksandr_Andrushchenko@epam.com" , "netdev@vger.kernel.org" , Munehisa Kamata , "linux-kernel@vger.kernel.org" , Julien Grall , "xen-devel@lists.xenproject.org" , Boris Ostrovsky , Volodymyr Babchuk , "davem@davemloft.net" List-Id: xen-devel@lists.xenproject.org T24gMy8yNS8xOSA3OjMwIFBNLCBBbmNoYWwgQWdhcndhbCB3cm90ZToKPiBPbiBGcmksIE1hciAy MiwgMjAxOSBhdCAxMDo0NDozM0FNICswMDAwLCBPbGVrc2FuZHIgQW5kcnVzaGNoZW5rbyB3cm90 ZToKPj4gT24gMy8yMC8xOSA1OjUwIEFNLCBNdW5laGlzYSBLYW1hdGEgd3JvdGU6Cj4+PiBPbiAz LzE4LzIwMTkgMzowMiBBTSwgT2xla3NhbmRyIEFuZHJ1c2hjaGVua28gd3JvdGU6Cj4+Pj4gK0Ft YXpvbgo+Pj4+IHBscyBzZWUgaW5saW5lCj4+PiBIaSBPbGVrc2FuZHIsCj4+Pgo+Pj4gTGV0IG1l IGFkZCBzb21lIGNvbW1lbnRzIGFzIHRoZSBvcmlnaW5hbCBhdXRob3Igb2YgdGhlIHNlcmllcy4K Pj4gVGhhbmsgeW91IGZvciB5b3VyIHdvcmshCj4gSGkgT2xla3NhbmRyLAo+Pj4+IE9uIDMvMTQv MTkgOTowMCBQTSwgSnVsaWVuIEdyYWxsIHdyb3RlOgo+Pj4+PiBIaSwKPj4+Pj4KPj4+Pj4gT24g My8xNC8xOSAzOjQwIFBNLCBCb3JpcyBPc3Ryb3Zza3kgd3JvdGU6Cj4+Pj4+PiBPbiAzLzE0LzE5 IDExOjEwIEFNLCBPbGVrc2FuZHIgQW5kcnVzaGNoZW5rbyB3cm90ZToKPj4+Pj4+PiBPbiAzLzE0 LzE5IDU6MDIgUE0sIEJvcmlzIE9zdHJvdnNreSB3cm90ZToKPj4+Pj4+Pj4gT24gMy8xNC8xOSAx MDo1MiBBTSwgT2xla3NhbmRyIEFuZHJ1c2hjaGVua28gd3JvdGU6Cj4+Pj4+Pj4+PiBPbiAzLzE0 LzE5IDQ6NDcgUE0sIEJvcmlzIE9zdHJvdnNreSB3cm90ZToKPj4+Pj4+Pj4+PiBPbiAzLzE0LzE5 IDk6MTcgQU0sIE9sZWtzYW5kciBBbmRydXNoY2hlbmtvIHdyb3RlOgo+Pj4+Pj4+Pj4+PiBGcm9t OiBPbGVrc2FuZHIgQW5kcnVzaGNoZW5rbyA8b2xla3NhbmRyX2FuZHJ1c2hjaGVua29AZXBhbS5j b20+Cj4+Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4+IEN1cnJlbnRseSBvbiBkcml2ZXIgcmVzdW1lIHdl IHJlbW92ZSBhbGwgdGhlIG5ldHdvcmsgcXVldWVzIGFuZAo+Pj4+Pj4+Pj4+PiBkZXN0cm95IHNo YXJlZCBUeC9SeCByaW5ncyBsZWF2aW5nIHRoZSBkcml2ZXIgaW4gaXRzIGN1cnJlbnQgc3RhdGUK Pj4+Pj4+Pj4+Pj4gYW5kIG5ldmVyIHNpZ25hbGluZyB0aGUgYmFja2VuZCBvZiB0aGlzIGZyb250 ZW5kJ3Mgc3RhdGUgY2hhbmdlLgo+Pj4+Pj4+Pj4+PiBUaGlzIGxlYWRzIHRvIHRoZSBudW1iZXIg b2YgY29uc2VxdWVuY2VzOgo+Pj4+Pj4+Pj4+PiAtIHdoZW4gZnJvbnRlbmQgd2l0aGRyYXdzIGdy YW50ZWQgcmVmZXJlbmNlcyB0byB0aGUgcmluZ3MgZXRjLiBpdAo+Pj4+Pj4+Pj4+PiBjYW5ub3QK Pj4+Pj4+Pj4+Pj4gICA/Pz8/Pz8/PyBiZSBjbGVhbmx5IGRvbmUgYXMgdGhlIGJhY2tlbmQgc3Rp bGwgaG9sZHMgdGhvc2UgKGl0IHdhcyBub3QKPj4+Pj4+Pj4+Pj4gdG9sZCB0bwo+Pj4+Pj4+Pj4+ PiAgID8/Pz8/Pz8/IGZyZWUgdGhlIHJlc291cmNlcykKPj4+Pj4+Pj4+Pj4gLSBpdCBpcyBub3Qg cG9zc2libGUgdG8gcmVzdW1lIGRyaXZlciBvcGVyYXRpb24gYXMgYWxsIHRoZQo+Pj4+Pj4+Pj4+ PiBjb21tdW5pY2F0aW9uCj4+Pj4+Pj4+Pj4+ICAgPz8/Pz8/Pz8gbWVhbnMgd2l0aCB0aGUgYmFj a25lZCB3ZXJlIGRlc3Ryb3llZCBieSB0aGUgZnJvbnRlbmQsIHRodXMKPj4+Pj4+Pj4+Pj4gICA/ Pz8/Pz8/PyBtYWtpbmcgdGhlIGZyb250ZW5kIGFwcGVhciB0byB0aGUgZ3Vlc3QgT1MgYXMgZnVu Y3Rpb25hbCwgYnV0Cj4+Pj4+Pj4+Pj4+ICAgPz8/Pz8/Pz8gbm90IHJlYWxseS4KPj4+Pj4+Pj4+ PiBXaGF0IGRvIHlvdSBtZWFuPyBBcmUgeW91IHNheWluZyB0aGF0IGFmdGVyIHJlc3VtZSB5b3Ug bG9zZQo+Pj4+Pj4+Pj4+IGNvbm5lY3Rpdml0eT8KPj4+Pj4+Pj4+IEV4YWN0bHksIGlmIHlvdSB0 YWtlIGEgbG9vayBhdCB0aGUgLnJlc3VtZSBjYWxsYmFjayBhcyBpdCBpcyBub3cKPj4+Pj4+Pj4+ IHdoYXQgaXQgZG9lcyBpdCBkZXN0cm95cyB0aGUgcmluZ3MgZXRjLiBhbmQgbmV2ZXIgbm90aWZp ZXMgdGhlIGJhY2tlbmQKPj4+Pj4+Pj4+IG9mIHRoYXQsIGUuZy4gaXQgc3RheXMgaW4sIHNheSwg Y29ubmVjdGVkIHN0YXRlIHdpdGggY29tbXVuaWNhdGlvbgo+Pj4+Pj4+Pj4gY2hhbm5lbHMgZGVz dHJveWVkLiBJdCBuZXZlciBnb2VzIGludG8gYW55IG90aGVyIFhlbiBidXMgc3RhdGUsIHNvCj4+ Pj4+Pj4+PiB0aGVyZSBpcwo+Pj4+Pj4+Pj4gbm8gd2F5IGl0cyBzdGF0ZSBtYWNoaW5lIGNhbiBo ZWxwIHJlY292ZXJpbmcuCj4+Pj4+Pj4+IE15IHRyZWUgaXMgYWJvdXQgYSBtb250aCBvbGQgc28g cGVyaGFwcyB0aGVyZSBpcyBzb21lIHNvcnQgb2YgcmVncmVzc2lvbgo+Pj4+Pj4+PiBidXQgdGhp cyBjZXJ0YWlubHkgd29ya3MgZm9yIG1lLiBBZnRlciByZXN1bWUgbmV0ZnJvbnQgZ2V0cwo+Pj4+ Pj4+PiBYZW5idXNTdGF0ZUluaXRXYWl0IGZyb20gYmFja2VuZCB3aGljaCBjYXVzZXMgeGVubmV0 X2Nvbm5lY3QoKS4KPj4+Pj4+PiBBaCwgdGhlIGRpZmZlcmVuY2UgY2FuIGJlIG9mIHRoZSB3YXkg d2UgZ2V0IHRoZSBndWVzdCBlbnRlcgo+Pj4+Pj4+IHRoZSBzdXNwZW5kIHN0YXRlLiBJIGFtIG1h a2luZyBteSBndWVzdCB0byBzdXNwZW5kIHdpdGg6Cj4+Pj4+Pj4gZWNobyBtZW0gPiAvc3lzL3Bv d2VyL3N0YXRlCj4+Pj4+Pj4gQW5kIHRoZW4gSSB1c2UgYW4gaW50ZXJydXB0IHRvIHRoZSBndWVz dCAodGhpcyBpcyBhIHRlc3QgY29kZSkKPj4+Pj4+PiB0byB3YWtlIGl0IHVwLgo+Pj4+Pj4+IENv dWxkIHlvdSBwbGVhc2Ugc2hhcmUgeW91ciBleGFjdCB1c2UtY2FzZSB3aGVuIHRoZSBndWVzdCBl bnRlcnMgc3VzcGVuZAo+Pj4+Pj4+IGFuZCB3aGF0IHlvdSBkbyB0byByZXN1bWUgaXQ/Cj4+Pj4+ PiB4bCBzYXZlIC8geGwgcmVzdG9yZQo+Pj4+Pj4KPj4+Pj4+PiBJIGNhbiBzZWUgbm8gd2F5IGJh Y2tlbmQgbWF5IHdhbnQgZW50ZXIgWGVuYnVzU3RhdGVJbml0V2FpdCBpbiBteQo+Pj4+Pj4+IHVz ZS1jYXNlCj4+Pj4+Pj4gYXMgaXQgc2ltcGx5IGRvZXNuJ3Qga25vdyB3ZSB3YW50IGhpbSB0by4K Pj4+Pj4+IFlvdXJzIGxvb2tzIGxpa2UgQUNQSSBwYXRoLCBJIGRvbid0IGtub3cgaG93IHdlbGwg aXQgd2FzIHRlc3RlZCBUQkguCj4+Pj4+IEkgcmVtZW1iZXIgYSBzZXJpZXMgZnJvbSBhbWF6b24g WzFdIHRoYXQgcGxheXMgYXJvdW5kIHN1c3BlbmQgYW5kIGhpYmVybmF0aW9uLiBUaGUgcGF0Y2gg WzJdIGxlYWRzIG1lIHRvIHRoaW5rIHRoYXQgZ3Vlc3QgdHJpZ2dlcmVkIHN1c3BlbmQvcmVzdW1l IGRvZXMgbm90IHdvcmsgcHJvcGVybHkuIEl0IGxvb2tzIGxpa2UgdGhlIHNlcmllcyBoYXMgbmV2 ZXIgYmVlbiBmdWxseSByZXZpZXdlZC4gTm90IHN1cmUgd2h5Li4uCj4+Pj4gSnVsaWVuLCB0aGFu a3MgYSBsb3QgZm9yIGJyaW5naW5nIHRoZXNlIHBhdGNoZXMgdG8gb3VyIGF0dGVudGlvbiB3aGlj aCB3ZSBvYnZpb3VzbHkgbWlzc2VkLgo+Pj4+PiBBbnl3YXksIGZyb20gbXkgdW5kZXJzdGFuZGlu ZyB0aGlzIHNlcmllcyBtYXkgc29sdmUgT2xla3NhbmRyIGlzc3VlLiBIb3dldmVyLCB0aGlzIHdv dWxkIG9ubHkgYWRkcmVzcyB0aGUgY29tbW9uIGNvZGUgc2lkZS4gQUZBSUsgT2xla3NhbmRyIGlz IHRhcmdldGluZyBBcm0gcGxhdGZvcm0uIElmIHNvLCBJIHRoaW5rIHRoaXMgd291bGQgcmVxdWly ZSBtb3JlIHdvcmsgdGhhbiB0aGlzIHNlcmllcy4gQXJtIGNvZGUgc3RpbGwgbWlzcyBmZXcgYml0 cyBwcm9wZXJseSBzdXNwZW5kL3Jlc3VtZSBhcmNoIHNwZWNpZmljIGNvZGUgKHNlZSBbMl0pLgo+ Pj4+Pgo+Pj4+PiBJIGhhdmUgYSBicmFuY2ggb24gbXkgZ2l0IHRvIHRyYWNrIHRoZSBzZXJpZXMu IEhvd2V2ZXIsIHRoZXkgbmV2ZXIgaGF2ZSBiZWVuIHJlc2VudCBhZnRlciBJYW4gQ2FtcGJlbGwg bGVmdCBDaXRyaXguIEkgd291bGQgYmUgaGFwcHkgdG8gcmV2aWV3IHRoZW0gaWYgc29tZW9uZSB3 YW50cyB0byBwaWNrIHRoZW0gdXAgYW5kIHJlcG9zdCB0aGVtLgo+Pj4+Pgo+Pj4+IEZpcnN0IG9m IGFsbCwgbGV0IG1lIG1ha2UgaXQgY2xlYXIgdGhhdCB3ZSBhcmUgaW50ZXJlc3RlZCBpbiBoaWJl cm5hdGlvbiBsb25nIHRlcm0sIHNvIGl0IHdvdWxkIGJlCj4+Pj4gZGVzaXJhYmxlIHRvIHJlLXVz ZSBhcyBtdWNoIHdvcmsgZm9ybSByZXN1bWUvc3VzcGVuZCBhcyB3ZSBjYW4uIEJ1dCwgd2Ugc2Vl IGl0IGFzIGEgc3RlcCBieQo+Pj4+IHN0ZXAgd29yaywgZS5nLiBmaXJzdCBTMlJBTSBhbmQgbGF0 ZXIgb24gaGliZXJuYXRpb24uCj4+Pj4gTGV0IG1lIGNsYXJpZnkgdGhlIGltbWVkaWF0ZSB1c2Ut Y2FzZSB0aGF0IHdlIGhhdmUsIHNvIGl0IGlzIGVhc2llciB0byB1bmRlcnN0YW5kIHdoYXQgd2Ug d2FudAo+Pj4+IGFuZCB3aGF0IHdlIGRvbid0IGF0IHRoZSBtb21lbnQuIFdlIGFyZSBhYm91dCB0 byBjb250aW51ZSB3b3JrIHN0YXJ0ZWQgYnkgTWlyZWxhL1hpbGlueCBvbgo+Pj4+IFN1c3BlbmQt dG8tUkFNIGZvciBBUk0gWzNdIGFuZCB3ZSBtYWRlIG51bWJlciBvZiBhc3N1bXB0aW9uczoKPj4+ PiAxLiBXZSBhcmUgdGFsa2luZyBhYm91dCAqc3lzdGVtKiBzdXNwZW5kLCBlLmcuIHRoZSBnb2Fs IGlzIHRvIHN1c3BlbmQgYWxsIHRoZSBjb21wb25lbnRzCj4+Pj4gb2YgdGhlIHN5c3RlbSBhbmQg WGVuIGl0c2VsZiBhdCBvbmNlLiBUaGluayBhYm91dCB0aGlzIGFzIGZhc3QtYm9vdCBhbmQvb3Ig ZW5lcmd5IHNhdmluZwo+Pj4+IGZlYXR1cmUgaWYgeW91IHdpbGwuCj4+Pj4gMi4gV2l0aCBzdXNw ZW5kL3Jlc3VtZSB0aGVyZSBpcyBubyBpbnRlbnRpb24gdG8gbWlncmF0ZSBWTXMgdG8gYW55IG90 aGVyIGhvc3QuCj4+Pj4gMy4gTW9zdCBwcm9iYWJseSBjb25maWd1cmF0aW9uIG9mIHRoZSBiYWNr L2Zyb250IHdvbid0IGNoYW5nZSBiZXR3ZWVuIHN1c3BlbmQvcmVzdW1lLgo+Pj4+IEJ1dCBsb25n IHRlcm0gd2UgYXJlIGFsc28gdGhpbmtpbmcgZm9yIHN1cHBvcnRpbmcgc3VzcGVuZC9yZXN1bWUg aW4gaXRzIGJyb2FkZXIgbWVhbmluZywKPj4+PiBlLmcuIHdoYXQgaXMgcHJvYmFibHkgd2hhdCB5 b3UgbWVhbiBieSBzdXNwZW5kL3Jlc3VtZS4KPj4+IEFGQUlLIC5zdXNwZW5kIGFuZCAucmVzdW1l IGNhbGxiYWNrcyBpbiBmcm9udGVuZCBkcml2ZXJzIGFyZQo+Pj4gc3BlY2lmaWNhbGx5IGZvciB4 bCBzYXZlL3Jlc3RvcmUgY2FzZSByYXRoZXIgdGhhbiB0aGUgbm9ybWFsICJzeXN0ZW0iCj4+PiBz dXNwZW5kLiBpLmUuIFRoZSBmb3JtZXIgaXMgQm9yaXMnIGNhc2UgYW5kIHNvbWV0aGluZyBJIGNh bGxlZCAiWGVuCj4+PiBzdXNwZW5kIiBpbiB0aGUgcGF0Y2ggc2VyaWVzLCB0aGUgbGF0dGVyIHNo b3VsZCBiZSB5b3VyIGludGVyZXN0IGFuZAo+Pj4gY2FsbGVkICJBQ1BJIHBhdGgiIGhlcmUsIGFu ZCBJIHJlZmVycmVkIHRvIGFzICJQTSBzdXNwZW5kIi4gVGhleSBhcmUKPj4+IHZlcnkgZGlmZmVy ZW50IGNvZGUgcGF0aHMsIHNlZSBkcml2ZXJzL3hlbi9tYW5hZ2UuYyBmb3IgZGV0YWlscyBvZgo+ Pj4gWGVuIHN1c3BlbmQuCj4+IFllcywgSSBzYXcgdGhhdCBjb2RlLCB0aGFuayB5b3UKPj4+PiBH aXZlbiB0aGF0LCB3ZSB0aGluayB0aGF0IHdlIGRvbid0IG5lZWQgWGVuIHN1cHBvcnQgdG8gc2F2 ZSBncmFudHMsIHBhZ2UgdGFibGVzIGFuZCBvdGhlcgo+Pj4+IFZNJ3MgY29udGV4dCBvbiBzdXNw ZW5kIGF0IGxlYXN0IGF0IHRoZSBmaXJzdCBzdGFnZSBhcyB3ZSBhcmUgaW1wbGVtZW50aW5nIG5v dCBhIGZ1bGx5Cj4+Pj4gYmxvd24gc3VzcGVuZC9yZXN1bWUsIGJ1dCBvbmx5IFMyUkFNIHBhcnQg b2YgaXQgd2hpY2ggaXMgbXVjaCBtb3JlIHNpbXBsZXIgdGhhbiBhIGdlbmVyaWMKPj4+PiBzdXNw ZW5kIGltcGxlbWVudGF0aW9uLiBXZSBvbmx5IG5lZWQgY2hhbmdlcyB0byBMaW51eCBrZXJuZWwg ZnJvbnRlbmQgZHJpdmVycyBmcm9tIFsxXSAtIHRoZQo+Pj4+IHBpZWNlIHRoYXQgd2UgbWlzcyBp cyBzdXNwZW5kL3Jlc3VtZSBpbXBsZW1lbnRhdGlvbiBpbiB0aGUgbmV0ZnJvbnQgZHJpdmVyLiBX aGF0IGlzIG1vcmUsIGFzCj4+Pj4gd2UgYXJlIG5vdCBjaGFuZ2luZyBiYWNrL2Zyb250IGNvbmZp Z3VyYXRpb24sIHdlIGNhbiBldmVuIGxpdmUgd2l0aCBlbXB0eSAucmVzdW1lLy5zdXNwZW5kCj4+ Pj4gZnJvbnRlbmQncyBjYWxsYmFja3MgYmVjYXVzZSBldmVudCBjaGFubmVscywgcmluZ3MgZXRj LiBhcmUgInN0YXRpY2FsbHkiIGFsbG9jYXRlZCBpbiBvdXIKPj4+PiB1c2UtY2FzZSBhdCB0aGUg Zmlyc3Qgc3lzdGVtIHN0YXJ0IChjb2xkIGJvb3QpLiBBbmQgaW5kZWVkLCB0ZXN0cyBzaG93IHRo YXQgd2FraW5nIGRvbWFpbnMKPj4+PiBpbiB0aGUgcmlnaHQgb3JkZXIgZG8gYWxsb3cgdGhhdC4K Pj4+PiBTbywgZnJhbmtseSwgZnJvbSBbM10gd2UgYXJlIGltbWVkaWF0ZWx5IGludGVyZXN0ZWQg aW4gaW1wbGVtZW50aW5nIC5yZXN1bWUvLnN1c3BlbmQsIG5vdAo+Pj4gSWYgeW91IGp1c3QgKHJl KWltcGxlbWVudCAuc3VzcGVuZCBhbmQgLnJlc3VtZSBzbyB3aXRob3V0IHRha2luZyBjYXJlCj4+ PiBvZiBYZW4gc3VzcGVuZCwgeW91IGNhbiBlYXNpbHkgYnJlYWsgdGhlIGV4aXN0aW5nIGZ1bmN0 aW9uYWxpdHkuIFRoZQo+Pj4gcGF0Y2ggc2VyaWVzIGludHJvZHVjZWQgLmZyZWV6ZSBhbmQgLnJl c3RvcmUgY2FsbGJhY2tzIGZvciBib3RoIFBNCj4+PiBzdXNwZW5kIGFuZCBoaWJlcm5hdGlvbiwg YW5kIGtlcHQgLnN1c3BlbmQgKG5vdCBpbXBsZW1lbnRlZCBpbiBtb3N0Cj4+PiBmcm9udGVuZCB0 aG91Z2gpIGFuZCAucmVzdW1lIHdpdGggbm8gY2hhbmdlcyBmb3IgWGVuIHN1c3BlbmQuCj4+Pgo+ Pj4gTm90ZSB0aGF0IHhlbmJ1cyBoYXMgbWFwcGVkIGZyZWV6ZS90aGF3L3Jlc3RvcmUgZXZlbnRz IHRvIHN1c3BlbmQsCj4+PiByZXN1bWUgYW5kIGNhbmNlbCBjYWxsYmFja3MgdG8gaGFuZGxlICJj aGVja3BvaW50IiBjYXNlWzRdLiBUaGlzIHdhcyBhCj4+PiBiaXQgdHJpY2t5IGFuZCBsZWQgbWUg dG8gdGhlIGRlc2lnbiB0byBoYXZlIHRoZSBzZXBhcmF0ZSBzZXQgb2YKPj4+IGNhbGxiYWNrcyBh dCBlYWNoIGZyb250ZW5kIGRyaXZlciBsZXZlbFs1XS4gWW91IG1pZ2h0IG5lZWQgdG8gY29uc2lk ZXIKPj4+IGEgc2ltaWxhciBhcHByb2FjaCBldmVuIGlmIHlvdXIgaW1tZWRpYXRlIGludGVyZXN0 IGF0IHRoZSBtb21lbnQgaXMgUE0KPj4+IHN1c3BlbmQuCj4+IEZvciB0aGUgaW1tZWRpYXRlIHRh c2sgd2UgaGF2ZSBhdCB0aGUgbW9tZW50IHdlIHRoaW5rIHdlIGNhbiByZS11c2UKPj4geW91ciB3 b3JrIGFuZCBpbXBsZW1lbnQgLnN1c3BlbmQvLnJlc3VtZSBiYXNlZCBvbiBpdCAod2UgYXJlIHRh cmdldGluZwo+PiBTMlJBTSBhcyB0aGUgZmlyc3Qgc3RhZ2UpLgo+PiBCdXQgbG9uZyB0ZXJtIC0g d2UgZG8gc3VwcG9ydCB0aGUgaWRlYSBvZiBmdWxseSBpbXBsZW1lbnRlZAo+PiBzdXNwZW5kIGFu ZCAqaGliZXJuYXRlKiBmdW5jdGlvbmFsaXR5IGFzIHlvdSBkZXNjcmliZSBpdC4KPj4gU28sIHll cywgd2UgYXJlIGFsc28gdGhpbmtpbmcgYWJvdXQgdGhhdC4KPj4+PiBldmVuIGZyZWV6ZS90aGF3 L3Jlc3RvcmUgY2FsbGJhY2tzOiBpZiBBbWF6b24gaGFzIHdpbGwgYW5kIGNhcGFjaXR5IHRvIGNv bnRpbnVlIHdvcmtpbmcgb24gWzNdCj4+Pj4gdGhlbiBvbmNlIHRoYXQgZ2V0cyBpbnRvIHRoZSB1 cHN0cmVhbSBpdCBhbHNvIHNvbHZlcyBvdXIgUzJSQU0gdXNlLWNhc2UsIGJ1dCBpZiBub3QgdGhl biB3ZQo+Pj4+IGNhbiBwcm9iYWJseSByZS13b3JrIG5ldGZyb250IHBhdGNoIGFuZCBvbmx5IHBy b3ZpZGUgLnJlc3VtZS8uc3VzcGVuZCBjYWxsYmFja3Mgd2hpY2ggd2UgbmVlZAo+Pj4+IGZvciBu b3cgKHJlbWVtYmVyIG91ciB2ZXJ5IHNwZWNpZmljIHVzZS1jYXNlIHdoaWNoIGNhbiBzdXJ2aXZl IHN1c3BlbmQgd2l0aG91dCBjYWxsYmFja3MKPj4+PiBpbXBsZW1lbnRlZCkuCj4+Pj4gSU1PLCBw YXRjaGVzIGF0IFsyXSBzZWVtIHRvIGJlIHVzZWZ1bCB3aGlsZSBpbXBsZW1lbnRpbmcgZ2VuZXJp YyBzdXNwZW5kL3Jlc3VtZSBhbmQgY2FuCj4+Pj4gYmUgcG9zdHBvbmVkIGZvciBTMlJBTS4KPj4+ Pgo+Pj4+IEp1bGllbi9KdWVyZ2VuL0JvcmlzL0FtYXpvbiAtIGNvdWxkIHlvdSBwbGVhc2UgZXhw cmVzcyB5b3VyIHZpZXcgb24gdGhlIGFib3ZlPwo+Pj4+IElzIGl0IGFjY2VwdGFibGUgdGhhdCBm b3Igbm93IHdlIG9ubHkgdGFrZSByZS13b3JrZWQgbmV0ZnJvbnQgcGF0Y2ggZnJvbSBbM10gd2l0 aCBmdWxsCj4+Pj4gaW1wbGVtZW50YXRpb24gaW4gbWluZCBmb3IgbGF0ZXIgKHdlIHJldXNlIGNv ZGUgZm9yIC5yZXN1bWUvLnN1c3BlbmQpPwo+Pj4gSW4gZmFjdCwgQW5jaGFsIGhhcyB0YWtlbiBv dmVyIG15IGluaXRpYWwgd29yayBhbmQgc2hlIG1heSB3YW50IHRvIGNoaW1lCj4+PiBpbiBoZXJl Lgo+PiBHcmVhdCwgY291bGQgeW91IHBsZWFzZSBsZXQgdXMga25vdyB3aGF0IGlzIHRoZSBwcm9n cmVzcyBhbmQgZnVydGhlciBwbGFucwo+PiBvbiB0aGF0LCBzbyB3ZSBkbyBub3Qgd29yayBvbiB0 aGUgc2FtZSBjb2RlIGFuZCBjYW4gY29vcmRpbmF0ZSBvdXIKPj4gZWZmb3J0cyBzb21laG93PyBB bmNoYWwsIGNvdWxkIHlvdSBwbGVhc2Ugc2hlZCBzb21lIGxpZ2h0IG9uIHRoaXM/Cj4gTG9va3Mg bGlrZSBteSBwcmV2aW91cyBlbWFpbCBkaWQgbm90IG1ha2UgaXQgdG8gbWFpbGluZyBsaXN0LiBN YXkgYmUgc29tZSBpc3N1ZXMgd2l0aCBteQo+IGVtYWlsIHNlcnZlciBzZXR0aW5ncy4gR2l2aW5n IGl0IGFub3RoZXIgc2hvdC4KPiBZZXMsIEkgYW0gd29ya2luZyBvbiB0aG9zZSBwYXRjaGVzIGFu ZCBwbGFuIHRvIHJlLXBvc3QgdGhlbSBpbiBhbiBlZmZvcnQgdG8gdXBzdHJlYW0uClRoaXMgaXMg cmVhbGx5IGdyZWF0LCBsb29raW5nIGZvcndhcmQgdG8gaXQ6IGFueSBkYXRlIGluIHlvdXIgbWlu ZAp3aGVuIHRoaXMgY2FuIGhhcHBlbj8KPiBJIGFncmVlIHdpdGggTXVuZWhpc2EgaGVyZSBvbiBj b25zaWRlcmluZyB0aGUgcGF0Y2hlcyB0aGF0IGFyZSBhbHJlYWR5IG91dCB0aGVyZSBhcwo+IEkg cGxhbiB0byBrZWVwIHRoZSBzYW1lIG1vZGVsIHRvIGRpc3Rpbmd1aXNoIFBNIFNVU1BFTkQgYW5k IFBNIEhJQkVSTkFUSU9OIGZyb20geGVuCj4gc3VzcGVuZCBhbmQgcmVzdW1lLiBUaGVyZSBtYXkg YmUgbWlub3IgZml4ZXMgaGVyZSBhbmQgdGhlcmUgaG93ZXZlciwgdGhlIG92ZXJhbGwKPiBpZGVh IHdpbGwgc3RpbGwgcmVtYWluIHRoZSBzYW1lLgpPaywgc28gSSdsbCBwbGFuIG15IGVmZm9ydHMg YWNjb3JkaW5nbHkKPiAgIEFzIHRoZSBwcmV2aW91cyBwYXRjaGVzIHRoZXJlIHdpbGwgYmUgc3Vw cG9ydCBmb3IKPiBvbmx5IHhlbi1ibGtmcm9udCBhbmQgeGVuLW5ldGZyb250IGluIHRoZSBpbml0 aWFsIHBhdGNoc2V0Lgo+Pj4gVGhhdCBzYWlkLCBJJ2QgYmUgdmVyeSBoYXBweSB0byByZXZpZXcg cGF0Y2hlcyBpZiB5b3UgY29tZSB1cCB3aXRoIHlvdXIKPj4+IG93biBvbmVzLCBzbyBmZWVsIGZy ZWUgdG8gYWRkIG1lIGluIHRoYXQgY2FzZS4KPj4gU3VyZSwgdGhhbmsgeW91IQo+Pj4+PiBDaGVl cnMsCj4+Pj4+Cj4+Pj4+IFsxXSBodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL2FyY2hpdmVz L2h0bWwveGVuLWRldmVsLzIwMTgtMDYvbXNnMDA4MjMuaHRtbAo+Pj4+Pgo+Pj4+PiBbMl0gaHR0 cDovL3hlbmJpdHMueGVuLm9yZy9naXR3ZWIvP3A9cGVvcGxlL2p1bGllbmcvbGludXgtYXJtLmdp dDthPXNob3J0bG9nO2g9cmVmcy9oZWFkcy94ZW4tbWlncmF0aW9uL3YyCj4+Pj4+Cj4+Pj4gWzNd IGh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvYXJjaGl2ZXMvaHRtbC94ZW4tZGV2ZWwvMjAx OC0xMS9tc2cwMTA5My5odG1sCj4+PiBbNF0gaHR0cHM6Ly9naXQua2VybmVsLm9yZy9wdWIvc2Nt L2xpbnV4L2tlcm5lbC9naXQvdG9ydmFsZHMvbGludXguZ2l0L2NvbW1pdC8/aWQ9YjNlOTZjMGM3 NTYyMTFlODA1YzY5NDFkNGE2ZTVmNmUxOTk1Y2I2Ygo+Pj4gWzVdIGh0dHBzOi8vbGlzdHMueGVu cHJvamVjdC5vcmcvYXJjaGl2ZXMvaHRtbC94ZW4tZGV2ZWwvMjAxOC0wNi9tc2cwMDgyNS5odG1s Cj4+Pgo+Pj4+Pj4gLWJvcmlzCj4+Pj4+Pgo+Pj4+Pj4gX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KPj4+Pj4+IFhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKPj4+ Pj4+IFhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwo+Pj4+Pj4gaHR0cHM6Ly9saXN0cy54 ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbAo+Pj4+Pj4KPj4+PiBUaGFu ayB5b3UsCj4+Pj4gT2xla3NhbmRyCj4+PiBUaGFua3MsCj4+PiBNdW5laGlzYQo+IFRoYW5rcywK PiBBbmNoYWwKVGhhbmsgeW91LApPbGVrc2FuZHIKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxp c3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9s aXN0aW5mby94ZW4tZGV2ZWw=