VGhlIGludGVyZmFjZSBpcyBkaWZmZXJlbnRpYWwsIHNvIGl0IHNob3VsZCBiZSBqdXN0IGZpbmU/ CgotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQpGcm9tOiBwaWNsaXN0LWJvdW5jZXNAbWl0LmVk dSBbbWFpbHRvOnBpY2xpc3QtYm91bmNlc0BtaXQuZWR1XSBPbiBCZWhhbGYgT2YgQWxsZW4gTXVs dmV5ClNlbnQ6IFR1ZXNkYXksIEphbnVhcnkgMjAsIDIwMTUgNzoxNiBBTQpUbzogJ01pY3JvY29u dHJvbGxlciBkaXNjdXNzaW9uIGxpc3QgLSBQdWJsaWMuJwpTdWJqZWN0OiBSRTogW09UXTo6IFRo aW5ncyB0aGF0IG1ha2UgbWUgUkVBTExZIGFwcHJlY2lhdGUgdGhlIFBJQ0xpc3QgLSBleGFtcGxl IG51bWJlciAzMTQsIDE1OSBpbiBhIHNlcmllcy4KCklmIEkgcmVjYWxsIGNvcnJlY3RseSwgeW91 LCBsaWtlIG1lLCBoYXZlIHNldmVyYWwgaW50ZXJuYWwgYW5kIGV2ZW4gbW9yZSBleHRlcm5hbCBk cml2ZXMgYXR0YWNoZWQgdG8geW91ciBjb21wdXRlci4gQXJlIG5vdCBhbGwgb2YgdGhlIGludGVy bmFsIGRyaXZlcyBjb25uZWN0ZWQgdG8gdGhlIHNhbWUgcG93ZXIgc3VwcGx5PyBJdCBkb2Vzbid0 IHNlZW0gdG8gaHVydCB0aGVtLiBXaHkgc2hvdWxkIHRoZXJlIGJlIGFueSBwcm9ibGVtIGRvaW5n IHRoZSBzYW1lIHdpdGggdGhlIGV4dGVybmFsIGRyaXZlcz8KCkFsbGVuCgo+IC0tLS0tT3JpZ2lu YWwgTWVzc2FnZS0tLS0tCj4gRnJvbTogcGljbGlzdC1ib3VuY2VzQG1pdC5lZHUgW21haWx0bzpw aWNsaXN0LWJvdW5jZXNAbWl0LmVkdV0gT24KPiBCZWhhbGYgT2YgUnVzc2VsbE1jCj4gU2VudDog VHVlc2RheSwgSmFudWFyeSAyMCwgMjAxNSA3OjQ1IEFNCj4gVG86IE1pY3JvY29udHJvbGxlciBk aXNjdXNzaW9uIGxpc3QgLSBQdWJsaWMuCj4gU3ViamVjdDogW09UXTo6IFRoaW5ncyB0aGF0IG1h a2UgbWUgUkVBTExZIGFwcHJlY2lhdGUgdGhlIFBJQ0xpc3QgLQo+IGV4YW1wbGUgbnVtYmVyIDMx NCwxNTkgaW4gYSBzZXJpZXMuCj4KPiAqT24gYW5vdGhlciBzaXRlLCBub3Qgc28gdmVyeSBmYXIg ZmFyIGF3YXk6Kgo+Cj4gKlEqOiBEb2VzIGl0IG1ha2Ugc2Vuc2UgdG8gcG93ZXIgbXVsdGlwbGUg MTJWIGRldmljZXMgZnJvbSBvbmUgc2luZ2xlCj4gcG93ZXIgc291cmNlPyBbb24gaG9sZF0KPiA8 aHR0cDovL2VsZWN0cm9uaWNzLnN0YWNrZXhjaGFuZ2UuY29tL3F1ZXN0aW9ucy8xNDk5MzEvZG9l cy1pdC1tYWtlLXNlCj4gbnNlLQo+IHRvLXBvd2VyLW11bHRpcGxlLTEydi1kZXZpY2VzLWZyb20t b25lLXNpbmdsZS1wb3dlci1zb3VyY2U+Cj4gdXAgdm90ZTNkb3duIHZvdGVmYXZvcml0ZQo+IDxo dHRwOi8vZWxlY3Ryb25pY3Muc3RhY2tleGNoYW5nZS5jb20vcXVlc3Rpb25zLzE0OTkzMS9kb2Vz LWl0LW1ha2Utc2UKPiBuc2UtCj4gdG8tcG93ZXItbXVsdGlwbGUtMTJ2LWRldmljZXMtZnJvbS1v bmUtc2luZ2xlLXBvd2VyLXNvdXJjZS8xNDk5MzMjPgo+Cj4gSSBoYXZlIGEgbnVtYmVyIG9mIGRl dmljZXMgKEV4dGVybmFsIGhhcmQgZGlza3MsIHN3aXRjaGVzLCByb3V0ZXIpIG9uCj4gbXkgZGVz ay4gRWFjaCBvbmVzIGNvbWVzIHdpdGggYSBvd24gcG93ZXIgc3VwcGx5LiBUaGlzIGxlYWRzIHRv IGEKPiB3YXN0ZSBvZiBzcGFjZSBhbmQgYSBtZXNzIHdpdGggYWxsIHRoZSBjYWJsZXMuCj4KPiAq RG9lcyBpdCBtYWtlIHNlbnNlIHRvIHBvd2VyIGFsbCBkZXZpY2VzIGZyb20gYSBzaW5nbGUgcG93 ZXIgc291cmNlPyoKPgo+IEkgd291bGQgc2ltcGxlIGJ1eSBhIHBvd2VyIHN1cHBseSB3aGljaCBw cm92aWRlcyBlbm91Z2ggY3VycmVudCB0bwo+IHBvd2VyIGFsbCBkZXZpY2VzIGFuZCB3b3VsZCBj b25uZWN0IGFsbCB0aGUgY2FibGVzIHRvIHRoaXMgc2luZ2xlIHBvd2VyIHN1cHBseS4KPgo+IEFy ZSB0aGVyZSBhbnkgcmlza3MgaW4gZG9pbmcgdGhpcz8gQXJlIHRoZXJlIGltcG9ydGFudCB0aGlu Z3MgdG8gcGF5Cj4gYXR0ZW50aW9uIHRvPwo+Cj4gX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KPgo+ICpCYXlpbmcgY3Jvd2QqCj4gKnB1dCBvbiBob2xkKiBhcyBvZmYtdG9waWMg YnkgTS4uLi4uLiBLLi4uLgo+IDxodHRwOi8vZWxlY3Ryb25pY3Muc3RhY2tleGNoYW5nZS5jb20v dXNlcnMvMTIxMzUvbWljaGFlbC1rYXJhcz4sIFIuLi4uLi4KPiA8aHR0cDovL2VsZWN0cm9uaWNz LnN0YWNrZXhjaGFuZ2UuY29tL3VzZXJzLzI5NzkyL3JpY2FyZG8+LCBELi4uLi4gRy4uLi4uCj4g PGh0dHA6Ly9lbGVjdHJvbmljcy5zdGFja2V4Y2hhbmdlLmNvbS91c2Vycy85MzgvZGFuaWVsLWdy aWxsbz4sIEouLiBELi4uLi4uCj4gPGh0dHA6Ly9lbGVjdHJvbmljcy5zdGFja2V4Y2hhbmdlLmNv bS91c2Vycy8yNDE4Mi9qaW0tZGVhcmRlbj4sIE4uLi4gQS4uLi4uLgo+IDxodHRwOi8vZWxlY3Ry b25pY3Muc3RhY2tleGNoYW5nZS5jb20vdXNlcnMvNzAzNi9uaWNrLWFsZXhlZXY+4pmmIDE1Cj4g aG91cnMgYWdvCj4KPiBUaGlzIHF1ZXN0aW9uIGFwcGVhcnMgdG8gYmUgb2ZmLXRvcGljLiBUaGUg dXNlcnMgd2hvIHZvdGVkIHRvIGNsb3NlCj4gZ2F2ZSB0aGlzIHNwZWNpZmljIHJlYXNvbjoKPgo+ ICAgIC0gIlF1ZXN0aW9ucyBvbiB0aGUgKnVzZSogb2YgZWxlY3Ryb25pYyBkZXZpY2VzIGFyZSBv ZmYtdG9waWMgYXMgdGhpcwo+ICAgIHNpdGUgaXMgaW50ZW5kZWQgc3BlY2lmaWNhbGx5IGZvciBx dWVzdGlvbnMgb24gZWxlY3Ryb25pY3MgKmRlc2lnbiouIiDigJMKPiAgICBNLi4uLi4uIEsuLi4u LCBSLi4uLi4uLCBELi4uLi4gRy4uLi4uLCBKLi4gRC4uLi4uLiwgTi4uLiBBLi4uLi4uCj4KPiBJ ZiB0aGlzIHF1ZXN0aW9uIGNhbiBiZSByZXdvcmRlZCB0byBmaXQgdGhlIHJ1bGVzIGluIHRoZSBo ZWxwIGNlbnRlcgo+IDxodHRwOi8vZWxlY3Ryb25pY3Muc3RhY2tleGNoYW5nZS5jb20vaGVscC9j bG9zZWQtcXVlc3Rpb25zPiwgcGxlYXNlCj4gZWRpdCB0aGUgcXVlc3Rpb24KPiA8aHR0cDovL2Vs ZWN0cm9uaWNzLnN0YWNrZXhjaGFuZ2UuY29tL3Bvc3RzLzE0OTkzMS9lZGl0PiBvciBsZWF2ZSBh Cj4gY29tbWVudC4KPgo+Cj4KPiAqU09NRSBHVVkqCj4gIkkgYW0gY29uc2lkZXJpbmcgZGVzaWdu aW5nIGEgcG93ZXIgc3VwcGx5IHN5c3RlbSB0byByZXBsYWNlIHN0YW5kYXJkCj4gcG93ZXIgc3Vw cGxpZXMgc3VwcGxpZWQgYnkgZXF1aXBtZW50IG1hbnVmYWN0dXJlcnMuIFRoZXJlIGFyZQo+IGFk dmFudGFnZXMgYW5kIGRpc2FkdmFudGFnZXMgaW4gZGVzaWduaW5nIG15IG93biBwb3dlciBzdXBw bHkgc3lzdGVtIHRoaXMgd2F5Lgo+IFdoaWxlIEkgd291bGQgYnV5IHdoYXQgcGFydHMgSSBjYW4g Im9mZiB0aGUgc2hlbGYiIGFzOgo+Cj4gSSBkbyBub3QgaGF2ZSB0cmFuc2Zvcm1lciBsYW1pbmF0 aW9uIHNtZWx0aW5nIGZvcmdpbmcgYW5kIG1hY2hpbmluZwo+IGZhY2lsaXRpZXMsIG5vciBjb3Bw ZXIgbWluaW5nIG5vciBzbWVsdGluZyBvciBldmVuLCBJIHJlZ3JldCB0byBzYXksCj4gd2lyZSBk cmF3aW5nIGZhY2lsaXRpZXMsIGFuZCBoYW1tZXJpbmcgb3V0IHRoZSB3aXJlIGJ5IGhhbmQgaGFz IHByb3Zlbgo+IHRvbyB0aW1lIGNvbnN1bWluZyogYW5kIHdoaWxlIEkgY2FuIHZhcm5pc2ggbXkg YmFyZSBjb3BwZXIgd2l0aCBib2lsZWQKPiBkb3duIG94IGhvb2YgZ29vLCB0aGlzIGlzIGluZmVy aW9yIGluIGRpZWxlY3RyaWMgYW5kIGluc3VsYXRpb24KPiBwcm9wZXJ0aWVzIHRvIHRoYXQgb24g dGhlIHdpcmUgdGhhdCBJIGNhbiBidXkuCj4KPiBJIHdpbGwgcHJvYmFibHkgbm90IGV2ZW4gYnV5 IGxhbWluYXRpb25zIGFuZCB3aXJlIGFuZCBtYWtlIG15IG93bgo+IHRyYW5zZm9ybWVycyBhcyBJ IGZpbmQgSSBjYW5ub3QgcGFjayBhcyBtdWNoIHdpcmUgaW4gYXMgdGhlIGV4cGVydHMKPiBjYW4s IGFuZCBteSBpbnN1bGF0aW5nIHNoZWxsYWMgaXMgbm90IHVwIHRvIHRoZSBjb21tZXJjaWFsIHN0 dWZmLgo+Cj4gSSBjb3VsZCBwZXJoYXBzIG1ha2UgbXkgb3duIGNvbm5lY3RvciBibG9ja3MgYnkg ZHJpbGxpbmcgY29uZHVjdG9yCj4gaG9sZXMgaW4gYnJhc3Mgc3RpcHMgYW5kIHRoZW4gZHJpbGxp bmcgaG9sZXMgYXQgOTAgZGVncmVlcyBhbmQgdGFwcGluZwo+IHRoZW0uIEkgZmluZCB0aGF0IG1h a2luZyBteSBvd24gc2NyZXdzIGZyb20gcm9kIGlzIHZlcnkgZW50ZXJ0YWluaW5nCj4gYnV0IGdl dHRpbmcgdGhlIHRocmVhZCBPRCByaWdodCBvbiB0aGUgbGF0aGUgaXMgYSBiaXQgaGl0IGFuZCBt aXNzIGFuZAo+IHdoZW4gSSB0ZW1wZXIgbXkgdGhyZWFkIGRpZXMgSSB0ZW5kIHRvIG92ZXJkbyBp dCBhbmQgdGhleSBzaGF0dGVyCj4gYWZ0ZXIgSSBoYXZlIG1hZGUgYSBmZXcgc2NyZXdzIG9yIEkg dW5kZXIgdGVtcGVyIGFuZCB0aGV5IGdvIGJsdW50Cj4gYWZ0ZXIgYSBmZXcgc2NyZXdzLiBJIGhh dmUgZ290IHRoZSBjb3BwZXIgb3hpZGUgcmVjdGlmaWVycyBkb3duIHRvCj4gcXVpdGUgYSBmaW5l IGFydCBieSBub3cgYnV0IHRoZSBzaWxpY29uIG9uZXMgSSBjYW4gYnV5IGhhdmUgTVVDSCBsb3dl cgo+IHJldmVyc2UgbGVha2FnZSBhbmQgYXJlIGZhciBtb3JlIGNvbXBhY3QuIEkgaGF2ZSBiZWVu IHdvcmtpbmcgb24KPiBzbWVsdGluZyBteSBvd24gYmVhY2ggc2FuZCBmb3Igc2lsaWNvbiBhbmQg ZHJhd2luZyBjcnlzdGFscyBmcm9tIHRoZQo+IG1lbHQgYXMgSSBuZWVkIHRvIGJlIGFibGUgdG8g bWFrZSBteSBvd24gdHJhbnNpc3RvcnMsIGlmIEkgdW5kZXJzdGFuZAo+IHdoYXQgcGVvcGxlIGFy ZSB0ZWxsaW5nIG1lLCBhbmQgYWxvbmcgdGhlIHdheSBJIG1heSBnZXQgc29sYXIgY2VsbHMKPiB0 aGF0IGFyZSBmYXIgbW9yZSBlZmZpY2llbnQgdGhhbiBteSBwcmVzZW50IGNvcHBlciBveGlkZSBv bmVzLiBJIGFsc28KPiBzdGlsbCBoYXZlbid0IG1hc3RlcmVkIHZvbHRhZ2UgcmVndWxhdGlvbiBh cyB3ZWxsIGFzIEknZCBsaWtlIGJ1dCBieQo+IHVzaW5nIGEgV2VzdG9uIGNlbGwgZm9yIHJlZmVy ZW5jZSBhbmQgYSBtYWduZXRpYyBhbXBsaWZpZXIgdG8gZHJpdmUKPiB0aGUgdHJhbnNmb3JtZXIg YW5kIHVzaW5nIHNvbWUgb2YgbXkgcG9pbnQgY29udGFjdCBjYXJib3J1bmR1bQo+IHRyYW5zaXN0 b3JzIGZvciBsb3cgbGV2ZWwgY29udHJvbCBJJ3ZlIGJlZW4gYWJsZSB0byBnZXQgcmVndWxhdGlv biB3aXRoaW4gYWJvdXQgMTAlLiBPbiBhIGdvb2QgZGF5LCBhbnl3YXkuIE5leHQgSSAuLi4uLi4K Pgo+IENtb24gZ3V5cywgaGF2ZSBhIGJpdCBvZiBmbGV4aWJpbGl0eSAhISEgSGUvU2hlIGNhbm5v dCBidXkgdGhpcyBvZmYKPiB0aGUgc2hlbGYgLyBJdCBIQVMgdG8gYmUgZGVzaWduZWQgYW5kIGJ1 aWx0LiBJdCdzIHByb2JhYmx5IG5vdCBhIGdvb2QKPiBpZGVhIG92ZXJhbGwgQlVUIHdlIGFsbCBs ZWFybiBhIGxpdHRsZSBmcm9tIGl0LiBPciwgd2Ugd291bGQgaWYgd2UnZAo+IGJ1dCBvcGVuIG91 ciBleWVzIGFuZCBtaW5kcy4gV2hhdGV2ZXIuIgo+Cj4KPgo+Cj4gICAgICAgICAgICAgICAgUnVz c2VsbAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+Cj4g KiBIYXQgdGlwIHRvIHRoZSBleGVjcmFibGUgU2FtdWVsIENsZW1lbnMuCj4gLS0KPiBodHRwOi8v d3d3LnBpY2xpc3QuY29tL3RlY2hyZWYvcGljbGlzdCBQSUMvU1ggRkFRICYgbGlzdCBhcmNoaXZl Cj4gVmlldy9jaGFuZ2UgeW91ciBtZW1iZXJzaGlwIG9wdGlvbnMgYXQKPiBodHRwOi8vbWFpbG1h bi5taXQuZWR1L21haWxtYW4vbGlzdGluZm8vcGljbGlzdAoKCi0tCmh0dHA6Ly93d3cucGljbGlz dC5jb20vdGVjaHJlZi9waWNsaXN0IFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hpdmUgVmlldy9jaGFu Z2UgeW91ciBtZW1iZXJzaGlwIG9wdGlvbnMgYXQgaHR0cDovL21haWxtYW4ubWl0LmVkdS9tYWls bWFuL2xpc3RpbmZvL3BpY2xpc3QKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCgpQ TEVBU0UgTk9URTogVGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZCBpbiB0aGlzIGVsZWN0cm9uaWMg bWFpbCBtZXNzYWdlIGlzIGludGVuZGVkIG9ubHkgZm9yIHRoZSB1c2Ugb2YgdGhlIGRlc2lnbmF0 ZWQgcmVjaXBpZW50KHMpIG5hbWVkIGFib3ZlLiBJZiB0aGUgcmVhZGVyIG9mIHRoaXMgbWVzc2Fn ZSBpcyBub3QgdGhlIGludGVuZGVkIHJlY2lwaWVudCwgeW91IGFyZSBoZXJlYnkgbm90aWZpZWQg dGhhdCB5b3UgaGF2ZSByZWNlaXZlZCB0aGlzIG1lc3NhZ2UgaW4gZXJyb3IgYW5kIHRoYXQgYW55 IHJldmlldywgZGlzc2VtaW5hdGlvbiwgZGlzdHJpYnV0aW9uLCBvciBjb3B5aW5nIG9mIHRoaXMg bWVzc2FnZSBpcyBzdHJpY3RseSBwcm9oaWJpdGVkLiBJZiB5b3UgaGF2ZSByZWNlaXZlZCB0aGlz IGNvbW11bmljYXRpb24gaW4gZXJyb3IsIHBsZWFzZSBub3RpZnkgdGhlIHNlbmRlciBieSB0ZWxl cGhvbmUgb3IgZS1tYWlsIChhcyBzaG93biBhYm92ZSkgaW1tZWRpYXRlbHkgYW5kIGRlc3Ryb3kg YW55IGFuZCBhbGwgY29waWVzIG9mIHRoaXMgbWVzc2FnZSBpbiB5b3VyIHBvc3Nlc3Npb24gKHdo ZXRoZXIgaGFyZCBjb3BpZXMgb3IgZWxlY3Ryb25pY2FsbHkgc3RvcmVkIGNvcGllcykuCgoKLS0g Cmh0dHA6Ly93d3cucGljbGlzdC5jb20vdGVjaHJlZi9waWNsaXN0IFBJQy9TWCBGQVEgJiBsaXN0 IGFyY2hpdmUKVmlldy9jaGFuZ2UgeW91ciBtZW1iZXJzaGlwIG9wdGlvbnMgYXQKaHR0cDovL21h aWxtYW4ubWl0LmVkdS9tYWlsbWFuL2xpc3RpbmZvL3BpY2xpc3QK .