PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iRVVDLUtSIj8+CjwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFN0cmljdC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS1zdHJpY3QuZHRkIj4KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIGxhbmc9ImtvIiB4bWw6bGFuZz0ia28iPjxoZWFkPgo8bWV0YSBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9RVVDLUtSIiBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIC8+CjwhLS0KICAgICAgICBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWAogICAgICAgICAgICAgIFRoaXMgZmlsZSBpcyBnZW5lcmF0ZWQgZnJvbSB4bWwgc291cmNlOiBETyBOT1QgRURJVAogICAgICAgIFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYCiAgICAgIC0tPgo8dGl0bGU+bW9kX2Rhdl9mcyAtIEFwYWNoZSBIVFRQIFNlcnZlciBWZXJzaW9uIDIuNTwvdGl0bGU+CjxsaW5rIGhyZWY9Ii4uL3N0eWxlL2Nzcy9tYW51YWwuY3NzIiByZWw9InN0eWxlc2hlZXQiIG1lZGlhPSJhbGwiIHR5cGU9InRleHQvY3NzIiB0aXRsZT0iTWFpbiBzdHlsZXNoZWV0IiAvPgo8bGluayBocmVmPSIuLi9zdHlsZS9jc3MvbWFudWFsLWxvb3NlLTEwMHBjLmNzcyIgcmVsPSJhbHRlcm5hdGUgc3R5bGVzaGVldCIgbWVkaWE9ImFsbCIgdHlwZT0idGV4dC9jc3MiIHRpdGxlPSJObyBTaWRlYmFyIC0gRGVmYXVsdCBmb250IHNpemUiIC8+CjxsaW5rIGhyZWY9Ii4uL3N0eWxlL2Nzcy9tYW51YWwtcHJpbnQuY3NzIiByZWw9InN0eWxlc2hlZXQiIG1lZGlhPSJwcmludCIgdHlwZT0idGV4dC9jc3MiIC8+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vc3R5bGUvY3NzL3ByZXR0aWZ5LmNzcyIgLz4KPHNjcmlwdCBzcmM9Ii4uL3N0eWxlL3NjcmlwdHMvcHJldHRpZnkubWluLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgo8L3NjcmlwdD4KCjxsaW5rIGhyZWY9Ii4uL2ltYWdlcy9mYXZpY29uLmljbyIgcmVsPSJzaG9ydGN1dCBpY29uIiAvPjwvaGVhZD4KPGJvZHk+CjxkaXYgaWQ9InBhZ2UtaGVhZGVyIj4KPHAgY2xhc3M9Im1lbnUiPjxhIGhyZWY9Ii4uL21vZC8iPrjwteI8L2E+IHwgPGEgaHJlZj0iLi4vbW9kL3F1aWNrcmVmZXJlbmNlLmh0bWwiPsH2vcO+7rXpPC9hPiB8IDxhIGhyZWY9Imh0dHA6Ly93aWtpLmFwYWNoZS5vcmcvaHR0cGQvRkFRIj5GQVE8L2E+IHwgPGEgaHJlZj0iLi4vZ2xvc3NhcnkuaHRtbCI+v+u+7jwvYT4gfCA8YSBocmVmPSIuLi9zaXRlbWFwLmh0bWwiPrvnwMzGrrjKPC9hPjwvcD4KPHAgY2xhc3M9ImFwYWNoZSI+QXBhY2hlIEhUVFAgU2VydmVyIFZlcnNpb24gMi41PC9wPgo8aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9mZWF0aGVyLnBuZyIgLz48L2Rpdj4KPGRpdiBjbGFzcz0idXAiPjxhIGhyZWY9Ii4vIj48aW1nIHRpdGxlPSImbHQ7LSIgYWx0PSImbHQ7LSIgc3JjPSIuLi9pbWFnZXMvbGVmdC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGlkPSJwYXRoIj4KPGEgaHJlZj0iaHR0cDovL3d3dy5hcGFjaGUub3JnLyI+QXBhY2hlPC9hPiAmZ3Q7IDxhIGhyZWY9Imh0dHA6Ly9odHRwZC5hcGFjaGUub3JnLyI+SFRUUCBTZXJ2ZXI8L2E+ICZndDsgPGEgaHJlZj0iaHR0cDovL2h0dHBkLmFwYWNoZS5vcmcvZG9jcy8iPkRvY3VtZW50YXRpb248L2E+ICZndDsgPGEgaHJlZj0iLi4vIj5WZXJzaW9uIDIuNTwvYT4gJmd0OyA8YSBocmVmPSIuLyI+uPC14jwvYT48L2Rpdj4KPGRpdiBpZD0icGFnZS1jb250ZW50Ij4KPGRpdiBpZD0icHJlYW1ibGUiPjxoMT6+xsbExKEguPC14iBtb2RfZGF2X2ZzPC9oMT4KPGRpdiBjbGFzcz0idG9wbGFuZyI+CjxwPjxzcGFuPrChtMnH0SC+8L7uOiA8L3NwYW4+PGEgaHJlZj0iLi4vZW4vbW9kL21vZF9kYXZfZnMuaHRtbCIgaHJlZmxhbmc9ImVuIiByZWw9ImFsdGVybmF0ZSIgdGl0bGU9IkVuZ2xpc2giPiZuYnNwO2VuJm5ic3A7PC9hPiB8CjxhIGhyZWY9Ii4uL2ZyL21vZC9tb2RfZGF2X2ZzLmh0bWwiIGhyZWZsYW5nPSJmciIgcmVsPSJhbHRlcm5hdGUiIHRpdGxlPSJGcmFuJiMyMzE7YWlzIj4mbmJzcDtmciZuYnNwOzwvYT4gfAo8YSBocmVmPSIuLi9qYS9tb2QvbW9kX2Rhdl9mcy5odG1sIiBocmVmbGFuZz0iamEiIHJlbD0iYWx0ZXJuYXRlIiB0aXRsZT0iSmFwYW5lc2UiPiZuYnNwO2phJm5ic3A7PC9hPiB8CjxhIGhyZWY9Ii4uL2tvL21vZC9tb2RfZGF2X2ZzLmh0bWwiIHRpdGxlPSJLb3JlYW4iPiZuYnNwO2tvJm5ic3A7PC9hPjwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9Im91dG9mZGF0ZSI+wMwgua68rbTCIMPWvcXGxyC5+L+qwMwgvsa01bTPtNkuCiAgICAgICAgICAgIMPWsdm/oSC6r7Dmtcggs7u/68C6IL+1vu4gua68rbimIML8sO3Hz7y8v+QuPC9kaXY+Cjx0YWJsZSBjbGFzcz0ibW9kdWxlIj48dHI+PHRoPjxhIGhyZWY9Im1vZHVsZS1kaWN0Lmh0bWwjRGVzY3JpcHRpb24iPryzuO06PC9hPjwvdGg+PHRkPjxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4uL21vZC9tb2RfZGF2Lmh0bWwiPm1vZF9kYXY8L2E+PC9jb2RlPsC7IMCnx9EgxsTAz73DvbrF2yDBprD4wNo8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0ibW9kdWxlLWRpY3QuaHRtbCNTdGF0dXMiPrvzxcI6PC9hPjwvdGg+PHRkPkV4dGVuc2lvbjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJtb2R1bGUtZGljdC5odG1sI01vZHVsZUlkZW50aWZpZXIiPrjwteK47To8L2E+PC90aD48dGQ+ZGF2X2ZzX21vZHVsZTwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJtb2R1bGUtZGljdC5odG1sI1NvdXJjZUZpbGUiPrzSvbrGxMDPOjwvYT48L3RoPjx0ZD5tb2RfZGF2X2ZzLmM8L3RkPjwvdHI+PC90YWJsZT4KPGgzPr/kvuA8L2gzPgoKICAgIDxwPsDMILjwteLAuiA8Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuLi9tb2QvbW9kX2Rhdi5odG1sIj5tb2RfZGF2PC9hPjwvY29kZT4gvK268b26v6EgPGVtPsfKv+THz7TZPC9lbT4uCiAgICA8Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuLi9tb2QvbW9kX2Rhdi5odG1sIj5tb2RfZGF2PC9hPjwvY29kZT64piDB9r/4x8+0wiC48LXit84gvK259sDHIMbEwM+9w726xdu/oQogICAgwNa0wiDA2r/4wLsgwaKx2cfSILz2IMDWtbW3zyDH0bTZLiDAzCDBprD4wNoocHJvdmlkZXIpwMcKICAgIMGkvcS47cSqwLogPGNvZGU+ZmlsZXN5c3RlbTwvY29kZT7AzLTZLiA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuLi9tb2QvbW9kX2Rhdi5odG1sI2RhdiI+RGF2PC9hPjwvY29kZT4gwfa9w77uuKYgwfbBpMfPv6kKICAgIDxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4uL21vZC9tb2RfZGF2Lmh0bWwiPm1vZF9kYXY8L2E+PC9jb2RlPiC13rTcIMGmsPjA2rimILvnv+vH0bTZOjwvcD4KCiAgICA8ZGl2IGNsYXNzPSJleGFtcGxlIj48aDM+v7nBpjwvaDM+PHA+PGNvZGU+CiAgICAgIERhdiBmaWxlc3lzdGVtCiAgICA8L2NvZGU+PC9wPjwvZGl2PgoKICAgIDxwPjxjb2RlPmZpbGVzeXN0ZW08L2NvZGU+wMwgPGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi4vbW9kL21vZF9kYXYuaHRtbCI+bW9kX2RhdjwvYT48L2NvZGU+wMcKICAgILHiursgwaaw+MDawMy5x7fOILTrvcUgPGNvZGU+T248L2NvZGU+wLsgu+e/68fSILz2IMDWtNkuPC9wPgo8L2Rpdj4KPGRpdiBpZD0icXVpY2t2aWV3Ij48aDMgY2xhc3M9ImRpcmVjdGl2ZXMiPsH2vcO+7rXpPC9oMz4KPHVsIGlkPSJ0b2MiPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNkYXZsb2NrZGIiPkRhdkxvY2tEQjwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNkYXZsb2NrZGJ0eXBlIj5EYXZMb2NrREJUeXBlPC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI2RhdmxvY2tkaXNjb3ZlcnkiPkRhdkxvY2tEaXNjb3Zlcnk8L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjZGF2cXVvdGEiPkRhdlF1b3RhPC9hPjwvbGk+CjwvdWw+CjxoMz5CdWdmaXggY2hlY2tsaXN0PC9oMz48dWwgY2xhc3M9InNlZWFsc28iPjxsaT48YSBocmVmPSJodHRwczovL3d3dy5hcGFjaGUub3JnL2Rpc3QvaHR0cGQvQ0hBTkdFU18yLjQiPmh0dHBkIGNoYW5nZWxvZzwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL2J6LmFwYWNoZS5vcmcvYnVnemlsbGEvYnVnbGlzdC5jZ2k/YnVnX3N0YXR1cz1fX29wZW5fXyZhbXA7bGlzdF9pZD0xNDQ1MzImYW1wO3Byb2R1Y3Q9QXBhY2hlJTIwaHR0cGQtMiZhbXA7cXVlcnlfZm9ybWF0PXNwZWNpZmljJmFtcDtvcmRlcj1jaGFuZ2VkZGF0ZSUyMERFU0MlMkNwcmlvcml0eSUyQ2J1Z19zZXZlcml0eSZhbXA7Y29tcG9uZW50PW1vZF9kYXZfZnMiPktub3duIGlzc3VlczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL2J6LmFwYWNoZS5vcmcvYnVnemlsbGEvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PUFwYWNoZSUyMGh0dHBkLTImYW1wO2NvbXBvbmVudD1tb2RfZGF2X2ZzIj5SZXBvcnQgYSBidWc8L2E+PC9saT48L3VsPjxoMz7C/LDtPC9oMz4KPHVsIGNsYXNzPSJzZWVhbHNvIj4KPGxpPjxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4uL21vZC9tb2RfZGF2Lmh0bWwiPm1vZF9kYXY8L2E+PC9jb2RlPjwvbGk+CjxsaT48YSBocmVmPSIjY29tbWVudHNfc2VjdGlvbiI+Q29tbWVudHM8L2E+PC9saT48L3VsPjwvZGl2PgoKPGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9ImRpcmVjdGl2ZS1zZWN0aW9uIj48aDI+PGEgbmFtZT0iRGF2TG9ja0RCIiBpZD0iRGF2TG9ja0RCIj5EYXZMb2NrREI8L2E+IDxhIG5hbWU9ImRhdmxvY2tkYiIgaWQ9ImRhdmxvY2tkYiI+wfa9w77uPC9hPiA8YSB0aXRsZT0iUGVybWFuZW50IGxpbmsiIGhyZWY9IiNkYXZsb2NrZGIiIGNsYXNzPSJwZXJtYWxpbmsiPiZwYXJhOzwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+vLO47To8L2E+PC90aD48dGQ+REFWIMDhsd0gtaXAzMXNuqPAzL26IMCnxKE8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTeW50YXgiPrmuuf06PC9hPjwvdGg+PHRkPjxjb2RlPkRhdkxvY2tEQiA8dmFyPmZpbGUtcGF0aDwvdmFyPjwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNDb250ZXh0Ij6757/rwOW80jo8L2E+PC90aD48dGQ+wda8rbn2vLPBpCwgsKG788ijvbrGrjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N0YXR1cyI+u/PFwjo8L2E+PC90aD48dGQ+RXh0ZW5zaW9uPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjTW9kdWxlIj648LXiOjwvYT48L3RoPjx0ZD5tb2RfZGF2X2ZzPC90ZD48L3RyPgo8L3RhYmxlPgogICAgPHA+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+RGF2TG9ja0RCPC9jb2RlPiDB9r3Dvu60wiDA4bHdILWlwMzFzbqjwMy9usDHCiAgICDA/MO8ILDmt864piDIrsDlwNq4piDBpr/cx8+w7SDB9sGkx9G02S4gwP2067Dmt86woSC+xrTPuOkKICAgIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4uL21vZC9jb3JlLmh0bWwjc2VydmVycm9vdCI+U2VydmVyUm9vdDwvYT48L2NvZGU+v6Egu/O067Dmt863zgogICAgw7O4rsfRtNkuIDxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4uL21vZC9tb2RfZGF2X2ZzLmh0bWwiPm1vZF9kYXZfZnM8L2E+PC9jb2RlPrTCIMDhsd3AuyBTREJNILWlwMzFzbqjwMy9ur+hCiAgICCx4rfPx9G02S48L3A+CgogICAgCgogICAgPGRpdiBjbGFzcz0iZXhhbXBsZSI+PGgzPr+5waY8L2gzPjxwPjxjb2RlPgogICAgICBEYXZMb2NrREIgdmFyL0RhdkxvY2sKICAgIDwvY29kZT48L3A+PC9kaXY+CgogICAgPHA+vsbGxMShuKYgvcfH4MfPtMIgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi4vbW9kL21wbV9jb21tb24uaHRtbCN1c2VyIj5Vc2VyPC9hPjwvY29kZT6/zQogICAgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi4vbW9kL21wbV9jb21tb24uaHRtbCNncm91cCI+R3JvdXA8L2E+PC9jb2RlPsC6IMDhsd0KICAgILWlwMzFzbqjwMy9urChIMDWtMIgtfC3usXkuK6/oSC+srHiILHHx9HAuyCwocGuvt8gx9G02S4KICAgILq4vsi78yDAzMCvt84gseLBuCC18Le6xeS4rsDHILHHx9HAuyC52bLZseK6uLTZtMIgwOGx3QogICAgtaXAzMXNuqPAzL26v+sgtfC3usXkuK64piC4uLXpvu6+3yDH0bTZLiDAp8DHILDmv+wgvsbGxMShtMIKICAgIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4uL21vZC9jb3JlLmh0bWwjc2VydmVycm9vdCI+U2VydmVyUm9vdDwvYT48L2NvZGU+IL7Gt6EKICAgIDxjb2RlPnZhci88L2NvZGU+ILXwt7rF5Liuv6EgvK259rChILyxxcPH0SDIrsDluO3AuyCwocH4CiAgICA8Y29kZT5EYXZMb2NrPC9jb2RlPiDGxMDPwLsguLi157TZLjwvcD4KCgo8L2Rpdj4KPGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9ImRpcmVjdGl2ZS1zZWN0aW9uIj48aDI+PGEgbmFtZT0iRGF2TG9ja0RCVHlwZSIgaWQ9IkRhdkxvY2tEQlR5cGUiPkRhdkxvY2tEQlR5cGU8L2E+IDxhIG5hbWU9ImRhdmxvY2tkYnR5cGUiIGlkPSJkYXZsb2NrZGJ0eXBlIj7B9r3Dvu48L2E+IDxhIHRpdGxlPSJQZXJtYW5lbnQgbGluayIgaHJlZj0iI2RhdmxvY2tkYnR5cGUiIGNsYXNzPSJwZXJtYWxpbmsiPiZwYXJhOzwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+vLO47To8L2E+PC90aD48dGQ+RGF0YWJhc2UgdHlwZSBvZiB0aGUgREFWIGxvY2sgZGF0YWJhc2U8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTeW50YXgiPrmuuf06PC9hPjwvdGg+PHRkPjxjb2RlPkRhdkxvY2tEQlR5cGUgPHZhcj5kYm0tdHlwZTwvdmFyPjwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZWZhdWx0Ij6x4rq7sKo6PC9hPjwvdGg+PHRkPjxjb2RlPkRhdkxvY2tEQlR5cGUgZGVmYXVsdDwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNDb250ZXh0Ij6757/rwOW80jo8L2E+PC90aD48dGQ+wda8rbn2vLPBpCwgsKG788ijvbrGrjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N0YXR1cyI+u/PFwjo8L2E+PC90aD48dGQ+RXh0ZW5zaW9uPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjTW9kdWxlIj648LXiOjwvYT48L3RoPjx0ZD5tb2RfZGF2X2ZzPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjQ29tcGF0aWJpbGl0eSI+wfa/+Do8L2E+PC90aD48dGQ+QXZhaWxhYmxlIGluIHZlcnNpb24gMi41LjEgYW5kIGxhdGVyLjwvdGQ+PC90cj4KPC90YWJsZT48cD5UaGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhpcyBkaXJlY3RpdmUgaGFzCiAgICAgICAgICAgIG5vdCBiZWVuIHRyYW5zbGF0ZWQgeWV0LiBQbGVhc2UgaGF2ZSBhIGxvb2sgYXQgdGhlIEVuZ2xpc2gKICAgICAgICAgICAgdmVyc2lvbi48L3A+PC9kaXY+CjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJkaXJlY3RpdmUtc2VjdGlvbiI+PGgyPjxhIG5hbWU9IkRhdkxvY2tEaXNjb3ZlcnkiIGlkPSJEYXZMb2NrRGlzY292ZXJ5Ij5EYXZMb2NrRGlzY292ZXJ5PC9hPiA8YSBuYW1lPSJkYXZsb2NrZGlzY292ZXJ5IiBpZD0iZGF2bG9ja2Rpc2NvdmVyeSI+wfa9w77uPC9hPiA8YSB0aXRsZT0iUGVybWFuZW50IGxpbmsiIGhyZWY9IiNkYXZsb2NrZGlzY292ZXJ5IiBjbGFzcz0icGVybWFsaW5rIj4mcGFyYTs8L2E+PC9oMj4KPHRhYmxlIGNsYXNzPSJkaXJlY3RpdmUiPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVzY3JpcHRpb24iPryzuO06PC9hPjwvdGg+PHRkPkVuYWJsZSBsb2NrIGRpc2NvdmVyeTwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N5bnRheCI+ua65/To8L2E+PC90aD48dGQ+PGNvZGU+RGF2TG9ja0Rpc2NvdmVyeSBvbnxvZmY8L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVmYXVsdCI+seK6u7CqOjwvYT48L3RoPjx0ZD48Y29kZT5EYXZMb2NrRGlzY292ZXJ5IG9uPC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0NvbnRleHQiPrvnv+vA5bzSOjwvYT48L3RoPjx0ZD7B1rytufa8s8GkLCCwobvzyKO9usauLCBkaXJlY3RvcnksIC5odGFjY2VzczwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N0YXR1cyI+u/PFwjo8L2E+PC90aD48dGQ+RXh0ZW5zaW9uPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjTW9kdWxlIj648LXiOjwvYT48L3RoPjx0ZD5tb2RfZGF2X2ZzPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjQ29tcGF0aWJpbGl0eSI+wfa/+Do8L2E+PC90aD48dGQ+QXZhaWxhYmxlIGZyb20gQXBhY2hlIDIuNS4wIGFuZCBsYXRlci48L3RkPjwvdHI+CjwvdGFibGU+PHA+VGhlIGRvY3VtZW50YXRpb24gZm9yIHRoaXMgZGlyZWN0aXZlIGhhcwogICAgICAgICAgICBub3QgYmVlbiB0cmFuc2xhdGVkIHlldC4gUGxlYXNlIGhhdmUgYSBsb29rIGF0IHRoZSBFbmdsaXNoCiAgICAgICAgICAgIHZlcnNpb24uPC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0iZGlyZWN0aXZlLXNlY3Rpb24iPjxoMj48YSBuYW1lPSJEYXZRdW90YSIgaWQ9IkRhdlF1b3RhIj5EYXZRdW90YTwvYT4gPGEgbmFtZT0iZGF2cXVvdGEiIGlkPSJkYXZxdW90YSI+wfa9w77uPC9hPiA8YSB0aXRsZT0iUGVybWFuZW50IGxpbmsiIGhyZWY9IiNkYXZxdW90YSIgY2xhc3M9InBlcm1hbGluayI+JnBhcmE7PC9hPjwvaDI+Cjx0YWJsZSBjbGFzcz0iZGlyZWN0aXZlIj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0Rlc2NyaXB0aW9uIj68s7jtOjwvYT48L3RoPjx0ZD5TZXQgdXNhZ2UgcXVvdGE8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTeW50YXgiPrmuuf06PC9hPjwvdGg+PHRkPjxjb2RlPkRhdlF1b3RhIE9mZiB8IE5vbmUgfCAjYnl0ZXM8L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVmYXVsdCI+seK6u7CqOjwvYT48L3RoPjx0ZD48Y29kZT5EYXZRdW90YSBPZmY8L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjQ29udGV4dCI+u+e/68DlvNI6PC9hPjwvdGg+PHRkPsHWvK259ryzwaQsILChu/PIo726xq4sIGRpcmVjdG9yeSwgLmh0YWNjZXNzPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3RhdHVzIj6788XCOjwvYT48L3RoPjx0ZD5FeHRlbnNpb248L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNNb2R1bGUiPrjwteI6PC9hPjwvdGg+PHRkPm1vZF9kYXZfZnM8L3RkPjwvdHI+CjwvdGFibGU+PHA+VGhlIGRvY3VtZW50YXRpb24gZm9yIHRoaXMgZGlyZWN0aXZlIGhhcwogICAgICAgICAgICBub3QgYmVlbiB0cmFuc2xhdGVkIHlldC4gUGxlYXNlIGhhdmUgYSBsb29rIGF0IHRoZSBFbmdsaXNoCiAgICAgICAgICAgIHZlcnNpb24uPC9wPjwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0iYm90dG9tbGFuZyI+CjxwPjxzcGFuPrChtMnH0SC+8L7uOiA8L3NwYW4+PGEgaHJlZj0iLi4vZW4vbW9kL21vZF9kYXZfZnMuaHRtbCIgaHJlZmxhbmc9ImVuIiByZWw9ImFsdGVybmF0ZSIgdGl0bGU9IkVuZ2xpc2giPiZuYnNwO2VuJm5ic3A7PC9hPiB8CjxhIGhyZWY9Ii4uL2ZyL21vZC9tb2RfZGF2X2ZzLmh0bWwiIGhyZWZsYW5nPSJmciIgcmVsPSJhbHRlcm5hdGUiIHRpdGxlPSJGcmFuJiMyMzE7YWlzIj4mbmJzcDtmciZuYnNwOzwvYT4gfAo8YSBocmVmPSIuLi9qYS9tb2QvbW9kX2Rhdl9mcy5odG1sIiBocmVmbGFuZz0iamEiIHJlbD0iYWx0ZXJuYXRlIiB0aXRsZT0iSmFwYW5lc2UiPiZuYnNwO2phJm5ic3A7PC9hPiB8CjxhIGhyZWY9Ii4uL2tvL21vZC9tb2RfZGF2X2ZzLmh0bWwiIHRpdGxlPSJLb3JlYW4iPiZuYnNwO2tvJm5ic3A7PC9hPjwvcD4KPC9kaXY+PGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiBhbHQ9InRvcCIgLz48L2E+PC9kaXY+PGRpdiBjbGFzcz0ic2VjdGlvbiI+PGgyPjxhIGlkPSJjb21tZW50c19zZWN0aW9uIiBuYW1lPSJjb21tZW50c19zZWN0aW9uIj5Db21tZW50czwvYT48L2gyPjxkaXYgY2xhc3M9Indhcm5pbmciPjxzdHJvbmc+Tm90aWNlOjwvc3Ryb25nPjxiciAvPlRoaXMgaXMgbm90IGEgUSZhbXA7QSBzZWN0aW9uLiBDb21tZW50cyBwbGFjZWQgaGVyZSBzaG91bGQgYmUgcG9pbnRlZCB0b3dhcmRzIHN1Z2dlc3Rpb25zIG9uIGltcHJvdmluZyB0aGUgZG9jdW1lbnRhdGlvbiBvciBzZXJ2ZXIsIGFuZCBtYXkgYmUgcmVtb3ZlZCBieSBvdXIgbW9kZXJhdG9ycyBpZiB0aGV5IGFyZSBlaXRoZXIgaW1wbGVtZW50ZWQgb3IgY29uc2lkZXJlZCBpbnZhbGlkL29mZi10b3BpYy4gUXVlc3Rpb25zIG9uIGhvdyB0byBtYW5hZ2UgdGhlIEFwYWNoZSBIVFRQIFNlcnZlciBzaG91bGQgYmUgZGlyZWN0ZWQgYXQgZWl0aGVyIG91ciBJUkMgY2hhbm5lbCwgI2h0dHBkLCBvbiBMaWJlcmEuY2hhdCwgb3Igc2VudCB0byBvdXIgPGEgaHJlZj0iaHR0cHM6Ly9odHRwZC5hcGFjaGUub3JnL2xpc3RzLmh0bWwiPm1haWxpbmcgbGlzdHM8L2E+LjwvZGl2Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+PCEtLS8vLS0+PCFbQ0RBVEFbLy8+PCEtLQp2YXIgY29tbWVudHNfc2hvcnRuYW1lID0gJ2h0dHBkJzsKdmFyIGNvbW1lbnRzX2lkZW50aWZpZXIgPSAnaHR0cDovL2h0dHBkLmFwYWNoZS5vcmcvZG9jcy90cnVuay9tb2QvbW9kX2Rhdl9mcy5odG1sJzsKKGZ1bmN0aW9uKHcsIGQpIHsKICAgIGlmICh3LmxvY2F0aW9uLmhvc3RuYW1lLnRvTG93ZXJDYXNlKCkgPT0gImh0dHBkLmFwYWNoZS5vcmciKSB7CiAgICAgICAgZC53cml0ZSgnPGRpdiBpZD0iY29tbWVudHNfdGhyZWFkIj48XC9kaXY+Jyk7CiAgICAgICAgdmFyIHMgPSBkLmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpOwogICAgICAgIHMudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnOwogICAgICAgIHMuYXN5bmMgPSB0cnVlOwogICAgICAgIHMuc3JjID0gJ2h0dHBzOi8vY29tbWVudHMuYXBhY2hlLm9yZy9zaG93X2NvbW1lbnRzLmx1YT9zaXRlPScgKyBjb21tZW50c19zaG9ydG5hbWUgKyAnJnBhZ2U9JyArIGNvbW1lbnRzX2lkZW50aWZpZXI7CiAgICAgICAgKGQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXSB8fCBkLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdib2R5JylbMF0pLmFwcGVuZENoaWxkKHMpOwogICAgfQogICAgZWxzZSB7CiAgICAgICAgZC53cml0ZSgnPGRpdiBpZD0iY29tbWVudHNfdGhyZWFkIj5Db21tZW50cyBhcmUgZGlzYWJsZWQgZm9yIHRoaXMgcGFnZSBhdCB0aGUgbW9tZW50LjxcL2Rpdj4nKTsKICAgIH0KfSkod2luZG93LCBkb2N1bWVudCk7Ci8vLS0+PCFdXT48L3NjcmlwdD48L2Rpdj48ZGl2IGlkPSJmb290ZXIiPgo8cCBjbGFzcz0iYXBhY2hlIj5Db3B5cmlnaHQgMjAyMyBUaGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24uPGJyIC8+TGljZW5zZWQgdW5kZXIgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMCI+QXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wPC9hPi48L3A+CjxwIGNsYXNzPSJtZW51Ij48YSBocmVmPSIuLi9tb2QvIj648LXiPC9hPiB8IDxhIGhyZWY9Ii4uL21vZC9xdWlja3JlZmVyZW5jZS5odG1sIj7B9r3Dvu616TwvYT4gfCA8YSBocmVmPSJodHRwOi8vd2lraS5hcGFjaGUub3JnL2h0dHBkL0ZBUSI+RkFRPC9hPiB8IDxhIGhyZWY9Ii4uL2dsb3NzYXJ5Lmh0bWwiPr/rvu48L2E+IHwgPGEgaHJlZj0iLi4vc2l0ZW1hcC5odG1sIj6758DMxq64yjwvYT48L3A+PC9kaXY+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwhLS0vLy0tPjwhW0NEQVRBWy8vPjwhLS0KaWYgKHR5cGVvZihwcmV0dHlQcmludCkgIT09ICd1bmRlZmluZWQnKSB7CiAgICBwcmV0dHlQcmludCgpOwp9Ci8vLS0+PCFdXT48L3NjcmlwdD4KPC9ib2R5PjwvaHRtbD4=