CiBBbGwsCgogVGhlcmUgd2FzIGEgcnViYmVyIHByb2R1Y3RzIG1mZyBjb21wYW55IGluIEh1bnRp bmd0b24gdGhhdCBteSBkYWQsCnNldmVyYWwgb2YgbXkgdW5jbGVzLCBhbmQgbXlzZWxmLAogd29y a2VkIGF0IGRlY2FkZXMgYWdvLiAgIFRoYXQgZmFjdG9yeSBoYXMgYmVlbiBjbG9zZWQgZm9yIG1h bnkgeWVhcnMKbm93LiAgQXMgYSBtYXR0ZXIgb2YgZmFjdCwgCiBtb3N0IG9mIHRoZSBpbmR1c3Ry eSBpbiBIdW50aW5ndG9uIGhhcyBlaXRoZXIgbGVmdCB0aGUgYXJlYSwgb3IgY2xvc2VkCmRvd24u ICBUaGUgY2l0eSBoYXMgYmFzaWNhbGx5IAogZ29uZSBmcm9tIGEgdGhyaXZpbmcgaW5kdXN0cmlh bCBtZWNjYSB0byBhIHNvbWV3aGF0IGxlc3MgdGhyaXZpbmcKY29tbWVyY2lhbCBjb25nbG9tZXJh dGUuCiBBbnl3YXksIHRoZSBuYW1lICJTY2hhY2h0IiBpcyByYXJlIGVub3VnaCwgdG8gbWUgYW55 d2F5LCB0aGF0IHRoZQpjaGFuY2VzIG9mIGEgcmVsYXRpb24gd291bGQgc2VlbSB0bwogYmUgaGln aGx5IGxpa2VseS4gIAoKIEkganVzdCB3YW50ZWQgdG8gdGVsbCBoaW0sIGlmIGhlIHdhcyByZWxh dGVkLCB0aGF0IHRoZSBjaXR5IG1pc3NlcyB0aGF0CmNvbXBhbnkuICBBbmQgdGhhdCBJIGhhdmUg c29tZQogZm9uZCBtZW1vcmllcyBvZiB3b3JraW5nIHRoZXJlLiAgV29ya2luZyBpbiBhIHJ1YmJl ciBtZmcgcGxhbnQgaXMgdG91Z2gKYW5kIGhvdC4gIE15IG1haW4gZnVuY3Rpb24gd2FzCiBvcGVy YXRpbmcgYSAiUm9sbGVyIE1pbGwiLiAgVGhlc2UgbWlsbHMgd2VyZSB0d28gaG90IHJvbGxlcnMg YWJvdXQgMTYKaW5jaGVzIGluIGRpYW1ldGVyLCB0aGF0IGNvdW50ZXIKIC1yb3RhdGVkIHdpdGgg ZWFjaCBvdGhlciwgdGhhdCB3b3VsZCBzcXVlZXplIHRoZSBydWJiZXIgYmV0d2VlbiB0aGVtLiAK SXQgcGVyZm9ybWVkIHNvbWV0aGluZyBhbG9uZyB0aGUKIGxpbmUgb2Yga25lYWRpbmcgZG91Z2gs IGxpa2Ugd2hlbiBtYWtpbmcgYnJlYWQuCgogSSBhbHNvIHdvcmtlZCBvbiBhIG1hY2hpbmUgY2Fs bGVkIGEgIkNsaWNrZXIiLiAgSXQgd2FzIHJlYWxseSBhIHB1bmNoCnByZXNzLiAgQnV0IHRoZSBv cGVyYXRvcnMsIHNvbWUgCiBvZiB0aGVtIHdvbWVuLCBkZXNjcmliZWQgdGhlbSBieSB0aGUgc291 bmQgdGhleSBtYWRlIHdoZW4gb3BlcmF0aW5nLgoKIElmIHlvdSBoYXZlIGV2ZXIgdXNlZCAiRGFp c3kiIGJyYW5kIENydXRjaCBUaXBzLCBDYXN0ZXIgQ3VwcywgU2luayBvcgpCYXRodHViIERyYWlu IFBsdWdzLCBUb2lsZWQgVGFuawogRmxvYXRzIGFuZCBGbGFwcGVyIFZhbHZlcywgYW5kIG1hbnkg IG90aGVyIHByb2R1Y3RzLCBhbnl0aW1lIGJhY2sgaW4KdGhlIDUwJ3MsIDYwJ3MsIGFuZCA3MCdz LAogdGhlbiB5b3UgaGF2ZSB1c2VkIHByb2R1Y3RzIG1hZGUgYXQgdGhhdCBmYWN0b3J5LiAgSGVy ZSBpcyB0aGUgVVJMIHRvIGEKcGhvdG8gb2YgYSBzYW1wbGUgcHJvZHVjdCBvZiB0aGF0CiBjb21w YW55LCAKCiBodHRwOi8vcHJvZHVjdGltYWdlcy5nb2FudGlxdWVzLmdlbXIuczMuYW1hem9uYXdz LmNvbS85Njg0MC83NTIyMTQ5X2Z1bGxzaXplLmpwZwoKIFNvLCBJIGd1ZXNzIEkndmUgdXNlZCB1 cCBlbm91Z2ggdGltZSByZW1pbmlzY2luZywgc28gSSdsbCBzaWduIG9mZiBmb3IKbm93LiAgSWYg TXIuIFNjaGFjaHQgcmVhZHMgdGhpcyAKIGFuZCBpcyBpbmRlZWQgYSByZWxhdGl2ZSBvZiB0aGUg b3duZXJzIG9mIHRoYXQgZmFjdG9yeSwgYW5kIGNhbiByZWxhdGUKdG8gbXkgZGVzY3JpcHRpb24g b2YgbXkgam9icwogdGhlcmUsIEkgaG9wZSBoZSdsbCBsZXQgbWUga25vdy4gICBJIGFtIGdldHRp bmcgdG8gdGhlIGFnZSB0aGF0IEkgZ2V0CnNlbnRpbWVudGFsIGFib3V0IHRoaW5ncyBJJ3ZlIGRv bmUKIGluIHRoZSBwYXN0LCBhbmQgbGlrZSB0byB0YWxrIHRvIHBlb3BsZSBJJ3ZlIGtub3duIG9y IGhhdmUgaGFkIHNvbWUKY29udGFjdCB3aXRoIGJhY2sgaW4gdGhlIGRheS4gIEl0CiBqdXN0IG1h a2VzIG1lIGZlZWwgZ29vZC4KCgogUmVnYXJkcywKCiBKaW0KCj4gLS0tLS0tLS0gT3JpZ2luYWwg TWVzc2FnZSAtLS0tLS0tLQo+IFN1YmplY3Q6IFJlOiBbT1RdOlF1ZXN0aW9uIFRvIE1yLiBTY2hh Y2h0Cj4gRnJvbTogOTlndXNwdXBwZXQgPHllc0Bub3BlOS5jb20+Cj4gRGF0ZTogTW9uLCBKdW5l IDA1LCAyMDE3IDk6NDYgcG0KPiBUbzogIk1pY3JvY29udHJvbGxlciBkaXNjdXNzaW9uIGxpc3Qg LSBQdWJsaWMuIiA8cGljbGlzdEBtaXQuZWR1Pgo+IAo+IAo+IHRoaXMgc291bmRzIGxpa2UgYW4g dXJiYW4gbGVnZW5k4oCm4oCmCj4gCj4gCj4gCj4gCj4gT24gMjAxN20wNmQwNSwgYXQgMTI6MzQg TURULCBqaW1AanBlcy5jb20gd3JvdGU6Cj4gCj4gCj4gRGFuaWVsLAo+IAo+IERvIHlvdSBoYXZl IGFueSByZWxhdGl2ZXMgaW4gdGhlIEh1bnRpbmd0b24sIEluZGlhbmEgYXJlYT8KPiBKdXN0IGN1 cmlvdXMuICBJJ2QgYmUgaW50ZXJlc3RlZCBpbiBrbm93aW5nLgo+IAo+IFRoYW5rcyBhbmQgUmVn YXJkcywKPiAKPiBKaW0KPiAKPiA+IC0tLS0tLS0tIE9yaWdpbmFsIE1lc3NhZ2UgLS0tLS0tLS0K PiA+IFN1YmplY3Q6IFJFOiBbRUVdIEZhaWwtc2FmZSBTYWZldHktQ3JpdGljYWwgU3lzdGVtcyBE ZXNpZ24KPiA+IEZyb206IERhbmllbCBTY2hhY2h0IDxkYW5pZWwtc0Bzd2JlbGwubmV0Pgo+ID4g RGF0ZTogTW9uLCBKdW5lIDA1LCAyMDE3IDEyOjIxIHBtCj4gPiBUbzogcGljbGlzdEBtaXQuZWR1 Cj4gPiAKPiA+IAo+ID4gUmVjZW50bHksIGEgeW91bmcgbWFuIHdhcyBlbGVjdHJvY3V0ZWQgaW4g aGlzIGJhdGggd2hpbGUgdXNpbmcgaGlzIAo+ID4gY2VsbHBob25lIGNvbm5lY3RlZCB0byBoaXMg bWFpbnMgY2hhcmdlci4gV2hhdCB0aGF0IHRvbGQgbWUgd2FzIHRoZSAKPiA+IHBvd2VyIHN1cHBs eSBtYW51ZmFjdHVyZXIgZGlkIG5vdCBpc29sYXRlIHRoZSB3YWxsIGNoYXJnZXIgc3VwcGx5IGZy b20gCj4gPiB0aGUgImhvdCIgbGluZS4gdGhlIGNpcmN1aXQgd2FzIGluIGFuICBpbnN1bGF0aW5n IGNhc2UsIHJpZ2h0PyBTaG91bGQgCj4gPiBoYXZlIGJlZW4gc2F2ZSwgcmlnaHQ/IEkgZ3Vlc3Mg bm90LiBJIGtub3cgeW91IGRvIG5vdCB3YW50IHRvIGRlc2lnbiBmb3IgCj4gPiBhIGxhd3N1aXQg b3IgYSBjcmltaW5hbCBjaGFyZ2UuCj4gPiAKPiA+IFRoZSBjYXBhY2l0b3IgaW4gdGhlIGNpcmN1 aXQgZG9lcyBub3QgbmVjZXNzYXJpbHkgbGltaXQgdGhlIGN1cnJlbnQgdG8gYSAKPiA+IHNhZmUg bGV2ZWwuIEFsc28sIGlmIHRoZSAiaG90IiBhbmQgdGhlICJuZXV0cmFsIiBvciBncm91bmQgZ2V0 IHJldmVyc2VkIAo+ID4gYnkgYWNjaWRlbnQgYnkgYW4gaW5hdHRlbnRpdmUgZWxlY3RyaWNpYW4g b3IgYW1hdGV1ciwgc29tZW9uZSBjYW4gYmUgCj4gPiBraWxsZWQuIEl0IGlzIGEgZ29vZCBpZGVh IHRvIGRlc2lnbiBmb3Igc2FmZXR5IGJ5IHVzaW5nIGEgVUwgb3Igb3RoZXIgCj4gPiB0ZXN0ZWQg YW5kIGFwcHJvdmVkIGlzb2xhdGlvbiB0cmFuc2Zvcm1lci4gRXZlbiBiZXR0ZXIsIHB1cmNoYXNl IGFuIFVMIAo+ID4gYXBwcm92ZWQgaXNvbGF0ZWQgd2FsbCB0cmFuc2Zvcm1lci4gVGFrZSBhIGZl dyBhcGFydCB0byBtYWtlIHN1cmUgdGhlIAo+ID4gbWFudWZhY3R1cmVyIGtub3dzIHdoYXQgdGhl eSBhcmUgZG9pbmcuIEkgaG9wZSB0aGlzIGhlbHBzLgo+ID4gCj4gPiAtLSAKPiA+IGh0dHA6Ly93 d3cucGljbGlzdC5jb20vdGVjaHJlZi9waWNsaXN0IFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hpdmUK PiA+IFZpZXcvY2hhbmdlIHlvdXIgbWVtYmVyc2hpcCBvcHRpb25zIGF0Cj4gPiBodHRwOi8vbWFp bG1hbi5taXQuZWR1L21haWxtYW4vbGlzdGluZm8vcGljbGlzdAo+IAo+IC0tIAo+IGh0dHA6Ly93 d3cucGljbGlzdC5jb20vdGVjaHJlZi9waWNsaXN0IFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hpdmUK PiBWaWV3L2NoYW5nZSB5b3VyIG1lbWJlcnNoaXAgb3B0aW9ucyBhdAo+IGh0dHA6Ly9tYWlsbWFu Lm1pdC5lZHUvbWFpbG1hbi9saXN0aW5mby9waWNsaXN0Cj4gCj4gCj4gLS0gCj4gaHR0cDovL3d3 dy5waWNsaXN0LmNvbS90ZWNocmVmL3BpY2xpc3QgUElDL1NYIEZBUSAmIGxpc3QgYXJjaGl2ZQo+ IFZpZXcvY2hhbmdlIHlvdXIgbWVtYmVyc2hpcCBvcHRpb25zIGF0Cj4gaHR0cDovL21haWxtYW4u bWl0LmVkdS9tYWlsbWFuL2xpc3RpbmZvL3BpY2xpc3QKCi0tIApodHRwOi8vd3d3LnBpY2xpc3Qu Y29tL3RlY2hyZWYvcGljbGlzdCBQSUMvU1ggRkFRICYgbGlzdCBhcmNoaXZlClZpZXcvY2hhbmdl IHlvdXIgbWVtYmVyc2hpcCBvcHRpb25zIGF0Cmh0dHA6Ly9tYWlsbWFuLm1pdC5lZHUvbWFpbG1h bi9saXN0aW5mby9waWNsaXN0Cg== .