PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS0xIj4KPHRpdGxlPkxvZ2dpbmcgZmxvYXRpbmcgcG9pbnQgdHlwZSBudW1iZXJzPC90aXRsZT4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi8uLi9zdHlsZS9zdHlsZS5jc3MiIHR5cGU9InRleHQvY3NzIj4KPG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJEb2NCb29rIFhTTCBTdHlsZXNoZWV0cyBWMS43NC4wIj4KPGxpbmsgcmVsPSJob21lIiBocmVmPSIuLi8uLi8uLi9pbmRleC5odG1sIiB0aXRsZT0iQm9vc3QgVGVzdCBMaWJyYXJ5Ij4KPGxpbmsgcmVsPSJ1cCIgaHJlZj0idGVzdC1sb2cuaHRtbCIgdGl0bGU9IlRlc3QgbG9nIG91dHB1dCI+CjxsaW5rIHJlbD0icHJldiIgaHJlZj0iQk9PU1RfVEVTVF9QQVNTUE9JTlQuaHRtbCIgdGl0bGU9IkJPT1NUX1RFU1RfUEFTU1BPSU5UIj4KPGxpbmsgcmVsPSJuZXh0IiBocmVmPSJsb2ctaHItZm9ybWF0Lmh0bWwiIHRpdGxlPSJIdW1hbiByZWFkYWJsZSBsb2cgb3V0cHV0IGZvcm1hdCI+CjxzY3JpcHQgbGFuZ3VhZ2U9IkphdmFTY3JpcHQxLjIiIHNyYz0iLi4vLi4vLi4vLi4vanMvYm9vc3QtdGVzdC5qcyI+PC9zY3JpcHQ+CjwvaGVhZD4KPGJvZHkgYmdjb2xvcj0id2hpdGUiIHRleHQ9ImJsYWNrIiBsaW5rPSIjMDAwMEZGIiB2bGluaz0iIzg0MDA4NCIgYWxpbms9IiMwMDAwRkYiPgo8dGFibGUgd2lkdGg9IjEwMCUiPjx0cj4KPHRkIHdpZHRoPSIxMCUiPjxhIGhyZWY9Ii4uLy4uLy4uL2luZGV4Lmh0bWwiPjxpbWcgYWx0PSJIb21lIiB3aWR0aD0iMjI5IiBoZWlnaHQ9IjYxIiBib3JkZXI9IjAiIHNyYz0iLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy90ZXN0L2RvY2Jvb2svaW1nL2Jvb3N0LnRlc3QubG9nby5wbmciPjwvYT48L3RkPgo8dGQgdmFsaWduPSJtaWRkbGUiIGFsaWduPSJsZWZ0Ij4gJmd0OyA8YSBocmVmPSIuLi8uLi8uLi91dGYuaHRtbCI+VGhlIFVuaXQgVGVzdCBGcmFtZXdvcms8L2E+ICZndDsgPGEgaHJlZj0iLi4vLi4vdXNlci1ndWlkZS5odG1sIj5Vc2VyJ3MgZ3VpZGU8L2E+PGEgaHJlZj0iLi4vLi4vdGVzdGluZy10b29scy5odG1sIj4KICAgICAgJmd0OwogICAgICA8L2E+PGEgaHJlZj0iLi4vdGVzdC1vdXRwdXQuaHRtbCI+VGVzdCBPdXRwdXQgPC9hPjxhIGhyZWY9Ii4uL3J1bnRpbWUtY29uZmlnLmh0bWwiPgogICAgICAmZ3Q7CiAgICAgIDwvYT48YSBocmVmPSJ0ZXN0LWxvZy5odG1sIj5UZXN0IGxvZzwvYT48YSBocmVmPSJyZXN1bHRzLXJlcG9ydC5odG1sIj4KICAgICAgJmd0OwogICAgICA8L2E+PGI+TG9nZ2luZyBmbG9hdGluZyBwb2ludCB0eXBlIG51bWJlcnM8L2I+CjwvdGQ+Cjx0ZD48ZGl2IGNsYXNzPSJzcGlyaXQtbmF2Ij4KPGEgaHJlZj0iQk9PU1RfVEVTVF9QQVNTUE9JTlQuaHRtbCI+PGltZyBzcmM9Ii4uLy4uLy4uLy4uLy4uLy4uLy4uL2RvYy9odG1sL2ltYWdlcy9wcmV2LnBuZyIgYWx0PSJQcmV2Ij48L2E+PGEgaHJlZj0ibG9nLWhyLWZvcm1hdC5odG1sIj48aW1nIHNyYz0iLi4vLi4vLi4vLi4vLi4vLi4vLi4vZG9jL2h0bWwvaW1hZ2VzL25leHQucG5nIiBhbHQ9Ik5leHQiPjwvYT4KPC9kaXY+PC90ZD4KPC90cj48L3RhYmxlPgo8aHI+CjxkaXYgY2xhc3M9InNlY3Rpb24iIGxhbmc9ImVuIj4KPGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGg2IGNsYXNzPSJ0aXRsZSI+CjxhIG5hbWU9InV0Zi51c2VyLWd1aWRlLnRlc3Qtb3V0cHV0LmxvZy5GUFQiPjwvYT5Mb2dnaW5nIGZsb2F0aW5nIHBvaW50IHR5cGUgbnVtYmVyczwvaDY+PC9kaXY+PC9kaXY+PC9kaXY+CjxwIGNsYXNzPSJmaXJzdC1saW5lLWluZGVudGVkIj4KICAgIEl0IG1heSBhcHBlYXIgdGhhdCBmbG9hdGluZy1wb2ludCBudW1iZXJzIGFyZSBkaXNwbGF5ZWQgYnkgdGhlIDxhY3JvbnltIGNsYXNzPSJhY3JvbnltIj5VVEY8L2Fjcm9ueW0+IHdpdGggYW4gZXhjZXNzaXZlIG51bWJlciBvZiBkZWNpbWFsIGRpZ2l0cy4KICAgIEhvd2V2ZXIgdGhlIG51bWJlciBvZiBkaWdpdHMgc2hvd24gaXMgY2hvc2VuIHRvIGF2b2lkIGFwcGFyZW50bHkgbm9uc2Vuc2ljYWwgZGlzcGxheXMgbGlrZSA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPlsxLjAwMDAwICE9IDEuMDAwMDBdPC9jb2RlPgogICAgd2hlbiBjb21wYXJpbmcgZXhhY3RseSB1bml0eSBhZ2FpbnN0IGEgdmFsdWUgd2hpY2ggaXMgaW5jcmVhc2VkIGJ5IGp1c3Qgb25lIGxlYXN0IHNpZ25pZmljYW50IGJpbmFyeSBkaWdpdCB1c2luZwogICAgdGhlIGRlZmF1bHQgcHJlY2lzaW9uIGZvciBmbG9hdCBvZiBqdXN0IDYgZGVjaW1hbCBkaWdpdHMsIGdpdmVuIGJ5CiAgICA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPnN0ZDo6bnVtZXJpY19saW1pdHM8L2NvZGU+Jmx0O2Zsb2F0Jmd0Ozo6ZGlnaXRzMTAuIFRoZSBmdW5jdGlvbiB1c2VkIGZvciB0aGUgbnVtYmVyIG9mIGRlY2ltYWwKICAgIGRpZ2l0cyBkaXNwbGF5ZWQgaXMgdGhhdCBwcm9wb3NlZCBmb3IgYSBmdXR1cmUgQysrIFN0YW5kYXJkLAogICAgPGEgaHJlZj0iaHR0cDovL3d3dzIub3Blbi1zdGQub3JnL0pUQzEvU0MyMi9XRzIxL2RvY3MvcGFwZXJzLzIwMDUvbjE4MjIucGRmIiB0YXJnZXQ9Il90b3AiPkEgUHJvcG9zYWwgdG8gYWRkIGEgbWF4CiAgICBzaWduaWZpY2FudCBkZWNpbWFsIGRpZ2l0cyB2YWx1ZTwvYT4sIHRvIGJlIGNhbGxlZCA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPnN0ZDo6bnVtZXJpY19saW1pdHM8L2NvZGU+OjptYXhfZGlnaXRzMTAoKTsuCiAgICBGb3IgMzItYml0IGZsb2F0cywgOSBkZWNpbWFsIGRpZ2l0cyBhcmUgbmVlZGVkIHRvIGVuc3VyZSBhIHNpbmdsZSBiaXQgY2hhbmdlIHByb2R1Y2VzIGEgZGlmZmVyZW50IGRlY2ltYWwgZGlnaXQKICAgIHN0cmluZy4KICAgPC9wPgo8cCBjbGFzcz0iZmlyc3QtbGluZS1pbmRlbnRlZCI+CiAgICBTbyBhIG11Y2ggbW9yZSBoZWxwZnVsIGRpc3BsYXkgdXNpbmcgOSBkZWNpbWFsIGRpZ2l0cyBpcyB0aHVzOgogICAgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij5bMS4wMDAwMDAwMCAhPSAxLjAwMDAwMDEyXTwvY29kZT4gc2hvd2luZyB0aGF0IHRoZSB0d28gdmFsdWVzIGFyZSBpbiBmYWN0IGRpZmZlcmVudC4KICAgPC9wPgo8cCBjbGFzcz0iZmlyc3QtbGluZS1pbmRlbnRlZCI+CiAgICBGb3IgPGFjcm9ueW0gY2xhc3M9ImFjcm9ueW0iPklFRUU3NTQ8L2Fjcm9ueW0+IDMyLWJpdCBmbG9hdCB2YWx1ZXMgLSA5IGRlY2ltYWwgZGlnaXRzIGFyZSBzaG93bi4gRm9yIDY0LWJpdCA8YWNyb255bSBjbGFzcz0iYWNyb255bSI+SUVFRTc1NDwvYWNyb255bT4gZG91YmxlIC0gMTcgZGVjaW1hbCBkaWdpdHMuIEZvcgogICAgPGFjcm9ueW0gY2xhc3M9ImFjcm9ueW0iPklFRUU3NTQ8L2Fjcm9ueW0+IGV4dGVuZGVkIGxvbmcgZG91YmxlIHVzaW5nIDgwLWJpdCAtIDIxIGRlY2ltYWwgZGlnaXRzLiBGb3IgPGFjcm9ueW0gY2xhc3M9ImFjcm9ueW0iPklFRUU3NTQ8L2Fjcm9ueW0+IHF1YWRydXBsZSBsb25nIGRvdWJsZSAxMjgtYml0LCBhbmQgU3BhcmMKICAgIGV4dGVuZGVkIGxvbmcgZG91YmxlIDEyOC1iaXQgLSAzNiBkZWNpbWFsIGRpZ2l0cy4gRm9yIGZsb2F0aW5nLXBvaW50IHR5cGVzLCBhIGNvbnZlbmllbnQgZm9ybXVsYSB0byBjYWxjdWxhdGUKICAgIG1heF9kaWdpdHMxMCBpczogMiArIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+c3RkOjpudW1lcmljX2xpbWl0czwvY29kZT4mbHQ7RlBUJmd0Ozo6ZGlnaXRzICogMzAxMC8xMDAwMDsKICAgPC9wPgo8ZGl2IGNsYXNzPSJub3RlIj48dGFibGUgYm9yZGVyPSIwIiBzdW1tYXJ5PSJOb3RlIj4KPHRyPgo8dGQgcm93c3Bhbj0iMiIgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIyNSI+PGltZyBhbHQ9IltOb3RlXSIgc3JjPSIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kb2MvaHRtbC9pbWFnZXMvbm90ZS5wbmciPjwvdGQ+Cjx0aCBhbGlnbj0ibGVmdCI+Tm90ZTwvdGg+CjwvdHI+Cjx0cj48dGQgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48cD4KICAgICBOb3RlIHRoYXQgYSB1c2VyIGRlZmluZWQgZmxvYXRpbmcgcG9pbnQgdHlwZSBVREZQVCBtdXN0IGRlZmluZQogICAgIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+c3RkOjpudW1lcmljX2xpbWl0czwvY29kZT4mbHQ7VURGUFQmZ3Q7Ojppc19zcGVjaWFsaXplZCA9IHRydWUgYW5kIHByb3ZpZGUgYW4gYXBwcm9wcmlhdGUgdmFsdWUKICAgICBmb3IgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij5zdGQ6Om51bWVyaWNfbGltaXRzPC9jb2RlPiZsdDtVREZQVCZndDs6OmRpZ2l0cywgdGhlIG51bWJlciBvZiBiaXRzIHVzZWQgZm9yIHRoZSBzaWduaWZpY2FuZAogICAgIG9yIG1hbnRpc3NhLiBGb3IgZXhhbXBsZSwgZm9yIHRoZSBTcGFyYyBleHRlbmRlZCBsb25nIGRvdWJsZSAxMjgsIDExMyBiaXRzIGFyZSB1c2VkIGZvciB0aGUgc2lnbmlmaWNhbmQgKG9uZSBvZgogICAgIHdoaWNoIGlzIGltcGxpY2l0KS4KICAgIDwvcD48L3RkPjwvdHI+CjwvdGFibGU+PC9kaXY+CjwvZGl2Pgo8dGFibGUgeG1sbnM6cmV2PSJodHRwOi8vd3d3LmNzLnJwaS5lZHUvfmdyZWdvZC9ib29zdC90b29scy9kb2MvcmV2aXNpb24iIHdpZHRoPSIxMDAlIj48dHI+Cjx0ZCBhbGlnbj0ibGVmdCI+PC90ZD4KPHRkIGFsaWduPSJyaWdodCI+PGRpdiBjbGFzcz0iY29weXJpZ2h0LWZvb3RlciI+Q29weXJpZ2h0IKkgMjAwMS0yMDA3IEdlbm5hZGl5IFJvemVudGFsPC9kaXY+PC90ZD4KPC90cj48L3RhYmxlPgo8aHI+CjxkaXYgY2xhc3M9InNwaXJpdC1uYXYiPgo8YSBhY2Nlc3NrZXk9InAiIGhyZWY9IkJPT1NUX1RFU1RfUEFTU1BPSU5ULmh0bWwiPjxpbWcgc3JjPSIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kb2MvaHRtbC9pbWFnZXMvcHJldi5wbmciIGFsdD0iUHJldiI+PC9hPjxhIGFjY2Vzc2tleT0idSIgaHJlZj0idGVzdC1sb2cuaHRtbCI+PGltZyBzcmM9Ii4uLy4uLy4uLy4uLy4uLy4uLy4uL2RvYy9odG1sL2ltYWdlcy91cC5wbmciIGFsdD0iVXAiPjwvYT48YSBhY2Nlc3NrZXk9ImgiIGhyZWY9Ii4uLy4uLy4uL2luZGV4Lmh0bWwiPjxpbWcgc3JjPSIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kb2MvaHRtbC9pbWFnZXMvaG9tZS5wbmciIGFsdD0iSG9tZSI+PC9hPjxhIGFjY2Vzc2tleT0ibiIgaHJlZj0ibG9nLWhyLWZvcm1hdC5odG1sIj48aW1nIHNyYz0iLi4vLi4vLi4vLi4vLi4vLi4vLi4vZG9jL2h0bWwvaW1hZ2VzL25leHQucG5nIiBhbHQ9Ik5leHQiPjwvYT4KPC9kaXY+CjwvYm9keT4KPC9odG1sPgo=