PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/Pgo8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBsYW5nPSJlbiIgeG1sOmxhbmc9ImVuIj48aGVhZD48IS0tCiAgICAgICAgWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgKICAgICAgICAgICAgICBUaGlzIGZpbGUgaXMgZ2VuZXJhdGVkIGZyb20geG1sIHNvdXJjZTogRE8gTk9UIEVESVQKICAgICAgICBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWAogICAgICAtLT4KPHRpdGxlPkFwYWNoZSBUdXRvcmlhbDogLmh0YWNjZXNzIGZpbGVzIC0gQXBhY2hlIEhUVFAgU2VydmVyPC90aXRsZT4KPGxpbmsgaHJlZj0iLi4vc3R5bGUvY3NzL21hbnVhbC5jc3MiIHJlbD0ic3R5bGVzaGVldCIgbWVkaWE9ImFsbCIgdHlwZT0idGV4dC9jc3MiIHRpdGxlPSJNYWluIHN0eWxlc2hlZXQiIC8+CjxsaW5rIGhyZWY9Ii4uL3N0eWxlL2Nzcy9tYW51YWwtbG9vc2UtMTAwcGMuY3NzIiByZWw9ImFsdGVybmF0ZSBzdHlsZXNoZWV0IiBtZWRpYT0iYWxsIiB0eXBlPSJ0ZXh0L2NzcyIgdGl0bGU9Ik5vIFNpZGViYXIgLSBEZWZhdWx0IGZvbnQgc2l6ZSIgLz4KPGxpbmsgaHJlZj0iLi4vc3R5bGUvY3NzL21hbnVhbC1wcmludC5jc3MiIHJlbD0ic3R5bGVzaGVldCIgbWVkaWE9InByaW50IiB0eXBlPSJ0ZXh0L2NzcyIgLz4KPGxpbmsgaHJlZj0iLi4vaW1hZ2VzL2Zhdmljb24uaWNvIiByZWw9InNob3J0Y3V0IGljb24iIC8+PC9oZWFkPgo8Ym9keSBpZD0ibWFudWFsLXBhZ2UiPjxkaXYgaWQ9InBhZ2UtaGVhZGVyIj4KPHAgY2xhc3M9Im1lbnUiPjxhIGhyZWY9Ii4uL21vZC8iPk1vZHVsZXM8L2E+IHwgPGEgaHJlZj0iLi4vbW9kL2RpcmVjdGl2ZXMuaHRtbCI+RGlyZWN0aXZlczwvYT4gfCA8YSBocmVmPSIuLi9mYXEvIj5GQVE8L2E+IHwgPGEgaHJlZj0iLi4vZ2xvc3NhcnkuaHRtbCI+R2xvc3Nhcnk8L2E+IHwgPGEgaHJlZj0iLi4vc2l0ZW1hcC5odG1sIj5TaXRlbWFwPC9hPjwvcD4KPHAgY2xhc3M9ImFwYWNoZSI+QXBhY2hlIEhUVFAgU2VydmVyIFZlcnNpb24gMi4zPC9wPgo8aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9mZWF0aGVyLmdpZiIgLz48L2Rpdj4KPGRpdiBjbGFzcz0idXAiPjxhIGhyZWY9Ii4vIj48aW1nIHRpdGxlPSImbHQ7LSIgYWx0PSImbHQ7LSIgc3JjPSIuLi9pbWFnZXMvbGVmdC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGlkPSJwYXRoIj4KPGEgaHJlZj0iaHR0cDovL3d3dy5hcGFjaGUub3JnLyI+QXBhY2hlPC9hPiAmZ3Q7IDxhIGhyZWY9Imh0dHA6Ly9odHRwZC5hcGFjaGUub3JnLyI+SFRUUCBTZXJ2ZXI8L2E+ICZndDsgPGEgaHJlZj0iaHR0cDovL2h0dHBkLmFwYWNoZS5vcmcvZG9jcy8iPkRvY3VtZW50YXRpb248L2E+ICZndDsgPGEgaHJlZj0iLi4vIj5WZXJzaW9uIDIuMzwvYT4gJmd0OyA8YSBocmVmPSIuLyI+SG93LVRvIC8gVHV0b3JpYWxzPC9hPjwvZGl2PjxkaXYgaWQ9InBhZ2UtY29udGVudCI+PGRpdiBpZD0icHJlYW1ibGUiPjxoMT5BcGFjaGUgVHV0b3JpYWw6IC5odGFjY2VzcyBmaWxlczwvaDE+CjxkaXYgY2xhc3M9InRvcGxhbmciPgo8cD48c3Bhbj5BdmFpbGFibGUgTGFuZ3VhZ2VzOiA8L3NwYW4+PGEgaHJlZj0iLi4vZW4vaG93dG8vaHRhY2Nlc3MuaHRtbCIgdGl0bGU9IkVuZ2xpc2giPiZuYnNwO2VuJm5ic3A7PC9hPiB8CjxhIGhyZWY9Ii4uL2ZyL2hvd3RvL2h0YWNjZXNzLmh0bWwiIGhyZWZsYW5nPSJmciIgcmVsPSJhbHRlcm5hdGUiIHRpdGxlPSJGcmFu52FpcyI+Jm5ic3A7ZnImbmJzcDs8L2E+IHwKPGEgaHJlZj0iLi4vamEvaG93dG8vaHRhY2Nlc3MuaHRtbCIgaHJlZmxhbmc9ImphIiByZWw9ImFsdGVybmF0ZSIgdGl0bGU9IkphcGFuZXNlIj4mbmJzcDtqYSZuYnNwOzwvYT4gfAo8YSBocmVmPSIuLi9rby9ob3d0by9odGFjY2Vzcy5odG1sIiBocmVmbGFuZz0ia28iIHJlbD0iYWx0ZXJuYXRlIiB0aXRsZT0iS29yZWFuIj4mbmJzcDtrbyZuYnNwOzwvYT4gfAo8YSBocmVmPSIuLi9wdC1ici9ob3d0by9odGFjY2Vzcy5odG1sIiBocmVmbGFuZz0icHQtYnIiIHJlbD0iYWx0ZXJuYXRlIiB0aXRsZT0iUG9ydHVndepzIChCcmFzaWwpIj4mbmJzcDtwdC1iciZuYnNwOzwvYT48L3A+CjwvZGl2PgoKPHA+PGNvZGU+Lmh0YWNjZXNzPC9jb2RlPiBmaWxlcyBwcm92aWRlIGEgd2F5IHRvIG1ha2UgY29uZmlndXJhdGlvbgpjaGFuZ2VzIG9uIGEgcGVyLWRpcmVjdG9yeSBiYXNpcy48L3A+CjwvZGl2Pgo8ZGl2IGlkPSJxdWlja3ZpZXciPjx1bCBpZD0idG9jIj48bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNyZWxhdGVkIj4uaHRhY2Nlc3MgZmlsZXM8L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjd2hhdCI+V2hhdCB0aGV5IGFyZS9Ib3cgdG8gdXNlIHRoZW08L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjd2hlbiI+V2hlbiAobm90KSB0byB1c2UgLmh0YWNjZXNzIGZpbGVzPC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI2hvdyI+SG93IGRpcmVjdGl2ZXMgYXJlIGFwcGxpZWQ8L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjYXV0aCI+QXV0aGVudGljYXRpb24gZXhhbXBsZTwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNzc2kiPlNlcnZlciBTaWRlIEluY2x1ZGVzIGV4YW1wbGU8L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjY2dpIj5DR0kgZXhhbXBsZTwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiN0cm91Ymxlc2hvb3QiPlRyb3VibGVzaG9vdGluZzwvYT48L2xpPgo8L3VsPjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0ic2VjdGlvbiI+CjxoMj48YSBuYW1lPSJyZWxhdGVkIiBpZD0icmVsYXRlZCI+Lmh0YWNjZXNzIGZpbGVzPC9hPjwvaDI+CiAgICA8dGFibGUgY2xhc3M9InJlbGF0ZWQiPjx0cj48dGg+UmVsYXRlZCBNb2R1bGVzPC90aD48dGg+UmVsYXRlZCBEaXJlY3RpdmVzPC90aD48L3RyPjx0cj48dGQ+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+PC90YWJsZT4KCiAgICA8ZGl2IGNsYXNzPSJub3RlIj5Zb3Ugc2hvdWxkIGF2b2lkIHVzaW5nIDxjb2RlPi5odGFjY2VzczwvY29kZT4gZmlsZXMgY29tcGxldGVseSBpZiB5b3UgaGF2ZSBhY2Nlc3MgdG8KICAgIGh0dHBkIG1haW4gc2VydmVyIGNvbmZpZyBmaWxlLiBVc2luZyA8Y29kZT4uaHRhY2Nlc3M8L2NvZGU+IGZpbGVzIHNsb3dzIGRvd24geW91ciBBcGFjaGUgc2VydmVyLgogICAgQW55IGRpcmVjdGl2ZSB0aGF0IHlvdSBjYW4gaW5jbHVkZSBpbiBhIDxjb2RlPi5odGFjY2VzczwvY29kZT4gZmlsZSBpcyBiZXR0ZXIgc2V0IGluIGEgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi4vbW9kL2NvcmUuaHRtbCNkaXJlY3RvcnkiPkRpcmVjdG9yeTwvYT48L2NvZGU+IGJsb2NrLCBhcyBpdCB3aWxsIGhhdmUgdGhlIHNhbWUgZWZmZWN0IHdpdGggYmV0dGVyIHBlcmZvcm1hbmNlLjwvZGl2Pgo8L2Rpdj48ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0ic2VjdGlvbiI+CjxoMj48YSBuYW1lPSJ3aGF0IiBpZD0id2hhdCI+V2hhdCB0aGV5IGFyZS9Ib3cgdG8gdXNlIHRoZW08L2E+PC9oMj4KCgogICAgPHA+PGNvZGU+Lmh0YWNjZXNzPC9jb2RlPiBmaWxlcyAob3IgImRpc3RyaWJ1dGVkIGNvbmZpZ3VyYXRpb24gZmlsZXMiKQogICAgcHJvdmlkZSBhIHdheSB0byBtYWtlIGNvbmZpZ3VyYXRpb24gY2hhbmdlcyBvbiBhIHBlci1kaXJlY3RvcnkgYmFzaXMuIEEKICAgIGZpbGUsIGNvbnRhaW5pbmcgb25lIG9yIG1vcmUgY29uZmlndXJhdGlvbiBkaXJlY3RpdmVzLCBpcyBwbGFjZWQgaW4gYQogICAgcGFydGljdWxhciBkb2N1bWVudCBkaXJlY3RvcnksIGFuZCB0aGUgZGlyZWN0aXZlcyBhcHBseSB0byB0aGF0CiAgICBkaXJlY3RvcnksIGFuZCBhbGwgc3ViZGlyZWN0b3JpZXMgdGhlcmVvZi48L3A+CgogICAgPGRpdiBjbGFzcz0ibm90ZSI+PGgzPk5vdGU6PC9oMz4KICAgICAgPHA+SWYgeW91IHdhbnQgdG8gY2FsbCB5b3VyIDxjb2RlPi5odGFjY2VzczwvY29kZT4gZmlsZSBzb21ldGhpbmcKICAgICAgZWxzZSwgeW91IGNhbiBjaGFuZ2UgdGhlIG5hbWUgb2YgdGhlIGZpbGUgdXNpbmcgdGhlIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4uL21vZC9jb3JlLmh0bWwjYWNjZXNzZmlsZW5hbWUiPkFjY2Vzc0ZpbGVOYW1lPC9hPjwvY29kZT4gZGlyZWN0aXZlLiBGb3IgZXhhbXBsZSwKICAgICAgaWYgeW91IHdvdWxkIHJhdGhlciBjYWxsIHRoZSBmaWxlIDxjb2RlPi5jb25maWc8L2NvZGU+IHRoZW4geW91CiAgICAgIGNhbiBwdXQgdGhlIGZvbGxvd2luZyBpbiB5b3VyIHNlcnZlciBjb25maWd1cmF0aW9uIGZpbGU6PC9wPgoKICAgICAgPGRpdiBjbGFzcz0iZXhhbXBsZSI+PHA+PGNvZGU+CiAgICAgICAgQWNjZXNzRmlsZU5hbWUgLmNvbmZpZwogICAgICA8L2NvZGU+PC9wPjwvZGl2PgogICAgPC9kaXY+CgogICAgPHA+SW4gZ2VuZXJhbCwgPGNvZGU+Lmh0YWNjZXNzPC9jb2RlPiBmaWxlcyB1c2UgdGhlIHNhbWUgc3ludGF4IGFzCiAgICB0aGUgPGEgaHJlZj0iLi4vY29uZmlndXJpbmcuaHRtbCNzeW50YXgiPm1haW4gY29uZmlndXJhdGlvbgogICAgZmlsZXM8L2E+LiBXaGF0IHlvdSBjYW4gcHV0IGluIHRoZXNlIGZpbGVzIGlzIGRldGVybWluZWQgYnkgdGhlCiAgICA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuLi9tb2QvY29yZS5odG1sI2FsbG93b3ZlcnJpZGUiPkFsbG93T3ZlcnJpZGU8L2E+PC9jb2RlPiBkaXJlY3RpdmUuIFRoaXMKICAgIGRpcmVjdGl2ZSBzcGVjaWZpZXMsIGluIGNhdGVnb3JpZXMsIHdoYXQgZGlyZWN0aXZlcyB3aWxsIGJlCiAgICBob25vcmVkIGlmIHRoZXkgYXJlIGZvdW5kIGluIGEgPGNvZGU+Lmh0YWNjZXNzPC9jb2RlPiBmaWxlLiBJZiBhCiAgICBkaXJlY3RpdmUgaXMgcGVybWl0dGVkIGluIGEgPGNvZGU+Lmh0YWNjZXNzPC9jb2RlPiBmaWxlLCB0aGUKICAgIGRvY3VtZW50YXRpb24gZm9yIHRoYXQgZGlyZWN0aXZlIHdpbGwgY29udGFpbiBhbiBPdmVycmlkZSBzZWN0aW9uLAogICAgc3BlY2lmeWluZyB3aGF0IHZhbHVlIG11c3QgYmUgaW4gPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi4vbW9kL2NvcmUuaHRtbCNhbGxvd292ZXJyaWRlIj5BbGxvd092ZXJyaWRlPC9hPjwvY29kZT4gaW4gb3JkZXIgZm9yIHRoYXQKICAgIGRpcmVjdGl2ZSB0byBiZSBwZXJtaXR0ZWQuPC9wPgoKICAgIDxwPkZvciBleGFtcGxlLCBpZiB5b3UgbG9vayBhdCB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4uL21vZC9jb3JlLmh0bWwjYWRkZGVmYXVsdGNoYXJzZXQiPkFkZERlZmF1bHRDaGFyc2V0PC9hPjwvY29kZT4KICAgIGRpcmVjdGl2ZSwgeW91IHdpbGwgZmluZCB0aGF0IGl0IGlzIHBlcm1pdHRlZCBpbiA8Y29kZT4uaHRhY2Nlc3M8L2NvZGU+CiAgICBmaWxlcy4gKFNlZSB0aGUgQ29udGV4dCBsaW5lIGluIHRoZSBkaXJlY3RpdmUgc3VtbWFyeS4pIFRoZSA8YSBocmVmPSIuLi9tb2QvZGlyZWN0aXZlLWRpY3QuaHRtbCNDb250ZXh0Ij5PdmVycmlkZTwvYT4gbGluZSByZWFkcwogICAgPGNvZGU+RmlsZUluZm88L2NvZGU+LiBUaHVzLCB5b3UgbXVzdCBoYXZlIGF0IGxlYXN0CiAgICA8Y29kZT5BbGxvd092ZXJyaWRlIEZpbGVJbmZvPC9jb2RlPiBpbiBvcmRlciBmb3IgdGhpcyBkaXJlY3RpdmUgdG8gYmUKICAgIGhvbm9yZWQgaW4gPGNvZGU+Lmh0YWNjZXNzPC9jb2RlPiBmaWxlcy48L3A+CgogICAgPGRpdiBjbGFzcz0iZXhhbXBsZSI+PGgzPkV4YW1wbGU6PC9oMz48dGFibGU+CiAgICAgICAgPHRyPgogICAgICAgICAgPHRkPjxhIGhyZWY9Ii4uL21vZC9kaXJlY3RpdmUtZGljdC5odG1sI0NvbnRleHQiPkNvbnRleHQ6PC9hPjwvdGQ+CiAgICAgICAgICA8dGQ+c2VydmVyIGNvbmZpZywgdmlydHVhbCBob3N0LCBkaXJlY3RvcnksIC5odGFjY2VzczwvdGQ+CiAgICAgICAgPC90cj4KCiAgICAgICAgPHRyPgogICAgICAgICAgPHRkPjxhIGhyZWY9Ii4uL21vZC9kaXJlY3RpdmUtZGljdC5odG1sI092ZXJyaWRlIj5PdmVycmlkZTo8L2E+PC90ZD4KICAgICAgICAgIDx0ZD5GaWxlSW5mbzwvdGQ+CiAgICAgICAgPC90cj4KICAgICAgPC90YWJsZT48L2Rpdj4KCiAgICA8cD5JZiB5b3UgYXJlIHVuc3VyZSB3aGV0aGVyIGEgcGFydGljdWxhciBkaXJlY3RpdmUgaXMgcGVybWl0dGVkIGluIGEKICAgIDxjb2RlPi5odGFjY2VzczwvY29kZT4gZmlsZSwgbG9vayBhdCB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhhdAogICAgZGlyZWN0aXZlLCBhbmQgY2hlY2sgdGhlIENvbnRleHQgbGluZSBmb3IgIi5odGFjY2VzcyIuPC9wPgogICAgPC9kaXY+PGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9InNlY3Rpb24iPgo8aDI+PGEgbmFtZT0id2hlbiIgaWQ9IndoZW4iPldoZW4gKG5vdCkgdG8gdXNlIC5odGFjY2VzcyBmaWxlczwvYT48L2gyPgoKICAgIDxwPkluIGdlbmVyYWwsIHlvdSBzaG91bGQgb25seSB1c2UgPGNvZGU+Lmh0YWNjZXNzPC9jb2RlPiBmaWxlcyB3aGVuCiAgICB5b3UgZG9uJ3QgaGF2ZSBhY2Nlc3MgdG8gdGhlIG1haW4gc2VydmVyIGNvbmZpZ3VyYXRpb24gZmlsZS4gVGhlcmUgaXMsCiAgICBmb3IgZXhhbXBsZSwgYSBjb21tb24gbWlzY29uY2VwdGlvbiB0aGF0IHVzZXIgYXV0aGVudGljYXRpb24gc2hvdWxkCiAgICBhbHdheXMgYmUgZG9uZSBpbiA8Y29kZT4uaHRhY2Nlc3M8L2NvZGU+IGZpbGVzLCBhbmQsIGluIG1vcmUgcmVjZW50IHllYXJzLAogICAgYW5vdGhlciBtaXNjb21jZXB0aW9uIHRoYXQgPGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi4vbW9kL21vZF9yZXdyaXRlLmh0bWwiPm1vZF9yZXdyaXRlPC9hPjwvY29kZT4gZGlyZWN0aXZlcwogICAgbXVzdCBnbyBpbiA8Y29kZT4uaHRhY2Nlc3M8L2NvZGU+IGZpbGVzLiBUaGlzIGlzIHNpbXBseSBub3QgdGhlCiAgICBjYXNlLiBZb3UgY2FuIHB1dCB1c2VyIGF1dGhlbnRpY2F0aW9uIGNvbmZpZ3VyYXRpb25zIGluIHRoZSBtYWluIHNlcnZlcgogICAgY29uZmlndXJhdGlvbiwgYW5kIHRoaXMgaXMsIGluIGZhY3QsIHRoZSBwcmVmZXJyZWQgd2F5IHRvIGRvCiAgICB0aGluZ3MuIExpa2V3aXNlLCA8Y29kZT5tb2RfcmV3cml0ZTwvY29kZT4gZGlyZWN0aXZlcyB3b3JrIGJldHRlciwKICAgIGluIG1hbnkgcmVzcGVjdHMsIGluIHRoZSBtYWluIHNlcnZlciBjb25maWd1cmF0aW9uLjwvcD4KCiAgICA8cD48Y29kZT4uaHRhY2Nlc3M8L2NvZGU+IGZpbGVzIHNob3VsZCBiZSB1c2VkIGluIGEgY2FzZSB3aGVyZSB0aGUKICAgIGNvbnRlbnQgcHJvdmlkZXJzIG5lZWQgdG8gbWFrZSBjb25maWd1cmF0aW9uIGNoYW5nZXMgdG8gdGhlIHNlcnZlciBvbiBhCiAgICBwZXItZGlyZWN0b3J5IGJhc2lzLCBidXQgZG8gbm90IGhhdmUgcm9vdCBhY2Nlc3Mgb24gdGhlIHNlcnZlciBzeXN0ZW0uCiAgICBJbiB0aGUgZXZlbnQgdGhhdCB0aGUgc2VydmVyIGFkbWluaXN0cmF0b3IgaXMgbm90IHdpbGxpbmcgdG8gbWFrZQogICAgZnJlcXVlbnQgY29uZmlndXJhdGlvbiBjaGFuZ2VzLCBpdCBtaWdodCBiZSBkZXNpcmFibGUgdG8gcGVybWl0CiAgICBpbmRpdmlkdWFsIHVzZXJzIHRvIG1ha2UgdGhlc2UgY2hhbmdlcyBpbiA8Y29kZT4uaHRhY2Nlc3M8L2NvZGU+IGZpbGVzCiAgICBmb3IgdGhlbXNlbHZlcy4gVGhpcyBpcyBwYXJ0aWN1bGFybHkgdHJ1ZSwgZm9yIGV4YW1wbGUsIGluIGNhc2VzIHdoZXJlCiAgICBJU1BzIGFyZSBob3N0aW5nIG11bHRpcGxlIHVzZXIgc2l0ZXMgb24gYSBzaW5nbGUgbWFjaGluZSwgYW5kIHdhbnQKICAgIHRoZWlyIHVzZXJzIHRvIGJlIGFibGUgdG8gYWx0ZXIgdGhlaXIgY29uZmlndXJhdGlvbi48L3A+CgogICAgPHA+SG93ZXZlciwgaW4gZ2VuZXJhbCwgdXNlIG9mIDxjb2RlPi5odGFjY2VzczwvY29kZT4gZmlsZXMgc2hvdWxkIGJlCiAgICBhdm9pZGVkIHdoZW4gcG9zc2libGUuIEFueSBjb25maWd1cmF0aW9uIHRoYXQgeW91IHdvdWxkIGNvbnNpZGVyCiAgICBwdXR0aW5nIGluIGEgPGNvZGU+Lmh0YWNjZXNzPC9jb2RlPiBmaWxlLCBjYW4ganVzdCBhcyBlZmZlY3RpdmVseSBiZQogICAgbWFkZSBpbiBhIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4uL21vZC9jb3JlLmh0bWwjZGlyZWN0b3J5Ij4mbHQ7RGlyZWN0b3J5Jmd0OzwvYT48L2NvZGU+IHNlY3Rpb24gaW4geW91ciBtYWluIHNlcnZlcgogICAgY29uZmlndXJhdGlvbiBmaWxlLjwvcD4KCiAgICA8cD5UaGVyZSBhcmUgdHdvIG1haW4gcmVhc29ucyB0byBhdm9pZCB0aGUgdXNlIG9mCiAgICA8Y29kZT4uaHRhY2Nlc3M8L2NvZGU+IGZpbGVzLjwvcD4KCiAgICA8cD5UaGUgZmlyc3Qgb2YgdGhlc2UgaXMgcGVyZm9ybWFuY2UuIFdoZW4gPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi4vbW9kL2NvcmUuaHRtbCNhbGxvd292ZXJyaWRlIj5BbGxvd092ZXJyaWRlPC9hPjwvY29kZT4KICAgIGlzIHNldCB0byBhbGxvdyB0aGUgdXNlIG9mIDxjb2RlPi5odGFjY2VzczwvY29kZT4gZmlsZXMsIEFwYWNoZSB3aWxsCiAgICBsb29rIGluIGV2ZXJ5IGRpcmVjdG9yeSBmb3IgPGNvZGU+Lmh0YWNjZXNzPC9jb2RlPiBmaWxlcy4gVGh1cywKICAgIHBlcm1pdHRpbmcgPGNvZGU+Lmh0YWNjZXNzPC9jb2RlPiBmaWxlcyBjYXVzZXMgYSBwZXJmb3JtYW5jZSBoaXQsCiAgICB3aGV0aGVyIG9yIG5vdCB5b3UgYWN0dWFsbHkgZXZlbiB1c2UgdGhlbSEgQWxzbywgdGhlCiAgICA8Y29kZT4uaHRhY2Nlc3M8L2NvZGU+IGZpbGUgaXMgbG9hZGVkIGV2ZXJ5IHRpbWUgYSBkb2N1bWVudCBpcwogICAgcmVxdWVzdGVkLjwvcD4KCiAgICA8cD5GdXJ0aGVyIG5vdGUgdGhhdCBBcGFjaGUgbXVzdCBsb29rIGZvciA8Y29kZT4uaHRhY2Nlc3M8L2NvZGU+IGZpbGVzCiAgICBpbiBhbGwgaGlnaGVyLWxldmVsIGRpcmVjdG9yaWVzLCBpbiBvcmRlciB0byBoYXZlIGEgZnVsbCBjb21wbGVtZW50IG9mCiAgICBkaXJlY3RpdmVzIHRoYXQgaXQgbXVzdCBhcHBseS4gKFNlZSBzZWN0aW9uIG9uIDxhIGhyZWY9IiNob3ciPmhvdwogICAgZGlyZWN0aXZlcyBhcmUgYXBwbGllZDwvYT4uKSBUaHVzLCBpZiBhIGZpbGUgaXMgcmVxdWVzdGVkIG91dCBvZiBhCiAgICBkaXJlY3RvcnkgPGNvZGU+L3d3dy9odGRvY3MvZXhhbXBsZTwvY29kZT4sIEFwYWNoZSBtdXN0IGxvb2sgZm9yIHRoZQogICAgZm9sbG93aW5nIGZpbGVzOjwvcD4KCiAgICA8ZGl2IGNsYXNzPSJleGFtcGxlIj48cD48Y29kZT4KICAgICAgLy5odGFjY2VzczxiciAvPgogICAgICAvd3d3Ly5odGFjY2VzczxiciAvPgogICAgICAvd3d3L2h0ZG9jcy8uaHRhY2Nlc3M8YnIgLz4KICAgICAgL3d3dy9odGRvY3MvZXhhbXBsZS8uaHRhY2Nlc3MKICAgIDwvY29kZT48L3A+PC9kaXY+CgogICAgPHA+QW5kIHNvLCBmb3IgZWFjaCBmaWxlIGFjY2VzcyBvdXQgb2YgdGhhdCBkaXJlY3RvcnksIHRoZXJlIGFyZSA0CiAgICBhZGRpdGlvbmFsIGZpbGUtc3lzdGVtIGFjY2Vzc2VzLCBldmVuIGlmIG5vbmUgb2YgdGhvc2UgZmlsZXMgYXJlCiAgICBwcmVzZW50LiAoTm90ZSB0aGF0IHRoaXMgd291bGQgb25seSBiZSB0aGUgY2FzZSBpZgogICAgPGNvZGU+Lmh0YWNjZXNzPC9jb2RlPiBmaWxlcyB3ZXJlIGVuYWJsZWQgZm9yIDxjb2RlPi88L2NvZGU+LCB3aGljaAogICAgaXMgbm90IHVzdWFsbHkgdGhlIGNhc2UuKTwvcD4KCiAgICA8cD5JbiB0aGUgY2FzZSBvZiA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuLi9tb2QvbW9kX3Jld3JpdGUuaHRtbCNyZXdyaXRlcnVsZSI+UmV3cml0ZVJ1bGU8L2E+PC9jb2RlPiBkaXJlY3RpdmVzLCBpbgogICAgPGNvZGU+Lmh0YWNjZXNzPC9jb2RlPiBjb250ZXh0IHRoZXNlIHJlZ3VsYXIgZXhwcmVzc2lvbnMgbXVzdCBiZQogICAgcmUtY29tcGlsZWQgd2l0aCBldmVyeSByZXF1ZXN0IHRvIHRoZSBkaXJlY3RvcnksIHdoZXJlYXMgaW4gbWFpbgogICAgc2VydmVyIGNvbmZpZ3VyYXRpb24gY29udGV4dCB0aGV5IGFyZSBjb21waWxlZCBvbmNlIGFuZCBjYWNoZWQuCiAgICBBZGRpdGlvbmFsbHksIHRoZSBydWxlcyB0aGVtc2VsdmVzIGFyZSBtb3JlIGNvbXBsaWNhdGVkLCBhcyBvbmUgbXVzdAogICAgd29yayBhcm91bmQgdGhlIHJlc3RyaWN0aW9ucyB0aGF0IGNvbWUgd2l0aCBwZXItZGlyZWN0b3J5IGNvbnRleHQKICAgIGFuZCA8Y29kZT5tb2RfcmV3cml0ZTwvY29kZT4uIENvbnN1bHQgdGhlIDxhIGhyZWY9Ii4uL3Jld3JpdGUvaW50cm8uaHRtbCNodGFjY2VzcyI+UmV3cml0ZSBHdWlkZTwvYT4gZm9yIG1vcmUKICAgIGRldGFpbCBvbiB0aGlzIHN1YmplY3QuPC9wPgoKICAgIDxwPlRoZSBzZWNvbmQgY29uc2lkZXJhdGlvbiBpcyBvbmUgb2Ygc2VjdXJpdHkuIFlvdSBhcmUgcGVybWl0dGluZwogICAgdXNlcnMgdG8gbW9kaWZ5IHNlcnZlciBjb25maWd1cmF0aW9uLCB3aGljaCBtYXkgcmVzdWx0IGluIGNoYW5nZXMgb3ZlcgogICAgd2hpY2ggeW91IGhhdmUgbm8gY29udHJvbC4gQ2FyZWZ1bGx5IGNvbnNpZGVyIHdoZXRoZXIgeW91IHdhbnQgdG8gZ2l2ZQogICAgeW91ciB1c2VycyB0aGlzIHByaXZpbGVnZS4gTm90ZSBhbHNvIHRoYXQgZ2l2aW5nIHVzZXJzIGxlc3MKICAgIHByaXZpbGVnZXMgdGhhbiB0aGV5IG5lZWQgd2lsbCBsZWFkIHRvIGFkZGl0aW9uYWwgdGVjaG5pY2FsIHN1cHBvcnQKICAgIHJlcXVlc3RzLiBNYWtlIHN1cmUgeW91IGNsZWFybHkgdGVsbCB5b3VyIHVzZXJzIHdoYXQgbGV2ZWwgb2YKICAgIHByaXZpbGVnZXMgeW91IGhhdmUgZ2l2ZW4gdGhlbS4gU3BlY2lmeWluZyBleGFjdGx5IHdoYXQgeW91IGhhdmUgc2V0CiAgICA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuLi9tb2QvY29yZS5odG1sI2FsbG93b3ZlcnJpZGUiPkFsbG93T3ZlcnJpZGU8L2E+PC9jb2RlPiB0bywgYW5kIHBvaW50aW5nIHRoZW0KICAgIHRvIHRoZSByZWxldmFudCBkb2N1bWVudGF0aW9uLCB3aWxsIHNhdmUgeW91cnNlbGYgYSBsb3Qgb2YgY29uZnVzaW9uCiAgICBsYXRlci48L3A+CgogICAgPHA+Tm90ZSB0aGF0IGl0IGlzIGNvbXBsZXRlbHkgZXF1aXZhbGVudCB0byBwdXQgYSA8Y29kZT4uaHRhY2Nlc3M8L2NvZGU+CiAgICBmaWxlIGluIGEgZGlyZWN0b3J5IDxjb2RlPi93d3cvaHRkb2NzL2V4YW1wbGU8L2NvZGU+IGNvbnRhaW5pbmcgYQogICAgZGlyZWN0aXZlLCBhbmQgdG8gcHV0IHRoYXQgc2FtZSBkaXJlY3RpdmUgaW4gYSBEaXJlY3Rvcnkgc2VjdGlvbgogICAgPGNvZGU+Jmx0O0RpcmVjdG9yeSAvd3d3L2h0ZG9jcy9leGFtcGxlJmd0OzwvY29kZT4gaW4geW91ciBtYWluIHNlcnZlcgogICAgY29uZmlndXJhdGlvbjo8L3A+CgogICAgPHA+PGNvZGU+Lmh0YWNjZXNzPC9jb2RlPiBmaWxlIGluIDxjb2RlPi93d3cvaHRkb2NzL2V4YW1wbGU8L2NvZGU+OjwvcD4KCiAgICA8ZGl2IGNsYXNzPSJleGFtcGxlIj48aDM+Q29udGVudHMgb2YgLmh0YWNjZXNzIGZpbGUgaW4KICAgIDxjb2RlPi93d3cvaHRkb2NzL2V4YW1wbGU8L2NvZGU+PC9oMz48cD48Y29kZT4KICAgICAgICBBZGRUeXBlIHRleHQvZXhhbXBsZSAuZXhtCiAgICA8L2NvZGU+PC9wPjwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImV4YW1wbGUiPjxoMz5TZWN0aW9uIGZyb20geW91ciA8Y29kZT5odHRwZC5jb25mPC9jb2RlPgogICAgZmlsZTwvaDM+PHA+PGNvZGU+CiAgICAgICZsdDtEaXJlY3RvcnkgL3d3dy9odGRvY3MvZXhhbXBsZSZndDs8YnIgLz4KICAgICAgPHNwYW4gY2xhc3M9ImluZGVudCI+CiAgICAgICAgQWRkVHlwZSB0ZXh0L2V4YW1wbGUgLmV4bTxiciAvPgogICAgICA8L3NwYW4+CiAgICAgICZsdDsvRGlyZWN0b3J5Jmd0OwogICAgPC9jb2RlPjwvcD48L2Rpdj4KCiAgICA8cD5Ib3dldmVyLCBwdXR0aW5nIHRoaXMgY29uZmlndXJhdGlvbiBpbiB5b3VyIHNlcnZlciBjb25maWd1cmF0aW9uCiAgICBmaWxlIHdpbGwgcmVzdWx0IGluIGxlc3Mgb2YgYSBwZXJmb3JtYW5jZSBoaXQsIGFzIHRoZSBjb25maWd1cmF0aW9uIGlzCiAgICBsb2FkZWQgb25jZSB3aGVuIEFwYWNoZSBzdGFydHMsIHJhdGhlciB0aGFuIGV2ZXJ5IHRpbWUgYSBmaWxlIGlzCiAgICByZXF1ZXN0ZWQuPC9wPgoKICAgIDxwPlRoZSB1c2Ugb2YgPGNvZGU+Lmh0YWNjZXNzPC9jb2RlPiBmaWxlcyBjYW4gYmUgZGlzYWJsZWQgY29tcGxldGVseQogICAgYnkgc2V0dGluZyB0aGUgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi4vbW9kL2NvcmUuaHRtbCNhbGxvd292ZXJyaWRlIj5BbGxvd092ZXJyaWRlPC9hPjwvY29kZT4KICAgIGRpcmVjdGl2ZSB0byA8Y29kZT5ub25lPC9jb2RlPjo8L3A+CgogICAgPGRpdiBjbGFzcz0iZXhhbXBsZSI+PHA+PGNvZGU+CiAgICAgIEFsbG93T3ZlcnJpZGUgTm9uZQogICAgPC9jb2RlPjwvcD48L2Rpdj4KPC9kaXY+PGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9InNlY3Rpb24iPgo8aDI+PGEgbmFtZT0iaG93IiBpZD0iaG93Ij5Ib3cgZGlyZWN0aXZlcyBhcmUgYXBwbGllZDwvYT48L2gyPgoKICAgIDxwPlRoZSBjb25maWd1cmF0aW9uIGRpcmVjdGl2ZXMgZm91bmQgaW4gYSA8Y29kZT4uaHRhY2Nlc3M8L2NvZGU+IGZpbGUKICAgIGFyZSBhcHBsaWVkIHRvIHRoZSBkaXJlY3RvcnkgaW4gd2hpY2ggdGhlIDxjb2RlPi5odGFjY2VzczwvY29kZT4gZmlsZQogICAgaXMgZm91bmQsIGFuZCB0byBhbGwgc3ViZGlyZWN0b3JpZXMgdGhlcmVvZi4gSG93ZXZlciwgaXQgaXMgaW1wb3J0YW50CiAgICB0byBhbHNvIHJlbWVtYmVyIHRoYXQgdGhlcmUgbWF5IGhhdmUgYmVlbiA8Y29kZT4uaHRhY2Nlc3M8L2NvZGU+IGZpbGVzCiAgICBpbiBkaXJlY3RvcmllcyBoaWdoZXIgdXAuIERpcmVjdGl2ZXMgYXJlIGFwcGxpZWQgaW4gdGhlIG9yZGVyIHRoYXQgdGhleQogICAgYXJlIGZvdW5kLiBUaGVyZWZvcmUsIGEgPGNvZGU+Lmh0YWNjZXNzPC9jb2RlPiBmaWxlIGluIGEgcGFydGljdWxhcgogICAgZGlyZWN0b3J5IG1heSBvdmVycmlkZSBkaXJlY3RpdmVzIGZvdW5kIGluIDxjb2RlPi5odGFjY2VzczwvY29kZT4gZmlsZXMKICAgIGZvdW5kIGhpZ2hlciB1cCBpbiB0aGUgZGlyZWN0b3J5IHRyZWUuIEFuZCB0aG9zZSwgaW4gdHVybiwgbWF5IGhhdmUKICAgIG92ZXJyaWRkZW4gZGlyZWN0aXZlcyBmb3VuZCB5ZXQgaGlnaGVyIHVwLCBvciBpbiB0aGUgbWFpbiBzZXJ2ZXIKICAgIGNvbmZpZ3VyYXRpb24gZmlsZSBpdHNlbGYuPC9wPgoKICAgIDxwPkV4YW1wbGU6PC9wPgoKICAgIDxwPkluIHRoZSBkaXJlY3RvcnkgPGNvZGU+L3d3dy9odGRvY3MvZXhhbXBsZTE8L2NvZGU+IHdlIGhhdmUgYQogICAgPGNvZGU+Lmh0YWNjZXNzPC9jb2RlPiBmaWxlIGNvbnRhaW5pbmcgdGhlIGZvbGxvd2luZzo8L3A+CgogICAgPGRpdiBjbGFzcz0iZXhhbXBsZSI+PHA+PGNvZGU+CiAgICAgICBPcHRpb25zICtFeGVjQ0dJCiAgICA8L2NvZGU+PC9wPjwvZGl2PgoKICAgIDxwPihOb3RlOiB5b3UgbXVzdCBoYXZlICI8Y29kZT5BbGxvd092ZXJyaWRlIE9wdGlvbnM8L2NvZGU+IiBpbiBlZmZlY3QKICAgIHRvIHBlcm1pdCB0aGUgdXNlIG9mIHRoZSAiPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi4vbW9kL2NvcmUuaHRtbCNvcHRpb25zIj5PcHRpb25zPC9hPjwvY29kZT4iIGRpcmVjdGl2ZSBpbgogICAgPGNvZGU+Lmh0YWNjZXNzPC9jb2RlPiBmaWxlcy4pPC9wPgoKICAgIDxwPkluIHRoZSBkaXJlY3RvcnkgPGNvZGU+L3d3dy9odGRvY3MvZXhhbXBsZTEvZXhhbXBsZTI8L2NvZGU+IHdlIGhhdmUKICAgIGEgPGNvZGU+Lmh0YWNjZXNzPC9jb2RlPiBmaWxlIGNvbnRhaW5pbmc6PC9wPgoKICAgIDxkaXYgY2xhc3M9ImV4YW1wbGUiPjxwPjxjb2RlPgogICAgICAgT3B0aW9ucyBJbmNsdWRlcwogICAgPC9jb2RlPjwvcD48L2Rpdj4KCiAgICA8cD5CZWNhdXNlIG9mIHRoaXMgc2Vjb25kIDxjb2RlPi5odGFjY2VzczwvY29kZT4gZmlsZSwgaW4gdGhlIGRpcmVjdG9yeQogICAgPGNvZGU+L3d3dy9odGRvY3MvZXhhbXBsZTEvZXhhbXBsZTI8L2NvZGU+LCBDR0kgZXhlY3V0aW9uIGlzIG5vdAogICAgcGVybWl0dGVkLCBhcyBvbmx5IDxjb2RlPk9wdGlvbnMgSW5jbHVkZXM8L2NvZGU+IGlzIGluIGVmZmVjdCwgd2hpY2gKICAgIGNvbXBsZXRlbHkgb3ZlcnJpZGVzIGFueSBlYXJsaWVyIHNldHRpbmcgdGhhdCBtYXkgaGF2ZSBiZWVuIGluCiAgICBwbGFjZS48L3A+CgogICAgPGgzPjxhIG5hbWU9Im1lcmdlIiBpZD0ibWVyZ2UiPk1lcmdpbmcgb2YgLmh0YWNjZXNzIHdpdGggdGhlIG1haW4KICAgIGNvbmZpZ3VyYXRpb24gZmlsZXM8L2E+PC9oMz4KCiAgICA8cD5BcyBkaXNjdXNzZWQgaW4gdGhlIGRvY3VtZW50YXRpb24gb24gPGEgaHJlZj0iLi4vc2VjdGlvbnMuaHRtbCI+Q29uZmlndXJhdGlvbiBTZWN0aW9uczwvYT4sCiAgICA8Y29kZT4uaHRhY2Nlc3M8L2NvZGU+IGZpbGVzIGNhbiBvdmVycmlkZSB0aGUgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi4vbW9kL2NvcmUuaHRtbCNkaXJlY3RvcnkiPiZsdDtEaXJlY3RvcnkmZ3Q7PC9hPjwvY29kZT4gc2VjdGlvbnMgZm9yCiAgICB0aGUgY29ycmVzcG9uZGluZyBkaXJlY3RvcnksIGJ1dCB3aWxsIGJlIG92ZXJyaWRlbiBieSBvdGhlciB0eXBlcwogICAgb2YgY29uZmlndXJhdGlvbiBzZWN0aW9ucyBmcm9tIHRoZSBtYWluIGNvbmZpZ3VyYXRpb24gZmlsZXMuIFRoaXMKICAgIGZhY3QgY2FuIGJlIHVzZWQgdG8gZW5mb3JjZSBjZXJ0YWluIGNvbmZpZ3VyYXRpb25zLCBldmVuIGluIHRoZQogICAgcHJlc2VuY2Ugb2YgYSBsaWJlcmFsIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4uL21vZC9jb3JlLmh0bWwjYWxsb3dvdmVycmlkZSI+QWxsb3dPdmVycmlkZTwvYT48L2NvZGU+IHNldHRpbmcuIEZvciBleGFtcGxlLCB0bwogICAgcHJldmVudCBzY3JpcHQgZXhlY3V0aW9uIHdoaWxlIGFsbG93aW5nIGFueXRoaW5nIGVsc2UgdG8gYmUgc2V0IGluCiAgICA8Y29kZT4uaHRhY2Nlc3M8L2NvZGU+IHlvdSBjYW4gdXNlOjwvcD4KCiAgICA8ZGl2IGNsYXNzPSJleGFtcGxlIj48cD48Y29kZT4KJmx0O0RpcmVjdG9yeSAvd3d3L2h0ZG9jcyZndDs8YnIgLz4KPHNwYW4gY2xhc3M9ImluZGVudCI+CkFsbG93b3ZlcnJpZGUgQWxsPGJyIC8+Cjwvc3Bhbj4KJmx0Oy9EaXJlY3RvcnkmZ3Q7PGJyIC8+CjxiciAvPgombHQ7TG9jYXRpb24gLyZndDs8YnIgLz4KPHNwYW4gY2xhc3M9ImluZGVudCI+Ck9wdGlvbnMgK0luY2x1ZGVzTm9FeGVjIC1FeGVjQ0dJPGJyIC8+Cjwvc3Bhbj4KJmx0Oy9Mb2NhdGlvbiZndDsKICAgIDwvY29kZT48L3A+PC9kaXY+CgogICAgPGRpdiBjbGFzcz0ibm90ZSI+VGhpcyBleGFtcGxlIGFzc3VtZXMgdGhhdCB5b3VyIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4uL21vZC9jb3JlLmh0bWwjZG9jdW1lbnRyb290Ij5Eb2N1bWVudFJvb3Q8L2E+PC9jb2RlPiBpcyA8Y29kZT4vd3d3L2h0ZG9jczwvY29kZT4uPC9kaXY+CgoKPC9kaXY+PGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9InNlY3Rpb24iPgo8aDI+PGEgbmFtZT0iYXV0aCIgaWQ9ImF1dGgiPkF1dGhlbnRpY2F0aW9uIGV4YW1wbGU8L2E+PC9oMj4KCiAgICA8cD5JZiB5b3UganVtcGVkIGRpcmVjdGx5IHRvIHRoaXMgcGFydCBvZiB0aGUgZG9jdW1lbnQgdG8gZmluZCBvdXQgaG93CiAgICB0byBkbyBhdXRoZW50aWNhdGlvbiwgaXQgaXMgaW1wb3J0YW50IHRvIG5vdGUgb25lIHRoaW5nLiBUaGVyZSBpcyBhCiAgICBjb21tb24gbWlzY29uY2VwdGlvbiB0aGF0IHlvdSBhcmUgcmVxdWlyZWQgdG8gdXNlCiAgICA8Y29kZT4uaHRhY2Nlc3M8L2NvZGU+IGZpbGVzIGluIG9yZGVyIHRvIGltcGxlbWVudCBwYXNzd29yZAogICAgYXV0aGVudGljYXRpb24uIFRoaXMgaXMgbm90IHRoZSBjYXNlLiBQdXR0aW5nIGF1dGhlbnRpY2F0aW9uIGRpcmVjdGl2ZXMKICAgIGluIGEgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi4vbW9kL2NvcmUuaHRtbCNkaXJlY3RvcnkiPiZsdDtEaXJlY3RvcnkmZ3Q7PC9hPjwvY29kZT4KICAgIHNlY3Rpb24sIGluIHlvdXIgbWFpbiBzZXJ2ZXIgY29uZmlndXJhdGlvbiBmaWxlLCBpcyB0aGUgcHJlZmVycmVkIHdheQogICAgdG8gaW1wbGVtZW50IHRoaXMsIGFuZCA8Y29kZT4uaHRhY2Nlc3M8L2NvZGU+IGZpbGVzIHNob3VsZCBiZSB1c2VkIG9ubHkKICAgIGlmIHlvdSBkb24ndCBoYXZlIGFjY2VzcyB0byB0aGUgbWFpbiBzZXJ2ZXIgY29uZmlndXJhdGlvbiBmaWxlLiBTZWUgPGEgaHJlZj0iI3doZW4iPmFib3ZlPC9hPiBmb3IgYSBkaXNjdXNzaW9uIG9mIHdoZW4geW91IHNob3VsZCBhbmQgc2hvdWxkCiAgICBub3QgdXNlIDxjb2RlPi5odGFjY2VzczwvY29kZT4gZmlsZXMuPC9wPgoKICAgIDxwPkhhdmluZyBzYWlkIHRoYXQsIGlmIHlvdSBzdGlsbCB0aGluayB5b3UgbmVlZCB0byB1c2UgYQogICAgPGNvZGU+Lmh0YWNjZXNzPC9jb2RlPiBmaWxlLCB5b3UgbWF5IGZpbmQgdGhhdCBhIGNvbmZpZ3VyYXRpb24gc3VjaCBhcwogICAgd2hhdCBmb2xsb3dzIG1heSB3b3JrIGZvciB5b3UuPC9wPgoKICAgIDxwPjxjb2RlPi5odGFjY2VzczwvY29kZT4gZmlsZSBjb250ZW50czo8L3A+CgogICAgPGRpdiBjbGFzcz0iZXhhbXBsZSI+PHA+PGNvZGU+CiAgICAgIEF1dGhUeXBlIEJhc2ljPGJyIC8+CiAgICAgIEF1dGhOYW1lICJQYXNzd29yZCBSZXF1aXJlZCI8YnIgLz4KICAgICAgQXV0aFVzZXJGaWxlIC93d3cvcGFzc3dvcmRzL3Bhc3N3b3JkLmZpbGU8YnIgLz4KICAgICAgQXV0aEdyb3VwRmlsZSAvd3d3L3Bhc3N3b3Jkcy9ncm91cC5maWxlPGJyIC8+CiAgICAgIFJlcXVpcmUgR3JvdXAgYWRtaW5zCiAgICA8L2NvZGU+PC9wPjwvZGl2PgoKICAgIDxwPk5vdGUgdGhhdCA8Y29kZT5BbGxvd092ZXJyaWRlIEF1dGhDb25maWc8L2NvZGU+IG11c3QgYmUgaW4gZWZmZWN0CiAgICBmb3IgdGhlc2UgZGlyZWN0aXZlcyB0byBoYXZlIGFueSBlZmZlY3QuPC9wPgoKICAgIDxwPlBsZWFzZSBzZWUgdGhlIDxhIGhyZWY9ImF1dGguaHRtbCI+YXV0aGVudGljYXRpb24gdHV0b3JpYWw8L2E+IGZvciBhCiAgICBtb3JlIGNvbXBsZXRlIGRpc2N1c3Npb24gb2YgYXV0aGVudGljYXRpb24gYW5kIGF1dGhvcml6YXRpb24uPC9wPgo8L2Rpdj48ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0ic2VjdGlvbiI+CjxoMj48YSBuYW1lPSJzc2kiIGlkPSJzc2kiPlNlcnZlciBTaWRlIEluY2x1ZGVzIGV4YW1wbGU8L2E+PC9oMj4KCiAgICA8cD5Bbm90aGVyIGNvbW1vbiB1c2Ugb2YgPGNvZGU+Lmh0YWNjZXNzPC9jb2RlPiBmaWxlcyBpcyB0byBlbmFibGUKICAgIFNlcnZlciBTaWRlIEluY2x1ZGVzIGZvciBhIHBhcnRpY3VsYXIgZGlyZWN0b3J5LiBUaGlzIG1heSBiZSBkb25lIHdpdGgKICAgIHRoZSBmb2xsb3dpbmcgY29uZmlndXJhdGlvbiBkaXJlY3RpdmVzLCBwbGFjZWQgaW4gYQogICAgPGNvZGU+Lmh0YWNjZXNzPC9jb2RlPiBmaWxlIGluIHRoZSBkZXNpcmVkIGRpcmVjdG9yeTo8L3A+CgogICAgPGRpdiBjbGFzcz0iZXhhbXBsZSI+PHA+PGNvZGU+CiAgICAgICBPcHRpb25zICtJbmNsdWRlczxiciAvPgogICAgICAgQWRkVHlwZSB0ZXh0L2h0bWwgc2h0bWw8YnIgLz4KICAgICAgIEFkZEhhbmRsZXIgc2VydmVyLXBhcnNlZCBzaHRtbAogICAgPC9jb2RlPjwvcD48L2Rpdj4KCiAgICA8cD5Ob3RlIHRoYXQgPGNvZGU+QWxsb3dPdmVycmlkZSBPcHRpb25zPC9jb2RlPiBhbmQgPGNvZGU+QWxsb3dPdmVycmlkZQogICAgRmlsZUluZm88L2NvZGU+IG11c3QgYm90aCBiZSBpbiBlZmZlY3QgZm9yIHRoZXNlIGRpcmVjdGl2ZXMgdG8gaGF2ZSBhbnkKICAgIGVmZmVjdC48L3A+CgogICAgPHA+UGxlYXNlIHNlZSB0aGUgPGEgaHJlZj0ic3NpLmh0bWwiPlNTSSB0dXRvcmlhbDwvYT4gZm9yIGEgbW9yZQogICAgY29tcGxldGUgZGlzY3Vzc2lvbiBvZiBzZXJ2ZXItc2lkZSBpbmNsdWRlcy48L3A+CjwvZGl2PjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KPGgyPjxhIG5hbWU9ImNnaSIgaWQ9ImNnaSI+Q0dJIGV4YW1wbGU8L2E+PC9oMj4KCiAgICA8cD5GaW5hbGx5LCB5b3UgbWF5IHdpc2ggdG8gdXNlIGEgPGNvZGU+Lmh0YWNjZXNzPC9jb2RlPiBmaWxlIHRvIHBlcm1pdAogICAgdGhlIGV4ZWN1dGlvbiBvZiBDR0kgcHJvZ3JhbXMgaW4gYSBwYXJ0aWN1bGFyIGRpcmVjdG9yeS4gVGhpcyBtYXkgYmUKICAgIGltcGxlbWVudGVkIHdpdGggdGhlIGZvbGxvd2luZyBjb25maWd1cmF0aW9uOjwvcD4KCiAgICA8ZGl2IGNsYXNzPSJleGFtcGxlIj48cD48Y29kZT4KICAgICAgIE9wdGlvbnMgK0V4ZWNDR0k8YnIgLz4KICAgICAgIEFkZEhhbmRsZXIgY2dpLXNjcmlwdCBjZ2kgcGwKICAgIDwvY29kZT48L3A+PC9kaXY+CgogICAgPHA+QWx0ZXJuYXRlbHksIGlmIHlvdSB3aXNoIHRvIGhhdmUgYWxsIGZpbGVzIGluIHRoZSBnaXZlbiBkaXJlY3RvcnkgYmUKICAgIGNvbnNpZGVyZWQgdG8gYmUgQ0dJIHByb2dyYW1zLCB0aGlzIG1heSBiZSBkb25lIHdpdGggdGhlIGZvbGxvd2luZwogICAgY29uZmlndXJhdGlvbjo8L3A+CgogICAgPGRpdiBjbGFzcz0iZXhhbXBsZSI+PHA+PGNvZGU+CiAgICAgICBPcHRpb25zICtFeGVjQ0dJPGJyIC8+CiAgICAgICBTZXRIYW5kbGVyIGNnaS1zY3JpcHQKICAgIDwvY29kZT48L3A+PC9kaXY+CgogICAgPHA+Tm90ZSB0aGF0IDxjb2RlPkFsbG93T3ZlcnJpZGUgT3B0aW9uczwvY29kZT4gYW5kIDxjb2RlPkFsbG93T3ZlcnJpZGUKICAgIEZpbGVJbmZvPC9jb2RlPiBtdXN0IGJvdGggYmUgaW4gZWZmZWN0IGZvciB0aGVzZSBkaXJlY3RpdmVzIHRvIGhhdmUgYW55CiAgICBlZmZlY3QuPC9wPgoKICAgIDxwPlBsZWFzZSBzZWUgdGhlIDxhIGhyZWY9ImNnaS5odG1sIj5DR0kgdHV0b3JpYWw8L2E+IGZvciBhIG1vcmUKICAgIGNvbXBsZXRlIGRpc2N1c3Npb24gb2YgQ0dJIHByb2dyYW1taW5nIGFuZCBjb25maWd1cmF0aW9uLjwvcD4KCjwvZGl2PjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KPGgyPjxhIG5hbWU9InRyb3VibGVzaG9vdCIgaWQ9InRyb3VibGVzaG9vdCI+VHJvdWJsZXNob290aW5nPC9hPjwvaDI+CgogICAgPHA+V2hlbiB5b3UgcHV0IGNvbmZpZ3VyYXRpb24gZGlyZWN0aXZlcyBpbiBhIDxjb2RlPi5odGFjY2VzczwvY29kZT4KICAgIGZpbGUsIGFuZCB5b3UgZG9uJ3QgZ2V0IHRoZSBkZXNpcmVkIGVmZmVjdCwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mCiAgICB0aGluZ3MgdGhhdCBtYXkgYmUgZ29pbmcgd3JvbmcuPC9wPgoKICAgIDxwPk1vc3QgY29tbW9ubHksIHRoZSBwcm9ibGVtIGlzIHRoYXQgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi4vbW9kL2NvcmUuaHRtbCNhbGxvd292ZXJyaWRlIj5BbGxvd092ZXJyaWRlPC9hPjwvY29kZT4gaXMgbm90CiAgICBzZXQgc3VjaCB0aGF0IHlvdXIgY29uZmlndXJhdGlvbiBkaXJlY3RpdmVzIGFyZSBiZWluZyBob25vcmVkLiBNYWtlCiAgICBzdXJlIHRoYXQgeW91IGRvbid0IGhhdmUgYSA8Y29kZT5BbGxvd092ZXJyaWRlIE5vbmU8L2NvZGU+IGluIGVmZmVjdAogICAgZm9yIHRoZSBmaWxlIHNjb3BlIGluIHF1ZXN0aW9uLiBBIGdvb2QgdGVzdCBmb3IgdGhpcyBpcyB0byBwdXQgZ2FyYmFnZQogICAgaW4geW91ciA8Y29kZT4uaHRhY2Nlc3M8L2NvZGU+IGZpbGUgYW5kIHJlbG9hZCB0aGUgcGFnZS4gSWYgYSBzZXJ2ZXIgZXJyb3IgaXMKICAgIG5vdCBnZW5lcmF0ZWQsIHRoZW4geW91IGFsbW9zdCBjZXJ0YWlubHkgaGF2ZSA8Y29kZT5BbGxvd092ZXJyaWRlCiAgICBOb25lPC9jb2RlPiBpbiBlZmZlY3QuPC9wPgoKICAgIDxwPklmLCBvbiB0aGUgb3RoZXIgaGFuZCwgeW91IGFyZSBnZXR0aW5nIHNlcnZlciBlcnJvcnMgd2hlbiB0cnlpbmcgdG8KICAgIGFjY2VzcyBkb2N1bWVudHMsIGNoZWNrIHlvdXIgQXBhY2hlIGVycm9yIGxvZy4gSXQgd2lsbCBsaWtlbHkgdGVsbCB5b3UKICAgIHRoYXQgdGhlIGRpcmVjdGl2ZSB1c2VkIGluIHlvdXIgPGNvZGU+Lmh0YWNjZXNzPC9jb2RlPiBmaWxlIGlzIG5vdAogICAgcGVybWl0dGVkLjwvcD4KCiAgICA8ZGl2IGNsYXNzPSJleGFtcGxlIj48cD48Y29kZT4KICAgIFtGcmkgU2VwIDE3IDE4OjQzOjE2IDIwMTBdIFthbGVydF0gW2NsaWVudCAxOTIuMTY4LjIwMC41MV0gL3Zhci93d3cvaHRtbC8uaHRhY2Nlc3M6IERpcmVjdG9yeUluZGV4IG5vdCBhbGxvd2VkIGhlcmUKICAgIDwvY29kZT48L3A+PC9kaXY+CgogICAgPHA+VGhpcyB3aWxsIGluZGljYXRlIGVpdGhlciB0aGF0IHlvdSd2ZSB1c2VkIGEgZGlyZWN0aXZlIHRoYXQgaXMKICAgIG5ldmVyIHBlcm1pdHRlZCBpbiA8Y29kZT4uaHRhY2Nlc3M8L2NvZGU+IGZpbGVzLCBvciB0aGF0IHlvdSBzaW1wbHkKICAgIGRvbid0IGhhdmUgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi4vbW9kL2NvcmUuaHRtbCNhbGxvd292ZXJyaWRlIj5BbGxvd092ZXJyaWRlPC9hPjwvY29kZT4gc2V0IHRvCiAgICBhIGxldmVsIHN1ZmZpY2llbnQgZm9yIHRoZSBkaXJlY3RpdmUgeW91J3ZlIHVzZWQuIENvbnN1bHQgdGhlCiAgICBkb2N1bWVudGF0aW9uIGZvciB0aGF0IHBhcnRpY3VsYXIgZGlyZWN0aXZlIHRvIGRldGVybWluZSB3aGljaCBpcwogICAgdGhlIGNhc2UuPC9wPgoKICAgIDxwPkFsdGVybmF0ZWx5LCBpdCBtYXkgdGVsbCB5b3UgdGhhdCB5b3UgaGFkIGEgc3ludGF4IGVycm9yIGluIHlvdXIKICAgIHVzYWdlIG9mIHRoZSBkaXJlY3RpdmUgaXRzZWxmLjwvcD4KCiAgICA8ZGl2IGNsYXNzPSJleGFtcGxlIj48cD48Y29kZT4KICAgIFtTYXQgQXVnIDA5IDE2OjIyOjM0IDIwMDhdIFthbGVydF0gW2NsaWVudCAxOTIuMTY4LjIwMC41MV0gL3Zhci93d3cvaHRtbC8uaHRhY2Nlc3M6IFJld3JpdGVDb25kOiBiYWQgZmxhZyBkZWxpbWl0ZXJzCiAgICA8L2NvZGU+PC9wPjwvZGl2PgoKICAgIDxwPkluIHRoaXMgY2FzZSwgdGhlIGVycm9yIG1lc3NhZ2Ugc2hvdWxkIGJlIHNwZWNpZmljIHRvIHRoZQogICAgcGFydGljdWxhciBzeW50YXggZXJyb3IgdGhhdCB5b3UgaGF2ZSBjb21taXR0ZWQuPC9wPgoKPC9kaXY+PC9kaXY+CjxkaXYgY2xhc3M9ImJvdHRvbWxhbmciPgo8cD48c3Bhbj5BdmFpbGFibGUgTGFuZ3VhZ2VzOiA8L3NwYW4+PGEgaHJlZj0iLi4vZW4vaG93dG8vaHRhY2Nlc3MuaHRtbCIgdGl0bGU9IkVuZ2xpc2giPiZuYnNwO2VuJm5ic3A7PC9hPiB8CjxhIGhyZWY9Ii4uL2ZyL2hvd3RvL2h0YWNjZXNzLmh0bWwiIGhyZWZsYW5nPSJmciIgcmVsPSJhbHRlcm5hdGUiIHRpdGxlPSJGcmFu52FpcyI+Jm5ic3A7ZnImbmJzcDs8L2E+IHwKPGEgaHJlZj0iLi4vamEvaG93dG8vaHRhY2Nlc3MuaHRtbCIgaHJlZmxhbmc9ImphIiByZWw9ImFsdGVybmF0ZSIgdGl0bGU9IkphcGFuZXNlIj4mbmJzcDtqYSZuYnNwOzwvYT4gfAo8YSBocmVmPSIuLi9rby9ob3d0by9odGFjY2Vzcy5odG1sIiBocmVmbGFuZz0ia28iIHJlbD0iYWx0ZXJuYXRlIiB0aXRsZT0iS29yZWFuIj4mbmJzcDtrbyZuYnNwOzwvYT4gfAo8YSBocmVmPSIuLi9wdC1ici9ob3d0by9odGFjY2Vzcy5odG1sIiBocmVmbGFuZz0icHQtYnIiIHJlbD0iYWx0ZXJuYXRlIiB0aXRsZT0iUG9ydHVndepzIChCcmFzaWwpIj4mbmJzcDtwdC1iciZuYnNwOzwvYT48L3A+CjwvZGl2PjxkaXYgaWQ9ImZvb3RlciI+CjxwIGNsYXNzPSJhcGFjaGUiPkNvcHlyaWdodCAyMDExIFRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbi48YnIgLz5MaWNlbnNlZCB1bmRlciB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wIj5BcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjA8L2E+LjwvcD4KPHAgY2xhc3M9Im1lbnUiPjxhIGhyZWY9Ii4uL21vZC8iPk1vZHVsZXM8L2E+IHwgPGEgaHJlZj0iLi4vbW9kL2RpcmVjdGl2ZXMuaHRtbCI+RGlyZWN0aXZlczwvYT4gfCA8YSBocmVmPSIuLi9mYXEvIj5GQVE8L2E+IHwgPGEgaHJlZj0iLi4vZ2xvc3NhcnkuaHRtbCI+R2xvc3Nhcnk8L2E+IHwgPGEgaHJlZj0iLi4vc2l0ZW1hcC5odG1sIj5TaXRlbWFwPC9hPjwvcD48L2Rpdj4KPC9ib2R5PjwvaHRtbD4=