SSBhbSBmcm9tIE1hbGF5c2lhLklmIHlvdSBhcmUgbG9va2luZyBmb3IgZWxlY3Ryb25pY3MgY29t cG9uZW50cyB0aGVyZSBpcyBKYWxhbiBQYXNhci5Gb3IgaGFuZHBob25lcyBhbmQgY29uc3VtZXIg c3R1ZmYgdHJ5IGxvdyB5YXQuIEJvdGggYXJlIGluIEtMLg0KRm9yIHRvdXJpc3Qgc3BvdHMuIERl cGVuZHMgb24gdGhlIGxvY2F0aW9uLiBTb21lIHBsYWNlcyBuZWVkcyBkcml2aW5nLg0KSm9obg0K DQogICAgICBGcm9tOiBSdXNzZWxsTWMgPGFwcHRlY2huekBnbWFpbC5jb20+DQogVG86IE1pY3Jv Y29udHJvbGxlciBkaXNjdXNzaW9uIGxpc3QgLSBQdWJsaWMuIDxwaWNsaXN0QG1pdC5lZHU+DQog U2VudDogV2VkbmVzZGF5LCBNYXJjaCAxNSwgMjAxNyA3OjIzIEFNDQogU3ViamVjdDogUmU6IFtP VF06IHNpbmdhcG9yZSBhbmQga3VhbGEgbHVtcHVyDQoNCk1vcmUgYW5vbiBtYXliZToNCg0KU2lu Z2Fwb3JlDQpEZWVwLWVuZHMgd2hhdCB5b3UgbGlrZQ0KQ29tbWVudHMgYXJlIGJhc2VkIG9uIHdo YXQgSSBsaWtlIGFuZCBJJ2QgZXhwZWN0IHlvdSdkIGxpa2UuDQoNCkVsZWN0cm9uaWNzIC0gU2lt IExpbSBTcXVhcmUNCkdvb2QgZm9yIGNvbXBvbmVudCBsZXZlbCwgbW90aGVyYm9hcmRzLCBwZXJp cGhlcmFscyB1cCB0aHJvdWdoIHdob2xlDQpzeXN0ZW1zLg0KU29tZSBjYW1lcmFzIGV0YyBidXQg Zm9jdXMgb24gY29uc3VtZXIgZ29vZHMgb3IgInN0dWZmIg0KUmVjb21tZW5kZWQgKGJ5IG1lIDot KSApLg0KQmUgd2FyeSBhcyB5b3UgYWx3YXlzIHNob3VsZCBiZSB3aXRoIHNlbGxlcnMuIEkndmUg bmV2ZXIgaGFkIG1hanBvcg0KcHJvYmxlbXMgYnV0IGhhdmUgaGFkIG1pbm9yIG9uZXMgYW5kIHRo ZXJlIGFyZSBzb20gYmFkIHJlcG9ydHMgLSBidXQgbm8NCndvcnNlIHRoYW4gbWFueSBvdGhlciBw bGFjZXMuDQpodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9TaW1fTGltX1NxdWFyZQ0KMSBS b2Nob3IgQ2FuYWwgUm9hZCwgbmVhciBMaXR0bGUgSW5kaWENCjxodHRwczovL2VuLndpa2lwZWRp YS5vcmcvd2lraS9MaXR0bGVfSW5kaWEsX1NpbmdhcG9yZT4gYWNjZXNzaWJsZSB2aWEgTVJUDQo8 aHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvTWFzc19SYXBpZF9UcmFuc2l0XyhTaW5nYXBv cmUpPiBhdCBSb2Nob3INCk1SVCBTdGF0aW9uIDxodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lr aS9Sb2Nob3JfTVJUX1N0YXRpb24+IG9mIERvd250b3duDQpMaW5lIDxodHRwczovL2VuLndpa2lw ZWRpYS5vcmcvd2lraS9Eb3dudG93bl9MaW5lPi4NCg0KWm9vIGlzIHZlcnkgZ29vZC4NCg0KQ2Fy ZWZ1bGx5IG5vdGUgbG9jYXRpb24gb2YgU2VudG9zYSBJc2xhbmQgc28gdGhhdCB5b3UgY2FuIGF2 b2lkIGl0IGxpa2UgdGhlDQpwbGFndWUuDQooUGFydHkgLyBmdW4gLyBlbnRlcnRhaW5tZW50IC8g JCBzdWNraW5nIHBsYWNlLiBHb29kIGZvciBtYXliZSBvbmUgbG9vcCBmb3INCmZ1biBpZiBhbGwg ZWxzZSBleGhhdXN0ZWQpDQoNCkxpdHRsZSBJbmRpYQ0KQ2hpbmEgdG93bg0KQXJhYiBxdWFydGVy Lg0KV2hlbiB0aGUgQnJpc3Rpc2ggZXN0YWJsaXNoZWQgU2luZ2Fwb3JlIHRoZXkgc2V0IHVwIGV0 aG5pYyBhcmVhcyBwb3NpdGlvbmVkDQp3aXRoIHRoZSBhaW0gKEknbSB0b2xkIGFuZCBjYW4gbGFy Z2VseSBiZWxpZXZlKSBvZiBtYXhpbWlzaW5nIGNvbXBldGl0aXZlDQphdHRpdHVkZXMgYW5kIHRl bnNpb25zIC0gZGl2aWRlIGFuZCBjb25xdWVyIGV0IGFsLiBCZSB0aGF0IGFzIGl0IG1heSwNCnNo YWRvd3Mgb2YgdGhlIHBhc3Qgd2l0aCByZWxhdGVkIG5hbWVzIHJlbWFpbiBhbmQgaGF2ZSByZWxl dmFudCBpbnRlcmVzdHMuDQoNCkFyYWIgcXVhcnRlciBvciBBcmFiIFN0cmVldCAgLSBvbmUgdmlz aXQgb25seSwgSSBlbmpveWVkIGEgcmFuZ2Ugb2YNCmludGVyZXN0aW5nIGV4cGVyaWVuY2VzIGFu ZCBmb29kcyBidXQgdGhlc2UgbWF5IG5vdCBiZSByZXByZXNlbnRhdGl2ZS4gQW4NCmFyZWEgd2l0 aCBhIGNvbmNlbnRyYXRpb24gb2YgJ0FyYWInIGZvb2Qgc2hvcHMgYW5kIHNvbWUgb3RoZXIgcmVs YXRlZA0KYWN0aXZpdGllcy4gQSBnb29kIHJhbmdlIG9mIGZvb2RzLCBhdG1vc3BoZXJlIHJlbGF0 ZWQuIEkgbWV0IHBlb3BsZSBzaGFyaW5nDQphIEhvb2thIC0gY29udGVudCB1bmtub3duIGJ1dCBT SW5nYXBvcmUgYmVpbmcgd2hhdCBpdCBpcywgcHJvYmFibHkgdmVyeQ0KbGVnYWwuDQoNCkNoaW5h dG93biBpcyB2ZXJ5IHRvdXJpc3R5IHdpdGggbXVjaCBvZiB3aGF0IHlvdSBzZWUgaW4gQ1QncyBp biBXZXN0ZXJuDQpjaXRpZXMuIFBlb3BsZSwgc2hvcHMsIGZvb2QgIGdhbG9yZS4gU29tZSAnZ2Vu dWluZScgdGVtcGxlcy4NCjFzdCB0cmlwIEkgbWFuYWdlZCB0byBqb2luIGEgbG9uZyBzaHVmZmxp bmcgcXVldWUgdG8gdGhlIHRlbXBsZSBvZiBBVSBMaW0sDQp0aGUgZ29kZGVzcyBvZiBtZXJjeS4g TGlua3MgdG9wIENocmlzdGlhbml0eSBhbmQgdmFyaW91cyBBc2lhbiByZWxpZ2lvbnMNCmludGVy ZXN0aW5nKy4gVGhleSB3ZXJlIHZlcnkgaGFwcHkgd2l0aCBtZSBhbmQgbXkgY2FtZXJhLiBMYXJn ZSBpbmNlbmNlDQpzdGlja3MsIG9yYW5nZXMsIGZsYW1pbmcgTWlsbyB0aW5zIChOWiBwcm9kdWNl ZCA6LSkgKSBmb3IgbGlnaHRpbmcgaW5jZW5jZS4NCkNoYW5jZXMgb2YgeW91IGVuY291bnRlcmlu ZyBzdWNoIG9ubHkgbWluaW1hbC4NCg0KTGl0dGxlIEluZGlhIGlzIHZlcnkgSW5kaWFuIGJ1dCBh bG1vc3Qgd2hvbGx5IHRvdXJpc3Qgb3JpZW50ZWQuIFN0aWxsDQp3b3J0aHdoaWxlIGFuZCBhIGdv b2QgZmVlbC4NCkhhcyBtb3N0ICJsYWlkIGJhY2siIE1vc3F1ZSBJIGhhdmUgZXZlciBtZXQuIFZp c2l0b3JzIGFsbG93ZWQgZnJlZSByZWlnbg0Kd2hpbGUgbG9jYWxzIHB1cnN1ZWQgdGhlaXIgd29y c2hpcCBhbmQgb3RoZXIgYWN0aXZpdGllcy4gW09uZSB2aXNpdCBJDQpnZW50bHkgJ2V2aWN0ZWQn IGEgY3Jvd2Qgb2YgeW91bmcgKGxhcmdlKSBKYXBhbmVzZSB0b3VyaXN0cyBhcyB0aGV5IHdlcmUN CmFjdGluZyBpbiBlc3NlbnRpYWxseSBvYnNjZW5lIGFuZCBkZWZpbml0ZWx5IGRpc3Jlc3BlY3Rm dWwgbWFubmVyIC0gSSdtIGENCmNvbW1pdHRlZCBDaHJpc3RpYW4gYnV0IHdyb25nIGlzIHdyb25n IGluIHN1Y2ggY2FzZXMuIFtbVmVyeSBnZW50bGUNCnBlcnN1YXNpb24gYW5kIG9mZmVycyBvZiBw aG90b3MgdGFrZW4gb3V0c2lkZSAuLi4gOi0pIF1dLg0KDQogRW5vdWdoDQoNCg0KIFINCg0KDQoN CklmIGluIHNvYnJlIHNvbWJlciByZWZsZWN0aXZlIG1vb2QuDQpDaGFuZ2kgTXVzZXVtIC0gYWxs IGFib3V0IFdvcmxkIFdhciAyIGV4cGVyaWVuY2VzLg0KSG93IGl0IGFmZmVjdHMgb25lIHdpbGwg dmFyeS4gSWYgeW91IGhhdmUgYSBtZW50YWwvZW1vdGlvbmFsIGxpbmsgd2l0aCB5b3VyDQpuYXRp b25zIFdXMiBoaXN0b3J5IChIb2xsYW5kICYgTlogYm90aCByZWxldmFudCkgdGhlbiB0aGlzIG1h eSBiZSBvbmUgb2YNCnRoZSBtb3N0IGVtb3Rpb25hbGx5IHZpb2xlbnQsIGd1dCB3cmVuY2hpbmcs IHRlcnJpYmxlLCB3b25kZXJmdWwsDQptYXJ2ZWxsb3VzLCBlbmxpZ2h0ZW5pbmcsIG92ZXJ3aGVs bWluZyBwbGFjZXMgeW91J2xsIGV2ZXIgdmlzaXQuIE9yIG5vdC4NCldlIHdlcmUgbHVja3kgdG8g Y2hhbmNlIG9uIHRoZSBtdXNldW0ncyBkaXJlY3RvciBvdXRzaWRlIGFzIHdlIGFycml2ZWQgYW5k DQpoZSBhZGRlZCB0byBhbiBhbHJlYWR5IG1lbW9yYWJsZSBvcHBvcnR1bml0eS4NCk15IChub3Qg ZXhhY3RseSB0cnVlIGJ1dCB5b3UgZ2V0IHRoZSBpZGVhKSBjb21tZW50IG9uIGxlYXZpbmcgaXMg dGhhdCB0aGUNCnBhcGVycyBuZXh0IGRheSBtYXkgcmVwb3J0IGFuIGVsZGVybHlpc2ggTlplciBn b2luZyBvbiBhIHJhbXBhZ2UgYW5kDQpraWxsaW5nIE4gd2hvbGx5IGlubm9jZW50IGFuZCBwZXJw bGV4ZWQgSmFwYW5lc2UgdG91cmlzdHMuIFdhciBpcyBhbHdheXMNCmJhZCwgYnV0IHRoaXMgd2Fz IHdvcnNlLiBJIGtuZXcgdGhhdCB2ZXJ5IHdlbGwgYWxyZWFkeSBidXQgc3RpbGwgYXN0b3VuZGlu Zy4NCg0KQ2hlYXAgZWZmaWNpZW50IGZyZXF1ZW50IE1SVCByYWlsIHN5c3RlbSBydW5zIGFsbCBv dmVyLiBBIHZlcnkgcXVpY2sgZWFzeQ0Kd2F5IHRvIGdldCB0byBtYW55IHBsYWNlcy4gQSBwcmVw YXkgY2FyZCBzeXN0ZW0gaXMgYXZhaWxhYmxlIGF0IGEgc21hbGwNCm92ZXJoZWFkIGNvc3QuIE1v cmUgZm9yIGNvbnZlbmllbmNlIHRoYW4gY29zdCBzYXZpbmdzIGJ1dCBzdGlsbCBnb29kLg0KDQpH YXJkZW4gaW4gdGhlIEJheS4NCkRlc3BpdGUgYmVpbmcgT1RUIHRvdXJpc3Qgb3JpZW50ZWQgcmVh c29uYWJseSBwb2ludGxlc3MgY29tcGFyZWQgdG8gdGhlDQpjb3N0IGV0YyBZT1UgTVVTVCBHTyAg VEhFUkUNCg0KDQpCZSBzdXJlIHRvIHNlZSBNYXJpbmEgU2FuZHMgaG90ZWwgZnJvbSB2YXJpb3Vz IHZpZXdzLiAoMiB0b3dlcnMgd2l0aA0Kc3VwZXItJ2Nhbm9lJyBvbiB0b3AuKQ0KWW91IGNhbSd0 IG1pc3MgaXQgOi0pDQpBbWF6aW5nLg0KQXQgR0lUQiB5b3UgYXJlIGNsb3NlIC0gbG9vayBhdCBj dXJ2ZSBvZiBidWlsZGluZyBhbmQgaG93IHJvb21zIGxvb2sgb3V0DQpldGMuDQpOaWNlIGluZmlu aXR5IHBvb2wgYXQgdG9wIC0gaGF2ZSB0byBwYXkgc3R1cGlkbHkgdG9vIG11Y2gganVzdCB0byBn byB0byBzZWUNCml0IChJIGhhdmVuJ3QgYmVlbiBpbnNpZGUpDQoNCllvdSBjYW4gY2F0Y2ggc21h bGwgYm9hdHMgb3V0IHRvIHZhcmlvdXMgaXNsYW5kcyBvZmYgY29hc3QgLSBpbg0KTWFsYXlzaWEt U2luZ2FvcmUgY2hhbm5lbCBhbmQgZWxzZXdoZXJlLg0KTm90IGVub3VnaCB0aW1lIGluIDEgZGF5 IGJ1dCBlZyBQdWxhdSBVYmFuIGhhcyBib2F0IHRyaXAgYW5kIHlvdSBjYW4gcmVudA0KJ21vdW50 YWluIGJpa2VzJyBhbmQgc2ltaWxhciAoYW5kIG1hbnkgZG8pIGFuZCByaWRlIHRocm91Z2ggdHJh aWxzIGFuZA0KdHJlZXMgYW5kIGEgZmV3IHNuaXBwZXRzIG9mIG9sZCBTaW5nYXBvcmUgYnV0IG5v dCBtYW55IGhvdXNlcyBldGMuIChBdCBmYXINCmVuZCB0aGVyZSBpcyBhIG1vdW50YWluIGJpa2Ug Y291cnNlIS4gT25lIHNlY3Rpb24gaXMgbmFtZWQgIkdyYXNzeSBLbm9sbCINCjotKS4NCg0KRW5k IG9mIE1SVCBpbiBDaGFuZ2kgZGlyZWN0aW9uIHBhc3QgYWlycG9ydCBoYXMgbWFueSBmb29kIHNo b3BzIGFuZCBuaWNpc2gNCmJlYWNoIHdoZXJlIHlvdSBjYW4gc2VlIGFpcmxpbmVycyBvbiBmaW5h bCBmYXIgbG93ZXIgdGhhbiBleHBlY3RlZCBhbmQgdGhlbg0KaW4gYW1vbmdzdCB0aGUgdHJlZXMg KGl0IHNlZW1zIGFuZCBtYXkgYmUpIGp1c3QgYmVmb3JlIHJlYWNoaW5nIHJ1bndheS4NCk9uZSBv ZiB0aGUgbW9zdCBpbXByZXNzaXZlIGFpcnBvcnQgYXBwcm9hY2hlcyBJJ3ZlIHNlZW4uDQoNCk9s ZCBSYWZmbGVzIEhvdGVsIGlzIGltcHJlc3NpdmUgZm9yIGEgd2FsayB0aHJvdWdoIGdyb3VuZHMg b2YuDQpTdXBlciByZXN0b3JlZCB0byBhbmQgYmV5b25kIENvbG9uaWFsIGdyYW5kZXVyIEkgYmVs aWV2ZS4NCldoZW4gSSB3YXMgdGhlcmUgbm93IHF1aXRlIHNvbWUgeWVhcnMgYWdvIHRoZXkgaGFk IGNsb3NlZCBpdCBmb3IgMSsgeWVhcnMNCmZvciBhIG1ham9yIGRvIHVwLg0KDQoNCg0KDQoNCg0K DQpPbiAxNSBNYXJjaCAyMDE3IGF0IDA2OjQ4LCBXb3V0ZXIgdmFuIE9vaWplbiA8d291dGVyQHZv dGkubmw+IHdyb3RlOg0KDQo+DQo+IEhpIGFsbA0KPg0KPiBOZXh0IHdlZWsgSSdsbCB2aXNpdCBT aW5nYXBvcmUgYW5kIEt1YWxhIEx1bXB1ci4gSSBzZWVtIHRvIGhhdmUgc29tZSBkYXkNCj4gcGFy dHMgdG8gc3BlbmQgYXMgSSBzZWUgZml0LiBBbnlvbmUgaGVyZSB3aXRoIGdvb2QgcmVjb21tZW5k YXRpb25zDQo+IChlaXRoZXIgdG91cmlzdGljIG9yIGVsZWN0cm9uaWNzLXJlbGF0ZWQpPw0KPg0K PiBXb3V0ZXIgIk9iamVjdHM/IE5vIFRoYW5rcyEiIHZhbiBPb2lqZW4NCj4NCj4NCj4gLyoqLw0K PiAqLy8qDQo+IDxodHRwczovL3d3dy5nb29nbGUubmwvc2VhcmNoP2NsaWVudD1vcGVyYSZocz1M YkUmcT1rdWFsYSsNCj4gbHVtcHVyJnNwZWxsPTEmc2E9WCZ2ZWQ9MGFoVUtFd2kwcGJLNjA5YlNB aFdDVEJvS0hZZEhCTTBRdndVSUdTZ0E+DQo+DQo+IC0tDQo+IGh0dHA6Ly93d3cucGljbGlzdC5j b20vdGVjaHJlZi9waWNsaXN0IFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hpdmUNCj4gVmlldy9jaGFu Z2UgeW91ciBtZW1iZXJzaGlwIG9wdGlvbnMgYXQNCj4gaHR0cDovL21haWxtYW4ubWl0LmVkdS9t YWlsbWFuL2xpc3RpbmZvL3BpY2xpc3QNCj4NCi0tDQpodHRwOi8vd3d3LnBpY2xpc3QuY29tL3Rl Y2hyZWYvcGljbGlzdCBQSUMvU1ggRkFRICYgbGlzdCBhcmNoaXZlDQpWaWV3L2NoYW5nZSB5b3Vy IG1lbWJlcnNoaXAgb3B0aW9ucyBhdA0KaHR0cDovL21haWxtYW4ubWl0LmVkdS9tYWlsbWFuL2xp c3RpbmZvL3BpY2xpc3QNCg0KDQoNCi0tDQpodHRwOi8vd3d3LnBpY2xpc3QuY29tL3RlY2hyZWYv cGljbGlzdCBQSUMvU1ggRkFRICYgbGlzdCBhcmNoaXZlDQpWaWV3L2NoYW5nZSB5b3VyIG1lbWJl cnNoaXAgb3B0aW9ucyBhdA0KaHR0cDovL21haWxtYW4ubWl0LmVkdS9tYWlsbWFuL2xpc3RpbmZv L3BpY2xpc3QNCg== .