From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: [RFC 0/5] xen/arm: support big.little SoC Date: Mon, 19 Sep 2016 11:59:05 +0200 Message-ID: References: <1474250936-27962-1-git-send-email-peng.fan@nxp.com> <10152e13-bccb-0794-44e4-556845875e33@arm.com> <20160919083619.GA16854@linux-7smt.suse> <5ddefbc1-3bd4-c990-b615-0039761535d8@arm.com> <20160919093812.GC16854@linux-7smt.suse> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20160919093812.GC16854@linux-7smt.suse> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Peng Fan Cc: jgross@suse.com, Peng Fan , sstabellini@kernel.org, George Dunlap , andrew.cooper3@citrix.com, dario.faggioli@citrix.com, xen-devel@lists.xen.org, jbeulich@suse.com List-Id: xen-devel@lists.xenproject.org CgpPbiAxOS8wOS8yMDE2IDExOjM4LCBQZW5nIEZhbiB3cm90ZToKPiBPbiBNb24sIFNlcCAxOSwg MjAxNiBhdCAxMDo1Mzo1NkFNICswMjAwLCBKdWxpZW4gR3JhbGwgd3JvdGU6Cj4+IEhlbGxvLAo+ Pgo+PiBPbiAxOS8wOS8yMDE2IDEwOjM2LCBQZW5nIEZhbiB3cm90ZToKPj4+IE9uIE1vbiwgU2Vw IDE5LCAyMDE2IGF0IDEwOjA5OjA2QU0gKzAyMDAsIEp1bGllbiBHcmFsbCB3cm90ZToKPj4+PiBI ZWxsbyBQZW5nLAo+Pj4+Cj4+Pj4gT24gMTkvMDkvMjAxNiAwNDowOCwgdmFuLmZyZWVuaXhAZ21h aWwuY29tIHdyb3RlOgo+Pj4+PiBGcm9tOiBQZW5nIEZhbiA8cGVuZy5mYW5AbnhwLmNvbT4KPj4+ Pj4KPj4+Pj4gVGhpcyBwYXRjaHNldCBpcyB0byBzdXBwb3J0IFhFTiBydW4gb24gYmlnLmxpdHRs ZSBTb0MuCj4+Pj4+IFRoZSBpZGVhIG9mIHRoZSBwYXRjaCBpcyBmcm9tCj4+Pj4+ICJodHRwczov L2xpc3RzLnhlbnByb2plY3Qub3JnL2FyY2hpdmVzL2h0bWwveGVuLWRldmVsLzIwMTYtMDUvbXNn MDA0NjUuaHRtbCIKPj4+Pj4KPj4+Pj4gVGhlcmUgYXJlIHNvbWUgY2hhbmdlcyB0byBjcHVwb29s IGFuZCBhZGQgeDg2IHN0dWIgZnVuY3Rpb25zIHRvIGF2b2lkIGJ1aWxkCj4+Pj4+IGJyZWFrLiBT ZW5kaW5nIFRoZSBSRkMgcGF0Y2hzZXQgb3V0IGlzIHRvIHJlcXVlc3QgZm9yIGNvbW1lbnRzIHRv IHNlZSB3aGV0aGVyCj4+Pj4+IHRoaXMgaW1wbGVtZW50YXRpb24gaXMgYWNjZXB0YWJsZSBvciBu b3QuIFBhdGNoc2V0IGhhdmUgYmVlbiB0ZXN0ZWQgYmFzZWQgb24KPj4+Pj4geGVuLTQuOCB1bnN0 YWJsZSBvbiBOWFAgaS5NWDguCj4+Pj4+Cj4+Pj4+IEkgdXNlIEJpZy9MaXR0bGUgQ1BVIGFuZCBj cHVwb29sIHRvIGV4cGxhaW4gdGhlIGlkZWEuCj4+Pj4+IEEgcG9vbCBjb250YWlucyBCaWcgQ1BV cyBpcyBjYWxsZWQgQmlnIFBvb2wuCj4+Pj4+IEEgcG9vbCBjb250YWlucyBMaXR0bGUgQ1BVcyBp cyBjYWxsZWQgTGl0dGxlIFBvb2wuCj4+Pj4+IElmIGEgcG9vbCBkb2VzIG5vdCBjb250YWlucyBh bnkgcGh5c2ljYWwgY3B1cywgTGl0dGxlIENQVXMgb3IgQmlnIENQVXMKPj4+Pj4gY2FuIGJlIGFk ZGVkIHRvIHRoZSBjcHVwb29sLiBCdXQgdGhlIGNwdXBvb2wgY2FuIG5vdCBjb250YWluIGJvdGgg TGl0dGxlCj4+Pj4+IGFuZCBCaWcgQ1BVcy4gVGhlIENQVXMgaW4gYSBjcHVwb29sIG11c3QgaGF2 ZSB0aGUgc2FtZSBjcHUgdHlwZShtaWRyIHZhbHVlIGZvciBBUk0pLgo+Pj4+PiBDUFVzIGNhbiBu b3QgYmUgYWRkZWQgdG8gdGhlIGNwdXBvb2wgd2hpY2ggY29udGFpbnMgY3B1cyB0aGF0IGhhdmUg ZGlmZmVyZW50IGNwdSB0eXBlLgo+Pj4+PiBMaXR0bGUgQ1BVcyBjYW4gbm90IGJlIG1vdmVkIHRv IEJpZyBQb29sIGlmIHRoZXJlIGFyZSBCaWcgQ1BVcyBpbiBCaWcgUG9vbCwKPj4+Pj4gYW5kIHZl cnNhLiBEb21haW4gaW4gQmlnIFBvb2wgY2FuIG5vdCBiZSBtaWdyYXRlZCB0byBMaXR0bGUgUG9v bCwgYW5kIHZlcnNhLgo+Pj4+PiBXaGVuIFhFTiB0cmllcyB0byBicmluZ3VwIGFsbCB0aGUgQ1BV cywgb25seSBhZGQgQ1BVcyB3aXRoIHRoZSBzYW1lIGNwdSB0eXBlKHNhbWUgbWlkciB2YWx1ZSkK Pj4+Pj4gaW50byBjcHVwb29sMC4KPj4+Pgo+Pj4+IEFzIG1lbnRpb25lZCBpbiB0aGUgbWFpbCB5 b3UgcG9pbnRlZCBhYm92ZSwgdGhpcyBzZXJpZXMgaXMgbm90IGVub3VnaCB0byBtYWtlCj4+Pj4g YmlnLkxJVFRMRSB3b3JraW5nIG9uIHRoZW4uIFhlbiBpcyBhbHdheXMgdXNpbmcgdGhlIGJvb3Qg Q1BVIHRvIGRldGVjdCB0aGUKPj4+PiBsaXN0IG9mIGZlYXR1cmVzLiBXaXRoIGJpZy5MSVRUTEUg ZmVhdHVyZXMgbWF5IG5vdCBiZSB0aGUgc2FtZS4KPj4+Pgo+Pj4+IEFuZCBJIHdvdWxkIHByZWZl ciB0byBzZWUgWGVuIHN1cHBvcnRpbmcgYmlnLkxJVFRMRSBjb3JyZWN0bHkgYmVmb3JlCj4+Pj4g YmVnaW5uaW5nIHRvIHRoaW5rIHRvIGV4cG9zZSBiaWcuTElUVExFIHRvIHRoZSB1c2Vyc3BhY2Ug KHZpYSBjcHVwb29sKQo+Pj4+IGF1dG9tYXRpY2FsbHkuCj4+Pgo+Pj4gRG8geW91IG1lYW4gdmNw dXMgYmUgc2NoZWR1bGVkIGJldHdlZW4gYmlnIGFuZCBsaXR0bGUgY3B1cyBmcmVlbHk/Cj4+Cj4+ IEJ5IHN1cHBvcnRpbmcgYmlnLkxJVFRMRSBjb3JyZWN0bHkgSSBtZWFudCBYZW4gdGhpbmtzIHRo YXQgYWxsIHRoZSBjb3JlcyBoYXMKPj4gdGhlIHNhbWUgc2V0IG9mIGZlYXR1cmVzLiBTbyB0aGUg ZmVhdHVyZSBkZXRlY3Rpb24gaXMgb25seSBkb25lIHRoZSBib290IENQVS4KPj4gU2VlIHByb2Nl c3Nvcl9zZXR1cCBmb3IgaW5zdGFuY2UuLi4KPj4KPj4gTW92aW5nIHZDUFVzIGJldHdlZW4gYmln IGFuZCBsaXR0bGUgY29yZXMgd291bGQgYmUgYSBoYXJkIHRhc2sgKGNhY2hlIGxpbmUKPj4gaXNz dWUsIGFuZCBwb3NzaWJseSBmZWF0dXJlKSBhbmQgSSBkb24ndCBleHBlY3QgdG8gZXZlciBjcm9z cyB0aGlzIGluIFhlbi4KPj4gSG93ZXZlciwgSSBhbSBleHBlY3RpbmcgdG8gc2VlIGJpZy5MSVRU TEUgZXhwb3NlZCB0byB0aGUgZ3Vlc3QgKGkuZSBoYXZpbmcKPj4gYmlnIGFuZCBsaXR0bGUgdkNQ VXMpLgo+Cj4gYmlnIHZDUFVzIHNjaGVkdWxlZCBvbiBiaWcgUGh5c2ljYWwgQ1BVcyBhbmQgbGl0 dGxlIHZDUFVzIHNjaGVkdWxlZCBvbiBsaXR0bGUKPiBwaHlzaWNhbCBjcHVzLCByaWdodD8KPiBJ ZiBpdCBpcywgaXMgdGhlcmUgaXMgYSBuZWVkIHRvIGxldCBYZW4gdGhpbmsgYWxsIHRoZSBjb3Jl cyBoYXMgdGhlIHNhbWUgc2V0Cj4gb2YgZmVhdHVyZXM/CgpJIHRoaW5rIHlvdSBtaXNzZWQgbXkg cG9pbnQuIFRoZSBmZWF0dXJlIHJlZ2lzdGVycyBvbiBiaWcgYW5kIGxpdHRsZSAKY29yZXMgbWF5 IGJlIGRpZmZlcmVudC4gQ3VycmVudGx5LCBYZW4gaXMgcmVhZGluZyB0aGUgZmVhdHVyZSByZWdp c3RlcnMgCm9mIHRoZSBDUFUgYm9vdCBhbmQgd3JvbmdseSBhc3N1bWVzIHRoYXQgdGhvc2UgZmVh dHVyZXMgd2lsbCBleGlzdHMgb24gCmFsbCBDUFVzLiBUaGlzIGlzIG5vdCB0aGUgY2FzZSBhbmQg c2hvdWxkIGJlIGZpeGVkIGJlZm9yZSB3ZSBhcmUgZ2V0dGluZyAKaW4gdHJvdWJsZS4KCj4KPiBE ZXZlbG9waW5nIGJpZy5saXR0bGUgZ3Vlc3Qgc3VwcG9ydCwgSSBhbSBub3Qgc3VyZSBob3cgbXVj aCBlZmZvcnRzIG5lZWRlZC4KPiBJcyB0aGlzIHJlYWxseSBuZWVkZWQ/CgpUaGlzIGlzIG5vdCBu ZWNlc3NhcnkgYXQgdGhlIG1vbWVudCwgYWx0aG91Z2ggSSBoYXZlIHNlZW4gc29tZSBpbnRlcmVz dCAKYWJvdXQgaXQuIFJ1bm5pbmcgYSBndWVzdCBvbmx5IG9uIGEgbGl0dGxlIGNvcmUgaXMgYSBu aWNlIGJlZ2lubmluZywgYnV0IAphIGd1ZXN0IG1heSB3YW50IHRvIHRha2UgYWR2YW50YWdlIG9m IGJpZy5MSVRUTEUgKHJ1bm5pbmcgaHVuZ3J5IGFwcCBvbiAKYmlnIG9uZSBhbmQgbGl0dGxlIG9u IHNtYWxsIG9uZSkuCgo+Cj4+Cj4+Pgo+Pj4gVGhpcyBwYXRjaHNldCBpcyB0byB1c2UgY3B1cG9v bCB0byBibG9jayB0aGUgdmNwdSBiZSBzY2hlZHVsZWQgYmV0d2VlbiBiaWcgYW5kCj4+PiBsaXR0 bGUgY3B1cy4KPj4+Cj4+Pj4KPj4+PiBTZWUgZm9yIGluc3RhbmNlIHYtPmFyY2guYWN0bHIgPSBS RUFEX1NZU1JFRzMyKEFDVExSX0VMMSkuCj4+Pgo+Pj4gVGhhbmtzIGZvciB0aGlzLiBJIG9ubHkg ZXhwb3NlIGNwdWlkIHRvIGd1ZXN0LCBtaXNzZWQgYWN0bHIuIEknbGwgY2hlY2sKPj4+IHRoZSBB NTMgYW5kIEE3MiBUUk0gYWJvdXQgQUFyY2g2NCBpbXBsZW1lbnRhdGlvbmQgZGVmaW5lZCByZWdp c3RlcnMuCj4+PiBUaGlzIGFjdGxyIGNhbiBiZSBhZGRlZCB0byB0aGUgY3B1cG9vbF9hcmNoX2lu Zm8gYXMgbWlkci4KPj4+Cj4+PiBSZWFkaW5nICJ2Y3B1X2luaXRpYWxpc2UiLCBzZWVtcyBvbmx5 IE1JRFIgYW5kIEFDVExSIG5lZWRzIHRvIGJlIGhhbmRsZWQuCj4+PiBQbGVhc2UgYWR2aXNlIGlm IEkgbWlzc2VkIGFueXRoaW5nIGVsc2UuCj4+Cj4+IEhhdmUgeW91IGNoZWNrIHRoZSByZWdpc3Rl ciBlbXVsYXRpb24/Cj4KPiBDaGVja2VkIG1pZHIuIEhhdmUgbm90IGNoZWNrZWQgb3RoZXJzLgo+ IEkgdGhpbmsgSSBtaXNzZWQgc29tZSByZWdpc3RlcnMgaW4gY3R4dF9zd2l0Y2hfdG8uCj4KPj4K Pj4+Cj4+Pj4KPj4+Pj4KPj4+Pj4gVGhpbmtpbmcgYW4gU29DIHdpdGggNCBBNTMoY3B1WzAtM10p ICsgMiBBNzIoY3B1WzQtNV0pLCBjcHUwIGlzIHRoZSBmaXJzdCBvbmUKPj4+Pj4gdGhhdCBib290 cyB1cC4gV2hlbiBYRU4gdHJpZXMgdG8gYnJpbmd1cCBzZWNvbmRhcnkgQ1BVcywgYWRkIGNwdVsw LTNdIHRvCj4+Pj4+IGNwdXBvb2wwIGFuZCBsZWF2ZSBjcHVbNC01XSBub3QgaW4gYW55IGNwdXBv b2wuIFRoZW4gd2hlbiBEb20wIGJvb3RzIHVwLAo+Pj4+PiBgeGwgY3B1cG9vbC1saXN0IC1jYCB3 aWxsIHNob3cgY3B1WzAtM10gaW4gUG9vbC0wLgo+Pj4+Pgo+Pj4+PiBUaGVuIHVzZSB0aGUgZm9s bG93aW5nIHNjcmlwdCB0byBjcmVhdGUgYSBuZXcgY3B1cG9vbCBhbmQgYWRkIGNwdVs0LTVdIHRv Cj4+Pj4+IHRoZSBjcHVwb29sLgo+Pj4+PiAjeGwgY3B1cG9vbC1jcmVhdGUgbmFtZT1cIlBvb2wt QTcyXCIgc2NoZWQ9XCJjcmVkaXQyXCIKPj4+Pj4gI3hsIGNwdXBvb2wtY3B1LWFkZCBQb29sLUE3 MiA0Cj4+Pj4+ICN4bCBjcHVwb29sLWNwdS1hZGQgUG9vbC1BNzIgNQo+Pj4+PiAjeGwgY3JlYXRl IC1kIC9yb290L3hlbi9kb211LXRlc3QgcG9vbD1cIlBvb2wtQTcyXCIKPj4+Pgo+Pj4+IEkgYW0g YSBiaXQgY29uZnVzZWQgd2l0aCB0aGVzZSBydW5lcy4gSXQgbWVhbnMgdGhhdCBvbmx5IHRoZSBm aXJzdCBraW5kIG9mCj4+Pj4gQ1BVcyBoYXZlIHBvb2wgYXNzaWduZWQuIFdoeSBkb24ndCB5b3Ug ZGlyZWN0bHkgY3JlYXRlIGFsbCB0aGUgcG9vbHMgYXQgYm9vdAo+Pj4+IHRpbWU/Cj4+Pgo+Pj4g SWYgbmVlZCB0byBjcmVhdGUgYWxsIHRoZSBwb29scywgbmVlZCB0byBkZWNpZGVkIGhvdyBtYW55 IHBvb2xzIG5lZWQgdG8gYmUgY3JlYXRlZC4KPj4+IEkgdGhvdWdodCBhYm91dCB0aGlzLCBidXQg SSBkbyBub3QgY29tZSBvdXQgYSBnb29kIGlkZWEuCj4+Pgo+Pj4gVGhlIGNwdXBvb2wwIGlzIGRl ZmluZWQgaW4geGVuL2NvbW1vbi9jcHVwb29sLmMsIGlmIG5lZWQgdG8gY3JlYXRlIG1hbnkgcG9v bHMsCj4+PiBuZWVkIHRvIGFsbG9jIGNwdXBvb2xzIGR5bmFtaWNhbGx5IHdoZW4gYm9vdGluZy4g SSB3b3VsZCBub3QgbGlrZSB0byBjaGFuZ2UgYQo+Pj4gbG90IHRvIGNvbW1vbiBjb2RlLgo+Pgo+ PiBXaHk/IFdlIHNob3VsZCBhdm9pZCB0byBjaG9vc2UgYSBzcGVjaWZpYyBkZXNpZ24ganVzdCBi ZWNhdXNlIHRoZSBjb21tb24gY29kZQo+PiBkb2VzIG5vdCBhbGxvdyB5b3UgdG8gZG8gaXQgd2l0 aG91dCBoZWF2eSBjaGFuZ2UuCj4+Cj4+IFdlIG5ldmVyIGNhbWUgYWNyb3NzIHRoZSBiaWcuTElU VExFIHByb2JsZW0gb24geDg2LCBzbyBpdCBpcyBub3JtYWwgdG8gbW9kaWZ5Cj4+IHRoZSBjb2Rl Lgo+Pgo+Pj4gVGhlIGltcGxlbWVudGF0aW9uIGluIHRoaXMgcGF0Y2hzZXQgSSB0aGluayBpcyBh biBlYXN5IHdheSB0byBsZXQgQmlnIGFuZCBMaXR0bGUKPj4+IENQVXMgYWxsIHJ1bi4KPj4KPj4g SSBjYXJlIGFib3V0IGhhdmluZyBhIGRlc2lnbiBhbGxvd2luZyBhbiBlYXN5IHVzZSBvZiBiaWcu TElUVExFIG9uIFhlbi4gWW91cgo+PiBzb2x1dGlvbiByZXF1aXJlcyB0aGUgYWRtaW5pc3RyYXRv ciB0byBrbm93IHRoZSB1bmRlcmx5aW5nIHBsYXRmb3JtIGFuZAo+PiBjcmVhdGUgdGhlIHBvb2wu Cj4KPiBJIHN1cHBvc2UgYmlnLmxpdHRsZSBpcyBtYWlubHkgdXNlZCBpbiBlbWJlZGRlZCBTb0Mg OikuIFNvIHRoZSB1c2VyKGRldmVsb3Blcj8pCj4gbmVlZHMgdG8ga25vdyB0aGUgaGFyZHdhcmUg cGxhdGZvcm0uCgpUaGUgdXNlciB3aWxsIGFsd2F5cyBiZSBoYXBweSBpZiBYZW4gY2FuIHNhdmUg aGltIGEgYml0IG9mIHRpbWUgdG8gCmNyZWF0ZSBjcHVwb29sLiA7KQoKPgo+Pgo+PiBJbiB0aGUg c29sdXRpb24gSSBzdWdnZXN0ZWQsIHRoZSBwb29scyB3b3VsZCBiZSBjcmVhdGVkIGJ5IFhlbiAo YW5kIHRoZSBpbmZvCj4+IGV4cG9zZWQgdG8gdGhlIHVzZXJzcGFjZSBmb3IgdGhlIGFkbWluKS4K Pgo+IEkgdGhpbmsgdGhlIHJlYXNvbiB0byBjcmVhdGUgY3B1cG9vbHMgdG8gc3VwcG9ydCBiaWcu bGl0dGxlIFNvQyBpcyB0bwo+IGF2b2lkIHZjcHVzIHNjaGVkdWxlZCBiZXR3ZWVuIGJpZyBhbmQg bGl0dGxlIHBoeXNpY2FsIGNwdXMuCj4KPiBJZiBuZWVkIHRvIHN1cHBvcnQgYmlnLmxpdHRsZSBn dWVzdCwgSSB0aGluayBubyBuZWVkIHRvIGNyZWF0ZSBtb3JlCj4gY3B1cG9vbHMgZXhwZWN0IGNw dXBvbzAuIE5lZWQgdG8gbWFrZSBzdXJlIHZjcHVzIG5vdCBiZSBzY2hlZHVsZWQgYmV0d2Vlbgo+ IGJpZyBhbmQgbGl0dGxlIHBoeXNpY2FsIGNwdXMuIEFsbCB0aGUgY3B1cyBuZWVkcyB0byBiZSBp biBvbmUgY3B1cG9vbC4KPgo+Pgo+Pj4KPj4+Pgo+Pj4+IEFsc28sIGluIHdoaWNoIHBvb2wgYSBk b21haW4gd2lsbCBiZSBjcmVhdGVkIGlmIG5vbmUgaXMgc3BlY2lmaWVkPwo+Pj4+Cj4+Pj4+IE5v dyBgeGwgY3B1cG9vbC1saXN0IC1jYCBzaG93czoKPj4+Pj4gTmFtZSAgICAgICAgICAgIENQVSBs aXN0Cj4+Pj4+IFBvb2wtMCAgICAgICAgICAwLDEsMiwzCj4+Pj4+IFBvb2wtQTcyICAgICAgICA0 LDUKPj4+Pj4KPj4+Pj4gYHhsIGNwdXBvb2wtbGlzdGAgc2hvd3M6Cj4+Pj4+IE5hbWUgICAgICAg ICAgICAgICBDUFVzICAgU2NoZWQgICAgIEFjdGl2ZSAgIERvbWFpbiBjb3VudAo+Pj4+PiBQb29s LTAgICAgICAgICAgICAgICA0ICAgIGNyZWRpdCAgICAgICB5ICAgICAgICAgIDEKPj4+Pj4gUG9v bC1BNzIgICAgICAgICAgICAgMiAgIGNyZWRpdDIgICAgICAgeSAgICAgICAgICAxCj4+Pj4+Cj4+ Pj4+IGB4bCBjcHVwb29sLWNwdS1yZW1vdmUgUG9vbC1BNzIgNGAsIHRoZW4gYHhsIGNwdXBvb2wt Y3B1LWFkZCBQb29sLTAgNGAKPj4+Pj4gbm90IHN1Y2Nlc3MsIGJlY2F1c2UgUG9vbC0wIGNvbnRh aW5zIEE1MyBDUFVzLCBidXQgQ1BVNCBpcyBhbiBBNzIgQ1BVLgo+Pj4+Pgo+Pj4+PiBgeGwgY3B1 cG9vbC1taWdyYXRlIERvbVUgUG9vbC0wYCB3aWxsIGFsc28gZmFpbCwgYmVjYXVzZSBEb21VIGlz IGNyZWF0ZWQKPj4+Pj4gaW4gUG9vbC1BNzIgd2l0aCBBNzIgdmNwdSwgd2hpbGUgUG9vbC0wIGhh dmUgQTUzIHBoeXNpY2FsIGNwdXMuCj4+Pj4+Cj4+Pj4+IFBhdGNoIDEvNToKPj4+Pj4gdXNlICJj cHVtYXNrX3dlaWdodChjcHVwb29sMC0+Y3B1X3ZhbGlkKTsiIHRvIHJlcGxhY2UgIm51bV9vbmxp bmVfY3B1cygpIiwKPj4+Pj4gYmVjYXVzZSBudW1fb25saW5lX2NwdXMoKSBjb3VudHMgYWxsIHRo ZSBvbmxpbmUgQ1BVcywgYnV0IG5vdyB3ZSBvbmx5Cj4+Pj4+IG5lZWQgQmlnIG9yIExpdHRsZSBD UFVzLgo+Pj4+Cj4+Pj4gU28gaWYgSSB1bmRlcnN0YW5kIGNvcnJlY3RseSwgaWYgdGhlIGJvb3Qg Q1BVIGlzIGEgbGl0dGxlIENQVSwgRE9NMCB3aWxsCj4+Pj4gYWx3YXlzIGJlIGFibGUgdG8gb25s eSB1c2UgbGl0dGxlIG9uZXMuIElzIHRoYXQgcmlnaHQ/Cj4+Pgo+Pj4gWWVhaC4gRG9tMCBvbmx5 IHVzZSB0aGUgbGl0dGxlIG9uZXMuCj4+Cj4+IFRoaXMgaXMgcmVhbGx5IGJhZCwgZG9tMCBvbiBu b3JtYWwgY2FzZSB3aWxsIGhhdmUgYWxsIHRoZSBiYWNrZW5kcy4gSXQgbWF5Cj4+IG5vdCBiZSBw b3NzaWJsZSB0byBzZWxlY3QgdGhlIGJvb3QgQ1BVLCBhbmQgdGhlcmVmb3JlIGFsd2F5cyBnZXQg YSBsaXR0bGUKPj4gQ1BVLgo+Cj4gRG9tMCBydW5zIGluIGNwdXBvb2wwLiBjcHVwb29sMCBvbmx5 IGNvbnRhaW5zIHRoZSBjcHVbMC0zXSBpbiBteSBjYXNlLgoKU28gdGhlIHBlcmZvcm1hbmNlIG9m IGRvbTAgd2lsbCBiZSBpbXBhY3RlZCBiZWNhdXNlIGl0IHdpbGwgb25seSB1c2UgCmxpdHRsZSBj b3Jlcy4KCj4KPj4KPj4gQ3JlYXRpbmcgdGhlIHBvb2wgYXQgYm9vdCB0aW1lIHdvdWxkIGhhdmUg YXZvaWQgYSBzdWNoIGlzc3VlIGJlY2F1c2UsIHVubGVzcwo+PiB3ZSBleHBvc2UgYmlnLkxJVFRM RSB0byBkb20wIChJIHdvdWxkIG5lZWQgdGhlIGlucHV0IG9mIEdlb3JnZSBhbmQgRGFyaW8gZm9y Cj4+IHRoaXMgYml0cyksIHdlIGNvdWxkIGhhdmUgYSBwYXJhbWV0ZXIgdG8gc3BlY2lmeSB3aGlj aCBzZXQgb2YgQ1BVcyAoZS5nIHBvb2wpCj4+IHRvIGFsbG9jYXRlIGRvbTAgdkNQVXMuCj4KPiBk b20wIGlzIGNvbnRyb2wgZG9tYWluLCBJIHRoaW5rIG5vIG5lZWQgdG8gZXhwb3NlIGJpZy5saXR0 bGUgZm9yIGRvbTAuCj4gUGluIFZDUFUgdG8gc3BlY2lmaWMgcGh5c2ljYWwgY3B1cywgdGhpcyBt YXkgaGVscCBzdXBwb3J0IGJpZy5saXR0bGUgZ3Vlc3QuCj4KPj4KPj4gTm90ZSwgdGhhdCBJIGFt IG5vdCBhc2tpbmcgeW91IHRvIGltcGxlbWVudCBldmVyeXRoaW5nLiBCdXQgSSB0aGluayB3ZSBu ZWVkIGEKPj4gY29oZXJlbnQgdmlldyBvZiBiaWcuTElUVExFIHN1cHBvcnQgaW4gWGVuIHRvZGF5 IHRvIGdvIGZvcndhcmQuCj4KPiBZZWFoLiBUaGVuIHlvdSBwcmVmZXIgc3VwcG9ydGluZyBiaWcu bGl0dGxlIGd1ZXN0PwoKSSBoYXZlIHNlZW4gc29tZSBpbnRlcmVzdCBvbiBpdC4KCj4gUGxlYXNl IGFkdmlzZSBpZiB5b3UgaGF2ZSBhbnkgcGxhbi9pZGVhcyBvciB3aGF0IEkgY2FuIGRvIG9uIHRo aXMuCgpJIGFscmVhZHkgZ2F2ZSBzb21lIGlkZWFzIG9uIHdoYXQgY291bGQgYmUgZG9uZSBmb3Ig YmlnLkxJVFRMRSBzdXBwb3J0LiAKQnV0LCBJIGFkbWl0IEkgaGF2ZW4ndCB5ZXQgbXVjaCB0aGlu ayBhYm91dCBpdCwgc28gSSBtYXkgbWlzcyBzb21lIHBhcnQuCgpSZWdhcmRzLAoKLS0gCkp1bGll biBHcmFsbAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K WGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xp c3RzLnhlbi5vcmcveGVuLWRldmVsCg==