PGh0bWwgZGlyPSJMVFIiPg0KICA8aGVhZD4NCiAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiIC8+DQogICAgPG1ldGEgbmFtZT0idnNfdGFyZ2V0U2NoZW1hIiBjb250ZW50PSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2ludGVsbGlzZW5zZS9pZTUiIC8+DQogICAgPHRpdGxlPkhpdHMgTWV0aG9kczwvdGl0bGU+DQogICAgPHhtbD4NCiAgICA8L3htbD4NCiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJNU0ROLmNzcyIgLz4NCiAgPC9oZWFkPg0KICA8Ym9keSBpZD0iYm9keUlEIiBjbGFzcz0iZHRCT0RZIj4NCiAgICA8ZGl2IGlkPSJuc2Jhbm5lciI+DQogICAgICA8ZGl2IGlkPSJiYW5uZXJyb3cxIj4NCiAgICAgICAgPHRhYmxlIGNsYXNzPSJiYW5uZXJwYXJ0aGVhZCIgY2VsbHNwYWNpbmc9IjAiPg0KICAgICAgICAgIDx0ciBpZD0iaGRyIj4NCiAgICAgICAgICAgIDx0ZCBjbGFzcz0icnVubmluZ2hlYWQiPkFwYWNoZSBMdWNlbmUuTmV0IDIuNC4wIENsYXNzIExpYnJhcnkgQVBJPC90ZD4NCiAgICAgICAgICAgIDx0ZCBjbGFzcz0icHJvZHVjdCI+DQogICAgICAgICAgICA8L3RkPg0KICAgICAgICAgIDwvdHI+DQogICAgICAgIDwvdGFibGU+DQogICAgICA8L2Rpdj4NCiAgICAgIDxkaXYgaWQ9IlRpdGxlUm93Ij4NCiAgICAgICAgPGgxIGNsYXNzPSJkdEgxIj5IaXRzoE1ldGhvZHM8L2gxPg0KICAgICAgPC9kaXY+DQogICAgPC9kaXY+DQogICAgPGRpdiBpZD0ibnN0ZXh0Ij4NCiAgICAgIDxwPlRoZSBtZXRob2RzIG9mIHRoZSA8Yj5IaXRzPC9iPiBjbGFzcyBhcmUgbGlzdGVkIGJlbG93LiBGb3IgYSBjb21wbGV0ZSBsaXN0IG9mIDxiPkhpdHM8L2I+IGNsYXNzIG1lbWJlcnMsIHNlZSB0aGUgPGEgaHJlZj0iTHVjZW5lLk5ldC5TZWFyY2guSGl0c01lbWJlcnMuaHRtbCI+SGl0cyBNZW1iZXJzPC9hPiB0b3BpYy48L3A+DQogICAgICA8aDQgY2xhc3M9ImR0SDQiPlB1YmxpYyBJbnN0YW5jZSBNZXRob2RzPC9oND4NCiAgICAgIDxkaXYgY2xhc3M9InRhYmxlZGl2Ij4NCiAgICAgICAgPHRhYmxlIGNsYXNzPSJkdFRBQkxFIiBjZWxsc3BhY2luZz0iMCI+Cjx0ciBWQUxJR049InRvcCI+PHRkIHdpZHRoPSI1MCUiPjxpbWcgc3JjPSJwdWJtZXRob2QuZ2lmIj48L2ltZz48YSBocmVmPSJMdWNlbmUuTmV0LlNlYXJjaC5IaXRzLkRvYy5odG1sIj5Eb2M8L2E+PC90ZD48dGQgd2lkdGg9IjUwJSI+oDwvdGQ+PC90cj4KPHRyIFZBTElHTj0idG9wIj48dGQgd2lkdGg9IjUwJSI+PGltZyBzcmM9InB1Ym1ldGhvZC5naWYiPjwvaW1nPjxhIGhyZWY9Im1zLWhlbHA6Ly9NUy5ORVRGcmFtZXdvcmtTREt2MS4xL2NwcmVmL2h0bWwvZnJscmZTeXN0ZW1PYmplY3RDbGFzc0VxdWFsc1RvcGljLmh0bSI+RXF1YWxzPC9hPiAoaW5oZXJpdGVkIGZyb20gPGI+T2JqZWN0PC9iPik8L3RkPjx0ZCB3aWR0aD0iNTAlIj5EZXRlcm1pbmVzIHdoZXRoZXIgdGhlIHNwZWNpZmllZCA8YSBocmVmPSJtcy1oZWxwOi8vTVMuTkVURnJhbWV3b3JrU0RLdjEuMS9jcHJlZi9odG1sL2ZybHJmU3lzdGVtT2JqZWN0Q2xhc3NUb3BpYy5odG0iPk9iamVjdDwvYT4gaXMgZXF1YWwgdG8gdGhlIGN1cnJlbnQgPGEgaHJlZj0ibXMtaGVscDovL01TLk5FVEZyYW1ld29ya1NES3YxLjEvY3ByZWYvaHRtbC9mcmxyZlN5c3RlbU9iamVjdENsYXNzVG9waWMuaHRtIj5PYmplY3Q8L2E+LjwvdGQ+PC90cj4KPHRyIFZBTElHTj0idG9wIj48dGQgd2lkdGg9IjUwJSI+PGltZyBzcmM9InB1Ym1ldGhvZC5naWYiPjwvaW1nPjxhIGhyZWY9Im1zLWhlbHA6Ly9NUy5ORVRGcmFtZXdvcmtTREt2MS4xL2NwcmVmL2h0bWwvZnJscmZTeXN0ZW1PYmplY3RDbGFzc0dldEhhc2hDb2RlVG9waWMuaHRtIj5HZXRIYXNoQ29kZTwvYT4gKGluaGVyaXRlZCBmcm9tIDxiPk9iamVjdDwvYj4pPC90ZD48dGQgd2lkdGg9IjUwJSI+U2VydmVzIGFzIGEgaGFzaCBmdW5jdGlvbiBmb3IgYSBwYXJ0aWN1bGFyIHR5cGUuIDxiPkdldEhhc2hDb2RlPC9iPiBpcyBzdWl0YWJsZSBmb3IgdXNlIGluIGhhc2hpbmcgYWxnb3JpdGhtcyBhbmQgZGF0YSBzdHJ1Y3R1cmVzIGxpa2UgYSBoYXNoIHRhYmxlLjwvdGQ+PC90cj4KPHRyIFZBTElHTj0idG9wIj48dGQgd2lkdGg9IjUwJSI+PGltZyBzcmM9InB1Ym1ldGhvZC5naWYiPjwvaW1nPjxhIGhyZWY9Im1zLWhlbHA6Ly9NUy5ORVRGcmFtZXdvcmtTREt2MS4xL2NwcmVmL2h0bWwvZnJscmZTeXN0ZW1PYmplY3RDbGFzc0dldFR5cGVUb3BpYy5odG0iPkdldFR5cGU8L2E+IChpbmhlcml0ZWQgZnJvbSA8Yj5PYmplY3Q8L2I+KTwvdGQ+PHRkIHdpZHRoPSI1MCUiPkdldHMgdGhlIDxhIGhyZWY9Im1zLWhlbHA6Ly9NUy5ORVRGcmFtZXdvcmtTREt2MS4xL2NwcmVmL2h0bWwvZnJscmZTeXN0ZW1UeXBlQ2xhc3NUb3BpYy5odG0iPlR5cGU8L2E+IG9mIHRoZSBjdXJyZW50IGluc3RhbmNlLjwvdGQ+PC90cj4KPHRyIFZBTElHTj0idG9wIj48dGQgd2lkdGg9IjUwJSI+PGltZyBzcmM9InB1Ym1ldGhvZC5naWYiPjwvaW1nPjxhIGhyZWY9Ikx1Y2VuZS5OZXQuU2VhcmNoLkhpdHMuSWQuaHRtbCI+SWQ8L2E+PC90ZD48dGQgd2lkdGg9IjUwJSI+UmV0dXJucyB0aGUgaWQgZm9yIHRoZSBuPHN1cD50aDwvc3VwPiBkb2N1bWVudCBpbiB0aGlzIHNldC4gTm90ZSB0aGF0IGlkcyBtYXkgY2hhbmdlIHdoZW4gdGhlIGluZGV4IGNoYW5nZXMsIHNvIHlvdSBjYW5ub3QgcmVseSBvbiB0aGUgaWQgdG8gYmUgc3RhYmxlLiA8L3RkPjwvdHI+Cjx0ciBWQUxJR049InRvcCI+PHRkIHdpZHRoPSI1MCUiPjxpbWcgc3JjPSJwdWJtZXRob2QuZ2lmIj48L2ltZz48YSBocmVmPSJMdWNlbmUuTmV0LlNlYXJjaC5IaXRzLkl0ZXJhdG9yLmh0bWwiPkl0ZXJhdG9yPC9hPjwvdGQ+PHRkIHdpZHRoPSI1MCUiPiBSZXR1cm5zIGEge0BsaW5rIEhpdEl0ZXJhdG9yfSB0byBuYXZpZ2F0ZSB0aGUgSGl0cy4gRWFjaCBpdGVtIHJldHVybmVkIGZyb20ge0BsaW5rIEl0ZXJhdG9yI25leHQoKX0gaXMgYSB7QGxpbmsgSGl0fS4gDQogICAgICAgICAgICA8Yj5DYXV0aW9uOjwvYj4gSXRlcmF0ZSBvbmx5IG92ZXIgdGhlIGhpdHMgbmVlZGVkLiBJdGVyYXRpbmcgb3ZlciBhbGwgaGl0cyBpcyBnZW5lcmFsbHkgbm90IGRlc2lyYWJsZSBhbmQgbWF5IGJlIHRoZSBzb3VyY2Ugb2YgcGVyZm9ybWFuY2UgaXNzdWVzLiBJZiB5b3UgbmVlZCB0byBpdGVyYXRlIG92ZXIgbWFueSBvciBhbGwgaGl0cywgY29uc2lkZXIgdXNpbmcgYSBzZWFyY2ggbWV0aG9kIHRoYXQgdGFrZXMgYSB7QGxpbmsgSGl0Q29sbGVjdG9yfS4gDQogICAgICAgICAgICA8L3RkPjwvdHI+Cjx0ciBWQUxJR049InRvcCI+PHRkIHdpZHRoPSI1MCUiPjxpbWcgc3JjPSJwdWJtZXRob2QuZ2lmIj48L2ltZz48YSBocmVmPSJMdWNlbmUuTmV0LlNlYXJjaC5IaXRzLkxlbmd0aC5odG1sIj5MZW5ndGg8L2E+PC90ZD48dGQgd2lkdGg9IjUwJSI+UmV0dXJucyB0aGUgdG90YWwgbnVtYmVyIG9mIGhpdHMgYXZhaWxhYmxlIGluIHRoaXMgc2V0LiA8L3RkPjwvdHI+Cjx0ciBWQUxJR049InRvcCI+PHRkIHdpZHRoPSI1MCUiPjxpbWcgc3JjPSJwdWJtZXRob2QuZ2lmIj48L2ltZz48YSBocmVmPSJMdWNlbmUuTmV0LlNlYXJjaC5IaXRzLlNjb3JlLmh0bWwiPlNjb3JlPC9hPjwvdGQ+PHRkIHdpZHRoPSI1MCUiPlJldHVybnMgdGhlIHNjb3JlIGZvciB0aGUgbjxzdXA+dGg8L3N1cD4gZG9jdW1lbnQgaW4gdGhpcyBzZXQuIDwvdGQ+PC90cj4KPHRyIFZBTElHTj0idG9wIj48dGQgd2lkdGg9IjUwJSI+PGltZyBzcmM9InB1Ym1ldGhvZC5naWYiPjwvaW1nPjxhIGhyZWY9Im1zLWhlbHA6Ly9NUy5ORVRGcmFtZXdvcmtTREt2MS4xL2NwcmVmL2h0bWwvZnJscmZTeXN0ZW1PYmplY3RDbGFzc1RvU3RyaW5nVG9waWMuaHRtIj5Ub1N0cmluZzwvYT4gKGluaGVyaXRlZCBmcm9tIDxiPk9iamVjdDwvYj4pPC90ZD48dGQgd2lkdGg9IjUwJSI+UmV0dXJucyBhIDxhIGhyZWY9Im1zLWhlbHA6Ly9NUy5ORVRGcmFtZXdvcmtTREt2MS4xL2NwcmVmL2h0bWwvZnJscmZTeXN0ZW1TdHJpbmdDbGFzc1RvcGljLmh0bSI+U3RyaW5nPC9hPiB0aGF0IHJlcHJlc2VudHMgdGhlIGN1cnJlbnQgPGEgaHJlZj0ibXMtaGVscDovL01TLk5FVEZyYW1ld29ya1NES3YxLjEvY3ByZWYvaHRtbC9mcmxyZlN5c3RlbU9iamVjdENsYXNzVG9waWMuaHRtIj5PYmplY3Q8L2E+LjwvdGQ+PC90cj48L3RhYmxlPg0KICAgICAgPC9kaXY+DQogICAgICA8aDQgY2xhc3M9ImR0SDQiPlNlZSBBbHNvPC9oND4NCiAgICAgIDxwPg0KICAgICAgICA8YSBocmVmPSJMdWNlbmUuTmV0LlNlYXJjaC5IaXRzLmh0bWwiPkhpdHMgQ2xhc3M8L2E+IHwgPGEgaHJlZj0iTHVjZW5lLk5ldC5TZWFyY2guaHRtbCI+THVjZW5lLk5ldC5TZWFyY2ggTmFtZXNwYWNlPC9hPjwvcD4NCiAgICAgIDxvYmplY3QgdHlwZT0iYXBwbGljYXRpb24veC1vbGVvYmplY3QiIGNsYXNzaWQ9ImNsc2lkOjFlMmE3YmQwLWRhYjktMTFkMC1iOTNhLTAwYzA0ZmM5OWY5ZSIgdmlld2FzdGV4dD0idHJ1ZSIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij4NCiAgICAgICAgPHBhcmFtIG5hbWU9IktleXdvcmQiIHZhbHVlPSJIaXRzIGNsYXNzLCBtZXRob2RzIj4NCiAgICAgICAgPC9wYXJhbT4NCiAgICAgIDwvb2JqZWN0Pg0KICAgICAgPGhyIC8+DQogICAgICA8ZGl2IGlkPSJmb290ZXIiPg0KICAgICAgICA8cD4NCiAgICAgICAgPC9wPg0KICAgICAgICA8cD5HZW5lcmF0ZWQgZnJvbSBhc3NlbWJseSBMdWNlbmUuTmV0IFsyLjQuMC4yXTwvcD4NCiAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg0KICA8L2JvZHk+DQo8L2h0bWw+