SGFzIGFueWJvZHkgcHVyY2hhc2VkIHRoZSBuZXcgcGlja2l0ND8gSSBzYXcgaXQgbGFzdCB3ZWVr IGFuZCBoYXZlbuKAmXQgaGVhcmQgbXVjaCBhYm91dCBpdAoKU2VudCBmcm9tIG15IGlQaG9uZQoK PiBPbiBBcHIgMTMsIDIwMTgsIGF0IDk6MDggQU0sIEZvcnJlc3QgQ2hyaXN0aWFuIChMaXN0IEFj Y291bnQpIDxsaXN0c0BwYWNrZXRmbHV4LmNvbT4gd3JvdGU6Cj4gCj4gU2FtZSBzcG90LCAgaXQn cyBhcHBsaWNhYmxlIHRvIG1vc3Qgb2Ygbm90IGFsbCBvZiB0aGUgdG9vbHMuCj4gCj4gCj4gCj4g Cj4+IE9uIEZyaSwgQXByIDEzLCAyMDE4LCA3OjMyIEFNIEpvaG4gSGFuc2VuIDxqb2huQGhhbnNl bi5uZXQ+IHdyb3RlOgo+PiAKPj4gVGhhdCdzIGEgZ3JlYXQgc3VnZ2VzdGlvbi4gIElzIHRoaXMg b3B0aW9uIGF2YWlsYWJsZSBmb3IgdGhlIElDRDMgYXMgd2VsbD8KPj4gSWYgc28sIHdoZXJlPwo+ PiAKPj4gSm9obiBIYW5zZW4KPj4gCj4+IE9uIFRodSwgQXByIDEyLCAyMDE4IGF0IDEwOjQzIFBN LCBGb3JyZXN0IENocmlzdGlhbiAoTGlzdCBBY2NvdW50KSA8Cj4+IGxpc3RzQHBhY2tldGZsdXgu Y29tPiB3cm90ZToKPj4gCj4+PiBBIGxpdHRsZSB0cmljaywgaW4gdGhlIGVtYmVkZGVkIHNlY3Rp b24gb2Ygb3B0aW9ucywgdGhlcmUgaXMgYSBjaGVja2JveAo+Pj4gd2hpY2ggc2F5cyAnbWFpbnRh aW4gYWN0aXZlIGNvbm5lY3Rpb24gdG8gaGFyZHdhcmUgdG9vbCcuICBZb3UgbWF5IHdhbnQKPj4g dG8KPj4+IHRyeSBjaGVja2luZyB0aGlzLCBhcyBpdCBjdXRzIG91dCBhbGwgb2YgdGhlIG92ZXJo ZWFkIG9mIGNvbm5lY3RpbmcgdG8KPj4gdGhlCj4+PiB0b29sIGVhY2ggdGltZSB5b3UgcHJvZ3Jh bS4KPj4+IAo+Pj4gT25lIGNhdmVhdCwgZHVyaW5nIHRoZSBJQ0Q0IGJldGEgd2l0aCB0aGlzIGNo ZWNrZWQsIHRoZSBJQ0Q0IHdvdWxkIG5vdAo+Pj4gcmVsZWFzZSB0aGUgdGFyZ2V0IGZyb20gcmVz ZXQuICBJIHRoaW5rLCBidXQgZG9uJ3Qga25vdywgdGhhdCB0aGlzIGhhcwo+PiBiZWVuCj4+PiBy ZXNvbHZlZC4KPj4+IAo+Pj4gQSBzZWNvbmQgY2F2ZWF0LCBieSBjaGVja2luZyB0aGlzLCB5b3Ug bWF5IGZpbmQgeW91IGhhdmUgbW9yZSBmcmVxdWVudAo+Pj4gaXNzdWVzIHdoZXJlIG1wbGFieCBn ZXRzIG91dCBvZiBzeW5jIHdpdGggdGhlIHRvb2wgcmVxdWlyaW5nIGEgZXhpdCBmcm9tCj4+PiBt cGxhYnggYW5kIHRoZSBJQ0QuICAgSXQgcmVhbGx5IGRlcGVuZHMgb24gd2hhdCB5b3UncmUgZG9p bmcgd2l0aCB0aGUKPj4gdG9vbAo+Pj4gd2hldGhlciB0aGlzIGhhcHBlbnMgb3Igbm90Lgo+Pj4g Cj4+PiAKPj4+IAo+Pj4+IE9uIFRodSwgQXByIDEyLCAyMDE4IGF0IDg6MDUgQU0sIDxzcGVmZkBp bnRlcmxvZy5jb20+IHdyb3RlOgo+Pj4+IAo+Pj4+IFF1b3RpbmcgU3RldmUgU21pdGggPHh5Z2F4 QGJsdWV5b25kZXIuY28udWs+Ogo+Pj4+IAo+Pj4+PiBPbmUgbW9yZSB0aGluZy4KPj4+Pj4gSUNE NCB3b250IHdvcmsgd2l0aCBNUExBQiA4LjkyIGl0cyBub3QgY3VycmVudGx5IHN1cHBvcnRlZC4K Pj4+Pj4gU29tZSBvZiB1cyBvbGQgaGFja3Mgc3RpbGwgd29yayBpbiBhc3NlbWJseQo+Pj4+PiAK Pj4+Pj4gU3RldmUKPj4+Pj4gCj4+Pj4gVXNpbmcgSUNENCB3aXRoIGFzc2VtYmx5IHJpZ2h0IG5v dyAodW5kZXIgTVBMQUItWCwgb2YgY291cnNlKS4gRG9lc24ndAo+Pj4+IHNlZW0gZmFzdGVyLCBq dXN0IHRoZSBvcHBvc2l0ZSAoSSBzdXNwZWN0IGl0IGhhcyBtb3JlIG92ZXJoZWFkIGJ1dAo+Pj4+ IHJ1bnMgZmFzdGVyIG9uY2UgaXQgZ2V0cyBnb2luZywgYnV0IHRoaXMgaXMganVzdCBhIGxpdHRs ZSBiaXR0eSA3a0IKPj4+PiBjaGlwKSBhbmQgc3VmZmVycyBzb21lIGNvbW11bmljYXRpb24gZ2xp dGNoZXMgY29tcGFyZWQgdG8gSUNEMywgaW4gbXkKPj4+PiBleHBlcmllbmNlIHNvIGZhci4KPj4+ PiAKPj4+PiBUaGUgY2FzZSBpcyBoZWF2eSBlbm91Z2ggdG8gaHVydCBpZiBpdCBmYWxscyBvbiB5 b3VyIGZvb3QsIGFuZCB0aGUgTEVEcwo+Pj4+IGFyZSBhbXVzaW5nIGVub3VnaC4KPj4+PiAKPj4+ PiAtLXNwCj4+Pj4gCj4+Pj4gCj4+Pj4gLS0KPj4+PiBodHRwOi8vd3d3LnBpY2xpc3QuY29tL3Rl Y2hyZWYvcGljbGlzdCBQSUMvU1ggRkFRICYgbGlzdCBhcmNoaXZlCj4+Pj4gVmlldy9jaGFuZ2Ug eW91ciBtZW1iZXJzaGlwIG9wdGlvbnMgYXQKPj4+PiBodHRwOi8vbWFpbG1hbi5taXQuZWR1L21h aWxtYW4vbGlzdGluZm8vcGljbGlzdAo+Pj4+IAo+Pj4gCj4+PiAKPj4+IAo+Pj4gLS0KPj4+ICpG b3JyZXN0IENocmlzdGlhbiogKkNFTyoqLCBQYWNrZXRGbHV4IFRlY2hub2xvZ2llcywgSW5jLioK Pj4+IFRlbDogNDA2LTQ0OS0zMzQ1IHwgQWRkcmVzczogMzU3NyBDb3VudHJ5c2lkZSBSb2FkLCBI ZWxlbmEsIE1UIDU5NjAyCj4+PiBmb3JyZXN0Y0BpbWFjaC5jb20gfCBodHRwOi8vd3d3LnBhY2tl dGZsdXguY29tCj4+PiA8aHR0cDovL3d3dy5saW5rZWRpbi5jb20vaW4vZndjaHJpc3RpYW4+ICA8 Cj4+IGh0dHA6Ly9mYWNlYm9vay5jb20vcGFja2V0Zmx1eD4KPj4+IDxodHRwOi8vdHdpdHRlci5j b20vQHBhY2tldGZsdXg+Cj4+PiAtLQo+Pj4gaHR0cDovL3d3dy5waWNsaXN0LmNvbS90ZWNocmVm L3BpY2xpc3QgUElDL1NYIEZBUSAmIGxpc3QgYXJjaGl2ZQo+Pj4gVmlldy9jaGFuZ2UgeW91ciBt ZW1iZXJzaGlwIG9wdGlvbnMgYXQKPj4+IGh0dHA6Ly9tYWlsbWFuLm1pdC5lZHUvbWFpbG1hbi9s aXN0aW5mby9waWNsaXN0Cj4+PiAKPj4gLS0KPj4gaHR0cDovL3d3dy5waWNsaXN0LmNvbS90ZWNo cmVmL3BpY2xpc3QgUElDL1NYIEZBUSAmIGxpc3QgYXJjaGl2ZQo+PiBWaWV3L2NoYW5nZSB5b3Vy IG1lbWJlcnNoaXAgb3B0aW9ucyBhdAo+PiBodHRwOi8vbWFpbG1hbi5taXQuZWR1L21haWxtYW4v bGlzdGluZm8vcGljbGlzdAo+PiAKPiAtLSAKPiBodHRwOi8vd3d3LnBpY2xpc3QuY29tL3RlY2hy ZWYvcGljbGlzdCBQSUMvU1ggRkFRICYgbGlzdCBhcmNoaXZlCj4gVmlldy9jaGFuZ2UgeW91ciBt ZW1iZXJzaGlwIG9wdGlvbnMgYXQKPiBodHRwOi8vbWFpbG1hbi5taXQuZWR1L21haWxtYW4vbGlz dGluZm8vcGljbGlzdAoKLS0gCmh0dHA6Ly93d3cucGljbGlzdC5jb20vdGVjaHJlZi9waWNsaXN0 IFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hpdmUKVmlldy9jaGFuZ2UgeW91ciBtZW1iZXJzaGlwIG9w dGlvbnMgYXQKaHR0cDovL21haWxtYW4ubWl0LmVkdS9tYWlsbWFuL2xpc3RpbmZvL3BpY2xpc3QK .