PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/Pgo8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBsYW5nPSJlbiIgeG1sOmxhbmc9ImVuIj48aGVhZD4KPG1ldGEgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEiIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgLz4KPCEtLQogICAgICAgIFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYCiAgICAgICAgICAgICAgVGhpcyBmaWxlIGlzIGdlbmVyYXRlZCBmcm9tIHhtbCBzb3VyY2U6IERPIE5PVCBFRElUCiAgICAgICAgWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgKICAgICAgLS0+Cjx0aXRsZT5tcG1fbmV0d2FyZSAtIEFwYWNoZSBIVFRQIFNlcnZlciBWZXJzaW9uIDIuNDwvdGl0bGU+CjxsaW5rIGhyZWY9Ii4uL3N0eWxlL2Nzcy9tYW51YWwuY3NzIiByZWw9InN0eWxlc2hlZXQiIG1lZGlhPSJhbGwiIHR5cGU9InRleHQvY3NzIiB0aXRsZT0iTWFpbiBzdHlsZXNoZWV0IiAvPgo8bGluayBocmVmPSIuLi9zdHlsZS9jc3MvbWFudWFsLWxvb3NlLTEwMHBjLmNzcyIgcmVsPSJhbHRlcm5hdGUgc3R5bGVzaGVldCIgbWVkaWE9ImFsbCIgdHlwZT0idGV4dC9jc3MiIHRpdGxlPSJObyBTaWRlYmFyIC0gRGVmYXVsdCBmb250IHNpemUiIC8+CjxsaW5rIGhyZWY9Ii4uL3N0eWxlL2Nzcy9tYW51YWwtcHJpbnQuY3NzIiByZWw9InN0eWxlc2hlZXQiIG1lZGlhPSJwcmludCIgdHlwZT0idGV4dC9jc3MiIC8+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vc3R5bGUvY3NzL3ByZXR0aWZ5LmNzcyIgLz4KPHNjcmlwdCBzcmM9Ii4uL3N0eWxlL3NjcmlwdHMvcHJldHRpZnkubWluLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgo8L3NjcmlwdD4KCjxsaW5rIGhyZWY9Ii4uL2ltYWdlcy9mYXZpY29uLmljbyIgcmVsPSJzaG9ydGN1dCBpY29uIiAvPjwvaGVhZD4KPGJvZHk+CjxkaXYgaWQ9InBhZ2UtaGVhZGVyIj4KPHAgY2xhc3M9Im1lbnUiPjxhIGhyZWY9Ii4uL21vZC8iPk1vZHVsZXM8L2E+IHwgPGEgaHJlZj0iLi4vbW9kL2RpcmVjdGl2ZXMuaHRtbCI+RGlyZWN0aXZlczwvYT4gfCA8YSBocmVmPSJodHRwOi8vd2lraS5hcGFjaGUub3JnL2h0dHBkL0ZBUSI+RkFRPC9hPiB8IDxhIGhyZWY9Ii4uL2dsb3NzYXJ5Lmh0bWwiPkdsb3NzYXJ5PC9hPiB8IDxhIGhyZWY9Ii4uL3NpdGVtYXAuaHRtbCI+U2l0ZW1hcDwvYT48L3A+CjxwIGNsYXNzPSJhcGFjaGUiPkFwYWNoZSBIVFRQIFNlcnZlciBWZXJzaW9uIDIuNDwvcD4KPGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZmVhdGhlci5wbmciIC8+PC9kaXY+CjxkaXYgY2xhc3M9InVwIj48YSBocmVmPSIuLyI+PGltZyB0aXRsZT0iJmx0Oy0iIGFsdD0iJmx0Oy0iIHNyYz0iLi4vaW1hZ2VzL2xlZnQuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBpZD0icGF0aCI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuYXBhY2hlLm9yZy8iPkFwYWNoZTwvYT4gJmd0OyA8YSBocmVmPSJodHRwOi8vaHR0cGQuYXBhY2hlLm9yZy8iPkhUVFAgU2VydmVyPC9hPiAmZ3Q7IDxhIGhyZWY9Imh0dHA6Ly9odHRwZC5hcGFjaGUub3JnL2RvY3MvIj5Eb2N1bWVudGF0aW9uPC9hPiAmZ3Q7IDxhIGhyZWY9Ii4uLyI+VmVyc2lvbiAyLjQ8L2E+ICZndDsgPGEgaHJlZj0iLi8iPk1vZHVsZXM8L2E+PC9kaXY+CjxkaXYgaWQ9InBhZ2UtY29udGVudCI+CjxkaXYgaWQ9InByZWFtYmxlIj48aDE+QXBhY2hlIE1QTSBuZXR3YXJlPC9oMT4KPGRpdiBjbGFzcz0idG9wbGFuZyI+CjxwPjxzcGFuPkF2YWlsYWJsZSBMYW5ndWFnZXM6IDwvc3Bhbj48YSBocmVmPSIuLi9lbi9tb2QvbXBtX25ldHdhcmUuaHRtbCIgdGl0bGU9IkVuZ2xpc2giPiZuYnNwO2VuJm5ic3A7PC9hPiB8CjxhIGhyZWY9Ii4uL2ZyL21vZC9tcG1fbmV0d2FyZS5odG1sIiBocmVmbGFuZz0iZnIiIHJlbD0iYWx0ZXJuYXRlIiB0aXRsZT0iRnJhbudhaXMiPiZuYnNwO2ZyJm5ic3A7PC9hPjwvcD4KPC9kaXY+Cjx0YWJsZSBjbGFzcz0ibW9kdWxlIj48dHI+PHRoPjxhIGhyZWY9Im1vZHVsZS1kaWN0Lmh0bWwjRGVzY3JpcHRpb24iPkRlc2NyaXB0aW9uOjwvYT48L3RoPjx0ZD5NdWx0aS1Qcm9jZXNzaW5nIE1vZHVsZSBpbXBsZW1lbnRpbmcgYW4gZXhjbHVzaXZlbHkgdGhyZWFkZWQgd2ViCiAgICBzZXJ2ZXIgb3B0aW1pemVkIGZvciBOb3ZlbGwgTmV0V2FyZTwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJtb2R1bGUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHVzOjwvYT48L3RoPjx0ZD5NUE08L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0ibW9kdWxlLWRpY3QuaHRtbCNNb2R1bGVJZGVudGlmaWVyIj5Nb2R1bGWgSWRlbnRpZmllcjo8L2E+PC90aD48dGQ+bXBtX25ldHdhcmVfbW9kdWxlPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9Im1vZHVsZS1kaWN0Lmh0bWwjU291cmNlRmlsZSI+U291cmNloEZpbGU6PC9hPjwvdGg+PHRkPm1wbV9uZXR3YXJlLmM8L3RkPjwvdHI+PC90YWJsZT4KPGgzPlN1bW1hcnk8L2gzPgoKICAgIDxwPlRoaXMgTXVsdGktUHJvY2Vzc2luZyBNb2R1bGUgKE1QTSkgaW1wbGVtZW50cyBhbiBleGNsdXNpdmVseQogICAgdGhyZWFkZWQgd2ViIHNlcnZlciB0aGF0IGhhcyBiZWVuIG9wdGltaXplZCBmb3IgTm92ZWxsCiAgICBOZXRXYXJlLjwvcD4KCiAgICA8cD5UaGUgbWFpbiB0aHJlYWQgaXMgcmVzcG9uc2libGUgZm9yIGxhdW5jaGluZyBjaGlsZAogICAgd29ya2VyIHRocmVhZHMgd2hpY2ggbGlzdGVuIGZvciBjb25uZWN0aW9ucyBhbmQgc2VydmUgdGhlbSB3aGVuIHRoZXkKICAgIGFycml2ZS4gQXBhY2hlIEhUVFAgU2VydmVyIGFsd2F5cyB0cmllcyB0byBtYWludGFpbiBzZXZlcmFsIDxkZm4+c3BhcmU8L2Rmbj4KICAgIG9yIGlkbGUgd29ya2VyIHRocmVhZHMsIHdoaWNoIHN0YW5kIHJlYWR5IHRvIHNlcnZlIGluY29taW5nCiAgICByZXF1ZXN0cy4gSW4gdGhpcyB3YXksIGNsaWVudHMgZG8gbm90IG5lZWQgdG8gd2FpdCBmb3IgYSBuZXcKICAgIGNoaWxkIHRocmVhZHMgdG8gYmUgc3Bhd25lZCBiZWZvcmUgdGhlaXIgcmVxdWVzdHMgY2FuIGJlCiAgICBzZXJ2ZWQuPC9wPgoKICAgIDxwPlRoZSA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuLi9tb2QvbXBtX2NvbW1vbi5odG1sI3N0YXJ0dGhyZWFkcyI+U3RhcnRUaHJlYWRzPC9hPjwvY29kZT4sCiAgICA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuLi9tb2QvbXBtX2NvbW1vbi5odG1sI21pbnNwYXJldGhyZWFkcyI+TWluU3BhcmVUaHJlYWRzPC9hPjwvY29kZT4sCiAgICA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuLi9tb2QvbXBtX2NvbW1vbi5odG1sI21heHNwYXJldGhyZWFkcyI+TWF4U3BhcmVUaHJlYWRzPC9hPjwvY29kZT4sIGFuZAogICAgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI21heHRocmVhZHMiPk1heFRocmVhZHM8L2E+PC9jb2RlPgogICAgcmVndWxhdGUgaG93IHRoZSBtYWluIHRocmVhZCBjcmVhdGVzIHdvcmtlciB0aHJlYWRzIHRvIHNlcnZlCiAgICByZXF1ZXN0cy4gSW4gZ2VuZXJhbCwgQXBhY2hlIGh0dHBkIGlzIHZlcnkgc2VsZi1yZWd1bGF0aW5nLCBzbyBtb3N0CiAgICBzaXRlcyBkbyBub3QgbmVlZCB0byBhZGp1c3QgdGhlc2UgZGlyZWN0aXZlcyBmcm9tIHRoZWlyIGRlZmF1bHQKICAgIHZhbHVlcy4gU2l0ZXMgd2l0aCBsaW1pdGVkIG1lbW9yeSBtYXkgbmVlZCB0byBkZWNyZWFzZSA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjbWF4dGhyZWFkcyI+TWF4VGhyZWFkczwvYT48L2NvZGU+IHRvIGtlZXAgdGhlIHNlcnZlciBmcm9tCiAgICB0aHJhc2hpbmcgKHNwYXduaW5nIGFuZCB0ZXJtaW5hdGluZyBpZGxlIHRocmVhZHMpLiBNb3JlIGluZm9ybWF0aW9uCiAgICBhYm91dCB0dW5pbmcgcHJvY2VzcyBjcmVhdGlvbiBpcyBwcm92aWRlZCBpbiB0aGUgPGEgaHJlZj0iLi4vbWlzYy9wZXJmLXR1bmluZy5odG1sIj5wZXJmb3JtYW5jZSBoaW50czwvYT4KICAgIGRvY3VtZW50YXRpb24uPC9wPgoKICAgIDxwPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4uL21vZC9tcG1fY29tbW9uLmh0bWwjbWF4Y29ubmVjdGlvbnNwZXJjaGlsZCI+TWF4Q29ubmVjdGlvbnNQZXJDaGlsZDwvYT48L2NvZGU+CiAgICBjb250cm9scyBob3cgZnJlcXVlbnRseSB0aGUgc2VydmVyIHJlY3ljbGVzIHByb2Nlc3NlcyBieSBraWxsaW5nIG9sZAogICAgb25lcyBhbmQgbGF1bmNoaW5nIG5ldyBvbmVzLiBPbiB0aGUgTmV0V2FyZSBPUyBpdCBpcyBoaWdobHkKICAgIHJlY29tbWVuZGVkIHRoYXQgdGhpcyBkaXJlY3RpdmUgcmVtYWluIHNldCB0byAwLiBUaGlzIGFsbG93cyB3b3JrZXIKICAgIHRocmVhZHMgdG8gY29udGludWUgc2VydmljaW5nIHJlcXVlc3RzIGluZGVmaW5pdGVseS48L3A+CjwvZGl2Pgo8ZGl2IGlkPSJxdWlja3ZpZXciPjxoMyBjbGFzcz0iZGlyZWN0aXZlcyI+RGlyZWN0aXZlczwvaDM+Cjx1bCBpZD0idG9jIj4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL3JpZ2h0LmdpZiIgLz4gPGEgaHJlZj0ibXBtX2NvbW1vbi5odG1sI2xpc3RlbiI+TGlzdGVuPC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9yaWdodC5naWYiIC8+IDxhIGhyZWY9Im1wbV9jb21tb24uaHRtbCNsaXN0ZW5iYWNrbG9nIj5MaXN0ZW5CYWNrbG9nPC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9yaWdodC5naWYiIC8+IDxhIGhyZWY9Im1wbV9jb21tb24uaHRtbCNtYXhjb25uZWN0aW9uc3BlcmNoaWxkIj5NYXhDb25uZWN0aW9uc1BlckNoaWxkPC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9yaWdodC5naWYiIC8+IDxhIGhyZWY9Im1wbV9jb21tb24uaHRtbCNtYXhtZW1mcmVlIj5NYXhNZW1GcmVlPC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9yaWdodC5naWYiIC8+IDxhIGhyZWY9Im1wbV9jb21tb24uaHRtbCNtYXhzcGFyZXRocmVhZHMiPk1heFNwYXJlVGhyZWFkczwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNtYXh0aHJlYWRzIj5NYXhUaHJlYWRzPC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9yaWdodC5naWYiIC8+IDxhIGhyZWY9Im1wbV9jb21tb24uaHRtbCNtaW5zcGFyZXRocmVhZHMiPk1pblNwYXJlVGhyZWFkczwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvcmlnaHQuZ2lmIiAvPiA8YSBocmVmPSJtcG1fY29tbW9uLmh0bWwjcmVjZWl2ZWJ1ZmZlcnNpemUiPlJlY2VpdmVCdWZmZXJTaXplPC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9yaWdodC5naWYiIC8+IDxhIGhyZWY9Im1wbV9jb21tb24uaHRtbCNzZW5kYnVmZmVyc2l6ZSI+U2VuZEJ1ZmZlclNpemU8L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL3JpZ2h0LmdpZiIgLz4gPGEgaHJlZj0ibXBtX2NvbW1vbi5odG1sI3N0YXJ0dGhyZWFkcyI+U3RhcnRUaHJlYWRzPC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9yaWdodC5naWYiIC8+IDxhIGhyZWY9Im1wbV9jb21tb24uaHRtbCN0aHJlYWRzdGFja3NpemUiPlRocmVhZFN0YWNrU2l6ZTwvYT48L2xpPgo8L3VsPgo8aDM+QnVnZml4IGNoZWNrbGlzdDwvaDM+PHVsIGNsYXNzPSJzZWVhbHNvIj48bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9kaXN0L2h0dHBkL0NIQU5HRVNfMi40Ij5odHRwZCBjaGFuZ2Vsb2c8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9iei5hcGFjaGUub3JnL2J1Z3ppbGxhL2J1Z2xpc3QuY2dpP2J1Z19zdGF0dXM9X19vcGVuX18mYW1wO2xpc3RfaWQ9MTQ0NTMyJmFtcDtwcm9kdWN0PUFwYWNoZSUyMGh0dHBkLTImYW1wO3F1ZXJ5X2Zvcm1hdD1zcGVjaWZpYyZhbXA7b3JkZXI9Y2hhbmdlZGRhdGUlMjBERVNDJTJDcHJpb3JpdHklMkNidWdfc2V2ZXJpdHkmYW1wO2NvbXBvbmVudD1tcG1fbmV0d2FyZSI+S25vd24gaXNzdWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vYnouYXBhY2hlLm9yZy9idWd6aWxsYS9lbnRlcl9idWcuY2dpP3Byb2R1Y3Q9QXBhY2hlJTIwaHR0cGQtMiZhbXA7Y29tcG9uZW50PW1wbV9uZXR3YXJlIj5SZXBvcnQgYSBidWc8L2E+PC9saT48L3VsPjxoMz5TZWUgYWxzbzwvaDM+Cjx1bCBjbGFzcz0ic2VlYWxzbyI+CjxsaT48YSBocmVmPSIuLi9iaW5kLmh0bWwiPlNldHRpbmcgd2hpY2ggYWRkcmVzc2VzIGFuZAogICAgcG9ydHMgQXBhY2hlIGh0dHBkIHVzZXM8L2E+CjwvbGk+CjxsaT48YSBocmVmPSIjY29tbWVudHNfc2VjdGlvbiI+Q29tbWVudHM8L2E+PC9saT48L3VsPjwvZGl2PgoKPGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9ImRpcmVjdGl2ZS1zZWN0aW9uIj48aDI+PGEgbmFtZT0iTWF4VGhyZWFkcyIgaWQ9Ik1heFRocmVhZHMiPk1heFRocmVhZHM8L2E+IDxhIG5hbWU9Im1heHRocmVhZHMiIGlkPSJtYXh0aHJlYWRzIj5EaXJlY3RpdmU8L2E+PC9oMj4KPHRhYmxlIGNsYXNzPSJkaXJlY3RpdmUiPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVzY3JpcHRpb24iPkRlc2NyaXB0aW9uOjwvYT48L3RoPjx0ZD5TZXQgdGhlIG1heGltdW0gbnVtYmVyIG9mIHdvcmtlciB0aHJlYWRzPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3ludGF4Ij5TeW50YXg6PC9hPjwvdGg+PHRkPjxjb2RlPk1heFRocmVhZHMgPHZhcj5udW1iZXI8L3Zhcj48L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVmYXVsdCI+RGVmYXVsdDo8L2E+PC90aD48dGQ+PGNvZGU+TWF4VGhyZWFkcyAyMDQ4PC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0NvbnRleHQiPkNvbnRleHQ6PC9hPjwvdGg+PHRkPnNlcnZlciBjb25maWc8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTdGF0dXMiPlN0YXR1czo8L2E+PC90aD48dGQ+TVBNPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjTW9kdWxlIj5Nb2R1bGU6PC9hPjwvdGg+PHRkPm1wbV9uZXR3YXJlPC90ZD48L3RyPgo8L3RhYmxlPgogICAgPHA+VGhlIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPk1heFRocmVhZHM8L2NvZGU+IGRpcmVjdGl2ZSBzZXRzIHRoZSBkZXNpcmVkCiAgICBtYXhpbXVtIG51bWJlciB3b3JrZXIgdGhyZWFkcyBhbGxvd2FibGUuIFRoZSBkZWZhdWx0IHZhbHVlIGlzCiAgICBhbHNvIHRoZSBjb21waWxlZCBpbiBoYXJkIGxpbWl0LiBUaGVyZWZvcmUgaXQgY2FuIG9ubHkgYmUgbG93ZXJlZCwKICAgIGZvciBleGFtcGxlOjwvcD4KCiAgICA8ZGl2IGNsYXNzPSJleGFtcGxlIj48cD48Y29kZT4KICAgICAgTWF4VGhyZWFkcyA1MTIKICAgIDwvY29kZT48L3A+PC9kaXY+Cgo8L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9ImJvdHRvbWxhbmciPgo8cD48c3Bhbj5BdmFpbGFibGUgTGFuZ3VhZ2VzOiA8L3NwYW4+PGEgaHJlZj0iLi4vZW4vbW9kL21wbV9uZXR3YXJlLmh0bWwiIHRpdGxlPSJFbmdsaXNoIj4mbmJzcDtlbiZuYnNwOzwvYT4gfAo8YSBocmVmPSIuLi9mci9tb2QvbXBtX25ldHdhcmUuaHRtbCIgaHJlZmxhbmc9ImZyIiByZWw9ImFsdGVybmF0ZSIgdGl0bGU9IkZyYW7nYWlzIj4mbmJzcDtmciZuYnNwOzwvYT48L3A+CjwvZGl2PjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgYWx0PSJ0b3AiIC8+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InNlY3Rpb24iPjxoMj48YSBpZD0iY29tbWVudHNfc2VjdGlvbiIgbmFtZT0iY29tbWVudHNfc2VjdGlvbiI+Q29tbWVudHM8L2E+PC9oMj48ZGl2IGNsYXNzPSJ3YXJuaW5nIj48c3Ryb25nPk5vdGljZTo8L3N0cm9uZz48YnIgLz5UaGlzIGlzIG5vdCBhIFEmYW1wO0Egc2VjdGlvbi4gQ29tbWVudHMgcGxhY2VkIGhlcmUgc2hvdWxkIGJlIHBvaW50ZWQgdG93YXJkcyBzdWdnZXN0aW9ucyBvbiBpbXByb3ZpbmcgdGhlIGRvY3VtZW50YXRpb24gb3Igc2VydmVyLCBhbmQgbWF5IGJlIHJlbW92ZWQgYWdhaW4gYnkgb3VyIG1vZGVyYXRvcnMgaWYgdGhleSBhcmUgZWl0aGVyIGltcGxlbWVudGVkIG9yIGNvbnNpZGVyZWQgaW52YWxpZC9vZmYtdG9waWMuIFF1ZXN0aW9ucyBvbiBob3cgdG8gbWFuYWdlIHRoZSBBcGFjaGUgSFRUUCBTZXJ2ZXIgc2hvdWxkIGJlIGRpcmVjdGVkIGF0IGVpdGhlciBvdXIgSVJDIGNoYW5uZWwsICNodHRwZCwgb24gRnJlZW5vZGUsIG9yIHNlbnQgdG8gb3VyIDxhIGhyZWY9Imh0dHA6Ly9odHRwZC5hcGFjaGUub3JnL2xpc3RzLmh0bWwiPm1haWxpbmcgbGlzdHM8L2E+LjwvZGl2Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+PCEtLS8vLS0+PCFbQ0RBVEFbLy8+PCEtLQp2YXIgY29tbWVudHNfc2hvcnRuYW1lID0gJ2h0dHBkJzsKdmFyIGNvbW1lbnRzX2lkZW50aWZpZXIgPSAnaHR0cDovL2h0dHBkLmFwYWNoZS5vcmcvZG9jcy8yLjQvbW9kL21wbV9uZXR3YXJlLmh0bWwnOwooZnVuY3Rpb24odywgZCkgewogICAgaWYgKHcubG9jYXRpb24uaG9zdG5hbWUudG9Mb3dlckNhc2UoKSA9PSAiaHR0cGQuYXBhY2hlLm9yZyIpIHsKICAgICAgICBkLndyaXRlKCc8ZGl2IGlkPSJjb21tZW50c190aHJlYWQiPjxcL2Rpdj4nKTsKICAgICAgICB2YXIgcyA9IGQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CiAgICAgICAgcy50eXBlID0gJ3RleHQvamF2YXNjcmlwdCc7CiAgICAgICAgcy5hc3luYyA9IHRydWU7CiAgICAgICAgcy5zcmMgPSAnaHR0cHM6Ly9jb21tZW50cy5hcGFjaGUub3JnL3Nob3dfY29tbWVudHMubHVhP3NpdGU9JyArIGNvbW1lbnRzX3Nob3J0bmFtZSArICcmcGFnZT0nICsgY29tbWVudHNfaWRlbnRpZmllcjsKICAgICAgICAoZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdIHx8IGQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2JvZHknKVswXSkuYXBwZW5kQ2hpbGQocyk7CiAgICB9CiAgICBlbHNlIHsgCiAgICAgICAgZC53cml0ZSgnPGRpdiBpZD0iY29tbWVudHNfdGhyZWFkIj5Db21tZW50cyBhcmUgZGlzYWJsZWQgZm9yIHRoaXMgcGFnZSBhdCB0aGUgbW9tZW50LjxcL2Rpdj4nKTsKICAgIH0KfSkod2luZG93LCBkb2N1bWVudCk7Ci8vLS0+PCFdXT48L3NjcmlwdD48L2Rpdj48ZGl2IGlkPSJmb290ZXIiPgo8cCBjbGFzcz0iYXBhY2hlIj5Db3B5cmlnaHQgMjAxNiBUaGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24uPGJyIC8+TGljZW5zZWQgdW5kZXIgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMCI+QXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wPC9hPi48L3A+CjxwIGNsYXNzPSJtZW51Ij48YSBocmVmPSIuLi9tb2QvIj5Nb2R1bGVzPC9hPiB8IDxhIGhyZWY9Ii4uL21vZC9kaXJlY3RpdmVzLmh0bWwiPkRpcmVjdGl2ZXM8L2E+IHwgPGEgaHJlZj0iaHR0cDovL3dpa2kuYXBhY2hlLm9yZy9odHRwZC9GQVEiPkZBUTwvYT4gfCA8YSBocmVmPSIuLi9nbG9zc2FyeS5odG1sIj5HbG9zc2FyeTwvYT4gfCA8YSBocmVmPSIuLi9zaXRlbWFwLmh0bWwiPlNpdGVtYXA8L2E+PC9wPjwvZGl2PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48IS0tLy8tLT48IVtDREFUQVsvLz48IS0tCmlmICh0eXBlb2YocHJldHR5UHJpbnQpICE9PSAndW5kZWZpbmVkJykgewogICAgcHJldHR5UHJpbnQoKTsKfQovLy0tPjwhXV0+PC9zY3JpcHQ+CjwvYm9keT48L2h0bWw+