PGh0bWwgZGlyPSJMVFIiPg0KICA8aGVhZD4NCiAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiIC8+DQogICAgPG1ldGEgbmFtZT0idnNfdGFyZ2V0U2NoZW1hIiBjb250ZW50PSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2ludGVsbGlzZW5zZS9pZTUiIC8+DQogICAgPHRpdGxlPlRvU3RyaW5nIE1ldGhvZDwvdGl0bGU+DQogICAgPHhtbD4NCiAgICA8L3htbD4NCiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJNU0ROLmNzcyIgLz4NCiAgPC9oZWFkPg0KICA8Ym9keSBpZD0iYm9keUlEIiBjbGFzcz0iZHRCT0RZIj4NCiAgICA8ZGl2IGlkPSJuc2Jhbm5lciI+DQogICAgICA8ZGl2IGlkPSJiYW5uZXJyb3cxIj4NCiAgICAgICAgPHRhYmxlIGNsYXNzPSJiYW5uZXJwYXJ0aGVhZCIgY2VsbHNwYWNpbmc9IjAiPg0KICAgICAgICAgIDx0ciBpZD0iaGRyIj4NCiAgICAgICAgICAgIDx0ZCBjbGFzcz0icnVubmluZ2hlYWQiPkFwYWNoZSBMdWNlbmUuTmV0IDIuNC4wIENsYXNzIExpYnJhcnkgQVBJPC90ZD4NCiAgICAgICAgICAgIDx0ZCBjbGFzcz0icHJvZHVjdCI+DQogICAgICAgICAgICA8L3RkPg0KICAgICAgICAgIDwvdHI+DQogICAgICAgIDwvdGFibGU+DQogICAgICA8L2Rpdj4NCiAgICAgIDxkaXYgaWQ9IlRpdGxlUm93Ij4NCiAgICAgICAgPGgxIGNsYXNzPSJkdEgxIj5GaWx0ZXJlZFF1ZXJ5LlRvU3RyaW5noE1ldGhvZDwvaDE+DQogICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCiAgICA8ZGl2IGlkPSJuc3RleHQiPg0KICAgICAgPHA+UHJpbnRzIGEgdXNlci1yZWFkYWJsZSB2ZXJzaW9uIG9mIHRoaXMgcXVlcnkuIDwvcD4NCiAgICAgIDxoNCBjbGFzcz0iZHRINCI+T3ZlcmxvYWQgTGlzdDwvaDQ+DQogICAgICA8cD5Jbmhlcml0ZWQgZnJvbSA8YSBocmVmPSJMdWNlbmUuTmV0LlNlYXJjaC5RdWVyeS5odG1sIj5RdWVyeTwvYT4uPC9wPg0KICAgICAgPGJsb2NrcXVvdGUgY2xhc3M9ImR0QmxvY2siPg0KICAgICAgICA8YSBocmVmPSJMdWNlbmUuTmV0LlNlYXJjaC5RdWVyeS5Ub1N0cmluZ19vdmVybG9hZHMuaHRtbCI+cHVibGljoG92ZXJyaWRloHN0cmluZ6BUb1N0cmluZygpOzwvYT4NCiAgICAgIDwvYmxvY2txdW90ZT4NCiAgICAgIDxwPlByaW50cyBhIHVzZXItcmVhZGFibGUgdmVyc2lvbiBvZiB0aGlzIHF1ZXJ5LiA8L3A+DQogICAgICA8YmxvY2txdW90ZSBjbGFzcz0iZHRCbG9jayI+DQogICAgICAgIDxhIGhyZWY9Ikx1Y2VuZS5OZXQuU2VhcmNoLkZpbHRlcmVkUXVlcnkuVG9TdHJpbmdfb3ZlcmxvYWRfMS5odG1sIj5wdWJsaWOgb3ZlcnJpZGWgc3RyaW5noFRvU3RyaW5nKHN0cmluZyk7PC9hPg0KICAgICAgPC9ibG9ja3F1b3RlPg0KICAgICAgPGg0IGNsYXNzPSJkdEg0Ij5TZWUgQWxzbzwvaDQ+DQogICAgICA8cD4NCiAgICAgICAgPGEgaHJlZj0iTHVjZW5lLk5ldC5TZWFyY2guRmlsdGVyZWRRdWVyeS5odG1sIj5GaWx0ZXJlZFF1ZXJ5IENsYXNzPC9hPiB8IDxhIGhyZWY9Ikx1Y2VuZS5OZXQuU2VhcmNoLmh0bWwiPkx1Y2VuZS5OZXQuU2VhcmNoIE5hbWVzcGFjZTwvYT48L3A+DQogICAgICA8aHIgLz4NCiAgICAgIDxkaXYgaWQ9ImZvb3RlciI+DQogICAgICAgIDxwPg0KICAgICAgICA8L3A+DQogICAgICAgIDxwPkdlbmVyYXRlZCBmcm9tIGFzc2VtYmx5IEx1Y2VuZS5OZXQgWzIuNC4wLjJdPC9wPg0KICAgICAgPC9kaXY+DQogICAgPC9kaXY+DQogIDwvYm9keT4NCjwvaHRtbD4=