T24gRnJpLCA4IEp1bCAyMDE2LCBCZW4gQ29va3NsZXkgd3JvdGU6Cgo+IEhpIGFsbCwKPgo+IE15 IGFwb2xvZ2llcyBpZiB5b3UncmUgbm90IGEgcGFja2FnZXIgb3Igc29tZW9uZSBhc3NvY2lhdGVk IHdpdGggYQo+IGRpc3RyaWJ1dGlvbiAtIHlvdSBjYW4gaWdub3JlIHRoaXMgZW1haWwuIFBhY2th Z2VycywgcGxlYXNlIHJlYWQgb24gYXMKPiB0aGlzIGNvbnRhaW5zIGltcG9ydGFudCBkZXRhaWxz Lgo+Cj4gRmlyc3Q6IElmIHlvdSdyZSBhIHBhY2thZ2VyLCBwbGVhc2UgZW5zdXJlIHlvdSBhcmUg c3Vic2NyaWJlZCB0bwo+IGtkZS1kaXN0cm8tcGFja2FnZXJzQGtkZS5vcmcsIHdoaWNoIGlzIG91 ciB1c3VhbCBsaXN0IGZvcgo+IGNvbW11bmljYXRpbmcgd2l0aCBwYWNrYWdlcnMuIEl0IHdvdWxk IHNlZW0gYSBudW1iZXIgb2YgeW91IGFyZQo+IG1pc3NpbmcgZnJvbSB0aGVyZSA6KQo+Cj4gUHJv bXB0ZWQgYnkgYSByZWNlbnQgZW1haWwgSSB0b29rIGEgbG9vayBhdCB0aGUgbGlzdCBvZiBhY2Nv dW50cyAob25lCj4gcGVyIGRpc3RyaWJ1dGlvbikgd2hpY2ggYXJlIHByb3ZpZGVkIGluIG9yZGVy IHRvIGZhY2lsaXRhdGUgZWFybHkKPiBhY2Nlc3MgdG8gcGFja2FnZXMgLSBob3dldmVyIGZvciBt YW55IGkndmUgbm8gaWRlYSB3aG8gd291bGQgYmUgdGhlCj4gcmVsZXZhbnQgcG9pbnQgb2YgY29u dGFjdC4KPgo+IEknZCB0aGVyZWZvcmUgbGlrZSBmb3Igc29tZW9uZSBmcm9tIGVhY2ggZGlzdHJp YnV0aW9uIHRvIHBsZWFzZQo+IGNvbmZpcm0gdGhhdCB0aGVpciBkaXN0cm8gaXMgc3RpbGwgYWN0 aXZlIGFuZCB3aG8gY2FuIHNlcnZlIGFzIGEKPiBnZW5lcmFsIHBvaW50IG9mIGNvbnRhY3QgZm9y IHRoYXQgZGlzdHJpYnV0aW9uLiBJdCB3b3VsZCBhbHNvIGJlCj4gYXBwcmVjaWF0ZWQgaWYgZm9s a3MgY291bGQgY2hlY2sgb3ZlciB0aGVpciB+Ly5zc2gvYXV0aG9yaXplZCBrZXlzCj4gZmlsZSBh bmQgcmVtb3ZlIGFueSBvdXRkYXRlZCBrZXlzLgo+Cj4gSWYgeW91ciBkaXN0cmlidXRpb24gaGFz IGNvbXBsZXRlbHkgbG9zdCBhY2Nlc3MsIHBsZWFzZSBoYXZlIHNvbWVvbmUKPiB3aXRoIGFuIGVt YWlsIGFkZHJlc3MgYmVsb25naW5nIHRvIHRoYXQgZGlzdHJpYnV0aW9uJ3MgZG9tYWluIGVtYWls Cj4gc3lzYWRtaW5Aa2RlLm9yZyB0byBzb3J0IHRoYXQgb3V0Lgo+Cj4gS0RFIHNlcnZlcnMgbm9y bWFsbHkgdXNlIGEgZm9ybWF0IHNvbWV0aGluZyBsaWtlIHRoaXMgdG8gY2xlYXJseSBsYWJlbAo+ IHdob3NlIGtleShzKSBhcmUgd2hvc2UsIGZvciB0aG9zZSB0aGF0IG1pZ2h0IGZpbmQgaXQgaGVs cGZ1bC46Cj4KPiAjIyBOYW1lIDxlbWFpbC5hZGRyZXNzQGRvbWFpbj4KPiBzc2gtcnNhLi4uLgo+ Cj4gIyMgTmV4dCBOYW1lLi4uLgo+Cj4gVGhlIGxpc3Qgb2YgYWNjb3VudHMsIHdoaWNoIHNob3Vs ZCBhcHByb3hpbWF0ZWx5IGNvcnJlc3BvbmQgdG8KPiBkaXN0cmlidXRpb25zLCBpcyBhcyBmb2xs b3dzOgo+Cj4gLSBBY3RpdmUKPiAtIEFpeAo+IC0gQW9zYwo+IC0gQXJjaGxpbnV4Cj4gLSBBcmts aW51eAo+IC0gQXNwbGludXgKPiAtIEJsdWV3aGl0ZTY0Cj4gLSBDaGFrcmEKPiAtIENvbmVjdGl2 YQo+IC0gQ3J1eAo+IC0gRGFyd2luCj4gLSBEZWJpYW4KPiAtIEV4aGVyYm8KPiAtIEZlZG9yYQo+ IC0gRnJlZUJTRAo+IC0gR2VudG9vCj4gLSBLYW9zCj4gLSBNYWdlaWEKPiAtIE1hZ2ljCj4gLSBN YW5kcml2YQo+IC0gTWVlZ28KPiAtIE5ldEJTRAo+IC0gT3BlbkJTRAo+IC0gUENMaW51eE9TCj4g LSBQTEQKPiAtIFJlZGhhdAo+IC0gUnBhdGgKPiAtIFNpZHVjdGlvbgo+IC0gU2xhY2t3YXJlCj4g LSBTbGFtZDY0Cj4gLSBTVVNFCj4gLSBUbGQKPiAtIFRydTY0Cj4gLSBUdWthYW5pCj4gLSBUdXJi bwo+IC0gVWJ1bnR1Cj4gLSBVbHVkYWcKPiAtIFVvaXJpeAo+IC0gVW9tYW5kcml2YQo+IC0gVW9z b2xhcmlzCj4gLSBWaW5lCj4gLSBZZWxsb3cKPiAtIFlvcGVyCj4KPiBJbiB0d28gd2Vla3MgdGlt ZSB3ZSdsbCBnbyBhaGVhZCBhbmQgZGlzYWJsZSBvbmVzIHdlIGRvbid0IGdldCBhIHJlc3BvbnNl IGZyb20uCj4KPiBUaGFua3MsCj4gQmVuIENvb2tzbGV5Cj4gS0RFIFN5c2FkbWluCgpJIGNvbmZp cm0gdGhhdCBTbGFja3dhcmUgaXMgc3RpbGwgYWxpdmUgYW5kIHVzaW5nIHRoZSBlYXJseSBhY2Nl c3MgdG8gCnRoZSBLREUgc291cmNlIHRhcmJhbGxzLgpZb3UgY2FuIHVzZSB0aGUgZm9sbG93aW5n IGNvbnRhY3RzOgpQYXRyaWNrIFZvbGtlcmRpbmcgPHZvbGtlcmRpIGF0IHNsYWNrd2FyZS5jb20+ CkVyaWMgSGFtZWxlZXJzIDxhbGllbiBhdCBzbGFja3dhcmUuY29tPgoKTm90ZSB0aGF0IGFzIGZh ciBhcyBJIGtub3csIEJsdWV3aGl0ZTY0IGFuZCBTbGFtZDY0ICh0d28gU2xhY2t3YXJlIAo2NGJp dCBzcGlub2ZmcyBmcm9tIGJlZm9yZSBTbGFja3dhcmUgaGFkIGl0cyBvd24gNjRiaXQgZWRpdGlv bikgYXJlIApkZWFkIGZvciB5ZWFycyBub3cuIEFuZCBUdWthYW5pIGlzIG5vIGxvbmdlciBhIChz bGFja3dhcmUgYmFzZWQpIApkaXN0cm8gYnV0IG5vdyBvbmx5IGRldmVsb3BzIFhaIGNvbXByZXNz aW9uIHRvb2xzLgoKQ2hlZXJzLCBFcmljCgotLSAKRXJpYyBIYW1lbGVlcnMgPGFsaWVuQHNsYWNr d2FyZS5jb20+CkhvbWU6IGh0dHA6Ly9hbGllbi5zbGFja2Jvb2sub3JnL2Jsb2cvCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmtkZS1jb21tdW5pdHkgbWFp bGluZyBsaXN0CmtkZS1jb21tdW5pdHlAa2RlLm9yZwpodHRwczovL21haWwua2RlLm9yZy9tYWls bWFuL2xpc3RpbmZvL2tkZS1jb21tdW5pdHk=