QWN0dWFsbHksIHdpdGggTGludXggaXTigJlzIGZhciBlYXNpZXIgdGhhbiBXaW5kb3dzISAgDQoN Cg0KYXB0LWdldCAteSBpbnN0YWxsIGZwYyBmcGMtaWRlIGdjYyBjbWFrZSBqb2UgbWMNCg0KDQpU aGVuIGdvIGZpeCB5b3UgYSBzYW5kd2ljaCBhbmQgY29tZSBiYWNrIGFuZCB0eXBlIGZwIGF0IHRo ZSBjb21tYW5kIGxpbmUgdG8gc3RhcnQgcHJvZ3JhbW1pbmfigKYuICBPciB1c2Ugam9lIHRvIGVk aXQgeW91ciBjKysgc291cmNlIGNvZGXigKYNCg0KDQoNCg0KDQoNCg0KDQpTZW50IGZyb20gV2lu ZG93cyBNYWlsDQoNCg0KDQoNCg0KRnJvbTogVGFtYXMgUnVkbmFpDQpTZW50OiDigI5UdWVzZGF5 4oCOLCDigI5KYW51YXJ54oCOIOKAjjIx4oCOLCDigI4yMDE0IOKAjjEx4oCOOuKAjjAw4oCOIOKA jkFNDQpUbzogTWljcm9jb250cm9sbGVyIGRpc2N1c3Npb24gbGlzdCAtIFB1YmxpYy4NCg0KDQoN Cg0KDQpPbiAyMSBKYW51YXJ5IDIwMTQgMDc6MDEsIFdpbGxpYW0gQ291dHVyZSA8YmNvdXR1cmVA Z21haWwuY29tPiB3cm90ZToNCg0KPiBBcyBmb3Igb3RoZXIgc3VnZ2VzdGlvbnMsIGlmIGl0IHRh a2VzIG1lIG1vcmUgdGhhbiBhIGRheQ0KPiB0byBsZWFybiBob3cgdG8gd3JpdGUgIkhlbGxvIFdv cmxkIiBvciBtb3JlIHRoYW4gYSB3ZWVrDQo+IHRvIHdyaXRlIGEgc2ltcGxlIHByb2dyYW0sIHRo ZW4gaXQncyBwcm9iYWJseSBtb3JlIHRyb3VibGUNCj4gdGhhbiBpdCBpcyB3b3J0aC4NCj4NCg0K QW55IGNob2ljZSB5b3UgbWFrZSwgaXQgc2hvdWxkIG5vdCB0YWtlIG1vcmUgdGhhbiBmZXcgbWlu dXRlcyB0byBtYWtlIGENCkhlbGxvIFdvcmxkIGlmIHlvdSBmb2xsb3cgdHV0b3JpYWxzIG9uIFlv dVR1YmUgb3Igb3RoZXIgcGxhY2VzLiBFc3BlY2lhbGx5DQppZiB5b3UgaGF2ZSBwcmV2aW91cyBw cm9ncmFtbWluZyBleHBlcmllbmNlLiBVc3VhbGx5IGluc3RhbGxpbmcgdGhlDQpkZXZlbG9wbWVu dCBlbnZpcm9ubWVudCB0YWtlcyBtb3JlIHRoYW4gdGhhdC4gQWdhaW4sIHdpdGggTWljcm9zb2Z0 IHlvdQ0KanVzdCBkb3dubG9hZCBpdCBhbmQgY2xpY2sgTmV4dCwgTmV4dCwgTmV4dCBhbmQgeW91 IGFyZSBkb25lLiBPdGhlcg0KZW52aXJvbm1lbnRzIG1pZ2h0IG5lZWQgbW9yZSBzdGVwcyB0aGFu IHRoaXMsIGJ1dCB5b3UgY2FuIGZvbGxvdw0KaW5zdHJ1Y3Rpb25zIG9uIHR1dG9yaWFsIHBhZ2Vz IG9yIG9uIFlvdVR1YmUuDQoNClRhbWFzDQoNCg0KDQoNCj4NCj4gVGhhbmtzIQ0KPiAgICBCaWxs DQo+DQo+DQo+DQo+IE9uIE1vbiwgSmFuIDIwLCAyMDE0IGF0IDEwOjE2IEFNLCBXaWxsaWFtIENv dXR1cmUgPGJjb3V0dXJlQGdtYWlsLmNvbQ0KPiA+d3JvdGU6DQo+DQo+ID4gU29ycnkgaWYgdGhp cyBpcyB0b28gb2ZmLXRvcGljLCBidXQgdGhpcyBpcyBhIHByb2JsZW0gSSBjYW4ndCBpZ25vcmUN Cj4gPiBhbnltb3JlLg0KPiA+DQo+ID4gSSd2ZSBiZWVuIHVzaW5nIHRoZSBzYW1lIEMgY29tcGls ZXIgc2luY2UgdGhlIG1pZC0xOTgwJ3MgdG8gd3JpdGUNCj4gd2hhdGV2ZXINCj4gPiBsaXR0bGUg dXRpbGl0aWVzIEkgbmVlZC4gIE5lZWRsZXNzIHRvIHNheSwgaXQgcHJvZHVjZXMgMTYtYml0IERP UyBjb2RlLg0KPiA+DQo+ID4gV2VsbCwgV2luZG93cyBYUCBzdXBwb3J0IGlzIGNvbWluZyB0byBh biBlbmQsIGFuZCB0aGUgImN1cnJlbnQiIFdpbmRvd3MNCj4gNyAvDQo+ID4gV2luZG93cyA4Lngg ZG9uJ3Qgc3VwcG9ydCBvbGQgMTYtYml0IERPUyBhcHBsaWNhdGlvbnMuDQo+ID4NCj4gPiBTbywg d2hhdCBjYW4gSSB1c2UgYXMgYW4gZWFzeS10by1sZWFybiByZXBsYWNlbWVudD8NCj4gPg0KPiA+ IEkgdXN1YWxseSB3cml0ZSBzb21ldGhpbmcgdGhhdCBkb2VzIHNlcmlhbCBJL08gKHdyaXRlIHRv IHNlcmlhbCBwb3J0LCBnZXQNCj4gPiByZXBseSwNCj4gPiBmb3JtYXQgdG8gc2NyZWVuLCByZXBl YXQgYXMgbmVjZXNzYXJ5KSwgZmlsZSBmb3JtYXQgZmlsdGVyaW5nIChyZWFkIGxpbmUNCj4gPiBv ZiBmaWxlLA0KPiA+IHBhcnNlL2Zvcm1hdCBhcyBuZWNlc3NhcnksIHdyaXRlIHRvIFNURE9VVCBh bmQgcmVkaXJlY3QgdG8gZmlsZSBvbiB0aGUNCj4gPiBjb21tYW5kIGxpbmUpLCBhbmQiZ2x1ZSIg Zm9yIHN0cmluZ2luZyB0b2dldGhlciBtdWx0aXBsZSBleGVjdXRhYmxlcyBpbg0KPiA+IGJhdGNo IGZpbGVzIChnZXQgdXNlciBvcHRpb25zLCBjYWxsIGV4ZWN1dGFibGUsIGRpc3BsYXkgcmV0dXJu IGNvZGUgaW4NCj4gPiBodW1hbiByZWFkYWJsZSBmb3JtYXQsIHJlcGVhdCBhcyBuZWNlc3Nhcnkp Lg0KPiA+DQo+ID4gQy1saWtlIHN5bnRheCBkZWZpbml0ZWx5IHByZWZlcnJlZC4NCj4gPg0KPiA+ IEFuZCBJJ20gc3VyZSB0aGUgb3B0aW9uIG9mIGEgdmlydHVhbCBtYWNoaW5lIHVuZGVyIFdpbjcv V2luOC54IHdpbGwgY29tZQ0KPiA+IHVwLCB3aGljaCB3b3VsZCBiZSBwZXJmZWN0bHkgZmluZSwg YnV0IEkgaGF2ZW4ndCBoZWFyZCBvZiBvbmUgd2hhdCB3aWxsDQo+ID4gaW50ZXJhY3Qgd2l0aCB0 aGUgYWN0dWFsICJsaXZlIiBXaW5kb3dzIGZpbGUgc3lzdGVtLiAgSWYgeW91IGtub3cgb2Ygb25l LA0KPiA+IHBsZWFzZSBsZXQgbWUga25vdy4NCj4gPg0KPiA+IFRoYW5rcyENCj4gPiAgICBCaWxs DQo+ID4NCj4gPg0KPiA+IC0tDQo+ID4gUHNzdC4uLiAgSGV5LCB5b3UuLi4gQnVkZHkuLi4gIFdh bnQgYSBraXR0ZW4/DQo+IHN0cmF5Y2F0Ymx1ZXMucGV0ZmluZGVyLm9yZw0KPiA+DQo+DQo+DQo+ DQo+IC0tDQo+IFBzc3QuLi4gIEhleSwgeW91Li4uIEJ1ZGR5Li4uICBXYW50IGEga2l0dGVuPyAg c3RyYXljYXRibHVlcy5wZXRmaW5kZXIub3JnDQo+IC0tDQo+IGh0dHA6Ly93d3cucGljbGlzdC5j b20vdGVjaHJlZi9waWNsaXN0IFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hpdmUNCj4gVmlldy9jaGFu Z2UgeW91ciBtZW1iZXJzaGlwIG9wdGlvbnMgYXQNCj4gaHR0cDovL21haWxtYW4ubWl0LmVkdS9t YWlsbWFuL2xpc3RpbmZvL3BpY2xpc3QNCj4NCg0KDQoNCi0tIA0KaW50IG1haW4oKSB7IGNoYXIg KmEsKnMsKnE7IHByaW50ZihzPSJpbnQgbWFpbigpIHsgY2hhciAqYSwqcywqcTsNCnByaW50Zihz PSVzJXMlcywgcT0lcyVzJXMlcyxzLHEscSxhPSVzJXMlcyVzLHEscSxxLGEsYSxxKTsgfSIsDQpx PSJcIiIscyxxLHEsYT0iXFwiLHEscSxxLGEsYSxxKTsgfQ0KLS0gDQpodHRwOi8vd3d3LnBpY2xp c3QuY29tL3RlY2hyZWYvcGljbGlzdCBQSUMvU1ggRkFRICYgbGlzdCBhcmNoaXZlDQpWaWV3L2No YW5nZSB5b3VyIG1lbWJlcnNoaXAgb3B0aW9ucyBhdA0KaHR0cDovL21haWxtYW4ubWl0LmVkdS9t YWlsbWFuL2xpc3RpbmZvL3BpY2xpc3QKLS0gCmh0dHA6Ly93d3cucGljbGlzdC5jb20vdGVjaHJl Zi9waWNsaXN0IFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hpdmUKVmlldy9jaGFuZ2UgeW91ciBtZW1i ZXJzaGlwIG9wdGlvbnMgYXQKaHR0cDovL21haWxtYW4ubWl0LmVkdS9tYWlsbWFuL2xpc3RpbmZv L3BpY2xpc3QK .