T24gMjYgTWF5IDIwMTUgYXQgMDg6NTgsIEphc29uIFdoaXRlIDx3aGl0ZXdhdGVyc3NvZnR3YXJl aW5mb0BnbWFpbC5jb20+Cndyb3RlOgoKPiBJdCBzZWVtcyB0aGF0IGlzIG9ubHkgbWFyZ2luYWxs eSBtb3JlIGV4cGVuc2l2ZSB0byBzZW5kIHNtYWxsIHBhY2thZ2VzCj4gaGFsZndheSBhcm91bmQg dGhlIHdvcmxkIChmcm9tIENoaW5hIHRvIHRoZSBVUykgdGhhbiBpdCBpcyB0byBzZW5kCj4gcGFj a2FnZXMgd2l0aGluIHRoZSBVbml0ZWQgU3RhdGVzLgoKCuKAi0EgbG9uZy1hZ28gU2NpRmkgc2hv cnQgc3RvcnkgaGFkIGEgcG9zdGFsIGRlbGl2ZXJ5IHN5c3RlbSB0aGF0IOKAi3dhcwpvYnNlcnZl ZCB0byBoYXZlIHNob3J0ZXIgYW5kIHNob3J0ZXIgZGVsaXZlcnkgdGltZXMgd2l0aCBpbmNyZWFz aW5nCmRpc3RhbmNlLiAgVWx0aW1hdGVseSB3aGVuIHNlYXJjaGluZyBmb3IgYSBwYXJjZWwgc2Vu dCB0aGF0IG1vcm5pbmcgZnJvbSBhCnZlcnkgZGlzdGFudCBzb3VyY2UgaXQgc2VlbWVkIGluaXRp YWxseSB0byBoYXZlIHZpb2xhdGVkIHRoZSAicnVsZSIgLSBidXQKd2FzIHRoZW4gZm91bmQgdG8g aGF2ZSBiZWVuIHNpdHRpbmcgaW4gdGhlIG1haWwgcm9vbSBzaW5jZSB5ZXN0ZXJkYXkuIEV2ZW4K c2hpcG1lbnRzIGZyb20gQ2hpbmEgYXJlIG5vdCBxdWl0ZSB0aGF0IGdvb2QuCgpfX19fX19fX19f X19fX19fXwoKSW4gU2hlbnpoZW4ncyBmYWJsZWQgSHVhcXVpYW5nYmVpIGFyZWEgIEkgdmlzaXRl ZCB0aGUgbG9jYWwgQ2hpbmEgUG9zdApvZmZpY2VzIHRvIGxvb2sgYXQgdGhlaXIgZnJlaWdodCBy YXRlcywgaW4gdGhlIGhvcGUgdGhhdCB0aGV5IHdvdWxkIGJlCnN1cGVyaW9yIHRvIEZlZGV4L0RI TC9VUFMgcmF0ZXMuIFRoZXkgd2VyZSBjaGFyZ2luZyBNT1JFIDotKC4gUHJlc3VtYWJseQp0aGUg cmF0ZXMgZm9yIHRoZSBsb2NhbHMgYXJlIG9idGFpbmVkIGFyb3VuZCB0aGUgY29ybmVyLCB3aXRo IHNpZ25hZ2UgYWxsCmluICdDaGluZXNlLgoKSWYgb25lIGhhZCB0byBzZW5kIGxvdHMgb2YgKHNt YWxsKQo+IHBhY2thZ2VzIHRvIG1hbnkgZGlmZmVyZW50IGNvdW50cmllcywgaXQgc2VlbXMgbGlr ZSBDaGluYSBpcyAqdGhlKgo+IHBsYWNlIHRvIGJlLgo+CgrigItUaGVyZSBtYXkgYmUgYSBidXNp bmVzcyBtb2RlbCB0aGVyZSA6LSkuCkFpcmZyZWlnaHQgYSBidWxrIGxvYWQgYXQgYmVzdCBwb3Nz aWJsZSByYXRlcyB0byBDaGluYS4KRGlzdHJpYnV0ZSAuLi4K4oCLCkhtbSBmcm9tIENoaW5hICRV UzIuOTUgLyAxMDAgZ3JhbSB5b3Ugc2F5LgokMjkuNTAgLyBrZy4Kfj0gJDU5MCAvIDIwIGtnCgpJ IGRvbid0IHJlY2FsbCB0aGUgZXhhY3QgcmF0ZXMgYnV0IGEgZmV3IHllYXJzIGJhY2sgQWlyIE5a IHN0YXJ0ZWQgb2ZmZXJpbmcKYSAiYm9vayBpbiBhZHZhbmNlIiBleGNlc3MgYmFnZ2FnZSByYXRl LiBUaGlzIGNvdWxkIGJlIGNoZWNrZWQgaW4gd2l0aCB5b3VyCm90aGVyIGJhZ2dhZ2UgQlVUIEhB RCB0byBiZSBhcnJhbmdlZCBwcmV2aW91c2x5IGJ5IHBob25lIG9yIG9ubGluZS4gSQpoYXBwZW5l ZCB0byBiZSB3YW50aW5nIHRvIGNhcnJ5IHZhc3RseSBleGNlc3NpdmUgc3R1ZmYgYmFjayB3aXRo IG1lIGFuZCB3YXMKZm9ydHVuYXRlIHRvIGVuY291bnRlciB0aGlzIGRlYWwganVzdCBhcyBpdCBi ZWNhbWUgYXZhaWxhYmxlLiAgSSBkb24ndApyZWNhbGwgdGhlIHJhdGUgYnV0IEkgdGhpbmsgaXQg bWF5IGhhdmUgYmVlbiB+PSAkMi9rZyBmb3IgZmlyc3QgZXh0cmEgYmFnCmFuZCAkNC9rZyBmb3Ig dGhlIDJuZCBleHRyYSBiYWcuICBJIGRvbid0IGtub3cgaWYgdGhleSBsZXQgeW91IHRha2UgbW9y ZQp0aGF0IHRoYXQgYnV0IGV2ZW4gYXQgdGhhdCByYXRlIHlvdSBnZXQgMjYga2cgKyAyMCBmb3Ig JDQwIGFuZCAyMCBmb3IgJDgwID0KJDIva2cgYXZlcmFnZSBmb3IgNjAga2cuIFRoYXQncyAkMTc3 MCB3b3J0aCBhdCB0aGUgYWJvdmUgMTAwIGcgb3V0IG9mIENoaW5hCnJhdGVzLiBUaGF0J3MgZmFy IG1vcmUgdGhhbiB0aGUgY3VycmVudCBOWi1ISyBjYXR0bGUtY2xhc3MgZmFyZS4gU28gYSBmZXcK ZGF5cyBpbiBTaGVuemhlbiBpbiBzdGlsbC1hY2NlcHRhYmxlICh0byBtZSBhbnl3YXkgOi0pICkg bG93IGNvc3QKYWNjb21tb2RhdGlvbiAgKyByZXR1cm4gZmFyZXMgZm9yIGxlc3MgdGhhbiB0aGUg ZnJlaWdodCBjaGFyZ2VzIG9mIHdoYXQgeW91CmFyZSBhbGxvd2VkIHRvIGJyaW5nIGJhY2sgYXQg ZXZlbiB0aGUgbG93IGNvc3QgQ2hpbmEgcmF0ZXMuCgoKICAgIFJ1c3NlbGwKLS0gCmh0dHA6Ly93 d3cucGljbGlzdC5jb20vdGVjaHJlZi9waWNsaXN0IFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hpdmUK Vmlldy9jaGFuZ2UgeW91ciBtZW1iZXJzaGlwIG9wdGlvbnMgYXQKaHR0cDovL21haWxtYW4ubWl0 LmVkdS9tYWlsbWFuL2xpc3RpbmZvL3BpY2xpc3QK .