From mboxrd@z Thu Jan 1 00:00:00 1970 From: Volodymyr Babchuk Subject: Re: [ARM] Native application design and discussion (I hope) Date: Fri, 7 Apr 2017 14:03:47 +0300 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Stefano Stabellini Cc: Julien Grall , Artem Mygaiev , Xen Devel List-Id: xen-devel@lists.xenproject.org SGkgU3RlZmFubywKCgpPbiA3IEFwcmlsIDIwMTcgYXQgMDA6MzEsIFN0ZWZhbm8gU3RhYmVsbGlu aSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4gd3JvdGU6Cj4gT24gVGh1LCA2IEFwciAyMDE3LCBW b2xvZHlteXIgQmFiY2h1ayB3cm90ZToKPj4gSGVsbG8gYWxsLAo+Pgo+PiBJIHdhbnQgdG8gZGlz Y3VzcyBFTDAgKG5hdGl2ZSkgYXBwbGljYXRpb25zIGZvciBYRU4uIFRoaXMgd2lsbCBiZSByZWxh dGl2ZWx5Cj4+IGxvbmcgZS1tYWlsIHdpdGggcmVxdWlyZW1lbnRzLCBwcm9wb3NlZCBkZXNpZ24g YW5kIG15IFBvQyByZXN1bHRzLgo+Pgo+PiBTbywgd2h5IHdlIHdhbnQgWEVOIG5hdGl2ZSBhcHBs aWNhdGlvbnMgaW4gdGhlIGZpcnN0IHBsYWNlPyBJIHNlZSB0aGUgZm9sbG93aW5nCj4+IHJlYXNv bnM6Cj4+Cj4+IDEuIElzb2xhdGlvbi4gSSBzZWUgWEVOIGFzIGEgc29ydCBvZiBtaWNyby1rZXJu ZWwsIHNvIHRoZXJlIGFyZSBubyBwbGFjZSBmb3IKPj4gZGV2aWNlIGRyaXZlcnMsIGVtdWxhdG9y cywgc3BlY2lmaWMgU01DIGhhbmRsZXJzLCBoeXBlcnZpc29yIGV4dGVuc2lvbiwgZXRjLi4KPj4K Pj4gMi4gTW9kdWxhcml0eS4gSnVzdCBsb29rIGF0IExpbnV4IGtlcm5lbC4gT2J2aW91c2x5LCBm b3IgZGlmZmVyZW50IGRldmljZXMgd2UKPj4gY2FuIGxvYWQgZGlmZmVyZW50IGRyaXZlcnMuCj4+ Cj4+IDMuIFBlcmZvcm1hbmNlLiBOYXRpdmUgYXBwbGljYXRpb24gc2hvdWxkIGJlIGZhc3RlciB0 aGFuIHN0dWIgZG9tYWluLCBvciB0aGVyZQo+PiB3aWxsIGJlIG5vIHNlbnNlIGluIGl0Lgo+Pgo+ PiA0LiBFYXNlIG9mIHVzZS4gSSB3YW50IHRvIG1ha2UgY2FsbCB0byBFTDAgYXBwIGFzIGVhc3kg YXMgcG9zc2libGUuCj4+IElkZWFsbHkgLSBhcyBhIGZ1bmN0aW9uIGNhbGwuCj4+Cj4+IEFjdHVh bGx5LCBubyBvbmUgd2FudHMgZXh0cmEgY29kZSBpbiBoeXBlcnZpc29yLCBzbyByZWFzb25zICgx KSBhbmQgKDIpIGFyZSBtb3N0Cj4+IGltcG9ydGFudC4gSSBrbm93IHRoYXQgdGhlcmUgd2FzIHRy aWVzIHRvIGRvIHN1Y2ggdGhpbmcgaW4geDg2IGJ1dCB3aXRoCj4+IGRpZmZlcmVudCBhcHByb2Fj aC4gSSB3YW50IGRlc2NyaWJlIG15IGlkZWEgZm9yIGFybTY0Lgo+Pgo+PiBOYXRpdmUgYXBwbGlj YXRpb24gaXMgYW4gYW5vdGhlciBkb21haW4gdHlwZS4gSXQgaGFzIG93biB2Q1BVIChvbmx5IG9u ZSBhdCB0aGlzCj4+IG1vbWVudCkgTmF0aXZlIGFwcCBpcyBsb2FkZWQgYXMgYW55IG90aGVyIGtl cm5lbCwgdXNpbmcgRUxGIGxvYWRlci4KPj4gSXQgbG9va3MgbGlrZSBhbm90aGVyIHN0dWItZG9t YWluIHN1Y2ggYXMgTWluaU9TLCBidXQgdGhlcmUgYXJlIHR3byBiaWcKPj4gZGlmZmVyZW5jZXM6 Cj4KPiBDb3VsZCB5b3UgZGVzY3JpYmUgdGhlIHJlYXNvbiB3aHkgeW91IGFyZSBzdWdnZXN0aW5n IGl0PyBVbmxlc3Mgc3RyaWN0bHkKPiBuZWNlc3NhcnksIEkgd291bGRuJ3QgZ28gZG93biB0aGUg dmNwdSByb3V0ZSwgYmVjYXVzZSBhcyBzb29uIGFzIHdlCj4gYnJpbmcgYSB2Y3B1IGludG8gdGhl IHBpY3R1cmUsIHdlIGhhdmUgYSBudW1iZXIgb2YgcHJvYmxlbXMsIGluY2x1ZGluZwo+IHNjaGVk dWxpbmcsIGFmZmluaXR5LCBldGMuIEl0IGlzIGFsc28gdXNlci12aXNpYmxlICh4bCB2Y3B1LWxp c3QpIHdoaWNoCj4gSSBkb24ndCB0aGluayBpdCBzaG91bGQgYmUuCkkgdXNlZCB0aGlzIGluIG15 IFBvQyBiZWNhdXNlIEkgZGlkbid0IHdhbnQgdG8gZG8gZXh0cmEgd29yay4gQWxzbyB0aGlzIGxv b2tzCnZlcnkgbmF0dXJhbC4gRG9tYWluIGlzIGFjdHVhbGx5IHRoZSBzYW1lIGFzIGEgcHJvY2Vz cywgdmNwdSBpcyBsaWtlIGEgdGhyZWFkLgpCdXQgeWVzLCBJIGFscmVhZHkgaGFkIHNvbWUgaXNz dWVzIHdpdGggc2NoZWR1bGVyLiBNYW5hZ2VhYmxlLCB0aG91Z2h0LgoKPiBJIHVuZGVyc3RhbmQg dGhhdCBvbmUgb2YgdGhlIGdvYWxzIGlzICJNb2R1bGFyaXR5Iiwgd2hpY2ggbWFrZXMgdXMgdGhp bmsKPiBvZiBhbiBFTEYgbG9hZGVyLCBzdWNoIGFzIHRoZSBvbmUgZm9yIGEgbmV3IGRvbWFpbi4g SSBhZ3JlZSB0aGF0Cj4gbW9kdWxhcml0eSBpcyBpbXBvcnRhbnQsIGJ1dCBJIHdvdWxkIHNvbHZl IGl0IGFzIGEgc2Vjb25kIHN0ZXAuIEluIGZpcnN0Cj4gaW5zdGFuY2UsIEkgd291bGQgbGltaXQg dGhlIHNjb3BlIHRvIHJ1biBzb21lIGNvZGUgdW5kZXIKPiAveGVuL2FyY2gvYXJtL2FwcHMgb3Is IGJldHRlciwgL2FwcHMgKGZvciBleGFtcGxlKSBpbiBhIGxvd2VyIHByaXZpbGVnZQo+IG1vZGUu IEFmdGVyIHRoYXQgaXMgZG9uZSBhbmQgd29ya2luZywgSSBhbSBzdXJlIHdlIGNhbiBmaW5kIGEg d2F5IHRvCj4gZHluYW1pY2FsbHkgbG9hZCBtb3JlIGFwcHMgYXQgcnVuIHRpbWUuCkFnYWluLCB1 c2Ugb2YgZXhpc3RpbmcgZG9tYWluIGZyYW1ld29yayB3YXMgdGhlIGVhc2llc3Qgd2F5LiBJIG5l ZWRlZApzb21lIGNvbnRhaW5lciB0byBob2xkIGFwcCBhbmQgZG9tYWluIGZpdHMgcGVyZmVjdGx5 LiBJIG5lZWQgdG8gbWFwIHBhZ2VzCnRoZXJlLCBuZWVkIHJvdXRpbmVzIHRvIGNvcHkgdG8gYW5k IGZyb20gaXRzIG1lbW9yeSwgbmVlZCBwMm0gY29kZSwgZXRjLgoKQnV0LCB5ZXMsIGlmIHdlIGFy ZSBnb2luZyB0byBpbXBsZW1lbnQgdGhpcyBpbiByaWdodCB3YXksIHRoZW4gbWF5YmUgd2UgbmVl ZApzZXBhcmF0ZSBpZGVudGl0aWVzIGxpa2UgJ2FwcF9jb250YWluZXInIGFuZCAnYXBwX3RocmVh ZCcuIFNlZSBiZWxvdy4KCj4+IDEuIE1pbmlPUyBoYXMgZXZlbnQgbG9vcCB0aGF0IHNlcnZlcyBy ZXF1ZXN0cyBmcm9tIGh5cGVydmlzb3IuIE5hdGl2ZQo+PiBhcHBsaWNhdGlvbiBkb2VzIG5vdCBo YXMgc3VjaCBsb29wLiBJdCBoYXMgb25lIGVudHJ5IHBvaW50IHdoZXJlIHlvdSBqdW1wIGV2ZXJ5 Cj4+IHRpbWUgd2hlbiB5b3UgbmVlZCBzb21ldGhpbmcgZnJvbSBpdC4KPj4KPj4gMi4gTmF0aXZl IGFwcGxpY2F0aW9uIHJ1bnMgaW4gRUwwIG1vZGUsIHNvIGl0IGRvZXMgbm90IGhhdmUgYWNjZXNz IHRvIE1NVSwKPj4gaXQgY2FuJ3QgaGFuZGxlIHZJUVJzLCBleGNlcHRpb25zIGFuZCBzbyBvbi4g WEVOIGRvZXMgYWxsIHRoaXMgZm9yIGl0Lgo+Pgo+PiBZb3UgY2FuIGZpbmQgZXhhbXBsZSBuYXRp dmUgYXBwbGljYXRpb24gYXQgWzFdLiBJIHVzZWQgZXhhY3RseSB0aGlzIG9uZSB0bwo+PiBiZW5j aG1hcmsgbXkgaW1wbGVtZW50YXRpb24uIE1vc3RseSBpdCBpcyBpbnNwaXJlZCBieSBhcHByb2Fj aCB1c2VkIGluIFRFRS4KPj4gQWN0dWFsbHksIEkgdG9vayBzb21lIGNvZGUgZGlyZWN0bHkgZnJv bSBPUC1URUUgVHJ1c3RlZCBBcHBsaWNhdGlvbiBsaWJyYXJ5Lgo+PiBJbiBhcHBfZW50cnkuYyB5 b3UgY2FuIGZpbmQgZW50cnkgcG9pbnQgLSBfX2FwcF9lbnRyeSgpLiBJdCB0YWtlcyBmdW5jdGlv bgo+PiBudW1iZXIgYW5kIHNvbWUgcGFyYW1ldGVycyB0aGF0IHdpbGwgYmUgcGFzc2VkIHRvIGEg ZnVuY3Rpb24uIEkgcHJvYmFibHkgZ29pbmcKPj4gdG8gY2hhbmdlIEFCSSBhIGJpdCwgYnV0IGJh c2ljIGlkZWEgd2lsbCBiZSB0aGUgc2FtZS4KPj4KPj4gRnVuY3Rpb24gbnVtYmVyIHdpbGwgYmUg c29tZXRoaW5nIGxpa2UgQVBQX0lOSVQsIEFQUF9IQU5ETEVfU01DCj4+IG9yIEFQUF9IQU5ETEVf TU1JTy4uLiBJIHRoaW5rIHlvdSBnb3QgdGhlIGlkZWEuIEkgYWxzbyBpbXBsZW1lbnRlZCB0d28g c3lzY2FsbHMKPj4gKHZpYSBvbGQgcGxhaW4gU1ZDIGluc3RydWN0aW9uKS4gYXBwX2xvZygpIHdy aXRlcyB0byBYRU4gbG9nLCBhcHBfcmV0dXJuKCkgZXhpdHMKPj4gZnJvbSBhcHBsaWNhdGlvbiBi YWNrIHRvIGh5cGVydmlzb3IuIFdlIHdpbGwgbmVlZCBvdGhlciBzeXNjYWxscyBsaWtlCj4+IGFw cF9jYWxsX3NtYygpLCBhcHBfbWFwX2d1ZXN0X3BhZ2UoKSwgYXBwX21hcF9pbygpLCBldGMuCj4+ Cj4+IE5vdywgYmFjayB0byBYRU4uIENsYXNzaWMgd2F5IHRvIGhhbmRsZSBzb21ldGhpbmcgd2l0 aCBzdHViZG9tYWluIGlzIHRvCj4+IHdyaXRlIHJlcXVlc3QgdG8gYSByaW5nIGJ1ZmZlciwgZmly ZSBhbiBldmVudCB0aHJvdWdoIGV2ZW50IGNoYW5uZWwsIHRoYXQgd2lsbAo+PiB0cmlnZ2VyIHZJ UlEgaW4gc3R1YmRvbWFpbiBhbmQgc3R1YmRvbWFpbidzIHZDUFUgd2lsbCBiZSBzY2hlZHVsZWQg dG8gaGFuZGxlCj4+IGEgcmVxdWVzdC4gUHJvYmxlbSBpdCB0aGF0IHlvdSBjYW4ndCBjb250cm9s IHNjaGVkdWxlciwgc28geW91IGRvbid0IGtub3cKPj4gd2hlbiB5b3VyIHJlcXVlc3Qgd2lsbCBi ZSByZWFsbHkgaGFuZGxlZCwgd2hpY2ggaW4gbm90IGZpbmUgaW4gc29tZQo+PiBlbWJlZGRlZCB1 c2UgY2FzZXMuCj4+Cj4+IFRoZXJlIGlzIGhvdyBJIHNlZSBoYW5kbGluZyByZXF1ZXN0cyB3aXRo IG5hdGl2ZSBhcHBsaWNhdGlvbjoKPj4KPj4gMC4gSHlwZXJ2aXNvciBwYXVzZXMgcmVxdWVzdGVy IHZDUFUKPj4gMS4gSHlwZXJ2aXNvciBlaXRoZXIgcGFzc2VzIHBhcmFtZXRlcnMgdmlhIHJlZ2lz dGVycyBvciB3cml0ZXMgcmVxdWVzdCB0byBhCj4+IHNoYXJlZCBwYWdlL3JpbmcgYnVmZmVyLgo+ PiAyLiBUaGVuIGluIHNldHMgUEMgb2YgbmF0aXZlIGFwcCB2Q1BVIHRvIGVudHJ5IHBvaW50IGFu ZCBpbml0aWFsaXplcyByMC1yNwo+PiB3aXRoIGZ1bmN0aW9uIGNvZGUgYW5kIG90aGVyIHBhcmFt ZXRlcnMuCj4+IDMuIEh5cGVydmlzb3Igc3dpdGNoZXMgY29udGV4dCB0byBuYXRpdmUgYXBwIHZD UFUKPj4gNC4gV2hlbiBuYXRpdmUgYXBwIGZpbmlzaGVzIHJlcXVlc3QgaGFuZGxpbmcgaXQgY2Fs bHMgc3BlY2lhbCBzeXNjYWxsIGFwcF9leGl0KCkKPj4gNS4gSHlwZXJ2aXNvciBhbmFseXNlcyBy ZXR1cm4gY29kZSwgdXBkYXRlcyByZXF1ZXN0ZXIgdkNQVSBzdGF0ZSAoaWYgbmVlZGVkKSwKPj4g c3dpdGNoZXMgYmFjayB0byB0aGF0IHZDUFUsIHVucGF1c2VzIGl0Lgo+Pgo+PiBNb3N0IG9mIHRo YXQgd2FzIGRvbmUgYXQgWzJdLiBNb3N0IGludGVyZXN0aW5nIHBhcnQgaXMgaW4gYXJjaC9hcm0v ZG9tYWluLmMKPj4gVGhlcmUgYXJlIGZ1bmN0aW9ucyBjYWxsX2VsMF9hcHAoKSBhbmQgcmV0dXJu X2Zyb21fZWwwX2FwcCgpIHRoYXQgZG8gbW9zdAo+PiBvZiB0aGUgd29yay4gQWxzbyBJIGhhdmUg YWRkZWQgc3lzY2FsbHMgaGFuZGxlcnMgKGluIHRoZSBzYW1lIHdheSwKPj4gYXMgaHlwZXJjYWxs cyBhcmUgaGFuZGxlZCkuIFlvdSBjYW4gZmluZCB0aGVtIGF0IHhlbi9hcmNoL2FybS9zeXNjYWxs LmMKPgo+IFRoaXMgd29ya2Zsb3cgaXMgYWN0dWFsbHkga2luZCBvZiBPSy4gSSB3b3VsZCBub3Qg dXNlIHRoZSB0ZXJtICJ2Y3B1Igo+IGZvciBhbnl0aGluZyByZWxhdGVkIHRvIGFuIGVsMCBhcHAu IE1heWJlIHdlIG5lZWQgdG8gaW50cm9kdWNlIGEgbmV3Cj4gY29uY2VwdCwgc3VjaCBhcyAiYXBw X2NvbnRleHQiIGZvciBleGFtcGxlLiBCdXQgSSB3b3VsZCBub3Qgd2FudCB0bwo+IGNvbmZ1c2Ug InZjcHUiIHdoaWNoIGlzIHRoZSBydW50aW1lIGVudmlyb25tZW50IGV4cG9zZWQgdG8gZ3Vlc3Rz LCB3aXRoCj4gdGhlIGVsMCBYZW4gY29udGV4dC4KPgo+IEEgdmNwdSBpcyBleHBlY3RlZCB0byBi ZSBydW5uaW5nIHNpbXVsdGVub3VzbHkgd2l0aCBvdGhlciB2Y3B1cyBvZiB0aGUKPiBzYW1lIGRv bWFpbiBvciBkaWZmZXJlbnQgZG9tYWlucy4gVGhlIHNjaGVkdWxlciBpcyBleHBlY3RlZCB0byBj aG9vc2UKPiB3aGVuIGl0IGlzIHN1cHBvc2VkIHRvIGJlIHJ1bm5pbmcuIE9uIHRoZSBvdGhlciBl bmQsIGFuIGVsMCBhcHAgcnVucyB0bwo+IGhhbmRsZS9lbXVsYXRlIGEgc2luZ2xlIHJlcXVlc3Qg ZnJvbSBhIGd1ZXN0IHZjcHUsIHdoaWNoIHdpbGwgYmUgcGF1c2VkCj4gdW50aWwgdGhlIGVsMCBh cHAgZmluaXNoZXMuIEFmdGVyIHRoYXQsIHRoZSBndWVzdCB2Y3B1IHdpbGwgcmVzdW1lLgpPa2F5 LCBidXQgd2hhdCBzaG91bGQgYmUgc3RvcmVkIGluIGBjdXJyZW50YCB3aGlsZSBlbDAgYXBwbGlj YXRpb24gaXMgcnVubmluZz8KUmVtZW1iZXIsIHRoYXQgaXQgY2FuIGlzc3VlIHN5c2NhbGxzLCB3 aGljaCB3aWxsIGJlIGhhbmRsZWQgaW4gaHlwZXJ2aXNvci4KCldlIGNhbiBjcmVhdGUgc2VwYXJh dGVzIHR5cGVzIGZvciBuYXRpdmUgYXBwbGljYXRpb25zLiBCdXQgdGhlbiB3ZSBjYW4gZW5kCmhh dmluZyB0d28gcGFyYWxsZWwgYW5kIG1vc3RseSBpZGVudGljYWwgZnJhbWV3b3Jrcy4gT25lIGZv ciBkb21haW5zIGFuZAphbm90aGVyIG9uZSAtIGZvciBhcHBzLiBXaGF0IGRvIHlvdSB0aGluaz8K Cj4+IEF0IHRoaXMgbW9tZW50IGVudHJ5IHBvaW50IGlzIGhhcmRjb2RlZCBhbmQgeW91IG5lZWQg dG8gdXBkYXRlIGl0IGV2ZXJ5IHRpbWUKPj4geW91IHJlYnVpbGQgbmF0aXZlIGFwcGxpY2F0aW9u LiBBbHNvIHRoZXJlIGFyZSBubyBhY3R1YWwgcGFyYW1ldGVycyBwYXNzZWQuCj4+IEFsc28sIHdo b2xlIGNvZGUgaXMgYSBwaWVjZSBvZiBnb3NhLCBiZWNhdXNlIGl0IHdhcyBmaXJzdCB0aW1lIEkg aGFja2VkIFhFTi4KPgo+IDotKQo+IEkgd291bGQgc3RhcnQgYnkgaW50cm9kdWNpbmcgYSBwcm9w ZXIgd2F5IHRvIHBhc3MgcGFyYW1ldGVycyBhbmQgcmV0dXJuCj4gdmFsdWVzLgo+Cj4+IEkgZG9u J3Qgd2FudCB0byByZXBlYXQgYmVuY2htYXJrIHJlc3VsdHMsIGJlY2F1c2UgdGhleSBhbHJlYWR5 IHdhcyBwb3N0ZWQgaW4gTUwuCj4+IFlvdSBjYW4gZmluZCB0aGVtIGF0IFszXS4KPj4KPj4gSSB1 bmRlcnN0YW5kIHRoYXQgSSBoYXZlIG1pc3NlZCBtYW55IHRoaW5nczoKPj4KPj4gMS4gSG93IHRv IHNoaXAgYW5kIGxvYWQgbmF0aXZlIGFwcCwgYmVjYXVzZSBzb21lIG9mIHRoZW0gd2lsbCBiZSBu ZWVkZWQgZXZlbgo+PiBiZWZvcmUgZG9tMCBpcyBjcmVhdGVkLgo+Cj4gSSBlbnZpc2lvbiBzb21l dGhpbmcgbGlrZSBMaW51eCdzIGluc21vZCwgYnV0IEkgc3VnZ2VzdCBwb3N0cG9uaW5nIHRoaXMK PiBwcm9ibGVtLiBBdCB0aGUgbW9tZW50LCBpdCB3b3VsZCBiZSBmaW5lIHRvIGFzc3VtZSB0aGF0 IGFsbCBhcHBzIG5lZWQgdG8KPiBiZSBidWlsdCBzdGF0aWNhbGx5IGFuZCBjYW5ub3QgYmUgbG9h ZGVkIGF0IHJ1bnRpbWUuCk9rYXkuIFRoZW4gd2UgbmVlZCB0byBob2xkIHRoZW0gaW4gc3BlY2lh bCBzZWN0aW9ucyBvZiBoeXBlcnZpc29yIGltYWdlCmFuZCBhbHNvIHdlIG5lZWQgc29tZSBzb3J0 IG9mIGxvYWRlciBpbiBoeXBlcnZpc29yLgoKPj4gMi4gSG93IHRvIGRpc3Rpbmd1aXNoIG11bHRp cGxlIG5hdGl2ZSBhcHBzCj4KPiBFYWNoIGFwcHMgbmVlZCB0byBzcGVjaWZ5IGEgcmFuZ2Ugb2Yg TU1JTy9TTUMgaGFuZGxlcnMuIFhlbiB3aWxsIGludm9rZQo+IHRoZSByaWdodCBvbmUuCldoYXQg YWJvdXQgZGV2aWNlIGRyaXZlcnM/IENvbnNpZGVyIHBvd2VyIG1hbmFnZW1lbnQgZm9yIGV4YW1w bGUuIFRoaXMgaXMKY3J1Y2lhbCBpZiB3ZSB3YW50IHRvIHVzZSBYRU4gaW4gbW9iaWxlIGRldmlj ZXMuIE91ciAodGhlcmUsIGluIEVQQU0pIGlkZWEgaXMKdG8gaG9sZCBkcml2ZXJzIGZvciBQTSwg ZHJpdmVycyBmb3IgY29wcm9jZXNzb3JzIGFuZCBzbyBvbiBpbiBuYXRpdmUgYXBwcy4KUHJvYmFi bHkgd2Ugd2lsbCBuZWVkIGRpZmZlcmVudCB0eXBlcyBvZiBhcHBzOiBTTUMgaGFuZGxlciwgTU1J TyBoYW5kbGVyLApQTSBkcml2ZXIsIGFuZCBzbyBvbi4KCj4+IDMuIENvbmN1cnJlbmN5IGluIG5h dGl2ZSBhcHBzCj4KPiBUaGlzIGlzIGFuIGludGVyZXN0aW5nIHByb2JsZW06IHdoYXQgZG8gd2Ug ZG8gaWYgdHdvIGd1ZXN0IHZjcHVzIG1ha2UKPiBzaW11bHRlbm91cyByZXF1ZXN0cyB0aGF0IG5l ZWQgdG8gYmUgaGFuZGxlZCBieSB0aGUgc2FtZSBhcHA/Cj4gVGVjaG5pY2FsbHksIHdlIGNvdWxk IHJ1biB0aGUgc2FtZSBhcHAgdHdpY2Ugb24gdHdvIGRpZmZlcmVudCBwY3B1cwo+IHNpbXVsdGVu b3VzbHkuIEJ1dCB0aGVuLCB0aGUgYXBwcyB3b3VsZCBuZWVkIHRvIGJlIGFibGUgdG8gY29wZSB3 aXRoCj4gY29uY3VycmVuY3kgKHNwaW5fbG9ja3MsIGV0Yy4pIEZyb20gWGVuIHBvaW50IG9mIHZp ZXcsIGl0IHNob3VsZCBiZSBPSwo+IHRob3VnaC4KWWVzLiBQcm9iYWJseSwgd2UgY2FuIHBhc3Mg aWQgb2YgcGNwdSB0byBhcHAsIHNvIGl0IGNhbiBoYXZlIHBlci1jcHUgc3RvcmFnZQppZiBpdCB3 YW50cyB0by4gUGx1cyBzcGluX2xvY2tzIGFuZCBubyBibG9ja2luZyBzeXNjYWxscy4KCj4KPj4g NC4gSG93IHRvIHJlc3RhcnQgbWlzYmVoYXZlZCBhcHBzLgo+Cj4gQSByZWxhdGVkIHF1ZXN0aW9u IGlzIHRoZSBmb2xsb3dpbmc6IGRvIHdlIGV4cGVjdCB0byBhbGxvY2F0ZSBlYWNoIGFwcAo+IG9u Y2UgYXQgYm9vdCBvciBvbmNlIHBlciBndWVzdD8gQXBwcyBuZWVkIHRvIGhhdmUgc29tZSBwZXIt ZG9tYWluCj4gY29udGV4dCwgYnV0IGl0IGNvdWxkIGJlIHBhc3NlZCBmcm9tIFhlbiB0byB0aGUg YXBwIG9uIGEgc2hhcmVkIHBhZ2UsCj4gcG9zc2libHkgcmVkdWNpbmcgdGhlIG5lZWQgZm9yIGFs bG9jYXRpbmcgdGhlIHNhbWUgYXBwIG9uY2UgcGVyIGd1ZXN0PwpTTUMgaGFuZGxlciBuZWVkcyB0 byBiZSBjcm9zcy1kb21haW4gZm9yIGV4YW1wbGUuIEVtdWxhdG9ycyBjYW4gYmUKdGllZCB0byBn dWVzdHMsIEkgdGhpbmsuIERldmljZSBkcml2ZXJzIHNob3VsZCBiZSBjcm9zcy1kb21haW4gYWxz by4KCj4KPj4gQnV0IGF0IHRoaXMgbW9tZW50IEkgd2FudCB0byBkaXNjdXNzIGJhc2ljIGFwcHJv YWNoLiBJZiB0aGVyZSBhcmUgd2lsbCBiZSBubwo+PiBvYmplY3Rpb25zIGFnYWluc3QgYmFzaWMg Y29uY2VwdCwgdGhlbiB3ZSBjYW4gZGV2ZWxvcCBkZXRhaWxzLgo+Pgo+PiBbMV0gaHR0cHM6Ly9n aXRodWIuY29tL2xvcmMveGVuX2FwcF9zdHViIC0gbmF0aXZlIGFwcAo+PiBbMl0gaHR0cHM6Ly9n aXRodWIuY29tL2xvcmMveGVuL3RyZWUvZWwwX2FwcCAtIG15IGJyYW5jaCB3aXRoIFBvQwo+PiBb M10gaHR0cDovL21hcmMuaW5mby8/bD14ZW4tZGV2ZWwmbT0xNDkwODg4NTYxMTY3OTcmdz0yIC0g YmVuY2htYXJrIHJlc3VsdHMKCgoKLS0gCldCUiBWb2xvZHlteXIgQmFiY2h1ayBha2EgbG9yYyBb KzM4MDk3NjY0NjAxM10KbWFpbHRvOiB2bGFkLmJhYmNodWtAZ21haWwuY29tCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBs aXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2 ZWwK