Tm90ZQo9PT09CgpUaGlzIGZpbGUgY29udGFpbnMgaW5mb3JtYXRpb24gYWJvdXQgcGVvcGxlIHdobyBhcmUgcGVybWl0dGVkIHRvIG1ha2UKY2hhbmdlcyB0byB2YXJpb3VzIHBhcnRzIG9mIHRoZSBjb21waWxlciBhbmQgYXNzb2NpYXRlZCBsaWJyYXJpZXMuCgpQbGVhc2UgZG8gbm90IGNvbnRhY3QgdGhlIHBlb3BsZSBpbiB0aGlzIGZpbGUgZGlyZWN0bHkgdG8gcmVwb3J0CnByb2JsZW1zIGluIEdDQy4KCkZvciBnZW5lcmFsIGluZm9ybWF0aW9uIGFib3V0IEdDQywgcGxlYXNlIHZpc2l0OgoKICBodHRwOi8vZ2NjLmdudS5vcmcKClRvIHJlcG9ydCBwcm9ibGVtcyBpbiBHQ0MsIHBsZWFzZSB2aXNpdDoKCiAgaHR0cDovL2djYy5nbnUub3JnL2J1Z3MuaHRtbAoKTWFpbnRhaW5lcnMKPT09PT09PT09PT0KCgkJCUJsYW5rZXQgV3JpdGUgUHJpdnMuCgpSaWNoYXJkIEVhcm5zaGF3CQkJCXJlYXJuc2hhQGFybS5jb20KUmljaGFyZCBIZW5kZXJzb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnRoQHJlZGhhdC5jb20KR2VvZmZyZXkgS2VhdGluZwkJCQlnZW9mZmtAZ2VvZmZrLm9yZwpSaWNoYXJkIEtlbm5lcgkJCQkJa2VubmVyQG55dS5lZHUKSmVmZiBMYXcJCQkJCWxhd0ByZWRoYXQuY29tCk1pY2hhZWwgTWVpc3NuZXIJCQkJbWVpc3NuZXJAcmVkaGF0LmNvbQpKYXNvbiBNZXJyaWxsCQkJCQlqYXNvbkByZWRoYXQuY29tCkRhdmlkIFMuIE1pbGxlcgkJCQkJZGF2ZW1AcmVkaGF0LmNvbQpNYXJrIE1pdGNoZWxsCQkJCQltYXJrQGNvZGVzb3VyY2VyeS5jb20KQmVybmQgU2NobWlkdAkJCQkJYmVybmRzQHJlZGhhdC5jb20KWmFjayBXZWluYmVyZwkJCQkJemFja0Bjb2Rlc291cmNlcnkuY29tCkppbSBXaWxzb24JCQkJCXdpbHNvbkB0dWxpcHRyZWUub3JnCgoKCQkJQ1BVIFBvcnQgTWFpbnRhaW5lcnMJKENQVSBhbHBoYWJldGljYWwgb3JkZXIpCgphbHBoYSBwb3J0CQlSaWNoYXJkIEhlbmRlcnNvbglydGhAcmVkaGF0LmNvbQphcmMgcG9ydAkJUmljaGFyZCBLZW5uZXIJCWtlbm5lckBueXUuZWR1CmFybSBwb3J0CQlOaWNrIENsaWZ0b24JCW5pY2tjQHJlZGhhdC5jb20KYXJtIHBvcnQJCVJpY2hhcmQgRWFybnNoYXcJcmVhcm5zaGFAYXJtLmNvbQphdnIgcG9ydAkJRGVuaXMgQ2hlcnR5a292CQlkZW5pc2NAb3ZlcnRhLnJ1CmF2ciBwb3J0CQlNYXJlayBNaWNoYWxraWV3aWN6CW1hcmVrbUBsaW51eC5vcmcucGwKYzR4IHBvcnQJCU1pY2hhZWwgSGF5ZXMJCW0uaGF5ZXNAZWxlYy5jYW50ZXJidXJ5LmFjLm56CmNyaXMgcG9ydAkJSGFucy1QZXRlciBOaWxzc29uCWhwQGF4aXMuY29tCmZyMzAgcG9ydAkJTmljayBDbGlmdG9uCQluaWNrY0ByZWRoYXQuY29tCmg4IHBvcnQJCQlKZWZmIExhdwkJbGF3QHJlZGhhdC5jb20KaDggcG9ydAkJCUthenUgSGlyYXRhCQlrYXp1QGNzLnVtYXNzLmVkdQpocHBhIHBvcnQJCUplZmYgTGF3CQlsYXdAcmVkaGF0LmNvbQpocHBhIHBvcnQJCURhdmUgQW5nbGluCQlkYXZlLmFuZ2xpbkBucmMuY2EKaTM4NiBwb3J0CQlSaWNoYXJkIEhlbmRlcnNvbglydGhAcmVkaGF0LmNvbQppOTYwIHBvcnQJCUppbSBXaWxzb24JCXdpbHNvbkB0dWxpcHRyZWUub3JnCmlhNjQgcG9ydAkJSmltIFdpbHNvbgkJd2lsc29uQHR1bGlwdHJlZS5vcmcKaXAyayBwb3J0CQlEZW5pcyBDaGVydHlrb3YJCWRlbmlzY0BvdmVydGEucnUKbTMyciBwb3J0CQlOaWNrIENsaWZ0b24JCW5pY2tjQHJlZGhhdC5jb20KbTMyciBwb3J0CQlNaWNoYWVsIE1laXNzbmVyCW1laXNzbmVyQHJlZGhhdC5jb20KbTY4aGMxMSBwb3J0CQlTdGVwaGFuZSBDYXJyZXoJCXN0Y2FycmV6QG5lcmltLmZyCm02OGsgcG9ydCAoPykJCUplZmYgTGF3CQlsYXdAcmVkaGF0LmNvbQptNjhrLW1vdG9yb2xhLXN5c3YgcG9ydAlQaGlsaXBwZSBEZSBNdXl0ZXIJcGhkbUBtYWNxZWwuYmUKbWNvcmUgcG9ydAkJTmljayBDbGlmdG9uCQluaWNrY0ByZWRoYXQuY29tCm1pcHMgcG9ydCAgICAgICAgICAgICAgIEVyaWMgQ2hyaXN0b3BoZXIgICAgICAgIGVjaHJpc3RvQHJlZGhhdC5jb20KbW1peCBwb3J0CQlIYW5zLVBldGVyIE5pbHNzb24JaHBAYml0cmFuZ2UuY29tCm1uMTAyMDAgcG9ydAkJSmVmZiBMYXcJCWxhd0ByZWRoYXQuY29tCm1uMTAzMDAgcG9ydAkJSmVmZiBMYXcJCWxhd0ByZWRoYXQuY29tCm1uMTAzMDAgcG9ydAkJQWxleGFuZHJlIE9saXZhCQlhb2xpdmFAcmVkaGF0LmNvbQpyczYwMDAgcG9ydAkJR2VvZmYgS2VhdGluZwkJZ2VvZmZrQGdlb2Zmay5vcmcKcnM2MDAwIHBvcnQJCURhdmlkIEVkZWxzb2huCQlkamVAd2F0c29uLmlibS5jb20KcnM2MDAwIHZlY3RvciBleHRucwlBbGR5IEhlcm5hbmRlegkJYWxkeWhAcmVkaGF0LmNvbQpzMzkwIHBvcnQJCUhhcnRtdXQgUGVubmVyCQlocGVubmVyQGRlLmlibS5jb20KczM5MCBwb3J0CQlVbHJpY2ggV2VpZ2FuZAkJdXdlaWdhbmRAZGUuaWJtLmNvbQpzaCBwb3J0CQkJSm9lcm4gUmVubmVja2UJCWpvZXJuLnJlbm5lY2tlQHN1cGVyaC5jb20Kc2ggcG9ydAkJCUFsZXhhbmRyZSBPbGl2YQkJYW9saXZhQHJlZGhhdC5jb20Kc3BhcmMgcG9ydAkJUmljaGFyZCBIZW5kZXJzb24JcnRoQHJlZGhhdC5jb20Kc3BhcmMgcG9ydAkJRGF2aWQgUy4gTWlsbGVyCQlkYXZlbUByZWRoYXQuY29tCnNwYXJjIHBvcnQJCUpha3ViIEplbGluZWsJCWpha3ViQHJlZGhhdC5jb20Kdjg1MCBwb3J0CQlOaWNrIENsaWZ0b24JCW5pY2tjQHJlZGhhdC5jb20Kdjg1MCBwb3J0CQlNaWNoYWVsIE1laXNzbmVyCW1laXNzbmVyQHJlZGhhdC5jb20KdmF4IHBvcnQJCURhdmUgQW5nbGluCQlkYXZlLmFuZ2xpbkBucmMuY2EKeDg2LTY0IHBvcnQJCUphbiBIdWJpY2thCQlqaEBzdXNlLmN6CnhzdG9ybXkxNiBwb3J0CQlHZW9mZnJleSBLZWF0aW5nCWdlb2Zma0BnZW9mZmsub3JnCnh0ZW5zYSBwb3J0CQlCb2IgV2lsc29uCQlib2Iud2lsc29uQGFjbS5vcmcKCgkJCU9TIFBvcnQgTWFpbnRhaW5lcnMJKE9TIGFscGhhYmV0aWNhbCBvcmRlcikKCmRhcndpbiBwb3J0CQlTdGFuIFNoZWJzCQlzaGVic0BhcHBsZS5jb20KbmV0YnNkCQkJSmFzb24gVGhvcnBlCQl0aG9ycGVqQHdhc2FiaXN5c3RlbXMuY29tCnNjbzUsIHVuaXh3YXJlLCBzY28gdWRrCVJvYmVydCBMaXBlCQlyb2JlcnRsaXBlQHVzYS5uZXQKc2gtbGludXgtZ251CQlLYXogS29qaW1hCQlra29qaW1hQGdjYy5nbnUub3JnCgoJCQlWYXJpb3VzIE1haW50YWluZXJzCgpDIGZyb250IGVuZC9JU08gQzk5CUpvc2VwaCBNeWVycwkJanNtMjhAY2FtLmFjLnVrCkMgZnJvbnQgZW5kL0lTTyBDOTkJUmljaGFyZCBIZW5kZXJzb24JcnRoQHJlZGhhdC5jb20KQWRhIGZyb250IGVuZAkJR2VlcnQgQm9zY2gJCWJvc2NoQGduYXQuY29tCkFkYSBmcm9udCBlbmQJCVJvYmVydCBEZXdhcgkJZGV3YXJAZ25hdC5jb20KZm9ydHJhbgkJCVJpY2hhcmQgSGVuZGVyc29uCXJ0aEByZWRoYXQuY29tCmZvcnRyYW4JCQlUb29uIE1vZW5lCQl0b29uQG1vZW5lLmluZGl2Lm5sdXVnLm5sCmMrKwkJCUphc29uIE1lcnJpbGwJCWphc29uQHJlZGhhdC5jb20KYysrICAgICAgICAgICAgICAgICAgICAgTWFyayBNaXRjaGVsbAkJbWFya0Bjb2Rlc291cmNlcnkuY29tCmNwcGxpYgkJCURhdmUgQnJvbGxleQkJYnJvbGxleUByZWRoYXQuY29tCmNwcGxpYgkJCVBlciBCb3RobmVyCQlwZXJAYm90aG5lci5jb20KY3BwbGliCQkJWmFjayBXZWluYmVyZwkJemFja0Bjb2Rlc291cmNlcnkuY29tCmNwcGxpYgkJCU5laWwgQm9vdGgJCW5laWxAZGFpa29rdXlhLmNvLnVrCmphdmEJCQlQZXIgQm90aG5lcgkJcGVyQGJvdGhuZXIuY29tCmphdmEJCQlBbGV4YW5kcmUgUGV0aXQtQmlhbmNvCWFwYmlhbmNvQHJlZGhhdC5jb20KamF2YQkJCUFuZHJldyBIYWxleQkJYXBoQHJlZGhhdC5jb20KbGliZ2NqCQkJVG9tIFRyb21leQkJdHJvbWV5QHJlZGhhdC5jb20KbGliZ2NqCQkJQnJ5Y2UgTWNLaW5sYXkJCWJyeWNlQGdjYy5nbnUub3JnCm1lcmN1cnkJCQlGZXJndXMgSGVuZGVyc29uCWZqaEBjcy5tdS5vei5hdQpvYmplY3RpdmUtYwkJU3RhbiBTaGVicwkJc2hlYnNAYXBwbGUuY29tCm9iamVjdGl2ZS1jCQlPdmlkaXUgUHJlZGVzY3UJCW92aWRpdUBjdXAuaHAuY29tCmFsaWFzIGFuYWx5c2lzCQlKb2huIENhcnIJCWpmY0BtaXQuZWR1Cmxvb3AgdW5yb2xsaW5nCQlKaW0gV2lsc29uCQl3aWxzb25AdHVsaXB0cmVlLm9yZwpsb29wIGRpc2NvdmVyeQkJTWljaGFlbCBIYXllcwkJbS5oYXllc0BlbGVjLmNhbnRlcmJ1cnkuYWMubnoKc2NoZWR1bGVyICgrIGhhaWZhKQlKaW0gV2lsc29uCQl3aWxzb25AdHVsaXB0cmVlLm9yZwpzY2hlZHVsZXIgKCsgaGFpZmEpCU1pY2hhZWwgTWVpc3NuZXIJbWVpc3NuZXJAcmVkaGF0LmNvbQpzY2hlZHVsZXIgKCsgaGFpZmEpCUplZmYgTGF3CQlsYXdAcmVkaGF0LmNvbQpyZW9yZwkJCUplZmYgTGF3CQlsYXdAcmVkaGF0LmNvbQpjYWxsZXItc2F2ZS5jCQlKZWZmIExhdwkJbGF3QHJlZGhhdC5jb20KZGVidWdnaW5nIGNvZGUJCUppbSBXaWxzb24JCXdpbHNvbkB0dWxpcHRyZWUub3JnCmR3YXJmIGRlYnVnZ2luZyBjb2RlCUphc29uIE1lcnJpbGwJCWphc29uQHJlZGhhdC5jb20KYysrIHJ1bnRpbWUgbGlicwlQYW9sbyBDYXJsaW5pCQlwY2FybGluaUB1bml0dXMuaXQKYysrIHJ1bnRpbWUgbGlicyAgICAgICAgR2FicmllbCBEb3MgUmVpcyAgICAgICAgZ2RyQGludGVncmFibGUtc29sdXRpb25zLm5ldApjKysgcnVudGltZSBsaWJzCVVscmljaCBEcmVwcGVyCQlkcmVwcGVyQHJlZGhhdC5jb20KYysrIHJ1bnRpbWUgbGlicwlQaGlsIEVkd2FyZHMJCXBtZUBnY2MuZ251Lm9yZwpjKysgcnVudGltZSBsaWJzCUJlbmphbWluIEtvc25pawkJYmtvekByZWRoYXQuY29tCmMrKyBydW50aW1lIGxpYnMJTG9yZW4gSi4gUml0dGxlCQlsanJpdHRsZUBhY20ub3JnCipzeW50aGV0aWMgbXVsdGlwbHkJVG9yYmpvcm4gR3Jhbmx1bmQJdGVnZUBzd294LmNvbQoqYy10b3J0dXJlCQlUb3Jiam9ybiBHcmFubHVuZAl0ZWdlQHN3b3guY29tCmZpeGluY2x1ZGVzCQlCcnVjZSBLb3JiCQlia29yYkBnbnUub3JnCmdjc2UuYyAJCQlKZWZmIExhdwkJbGF3QHJlZGhhdC5jb20KZ2xvYmFsIG9wdCBmcmFtZXdvcmsJSmVmZiBMYXcJCWxhd0ByZWRoYXQuY29tCmp1bXAuYwkJCURhdmlkIFMuIE1pbGxlcgkJZGF2ZW1AcmVkaGF0LmNvbQp3ZWIgcGFnZXMJCUdlcmFsZCBQZmVpZmVyCQlwZmVpZmVyQGRiYWkudHV3aWVuLmFjLmF0CndlYiBwYWdlcwkJSmFuaXMgSm9obnNvbgkJamFuaXMxODdAdXMuaWJtLmNvbQpjb25maWcuc3ViL2NvbmZpZy5ndWVzcwlCZW4gRWxsaXN0b24JCWNvbmZpZy1wYXRjaGVzQGdudS5vcmcKYmFzaWMgYmxvY2sgcmVvcmRlcmluZwlKYXNvbiBFY2toYXJkdAkJamxlQHJpY2UuZWR1CmkxOG4JCQlQaGlsaXBwIFRob21hcwkJcHRob21hc0BzdXNlLmRlCmRpYWdub3N0aWMgbWVzc2FnZXMJR2FicmllbCBEb3MgUmVpcwlnZHJAaW50ZWdyYWJsZS1zb2x1dGlvbnMubmV0CndpbmRvd3MsIGN5Z3dpbiwgbWluZ3cJQ2hyaXN0b3BoZXIgRmF5bG9yCWNnZkByZWRoYXQuY29tCndpbmRvd3MsIGN5Z3dpbiwgbWluZ3cJREogRGVsb3JpZQkJZGpAcmVkaGF0LmNvbQpESkdQUAkJCURKIERlbG9yaWUJCWRqQGRlbG9yaWUuY29tCmxpYmliZXJ0eQkJREogRGVsb3JpZQkJZGpAcmVkaGF0LmNvbQpidWlsZCBtYWNoaW5lcnkgKCouaW4pCURKIERlbG9yaWUJCWRqQHJlZGhhdC5jb20KYnVpbGQgbWFjaGluZXJ5ICgqLmluKQlBbGV4YW5kcmUgT2xpdmEJCWFvbGl2YUByZWRoYXQuY29tCmRvY3MgY28tbWFpbnRhaW5lcglHZXJhbGQgUGZlaWZlcgkJcGZlaWZlckBkYmFpLnR1d2llbi5hYy5hdApkb2NzIGNvLW1haW50YWluZXIJSm9zZXBoIE15ZXJzCQlqc20yOEBjYW0uYWMudWsKUGljby1KYXZhIHBvcnQJCVN0ZXZlIENoYW1iZXJsYWluCXNhY0B0cmFuc21ldGEuY29tClJURU1TIFBvcnRzCQlKb2VsIFNoZXJyaWxsCQlqb2VsQG9hcmNvcnAuY29tClZ4V29ya3MJcG9ydHMJCVphY2sgV2VpbmJlcmcJCXphY2tAY29kZXNvdXJjZXJ5LmNvbQpWeFdvcmtzCXBvcnRzCQlOYXRoYW4gU2lkd2VsbAkJbmF0aGFuQGNvZGVzb3VyY2VyeS5jb20KcHJlZGljdC5kZWYJCUphbiBIdWJpY2thCQlqaEBzdXNlLmN6CmNvbnRyaWIvcmVncmVzc2lvbglHZW9mZiBLZWF0aW5nCQlnZW9mZmtAZ2VvZmZrLm9yZwp0cmVlbGFuZyAgICAgICAgICAgICAgICBUaW0gSm9zbGluZyAgICAgICAgICAgICB0ZWpAbWVsYnBjLm9yZy5hdQpuZXcgcmVnYWxsb2MgKHJhKikJTWljaGFlbCBNYXR6CQltYXR6QHN1c2UuZGUKCk5vdGUgaW5kaXZpZHVhbHMgd2hvIG1haW50YWluIHBhcnRzIG9mIHRoZSBjb21waWxlciBuZWVkIGFwcHJvdmFsIHRvIGNoZWNrCmluIGNoYW5nZXMgb3V0c2lkZSBvZiB0aGUgcGFydHMgb2YgdGhlIGNvbXBpbGVyIHRoZXkgbWFpbnRhaW4uCgoKCQkJV3JpdGUgQWZ0ZXIgQXBwcm92YWwJKGxhc3QgbmFtZSBhbHBoYWJldGljYWwgb3JkZXIpCgpNYXR0IEF1c3Rlcm4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXN0ZXJuQGFwcGxlLmNvbQpTY290dCBCYW1icm91Z2gJCQkJCXNjb3R0YkBuZXR3aW5kZXIub3JnCkRhbmllbCBCZXJsaW4JCQkJCWRhbkBkYmVybGluLm9yZwpEYXZpZCBCaWxsaW5naHVyc3QJCQkJRGF2aWQuQmlsbGluZ2h1cnN0QHJpb3RpbnRvLmNvbQpMYXVyeW5hcyBCaXZlaW5pcwkJCSAgICAgICAgbGF1cnluYXMuYml2ZWluaXNAbWlmLnZ1Lmx0CkVyaWMgQmxha2UJCQkJCWVyaWNiQGdjYy5nbnUub3JnCkppbSBCbGFuZHkJCQkJCWppbWJAcmVkaGF0LmNvbQpQaGlsIEJsdW5kZWxsCQkJCQlwYkBmdXR1cmV0di5jb20KSGFucyBCb2VobQkJCQkJaGJvZWhtQGdjYy5nbnUub3JnCkVyaWMgQm90Y2F6b3UJCQkJCWVib3RjYXpvdUBsaWJlcnR5c3VyZi5mcgpBbmRyZXcgQ2FnbmV5CQkJCQljYWduZXlAcmVkaGF0LmNvbQpDaGFuZHJhIENoYXZ2YQkJCQkJY2NoYXZ2YUByZWRoYXQuY29tCldpbGxpYW0gQ29oZW4JCQkJCXdjb2hlbkByZWRoYXQuY29tCkNocmlzdGlhbiBDb3JuZWxzc2VuCQkJCWNjb3JuQGNzLnR1LWJlcmxpbi5kZQpDaHJpcyBEZW1ldHJpb3UJCQkJCWNnZEBicm9hZGNvbS5jb20KU3RldmUgRWxsY2V5CQkJCQlzamVAY3VwLmhwLmNvbQpCZW4gRWxsaXN0b24JCQkJCWJqZUB3YXNhYmlzeXN0ZW1zLmNvbQpNYXJjIEVzcGllCQkJCQllc3BpZUBjdnMub3BlbmJzZC5vcmcKRG91ZyBFdmFucwkJCQkJZGplQHRyYW5zbWV0YS5jb20KS2F2ZWggR2hhemkJCQkJCWdoYXppQGNhaXAucnV0Z2Vycy5lZHUKTWF0dGhldyBHaW5nZWxsCQkJCQlnaW5nZWxsQGduYXQuY29tCkFudGhvbnkgR3JlZW4JCQkJCWdyZWVuQHJlZGhhdC5jb20KU3R1IEdyb3NzbWFuCQkJCQlncm9zc21hbkByZWRoYXQuY29tCkxhdXJlbnQgR3VlcmJ5CQkJCQlndWVyYnlAYWNtLm9yZwpTdHVhcnQgSGFzdGluZ3MJCQkJCXN0dWFydEBhcHBsZS5jb20KTWF0dGhldyBIaWxsZXIJCQkJCWhpbGxlckByZWRoYXQuY29tCk1hbmZyZWQgSG9sbHN0ZWluCQkJCW1ob2xsc3RlaW5AcmVkaGF0LmNvbQpBbmRyZWFzIEphZWdlcgkJCQkJYWpAc3VzZS5kZQpGYXJpYm9yeiBKYWhhbmlhbgkJCQlmamFoYW5pYW5AYXBwbGUuY29tCkRhbGUgSm9oYW5uZXNlbiAJCQkJZGFsZWpAYXBwbGUuY29tCktsYXVzIEthZW1wZgkJCQkJa2thZW1wZkBwcm9naXMuZGUKQnJlbmRhbiBLZWhvZQkJCQkJYnJlbmRhbkB6ZW4ub3JnCk11bWl0IEtoYW4JCQkJCWtoYW5AeHJheWxpdGgud2lzYy5lZHUKTWF0dGhpYXMgS2xvc2UJCQkJCWRva29AZGViaWFuLm9yZwpKZWZmIEtuYWdncwkJCQkJamtuYWdnc0ByZWRoYXQuY29tClBhdWwgS29uaW5nCQkJCQluaTFkQGFycmwubmV0Ck1hdHQgS3JhYWkJCQkJCWtyYWFpQGFsdW1uaS5jbXUuZWR1ClppZW1vd2l0IExhc2tpCQkJCQl6bGFza2lAYXBwbGUuY29tCk1hcmMgTGVobWFubgkJCQkJcGNnQGdvb2YuY29tCkFsYW4gTGVob3Rza3kJCQkJCWFwbEBhbHVtLm1pdC5lZHUKS3JpYW5nIExlcmRzdXdhbmFraWoJCQkJbGVyZHN1d2FAdXNlcnMuc291cmNlZm9yZ2UubmV0CldhcnJlbiBMZXZ5CQkJCQl3YXJyZW5sQGNydXppby5jb20KRG9uIExpbmRzYXkJCQkJCWRsaW5kc2F5QHJlZGhhdC5jb20KRGF2ZSBMb3ZlCQkJCQlkLmxvdmVAZGwuYWMudWsKTWFydGluIHYuIEz2d2lzCQkJCQlsb2V3aXNAaW5mb3JtYXRpay5odS1iZXJsaW4uZGUKSEogTHUJCQkJCQloamxAbHVjb24ub3JnCkFuZHJldyBNYWNsZW9kCQkJCQlhbWFjbGVvZEByZWRoYXQuY29tClZsYWRpbWlyIE1ha2Fyb3YJCQkJdm1ha2Fyb3ZAcmVkaGF0LmNvbQpHcmVnIE1jR2FyeQkJCQkJZ2ttQGdudS5vcmcKQWRhbSBNZWdhY3oJCQkJCWFkYW1AeHd0Lm9yZwpBbGFuIE1vZHJhCQkJCQlhbW9kcmFAYmlncG9uZC5uZXQuYXUKQ2F0aGVyaW5lIE1vb3JlCQkJCQljbG1AcmVkaGF0LmNvbQpBZGFtIE5lbWV0CQkJCQlhbmVtZXRAbG54dy5jb20KTmF0aGFuYWVsIE5lcm9kZQkJCQluZXJvZGVuQGdjYy5nbnUub3JnCkRpZWdvIE5vdmlsbG8JCQkJCWRub3ZpbGxvQHJlZGhhdC5jb20KRGF2aWQgTydCcmllbgkJCQkJb2JyaWVuQEZyZWVCU0Qub3JnClR1cmx5IE8nQ29ubm9yCQkJCQl0dXJseUBhcHBsZS5jb20KSmVmZnJleSBELiBPbGRoYW0JCQkJb2xkaGFtQGNvZGVzb3VyY2VyeS5jb20KUmFpbmVyIE9ydGgJCQkJCXJvQFRlY2hGYWsuVW5pLUJpZWxlZmVsZC5ERQpEZXZhbmcgUGF0ZWwJCQkJCWRwYXRlbEBhcHBsZS5jb20KTmljb2xhIFBlcm8JCQkJCW4ucGVyb0BtaS5mbGFzaG5ldC5pdApBbGV4YW5kcmUgUGV0aXQtQmlhbmNvCQkJCWFwYmlhbmNvQHJlZGhhdC5jb20KU2ViYXN0aWFuIFBvcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcy5wb3BAbGFwb3N0ZS5uZXQKQ2xpbnRvbiBQb3BldHoJCQkJCWNwb3BldHpAY3BvcGV0ei5jb20KS2VuIFJhZWJ1cm4JCQkJCXJhZWJ1cm5AcmVkaGF0LmNvbQpSb2xmIFJhc211c3NlbgkJCQkJcm9sZndyQGdjYy5nbnUub3JnClZvbGtlciBSZWljaGVsdAkJCQkJcmVpY2hlbHRAaWdwbS5yd3RoLWFhY2hlbi5kZQpUb20gUml4CQkJCQkJdHJpeEByZWRoYXQuY29tCkNyYWlnIFJvZHJpZ3VlcwkJCQkJcm9kcmlnY0BnY2MuZ251Lm9yZwpHYXZpbiBSb21pZy1Lb2NoCQkJCWdhdmluQHJlZGhhdC5jb20KSXJhIFJ1YmVuCQkJCQlpcmFAYXBwbGUuY29tCkRvdWdsYXMgUnVwcAkJCQkJcnVwcEBnbmF0LmNvbQpBbGV4IFNhbXVlbAkJCQkJc2FtdWVsQGNvZGVzb3VyY2VyeS5jb20KUmljaGFyZCBTYW5kaWZvcmQJCQkJcnNhbmRpZm9AcmVkaGF0LmNvbQpSb2dlciBTYXlsZQkJCQkJcm9nZXJAZXllc29wZW4uY29tCkFuZHJlYXMgU2Nod2FiCQkJCQlzY2h3YWJAc3VzZS5kZQpTdmVpbiBTZWxkYWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdmVpbi5zZWxkYWxAc29saWRhcy5jb20KTmF0aGFuIFNpZHdlbGwJCQkJCW5hdGhhbkBjb2Rlc291cmNlcnkuY29tCkZyYW56IFNpcmwJCQkJCWZyYW56LnNpcmwta2VybmVsQGxhdXRlcmJhY2guY29tCkRhbm55IFNtaXRoCQkJCQlkYW5ueXNtaXRoQHVzZXJzLnNvdXJjZWZvcmdlLm5ldApNaWNoYWVsIFNva29sb3YJCQkJCW1zb2tvbG92QGl2YW4uSGFyaGFuLk9SRwpSaWNoYXJkIFN0YWxsbWFuCQkJCXJtc0BnbnUub3JnCkdyYWhhbSBTdG90dAkJCQkJZ3JhaGFtLnN0b3R0QGJ0aW50ZXJuZXQuY29tCk1pa2UgU3R1bXAJCQkJCW1yc0BhcHBsZS5jb20KSmVmZiBTdHVybQkJCQkJanN0dXJtQGdjYy5nbnUub3JnCklhbiBUYXlsb3IJCQkJCWlhbkB6ZW1idS5jb20KTWljaGFlbCBUaWVtYW5uCQkJCQl0aWVtYW5uQHJlZGhhdC5jb20KS3Jlc3RlbiBLcmFiIFRob3J1cAkJCQlrcmFiQGdjYy5nbnUub3JnCkFuZHJlYXMgVG9ibGVyCQkJCQlhbmRyZWFzdEBnY2MuZ251Lm9yZwpKb25hdGhhbiBXYWtlbHkJCQkJCXJlZGlAZ2NjLmdudS5vcmcKS3Jpc3RlciBXYWxmcmlkc3NvbgkJCQljYXRvQGRmLmx0aC5zZQpKb2huIFdlaGxlCQkJCQlqb2huQGZlaXRoLmNvbQpGbG9yaWFuIFdlaW1lcgkJCQkJZndAZGVuZWIuZW55by5kZQpNYXJrIFdpZWxhYXJkCQkJCQltYXJrQGdjYy5nbnUub3JnCkpvc2VmIFpsb21lawkJCQkJemxvbWVrakBzdXNlLmN6CgpHTkFUUyBvbmx5IGFjY291bnRzCgpXb2xmZ2FuZyBCYW5nZXJ0aAliYW5nZXJ0aAkJYmFuZ2VydGhAdGljYW0udXRleGFzLmVkdQpKYW1lcyBEZW5uZXR0CQlqZGVubmV0dAkJamRlbm5ldHRAYWNtLm9yZwpDaHJpc3RpYW4gRWhyaGFyZHQJY2FlCQkJZWhyaGFyZHRAbWF0aGVtYXRpay51bmktdWxtLmRlCgpQZXRlciBCaWVuc3RtYW4oPykKQmVuamFtaW4gQ2hlbGYoPykKTWFyayBHYWxhc3NpKD8pCg==