CmRlc2VubWFzY2FyYS5tZSAoaW4gRW5nbGlzaCBjYW4gYmUgdHJhbnNsYXRlZCBhczogVW5tYXNr IG1lKSBpcyBhbiBvbmxpbmUgUG9DIHRvb2wgd2hvc2UgZ29hbCBpczogdG8gcmFpc2Ugd2ViIHNl Y3VyaXR5IGF3YXJlbmVzcyBhbW9uZyB3ZWIgb3duZXJzIGluIG9yZGVyIHRvIGhlbHAgZGVjcmVh c2UgdGhlIGNvbnN0YW50IHJpc2Ugb2YgY29tcHJvbWlzZWQgd2Vic2l0ZXMuCgpUaGUgZGVzZW5t YXNjYXJhLm1lIFBvQyBjYWxjdWxhdGUgYSBzY29yZSBhbHNvIGtub3duIGFzICdzZWN1cml0eSBh d2FyZW5lc3MgdmFsdWUnIG9mIGFueSB3ZWJzaXRlIChuZWl0aGVyIHJlc291cmNlcyBub3IgY3Jh d2xpbmcpIGJhc2VkIG9uIGFsbCB0aGUgbWV0YWRhdGEgYXZhaWxhYmxlLgpCYXNpY2FsbHkgdGhl IHNjb3JlIGlzIGJhc2VkIG9uIGEgc2ltcGxlIGNhbGN1bGF0aW9uIG9mIHRoZSBtb3JlIHdlYWsg bWV0YWRhdGEgeW91IHNob3cgdGhlIHdvcnN0IGFuZCBpbiB0aGUgb3RoZXIgd2F5IGFyb3VuZC4g SXQgaXMgZXhwbGFpbmVkIGFzIGZvbGxvd3M6CgotU2NvcmUgPCAwOiBhIHdlYnNpdGUgaXMgY29u c2lkZXJlZCBhcyBwcm9uZSB0byBiZSBjb21wcm9taXNlZC4gKGJlY2F1c2UgaXQgaXMgYmFzZWQg b24ga25vd24gYW5kIGJ1Z2d5IHNvZnR3YXJlIHN1Y2ggYXMgb2xkIEpvb21sYSwgaGlnaGx5IGNy aXRpY2FsIERydXBhbCBvciBUeXBvMyB2ZXJzaW9ucy4uLikKLVNjb3JlIGJldHdlZW4gMCBhbmQg MjA6IGEgd2Vic2l0ZSBpcyBub3QgY29uc2lkZXJlZCBhcyBzZWN1cml0eSBhd2FyZSAodGhlaXIg b3duZXJzIGhhdmUgcm9vbSB0byBpbXByb3ZlbWVudCwgdGhleSBzaG91bGQgdGFrZSBjYXJlKQot U2NvcmUgYmV0d2VlbiAyMCBhbmQgNTk6IGEgd2Vic2l0ZSBpcyBjb25zaWRlcmVkIHNvbWVob3cg YXMgc2VjdXJpdHkgYXdhcmUuICh0aGVpciBvd25lcnMgaGF2ZSBkb25lIHNvbWUgdHdlYWtpbmcg dG8gdGhlIHNpdGUpLiBVc3VhbGx5IHRoaXMgaXMgdGhlIG5vcm1hbCBzdGF0dXMuCi1TY29yaW5n IDYwIG9yIGhpZ2hlcjogYSB3ZWJzaXRlIGlzIGNvbnNpZGVyZWQgYXMgc2VjdXJpdHkgYXdhcmUg KHRoZWlyIG93bmVycyBoYXZlIGRvbmUgc29tZSBoYXJkZW5pbmcgZWl0aGVyIG9uIHRoZSBwbGF0 Zm9ybSBvciBpbiB0aGUgd2ViIGFyY2hpdGVjdHVyZSkKCgpBZGRpdGlvbmFsbHkgYXMgZGVzZW5t YXNjYXJhLm1lIHdpbGwgY29sbGVjdCBhbGwgdGhlIG1ldGFkYXRhIHBvc3NpYmxlIGZyb20gYW55 IHdlYnNpdGUgaXQgY2FuIHNlcnZlIGF0IHRoZSBzYW1lIHRpbWUgdG8gdHdvIGF1ZGllbmNlczoK Ci1BdWRpdG9ycy9wZW50ZXN0ZXJzOiBhcyAxIGNsaWNrIG1ldGhvZCB0byBGaW5nZXJwcmludCBh IHdlYiBzZXJ2ZXIuCi1XZWIgb3duZXJzIHdpdGhvdXQgc2VjdXJpdHkgYmFja2dyb3VuZDogdHJ5 aW5nIHRvIGV4cGxhaW4gaW4gYSBicmllZiBzdW1tYXJ5IHRoZSB3ZWIgc2VjdXJpdHkgYXdhcmVu ZXNzIHN0YXR1cyBiYXNlZCBvbiBhbGwgdGhlIGluZm8gY29sbGVjdGVkLgoKVGhlIG1ldGFkYXRh IGV4dHJhY3Rpb24gd2lsbCBiZSB0b3RhbGx5IHBhc3NpdmUganVzdCBsaWtlIGJyb3dzaW5nIHRo ZSB3ZWJzaXRlLCBvdGhlcndpc2UgdGhlIHRvb2wgY291bGQgbm90IGJlIG9ubGluZSBmb3IgcHVi bGljIHVzZS4KU29tZSBhZGRpdGlvbmFsIGZlYXR1cmVzIG9mIHRoZSB0b29sIGJ5IGxldmVyYWdp bmcgYWxsIHRoZSBpbmZvIGNvbGxlY3RlZCBhcmU6CgotRWFzeSB0byB1c2UsIG9ubHkgZW50ZXIg YSB3ZWJzaXRlIGFkZHJlc3MgdG8gc2VlIHdoYXQncyBiZWhpbmQgdGhlIHNjZW5lcwotQXZhaWxh YmxlIGluIEVuZ2xpc2ggYW5kIFNwYW5pc2ggKGJhc2VkIG9uIHRoZSBicm93c2VyIGxhbmd1YWdl KQotRGV0ZWN0aW9uIG9mIGRvbWFpbnMgcG90ZW50aWFsbHkgYmVpbmcgdXNlZCBmb3IgcGhpc2hp bmcgKGtpbmQgb2Y6IG1haWwtZ29vZ2xlLmNvbS52ZSwgYXBwbGVzdXBwb3J0LmNvbS5teC4uKQot RGV0ZWN0aW9uIG9mIHNpdGVzIGJlaW5nIG1pcnJvcmVkIGZyb20gYW5vdGhlcnMgKHVzdWFsbHkg Zm91bmRzIGluIFBoaXNoaW5nLCBmYWtlIGFuZCBzY2FyZXdhcmUgd2Vic2l0ZXMpCi1EZXRlY3Rp b24gb2YgQ01TcyBhbmQgdmVyc2lvbnMgKHdoYXR3ZWIgY29yZSkKwqAtQnJpZWYgc3VtbWFyeSBh Ym91dCB0aGUgd2Vic2l0ZSBjb25maWd1cmF0aW9uCsKgLURpZmZlcmVudCByZXBvcnQgY29sb3Vy cyB0byBoaWdobGlnaHQgd2ViIHNlY3VyaXR5IGF3YXJlbmVzcwotRGV0ZWN0aW9uIG9mIGRvbWFp biByZWdpc3RyYXIgZm9yIC5jb20gJiAubmV0IFRMRCAoc29tZSBhcmUgbW9yZSBzZWN1cml0eSBz YXZ2eSB0aGFuIG90aGVycykKLURldGVjdGlvbiBhbmQgd2FybmluZ3MgYWJvdXQgdGhlIGRhbmdl ciBvZiBob3N0aW5nIHRoaXJkIHBhcnR5IHByb3ZpZGVycy4KLVdhcm5pbmdzIGFib3V0IG9sZCBz b2Z0d2FyZSBiZWluZyBleHBsb2l0ZWQgaW4gdGhlIHdpbGQgbGlrZSBqb29tbGEtMS41LCBSb1Ig Q1ZFLTIwMTMtMDE1Ni4uLgotV2FybmluZ3MgYWJvdXQgZG9tYWlucyAoLmNvbSAmIC5uZXQpIGV4 cGlyaW5nIGluIHRoZSBjb21pbmcgZGF5cwotRGV0ZWN0aW9uIG9mIHByb3BlcnRpZXMgZmlsZSBs ZWFrIGluIFJ1Ynkgb24gUmFpbHMuIAotV2FybmluZ3MgYWJvdXQgT3BlblNTTCB2ZXJzaW9uIGFm ZWN0ZWQgYnkgaGVhcnRibGVlZC4KLVdhcm5pbmdzIGFib3V0IERydXBhbCBDb3JlIC0gSGlnaGx5 IENyaXRpY2FsIFBTQS0yMDE0LTAwMy4KLVdhcm5pbmdzIGFib3V0IFRZUE8zIC0gSGlnaGx5IENy aXRpY2FsIEF1dGhlbnRpY2F0aW9uIGJ5cGFzcy4KLURldGVjdGlvbiBvZiBoYXJkZW5pbmcgc2ln bnMgc3VjaCBhcyBXQUYsIENETiwgcmV2ZXJzZSBwcm94eS4uLgotSW4gY2FzZSBvZiBDbG91ZEZs YXJlIHByb3RlY3RlZCB3ZWJzaXRlcywgaXQgd2lsbCB0cnkgdG8gc2hvdyB0aGUgcmVhbCBzZXJ2 ZXIgSVAuCi1EZXRlY3Rpb24gb2YgYmxhY2tsaXN0ZWQgd2Vic2l0ZXMgYnkgR29vZ2xlU2FmZUJy b3dzaW5nCi1EZXRlY3Rpb24gb2Ygc3VzcGljaW91cyBpZnJhbWVzIG9yIGhpZGRlbiBzcGFtCi1E ZXRlY3Rpb24gb2YgbWlzY29uZmlndXJhdGlvbiBvbiByb2JvdHMudHh0IGZpbGVzIChpLmU6IGV4 cG9zaW5nIGNvbmZpZGVudGlhbCBpbmZvcm1hdGlvbikKLURldGVjdGlvbiBvZiBkZWZhY2VtZW50 cywgZGlyZWN0b3J5IGxpc3RpbmdzLCBwcml2YXRlIElQIGFkZHJlc3MgaW4gY29tbWVudHMuLi4K LUluIHRoZSBjYXNlIG9mIHZlcnkga25vd24gd2Vic2l0ZXMgKEZvcmJlcywgRUEsIC5nb3YgLi4u KSB3aWxsIGluZm9ybSBhYm91dCBrbm93biBzZWN1cml0eSBpbmNpZGVudHMgd2hpY2ggdGhleSB3 ZXJlIHZpY3RpbSBvZi4KLVN0YXRzIGFib3V0IGdlbmVyYWwgd2ViIHNlY3VyaXR5IGF3YXJlbmVz cyBhbmQgc29tZSBkZXRhaWxzIG9mIGNvbXByb21pc2VkIHdlYnNpdGVzCgpUaGUgZ29hbCBvZiB0 aGlzIHRvb2wgaXMgTk9UIHRvIGNvbnNpZGVyIGEgd2Vic2l0ZSBlaXRoZXIgc2VjdXJlIG9yIGlu c2VjdXJlLCBidXQgdG8gY29uc2lkZXIgdGhlIHdlYnNpdGUgb3duZXJzIHNlY3VyaXR5IGF3YXJl IGluIGRpZmZlcmVudCBsZXZlbHMgYXMgZXhwbGFpbmVkLgoKSW4gbXkgb2JzZXJ2YXRpb25zIGR1 cmluZyB0aGUgbGFzdCB5ZWFycyBJIGNvdWxkIHNwb3QgYSBjb21tb24gcGF0dGVybiBhbW9uZyB0 aGUgdmFzdCBtYWpvcml0eSBvZiBjb21wcm9taXNlZCB3ZWJzaXRlcyBiZWluZyB1c2VkIGluIGFs bCBraW5kIG9mIG1hbHdhcmUgY2FtcGFpZ25zOiB0aGV5IGFyZSBhbGwgcG9vciBtYWludGFpbmVk LgoKV2l0aCB0aGlzIFBvQyB0aGUgZ29hbCBpcyB0byBoaWdobGlnaHQgdGhlIGltcG9ydGFuY2Ug dG8ga2VlcCB1cGRhdGVzIHRoZSB3ZWJzaXRlcy4gVGhlIGxvd2VzdCB0aGUgc2NvcmUgdGhlIG1v cmUgdnVsbmVyYWJsZSBhIHdlYnNpdGUgaXMgYW5kIHRoZXJlZm9yZSBwcm9uZSB0byBiZSBjb21w cm9taXNlZC4gQmVhciBpbiBtaW5kIHRoYXQgdGhpcyBhbmFseXNpcyBpcyB2YWxpZCBmb3IgbW9z dCBvZiB0aGUgY3VycmVudCBhdHRhY2tzIG9uIHRoZSB3ZWIgbm93YWRheXM7IGNvbXByb21pc2Vk IHdlYnNpdGVzIHRvIHNlcnZlIGFzIHJlZGlyZWN0b3JzLCB0byBzdG9yZSBwaGlzaGluZ3MsIGFz IHByb3h5cyBmb3IgZXhwbG9pdCBraXRzIGFuZCBhbnkgbWFsaWNpb3VzIHB1cnBvc2VzIG9mIG1h bHdhcmUgY2FtcGFpZ25zLiBBbGwgdGhlIGFib3ZlIGFjdGl2aXR5IHdpdGhpbiB0aGUgY29tcHJv bWlzZWQgd2Vic2l0ZXMgaXMgdGFraW5nIHBsYWNlIHdpdGhvdXQgdGhlaXIgb3duZXLCtHMga25v d2xlZGdlLCBpbiB3ZWIgc2VydmVycyB3aGljaCBjYW4gYmUgb25saW5lIGR1cmluZyB5ZWFycyB3 aXRob3V0IHVwZGF0ZXMuIEFsbCB0aGUgbWFsaWNpb3VzIGFjdGl2aXR5IGlzIGhhcHBlbmluZyBi ZWhpbmQgdGhlIHNjZW5lcy4gTGF0ZXIgdGhlIG93bmVyIG9mIHRoZSB3ZWJzaXRlIHdpbGwgZ2V0 IGNvbXBsYWlucyBlaXRoZXIgZnJvbSB0aGVpciB1c2VycyBvciB0aGUgaG9zdGluZyBjb21wYW55 LiBUaGUgcHJvYmxlbSBpcyB0aGF0IHRoZXNlIG93bmVycyBhcmUgbm90IHNlY3VyaXR5IGF3YXJl IChub3IgdGhlIGhvc3RpbmcgY29tcGFuaWVzKS4gQnV0IGlmIHlvdSBoYXZlIGRlcGxveWVkIGEg d2Vic2l0ZSB5b3Ugc2hvdWxkIHRha2Ugc29tZSBwcmVjYXV0aW9ucywgeW91IGNhbiBub3QgcmVs eSBvbiB0aGUgc29md2FyZSB2ZW5kb3JzLCBjb21tdW5pdHkgb3IgdGhlIGhvc3RpbmdzLiBJdCBp cyBsaWtlIGRyaXZpbmcgYSBjYXIsIHlvdSBuZWVkIGZvcm1hdGlvbiBhbmQgYSBsaWNlbnNlIGFu ZCB0aGVuIHlvdSBuZWVkIHRvIGtlZXAgeW91IGNhciBpbiBnb29kIHN0YXR1cywgZG9pbmcgdGhl IHllYXJseSBjaGVja3MgYW5kIHNvIG9uLCBpbiBvcmRlciB0byBub3QgYmUgYSBkYW5nZXIgaW4g dGhlIHJvYWQuIEJ5IG5vdCB0YWtpbmcgcHJlY2F1dGlvbnMgeW91IHdvdWxkIGJlIGNvbnNpZGVy ZWQgYXMgYW4gaXJyZXNwb25zaWJsZSBhbmQgeW91IHdpbGwgZW5kIHVwIHdpdGggZmluZXMgYXQg YmVzdC4gVGhlIHNhbWUgaW4gSW50ZXJuZXQsIGlmIHlvdSBkbyBub3QgdGFrZSBwcmVjYXV0aW9u cyB3aXRoIHlvdXIgd2Vic2l0ZSB0aGVuIHlvdSBhcmUgZmVlZGluZyB0aGUgbWFsd2FyZSBlY29z eXN0ZW0gaW4gdGhlIEludGVybmV0LgoKSGF2aW5nIGRvbmUgc29tZSB0ZXN0cyBbMV0gd2l0aCB0 aGUgZGVzZW5tYXNjYXJhLm1lIHNjb3JpbmcgdG93YXJkcyB0ZW5zIG9mIHdlYnNpdGVzIGZyb20g dGhlIHNhbWUgbWFsd2FyZSBjYW1wYWlnbi4gQW5kIGJ5IG9ic2VydmluZyB0aGUgcmVzdWx0cyBk dXJpbmcgdGhlIGxhc3QgeWVhcnMgb2YgdXNpbmcgdGhpcyBzY29yaW5nIEkgY2FuIHNlZSB0aGUg YWNjdXJhY3kgdG8gZXZhbHVhdGUgdGhlIHJlbGF0aW9uIGJldHdlZW4gcG9vciBtYWludGFpbmVk IHdlYnNpdGVzIGFuZCBob3cgdGhleSBiZWNvbWUgY29tcHJvbWlzZWQgaXMgYXJvdW5kIDgwJS4K ClRoZXJlZm9yZSBJIGhhdmUgZGVjaWRlZCB0byBwdWJsaXNoIGFuIEFQSSBbMl0gdG8gdGhpcyBz ZXJ2aWNlIHdpdGggYW4gaW50ZXJlc3RpbmcgdXNlIGludGVuZGVkIGZvciBhbiBpbml0aWFsIGZ1 bGxkaXNjbG9zdXJlIGFuZCBhcyBhIHdha2UgdXAgY2FsbCBmb3IgdGhlaXIgd2ViIG93bmVyczog cXVlcnlpbmcgVVJMcyBwcm9uZSB0byBiZSBjb21wcm9taXNlZDoKaHR0cDovL2Rlc2VubWFzY2Fy YS5tZS9hcGkvaG93dG8jcHJvbmV0bGQKCllvdSBjYW4gcGxheSB3aXRoIGh0dHAgcmVxdWVzdHMg c3VjaCBhczoKaHR0cDovL2Rlc2VubWFzY2FyYS5tZS9hcGkvbGVzc3Njb3JlYnl0bGQvZ292Cmh0 dHA6Ly9kZXNlbm1hc2NhcmEubWUvYXBpL2xlc3NzY29yZWJ5dGxkL2JyCmh0dHA6Ly9kZXNlbm1h c2NhcmEubWUvYXBpL2xlc3NzY29yZWJ5dGxkL2NvbQoKVGhlcmUgaXMgbm90aGluZyBpbGxlZ2Fs IG5vciB1bmV0aGljYWwgb24gcHJvdmlkaW5nIHRoaXMgaW5mb3JtYXRpb24uIEFsbCB0aGUgaW5m byBpcyBwdWJsaWMsIHRoZSBkZXNlbm1hc2NhcmEubWUgc2VydmljZSBqdXN0IGNvbGxlY3QgaXQg YW5kIGludGVycHJldCBpdC4KCmh0dHA6Ly9kZXNlbm1hc2NhcmEubWUKCgpSRUZFUkVOQ0VTCgpb MV0gaHR0cDovL3B3bmVkd2Vic2l0ZXMuY29tL2hvdy10by1zcG90LXdlYnNpdGUtZWFzeS10YXJn ZXQuaHRtbFsyXSBodHRwOi8vZGVzZW5tYXNjYXJhLm1lL2FwaS9ob3d0bwoKVGhhbmtzCkVtaWxp bwoKIArCoAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K U2VudCB0aHJvdWdoIHRoZSBGdWxsIERpc2Nsb3N1cmUgbWFpbGluZyBsaXN0Cmh0dHBzOi8vbm1h cC5vcmcvbWFpbG1hbi9saXN0aW5mby9mdWxsZGlzY2xvc3VyZQpXZWIgQXJjaGl2ZXMgJiBSU1M6 IGh0dHA6Ly9zZWNsaXN0cy5vcmcvZnVsbGRpc2Nsb3N1cmUv