PageRenderTime 226ms CodeModel.GetById 57ms app.highlight 155ms RepoModel.GetById 1ms app.codeStats 1ms

/includes/captcha/captcha_gd.php

https://bitbucket.org/VolCh/phpbb3-russian-stable
PHP | 2640 lines | 2336 code | 172 blank | 132 comment | 80 complexity | 1eb945a7b0bc1aed9e103e5f125672d7 MD5 | raw file

Large files files are truncated, but you can click here to view the full file

   1<?php
   2/**
   3*
   4* @package VC
   5* @version $Id$
   6* @copyright (c) 2006 phpBB Group
   7* @license http://opensource.org/licenses/gpl-license.php GNU Public License
   8*
   9*/
  10
  11/**
  12* @ignore
  13*/
  14if (!defined('IN_PHPBB'))
  15{
  16	exit;
  17}
  18
  19/**
  20* Original Author - Xore (Robert Hetzler)
  21* With contributions from Neothermic
  22*
  23* @package VC
  24*/
  25class captcha
  26{
  27	var $width = 360;
  28	var $height = 96;
  29
  30
  31	/**
  32	* Create the image containing $code with a seed of $seed
  33	*/
  34	function execute($code, $seed)
  35	{
  36		global $config;
  37		
  38		mt_srand($seed);
  39
  40		// Create image
  41		$img = imagecreatetruecolor($this->width, $this->height);
  42
  43		// Generate colours
  44		$colour = new colour_manager($img, array(
  45			'random'	=> true,
  46			'min_value'	=> 60,
  47		), 'hsv');
  48
  49		$scheme = $colour->colour_scheme('background', false);
  50		$scheme = $colour->mono_range($scheme, 10, false);
  51		shuffle($scheme);
  52
  53		$bg_colours = array_splice($scheme, mt_rand(6, 12));
  54
  55		// Generate code characters
  56		$characters = $sizes = $bounding_boxes = $noise = array();
  57		$width_avail = $this->width - 15;
  58		$code_len = strlen($code);
  59		$captcha_bitmaps = $this->captcha_bitmaps();
  60
  61		for ($i = 0; $i < $code_len; ++$i)
  62		{
  63			$characters[$i] = new char_cube3d($captcha_bitmaps, $code[$i]);
  64
  65			list($min, $max) = $characters[$i]->range();
  66			$sizes[$i] = mt_rand($min, $max);
  67
  68			$box = $characters[$i]->dimensions($sizes[$i]);
  69			$width_avail -= ($box[2] - $box[0]);
  70			$bounding_boxes[$i] = $box;
  71		}
  72
  73 
  74		// Redistribute leftover x-space
  75		$offset = array();
  76		for ($i = 0; $i < $code_len; ++$i)
  77		{
  78			$denom = ($code_len - $i);
  79			$denom = max(1.3, $denom);
  80			$offset[$i] = phpbb_mt_rand(0, (int) round((1.5 * $width_avail) / $denom));
  81			$width_avail -= $offset[$i];
  82		}
  83
  84		if ($config['captcha_gd_x_grid'])
  85		{
  86			$grid = (int) $config['captcha_gd_x_grid'];
  87			for ($y = 0; $y < $this->height; $y += mt_rand($grid - 2, $grid + 2))
  88			{
  89				$current_colour = $scheme[array_rand($scheme)];
  90				imageline($img, mt_rand(0,4), mt_rand($y - 3, $y), mt_rand($this->width - 5, $this->width), mt_rand($y - 3, $y), $current_colour);
  91			}
  92		}
  93
  94		if ($config['captcha_gd_y_grid'])
  95		{
  96			$grid = (int) $config['captcha_gd_y_grid'];
  97			for ($x = 0; $x < $this->width; $x += mt_rand($grid - 2, $grid + 2))
  98			{
  99				$current_colour = $scheme[array_rand($scheme)];
 100				imagedashedline($img, mt_rand($x -3, $x + 3), mt_rand(0, 4), mt_rand($x -3, $x + 3), mt_rand($this->height - 5, $this->height), $current_colour);
 101			}
 102		}
 103		if ($config['captcha_gd_wave'] && ($config['captcha_gd_y_grid'] || $config['captcha_gd_y_grid']))
 104		{
 105			$this->wave($img);
 106		}
 107		
 108		
 109		if ($config['captcha_gd_3d_noise'])
 110		{
 111			$xoffset = mt_rand(0,9);
 112			$noise_bitmaps = $this->captcha_noise_bg_bitmaps();
 113			for ($i = 0; $i < $code_len; ++$i)
 114			{
 115				$noise[$i] = new char_cube3d($noise_bitmaps, mt_rand(1, sizeof($noise_bitmaps['data'])));
 116
 117				list($min, $max) = $noise[$i]->range();
 118				//$box = $noise[$i]->dimensions($sizes[$i]);
 119			}
 120			$xoffset = 0;
 121			for ($i = 0; $i < $code_len; ++$i)
 122			{
 123				$dimm = $bounding_boxes[$i];
 124				$xoffset += ($offset[$i] - $dimm[0]);
 125				$yoffset = mt_rand(-$dimm[1], $this->height - $dimm[3]);
 126	 
 127				$noise[$i]->drawchar($sizes[$i], $xoffset, $yoffset, $img, $colour->get_resource('background'), $scheme);
 128				$xoffset += $dimm[2];
 129			}
 130		}
 131		$xoffset = 5;
 132		for ($i = 0; $i < $code_len; ++$i)
 133		{
 134			$dimm = $bounding_boxes[$i];
 135			$xoffset += ($offset[$i] - $dimm[0]);
 136			$yoffset = mt_rand(-$dimm[1], $this->height - $dimm[3]);
 137
 138			$characters[$i]->drawchar($sizes[$i], $xoffset, $yoffset, $img, $colour->get_resource('background'), $scheme);
 139			$xoffset += $dimm[2];
 140		}
 141		if ($config['captcha_gd_wave'])
 142		{
 143			$this->wave($img);
 144		}
 145		if ($config['captcha_gd_foreground_noise'])
 146		{
 147			$this->noise_line($img, 0, 0, $this->width, $this->height, $colour->get_resource('background'), $scheme, $bg_colours);
 148		}
 149		// Send image
 150		header('Content-Type: image/png');
 151		header('Cache-control: no-cache, no-store');
 152		imagepng($img);
 153		imagedestroy($img);
 154	}
 155
 156	/**
 157	* Sinus
 158	*/
 159	function wave($img)
 160	{
 161		global $config;
 162		
 163		$period_x = mt_rand(12,18);
 164		$period_y = mt_rand(7,14);
 165		$amp_x = mt_rand(5,10);
 166		$amp_y = mt_rand(2,4); 
 167		$socket = mt_rand(0,100);
 168		
 169		$dampen_x = mt_rand($this->width/5, $this->width/2);
 170		$dampen_y = mt_rand($this->height/5, $this->height/2);
 171		$direction_x = (mt_rand (0, 1));
 172		$direction_y = (mt_rand (0, 1));
 173
 174		for ($i = 0; $i < $this->width; $i++)
 175		{
 176			$dir = ($direction_x) ? $i : ($this->width - $i);
 177			imagecopy($img, $img, $i-1, sin($socket+ $i/($period_x + $dir/$dampen_x)) * $amp_x, $i, 0, 1, $this->height);
 178		}
 179		$socket = mt_rand(0,100);
 180		for ($i = 0; $i < $this->height; $i++)
 181		{
 182			$dir = ($direction_y) ? $i : ($this->height - $i);
 183			imagecopy($img, $img ,sin($socket + $i/($period_y + ($dir)/$dampen_y)) * $amp_y, $i-1, 0, $i, $this->width, 1);
 184		}
 185		return $img;
 186	}
 187	
 188	/**
 189	* Noise line
 190	*/
 191	function noise_line($img, $min_x, $min_y, $max_x, $max_y, $bg, $font, $non_font)
 192	{
 193		imagesetthickness($img, 2);
 194
 195		$x1 = $min_x;
 196		$x2 = $max_x;
 197		$y1 = $min_y;
 198		$y2 = $min_y;
 199
 200		do
 201		{
 202			$line = array_merge(
 203				array_fill(0, mt_rand(30, 60), $non_font[array_rand($non_font)]),
 204				array_fill(0, mt_rand(30, 60), $bg)
 205			);
 206
 207			imagesetstyle($img, $line);
 208			imageline($img, $x1, $y1, $x2, $y2, IMG_COLOR_STYLED);
 209
 210			$y1 += mt_rand(12, 35);
 211			$y2 += mt_rand(12, 35);
 212		}
 213		while ($y1 < $max_y && $y2 < $max_y);
 214
 215		$x1 = $min_x;
 216		$x2 = $min_x;
 217		$y1 = $min_y;
 218		$y2 = $max_y;
 219
 220		do
 221		{
 222			$line = array_merge(
 223				array_fill(0, mt_rand(30, 60), $non_font[array_rand($non_font)]),
 224				array_fill(0, mt_rand(30, 60), $bg)
 225			);
 226
 227			imagesetstyle($img, $line);
 228			imageline($img, $x1, $y1, $x2, $y2, IMG_COLOR_STYLED);
 229
 230			$x1 += mt_rand(20, 35);
 231			$x2 += mt_rand(20, 35);
 232		}
 233		while ($x1 < $max_x && $x2 < $max_x);
 234		imagesetthickness($img, 1);
 235	}
 236
 237
 238	function captcha_noise_bg_bitmaps()
 239	{		
 240		return array(
 241			'width'		=> 15,
 242			'height'	=> 5,
 243			'data'		=> array(
 244
 245			1 => array(
 246				array(1,0,0,0,1,0,0,0,0,0,0,0,0,0,0),
 247				array(1,0,0,0,0,1,0,0,0,0,0,0,0,0,0),
 248				array(1,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
 249				array(1,0,0,0,0,1,0,0,0,0,0,0,1,0,0),
 250				array(1,0,0,0,0,0,1,0,0,0,0,1,0,0,0),
 251			),
 252			2 => array(
 253				array(1,1,mt_rand(0,1),1,0,1,1,1,1,0,0,0,0,0,0),
 254				array(0,0,0,0,0,0,0,1,0,0,0,0,0,0,0),
 255				array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
 256				array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
 257				array(0,0,0,0,0,0,0,0,0,1,1,0,1,1,1),
 258			),
 259			3 => array(
 260				array(1,0,0,0,0,0,0,0,0,0,0,0,0,0,1),
 261				array(1,0,0,0,0,0,0,0,0,0,0,0,0,1,0),
 262				array(0,0,0,0,1,0,0,0,0,0,0,0,0,0,1),
 263				array(1,0,0,0,0,0,0,0,0,0,0,0,0,1,0),
 264				array(1,0,0,0,0,0,0,0,0,0,0,0,0,0,1),
 265			),
 266			4 => array(
 267				array(1,0,1,0,1,0,0,1,1,0,0,0,0,0,0),
 268				array(0,0,0,0,0,0,0,1,0,0,0,0,0,0,0),
 269				array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
 270				array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
 271				array(1,0,1,0,0,0,0,0,0,0,0,0,0,0,0),
 272			),
 273			5 => array(
 274				array(1,1,1,1,0,0,0,1,1,1,0,0,1,0,1),
 275				array(0,0,0,0,0,0,0,1,0,0,0,0,0,0,0),
 276				array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
 277				array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
 278				array(1,0,1,0,0,0,0,0,0,0,0,0,0,0,0),
 279			),
 280			6 => array(
 281				array(mt_rand(0,1),mt_rand(0,1),mt_rand(0,1),mt_rand(0,1),mt_rand(0,1),0,mt_rand(0,1),mt_rand(0,1),mt_rand(0,1),mt_rand(0,1),mt_rand(0,1),0,mt_rand(0,1),mt_rand(0,1),mt_rand(0,1)),
 282				array(0,0,0,0,0,0,0,mt_rand(0,1),0,0,0,0,0,0,0),
 283				array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
 284				array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
 285				array(mt_rand(0,1),0,mt_rand(0,1),0,0,0,0,0,0,0,0,0,0,0,0),
 286			),
 287			7 => array(
 288				array(0,0,0,0,0,0,0,0,0,0,1,1,0,1,1),
 289				array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
 290				array(0,0,1,1,0,0,0,1,0,0,0,0,0,0,0),
 291				array(0,1,0,0,0,1,0,0,0,0,0,0,0,0,0),
 292				array(1,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
 293			),
 294		));
 295	}
 296	
 297	/**
 298	* Return bitmaps
 299	*/
 300	function captcha_bitmaps()
 301	{
 302		global $config;
 303		
 304		$chars = array(
 305			'A'	=>	array(
 306						array(
 307							array(0,0,0,0,1,0,0,0,0),
 308							array(0,0,0,1,0,1,0,0,0),
 309							array(0,0,0,1,0,1,0,0,0),
 310							array(0,0,0,1,0,1,0,0,0),
 311							array(0,0,1,0,0,0,1,0,0),
 312							array(0,0,1,0,0,0,1,0,0),
 313							array(0,0,1,0,0,0,1,0,0),
 314							array(0,1,0,0,0,0,0,1,0),
 315							array(0,1,0,0,0,0,0,1,0),
 316							array(0,1,1,1,1,1,1,1,0),
 317							array(0,1,0,0,0,0,0,1,0),
 318							array(1,0,0,0,0,0,0,0,1),
 319							array(1,0,0,0,0,0,0,0,1),
 320							array(1,0,0,0,0,0,0,0,1),
 321							array(1,0,0,0,0,0,0,0,1),
 322						),
 323						array(
 324							array(0,0,0,0,0,0,0,0,0),
 325							array(0,0,0,0,0,0,0,0,0),
 326							array(0,0,0,0,1,0,0,0,0),
 327							array(0,0,0,1,0,1,0,0,0),
 328							array(0,0,1,1,0,1,1,0,0),
 329							array(0,0,1,0,0,0,1,0,0),
 330							array(0,1,0,0,0,0,0,1,0),
 331							array(0,1,0,0,0,0,0,1,0),
 332							array(0,1,1,1,1,1,1,1,0),
 333							array(0,1,0,0,0,0,0,1,0),
 334							array(0,1,0,0,0,0,0,1,0),
 335							array(0,1,0,0,0,0,0,1,0),
 336							array(0,1,0,0,0,0,0,1,0),
 337							array(0,1,0,0,0,0,0,1,0),
 338							array(1,1,1,0,0,0,1,1,1),
 339						),
 340						array(
 341							array(0,0,0,0,0,0,0,0,0),
 342							array(0,0,0,0,0,0,0,0,0),
 343							array(0,0,0,0,0,0,0,0,0),
 344							array(0,0,0,0,0,0,0,0,0),
 345							array(0,0,1,1,1,1,1,0,0),
 346							array(0,1,1,0,0,0,1,1,0),
 347							array(1,1,0,0,0,0,0,1,1),
 348							array(1,0,0,0,0,0,0,0,1),
 349							array(0,0,0,0,0,0,0,1,1),
 350							array(0,0,0,0,0,1,1,1,1),
 351							array(0,0,0,1,1,1,0,0,1),
 352							array(0,1,1,1,0,0,0,0,1),
 353							array(1,0,0,0,0,0,0,0,1),
 354							array(1,1,0,0,0,0,1,1,1),
 355							array(0,1,1,1,1,1,1,0,1),
 356						),
 357					),
 358		'B'	=>		array(
 359						array(
 360							array(1,1,1,1,1,1,1,0,0),
 361							array(1,0,0,0,0,0,0,1,0),
 362							array(1,0,0,0,0,0,0,0,1),
 363							array(1,0,0,0,0,0,0,0,1),
 364							array(1,0,0,0,0,0,0,0,1),
 365							array(1,0,0,0,0,0,0,0,1),
 366							array(1,0,0,0,0,0,0,1,0),
 367							array(1,1,1,1,1,1,1,0,0),
 368							array(1,0,0,0,0,0,0,1,0),
 369							array(1,0,0,0,0,0,0,0,1),
 370							array(1,0,0,0,0,0,0,0,1),
 371							array(1,0,0,0,0,0,0,0,1),
 372							array(1,0,0,0,0,0,0,0,1),
 373							array(1,0,0,0,0,0,0,1,0),
 374							array(1,1,1,1,1,1,1,0,0),
 375						),
 376						array(
 377							array(1,1,1,1,1,1,1,0,0),
 378							array(0,1,0,0,0,0,0,1,0),
 379							array(0,1,0,0,0,0,0,0,1),
 380							array(0,1,0,0,0,0,0,0,1),
 381							array(0,1,0,0,0,0,0,0,1),
 382							array(0,1,0,0,0,0,0,0,1),
 383							array(0,1,0,0,0,0,0,1,0),
 384							array(0,1,1,1,1,1,1,0,0),
 385							array(0,1,0,0,0,0,0,1,0),
 386							array(0,1,0,0,0,0,0,0,1),
 387							array(0,1,0,0,0,0,0,0,1),
 388							array(0,1,0,0,0,0,0,0,1),
 389							array(0,1,0,0,0,0,0,0,1),
 390							array(0,1,0,0,0,0,0,1,0),
 391							array(1,1,1,1,1,1,1,0,0),
 392						),
 393						array(
 394							array(0,1,0,0,0,0,0,0,0),
 395							array(0,1,0,0,0,0,0,0,0),
 396							array(0,1,0,0,0,0,0,0,0),
 397							array(0,1,0,0,0,0,0,0,0),
 398							array(0,1,0,0,0,0,0,0,0),
 399							array(0,1,0,0,0,0,0,0,0),
 400							array(0,1,0,0,0,0,0,0,0),
 401							array(0,1,1,1,1,1,1,0,0),
 402							array(0,1,0,0,0,0,0,1,0),
 403							array(0,1,0,0,0,0,0,0,1),
 404							array(0,1,0,0,0,0,0,0,1),
 405							array(0,1,0,0,0,0,0,0,1),
 406							array(0,1,0,0,0,0,0,0,1),
 407							array(0,1,0,0,0,0,0,1,0),
 408							array(0,1,1,1,1,1,1,0,0),
 409						),
 410					),
 411		'C'	=>		array(
 412						array(
 413							array(0,0,1,1,1,1,1,0,0),
 414							array(0,1,0,0,0,0,0,1,0),
 415							array(1,0,0,0,0,0,0,0,1),
 416							array(1,0,0,0,0,0,0,0,1),
 417							array(1,0,0,0,0,0,0,0,0),
 418							array(1,0,0,0,0,0,0,0,0),
 419							array(1,0,0,0,0,0,0,0,0),
 420							array(1,0,0,0,0,0,0,0,0),
 421							array(1,0,0,0,0,0,0,0,0),
 422							array(1,0,0,0,0,0,0,0,0),
 423							array(1,0,0,0,0,0,0,0,0),
 424							array(1,0,0,0,0,0,0,0,1),
 425							array(1,0,0,0,0,0,0,0,1),
 426							array(0,1,0,0,0,0,0,1,0),
 427							array(0,0,1,1,1,1,1,0,0),
 428						),
 429						array(
 430							array(0,0,1,1,1,1,1,0,1),
 431							array(0,1,0,0,0,0,0,1,1),
 432							array(1,0,0,0,0,0,0,0,1),
 433							array(1,0,0,0,0,0,0,0,1),
 434							array(1,0,0,0,0,0,0,0,0),
 435							array(1,0,0,0,0,0,0,0,0),
 436							array(1,0,0,0,0,0,0,0,0),
 437							array(1,0,0,0,0,0,0,0,0),
 438							array(1,0,0,0,0,0,0,0,0),
 439							array(1,0,0,0,0,0,0,0,0),
 440							array(1,0,0,0,0,0,0,0,0),
 441							array(1,0,0,0,0,0,0,0,1),
 442							array(1,0,0,0,0,0,0,0,1),
 443							array(0,1,0,0,0,0,0,1,1),
 444							array(0,0,1,1,1,1,1,0,1),
 445						),
 446					),
 447		'D'	=>		array(
 448						array(
 449							array(1,1,1,1,1,1,1,0,0),
 450							array(1,0,0,0,0,0,0,1,0),
 451							array(1,0,0,0,0,0,0,0,1),
 452							array(1,0,0,0,0,0,0,0,1),
 453							array(1,0,0,0,0,0,0,0,1),
 454							array(1,0,0,0,0,0,0,0,1),
 455							array(1,0,0,0,0,0,0,0,1),
 456							array(1,0,0,0,0,0,0,0,1),
 457							array(1,0,0,0,0,0,0,0,1),
 458							array(1,0,0,0,0,0,0,0,1),
 459							array(1,0,0,0,0,0,0,0,1),
 460							array(1,0,0,0,0,0,0,0,1),
 461							array(1,0,0,0,0,0,0,0,1),
 462							array(1,0,0,0,0,0,0,1,0),
 463							array(1,1,1,1,1,1,1,0,0),
 464						),
 465						array(
 466							array(1,1,1,1,1,1,1,0,0),
 467							array(0,1,0,0,0,0,0,1,0),
 468							array(0,1,0,0,0,0,0,0,1),
 469							array(0,1,0,0,0,0,0,0,1),
 470							array(0,1,0,0,0,0,0,0,1),
 471							array(0,1,0,0,0,0,0,0,1),
 472							array(0,1,0,0,0,0,0,0,1),
 473							array(0,1,0,0,0,0,0,0,1),
 474							array(0,1,0,0,0,0,0,0,1),
 475							array(0,1,0,0,0,0,0,0,1),
 476							array(0,1,0,0,0,0,0,0,1),
 477							array(0,1,0,0,0,0,0,0,1),
 478							array(0,1,0,0,0,0,0,0,1),
 479							array(0,1,0,0,0,0,0,1,0),
 480							array(1,1,1,1,1,1,1,0,0),
 481						),
 482						array(
 483							array(0,0,0,0,0,0,0,0,1),
 484							array(0,0,0,0,0,0,0,0,1),
 485							array(0,0,0,0,0,0,0,0,1),
 486							array(0,0,0,0,0,0,0,0,1),
 487							array(0,0,0,0,0,0,0,0,1),
 488							array(0,0,0,0,0,0,0,0,1),
 489							array(0,0,0,0,0,0,0,0,1),
 490							array(0,0,1,1,1,1,1,0,1),
 491							array(0,1,1,0,0,0,1,1,1),
 492							array(0,1,0,0,0,0,0,0,1),
 493							array(0,1,0,0,0,0,0,0,1),
 494							array(0,1,0,0,0,0,0,0,1),
 495							array(0,1,0,0,0,0,0,0,1),
 496							array(0,1,1,0,0,0,1,1,1),
 497							array(0,0,1,1,1,1,1,0,1),
 498						),
 499					),
 500		'E'	=>		array(
 501						array(
 502							array(1,1,1,1,1,1,1,1,1),
 503							array(1,0,0,0,0,0,0,0,0),
 504							array(1,0,0,0,0,0,0,0,0),
 505							array(1,0,0,0,0,0,0,0,0),
 506							array(1,0,0,0,0,0,0,0,0),
 507							array(1,0,0,0,0,0,0,0,0),
 508							array(1,0,0,0,0,0,0,0,0),
 509							array(1,1,1,1,1,1,1,1,0),
 510							array(1,0,0,0,0,0,0,0,0),
 511							array(1,0,0,0,0,0,0,0,0),
 512							array(1,0,0,0,0,0,0,0,0),
 513							array(1,0,0,0,0,0,0,0,0),
 514							array(1,0,0,0,0,0,0,0,0),
 515							array(1,0,0,0,0,0,0,0,0),
 516							array(1,1,1,1,1,1,1,1,1),
 517						),
 518						array(
 519							array(1,1,1,1,1,1,1,1,1),
 520							array(1,0,0,0,0,0,0,0,1),
 521							array(1,0,0,0,0,0,0,0,0),
 522							array(1,0,0,0,0,0,0,0,0),
 523							array(1,0,0,0,0,0,0,0,0),
 524							array(1,0,0,0,0,0,0,0,0),
 525							array(1,0,0,0,0,0,0,0,0),
 526							array(1,1,1,1,1,1,1,0,0),
 527							array(1,0,0,0,0,0,0,0,0),
 528							array(1,0,0,0,0,0,0,0,0),
 529							array(1,0,0,0,0,0,0,0,0),
 530							array(1,0,0,0,0,0,0,0,0),
 531							array(1,0,0,0,0,0,0,0,0),
 532							array(1,0,0,0,0,0,0,0,1),
 533							array(1,1,1,1,1,1,1,1,1),
 534						),
 535						array(
 536							array(0,0,0,0,0,0,0,0,0),
 537							array(0,0,0,0,0,0,0,0,0),
 538							array(0,0,0,0,0,0,0,0,0),
 539							array(0,0,0,0,0,0,0,0,0),
 540							array(0,0,0,0,0,0,0,0,0),
 541							array(0,0,0,0,0,0,0,0,0),
 542							array(0,0,0,0,0,0,0,0,0),
 543							array(0,0,1,1,1,1,1,0,0),
 544							array(0,1,1,0,0,0,1,1,0),
 545							array(1,1,0,0,0,0,0,1,1),
 546							array(1,1,1,1,1,1,1,1,1),
 547							array(1,0,0,0,0,0,0,0,0),
 548							array(1,0,0,0,0,0,0,0,1),
 549							array(1,1,0,0,0,0,0,1,1),
 550							array(0,1,1,1,1,1,1,1,0),
 551						),
 552					),
 553		'F'	=>		array(
 554						array(
 555							array(1,1,1,1,1,1,1,1,1),
 556							array(1,0,0,0,0,0,0,0,0),
 557							array(1,0,0,0,0,0,0,0,0),
 558							array(1,0,0,0,0,0,0,0,0),
 559							array(1,0,0,0,0,0,0,0,0),
 560							array(1,0,0,0,0,0,0,0,0),
 561							array(1,0,0,0,0,0,0,0,0),
 562							array(1,1,1,1,1,1,1,0,0),
 563							array(1,0,0,0,0,0,0,0,0),
 564							array(1,0,0,0,0,0,0,0,0),
 565							array(1,0,0,0,0,0,0,0,0),
 566							array(1,0,0,0,0,0,0,0,0),
 567							array(1,0,0,0,0,0,0,0,0),
 568							array(1,0,0,0,0,0,0,0,0),
 569							array(1,0,0,0,0,0,0,0,0),
 570						),
 571						array(
 572							array(0,1,1,1,1,1,1,1,1),
 573							array(0,1,0,0,0,0,0,0,1),
 574							array(0,1,0,0,0,0,0,0,0),
 575							array(0,1,0,0,0,0,0,0,0),
 576							array(0,1,0,0,0,0,0,0,0),
 577							array(0,1,0,0,0,0,0,0,0),
 578							array(0,1,0,0,0,0,0,0,0),
 579							array(0,1,1,1,1,1,1,0,0),
 580							array(0,1,0,0,0,0,0,0,0),
 581							array(0,1,0,0,0,0,0,0,0),
 582							array(0,1,0,0,0,0,0,0,0),
 583							array(0,1,0,0,0,0,0,0,0),
 584							array(0,1,0,0,0,0,0,0,0),
 585							array(0,1,0,0,0,0,0,0,0),
 586							array(1,1,1,0,0,0,0,0,0),
 587						),
 588						array(
 589							array(0,0,0,1,1,0,0,0,0),
 590							array(0,0,1,1,0,0,0,0,0),
 591							array(0,1,1,0,0,0,0,0,0),
 592							array(0,1,0,0,0,0,0,0,0),
 593							array(0,1,0,0,0,0,0,0,0),
 594							array(1,1,1,1,0,0,0,0,0),
 595							array(0,1,0,0,0,0,0,0,0),
 596							array(0,1,0,0,0,0,0,0,0),
 597							array(0,1,0,0,0,0,0,0,0),
 598							array(0,1,0,0,0,0,0,0,0),
 599							array(0,1,0,0,0,0,0,0,0),
 600							array(0,1,0,0,0,0,0,0,0),
 601							array(0,1,0,0,0,0,0,0,0),
 602							array(0,1,0,0,0,0,0,0,0),
 603							array(0,1,0,0,0,0,0,0,0),
 604						),
 605					),
 606		'G'	=>		array(
 607						array(
 608							array(0,0,1,1,1,1,1,0,0),
 609							array(0,1,0,0,0,0,0,1,0),
 610							array(1,0,0,0,0,0,0,0,1),
 611							array(1,0,0,0,0,0,0,0,0),
 612							array(1,0,0,0,0,0,0,0,0),
 613							array(1,0,0,0,0,0,0,0,0),
 614							array(1,0,0,0,0,0,0,0,0),
 615							array(1,0,0,0,0,0,0,0,0),
 616							array(1,0,0,0,0,0,1,1,1),
 617							array(1,0,0,0,0,0,0,0,1),
 618							array(1,0,0,0,0,0,0,0,1),
 619							array(1,0,0,0,0,0,0,0,1),
 620							array(1,0,0,0,0,0,0,0,1),
 621							array(0,1,0,0,0,0,0,1,0),
 622							array(0,0,1,1,1,1,1,0,0),
 623						),
 624						array(
 625							array(0,0,1,1,1,1,1,0,1),
 626							array(0,1,0,0,0,0,0,1,1),
 627							array(1,0,0,0,0,0,0,0,1),
 628							array(1,0,0,0,0,0,0,0,0),
 629							array(1,0,0,0,0,0,0,0,0),
 630							array(1,0,0,0,0,0,0,0,0),
 631							array(1,0,0,0,0,0,0,0,0),
 632							array(1,0,0,0,0,0,0,0,0),
 633							array(1,0,0,0,1,1,1,1,1),
 634							array(1,0,0,0,1,0,0,0,1),
 635							array(1,0,0,0,1,0,0,0,1),
 636							array(1,0,0,0,0,0,0,0,1),
 637							array(1,0,0,0,0,0,0,0,1),
 638							array(0,1,0,0,0,0,0,1,1),
 639							array(0,0,1,1,1,1,1,0,1),
 640						),
 641						array(
 642							array(0,0,1,1,1,1,1,0,1),
 643							array(0,1,1,0,0,0,0,1,1),
 644							array(1,1,0,0,0,0,0,1,1),
 645							array(1,0,0,0,0,0,0,0,1),
 646							array(1,0,0,0,0,0,0,0,1),
 647							array(1,1,1,0,0,0,0,0,1),
 648							array(0,0,1,1,1,1,1,1,1),
 649							array(0,0,0,0,0,0,0,0,1),
 650							array(0,0,0,0,0,0,0,0,1),
 651							array(0,0,0,0,0,0,0,0,1),
 652							array(0,0,0,0,0,0,0,0,1),
 653							array(0,0,0,0,0,0,0,1,1),
 654							array(1,1,1,1,1,1,1,1,0),
 655							array(0,0,0,0,0,0,0,0,0),
 656							array(0,0,0,0,0,0,0,0,0),
 657						),
 658					),
 659		'H'	=>		array(
 660						array(
 661							array(1,0,0,0,0,0,0,0,1),
 662							array(1,0,0,0,0,0,0,0,1),
 663							array(1,0,0,0,0,0,0,0,1),
 664							array(1,0,0,0,0,0,0,0,1),
 665							array(1,0,0,0,0,0,0,0,1),
 666							array(1,0,0,0,0,0,0,0,1),
 667							array(1,0,0,0,0,0,0,0,1),
 668							array(1,1,1,1,1,1,1,1,1),
 669							array(1,0,0,0,0,0,0,0,1),
 670							array(1,0,0,0,0,0,0,0,1),
 671							array(1,0,0,0,0,0,0,0,1),
 672							array(1,0,0,0,0,0,0,0,1),
 673							array(1,0,0,0,0,0,0,0,1),
 674							array(1,0,0,0,0,0,0,0,1),
 675							array(1,0,0,0,0,0,0,0,1),
 676						),
 677						array(
 678							array(1,1,1,0,0,0,1,1,1),
 679							array(0,1,0,0,0,0,0,1,0),
 680							array(0,1,0,0,0,0,0,1,0),
 681							array(0,1,0,0,0,0,0,1,0),
 682							array(0,1,0,0,0,0,0,1,0),
 683							array(0,1,0,0,0,0,0,1,0),
 684							array(0,1,0,0,0,0,0,1,0),
 685							array(0,1,1,1,1,1,1,1,0),
 686							array(0,1,0,0,0,0,0,1,0),
 687							array(0,1,0,0,0,0,0,1,0),
 688							array(0,1,0,0,0,0,0,1,0),
 689							array(0,1,0,0,0,0,0,1,0),
 690							array(0,1,0,0,0,0,0,1,0),
 691							array(0,1,0,0,0,0,0,1,0),
 692							array(1,1,1,0,0,0,1,1,1),
 693						),
 694						array(
 695							array(1,0,0,0,0,0,0,0,0),
 696							array(1,0,0,0,0,0,0,0,0),
 697							array(1,0,0,0,0,0,0,0,0),
 698							array(1,0,0,0,0,0,0,0,0),
 699							array(1,0,0,0,0,0,0,0,0),
 700							array(1,0,0,0,0,0,0,0,0),
 701							array(1,0,0,0,0,0,0,0,0),
 702							array(1,0,0,1,1,1,0,0,0),
 703							array(1,1,1,1,0,1,1,0,0),
 704							array(1,0,0,0,0,0,1,0,0),
 705							array(1,0,0,0,0,0,1,0,0),
 706							array(1,0,0,0,0,0,1,0,0),
 707							array(1,0,0,0,0,0,1,0,0),
 708							array(1,0,0,0,0,0,1,0,0),
 709							array(1,0,0,0,0,0,1,0,0),
 710						),
 711					),
 712		'I'	=>		array(
 713						array(
 714							array(1,1,1,1,1,1,1,1,1),
 715							array(0,0,0,0,1,0,0,0,0),
 716							array(0,0,0,0,1,0,0,0,0),
 717							array(0,0,0,0,1,0,0,0,0),
 718							array(0,0,0,0,1,0,0,0,0),
 719							array(0,0,0,0,1,0,0,0,0),
 720							array(0,0,0,0,1,0,0,0,0),
 721							array(0,0,0,0,1,0,0,0,0),
 722							array(0,0,0,0,1,0,0,0,0),
 723							array(0,0,0,0,1,0,0,0,0),
 724							array(0,0,0,0,1,0,0,0,0),
 725							array(0,0,0,0,1,0,0,0,0),
 726							array(0,0,0,0,1,0,0,0,0),
 727							array(0,0,0,0,1,0,0,0,0),
 728							array(1,1,1,1,1,1,1,1,1),
 729						),
 730						array(
 731							array(0,0,0,1,1,1,0,0,0),
 732							array(0,0,0,0,1,0,0,0,0),
 733							array(0,0,0,0,1,0,0,0,0),
 734							array(0,0,0,0,1,0,0,0,0),
 735							array(0,0,0,0,1,0,0,0,0),
 736							array(0,0,0,0,1,0,0,0,0),
 737							array(0,0,0,0,1,0,0,0,0),
 738							array(0,0,0,0,1,0,0,0,0),
 739							array(0,0,0,0,1,0,0,0,0),
 740							array(0,0,0,0,1,0,0,0,0),
 741							array(0,0,0,0,1,0,0,0,0),
 742							array(0,0,0,0,1,0,0,0,0),
 743							array(0,0,0,0,1,0,0,0,0),
 744							array(0,0,0,0,1,0,0,0,0),
 745							array(0,0,0,1,1,1,0,0,0),
 746						),
 747						array(
 748							array(0,0,0,0,0,0,0,0,0),
 749							array(0,0,0,0,0,0,0,0,0),
 750							array(0,0,0,0,0,0,0,0,0),
 751							array(0,0,0,0,1,0,0,0,0),
 752							array(0,0,0,1,1,1,0,0,0),
 753							array(0,0,0,0,1,0,0,0,0),
 754							array(0,0,0,0,0,0,0,0,0),
 755							array(0,0,0,0,1,0,0,0,0),
 756							array(0,0,0,0,1,0,0,0,0),
 757							array(0,0,0,0,1,0,0,0,0),
 758							array(0,0,0,0,1,0,0,0,0),
 759							array(0,0,0,0,1,0,0,0,0),
 760							array(0,0,0,0,1,0,0,0,0),
 761							array(0,0,0,0,1,0,0,0,0),
 762							array(0,0,0,1,1,1,0,0,0),
 763						),
 764					),
 765		'J'	=>		array(
 766						array(
 767							array(1,1,1,1,1,1,1,1,1),
 768							array(0,0,0,0,0,1,0,0,0),
 769							array(0,0,0,0,0,1,0,0,0),
 770							array(0,0,0,0,0,1,0,0,0),
 771							array(0,0,0,0,0,1,0,0,0),
 772							array(0,0,0,0,0,1,0,0,0),
 773							array(0,0,0,0,0,1,0,0,0),
 774							array(0,0,0,0,0,1,0,0,0),
 775							array(0,0,0,0,0,1,0,0,0),
 776							array(0,0,0,0,0,1,0,0,0),
 777							array(0,0,0,0,0,1,0,0,0),
 778							array(1,0,0,0,0,1,0,0,0),
 779							array(1,0,0,0,0,1,0,0,0),
 780							array(0,1,0,0,1,0,0,0,0),
 781							array(0,0,1,1,0,0,0,0,0),
 782						),
 783						array(
 784							array(1,1,1,1,1,1,1,1,1),
 785							array(0,0,0,0,0,1,0,0,0),
 786							array(0,0,0,0,0,1,0,0,0),
 787							array(0,0,0,0,0,1,0,0,0),
 788							array(0,0,0,0,0,1,0,0,0),
 789							array(0,0,0,0,0,1,0,0,0),
 790							array(0,0,0,0,0,1,0,0,0),
 791							array(0,0,0,0,0,1,0,0,0),
 792							array(0,0,0,0,0,1,0,0,0),
 793							array(0,0,0,0,0,1,0,0,0),
 794							array(0,0,0,0,0,1,0,0,0),
 795							array(1,0,0,0,0,1,0,0,0),
 796							array(1,0,0,0,0,1,0,0,0),
 797							array(1,1,0,0,1,0,0,0,0),
 798							array(1,0,1,1,0,0,0,0,0),
 799						),
 800						array(
 801							array(0,0,0,0,0,0,0,0,0),
 802							array(0,0,0,0,0,0,0,0,0),
 803							array(0,0,0,0,0,0,0,0,0),
 804							array(0,0,0,0,0,0,0,0,0),
 805							array(0,0,0,0,0,1,0,0,0),
 806							array(0,0,0,0,0,0,0,0,0),
 807							array(0,0,0,0,0,1,0,0,0),
 808							array(0,0,0,0,0,1,0,0,0),
 809							array(0,0,0,0,0,1,0,0,0),
 810							array(0,0,0,0,0,1,0,0,0),
 811							array(0,0,0,0,0,1,0,0,0),
 812							array(1,0,0,0,0,1,0,0,0),
 813							array(1,0,0,0,0,1,0,0,0),
 814							array(0,1,0,0,1,0,0,0,0),
 815							array(0,0,1,1,0,0,0,0,0),
 816						),
 817					),
 818		'K'	=>		array(
 819						array(    // New 'K', supplied by NeoThermic
 820							array(1,0,0,0,0,0,0,0,1),
 821							array(1,0,0,0,0,0,0,1,0),
 822							array(1,0,0,0,0,0,1,0,0),
 823							array(1,0,0,0,0,1,0,0,0),
 824							array(1,0,0,0,1,0,0,0,0),
 825							array(1,0,0,1,0,0,0,0,0),
 826							array(1,0,1,0,0,0,0,0,0),
 827							array(1,1,0,0,0,0,0,0,0),
 828							array(1,0,1,0,0,0,0,0,0),
 829							array(1,0,0,1,0,0,0,0,0),
 830							array(1,0,0,0,1,0,0,0,0),
 831							array(1,0,0,0,0,1,0,0,0),
 832							array(1,0,0,0,0,0,1,0,0),
 833							array(1,0,0,0,0,0,0,1,0),
 834							array(1,0,0,0,0,0,0,0,1),
 835						),
 836						array(
 837							array(0,1,0,0,0,0,0,0,1),
 838							array(0,1,0,0,0,0,0,1,0),
 839							array(0,1,0,0,0,0,1,0,0),
 840							array(0,1,0,0,0,1,0,0,0),
 841							array(0,1,0,0,1,0,0,0,0),
 842							array(0,1,0,1,0,0,0,0,0),
 843							array(0,1,1,0,0,0,0,0,0),
 844							array(0,1,0,0,0,0,0,0,0),
 845							array(0,1,1,0,0,0,0,0,0),
 846							array(0,1,0,1,0,0,0,0,0),
 847							array(0,1,0,0,1,0,0,0,0),
 848							array(0,1,0,0,0,1,0,0,0),
 849							array(0,1,0,0,0,0,1,0,0),
 850							array(0,1,0,0,0,0,0,1,0),
 851							array(1,1,1,0,0,0,1,1,1),
 852						),
 853						array(
 854							array(0,0,0,0,0,0,0,0,0),
 855							array(0,1,0,0,0,0,0,0,0),
 856							array(0,1,0,0,0,0,0,0,0),
 857							array(0,1,0,0,0,1,0,0,0),
 858							array(0,1,0,0,1,0,0,0,0),
 859							array(0,1,0,1,0,0,0,0,0),
 860							array(0,1,1,0,0,0,0,0,0),
 861							array(0,1,0,0,0,0,0,0,0),
 862							array(0,1,1,0,0,0,0,0,0),
 863							array(0,1,0,1,0,0,0,0,0),
 864							array(0,1,0,0,1,0,0,0,0),
 865							array(0,1,0,0,0,1,0,0,0),
 866							array(0,1,0,0,0,0,1,0,0),
 867							array(0,1,0,0,0,0,0,1,0),
 868							array(0,1,0,0,0,0,0,1,0),
 869						),
 870					),
 871		'L'	=>		array(
 872						array(
 873							array(0,0,0,0,0,0,0,0,0),
 874							array(1,0,0,0,0,0,0,0,0),
 875							array(1,0,0,0,0,0,0,0,0),
 876							array(1,0,0,0,0,0,0,0,0),
 877							array(1,0,0,0,0,0,0,0,0),
 878							array(1,0,0,0,0,0,0,0,0),
 879							array(1,0,0,0,0,0,0,0,0),
 880							array(1,0,0,0,0,0,0,0,0),
 881							array(1,0,0,0,0,0,0,0,0),
 882							array(1,0,0,0,0,0,0,0,0),
 883							array(1,0,0,0,0,0,0,0,0),
 884							array(1,0,0,0,0,0,0,0,0),
 885							array(1,0,0,0,0,0,0,0,0),
 886							array(1,0,0,0,0,0,0,0,0),
 887							array(1,1,1,1,1,1,1,1,1),
 888						),
 889						array(
 890							array(0,0,0,0,0,0,0,0,0),
 891							array(0,1,0,0,0,0,0,0,0),
 892							array(0,1,0,0,0,0,0,0,0),
 893							array(0,1,0,0,0,0,0,0,0),
 894							array(0,1,0,0,0,0,0,0,0),
 895							array(0,1,0,0,0,0,0,0,0),
 896							array(0,1,0,0,0,0,0,0,0),
 897							array(0,1,0,0,0,0,0,0,0),
 898							array(0,1,0,0,0,0,0,0,0),
 899							array(0,1,0,0,0,0,0,0,0),
 900							array(0,1,0,0,0,0,0,0,0),
 901							array(0,1,0,0,0,0,0,0,0),
 902							array(0,1,0,0,0,0,0,0,0),
 903							array(0,1,0,0,0,0,0,0,1),
 904							array(1,1,1,1,1,1,1,1,1),
 905						),
 906						array(
 907							array(0,0,0,0,0,0,0,0,0),
 908							array(0,1,0,0,0,0,0,0,0),
 909							array(0,1,0,0,0,0,0,0,0),
 910							array(0,1,0,0,0,0,0,0,0),
 911							array(0,1,0,0,0,0,0,0,0),
 912							array(0,1,0,0,0,0,0,0,0),
 913							array(0,1,0,0,0,0,0,0,0),
 914							array(0,1,0,0,0,0,0,0,0),
 915							array(0,1,0,0,0,0,0,0,0),
 916							array(0,1,0,0,0,0,0,0,0),
 917							array(0,1,0,0,0,0,0,0,0),
 918							array(0,1,0,0,0,0,0,0,0),
 919							array(0,1,0,0,0,0,0,0,0),
 920							array(0,1,1,0,0,0,0,0,0),
 921							array(0,0,1,1,1,0,0,0,0),
 922						),
 923					),
 924		'M'	=>		array(
 925						array(
 926							array(1,1,0,0,0,0,0,1,1),
 927							array(1,1,0,0,0,0,0,1,1),
 928							array(1,0,1,0,0,0,1,0,1),
 929							array(1,0,1,0,0,0,1,0,1),
 930							array(1,0,1,0,0,0,1,0,1),
 931							array(1,0,0,1,0,1,0,0,1),
 932							array(1,0,0,1,0,1,0,0,1),
 933							array(1,0,0,1,0,1,0,0,1),
 934							array(1,0,0,0,1,0,0,0,1),
 935							array(1,0,0,0,1,0,0,0,1),
 936							array(1,0,0,0,0,0,0,0,1),
 937							array(1,0,0,0,0,0,0,0,1),
 938							array(1,0,0,0,0,0,0,0,1),
 939							array(1,0,0,0,0,0,0,0,1),
 940							array(1,0,0,0,0,0,0,0,1),
 941						),
 942						array(
 943							array(0,0,0,0,0,0,0,0,0),
 944							array(0,1,0,0,0,0,0,1,0),
 945							array(0,1,1,0,0,0,1,1,0),
 946							array(0,1,1,0,0,0,1,1,0),
 947							array(0,1,1,0,0,0,1,1,0),
 948							array(0,1,0,1,0,1,0,1,0),
 949							array(0,1,0,1,0,1,0,1,0),
 950							array(0,1,0,1,0,1,0,1,0),
 951							array(0,1,0,0,1,0,0,1,0),
 952							array(0,1,0,0,1,0,0,1,0),
 953							array(0,1,0,0,0,0,0,1,0),
 954							array(0,1,0,0,0,0,0,1,0),
 955							array(0,1,0,0,0,0,0,1,0),
 956							array(0,1,0,0,0,0,0,1,0),
 957							array(1,1,1,0,0,0,1,1,1),
 958						),
 959						array(
 960							array(0,0,0,0,0,0,0,0,0),
 961							array(0,0,0,0,0,0,0,0,0),
 962							array(0,0,0,0,0,0,0,0,0),
 963							array(0,0,0,0,0,0,0,0,0),
 964							array(0,0,0,0,0,0,0,0,0),
 965							array(0,0,0,0,0,0,0,0,0),
 966							array(0,1,1,1,0,1,1,1,0),
 967							array(1,1,0,1,1,1,0,1,1),
 968							array(1,0,0,0,1,0,0,0,1),
 969							array(1,0,0,0,1,0,0,0,1),
 970							array(1,0,0,0,1,0,0,0,1),
 971							array(1,0,0,0,1,0,0,0,1),
 972							array(1,0,0,0,1,0,0,0,1),
 973							array(1,0,0,0,1,0,0,0,1),
 974							array(1,0,0,0,1,0,0,0,1),
 975						),
 976					),
 977		'N'	=>		array(
 978						array(
 979							array(1,1,0,0,0,0,0,0,1),
 980							array(1,1,0,0,0,0,0,0,1),
 981							array(1,0,1,0,0,0,0,0,1),
 982							array(1,0,1,0,0,0,0,0,1),
 983							array(1,0,0,1,0,0,0,0,1),
 984							array(1,0,0,1,0,0,0,0,1),
 985							array(1,0,0,0,1,0,0,0,1),
 986							array(1,0,0,0,1,0,0,0,1),
 987							array(1,0,0,0,1,0,0,0,1),
 988							array(1,0,0,0,0,1,0,0,1),
 989							array(1,0,0,0,0,1,0,0,1),
 990							array(1,0,0,0,0,0,1,0,1),
 991							array(1,0,0,0,0,0,1,0,1),
 992							array(1,0,0,0,0,0,0,1,1),
 993							array(1,0,0,0,0,0,0,1,1),
 994						),
 995						array(
 996							array(0,0,0,0,0,0,0,0,0),
 997							array(0,1,0,0,0,0,0,1,0),
 998							array(0,1,1,0,0,0,0,1,0),
 999							array(0,1,1,0,0,0,0,1,0),
1000							array(0,1,1,0,0,0,0,1,0),
1001							array(0,1,0,1,0,0,0,1,0),
1002							array(0,1,0,1,0,0,0,1,0),
1003							array(0,1,0,1,0,0,0,1,0),
1004							array(0,1,0,0,1,0,0,1,0),
1005							array(0,1,0,0,1,1,0,1,0),
1006							array(0,1,0,0,0,1,0,1,0),
1007							array(0,1,0,0,0,1,1,1,0),
1008							array(0,1,0,0,0,0,1,1,0),
1009							array(0,1,0,0,0,0,0,1,0),
1010							array(1,1,1,0,0,0,1,1,1),
1011						),
1012						array(
1013							array(0,0,0,0,0,0,0,0,0),
1014							array(0,0,0,0,0,0,0,0,0),
1015							array(0,0,0,0,0,0,0,0,0),
1016							array(0,0,0,0,0,0,0,0,0),
1017							array(0,0,0,0,0,0,0,0,0),
1018							array(0,0,0,0,0,0,0,0,0),
1019							array(0,0,0,0,0,0,0,0,0),
1020							array(1,0,1,1,1,1,0,0,0),
1021							array(1,1,1,0,0,1,1,0,0),
1022							array(1,0,0,0,0,0,1,0,0),
1023							array(1,0,0,0,0,0,1,0,0),
1024							array(1,0,0,0,0,0,1,0,0),
1025							array(1,0,0,0,0,0,1,0,0),
1026							array(1,0,0,0,0,0,1,0,0),
1027							array(1,0,0,0,0,0,1,0,0),
1028						),
1029					),
1030		'O'	=>		array(
1031						array(
1032							array(0,0,1,1,1,1,1,0,0),
1033							array(0,1,0,0,0,0,0,1,0),
1034							array(1,0,0,0,0,0,0,0,1),
1035							array(1,0,0,0,0,0,0,0,1),
1036							array(1,0,0,0,0,0,0,0,1),
1037							array(1,0,0,0,0,0,0,0,1),
1038							array(1,0,0,0,0,0,0,0,1),
1039							array(1,0,0,0,0,0,0,0,1),
1040							array(1,0,0,0,0,0,0,0,1),
1041							array(1,0,0,0,0,0,0,0,1),
1042							array(1,0,0,0,0,0,0,0,1),
1043							array(1,0,0,0,0,0,0,0,1),
1044							array(1,0,0,0,0,0,0,0,1),
1045							array(0,1,0,0,0,0,0,1,0),
1046							array(0,0,1,1,1,1,1,0,0),
1047						),
1048						array(
1049							array(0,0,1,1,1,1,1,0,0),
1050							array(0,1,0,0,0,0,0,1,0),
1051							array(1,1,0,0,0,0,0,1,1),
1052							array(1,1,0,0,0,0,0,1,1),
1053							array(1,1,0,0,0,0,0,1,1),
1054							array(1,1,0,0,0,0,0,1,1),
1055							array(1,1,0,0,0,0,0,1,1),
1056							array(1,1,0,0,0,0,0,1,1),
1057							array(1,1,0,0,0,0,0,1,1),
1058							array(1,1,0,0,0,0,0,1,1),
1059							array(1,1,0,0,0,0,0,1,1),
1060							array(1,1,0,0,0,0,0,1,1),
1061							array(1,1,0,0,0,0,0,1,1),
1062							array(0,1,0,0,0,0,0,1,0),
1063							array(0,0,1,1,1,1,1,0,0),
1064						),
1065						array(
1066							array(0,0,0,0,0,0,0,0,0),
1067							array(0,0,0,0,0,0,0,0,0),
1068							array(0,0,0,0,0,0,0,0,0),
1069							array(0,0,0,0,0,0,0,0,0),
1070							array(0,0,0,0,0,0,0,0,0),
1071							array(0,0,0,0,0,0,0,0,0),
1072							array(0,0,0,0,0,0,0,0,0),
1073							array(0,1,1,1,1,1,0,0,0),
1074							array(1,1,1,0,0,1,1,0,0),
1075							array(1,0,0,0,0,0,1,0,0),
1076							array(1,0,0,0,0,0,1,0,0),
1077							array(1,0,0,0,0,0,1,0,0),
1078							array(1,0,0,0,0,0,1,0,0),
1079							array(1,1,0,0,0,1,1,0,0),
1080							array(0,1,1,1,1,1,0,0,0),
1081						),
1082					),
1083		'P'	=>		array(
1084						array(
1085							array(1,1,1,1,1,1,1,0,0),
1086							array(1,0,0,0,0,0,0,1,0),
1087							array(1,0,0,0,0,0,0,0,1),
1088							array(1,0,0,0,0,0,0,0,1),
1089							array(1,0,0,0,0,0,0,0,1),
1090							array(1,0,0,0,0,0,0,0,1),
1091							array(1,0,0,0,0,0,0,1,0),
1092							array(1,1,1,1,1,1,1,0,0),
1093							array(1,0,0,0,0,0,0,0,0),
1094							array(1,0,0,0,0,0,0,0,0),
1095							array(1,0,0,0,0,0,0,0,0),
1096							array(1,0,0,0,0,0,0,0,0),
1097							array(1,0,0,0,0,0,0,0,0),
1098							array(1,0,0,0,0,0,0,0,0),
1099							array(1,0,0,0,0,0,0,0,0),
1100						),
1101						array(
1102							array(1,1,1,1,1,1,1,0,0),
1103							array(0,1,0,0,0,0,0,1,0),
1104							array(0,1,0,0,0,0,0,0,1),
1105							array(0,1,0,0,0,0,0,0,1),
1106							array(0,1,0,0,0,0,0,0,1),
1107							array(0,1,0,0,0,0,0,0,1),
1108							array(0,1,0,0,0,0,0,1,0),
1109							array(1,1,1,1,1,1,1,0,0),
1110							array(0,1,0,0,0,0,0,0,0),
1111							array(0,1,0,0,0,0,0,0,0),
1112							array(0,1,0,0,0,0,0,0,0),
1113							array(0,1,0,0,0,0,0,0,0),
1114							array(0,1,0,0,0,0,0,0,0),
1115							array(0,1,0,0,0,0,0,0,0),
1116							array(1,1,1,0,0,0,0,0,0),
1117						),
1118						array(
1119							array(0,0,0,0,0,0,0,0,0),
1120							array(0,0,0,0,0,0,0,0,0),
1121							array(1,0,0,0,0,0,0,0,0),
1122							array(1,0,1,1,0,0,0,0,0),
1123							array(1,1,0,1,1,0,0,0,0),
1124							array(1,0,0,0,1,0,0,0,0),
1125							array(1,0,0,0,1,0,0,0,0),
1126							array(1,0,0,1,1,0,0,0,0),
1127							array(1,1,1,1,0,0,0,0,0),
1128							array(1,0,0,0,0,0,0,0,0),
1129							array(1,0,0,0,0,0,0,0,0),
1130							array(1,0,0,0,0,0,0,0,0),
1131							array(1,0,0,0,0,0,0,0,0),
1132							array(1,0,0,0,0,0,0,0,0),
1133							array(1,0,0,0,0,0,0,0,0),
1134						),
1135					),
1136		'Q'	=>		array(
1137						array(
1138							array(0,0,1,1,1,1,1,0,0),
1139							array(0,1,0,0,0,0,0,1,0),
1140							array(1,0,0,0,0,0,0,0,1),
1141							array(1,0,0,0,0,0,0,0,1),
1142							array(1,0,0,0,0,0,0,0,1),
1143							array(1,0,0,0,0,0,0,0,1),
1144							array(1,0,0,0,0,0,0,0,1),
1145							array(1,0,0,0,0,0,0,0,1),
1146							array(1,0,0,0,0,0,0,0,1),
1147							array(1,0,0,0,0,0,0,0,1),
1148							array(1,0,0,0,0,0,0,0,1),
1149							array(1,0,0,0,0,1,0,0,1),
1150							array(1,0,0,0,0,0,1,0,1),
1151							array(0,1,0,0,0,0,0,1,0),
1152							array(0,0,1,1,1,1,1,0,1),
1153						),
1154						array(
1155							array(0,0,1,1,1,1,1,0,0),
1156							array(0,1,0,0,0,0,0,1,0),
1157							array(1,0,0,0,0,0,0,0,1),
1158							array(1,0,0,0,0,0,0,0,1),
1159							array(1,0,0,0,0,0,0,0,1),
1160							array(1,0,0,0,0,0,0,0,1),
1161							array(1,0,0,0,0,0,0,0,1),
1162							array(1,0,0,0,0,0,0,0,1),
1163							array(1,0,0,0,0,0,0,0,1),
1164							array(1,0,0,0,1,0,0,0,1),
1165							array(1,1,0,0,1,1,0,1,1),
1166							array(0,1,1,1,1,1,1,1,0),
1167							array(0,0,0,0,0,0,1,1,0),
1168							array(0,0,0,0,0,0,0,1,1),
1169							array(0,0,0,0,0,0,0,0,1),
1170						),
1171						array(
1172							array(0,0,0,0,0,0,0,0,0),
1173							array(0,0,0,0,0,0,0,0,0),
1174							array(0,0,0,0,0,0,0,0,0),
1175							array(0,0,0,0,0,1,1,1,1),
1176							array(0,0,0,0,1,1,0,0,1),
1177							array(0,0,0,0,1,0,0,0,1),
1178							array(0,0,0,0,1,0,0,0,1),
1179							array(0,0,0,0,1,1,0,1,1),
1180							array(0,0,0,0,0,1,1,0,1),
1181							array(0,0,0,0,0,0,0,0,1),
1182							array(0,0,0,0,0,0,0,0,1),
1183							array(0,0,0,0,0,0,0,0,1),
1184							array(0,0,0,0,0,0,0,0,1),
1185							array(0,0,0,0,0,0,0,0,1),
1186							array(0,0,0,0,0,0,0,0,1),
1187						),
1188					),
1189		'R'	=>		array(
1190						array(
1191							array(1,1,1,1,1,1,1,0,0),
1192							array(1,0,0,0,0,0,0,1,0),
1193							array(1,0,0,0,0,0,0,0,1),
1194							array(1,0,0,0,0,0,0,0,1),
1195							array(1,0,0,0,0,0,0,0,1),
1196							array(1,0,0,0,0,0,0,0,1),
1197							array(1,0,0,0,0,0,0,1,0),
1198							array(1,1,1,1,1,1,1,0,0),
1199							array(1,1,1,0,0,0,0,0,0),
1200							array(1,0,0,1,0,0,0,0,0),
1201							array(1,0,0,0,1,0,0,0,0),
1202							array(1,0,0,0,0,1,0,0,0),
1203							array(1,0,0,0,0,0,1,0,0),
1204							array(1,0,0,0,0,0,0,1,0),
1205							array(1,0,0,0,0,0,0,0,1),
1206						),
1207						array(
1208							array(1,1,1,1,1,1,1,0,0),
1209							array(0,1,0,0,0,0,0,1,0),
1210							array(0,1,0,0,0,0,0,0,1),
1211							array(0,1,0,0,0,0,0,0,1),
1212							array(0,1,0,0,0,0,0,0,1),
1213							array(0,1,0,0,0,0,0,0,1),
1214							array(0,1,0,0,0,0,0,1,0),
1215							array(1,1,1,1,1,1,1,0,0),
1216							array(0,1,1,0,0,0,0,0,0),
1217							array(0,1,1,1,0,0,0,0,0),
1218							array(0,1,0,1,1,0,0,0,0),
1219							array(0,1,0,0,1,1,0,0,0),
1220							array(0,1,0,0,0,1,1,0,0),
1221							array(0,1,0,0,0,0,1,1,0),
1222							array(1,1,1,0,0,0,1,1,1),
1223						),
1224						array(
1225							array(0,0,0,0,0,0,0,0,0),
1226							array(0,0,0,0,0,0,0,0,0),
1227							array(0,0,0,0,0,0,0,0,0),
1228							array(0,0,0,0,0,0,0,0,0),
1229							array(0,0,0,0,0,0,0,0,0),
1230							array(0,0,0,0,0,0,0,0,0),
1231							array(1,0,0,0,0,0,0,0,0),
1232							array(1,1,1,1,1,0,0,0,0),
1233							array(1,1,0,0,1,1,0,0,0),
1234							array(1,0,0,0,0,0,0,0,0),
1235							array(1,0,0,0,0,0,0,0,0),
1236							array(1,0,0,0,0,0,0,0,0),
1237							array(1,0,0,0,0,0,0,0,0),
1238							array(1,0,0,0,0,0,0,0,0),
1239							array(1,0,0,0,0,0,0,0,0),
1240						),
1241					),
1242		'S'	=>		array(
1243						array(
1244							array(0,0,1,1,1,1,1,0,0),
1245							array(0,1,0,0,0,0,0,1,0),
1246							array(1,0,0,0,0,0,0,0,1),
1247							array(1,0,0,0,0,0,0,0,0),
1248							array(1,0,0,0,0,0,0,0,0),
1249							array(1,0,0,0,0,0,0,0,0),
1250							array(0,1,0,0,0,0,0,0,0),
1251							array(0,0,1,1,1,1,1,0,0),
1252							array(0,0,0,0,0,0,0,1,0),
1253							array(0,0,0,0,0,0,0,0,1),
1254							array(0,0,0,0,0,0,0,0,1),
1255							array(0,0,0,0,0,0,0,0,1),
1256							array(1,0,0,0,0,0,0,0,1),
1257							array(0,1,0,0,0,0,0,1,0),
1258							array(0,0,1,1,1,1,1,0,0),
1259						),
1260						array(
1261							array(0,0,1,1,1,1,1,0,1),
1262							array(0,1,0,0,0,0,0,1,1),
1263							array(1,0,0,0,0,0,0,0,1),
1264							array(1,0,0,0,0,0,0,0,1),
1265							array(1,0,0,0,0,0,0,0,0),
1266							array(1,0,0,0,0,0,0,0,0),
1267							array(0,1,0,0,0,0,0,0,0),
1268							array(0,0,1,1,1,1,1,0,0),
1269							array(0,0,0,0,0,0,0,1,0),
1270							array(0,0,0,0,0,0,0,0,1),
1271							array(1,0,0,0,0,0,0,0,1),
1272							array(1,0,0,0,0,0,0,0,1),
1273							array(1,0,0,0,0,0,0,0,1),
1274							array(1,1,0,0,0,0,0,1,0),
1275							array(1,0,1,1,1,1,1,0,0),
1276						),
1277						array(
1278							array(0,0,0,0,0,0,0,0,0),
1279							array(0,0,0,0,0,0,0,0,0),
1280							array(0,0,0,0,0,0,0,0,0),
1281							array(0,0,0,0,0,0,0,0,0),
1282							array(0,0,0,0,0,0,0,0,0),
1283							array(0,0,0,0,0,0,0,0,0),
1284							array(0,0,0,0,0,0,0,0,0),
1285							array(0,1,1,1,1,0,0,0,0),
1286							array(1,0,0,0,0,1,0,0,0),
1287							array(1,0,0,0,0,0,0,0,0),
1288							array(1,1,0,0,0,0,0,0,0),
1289							array(0,1,1,1,1,0,0,0,0),
1290							array(0,0,0,0,0,1,0,0,0),
1291							array(1,0,0,0,1,1,0,0,0),
1292							array(0,1,1,1,1,0,0,0,0),
1293						),
1294					),
1295		'T'	=>		array(
1296						array(
1297							array(1,1,1,1,1,1,1,1,1),
1298							array(0,0,0,0,1,0,0,0,0),
1299							array(0,0,0,0,1,0,0,0,0),
1300							array(0,0,0,0,1,0,0,0,0),
1301							array(0,0,0,0,1,0,0,0,0),
1302							array(0,0,0,0,1,0,0,0,0),
1303							array(0,0,0,0,1,0,0,0,0),
1304							array(0,0,0,0,1,0,0,0,0),
1305							array(0,0,0,0,1,0,0,0,0),
1306							array(0,0,0,0,1,0,0,0,0),
1307							array(0,0,0,0,1,0,0,0,0),
1308							array(0,0,0,0,1,0,0,0,0),
1309							array(0,0,0,0,1,0,0,0,0),
1310							array(0,0,0,0,1,0,0,0,0),
1311							array(0,0,0,0,1,0,0,0,0),
1312						),
1313						array(
1314							array(1,1,1,1,1,1,1,1,1),
1315							array(1,0,0,0,1,0,0,0,1),
1316							array(0,0,0,0,1,0,0,0,0),
1317							array(0,0,0,0,1,0,0,0,0),
1318							array(0,0,0,0,1,0,0,0,0),
1319							array(0,0,0,0,1,0,0,0,0),
1320							array(0,0,0,0,1,0,0,0,0),
1321							array(0,0,0,0,1,0,0,0,0),
1322							array(0,0,0,0,1,0,0,0,0),
1323							array(0,0,0,0,1,0,0,0,0),
1324							array(0,0,0,0,1,0,0,0,0),
1325							array(0,0,0,0,1,0,0,0,0),
1326							array(0,0,0,0,1,0,0,0,0),
1327							array(0,0,0,0,1,0,0,0,0),
1328							array(0,0,0,1,1,1,0,0,0),
1329						),
1330						array(
1331							array(0,0,0,0,1,0,0,0,0),
1332							array(0,0,0,0,1,0,0,0,0),
1333							array(0,0,0,0,1,0,0,0,0),
1334							array(0,0,1,1,1,1,1,1,0),
1335							array(0,0,0,0,1,0,0,0,0),
1336							array(0,0,0,0,1,0,0,0,0),
1337							array(0,0,0,0,1,0,0,0,0),
1338							array(0,0,0,0,1,0,0,0,0),
1339							array(0,0,0,0,1,0,0,0,0),
1340							array(0,0,0,0,1,0,0,0,0),
1341							array(0,0,0,0,1,0,0,0,0),
1342							array(0,0,0,0,1,0,0,0,0),
1343							array(0,0,0,0,1,0,0,0,0),
1344							array(0,0,0,0,1,1,0,0,0),
1345							array(0,0,0,0,0,1,1,1,0),
1346						),
1347					),
1348		'U'	=>		array(
1349						array(
1350							array(1,0,0,0,0,0,0,0,1),
1351							array(1,0,0,0,0,0,0,0,1),
1352							array(1,0,0,0,0,0,0,0,1),
1353							array(1,0,0,0,0,0,0,0,1),
1354							array(1,0,0,0,0,0,0,0,1),
1355							array(1,0,0,0,0,0,0,0,1),
1356							array(1,0,0,0,0,0,0,0,1),
1357							array(1,0,0,0,0,0,0,0,1),
1358							array(1,0,0,0,0,0,0,0,1),
1359							array(1,0,0,0,0,0,0,0,1),
1360							array(1,0,0,0,0,0,0,0,1),
1361							array(1,0,0,0,0,0,0,0,1),
1362							array(1,0,0,0,0,0,0,0,1),
1363							array(0,1,0,0,0,0,0,1,0),
1364							array(0,0,1,1,1,1,1,0,0),
1365						),
1366						array(
1367							array(1,0,0,0,0,0,0,0,0),
1368							array(1,1,1,0,0,0,1,1,1),
1369							array(0,1,0,0,0,0,0,1,0),
1370							array(0,1,0,0,0,0,0,1,0),
1371							array(0,1,0,0,0,0,0,1,0),
1372							array(0,1,0,0,0,0,0,1,0),
1373							array(0,1,0,0,0,0,0,1,0),
1374							array(0,1,0,0,0,0,0,1,0),
1375							array(0,1,0,0,0,0,0,1,0),
1376							array(0,1,0,0,0,0,0,1,0),
1377							array(0,1,0,0,0,0,0,1,0),
1378							array(0,1,0,0,0,0,0,1,0),
1379							array(0,1,0,0,0,0,0,1,0),
1380							array(0,1,1,0,0,0,1,1,0),
1381							array(0,0,1,1,1,1,1,0,0),
1382						),
1383						array(
1384							array(0,0,0,0,0,0,0,0,0),
1385							array(0,0,0,0,0,0,0,0,0),
1386							array(0,0,0,0,0,0,0,0,0),
1387							array(0,0,0,0,0,0,0,0,0),
1388							array(0,0,0,0,0,0,0,0,0),
1389							array(0,0,0,0,0,0,0,0,0),
1390							array(0,0,0,0,0,0,0,0,0),
1391							array(0,0,1,0,0,0,0,0,1),
1392							array(0,0,1,0,0,0,0,0,1),
1393							array(0,0,1,0,0,0,0,0,1),
1394							array(0,0,1,0,0,0,0,0,1),
1395							array(0,0,1,0,0,0,0,0,1),
1396							array(0,0,1,0,0,0,0,1,1),
1397							array(0,0,1,1,0,0,1,1,1),
1398							array(0,0,0,1,1,1,1,0,1),
1399						),
1400					),
1401		'V'	=>		array(
1402						array(
1403							array(1,0,0,0,0,0,0,0,1),
1404							array(1,0,0,0,0,0,0,0,1),
1405							array(1,0,0,0,0,0,0,0,1),
1406							array(0,1,0,0,0,0,0,1,0),
1407							array(0,1,0,0,0,0,0,1,0),
1408							array(0,1,0,0,0,0,0,1,0),
1409							array(0,0,1,0,0,0,1,0,0),
1410							array(0,0,1,0,0,0,1,0,0),
1411							array(0,0,1,0,0,0,1,0,0),
1412							array(0,0,1,0,0,0,1,0,0),
1413							array(0,0,0,1,0,1,0,0,0),
1414							array(0,0,0,1,0,1,0,0,0),
1415							array(0,0,0,1,0,1,0,0,0),
1416							array(0,0,0,0,1,0,0,0,0),
1417							array(0,0,0,0,1,0,0,0,0),
1418						),
1419						array(
1420							array(0,0,0,0,0,0,0,0,0),
1421							array(0,0,0,0,0,0,0,0,0),
1422							array(0,0,0,0,0,0,0,0,0),
1423							array(1,1,1,0,0,0,1,1,1),
1424							array(0,1,0,0,0,0,0,1,0),
1425							array(0,1,0,0,0,0,0,1,0),
1426							array(0,0,1,0,0,0,1,0,0),
1427							array(0,0,1,0,0,0,1,0,0),
1428							array(0,0,1,0,0,0,1,0,0),
1429							array(0,0,1,0,0,0,1,0,0),
1430							array(0,0,0,1,0,1,0,0,0),
1431							array(0,0,0,1,0,1,0,0,0),
1432							array(0,0,0,1,0,1,0,0,0),
1433							array(0,0,0,0,1,0,0,0,0),
1434							array(0,0,0,0,1,0,0,0,0),
1435						),
1436						array(
1437							array(0,0,0,0,0,0,0,0,0),
1438							array(0,0,0,0,0,0,0,0,0),
1439							array(0,0,0,0,0,0,0,0,0),
1440							array(0,0,0,0,0,0,0,0,0),
1441							array(0,0,0,0,0,0,0,0,0),
1442							array(0,0,0,0,0,0,0,0,0),
1443							array(0,0,1,0,0,0,1,0,0),
1444							array(0,0,1,0,0,0,1,0,0),
1445							array(0,0,1,0,0,0,1,0,0),
1446							array(0,0,1,0,0,0,1,0,0),
1447							array(0,0,0,1,0,1,0,0,0),
1448							array(0,0,0,1,0,1,0,0,0),
1449							array(0,0,0,1,0,1,0,0,0),
1450							array(0,0,0,0,1,0,0,0,0),
1451							array(0,0,0,0,1,0,0,0,0),
1452						),
1453					),
1454		'W'	=>		array(
1455						array(
1456							array(1,0,0,0,0,0,0,0,1),
1457							array(1,0,0,0,0,0,0,0,1),
1458							array(1,0,0,0,0,0,0,0,1),
1459							array(1,0,0,0,0,0,0,0,1),
1460							array(1,0,0,0,0,0,0,0,1),
1461							array(1,0,0,0,1,0,0,0,1),
1462							array(1,0,0,0,1,0,0,0,1),
1463							array(1,0,0,1,0,1,0,0,1),
1464							array(1,0,0,1,0,1,0,0,1),
1465							array(1,0,0,1,0,1,0,0,1),
1466							array(1,0,1,0,0,0,1,0,1),
1467							array(1,0,1,0,0,0,1,0,1),
1468							array(1,0,1,0,0,0,1,0,1),
1469							array(1,1,0,0,0,0,0,1,1),
1470							array(1,1,0,0,0,0,0,1,1),
1471						),
1472						array(
1473							array(0,0,0,0,0,0,0,0,0),
1474							array(0,0,0,0,0,0,0,0,0),
1475							array(1,1,1,0,0,0,1,1,1),
1476							array(0,1,0,0,0,0,0,1,0),
1477							array(0,1,0,0,0,0,0,1,0),
1478							array(0,1,0,0,0,0,0,1,0),
1479							array(0,1,0,0,0,0,0,1,0),
1480							array(0,1,0,0,1,0,0,1,0),
1481							array(0,1,0,0,1,0,0,1,0),
1482							array(0,1,0,1,1,1,0,1,0),
1483							array(0,1,0,1,0,1,0,1,0),
1484							array(0,1,1,1,0,1,1,1,0),
1485							array(0,1,1,0,0,0,1,1,0),
1486							array(0,1,0,0,0,0,0,1,0),
1487							array(0,0,0,0,0,0,0,0,0),
1488						),
1489						array(
1490							array(0,0,0,0,0,0,0,0,0),
1491							array(0,0,0,0,0,0,0,0,0),
1492							array(0,0,0,0,0,0,0,0,0),
1493							array(0,0,0,0,0,0,0,0,0),
1494							array(0,0,0,0,0,0,0,0,0),
1495							array(0,0,0,0,0,0,0,0,0),
1496							array(0,1,0,0,0,0,0,1,0),
1497							array(0,1,0,0,1,0,0,1,0),
1498							array(0,1,0,0,1,0,0,1,0),
1499							array(0,1,0,1,1,1,0,1,0),
1500							array(0,1,0,1,0,1,0,1,0),
1501							array(0,1,1,1,0,1,1,1,0),
1502							array(0,1,1,0,0,0,1,1,0),
1503							array(0,1,0,0,0,0,0,1,0),
1504							array(0,0,0,0,0,0,0,0,0),
1505						),
1506					),
1507		'X'	=>		array(
1508						array(
1509							array(1,0,0,0,0,0,0,0,1),
1510							array(1,0,0,0,0,0,0,0,1),
1511							array(0,1,0,0,0,0,0,1,0),
1512							array(0,1,0,0,0,0,0,1,0),
1513							array(0,0,1,0,0,0,1,0,0),
1514							array(0,0,0,1,0,1,0,0,0),
1515							array(0,0,0,1,0,1,0,0,0),
1516							array(0,0,0,0,1,0,0,0,0),
1517							array(0,0,0,1,0,1,0,0,0),
1518							array(0,0,0,1,0,1,0,0,0),
1519							array(0,0,1,0,0,0,1,0,0),
1520							array(0,1,0,0,0,0,1,0,0),
1521							array(0,1,0,0,0,0,0,1,0),
1522							array(1,0,0,0,0,0,0,0,1),
1523							array(1,0,0,0,0,0,0,0,1),
1524						),
1525						array(
1526							array(0,0,0,0,0,0,0,0,0),
1527							array(1,1,1,0,0,0,1,1,1),
1528							array(0,1,0,0,0,0,0,1,0),
1529							array(0,1,0,0,0,0,0,1,0),
1530							array(0,0,1,0,0,0,1,0,0),
1531							array(0,0,0,1,0,1,0,0,0),
1532							array(0,0,0,1,0,1,0,0,0),
1533							array(0,0,0,0,1,0,0,0,0),
1534							array(0,0,0,1,0,1,0,0,0),
1535							array(0,0,0,1,0,1,0,0,0),
1536							array(0,0,1,0,0,0,1,0,0),
1537							array(0,1,0,0,0,0,1,0,0),
1538							array(0,1,0,0,0,0,0,1,0),
1539							array(1,1,1,0,0,0,1,1,1),
1540							array(0,0,0,0,0,0,0,0,0),
1541						),
1542						array(
1543							array(0,0,0,0,0,0,0,0,0),
1544							array(0,0,0,0,0,0,0,0,0),
1545							array(0,0,0,0,0,0,0,0,0),
1546							array(0,0,0,0,0,0,0,0,0),
1547							array(0,0,0,0,0,0,0,0,0),
1548							array(0,0,0,0,0,0,0,0,0),
1549							array(0,0,0,0,0,0,0,0,0),
1550							array(0,1,0,0,0,0,0,1,0),
1551							array(0,1,1,0,0,0,1,1,0),
1552							array(0,0,1,1,0,1,1,0,0),
1553							array(0,0,0,1,1,1,0,0,0),
1554							array(0,0,0,1,1,1,0,0,0),
1555							array(0,0,1,1,0,1,1,0,0),
1556							array(0,1,1,0,0,0,1,1,0),
1557							array(0,0,0,0,0,0,0,0,0),
1558						),
1559					),
1560		'Y'	=>		array(
1561						array(
1562							array(1,0,0,0,0,0,0,0,1),
1563							array(1,0,0,0,0,0,0,0,1),
1564							array(0,1,0,0,0,0,0,1,0),
1565							array(0,1,0,0,0,0,0,1,0),
1566							array(0,0,1,0,0,0,1,0,0),
1567							array(0,0,1,0,0,0,1,0,0),
1568							array(0,0,0,1,0,1,0,0,0),
1569							array(0,0,0,0,1,0,0,0,0),
1570							array(0,0,0,0,1,0,0,0,0),
1571							array(0,0,0,0,1,0,0,0,0),
1572							array(0,0,0,0,1,0,0,0,0),
1573							array(0,0,0,0,1,0,0,0,0),
1574							array(0,0,0,0,1,0,0,0,0),
1575							array(0,0,0,0,1,0,0,0,0),
1576							array(0,0,0,0,1,0,0,0,0),
1577						),
1578						array(
1579							array(0,0,0,0,0,0,0,0,0),
1580							array(1,1,1,0,0,0,1,1,1),
1581							array(0,1,0,0,0,0,0,1,0),
1582							array(0,1,0,0,0,0,0,1,0),
1583							array(0,0,1,0,0,0,1,0,0),
1584							array(0,0,1,0,0,0,1,0,0),
1585							array(0,0,0,1,0,1,0,0,0),
1586							array(0,0,0,0,1,0,0,0,0),
1587							array(0,0,0,0,1,0,0,0,0),
1588							array(0,0,0,0,1,0,0,0,0),
1589							array(0,0,0,0,1,0,0,0,0),
1590							array(0,0,0,0,1,0,0,0,0),
1591							array(0,0,0,0,1,0,0,0,0),
1592							array(0,0,0,0,1,0,0,0,0),
1593							array(0,0,0,1,1,1,0,0,0),
1594						),
1595						array(
1596							array(0,0,0,0,0,0,0,0,0),
1597							array(0,0,0,0,0,0,0,0,0),
1598							array(0,0,0,0,0,0,0,0,0),
1599							array(0,0,0,0,0,0,0,0,0),
1600							array(0,0,0,1,0,0,0,0,1),
1601							array(0,0,0,1,1,0,0,0,1),
1602							array(0,0,0,0,1,0,0,1,1),
1603							array(0,0,0,0,1,1,0,1,0),
1604							array(0,0,0,0,0,1,1,1,0),
1605							array(0,0,0,0,0,0,1,0,0),
1606							array(0,0,0,0,0,1,1,0,0),
1607							array(0,0,0,0,0,1,0,0,0),
1608							array(0,0,0,0,1,1,0,0,0),
1609							array(0,0,1,1,1,0,0,0,0),
1610							array(0,0,0,0,0,0,0,0,0),
1611						),
1612					),
1613		'Z'	=>		array(
1614						array(
1615							array(1,1,1,1,1,1,1,1,1),
1616							array(1,0,0,0,0,0,0,0,1),
1617							array(0,0,0,0,0,0,0,0,1),
1618							array(0,0,0,0,0,0,0,1,0),
1619							array(0,0,0,0,0,0,1,0,0),
1620							array(0,0,0,0,0,1,0,0,0),
1621							array(0,0,0,0,0,1,0,0,0),
1622							array(0,0,0,0,1,0,0,0,0),
1623							array(0,0,0,1,0,0,0,0,0),
1624							array(0,0,0,1,0,0,0,0,0),
1625							array(0,0,1,0,0,0,0,0,0),
1626							array(0,1,0,0,0,0,0,0,0),
1627							array(1,0,0,0,0,0,0,0,0),
1628							array(1,0,0,0,0,0,0,0,1),
1629							array(1,1,1,1,1,1,1,1,1),
1630						),
1631						array(
1632							array(1,1,1,1,1,1,1,1,1),
1633							array(0,0,0,0,0,0,0,0,1),
1634							array(0,0,0,0,0,0,0,0,1),
1635							array(0,0,0,0,0,0,0,1,0),
1636							array(0,0,0,0,0,0,1,0,0),
1637							array(0,0,0,0,0,1,0,0,0),
1638							array(0,0,0,0,0,1,0,0,0),
1639							array(0,0,1,1,1,1,1,0,0),
1640							array(0,0,0,1,0,0,0,0,0),
1641							array(0,0,0,1,0,0,0,0,0),
1642							array(0,0,1,0,0,0,0,0,0),
1643							array(0,1,0,0,0,0,0,0,0),
1644							array(1,0,0,0,0,0,0,0,0),
1645							array(1,0,0,0,0,0,0,0,0),
1646							array(1,1,1,1,1,1,1,1,1),
1647						),
1648						array(
1649							array(0,0,0,0,0,0,0,0,0),
1650							array(0,0,0,0,0,0,0,0,0),
1651							array(0,0,0,0,0,0,0,0,0),
1652							array(0,0,0,0,0,0,0,0,0),
1653							array(0,0,0,0,0,0,0,0,0),
1654							array(0,0,0,0,0,0,0,0,0),
1655							array(0,0,0,0,0,0,0,0,0),
1656							array(0,0,0,0,0,0,0,0,0),
1657							array(0,1,1,1,1,1,1,1,0),
1658							array(0,0,0,0,0,1,1,0,0),
1659							array(0,0,0,0,1,1,0,0,0),
1660							array(0,0,0,1,1,0,0,0,0),
1661							array(0,0,1,1,0,0,0,0,0),
1662							array(0,0,1,0,0,0,0,0,0),
1663							array(0,1,1,1,1,1,1,1,0),
1664						),
1665					),
1666				);
1667		return array(
1668			'width'		=> 9,
1669			'height'	=> 15,
1670			'data'		=> array(
1671
1672			'A' =>	$chars['A'][mt_rand(0, min(sizeof($chars['A']), $config['captcha_gd_fonts']) -1)],
1673			'B' =>	$chars['B'][mt_rand(0, min(sizeof($chars['B']), $config['captcha_gd_fonts']) -1)],
1674			'C' =>	$chars['C'][mt_rand(0, min(sizeof($chars['C']), $config['captcha_gd_fonts']) -1)],
1675			'D' =>	$chars['D'][mt_rand(0, min(sizeof($chars['D']), $config['captcha_gd_fonts']) -1)],
1676			'E' =>	$chars['E'][mt_rand(0, min(sizeof($chars['E']), $config['captcha_gd_fonts']) -1)],
1677			'F' =>	$chars['F'][mt_rand(0, min(sizeof($chars['F']), $config['captcha_gd_fonts']) -1)],
1678			'G' =>	$chars['G'][mt_rand(0, min(sizeof($chars['G']), $config['captcha_gd_fonts']) -1)],
1679			'H' =>	$chars['H'][mt_rand(0, min(sizeof($chars['H']), $config['captcha_gd_fonts']) -1)],
1680			'I' =>	$chars['I'][mt_rand(0, min(sizeof($chars['I']), $config['captcha_gd_fonts']) -1)],
1681			'J' =>	$chars['J'][mt_rand(0, min(sizeof($chars['J']), $config['captcha_gd_fonts']) -1)],
1682			'K' =>	$chars['K'][mt_rand(0, min(sizeof($chars['K']), $config['captcha_gd_fonts']) -1)],
1683			'L' =>	$chars['L'][mt_rand(0, min(sizeof($chars['L']), $config['captcha_gd_fonts']) -1)],
1684			'M' =>	$chars['M'][mt_rand(0, min(sizeof($chars['M']), $config['captcha_gd_fonts']) -1)],  
1685			'N' =>	$chars['N'][mt_rand(0, min(sizeof($chars['N']), $config['captcha_gd_fonts']) -1)],
1686			'O' =>	$chars['O'][mt_rand(0, min(sizeof($chars['O']), $config['captcha_gd_fonts']) -1)],
1687			'P' =>	$chars['P'][mt_rand(0, min(sizeof($chars['P']), $config['captcha_gd_fonts']) -1)],
1688			'Q' =>	$chars['Q'][mt_rand(0, min(sizeof($chars['

Large files files are truncated, but you can click here to view the full file