PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/Pgo8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBsYW5nPSJlbiIgeG1sOmxhbmc9ImVuIj48aGVhZD48IS0tCiAgICAgICAgWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgKICAgICAgICAgICAgICBUaGlzIGZpbGUgaXMgZ2VuZXJhdGVkIGZyb20geG1sIHNvdXJjZTogRE8gTk9UIEVESVQKICAgICAgICBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWAogICAgICAtLT4KPHRpdGxlPm1vZF9hdXRoIC0gQXBhY2hlIEhUVFAgU2VydmVyPC90aXRsZT4KPGxpbmsgaHJlZj0iLi4vc3R5bGUvY3NzL21hbnVhbC5jc3MiIHJlbD0ic3R5bGVzaGVldCIgbWVkaWE9ImFsbCIgdHlwZT0idGV4dC9jc3MiIHRpdGxlPSJNYWluIHN0eWxlc2hlZXQiIC8+CjxsaW5rIGhyZWY9Ii4uL3N0eWxlL2Nzcy9tYW51YWwtbG9vc2UtMTAwcGMuY3NzIiByZWw9ImFsdGVybmF0ZSBzdHlsZXNoZWV0IiBtZWRpYT0iYWxsIiB0eXBlPSJ0ZXh0L2NzcyIgdGl0bGU9Ik5vIFNpZGViYXIgLSBEZWZhdWx0IGZvbnQgc2l6ZSIgLz4KPGxpbmsgaHJlZj0iLi4vc3R5bGUvY3NzL21hbnVhbC1wcmludC5jc3MiIHJlbD0ic3R5bGVzaGVldCIgbWVkaWE9InByaW50IiB0eXBlPSJ0ZXh0L2NzcyIgLz4KPGxpbmsgaHJlZj0iLi4vaW1hZ2VzL2Zhdmljb24uaWNvIiByZWw9InNob3J0Y3V0IGljb24iIC8+PC9oZWFkPgo8Ym9keT4KPGRpdiBpZD0icGFnZS1oZWFkZXIiPgo8cCBjbGFzcz0ibWVudSI+PGEgaHJlZj0iLi4vbW9kLyI+TW9kdWxlczwvYT4gfCA8YSBocmVmPSIuLi9tb2QvZGlyZWN0aXZlcy5odG1sIj5EaXJlY3RpdmVzPC9hPiB8IDxhIGhyZWY9Ii4uL2ZhcS8iPkZBUTwvYT4gfCA8YSBocmVmPSIuLi9nbG9zc2FyeS5odG1sIj5HbG9zc2FyeTwvYT4gfCA8YSBocmVmPSIuLi9zaXRlbWFwLmh0bWwiPlNpdGVtYXA8L2E+PC9wPgo8cCBjbGFzcz0iYXBhY2hlIj5BcGFjaGUgSFRUUCBTZXJ2ZXIgVmVyc2lvbiAyLjA8L3A+CjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2ZlYXRoZXIuZ2lmIiAvPjwvZGl2Pgo8ZGl2IGNsYXNzPSJ1cCI+PGEgaHJlZj0iLi8iPjxpbWcgdGl0bGU9IiZsdDstIiBhbHQ9IiZsdDstIiBzcmM9Ii4uL2ltYWdlcy9sZWZ0LmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgaWQ9InBhdGgiPgo8YSBocmVmPSJodHRwOi8vd3d3LmFwYWNoZS5vcmcvIj5BcGFjaGU8L2E+ICZndDsgPGEgaHJlZj0iaHR0cDovL2h0dHBkLmFwYWNoZS5vcmcvIj5IVFRQIFNlcnZlcjwvYT4gJmd0OyA8YSBocmVmPSJodHRwOi8vaHR0cGQuYXBhY2hlLm9yZy9kb2NzLXByb2plY3QvIj5Eb2N1bWVudGF0aW9uPC9hPiAmZ3Q7IDxhIGhyZWY9Ii4uLyI+VmVyc2lvbiAyLjA8L2E+ICZndDsgPGEgaHJlZj0iLi8iPk1vZHVsZXM8L2E+PC9kaXY+CjxkaXYgaWQ9InBhZ2UtY29udGVudCI+CjxkaXYgaWQ9InByZWFtYmxlIj48aDE+QXBhY2hlIE1vZHVsZSBtb2RfYXV0aDwvaDE+Cjx0YWJsZSBjbGFzcz0ibW9kdWxlIj48dHI+PHRoPjxhIGhyZWY9Im1vZHVsZS1kaWN0Lmh0bWwjRGVzY3JpcHRpb24iPkRlc2NyaXB0aW9uOjwvYT48L3RoPjx0ZD5Vc2VyIGF1dGhlbnRpY2F0aW9uIHVzaW5nIHRleHQgZmlsZXM8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0ibW9kdWxlLWRpY3QuaHRtbCNTdGF0dXMiPlN0YXR1czo8L2E+PC90aD48dGQ+QmFzZTwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJtb2R1bGUtZGljdC5odG1sI01vZHVsZUlkZW50aWZpZXIiPk1vZHVsZaBJZGVudGlmaWVyOjwvYT48L3RoPjx0ZD5hdXRoX21vZHVsZTwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJtb2R1bGUtZGljdC5odG1sI1NvdXJjZUZpbGUiPlNvdXJjZaBGaWxlOjwvYT48L3RoPjx0ZD5tb2RfYXV0aC5jPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9Im1vZHVsZS1kaWN0Lmh0bWwjQ29tcGF0aWJpbGl0eSI+Q29tcGF0aWJpbGl0eTo8L2E+PC90aD48dGQ+QXZhaWxhYmxlIG9ubHkgaW4gdmVyc2lvbnMgcHJpb3IgdG8gMi4xPC90ZD48L3RyPjwvdGFibGU+CjxoMz5TdW1tYXJ5PC9oMz4KCiAgICA8cD5UaGlzIG1vZHVsZSBhbGxvd3MgdGhlIHVzZSBvZiBIVFRQIEJhc2ljIEF1dGhlbnRpY2F0aW9uIHRvCiAgICByZXN0cmljdCBhY2Nlc3MgYnkgbG9va2luZyB1cCB1c2VycyBpbiBwbGFpbiB0ZXh0IHBhc3N3b3JkIGFuZAogICAgZ3JvdXAgZmlsZXMuIFNpbWlsYXIgZnVuY3Rpb25hbGl0eSBhbmQgZ3JlYXRlciBzY2FsYWJpbGl0eSBpcwogICAgcHJvdmlkZWQgYnkgPGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi4vbW9kL21vZF9hdXRoX2RibS5odG1sIj5tb2RfYXV0aF9kYm08L2E+PC9jb2RlPi4gSFRUUCBEaWdlc3QKICAgIEF1dGhlbnRpY2F0aW9uIGlzIHByb3ZpZGVkIGJ5IDxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4uL21vZC9tb2RfYXV0aF9kaWdlc3QuaHRtbCI+bW9kX2F1dGhfZGlnZXN0PC9hPjwvY29kZT4uPC9wPgo8L2Rpdj4KPGRpdiBpZD0icXVpY2t2aWV3Ij48aDMgY2xhc3M9ImRpcmVjdGl2ZXMiPkRpcmVjdGl2ZXM8L2gzPgo8dWwgaWQ9InRvYyI+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI2F1dGhhdXRob3JpdGF0aXZlIj5BdXRoQXV0aG9yaXRhdGl2ZTwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNhdXRoZ3JvdXBmaWxlIj5BdXRoR3JvdXBGaWxlPC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI2F1dGh1c2VyZmlsZSI+QXV0aFVzZXJGaWxlPC9hPjwvbGk+CjwvdWw+CjxoMz5TZWUgYWxzbzwvaDM+Cjx1bCBjbGFzcz0ic2VlYWxzbyI+CjxsaT48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuLi9tb2QvY29yZS5odG1sI3JlcXVpcmUiPlJlcXVpcmU8L2E+PC9jb2RlPjwvbGk+CjxsaT48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuLi9tb2QvY29yZS5odG1sI3NhdGlzZnkiPlNhdGlzZnk8L2E+PC9jb2RlPjwvbGk+CjxsaT48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuLi9tb2QvY29yZS5odG1sI2F1dGhuYW1lIj5BdXRoTmFtZTwvYT48L2NvZGU+PC9saT4KPGxpPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4uL21vZC9jb3JlLmh0bWwjYXV0aHR5cGUiPkF1dGhUeXBlPC9hPjwvY29kZT48L2xpPgo8L3VsPjwvZGl2PgoKPGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9ImRpcmVjdGl2ZS1zZWN0aW9uIj48aDI+PGEgbmFtZT0iQXV0aEF1dGhvcml0YXRpdmUiIGlkPSJBdXRoQXV0aG9yaXRhdGl2ZSI+QXV0aEF1dGhvcml0YXRpdmU8L2E+IDxhIG5hbWU9ImF1dGhhdXRob3JpdGF0aXZlIiBpZD0iYXV0aGF1dGhvcml0YXRpdmUiPkRpcmVjdGl2ZTwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPlNldHMgd2hldGhlciBhdXRob3JpemF0aW9uIGFuZCBhdXRoZW50aWNhdGlvbiBhcmUKcGFzc2VkIHRvIGxvd2VyIGxldmVsIG1vZHVsZXM8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTeW50YXgiPlN5bnRheDo8L2E+PC90aD48dGQ+PGNvZGU+QXV0aEF1dGhvcml0YXRpdmUgT258T2ZmPC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0RlZmF1bHQiPkRlZmF1bHQ6PC9hPjwvdGg+PHRkPjxjb2RlPkF1dGhBdXRob3JpdGF0aXZlIE9uPC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0NvbnRleHQiPkNvbnRleHQ6PC9hPjwvdGg+PHRkPmRpcmVjdG9yeSwgLmh0YWNjZXNzPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjT3ZlcnJpZGUiPk92ZXJyaWRlOjwvYT48L3RoPjx0ZD5BdXRoQ29uZmlnPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3RhdHVzIj5TdGF0dXM6PC9hPjwvdGg+PHRkPkJhc2U8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNNb2R1bGUiPk1vZHVsZTo8L2E+PC90aD48dGQ+bW9kX2F1dGg8L3RkPjwvdHI+CjwvdGFibGU+CiAgICA8cD5TZXR0aW5nIHRoZSA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj5BdXRoQXV0aG9yaXRhdGl2ZTwvY29kZT4gZGlyZWN0aXZlCiAgICBleHBsaWNpdGx5IHRvIDxjb2RlPk9mZjwvY29kZT4gYWxsb3dzIGZvciBib3RoIGF1dGhlbnRpY2F0aW9uIGFuZAogICAgYXV0aG9yaXphdGlvbiB0byBiZSBwYXNzZWQgb24gdG8gbG93ZXIgbGV2ZWwgbW9kdWxlcyAoYXMgZGVmaW5lZCBpbiB0aGUKICAgIDxjb2RlPm1vZHVsZXMuYzwvY29kZT4gZmlsZXMpIGlmIHRoZXJlIGlzIDxzdHJvbmc+bm8gdXNlcklEPC9zdHJvbmc+CiAgICBvciA8c3Ryb25nPnJ1bGU8L3N0cm9uZz4gbWF0Y2hpbmcgdGhlIHN1cHBsaWVkIHVzZXJJRC4gSWYgdGhlcmUgaXMgYQogICAgdXNlcklEIGFuZC9vciBydWxlIHNwZWNpZmllZDsgdGhlIHVzdWFsIHBhc3N3b3JkIGFuZCBhY2Nlc3MgY2hlY2tzCiAgICB3aWxsIGJlIGFwcGxpZWQgYW5kIGEgZmFpbHVyZSB3aWxsIGdpdmUgYW4gIkF1dGhlbnRpY2F0aW9uIFJlcXVpcmVkIgogICAgcmVwbHkuPC9wPgoKICAgIDxwPlNvIGlmIGEgdXNlcklEIGFwcGVhcnMgaW4gdGhlIGRhdGFiYXNlIG9mIG1vcmUgdGhhbiBvbmUgbW9kdWxlOwogICAgb3IgaWYgYSB2YWxpZCA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuLi9tb2QvY29yZS5odG1sI3JlcXVpcmUiPlJlcXVpcmU8L2E+PC9jb2RlPgogICAgZGlyZWN0aXZlIGFwcGxpZXMgdG8gbW9yZSB0aGFuIG9uZSBtb2R1bGU7IHRoZW4gdGhlIGZpcnN0IG1vZHVsZQogICAgd2lsbCB2ZXJpZnkgdGhlIGNyZWRlbnRpYWxzOyBhbmQgbm8gYWNjZXNzIGlzIHBhc3NlZCBvbjsKICAgIHJlZ2FyZGxlc3Mgb2YgdGhlIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPkF1dGhBdXRob3JpdGF0aXZlPC9jb2RlPiBzZXR0aW5nLjwvcD4KCiAgICA8cD5BIGNvbW1vbiB1c2UgZm9yIHRoaXMgaXMgaW4gY29uanVuY3Rpb24gd2l0aCBvbmUgb2YgdGhlCiAgICBkYXRhYmFzZSBtb2R1bGVzOyBzdWNoIGFzIDxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4uL21vZC9tb2RfYXV0aF9kYm0uaHRtbCI+bW9kX2F1dGhfZGJtPC9hPjwvY29kZT4sCiAgICA8Y29kZT5tb2RfYXV0aF9tc3FsPC9jb2RlPiwgYW5kIDxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4uL21vZC9tb2RfYXV0aF9hbm9uLmh0bWwiPm1vZF9hdXRoX2Fub248L2E+PC9jb2RlPi4KICAgIFRoZXNlIG1vZHVsZXMgc3VwcGx5IHRoZSBidWxrIG9mIHRoZSB1c2VyIGNyZWRlbnRpYWwgY2hlY2tpbmc7IGJ1dAogICAgYSBmZXcgKGFkbWluaXN0cmF0b3IpIHJlbGF0ZWQgYWNjZXNzZXMgZmFsbCB0aHJvdWdoIHRvIGEgbG93ZXIKICAgIGxldmVsIHdpdGggYSB3ZWxsIHByb3RlY3RlZCA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjYXV0aHVzZXJmaWxlIj5BdXRoVXNlckZpbGU8L2E+PC9jb2RlPi48L3A+CgogICAgPHA+QnkgZGVmYXVsdCBjb250cm9sIGlzIG5vdCBwYXNzZWQgb24gYW5kIGFuIHVua25vd24gdXNlcklEIG9yCiAgICBydWxlIHdpbGwgcmVzdWx0IGluIGFuICJBdXRoZW50aWNhdGlvbiBSZXF1aXJlZCIgcmVwbHkuIE5vdCBzZXR0aW5nCiAgICBpdCB0aHVzIGtlZXBzIHRoZSBzeXN0ZW0gc2VjdXJlIGFuZCBmb3JjZXMgYW4gTkNTQSBjb21wbGlhbnQKICAgIGJlaGF2aW91ci48L3A+CgogICAgPGRpdiBjbGFzcz0id2FybmluZyI+PGgzPlNlY3VyaXR5PC9oMz4KICAgICAgPHA+RG8gY29uc2lkZXIgdGhlIGltcGxpY2F0aW9ucyBvZiBhbGxvd2luZyBhIHVzZXIgdG8gYWxsb3cKICAgICAgZmFsbC10aHJvdWdoIGluIGhpcyAuaHRhY2Nlc3MgZmlsZTsgYW5kIHZlcmlmeSB0aGF0IHRoaXMgaXMgcmVhbGx5CiAgICAgIHdoYXQgeW91IHdhbnQ7IEdlbmVyYWxseSBpdCBpcyBlYXNpZXIgdG8ganVzdCBzZWN1cmUgYSBzaW5nbGUKICAgICAgLmh0cGFzc3dkIGZpbGUsIHRoYW4gaXQgaXMgdG8gc2VjdXJlIGEgZGF0YWJhc2Ugc3VjaCBhcyBtU1FMLgogICAgICBNYWtlIHN1cmUgdGhhdCB0aGUgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2F1dGh1c2VyZmlsZSI+QXV0aFVzZXJGaWxlPC9hPjwvY29kZT4gYW5kIHRoZSA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjYXV0aGdyb3VwZmlsZSI+QXV0aEdyb3VwRmlsZTwvYT48L2NvZGU+IGFyZSBzdG9yZWQgb3V0c2lkZSB0aGUgZG9jdW1lbnQgdHJlZSBvZgogICAgICB0aGUgd2ViLXNlcnZlcjsgZG8gPGVtPm5vdDwvZW0+IHB1dCB0aGVtIGluIHRoZSBkaXJlY3RvcnkgdGhhdCB0aGV5CiAgICAgIHByb3RlY3QuIE90aGVyd2lzZSwgY2xpZW50cyB3aWxsIGJlIGFibGUgdG8gZG93bmxvYWQgdGhlIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNhdXRodXNlcmZpbGUiPkF1dGhVc2VyRmlsZTwvYT48L2NvZGU+IGFuZCB0aGUgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2F1dGhncm91cGZpbGUiPkF1dGhHcm91cEZpbGU8L2E+PC9jb2RlPi48L3A+CiAgICA8L2Rpdj4KCjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0iZGlyZWN0aXZlLXNlY3Rpb24iPjxoMj48YSBuYW1lPSJBdXRoR3JvdXBGaWxlIiBpZD0iQXV0aEdyb3VwRmlsZSI+QXV0aEdyb3VwRmlsZTwvYT4gPGEgbmFtZT0iYXV0aGdyb3VwZmlsZSIgaWQ9ImF1dGhncm91cGZpbGUiPkRpcmVjdGl2ZTwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPlNldHMgdGhlIG5hbWUgb2YgYSB0ZXh0IGZpbGUgY29udGFpbmluZyB0aGUgbGlzdApvZiB1c2VyIGdyb3VwcyBmb3IgYXV0aGVudGljYXRpb248L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTeW50YXgiPlN5bnRheDo8L2E+PC90aD48dGQ+PGNvZGU+QXV0aEdyb3VwRmlsZSA8dmFyPmZpbGUtcGF0aDwvdmFyPjwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNDb250ZXh0Ij5Db250ZXh0OjwvYT48L3RoPjx0ZD5kaXJlY3RvcnksIC5odGFjY2VzczwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI092ZXJyaWRlIj5PdmVycmlkZTo8L2E+PC90aD48dGQ+QXV0aENvbmZpZzwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHVzOjwvYT48L3RoPjx0ZD5CYXNlPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjTW9kdWxlIj5Nb2R1bGU6PC9hPjwvdGg+PHRkPm1vZF9hdXRoPC90ZD48L3RyPgo8L3RhYmxlPgogICAgPHA+VGhlIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPkF1dGhHcm91cEZpbGU8L2NvZGU+IGRpcmVjdGl2ZSBzZXRzIHRoZQogICAgbmFtZSBvZiBhIHRleHR1YWwgZmlsZSBjb250YWluaW5nIHRoZSBsaXN0IG9mIHVzZXIgZ3JvdXBzIGZvciB1c2VyCiAgICBhdXRoZW50aWNhdGlvbi4gPHZhcj5GaWxlLXBhdGg8L3Zhcj4gaXMgdGhlIHBhdGggdG8gdGhlIGdyb3VwCiAgICBmaWxlLiBJZiBpdCBpcyBub3QgYWJzb2x1dGUsIGl0IGlzIHRyZWF0ZWQgYXMgcmVsYXRpdmUgdG8gdGhlIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4uL21vZC9jb3JlLmh0bWwjc2VydmVycm9vdCI+U2VydmVyUm9vdDwvYT48L2NvZGU+LjwvcD4KCiAgICA8cD5FYWNoIGxpbmUgb2YgdGhlIGdyb3VwIGZpbGUgY29udGFpbnMgYSBncm91cG5hbWUgZm9sbG93ZWQgYnkgYQogICAgY29sb24sIGZvbGxvd2VkIGJ5IHRoZSBtZW1iZXIgdXNlcm5hbWVzIHNlcGFyYXRlZCBieSBzcGFjZXMuPC9wPgoKICAgIDxkaXYgY2xhc3M9ImV4YW1wbGUiPjxoMz5FeGFtcGxlOjwvaDM+PHA+PGNvZGU+CiAgICAgIG15Z3JvdXA6IGJvYiBqb2UgYW5uZQogICAgPC9jb2RlPjwvcD48L2Rpdj4gCgogICAgPHA+Tm90ZSB0aGF0IHNlYXJjaGluZyBsYXJnZSB0ZXh0IGZpbGVzIGlzIDxlbT52ZXJ5PC9lbT4KICAgIGluZWZmaWNpZW50OyA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuLi9tb2QvbW9kX2F1dGhfZGJtLmh0bWwjYXV0aGRibWdyb3VwZmlsZSI+QXV0aERCTUdyb3VwRmlsZTwvYT48L2NvZGU+IHByb3ZpZGVzIGEgbXVjaCBiZXR0ZXIgcGVyZm9ybWFuY2UuPC9wPgoKICAgIDxkaXYgY2xhc3M9Indhcm5pbmciPjxoMz5TZWN1cml0eTwvaDM+CiAgICAgIDxwPk1ha2Ugc3VyZSB0aGF0IHRoZSA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj5BdXRoR3JvdXBGaWxlPC9jb2RlPiBpcwogICAgICBzdG9yZWQgb3V0c2lkZSB0aGUgZG9jdW1lbnQgdHJlZSBvZiB0aGUgd2ViLXNlcnZlcjsgZG8gPGVtPm5vdDwvZW0+CiAgICAgIHB1dCBpdCBpbiB0aGUgZGlyZWN0b3J5IHRoYXQgaXQgcHJvdGVjdHMuIE90aGVyd2lzZSwgY2xpZW50cyBtYXkKICAgICAgYmUgYWJsZSB0byBkb3dubG9hZCB0aGUgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+QXV0aEdyb3VwRmlsZTwvY29kZT4uPC9wPgogICAgPC9kaXY+Cgo8L2Rpdj4KPGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9ImRpcmVjdGl2ZS1zZWN0aW9uIj48aDI+PGEgbmFtZT0iQXV0aFVzZXJGaWxlIiBpZD0iQXV0aFVzZXJGaWxlIj5BdXRoVXNlckZpbGU8L2E+IDxhIG5hbWU9ImF1dGh1c2VyZmlsZSIgaWQ9ImF1dGh1c2VyZmlsZSI+RGlyZWN0aXZlPC9hPjwvaDI+Cjx0YWJsZSBjbGFzcz0iZGlyZWN0aXZlIj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0Rlc2NyaXB0aW9uIj5EZXNjcmlwdGlvbjo8L2E+PC90aD48dGQ+U2V0cyB0aGUgbmFtZSBvZiBhIHRleHQgZmlsZSBjb250YWluaW5nIHRoZSBsaXN0IG9mIHVzZXJzIGFuZApwYXNzd29yZHMgZm9yIGF1dGhlbnRpY2F0aW9uPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3ludGF4Ij5TeW50YXg6PC9hPjwvdGg+PHRkPjxjb2RlPkF1dGhVc2VyRmlsZSA8dmFyPmZpbGUtcGF0aDwvdmFyPjwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNDb250ZXh0Ij5Db250ZXh0OjwvYT48L3RoPjx0ZD5kaXJlY3RvcnksIC5odGFjY2VzczwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI092ZXJyaWRlIj5PdmVycmlkZTo8L2E+PC90aD48dGQ+QXV0aENvbmZpZzwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHVzOjwvYT48L3RoPjx0ZD5CYXNlPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjTW9kdWxlIj5Nb2R1bGU6PC9hPjwvdGg+PHRkPm1vZF9hdXRoPC90ZD48L3RyPgo8L3RhYmxlPgogICAgPHA+VGhlIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPkF1dGhVc2VyRmlsZTwvY29kZT4gZGlyZWN0aXZlIHNldHMgdGhlIG5hbWUKICAgIG9mIGEgdGV4dHVhbCBmaWxlIGNvbnRhaW5pbmcgdGhlIGxpc3Qgb2YgdXNlcnMgYW5kIHBhc3N3b3JkcyBmb3IKICAgIHVzZXIgYXV0aGVudGljYXRpb24uIDx2YXI+RmlsZS1wYXRoPC92YXI+IGlzIHRoZSBwYXRoIHRvIHRoZSB1c2VyCiAgICBmaWxlLiBJZiBpdCBpcyBub3QgYWJzb2x1dGUgKDxlbT5pLmUuPC9lbT4sIGlmIGl0IGRvZXNuJ3QgYmVnaW4KICAgIHdpdGggYSBzbGFzaCksIGl0IGlzIHRyZWF0ZWQgYXMgcmVsYXRpdmUgdG8gdGhlIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4uL21vZC9jb3JlLmh0bWwjc2VydmVycm9vdCI+U2VydmVyUm9vdDwvYT48L2NvZGU+LjwvcD4KCiAgICA8cD5FYWNoIGxpbmUgb2YgdGhlIHVzZXIgZmlsZSBjb250YWlucyBhIHVzZXJuYW1lIGZvbGxvd2VkIGJ5CiAgICBhIGNvbG9uLCBmb2xsb3dlZCBieSB0aGUgZW5jcnlwdGVkIHBhc3N3b3JkLiBJZiB0aGUgc2FtZSB1c2VyCiAgICBJRCBpcyBkZWZpbmVkIG11bHRpcGxlIHRpbWVzLCA8Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuLi9tb2QvbW9kX2F1dGguaHRtbCI+bW9kX2F1dGg8L2E+PC9jb2RlPiB3aWxsCiAgICB1c2UgdGhlIGZpcnN0IG9jY3VycmVuY2UgdG8gdmVyaWZ5IHRoZSBwYXNzd29yZC48L3A+CgogICAgPHA+VGhlIHV0aWxpdHkgPGEgaHJlZj0iLi4vcHJvZ3JhbXMvaHRwYXNzd2QuaHRtbCI+aHRwYXNzd2Q8L2E+CiAgICB3aGljaCBpcyBpbnN0YWxsZWQgYXMgcGFydCBvZiB0aGUgYmluYXJ5IGRpc3RyaWJ1dGlvbiwgb3Igd2hpY2gKICAgIGNhbiBiZSBmb3VuZCBpbiA8Y29kZT5zcmMvc3VwcG9ydDwvY29kZT4sIGlzIHVzZWQgdG8gbWFpbnRhaW4KICAgIHRoaXMgcGFzc3dvcmQgZmlsZS4gU2VlIHRoZSA8YSBocmVmPSIuLi9wcm9ncmFtcy9odHBhc3N3ZC5odG1sIj5tYW4KICAgIHBhZ2U8L2E+IGZvciBtb3JlIGRldGFpbHMuIEluIHNob3J0OjwvcD4KCiAgICA8cD5DcmVhdGUgYSBwYXNzd29yZCBmaWxlIDxjb2RlPkZpbGVuYW1lPC9jb2RlPiB3aXRoCiAgICA8Y29kZT51c2VybmFtZTwvY29kZT4gYXMgdGhlIGluaXRpYWwgSUQuIEl0IHdpbGwgcHJvbXB0IGZvciB0aGUKICAgIHBhc3N3b3JkOjwvcD4KCiAgICA8ZGl2IGNsYXNzPSJleGFtcGxlIj48cD48Y29kZT4KICAgICAgaHRwYXNzd2QgLWMgRmlsZW5hbWUgdXNlcm5hbWUKICAgIDwvY29kZT48L3A+PC9kaXY+CgogICAgPHA+QWRkIG9yIG1vZGlmeSA8Y29kZT51c2VybmFtZTI8L2NvZGU+IGluIHRoZSBwYXNzd29yZCBmaWxlCiAgICA8Y29kZT5GaWxlbmFtZTwvY29kZT46PC9wPgoKICAgIDxkaXYgY2xhc3M9ImV4YW1wbGUiPjxwPjxjb2RlPgogICAgICBodHBhc3N3ZCBGaWxlbmFtZSB1c2VybmFtZTIKICAgIDwvY29kZT48L3A+PC9kaXY+CgogICAgPHA+Tm90ZSB0aGF0IHNlYXJjaGluZyBsYXJnZSB0ZXh0IGZpbGVzIGlzIDxlbT52ZXJ5PC9lbT4KICAgIGluZWZmaWNpZW50OyA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuLi9tb2QvbW9kX2F1dGhfZGJtLmh0bWwjYXV0aGRibXVzZXJmaWxlIj5BdXRoREJNVXNlckZpbGU8L2E+PC9jb2RlPiBzaG91bGQgYmUgdXNlZAogICAgaW5zdGVhZC48L3A+CgogICAgPGRpdiBjbGFzcz0id2FybmluZyI+PGgzPlNlY3VyaXR5PC9oMz4KICAgICAgPHA+TWFrZSBzdXJlIHRoYXQgdGhlIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPkF1dGhVc2VyRmlsZTwvY29kZT4gaXMKICAgICAgc3RvcmVkIG91dHNpZGUgdGhlIGRvY3VtZW50IHRyZWUgb2YgdGhlIHdlYi1zZXJ2ZXIuIERvCiAgICAgIDxzdHJvbmc+bm90PC9zdHJvbmc+IHB1dCBpdCBpbiB0aGUgZGlyZWN0b3J5IHRoYXQgaXQgcHJvdGVjdHMuCiAgICAgIE90aGVyd2lzZSwgY2xpZW50cyBtYXkgYmUgYWJsZSB0byBkb3dubG9hZCB0aGUKICAgICAgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+QXV0aFVzZXJGaWxlPC9jb2RlPi48L3A+CiAgICA8L2Rpdj4KCjwvZGl2Pgo8L2Rpdj4KPGRpdiBpZD0iZm9vdGVyIj4KPHAgY2xhc3M9ImFwYWNoZSI+TWFpbnRhaW5lZCBieSB0aGUgPGEgaHJlZj0iaHR0cDovL2h0dHBkLmFwYWNoZS5vcmcvZG9jcy1wcm9qZWN0LyI+QXBhY2hlIEhUVFAgU2VydmVyIERvY3VtZW50YXRpb24gUHJvamVjdDwvYT48L3A+CjxwIGNsYXNzPSJtZW51Ij48YSBocmVmPSIuLi9tb2QvIj5Nb2R1bGVzPC9hPiB8IDxhIGhyZWY9Ii4uL21vZC9kaXJlY3RpdmVzLmh0bWwiPkRpcmVjdGl2ZXM8L2E+IHwgPGEgaHJlZj0iLi4vZmFxLyI+RkFRPC9hPiB8IDxhIGhyZWY9Ii4uL2dsb3NzYXJ5Lmh0bWwiPkdsb3NzYXJ5PC9hPiB8IDxhIGhyZWY9Ii4uL3NpdGVtYXAuaHRtbCI+U2l0ZW1hcDwvYT48L3A+PC9kaXY+CjwvYm9keT48L2h0bWw+