UnVzc2VsbCwKTXkgc2luY2VyZSBhcG9sb2dpZXMuCgpJIG1lYW50IHRvIHVzZSBbT1RdIFtFRV0s IGJ1dCBnb3QgY2F1Z2h0IHdpdGggaG9sZGluZyB0aGUgY2FwIGtleSB0b28gbG9uZy4Kc28gdGhl IOKAnF3igJ0gYmVjYW1lIOKAnH3igJ0uCgpJIHdpbGwgd2F0Y2ggbW9yZSBjYXJlZnVsbHkgZnJv bSBub3cgb24uCgoKSmVhbi1QYXVsCk4xSlBMCgoKCiAKCgo+IE9uIEp1biA2LCAyMDE2LCBhdCA0 OjEwIFBNLCBSdXNzZWxsTWMgPGFwcHRlY2huekBnbWFpbC5jb20+IHdyb3RlOgo+IAo+IFBsZWFz ZSB1c2UgT05FIHRhZyBvbmx5IGluIFsuLi5dIC4KPiAKPiBUaGUgcHJpb3IgW09UfSBbRUV9IGlz IGVpdGhlciBubyB0YWcgIG9yIHR3by4KPiBVc2luZyBlZyBbT1RdIEVFIG9yIFtPVF0ge0VFfSBv ciBzb21lIG90aGVyIG1peCBpcyBPSyBpZiB5b3UgbXVzdC4KPiAKPiBBbHNvLCBwbGVhc2UgbWFr ZSBzdWJqZWN0IGxpbmUgYXQgbGVhc3Qgc2VtaSBtZWFuaW5nZnVsLgo+IAo+ICAgICAgICBSdXNz ZWxsCj4gICAgICAgIC9aTDFBTkMKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwo+IAo+IAo+IE9uIDYgSnVuZSAyMDE2IGF0IDA2OjU2LCBKZWFuLVBhdWwgTG91aXMg PGxvdWlqcEBnbWFpbC5jb20+IHdyb3RlOgo+IAo+PiBIaSBFRSBndXJ1cywKPj4gCj4+IEkgY2Ft ZSBhY3Jvc3MgYSBzbWFsbCBwcm9ibGVtLiBUaGUgbGlnaHRpbmcgc3lzdGVtIGluIHRoZSBwb29s IG9mIHRoZSBuZXcKPj4gaG91c2Ugc2VlbXMgdG8gYmUgYnJva2VuLiBJdCBpcyBhIGhpZ2ggYnJp Z2h0bmVzcyBidWxiIGFuZCBmaWJlciBvcHRpYwo+PiBmaWJlcnMgdG8gbGlnaHQgdGhlIHBvb2wg d2l0aG91dCBlbGVjdHJpY2l0eSBpbiB0aGUgd2F0ZXIuIFRoZSBpbGx1bWluYXRvcgo+PiBpcyBh IEdFIEFyY3N0cmVhbSA0MDAwSyAxNTBXIHRoYXQgcHJvdmlkZSAxMTUwMCBMdW1lbiBpbnRvIHRo ZSBmaWJlci4KPj4gVGhlIGJ1bGIgaXMgZmFpcmx5IHNtYWxsLGFib3V0IDIxbW0gZGlhbWV0ZXIg YW5kIDg4bW0gbG9uZyBpbmNsdWRpbmcgdGhlCj4+IHNvY2tldC4KPj4gCj4+IGh0dHBzOi8vd3d3 LjEwMDBidWxicy5jb20vcHJvZHVjdC81NzE4OS9NSFMtMDE1MDg4NjU1Lmh0bWwKPj4gCj4+IEkg YW0gbm90IHN1cmUgd2hhdCBpcyBicm9rZW4gb2YgdGhlIGJ1bGIgb3IgdGhlIHN0YXJ0aW5nIHN5 c3RlbS4KPj4gCj4+IENhbiBJIHJlcGxhY2UgdGhpcyB3aXRoIExFRCBlcXVpdmFsZW50Pwo+PiAK Pj4gSmVhbi1QYXVsCj4+IE4xSlBMCj4+IAo+PiAKPj4gCj4gLS0gCj4gaHR0cDovL3d3dy5waWNs aXN0LmNvbS90ZWNocmVmL3BpY2xpc3QgUElDL1NYIEZBUSAmIGxpc3QgYXJjaGl2ZQo+IFZpZXcv Y2hhbmdlIHlvdXIgbWVtYmVyc2hpcCBvcHRpb25zIGF0Cj4gaHR0cDovL21haWxtYW4ubWl0LmVk dS9tYWlsbWFuL2xpc3RpbmZvL3BpY2xpc3QKCgoKLS0gCmh0dHA6Ly93d3cucGljbGlzdC5jb20v dGVjaHJlZi9waWNsaXN0IFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hpdmUKVmlldy9jaGFuZ2UgeW91 ciBtZW1iZXJzaGlwIG9wdGlvbnMgYXQKaHR0cDovL21haWxtYW4ubWl0LmVkdS9tYWlsbWFuL2xp c3RpbmZvL3BpY2xpc3QK .