T24gTW9uLCAxNiBKYW4gMjAxNyAxMDo1MjoyOCArMDEwMCwgS2FtaWwgUGFyYWwgPGtwYXJhbEBy ZWRoYXQuY29tPiB3cm90ZToKCj4+IFRoaXMgaXMgcmVsYXRlZCB0byB2YWxpZGF0aW9uIHRlc3Rz LCBidXQgZGlmZmVyZW50IGVub3VnaCB0aGF0IEkgd2FudGVkCj4+IGEgbmV3IHRocmVhZC4gV2hp bGUgd2UgKmNhbiogcmVsZWFzZSBuZXcgdmVyc2lvbnMgb2YgRk1XIG9uCj4+IGdldGZlZG9yYS5v cmcgYXQgRmVkb3JhIEdBLCB0aGVyZSdzIG5vIHJlYXNvbiB0byB0aWUgdGhlIHR3byB0b2dldGhl ciDigJQKPj4gYW5kIHJlYWxseSwgc29tZSBnb29kIG9uZXMgdG8gKm5vdCogZG91YmxlIHVwOgo+ Pgo+PiAqIHdlIGNhbiBmaXggYnVncyB3aXRob3V0IHdhaXRpbmcKPj4gKiB3ZSBjYW4gYWRkIG5l dyBmdW5jdGlvbmFsaXR5IHdoZW5ldmVyCj4+ICogYW5kIHdlIGRvbid0IGhhdmUgdG8gd29ycnkg YWJvdXQgc3VycHJpc2UgZmFpbHVyZXMgZHVlIHRvIHJlZ3Jlc3Npb25zCj4+ICAgb24gR0EgcmVs ZWFzZSBkYXkgYWZmZWN0aW5nIHRoZSBydXNoIG9mIHBlb3BsZQo+Cj4gU3VyZSwgbWFrZXMgc2Vu c2UuCj4KPj4KPj4gSSBoYXZlIGEgZmVhdHVyZSByZXF1ZXN0ICh1c2UgYSBkaXN0aW5jdCB1c2Vy LWFnZW50IGZvciBJU08gZG93bmxvYWRzCj4+IHNvIHdlIGNhbiB0ZWxsIHdoZW4gRk1XIGlzIGJl aW5nIHVzZWQpIHdoaWNoIEknZCBsb3ZlIHRvIG5vdCB3YWl0IGZvcgo+PiBKdW5lL0p1bHkgdG8g Z2V0IGxpdmUuCj4+Cj4+IERvIHdlIHdhbnQgdG8gZ28gdGhyb3VnaCB2YWxpZGF0aW9uIGFuZCB1 cGRhdGUgdGhlIHdlYnNpdGUgd2hlbmV2ZXIKPj4gTWFydGluIGN1dHMgYSBuZXcgcmVsZWFzZSB1 cHN0cmVhbT8gT3IgZG8gd2Ugd2FudCB0byBoYXZlCj4+IHJlZ3VsYXJseS1zY2hlZHVsZWQgdGlt ZXMgdG8gZG8gaXQ/IE9yIHdoZW5ldmVyIHRoZXJlJ3MgYSBwYXJ0aWN1bGFyCj4+IHJlYXNvbiB0 byBkbyBpdCBhbmQgbGVhdmUgaXQgYWxvbmUgb3RoZXJ3aXNlPyBPciBzb21ldGhpbmcgZWxzZT8K Pgo+IE1hcnRpbiBzaG91bGQgYmUgcHJvYmFibHkgdGhlIG9uZSB0byB0ZWxsIHdlYnNpdGVzIHRl YW0gd2hlbiB0byBwdWxsIG5ldyAgCj4gdmVyc2lvbiAob25jZSBpdCBpcyB0ZXN0ZWQsIG5vdCBl dmVyeSBvbmUgbmVlZHMgdG8gYmUgcHVsbGVkKS4KPgo+IFdlJ2xsIHByb2JhYmx5IG5vdCBiZSBh YmxlIHRvIHRlc3QgZXZlcnkgZWFjaCB1cHN0cmVhbSByZWxlYXNlIGhlIGRvZXMsICAKPiBlc3Bl Y2lhbGx5IG9uIGFsbCBwbGF0Zm9ybXMuIER1cmluZyBCcmFuY2hlZCByZWxlYXNlIGN5Y2xlLCBp dCB3aWxsIGJlICAKPiBlYXNpZXIsIHNpbmNlIHdlJ3JlIHRlc3RpbmcgRk1XIGFsbCB0aGUgdGlt ZSBhbnl3YXkuIE91dHNpZGUgb2YgdGhlICAKPiByZWxlYXNlIGN5Y2xlLCBoZSBjYW4gcGluZyB1 cyBpZiB3ZSBoYXZlIHRpbWUgdG8gZG8gdGhhdCwgb3IgaGUgY2FuIHdhaXQgIAo+IHVudGlsIHNv bWUgZmVlZGJhY2sgaXMgYXZhaWxhYmxlIGluIEJvZGhpIGFuZCBhY3QgYmFzZWQgb24gdGhhdCAg Cj4gKGhvd2V2ZXIsIHRoYXQgZG9lcyBub3QgaW5jbHVkZSBmZWVkYmFjayBmb3Igbm9uLUZlZG9y YSBzeXN0ZW1zLCBidXQgSSAgCj4gdGhpbmsgaGUgc2FpZCBoZSBwZXJmb3JtcyBhIGZldyBzbW9r ZSB0ZXN0cyBldmVyeSB0aW1lIG9uIGhpcyB0ZXN0ICAKPiBtYWNoaW5lcywgc28gdGhhdCBzaG91 bGQgYmUgcHJvYmFibHkgZmluZSkuCgpJJ20gdGVzdGluZyB0aGUgcmVsZWFzZXMgbXlzZWxmLCB5 ZXMuIFVzdWFsbHkgSSBmb2N1cyBvbiB0aGUgc3R1ZmYgSSAgCmNoYW5nZWQgYW5kIHRoZW4ganVz dCB0cnkgd3JpdGluZyBhbmQgZXJhc2luZyBhIGRyaXZlLCBzbyBub3RoaW5nIHRvbyAgCmNvbXBs aWNhdGVkLgoKSSBzZWUgYW5vdGhlciBwcm9ibGVtIHdpdGggdGhlIHJlbGVhc2UgcHJvY2VzcyBu b3cgdGhvdWdoOiBwdWxsaW5nIG5ldyAgCm5vbi1GZWRvcmEgcmVsZWFzZXMuIFRoZXJlIGlzIG5v IHJpZ2lkIHByb2Nlc3Mgb2YgZ2V0dGluZyB0aGUgcmVsZWFzZXMgdG8gIAp3ZWJzaXRlcy4gVGhl IHByb2Nlc3Mgbm93IGlzIEkgcHV0IHVwIGEgbmV3IHJlbGVhc2UgYW5kIHBpbmcgZGdpbG1vcmUg dG8gIApjb21waWxlIGl0LiBIZSB0aGVuLCB3aGVuIGhlIGhhcyB0aW1lLCBjb21waWxlcyBpdCBh bmQgcHV0cyBpdCBzb21ld2hlcmUgIAphbmQgbm90aWZpZXMgd2Vic2l0ZXMgdG8gcHVsbCBpdCBv ciBoZSBwdXRzIGl0IHRoZXJlIGhpbXNlbGYuCgpGb3IgZXhhbXBsZSBmb3IgNC4wLjggd2hpY2gg d2FzIHJlbGVhc2VkIGFib3V0IGEgd2VlayBhZ28gdGhlcmUgaGFzIGJlZW4gIApubyBhY3Rpdml0 eSB5ZXQgLSBtZWFud2hpbGUsIGYyNSBwYWNrYWdlIGlzIGFscmVhZHkgc3RhYmxlLgoKQWxsIEkg Y2FuIGRvIGlzIHBpbmcgdGhlIHBlb3BsZSBvdmVyIGFuZCBvdmVyIGFuZCBob3BlIG9uZSBkYXkg dGhlIHZlcnNpb24gIApnZXQgcHVzaGVkIHRoZXJlLiBUaGVyZSBpcyB2ZXJ5IGxpbWl0ZWQgZmVl ZGJhY2sgaW4gcmVnYXJkcyB0byB3aGF0IHRoZSAgCnN0YXR1cyBpcyBub3csIGlmIGl0IGNvbXBp bGVzIGFuZCB0aGVyZSBpcyBubyB0ZXN0aW5nIGJlc2lkZXMgbWluZS4KX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KdGVzdCBtYWlsaW5nIGxpc3QgLS0gdGVz dEBsaXN0cy5mZWRvcmFwcm9qZWN0Lm9yZwpUbyB1bnN1YnNjcmliZSBzZW5kIGFuIGVtYWlsIHRv IHRlc3QtbGVhdmVAbGlzdHMuZmVkb3JhcHJvamVjdC5vcmcK