PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS0xIj4KPHRpdGxlPlRoZSBleHRlcm5hbCB0ZXN0IHJ1bm5lciB2YXJpYW50IG9mIHRoZSBVVEY8L3RpdGxlPgo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uLy4uL3N0eWxlL3N0eWxlLmNzcyIgdHlwZT0idGV4dC9jc3MiPgo8bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkRvY0Jvb2sgWFNMIFN0eWxlc2hlZXRzIFYxLjc0LjAiPgo8bGluayByZWw9ImhvbWUiIGhyZWY9Ii4uLy4uLy4uL2luZGV4Lmh0bWwiIHRpdGxlPSJCb29zdCBUZXN0IExpYnJhcnkiPgo8bGluayByZWw9InVwIiBocmVmPSIuLi91c2FnZS12YXJpYW50cy5odG1sIiB0aXRsZT0iVGhlIFVURiB1c2FnZSB2YXJpYW50cyBvciB0aGUgQnVyaWRhbidzIGRvbmtleSBwYXJhYmxlIj4KPGxpbmsgcmVsPSJwcmV2IiBocmVmPSJzaW5nbGUtaGVhZGVyLXZhcmlhbnQuaHRtbCIgdGl0bGU9IlRoZSBzaW5nbGUtaGVhZGVyIHZhcmlhbnQgb2YgdGhlIFVURiI+CjxsaW5rIHJlbD0ibmV4dCIgaHJlZj0iLi4vdGVzdC1ydW5uZXJzLmh0bWwiIHRpdGxlPSJUaGUgc3VwcGxpZWQgdGVzdCBydW5uZXJzIG9yIHdoZXJlIGlzIHRoZSBlbnRyYW5jZT8iPgo8c2NyaXB0IGxhbmd1YWdlPSJKYXZhU2NyaXB0MS4yIiBzcmM9Ii4uLy4uLy4uLy4uL2pzL2Jvb3N0LXRlc3QuanMiPjwvc2NyaXB0Pgo8L2hlYWQ+Cjxib2R5IGJnY29sb3I9IndoaXRlIiB0ZXh0PSJibGFjayIgbGluaz0iIzAwMDBGRiIgdmxpbms9IiM4NDAwODQiIGFsaW5rPSIjMDAwMEZGIj4KPHRhYmxlIHdpZHRoPSIxMDAlIj48dHI+Cjx0ZCB3aWR0aD0iMTAlIj48YSBocmVmPSIuLi8uLi8uLi9pbmRleC5odG1sIj48aW1nIGFsdD0iSG9tZSIgd2lkdGg9IjIyOSIgaGVpZ2h0PSI2MSIgYm9yZGVyPSIwIiBzcmM9Ii4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdGVzdC9kb2Nib29rL2ltZy9ib29zdC50ZXN0LmxvZ28ucG5nIj48L2E+PC90ZD4KPHRkIHZhbGlnbj0ibWlkZGxlIiBhbGlnbj0ibGVmdCI+ICZndDsgPGEgaHJlZj0iLi4vLi4vLi4vdXRmLmh0bWwiPlRoZSBVbml0IFRlc3QgRnJhbWV3b3JrPC9hPiAmZ3Q7IDxhIGhyZWY9Ii4uLy4uL3VzZXItZ3VpZGUuaHRtbCI+VXNlcidzIGd1aWRlPC9hPjxhIGhyZWY9Ii4uLy4uL3Rlc3RpbmctdG9vbHMuaHRtbCI+CiAgICAgICZndDsKICAgICAgPC9hPjxhIGhyZWY9Ii4uL3VzYWdlLXZhcmlhbnRzLmh0bWwiPlVzYWdlIHZhcmlhbnRzPC9hPjxhIGhyZWY9Ii4uL3Rlc3QtcnVubmVycy5odG1sIj4KICAgICAgJmd0OwogICAgICA8L2E+PGI+RXh0ZXJuYWwgdGVzdCBydW5uZXI8L2I+CjwvdGQ+Cjx0ZD48ZGl2IGNsYXNzPSJzcGlyaXQtbmF2Ij4KPGEgaHJlZj0ic2luZ2xlLWhlYWRlci12YXJpYW50Lmh0bWwiPjxpbWcgc3JjPSIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kb2MvaHRtbC9pbWFnZXMvcHJldi5wbmciIGFsdD0iUHJldiI+PC9hPjxhIGhyZWY9Ii4uL3Rlc3QtcnVubmVycy5odG1sIj48aW1nIHNyYz0iLi4vLi4vLi4vLi4vLi4vLi4vLi4vZG9jL2h0bWwvaW1hZ2VzL25leHQucG5nIiBhbHQ9Ik5leHQiPjwvYT4KPC9kaXY+PC90ZD4KPC90cj48L3RhYmxlPgo8aHI+CjxkaXYgY2xhc3M9InNlY3Rpb24iIGxhbmc9ImVuIj4KPGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGg1IGNsYXNzPSJ0aXRsZSI+CjxhIG5hbWU9InV0Zi51c2VyLWd1aWRlLmV4dGVybi10ZXN0LXJ1bm5lci12YXJpYW50Ij48L2E+VGhlIGV4dGVybmFsIHRlc3QgcnVubmVyIHZhcmlhbnQgb2YgdGhlIDxhY3JvbnltIGNsYXNzPSJhY3JvbnltIj5VVEY8L2Fjcm9ueW0+CjwvaDU+PC9kaXY+PC9kaXY+PC9kaXY+CjxwIGNsYXNzPSJmaXJzdC1saW5lLWluZGVudGVkIj4KICAgIEFsbCBvdGhlciB1c2FnZSB2YXJpYW50cyBlbXBsb3kgdGhlIGJ1aWxkLWluIHRlc3QgcnVubmVycy4gSWYgeW91IHBsYW4gdG8gdXNlIGFuIGV4dGVybmFsIHRlc3QgcnVubmVyIHdpdGggeW91cgogICAgdGVzdCBtb2R1bGUgeW91IG5lZWQgdG8gYnVpbGQgaXQgYXMgYSBkeW5hbWljIGxpYnJhcnkuIFRoaXMgdXNhZ2Ugb2YgdGhlIDxhY3JvbnltIGNsYXNzPSJhY3JvbnltIj5VVEY8L2Fjcm9ueW0+IGlzIGNhbGxlZCB0aGUgZXh0ZXJuYWwgdGVzdCBydW5uZXIgCiAgICB2YXJpYW50IG9mIHRoZSA8YWNyb255bSBjbGFzcz0iYWNyb255bSI+VVRGPC9hY3JvbnltPi4gVGhlIHZhcmlhbnQgcmVxdWlyZXMgeW91IHRvIGRlZmluZSB0aGUgZmxhZyAKICAgIDxhIGNsYXNzPSJ4cmVmIiBocmVmPSIuLi8uLi9jb21waWxhdGlvbi5odG1sI3V0Zi5mbGFnLmR5bi1saW5rIj5CT09TVF9URVNUX0RZTl9MSU5LPC9hPiBlaXRoZXIgaW4gYSBtYWtlZmlsZSBvciBiZWZvcmUgdGhlIGhlYWRlcgogICAgPGNvZGUgY2xhc3M9ImZpbGVuYW1lIj5ib29zdC90ZXN0L3VuaXRfdGVzdC5ocHA8L2NvZGU+IGluY2x1c2lvbi4gQW4gZXh0ZXJuYWwgdGVzdCBydW5uZXIgdXRpbGl0eSBpcwogICAgcmVxdWlyZWQgdG8gbGluayB3aXRoIGR5bmFtaWMgbGlicmFyeS4KICAgPC9wPgo8cCBjbGFzcz0iZmlyc3QtbGluZS1pbmRlbnRlZCI+CiAgICBJZiBhbiBleHRlcm5hbCB0ZXN0IHJ1bm5lciBpcyBiYXNlZCBvbiB0aGUgdGVzdCBydW5uZXIgYnVpbHQgaW4gdG8gdGhlIGR5bmFtaWMgbGlicmFyeSAobGlrZSB0aGUgc3RhbmRhbG9uZQogICAgYm9vc3RfdGVzdF9ydW5uZXIgdXRpbGl0eSBzdXBwbGllZCBieSB0aGUgPGFjcm9ueW0gY2xhc3M9ImFjcm9ueW0iPlVURjwvYWNyb255bT4pLCBpdCByZXF1aXJlcyB5b3UgdG8gaW1wbGVtZW50IHRoZSA8YSBjbGFzcz0ibGluayIgaHJlZj0iLi4vLi4vdXNlci1ndWlkZS5odG1sI3Rlc3QtbW9kdWxlLmRlZiI+CiAgICB0ZXN0IG1vZHVsZTwvYT4gaW5pdGlhbGl6YXRpb24gZnVuY3Rpb24gdGhhdCBtYXRjaGVzIHRoZSBhbHRlcm5hdGl2ZSBpbml0aWFsaXphdGlvbiBmdW5jdGlvbiBzaWduYXR1cmUuIFRoZQogICAgPGFjcm9ueW0gY2xhc3M9ImFjcm9ueW0iPlVURjwvYWNyb255bT4gcHJvdmlkZXMgYW4gYWJpbGl0eSB0byA8YSBjbGFzcz0ibGluayIgaHJlZj0iLi4vaW5pdGlhbGl6YXRpb24uaHRtbCN1dGYudXNlci1ndWlkZS5pbml0aWFsaXphdGlvbi5hdXRvLWdlbmVyYXRpb24iIHRpdGxlPSJBdXRvbWF0ZWQgZ2VuZXJhdGlvbiBvZiB0aGUgdGVzdCBtb2R1bGUgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb24iPmF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUKICAgIDwvYT4gYW4gZW1wdHkgdGVzdCBtb2R1bGUgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb24gd2l0aCBjb3JyZWN0IHNpZ25hdHVyZSBpZiBubyBjdXN0b20gaW5pdGlhbGl6YXRpb24gaXMgcmVxdWlyZWQgCiAgICBieSBhIHRlc3QgbW9kdWxlLgogICA8L3A+CjxkaXYgY2xhc3M9Im5vdGUiPjx0YWJsZSBib3JkZXI9IjAiIHN1bW1hcnk9Ik5vdGUiPgo8dHI+Cjx0ZCByb3dzcGFuPSIyIiBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjI1Ij48aW1nIGFsdD0iW05vdGVdIiBzcmM9Ii4uLy4uLy4uLy4uLy4uLy4uLy4uL2RvYy9odG1sL2ltYWdlcy9ub3RlLnBuZyI+PC90ZD4KPHRoIGFsaWduPSJsZWZ0Ij5Ob3RlPC90aD4KPC90cj4KPHRyPjx0ZCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjxwPgogICAgIEFuIGFkdmFuY2VkIHRlc3QgcnVubmVyIGRvZXNuJ3QgaGF2ZSB0byBiZSBiYXNlZCBvbiB0aGUgYnVpbGQtaW4gb25lIGFuZCBtYXkgcmVxdWlyZSBhIGRpZmZlcmVudAogICAgIHRlc3QgbW9kdWxlIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uIHNpZ25hdHVyZSBhbmQvb3IgbmFtZS4KICAgIDwvcD48L3RkPjwvdHI+CjwvdGFibGU+PC9kaXY+CjwvZGl2Pgo8dGFibGUgeG1sbnM6cmV2PSJodHRwOi8vd3d3LmNzLnJwaS5lZHUvfmdyZWdvZC9ib29zdC90b29scy9kb2MvcmV2aXNpb24iIHdpZHRoPSIxMDAlIj48dHI+Cjx0ZCBhbGlnbj0ibGVmdCI+PC90ZD4KPHRkIGFsaWduPSJyaWdodCI+PGRpdiBjbGFzcz0iY29weXJpZ2h0LWZvb3RlciI+Q29weXJpZ2h0IKkgMjAwMS0yMDA3IEdlbm5hZGl5IFJvemVudGFsPC9kaXY+PC90ZD4KPC90cj48L3RhYmxlPgo8aHI+CjxkaXYgY2xhc3M9InNwaXJpdC1uYXYiPgo8YSBhY2Nlc3NrZXk9InAiIGhyZWY9InNpbmdsZS1oZWFkZXItdmFyaWFudC5odG1sIj48aW1nIHNyYz0iLi4vLi4vLi4vLi4vLi4vLi4vLi4vZG9jL2h0bWwvaW1hZ2VzL3ByZXYucG5nIiBhbHQ9IlByZXYiPjwvYT48YSBhY2Nlc3NrZXk9InUiIGhyZWY9Ii4uL3VzYWdlLXZhcmlhbnRzLmh0bWwiPjxpbWcgc3JjPSIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kb2MvaHRtbC9pbWFnZXMvdXAucG5nIiBhbHQ9IlVwIj48L2E+PGEgYWNjZXNza2V5PSJoIiBocmVmPSIuLi8uLi8uLi9pbmRleC5odG1sIj48aW1nIHNyYz0iLi4vLi4vLi4vLi4vLi4vLi4vLi4vZG9jL2h0bWwvaW1hZ2VzL2hvbWUucG5nIiBhbHQ9IkhvbWUiPjwvYT48YSBhY2Nlc3NrZXk9Im4iIGhyZWY9Ii4uL3Rlc3QtcnVubmVycy5odG1sIj48aW1nIHNyYz0iLi4vLi4vLi4vLi4vLi4vLi4vLi4vZG9jL2h0bWwvaW1hZ2VzL25leHQucG5nIiBhbHQ9Ik5leHQiPjwvYT4KPC9kaXY+CjwvYm9keT4KPC9odG1sPgo=