PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/Pgo8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBsYW5nPSJmciIgeG1sOmxhbmc9ImZyIj48aGVhZD4KPG1ldGEgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEiIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgLz4KPCEtLQogICAgICAgIFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYCiAgICAgICAgICAgICAgVGhpcyBmaWxlIGlzIGdlbmVyYXRlZCBmcm9tIHhtbCBzb3VyY2U6IERPIE5PVCBFRElUCiAgICAgICAgWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgKICAgICAgLS0+Cjx0aXRsZT5tb2RfdW5peGQgLSBTZXJ2ZXVyIEFwYWNoZSBIVFRQIFZlcnNpb24gMi40PC90aXRsZT4KPGxpbmsgaHJlZj0iLi4vc3R5bGUvY3NzL21hbnVhbC5jc3MiIHJlbD0ic3R5bGVzaGVldCIgbWVkaWE9ImFsbCIgdHlwZT0idGV4dC9jc3MiIHRpdGxlPSJNYWluIHN0eWxlc2hlZXQiIC8+CjxsaW5rIGhyZWY9Ii4uL3N0eWxlL2Nzcy9tYW51YWwtbG9vc2UtMTAwcGMuY3NzIiByZWw9ImFsdGVybmF0ZSBzdHlsZXNoZWV0IiBtZWRpYT0iYWxsIiB0eXBlPSJ0ZXh0L2NzcyIgdGl0bGU9Ik5vIFNpZGViYXIgLSBEZWZhdWx0IGZvbnQgc2l6ZSIgLz4KPGxpbmsgaHJlZj0iLi4vc3R5bGUvY3NzL21hbnVhbC1wcmludC5jc3MiIHJlbD0ic3R5bGVzaGVldCIgbWVkaWE9InByaW50IiB0eXBlPSJ0ZXh0L2NzcyIgLz48bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi9zdHlsZS9jc3MvcHJldHRpZnkuY3NzIiAvPgo8c2NyaXB0IHNyYz0iLi4vc3R5bGUvc2NyaXB0cy9wcmV0dGlmeS5taW4uanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+Cjwvc2NyaXB0PgoKPGxpbmsgaHJlZj0iLi4vaW1hZ2VzL2Zhdmljb24uaWNvIiByZWw9InNob3J0Y3V0IGljb24iIC8+PC9oZWFkPgo8Ym9keT4KPGRpdiBpZD0icGFnZS1oZWFkZXIiPgo8cCBjbGFzcz0ibWVudSI+PGEgaHJlZj0iLi4vbW9kLyI+TW9kdWxlczwvYT4gfCA8YSBocmVmPSIuLi9tb2QvZGlyZWN0aXZlcy5odG1sIj5EaXJlY3RpdmVzPC9hPiB8IDxhIGhyZWY9Imh0dHA6Ly93aWtpLmFwYWNoZS5vcmcvaHR0cGQvRkFRIj5GQVE8L2E+IHwgPGEgaHJlZj0iLi4vZ2xvc3NhcnkuaHRtbCI+R2xvc3NhaXJlPC9hPiB8IDxhIGhyZWY9Ii4uL3NpdGVtYXAuaHRtbCI+UGxhbiBkdSBzaXRlPC9hPjwvcD4KPHAgY2xhc3M9ImFwYWNoZSI+U2VydmV1ciBBcGFjaGUgSFRUUCBWZXJzaW9uIDIuNDwvcD4KPGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZmVhdGhlci5wbmciIC8+PC9kaXY+CjxkaXYgY2xhc3M9InVwIj48YSBocmVmPSIuLyI+PGltZyB0aXRsZT0iJmx0Oy0iIGFsdD0iJmx0Oy0iIHNyYz0iLi4vaW1hZ2VzL2xlZnQuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBpZD0icGF0aCI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuYXBhY2hlLm9yZy8iPkFwYWNoZTwvYT4gJmd0OyA8YSBocmVmPSJodHRwOi8vaHR0cGQuYXBhY2hlLm9yZy8iPlNlcnZldXIgSFRUUDwvYT4gJmd0OyA8YSBocmVmPSJodHRwOi8vaHR0cGQuYXBhY2hlLm9yZy9kb2NzLyI+RG9jdW1lbnRhdGlvbjwvYT4gJmd0OyA8YSBocmVmPSIuLi8iPlZlcnNpb24gMi40PC9hPiAmZ3Q7IDxhIGhyZWY9Ii4vIj5Nb2R1bGVzPC9hPjwvZGl2Pgo8ZGl2IGlkPSJwYWdlLWNvbnRlbnQiPgo8ZGl2IGlkPSJwcmVhbWJsZSI+PGgxPk1vZHVsZSBBcGFjaGUgbW9kX3VuaXhkPC9oMT4KPGRpdiBjbGFzcz0idG9wbGFuZyI+CjxwPjxzcGFuPkxhbmd1ZXMgRGlzcG9uaWJsZXM6IDwvc3Bhbj48YSBocmVmPSIuLi9lbi9tb2QvbW9kX3VuaXhkLmh0bWwiIGhyZWZsYW5nPSJlbiIgcmVsPSJhbHRlcm5hdGUiIHRpdGxlPSJFbmdsaXNoIj4mbmJzcDtlbiZuYnNwOzwvYT4gfAo8YSBocmVmPSIuLi9mci9tb2QvbW9kX3VuaXhkLmh0bWwiIHRpdGxlPSJGcmFu52FpcyI+Jm5ic3A7ZnImbmJzcDs8L2E+IHwKPGEgaHJlZj0iLi4vdHIvbW9kL21vZF91bml4ZC5odG1sIiBocmVmbGFuZz0idHIiIHJlbD0iYWx0ZXJuYXRlIiB0aXRsZT0iVPxya+dlIj4mbmJzcDt0ciZuYnNwOzwvYT48L3A+CjwvZGl2Pgo8dGFibGUgY2xhc3M9Im1vZHVsZSI+PHRyPjx0aD48YSBocmVmPSJtb2R1bGUtZGljdC5odG1sI0Rlc2NyaXB0aW9uIj5EZXNjcmlwdGlvbjo8L2E+PC90aD48dGQ+U+ljdXJpdOkgZGUgYmFzZSAobuljZXNzYWlyZSkgcG91ciBsZXMgcGxhdGVzLWZvcm1lcyBkZSBsYQpmYW1pbGxlIFVuaXguPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9Im1vZHVsZS1kaWN0Lmh0bWwjU3RhdHVzIj5TdGF0dXQ6PC9hPjwvdGg+PHRkPkJhc2U8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0ibW9kdWxlLWRpY3QuaHRtbCNNb2R1bGVJZGVudGlmaWVyIj5JZGVudGlmaWNhdGV1cqBkZaBNb2R1bGU6PC9hPjwvdGg+PHRkPnVuaXhkX21vZHVsZTwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJtb2R1bGUtZGljdC5odG1sI1NvdXJjZUZpbGUiPkZpY2hpZXKgU291cmNlOjwvYT48L3RoPjx0ZD5tb2RfdW5peGQuYzwvdGQ+PC90cj48L3RhYmxlPgo8L2Rpdj4KPGRpdiBpZD0icXVpY2t2aWV3Ij48aDMgY2xhc3M9ImRpcmVjdGl2ZXMiPkRpcmVjdGl2ZXM8L2gzPgo8dWwgaWQ9InRvYyI+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI2Nocm9vdGRpciI+Q2hyb290RGlyPC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI2dyb3VwIj5Hcm91cDwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNzdWV4ZWMiPlN1ZXhlYzwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiN1c2VyIj5Vc2VyPC9hPjwvbGk+CjwvdWw+CjxoMz5UcmFpdGVtZW50IGRlcyBidWdzPC9oMz48dWwgY2xhc3M9InNlZWFsc28iPjxsaT48YSBocmVmPSJodHRwczovL3d3dy5hcGFjaGUub3JnL2Rpc3QvaHR0cGQvQ0hBTkdFU18yLjQiPkpvdXJuYWwgZGVzIG1vZGlmaWNhdGlvbnMgZGUgaHR0cGQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9iei5hcGFjaGUub3JnL2J1Z3ppbGxhL2J1Z2xpc3QuY2dpP2J1Z19zdGF0dXM9X19vcGVuX18mYW1wO2xpc3RfaWQ9MTQ0NTMyJmFtcDtwcm9kdWN0PUFwYWNoZSUyMGh0dHBkLTImYW1wO3F1ZXJ5X2Zvcm1hdD1zcGVjaWZpYyZhbXA7b3JkZXI9Y2hhbmdlZGRhdGUlMjBERVNDJTJDcHJpb3JpdHklMkNidWdfc2V2ZXJpdHkmYW1wO2NvbXBvbmVudD1tb2RfdW5peGQiPlByb2Js6G1lcyBjb25udXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9iei5hcGFjaGUub3JnL2J1Z3ppbGxhL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1BcGFjaGUlMjBodHRwZC0yJmFtcDtjb21wb25lbnQ9bW9kX3VuaXhkIj5TaWduYWxlciB1biBidWc8L2E+PC9saT48L3VsPjxoMz5Wb2lyIGF1c3NpPC9oMz4KPHVsIGNsYXNzPSJzZWVhbHNvIj4KPGxpPjxhIGhyZWY9Ii4uL3N1ZXhlYy5odG1sIj5TdXBwb3J0IGRlIHN1RVhFQzwvYT48L2xpPgo8bGk+PGEgaHJlZj0iI2NvbW1lbnRzX3NlY3Rpb24iPkNvbW1lbnRhaXJlczwvYT48L2xpPjwvdWw+PC9kaXY+Cgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0iZGlyZWN0aXZlLXNlY3Rpb24iPjxoMj48YSBuYW1lPSJjaHJvb3RkaXIiIGlkPSJjaHJvb3RkaXIiPkRpcmVjdGl2ZTwvYT4gPGEgbmFtZT0iQ2hyb290RGlyIiBpZD0iQ2hyb290RGlyIj5DaHJvb3REaXI8L2E+PC9oMj4KPHRhYmxlIGNsYXNzPSJkaXJlY3RpdmUiPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVzY3JpcHRpb24iPkRlc2NyaXB0aW9uOjwvYT48L3RoPjx0ZD5S6XBlcnRvaXJlIGRhbnMgbGVxdWVsIEFwYWNoZSBkb2l0IHNlIHBvc2l0aW9ubmVyIGF1CmTpbWFycmFnZSBhcHLocyBhdm9pciBlZmZlY3R16SB1biBjaHJvb3QoOCkuPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3ludGF4Ij5TeW50YXhlOjwvYT48L3RoPjx0ZD48Y29kZT5DaHJvb3REaXIgPHZhcj5jaGVtaW4tculwZXJ0b2lyZTwvdmFyPjwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZWZhdWx0Ij5E6WZhdXQ6PC9hPjwvdGg+PHRkPjxjb2RlPk5vbiBk6WZpbmk8L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjQ29udGV4dCI+Q29udGV4dGU6PC9hPjwvdGg+PHRkPmNvbmZpZ3VyYXRpb24gZHUgc2VydmV1cjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHV0OjwvYT48L3RoPjx0ZD5CYXNlPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjTW9kdWxlIj5Nb2R1bGU6PC9hPjwvdGg+PHRkPjxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4uL21vZC9tb2RfdW5peGQuaHRtbCI+bW9kX3VuaXhkPC9hPjwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNDb21wYXRpYmlsaXR5Ij5Db21wYXRpYmlsaXTpOjwvYT48L3RoPjx0ZD5EaXNwb25pYmxlIGRlcHVpcyBsYSB2ZXJzaW9uIDIuMi4xMCBkJ0FwYWNoZTwvdGQ+PC90cj4KPC90YWJsZT4KICAgIDxwPkNldHRlIGRpcmVjdGl2ZSBmYWl0IGVuIHNvcnRlIHF1ZSBsZSBzZXJ2ZXVyIGVmZmVjdHVlIHVuCiAgICA8dmFyPmNocm9vdCg4KTwvdmFyPiB2ZXJzIGxlIHLpcGVydG9pcmUgc3DpY2lmaekgYXBy6HMgbGUgZOltYXJyYWdlLAogICAgbWFpcyBhdmFudCBkJ2FjY2VwdGVyIGxlcyByZXF16nRlcyBlbiBwcm92ZW5hbmNlIGR1IHLpc2VhdS48L3A+CiAgICA8cD5Ob3RleiBxdWUgbCdleOljdXRpb24gZHUgc2VydmV1ciBkYW5zIHVuIGVudmlyb25uZW1lbnQgY2hyb290CiAgICBuJ2VzdCBwYXMgc2ltcGxlIGV0IG7pY2Vzc2l0ZSB1bmUgY29uZmlndXJhdGlvbiBwYXJ0aWN1bGnocmUsIGVuCiAgICBwYXJ0aWN1bGllciBzaSB2b3VzIHV0aWxpc2V6IGRlcyBzY3JpcHRzIENHSSBvdSBQSFAuIElsIGVzdAogICAgY29uc2VpbGzpIGRlIHNlIGZhbWlsaWFyaXNlciBhdmVjIGwnb3DpcmF0aW9uIGNocm9vdCBhdmFudCBkJ2Vzc2F5ZXIKICAgIGQndXRpbGlzZXIgY2V0dGUgZm9uY3Rpb25uYWxpdOkuPC9wPgoKPC9kaXY+CjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJkaXJlY3RpdmUtc2VjdGlvbiI+PGgyPjxhIG5hbWU9Imdyb3VwIiBpZD0iZ3JvdXAiPkRpcmVjdGl2ZTwvYT4gPGEgbmFtZT0iR3JvdXAiIGlkPSJHcm91cCI+R3JvdXA8L2E+PC9oMj4KPHRhYmxlIGNsYXNzPSJkaXJlY3RpdmUiPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVzY3JpcHRpb24iPkRlc2NyaXB0aW9uOjwvYT48L3RoPjx0ZD5Hcm91cGUgc291cyBsZXF1ZWwgbGUgc2VydmV1ciB2YSB0cmFpdGVyIGxlcwpyZXF16nRlczwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N5bnRheCI+U3ludGF4ZTo8L2E+PC90aD48dGQ+PGNvZGU+R3JvdXAgPHZhcj5ncm91cGUgdW5peDwvdmFyPjwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZWZhdWx0Ij5E6WZhdXQ6PC9hPjwvdGg+PHRkPjxjb2RlPkdyb3VwICMtMTwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNDb250ZXh0Ij5Db250ZXh0ZTo8L2E+PC90aD48dGQ+Y29uZmlndXJhdGlvbiBkdSBzZXJ2ZXVyPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3RhdHVzIj5TdGF0dXQ6PC9hPjwvdGg+PHRkPkJhc2U8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNNb2R1bGUiPk1vZHVsZTo8L2E+PC90aD48dGQ+bW9kX3VuaXhkPC90ZD48L3RyPgo8L3RhYmxlPgogICAgPHA+TGEgZGlyZWN0aXZlIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPkdyb3VwPC9jb2RlPiBwZXJtZXQgZGUgZOlmaW5pciBsZQogICAgZ3JvdXBlIHNvdXMgbGVxdWVsIGxlIHNlcnZldXIgdmEgdHJhaXRlciBsZXMgcmVxdep0ZXMuIFBvdXIKICAgIHV0aWxpc2VyIGNldHRlIGRpcmVjdGl2ZSwgbGUgc2VydmV1ciBkb2l0IGF2b2lyIOl06SBk6W1hcnLpIHBhcgogICAgPGNvZGU+cm9vdDwvY29kZT4uIFNpIHZvdXMgZOltYXJyZXogbGUgc2VydmV1ciBlbiB0YW50CiAgICBxdSd1dGlsaXNhdGV1ciBub24gcm9vdCwgY2VsdWktY2kgbmUgcG91cnJhIHBhcyBhZG9wdGVyIGxlIGdyb3VwZQogICAgc3DpY2lmaekgY29tbWUgZ3JvdXBlIGQnZXjpY3V0aW9uLCBldCBjb250aW51ZXJhIOAgcydleOljdXRlciBzb3VzCiAgICBsZSBncm91cGUgZGUgbCd1dGlsaXNhdGV1ciBxdWkgbCdhdXJhIGxhbmPpLiA8dmFyPmdyb3VwZSB1bml4PC92YXI+CiAgICBwZXV0IHNlIHBy6XNlbnRlciBzb3VzIGxhIGZvcm1lIDo8L3A+CgogICAgPGRsPgogICAgICA8ZHQ+ZCd1biBub20gZGUgZ3JvdXBlPC9kdD4KICAgICAgPGRkPlLpZulyZW5jZSBsZSBncm91cGUgc3DpY2lmaekgcGFyIHNvbiBub20uPC9kZD4KCiAgICAgIDxkdD5kdSBjYXJhY3TocmUgPGNvZGU+IzwvY29kZT4gc3VpdmkgZCd1biBudW3pcm8gZGUgZ3JvdXBlLjwvZHQ+CiAgICAgIDxkZD5S6WbpcmVuY2UgbGUgZ3JvdXBlIHNw6WNpZmnpIHBhciBzb24gbnVt6XJvLjwvZGQ+CiAgICA8L2RsPgoKICAgIDxkaXYgY2xhc3M9ImV4YW1wbGUiPjxoMz5FeGVtcGxlPC9oMz48cHJlIGNsYXNzPSJwcmV0dHlwcmludCBsYW5nLWNvbmZpZyI+R3JvdXAgd3d3LWdyb3VwPC9wcmU+CjwvZGl2PgoKICAgIDxwPklsIGVzdCBjb25zZWlsbOkgZGUgY3LpZXIgdW4gZ3JvdXBlIGTpZGnpIOAgbCdleOljdXRpb24gZHUKICAgIHNlcnZldXIuIENlcnRhaW5zIGFkbWluaXN0cmF0ZXVycyB1dGlsaXNlbnQgbCd1dGlsaXNhdGV1cgogICAgPGNvZGU+bm9ib2R5PC9jb2RlPiwgbWFpcyBjZSBuJ2VzdCBwYXMgdG91am91cnMgc291aGFpdGFibGUgb3UgbeptZQogICAgcG9zc2libGUuPC9wPgoKICAgIDxkaXYgY2xhc3M9Indhcm5pbmciPjxoMz5T6WN1cml06TwvaDM+CiAgICAgIDxwPk5lIGTpZmluaXNzZXogcGFzIGxhIGRpcmVjdGl2ZSA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj5Hcm91cDwvY29kZT4gKG91CiAgICAgIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiN1c2VyIj5Vc2VyPC9hPjwvY29kZT4pIOAKICAgICAgPGNvZGU+cm9vdDwvY29kZT4g4CBtb2lucyBkZSBzYXZvaXIgZXhhY3RlbWVudCBjZSBxdWUgdm91cyBmYWl0ZXMKICAgICAgYWluc2kgcXVlIGxlcyBkYW5nZXJzIGVuY291cnVzLjwvcD4KICAgIDwvZGl2PgoKCjxoMz5Wb2lyIGF1c3NpPC9oMz4KPHVsPgo8bGk+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi4vbW9kL21vZF9wcml2aWxlZ2VzLmh0bWwjdmhvc3Rncm91cCI+Vkhvc3RHcm91cDwvYT48L2NvZGU+PC9saT4KPGxpPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4uL21vZC9tb2Rfc3VleGVjLmh0bWwjc3VleGVjdXNlcmdyb3VwIj5TdWV4ZWNVc2VyR3JvdXA8L2E+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0iZGlyZWN0aXZlLXNlY3Rpb24iPjxoMj48YSBuYW1lPSJzdWV4ZWMiIGlkPSJzdWV4ZWMiPkRpcmVjdGl2ZTwvYT4gPGEgbmFtZT0iU3VleGVjIiBpZD0iU3VleGVjIj5TdWV4ZWM8L2E+PC9oMj4KPHRhYmxlIGNsYXNzPSJkaXJlY3RpdmUiPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVzY3JpcHRpb24iPkRlc2NyaXB0aW9uOjwvYT48L3RoPjx0ZD5BY3RpdmUgb3UgZOlzYWN0aXZlIGxhIGZvbmN0aW9ubmFsaXTpIHN1RVhFQzwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N5bnRheCI+U3ludGF4ZTo8L2E+PC90aD48dGQ+PGNvZGU+U3VleGVjIE9ufE9mZjwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZWZhdWx0Ij5E6WZhdXQ6PC9hPjwvdGg+PHRkPjxjb2RlPk9uIHNpIGxlIGJpbmFpcmUgc3VleGVjIGV4aXN0ZSBhdmVjIGxlcyBtb2RlIGV0IHByb3Byael0YWlyZQphcHByb3ByaelzLCBPZmYgZGFucyBsZSBjYXMgY29udHJhaXJlPC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0NvbnRleHQiPkNvbnRleHRlOjwvYT48L3RoPjx0ZD5jb25maWd1cmF0aW9uIGR1IHNlcnZldXI8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTdGF0dXMiPlN0YXR1dDo8L2E+PC90aD48dGQ+QmFzZTwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI01vZHVsZSI+TW9kdWxlOjwvYT48L3RoPjx0ZD5tb2RfdW5peGQ8L3RkPjwvdHI+CjwvdGFibGU+CiAgICA8cD5Mb3JzcXVlIGNldHRlIGRpcmVjdGl2ZSBlc3QgZOlmaW5pZSDgIE9uLCBsZSBk6W1hcnJhZ2Ug6WNob3VlcmEgc2kKICAgIGxlIGJpbmFpcmUgc3VleGVjIG4nZXhpc3RlIHBhcywgb3UgcG9zc+hkZSB1biBwcm9wcmnpdGFpcmUgb3UgbW9kZQogICAgZmljaGllciBpbnZhbGlkZS48L3A+CiAgICA8cD5Mb3JzcXVlIGNldHRlIGRpcmVjdGl2ZSBlc3QgZOlmaW5pZSDgIE9mZiwgc3VFWEVDIHNlcmEgZOlzYWN0aXbpLAogICAgbeptZSBzaSBsZSBiaW5haXJlIHN1ZXhlYyBleGlzdGUgZXQgcG9zc+hkZSB1biBwcm9wcmnpdGFpcmUgZXQgbW9kZQogICAgZmljaGllciB2YWxpZGVzLjwvcD4KCjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0iZGlyZWN0aXZlLXNlY3Rpb24iPjxoMj48YSBuYW1lPSJ1c2VyIiBpZD0idXNlciI+RGlyZWN0aXZlPC9hPiA8YSBuYW1lPSJVc2VyIiBpZD0iVXNlciI+VXNlcjwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPkwndXRpbGlzYXRldXIgc291cyBsZXF1ZWwgbGUgc2VydmV1ciB2YSB0cmFpdGVyIGxlcwpyZXF16nRlczwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N5bnRheCI+U3ludGF4ZTo8L2E+PC90aD48dGQ+PGNvZGU+VXNlciA8dmFyPnV0aWxpc2F0ZXVyIHVuaXg8L3Zhcj48L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVmYXVsdCI+ROlmYXV0OjwvYT48L3RoPjx0ZD48Y29kZT5Vc2VyICMtMTwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNDb250ZXh0Ij5Db250ZXh0ZTo8L2E+PC90aD48dGQ+Y29uZmlndXJhdGlvbiBkdSBzZXJ2ZXVyPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3RhdHVzIj5TdGF0dXQ6PC9hPjwvdGg+PHRkPkJhc2U8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNNb2R1bGUiPk1vZHVsZTo8L2E+PC90aD48dGQ+bW9kX3VuaXhkPC90ZD48L3RyPgo8L3RhYmxlPgogICAgPHA+TGEgZGlyZWN0aXZlIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPlVzZXI8L2NvZGU+IHBlcm1ldCBkZSBk6WZpbmlyCiAgICBsJ3V0aWxpc2F0ZXVyIHNvdXMgbGVxdWVsIGxlIHNlcnZldXIgdmEgdHJhaXRlciBsZXMgcmVxdep0ZXMuIFBvdXIKICAgIHV0aWxpc2VyIGNldHRlIGRpcmVjdGl2ZSwgbGUgc2VydmV1ciBkb2l0IGF2b2lyIOl06SBk6W1hcnLpCiAgICBwYXIgPGNvZGU+cm9vdDwvY29kZT4uIFNpIHZvdXMgZOltYXJyZXogbGUgc2VydmV1ciBlbiB0YW50CiAgICBxdSd1dGlsaXNhdGV1ciBub24gcm9vdCwgY2VsdWktY2kgbmUgcG91cnJhIHBhcyBhZG9wdGVyCiAgICBsJ3V0aWxpc2F0ZXVyIGF2ZWMgcHJpdmls6GdlcyByZXN0cmVpbnRzIGNvbW1lIHV0aWxpc2F0ZXVyCiAgICBkJ2V46WN1dGlvbiwgZXQgY29udGludWVyYSDgIHMnZXjpY3V0ZXIgc291cwogICAgbCd1dGlsaXNhdGV1ciBxdWkgbCdhdXJhIGxhbmPpLiBTaSB2b3VzIGTpbWFycmV6IGxlIHNlcnZldXIgZW4gdGFudAogICAgcXVlIDxjb2RlPnJvb3Q8L2NvZGU+LCBpbCBlc3Qgbm9ybWFsIHF1ZSBsZSBwcm9jZXNzdXMgcGFyZW50CiAgICBjb250aW51ZSDgIHMnZXjpY3V0ZXIgc291cyByb290LiA8dmFyPnV0aWxpc2F0ZXVyIHVuaXg8L3Zhcj4gcGV1dCBzZQogICAgcHLpc2VudGVyIHNvdXMgbGEgZm9ybWUgOjwvcD4KCiAgICA8ZGw+CiAgICAgIDxkdD5kJ3VuIG5vbSBkJ3V0aWxpc2F0ZXVyPC9kdD4KICAgICAgPGRkPlLpZulyZW5jZSBsJ3V0aWxpc2F0ZXVyIHNw6WNpZmnpIHBhciBzb24gbm9tLjwvZGQ+CgogICAgICA8ZHQ+bGUgY2FyYWN06HJlICMgc3VpdmkgZCd1biBudW3pcm8gZCd1dGlsaXNhdGV1ci48L2R0PgogICAgICA8ZGQ+Uulm6XJlbmNlIGwndXRpbGlzYXRldXIgc3DpY2lmaekgcGFyIHNvbiBudW3pcm8uPC9kZD4KICAgIDwvZGw+CgogICAgPHA+TCd1dGlsaXNhdGV1ciBuZSBkb2l0IHBhcyBwb3Nz6WRlciBkZSBwcml2aWzoZ2VzIHF1aSBsdWkKICAgIHBlcm1ldHRyYWllbnQgZCdhY2PpZGVyIOAgZGVzIGZpY2hpZXJzIG5vbiBkZXN0aW7pcyBhdQogICAgbW9uZGUgZXh06XJpZXVyLCBldCBwYXJhbGzobGVtZW50LCBsJ3V0aWxpc2F0ZXVyIG5lIGRvaXQgcGFzCiAgICBleOljdXRlciBkZSBjb2RlIGRvbnQgbCd1c2FnZSBzb2l0IGRlc3Rpbukg4CB1biB1c2FnZSBhdXRyZSBxdWUgbGVzCiAgICByZXF16nRlcyBIVFRQLiBJbCBlc3QgY29uc2VpbGzpIGRlIGNy6WVyIHVuIHV0aWxpc2F0ZXVyIGV0IHVuIGdyb3VwZQogICAgZOlkaelzIOAgbCdleOljdXRpb24gZHUgc2VydmV1ci4gQ2VydGFpbnMgYWRtaW5pc3RyYXRldXJzIHV0aWxpc2VudAogICAgbCd1dGlsaXNhdGV1ciA8Y29kZT5ub2JvZHk8L2NvZGU+LCBtYWlzIGNlIG4nZXN0IHBhcyB0b3Vqb3VycwogICAgc291aGFpdGFibGUsIGNhciBsJ3V0aWxpc2F0ZXVyIDxjb2RlPm5vYm9keTwvY29kZT4gcGV1dCBhdm9pcgogICAgZGl2ZXJzZXMgdXRpbGlzYXRpb25zIGRhbnMgbGUgc3lzdOhtZS48L3A+CgogICAgPGRpdiBjbGFzcz0id2FybmluZyI+PGgzPlPpY3VyaXTpPC9oMz4KICAgICAgPHA+TmUgZOlmaW5pc3NleiBwYXMgbGEgZGlyZWN0aXZlIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPkdyb3VwPC9jb2RlPiAob3UKICAgICAgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI3VzZXIiPlVzZXI8L2E+PC9jb2RlPikg4AogICAgICA8Y29kZT5yb290PC9jb2RlPiDgIG1vaW5zIGRlIHNhdm9pciBleGFjdGVtZW50IGNlIHF1ZSB2b3VzIGZhaXRlcwogICAgICBhaW5zaSBxdWUgbGVzIGRhbmdlcnMgZW5jb3VydXMuPC9wPgogICAgPC9kaXY+CgoKPGgzPlZvaXIgYXVzc2k8L2gzPgo8dWw+CjxsaT48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuLi9tb2QvbW9kX3ByaXZpbGVnZXMuaHRtbCN2aG9zdHVzZXIiPlZIb3N0VXNlcjwvYT48L2NvZGU+PC9saT4KPGxpPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4uL21vZC9tb2Rfc3VleGVjLmh0bWwjc3VleGVjdXNlcmdyb3VwIj5TdWV4ZWNVc2VyR3JvdXA8L2E+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0iYm90dG9tbGFuZyI+CjxwPjxzcGFuPkxhbmd1ZXMgRGlzcG9uaWJsZXM6IDwvc3Bhbj48YSBocmVmPSIuLi9lbi9tb2QvbW9kX3VuaXhkLmh0bWwiIGhyZWZsYW5nPSJlbiIgcmVsPSJhbHRlcm5hdGUiIHRpdGxlPSJFbmdsaXNoIj4mbmJzcDtlbiZuYnNwOzwvYT4gfAo8YSBocmVmPSIuLi9mci9tb2QvbW9kX3VuaXhkLmh0bWwiIHRpdGxlPSJGcmFu52FpcyI+Jm5ic3A7ZnImbmJzcDs8L2E+IHwKPGEgaHJlZj0iLi4vdHIvbW9kL21vZF91bml4ZC5odG1sIiBocmVmbGFuZz0idHIiIHJlbD0iYWx0ZXJuYXRlIiB0aXRsZT0iVPxya+dlIj4mbmJzcDt0ciZuYnNwOzwvYT48L3A+CjwvZGl2PjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgYWx0PSJ0b3AiIC8+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InNlY3Rpb24iPjxoMj48YSBpZD0iY29tbWVudHNfc2VjdGlvbiIgbmFtZT0iY29tbWVudHNfc2VjdGlvbiI+Q29tbWVudGFpcmVzPC9hPjwvaDI+PGRpdiBjbGFzcz0id2FybmluZyI+PHN0cm9uZz5Ob3RpY2U6PC9zdHJvbmc+PGJyIC8+VGhpcyBpcyBub3QgYSBRJmFtcDtBIHNlY3Rpb24uIENvbW1lbnRzIHBsYWNlZCBoZXJlIHNob3VsZCBiZSBwb2ludGVkIHRvd2FyZHMgc3VnZ2VzdGlvbnMgb24gaW1wcm92aW5nIHRoZSBkb2N1bWVudGF0aW9uIG9yIHNlcnZlciwgYW5kIG1heSBiZSByZW1vdmVkIGFnYWluIGJ5IG91ciBtb2RlcmF0b3JzIGlmIHRoZXkgYXJlIGVpdGhlciBpbXBsZW1lbnRlZCBvciBjb25zaWRlcmVkIGludmFsaWQvb2ZmLXRvcGljLiBRdWVzdGlvbnMgb24gaG93IHRvIG1hbmFnZSB0aGUgQXBhY2hlIEhUVFAgU2VydmVyIHNob3VsZCBiZSBkaXJlY3RlZCBhdCBlaXRoZXIgb3VyIElSQyBjaGFubmVsLCAjaHR0cGQsIG9uIEZyZWVub2RlLCBvciBzZW50IHRvIG91ciA8YSBocmVmPSJodHRwOi8vaHR0cGQuYXBhY2hlLm9yZy9saXN0cy5odG1sIj5tYWlsaW5nIGxpc3RzPC9hPi48L2Rpdj4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwhLS0vLy0tPjwhW0NEQVRBWy8vPjwhLS0KdmFyIGNvbW1lbnRzX3Nob3J0bmFtZSA9ICdodHRwZCc7CnZhciBjb21tZW50c19pZGVudGlmaWVyID0gJ2h0dHA6Ly9odHRwZC5hcGFjaGUub3JnL2RvY3MvMi40L21vZC9tb2RfdW5peGQuaHRtbCc7CihmdW5jdGlvbih3LCBkKSB7CiAgICBpZiAody5sb2NhdGlvbi5ob3N0bmFtZS50b0xvd2VyQ2FzZSgpID09ICJodHRwZC5hcGFjaGUub3JnIikgewogICAgICAgIGQud3JpdGUoJzxkaXYgaWQ9ImNvbW1lbnRzX3RocmVhZCI+PFwvZGl2PicpOwogICAgICAgIHZhciBzID0gZC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsKICAgICAgICBzLnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JzsKICAgICAgICBzLmFzeW5jID0gdHJ1ZTsKICAgICAgICBzLnNyYyA9ICdodHRwczovL2NvbW1lbnRzLmFwYWNoZS5vcmcvc2hvd19jb21tZW50cy5sdWE/c2l0ZT0nICsgY29tbWVudHNfc2hvcnRuYW1lICsgJyZwYWdlPScgKyBjb21tZW50c19pZGVudGlmaWVyOwogICAgICAgIChkLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF0gfHwgZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnYm9keScpWzBdKS5hcHBlbmRDaGlsZChzKTsKICAgIH0KICAgIGVsc2UgeyAKICAgICAgICBkLndyaXRlKCc8ZGl2IGlkPSJjb21tZW50c190aHJlYWQiPkNvbW1lbnRzIGFyZSBkaXNhYmxlZCBmb3IgdGhpcyBwYWdlIGF0IHRoZSBtb21lbnQuPFwvZGl2PicpOwogICAgfQp9KSh3aW5kb3csIGRvY3VtZW50KTsKLy8tLT48IV1dPjwvc2NyaXB0PjwvZGl2PjxkaXYgaWQ9ImZvb3RlciI+CjxwIGNsYXNzPSJhcGFjaGUiPkNvcHlyaWdodCAyMDE2IFRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbi48YnIgLz5BdXRvcmlz6SBzb3VzIDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMCI+QXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wPC9hPi48L3A+CjxwIGNsYXNzPSJtZW51Ij48YSBocmVmPSIuLi9tb2QvIj5Nb2R1bGVzPC9hPiB8IDxhIGhyZWY9Ii4uL21vZC9kaXJlY3RpdmVzLmh0bWwiPkRpcmVjdGl2ZXM8L2E+IHwgPGEgaHJlZj0iaHR0cDovL3dpa2kuYXBhY2hlLm9yZy9odHRwZC9GQVEiPkZBUTwvYT4gfCA8YSBocmVmPSIuLi9nbG9zc2FyeS5odG1sIj5HbG9zc2FpcmU8L2E+IHwgPGEgaHJlZj0iLi4vc2l0ZW1hcC5odG1sIj5QbGFuIGR1IHNpdGU8L2E+PC9wPjwvZGl2PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48IS0tLy8tLT48IVtDREFUQVsvLz48IS0tCmlmICh0eXBlb2YocHJldHR5UHJpbnQpICE9PSAndW5kZWZpbmVkJykgewogICAgcHJldHR5UHJpbnQoKTsKfQovLy0tPjwhXV0+PC9zY3JpcHQ+CjwvYm9keT48L2h0bWw+