From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Martin Subject: Re: [PATCH] ARM: vexpress: initial device tree support Date: Wed, 21 Sep 2011 15:24:25 +0100 Message-ID: <20110921142425.GE2872@arm.com> References: <1316596786-2539-1-git-send-email-dave.martin@linaro.org> <4E79E588.6010703@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <4E79E588.6010703-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: devicetree-discuss-bounces+gldd-devicetree-discuss=m.gmane.org-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org Sender: devicetree-discuss-bounces+gldd-devicetree-discuss=m.gmane.org-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org To: Rob Herring Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org, Rob Herring , linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, =?utf-8?B?UGF3ZcWC?= Moll , patches-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org List-Id: devicetree@vger.kernel.org T24gV2VkLCBTZXAgMjEsIDIwMTEgYXQgMDg6MjQ6MjRBTSAtMDUwMCwgUm9iIEhlcnJpbmcgd3Jv dGU6Cj4gRGF2ZSwKPiAKPiBPbiAwOS8yMS8yMDExIDA0OjE5IEFNLCBEYXZlIE1hcnRpbiB3cm90 ZToKPiA+IFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBpbml0aWFsIHN1cHBvcnQgZm9yIGJvb3Rpbmcg dXNpbmcgYSBmbGF0dGVuZWQKPiA+IGRldmljZSB0cmVlIG9uIHRoZSBWZXJzYXRpbGUgRXhwcmVz cyBwbGF0Zm9ybS4KPiA+IAo+ID4gRXZlbnR1YWxseSwgaXQgc2hvdWxkIGJlIHBvc3NpYmxlIHRv IHByZXNlbnQgYSBzaW5nbGUsIGNvcmUtdGlsZS0KPiA+IGluZGVwZW5kZW50IGJvYXJkLCBidXQg aW4gdGhpcyB0cmFuc2l0aW9uYWwgcGF0Y2ggdGhlIGJhc2Vib2FyZCArCj4gPiBDb3J0ZXgtQTl4 NCBjb3JlIHRpbGUgY29tYmluYXRpb24gaXMgdGhlIG9ubHkgZGlyZWN0bHkgc3VwcG9ydGVkCj4g PiBwbGF0Zm9ybSwgc2luY2UgdGhlIGltcGxlbWVudGF0aW9uIGlzIG5vdCB5ZXQgZnVsbHkgZ2Vu ZXJpYy4KPiA+IAo+ID4gRm9yIG5vdywgY2xvY2tzIGFuZCB0aW1lcnMgYXJlIG5vdCBoYW5kbGVk IHZpYSB0aGUgZGV2aWNlIHRyZWUuCj4gPiBJbXBsZW1lbnRhdGlvbiBvZiB0aGVzZSBjYW4gZm9s bG93IGluIGxhdGVyIHBhdGNoZXMuCj4gPiAKPiA+IFRoYW5rcyB0byBMb3JlbnpvIFBpZXJhbGlz aSwgR3JhbnQgTGlrZWx5IGFuZCBQYXdlxYIgTW9sbCBmb3IgdGhlaXIKPiA+IGhlbHAgYW5kIGNv bnRyaWJ1dGlvbnMuCj4gPiAKPiA+IFNpZ25lZC1vZmYtYnk6IERhdmUgTWFydGluIDxkYXZlLm1h cnRpbkBsaW5hcm8ub3JnPgo+ID4gQWNrZWQtYnk6IFBhd2XFgiBNb2xsIDxQYXdlbC5Nb2xsQGFy bS5jb20+Cj4gPiAtLS0KPiA+IAo+ID4gVGhlcmUgYXJlIHNvbWUgb3V0c3RhbmRpbmcgaXNzdWVz IHdoaWNoIG5lZWQgdG8gYmUgZGlzY3Vzc2VkLCBsaXN0ZWQKPiA+IGJlbG93Lgo+ID4gCj4gPiAg ICogVGhpcyBwYXRjaCBpcyBub3QgY3VycmVudGx5IGJhc2VkIG9uIHRoZSBHSUMgYmluZGluZ3Mg YmVpbmcKPiA+ICAgICBkaXNjdXNzZWQgYnkgUm9iIEhlcnJpbmcgZXQgYWwuICBPbmNlIHRoYXQg ZGlzY3Vzc2lvbiByZWFjaGVzIGEKPiA+ICAgICBjb25jbHVzaW9uLCBpdCBzaG91bGQgYmUgc3Ry YWlnaHRmb3J3YXJkIHRvIHJlYmFzZSBvbnRvIHRoZSByZXN1bHQuCj4gPiAKPiA+ICAgKiBUaGUg Zm9sbG93aW5nIGFkZGVkIGJpbmRpbmdzIGFyZSBub3QgcHJlc2VudCB1cHN0cmVhbSBhbmQgbmVl ZAo+ID4gICAgIGRvY3VtZW50YXRpb24gLyBkaXNjdXNzaW9uOgo+ID4gCj4gPiAgICAgICAqIGFy bSx2ZXhwcmVzcyAtLSB0aGUgZ2xvYmFsIGJvYXJkIGJpbmRpbmcgZm9yIGFsbCBwbGF0Zm9ybQo+ ID4gICAgICAgICBjb21iaW5hdGlvbnMgdXNpbmcgdGhlIFZlcnNhdGlsZSBFeHByZXNzIG1vdGhl cmJvYXJkLgo+ID4gCj4gPiAgICAgICAqIGFybSx2ZXhwcmVzcy12MnAtY2E5IC0tIHRoZSBzcGVj aWZpYyBiaW5kaW5nIGZvciB0aGUgVmVyc2F0aWxlCj4gPiAgICAgICAgIEV4cHJlc3MgbW90aGVy Ym9hcmQgd2l0aCBDb3J0ZXgtQTl4NCBjb3JlIHRpbGUgaW5zdGFsbGVkLiAgSXQKPiA+ICAgICAg ICAgaXMgb25seSBtZW50aW9uZWQgYXMgdGhlIG1vc3Qtc3BlY2lmaWMgbWF0Y2ggaW4gdmV4cHJl c3MtdjJwLQo+ID4gICAgICAgICBjYTkuZHRzCj4gPiAKPiA+ICAgICAgICAgU2luY2UgaXQncyBp bnRlbmRlZCB0aGF0IHRoZSBtb3RoZXJib2FyZCBjb2RlIHNob3VsZCBiZSBmdWxseQo+ID4gICAg ICAgICBnZW5lcmljLCBhbmQgYmVjYXVzZSBubyBvdGhlciBjb3JlIHRpbGVzIGFyZSB1cHN0cmVh bSB5ZXQsCj4gPiAgICAgICAgIHBlcmhhcHMgd2UgY2FuIGdldCByaWQgb2YgdGhpcyBiaW5kaW5n IHJpZ2h0IGF3YXkuCj4gPiAKPiA+ICAgICAgICogZWRpZCAtLSBJdCBzaG91bGQgYmUgcG9zc2li bGUgdG8gaGF2ZSBhIGZhaXJseSBnZW5lcmljIGJpbmRpbmcKPiA+ICAgICAgICAgZm9yIEVESUQg aW50ZXJmYWNlcywgYnV0IG5vbmUgc2VlbXMgdG8gZXhpc3QgeWV0LiAgRGlzY3Vzc2lvbgo+ID4g ICAgICAgICBpcyBuZWVkZWQgcmVnYXJkaW5nIHdoYXQgZm9ybSB0aGlzIHNob3VsZCB0YWtlLgo+ ID4gCj4gPiAgICAgICAgIFRoaXMgbWlnaHQgbW9yZSBhcHByb3ByaWF0ZWx5IGJlIGNhbGxlZCAi ZGRjIiAob3Igc29tZQo+ID4gICAgICAgICB2YXJpYXRpb24gb24gdGhhdCksIHNpbmNlIEVESUQg c2VlbXMgb25seSB0byBkZXNjcmliZSB0aGUKPiA+ICAgICAgICAgZm9ybWF0IG9mIHRoZSBJRCBk YXRhIHJldHJpZXZhYmxlIHZpYSB0aGlzIGludGVyZmFjZTsgbm90IHRoZQo+ID4gICAgICAgICBp bnRlcmZhY2UgaXRzZWxmLgo+ID4gCj4gPiAgICAgICAqIGFybSx2ZXhwcmVzcy1mbGFzaCAtLSBO ZWVkZWQgYmVjYXVzZSBvZiB0aGUgcmVxdWlyZW1lbnQgdG8KPiA+ICAgICAgICAgcHJvdmlkZSB0 aGUgcGh5c21hcF9mbGFzaCBkcml2ZXIgd2l0aCBhIHNwZWNpYWwgLnNldF92cHAKPiA+ICAgICAg ICAgaGFuZGxlci4KPiA+IAo+ID4gICAgICAgKiBpZHQsODlocGVzMzJoOCAtLSBUaGlzIGlzIHRo ZSBJRFQgODlIUEVTMzJIOCBQQ0kgZXhwcmVzcwo+ID4gICAgICAgICBpbnRlcmNvbm5lY3Qgc3dp dGNoLiAgVGhpcyBpc24ndCBuZWVkZWQgZm9yIHRoZSBWZXJzYXRpbGUKPiA+ICAgICAgICAgRXhw cmVzcyB0byB3b3JrLCBidXQgd291bGQgYmUgbmVlZGVkIGlmIHVzaW5nIFBDSS1lIHBlcmlwaGVy YWxzCj4gPiAgICAgICAgIGZvciByZWFsLiAgSSBleHBlY3QgdGhhdCBtb3JlIGRyaXZlciBzdXBw b3J0IG5lZWRzIHRvIGdvCj4gPiAgICAgICAgIHVwc3RyZWFtIGJlZm9yZSB0aGlzIGlzIGFjdHVh bGx5IHVzYWJsZS4KPiA+IAo+ID4gICAgICAgKiBueHAsaXNwMTc2MSAtLSBUaGUgZHJpdmVyIHN1 cHBvcnQgZm9yIHRoaXMgaXMgYWxyZWFkeSB1cHN0cmVhbQo+ID4gICAgICAgICAod2l0aCBzb21l IG1pbm9yIGlzc3VlcyBmb3IgQVJNIHN1cHBvcnQpLgo+ID4gCj4gPiAgICAgICAqIGFybSxhbWJh LWJ1cyAtLSB3aWRlbHkgdXNlZCBieSBvdGhlciBib2FyZHMgYW5kIHBhdGNoc2V0cywgYnV0Cj4g PiAgICAgICAgIHNlZW1zIG5vdCB0byBiZSBkb2N1bWVudGVkLgo+ID4gCj4gCj4gVGhpcyBzaG91 bGQgYmUgZHJvcHBlZC4gVGhlcmUncyBub3QgcmVhbGx5IGFueSBidXMgY29tcG9uZW50IHRvIGFu IGFtYmEKPiBidXMuIEFsbCB0aGUgcHJvYmluZyBpbmZvIGlzIHdpdGhpbiB0aGUgcHJpbWVjZWxs IHBlcmlwaGVyYWxzLgoKU28sIGp1c3QgdXNlICJzaW1wbGUtYnVzIj8KCj4gPiAgICAgICAqIFRo ZSBmb2xsb3dpbmcgYmluZGluZ3MgZm9yIEFSTSBwcmltZWNlbGwgcGVyaXBoZXJhbHMgYXJlIHVz ZWQKPiA+ICAgICAgICAgZWxzZXdoZXJlIGJ1dCBub3QgZG9jdW1lbnRlZC4gIFRoZXkgc2hvdWxk IGJlIHByZXR0eSBzaW1wbGUgYW5kCj4gPiAgICAgICAgIHVuY29udHJhdmVyc2lhbC4KPiA+ICAg ICAgICAgICAqIGFybSxwbDAzMQo+ID4gICAgICAgICAgICogYXJtLHBsMDQxCj4gPiAgICAgICAg ICAgKiBhcm0scGwwNTAKPiA+ICAgICAgICAgICAqIGFybSxwbDE4MAo+ID4gICAgICAgICAgICog YXJtLHNwODA1Cj4gPiAKPiAKPiBQbHVzIHBsMDExLCBwbDAxMCwgc3A4MDQsIHBsMDIyLCBwbDA2 MQoKSXQgbG9va3MgbGlrZSBJIG1pc3NlZCBwbDAxMSBhbmQgc3A4MDQgKHRob3VnaCBJIGRvbid0 IGN1cnJlbnRseSBkZWNsYXJlCnRoZSB0aW1lcnMgaW4gdGhlIGRldmljZSB0cmVlIGJlY2F1c2Ug b2YgdGhlIHdheSB0aGV5IGFyZSBpbml0aWFsaXNlZCkuCgo+ID4gICAgICAgICBSb2IgSGVycmlu ZyBzdWdnZXN0ZWQgZG9jdW1lbnRpbmcgc2ltcGxlIGJpbmRpbmdzIGZvciB0aGVzZQo+ID4gICAg ICAgICAoYW5kIG90aGVycykgYWxvbmcgd2l0aCBoaXMgaW5pdGlhbCBhbWJhIGRldmljZSB0cmVl IHByb2JlCj4gPiAgICAgICAgIHBhdGNoZXMsIGJ1dCB0aGVzZSBiaW5kaW5ncyBkb24ndCBzZWVt IHRvIGJlIGRvY3VtZW50ZWQKPiA+ICAgICAgICAgdXBzdHJlYW0gZm9yIG5vdy4KPiA+IAo+IAo+ IHBsMzMwIHdlbnQgdGhlIG90aGVyIHJvdXRlIHdpdGggYSBmaWxlIGZvciBpdHNlbGYuIFRoYXQg bWF5IGJlIGJldHRlciB0bwo+IGF2b2lkIGNvbmZsaWN0cy4gQnV0IHllcywgQVJNIHNob3VsZCBk b2N1bWVudCBhbGwgdGhlaXIgcGVyaXBoZXJhbHMuIDspCj4gCj4gSSdsbCBkbyB0aGUgb25lcyBv biBoaWdoYmFuayBpZiB5b3Ugd2FudCB0byBkbyB0aGUgcmVzdCBvbiBWRXhwLgoKT0ssIEknbGwg dHJ5IHRvIHByb3Bvc2UgZG9jdW1lbnRhdGlvbiBmb3IgdGhlc2U6CgoJKiBhcm0scGwwMTEKCSog YXJtLHBsMDMxCgkqIGFybSxwbDA0MQoJKiBhcm0scGwwNTAKCSogYXJtLHBsMTgwCgkqIGFybSxz cDgwNAoJKiBhcm0sc3A4MDUKCi4uLmlmIHlvdSBjYW4gcGljayB0aGUgb3RoZXIgb25lcyB0aGF0 IGFyZSByZWxldmFudCB0byBoaWdoYmFuayAtLSB0aGFua3MuCgo+IAo+ID4gCj4gPiAgICogU2hh d24gR3VvJ3Mgc21zYzkxMXggcGF0Y2ggaXMgbmVlZGVkIGZvciBFdGhlcm5ldCB0byB3b3JrLiAg VGhpcyBpcwo+ID4gICAgIGhlYWRlZCB1cHN0cmVhbSBidXQgbm90IHlldCBpbiBtYWlubGluZS4g IEl0IGlzIGF2YWlsYWJsZSBpbiAtbmV4dC4KPiA+IAo+ID4gICAqIE1pbm9yIHBhdGNoZXMgYXJl IG5lZWRlZCB0byB0aGUgaXNwMTc2MCBhbmQgcGF0YV9nZW5lcmljIGRyaXZlcnMsCj4gPiAgICAg dG8gYWxsb3cgT0YtYmFzZWQgaW5pdGlhbGlzYXRpb24gYWNyb3NzIGEgd2lkZXIgZ3JvdXAgb2YK PiA+ICAgICBhcmNoaXRlY3R1cmVzLiAgVGhlc2UgYXJlIGJlaW5nIGRpc2N1c3NlZCBpbmRlcGVu ZGVudGx5LCBidXQgYXJlCj4gPiAgICAgbm90IHlldCBhY2NlcHRlZCBmb3IgbWVyZ2luZyB1cHN0 cmVhbS4KPiA+IAo+ID4gICAqIE1vc3QgY29yZS10aWxlIHBlcmlwaGVyYWxzIGFyZSBjdXJyZW50 bHkgbm90IGRlc2NyaWJlZCBpbiB0aGUgY29yZS0KPiA+ICAgICB0aWxlIGRldmljZSB0cmVlIGZy YWdtZW50LiAgVGhpcyBpcyBhIGxvd2VyLXByaW9yaXR5IGlzc3VlIHNpbmNlCj4gPiAgICAgdGhl IG1vdGhlcmJvYXJkIGNvZGUgYWxyZWFkeSBhdXRvZGV0ZWN0cyB0aGUgY29yZS10aWxlICh0aG91 Z2ggb25seQo+ID4gICAgIG9uZSBjb3JlLXRpbGUgaXMgZnVsbHkgdXBzdHJlYW0gYXQgdGhlIG1v bWVudCkuCj4gPiAKPiA+ICAgKiBTdGF0aWMgcGVyaXBoZXJhbCBtYXBwaW5ncyBhcmUgbm90IHll dCBoYW5kbGVkIGluIGEgZ2VuZXJpYyB3YXkgaW4KPiA+ICAgICB0aGUgYm9hcmQgc3VwcG9ydCBj b2RlLiAgVGhpcyBpcyBhIHByZXJlcXVpc2l0ZSBmb3Igc3VwcG9ydGluZwo+ID4gICAgIG11bHRp cGxlIGNvcmUtdGlsZXMgaW50IHRoZSBzYW1lIGtlcm5lbC4gIEl0IHdlbGwgbmVlZCB0byBnZXQg Zml4ZWQKPiA+ICAgICBsYXRlciwgd2hlbiBleHRyYSBjb3JlIHRpbGUgc3VwcG9ydCBpcyBtZXJn ZWQgKG9yIGJlZm9yZSkuCj4gPiAKPiA+ICAgICBQYXdlxYIgTW9sbCBpcyBsb29raW5nIGludG8g dGhpcyBzZXBhcmF0ZWx5Lgo+ID4gCj4gPiAgICogVGhlIEtjb25maWcgbG9naWMgZm9yIGVuc3Vy aW5nIHRoYXQgYXQgbGVhc3Qgb25lIGJvb3QgcHJvdG9jb2wgYW5kCj4gPiAgICAgYXQgbGVhc3Qg b25lIGNvcmUgdGlsZSBhcmUgc2VsZWN0ZWQgaXMgYSBiaXQgdWdseS4gIFN1Z2dlc3Rpb25zIGZv cgo+ID4gICAgIGltcHJvdmluZyB0aGlzIGFyZSBjZXJ0YWlubHkgd2VsY29tZS4KPiA+IAo+ID4g IGFyY2gvYXJtL0tjb25maWcgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDEgKwo+ID4g IGFyY2gvYXJtL2Jvb3QvZHRzL3ZleHByZXNzLXYybS1sZWdhY3kuZHRzaSB8ICAxNjMgKysrKysr KysrKysrKysrKysrKysrKysrKysrKwo+ID4gIGFyY2gvYXJtL2Jvb3QvZHRzL3ZleHByZXNzLXYy cC1jYTkuZHRzICAgICB8ICAgODAgKysrKysrKysrKysrKysKPiA+ICBhcmNoL2FybS9jb25maWdz L3ZleHByZXNzX2RlZmNvbmZpZyAgICAgICAgfCAgICAxICsKPiA+ICBhcmNoL2FybS9tYWNoLXZl eHByZXNzL0tjb25maWcgICAgICAgICAgICAgfCAgIDQ1ICsrKysrKysrLQo+ID4gIGFyY2gvYXJt L21hY2gtdmV4cHJlc3MvY3QtY2E5eDQuYyAgICAgICAgICB8ICAgIDcgKysKPiA+ICBhcmNoL2Fy bS9tYWNoLXZleHByZXNzL3YybS5jICAgICAgICAgICAgICAgfCAgIDU0ICsrKysrKysrKy0KPiA+ ICA3IGZpbGVzIGNoYW5nZWQsIDM0OSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQo+ID4g IGNyZWF0ZSBtb2RlIDEwMDY0NCBhcmNoL2FybS9ib290L2R0cy92ZXhwcmVzcy12Mm0tbGVnYWN5 LmR0c2kKPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgYXJjaC9hcm0vYm9vdC9kdHMvdmV4cHJlc3Mt djJwLWNhOS5kdHMKPiA+IAo+ID4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL0tjb25maWcgYi9hcmNo L2FybS9LY29uZmlnCj4gPiBpbmRleCA1ZWJjNWQ5Li5hNmU5MGQ1IDEwMDY0NAo+ID4gLS0tIGEv YXJjaC9hcm0vS2NvbmZpZwo+ID4gKysrIGIvYXJjaC9hcm0vS2NvbmZpZwo+ID4gQEAgLTI4Miw2 ICsyODIsNyBAQCBjb25maWcgQVJDSF9WRVJTQVRJTEUKPiA+ICAKPiA+ICBjb25maWcgQVJDSF9W RVhQUkVTUwo+ID4gIAlib29sICJBUk0gTHRkLiBWZXJzYXRpbGUgRXhwcmVzcyBmYW1pbHkiCj4g PiArCXNlbGVjdCBBUkNIX1ZFWFBSRVNTX1NBTkVfQ09ORklHCj4gPiAgCXNlbGVjdCBBUkNIX1dB TlRfT1BUSU9OQUxfR1BJT0xJQgo+ID4gIAlzZWxlY3QgQVJNX0FNQkEKPiA+ICAJc2VsZWN0IEFS TV9USU1FUl9TUDgwNAo+ID4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2Jvb3QvZHRzL3ZleHByZXNz LXYybS1sZWdhY3kuZHRzaSBiL2FyY2gvYXJtL2Jvb3QvZHRzL3ZleHByZXNzLXYybS1sZWdhY3ku ZHRzaQo+ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiA+IGluZGV4IDAwMDAwMDAuLmZkNmU0ZTQK PiA+IC0tLSAvZGV2L251bGwKPiA+ICsrKyBiL2FyY2gvYXJtL2Jvb3QvZHRzL3ZleHByZXNzLXYy bS1sZWdhY3kuZHRzaQo+ID4gQEAgLTAsMCArMSwxNjMgQEAKPiA+ICsvLyBBUk0gTHRkLiBWZXJz YXRpbGUgRXhwcmVzcyBNb3RoZXJib2FyZCBWMk0tUDEgKEhCSS0wMTkwRCkKPiA+ICsvLyBMZWdh Y3kgbWVtb3J5IG1hcAo+IAo+IE5vdCBzdXJlLCBidXQgQysrIHN0eWxlIGNvbW1lbnRzIGFyZSBw cm9iYWJseSBmcm93bmVkIHVwb24gaW4gZHRzIHRvby4KPiAKPiA+ICsKPiA+ICsvIHsKPiA+ICsJ YWxpYXNlcyB7Cj4gPiArCQlzZXJpYWwwID0gJnVhcnQwOwo+ID4gKwkJc2VyaWFsMSA9ICZ1YXJ0 MTsKPiA+ICsJCXNlcmlhbDIgPSAmdWFydDI7Cj4gPiArCQlzZXJpYWwzID0gJnVhcnQzOwo+ID4g KwkJaTJjMCA9ICZpMmMwOwo+ID4gKwkJaTJjMSA9ICZpMmMxOwo+ID4gKwl9Owo+ID4gKwo+ID4g Kwltb3RoZXJib2FyZCB7Cj4gPiArCQljb21wYXRpYmxlID0gInNpbXBsZS1idXMiOwo+ID4gKwkJ I2FkZHJlc3MtY2VsbHMgPSA8Mj47IC8vIFNNQiBjaGlwc2VsZWN0IG51bWJlciBhbmQgb2Zmc2V0 Cj4gPiArCQkjc2l6ZS1jZWxscyA9IDwxPjsKPiA+ICsJCSNpbnRlcnJ1cHQtY2VsbHMgPSA8MT47 Cj4gPiArCj4gPiArCQlmbGFzaEAwLDAwMDAwMDAwIHsKPiA+ICsJCQljb21wYXRpYmxlID0gImFy bSx2ZXhwcmVzcy1mbGFzaCIsICJjZmktZmxhc2giOwo+ID4gKwkJCXJlZyA9IDwwIDB4MDAwMDAw MDAgMHgwNDAwMDAwMAo+ID4gKwkJCSAgICAgICAxIDB4MDAwMDAwMDAgMHgwNDAwMDAwMD47Cj4g PiArCQkJYmFuay13aWR0aCA9IDw0PjsKPiA+ICsJCX07Cj4gPiArCj4gPiArCQlwc3JhbUAyLDAw MDAwMDAwIHsKPiA+ICsJCQljb21wYXRpYmxlID0gIm10ZC1yYW0iOwo+ID4gKwkJCXJlZyA9IDwy IDB4MDAwMDAwMDAgMHgwMjAwMDAwMD47Cj4gPiArCQkJYmFuay13aWR0aCA9IDw0PjsKPiA+ICsJ CX07Cj4gPiArCj4gPiArCQlldGhlcm5ldEAzLDAyMDAwMDAwIHsKPiA+ICsJCQljb21wYXRpYmxl ID0gInNtc2MsbGFuOTExOCIsICJzbXNjLGxhbjkxMTUiOwo+ID4gKwkJCXJlZyA9IDwzIDB4MDIw MDAwMDAgMHgxMDAwMD47Cj4gPiArCQkJcmVnLWlvLXdpZHRoID0gPDQ+Owo+ID4gKwkJCWludGVy cnVwdHMgPSA8MTU+Owo+ID4gKwkJCXNtc2MsaXJxLWFjdGl2ZS1oaWdoOwo+ID4gKwkJCXNtc2Ms aXJxLXB1c2gtcHVsbDsKPiA+ICsJCX07Cj4gPiArCj4gPiArCQl1c2JAMywwMzAwMDAwMCB7Cj4g PiArCQkJY29tcGF0aWJsZSA9ICJueHAsdXNiLWlzcDE3NjEiOwo+ID4gKwkJCXJlZyA9IDwzIDB4 MDMwMDAwMDAgMHgyMDAwMD47Cj4gPiArCQkJaW50ZXJydXB0cyA9IDwxNj47Cj4gPiArCQkJcG9y dDEtb3RnOwo+ID4gKwkJfTsKPiA+ICsKPiA+ICsJCXBlcmlwaGVyYWxzQDcsMDAwMDAwMDAgewo+ ID4gKwkJCWNvbXBhdGlibGUgPSAiYXJtLGFtYmEtYnVzIiwgInNpbXBsZS1idXMiOwo+ID4gKwkJ CSNhZGRyZXNzLWNlbGxzID0gPDE+Owo+ID4gKwkJCSNzaXplLWNlbGxzID0gPDE+Owo+ID4gKwkJ CXJhbmdlcyA9IDwwIDcgMCAweDIwMDAwPjsKPiA+ICsKPiA+ICsJCQkvLyBQQ0ktRSBJMkMgYnVz Cj4gPiArCQkJaTJjMDogaTJjQDAyMDAwIHsKPiA+ICsJCQkJY29tcGF0aWJsZSA9ICJhcm0sdmVy c2F0aWxlLWkyYyI7Cj4gPiArCQkJCXJlZyA9IDwweDAyMDAwIDB4MTAwMD47Cj4gPiArCj4gPiAr CQkJCSNhZGRyZXNzLWNlbGxzID0gPDE+Owo+ID4gKwkJCQkjc2l6ZS1jZWxscyA9IDwwPjsKPiA+ ICsKPiA+ICsJCQkJcGNpZS1zd2l0Y2hANjAgewo+ID4gKwkJCQkJY29tcGF0aWJsZSA9ICJpZHQs ODlocGVzMzJoOCI7Cj4gPiArCQkJCQlyZWcgPSA8MHg2MD47Cj4gPiArCQkJCX07Cj4gPiArCQkJ fTsKPiA+ICsKPiA+ICsJCQlhYWNpQDA0MDAwIHsKPiA+ICsJCQkJY29tcGF0aWJsZSA9ICJhcm0s cGwwNDEiLCAiYXJtLHByaW1lY2VsbCI7Cj4gPiArCQkJCXJlZyA9IDwweDA0MDAwIDB4MTAwMD47 Cj4gPiArCQkJCWludGVycnVwdHMgPSA8MTE+Owo+ID4gKwkJCX07Cj4gPiArCj4gPiArCQkJbW1j aUAwNTAwMCB7Cj4gPiArCQkJCWNvbXBhdGlibGUgPSAiYXJtLHBsMTgwIiwgImFybSxwcmltZWNl bGwiOwo+ID4gKwkJCQlyZWcgPSA8MHgwNTAwMCAweDEwMDA+Owo+ID4gKwkJCQlpbnRlcnJ1cHRz ID0gPDkgMTA+Owo+ID4gKwkJCX07Cj4gPiArCj4gPiArCQkJa21pQDA2MDAwIHsKPiA+ICsJCQkJ Y29tcGF0aWJsZSA9ICJhcm0scGwwNTAiLCAiYXJtLHByaW1lY2VsbCI7Cj4gPiArCQkJCXJlZyA9 IDwweDA2MDAwIDB4MTAwMD47Cj4gPiArCQkJCWludGVycnVwdHMgPSA8MTI+Owo+ID4gKwkJCX07 Cj4gPiArCj4gPiArCQkJa21pQDA3MDAwIHsKPiA+ICsJCQkJY29tcGF0aWJsZSA9ICJhcm0scGww NTAiLCAiYXJtLHByaW1lY2VsbCI7Cj4gPiArCQkJCXJlZyA9IDwweDA3MDAwIDB4MTAwMD47Cj4g PiArCQkJCWludGVycnVwdHMgPSA8MTM+Owo+ID4gKwkJCX07Cj4gPiArCj4gPiArCQkJdWFydDA6 IHVhcnRAMDkwMDAgewo+ID4gKwkJCQljb21wYXRpYmxlID0gImFybSxwbDAxMSIsICJhcm0scHJp bWVjZWxsIjsKPiA+ICsJCQkJcmVnID0gPDB4MDkwMDAgMHgxMDAwPjsKPiA+ICsJCQkJaW50ZXJy dXB0cyA9IDw1PjsKPiA+ICsJCQl9Owo+ID4gKwo+ID4gKwkJCXVhcnQxOiB1YXJ0QDBhMDAwIHsK PiA+ICsJCQkJY29tcGF0aWJsZSA9ICJhcm0scGwwMTEiLCAiYXJtLHByaW1lY2VsbCI7Cj4gPiAr CQkJCXJlZyA9IDwweDBhMDAwIDB4MTAwMD47Cj4gPiArCQkJCWludGVycnVwdHMgPSA8Nj47Cj4g PiArCQkJfTsKPiA+ICsKPiA+ICsJCQl1YXJ0MjogdWFydEAwYjAwMCB7Cj4gPiArCQkJCWNvbXBh dGlibGUgPSAiYXJtLHBsMDExIiwgImFybSxwcmltZWNlbGwiOwo+ID4gKwkJCQlyZWcgPSA8MHgw YjAwMCAweDEwMDA+Owo+ID4gKwkJCQlpbnRlcnJ1cHRzID0gPDc+Owo+ID4gKwkJCX07Cj4gPiAr Cj4gPiArCQkJdWFydDM6IHVhcnRAMGMwMDAgewo+ID4gKwkJCQljb21wYXRpYmxlID0gImFybSxw bDAxMSIsICJhcm0scHJpbWVjZWxsIjsKPiA+ICsJCQkJcmVnID0gPDB4MGMwMDAgMHgxMDAwPjsK PiA+ICsJCQkJaW50ZXJydXB0cyA9IDw4PjsKPiA+ICsJCQl9Owo+ID4gKwo+ID4gKwkJCXdkdEAw ZjAwMCB7Cj4gPiArCQkJCWNvbXBhdGlibGUgPSAiYXJtLHNwODA1IiwgImFybSxwcmltZWNlbGwi Owo+ID4gKwkJCQlyZWcgPSA8MHgwZjAwMCAweDEwMDA+Owo+ID4gKwkJCQlpbnRlcnJ1cHRzID0g PDA+Owo+ID4gKwkJCX07Cj4gPiArCj4gPiArCQkJLy8gVGltZXIgaW5pdCBpcyBoYXJkY29kZWQg aW4gdjJtX3RpbWVyX2luaXQoKSwgZm9yIG5vdy4KPiA+ICsJCQkvLyB0aW1lckAxMTAwMCB7Cj4g PiArCQkJLy8JY29tcGF0aWJsZSA9ICJhcm0sYXJtLXNwODA0IjsKPiAKPiBhcm0sc3A4MDQgaXMg bW9yZSBjb25zaXN0ZW50LiBJIGJlbGlldmUgdGhlIHNwODA0IGRvZXMgaGF2ZSB0aGUgcGVyaXBo aWQKPiByZWdpc3RlcnMsIHNvIGFybSxwcmltZWNlbGwgc2hvdWxkIGFsc28gYmUgYWRkZWQuCgpE byB5b3UgbWVhbiAiZG9lcyBub3QgaGF2ZSI/ICBJZiBzbywgdGhlIHBlcmlwaGlkIHdpbGwgYmUg bmVlZGVkIC0tIHRoYW5rcyBmb3IKcG9pbnRpbmcgaXQgb3V0IGluIHRoYXQgY2FzZS4KCkkgd2ls bCBtYWtlIHRoZSBuYW1lcyBjb25zaXN0ZW50LiAgVGhlc2Ugd2VyZSBwYXN0ZWQgZnJvbSBzb21l b25lIExvcmVuem8ncwpvbGRlciBwYXRjaGVzLCBhbmQgZmFpbGVkIHRvIHNwb3J0IGUgdGhlIGlu Y29uc2lzdGVuY3kgc2luY2UgSSB3YXNuJ3QKYWN0dWFsbHkgbWFraW5nIHVzZSBvZiB0aGVzZSBl bnRyaWVzIHlldC4KCj4gPiArCQkJLy8JcmVnID0gPDB4MTEwMDAgMHgxMDAwPjsKPiA+ICsJCQkv LwlpbnRlcnJ1cHRzID0gPDI+Owo+ID4gKwkJCS8vIH07Cj4gPiArCj4gPiArCQkJLy8gdGltZXJA MTIwMDAgewo+ID4gKwkJCS8vCWNvbXBhdGlibGUgPSAiYXJtLGFybS1zcDgwNCI7Cj4gPiArCQkJ Ly8JcmVnID0gPDB4MTIwMDAgMHgxMDAwPjsKPiA+ICsJCQkvLyB9Owo+IAo+IEp1c3QgYmVjYXVz ZSBMaW51eCBpcyBub3QgdXNpbmcgaXQsIGRvZXNuJ3QgbWVhbiB5b3Ugc2hvdWxkIGNvbW1lbnQg aXQgb3V0LgoKRnJvbSB0aGUgcG9pbnQgb2YgdmlldyBvZiBkZXNjcmliaW5nIHRoZSBoYXJkd2Fy ZSwgeWVzLiAgSG93ZXZlciwgSSB3YXMKYSBiaXQgd29ycmllZCB0aGF0IGlmIHNwODA0IGlzIHR1 cm5lZCBpbnRvIGEgZnVsbCBkcml2ZXIsIGl0IHdpbGwgZ2V0CmluaXRpYWxpc2VkIHR3aWNlIC0t IG9uY2UgZXhwbGljaXRseSBhbmQgb25jZSBpbiBvZl9wbGF0Zm9ybV9wb3B1bGF0ZSgpLi4uCmF0 IGxlYXN0IHVudGlsIHRoZSBiYW9yZCBjb2RlIGlzIGFkYXB0ZWQgdG8gd29yayBwcm9wZXJseSB3 aXRoIHRoZSBuZXcKZHJpdmVyLgoKQ29tbWVudGluZyB0aGVzZSBlbnRyaWVzIG91dCBmb3Igbm93 IHNlZW1lZCBhIGdvb2QgaWRlYSB0byBhdm9pZCB0aGUgZmxhZy1kYXkKaGF6YXJkLiAgQW0gSSBi ZWluZyB0b28gY2F1dGlvdXM/Cgo+IAo+ID4gKwo+ID4gKwkJCS8vIERWSSBJMkMgYnVzIChEREMp Cj4gPiArCQkJaTJjMTogaTJjQDE2MDAwIHsKPiA+ICsJCQkJY29tcGF0aWJsZSA9ICJhcm0sdmVy c2F0aWxlLWkyYyI7Cj4gPiArCQkJCXJlZyA9IDwweDE2MDAwIDB4MTAwMD47Cj4gPiArCj4gPiAr CQkJCSNhZGRyZXNzLWNlbGxzID0gPDE+Owo+ID4gKwkJCQkjc2l6ZS1jZWxscyA9IDwwPjsKPiA+ ICsKPiA+ICsJCQkJZWRpZEA1MCB7Cj4gPiArCQkJCQljb21wYXRpYmxlID0gImVkaWQiOwo+ID4g KwkJCQkJcmVnID0gPDB4NTA+Owo+ID4gKwkJCQl9Owo+ID4gKwkJCX07Cj4gPiArCj4gPiArCQkJ cnRjQDE3MDAwIHsKPiA+ICsJCQkJY29tcGF0aWJsZSA9ICJhcm0scGwwMzEiLCAiYXJtLHByaW1l Y2VsbCI7Cj4gPiArCQkJCXJlZyA9IDwweDAxNzAwMCAweDEwMDA+Owo+ID4gKwkJCQlpbnRlcnJ1 cHRzID0gPDQ+Owo+ID4gKwkJCX07Cj4gPiArCj4gPiArCQkJY29tcGFjdC1mbGFzaEAxYTAwMCB7 Cj4gPiArCQkJCWNvbXBhdGlibGUgPSAiYXRhLWdlbmVyaWMiOwo+ID4gKwkJCQlyZWcgPSA8MHgx YTAwMCAweDEwMAo+ID4gKwkJCQkgICAgICAgMHgxYTEwMCAweGYwMD47Cj4gPiArCQkJCXJlZy1z aGlmdCA9IDwyPjsKPiA+ICsJCQl9Owo+ID4gKwkJfTsKPiA+ICsJfTsKPiA+ICt9Owo+ID4gZGlm ZiAtLWdpdCBhL2FyY2gvYXJtL2Jvb3QvZHRzL3ZleHByZXNzLXYycC1jYTkuZHRzIGIvYXJjaC9h cm0vYm9vdC9kdHMvdmV4cHJlc3MtdjJwLWNhOS5kdHMKPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0 Cj4gPiBpbmRleCAwMDAwMDAwLi4wNTliZTk3Cj4gPiAtLS0gL2Rldi9udWxsCj4gPiArKysgYi9h cmNoL2FybS9ib290L2R0cy92ZXhwcmVzcy12MnAtY2E5LmR0cwo+ID4gQEAgLTAsMCArMSw4MCBA QAo+ID4gKy8vIEFSTSBMdGQuIFZlcnNhdGlsZSBFeHByZXNzIENvcmV4LUE5IChRdWFkIENvcmUp IENvcmUgVGlsZSBWMlAtQ0E5IChIQkktMDE5MUIpCj4gPiArCj4gPiArL2R0cy12MS87Cj4gPiAr Cj4gPiArL2luY2x1ZGUvICJza2VsZXRvbi5kdHNpIgo+ID4gKwo+ID4gKy8gewo+ID4gKwltb2Rl bCA9ICJBUk0gVmVyc2F0aWxlIEV4cHJlc3MgKENvcnRleC1BOSBRdWFkIENvcmUgVGlsZSkiOwo+ ID4gKwljb21wYXRpYmxlID0gImFybSx2ZXhwcmVzcy12MnAtY2E5IiwgImFybSx2ZXhwcmVzcyI7 Cj4gPiArCWludGVycnVwdC1wYXJlbnQgPSA8JmludGM+Owo+ID4gKwo+ID4gKwltZW1vcnkgewo+ ID4gKwkJZGV2aWNlX3R5cGUgPSAibWVtb3J5IjsKPiA+ICsJCXJlZyA9IDwweDYwMDAwMDAwIDB4 NDAwMDAwMDA+Owo+ID4gKwl9Owo+ID4gKwo+ID4gKwlpbnRjOiBpbnRlcnJ1cHQtY29udHJvbGxl ckAxZTAwMTAwMCB7Cj4gPiArCQljb21wYXRpYmxlID0gImFybSxjb3J0ZXgtYTktZ2ljIjsKPiA+ ICsJCSNpbnRlcnJ1cHQtY2VsbHMgPSA8Mj47Cj4gPiArCQkjYWRkcmVzcy1jZWxscyA9IDwwPjsK PiA+ICsJCWludGVycnVwdC1jb250cm9sbGVyOwo+ID4gKwkJcmVnID0gPDB4MWUwMDEwMDAgMHgx MDAwPiwKPiA+ICsJCSAgICAgIDwweDFlMDAwMTAwIDB4MTAwPjsKPiA+ICsJfTsKPiAKPiBJcyB0 aGlzIHJlYWxseSBhbGwgYnkgaXRzZWxmPyBJdCBzaG91bGQgYmUgaW4gdGhlIHN1Yi10cmVlIG9m IHRoZQo+IGFwcHJvcHJpYXRlIGJ1cy4KCkhtbW0sIHllcy4gIEkgZ3Vlc3MgSSBnb3QgYXdheSB3 aXRoIHRoaXMgZHVlIHRvIG5vdCB1c2luZyB0aGUgcHJvcGVyIEdJQwpiaW5kaW5ncyB5ZXQgKGFu ZCBub3QgZGVjbGFyaW5nIHRoZSBvdGhlciBjb3JlLXRpbGUgcGVyaXBoZXJhbHMpLgoKPiBZb3Ug bmVlZCBhbiAiaW50ZXJydXB0LXBhcmVudDsiIGxpbmUgc28gdGhlIHBhcmVudCBpcyBub3QgaXRz ZWxmLgoKRG8geW91IG1lYW4gZm9yIHRoZSBidXM/Cgo+IAo+ID4gKwo+ID4gKwltb3RoZXJib2Fy ZCB7Cj4gPiArCQlyYW5nZXMgPSA8MCAwIDB4NDAwMDAwMDAgMHgwNDAwMDAwMAo+ID4gKwkJCSAg MSAwIDB4NDQwMDAwMDAgMHgwNDAwMDAwMAo+ID4gKwkJCSAgMiAwIDB4NDgwMDAwMDAgMHgwNDAw MDAwMAo+ID4gKwkJCSAgMyAwIDB4NGMwMDAwMDAgMHgwNDAwMDAwMAo+ID4gKwkJCSAgNyAwIDB4 MTAwMDAwMDAgMHgwMDAyMDAwMD47Cj4gPiArCj4gPiArCQlpbnRlcnJ1cHQtbWFwLW1hc2sgPSA8 MCAwIDYzPjsKPiA+ICsJCWludGVycnVwdC1tYXAgPSA8MCAwIDAgJmludGMgMzIgOAoKXiBUaGlz IHNob3VsZCBiZSAuLi4gNCBidHcgKHRoYW5rcyB0byBQYXdlbCBmb3Igc3BvdHRpbmcgdGhhdCkK Cj4gPiArCQkJCSAwIDAgMSAmaW50YyAzMyA0Cj4gPiArCQkJCSAwIDAgMiAmaW50YyAzNCA0Cj4g PiArCQkJCSAwIDAgMyAmaW50YyAzNSA0Cj4gPiArCQkJCSAwIDAgNCAmaW50YyAzNiA0Cj4gPiAr CQkJCSAwIDAgNSAmaW50YyAzNyA0Cj4gPiArCQkJCSAwIDAgNiAmaW50YyAzOCA0Cj4gPiArCQkJ CSAwIDAgNyAmaW50YyAzOSA0Cj4gPiArCQkJCSAwIDAgOCAmaW50YyA0MCA0Cj4gPiArCQkJCSAw IDAgOSAmaW50YyA0MSA0Cj4gPiArCQkJCSAwIDAgMTAgJmludGMgNDIgNAo+ID4gKwkJCQkgMCAw IDExICZpbnRjIDQzIDQKPiA+ICsJCQkJIDAgMCAxMiAmaW50YyA0NCA0Cj4gPiArCQkJCSAwIDAg MTMgJmludGMgNDUgNAo+ID4gKwkJCQkgMCAwIDE0ICZpbnRjIDQ2IDQKPiA+ICsJCQkJIDAgMCAx NSAmaW50YyA0NyA0Cj4gPiArCQkJCSAwIDAgMTYgJmludGMgNDggNAo+ID4gKwkJCQkgMCAwIDE3 ICZpbnRjIDQ5IDQKPiA+ICsJCQkJIDAgMCAxOCAmaW50YyA1MCA0Cj4gPiArCQkJCSAwIDAgMTkg JmludGMgNTEgNAo+ID4gKwkJCQkgMCAwIDIwICZpbnRjIDUyIDQKPiA+ICsJCQkJIDAgMCAyMSAm aW50YyA1MyA0Cj4gPiArCQkJCSAwIDAgMjIgJmludGMgNTQgNAo+ID4gKwkJCQkgMCAwIDIzICZp bnRjIDU1IDQKPiA+ICsJCQkJIDAgMCAyNCAmaW50YyA1NiA0Cj4gPiArCQkJCSAwIDAgMjUgJmlu dGMgNTcgNAo+ID4gKwkJCQkgMCAwIDI2ICZpbnRjIDU4IDQKPiA+ICsJCQkJIDAgMCAyNyAmaW50 YyA1OSA0Cj4gPiArCQkJCSAwIDAgMjggJmludGMgNjAgNAo+ID4gKwkJCQkgMCAwIDI5ICZpbnRj IDYxIDQKPiA+ICsJCQkJIDAgMCAzMCAmaW50YyA2MiA0Cj4gPiArCQkJCSAwIDAgMzEgJmludGMg NjMgNAo+ID4gKwkJCQkgMCAwIDMyICZpbnRjIDY0IDQKPiA+ICsJCQkJIDAgMCAzMyAmaW50YyA2 NSA0Cj4gPiArCQkJCSAwIDAgMzQgJmludGMgNjYgNAo+ID4gKwkJCQkgMCAwIDM1ICZpbnRjIDY3 IDQKPiA+ICsJCQkJIDAgMCAzNiAmaW50YyA2OCA0Cj4gPiArCQkJCSAwIDAgMzcgJmludGMgNjkg NAo+ID4gKwkJCQkgMCAwIDM4ICZpbnRjIDcwIDQKPiA+ICsJCQkJIDAgMCAzOSAmaW50YyA3MSA0 Cj4gPiArCQkJCSAwIDAgNDAgJmludGMgNzIgNAo+ID4gKwkJCQkgMCAwIDQxICZpbnRjIDczIDQK PiA+ICsJCQkJIDAgMCA0MiAmaW50YyA3NCA0PjsKPiA+ICsJfTsKPiA+ICt9Owo+ID4gKwo+ID4g Ky9pbmNsdWRlLyAidmV4cHJlc3MtdjJtLWxlZ2FjeS5kdHNpIgo+ID4gZGlmZiAtLWdpdCBhL2Fy Y2gvYXJtL2NvbmZpZ3MvdmV4cHJlc3NfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy92ZXhw cmVzc19kZWZjb25maWcKPiA+IGluZGV4IGYyZGU1MWYuLjZjM2M1ZjYgMTAwNjQ0Cj4gPiAtLS0g YS9hcmNoL2FybS9jb25maWdzL3ZleHByZXNzX2RlZmNvbmZpZwo+ID4gKysrIGIvYXJjaC9hcm0v Y29uZmlncy92ZXhwcmVzc19kZWZjb25maWcKPiA+IEBAIC0yMiw2ICsyMiw3IEBAIENPTkZJR19N T0RVTEVfVU5MT0FEPXkKPiA+ICAjIENPTkZJR19JT1NDSEVEX0RFQURMSU5FIGlzIG5vdCBzZXQK PiA+ICAjIENPTkZJR19JT1NDSEVEX0NGUSBpcyBub3Qgc2V0Cj4gPiAgQ09ORklHX0FSQ0hfVkVY UFJFU1M9eQo+ID4gK0NPTkZJR19BUkNIX1ZFWFBSRVNTX0FUQUdTPXkKPiA+ICBDT05GSUdfQVJD SF9WRVhQUkVTU19DQTlYND15Cj4gPiAgIyBDT05GSUdfU1dQX0VNVUxBVEUgaXMgbm90IHNldAo+ ID4gIENPTkZJR19TTVA9eQo+ID4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtdmV4cHJlc3Mv S2NvbmZpZyBiL2FyY2gvYXJtL21hY2gtdmV4cHJlc3MvS2NvbmZpZwo+ID4gaW5kZXggOTMxMTQ4 NC4uZWE2NDYzMCAxMDA2NDQKPiA+IC0tLSBhL2FyY2gvYXJtL21hY2gtdmV4cHJlc3MvS2NvbmZp Zwo+ID4gKysrIGIvYXJjaC9hcm0vbWFjaC12ZXhwcmVzcy9LY29uZmlnCj4gPiBAQCAtMSwxMiAr MSw1NSBAQAo+ID4gIG1lbnUgIlZlcnNhdGlsZSBFeHByZXNzIHBsYXRmb3JtIHR5cGUiCj4gPiAg CWRlcGVuZHMgb24gQVJDSF9WRVhQUkVTUwo+ID4gIAo+ID4gKyMgQVJDSF9WRVhQUkVTUyBlbnN1 cmVzIGEgc2FuZSBtaW5pbWFsIGNvbmZpZyBpcyBzZWxlY3RlZCBieSBzZWxlY3RpbmcKPiA+ICsj IEFSQ0hfVkVYUFJFU1NfU0FORV9DT05GSUcuCj4gPiArIyBFeHRlbmQgdGhlIGxvZ2ljIGhlcmUg d2hlbiBhZGRpbmcgbmV3IGNvcmUgdGlsZXMuCj4gPiArCj4gPiArY29uZmlnIEFSQ0hfVkVYUFJF U1NfU0FORV9DT05GSUcKPiA+ICsJYm9vbAo+ID4gKwlzZWxlY3QgQVJDSF9WRVhQUkVTU19DQTlY NAo+ID4gKwlzZWxlY3QgQVJDSF9WRVhQUkVTU19BVEFHUyBpZiAhQVJDSF9WRVhQUkVTU19EVAo+ ID4gKwo+ID4gKwo+ID4gK2NvbW1lbnQgIkF0IGxlYXN0IG9uZSBib290IHR5cGUgbXVzdCBiZSBz ZWxlY3RlZCIKPiA+ICsKPiA+ICtjb25maWcgQVJDSF9WRVhQUkVTU19BVEFHUwo+ID4gKwlib29s ICJCb290IHZpYSBBVEFHcyIKPiA+ICsJZGVmYXVsdCB5Cj4gPiArCWhlbHAKPiA+ICsJICBUaGlz IG9wdGlvbiBlbmFibGVzIHN1cHBvcnQgZm9yIHRoZSBib2FyZCB1c2luZyB0aGUgc3RhbmRhcmQK PiA+ICsJICBBVEFHcyBib290IHByb3RvY29sLgo+ID4gKwo+ID4gKwkgIElmIHlvdXIgYm9vdGxv YWRlciBzdXBwb3J0cyBGRFQtYmFzZWQgYm9vdGluZyBhbmQgeW91IGRvIG5vdAo+ID4gKwkgIGlu dGVuZCBldmVyIHRvIGJvb3QgdmlhIHRoZSB0cmFkaXRpb25hbCBBVEFHcyBtZXRob2QsIHlvdSBj YW4gc2F5Cj4gPiArCSAgTiBoZXJlLgo+ID4gKwo+ID4gK2NvbmZpZyBBUkNIX1ZFWFBSRVNTX0RU Cj4gPiArCWJvb2wgIkJvb3QgdmlhIERldmljZSBUcmVlIgo+ID4gKwlzZWxlY3QgVVNFX09GCj4g PiArCWhlbHAKPiA+ICsJICBUaGlzIG9wdGlvbiBlbmFibGVzIHN1cHBvcnQgZm9yIHRoZSBib2Fy ZCwgYW5kIGVuYWJsZXMgYm9vdGluZwo+ID4gKwkgIHZpYSBhIEZsYXR0ZW5lZCBEZXZpY2UgVHJl ZSBwcm92aWRlZCBieSB0aGUgYm9vdGxvYWRlci4KPiA+ICsKPiA+ICsJICBJZiB5b3VyIGJvb3Rs b2FkZXIgc3VwcG9ydHMgRkRULWJhc2VkIGJvb3RpbmcsIHlvdSBjYW4gc2F5IFkKPiA+ICsJICBo ZXJlLCBvdGhlcndpc2UsIHNheSBOLgo+ID4gKwo+ID4gKwo+ID4gKyMgQ29yZSBUaWxlIHN1cHBv cnQgb3B0aW9ucwo+ID4gKwo+ID4gK2NvbW1lbnQgIkF0IGxlYXN0IG9uZSBjb3JlIHRpbGUgbXVz dCBiZSBzZWxlY3RlZCIKPiA+ICsKPiA+ICBjb25maWcgQVJDSF9WRVhQUkVTU19DQTlYNAo+ID4g LQlib29sICJWZXJzYXRpbGUgRXhwcmVzcyBDb3J0ZXgtQTl4NCB0aWxlIgo+ID4gKwlib29sICJW ZXJzYXRpbGUgRXhwcmVzcyBDb3J0ZXgtQTl4NCBDb3JlIFRpbGUiCj4gPiArCWRlZmF1bHQgeQo+ ID4gIAlzZWxlY3QgQ1BVX1Y3Cj4gPiAgCXNlbGVjdCBBUk1fR0lDCj4gPiAgCXNlbGVjdCBBUk1f RVJSQVRBXzcyMDc4OQo+ID4gIAlzZWxlY3QgQVJNX0VSUkFUQV83NTE0NzIKPiA+ICAJc2VsZWN0 IEFSTV9FUlJBVEFfNzUzOTcwCj4gPiArCWhlbHAKPiA+ICsJICBJbmNsdWRlIHN1cHBvcnQgZm9y IHRoZSBDb3J0ZXgtQTl4NCBDb3JlIFRpbGUgKEhCSS0wMTkxQikuCj4gPiArCj4gPiArCSAgSWYg dW5zdXJlLCBzYXkgWS4KPiA+ICAKPiA+ICBlbmRtZW51Cj4gPiBkaWZmIC0tZ2l0IGEvYXJjaC9h cm0vbWFjaC12ZXhwcmVzcy9jdC1jYTl4NC5jIGIvYXJjaC9hcm0vbWFjaC12ZXhwcmVzcy9jdC1j YTl4NC5jCj4gPiBpbmRleCBiZmQzMmY1Li5lMmZlMmM5IDEwMDY0NAo+ID4gLS0tIGEvYXJjaC9h cm0vbWFjaC12ZXhwcmVzcy9jdC1jYTl4NC5jCj4gPiArKysgYi9hcmNoL2FybS9tYWNoLXZleHBy ZXNzL2N0LWNhOXg0LmMKPiA+IEBAIC05LDYgKzksNyBAQAo+ID4gICNpbmNsdWRlIDxsaW51eC9h bWJhL2J1cy5oPgo+ID4gICNpbmNsdWRlIDxsaW51eC9hbWJhL2NsY2QuaD4KPiA+ICAjaW5jbHVk ZSA8bGludXgvY2xrZGV2Lmg+Cj4gPiArI2luY2x1ZGUgPGxpbnV4L2lycWRvbWFpbi5oPgo+ID4g IAo+ID4gICNpbmNsdWRlIDxhc20vaGFyZHdhcmUvYXJtX3RpbWVyLmg+Cj4gPiAgI2luY2x1ZGUg PGFzbS9oYXJkd2FyZS9jYWNoZS1sMngwLmg+Cj4gPiBAQCAtNTksMTAgKzYwLDE2IEBAIHN0YXRp YyB2b2lkIF9faW5pdCBjdF9jYTl4NF9tYXBfaW8odm9pZCkKPiA+ICAJaW90YWJsZV9pbml0KGN0 X2NhOXg0X2lvX2Rlc2MsIEFSUkFZX1NJWkUoY3RfY2E5eDRfaW9fZGVzYykpOwo+ID4gIH0KPiA+ ICAKPiA+ICtzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBnaWNfb2ZfbWF0Y2hbXSBf X2luaXRjb25zdCA9IHsKPiA+ICsJeyAuY29tcGF0aWJsZSA9ICJhcm0sY29ydGV4LWE5LWdpYyIs IH0sCj4gPiArCXt9Cj4gPiArfTsKPiA+ICsKPiA+ICBzdGF0aWMgdm9pZCBfX2luaXQgY3RfY2E5 eDRfaW5pdF9pcnEodm9pZCkKPiA+ICB7Cj4gPiAgCWdpY19pbml0KDAsIDI5LCBNTUlPX1AyVihB OV9NUENPUkVfR0lDX0RJU1QpLAo+ID4gIAkJIE1NSU9fUDJWKEE5X01QQ09SRV9HSUNfQ1BVKSk7 Cj4gPiArCWlycV9kb21haW5fZ2VuZXJhdGVfc2ltcGxlKGdpY19vZl9tYXRjaCwgQTlfTVBDT1JF X0dJQ19ESVNULCAwKTsKPiA+ICB9Cj4gPiAgCj4gPiAgI2lmIDAKPiA+IGRpZmYgLS1naXQgYS9h cmNoL2FybS9tYWNoLXZleHByZXNzL3YybS5jIGIvYXJjaC9hcm0vbWFjaC12ZXhwcmVzcy92Mm0u Ywo+ID4gaW5kZXggOWU2YjkzYi4uNmRlZmNlNiAxMDA2NDQKPiA+IC0tLSBhL2FyY2gvYXJtL21h Y2gtdmV4cHJlc3MvdjJtLmMKPiA+ICsrKyBiL2FyY2gvYXJtL21hY2gtdmV4cHJlc3MvdjJtLmMK PiA+IEBAIC02LDYgKzYsOCBAQAo+ID4gICNpbmNsdWRlIDxsaW51eC9hbWJhL21tY2kuaD4KPiA+ ICAjaW5jbHVkZSA8bGludXgvaW8uaD4KPiA+ICAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgo+ID4g KyNpbmNsdWRlIDxsaW51eC9vZl9pcnEuaD4KPiA+ICsjaW5jbHVkZSA8bGludXgvb2ZfcGxhdGZv cm0uaD4KPiA+ICAjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+Cj4gPiAgI2luY2x1 ZGUgPGxpbnV4L2F0YV9wbGF0Zm9ybS5oPgo+ID4gICNpbmNsdWRlIDxsaW51eC9zbXNjOTExeC5o Pgo+ID4gQEAgLTExOCw3ICsxMjAsNyBAQCBpbnQgdjJtX2NmZ19yZWFkKHUzMiBkZXZmbiwgdTMy ICpkYXRhKQo+ID4gIAlyZXR1cm4gISEodmFsICYgU1lTX0NGR19FUlIpOwo+ID4gIH0KPiA+ICAK PiA+IC0KPiA+ICsjaWZkZWYgQ09ORklHX0FSQ0hfVkVYUFJFU1NfQVRBR1MKPiA+ICBzdGF0aWMg c3RydWN0IHJlc291cmNlIHYybV9wY2llX2kyY19yZXNvdXJjZSA9IHsKPiA+ICAJLnN0YXJ0CT0g VjJNX1NFUklBTF9CVVNfUENJLAo+ID4gIAkuZW5kCT0gVjJNX1NFUklBTF9CVVNfUENJICsgU1pf NEsgLSAxLAo+ID4gQEAgLTIwMCw2ICsyMDIsNyBAQCBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2Rl dmljZSB2Mm1fdXNiX2RldmljZSA9IHsKPiA+ICAJLm51bV9yZXNvdXJjZXMJPSBBUlJBWV9TSVpF KHYybV91c2JfcmVzb3VyY2VzKSwKPiA+ICAJLmRldi5wbGF0Zm9ybV9kYXRhID0gJnYybV91c2Jf Y29uZmlnLAo+ID4gIH07Cj4gPiArI2VuZGlmIC8qIENPTkZJR19BUkNIX1ZFWFBSRVNTX0FUQUdT ICovCj4gPiAgCj4gPiAgc3RhdGljIHZvaWQgdjJtX2ZsYXNoX3NldF92cHAoc3RydWN0IHBsYXRm b3JtX2RldmljZSAqcGRldiwgaW50IG9uKQo+ID4gIHsKPiA+IEBAIC0yMTEsNiArMjE0LDcgQEAg c3RhdGljIHN0cnVjdCBwaHlzbWFwX2ZsYXNoX2RhdGEgdjJtX2ZsYXNoX2RhdGEgPSB7Cj4gPiAg CS5zZXRfdnBwCT0gdjJtX2ZsYXNoX3NldF92cHAsCj4gPiAgfTsKPiA+ICAKPiA+ICsjaWZkZWYg Q09ORklHX0FSQ0hfVkVYUFJFU1NfQVRBR1MKPiA+ICBzdGF0aWMgc3RydWN0IHJlc291cmNlIHYy bV9mbGFzaF9yZXNvdXJjZXNbXSA9IHsKPiA+ICAJewo+ID4gIAkJLnN0YXJ0CT0gVjJNX05PUjAs Cj4gPiBAQCAtMjU0LDYgKzI1OCw3IEBAIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHYy bV9jZl9kZXZpY2UgPSB7Cj4gPiAgCS5udW1fcmVzb3VyY2VzCT0gQVJSQVlfU0laRSh2Mm1fcGF0 YV9yZXNvdXJjZXMpLAo+ID4gIAkuZGV2LnBsYXRmb3JtX2RhdGEgPSAmdjJtX3BhdGFfZGF0YSwK PiA+ICB9Owo+ID4gKyNlbmRpZiAvKiBDT05GSUdfQVJDSF9WRVhQUkVTU19BVEFHUyAqLwo+ID4g IAo+ID4gIHN0YXRpYyB1bnNpZ25lZCBpbnQgdjJtX21tY2lfc3RhdHVzKHN0cnVjdCBkZXZpY2Ug KmRldikKPiA+ICB7Cj4gPiBAQCAtMjY1LDYgKzI3MCw3IEBAIHN0YXRpYyBzdHJ1Y3QgbW1jaV9w bGF0Zm9ybV9kYXRhIHYybV9tbWNpX2RhdGEgPSB7Cj4gPiAgCS5zdGF0dXMJCT0gdjJtX21tY2lf c3RhdHVzLAo+ID4gIH07Cj4gPiAgCj4gPiArI2lmZGVmIENPTkZJR19BUkNIX1ZFWFBSRVNTX0FU QUdTCj4gPiAgc3RhdGljIEFNQkFfREVWSUNFKGFhY2ksICAibWI6YWFjaSIsICBWMk1fQUFDSSwg TlVMTCk7Cj4gPiAgc3RhdGljIEFNQkFfREVWSUNFKG1tY2ksICAibWI6bW1jaSIsICBWMk1fTU1D SSwgJnYybV9tbWNpX2RhdGEpOwo+ID4gIHN0YXRpYyBBTUJBX0RFVklDRShrbWkwLCAgIm1iOmtt aTAiLCAgVjJNX0tNSTAsIE5VTEwpOwo+ID4gQEAgLTI4OCw2ICsyOTQsNyBAQCBzdGF0aWMgc3Ry dWN0IGFtYmFfZGV2aWNlICp2Mm1fYW1iYV9kZXZzW10gX19pbml0ZGF0YSA9IHsKPiA+ICAJJndk dF9kZXZpY2UsCj4gPiAgCSZydGNfZGV2aWNlLAo+ID4gIH07Cj4gPiArI2VuZGlmIC8qIENPTkZJ R19BUkNIX1ZFWFBSRVNTX0FUQUdTICovCj4gPiAgCj4gPiAgCj4gPiAgc3RhdGljIGxvbmcgdjJt X29zY19yb3VuZChzdHJ1Y3QgY2xrICpjbGssIHVuc2lnbmVkIGxvbmcgcmF0ZSkKPiA+IEBAIC00 MTUsNiArNDIyLDggQEAgc3RhdGljIHZvaWQgX19pbml0IHYybV9pbml0X2lycSh2b2lkKQo+ID4g IAljdF9kZXNjLT5pbml0X2lycSgpOwo+ID4gIH0KPiA+ICAKPiA+ICsKPiA+ICsjaWZkZWYgQ09O RklHX0FSQ0hfVkVYUFJFU1NfQVRBR1MKPiA+ICBzdGF0aWMgdm9pZCBfX2luaXQgdjJtX2luaXQo dm9pZCkKPiA+ICB7Cj4gPiAgCWludCBpOwo+ID4gQEAgLTQ0MywzICs0NTIsNDYgQEAgTUFDSElO RV9TVEFSVChWRVhQUkVTUywgIkFSTS1WZXJzYXRpbGUgRXhwcmVzcyIpCj4gPiAgCS50aW1lcgkJ PSAmdjJtX3RpbWVyLAo+ID4gIAkuaW5pdF9tYWNoaW5lCT0gdjJtX2luaXQsCj4gPiAgTUFDSElO RV9FTkQKPiA+ICsjZW5kaWYgLyogQ09ORklHX0FSQ0hfVkVYUFJFU1NfQVRBR1MgKi8KPiA+ICsK PiA+ICsjaWZkZWYgQ09ORklHX0FSQ0hfVkVYUFJFU1NfRFQKPiA+ICtzdHJ1Y3Qgb2ZfZGV2X2F1 eGRhdGEgdjJtX2R0X2F1eGRhdGFfbG9va3VwW10gX19pbml0ZGF0YSA9IHsKPiA+ICsJT0ZfREVW X0FVWERBVEEoImFybSx2ZXhwcmVzcy1mbGFzaCIsIFYyTV9OT1IwLCAicGh5c21hcC1mbGFzaCIs ICZ2Mm1fZmxhc2hfZGF0YSksCj4gPiArCU9GX0RFVl9BVVhEQVRBKCJhcm0scHJpbWVjZWxsIiwg VjJNX0FBQ0ksICJtYjphYWNpIiwgTlVMTCksCj4gPiArCU9GX0RFVl9BVVhEQVRBKCJhcm0scHJp bWVjZWxsIiwgVjJNX1dEVCwgIm1iOndkdCIsIE5VTEwpLAo+ID4gKwlPRl9ERVZfQVVYREFUQSgi YXJtLHByaW1lY2VsbCIsIFYyTV9NTUNJLCAibWI6bW1jaSIsICZ2Mm1fbW1jaV9kYXRhKSwKPiA+ ICsJT0ZfREVWX0FVWERBVEEoImFybSxwcmltZWNlbGwiLCBWMk1fS01JMCwgIm1iOmttaTAiLCBO VUxMKSwKPiA+ICsJT0ZfREVWX0FVWERBVEEoImFybSxwcmltZWNlbGwiLCBWMk1fS01JMSwgIm1i OmttaTEiLCBOVUxMKSwKPiA+ICsJT0ZfREVWX0FVWERBVEEoImFybSxwcmltZWNlbGwiLCBWMk1f VUFSVDAsICJtYjp1YXJ0MCIsIE5VTEwpLAo+ID4gKwlPRl9ERVZfQVVYREFUQSgiYXJtLHByaW1l Y2VsbCIsIFYyTV9VQVJUMSwgIm1iOnVhcnQxIiwgTlVMTCksCj4gPiArCU9GX0RFVl9BVVhEQVRB KCJhcm0scHJpbWVjZWxsIiwgVjJNX1VBUlQyLCAibWI6dWFydDIiLCBOVUxMKSwKPiA+ICsJT0Zf REVWX0FVWERBVEEoImFybSxwcmltZWNlbGwiLCBWMk1fVUFSVDMsICJtYjp1YXJ0MyIsIE5VTEwp LAo+ID4gKwlPRl9ERVZfQVVYREFUQSgiYXJtLHByaW1lY2VsbCIsIFYyTV9SVEMsICJtYjpydGMi LCBOVUxMKSwKPiA+ICsJe30KPiA+ICt9Owo+ID4gKwo+ID4gK3N0YXRpYyB2b2lkIF9faW5pdCB2 Mm1fZHRfaW5pdCh2b2lkKQo+ID4gK3sKPiA+ICsJb2ZfcGxhdGZvcm1fcG9wdWxhdGUoTlVMTCwg b2ZfZGVmYXVsdF9idXNfbWF0Y2hfdGFibGUsCj4gPiArCQkJICAgICB2Mm1fZHRfYXV4ZGF0YV9s b29rdXAsIE5VTEwpOwo+ID4gKwo+ID4gKwlwbV9wb3dlcl9vZmYgPSB2Mm1fcG93ZXJfb2ZmOwo+ ID4gKwlhcm1fcG1fcmVzdGFydCA9IHYybV9yZXN0YXJ0Owo+ID4gKwo+ID4gKwljdF9kZXNjLT5p bml0X3RpbGUoKTsKPiA+ICt9Cj4gPiArCj4gPiArc3RhdGljIGNvbnN0IGNoYXIgKnYybV9kdF9t YXRjaFtdIF9faW5pdGNvbnN0ID0gewo+ID4gKwkiYXJtLHZleHByZXNzIiwKPiA+ICsJTlVMTCwK PiA+ICt9Owo+ID4gKwo+ID4gK0RUX01BQ0hJTkVfU1RBUlQoVkVYUFJFU1NfRFQsICJBUk0gVmVy c2F0aWxlIEV4cHJlc3MiKQo+ID4gKwkubWFwX2lvCQk9IHYybV9tYXBfaW8sCj4gPiArCS5pbml0 X2Vhcmx5CT0gdjJtX2luaXRfZWFybHksCj4gPiArCS5pbml0X2lycQk9IHYybV9pbml0X2lycSwK PiA+ICsJLnRpbWVyCQk9ICZ2Mm1fdGltZXIsCj4gPiArCS5pbml0X21hY2hpbmUJPSB2Mm1fZHRf aW5pdCwKPiA+ICsJLmR0X2NvbXBhdAk9IHYybV9kdF9tYXRjaCwKPiA+ICtNQUNISU5FX0VORAo+ ID4gKyNlbmRpZiAvKiBDT05GSUdfQVJDSF9WRVhQUkVTU19EVCAqLwo+IAo+IEFsbCB0aGUgaWZk ZWZzIGFyZSByZWFsbHkgdWdseS4gTW9zdCBwZW9wbGUgYXJlIGNyZWF0aW5nIG5ldyBib2FyZF9k dC5jCj4gZmlsZSBhbmQgY29weWluZyBvdmVyIHBpZWNlcyB0aGV5IG5lZWQuIE9uY2UgRFQgc3Vw cG9ydCBpcyBvbiBwYXIgd2l0aAo+IHRoZSBvbGQgZmlsZSwgdGhlIG9sZCBmaWxlIGNhbiBiZSBk ZWxldGVkLgoKV291bGQgeW91IGV4cGVjdCB0aGUgY29tbW9uIGNvZGUgYmV0d2VlbiB0aGUgRFQg YW5kIG5vbi1EVCBib2FyZHMgdG8KZHdpbmRsZSBhd2F5IHRvIG5vdGhpbmcgb3ZlciB0aW1lPyAg SSB3YXNuJ3Qgc3VyZSB3aGV0aGVyIHdlIHdvdWxkCmdldCB0aGF0IGZhci4KCkFncmVlZCByZWdh cmRpbmcgdGhlIGlmZGVmcyAtLSBidXQgSSB0aG91Z2h0IGl0IHdvdWxkIGJlIGJldHRlciB0byBk bwp0aGlzIHJlZmFjdG9yaW5nIGluIGEgc2VwYXJhdGUgcGF0Y2ggd2hpY2ggX29ubHlfIGRvZXMg dGhlIHJlZmFjdG9yaW5nLApvbmNlIHRoZSBmdW5jdGlvbmFsIGNoYW5nZXMgYXJlIGFncmVlZC4K ClRoYXQgd2F5IHRoZSBhY3R1YWwgZnVuY3Rpb25hbCBjaGFuZ2VzIHdpbGwgYmUgY2xlYXIgaW4g dGhlIGhpc3RvcnkuCklmIEkgdHJ5IHRvIHJlZmFjdG9yIGl0IGFoZWFkIG9mIHRpbWUsIEkgd2ls bCBwcm9iYWJseSBtaXNzIHNvbWUKYml0cyBvZiBmYWN0b3Jpbmcgd2hpY2ggdHVybiBvdXQgdG8g YmUgbmVjZXNzYXJ5IGxhdGVyLCByZXN1bHRpbmcKaW4gZXh0cmEgY2h1cm4uCgoKSWYgdGhpcyBy b3VuZCBvZiByZXZpZXcgcHJvZHVjZXMgc29tZXRoaW5nIHdoaWNoIGZlZWxzIGxpa2VseSB0byBi ZQpjbG9zZSB0byB0aGUgZmluYWwgZm9ybSwgSSBjb3VsZCBwcm9wb3NlIGEgcmVmYWN0b3Jpbmcg cGF0Y2ggdG8gZ28Kb24gdG9wIG9mIGl0LCBidXQgSSdtIHdhcnkgb2YgZG9pbmcgdGhpcyBwcmVt YXR1cmVseS4KCkNoZWVycwotLS1EYXZlCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCmRldmljZXRyZWUtZGlzY3VzcyBtYWlsaW5nIGxpc3QKZGV2aWNldHJl ZS1kaXNjdXNzQGxpc3RzLm96bGFicy5vcmcKaHR0cHM6Ly9saXN0cy5vemxhYnMub3JnL2xpc3Rp bmZvL2RldmljZXRyZWUtZGlzY3Vzcwo=