VGhhbmtzIGZvciB0YWtpbmcgaXQgYXMgYSBqb2tlIDotKSBTb21lIHNheSwgbXkgam9rZXMgbG9v ayBtb3JlIGxpa2UKcGVyc29uYWwgYXR0YWNrcy4gSSBhbSBub3Qgb24gdGhpcyBsaXN0LCBqdXN0 IGZvciBmdW4gY2hlY2tlZCBpdCBmb3Igc29tZQpNYXksIDQgdGhpbmcsIGZvdW5kIHRoZSAic3Vw ZXIgcG93ZXIgdXNlciIgYW5kIHRyaWVkIHRvIGpva2UuCgpJIGxvdmUgdGhpcyBsaXN0LCBodW5k cmVkcyBvZiBleHBlcnRzIG9mIDgtYml0IG9wdGltaXphdGlvbiBsaXN0ZW5pbmcgdG8KYSBob3Qg cm9kIGNhciBidWlsZGVyIHRyeWluZyB0byBidWlsZCBhIGhvdCByb2QgUEMuIERlZmluaXRlbHks IE9saW4gaXMgbm90CmhlcmUgOi0pIFllcywgdGhlIGd1eSBzYWlkIGhlIGlzIGRpc2FibGVkLCBi dXQsIHN0aWxsLCBzb21lYm9keSBjb3VsZCBoYXZlCmV4cGxhaW5lZCBoaW0gVGhlIEFydCBvZiBF bGVjdHJvbmljcyB1c2VkIHRvIGJlIHRoZSBCaWJsZSBvZiB0aGlzIGxpc3QKKHNvcnQgb2YpLiBT dGVwIGJhY2sgYW5kIGxvb2sgYXQgYSBiaWdnZXIgcGljdHVyZS4gRG8gdGhpbmdzIGluIGluY3Jl bWVudGFsCnN0ZXBzLiBSZWZhY3RvciB5b3VyIHNvbHV0aW9uIGludG8gbG9vc2VseSBjb3VwbGVk IGJsb2Nrcy4gRmluZCBhCmJvdHRsZW5lY2sgYmxvY2sgYW5kIHRha2UgYSBzdGVwIHRvIGVuaGFu Y2UgaXQsIGV0YyBldGMuIEFsbCB0aGF0IGdyZWF0CmRheXMnIHN0dWZmIG9mIGVwaWMgUElDTGlz dCBiYXR0bGVzLCBJIG1pc3MgYmFkbHkgOi0pCgpPbiBUaHUsIE1heSA1LCAyMDE2IGF0IDU6NDgg UE0sIFJ1c3NlbGxNYyA8YXBwdGVjaG56QGdtYWlsLmNvbT4gd3JvdGU6Cgo+IE9uIDUgTWF5IDIw MTYgYXQgMjE6NTEsIGMgaCA8Y29nbml0aXZlLmhhcm1vbnlAZ21haWwuY29tPiB3cm90ZToKPgo+ Cj4gPiA8cGF0aGV0aWNhbGx5PiBNYXksIDQgYmUgd2l0aCB5b3UhIDwvcGF0aGV0aWNhbGx5Pgo+ ID4gSG9sZGluZyBzb21lIHdlYXBvbnJ5IGluIGhhbmRzIGFuZCBzaG91dGluZyAgIk1heSIgaW4g RG93blVuZGVyIGFjY2VudAo+IDotKQo+ID4KPiA+Cj4gT2NjYW0gb3BpbmVzIHRoYXQgdXNlIG9m ICdQYXRoZXRpY2FsbHknICYgImRvd24gdW5kZXIiIGluIHRoYXQgbWFubmVyIG1lYW5zCj4gdGhh dCBJJ20gYmVpbmcgZ290IGF0IDotKQo+Cj4gU28gdGhlcmUgLQo+Cj4gICAgICAgICAgICAgICDi gItodHRwOi8vYml0Lmx5L01URkJXWTE2Cj4KPgo+ICAgICBSCj4KPiDigIsKPiAtLQo+IGh0dHA6 Ly93d3cucGljbGlzdC5jb20vdGVjaHJlZi9waWNsaXN0IFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hp dmUKPiBWaWV3L2NoYW5nZSB5b3VyIG1lbWJlcnNoaXAgb3B0aW9ucyBhdAo+IGh0dHA6Ly9tYWls bWFuLm1pdC5lZHUvbWFpbG1hbi9saXN0aW5mby9waWNsaXN0Cj4KLS0gCmh0dHA6Ly93d3cucGlj bGlzdC5jb20vdGVjaHJlZi9waWNsaXN0IFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hpdmUKVmlldy9j aGFuZ2UgeW91ciBtZW1iZXJzaGlwIG9wdGlvbnMgYXQKaHR0cDovL21haWxtYW4ubWl0LmVkdS9t YWlsbWFuL2xpc3RpbmZvL3BpY2xpc3QK .