ZGlmZiAtLWdpdCBhL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5jb3JlL3BsdWdpbi54bWwgYi9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuY29yZS9wbHVnaW4ueG1sCmluZGV4IGNhMGMwM2QuLmIxZDBjZmMgMTAwNjQ0Ci0tLSBhL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5jb3JlL3BsdWdpbi54bWwKKysrIGIvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmNvcmUvcGx1Z2luLnhtbApAQCAtOCwxOSArOCwxOCBAQAogICBjbGFzcz0ib3JnLmVjbGlwc2UuanN0LnNlcnZlci5pbnRlcm5hbC5jb3JlLkphdmFTZXJ2ZXJQbHVnaW4iPgogCiAgIDxyZXF1aXJlcz4KLSAgICA8aW1wb3J0IHBsdWdpbj0ib3JnLmVjbGlwc2UuY29yZS5ydW50aW1lIiB2ZXJzaW9uPSIzLjAuMCIgbWF0Y2g9ImVxdWl2YWxlbnQiLz4KLSAgICA8aW1wb3J0IHBsdWdpbj0ib3JnLmVjbGlwc2UuY29yZS5yZXNvdXJjZXMiIHZlcnNpb249IjMuMC4wIiBtYXRjaD0iZXF1aXZhbGVudCIvPgotICAgIDxpbXBvcnQgcGx1Z2luPSJvcmcuZWNsaXBzZS5kZWJ1Zy5jb3JlIiB2ZXJzaW9uPSIzLjAuMCIgbWF0Y2g9ImVxdWl2YWxlbnQiLz4KLSAgICA8aW1wb3J0IHBsdWdpbj0ib3JnLmVjbGlwc2Uud3N0LnNlcnZlci5jb3JlIiB2ZXJzaW9uPSIzLjAuMCIgbWF0Y2g9ImVxdWl2YWxlbnQiLz4KLSAgICA8aW1wb3J0IHBsdWdpbj0ib3JnLmVjbGlwc2UuamR0LmNvcmUiIHZlcnNpb249IjMuMC4wIiBtYXRjaD0iZXF1aXZhbGVudCIvPgotICAgIDxpbXBvcnQgcGx1Z2luPSJvcmcuZWNsaXBzZS5qZHQubGF1bmNoaW5nIiB2ZXJzaW9uPSIzLjAuMCIgbWF0Y2g9ImVxdWl2YWxlbnQiLz4KKyAgICA8aW1wb3J0IHBsdWdpbj0ib3JnLmVjbGlwc2UuY29yZS5yZXNvdXJjZXMiIC8+CisgICAgPGltcG9ydCBwbHVnaW49Im9yZy5lY2xpcHNlLmRlYnVnLmNvcmUiIC8+CisgICAgPGltcG9ydCBwbHVnaW49Im9yZy5lY2xpcHNlLndzdC5zZXJ2ZXIuY29yZSIgLz4KKyAgICA8aW1wb3J0IHBsdWdpbj0ib3JnLmVjbGlwc2UuamR0LmNvcmUiIC8+CisgICAgPGltcG9ydCBwbHVnaW49Im9yZy5lY2xpcHNlLmpkdC5sYXVuY2hpbmciIC8+CisgICAgPGltcG9ydCBwbHVnaW49Im9yZy5lY2xpcHNlLmNvcmUucnVudGltZSIvPgogICA8L3JlcXVpcmVzPgogCiAgIDxydW50aW1lPgogICAgIDxsaWJyYXJ5IG5hbWU9InNqYXZhY29yZS5qYXIiPgogICAgICAgPGV4cG9ydCBuYW1lPSIqIi8+Ci0gICAgICAgIDxwYWNrYWdlcyBwcmVmaXhlcz0ib3JnLmVjbGlwc2UuanN0LnNlcnZlci5qMmVlLG9yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuY29yZSIvPgotICAgIDwvbGlicmFyeT4KKyAgICAgPC9saWJyYXJ5PgogICA8L3J1bnRpbWU+CiAKICAgPGV4dGVuc2lvbiBwb2ludD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuY2xhc3NwYXRoQ29udGFpbmVySW5pdGlhbGl6ZXIiPgpkaWZmIC0tZ2l0IGEvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMuY29yZS9idWlsZC5wcm9wZXJ0aWVzIGIvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMuY29yZS9idWlsZC5wcm9wZXJ0aWVzCmluZGV4IDNhOTU1OGQuLjg0MTQ2YTYgMTAwNjQ0Ci0tLSBhL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLmNvcmUvYnVpbGQucHJvcGVydGllcworKysgYi9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5jb3JlL2J1aWxkLnByb3BlcnRpZXMKQEAgLTEsNCArMSwxMCBAQAogc291cmNlLmdlbmVyaWNzZXJ2ZXIuamFyID0gc3JjLwogb3V0cHV0LmdlbmVyaWNzZXJ2ZXIuamFyID0gYmluLwogYmluLmluY2x1ZGVzID0gcGx1Z2luLnhtbCxcCi0gICAgICAgICAgICAgICBnZW5lcmljc2VydmVyLmphcgorICAgICAgICAgICAgICAgZ2VuZXJpY3NlcnZlci5qYXIsXAorICAgICAgICAgICAgICAgc2VydmVycy8sXAorICAgICAgICAgICAgICAgcGx1Z2luLnByb3BlcnRpZXMKK3NyYy5pbmNsdWRlcyA9IHNlcnZlcnMvLFwKKyAgICAgICAgICAgICAgIHNyYy8sXAorICAgICAgICAgICAgICAgcGx1Z2luLnhtbCxcCisgICAgICAgICAgICAgICBwbHVnaW4ucHJvcGVydGllcwpkaWZmIC0tZ2l0IGEvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMuY29yZS9wbHVnaW4ueG1sIGIvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMuY29yZS9wbHVnaW4ueG1sCmluZGV4IGJjNmJiYjQuLjQzMjNmNzYgMTAwNjQ0Ci0tLSBhL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLmNvcmUvcGx1Z2luLnhtbAorKysgYi9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5jb3JlL3BsdWdpbi54bWwKQEAgLTE2LDE1ICsxNiwxNiBAQAogICAgPHJlcXVpcmVzPgogICAgICAgPGltcG9ydCBwbHVnaW49Im9yZy5lY2xpcHNlLnVpIi8+CiAgICAgICA8aW1wb3J0IHBsdWdpbj0ib3JnLmVjbGlwc2UuY29yZS5ydW50aW1lIi8+Ci0gICAgICA8aW1wb3J0IHBsdWdpbj0ib3JnLmVjbGlwc2UuY29yZS5yZXNvdXJjZXMiIHZlcnNpb249IjMuMC4wIiBtYXRjaD0iZXF1aXZhbGVudCIvPgotICAgICAgPGltcG9ydCBwbHVnaW49Im9yZy5lY2xpcHNlLmRlYnVnLmNvcmUiIHZlcnNpb249IjMuMC4wIiBtYXRjaD0iZXF1aXZhbGVudCIvPgotICAgICAgPGltcG9ydCBwbHVnaW49Im9yZy5lY2xpcHNlLmpkdC5jb3JlIiB2ZXJzaW9uPSIzLjAuMCIgbWF0Y2g9ImVxdWl2YWxlbnQiLz4KLSAgICAgIDxpbXBvcnQgcGx1Z2luPSJvcmcuZWNsaXBzZS5qZHQubGF1bmNoaW5nIiB2ZXJzaW9uPSIzLjAuMCIgbWF0Y2g9ImVxdWl2YWxlbnQiLz4KLSAgICAgIDxpbXBvcnQgcGx1Z2luPSJvcmcuZWNsaXBzZS53c3Quc2VydmVyLmNvcmUiIHZlcnNpb249IjMuMC4wIiBtYXRjaD0iZXF1aXZhbGVudCIvPgotICAgICAgPGltcG9ydCBwbHVnaW49Im9yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuY29yZSIgdmVyc2lvbj0iMy4wLjAiIG1hdGNoPSJlcXVpdmFsZW50Ii8+CisgICAgICA8aW1wb3J0IHBsdWdpbj0ib3JnLmVjbGlwc2UuY29yZS5yZXNvdXJjZXMiIC8+CisgICAgICA8aW1wb3J0IHBsdWdpbj0ib3JnLmVjbGlwc2UuZGVidWcuY29yZSIgLz4KKyAgICAgIDxpbXBvcnQgcGx1Z2luPSJvcmcuZWNsaXBzZS5qZHQuY29yZSIgLz4KKyAgICAgIDxpbXBvcnQgcGx1Z2luPSJvcmcuZWNsaXBzZS5qZHQubGF1bmNoaW5nIiAvPgorICAgICAgPGltcG9ydCBwbHVnaW49Im9yZy5lY2xpcHNlLndzdC5zZXJ2ZXIuY29yZSIgLz4KKyAgICAgIDxpbXBvcnQgcGx1Z2luPSJvcmcuZWNsaXBzZS5qc3Quc2VydmVyLmNvcmUiIC8+CiAgICAgICA8aW1wb3J0IHBsdWdpbj0ib3JnLmVjbGlwc2UuZGVidWcudWkiLz4KICAgICAgIDxpbXBvcnQgcGx1Z2luPSJvcmcuZWNsaXBzZS5hbnQuY29yZSIvPgogICAgICAgPGltcG9ydCBwbHVnaW49Im9yZy5lY2xpcHNlLmFudC51aSIvPgorICAgICAgPGltcG9ydCBwbHVnaW49Im9yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5tb2R1bGVzIi8+CiAgICA8L3JlcXVpcmVzPgogCQogIDxleHRlbnNpb24gcG9pbnQ9Im9yZy5lY2xpcHNlLndzdC5zZXJ2ZXIuY29yZS5ydW50aW1lVGFyZ2V0SGFuZGxlcnMiPgpAQCAtMTA3LDcgKzEwOCwxMyBAQAogICAgICAgICBpZD0ib3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLmNvcmUuc291cmNlUGF0aENvbXB1dGVyIgogICAgICAgICBjbGFzcz0ib3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLmludGVybmFsLmNvcmUuR2VuZXJpY1NlcnZlclNvdXJjZVBhdGhDb21wdXRlckRlbGVnYXRlIi8+CiAgICA8L2V4dGVuc2lvbj4KLQorIAorICAgPGV4dGVuc2lvbiBwb2ludD0ib3JnLmVjbGlwc2Uud3N0LnNlcnZlci5jb3JlLmxhdW5jaGFibGVBZGFwdGVycyI+CisgICAgICA8bGF1bmNoYWJsZUFkYXB0ZXIKKyAgICAgICAgIGNsYXNzPSJvcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMuaW50ZXJuYWwuY29yZS5HZW5lcmljU2VydmVyTGF1bmNoYWJsZUFkYXB0ZXJEZWxlZ2F0ZSIKKyAgICAgICAgIGlkPSJvcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMud2ViIi8+CisgICA8L2V4dGVuc2lvbj4KKyAKIAogICAgCiAgICAKZGlmZiAtLWdpdCBhL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLmNvcmUvc2VydmVycy9qYm9zczMyeC5zZXJ2ZXIgYi9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5jb3JlL3NlcnZlcnMvamJvc3MzMjMuc2VydmVyCnNpbWlsYXJpdHkgaW5kZXggODklCnJlbmFtZSBmcm9tIHBsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLmNvcmUvc2VydmVycy9qYm9zczMyeC5zZXJ2ZXIKcmVuYW1lIHRvIHBsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLmNvcmUvc2VydmVycy9qYm9zczMyMy5zZXJ2ZXIKaW5kZXggNGQ5ZjU1Yi4uYmU2ZmZiNyAxMDA2NDQKLS0tIGEvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMuY29yZS9zZXJ2ZXJzL2pib3NzMzJ4LnNlcnZlcgorKysgYi9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5jb3JlL3NlcnZlcnMvamJvc3MzMjMuc2VydmVyCkBAIC0xLDYgKzEsNiBAQAogDQogPHNlcnZlckRlZmluaXRpb24gDQotCSBuYW1lPSJKQk9TUyAzLjIueCINCisJIG5hbWU9IkpCT1NTIDMuMi4zIg0KIAkgZWpiTW9kdWxlcz0idHJ1ZSINCiAJIHdlYk1vZHVsZXM9InRydWUiDQogCSBlYXJNb2R1bGVzPSJ0cnVlIj4NCkBAIC04OSwxNiArODksMjggQEAKIAk8amFyIHR5cGU9InZhcmlhYmxlIj4ke2NsYXNzUGF0aH0vc2VydmVyLyR7c2VydmVyQ29uZmlnfS9saWIvYmNlbC5qYXI8L2phcj4NCiA8L3Byb2plY3RDbGFzc1BhdGg+DQogPGFkbWluVG9vbD4NCi0JPHdlYj48ZGVwbG95IC8+PHVuZGVwbG95IC8+DQorCTx3ZWI+DQorCQk8ZGVwbG95Pg0KKwkJPCFbQ0RBVEFbDQorCQkJDQorCQkJCTxwcm9qZWN0IG5hbWU9ImRlcGxveWV4dGVuc2lvbiIgIGRlZmF1bHQ9ImRlcGxveSIgIGJhc2VkaXI9Ii4iPg0KKwkJCQkgICAgPHRhcmdldCBuYW1lPSJkZXBsb3kiPg0KKwkJCQkJCTxqYXIgZGVzdGZpbGU9IiR7ZGVwbG95bWVudFVuaXROYW1lfS53YXIiPiANCisJCQkJCQkJPHppcGZpbGVzZXQgZGlyPSIke21vZHVsZURpcn0iPg0KKwkgICAgICAgIAkJCQkJPGluY2x1ZGUgbmFtZT0iKiovKi4qIi8+DQorCQkJCQkJICAgICAgICA8ZXhjbHVkZSBuYW1lPSIqKi8qLndhciIvPg0KKwkJCQkJCQk8L3ppcGZpbGVzZXQ+DQorCQkJCQkJPC9qYXI+DQorICAJCQkJICAJCTxtb3ZlIGZpbGU9IiR7ZGVwbG95bWVudFVuaXROYW1lfS53YXIiIHRvZGlyPSIke2RlcGxveURpcn0iLz4NCisgIAkJCQkJICA8L3RhcmdldD4NCisJCQkJPC9wcm9qZWN0Pg0KKwkJCQkNCisJCV1dPg0KKwkJDQorICAgICAgICA8L2RlcGxveT4NCisJCTx1bmRlcGxveT4NCisgICAgICAgIDwvdW5kZXBsb3k+DQogCTwvd2ViPg0KLQk8ZWpiPjxkZXBsb3kgLz48dW5kZXBsb3kgLz4NCi0JPC9lamI+DQotCTxlYXI+PGRlcGxveSAvPjx1bmRlcGxveSAvPg0KLQkJPHdlYk1vZHVsZT48ZGVwbG95IC8+PHVuZGVwbG95IC8+DQotCQk8L3dlYk1vZHVsZT4NCi0JCTxlamJNb2R1bGU+PGRlcGxveSAvPjx1bmRlcGxveSAvPg0KLQkJPC9lamJNb2R1bGU+DQotCTwvZWFyPg0KIDwvYWRtaW5Ub29sPg0KIDxhZG1pblRvb2xQYXRoPg0KIDwvYWRtaW5Ub29sUGF0aD4NCmRpZmYgLS1naXQgYS9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5jb3JlL3NlcnZlcnMvam9uYXMuc2VydmVyIGIvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMuY29yZS9zZXJ2ZXJzL2pvbmFzLnNlcnZlcgppbmRleCAzOThlYjZmLi43ZmVkNWY4IDEwMDY0NAotLS0gYS9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5jb3JlL3NlcnZlcnMvam9uYXMuc2VydmVyCisrKyBiL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLmNvcmUvc2VydmVycy9qb25hcy5zZXJ2ZXIKQEAgLTEsMjUgKzEsMjUgQEAKIAogPHNlcnZlckRlZmluaXRpb24gCi0JIG5hbWU9IkpvbkFTIgorCSBuYW1lPSJKb25BUyA0LjEuNCIKIAkgZWpiTW9kdWxlcz0idHJ1ZSIKIAkgd2ViTW9kdWxlcz0idHJ1ZSIKIAkgZWFyTW9kdWxlcz0idHJ1ZSI+CiA8cHJvcGVydHkgaWQ9ImpvbmFzUm9vdCIKIAlsYWJlbD0iSm9uQVMgSW5zdGFsbGF0aW9uIERpcmVjdG9yeToiCiAJdHlwZT0iZGlyZWN0b3J5IgotCWRlZmF1bHQ9Ii95b3VyX3NlcnZlcl9yb290L2FwcHNlcnZlcnMvSk9uQVMtMy4zLjUiIC8+CisJZGVmYXVsdD0iL3lvdXJfc2VydmVyX3Jvb3QvSk9uQVMtNC4xLjQiIC8+CiA8cHJvcGVydHkgaWQ9ImpvbmFzQmFzZSIKLQlsYWJlbD0iSm9uQVMgQ29uZmlnYXJhdGlvbiBEaXJlY3Rvcnk6IgorCWxhYmVsPSJKb25BUyBDb25maWd1cmF0aW9uIERpcmVjdG9yeToiCiAJdHlwZT0iZGlyZWN0b3J5IgotCWRlZmF1bHQ9Ii95b3VyX3NlcnZlcl9yb290L2FwcHNlcnZlcnMvSk9uQVMtMy4zLjUiIC8+CisJZGVmYXVsdD0iL3lvdXJfc2VydmVyX3Jvb3QvSk9uQVMtNC4xLjQiIC8+CiA8cHJvcGVydHkgaWQ9InNlcnZlckFkZHJlc3MiCiAJbGFiZWw9IkFkZHJlc3M6IgogCXR5cGU9InN0cmluZyIKIAlkZWZhdWx0PSIxMjcuMC4wLjEiIC8+Ci08cHJvcGVydHkgaWQ9InNlcnZlclBvcnQiCis8cHJvcGVydHkgaWQ9InBvcnQiCiAJbGFiZWw9IlBvcnQ6IgogCXR5cGU9InN0cmluZyIKLQlkZWZhdWx0PSI4MDgwIiAvPgorCWRlZmF1bHQ9IjkwMDAiIC8+CiA8cHJvcGVydHkgaWQ9InByb3RvY29scyIKIAlsYWJlbD0iRWpiIFByb3RvY29sczoiCiAJdHlwZT0ic3RyaW5nIgpAQCAtMzUsMjk0ICszNSw1OCBAQAogPHByb3BlcnR5IGlkPSJjbGFzc1BhdGgiCiAJbGFiZWw9IkNsYXNzcGF0aCBWYXJpYWJsZToiCiAJdHlwZT0iZGlyZWN0b3J5IgotCWRlZmF1bHQ9Ii95b3VyX3NlcnZlcl9yb290L2FwcHNlcnZlcnMvSk9uQVMtMy4zLjUiIC8+CisJZGVmYXVsdD0iL3lvdXJfc2VydmVyX3Jvb3QvSk9uQVMtNC4xLjQiIC8+CiA8c2VydmVySG9tZT4ke2pvbmFzUm9vdH08L3NlcnZlckhvbWU+Ci08d2ViTW9kdWxlc0RlcGxveURpcmVjdG9yeT4ke2pvbmFzQmFzZX0vd2ViYXBwczwvd2ViTW9kdWxlc0RlcGxveURpcmVjdG9yeT4KLTxlamJNb2R1bGVzRGVwbG95RGlyZWN0b3J5PiR7am9uYXNCYXNlfS9lamJqYXJzPC9lamJNb2R1bGVzRGVwbG95RGlyZWN0b3J5PgotPGVhck1vZHVsZXNEZXBsb3lEaXJlY3Rvcnk+JHtqb25hc0Jhc2V9L2FwcHM8L2Vhck1vZHVsZXNEZXBsb3lEaXJlY3Rvcnk+Cis8d2ViTW9kdWxlc0RlcGxveURpcmVjdG9yeT4ke2pvbmFzQmFzZX0vd2ViYXBwcy9hdXRvbG9hZDwvd2ViTW9kdWxlc0RlcGxveURpcmVjdG9yeT4KKzxlamJNb2R1bGVzRGVwbG95RGlyZWN0b3J5PiR7am9uYXNCYXNlfS9lamJqYXJzL2F1dG9sb2FkPC9lamJNb2R1bGVzRGVwbG95RGlyZWN0b3J5PgorPGVhck1vZHVsZXNEZXBsb3lEaXJlY3Rvcnk+JHtqb25hc0Jhc2V9L2FwcHMvYXV0b2xvYWQ8L2Vhck1vZHVsZXNEZXBsb3lEaXJlY3Rvcnk+CiA8am5kaUluaXRpYWxDb250ZXh0RmFjdG9yeT5vcmcub2JqZWN0d2ViLmNhcm9sLmpuZGkuc3BpLk11bHRpT3JiSW5pdGlhbENvbnRleHRGYWN0b3J5PC9qbmRpSW5pdGlhbENvbnRleHRGYWN0b3J5PgogPGpuZGlQcm92aWRlclVybD5paW9wOi8vJHtzZXJ2ZXJBZGRyZXNzfToyMDAxPC9qbmRpUHJvdmlkZXJVcmw+CiA8c3RhcnRDbGFzcz5vcmcub2JqZWN0d2ViLmpvbmFzLnNlcnZlci5Cb290c3RyYXA8L3N0YXJ0Q2xhc3M+CiA8c3RhcnRXb3JraW5nRGlyZWN0b3J5PiR7am9uYXNSb290fTwvc3RhcnRXb3JraW5nRGlyZWN0b3J5PgotPHN0YXJ0Vm1QYXJhbWV0ZXJzPi1EaW5zdGFsbC5yb290PSR7am9uYXNSb290fSAtRGpvbmFzLmJhc2U9JHtqb25hc0Jhc2V9IC1EamF2YS5zZWN1cml0eS5wb2xpY3k9JHtqb25hc1Jvb3R9L2NvbmYvamF2YS5wb2xpY3kgLURqb25hcy5jbGFzc3BhdGg9IC1Eam9uYXMuZGVmYXVsdC5jbGFzc2xvYWRlcj10cnVlIC1EamF2YXgucm1pLkNPUkJBLlBvcnRhYmxlUmVtb3RlT2JqZWN0Q2xhc3M9b3JnLm9iamVjdHdlYi5jYXJvbC5ybWkubXVsdGkuTXVsdGlQUk9EZWxlZ2F0ZSAtRGphdmEubmFtaW5nLmZhY3RvcnkuaW5pdGlhbD1vcmcub2JqZWN0d2ViLmNhcm9sLmpuZGkuc3BpLk11bHRpT3JiSW5pdGlhbENvbnRleHRGYWN0b3J5IC1EamF2YS5zZWN1cml0eS5hdXRoLmxvZ2luLmNvbmZpZz0ke2pvbmFzUm9vdH0vY29uZi9qYWFzLmNvbmZpZyAtRGphdmEucm1pLnNlcnZlci5STUlDbGFzc0xvYWRlclNwaT1vcmcub2JqZWN0d2ViLmpvbmFzLnNlcnZlci5SZW1vdGVDbGFzc0xvYWRlclNwaTwvc3RhcnRWbVBhcmFtZXRlcnM+Cis8c3RhcnRWbVBhcmFtZXRlcnM+LURpbnN0YWxsLnJvb3Q9JHtqb25hc1Jvb3R9IC1Eam9uYXMuYmFzZT0ke2pvbmFzQmFzZX0gLURqYXZhLnNlY3VyaXR5LnBvbGljeT0ke2pvbmFzUm9vdH0vY29uZi9qYXZhLnBvbGljeSAtRGpvbmFzLmNsYXNzcGF0aD0gLURqb25hcy5kZWZhdWx0LmNsYXNzbG9hZGVyPXRydWUgLURqYXZheC5ybWkuQ09SQkEuUG9ydGFibGVSZW1vdGVPYmplY3RDbGFzcz1vcmcub2JqZWN0d2ViLmNhcm9sLnJtaS5tdWx0aS5NdWx0aVBST0RlbGVnYXRlIC1EamF2YS5uYW1pbmcuZmFjdG9yeS5pbml0aWFsPW9yZy5vYmplY3R3ZWIuY2Fyb2wuam5kaS5zcGkuTXVsdGlPcmJJbml0aWFsQ29udGV4dEZhY3RvcnkgLURqYXZhLnNlY3VyaXR5LmF1dGgubG9naW4uY29uZmlnPSR7am9uYXNSb290fS9jb25mL2phYXMuY29uZmlnICAtRGphdmEuZW5kb3JzZWQuZGlycz0ke2pvbmFzUm9vdH0vbGliL2VuZG9yc2VkIC1EamF2YS5ybWkuc2VydmVyLlJNSUNsYXNzTG9hZGVyU3BpPW9yZy5vYmplY3R3ZWIuam9uYXMuc2VydmVyLlJlbW90ZUNsYXNzTG9hZGVyU3BpPC9zdGFydFZtUGFyYW1ldGVycz4KIDxzdGFydFByb2dyYW1Bcmd1bWVudHM+b3JnLm9iamVjdHdlYi5qb25hcy5zZXJ2ZXIuU2VydmVyPC9zdGFydFByb2dyYW1Bcmd1bWVudHM+CiA8c3RvcENsYXNzPm9yZy5vYmplY3R3ZWIuam9uYXMuc2VydmVyLkJvb3RzdHJhcDwvc3RvcENsYXNzPgogPHN0b3BXb3JraW5nRGlyZWN0b3J5PiR7am9uYXNSb290fTwvc3RvcFdvcmtpbmdEaXJlY3Rvcnk+Ci08c3RvcFZtUGFyYW1ldGVycz4tRGluc3RhbGwucm9vdD0ke2pvbmFzUm9vdH0gLURqb25hcy5iYXNlPSR7am9uYXNCYXNlfSAtRGphdmEuc2VjdXJpdHkucG9saWN5PSR7am9uYXNSb290fS9jb25mL2phdmEucG9saWN5IC1Eam9uYXMuY2xhc3NwYXRoPSAtRGpvbmFzLmRlZmF1bHQuY2xhc3Nsb2FkZXI9dHJ1ZSAtRGphdmF4LnJtaS5DT1JCQS5Qb3J0YWJsZVJlbW90ZU9iamVjdENsYXNzPW9yZy5vYmplY3R3ZWIuY2Fyb2wucm1pLm11bHRpLk11bHRpUFJPRGVsZWdhdGUgLURqYXZhLm5hbWluZy5mYWN0b3J5LmluaXRpYWw9b3JnLm9iamVjdHdlYi5jYXJvbC5qbmRpLnNwaS5NdWx0aU9yYkluaXRpYWxDb250ZXh0RmFjdG9yeSAtRGphdmEuc2VjdXJpdHkuYXV0aC5sb2dpbi5jb25maWc9JHtqb25hc1Jvb3R9L2NvbmYvamFhcy5jb25maWcgLURqYXZhLnJtaS5zZXJ2ZXIuUk1JQ2xhc3NMb2FkZXJTcGk9b3JnLm9iamVjdHdlYi5qb25hcy5zZXJ2ZXIuUmVtb3RlQ2xhc3NMb2FkZXJTcGk8L3N0b3BWbVBhcmFtZXRlcnM+Cis8c3RvcFZtUGFyYW1ldGVycz4tRGluc3RhbGwucm9vdD0ke2pvbmFzUm9vdH0gLURqb25hcy5iYXNlPSR7am9uYXNCYXNlfSAtRGphdmEuc2VjdXJpdHkucG9saWN5PSR7am9uYXNSb290fS9jb25mL2phdmEucG9saWN5IC1Eam9uYXMuY2xhc3NwYXRoPSAtRGpvbmFzLmRlZmF1bHQuY2xhc3Nsb2FkZXI9dHJ1ZSAtRGphdmF4LnJtaS5DT1JCQS5Qb3J0YWJsZVJlbW90ZU9iamVjdENsYXNzPW9yZy5vYmplY3R3ZWIuY2Fyb2wucm1pLm11bHRpLk11bHRpUFJPRGVsZWdhdGUgLURqYXZhLm5hbWluZy5mYWN0b3J5LmluaXRpYWw9b3JnLm9iamVjdHdlYi5jYXJvbC5qbmRpLnNwaS5NdWx0aU9yYkluaXRpYWxDb250ZXh0RmFjdG9yeSAtRGphdmEuc2VjdXJpdHkuYXV0aC5sb2dpbi5jb25maWc9JHtqb25hc1Jvb3R9L2NvbmYvamFhcy5jb25maWcgIC1EamF2YS5lbmRvcnNlZC5kaXJzPSR7am9uYXNSb290fS9saWIvZW5kb3JzZWQgLURqYXZhLnJtaS5zZXJ2ZXIuUk1JQ2xhc3NMb2FkZXJTcGk9b3JnLm9iamVjdHdlYi5qb25hcy5zZXJ2ZXIuUmVtb3RlQ2xhc3NMb2FkZXJTcGk8L3N0b3BWbVBhcmFtZXRlcnM+CiA8c3RvcFByb2dyYW1Bcmd1bWVudHM+b3JnLm9iamVjdHdlYi5qb25hcy5hZG0uSm9uYXNBZG1pbiAtczwvc3RvcFByb2dyYW1Bcmd1bWVudHM+CiA8c2VydmVyQ2xhc3NQYXRoPgotCTxqYXIgdHlwZT0idmFyaWFibGUiPiR7Y2xhc3NQYXRoVmFyaWFibGVOYW1lfS9saWIvY29tbW9uL293X2pvbmFzX2Jvb3RzdHJhcC5qYXI8L2phcj4KLQk8amFyIHR5cGU9InZhcmlhYmxlIj5KREtfVE9PTFM8L2phcj4KLQk8amFyIHR5cGU9InZhcmlhYmxlIj4ke2NsYXNzUGF0aFZhcmlhYmxlTmFtZX0vY29uZjwvamFyPgorCTxqYXIgdHlwZT0idmFyaWFibGUiPiR7Y2xhc3NQYXRofS9saWIvY29tbW9uL293X2pvbmFzX2Jvb3RzdHJhcC5qYXI8L2phcj4KKwk8amFyIHR5cGU9InZhcmlhYmxlIj4ke2NsYXNzUGF0aH0vY29uZjwvamFyPgogPC9zZXJ2ZXJDbGFzc1BhdGg+CiA8Y2xpZW50Q2xhc3NQYXRoPgotCTxqYXIgdHlwZT0idmFyaWFibGUiPiR7Y2xhc3NQYXRoVmFyaWFibGVOYW1lfS9saWIvY2xpZW50LmphcjwvamFyPgorCTxqYXIgdHlwZT0idmFyaWFibGUiPiR7Y2xhc3NQYXRofS9saWIvY2xpZW50LmphcjwvamFyPgogPC9jbGllbnRDbGFzc1BhdGg+CiA8cHJvamVjdENsYXNzUGF0aD4KLQk8amFyIHR5cGU9InZhcmlhYmxlIj4ke2NsYXNzUGF0aFZhcmlhYmxlTmFtZX0vbGliL2NvbW1vbi9vd19qb25hc19ib290c3RyYXAuamFyPC9qYXI+Ci0JPGphciB0eXBlPSJ2YXJpYWJsZSI+SkRLX1RPT0xTPC9qYXI+Ci0JPGphciB0eXBlPSJ2YXJpYWJsZSI+JHtjbGFzc1BhdGhWYXJpYWJsZU5hbWV9L2xpYi9jb21tb24vajJlZS9lamIvZWpiLTJfMS1hcGkuamFyPC9qYXI+CisJPGphciB0eXBlPSJ2YXJpYWJsZSI+JHtjbGFzc1BhdGh9L2xpYi9jb21tb24vb3dfam9uYXNfYm9vdHN0cmFwLmphcjwvamFyPgorCTxqYXIgdHlwZT0idmFyaWFibGUiPiR7Y2xhc3NQYXRofS9saWIvY29tbW9uL2oyZWUvZWpiL2VqYi0yXzEtYXBpLmphcjwvamFyPgogPC9wcm9qZWN0Q2xhc3NQYXRoPgogPGFkbWluVG9vbD4KIAk8d2ViPgotCQk8ZGVwbG95PjwhW0NEQVRBWworCQk8ZGVwbG95PgorCQk8IVtDREFUQVsKIAkJCQotCQkJPCEtLSBDb3B5cmlnaHQgKGMpIDIwMDIgYnkgT2JqZWN0TGVhcm4uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuIC0tPgotCQkJPCEtLSBETyBOT1QgTU9ESUZZIFRISVMgRklMRSBDSEFOR0UgVEhFIFNFUlZFUiBGSUxFIElOU1RFQUQgLS0+CiAJCQkJPHByb2plY3QgbmFtZT0iZGVwbG95ZXh0ZW5zaW9uIiAgZGVmYXVsdD0iZGVwbG95IiAgYmFzZWRpcj0iLiI+Ci0JCQkgICAgICA8cGF0aCBpZD0idG9vbHBhdGgiPgotCQkJCSAgICAgICAgPCEtLSBhcHBlbmQgdGhlIGV4dGVybmFsIGNsYXNzcGF0aCBsYXN0bHkgLS0+Ci0JCQkJICAgICAgICA8cGF0aGVsZW1lbnQgcGF0aD0iJXtqYXZhLmNsYXNzLnBhdGh9IiAvPgotCQkJCSAgICAgICAgPCEtLSBhcHBlbmQgdGhlIHBhdGggc2VudCB0aHJvdWdoIGVjbGlwc2UgdG8gY2xhc3NwYXRoIC0tPgotCQkJCSAgICAgICAgPHBhdGhlbGVtZW50IHBhdGg9IiV7YWRtaW5Ub29sUGF0aH0iIC8+ICAKLQkJCQkgIDwvcGF0aD4KLQkJCQkgIDx0YXJnZXQgbmFtZT0iam9uYXMtamFyIiB1bmxlc3M9ImJ5cGFzcy1zZXJ2ZXItamFyIiAvPgotCQkJCSAgPHRhcmdldCBuYW1lPSJqb25hcy1kZXBsb3kiIHVubGVzcz0iYnlwYXNzLXNlcnZlci1kZXBsb3kiID4KLQkJCQkJICA8amF2YSAKLQkJCQkJICAgICAgICBjbGFzc25hbWU9Im9yZy5vYmplY3R3ZWIuam9uYXMuc2VydmVyLkJvb3RzdHJhcCIgCi0JCQkJCSAgICAgICAgZm9yaz0idHJ1ZSIgCi0JCQkJCSAgICAgICAgY2xhc3NwYXRocmVmPSJ0b29scGF0aCIgPgotCQkJCQkgICAgICA8YXJnIHZhbHVlPSJvcmcub2JqZWN0d2ViLmpvbmFzLmFkbS5Kb25hc0FkbWluIiAvPiAgCi0JCQkJCSAgICAgIDxhcmcgdmFsdWU9Ii1hIiAvPgotCQkJCQkgICAgICA8YXJnIHZhbHVlPSIle2RlcGxveS5kaXJ9LyV7d2FyfS53YXIiIC8+Ci0JCQkJCSAgICAgIDxqdm1hcmcgdmFsdWU9Ii1EaW5zdGFsbC5yb290PSR7am9uYXNSb290fSIgLz4KLQkJCQkJICAgICAgPGp2bWFyZyB2YWx1ZT0iLURqb25hcy5iYXNlPSR7am9uYXNCYXNlfSIgLz4KLQkJCQkJICAgICAgPGp2bWFyZyB2YWx1ZT0iLURqYXZhLnNlY3VyaXR5LnBvbGljeT0ke2pvbmFzUm9vdH0vY29uZi9qYXZhLnBvbGljeSIgLz4KLQkJCQkJICAgICAgPGp2bWFyZyB2YWx1ZT0iLURqb25hcy5jbGFzc3BhdGg9IiAvPgotCQkJCQkgICAgICA8anZtYXJnIHZhbHVlPSItRGpvbmFzLmRlZmF1bHQuY2xhc3Nsb2FkZXI9dHJ1ZSIgLz4KLQkJCQkJICAgICAgPGp2bWFyZyB2YWx1ZT0iLURqYXZheC5ybWkuQ09SQkEuUG9ydGFibGVSZW1vdGVPYmplY3RDbGFzcz1vcmcub2JqZWN0d2ViLmNhcm9sLnJtaS5tdWx0aS5NdWx0aVBST0RlbGVnYXRlIiAvPgotCQkJCQkgICAgICA8anZtYXJnIHZhbHVlPSItRGphdmEubmFtaW5nLmZhY3RvcnkuaW5pdGlhbD1vcmcub2JqZWN0d2ViLmNhcm9sLmpuZGkuc3BpLk11bHRpT3JiSW5pdGlhbENvbnRleHRGYWN0b3J5IiAvPgotCQkJCQkgICAgICA8anZtYXJnIHZhbHVlPSItRGphdmEuc2VjdXJpdHkuYXV0aC5sb2dpbi5jb25maWc9JHtqb25hc1Jvb3R9L2NvbmYvamFhcy5jb25maWciIC8+Ci0JCQkJCSAgICAgIDxqdm1hcmcgdmFsdWU9Ii1EamF2YS5ybWkuc2VydmVyLlJNSUNsYXNzTG9hZGVyU3BpPW9yZy5vYmplY3R3ZWIuam9uYXMuc2VydmVyLlJlbW90ZUNsYXNzTG9hZGVyU3BpIiAvPgkJCQkgICAgICAKLQkJCQkJICAgPC9qYXZhPgotCQkJCSAgPC90YXJnZXQ+Ci0JCQkJICA8dGFyZ2V0IG5hbWU9ImRlcGxveSIgZGVwZW5kcz0iam9uYXMtamFyLGpvbmFzLWRlcGxveSIgPgotCQkJCSAgPC90YXJnZXQ+CisJCQkJICAgIDx0YXJnZXQgbmFtZT0iZGVwbG95Ij4KKwkJCQkJCTxqYXIgZGVzdGZpbGU9IiR7ZGVwbG95bWVudFVuaXROYW1lfS53YXIiPiAKKwkJCQkJCQk8emlwZmlsZXNldCBkaXI9IiR7bW9kdWxlRGlyfSI+CisJICAgICAgICAJCQkJCTxpbmNsdWRlIG5hbWU9IioqLyouKiIvPgorCQkJCQkJICAgICAgICA8ZXhjbHVkZSBuYW1lPSIqKi8qLndhciIvPgorCQkJCQkJCTwvemlwZmlsZXNldD4KKwkJCQkJCTwvamFyPgorICAJCQkJICAJCTxtb3ZlIGZpbGU9IiR7ZGVwbG95bWVudFVuaXROYW1lfS53YXIiIHRvZGlyPSIke2RlcGxveURpcn0iLz4KKyAgCQkJCQkgIDwvdGFyZ2V0PgogCQkJCTwvcHJvamVjdD4KIAkJCQkKLQkJXV0+PC9kZXBsb3k+Ci0JCTx1bmRlcGxveT48IVtDREFUQVsKLQkJCQotCQkJPCEtLSBDb3B5cmlnaHQgKGMpIDIwMDIgYnkgT2JqZWN0TGVhcm4uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuIC0tPgotCQkJPCEtLSBETyBOT1QgTU9ESUZZIFRISVMgRklMRSBDSEFOR0UgVEhFIFNFUlZFUiBGSUxFIElOU1RFQUQgLS0+Ci0JCQkJPHByb2plY3QgbmFtZT0iZGVwbG95ZXh0ZW5zaW9uIiAgZGVmYXVsdD0idW5kZXBsb3kiICBiYXNlZGlyPSIuIj4KLQkJCQkgIDx0YXJnZXQgbmFtZT0idW5kZXBsb3kiID4KLQkJCQkgICAgPHBhdGggaWQ9InRvb2xwYXRoIj4KLQkJCQkgICAgICAgIDwhLS0gYXBwZW5kIHRoZSBleHRlcm5hbCBjbGFzc3BhdGggbGFzdGx5IC0tPgotCQkJCSAgICAgICAgPHBhdGhlbGVtZW50IHBhdGg9IiV7amF2YS5jbGFzcy5wYXRofSIgLz4KLQkJCQkgICAgICAgIDwhLS0gYXBwZW5kIHRoZSBwYXRoIHNlbnQgdGhyb3VnaCBlY2xpcHNlIHRvIGNsYXNzcGF0aCAtLT4KLQkJCQkgICAgICAgIDxwYXRoZWxlbWVudCBwYXRoPSIle2FkbWluVG9vbFBhdGh9IiAvPiAgCi0JCQkJICAgICA8L3BhdGg+Ci0JCQkJCSAgPGphdmEgCi0JCQkJCSAgICAgICAgY2xhc3NuYW1lPSJvcmcub2JqZWN0d2ViLmpvbmFzLnNlcnZlci5Cb290c3RyYXAiIAotCQkJCQkgICAgICAgIGZvcms9InRydWUiIAotCQkJCQkgICAgICAgIGNsYXNzcGF0aHJlZj0idG9vbHBhdGgiID4KLQkJCQkJICAgICAgPGFyZyB2YWx1ZT0ib3JnLm9iamVjdHdlYi5qb25hcy5hZG0uSm9uYXNBZG1pbiIgLz4gIAotCQkJCQkgICAgICA8YXJnIHZhbHVlPSItciIgLz4KLQkJCQkJICAgICAgPGFyZyB2YWx1ZT0iJXtkZXBsb3kuZGlyfS8le3dhcn0ud2FyIiAvPgotCQkJCQkgICAgICA8anZtYXJnIHZhbHVlPSItRGluc3RhbGwucm9vdD0ke2pvbmFzUm9vdH0iIC8+Ci0JCQkJCSAgICAgIDxqdm1hcmcgdmFsdWU9Ii1Eam9uYXMuYmFzZT0ke2pvbmFzQmFzZX0iIC8+Ci0JCQkJCSAgICAgIDxqdm1hcmcgdmFsdWU9Ii1EamF2YS5zZWN1cml0eS5wb2xpY3k9JHtqb25hc1Jvb3R9L2NvbmYvamF2YS5wb2xpY3kiIC8+Ci0JCQkJCSAgICAgIDxqdm1hcmcgdmFsdWU9Ii1Eam9uYXMuY2xhc3NwYXRoPSIgLz4KLQkJCQkJICAgICAgPGp2bWFyZyB2YWx1ZT0iLURqb25hcy5kZWZhdWx0LmNsYXNzbG9hZGVyPXRydWUiIC8+Ci0JCQkJCSAgICAgIDxqdm1hcmcgdmFsdWU9Ii1EamF2YXgucm1pLkNPUkJBLlBvcnRhYmxlUmVtb3RlT2JqZWN0Q2xhc3M9b3JnLm9iamVjdHdlYi5jYXJvbC5ybWkubXVsdGkuTXVsdGlQUk9EZWxlZ2F0ZSIgLz4KLQkJCQkJICAgICAgPGp2bWFyZyB2YWx1ZT0iLURqYXZhLm5hbWluZy5mYWN0b3J5LmluaXRpYWw9b3JnLm9iamVjdHdlYi5jYXJvbC5qbmRpLnNwaS5NdWx0aU9yYkluaXRpYWxDb250ZXh0RmFjdG9yeSIgLz4KLQkJCQkJICAgICAgPGp2bWFyZyB2YWx1ZT0iLURqYXZhLnNlY3VyaXR5LmF1dGgubG9naW4uY29uZmlnPSR7am9uYXNSb290fS9jb25mL2phYXMuY29uZmlnIiAvPgotCQkJCQkgICAgICA8anZtYXJnIHZhbHVlPSItRGphdmEucm1pLnNlcnZlci5STUlDbGFzc0xvYWRlclNwaT1vcmcub2JqZWN0d2ViLmpvbmFzLnNlcnZlci5SZW1vdGVDbGFzc0xvYWRlclNwaSIgLz4JCQkJICAgICAgCi0JCQkJCSAgIDwvamF2YT4KLQkJCQkgIDwvdGFyZ2V0PgotCQkJCTwvcHJvamVjdD4KLQkJCQkKLQkJXV0+PC91bmRlcGxveT4KKwkJXV0+CisJCQorICAgICAgICA8L2RlcGxveT4KKwkJPHVuZGVwbG95PgorICAgICAgICA8L3VuZGVwbG95PgogCTwvd2ViPgotCTxlamI+Ci0JCTxkZXBsb3k+PCFbQ0RBVEFbCi0JCQkKLQkJCTwhLS0gQ29weXJpZ2h0IChjKSAyMDAyIGJ5IE9iamVjdExlYXJuLiBBbGwgUmlnaHRzIFJlc2VydmVkLiAtLT4KLQkJCTwhLS0gRE8gTk9UIE1PRElGWSBUSElTIEZJTEUgQ0hBTkdFIFRIRSBTRVJWRVIgRklMRSBJTlNURUFEIC0tPgotCQkJCTxwcm9qZWN0IG5hbWU9ImRlcGxveWV4dGVuc2lvbiIgIGRlZmF1bHQ9ImRlcGxveSIgIGJhc2VkaXI9Ii4iPgotCQkJCSA8IS0tIGVqYmphciB0YXNrICAtLT4KLQkJCQkgPHRhc2tkZWYgbmFtZT0iam9uYXNFamJKamFyIgotCQkJCSAgICBjbGFzc25hbWU9Im9yZy5vYmplY3R3ZWIuam9uYXMuYW50LkVqYkphciIKLQkJCQkgICAgY2xhc3NwYXRoPSIke2pvbmFzUm9vdH0vbGliL2NvbW1vbi9vd19qb25hc19hbnQuamFyIiAvPgotCQkJCSAgICAKLQkJCQkgIDxwYXRoIGlkPSJiYXNlLmNsYXNzcGF0aCI+Ci0JCQkJICAgIDwhLS0gQ0xBU1NQQVRIIGlzIGFkZGVkIGZvciBydW50ZXN0IHRhcmdldCAtLT4KLQkJCQkgICAgPGZpbGVzZXQgZGlyPSIke2pvbmFzUm9vdH0vbGliIj4KLQkJCQkgICAgICA8aW5jbHVkZSBuYW1lPSIqKi8qLmphciIvPgotCQkJCSAgICAgIDxpbmNsdWRlIG5hbWU9IioqLyoqLyouamFyIi8+Ci0JCQkJICAgICAgPGluY2x1ZGUgbmFtZT0iKiovKiovKiovKi5qYXIiLz4KLQkJCQkgICAgICA8ZXhjbHVkZSBuYW1lPSIqKi9vd19qb25hc19ib290c3RyYXAuamFyIi8+Ci0JCQkJICAgIDwvZmlsZXNldD4KLQkJCQkgIDwvcGF0aD4JCQkJCi0gIAkJCSAgICAgIDxwYXRoIGlkPSJ0b29scGF0aCI+Ci0JCQkJICAgICAgICA8IS0tIGFwcGVuZCB0aGUgZXh0ZXJuYWwgY2xhc3NwYXRoIGxhc3RseSAtLT4KLQkJCQkgICAgICAgIDxwYXRoZWxlbWVudCBwYXRoPSIle2phdmEuY2xhc3MucGF0aH0iIC8+Ci0JCQkJICAgICAgICA8IS0tIGFwcGVuZCB0aGUgcGF0aCBzZW50IHRocm91Z2ggZWNsaXBzZSB0byBjbGFzc3BhdGggLS0+Ci0JCQkJICAgICAgICA8cGF0aGVsZW1lbnQgcGF0aD0iJXthZG1pblRvb2xQYXRofSIgLz4gIAotCQkJCSAgPC9wYXRoPgotCi0JCQkJICA8dGFyZ2V0IG5hbWU9ImpvbmFzLWphciIgdW5sZXNzPSJieXBhc3Mtc2VydmVyLWphciIgPgotICAJCQkJCTxkZWxldGUgZGlyPSIle2RlcGxveS5kaXJ9LyV7ZWpifV9qb25hcyIgZmFpbG9uZXJyb3I9ImZhbHNlIiAvPgotCQkJCSAgICAgCi0JCQkJCTx1bmphciBzcmM9IiV7ZGVwbG95LmRpcn0vJXtlamJ9LmphciIgZGVzdD0iJXtkZXBsb3kuZGlyfS8le2VqYn1fam9uYXMiLz4gCi0JCQkJCTxkZWxldGUgZmlsZT0iJXtkZXBsb3kuZGlyfS8le2VqYn0uamFyIiBmYWlsb25lcnJvcj0iZmFsc2UiICAvPgotCi0JCQkJICAgIDxqb25hc0VqYkpqYXIgYmFzZWphcm5hbWU9IiV7ZWpifSIKLQkJCQkJICAgIHNyY2Rpcj0iJXtkZXBsb3kuZGlyfS8le2VqYn1fam9uYXMiCi0JCQkJCSAgICBkZXNjcmlwdG9yZGlyPSIle2RlcGxveS5kaXJ9LyV7ZWpifV9qb25hcy9NRVRBLUlORiIgCi0JCQkJCSAgICBkZXBlbmRlbmN5PSJmdWxsIiA+Ci0JCQkJICAgICAgPGluY2x1ZGUgbmFtZT0iKiovZWpiLWphci54bWwiLz4KLQkJCQkgICAgICA8ZHRkIHB1YmxpY0lkPSItLy9TdW4gTWljcm9zeXN0ZW1zLCBJbmMuLy9EVEQgRW50ZXJwcmlzZSBKYXZhQmVhbnMgMi4wLy9FTiIKLQkJCQkJICAgbG9jYXRpb249IiR7am9uYXNSb290fS94bWwvZWpiLWphcl8yXzAuZHRkIiAvPgotCQkJCSAgICAgIDxzdXBwb3J0IGRpcj0iJXtkZXBsb3kuZGlyfS8le2VqYn1fam9uYXMiPgotCQkJCQkgIAk8aW5jbHVkZSBuYW1lPSIqKi8qLioiLz4KLQkJCQkJICAJPGV4Y2x1ZGUgbmFtZT0iKiovTUFOSUZFU1QuTUYiLz4KLQkJCQkJICAJPGV4Y2x1ZGUgbmFtZT0iKiovZWpiLWphci54bWwiLz4KLQkJCQkJICAJPGV4Y2x1ZGUgbmFtZT0iKiovam9uYXMtZWpiLWphci54bWwiLz4KLQkJCQkgICAgICA8L3N1cHBvcnQ+Ci0JCQkJICAgICAgPGpvbmFzIGRlc3RkaXI9IiV7ZGVwbG95LmRpcn0iCi0JCQkJICAgICAgICAgY2xhc3NwYXRoPSIle2Jhc2UuY2xhc3NwYXRofTole2RlcGxveS5kaXJ9LyV7ZWpifV9qb25hcyIgCi0JCQkJCSAgICAgam9uYXNyb290PSIke2pvbmFzUm9vdH0iIAotCQkJCQkgICAgIG1hcHBlcm5hbWVzPSIke21hcHBlcm5hbWVzfSIKLQkJCQkgICAgICAgICBwcm90b2NvbHM9IiR7cHJvdG9jb2xzfSIKLQkJCQkJICAgICBrZWVwZ2VuZXJhdGVkPSJ0cnVlIiAvPgotCQkJCSAgICA8L2pvbmFzRWpiSmphcj4KLSAgCQkJCQk8ZGVsZXRlIGRpcj0iJXtkZXBsb3kuZGlyfS8le2VqYn1fam9uYXMiIGZhaWxvbmVycm9yPSJmYWxzZSIgLz4gCi0JCQkJIDwvdGFyZ2V0PgotCQkJCSA8dGFyZ2V0IG5hbWU9ImpvbmFzLWRlcGxveSIgdW5sZXNzPSJieXBhc3Mtc2VydmVyLWRlcGxveSIgPgotCQkJCQkgIDxqYXZhIAotCQkJCQkgICAgICAgIGNsYXNzbmFtZT0ib3JnLm9iamVjdHdlYi5qb25hcy5zZXJ2ZXIuQm9vdHN0cmFwIiAKLQkJCQkJICAgICAgICBmb3JrPSJ0cnVlIiAKLQkJCQkJICAgICAgICBjbGFzc3BhdGhyZWY9InRvb2xwYXRoIiA+Ci0JCQkJCSAgICAgIDxhcmcgdmFsdWU9Im9yZy5vYmplY3R3ZWIuam9uYXMuYWRtLkpvbmFzQWRtaW4iIC8+ICAKLQkJCQkJICAgICAgPGFyZyB2YWx1ZT0iLWEiIC8+Ci0JCQkJCSAgICAgIDxhcmcgdmFsdWU9IiV7ZGVwbG95LmRpcn0vJXtlamJ9LmphciIgLz4KLQkJCQkJICAgICAgPGp2bWFyZyB2YWx1ZT0iLURpbnN0YWxsLnJvb3Q9JHtqb25hc1Jvb3R9IiAvPgotCQkJCQkgICAgICA8anZtYXJnIHZhbHVlPSItRGpvbmFzLmJhc2U9JHtqb25hc0Jhc2V9IiAvPgotCQkJCQkgICAgICA8anZtYXJnIHZhbHVlPSItRGphdmEuc2VjdXJpdHkucG9saWN5PSR7am9uYXNSb290fS9jb25mL2phdmEucG9saWN5IiAvPgotCQkJCQkgICAgICA8anZtYXJnIHZhbHVlPSItRGpvbmFzLmNsYXNzcGF0aD0iIC8+Ci0JCQkJCSAgICAgIDxqdm1hcmcgdmFsdWU9Ii1Eam9uYXMuZGVmYXVsdC5jbGFzc2xvYWRlcj10cnVlIiAvPgotCQkJCQkgICAgICA8anZtYXJnIHZhbHVlPSItRGphdmF4LnJtaS5DT1JCQS5Qb3J0YWJsZVJlbW90ZU9iamVjdENsYXNzPW9yZy5vYmplY3R3ZWIuY2Fyb2wucm1pLm11bHRpLk11bHRpUFJPRGVsZWdhdGUiIC8+Ci0JCQkJCSAgICAgIDxqdm1hcmcgdmFsdWU9Ii1EamF2YS5uYW1pbmcuZmFjdG9yeS5pbml0aWFsPW9yZy5vYmplY3R3ZWIuY2Fyb2wuam5kaS5zcGkuTXVsdGlPcmJJbml0aWFsQ29udGV4dEZhY3RvcnkiIC8+Ci0JCQkJCSAgICAgIDxqdm1hcmcgdmFsdWU9Ii1EamF2YS5zZWN1cml0eS5hdXRoLmxvZ2luLmNvbmZpZz0ke2pvbmFzUm9vdH0vY29uZi9qYWFzLmNvbmZpZyIgLz4KLQkJCQkJICAgICAgPGp2bWFyZyB2YWx1ZT0iLURqYXZhLnJtaS5zZXJ2ZXIuUk1JQ2xhc3NMb2FkZXJTcGk9b3JnLm9iamVjdHdlYi5qb25hcy5zZXJ2ZXIuUmVtb3RlQ2xhc3NMb2FkZXJTcGkiIC8+CQkJCSAgICAgIAotCQkJCQkgICA8L2phdmE+Ci0JCQkJICA8L3RhcmdldD4KLQkJCQkgIDx0YXJnZXQgbmFtZT0iZGVwbG95IiBkZXBlbmRzPSJqb25hcy1qYXIsam9uYXMtZGVwbG95IiA+Ci0JCQkJICA8L3RhcmdldD4KLQkJCQk8L3Byb2plY3Q+Ci0JCQkJCi0JCV1dPjwvZGVwbG95PgotCQk8dW5kZXBsb3k+PCFbQ0RBVEFbCi0JCQkKLQkJCTwhLS0gQ29weXJpZ2h0IChjKSAyMDAyIGJ5IE9iamVjdExlYXJuLiBBbGwgUmlnaHRzIFJlc2VydmVkLiAtLT4KLQkJCTwhLS0gRE8gTk9UIE1PRElGWSBUSElTIEZJTEUgQ0hBTkdFIFRIRSBTRVJWRVIgRklMRSBJTlNURUFEIC0tPgotCQkJCTxwcm9qZWN0IG5hbWU9ImRlcGxveWV4dGVuc2lvbiIgIGRlZmF1bHQ9InVuZGVwbG95IiAgYmFzZWRpcj0iLiI+Ci0JCQkJICA8dGFyZ2V0IG5hbWU9InVuZGVwbG95IiA+Ci0JCQkJICAgIDxwYXRoIGlkPSJ0b29scGF0aCI+Ci0JCQkJICAgICAgICA8IS0tIGFwcGVuZCB0aGUgZXh0ZXJuYWwgY2xhc3NwYXRoIGxhc3RseSAtLT4KLQkJCQkgICAgICAgIDxwYXRoZWxlbWVudCBwYXRoPSIle2phdmEuY2xhc3MucGF0aH0iIC8+Ci0JCQkJICAgICAgICA8IS0tIGFwcGVuZCB0aGUgcGF0aCBzZW50IHRocm91Z2ggZWNsaXBzZSB0byBjbGFzc3BhdGggLS0+Ci0JCQkJICAgICAgICA8cGF0aGVsZW1lbnQgcGF0aD0iJXthZG1pblRvb2xQYXRofSIgLz4gIAotCQkJCSAgICAgPC9wYXRoPgotCQkJCQkgIDxqYXZhIAotCQkJCQkgICAgICAgIGNsYXNzbmFtZT0ib3JnLm9iamVjdHdlYi5qb25hcy5zZXJ2ZXIuQm9vdHN0cmFwIiAKLQkJCQkJICAgICAgICBmb3JrPSJ0cnVlIiAKLQkJCQkJICAgICAgICBjbGFzc3BhdGhyZWY9InRvb2xwYXRoIiA+Ci0JCQkJCSAgICAgIDxhcmcgdmFsdWU9Im9yZy5vYmplY3R3ZWIuam9uYXMuYWRtLkpvbmFzQWRtaW4iIC8+ICAKLQkJCQkJICAgICAgPGFyZyB2YWx1ZT0iLXIiIC8+Ci0JCQkJCSAgICAgIDxhcmcgdmFsdWU9IiV7ZWpifS5qYXIiIC8+Ci0JCQkJCSAgICAgIDxqdm1hcmcgdmFsdWU9Ii1EaW5zdGFsbC5yb290PSR7am9uYXNSb290fSIgLz4KLQkJCQkJICAgICAgPGp2bWFyZyB2YWx1ZT0iLURqb25hcy5iYXNlPSR7am9uYXNCYXNlfSIgLz4KLQkJCQkJICAgICAgPGp2bWFyZyB2YWx1ZT0iLURqYXZhLnNlY3VyaXR5LnBvbGljeT0ke2pvbmFzUm9vdH0vY29uZi9qYXZhLnBvbGljeSIgLz4KLQkJCQkJICAgICAgPGp2bWFyZyB2YWx1ZT0iLURqb25hcy5jbGFzc3BhdGg9IiAvPgotCQkJCQkgICAgICA8anZtYXJnIHZhbHVlPSItRGpvbmFzLmRlZmF1bHQuY2xhc3Nsb2FkZXI9dHJ1ZSIgLz4KLQkJCQkJICAgICAgPGp2bWFyZyB2YWx1ZT0iLURqYXZheC5ybWkuQ09SQkEuUG9ydGFibGVSZW1vdGVPYmplY3RDbGFzcz1vcmcub2JqZWN0d2ViLmNhcm9sLnJtaS5tdWx0aS5NdWx0aVBST0RlbGVnYXRlIiAvPgotCQkJCQkgICAgICA8anZtYXJnIHZhbHVlPSItRGphdmEubmFtaW5nLmZhY3RvcnkuaW5pdGlhbD1vcmcub2JqZWN0d2ViLmNhcm9sLmpuZGkuc3BpLk11bHRpT3JiSW5pdGlhbENvbnRleHRGYWN0b3J5IiAvPgotCQkJCQkgICAgICA8anZtYXJnIHZhbHVlPSItRGphdmEuc2VjdXJpdHkuYXV0aC5sb2dpbi5jb25maWc9JHtqb25hc1Jvb3R9L2NvbmYvamFhcy5jb25maWciIC8+Ci0JCQkJCSAgICAgIDxqdm1hcmcgdmFsdWU9Ii1EamF2YS5ybWkuc2VydmVyLlJNSUNsYXNzTG9hZGVyU3BpPW9yZy5vYmplY3R3ZWIuam9uYXMuc2VydmVyLlJlbW90ZUNsYXNzTG9hZGVyU3BpIiAvPgkJCQkgICAgICAKLQkJCQkJICAgPC9qYXZhPgotCQkJCSAgPC90YXJnZXQ+Ci0JCQkJPC9wcm9qZWN0PgotCQkJCQotCQldXT48L3VuZGVwbG95PgotCTwvZWpiPgotCTxlYXI+Ci0JCTxkZXBsb3k+PCFbQ0RBVEFbCi0JCQkKLQkJCTwhLS0gQ29weXJpZ2h0IChjKSAyMDAyIGJ5IE9iamVjdExlYXJuLiBBbGwgUmlnaHRzIFJlc2VydmVkLiAtLT4KLQkJCTwhLS0gRE8gTk9UIE1PRElGWSBUSElTIEZJTEUgQ0hBTkdFIFRIRSBTRVJWRVIgRklMRSBJTlNURUFEIC0tPgotCQkJCTxwcm9qZWN0IG5hbWU9ImRlcGxveWV4dGVuc2lvbiIgIGRlZmF1bHQ9ImRlcGxveSIgIGJhc2VkaXI9Ii4iPgotCQkJCSAgPHRhcmdldCBuYW1lPSJkZXBsb3kiID4KLQkJCQkgICAgPHBhdGggaWQ9InRvb2xwYXRoIj4KLQkJCQkgICAgICAgIDwhLS0gYXBwZW5kIHRoZSBleHRlcm5hbCBjbGFzc3BhdGggbGFzdGx5IC0tPgotCQkJCSAgICAgICAgPHBhdGhlbGVtZW50IHBhdGg9IiV7amF2YS5jbGFzcy5wYXRofSIgLz4KLQkJCQkgICAgICAgIDwhLS0gYXBwZW5kIHRoZSBwYXRoIHNlbnQgdGhyb3VnaCBlY2xpcHNlIHRvIGNsYXNzcGF0aCAtLT4KLQkJCQkgICAgICAgIDxwYXRoZWxlbWVudCBwYXRoPSIle2FkbWluVG9vbFBhdGh9IiAvPiAgCi0JCQkJICAgICA8L3BhdGg+Ci0JCQkJCSAgPGphdmEgCi0JCQkJCSAgICAgICAgY2xhc3NuYW1lPSJvcmcub2JqZWN0d2ViLmpvbmFzLnNlcnZlci5Cb290c3RyYXAiIAotCQkJCQkgICAgICAgIGZvcms9InRydWUiIAotCQkJCQkgICAgICAgIGNsYXNzcGF0aHJlZj0idG9vbHBhdGgiID4KLQkJCQkJICAgICAgPGFyZyB2YWx1ZT0ib3JnLm9iamVjdHdlYi5qb25hcy5hZG0uSm9uYXNBZG1pbiIgLz4gIAotCQkJCQkgICAgICA8YXJnIHZhbHVlPSItYSIgLz4KLQkJCQkJICAgICAgPGFyZyB2YWx1ZT0iJXtkZXBsb3kuZGlyfS8le2Vhcn0uZWFyIiAvPgotCQkJCQkgICAgICA8anZtYXJnIHZhbHVlPSItRGluc3RhbGwucm9vdD0ke2pvbmFzUm9vdH0iIC8+Ci0JCQkJCSAgICAgIDxqdm1hcmcgdmFsdWU9Ii1Eam9uYXMuYmFzZT0ke2pvbmFzQmFzZX0iIC8+Ci0JCQkJCSAgICAgIDxqdm1hcmcgdmFsdWU9Ii1EamF2YS5zZWN1cml0eS5wb2xpY3k9JHtqb25hc1Jvb3R9L2NvbmYvamF2YS5wb2xpY3kiIC8+Ci0JCQkJCSAgICAgIDxqdm1hcmcgdmFsdWU9Ii1Eam9uYXMuY2xhc3NwYXRoPSIgLz4KLQkJCQkJICAgICAgPGp2bWFyZyB2YWx1ZT0iLURqb25hcy5kZWZhdWx0LmNsYXNzbG9hZGVyPXRydWUiIC8+Ci0JCQkJCSAgICAgIDxqdm1hcmcgdmFsdWU9Ii1EamF2YXgucm1pLkNPUkJBLlBvcnRhYmxlUmVtb3RlT2JqZWN0Q2xhc3M9b3JnLm9iamVjdHdlYi5jYXJvbC5ybWkubXVsdGkuTXVsdGlQUk9EZWxlZ2F0ZSIgLz4KLQkJCQkJICAgICAgPGp2bWFyZyB2YWx1ZT0iLURqYXZhLm5hbWluZy5mYWN0b3J5LmluaXRpYWw9b3JnLm9iamVjdHdlYi5jYXJvbC5qbmRpLnNwaS5NdWx0aU9yYkluaXRpYWxDb250ZXh0RmFjdG9yeSIgLz4KLQkJCQkJICAgICAgPGp2bWFyZyB2YWx1ZT0iLURqYXZhLnNlY3VyaXR5LmF1dGgubG9naW4uY29uZmlnPSR7am9uYXNSb290fS9jb25mL2phYXMuY29uZmlnIiAvPgotCQkJCQkgICAgICA8anZtYXJnIHZhbHVlPSItRGphdmEucm1pLnNlcnZlci5STUlDbGFzc0xvYWRlclNwaT1vcmcub2JqZWN0d2ViLmpvbmFzLnNlcnZlci5SZW1vdGVDbGFzc0xvYWRlclNwaSIgLz4JCQkJICAgICAgCi0JCQkJCSAgIDwvamF2YT4KLQkJCQkgIDwvdGFyZ2V0PgotCQkJCTwvcHJvamVjdD4KLQkJCQkKLQkJXV0+PC9kZXBsb3k+Ci0JCTx1bmRlcGxveT48IVtDREFUQVsKLQkJCQotCQkJPCEtLSBDb3B5cmlnaHQgKGMpIDIwMDIgYnkgT2JqZWN0TGVhcm4uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuIC0tPgotCQkJPCEtLSBETyBOT1QgTU9ESUZZIFRISVMgRklMRSBDSEFOR0UgVEhFIFNFUlZFUiBGSUxFIElOU1RFQUQgLS0+Ci0JCQkJPHByb2plY3QgbmFtZT0iZGVwbG95ZXh0ZW5zaW9uIiAgZGVmYXVsdD0idW5kZXBsb3kiICBiYXNlZGlyPSIuIj4KLQkJCQkgIDx0YXJnZXQgbmFtZT0idW5kZXBsb3kiID4KLQkJCQkgICAgPHBhdGggaWQ9InRvb2xwYXRoIj4KLQkJCQkgICAgICAgIDwhLS0gYXBwZW5kIHRoZSBleHRlcm5hbCBjbGFzc3BhdGggbGFzdGx5IC0tPgotCQkJCSAgICAgICAgPHBhdGhlbGVtZW50IHBhdGg9IiV7amF2YS5jbGFzcy5wYXRofSIgLz4KLQkJCQkgICAgICAgIDwhLS0gYXBwZW5kIHRoZSBwYXRoIHNlbnQgdGhyb3VnaCBlY2xpcHNlIHRvIGNsYXNzcGF0aCAtLT4KLQkJCQkgICAgICAgIDxwYXRoZWxlbWVudCBwYXRoPSIle2FkbWluVG9vbFBhdGh9IiAvPiAgCi0JCQkJICAgICA8L3BhdGg+Ci0JCQkJCSAgPGphdmEgCi0JCQkJCSAgICAgICAgY2xhc3NuYW1lPSJvcmcub2JqZWN0d2ViLmpvbmFzLnNlcnZlci5Cb290c3RyYXAiIAotCQkJCQkgICAgICAgIGZvcms9InRydWUiIAotCQkJCQkgICAgICAgIGNsYXNzcGF0aHJlZj0idG9vbHBhdGgiID4KLQkJCQkJICAgICAgPGFyZyB2YWx1ZT0ib3JnLm9iamVjdHdlYi5qb25hcy5hZG0uSm9uYXNBZG1pbiIgLz4gIAotCQkJCQkgICAgICA8YXJnIHZhbHVlPSItciIgLz4KLQkJCQkJICAgICAgPGFyZyB2YWx1ZT0iJXtkZXBsb3kuZGlyfS8le2Vhcn0uZWFyIiAvPgotCQkJCQkgICAgICA8anZtYXJnIHZhbHVlPSItRGluc3RhbGwucm9vdD0ke2pvbmFzUm9vdH0iIC8+Ci0JCQkJCSAgICAgIDxqdm1hcmcgdmFsdWU9Ii1Eam9uYXMuYmFzZT0ke2pvbmFzQmFzZX0iIC8+Ci0JCQkJCSAgICAgIDxqdm1hcmcgdmFsdWU9Ii1EamF2YS5zZWN1cml0eS5wb2xpY3k9JHtqb25hc1Jvb3R9L2NvbmYvamF2YS5wb2xpY3kiIC8+Ci0JCQkJCSAgICAgIDxqdm1hcmcgdmFsdWU9Ii1Eam9uYXMuY2xhc3NwYXRoPSIgLz4KLQkJCQkJICAgICAgPGp2bWFyZyB2YWx1ZT0iLURqb25hcy5kZWZhdWx0LmNsYXNzbG9hZGVyPXRydWUiIC8+Ci0JCQkJCSAgICAgIDxqdm1hcmcgdmFsdWU9Ii1EamF2YXgucm1pLkNPUkJBLlBvcnRhYmxlUmVtb3RlT2JqZWN0Q2xhc3M9b3JnLm9iamVjdHdlYi5jYXJvbC5ybWkubXVsdGkuTXVsdGlQUk9EZWxlZ2F0ZSIgLz4KLQkJCQkJICAgICAgPGp2bWFyZyB2YWx1ZT0iLURqYXZhLm5hbWluZy5mYWN0b3J5LmluaXRpYWw9b3JnLm9iamVjdHdlYi5jYXJvbC5qbmRpLnNwaS5NdWx0aU9yYkluaXRpYWxDb250ZXh0RmFjdG9yeSIgLz4KLQkJCQkJICAgICAgPGp2bWFyZyB2YWx1ZT0iLURqYXZhLnNlY3VyaXR5LmF1dGgubG9naW4uY29uZmlnPSR7am9uYXNSb290fS9jb25mL2phYXMuY29uZmlnIiAvPgotCQkJCQkgICAgICA8anZtYXJnIHZhbHVlPSItRGphdmEucm1pLnNlcnZlci5STUlDbGFzc0xvYWRlclNwaT1vcmcub2JqZWN0d2ViLmpvbmFzLnNlcnZlci5SZW1vdGVDbGFzc0xvYWRlclNwaSIgLz4JCQkJICAgICAgCi0JCQkJCSAgIDwvamF2YT4KLQkJCQkgIDwvdGFyZ2V0PgotCQkJCTwvcHJvamVjdD4KLQkJCQkKLQkJXV0+PC91bmRlcGxveT4KLQkJPHdlYk1vZHVsZT48ZGVwbG95IC8+PHVuZGVwbG95IC8+Ci0JCTwvd2ViTW9kdWxlPgotCQk8ZWpiTW9kdWxlPjxkZXBsb3kgLz48dW5kZXBsb3kgLz4KLQkJPC9lamJNb2R1bGU+Ci0JPC9lYXI+CiA8L2FkbWluVG9vbD4KIDxhZG1pblRvb2xQYXRoPgogCTxqYXIgdHlwZT0iYWJzb2x1dGUiPiR7am9uYXNCYXNlfS9jb25mPC9qYXI+Ci0JPGphciB0eXBlPSJ2YXJpYWJsZSI+JHtjbGFzc1BhdGhWYXJpYWJsZU5hbWV9L2xpYi9jb21tb24vb3dfam9uYXNfYm9vdHN0cmFwLmphcjwvamFyPgorCTxqYXIgdHlwZT0iYWJzb2x1dGUiPiR7Y2xhc3NQYXRofS9saWIvY29tbW9uL293X2pvbmFzX2Jvb3RzdHJhcC5qYXI8L2phcj4KIDwvYWRtaW5Ub29sUGF0aD4KIDwvc2VydmVyRGVmaW5pdGlvbj4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5jb3JlL3NlcnZlcnMvanJ1bi5zZXJ2ZXIgYi9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5jb3JlL3NlcnZlcnMvanJ1bi5zZXJ2ZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFkOTE4NmYuLjAwMDAwMDAKLS0tIGEvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMuY29yZS9zZXJ2ZXJzL2pydW4uc2VydmVyCisrKyAvZGV2L251bGwKQEAgLTEsNzIgKzAsMCBAQAotCi08c2VydmVyRGVmaW5pdGlvbiAKLQkgbmFtZT0iSlJ1biB2NCIKLQkgZWpiTW9kdWxlcz0idHJ1ZSIKLQkgd2ViTW9kdWxlcz0idHJ1ZSIKLQkgZWFyTW9kdWxlcz0idHJ1ZSI+Ci08cHJvcGVydHkgaWQ9ImpydW5Ib21lIgotCWxhYmVsPSJKUnVuIERpcmVjdG9yeToiCi0JdHlwZT0iZGlyZWN0b3J5IgotCWRlZmF1bHQ9Ii95b3VyX3NlcnZlcl9yb290L0pSdW40IiAvPgotPHByb3BlcnR5IGlkPSJzZXJ2ZXJOYW1lIgotCWxhYmVsPSJTZXJ2ZXIgTmFtZToiCi0JdHlwZT0ic3RyaW5nIgotCWRlZmF1bHQ9ImRlZmF1bHQiIC8+Ci08cHJvcGVydHkgaWQ9InVzZXJOYW1lIgotCWxhYmVsPSJVc2VyIE5hbWU6IgotCXR5cGU9InN0cmluZyIKLQlkZWZhdWx0PSJhZG1pbiIgLz4KLTxwcm9wZXJ0eSBpZD0icGFzc3dvcmQiCi0JbGFiZWw9IlBhc3N3b3JkOiIKLQl0eXBlPSJzdHJpbmciCi0JZGVmYXVsdD0icGFzc3dvcmQiIC8+Ci08cHJvcGVydHkgaWQ9InNlcnZlckFkZHJlc3MiCi0JbGFiZWw9IkFkZHJlc3M6IgotCXR5cGU9InN0cmluZyIKLQlkZWZhdWx0PSIxMjcuMC4wLjEiIC8+Ci08cHJvcGVydHkgaWQ9InNlcnZlclBvcnQiCi0JbGFiZWw9IlBvcnQ6IgotCXR5cGU9InN0cmluZyIKLQlkZWZhdWx0PSI4MTAwIiAvPgotPHByb3BlcnR5IGlkPSJqbmRpUG9ydCIKLQlsYWJlbD0iSk5ESSBQb3J0OiIKLQl0eXBlPSJzdHJpbmciCi0JZGVmYXVsdD0iMjkwOCIgLz4KLTxwcm9wZXJ0eSBpZD0iY2xhc3NQYXRoVmFyaWFibGVOYW1lIgotCWxhYmVsPSJDbGFzc3BhdGggVmFyaWFibGUgTmFtZToiCi0JdHlwZT0ic3RyaW5nIgotCWRlZmF1bHQ9IkpSVU40IiAvPgotPHByb3BlcnR5IGlkPSJjbGFzc1BhdGgiCi0JbGFiZWw9IkNsYXNzcGF0aCBWYXJpYWJsZToiCi0JdHlwZT0iZGlyZWN0b3J5IgotCWRlZmF1bHQ9Ii95b3VyX3NlcnZlcl9yb290L0pSdW40IiAvPgotPHNlcnZlckhvbWU+JHtzZXJ2ZXJSb290RGlyZWN0b3J5fTwvc2VydmVySG9tZT4KLTx3ZWJNb2R1bGVzRGVwbG95RGlyZWN0b3J5PiR7anJ1bkhvbWV9L3NlcnZlcnMvJHtzZXJ2ZXJOYW1lfTwvd2ViTW9kdWxlc0RlcGxveURpcmVjdG9yeT4KLTxlamJNb2R1bGVzRGVwbG95RGlyZWN0b3J5PiR7anJ1bkhvbWV9L3NlcnZlcnMvJHtzZXJ2ZXJOYW1lfTwvZWpiTW9kdWxlc0RlcGxveURpcmVjdG9yeT4KLTxlYXJNb2R1bGVzRGVwbG95RGlyZWN0b3J5PiR7anJ1bkhvbWV9L3NlcnZlcnMvJHtzZXJ2ZXJOYW1lfTwvZWFyTW9kdWxlc0RlcGxveURpcmVjdG9yeT4KLTxqbmRpSW5pdGlhbENvbnRleHRGYWN0b3J5PmpydW4ubmFtaW5nLkpSdW5Db250ZXh0RmFjdG9yeTwvam5kaUluaXRpYWxDb250ZXh0RmFjdG9yeT4KLTxqbmRpUHJvdmlkZXJVcmw+JHtzZXJ2ZXJBZGRyZXNzfToke2puZGlQb3J0fTwvam5kaVByb3ZpZGVyVXJsPgotPHN0YXJ0Q2xhc3M+anJ1bngua2VybmVsLkpSdW48L3N0YXJ0Q2xhc3M+Ci08c3RhcnRXb3JraW5nRGlyZWN0b3J5PiR7anJ1bkhvbWV9PC9zdGFydFdvcmtpbmdEaXJlY3Rvcnk+Ci08c3RhcnRWbVBhcmFtZXRlcnM+LVhtczMybSAtWG14MTI4bTwvc3RhcnRWbVBhcmFtZXRlcnM+Ci08c3RhcnRQcm9ncmFtQXJndW1lbnRzPi1zdGFydCAke3NlcnZlck5hbWV9PC9zdGFydFByb2dyYW1Bcmd1bWVudHM+Ci08c3RvcENsYXNzPmpydW54Lmtlcm5lbC5KUnVuPC9zdG9wQ2xhc3M+Ci08c3RvcFdvcmtpbmdEaXJlY3Rvcnk+JHtqcnVuSG9tZX08L3N0b3BXb3JraW5nRGlyZWN0b3J5PgotPHN0b3BWbVBhcmFtZXRlcnM+PC9zdG9wVm1QYXJhbWV0ZXJzPgotPHN0b3BQcm9ncmFtQXJndW1lbnRzPi1zdG9wICR7c2VydmVyTmFtZX08L3N0b3BQcm9ncmFtQXJndW1lbnRzPgotPHNlcnZlckNsYXNzUGF0aD4KLQk8amFyIHR5cGU9InZhcmlhYmxlIj5KREtfVE9PTFM8L2phcj4KLQk8amFyIHR5cGU9InZhcmlhYmxlIj4ke2NsYXNzUGF0aFZhcmlhYmxlTmFtZX0vbGliL2pydW4uamFyPC9qYXI+Ci0JPGphciB0eXBlPSJ2YXJpYWJsZSI+JHtjbGFzc1BhdGhWYXJpYWJsZU5hbWV9L2xpYi93ZWJzZXJ2aWNlcy5qYXI8L2phcj4KLQk8amFyIHR5cGU9InZhcmlhYmxlIj4ke2NsYXNzUGF0aFZhcmlhYmxlTmFtZX0vbGliL21hY3JvbWVkaWFfZHJpdmVycy5qYXI8L2phcj4KLTwvc2VydmVyQ2xhc3NQYXRoPgotPGNsaWVudENsYXNzUGF0aD4KLQk8amFyIHR5cGU9InZhcmlhYmxlIj4ke2NsYXNzUGF0aFZhcmlhYmxlTmFtZX0vbGliL2pydW4uamFyPC9qYXI+Ci08L2NsaWVudENsYXNzUGF0aD4KLTxwcm9qZWN0Q2xhc3NQYXRoPgotCTxqYXIgdHlwZT0idmFyaWFibGUiPkpES19UT09MUzwvamFyPgotCTxqYXIgdHlwZT0idmFyaWFibGUiPiR7Y2xhc3NQYXRoVmFyaWFibGVOYW1lfS9saWIvanJ1bi5qYXI8L2phcj4KLQk8amFyIHR5cGU9InZhcmlhYmxlIj4ke2NsYXNzUGF0aFZhcmlhYmxlTmFtZX0vbGliL3dlYnNlcnZpY2VzLmphcjwvamFyPgotCTxqYXIgdHlwZT0idmFyaWFibGUiPiR7Y2xhc3NQYXRoVmFyaWFibGVOYW1lfS9saWIvbWFjcm9tZWRpYV9kcml2ZXJzLmphcjwvamFyPgotPC9wcm9qZWN0Q2xhc3NQYXRoPgotPC9zZXJ2ZXJEZWZpbml0aW9uPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLmNvcmUvc2VydmVycy9vYzRqLnNlcnZlciBiL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLmNvcmUvc2VydmVycy9vYzRqLnNlcnZlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGNiNTY1My4uMDAwMDAwMAotLS0gYS9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5jb3JlL3NlcnZlcnMvb2M0ai5zZXJ2ZXIKKysrIC9kZXYvbnVsbApAQCAtMSw4OSArMCwwIEBACi0NCi08c2VydmVyRGVmaW5pdGlvbiANCi0JIG5hbWU9Ik9yYWNsZSA5SUFTIg0KLQkgZWpiTW9kdWxlcz0idHJ1ZSINCi0JIHdlYk1vZHVsZXM9InRydWUiDQotCSBlYXJNb2R1bGVzPSJ0cnVlIj4NCi08cHJvcGVydHkgaWQ9Im9jNGpIb21lIg0KLQlsYWJlbD0iT0M0SiBEaXJlY3Rvcnk6Ig0KLQl0eXBlPSJkaXJlY3RvcnkiDQotCWRlZmF1bHQ9Ii95b3VyX3NlcnZlcl9yb290L29jNGo5MDIiIC8+DQotPHByb3BlcnR5IGlkPSJ1c2VyTmFtZSINCi0JbGFiZWw9IlVzZXIgTmFtZToiDQotCXR5cGU9InN0cmluZyINCi0JZGVmYXVsdD0iYWRtaW4iIC8+DQotPHByb3BlcnR5IGlkPSJwYXNzd29yZCINCi0JbGFiZWw9IlBhc3N3b3JkOiINCi0JdHlwZT0ic3RyaW5nIg0KLQlkZWZhdWx0PSJwYXNzd29yZCIgLz4NCi08cHJvcGVydHkgaWQ9InNlcnZlckFkZHJlc3MiDQotCWxhYmVsPSJBZGRyZXNzOiINCi0JdHlwZT0ic3RyaW5nIg0KLQlkZWZhdWx0PSIxMjcuMC4wLjEiIC8+DQotPHByb3BlcnR5IGlkPSJzZXJ2ZXJQb3J0Ig0KLQlsYWJlbD0iUG9ydDoiDQotCXR5cGU9InN0cmluZyINCi0JZGVmYXVsdD0iODg4OCIgLz4NCi08cHJvcGVydHkgaWQ9Im9ybWlQb3J0Ig0KLQlsYWJlbD0iT1JNSSBQb3J0OiINCi0JdHlwZT0ic3RyaW5nIg0KLQlkZWZhdWx0PSIyMzc5MSIgLz4NCi08cHJvcGVydHkgaWQ9ImNsYXNzUGF0aFZhcmlhYmxlTmFtZSINCi0JbGFiZWw9IkNsYXNzcGF0aCBWYXJpYWJsZSBOYW1lOiINCi0JdHlwZT0ic3RyaW5nIg0KLQlkZWZhdWx0PSJPQzRKOTAyIiAvPg0KLTxwcm9wZXJ0eSBpZD0iY2xhc3NQYXRoIg0KLQlsYWJlbD0iQ2xhc3NwYXRoIFZhcmlhYmxlOiINCi0JdHlwZT0iZGlyZWN0b3J5Ig0KLQlkZWZhdWx0PSIveW91cl9zZXJ2ZXJfcm9vdC9vYzRqOTAyIiAvPg0KLTxzZXJ2ZXJIb21lPiR7c2VydmVyUm9vdERpcmVjdG9yeX08L3NlcnZlckhvbWU+DQotPHdlYk1vZHVsZXNEZXBsb3lEaXJlY3Rvcnk+JHtvYzRqSG9tZX0vajJlZS9ob21lL2FwcGxpY2F0aW9uczwvd2ViTW9kdWxlc0RlcGxveURpcmVjdG9yeT4NCi08ZWpiTW9kdWxlc0RlcGxveURpcmVjdG9yeT4ke29jNGpIb21lfS9qMmVlL2hvbWUvYXBwbGljYXRpb25zPC9lamJNb2R1bGVzRGVwbG95RGlyZWN0b3J5Pg0KLTxlYXJNb2R1bGVzRGVwbG95RGlyZWN0b3J5PiR7b2M0akhvbWV9L2oyZWUvaG9tZS9hcHBsaWNhdGlvbnM8L2Vhck1vZHVsZXNEZXBsb3lEaXJlY3Rvcnk+DQotPGpuZGlJbml0aWFsQ29udGV4dEZhY3Rvcnk+Y29tLmV2ZXJtaW5kLnNlcnZlci5ybWkuUk1JSW5pdGlhbENvbnRleHRGYWN0b3J5PC9qbmRpSW5pdGlhbENvbnRleHRGYWN0b3J5Pg0KLTxqbmRpUHJvdmlkZXJVcmw+b3JtaTovLyR7c2VydmVyQWRkcmVzc306JHtvcm1pUG9ydH08L2puZGlQcm92aWRlclVybD4NCi08c3RhcnRDbGFzcz5jb20uZXZlcm1pbmQuc2VydmVyLk9DNEpTZXJ2ZXI8L3N0YXJ0Q2xhc3M+DQotPHN0YXJ0V29ya2luZ0RpcmVjdG9yeT4ke29jNGpIb21lfS9qMmVlL2hvbWU8L3N0YXJ0V29ya2luZ0RpcmVjdG9yeT4NCi08c3RhcnRWbVBhcmFtZXRlcnM+PC9zdGFydFZtUGFyYW1ldGVycz4NCi08c3RhcnRQcm9ncmFtQXJndW1lbnRzPjwvc3RhcnRQcm9ncmFtQXJndW1lbnRzPg0KLTxzdG9wQ2xhc3M+Y29tLmV2ZXJtaW5kLmNsaWVudC5vcmlvbi5PcmlvbkNvbnNvbGVBZG1pbjwvc3RvcENsYXNzPg0KLTxzdG9wV29ya2luZ0RpcmVjdG9yeT4ke29jNGpIb21lfS9qMmVlL2hvbWU8L3N0b3BXb3JraW5nRGlyZWN0b3J5Pg0KLTxzdG9wVm1QYXJhbWV0ZXJzPjwvc3RvcFZtUGFyYW1ldGVycz4NCi08c3RvcFByb2dyYW1Bcmd1bWVudHM+b3JtaTovLyR7c2VydmVyQWRkcmVzc306JHtvcm1pUG9ydH0gJHt1c2VyTmFtZX0gJHtwYXNzd29yZH0gLXNodXRkb3duIDwvc3RvcFByb2dyYW1Bcmd1bWVudHM+DQotPHNlcnZlckNsYXNzUGF0aD4NCi0JPGphciB0eXBlPSJ2YXJpYWJsZSI+SkRLX1RPT0xTPC9qYXI+DQotCTxqYXIgdHlwZT0idmFyaWFibGUiPiR7Y2xhc3NQYXRoVmFyaWFibGVOYW1lfS9qMmVlL2hvbWUvb2M0ai5qYXI8L2phcj4NCi0JPGphciB0eXBlPSJ2YXJpYWJsZSI+JHtjbGFzc1BhdGhWYXJpYWJsZU5hbWV9L2oyZWUvaG9tZS9lamIuamFyPC9qYXI+DQotCTxqYXIgdHlwZT0idmFyaWFibGUiPiR7Y2xhc3NQYXRoVmFyaWFibGVOYW1lfS9qMmVlL2hvbWUvamRiYy5qYXI8L2phcj4NCi0JPGphciB0eXBlPSJ2YXJpYWJsZSI+JHtjbGFzc1BhdGhWYXJpYWJsZU5hbWV9L2oyZWUvaG9tZS9jb25uZWN0b3IuamFyPC9qYXI+DQotCTxqYXIgdHlwZT0idmFyaWFibGUiPiR7Y2xhc3NQYXRoVmFyaWFibGVOYW1lfS9saWIvZG1zLmphcjwvamFyPg0KLQk8amFyIHR5cGU9InZhcmlhYmxlIj4ke2NsYXNzUGF0aFZhcmlhYmxlTmFtZX0vbGliL2pzc2UuamFyPC9qYXI+DQotCTxqYXIgdHlwZT0idmFyaWFibGUiPiR7Y2xhc3NQYXRoVmFyaWFibGVOYW1lfS9qZGsvanJlL2xpYi9leHQvYWN0aXZhdGlvbi5qYXI8L2phcj4NCi0JPGphciB0eXBlPSJ2YXJpYWJsZSI+JHtjbGFzc1BhdGhWYXJpYWJsZU5hbWV9L2pkay9qcmUvbGliL2V4dC9qY2VydC5qYXI8L2phcj4NCi0JPGphciB0eXBlPSJ2YXJpYWJsZSI+JHtjbGFzc1BhdGhWYXJpYWJsZU5hbWV9L2pkay9qcmUvbGliL2V4dC9qbmRpLmphcjwvamFyPg0KLQk8amFyIHR5cGU9InZhcmlhYmxlIj4ke2NsYXNzUGF0aFZhcmlhYmxlTmFtZX0vamRrL2pyZS9saWIvZXh0L2puZXQuamFyPC9qYXI+DQotCTxqYXIgdHlwZT0idmFyaWFibGUiPiR7Y2xhc3NQYXRoVmFyaWFibGVOYW1lfS9qZGsvanJlL2xpYi9leHQvanRhLmphcjwvamFyPg0KLQk8amFyIHR5cGU9InZhcmlhYmxlIj4ke2NsYXNzUGF0aFZhcmlhYmxlTmFtZX0vamRrL2pyZS9saWIvZXh0L21haWwuamFyPC9qYXI+DQotCTxqYXIgdHlwZT0idmFyaWFibGUiPiR7Y2xhc3NQYXRoVmFyaWFibGVOYW1lfS9saWIveG1scGFyc2VydjIuamFyPC9qYXI+DQotCTxqYXIgdHlwZT0idmFyaWFibGUiPiR7Y2xhc3NQYXRoVmFyaWFibGVOYW1lfS9qMmVlL2hvbWUvamF4cC5qYXI8L2phcj4NCi0JPGphciB0eXBlPSJ2YXJpYWJsZSI+JHtjbGFzc1BhdGhWYXJpYWJsZU5hbWV9L2oyZWUvaG9tZS9qYWFzLmphcjwvamFyPg0KLQk8amFyIHR5cGU9InZhcmlhYmxlIj4ke2NsYXNzUGF0aFZhcmlhYmxlTmFtZX0vajJlZS9ob21lL2phem4uamFyPC9qYXI+DQotCTxqYXIgdHlwZT0idmFyaWFibGUiPiR7Y2xhc3NQYXRoVmFyaWFibGVOYW1lfS9qZGJjL2xpYi9jbGFzc2VzMTJkbXMuamFyPC9qYXI+DQotCTxqYXIgdHlwZT0idmFyaWFibGUiPiR7Y2xhc3NQYXRoVmFyaWFibGVOYW1lfS9qZGJjL2xpYi9ubHNfY2hhcnNldDEyLmphcjwvamFyPg0KLQk8amFyIHR5cGU9InZhcmlhYmxlIj4ke2NsYXNzUGF0aFZhcmlhYmxlTmFtZX0vajJlZS9ob21lL2pheGItcnQtMS4wLWVhLmphcjwvamFyPg0KLQk8amFyIHR5cGU9InZhcmlhYmxlIj4ke2NsYXNzUGF0aFZhcmlhYmxlTmFtZX0vajJlZS9ob21lL2xpYi9qYXNwZXIuemlwPC9qYXI+DQotCTxqYXIgdHlwZT0idmFyaWFibGUiPiR7Y2xhc3NQYXRoVmFyaWFibGVOYW1lfS9zb2FwL2xpYi9zb2FwLmphcjwvamFyPg0KLQk8amFyIHR5cGU9InZhcmlhYmxlIj4ke2NsYXNzUGF0aFZhcmlhYmxlTmFtZX0vc29hcC9saWIvd3NkbC5qYXI8L2phcj4NCi0JPGphciB0eXBlPSJ2YXJpYWJsZSI+JHtjbGFzc1BhdGhWYXJpYWJsZU5hbWV9L2oyZWUvaG9tZS9saWIvYXFhcGkuamFyPC9qYXI+DQotCTxqYXIgdHlwZT0idmFyaWFibGUiPiR7Y2xhc3NQYXRoVmFyaWFibGVOYW1lfS9qMmVlL2hvbWUvbGliL2plbS5qYXI8L2phcj4NCi0JPGphciB0eXBlPSJ2YXJpYWJsZSI+JHtjbGFzc1BhdGhWYXJpYWJsZU5hbWV9L2phdmFjYWNoZS9saWIvY2FjaGUuamFyPC9qYXI+DQotCTxqYXIgdHlwZT0idmFyaWFibGUiPiR7Y2xhc3NQYXRoVmFyaWFibGVOYW1lfS9qMmVlL2hvbWUvbGliL2h0dHBfY2xpZW50LmphcjwvamFyPg0KLQk8amFyIHR5cGU9InZhcmlhYmxlIj4ke2NsYXNzUGF0aFZhcmlhYmxlTmFtZX0vamxpYi9qc3NsLTFfMS5qYXI8L2phcj4NCi0JPGphciB0eXBlPSJ2YXJpYWJsZSI+JHtjbGFzc1BhdGhWYXJpYWJsZU5hbWV9L3NxbGovbGliL3J1bnRpbWUxMmVlLmphcjwvamFyPg0KLQk8amFyIHR5cGU9InZhcmlhYmxlIj4ke2NsYXNzUGF0aFZhcmlhYmxlTmFtZX0vc3Fsai9saWIvdHJhbnNsYXRvci5qYXI8L2phcj4NCi08L3NlcnZlckNsYXNzUGF0aD4NCi08Y2xpZW50Q2xhc3NQYXRoPg0KLQk8amFyIHR5cGU9InZhcmlhYmxlIj4ke2NsYXNzUGF0aFZhcmlhYmxlTmFtZX0vajJlZS9ob21lL29jNGpjbGllbnQuamFyPC9qYXI+DQotCTxqYXIgdHlwZT0idmFyaWFibGUiPiR7Y2xhc3NQYXRoVmFyaWFibGVOYW1lfS9qMmVlL2hvbWUvZWpiLmphcjwvamFyPg0KLTwvY2xpZW50Q2xhc3NQYXRoPg0KLTwvc2VydmVyRGVmaW5pdGlvbj4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5jb3JlL3NlcnZlcnMvb3Jpb24uc2VydmVyIGIvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMuY29yZS9zZXJ2ZXJzL29yaW9uLnNlcnZlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDZkN2YzZi4uMDAwMDAwMAotLS0gYS9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5jb3JlL3NlcnZlcnMvb3Jpb24uc2VydmVyCisrKyAvZGV2L251bGwKQEAgLTEsMjA4ICswLDAgQEAKLQotPHNlcnZlckRlZmluaXRpb24gCi0JIG5hbWU9Ik9yaW9uIHYyLjAyIgotCSBlamJNb2R1bGVzPSJ0cnVlIgotCSB3ZWJNb2R1bGVzPSJ0cnVlIgotCSBlYXJNb2R1bGVzPSJ0cnVlIj4KLTxwcm9wZXJ0eSBpZD0ib3Jpb25Ib21lIgotCWxhYmVsPSJPcmlvbiBEaXJlY3Rvcnk6IgotCXR5cGU9ImRpcmVjdG9yeSIKLQlkZWZhdWx0PSIveW91cl9zZXJ2ZXJfcm9vdC9vcmlvbiIgLz4KLTxwcm9wZXJ0eSBpZD0idXNlck5hbWUiCi0JbGFiZWw9IlVzZXIgTmFtZToiCi0JdHlwZT0ic3RyaW5nIgotCWRlZmF1bHQ9ImFkbWluIiAvPgotPHByb3BlcnR5IGlkPSJwYXNzd29yZCIKLQlsYWJlbD0iUGFzc3dvcmQ6IgotCXR5cGU9InN0cmluZyIKLQlkZWZhdWx0PSJwYXNzd29yZCIgLz4KLTxwcm9wZXJ0eSBpZD0ic2VydmVyQWRkcmVzcyIKLQlsYWJlbD0iQWRkcmVzczoiCi0JdHlwZT0ic3RyaW5nIgotCWRlZmF1bHQ9IjEyNy4wLjAuMSIgLz4KLTxwcm9wZXJ0eSBpZD0ic2VydmVyUG9ydCIKLQlsYWJlbD0iUG9ydDoiCi0JdHlwZT0ic3RyaW5nIgotCWRlZmF1bHQ9IjgwIiAvPgotPHByb3BlcnR5IGlkPSJvcm1pUG9ydCIKLQlsYWJlbD0iT1JNSSBQb3J0OiIKLQl0eXBlPSJzdHJpbmciCi0JZGVmYXVsdD0iMjM3OTEiIC8+Ci08cHJvcGVydHkgaWQ9ImNsYXNzUGF0aFZhcmlhYmxlTmFtZSIKLQlsYWJlbD0iQ2xhc3NwYXRoIFZhcmlhYmxlIE5hbWU6IgotCXR5cGU9InN0cmluZyIKLQlkZWZhdWx0PSJPUklPTjIwMiIgLz4KLTxwcm9wZXJ0eSBpZD0iY2xhc3NQYXRoIgotCWxhYmVsPSJDbGFzc3BhdGggVmFyaWFibGU6IgotCXR5cGU9ImRpcmVjdG9yeSIKLQlkZWZhdWx0PSIveW91cl9zZXJ2ZXJfcm9vdC9vcmlvbiIgLz4KLQkKLTxwcm9wZXJ0eSBpZD0iZGVmYXVsdFdlYlNpdGUiCi0JbGFiZWw9IkRlZmF1bHQgd2ViLXNpdGU6IgotCXR5cGU9InN0cmluZyIKLQlkZWZhdWx0PSJkZWZhdWx0LXdlYi1zaXRlIiAvPgotCQkKLTxzZXJ2ZXJIb21lPiR7c2VydmVyUm9vdERpcmVjdG9yeX08L3NlcnZlckhvbWU+Ci08d2ViTW9kdWxlc0RlcGxveURpcmVjdG9yeT4ke29yaW9uSG9tZX0vYXV0bzwvd2ViTW9kdWxlc0RlcGxveURpcmVjdG9yeT4KLTxlamJNb2R1bGVzRGVwbG95RGlyZWN0b3J5PiR7b3Jpb25Ib21lfS9hdXRvPC9lamJNb2R1bGVzRGVwbG95RGlyZWN0b3J5PgotPGVhck1vZHVsZXNEZXBsb3lEaXJlY3Rvcnk+JHtvcmlvbkhvbWV9L2F1dG88L2Vhck1vZHVsZXNEZXBsb3lEaXJlY3Rvcnk+Ci08am5kaUluaXRpYWxDb250ZXh0RmFjdG9yeT5jb20uZXZlcm1pbmQuc2VydmVyLnJtaS5STUlJbml0aWFsQ29udGV4dEZhY3Rvcnk8L2puZGlJbml0aWFsQ29udGV4dEZhY3Rvcnk+Ci08am5kaVByb3ZpZGVyVXJsPm9ybWk6Ly8ke3NlcnZlckFkZHJlc3N9OiR7b3JtaVBvcnR9PC9qbmRpUHJvdmlkZXJVcmw+Ci08c3RhcnRDbGFzcz5jb20uZXZlcm1pbmQuc2VydmVyLkFwcGxpY2F0aW9uU2VydmVyPC9zdGFydENsYXNzPgotPHN0YXJ0V29ya2luZ0RpcmVjdG9yeT4ke29yaW9uSG9tZX08L3N0YXJ0V29ya2luZ0RpcmVjdG9yeT4KLTxzdGFydFZtUGFyYW1ldGVycz48L3N0YXJ0Vm1QYXJhbWV0ZXJzPgotPHN0YXJ0UHJvZ3JhbUFyZ3VtZW50cz48L3N0YXJ0UHJvZ3JhbUFyZ3VtZW50cz4KLTxzdG9wQ2xhc3M+Y29tLmV2ZXJtaW5kLmNsaWVudC5vcmlvbi5PcmlvbkNvbnNvbGVBZG1pbjwvc3RvcENsYXNzPgotPHN0b3BXb3JraW5nRGlyZWN0b3J5PiR7b3Jpb25Ib21lfTwvc3RvcFdvcmtpbmdEaXJlY3Rvcnk+Ci08c3RvcFZtUGFyYW1ldGVycz48L3N0b3BWbVBhcmFtZXRlcnM+Ci08c3RvcFByb2dyYW1Bcmd1bWVudHM+b3JtaTovLyR7c2VydmVyQWRkcmVzc306JHtvcm1pUG9ydH0gJHt1c2VyTmFtZX0gJHtwYXNzd29yZH0gLXNodXRkb3duIDwvc3RvcFByb2dyYW1Bcmd1bWVudHM+Ci08c2VydmVyQ2xhc3NQYXRoPgotCTxqYXIgdHlwZT0idmFyaWFibGUiPkpES19UT09MUzwvamFyPgotCTxqYXIgdHlwZT0idmFyaWFibGUiPiR7Y2xhc3NQYXRoVmFyaWFibGVOYW1lfS9vcmlvbi5qYXI8L2phcj4KLQk8amFyIHR5cGU9InZhcmlhYmxlIj4ke2NsYXNzUGF0aFZhcmlhYmxlTmFtZX0vZWpiLmphcjwvamFyPgotCTxqYXIgdHlwZT0idmFyaWFibGUiPiR7Y2xhc3NQYXRoVmFyaWFibGVOYW1lfS9qbmRpLmphcjwvamFyPgotCTxqYXIgdHlwZT0idmFyaWFibGUiPiR7Y2xhc3NQYXRoVmFyaWFibGVOYW1lfS9qZGJjLmphcjwvamFyPgotCTxqYXIgdHlwZT0idmFyaWFibGUiPiR7Y2xhc3NQYXRoVmFyaWFibGVOYW1lfS9qdGEuamFyPC9qYXI+Ci0JPGphciB0eXBlPSJ2YXJpYWJsZSI+JHtjbGFzc1BhdGhWYXJpYWJsZU5hbWV9L2pheHAuamFyPC9qYXI+Ci0JPGphciB0eXBlPSJ2YXJpYWJsZSI+JHtjbGFzc1BhdGhWYXJpYWJsZU5hbWV9L2NyaW1zb24uamFyPC9qYXI+Ci0JPGphciB0eXBlPSJ2YXJpYWJsZSI+JHtjbGFzc1BhdGhWYXJpYWJsZU5hbWV9L3hhbGFuLmphcjwvamFyPgotCTxqYXIgdHlwZT0idmFyaWFibGUiPiR7Y2xhc3NQYXRoVmFyaWFibGVOYW1lfS9qc3NlLmphcjwvamFyPgotCTxqYXIgdHlwZT0idmFyaWFibGUiPiR7Y2xhc3NQYXRoVmFyaWFibGVOYW1lfS9qbmV0LmphcjwvamFyPgotCTxqYXIgdHlwZT0idmFyaWFibGUiPiR7Y2xhc3NQYXRoVmFyaWFibGVOYW1lfS9qY2VydC5qYXI8L2phcj4KLQk8amFyIHR5cGU9InZhcmlhYmxlIj4ke2NsYXNzUGF0aFZhcmlhYmxlTmFtZX0vYWN0aXZhdGlvbi5qYXI8L2phcj4KLQk8amFyIHR5cGU9InZhcmlhYmxlIj4ke2NsYXNzUGF0aFZhcmlhYmxlTmFtZX0vbWFpbC5qYXI8L2phcj4KLQk8amFyIHR5cGU9InZhcmlhYmxlIj4ke2NsYXNzUGF0aFZhcmlhYmxlTmFtZX0vamFhcy5qYXI8L2phcj4KLQk8amFyIHR5cGU9InZhcmlhYmxlIj4ke2NsYXNzUGF0aFZhcmlhYmxlTmFtZX0vY29ubmVjdG9yLmphcjwvamFyPgotPC9zZXJ2ZXJDbGFzc1BhdGg+Ci08Y2xpZW50Q2xhc3NQYXRoPgotCTxqYXIgdHlwZT0idmFyaWFibGUiPiR7Y2xhc3NQYXRoVmFyaWFibGVOYW1lfS9vcmlvbmNsaWVudC5qYXI8L2phcj4KLQk8amFyIHR5cGU9InZhcmlhYmxlIj4ke2NsYXNzUGF0aFZhcmlhYmxlTmFtZX0vZWpiLmphcjwvamFyPgotPC9jbGllbnRDbGFzc1BhdGg+Ci08cHJvamVjdENsYXNzUGF0aD4KLQk8amFyIHR5cGU9InZhcmlhYmxlIj5KREtfVE9PTFM8L2phcj4KLQk8amFyIHR5cGU9InZhcmlhYmxlIj4ke2NsYXNzUGF0aFZhcmlhYmxlTmFtZX0vb3Jpb24uamFyPC9qYXI+Ci0JPGphciB0eXBlPSJ2YXJpYWJsZSI+JHtjbGFzc1BhdGhWYXJpYWJsZU5hbWV9L2VqYi5qYXI8L2phcj4KLQk8amFyIHR5cGU9InZhcmlhYmxlIj4ke2NsYXNzUGF0aFZhcmlhYmxlTmFtZX0vam5kaS5qYXI8L2phcj4KLQk8amFyIHR5cGU9InZhcmlhYmxlIj4ke2NsYXNzUGF0aFZhcmlhYmxlTmFtZX0vamRiYy5qYXI8L2phcj4KLQk8amFyIHR5cGU9InZhcmlhYmxlIj4ke2NsYXNzUGF0aFZhcmlhYmxlTmFtZX0vanRhLmphcjwvamFyPgotCTxqYXIgdHlwZT0idmFyaWFibGUiPiR7Y2xhc3NQYXRoVmFyaWFibGVOYW1lfS9qYXhwLmphcjwvamFyPgotCTxqYXIgdHlwZT0idmFyaWFibGUiPiR7Y2xhc3NQYXRoVmFyaWFibGVOYW1lfS9jcmltc29uLmphcjwvamFyPgotCTxqYXIgdHlwZT0idmFyaWFibGUiPiR7Y2xhc3NQYXRoVmFyaWFibGVOYW1lfS94YWxhbi5qYXI8L2phcj4KLQk8amFyIHR5cGU9InZhcmlhYmxlIj4ke2NsYXNzUGF0aFZhcmlhYmxlTmFtZX0vanNzZS5qYXI8L2phcj4KLQk8amFyIHR5cGU9InZhcmlhYmxlIj4ke2NsYXNzUGF0aFZhcmlhYmxlTmFtZX0vam5ldC5qYXI8L2phcj4KLQk8amFyIHR5cGU9InZhcmlhYmxlIj4ke2NsYXNzUGF0aFZhcmlhYmxlTmFtZX0vamNlcnQuamFyPC9qYXI+Ci0JPGphciB0eXBlPSJ2YXJpYWJsZSI+JHtjbGFzc1BhdGhWYXJpYWJsZU5hbWV9L2FjdGl2YXRpb24uamFyPC9qYXI+Ci0JPGphciB0eXBlPSJ2YXJpYWJsZSI+JHtjbGFzc1BhdGhWYXJpYWJsZU5hbWV9L21haWwuamFyPC9qYXI+Ci0JPGphciB0eXBlPSJ2YXJpYWJsZSI+JHtjbGFzc1BhdGhWYXJpYWJsZU5hbWV9L2phYXMuamFyPC9qYXI+Ci0JPGphciB0eXBlPSJ2YXJpYWJsZSI+JHtjbGFzc1BhdGhWYXJpYWJsZU5hbWV9L2Nvbm5lY3Rvci5qYXI8L2phcj4KLTwvcHJvamVjdENsYXNzUGF0aD4KLTxhZG1pblRvb2w+Ci0KLQk8d2ViPiA8ZGVwbG95IC8+IDx1bmRlcGxveSAvPgkgPC93ZWI+Ci0JPGVqYj4gPGRlcGxveSAvPiA8dW5kZXBsb3kgLz4JIDwvZWpiPgotCQotCi0JPGVhcj4KLQkJPGRlcGxveT4KLQkJCTwhW0NEQVRBWwotCQkJPCEtLSBDb3B5cmlnaHQgKGMpIDIwMDIgYnkgT2JqZWN0TGVhcm4uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuIC0tPgotCQkJPCEtLSBETyBOT1QgTU9ESUZZIFRISVMgRklMRSBDSEFOR0UgVEhFIFNFUlZFUiBGSUxFIElOU1RFQUQgLS0+Ci0JCQkJPHByb2plY3QgbmFtZT0iZGVwbG95ZXh0ZW5zaW9uIiAgZGVmYXVsdD0iZGVwbG95IiAgYmFzZWRpcj0iLiI+Ci0JCQkJICA8dGFyZ2V0IG5hbWU9ImRlcGxveSIgPgotCQkJCSAgICA8cGF0aCBpZD0idG9vbHBhdGgiPgotCQkJCSAgICAgICAgPCEtLSBhcHBlbmQgdGhlIGV4dGVybmFsIGNsYXNzcGF0aCBsYXN0bHkgLS0+Ci0JCQkJICAgICAgICA8cGF0aGVsZW1lbnQgcGF0aD0iJXtqYXZhLmNsYXNzLnBhdGh9IiAvPgotCQkJCSAgICAgICAgPCEtLSBhcHBlbmQgdGhlIHBhdGggc2VudCB0aHJvdWdoIGVjbGlwc2UgdG8gY2xhc3NwYXRoIC0tPgotCQkJCSAgICAgICAgPHBhdGhlbGVtZW50IHBhdGg9IiV7YWRtaW5Ub29sUGF0aH0iIC8+ICAKLQkJCQkgICAgIDwvcGF0aD4KLQkJCQkJIDxqYXZhIGNsYXNzbmFtZT0iY29tLmV2ZXJtaW5kLmNsaWVudC5vcmlvbi5PcmlvbkNvbnNvbGVBZG1pbiIgCi0JCQkJCSAgICAgICAgZm9yaz0idHJ1ZSIgCi0JCQkJCSAgICAgICAgY2xhc3NwYXRocmVmPSJ0b29scGF0aCIgPgotCQkJCQkJCTxhcmcgdmFsdWU9Im9ybWk6Ly8ke3NlcnZlckFkZHJlc3N9OiR7b3JtaVBvcnR9IiAvPgotCQkJICAgICAgICAgICAgICAgIDxhcmcgdmFsdWU9IiR7dXNlck5hbWV9IiAvPgotCQkJICAgICAgICAgICAgICAgIDxhcmcgdmFsdWU9IiR7cGFzc3dvcmR9IiAvPgotCQkJICAgICAgICAgICAgICAgIDxhcmcgdmFsdWU9Ii1kZXBsb3kiIC8+Ci0JCQkgICAgICAgICAgICAgICAgPGFyZyB2YWx1ZT0iLWZpbGUiIC8+Ci0JCQkgICAgICAgICAgICAgICAgPGFyZyB2YWx1ZT0iJXtkb21haW59LyV7ZWFyfS5lYXIiIC8+Ci0JCQkgICAgICAgICAgICAgICAgPGFyZyB2YWx1ZT0iLWRlcGxveW1lbnROYW1lIiAvPgotCQkJICAgICAgICAgICAgICAgIDxhcmcgdmFsdWU9IiV7ZWFyfSIgLz4KLQkJCSAgICAgICAgICAgICAgICA8YXJnIHZhbHVlPSItY2x1c3RlciIgLz4KLQkJCSAgICAgICAgICA8L2phdmE+Ci0JCQkJICA8L3RhcmdldD4KLQkJCQk8L3Byb2plY3Q+Ci0JCQkJXV0+Ci0JCTwvZGVwbG95PgotCQk8dW5kZXBsb3k+Ci0JCQk8IVtDREFUQVsKLQkJCTwhLS0gQ29weXJpZ2h0IChjKSAyMDAyIGJ5IE9iamVjdExlYXJuLiBBbGwgUmlnaHRzIFJlc2VydmVkLiAtLT4KLQkJCTwhLS0gRE8gTk9UIE1PRElGWSBUSElTIEZJTEUgQ0hBTkdFIFRIRSBTRVJWRVIgRklMRSBJTlNURUFEIC0tPgotCQkJCTxwcm9qZWN0IG5hbWU9ImRlcGxveWV4dGVuc2lvbiIgIGRlZmF1bHQ9InVuZGVwbG95IiAgYmFzZWRpcj0iLiI+Ci0JCQkJICA8dGFyZ2V0IG5hbWU9InVuZGVwbG95IiA+Ci0JCQkJICAgIDxwYXRoIGlkPSJ0b29scGF0aCI+Ci0JCQkJICAgICAgICA8IS0tIGFwcGVuZCB0aGUgZXh0ZXJuYWwgY2xhc3NwYXRoIGxhc3RseSAtLT4KLQkJCQkgICAgICAgIDxwYXRoZWxlbWVudCBwYXRoPSIle2phdmEuY2xhc3MucGF0aH0iIC8+Ci0JCQkJICAgICAgICA8IS0tIGFwcGVuZCB0aGUgcGF0aCBzZW50IHRocm91Z2ggZWNsaXBzZSB0byBjbGFzc3BhdGggLS0+Ci0JCQkJICAgICAgICA8cGF0aGVsZW1lbnQgcGF0aD0iJXthZG1pblRvb2xQYXRofSIgLz4gIAotCQkJCSAgICAgPC9wYXRoPgotCQkJCQkgPGphdmEgY2xhc3NuYW1lPSJjb20uZXZlcm1pbmQuY2xpZW50Lm9yaW9uLk9yaW9uQ29uc29sZUFkbWluIiAKLQkJCQkJICAgICAgICBmb3JrPSJ0cnVlIiAKLQkJCQkJICAgICAgICBjbGFzc3BhdGhyZWY9InRvb2xwYXRoIgotCQkJCQkgICAgICAgIGFyZ3M9IiV7ZG9tYWlufS8le2Vhcn0uZWFyIiA+Ci0JCQkJCQkJPGFyZyB2YWx1ZT0ib3JtaTovLyR7c2VydmVyQWRkcmVzc306JHtvcm1pUG9ydH0iIC8+Ci0JCQkgICAgICAgICAgICAgICAgPGFyZyB2YWx1ZT0iJHt1c2VyTmFtZX0iIC8+Ci0JCQkgICAgICAgICAgICAgICAgPGFyZyB2YWx1ZT0iJHtwYXNzd29yZH0iIC8+Ci0JCQkgICAgICAgICAgICAgICAgPGFyZyB2YWx1ZT0iLXVuZGVwbG95IiAvPgotCQkJICAgICAgICAgICAgICAgIDxhcmcgdmFsdWU9Ii1maWxlIiAvPgotCQkJICAgICAgICAgICAgICAgIDxhcmcgdmFsdWU9IiQle2Vhcn0iIC8+Ci0JIAkJCQkgPC9qYXZhPgotCQkJCSAgPC90YXJnZXQ+Ci0JCQkJPC9wcm9qZWN0PgotCQkJCV1dPgotCSAgIDwvdW5kZXBsb3k+Ci0JICAgPHdlYk1vZHVsZT4KLQkgICAJCTxkZXBsb3k+Ci0JCQkJCTwhW0NEQVRBWwotCQkJCQk8IS0tIENvcHlyaWdodCAoYykgMjAwMiBieSBPYmplY3RMZWFybi4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4gLS0+Ci0JCQkJCTwhLS0gRE8gTk9UIE1PRElGWSBUSElTIEZJTEUgQ0hBTkdFIFRIRSBTRVJWRVIgRklMRSBJTlNURUFEIC0tPgotCQkJCQkJPHByb2plY3QgbmFtZT0iZGVwbG95ZXh0ZW5zaW9uIiAgZGVmYXVsdD0iZGVwbG95IiAgYmFzZWRpcj0iLiI+Ci0JCQkJCQkgIDx0YXJnZXQgbmFtZT0iZGVwbG95IiA+Ci0JCQkJCQkgICAgPHBhdGggaWQ9InRvb2xwYXRoIj4KLQkJCQkJCSAgICAgICAgPCEtLSBhcHBlbmQgdGhlIGV4dGVybmFsIGNsYXNzcGF0aCBsYXN0bHkgLS0+Ci0JCQkJCQkgICAgICAgIDxwYXRoZWxlbWVudCBwYXRoPSIle2phdmEuY2xhc3MucGF0aH0iIC8+Ci0JCQkJCQkgICAgICAgIDwhLS0gYXBwZW5kIHRoZSBwYXRoIHNlbnQgdGhyb3VnaCBlY2xpcHNlIHRvIGNsYXNzcGF0aCAtLT4KLQkJCQkJCSAgICAgICAgPHBhdGhlbGVtZW50IHBhdGg9IiV7YWRtaW5Ub29sUGF0aH0iIC8+ICAKLQkJCQkgICAgIAkJPC9wYXRoPgotCQkJCQkJCVJFUEVBVFsgCi0JCQkJCQkJICA8amF2YSBjbGFzc25hbWU9ImNvbS5ldmVybWluZC5jbGllbnQub3Jpb24uT3Jpb25Db25zb2xlQWRtaW4iIAotCQkJCQkJCSAgICAgICAgZm9yaz0idHJ1ZSIgCi0JCQkJCQkJICAgICAgICBjbGFzc3BhdGhyZWY9InRvb2xwYXRoIiA+Ci0JCQkJCQkJCQk8YXJnIHZhbHVlPSJvcm1pOi8vJHtzZXJ2ZXJBZGRyZXNzfToke29ybWlQb3J0fSIgLz4KLQkJCQkJICAgICAgICAgICAgICAgIDxhcmcgdmFsdWU9IiR7dXNlck5hbWV9IiAvPgotCQkJCQkgICAgICAgICAgICAgICAgPGFyZyB2YWx1ZT0iJHtwYXNzd29yZH0iIC8+Ci0JCQkJICAgICAgICAgICAgICAgIDxhcmcgdmFsdWU9Ii1iaW5kV2ViQXBwIiAvPgotCQkJCSAgICAgICAgICAgICAgICA8YXJnIHZhbHVlPSIle2Vhcn0iIC8+Ci0JCQkJICAgICAgICAgICAgICAgIDxhcmcgdmFsdWU9IiV7d2ViLXVyaX0iIC8+Ci0JCQkJICAgICAgICAgICAgICAgIDxhcmcgdmFsdWU9IiR7ZGVmYXVsdFdlYlNpdGV9IiAvPgotCQkJCSAgICAgICAgICAgICAgICA8YXJnIHZhbHVlPSIle2NvbnRleHQtcm9vdH0iIC8+Ci0JCQkgCQkJCSA8L2phdmE+Ci0JCQkgCQkJCV1FTkRSRVBFQVQKLQkJCQkJCSAgPC90YXJnZXQ+Ci0JCQkJCQk8L3Byb2plY3Q+Ci0JCQkJXV0+Ci0JICAgCQk8L2RlcGxveT4KLQkgICAJCTx1bmRlcGxveSAvPgotCSAgIDwvd2ViTW9kdWxlPgotCSAgIDxlamJNb2R1bGU+Ci0JICAgCQk8ZGVwbG95IC8+Ci0JICAgCQk8dW5kZXBsb3kgLz4KLQkgICA8L2VqYk1vZHVsZT4KLQkgPC9lYXI+Ci08L2FkbWluVG9vbD4KLQotCi08YWRtaW5Ub29sUGF0aD4KLQk8amFyIHR5cGU9InZhcmlhYmxlIj4ke2NsYXNzUGF0aFZhcmlhYmxlTmFtZX0vb3Jpb24uamFyPC9qYXI+Ci0JPGphciB0eXBlPSJ2YXJpYWJsZSI+JHtjbGFzc1BhdGhWYXJpYWJsZU5hbWV9L2VqYi5qYXI8L2phcj4KLQk8amFyIHR5cGU9InZhcmlhYmxlIj4ke2NsYXNzUGF0aFZhcmlhYmxlTmFtZX0vam5kaS5qYXI8L2phcj4KLTwvYWRtaW5Ub29sUGF0aD4KLTwvc2VydmVyRGVmaW5pdGlvbj4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5jb3JlL3NlcnZlcnMvcmVzaW4yMS5zZXJ2ZXIgYi9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5jb3JlL3NlcnZlcnMvcmVzaW4yMS5zZXJ2ZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM0ZGY3NmYuLjAwMDAwMDAKLS0tIGEvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMuY29yZS9zZXJ2ZXJzL3Jlc2luMjEuc2VydmVyCisrKyAvZGV2L251bGwKQEAgLTEsNzUgKzAsMCBAQAotCi08c2VydmVyRGVmaW5pdGlvbiAKLQkgbmFtZT0iUmVzaW4gdjIuMS4xMCIKLQkgZWpiTW9kdWxlcz0idHJ1ZSIKLQkgd2ViTW9kdWxlcz0idHJ1ZSIKLQkgZWFyTW9kdWxlcz0idHJ1ZSI+Ci08cHJvcGVydHkgaWQ9InJlc2luSG9tZSIKLQlsYWJlbD0iUmVzaW4gRGlyZWN0b3J5OiIKLQl0eXBlPSJkaXJlY3RvcnkiCi0JZGVmYXVsdD0iL3lvdXJfc2VydmVyX3Jvb3QvcmVzaW4tZWUtMi4xLjEwIiAvPgotPHByb3BlcnR5IGlkPSJ1c2VyTmFtZSIKLQlsYWJlbD0iVXNlciBOYW1lOiIKLQl0eXBlPSJzdHJpbmciCi0JZGVmYXVsdD0iYWRtaW4iIC8+Ci08cHJvcGVydHkgaWQ9InBhc3N3b3JkIgotCWxhYmVsPSJQYXNzd29yZDoiCi0JdHlwZT0ic3RyaW5nIgotCWRlZmF1bHQ9IjEyMyIgLz4KLTxwcm9wZXJ0eSBpZD0ic2VydmVyQWRkcmVzcyIKLQlsYWJlbD0iQWRkcmVzczoiCi0JdHlwZT0ic3RyaW5nIgotCWRlZmF1bHQ9IjEyNy4wLjAuMSIgLz4KLTxwcm9wZXJ0eSBpZD0ic2VydmVyUG9ydCIKLQlsYWJlbD0iUG9ydDoiCi0JdHlwZT0ic3RyaW5nIgotCWRlZmF1bHQ9IjgwODAiIC8+Ci08cHJvcGVydHkgaWQ9ImNsYXNzUGF0aFZhcmlhYmxlTmFtZSIKLQlsYWJlbD0iQ2xhc3NwYXRoIFZhcmlhYmxlIE5hbWU6IgotCXR5cGU9InN0cmluZyIKLQlkZWZhdWx0PSJSRVNJTjIxIiAvPgotPHByb3BlcnR5IGlkPSJjbGFzc1BhdGgiCi0JbGFiZWw9IkNsYXNzcGF0aCBWYXJpYWJsZToiCi0JdHlwZT0iZGlyZWN0b3J5IgotCWRlZmF1bHQ9Ii95b3VyX3NlcnZlcl9yb290L3Jlc2luLWVlLTIuMS4xMCIgLz4KLTxzZXJ2ZXJIb21lPiR7c2VydmVyUm9vdERpcmVjdG9yeX08L3NlcnZlckhvbWU+Ci08d2ViTW9kdWxlc0RlcGxveURpcmVjdG9yeT4ke3Jlc2luSG9tZX0vd2ViYXBwczwvd2ViTW9kdWxlc0RlcGxveURpcmVjdG9yeT4KLTxlamJNb2R1bGVzRGVwbG95RGlyZWN0b3J5PiR7cmVzaW5Ib21lfS93ZWJhcHBzL2NtcC93ZWItaW5mL2xpYjwvZWpiTW9kdWxlc0RlcGxveURpcmVjdG9yeT4KLTxlYXJNb2R1bGVzRGVwbG95RGlyZWN0b3J5PiR7cmVzaW5Ib21lfS93ZWJhcHBzPC9lYXJNb2R1bGVzRGVwbG95RGlyZWN0b3J5PgotPGpuZGlJbml0aWFsQ29udGV4dEZhY3Rvcnk+Y29tLmNhdWNoby5oZXNzaWFuLkhlc3NpYW5Db250ZXh0RmFjdG9yeTwvam5kaUluaXRpYWxDb250ZXh0RmFjdG9yeT4KLTxqbmRpUHJvdmlkZXJVcmw+aHR0cDovLyR7c2VydmVyQWRkcmVzc306JHtzZXJ2ZXJQb3J0fS9oZXNzaWFuPC9qbmRpUHJvdmlkZXJVcmw+Ci08c3RhcnRDbGFzcz5jb20uY2F1Y2hvLnNlcnZlci5odHRwLkh0dHBTZXJ2ZXI8L3N0YXJ0Q2xhc3M+Ci08c3RhcnRXb3JraW5nRGlyZWN0b3J5PiR7cmVzaW5Ib21lfTwvc3RhcnRXb3JraW5nRGlyZWN0b3J5PgotPHN0YXJ0Vm1QYXJhbWV0ZXJzPi1EcmVzaW4uaG9tZT0iJHtyZXNpbkhvbWV9Ijwvc3RhcnRWbVBhcmFtZXRlcnM+Ci08c3RhcnRQcm9ncmFtQXJndW1lbnRzPjwvc3RhcnRQcm9ncmFtQXJndW1lbnRzPgotPHN0b3BDbGFzcz48L3N0b3BDbGFzcz4KLTxzdG9wV29ya2luZ0RpcmVjdG9yeT4ke3Jlc2luSG9tZX08L3N0b3BXb3JraW5nRGlyZWN0b3J5PgotPHN0b3BWbVBhcmFtZXRlcnM+PC9zdG9wVm1QYXJhbWV0ZXJzPgotPHN0b3BQcm9ncmFtQXJndW1lbnRzPjwvc3RvcFByb2dyYW1Bcmd1bWVudHM+Ci08c2VydmVyQ2xhc3NQYXRoPgotCTxqYXIgdHlwZT0idmFyaWFibGUiPkpES19UT09MUzwvamFyPgotCTxqYXIgdHlwZT0idmFyaWFibGUiPiR7Y2xhc3NQYXRoVmFyaWFibGVOYW1lfS9saWIvcmVzaW4uamFyPC9qYXI+Ci0JPGphciB0eXBlPSJ2YXJpYWJsZSI+JHtjbGFzc1BhdGhWYXJpYWJsZU5hbWV9L2xpYi9kb20uamFyPC9qYXI+Ci0JPGphciB0eXBlPSJ2YXJpYWJsZSI+JHtjbGFzc1BhdGhWYXJpYWJsZU5hbWV9L2xpYi9lamIuamFyPC9qYXI+Ci0JPGphciB0eXBlPSJ2YXJpYWJsZSI+JHtjbGFzc1BhdGhWYXJpYWJsZU5hbWV9L2xpYi9qYXhwLmphcjwvamFyPgotCTxqYXIgdHlwZT0idmFyaWFibGUiPiR7Y2xhc3NQYXRoVmFyaWFibGVOYW1lfS9saWIvamRiYy1teXNxbC5qYXI8L2phcj4KLQk8amFyIHR5cGU9InZhcmlhYmxlIj4ke2NsYXNzUGF0aFZhcmlhYmxlTmFtZX0vbGliL2pkYmMyXzAtc3RkZXh0LmphcjwvamFyPgotCTxqYXIgdHlwZT0idmFyaWFibGUiPiR7Y2xhc3NQYXRoVmFyaWFibGVOYW1lfS9saWIvam1zLmphcjwvamFyPgotCTxqYXIgdHlwZT0idmFyaWFibGUiPiR7Y2xhc3NQYXRoVmFyaWFibGVOYW1lfS9saWIvam14LmphcjwvamFyPgotCTxqYXIgdHlwZT0idmFyaWFibGUiPiR7Y2xhc3NQYXRoVmFyaWFibGVOYW1lfS9saWIvam5kaS5qYXI8L2phcj4KLQk8amFyIHR5cGU9InZhcmlhYmxlIj4ke2NsYXNzUGF0aFZhcmlhYmxlTmFtZX0vbGliL2pzZGsyMy5qYXI8L2phcj4KLQk8amFyIHR5cGU9InZhcmlhYmxlIj4ke2NsYXNzUGF0aFZhcmlhYmxlTmFtZX0vbGliL2p0YV8xMDEuamFyPC9qYXI+Ci0JPGphciB0eXBlPSJ2YXJpYWJsZSI+JHtjbGFzc1BhdGhWYXJpYWJsZU5hbWV9L2xpYi9yZXNpbi1lamIuamFyPC9qYXI+Ci0JPGphciB0eXBlPSJ2YXJpYWJsZSI+JHtjbGFzc1BhdGhWYXJpYWJsZU5hbWV9L2xpYi9zYXguamFyPC9qYXI+Ci0JPGphciB0eXBlPSJ2YXJpYWJsZSI+JHtjbGFzc1BhdGhWYXJpYWJsZU5hbWV9L2xpYi93ZWJ1dGlsLmphcjwvamFyPgotPC9zZXJ2ZXJDbGFzc1BhdGg+Ci08Y2xpZW50Q2xhc3NQYXRoPgotCTxqYXIgdHlwZT0idmFyaWFibGUiPiR7Y2xhc3NQYXRoVmFyaWFibGVOYW1lfS9saWIvZWpiLmphcjwvamFyPgotCTxqYXIgdHlwZT0idmFyaWFibGUiPiR7Y2xhc3NQYXRoVmFyaWFibGVOYW1lfS9saWIvam1zLmphcjwvamFyPgotCTxqYXIgdHlwZT0idmFyaWFibGUiPiR7Y2xhc3NQYXRoVmFyaWFibGVOYW1lfS9saWIvam5kaS5qYXI8L2phcj4KLQk8amFyIHR5cGU9InZhcmlhYmxlIj4ke2NsYXNzUGF0aFZhcmlhYmxlTmFtZX0vbGliL2pzZGsyMy5qYXI8L2phcj4KLQk8amFyIHR5cGU9InZhcmlhYmxlIj4ke2NsYXNzUGF0aFZhcmlhYmxlTmFtZX0vbGliL2p0YV8xMDEuamFyPC9qYXI+Ci0JPGphciB0eXBlPSJ2YXJpYWJsZSI+JHtjbGFzc1BhdGhWYXJpYWJsZU5hbWV9L2xpYi9yZXNpbi1lamIuamFyPC9qYXI+Ci0JPGphciB0eXBlPSJ2YXJpYWJsZSI+JHtjbGFzc1BhdGhWYXJpYWJsZU5hbWV9L2xpYi93ZWJ1dGlsLmphcjwvamFyPgotPC9jbGllbnRDbGFzc1BhdGg+Ci08L3NlcnZlckRlZmluaXRpb24+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMuY29yZS9zZXJ2ZXJzL3Jlc2luMzAuc2VydmVyIGIvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMuY29yZS9zZXJ2ZXJzL3Jlc2luMzAuc2VydmVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMDEwNjdmLi4wMDAwMDAwCi0tLSBhL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLmNvcmUvc2VydmVycy9yZXNpbjMwLnNlcnZlcgorKysgL2Rldi9udWxsCkBAIC0xLDcxICswLDAgQEAKLQotPHNlcnZlckRlZmluaXRpb24gCi0JIG5hbWU9IlJlc2luIHYzLjAiCi0JIGVqYk1vZHVsZXM9InRydWUiCi0JIHdlYk1vZHVsZXM9InRydWUiCi0JIGVhck1vZHVsZXM9InRydWUiPgotPHByb3BlcnR5IGlkPSJyZXNpbkhvbWUiCi0JbGFiZWw9IlJlc2luIERpcmVjdG9yeToiCi0JdHlwZT0iZGlyZWN0b3J5IgotCWRlZmF1bHQ9Ii95b3VyX3NlcnZlcl9yb290L3Jlc2luMzAvcmVzaW4tZWUtMy4wLnMwMzA3MjUiIC8+Ci08cHJvcGVydHkgaWQ9InVzZXJOYW1lIgotCWxhYmVsPSJVc2VyIE5hbWU6IgotCXR5cGU9InN0cmluZyIKLQlkZWZhdWx0PSJhZG1pbiIgLz4KLTxwcm9wZXJ0eSBpZD0icGFzc3dvcmQiCi0JbGFiZWw9IlBhc3N3b3JkOiIKLQl0eXBlPSJzdHJpbmciCi0JZGVmYXVsdD0iMTIzIiAvPgotPHByb3BlcnR5IGlkPSJzZXJ2ZXJBZGRyZXNzIgotCWxhYmVsPSJBZGRyZXNzOiIKLQl0eXBlPSJzdHJpbmciCi0JZGVmYXVsdD0iMTI3LjAuMC4xIiAvPgotPHByb3BlcnR5IGlkPSJzZXJ2ZXJQb3J0IgotCWxhYmVsPSJQb3J0OiIKLQl0eXBlPSJzdHJpbmciCi0JZGVmYXVsdD0iODA4MCIgLz4KLTxwcm9wZXJ0eSBpZD0iY2xhc3NQYXRoVmFyaWFibGVOYW1lIgotCWxhYmVsPSJDbGFzc3BhdGggVmFyaWFibGUgTmFtZToiCi0JdHlwZT0ic3RyaW5nIgotCWRlZmF1bHQ9IlJFU0lOMzAiIC8+Ci08cHJvcGVydHkgaWQ9ImNsYXNzUGF0aCIKLQlsYWJlbD0iQ2xhc3NwYXRoIFZhcmlhYmxlOiIKLQl0eXBlPSJkaXJlY3RvcnkiCi0JZGVmYXVsdD0iL3lvdXJfc2VydmVyX3Jvb3QvcmVzaW4zMC9yZXNpbi1lZS0zLjAuczAzMDcyNSIgLz4KLTxzZXJ2ZXJIb21lPiR7c2VydmVyUm9vdERpcmVjdG9yeX08L3NlcnZlckhvbWU+Ci08d2ViTW9kdWxlc0RlcGxveURpcmVjdG9yeT4ke3Jlc2luSG9tZX0vd2ViYXBwczwvd2ViTW9kdWxlc0RlcGxveURpcmVjdG9yeT4KLTxlamJNb2R1bGVzRGVwbG95RGlyZWN0b3J5PiR7cmVzaW5Ib21lfS93ZWJhcHBzL2NtcC93ZWItaW5mL2xpYjwvZWpiTW9kdWxlc0RlcGxveURpcmVjdG9yeT4KLTxlYXJNb2R1bGVzRGVwbG95RGlyZWN0b3J5PiR7cmVzaW5Ib21lfS93ZWJhcHBzPC9lYXJNb2R1bGVzRGVwbG95RGlyZWN0b3J5PgotPGpuZGlJbml0aWFsQ29udGV4dEZhY3Rvcnk+Y29tLmNhdWNoby5oZXNzaWFuLkhlc3NpYW5Db250ZXh0RmFjdG9yeTwvam5kaUluaXRpYWxDb250ZXh0RmFjdG9yeT4KLTxqbmRpUHJvdmlkZXJVcmw+aHR0cDovLyR7c2VydmVyQWRkcmVzc306JHtzZXJ2ZXJQb3J0fS9oZXNzaWFuPC9qbmRpUHJvdmlkZXJVcmw+Ci08c3RhcnRDbGFzcz5jb20uY2F1Y2hvLnNlcnZlci5yZXNpbi5SZXNpbjwvc3RhcnRDbGFzcz4KLTxzdGFydFdvcmtpbmdEaXJlY3Rvcnk+JHtyZXNpbkhvbWV9PC9zdGFydFdvcmtpbmdEaXJlY3Rvcnk+Ci08c3RhcnRWbVBhcmFtZXRlcnM+LURyZXNpbi5ob21lPSIke3Jlc2luSG9tZX0iIC1EamF2YS51dGlsLmxvZ2dpbmcubWFuYWdlcj1jb20uY2F1Y2hvLmxvZy5Mb2dNYW5hZ2VySW1wbDwvc3RhcnRWbVBhcmFtZXRlcnM+Ci08c3RhcnRQcm9ncmFtQXJndW1lbnRzPi12ZXJib3NlIC1jb25mICR7cmVzaW5Ib21lfS9jb25mL3Jlc2luLmNvbmYgc3RhcnQ8L3N0YXJ0UHJvZ3JhbUFyZ3VtZW50cz4KLTxzdG9wQ2xhc3M+PC9zdG9wQ2xhc3M+Ci08c3RvcFdvcmtpbmdEaXJlY3Rvcnk+JHtyZXNpbkhvbWV9PC9zdG9wV29ya2luZ0RpcmVjdG9yeT4KLTxzdG9wVm1QYXJhbWV0ZXJzPjwvc3RvcFZtUGFyYW1ldGVycz4KLTxzdG9wUHJvZ3JhbUFyZ3VtZW50cz48L3N0b3BQcm9ncmFtQXJndW1lbnRzPgotPHNlcnZlckNsYXNzUGF0aD4KLQk8amFyIHR5cGU9InZhcmlhYmxlIj5KREtfVE9PTFM8L2phcj4KLQk8amFyIHR5cGU9InZhcmlhYmxlIj4ke2NsYXNzUGF0aFZhcmlhYmxlTmFtZX0vbGliL3Jlc2luLmphcjwvamFyPgotCTxqYXIgdHlwZT0idmFyaWFibGUiPiR7Y2xhc3NQYXRoVmFyaWFibGVOYW1lfS9saWIvZWpiLmphcjwvamFyPgotCTxqYXIgdHlwZT0idmFyaWFibGUiPiR7Y2xhc3NQYXRoVmFyaWFibGVOYW1lfS9saWIvaXNvcmVsYXguamFyPC9qYXI+Ci0JPGphciB0eXBlPSJ2YXJpYWJsZSI+JHtjbGFzc1BhdGhWYXJpYWJsZU5hbWV9L2xpYi9qY2EtMTUuamFyPC9qYXI+Ci0JPGphciB0eXBlPSJ2YXJpYWJsZSI+JHtjbGFzc1BhdGhWYXJpYWJsZU5hbWV9L2xpYi9qbXMtMTEuamFyPC9qYXI+Ci0JPGphciB0eXBlPSJ2YXJpYWJsZSI+JHtjbGFzc1BhdGhWYXJpYWJsZU5hbWV9L2xpYi9qbXguamFyPC9qYXI+Ci0JPGphciB0eXBlPSJ2YXJpYWJsZSI+JHtjbGFzc1BhdGhWYXJpYWJsZU5hbWV9L2xpYi9qc2RrMjQuamFyPC9qYXI+Ci0JPGphciB0eXBlPSJ2YXJpYWJsZSI+JHtjbGFzc1BhdGhWYXJpYWJsZU5hbWV9L2xpYi9qdGFfMTAxLmphcjwvamFyPgotCTxqYXIgdHlwZT0idmFyaWFibGUiPiR7Y2xhc3NQYXRoVmFyaWFibGVOYW1lfS9saWIvcmVzaW4tZWpiLmphcjwvamFyPgotCTxqYXIgdHlwZT0idmFyaWFibGUiPiR7Y2xhc3NQYXRoVmFyaWFibGVOYW1lfS9saWIvd2VidXRpbC5qYXI8L2phcj4KLTwvc2VydmVyQ2xhc3NQYXRoPgotPGNsaWVudENsYXNzUGF0aD4KLQk8amFyIHR5cGU9InZhcmlhYmxlIj4ke2NsYXNzUGF0aFZhcmlhYmxlTmFtZX0vbGliL2VqYi5qYXI8L2phcj4KLQk8amFyIHR5cGU9InZhcmlhYmxlIj4ke2NsYXNzUGF0aFZhcmlhYmxlTmFtZX0vbGliL2pjYS0xNS5qYXI8L2phcj4KLQk8amFyIHR5cGU9InZhcmlhYmxlIj4ke2NsYXNzUGF0aFZhcmlhYmxlTmFtZX0vbGliL2ptcy0xMS5qYXI8L2phcj4KLQk8amFyIHR5cGU9InZhcmlhYmxlIj4ke2NsYXNzUGF0aFZhcmlhYmxlTmFtZX0vbGliL2pteC5qYXI8L2phcj4KLQk8amFyIHR5cGU9InZhcmlhYmxlIj4ke2NsYXNzUGF0aFZhcmlhYmxlTmFtZX0vbGliL2p0YV8xMDEuamFyPC9qYXI+Ci0JPGphciB0eXBlPSJ2YXJpYWJsZSI+JHtjbGFzc1BhdGhWYXJpYWJsZU5hbWV9L2xpYi9yZXNpbi1lamIuamFyPC9qYXI+Ci0JPGphciB0eXBlPSJ2YXJpYWJsZSI+JHtjbGFzc1BhdGhWYXJpYWJsZU5hbWV9L2xpYi93ZWJ1dGlsLmphcjwvamFyPgotPC9jbGllbnRDbGFzc1BhdGg+Ci08L3NlcnZlckRlZmluaXRpb24+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMuY29yZS9zZXJ2ZXJzL3RvbWNhdDQwMS5zZXJ2ZXIgYi9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5jb3JlL3NlcnZlcnMvdG9tY2F0NDAxLnNlcnZlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTFlYzE5OS4uMDAwMDAwMAotLS0gYS9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5jb3JlL3NlcnZlcnMvdG9tY2F0NDAxLnNlcnZlcgorKysgL2Rldi9udWxsCkBAIC0xLDQ5ICswLDAgQEAKLQotPHNlcnZlckRlZmluaXRpb24gCi0JIG5hbWU9IkFwYWNoZSBUb21jYXQgdjQuMC4xLzQuMC4yIgotCSBlamJNb2R1bGVzPSJ0cnVlIgotCSB3ZWJNb2R1bGVzPSJ0cnVlIgotCSBlYXJNb2R1bGVzPSJmYWxzZSI+Ci08cHJvcGVydHkgaWQ9InNlcnZlclJvb3REaXJlY3RvcnkiCi0JbGFiZWw9IkFwcGxpY2F0aW9uIFNlcnZlciBEaXJlY3Rvcnk6IgotCXR5cGU9ImRpcmVjdG9yeSIKLQlkZWZhdWx0PSIveW91cl9zZXJ2ZXJfcm9vdC9qYWthcnRhLXRvbWNhdC00LjAuMiIgLz4KLTxwcm9wZXJ0eSBpZD0ic2VydmVyQWRkcmVzcyIKLQlsYWJlbD0iQWRkcmVzczoiCi0JdHlwZT0ic3RyaW5nIgotCWRlZmF1bHQ9IjEyNy4wLjAuMSIgLz4KLTxwcm9wZXJ0eSBpZD0ic2VydmVyUG9ydCIKLQlsYWJlbD0iUG9ydDoiCi0JdHlwZT0ic3RyaW5nIgotCWRlZmF1bHQ9IjgwODAiIC8+Ci08cHJvcGVydHkgaWQ9ImNsYXNzUGF0aFZhcmlhYmxlTmFtZSIKLQlsYWJlbD0iQ2xhc3NwYXRoIFZhcmlhYmxlIE5hbWU6IgotCXR5cGU9InN0cmluZyIKLQlkZWZhdWx0PSJUT01DQVQ0MDEiIC8+Ci08cHJvcGVydHkgaWQ9ImNsYXNzUGF0aCIKLQlsYWJlbD0iQ2xhc3NwYXRoIFZhcmlhYmxlOiIKLQl0eXBlPSJkaXJlY3RvcnkiCi0JZGVmYXVsdD0iL3lvdXJfc2VydmVyX3Jvb3QvamFrYXJ0YS10b21jYXQtNC4wLjIiIC8+Ci08c2VydmVySG9tZT4ke3NlcnZlclJvb3REaXJlY3Rvcnl9PC9zZXJ2ZXJIb21lPgotPHdlYk1vZHVsZXNEZXBsb3lEaXJlY3Rvcnk+JHtzZXJ2ZXJSb290RGlyZWN0b3J5fS93ZWJhcHBzPC93ZWJNb2R1bGVzRGVwbG95RGlyZWN0b3J5PgotPGVqYk1vZHVsZXNEZXBsb3lEaXJlY3Rvcnk+Tk9UU1VQUE9SVEVEPC9lamJNb2R1bGVzRGVwbG95RGlyZWN0b3J5PgotPGVhck1vZHVsZXNEZXBsb3lEaXJlY3Rvcnk+Tk9UU1VQUE9SVEVEPC9lYXJNb2R1bGVzRGVwbG95RGlyZWN0b3J5PgotPGpuZGlJbml0aWFsQ29udGV4dEZhY3Rvcnk+Tk9UU1VQUE9SVEVEPC9qbmRpSW5pdGlhbENvbnRleHRGYWN0b3J5PgotPGpuZGlQcm92aWRlclVybD5OT1RTVVBQT1JURUQ8L2puZGlQcm92aWRlclVybD4KLTxzdGFydENsYXNzPm9yZy5hcGFjaGUuY2F0YWxpbmEuc3RhcnR1cC5Cb290c3RyYXA8L3N0YXJ0Q2xhc3M+Ci08c3RhcnRXb3JraW5nRGlyZWN0b3J5PiR7c2VydmVyUm9vdERpcmVjdG9yeX0vYmluPC9zdGFydFdvcmtpbmdEaXJlY3Rvcnk+Ci08c3RhcnRWbVBhcmFtZXRlcnM+LURKQVZBX0hPTUU9IiR7anJlUGF0aH0iIC1EamF2YS5zZWN1cml0eS5wb2xpY3k9IiR7c2VydmVyUm9vdERpcmVjdG9yeX0vY29uZi9jYXRhbGluYS5wb2xpY3kiIC1EY2F0YWxpbmEuYmFzZT0iJHtzZXJ2ZXJSb290RGlyZWN0b3J5fSIgLURjYXRhbGluYS5ob21lPSIke3NlcnZlclJvb3REaXJlY3Rvcnl9IiAtRGphdmEuaW8udG1wZGlyPSIke3NlcnZlclJvb3REaXJlY3Rvcnl9L3RlbXAiIC1EamF2YS5lbmRvcnNlZC5kaXJzPSIke3NlcnZlclJvb3REaXJlY3Rvcnl9L2Jpbjske3NlcnZlclJvb3REaXJlY3Rvcnl9L2NvbW1vbi9saWIiPC9zdGFydFZtUGFyYW1ldGVycz4KLTxzdGFydFByb2dyYW1Bcmd1bWVudHM+c3RhcnQ8L3N0YXJ0UHJvZ3JhbUFyZ3VtZW50cz4KLTxzdG9wQ2xhc3M+b3JnLmFwYWNoZS5jYXRhbGluYS5zdGFydHVwLkJvb3RzdHJhcDwvc3RvcENsYXNzPgotPHN0b3BXb3JraW5nRGlyZWN0b3J5PiR7c2VydmVyUm9vdERpcmVjdG9yeX0vYmluPC9zdG9wV29ya2luZ0RpcmVjdG9yeT4KLTxzdG9wVm1QYXJhbWV0ZXJzPi1ESkFWQV9IT01FPSIke2pyZVBhdGh9IiAtRGphdmEuc2VjdXJpdHkucG9saWN5PSIke3NlcnZlclJvb3REaXJlY3Rvcnl9L2NvbmYvY2F0YWxpbmEucG9saWN5IiAtRGNhdGFsaW5hLmJhc2U9IiR7c2VydmVyUm9vdERpcmVjdG9yeX0iIC1EY2F0YWxpbmEuaG9tZT0iJHtzZXJ2ZXJSb290RGlyZWN0b3J5fSIgLURqYXZhLmlvLnRtcGRpcj0iJHtzZXJ2ZXJSb290RGlyZWN0b3J5fS90ZW1wIiAtRGphdmEuZW5kb3JzZWQuZGlycz0iJHtzZXJ2ZXJSb290RGlyZWN0b3J5fS9iaW47JHtzZXJ2ZXJSb290RGlyZWN0b3J5fS9jb21tb24vbGliIjwvc3RvcFZtUGFyYW1ldGVycz4KLTxzdG9wUHJvZ3JhbUFyZ3VtZW50cz5zdG9wPC9zdG9wUHJvZ3JhbUFyZ3VtZW50cz4KLTxzZXJ2ZXJDbGFzc1BhdGg+Ci0JPGphciB0eXBlPSJ2YXJpYWJsZSI+SkRLX1RPT0xTPC9qYXI+Ci0JPGphciB0eXBlPSJ2YXJpYWJsZSI+JHtjbGFzc1BhdGhWYXJpYWJsZU5hbWV9L2NvbW1vbi9saWIvam5kaS5qYXI8L2phcj4KLQk8amFyIHR5cGU9InZhcmlhYmxlIj4ke2NsYXNzUGF0aFZhcmlhYmxlTmFtZX0vY29tbW9uL2xpYi9zZXJ2bGV0LmphcjwvamFyPgotCTxqYXIgdHlwZT0idmFyaWFibGUiPiR7Y2xhc3NQYXRoVmFyaWFibGVOYW1lfS9iaW4vYm9vdHN0cmFwLmphcjwvamFyPgotPC9zZXJ2ZXJDbGFzc1BhdGg+Ci08Y2xpZW50Q2xhc3NQYXRoPgotPC9jbGllbnRDbGFzc1BhdGg+Ci08L3NlcnZlckRlZmluaXRpb24+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMuY29yZS9zZXJ2ZXJzL3RvbWNhdDQwMy5zZXJ2ZXIgYi9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5jb3JlL3NlcnZlcnMvdG9tY2F0NDAzLnNlcnZlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2E2M2VkOC4uMDAwMDAwMAotLS0gYS9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5jb3JlL3NlcnZlcnMvdG9tY2F0NDAzLnNlcnZlcgorKysgL2Rldi9udWxsCkBAIC0xLDQ4ICswLDAgQEAKLQotPHNlcnZlckRlZmluaXRpb24gCi0JIG5hbWU9IkFwYWNoZSBUb21jYXQgdjQuMC4zLzQuMC40IgotCSBlamJNb2R1bGVzPSJ0cnVlIgotCSB3ZWJNb2R1bGVzPSJ0cnVlIgotCSBlYXJNb2R1bGVzPSJmYWxzZSI+Ci08cHJvcGVydHkgaWQ9InNlcnZlclJvb3REaXJlY3RvcnkiCi0JbGFiZWw9IkFwcGxpY2F0aW9uIFNlcnZlciBEaXJlY3Rvcnk6IgotCXR5cGU9ImRpcmVjdG9yeSIKLQlkZWZhdWx0PSIveW91cl9zZXJ2ZXJfcm9vdC9qYWthcnRhLXRvbWNhdC00LjAuNCIgLz4KLTxwcm9wZXJ0eSBpZD0ic2VydmVyQWRkcmVzcyIKLQlsYWJlbD0iQWRkcmVzczoiCi0JdHlwZT0ic3RyaW5nIgotCWRlZmF1bHQ9IjEyNy4wLjAuMSIgLz4KLTxwcm9wZXJ0eSBpZD0ic2VydmVyUG9ydCIKLQlsYWJlbD0iUG9ydDoiCi0JdHlwZT0ic3RyaW5nIgotCWRlZmF1bHQ9IjgwODAiIC8+Ci08cHJvcGVydHkgaWQ9ImNsYXNzUGF0aFZhcmlhYmxlTmFtZSIKLQlsYWJlbD0iQ2xhc3NwYXRoIFZhcmlhYmxlIE5hbWU6IgotCXR5cGU9InN0cmluZyIKLQlkZWZhdWx0PSJUT01DQVQ0MDMiIC8+Ci08cHJvcGVydHkgaWQ9ImNsYXNzUGF0aCIKLQlsYWJlbD0iQ2xhc3NwYXRoIFZhcmlhYmxlOiIKLQl0eXBlPSJkaXJlY3RvcnkiCi0JZGVmYXVsdD0iL3lvdXJfc2VydmVyX3Jvb3QvamFrYXJ0YS10b21jYXQtNC4wLjIiIC8+Ci08c2VydmVySG9tZT4ke3NlcnZlclJvb3REaXJlY3Rvcnl9PC9zZXJ2ZXJIb21lPgotPHdlYk1vZHVsZXNEZXBsb3lEaXJlY3Rvcnk+JHtzZXJ2ZXJSb290RGlyZWN0b3J5fS93ZWJhcHBzPC93ZWJNb2R1bGVzRGVwbG95RGlyZWN0b3J5PgotPGVqYk1vZHVsZXNEZXBsb3lEaXJlY3Rvcnk+Tk9UU1VQUE9SVEVEPC9lamJNb2R1bGVzRGVwbG95RGlyZWN0b3J5PgotPGVhck1vZHVsZXNEZXBsb3lEaXJlY3Rvcnk+Tk9UU1VQUE9SVEVEPC9lYXJNb2R1bGVzRGVwbG95RGlyZWN0b3J5PgotPGpuZGlJbml0aWFsQ29udGV4dEZhY3Rvcnk+Tk9UU1VQUE9SVEVEPC9qbmRpSW5pdGlhbENvbnRleHRGYWN0b3J5PgotPGpuZGlQcm92aWRlclVybD5OT1RTVVBQT1JURUQ8L2puZGlQcm92aWRlclVybD4KLTxzdGFydENsYXNzPm9yZy5hcGFjaGUuY2F0YWxpbmEuc3RhcnR1cC5Cb290c3RyYXA8L3N0YXJ0Q2xhc3M+Ci08c3RhcnRXb3JraW5nRGlyZWN0b3J5PiR7c2VydmVyUm9vdERpcmVjdG9yeX0vYmluPC9zdGFydFdvcmtpbmdEaXJlY3Rvcnk+Ci08c3RhcnRWbVBhcmFtZXRlcnM+LUR1c2VyLmRpcj0iJHtzZXJ2ZXJSb290RGlyZWN0b3J5fSIgLURKQVZBX0hPTUU9IiR7anJlUGF0aH0iIC1EamF2YS5zZWN1cml0eS5tYW5hZ2VyIC1EamF2YS5zZWN1cml0eS5wb2xpY3k9IiR7c2VydmVyUm9vdERpcmVjdG9yeX0vY29uZi9jYXRhbGluYS5wb2xpY3kiIC1EY2F0YWxpbmEuYmFzZT0iJHtzZXJ2ZXJSb290RGlyZWN0b3J5fSIgLURjYXRhbGluYS5ob21lPSIke3NlcnZlclJvb3REaXJlY3Rvcnl9IiAtRGphdmEuaW8udG1wZGlyPSIke3NlcnZlclJvb3REaXJlY3Rvcnl9L3RlbXAiIC1EamF2YS5lbmRvcnNlZC5kaXJzPSIke3NlcnZlclJvb3REaXJlY3Rvcnl9L2Jpbjske3NlcnZlclJvb3REaXJlY3Rvcnl9L2NvbW1vbi9saWIiPC9zdGFydFZtUGFyYW1ldGVycz4KLTxzdGFydFByb2dyYW1Bcmd1bWVudHM+c3RhcnQ8L3N0YXJ0UHJvZ3JhbUFyZ3VtZW50cz4KLTxzdG9wQ2xhc3M+b3JnLmFwYWNoZS5jYXRhbGluYS5zdGFydHVwLkJvb3RzdHJhcDwvc3RvcENsYXNzPgotPHN0b3BXb3JraW5nRGlyZWN0b3J5PiR7c2VydmVyUm9vdERpcmVjdG9yeX0vYmluPC9zdG9wV29ya2luZ0RpcmVjdG9yeT4KLTxzdG9wVm1QYXJhbWV0ZXJzPi1EdXNlci5kaXI9IiR7c2VydmVyUm9vdERpcmVjdG9yeX0iIC1ESkFWQV9IT01FPSIke2pyZVBhdGh9IiAtRGphdmEuc2VjdXJpdHkubWFuYWdlciAtRGphdmEuc2VjdXJpdHkucG9saWN5PSIke3NlcnZlclJvb3REaXJlY3Rvcnl9L2NvbmYvY2F0YWxpbmEucG9saWN5IiAtRGNhdGFsaW5hLmJhc2U9IiR7c2VydmVyUm9vdERpcmVjdG9yeX0iIC1EY2F0YWxpbmEuaG9tZT0iJHtzZXJ2ZXJSb290RGlyZWN0b3J5fSIgLURqYXZhLmlvLnRtcGRpcj0iJHtzZXJ2ZXJSb290RGlyZWN0b3J5fS90ZW1wIiAtRGphdmEuZW5kb3JzZWQuZGlycz0iJHtzZXJ2ZXJSb290RGlyZWN0b3J5fS9iaW47JHtzZXJ2ZXJSb290RGlyZWN0b3J5fS9jb21tb24vbGliIjwvc3RvcFZtUGFyYW1ldGVycz4KLTxzdG9wUHJvZ3JhbUFyZ3VtZW50cz5zdG9wPC9zdG9wUHJvZ3JhbUFyZ3VtZW50cz4KLTxzZXJ2ZXJDbGFzc1BhdGg+Ci0JPGphciB0eXBlPSJ2YXJpYWJsZSI+SkRLX1RPT0xTPC9qYXI+Ci0JPGphciB0eXBlPSJ2YXJpYWJsZSI+JHtjbGFzc1BhdGhWYXJpYWJsZU5hbWV9L2NvbW1vbi9saWIvc2VydmxldC5qYXI8L2phcj4KLQk8amFyIHR5cGU9InZhcmlhYmxlIj4ke2NsYXNzUGF0aFZhcmlhYmxlTmFtZX0vYmluL2Jvb3RzdHJhcC5qYXI8L2phcj4KLTwvc2VydmVyQ2xhc3NQYXRoPgotPGNsaWVudENsYXNzUGF0aD4KLTwvY2xpZW50Q2xhc3NQYXRoPgotPC9zZXJ2ZXJEZWZpbml0aW9uPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLmNvcmUvc2VydmVycy90b21jYXQ0MTAuc2VydmVyIGIvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMuY29yZS9zZXJ2ZXJzL3RvbWNhdDQxMC5zZXJ2ZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFiNTliMmQuLjAwMDAwMDAKLS0tIGEvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMuY29yZS9zZXJ2ZXJzL3RvbWNhdDQxMC5zZXJ2ZXIKKysrIC9kZXYvbnVsbApAQCAtMSw0OCArMCwwIEBACi0KLTxzZXJ2ZXJEZWZpbml0aW9uIAotCSBuYW1lPSJBcGFjaGUgVG9tY2F0IHY0LjEuMCIKLQkgZWpiTW9kdWxlcz0idHJ1ZSIKLQkgd2ViTW9kdWxlcz0idHJ1ZSIKLQkgZWFyTW9kdWxlcz0iZmFsc2UiPgotPHByb3BlcnR5IGlkPSJzZXJ2ZXJSb290RGlyZWN0b3J5IgotCWxhYmVsPSJBcHBsaWNhdGlvbiBTZXJ2ZXIgRGlyZWN0b3J5OiIKLQl0eXBlPSJkaXJlY3RvcnkiCi0JZGVmYXVsdD0iL3lvdXJfc2VydmVyX3Jvb3QvamFrYXJ0YS10b21jYXQtNC4xLjEwLUxFLWpkazE0IiAvPgotPHByb3BlcnR5IGlkPSJzZXJ2ZXJBZGRyZXNzIgotCWxhYmVsPSJBZGRyZXNzOiIKLQl0eXBlPSJzdHJpbmciCi0JZGVmYXVsdD0iMTI3LjAuMC4xIiAvPgotPHByb3BlcnR5IGlkPSJzZXJ2ZXJQb3J0IgotCWxhYmVsPSJQb3J0OiIKLQl0eXBlPSJzdHJpbmciCi0JZGVmYXVsdD0iODA4MCIgLz4KLTxwcm9wZXJ0eSBpZD0iY2xhc3NQYXRoVmFyaWFibGVOYW1lIgotCWxhYmVsPSJDbGFzc3BhdGggVmFyaWFibGUgTmFtZToiCi0JdHlwZT0ic3RyaW5nIgotCWRlZmF1bHQ9IlRPTUNBVDQxMSIgLz4KLTxwcm9wZXJ0eSBpZD0iY2xhc3NQYXRoIgotCWxhYmVsPSJDbGFzc3BhdGggVmFyaWFibGU6IgotCXR5cGU9ImRpcmVjdG9yeSIKLQlkZWZhdWx0PSIveW91cl9zZXJ2ZXJfcm9vdC9qYWthcnRhLXRvbWNhdC00LjEuMTAtTEUtamRrMTQiIC8+Ci08c2VydmVySG9tZT4ke3NlcnZlclJvb3REaXJlY3Rvcnl9PC9zZXJ2ZXJIb21lPgotPHdlYk1vZHVsZXNEZXBsb3lEaXJlY3Rvcnk+JHtzZXJ2ZXJSb290RGlyZWN0b3J5fS93ZWJhcHBzPC93ZWJNb2R1bGVzRGVwbG95RGlyZWN0b3J5PgotPGVqYk1vZHVsZXNEZXBsb3lEaXJlY3Rvcnk+Tk9UU1VQUE9SVEVEPC9lamJNb2R1bGVzRGVwbG95RGlyZWN0b3J5PgotPGVhck1vZHVsZXNEZXBsb3lEaXJlY3Rvcnk+Tk9UU1VQUE9SVEVEPC9lYXJNb2R1bGVzRGVwbG95RGlyZWN0b3J5PgotPGpuZGlJbml0aWFsQ29udGV4dEZhY3Rvcnk+Tk9UU1VQUE9SVEVEPC9qbmRpSW5pdGlhbENvbnRleHRGYWN0b3J5PgotPGpuZGlQcm92aWRlclVybD5OT1RTVVBQT1JURUQ8L2puZGlQcm92aWRlclVybD4KLTxzdGFydENsYXNzPm9yZy5hcGFjaGUuY2F0YWxpbmEuc3RhcnR1cC5Cb290c3RyYXA8L3N0YXJ0Q2xhc3M+Ci08c3RhcnRXb3JraW5nRGlyZWN0b3J5PiR7c2VydmVyUm9vdERpcmVjdG9yeX0vYmluPC9zdGFydFdvcmtpbmdEaXJlY3Rvcnk+Ci08c3RhcnRWbVBhcmFtZXRlcnM+LURKQVZBX0hPTUU9IiR7anJlUGF0aH0iIC1EY2F0YWxpbmEuYmFzZT0iJHtzZXJ2ZXJSb290RGlyZWN0b3J5fSIgLURjYXRhbGluYS5ob21lPSIke3NlcnZlclJvb3REaXJlY3Rvcnl9IiAtRGphdmEuaW8udG1wZGlyPSIke3NlcnZlclJvb3REaXJlY3Rvcnl9L3RlbXAiIC1EamF2YS5lbmRvcnNlZC5kaXJzPSIke3NlcnZlclJvb3REaXJlY3Rvcnl9L2Jpbjske3NlcnZlclJvb3REaXJlY3Rvcnl9L2NvbW1vbi9lbmRvcnNlZCI8L3N0YXJ0Vm1QYXJhbWV0ZXJzPgotPHN0YXJ0UHJvZ3JhbUFyZ3VtZW50cz5zdGFydDwvc3RhcnRQcm9ncmFtQXJndW1lbnRzPgotPHN0b3BDbGFzcz5vcmcuYXBhY2hlLmNhdGFsaW5hLnN0YXJ0dXAuQm9vdHN0cmFwPC9zdG9wQ2xhc3M+Ci08c3RvcFdvcmtpbmdEaXJlY3Rvcnk+JHtzZXJ2ZXJSb290RGlyZWN0b3J5fS9iaW48L3N0b3BXb3JraW5nRGlyZWN0b3J5PgotPHN0b3BWbVBhcmFtZXRlcnM+LURKQVZBX0hPTUU9IiR7anJlUGF0aH0iIC1EY2F0YWxpbmEuYmFzZT0iJHtzZXJ2ZXJSb290RGlyZWN0b3J5fSIgLURjYXRhbGluYS5ob21lPSIke3NlcnZlclJvb3REaXJlY3Rvcnl9IiAtRGphdmEuaW8udG1wZGlyPSIke3NlcnZlclJvb3REaXJlY3Rvcnl9L3RlbXAiIC1EamF2YS5lbmRvcnNlZC5kaXJzPSIke3NlcnZlclJvb3REaXJlY3Rvcnl9L2Jpbjske3NlcnZlclJvb3REaXJlY3Rvcnl9L2NvbW1vbi9lbmRvcnNlZCI8L3N0b3BWbVBhcmFtZXRlcnM+Ci08c3RvcFByb2dyYW1Bcmd1bWVudHM+c3RvcDwvc3RvcFByb2dyYW1Bcmd1bWVudHM+Ci08c2VydmVyQ2xhc3NQYXRoPgotCTxqYXIgdHlwZT0idmFyaWFibGUiPkpES19UT09MUzwvamFyPgotCTxqYXIgdHlwZT0idmFyaWFibGUiPiR7Y2xhc3NQYXRoVmFyaWFibGVOYW1lfS9jb21tb24vbGliL3NlcnZsZXQuamFyPC9qYXI+Ci0JPGphciB0eXBlPSJ2YXJpYWJsZSI+JHtjbGFzc1BhdGhWYXJpYWJsZU5hbWV9L2Jpbi9ib290c3RyYXAuamFyPC9qYXI+Ci08L3NlcnZlckNsYXNzUGF0aD4KLTxjbGllbnRDbGFzc1BhdGg+Ci08L2NsaWVudENsYXNzUGF0aD4KLTwvc2VydmVyRGVmaW5pdGlvbj4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5jb3JlL3NlcnZlcnMvdG9tY2F0NTB4LnNlcnZlciBiL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLmNvcmUvc2VydmVycy90b21jYXQ1MHguc2VydmVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4YzU4NGJkLi4wMDAwMDAwCi0tLSBhL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLmNvcmUvc2VydmVycy90b21jYXQ1MHguc2VydmVyCisrKyAvZGV2L251bGwKQEAgLTEsNTMgKzAsMCBAQAotCi08c2VydmVyRGVmaW5pdGlvbiAKLQkgbmFtZT0iQXBhY2hlIFRvbWNhdCB2NS4wLngiCi0JIGVqYk1vZHVsZXM9InRydWUiCi0JIHdlYk1vZHVsZXM9InRydWUiCi0JIGVhck1vZHVsZXM9ImZhbHNlIj4KLTxwcm9wZXJ0eSBpZD0ic2VydmVyUm9vdERpcmVjdG9yeSIKLQlsYWJlbD0iQXBwbGljYXRpb24gU2VydmVyIERpcmVjdG9yeToiCi0JdHlwZT0iZGlyZWN0b3J5IgotCWRlZmF1bHQ9Ii95b3VyX3NlcnZlcl9yb290L2FwcHNlcnZlcnMvamFrYXJ0YS10b21jYXQtNS4wLjE2IiAvPgotPHByb3BlcnR5IGlkPSJzZXJ2ZXJBZGRyZXNzIgotCWxhYmVsPSJBZGRyZXNzOiIKLQl0eXBlPSJzdHJpbmciCi0JZGVmYXVsdD0iMTI3LjAuMC4xIiAvPgotPHByb3BlcnR5IGlkPSJzZXJ2ZXJQb3J0IgotCWxhYmVsPSJQb3J0OiIKLQl0eXBlPSJzdHJpbmciCi0JZGVmYXVsdD0iODA4MCIgLz4KLTxwcm9wZXJ0eSBpZD0iY2xhc3NQYXRoVmFyaWFibGVOYW1lIgotCWxhYmVsPSJDbGFzc3BhdGggVmFyaWFibGUgTmFtZToiCi0JdHlwZT0ic3RyaW5nIgotCWRlZmF1bHQ9IlRPTUNBVF9IT01FIiAvPgotPHByb3BlcnR5IGlkPSJjbGFzc1BhdGgiCi0JbGFiZWw9IkNsYXNzcGF0aCBWYXJpYWJsZToiCi0JdHlwZT0iZGlyZWN0b3J5IgotCWRlZmF1bHQ9Ii95b3VyX3NlcnZlcl9yb290L2FwcHNlcnZlcnMvamFrYXJ0YS10b21jYXQtNS4wLjE2IiAvPgotPHNlcnZlckhvbWU+JHtzZXJ2ZXJSb290RGlyZWN0b3J5fTwvc2VydmVySG9tZT4KLTx3ZWJNb2R1bGVzRGVwbG95RGlyZWN0b3J5PiR7c2VydmVyUm9vdERpcmVjdG9yeX0vd2ViYXBwczwvd2ViTW9kdWxlc0RlcGxveURpcmVjdG9yeT4KLTxlamJNb2R1bGVzRGVwbG95RGlyZWN0b3J5Pk5PVFNVUFBPUlRFRDwvZWpiTW9kdWxlc0RlcGxveURpcmVjdG9yeT4KLTxlYXJNb2R1bGVzRGVwbG95RGlyZWN0b3J5Pk5PVFNVUFBPUlRFRDwvZWFyTW9kdWxlc0RlcGxveURpcmVjdG9yeT4KLTxqbmRpSW5pdGlhbENvbnRleHRGYWN0b3J5Pk5PVFNVUFBPUlRFRDwvam5kaUluaXRpYWxDb250ZXh0RmFjdG9yeT4KLTxqbmRpUHJvdmlkZXJVcmw+Tk9UU1VQUE9SVEVEPC9qbmRpUHJvdmlkZXJVcmw+Ci08c3RhcnRDbGFzcz5vcmcuYXBhY2hlLmNhdGFsaW5hLnN0YXJ0dXAuQm9vdHN0cmFwPC9zdGFydENsYXNzPgotPHN0YXJ0V29ya2luZ0RpcmVjdG9yeT4ke3NlcnZlclJvb3REaXJlY3Rvcnl9L2Jpbjwvc3RhcnRXb3JraW5nRGlyZWN0b3J5PgotPHN0YXJ0Vm1QYXJhbWV0ZXJzPi1ESkFWQV9IT01FPSIke2pyZVBhdGh9IiAtRGNhdGFsaW5hLmJhc2U9IiR7c2VydmVyUm9vdERpcmVjdG9yeX0iIC1EY2F0YWxpbmEuaG9tZT0iJHtzZXJ2ZXJSb290RGlyZWN0b3J5fSIgLURqYXZhLmlvLnRtcGRpcj0iJHtzZXJ2ZXJSb290RGlyZWN0b3J5fS90ZW1wIiAtRGphdmEuZW5kb3JzZWQuZGlycz0iJHtzZXJ2ZXJSb290RGlyZWN0b3J5fS9iaW47JHtzZXJ2ZXJSb290RGlyZWN0b3J5fS9jb21tb24vZW5kb3JzZWQiPC9zdGFydFZtUGFyYW1ldGVycz4KLTxzdGFydFByb2dyYW1Bcmd1bWVudHM+c3RhcnQ8L3N0YXJ0UHJvZ3JhbUFyZ3VtZW50cz4KLTxzdG9wQ2xhc3M+b3JnLmFwYWNoZS5jYXRhbGluYS5zdGFydHVwLkJvb3RzdHJhcDwvc3RvcENsYXNzPgotPHN0b3BXb3JraW5nRGlyZWN0b3J5PiR7c2VydmVyUm9vdERpcmVjdG9yeX0vYmluPC9zdG9wV29ya2luZ0RpcmVjdG9yeT4KLTxzdG9wVm1QYXJhbWV0ZXJzPi1ESkFWQV9IT01FPSIke2pyZVBhdGh9IiAtRGNhdGFsaW5hLmJhc2U9IiR7c2VydmVyUm9vdERpcmVjdG9yeX0iIC1EY2F0YWxpbmEuaG9tZT0iJHtzZXJ2ZXJSb290RGlyZWN0b3J5fSIgLURqYXZhLmlvLnRtcGRpcj0iJHtzZXJ2ZXJSb290RGlyZWN0b3J5fS90ZW1wIiAtRGphdmEuZW5kb3JzZWQuZGlycz0iJHtzZXJ2ZXJSb290RGlyZWN0b3J5fS9iaW47JHtzZXJ2ZXJSb290RGlyZWN0b3J5fS9jb21tb24vZW5kb3JzZWQiPC9zdG9wVm1QYXJhbWV0ZXJzPgotPHN0b3BQcm9ncmFtQXJndW1lbnRzPnN0b3A8L3N0b3BQcm9ncmFtQXJndW1lbnRzPgotPHNlcnZlckNsYXNzUGF0aD4KLQk8amFyIHR5cGU9InZhcmlhYmxlIj5KREtfVE9PTFM8L2phcj4KLQk8amFyIHR5cGU9InZhcmlhYmxlIj4ke2NsYXNzUGF0aFZhcmlhYmxlTmFtZX0vYmluL2Jvb3RzdHJhcC5qYXI8L2phcj4KLTwvc2VydmVyQ2xhc3NQYXRoPgotPGNsaWVudENsYXNzUGF0aD4KLTwvY2xpZW50Q2xhc3NQYXRoPgotPHByb2plY3RDbGFzc1BhdGg+Ci0JPGphciB0eXBlPSJ2YXJpYWJsZSI+SkRLX1RPT0xTPC9qYXI+Ci0JPGphciB0eXBlPSJ2YXJpYWJsZSI+JHtjbGFzc1BhdGhWYXJpYWJsZU5hbWV9L2Jpbi9ib290c3RyYXAuamFyPC9qYXI+Ci0JPGphciB0eXBlPSJ2YXJpYWJsZSI+JHtjbGFzc1BhdGhWYXJpYWJsZU5hbWV9L2NvbW1vbi9saWIvc2VydmxldC1hcGkuamFyPC9qYXI+Ci0JPGphciB0eXBlPSJ2YXJpYWJsZSI+JHtjbGFzc1BhdGhWYXJpYWJsZU5hbWV9L2NvbW1vbi9saWIvanNwLWFwaS5qYXI8L2phcj4KLTwvcHJvamVjdENsYXNzUGF0aD4KLTwvc2VydmVyRGVmaW5pdGlvbj4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5jb3JlL3NlcnZlcnMvd2VibG9naWM2MS5zZXJ2ZXIgYi9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5jb3JlL3NlcnZlcnMvd2VibG9naWM2MS5zZXJ2ZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBhNzdlOGIuLjAwMDAwMDAKLS0tIGEvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMuY29yZS9zZXJ2ZXJzL3dlYmxvZ2ljNjEuc2VydmVyCisrKyAvZGV2L251bGwKQEAgLTEsNzYgKzAsMCBAQAotCi08c2VydmVyRGVmaW5pdGlvbiAKLQkgbmFtZT0iQkVBIFdlYmxvZ2ljIFNlcnZlciB2Ni4xIgotCSBlamJNb2R1bGVzPSJ0cnVlIgotCSB3ZWJNb2R1bGVzPSJ0cnVlIgotCSBlYXJNb2R1bGVzPSJ0cnVlIj4KLTxwcm9wZXJ0eSBpZD0iYmVhSG9tZSIKLQlsYWJlbD0iQkVBIEhvbWUgRGlyZWN0b3J5OiIKLQl0eXBlPSJkaXJlY3RvcnkiCi0JZGVmYXVsdD0iL3lvdXJfc2VydmVyX3Jvb3QvYmVhIiAvPgotPHByb3BlcnR5IGlkPSJzZXJ2ZXJSb290RGlyZWN0b3J5IgotCWxhYmVsPSJBcHBsaWNhdGlvbiBTZXJ2ZXIgRGlyZWN0b3J5OiIKLQl0eXBlPSJkaXJlY3RvcnkiCi0JZGVmYXVsdD0iL3lvdXJfc2VydmVyX3Jvb3QvYmVhL3dsc2VydmVyNi4xIiAvPgotPHByb3BlcnR5IGlkPSJkb21haW5OYW1lIgotCWxhYmVsPSJBZG1pbiBEb21haW4gTmFtZToiCi0JdHlwZT0ic3RyaW5nIgotCWRlZmF1bHQ9Im15ZG9tYWluIiAvPgotPHByb3BlcnR5IGlkPSJkb21haW5EaXJlY3RvcnkiCi0JbGFiZWw9IkFkbWluIERvbWFpbiBEaXJlY3Rvcnk6IgotCXR5cGU9ImRpcmVjdG9yeSIKLQlkZWZhdWx0PSIveW91cl9zZXJ2ZXJfcm9vdC9iZWEvd2xzZXJ2ZXI2LjEvY29uZmlnL215ZG9tYWluIiAvPgotPHByb3BlcnR5IGlkPSJzZXJ2ZXJOYW1lIgotCWxhYmVsPSJTZXJ2ZXIgTmFtZToiCi0JdHlwZT0ic3RyaW5nIgotCWRlZmF1bHQ9Im15c2VydmVyIiAvPgotPHByb3BlcnR5IGlkPSJ1c2VyTmFtZSIKLQlsYWJlbD0iVXNlciBOYW1lOiIKLQl0eXBlPSJzdHJpbmciCi0JZGVmYXVsdD0ic3lzdGVtIiAvPgotPHByb3BlcnR5IGlkPSJwYXNzd29yZCIKLQlsYWJlbD0iUGFzc3dvcmQ6IgotCXR5cGU9InN0cmluZyIKLQlkZWZhdWx0PSJ3ZWJsb2dpYyIgLz4KLTxwcm9wZXJ0eSBpZD0icHJvZHVjdGlvbk1vZGUiCi0JbGFiZWw9IlByb2R1Y3Rpb24gTW9kZToiCi0JdHlwZT0iYm9vbGVhbiIKLQlkZWZhdWx0PSJmYWxzZSIgLz4KLTxwcm9wZXJ0eSBpZD0ic2VydmVyQWRkcmVzcyIKLQlsYWJlbD0iQWRkcmVzczoiCi0JdHlwZT0ic3RyaW5nIgotCWRlZmF1bHQ9IjEyNy4wLjAuMSIgLz4KLTxwcm9wZXJ0eSBpZD0ic2VydmVyUG9ydCIKLQlsYWJlbD0iUG9ydDoiCi0JdHlwZT0ic3RyaW5nIgotCWRlZmF1bHQ9IjcwMDEiIC8+Ci08cHJvcGVydHkgaWQ9ImNsYXNzUGF0aFZhcmlhYmxlTmFtZSIKLQlsYWJlbD0iQ2xhc3NwYXRoIFZhcmlhYmxlIE5hbWU6IgotCXR5cGU9InN0cmluZyIKLQlkZWZhdWx0PSJXRUJMT0dJQzYxMCIgLz4KLTxwcm9wZXJ0eSBpZD0iY2xhc3NQYXRoIgotCWxhYmVsPSJDbGFzc3BhdGggVmFyaWFibGU6IgotCXR5cGU9ImRpcmVjdG9yeSIKLQlkZWZhdWx0PSIveW91cl9zZXJ2ZXJfcm9vdC9iZWEvd2xzZXJ2ZXI2LjEvbGliIiAvPgotPHNlcnZlckhvbWU+JHtzZXJ2ZXJSb290RGlyZWN0b3J5fTwvc2VydmVySG9tZT4KLTx3ZWJNb2R1bGVzRGVwbG95RGlyZWN0b3J5PiR7ZG9tYWluRGlyZWN0b3J5fS9hcHBsaWNhdGlvbnM8L3dlYk1vZHVsZXNEZXBsb3lEaXJlY3Rvcnk+Ci08ZWpiTW9kdWxlc0RlcGxveURpcmVjdG9yeT4ke2RvbWFpbkRpcmVjdG9yeX0vYXBwbGljYXRpb25zPC9lamJNb2R1bGVzRGVwbG95RGlyZWN0b3J5PgotPGVhck1vZHVsZXNEZXBsb3lEaXJlY3Rvcnk+JHtkb21haW5EaXJlY3Rvcnl9L2FwcGxpY2F0aW9uczwvZWFyTW9kdWxlc0RlcGxveURpcmVjdG9yeT4KLTxqbmRpSW5pdGlhbENvbnRleHRGYWN0b3J5PndlYmxvZ2ljLmpuZGkuV0xJbml0aWFsQ29udGV4dEZhY3Rvcnk8L2puZGlJbml0aWFsQ29udGV4dEZhY3Rvcnk+Ci08am5kaVByb3ZpZGVyVXJsPnQzOi8vJHtzZXJ2ZXJBZGRyZXNzfToke3NlcnZlclBvcnR9PC9qbmRpUHJvdmlkZXJVcmw+Ci08c3RhcnRDbGFzcz53ZWJsb2dpYy5TZXJ2ZXI8L3N0YXJ0Q2xhc3M+Ci08c3RhcnRXb3JraW5nRGlyZWN0b3J5PiR7ZG9tYWluRGlyZWN0b3J5fTwvc3RhcnRXb3JraW5nRGlyZWN0b3J5PgotPHN0YXJ0Vm1QYXJhbWV0ZXJzPi1tczY0bSAtbXg2NG0gLUR3ZWJsb2dpYy5Eb21haW49IiR7ZG9tYWluTmFtZX0iIC1Ed2VibG9naWMuTmFtZT0iJHtzZXJ2ZXJOYW1lfSIgLURiZWEuaG9tZT0iJHtiZWFIb21lfSIgLUR3ZWJsb2dpYy5Sb290RGlyZWN0b3J5PSIke3NlcnZlclJvb3REaXJlY3Rvcnl9IiAtRHdlYmxvZ2ljLm1hbmFnZW1lbnQucGFzc3dvcmQ9JHtwYXNzd29yZH0gLUR3ZWJsb2dpYy5Qcm9kdWN0aW9uTW9kZUVuYWJsZWQ9JHtwcm9kdWN0aW9uTW9kZX0gLURqYXZhLnNlY3VyaXR5LnBvbGljeT09IiR7c2VydmVyUm9vdERpcmVjdG9yeX0vc2VydmVyL2xpYi93ZWJsb2dpYy5wb2xpY3kiPC9zdGFydFZtUGFyYW1ldGVycz4KLTxzdGFydFByb2dyYW1Bcmd1bWVudHM+PC9zdGFydFByb2dyYW1Bcmd1bWVudHM+Ci08c3RvcENsYXNzPndlYmxvZ2ljLkFkbWluPC9zdG9wQ2xhc3M+Ci08c3RvcFdvcmtpbmdEaXJlY3Rvcnk+JHtkb21haW5EaXJlY3Rvcnl9PC9zdG9wV29ya2luZ0RpcmVjdG9yeT4KLTxzdG9wVm1QYXJhbWV0ZXJzPjwvc3RvcFZtUGFyYW1ldGVycz4KLTxzdG9wUHJvZ3JhbUFyZ3VtZW50cz4tdXJsIHQzOi8vJHtzZXJ2ZXJBZGRyZXNzfToke3NlcnZlclBvcnR9IC11c2VybmFtZSAke3VzZXJOYW1lfSAtcGFzc3dvcmQgJHtwYXNzd29yZH0gU0hVVERPV048L3N0b3BQcm9ncmFtQXJndW1lbnRzPgotPHNlcnZlckNsYXNzUGF0aD4KLQk8amFyIHR5cGU9InZhcmlhYmxlIj5KREtfVE9PTFM8L2phcj4KLQk8amFyIHR5cGU9InZhcmlhYmxlIj4ke2NsYXNzUGF0aFZhcmlhYmxlTmFtZX0vd2VibG9naWMuamFyPC9qYXI+Ci08L3NlcnZlckNsYXNzUGF0aD4KLTxjbGllbnRDbGFzc1BhdGg+Ci0JPGphciB0eXBlPSJ2YXJpYWJsZSI+JHtjbGFzc1BhdGhWYXJpYWJsZU5hbWV9L3dlYmxvZ2ljLmphcjwvamFyPgotPC9jbGllbnRDbGFzc1BhdGg+Ci08L3NlcnZlckRlZmluaXRpb24+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMuY29yZS9zZXJ2ZXJzL3dlYmxvZ2ljNzAuc2VydmVyIGIvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMuY29yZS9zZXJ2ZXJzL3dlYmxvZ2ljNzAuc2VydmVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3OTI4ZmUyLi4wMDAwMDAwCi0tLSBhL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLmNvcmUvc2VydmVycy93ZWJsb2dpYzcwLnNlcnZlcgorKysgL2Rldi9udWxsCkBAIC0xLDc2ICswLDAgQEAKLQotPHNlcnZlckRlZmluaXRpb24gCi0JIG5hbWU9IkJFQSBXZWJsb2dpYyBTZXJ2ZXIgdjcuMCIKLQkgZWpiTW9kdWxlcz0idHJ1ZSIKLQkgd2ViTW9kdWxlcz0idHJ1ZSIKLQkgZWFyTW9kdWxlcz0idHJ1ZSI+Ci08cHJvcGVydHkgaWQ9ImJlYUhvbWUiCi0JbGFiZWw9IkJFQSBIb21lIERpcmVjdG9yeToiCi0JdHlwZT0iZGlyZWN0b3J5IgotCWRlZmF1bHQ9Ii95b3VyX3NlcnZlcl9yb290L2JlYSIgLz4KLTxwcm9wZXJ0eSBpZD0ic2VydmVyUm9vdERpcmVjdG9yeSIKLQlsYWJlbD0iQXBwbGljYXRpb24gU2VydmVyIERpcmVjdG9yeToiCi0JdHlwZT0iZGlyZWN0b3J5IgotCWRlZmF1bHQ9Ii95b3VyX3NlcnZlcl9yb290L2JlYS93ZWJsb2dpYzcwMCIgLz4KLTxwcm9wZXJ0eSBpZD0iZG9tYWluTmFtZSIKLQlsYWJlbD0iQWRtaW4gRG9tYWluIE5hbWU6IgotCXR5cGU9InN0cmluZyIKLQlkZWZhdWx0PSJteWRvbWFpbiIgLz4KLTxwcm9wZXJ0eSBpZD0iZG9tYWluRGlyZWN0b3J5IgotCWxhYmVsPSJBZG1pbmlzdHJhdGlvbiBEb21haW4gRGlyZWN0b3J5OiIKLQl0eXBlPSJkaXJlY3RvcnkiCi0JZGVmYXVsdD0iL3lvdXJfc2VydmVyX3Jvb3QvYmVhL3VzZXJfcHJvamVjdHMvbXlkb21haW4iIC8+Ci08cHJvcGVydHkgaWQ9InNlcnZlck5hbWUiCi0JbGFiZWw9IlNlcnZlciBOYW1lOiIKLQl0eXBlPSJzdHJpbmciCi0JZGVmYXVsdD0ibXlzZXJ2ZXIiIC8+Ci08cHJvcGVydHkgaWQ9InVzZXJOYW1lIgotCWxhYmVsPSJVc2VyIE5hbWU6IgotCXR5cGU9InN0cmluZyIKLQlkZWZhdWx0PSJzeXN0ZW0iIC8+Ci08cHJvcGVydHkgaWQ9InBhc3N3b3JkIgotCWxhYmVsPSJQYXNzd29yZDoiCi0JdHlwZT0ic3RyaW5nIgotCWRlZmF1bHQ9IndlYmxvZ2ljIiAvPgotPHByb3BlcnR5IGlkPSJwcm9kdWN0aW9uTW9kZSIKLQlsYWJlbD0iUHJvZHVjdGlvbiBNb2RlOiIKLQl0eXBlPSJib29sZWFuIgotCWRlZmF1bHQ9ImZhbHNlIiAvPgotPHByb3BlcnR5IGlkPSJzZXJ2ZXJBZGRyZXNzIgotCWxhYmVsPSJBZGRyZXNzOiIKLQl0eXBlPSJzdHJpbmciCi0JZGVmYXVsdD0iMTI3LjAuMC4xIiAvPgotPHByb3BlcnR5IGlkPSJzZXJ2ZXJQb3J0IgotCWxhYmVsPSJQb3J0OiIKLQl0eXBlPSJzdHJpbmciCi0JZGVmYXVsdD0iNzAwMSIgLz4KLTxwcm9wZXJ0eSBpZD0iY2xhc3NQYXRoVmFyaWFibGVOYW1lIgotCWxhYmVsPSJDbGFzc3BhdGggVmFyaWFibGUgTmFtZToiCi0JdHlwZT0ic3RyaW5nIgotCWRlZmF1bHQ9IldFQkxPR0lDNzAwIiAvPgotPHByb3BlcnR5IGlkPSJjbGFzc1BhdGgiCi0JbGFiZWw9IkNsYXNzcGF0aCBWYXJpYWJsZToiCi0JdHlwZT0iZGlyZWN0b3J5IgotCWRlZmF1bHQ9Ii95b3VyX3NlcnZlcl9yb290L2JlYS93ZWJsb2dpYzcwMC9zZXJ2ZXIvbGliIiAvPgotPHNlcnZlckhvbWU+JHtzZXJ2ZXJSb290RGlyZWN0b3J5fTwvc2VydmVySG9tZT4KLTx3ZWJNb2R1bGVzRGVwbG95RGlyZWN0b3J5PiR7ZG9tYWluRGlyZWN0b3J5fS9hcHBsaWNhdGlvbnM8L3dlYk1vZHVsZXNEZXBsb3lEaXJlY3Rvcnk+Ci08ZWpiTW9kdWxlc0RlcGxveURpcmVjdG9yeT4ke2RvbWFpbkRpcmVjdG9yeX0vYXBwbGljYXRpb25zPC9lamJNb2R1bGVzRGVwbG95RGlyZWN0b3J5PgotPGVhck1vZHVsZXNEZXBsb3lEaXJlY3Rvcnk+JHtkb21haW5EaXJlY3Rvcnl9L2FwcGxpY2F0aW9uczwvZWFyTW9kdWxlc0RlcGxveURpcmVjdG9yeT4KLTxqbmRpSW5pdGlhbENvbnRleHRGYWN0b3J5PndlYmxvZ2ljLmpuZGkuV0xJbml0aWFsQ29udGV4dEZhY3Rvcnk8L2puZGlJbml0aWFsQ29udGV4dEZhY3Rvcnk+Ci08am5kaVByb3ZpZGVyVXJsPnQzOi8vJHtzZXJ2ZXJBZGRyZXNzfToke3NlcnZlclBvcnR9PC9qbmRpUHJvdmlkZXJVcmw+Ci08c3RhcnRDbGFzcz53ZWJsb2dpYy5TZXJ2ZXI8L3N0YXJ0Q2xhc3M+Ci08c3RhcnRXb3JraW5nRGlyZWN0b3J5PiR7ZG9tYWluRGlyZWN0b3J5fTwvc3RhcnRXb3JraW5nRGlyZWN0b3J5PgotPHN0YXJ0Vm1QYXJhbWV0ZXJzPi1YbXMzMm0gLVhteDIwMG0gLUR3ZWJsb2dpYy5zZWN1cml0eS5TU0wudHJ1c3RlZENBS2V5U3RvcmU9IiR7c2VydmVyUm9vdERpcmVjdG9yeX0vc2VydmVyL2xpYi9jYWNlcnRzIiAtRHdlYmxvZ2ljLk5hbWU9JHtzZXJ2ZXJOYW1lfSAtRGJlYS5ob21lPSIke2JlYUhvbWV9IiAgLUR3ZWJsb2dpYy5tYW5hZ2VtZW50LnVzZXJuYW1lPSR7dXNlck5hbWV9IC1Ed2VibG9naWMubWFuYWdlbWVudC5wYXNzd29yZD0ke3Bhc3N3b3JkfSAtRHdlYmxvZ2ljLlByb2R1Y3Rpb25Nb2RlRW5hYmxlZD0ke3Byb2R1Y3Rpb25Nb2RlfSAtRGphdmEuc2VjdXJpdHkucG9saWN5PT0iJHtzZXJ2ZXJSb290RGlyZWN0b3J5fS9zZXJ2ZXIvbGliL3dlYmxvZ2ljLnBvbGljeSI8L3N0YXJ0Vm1QYXJhbWV0ZXJzPgotPHN0YXJ0UHJvZ3JhbUFyZ3VtZW50cz48L3N0YXJ0UHJvZ3JhbUFyZ3VtZW50cz4KLTxzdG9wQ2xhc3M+d2VibG9naWMuQWRtaW48L3N0b3BDbGFzcz4KLTxzdG9wV29ya2luZ0RpcmVjdG9yeT4ke2RvbWFpbkRpcmVjdG9yeX08L3N0b3BXb3JraW5nRGlyZWN0b3J5PgotPHN0b3BWbVBhcmFtZXRlcnM+PC9zdG9wVm1QYXJhbWV0ZXJzPgotPHN0b3BQcm9ncmFtQXJndW1lbnRzPi11cmwgdDM6Ly8ke3NlcnZlckFkZHJlc3N9OiR7c2VydmVyUG9ydH0gLXVzZXJuYW1lICR7dXNlck5hbWV9IC1wYXNzd29yZCAke3Bhc3N3b3JkfSBTSFVURE9XTjwvc3RvcFByb2dyYW1Bcmd1bWVudHM+Ci08c2VydmVyQ2xhc3NQYXRoPgotCTxqYXIgdHlwZT0idmFyaWFibGUiPkpES19UT09MUzwvamFyPgotCTxqYXIgdHlwZT0idmFyaWFibGUiPiR7Y2xhc3NQYXRoVmFyaWFibGVOYW1lfS93ZWJsb2dpYy5qYXI8L2phcj4KLTwvc2VydmVyQ2xhc3NQYXRoPgotPGNsaWVudENsYXNzUGF0aD4KLQk8amFyIHR5cGU9InZhcmlhYmxlIj4ke2NsYXNzUGF0aFZhcmlhYmxlTmFtZX0vd2VibG9naWMuamFyPC9qYXI+Ci08L2NsaWVudENsYXNzUGF0aD4KLTwvc2VydmVyRGVmaW5pdGlvbj4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5jb3JlL3NlcnZlcnMvd2VibG9naWM4MS5zZXJ2ZXIgYi9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5jb3JlL3NlcnZlcnMvd2VibG9naWM4MS5zZXJ2ZXIKaW5kZXggMGIwZDgwYy4uMjBjYzEyMCAxMDA2NDQKLS0tIGEvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMuY29yZS9zZXJ2ZXJzL3dlYmxvZ2ljODEuc2VydmVyCisrKyBiL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLmNvcmUvc2VydmVycy93ZWJsb2dpYzgxLnNlcnZlcgpAQCAtNDQsMTAgKzQ0LDEwIEBACiAJbGFiZWw9IlBvcnQ6Ig0KIAl0eXBlPSJzdHJpbmciDQogCWRlZmF1bHQ9IjcwMDEiIC8+DQotPHByb3BlcnR5IGlkPSJjbGFzc1BhdGhWYXJpYWJsZU5hbWUiDQorPCEtLTxwcm9wZXJ0eSBpZD0iY2xhc3NQYXRoVmFyaWFibGVOYW1lIg0KIAlsYWJlbD0iQ2xhc3NwYXRoIFZhcmlhYmxlIE5hbWU6Ig0KIAl0eXBlPSJzdHJpbmciDQotCWRlZmF1bHQ9IldFQkxPR0lDODEiIC8+DQorCWRlZmF1bHQ9IldFQkxPR0lDODEiIC8+LS0+DQogPHByb3BlcnR5IGlkPSJjbGFzc1BhdGgiDQogCWxhYmVsPSJDbGFzc3BhdGggVmFyaWFibGU6Ig0KIAl0eXBlPSJkaXJlY3RvcnkiDQpAQCAtODIsNCArODIsMjggQEAKIAk8amFyIHR5cGU9InZhcmlhYmxlIj4ke2NsYXNzUGF0aH0vb2pkYmMxNC5qYXI8L2phcj4NCiAJPGphciB0eXBlPSJ2YXJpYWJsZSI+JHtjbGFzc1BhdGh9L3dlYnNlcnZpY2VzLmphcjwvamFyPg0KIDwvcHJvamVjdENsYXNzUGF0aD4NCis8YWRtaW5Ub29sPg0KKwk8d2ViPg0KKwkJPGRlcGxveT4NCisJCTwhW0NEQVRBWw0KKwkJCQ0KKwkJCQk8cHJvamVjdCBuYW1lPSJkZXBsb3lleHRlbnNpb24iICBkZWZhdWx0PSJkZXBsb3kiICBiYXNlZGlyPSIuIj4NCisJCQkJICAgIDx0YXJnZXQgbmFtZT0iZGVwbG95Ij4NCisJCQkJCQk8amFyIGRlc3RmaWxlPSIke2RlcGxveW1lbnRVbml0TmFtZX0ud2FyIj4gDQorCQkJCQkJCTx6aXBmaWxlc2V0IGRpcj0iJHttb2R1bGVEaXJ9Ij4NCisJICAgICAgICAJCQkJCTxpbmNsdWRlIG5hbWU9IioqLyouKiIvPg0KKwkgICAgICAgCQkJCQkJPGV4Y2x1ZGUgbmFtZT0iKiovanNwX3NlcnZsZXQvKi5jbGFzcyIvPg0KKwkJCQkJCSAgICAgICAgPGV4Y2x1ZGUgbmFtZT0iKiovKi53YXIiLz4NCisJCQkJCQkJPC96aXBmaWxlc2V0Pg0KKwkJCQkJCTwvamFyPg0KKyAgCQkJCSAgCQk8bW92ZSBmaWxlPSIke2RlcGxveW1lbnRVbml0TmFtZX0ud2FyIiB0b2Rpcj0iJHtkZXBsb3lEaXJ9Ii8+DQorICAJCQkJCSAgPC90YXJnZXQ+DQorCQkJCTwvcHJvamVjdD4NCisJCQkJDQorCQldXT4NCisJCTwvZGVwbG95Pg0KKwkJPHVuZGVwbG95Pg0KKwkJPC91bmRlcGxveT4NCisJPC93ZWI+DQorPC9hZG1pblRvb2w+DQogPC9zZXJ2ZXJEZWZpbml0aW9uPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLmNvcmUvc2VydmVycy93ZWJzcGhlcmU1MC5zZXJ2ZXIgYi9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5jb3JlL3NlcnZlcnMvd2Vic3BoZXJlNTAuc2VydmVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NzM4YWI2Li4wMDAwMDAwCi0tLSBhL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLmNvcmUvc2VydmVycy93ZWJzcGhlcmU1MC5zZXJ2ZXIKKysrIC9kZXYvbnVsbApAQCAtMSw3OCArMCwwIEBACi0KLTxzZXJ2ZXJEZWZpbml0aW9uIAotCSBuYW1lPSJJQk0gV2ViU3BoZXJlIHY1LjAiCi0JIGVqYk1vZHVsZXM9InRydWUiCi0JIHdlYk1vZHVsZXM9InRydWUiCi0JIGVhck1vZHVsZXM9InRydWUiPgotPHByb3BlcnR5IGlkPSJ3YXNIb21lIgotCWxhYmVsPSJXZWJTcGhlcmUgRGlyZWN0b3J5OiIKLQl0eXBlPSJkaXJlY3RvcnkiCi0JZGVmYXVsdD0iL3lvdXJfc2VydmVyX3Jvb3QvV2ViU3BoZXJlIiAvPgotPHByb3BlcnR5IGlkPSJjZWxsTmFtZSIKLQlsYWJlbD0iQ2VsbCBOYW1lOiIKLQl0eXBlPSJzdHJpbmciCi0JZGVmYXVsdD0ibGVsb3N1Ym1hcmluZSIgLz4KLTxwcm9wZXJ0eSBpZD0ibm9kZU5hbWUiCi0JbGFiZWw9Ik5vZGUgTmFtZToiCi0JdHlwZT0ic3RyaW5nIgotCWRlZmF1bHQ9ImxlbG9zdWJtYXJpbmUiIC8+Ci08cHJvcGVydHkgaWQ9InNlcnZlck5hbWUiCi0JbGFiZWw9IlNlcnZlciBOYW1lOiIKLQl0eXBlPSJzdHJpbmciCi0JZGVmYXVsdD0ic2VydmVyMSIgLz4KLTxwcm9wZXJ0eSBpZD0idXNlck5hbWUiCi0JbGFiZWw9IlVzZXIgTmFtZToiCi0JdHlwZT0ic3RyaW5nIgotCWRlZmF1bHQ9ImFkbWluIiAvPgotPHByb3BlcnR5IGlkPSJwYXNzd29yZCIKLQlsYWJlbD0iUGFzc3dvcmQ6IgotCXR5cGU9InN0cmluZyIKLQlkZWZhdWx0PSJwYXNzd29yZCIgLz4KLTxwcm9wZXJ0eSBpZD0ic2VydmVyQWRkcmVzcyIKLQlsYWJlbD0iQWRkcmVzczoiCi0JdHlwZT0ic3RyaW5nIgotCWRlZmF1bHQ9IjEyNy4wLjAuMSIgLz4KLTxwcm9wZXJ0eSBpZD0ic2VydmVyUG9ydCIKLQlsYWJlbD0iUG9ydDoiCi0JdHlwZT0ic3RyaW5nIgotCWRlZmF1bHQ9IjgwODAiIC8+Ci08cHJvcGVydHkgaWQ9ImpuZGlQb3J0IgotCWxhYmVsPSJKTkRJIFBvcnQ6IgotCXR5cGU9InN0cmluZyIKLQlkZWZhdWx0PSIyODA5IiAvPgotPHByb3BlcnR5IGlkPSJjbGFzc1BhdGhWYXJpYWJsZU5hbWUiCi0JbGFiZWw9IkNsYXNzcGF0aCBWYXJpYWJsZSBOYW1lOiIKLQl0eXBlPSJzdHJpbmciCi0JZGVmYXVsdD0iV0FTNTAiIC8+Ci08cHJvcGVydHkgaWQ9ImNsYXNzUGF0aCIKLQlsYWJlbD0iQ2xhc3NwYXRoIFZhcmlhYmxlOiIKLQl0eXBlPSJkaXJlY3RvcnkiCi0JZGVmYXVsdD0iL3lvdXJfc2VydmVyX3Jvb3QvV2ViU3BoZXJlIiAvPgotPHNlcnZlckhvbWU+JHt3YXNIb21lfS9BcHBTZXJ2ZXI8L3NlcnZlckhvbWU+Ci08d2ViTW9kdWxlc0RlcGxveURpcmVjdG9yeT4ke3dhc0hvbWV9L0FwcFNlcnZlci8ke2NlbGxOYW1lfS9EZWZhdWx0QXBwbGljYXRpb24uZWFyPC93ZWJNb2R1bGVzRGVwbG95RGlyZWN0b3J5PgotPGVqYk1vZHVsZXNEZXBsb3lEaXJlY3Rvcnk+JHt3YXNIb21lfS9BcHBTZXJ2ZXIvJHtjZWxsTmFtZX0vRGVmYXVsdEFwcGxpY2F0aW9uLmVhcjwvZWpiTW9kdWxlc0RlcGxveURpcmVjdG9yeT4KLTxlYXJNb2R1bGVzRGVwbG95RGlyZWN0b3J5PiR7d2FzSG9tZX0vQXBwU2VydmVyLyR7Y2VsbE5hbWV9PC9lYXJNb2R1bGVzRGVwbG95RGlyZWN0b3J5PgotPGpuZGlJbml0aWFsQ29udGV4dEZhY3Rvcnk+Y29tLmlibS53ZWJzcGhlcmUubmFtaW5nLldzbkluaXRpYWxDb250ZXh0RmFjdG9yeTwvam5kaUluaXRpYWxDb250ZXh0RmFjdG9yeT4KLTxqbmRpUHJvdmlkZXJVcmw+Y29yYmFsb2M6aWlvcDp7c2VydmVyQWRkcmVzc306JHtqbmRpUG9ydH08L2puZGlQcm92aWRlclVybD4KLTxzdGFydENsYXNzPmNvbS5pYm0ud3MuYm9vdHN0cmFwLldTTGF1bmNoZXI8L3N0YXJ0Q2xhc3M+Ci08c3RhcnRXb3JraW5nRGlyZWN0b3J5PiR7d2FzSG9tZX0vQXBwU2VydmVyPC9zdGFydFdvcmtpbmdEaXJlY3Rvcnk+Ci08c3RhcnRWbVBhcmFtZXRlcnM+LUR3cy5vdXRwdXQuZW5jb2Rpbmc9Y29uc29sZSAtRGNvbS5pYm0uQ09SQkEuQ29uZmlnVVJMPWZpbGU6LyR7d2FzSG9tZX0vQXBwU2VydmVyL3Byb3BlcnRpZXMvc2FzLmNsaWVudC5wcm9wcyAtRHdzLmV4dC5kaXJzPSR7anJlUGF0aH0vbGliOyR7d2FzSG9tZX0vQXBwU2VydmVyL2NsYXNzZXM7JHt3YXNIb21lfS9BcHBTZXJ2ZXIvbGliOyR7d2FzSG9tZX0vQXBwU2VydmVyL2xpYi9leHQ7JHt3YXNIb21lfS9BcHBTZXJ2ZXIvd2ViL2hlbHA7JHt3YXNIb21lfS9BcHBTZXJ2ZXIvZGVwbG95dG9vbC9pdHAvcGx1Z2lucy9jb20uaWJtLmV0b29scy5lamJkZXBsb3kvcnVudGltZSAtRHdhcy5pbnN0YWxsLnJvb3Q9JHt3YXNIb21lfS9BcHBTZXJ2ZXIgIC1Ec2VydmVyLnJvb3Q9JHt3YXNIb21lfS9BcHBTZXJ2ZXIgIC1EZGIyai5zeXN0ZW0uaG9tZT0ke3dhc0hvbWV9L0FwcFNlcnZlci9wcm9wZXJ0aWVzICAtRHVzZXIuaW5zdGFsbC5yb290PSR7d2FzSG9tZX0vQXBwU2VydmVyICAtRGNvbS5pYm0uaXRwLmxvY2F0aW9uPSR7d2FzSG9tZX0vQXBwU2VydmVyL2JpbiAgLURqYXZhLmxpYnJhcnkucGF0aD0ke2pyZVBhdGh9L2Jpbjske3dhc0hvbWV9L0FwcFNlcnZlci9iaW4gLURqYXZhLnNlY3VyaXR5LmF1dGgubG9naW4uY29uZmlnPSR7d2FzSG9tZX0vQXBwU2VydmVyL3Byb3BlcnRpZXMvd3NqYWFzLmNvbmYgIC1EamF2YS5zZWN1cml0eS5wb2xpY3k9JHt3YXNIb21lfS9BcHBTZXJ2ZXIvcHJvcGVydGllcy9zZXJ2ZXIucG9saWN5PC9zdGFydFZtUGFyYW1ldGVycz4KLTxzdGFydFByb2dyYW1Bcmd1bWVudHM+Y29tLmlibS53cy5ydW50aW1lLldzU2VydmVyICAke3dhc0hvbWV9L0FwcFNlcnZlci9jb25maWcgJHtjZWxsTmFtZX0gJHtub2RlTmFtZX0gJHtzZXJ2ZXJOYW1lfTwvc3RhcnRQcm9ncmFtQXJndW1lbnRzPgotPHN0b3BDbGFzcz5jb20uaWJtLndzLmJvb3RzdHJhcC5XU0xhdW5jaGVyPC9zdG9wQ2xhc3M+Ci08c3RvcFdvcmtpbmdEaXJlY3Rvcnk+JHt3YXNIb21lfS9BcHBTZXJ2ZXIvYmluPC9zdG9wV29ya2luZ0RpcmVjdG9yeT4KLTxzdG9wVm1QYXJhbWV0ZXJzPi1Ed3Mub3V0cHV0LmVuY29kaW5nPWNvbnNvbGUgLURjb20uaWJtLkNPUkJBLkNvbmZpZ1VSTD1maWxlOi8ke3dhc0hvbWV9L0FwcFNlcnZlci9wcm9wZXJ0aWVzL3Nhcy5jbGllbnQucHJvcHMgLUR3cy5leHQuZGlycz0ke2pyZVBhdGh9L2xpYjske3dhc0hvbWV9L0FwcFNlcnZlci9jbGFzc2VzOyR7d2FzSG9tZX0vQXBwU2VydmVyL2xpYjske3dhc0hvbWV9L0FwcFNlcnZlci9saWIvZXh0OyR7d2FzSG9tZX0vQXBwU2VydmVyL3dlYi9oZWxwOyR7d2FzSG9tZX0vQXBwU2VydmVyL2RlcGxveXRvb2wvaXRwL3BsdWdpbnMvY29tLmlibS5ldG9vbHMuZWpiZGVwbG95L3J1bnRpbWUgLUR3YXMuaW5zdGFsbC5yb290PSR7d2FzSG9tZX0vQXBwU2VydmVyPC9zdG9wVm1QYXJhbWV0ZXJzPgotPHN0b3BQcm9ncmFtQXJndW1lbnRzPmNvbS5pYm0ud3MubWFuYWdlbWVudC50b29scy5Xc1NlcnZlclN0b3AgJHt3YXNIb21lfS9BcHBTZXJ2ZXIvY29uZmlnICR7Y2VsbE5hbWV9ICR7bm9kZU5hbWV9ICR7c2VydmVyTmFtZX08L3N0b3BQcm9ncmFtQXJndW1lbnRzPgotPHNlcnZlckNsYXNzUGF0aD4KLQk8amFyIHR5cGU9InZhcmlhYmxlIj5KREtfVE9PTFM8L2phcj4KLQk8amFyIHR5cGU9InZhcmlhYmxlIj4ke2NsYXNzUGF0aFZhcmlhYmxlTmFtZX0vQXBwU2VydmVyL2JpbjwvamFyPgotCTxqYXIgdHlwZT0idmFyaWFibGUiPiR7Y2xhc3NQYXRoVmFyaWFibGVOYW1lfS9BcHBTZXJ2ZXIvcHJvcGVydGllczwvamFyPgotCTxqYXIgdHlwZT0idmFyaWFibGUiPiR7Y2xhc3NQYXRoVmFyaWFibGVOYW1lfS9BcHBTZXJ2ZXIvbGliL2Jvb3RzdHJhcC5qYXI8L2phcj4KLQk8amFyIHR5cGU9InZhcmlhYmxlIj4ke2NsYXNzUGF0aFZhcmlhYmxlTmFtZX0vQXBwU2VydmVyL2xpYi9qMmVlLmphcjwvamFyPgotCTxqYXIgdHlwZT0idmFyaWFibGUiPiR7Y2xhc3NQYXRoVmFyaWFibGVOYW1lfS9BcHBTZXJ2ZXIvbGliL2xtcHJveHkuamFyPC9qYXI+Ci08L3NlcnZlckNsYXNzUGF0aD4KLTxjbGllbnRDbGFzc1BhdGg+Ci0JPGphciB0eXBlPSJ2YXJpYWJsZSI+JHtjbGFzc1BhdGhWYXJpYWJsZU5hbWV9L0FwcFNlcnZlci9saWIvajJlZS5qYXI8L2phcj4KLQk8amFyIHR5cGU9InZhcmlhYmxlIj4ke2NsYXNzUGF0aFZhcmlhYmxlTmFtZX0vQXBwU2VydmVyL2xpYi9uYW1pbmcuamFyPC9qYXI+Ci0JPGphciB0eXBlPSJ2YXJpYWJsZSI+JHtjbGFzc1BhdGhWYXJpYWJsZU5hbWV9L0FwcFNlcnZlci9saWIvbmFtaW5nY2xpZW50LmphcjwvamFyPgotPC9jbGllbnRDbGFzc1BhdGg+Ci08L3NlcnZlckRlZmluaXRpb24+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMuY29yZS9zcmMvb3JnL2VjbGlwc2UvanN0L3NlcnZlci9nZW5lcmljL2NvcmUvQ29yZVBsdWdpbi5qYXZhIGIvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMuY29yZS9zcmMvb3JnL2VjbGlwc2UvanN0L3NlcnZlci9nZW5lcmljL2NvcmUvQ29yZVBsdWdpbi5qYXZhCmluZGV4IGViNjg4ZDEuLmFlZGEwMjEgMTAwNjQ0Ci0tLSBhL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLmNvcmUvc3JjL29yZy9lY2xpcHNlL2pzdC9zZXJ2ZXIvZ2VuZXJpYy9jb3JlL0NvcmVQbHVnaW4uamF2YQorKysgYi9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5jb3JlL3NyYy9vcmcvZWNsaXBzZS9qc3Qvc2VydmVyL2dlbmVyaWMvY29yZS9Db3JlUGx1Z2luLmphdmEKQEAgLTEyLDcgKzEyLDcgQEAKICAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTU0VEIE9SIElNUExJRUQKICAqIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCiAgKiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBUEFDSEUgU09GVFdBUkUgRk9VTkRBVElPTiBPUgorICogRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEVURVJBVElPTiBBLlMuIE9SCiAgKiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCiAgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCiAgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GCmRpZmYgLS1naXQgYS9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5jb3JlL3NyYy9vcmcvZWNsaXBzZS9qc3Qvc2VydmVyL2dlbmVyaWMvaW50ZXJuYWwvY29yZS9BbnRQdWJsaXNoZXIuamF2YSBiL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLmNvcmUvc3JjL29yZy9lY2xpcHNlL2pzdC9zZXJ2ZXIvZ2VuZXJpYy9pbnRlcm5hbC9jb3JlL0FudFB1Ymxpc2hlci5qYXZhCmluZGV4IGExN2FjMGMuLjM0NWY0NTkgMTAwNjQ0Ci0tLSBhL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLmNvcmUvc3JjL29yZy9lY2xpcHNlL2pzdC9zZXJ2ZXIvZ2VuZXJpYy9pbnRlcm5hbC9jb3JlL0FudFB1Ymxpc2hlci5qYXZhCisrKyBiL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLmNvcmUvc3JjL29yZy9lY2xpcHNlL2pzdC9zZXJ2ZXIvZ2VuZXJpYy9pbnRlcm5hbC9jb3JlL0FudFB1Ymxpc2hlci5qYXZhCkBAIC0xMSw3ICsxMSw3IEBACiAgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1NFRCBPUiBJTVBMSUVECiAgKiBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUwogICogT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVBBQ0hFIFNPRlRXQVJFIEZPVU5EQVRJT04gT1IKKyAqIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBFVEVSQVRJT04gQS5TLiBPUgogICogSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAogICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAogICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRgpAQCAtMjksMjMgKzI5LDMxIEBACiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogcGFja2FnZSBvcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMuaW50ZXJuYWwuY29yZTsKIAoraW1wb3J0IGphdmEuaW8uRmlsZTsKK2ltcG9ydCBqYXZhLmlvLkZpbGVPdXRwdXRTdHJlYW07CitpbXBvcnQgamF2YS5pby5JT0V4Y2VwdGlvbjsKK2ltcG9ydCBqYXZhLnV0aWwuSGFzaE1hcDsKIGltcG9ydCBqYXZhLnV0aWwuTGlzdDsKLQoraW1wb3J0IGphdmEudXRpbC5NYXA7CiBpbXBvcnQgb3JnLmVjbGlwc2UuYW50LmNvcmUuQW50UnVubmVyOwotaW1wb3J0IG9yZy5lY2xpcHNlLmFudC5jb3JlLlRhcmdldEluZm87Ci1pbXBvcnQgb3JnLmVjbGlwc2UuYW50LmludGVybmFsLnVpLmxhdW5jaENvbmZpZ3VyYXRpb25zLkFudExhdW5jaFNob3J0Y3V0OwotaW1wb3J0IG9yZy5lY2xpcHNlLmNvcmUucmVzb3VyY2VzLklGaWxlOwogaW1wb3J0IG9yZy5lY2xpcHNlLmNvcmUucnVudGltZS5Db3JlRXhjZXB0aW9uOwogaW1wb3J0IG9yZy5lY2xpcHNlLmNvcmUucnVudGltZS5JUGF0aDsKIGltcG9ydCBvcmcuZWNsaXBzZS5jb3JlLnJ1bnRpbWUuSVByb2dyZXNzTW9uaXRvcjsKIGltcG9ydCBvcmcuZWNsaXBzZS5jb3JlLnJ1bnRpbWUuSVN0YXR1czsKK2ltcG9ydCBvcmcuZWNsaXBzZS5jb3JlLnJ1bnRpbWUuU3RhdHVzOworaW1wb3J0IG9yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5jb3JlLkNvcmVQbHVnaW47CiBpbXBvcnQgb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLmludGVybmFsLnhtbC5TZXJ2ZXJUeXBlRGVmaW5pdGlvbjsKK2ltcG9ydCBvcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMubW9kdWxlcy5XZWJNb2R1bGU7CiBpbXBvcnQgb3JnLmVjbGlwc2Uud3N0LnNlcnZlci5jb3JlLm1vZGVsLklNb2R1bGU7CiBpbXBvcnQgb3JnLmVjbGlwc2Uud3N0LnNlcnZlci5jb3JlLm1vZGVsLklQdWJsaXNoZXI7CiBpbXBvcnQgb3JnLmVjbGlwc2Uud3N0LnNlcnZlci5jb3JlLnJlc291cmNlcy5JTW9kdWxlRm9sZGVyOwogaW1wb3J0IG9yZy5lY2xpcHNlLndzdC5zZXJ2ZXIuY29yZS5yZXNvdXJjZXMuSU1vZHVsZVJlc291cmNlOwogaW1wb3J0IG9yZy5lY2xpcHNlLndzdC5zZXJ2ZXIuY29yZS5yZXNvdXJjZXMuSVJlbW90ZVJlc291cmNlOwotCisvKioKKyAqIEFudCBiYXNlZCBwdWJsaXNoZXIuCisgKgorICogQGF1dGhvciBHb3JrZW0gRXJjYW4KKyAqLwogCiBwdWJsaWMgY2xhc3MgQW50UHVibGlzaGVyIGltcGxlbWVudHMgSVB1Ymxpc2hlciB7CiAKQEAgLTY1LDcgKzczLDcgQEAKIAl9CiAKIAkvKiAobm9uLUphdmFkb2MpCi0JICogQHNlZSBvcmcuZWNsaXBzZS53c3Quc2VydmVyLmNvcmUubW9kZWwuSVB1Ymxpc2hlciNnZXRNYXBwZWRMb2NhdGlvbihvcmcuZWNsaXBzZS53c3Quc2VydmVyLmNvcmUucmVzb3VyY2VzLklNb2R1bGVSZXNvdXJjZSkKKwkgKiBAc2VlIG9yZy5lY2xpcHNlLnd0cC5zZXJ2ZXIuY29yZS5tb2RlbC5JUHVibGlzaGVyI2dldE1hcHBlZExvY2F0aW9uKG9yZy5lY2xpcHNlLnd0cC5zZXJ2ZXIuY29yZS5yZXNvdXJjZXMuSU1vZHVsZVJlc291cmNlKQogCSAqLwogCXB1YmxpYyBJUGF0aCBnZXRNYXBwZWRMb2NhdGlvbihJTW9kdWxlUmVzb3VyY2UgcmVzb3VyY2UpIHsKIAkJLy8gVE9ETyBBdXRvLWdlbmVyYXRlZCBtZXRob2Qgc3R1YgpAQCAtNzMsNyArODEsNyBAQAogCX0KIAogCS8qIChub24tSmF2YWRvYykKLQkgKiBAc2VlIG9yZy5lY2xpcHNlLndzdC5zZXJ2ZXIuY29yZS5tb2RlbC5JUHVibGlzaGVyI3Nob3VsZE1hcE1lbWJlcnMob3JnLmVjbGlwc2Uud3N0LnNlcnZlci5jb3JlLnJlc291cmNlcy5JTW9kdWxlRm9sZGVyKQorCSAqIEBzZWUgb3JnLmVjbGlwc2Uud3RwLnNlcnZlci5jb3JlLm1vZGVsLklQdWJsaXNoZXIjc2hvdWxkTWFwTWVtYmVycyhvcmcuZWNsaXBzZS53dHAuc2VydmVyLmNvcmUucmVzb3VyY2VzLklNb2R1bGVGb2xkZXIpCiAJICovCiAJcHVibGljIGJvb2xlYW4gc2hvdWxkTWFwTWVtYmVycyhJTW9kdWxlRm9sZGVyIGZvbGRlcikgewogCQkvLyBUT0RPIEF1dG8tZ2VuZXJhdGVkIG1ldGhvZCBzdHViCkBAIC04MSw3ICs4OSw3IEBACiAJfQogCiAJLyogKG5vbi1KYXZhZG9jKQotCSAqIEBzZWUgb3JnLmVjbGlwc2Uud3N0LnNlcnZlci5jb3JlLm1vZGVsLklQdWJsaXNoZXIjZ2V0UmVtb3RlUmVzb3VyY2VzKG9yZy5lY2xpcHNlLmNvcmUucnVudGltZS5JUHJvZ3Jlc3NNb25pdG9yKQorCSAqIEBzZWUgb3JnLmVjbGlwc2Uud3RwLnNlcnZlci5jb3JlLm1vZGVsLklQdWJsaXNoZXIjZ2V0UmVtb3RlUmVzb3VyY2VzKG9yZy5lY2xpcHNlLmNvcmUucnVudGltZS5JUHJvZ3Jlc3NNb25pdG9yKQogCSAqLwogCXB1YmxpYyBJUmVtb3RlUmVzb3VyY2VbXSBnZXRSZW1vdGVSZXNvdXJjZXMoSVByb2dyZXNzTW9uaXRvciBtb25pdG9yKQogCQkJdGhyb3dzIENvcmVFeGNlcHRpb24gewpAQCAtOTAsNzQgKzk4LDg2IEBACiAJfQogCiAJLyogKG5vbi1KYXZhZG9jKQotCSAqIEBzZWUgb3JnLmVjbGlwc2Uud3N0LnNlcnZlci5jb3JlLm1vZGVsLklQdWJsaXNoZXIjZGVsZXRlKG9yZy5lY2xpcHNlLndzdC5zZXJ2ZXIuY29yZS5yZXNvdXJjZXMuSVJlbW90ZVJlc291cmNlW10sIG9yZy5lY2xpcHNlLmNvcmUucnVudGltZS5JUHJvZ3Jlc3NNb25pdG9yKQorCSAqIEBzZWUgb3JnLmVjbGlwc2Uud3RwLnNlcnZlci5jb3JlLm1vZGVsLklQdWJsaXNoZXIjZGVsZXRlKG9yZy5lY2xpcHNlLnd0cC5zZXJ2ZXIuY29yZS5yZXNvdXJjZXMuSVJlbW90ZVJlc291cmNlW10sIG9yZy5lY2xpcHNlLmNvcmUucnVudGltZS5JUHJvZ3Jlc3NNb25pdG9yKQogCSAqLwogCXB1YmxpYyBJU3RhdHVzW10gZGVsZXRlKElSZW1vdGVSZXNvdXJjZVtdIHJlc291cmNlLCBJUHJvZ3Jlc3NNb25pdG9yIG1vbml0b3IpCiAJCQl0aHJvd3MgQ29yZUV4Y2VwdGlvbiB7Ci0JCS8vIFRPRE8gQXV0by1nZW5lcmF0ZWQgbWV0aG9kIHN0dWIKLQkJcmV0dXJuIG51bGw7CisJCQorCQlyZXR1cm4gbmV3IElTdGF0dXNbXXtuZXcgU3RhdHVzKElTdGF0dXMuT0ssQ29yZVBsdWdpbi5QTFVHSU5fSUQsMCwiRGVsZXRlUmVzb3VyY2UiLG51bGwpfTsKIAl9CiAKIAkvKiAobm9uLUphdmFkb2MpCi0JICogQHNlZSBvcmcuZWNsaXBzZS53c3Quc2VydmVyLmNvcmUubW9kZWwuSVB1Ymxpc2hlciNwdWJsaXNoKG9yZy5lY2xpcHNlLndzdC5zZXJ2ZXIuY29yZS5yZXNvdXJjZXMuSU1vZHVsZVJlc291cmNlW10sIG9yZy5lY2xpcHNlLmNvcmUucnVudGltZS5JUHJvZ3Jlc3NNb25pdG9yKQorCSAqIEBzZWUgb3JnLmVjbGlwc2Uud3RwLnNlcnZlci5jb3JlLm1vZGVsLklQdWJsaXNoZXIjcHVibGlzaChvcmcuZWNsaXBzZS53dHAuc2VydmVyLmNvcmUucmVzb3VyY2VzLklNb2R1bGVSZXNvdXJjZVtdLCBvcmcuZWNsaXBzZS5jb3JlLnJ1bnRpbWUuSVByb2dyZXNzTW9uaXRvcikKIAkgKi8KIAlwdWJsaWMgSVN0YXR1c1tdIHB1Ymxpc2goSU1vZHVsZVJlc291cmNlW10gcmVzb3VyY2UsCiAJCQlJUHJvZ3Jlc3NNb25pdG9yIG1vbml0b3IpIHRocm93cyBDb3JlRXhjZXB0aW9uIHsKKwkJU3RyaW5nIGRlcGxveUFudCA9IHNlcnZlclR5cGVEZWZpbml0aW9uLmdldEFkbWluVG9vbCgpLmdldFdlYigpLmdldERlcGxveSgpOworCQlpZihkZXBsb3lBbnQgPT0gbnVsbCB8fCBkZXBsb3lBbnQubGVuZ3RoKCk8MSkKKwkJCXJldHVybiBuZXcgSVN0YXR1c1tde25ldyBTdGF0dXMoSVN0YXR1cy5FUlJPUixDb3JlUGx1Z2luLlBMVUdJTl9JRCwwLCJBbnRCdWlsZEZpbGVEb2VzTm90RXhpc3QiLG51bGwpfTsKKwkJCisJCQorCQlJUGF0aCBmaWxlID0gQ29yZVBsdWdpbi5nZXREZWZhdWx0KCkuZ2V0U3RhdGVMb2NhdGlvbigpLmFwcGVuZCgidGVtcEFudC54bWwiKTsKKwkJdHJ5IHsKKwkJCWNyZWF0ZU5ld0ZpbGUoZmlsZS50b0ZpbGUoKSxkZXBsb3lBbnQuZ2V0Qnl0ZXMoKSk7CisJCX0gY2F0Y2ggKElPRXhjZXB0aW9uIGUpIHsKKwkJCS8vIFRPRE8gQXV0by1nZW5lcmF0ZWQgY2F0Y2ggYmxvY2sKKwkJCWUucHJpbnRTdGFja1RyYWNlKCk7CisJCX0KKwkJCQkKKwkJcnVuQW50KGZpbGUudG9TdHJpbmcoKSxuZXcgU3RyaW5nW117ImRlcGxveSJ9LGdldFB1Ymxpc2hQcm9wZXJ0aWVzKHJlc291cmNlKSxtb25pdG9yKTsKKwkJCisJCWZpbGUudG9GaWxlKCkuZGVsZXRlKCk7CisJCQogCQkvLyBUT0RPIEF1dG8tZ2VuZXJhdGVkIG1ldGhvZCBzdHViCiAJCXJldHVybiBudWxsOwogCX0KKwlwcml2YXRlIE1hcCBnZXRQdWJsaXNoUHJvcGVydGllcyhJTW9kdWxlUmVzb3VyY2VbXSByZXNvdXJjZSkKKwl7CisJCU1hcCBwcm9wcyA9IG5ldyBIYXNoTWFwKCk7CisJCXByb3BzLnB1dCgiZGVwbG95bWVudFVuaXROYW1lIix0aGlzLm1vZHVsZS5nZXROYW1lKCkpOworCQlwcm9wcy5wdXQoIm1vZHVsZURpciIsKChXZWJNb2R1bGUpdGhpcy5tb2R1bGUpLmdldExvY2F0aW9uKCkudG9TdHJpbmcoKSk7CisJCXByb3BzLnB1dCgiZGVwbG95RGlyIixzZXJ2ZXJUeXBlRGVmaW5pdGlvbi5nZXRXZWJNb2R1bGVzRGVwbG95RGlyZWN0b3J5KCkpOworCQlyZXR1cm4gcHJvcHM7CisJCQorCQkKKwl9CisJcHJpdmF0ZSB2b2lkIHJ1bkFudChTdHJpbmcgYnVpbGRGaWxlLFN0cmluZ1tdIHRhcmdldHMsTWFwIHByb3BlcnRpZXMgLElQcm9ncmVzc01vbml0b3IgbW9uaXRvcil0aHJvd3MgQ29yZUV4Y2VwdGlvbgorCXsKKwkJQW50UnVubmVyIHJ1bm5lciA9IG5ldyBBbnRSdW5uZXIoKTsKKwkJcnVubmVyLnNldEJ1aWxkRmlsZUxvY2F0aW9uKGJ1aWxkRmlsZSk7CisJCXJ1bm5lci5zZXRFeGVjdXRpb25UYXJnZXRzKHRhcmdldHMpOworCQlydW5uZXIuYWRkVXNlclByb3BlcnRpZXMocHJvcGVydGllcyk7CisJCXJ1bm5lci5ydW4obW9uaXRvcik7CisJfQorCQorCQorCQogCisgICAgcHVibGljIGJvb2xlYW4gY3JlYXRlTmV3RmlsZShGaWxlIGYsYnl0ZVtdIGNvbnRlbnQpIHRocm93cyBJT0V4Y2VwdGlvbiB7CisgICAgICAgIGlmIChmICE9IG51bGwpIHsKKyAgICAgICAgICAgIGlmIChmLmV4aXN0cygpKSB7CisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgfQorICAgICAgICAgICAgRmlsZU91dHB1dFN0cmVhbSBmb3MgPSBudWxsOworICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICBmb3MgPSBuZXcgRmlsZU91dHB1dFN0cmVhbShmKTsKKyAgICAgICAgICAgICAgICBmb3Mud3JpdGUoY29udGVudCk7CisgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgICAgIGlmIChmb3MgIT0gbnVsbCkgeworICAgICAgICAgICAgICAgICAgICBmb3MuY2xvc2UoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQogCS8qIChub24tSmF2YWRvYykKLQkgKiBAc2VlIG9yZy5lY2xpcHNlLndzdC5zZXJ2ZXIuY29yZS5tb2RlbC5JUHVibGlzaGVyI2RlbGV0ZUFsbChvcmcuZWNsaXBzZS5jb3JlLnJ1bnRpbWUuSVByb2dyZXNzTW9uaXRvcikKKwkgKiBAc2VlIG9yZy5lY2xpcHNlLnd0cC5zZXJ2ZXIuY29yZS5tb2RlbC5JUHVibGlzaGVyI2RlbGV0ZUFsbChvcmcuZWNsaXBzZS5jb3JlLnJ1bnRpbWUuSVByb2dyZXNzTW9uaXRvcikKIAkgKi8KIAlwdWJsaWMgSVN0YXR1cyBkZWxldGVBbGwoSVByb2dyZXNzTW9uaXRvciBtb25pdG9yKSB0aHJvd3MgQ29yZUV4Y2VwdGlvbiB7CiAJCS8vIFRPRE8gQXV0by1nZW5lcmF0ZWQgbWV0aG9kIHN0dWIKIAkJcmV0dXJuIG51bGw7CiAJfQogCQotCQotICAgIGNsYXNzIEFudFV0aWwKLSAgICB7Ci0gICAgCXB1YmxpYyB2b2lkIHJ1blRhc2soSUZpbGUgYnVpbGRGaWxlLCBTdHJpbmdbXSB0YXNrcywgU3RyaW5nIGFyZ3VtZW50cywgU3RyaW5nIGJ1aWxkRGlyKSB7Ci0gICAgIAkJaWYgKGJ1aWxkRmlsZSA9PSBudWxsKQotICAgIAkJCXJldHVybjsKLSAKLSAgICAJCXRyeSB7Ci0gICAgCQkJU3RyaW5nIHRhc2tOYW1lID0gZmluZEV4ZWN1dGFibGVUYXNrcyh0YXNrcywgYnVpbGRGaWxlKTsKLSAgICAJCQlpZiAodGFza05hbWUgIT0gbnVsbCkgewotCi0gICAgCQkJCUFudExhdW5jaFNob3J0Y3V0IGFudExhdW5jaFNob3J0Y3V0ID0gbmV3IEFudExhdW5jaFNob3J0Y3V0KCk7Ci0gICAgCQkJCWFudExhdW5jaFNob3J0Y3V0LnNldFNob3dEaWFsb2coZmFsc2UpOwotICAgIAkJCQlhbnRMYXVuY2hTaG9ydGN1dC5sYXVuY2goYnVpbGRGaWxlLCAicnVuIiwgdGFza05hbWUpOwotICAgIAkJCX0KLSAgICAJCX0gY2F0Y2ggKEV4Y2VwdGlvbiBlKSB7Ci0gICAgCQkJVHJhY2UudHJhY2UoIkZhaWxlZCB0byBsYXVuY2ggYW50IHB1Ymxpc2hlciB0YXNrIixlKTsKLSAgICAJCX0KLQotICAgIAl9Ci0gICAgCXByaXZhdGUgU3RyaW5nIGZpbmRFeGVjdXRhYmxlVGFza3MoU3RyaW5nW10gdGFza3MsIElGaWxlIGJ1aWxkRmlsZSkKLSAgICAJCQl0aHJvd3MgQ29yZUV4Y2VwdGlvbiB7Ci0gICAgCQlBbnRSdW5uZXIgYW50UnVubmVyID0gbmV3IEFudFJ1bm5lcigpOwotCi0gICAgCQlhbnRSdW5uZXIuc2V0QnVpbGRGaWxlTG9jYXRpb24oYnVpbGRGaWxlLmdldExvY2F0aW9uKCkudG9PU1N0cmluZygpKTsKLSAgICAJCVRhcmdldEluZm8gdGFyZ2V0SW5mb1tdID0gYW50UnVubmVyLmdldEF2YWlsYWJsZVRhcmdldHMoKTsKLQotICAgIAkJU3RyaW5nIHRhc2tOYW1lID0gbnVsbDsKLSAgICAJCWZvciAoaW50IGkgPSAwOyBpIDwgdGFza3MubGVuZ3RoOyBpKyspIHsKLSAgICAJCQlmb3IgKGludCBqID0gMDsgaiA8IHRhcmdldEluZm8ubGVuZ3RoOyBqKyspIHsKLSAgICAJCQkJVGFyZ2V0SW5mbyBpbmZvID0gdGFyZ2V0SW5mb1tqXTsKLSAgICAJCQkJaWYgKGluZm8uZ2V0TmFtZSgpLmVxdWFscyh0YXNrc1tpXSkpIHsKLSAgICAJCQkJCWlmICh0YXNrTmFtZSAhPSBudWxsKQotICAgIAkJCQkJCXRhc2tOYW1lICs9ICIsIjsKLSAgICAJCQkJCWVsc2UKLSAgICAJCQkJCQl0YXNrTmFtZSA9ICIiOwotICAgIAkJCQkJdGFza05hbWUgKz0gdGFza3NbaV07Ci0gICAgCQkJCQlicmVhazsKLSAgICAJCQkJfQotICAgIAkJCX0KLSAgICAJCX0KLSAgICAJCXJldHVybiB0YXNrTmFtZTsKLSAgICAJfSAgICAJCi0gICAgfQogCiB9CmRpZmYgLS1naXQgYS9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5jb3JlL3NyYy9vcmcvZWNsaXBzZS9qc3Qvc2VydmVyL2dlbmVyaWMvaW50ZXJuYWwvY29yZS9HZW5lcmljU2VydmVyLmphdmEgYi9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5jb3JlL3NyYy9vcmcvZWNsaXBzZS9qc3Qvc2VydmVyL2dlbmVyaWMvaW50ZXJuYWwvY29yZS9HZW5lcmljU2VydmVyLmphdmEKaW5kZXggN2QwYmEzMi4uZjgwZTk3ZCAxMDA2NDQKLS0tIGEvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMuY29yZS9zcmMvb3JnL2VjbGlwc2UvanN0L3NlcnZlci9nZW5lcmljL2ludGVybmFsL2NvcmUvR2VuZXJpY1NlcnZlci5qYXZhCisrKyBiL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLmNvcmUvc3JjL29yZy9lY2xpcHNlL2pzdC9zZXJ2ZXIvZ2VuZXJpYy9pbnRlcm5hbC9jb3JlL0dlbmVyaWNTZXJ2ZXIuamF2YQpAQCAtMTIsNyArMTIsNyBAQAogICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTRUQgT1IgSU1QTElFRAogICogV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMKICAqIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFQQUNIRSBTT0ZUV0FSRSBGT1VOREFUSU9OIE9SCisgKiBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgRVRFUkFUSU9OIEEuUy4gT1IKICAqIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKICAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKICAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YKQEAgLTMwLDEzICszMCwxMiBAQAogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIHBhY2thZ2Ugb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLmludGVybmFsLmNvcmU7CiAKK2ltcG9ydCBqYXZhLm5ldC5VUkw7CiBpbXBvcnQgamF2YS51dGlsLkFycmF5TGlzdDsKIGltcG9ydCBqYXZhLnV0aWwuSXRlcmF0b3I7CiBpbXBvcnQgamF2YS51dGlsLkxpc3Q7CiBpbXBvcnQgamF2YS51dGlsLk1hcDsKIGltcG9ydCBvcmcuZWNsaXBzZS5jb3JlLnJlc291cmNlcy5JUHJvamVjdDsKLWltcG9ydCBvcmcuZWNsaXBzZS5jb3JlLnJlc291cmNlcy5JV29ya3NwYWNlUm9vdDsKLWltcG9ydCBvcmcuZWNsaXBzZS5jb3JlLnJlc291cmNlcy5SZXNvdXJjZXNQbHVnaW47CiBpbXBvcnQgb3JnLmVjbGlwc2UuY29yZS5ydW50aW1lLkNvcmVFeGNlcHRpb247CiBpbXBvcnQgb3JnLmVjbGlwc2UuY29yZS5ydW50aW1lLklQYXRoOwogaW1wb3J0IG9yZy5lY2xpcHNlLmNvcmUucnVudGltZS5JUHJvZ3Jlc3NNb25pdG9yOwpAQCAtNjEsMTAgKzYwLDEzIEBACiBpbXBvcnQgb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLmNvcmUuQ29yZVBsdWdpbjsKIGltcG9ydCBvcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMuaW50ZXJuYWwueG1sLkNsYXNzcGF0aEl0ZW07CiBpbXBvcnQgb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLmludGVybmFsLnhtbC5TZXJ2ZXJUeXBlRGVmaW5pdGlvbjsKK2ltcG9ydCBvcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMubW9kdWxlcy5KMmVlU3BlY01vZHVsZUZhY3RvcnlEZWxlZ2F0ZTsKIGltcG9ydCBvcmcuZWNsaXBzZS5qc3Quc2VydmVyLmoyZWUuSVdlYk1vZHVsZTsKIGltcG9ydCBvcmcuZWNsaXBzZS53c3Quc2VydmVyLmNvcmUuSVNlcnZlcjsKK2ltcG9ydCBvcmcuZWNsaXBzZS53c3Quc2VydmVyLmNvcmUuSVNlcnZlckNvbmZpZ3VyYXRpb247CiBpbXBvcnQgb3JnLmVjbGlwc2Uud3N0LnNlcnZlci5jb3JlLklTZXJ2ZXJTdGF0ZTsKIGltcG9ydCBvcmcuZWNsaXBzZS53c3Quc2VydmVyLmNvcmUuSVRhc2s7CitpbXBvcnQgb3JnLmVjbGlwc2Uud3N0LnNlcnZlci5jb3JlLlNlcnZlckNvcmU7CiBpbXBvcnQgb3JnLmVjbGlwc2Uud3N0LnNlcnZlci5jb3JlLm1vZGVsLklNb2R1bGU7CiBpbXBvcnQgb3JnLmVjbGlwc2Uud3N0LnNlcnZlci5jb3JlLm1vZGVsLklNb2R1bGVFdmVudDsKIGltcG9ydCBvcmcuZWNsaXBzZS53c3Quc2VydmVyLmNvcmUubW9kZWwuSU1vZHVsZUZhY3RvcnlFdmVudDsKQEAgLTczLDYgKzc1LDcgQEAKIGltcG9ydCBvcmcuZWNsaXBzZS53c3Quc2VydmVyLmNvcmUubW9kZWwuSVNlcnZlckRlbGVnYXRlOwogaW1wb3J0IG9yZy5lY2xpcHNlLndzdC5zZXJ2ZXIuY29yZS5tb2RlbC5JU2VydmVyUG9ydDsKIGltcG9ydCBvcmcuZWNsaXBzZS53c3Quc2VydmVyLmNvcmUubW9kZWwuSVN0YXJ0YWJsZVNlcnZlcjsKK2ltcG9ydCBvcmcuZWNsaXBzZS53c3Quc2VydmVyLmNvcmUubW9kZWwuSVVSTFByb3ZpZGVyOwogaW1wb3J0IG9yZy5lY2xpcHNlLndzdC5zZXJ2ZXIuY29yZS5yZXNvdXJjZXMuSU1vZHVsZVJlc291cmNlRGVsdGE7CiBpbXBvcnQgb3JnLmVjbGlwc2Uud3N0LnNlcnZlci5jb3JlLnV0aWwuU2VydmVyUG9ydDsKIGltcG9ydCBvcmcuZWNsaXBzZS53c3Quc2VydmVyLmNvcmUudXRpbC5Tb2NrZXRVdGlsOwpAQCAtODIsNyArODUsNyBAQAogICogCiAgKiBAYXV0aG9yIEdvcmtlbSBFcmNhbgogICovCi1wdWJsaWMgY2xhc3MgR2VuZXJpY1NlcnZlciBpbXBsZW1lbnRzIElTZXJ2ZXJEZWxlZ2F0ZSwgSVN0YXJ0YWJsZVNlcnZlciwgSU1vbml0b3JhYmxlU2VydmVyIHsKK3B1YmxpYyBjbGFzcyBHZW5lcmljU2VydmVyIGltcGxlbWVudHMgSVNlcnZlckRlbGVnYXRlLCBJU3RhcnRhYmxlU2VydmVyLCBJTW9uaXRvcmFibGVTZXJ2ZXIsSVVSTFByb3ZpZGVyIHsKIAlwcml2YXRlIElTZXJ2ZXJTdGF0ZSBmTGl2ZVNlcnZlcjsKIAlwcml2YXRlIHN0YXRpYyBmaW5hbCBTdHJpbmcgQVRUUl9TVE9QID0gInN0b3Atc2VydmVyIjsKIAkKQEAgLTE5MywzMSArMTk2LDEwIEBACiAJICovCiAJcHVibGljIElNb2R1bGVbXSBnZXRNb2R1bGVzKCkgewogCQkvLyBUT0RPIEF1dG8tZ2VuZXJhdGVkIG1ldGhvZCBzdHViCi0JCQotCQlMaXN0IGwgPSBkb0dldE1vZHVsZXMoKTsKLQkJcmV0dXJuIChJTW9kdWxlW10pIGwudG9BcnJheShuZXcgSU1vZHVsZVtsLnNpemUoKV0pOworCQlMaXN0IGxpc3QgPSAgSjJlZVNwZWNNb2R1bGVGYWN0b3J5RGVsZWdhdGUuZ2V0SW5zdGFuY2UoKS5nZXRNb2R1bGVzKCk7CisJCXJldHVybiAoSU1vZHVsZVtdKWxpc3QudG9BcnJheShuZXcgSU1vZHVsZVtsaXN0LnNpemUoKV0pOwogCX0KIAotCXByaXZhdGUgTGlzdCBkb0dldE1vZHVsZXMoKSB7Ci0JCUlXb3Jrc3BhY2VSb290IHJvb3QgPSBSZXNvdXJjZXNQbHVnaW4uZ2V0V29ya3NwYWNlKCkuZ2V0Um9vdCgpOwotCQlJUHJvamVjdFtdIHByb2plY3RzID0gcm9vdC5nZXRQcm9qZWN0cygpOwotCQlpZiAocHJvamVjdHMgPT0gbnVsbCkKLQkJCXJldHVybiBuZXcgQXJyYXlMaXN0KDApOwotCQkKLQkJTGlzdCBsaXN0ID0gbmV3IEFycmF5TGlzdCgpOwotCQlpbnQgc2l6ZSA9IHByb2plY3RzLmxlbmd0aDsKLQkJZm9yIChpbnQgaSA9IDA7IGkgPCBzaXplOyBpKyspIHsKLQkJCXRyeSB7Ci0JCQkJSVdlYk1vZHVsZSBtb2R1bGUgPSBnZXRXZWJNb2R1bGUocHJvamVjdHNbaV0pOwotCQkJCWlmIChtb2R1bGUgIT0gbnVsbCkKLQkJCQkJbGlzdC5hZGQobW9kdWxlKTsKLQkJCX0gY2F0Y2ggKENvcmVFeGNlcHRpb24gY2UpIHsKLQkJCQlUcmFjZS50cmFjZSgiQ291bGQgbm90IGRldGVybWluZSBuYXR1cmUiLCBjZSk7Ci0JCQl9Ci0JCX0KLQkJCi0JCXJldHVybiBsaXN0OwotCX0KIAkKIAlwcm90ZWN0ZWQgSVdlYk1vZHVsZSBnZXRXZWJNb2R1bGUoSVByb2plY3QgcHJvamVjdCkgdGhyb3dzIENvcmVFeGNlcHRpb24gewogCQpAQCAtNjMwLDUgKzYxMiwzOCBAQAogCXB1YmxpYyBpbnQgZ2V0U3RvcFRpbWVvdXQoKSB7CiAJCXJldHVybiAzMDAwMDA7CiAJfQorCS8qIChub24tSmF2YWRvYykKKwkgKiBAc2VlIG9yZy5lY2xpcHNlLnd0cC5zZXJ2ZXIuY29yZS5tb2RlbC5JVVJMUHJvdmlkZXIjZ2V0TW9kdWxlUm9vdFVSTChvcmcuZWNsaXBzZS53dHAuc2VydmVyLmNvcmUubW9kZWwuSU1vZHVsZSkKKwkgKi8KKwlwdWJsaWMgVVJMIGdldE1vZHVsZVJvb3RVUkwoSU1vZHVsZSBtb2R1bGUpIHsKKworCQl0cnkgeworCQkJaWYgKG1vZHVsZSA9PSBudWxsIHx8ICEobW9kdWxlIGluc3RhbmNlb2YgSVdlYk1vZHVsZSkpCisJCQkJcmV0dXJuIG51bGw7CisKKwkJCUlTZXJ2ZXJDb25maWd1cmF0aW9uIHNlcnZlckNvbmZpZyA9IGZMaXZlU2VydmVyCisJCQkJCS5nZXRTZXJ2ZXJDb25maWd1cmF0aW9uKCk7CisJCQlpZiAoc2VydmVyQ29uZmlnID09IG51bGwpCisJCQkJcmV0dXJuIG51bGw7CisKKwkJCVN0cmluZyB1cmwgPSAiaHR0cDovL2xvY2FsaG9zdCI7CisJCQlpbnQgcG9ydCA9IEludGVnZXIucGFyc2VJbnQoZ2V0U2VydmVyRGVmaW5pdGlvbigpLmdldFBvcnQoKSk7CisJCQlwb3J0ID0gU2VydmVyQ29yZS5nZXRTZXJ2ZXJNb25pdG9yTWFuYWdlcigpLmdldE1vbml0b3JlZFBvcnQoCisJCQkJCWZMaXZlU2VydmVyLCBwb3J0LCAid2ViIik7CisJCQlpZiAocG9ydCAhPSA4MCkKKwkJCQl1cmwgKz0gIjoiICsgcG9ydDsKKworCQkJdXJsICs9ICIvIittb2R1bGUuZ2V0TmFtZSgpOworCisJCQlpZiAoIXVybC5lbmRzV2l0aCgiLyIpKQorCQkJCXVybCArPSAiLyI7CisKKwkJCXJldHVybiBuZXcgVVJMKHVybCk7CisJCX0gY2F0Y2ggKEV4Y2VwdGlvbiBlKSB7CisJCQlUcmFjZS50cmFjZSgiQ291bGQgbm90IGdldCByb290IFVSTCIsIGUpOworCQkJcmV0dXJuIG51bGw7CisJCX0KKworCX0KIAogfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLmNvcmUvc3JjL29yZy9lY2xpcHNlL2pzdC9zZXJ2ZXIvZ2VuZXJpYy9pbnRlcm5hbC9jb3JlL0dlbmVyaWNTZXJ2ZXJDb25maWd1cmF0aW9uRGVsZWdhdGUuamF2YSBiL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLmNvcmUvc3JjL29yZy9lY2xpcHNlL2pzdC9zZXJ2ZXIvZ2VuZXJpYy9pbnRlcm5hbC9jb3JlL0dlbmVyaWNTZXJ2ZXJDb25maWd1cmF0aW9uRGVsZWdhdGUuamF2YQppbmRleCBmZTkxYjM1Li42MDU1YjcwIDEwMDY0NAotLS0gYS9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5jb3JlL3NyYy9vcmcvZWNsaXBzZS9qc3Qvc2VydmVyL2dlbmVyaWMvaW50ZXJuYWwvY29yZS9HZW5lcmljU2VydmVyQ29uZmlndXJhdGlvbkRlbGVnYXRlLmphdmEKKysrIGIvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMuY29yZS9zcmMvb3JnL2VjbGlwc2UvanN0L3NlcnZlci9nZW5lcmljL2ludGVybmFsL2NvcmUvR2VuZXJpY1NlcnZlckNvbmZpZ3VyYXRpb25EZWxlZ2F0ZS5qYXZhCkBAIC0xMiw3ICsxMiw3IEBACiAgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1NFRCBPUiBJTVBMSUVECiAgKiBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUwogICogT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVBBQ0hFIFNPRlRXQVJFIEZPVU5EQVRJT04gT1IKKyAqIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBFVEVSQVRJT04gQS5TLiBPUgogICogSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAogICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAogICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRgpkaWZmIC0tZ2l0IGEvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMuY29yZS9zcmMvb3JnL2VjbGlwc2UvanN0L3NlcnZlci9nZW5lcmljL2ludGVybmFsL2NvcmUvR2VuZXJpY1NlcnZlckNvbmZpZ3VyYXRpb25Xb3JraW5nQ29weS5qYXZhIGIvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMuY29yZS9zcmMvb3JnL2VjbGlwc2UvanN0L3NlcnZlci9nZW5lcmljL2ludGVybmFsL2NvcmUvR2VuZXJpY1NlcnZlckNvbmZpZ3VyYXRpb25Xb3JraW5nQ29weS5qYXZhCmluZGV4IDNjZTEzMTQuLjhkZTU3ODMgMTAwNjQ0Ci0tLSBhL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLmNvcmUvc3JjL29yZy9lY2xpcHNlL2pzdC9zZXJ2ZXIvZ2VuZXJpYy9pbnRlcm5hbC9jb3JlL0dlbmVyaWNTZXJ2ZXJDb25maWd1cmF0aW9uV29ya2luZ0NvcHkuamF2YQorKysgYi9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5jb3JlL3NyYy9vcmcvZWNsaXBzZS9qc3Qvc2VydmVyL2dlbmVyaWMvaW50ZXJuYWwvY29yZS9HZW5lcmljU2VydmVyQ29uZmlndXJhdGlvbldvcmtpbmdDb3B5LmphdmEKQEAgLTEyLDcgKzEyLDcgQEAKICAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTU0VEIE9SIElNUExJRUQKICAqIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCiAgKiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBUEFDSEUgU09GVFdBUkUgRk9VTkRBVElPTiBPUgorICogRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEVURVJBVElPTiBBLlMuIE9SCiAgKiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCiAgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCiAgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GCmRpZmYgLS1naXQgYS9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5jb3JlL3NyYy9vcmcvZWNsaXBzZS9qc3Qvc2VydmVyL2dlbmVyaWMvaW50ZXJuYWwvY29yZS9HZW5lcmljU2VydmVyTGF1bmNoQ29uZmlndXJhdGlvbkRlbGVnYXRlLmphdmEgYi9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5jb3JlL3NyYy9vcmcvZWNsaXBzZS9qc3Qvc2VydmVyL2dlbmVyaWMvaW50ZXJuYWwvY29yZS9HZW5lcmljU2VydmVyTGF1bmNoQ29uZmlndXJhdGlvbkRlbGVnYXRlLmphdmEKaW5kZXggYzFmMmU0OS4uMTIzODE2ZiAxMDA2NDQKLS0tIGEvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMuY29yZS9zcmMvb3JnL2VjbGlwc2UvanN0L3NlcnZlci9nZW5lcmljL2ludGVybmFsL2NvcmUvR2VuZXJpY1NlcnZlckxhdW5jaENvbmZpZ3VyYXRpb25EZWxlZ2F0ZS5qYXZhCisrKyBiL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLmNvcmUvc3JjL29yZy9lY2xpcHNlL2pzdC9zZXJ2ZXIvZ2VuZXJpYy9pbnRlcm5hbC9jb3JlL0dlbmVyaWNTZXJ2ZXJMYXVuY2hDb25maWd1cmF0aW9uRGVsZWdhdGUuamF2YQpAQCAtMTIsNyArMTIsNyBAQAogICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTRUQgT1IgSU1QTElFRAogICogV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMKICAqIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFQQUNIRSBTT0ZUV0FSRSBGT1VOREFUSU9OIE9SCisgKiBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgRVRFUkFUSU9OIEEuUy4gT1IKICAqIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKICAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKICAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YKZGlmZiAtLWdpdCBhL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLmNvcmUvc3JjL29yZy9lY2xpcHNlL2pzdC9zZXJ2ZXIvZ2VuZXJpYy9pbnRlcm5hbC9jb3JlL0dlbmVyaWNTZXJ2ZXJMYXVuY2hhYmxlQWRhcHRlckRlbGVnYXRlLmphdmEgYi9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5jb3JlL3NyYy9vcmcvZWNsaXBzZS9qc3Qvc2VydmVyL2dlbmVyaWMvaW50ZXJuYWwvY29yZS9HZW5lcmljU2VydmVyTGF1bmNoYWJsZUFkYXB0ZXJEZWxlZ2F0ZS5qYXZhCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEzNzRiY2MKLS0tIC9kZXYvbnVsbAorKysgYi9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5jb3JlL3NyYy9vcmcvZWNsaXBzZS9qc3Qvc2VydmVyL2dlbmVyaWMvaW50ZXJuYWwvY29yZS9HZW5lcmljU2VydmVyTGF1bmNoYWJsZUFkYXB0ZXJEZWxlZ2F0ZS5qYXZhCkBAIC0wLDAgKzEsOTIgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb3B5cmlnaHQgKGMpIDIwMDQgRXRlcmF0aW9uIEJpbGlzaW0gQS5TLgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4goCBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCisgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBDb21tb24gUHVibGljIExpY2Vuc2UgdjEuMAorICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvY3BsLXYxMC5odG1sCisgKiAKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgICBHb3JrZW0gRXJjYW4gLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24KKyAqIAorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTRUQgT1IgSU1QTElFRAorICogV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMKKyAqIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgRVRFUkFUSU9OIEEuUy4gT1IKKyAqIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YKKyAqIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorICogT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUCisgKiBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqCisgKiBUaGlzIHNvZnR3YXJlIGNvbnNpc3RzIG9mIHZvbHVudGFyeSBjb250cmlidXRpb25zIG1hZGUgYnkgbWFueQorICogaW5kaXZpZHVhbHMgb24gYmVoYWxmIG9mIHRoZSBFdGVyYXRpb24gQmlsaXNpbSBBLlMuICBGb3IgbW9yZQorICogaW5mb3JtYXRpb24gb24gZXRlcmF0aW9uLCBwbGVhc2Ugc2VlCisgKiA8aHR0cDovL3d3dy5ldGVyYXRpb24uY29tLz4uCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworcGFja2FnZSBvcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMuaW50ZXJuYWwuY29yZTsKKworaW1wb3J0IGphdmEubmV0LlVSTDsKK2ltcG9ydCBvcmcuZWNsaXBzZS53c3Quc2VydmVyLmNvcmUuSVNlcnZlcjsKK2ltcG9ydCBvcmcuZWNsaXBzZS53c3Quc2VydmVyLmNvcmUubW9kZWwuKjsKK2ltcG9ydCBvcmcuZWNsaXBzZS53c3Quc2VydmVyLmNvcmUudXRpbC5IdHRwTGF1bmNoYWJsZTsKK2ltcG9ydCBvcmcuZWNsaXBzZS53c3Quc2VydmVyLmNvcmUudXRpbC5OdWxsTGF1bmNoYWJsZTsKK2ltcG9ydCBvcmcuZWNsaXBzZS53c3Quc2VydmVyLmNvcmUudXRpbC5OdWxsTW9kdWxlT2JqZWN0OworaW1wb3J0IG9yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuajJlZS5JV2ViTW9kdWxlOworaW1wb3J0IG9yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuajJlZS5TZXJ2bGV0OworaW1wb3J0IG9yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuajJlZS5XZWJSZXNvdXJjZTsKKy8qKgorICogV2ViIExhdW5jaGFibGUgYWRhcHRlciBkZWxlZ2F0ZQorICogQGF1dGhvciBHb3JrZW0gRXJjYW4gCisgKi8KK3B1YmxpYyBjbGFzcyBHZW5lcmljU2VydmVyTGF1bmNoYWJsZUFkYXB0ZXJEZWxlZ2F0ZSBpbXBsZW1lbnRzIElMYXVuY2hhYmxlQWRhcHRlckRlbGVnYXRlIHsKKwkvKgorCSAqIEBzZWUgSUxhdW5jaGFibGVBZGFwdGVyRGVsZWdhdGUjZ2V0TGF1bmNoYWJsZShJU2VydmVyLCBJTW9kdWxlT2JqZWN0KQorCSAqLworCXB1YmxpYyBJTGF1bmNoYWJsZSBnZXRMYXVuY2hhYmxlKElTZXJ2ZXIgc2VydmVyLCBJTW9kdWxlT2JqZWN0IG1vZHVsZU9iamVjdCkgeworCQkKKwkJSVNlcnZlckRlbGVnYXRlIGRlbGVnYXRlID0gc2VydmVyLmdldERlbGVnYXRlKCk7CisJCWlmICghKGRlbGVnYXRlIGluc3RhbmNlb2YgR2VuZXJpY1NlcnZlcikpCisJCQlyZXR1cm4gbnVsbDsKKwkJaWYgKCEobW9kdWxlT2JqZWN0IGluc3RhbmNlb2YgU2VydmxldCkgJiYKKwkJCSEobW9kdWxlT2JqZWN0IGluc3RhbmNlb2YgV2ViUmVzb3VyY2UpICYmCisJCQkhKG1vZHVsZU9iamVjdCBpbnN0YW5jZW9mIE51bGxNb2R1bGVPYmplY3QpKQorCQkJcmV0dXJuIG51bGw7CisJCWlmICghKG1vZHVsZU9iamVjdC5nZXRNb2R1bGUoKSBpbnN0YW5jZW9mIElXZWJNb2R1bGUpKQorCQkJcmV0dXJuIG51bGw7CisKKwkJdHJ5IHsKKwkJCVVSTCB1cmwgPSAoKElVUkxQcm92aWRlcikgZGVsZWdhdGUpLmdldE1vZHVsZVJvb3RVUkwobW9kdWxlT2JqZWN0LmdldE1vZHVsZSgpKTsKKwkJCQorCQkJVHJhY2UudHJhY2UoInJvb3Q6ICIgKyB1cmwpOworCisJCQlpZiAobW9kdWxlT2JqZWN0IGluc3RhbmNlb2YgU2VydmxldCkgeworCQkJCVNlcnZsZXQgc2VydmxldCA9IChTZXJ2bGV0KSBtb2R1bGVPYmplY3Q7CisJCQkJaWYgKHNlcnZsZXQuZ2V0QWxpYXMoKSAhPSBudWxsKSB7CisJCQkJCVN0cmluZyBwYXRoID0gc2VydmxldC5nZXRBbGlhcygpOworCQkJCQlpZiAocGF0aC5zdGFydHNXaXRoKCIvIikpCisJCQkJCQlwYXRoID0gcGF0aC5zdWJzdHJpbmcoMSk7CisJCQkJCXVybCA9IG5ldyBVUkwodXJsLCBwYXRoKTsKKwkJCQl9IGVsc2UKKwkJCQkJdXJsID0gbmV3IFVSTCh1cmwsICJzZXJ2bGV0LyIgKyBzZXJ2bGV0LmdldFNlcnZsZXRDbGFzc05hbWUoKSk7CisJCQl9IGVsc2UgaWYgKG1vZHVsZU9iamVjdCBpbnN0YW5jZW9mIFdlYlJlc291cmNlKSB7CisJCQkJV2ViUmVzb3VyY2UgcmVzb3VyY2UgPSAoV2ViUmVzb3VyY2UpIG1vZHVsZU9iamVjdDsKKwkJCQlTdHJpbmcgcGF0aCA9IHJlc291cmNlLmdldFBhdGgoKS50b1N0cmluZygpOworCQkJCVRyYWNlLnRyYWNlKCJwYXRoOiAiICsgcGF0aCk7CisJCQkJaWYgKHBhdGggIT0gbnVsbCAmJiBwYXRoLnN0YXJ0c1dpdGgoIi8iKSAmJiBwYXRoLmxlbmd0aCgpID4gMCkKKwkJCQkJcGF0aCA9IHBhdGguc3Vic3RyaW5nKDEpOworCQkJCWlmIChwYXRoICE9IG51bGwgJiYgcGF0aC5sZW5ndGgoKSA+IDApCisJCQkJCXVybCA9IG5ldyBVUkwodXJsLCBwYXRoKTsKKwkJCX0gZWxzZSB7IC8vIG51bGwKKwkJCQlyZXR1cm4gbmV3IE51bGxMYXVuY2hhYmxlKCk7CisJCQl9CisJCQlyZXR1cm4gbmV3IEh0dHBMYXVuY2hhYmxlKHVybCk7CisJCX0gY2F0Y2ggKEV4Y2VwdGlvbiBlKSB7CisJCQlUcmFjZS50cmFjZSgiRXJyb3IgZ2V0dGluZyBVUkwgZm9yICIgKyBtb2R1bGVPYmplY3QsIGUpOworCQkJcmV0dXJuIG51bGw7CisJCX0KKwl9Cit9CmRpZmYgLS1naXQgYS9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5jb3JlL3NyYy9vcmcvZWNsaXBzZS9qc3Qvc2VydmVyL2dlbmVyaWMvaW50ZXJuYWwvY29yZS9HZW5lcmljU2VydmVyUnVudGltZS5qYXZhIGIvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMuY29yZS9zcmMvb3JnL2VjbGlwc2UvanN0L3NlcnZlci9nZW5lcmljL2ludGVybmFsL2NvcmUvR2VuZXJpY1NlcnZlclJ1bnRpbWUuamF2YQppbmRleCA0MGZhYTNiLi4yMTkwN2VlIDEwMDY0NAotLS0gYS9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5jb3JlL3NyYy9vcmcvZWNsaXBzZS9qc3Qvc2VydmVyL2dlbmVyaWMvaW50ZXJuYWwvY29yZS9HZW5lcmljU2VydmVyUnVudGltZS5qYXZhCisrKyBiL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLmNvcmUvc3JjL29yZy9lY2xpcHNlL2pzdC9zZXJ2ZXIvZ2VuZXJpYy9pbnRlcm5hbC9jb3JlL0dlbmVyaWNTZXJ2ZXJSdW50aW1lLmphdmEKQEAgLTEyLDcgKzEyLDcgQEAKICAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTU0VEIE9SIElNUExJRUQKICAqIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCiAgKiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBUEFDSEUgU09GVFdBUkUgRk9VTkRBVElPTiBPUgorICogRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEVURVJBVElPTiBBLlMuIE9SCiAgKiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCiAgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCiAgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GCmRpZmYgLS1naXQgYS9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5jb3JlL3NyYy9vcmcvZWNsaXBzZS9qc3Qvc2VydmVyL2dlbmVyaWMvaW50ZXJuYWwvY29yZS9HZW5lcmljU2VydmVyUnVudGltZVRhcmdldEhhbmRsZXIuamF2YSBiL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLmNvcmUvc3JjL29yZy9lY2xpcHNlL2pzdC9zZXJ2ZXIvZ2VuZXJpYy9pbnRlcm5hbC9jb3JlL0dlbmVyaWNTZXJ2ZXJSdW50aW1lVGFyZ2V0SGFuZGxlci5qYXZhCmluZGV4IGJhZmZlNGMuLmI2NTk1MWMgMTAwNjQ0Ci0tLSBhL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLmNvcmUvc3JjL29yZy9lY2xpcHNlL2pzdC9zZXJ2ZXIvZ2VuZXJpYy9pbnRlcm5hbC9jb3JlL0dlbmVyaWNTZXJ2ZXJSdW50aW1lVGFyZ2V0SGFuZGxlci5qYXZhCisrKyBiL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLmNvcmUvc3JjL29yZy9lY2xpcHNlL2pzdC9zZXJ2ZXIvZ2VuZXJpYy9pbnRlcm5hbC9jb3JlL0dlbmVyaWNTZXJ2ZXJSdW50aW1lVGFyZ2V0SGFuZGxlci5qYXZhCkBAIC0xMiw3ICsxMiw3IEBACiAgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1NFRCBPUiBJTVBMSUVECiAgKiBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUwogICogT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVBBQ0hFIFNPRlRXQVJFIEZPVU5EQVRJT04gT1IKKyAqIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBFVEVSQVRJT04gQS5TLiBPUgogICogSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAogICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAogICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRgpkaWZmIC0tZ2l0IGEvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMuY29yZS9zcmMvb3JnL2VjbGlwc2UvanN0L3NlcnZlci9nZW5lcmljL2ludGVybmFsL2NvcmUvR2VuZXJpY1NlcnZlclJ1bnRpbWVXb3JraW5nQ29weS5qYXZhIGIvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMuY29yZS9zcmMvb3JnL2VjbGlwc2UvanN0L3NlcnZlci9nZW5lcmljL2ludGVybmFsL2NvcmUvR2VuZXJpY1NlcnZlclJ1bnRpbWVXb3JraW5nQ29weS5qYXZhCmluZGV4IGY2NzY5NGMuLjBiNTZkZjcgMTAwNjQ0Ci0tLSBhL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLmNvcmUvc3JjL29yZy9lY2xpcHNlL2pzdC9zZXJ2ZXIvZ2VuZXJpYy9pbnRlcm5hbC9jb3JlL0dlbmVyaWNTZXJ2ZXJSdW50aW1lV29ya2luZ0NvcHkuamF2YQorKysgYi9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5jb3JlL3NyYy9vcmcvZWNsaXBzZS9qc3Qvc2VydmVyL2dlbmVyaWMvaW50ZXJuYWwvY29yZS9HZW5lcmljU2VydmVyUnVudGltZVdvcmtpbmdDb3B5LmphdmEKQEAgLTEyLDcgKzEyLDcgQEAKICAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTU0VEIE9SIElNUExJRUQKICAqIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCiAgKiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBUEFDSEUgU09GVFdBUkUgRk9VTkRBVElPTiBPUgorICogRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEVURVJBVElPTiBBLlMuIE9SCiAgKiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCiAgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCiAgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GCmRpZmYgLS1naXQgYS9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5jb3JlL3NyYy9vcmcvZWNsaXBzZS9qc3Qvc2VydmVyL2dlbmVyaWMvaW50ZXJuYWwvY29yZS9HZW5lcmljU2VydmVyU291cmNlUGF0aENvbXB1dGVyRGVsZWdhdGUuamF2YSBiL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLmNvcmUvc3JjL29yZy9lY2xpcHNlL2pzdC9zZXJ2ZXIvZ2VuZXJpYy9pbnRlcm5hbC9jb3JlL0dlbmVyaWNTZXJ2ZXJTb3VyY2VQYXRoQ29tcHV0ZXJEZWxlZ2F0ZS5qYXZhCmluZGV4IGVmOTc4OGYuLmZlYjA1OGUgMTAwNjQ0Ci0tLSBhL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLmNvcmUvc3JjL29yZy9lY2xpcHNlL2pzdC9zZXJ2ZXIvZ2VuZXJpYy9pbnRlcm5hbC9jb3JlL0dlbmVyaWNTZXJ2ZXJTb3VyY2VQYXRoQ29tcHV0ZXJEZWxlZ2F0ZS5qYXZhCisrKyBiL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLmNvcmUvc3JjL29yZy9lY2xpcHNlL2pzdC9zZXJ2ZXIvZ2VuZXJpYy9pbnRlcm5hbC9jb3JlL0dlbmVyaWNTZXJ2ZXJTb3VyY2VQYXRoQ29tcHV0ZXJEZWxlZ2F0ZS5qYXZhCkBAIC0xMiw3ICsxMiw3IEBACiAgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1NFRCBPUiBJTVBMSUVECiAgKiBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUwogICogT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVBBQ0hFIFNPRlRXQVJFIEZPVU5EQVRJT04gT1IKKyAqIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBFVEVSQVRJT04gQS5TLiBPUgogICogSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAogICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAogICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRgpkaWZmIC0tZ2l0IGEvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMuY29yZS9zcmMvb3JnL2VjbGlwc2UvanN0L3NlcnZlci9nZW5lcmljL2ludGVybmFsL2NvcmUvR2VuZXJpY1NlcnZlcldvcmtpbmdDb3B5LmphdmEgYi9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5jb3JlL3NyYy9vcmcvZWNsaXBzZS9qc3Qvc2VydmVyL2dlbmVyaWMvaW50ZXJuYWwvY29yZS9HZW5lcmljU2VydmVyV29ya2luZ0NvcHkuamF2YQppbmRleCBkYzJkMGQ2Li45OWFiZGRhIDEwMDY0NAotLS0gYS9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5jb3JlL3NyYy9vcmcvZWNsaXBzZS9qc3Qvc2VydmVyL2dlbmVyaWMvaW50ZXJuYWwvY29yZS9HZW5lcmljU2VydmVyV29ya2luZ0NvcHkuamF2YQorKysgYi9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5jb3JlL3NyYy9vcmcvZWNsaXBzZS9qc3Qvc2VydmVyL2dlbmVyaWMvaW50ZXJuYWwvY29yZS9HZW5lcmljU2VydmVyV29ya2luZ0NvcHkuamF2YQpAQCAtOSw4ICs5LDggQEAKICAqIAogICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTRUQgT1IgSU1QTElFRCBXQVJSQU5USUVTLAogICogSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORAotICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBUEFDSEUKLSAqIFNPRlRXQVJFIEZPVU5EQVRJT04gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAorICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEVURVJBVElPbiBBLlMuCisgKiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCiAgKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCiAgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwKICAqIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YKZGlmZiAtLWdpdCBhL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLmNvcmUvc3JjL29yZy9lY2xpcHNlL2pzdC9zZXJ2ZXIvZ2VuZXJpYy9pbnRlcm5hbC9jb3JlL1NlcnZlclR5cGVEZWZpbml0aW9uTWFuYWdlci5qYXZhIGIvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMuY29yZS9zcmMvb3JnL2VjbGlwc2UvanN0L3NlcnZlci9nZW5lcmljL2ludGVybmFsL2NvcmUvU2VydmVyVHlwZURlZmluaXRpb25NYW5hZ2VyLmphdmEKaW5kZXggOTdjNjIzZC4uNmZhZmUzYyAxMDA2NDQKLS0tIGEvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMuY29yZS9zcmMvb3JnL2VjbGlwc2UvanN0L3NlcnZlci9nZW5lcmljL2ludGVybmFsL2NvcmUvU2VydmVyVHlwZURlZmluaXRpb25NYW5hZ2VyLmphdmEKKysrIGIvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMuY29yZS9zcmMvb3JnL2VjbGlwc2UvanN0L3NlcnZlci9nZW5lcmljL2ludGVybmFsL2NvcmUvU2VydmVyVHlwZURlZmluaXRpb25NYW5hZ2VyLmphdmEKQEAgLTEyLDcgKzEyLDcgQEAKICAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTU0VEIE9SIElNUExJRUQKICAqIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCiAgKiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBUEFDSEUgU09GVFdBUkUgRk9VTkRBVElPTiBPUgorICogRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEVURVJBVElPTiBBLlMuIE9SCiAgKiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCiAgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCiAgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GCmRpZmYgLS1naXQgYS9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5jb3JlL3NyYy9vcmcvZWNsaXBzZS9qc3Qvc2VydmVyL2dlbmVyaWMvaW50ZXJuYWwveG1sL0NsYXNzcGF0aEl0ZW0uamF2YSBiL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLmNvcmUvc3JjL29yZy9lY2xpcHNlL2pzdC9zZXJ2ZXIvZ2VuZXJpYy9pbnRlcm5hbC94bWwvQ2xhc3NwYXRoSXRlbS5qYXZhCmluZGV4IDYxMzNmYzEuLmE1NmEzODEgMTAwNjQ0Ci0tLSBhL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLmNvcmUvc3JjL29yZy9lY2xpcHNlL2pzdC9zZXJ2ZXIvZ2VuZXJpYy9pbnRlcm5hbC94bWwvQ2xhc3NwYXRoSXRlbS5qYXZhCisrKyBiL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLmNvcmUvc3JjL29yZy9lY2xpcHNlL2pzdC9zZXJ2ZXIvZ2VuZXJpYy9pbnRlcm5hbC94bWwvQ2xhc3NwYXRoSXRlbS5qYXZhCkBAIC0xMiw3ICsxMiw3IEBACiAgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1NFRCBPUiBJTVBMSUVECiAgKiBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUwogICogT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVBBQ0hFIFNPRlRXQVJFIEZPVU5EQVRJT04gT1IKKyAqIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBFVEVSQVRJT04gQS5TLiBPUgogICogSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAogICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAogICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRgpkaWZmIC0tZ2l0IGEvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMuY29yZS9zcmMvb3JnL2VjbGlwc2UvanN0L3NlcnZlci9nZW5lcmljL2ludGVybmFsL3htbC9JWE1MVGFnUHJvY2Vzc29yLmphdmEgYi9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5jb3JlL3NyYy9vcmcvZWNsaXBzZS9qc3Qvc2VydmVyL2dlbmVyaWMvaW50ZXJuYWwveG1sL0lYTUxUYWdQcm9jZXNzb3IuamF2YQppbmRleCBmNWQ5MDFjLi5jYTI2NTVkIDEwMDY0NAotLS0gYS9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5jb3JlL3NyYy9vcmcvZWNsaXBzZS9qc3Qvc2VydmVyL2dlbmVyaWMvaW50ZXJuYWwveG1sL0lYTUxUYWdQcm9jZXNzb3IuamF2YQorKysgYi9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5jb3JlL3NyYy9vcmcvZWNsaXBzZS9qc3Qvc2VydmVyL2dlbmVyaWMvaW50ZXJuYWwveG1sL0lYTUxUYWdQcm9jZXNzb3IuamF2YQpAQCAtMTMsNyArMTMsNyBAQAogICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTRUQgT1IgSU1QTElFRAogICogV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMKICAqIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFQQUNIRSBTT0ZUV0FSRSBGT1VOREFUSU9OIE9SCisgKiBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgRVRFUkFUSU9OIEEuUy4gT1IKICAqIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKICAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKICAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YKZGlmZiAtLWdpdCBhL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLmNvcmUvc3JjL29yZy9lY2xpcHNlL2pzdC9zZXJ2ZXIvZ2VuZXJpYy9pbnRlcm5hbC94bWwvU2VydmVyQWRtaW5Ub29sLmphdmEgYi9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5jb3JlL3NyYy9vcmcvZWNsaXBzZS9qc3Qvc2VydmVyL2dlbmVyaWMvaW50ZXJuYWwveG1sL1NlcnZlckFkbWluVG9vbC5qYXZhCmluZGV4IGNhMTJlZDEuLmVmMGJlMTUgMTAwNjQ0Ci0tLSBhL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLmNvcmUvc3JjL29yZy9lY2xpcHNlL2pzdC9zZXJ2ZXIvZ2VuZXJpYy9pbnRlcm5hbC94bWwvU2VydmVyQWRtaW5Ub29sLmphdmEKKysrIGIvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMuY29yZS9zcmMvb3JnL2VjbGlwc2UvanN0L3NlcnZlci9nZW5lcmljL2ludGVybmFsL3htbC9TZXJ2ZXJBZG1pblRvb2wuamF2YQpAQCAtMTIsNyArMTIsNyBAQAogICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTRUQgT1IgSU1QTElFRAogICogV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMKICAqIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFQQUNIRSBTT0ZUV0FSRSBGT1VOREFUSU9OIE9SCisgKiBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgRVRFUkFUSU9OIEEuUy4gT1IKICAqIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKICAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKICAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YKZGlmZiAtLWdpdCBhL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLmNvcmUvc3JjL29yZy9lY2xpcHNlL2pzdC9zZXJ2ZXIvZ2VuZXJpYy9pbnRlcm5hbC94bWwvU2VydmVyVHlwZURlZmluaXRpb24uamF2YSBiL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLmNvcmUvc3JjL29yZy9lY2xpcHNlL2pzdC9zZXJ2ZXIvZ2VuZXJpYy9pbnRlcm5hbC94bWwvU2VydmVyVHlwZURlZmluaXRpb24uamF2YQppbmRleCBjYmI3ZDkxLi43ZDg3ZDA3IDEwMDY0NAotLS0gYS9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5jb3JlL3NyYy9vcmcvZWNsaXBzZS9qc3Qvc2VydmVyL2dlbmVyaWMvaW50ZXJuYWwveG1sL1NlcnZlclR5cGVEZWZpbml0aW9uLmphdmEKKysrIGIvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMuY29yZS9zcmMvb3JnL2VjbGlwc2UvanN0L3NlcnZlci9nZW5lcmljL2ludGVybmFsL3htbC9TZXJ2ZXJUeXBlRGVmaW5pdGlvbi5qYXZhCkBAIC0xMiw3ICsxMiw3IEBACiAgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1NFRCBPUiBJTVBMSUVECiAgKiBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUwogICogT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVBBQ0hFIFNPRlRXQVJFIEZPVU5EQVRJT04gT1IKKyAqIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBFVEVSQVRJT04gQS5TLiBPUgogICogSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAogICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAogICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRgpAQCAtMjY1LDcgKzI2NSw3IEBACiAJICogQHJldHVybiBTdHJpbmcKIAkgKi8KIAlwdWJsaWMgU3RyaW5nIGdldFdlYk1vZHVsZXNEZXBsb3lEaXJlY3RvcnkoKSB7Ci0JCXJldHVybiB3ZWJNb2R1bGVzRGVwbG95RGlyZWN0b3J5OworCQlyZXR1cm4gdGhpcy5yZXNvbHZlUHJvcGVydGllcyh3ZWJNb2R1bGVzRGVwbG95RGlyZWN0b3J5KTsKIAl9CiAKIAkvKioKZGlmZiAtLWdpdCBhL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLmNvcmUvc3JjL29yZy9lY2xpcHNlL2pzdC9zZXJ2ZXIvZ2VuZXJpYy9pbnRlcm5hbC94bWwvU2VydmVyVHlwZURlZmluaXRpb25Qcm9wZXJ0eS5qYXZhIGIvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMuY29yZS9zcmMvb3JnL2VjbGlwc2UvanN0L3NlcnZlci9nZW5lcmljL2ludGVybmFsL3htbC9TZXJ2ZXJUeXBlRGVmaW5pdGlvblByb3BlcnR5LmphdmEKaW5kZXggMDUwZjc3OS4uMmU2MWE0MSAxMDA2NDQKLS0tIGEvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMuY29yZS9zcmMvb3JnL2VjbGlwc2UvanN0L3NlcnZlci9nZW5lcmljL2ludGVybmFsL3htbC9TZXJ2ZXJUeXBlRGVmaW5pdGlvblByb3BlcnR5LmphdmEKKysrIGIvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMuY29yZS9zcmMvb3JnL2VjbGlwc2UvanN0L3NlcnZlci9nZW5lcmljL2ludGVybmFsL3htbC9TZXJ2ZXJUeXBlRGVmaW5pdGlvblByb3BlcnR5LmphdmEKQEAgLTEyLDcgKzEyLDcgQEAKICAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTU0VEIE9SIElNUExJRUQKICAqIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCiAgKiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBUEFDSEUgU09GVFdBUkUgRk9VTkRBVElPTiBPUgorICogRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEVURVJBVElPTiBBLlMuIE9SCiAgKiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCiAgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCiAgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GCmRpZmYgLS1naXQgYS9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5jb3JlL3NyYy9vcmcvZWNsaXBzZS9qc3Qvc2VydmVyL2dlbmVyaWMvaW50ZXJuYWwveG1sL1hNTENvbmZpZ3VyYXRpb24uamF2YSBiL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLmNvcmUvc3JjL29yZy9lY2xpcHNlL2pzdC9zZXJ2ZXIvZ2VuZXJpYy9pbnRlcm5hbC94bWwvWE1MQ29uZmlndXJhdGlvbi5qYXZhCmluZGV4IGM0ODYyNzguLjhkN2MxMjAgMTAwNjQ0Ci0tLSBhL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLmNvcmUvc3JjL29yZy9lY2xpcHNlL2pzdC9zZXJ2ZXIvZ2VuZXJpYy9pbnRlcm5hbC94bWwvWE1MQ29uZmlndXJhdGlvbi5qYXZhCisrKyBiL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLmNvcmUvc3JjL29yZy9lY2xpcHNlL2pzdC9zZXJ2ZXIvZ2VuZXJpYy9pbnRlcm5hbC94bWwvWE1MQ29uZmlndXJhdGlvbi5qYXZhCkBAIC0xMiw3ICsxMiw3IEBACiAgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1NFRCBPUiBJTVBMSUVECiAgKiBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUwogICogT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVBBQ0hFIFNPRlRXQVJFIEZPVU5EQVRJT04gT1IKKyAqIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBFVEVSQVRJT04gQS5TLiBPUgogICogSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAogICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAogICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRgpkaWZmIC0tZ2l0IGEvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMuY29yZS9zcmMvb3JnL2VjbGlwc2UvanN0L3NlcnZlci9nZW5lcmljL2ludGVybmFsL3htbC9YTUxSZWFkZXIuamF2YSBiL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLmNvcmUvc3JjL29yZy9lY2xpcHNlL2pzdC9zZXJ2ZXIvZ2VuZXJpYy9pbnRlcm5hbC94bWwvWE1MUmVhZGVyLmphdmEKaW5kZXggMzc1OTRiZi4uMmM4OWZlNCAxMDA2NDQKLS0tIGEvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMuY29yZS9zcmMvb3JnL2VjbGlwc2UvanN0L3NlcnZlci9nZW5lcmljL2ludGVybmFsL3htbC9YTUxSZWFkZXIuamF2YQorKysgYi9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5jb3JlL3NyYy9vcmcvZWNsaXBzZS9qc3Qvc2VydmVyL2dlbmVyaWMvaW50ZXJuYWwveG1sL1hNTFJlYWRlci5qYXZhCkBAIC0xMiw3ICsxMiw3IEBACiAgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1NFRCBPUiBJTVBMSUVECiAgKiBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUwogICogT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVBBQ0hFIFNPRlRXQVJFIEZPVU5EQVRJT04gT1IKKyAqIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBFVEVSQVRJT04gQS5TLiBPUgogICogSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAogICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAogICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRgpkaWZmIC0tZ2l0IGEvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMuY29yZS9zcmMvb3JnL2VjbGlwc2UvanN0L3NlcnZlci9nZW5lcmljL2ludGVybmFsL3htbC9YTUxVdGlscy5qYXZhIGIvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMuY29yZS9zcmMvb3JnL2VjbGlwc2UvanN0L3NlcnZlci9nZW5lcmljL2ludGVybmFsL3htbC9YTUxVdGlscy5qYXZhCmluZGV4IGZhMWZjNDguLjE2ZDdmNjEgMTAwNjQ0Ci0tLSBhL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLmNvcmUvc3JjL29yZy9lY2xpcHNlL2pzdC9zZXJ2ZXIvZ2VuZXJpYy9pbnRlcm5hbC94bWwvWE1MVXRpbHMuamF2YQorKysgYi9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5jb3JlL3NyYy9vcmcvZWNsaXBzZS9qc3Qvc2VydmVyL2dlbmVyaWMvaW50ZXJuYWwveG1sL1hNTFV0aWxzLmphdmEKQEAgLTEyLDcgKzEyLDcgQEAKICAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTU0VEIE9SIElNUExJRUQKICAqIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCiAgKiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBUEFDSEUgU09GVFdBUkUgRk9VTkRBVElPTiBPUgorICogRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEVURVJBVElPTiBBLlMuIE9SCiAgKiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCiAgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCiAgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GCmRpZmYgLS1naXQgYS9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5tb2R1bGVzL2J1aWxkLnByb3BlcnRpZXMgYi9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5tb2R1bGVzL2J1aWxkLnByb3BlcnRpZXMKaW5kZXggNDFmODZhZC4uOTgxNTI1MSAxMDA2NDQKLS0tIGEvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMubW9kdWxlcy9idWlsZC5wcm9wZXJ0aWVzCisrKyBiL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLm1vZHVsZXMvYnVpbGQucHJvcGVydGllcwpAQCAtMiwzICsyLDUgQEAKIG91dHB1dC5jb21tb25tb2R1bGVzLmphciA9IGJpbi8KIGJpbi5pbmNsdWRlcyA9IHBsdWdpbi54bWwsXAogICAgICAgICAgICAgICAgY29tbW9ubW9kdWxlcy5qYXIKK3NyYy5pbmNsdWRlcyA9IHBsdWdpbi54bWwsXAorICAgICAgICAgICAgICAgc3JjLwpkaWZmIC0tZ2l0IGEvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMubW9kdWxlcy9wbHVnaW4ueG1sIGIvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMubW9kdWxlcy9wbHVnaW4ueG1sCmluZGV4IGE0MTRkMDguLjQ3ODU4YWEgMTAwNjQ0Ci0tLSBhL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLm1vZHVsZXMvcGx1Z2luLnhtbAorKysgYi9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5tb2R1bGVzL3BsdWdpbi54bWwKQEAgLTQsNyArNCw3IEBACiAgICBpZD0ib3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLm1vZHVsZXMiCiAgICBuYW1lPSJKMkVFIENvbW1vbiBNb2R1bGVzIFBsdWctaW4iCiAgICB2ZXJzaW9uPSIxLjAuMCIKLSAgIHByb3ZpZGVyLW5hbWU9IkV0ZXJhdGlvbiIKKyAgIHByb3ZpZGVyLW5hbWU9IkV0ZXJhdGlvbi5jb20iCiAgICBjbGFzcz0ib3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLm1vZHVsZXMuTW9kdWxlc1BsdWdpbiI+CiAKICAgIDxydW50aW1lPgpkaWZmIC0tZ2l0IGEvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMubW9kdWxlcy9zcmMvb3JnL2VjbGlwc2UvanN0L3NlcnZlci9nZW5lcmljL21vZHVsZXMvRWpiTW9kdWxlLmphdmEgYi9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5tb2R1bGVzL3NyYy9vcmcvZWNsaXBzZS9qc3Qvc2VydmVyL2dlbmVyaWMvbW9kdWxlcy9FamJNb2R1bGUuamF2YQppbmRleCA5Mzc5ZGUwLi5lODI2ZjFiIDEwMDY0NAotLS0gYS9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5tb2R1bGVzL3NyYy9vcmcvZWNsaXBzZS9qc3Qvc2VydmVyL2dlbmVyaWMvbW9kdWxlcy9FamJNb2R1bGUuamF2YQorKysgYi9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5tb2R1bGVzL3NyYy9vcmcvZWNsaXBzZS9qc3Qvc2VydmVyL2dlbmVyaWMvbW9kdWxlcy9FamJNb2R1bGUuamF2YQpAQCAtMTEsNyArMTEsNyBAQAogICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTRUQgT1IgSU1QTElFRAogICogV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMKICAqIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFQQUNIRSBTT0ZUV0FSRSBGT1VOREFUSU9OIE9SCisgKiBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgRVRFUkFUSU9OIEEuUy4gT1IKICAqIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKICAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKICAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YKZGlmZiAtLWdpdCBhL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLm1vZHVsZXMvc3JjL29yZy9lY2xpcHNlL2pzdC9zZXJ2ZXIvZ2VuZXJpYy9tb2R1bGVzL0VudGVycHJpc2VBcHBsaWNhdGlvbi5qYXZhIGIvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMubW9kdWxlcy9zcmMvb3JnL2VjbGlwc2UvanN0L3NlcnZlci9nZW5lcmljL21vZHVsZXMvRW50ZXJwcmlzZUFwcGxpY2F0aW9uLmphdmEKaW5kZXggMmVmM2Y0Yy4uYjEyOTU5OSAxMDA2NDQKLS0tIGEvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMubW9kdWxlcy9zcmMvb3JnL2VjbGlwc2UvanN0L3NlcnZlci9nZW5lcmljL21vZHVsZXMvRW50ZXJwcmlzZUFwcGxpY2F0aW9uLmphdmEKKysrIGIvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMubW9kdWxlcy9zcmMvb3JnL2VjbGlwc2UvanN0L3NlcnZlci9nZW5lcmljL21vZHVsZXMvRW50ZXJwcmlzZUFwcGxpY2F0aW9uLmphdmEKQEAgLTExLDcgKzExLDcgQEAKICAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTU0VEIE9SIElNUExJRUQKICAqIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCiAgKiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBUEFDSEUgU09GVFdBUkUgRk9VTkRBVElPTiBPUgorICogRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEVURVJBVElPTiBBLlMuIE9SCiAgKiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCiAgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCiAgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GCmRpZmYgLS1naXQgYS9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5tb2R1bGVzL3NyYy9vcmcvZWNsaXBzZS9qc3Qvc2VydmVyL2dlbmVyaWMvbW9kdWxlcy9KMkVFTW9kdWxlLmphdmEgYi9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5tb2R1bGVzL3NyYy9vcmcvZWNsaXBzZS9qc3Qvc2VydmVyL2dlbmVyaWMvbW9kdWxlcy9KMkVFTW9kdWxlLmphdmEKaW5kZXggMWQ3MjZlNi4uMmQzNjgwNSAxMDA2NDQKLS0tIGEvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMubW9kdWxlcy9zcmMvb3JnL2VjbGlwc2UvanN0L3NlcnZlci9nZW5lcmljL21vZHVsZXMvSjJFRU1vZHVsZS5qYXZhCisrKyBiL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLm1vZHVsZXMvc3JjL29yZy9lY2xpcHNlL2pzdC9zZXJ2ZXIvZ2VuZXJpYy9tb2R1bGVzL0oyRUVNb2R1bGUuamF2YQpAQCAtMTEsNyArMTEsNyBAQAogICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTRUQgT1IgSU1QTElFRAogICogV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMKICAqIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFQQUNIRSBTT0ZUV0FSRSBGT1VOREFUSU9OIE9SCisgKiBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgRVRFUkFUSU9OIEEuUy4gT1IKICAqIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKICAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKICAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YKZGlmZiAtLWdpdCBhL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLm1vZHVsZXMvc3JjL29yZy9lY2xpcHNlL2pzdC9zZXJ2ZXIvZ2VuZXJpYy9tb2R1bGVzL0oyRUVTcGVjTW9kdWxlT2JqZWN0QWRhcHRlci5qYXZhIGIvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMubW9kdWxlcy9zcmMvb3JnL2VjbGlwc2UvanN0L3NlcnZlci9nZW5lcmljL21vZHVsZXMvSjJFRVNwZWNNb2R1bGVPYmplY3RBZGFwdGVyLmphdmEKaW5kZXggNTczNmQ3ZS4uNzRiZTJiZSAxMDA2NDQKLS0tIGEvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMubW9kdWxlcy9zcmMvb3JnL2VjbGlwc2UvanN0L3NlcnZlci9nZW5lcmljL21vZHVsZXMvSjJFRVNwZWNNb2R1bGVPYmplY3RBZGFwdGVyLmphdmEKKysrIGIvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMubW9kdWxlcy9zcmMvb3JnL2VjbGlwc2UvanN0L3NlcnZlci9nZW5lcmljL21vZHVsZXMvSjJFRVNwZWNNb2R1bGVPYmplY3RBZGFwdGVyLmphdmEKQEAgLTExLDcgKzExLDcgQEAKICAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTU0VEIE9SIElNUExJRUQKICAqIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCiAgKiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBUEFDSEUgU09GVFdBUkUgRk9VTkRBVElPTiBPUgorICogRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEVURVJBVElPTiBBLlMuIE9SCiAgKiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCiAgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCiAgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GCmRpZmYgLS1naXQgYS9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5tb2R1bGVzL3NyYy9vcmcvZWNsaXBzZS9qc3Qvc2VydmVyL2dlbmVyaWMvbW9kdWxlcy9KMmVlU3BlY01vZHVsZUZhY3RvcnlEZWxlZ2F0ZS5qYXZhIGIvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMubW9kdWxlcy9zcmMvb3JnL2VjbGlwc2UvanN0L3NlcnZlci9nZW5lcmljL21vZHVsZXMvSjJlZVNwZWNNb2R1bGVGYWN0b3J5RGVsZWdhdGUuamF2YQppbmRleCBhNDEzMDY3Li5hYjRhMGU5IDEwMDY0NAotLS0gYS9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5tb2R1bGVzL3NyYy9vcmcvZWNsaXBzZS9qc3Qvc2VydmVyL2dlbmVyaWMvbW9kdWxlcy9KMmVlU3BlY01vZHVsZUZhY3RvcnlEZWxlZ2F0ZS5qYXZhCisrKyBiL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLm1vZHVsZXMvc3JjL29yZy9lY2xpcHNlL2pzdC9zZXJ2ZXIvZ2VuZXJpYy9tb2R1bGVzL0oyZWVTcGVjTW9kdWxlRmFjdG9yeURlbGVnYXRlLmphdmEKQEAgLTExLDcgKzExLDcgQEAKICAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTU0VEIE9SIElNUExJRUQKICAqIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCiAgKiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBUEFDSEUgU09GVFdBUkUgRk9VTkRBVElPTiBPUgorICogRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEVURVJBVElPTiBBLlMuIE9SCiAgKiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCiAgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCiAgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GCmRpZmYgLS1naXQgYS9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5tb2R1bGVzL3NyYy9vcmcvZWNsaXBzZS9qc3Qvc2VydmVyL2dlbmVyaWMvbW9kdWxlcy9Nb2R1bGVzUGx1Z2luLmphdmEgYi9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5tb2R1bGVzL3NyYy9vcmcvZWNsaXBzZS9qc3Qvc2VydmVyL2dlbmVyaWMvbW9kdWxlcy9Nb2R1bGVzUGx1Z2luLmphdmEKaW5kZXggYjdhODUyZi4uMDBlMDc0YSAxMDA2NDQKLS0tIGEvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMubW9kdWxlcy9zcmMvb3JnL2VjbGlwc2UvanN0L3NlcnZlci9nZW5lcmljL21vZHVsZXMvTW9kdWxlc1BsdWdpbi5qYXZhCisrKyBiL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLm1vZHVsZXMvc3JjL29yZy9lY2xpcHNlL2pzdC9zZXJ2ZXIvZ2VuZXJpYy9tb2R1bGVzL01vZHVsZXNQbHVnaW4uamF2YQpAQCAtMTEsNyArMTEsNyBAQAogICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTRUQgT1IgSU1QTElFRAogICogV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMKICAqIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFQQUNIRSBTT0ZUV0FSRSBGT1VOREFUSU9OIE9SCisgKiBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgRVRFUkFUSU9OIEEuUy4gT1IKICAqIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKICAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKICAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YKZGlmZiAtLWdpdCBhL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLm1vZHVsZXMvc3JjL29yZy9lY2xpcHNlL2pzdC9zZXJ2ZXIvZ2VuZXJpYy9tb2R1bGVzL1V0aWxzLmphdmEgYi9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy5tb2R1bGVzL3NyYy9vcmcvZWNsaXBzZS9qc3Qvc2VydmVyL2dlbmVyaWMvbW9kdWxlcy9VdGlscy5qYXZhCmluZGV4IGQ0YmVlMjguLmU0MDQ3NDYgMTAwNjQ0Ci0tLSBhL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLm1vZHVsZXMvc3JjL29yZy9lY2xpcHNlL2pzdC9zZXJ2ZXIvZ2VuZXJpYy9tb2R1bGVzL1V0aWxzLmphdmEKKysrIGIvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMubW9kdWxlcy9zcmMvb3JnL2VjbGlwc2UvanN0L3NlcnZlci9nZW5lcmljL21vZHVsZXMvVXRpbHMuamF2YQpAQCAtMTEsNyArMTEsNyBAQAogICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTRUQgT1IgSU1QTElFRAogICogV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMKICAqIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFQQUNIRSBTT0ZUV0FSRSBGT1VOREFUSU9OIE9SCisgKiBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgRVRFUkFUSU9OIEEuUy4gT1IKICAqIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKICAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKICAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YKZGlmZiAtLWdpdCBhL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLm1vZHVsZXMvc3JjL29yZy9lY2xpcHNlL2pzdC9zZXJ2ZXIvZ2VuZXJpYy9tb2R1bGVzL1dlYk1vZHVsZS5qYXZhIGIvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMubW9kdWxlcy9zcmMvb3JnL2VjbGlwc2UvanN0L3NlcnZlci9nZW5lcmljL21vZHVsZXMvV2ViTW9kdWxlLmphdmEKaW5kZXggMDMwNzZkZC4uODQ4OTg4MSAxMDA2NDQKLS0tIGEvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMubW9kdWxlcy9zcmMvb3JnL2VjbGlwc2UvanN0L3NlcnZlci9nZW5lcmljL21vZHVsZXMvV2ViTW9kdWxlLmphdmEKKysrIGIvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMubW9kdWxlcy9zcmMvb3JnL2VjbGlwc2UvanN0L3NlcnZlci9nZW5lcmljL21vZHVsZXMvV2ViTW9kdWxlLmphdmEKQEAgLTExLDcgKzExLDcgQEAKICAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTU0VEIE9SIElNUExJRUQKICAqIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCiAgKiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBUEFDSEUgU09GVFdBUkUgRk9VTkRBVElPTiBPUgorICogRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEVURVJBVElPTiBBLlMuIE9SCiAgKiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCiAgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCiAgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GCmRpZmYgLS1naXQgYS9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy51aS9idWlsZC5wcm9wZXJ0aWVzIGIvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMudWkvYnVpbGQucHJvcGVydGllcwppbmRleCA0OGU1NDE2Li42YjRhMmEwIDEwMDY0NAotLS0gYS9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy51aS9idWlsZC5wcm9wZXJ0aWVzCisrKyBiL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLnVpL2J1aWxkLnByb3BlcnRpZXMKQEAgLTEsNCArMSwxMCBAQAogc291cmNlLmdlbmVyaWN1aS5qYXIgPSBzcmMvCiBvdXRwdXQuZ2VuZXJpY3VpLmphciA9IGJpbi8KIGJpbi5pbmNsdWRlcyA9IHBsdWdpbi54bWwsXAotICAgICAgICAgICAgICAgZ2VuZXJpY3VpLmphcgorICAgICAgICAgICAgICAgZ2VuZXJpY3VpLmphcixcCisgICAgICAgICAgICAgICBpY29ucy8sXAorICAgICAgICAgICAgICAgcGx1Z2luLnByb3BlcnRpZXMKK3NyYy5pbmNsdWRlcyA9IGljb25zLyxcCisgICAgICAgICAgICAgICBwbHVnaW4ueG1sLFwKKyAgICAgICAgICAgICAgIHBsdWdpbi5wcm9wZXJ0aWVzLFwKKyAgICAgICAgICAgICAgIHNyYy8KZGlmZiAtLWdpdCBhL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLnVpL3BsdWdpbi5wcm9wZXJ0aWVzIGIvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMudWkvcGx1Z2luLnByb3BlcnRpZXMKaW5kZXggYjU4MmYyMi4uOTU4YjU4NiAxMDA2NDQKLS0tIGEvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMudWkvcGx1Z2luLnByb3BlcnRpZXMKKysrIGIvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMudWkvcGx1Z2luLnByb3BlcnRpZXMKQEAgLTEsMyArMSwzIEBACiBwbHVnaW5OYW1lPSBHZW5lcmljIEoyRUUgU2VydmVyIFBsdWdpbiBVSQotcHJvdmlkZXJOYW1lPUVjbGlwc2Uub3JnCitwcm92aWRlck5hbWU9RXRlcmF0aW9uLmNvbQogCmRpZmYgLS1naXQgYS9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy51aS9wbHVnaW4ueG1sIGIvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMudWkvcGx1Z2luLnhtbAppbmRleCAxYmMwZGI4Li43ZWM1MjgyIDEwMDY0NAotLS0gYS9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy51aS9wbHVnaW4ueG1sCisrKyBiL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLnVpL3BsdWdpbi54bWwKQEAgLTE3LDExICsxNywxMSBAQAogICAgICAgPGltcG9ydCBwbHVnaW49Im9yZy5lY2xpcHNlLnVpIi8+CiAgICAgICA8aW1wb3J0IHBsdWdpbj0ib3JnLmVjbGlwc2UuY29yZS5ydW50aW1lIi8+CiAgICAgICA8aW1wb3J0IHBsdWdpbj0ib3JnLmVjbGlwc2Uud3N0LnNlcnZlci51aSIvPgotICAgICAgIDxpbXBvcnQgcGx1Z2luPSJvcmcuZWNsaXBzZS5kZWJ1Zy51aSIvPgorICAgICAgPGltcG9ydCBwbHVnaW49Im9yZy5lY2xpcHNlLmRlYnVnLnVpIi8+CiAgICAgICA8aW1wb3J0IHBsdWdpbj0ib3JnLmVjbGlwc2UuamR0LmRlYnVnLnVpIi8+CiAgICAgICA8aW1wb3J0IHBsdWdpbj0ib3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLmNvcmUiLz4KLSAgICAgICAgICAgIDxpbXBvcnQgcGx1Z2luPSJvcmcuZWNsaXBzZS53c3Quc2VydmVyLmNvcmUiIHZlcnNpb249IjMuMC4wIiBtYXRjaD0iZXF1aXZhbGVudCIvPgotICAgICAgPGltcG9ydCBwbHVnaW49Im9yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuY29yZSIgdmVyc2lvbj0iMy4wLjAiIG1hdGNoPSJlcXVpdmFsZW50Ii8+CisgICAgICA8aW1wb3J0IHBsdWdpbj0ib3JnLmVjbGlwc2Uud3N0LnNlcnZlci5jb3JlIiAvPgorICAgICAgPGltcG9ydCBwbHVnaW49Im9yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuY29yZSIgLz4KICAgIDwvcmVxdWlyZXM+CiAKICA8ZXh0ZW5zaW9uCmRpZmYgLS1naXQgYS9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy51aS9zcmMvb3JnL2VjbGlwc2UvanN0L3NlcnZlci9nZW5lcmljL2ludGVybmFsL3VpL0dlbmVyaWNMYXVuY2hDb25maWd1cmF0aW9uVGFiR3JvdXAuamF2YSBiL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLnVpL3NyYy9vcmcvZWNsaXBzZS9qc3Qvc2VydmVyL2dlbmVyaWMvaW50ZXJuYWwvdWkvR2VuZXJpY0xhdW5jaENvbmZpZ3VyYXRpb25UYWJHcm91cC5qYXZhCmluZGV4IDIxMGM4ODguLjIzYjZlMTAgMTAwNjQ0Ci0tLSBhL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLnVpL3NyYy9vcmcvZWNsaXBzZS9qc3Qvc2VydmVyL2dlbmVyaWMvaW50ZXJuYWwvdWkvR2VuZXJpY0xhdW5jaENvbmZpZ3VyYXRpb25UYWJHcm91cC5qYXZhCisrKyBiL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLnVpL3NyYy9vcmcvZWNsaXBzZS9qc3Qvc2VydmVyL2dlbmVyaWMvaW50ZXJuYWwvdWkvR2VuZXJpY0xhdW5jaENvbmZpZ3VyYXRpb25UYWJHcm91cC5qYXZhCkBAIC0xMiw3ICsxMiw3IEBACiAgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1NFRCBPUiBJTVBMSUVECiAgKiBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUwogICogT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVBBQ0hFIFNPRlRXQVJFIEZPVU5EQVRJT04gT1IKKyAqIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBFVEVSQVRJT04gQS5TLiBPUgogICogSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAogICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAogICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRgpkaWZmIC0tZ2l0IGEvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMudWkvc3JjL29yZy9lY2xpcHNlL2pzdC9zZXJ2ZXIvZ2VuZXJpYy9pbnRlcm5hbC91aS9HZW5lcmljU2VydmVyRWRpdG9yUGFydEZhY3RvcnkuamF2YSBiL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLnVpL3NyYy9vcmcvZWNsaXBzZS9qc3Qvc2VydmVyL2dlbmVyaWMvaW50ZXJuYWwvdWkvR2VuZXJpY1NlcnZlckVkaXRvclBhcnRGYWN0b3J5LmphdmEKaW5kZXggYmM4NGY0ZS4uOWQ3ZDgwYyAxMDA2NDQKLS0tIGEvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMudWkvc3JjL29yZy9lY2xpcHNlL2pzdC9zZXJ2ZXIvZ2VuZXJpYy9pbnRlcm5hbC91aS9HZW5lcmljU2VydmVyRWRpdG9yUGFydEZhY3RvcnkuamF2YQorKysgYi9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy51aS9zcmMvb3JnL2VjbGlwc2UvanN0L3NlcnZlci9nZW5lcmljL2ludGVybmFsL3VpL0dlbmVyaWNTZXJ2ZXJFZGl0b3JQYXJ0RmFjdG9yeS5qYXZhCkBAIC0xMiw3ICsxMiw3IEBACiAgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1NFRCBPUiBJTVBMSUVECiAgKiBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUwogICogT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVBBQ0hFIFNPRlRXQVJFIEZPVU5EQVRJT04gT1IKKyAqIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBFVEVSQVRJT04gQS5TLiBPUgogICogSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAogICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAogICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRgpkaWZmIC0tZ2l0IGEvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMudWkvc3JjL29yZy9lY2xpcHNlL2pzdC9zZXJ2ZXIvZ2VuZXJpYy9pbnRlcm5hbC91aS9HZW5lcmljU2VydmVyRWRpdG9yU2VjdGlvbkZhY3RvcnkuamF2YSBiL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLnVpL3NyYy9vcmcvZWNsaXBzZS9qc3Qvc2VydmVyL2dlbmVyaWMvaW50ZXJuYWwvdWkvR2VuZXJpY1NlcnZlckVkaXRvclNlY3Rpb25GYWN0b3J5LmphdmEKaW5kZXggNGZiNDU3NS4uZjFiYTg3ZiAxMDA2NDQKLS0tIGEvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMudWkvc3JjL29yZy9lY2xpcHNlL2pzdC9zZXJ2ZXIvZ2VuZXJpYy9pbnRlcm5hbC91aS9HZW5lcmljU2VydmVyRWRpdG9yU2VjdGlvbkZhY3RvcnkuamF2YQorKysgYi9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy51aS9zcmMvb3JnL2VjbGlwc2UvanN0L3NlcnZlci9nZW5lcmljL2ludGVybmFsL3VpL0dlbmVyaWNTZXJ2ZXJFZGl0b3JTZWN0aW9uRmFjdG9yeS5qYXZhCkBAIC0xMyw3ICsxMyw3IEBACiAgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1NFRCBPUiBJTVBMSUVECiAgKiBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUwogICogT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVBBQ0hFIFNPRlRXQVJFIEZPVU5EQVRJT04gT1IKKyAqIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBFVEVSQVRJT04gQS5TLiBPUgogICogSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAogICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAogICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRgpkaWZmIC0tZ2l0IGEvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMudWkvc3JjL29yZy9lY2xpcHNlL2pzdC9zZXJ2ZXIvZ2VuZXJpYy9pbnRlcm5hbC91aS9HZW5lcmljU2VydmVyV2l6YXJkRnJhZ21lbnQuamF2YSBiL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLnVpL3NyYy9vcmcvZWNsaXBzZS9qc3Qvc2VydmVyL2dlbmVyaWMvaW50ZXJuYWwvdWkvR2VuZXJpY1NlcnZlcldpemFyZEZyYWdtZW50LmphdmEKaW5kZXggNzRkNGE0My4uODU0NjhkOCAxMDA2NDQKLS0tIGEvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMudWkvc3JjL29yZy9lY2xpcHNlL2pzdC9zZXJ2ZXIvZ2VuZXJpYy9pbnRlcm5hbC91aS9HZW5lcmljU2VydmVyV2l6YXJkRnJhZ21lbnQuamF2YQorKysgYi9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy51aS9zcmMvb3JnL2VjbGlwc2UvanN0L3NlcnZlci9nZW5lcmljL2ludGVybmFsL3VpL0dlbmVyaWNTZXJ2ZXJXaXphcmRGcmFnbWVudC5qYXZhCkBAIC0xMiw3ICsxMiw3IEBACiAgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1NFRCBPUiBJTVBMSUVECiAgKiBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUwogICogT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVBBQ0hFIFNPRlRXQVJFIEZPVU5EQVRJT04gT1IKKyAqIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBFVEVSQVRJT04gQS5TLiBPUgogICogSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAogICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAogICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRgpkaWZmIC0tZ2l0IGEvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMudWkvc3JjL29yZy9lY2xpcHNlL2pzdC9zZXJ2ZXIvZ2VuZXJpYy9pbnRlcm5hbC91aS9TZXJ2ZXJSdW50aW1lUHJvcGVydHlDb21wb3NpdGUuamF2YSBiL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLnVpL3NyYy9vcmcvZWNsaXBzZS9qc3Qvc2VydmVyL2dlbmVyaWMvaW50ZXJuYWwvdWkvU2VydmVyUnVudGltZVByb3BlcnR5Q29tcG9zaXRlLmphdmEKaW5kZXggNWFjODg1YS4uNWQ0YjYyYSAxMDA2NDQKLS0tIGEvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMudWkvc3JjL29yZy9lY2xpcHNlL2pzdC9zZXJ2ZXIvZ2VuZXJpYy9pbnRlcm5hbC91aS9TZXJ2ZXJSdW50aW1lUHJvcGVydHlDb21wb3NpdGUuamF2YQorKysgYi9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy51aS9zcmMvb3JnL2VjbGlwc2UvanN0L3NlcnZlci9nZW5lcmljL2ludGVybmFsL3VpL1NlcnZlclJ1bnRpbWVQcm9wZXJ0eUNvbXBvc2l0ZS5qYXZhCkBAIC0xMiw3ICsxMiw3IEBACiAgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1NFRCBPUiBJTVBMSUVECiAgKiBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUwogICogT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVBBQ0hFIFNPRlRXQVJFIEZPVU5EQVRJT04gT1IKKyAqIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBFVEVSQVRJT04gQS5TLiBPUgogICogSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAogICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAogICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRgpkaWZmIC0tZ2l0IGEvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMudWkvc3JjL29yZy9lY2xpcHNlL2pzdC9zZXJ2ZXIvZ2VuZXJpYy91aS9HZW5lcmljVWlQbHVnaW4uamF2YSBiL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci5nZW5lcmljLnVpL3NyYy9vcmcvZWNsaXBzZS9qc3Qvc2VydmVyL2dlbmVyaWMvdWkvR2VuZXJpY1VpUGx1Z2luLmphdmEKaW5kZXggZGZjYzRmMi4uZTJjYzUxZSAxMDA2NDQKLS0tIGEvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLmdlbmVyaWMudWkvc3JjL29yZy9lY2xpcHNlL2pzdC9zZXJ2ZXIvZ2VuZXJpYy91aS9HZW5lcmljVWlQbHVnaW4uamF2YQorKysgYi9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuZ2VuZXJpYy51aS9zcmMvb3JnL2VjbGlwc2UvanN0L3NlcnZlci9nZW5lcmljL3VpL0dlbmVyaWNVaVBsdWdpbi5qYXZhCkBAIC0xMiw3ICsxMiw3IEBACiAgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1NFRCBPUiBJTVBMSUVECiAgKiBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUwogICogT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVBBQ0hFIFNPRlRXQVJFIEZPVU5EQVRJT04gT1IKKyAqIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBFVEVSQVRJT04gQS5TLiBPUgogICogSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAogICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAogICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRgpkaWZmIC0tZ2l0IGEvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLnRvbWNhdC5jb3JlL3BsdWdpbi54bWwgYi9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIudG9tY2F0LmNvcmUvcGx1Z2luLnhtbAppbmRleCBhOWQ4M2FiLi40ZWQzZDZmIDEwMDY0NAotLS0gYS9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIudG9tY2F0LmNvcmUvcGx1Z2luLnhtbAorKysgYi9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIudG9tY2F0LmNvcmUvcGx1Z2luLnhtbApAQCAtMTUsMTQgKzE1LDE0IEBACiAgIDwvcnVudGltZT4KIAogICA8cmVxdWlyZXM+Ci0gICAgIDxpbXBvcnQgcGx1Z2luPSJvcmcuZWNsaXBzZS5jb3JlLnJ1bnRpbWUiIHZlcnNpb249IjMuMC4wIiBtYXRjaD0iZXF1aXZhbGVudCIvPgotICAgICA8aW1wb3J0IHBsdWdpbj0ib3JnLmVjbGlwc2UuY29yZS5yZXNvdXJjZXMiIHZlcnNpb249IjMuMC4wIiBtYXRjaD0iZXF1aXZhbGVudCIvPgotICAgICA8aW1wb3J0IHBsdWdpbj0ib3JnLmVjbGlwc2UuZGVidWcuY29yZSIgdmVyc2lvbj0iMy4wLjAiIG1hdGNoPSJlcXVpdmFsZW50Ii8+Ci0gICAgIDxpbXBvcnQgcGx1Z2luPSJvcmcuZWNsaXBzZS5qZHQuY29yZSIgdmVyc2lvbj0iMy4wLjAiIG1hdGNoPSJlcXVpdmFsZW50Ii8+Ci0gICAgIDxpbXBvcnQgcGx1Z2luPSJvcmcuZWNsaXBzZS5qZHQuZGVidWciIHZlcnNpb249IjMuMC4wIiBtYXRjaD0iZXF1aXZhbGVudCIvPgotICAgICA8aW1wb3J0IHBsdWdpbj0ib3JnLmVjbGlwc2UuamR0LmxhdW5jaGluZyIgdmVyc2lvbj0iMy4wLjAiIG1hdGNoPSJlcXVpdmFsZW50Ii8+Ci0gICAgIDxpbXBvcnQgcGx1Z2luPSJvcmcuZWNsaXBzZS53c3Quc2VydmVyLmNvcmUiIHZlcnNpb249IjMuMC4wIiBtYXRjaD0iZXF1aXZhbGVudCIvPgotICAgICA8aW1wb3J0IHBsdWdpbj0ib3JnLmVjbGlwc2UuanN0LnNlcnZlci5jb3JlIiB2ZXJzaW9uPSIzLjAuMCIgbWF0Y2g9ImVxdWl2YWxlbnQiLz4KKyAgICAgPGltcG9ydCBwbHVnaW49Im9yZy5lY2xpcHNlLmNvcmUucnVudGltZSIgLz4KKyAgICAgPGltcG9ydCBwbHVnaW49Im9yZy5lY2xpcHNlLmNvcmUucmVzb3VyY2VzIiAvPgorICAgICA8aW1wb3J0IHBsdWdpbj0ib3JnLmVjbGlwc2UuZGVidWcuY29yZSIgLz4KKyAgICAgPGltcG9ydCBwbHVnaW49Im9yZy5lY2xpcHNlLmpkdC5jb3JlIiAvPgorICAgICA8aW1wb3J0IHBsdWdpbj0ib3JnLmVjbGlwc2UuamR0LmRlYnVnIiAvPgorICAgICA8aW1wb3J0IHBsdWdpbj0ib3JnLmVjbGlwc2UuamR0LmxhdW5jaGluZyIgLz4KKyAgICAgPGltcG9ydCBwbHVnaW49Im9yZy5lY2xpcHNlLndzdC5zZXJ2ZXIuY29yZSIgLz4KKyAgICAgPGltcG9ydCBwbHVnaW49Im9yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIuY29yZSIgLz4KICAgPC9yZXF1aXJlcz4KIAogICA8ZXh0ZW5zaW9uIHBvaW50PSJvcmcuZWNsaXBzZS53c3Quc2VydmVyLmNvcmUucnVudGltZVR5cGVzIj4KZGlmZiAtLWdpdCBhL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci50b21jYXQuY29yZS90b21jYXRjb3JlL29yZy9lY2xpcHNlL2pzdC9zZXJ2ZXIvdG9tY2F0L2NvcmUvaW50ZXJuYWwveG1sL0ZhY3RvcnkuamF2YSBiL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci50b21jYXQuY29yZS90b21jYXRjb3JlL29yZy9lY2xpcHNlL2pzdC9zZXJ2ZXIvdG9tY2F0L2NvcmUvaW50ZXJuYWwveG1sL0ZhY3RvcnkuamF2YQppbmRleCAzNWQzMjRjLi4xMjk2ZGJjIDEwMDY0NAotLS0gYS9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIudG9tY2F0LmNvcmUvdG9tY2F0Y29yZS9vcmcvZWNsaXBzZS9qc3Qvc2VydmVyL3RvbWNhdC9jb3JlL2ludGVybmFsL3htbC9GYWN0b3J5LmphdmEKKysrIGIvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLnRvbWNhdC5jb3JlL3RvbWNhdGNvcmUvb3JnL2VjbGlwc2UvanN0L3NlcnZlci90b21jYXQvY29yZS9pbnRlcm5hbC94bWwvRmFjdG9yeS5qYXZhCkBAIC0xOSw2ICsxOSwxMCBAQAogICogRmFjdG9yeSBmb3IgcmVhZGluZyBhbmQgd3JpdGluZyBmcm9tIFhNTCBmaWxlcy4KICAqLwogcHVibGljIGNsYXNzIEZhY3RvcnkgaW1wbGVtZW50cyBTZXJpYWxpemFibGUgeworCisKKwlwcml2YXRlIHN0YXRpYyBmaW5hbCBsb25nIHNlcmlhbFZlcnNpb25VSUQgPSAxTDsKKwkKIAlwcm90ZWN0ZWQgU3RyaW5nIHBhY2thZ2VOYW1lOwogCXByb3RlY3RlZCBEb2N1bWVudCBkb2N1bWVudDsKIApkaWZmIC0tZ2l0IGEvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLnRvbWNhdC5jb3JlL3RvbWNhdGNvcmUvb3JnL2VjbGlwc2UvanN0L3NlcnZlci90b21jYXQvY29yZS9pbnRlcm5hbC94bWwvWE1MRWxlbWVudC5qYXZhIGIvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLnRvbWNhdC5jb3JlL3RvbWNhdGNvcmUvb3JnL2VjbGlwc2UvanN0L3NlcnZlci90b21jYXQvY29yZS9pbnRlcm5hbC94bWwvWE1MRWxlbWVudC5qYXZhCmluZGV4IGNjMDliMDcuLjQwMGE1MjYgMTAwNjQ0Ci0tLSBhL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci50b21jYXQuY29yZS90b21jYXRjb3JlL29yZy9lY2xpcHNlL2pzdC9zZXJ2ZXIvdG9tY2F0L2NvcmUvaW50ZXJuYWwveG1sL1hNTEVsZW1lbnQuamF2YQorKysgYi9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIudG9tY2F0LmNvcmUvdG9tY2F0Y29yZS9vcmcvZWNsaXBzZS9qc3Qvc2VydmVyL3RvbWNhdC9jb3JlL2ludGVybmFsL3htbC9YTUxFbGVtZW50LmphdmEKQEAgLTE1LDYgKzE1LDggQEAKICAqIEFuIFhNTCBlbGVtZW50LgogICovCiBwdWJsaWMgY2xhc3MgWE1MRWxlbWVudCBpbXBsZW1lbnRzIFNlcmlhbGl6YWJsZSB7CisKKwlwcml2YXRlIHN0YXRpYyBmaW5hbCBsb25nIHNlcmlhbFZlcnNpb25VSUQgPSAxTDsKIAlwcml2YXRlIEVsZW1lbnQgeG1sRWxlbWVudDsKIAlwcm90ZWN0ZWQgRmFjdG9yeSBmYWN0b3J5OwogCmRpZmYgLS1naXQgYS9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIudG9tY2F0LnVpL3BsdWdpbi54bWwgYi9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIudG9tY2F0LnVpL3BsdWdpbi54bWwKaW5kZXggNmM4MGYzZC4uMTViNGFhZSAxMDA2NDQKLS0tIGEvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLnRvbWNhdC51aS9wbHVnaW4ueG1sCisrKyBiL3BsdWdpbnMvb3JnLmVjbGlwc2UuanN0LnNlcnZlci50b21jYXQudWkvcGx1Z2luLnhtbApAQCAtMTUsMjMgKzE1LDIzIEBACiAgICA8L3J1bnRpbWU+CiAKICAgIDxyZXF1aXJlcz4KLSAgICAgIDxpbXBvcnQgcGx1Z2luPSJvcmcuZWNsaXBzZS5jb3JlLnJ1bnRpbWUiIHZlcnNpb249IjMuMC4wIiBtYXRjaD0iZXF1aXZhbGVudCIvPgotICAgICAgPGltcG9ydCBwbHVnaW49Im9yZy5lY2xpcHNlLmNvcmUucmVzb3VyY2VzIiB2ZXJzaW9uPSIzLjAuMCIgbWF0Y2g9ImVxdWl2YWxlbnQiLz4KLSAgICAgIDxpbXBvcnQgcGx1Z2luPSJvcmcuZWNsaXBzZS51aSIgdmVyc2lvbj0iMy4wLjAiIG1hdGNoPSJlcXVpdmFsZW50Ii8+Ci0gICAgICA8aW1wb3J0IHBsdWdpbj0ib3JnLmVjbGlwc2UudWkuaWRlIiB2ZXJzaW9uPSIzLjAuMCIgbWF0Y2g9ImVxdWl2YWxlbnQiLz4KLSAgICAgIDxpbXBvcnQgcGx1Z2luPSJvcmcuZWNsaXBzZS51aS5lZGl0b3JzIiB2ZXJzaW9uPSIzLjAuMCIgbWF0Y2g9ImVxdWl2YWxlbnQiLz4KLSAgICAgIDxpbXBvcnQgcGx1Z2luPSJvcmcuZWNsaXBzZS51aS5mb3JtcyIgdmVyc2lvbj0iMy4wLjAiIG1hdGNoPSJlcXVpdmFsZW50Ii8+Ci0gICAgICA8aW1wb3J0IHBsdWdpbj0ib3JnLmVjbGlwc2UuZGVidWcuY29yZSIgdmVyc2lvbj0iMy4wLjAiIG1hdGNoPSJlcXVpdmFsZW50Ii8+Ci0gICAgICA8aW1wb3J0IHBsdWdpbj0ib3JnLmVjbGlwc2UuZGVidWcudWkiIHZlcnNpb249IjMuMC4wIiBtYXRjaD0iZXF1aXZhbGVudCIvPgotICAgICAgPGltcG9ydCBwbHVnaW49Im9yZy5lY2xpcHNlLmpkdC5jb3JlIiB2ZXJzaW9uPSIzLjAuMCIgbWF0Y2g9ImVxdWl2YWxlbnQiLz4KLSAgICAgIDxpbXBvcnQgcGx1Z2luPSJvcmcuZWNsaXBzZS5qZHQuZGVidWciIHZlcnNpb249IjMuMC4wIiBtYXRjaD0iZXF1aXZhbGVudCIvPgotICAgICAgPGltcG9ydCBwbHVnaW49Im9yZy5lY2xpcHNlLmpkdC5kZWJ1Zy51aSIgdmVyc2lvbj0iMy4wLjAiIG1hdGNoPSJlcXVpdmFsZW50Ii8+Ci0gICAgICA8aW1wb3J0IHBsdWdpbj0ib3JnLmVjbGlwc2UuamR0LmxhdW5jaGluZyIgdmVyc2lvbj0iMy4wLjAiIG1hdGNoPSJlcXVpdmFsZW50Ii8+Ci0gICAgICA8aW1wb3J0IHBsdWdpbj0ib3JnLmVjbGlwc2Uud3N0LnNlcnZlci5jb3JlIiB2ZXJzaW9uPSIzLjAuMCIgbWF0Y2g9ImVxdWl2YWxlbnQiLz4KLSAgICAgIDxpbXBvcnQgcGx1Z2luPSJvcmcuZWNsaXBzZS53c3Quc2VydmVyLnVpIiB2ZXJzaW9uPSIzLjAuMCIgbWF0Y2g9ImVxdWl2YWxlbnQiLz4KLSAgICAgIDxpbXBvcnQgcGx1Z2luPSJvcmcuZWNsaXBzZS5qc3Quc2VydmVyLmNvcmUiIHZlcnNpb249IjMuMC4wIiBtYXRjaD0iZXF1aXZhbGVudCIvPgotICAgICAgPGltcG9ydCBwbHVnaW49Im9yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIudWkiIHZlcnNpb249IjMuMC4wIiBtYXRjaD0iZXF1aXZhbGVudCIvPgotICAgICAgPGltcG9ydCBwbHVnaW49Im9yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIudG9tY2F0LmNvcmUiIHZlcnNpb249IjMuMC4wIiBtYXRjaD0iZXF1aXZhbGVudCIvPgorICAgICAgPGltcG9ydCBwbHVnaW49Im9yZy5lY2xpcHNlLmNvcmUucnVudGltZSIgLz4KKyAgICAgIDxpbXBvcnQgcGx1Z2luPSJvcmcuZWNsaXBzZS5jb3JlLnJlc291cmNlcyIgLz4KKyAgICAgIDxpbXBvcnQgcGx1Z2luPSJvcmcuZWNsaXBzZS51aSIgLz4KKyAgICAgIDxpbXBvcnQgcGx1Z2luPSJvcmcuZWNsaXBzZS51aS5pZGUiIC8+CisgICAgICA8aW1wb3J0IHBsdWdpbj0ib3JnLmVjbGlwc2UudWkuZWRpdG9ycyIgLz4KKyAgICAgIDxpbXBvcnQgcGx1Z2luPSJvcmcuZWNsaXBzZS51aS5mb3JtcyIgLz4KKyAgICAgIDxpbXBvcnQgcGx1Z2luPSJvcmcuZWNsaXBzZS5kZWJ1Zy5jb3JlIiAvPgorICAgICAgPGltcG9ydCBwbHVnaW49Im9yZy5lY2xpcHNlLmRlYnVnLnVpIiAvPgorICAgICAgPGltcG9ydCBwbHVnaW49Im9yZy5lY2xpcHNlLmpkdC5jb3JlIiAvPgorICAgICAgPGltcG9ydCBwbHVnaW49Im9yZy5lY2xpcHNlLmpkdC5kZWJ1ZyIgLz4KKyAgICAgIDxpbXBvcnQgcGx1Z2luPSJvcmcuZWNsaXBzZS5qZHQuZGVidWcudWkiIC8+CisgICAgICA8aW1wb3J0IHBsdWdpbj0ib3JnLmVjbGlwc2UuamR0LmxhdW5jaGluZyIgLz4KKyAgICAgIDxpbXBvcnQgcGx1Z2luPSJvcmcuZWNsaXBzZS53c3Quc2VydmVyLmNvcmUiIC8+CisgICAgICA8aW1wb3J0IHBsdWdpbj0ib3JnLmVjbGlwc2Uud3N0LnNlcnZlci51aSIgLz4KKyAgICAgIDxpbXBvcnQgcGx1Z2luPSJvcmcuZWNsaXBzZS5qc3Quc2VydmVyLmNvcmUiIC8+CisgICAgICA8aW1wb3J0IHBsdWdpbj0ib3JnLmVjbGlwc2UuanN0LnNlcnZlci51aSIgLz4KKyAgICAgIDxpbXBvcnQgcGx1Z2luPSJvcmcuZWNsaXBzZS5qc3Quc2VydmVyLnRvbWNhdC5jb3JlIiAvPgogICAgPC9yZXF1aXJlcz4KIAogICAgPGV4dGVuc2lvbiBwb2ludD0ib3JnLmVjbGlwc2Uud3N0LnNlcnZlci51aS5zZXJ2ZXJJbWFnZXMiPgpkaWZmIC0tZ2l0IGEvcGx1Z2lucy9vcmcuZWNsaXBzZS5qc3Quc2VydmVyLnVpL3BsdWdpbi54bWwgYi9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIudWkvcGx1Z2luLnhtbAppbmRleCAyNjJjNDg2Li42ZWUwMzA4IDEwMDY0NAotLS0gYS9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIudWkvcGx1Z2luLnhtbAorKysgYi9wbHVnaW5zL29yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIudWkvcGx1Z2luLnhtbApAQCAtOCwxNiArOCwxNiBAQAogICBjbGFzcz0ib3JnLmVjbGlwc2UuanN0LnNlcnZlci5pbnRlcm5hbC51aS5KYXZhU2VydmVyVUlQbHVnaW4iPgogCiA8cmVxdWlyZXM+Ci0gIDxpbXBvcnQgcGx1Z2luPSJvcmcuZWNsaXBzZS5jb3JlLnJ1bnRpbWUiIHZlcnNpb249IjMuMC4wIiBtYXRjaD0iZXF1aXZhbGVudCIvPgotICA8aW1wb3J0IHBsdWdpbj0ib3JnLmVjbGlwc2UuY29yZS5yZXNvdXJjZXMiIHZlcnNpb249IjMuMC4wIiBtYXRjaD0iZXF1aXZhbGVudCIvPgotICA8aW1wb3J0IHBsdWdpbj0ib3JnLmVjbGlwc2UudWkiIHZlcnNpb249IjMuMC4wIiBtYXRjaD0iZXF1aXZhbGVudCIvPgotICA8aW1wb3J0IHBsdWdpbj0ib3JnLmVjbGlwc2UudWkuaWRlIiB2ZXJzaW9uPSIzLjAuMCIgbWF0Y2g9ImVxdWl2YWxlbnQiLz4KLSAgPGltcG9ydCBwbHVnaW49Im9yZy5lY2xpcHNlLnVpLnZpZXdzIiB2ZXJzaW9uPSIzLjAuMCIgbWF0Y2g9ImVxdWl2YWxlbnQiLz4KLSAgPGltcG9ydCBwbHVnaW49Im9yZy5lY2xpcHNlLnVpLmVkaXRvcnMiIHZlcnNpb249IjMuMC4wIiBtYXRjaD0iZXF1aXZhbGVudCIvPgotICA8aW1wb3J0IHBsdWdpbj0ib3JnLmVjbGlwc2UuamR0LmNvcmUiIHZlcnNpb249IjMuMC4wIiBtYXRjaD0iZXF1aXZhbGVudCIvPgotICA8aW1wb3J0IHBsdWdpbj0ib3JnLmVjbGlwc2UuamR0LmxhdW5jaGluZyIgdmVyc2lvbj0iMy4wLjAiIG1hdGNoPSJlcXVpdmFsZW50Ii8+Ci0gIDxpbXBvcnQgcGx1Z2luPSJvcmcuZWNsaXBzZS53c3Quc2VydmVyLmNvcmUiIHZlcnNpb249IjMuMC4wIiBtYXRjaD0iZXF1aXZhbGVudCIvPgotICA8aW1wb3J0IHBsdWdpbj0ib3JnLmVjbGlwc2Uud3N0LnNlcnZlci51aSIgdmVyc2lvbj0iMy4wLjAiIG1hdGNoPSJlcXVpdmFsZW50Ii8+CisgIDxpbXBvcnQgcGx1Z2luPSJvcmcuZWNsaXBzZS5jb3JlLnJ1bnRpbWUiLz4KKyAgPGltcG9ydCBwbHVnaW49Im9yZy5lY2xpcHNlLmNvcmUucmVzb3VyY2VzIi8+CisgIDxpbXBvcnQgcGx1Z2luPSJvcmcuZWNsaXBzZS51aSIvPgorICA8aW1wb3J0IHBsdWdpbj0ib3JnLmVjbGlwc2UudWkuaWRlIi8+CisgIDxpbXBvcnQgcGx1Z2luPSJvcmcuZWNsaXBzZS51aS52aWV3cyIvPgorICA8aW1wb3J0IHBsdWdpbj0ib3JnLmVjbGlwc2UudWkuZWRpdG9ycyIvPgorICA8aW1wb3J0IHBsdWdpbj0ib3JnLmVjbGlwc2UuamR0LmNvcmUiLz4KKyAgPGltcG9ydCBwbHVnaW49Im9yZy5lY2xpcHNlLmpkdC5sYXVuY2hpbmciLz4KKyAgPGltcG9ydCBwbHVnaW49Im9yZy5lY2xpcHNlLndzdC5zZXJ2ZXIuY29yZSIvPgorICA8aW1wb3J0IHBsdWdpbj0ib3JnLmVjbGlwc2Uud3N0LnNlcnZlci51aSIvPgogICA8aW1wb3J0IHBsdWdpbj0ib3JnLmVjbGlwc2UuanN0LnNlcnZlci5jb3JlIi8+CiA8L3JlcXVpcmVzPgogCg==