PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/Pgo8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBsYW5nPSJlbiIgeG1sOmxhbmc9ImVuIj48aGVhZD48IS0tCiAgICAgICAgWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgKICAgICAgICAgICAgICBUaGlzIGZpbGUgaXMgZ2VuZXJhdGVkIGZyb20geG1sIHNvdXJjZTogRE8gTk9UIEVESVQKICAgICAgICBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWAogICAgICAtLT4KPHRpdGxlPm1vZF9leHBpcmVzIC0gQXBhY2hlIEhUVFAgU2VydmVyPC90aXRsZT4KPGxpbmsgaHJlZj0iLi4vc3R5bGUvY3NzL21hbnVhbC5jc3MiIHJlbD0ic3R5bGVzaGVldCIgbWVkaWE9ImFsbCIgdHlwZT0idGV4dC9jc3MiIHRpdGxlPSJNYWluIHN0eWxlc2hlZXQiIC8+CjxsaW5rIGhyZWY9Ii4uL3N0eWxlL2Nzcy9tYW51YWwtbG9vc2UtMTAwcGMuY3NzIiByZWw9ImFsdGVybmF0ZSBzdHlsZXNoZWV0IiBtZWRpYT0iYWxsIiB0eXBlPSJ0ZXh0L2NzcyIgdGl0bGU9Ik5vIFNpZGViYXIgLSBEZWZhdWx0IGZvbnQgc2l6ZSIgLz4KPGxpbmsgaHJlZj0iLi4vc3R5bGUvY3NzL21hbnVhbC1wcmludC5jc3MiIHJlbD0ic3R5bGVzaGVldCIgbWVkaWE9InByaW50IiB0eXBlPSJ0ZXh0L2NzcyIgLz4KPGxpbmsgaHJlZj0iLi4vaW1hZ2VzL2Zhdmljb24uaWNvIiByZWw9InNob3J0Y3V0IGljb24iIC8+PC9oZWFkPgo8Ym9keT4KPGRpdiBpZD0icGFnZS1oZWFkZXIiPgo8cCBjbGFzcz0ibWVudSI+PGEgaHJlZj0iLi4vbW9kLyI+TW9kdWxlczwvYT4gfCA8YSBocmVmPSIuLi9tb2QvZGlyZWN0aXZlcy5odG1sIj5EaXJlY3RpdmVzPC9hPiB8IDxhIGhyZWY9Ii4uL2ZhcS8iPkZBUTwvYT4gfCA8YSBocmVmPSIuLi9nbG9zc2FyeS5odG1sIj5HbG9zc2FyeTwvYT4gfCA8YSBocmVmPSIuLi9zaXRlbWFwLmh0bWwiPlNpdGVtYXA8L2E+PC9wPgo8cCBjbGFzcz0iYXBhY2hlIj5BcGFjaGUgSFRUUCBTZXJ2ZXIgVmVyc2lvbiAyLjM8L3A+CjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2ZlYXRoZXIuZ2lmIiAvPjwvZGl2Pgo8ZGl2IGNsYXNzPSJ1cCI+PGEgaHJlZj0iLi8iPjxpbWcgdGl0bGU9IiZsdDstIiBhbHQ9IiZsdDstIiBzcmM9Ii4uL2ltYWdlcy9sZWZ0LmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgaWQ9InBhdGgiPgo8YSBocmVmPSJodHRwOi8vd3d3LmFwYWNoZS5vcmcvIj5BcGFjaGU8L2E+ICZndDsgPGEgaHJlZj0iaHR0cDovL2h0dHBkLmFwYWNoZS5vcmcvIj5IVFRQIFNlcnZlcjwvYT4gJmd0OyA8YSBocmVmPSJodHRwOi8vaHR0cGQuYXBhY2hlLm9yZy9kb2NzLXByb2plY3QvIj5Eb2N1bWVudGF0aW9uPC9hPiAmZ3Q7IDxhIGhyZWY9Ii4uLyI+VmVyc2lvbiAyLjM8L2E+ICZndDsgPGEgaHJlZj0iLi8iPk1vZHVsZXM8L2E+PC9kaXY+CjxkaXYgaWQ9InBhZ2UtY29udGVudCI+CjxkaXYgaWQ9InByZWFtYmxlIj48aDE+QXBhY2hlIE1vZHVsZSBtb2RfZXhwaXJlczwvaDE+CjxkaXYgY2xhc3M9InRvcGxhbmciPgo8cD48c3Bhbj5BdmFpbGFibGUgTGFuZ3VhZ2VzOiA8L3NwYW4+PGEgaHJlZj0iLi4vZW4vbW9kL21vZF9leHBpcmVzLmh0bWwiIHRpdGxlPSJFbmdsaXNoIj4mbmJzcDtlbiZuYnNwOzwvYT4gfAo8YSBocmVmPSIuLi9qYS9tb2QvbW9kX2V4cGlyZXMuaHRtbCIgaHJlZmxhbmc9ImphIiByZWw9ImFsdGVybmF0ZSIgdGl0bGU9IkphcGFuZXNlIj4mbmJzcDtqYSZuYnNwOzwvYT4gfAo8YSBocmVmPSIuLi9rby9tb2QvbW9kX2V4cGlyZXMuaHRtbCIgaHJlZmxhbmc9ImtvIiByZWw9ImFsdGVybmF0ZSIgdGl0bGU9IktvcmVhbiI+Jm5ic3A7a28mbmJzcDs8L2E+PC9wPgo8L2Rpdj4KPHRhYmxlIGNsYXNzPSJtb2R1bGUiPjx0cj48dGg+PGEgaHJlZj0ibW9kdWxlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPkdlbmVyYXRpb24gb2YgPGNvZGU+RXhwaXJlczwvY29kZT4gYW5kCjxjb2RlPkNhY2hlLUNvbnRyb2w8L2NvZGU+IEhUVFAgaGVhZGVycyBhY2NvcmRpbmcgdG8gdXNlci1zcGVjaWZpZWQKY3JpdGVyaWE8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0ibW9kdWxlLWRpY3QuaHRtbCNTdGF0dXMiPlN0YXR1czo8L2E+PC90aD48dGQ+RXh0ZW5zaW9uPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9Im1vZHVsZS1kaWN0Lmh0bWwjTW9kdWxlSWRlbnRpZmllciI+TW9kdWxloElkZW50aWZpZXI6PC9hPjwvdGg+PHRkPmV4cGlyZXNfbW9kdWxlPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9Im1vZHVsZS1kaWN0Lmh0bWwjU291cmNlRmlsZSI+U291cmNloEZpbGU6PC9hPjwvdGg+PHRkPm1vZF9leHBpcmVzLmM8L3RkPjwvdHI+PC90YWJsZT4KPGgzPlN1bW1hcnk8L2gzPgoKICAgIDxwPlRoaXMgbW9kdWxlIGNvbnRyb2xzIHRoZSBzZXR0aW5nIG9mIHRoZSA8Y29kZT5FeHBpcmVzPC9jb2RlPgogICAgSFRUUCBoZWFkZXIgYW5kIHRoZSA8Y29kZT5tYXgtYWdlPC9jb2RlPiBkaXJlY3RpdmUgb2YgdGhlCiAgICA8Y29kZT5DYWNoZS1Db250cm9sPC9jb2RlPiBIVFRQIGhlYWRlciBpbiBzZXJ2ZXIgcmVzcG9uc2VzLiBUaGUKICAgIGV4cGlyYXRpb24gZGF0ZSBjYW4gc2V0IHRvIGJlIHJlbGF0aXZlIHRvIGVpdGhlciB0aGUgdGltZSB0aGUKICAgIHNvdXJjZSBmaWxlIHdhcyBsYXN0IG1vZGlmaWVkLCBvciB0byB0aGUgdGltZSBvZiB0aGUgY2xpZW50CiAgICBhY2Nlc3MuPC9wPgoKICAgIDxwPlRoZXNlIEhUVFAgaGVhZGVycyBhcmUgYW4gaW5zdHJ1Y3Rpb24gdG8gdGhlIGNsaWVudCBhYm91dCB0aGUKICAgIGRvY3VtZW50J3MgdmFsaWRpdHkgYW5kIHBlcnNpc3RlbmNlLiBJZiBjYWNoZWQsIHRoZSBkb2N1bWVudCBtYXkKICAgIGJlIGZldGNoZWQgZnJvbSB0aGUgY2FjaGUgcmF0aGVyIHRoYW4gZnJvbSB0aGUgc291cmNlIHVudGlsIHRoaXMKICAgIHRpbWUgaGFzIHBhc3NlZC4gQWZ0ZXIgdGhhdCwgdGhlIGNhY2hlIGNvcHkgaXMgY29uc2lkZXJlZAogICAgImV4cGlyZWQiIGFuZCBpbnZhbGlkLCBhbmQgYSBuZXcgY29weSBtdXN0IGJlIG9idGFpbmVkIGZyb20gdGhlCiAgICBzb3VyY2UuPC9wPiAKCiAgICA8cD5UbyBtb2RpZnkgPGNvZGU+Q2FjaGUtQ29udHJvbDwvY29kZT4gZGlyZWN0aXZlcyBvdGhlciB0aGFuCiAgICA8Y29kZT5tYXgtYWdlPC9jb2RlPiAoc2VlIDxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1Byb3RvY29scy9yZmMyNjE2L3JmYzI2MTYtc2VjMTQuaHRtbCNzZWMxNC45Ij5SRkMKICAgIDI2MTYgc2VjdGlvbiAxNC45PC9hPiksIHlvdSBjYW4gdXNlIHRoZSA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuLi9tb2QvbW9kX2hlYWRlcnMuaHRtbCNoZWFkZXIiPkhlYWRlcjwvYT48L2NvZGU+IGRpcmVjdGl2ZS48L3A+Cgo8L2Rpdj4KPGRpdiBpZD0icXVpY2t2aWV3Ij48aDMgY2xhc3M9ImRpcmVjdGl2ZXMiPkRpcmVjdGl2ZXM8L2gzPgo8dWwgaWQ9InRvYyI+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI2V4cGlyZXNhY3RpdmUiPkV4cGlyZXNBY3RpdmU8L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjZXhwaXJlc2J5dHlwZSI+RXhwaXJlc0J5VHlwZTwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNleHBpcmVzZGVmYXVsdCI+RXhwaXJlc0RlZmF1bHQ8L2E+PC9saT4KPC91bD4KPGgzPlRvcGljczwvaDM+Cjx1bCBpZD0idG9waWNzIj4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjQWx0U3luIj5BbHRlcm5hdGUgSW50ZXJ2YWwgU3ludGF4PC9hPjwvbGk+CjwvdWw+PC9kaXY+CjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KPGgyPjxhIG5hbWU9IkFsdFN5biIgaWQ9IkFsdFN5biI+QWx0ZXJuYXRlIEludGVydmFsIFN5bnRheDwvYT48L2gyPgogICAgPHA+VGhlIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNleHBpcmVzZGVmYXVsdCI+RXhwaXJlc0RlZmF1bHQ8L2E+PC9jb2RlPiBhbmQKICAgIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNleHBpcmVzYnl0eXBlIj5FeHBpcmVzQnlUeXBlPC9hPjwvY29kZT4gZGlyZWN0aXZlcwogICAgY2FuIGFsc28gYmUgZGVmaW5lZCBpbiBhIG1vcmUgcmVhZGFibGUgc3ludGF4IG9mIHRoZSBmb3JtOjwvcD4KCiAgICA8ZGl2IGNsYXNzPSJleGFtcGxlIj48cD48Y29kZT4KICAgICAgRXhwaXJlc0RlZmF1bHQgIiZsdDtiYXNlJmd0OyBbcGx1c10geyZsdDtudW0mZ3Q7CiAgICAgICZsdDt0eXBlJmd0O30qIjxiciAvPgogICAgICBFeHBpcmVzQnlUeXBlIHR5cGUvZW5jb2RpbmcgIiZsdDtiYXNlJmd0OyBbcGx1c10KICAgICAgeyZsdDtudW0mZ3Q7ICZsdDt0eXBlJmd0O30qIgogICAgPC9jb2RlPjwvcD48L2Rpdj4KCiAgICA8cD53aGVyZSAmbHQ7YmFzZSZndDsgaXMgb25lIG9mOjwvcD4KCiAgICA8dWw+CiAgICAgIDxsaT48Y29kZT5hY2Nlc3M8L2NvZGU+PC9saT4KCiAgICAgIDxsaT48Y29kZT5ub3c8L2NvZGU+IChlcXVpdmFsZW50IHRvCiAgICAgICc8Y29kZT5hY2Nlc3M8L2NvZGU+Jyk8L2xpPgoKICAgICAgPGxpPjxjb2RlPm1vZGlmaWNhdGlvbjwvY29kZT48L2xpPgogICAgPC91bD4KCiAgICA8cD5UaGUgPGNvZGU+cGx1czwvY29kZT4ga2V5d29yZCBpcyBvcHRpb25hbC4gJmx0O251bSZndDsKICAgIHNob3VsZCBiZSBhbiBpbnRlZ2VyIHZhbHVlIFthY2NlcHRhYmxlIHRvIDxjb2RlPmF0b2koKTwvY29kZT5dLAogICAgYW5kICZsdDt0eXBlJmd0OyBpcyBvbmUgb2Y6PC9wPgoKICAgIDx1bD4KICAgICAgPGxpPjxjb2RlPnllYXJzPC9jb2RlPjwvbGk+CiAgICAgIDxsaT48Y29kZT5tb250aHM8L2NvZGU+PC9saT4KICAgICAgPGxpPjxjb2RlPndlZWtzPC9jb2RlPjwvbGk+CiAgICAgIDxsaT48Y29kZT5kYXlzPC9jb2RlPjwvbGk+CiAgICAgIDxsaT48Y29kZT5ob3VyczwvY29kZT48L2xpPgogICAgICA8bGk+PGNvZGU+bWludXRlczwvY29kZT48L2xpPgogICAgICA8bGk+PGNvZGU+c2Vjb25kczwvY29kZT48L2xpPgogICAgPC91bD4KCiAgICA8cD5Gb3IgZXhhbXBsZSwgYW55IG9mIHRoZSBmb2xsb3dpbmcgZGlyZWN0aXZlcyBjYW4gYmUgdXNlZCB0bwogICAgbWFrZSBkb2N1bWVudHMgZXhwaXJlIDEgbW9udGggYWZ0ZXIgYmVpbmcgYWNjZXNzZWQsIGJ5CiAgICBkZWZhdWx0OjwvcD4KCiAgICA8ZGl2IGNsYXNzPSJleGFtcGxlIj48cD48Y29kZT4KICAgICAgRXhwaXJlc0RlZmF1bHQgImFjY2VzcyBwbHVzIDEgbW9udGgiPGJyIC8+CiAgICAgIEV4cGlyZXNEZWZhdWx0ICJhY2Nlc3MgcGx1cyA0IHdlZWtzIjxiciAvPgogICAgICBFeHBpcmVzRGVmYXVsdCAiYWNjZXNzIHBsdXMgMzAgZGF5cyIKICAgIDwvY29kZT48L3A+PC9kaXY+CgogICAgPHA+VGhlIGV4cGlyeSB0aW1lIGNhbiBiZSBmaW5lLXR1bmVkIGJ5IGFkZGluZyBzZXZlcmFsCiAgICAnJmx0O251bSZndDsgJmx0O3R5cGUmZ3Q7JyBjbGF1c2VzOjwvcD4KCiAgICA8ZGl2IGNsYXNzPSJleGFtcGxlIj48cD48Y29kZT4KICAgICAgRXhwaXJlc0J5VHlwZSB0ZXh0L2h0bWwgImFjY2VzcyBwbHVzIDEgbW9udGggMTUKICAgICAgZGF5cyAyIGhvdXJzIjxiciAvPgogICAgICBFeHBpcmVzQnlUeXBlIGltYWdlL2dpZiAibW9kaWZpY2F0aW9uIHBsdXMgNSBob3VycyAzCiAgICAgIG1pbnV0ZXMiCiAgICA8L2NvZGU+PC9wPjwvZGl2PgoKICAgIDxwPk5vdGUgdGhhdCBpZiB5b3UgdXNlIGEgbW9kaWZpY2F0aW9uIGRhdGUgYmFzZWQgc2V0dGluZywgdGhlCiAgICBFeHBpcmVzIGhlYWRlciB3aWxsIDxzdHJvbmc+bm90PC9zdHJvbmc+IGJlIGFkZGVkIHRvIGNvbnRlbnQKICAgIHRoYXQgZG9lcyBub3QgY29tZSBmcm9tIGEgZmlsZSBvbiBkaXNrLiBUaGlzIGlzIGR1ZSB0byB0aGUgZmFjdAogICAgdGhhdCB0aGVyZSBpcyBubyBtb2RpZmljYXRpb24gdGltZSBmb3Igc3VjaCBjb250ZW50LjwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJkaXJlY3RpdmUtc2VjdGlvbiI+PGgyPjxhIG5hbWU9IkV4cGlyZXNBY3RpdmUiIGlkPSJFeHBpcmVzQWN0aXZlIj5FeHBpcmVzQWN0aXZlPC9hPiA8YSBuYW1lPSJleHBpcmVzYWN0aXZlIiBpZD0iZXhwaXJlc2FjdGl2ZSI+RGlyZWN0aXZlPC9hPjwvaDI+Cjx0YWJsZSBjbGFzcz0iZGlyZWN0aXZlIj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0Rlc2NyaXB0aW9uIj5EZXNjcmlwdGlvbjo8L2E+PC90aD48dGQ+RW5hYmxlcyBnZW5lcmF0aW9uIG9mIDxjb2RlPkV4cGlyZXM8L2NvZGU+CmhlYWRlcnM8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTeW50YXgiPlN5bnRheDo8L2E+PC90aD48dGQ+PGNvZGU+RXhwaXJlc0FjdGl2ZSBPbnxPZmY8L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjQ29udGV4dCI+Q29udGV4dDo8L2E+PC90aD48dGQ+c2VydmVyIGNvbmZpZywgdmlydHVhbCBob3N0LCBkaXJlY3RvcnksIC5odGFjY2VzczwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI092ZXJyaWRlIj5PdmVycmlkZTo8L2E+PC90aD48dGQ+SW5kZXhlczwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHVzOjwvYT48L3RoPjx0ZD5FeHRlbnNpb248L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNNb2R1bGUiPk1vZHVsZTo8L2E+PC90aD48dGQ+bW9kX2V4cGlyZXM8L3RkPjwvdHI+CjwvdGFibGU+CiAgICA8cD5UaGlzIGRpcmVjdGl2ZSBlbmFibGVzIG9yIGRpc2FibGVzIHRoZSBnZW5lcmF0aW9uIG9mIHRoZQogICAgPGNvZGU+RXhwaXJlczwvY29kZT4gYW5kIDxjb2RlPkNhY2hlLUNvbnRyb2w8L2NvZGU+IGhlYWRlcnMgZm9yCiAgICB0aGUgZG9jdW1lbnQgcmVhbG0gaW4gcXVlc3Rpb24uICAoVGhhdCBpcywgaWYgZm91bmQgaW4gYW4KICAgIDxjb2RlPi5odGFjY2VzczwvY29kZT4gZmlsZSwgZm9yIGluc3RhbmNlLCBpdCBhcHBsaWVzIG9ubHkgdG8KICAgIGRvY3VtZW50cyBnZW5lcmF0ZWQgZnJvbSB0aGF0IGRpcmVjdG9yeS4pIElmIHNldCB0bwogICAgPGNvZGU+T2ZmPC9jb2RlPiwgdGhlIGhlYWRlcnMgd2lsbCBub3QgYmUgZ2VuZXJhdGVkIGZvciBhbnkKICAgIGRvY3VtZW50IGluIHRoZSByZWFsbSAodW5sZXNzIG92ZXJyaWRkZW4gYXQgYSBsb3dlciBsZXZlbCwgc3VjaCBhcwogICAgYW4gPGNvZGU+Lmh0YWNjZXNzPC9jb2RlPiBmaWxlIG92ZXJyaWRpbmcgYSBzZXJ2ZXIgY29uZmlnCiAgICBmaWxlKS4gSWYgc2V0IHRvIDxjb2RlPk9uPC9jb2RlPiwgdGhlIGhlYWRlcnMgd2lsbCBiZSBhZGRlZCB0bwogICAgc2VydmVkIGRvY3VtZW50cyBhY2NvcmRpbmcgdG8gdGhlIGNyaXRlcmlhIGRlZmluZWQgYnkgdGhlCiAgICA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjZXhwaXJlc2J5dHlwZSI+RXhwaXJlc0J5VHlwZTwvYT48L2NvZGU+IGFuZAogICAgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2V4cGlyZXNkZWZhdWx0Ij5FeHBpcmVzRGVmYXVsdDwvYT48L2NvZGU+CiAgICBkaXJlY3RpdmVzICg8ZW0+cS52LjwvZW0+KS48L3A+CgogICAgPHA+Tm90ZSB0aGF0IHRoaXMgZGlyZWN0aXZlIGRvZXMgbm90IGd1YXJhbnRlZSB0aGF0IGFuCiAgICA8Y29kZT5FeHBpcmVzPC9jb2RlPiBvciA8Y29kZT5DYWNoZS1Db250cm9sPC9jb2RlPiBoZWFkZXIgd2lsbCBiZQogICAgZ2VuZXJhdGVkLiBJZiB0aGUgY3JpdGVyaWEgYXJlbid0IG1ldCwgbm8gaGVhZGVyIHdpbGwgYmUgc2VudCwgYW5kCiAgICB0aGUgZWZmZWN0IHdpbGwgYmUgYXMgdGhvdWdoIHRoaXMgZGlyZWN0aXZlIHdhc24ndCBldmVuCiAgICBzcGVjaWZpZWQuPC9wPgogCjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0iZGlyZWN0aXZlLXNlY3Rpb24iPjxoMj48YSBuYW1lPSJFeHBpcmVzQnlUeXBlIiBpZD0iRXhwaXJlc0J5VHlwZSI+RXhwaXJlc0J5VHlwZTwvYT4gPGEgbmFtZT0iZXhwaXJlc2J5dHlwZSIgaWQ9ImV4cGlyZXNieXR5cGUiPkRpcmVjdGl2ZTwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPlZhbHVlIG9mIHRoZSA8Y29kZT5FeHBpcmVzPC9jb2RlPiBoZWFkZXIgY29uZmlndXJlZApieSBNSU1FIHR5cGU8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTeW50YXgiPlN5bnRheDo8L2E+PC90aD48dGQ+PGNvZGU+RXhwaXJlc0J5VHlwZSA8dmFyPk1JTUUtdHlwZTwvdmFyPgo8dmFyPiZsdDtjb2RlJmd0O3NlY29uZHM8L3Zhcj48L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjQ29udGV4dCI+Q29udGV4dDo8L2E+PC90aD48dGQ+c2VydmVyIGNvbmZpZywgdmlydHVhbCBob3N0LCBkaXJlY3RvcnksIC5odGFjY2VzczwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI092ZXJyaWRlIj5PdmVycmlkZTo8L2E+PC90aD48dGQ+SW5kZXhlczwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHVzOjwvYT48L3RoPjx0ZD5FeHRlbnNpb248L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNNb2R1bGUiPk1vZHVsZTo8L2E+PC90aD48dGQ+bW9kX2V4cGlyZXM8L3RkPjwvdHI+CjwvdGFibGU+CiAgICA8cD5UaGlzIGRpcmVjdGl2ZSBkZWZpbmVzIHRoZSB2YWx1ZSBvZiB0aGUgPGNvZGU+RXhwaXJlczwvY29kZT4KICAgIGhlYWRlciBhbmQgdGhlIDxjb2RlPm1heC1hZ2U8L2NvZGU+IGRpcmVjdGl2ZSBvZiB0aGUKICAgIDxjb2RlPkNhY2hlLUNvbnRyb2w8L2NvZGU+IGhlYWRlciBnZW5lcmF0ZWQgZm9yIGRvY3VtZW50cyBvZiB0aGUKICAgIHNwZWNpZmllZCB0eXBlICg8ZW0+ZS5nLjwvZW0+LCA8Y29kZT50ZXh0L2h0bWw8L2NvZGU+KS4gVGhlIHNlY29uZAogICAgYXJndW1lbnQgc2V0cyB0aGUgbnVtYmVyIG9mIHNlY29uZHMgdGhhdCB3aWxsIGJlIGFkZGVkIHRvIGEgYmFzZQogICAgdGltZSB0byBjb25zdHJ1Y3QgdGhlIGV4cGlyYXRpb24gZGF0ZS4gIFRoZSA8Y29kZT5DYWNoZS1Db250cm9sOgogICAgbWF4LWFnZTwvY29kZT4gaXMgY2FsY3VsYXRlZCBieSBzdWJ0cmFjdGluZyB0aGUgcmVxdWVzdCB0aW1lIGZyb20KICAgIHRoZSBleHBpcmF0aW9uIGRhdGUgYW5kIGV4cHJlc3NpbmcgdGhlIHJlc3VsdCBpbiBzZWNvbmRzLjwvcD4KCiAgICA8cD5UaGUgYmFzZSB0aW1lIGlzIGVpdGhlciB0aGUgbGFzdCBtb2RpZmljYXRpb24gdGltZSBvZiB0aGUKICAgIGZpbGUsIG9yIHRoZSB0aW1lIG9mIHRoZSBjbGllbnQncyBhY2Nlc3MgdG8gdGhlIGRvY3VtZW50LiBXaGljaAogICAgc2hvdWxkIGJlIHVzZWQgaXMgc3BlY2lmaWVkIGJ5IHRoZQogICAgPGNvZGU+PHZhcj4mbHQ7Y29kZSZndDs8L3Zhcj48L2NvZGU+IGZpZWxkOyA8Y29kZT5NPC9jb2RlPgogICAgbWVhbnMgdGhhdCB0aGUgZmlsZSdzIGxhc3QgbW9kaWZpY2F0aW9uIHRpbWUgc2hvdWxkIGJlIHVzZWQgYXMKICAgIHRoZSBiYXNlIHRpbWUsIGFuZCA8Y29kZT5BPC9jb2RlPiBtZWFucyB0aGUgY2xpZW50J3MgYWNjZXNzCiAgICB0aW1lIHNob3VsZCBiZSB1c2VkLjwvcD4KCiAgICA8cD5UaGUgZGlmZmVyZW5jZSBpbiBlZmZlY3QgaXMgc3VidGxlLiBJZiA8Y29kZT5NPC9jb2RlPiBpcyB1c2VkLAogICAgYWxsIGN1cnJlbnQgY29waWVzIG9mIHRoZSBkb2N1bWVudCBpbiBhbGwgY2FjaGVzIHdpbGwgZXhwaXJlIGF0CiAgICB0aGUgc2FtZSB0aW1lLCB3aGljaCBjYW4gYmUgZ29vZCBmb3Igc29tZXRoaW5nIGxpa2UgYSB3ZWVrbHkKICAgIG5vdGljZSB0aGF0J3MgYWx3YXlzIGZvdW5kIGF0IHRoZSBzYW1lIFVSTC4gSWYgPGNvZGU+QTwvY29kZT4gaXMKICAgIHVzZWQsIHRoZSBkYXRlIG9mIGV4cGlyYXRpb24gaXMgZGlmZmVyZW50IGZvciBlYWNoIGNsaWVudDsgdGhpcwogICAgY2FuIGJlIGdvb2QgZm9yIGltYWdlIGZpbGVzIHRoYXQgZG9uJ3QgY2hhbmdlIHZlcnkgb2Z0ZW4sCiAgICBwYXJ0aWN1bGFybHkgZm9yIGEgc2V0IG9mIHJlbGF0ZWQgZG9jdW1lbnRzIHRoYXQgYWxsIHJlZmVyIHRvCiAgICB0aGUgc2FtZSBpbWFnZXMgKDxlbT5pLmUuPC9lbT4sIHRoZSBpbWFnZXMgd2lsbCBiZSBhY2Nlc3NlZAogICAgcmVwZWF0ZWRseSB3aXRoaW4gYSByZWxhdGl2ZWx5IHNob3J0IHRpbWVzcGFuKS48L3A+CgogICAgPGRpdiBjbGFzcz0iZXhhbXBsZSI+PGgzPkV4YW1wbGU6PC9oMz48cD48Y29kZT4KICAgICAgIyBlbmFibGUgZXhwaXJhdGlvbnM8YnIgLz4KICAgICAgRXhwaXJlc0FjdGl2ZSBPbjxiciAvPgogICAgICAjIGV4cGlyZSBHSUYgaW1hZ2VzIGFmdGVyIGEgbW9udGggaW4gdGhlIGNsaWVudCdzIGNhY2hlPGJyIC8+CiAgICAgIEV4cGlyZXNCeVR5cGUgaW1hZ2UvZ2lmIEEyNTkyMDAwPGJyIC8+CiAgICAgICMgSFRNTCBkb2N1bWVudHMgYXJlIGdvb2QgZm9yIGEgd2VlayBmcm9tIHRoZTxiciAvPgogICAgICAjIHRpbWUgdGhleSB3ZXJlIGNoYW5nZWQ8YnIgLz4KICAgICAgRXhwaXJlc0J5VHlwZSB0ZXh0L2h0bWwgTTYwNDgwMAogICAgPC9jb2RlPjwvcD48L2Rpdj4KCiAgICA8cD5Ob3RlIHRoYXQgdGhpcyBkaXJlY3RpdmUgb25seSBoYXMgZWZmZWN0IGlmCiAgICA8Y29kZT5FeHBpcmVzQWN0aXZlIE9uPC9jb2RlPiBoYXMgYmVlbiBzcGVjaWZpZWQuIEl0IG92ZXJyaWRlcywKICAgIGZvciB0aGUgc3BlY2lmaWVkIE1JTUUgdHlwZSA8ZW0+b25seTwvZW0+LCBhbnkgZXhwaXJhdGlvbiBkYXRlCiAgICBzZXQgYnkgdGhlIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNleHBpcmVzZGVmYXVsdCI+RXhwaXJlc0RlZmF1bHQ8L2E+PC9jb2RlPgogICAgZGlyZWN0aXZlLjwvcD4KCiAgICA8cD5Zb3UgY2FuIGFsc28gc3BlY2lmeSB0aGUgZXhwaXJhdGlvbiB0aW1lIGNhbGN1bGF0aW9uIHVzaW5nCiAgICBhbiA8YSBocmVmPSIjQWx0U3luIj5hbHRlcm5hdGUgc3ludGF4PC9hPiwgZGVzY3JpYmVkIGVhcmxpZXIgaW4KICAgIHRoaXMgZG9jdW1lbnQuPC9wPgoKPC9kaXY+CjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJkaXJlY3RpdmUtc2VjdGlvbiI+PGgyPjxhIG5hbWU9IkV4cGlyZXNEZWZhdWx0IiBpZD0iRXhwaXJlc0RlZmF1bHQiPkV4cGlyZXNEZWZhdWx0PC9hPiA8YSBuYW1lPSJleHBpcmVzZGVmYXVsdCIgaWQ9ImV4cGlyZXNkZWZhdWx0Ij5EaXJlY3RpdmU8L2E+PC9oMj4KPHRhYmxlIGNsYXNzPSJkaXJlY3RpdmUiPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVzY3JpcHRpb24iPkRlc2NyaXB0aW9uOjwvYT48L3RoPjx0ZD5EZWZhdWx0IGFsZ29yaXRobSBmb3IgY2FsY3VsYXRpbmcgZXhwaXJhdGlvbiB0aW1lPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3ludGF4Ij5TeW50YXg6PC9hPjwvdGg+PHRkPjxjb2RlPkV4cGlyZXNEZWZhdWx0IDx2YXI+Jmx0O2NvZGUmZ3Q7c2Vjb25kczwvdmFyPjwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNDb250ZXh0Ij5Db250ZXh0OjwvYT48L3RoPjx0ZD5zZXJ2ZXIgY29uZmlnLCB2aXJ0dWFsIGhvc3QsIGRpcmVjdG9yeSwgLmh0YWNjZXNzPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjT3ZlcnJpZGUiPk92ZXJyaWRlOjwvYT48L3RoPjx0ZD5JbmRleGVzPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3RhdHVzIj5TdGF0dXM6PC9hPjwvdGg+PHRkPkV4dGVuc2lvbjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI01vZHVsZSI+TW9kdWxlOjwvYT48L3RoPjx0ZD5tb2RfZXhwaXJlczwvdGQ+PC90cj4KPC90YWJsZT4KICAgIDxwPlRoaXMgZGlyZWN0aXZlIHNldHMgdGhlIGRlZmF1bHQgYWxnb3JpdGhtIGZvciBjYWxjdWxhdGluZyB0aGUKICAgIGV4cGlyYXRpb24gdGltZSBmb3IgYWxsIGRvY3VtZW50cyBpbiB0aGUgYWZmZWN0ZWQgcmVhbG0uIEl0IGNhbiBiZQogICAgb3ZlcnJpZGRlbiBvbiBhIHR5cGUtYnktdHlwZSBiYXNpcyBieSB0aGUgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2V4cGlyZXNieXR5cGUiPkV4cGlyZXNCeVR5cGU8L2E+PC9jb2RlPiBkaXJlY3RpdmUuIFNlZSB0aGUKICAgIGRlc2NyaXB0aW9uIG9mIHRoYXQgZGlyZWN0aXZlIGZvciBkZXRhaWxzIGFib3V0IHRoZSBzeW50YXggb2YgdGhlCiAgICBhcmd1bWVudCwgYW5kIHRoZSA8YSBocmVmPSIjQWx0U3luIj5hbHRlcm5hdGUgc3ludGF4PC9hPgogICAgZGVzY3JpcHRpb24gYXMgd2VsbC48L3A+Cgo8L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9ImJvdHRvbWxhbmciPgo8cD48c3Bhbj5BdmFpbGFibGUgTGFuZ3VhZ2VzOiA8L3NwYW4+PGEgaHJlZj0iLi4vZW4vbW9kL21vZF9leHBpcmVzLmh0bWwiIHRpdGxlPSJFbmdsaXNoIj4mbmJzcDtlbiZuYnNwOzwvYT4gfAo8YSBocmVmPSIuLi9qYS9tb2QvbW9kX2V4cGlyZXMuaHRtbCIgaHJlZmxhbmc9ImphIiByZWw9ImFsdGVybmF0ZSIgdGl0bGU9IkphcGFuZXNlIj4mbmJzcDtqYSZuYnNwOzwvYT4gfAo8YSBocmVmPSIuLi9rby9tb2QvbW9kX2V4cGlyZXMuaHRtbCIgaHJlZmxhbmc9ImtvIiByZWw9ImFsdGVybmF0ZSIgdGl0bGU9IktvcmVhbiI+Jm5ic3A7a28mbmJzcDs8L2E+PC9wPgo8L2Rpdj48ZGl2IGlkPSJmb290ZXIiPgo8cCBjbGFzcz0iYXBhY2hlIj5Db3B5cmlnaHQgMTk5NS0yMDA1IFRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiBvciBpdHMgbGljZW5zb3JzLCBhcyBhcHBsaWNhYmxlLjxiciAvPkxpY2Vuc2VkIHVuZGVyIHRoZSA8YSBocmVmPSJodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAiPkFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMDwvYT4uPC9wPgo8cCBjbGFzcz0ibWVudSI+PGEgaHJlZj0iLi4vbW9kLyI+TW9kdWxlczwvYT4gfCA8YSBocmVmPSIuLi9tb2QvZGlyZWN0aXZlcy5odG1sIj5EaXJlY3RpdmVzPC9hPiB8IDxhIGhyZWY9Ii4uL2ZhcS8iPkZBUTwvYT4gfCA8YSBocmVmPSIuLi9nbG9zc2FyeS5odG1sIj5HbG9zc2FyeTwvYT4gfCA8YSBocmVmPSIuLi9zaXRlbWFwLmh0bWwiPlNpdGVtYXA8L2E+PC9wPjwvZGl2Pgo8L2JvZHk+PC9odG1sPg==