PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS0xIj4KPHRpdGxlPjIuoFdyaXRpbmcgYSBOZXcgVmFsZ3JpbmQgVG9vbDwvdGl0bGU+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9InZnX2Jhc2ljLmNzcyI+CjxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iRG9jQm9vayBYU0wgU3R5bGVzaGVldHMgVjEuNzguMSI+CjxsaW5rIHJlbD0iaG9tZSIgaHJlZj0iaW5kZXguaHRtbCIgdGl0bGU9IlZhbGdyaW5kIERvY3VtZW50YXRpb24iPgo8bGluayByZWw9InVwIiBocmVmPSJ0ZWNoLWRvY3MuaHRtbCIgdGl0bGU9IlZhbGdyaW5kIFRlY2huaWNhbCBEb2N1bWVudGF0aW9uIj4KPGxpbmsgcmVsPSJwcmV2IiBocmVmPSJkZXNpZ24taW1wbC5odG1sIiB0aXRsZT0iMS6gVGhlIERlc2lnbiBhbmQgSW1wbGVtZW50YXRpb24gb2YgVmFsZ3JpbmQiPgo8bGluayByZWw9Im5leHQiIGhyZWY9ImNsLWZvcm1hdC5odG1sIiB0aXRsZT0iMy6gQ2FsbGdyaW5kIEZvcm1hdCBTcGVjaWZpY2F0aW9uIj4KPC9oZWFkPgo8Ym9keSBiZ2NvbG9yPSJ3aGl0ZSIgdGV4dD0iYmxhY2siIGxpbms9IiMwMDAwRkYiIHZsaW5rPSIjODQwMDg0IiBhbGluaz0iIzAwMDBGRiI+CjxkaXY+PHRhYmxlIGNsYXNzPSJuYXYiIHdpZHRoPSIxMDAlIiBjZWxsc3BhY2luZz0iMyIgY2VsbHBhZGRpbmc9IjMiIGJvcmRlcj0iMCIgc3VtbWFyeT0iTmF2aWdhdGlvbiBoZWFkZXIiPjx0cj4KPHRkIHdpZHRoPSIyMnB4IiBhbGlnbj0iY2VudGVyIiB2YWxpZ249Im1pZGRsZSI+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJkZXNpZ24taW1wbC5odG1sIj48aW1nIHNyYz0iaW1hZ2VzL3ByZXYucG5nIiB3aWR0aD0iMTgiIGhlaWdodD0iMjEiIGJvcmRlcj0iMCIgYWx0PSJQcmV2Ij48L2E+PC90ZD4KPHRkIHdpZHRoPSIyNXB4IiBhbGlnbj0iY2VudGVyIiB2YWxpZ249Im1pZGRsZSI+PGEgYWNjZXNza2V5PSJ1IiBocmVmPSJ0ZWNoLWRvY3MuaHRtbCI+PGltZyBzcmM9ImltYWdlcy91cC5wbmciIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOCIgYm9yZGVyPSIwIiBhbHQ9IlVwIj48L2E+PC90ZD4KPHRkIHdpZHRoPSIzMXB4IiBhbGlnbj0iY2VudGVyIiB2YWxpZ249Im1pZGRsZSI+PGEgYWNjZXNza2V5PSJoIiBocmVmPSJpbmRleC5odG1sIj48aW1nIHNyYz0iaW1hZ2VzL2hvbWUucG5nIiB3aWR0aD0iMjciIGhlaWdodD0iMjAiIGJvcmRlcj0iMCIgYWx0PSJVcCI+PC9hPjwvdGQ+Cjx0aCBhbGlnbj0iY2VudGVyIiB2YWxpZ249Im1pZGRsZSI+VmFsZ3JpbmQgVGVjaG5pY2FsIERvY3VtZW50YXRpb248L3RoPgo8dGQgd2lkdGg9IjIycHgiIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0ibWlkZGxlIj48YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImNsLWZvcm1hdC5odG1sIj48aW1nIHNyYz0iaW1hZ2VzL25leHQucG5nIiB3aWR0aD0iMTgiIGhlaWdodD0iMjEiIGJvcmRlcj0iMCIgYWx0PSJOZXh0Ij48L2E+PC90ZD4KPC90cj48L3RhYmxlPjwvZGl2Pgo8ZGl2IGNsYXNzPSJjaGFwdGVyIj4KPGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgxIGNsYXNzPSJ0aXRsZSI+CjxhIG5hbWU9Im1hbnVhbC13cml0aW5nLXRvb2xzIj48L2E+Mi6gV3JpdGluZyBhIE5ldyBWYWxncmluZCBUb29sPC9oMT48L2Rpdj48L2Rpdj48L2Rpdj4KPGRpdiBjbGFzcz0idG9jIj4KPHA+PGI+VGFibGUgb2YgQ29udGVudHM8L2I+PC9wPgo8ZGwgY2xhc3M9InRvYyI+CjxkdD48c3BhbiBjbGFzcz0ic2VjdDEiPjxhIGhyZWY9Im1hbnVhbC13cml0aW5nLXRvb2xzLmh0bWwjbWFudWFsLXdyaXRpbmctdG9vbHMuaW50cm8iPjIuMS4gSW50cm9kdWN0aW9uPC9hPjwvc3Bhbj48L2R0Pgo8ZHQ+PHNwYW4gY2xhc3M9InNlY3QxIj48YSBocmVmPSJtYW51YWwtd3JpdGluZy10b29scy5odG1sI21hbnVhbC13cml0aW5nLXRvb2xzLndyaXRpbmdhdG9vbCI+Mi4yLiBCYXNpY3M8L2E+PC9zcGFuPjwvZHQ+CjxkZD48ZGw+CjxkdD48c3BhbiBjbGFzcz0ic2VjdDIiPjxhIGhyZWY9Im1hbnVhbC13cml0aW5nLXRvb2xzLmh0bWwjbWFudWFsLXdyaXRpbmctdG9vbHMuaG93dG9vbHN3b3JrIj4yLjIuMS4gSG93IHRvb2xzIHdvcms8L2E+PC9zcGFuPjwvZHQ+CjxkdD48c3BhbiBjbGFzcz0ic2VjdDIiPjxhIGhyZWY9Im1hbnVhbC13cml0aW5nLXRvb2xzLmh0bWwjbWFudWFsLXdyaXRpbmctdG9vbHMuZ2V0dGluZ2NvZGUiPjIuMi4yLiBHZXR0aW5nIHRoZSBjb2RlPC9hPjwvc3Bhbj48L2R0Pgo8ZHQ+PHNwYW4gY2xhc3M9InNlY3QyIj48YSBocmVmPSJtYW51YWwtd3JpdGluZy10b29scy5odG1sI21hbnVhbC13cml0aW5nLXRvb2xzLmdldHRpbmdzdGFydGVkIj4yLjIuMy4gR2V0dGluZyBzdGFydGVkPC9hPjwvc3Bhbj48L2R0Pgo8ZHQ+PHNwYW4gY2xhc3M9InNlY3QyIj48YSBocmVmPSJtYW51YWwtd3JpdGluZy10b29scy5odG1sI21hbnVhbC13cml0aW5nLXRvb2xzLndyaXRpbmdjb2RlIj4yLjIuNC4gV3JpdGluZyB0aGUgY29kZTwvYT48L3NwYW4+PC9kdD4KPGR0PjxzcGFuIGNsYXNzPSJzZWN0MiI+PGEgaHJlZj0ibWFudWFsLXdyaXRpbmctdG9vbHMuaHRtbCNtYW51YWwtd3JpdGluZy10b29scy5pbml0Ij4yLjIuNS4gSW5pdGlhbGlzYXRpb248L2E+PC9zcGFuPjwvZHQ+CjxkdD48c3BhbiBjbGFzcz0ic2VjdDIiPjxhIGhyZWY9Im1hbnVhbC13cml0aW5nLXRvb2xzLmh0bWwjbWFudWFsLXdyaXRpbmctdG9vbHMuaW5zdHIiPjIuMi42LiBJbnN0cnVtZW50YXRpb248L2E+PC9zcGFuPjwvZHQ+CjxkdD48c3BhbiBjbGFzcz0ic2VjdDIiPjxhIGhyZWY9Im1hbnVhbC13cml0aW5nLXRvb2xzLmh0bWwjbWFudWFsLXdyaXRpbmctdG9vbHMuZmluaSI+Mi4yLjcuIEZpbmFsaXNhdGlvbjwvYT48L3NwYW4+PC9kdD4KPGR0PjxzcGFuIGNsYXNzPSJzZWN0MiI+PGEgaHJlZj0ibWFudWFsLXdyaXRpbmctdG9vbHMuaHRtbCNtYW51YWwtd3JpdGluZy10b29scy5vdGhlcmluZm8iPjIuMi44LiBPdGhlciBJbXBvcnRhbnQgSW5mb3JtYXRpb248L2E+PC9zcGFuPjwvZHQ+CjwvZGw+PC9kZD4KPGR0PjxzcGFuIGNsYXNzPSJzZWN0MSI+PGEgaHJlZj0ibWFudWFsLXdyaXRpbmctdG9vbHMuaHRtbCNtYW51YWwtd3JpdGluZy10b29scy5hZHZ0b3BpY3MiPjIuMy4gQWR2YW5jZWQgVG9waWNzPC9hPjwvc3Bhbj48L2R0Pgo8ZGQ+PGRsPgo8ZHQ+PHNwYW4gY2xhc3M9InNlY3QyIj48YSBocmVmPSJtYW51YWwtd3JpdGluZy10b29scy5odG1sI21hbnVhbC13cml0aW5nLXRvb2xzLmFkdmljZSI+Mi4zLjEuIERlYnVnZ2luZyBUaXBzPC9hPjwvc3Bhbj48L2R0Pgo8ZHQ+PHNwYW4gY2xhc3M9InNlY3QyIj48YSBocmVmPSJtYW51YWwtd3JpdGluZy10b29scy5odG1sI21hbnVhbC13cml0aW5nLXRvb2xzLnN1cHByZXNzaW9ucyI+Mi4zLjIuIFN1cHByZXNzaW9uczwvYT48L3NwYW4+PC9kdD4KPGR0PjxzcGFuIGNsYXNzPSJzZWN0MiI+PGEgaHJlZj0ibWFudWFsLXdyaXRpbmctdG9vbHMuaHRtbCNtYW51YWwtd3JpdGluZy10b29scy5kb2NzIj4yLjMuMy4gRG9jdW1lbnRhdGlvbjwvYT48L3NwYW4+PC9kdD4KPGR0PjxzcGFuIGNsYXNzPSJzZWN0MiI+PGEgaHJlZj0ibWFudWFsLXdyaXRpbmctdG9vbHMuaHRtbCNtYW51YWwtd3JpdGluZy10b29scy5yZWd0ZXN0cyI+Mi4zLjQuIFJlZ3Jlc3Npb24gVGVzdHM8L2E+PC9zcGFuPjwvZHQ+CjxkdD48c3BhbiBjbGFzcz0ic2VjdDIiPjxhIGhyZWY9Im1hbnVhbC13cml0aW5nLXRvb2xzLmh0bWwjbWFudWFsLXdyaXRpbmctdG9vbHMucHJvZmlsaW5nIj4yLjMuNS4gUHJvZmlsaW5nPC9hPjwvc3Bhbj48L2R0Pgo8ZHQ+PHNwYW4gY2xhc3M9InNlY3QyIj48YSBocmVmPSJtYW51YWwtd3JpdGluZy10b29scy5odG1sI21hbnVhbC13cml0aW5nLXRvb2xzLm1raGFja2VyeSI+Mi4zLjYuIE90aGVyIE1ha2VmaWxlIEhhY2tlcnk8L2E+PC9zcGFuPjwvZHQ+CjxkdD48c3BhbiBjbGFzcz0ic2VjdDIiPjxhIGhyZWY9Im1hbnVhbC13cml0aW5nLXRvb2xzLmh0bWwjbWFudWFsLXdyaXRpbmctdG9vbHMuaWZhY2V2ZXIiPjIuMy43LiBUaGUgQ29yZS90b29sIEludGVyZmFjZTwvYT48L3NwYW4+PC9kdD4KPC9kbD48L2RkPgo8ZHQ+PHNwYW4gY2xhc3M9InNlY3QxIj48YSBocmVmPSJtYW51YWwtd3JpdGluZy10b29scy5odG1sI21hbnVhbC13cml0aW5nLXRvb2xzLmZpbmFsd29yZHMiPjIuNC4gRmluYWwgV29yZHM8L2E+PC9zcGFuPjwvZHQ+CjwvZGw+CjwvZGl2PgoKU28geW91IHdhbnQgdG8gd3JpdGUgYSBWYWxncmluZCB0b29sPyAgSGVyZSBhcmUgc29tZSBpbnN0cnVjdGlvbnMgdGhhdCBtYXkKaGVscC4KCjxkaXYgY2xhc3M9InNlY3QxIj4KPGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgyIGNsYXNzPSJ0aXRsZSIgc3R5bGU9ImNsZWFyOiBib3RoIj4KPGEgbmFtZT0ibWFudWFsLXdyaXRpbmctdG9vbHMuaW50cm8iPjwvYT4yLjEuoEludHJvZHVjdGlvbjwvaDI+PC9kaXY+PC9kaXY+PC9kaXY+CjxwPlRoZSBrZXkgaWRlYSBiZWhpbmQgVmFsZ3JpbmQncyBhcmNoaXRlY3R1cmUgaXMgdGhlIGRpdmlzaW9uCmJldHdlZW4gaXRzIDxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPmNvcmU8L2VtPjwvc3Bhbj4gYW5kIDxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPnRvb2xzPC9lbT48L3NwYW4+LjwvcD4KPHA+VGhlIGNvcmUgcHJvdmlkZXMgdGhlIGNvbW1vbiBsb3ctbGV2ZWwgaW5mcmFzdHJ1Y3R1cmUgdG8Kc3VwcG9ydCBwcm9ncmFtIGluc3RydW1lbnRhdGlvbiwgaW5jbHVkaW5nIHRoZSBKSVQKY29tcGlsZXIsIGxvdy1sZXZlbCBtZW1vcnkgbWFuYWdlciwgc2lnbmFsIGhhbmRsaW5nIGFuZCBhCnRocmVhZCBzY2hlZHVsZXIuICBJdCBhbHNvIHByb3ZpZGVzIGNlcnRhaW4gc2VydmljZXMgdGhhdAphcmUgdXNlZnVsIHRvIHNvbWUgYnV0IG5vdCBhbGwgdG9vbHMsIHN1Y2ggYXMgc3VwcG9ydCBmb3IgZXJyb3IKcmVjb3JkaW5nLCBhbmQgc3VwcG9ydCBmb3IgcmVwbGFjaW5nIGhlYXAgYWxsb2NhdGlvbiBmdW5jdGlvbnMgc3VjaCBhcwo8Y29kZSBjbGFzcz0iZnVuY3Rpb24iPm1hbGxvYzwvY29kZT4uPC9wPgo8cD5CdXQgdGhlIGNvcmUgbGVhdmVzIGNlcnRhaW4gb3BlcmF0aW9ucyB1bmRlZmluZWQsIHdoaWNoCm11c3QgYmUgZmlsbGVkIGJ5IHRvb2xzLiAgTW9zdCBub3RhYmx5LCB0b29scyBkZWZpbmUgaG93IHByb2dyYW0KY29kZSBzaG91bGQgYmUgaW5zdHJ1bWVudGVkLiAgVGhleSBjYW4gYWxzbyBjYWxsIGNlcnRhaW4KZnVuY3Rpb25zIHRvIGluZGljYXRlIHRvIHRoZSBjb3JlIHRoYXQgdGhleSB3b3VsZCBsaWtlIHRvIHVzZQpjZXJ0YWluIHNlcnZpY2VzLCBvciBiZSBub3RpZmllZCB3aGVuIGNlcnRhaW4gaW50ZXJlc3RpbmcgZXZlbnRzCm9jY3VyLiAgQnV0IHRoZSBjb3JlIHRha2VzIGNhcmUgb2YgYWxsIHRoZSBoYXJkIHdvcmsuPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0ic2VjdDEiPgo8ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDIgY2xhc3M9InRpdGxlIiBzdHlsZT0iY2xlYXI6IGJvdGgiPgo8YSBuYW1lPSJtYW51YWwtd3JpdGluZy10b29scy53cml0aW5nYXRvb2wiPjwvYT4yLjIuoEJhc2ljczwvaDI+PC9kaXY+PC9kaXY+PC9kaXY+CjxkaXYgY2xhc3M9InNlY3QyIj4KPGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgzIGNsYXNzPSJ0aXRsZSI+CjxhIG5hbWU9Im1hbnVhbC13cml0aW5nLXRvb2xzLmhvd3Rvb2xzd29yayI+PC9hPjIuMi4xLqBIb3cgdG9vbHMgd29yazwvaDM+PC9kaXY+PC9kaXY+PC9kaXY+CjxwPlRvb2xzIG11c3QgZGVmaW5lIHZhcmlvdXMgZnVuY3Rpb25zIGZvciBpbnN0cnVtZW50aW5nIHByb2dyYW1zCnRoYXQgYXJlIGNhbGxlZCBieSBWYWxncmluZCdzIGNvcmUuIFRoZXkgYXJlIHRoZW4gbGlua2VkIGFnYWluc3QKVmFsZ3JpbmQncyBjb3JlIHRvIGRlZmluZSBhIGNvbXBsZXRlIFZhbGdyaW5kIHRvb2wgd2hpY2ggd2lsbCBiZSB1c2VkCndoZW4gdGhlIDxjb2RlIGNsYXNzPSJvcHRpb24iPi0tdG9vbDwvY29kZT4gb3B0aW9uIGlzIHVzZWQgdG8gc2VsZWN0IGl0LjwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InNlY3QyIj4KPGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgzIGNsYXNzPSJ0aXRsZSI+CjxhIG5hbWU9Im1hbnVhbC13cml0aW5nLXRvb2xzLmdldHRpbmdjb2RlIj48L2E+Mi4yLjIuoEdldHRpbmcgdGhlIGNvZGU8L2gzPjwvZGl2PjwvZGl2PjwvZGl2Pgo8cD5UbyB3cml0ZSB5b3VyIG93biB0b29sLCB5b3UnbGwgbmVlZCB0aGUgVmFsZ3JpbmQgc291cmNlIGNvZGUuICBZb3UnbGwKbmVlZCBhIGNoZWNrLW91dCBvZiB0aGUgU3VidmVyc2lvbiByZXBvc2l0b3J5IGZvciB0aGUgYXV0b21ha2UvYXV0b2NvbmYKYnVpbGQgaW5zdHJ1Y3Rpb25zIHRvIHdvcmsuICBTZWUgdGhlIGluZm9ybWF0aW9uIGFib3V0IGhvdyB0byBkbyBjaGVjay1vdXQKZnJvbSB0aGUgcmVwb3NpdG9yeSBhdCA8YSBjbGFzcz0idWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cudmFsZ3JpbmQub3JnL2Rvd25sb2Fkcy9yZXBvc2l0b3J5Lmh0bWwiIHRhcmdldD0iX3RvcCI+dGhlIFZhbGdyaW5kCndlYnNpdGU8L2E+LjwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InNlY3QyIj4KPGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgzIGNsYXNzPSJ0aXRsZSI+CjxhIG5hbWU9Im1hbnVhbC13cml0aW5nLXRvb2xzLmdldHRpbmdzdGFydGVkIj48L2E+Mi4yLjMuoEdldHRpbmcgc3RhcnRlZDwvaDM+PC9kaXY+PC9kaXY+PC9kaXY+CjxwPlZhbGdyaW5kIHVzZXMgR05VIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+YXV0b21ha2U8L2NvZGU+IGFuZAo8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPmF1dG9jb25mPC9jb2RlPiBmb3IgdGhlIGNyZWF0aW9uIG9mIE1ha2VmaWxlcwphbmQgY29uZmlndXJhdGlvbi4gIEJ1dCBkb24ndCB3b3JyeSwgdGhlc2UgaW5zdHJ1Y3Rpb25zIHNob3VsZCBiZSBlbm91Z2gKdG8gZ2V0IHlvdSBzdGFydGVkIGV2ZW4gaWYgeW91IGtub3cgbm90aGluZyBhYm91dCB0aG9zZSB0b29scy48L3A+CjxwPkluIHdoYXQgZm9sbG93cywgYWxsIGZpbGVuYW1lcyBhcmUgcmVsYXRpdmUgdG8gVmFsZ3JpbmQncwp0b3AtbGV2ZWwgZGlyZWN0b3J5IDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+dmFsZ3JpbmQvPC9jb2RlPi48L3A+CjxkaXYgY2xhc3M9Im9yZGVyZWRsaXN0Ij48b2wgY2xhc3M9Im9yZGVyZWRsaXN0IiB0eXBlPSIxIj4KPGxpIGNsYXNzPSJsaXN0aXRlbSI+PHA+Q2hvb3NlIGEgbmFtZSBmb3IgdGhlIHRvb2wsIGFuZCBhIHR3by1sZXR0ZXIgYWJicmV2aWF0aW9uIHRoYXQgY2FuCiAgYmUgdXNlZCBhcyBhIHNob3J0IHByZWZpeC4gIFdlJ2xsIHVzZQogIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+Zm9vYmFyPC9jb2RlPiBhbmQKICA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPmZiPC9jb2RlPiBhcyBhbiBleGFtcGxlLjwvcD48L2xpPgo8bGkgY2xhc3M9Imxpc3RpdGVtIj48cD5NYWtlIHRocmVlIG5ldyBkaXJlY3RvcmllcyA8Y29kZSBjbGFzcz0iZmlsZW5hbWUiPmZvb2Jhci88L2NvZGU+LAogIDxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+Zm9vYmFyL2RvY3MvPC9jb2RlPiBhbmQKICA8Y29kZSBjbGFzcz0iZmlsZW5hbWUiPmZvb2Jhci90ZXN0cy88L2NvZGU+LgogIDwvcD48L2xpPgo8bGkgY2xhc3M9Imxpc3RpdGVtIj48cD5DcmVhdGUgYW4gZW1wdHkgZmlsZSA8Y29kZSBjbGFzcz0iZmlsZW5hbWUiPmZvb2Jhci90ZXN0cy9NYWtlZmlsZS5hbTwvY29kZT4uCiAgPC9wPjwvbGk+CjxsaSBjbGFzcz0ibGlzdGl0ZW0iPjxwPkNvcHkgPGNvZGUgY2xhc3M9ImZpbGVuYW1lIj5ub25lL01ha2VmaWxlLmFtPC9jb2RlPiBpbnRvCiAgPGNvZGUgY2xhc3M9ImZpbGVuYW1lIj5mb29iYXIvPC9jb2RlPi4gIEVkaXQgaXQgYnkgcmVwbGFjaW5nIGFsbAogIG9jY3VycmVuY2VzIG9mIHRoZSBzdHJpbmdzCiAgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij4ibm9uZSI8L2NvZGU+LAogIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+Im5sXyI8L2NvZGU+IGFuZAogIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+Im5sLSI8L2NvZGU+IHdpdGgKICA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPiJmb29iYXIiPC9jb2RlPiwKICA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPiJmYl8iPC9jb2RlPiBhbmQKICA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPiJmYi0iPC9jb2RlPiByZXNwZWN0aXZlbHkuPC9wPjwvbGk+CjxsaSBjbGFzcz0ibGlzdGl0ZW0iPjxwPkNvcHkgPGNvZGUgY2xhc3M9ImZpbGVuYW1lIj5ub25lL25sX21haW4uYzwvY29kZT4gaW50bwogIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+Zm9vYmFyLzwvY29kZT4sIHJlbmFtaW5nIGl0IGFzCiAgPGNvZGUgY2xhc3M9ImZpbGVuYW1lIj5mYl9tYWluLmM8L2NvZGU+LiAgRWRpdCBpdCBieSBjaGFuZ2luZyB0aGUKICA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPmRldGFpbHM8L2NvZGU+IGxpbmVzIGluCiAgPGNvZGUgY2xhc3M9ImZ1bmN0aW9uIj5ubF9wcmVfY2xvX2luaXQ8L2NvZGU+IHRvIHNvbWV0aGluZyBhcHByb3ByaWF0ZSBmb3IgdGhlCiAgdG9vbC4gIFRoZXNlIGZpZWxkcyBhcmUgdXNlZCBpbiB0aGUgc3RhcnR1cCBtZXNzYWdlLCBleGNlcHQgZm9yCiAgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij5idWdfcmVwb3J0c190bzwvY29kZT4gd2hpY2ggaXMgdXNlZCBpZiBhCiAgdG9vbCBhc3NlcnRpb24gZmFpbHMuICBBbHNvLCByZXBsYWNlIHRoZSBzdHJpbmcKICA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPiJubF8iPC9jb2RlPiB0aHJvdWdob3V0IHdpdGggIAogIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+ImZiXyI8L2NvZGU+IGFnYWluLjwvcD48L2xpPgo8bGkgY2xhc3M9Imxpc3RpdGVtIj48cD5FZGl0IDxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+TWFrZWZpbGUuYW08L2NvZGU+LCBhZGRpbmcgdGhlIG5ldyBkaXJlY3RvcnkKICAgPGNvZGUgY2xhc3M9ImZpbGVuYW1lIj5mb29iYXI8L2NvZGU+IHRvIHRoZQogICA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPlRPT0xTPC9jb2RlPiBvcgogICA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPkVYUF9UT09MUzwvY29kZT4gdmFyaWFibGVzLjwvcD48L2xpPgo8bGkgY2xhc3M9Imxpc3RpdGVtIj48cD5FZGl0IDxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+Y29uZmlndXJlLmluPC9jb2RlPiwgYWRkaW5nCiAgIDxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+Zm9vYmFyL01ha2VmaWxlPC9jb2RlPiBhbmQKICAgPGNvZGUgY2xhc3M9ImZpbGVuYW1lIj5mb29iYXIvdGVzdHMvTWFrZWZpbGU8L2NvZGU+IHRvIHRoZQogICA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPkFDX09VVFBVVDwvY29kZT4gbGlzdC48L3A+PC9saT4KPGxpIGNsYXNzPSJsaXN0aXRlbSI+CjxwPlJ1bjo8L3A+CjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4KICBhdXRvZ2VuLnNoCiAgLi9jb25maWd1cmUgLS1wcmVmaXg9YHB3ZGAvaW5zdAogIG1ha2UKICBtYWtlIGluc3RhbGw8L3ByZT4KPHA+SXQgc2hvdWxkIGF1dG9tYWtlLCBjb25maWd1cmUgYW5kIGNvbXBpbGUgd2l0aG91dCBlcnJvcnMsCiAgIHB1dHRpbmcgY29waWVzIG9mIHRoZSB0b29sIGluCiAgIDxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+Zm9vYmFyLzwvY29kZT4gYW5kCiAgIDxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+aW5zdC9saWIvdmFsZ3JpbmQvPC9jb2RlPi48L3A+CjwvbGk+CjxsaSBjbGFzcz0ibGlzdGl0ZW0iPgo8cD5Zb3UgY2FuIHRlc3QgaXQgd2l0aCBhIGNvbW1hbmQgbGlrZTo8L3A+CjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4KICBpbnN0L2Jpbi92YWxncmluZCAtLXRvb2w9Zm9vYmFyIGRhdGU8L3ByZT4KPHA+KGFsbW9zdCBhbnkgcHJvZ3JhbSBzaG91bGQgd29yazsKICAgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij5kYXRlPC9jb2RlPiBpcyBqdXN0IGFuIGV4YW1wbGUpLgogICBUaGUgb3V0cHV0IHNob3VsZCBiZSBzb21ldGhpbmcgbGlrZSB0aGlzOjwvcD4KPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPgogID09NzM4PT0gZm9vYmFyLTAuMC4xLCBhIGZvb2JhcnJpbmcgdG9vbC4KICA9PTczOD09IENvcHlyaWdodCAoQykgMjAwMi0yMDA5LCBhbmQgR05VIEdQTCdkLCBieSBKLiBQcm9ncmFtbWVyLgogID09NzM4PT0gVXNpbmcgVmFsZ3JpbmQtMy41LjAuU1ZOIGFuZCBMaWJWRVg7IHJlcnVuIHdpdGggLWggZm9yIGNvcHlyaWdodCBpbmZvCiAgPT03Mzg9PSBDb21tYW5kOiBkYXRlCiAgPT03Mzg9PQogIFR1ZSBOb3YgMjcgMTI6NDA6NDkgRVNUIDIwMDcKICA9PTczOD09PC9wcmU+CjxwPlRoZSB0b29sIGRvZXMgbm90aGluZyBleGNlcHQgcnVuIHRoZSBwcm9ncmFtIHVuaW5zdHJ1bWVudGVkLjwvcD4KPC9saT4KPC9vbD48L2Rpdj4KPHA+VGhlc2Ugc3RlcHMgZG9uJ3QgaGF2ZSB0byBiZSBmb2xsb3dlZCBleGFjdGx5IC0tIHlvdSBjYW4gY2hvb3NlCmRpZmZlcmVudCBuYW1lcyBmb3IgeW91ciBzb3VyY2UgZmlsZXMsIGFuZCB1c2UgYSBkaWZmZXJlbnQKPGNvZGUgY2xhc3M9Im9wdGlvbiI+LS1wcmVmaXg8L2NvZGU+IGZvcgo8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPi4vY29uZmlndXJlPC9jb2RlPi48L3A+CjxwPk5vdyB0aGF0IHdlJ3ZlIHNldHVwLCBidWlsdCBhbmQgdGVzdGVkIHRoZSBzaW1wbGVzdCBwb3NzaWJsZSB0b29sLApvbnRvIHRoZSBpbnRlcmVzdGluZyBzdHVmZi4uLjwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InNlY3QyIj4KPGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgzIGNsYXNzPSJ0aXRsZSI+CjxhIG5hbWU9Im1hbnVhbC13cml0aW5nLXRvb2xzLndyaXRpbmdjb2RlIj48L2E+Mi4yLjQuoFdyaXRpbmcgdGhlIGNvZGU8L2gzPjwvZGl2PjwvZGl2PjwvZGl2Pgo8cD5BIHRvb2wgbXVzdCBkZWZpbmUgYXQgbGVhc3QgdGhlc2UgZm91ciBmdW5jdGlvbnM6PC9wPgo8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+CiAgcHJlX2Nsb19pbml0KCkKICBwb3N0X2Nsb19pbml0KCkKICBpbnN0cnVtZW50KCkKICBmaW5pKCk8L3ByZT4KPHA+VGhlIG5hbWVzIGNhbiBiZSBkaWZmZXJlbnQgdG8gdGhlIGFib3ZlLCBidXQgdGhlc2UgYXJlIHRoZSB1c3VhbApuYW1lcy4gIFRoZSBmaXJzdCBvbmUgaXMgcmVnaXN0ZXJlZCB1c2luZyB0aGUgbWFjcm8KPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij5WR19ERVRFUk1JTkVfSU5URVJGQUNFX1ZFUlNJT048L2NvZGU+LgpUaGUgbGFzdCB0aHJlZSBhcmUgcmVnaXN0ZXJlZCB1c2luZyB0aGUKPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij5WR18oYmFzaWNfdG9vbF9mdW5jcyk8L2NvZGU+IGZ1bmN0aW9uLjwvcD4KPHA+SW4gYWRkaXRpb24sIGlmIGEgdG9vbCB3YW50cyB0byB1c2Ugc29tZSBvZiB0aGUgb3B0aW9uYWwgc2VydmljZXMKcHJvdmlkZWQgYnkgdGhlIGNvcmUsIGl0IG1heSBoYXZlIHRvIGRlZmluZSBvdGhlciBmdW5jdGlvbnMgYW5kIHRlbGwgdGhlCmNvcmUgYWJvdXQgdGhlbS48L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJzZWN0MiI+CjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMyBjbGFzcz0idGl0bGUiPgo8YSBuYW1lPSJtYW51YWwtd3JpdGluZy10b29scy5pbml0Ij48L2E+Mi4yLjUuoEluaXRpYWxpc2F0aW9uPC9oMz48L2Rpdj48L2Rpdj48L2Rpdj4KPHA+TW9zdCBvZiB0aGUgaW5pdGlhbGlzYXRpb24gc2hvdWxkIGJlIGRvbmUgaW4KPGNvZGUgY2xhc3M9ImZ1bmN0aW9uIj5wcmVfY2xvX2luaXQ8L2NvZGU+LiAgT25seSB1c2UKPGNvZGUgY2xhc3M9ImZ1bmN0aW9uIj5wb3N0X2Nsb19pbml0PC9jb2RlPiBpZiBhIHRvb2wgcHJvdmlkZXMgY29tbWFuZCBsaW5lCm9wdGlvbnMgYW5kIG11c3QgZG8gc29tZSBpbml0aWFsaXNhdGlvbiBhZnRlciBvcHRpb24gcHJvY2Vzc2luZyB0YWtlcwpwbGFjZSAoPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij4iY2xvIjwvY29kZT4gc3RhbmRzIGZvciAiY29tbWFuZCBsaW5lCm9wdGlvbnMiKS48L3A+CjxwPkZpcnN0IG9mIGFsbCwgdmFyaW91cyAiZGV0YWlscyIgbmVlZCB0byBiZSBzZXQgZm9yIGEgdG9vbCwgdXNpbmcKdGhlIGZ1bmN0aW9ucyA8Y29kZSBjbGFzcz0iZnVuY3Rpb24iPlZHXyhkZXRhaWxzXyopPC9jb2RlPi4gIFNvbWUgYXJlIGFsbApjb21wdWxzb3J5LCBzb21lIGFyZW4ndC4gIFNvbWUgYXJlIHVzZWQgd2hlbiBjb25zdHJ1Y3RpbmcgdGhlIHN0YXJ0dXAKbWVzc2FnZSwgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij5kZXRhaWxfYnVnX3JlcG9ydHNfdG88L2NvZGU+IGlzIHVzZWQKaWYgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij5WR18odG9vbF9wYW5pYyk8L2NvZGU+IGlzIGV2ZXIgY2FsbGVkLCBvcgphIHRvb2wgYXNzZXJ0aW9uIGZhaWxzLiAgT3RoZXJzIGhhdmUgb3RoZXIgdXNlcy48L3A+CjxwPlNlY29uZCwgdmFyaW91cyAibmVlZHMiIGNhbiBiZSBzZXQgZm9yIGEgdG9vbCwgdXNpbmcgdGhlIGZ1bmN0aW9ucwo8Y29kZSBjbGFzcz0iZnVuY3Rpb24iPlZHXyhuZWVkc18qKTwvY29kZT4uICBUaGV5IGFyZSBtb3N0bHkgYm9vbGVhbnMsIGFuZCBjYW4KYmUgbGVmdCB1bnRvdWNoZWQgKHRoZXkgZGVmYXVsdCB0byA8Y29kZSBjbGFzcz0idmFybmFtZSI+RmFsc2U8L2NvZGU+KS4gIFRoZXkKZGV0ZXJtaW5lIHdoZXRoZXIgYSB0b29sIGNhbiBkbyB2YXJpb3VzIHRoaW5ncyBzdWNoIGFzOiByZWNvcmQsIHJlcG9ydAphbmQgc3VwcHJlc3MgZXJyb3JzOyBwcm9jZXNzIGNvbW1hbmQgbGluZSBvcHRpb25zOyB3cmFwIHN5c3RlbSBjYWxsczsKcmVjb3JkIGV4dHJhIGluZm9ybWF0aW9uIGFib3V0IGhlYXAgYmxvY2tzOyBldGMuPC9wPgo8cD5Gb3IgZXhhbXBsZSwgaWYgYSB0b29sIHdhbnRzIHRoZSBjb3JlJ3MgaGVscCBpbiByZWNvcmRpbmcgYW5kCnJlcG9ydGluZyBlcnJvcnMsIGl0IG11c3QgY2FsbAo8Y29kZSBjbGFzcz0iZnVuY3Rpb24iPlZHXyhuZWVkc190b29sX2Vycm9ycyk8L2NvZGU+IGFuZCBwcm92aWRlIGRlZmluaXRpb25zIG9mCmVpZ2h0IGZ1bmN0aW9ucyBmb3IgY29tcGFyaW5nIGVycm9ycywgcHJpbnRpbmcgb3V0IGVycm9ycywgcmVhZGluZwpzdXBwcmVzc2lvbnMgZnJvbSBhIHN1cHByZXNzaW9ucyBmaWxlLCBldGMuICBXaGlsZSB3cml0aW5nIHRoZXNlCmZ1bmN0aW9ucyByZXF1aXJlcyBzb21lIHdvcmssIGl0J3MgbXVjaCBsZXNzIHRoYW4gZG9pbmcgZXJyb3IgaGFuZGxpbmcKZnJvbSBzY3JhdGNoIGJlY2F1c2UgdGhlIGNvcmUgaXMgZG9pbmcgbW9zdCBvZiB0aGUgd29yay4KPC9wPgo8cD5UaGlyZCwgdGhlIHRvb2wgY2FuIGluZGljYXRlIHdoaWNoIGV2ZW50cyBpbiBjb3JlIGl0IHdhbnRzIHRvIGJlCm5vdGlmaWVkIGFib3V0LCB1c2luZyB0aGUgZnVuY3Rpb25zIDxjb2RlIGNsYXNzPSJmdW5jdGlvbiI+VkdfKHRyYWNrXyopPC9jb2RlPi4KVGhlc2UgaW5jbHVkZSB0aGluZ3Mgc3VjaCBhcyBoZWFwIGJsb2NrcyBiZWluZyBhbGxvY2F0ZWQsIHRoZSBzdGFjawpwb2ludGVyIGNoYW5naW5nLCBhIG11dGV4IGJlaW5nIGxvY2tlZCwgZXRjLiAgSWYgYSB0b29sIHdhbnRzIHRvIGtub3cKYWJvdXQgdGhpcywgaXQgc2hvdWxkIHByb3ZpZGUgYSBwb2ludGVyIHRvIGEgZnVuY3Rpb24sIHdoaWNoIHdpbGwgYmUKY2FsbGVkIHdoZW4gdGhhdCBldmVudCBoYXBwZW5zLjwvcD4KPHA+Rm9yIGV4YW1wbGUsIGlmIHRoZSB0b29sIHdhbnQgdG8gYmUgbm90aWZpZWQgd2hlbiBhIG5ldyBoZWFwIGJsb2NrCmlzIGFsbG9jYXRlZCwgaXQgc2hvdWxkIGNhbGwKPGNvZGUgY2xhc3M9ImZ1bmN0aW9uIj5WR18odHJhY2tfbmV3X21lbV9oZWFwKTwvY29kZT4gd2l0aCBhbiBhcHByb3ByaWF0ZQpmdW5jdGlvbiBwb2ludGVyLCBhbmQgdGhlIGFzc2lnbmVkIGZ1bmN0aW9uIHdpbGwgYmUgY2FsbGVkIGVhY2ggdGltZQp0aGlzIGhhcHBlbnMuPC9wPgo8cD5Nb3JlIGluZm9ybWF0aW9uIGFib3V0ICJkZXRhaWxzIiwgIm5lZWRzIiBhbmQgInRyYWNrYWJsZSBldmVudHMiCmNhbiBiZSBmb3VuZCBpbgo8Y29kZSBjbGFzcz0iZmlsZW5hbWUiPmluY2x1ZGUvcHViX3Rvb2xfdG9vbGlmYWNlLmg8L2NvZGU+LjwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InNlY3QyIj4KPGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgzIGNsYXNzPSJ0aXRsZSI+CjxhIG5hbWU9Im1hbnVhbC13cml0aW5nLXRvb2xzLmluc3RyIj48L2E+Mi4yLjYuoEluc3RydW1lbnRhdGlvbjwvaDM+PC9kaXY+PC9kaXY+PC9kaXY+CjxwPjxjb2RlIGNsYXNzPSJmdW5jdGlvbiI+aW5zdHJ1bWVudDwvY29kZT4gaXMgdGhlIGludGVyZXN0aW5nIG9uZS4gIEl0CmFsbG93cyB5b3UgdG8gaW5zdHJ1bWVudCA8c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5WRVggSVI8L2VtPjwvc3Bhbj4sIHdoaWNoIGlzClZhbGdyaW5kJ3MgUklTQy1saWtlIGludGVybWVkaWF0ZSBsYW5ndWFnZS4gIFZFWCBJUiBpcyBkZXNjcmliZWQKaW4gdGhlIGNvbW1lbnRzIG9mIHRoZSBoZWFkZXIgZmlsZQo8Y29kZSBjbGFzcz0iZmlsZW5hbWUiPlZFWC9wdWIvbGlidmV4X2lyLmg8L2NvZGU+LjwvcD4KPHA+VGhlIGVhc2llc3Qgd2F5IHRvIGluc3RydW1lbnQgVkVYIElSIGlzIHRvIGluc2VydCBjYWxscyB0byBDCmZ1bmN0aW9ucyB3aGVuIGludGVyZXN0aW5nIHRoaW5ncyBoYXBwZW4uICBTZWUgdGhlIHRvb2wgIkxhY2tleSIKKDxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+bGFja2V5L2xrX21haW4uYzwvY29kZT4pIGZvciBhIHNpbXBsZSBleGFtcGxlIG9mIHRoaXMsIG9yCkNhY2hlZ3JpbmQgKDxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+Y2FjaGVncmluZC9jZ19tYWluLmM8L2NvZGU+KSBmb3IgYSBtb3JlCmNvbXBsZXggZXhhbXBsZS48L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJzZWN0MiI+CjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMyBjbGFzcz0idGl0bGUiPgo8YSBuYW1lPSJtYW51YWwtd3JpdGluZy10b29scy5maW5pIj48L2E+Mi4yLjcuoEZpbmFsaXNhdGlvbjwvaDM+PC9kaXY+PC9kaXY+PC9kaXY+CjxwPlRoaXMgaXMgd2hlcmUgeW91IGNhbiBwcmVzZW50IHRoZSBmaW5hbCByZXN1bHRzLCBzdWNoIGFzIGEgc3VtbWFyeQpvZiB0aGUgaW5mb3JtYXRpb24gY29sbGVjdGVkLiAgQW55IGxvZyBmaWxlcyBzaG91bGQgYmUgd3JpdHRlbiBvdXQgYXQKdGhpcyBwb2ludC48L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJzZWN0MiI+CjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMyBjbGFzcz0idGl0bGUiPgo8YSBuYW1lPSJtYW51YWwtd3JpdGluZy10b29scy5vdGhlcmluZm8iPjwvYT4yLjIuOC6gT3RoZXIgSW1wb3J0YW50IEluZm9ybWF0aW9uPC9oMz48L2Rpdj48L2Rpdj48L2Rpdj4KPHA+UGxlYXNlIG5vdGUgdGhhdCB0aGUgY29yZS90b29sIHNwbGl0IGluZnJhc3RydWN0dXJlIGlzIHF1aXRlCmNvbXBsZXggYW5kIG5vdCBicmlsbGlhbnRseSBkb2N1bWVudGVkLiAgSGVyZSBhcmUgc29tZSBpbXBvcnRhbnQgcG9pbnRzLApidXQgdGhlcmUgYXJlIHVuZG91YnRlZGx5IG1hbnkgb3RoZXJzIHRoYXQgSSBzaG91bGQgbm90ZSBidXQgaGF2ZW4ndAp0aG91Z2h0IG9mLjwvcD4KPHA+VGhlIGZpbGVzIDxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+aW5jbHVkZS9wdWJfdG9vbF8qLmg8L2NvZGU+IGNvbnRhaW4gYWxsIHRoZQp0eXBlcywgbWFjcm9zLCBmdW5jdGlvbnMsIGV0Yy4gdGhhdCBhIHRvb2wgc2hvdWxkIChob3BlZnVsbHkpIG5lZWQsIGFuZCBhcmUKdGhlIG9ubHkgPGNvZGUgY2xhc3M9ImZpbGVuYW1lIj4uaDwvY29kZT4gZmlsZXMgYSB0b29sIHNob3VsZCBuZWVkIHRvCjxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+I2luY2x1ZGU8L2NvZGU+LiAgVGhleSBoYXZlIGEgcmVhc29uYWJsZSBhbW91bnQgb2YKZG9jdW1lbnRhdGlvbiBpbiBpdCB0aGF0IHNob3VsZCBob3BlZnVsbHkgYmUgZW5vdWdoIHRvIGdldCB5b3UgZ29pbmcuPC9wPgo8cD5Ob3RlIHRoYXQgeW91IGNhbid0IHVzZSBhbnl0aGluZyBmcm9tIHRoZSBDIGxpYnJhcnkgKHRoZXJlCmFyZSBkZWVwIHJlYXNvbnMgZm9yIHRoaXMsIHRydXN0IHVzKS4gIFZhbGdyaW5kIHByb3ZpZGVzIGFuCmltcGxlbWVudGF0aW9uIG9mIGEgcmVhc29uYWJsZSBzdWJzZXQgb2YgdGhlIEMgbGlicmFyeSwgZGV0YWlscyBvZiB3aGljaAphcmUgaW4gPGNvZGUgY2xhc3M9ImZpbGVuYW1lIj5wdWJfdG9vbF9saWJjKi5oPC9jb2RlPi48L3A+CjxwPldoZW4gd3JpdGluZyBhIHRvb2wsIGluIHRoZW9yeSB5b3Ugc2hvdWxkbid0IG5lZWQgdG8gbG9vayBhdCBhbnkgb2YKdGhlIGNvZGUgaW4gVmFsZ3JpbmQncyBjb3JlLCBidXQgaW4gcHJhY3RpY2UgaXQgbWlnaHQgYmUgdXNlZnVsIHNvbWV0aW1lcyB0bwpoZWxwIHVuZGVyc3RhbmQgc29tZXRoaW5nLjwvcD4KPHA+VGhlIDxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+aW5jbHVkZS9wdWJfdG9vbF9iYXNpY3MuaDwvY29kZT4gYW5kCjxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+VkVYL3B1Yi9saWJ2ZXhfYmFzaWN0eXBlcy5oPC9jb2RlPiBmaWxlcyBoYXZlIHNvbWUgYmFzaWMKdHlwZXMgdGhhdCBhcmUgd2lkZWx5IHVzZWQuPC9wPgo8cD5VbHRpbWF0ZWx5LCB0aGUgdG9vbHMgZGlzdHJpYnV0ZWQgKE1lbWNoZWNrLCBDYWNoZWdyaW5kLCBMYWNrZXksIGV0Yy4pCmFyZSBwcm9iYWJseSB0aGUgYmVzdCBkb2N1bWVudGF0aW9uIG9mIGFsbCwgZm9yIHRoZSBtb21lbnQuPC9wPgo8cD5UaGUgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij5WR188L2NvZGU+IG1hY3JvIGlzIHVzZWQKaGVhdmlseS4gIFRoaXMganVzdCBwcmVwZW5kcyBhIGxvbmdlciBzdHJpbmcgaW4gZnJvbnQgb2YgbmFtZXMgdG8gYXZvaWQKcG90ZW50aWFsIG5hbWVzcGFjZSBjbGFzaGVzLiAgSXQgaXMgZGVmaW5lZCBpbgo8Y29kZSBjbGFzcz0iZmlsZW5hbWUiPmluY2x1ZGUvcHViX3Rvb2xfYmFzaWNzLmg8L2NvZGU+LjwvcD4KPHA+VGhlcmUgYXJlIHNvbWUgYXNzb3J0ZWQgbm90ZXMgYWJvdXQgdmFyaW91cyBhc3BlY3RzIG9mIHRoZQppbXBsZW1lbnRhdGlvbiBpbiA8Y29kZSBjbGFzcz0iZmlsZW5hbWUiPmRvY3MvaW50ZXJuYWxzLzwvY29kZT4uICBNdWNoIG9mIGl0Cmlzbid0IHRoYXQgcmVsZXZhbnQgdG8gdG9vbC13cml0ZXJzLCBob3dldmVyLjwvcD4KPC9kaXY+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJzZWN0MSI+CjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMiBjbGFzcz0idGl0bGUiIHN0eWxlPSJjbGVhcjogYm90aCI+CjxhIG5hbWU9Im1hbnVhbC13cml0aW5nLXRvb2xzLmFkdnRvcGljcyI+PC9hPjIuMy6gQWR2YW5jZWQgVG9waWNzPC9oMj48L2Rpdj48L2Rpdj48L2Rpdj4KPHA+T25jZSBhIHRvb2wgYmVjb21lcyBtb3JlIGNvbXBsaWNhdGVkLCB0aGVyZSBhcmUgc29tZSBleHRyYQp0aGluZ3MgeW91IG1heSB3YW50L25lZWQgdG8gZG8uPC9wPgo8ZGl2IGNsYXNzPSJzZWN0MiI+CjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMyBjbGFzcz0idGl0bGUiPgo8YSBuYW1lPSJtYW51YWwtd3JpdGluZy10b29scy5hZHZpY2UiPjwvYT4yLjMuMS6gRGVidWdnaW5nIFRpcHM8L2gzPjwvZGl2PjwvZGl2PjwvZGl2Pgo8cD5Xcml0aW5nIGFuZCBkZWJ1Z2dpbmcgdG9vbHMgaXMgbm90IHRyaXZpYWwuICBIZXJlIGFyZSBzb21lCnN1Z2dlc3Rpb25zIGZvciBzb2x2aW5nIGNvbW1vbiBwcm9ibGVtcy48L3A+CjxwPklmIHlvdSBhcmUgZ2V0dGluZyBzZWdtZW50YXRpb24gZmF1bHRzIGluIEMgZnVuY3Rpb25zIHVzZWQgYnkgeW91cgp0b29sLCB0aGUgdXN1YWwgR0RCIGNvbW1hbmQ6PC9wPgo8cHJlIGNsYXNzPSJzY3JlZW4iPgogIGdkYiAmbHQ7cHJvZyZndDsgY29yZTwvcHJlPgo8cD51c3VhbGx5IGdpdmVzIHRoZSBsb2NhdGlvbiBvZiB0aGUgc2VnbWVudGF0aW9uIGZhdWx0LjwvcD4KPHA+SWYgeW91IHdhbnQgdG8gZGVidWcgQyBmdW5jdGlvbnMgdXNlZCBieSB5b3VyIHRvb2wsIHRoZXJlIGFyZQppbnN0cnVjdGlvbnMgb24gaG93IHRvIGRvIHNvIGluIHRoZSBmaWxlCjxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+UkVBRE1FX0RFVkVMT1BFUlM8L2NvZGU+LjwvcD4KPHA+SWYgeW91IGFyZSBoYXZpbmcgcHJvYmxlbXMgd2l0aCB5b3VyIFZFWCBJUiBpbnN0cnVtZW50YXRpb24sIGl0J3MKbGlrZWx5IHRoYXQgR0RCIHdvbid0IGJlIGFibGUgdG8gaGVscCBhdCBhbGwuICBJbiB0aGlzIGNhc2UsIFZhbGdyaW5kJ3MKPGNvZGUgY2xhc3M9Im9wdGlvbiI+LS10cmFjZS1mbGFnczwvY29kZT4gb3B0aW9uIGlzIGludmFsdWFibGUgZm9yIG9ic2VydmluZyB0aGUKcmVzdWx0cyBvZiBpbnN0cnVtZW50YXRpb24uPC9wPgo8cD5JZiB5b3UganVzdCB3YW50IHRvIGtub3cgd2hldGhlciBhIHByb2dyYW0gcG9pbnQgaGFzIGJlZW4gcmVhY2hlZCwKdXNpbmcgdGhlIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+T0lOSzwvY29kZT4gbWFjcm8gKGluCjxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+aW5jbHVkZS9wdWJfdG9vbF9saWJjcHJpbnQuaDwvY29kZT4pIGNhbiBiZSBlYXNpZXIgdGhhbgp1c2luZyBHREIuPC9wPgo8cD5UaGUgb3RoZXIgZGVidWdnaW5nIGNvbW1hbmQgbGluZSBvcHRpb25zIGNhbiBiZSB1c2VmdWwgdG9vIChydW4KPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij52YWxncmluZCAtLWhlbHAtZGVidWc8L2NvZGU+IGZvciB0aGUKbGlzdCkuPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0ic2VjdDIiPgo8ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDMgY2xhc3M9InRpdGxlIj4KPGEgbmFtZT0ibWFudWFsLXdyaXRpbmctdG9vbHMuc3VwcHJlc3Npb25zIj48L2E+Mi4zLjIuoFN1cHByZXNzaW9uczwvaDM+PC9kaXY+PC9kaXY+PC9kaXY+CjxwPklmIHlvdXIgdG9vbCByZXBvcnRzIGVycm9ycyBhbmQgeW91IHdhbnQgdG8gc3VwcHJlc3Mgc29tZSBjb21tb24Kb25lcywgeW91IGNhbiBhZGQgc3VwcHJlc3Npb25zIHRvIHRoZSBzdXBwcmVzc2lvbiBmaWxlcy4gIFRoZSByZWxldmFudApmaWxlcyBhcmUgPGNvZGUgY2xhc3M9ImZpbGVuYW1lIj4qLnN1cHA8L2NvZGU+OyB0aGUgZmluYWwgc3VwcHJlc3Npb24KZmlsZSBpcyBhZ2dyZWdhdGVkIGZyb20gdGhlc2UgZmlsZXMgYnkgY29tYmluaW5nIHRoZSByZWxldmFudAo8Y29kZSBjbGFzcz0iZmlsZW5hbWUiPi5zdXBwPC9jb2RlPiBmaWxlcyBkZXBlbmRpbmcgb24gdGhlIHZlcnNpb25zIG9mIGxpbnV4LCBYCmFuZCBnbGliYyBvbiBhIHN5c3RlbS48L3A+CjxwPlN1cHByZXNzaW9uIHR5cGVzIGhhdmUgdGhlIGZvcm0KPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij50b29sX25hbWU6c3VwcHJlc3Npb25fbmFtZTwvY29kZT4uICBUaGUKPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij50b29sX25hbWU8L2NvZGU+IGhlcmUgaXMgdGhlIG5hbWUgeW91IHNwZWNpZnkKZm9yIHRoZSB0b29sIGR1cmluZyBpbml0aWFsaXNhdGlvbiB3aXRoCjxjb2RlIGNsYXNzPSJmdW5jdGlvbiI+VkdfKGRldGFpbHNfbmFtZSk8L2NvZGU+LjwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InNlY3QyIj4KPGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgzIGNsYXNzPSJ0aXRsZSI+CjxhIG5hbWU9Im1hbnVhbC13cml0aW5nLXRvb2xzLmRvY3MiPjwvYT4yLjMuMy6gRG9jdW1lbnRhdGlvbjwvaDM+PC9kaXY+PC9kaXY+PC9kaXY+CjxwPklmIHlvdSBhcmUgZmVlbGluZyBjb25zY2llbnRpb3VzIGFuZCB3YW50IHRvIHdyaXRlIHNvbWUKZG9jdW1lbnRhdGlvbiBmb3IgeW91ciB0b29sLCBwbGVhc2UgdXNlIFhNTCBhcyB0aGUgcmVzdCBvZiBWYWxncmluZCBkb2VzLgpUaGUgZmlsZSA8Y29kZSBjbGFzcz0iZmlsZW5hbWUiPmRvY3MvUkVBRE1FPC9jb2RlPiBoYXMgbW9yZSBkZXRhaWxzIG9uIGdldHRpbmcKdGhlIFhNTCB0b29sY2hhaW4gdG8gd29yazsgIHRoaXMgY2FuIGJlIGRpZmZpY3VsdCwgdW5mb3J0dW5hdGVseS48L3A+CjxwPlRvIHdyaXRlIHRoZSBkb2N1bWVudGF0aW9uLCBmb2xsb3cgdGhlc2Ugc3RlcHMgKHVzaW5nCjxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+Zm9vYmFyPC9jb2RlPiBhcyB0aGUgZXhhbXBsZSB0b29sIG5hbWUKYWdhaW4pOjwvcD4KPGRpdiBjbGFzcz0ib3JkZXJlZGxpc3QiPjxvbCBjbGFzcz0ib3JkZXJlZGxpc3QiIHR5cGU9IjEiPgo8bGkgY2xhc3M9Imxpc3RpdGVtIj48cD5UaGUgZG9jcyBnbyBpbgogICA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPmZvb2Jhci9kb2NzLzwvY29kZT4sIHdoaWNoIHlvdSB3aWxsCiAgIGhhdmUgY3JlYXRlZCB3aGVuIHlvdSBzdGFydGVkIHdyaXRpbmcgdGhlIHRvb2wuPC9wPjwvbGk+CjxsaSBjbGFzcz0ibGlzdGl0ZW0iPgo8cD5Db3B5IHRoZSBYTUwgZG9jdW1lbnRhdGlvbiBmaWxlIGZvciB0aGUgdG9vbCBOdWxncmluZCBmcm9tCiAgICA8Y29kZSBjbGFzcz0iZmlsZW5hbWUiPm5vbmUvZG9jcy9ubC1tYW51YWwueG1sPC9jb2RlPiB0bwogICAgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij5mb29iYXIvZG9jcy88L2NvZGU+LCBhbmQgcmVuYW1lIGl0IHRvCiAgICA8Y29kZSBjbGFzcz0iZmlsZW5hbWUiPmZvb2Jhci9kb2NzL2ZiLW1hbnVhbC54bWw8L2NvZGU+LjwvcD4KPHA+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+Tm90ZTwvc3Ryb25nPjwvc3Bhbj46IHRoZXJlIGlzIGEgdGV0ZXggYnVnCiAgICBpbnZvbHZpbmcgdW5kZXJzY29yZXMgaW4gZmlsZW5hbWVzLCBzbyBkb24ndCB1c2UgJ18nLjwvcD4KPC9saT4KPGxpIGNsYXNzPSJsaXN0aXRlbSI+PHA+V3JpdGUgdGhlIGRvY3VtZW50YXRpb24uIFRoZXJlIGFyZSBzb21lIGhlbHBmdWwgYml0cyBhbmQKICAgIHBpZWNlcyBvbiB1c2luZyBYTUwgbWFya3VwIGluCiAgICA8Y29kZSBjbGFzcz0iZmlsZW5hbWUiPmRvY3MveG1sL3htbF9oZWxwLnR4dDwvY29kZT4uPC9wPjwvbGk+CjxsaSBjbGFzcz0ibGlzdGl0ZW0iPjxwPkluY2x1ZGUgaXQgaW4gdGhlIFVzZXIgTWFudWFsIGJ5IGFkZGluZyB0aGUgcmVsZXZhbnQgZW50cnkgdG8KICAgIDxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+ZG9jcy94bWwvbWFudWFsLnhtbDwvY29kZT4uICBDb3B5IGFuZCBlZGl0IGFuCiAgICBleGlzdGluZyBlbnRyeS48L3A+PC9saT4KPGxpIGNsYXNzPSJsaXN0aXRlbSI+PHA+SW5jbHVkZSBpdCBpbiB0aGUgbWFuIHBhZ2UgYnkgYWRkaW5nIHRoZSByZWxldmFudCBlbnRyeSB0bwogICAgPGNvZGUgY2xhc3M9ImZpbGVuYW1lIj5kb2NzL3htbC92YWxncmluZC1tYW5wYWdlLnhtbDwvY29kZT4uICBDb3B5IGFuZAogICAgZWRpdCBhbiBleGlzdGluZyBlbnRyeS48L3A+PC9saT4KPGxpIGNsYXNzPSJsaXN0aXRlbSI+CjxwPlZhbGlkYXRlIDxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+Zm9vYmFyL2RvY3MvZmItbWFudWFsLnhtbDwvY29kZT4gdXNpbmcKICAgIHRoZSBmb2xsb3dpbmcgY29tbWFuZCBmcm9tIHdpdGhpbiA8Y29kZSBjbGFzcz0iZmlsZW5hbWUiPmRvY3MvPC9jb2RlPjoKICA8L3A+CjxwcmUgY2xhc3M9InNjcmVlbiI+Cm1ha2UgdmFsaWQKPC9wcmU+CjxwPllvdSBtYXkgZ2V0IGVycm9ycyB0aGF0IGxvb2sgbGlrZSB0aGlzOjwvcD4KPHByZSBjbGFzcz0ic2NyZWVuIj4KLi94bWwvaW5kZXgueG1sOjU6IGVsZW1lbnQgY2hhcHRlcjogdmFsaWRpdHkgZXJyb3IgOiBObyBkZWNsYXJhdGlvbiBmb3IKYXR0cmlidXRlIGJhc2Ugb2YgZWxlbWVudCBjaGFwdGVyCjwvcHJlPgo8cD5JZ25vcmUgKG9ubHkpIHRoZXNlIC0tIHRoZXkncmUgbm90IGltcG9ydGFudC48L3A+CjxwPkJlY2F1c2UgdGhlIFhNTCB0b29sY2hhaW4gaXMgZnJhZ2lsZSwgaXQgaXMgaW1wb3J0YW50IHRvIGVuc3VyZQogICB0aGF0IDxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+ZmItbWFudWFsLnhtbDwvY29kZT4gd29uJ3QgYnJlYWsgdGhlIGRvY3VtZW50YXRpb24KICAgc2V0IGJ1aWxkLiAgTm90ZSB0aGF0IGp1c3QgYmVjYXVzZSBhbiBYTUwgZmlsZSBoYXBwaWx5IHRyYW5zZm9ybXMgdG8KICAgaHRtbCBkb2VzIG5vdCBuZWNlc3NhcmlseSBtZWFuIHRoZSBzYW1lIGhvbGRzIHRydWUgZm9yIHBkZi9wcy48L3A+CjwvbGk+CjxsaSBjbGFzcz0ibGlzdGl0ZW0iPgo8cD5Zb3UgY2FuIChyZS0pZ2VuZXJhdGUgdGhlIEhUTUwgZG9jcyB3aGlsZSB5b3UgYXJlIHdyaXRpbmcKICAgIDxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+ZmItbWFudWFsLnhtbDwvY29kZT4gdG8gaGVscCB5b3Ugc2VlIGhvdyBpdCdzIGxvb2tpbmcuCiAgICBUaGUgZ2VuZXJhdGVkIGZpbGVzIGVuZCB1cCBpbgogICAgPGNvZGUgY2xhc3M9ImZpbGVuYW1lIj5kb2NzL2h0bWwvPC9jb2RlPi4gIFVzZSB0aGUgZm9sbG93aW5nCiAgICBjb21tYW5kLCB3aXRoaW4gPGNvZGUgY2xhc3M9ImZpbGVuYW1lIj5kb2NzLzwvY29kZT46PC9wPgo8cHJlIGNsYXNzPSJzY3JlZW4iPgptYWtlIGh0bWwtZG9jcwo8L3ByZT4KPC9saT4KPGxpIGNsYXNzPSJsaXN0aXRlbSI+CjxwPldoZW4geW91IGhhdmUgZmluaXNoZWQsIHRyeSB0byBnZW5lcmF0ZSBQREYgYW5kIFBvc3RTY3JpcHQgb3V0cHV0IHRvCiAgICBjaGVjayBhbGwgaXMgd2VsbCwgZnJvbSB3aXRoaW4gPGNvZGUgY2xhc3M9ImZpbGVuYW1lIj5kb2NzLzwvY29kZT46CiAgPC9wPgo8cHJlIGNsYXNzPSJzY3JlZW4iPgptYWtlIHByaW50LWRvY3MKPC9wcmU+CjxwPkNoZWNrIHRoZSBvdXRwdXQgPGNvZGUgY2xhc3M9ImZpbGVuYW1lIj4ucGRmPC9jb2RlPiBhbmQKICAgIDxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+LnBzPC9jb2RlPiBmaWxlcyBpbgogICAgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij5kb2NzL3ByaW50LzwvY29kZT4uPC9wPgo8cD5Ob3RlIHRoYXQgdGhlIHRvb2xjaGFpbiBpcyBldmVuIG1vcmUgZnJhZ2lsZSBmb3IgdGhlIHByaW50IGRvY3MsCiAgICBzbyBkb24ndCBmZWVsIHRvbyBiYWQgaWYgeW91IGNhbid0IGdldCBpdCB3b3JraW5nLjwvcD4KPC9saT4KPC9vbD48L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9InNlY3QyIj4KPGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgzIGNsYXNzPSJ0aXRsZSI+CjxhIG5hbWU9Im1hbnVhbC13cml0aW5nLXRvb2xzLnJlZ3Rlc3RzIj48L2E+Mi4zLjQuoFJlZ3Jlc3Npb24gVGVzdHM8L2gzPjwvZGl2PjwvZGl2PjwvZGl2Pgo8cD5WYWxncmluZCBoYXMgc29tZSBzdXBwb3J0IGZvciByZWdyZXNzaW9uIHRlc3RzLiAgSWYgeW91IHdhbnQgdG8Kd3JpdGUgcmVncmVzc2lvbiB0ZXN0cyBmb3IgeW91ciB0b29sOjwvcD4KPGRpdiBjbGFzcz0ib3JkZXJlZGxpc3QiPjxvbCBjbGFzcz0ib3JkZXJlZGxpc3QiIHR5cGU9IjEiPgo8bGkgY2xhc3M9Imxpc3RpdGVtIj48cD5UaGUgdGVzdHMgZ28gaW4gPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij5mb29iYXIvdGVzdHMvPC9jb2RlPiwKICAgIHdoaWNoIHlvdSB3aWxsIGhhdmUgY3JlYXRlZCB3aGVuIHlvdSBzdGFydGVkIHdyaXRpbmcgdGhlIHRvb2wuPC9wPjwvbGk+CjxsaSBjbGFzcz0ibGlzdGl0ZW0iPjxwPldyaXRlIDxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+Zm9vYmFyL3Rlc3RzL01ha2VmaWxlLmFtPC9jb2RlPi4gIFVzZQogICAgPGNvZGUgY2xhc3M9ImZpbGVuYW1lIj5tZW1jaGVjay90ZXN0cy9NYWtlZmlsZS5hbTwvY29kZT4gYXMgYW4KICAgIGV4YW1wbGUuPC9wPjwvbGk+CjxsaSBjbGFzcz0ibGlzdGl0ZW0iPjxwPldyaXRlIHRoZSB0ZXN0cywgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij4udmd0ZXN0PC9jb2RlPiB0ZXN0CiAgICBkZXNjcmlwdGlvbiBmaWxlcywgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij4uc3Rkb3V0LmV4cDwvY29kZT4gYW5kCiAgICA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPi5zdGRlcnIuZXhwPC9jb2RlPiBleHBlY3RlZCBvdXRwdXQgZmlsZXMuCiAgICAoTm90ZSB0aGF0IFZhbGdyaW5kJ3Mgb3V0cHV0IGdvZXMgdG8gc3RkZXJyLikgIFNvbWUgZGV0YWlscyBvbgogICAgd3JpdGluZyBhbmQgcnVubmluZyB0ZXN0cyBhcmUgZ2l2ZW4gaW4gdGhlIGNvbW1lbnRzIGF0IHRoZSB0b3Agb2YKICAgIHRoZSB0ZXN0aW5nIHNjcmlwdAogICAgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij50ZXN0cy92Z19yZWd0ZXN0PC9jb2RlPi48L3A+PC9saT4KPGxpIGNsYXNzPSJsaXN0aXRlbSI+PHA+V3JpdGUgYSBmaWx0ZXIgZm9yIHN0ZGVyciByZXN1bHRzCiAgICA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPmZvb2Jhci90ZXN0cy9maWx0ZXJfc3RkZXJyPC9jb2RlPi4gIEl0IGNhbgogICAgY2FsbCB0aGUgZXhpc3RpbmcgZmlsdGVycyBpbgogICAgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij50ZXN0cy88L2NvZGU+LiAgU2VlCiAgICA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPm1lbWNoZWNrL3Rlc3RzL2ZpbHRlcl9zdGRlcnI8L2NvZGU+IGZvciBhbgogICAgZXhhbXBsZTsgaW4gcGFydGljdWxhciBub3RlIHRoZQogICAgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij4kZGlyPC9jb2RlPiB0cmljayB0aGF0IGVuc3VyZXMgdGhlIGZpbHRlcgogICAgd29ya3MgY29ycmVjdGx5IGZyb20gYW55IGRpcmVjdG9yeS48L3A+PC9saT4KPC9vbD48L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9InNlY3QyIj4KPGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgzIGNsYXNzPSJ0aXRsZSI+CjxhIG5hbWU9Im1hbnVhbC13cml0aW5nLXRvb2xzLnByb2ZpbGluZyI+PC9hPjIuMy41LqBQcm9maWxpbmc8L2gzPjwvZGl2PjwvZGl2PjwvZGl2Pgo8cD5Mb3RzIG9mIHByb2ZpbGluZyB0b29scyBoYXZlIHRyb3VibGUgcnVubmluZyBWYWxncmluZC4gIEZvciBleGFtcGxlLAp0cnlpbmcgdG8gdXNlIGdwcm9mIGlzIGhvcGVsZXNzLjwvcD4KPHA+UHJvYmFibHkgdGhlIGJlc3Qgd2F5IHRvIHByb2ZpbGUgYSB0b29sIGlzIHdpdGggT1Byb2ZpbGUgb24gTGludXguPC9wPgo8cD5Zb3UgY2FuIGFsc28gdXNlIENhY2hlZ3JpbmQgb24gaXQuICBSZWFkCjxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+UkVBRE1FX0RFVkVMT1BFUlM8L2NvZGU+IGZvciBkZXRhaWxzIG9uIHJ1bm5pbmcgVmFsZ3JpbmQgdW5kZXIKVmFsZ3JpbmQ7ICBpdCdzIGEgYml0IGZyYWdpbGUgYnV0IGNhbiB1c3VhbGx5IGJlIG1hZGUgdG8gd29yay48L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJzZWN0MiI+CjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMyBjbGFzcz0idGl0bGUiPgo8YSBuYW1lPSJtYW51YWwtd3JpdGluZy10b29scy5ta2hhY2tlcnkiPjwvYT4yLjMuNi6gT3RoZXIgTWFrZWZpbGUgSGFja2VyeTwvaDM+PC9kaXY+PC9kaXY+PC9kaXY+CjxwPklmIHlvdSBhZGQgYW55IGRpcmVjdG9yaWVzIHVuZGVyCjxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+Zm9vYmFyLzwvY29kZT4sIHlvdSB3aWxsIG5lZWQgdG8gYWRkCmFuIGFwcHJvcHJpYXRlIDxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+TWFrZWZpbGUuYW08L2NvZGU+IHRvIGl0LCBhbmQgYWRkIGEKY29ycmVzcG9uZGluZyBlbnRyeSB0byB0aGUgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij5BQ19PVVRQVVQ8L2NvZGU+Cmxpc3QgaW4gPGNvZGUgY2xhc3M9ImZpbGVuYW1lIj5jb25maWd1cmUuaW48L2NvZGU+LjwvcD4KPHA+SWYgeW91IGFkZCBhbnkgc2NyaXB0cyB0byB5b3VyIHRvb2wgKHNlZSBDYWNoZWdyaW5kIGZvciBhbgpleGFtcGxlKSB5b3UgbmVlZCB0byBhZGQgdGhlbSB0byB0aGUKPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij5iaW5fU0NSSVBUUzwvY29kZT4gdmFyaWFibGUgaW4KPGNvZGUgY2xhc3M9ImZpbGVuYW1lIj5mb29iYXIvTWFrZWZpbGUuYW08L2NvZGU+IGFuZCBwb3NzaWJsZSBhbHNvIHRvIHRoZQo8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPkFDX09VVFBVVDwvY29kZT4gbGlzdCBpbgo8Y29kZSBjbGFzcz0iZmlsZW5hbWUiPmNvbmZpZ3VyZS5pbjwvY29kZT4uPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0ic2VjdDIiPgo8ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDMgY2xhc3M9InRpdGxlIj4KPGEgbmFtZT0ibWFudWFsLXdyaXRpbmctdG9vbHMuaWZhY2V2ZXIiPjwvYT4yLjMuNy6gVGhlIENvcmUvdG9vbCBJbnRlcmZhY2U8L2gzPjwvZGl2PjwvZGl2PjwvZGl2Pgo8cD5UaGUgY29yZS90b29sIGludGVyZmFjZSBldm9sdmVzIG92ZXIgdGltZSwgYnV0IGl0J3MgcHJldHR5IHN0YWJsZS4KV2UgZGVsaWJlcmF0ZWx5IGRvIG5vdCBwcm92aWRlIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgd2l0aCBvbGQgaW50ZXJmYWNlcywKYmVjYXVzZSBpdCBpcyB0b28gZGlmZmljdWx0IGFuZCB0b28gcmVzdHJpY3RpdmUuICBXZSB2aWV3IHRoaXMgYXMgYSBnb29kCnRoaW5nIC0tIGlmIHdlIGhhZCB0byBiZSBiYWNrd2FyZCBjb21wYXRpYmxlIHdpdGggZWFybGllciB2ZXJzaW9ucywgbWFueQppbXByb3ZlbWVudHMgbm93IGluIHRoZSBzeXN0ZW0gY291bGQgbm90IGhhdmUgYmVlbiBhZGRlZC48L3A+CjxwPkJlY2F1c2UgdG9vbHMgYXJlIHN0YXRpY2FsbHkgbGlua2VkIHdpdGggdGhlIGNvcmUsIGlmIGEgdG9vbCBjb21waWxlcwpzdWNjZXNzZnVsbHkgdGhlbiBpdCBzaG91bGQgYmUgY29tcGF0aWJsZSB3aXRoIHRoZSBjb3JlLiAgV2Ugd291bGQgbm90CmRlbGliZXJhdGVseSB2aW9sYXRlIHRoaXMgcHJvcGVydHkgYnksIGZvciBleGFtcGxlLCBjaGFuZ2luZyB0aGUgYmVoYXZpb3VyCm9mIGEgY29yZSBmdW5jdGlvbiB3aXRob3V0IGNoYW5naW5nIGl0cyBwcm90b3R5cGUuPC9wPgo8L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9InNlY3QxIj4KPGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgyIGNsYXNzPSJ0aXRsZSIgc3R5bGU9ImNsZWFyOiBib3RoIj4KPGEgbmFtZT0ibWFudWFsLXdyaXRpbmctdG9vbHMuZmluYWx3b3JkcyI+PC9hPjIuNC6gRmluYWwgV29yZHM8L2gyPjwvZGl2PjwvZGl2PjwvZGl2Pgo8cD5Xcml0aW5nIGEgbmV3IFZhbGdyaW5kIHRvb2wgaXMgbm90IGVhc3ksIGJ1dCB0aGUgdG9vbHMgeW91IGNhbiB3cml0ZQp3aXRoIFZhbGdyaW5kIGFyZSBhbW9uZyB0aGUgbW9zdCBwb3dlcmZ1bCBwcm9ncmFtbWluZyB0b29scyB0aGVyZSBhcmUuCkhhcHB5IHByb2dyYW1taW5nITwvcD4KPC9kaXY+CjwvZGl2Pgo8ZGl2Pgo8YnI+PHRhYmxlIGNsYXNzPSJuYXYiIHdpZHRoPSIxMDAlIiBjZWxsc3BhY2luZz0iMyIgY2VsbHBhZGRpbmc9IjIiIGJvcmRlcj0iMCIgc3VtbWFyeT0iTmF2aWdhdGlvbiBmb290ZXIiPgo8dHI+Cjx0ZCByb3dzcGFuPSIyIiB3aWR0aD0iNDAlIiBhbGlnbj0ibGVmdCI+CjxhIGFjY2Vzc2tleT0icCIgaHJlZj0iZGVzaWduLWltcGwuaHRtbCI+Jmx0OyZsdDugMS6gVGhlIERlc2lnbiBhbmQgSW1wbGVtZW50YXRpb24gb2YgVmFsZ3JpbmQ8L2E+oDwvdGQ+Cjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0iY2VudGVyIj48YSBhY2Nlc3NrZXk9InUiIGhyZWY9InRlY2gtZG9jcy5odG1sIj5VcDwvYT48L3RkPgo8dGQgcm93c3Bhbj0iMiIgd2lkdGg9IjQwJSIgYWxpZ249InJpZ2h0Ij6gPGEgYWNjZXNza2V5PSJuIiBocmVmPSJjbC1mb3JtYXQuaHRtbCI+My6gQ2FsbGdyaW5kIEZvcm1hdCBTcGVjaWZpY2F0aW9uoCZndDsmZ3Q7PC9hPgo8L3RkPgo8L3RyPgo8dHI+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJjZW50ZXIiPjxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iaW5kZXguaHRtbCI+SG9tZTwvYT48L3RkPjwvdHI+CjwvdGFibGU+CjwvZGl2Pgo8L2JvZHk+CjwvaHRtbD4K