PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/Pgo8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBsYW5nPSJmciIgeG1sOmxhbmc9ImZyIj48aGVhZD4KPG1ldGEgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEiIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgLz4KPCEtLQogICAgICAgIFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYCiAgICAgICAgICAgICAgVGhpcyBmaWxlIGlzIGdlbmVyYXRlZCBmcm9tIHhtbCBzb3VyY2U6IERPIE5PVCBFRElUCiAgICAgICAgWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgKICAgICAgLS0+Cjx0aXRsZT5UdXRvcmllbCBkdSBzZXJ2ZXVyIEhUVFAgQXBhY2hlIDogZmljaGllcnMgLmh0YWNjZXNzIC0gU2VydmV1ciBBcGFjaGUgSFRUUCBWZXJzaW9uIDIuNDwvdGl0bGU+CjxsaW5rIGhyZWY9Ii4uL3N0eWxlL2Nzcy9tYW51YWwuY3NzIiByZWw9InN0eWxlc2hlZXQiIG1lZGlhPSJhbGwiIHR5cGU9InRleHQvY3NzIiB0aXRsZT0iTWFpbiBzdHlsZXNoZWV0IiAvPgo8bGluayBocmVmPSIuLi9zdHlsZS9jc3MvbWFudWFsLWxvb3NlLTEwMHBjLmNzcyIgcmVsPSJhbHRlcm5hdGUgc3R5bGVzaGVldCIgbWVkaWE9ImFsbCIgdHlwZT0idGV4dC9jc3MiIHRpdGxlPSJObyBTaWRlYmFyIC0gRGVmYXVsdCBmb250IHNpemUiIC8+CjxsaW5rIGhyZWY9Ii4uL3N0eWxlL2Nzcy9tYW51YWwtcHJpbnQuY3NzIiByZWw9InN0eWxlc2hlZXQiIG1lZGlhPSJwcmludCIgdHlwZT0idGV4dC9jc3MiIC8+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vc3R5bGUvY3NzL3ByZXR0aWZ5LmNzcyIgLz4KPHNjcmlwdCBzcmM9Ii4uL3N0eWxlL3NjcmlwdHMvcHJldHRpZnkubWluLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgo8L3NjcmlwdD4KCjxsaW5rIGhyZWY9Ii4uL2ltYWdlcy9mYXZpY29uLmljbyIgcmVsPSJzaG9ydGN1dCBpY29uIiAvPjwvaGVhZD4KPGJvZHkgaWQ9Im1hbnVhbC1wYWdlIj48ZGl2IGlkPSJwYWdlLWhlYWRlciI+CjxwIGNsYXNzPSJtZW51Ij48YSBocmVmPSIuLi9tb2QvIj5Nb2R1bGVzPC9hPiB8IDxhIGhyZWY9Ii4uL21vZC9kaXJlY3RpdmVzLmh0bWwiPkRpcmVjdGl2ZXM8L2E+IHwgPGEgaHJlZj0iaHR0cDovL3dpa2kuYXBhY2hlLm9yZy9odHRwZC9GQVEiPkZBUTwvYT4gfCA8YSBocmVmPSIuLi9nbG9zc2FyeS5odG1sIj5HbG9zc2FpcmU8L2E+IHwgPGEgaHJlZj0iLi4vc2l0ZW1hcC5odG1sIj5QbGFuIGR1IHNpdGU8L2E+PC9wPgo8cCBjbGFzcz0iYXBhY2hlIj5TZXJ2ZXVyIEFwYWNoZSBIVFRQIFZlcnNpb24gMi40PC9wPgo8aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9mZWF0aGVyLnBuZyIgLz48L2Rpdj4KPGRpdiBjbGFzcz0idXAiPjxhIGhyZWY9Ii4vIj48aW1nIHRpdGxlPSImbHQ7LSIgYWx0PSImbHQ7LSIgc3JjPSIuLi9pbWFnZXMvbGVmdC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGlkPSJwYXRoIj4KPGEgaHJlZj0iaHR0cDovL3d3dy5hcGFjaGUub3JnLyI+QXBhY2hlPC9hPiAmZ3Q7IDxhIGhyZWY9Imh0dHA6Ly9odHRwZC5hcGFjaGUub3JnLyI+U2VydmV1ciBIVFRQPC9hPiAmZ3Q7IDxhIGhyZWY9Imh0dHA6Ly9odHRwZC5hcGFjaGUub3JnL2RvY3MvIj5Eb2N1bWVudGF0aW9uPC9hPiAmZ3Q7IDxhIGhyZWY9Ii4uLyI+VmVyc2lvbiAyLjQ8L2E+ICZndDsgPGEgaHJlZj0iLi8iPlJlY2V0dGVzIC8gVHV0b3JpZWxzPC9hPjwvZGl2PjxkaXYgaWQ9InBhZ2UtY29udGVudCI+PGRpdiBpZD0icHJlYW1ibGUiPjxoMT5UdXRvcmllbCBkdSBzZXJ2ZXVyIEhUVFAgQXBhY2hlIDogZmljaGllcnMgLmh0YWNjZXNzPC9oMT4KPGRpdiBjbGFzcz0idG9wbGFuZyI+CjxwPjxzcGFuPkxhbmd1ZXMgRGlzcG9uaWJsZXM6IDwvc3Bhbj48YSBocmVmPSIuLi9lbi9ob3d0by9odGFjY2Vzcy5odG1sIiBocmVmbGFuZz0iZW4iIHJlbD0iYWx0ZXJuYXRlIiB0aXRsZT0iRW5nbGlzaCI+Jm5ic3A7ZW4mbmJzcDs8L2E+IHwKPGEgaHJlZj0iLi4vZnIvaG93dG8vaHRhY2Nlc3MuaHRtbCIgdGl0bGU9IkZyYW7nYWlzIj4mbmJzcDtmciZuYnNwOzwvYT4gfAo8YSBocmVmPSIuLi9qYS9ob3d0by9odGFjY2Vzcy5odG1sIiBocmVmbGFuZz0iamEiIHJlbD0iYWx0ZXJuYXRlIiB0aXRsZT0iSmFwYW5lc2UiPiZuYnNwO2phJm5ic3A7PC9hPiB8CjxhIGhyZWY9Ii4uL2tvL2hvd3RvL2h0YWNjZXNzLmh0bWwiIGhyZWZsYW5nPSJrbyIgcmVsPSJhbHRlcm5hdGUiIHRpdGxlPSJLb3JlYW4iPiZuYnNwO2tvJm5ic3A7PC9hPiB8CjxhIGhyZWY9Ii4uL3B0LWJyL2hvd3RvL2h0YWNjZXNzLmh0bWwiIGhyZWZsYW5nPSJwdC1iciIgcmVsPSJhbHRlcm5hdGUiIHRpdGxlPSJQb3J0dWd16nMgKEJyYXNpbCkiPiZuYnNwO3B0LWJyJm5ic3A7PC9hPjwvcD4KPC9kaXY+Cgo8cD5MZXMgZmljaGllcnMgPGNvZGU+Lmh0YWNjZXNzPC9jb2RlPiBmb3Vybmlzc2VudCB1bmUgbel0aG9kZSBwb3VyCm1vZGlmaWVyIGxhIGNvbmZpZ3VyYXRpb24gZHUgc2VydmV1ciBhdSBuaXZlYXUgZGUgY2hhcXVlIHLpcGVydG9pcmUuPC9wPgo8L2Rpdj4KPGRpdiBpZD0icXVpY2t2aWV3Ij48dWwgaWQ9InRvYyI+PGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjcmVsYXRlZCI+RmljaGllcnMgLmh0YWNjZXNzPC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI3doYXQiPlF1ZSBzb250IGNlIGZpY2hpZXJzLCBjb21tZW50IGxlcyB1dGlsaXNlciA/PC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI3doZW4iPlF1YW5kIGRvaXQtb24gKG5lIGRvaXQtb24gcGFzKSB1dGlsaXNlcgogICAgbGVzIGZpY2hpZXJzIC5odGFjY2VzcyA/PC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI2hvdyI+Q29tbWVudCBzb250IGFwcGxpcXXpZXMgbGVzIGRpcmVjdGl2ZXMgPzwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNhdXRoIj5FeGVtcGxlIGQnYXV0aGVudGlmaWNhdGlvbjwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNzc2kiPkV4ZW1wbGUgZCdJbmNsdXNpb24gQ/R06SBTZXJ2ZXVyIChTZXJ2ZXIgU2lkZQpJbmNsdWRlcyAtIFNTSSk8L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjcmV3cml0ZSI+TGVzIHLoZ2xlcyBkZSBy6eljcml0dXJlIGRhbnMgbGVzIGZpY2hpZXJzIC5odGFjY2VzczwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNjZ2kiPkV4ZW1wbGUgZGUgQ0dJPC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI3Ryb3VibGVzaG9vdCI+Uulzb2x1dGlvbiBkZXMgcHJvYmzobWVzPC9hPjwvbGk+CjwvdWw+PGgzPlZvaXIgYXVzc2k8L2gzPjx1bCBjbGFzcz0ic2VlYWxzbyI+PGxpPjxhIGhyZWY9IiNjb21tZW50c19zZWN0aW9uIj5Db21tZW50YWlyZXM8L2E+PC9saT48L3VsPjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0ic2VjdGlvbiI+CjxoMj48YSBuYW1lPSJyZWxhdGVkIiBpZD0icmVsYXRlZCI+RmljaGllcnMgLmh0YWNjZXNzPC9hPjwvaDI+CiAgICAKICAgIDx0YWJsZSBjbGFzcz0icmVsYXRlZCI+PHRyPjx0aD5Nb2R1bGVzIEFwcGFyZW506XM8L3RoPjx0aD5EaXJlY3RpdmVzIEFwcGFyZW506WVzPC90aD48L3RyPjx0cj48dGQ+PHVsPjxsaT48Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuLi9tb2QvY29yZS5odG1sIj5jb3JlPC9hPjwvY29kZT48L2xpPjxsaT48Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuLi9tb2QvbW9kX2F1dGhuX2ZpbGUuaHRtbCI+bW9kX2F1dGhuX2ZpbGU8L2E+PC9jb2RlPjwvbGk+PGxpPjxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4uL21vZC9tb2RfYXV0aHpfZ3JvdXBmaWxlLmh0bWwiPm1vZF9hdXRoel9ncm91cGZpbGU8L2E+PC9jb2RlPjwvbGk+PGxpPjxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4uL21vZC9tb2RfY2dpLmh0bWwiPm1vZF9jZ2k8L2E+PC9jb2RlPjwvbGk+PGxpPjxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4uL21vZC9tb2RfaW5jbHVkZS5odG1sIj5tb2RfaW5jbHVkZTwvYT48L2NvZGU+PC9saT48bGk+PGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi4vbW9kL21vZF9taW1lLmh0bWwiPm1vZF9taW1lPC9hPjwvY29kZT48L2xpPjwvdWw+PC90ZD48dGQ+PHVsPjxsaT48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuLi9tb2QvY29yZS5odG1sI2FjY2Vzc2ZpbGVuYW1lIj5BY2Nlc3NGaWxlTmFtZTwvYT48L2NvZGU+PC9saT48bGk+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi4vbW9kL2NvcmUuaHRtbCNhbGxvd292ZXJyaWRlIj5BbGxvd092ZXJyaWRlPC9hPjwvY29kZT48L2xpPjxsaT48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuLi9tb2QvY29yZS5odG1sI29wdGlvbnMiPk9wdGlvbnM8L2E+PC9jb2RlPjwvbGk+PGxpPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4uL21vZC9tb2RfbWltZS5odG1sI2FkZGhhbmRsZXIiPkFkZEhhbmRsZXI8L2E+PC9jb2RlPjwvbGk+PGxpPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4uL21vZC9jb3JlLmh0bWwjc2V0aGFuZGxlciI+U2V0SGFuZGxlcjwvYT48L2NvZGU+PC9saT48bGk+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi4vbW9kL21vZF9hdXRobl9jb3JlLmh0bWwjYXV0aHR5cGUiPkF1dGhUeXBlPC9hPjwvY29kZT48L2xpPjxsaT48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuLi9tb2QvbW9kX2F1dGhuX2NvcmUuaHRtbCNhdXRobmFtZSI+QXV0aE5hbWU8L2E+PC9jb2RlPjwvbGk+PGxpPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4uL21vZC9tb2RfYXV0aG5fZmlsZS5odG1sI2F1dGh1c2VyZmlsZSI+QXV0aFVzZXJGaWxlPC9hPjwvY29kZT48L2xpPjxsaT48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuLi9tb2QvbW9kX2F1dGh6X2dyb3VwZmlsZS5odG1sI2F1dGhncm91cGZpbGUiPkF1dGhHcm91cEZpbGU8L2E+PC9jb2RlPjwvbGk+PGxpPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4uL21vZC9tb2RfYXV0aHpfY29yZS5odG1sI3JlcXVpcmUiPlJlcXVpcmU8L2E+PC9jb2RlPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT4KICAgIDxkaXYgY2xhc3M9Im5vdGUiPkxlcyBmaWNoaWVycyA8Y29kZT4uaHRhY2Nlc3M8L2NvZGU+IG5lIGRvaXZlbnQg6nRyZSB1dGlsaXPpcwogICAgcXVlIHNpIHZvdXMgbidhdmV6IHBhcyBhY2PocyBhdSBmaWNoaWVyIGRlIGNvbmZpZ3VyYXRpb24gZHUgc2VydmV1cgogICAgcHJpbmNpcGFsLiBMJ3V0aWxpc2F0aW9uIGRlcyBmaWNoaWVycyA8Y29kZT4uaHRhY2Nlc3M8L2NvZGU+CiAgICByYWxlbnRpdCBsZSBmb25jdGlvbm5lbWVudCBkZSB2b3RyZSBzZXJ2ZXVyIEhUVFAgQXBhY2hlLiBJbCBlc3QgdG91am91cnMKICAgIHBy6WbpcmFibGUgZGUgZOlmaW5pciBsZXMgZGlyZWN0aXZlcyBxdWUgdm91cyBwb3V2ZXogaW5jbHVyZSBkYW5zIHVuCiAgICBmaWNoaWVyIDxjb2RlPi5odGFjY2VzczwvY29kZT4gZGFucyB1bmUgc2VjdGlvbiA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuLi9tb2QvY29yZS5odG1sI2RpcmVjdG9yeSI+RGlyZWN0b3J5PC9hPjwvY29kZT4sIGNhciBlbGxlcyBwcm9kdWlyb250IGxlCiAgICBt6m1lIGVmZmV0IGF2ZWMgZGUgbWVpbGxldXJlcyBwZXJmb3JtYW5jZXMuPC9kaXY+CjwvZGl2PjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KPGgyPjxhIG5hbWU9IndoYXQiIGlkPSJ3aGF0Ij5RdWUgc29udCBjZSBmaWNoaWVycywgY29tbWVudCBsZXMgdXRpbGlzZXIgPzwvYT48L2gyPgoKCiAgICA8cD5MZXMgZmljaGllcnMgPGNvZGU+Lmh0YWNjZXNzPC9jb2RlPiAob3UgImZpY2hpZXJzIGRlCiAgICBjb25maWd1cmF0aW9uIGRpc3RyaWJ16XMiKSBmb3Vybmlzc2VudCB1bmUgbel0aG9kZSBwb3VyIG1vZGlmaWVyIGxhCiAgICBjb25maWd1cmF0aW9uIGR1IHNlcnZldXIgYXUgbml2ZWF1IGQndW4gculwZXJ0b2lyZS4gVW4gZmljaGllciwKICAgIGNvbnRlbmFudCB1bmUgb3UgcGx1c2lldXJzIGRpcmVjdGl2ZXMgZGUgY29uZmlndXJhdGlvbiwgZXN0IHBsYWPpCiAgICBkYW5zIHVuIHLpcGVydG9pcmUgZGUgZG9jdW1lbnRzIHBhcnRpY3VsaWVyLCBldCBzZXMgZGlyZWN0aXZlcwogICAgcydhcHBsaXF1ZW50IOAgY2UgculwZXJ0b2lyZSBldCDgIHRvdXMgc2VzIHNvdXMtculwZXJ0b2lyZXMuPC9wPgoKICAgIDxkaXYgY2xhc3M9Im5vdGUiPjxoMz5Ob3RlIDo8L2gzPgogICAgICA8cD5TaSB2b3VzIHZvdWxleiBkb25uZXIgdW4gYXV0cmUgbm9tIOAgdm90cmUgZmljaGllcgogICAgICA8Y29kZT4uaHRhY2Nlc3M8L2NvZGU+LCB2b3VzIHBvdXZleiBsZSBmYWlyZSBlbiB1dGlsaXNhbnQgbGEKICAgICAgZGlyZWN0aXZlIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4uL21vZC9jb3JlLmh0bWwjYWNjZXNzZmlsZW5hbWUiPkFjY2Vzc0ZpbGVOYW1lPC9hPjwvY29kZT4uIFBhcgogICAgICBleGVtcGxlLCBzaSB2b3VzIHBy6WbpcmV6IG5vbW1lciB2b3RyZSBmaWNoaWVyCiAgICAgIDxjb2RlPi5jb25maWc8L2NvZGU+LCB2b3VzIHBvdXZleiBtZXR0cmUgY2VjaSBkYW5zIGxlIGZpY2hpZXIgZGUKICAgICAgY29uZmlndXJhdGlvbiBkZSB2b3RyZSBzZXJ2ZXVyIDo8L3A+CgogICAgICA8cHJlIGNsYXNzPSJwcmV0dHlwcmludCBsYW5nLWNvbmZpZyI+QWNjZXNzRmlsZU5hbWUgIi5jb25maWciPC9wcmU+CgogICAgPC9kaXY+CgogICAgPHA+RW4gZ+lu6XJhbCwgbGVzIGZpY2hpZXJzIDxjb2RlPi5odGFjY2VzczwvY29kZT4gdXRpbGlzZW50IGxhIG3qbWUKICAgIHN5bnRheGUgcXVlIGxlcyA8YSBocmVmPSIuLi9jb25maWd1cmluZy5odG1sI3N5bnRheCI+ZmljaGllcnMgZGUKICAgIGNvbmZpZ3VyYXRpb24gcHJpbmNpcGF1eDwvYT4uIENlIHF1ZSB2b3VzIHBvdXZleiBtZXR0cmUgZGFucyBjZXMKICAgIGZpY2hpZXIgZXN0IGTpdGVybWlu6SBwYXIgbGEgZGlyZWN0aXZlIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4uL21vZC9jb3JlLmh0bWwjYWxsb3dvdmVycmlkZSI+QWxsb3dPdmVycmlkZTwvYT48L2NvZGU+LiBDZXR0ZSBkaXJlY3RpdmUgc3DpY2lmaWUsCiAgICBzb3VzIGZvcm1lIGRlIGNhdOlnb3JpZXMsIHF1ZWxsZXMgZGlyZWN0aXZlcyBzZXJvbnQgdHJhaXTpZXMgc2kKICAgIGVsbGVzIHNlIHRyb3V2ZW50IGRhbnMgdW4gZmljaGllciA8Y29kZT4uaHRhY2Nlc3M8L2NvZGU+LiBTaSB1bmUKICAgIGRpcmVjdGl2ZSBlc3QgcGVybWlzZSBkYW5zIHVuIGZpY2hpZXIgPGNvZGU+Lmh0YWNjZXNzPC9jb2RlPiBmaWxlLAogICAgbGEgZG9jdW1lbnRhdGlvbiBkZSBjZXR0ZSBkaXJlY3RpdmUgY29udGllbmRyYSB1bmUgc2VjdGlvbiBPdmVycmlkZSwKICAgIHNw6WNpZmlhbnQgcXVlbGxlIHZhbGV1ciBkb2l0IHByZW5kcmUgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi4vbW9kL2NvcmUuaHRtbCNhbGxvd292ZXJyaWRlIj5BbGxvd092ZXJyaWRlPC9hPjwvY29kZT4gcG91ciBxdWUgY2V0dGUgZGlyZWN0aXZlCiAgICBzb2l0IHRyYWl06WUuPC9wPgoKICAgIDxwPlBhciBleGVtcGxlLCBzaSB2b3VzIHJlZ2FyZGV6IGxhIGRvY3VtZW50YXRpb24gZGUgbGEgZGlyZWN0aXZlCiAgICA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuLi9tb2QvY29yZS5odG1sI2FkZGRlZmF1bHRjaGFyc2V0Ij5BZGREZWZhdWx0Q2hhcnNldDwvYT48L2NvZGU+LCB2b3VzIHZlcnJlegogICAgcXVlIGNldHRlIGRlcm5p6HJlIGVzdCBwZXJtaXNlIGRhbnMgbGVzIGZpY2hpZXJzCiAgICA8Y29kZT4uaHRhY2Nlc3M8L2NvZGU+IChWb2lyIGxhIGxpZ25lIGRlIGNvbnRleHRlIGRhbnMgbGUgculzdW3pIGRlCiAgICBsYSBkaXJlY3RpdmUpLiBMYSBsaWduZSA8YSBocmVmPSIuLi9tb2QvZGlyZWN0aXZlLWRpY3QuaHRtbCNDb250ZXh0Ij5PdmVycmlkZTwvYT4gaW5kaXF1ZQogICAgPGNvZGU+RmlsZUluZm88L2NvZGU+LiBWb3VzIGRldmV6IGRvbmMgYXZvaXIgYXUgbW9pbnMKICAgIDxjb2RlPkFsbG93T3ZlcnJpZGUgRmlsZUluZm88L2NvZGU+IHBvdXIgcXVlIGNldHRlIGRpcmVjdGl2ZSBzb2l0CiAgICB0cmFpdOllIGRhbnMgbGVzIGZpY2hpZXJzIDxjb2RlPi5odGFjY2VzczwvY29kZT4uPC9wPgoKICAgIDxkaXYgY2xhc3M9ImV4YW1wbGUiPjxoMz5FeGVtcGxlIDo8L2gzPjx0YWJsZT4KICAgICAgICA8dHI+CiAgICAgICAgICA8dGQ+PGEgaHJlZj0iLi4vbW9kL2RpcmVjdGl2ZS1kaWN0Lmh0bWwjQ29udGV4dCI+Q29udGV4dGUgOjwvYT48L3RkPgogICAgICAgICAgPHRkPmNvbmZpZ3VyYXRpb24gZHUgc2VydmV1ciwgc2VydmV1ciB2aXJ0dWVsLCBkaXJlY3RvcnksIC5odGFjY2VzczwvdGQ+CiAgICAgICAgPC90cj4KCiAgICAgICAgPHRyPgogICAgICAgICAgPHRkPjxhIGhyZWY9Ii4uL21vZC9kaXJlY3RpdmUtZGljdC5odG1sI092ZXJyaWRlIj5PdmVycmlkZTo8L2E+PC90ZD4KICAgICAgICAgIDx0ZD5GaWxlSW5mbzwvdGQ+CiAgICAgICAgPC90cj4KICAgICAgPC90YWJsZT48L2Rpdj4KCiAgICA8cD5TaSB2b3VzIG4n6nRlcyBwYXMgc/tyIHF1J3VuZSBkaXJlY3RpdmUgcGFydGljdWxp6HJlIHNvaXQgcGVybWlzZQogICAgZGFucyB1biBmaWNoaWVyIDxjb2RlPi5odGFjY2VzczwvY29kZT4sIGxpc2V6IGxhIGRvY3VtZW50YXRpb24gZGUKICAgIGNldHRlIGRpcmVjdGl2ZSwgZXQgY29uc3VsdGV6IGxhIGxpZ25lIGRlIGNvbnRleHRlIHBvdXIKICAgICIuaHRhY2Nlc3MiLjwvcD4KICAgIDwvZGl2PjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KPGgyPjxhIG5hbWU9IndoZW4iIGlkPSJ3aGVuIj5RdWFuZCBkb2l0LW9uIChuZSBkb2l0LW9uIHBhcykgdXRpbGlzZXIKICAgIGxlcyBmaWNoaWVycyAuaHRhY2Nlc3MgPzwvYT48L2gyPgoKICAgIDxwPkVuIHByaW5jaXBlLCB2b3VzIG5lIGRldnJpZXogdXRpbGlzZXIgbGVzIGZpY2hpZXJzCiAgICA8Y29kZT4uaHRhY2Nlc3M8L2NvZGU+IHF1ZSBsb3JzcXVlIHZvdXMgbidhdmV6IHBhcyBhY2PocyBhdSBmaWNoaWVyIGRlCiAgICBjb25maWd1cmF0aW9uIGR1IHNlcnZldXIgcHJpbmNpcGFsLiBQYXIgZXhlbXBsZSwgbGEgZmF1c3NlCiAgICBpZOllCiAgICBzZWxvbiBsYXF1ZWxsZSBsJ2F1dGhlbnRpZmljYXRpb24gZGUgbCd1dGlsaXNhdGV1ciBkZXZyYWl0IHRvdWpvdXJzCiAgICDqdHJlIGZhaXRlIGRhbnMgbGVzIGZpY2hpZXJzIDxjb2RlPi5odGFjY2VzczwvY29kZT4gZXN0IHRy6HMKICAgIHLpcGFuZHVlLiBJbCBlc3QgYXVzc2kgc291dmVudCBhdmFuY+ksIGNlcyBkZXJuaehyZXMKICAgIGFubullcywgcXVlIGxlcyBkaXJlY3RpdmVzIGRlIDxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4uL21vZC9tb2RfcmV3cml0ZS5odG1sIj5tb2RfcmV3cml0ZTwvYT48L2NvZGU+IGRvaXZlbnQKICAgIOp0cmUgZOlmaW5pZXMgZGFucyBsZXMgZmljaGllcnMgPGNvZGU+Lmh0YWNjZXNzPC9jb2RlPi4gQ2VjaSBlc3QKICAgIHRvdXQgc2ltcGxlbWVudCBmYXV4LiBWb3VzIHBvdXZleiBjb25maWd1cmVyCiAgICBsJ2F1dGhlbnRpZmljYXRpb24gZGVzIHV0aWxpc2F0ZXVycyBhdSBuaXZlYXUgZGUgbGEgY29uZmlndXJhdGlvbiBkdQogICAgc2VydmV1ciBwcmluY2lwYWwsIGV0IGMnZXN0IGVuIGZhaXQgY2V0dGUgbel0aG9kZSBxdWkgZG9pdCDqdHJlCiAgICBwcml2aWzpZ2npZS4gRGUgbeptZSwgbGVzIGRpcmVjdGl2ZXMgZGUKICAgIDxjb2RlPm1vZF9yZXdyaXRlPC9jb2RlPiBmb25jdGlvbm5lcm9udCBtaWV1eCwg4CBkZSBub21icmV1eCDpZ2FyZHMsCiAgICBkYW5zIGxlIGNvbnRleHRlIGR1IHNlcnZldXIgcHJpbmNpcGFsLjwvcD4KCiAgICA8cD5MZXMgZmljaGllcnMgPGNvZGU+Lmh0YWNjZXNzPC9jb2RlPiBuZSBkZXZyYWllbnQg6nRyZSB1dGlsaXPpcwogICAgcXVlIGRhbnMgbGUgY2FzIG/5IGxlcyBmb3Vybmlzc2V1cnMgZGUgY29udGVudSBvbnQgYmVzb2luIGRlCiAgICBtb2RpZmllciBsYSBjb25maWd1cmF0aW9uIGR1IHNlcnZldXIgYXUgbml2ZWF1IGQndW4gculwZXJ0b2lyZSwgbWFpcwogICAgbmUgcG9zc+hkZW50IHBhcyBsJ2FjY+hzIHJvb3Qgc3VyIGxlIHN5c3TobWUgZHUgc2VydmV1ci4gU2kKICAgIGwnYWRtaW5pc3RyYXRldXIgZHUgc2VydmV1ciBuZSBzb3VoYWl0ZSBwYXMgZWZmZWN0dWVyIGRlcwogICAgbW9kaWZpY2F0aW9ucyBkZSBjb25maWd1cmF0aW9uIGluY2Vzc2FudGVzLCBpbCBwZXV0IOp0cmUgaW506XJlc3NhbnQKICAgIGRlIHBlcm1ldHRyZSBhdXggdXRpbGlzYXRldXJzIGlzb2zpcyBkJ2VmZmVjdHVlciBldXgtbeptZXMgY2VzCiAgICBtb2RpZmljYXRpb25zIHBhciBsZSBiaWFpcyBkZSBmaWNoaWVycyA8Y29kZT4uaHRhY2Nlc3M8L2NvZGU+LiBDZWNpCiAgICBlc3QgcGFydGljdWxp6HJlbWVudCB2cmFpIGRhbnMgbGUgY2FzIG/5IGxlIGZvdXJuaXNzZXVyIGQnYWNj6HMg4AogICAgSW50ZXJuZXQgaOliZXJnZSBkZSBub21icmV1eCBzaXRlcyBkJ3V0aWxpc2F0ZXVycyBzdXIgdW4gc2V1bAogICAgc2VydmV1ciwgZXQgc291aGFpdGUgcXVlIGNlcyB1dGlsaXNhdGV1cnMgcHVpc3NlbnQgbW9kaWZpZXIKICAgIGV1eC1t6m1lcyBsZXVycyBjb25maWd1cmF0aW9ucy48L3A+CgogICAgPHA+Q2VwZW5kYW50IGV0IGQndW5lIG1hbmnocmUgZ+lu6XJhbGUsIGlsIHZhdXQgbWlldXgg6XZpdGVyCiAgICBkJ3V0aWxpc2VyIGxlcyBmaWNoaWVycyA8Y29kZT4uaHRhY2Nlc3M8L2NvZGU+LiBUb3V0IOls6W1lbnQgZGUKICAgIGNvbmZpZ3VyYXRpb24gcXVlIHZvdXMgcG91cnJpZXogdm91bG9pciBtZXR0cmUgZGFucyB1biBmaWNoaWVyCiAgICA8Y29kZT4uaHRhY2Nlc3M8L2NvZGU+LCBwZXV0IGF1c3NpIOp0cmUgbWlzLCBldCBhdmVjIGxhIG3qbWUKICAgIGVmZmljYWNpdOksIGRhbnMgdW5lIHNlY3Rpb24gPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi4vbW9kL2NvcmUuaHRtbCNkaXJlY3RvcnkiPiZsdDtEaXJlY3RvcnkmZ3Q7PC9hPjwvY29kZT4gZHUgZmljaGllciBkZSBjb25maWd1cmF0aW9uIGRlCiAgICB2b3RyZSBzZXJ2ZXVyIHByaW5jaXBhbC48L3A+CgogICAgPHA+SWwgeSBhIGRldXggcmFpc29ucyBwcmluY2lwYWxlcyBkJ+l2aXRlciBsJ3V0aWxpc2F0aW9uIGRlcwogICAgZmljaGllcnMgPGNvZGU+Lmh0YWNjZXNzPC9jb2RlPi48L3A+CgogICAgPHA+TGEgcHJlbWnocmUgZXN0IGxp6WUgYXV4IHBlcmZvcm1hbmNlcy4gTG9yc3F1ZSBsYSBkaXJlY3RpdmUKICAgIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4uL21vZC9jb3JlLmh0bWwjYWxsb3dvdmVycmlkZSI+QWxsb3dPdmVycmlkZTwvYT48L2NvZGU+IGVzdCBk6WZpbmllIGRlCiAgICBmYedvbiDgIGF1dG9yaXNlciBsJ3V0aWxpc2F0aW9uIGRlcyBmaWNoaWVycyA8Y29kZT4uaHRhY2Nlc3M8L2NvZGU+LAogICAgaHR0cGQgdmEgcmVjaGVyY2hlciBsZXVyIHBy6XNlbmNlIGRhbnMgY2hhcXVlIHLpcGVydG9pcmUuIEFpbnNpLAogICAgcGVybWV0dHJlIGwndXRpbGlzYXRpb24gZGVzIGZpY2hpZXJzIDxjb2RlPi5odGFjY2VzczwvY29kZT4gZXN0IGTpauAKICAgIGVuIHNvaSB1bmUgY2F1c2UgZGUgZOlncmFkYXRpb24gZGVzIHBlcmZvcm1hbmNlcywgcXVlIHZvdXMgdXRpbGlzaWV6CiAgICBlZmZlY3RpdmVtZW50IGNlcyBmaWNoaWVycyBvdSBub24gISBEZSBwbHVzLCBsZSBmaWNoaWVyCiAgICA8Y29kZT4uaHRhY2Nlc3M8L2NvZGU+IGVzdCBjaGFyZ+kgZW4gbeltb2lyZSBjaGFxdWUgZm9pcyBxdSd1bgogICAgZG9jdW1lbnQgZmFpdCBsJ29iamV0IGQndW5lIHJlcXXqdGUuPC9wPgoKICAgIDxwPk5vdGV6IGF1c3NpIHF1ZSBodHRwZCBkb2l0IHJlY2hlcmNoZXIgbGVzIGZpY2hpZXJzCiAgICA8Y29kZT4uaHRhY2Nlc3M8L2NvZGU+IGRhbnMgdG91cyBsZXMgculwZXJ0b2lyZXMgZGUgbml2ZWF1CiAgICBzdXDpcmlldXIsIGFmaW4gZGUgcmFzc2VtYmxlciB0b3V0ZXMgbGVzIGRpcmVjdGl2ZXMgcXVpIHMnYXBwbGlxdWVudAogICAgYXUgculwZXJ0b2lyZSBjb3VyYW50IChWb2lyIGxhIHNlY3Rpb24gPGEgaHJlZj0iI2hvdyI+Y29tbWVudCBzb250CiAgICBhcHBsaXF16WVzIGxlcyBkaXJlY3RpdmVzPC9hPikuIEFpbnNpLCBzaSB1biBmaWNoaWVyIGZhaXQgbCdvYmpldAogICAgZCd1bmUgcmVxdep0ZSDgIHBhcnRpciBkJ3VuIHLpcGVydG9pcmUKICAgIDxjb2RlPi93d3cvaHRkb2NzL2V4ZW1wbGU8L2NvZGU+LCBodHRwZCBkb2l0IHJlY2hlcmNoZXIgbGVzCiAgICBmaWNoaWVycyBzdWl2YW50cyA6PC9wPgoKICAgIDxkaXYgY2xhc3M9ImV4YW1wbGUiPjxwPjxjb2RlPgogICAgICAvLmh0YWNjZXNzPGJyIC8+CiAgICAgIC93d3cvLmh0YWNjZXNzPGJyIC8+CiAgICAgIC93d3cvaHRkb2NzLy5odGFjY2VzczxiciAvPgogICAgICAvd3d3L2h0ZG9jcy9leGVtcGxlLy5odGFjY2VzcwogICAgPC9jb2RlPjwvcD48L2Rpdj4KCiAgICA8cD5FbiBjb25z6XF1ZW5jZSwgY2hhcXVlIGFjY+hzIOAgdW4gZmljaGllciBkZSBjZSBy6XBlcnRvaXJlCiAgICBu6WNlc3NpdGUgNCBhY2PocyBhdSBzeXN06G1lIGRlIGZpY2hpZXJzIHN1cHBs6W1lbnRhaXJlcyBwb3VyCiAgICByZWNoZXJjaGVyIGRlcyBmaWNoaWVycyA8Y29kZT4uaHRhY2Nlc3M8L2NvZGU+LCBt6m1lIHNpCiAgICBhdWN1biBkZSBjZXMgZmljaGllcnMgbidlc3QgcHLpc2VudC4gTm90ZXogcXVlIGNldCBleGVtcGxlIG5lIHBldXQKICAgIHNlIHByb2R1aXJlIHF1ZSBzaSBsZXMgZmljaGllcnMgPGNvZGU+Lmh0YWNjZXNzPC9jb2RlPiBvbnQg6XTpCiAgICBhdXRvcmlz6XMgcG91ciBsZSBy6XBlcnRvaXJlIDxjb2RlPi88L2NvZGU+LCBjZSBxdWkgZXN0IHJhcmVtZW50IGxlCiAgICBjYXMuPC9wPgoKICAgIDxwPkxhIHNlY29uZGUgcmFpc29uIGQn6XZpdGVyIGwndXRpbGlzYXRpb24gZGVzIGZpY2hpZXJzCiAgICA8Y29kZT4uaHRhY2Nlc3M8L2NvZGU+IGVzdCBsaellIOAgbGEgc+ljdXJpdOkuIFNpIHZvdXMgcGVybWV0dGV6IGF1eAogICAgdXRpbGlzYXRldXJzIGRlIG1vZGlmaWVyIGxhIGNvbmZpZ3VyYXRpb24gZHUgc2VydmV1ciwgaWwgcGV1dCBlbgogICAgculzdWx0ZXIgZGVzIGNvbnPpcXVlbmNlcyBzdXIgbGVzcXVlbGxlcyB2b3VzIG4nYXVyZXogYXVjdW4KICAgIGNvbnRy9GxlLiBS6WZs6WNoaXNzZXogYmllbiBhdmFudCBkZSBkb25uZXIgY2UgcHJpdmls6GdlIOAgdm9zCiAgICB1dGlsaXNhdGV1cnMuIE5vdGV6IGF1c3NpIHF1ZSBuZSBwYXMgZG9ubmVyIGF1eCB1dGlsaXNhdGV1cnMgbGVzCiAgICBwcml2aWzoZ2VzIGRvbnQgaWxzIG9udCBiZXNvaW4gdmEgZW50cmHubmVyIHVuZSBhdWdtZW50YXRpb24gZGVzCiAgICBkZW1hbmRlcyBkZSBzdXBwb3J0IHRlY2huaXF1ZS4gQXNzdXJlei12b3VzIGQnYXZvaXIgaW5mb3Jt6QogICAgY2xhaXJlbWVudCB2b3MgdXRpbGlzYXRldXJzIGR1IG5pdmVhdSBkZSBwcml2aWzoZ2VzIHF1ZSB2b3VzIGxldXIKICAgIGF2ZXogYXR0cmlidekuIEluZGlxdWVyIGV4YWN0ZW1lbnQgY29tbWVudCB2b3VzIGF2ZXogZOlmaW5pIGxhCiAgICBkaXJlY3RpdmUgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi4vbW9kL2NvcmUuaHRtbCNhbGxvd292ZXJyaWRlIj5BbGxvd092ZXJyaWRlPC9hPjwvY29kZT4gZXQKICAgIGRpcmlnZXIgbGVzIHV0aWxpc2F0ZXVycyB2ZXJzIGxhIGRvY3VtZW50YXRpb24gY29ycmVzcG9uZGFudGUgdm91cwogICAg6XZpdGVyYSBiaWVuIGRlcyBjb25mdXNpb25zIHVsdOlyaWV1cmVzLjwvcD4KCiAgICA8cD5Ob3RleiBxdWUgbWV0dHJlIHVuIGZpY2hpZXIgPGNvZGU+Lmh0YWNjZXNzPC9jb2RlPiBjb250ZW5hbnQgdW5lCiAgICBkaXJlY3RpdmUgZGFucyB1biBy6XBlcnRvaXJlIDxjb2RlPi93d3cvaHRkb2NzL2V4ZW1wbGU8L2NvZGU+CiAgICByZXZpZW50IGV4YWN0ZW1lbnQgYXUgbeptZSBxdWUgbWV0dHJlIGxhIG3qbWUgZGlyZWN0aXZlIGRhbnMgdW5lCiAgICBzZWN0aW9uIERpcmVjdG9yeSA8Y29kZT4mbHQ7RGlyZWN0b3J5ICIvd3d3L2h0ZG9jcy9leGVtcGxlIiZndDs8L2NvZGU+CiAgICBkdSBmaWNoaWVyIGRlIGNvbmZpZ3VyYXRpb24gZGUgdm90cmUgc2VydmV1ciBwcmluY2lwYWwgOjwvcD4KCiAgICA8cD5GaWNoaWVyIDxjb2RlPi5odGFjY2VzczwvY29kZT4gZGFucwogICAgPGNvZGU+L3d3dy9odGRvY3MvZXhlbXBsZTwvY29kZT4gOjwvcD4KCiAgICA8ZGl2IGNsYXNzPSJleGFtcGxlIj48aDM+Q29udGVudSBkdSBmaWNoaWVyIC5odGFjY2VzcyBkYW5zCiAgICA8Y29kZT4vd3d3L2h0ZG9jcy9leGVtcGxlPC9jb2RlPjwvaDM+PHByZSBjbGFzcz0icHJldHR5cHJpbnQgbGFuZy1jb25maWciPkFkZFR5cGUgdGV4dC9leGFtcGxlICIuZXhtIjwvcHJlPgo8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJleGFtcGxlIj48aDM+U2VjdGlvbiBkZSB2b3RyZSBmaWNoaWVyCiAgICA8Y29kZT5odHRwZC5jb25mPC9jb2RlPjwvaDM+PHByZSBjbGFzcz0icHJldHR5cHJpbnQgbGFuZy1jb25maWciPiZsdDtEaXJlY3RvcnkgIi93d3cvaHRkb2NzL2V4YW1wbGUiJmd0OwogICAgQWRkVHlwZSB0ZXh0L2V4YW1wbGUgLmV4bQombHQ7L0RpcmVjdG9yeSZndDs8L3ByZT4KPC9kaXY+CgogICAgPHA+Q2VwZW5kYW50LCBsYSBwZXJ0ZSBkZSBwZXJmb3JtYW5jZXMgc2VyYSBtb2luZHJlIHNpIHZvdXMKICAgIGTpZmluaXNzZXogY2V0dGUgZGlyZWN0aXZlIGRhbnMgbGEgY29uZmlndXJhdGlvbiBkZQogICAgdm90cmUgc2VydmV1ciBwcmluY2lwYWwsIGNhciBjZXR0ZSBkZXJuaehyZSBuZSBzZXJhIGNoYXJn6WUgcXUndW5lCiAgICBzZXVsZSBmb2lzIGF1IG1vbWVudCBkdSBk6W1hcnJhZ2UgZHUgc2VydmV1ciwgYWxvcnMgcXUnZWxsZSBsZSBzZXJhCiAgICDgIGNoYXF1ZSBhY2PocyBkYW5zIGxlIGNhcyBkJ3VuIGZpY2hpZXIgPGNvZGU+Lmh0YWNjZXNzPC9jb2RlPi48L3A+CgogICAgPHA+TCd1dGlsaXNhdGlvbiBkZXMgZmljaGllcnMgPGNvZGU+Lmh0YWNjZXNzPC9jb2RlPiBwZXV0IOp0cmUKICAgIGVudGnocmVtZW50IGTpc2FjdGl26WUgZW4gZOlmaW5pc3NhbnQgbGEgZGlyZWN0aXZlIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4uL21vZC9jb3JlLmh0bWwjYWxsb3dvdmVycmlkZSI+QWxsb3dPdmVycmlkZTwvYT48L2NvZGU+IOAgPGNvZGU+bm9uZTwvY29kZT4gOjwvcD4KCiAgICA8cHJlIGNsYXNzPSJwcmV0dHlwcmludCBsYW5nLWNvbmZpZyI+QWxsb3dPdmVycmlkZSBOb25lPC9wcmU+Cgo8L2Rpdj48ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0ic2VjdGlvbiI+CjxoMj48YSBuYW1lPSJob3ciIGlkPSJob3ciPkNvbW1lbnQgc29udCBhcHBsaXF16WVzIGxlcyBkaXJlY3RpdmVzID88L2E+PC9oMj4KCiAgICA8cD5MZXMgZGlyZWN0aXZlcyBkZSBjb25maWd1cmF0aW9uIHNpdHXpZXMgZGFucyB1biBmaWNoaWVyCiAgICA8Y29kZT4uaHRhY2Nlc3M8L2NvZGU+IHMnYXBwbGlxdWVudCBhdSBy6XBlcnRvaXJlIGRhbnMgbGVxdWVsIGNlCiAgICBmaWNoaWVyIDxjb2RlPi5odGFjY2VzczwvY29kZT4gc2UgdHJvdXZlLCBhaW5zaSBxdSfgIHRvdXMgc2VzCiAgICBzb3VzLXLpcGVydG9pcmVzLiBDZXBlbmRhbnQsIGlsIGVzdCBpbXBvcnRhbnQgZGUgZ2FyZGVyIOAgbCdlc3ByaXQKICAgIHF1J2lsIHBldXQgeSBhdm9pciBkZXMgZmljaGllcnMgPGNvZGU+Lmh0YWNjZXNzPC9jb2RlPiBkYW5zIGxlcwogICAgculwZXJ0b2lyZXMgZGUgbml2ZWF1IHN1cOlyaWV1ci4gTGVzIGRpcmVjdGl2ZXMgc29udCBhcHBsaXF16WVzCiAgICBzZWxvbiBsJ29yZHJlIGRhbnMgbGVxdWVsIGVsbGVzIHNvbnQgcmVuY29udHLpZXMuIEFpbnNpLCBsZXMKICAgIGRpcmVjdGl2ZXMgZCd1biBmaWNoaWVyIDxjb2RlPi5odGFjY2VzczwvY29kZT4gc2l0dekgZGFucyB1bgogICAgculwZXJ0b2lyZSBwYXJ0aWN1bGllciBwZXV2ZW50IOljcmFzZXIgbGVzIGRpcmVjdGl2ZXMgc2UgdHJvdXZhbnQKICAgIGRhbnMgZGVzIGZpY2hpZXJzIDxjb2RlPi5odGFjY2VzczwvY29kZT4gc2l0delzIOAgdW4gbml2ZWF1CiAgICBzdXDpcmlldXIgZGFucyBsJ2FyYm9yZXNjZW5jZSBkZXMgculwZXJ0b2lyZXMuIEV0IGNlcyBkZXJuaehyZXMKICAgIHBldXZlbnQgZWxsZXMtbeptZXMgYXZvaXIg6WNyYXPpIGRlcyBkaXJlY3RpdmVzIGQndW4gZmljaGllcgogICAgPGNvZGU+Lmh0YWNjZXNzPC9jb2RlPiBzaXR16SDgIHVuIG5pdmVhdSBlbmNvcmUgcGx1cyBoYXV0LCBvdSBkYW5zCiAgICBsZSBmaWNoaWVyIGRlIGNvbmZpZ3VyYXRpb24gZHUgc2VydmV1ciBwcmluY2lwYWwuPC9wPgoKICAgIDxwPkV4ZW1wbGUgOjwvcD4KCiAgICA8cD5EYW5zIGxlIHLpcGVydG9pcmUgPGNvZGU+L3d3dy9odGRvY3MvZXhlbXBsZTE8L2NvZGU+IHNlIHRyb3V2ZSB1bgogICAgZmljaGllciA8Y29kZT4uaHRhY2Nlc3M8L2NvZGU+IGNvbnRlbmFudCBjZSBxdWkgc3VpdCA6PC9wPgoKICAgIDxwcmUgY2xhc3M9InByZXR0eXByaW50IGxhbmctY29uZmlnIj5PcHRpb25zICtFeGVjQ0dJPC9wcmU+CgoKICAgIDxwPk5vdGUgOiAiPGNvZGU+QWxsb3dPdmVycmlkZSBPcHRpb25zPC9jb2RlPiIgZG9pdCDqdHJlIHBy6XNlbnQKICAgIHBvdXIgcGVybWV0dHJlIGwndXRpbGlzYXRpb24gZGUgbGEgZGlyZWN0aXZlICI8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuLi9tb2QvY29yZS5odG1sI29wdGlvbnMiPk9wdGlvbnM8L2E+PC9jb2RlPiIgIGRhbnMgbGVzIGZpY2hpZXJzCiAgICA8Y29kZT4uaHRhY2Nlc3M8L2NvZGU+LjwvcD4KCiAgICA8cD5EYW5zIGxlIHLpcGVydG9pcmUgPGNvZGU+L3d3dy9odGRvY3MvZXhlbXBsZTEvZXhlbXBsZTI8L2NvZGU+IHNlCiAgICB0cm91dmUgdW4gZmljaGllciA8Y29kZT4uaHRhY2Nlc3M8L2NvZGU+IGNvbnRlbmFudCBjZSBxdWkgc3VpdAogICAgOjwvcD4KCiAgICA8cHJlIGNsYXNzPSJwcmV0dHlwcmludCBsYW5nLWNvbmZpZyI+T3B0aW9ucyBJbmNsdWRlczwvcHJlPgoKCiAgICA8cD5BaW5zaSwg4CBjYXVzZSBkZSBjZSBzZWNvbmQgZmljaGllciA8Y29kZT4uaHRhY2Nlc3M8L2NvZGU+IGR1CiAgICBy6XBlcnRvaXJlIDxjb2RlPi93d3cvaHRkb2NzL2V4ZW1wbGUxL2V4ZW1wbGUyPC9jb2RlPiwgbCdleOljdXRpb24KICAgIGRlcyBDR0kgZXN0IGludGVyZGl0ZSwgY2FyIGxhIGRlcm5p6HJlIGTpZmluaXRpb24gZCdvcHRpb25zCiAgICA8Y29kZT5PcHRpb25zIEluY2x1ZGVzPC9jb2RlPiDpY3Jhc2UgdG91dGUgYXV0cmUgZOlmaW5pdGlvbgogICAgZCdvcHRpb25zIGQndW4gZmljaGllciA8Y29kZT4uaHRhY2Nlc3M8L2NvZGU+IHNpdHXpIGRhbnMgdW4KICAgIHLpcGVydG9pcmUgZGUgbml2ZWF1IHN1cOlyaWV1ci48L3A+CgogICAgPGgzPjxhIG5hbWU9Im1lcmdlIiBpZD0ibWVyZ2UiPkludGVyYWN0aW9ucyBlbnRyZSBsZXMgZmljaGllcnMgLmh0YWNjZXNzCiAgICBldCBsZXMgZmljaGllcnMgZGUgY29uZmlndXJhdGlvbiBkdSBzZXJ2ZXVyIHByaW5jaXBhbDwvYT48L2gzPgoKICAgIDxwPkNvbW1lIGluZGlxdekgZGFucyBsYSBkb2N1bWVudGF0aW9uIHN1ciBsZXMgPGEgaHJlZj0iLi4vc2VjdGlvbnMuaHRtbCI+U2VjdGlvbnMgZGUgY29uZmlndXJhdGlvbjwvYT4sIGxlcyBmaWNoaWVycwogICAgPGNvZGU+Lmh0YWNjZXNzPC9jb2RlPiBwZXV2ZW50IOljcmFzZXIgbGVzIGRpcmVjdGl2ZXMgZGVzIHNlY3Rpb25zCiAgICA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuLi9tb2QvY29yZS5odG1sI2RpcmVjdG9yeSI+Jmx0O0RpcmVjdG9yeSZndDs8L2E+PC9jb2RlPiBwb3VyCiAgICBsZSBy6XBlcnRvaXJlIGNvcnJlc3BvbmRhbnQsIG1haXMgcGV1dmVudCBldXgtbeptZXMg6nRyZSDpY3Jhc+lzCiAgICBwYXIgZCdhdXRyZXMgdHlwZXMgZGUgc2VjdGlvbnMgZGVzIGZpY2hpZXJzIGRlIGxhCiAgICBjb25maWd1cmF0aW9uIHByaW5jaXBhbGUuIENldHRlIHBvc3NpYmlsaXTpIHBldXQgcydhdulyZXIgdXRpbGUgcG91cgogICAgZm9yY2VyIGNlcnRhaW5lcyBjb25maWd1cmF0aW9ucywgbeptZSBlbiBjYXMgZGUgcHLpc2VuY2UgZGUgbCdvcHRpb24KICAgIGxpYulyYWxlIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4uL21vZC9jb3JlLmh0bWwjYWxsb3dvdmVycmlkZSI+QWxsb3dPdmVycmlkZTwvYT48L2NvZGU+LiBQYXIKICAgIGV4ZW1wbGUsIHBvdXIgaW50ZXJkaXJlIGwnZXjpY3V0aW9uIGRlIHNjcmlwdHMgZW4gYXV0b3Jpc2FudCBsYQogICAgZOlmaW5pdGlvbiBkZSB0b3V0ZSBhdXRyZSBvcHRpb24gZGFucyBsZXMgZmljaGllcnMKICAgIDxjb2RlPi5odGFjY2VzczwvY29kZT4sIHZvdXMgcG91dmV6IHV0aWxpc2VyIDo8L3A+CgogICAgPHByZSBjbGFzcz0icHJldHR5cHJpbnQgbGFuZy1jb25maWciPiZsdDtEaXJlY3RvcnkgIi93d3cvaHRkb2NzIiZndDsKICAgIEFsbG93T3ZlcnJpZGUgQWxsCiZsdDsvRGlyZWN0b3J5Jmd0OwoKJmx0O0xvY2F0aW9uICIvIiZndDsKICAgIE9wdGlvbnMgK0luY2x1ZGVzTm9FeGVjIC1FeGVjQ0dJCiZsdDsvTG9jYXRpb24mZ3Q7PC9wcmU+CgoKICAgIDxkaXYgY2xhc3M9Im5vdGUiPkRhbnMgY2V0IGV4ZW1wbGUsIG9uIGNvbnNpZOhyZSBxdWUgbGUgY2hlbWluIGTpZmluaSBwYXIgbGEKICAgIGRpcmVjdGl2ZSA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuLi9tb2QvY29yZS5odG1sI2RvY3VtZW50cm9vdCI+RG9jdW1lbnRSb290PC9hPjwvY29kZT4gZXN0CiAgICA8Y29kZT4vd3d3L2h0ZG9jczwvY29kZT4uPC9kaXY+CgoKPC9kaXY+PGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9InNlY3Rpb24iPgo8aDI+PGEgbmFtZT0iYXV0aCIgaWQ9ImF1dGgiPkV4ZW1wbGUgZCdhdXRoZW50aWZpY2F0aW9uPC9hPjwvaDI+CgogICAgPHA+U2kgdm91cyBhY2PpZGV6IGRpcmVjdGVtZW50IOAgY2UgcG9pbnQgZHUgZG9jdW1lbnQgcG91ciBhcHByZW5kcmUKICAgIOAgZWZmZWN0dWVyIHVuZSBhdXRoZW50aWZpY2F0aW9uLCBpbCBlc3QgaW1wb3J0YW50IGRlIG5vdGVyIGNlY2kuIElsCiAgICBleGlzdGUgdW5lIGZhdXNzZSBpZOllIHNlbG9uIGxhcXVlbGxlIGlsIHNlcmFpdCBu6WNlc3NhaXJlCiAgICBkJ3V0aWxpc2VyIGxlcyBmaWNoaWVycyA8Y29kZT4uaHRhY2Nlc3M8L2NvZGU+IHBvdXIgaW1wbOltZW50ZXIKICAgIGwnYXV0aGVudGlmaWNhdGlvbiBwYXIgbW90IGRlIHBhc3NlLiBDZWNpIGVzdCB0b3V0IHNpbXBsZW1lbnQgZmF1eC4KICAgIFBvdXIgeSBwYXJ2ZW5pciwgaWwgZXN0IHBy6WbpcmFibGUgZGUgbWV0dHJlIGxlcyBkaXJlY3RpdmVzCiAgICBkJ2F1dGhlbnRpZmljYXRpb24gZGFucyB1bmUgc2VjdGlvbiA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuLi9tb2QvY29yZS5odG1sI2RpcmVjdG9yeSI+Jmx0O0RpcmVjdG9yeSZndDs8L2E+PC9jb2RlPiBkdSBmaWNoaWVyIGRlIGNvbmZpZ3VyYXRpb24gZGUKICAgIHZvdHJlIHNlcnZldXIgcHJpbmNpcGFsLCBldCBsZXMgZmljaGllcnMgPGNvZGU+Lmh0YWNjZXNzPC9jb2RlPiBuZQogICAgZGV2cmFpZW50IOp0cmUgdXRpbGlz6XMgcXVlIGRhbnMgbGUgY2FzIG/5IHZvdXMgbidhdmV6IHBhcyBhY2PocyBhdQogICAgZmljaGllciBkZSBjb25maWd1cmF0aW9uIGR1IHNlcnZldXIgcHJpbmNpcGFsLiBWb2lyIDxhIGhyZWY9IiN3aGVuIj5jaS1kZXNzdXM8L2E+IHBvdXIgc2F2b2lyIGRhbnMgcXVlbHMgY2FzIHZvdXMgZGV2ZXogb3UKICAgIG5lIGRldmV6IHBhcyB1dGlsaXNlciBsZXMgZmljaGllcnMgPGNvZGU+Lmh0YWNjZXNzPC9jb2RlPi48L3A+CgogICAgPHA+Q2VjaSDpdGFudCBkaXQsIHNpIHZvdXMgcGVuc2V6IHF1ZSB2b3VzIGRldmV6IHF1YW5kLW3qbWUgdXRpbGlzZXIKICAgIHVuIGZpY2hpZXIgPGNvZGU+Lmh0YWNjZXNzPC9jb2RlPiwgdm91cyBwb3V2ZXogdXRpbGlzZXIgbGEKICAgIGNvbmZpZ3VyYXRpb24gc3VpdmFudGUgOjwvcD4KCiAgICA8cD5Db250ZW51IGR1IGZpY2hpZXIgPGNvZGU+Lmh0YWNjZXNzPC9jb2RlPiA6PC9wPgoKICAgIDxwcmUgY2xhc3M9InByZXR0eXByaW50IGxhbmctY29uZmlnIj5BdXRoVHlwZSBCYXNpYwpBdXRoTmFtZSAiUGFzc3dvcmQgUmVxdWlyZWQiCkF1dGhVc2VyRmlsZSAiL3d3dy9wYXNzd29yZHMvcGFzc3dvcmQuZmlsZSIKQXV0aEdyb3VwRmlsZSAiL3d3dy9wYXNzd29yZHMvZ3JvdXAuZmlsZSIKUmVxdWlyZSBncm91cCBhZG1pbnM8L3ByZT4KCgogICAgPHA+Tm90ZXogcXVlIDxjb2RlPkFsbG93T3ZlcnJpZGUgQXV0aENvbmZpZzwvY29kZT4gZG9pdCDqdHJlIHBy6XNlbnQKICAgIHBvdXIgcXVlIGNlcyBkaXJlY3RpdmVzIHByb2R1aXNlbnQgbGV1ciBlZmZldC48L3A+CgogICAgPHA+Vm91cyBwb3V2ZXogdm91cyBy6WbpcmVyIGF1IDxhIGhyZWY9ImF1dGguaHRtbCI+dHV0b3JpZWwgc3VyCiAgICBsJ2F1dGhlbnRpZmljYXRpb248L2E+IHBvdXIgdW5lIGRlc2NyaXB0aW9uIHBsdXMgZOl0YWlsbOllIGRlCiAgICBsJ2F1dGhlbnRpZmljYXRpb24gZXQgZGUgbCdhdXRvcmlzYXRpb24uPC9wPgo8L2Rpdj48ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0ic2VjdGlvbiI+CjxoMj48YSBuYW1lPSJzc2kiIGlkPSJzc2kiPkV4ZW1wbGUgZCdJbmNsdXNpb24gQ/R06SBTZXJ2ZXVyIChTZXJ2ZXIgU2lkZQpJbmNsdWRlcyAtIFNTSSk8L2E+PC9oMj4KCiAgICA8cD5MZXMgZmljaGllcnMgPGNvZGU+Lmh0YWNjZXNzPC9jb2RlPiBzb250IGF1c3NpIGNvdXJhbW1lbnQKICAgIHV0aWxpc+lzIHBvdXIgYWN0aXZlciBsZXMgU1NJIHBvdXIgdW4gculwZXJ0b2lyZSBwYXJ0aWN1bGllci4gUG91ciB5CiAgICBwYXJ2ZW5pciwgb24gdXRpbGlzZSBsZXMgZGlyZWN0aXZlcyBkZSBjb25maWd1cmF0aW9uIHN1aXZhbnRlcywKICAgIHBsYWPpZXMgZGFucyB1biBmaWNoaWVyIDxjb2RlPi5odGFjY2VzczwvY29kZT4gZW5yZWdpc3Ry6SBkYW5zIGxlCiAgICBy6XBlcnRvaXJlIGNvbnNpZOly6SA6PC9wPgoKICAgIDxwcmUgY2xhc3M9InByZXR0eXByaW50IGxhbmctY29uZmlnIj5PcHRpb25zICtJbmNsdWRlcwpBZGRUeXBlIHRleHQvaHRtbCBzaHRtbApBZGRIYW5kbGVyIHNlcnZlci1wYXJzZWQgc2h0bWw8L3ByZT4KCgogICAgPHA+Tm90ZXogcXVlIDxjb2RlPkFsbG93T3ZlcnJpZGUgT3B0aW9uczwvY29kZT4gZXQgPGNvZGU+QWxsb3dPdmVycmlkZQogICAgRmlsZUluZm88L2NvZGU+IGRvaXZlbnQg6nRyZSB0b3VzIGxlcyBkZXV4IHBy6XNlbnRzIHBvdXIgcXVlIGNlcwogICAgZGlyZWN0aXZlcyBwdWlzc2VudCBwcm9kdWlyZSBsZXVyIGVmZmV0LjwvcD4KCiAgICA8cD5Wb3VzIHBvdXZleiB2b3VzIHLpZulyZXIgYXUgPGEgaHJlZj0ic3NpLmh0bWwiPnR1dG9yaWVsIFNTSTwvYT4KICAgIHBvdXIgdW5lIGRlc2NyaXB0aW9uIHBsdXMgZOl0YWlsbOllIGRlcyBTU0kuPC9wPgo8L2Rpdj48ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0ic2VjdGlvbiI+CjxoMj48YSBuYW1lPSJyZXdyaXRlIiBpZD0icmV3cml0ZSI+TGVzIHLoZ2xlcyBkZSBy6eljcml0dXJlIGRhbnMgbGVzIGZpY2hpZXJzIC5odGFjY2VzczwvYT48L2gyPgo8cD5TaXZvdXMgdXRpbGlzZXogZGVzIGRpcmVjdGl2ZXMgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi4vbW9kL21vZF9yZXdyaXRlLmh0bWwjcmV3cml0ZXJ1bGUiPlJld3JpdGVSdWxlPC9hPjwvY29kZT4gZGFucyB1biBmaWNoaWVyCjxjb2RlPi5odGFjY2VzczwvY29kZT4sIGdhcmRleiDgIGwnZXNwcml0IHF1ZSBsZXMgY2hvc2VzIHNvbnQgbOln6HJlbWVudApkaWZm6XJlbnRlcyBkYW5zIHVuIGNvbnRleHRlIGRlIHLpcGVydG9pcmUuIEVuIHBhcnRpY3VsaWVyLCBsZXMgcuhnbGVzCnNvbnQgcmVsYXRpdmVzIGF1IHLpcGVydG9pcmUgY291cmFudCwgZXQgbm9uIOAgbCdVUkkgb3JpZ2luYWwuIENvbnNpZOlyZXoKbGVzIGV4ZW1wbGVzIHN1aXZhbnRzIDo8L3A+Cgo8cHJlIGNsYXNzPSJwcmV0dHlwcmludCBsYW5nLWNvbmZpZyI+IyBEYW5zIGh0dHBkLmNvbmYKUmV3cml0ZVJ1bGUgIl4vaW1hZ2VzLyguKylcLmpwZyIgIi9pbWFnZXMvJDEucG5nIgoKIyBEYW5zIHVuIGZpY2hpZXIgLmh0YWNjZXNzIHNpdHXpIGRhbnMgbGUgculwZXJ0b2lyZSByYWNpbmUgZGUgdm9zCiMgZG9jdW1lbnRzClJld3JpdGVSdWxlICJeaW1hZ2VzLyguKylcLmpwZyIgImltYWdlcy8kMS5wbmciCgojIERhbnMgdW4gZmljaGllciAuaHRhY2Nlc3Mgc2l0dekgZGFucyBsZSBy6XBlcnRvaXJlIGltYWdlcy8KUmV3cml0ZVJ1bGUgIl4oLispXC5qcGciICIkMS5wbmciPC9wcmU+CgoKPHA+T24gdm9pdCBxdWUgc2kgbGUgZmljaGllciA8Y29kZT4uaHRhY2Nlc3M8L2NvZGU+IHNlIHNpdHVlIOAgbGEgcmFjaW5lCmRlIHZvcyBkb2N1bWVudHMsIGxlIHNsYXNoIGRlIHTqdGUgZXN0IHN1cHByaW3pIGRlIGxhIHZhbGV1ciBkZQpyZW1wbGFjZW1lbnQgc3DpY2lmaellIHBvdXIgbGEgcuhnbGUgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi4vbW9kL21vZF9yZXdyaXRlLmh0bWwjcmV3cml0ZXJ1bGUiPlJld3JpdGVSdWxlPC9hPjwvY29kZT4sIGV0IHF1ZSBzaSBsZSBmaWNoaWVyCjxjb2RlPi5odGFjY2VzczwvY29kZT4gc2Ugc2l0dWUgZGFucyBsZSBy6XBlcnRvaXJlIDxjb2RlPmltYWdlczwvY29kZT4sCmxhIGNoYe5uZSA8Y29kZT4vaW1hZ2VzLzwvY29kZT4gZGlzcGFyYe50IGRlIGNldHRlIG3qbWUgdmFsZXVyIGRlCnJlbXBsYWNlbWVudC4gSWwgZG9pdCBkb25jIGVuIOp0cmUgZGUgbeptZSBkYW5zIHZvdHJlIGV4cHJlc3Npb24KcmF0aW9ubmVsbGUuPC9wPgoKPHA+VmV1aWxsZXogdm91cyBy6WbpcmVyIOAgY2V0dGUgPGEgaHJlZj0iLi4vcmV3cml0ZS8iPmRvY3VtZW50YXRpb248L2E+CnBvdXIgdW5lIOl0dWRlIGTpdGFpbGzpZSBkZSBsJ3V0aWxpc2F0aW9uIGR1IG1vZHVsZQo8Y29kZT5tb2RfcmV3cml0ZTwvY29kZT4uPC9wPgoKPC9kaXY+PGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9InNlY3Rpb24iPgo8aDI+PGEgbmFtZT0iY2dpIiBpZD0iY2dpIj5FeGVtcGxlIGRlIENHSTwvYT48L2gyPgoKICAgIDxwPkVuIGZpbiBkZSBjb21wdGUsIHZvdXMgYXZleiBk6WNpZOkgZCd1dGlsaXNlciB1biBmaWNoaWVyCiAgICA8Y29kZT4uaHRhY2Nlc3M8L2NvZGU+IHBvdXIgcGVybWV0dHJlIGwnZXjpY3V0aW9uIGRlcyBwcm9ncmFtbWVzIENHSQogICAgZGFucyB1biBy6XBlcnRvaXJlIHBhcnRpY3VsaWVyLiBQb3VyIHkgcGFydmVuaXIsIHZvdXMgcG91dmV6CiAgICB1dGlsaXNlciBsYSBjb25maWd1cmF0aW9uIHN1aXZhbnRlIDo8L3A+CgogICAgPHByZSBjbGFzcz0icHJldHR5cHJpbnQgbGFuZy1jb25maWciPk9wdGlvbnMgK0V4ZWNDR0kKQWRkSGFuZGxlciBjZ2ktc2NyaXB0IGNnaSBwbDwvcHJlPgoKCiAgICA8cD5BbHRlcm5hdGl2ZW1lbnQsIHNpIHZvdXMgc291aGFpdGV6IHF1ZSB0b3VzIGxlcyBmaWNoaWVycyBkJ3VuCiAgICBy6XBlcnRvaXJlIGRvbm7pIHNvaWVudCBjb25zaWTpculzIGNvbW1lIGRlcyBwcm9ncmFtbWVzIENHSSwgdm91cwogICAgcG91dmV6IHV0aWxpc2VyIGxhIGNvbmZpZ3VyYXRpb24gc3VpdmFudGUgOjwvcD4KCiAgICA8cHJlIGNsYXNzPSJwcmV0dHlwcmludCBsYW5nLWNvbmZpZyI+T3B0aW9ucyArRXhlY0NHSQpTZXRIYW5kbGVyIGNnaS1zY3JpcHQ8L3ByZT4KCgogICAgPHA+Tm90ZXogcXVlIDxjb2RlPkFsbG93T3ZlcnJpZGUgT3B0aW9uczwvY29kZT4gZXQgPGNvZGU+QWxsb3dPdmVycmlkZQogICAgRmlsZUluZm88L2NvZGU+IGRvaXZlbnQg6nRyZSB0b3VzIGxlcyBkZXV4IHBy6XNlbnRzIHBvdXIgcXVlIGNlcwogICAgZGlyZWN0aXZlcyBwdWlzc2VudCBwcm9kdWlyZSBsZXVyIGVmZmV0LjwvcD4KCiAgICA8cD5Wb3VzIHBvdXZleiB2b3VzIHLpZulyZXIgYXUgPGEgaHJlZj0iY2dpLmh0bWwiPnR1dG9yaWVsIENHSTwvYT4KICAgIHBvdXIgdW5lIGRlc2NyaXB0aW9uIHBsdXMgZOl0YWlsbOllIGRlIGxhIGNvbmZpZ3VyYXRpb24gZXQgZGUgbGEKICAgIHByb3ByYW1tYXRpb24gQ0dJLjwvcD4KCjwvZGl2PjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KPGgyPjxhIG5hbWU9InRyb3VibGVzaG9vdCIgaWQ9InRyb3VibGVzaG9vdCI+Uulzb2x1dGlvbiBkZXMgcHJvYmzobWVzPC9hPjwvaDI+CgogICAgPHA+RGUgbm9tYnJldXNlcyByYWlzb25zIHBldXZlbnQg6nRyZSDgIGwnb3JpZ2luZSBkdSBmYWl0IHF1ZQogICAgbGVzIGRpcmVjdGl2ZXMgcXVlIHZvdXMgYXZleiBtaXNlcyBkYW5zIHVuIGZpY2hpZXIKICAgIDxjb2RlPi5odGFjY2VzczwvY29kZT4gbmUgcHJvZHVpc2VudCBwYXMgbCdlZmZldCBk6XNpcukuPC9wPgoKICAgIDxwPkxlIHBsdXMgc291dmVudCwgbGUgcHJvYmzobWUgdmllbnQgZHUgZmFpdCBxdWUgbGEgZOlmaW5pdGlvbiBkZQogICAgbGEgZGlyZWN0aXZlIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4uL21vZC9jb3JlLmh0bWwjYWxsb3dvdmVycmlkZSI+QWxsb3dPdmVycmlkZTwvYT48L2NvZGU+CiAgICBuZSBwZXJtZXQgcGFzIGwnYWN0aXZhdGlvbiBkZXMgZGlyZWN0aXZlcyBkZSB2b3RyZSBmaWNoaWVyCiAgICA8Y29kZT4uaHRhY2Nlc3M8L2NvZGU+LiBW6XJpZmlleiBzaSB1bmUgZGlyZWN0aXZlCiAgICA8Y29kZT5BbGxvd092ZXJyaWRlIE5vbmU8L2NvZGU+IG4nYWZmZWN0ZSBwYXMgbGUgculwZXJ0b2lyZSBv+SBzZQogICAgdHJvdXZlIHZvdHJlIGZpY2hpZXIuIFVuIGJvbiB0ZXN0IGNvbnNpc3RlIOAgbWV0dHJlIGRlcyBkaXJlY3RpdmVzCiAgICBkb250IGxhIHN5bnRheGUgZXN0IGVycm9u6WUgZGFucyB2b3RyZSBmaWNoZXIgPGNvZGU+Lmh0YWNjZXNzPC9jb2RlPgogICAgZXQgZGUgcmVjaGFyZ2VyIGxhIHBhZ2UuIFNpIGF1Y3VuZSBlcnJldXIgbidlc3QgZ+lu6XLpZSBwYXIgbGUKICAgIHNlcnZldXIsIGlsIGVzdCBwcmF0aXF1ZW1lbnQgY2VydGFpbiBxdSd1bmUgZGlyZWN0aXZlCiAgICA8Y29kZT5BbGxvd092ZXJyaWRlIE5vbmU8L2NvZGU+IGFmZmVjdGUgdm90cmUgculwZXJ0b2lyZS48L3A+CgogICAgPHA+UGFyIGNvbnRyZSwgc2kgdm91cyBvYnRlbmV6IGRlcyBlcnJldXJzIGRlIHNlcnZldXIgbG9yc3F1ZSB2b3VzCiAgICB0ZW50ZXogZCdhY2PpZGVyIOAgZGVzIGRvY3VtZW50cywgY29uc3VsdGV6IHZvdHJlIGpvdXJuYWwgZGVzCiAgICBlcnJldXJzIGRlIGh0dHBkLiBJbCB2b3VzIGluZGlxdWVyYSBwcm9iYWJsZW1lbnQgcXVlIGxhIGRpcmVjdGl2ZQogICAgdXRpbGlz6WUgZGFucyB2b3RyZSBmaWNoaWVyIDxjb2RlPi5odGFjY2VzczwvY29kZT4gbidlc3QgcGFzCiAgICBwZXJtaXNlLjwvcD4KCjxkaXYgY2xhc3M9ImV4YW1wbGUiPjxwPjxjb2RlPgoJW0ZyaSBTZXAgMTcgMTg6NDM6MTYgMjAxMF0gW2FsZXJ0XSBbY2xpZW50IDE5Mi4xNjguMjAwLjUxXSAvdmFyL3d3dy9odG1sLy5odGFjY2VzczogRGlyZWN0b3J5SW5kZXggbm90IGFsbG93ZWQgaGVyZQo8L2NvZGU+PC9wPjwvZGl2PgoJPHA+Q2VsYSBzaWduaWZpZSBzb2l0IHF1ZSB2b3VzIHV0aWxpc2V6IHVuZSBkaXJlY3RpdmUgcXVpIG4nZXN0CglqYW1haXMgcGVybWlzZSBkYW5zIGxlcyBmaWNoaWVycyA8Y29kZT4uaHRhY2Nlc3M8L2NvZGU+LCBzb2l0CglxdWUgdm91cyBuJ2F2ZXogdG91dCBzaW1wbGVtZW50IHBhcyBk6WZpbmkgbGEgZGlyZWN0aXZlCgk8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuLi9tb2QvY29yZS5odG1sI2FsbG93b3ZlcnJpZGUiPkFsbG93T3ZlcnJpZGU8L2E+PC9jb2RlPiDgIHVuIG5pdmVhdQoJc3VmZmlzYW50IHBvdXIgbGEgZGlyZWN0aXZlIHF1ZSB2b3VzIHV0aWxpc2V6LiBDb25zdWx0ZXogbGEKCWRvY3VtZW50YXRpb24gZGUgY2V0dGUgZGlyZWN0aXZlIHBvdXIgZOl0ZXJtaW5lciBxdWVsIGNhcwoJcydhcHBsaXF1ZS48L3A+CgoJPHA+TGUgam91cm5hbCBkZXMgZXJyZXVycyBwZXV0IGF1c3NpIHZvdXMgc2lnbmFsZXIgdW5lIGVycmV1ciBkZQoJc3ludGF4ZSBkYW5zIGwndXNhZ2UgZGUgbGEgZGlyZWN0aXZlIGVsbGUtbeptZS48L3A+CgogICAgPGRpdiBjbGFzcz0iZXhhbXBsZSI+PHA+PGNvZGU+CiAgICBbU2F0IEF1ZyAwOSAxNjoyMjozNCAyMDA4XSBbYWxlcnRdIFtjbGllbnQgMTkyLjE2OC4yMDAuNTFdIC92YXIvd3d3L2h0bWwvLmh0YWNjZXNzOiBSZXdyaXRlQ29uZDogYmFkIGZsYWcgZGVsaW1pdGVycwogICAgPC9jb2RlPjwvcD48L2Rpdj4KCgk8cD5EYW5zIGNlIGNhcywgbGUgbWVzc2FnZSBkJ2VycmV1ciBzZXJhIHNw6WNpZmlxdWUg4CBsJ2VycmV1cgoJZGUgc3ludGF4ZSBxdWUgdm91cyBhdmV6IGNvbW1pc2UuPC9wPgo8L2Rpdj48L2Rpdj4KPGRpdiBjbGFzcz0iYm90dG9tbGFuZyI+CjxwPjxzcGFuPkxhbmd1ZXMgRGlzcG9uaWJsZXM6IDwvc3Bhbj48YSBocmVmPSIuLi9lbi9ob3d0by9odGFjY2Vzcy5odG1sIiBocmVmbGFuZz0iZW4iIHJlbD0iYWx0ZXJuYXRlIiB0aXRsZT0iRW5nbGlzaCI+Jm5ic3A7ZW4mbmJzcDs8L2E+IHwKPGEgaHJlZj0iLi4vZnIvaG93dG8vaHRhY2Nlc3MuaHRtbCIgdGl0bGU9IkZyYW7nYWlzIj4mbmJzcDtmciZuYnNwOzwvYT4gfAo8YSBocmVmPSIuLi9qYS9ob3d0by9odGFjY2Vzcy5odG1sIiBocmVmbGFuZz0iamEiIHJlbD0iYWx0ZXJuYXRlIiB0aXRsZT0iSmFwYW5lc2UiPiZuYnNwO2phJm5ic3A7PC9hPiB8CjxhIGhyZWY9Ii4uL2tvL2hvd3RvL2h0YWNjZXNzLmh0bWwiIGhyZWZsYW5nPSJrbyIgcmVsPSJhbHRlcm5hdGUiIHRpdGxlPSJLb3JlYW4iPiZuYnNwO2tvJm5ic3A7PC9hPiB8CjxhIGhyZWY9Ii4uL3B0LWJyL2hvd3RvL2h0YWNjZXNzLmh0bWwiIGhyZWZsYW5nPSJwdC1iciIgcmVsPSJhbHRlcm5hdGUiIHRpdGxlPSJQb3J0dWd16nMgKEJyYXNpbCkiPiZuYnNwO3B0LWJyJm5ic3A7PC9hPjwvcD4KPC9kaXY+PGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiBhbHQ9InRvcCIgLz48L2E+PC9kaXY+PGRpdiBjbGFzcz0ic2VjdGlvbiI+PGgyPjxhIGlkPSJjb21tZW50c19zZWN0aW9uIiBuYW1lPSJjb21tZW50c19zZWN0aW9uIj5Db21tZW50YWlyZXM8L2E+PC9oMj48ZGl2IGNsYXNzPSJ3YXJuaW5nIj48c3Ryb25nPk5vdGljZTo8L3N0cm9uZz48YnIgLz5UaGlzIGlzIG5vdCBhIFEmYW1wO0Egc2VjdGlvbi4gQ29tbWVudHMgcGxhY2VkIGhlcmUgc2hvdWxkIGJlIHBvaW50ZWQgdG93YXJkcyBzdWdnZXN0aW9ucyBvbiBpbXByb3ZpbmcgdGhlIGRvY3VtZW50YXRpb24gb3Igc2VydmVyLCBhbmQgbWF5IGJlIHJlbW92ZWQgYWdhaW4gYnkgb3VyIG1vZGVyYXRvcnMgaWYgdGhleSBhcmUgZWl0aGVyIGltcGxlbWVudGVkIG9yIGNvbnNpZGVyZWQgaW52YWxpZC9vZmYtdG9waWMuIFF1ZXN0aW9ucyBvbiBob3cgdG8gbWFuYWdlIHRoZSBBcGFjaGUgSFRUUCBTZXJ2ZXIgc2hvdWxkIGJlIGRpcmVjdGVkIGF0IGVpdGhlciBvdXIgSVJDIGNoYW5uZWwsICNodHRwZCwgb24gRnJlZW5vZGUsIG9yIHNlbnQgdG8gb3VyIDxhIGhyZWY9Imh0dHA6Ly9odHRwZC5hcGFjaGUub3JnL2xpc3RzLmh0bWwiPm1haWxpbmcgbGlzdHM8L2E+LjwvZGl2Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+PCEtLS8vLS0+PCFbQ0RBVEFbLy8+PCEtLQp2YXIgY29tbWVudHNfc2hvcnRuYW1lID0gJ2h0dHBkJzsKdmFyIGNvbW1lbnRzX2lkZW50aWZpZXIgPSAnaHR0cDovL2h0dHBkLmFwYWNoZS5vcmcvZG9jcy8yLjQvaG93dG8vaHRhY2Nlc3MuaHRtbCc7CihmdW5jdGlvbih3LCBkKSB7CiAgICBpZiAody5sb2NhdGlvbi5ob3N0bmFtZS50b0xvd2VyQ2FzZSgpID09ICJodHRwZC5hcGFjaGUub3JnIikgewogICAgICAgIGQud3JpdGUoJzxkaXYgaWQ9ImNvbW1lbnRzX3RocmVhZCI+PFwvZGl2PicpOwogICAgICAgIHZhciBzID0gZC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsKICAgICAgICBzLnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JzsKICAgICAgICBzLmFzeW5jID0gdHJ1ZTsKICAgICAgICBzLnNyYyA9ICdodHRwczovL2NvbW1lbnRzLmFwYWNoZS5vcmcvc2hvd19jb21tZW50cy5sdWE/c2l0ZT0nICsgY29tbWVudHNfc2hvcnRuYW1lICsgJyZwYWdlPScgKyBjb21tZW50c19pZGVudGlmaWVyOwogICAgICAgIChkLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF0gfHwgZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnYm9keScpWzBdKS5hcHBlbmRDaGlsZChzKTsKICAgIH0KICAgIGVsc2UgeyAKICAgICAgICBkLndyaXRlKCc8ZGl2IGlkPSJjb21tZW50c190aHJlYWQiPkNvbW1lbnRzIGFyZSBkaXNhYmxlZCBmb3IgdGhpcyBwYWdlIGF0IHRoZSBtb21lbnQuPFwvZGl2PicpOwogICAgfQp9KSh3aW5kb3csIGRvY3VtZW50KTsKLy8tLT48IV1dPjwvc2NyaXB0PjwvZGl2PjxkaXYgaWQ9ImZvb3RlciI+CjxwIGNsYXNzPSJhcGFjaGUiPkNvcHlyaWdodCAyMDE2IFRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbi48YnIgLz5BdXRvcmlz6SBzb3VzIDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMCI+QXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wPC9hPi48L3A+CjxwIGNsYXNzPSJtZW51Ij48YSBocmVmPSIuLi9tb2QvIj5Nb2R1bGVzPC9hPiB8IDxhIGhyZWY9Ii4uL21vZC9kaXJlY3RpdmVzLmh0bWwiPkRpcmVjdGl2ZXM8L2E+IHwgPGEgaHJlZj0iaHR0cDovL3dpa2kuYXBhY2hlLm9yZy9odHRwZC9GQVEiPkZBUTwvYT4gfCA8YSBocmVmPSIuLi9nbG9zc2FyeS5odG1sIj5HbG9zc2FpcmU8L2E+IHwgPGEgaHJlZj0iLi4vc2l0ZW1hcC5odG1sIj5QbGFuIGR1IHNpdGU8L2E+PC9wPjwvZGl2PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48IS0tLy8tLT48IVtDREFUQVsvLz48IS0tCmlmICh0eXBlb2YocHJldHR5UHJpbnQpICE9PSAndW5kZWZpbmVkJykgewogICAgcHJldHR5UHJpbnQoKTsKfQovLy0tPjwhXV0+PC9zY3JpcHQ+CjwvYm9keT48L2h0bWw+