Verzeichnisstruktur phpBB-3.2.0
- Veröffentlicht
- 06.01.2017
So funktioniert es
|
Auf das letzte Element klicken. Dies geht jeweils ein Schritt zurück |
Auf das Icon klicken, dies öffnet das Verzeichnis. Nochmal klicken schließt das Verzeichnis. |
|
(Beispiel Datei-Icons)
|
Auf das Icon klicken um den Quellcode anzuzeigen |
gd.php
0001 <?php
0002 /**
0003 *
0004 * This file is part of the phpBB Forum Software package.
0005 *
0006 * @copyright (c) phpBB Limited <https://www.phpbb.com>
0007 * @license GNU General Public License, version 2 (GPL-2.0)
0008 *
0009 * For full copyright and license information, please see
0010 * the docs/CREDITS.txt file.
0011 *
0012 */
0013
0014 namespace phpbb\captcha;
0015
0016 class gd
0017 {
0018 var $width = 360;
0019 var $height = 96;
0020
0021 /**
0022 * Create the image containing $code with a seed of $seed
0023 */
0024 function execute($code, $seed)
0025 {
0026 global $config;
0027
0028 mt_srand($seed);
0029
0030 // Create image
0031 $img = imagecreatetruecolor($this->width, $this->height);
0032
0033 // Generate colours
0034 $colour = new colour_manager($img, array(
0035 'random' => true,
0036 'min_value' => 60,
0037 ), 'hsv');
0038
0039 $scheme = $colour->colour_scheme('background', false);
0040 $scheme = $colour->mono_range($scheme, 10, false);
0041 shuffle($scheme);
0042
0043 $bg_colours = array_splice($scheme, mt_rand(6, 12));
0044
0045 // Generate code characters
0046 $characters = $sizes = $bounding_boxes = $noise = array();
0047 $width_avail = $this->width - 15;
0048 $code_len = strlen($code);
0049 $captcha_bitmaps = $this->captcha_bitmaps();
0050
0051 for ($i = 0; $i < $code_len; ++$i)
0052 {
0053 $characters[$i] = new char_cube3d($captcha_bitmaps, $code[$i]);
0054
0055 list($min, $max) = $characters[$i]->range();
0056 $sizes[$i] = mt_rand($min, $max);
0057
0058 $box = $characters[$i]->dimensions($sizes[$i]);
0059 $width_avail -= ($box[2] - $box[0]);
0060 $bounding_boxes[$i] = $box;
0061 }
0062
0063 // Redistribute leftover x-space
0064 $offset = array();
0065 for ($i = 0; $i < $code_len; ++$i)
0066 {
0067 $denom = ($code_len - $i);
0068 $denom = max(1.3, $denom);
0069 $offset[$i] = phpbb_mt_rand(0, (int) round((1.5 * $width_avail) / $denom));
0070 $width_avail -= $offset[$i];
0071 }
0072
0073 if ($config['captcha_gd_x_grid'])
0074 {
0075 $grid = (int) $config['captcha_gd_x_grid'];
0076 for ($y = 0; $y < $this->height; $y += mt_rand($grid - 2, $grid + 2))
0077 {
0078 $current_colour = $scheme[array_rand($scheme)];
0079 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);
0080 }
0081 }
0082
0083 if ($config['captcha_gd_y_grid'])
0084 {
0085 $grid = (int) $config['captcha_gd_y_grid'];
0086 for ($x = 0; $x < $this->width; $x += mt_rand($grid - 2, $grid + 2))
0087 {
0088 $current_colour = $scheme[array_rand($scheme)];
0089 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);
0090 }
0091 }
0092
0093 if ($config['captcha_gd_wave'] && ($config['captcha_gd_y_grid'] || $config['captcha_gd_y_grid']))
0094 {
0095 $this->wave($img);
0096 }
0097
0098 if ($config['captcha_gd_3d_noise'])
0099 {
0100 $noise_bitmaps = $this->captcha_noise_bg_bitmaps();
0101 for ($i = 0; $i < $code_len; ++$i)
0102 {
0103 $noise[$i] = new char_cube3d($noise_bitmaps, mt_rand(1, sizeof($noise_bitmaps['data'])));
0104
0105 $noise[$i]->range();
0106 //$box = $noise[$i]->dimensions($sizes[$i]);
0107 }
0108 $xoffset = 0;
0109 for ($i = 0; $i < $code_len; ++$i)
0110 {
0111 $dimm = $bounding_boxes[$i];
0112 $xoffset += ($offset[$i] - $dimm[0]);
0113 $yoffset = mt_rand(-$dimm[1], $this->height - $dimm[3]);
0114
0115 $noise[$i]->drawchar($sizes[$i], $xoffset, $yoffset, $img, $colour->get_resource('background'), $scheme);
0116 $xoffset += $dimm[2];
0117 }
0118 }
0119
0120 $xoffset = 5;
0121 for ($i = 0; $i < $code_len; ++$i)
0122 {
0123 $dimm = $bounding_boxes[$i];
0124 $xoffset += ($offset[$i] - $dimm[0]);
0125 $yoffset = mt_rand(-$dimm[1], $this->height - $dimm[3]);
0126
0127 $characters[$i]->drawchar($sizes[$i], $xoffset, $yoffset, $img, $colour->get_resource('background'), $scheme);
0128 $xoffset += $dimm[2];
0129 }
0130
0131 if ($config['captcha_gd_wave'])
0132 {
0133 $this->wave($img);
0134 }
0135
0136 if ($config['captcha_gd_foreground_noise'])
0137 {
0138 $this->noise_line($img, 0, 0, $this->width, $this->height, $colour->get_resource('background'), $scheme, $bg_colours);
0139 }
0140
0141 // Send image
0142 header('Content-Type: image/png');
0143 header('Cache-control: no-cache, no-store');
0144 imagepng($img);
0145 imagedestroy($img);
0146 }
0147
0148 /**
0149 * Sinus
0150 */
0151 function wave($img)
0152 {
0153 $period_x = mt_rand(12,18);
0154 $period_y = mt_rand(7,14);
0155 $amp_x = mt_rand(5,10);
0156 $amp_y = mt_rand(2,4);
0157 $socket = mt_rand(0,100);
0158
0159 $dampen_x = mt_rand($this->width/5, $this->width/2);
0160 $dampen_y = mt_rand($this->height/5, $this->height/2);
0161 $direction_x = (mt_rand (0, 1));
0162 $direction_y = (mt_rand (0, 1));
0163
0164 for ($i = 0; $i < $this->width; $i++)
0165 {
0166 $dir = ($direction_x) ? $i : ($this->width - $i);
0167 imagecopy($img, $img, $i-1, sin($socket+ $i/($period_x + $dir/$dampen_x)) * $amp_x, $i, 0, 1, $this->height);
0168 }
0169 $socket = mt_rand(0,100);
0170 for ($i = 0; $i < $this->height; $i++)
0171 {
0172 $dir = ($direction_y) ? $i : ($this->height - $i);
0173 imagecopy($img, $img ,sin($socket + $i/($period_y + ($dir)/$dampen_y)) * $amp_y, $i-1, 0, $i, $this->width, 1);
0174 }
0175 return $img;
0176 }
0177
0178 /**
0179 * Noise line
0180 */
0181 function noise_line($img, $min_x, $min_y, $max_x, $max_y, $bg, $font, $non_font)
0182 {
0183 imagesetthickness($img, 2);
0184
0185 $x1 = $min_x;
0186 $x2 = $max_x;
0187 $y1 = $min_y;
0188 $y2 = $min_y;
0189
0190 do
0191 {
0192 $line = array_merge(
0193 array_fill(0, mt_rand(30, 60), $non_font[array_rand($non_font)]),
0194 array_fill(0, mt_rand(30, 60), $bg)
0195 );
0196
0197 imagesetstyle($img, $line);
0198 imageline($img, $x1, $y1, $x2, $y2, IMG_COLOR_STYLED);
0199
0200 $y1 += mt_rand(12, 35);
0201 $y2 += mt_rand(12, 35);
0202 }
0203 while ($y1 < $max_y && $y2 < $max_y);
0204
0205 $x1 = $min_x;
0206 $x2 = $min_x;
0207 $y1 = $min_y;
0208 $y2 = $max_y;
0209
0210 do
0211 {
0212 $line = array_merge(
0213 array_fill(0, mt_rand(30, 60), $non_font[array_rand($non_font)]),
0214 array_fill(0, mt_rand(30, 60), $bg)
0215 );
0216
0217 imagesetstyle($img, $line);
0218 imageline($img, $x1, $y1, $x2, $y2, IMG_COLOR_STYLED);
0219
0220 $x1 += mt_rand(20, 35);
0221 $x2 += mt_rand(20, 35);
0222 }
0223 while ($x1 < $max_x && $x2 < $max_x);
0224 imagesetthickness($img, 1);
0225 }
0226
0227 function captcha_noise_bg_bitmaps()
0228 {
0229 return array(
0230 'width' => 15,
0231 'height' => 5,
0232 'data' => array(
0233
0234 1 => array(
0235 array(1,0,0,0,1,0,0,0,0,0,0,0,0,0,0),
0236 array(1,0,0,0,0,1,0,0,0,0,0,0,0,0,0),
0237 array(1,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
0238 array(1,0,0,0,0,1,0,0,0,0,0,0,1,0,0),
0239 array(1,0,0,0,0,0,1,0,0,0,0,1,0,0,0),
0240 ),
0241 2 => array(
0242 array(1,1,mt_rand(0,1),1,0,1,1,1,1,0,0,0,0,0,0),
0243 array(0,0,0,0,0,0,0,1,0,0,0,0,0,0,0),
0244 array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
0245 array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
0246 array(0,0,0,0,0,0,0,0,0,1,1,0,1,1,1),
0247 ),
0248 3 => array(
0249 array(1,0,0,0,0,0,0,0,0,0,0,0,0,0,1),
0250 array(1,0,0,0,0,0,0,0,0,0,0,0,0,1,0),
0251 array(0,0,0,0,1,0,0,0,0,0,0,0,0,0,1),
0252 array(1,0,0,0,0,0,0,0,0,0,0,0,0,1,0),
0253 array(1,0,0,0,0,0,0,0,0,0,0,0,0,0,1),
0254 ),
0255 4 => array(
0256 array(1,0,1,0,1,0,0,1,1,0,0,0,0,0,0),
0257 array(0,0,0,0,0,0,0,1,0,0,0,0,0,0,0),
0258 array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
0259 array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
0260 array(1,0,1,0,0,0,0,0,0,0,0,0,0,0,0),
0261 ),
0262 5 => array(
0263 array(1,1,1,1,0,0,0,1,1,1,0,0,1,0,1),
0264 array(0,0,0,0,0,0,0,1,0,0,0,0,0,0,0),
0265 array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
0266 array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
0267 array(1,0,1,0,0,0,0,0,0,0,0,0,0,0,0),
0268 ),
0269 6 => array(
0270 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)),
0271 array(0,0,0,0,0,0,0,mt_rand(0,1),0,0,0,0,0,0,0),
0272 array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
0273 array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
0274 array(mt_rand(0,1),0,mt_rand(0,1),0,0,0,0,0,0,0,0,0,0,0,0),
0275 ),
0276 7 => array(
0277 array(0,0,0,0,0,0,0,0,0,0,1,1,0,1,1),
0278 array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
0279 array(0,0,1,1,0,0,0,1,0,0,0,0,0,0,0),
0280 array(0,1,0,0,0,1,0,0,0,0,0,0,0,0,0),
0281 array(1,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
0282 ),
0283 ));
0284 }
0285
0286 /**
0287 * Return bitmaps
0288 */
0289 function captcha_bitmaps()
0290 {
0291 global $config;
0292
0293 $chars = array(
0294 'A' => array(
0295 array(
0296 array(0,0,0,0,1,0,0,0,0),
0297 array(0,0,0,1,0,1,0,0,0),
0298 array(0,0,0,1,0,1,0,0,0),
0299 array(0,0,0,1,0,1,0,0,0),
0300 array(0,0,1,0,0,0,1,0,0),
0301 array(0,0,1,0,0,0,1,0,0),
0302 array(0,0,1,0,0,0,1,0,0),
0303 array(0,1,0,0,0,0,0,1,0),
0304 array(0,1,0,0,0,0,0,1,0),
0305 array(0,1,1,1,1,1,1,1,0),
0306 array(0,1,0,0,0,0,0,1,0),
0307 array(1,0,0,0,0,0,0,0,1),
0308 array(1,0,0,0,0,0,0,0,1),
0309 array(1,0,0,0,0,0,0,0,1),
0310 array(1,0,0,0,0,0,0,0,1),
0311 ),
0312 array(
0313 array(0,0,0,0,0,0,0,0,0),
0314 array(0,0,0,0,0,0,0,0,0),
0315 array(0,0,0,0,1,0,0,0,0),
0316 array(0,0,0,1,0,1,0,0,0),
0317 array(0,0,1,1,0,1,1,0,0),
0318 array(0,0,1,0,0,0,1,0,0),
0319 array(0,1,0,0,0,0,0,1,0),
0320 array(0,1,0,0,0,0,0,1,0),
0321 array(0,1,1,1,1,1,1,1,0),
0322 array(0,1,0,0,0,0,0,1,0),
0323 array(0,1,0,0,0,0,0,1,0),
0324 array(0,1,0,0,0,0,0,1,0),
0325 array(0,1,0,0,0,0,0,1,0),
0326 array(0,1,0,0,0,0,0,1,0),
0327 array(1,1,1,0,0,0,1,1,1),
0328 ),
0329 array(
0330 array(0,0,0,0,0,0,0,0,0),
0331 array(0,0,0,0,0,0,0,0,0),
0332 array(0,0,0,0,0,0,0,0,0),
0333 array(0,0,0,0,0,0,0,0,0),
0334 array(0,0,1,1,1,1,1,0,0),
0335 array(0,1,1,0,0,0,1,1,0),
0336 array(1,1,0,0,0,0,0,1,1),
0337 array(1,0,0,0,0,0,0,0,1),
0338 array(0,0,0,0,0,0,0,1,1),
0339 array(0,0,0,0,0,1,1,1,1),
0340 array(0,0,0,1,1,1,0,0,1),
0341 array(0,1,1,1,0,0,0,0,1),
0342 array(1,0,0,0,0,0,0,0,1),
0343 array(1,1,0,0,0,0,1,1,1),
0344 array(0,1,1,1,1,1,1,0,1),
0345 ),
0346 ),
0347 'B' => array(
0348 array(
0349 array(1,1,1,1,1,1,1,0,0),
0350 array(1,0,0,0,0,0,0,1,0),
0351 array(1,0,0,0,0,0,0,0,1),
0352 array(1,0,0,0,0,0,0,0,1),
0353 array(1,0,0,0,0,0,0,0,1),
0354 array(1,0,0,0,0,0,0,0,1),
0355 array(1,0,0,0,0,0,0,1,0),
0356 array(1,1,1,1,1,1,1,0,0),
0357 array(1,0,0,0,0,0,0,1,0),
0358 array(1,0,0,0,0,0,0,0,1),
0359 array(1,0,0,0,0,0,0,0,1),
0360 array(1,0,0,0,0,0,0,0,1),
0361 array(1,0,0,0,0,0,0,0,1),
0362 array(1,0,0,0,0,0,0,1,0),
0363 array(1,1,1,1,1,1,1,0,0),
0364 ),
0365 array(
0366 array(1,1,1,1,1,1,1,0,0),
0367 array(0,1,0,0,0,0,0,1,0),
0368 array(0,1,0,0,0,0,0,0,1),
0369 array(0,1,0,0,0,0,0,0,1),
0370 array(0,1,0,0,0,0,0,0,1),
0371 array(0,1,0,0,0,0,0,0,1),
0372 array(0,1,0,0,0,0,0,1,0),
0373 array(0,1,1,1,1,1,1,0,0),
0374 array(0,1,0,0,0,0,0,1,0),
0375 array(0,1,0,0,0,0,0,0,1),
0376 array(0,1,0,0,0,0,0,0,1),
0377 array(0,1,0,0,0,0,0,0,1),
0378 array(0,1,0,0,0,0,0,0,1),
0379 array(0,1,0,0,0,0,0,1,0),
0380 array(1,1,1,1,1,1,1,0,0),
0381 ),
0382 array(
0383 array(0,1,0,0,0,0,0,0,0),
0384 array(0,1,0,0,0,0,0,0,0),
0385 array(0,1,0,0,0,0,0,0,0),
0386 array(0,1,0,0,0,0,0,0,0),
0387 array(0,1,0,0,0,0,0,0,0),
0388 array(0,1,0,0,0,0,0,0,0),
0389 array(0,1,0,0,0,0,0,0,0),
0390 array(0,1,1,1,1,1,1,0,0),
0391 array(0,1,0,0,0,0,0,1,0),
0392 array(0,1,0,0,0,0,0,0,1),
0393 array(0,1,0,0,0,0,0,0,1),
0394 array(0,1,0,0,0,0,0,0,1),
0395 array(0,1,0,0,0,0,0,0,1),
0396 array(0,1,0,0,0,0,0,1,0),
0397 array(0,1,1,1,1,1,1,0,0),
0398 ),
0399 ),
0400 'C' => array(
0401 array(
0402 array(0,0,1,1,1,1,1,0,0),
0403 array(0,1,0,0,0,0,0,1,0),
0404 array(1,0,0,0,0,0,0,0,1),
0405 array(1,0,0,0,0,0,0,0,1),
0406 array(1,0,0,0,0,0,0,0,0),
0407 array(1,0,0,0,0,0,0,0,0),
0408 array(1,0,0,0,0,0,0,0,0),
0409 array(1,0,0,0,0,0,0,0,0),
0410 array(1,0,0,0,0,0,0,0,0),
0411 array(1,0,0,0,0,0,0,0,0),
0412 array(1,0,0,0,0,0,0,0,0),
0413 array(1,0,0,0,0,0,0,0,1),
0414 array(1,0,0,0,0,0,0,0,1),
0415 array(0,1,0,0,0,0,0,1,0),
0416 array(0,0,1,1,1,1,1,0,0),
0417 ),
0418 array(
0419 array(0,0,1,1,1,1,1,0,1),
0420 array(0,1,0,0,0,0,0,1,1),
0421 array(1,0,0,0,0,0,0,0,1),
0422 array(1,0,0,0,0,0,0,0,1),
0423 array(1,0,0,0,0,0,0,0,0),
0424 array(1,0,0,0,0,0,0,0,0),
0425 array(1,0,0,0,0,0,0,0,0),
0426 array(1,0,0,0,0,0,0,0,0),
0427 array(1,0,0,0,0,0,0,0,0),
0428 array(1,0,0,0,0,0,0,0,0),
0429 array(1,0,0,0,0,0,0,0,0),
0430 array(1,0,0,0,0,0,0,0,1),
0431 array(1,0,0,0,0,0,0,0,1),
0432 array(0,1,0,0,0,0,0,1,1),
0433 array(0,0,1,1,1,1,1,0,1),
0434 ),
0435 ),
0436 'D' => array(
0437 array(
0438 array(1,1,1,1,1,1,1,0,0),
0439 array(1,0,0,0,0,0,0,1,0),
0440 array(1,0,0,0,0,0,0,0,1),
0441 array(1,0,0,0,0,0,0,0,1),
0442 array(1,0,0,0,0,0,0,0,1),
0443 array(1,0,0,0,0,0,0,0,1),
0444 array(1,0,0,0,0,0,0,0,1),
0445 array(1,0,0,0,0,0,0,0,1),
0446 array(1,0,0,0,0,0,0,0,1),
0447 array(1,0,0,0,0,0,0,0,1),
0448 array(1,0,0,0,0,0,0,0,1),
0449 array(1,0,0,0,0,0,0,0,1),
0450 array(1,0,0,0,0,0,0,0,1),
0451 array(1,0,0,0,0,0,0,1,0),
0452 array(1,1,1,1,1,1,1,0,0),
0453 ),
0454 array(
0455 array(1,1,1,1,1,1,1,0,0),
0456 array(0,1,0,0,0,0,0,1,0),
0457 array(0,1,0,0,0,0,0,0,1),
0458 array(0,1,0,0,0,0,0,0,1),
0459 array(0,1,0,0,0,0,0,0,1),
0460 array(0,1,0,0,0,0,0,0,1),
0461 array(0,1,0,0,0,0,0,0,1),
0462 array(0,1,0,0,0,0,0,0,1),
0463 array(0,1,0,0,0,0,0,0,1),
0464 array(0,1,0,0,0,0,0,0,1),
0465 array(0,1,0,0,0,0,0,0,1),
0466 array(0,1,0,0,0,0,0,0,1),
0467 array(0,1,0,0,0,0,0,0,1),
0468 array(0,1,0,0,0,0,0,1,0),
0469 array(1,1,1,1,1,1,1,0,0),
0470 ),
0471 array(
0472 array(0,0,0,0,0,0,0,0,1),
0473 array(0,0,0,0,0,0,0,0,1),
0474 array(0,0,0,0,0,0,0,0,1),
0475 array(0,0,0,0,0,0,0,0,1),
0476 array(0,0,0,0,0,0,0,0,1),
0477 array(0,0,0,0,0,0,0,0,1),
0478 array(0,0,0,0,0,0,0,0,1),
0479 array(0,0,1,1,1,1,1,0,1),
0480 array(0,1,1,0,0,0,1,1,1),
0481 array(0,1,0,0,0,0,0,0,1),
0482 array(0,1,0,0,0,0,0,0,1),
0483 array(0,1,0,0,0,0,0,0,1),
0484 array(0,1,0,0,0,0,0,0,1),
0485 array(0,1,1,0,0,0,1,1,1),
0486 array(0,0,1,1,1,1,1,0,1),
0487 ),
0488 ),
0489 'E' => array(
0490 array(
0491 array(1,1,1,1,1,1,1,1,1),
0492 array(1,0,0,0,0,0,0,0,0),
0493 array(1,0,0,0,0,0,0,0,0),
0494 array(1,0,0,0,0,0,0,0,0),
0495 array(1,0,0,0,0,0,0,0,0),
0496 array(1,0,0,0,0,0,0,0,0),
0497 array(1,0,0,0,0,0,0,0,0),
0498 array(1,1,1,1,1,1,1,1,0),
0499 array(1,0,0,0,0,0,0,0,0),
0500 array(1,0,0,0,0,0,0,0,0),
0501 array(1,0,0,0,0,0,0,0,0),
0502 array(1,0,0,0,0,0,0,0,0),
0503 array(1,0,0,0,0,0,0,0,0),
0504 array(1,0,0,0,0,0,0,0,0),
0505 array(1,1,1,1,1,1,1,1,1),
0506 ),
0507 array(
0508 array(1,1,1,1,1,1,1,1,1),
0509 array(1,0,0,0,0,0,0,0,1),
0510 array(1,0,0,0,0,0,0,0,0),
0511 array(1,0,0,0,0,0,0,0,0),
0512 array(1,0,0,0,0,0,0,0,0),
0513 array(1,0,0,0,0,0,0,0,0),
0514 array(1,0,0,0,0,0,0,0,0),
0515 array(1,1,1,1,1,1,1,0,0),
0516 array(1,0,0,0,0,0,0,0,0),
0517 array(1,0,0,0,0,0,0,0,0),
0518 array(1,0,0,0,0,0,0,0,0),
0519 array(1,0,0,0,0,0,0,0,0),
0520 array(1,0,0,0,0,0,0,0,0),
0521 array(1,0,0,0,0,0,0,0,1),
0522 array(1,1,1,1,1,1,1,1,1),
0523 ),
0524 array(
0525 array(0,0,0,0,0,0,0,0,0),
0526 array(0,0,0,0,0,0,0,0,0),
0527 array(0,0,0,0,0,0,0,0,0),
0528 array(0,0,0,0,0,0,0,0,0),
0529 array(0,0,0,0,0,0,0,0,0),
0530 array(0,0,0,0,0,0,0,0,0),
0531 array(0,0,0,0,0,0,0,0,0),
0532 array(0,0,1,1,1,1,1,0,0),
0533 array(0,1,1,0,0,0,1,1,0),
0534 array(1,1,0,0,0,0,0,1,1),
0535 array(1,1,1,1,1,1,1,1,1),
0536 array(1,0,0,0,0,0,0,0,0),
0537 array(1,0,0,0,0,0,0,0,1),
0538 array(1,1,0,0,0,0,0,1,1),
0539 array(0,1,1,1,1,1,1,1,0),
0540 ),
0541 ),
0542 'F' => array(
0543 array(
0544 array(1,1,1,1,1,1,1,1,1),
0545 array(1,0,0,0,0,0,0,0,0),
0546 array(1,0,0,0,0,0,0,0,0),
0547 array(1,0,0,0,0,0,0,0,0),
0548 array(1,0,0,0,0,0,0,0,0),
0549 array(1,0,0,0,0,0,0,0,0),
0550 array(1,0,0,0,0,0,0,0,0),
0551 array(1,1,1,1,1,1,1,0,0),
0552 array(1,0,0,0,0,0,0,0,0),
0553 array(1,0,0,0,0,0,0,0,0),
0554 array(1,0,0,0,0,0,0,0,0),
0555 array(1,0,0,0,0,0,0,0,0),
0556 array(1,0,0,0,0,0,0,0,0),
0557 array(1,0,0,0,0,0,0,0,0),
0558 array(1,0,0,0,0,0,0,0,0),
0559 ),
0560 array(
0561 array(0,1,1,1,1,1,1,1,1),
0562 array(0,1,0,0,0,0,0,0,1),
0563 array(0,1,0,0,0,0,0,0,0),
0564 array(0,1,0,0,0,0,0,0,0),
0565 array(0,1,0,0,0,0,0,0,0),
0566 array(0,1,0,0,0,0,0,0,0),
0567 array(0,1,0,0,0,0,0,0,0),
0568 array(0,1,1,1,1,1,1,0,0),
0569 array(0,1,0,0,0,0,0,0,0),
0570 array(0,1,0,0,0,0,0,0,0),
0571 array(0,1,0,0,0,0,0,0,0),
0572 array(0,1,0,0,0,0,0,0,0),
0573 array(0,1,0,0,0,0,0,0,0),
0574 array(0,1,0,0,0,0,0,0,0),
0575 array(1,1,1,0,0,0,0,0,0),
0576 ),
0577 array(
0578 array(0,0,0,1,1,0,0,0,0),
0579 array(0,0,1,1,0,0,0,0,0),
0580 array(0,1,1,0,0,0,0,0,0),
0581 array(0,1,0,0,0,0,0,0,0),
0582 array(0,1,0,0,0,0,0,0,0),
0583 array(1,1,1,1,0,0,0,0,0),
0584 array(0,1,0,0,0,0,0,0,0),
0585 array(0,1,0,0,0,0,0,0,0),
0586 array(0,1,0,0,0,0,0,0,0),
0587 array(0,1,0,0,0,0,0,0,0),
0588 array(0,1,0,0,0,0,0,0,0),
0589 array(0,1,0,0,0,0,0,0,0),
0590 array(0,1,0,0,0,0,0,0,0),
0591 array(0,1,0,0,0,0,0,0,0),
0592 array(0,1,0,0,0,0,0,0,0),
0593 ),
0594 ),
0595 'G' => array(
0596 array(
0597 array(0,0,1,1,1,1,1,0,0),
0598 array(0,1,0,0,0,0,0,1,0),
0599 array(1,0,0,0,0,0,0,0,1),
0600 array(1,0,0,0,0,0,0,0,0),
0601 array(1,0,0,0,0,0,0,0,0),
0602 array(1,0,0,0,0,0,0,0,0),
0603 array(1,0,0,0,0,0,0,0,0),
0604 array(1,0,0,0,0,0,0,0,0),
0605 array(1,0,0,0,0,0,1,1,1),
0606 array(1,0,0,0,0,0,0,0,1),
0607 array(1,0,0,0,0,0,0,0,1),
0608 array(1,0,0,0,0,0,0,0,1),
0609 array(1,0,0,0,0,0,0,0,1),
0610 array(0,1,0,0,0,0,0,1,0),
0611 array(0,0,1,1,1,1,1,0,0),
0612 ),
0613 array(
0614 array(0,0,1,1,1,1,1,0,1),
0615 array(0,1,0,0,0,0,0,1,1),
0616 array(1,0,0,0,0,0,0,0,1),
0617 array(1,0,0,0,0,0,0,0,0),
0618 array(1,0,0,0,0,0,0,0,0),
0619 array(1,0,0,0,0,0,0,0,0),
0620 array(1,0,0,0,0,0,0,0,0),
0621 array(1,0,0,0,0,0,0,0,0),
0622 array(1,0,0,0,1,1,1,1,1),
0623 array(1,0,0,0,1,0,0,0,1),
0624 array(1,0,0,0,1,0,0,0,1),
0625 array(1,0,0,0,0,0,0,0,1),
0626 array(1,0,0,0,0,0,0,0,1),
0627 array(0,1,0,0,0,0,0,1,1),
0628 array(0,0,1,1,1,1,1,0,1),
0629 ),
0630 array(
0631 array(0,0,1,1,1,1,1,0,1),
0632 array(0,1,1,0,0,0,0,1,1),
0633 array(1,1,0,0,0,0,0,1,1),
0634 array(1,0,0,0,0,0,0,0,1),
0635 array(1,0,0,0,0,0,0,0,1),
0636 array(1,1,1,0,0,0,0,0,1),
0637 array(0,0,1,1,1,1,1,1,1),
0638 array(0,0,0,0,0,0,0,0,1),
0639 array(0,0,0,0,0,0,0,0,1),
0640 array(0,0,0,0,0,0,0,0,1),
0641 array(0,0,0,0,0,0,0,0,1),
0642 array(0,0,0,0,0,0,0,1,1),
0643 array(1,1,1,1,1,1,1,1,0),
0644 array(0,0,0,0,0,0,0,0,0),
0645 array(0,0,0,0,0,0,0,0,0),
0646 ),
0647 ),
0648 'H' => array(
0649 array(
0650 array(1,0,0,0,0,0,0,0,1),
0651 array(1,0,0,0,0,0,0,0,1),
0652 array(1,0,0,0,0,0,0,0,1),
0653 array(1,0,0,0,0,0,0,0,1),
0654 array(1,0,0,0,0,0,0,0,1),
0655 array(1,0,0,0,0,0,0,0,1),
0656 array(1,0,0,0,0,0,0,0,1),
0657 array(1,1,1,1,1,1,1,1,1),
0658 array(1,0,0,0,0,0,0,0,1),
0659 array(1,0,0,0,0,0,0,0,1),
0660 array(1,0,0,0,0,0,0,0,1),
0661 array(1,0,0,0,0,0,0,0,1),
0662 array(1,0,0,0,0,0,0,0,1),
0663 array(1,0,0,0,0,0,0,0,1),
0664 array(1,0,0,0,0,0,0,0,1),
0665 ),
0666 array(
0667 array(1,1,1,0,0,0,1,1,1),
0668 array(0,1,0,0,0,0,0,1,0),
0669 array(0,1,0,0,0,0,0,1,0),
0670 array(0,1,0,0,0,0,0,1,0),
0671 array(0,1,0,0,0,0,0,1,0),
0672 array(0,1,0,0,0,0,0,1,0),
0673 array(0,1,0,0,0,0,0,1,0),
0674 array(0,1,1,1,1,1,1,1,0),
0675 array(0,1,0,0,0,0,0,1,0),
0676 array(0,1,0,0,0,0,0,1,0),
0677 array(0,1,0,0,0,0,0,1,0),
0678 array(0,1,0,0,0,0,0,1,0),
0679 array(0,1,0,0,0,0,0,1,0),
0680 array(0,1,0,0,0,0,0,1,0),
0681 array(1,1,1,0,0,0,1,1,1),
0682 ),
0683 array(
0684 array(1,0,0,0,0,0,0,0,0),
0685 array(1,0,0,0,0,0,0,0,0),
0686 array(1,0,0,0,0,0,0,0,0),
0687 array(1,0,0,0,0,0,0,0,0),
0688 array(1,0,0,0,0,0,0,0,0),
0689 array(1,0,0,0,0,0,0,0,0),
0690 array(1,0,0,0,0,0,0,0,0),
0691 array(1,0,0,1,1,1,0,0,0),
0692 array(1,1,1,1,0,1,1,0,0),
0693 array(1,0,0,0,0,0,1,0,0),
0694 array(1,0,0,0,0,0,1,0,0),
0695 array(1,0,0,0,0,0,1,0,0),
0696 array(1,0,0,0,0,0,1,0,0),
0697 array(1,0,0,0,0,0,1,0,0),
0698 array(1,0,0,0,0,0,1,0,0),
0699 ),
0700 ),
0701 'I' => array(
0702 array(
0703 array(1,1,1,1,1,1,1,1,1),
0704 array(0,0,0,0,1,0,0,0,0),
0705 array(0,0,0,0,1,0,0,0,0),
0706 array(0,0,0,0,1,0,0,0,0),
0707 array(0,0,0,0,1,0,0,0,0),
0708 array(0,0,0,0,1,0,0,0,0),
0709 array(0,0,0,0,1,0,0,0,0),
0710 array(0,0,0,0,1,0,0,0,0),
0711 array(0,0,0,0,1,0,0,0,0),
0712 array(0,0,0,0,1,0,0,0,0),
0713 array(0,0,0,0,1,0,0,0,0),
0714 array(0,0,0,0,1,0,0,0,0),
0715 array(0,0,0,0,1,0,0,0,0),
0716 array(0,0,0,0,1,0,0,0,0),
0717 array(1,1,1,1,1,1,1,1,1),
0718 ),
0719 array(
0720 array(0,0,0,1,1,1,0,0,0),
0721 array(0,0,0,0,1,0,0,0,0),
0722 array(0,0,0,0,1,0,0,0,0),
0723 array(0,0,0,0,1,0,0,0,0),
0724 array(0,0,0,0,1,0,0,0,0),
0725 array(0,0,0,0,1,0,0,0,0),
0726 array(0,0,0,0,1,0,0,0,0),
0727 array(0,0,0,0,1,0,0,0,0),
0728 array(0,0,0,0,1,0,0,0,0),
0729 array(0,0,0,0,1,0,0,0,0),
0730 array(0,0,0,0,1,0,0,0,0),
0731 array(0,0,0,0,1,0,0,0,0),
0732 array(0,0,0,0,1,0,0,0,0),
0733 array(0,0,0,0,1,0,0,0,0),
0734 array(0,0,0,1,1,1,0,0,0),
0735 ),
0736 array(
0737 array(0,0,0,0,0,0,0,0,0),
0738 array(0,0,0,0,0,0,0,0,0),
0739 array(0,0,0,0,0,0,0,0,0),
0740 array(0,0,0,0,1,0,0,0,0),
0741 array(0,0,0,1,1,1,0,0,0),
0742 array(0,0,0,0,1,0,0,0,0),
0743 array(0,0,0,0,0,0,0,0,0),
0744 array(0,0,0,0,1,0,0,0,0),
0745 array(0,0,0,0,1,0,0,0,0),
0746 array(0,0,0,0,1,0,0,0,0),
0747 array(0,0,0,0,1,0,0,0,0),
0748 array(0,0,0,0,1,0,0,0,0),
0749 array(0,0,0,0,1,0,0,0,0),
0750 array(0,0,0,0,1,0,0,0,0),
0751 array(0,0,0,1,1,1,0,0,0),
0752 ),
0753 ),
0754 'J' => array(
0755 array(
0756 array(1,1,1,1,1,1,1,1,1),
0757 array(0,0,0,0,0,1,0,0,0),
0758 array(0,0,0,0,0,1,0,0,0),
0759 array(0,0,0,0,0,1,0,0,0),
0760 array(0,0,0,0,0,1,0,0,0),
0761 array(0,0,0,0,0,1,0,0,0),
0762 array(0,0,0,0,0,1,0,0,0),
0763 array(0,0,0,0,0,1,0,0,0),
0764 array(0,0,0,0,0,1,0,0,0),
0765 array(0,0,0,0,0,1,0,0,0),
0766 array(0,0,0,0,0,1,0,0,0),
0767 array(1,0,0,0,0,1,0,0,0),
0768 array(1,0,0,0,0,1,0,0,0),
0769 array(0,1,0,0,1,0,0,0,0),
0770 array(0,0,1,1,0,0,0,0,0),
0771 ),
0772 array(
0773 array(1,1,1,1,1,1,1,1,1),
0774 array(0,0,0,0,0,1,0,0,0),
0775 array(0,0,0,0,0,1,0,0,0),
0776 array(0,0,0,0,0,1,0,0,0),
0777 array(0,0,0,0,0,1,0,0,0),
0778 array(0,0,0,0,0,1,0,0,0),
0779 array(0,0,0,0,0,1,0,0,0),
0780 array(0,0,0,0,0,1,0,0,0),
0781 array(0,0,0,0,0,1,0,0,0),
0782 array(0,0,0,0,0,1,0,0,0),
0783 array(0,0,0,0,0,1,0,0,0),
0784 array(1,0,0,0,0,1,0,0,0),
0785 array(1,0,0,0,0,1,0,0,0),
0786 array(1,1,0,0,1,0,0,0,0),
0787 array(1,0,1,1,0,0,0,0,0),
0788 ),
0789 array(
0790 array(0,0,0,0,0,0,0,0,0),
0791 array(0,0,0,0,0,0,0,0,0),
0792 array(0,0,0,0,0,0,0,0,0),
0793 array(0,0,0,0,0,0,0,0,0),
0794 array(0,0,0,0,0,1,0,0,0),
0795 array(0,0,0,0,0,0,0,0,0),
0796 array(0,0,0,0,0,1,0,0,0),
0797 array(0,0,0,0,0,1,0,0,0),
0798 array(0,0,0,0,0,1,0,0,0),
0799 array(0,0,0,0,0,1,0,0,0),
0800 array(0,0,0,0,0,1,0,0,0),
0801 array(1,0,0,0,0,1,0,0,0),
0802 array(1,0,0,0,0,1,0,0,0),
0803 array(0,1,0,0,1,0,0,0,0),
0804 array(0,0,1,1,0,0,0,0,0),
0805 ),
0806 ),
0807 'K' => array(
0808 array( // New 'K', supplied by NeoThermic
0809 array(1,0,0,0,0,0,0,0,1),
0810 array(1,0,0,0,0,0,0,1,0),
0811 array(1,0,0,0,0,0,1,0,0),
0812 array(1,0,0,0,0,1,0,0,0),
0813 array(1,0,0,0,1,0,0,0,0),
0814 array(1,0,0,1,0,0,0,0,0),
0815 array(1,0,1,0,0,0,0,0,0),
0816 array(1,1,0,0,0,0,0,0,0),
0817 array(1,0,1,0,0,0,0,0,0),
0818 array(1,0,0,1,0,0,0,0,0),
0819 array(1,0,0,0,1,0,0,0,0),
0820 array(1,0,0,0,0,1,0,0,0),
0821 array(1,0,0,0,0,0,1,0,0),
0822 array(1,0,0,0,0,0,0,1,0),
0823 array(1,0,0,0,0,0,0,0,1),
0824 ),
0825 array(
0826 array(0,1,0,0,0,0,0,0,1),
0827 array(0,1,0,0,0,0,0,1,0),
0828 array(0,1,0,0,0,0,1,0,0),
0829 array(0,1,0,0,0,1,0,0,0),
0830 array(0,1,0,0,1,0,0,0,0),
0831 array(0,1,0,1,0,0,0,0,0),
0832 array(0,1,1,0,0,0,0,0,0),
0833 array(0,1,0,0,0,0,0,0,0),
0834 array(0,1,1,0,0,0,0,0,0),
0835 array(0,1,0,1,0,0,0,0,0),
0836 array(0,1,0,0,1,0,0,0,0),
0837 array(0,1,0,0,0,1,0,0,0),
0838 array(0,1,0,0,0,0,1,0,0),
0839 array(0,1,0,0,0,0,0,1,0),
0840 array(1,1,1,0,0,0,1,1,1),
0841 ),
0842 array(
0843 array(0,0,0,0,0,0,0,0,0),
0844 array(0,1,0,0,0,0,0,0,0),
0845 array(0,1,0,0,0,0,0,0,0),
0846 array(0,1,0,0,0,1,0,0,0),
0847 array(0,1,0,0,1,0,0,0,0),
0848 array(0,1,0,1,0,0,0,0,0),
0849 array(0,1,1,0,0,0,0,0,0),
0850 array(0,1,0,0,0,0,0,0,0),
0851 array(0,1,1,0,0,0,0,0,0),
0852 array(0,1,0,1,0,0,0,0,0),
0853 array(0,1,0,0,1,0,0,0,0),
0854 array(0,1,0,0,0,1,0,0,0),
0855 array(0,1,0,0,0,0,1,0,0),
0856 array(0,1,0,0,0,0,0,1,0),
0857 array(0,1,0,0,0,0,0,1,0),
0858 ),
0859 ),
0860 'L' => array(
0861 array(
0862 array(0,0,0,0,0,0,0,0,0),
0863 array(1,0,0,0,0,0,0,0,0),
0864 array(1,0,0,0,0,0,0,0,0),
0865 array(1,0,0,0,0,0,0,0,0),
0866 array(1,0,0,0,0,0,0,0,0),
0867 array(1,0,0,0,0,0,0,0,0),
0868 array(1,0,0,0,0,0,0,0,0),
0869 array(1,0,0,0,0,0,0,0,0),
0870 array(1,0,0,0,0,0,0,0,0),
0871 array(1,0,0,0,0,0,0,0,0),
0872 array(1,0,0,0,0,0,0,0,0),
0873 array(1,0,0,0,0,0,0,0,0),
0874 array(1,0,0,0,0,0,0,0,0),
0875 array(1,0,0,0,0,0,0,0,0),
0876 array(1,1,1,1,1,1,1,1,1),
0877 ),
0878 array(
0879 array(0,0,0,0,0,0,0,0,0),
0880 array(0,1,0,0,0,0,0,0,0),
0881 array(0,1,0,0,0,0,0,0,0),
0882 array(0,1,0,0,0,0,0,0,0),
0883 array(0,1,0,0,0,0,0,0,0),
0884 array(0,1,0,0,0,0,0,0,0),
0885 array(0,1,0,0,0,0,0,0,0),
0886 array(0,1,0,0,0,0,0,0,0),
0887 array(0,1,0,0,0,0,0,0,0),
0888 array(0,1,0,0,0,0,0,0,0),
0889 array(0,1,0,0,0,0,0,0,0),
0890 array(0,1,0,0,0,0,0,0,0),
0891 array(0,1,0,0,0,0,0,0,0),
0892 array(0,1,0,0,0,0,0,0,1),
0893 array(1,1,1,1,1,1,1,1,1),
0894 ),
0895 array(
0896 array(0,0,0,0,0,0,0,0,0),
0897 array(0,1,0,0,0,0,0,0,0),
0898 array(0,1,0,0,0,0,0,0,0),
0899 array(0,1,0,0,0,0,0,0,0),
0900 array(0,1,0,0,0,0,0,0,0),
0901 array(0,1,0,0,0,0,0,0,0),
0902 array(0,1,0,0,0,0,0,0,0),
0903 array(0,1,0,0,0,0,0,0,0),
0904 array(0,1,0,0,0,0,0,0,0),
0905 array(0,1,0,0,0,0,0,0,0),
0906 array(0,1,0,0,0,0,0,0,0),
0907 array(0,1,0,0,0,0,0,0,0),
0908 array(0,1,0,0,0,0,0,0,0),
0909 array(0,1,1,0,0,0,0,0,0),
0910 array(0,0,1,1,1,0,0,0,0),
0911 ),
0912 ),
0913 'M' => array(
0914 array(
0915 array(1,1,0,0,0,0,0,1,1),
0916 array(1,1,0,0,0,0,0,1,1),
0917 array(1,0,1,0,0,0,1,0,1),
0918 array(1,0,1,0,0,0,1,0,1),
0919 array(1,0,1,0,0,0,1,0,1),
0920 array(1,0,0,1,0,1,0,0,1),
0921 array(1,0,0,1,0,1,0,0,1),
0922 array(1,0,0,1,0,1,0,0,1),
0923 array(1,0,0,0,1,0,0,0,1),
0924 array(1,0,0,0,1,0,0,0,1),
0925 array(1,0,0,0,0,0,0,0,1),
0926 array(1,0,0,0,0,0,0,0,1),
0927 array(1,0,0,0,0,0,0,0,1),
0928 array(1,0,0,0,0,0,0,0,1),
0929 array(1,0,0,0,0,0,0,0,1),
0930 ),
0931 array(
0932 array(0,0,0,0,0,0,0,0,0),
0933 array(0,1,0,0,0,0,0,1,0),
0934 array(0,1,1,0,0,0,1,1,0),
0935 array(0,1,1,0,0,0,1,1,0),
0936 array(0,1,1,0,0,0,1,1,0),
0937 array(0,1,0,1,0,1,0,1,0),
0938 array(0,1,0,1,0,1,0,1,0),
0939 array(0,1,0,1,0,1,0,1,0),
0940 array(0,1,0,0,1,0,0,1,0),
0941 array(0,1,0,0,1,0,0,1,0),
0942 array(0,1,0,0,0,0,0,1,0),
0943 array(0,1,0,0,0,0,0,1,0),
0944 array(0,1,0,0,0,0,0,1,0),
0945 array(0,1,0,0,0,0,0,1,0),
0946 array(1,1,1,0,0,0,1,1,1),
0947 ),
0948 array(
0949 array(0,0,0,0,0,0,0,0,0),
0950 array(0,0,0,0,0,0,0,0,0),
0951 array(0,0,0,0,0,0,0,0,0),
0952 array(0,0,0,0,0,0,0,0,0),
0953 array(0,0,0,0,0,0,0,0,0),
0954 array(0,0,0,0,0,0,0,0,0),
0955 array(0,1,1,1,0,1,1,1,0),
0956 array(1,1,0,1,1,1,0,1,1),
0957 array(1,0,0,0,1,0,0,0,1),
0958 array(1,0,0,0,1,0,0,0,1),
0959 array(1,0,0,0,1,0,0,0,1),
0960 array(1,0,0,0,1,0,0,0,1),
0961 array(1,0,0,0,1,0,0,0,1),
0962 array(1,0,0,0,1,0,0,0,1),
0963 array(1,0,0,0,1,0,0,0,1),
0964 ),
0965 ),
0966 'N' => array(
0967 array(
0968 array(1,1,0,0,0,0,0,0,1),
0969 array(1,1,0,0,0,0,0,0,1),
0970 array(1,0,1,0,0,0,0,0,1),
0971 array(1,0,1,0,0,0,0,0,1),
0972 array(1,0,0,1,0,0,0,0,1),
0973 array(1,0,0,1,0,0,0,0,1),
0974 array(1,0,0,0,1,0,0,0,1),
0975 array(1,0,0,0,1,0,0,0,1),
0976 array(1,0,0,0,1,0,0,0,1),
0977 array(1,0,0,0,0,1,0,0,1),
0978 array(1,0,0,0,0,1,0,0,1),
0979 array(1,0,0,0,0,0,1,0,1),
0980 array(1,0,0,0,0,0,1,0,1),
0981 array(1,0,0,0,0,0,0,1,1),
0982 array(1,0,0,0,0,0,0,1,1),
0983 ),
0984 array(
0985 array(0,0,0,0,0,0,0,0,0),
0986 array(0,1,0,0,0,0,0,1,0),
0987 array(0,1,1,0,0,0,0,1,0),
0988 array(0,1,1,0,0,0,0,1,0),
0989 array(0,1,1,0,0,0,0,1,0),
0990 array(0,1,0,1,0,0,0,1,0),
0991 array(0,1,0,1,0,0,0,1,0),
0992 array(0,1,0,1,0,0,0,1,0),
0993 array(0,1,0,0,1,0,0,1,0),
0994 array(0,1,0,0,1,1,0,1,0),
0995 array(0,1,0,0,0,1,0,1,0),
0996 array(0,1,0,0,0,1,1,1,0),
0997 array(0,1,0,0,0,0,1,1,0),
0998 array(0,1,0,0,0,0,0,1,0),
0999 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(sizeof($chars['A']), $config['captcha_gd_fonts']) -1)],
1662 'B' => $chars['B'][mt_rand(0, min(sizeof($chars['B']), $config['captcha_gd_fonts']) -1)],
1663 'C' => $chars['C'][mt_rand(0, min(sizeof($chars['C']), $config['captcha_gd_fonts']) -1)],
1664 'D' => $chars['D'][mt_rand(0, min(sizeof($chars['D']), $config['captcha_gd_fonts']) -1)],
1665 'E' => $chars['E'][mt_rand(0, min(sizeof($chars['E']), $config['captcha_gd_fonts']) -1)],
1666 'F' => $chars['F'][mt_rand(0, min(sizeof($chars['F']), $config['captcha_gd_fonts']) -1)],
1667 'G' => $chars['G'][mt_rand(0, min(sizeof($chars['G']), $config['captcha_gd_fonts']) -1)],
1668 'H' => $chars['H'][mt_rand(0, min(sizeof($chars['H']), $config['captcha_gd_fonts']) -1)],
1669 'I' => $chars['I'][mt_rand(0, min(sizeof($chars['I']), $config['captcha_gd_fonts']) -1)],
1670 'J' => $chars['J'][mt_rand(0, min(sizeof($chars['J']), $config['captcha_gd_fonts']) -1)],
1671 'K' => $chars['K'][mt_rand(0, min(sizeof($chars['K']), $config['captcha_gd_fonts']) -1)],
1672 'L' => $chars['L'][mt_rand(0, min(sizeof($chars['L']), $config['captcha_gd_fonts']) -1)],
1673 'M' => $chars['M'][mt_rand(0, min(sizeof($chars['M']), $config['captcha_gd_fonts']) -1)],
1674 'N' => $chars['N'][mt_rand(0, min(sizeof($chars['N']), $config['captcha_gd_fonts']) -1)],
1675 'O' => $chars['O'][mt_rand(0, min(sizeof($chars['O']), $config['captcha_gd_fonts']) -1)],
1676 'P' => $chars['P'][mt_rand(0, min(sizeof($chars['P']), $config['captcha_gd_fonts']) -1)],
1677 'Q' => $chars['Q'][mt_rand(0, min(sizeof($chars['Q']), $config['captcha_gd_fonts']) -1)],
1678 'R' => $chars['R'][mt_rand(0, min(sizeof($chars['R']), $config['captcha_gd_fonts']) -1)],
1679 'S' => $chars['S'][mt_rand(0, min(sizeof($chars['S']), $config['captcha_gd_fonts']) -1)],
1680 'T' => $chars['T'][mt_rand(0, min(sizeof($chars['T']), $config['captcha_gd_fonts']) -1)],
1681 'U' => $chars['U'][mt_rand(0, min(sizeof($chars['U']), $config['captcha_gd_fonts']) -1)],
1682 'V' => $chars['V'][mt_rand(0, min(sizeof($chars['V']), $config['captcha_gd_fonts']) -1)],
1683 'W' => $chars['W'][mt_rand(0, min(sizeof($chars['W']), $config['captcha_gd_fonts']) -1)],
1684 'X' => $chars['X'][mt_rand(0, min(sizeof($chars['X']), $config['captcha_gd_fonts']) -1)],
1685 'Y' => $chars['Y'][mt_rand(0, min(sizeof($chars['Y']), $config['captcha_gd_fonts']) -1)],
1686 'Z' => $chars['Z'][mt_rand(0, min(sizeof($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 }
1845