From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oleksandr Andrushchenko Subject: Re: [PATCH 0/1] drm/xen-zcopy: Add Xen zero-copy helper DRM driver Date: Tue, 17 Apr 2018 11:19:22 +0300 Message-ID: References: <20180329131931.29957-1-andr2000@gmail.com> <5d8fec7f-956c-378f-be90-f45029385740@gmail.com> <20180416192905.GA18096@downor-Z87X-UD5H> <20180417075928.GT31310@phenom.ffwll.local> 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 1f8Lpn-0006iF-64 for xen-devel@lists.xenproject.org; Tue, 17 Apr 2018 08:19:27 +0000 Received: by mail-lf0-x243.google.com with SMTP id r125-v6so9279816lfe.2 for ; Tue, 17 Apr 2018 01:19:25 -0700 (PDT) In-Reply-To: <20180417075928.GT31310@phenom.ffwll.local> Content-Language: en-US List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Dongwon Kim , jgross@suse.com, Artem Mygaiev , konrad.wilk@oracle.com, airlied@linux.ie, Oleksandr Andrushchenko , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, "Potrola, MateuszX" , daniel.vetter@intel.com, xen-devel@lists.xenproject.org, boris.ostrovsky@oracle.com List-Id: xen-devel@lists.xenproject.org T24gMDQvMTcvMjAxOCAxMDo1OSBBTSwgRGFuaWVsIFZldHRlciB3cm90ZToKPiBPbiBNb24sIEFw ciAxNiwgMjAxOCBhdCAxMjoyOTowNVBNIC0wNzAwLCBEb25nd29uIEtpbSB3cm90ZToKPj4gWWVh aCwgSSBkZWZpbml0ZWx5IGFncmVlIG9uIHRoZSBpZGVhIG9mIGV4cGFuZGluZyB0aGUgdXNlIGNh c2UgdG8gdGhlCj4+IGdlbmVyYWwgZG9tYWluIHdoZXJlIGRtYWJ1ZiBzaGFyaW5nIGlzIHVzZWQu IEhvd2V2ZXIsIHdoYXQgeW91IGFyZQo+PiB0YXJnZXR0aW5nIHdpdGggcHJvcG9zZWQgY2hhbmdl cyBpcyBpZGVudGljYWwgdG8gdGhlIGNvcmUgZGVzaWduIG9mCj4+IGh5cGVyX2RtYWJ1Zi4KPj4K Pj4gT24gdG9wIG9mIHRoaXMgYmFzaWMgZnVuY3Rpb25hbGl0aWVzLCBoeXBlcl9kbWFidWYgaGFz IGRyaXZlciBsZXZlbAo+PiBpbnRlci1kb21haW4gY29tbXVuaWNhdGlvbiwgdGhhdCBpcyBuZWVk ZWQgZm9yIGRtYS1idWYgcmVtb3RlIHRyYWNraW5nCj4+IChubyBmZW5jZSBmb3J3YXJkaW5nIHRo b3VnaCksIGV2ZW50IHRyaWdnZXJpbmcgYW5kIGV2ZW50IGhhbmRsaW5nLCBleHRyYQo+PiBtZXRh IGRhdGEgZXhjaGFuZ2UgYW5kIGh5cGVyX2RtYWJ1Zl9pZCB0aGF0IHJlcHJlc2VudHMgZ3JlZnMK Pj4gKGdyZWZzIGFyZSBzaGFyZWQgaW1wbGljaXRseSBvbiBkcml2ZXIgbGV2ZWwpCj4gVGhpcyBy ZWFsbHkgaXNuJ3QgYSBwb3NpdGl2ZSBkZXNpZ24gYXNwZWN0IG9mIGh5cGVyZG1hYnVmIGltby4g VGhlIGNvcmUKPiBjb2RlIGluIHhlbi16Y29weSAoaWdub3JpbmcgdGhlIGlvY3RsIHNpZGUsIHdo aWNoIHdpbGwgYmUgY2xlYW5lZCB1cCkgaXMKPiB2ZXJ5IHNpbXBsZSAmIGNsZWFuLgo+Cj4gSWYg dGhlcmUncyBhIGNsZWFyIG5lZWQgbGF0ZXIgb24gd2UgY2FuIGV4dGVuZCB0aGF0LiBCdXQgZm9y IG5vdyB4ZW4temNvcHkKPiBzZWVtcyB0byBjb3ZlciB0aGUgYmFzaWMgdXNlLWNhc2UgbmVlZHMs IHNvIGdldHMgdGhlIGpvYiBkb25lLgpBZnRlciB3ZSBkZWNpZGVkIHRvIHJlbW92ZSBEUk0gUFJJ TUUgY29kZSBmcm9tIHRoZSB6Y29weSBkcml2ZXIKSSB0aGluayB3ZSBjYW4gZXh0ZW5kIHRoZSBl eGlzdGluZyBYZW4gZHJpdmVycyBpbnN0ZWFkIG9mIGludHJvZHVjaW5nCmEgbmV3IG9uZToKZ250 ZGV2IFsxXSwgWzJdIC0gdG8gaGFuZGxlIGV4cG9ydC9pbXBvcnQgb2YgdGhlIGRtYS1idWZzIHRv L2Zyb20gZ3JlZnMKYmFsbG9vbiBbM10gLSB0byBhbGxvdyBhbGxvY2F0aW5nIENNQSBidWZmZXJz Cj4+IEFsc28gaXQgaXMgZGVzaWduZWQgd2l0aCBmcm9udGVuZCAoY29tbW9uIGNvcmUgZnJhbWV3 b3JrKSArIGJhY2tlbmQKPj4gKGh5cGVyIHZpc29yIHNwZWNpZmljIGNvbW0gYW5kIG1lbW9yeSBz aGFyaW5nKSBzdHJ1Y3R1cmUgZm9yIHBvcnRhYmlsaXR5Lgo+PiBXZSBqdXN0IGNhbid0IGxpbWl0 IHRoaXMgZmVhdHVyZSB0byBYZW4gYmVjYXVzZSB3ZSB3YW50IHRvIHVzZSB0aGUgc2FtZQo+PiB1 YXBpcyBub3Qgb25seSBmb3IgWGVuIGJ1dCBhbHNvIG90aGVyIGFwcGxpY2FibGUgaHlwZXJ2aXNv ciwgbGlrZSBBQ09STi4KPiBTZWUgdGhlIGRpc2N1c3Npb24gYXJvdW5kIHVkbWFidWYgYW5kIHRo ZSBuZWVkcyBmb3Iga3ZtLiBJIHRoaW5rIHRyeWluZyB0bwo+IG1ha2UgYW4gaW9jdGwvdWFwaSB0 aGF0IHdvcmtzIGZvciBtdWx0aXBsZSBoeXBlcnZpc29ycyBpcyBtaXNndWlkZWQgLSBpdAo+IGxp a2VseSB3b24ndCB3b3JrLgo+Cj4gT24gdG9wIG9mIHRoYXQgdGhlIDJuZCBoeXBlcnZpc29yIHlv dSdyZSBhaW1pbmcgdG8gc3VwcG9ydCBpcyBBQ1JOLiBUaGF0J3MKPiBub3QgZXZlbiB1cHN0cmVh bSB5ZXQsIG5vciBoYXZlIEkgc2VlbiBhbnkgcGF0Y2hlcyBwcm9wb3NpbmcgdG8gbGFuZCBsaW51 eAo+IHN1cHBvcnQgZm9yIEFDUk4uIFNpbmNlIGl0J3Mgbm90IHVwc3RyZWFtLCBpdCBkb2Vzbid0 IHJlYWxseSBtYXR0ZXIgZm9yCj4gdXBzdHJlYW0gY29uc2lkZXJhdGlvbi4gSSdtIGRvdWJ0aW5n IHRoYXQgQUNSTiB3aWxsIHVzZSB0aGUgc2FtZSBncmFudAo+IHJlZmVyZW5jZXMgYXMgeGVuLCBz byB0aGUgc2FtZSB1YXBpIHdvbid0IHdvcmsgb24gQUNSTiBhcyBvbiBYZW4gYW55d2F5Lgo+Cj4+ IFNvIEkgYW0gd29uZGVyaW5nIHdlIGNhbiBzdGFydCB3aXRoIHRoaXMgaHlwZXJfZG1hYnVmIHRo ZW4gbW9kaWZ5IGl0IGZvcgo+PiB5b3VyIHVzZS1jYXNlIGlmIG5lZWRlZCBhbmQgcG9saXNoIGFu ZCBmaXggYW55IGdsaXRjaGVzIGlmIHdlIHdhbnQgdG8KPj4gdG8gdXNlIHRoaXMgZm9yIGFsbCBn ZW5lcmFsIGRtYS1idWYgdXNlY2FzZXMuCj4gSW1vIHhlbi16Y29weSBpcyBhIG11Y2ggbW9yZSBy ZWFzb25hYmxlIHN0YXJ0aW5nIHBvaW50IGZvciB1cHN0cmVhbSwgd2hpY2gKPiBjYW4gdGhlbiBi ZSBleHRlbmRlZCAoaWYgcmVhbGx5IHByb3ZlbiB0byBiZSBuZWNlc3NhcnkpLgo+Cj4+IEFsc28s IEkgc3RpbGwgaGF2ZSBvbmUgdW5yZXNvbHZlZCBxdWVzdGlvbiByZWdhcmRpbmcgdGhlIGV4cG9y dC9pbXBvcnQgZmxvdwo+PiBpbiBib3RoIG9mIGh5cGVyX2RtYWJ1ZiBhbmQgeGVuLXpjb3B5Lgo+ Pgo+PiBAZGFudmV0OiBXb3VsZCB0aGlzIGZsb3cgKGd1ZXN0MS0+aW1wb3J0IGV4aXN0aW5nIGRt YWJ1Zi0+c2hhcmUgdW5kZXJseWluZwo+PiBwYWdlcy0+Z3Vlc3QyLT5tYXAgc2hhcmVkIHBhZ2Vz LT5jcmVhdGUvZXhwb3J0IGRtYWJ1ZikgYmUgYWNjZXB0YWJsZSBub3c/Cj4gSSB0aGluayBpZiB5 b3UganVzdCBsb29rIGF0IHRoZSBwYWdlcywgYW5kIG1ha2Ugc3VyZSB5b3UgaGFuZGxlIHRoZQo+ IHNnX3BhZ2UgPT0gTlVMTCBjYXNlIGl0J3Mgb2staXNoLiBJdCdzIG5vdCBncmVhdCwgYnV0IG1v c3RseSBpdCBzaG91bGQKPiB3b3JrLiBUaGUgcmVhbCB0cm91YmxlIHdpdGggaHlwZXJkbWFidWYg d2FzIHRoZSBmb3J3YXJkaW5nIG9mIGFsbCB0aGVzZQo+IGNhbGxzLCBpbnN0ZWFkIG9mIGp1c3Qg cGFzc2luZyBhcm91bmQgYSBsaXN0IG9mIGdyYW50IHJlZmVyZW5jZXMuCj4gLURhbmllbAo+Cj4+ IFJlZ2FyZHMsCj4+IERXCj4+ICAgCj4+IE9uIE1vbiwgQXByIDE2LCAyMDE4IGF0IDA1OjMzOjQ2 UE0gKzAzMDAsIE9sZWtzYW5kciBBbmRydXNoY2hlbmtvIHdyb3RlOgo+Pj4gSGVsbG8sIGFsbCEK Pj4+Cj4+PiBBZnRlciBkaXNjdXNzaW5nIHhlbi16Y29weSBhbmQgaHlwZXItZG1hYnVmIFsxXSBh cHByb2FjaGVzCkV2ZW4gbW9yZSBjb250ZXh0IGZvciB0aGUgZGlzY3Vzc2lvbiBbNF0sIHNvIFhl biBjb21tdW5pdHkgY2FuCmNhdGNoIHVwCj4+PiBpdCBzZWVtcyB0aGF0IHhlbi16Y29weSBjYW4g YmUgbWFkZSBub3QgZGVwZW5kIG9uIERSTSBjb3JlIGFueSBtb3JlCj4+Pgo+Pj4gYW5kIGJlIGRt YS1idWYgY2VudHJpYyAod2hpY2ggaXQgaW4gZmFjdCBpcykuCj4+Pgo+Pj4gVGhlIERSTSBjb2Rl IHdhcyBtb3N0bHkgdGhlcmUgZm9yIGRtYS1idWYncyBGRCBpbXBvcnQvZXhwb3J0Cj4+Pgo+Pj4g d2l0aCBEUk0gUFJJTUUgVUFQSSBhbmQgd2l0aCBEUk0gdXNlLWNhc2VzIGluIG1pbmQsIGJ1dCBp dCBjb21lcyBvdXQgdGhhdCBpZgo+Pj4KPj4+IHRoZSBwcm9wb3NlZCAyIElPQ1RMcyAoRFJNX1hF Tl9aQ09QWV9EVU1CX0ZST01fUkVGUyBhbmQKPj4+IERSTV9YRU5fWkNPUFlfRFVNQl9UT19SRUZT KQo+Pj4KPj4+IGFyZSBleHRlbmRlZCB0byBhbHNvIHByb3ZpZGUgYSBmaWxlIGRlc2NyaXB0b3Ig b2YgdGhlIGNvcnJlc3BvbmRpbmcgZG1hLWJ1ZiwKPj4+IHRoZW4KPj4+Cj4+PiBQUklNRSBzdHVm ZiBpbiB0aGUgZHJpdmVyIGlzIG5vdCBuZWVkZWQgYW55bW9yZS4KPj4+Cj4+PiBUaGF0IGJlaW5n IHNhaWQsIHhlbi16Y29weSBjYW4gc2FmZWx5IGJlIGRldGFjaGVkIGZyb20gRFJNIGFuZCBtb3Zl ZCBmcm9tCj4+Pgo+Pj4gZHJpdmVycy9ncHUvZHJtL3hlbiBpbnRvIGRyaXZlcnMveGVuL2RtYS1i dWYtYmFja2VuZCg/KS4KPj4+Cj4+PiBUaGlzIGRyaXZlciB0aGVuIGJlY29tZXMgYSB1bml2ZXJz YWwgd2F5IHRvIHR1cm4gYW55IHNoYXJlZCBidWZmZXIgYmV0d2Vlbgo+Pj4gRG9tMC9Eb21ECj4+ Pgo+Pj4gYW5kIERvbVUocykgaW50byBhIGRtYS1idWYsIGUuZy4gb25lIGNhbiBjcmVhdGUgYSBk bWEtYnVmIGZyb20gYW55IGdyYW50Cj4+PiByZWZlcmVuY2VzCj4+Pgo+Pj4gb3IgcmVwcmVzZW50 IGEgZG1hLWJ1ZiBhcyBncmFudC1yZWZlcmVuY2VzIGZvciBleHBvcnQuCj4+Pgo+Pj4gVGhpcyB3 YXkgdGhlIGRyaXZlciBjYW4gYmUgdXNlZCBub3Qgb25seSBmb3IgRFJNIHVzZS1jYXNlcywgYnV0 IGFsc28gZm9yCj4+PiBvdGhlcgo+Pj4KPj4+IHVzZS1jYXNlcyB3aGljaCBtYXkgcmVxdWlyZSB6 ZXJvIGNvcHlpbmcgYmV0d2VlbiBkb21haW5zLgo+Pj4KPj4+IEZvciBleGFtcGxlLCB0aGUgdXNl LWNhc2VzIHdlIGFyZSBhYm91dCB0byB3b3JrIGluIHRoZSBuZWFyZXN0IGZ1dHVyZSB3aWxsCj4+ PiB1c2UKPj4+Cj4+PiBWNEwsIGUuZy4gd2UgcGxhbiB0byBzdXBwb3J0IGNhbWVyYXMsIGNvZGVj cyBldGMuIGFuZCBhbGwgdGhlc2Ugd2lsbCBiZW5lZml0Cj4+Pgo+Pj4gZnJvbSB6ZXJvIGNvcHlp bmcgbXVjaC4gUG90ZW50aWFsbHksIGV2ZW4gYmxvY2svbmV0IGRldmljZXMgbWF5IGJlbmVmaXQs Cj4+Pgo+Pj4gYnV0IHRoaXMgbmVlZHMgc29tZSBldmFsdWF0aW9uLgo+Pj4KPj4+Cj4+PiBJIHdv dWxkIGxvdmUgdG8gaGVhciBjb21tZW50cyBmb3IgYXV0aG9ycyBvZiB0aGUgaHlwZXItZG1hYnVm Cj4+Pgo+Pj4gYW5kIFhlbiBjb21tdW5pdHksIGFzIHdlbGwgYXMgRFJJLURldmVsIGFuZCBvdGhl ciBpbnRlcmVzdGVkIHBhcnRpZXMuCj4+Pgo+Pj4KPj4+IFRoYW5rIHlvdSwKPj4+Cj4+PiBPbGVr c2FuZHIKPj4+Cj4+Pgo+Pj4gT24gMDMvMjkvMjAxOCAwNDoxOSBQTSwgT2xla3NhbmRyIEFuZHJ1 c2hjaGVua28gd3JvdGU6Cj4+Pj4gRnJvbTogT2xla3NhbmRyIEFuZHJ1c2hjaGVua28gPG9sZWtz YW5kcl9hbmRydXNoY2hlbmtvQGVwYW0uY29tPgo+Pj4+Cj4+Pj4gSGVsbG8hCj4+Pj4KPj4+PiBX aGVuIHVzaW5nIFhlbiBQViBEUk0gZnJvbnRlbmQgZHJpdmVyIHRoZW4gb24gYmFja2VuZCBzaWRl IG9uZSB3aWxsIG5lZWQKPj4+PiB0byBkbyBjb3B5aW5nIG9mIGRpc3BsYXkgYnVmZmVycycgY29u dGVudHMgKGZpbGxlZCBieSB0aGUKPj4+PiBmcm9udGVuZCdzIHVzZXItc3BhY2UpIGludG8gYnVm ZmVycyBhbGxvY2F0ZWQgYXQgdGhlIGJhY2tlbmQgc2lkZS4KPj4+PiBUYWtpbmcgaW50byBhY2Nv dW50IHRoZSBzaXplIG9mIGRpc3BsYXkgYnVmZmVycyBhbmQgZnJhbWVzIHBlciBzZWNvbmRzCj4+ Pj4gaXQgbWF5IHJlc3VsdCBpbiB1bm5lZWRlZCBodWdlIGRhdGEgYnVzIG9jY3VwYXRpb24gYW5k IHBlcmZvcm1hbmNlIGxvc3MuCj4+Pj4KPj4+PiBUaGlzIGhlbHBlciBkcml2ZXIgYWxsb3dzIGlt cGxlbWVudGluZyB6ZXJvLWNvcHlpbmcgdXNlLWNhc2VzCj4+Pj4gd2hlbiB1c2luZyBYZW4gcGFy YS12aXJ0dWFsaXplZCBmcm9udGVuZCBkaXNwbGF5IGRyaXZlciBieQo+Pj4+IGltcGxlbWVudGlu ZyBhIERSTS9LTVMgaGVscGVyIGRyaXZlciBydW5uaW5nIG9uIGJhY2tlbmQncyBzaWRlLgo+Pj4+ IEl0IHV0aWxpemVzIFBSSU1FIGJ1ZmZlcnMgQVBJIHRvIHNoYXJlIGZyb250ZW5kJ3MgYnVmZmVy cyB3aXRoCj4+Pj4gcGh5c2ljYWwgZGV2aWNlIGRyaXZlcnMgb24gYmFja2VuZCdzIHNpZGU6Cj4+ Pj4KPj4+PiAgIC0gYSBkdW1iIGJ1ZmZlciBjcmVhdGVkIG9uIGJhY2tlbmQncyBzaWRlIGNhbiBi ZSBzaGFyZWQKPj4+PiAgICAgd2l0aCB0aGUgWGVuIFBWIGZyb250ZW5kIGRyaXZlciwgc28gaXQg ZGlyZWN0bHkgd3JpdGVzCj4+Pj4gICAgIGludG8gYmFja2VuZCdzIGRvbWFpbiBtZW1vcnkgKGlu dG8gdGhlIGJ1ZmZlciBleHBvcnRlZCBmcm9tCj4+Pj4gICAgIERSTS9LTVMgZHJpdmVyIG9mIGEg cGh5c2ljYWwgZGlzcGxheSBkZXZpY2UpCj4+Pj4gICAtIGEgZHVtYiBidWZmZXIgYWxsb2NhdGVk IGJ5IHRoZSBmcm9udGVuZCBjYW4gYmUgaW1wb3J0ZWQKPj4+PiAgICAgaW50byBwaHlzaWNhbCBk ZXZpY2UgRFJNL0tNUyBkcml2ZXIsIHRodXMgYWxsb3dpbmcgdG8KPj4+PiAgICAgYWNoaWV2ZSBu byBjb3B5aW5nIGFzIHdlbGwKPj4+Pgo+Pj4+IEZvciB0aGF0IHJlYXNvbiBudW1iZXIgb2YgSU9D VExzIGFyZSBpbnRyb2R1Y2VkOgo+Pj4+ICAgLSAgRFJNX1hFTl9aQ09QWV9EVU1CX0ZST01fUkVG Uwo+Pj4+ICAgICAgVGhpcyB3aWxsIGNyZWF0ZSBhIERSTSBkdW1iIGJ1ZmZlciBmcm9tIGdyYW50 IHJlZmVyZW5jZXMgcHJvdmlkZWQKPj4+PiAgICAgIGJ5IHRoZSBmcm9udGVuZAo+Pj4+ICAgLSBE Uk1fWEVOX1pDT1BZX0RVTUJfVE9fUkVGUwo+Pj4+ICAgICBUaGlzIHdpbGwgZ3JhbnQgcmVmZXJl bmNlcyB0byBhIGR1bWIvZGlzcGxheSBidWZmZXIncyBtZW1vcnkgcHJvdmlkZWQKPj4+PiAgICAg YnkgdGhlIGJhY2tlbmQKPj4+PiAgIC0gRFJNX1hFTl9aQ09QWV9EVU1CX1dBSVRfRlJFRQo+Pj4+ ICAgICBUaGlzIHdpbGwgYmxvY2sgdW50aWwgdGhlIGR1bWIgYnVmZmVyIHdpdGggdGhlIHdhaXQg aGFuZGxlIHByb3ZpZGVkCj4+Pj4gICAgIGJlIGZyZWVkCj4+Pj4KPj4+PiBXaXRoIHRoaXMgaGVs cGVyIGRyaXZlciBJIHdhcyBhYmxlIHRvIGRyb3AgQ1BVIHVzYWdlIGZyb20gMTclIHRvIDMlCj4+ Pj4gb24gUmVuZXNhcyBSLUNhciBNMyBib2FyZC4KPj4+Pgo+Pj4+IFRoaXMgd2FzIHRlc3RlZCB3 aXRoIFJlbmVzYXMnIFdheWxhbmQtS01TIGFuZCBiYWNrZW5kIHJ1bm5pbmcgYXMgRFJNIG1hc3Rl ci4KPj4+Pgo+Pj4+IFRoYW5rIHlvdSwKPj4+PiBPbGVrc2FuZHIKPj4+Pgo+Pj4+IE9sZWtzYW5k ciBBbmRydXNoY2hlbmtvICgxKToKPj4+PiAgICBkcm0veGVuLXpjb3B5OiBBZGQgWGVuIHplcm8t Y29weSBoZWxwZXIgRFJNIGRyaXZlcgo+Pj4+Cj4+Pj4gICBEb2N1bWVudGF0aW9uL2dwdS9kcml2 ZXJzLnJzdCAgICAgICAgICAgICAgIHwgICAxICsKPj4+PiAgIERvY3VtZW50YXRpb24vZ3B1L3hl bi16Y29weS5yc3QgICAgICAgICAgICAgfCAgMzIgKwo+Pj4+ICAgZHJpdmVycy9ncHUvZHJtL3hl bi9LY29uZmlnICAgICAgICAgICAgICAgICB8ICAyNSArCj4+Pj4gICBkcml2ZXJzL2dwdS9kcm0v eGVuL01ha2VmaWxlICAgICAgICAgICAgICAgIHwgICA1ICsKPj4+PiAgIGRyaXZlcnMvZ3B1L2Ry bS94ZW4veGVuX2RybV96Y29weS5jICAgICAgICAgfCA4ODAgKysrKysrKysrKysrKysrKysrKysr KysrKysrKwo+Pj4+ICAgZHJpdmVycy9ncHUvZHJtL3hlbi94ZW5fZHJtX3pjb3B5X2JhbGxvb24u YyB8IDE1NCArKysrKwo+Pj4+ICAgZHJpdmVycy9ncHUvZHJtL3hlbi94ZW5fZHJtX3pjb3B5X2Jh bGxvb24uaCB8ICAzOCArKwo+Pj4+ICAgaW5jbHVkZS91YXBpL2RybS94ZW5femNvcHlfZHJtLmgg ICAgICAgICAgICB8IDEyOSArKysrCj4+Pj4gICA4IGZpbGVzIGNoYW5nZWQsIDEyNjQgaW5zZXJ0 aW9ucygrKQo+Pj4+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IERvY3VtZW50YXRpb24vZ3B1L3hlbi16 Y29weS5yc3QKPj4+PiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0veGVuL3hl bl9kcm1femNvcHkuYwo+Pj4+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS94 ZW4veGVuX2RybV96Y29weV9iYWxsb29uLmMKPj4+PiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2 ZXJzL2dwdS9kcm0veGVuL3hlbl9kcm1femNvcHlfYmFsbG9vbi5oCj4+Pj4gICBjcmVhdGUgbW9k ZSAxMDA2NDQgaW5jbHVkZS91YXBpL2RybS94ZW5femNvcHlfZHJtLmgKPj4+Pgo+Pj4gWzFdCj4+ PiBodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL2FyY2hpdmVzL2h0bWwveGVuLWRldmVsLzIw MTgtMDIvbXNnMDEyMDIuaHRtbAo+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwo+PiBkcmktZGV2ZWwgbWFpbGluZyBsaXN0Cj4+IGRyaS1kZXZlbEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKPj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9kcmktZGV2ZWwKWzFdIApodHRwczovL2VsaXhpci5ib290bGluLmNvbS9saW51 eC92NC4xNy1yYzEvc291cmNlL2luY2x1ZGUvdWFwaS94ZW4vZ250ZGV2LmgKWzJdIGh0dHBzOi8v ZWxpeGlyLmJvb3RsaW4uY29tL2xpbnV4L3Y0LjE3LXJjMS9zb3VyY2UvZHJpdmVycy94ZW4vZ250 ZGV2LmMKWzNdIGh0dHBzOi8vZWxpeGlyLmJvb3RsaW4uY29tL2xpbnV4L3Y0LjE3LXJjMS9zb3Vy Y2UvZHJpdmVycy94ZW4vYmFsbG9vbi5jCls0XSBodHRwczovL2xrbWwub3JnL2xrbWwvMjAxOC80 LzE2LzM1NQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K WGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0 cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==