<?php
	
	function generate_captcha($len=4)
	{
		global $C;
		$images	= array (
			'2'	=> 'R0lGODlhJAApAOYAAPn397W0tPr5+bu6uuzs7La1tfb19f7+/sTDw/v6+rq5ufz8/Pz7+7i3t8HAwNTT0+zr69vZ2b28vPf29vf397m4uLe2tufm5vv7+/r6+t3c3M3MzOLi4tHR0eDg4M/Pz9XV1ba2tvPz88vLy8PCwtHQ0NfW1tPT0/Px8cLBwePj4/Dv78fGxuHh4dPS0sbGxsXFxbS0tMXExOPi4ubm5t3d3evp6cvKyuLh4d7d3b++vry7u+np6fX09MzMzPHw8M3Nzd/e3u7u7tnZ2cnIyOXk5Ojo6NDPz87Nzd/f38fHx9zb2+no6MrKytvb2+vr68bFxdfX1769ve3s7NbV1f///7SzswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAkACkAAAf/gFaCg1Y1hFYEh4qLh1VWjo4cj49RkJOWmJeaiomDnYygViAPgplVBKaaqY4HUJaLnZ+hgx0vEoqmQFUeq6q+r4pGPLOHCKG9yI8BC7+TxKABAc/J1M2Oz4oF2NLVkDHdzsQOOBcaA9iCJNaXFwIAAgYHAQcN8qwDGSkZDhQIIg06mpjwMCNHBwQKogkqAWEFAAA9tDEaMcjYukwL3l1Y9QCSimuLQkg7VCACgAnnFoEYxKSUqgGrHLhj8OsEpBYgB22wyGiADQBTGJGykmSQJREXA2AAkOBXx01WAjTARgUABImHXAhSYTQAuARMFZhCUsXmox0hiBWoMAgFgCBYnQl9sOKEELIKGExkQJHgx0xVFqocoUCjCoQqRKQ0kBbAggQYGz5QZPGw8sMVJRZJUNJoHYN3ENyJnsAMUwoKUEORmFDZQIQIBk6yJeTgRmdkEeAlkOHos4AlmMSmJmZBwaAARQxoIAYOk4QFMNehezby9sXrqaYTS2m9uS8MvrTP8rHIey8h4cWDGlIeu/tM6kE9aW/elyT48WEpCgQAOw==',
			'3'	=> 'R0lGODlhJAApAOYAAPn39+zs7Pv6+rW0tPr5+fDv7/f29vz7++jo6Ovp6bi3t+fn5/z8/NvZ2fb19fr6+u/v79TU1OHh4eXk5MjHx+zr67++vr28vMHAwMXExOTk5Ono6NXV1ebl5cnIyMTDw+Dg4Lm4uNHQ0Nvb2/Px8b69vevr69DPz9LR0d/e3srJyf7+/ubm5u7t7eLi4uPi4u/u7szMzNnZ2dnY2Lu6usPCwujn58zLy97e3tPT09TT07q5ubm5ub6+vv/+/ra1td/f387NzcLCwvv7+9zb29zc3MfGxuLh4dfW1u3s7OPj4+Xl5efm5re2ttPS0vn5+fX09NHR0fHx8djY2MbFxfb29tbV1c3Nzf78/NDQ0Pf398C/v////7SzswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAkACkAAAf/gF1dGoKFhoeIXQ2JhkxcC1xdkZOSlZSXI5eWlRIgjJ+GTqCCXDqap5uoqEZCo6NLowwKqqm1ELWTA126rp8oo7TBlgiqury9jAifA1yzuM+XEbRdPcifLIYSSiBAEpIqwqfMHlwTXBVcAZpdSIjHuhcXoMqJGQsiEFNSUQ88lD5HBCQ4cGNFLRfPusgARcEAgIdQKhD5cCjCJy4mgp0Q0EGAAwIGHmQIJygAMgVBOjwsUKKQiIsswl04MEMAAJCXsqDqYnKUigIPHzrYUJERyQM3AQhocKAJSUEcRoUg8RDGFkZXEnFpEK6GTQIFDGqCkMMEpAAPSjLSRcWCoAEpmoRiKDSAhodFh9TpfQAJRTMuFATYoMTAAIEEp8xtUpsIg0MrFtx22QDAwVxERQ5FeoLrx9cCAgUSAMAAWiXGiT5QDRq0BQVGFQyRxDJBQBIBBYaMxPWCkqAYyErs6BJi1IlCkaqYJrmTpzVrPZkvT5UiEtTn1nBUKi1dOmrsvSJpmd79dJcR4K2VLy+IXnpXkQitn16o5/tPgQAAOw==',
			'4'	=> 'R0lGODlhJAApAOYAAPn39+zs7Pr5+bW0tPb19f7+/ru6uvz8/NvZ2ebm5vf29ubl5ePj47i3t9HQ0La1te7t7d/e3vTz8+np6ejo6ODg4MjIyOvr67e2tt3c3OTk5PDv7+Lh4fv6+ufn5/78/Pz7+769vdzb27m4uLy7u+/u7vT09NTU1Pb29tjY2MvLy8XExL28vNjX1/Dw8MjHx9TT0/f399LS0vv7+9vb28/OzvPx8dnZ2cnIyNPT0+no6Ovp6d7e3uHh4d/f39LR0fX09MbFxdXU1MPCwuXl5c/Pz7q5uc7Nze3s7M3MzP///7SzswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAkACkAAAf/gEuCg4SFhoeIS0qKjIuOjZCPkpGJlZaHk5mUmpqXnpacm6Khn6WYo6iZAUqrq6aCRTwMHhQJAQFEPhGIky5GBY0DSgYoqZEBFBoVCQwIr56h0caLrwMYr9IfDo4OIA3Sj5YhChKCIxIAGabRRwIEiwUEAgjgSwmWJAsAG4I4CgpCPFkQFOqDDQEZFh0AIKAGpwAHNMRwVckBAQAQRCBAAgCAswEsVNBYcOHWoACDQsUTwLClgAXRUoQT1INBiyANBghKsmMDBAgXAfzQmWigoBsTOHAaUGBIgREdGIaoR62UCAAEriFCWYjqgIUCROWgVGoADKwGDlXgNW0JWCAdTyLp6FTqRdAShXaxpcpBgAIQjEyQIPWM0INLVNtOKoxNseOqjD8lVvJg8gSulwykfabkhIdRDWY8ZnTyQoIIMlYYeEA08ujJrkvBhh37UiAAOw==',
			'5'	=> 'R0lGODlhJAApAOYAAOzs7Pn39/r5+bW0tPf29uPj49TT07a1td7e3uvp6cXExM7Nzfb19dnY2Ofn58TDw+jn5+zr6/7+/unp6cbFxb69vcC/v9fW1tbW1vv6+uDg4PPx8dXU1PHx8be2trm4uMLCwri3t+Pi4uDf3728vPb29vz8/Lq5ue7t7eLi4sfGxsrKyvv7+7y7u8zLy+fm5vn5+d3c3M/Pz7e3t9LR0c3Nzevr6+Tk5NDPz9DQ0N/f3/z7+8rJyfX19d3d3eXl5fDw8O3t7dPT08zMzNHR0dvb2+7u7u/u7tnZ2f/+/snJydLS0rm5ueXk5PDv7+Lh4c3MzL6+vuHh4dvZ2bu6ur29vcjIyNbV1cLBwdTU1MfHx9HQ0PX09NfX1+bm5vr6+vTz87++vsPCwsHAwMvKysnIyN7d3f///7SzswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAkACkAAAf/gGiCg4SFhAOGhBEOhWdojpCPkpGUk5aViZmDiJqJlZ+XoaCOnZkPpYIAqqKsQRQdIEAWKVoOWQ5IRhcIFJGDqhBTF08RExAFHEM8gjSohABn0Kyj05aCGGgpzh/OhGc6jjDV1NRoAKndzqrn5OOTNj1LOgaRBYPYmic4B4UHTAqdIpUIJcGAgAACtrSjdG5QgkIqEnAJQJHAAk7qLJW4cabMGQoHBTD4AsGEh4WSbFjJQURGjRWEYlDcsEABt3SCZEyrEHIASlCDJhhywSDAiAUcDDS40oJERkgJPokQQIBqSAIZ6FXrQEhDIjEUAxBgACYsAQ78MtlzlwGrizMV+nbECEljlDRCIhI9oHAohIUNAVBgLIQvkhR3jpI4ERBVVBVShKCcKrSgQQs0YRaMIEDRQCZGgj6RiCSBgQAUVhEy2BGiHSoFR8KK3fACoKaGiCuweMFChAkV7SRI6nRgsIfBnYSGHucT8SNpkBORsY0G+aEZFZQIKTABQY4aPlhxFUfO5wxKF+xFLwQBDYJCVAaFKJ5p1XKGox6ciUIOeiKvgoBgCAgWlIIFGjDdJ4kXkvxgSQ+PnEDNDc+tZw4hDwlShGeC3JRJBOgg1sBPkyCwHoCDdIHGMolYh0YDg6wFiX+OSIDDKCddEsGMkOE2SBNmlDKGIbi9FwgAOw==',
			'6'	=> 'R0lGODlhJAApAOYAAOzs7LW0tL28vOvp6bq5uebl5fv6+uvr6/n397u6uujo6La1tdDPz9fX19LR0bi3t97e3tPS0re2tujn59zb29vZ2b69vefn5/b19crJyenp6fz7++Xk5N/f38jHx+Df38/OzuTk5MzMzOfm5r++vsfGxtXV1by7u9TU1Pn5+ebm5uLi4vz8/O3s7NTT09nZ2czLy83Nzeno6M3MzL6+vu/v79bW1uTj48jIyN3c3NLS0uDg4PHx8d/e3tbV1ff29vv7+/Tz8/Hw8NfW1tHR0cPCwuXl5ba2tv78/MDAwMnIyM/Pz9zc3MTDw/Pz88C/v+Hg4MLCwrm4uNvb2+7t7bm5ucTExO3t7fX09MrKysLBwfr5+f///7SzswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAkACkAAAf/gF1dAIKFhoeGEhaIjF0KXVyQkpGUk5Y8lpWVRo2dhyaFMR5JAgkEp5mZAFwFXCBcD1wBXAlcJlwhmpBWXAATKysAwgAHGhqPnoUqKl0dFTYoDIU1qbrWkDQhDU4N14TJhwFdAVJRhy+M15oXXDpcVeqQB1eTFYwVTBAQO+CMDYWrAvaKR7CasH4IDxGCULBhtS4pRCQUlIABCAHiwClwSKnHli0bFjhMSIICho8+HiDkOOLjFg4cERJw8HFABgETG0bYgsBAiZiRwCmhsqWAlow5H3JpYuCjB6CSPBGggGALBgwDIiSYqLQLEiEuf2zBAuREzE4BclSVQSHCgI9DipCCi9d0iwNKHLbcONsoQJCqBZ4IyNBiy4hFK6tJ2OByS+GPLvg2slCg8ZYBDnAmJHiCBRQDH1gUgdpP5YIFEy8IgsoRRS9hU4iIKAGDAQ4BEuR6OkIiy4wOA4Z1ZS2vEtd+Bw4Rj5fC0vFkHxAtN6jreadvyodr5zLhmnVESzpNp9T94XdDqhsFAgA7',
			'7'	=> 'R0lGODlhJAApAOYAAPn397W0tPr5+ezs7MbFxbm4uPf29tnY2OTj4+vr683MzLu6utnZ2efn58/Ozt7e3vPx8fv6+tbV1ba1tf7+/ujn5+Df38vKytfW1uPi4vb19dfX1+bl5cC/v9DQ0NjX19bW1vT09NvZ2cPCwsXExNPS0vz8/PDv79LS0t/f3/r6+vv7+/78/N3d3fTz8+vp6ebm5uHg4NHR0ejo6PX19eTk5NXV1eXk5O3t7ff398jIyL+/v7i4uL++vtzc3Lq6usfHx7q5ucrJyefm5szLy+/u7unp6cTExMDAwLe2tt/e3vX09O3s7NjY2NXU1N3c3MjHx87NzfPz87m5uezr69DPz728vOXl5fz7+9vb29TU1MTDw+Hh4cnIyP///7SzswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAkACkAAAf/gF+Cg4SCFRUwNQiFjIMEhV5fkZMWXg1eN16VDF4bXlleT14KXgVeAV4LXk5eM15TQQs9BA4HMRwNQxmDOo2+SIRHXlCTksaTBMXKx8zFvoULz41AkM3Wy9jHF87SXwHdjY+D2ZOo1+ed3M/f4IwbhOTo8l4l6u33X1WDCeQT8f8fig3wNWEQCQwd8H2A92CZiWMIBBiIcIDFiFIUrmnh9qMQD0IdDAAYKRKABggOGjGAJ4nKpC3LKGRQsUQAAJsClGATYe9LBgy+CpAgUsLCCZPiCq0cd0xGiHkSbK64hsGeAkFdpAmBAKDICF8iWGIztyzCTQf/jA0aCO7CSAQFn6R5YOolRVovEAS4SKtC7ZcE7SQAMHAA3BW686LYjOBP3ooWNAQ1AReAicmrz6xckPAFhSAb875gMSDgwF1J/Nh2C8ABwAl8X14IuhuABYKMp72AiHQvQBLYX0DMTtHAwwMURnxIeZBDQYgdD3MfG6AauKAA7BoNlP6PrDEc1rvFJbQ9dO5kzMKD41IhQXnu5v2qvwcf/nx89ePzvg8uEAA7',
			'8'	=> 'R0lGODlhJAApAOYAAPr5+ezs7Lm4uLW0tPf29vv6+v7+/vPx8ezr67a1tdLR0ebm5vDv7/z7++Pj4/z8/N7d3cLBwcPCwr++vvTz8+no6L69vcvKytLS0vPz88nJyeLh4cbFxeHg4NfW1re2try7u9zc3Obl5eXk5Lu6uv78/Ovp6ejn58C/v8HAwNHR0fb19eDg4NbV1e7t7dzb29nY2PX09M7Nze/u7szLy97e3ra2ttXU1NXV1fv7+9TT07q5uc7Oztvb28TDw/X19d/f3+Hh4c3MzNjX1/T09Onp6ePi4r6+vufn5/Hw8MjIyNjY2NbW1sjHx+3s7Ovr67i3t9HQ0MXExOjo6Pn39////7SzswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAkACkAAAf/gAGCg4QBCCZFSCIOHRAvS0wKKjwXEikREyQCHwOdVlWfoaCjoqWkp6ZWqqusra6vsKmos7K1sbe4rrS7tby5v7EqvcO8o1OgwMlWCAGsxcSlRCyoyrgYsM+jAiUCsx++vwkbFAcnFgPJ2VYGVADtBA/d0MAzVBQuVFQHHMDZNO4PUDQgAICDul8eqDBQNUKfgH7EIAA48KCCuwbQkOEaoCMfAY8k0kFzR5JKgQsHWwmRAiLBKgj5ELRwko9Bk1+gntT44QCVAYImQBlo4a4ANEGxBJzQx0rAC4W5FhSLcLFUAZMJnt0aIIMKARCsFOSLgi6WCGIbALgwEKrECgAVgVLG6kAliY8EAhTE0DchFwxiCoreKEBwBdtnGXKhQJCvMYIIwCRAM2AEAIECMA5nBAbFQjVVfdWJLpXjc7UUm0dTy1X2swQMQYgNUB0qgwMrLBbEUsKqda6HAUYFJ2ZDtLwRrDy0GtLqSLKHVkKU6qEBCA7dpzQYB9UsmXRgO6wEAgA7',
			'9'	=> 'R0lGODlhJAApAOYAAPn397W0tOzs7Pr5+fv6+vb19enp6ff29vz8/P7+/tTT07a1tbe2tuLi4vPx8ejn593c3N3d3fz7++zr68PCwr++vu3s7Ovp6f78/M7NzcLBwc/OzvPz88vKyuXk5OXl5d/e3ufm5tPS0vT09NbV1b6+vuTj4+Tk5NjX1/Hw8L29vby8vM3MzMLCwsXExOfn5728vMzMzODg4MnJybS0tO7t7crJyf/+/uHh4cbFxfb29u7u7uPi4tDQ0Nvb29fW1uPj4+bm5vr6+uvr68TDw/n5+bq5ucnIyMHAwMC/v8jHx7y7u7m4uLi3t+jo6PX19fTz8+/u7ru6uv///7SzswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAkACkAAAf/gAELTUsaHQoRJg8GjAKOj1SRkpOUApFTVJiaVAgyHJmgmDuhpJuYBlQBkystNpSvlq+yH6EBpqW4t7pUUqmyv5E+wJKxTwy7yFQjuaARmRkzw8AN0gqSydjMUwKbONK/FcCok0LazAnMn5vj3+1UHpXZ8qA6pdTuqlQLvyqyMfMYRBDwICHHLXS6Yg1b8MMBgIcACkBgMCkfLGwBEEAZUIDAhQEABiiQdw9YABIPjahCcgDABCa+gHEzhyAkDwxHCIR8MMWWNoXAGIRoWaAlAAcb2n2QB0NCAZADHCA4Zm6KNXcZojxU4o7KkHlTIIAkUDWUk3YBkrS0QKErlRPyZiroHEABLKh2KAoAAGGxa7YEKTjeKHvrW4cDRWpI6vvtrwUCGzT5nNdOAxG3lOxqvrsQs6zNm016/gWaMGdKJYDR8HyL2i4Epje9egHMxWhTE0onm9RDGovbmXhqA1I60oVvQUYHAgA7',
			'D'	=> 'R0lGODlhJAApAOYAAPn397W0tPr5+be2tuzs7La1tfX09Pf29vv6+uXk5NXU1Obl5b69vd/f37++vuvr6/z8/Pb19b28vLi3t7m4uPv7+7u6uuTj48LBwfPx8dHQ0OLh4cPCwvr6+uTk5OLi4tnZ2eno6Onp6f/+/tfW1sXExOvp6fz7++7t7dzc3Ozr6/Tz88HAwMnIyLy7u8bFxc/Pz7q5uc7NzePi4tTU1Obm5tXV1d/e3ufn59jY2OXl5dLS0u/u7r6+vtjX1+3s7Nvb293d3f78/La2tv7+/sTDw/X19fHw8OHh4dnY2Ojn59TT09PS0sC/v8rKysjHx/n5+cTExOfm5tbW1vDv7////7SzswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAkACkAAAf/gFYEVoSFhocPh4qHAYRVVo+RkJOSlZAERjIeNJUBjyqLoYOGIIc7ho2UqpasBKxRlomhiqOEtYqpEzmsq5Mikzi9lh0ws4ulhE7Ghg+8zsLQVb/LhrW3xh/PlkiQQNqUKdSGDYTk4lY136zZ0ZQe54QvVsXwQc4YQhSSHVYV7ZXmFBXIYODHghYBLDQqAM9KCmcGBAAQcEBACAgl1FEiMYtFAgMAQoY8csFBQ20zBKA4EXGigQoDNC5TACCDSQ1KIgA4sMDFrACptL2gSGQSBBMSEazSUEXfpGUDdG5IZYVBgpAlONiYkSDUNwQTWVRaIeDGN2pMdCowhGEFAI7Lib6NQCHAxAhIMcAKeHKWmo+dGzgkyRDygjhtBSC0FEBFogAVMo0NoCkyJA8ZA85p87SkwgIEF04U0fhoFgYLhSZQbShMCul/i0KwpiYJio7XkVtMma25CW7YkVbzPgy8uKXhJ40rL41c83LjQAMUGDB9gPUBQwoUAMpI+gQKMSy4kECeAYMeDgIBADs=',
			'F'	=> 'R0lGODlhJAApAOYAAPn39+zs7Pr5+dLS0unp6cTDw8HAwNvb27u6urW0tNHR0bm4uPDw8L++vvz8/NPS0szLy/X19eXk5ODf3/f29tfW1tTU1PDv78LBwcrJydDPz7a1teXl5cXExNPT0+7u7vT09Pr6+t/f3/b19efm5uHh4bi3t8PCwtLR0eDg4Pv7+93c3OTj47y7u97d3dnY2Pz7++bl5dbV1ebm5tbW1sjIyOLi4vHx8d7e3vPx8fHw8M/OzvX09P78/P7+/uno6MbFxfTz88jHx8/Pz+/u7r6+vr69vevr6+7t7fv6+sfHx9zc3OTk5NjY2MPDw8vLy8C/v/f397e2tuvp6c3NzfPz883MzMrKyujn59TT08zMzP///7SzswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAkACkAAAf/gFyCg4SFhoeIXFuKjIuOjZCPkpGJlZaHk5mUmpqXnpacm6KcGFoeNJ+pgwaOBKGvowaFAaqeDZMfByCjvJINiQG0tYTBRa8cmVdbOFuuAT4BWxIMFTeMTpYdLVwbGwkJtVWjGBFSWxUORrCTNYYBMweogggjAEgPQp+0kgERlDAABAS8AAPCqxmLMHAZkuIIogQkAFwgQgEAAB4xfh1aMm+LhVcmQgBQwcVBDIECJmSKxohLFksNKmYQtAGChBwPwM0itEXBqxUCHTRq4WDBJAaQuECotOCHRQosZA1CYMhGoS0DXgURMAIlEEkiHLF8JGhCogwWXci4AOCBISyCqwgYApkEQAgEW6D0KJAJhdVJglIgOpEDgI4FliYIuzrqhECS68a25MLioYsXVBOV2DlokVxORkf5hIR0kaAVwwYdQERF0LpevAQxSc3FwqVFH2BnKgFL0GJVEjy9Hk4p7jAlnxatJr4lLOxBclNNSeUImW7dJEwLUpCqwqAmFmS8wHFAgYYHHnZoMACiRpQnETow0IC1ftb79reg2JLhhpVOgkh1SQEEEnhJIAA7',
			'G'	=> 'R0lGODlhJAApAOYAAOzs7LW0tPr5+ba1tefm5uvp6f7+/uDf38TDw/v6+re2tvz8/N7e3uno6OXl5evr6/f29t/f37i3t9jY2N/e3vTz8/Dv78/Pz7q5ufPx8fv7+7u6uu7t7ejn5+Xk5NDQ0L28vNPT07m4uN3d3c3Nze/u7uPi4r++vt7d3dnZ2fb19eTj487NzeDg4NvZ2dTT0+Lh4czLy/Hw8PX09MC/v8LBwb6+vrm5ub69vcnIyOnp6cfGxubm5s3MzPT09P/+/uTk5NnY2Pz7+8rJydPS0vn5+by7u8PCwv78/MbFxe7u7t3c3Pr6+vDw8Ozr69XU1NLR0dbV1dHQ0NLS0sLCwuLi4tfW1sPDw8jHx8vKysvLy+bl5dzb2/n39////7SzswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAkACkAAAf/gF+Cg4MShIeIiYdeX4yOXxqNko+Uk5aPiTGKm5yXnpWgn5KHDZ2miY8OoqGsloSqp7GDjgCttquEH7K7kkW4t6wAwsPEBR0mKT01NwMBAQMbCBdcQA0PDzwtTzk2EgFfSr/irSSyG7xfFMBfCysJBz8B64ymUhBd+F0NCru2GwJdAAocMK9TAAtdIDhxEcXCkm+yWi2AIOBAwUqbAsDAh2DQAEH8YrESkSCgCC84DLxIwGHBuE4VulD4coJAhnwZMIj8RINJl0gLAgoVQGTdJgkxg9AsQQBBkpsddoYqmeCSCQEWDIjjxCKhTkEDKMjoouLFqVYGVAhY4RJJCYFdpoQQxMUpgAt8M2LiQ8GCABaInGwNKCmQg1Yv8nAxOKUgCworIL7GYlDr5UVJsNCZOqKl0YjLoIwYkJc4kiAAmgHo2MIASqKOtIDVmm1LAj1CFw5VmTDkChVeECuNCOHgQwTLlxJ/KVDgAfPlLWI5b+CBQYgdIBQ4G0AAVPcDBrp7CO+FQBMSES74+JUiwoEDDCZMODDouGZBwVdNAd1IeScEHfESUiAAOw==',
			'I'	=> 'R0lGODlhJAApAOYAALW0tP7+/rq5uevr6+Hh4bm4uOzs7L28vLa1tf39/f38/Li3t+jn57++vs7NzcfHx+Tk5OLi4vv7+8/Ozunp6be2tsTDw7u6usPCwtLS0vf29r69vb6+vuzr6+Dg4M/Pz9PT0/z7++bl5efn593c3Pf399/f3+/v797d3dHR0dvb2+Df39PS0sLBwcjHx+no6Pr5+ePi4tvZ2ePj48TExOXl5dbW1t7e3vr6+sjIyMHBwdfW1uLh4fHx8e3t7by7u83MzNXV1dXU1M3NzcXExLm5ucvKyvz8/NjX1+/u7ujo6MDAwMC/v7a2tszLy+fm5tzb2/Hw8MbFxb29vd3d3fT09LS0tNTU1Pb29tLR0e7t7f///7SzswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAkACkAAAf/gFxPXIQmhIdchoiLXACMXFCIAVxbXAaUmJVVmZxbCJWgnVwkhzmPLY9cFlwFi0WMoCmhsxezmbWZALYThA6phAiHBQKHxL+EWJQ6tsy6mU2gzrZcQ1wZx9jYWw/MopPd4IQHNKlMHAfCi46Ov1s/zBnMB7O60p0AAAscLiwkBBEeVKR40KBAhQqEGmzIhqiSBFHhttgLx8UKw4uPJEaEyHEau2M7RBDB2PBTRy4wFCTYwMxkN1bZVihQIOTjoglZMp4EFSOBg4gQbBnB2CDbCEY+dlJi8K2jElseGF7QIsHYsQGIKGysFCCEz41YQRG46CKEAhTZXiDipjQAjAQMsyJqzdTh4gINCpJYfQTiw4MPEQwM2EqpRwINRzgFaCBBBg4Us1hgFFEiiq9DNrlgPXSJ8BYCW1pEHEzJQKVUGBbYJDAWm4pD1zKZfrEliOdOK0DZ2AKCwFGSVwldInR7a4dpwLFB4MKjoVKNO6lsYVDiBgWSCBsRAoCgwBInSCIwqDFjESgIJ66cABJAAKgFW+bBf05JAAZe2VYlp78FQ3FMGEmxH38W/HcaIQJMcQw6yQUCADs=',
			'K'	=> 'R0lGODlhJAApAOYAAPn39+zs7Pr5+bW0tPf29ra1tbi3t83MzLe2tv7+/vz8/Lu6uuzr6+Lh4evr69/e3ujo6Pv6+uTk5L28vObm5sXExP78/Pb19d/f3/z7+7m4uLy7u7q5ufv7+8C/v+Xk5N7e3sPCwunp6djY2PPx8cjHx+/v79LR0efm5tTT09HR0dfX18nIyPX09MzLy9nZ2fb29uvp6e/u7u3s7L29ve3t7e7u7sXFxdDPz97d3cHAwNfW1tzc3OTj47++vtvb29nY2L69vePi4sTDw93c3PHx8f/+/sfGxu7t7cLBwcrJyf///7SzswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAkACkAAAf/gEyCg4SFhoeITEuKjIuOjZCPkpGJlZaHk5mUmpqXlSgiDAGjARAOhZybij4QN5wrNoyehBoasy88qqm7lLNMA76ousO8i57AwcKcE8XDlSGECwXJgpowJY4DCh8dHM2Ph0KFBUQAAEPUzRkAAizfsoUQhw8AF9AHHL6SI5kGEewuIrToYKAZoQCINpAAQMAcAAbTPDkKwKmCAHbsGiTQNWBJx0EqKvVw2EAJoQEGaHjYYKAAskGLaugicFFAjHfGEAqSMOJAEJdMgNRDwnBBMIoUHWQacDHCjosWiEHCUGkCCQIHKjT8EEwpRws5liCoKRWcLwYMkwR7p4DdDCNlRZMVkMHwhL64SxZkeLDRYDIEiY6kwEBBxCi8HBPo6FQIhAQKIHB4AExt0A8TD4o0UEARMa/KyXB6Bh169DvSd0WfRn0pEAA7',
			'L'	=> 'R0lGODlhJAApAOYAAOzs7Pn397W0tPr5+ba1tcLBwevr6/Tz89bV1be2tsnJyc/Ozrm4uOnp6cTDw/b19fz8/MjHx+no6MzLy8vKyvf29ufn5/v7+/v6+uTk5NDPz8C/v+vp6efm5vf39/7+/ri3t97d3dvZ2djX1+Xl5b++vu3t7cfHx+Dg4N3c3NnZ2c3MzN/f37y7u9DQ0MXExNfX176+vr28vO7t7cnIyNHQ0Lq5uejo6MzMzOXk5MPCwtfW1tLS0tXV1c/Pz93d3ezr6/X09Pz7++3s7NPS0v/+/u/v79zb29TU1M7NzcrKyvr6+r69vdnY2NTT09vb2/n5+eTj48TExPT09NLR0fHw8PPz8/Dv783NzcrJycbFxe/u7v///7SzswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAkACkAAAf/gF2Cg4SFhoeDAIVcXYyOjZCPkpGUXCiPiJmahIqDk5+VoZIAmJumh52CoKuilUilp7GCBomstq1cpI2psqcahCa4wqsujym9sbxcKrY2t6OYE5o0HCMgsk6EjEutGAEDOs+Nl5CCBJlDAQ9assrCF98v4lwksAKICOo1slnawh8HBoRYlYGLgVy5IGTwYChGCwYEBEgssCVAFEICCMg4gagTCC4FuFDgomBSkRwDJMzrYqQcIR+GBOSbIQuGP0ciPmkYUGWeLkaGFhiKEOAAg3aeKDGUtGLAgw+RCLBq4LLQOUIjKlTY0IUBBQQ7VizgaihEUkkCJIkY8C3gt7YQjIQdukeoSYC7eAME6XDEwSGqqiqljVTgwhUMKYQ4mHSjhIUnDVQA6BFsbkwHTBJEJJSghCEJZxsl4ZJgpS0AAIBw6MAZmaEfoR/FNU3JShcomZS4LkSii1DatDPx2D1IQZcCuE4Ah2RhAlBEtIh3YUEl8KeDw3BheY5PugIp1kNNyb4qAvdDRKTjEBQIADs=',
			'N'	=> 'R0lGODlhJAApAOYAAPr5+bW0tLe2ts3MzLq5uf7+/ra1tb28vMTDw8C/v/Tz88PCwvf29rm4uOvp6bi3t/Dv7/X09Pv6+uXk5MnIyOPi4uzr693c3MLBwf/+/vz7+7++vvb19fn5+fPx8dLR0ebm5tTT0/X19dfW1sbFxenp6by7u8fGxuXl5e3t7cjHx9DPz/f39+fn58vKyvz8/M/Pz9jY2PPz89zb2+no6MjIyMnJydfX1/78/ODf3+bl5dzc3MfHx+vr69/e3tbV1bm5ub69vcHAwN/f39HR0c3Nzd7e3ufm5vr6+uTj48bGxszLy8rJyc7Nzejn58/OzuLh4cvLy+Pj47u6uvv7+8PDw/Hw8Pn39////7SzswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAkACkAAAf/gFmCgyiDhoeIiYdYWYxYMY6NkpGUk5aRhzmKm5yDlDuVoZejmIYDnaiJlAOiraSWh0Wps56TNa64r4cJtLSUB7nBsIYHvbOUBMLKiALMC03Gho4qogUQACvLpVlVBIkDEVczhwHeqI4mBaMaDAA/lA9IDrmDDQHME1dXSfeDDxwMFgjYQCIKkRUUEhAwAALLByzJAmARgOUBlgQSrgCwQkkAgAgZXjESJCRLP0MbIOiLUGzQgCsKNh1oxqgDqQQANDJ4MakCAAuiREjKgkFRgJf6roQwpLKCgUMDKEhD0OpCzpwSJnkAMIKSiUpZeJk81MDBFRoXYPbDAFCFoZOGsFK8KqAAQAgcGlll0aAxSK4TmxDoG9EgnI4sU5o+7eSqgEYmWKDkpOIgp7pcCAbBzXLAyYSnBBQkvXJks0kgJAacOICggwF1BRqwWJBiiYwHl7NkqOxBgkSRjRYYI+Ai8ywK2oCHUjKrWTRBwXgk36ZowpDn0kj1mD5KkZFeTz5sCmVjWYsshUQZwgDjQq8Sgm6Mb5RM+SWgWYSKMk1LiiELiRjAXSglqIedD4eAkEggADs=',
			'Q'	=> 'R0lGODlhJAApAOYAAPr5+bW0tLa1tff29r28vOXk5PHw8Pz8/Li3t8bFxbm4uObm5uno6Ovp6cC/v9LR0e3s7Ozs7Pv6+ujn5/Dv7/v7+9nY2Le2tuHg4Lq5udPS0v7+/r++vsnIyO/u7vb19czLy769vebl5ezr68TDw93c3O3t7dbV1c/Pz/r6+s/Oztzb2+Tj497e3ufm5uLi4uHh4d/e3uPi4tbW1t/f3+fn59PT0+Df37y7u8HAwPPx8d3d3fTz8/Pz8+vr6+Lh4cbGxvn5+dXV1dnZ2cXExPX09Ojo6NDPz8PCwtHQ0NvZ2cnJydDQ0NfW1r6+vvz7+8TExPb29vn39////7SzswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAkACkAAAf/gFSCg4SFhoQLO4eDU1SNj46RkJOOR5SUi5mEBQuajJKgl6GjmJ6GPhGmhKKsSqykqoNGE7GFr7ewpZooKLWHtyC4uJlJCb6Zoia5y7qDHAqHGcc1qZMFlwkSNwcXwi3KjYMPNIsUUlIfFBZUAZkMtlRBuTwAUvUAPxuhHVMwUUM9FoQToIAAERtNEiAQFADDOSkFGpxj0Y7hQiaGAtxyUC+FhSkOntgjMcmJKE0BVpwjUJGDASkrCAlAlgsCAA+TGADAIMwTghFSZAxSEQKoiFi3DABg0aiCPXsienqaIMWDoBMDHg4o0WGmplsaAAzYoJHAPXs6JDh45QnHSwggejKc+CClQYOsUjR8XXZggFgJ9iBMCXHARYUcUxBMeTBlwpQIUwQECHCBABQgBLwKElCiyEMDSDZTgbb3VoADMVIwZgaqFuljrHuyhX1MduxRqpbQ/sTq2u2TmVTshndJiO3Zht4NJy7pxfFlhmYs/yUpwfNhhEhMNxQIADs=',
			'R'	=> 'R0lGODlhJAApAOYAAPr5+ezs7Pf29vv7+/X09Pz7+/b19f7+/rW0tMbFxbi3t+Df3/Px8evr6/z8/La1te7t7ezr6+np6b++vrm4uOvp6cXExMHAwPDv7/n5+dbV1bq5ucC/v+Hh4dHQ0Ly7u/Tz8+3s7M3MzNXU1MvKytLR0czLy+3t7dPS0t7d3d3d3cLBweLi4re3t+jn5769vdjX1//+/tnY2MzMzNjY2MnJyeno6NfW1ubm5tDPz9vZ2bu6us/Ozt/f37e2tsTDw97e3svLy+Xk5Pv6+uHg4MPCwv78/O/u7rm5udvb2+Xl5dXV1cnIyL28vMrJyeLh4cbGxuPi4uPj4+jo6Pn39////7SzswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAkACkAAAf/gFaCg4SFhoRRh4RVVoyOjZCPkpGUk4qXhguYgpOdlZEsno+bm0mkn6KfB6iUp4o/rqmyTLKQroYJt7W7rIybIhopOiYbggi3VhkNnQgOVADPAgARBRe8VQGC2YUbIVRUAgzf3yG5sVYnlT4FBgUmQ0cDENAAFryCIpcPCQRUPBwjDFCJcGqKgwBVJGSQUsVeJBgABBhpJAOAgVVVEFRJUKVDlQrYfFnZduiBECoMFAgiAs7CqVoH5oEkMeAZhHsjL5EAgRJDPyoYipxLVUDas2cLYvRqlfMQggXjCJSYgAySClQKatLzcM2WlRuKNtjoSYXAi6qOllWaAM0BCmgFmpZaEkTjkJNvFxAIrKDSVYATQZZAUTJiwAdHGiJWoTAAAIAdkig48JBBQkiEhAhmogJBUI5vJZA5itDpwgAUjA4YAOCi66AGp55QAbFCV6MeuzgAIIBRLiHYpz5QtZ2wq2tBVwc9qIrJUQrjvkVawTEICfPmjTQ4UgA91aAZyq9fcuQxunnpQARRED++EccW3ZcOqmGlCXtFgQAAOw==',
			'S'	=> 'R0lGODlhJAApAOYAAPn39+zs7LW0tPr5+ba1tbe2tvz7++Hh4fb19d7e3vv6+uzr6/7+/unp6fPx8fTz8+vr6728vNzc3Ofn58HAwNnY2OXk5NfW1tjX17y7u769ve7t7c3MzNnZ2fz8/Ofm5v78/PDv79vZ2d3d3ff29rm4uNbW1ujn58fGxtTU1MnIyNTT0+Xl5e3s7P/+/uDf3+bm5tjY2OTj4+bl5e3t7cLCwtXV1dPS0szLy/v7+/n5+dbV1e/u7szMzM7Ozrq5ufr6+ru7u7m5ub++vvb29sC/v8rKyvX19eDg4MfHx8vKytLR0cTExMnJydvb28TDw8HBwbu6utzb293c3P///7SzswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAkACkAAAf/gFWCg4SFhlUBhU6IhlRVjpCPkpGUAZEMlpOSh5yFHYQsiYmNmpSlkkSTlpmmna4LhAGynaa1pTGRBykTp46unTWDBycQrrbHjweQMlQnyL+HJoPSCb/ItkCSOhTX0IcZgkJVGtDdlASQ6AXd3u20vaUR5qfQBRUPFgSCAlX60KtULH2gkoJKEEc5AAwAwOCRACrrHj6EQkXEkRE0IPjqFOUDgI8OyAny5+2YAAUKFxh4CO/ZIQFKPk4pxI9fu2MYFipYYeCCBxEgcFBhyY4TBwcfkyZFMEPFzV4FQGxQgGDAA6sLB7SYB+3HEAIqSqB4EuJjkZItJbl4lMGDgwEkihoW/XVjQQUMLRAAQLDDG8AJVJZApGQBbtYNBtY5pMJNApUGVEY08FbgRdIQUiK4SwsJhQEeK+dFaldicyHRnOGZXp0ata1OmkmSNH2sh2vVhxJ0WDGIA2tBtXwcSBIJSWt6hiBMqDYIxu9erB5BPt6KkJEqFyQQ0v6cEhMbTSKxoI5ckKhCo34HAgA7',
			'W'	=> 'R0lGODlhJAApAOYAAPr5+bW0tPv6+vf29uzs7La1tejn5+np6cfGxujo6Lq5udvZ2be2ttnY2Pz8/P7+/vz7+83MzLy7u7m4uNDPz+bl5ezr6+Pi4vDv79HQ0P78/NbV1efm5svLy87NzfHw8MzLy/b19eXl5dfW1sjHx7u6uvb29u/u7ubm5vPz8+Tj48DAwPTz8/n5+bu7u+Hg4L6+vt/e3uvp6cLBwdTU1P/+/t3c3O7t7eLh4eHh4c/OzsC/v8nIyODf3+3t7ff39+vr69XU1Pr6+tHR0d7e3ri3t9nZ2fPx8cvKyvX09NXV1dLR0by8vOXk5MrJyfv7+8zMzMTDw9bW1vn39////7SzswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAkACkAAAf/gFWCg4SFhodVRFUHhVRVjpCPkpGUk5ItVUKWiJydHoKMhJWjlqRUUKSdqoUwgxeNpbGmkj+SPpuruQqDCbCzv48Fs7mrBYQbvrLKs0+4xMQGycCjAZUpzs+FAYZS0qURGtXL450bIScliNuGKIQEVO8GJiQmClQuAlMAE6b81StUbDwQAc8RJyQsprw6FCDIkQbrBI3wBikDgCkOglEKkA9AkWGHCjSYMoCBoBgUTA5qMuWDoVCCSNW4AcACFQYO9Al7xHGKAAmUhkRChGDAlAhVZnyYwoGQBBlMjRFSIioWBH2PLFyEII4KiYsCSiUYemjBlBAjKkwhSSFilAEDlkAY6jWIlIYBF/NinLQAAIZRTMgaCmBg7RSzUyoMcoJhSo+ygwwUJNiBSrUJEHA8qNJxyYMIHRFAskeDyth3zzwYHpBkbQNE0eqOg6RDAF59L0wZEZxLAo8MKnakQyR30ezjo3JQAWIwl8pssn/ZQx4rFwLoFKlPy9UBe3ZIorVX7wTTe0zx23kbomD+O+r0yjgRaE8oEAA7',
			'Y'	=> 'R0lGODlhJAApAOYAAPn397W0tPr5+ff29uvr6+zs7NvZ2bm4uLi3t7a1tbe2ttfW1ubl5bu6uvz8/OTk5OXk5MjHx9LR0fv6+v/+/uLi4uvp6dTU1Obm5sTDw+7t7bq5uenp6dnZ2f7+/s/OzuDg4PDv79DPz+Pi4snIyMjIyNPT08bGxtzc3PT09MrJyfHx8ezr693d3fPx8fb19eHh4d/f39/e3sC/v8bFxeLh4dXU1M3MzL28vPX09L69ve7u7tLS0tzb2+Df3+jn59bW1sHAwNfX1/v7++3s7NHR0f///7SzswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAkACkAAAf/gEeCg4SFhodHBYdGR4yOjZCPkpGQMZSMiJmaD4iTnpegn5iapIMcmqKhoBWqo6WZEqWpsyWzkK+HOritrQe2j7uDCMG8ngq/lMEJxILIRgmOBgISyJoIAdjZRxsMABbCNEAoFycNAUcBBSsLBCApD0Y8Rg1GARQBkhACENWaMz8LCmkAYADXLB8CADiINEAAiX6ZbrwAkGNBBAlEAAzIYJDXhIYgEw6BVizTuUEyXABY6U3BLmQeDEwAIECEM0QnDX3QaCPYpIWfPNDsgWyHoQPWBgCokfNIgiAmHhAowAEDiAsEjMAwosLIsVYhBGiYxQKYII6lRqyM0HTQ1EJGSooALfYh4QQckzpcwtAi2IFuEJpGKLio5CMKGyTRU8WM2c3Htxr7NBwJH2ViB1xOhnwTFwNWjX9lpTyJlBC9kpuRXu2q0NvUgwIBADs=',
		);
		$len	= intval($len);
		$len	= max($len, 1);
		$len	= min($len, 10);
		$keys	= array_keys($images);
		$sel	= array();
		for($i=0; $i<$len; $i++) {
			$sel[]	= $keys[rand(0,count($keys)-1)];
		}
		$word	= '';
		$html	= array();
		foreach($sel as $key) {
			$filename	= 'captcha_'.md5(time().$key.rand(0,99999)).'.gif';
			$file		= $C->STORAGE_TMP_DIR.$filename;
			$fp	= fopen($file, 'w');
			fwrite($fp, base64_decode($images[$key]));
			fclose($fp);
			$html[]	= '<img src="'.$C->STORAGE_TMP_URL.$filename.'" alt="" style="width:36px;height:41px;border:0px;margin:0px;padding:0px;" />';
			$word	.= $key;
		}
		if( $GLOBALS['page']->lang('global_html_direction') == 'rtl' ) {
			$html	= array_reverse($html);
		}
		$html	= implode('', $html);
		$word	= strtolower($word);
		return array($word, $html);
	}
	
	function cleanup_captcha_files()
	{
		clearstatcache();
		global $C;
		$dir	= opendir($C->STORAGE_TMP_DIR);
		while($file = readdir($dir)) {
			if( $file == '.' || $file == '..' ) { continue; }
			if( preg_match('/^captcha_/i', $C->STORAGE_TMP_DIR.$file) ) { continue; }
			$time	= fileatime($C->STORAGE_TMP_DIR.$file);
			if( ! $time ) { continue; }
			if( $time < time()-10*60 ) { rm( $C->STORAGE_TMP_DIR.$file ); }
		}
		closedir($dir);
	}
	
?>