dHJlZSBkMjU5NWYxMWE3NTA5MGNiNjg0M2JkZjgxMjZmYzZkMmJmYzFmM2RjCnBhcmVudCA3NjdlNmY2ZjlkNGZhZTU2OTRjODczMWI5M2NlNzRmY2EyNmY3MzJlCmF1dGhvciBBbGV4YW5kcmUgSnVsbGlhcmQgPGp1bGxpYXJkQHdpbmVocS5vcmc+IDkwMzgxMjYzNiArMDAwMApjb21taXR0ZXIgQWxleGFuZHJlIEp1bGxpYXJkIDxqdWxsaWFyZEB3aW5laHEub3JnPiA5MDM4MTI2MzYgKzAwMDAKClJlbGVhc2UgOTgwODIyCgpTYXQgQXVnIDIyIDE3OjQ2OjE5IDE5OTggIFVscmljaCBXZWlnYW5kIDx3ZWlnYW5kQGluZm9ybWF0aWsudW5pLWVybGFuZ2VuLmRlPgoKCSogW2luY2x1ZGUvZG9zZXhlLmhdIFtpbmNsdWRlL21vZHVsZS5oXSBbaW5jbHVkZS9wZV9pbWFnZS5oXSAKCSAgW2luY2x1ZGUvcHJvY2Vzcy5oXSBbaW5jbHVkZS93aW5kb3dzLmhdIFtsb2FkZXIvZG9zL21vZHVsZS5jXQoJICBbbG9hZGVyL21vZHVsZS5jXSBbbG9hZGVyL25lL21vZHVsZS5jXSBbbG9hZGVyL3BlX2ltYWdlLmNdCgkgIFtzY2hlZHVsZXIvcHJvY2Vzcy5jXSBbd2luMzIvcHJvY2Vzcy5jXQoJUGFydGlhbGx5IGltcGxlbWVudGVkIENyZWF0ZVByb2Nlc3MzMi4KCgkqIFt3aW4zMi9kZXZpY2UuY10gW3JlbGF5MzIva2VybmVsMzIuc3BlY10gW3NjaGVkdWxlci9rMzJvYmouY10KCSAgW21pc2MvcmVnaXN0cnkuY10gW3dpbjMyL2ZpbGUuY10KCVBhcnRpYWxseSBpbXBsZW1lbnRlZCBWeERDYWxsIChWTU0gcmVnaXN0cnkgc2VydmljZXMpLgoKCSogW2ZpbGVzL2Rvc19mcy5jXQoJRE9TRlNfRmluZE5leHQgbWFkZSB0aHJlYWQtc2FmZS4KCgkqIFtpbmNsdWRlL3NpZ19jb250ZXh0LmhdIFtpbmNsdWRlL3N5c2xldmVsLmhdIFtsb2FkZXIvc2lnbmFsLmNdCgkgIFtzY2hlZHVsZXIvc3lzbGV2ZWwuY10gW3Rvb2xzL2J1aWxkLmNdCglSZXBsYWNlZCBDQUxMVE8xNl9DdXJyZW50X2ZzIGJ5IFNZU0xFVkVMX1dpbjE2Q3VycmVudFRlYi4KCgkqIFt3aW4zMi9rZXJuZWwzMi5jXQoJQnVnZml4OiBRVF9UaHVuay9GVF9UaHVuayBzaG91bGQgcmV0dXJuICdsb25nJyBpbiBEWDpBWCwgbm90IEVBWC4KCgkqIFtpZjE2MzIvcmVsYXkuY10gW3JlbGF5MzIvYnVpbHRpbjMyLmNdIFt3aW5kb3dzL21zZ2JveC5jXQoJICBbbXNkb3MvaW50MjAuY10gW21zZG9zL2ludDIxLmNdCglVc2UgRXhpdFByb2Nlc3MgaW5zdGVhZCBvZiBUQVNLX0tpbGxDdXJyZW50VGFzay4KCgkqIFtpbmNsdWRlL3Rhc2suaF0gW2luY2x1ZGUvdGhyZWFkLmhdIFtsb2FkZXIvdGFzay5jXSAKCSAgW3NjaGVkdWxlci90aHJlYWQuY10gW2luY2x1ZGUvcXVldWUuaF0gW3dpbmRvd3MvbWVzc2FnZS5jXSAKCSAgW3dpbmRvd3MvcXVldWUuY10gW3dpbmRvd3Mvd2luLmNdCglQcmV2ZW50IFdpbjMyIHRocmVhZHMgZnJvbSBlbnRlcmluZyB0aGUgVEFTS19SZXNjaGVkdWxlIGxvb3AuCgkoTm90ZTogV2luMzIgbWVzc2FnaW5nIHN0aWxsIGRvZXNuJ3Qgd29yayBjb3JyZWN0bHk7IHRoaXMgcGF0Y2gKCWlzIGp1c3QgcHJldmVudGluZyB0aGUgc3lzdGVtIGZyb20gY3Jhc2hpbmcgd2hlbiBXaW4zMiB0aHJlYWRzCgljYWxsIG1lc3NhZ2luZyBmdW5jdGlvbnMuIE1lc3NhZ2VzIHdpbGwgcHJvYmFibHkgc3RpbGwgZ2V0IGxvc3QuKQoKCSogW3NjaGVkdWxlci9jcml0c2VjdGlvbi5jXQoJRGVhY3RpdmF0ZWQgdGhlIHVzZSBvZiBTRU1fVU5ETyBmb3IgdGhlIFNZU1RFTV9MT0NLIHNlbWFwaG9yZTsKCWZvciBzb21lIHJlYXNvbiwgdGhpcyBsZWFkcyB0byBwcm9ibGVtcyBhZnRlciB0aHJlYWRzIHRlcm1pbmF0ZS4uLiAKClNhdCBBdWcgMjIgMTU6MDA6MDAgMTk5OCAgSvxyZ2VuIFNjaG1pZWQgPGp1ZXJnZW4uc2NobWllZEBtZXRyb25ldC5kZT4KCgkqIFtpbmNsdWRlL2F1dGhvcnMuaF0KCU5ldyBmaWxlLCBpbmNsdWRlcyBhbGwgbmFtZXMgb2YgdGhlIGRldmVsb3BlciAoZm9ybWVyIHNoZWxsLmMpCgoJKiBbTWFrZWZpbGUuaW5dW2NvbmZpZ3VyZV1bY29uZmlndXJlLmluXVtkbGxzL01ha2VmaWxlLmluXQoJICBbZGxscy9zaGVsbDMyL01ha2VmaWxlLmluXVtzaHJlcy5yY10KCUNyZWF0ZWQgZGxscy9zaGVsbDMyIGFuZCBtb3ZlZCB0aGUgc2hlbGwzMiBzdHVmZiBpbiBpdC4KCVN0YXJ0ZWQgdG8gY3JlYXRlIGludGVybmFsIHJlc291cmNlcy4KCgkqIFtkbGxzL3NoZWxsMzIvKl0KCVNwbGl0IHRoZSBzaGVsbDMyIGltcGxlbWVudGF0aW9uIGludG8gc21hbGxlciBmaWxlcy4KCU5ldyBjbGFzc2VzOiBJQ29udGV4dE1lbnUsIElFeHRyYWN0SWNvbiwgSVNoZWxsVmlldy4KCUltcGxlbWVudGVkIFNoZWxsX0dldEltYWdlTGlzdCgpLgoJc2hlbGwzMiBsaW5rcyB0byBjb21jdGwzMiBub3cgZHluYW1pY2FsbHkgc28gaXQgY2FuIHVzZQoJaW50ZXJuYWwvZXh0ZXJuYWwgaW1wbGVtZW50YXRpb25zLgoKCSogW2RvY3VtZW50YXRpb24vaW50ZXJuYWwtZGxsXSBbZG9jdW1lbnRhdGlvbi9zaGVsbDMyXQoJTmV3LCBjb3VsZCBhbnlib2R5IGRvIGEgc3BlbGxjaGVjaz8KCgkqIFtpbmNsdWRlL2NvbW1jdHJsLmhdCglNYW55IG5ldyBMViBjb25zdGFudHMsIHN0cnVjdHVyZXMsIGZ1bmN0aW9ucy4KCgkqIFtjb250cm9scy9jb21jdGwzMnVuZG9jLmNdCglSZXdyb3RlIHRoZSBEU0EqIGZ1bmN0aW9ucy4KCgkqIFt3aW5kb3dzL3dpbnBvcy5jXQoJU2V0U2hlbGxXaW5kb3czMiwgR2V0U2hlbGxXaW5kb3czMi4KClNhdCBBdWcgMjIgMTQ6MDI6MTUgMTk5OCAgQWxleGFuZGVyIEx1a3lhbm92IDxsYXZAbG9uZy55YXIucnU+CgoJKiBbbG9hZGVyL3Jlc291cmNlLmNdCglNYXJrIGxhc3QgYWNjZWxlcmF0b3IgYXMgc3VjaCBpbiBMb2FkQWNjZWxlcmF0b3JzMzJXLgoKCSogW3JlbGF5MzIvc2hlbGwzMi5zcGVjXSBbbWlzYy9zaGVsbC5jXQoJQWRkIHN0dWJzIGZvciBTSEdldFNwZWNpYWxGb2xkZXJQYXRoW0FXXS4KClNhdCBBdWcgMjIgMDI6MDc6NDIgMTk5OCAgQWRyaWFuIEhhcnZleSA8YWRyaWFuQHNlbGVjdC5jb20uYXU+CgoJKiBbaW5jbHVkZS9maWxlLmhdIFtmaWxlL2ZpbGUuY10gW21zZG9zL2ludDIxLmNdIFttc2Rvcy92eGQuY10KCSAgW21pc2MvbHpleHBhbmQuY10gW3dpbjMyL2tlcm5lbDMyLmNdIFtkb2N1bWVudGF0aW9uL2ZpbGVoYW5kbGVzXQoJRml4ZWQgZmlsZSBoYW5kbGUgaGFuZGxpbmcuICBDcmVhdGVkIHVuaXZlcnNhbCBIRklMRTE2IHRvIEhGSUxFMzIKCXRyYW5zbGF0aW9uIG1hY3JvIGZyb20gbXNkb3MvaW50MjEgY29kZSBieSBPdmUgS2FhdmVuLgoJVXNlZCBtYWNybyBpbiBhbGwgV2luMTYgZnVuY3Rpb25zIHNvIHRoYXQgd2luMzIgaGFuZGxlcyBhcmUgdHJhbnNsYXRlZAoJdG8gYXZvaWQgRE9TL1dpbjE2IHN0ZHh4IGhhbmRsZXMuCglSZW1vdmVkIGhhbmRsZSB0cmFuc2xhdGlvbiBmcm9tIGludDIxLmMgd2hlcmUgV2luMTYgZnVuY3Rpb25zIGFyZQoJY2FsbGVkLiAgQ2hhbmdlZCByZW1haW5pbmcgY2FsbHMgdG8gdXNlIG5ldyBtYWNybyBuYW1lcy4KCURvY3VtZW50ZWQgZmlsZWhhbmRsZSBoYW5kbGluZyBhbmQgZGlmZmVyZW5jZXMgYmV0d2VlbiB3aW4gMTYgJiAzMi4KCkZyaSBBdWcgMjEgMjA6MzI6NDkgMTk5OCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAbHJjLmVwZmwuY2g+CgoJKiBbc2VydmVyL3Byb2Nlc3MuY10gW3NlcnZlci90aHJlYWQuY10KCUltcGxlbWVudGVkIG9iamVjdCB3YWl0IHF1ZXVlcyBhbmQgc3luY2hyb25pemF0aW9uLgoKRnJpIEF1ZyAyMSAxODo0MDowMiAxOTk4ICBIdXcgRCBNIERhdmllcyA8ZGF2aWVzaEBhYmFjdXMucGh5c2ljcy5veC5hYy51az4KCgkqIFtncmFwaGljcy9wc2Rydi8qXQoJREVWTU9ERSBkbVBhcGVye1dpZHRofExlbmd0aH0gZmllbGRzIGFyZSBpbiAwLjFtbS4KCVNlbGVjdCBhIDEwMCBwaXhlbCBkZWZhdWx0IGZvbnQgaW4gQ3JlYXRlREMuCgpUaHUgQXVnIDIwIDIyOjQ3OjM5IDE5OTggIFV3ZSBCb25uZXMgIDxib25AZWxla3Ryb24uaWtwLnBoeXNpay50dS1kYXJtc3RhZHQuZGU+CgoJKiBbb2JqZWN0cy9iaXRtYXAuY10KCUhhbmRsZSBiaXRzPTMyIGluIFNldEJpdG1hcEJpdHMzMiBhbmQgR2V0Qml0bWFwQml0czMyLgoKCSogW21zZG9zL2ludDIxLmNdCglBZGQgaGFuZGxpbmcgb2YgSW50MjEgMEEgYW5kIDM3LgoKCSogW21pc2MvY29tbWRsZy5jXQoJVXNlIE1hcEhNb2R1bGVMUyBhbmQgTWFwSE1vZHVsZVNMIHdoZW4gdHJhbnNsYXRpbmcgSElOU1RBTkNFMTYgdG8KCUhJTlNUQU5DRTMyIGFuZCB2aWNlIHZlcnNhLgoKCSogW3dpbjMyL2ZpbGUuY10KCUNyZWF0ZUZpbGUzMkE6IEFib3J0IGlmIGZpbGVuYW1lID09IE5VTEwuCgpUaHUgQXVnIDIwIDEyOjI4OjMxIDE5OTggIE1hcmN1cyBNZWlzc25lciA8bWFyY3VzQGpldC5mcmFua2VuLmRlPgoKCSogWyovKl0KCUxvdHMgb2YgbWlzc2luZyBwcm90b3R5cGVzIGFkZGVkLCBzb21lIHBhcmFtZXRlciB0eXBlcyBhZGFwdGVkIHRvIG1hdGNoCglTREsuCgoJKiBbZGVidWdnZXIvc3RhYnMuY10KCURvbid0IGxvb3AgZm9yZXZlciBpZiB3ZSBkb24ndCBmaW5kIHdpbmUgb3Igb25lIG9mIHRoZSBsaWJ4eHguc28uCgoJKiBbbG9hZGVyL25lL21vZHVsZS5jXQoJSW1wbGVtZW50ZWQgTWFwSE1vZHVsZUxTLE1hcEhNb2R1bGVTTCxNYXBIaW5zdExTLE1hcEhpbnN0U0wuCgoJKiBbbWlzYy9uZXR3b3JrLmNdCglJbXBsZW1lbnRlZCBXTmV0R2V0VXNlcjMyQS4KCgkqIFttaXNjL3NoZWxsb3JkLmNdCglJbXBsZW1lbnRlZCBJTFJlbW92ZUxhc3RJRC4KCgkqIFttdWx0aW1lZGlhL2Rzb3VuZC5jXQoJRml4ZWQgU3RhckNyYWZ0IG1lbW9yeSBsZWFrLgoKCSogW2dyYXBoaWNzL2RkcmF3LmNdCglSZW1vdmVkIHNvbWUgdW5uZWNlc3Nhcnkgc2ltcGxlIHJlbGF5aW5nIGZ1bmN0aW9ucywgdHJpZWQgcG9saXNoaW5nCgl1cCB0aGUgWGxpYiBpbXBsZW1lbnRhdGlvbiAoc3RpbGwgZG9lc24ndCB3b3JrKSwgdGVtcC4gcmVtb3ZlZCBYc2htCgljb2RlICh0byBiZSByZW1lcmdlZCB3aXRoIHdvcmtpbmcgWGxpYiBjb2RlKS4KClR1ZSBBdWcgMTggMjI6Mjk6MTcgMTk5OCAgT3ZlIEthYXZlbiA8b3Zla0BhcmN0aWNuZXQubm8+CgoJKiBbbXVsdGltZWRpYS9tbWlvLmNdIFttdWx0aW1lZGlhL21tc3lzdGVtLmNdCglGaXhlZCBtb3N0IG1taW8gYnVncywgZnVsbHkgaW1wbGVtZW50aW5nIG1taW9TZXRCdWZmZXIKCWJ1ZmZlcmluZywgYWJpbGl0eSB0byByZWFkIG1lbW9yeSBmaWxlcywgYW5kIHRoZQoJc25kUGxheVNvdW5kKCkgU05EX01FTU9SWSBmbGFnLiBNb3N0IG1taW8tdXNpbmcgcHJvZ3JhbXMKCW5vdyB3b3JrIGZpbmUuCgoJKiBbaW5jbHVkZS9kb3NleGUuaF0gW2luY2x1ZGUvbWlzY2VtdS5oXSBbaW5jbHVkZS9tb2R1bGUuaF0KCSAgW2xvYWRlci9tb2R1bGUuY10gW2xvYWRlci90YXNrLmNdIFttc2Rvcy9kb3NtZW0uY10KCUltcHJvdmVkIERPUyBWTSBmbGV4aWJpbGl0eSBhbmQgcG9ydGFiaWxpdHkgc29tZXdoYXQuIChEaWQKCUkgZ2V0IHRoZSAjaWZkZWZzIHJpZ2h0IHRoaXMgdGltZSwgQlNELWVycz8pCgoJKiBbbXNkb3MvaW50MjEuY10KCU1hZGUgIkdldCBDdXJyZW50IFBTUCBhZGRyZXNzIiB3b3JrIGFzIGV4cGVjdGVkIGluIGEgRE9TIFZNLgoKCSogW2xvYWRlci9kb3MvKl0KCUJlZ2FuIGltcHJvdmluZyBmbGV4aWJpbGl0eSBhbmQgcG9ydGFiaWxpdHkgc29tZXdoYXQuIEl0CglzaG91bGQgYmUgZWFzaWVyIHRvIGFkZCBEUE1JIFJNQ0IgY2FsbGJhY2tzIG5vdy4gVGhlCglET1MgVk0gbm8gbG9uZ2VyIGxlYXZlcyBiaWcgZmlsZXMgbHlpbmcgYXJvdW5kIGluIC90bXAKCWFmdGVyIGEgY3Jhc2guCgpUdWUgQXVnIDE4IDEyOjM4OjMxIDE5OTggVHVyY2hhbm92IFNlcmdleSA8dHVyY2hhbm92QHVzYS5uZXQ+CgoJKiBbcmVsYXkzMi93aW5tbS5zcGVjXQoJVGhpcyBwYXRjaCBhbGxvd3MgV2luQW1wIHRvIHBsYXkgV0FWIGZpbGVzIChhdCBsZWFzdCBpbiBQQ00KCWZvcm1hdCkuCgpTdW4gQXVnIDE2IDA1OjM0OjEzIDE5OTggIFBhYmxvIFNhcmF0eGFnYSA8c3J0eGdAY2hhbmFlLmFscGhhbmV0LmNoPgoKCSogW3dpbmRvd3Mva2V5Ym9hcmQuY10KCUNvcnJlY3RlZCBrZXlib2FyZCBjb2RlIHRvIHByb3Blcmx5IGhhbmRsZSBrZXlzIDogPyB+IGFuZCAiCglvbiBub24gVVMga2V5Ym9hcmRzLgoKU2F0IEF1ZyAxNSAxODo0NzoxNCAxOTk4ICBCcmlhbiBDcmFmdCA8YmNib3lAZG9yb3RoeS53YW5nbGFiLmJyYW5kZWlzLmVkdT4KCgkqIFt3aW5kb3dzL3dpbi5jXQoJRml4ZWQgc2V2ZXJlIGJ1ZyBpbiBFbnVtQ2hpbGRXaW5kd29zKCkuCgpUaHUgQXVnIDEzIDIxOjA1OjM1IDE5OTggIEVyaWMgS29obCA8ZWtvaGxAYWJvLnJoZWluLXplaXR1bmcuZGU+CgoJKiBbY29udHJvbHMvdG9vbHRpcHMuY10KCUZpeGVkIHNvbWUgYnVncy4gQWRkZWQgc3ViY2xhc3Npbmcgc3VwcG9ydC4KCgkqIFtjb250cm9scy90b29sYmFyLmNdCglJbXByb3ZlZCB0b29sdGlwIGludGVncmF0aW9uLiBGaXhlZCBzb21lIGJ1Z3MuCgoJKiBbY29udHJvbHMvY29tbWN0cmwuY10KCUNoYW5nZWQgY29udHJvbCByZWdpc3RyYXRpb24gYW5kIGFkZGVkIHNvbWUgZG9jdW1lbnRhdGlvbi4KCUZpeGVkIFNob3dIaWRlTWVudUN0bC4KCgkqIFtjb250cm9scy9yZWJhci5jXVtpbmNsdWRlL3JlYmFyLmhdW2luY2x1ZGUvY29tbWN0cmwuaF0KCUltcHJvdmVkIHJlYmFyIGltcGxlbWVudGF0aW9uIChzdGlsbCBubyBkaXNwbGF5KS4KCgkqIFtjb250cm9scy9wYWdlci5jXVtpbmNsdWRlL3BhZ2VyLmhdW2luY2x1ZGUvY29tbWN0cmwuaF0KCUltcHJvdmVkIHBhZ2VyIGltcGxlbWVudGF0aW9uIChzdGlsbCBubyBkaXNwbGF5KS4KCgkqIFttaXNjL2ltYWdlbGlzdC5jXQoJRml4ZWQgYSBidWcuCgoJKiBbZG9jdW1lbnRhdGlvbi9jb21tb25fY29udHJvbHNdCglVcGRhdGVkLgoKU3VuIEF1ZyAgOSAxOTo1MDoyMCAxOTk4ICBKYW1lcyBKdXJhbiA8anJqMTIwQHBzdS5lZHU+CgoJKiBbTWFrZWZpbGUuaW5dIFtkb2N1bWVudGF0aW9uL01ha2VmaWxlLmluXSAKCSAgW3Byb2dyYW1zL01ha2VmaWxlLmluXSBbcHJvZ3JhbXMvKi9NYWtlZmlsZS5pbl0KCUFkZGVkIHVuaW5zdGFsbCBydWxlcywgY2xlYW5lZCB1cCBpbnN0YWxsIHJ1bGVzIGEgbGl0dGxlIGJpdC4KClN1biBBdWcgIDkgMTM6MjE6MzUgMTk5OCAgQW5kcmVhcyBNb2hyIDwxMDAuMzA5MzZAZ2VybWFueS5uZXQ+CgoJKiBbbG9hZGVyL25lL21vZHVsZS5jXSBbaWYxNjMyL2tlcm5lbC5zcGVjXQoJQWRkZWQgdGhlIHVuZG9jdW1lbnRlZCBISVdPUkQgb2YgR2V0TW9kdWxlSGFuZGxlIChoRmlyc3RNb2R1bGUpLgoKCSogW2xvYWRlci9uZS9zZWdtZW50LmNdCglXaW5lIGZvcmdvdCB0byBzZXQgc29tZSBORV9TRUdGTEFHU18qLgoJQ29tYmluZWQgd2l0aCBhbm90aGVyIGxvYWRlciBjaGFuZ2UsIHRoaXMgZml4ZWQgdGhlCgkiQkxJTktFUiAtLSBlcnJvciBpbiBsb2FkaW5nIG1vZHVsZSIgb3IgZ2hvc3QgTWVzc2FnZUJveCBwcm9ibGVtCgl0aGF0IGFib3V0IDElIG9mIGFsbCBXaW5kb3dzIHByb2dyYW1zIGhhdmUuCglTb21lIEJMSU5LRVIgcHJvZ3JhbXMgc3RpbGwgZG9uJ3Qgd29yaywgdGhvdWdoLgoJQnV0IEknbSB3b3JraW5nIG9uIGl0LCB3aXRoIGdyZWF0IGhlbHAgZnJvbSBCbGlua2luYy4KCgkqIFtsb2FkZXIvdGFzay5jXQoJSW5pdFRhc2sgbmVlZHMgdG8gZGVjcmVtZW50IHRoZSBTUCByZWdpc3RlciBieSB0d28gYXMgV2luOTUgZG9lcy4KClN1biBBdWcgIDkgMDI6NDE6MjggMTk5OCAgVWxyaWNoIFdlaWdhbmQgPHdlaWdhbmRAaW5mb3JtYXRpay51bmktZXJsYW5nZW4uZGU+CgoJKiBbaWYxNjMyL2tlcm5lbC5zcGVjXSBbcmVsYXkzMi9rZXJuZWwzMi5zcGVjXSBbc2NoZWR1bGVyL3N5c2xldmVsLmNdCgkgIFtsb2FkZXIvbWFpbi5jXSBbd2luMzIvb3JkaW5hbHMuY10gW2luY2x1ZGUvc3lzbGV2ZWwuaF0gCgkgIFtzY2hlZHVsZXIvTWFrZWZpbGUuaW5dCglJbXBsZW1lbnRlZCBXaW45NSAnc3lzbGV2ZWwnIHJvdXRpbmVzIChpbmNsdWRpbmcgV2luMTZMb2NrKS4KCgkqIFtpZjE2MzIvcmVsYXkuY10gW2lmMTYzMi90aHVuay5jXSBbdG9vbHMvYnVpbGQuY10gW2xvYWRlci90YXNrLmNdCgkgIFtsb2FkZXIvbmUvc2VnbWVudC5jXSBbd2luMzIva2VybmVsMzIuY10gW21lbW9yeS9zZWxlY3Rvci5jXQoJICBbaW5jbHVkZS9zdGFja2ZyYW1lLmhdIFtpbmNsdWRlL3RocmVhZC5oXQoJMTYtYml0ICVmcyBoYW5kbGluZyByZXZpc2VkLiAgVXNlIFdpbjE2TG9jayB3aGVyZSBhcHByb3ByaWF0ZS4KCgkqIFtpbmNsdWRlL3RocmVhZC5oXSBbc2NoZWR1bGVyL3N5bmNocm8uY10gW3dpbmRvd3MvbWVzc2FnZS5jXSAKCSAgW3dpbmRvd3MvcXVldWUuY10gW3dpbjMyL3Byb2Nlc3MuY10KCUltcGxlbWVudGVkIE1zZ1dhaXRGb3JNdWx0aXBsZU9iamVjdHMuCgoJKiBbZmlsZXMvY2hhbmdlLmNdIFtmaWxlcy9NYWtlZmlsZS5pbl0gW3NjaGVkdWxlci9rMzJvYmouY10gCgkgIFt3aW4zMi9uZXdmbnMuY10KCUltcGxlbWVudGVkIChkdW1teSkgZmlsZSBjaGFuZ2Ugbm90aWZpY2F0aW9uIG9iamVjdHMuCgoJKiBbZGVidWdnZXIvZGJnLnldIFtzY2hlZHVsZXIvcHJvY2Vzcy5jXSBbc2NoZWR1bGVyL3RocmVhZC5jXQoJICBbaW5jbHVkZS9wcm9jZXNzLmhdIFtpbmNsdWRlL3RocmVhZC5oXQoJU3VzcGVuZCBhbGwgdGhyZWFkcyBleGNlcHQgY3VycmVudCB3aGVuIGhpdHRpbmcgZGVidWdnZXIgYnJlYWsgcG9pbnQuCgoJKiBbb2JqZWN0cy9kaWIuY10KCUJ1Z2ZpeCBmb3IgQ3JlYXRlRElCU2VjdGlvbi4K