PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/Pgo8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBsYW5nPSJlbiIgeG1sOmxhbmc9ImVuIj48aGVhZD48IS0tCiAgICAgICAgWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgKICAgICAgICAgICAgICBUaGlzIGZpbGUgaXMgZ2VuZXJhdGVkIGZyb20geG1sIHNvdXJjZTogRE8gTk9UIEVESVQKICAgICAgICBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWAogICAgICAtLT4KPHRpdGxlPm1vZF9jYWNoZSAtIEFwYWNoZSBIVFRQIFNlcnZlcjwvdGl0bGU+CjxsaW5rIGhyZWY9Ii4uL3N0eWxlL2Nzcy9tYW51YWwuY3NzIiByZWw9InN0eWxlc2hlZXQiIG1lZGlhPSJhbGwiIHR5cGU9InRleHQvY3NzIiB0aXRsZT0iTWFpbiBzdHlsZXNoZWV0IiAvPgo8bGluayBocmVmPSIuLi9zdHlsZS9jc3MvbWFudWFsLWxvb3NlLTEwMHBjLmNzcyIgcmVsPSJhbHRlcm5hdGUgc3R5bGVzaGVldCIgbWVkaWE9ImFsbCIgdHlwZT0idGV4dC9jc3MiIHRpdGxlPSJObyBTaWRlYmFyIC0gRGVmYXVsdCBmb250IHNpemUiIC8+CjxsaW5rIGhyZWY9Ii4uL3N0eWxlL2Nzcy9tYW51YWwtcHJpbnQuY3NzIiByZWw9InN0eWxlc2hlZXQiIG1lZGlhPSJwcmludCIgdHlwZT0idGV4dC9jc3MiIC8+CjxsaW5rIGhyZWY9Ii4uL2ltYWdlcy9mYXZpY29uLmljbyIgcmVsPSJzaG9ydGN1dCBpY29uIiAvPjwvaGVhZD4KPGJvZHk+CjxkaXYgaWQ9InBhZ2UtaGVhZGVyIj4KPHAgY2xhc3M9Im1lbnUiPjxhIGhyZWY9Ii4uL21vZC8iPk1vZHVsZXM8L2E+IHwgPGEgaHJlZj0iLi4vbW9kL2RpcmVjdGl2ZXMuaHRtbCI+RGlyZWN0aXZlczwvYT4gfCA8YSBocmVmPSIuLi9mYXEvIj5GQVE8L2E+IHwgPGEgaHJlZj0iLi4vZ2xvc3NhcnkuaHRtbCI+R2xvc3Nhcnk8L2E+IHwgPGEgaHJlZj0iLi4vc2l0ZW1hcC5odG1sIj5TaXRlbWFwPC9hPjwvcD4KPHAgY2xhc3M9ImFwYWNoZSI+QXBhY2hlIEhUVFAgU2VydmVyIFZlcnNpb24gMi4zPC9wPgo8aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9mZWF0aGVyLmdpZiIgLz48L2Rpdj4KPGRpdiBjbGFzcz0idXAiPjxhIGhyZWY9Ii4vIj48aW1nIHRpdGxlPSImbHQ7LSIgYWx0PSImbHQ7LSIgc3JjPSIuLi9pbWFnZXMvbGVmdC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGlkPSJwYXRoIj4KPGEgaHJlZj0iaHR0cDovL3d3dy5hcGFjaGUub3JnLyI+QXBhY2hlPC9hPiAmZ3Q7IDxhIGhyZWY9Imh0dHA6Ly9odHRwZC5hcGFjaGUub3JnLyI+SFRUUCBTZXJ2ZXI8L2E+ICZndDsgPGEgaHJlZj0iaHR0cDovL2h0dHBkLmFwYWNoZS5vcmcvZG9jcy1wcm9qZWN0LyI+RG9jdW1lbnRhdGlvbjwvYT4gJmd0OyA8YSBocmVmPSIuLi8iPlZlcnNpb24gMi4zPC9hPiAmZ3Q7IDxhIGhyZWY9Ii4vIj5Nb2R1bGVzPC9hPjwvZGl2Pgo8ZGl2IGlkPSJwYWdlLWNvbnRlbnQiPgo8ZGl2IGlkPSJwcmVhbWJsZSI+PGgxPkFwYWNoZSBNb2R1bGUgbW9kX2NhY2hlPC9oMT4KPGRpdiBjbGFzcz0idG9wbGFuZyI+CjxwPjxzcGFuPkF2YWlsYWJsZSBMYW5ndWFnZXM6IDwvc3Bhbj48YSBocmVmPSIuLi9lbi9tb2QvbW9kX2NhY2hlLmh0bWwiIHRpdGxlPSJFbmdsaXNoIj4mbmJzcDtlbiZuYnNwOzwvYT4gfAo8YSBocmVmPSIuLi9qYS9tb2QvbW9kX2NhY2hlLmh0bWwiIGhyZWZsYW5nPSJqYSIgcmVsPSJhbHRlcm5hdGUiIHRpdGxlPSJKYXBhbmVzZSI+Jm5ic3A7amEmbmJzcDs8L2E+IHwKPGEgaHJlZj0iLi4va28vbW9kL21vZF9jYWNoZS5odG1sIiBocmVmbGFuZz0ia28iIHJlbD0iYWx0ZXJuYXRlIiB0aXRsZT0iS29yZWFuIj4mbmJzcDtrbyZuYnNwOzwvYT48L3A+CjwvZGl2Pgo8dGFibGUgY2xhc3M9Im1vZHVsZSI+PHRyPjx0aD48YSBocmVmPSJtb2R1bGUtZGljdC5odG1sI0Rlc2NyaXB0aW9uIj5EZXNjcmlwdGlvbjo8L2E+PC90aD48dGQ+Q29udGVudCBjYWNoZSBrZXllZCB0byBVUklzLjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJtb2R1bGUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHVzOjwvYT48L3RoPjx0ZD5FeHRlbnNpb248L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0ibW9kdWxlLWRpY3QuaHRtbCNNb2R1bGVJZGVudGlmaWVyIj5Nb2R1bGWgSWRlbnRpZmllcjo8L2E+PC90aD48dGQ+Y2FjaGVfbW9kdWxlPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9Im1vZHVsZS1kaWN0Lmh0bWwjU291cmNlRmlsZSI+U291cmNloEZpbGU6PC9hPjwvdGg+PHRkPm1vZF9jYWNoZS5jPC90ZD48L3RyPjwvdGFibGU+CjxoMz5TdW1tYXJ5PC9oMz4KCiAgICA8ZGl2IGNsYXNzPSJ3YXJuaW5nIj5UaGlzIG1vZHVsZSBzaG91bGQgYmUgdXNlZCB3aXRoIGNhcmUgYW5kCiAgICBjYW4gYmUgdXNlZCB0byBjaXJjdW12ZW50IDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4uL21vZC9tb2RfYXV0aHpfaG9zdC5odG1sI2FsbG93Ij5BbGxvdzwvYT48L2NvZGU+IGFuZCA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuLi9tb2QvbW9kX2F1dGh6X2hvc3QuaHRtbCNkZW55Ij5EZW55PC9hPjwvY29kZT4gZGlyZWN0aXZlcy4gWW91IAogICAgc2hvdWxkIG5vdCBlbmFibGUgY2FjaGluZyBmb3IgYW55IGNvbnRlbnQgdG8gd2hpY2ggeW91IHdpc2gKICAgIHRvIGxpbWl0IGFjY2VzcyBieSBjbGllbnQgaG9zdCBuYW1lLCBhZGRyZXNzIG9yIGVudmlyb25tZW50CiAgICB2YXJpYWJsZS48L2Rpdj4gIAoKICAgIDxwPjxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4uL21vZC9tb2RfY2FjaGUuaHRtbCI+bW9kX2NhY2hlPC9hPjwvY29kZT4gaW1wbGVtZW50cyBhbiA8YSBocmVmPSJodHRwOi8vd3d3LmlldGYub3JnL3JmYy9yZmMyNjE2LnR4dCI+UkZDIDI2MTY8L2E+IGNvbXBsaWFudCBIVFRQCiAgICBjb250ZW50IGNhY2hlIHRoYXQgY2FuIGJlIHVzZWQgdG8gY2FjaGUgZWl0aGVyIGxvY2FsIG9yIHByb3hpZWQgY29udGVudC4KICAgIDxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4uL21vZC9tb2RfY2FjaGUuaHRtbCI+bW9kX2NhY2hlPC9hPjwvY29kZT4gcmVxdWlyZXMgdGhlIHNlcnZpY2VzIG9mIG9uZSBvciBtb3JlIHN0b3JhZ2UKICAgIG1hbmFnZW1lbnQgbW9kdWxlcy4gVHdvIHN0b3JhZ2UgbWFuYWdlbWVudCBtb2R1bGVzIGFyZSBpbmNsdWRlZCBpbgogICAgdGhlIGJhc2UgQXBhY2hlIGRpc3RyaWJ1dGlvbjo8L3A+CiAgICA8ZGw+CiAgICA8ZHQ+PGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi4vbW9kL21vZF9kaXNrX2NhY2hlLmh0bWwiPm1vZF9kaXNrX2NhY2hlPC9hPjwvY29kZT48L2R0PgogICAgPGRkPmltcGxlbWVudHMgYSBkaXNrIGJhc2VkIHN0b3JhZ2UgbWFuYWdlci48L2RkPgoKICAgIDxkdD48Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuLi9tb2QvbW9kX21lbV9jYWNoZS5odG1sIj5tb2RfbWVtX2NhY2hlPC9hPjwvY29kZT48L2R0PgogICAgPGRkPmltcGxlbWVudHMgYSBtZW1vcnkgYmFzZWQgc3RvcmFnZSBtYW5hZ2VyLiAKICAgIDxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4uL21vZC9tb2RfbWVtX2NhY2hlLmh0bWwiPm1vZF9tZW1fY2FjaGU8L2E+PC9jb2RlPiBjYW4gYmUgY29uZmlndXJlZCB0byBvcGVyYXRlIGluIHR3bwogICAgbW9kZXM6IGNhY2hpbmcgb3BlbiBmaWxlIGRlc2NyaXB0b3JzIG9yIGNhY2hpbmcgb2JqZWN0cyBpbiBoZWFwIHN0b3JhZ2UuCiAgICA8Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuLi9tb2QvbW9kX21lbV9jYWNoZS5odG1sIj5tb2RfbWVtX2NhY2hlPC9hPjwvY29kZT4gY2FuIGJlIHVzZWQgdG8gY2FjaGUgbG9jYWxseSBnZW5lcmF0ZWQgY29udGVudAogICAgb3IgdG8gY2FjaGUgYmFja2VuZCBzZXJ2ZXIgY29udGVudCBmb3IgPGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi4vbW9kL21vZF9wcm94eS5odG1sIj5tb2RfcHJveHk8L2E+PC9jb2RlPiB3aGVuCiAgICBjb25maWd1cmVkIHVzaW5nIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4uL21vZC9tb2RfcHJveHkuaHRtbCNwcm94eXBhc3MiPlByb3h5UGFzczwvYT48L2NvZGU+CiAgICAoYWthIDxkZm4+cmV2ZXJzZSBwcm94eTwvZGZuPik8L2RkPgogICAgPC9kbD4KCiAgICA8cD5Db250ZW50IGlzIHN0b3JlZCBpbiBhbmQgcmV0cmlldmVkIGZyb20gdGhlIGNhY2hlIHVzaW5nIFVSSSBiYXNlZCBrZXlzLiBDb250ZW50IHdpdGgKICAgIGFjY2VzcyBwcm90ZWN0aW9uIGlzIG5vdCBjYWNoZWQuPC9wPgo8L2Rpdj4KPGRpdiBpZD0icXVpY2t2aWV3Ij48aDMgY2xhc3M9ImRpcmVjdGl2ZXMiPkRpcmVjdGl2ZXM8L2gzPgo8dWwgaWQ9InRvYyI+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI2NhY2hlZGVmYXVsdGV4cGlyZSI+Q2FjaGVEZWZhdWx0RXhwaXJlPC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI2NhY2hlZGlzYWJsZSI+Q2FjaGVEaXNhYmxlPC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI2NhY2hlZW5hYmxlIj5DYWNoZUVuYWJsZTwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNjYWNoZWlnbm9yZWNhY2hlY29udHJvbCI+Q2FjaGVJZ25vcmVDYWNoZUNvbnRyb2w8L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjY2FjaGVpZ25vcmVoZWFkZXJzIj5DYWNoZUlnbm9yZUhlYWRlcnM8L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjY2FjaGVpZ25vcmVub2xhc3Rtb2QiPkNhY2hlSWdub3JlTm9MYXN0TW9kPC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI2NhY2hlbGFzdG1vZGlmaWVkZmFjdG9yIj5DYWNoZUxhc3RNb2RpZmllZEZhY3RvcjwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNjYWNoZW1heGV4cGlyZSI+Q2FjaGVNYXhFeHBpcmU8L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjY2FjaGVzdG9yZW5vc3RvcmUiPkNhY2hlU3RvcmVOb1N0b3JlPC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI2NhY2hlc3RvcmVwcml2YXRlIj5DYWNoZVN0b3JlUHJpdmF0ZTwvYT48L2xpPgo8L3VsPgo8aDM+VG9waWNzPC9oMz4KPHVsIGlkPSJ0b3BpY3MiPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNyZWxhdGVkIj5SZWxhdGVkIE1vZHVsZXMgYW5kIERpcmVjdGl2ZXM8L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjc2FtcGxlY29uZiI+U2FtcGxlIENvbmZpZ3VyYXRpb248L2E+PC9saT4KPC91bD48L2Rpdj4KPGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9InNlY3Rpb24iPgo8aDI+PGEgbmFtZT0icmVsYXRlZCIgaWQ9InJlbGF0ZWQiPlJlbGF0ZWQgTW9kdWxlcyBhbmQgRGlyZWN0aXZlczwvYT48L2gyPgogICAgPHRhYmxlIGNsYXNzPSJyZWxhdGVkIj48dHI+PHRoPlJlbGF0ZWQgTW9kdWxlczwvdGg+PHRoPlJlbGF0ZWQgRGlyZWN0aXZlczwvdGg+PC90cj48dHI+PHRkPjx1bD48bGk+PGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi4vbW9kL21vZF9kaXNrX2NhY2hlLmh0bWwiPm1vZF9kaXNrX2NhY2hlPC9hPjwvY29kZT48L2xpPjxsaT48Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuLi9tb2QvbW9kX21lbV9jYWNoZS5odG1sIj5tb2RfbWVtX2NhY2hlPC9hPjwvY29kZT48L2xpPjwvdWw+PC90ZD48dGQ+PHVsPjxsaT48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuLi9tb2QvbW9kX2Rpc2tfY2FjaGUuaHRtbCNjYWNoZXJvb3QiPkNhY2hlUm9vdDwvYT48L2NvZGU+PC9saT48bGk+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi4vbW9kL21vZF9kaXNrX2NhY2hlLmh0bWwjY2FjaGVzaXplIj5DYWNoZVNpemU8L2E+PC9jb2RlPjwvbGk+PGxpPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4uL21vZC9tb2RfZGlza19jYWNoZS5odG1sI2NhY2hlZGlybGV2ZWxzIj5DYWNoZURpckxldmVsczwvYT48L2NvZGU+PC9saT48bGk+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi4vbW9kL21vZF9kaXNrX2NhY2hlLmh0bWwjY2FjaGVkaXJsZW5ndGgiPkNhY2hlRGlyTGVuZ3RoPC9hPjwvY29kZT48L2xpPjxsaT48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuLi9tb2QvbW9kX2Rpc2tfY2FjaGUuaHRtbCNjYWNoZW1pbmZpbGVzaXplIj5DYWNoZU1pbkZpbGVTaXplPC9hPjwvY29kZT48L2xpPjxsaT48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuLi9tb2QvbW9kX2Rpc2tfY2FjaGUuaHRtbCNjYWNoZW1heGZpbGVzaXplIj5DYWNoZU1heEZpbGVTaXplPC9hPjwvY29kZT48L2xpPjxsaT48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuLi9tb2QvbW9kX21lbV9jYWNoZS5odG1sI21jYWNoZXNpemUiPk1DYWNoZVNpemU8L2E+PC9jb2RlPjwvbGk+PGxpPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4uL21vZC9tb2RfbWVtX2NhY2hlLmh0bWwjbWNhY2hlbWF4b2JqZWN0Y291bnQiPk1DYWNoZU1heE9iamVjdENvdW50PC9hPjwvY29kZT48L2xpPjxsaT48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuLi9tb2QvbW9kX21lbV9jYWNoZS5odG1sI21jYWNoZW1pbm9iamVjdHNpemUiPk1DYWNoZU1pbk9iamVjdFNpemU8L2E+PC9jb2RlPjwvbGk+PGxpPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4uL21vZC9tb2RfbWVtX2NhY2hlLmh0bWwjbWNhY2hlbWF4b2JqZWN0c2l6ZSI+TUNhY2hlTWF4T2JqZWN0U2l6ZTwvYT48L2NvZGU+PC9saT48bGk+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi4vbW9kL21vZF9tZW1fY2FjaGUuaHRtbCNtY2FjaGVyZW1vdmFsYWxnb3JpdGhtIj5NQ2FjaGVSZW1vdmFsQWxnb3JpdGhtPC9hPjwvY29kZT48L2xpPjxsaT48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuLi9tb2QvbW9kX21lbV9jYWNoZS5odG1sI21jYWNoZW1heHN0cmVhbWluZ2J1ZmZlciI+TUNhY2hlTWF4U3RyZWFtaW5nQnVmZmVyPC9hPjwvY29kZT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+CjwvZGl2PjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KPGgyPjxhIG5hbWU9InNhbXBsZWNvbmYiIGlkPSJzYW1wbGVjb25mIj5TYW1wbGUgQ29uZmlndXJhdGlvbjwvYT48L2gyPgogICAgPGRpdiBjbGFzcz0iZXhhbXBsZSI+PGgzPlNhbXBsZSBodHRwZC5jb25mPC9oMz48cD48Y29kZT4KICAgICAgIzxiciAvPgogICAgICAjIFNhbXBsZSBDYWNoZSBDb25maWd1cmF0aW9uPGJyIC8+CiAgICAgICM8YnIgLz4KICAgICAgTG9hZE1vZHVsZSBjYWNoZV9tb2R1bGUgbW9kdWxlcy9tb2RfY2FjaGUuc288YnIgLz4KICAgICAgPGJyIC8+CiAgICAgICZsdDtJZk1vZHVsZSBtb2RfY2FjaGUuYyZndDs8YnIgLz4KICAgICAgPHNwYW4gY2xhc3M9ImluZGVudCI+CiAgICAgICAgI0xvYWRNb2R1bGUgZGlza19jYWNoZV9tb2R1bGUgbW9kdWxlcy9tb2RfZGlza19jYWNoZS5zbzxiciAvPgogICAgICAgICMgSWYgeW91IHdhbnQgdG8gdXNlIG1vZF9kaXNrX2NhY2hlIGluc3RlYWQgb2YgbW9kX21lbV9jYWNoZSw8YnIgLz4KICAgICAgICAjIHVuY29tbWVudCB0aGUgbGluZSBhYm92ZSBhbmQgY29tbWVudCBvdXQgdGhlIExvYWRNb2R1bGUgbGluZSBiZWxvdy48YnIgLz4KICAgICAgICAmbHQ7SWZNb2R1bGUgbW9kX2Rpc2tfY2FjaGUuYyZndDs8YnIgLz4KICAgICAgICA8c3BhbiBjbGFzcz0iaW5kZW50Ij4KICAgICAgICAgIENhY2hlUm9vdCBjOi9jYWNoZXJvb3Q8YnIgLz4KICAgICAgICAgIENhY2hlRW5hYmxlIGRpc2sgIC88YnIgLz4KICAgICAgICAgIENhY2hlRGlyTGV2ZWxzIDU8YnIgLz4KICAgICAgICAgIENhY2hlRGlyTGVuZ3RoIDM8YnIgLz4KICAgICAgICA8L3NwYW4+CiAgICAgICAgJmx0Oy9JZk1vZHVsZSZndDsgPGJyIC8+CiAgICAgICAgPGJyIC8+CiAgICAgICAgTG9hZE1vZHVsZSBtZW1fY2FjaGVfbW9kdWxlIG1vZHVsZXMvbW9kX21lbV9jYWNoZS5zbzxiciAvPgogICAgICAgICZsdDtJZk1vZHVsZSBtb2RfbWVtX2NhY2hlLmMmZ3Q7PGJyIC8+CiAgICAgICAgPHNwYW4gY2xhc3M9ImluZGVudCI+CiAgICAgICAgICBDYWNoZUVuYWJsZSBtZW0gIC88YnIgLz4KICAgICAgICAgIE1DYWNoZVNpemUgNDA5NjxiciAvPgogICAgICAgICAgTUNhY2hlTWF4T2JqZWN0Q291bnQgMTAwPGJyIC8+CiAgICAgICAgICBNQ2FjaGVNaW5PYmplY3RTaXplIDE8YnIgLz4KICAgICAgICAgIE1DYWNoZU1heE9iamVjdFNpemUgMjA0ODxiciAvPgogICAgICAgIDwvc3Bhbj4KICAgICAgICAmbHQ7L0lmTW9kdWxlJmd0OzxiciAvPgogICAgICAgIDxiciAvPgogICAgICAgICMgV2hlbiBhY3RpbmcgYXMgYSBwcm94eSwgZG9uJ3QgY2FjaGUgdGhlIGxpc3Qgb2Ygc2VjdXJpdHkgdXBkYXRlczxiciAvPgogICAgICAgIENhY2hlRGlzYWJsZSBodHRwOi8vc2VjdXJpdHkudXBkYXRlLnNlcnZlci91cGRhdGUtbGlzdC88YnIgLz4KICAgICAgPC9zcGFuPgogICAgICAmbHQ7L0lmTW9kdWxlJmd0OwogICAgPC9jb2RlPjwvcD48L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJkaXJlY3RpdmUtc2VjdGlvbiI+PGgyPjxhIG5hbWU9IkNhY2hlRGVmYXVsdEV4cGlyZSIgaWQ9IkNhY2hlRGVmYXVsdEV4cGlyZSI+Q2FjaGVEZWZhdWx0RXhwaXJlPC9hPiA8YSBuYW1lPSJjYWNoZWRlZmF1bHRleHBpcmUiIGlkPSJjYWNoZWRlZmF1bHRleHBpcmUiPkRpcmVjdGl2ZTwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPlRoZSBkZWZhdWx0IGR1cmF0aW9uIHRvIGNhY2hlIGEgZG9jdW1lbnQgd2hlbiBubyBleHBpcnkgZGF0ZSBpcyBzcGVjaWZpZWQuPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3ludGF4Ij5TeW50YXg6PC9hPjwvdGg+PHRkPjxjb2RlPkNhY2hlRGVmYXVsdEV4cGlyZSA8dmFyPnNlY29uZHM8L3Zhcj48L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVmYXVsdCI+RGVmYXVsdDo8L2E+PC90aD48dGQ+PGNvZGU+Q2FjaGVEZWZhdWx0RXhwaXJlIDM2MDAgKG9uZSBob3VyKTwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNDb250ZXh0Ij5Db250ZXh0OjwvYT48L3RoPjx0ZD5zZXJ2ZXIgY29uZmlnLCB2aXJ0dWFsIGhvc3Q8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTdGF0dXMiPlN0YXR1czo8L2E+PC90aD48dGQ+RXh0ZW5zaW9uPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjTW9kdWxlIj5Nb2R1bGU6PC9hPjwvdGg+PHRkPm1vZF9jYWNoZTwvdGQ+PC90cj4KPC90YWJsZT4KICAgIDxwPlRoZSA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj5DYWNoZURlZmF1bHRFeHBpcmU8L2NvZGU+IGRpcmVjdGl2ZSBzcGVjaWZpZXMgYSBkZWZhdWx0IHRpbWUsCiAgICBpbiBzZWNvbmRzLCB0byBjYWNoZSBhIGRvY3VtZW50IGlmIG5laXRoZXIgYW4gZXhwaXJ5IGRhdGUgbm9yIGxhc3QtbW9kaWZpZWQgZGF0ZSBhcmUgcHJvdmlkZWQKICAgIHdpdGggdGhlIGRvY3VtZW50LiBUaGUgdmFsdWUgc3BlY2lmaWVkIHdpdGggdGhlIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPkNhY2hlTWF4RXhwaXJlPC9jb2RlPgogICAgZGlyZWN0aXZlIGRvZXMgPGVtPm5vdDwvZW0+IG92ZXJyaWRlIHRoaXMgc2V0dGluZy48L3A+CgogICAgPGRpdiBjbGFzcz0iZXhhbXBsZSI+PHA+PGNvZGU+CiAgICAgIENhY2hlRGVmYXVsdEV4cGlyZSA4NjQwMAogICAgPC9jb2RlPjwvcD48L2Rpdj4KCjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0iZGlyZWN0aXZlLXNlY3Rpb24iPjxoMj48YSBuYW1lPSJDYWNoZURpc2FibGUiIGlkPSJDYWNoZURpc2FibGUiPkNhY2hlRGlzYWJsZTwvYT4gPGEgbmFtZT0iY2FjaGVkaXNhYmxlIiBpZD0iY2FjaGVkaXNhYmxlIj5EaXJlY3RpdmU8L2E+PC9oMj4KPHRhYmxlIGNsYXNzPSJkaXJlY3RpdmUiPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVzY3JpcHRpb24iPkRlc2NyaXB0aW9uOjwvYT48L3RoPjx0ZD5EaXNhYmxlIGNhY2hpbmcgb2Ygc3BlY2lmaWVkIFVSTHM8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTeW50YXgiPlN5bnRheDo8L2E+PC90aD48dGQ+PGNvZGU+Q2FjaGVEaXNhYmxlIDx2YXI+IHVybC1zdHJpbmc8L3Zhcj48L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjQ29udGV4dCI+Q29udGV4dDo8L2E+PC90aD48dGQ+c2VydmVyIGNvbmZpZywgdmlydHVhbCBob3N0PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3RhdHVzIj5TdGF0dXM6PC9hPjwvdGg+PHRkPkV4dGVuc2lvbjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI01vZHVsZSI+TW9kdWxlOjwvYT48L3RoPjx0ZD5tb2RfY2FjaGU8L3RkPjwvdHI+CjwvdGFibGU+CiAgICA8cD5UaGUgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+Q2FjaGVEaXNhYmxlPC9jb2RlPiBkaXJlY3RpdmUgaW5zdHJ1Y3RzCiAgICA8Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuLi9tb2QvbW9kX2NhY2hlLmh0bWwiPm1vZF9jYWNoZTwvYT48L2NvZGU+IHRvIDxlbT5ub3Q8L2VtPiBjYWNoZSB1cmxzIGF0IG9yIGJlbG93CiAgICA8dmFyPnVybC1zdHJpbmc8L3Zhcj4uPC9wPgoKICAgIDxkaXYgY2xhc3M9ImV4YW1wbGUiPjxoMz5FeGFtcGxlPC9oMz48cD48Y29kZT4KICAgICAgQ2FjaGVEaXNhYmxlIC9sb2NhbF9maWxlcwogICAgPC9jb2RlPjwvcD48L2Rpdj4KCjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0iZGlyZWN0aXZlLXNlY3Rpb24iPjxoMj48YSBuYW1lPSJDYWNoZUVuYWJsZSIgaWQ9IkNhY2hlRW5hYmxlIj5DYWNoZUVuYWJsZTwvYT4gPGEgbmFtZT0iY2FjaGVlbmFibGUiIGlkPSJjYWNoZWVuYWJsZSI+RGlyZWN0aXZlPC9hPjwvaDI+Cjx0YWJsZSBjbGFzcz0iZGlyZWN0aXZlIj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0Rlc2NyaXB0aW9uIj5EZXNjcmlwdGlvbjo8L2E+PC90aD48dGQ+RW5hYmxlIGNhY2hpbmcgb2Ygc3BlY2lmaWVkIFVSTHMgdXNpbmcgYSBzcGVjaWZpZWQgc3RvcmFnZQptYW5hZ2VyPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3ludGF4Ij5TeW50YXg6PC9hPjwvdGg+PHRkPjxjb2RlPkNhY2hlRW5hYmxlIDx2YXI+Y2FjaGVfdHlwZTwvdmFyPiA8dmFyPnVybC1zdHJpbmc8L3Zhcj48L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjQ29udGV4dCI+Q29udGV4dDo8L2E+PC90aD48dGQ+c2VydmVyIGNvbmZpZywgdmlydHVhbCBob3N0PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3RhdHVzIj5TdGF0dXM6PC9hPjwvdGg+PHRkPkV4dGVuc2lvbjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI01vZHVsZSI+TW9kdWxlOjwvYT48L3RoPjx0ZD5tb2RfY2FjaGU8L3RkPjwvdHI+CjwvdGFibGU+CiAgICA8cD5UaGUgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+Q2FjaGVFbmFibGU8L2NvZGU+IGRpcmVjdGl2ZSBpbnN0cnVjdHMKICAgIDxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4uL21vZC9tb2RfY2FjaGUuaHRtbCI+bW9kX2NhY2hlPC9hPjwvY29kZT4gdG8gY2FjaGUgdXJscyBhdCBvciBiZWxvdwogICAgPHZhcj51cmwtc3RyaW5nPC92YXI+LiBUaGUgY2FjaGUgc3RvcmFnZSBtYW5hZ2VyIGlzIHNwZWNpZmllZCB3aXRoIHRoZQogICAgPHZhcj5jYWNoZV90eXBlPC92YXI+IGFyZ3VtZW50LiA8dmFyPmNhY2hlX3R5cGU8L3Zhcj4gPGNvZGU+IG1lbTwvY29kZT4KICAgIGluc3RydWN0cyA8Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuLi9tb2QvbW9kX2NhY2hlLmh0bWwiPm1vZF9jYWNoZTwvYT48L2NvZGU+IHRvIHVzZSB0aGUgbWVtb3J5IGJhc2VkIHN0b3JhZ2UKICAgIG1hbmFnZXIgaW1wbGVtZW50ZWQgYnkgPGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi4vbW9kL21vZF9tZW1fY2FjaGUuaHRtbCI+bW9kX21lbV9jYWNoZTwvYT48L2NvZGU+LiAKICAgIDx2YXI+Y2FjaGVfdHlwZTwvdmFyPiA8Y29kZT5kaXNrPC9jb2RlPiBpbnN0cnVjdHMKICAgIDxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4uL21vZC9tb2RfY2FjaGUuaHRtbCI+bW9kX2NhY2hlPC9hPjwvY29kZT4gdG8gdXNlIHRoZSBkaXNrIGJhc2VkIHN0b3JhZ2UgbWFuYWdlcgogICAgaW1wbGVtZW50ZWQgYnkgPGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi4vbW9kL21vZF9kaXNrX2NhY2hlLmh0bWwiPm1vZF9kaXNrX2NhY2hlPC9hPjwvY29kZT4uCiAgICA8dmFyPmNhY2hlX3R5cGU8L3Zhcj4gPGNvZGU+ZmQ8L2NvZGU+IGluc3RydWN0cwogICAgPGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi4vbW9kL21vZF9jYWNoZS5odG1sIj5tb2RfY2FjaGU8L2E+PC9jb2RlPiB0byB1c2UgdGhlIGZpbGUgZGVzY3JpcHRvciBjYWNoZSBpbXBsZW1lbnRlZAogICAgYnkgPGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi4vbW9kL21vZF9tZW1fY2FjaGUuaHRtbCI+bW9kX21lbV9jYWNoZTwvYT48L2NvZGU+LjwvcD4KICAgIDxwPkluIHRoZSBldmVudCB0aGF0IHRoZSBVUkwgc3BhY2Ugb3ZlcmxhcHMgYmV0d2VlbiBkaWZmZXJlbnQKICAgIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPkNhY2hlRW5hYmxlPC9jb2RlPiBkaXJlY3RpdmVzIChhcyBpbiB0aGUgZXhhbXBsZSBiZWxvdyksCiAgICBlYWNoIHBvc3NpYmxlIHN0b3JhZ2UgbWFuYWdlciB3aWxsIGJlIHJ1biB1bnRpbCB0aGUgZmlyc3Qgb25lIHRoYXQKICAgIGFjdHVhbGx5IHByb2Nlc3NlcyB0aGUgcmVxdWVzdC4gVGhlIG9yZGVyIGluIHdoaWNoIHRoZSBzdG9yYWdlIG1hbmFnZXJzIGFyZQogICAgcnVuIGlzIGRldGVybWluZWQgYnkgdGhlIG9yZGVyIG9mIHRoZSA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj5DYWNoZUVuYWJsZTwvY29kZT4KICAgIGRpcmVjdGl2ZXMgaW4gdGhlIGNvbmZpZ3VyYXRpb24gZmlsZS48L3A+CgogICAgPGRpdiBjbGFzcz0iZXhhbXBsZSI+PHA+PGNvZGU+CiAgICAgIENhY2hlRW5hYmxlICBtZW0gICAvbWFudWFsPGJyIC8+CiAgICAgIENhY2hlRW5hYmxlICBmZCAgICAvaW1hZ2VzPGJyIC8+CiAgICAgIENhY2hlRW5hYmxlICBkaXNrICAvPGJyIC8+CiAgICA8L2NvZGU+PC9wPjwvZGl2PgoKICAgIDxwPldoZW4gYWN0aW5nIGFzIGEgZm9yd2FyZCBwcm94eSBzZXJ2ZXIsIDx2YXI+dXJsLXN0cmluZzwvdmFyPiBjYW4KICAgIGFsc28gYmUgdXNlZCB0byBzcGVjaWZ5IHJlbW90ZSBzaXRlcyBhbmQgcHJveHkgcHJvdG9jb2xzIHdoaWNoIAogICAgY2FjaGluZyBzaG91bGQgYmUgZW5hYmxlZCBmb3IuPC9wPgogCiAgICA8ZGl2IGNsYXNzPSJleGFtcGxlIj48cD48Y29kZT4KICAgICAgIyBDYWNoZSBwcm94aWVkIHVybCdzPGJyIC8+CiAgICAgIENhY2hlRW5hYmxlICBkaXNrICAvPGJyIC8+PGJyIC8+CiAgICAgICMgQ2FjaGUgRlRQLXByb3hpZWQgdXJsJ3M8YnIgLz4KICAgICAgQ2FjaGVFbmFibGUgIGRpc2sgIGZ0cDovLzxiciAvPjxiciAvPgogICAgICAjIENhY2hlIGNvbnRlbnQgZnJvbSB3d3cuYXBhY2hlLm9yZzxiciAvPgogICAgICBDYWNoZUVuYWJsZSAgZGlzayAgaHR0cDovL3d3dy5hcGFjaGUub3JnLzxiciAvPgogICAgPC9jb2RlPjwvcD48L2Rpdj4KCgo8L2Rpdj4KPGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9ImRpcmVjdGl2ZS1zZWN0aW9uIj48aDI+PGEgbmFtZT0iQ2FjaGVJZ25vcmVDYWNoZUNvbnRyb2wiIGlkPSJDYWNoZUlnbm9yZUNhY2hlQ29udHJvbCI+Q2FjaGVJZ25vcmVDYWNoZUNvbnRyb2w8L2E+IDxhIG5hbWU9ImNhY2hlaWdub3JlY2FjaGVjb250cm9sIiBpZD0iY2FjaGVpZ25vcmVjYWNoZWNvbnRyb2wiPkRpcmVjdGl2ZTwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPklnbm9yZSByZXF1ZXN0IHRvIG5vdCBzZXJ2ZSBjYWNoZWQgY29udGVudCB0byBjbGllbnQ8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTeW50YXgiPlN5bnRheDo8L2E+PC90aD48dGQ+PGNvZGU+Q2FjaGVJZ25vcmVDYWNoZUNvbnRyb2wgT258T2ZmPC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0RlZmF1bHQiPkRlZmF1bHQ6PC9hPjwvdGg+PHRkPjxjb2RlPkNhY2hlSWdub3JlQ2FjaGVDb250cm9sIE9mZjwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNDb250ZXh0Ij5Db250ZXh0OjwvYT48L3RoPjx0ZD5zZXJ2ZXIgY29uZmlnLCB2aXJ0dWFsIGhvc3Q8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTdGF0dXMiPlN0YXR1czo8L2E+PC90aD48dGQ+RXh0ZW5zaW9uPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjTW9kdWxlIj5Nb2R1bGU6PC9hPjwvdGg+PHRkPm1vZF9jYWNoZTwvdGQ+PC90cj4KPC90YWJsZT4KICAgIDxwPk9yZGluYXJpbHksIHJlcXVlc3RzIGNvbnRhaW5pbmcgYSBDYWNoZS1Db250cm9sOiBuby1jYWNoZSBvcgogICAgUHJhZ21hOiBuby1jYWNoZSBoZWFkZXIgdmFsdWUgd2lsbCBub3QgYmUgc2VydmVkIGZyb20gdGhlIGNhY2hlLiAgVGhlCiAgICA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj5DYWNoZUlnbm9yZUNhY2hlQ29udHJvbDwvY29kZT4gZGlyZWN0aXZlIGFsbG93cyB0aGlzCiAgICBiZWhhdmlvciB0byBiZSBvdmVycmlkZGVuLiAgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+Q2FjaGVJZ25vcmVDYWNoZUNvbnRyb2w8L2NvZGU+CiAgICBPbiB0ZWxscyB0aGUgc2VydmVyIHRvIGF0dGVtcHQgdG8gc2VydmUgdGhlIHJlc291cmNlIGZyb20gdGhlIGNhY2hlIGV2ZW4KICAgIGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIG5vLWNhY2hlIGhlYWRlciB2YWx1ZXMuICBSZXNvdXJjZXMgcmVxdWlyaW5nCiAgICBhdXRob3JpemF0aW9uIHdpbGwgPGVtPm5ldmVyPC9lbT4gYmUgY2FjaGVkLjwvcD4KCiAgICA8ZGl2IGNsYXNzPSJleGFtcGxlIj48cD48Y29kZT4KICAgICAgQ2FjaGVJZ25vcmVDYWNoZUNvbnRyb2wgT24KICAgIDwvY29kZT48L3A+PC9kaXY+CgogICAgPGRpdiBjbGFzcz0id2FybmluZyI+PGgzPldhcm5pbmc6PC9oMz4KICAgICAgIFRoaXMgZGlyZWN0aXZlIHdpbGwgYWxsb3cgc2VydmluZyBmcm9tIHRoZSBjYWNoZSBldmVuIGlmIHRoZSBjbGllbnQgaGFzCiAgICAgICByZXF1ZXN0ZWQgdGhhdCB0aGUgZG9jdW1lbnQgbm90IGJlIHNlcnZlZCBmcm9tIHRoZSBjYWNoZS4gIFRoaXMgbWlnaHQKICAgICAgIHJlc3VsdCBpbiBzdGFsZSBjb250ZW50IGJlaW5nIHNlcnZlZC4KICAgIDwvZGl2PgoKPGgzPlNlZSBhbHNvPC9oMz4KPHVsPgo8bGk+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2NhY2hlc3RvcmVwcml2YXRlIj5DYWNoZVN0b3JlUHJpdmF0ZTwvYT48L2NvZGU+PC9saT4KPGxpPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNjYWNoZXN0b3Jlbm9zdG9yZSI+Q2FjaGVTdG9yZU5vU3RvcmU8L2E+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0iZGlyZWN0aXZlLXNlY3Rpb24iPjxoMj48YSBuYW1lPSJDYWNoZUlnbm9yZUhlYWRlcnMiIGlkPSJDYWNoZUlnbm9yZUhlYWRlcnMiPkNhY2hlSWdub3JlSGVhZGVyczwvYT4gPGEgbmFtZT0iY2FjaGVpZ25vcmVoZWFkZXJzIiBpZD0iY2FjaGVpZ25vcmVoZWFkZXJzIj5EaXJlY3RpdmU8L2E+PC9oMj4KPHRhYmxlIGNsYXNzPSJkaXJlY3RpdmUiPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVzY3JpcHRpb24iPkRlc2NyaXB0aW9uOjwvYT48L3RoPjx0ZD5EbyBub3Qgc3RvcmUgdGhlIGdpdmVuIEhUVFAgaGVhZGVyKHMpIGluIHRoZSBjYWNoZS4KPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3ludGF4Ij5TeW50YXg6PC9hPjwvdGg+PHRkPjxjb2RlPkNhY2hlSWdub3JlSGVhZGVycyA8dmFyPmhlYWRlci1zdHJpbmc8L3Zhcj4gWzx2YXI+aGVhZGVyLXN0cmluZzwvdmFyPl0gLi4uPC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0RlZmF1bHQiPkRlZmF1bHQ6PC9hPjwvdGg+PHRkPjxjb2RlPkNhY2hlSWdub3JlSGVhZGVycyBOb25lPC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0NvbnRleHQiPkNvbnRleHQ6PC9hPjwvdGg+PHRkPnNlcnZlciBjb25maWcsIHZpcnR1YWwgaG9zdDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHVzOjwvYT48L3RoPjx0ZD5FeHRlbnNpb248L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNNb2R1bGUiPk1vZHVsZTo8L2E+PC90aD48dGQ+bW9kX2NhY2hlPC90ZD48L3RyPgo8L3RhYmxlPgogICAgPHA+QWNjb3JkaW5nIHRvIFJGQyAyNjE2LCBob3AtYnktaG9wIEhUVFAgaGVhZGVycyBhcmUgbm90IHN0b3JlZCBpbgogICAgdGhlIGNhY2hlLiAgVGhlIGZvbGxvd2luZyBIVFRQIGhlYWRlcnMgYXJlIGhvcC1ieS1ob3AgaGVhZGVycyBhbmQgdGh1cwogICAgZG8gbm90IGdldCBzdG9yZWQgaW4gdGhlIGNhY2hlIGluIDxlbT5hbnk8L2VtPiBjYXNlIHJlZ2FyZGxlc3Mgb2YgdGhlCiAgICBzZXR0aW5nIG9mIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPkNhY2hlSWdub3JlSGVhZGVyczwvY29kZT46PC9wPgoKICAgIDx1bD4KICAgICAgPGxpPjxjb2RlPkNvbm5lY3Rpb248L2NvZGU+PC9saT4KICAgICAgPGxpPjxjb2RlPktlZXAtQWxpdmU8L2NvZGU+PC9saT4KICAgICAgPGxpPjxjb2RlPlByb3h5LUF1dGhlbnRpY2F0ZTwvY29kZT48L2xpPgogICAgICA8bGk+PGNvZGU+UHJveHktQXV0aG9yaXphdGlvbjwvY29kZT48L2xpPgogICAgICA8bGk+PGNvZGU+VEU8L2NvZGU+PC9saT4KICAgICAgPGxpPjxjb2RlPlRyYWlsZXJzPC9jb2RlPjwvbGk+CiAgICAgIDxsaT48Y29kZT5UcmFuc2Zlci1FbmNvZGluZzwvY29kZT48L2xpPgogICAgICA8bGk+PGNvZGU+VXBncmFkZTwvY29kZT48L2xpPgogICAgPC91bD4KCiAgICA8cD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj5DYWNoZUlnbm9yZUhlYWRlcnM8L2NvZGU+IHNwZWNpZmllcyBhZGRpdGlvbmFsIEhUVFAKICAgIGhlYWRlcnMgdGhhdCBzaG91bGQgbm90IHRvIGJlIHN0b3JlZCBpbiB0aGUgY2FjaGUuICBGb3IgZXhhbXBsZSwgaXQgbWFrZXMKICAgIHNlbnNlIGluIHNvbWUgY2FzZXMgdG8gcHJldmVudCBjb29raWVzIGZyb20gYmVpbmcgc3RvcmVkIGluIHRoZSBjYWNoZS48L3A+CgogICAgPHA+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+Q2FjaGVJZ25vcmVIZWFkZXJzPC9jb2RlPiB0YWtlcyBhIHNwYWNlIHNlcGFyYXRlZCBsaXN0CiAgICBvZiBIVFRQIGhlYWRlcnMgdGhhdCBzaG91bGQgbm90IGJlIHN0b3JlZCBpbiB0aGUgY2FjaGUuIElmIG9ubHkgaG9wLWJ5LWhvcAogICAgaGVhZGVycyBub3Qgc2hvdWxkIGJlIHN0b3JlZCBpbiB0aGUgY2FjaGUgKHRoZSBSRkMgMjYxNiBjb21wbGlhbnQKICAgIGJlaGF2aW91ciksIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPkNhY2hlSWdub3JlSGVhZGVyczwvY29kZT4gY2FuIGJlIHNldCB0bwogICAgPGNvZGU+Tm9uZTwvY29kZT4uPC9wPgoKICAgIDxkaXYgY2xhc3M9ImV4YW1wbGUiPjxoMz5FeGFtcGxlIDE8L2gzPjxwPjxjb2RlPgogICAgICBDYWNoZUlnbm9yZUhlYWRlcnMgU2V0LUNvb2tpZQogICAgPC9jb2RlPjwvcD48L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJleGFtcGxlIj48aDM+RXhhbXBsZSAyPC9oMz48cD48Y29kZT4KICAgICAgQ2FjaGVJZ25vcmVIZWFkZXJzIE5vbmUKICAgIDwvY29kZT48L3A+PC9kaXY+CgogICAgPGRpdiBjbGFzcz0id2FybmluZyI+PGgzPldhcm5pbmc6PC9oMz4KICAgICAgSWYgaGVhZGVycyBsaWtlIDxjb2RlPkV4cGlyZXM8L2NvZGU+IHdoaWNoIGFyZSBuZWVkZWQgZm9yIHByb3BlciBjYWNoZQogICAgICBtYW5hZ2VtZW50IGFyZSBub3Qgc3RvcmVkIGR1ZSB0byBhCiAgICAgIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPkNhY2hlSWdub3JlSGVhZGVyczwvY29kZT4gc2V0dGluZywgdGhlIGJlaGF2aW91ciBvZgogICAgICBtb2RfY2FjaGUgaXMgdW5kZWZpbmVkLgogICAgPC9kaXY+Cgo8L2Rpdj4KPGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9ImRpcmVjdGl2ZS1zZWN0aW9uIj48aDI+PGEgbmFtZT0iQ2FjaGVJZ25vcmVOb0xhc3RNb2QiIGlkPSJDYWNoZUlnbm9yZU5vTGFzdE1vZCI+Q2FjaGVJZ25vcmVOb0xhc3RNb2Q8L2E+IDxhIG5hbWU9ImNhY2hlaWdub3Jlbm9sYXN0bW9kIiBpZD0iY2FjaGVpZ25vcmVub2xhc3Rtb2QiPkRpcmVjdGl2ZTwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPklnbm9yZSB0aGUgZmFjdCB0aGF0IGEgcmVzcG9uc2UgaGFzIG5vIExhc3QgTW9kaWZpZWQKaGVhZGVyLjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N5bnRheCI+U3ludGF4OjwvYT48L3RoPjx0ZD48Y29kZT5DYWNoZUlnbm9yZU5vTGFzdE1vZCBPbnxPZmY8L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVmYXVsdCI+RGVmYXVsdDo8L2E+PC90aD48dGQ+PGNvZGU+Q2FjaGVJZ25vcmVOb0xhc3RNb2QgT2ZmPC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0NvbnRleHQiPkNvbnRleHQ6PC9hPjwvdGg+PHRkPnNlcnZlciBjb25maWcsIHZpcnR1YWwgaG9zdDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHVzOjwvYT48L3RoPjx0ZD5FeHRlbnNpb248L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNNb2R1bGUiPk1vZHVsZTo8L2E+PC90aD48dGQ+bW9kX2NhY2hlPC90ZD48L3RyPgo8L3RhYmxlPgogICAgPHA+T3JkaW5hcmlseSwgZG9jdW1lbnRzIHdpdGhvdXQgYSBsYXN0LW1vZGlmaWVkIGRhdGUgYXJlIG5vdCBjYWNoZWQuCiAgICBVbmRlciBzb21lIGNpcmN1bXN0YW5jZXMgdGhlIGxhc3QtbW9kaWZpZWQgZGF0ZSBpcyByZW1vdmVkIChkdXJpbmcKICAgIDxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4uL21vZC9tb2RfaW5jbHVkZS5odG1sIj5tb2RfaW5jbHVkZTwvYT48L2NvZGU+IHByb2Nlc3NpbmcgZm9yIGV4YW1wbGUpIG9yIG5vdCBwcm92aWRlZAogICAgYXQgYWxsLiBUaGUgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+Q2FjaGVJZ25vcmVOb0xhc3RNb2Q8L2NvZGU+IGRpcmVjdGl2ZQogICAgcHJvdmlkZXMgYSB3YXkgdG8gc3BlY2lmeSB0aGF0IGRvY3VtZW50cyB3aXRob3V0IGxhc3QtbW9kaWZpZWQgZGF0ZXMKICAgIHNob3VsZCBiZSBjb25zaWRlcmVkIGZvciBjYWNoaW5nLCBldmVuIHdpdGhvdXQgYSBsYXN0LW1vZGlmaWVkIGRhdGUuCiAgICBJZiBuZWl0aGVyIGEgbGFzdC1tb2RpZmllZCBkYXRlIG5vciBhbiBleHBpcnkgZGF0ZSBhcmUgcHJvdmlkZWQgd2l0aAogICAgdGhlIGRvY3VtZW50IHRoZW4gdGhlIHZhbHVlIHNwZWNpZmllZCBieSB0aGUKICAgIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPkNhY2hlRGVmYXVsdEV4cGlyZTwvY29kZT4gZGlyZWN0aXZlIHdpbGwgYmUgdXNlZCB0bwogICAgZ2VuZXJhdGUgYW4gZXhwaXJhdGlvbiBkYXRlLjwvcD4KCiAgICA8ZGl2IGNsYXNzPSJleGFtcGxlIj48cD48Y29kZT4KICAgICAgQ2FjaGVJZ25vcmVOb0xhc3RNb2QgT24KICAgIDwvY29kZT48L3A+PC9kaXY+Cgo8L2Rpdj4KPGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9ImRpcmVjdGl2ZS1zZWN0aW9uIj48aDI+PGEgbmFtZT0iQ2FjaGVMYXN0TW9kaWZpZWRGYWN0b3IiIGlkPSJDYWNoZUxhc3RNb2RpZmllZEZhY3RvciI+Q2FjaGVMYXN0TW9kaWZpZWRGYWN0b3I8L2E+IDxhIG5hbWU9ImNhY2hlbGFzdG1vZGlmaWVkZmFjdG9yIiBpZD0iY2FjaGVsYXN0bW9kaWZpZWRmYWN0b3IiPkRpcmVjdGl2ZTwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPlRoZSBmYWN0b3IgdXNlZCB0byBjb21wdXRlIGFuIGV4cGlyeSBkYXRlIGJhc2VkIG9uIHRoZQpMYXN0TW9kaWZpZWQgZGF0ZS48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTeW50YXgiPlN5bnRheDo8L2E+PC90aD48dGQ+PGNvZGU+Q2FjaGVMYXN0TW9kaWZpZWRGYWN0b3IgPHZhcj5mbG9hdDwvdmFyPjwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZWZhdWx0Ij5EZWZhdWx0OjwvYT48L3RoPjx0ZD48Y29kZT5DYWNoZUxhc3RNb2RpZmllZEZhY3RvciAwLjE8L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjQ29udGV4dCI+Q29udGV4dDo8L2E+PC90aD48dGQ+c2VydmVyIGNvbmZpZywgdmlydHVhbCBob3N0PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3RhdHVzIj5TdGF0dXM6PC9hPjwvdGg+PHRkPkV4dGVuc2lvbjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI01vZHVsZSI+TW9kdWxlOjwvYT48L3RoPjx0ZD5tb2RfY2FjaGU8L3RkPjwvdHI+CjwvdGFibGU+CiAgICA8cD5JbiB0aGUgZXZlbnQgdGhhdCBhIGRvY3VtZW50IGRvZXMgbm90IHByb3ZpZGUgYW4gZXhwaXJ5IGRhdGUgYnV0IGRvZXMKICAgIHByb3ZpZGUgYSBsYXN0LW1vZGlmaWVkIGRhdGUsIGFuIGV4cGlyeSBkYXRlIGNhbiBiZSBjYWxjdWxhdGVkIGJhc2VkIG9uCiAgICB0aGUgdGltZSBzaW5jZSB0aGUgZG9jdW1lbnQgd2FzIGxhc3QgbW9kaWZpZWQuIFRoZQogICAgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+Q2FjaGVMYXN0TW9kaWZpZWRGYWN0b3I8L2NvZGU+IGRpcmVjdGl2ZSBzcGVjaWZpZXMgYQogICAgPHZhcj5mYWN0b3I8L3Zhcj4gdG8gYmUgdXNlZCBpbiB0aGUgZ2VuZXJhdGlvbiBvZiB0aGlzIGV4cGlyeSBkYXRlCiAgICBhY2NvcmRpbmcgdG8gdGhlIGZvbGxvd2luZyBmb3JtdWxhOgoKICAgIDxjb2RlPmV4cGlyeS1wZXJpb2QgPSB0aW1lLXNpbmNlLWxhc3QtbW9kaWZpZWQtZGF0ZSAqIDx2YXI+ZmFjdG9yPC92YXI+CiAgICBleHBpcnktZGF0ZSA9IGN1cnJlbnQtZGF0ZSArIGV4cGlyeS1wZXJpb2Q8L2NvZGU+CgogICAgRm9yIGV4YW1wbGUsIGlmIHRoZSBkb2N1bWVudCB3YXMgbGFzdCBtb2RpZmllZCAxMCBob3VycyBhZ28sIGFuZAogICAgPHZhcj5mYWN0b3I8L3Zhcj4gaXMgMC4xIHRoZW4gdGhlIGV4cGlyeS1wZXJpb2Qgd2lsbCBiZSBzZXQgdG8KICAgIDEwKjAuMSA9IDEgaG91ci4gSWYgdGhlIGN1cnJlbnQgdGltZSB3YXMgMzowMHBtIHRoZW4gdGhlIGNvbXB1dGVkCiAgICBleHBpcnktZGF0ZSB3b3VsZCBiZSAzOjAwcG0gKyAxaG91ciA9IDQ6MDBwbS4KCiAgICBJZiB0aGUgZXhwaXJ5LXBlcmlvZCB3b3VsZCBiZSBsb25nZXIgdGhhbiB0aGF0IHNldCBieQogICAgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+Q2FjaGVNYXhFeHBpcmU8L2NvZGU+LCB0aGVuIHRoZSBsYXR0ZXIgdGFrZXMKICAgIHByZWNlZGVuY2UuPC9wPgoKICAgIDxkaXYgY2xhc3M9ImV4YW1wbGUiPjxwPjxjb2RlPgogICAgICBDYWNoZUxhc3RNb2RpZmllZEZhY3RvciAwLjUKICAgIDwvY29kZT48L3A+PC9kaXY+Cgo8L2Rpdj4KPGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9ImRpcmVjdGl2ZS1zZWN0aW9uIj48aDI+PGEgbmFtZT0iQ2FjaGVNYXhFeHBpcmUiIGlkPSJDYWNoZU1heEV4cGlyZSI+Q2FjaGVNYXhFeHBpcmU8L2E+IDxhIG5hbWU9ImNhY2hlbWF4ZXhwaXJlIiBpZD0iY2FjaGVtYXhleHBpcmUiPkRpcmVjdGl2ZTwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPlRoZSBtYXhpbXVtIHRpbWUgaW4gc2Vjb25kcyB0byBjYWNoZSBhIGRvY3VtZW50PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3ludGF4Ij5TeW50YXg6PC9hPjwvdGg+PHRkPjxjb2RlPkNhY2hlTWF4RXhwaXJlIDx2YXI+c2Vjb25kczwvdmFyPjwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZWZhdWx0Ij5EZWZhdWx0OjwvYT48L3RoPjx0ZD48Y29kZT5DYWNoZU1heEV4cGlyZSA4NjQwMCAob25lIGRheSk8L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjQ29udGV4dCI+Q29udGV4dDo8L2E+PC90aD48dGQ+c2VydmVyIGNvbmZpZywgdmlydHVhbCBob3N0PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3RhdHVzIj5TdGF0dXM6PC9hPjwvdGg+PHRkPkV4dGVuc2lvbjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI01vZHVsZSI+TW9kdWxlOjwvYT48L3RoPjx0ZD5tb2RfY2FjaGU8L3RkPjwvdHI+CjwvdGFibGU+CiAgICA8cD5UaGUgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+Q2FjaGVNYXhFeHBpcmU8L2NvZGU+IGRpcmVjdGl2ZSBzcGVjaWZpZXMgdGhlIG1heGltdW0gbnVtYmVyIG9mCiAgICBzZWNvbmRzIGZvciB3aGljaCBjYWNoYWJsZSBIVFRQIGRvY3VtZW50cyB3aWxsIGJlIHJldGFpbmVkIHdpdGhvdXQgY2hlY2tpbmcgdGhlIG9yaWdpbgogICAgc2VydmVyLiBUaHVzLCBkb2N1bWVudHMgd2lsbCBiZSBvdXQgb2YgZGF0ZSBhdCBtb3N0IHRoaXMgbnVtYmVyIG9mIHNlY29uZHMuIFRoaXMgbWF4aW11bQogICAgdmFsdWUgaXMgZW5mb3JjZWQgZXZlbiBpZiBhbiBleHBpcnkgZGF0ZSB3YXMgc3VwcGxpZWQgd2l0aCB0aGUgZG9jdW1lbnQuPC9wPgoKICAgIDxkaXYgY2xhc3M9ImV4YW1wbGUiPjxwPjxjb2RlPgogICAgICBDYWNoZU1heEV4cGlyZSA2MDQ4MDAKICAgIDwvY29kZT48L3A+PC9kaXY+Cgo8L2Rpdj4KPGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9ImRpcmVjdGl2ZS1zZWN0aW9uIj48aDI+PGEgbmFtZT0iQ2FjaGVTdG9yZU5vU3RvcmUiIGlkPSJDYWNoZVN0b3JlTm9TdG9yZSI+Q2FjaGVTdG9yZU5vU3RvcmU8L2E+IDxhIG5hbWU9ImNhY2hlc3RvcmVub3N0b3JlIiBpZD0iY2FjaGVzdG9yZW5vc3RvcmUiPkRpcmVjdGl2ZTwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPkF0dGVtcHQgdG8gY2FjaGUgcmVxdWVzdHMgb3IgcmVzcG9uc2VzIHRoYXQgaGF2ZSBiZWVuIG1hcmtlZCBhcyBuby1zdG9yZS48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTeW50YXgiPlN5bnRheDo8L2E+PC90aD48dGQ+PGNvZGU+Q2FjaGVTdG9yZU5vU3RvcmUgT258T2ZmPC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0RlZmF1bHQiPkRlZmF1bHQ6PC9hPjwvdGg+PHRkPjxjb2RlPkNhY2hlU3RvcmVOb1N0b3JlIE9mZjwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNDb250ZXh0Ij5Db250ZXh0OjwvYT48L3RoPjx0ZD5zZXJ2ZXIgY29uZmlnLCB2aXJ0dWFsIGhvc3Q8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTdGF0dXMiPlN0YXR1czo8L2E+PC90aD48dGQ+RXh0ZW5zaW9uPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjTW9kdWxlIj5Nb2R1bGU6PC9hPjwvdGg+PHRkPm1vZF9jYWNoZTwvdGQ+PC90cj4KPC90YWJsZT4KICAgIDxwPk9yZGluYXJpbHksIHJlcXVlc3RzIG9yIHJlc3BvbnNlcyB3aXRoIENhY2hlLUNvbnRyb2w6IG5vLXN0b3JlIGhlYWRlcgogICAgICAgdmFsdWVzIHdpbGwgbm90IGJlIHN0b3JlZCBpbiB0aGUgY2FjaGUuICBUaGUKICAgICAgIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPkNhY2hlU3RvcmVOb0NhY2hlPC9jb2RlPiBkaXJlY3RpdmUgYWxsb3dzIHRoaXMKICAgICAgIGJlaGF2aW9yIHRvIGJlIG92ZXJyaWRkZW4uICA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj5DYWNoZVN0b3JlTm9DYWNoZTwvY29kZT4gT24KICAgICAgIHRlbGxzIHRoZSBzZXJ2ZXIgdG8gYXR0ZW1wdCB0byBjYWNoZSB0aGUgcmVzb3VyY2UgZXZlbiBpZiBpdCBjb250YWlucwogICAgICAgbm8tc3RvcmUgaGVhZGVyIHZhbHVlcy4gIFJlc291cmNlcyByZXF1aXJpbmcgYXV0aG9yaXphdGlvbiB3aWxsCiAgICAgICA8ZW0+bmV2ZXI8L2VtPiBiZSBjYWNoZWQuPC9wPgoKICAgIDxkaXYgY2xhc3M9ImV4YW1wbGUiPjxwPjxjb2RlPgogICAgICBDYWNoZVN0b3JlTm9TdG9yZSBPbgogICAgPC9jb2RlPjwvcD48L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJ3YXJuaW5nIj48aDM+V2FybmluZzo8L2gzPgogICAgICAgQXMgZGVzY3JpYmVkIGluIFJGQyAyNjE2LCB0aGUgbm8tc3RvcmUgZGlyZWN0aXZlIGlzIGludGVuZGVkIHRvCiAgICAgICAicHJldmVudCB0aGUgaW5hZHZlcnRlbnQgcmVsZWFzZSBvciByZXRlbnRpb24gb2Ygc2Vuc2l0aXZlIGluZm9ybWF0aW9uCiAgICAgICAoZm9yIGV4YW1wbGUsIG9uIGJhY2t1cCB0YXBlcykuIiAgRW5hYmxpbmcgdGhpcyBvcHRpb24gY291bGQgc3RvcmUKICAgICAgIHNlbnNpdGl2ZSBpbmZvcm1hdGlvbiBpbiB0aGUgY2FjaGUuICBZb3UgYXJlIGhlcmVieSB3YXJuZWQuCiAgICA8L2Rpdj4KCjxoMz5TZWUgYWxzbzwvaDM+Cjx1bD4KPGxpPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNjYWNoZWlnbm9yZWNhY2hlY29udHJvbCI+Q2FjaGVJZ25vcmVDYWNoZUNvbnRyb2w8L2E+PC9jb2RlPjwvbGk+CjxsaT48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjY2FjaGVzdG9yZXByaXZhdGUiPkNhY2hlU3RvcmVQcml2YXRlPC9hPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj4KPGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9ImRpcmVjdGl2ZS1zZWN0aW9uIj48aDI+PGEgbmFtZT0iQ2FjaGVTdG9yZVByaXZhdGUiIGlkPSJDYWNoZVN0b3JlUHJpdmF0ZSI+Q2FjaGVTdG9yZVByaXZhdGU8L2E+IDxhIG5hbWU9ImNhY2hlc3RvcmVwcml2YXRlIiBpZD0iY2FjaGVzdG9yZXByaXZhdGUiPkRpcmVjdGl2ZTwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPkF0dGVtcHQgdG8gY2FjaGUgcmVzcG9uc2VzIHRoYXQgdGhlIHNlcnZlciBoYXMgbWFya2VkIGFzIHByaXZhdGU8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTeW50YXgiPlN5bnRheDo8L2E+PC90aD48dGQ+PGNvZGU+Q2FjaGVTdG9yZVByaXZhdGUgT258T2ZmPC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0RlZmF1bHQiPkRlZmF1bHQ6PC9hPjwvdGg+PHRkPjxjb2RlPkNhY2hlU3RvcmVQcml2YXRlIE9mZjwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNDb250ZXh0Ij5Db250ZXh0OjwvYT48L3RoPjx0ZD5zZXJ2ZXIgY29uZmlnLCB2aXJ0dWFsIGhvc3Q8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTdGF0dXMiPlN0YXR1czo8L2E+PC90aD48dGQ+RXh0ZW5zaW9uPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjTW9kdWxlIj5Nb2R1bGU6PC9hPjwvdGg+PHRkPm1vZF9jYWNoZTwvdGQ+PC90cj4KPC90YWJsZT4KICAgIDxwPk9yZGluYXJpbHksIHJlc3BvbnNlcyB3aXRoIENhY2hlLUNvbnRyb2w6IHByaXZhdGUgaGVhZGVyIHZhbHVlcyB3aWxsIG5vdAogICAgICAgYmUgc3RvcmVkIGluIHRoZSBjYWNoZS4gIFRoZSA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj5DYWNoZVN0b3JlUHJpdmF0ZTwvY29kZT4KICAgICAgIGRpcmVjdGl2ZSBhbGxvd3MgdGhpcyBiZWhhdmlvciB0byBiZSBvdmVycmlkZGVuLgogICAgICAgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+Q2FjaGVTdG9yZVByaXZhdGU8L2NvZGU+IE9uCiAgICAgICB0ZWxscyB0aGUgc2VydmVyIHRvIGF0dGVtcHQgdG8gY2FjaGUgdGhlIHJlc291cmNlIGV2ZW4gaWYgaXQgY29udGFpbnMKICAgICAgIHByaXZhdGUgaGVhZGVyIHZhbHVlcy4gIFJlc291cmNlcyByZXF1aXJpbmcgYXV0aG9yaXphdGlvbiB3aWxsCiAgICAgICA8ZW0+bmV2ZXI8L2VtPiBiZSBjYWNoZWQuPC9wPgoKICAgIDxkaXYgY2xhc3M9ImV4YW1wbGUiPjxwPjxjb2RlPgogICAgICBDYWNoZVN0b3JlUHJpdmF0ZSBPbgogICAgPC9jb2RlPjwvcD48L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJ3YXJuaW5nIj48aDM+V2FybmluZzo8L2gzPgogICAgICAgVGhpcyBkaXJlY3RpdmUgd2lsbCBhbGxvdyBjYWNoaW5nIGV2ZW4gaWYgdGhlIHVwc3RyZWFtIHNlcnZlciBoYXMKICAgICAgIHJlcXVlc3RlZCB0aGF0IHRoZSByZXNvdXJjZSBub3QgYmUgY2FjaGVkLiAgVGhpcyBkaXJlY3RpdmUgaXMgb25seQogICAgICAgaWRlYWwgZm9yIGEgJ3ByaXZhdGUnIGNhY2hlLgogICAgPC9kaXY+Cgo8aDM+U2VlIGFsc288L2gzPgo8dWw+CjxsaT48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjY2FjaGVpZ25vcmVjYWNoZWNvbnRyb2wiPkNhY2hlSWdub3JlQ2FjaGVDb250cm9sPC9hPjwvY29kZT48L2xpPgo8bGk+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2NhY2hlc3RvcmVub3N0b3JlIj5DYWNoZVN0b3JlTm9TdG9yZTwvYT48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJib3R0b21sYW5nIj4KPHA+PHNwYW4+QXZhaWxhYmxlIExhbmd1YWdlczogPC9zcGFuPjxhIGhyZWY9Ii4uL2VuL21vZC9tb2RfY2FjaGUuaHRtbCIgdGl0bGU9IkVuZ2xpc2giPiZuYnNwO2VuJm5ic3A7PC9hPiB8CjxhIGhyZWY9Ii4uL2phL21vZC9tb2RfY2FjaGUuaHRtbCIgaHJlZmxhbmc9ImphIiByZWw9ImFsdGVybmF0ZSIgdGl0bGU9IkphcGFuZXNlIj4mbmJzcDtqYSZuYnNwOzwvYT4gfAo8YSBocmVmPSIuLi9rby9tb2QvbW9kX2NhY2hlLmh0bWwiIGhyZWZsYW5nPSJrbyIgcmVsPSJhbHRlcm5hdGUiIHRpdGxlPSJLb3JlYW4iPiZuYnNwO2tvJm5ic3A7PC9hPjwvcD4KPC9kaXY+PGRpdiBpZD0iZm9vdGVyIj4KPHAgY2xhc3M9ImFwYWNoZSI+Q29weXJpZ2h0IDE5OTUtMjAwNSBUaGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gb3IgaXRzIGxpY2Vuc29ycywgYXMgYXBwbGljYWJsZS48YnIgLz5MaWNlbnNlZCB1bmRlciB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wIj5BcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjA8L2E+LjwvcD4KPHAgY2xhc3M9Im1lbnUiPjxhIGhyZWY9Ii4uL21vZC8iPk1vZHVsZXM8L2E+IHwgPGEgaHJlZj0iLi4vbW9kL2RpcmVjdGl2ZXMuaHRtbCI+RGlyZWN0aXZlczwvYT4gfCA8YSBocmVmPSIuLi9mYXEvIj5GQVE8L2E+IHwgPGEgaHJlZj0iLi4vZ2xvc3NhcnkuaHRtbCI+R2xvc3Nhcnk8L2E+IHwgPGEgaHJlZj0iLi4vc2l0ZW1hcC5odG1sIj5TaXRlbWFwPC9hPjwvcD48L2Rpdj4KPC9ib2R5PjwvaHRtbD4=