[ Index ]

PHP Cross Reference of phpBB-3.3.11-deutsch

title

Body

[close]

/phpbb/captcha/ -> gd.php (source)

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


Generated: Sat Nov 4 14:26:03 2023 Cross-referenced by PHPXref 0.7.1