SGkgU2VhbiwNCg0KT25lIG9mIG15IGV4cGVyaWVuY2VzIHdhcyBleGFjdGx5IGxpa2UgdGhhdC4g T25seSBhdCB0aGF0IHBvaW50IHRoYXQgSQ0KcmVhbGl6ZWQgdGhhdCB2ZW5kb3JzIGFkdmVydGlz ZWQgUlBTIHdoaWNoIGlzIGEgZGlmZmVyZW50IHRoaW5nLA0KZGVmaW5pdGVseSB0aGV5IGhhbmRs ZSB0aGUgcG93ZXIgc3VwcGx5IGZhaWx1cmUsIHRoZW4gdGhlcmUgaXMgYW5vdGhlcg0KY2F0ZWdv cnkgd2hpY2ggc3RhdGVzIEhvdCBTd2FwIFJQUy4gQXNraW5nIHZlbmRvcnMgdGhlbiBhYm91dCB0 aGUNCmlzc3VlLCBtb3N0IG9mIHRoZW0gc3RhdGVkIHRoYXQgYWxtb3N0IGFsbCBIUyBSUFMgc3Rh dGUgdGhhdCwgbm90IGFsbA0KYXJlIHRydWUgSG90IHN3YXBwYWJsZS4NCg0KSSB3YXMgaW50cmln dWVkIHRob3NlIGRheXMgd2hhdCBjYXVzZWQgdGhlIHNodXRkb3duLCBsaWtlIHdoYXQgeW91DQpz dGF0ZWQuIEluIG15IG1pbmQsYmxhbWVkIHRoZSBwb3dlciBzdXBwbHkgZGVzaWduZXJzLiBZZWFy cyBkb3duIHRoZQ0KbGFuZSwgY2FtZSBhY3Jvc3MgYXJ0aWNsZXMgZnJvbSB2ZW5kb3JzIGFuZCBt YW51ZmFjdHVyZXJzIG9uIHRoZQ0KdG9waWMuDQoNCkFuIGludGVyZXN0aW5nIHJlYWQ6DQpodHRw Oi8vd3d3LnRpLmNvbS9saXQvYW4vc2x2YTY3M2Evc2x2YTY3M2EucGRmDQoNClRoZSBuZXdlciBI UyBwb3dlciBzdXBwbGllcyBkbyBzZWVtIHRvIHdvcmsgYXMgZXhwZWN0ZWQsIHRoZXkgc2VlbSB0 byBoYXZlIHJlYWQ6DQoNCmh0dHBzOi8vcGRmc2Vydi5tYXhpbWludGVncmF0ZWQuY29tL2VuL2Fu L0FONTgwNy5wZGYNCg0KVGFsayBhYm91dCB5b3UgZmVlbGluZyBsaWtlIENoYXJsaWUgLi4gTXkg ZXhwZXJpZW5jZSwgbG9uZyBiYWNrIHdpdGggYQ0Kc2VydmVyIHdpdGggYW4gSW50ZWwgTDQ0MEdY IG1vdGhlcmJvYXJkIGJlaW5nIGJ1aWx0IHdpdGggZXZlcnl0aGluZw0KSG90IHN3YXAuIFdlIHdl bnQgb24gc28gZmFyIGFzIHRvIGdvIGZvciBhIHRydWUgaGFyZHdhcmUgUkFJRCBhZGFwdGVyDQpp bnN0ZWFkIG9mIHRoZSBmaXJtd2FyZSBiYXNlZCBSQUlEIG9uIHRoZSBMNDQwR1guIFRoZSBBZGFw dGVjIGhhZA0KUkFJRDAgZm9yIGhpZ2ggYXZhaWxhYmxpdHksIGNvbmZpZ3VyZWQgd2l0aCBSQUlE IDEgbWlycm9yaW5nLCBmb3IgdGhlDQpoaWdoZXN0IHVwIHRpbWUuIFRoZSBIYXJkIGRpc2tzIHdl cmUgRnVqaXRzdSBVbHRyYSAxNjAgU0NTSSA5R0IgZHJpdmVzDQpvbiBiYXlzIHRoYXQgY291bGQg YmUgZWplY3RlZCBwcmVzc2luZyB0aGUgRWplY3QgYnV0dG9uLiBFdmVyeXRoaW5nDQp3YXMgcnVu bmluZyBwZXJmZWN0IHdpdGggYWJvdXQgOCB1c2VycyBvbiB0aGUgbmV0d29yaywgdGhlIHNlcnZl cg0KcnVubmluZyBpcGNoYWlucyBhbmQgaGFkIGEgRE1aLiBXZSB3ZXJlIGhhcHB5IHRoYXQgZXZl cnl0aGluZyB3ZSBoYWQsDQpoYWQgUmVkdW5kYW50IG1hcmtlZCBvbiBpdC4gQWZ0ZXIgYnVpbGRp bmcgZXZlcnl0aGluZyB0aGUgZWplY3QNCmJ1dHRvbnMgZGlkIGxvb2sgY3V0ZSBlbm91Z2guIEl0 IGRpZCB3YW50IHNvbWUgYWN0aW9uLCBmb3IgbGl2ZSBlamVjdC4NCkFueXdheSwgd2hhdCBjb3Vs ZCBnbyB3cm9uZywgcmlnaHQgPyBQcmVzc2VkIHRoZSBidXR0b24sIHRoZSBIREQNCnNtb290aGx5 IGVqZWN0ZWQuDQoNCkJ1dCB0aGUgc3lzdGVtIGZyb3plLiBSZWJvb3RpbmcgdGhlIHN5c3RlbSBh ZnRlciB0aGF0LCBpdCBoYWQgYSBMaW51eA0KZXh0MiBmaWxlc3lzdGVtLiBUaGUgZmlsZXN5c3Rl bSBnb3QgY29ycnVwdGVkIHRvbywgZnNjayBhdCBib290IHRpbWUNCndlcHQgdmVyeSBiYWRseSBj aXRpbmcgbWFueSBtaXNzaW5nIGVudHJpZXMuIFRoZSBlbnRpcmUgaW5zdGFsbGF0aW9uDQpwcm9j ZXNzIGhhZCB0byBiZSByZWRvbmUuIFNvIG11Y2ggZm9yIHRoZSBob3Qgc3dhcCBidXR0b24hIFdv bmRlcmVkLA0Kd2hvIGRlc2lnbmVkIHN1Y2ggSG90IHN3YXAgaGFyZHdhcmUuIEkgZ3Vlc3MgdGhv c2UgZGF5cywgaXQgd2FzIGFsbA0KYWJvdXQgcHVyZSB0ZXJtaW5vbG9neSBnb2luZyBhcm91bmQg YXMgaW4gbWFya2V0aW5nIG9mIHRoZQ0KdGVybWlub2xvZ3ksIHJhdGhlciB0aGFuIHRoZSB0cnVl IGFjdGlvbiBvZiB0aGUgcHJvcGVydGllcyBvZiB0aGUNCnRlcm1pbm9sb2d5Lg0KDQpDaGVlcnMs DQoNCk1hbnUNCg0KDQpPbiBXZWQsIE5vdiAxNCwgMjAxOCBhdCAzOjUzIEFNIFNlYW4gQnJlaGVu eSA8c2hiN0Bjb3JuZWxsLmVkdT4gd3JvdGU6DQo+DQo+IFJlZ2FyZGluZyBob3Qgc3dhcCBwb3dl ciBzdXBwbGllcy4gSSB3YXMgb25jZSBpbiBhIHNlcnZlciByb29tIGF0IHdvcmsNCj4gYmVjYXVz ZSBJIGhhZCB0byBoZWxwIHNwZWMgb3V0IHBvd2VyIGRyb3BzIGFuZCB3aXJpbmcgZm9yIHNvbWUg c2VydmVycyBhbmQNCj4gVVBTZXMuIEkgaGFkIG5vdGhpbmcgdG8gZG8gd2l0aCB0aGUgc29mdHdh cmUgc2lkZSBvZiB0aGUgc2VydmVyIG9wZXJhdGlvbi4NCj4NCj4gSSBuZWVkZWQgdG8gZ2V0IHRo ZSBtb2RlbCBudW1iZXIgb2ZmIHRoZSBsYWJlbCBvbiBvbmUgb2YgdGhlIHR3byByZWR1bmRhbnQN Cj4gc3VwcGxpZXMgaW4gdGhpcyBydW5uaW5nIHNlcnZlci4gVGhlIGxhYmVsIGNvdWxkIG9ubHkg YmUgc2VlbiBpZiB0aGUgc3VwcGx5DQo+IHdhcyBvdXRzaWRlIG9mIHRoZSBzZXJ2ZXIgY2hhc3Np cy4gSSBmaWd1cmVkIHRoYXQgc2luY2UgaXQgd2FzIHJlZHVuZGFudCBJDQo+IGNvdWxkIHB1bGwg aXQgb3V0IHdoaWxlIHRoZSBzZXJ2ZXIgd2FzIHJ1bm5pbmcuDQo+DQo+IFN1cmUgZW5vdWdoLCBJ IHB1bGxlZCBpdCBvdXQgYW5kIHRoZSBzZXJ2ZXIga2VwdCBydW5uaW5nIC0gdGhlIG9ubHkgY2hh bmdlDQo+IGJlaW5nIHRoYXQgdGhlIGZhbiBzcGVlZCBvbiB0aGUgcmVtYWluaW5nIHN1cHBseSBp bmNyZWFzZWQgc2luY2UgaXQgaGFkIHRvDQo+IGhhbmRsZSB0aGUgZW50aXJlIGxvYWQgYnkgaXRz ZWxmLg0KPg0KPiBJIGNvcGllZCB0aGUgbW9kZWwgbnVtYmVyIGFuZCBwdXQgdGhlIHBvd2VyIHN1 cHBseSBiYWNrIGluLiBBcyBzb29uIGFzIGl0DQo+IG1hZGUgZnVsbCBjb250YWN0IHdpdGggdGhl IGJhY2twbGFuZSwgSSBoZWFyZCB0aGUgbG91ZCBzbmFwIG9mIGEgaGlnaA0KPiBjdXJyZW50IGFy YyAocHJlc3VtYWJseSB0aGUgd29ya2luZyBwb3dlciBzdXBwbHkgc3VkZGVubHkgY2hhcmdpbmcg dGhlDQo+IG91dHB1dCBjYXBzIG9uIHRoZSBwcyB0aGF0IEkgd2FzIHBsdWdnaW5nLWluKSBhbmQg dGhlIHN0YXR1cyBMRUQgb24gdGhlDQo+IHdvcmtpbmcgc3VwcGx5IHdlbnQgaW50byB0aGUgcmVk IGZhdWx0ZWQgY29uZGl0aW9uIGFuZCB0aGUgc2VydmVyIHNodXQNCj4gZG93bi4gSXQgcHJvbXB0 bHkgcmVib290ZWQgYW5kIGJvdGggc3VwcGxpZXMgd2VyZSBub3cgd29ya2luZyBhZ2Fpbi4NCj4N Cj4gSSBxdWlldGx5IGxlZnQgdGhlIHJvb20gYW5kIGNsb3NlZCB0aGUgZG9vciwgZmVlbGluZyBs aWtlIENoYXJsaWUgQ2hhcGxhaW4NCj4gaW4gdGhlIHNjZW5lIHdoZXJlIGhlIGdldHMgYSBqb2Ig YXQgYSBzaGlweWFyZCBhbmQgcmVtb3ZlcyB0aGUgYmxvY2sgb2YNCj4gd29vZCB3aGljaCB3YXMg cHJldmVudGluZyB0aGUgaW5jb21wbGV0ZSBzaGlwIGZyb20gc2xpZGluZyBkb3duIGludG8gdGhl DQo+IHdhdGVyLg0KPg0KPiBUaGUgbW9yYWwgb2YgdGhlIHN0b3J5IGlzIHRoYXQgdGhlc2Ugc3Vw cGxpZXMgZG8gaGFuZGxlIHRoZSBzaXR1YXRpb24gd2hlcmUNCj4gYSBzdXBwbHkgaXMgcmVtb3Zl ZCBvciBmYWlscyBvcGVuLCBidXQgbm90IG5lY2Vzc2FyaWx5IHRydWUgaG90IHN3YXAuDQo+DQo+ DQo+IE9uIFR1ZSwgTm92IDEzLCAyMDE4LCAzOjU1IEFNIE1hbnUgQWJyYWhhbSA8YWJyYWhhbS5t YW51QGdtYWlsLmNvbT4gd3JvdGU6DQo+DQo+ID4gVGhhdCdzIG5vIGJhdHRlcnkgY2hhcmdlci4g VGhhdCdzIGEgc3RhbmRhcmQgU01QUyBvZiBhIFJlZHVuZGFudCBQb3dlcg0KPiA+IFN1cHBseSBj bGFzcyBjb21tb25seSBmb3VuZCBpbiBzZXJ2ZXJzIHdpdGggdGhlIEJhY2twbGFuZSBjbGFzcyBv cg0KPiA+IHRlbGVjb21tdW5pY2F0aW9uL25ldHdvcmsgZXF1aXBtZW50LiBUaGUgQ0FOIGJ1cyBp cyBzaW1wbHkgbWVhbnQgdG8NCj4gPiBtb25pdG9yL2ZpbmUgdHdlYWsgdGhlIFBXTSBvdXRwdXQu IEkgZG91YnQgeW91IHdpbGwgYmUgYWJsZSB0byB2YXJ5DQo+ID4gbXVjaCBvdXRwdXQgZXhjZXB0 IGZvciBhIGZldyB2b2x0cy4gTG9va2VkIGF0IHRoZSB0aHJlYWQgdGhhdCB5b3UNCj4gPiBwb3N0 ZWQsIGl0IHN0YXRlcyB0aGF0IHlvdSBjYW4gdmFyeSBhYm91dCAxMFYuIFRoZSBQQ0IgZWRnZSB0 aGF0IHlvdQ0KPiA+IHNlZSBvbiB0aGUgcG93ZXIgc3VwcGx5IG5pY2VseSBnb2VzIGFuZCBzaXRz IGludG8gYSBjYXJkIHNsb3QsIG11Y2gNCj4gPiBsaWtlIGhvdyB5b3UgcHV0IGFkZCBvbiBjYXJk cyBpbnRvIHlvdXIgUEMuDQo+ID4NCj4gPiBMb29raW5nIGZ1cnRoZXIgaW50byB0aGF0IHRocmVh ZCwgaXQgYXBwZWFycyB0aGF0IGl0IGlzIGEgSG90IFN3YXAgUlBTDQo+ID4gY2xhc3MgU01QUy4g QnkgZGVmYXVsdCwgaXQgYXBwZWFycyB0aGF0IHRoZSBvdXRwdXQgaXMgc2V0IHRvIDQ4Vi4gSGF2 ZQ0KPiA+IGEgc2ltaWxhciBSUFMgb24gb25lIG9mIG15IHN0YWNrZWQgbmV0d29yayBzd2l0Y2hl cywgdGhvdWdoIHRoYXQgcG93ZXINCj4gPiBzdXBwbHkgc21hbGxlciBpbiBzaXplIGFuZCBpcyBz bGlnaHRseSBvZiBhIGxvd2VyIHJhdGluZy4gWW91IGNhbiBoYXZlDQo+ID4gMiBwb3dlciBzdXBw bGllcyBvbiB0aGUgc3dpdGNoOiBwdWxsIG9uZSBvZiB0aGVtIHdoaWxlIHRoZSBzd2l0Y2ggaXMN Cj4gPiBzdGlsbCBydW5uaW5nLiBJdCBpcyBtZWFudCBmb3IgdmVyeSBoaWdoIHVwdGltZSBlcXVp cG1lbnQgd2hlcmUgYSBkZWFkDQo+ID4gcG93ZXIgc3VwcGx5IHNob3VsZCBub3QgdGFrZSB0aGUg ZW50aXJlIG5ldHdvcmsgZG93bi4NCj4gPg0KPiA+IENoZWVycywNCj4gPg0KPiA+IE1hbnUNCj4g PiBPbiBNb24sIE5vdiAxMiwgMjAxOCBhdCA0OjAyIFBNIFRvYmlhcyBHb2dvbGluIDx1c2VydG9n b0BnbWFpbC5jb20+IHdyb3RlOg0KPiA+ID4NCj4gPiA+IEhlbGxvIGVzdGltYXRlZCBlbGVjdHJv bmljcyB3aXphcmRzLg0KPiA+ID4gSSBhbSBleHBsb3JpbmcgdG8gdXNlIGEgdmVyeSBjb29sIDNr VyBIdWF3ZWkgUjQ4NTBHMiByZWN0aWZpZXIgYXMgYmFzZQ0KPiA+IGZvcg0KPiA+ID4gYSBxdWlj ayBjaGFyZ2VyIGZvciBteSBlbGVjdHJpYyB0cmlrZS4gUmVncmV0dGFibHkgdGhlIHB1Ymxpc2hl ZCBwZGYNCj4gPiBhYm91dA0KPiA+ID4gaXRzIG9wZXJhdGlvbiBhcmUgbm90IHZlcnkgaW4tZGVw dGggYW5kIEkgYXNzdW1lIGl0IG5lZWRzIHNvbWUgQ0FOIGJ1cw0KPiA+ID4gaGFja2luZyBiZWZv cmUgaXQgZXZlbiByZWxlYXNlcyBpdHMgYXdlc29tZSBwb3dlciEgSSBwdWJsaXNoZWQgaW4gdGhl DQo+ID4gPiB0aHJlYWQgdGhhdCBoZWxwZWQgbWUgdG8gZmluZCB0aGlzIGRldmljZSBpbmNsdWRp bmcgYSBsb29rIGluc2lkZSB0aGUNCj4gPiA+IHJlYWxseSBzb3BoaXN0aWNhdGVkIGRlc2lnbiBv ZiB0aGlzIEFjY2VzcyBQb3dlciBSZWN0aWZpZXIgaGVyZS4NCj4gPiA+IGh0dHBzOi8vZW5kbGVz cy1zcGhlcmUuY29tL2ZvcnVtcy92aWV3dG9waWMucGhwP2Y9MTQmdD04NjAzOA0KPiA+ID4NCj4g PiA+DQo+ID4gPiBJIGFwcHJlY2lhdGUgYW55IGhpbnRzIG9mIGhvdyB0byBwcm9jZWVkLiBJIGtu b3cgdGhlIHVuaXQgaXMgYWxpdmUgYW5kDQo+ID4gPiBib290cyB1cCBhbmQgZXZlbiBwdXRzIGEg c21hbGwgdGVzdCB2b2x0YWdlIG91dCwgYW5kIHRoZSAzIHN0YXR1cyBMRUQNCj4gPiB0ZWxsDQo+ ID4gPiB0aGF0IGl0cyBhbGl2ZSwgYnV0IGl0IG11c3Qgd2FudCBzb21lIGNvbmZpZ3VyYXRpb24g c3RpbGwuIEkgYWxyZWFkeSBnb3QNCj4gPiBhDQo+ID4gPiBNQ1AyNTE1IENBTiBidXMgc2hpZWxk IGFuZCBBcmR1aW5vIHJlYWR5LCBidXQgSSB3b3VsZG4ndCBrbm93IHdoYXQgdG8NCj4gPiA+IGV4 cGVjdCBvciB0cnkgbmV4dC4uLg0KPiA+ID4NCj4gPiA+IFRoYW5rcyBmb3IgeW91ciB0aW1lIQ0K PiA+ID4NCj4gPiA+IC0tDQo+ID4gPiDigJ5KZXR6dCB3YXIgZGVyIEF1Z2VuYmxpY2sgZ2Vrb21t ZW4gd28gd2lyIGRlbmtlbiBtdXNzdGVuLiBEZXIgQXVnZW5ibGljaw0KPiA+IHdvDQo+ID4gPiB3 aXIgYXVmc3ByaW5nZW4gdW5kIGVudHNjaGVpZGVuIG11w590ZW4sIHdlbm4gd2lyIG5pY2h0IGFs bG3DpGhsaWNoIHNvDQo+ID4gPiB2ZXJnaWZ0ZXQgd2VyZGVuIHdvbGx0ZW4sIGRhw58gd2lyIGJs aW5kIGRpZSBQbMOkdHplIGVpbm5haG1lbiwgZGllIHVucyBpbQ0KPiA+ID4gZsO8aHJlcmxvc2Vu IFp1ZyBkZXIgw4RsdGVyZW4gYW5nZWJvdGVuIHd1cmRlbi7igJwNCj4gPiA+IEF1cyBkZW0gZXJz dGVuIEthcGl0ZWwgdm9uICdGYXR1IEhpdmEgLSBadXLDvGNrIHp1ciBOYXR1cicgdm9uIFRob3IN Cj4gPiBIZXllcmRhaGwNCj4gPiA+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0NCj4gPiA+DQo+ID4gPiBUb2JpYXMgR29nb2xpbg0KPiA+ID4gVGVsLiBEMSAoNDkpIDE1MSA2 NjAwIDcwNjYNCj4gPiA+IFRlbC4gRDIgKDQ5KSAyNjcyIDkwNiA5MTkxDQo+ID4gPiBza3lwZTog bW9vbnRvZ28NCj4gPiA+IC0tDQo+ID4gPiBodHRwOi8vd3d3LnBpY2xpc3QuY29tL3RlY2hyZWYv cGljbGlzdCBQSUMvU1ggRkFRICYgbGlzdCBhcmNoaXZlDQo+ID4gPiBWaWV3L2NoYW5nZSB5b3Vy IG1lbWJlcnNoaXAgb3B0aW9ucyBhdA0KPiA+ID4gaHR0cDovL21haWxtYW4ubWl0LmVkdS9tYWls bWFuL2xpc3RpbmZvL3BpY2xpc3QNCj4gPg0KPiA+IC0tDQo+ID4gaHR0cDovL3d3dy5waWNsaXN0 LmNvbS90ZWNocmVmL3BpY2xpc3QgUElDL1NYIEZBUSAmIGxpc3QgYXJjaGl2ZQ0KPiA+IFZpZXcv Y2hhbmdlIHlvdXIgbWVtYmVyc2hpcCBvcHRpb25zIGF0DQo+ID4gaHR0cDovL21haWxtYW4ubWl0 LmVkdS9tYWlsbWFuL2xpc3RpbmZvL3BpY2xpc3QNCj4gPg0KPiAtLQ0KPiBodHRwOi8vd3d3LnBp Y2xpc3QuY29tL3RlY2hyZWYvcGljbGlzdCBQSUMvU1ggRkFRICYgbGlzdCBhcmNoaXZlDQo+IFZp ZXcvY2hhbmdlIHlvdXIgbWVtYmVyc2hpcCBvcHRpb25zIGF0DQo+IGh0dHA6Ly9tYWlsbWFuLm1p dC5lZHUvbWFpbG1hbi9saXN0aW5mby9waWNsaXN0DQoNCi0tDQpodHRwOi8vd3d3LnBpY2xpc3Qu Y29tL3RlY2hyZWYvcGljbGlzdCBQSUMvU1ggRkFRICYgbGlzdCBhcmNoaXZlDQpWaWV3L2NoYW5n ZSB5b3VyIG1lbWJlcnNoaXAgb3B0aW9ucyBhdA0KaHR0cDovL21haWxtYW4ubWl0LmVkdS9tYWls bWFuL2xpc3RpbmZvL3BpY2xpc3QNCg== .