PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/Pgo8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBsYW5nPSJmciIgeG1sOmxhbmc9ImZyIj48aGVhZD4KPG1ldGEgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEiIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgLz4KPCEtLQogICAgICAgIFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYCiAgICAgICAgICAgICAgVGhpcyBmaWxlIGlzIGdlbmVyYXRlZCBmcm9tIHhtbCBzb3VyY2U6IERPIE5PVCBFRElUCiAgICAgICAgWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgKICAgICAgLS0+Cjx0aXRsZT5MZXMgZXhwcmVzc2lvbnMgZGFucyBsZSBzZXJ2ZXVyIEhUVFAgQXBhY2hlIC0gU2VydmV1ciBBcGFjaGUgSFRUUCBWZXJzaW9uIDIuNDwvdGl0bGU+CjxsaW5rIGhyZWY9Ii4vc3R5bGUvY3NzL21hbnVhbC5jc3MiIHJlbD0ic3R5bGVzaGVldCIgbWVkaWE9ImFsbCIgdHlwZT0idGV4dC9jc3MiIHRpdGxlPSJNYWluIHN0eWxlc2hlZXQiIC8+CjxsaW5rIGhyZWY9Ii4vc3R5bGUvY3NzL21hbnVhbC1sb29zZS0xMDBwYy5jc3MiIHJlbD0iYWx0ZXJuYXRlIHN0eWxlc2hlZXQiIG1lZGlhPSJhbGwiIHR5cGU9InRleHQvY3NzIiB0aXRsZT0iTm8gU2lkZWJhciAtIERlZmF1bHQgZm9udCBzaXplIiAvPgo8bGluayBocmVmPSIuL3N0eWxlL2Nzcy9tYW51YWwtcHJpbnQuY3NzIiByZWw9InN0eWxlc2hlZXQiIG1lZGlhPSJwcmludCIgdHlwZT0idGV4dC9jc3MiIC8+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi9zdHlsZS9jc3MvcHJldHRpZnkuY3NzIiAvPgo8c2NyaXB0IHNyYz0iLi9zdHlsZS9zY3JpcHRzL3ByZXR0aWZ5Lm1pbi5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KPC9zY3JpcHQ+Cgo8bGluayBocmVmPSIuL2ltYWdlcy9mYXZpY29uLmljbyIgcmVsPSJzaG9ydGN1dCBpY29uIiAvPjwvaGVhZD4KPGJvZHkgaWQ9Im1hbnVhbC1wYWdlIj48ZGl2IGlkPSJwYWdlLWhlYWRlciI+CjxwIGNsYXNzPSJtZW51Ij48YSBocmVmPSIuL21vZC8iPk1vZHVsZXM8L2E+IHwgPGEgaHJlZj0iLi9tb2QvZGlyZWN0aXZlcy5odG1sIj5EaXJlY3RpdmVzPC9hPiB8IDxhIGhyZWY9Imh0dHA6Ly93aWtpLmFwYWNoZS5vcmcvaHR0cGQvRkFRIj5GQVE8L2E+IHwgPGEgaHJlZj0iLi9nbG9zc2FyeS5odG1sIj5HbG9zc2FpcmU8L2E+IHwgPGEgaHJlZj0iLi9zaXRlbWFwLmh0bWwiPlBsYW4gZHUgc2l0ZTwvYT48L3A+CjxwIGNsYXNzPSJhcGFjaGUiPlNlcnZldXIgQXBhY2hlIEhUVFAgVmVyc2lvbiAyLjQ8L3A+CjxpbWcgYWx0PSIiIHNyYz0iLi9pbWFnZXMvZmVhdGhlci5naWYiIC8+PC9kaXY+CjxkaXYgY2xhc3M9InVwIj48YSBocmVmPSIuLyI+PGltZyB0aXRsZT0iJmx0Oy0iIGFsdD0iJmx0Oy0iIHNyYz0iLi9pbWFnZXMvbGVmdC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGlkPSJwYXRoIj4KPGEgaHJlZj0iaHR0cDovL3d3dy5hcGFjaGUub3JnLyI+QXBhY2hlPC9hPiAmZ3Q7IDxhIGhyZWY9Imh0dHA6Ly9odHRwZC5hcGFjaGUub3JnLyI+U2VydmV1ciBIVFRQPC9hPiAmZ3Q7IDxhIGhyZWY9Imh0dHA6Ly9odHRwZC5hcGFjaGUub3JnL2RvY3MvIj5Eb2N1bWVudGF0aW9uPC9hPiAmZ3Q7IDxhIGhyZWY9Ii4vIj5WZXJzaW9uIDIuNDwvYT48L2Rpdj48ZGl2IGlkPSJwYWdlLWNvbnRlbnQiPjxkaXYgaWQ9InByZWFtYmxlIj48aDE+TGVzIGV4cHJlc3Npb25zIGRhbnMgbGUgc2VydmV1ciBIVFRQIEFwYWNoZTwvaDE+CjxkaXYgY2xhc3M9InRvcGxhbmciPgo8cD48c3Bhbj5MYW5ndWVzIERpc3BvbmlibGVzOiA8L3NwYW4+PGEgaHJlZj0iLi9lbi9leHByLmh0bWwiIGhyZWZsYW5nPSJlbiIgcmVsPSJhbHRlcm5hdGUiIHRpdGxlPSJFbmdsaXNoIj4mbmJzcDtlbiZuYnNwOzwvYT4gfAo8YSBocmVmPSIuL2ZyL2V4cHIuaHRtbCIgdGl0bGU9IkZyYW7nYWlzIj4mbmJzcDtmciZuYnNwOzwvYT48L3A+CjwvZGl2PgoKICAgIDxwPkhpc3RvcmlxdWVtZW50LCBpbCBleGlzdGUgZGUgbm9tYnJldXNlcyB2YXJpYW50ZXMgZGFucyBsYSBzeW50YXhlCiAgICBkZXMgZXhwcmVzc2lvbnMgcGVybWV0dGFudCBkJ2V4cHJpbWVyIHVuZSBjb25kaXRpb24gZGFucyBsZXMKICAgIGRpZmbpcmVudHMgbW9kdWxlcyBkdSBzZXJ2ZXVyIEhUVFAgQXBhY2hlLiDAIGNlIHRpdHJlLCBkZXMgdHJhdmF1eCBzb250CiAgICBlbiBjb3VycyBwb3VyIG4ndXRpbGlzZXIgcXUndW5lIHNldWxlIHZhcmlhbnRlIG5vbW3pZQogICAgPGVtPmFwX2V4cHI8L2VtPiwgcG91ciB0b3V0ZXMgbGVzIGRpcmVjdGl2ZXMgZGUgY29uZmlndXJhdGlvbi4gQ2UKICAgIGRvY3VtZW50IGTpY3JpdCBsJ2ludGVycHLpdGV1ciBkJ2V4cHJlc3Npb25zIDxlbT5hcF9leHByPC9lbT4uCiAgICA8L3A+CiAgICA8cD5MZSB0eXBlIGQnZXhwcmVzc2lvbiA8ZW0+YXBfZXhwcjwvZW0+IGVzdCBhcHBlbOkg4CByZW1wbGFjZXIgbGEKICAgIHBsdXBhcnQgZGVzIGF1dHJlcyB0eXBlcyBkJ2V4cHJlc3Npb25zIGRhbnMgSFRUUEQuIFBhciBleGVtcGxlLCBsYQogICAgZGlyZWN0aXZlIG9ic29s6HRlIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4vbW9kL21vZF9zc2wuaHRtbCNzc2xyZXF1aXJlIj5TU0xSZXF1aXJlPC9hPjwvY29kZT4gcGV1dCDqdHJlIHJlbXBsYWPpZSBwYXIgbGEKICAgIGRpcmVjdGl2ZSA8YSBocmVmPSJtb2QvbW9kX2F1dGh6X2NvcmUuaHRtbCNyZXFleHByIj5SZXF1aXJlCiAgICBleHByPC9hPi4KICAgIDwvcD4KICA8L2Rpdj4KPGRpdiBpZD0icXVpY2t2aWV3Ij48dWwgaWQ9InRvYyI+PGxpPjxpbWcgYWx0PSIiIHNyYz0iLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNncmFtbWFyIj5TeW50YXhlIGVuIEZvcm1lIGRlIEJhY2t1cy1OYXVyPC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjdmFycyI+VmFyaWFibGVzPC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjYmlub3AiPk9w6XJhdGV1cnMgYmluYWlyZXM8L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiN1bm5vcCI+T3DpcmF0ZXVycyB1bmFpcmVzPC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjZnVuY3Rpb25zIj5Gb25jdGlvbnM8L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNleGFtcGxlcyI+RXhlbXBsZXMgZCdleHByZXNzaW9uczwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI290aGVyIj5BdXRyZXM8L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNzc2xyZXF1aXJlIj5Db21wYXJhaXNvbiBhdmVjIFNTTFJlcXVpcmU8L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNjb21wYXRpYmlsaXR5Ij5IaXN0b3JpcXVlIGRlIHZlcnNpb248L2E+PC9saT4KPC91bD48aDM+Vm9pciBhdXNzaTwvaDM+PHVsIGNsYXNzPSJzZWVhbHNvIj48bGk+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi9tb2QvY29yZS5odG1sI2lmIj5JZjwvYT48L2NvZGU+PC9saT48bGk+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi9tb2QvY29yZS5odG1sI2lmIj4mbHQ7SWYmZ3Q7PC9hPjwvY29kZT48L2xpPjxsaT48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuL21vZC9jb3JlLmh0bWwjZWxzZWlmIj4mbHQ7RWxzZUlmJmd0OzwvYT48L2NvZGU+PC9saT48bGk+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi9tb2QvY29yZS5odG1sI2Vsc2UiPiZsdDtFbHNlJmd0OzwvYT48L2NvZGU+PC9saT48bGk+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi9tb2QvY29yZS5odG1sI2Vycm9yZG9jdW1lbnQiPiZsdDtFcnJvckRvY3VtZW50Jmd0OzwvYT48L2NvZGU+PC9saT48bGk+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi9tb2QvbW9kX2F1dGhfYmFzaWMuaHRtbCNhdXRoYmFzaWNmYWtlIj5BdXRoQmFzaWNGYWtlPC9hPjwvY29kZT48L2xpPjxsaT48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuL21vZC9tb2RfYXV0aF9mb3JtLmh0bWwjYXV0aGZvcm1sb2dpbnJlcXVpcmVkbG9jYXRpb24iPkF1dGhGb3JtTG9naW5SZXF1aXJlZExvY2F0aW9uPC9hPjwvY29kZT48L2xpPjxsaT48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuL21vZC9tb2RfYXV0aF9mb3JtLmh0bWwjYXV0aGZvcm1sb2dpbnN1Y2Nlc3Nsb2NhdGlvbiI+QXV0aEZvcm1Mb2dpblN1Y2Nlc3NMb2NhdGlvbjwvYT48L2NvZGU+PC9saT48bGk+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi9tb2QvbW9kX2F1dGhfZm9ybS5odG1sI2F1dGhmb3JtbG9nb3V0bG9jYXRpb24iPkF1dGhGb3JtTG9nb3V0TG9jYXRpb248L2E+PC9jb2RlPjwvbGk+PGxpPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4vbW9kL21vZF9yZXdyaXRlLmh0bWwjcmV3cml0ZWNvbmQiPlJld3JpdGVDb25kPC9hPjwvY29kZT48L2xpPjxsaT48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuL21vZC9tb2Rfc2V0ZW52aWYuaHRtbCNzZXRlbnZpZmV4cHIiPlNldEVudklmRXhwcjwvYT48L2NvZGU+PC9saT48bGk+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi9tb2QvbW9kX2hlYWRlcnMuaHRtbCNoZWFkZXIiPkhlYWRlcjwvYT48L2NvZGU+PC9saT48bGk+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi9tb2QvbW9kX2hlYWRlcnMuaHRtbCNyZXF1ZXN0aGVhZGVyIj5SZXF1ZXN0SGVhZGVyPC9hPjwvY29kZT48L2xpPjxsaT48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuL21vZC9tb2RfZmlsdGVyLmh0bWwjZmlsdGVycHJvdmlkZXIiPkZpbHRlclByb3ZpZGVyPC9hPjwvY29kZT48L2xpPjxsaT48YSBocmVmPSJtb2QvbW9kX2F1dGh6X2NvcmUuaHRtbCNyZXFleHByIj5SZXF1aXJlIGV4cHI8L2E+PC9saT48bGk+PGEgaHJlZj0ibW9kL21vZF9hdXRobnpfbGRhcC5odG1sI3JlcXVzZXIiPlJlcXVpcmUgbGRhcC11c2VyPC9hPjwvbGk+PGxpPjxhIGhyZWY9Im1vZC9tb2RfYXV0aG56X2xkYXAuaHRtbCNyZXFncm91cCI+UmVxdWlyZSBsZGFwLWdyb3VwPC9hPjwvbGk+PGxpPjxhIGhyZWY9Im1vZC9tb2RfYXV0aG56X2xkYXAuaHRtbCNyZXFkbiI+UmVxdWlyZSBsZGFwLWRuPC9hPjwvbGk+PGxpPjxhIGhyZWY9Im1vZC9tb2RfYXV0aG56X2xkYXAuaHRtbCNyZXFhdHRyaWJ1dGUiPlJlcXVpcmUgbGRhcC1hdHRyaWJ1dGU8L2E+PC9saT48bGk+PGEgaHJlZj0ibW9kL21vZF9hdXRobnpfbGRhcC5odG1sI3JlcWZpbHRlciI+UmVxdWlyZSBsZGFwLWZpbHRlcjwvYT48L2xpPjxsaT48YSBocmVmPSJtb2QvbW9kX2F1dGh6X2RiZC5odG1sI3JlcWdyb3VwIj5SZXF1aXJlIGRiZC1ncm91cDwvYT48L2xpPjxsaT48YSBocmVmPSJtb2QvbW9kX2F1dGh6X2RibS5odG1sI3JlcWdyb3VwIj5SZXF1aXJlIGRibS1ncm91cDwvYT48L2xpPjxsaT48YSBocmVmPSJtb2QvbW9kX2F1dGh6X2dyb3VwZmlsZS5odG1sI3JlcWdyb3VwIj5SZXF1aXJlIGdyb3VwPC9hPjwvbGk+PGxpPjxhIGhyZWY9Im1vZC9tb2RfYXV0aHpfaG9zdC5odG1sI3JlcWhvc3QiPlJlcXVpcmUgaG9zdDwvYT48L2xpPjxsaT48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuL21vZC9tb2Rfc3NsLmh0bWwjc3NscmVxdWlyZSI+U1NMUmVxdWlyZTwvYT48L2NvZGU+PC9saT48bGk+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi9tb2QvbW9kX2xvZ19kZWJ1Zy5odG1sI2xvZ21lc3NhZ2UiPkxvZ01lc3NhZ2U8L2E+PC9jb2RlPjwvbGk+PGxpPjxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4vbW9kL21vZF9pbmNsdWRlLmh0bWwiPm1vZF9pbmNsdWRlPC9hPjwvY29kZT48L2xpPjwvdWw+PHVsIGNsYXNzPSJzZWVhbHNvIj48bGk+PGEgaHJlZj0iI2NvbW1lbnRzX3NlY3Rpb24iPkNvbW1lbnRhaXJlczwvYT48L2xpPjwvdWw+PC9kaXY+CjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9InNlY3Rpb24iPgo8aDI+PGEgbmFtZT0iZ3JhbW1hciIgaWQ9ImdyYW1tYXIiPlN5bnRheGUgZW4gRm9ybWUgZGUgQmFja3VzLU5hdXI8L2E+PC9oMj4KICAgIAogICAgICA8cD5MYSA8YSBocmVmPSJodHRwOi8vZnIud2lraXBlZGlhLm9yZy93aWtpL0Zvcm1lX2RlX0JhY2t1cy1OYXVyIj5Gb3JtZSBkZSBCYWNrdXMtTmF1cjwvYT4KICAgICAgKHNvdXZlbnQgYWJy6WfpZSBlbiBCTkYsIGRlIGwnYW5nbGFpcyBCYWNrdXMtTmF1ciBGb3JtKSBlc3QgdW5lIG5vdGF0aW9uIHBlcm1ldHRhbnQgZGUgZOljcmlyZQogICAgICBsZXMgcuhnbGVzIHN5bnRheGlxdWVzIGRlcyBsYW5nYWdlcyBkZSBwcm9ncmFtbWF0aW9uLiBFbgogICAgICBn6W7pcmFsLCBsZXMgZXhwcmVzc2lvbnMgcmVwculzZW50ZW50IGRlcyB2YWxldXJzIGJvb2zpZW5uZXMuIERhbnMKICAgICAgY2UgY2FzLCBsZSBwb2ludCBkZSBk6XBhcnQgZGUgbGEgQk5GIGVzdCA8Y29kZT5leHByPC9jb2RlPi4KICAgICAgQ2VwZW5kYW50LCBjZXJ0YWluZXMgZGlyZWN0aXZlcyBjb21tZSA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuL21vZC9tb2RfbG9nX2RlYnVnLmh0bWwjbG9nbWVzc2FnZSI+TG9nTWVzc2FnZTwvYT48L2NvZGU+IHV0aWxpc2VudCBjb21tZQogICAgICBwYXJhbeh0cmVzIGRlcyBleHByZXNzaW9ucyBxdWkgcmVwculzZW50ZW50IGRlcyBjaGHubmVzIGRlCiAgICAgIGNhcmFjdOhyZXMuIERhbnMgY2UgY2FzLCBsZSBwb2ludCBkZSBk6XBhcnQgZGUgbGEgQk5GIGVzdAogICAgICA8Y29kZT5zdHJpbmc8L2NvZGU+LgogICAgICA8L3A+CjxibG9ja3F1b3RlPgo8cHJlPmV4cHIgICAgICAgIDo6PSAiPHN0cm9uZz50cnVlPC9zdHJvbmc+IiB8ICI8c3Ryb25nPmZhbHNlPC9zdHJvbmc+IgogICAgICAgICAgICAgIHwgIjxzdHJvbmc+ITwvc3Ryb25nPiIgZXhwcgogICAgICAgICAgICAgIHwgZXhwciAiPHN0cm9uZz4mYW1wOyZhbXA7PC9zdHJvbmc+IiBleHByCiAgICAgICAgICAgICAgfCBleHByICI8c3Ryb25nPnx8PC9zdHJvbmc+IiBleHByCiAgICAgICAgICAgICAgfCAiPHN0cm9uZz4oPC9zdHJvbmc+IiBleHByICI8c3Ryb25nPik8L3N0cm9uZz4iCiAgICAgICAgICAgICAgfCBjb21wCgpjb21wICAgICAgICA6Oj0gc3RyaW5nY29tcAogICAgICAgICAgICAgIHwgaW50ZWdlcmNvbXAKICAgICAgICAgICAgICB8IHVuYXJ5b3Agd29yZAogICAgICAgICAgICAgIHwgd29yZCBiaW5hcnlvcCB3b3JkCiAgICAgICAgICAgICAgfCB3b3JkICI8c3Ryb25nPmluPC9zdHJvbmc+IiAiPHN0cm9uZz57PC9zdHJvbmc+IiB3b3JkbGlzdCAiPHN0cm9uZz59PC9zdHJvbmc+IgogICAgICAgICAgICAgIHwgd29yZCAiPHN0cm9uZz5pbjwvc3Ryb25nPiIgbGlzdGZ1bmN0aW9uCiAgICAgICAgICAgICAgfCB3b3JkICI8c3Ryb25nPj1+PC9zdHJvbmc+IiByZWdleAogICAgICAgICAgICAgIHwgd29yZCAiPHN0cm9uZz4hfjwvc3Ryb25nPiIgcmVnZXgKCgpzdHJpbmdjb21wICA6Oj0gd29yZCAiPHN0cm9uZz49PTwvc3Ryb25nPiIgd29yZAogICAgICAgICAgICAgIHwgd29yZCAiPHN0cm9uZz4hPTwvc3Ryb25nPiIgd29yZAogICAgICAgICAgICAgIHwgd29yZCAiPHN0cm9uZz4mbHQ7PC9zdHJvbmc+IiAgd29yZAogICAgICAgICAgICAgIHwgd29yZCAiPHN0cm9uZz4mbHQ7PTwvc3Ryb25nPiIgd29yZAogICAgICAgICAgICAgIHwgd29yZCAiPHN0cm9uZz4mZ3Q7PC9zdHJvbmc+IiAgd29yZAogICAgICAgICAgICAgIHwgd29yZCAiPHN0cm9uZz4mZ3Q7PTwvc3Ryb25nPiIgd29yZAoKaW50ZWdlcmNvbXAgOjo9IHdvcmQgIjxzdHJvbmc+LWVxPC9zdHJvbmc+IiB3b3JkIHwgd29yZCAiPHN0cm9uZz5lcTwvc3Ryb25nPiIgd29yZAogICAgICAgICAgICAgIHwgd29yZCAiPHN0cm9uZz4tbmU8L3N0cm9uZz4iIHdvcmQgfCB3b3JkICI8c3Ryb25nPm5lPC9zdHJvbmc+IiB3b3JkCiAgICAgICAgICAgICAgfCB3b3JkICI8c3Ryb25nPi1sdDwvc3Ryb25nPiIgd29yZCB8IHdvcmQgIjxzdHJvbmc+bHQ8L3N0cm9uZz4iIHdvcmQKICAgICAgICAgICAgICB8IHdvcmQgIjxzdHJvbmc+LWxlPC9zdHJvbmc+IiB3b3JkIHwgd29yZCAiPHN0cm9uZz5sZTwvc3Ryb25nPiIgd29yZAogICAgICAgICAgICAgIHwgd29yZCAiPHN0cm9uZz4tZ3Q8L3N0cm9uZz4iIHdvcmQgfCB3b3JkICI8c3Ryb25nPmd0PC9zdHJvbmc+IiB3b3JkCiAgICAgICAgICAgICAgfCB3b3JkICI8c3Ryb25nPi1nZTwvc3Ryb25nPiIgd29yZCB8IHdvcmQgIjxzdHJvbmc+Z2U8L3N0cm9uZz4iIHdvcmQKCndvcmRsaXN0ICAgIDo6PSB3b3JkCiAgICAgICAgICAgICAgfCB3b3JkbGlzdCAiPHN0cm9uZz4sPC9zdHJvbmc+IiB3b3JkCgp3b3JkICAgICAgICA6Oj0gd29yZCAiPHN0cm9uZz4uPC9zdHJvbmc+IiB3b3JkCiAgICAgICAgICAgICAgfCBkaWdpdAogICAgICAgICAgICAgIHwgIjxzdHJvbmc+Jzwvc3Ryb25nPiIgc3RyaW5nICI8c3Ryb25nPic8L3N0cm9uZz4iCiAgICAgICAgICAgICAgfCAiPHN0cm9uZz4iPC9zdHJvbmc+IiBzdHJpbmcgIjxzdHJvbmc+Ijwvc3Ryb25nPiIKICAgICAgICAgICAgICB8IHZhcmlhYmxlCgkgICAgICB8IHJlYmFja3JlZgogICAgICAgICAgICAgIHwgZnVuY3Rpb24KCnN0cmluZyAgICAgIDo6PSBzdHJpbmdwYXJ0CiAgICAgICAgICAgICAgfCBzdHJpbmcgc3RyaW5ncGFydAoKc3RyaW5ncGFydCAgOjo9IGNzdHJpbmcKICAgICAgICAgICAgICB8IHZhcmlhYmxlCgkgICAgICB8IHJlYmFja3JlZgoKY3N0cmluZyAgICAgOjo9IC4uLgpkaWdpdCAgICAgICA6Oj0gWzAtOV0rCgp2YXJpYWJsZSAgICA6Oj0gIjxzdHJvbmc+JXs8L3N0cm9uZz4iIHZhcm5hbWUgIjxzdHJvbmc+fTwvc3Ryb25nPiIKICAgICAgICAgICAgICB8ICI8c3Ryb25nPiV7PC9zdHJvbmc+IiBmdW5jbmFtZSAiPHN0cm9uZz46PC9zdHJvbmc+IiBmdW5jYXJncyAiPHN0cm9uZz59PC9zdHJvbmc+IgoKcmViYWNrcmVmICAgOjo9ICI8c3Ryb25nPiQ8L3N0cm9uZz4iIFswLTldCgpmdW5jdGlvbiAgICAgOjo9IGZ1bmNuYW1lICI8c3Ryb25nPig8L3N0cm9uZz4iIHdvcmQgIjxzdHJvbmc+KTwvc3Ryb25nPiIKCmxpc3RmdW5jdGlvbiA6Oj0gbGlzdGZ1bmNuYW1lICI8c3Ryb25nPig8L3N0cm9uZz4iIHdvcmQgIjxzdHJvbmc+KTwvc3Ryb25nPiI8L3ByZT4KPC9ibG9ja3F1b3RlPgoKPC9kaXY+PGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0ic2VjdGlvbiI+CjxoMj48YSBuYW1lPSJ2YXJzIiBpZD0idmFycyI+VmFyaWFibGVzPC9hPjwvaDI+CiAgICAKCiAgICA8cD5MJ2ludGVycHLpdGV1ciBkJ2V4cHJlc3Npb25zIGZvdXJuaXQgcGx1c2lldXJzIHZhcmlhYmxlcyBkZSBsYQogICAgZm9ybWUgPGNvZGU+JXtIVFRQX0hPU1R9PC9jb2RlPi4gTm90ZXogcXVlIGxhIHZhbGV1ciBkJ3VuZSB2YXJpYWJsZQogICAgcGV1dCBk6XBlbmRyZSBkZSBsYSBwaGFzZSBkdSB0cmFpdGVtZW50IGRlIGxhIHJlcXXqdGUgYXUgY291cnMgZGUKICAgIGxhcXVlbGxlIGVsbGUgZXN0IOl2YWx16WUuIFBhciBleGVtcGxlLCB1bmUgZXhwcmVzc2lvbiB1dGlsaXPpZSBkYW5zCiAgICB1bmUgZGlyZWN0aXZlIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPiZsdDtJZiAmZ3Q7PC9jb2RlPiBzZXJhIOl2YWx16WUgYXZhbnQKICAgIGxhIHBoYXNlIGQnYXV0aGVudGlmaWNhdGlvbi4gUGFyIGNvbnPpcXVlbnQsIGxhIHZhcmlhYmxlCiAgICA8Y29kZT4le1JFTU9URV9VU0VSfTwvY29kZT4gbmUgc2VyYSBwYXMgZW5jb3JlIGTpZmluaWUg4CBjZSBzdGFkZS48L3A+CgogICAgPHA+TGVzIHZhcmlhYmxlcyBzdWl2YW50ZXMgY29udGllbm5lbnQgbGEgdmFsZXVyIGRlIGwnZW4tdOp0ZSBkZQogICAgcmVxdep0ZSBIVFRQIGNvcnJlc3BvbmRhbnQuIExhIDxhIGhyZWY9IiNmdW5jdGlvbnMiPmZvbmN0aW9uPC9hPgogICAgPGNvZGU+cmVxPC9jb2RlPiBwZXJtZXQgZCdleHRyYWlyZSBsZXMgdmFsZXVycyBkZXMgYXV0cmVzCiAgICBlbi106nRlcy4gTCd1dGlsaXNhdGlvbiBkZSBjZXMgdmFyaWFibGVzIHBldXQgcHJvdm9xdWVyCiAgICBsJ2Fqb3V0IGR1IG5vbSBkJ2VuLXTqdGUgY29ycmVzcG9uZGFudCDgIGwnZW4tdOp0ZSBWYXJ5IGRlIGxhCiAgICBy6XBvbnNlIEhUVFAsIHNhdWYgc3DpY2lmaWNhdGlvbiBjb250cmFpcmUgcG91ciBsYSBkaXJlY3RpdmUKICAgIHF1aSBhY2NlcHRlIGwnZXhwcmVzc2lvbiBjb21tZSBwYXJhbeh0cmUuIExhIDxhIGhyZWY9IiNmdW5jdGlvbnMiPmZ1bmN0aW9uPC9hPiA8Y29kZT5yZXFfbm92YXJ5PC9jb2RlPiBwZXJtZXQgZGUKICAgIG1vZGlmaWVyIGNlIGNvbXBvcnRlbWVudC48L3A+CgogICAgPHRhYmxlIGNsYXNzPSJib3JkZXJlZCI+PHRyIGNsYXNzPSJoZWFkZXIiPjx0aD5Ob208L3RoPjwvdHI+Cjx0cj48dGQ+PGNvZGU+SFRUUF9BQ0NFUFQ8L2NvZGU+PC90ZD48L3RyPgo8dHIgY2xhc3M9Im9kZCI+PHRkPjxjb2RlPkhUVFBfQ09PS0lFPC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0ZD48Y29kZT5IVFRQX0ZPUldBUkRFRDwvY29kZT48L3RkPjwvdHI+Cjx0ciBjbGFzcz0ib2RkIj48dGQ+PGNvZGU+SFRUUF9IT1NUPC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0ZD48Y29kZT5IVFRQX1BST1hZX0NPTk5FQ1RJT048L2NvZGU+PC90ZD48L3RyPgo8dHIgY2xhc3M9Im9kZCI+PHRkPjxjb2RlPkhUVFBfUkVGRVJFUjwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGQ+PGNvZGU+SFRUUF9VU0VSX0FHRU5UPC9jb2RlPjwvdGQ+PC90cj4KPC90YWJsZT4KCiAgICA8cD5BdXRyZXMgdmFyaWFibGVzIGxp6WVzIGF1eCByZXF16nRlczwvcD4KCiAgICA8dGFibGUgY2xhc3M9ImJvcmRlcmVkIj48dHIgY2xhc3M9ImhlYWRlciI+PHRoPk5vbTwvdGg+PHRoPkRlc2NyaXB0aW9uPC90aD48L3RyPgo8dHI+PHRkPjxjb2RlPlJFUVVFU1RfTUVUSE9EPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPkxhIG3pdGhvZGUgSFRUUCBkZSBsYSByZXF16nRlIGVudHJhbnRlIChwYXIgZXhlbXBsZQoJPGNvZGU+R0VUPC9jb2RlPik8L3RkPjwvdHI+Cjx0ciBjbGFzcz0ib2RkIj48dGQ+PGNvZGU+UkVRVUVTVF9TQ0hFTUU8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+TGUgcHJvdG9jb2xlIGFzc29jaekg4CBsJ1VSSSBkZSBsYSByZXF16nRlPC90ZD48L3RyPgo8dHI+PHRkPjxjb2RlPlJFUVVFU1RfVVJJPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPkxhIHBhcnRpZSBjaGVtaW4gZGUgbCdVUkkgZGUgbGEgcmVxdep0ZTwvdGQ+PC90cj4KPHRyIGNsYXNzPSJvZGQiPjx0ZD48Y29kZT5ET0NVTUVOVF9VUkk8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+SWRlbSA8Y29kZT5SRVFVRVNUX1VSSTwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGQ+PGNvZGU+UkVRVUVTVF9GSUxFTkFNRTwvY29kZT48L3RkPgogICAgICAgIDx0ZD5MZSBjaGVtaW4gY29tcGxldCBkYW5zIGxlIHN5c3TobWUgZGUgZmljaGllcnMgbG9jYWwgZHUKCWZpY2hpZXIgb3UgZHUgc2NyaXB0IGNvcnJlc3BvbmRhbnQg4CBsYSByZXF16nRlLCBzaSBsZSBzZXJ2ZXVyCglsJ2EgZOhq4CBk6XRlcm1pbukg4CBsJ2luc3RhbnQgb/kgPGNvZGU+UkVRVUVTVF9GSUxFTkFNRTwvY29kZT4KCWVzdCBy6WbpcmVuY+llLiBEYW5zIGxlIGNhcyBjb250cmFpcmUsIGNvbW1lIGRhbnMgdW4KCWNvbnRleHRlIGRlIHNlcnZldXIgdmlydHVlbCwgbeptZSB2YWxldXIgcXVlIDxjb2RlPlJFUVVFU1RfVVJJPC9jb2RlPiA8L3RkPjwvdHI+Cjx0ciBjbGFzcz0ib2RkIj48dGQ+PGNvZGU+U0NSSVBUX0ZJTEVOQU1FPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPklkZW50aXF1ZSDgIDxjb2RlPlJFUVVFU1RfRklMRU5BTUU8L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRkPjxjb2RlPkxBU1RfTU9ESUZJRUQ8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+TGEgZGF0ZSBldCBoZXVyZSBkZSBkZXJuaehyZSBtb2RpZmljYXRpb24gZHUgZmljaGllciBhdQoJZm9ybWF0IDxjb2RlPjIwMTAxMjMxMjM1OTU5PC9jb2RlPiwgc2kgZWxsZSBlc3QgZOlq4CBjb25udWUgZHUKCXNlcnZldXIgYXUgbW9tZW50IG/5IDxjb2RlPkxBU1RfTU9ESUZJRUQ8L2NvZGU+IGVzdCBy6WbpcmVuY+kuCiAgICAgICAgPC90ZD48L3RyPgo8dHIgY2xhc3M9Im9kZCI+PHRkPjxjb2RlPlNDUklQVF9VU0VSPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPkxlIG5vbSBkJ3V0aWxpc2F0ZXVyIGR1IHByb3Byael0YWlyZSBkdSBzY3JpcHQuPC90ZD48L3RyPgo8dHI+PHRkPjxjb2RlPlNDUklQVF9HUk9VUDwvY29kZT48L3RkPgogICAgICAgIDx0ZD5MZSBub20gZHUgZ3JvdXBlIGF1cXVlbCBhcHBhcnRpZW50IGxlIHNjcmlwdC48L3RkPjwvdHI+Cjx0ciBjbGFzcz0ib2RkIj48dGQ+PGNvZGU+UEFUSF9JTkZPPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPkwnaW5mb3JtYXRpb24gcmVsYXRpdmUgYXUgbm9tIGRlIGNoZW1pbiBzaXR16WUgZW4gZmluLCB2b2lyCglsYSBkaXJlY3RpdmUgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi9tb2QvY29yZS5odG1sI2FjY2VwdHBhdGhpbmZvIj5BY2NlcHRQYXRoSW5mbzwvYT48L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRkPjxjb2RlPlFVRVJZX1NUUklORzwvY29kZT48L3RkPgogICAgICAgIDx0ZD5MYSBjaGHubmUgZGUgcGFyYW3odHJlcyBkZSBsYSByZXF16nRlIGNvdXJhbnRlPC90ZD48L3RyPgo8dHIgY2xhc3M9Im9kZCI+PHRkPjxjb2RlPklTX1NVQlJFUTwvY29kZT48L3RkPgogICAgICAgIDx0ZD4iPGNvZGU+dHJ1ZTwvY29kZT4iIHNpIGxhIHJlcXXqdGUgY291cmFudGUgZXN0IHVuZQoJc291cy1yZXF16nRlLCAiPGNvZGU+ZmFsc2U8L2NvZGU+IiBkYW5zIGxlIGNhcyBjb250cmFpcmU8L3RkPjwvdHI+Cjx0cj48dGQ+PGNvZGU+VEhFX1JFUVVFU1Q8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+TGEgcmVxdep0ZSBjb21wbOh0ZSAocGFyIGV4ZW1wbGUgIjxjb2RlPkdFVCAvaW5kZXguaHRtbAoJSFRUUC8xLjE8L2NvZGU+Iik8L3RkPjwvdHI+Cjx0ciBjbGFzcz0ib2RkIj48dGQ+PGNvZGU+UkVNT1RFX0FERFI8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+TCdhZHJlc3NlIElQIGRlIGwnaPR0ZSBkaXN0YW50PC90ZD48L3RyPgo8dHI+PHRkPjxjb2RlPlJFTU9URV9IT1NUPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPkxlIG5vbSBkJ2j0dGUgZGUgbCdo9HRlIGRpc3RhbnQ8L3RkPjwvdHI+Cjx0ciBjbGFzcz0ib2RkIj48dGQ+PGNvZGU+UkVNT1RFX1VTRVI8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+TGUgbm9tIGRlIGwndXRpbGlzYXRldXIgYXV0aGVudGlmaeksIHMnaWwgZXhpc3RlIChub24KCWRpc3BvbmlibGUg4CBsJ2ludOlyaWV1ciBkJ3VuIGJsb2MgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+Jmx0O0lmCgkmZ3Q7PC9jb2RlPik8L3RkPjwvdHI+Cjx0cj48dGQ+PGNvZGU+UkVNT1RFX0lERU5UPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPkxlIG5vbSBkZSBsJ3V0aWxpc2F0ZXVyIGTpZmluaSBwYXIgPGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi9tb2QvbW9kX2lkZW50Lmh0bWwiPm1vZF9pZGVudDwvYT48L2NvZGU+PC90ZD48L3RyPgo8dHIgY2xhc3M9Im9kZCI+PHRkPjxjb2RlPlNFUlZFUl9OQU1FPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPkxhIHZhbGV1ciBkZSBsYSBkaXJlY3RpdmUgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi9tb2QvY29yZS5odG1sI3NlcnZlcm5hbWUiPlNlcnZlck5hbWU8L2E+PC9jb2RlPiBkdSBzZXJ2ZXVyIHZpcnR1ZWwgY291cmFudDwvdGQ+PC90cj4KPHRyPjx0ZD48Y29kZT5TRVJWRVJfUE9SVDwvY29kZT48L3RkPgogICAgICAgIDx0ZD5MZSBwb3J0IGFzc29jaekgYXUgc2VydmV1ciB2aXJ0dWVsIGNvdXJhbnQgOyB2b2lyIGxhCglkaXJlY3RpdmUgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi9tb2QvY29yZS5odG1sI3NlcnZlcm5hbWUiPlNlcnZlck5hbWU8L2E+PC9jb2RlPjwvdGQ+PC90cj4KPHRyIGNsYXNzPSJvZGQiPjx0ZD48Y29kZT5TRVJWRVJfQURNSU48L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+TGEgdmFsZXVyIGRlIGxhIGRpcmVjdGl2ZSA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuL21vZC9jb3JlLmh0bWwjc2VydmVyYWRtaW4iPlNlcnZlckFkbWluPC9hPjwvY29kZT4gZHUgc2VydmV1ciB2aXJ0dWVsIGNvdXJhbnQ8L3RkPjwvdHI+Cjx0cj48dGQ+PGNvZGU+U0VSVkVSX1BST1RPQ09MPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPkxlIHByb3RvY29sZSB1dGlsaXPpIHBhciBsYSByZXF16nRlPC90ZD48L3RyPgo8dHIgY2xhc3M9Im9kZCI+PHRkPjxjb2RlPkRPQ1VNRU5UX1JPT1Q8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+TGEgdmFsZXVyIGRlIGxhIGRpcmVjdGl2ZSA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuL21vZC9jb3JlLmh0bWwjZG9jdW1lbnRyb290Ij5Eb2N1bWVudFJvb3Q8L2E+PC9jb2RlPiBkdSBzZXJ2ZXVyIHZpcnR1ZWwKCWNvdXJhbnQ8L3RkPjwvdHI+Cjx0cj48dGQ+PGNvZGU+QVVUSF9UWVBFPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPkxhIHZhbGV1ciBkZSBsYSBkaXJlY3RpdmUgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi9tb2QvbW9kX2F1dGhuX2NvcmUuaHRtbCNhdXRodHlwZSI+QXV0aFR5cGU8L2E+PC9jb2RlPiAocGFyIGV4ZW1wbGUKCSI8Y29kZT5iYXNpYzwvY29kZT4iKTwvdGQ+PC90cj4KPHRyIGNsYXNzPSJvZGQiPjx0ZD48Y29kZT5DT05URU5UX1RZUEU8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+TGUgdHlwZSBkZSBjb250ZW51IGRlIGxhIHLpcG9uc2UgKG5vbgoJZGlzcG9uaWJsZSDgIGwnaW506XJpZXVyIGQndW4gYmxvYyA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj4mbHQ7SWYKCSZndDs8L2NvZGU+KTwvdGQ+PC90cj4KPHRyPjx0ZD48Y29kZT5IQU5ETEVSPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPkxlIG5vbSBkdSA8YSBocmVmPSJoYW5kbGVyLmh0bWwiPmdlc3Rpb25uYWlyZTwvYT4gcXVpIGEKCWfpbuly6SBsYSBy6XBvbnNlPC90ZD48L3RyPgo8dHIgY2xhc3M9Im9kZCI+PHRkPjxjb2RlPkhUVFBTPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPiI8Y29kZT5vbjwvY29kZT4iIHNpIGxhIHJlcXXqdGUgdXRpbGlzZSBodHRwcywKCSI8Y29kZT5vZmY8L2NvZGU+IiBkYW5zIGxlIGNhcyBjb250cmFpcmU8L3RkPjwvdHI+Cjx0cj48dGQ+PGNvZGU+SVBWNjwvY29kZT48L3RkPgogICAgICAgIDx0ZD4iPGNvZGU+b248L2NvZGU+IiBzaSBsYSBjb25uZXhpb24gdXRpbGlzZSBJUHY2LAoJIjxjb2RlPm9mZjwvY29kZT4iIGRhbnMgbGUgY2FzIGNvbnRyYWlyZTwvdGQ+PC90cj4KPHRyIGNsYXNzPSJvZGQiPjx0ZD48Y29kZT5SRVFVRVNUX1NUQVRVUzwvY29kZT48L3RkPgogICAgICAgIDx0ZD5MZSBjb2RlIGQnZXJyZXVyIEhUVFAgZGUgbGEgcmVxdep0ZSAobm9uCglkaXNwb25pYmxlIOAgbCdpbnTpcmlldXIgZCd1biBibG9jIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPiZsdDtJZgoJJmd0OzwvY29kZT4pPC90ZD48L3RyPgo8dHI+PHRkPjxjb2RlPlJFUVVFU1RfTE9HX0lEPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPkwnaWRlbnRpZmlhbnQgZHUgbWVzc2FnZSBkJ2VycmV1ciBhc3NvY2npIOAgbGEgcmVxdep0ZSAodm9pcgoJbGEgZGlyZWN0aXZlIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4vbW9kL2NvcmUuaHRtbCNlcnJvcmxvZ2Zvcm1hdCI+RXJyb3JMb2dGb3JtYXQ8L2E+PC9jb2RlPik8L3RkPjwvdHI+Cjx0ciBjbGFzcz0ib2RkIj48dGQ+PGNvZGU+Q09OTl9MT0dfSUQ8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+TCdpZGVudGlmaWFudCBkdSBtZXNzYWdlIGQnZXJyZXVyIGFzc29jaekg4CBsYSBjb25uZXhpb24KCSh2b2lyIGxhIGRpcmVjdGl2ZSA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuL21vZC9jb3JlLmh0bWwjZXJyb3Jsb2dmb3JtYXQiPkVycm9yTG9nRm9ybWF0PC9hPjwvY29kZT4pPC90ZD48L3RyPgo8dHI+PHRkPjxjb2RlPkNPTk5fUkVNT1RFX0FERFI8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+TCdhZHJlc3NlIElQIGR1IGNvcnJlc3BvbmRhbnQgcG91ciBsYSBjb25uZXhpb24gKHZvaXIgbGUgbW9kdWxlCgk8Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuL21vZC9tb2RfcmVtb3RlaXAuaHRtbCI+bW9kX3JlbW90ZWlwPC9hPjwvY29kZT4pPC90ZD48L3RyPgo8dHIgY2xhc3M9Im9kZCI+PHRkPjxjb2RlPkNPTlRFWFRfUFJFRklYPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkIC8+PC90cj4KPHRyPjx0ZD48Y29kZT5DT05URVhUX0RPQ1VNRU5UX1JPT1Q8L2NvZGU+PC90ZD4KICAgICAgICA8dGQgLz48L3RyPgo8L3RhYmxlPgoKICAgIDxwPlZhcmlhYmxlcyBkaXZlcnNlczwvcD4KCiAgICA8dGFibGUgY2xhc3M9ImJvcmRlcmVkIj48dHIgY2xhc3M9ImhlYWRlciI+PHRoPk5vbTwvdGg+PHRoPkRlc2NyaXB0aW9uPC90aD48L3RyPgo8dHI+PHRkPjxjb2RlPlRJTUVfWUVBUjwvY29kZT48L3RkPgogICAgICAgIDx0ZD5MJ2FubullIGNvdXJhbnRlIChwYXIgZXhlbXBsZSA8Y29kZT4yMDEwPC9jb2RlPik8L3RkPjwvdHI+Cjx0ciBjbGFzcz0ib2RkIj48dGQ+PGNvZGU+VElNRV9NT048L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+TGUgbW9pcyBjb3VyYW50ICg8Y29kZT4xPC9jb2RlPiwgLi4uLCA8Y29kZT4xMjwvY29kZT4pPC90ZD48L3RyPgo8dHI+PHRkPjxjb2RlPlRJTUVfREFZPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPkxlIGpvdXIgY291cmFudCBkYW5zIGxlIG1vaXM8L3RkPjwvdHI+Cjx0ciBjbGFzcz0ib2RkIj48dGQ+PGNvZGU+VElNRV9IT1VSPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPkxlcyBoZXVyZXMgZGUgbGEgZGF0ZSBjb3VyYW50ZSAoPGNvZGU+MDwvY29kZT4sIC4uLiwKCTxjb2RlPjIzPC9jb2RlPik8L3RkPjwvdHI+Cjx0cj48dGQ+PGNvZGU+VElNRV9NSU48L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+TGVzIG1pbnV0ZXMgZGUgbGEgZGF0ZSBjb3VyYW50ZTwvdGQ+PC90cj4KPHRyIGNsYXNzPSJvZGQiPjx0ZD48Y29kZT5USU1FX1NFQzwvY29kZT48L3RkPgogICAgICAgIDx0ZD5MZXMgc2Vjb25kZXMgZGUgbGEgZGF0ZSBjb3VyYW50ZTwvdGQ+PC90cj4KPHRyPjx0ZD48Y29kZT5USU1FX1dEQVk8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+TGUgam91ciBkZSBsYSBzZW1haW5lICjgIHBhcnRpciBkZSA8Y29kZT4wPC9jb2RlPiBwb3VyCglkaW1hbmNoZSk8L3RkPjwvdHI+Cjx0ciBjbGFzcz0ib2RkIj48dGQ+PGNvZGU+VElNRTwvY29kZT48L3RkPgogICAgICAgIDx0ZD5MYSBkYXRlIGV0IGhldXJlIGF1IGZvcm1hdCA8Y29kZT4yMDEwMTIzMTIzNTk1OTwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGQ+PGNvZGU+U0VSVkVSX1NPRlRXQVJFPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPkxhIGNoYe5uZSBjb250ZW5hbnQgbGEgdmVyc2lvbiBkdSBzZXJ2ZXVyPC90ZD48L3RyPgo8dHIgY2xhc3M9Im9kZCI+PHRkPjxjb2RlPkFQSV9WRVJTSU9OPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPkxhIGRhdGUgZGUgbGEgdmVyc2lvbiBkZSBsJ0FQSSAobW9kdWxlIG1hZ2ljIG51bWJlcik8L3RkPjwvdHI+CjwvdGFibGU+CgogICAgPHA+Q2VydGFpbnMgbW9kdWxlcywgY29tbWUgPGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi9tb2QvbW9kX3NzbC5odG1sIj5tb2Rfc3NsPC9hPjwvY29kZT4sIGTpZmluaXNzZW50IGRlcwogICAgdmFyaWFibGVzIHN1cHBs6W1lbnRhaXJlcy48L3A+Cgo8L2Rpdj48ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KPGgyPjxhIG5hbWU9ImJpbm9wIiBpZD0iYmlub3AiPk9w6XJhdGV1cnMgYmluYWlyZXM8L2E+PC9oMj4KICAgIAoKICAgIDxwPsAgbCdleGNlcHRpb24gZGUgcXVlbHF1ZXMgb3DpcmF0ZXVycyBkZSBjb21wYXJhaXNvbiBpbnRlcm5lcywgbGVzCiAgICBvcOlyYXRldXJzIGJpbmFpcmVzIHNvbnQgZGUgbGEgZm9ybWUKICAgICI8Y29kZT4tW2EtekEtWl1bYS16QS1aMC05X10rPC9jb2RlPiIsIGF1dHJlbWVudCBkaXQgdW4gc2lnbmUgbW9pbnMKICAgIGV0IGF1IG1vaW5zIGRldXggY2FyYWN06HJlcy4gTGUgbm9tIGVzdCBpbnNlbnNpYmxlIOAgbGEgY2Fzc2UuIExlcwogICAgbW9kdWxlcyBwZXV2ZW50IGZvdXJuaXIgZGVzIG9w6XJhdGV1cnMgYmluYWlyZXMgc3VwcGzpbWVudGFpcmVzLjwvcD4KCiAgICA8aDM+PGEgbmFtZT0iY29tcCIgaWQ9ImNvbXAiPk9w6XJhdGV1cnMgZGUgY29tcGFyYWlzb248L2E+PC9oMz4KICAgIAoKICAgIDx0YWJsZSBjbGFzcz0iYm9yZGVyZWQiPjx0ciBjbGFzcz0iaGVhZGVyIj48dGg+Tm9tPC90aD48dGg+QWx0ZXJuYXRpdmU8L3RoPiA8dGg+RGVzY3JpcHRpb248L3RoPjwvdHI+Cjx0cj48dGQ+PGNvZGU+PT08L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+PGNvZGU+PTwvY29kZT48L3RkPgogICAgICAgIDx0ZD5FZ2FsaXTpIGRlIGNoYe5uZXM8L3RkPjwvdHI+Cjx0ciBjbGFzcz0ib2RkIj48dGQ+PGNvZGU+IT08L2NvZGU+PC90ZD4KICAgICAgICA8dGQgLz4KICAgICAgICA8dGQ+SW7pZ2FsaXTpIGRlIGNoYe5uZXM8L3RkPjwvdHI+Cjx0cj48dGQ+PGNvZGU+Jmx0OzwvY29kZT48L3RkPgogICAgICAgIDx0ZCAvPgogICAgICAgIDx0ZD5DaGHubmUgaW5m6XJpZXVyZSDgPC90ZD48L3RyPgo8dHIgY2xhc3M9Im9kZCI+PHRkPjxjb2RlPiZsdDs9PC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkIC8+CiAgICAgICAgPHRkPkNoYe5uZSBpbmbpcmlldXJlIG91IOlnYWxlIOA8L3RkPjwvdHI+Cjx0cj48dGQ+PGNvZGU+Jmd0OzwvY29kZT48L3RkPgogICAgICAgIDx0ZCAvPgogICAgICAgIDx0ZD5DaGHubmUgc3Vw6XJpZXVyZSDgPC90ZD48L3RyPgo8dHIgY2xhc3M9Im9kZCI+PHRkPjxjb2RlPiZndDs9PC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkIC8+CiAgICAgICAgPHRkPkNoYe5uZSBzdXDpcmlldXJlIG91IOlnYWxlIOA8L3RkPjwvdHI+Cjx0cj48dGQ+PGNvZGU+LWVxPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPjxjb2RlPmVxPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPkVnYWxpdOkgZCdlbnRpZXJzPC90ZD48L3RyPgo8dHIgY2xhc3M9Im9kZCI+PHRkPjxjb2RlPi1uZTwvY29kZT48L3RkPgogICAgICAgIDx0ZD48Y29kZT5uZTwvY29kZT48L3RkPgogICAgICAgIDx0ZD5JbulnYWxpdOkgZCdlbnRpZXJzPC90ZD48L3RyPgo8dHI+PHRkPjxjb2RlPi1sdDwvY29kZT48L3RkPgogICAgICAgIDx0ZD48Y29kZT5sdDwvY29kZT48L3RkPgogICAgICAgIDx0ZD5FbnRpZXIgaW5m6XJpZXVyIOA8L3RkPjwvdHI+Cjx0ciBjbGFzcz0ib2RkIj48dGQ+PGNvZGU+LWxlPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPjxjb2RlPmxlPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPkVudGllciBpbmbpcmlldXIgb3Ug6WdhbCDgPC90ZD48L3RyPgo8dHI+PHRkPjxjb2RlPi1ndDwvY29kZT48L3RkPgogICAgICAgIDx0ZD48Y29kZT5ndDwvY29kZT48L3RkPgogICAgICAgIDx0ZD5FbnRpZXIgc3Vw6XJpZXVyIOA8L3RkPjwvdHI+Cjx0ciBjbGFzcz0ib2RkIj48dGQ+PGNvZGU+LWdlPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPjxjb2RlPmdlPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPkVudGllciBzdXDpcmlldXIgb3Ug6WdhbCDgPC90ZD48L3RyPgo8L3RhYmxlPgogICAgCgogICAgPGgzPjxhIG5hbWU9ImJpbmFyeW90aGVyIiBpZD0iYmluYXJ5b3RoZXIiPkF1dHJlcyBvcOlyYXRldXJzIGJpbmFpcmVzPC9hPjwvaDM+CiAgICAKCiAgICA8dGFibGUgY2xhc3M9ImJvcmRlcmVkIj48dHIgY2xhc3M9ImhlYWRlciI+PHRoPk5vbTwvdGg+PHRoPkRlc2NyaXB0aW9uPC90aD48L3RyPgo8dHI+PHRkPjxjb2RlPi1pcG1hdGNoPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPkwnYWRyZXNzZSBJUCBjb3JyZXNwb25kIOAgYWRyZXNzZS9tYXNxdWU8L3RkPjwvdHI+Cjx0ciBjbGFzcz0ib2RkIj48dGQ+PGNvZGU+LXN0cm1hdGNoPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPmxhIGNoYe5uZSBkZSBnYXVjaGUgY29ycmVzcG9uZCBhdSBtb2TobGUgY29uc3RpdHXpIHBhciBsYQoJY2hh7m5lIGRlIGRyb2l0ZSAoY29udGVuYW50IGRlcyBjYXJhY3TocmVzIGfpbulyaXF1ZXMgKiwgPywgW10pPC90ZD48L3RyPgo8dHI+PHRkPjxjb2RlPi1zdHJjbWF0Y2g8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+aWRlbSA8Y29kZT4tc3RybWF0Y2g8L2NvZGU+LCBtYWlzIGluc2Vuc2libGUg4CBsYSBjYXNzZTwvdGQ+PC90cj4KPHRyIGNsYXNzPSJvZGQiPjx0ZD48Y29kZT4tZm5tYXRjaDwvY29kZT48L3RkPgogICAgICAgIDx0ZD5pZGVtIDxjb2RlPi1zdHJtYXRjaDwvY29kZT4sIG1haXMgbGVzIHNsYXNoZXMgbmUgc29udCBwYXMKCXByaXMgZW4gY29tcHRlIHBhciBsZXMgY2FyYWN06HJlcyBn6W7pcmlxdWVzPC90ZD48L3RyPgo8L3RhYmxlPgogICAgCgo8L2Rpdj48ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KPGgyPjxhIG5hbWU9InVubm9wIiBpZD0idW5ub3AiPk9w6XJhdGV1cnMgdW5haXJlczwvYT48L2gyPgogICAgCgogICAgPHA+TGVzIG9w6XJhdGV1cnMgdW5haXJlcyBhY2NlcHRlbnQgdW4gc2V1bCBhcmd1bWVudCBldCBzb250CiAgICBkZSBsYSBmb3JtZSAiPGNvZGU+LVthLXpBLVpdPC9jb2RlPiIsCiAgICBhdXRyZW1lbnQgZGl0IGxlIHNpZ25lIG1vaW5zIGV0IHVuIGNhcmFjdOhyZS4gTGUgbm9tIDxlbT5lc3Q8L2VtPgogICAgc2Vuc2libGUg4CBsYSBjYXNzZS4gTGVzIG1vZHVsZXMgcGV1dmVudCBmb3VybmlyIGRlcyBvcOlyYXRldXJzCiAgICB1bmFpcmVzIHN1cHBs6W1lbnRhaXJlcy48L3A+CgogICAgPHRhYmxlIGNsYXNzPSJib3JkZXJlZCI+PHRyIGNsYXNzPSJoZWFkZXIiPjx0aD5Ob208L3RoPjx0aD5EZXNjcmlwdGlvbjwvdGg+PHRoPlJlc3RyZWludDwvdGg+PC90cj4KPHRyPjx0ZD48Y29kZT4tZDwvY29kZT48L3RkPgogICAgICAgIDx0ZD5MJ2FyZ3VtZW50IGVzdCB0cmFpdOkgY29tbWUgdW4gbm9tIGRlIGZpY2hpZXIuIAoJVnJhaSBzaSBsZSBmaWNoaWVyIGV4aXN0ZSBldCBjb3JyZXNwb25kIOAgdW4KCXLpcGVydG9pcmU8L3RkPjx0ZD5vdWk8L3RkPjwvdHI+Cjx0ciBjbGFzcz0ib2RkIj48dGQ+PGNvZGU+LWU8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+TCdhcmd1bWVudCBlc3QgdHJhaXTpIGNvbW1lIHVuIG5vbSBkZSBmaWNoaWVyLiBWcmFpIHNpIGxlCglmaWNoaWVyIChvdSBkaXIgb3Ugc3BlY2lhbCkgZXhpc3RlPC90ZD48dGQ+b3VpPC90ZD48L3RyPgo8dHI+PHRkPjxjb2RlPi1mPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPkwnYXJndW1lbnQgZXN0IHRyYWl06SBjb21tZSB1biBub20gZGUgZmljaGllci4gVnJhaSBzaSBsZQoJZmljaGllciBleGlzdGUgZXQgY29ycmVzcG9uZCDgIHVuIGZpY2hpZXIKCXLpZ3VsaWVyPC90ZD48dGQ+b3VpPC90ZD48L3RyPgo8dHIgY2xhc3M9Im9kZCI+PHRkPjxjb2RlPi1zPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPkwnYXJndW1lbnQgZXN0IHRyYWl06SBjb21tZSB1biBub20gZGUgZmljaGllci4gVnJhaSBzaSBsZQoJZmljaGllciBleGlzdGUgZXQgbidlc3QgcGFzIHZpZGU8L3RkPjx0ZD5vdWk8L3RkPjwvdHI+Cjx0cj48dGQ+PGNvZGU+LUw8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+TCdhcmd1bWVudCBlc3QgdHJhaXTpIGNvbW1lIHVuIG5vbSBkZSBmaWNoaWVyLiBWcmFpIHNpIGxlCglmaWNoaWVyIGV4aXN0ZSBldCBjb3JyZXNwb25kIOAgdW4gbGllbgoJc3ltYm9saXF1ZTwvdGQ+PHRkPm91aTwvdGQ+PC90cj4KPHRyIGNsYXNzPSJvZGQiPjx0ZD48Y29kZT4taDwvY29kZT48L3RkPgogICAgICAgIDx0ZD5MJ2FyZ3VtZW50IGVzdCB0cmFpdOkgY29tbWUgdW4gbm9tIGRlIGZpY2hpZXIuIFZyYWkgc2kgbGUKCWZpY2hpZXIgZXhpc3RlIGV0IGNvcnJlc3BvbmQg4CB1biBsaWVuIHN5bWJvbGlxdWUKCShpZGVudGlxdWUg4CA8Y29kZT4tTDwvY29kZT4pPC90ZD48dGQ+b3VpPC90ZD48L3RyPgo8dHI+PHRkPjxjb2RlPi1GPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPlZyYWkgc2kgbGEgY2hh7m5lIGNvcnJlc3BvbmQgYSB1biBmaWNoaWVyIHZhbGlkZSwgYWNjZXNzaWJsZQoJYXZlYyB0b3VzIGxlcyBjb250cvRsZXMgZCdhY2PocyBjb25maWd1culzIHBvdXIgY2UgY2hlbWluLiBBCgljZXR0ZSBmaW4sIHVuZSBzb3VzLXJlcXXqdGUgZWZmZWN0dWUgbGEgdulyaWZpY2F0aW9uLCBldCB2b3VzCglkZXZleiB1dGlsaXNlciBjZSBkcmFwZWF1IGF2ZWMgc29pbiBjYXIgaWwgcGV1dCBpbXBhY3RlciBsZXMKCXBlcmZvcm1hbmNlcyBkZSB2b3RyZSBzZXJ2ZXVyICE8L3RkPjx0ZCAvPjwvdHI+Cjx0ciBjbGFzcz0ib2RkIj48dGQ+PGNvZGU+LVU8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+VnJhaSBzaSBsYSBjaGHubmUgY29ycmVzcG9uZCBhIHVuZSBVUkwgdmFsaWRlLCBhY2Nlc3NpYmxlCglhdmVjIHRvdXMgbGVzIGNvbnRy9GxlcyBkJ2FjY+hzIGNvbmZpZ3Vy6XMgcG91ciBjZSBjaGVtaW4uIEEKCWNldHRlIGZpbiwgdW5lIHNvdXMtcmVxdep0ZSBlZmZlY3R1ZSBsYSB26XJpZmljYXRpb24sIGV0IHZvdXMKCWRldmV6IHV0aWxpc2VyIGNlIGRyYXBlYXUgYXZlYyBzb2luIGNhciBpbCBwZXV0IGltcGFjdGVyIGxlcwoJcGVyZm9ybWFuY2VzIGRlIHZvdHJlIHNlcnZldXIgITwvdGQ+PHRkIC8+PC90cj4KPHRyPjx0ZD48Y29kZT4tQTwvY29kZT48L3RkPgogICAgICAgIDx0ZD5BbGlhcyBwb3VyIDxjb2RlPi1VPC9jb2RlPjwvdGQ+PHRkIC8+PC90cj4KPHRyIGNsYXNzPSJvZGQiPjx0ZD48Y29kZT4tbjwvY29kZT48L3RkPgogICAgICAgIDx0ZD5WcmFpIHNpIGxhIGNoYe5uZSBuJ2VzdCBwYXMgdmlkZTwvdGQ+PHRkIC8+PC90cj4KPHRyPjx0ZD48Y29kZT4tejwvY29kZT48L3RkPgogICAgICAgIDx0ZD5WcmFpIHNpIGxhIGNoYe5uZSBlc3QgdmlkZTwvdGQ+PHRkIC8+PC90cj4KPHRyIGNsYXNzPSJvZGQiPjx0ZD48Y29kZT4tVDwvY29kZT48L3RkPgogICAgICAgIDx0ZD5GYXV4IHNpIGxhIGNoYe5uZSBlc3QgdmlkZSwgIjxjb2RlPjA8L2NvZGU+IiwKCSI8Y29kZT5vZmY8L2NvZGU+IiwgIjxjb2RlPmZhbHNlPC9jb2RlPiIsIG91ICI8Y29kZT5ubzwvY29kZT4iCgkoaW5zZW5zaWJpbGl06SDgIGxhIGNhc3NlKS4gVnJhaSBkYW5zIGxlIGNhcyBjb250cmFpcmUuPC90ZD48dGQgLz48L3RyPgo8dHI+PHRkPjxjb2RlPi1SPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPklkZW0gIjxjb2RlPiV7UkVNT1RFX0FERFJ9IC1pcG1hdGNoIC4uLjwvY29kZT4iLCBlbiBwbHVzCgllZmZpY2FjZQogICAgICAgIDwvdGQ+PHRkIC8+PC90cj4KPC90YWJsZT4KCiAgICA8cD5MZXMgb3DpcmF0ZXVycyBtYXJxdelzIGNvbW1lICJyZXN0cmVpbnRzIiBuZSBzb250IHBhcyBkaXNwb25pYmxlcwogICAgYXZlYyBjZXJ0YWlucyBtb2R1bGVzIGNvbW1lIDxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4vbW9kL21vZF9pbmNsdWRlLmh0bWwiPm1vZF9pbmNsdWRlPC9hPjwvY29kZT4uPC9wPgoKPC9kaXY+PGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0ic2VjdGlvbiI+CjxoMj48YSBuYW1lPSJmdW5jdGlvbnMiIGlkPSJmdW5jdGlvbnMiPkZvbmN0aW9uczwvYT48L2gyPgogICAgCgogICAgPHA+Tm9ybWFsZW1lbnQsIGxlcyBmb25jdGlvbnMgZG9udCBsYSB2YWxldXIgZXN0IHVuZSBjaGHubmUgYWNjZXB0ZW50IHVuZSBjaGHubmUKICAgIGNvbW1lIGFyZ3VtZW50IGV0IHJlbnZvaWVudCB1bmUgY2hh7m5lLiBMZXMgbm9tcyBkZSBmb25jdGlvbnMgc29udAogICAgaW5zZW5zaWJsZXMg4CBsYSBjYXNzZS4gTGVzIG1vZHVsZXMgcGV1dmVudCBmb3VybmlyIGRlcyBmb25jdGlvbnMKICAgIHN1cHBs6W1lbnRhaXJlcy48L3A+CgogICAgPHRhYmxlIGNsYXNzPSJib3JkZXJlZCI+PHRyIGNsYXNzPSJoZWFkZXIiPjx0aD5Ob208L3RoPjx0aD5EZXNjcmlwdGlvbjwvdGg+PHRoPlJlc3RyZWludDwvdGg+PC90cj4KPHRyPjx0ZD48Y29kZT5yZXE8L2NvZGU+LCA8Y29kZT5odHRwPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPkxpdCBsJ2VuLXTqdGUgZGUgcmVxdep0ZSBIVFRQIDsgbGVzIG5vbXMKCWQnZW4tdOp0ZSBjb3JyZXNwb25kYW50cyBwZXV2ZW50IOp0cmUgYWpvdXTpcwoJ4CBsJ2VuLXTqdGUgVmFyeSwKCXZvaXIgY2ktZGVzc291czwvdGQ+PHRkIC8+PC90cj4KPHRyIGNsYXNzPSJvZGQiPjx0ZD48Y29kZT5yZXFfbm92YXJ5PC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPklkZW50aXF1ZSDgIDxjb2RlPnJlcTwvY29kZT4sIG1haXMgYXVjdW4gbm9tIGQnZW4tdOp0ZSBuJ2VzdAoJYWpvdXTpIOAgbCdlbi106nRlIFZhcnk8L3RkPjx0ZCAvPjwvdHI+Cjx0cj48dGQ+PGNvZGU+cmVzcDwvY29kZT48L3RkPgogICAgICAgIDx0ZD5MaXQgbCdlbi106nRlIGRlIHLpcG9uc2UgSFRUUDwvdGQ+PHRkIC8+PC90cj4KPHRyIGNsYXNzPSJvZGQiPjx0ZD48Y29kZT5yZXFlbnY8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+UmVjaGVyY2hlIHVuZSB2YXJpYWJsZSBkJ2Vudmlyb25uZW1lbnQgZGUgcmVxdep0ZSAob24KCXBldXQgYXVzc2kgdXRpbGlzZXIgbGUgcmFjY291cmNpIDxjb2RlPnY8L2NvZGU+KS48L3RkPjx0ZCAvPjwvdHI+Cjx0cj48dGQ+PGNvZGU+b3NlbnY8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+UmVjaGVyY2hlIHVuZSB2YXJpYWJsZSBkJ2Vudmlyb25uZW1lbnQgZHUgc3lzdOhtZQoJZCdleHBsb2l0YXRpb248L3RkPjx0ZCAvPjwvdHI+Cjx0ciBjbGFzcz0ib2RkIj48dGQ+PGNvZGU+bm90ZTwvY29kZT48L3RkPgogICAgICAgIDx0ZD5SZWNoZXJjaGUgdW5lIG5vdGUgZGUgcmVxdep0ZTwvdGQ+PHRkIC8+PC90cj4KPHRyPjx0ZD48Y29kZT5lbnY8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+UmVudm9pZSBsZSBwcmVtaWVyIHLpc3VsdGF0IHBvc2l0aWYgZGUgPGNvZGU+bm90ZTwvY29kZT4sCgk8Y29kZT5yZXFlbnY8L2NvZGU+LCA8Y29kZT5vc2VudjwvY29kZT48L3RkPjx0ZCAvPjwvdHI+Cjx0ciBjbGFzcz0ib2RkIj48dGQ+PGNvZGU+dG9sb3dlcjwvY29kZT48L3RkPgogICAgICAgIDx0ZD5Db252ZXJ0aXQgdW5lIGNoYe5uZSBlbiBtaW51c2N1bGVzPC90ZD48dGQgLz48L3RyPgo8dHI+PHRkPjxjb2RlPnRvdXBwZXI8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+Q29udmVydGl0IHVuZSBjaGHubmUgZW4gbWFqdXNjdWxlczwvdGQ+PHRkIC8+PC90cj4KPHRyIGNsYXNzPSJvZGQiPjx0ZD48Y29kZT5lc2NhcGU8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+RWNoYXBwZSBsZXMgY2FyYWN06HJlcyBzcOljaWF1eCBlbiBjb2RhZ2UgaGV4YWTpY2ltYWw8L3RkPjx0ZCAvPjwvdHI+Cjx0cj48dGQ+PGNvZGU+dW5lc2NhcGU8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+IkTpc+ljaGFwcGUiIGxlcyBjaGHubmVzIGNvZOllcwoJZW4gaGV4YWTpY2ltYWwsIGVuIG5lIGdhcmRhbnQgZW5jb2TpcyBxdWUgbGVzIHNsYXNoZXM7IHJlbnZvaWUgbGEgY2hh7m5lIHZpZGUKCXNpIGxhIHPpcXVlbmNlICUwMCBlc3QgcmVuY29udHLpZTwvdGQ+PHRkIC8+PC90cj4KPHRyIGNsYXNzPSJvZGQiPjx0ZD48Y29kZT5iYXNlNjQ8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+RW5jb2RlIGxhIGNoYe5uZSBlbiBiYXNlNjQ8L3RkPjx0ZCAvPjwvdHI+Cjx0cj48dGQ+PGNvZGU+dW5iYXNlNjQ8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+ROljb2RlIGxlcyBjaGHubmVzIGNvZOllcyBlbiBiYXNlNjQsIHJlbnZvaWUgdW5lIGNoYe5uZQoJdHJvbnF16WUgc2kgbGUgY2FyYWN06HJlIDB4MDAgZXN0IHJlbmNvbnRy6TwvdGQ+PHRkIC8+PC90cj4KPHRyIGNsYXNzPSJvZGQiPjx0ZD48Y29kZT5tZDU8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+R+lu6HJlIHVuIGhhc2ggZGUgbGEgY2hh7m5lIGVuIHV0aWxpc2FudCBNRDUsIHB1aXMgY29kZSBsZQoJaGFzaCBvYnRlbnUgZW4gaGV4YWTpY2ltYWw8L3RkPjx0ZCAvPjwvdHI+Cjx0cj48dGQ+PGNvZGU+c2hhMTwvY29kZT48L3RkPgogICAgICAgIDx0ZD5H6W7ocmUgdW4gaGFzaCBkZSBsYSBjaGHubmUgZW4gdXRpbGlzYW50IFNIQTEsIHB1aXMgZW5jb2RlCglsZSBoYXNoIG9idGVudSBlbiBoZXhhZOljaW1hbDwvdGQ+PHRkIC8+PC90cj4KPHRyIGNsYXNzPSJvZGQiPjx0ZD48Y29kZT5maWxlPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPkxpdCBsZSBjb250ZW51IGQndW4gZmljaGllcihmaW5zIGRlIGxpZ25lcyBpbmNsdXNlcywgc2kKCWVsbGVzIGV4aXN0ZW50KTwvdGQ+PHRkPm91aTwvdGQ+PC90cj4KPHRyPjx0ZD48Y29kZT5maWxlc2l6ZTwvY29kZT48L3RkPgogICAgICAgIDx0ZD5SZW52b2llIGxhIHRhaWxsZSBkJ3VuIGZpY2hpZXIgKG91IDAgc2kgbGUgZmljaGllciBuJ2V4aXN0ZQoJcGFzIG91IG5lIGNvcnJlc3BvbmQgcGFzIOAgdW4gZmljaGllciBy6Wd1bGllcik8L3RkPjx0ZD5vdWk8L3RkPjwvdHI+CjwvdGFibGU+CgogICAgPHA+TGVzIGZvbmN0aW9ucyBtYXJxdellcyBjb21tZSAicmVzdHJlaW50cyIgbmUgc29udCBwYXMgZGlzcG9uaWJsZXMKICAgIGF2ZWMgY2VydGFpbnMgbW9kdWxlcyBjb21tZSA8Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuL21vZC9tb2RfaW5jbHVkZS5odG1sIj5tb2RfaW5jbHVkZTwvYT48L2NvZGU+LjwvcD4KCiAgICA8cD5Mb3JzcXVlIGxlcyBmb25jdGlvbnMgPGNvZGU+cmVxPC9jb2RlPiBvdSA8Y29kZT5odHRwPC9jb2RlPiBzb250CiAgICB1dGlsaXPpZXMsIGxlIG5vbSBkJ2VuLXTqdGUgc2VyYSBhdXRvbWF0aXF1ZW1lbnQgYWpvdXTpIOAgbCdlbi106nRlCiAgICBWYXJ5IGRlIGxhIHLpcG9uc2UgSFRUUCwgc2F1ZiBzcOljaWZpY2F0aW9uIGNvbnRyYWlyZSBwb3VyIGxhCiAgICBkaXJlY3RpdmUgcXVpIGFjY2VwdGUgbCdleHByZXNzaW9uIGNvbW1lIHBhcmFt6HRyZS4gTGEKICAgIGZvbmN0aW9uIDxjb2RlPnJlcV9ub3Zhcnk8L2NvZGU+IHBlcm1ldCBkJ2VtcOpjaGVyIGwnYWpvdXQgZGUgbm9tcwogICAgZCdlbi106nRlcyDgIGwnZW4tdOp0ZSBWYXJ5LjwvcD4KCiAgICA8cD5FbiBwbHVzIGRlcyBmb25jdGlvbnMgZG9udCBsYSB2YWxldXIgZXN0IHVuZSBjaGHubmUsIGlsIGV4aXN0ZQogICAgYXVzc2kgZGVzIGZvbmN0aW9ucyBkb250IGxhIHZhbGV1ciBlc3QgdW5lIGxpc3RlLCBxdWkgYWNjZXB0ZW50IHVuZQogICAgY2hh7m5lIGNvbW1lIGFyZ3VtZW50LCBldCByZW52b2llbnQgdW5lIGxpc3RlIGRlIG1vdHMsIGF1dHJlbWVudCBkaXQKICAgIHVuZSBsaXN0ZSBkZSBjaGHubmVzLiBMYSBsaXN0ZSBkZSBtb3QgcGV1dCDqdHJlIHV0aWxpc+llIGF2ZWMKICAgIGwnb3DpcmF0ZXVyIHNw6WNpYWwgPGNvZGU+LWluPC9jb2RlPi4gTGVzIG5vbXMgZGUgZm9uY3Rpb25zIHNvbnQKICAgIGluc2Vuc2libGVzIOAgbGEgY2Fzc2UuIExlcyBtb2R1bGVzIHBldXZlbnQgZm91cm5pciBkZXMgZm9uY3Rpb25zCiAgICBzdXBwbOltZW50YWlyZXMuPC9wPgoKICAgIDxwPklsIG4nZXhpc3RlIHBhcyBkZSBmb25jdGlvbnMgaW50ZXJuZXMgZG9udCBsYSB2YWxldXIgZXN0IHVuZQogICAgbGlzdGUuIExlIG1vZHVsZSA8Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuL21vZC9tb2Rfc3NsLmh0bWwiPm1vZF9zc2w8L2E+PC9jb2RlPiBmb3Vybml0IGxhIGZvbmN0aW9uCiAgICA8Y29kZT5QZWVyRXh0TGlzdDwvY29kZT4uIFZvaXIgbGEgZGVzY3JpcHRpb24gZGUgbGEgZGlyZWN0aXZlCiAgICA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuL21vZC9tb2Rfc3NsLmh0bWwjc3NscmVxdWlyZSI+U1NMUmVxdWlyZTwvYT48L2NvZGU+IHBvdXIgcGx1cyBkZQogICAgZOl0YWlscyAobm90ZXogcXVlIGxhIGZvbmN0aW9uIDxjb2RlPlBlZXJFeHRMaXN0PC9jb2RlPiBwZXV0IGF1c3NpCiAgICDqdHJlIHV0aWxpc+llIGVuIGRlaG9ycyBkZSBsYSBkaXJlY3RpdmUgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi9tb2QvbW9kX3NzbC5odG1sI3NzbHJlcXVpcmUiPlNTTFJlcXVpcmU8L2E+PC9jb2RlPikuPC9wPgoKPC9kaXY+PGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0ic2VjdGlvbiI+CjxoMj48YSBuYW1lPSJleGFtcGxlcyIgaWQ9ImV4YW1wbGVzIj5FeGVtcGxlcyBkJ2V4cHJlc3Npb25zPC9hPjwvaDI+CiAgICAKCQoJPHA+TGVzIGV4ZW1wbGVzIHN1aXZhbnRzIG1vbnRlbnQgY29tbWVudCB1dGlsaXNlciBsZXMKCWV4cHJlc3Npb25zIHBvdXIg6XZhbHVlciBsZXMgcmVxdep0ZXMgOjwvcD4KCQoJPHByZSBjbGFzcz0icHJldHR5cHJpbnQgbGFuZy1jb25maWciPiMgQ29tcGFyZXIgbGUgbm9tIGQnaPR0ZSBhdmVjIGV4YW1wbGUuY29tIGV0IHJlZGlyaWdlciB2ZXJzCiMgd3d3LmV4YW1wbGUuY29tIHNpIGxlIG5vbSBkJ2j0dGUgY29ycmVzcG9uZAombHQ7SWYgIiV7SFRUUF9IT1NUfSA9PSAnZXhhbXBsZS5jb20nIiZndDsKICAgIFJlZGlyZWN0IHBlcm1hbmVudCAiLyIgImh0dHA6Ly93d3cuZXhhbXBsZS5jb20vIgombHQ7L0lmJmd0OwoKIyBGb3JjZXIgbGUgdHlwZSB0ZXh0L3BsYWluIHNpIHVuIGZpY2hpZXIgZmFpdCBsJ29iamV0IGQndW5lCiMgcmVxdep0ZSBkb250IGxhIGNoYe5uZSBkZSBwYXJhbeh0cmVzIGNvbnRpZW50ICdmb3JjZXRleHQnCiZsdDtJZiAiJXtRVUVSWV9TVFJJTkd9ID1+IC9mb3JjZXRleHQvIiZndDsKICAgIEZvcmNlVHlwZSB0ZXh0L3BsYWluCiZsdDsvSWYmZ3Q7CgojIE4nYXV0b3Jpc2VyIGwnYWNj6HMg4CBjZSBjb250ZW51IHF1ZSBwZW5kYW50IGxlcyBoZXVyZXMgZGUKIyB0cmF2YWlsCiZsdDtEaXJlY3RvcnkgIi9mb28vYmFyL2J1c2luZXNzIiZndDsKICAgICBSZXF1aXJlIGV4cHIgJXtUSU1FX0hPVVJ9IC1ndCA5ICZhbXA7JmFtcDsgJXtUSU1FX0hPVVJ9IC1sdCAxNwombHQ7L0RpcmVjdG9yeSZndDsKCiMgVulyaWZpZSBzaSB1biBlbi106nRlIEhUVFAgY29ycmVzcG9uZCDgIHVuZSBkZXMgdmFsZXVycyBkJ3VuZSBsaXN0ZQombHQ7SWYgIiV7SFRUUDpYLWV4YW1wbGUtaGVhZGVyfSBpbiB7ICdmb28nLCAnYmFyJywgJ2JheicgfSImZ3Q7CiAgICBMYSBk6WZpbml0aW9uIGRlIGwnZW4tdOp0ZSBjb3JyZXNwb25kIOAgdW5lIGRlcyB2YWxldXJzIHJlY2hlcmNo6WVzCiZsdDsvSWYmZ3Q7CgojIFJlY2hlcmNoZSBsYSB2YWxldXIgZCd1bmUgZXhwcmVzc2lvbiByYXRpb25uZWxsZSBkYW5zIHVuZSB2YXJpYWJsZQojIGQnZW52aXJvbm5lbWVudCwgZXQgcmVudm9pZSBsYSBu6WdhdGlvbiBkdSBy6XN1bHRhdC4KJmx0O0lmICIhIHJlcWVudignUkVESVJFQ1RfRk9PJykgPX4gL2Jhci8iJmd0OwogICAgTGEgY29uZGl0aW9uIGVzdCB26XJpZmnpZQombHQ7L0lmJmd0OwoKIyBW6XJpZmllIGxlIHLpc3VsdGF0IGRlIGxhIHJlY2hlcmNoZSBkJ3VuZSBjb3JyZXNwb25kYW5jZSBkJ1VSSSBkYW5zIHVuCiMgY29udGV4dGUgZGUgculwZXJ0b2lyZSBhdmVjIGwnb3B0aW9uIC1mCiZsdDtEaXJlY3RvcnkgIi92YXIvd3d3IiZndDsKICAgIEFkZEVuY29kaW5nIHgtZ3ppcCBnegombHQ7SWYgIi1mICcle1JFUVVFU1RfRklMRU5BTUV9LnVuemlwbWUnICZhbXA7JmFtcDsgISAle0hUVFA6QWNjZXB0LUVuY29kaW5nfSA9fiAvZ3ppcC8iJmd0OwogICAgICBTZXRPdXRwdXRGaWx0ZXIgSU5GTEFURQombHQ7L0lmJmd0OwombHQ7L0RpcmVjdG9yeSZndDsKCiMgRXhlbXBsZXMgZGUgZm9uY3Rpb25zIGRhbnMgdW4gY29udGV4dGUgYm9vbOllbgombHQ7SWYgIm1kNSgnZm9vJykgPT0gJ2FjYmQxOGRiNGNjMmY4NWNlZGVmNjU0ZmNjYzRhNGQ4JyImZ3Q7CiAgSGVhZGVyIHNldCBjaGVja3N1bS1tYXRjaGVkIHRydWUKJmx0Oy9JZiZndDsKJmx0O0lmICJtZDUoJ2ZvbycpID09IHJlcGxhY2UoJ21kNTpYWFhkMThkYjRjYzJmODVjZWRlZjY1NGZjY2M0YTRkOCcsICdtZDU6WFhYJywgJ2FjYicpJmd0OwogIEhlYWRlciBzZXQgY2hlY2tzdW0tbWF0Y2hlZC0yIHRydWUKJmx0Oy9JZiZndDsKCiMgRnVuY3Rpb24gZXhhbXBsZSBpbiBzdHJpbmcgY29udGV4dApIZWFkZXIgc2V0IGZvby1jaGVja3N1bSAiZXhwcj0le21kNTpmb299IjwvcHJlPgoKPC9kaXY+PGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0ic2VjdGlvbiI+CjxoMj48YSBuYW1lPSJvdGhlciIgaWQ9Im90aGVyIj5BdXRyZXM8L2E+PC9oMj4KICAgIAoKICAgIDx0YWJsZSBjbGFzcz0iYm9yZGVyZWQiPjx0ciBjbGFzcz0iaGVhZGVyIj48dGg+Tm9tPC90aD48dGg+QWx0ZXJuYXRpdmU8L3RoPiA8dGg+RGVzY3JpcHRpb248L3RoPjwvdHI+Cjx0cj48dGQ+PGNvZGU+LWluPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPjxjb2RlPmluPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPmNoYe5uZSBjb250ZW51ZSBkYW5zIHVuZSBsaXN0ZSBkZSBtb3RzPC90ZD48L3RyPgo8dHIgY2xhc3M9Im9kZCI+PHRkPjxjb2RlPi9yZWdleHAvPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPjxjb2RlPm0jcmVnZXhwIzwvY29kZT48L3RkPgogICAgICAgIDx0ZD5FeHByZXNzaW9uIHJhdGlvbm5lbGxlIChsYSBzZWNvbmRlIGZvcm1lIHBlcm1ldCBkZSBzcOljaWZpZXIKCWRlcyBk6WxpbWl0ZXVycyBhdXRyZXMgcXVlIC8pPC90ZD48L3RyPgo8dHI+PHRkPjxjb2RlPi9yZWdleHAvaTwvY29kZT48L3RkPgogICAgICAgIDx0ZD48Y29kZT5tI3JlZ2V4cCNpPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPkV4cHJlc3Npb24gcmF0aW9ubmVsbGUgaW5zZW5zaWJsZSDgIGxhIGNhc3NlPC90ZD48L3RyPgo8dHIgY2xhc3M9Im9kZCI+PHRkPjxjb2RlPiQwIC4uLiAkOTwvY29kZT48L3RkPgogICAgICAgIDx0ZCAvPgogICAgICAgIDx0ZD5S6WbpcmVuY2VzIGFycmnocmVzIGRhbnMgbGVzIGV4cHJlc3Npb25zIHJhdGlvbm5lbGxlczwvdGQ+PC90cj4KPC90YWJsZT4KCiAgICA8aDM+PGEgbmFtZT0icmViYWNrcmVmIiBpZD0icmViYWNrcmVmIj5S6WbpcmVuY2VzIGFycmnocmVzIGRhbnMgbGVzIGV4cHJlc3Npb25zIHJhdGlvbm5lbGxlczwvYT48L2gzPgogICAgICAgIAogICAgICAgIDxwPkxlcyBjaGHubmVzIDxjb2RlPiQwPC9jb2RlPiAuLi4gPGNvZGU+JDk8L2NvZGU+IHBlcm1ldHRlbnQgZGUKCXLpZulyZW5jZXIgbGVzIGdyb3VwZXMgZGUgY2FwdHVyZSBlbiBwcm92ZW5hbmNlIGQnZXhwcmVzc2lvbnMKCXJhdGlvbm5lbGxlcyBwculj6WRlbW1lbnQgZXjpY3V06WVzIGV0IG1pc2VzIGVuIGNvcnJlc3BvbmRhbmNlIGF2ZWMKCXN1Y2Pocy4gRWxsZXMgbmUgcGV1dmVudCBub3JtYWxlbWVudCDqdHJlIHV0aWxpc+llcyBxdWUgZGFucyBsYQoJbeptZSBleHByZXNzaW9uIHF1ZSBjZWxsZSBtaXNlIGVuIGNvcnJlc3BvbmRhbmNlLCBtYWlzIGNlcnRhaW5zCgltb2R1bGVzIHBlcm1ldHRlbnQgZGUgbGVzIHV0aWxpc2VyIGRlIG1hbmnocmUgc3DpY2lhbGUuPC9wPgogICAgCgo8L2Rpdj48ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KPGgyPjxhIG5hbWU9InNzbHJlcXVpcmUiIGlkPSJzc2xyZXF1aXJlIj5Db21wYXJhaXNvbiBhdmVjIFNTTFJlcXVpcmU8L2E+PC9oMj4KICAgIAogICAgPHA+TGEgc3ludGF4ZSA8ZW0+YXBfZXhwcjwvZW0+IGNvbnNpc3RlIHByaW5jaXBhbGVtZW50IGVuIHVuZQogICAgc3VyY291Y2hlIGRlIGxhIHN5bnRheGUgZGUgbGEgZGlyZWN0aXZlIG9ic29s6HRlIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4vbW9kL21vZF9zc2wuaHRtbCNzc2xyZXF1aXJlIj5TU0xSZXF1aXJlPC9hPjwvY29kZT4uIFZvdXMgcG91dmV6IGNvbnN1bHRlciBsYQogICAgbGlzdGUgZGUgbGV1ciBkaWZm6XJlbmNlcyBkYW5zIGxhIGRvY3VtZW50YXRpb24gZGUgbGEgZGlyZWN0aXZlCiAgICA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuL21vZC9tb2Rfc3NsLmh0bWwjc3NscmVxdWlyZSI+U1NMUmVxdWlyZTwvYT48L2NvZGU+LjwvcD4KPC9kaXY+PGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0ic2VjdGlvbiI+CjxoMj48YSBuYW1lPSJjb21wYXRpYmlsaXR5IiBpZD0iY29tcGF0aWJpbGl0eSI+SGlzdG9yaXF1ZSBkZSB2ZXJzaW9uPC9hPjwvaDI+CiAgICAKICAgIDxwPkxhIDxhIGhyZWY9IiNmdW5jdGlvbnMiPmZvbmN0aW9uPC9hPiA8Y29kZT5yZXFfbm92YXJ5PC9jb2RlPiBlc3QKICAgIGRpc3BvbmlibGUg4CBwYXJ0aXIgZGUgbGEgdmVyc2lvbiAyLjQuNCBkdSBzZXJ2ZXVyIEhUVFAgQXBhY2hlLjwvcD4KPC9kaXY+PC9kaXY+CjxkaXYgY2xhc3M9ImJvdHRvbWxhbmciPgo8cD48c3Bhbj5MYW5ndWVzIERpc3BvbmlibGVzOiA8L3NwYW4+PGEgaHJlZj0iLi9lbi9leHByLmh0bWwiIGhyZWZsYW5nPSJlbiIgcmVsPSJhbHRlcm5hdGUiIHRpdGxlPSJFbmdsaXNoIj4mbmJzcDtlbiZuYnNwOzwvYT4gfAo8YSBocmVmPSIuL2ZyL2V4cHIuaHRtbCIgdGl0bGU9IkZyYW7nYWlzIj4mbmJzcDtmciZuYnNwOzwvYT48L3A+CjwvZGl2PjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIHNyYz0iLi9pbWFnZXMvdXAuZ2lmIiBhbHQ9InRvcCIgLz48L2E+PC9kaXY+PGRpdiBjbGFzcz0ic2VjdGlvbiI+PGgyPjxhIGlkPSJjb21tZW50c19zZWN0aW9uIiBuYW1lPSJjb21tZW50c19zZWN0aW9uIj5Db21tZW50YWlyZXM8L2E+PC9oMj48ZGl2IGNsYXNzPSJ3YXJuaW5nIj48c3Ryb25nPk5vdGljZTo8L3N0cm9uZz48YnIgLz5UaGlzIGlzIG5vdCBhIFEmYW1wO0Egc2VjdGlvbi4gQ29tbWVudHMgcGxhY2VkIGhlcmUgc2hvdWxkIGJlIHBvaW50ZWQgdG93YXJkcyBzdWdnZXN0aW9ucyBvbiBpbXByb3ZpbmcgdGhlIGRvY3VtZW50YXRpb24gb3Igc2VydmVyLCBhbmQgbWF5IGJlIHJlbW92ZWQgYWdhaW4gYnkgb3VyIG1vZGVyYXRvcnMgaWYgdGhleSBhcmUgZWl0aGVyIGltcGxlbWVudGVkIG9yIGNvbnNpZGVyZWQgaW52YWxpZC9vZmYtdG9waWMuIFF1ZXN0aW9ucyBvbiBob3cgdG8gbWFuYWdlIHRoZSBBcGFjaGUgSFRUUCBTZXJ2ZXIgc2hvdWxkIGJlIGRpcmVjdGVkIGF0IGVpdGhlciBvdXIgSVJDIGNoYW5uZWwsICNodHRwZCwgb24gRnJlZW5vZGUsIG9yIHNlbnQgdG8gb3VyIDxhIGhyZWY9Imh0dHA6Ly9odHRwZC5hcGFjaGUub3JnL2xpc3RzLmh0bWwiPm1haWxpbmcgbGlzdHM8L2E+LjwvZGl2Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+PCEtLS8vLS0+PCFbQ0RBVEFbLy8+PCEtLQp2YXIgY29tbWVudHNfc2hvcnRuYW1lID0gJ2h0dHBkJzsKdmFyIGNvbW1lbnRzX2lkZW50aWZpZXIgPSAnaHR0cDovL2h0dHBkLmFwYWNoZS5vcmcvZG9jcy8yLjQvZXhwci5odG1sJzsKKGZ1bmN0aW9uKHcsIGQpIHsKICAgIGlmICh3LmxvY2F0aW9uLmhvc3RuYW1lLnRvTG93ZXJDYXNlKCkgPT0gImh0dHBkLmFwYWNoZS5vcmciKSB7CiAgICAgICAgZC53cml0ZSgnPGRpdiBpZD0iY29tbWVudHNfdGhyZWFkIj48XC9kaXY+Jyk7CiAgICAgICAgdmFyIHMgPSBkLmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpOwogICAgICAgIHMudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnOwogICAgICAgIHMuYXN5bmMgPSB0cnVlOwogICAgICAgIHMuc3JjID0gJ2h0dHBzOi8vY29tbWVudHMuYXBhY2hlLm9yZy9zaG93X2NvbW1lbnRzLmx1YT9zaXRlPScgKyBjb21tZW50c19zaG9ydG5hbWUgKyAnJnBhZ2U9JyArIGNvbW1lbnRzX2lkZW50aWZpZXI7CiAgICAgICAgKGQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXSB8fCBkLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdib2R5JylbMF0pLmFwcGVuZENoaWxkKHMpOwogICAgfQogICAgZWxzZSB7IAogICAgICAgIGQud3JpdGUoJzxkaXYgaWQ9ImNvbW1lbnRzX3RocmVhZCI+Q29tbWVudHMgYXJlIGRpc2FibGVkIGZvciB0aGlzIHBhZ2UgYXQgdGhlIG1vbWVudC48XC9kaXY+Jyk7CiAgICB9Cn0pKHdpbmRvdywgZG9jdW1lbnQpOwovLy0tPjwhXV0+PC9zY3JpcHQ+PC9kaXY+PGRpdiBpZD0iZm9vdGVyIj4KPHAgY2xhc3M9ImFwYWNoZSI+Q29weXJpZ2h0IDIwMTUgVGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLjxiciAvPkF1dG9yaXPpIHNvdXMgPGEgaHJlZj0iaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wIj5BcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjA8L2E+LjwvcD4KPHAgY2xhc3M9Im1lbnUiPjxhIGhyZWY9Ii4vbW9kLyI+TW9kdWxlczwvYT4gfCA8YSBocmVmPSIuL21vZC9kaXJlY3RpdmVzLmh0bWwiPkRpcmVjdGl2ZXM8L2E+IHwgPGEgaHJlZj0iaHR0cDovL3dpa2kuYXBhY2hlLm9yZy9odHRwZC9GQVEiPkZBUTwvYT4gfCA8YSBocmVmPSIuL2dsb3NzYXJ5Lmh0bWwiPkdsb3NzYWlyZTwvYT4gfCA8YSBocmVmPSIuL3NpdGVtYXAuaHRtbCI+UGxhbiBkdSBzaXRlPC9hPjwvcD48L2Rpdj48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+PCEtLS8vLS0+PCFbQ0RBVEFbLy8+PCEtLQppZiAodHlwZW9mKHByZXR0eVByaW50KSAhPT0gJ3VuZGVmaW5lZCcpIHsKICAgIHByZXR0eVByaW50KCk7Cn0KLy8tLT48IV1dPjwvc2NyaXB0Pgo8L2JvZHk+PC9odG1sPg==