Q2hyaXN0b3BoZXIgSGVhZCA8Y2hlYWRAY2hlYWQuY2E+IHdyaXRlczoKPiBJ4oCZbSBub3QgYXQg YWxsIGZhbWlsaWFyIHdpdGggbW9zdCBvZiB5b3VyIHNvZnR3YXJlLCBidXQgSSBjYW4gY2VydGFp bmx5Cj4gYW5zd2VyIHRoaXM6IHRhYmxlIDEtMiBoYXMgY29sdW1uIGhlYWRlcnMgZm9yIOKAnHBp biBuYW1lLOKAnSDigJxESVAgCj4gcGluIyzigJ0KPiDigJxQTENDIHBpbiMs4oCdIOKAnFFGUCBw aW4jLOKAnSDigJxJL08vUCBUeXBlLOKAnSDigJxCdWZmZXIgVHlwZSzigJ0gYW5kCj4g4oCcRGVz Y3JpcHRpb24u4oCdIEVhY2ggcGluIGlzIG9uZSByb3cgaW4gdGhlIHRhYmxlLiBTbyBpZiB5b3Xi gJlyZSB1c2luZyAKPiB0aGUKPiBESVAgcGFja2FnZSwgeW914oCZZCBjb25zaWRlciB0aGUgbnVt YmVycyBpbiB0aGUg4oCcRElQIHBpbiPigJ0gY29sdW1uIAo+ICh0aGUKPiBzZWNvbmQgY29sdW1u LCByaWdodCBhZnRlciB0aGUgcGluIG5hbWUpLiBGb3IgZXhhbXBsZSwgdGhlIGZpcnN0IHJvdyBp cwo+IGZvciBPU0MxL0NMS0lOLCBhbmQgdGhlIERJUCBwaW4jIGNvbHVtbiBoYXMgdGhlIG51bWJl ciAxMyBpbiB0aGF0IHJvdy4KPiBXaXRoIHRoZSBleGNlcHRpb24gb2Ygc29tZSBOQyBwaW5zLCBh bGwgdGhlIHBpbnMgYXJlIHByZXNlbnQgb24gYWxsIHRoZQo+IHBhY2thZ2VzLCBqdXN0IGluIGRp ZmZlcmVudCBwbGFjZXMuCgpKYW1lcyBDYW1lcm9uIDxxdW96bEBsYXB0b3Aub3JnPiB3cml0ZXM6 Cj4gSXQgaXMgbm90IGNvbG91ci4KPiAKPiBJIGFncmVlIHdpdGggQ2hyaXN0b3BoZXIuICBJIGFs c28gdXNlIGEgc2xpZ2h0bHkgZGlmZmVyZW50IG1ldGhvZCB0bwo+IGZpbmQgcGlucyBvbiB0aGlz IFBESVAgcGFja2FnZTsgdXNpbmcgdGhlIHBpbiBkaWFncmFtIG9uIHRoZSBmaXJzdAo+IHBhZ2Ug b2YgdGhlIGRhdGFzaGVldCwgdG9wIHJpZ2h0LiAgU29tZXRpbWVzIEkgY3V0IGl0IG91dCBhbmQK PiBlbmxhcmdlLiAgSXQgaGFzIGEgYm9yZGVyLgo+IAo+IEkgd29yayBkb3duIHRoZSBlaXRoZXIg c2lkZSBvZiB0aGUgcGluIGRpYWdyYW0gbG9va2luZyBmb3IgdGhlIGxldHRlcnMKPiBvZiB0aGUg cGluIG5hbWUuICBJIGxlYXJuIHRoZSBtZWFuaW5nIG9mIHRoZSBhcnJvd3MgYmV0d2VlbiB0aGUg cGluCj4gbmFtZSBhbmQgdGhlIHBhY2thZ2UuICBJIGxlYXJuIHRoZSBsb2NhbGlzYXRpb24gb2Yg dGhlIHBpbiBuYW1lczsgaG93Cj4gUkIgaXMgbW9zdGx5IHRvcCByaWdodCwgaG93IFJDIGlzIGVt YmVkZGVkIGluc2lkZSBSRCwgaG93IE9TQyBpcwo+IHVzdWFsbHkgbWlkLWNoaXAuCgoJVGhpcyBp cyBhIGdyZWF0IGhlbHAgYXMgYm90aCBvZiB5b3UgY29uZmlybWVkIHRoYXQgaWYgSQpjYW4gZ2V0 IHRoZSBjb2x1bW5zIHRvIGRpc3BsYXkgYXMgdGhleSBhY3R1YWxseSB3ZXJlIG1lYW50IHRvLAp0 aGVuIHRoZSBvdXRwdXQgd2lsbCBtYWtlIHNlbnNlLgoKCVlvdSBtaWdodCBhc2sgIldoeSBkb24n dCBJIGp1c3QgcnVuIHRoZSBQREYgZW5naW5lIHRoYXQKd2F5PwoKCVRoZSBhbnN3ZXIgaXMgdGhh dCBpdCBhbGwgZGVwZW5kcyBvbiB3aGF0IGtpbmQgb2YKaW5mb3JtYXRpb24gb25lIGlzIHJlYWRp bmcgYXQgYW55IGdpdmVuIHRpbWUuICBUaGUgdGV4dApkZXNjcmliaW5nIHdoYXQgdGhlIHZhcmlv dXMgbW9kdWxlcyBvciBzdWJhc3NlbWJsaWVzIGluIHRoZSBjaGlwCmRvIGFuZCB3aGF0IHNpZ25h bCBsZXZlbHMgdG8gZXhwZWN0IHRvIHByb3ZpZGUgYW5kIG9yIHJlYWQgaXMKYmVzdCByZWFkIGFz IGxpbmVhciB0ZXh0LCB0aGUgd2F5IHlvdSdkIHJlYWQgYSBuZXdzIHN0b3J5IG9yCmluc3RydWN0 aW9ucyBvbiBob3cgdG8gZG8gYWJvdXQgYW55dGhpbmcgaW4gd2hpY2ggb25lIG5lZWRzIGNsZWFy CnByb3NlIHdyaXR0ZW4gaW4gbG9naWNhbCBvcmRlci4KCglUaGUgcGRmdG90ZXh0IG1hbnVhbCBo YXMgYSBwYXNzYWdlIHNheWluZzoKCiAgICAgICAtbGF5b3V0CiAgICAgICAgICAgICAgTWFpbnRh aW4gKGFzIGJlc3QgYXMgcG9zc2libGUpIHRoZSBvcmlnaW5hbCBwaHlzaWNhbCAgbGF5b3V0ICBv ZgogICAgICAgICAgICAgIHRoZSAgdGV4dC4gICBUaGUgIGRlZmF1bHQgaXMgdG8gwrR1bmRvJyBw aHlzaWNhbCBsYXlvdXQgKGNvbHVtbnMsCiAgICAgICAgICAgICAgaHlwaGVuYXRpb24sIGV0Yy4p IGFuZCBvdXRwdXQgdGhlIHRleHQgaW4gcmVhZGluZyBvcmRlci4KCiAgICAgICAtZml4ZWQgbnVt YmVyCiAgICAgICAgICAgICAgQXNzdW1lIGZpeGVkLXBpdGNoIChvciB0YWJ1bGFyKSB0ZXh0LCB3 aXRoIHRoZSBzcGVjaWZpZWQgY2hhcmFjEAogICAgICAgICAgICAgIHRlciB3aWR0aCAoaW4gcG9p bnRzKS4gIFRoaXMgZm9yY2VzIHBoeXNpY2FsIGxheW91dCBtb2RlLgoKICAgICAgIC1yYXcgICBL ZWVwIHRoZSB0ZXh0IGluIGNvbnRlbnQgc3RyZWFtIG9yZGVyLiAgVGhpcyBpcyBhIGhhY2sgd2hp Y2ggb2YQCiAgICAgICAgICAgICAgdGVuICJ1bmRvZXMiIGNvbHVtbiBmb3JtYXR0aW5nLCBldGMu ICBVc2UgIG9mICByYXcgIG1vZGUgIGlzICBubwogICAgICAgICAgICAgIGxvbmdlciByZWNvbW1l bmRlZC4KCiAgICAgICAtaHRtbG1ldGEKICAgICAgICAgICAgICBHZW5lcmF0ZSAgYSAgc2ltcGxl ICBIVE1MICBmaWxlLCBpbmNsdWRpbmcgdGhlIG1ldGEgaW5mb3JtYXRpb24uCiAgICAgICAgICAg ICAgVGhpcyBzaW1wbHkgd3JhcHMgdGhlIHRleHQgaW4gPHByZT4gYW5kIDwvcHJlPiBhbmQgcHJl cGVuZHMgIHRoZQogICAgICAgICAgICAgIG1ldGEgaGVhZGVycy4KCiAgICAgICAtYmJveCAgR2Vu ZXJhdGUgIGFuICBYSFRNTCBmaWxlIGNvbnRhaW5pbmcgYm91bmRpbmcgYm94IGluZm9ybWF0aW9u IGZvcgogICAgICAgICAgICAgIGVhY2ggd29yZCBpbiB0aGUgZmlsZS4KCiAgICAgICAtYmJveC1s YXlvdXQKICAgICAgICAgICAgICBHZW5lcmF0ZSBhbiBYSFRNTCBmaWxlIGNvbnRhaW5pbmcgYm91 bmRpbmcgYm94ICBpbmZvcm1hdGlvbiAgZm9yCiAgICAgICAgICAgICAgZWFjaCBibG9jaywgbGlu ZSwgYW5kIHdvcmQgaW4gdGhlIGZpbGUuCmVuZCBvZiBxdW90ZQoKCU5vdyB0aGF0IEkga25vdyB0 aGF0IGNvbG9yIG9yIHR5cGUgc3R5bGUgaXMgbm90IHVzZWQsIEkKc2hvdWxkIGJlIGFibGUgdG8g ZXhwZXJpbWVudCB3aXRoIHNvbWUgb2YgdGhvc2UgZmxhZ3MgYW5kCnZpcnR1YWxseSBjdXQgb3V0 IHdoaWNoIHRhYmxlIHRvIHVzZS4KCglPdGhlciBNaWNyb2NoaXAgZGF0YSBzaGVldHMgYXBwZWFy IHRvIHVzZSBzaW1pbGFyIGRpc3BsYXkKc3R5bGVzIHNvIG1heWJlIEkgY2FuIGNvbWUgdXAgd2l0 aCBhIG1lY2hhbmljYWwgZmlsdGVyIHRoYXQgY2FuCmJlIHRydXN0ZWQuOi0pCgoJVGhhbmtzIGFn YWluIGFzIHRoaXMgaXMgcHJvYmFibHkgbW9yZSB1c2VmdWwgdG8ga25vdyB0aGFuCmp1c3QgZ2V0 dGluZyB0aGUgcGlub3V0ICBmb3IgYSBnaXZlbiBJQy4KCk1hcnRpbiAgIFdCNUFHWgoKLS0gCmh0 dHA6Ly93d3cucGljbGlzdC5jb20vdGVjaHJlZi9waWNsaXN0IFBJQy9TWCBGQVEgJiBsaXN0IGFy Y2hpdmUKVmlldy9jaGFuZ2UgeW91ciBtZW1iZXJzaGlwIG9wdGlvbnMgYXQKaHR0cDovL21haWxt YW4ubWl0LmVkdS9tYWlsbWFuL2xpc3RpbmZvL3BpY2xpc3QK .