Tutorial: como utilizar o Color LCD Shield com Arduino

O Color LCD Shield é um shield com Nokia 6100 LCD a qual você conecta no arduino e assim você pode gerar imagens com arduino. Neste tutorial vamos mostrar como o shield funciona e como utilizá-lo com Arduino.

O Color LCD Shield pode suportar imagens de 132x132 pixels. Caso sua imagem seja maior, reduza-a até esse tamanho. Como as imagens precisam estar em hexadecimal, então fizemos um programa em PYTHON (é necessário instalá-lo no sistema operacional) para converter imagens .bmp em hexadecimal. O código está demonstrado abaixo:

import Image
import ImageColor
image='/home/ldg/Documentos/Python/logopbmp.bmp' #Coloque aqui o nome do arquivo que deseja converter
texto='/home/ldg/Documentos/Python/Imagem.txt' #Crie um arquivo texto em branco em um diretório a sua escolha e coloque aqui o nome do arquivo texto para guardar a matriz da imagem em hexadecimal
f=open(texto,'w') #Irá abrir o arquivo texto
imopen=Image.open(image) #Abrirá a imagem
x=y=0
h=0
while y<52: #Coloque aqui a altura da imagem. A imagem do Ldg tem 125x51 pixels
#print "y"
x=0
while x<125: # Coloque aqui o comprimento da imagem.
#print "x"
z=imopen.getpixel((x,y))
h=0
h = h+((z[0]/16))
h = h+((z[1]/16))*16
h = h+((z[2]/16))*16*16
h=hex(h)
#print h
f.write(str(h))
f.write(',')
x=x+1
y=y+1
f.write('\n')
f.close()

Copie e cole em um editor de texto (gedit, bloco de notas, notepad, etc) e salve o arquivo com a extensão .py. Agora, abra o prompt de comando ou terminal e digite: python nomedocodigo.py e irá converter a imagem .bmp em .txt.

Gerado o arquivo .txt abra-o e copie o conteúdo. Aqui fizemos com um logo do LdG.

Neste tutorial foi utilizado a biblioteca Color LCD Shield. Extraia a biblioteca na pasta "libraries" localizada dentro da pasta da IDE do Arduino. Depois disso,abra a IDE do arduino, cole o conteúdo que você copiou do arquivo txt no código abaixo:

#include <ColorLCDShield.h> //Inclui a biblioteca do Color LCD Shield
#include <avr/pgmspace.h> //Inclui a biblioteca do avr para gravar a matriz da imagem na memória flash
LCDShield lcd; //Define o lcd
byte cont = 40; // Contraste
void setup()
{

//Cuidado, se não funcionar, troque PHILLIPS por EPSON (tudo maiusculo)
lcd.init(PHILLIPS); // Inicializa o LCD 
lcd.contrast(cont); // Contraste
lcd.clear(WHITE); // Fundo branco
printldg(); // Coloca a imagem do logo LdG
testPattern(); // Coloca varios retangulos de varias cores
}
void loop()
{

}
void testPattern()
{
lcd.setRect(80, 2, 131, 19, 1, WHITE); //Coloca retangulo branco
lcd.setRect(80, 19, 131, 35, 1, YELLOW); //Coloca retangulo amarelo
lcd.setRect(80, 35, 131, 51, 1, CYAN); //Coloca retangulo ciano
lcd.setRect(80, 51, 131, 67, 1, GREEN); //Coloca retangulo verde
lcd.setRect(80, 67, 131, 83, 1, MAGENTA); //Coloca retangulo magenta
lcd.setRect(80, 83, 131, 99, 1, RED); //Coloca retangulo vermelho
lcd.setRect(80, 99, 131, 115, 1, BLUE); //Coloca retangulo azul
lcd.setRect(80, 115, 131, 131, 1, BLACK); //Coloca retangulo preto
}
PROGMEM static unsigned int logoldg[6550] = { //A matriz da imagem contendo elementos hexadecimais no formato correto para o LCD
0xfff,0xfff,0xfff,0xfff,0xfff,0xeee,0x666,0x333,0x0,0x0,0x0,0x0,0x0,0x333,0x777,0xefe,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfee,0x666,0x322,0x0,0x0,0x0,
0x0,0x0,0x222,0x566,0xcdd,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xccc,0x555,0x333,0x0,0x0,0x0,0x0,0x222,0x444,0xa9a,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0x999,0x0,0x0,0x13,0x35,0x34,0x35,0x35,0x35,0x12,0x0,0x0,0xaaa,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xa99,0x0,0x0,0x13,0x36,0x36,0x36,
0x36,0x35,0x23,0x0,0x0,0x788,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x555,0x0,0x0,0x23,0x24,0x24,0x24,0x24,0x24,0x1,0x0,
0x222,0xeee,0xfff,0xfff,0xfff,0x888,0x767,0x999,0x9a9,0xbbb,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xccc,0x999,0x899,0x889,0x999,0xbbb,0xeee,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xaaa,0x0,0x12,0x8d,0x1af,0x19f,0x19f,0x9f,0x9f,0x9f,0xaf,0x8d,0x1,0x0,
0xbbb,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xbbb,0x0,0x1,0x18d,0xaf,0x19f,0x19f,0x9f,
0x9f,0x9f,0x9f,0x9e,0x23,0x0,0x999,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0x555,0x0,0x36,0x19f,0x9f,0x19f,0xaf,0x19f,0x9f,0x9f,0x19f,
0x59,0x0,0x111,0xede,0x767,0x0,0x0,0x0,0x1,0x0,0x0,0x112,0xddd,0xfff,0xfff,0xfff,0xfff,0xfff,
0x999,0x10,0x0,0x0,0x0,0x0,0x110,0x0,0x0,0x655,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0x0,0x11,0xaf,0x19f,0x19f,0x19f,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x1,0x100,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x0,0x1,0x19f,0x9f,0x19f,0x9f,0x19f,0x9f,0x19f,0x9f,
0x9f,0x9f,0x19f,0x12,0x0,0xddd,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xeee,0xccc,0xbbb,0xbbb,0xbbb,0xddd,0xddd,0xfff,0xfff,0xfff,0xfff,0xfff,
0xbbb,0x0,0x46,0x9f,0x9f,0x19f,0x9f,0x9f,0x9f,0x19f,0x9f,0x9f,0x9f,0x17b,0x0,0x0,0x0,0x12,0x7b,
0x19f,0x9f,0x9f,0x69,0x0,0x0,0xddd,0xfff,0xeee,0xbbb,0x555,0x0,0x12,0x16a,0x18d,0x8e,0x9e,0x18d,
0x17c,0x136,0x0,0x0,0xbbb,0xaaa,0xaaa,0xaaa,0xaaa,0xccc,0xddd,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xaaa,0x0,0x17b,0x9f,0x9f,0x9f,0x19f,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x6a,0x0,0x988,
0xeee,0xeee,0xeee,0xeee,0xeee,0x99a,0x0,0x69,0x9f,0x9f,0x9f,0x19f,0x9f,0x19f,0x19f,0x9f,0x19f,0x9f,
0x9f,0x7d,0x0,0x0,0x100,0x455,0xdcd,0xfff,0xeee,0xeee,0xdee,0xdee,0xeee,0xeee,0xeee,0xfff,0xccc,0x555,
0x111,0x100,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x666,0xddd,0xede,0xeee,0x433,0x0,0xaf,0x9f,0x9f,0x9f,0x9f,0x9f,
0x19f,0x9f,0x19f,0x9f,0x9f,0x19f,0x24,0x12,0x7b,0xaf,0x9f,0x19f,0x9f,0x9f,0x9f,0x9e,0x0,0x0,0x100,0x0,
0x0,0x0,0x36,0x9f,0x8e,0x18e,0x8e,0x9f,0x8d,0x18e,0x9f,0x7b,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x333,
0xaaa,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0x666,0x0,0x9f,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x18f,0x9f,0x9f,0x9f,0x9f,0x0,0x0,0x0,0x0,
0x0,0x0,0x0,0x0,0x0,0x9f,0x9f,0x9f,0x19f,0x8f,0x9f,0x8f,0x9f,0x9f,0x19f,0x9f,0x19f,0x9f,0x6a,0x48,0x124,
0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x111,0x145,0x59,0x16a,0x6a,0x6a,0x6a,0x6a,0x58,0x23,0x0,
0x0,0x0,0x0,0x0,0x35,0x9f,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x8e,0x19f,0x9f,0x19f,
0x9f,0x9f,0x19f,0x19f,0x9f,0x9f,0x6a,0x12,0x46,0x16a,0x6a,0x6b,0x9f,0x9f,0x9f,0x8e,0x19e,0x19f,0x17d,0x8d,
0x18e,0x9f,0x8d,0x17b,0x7b,0x7b,0x7b,0x7b,0x16b,0x6a,0x146,0x11,0x0,0x111,0xcdd,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0x344,0x11,0x19f,0x9f,0x19f,0x9f,0x7cf,0xfff,0xfff,0xfff,0x2af,0x9f,0x9f,0x9f,0x19f,0x0,0x24,
0x48,0x48,0x48,0x48,0x48,0x48,0x58,0x9f,0x18f,0x9f,0x8f,0x5af,0xfff,0xfff,0xfff,0x4bf,0x9f,0x9f,0x9f,0x9f,
0x18f,0x8f,0x9f,0x9f,0x36,0x36,0x47,0x58,0x48,0x48,0x58,0x48,0x47,0x24,0x47,0x8f,0x18e,0x18e,0x8f,0x9f,0x9f,
0x19f,0x8f,0x9f,0x19f,0x17b,0x48,0x48,0x48,0x48,0x7b,0x9f,0x9f,0x9f,0x8f,0xcef,0xfff,0xfff,0xeff,0x9f,0x9f,
0x9f,0x19f,0x9f,0x19f,0x9f,0x9f,0x19f,0x9f,0x9f,0x9f,0x19f,0x9f,0x19f,0x18f,0x8e,0x18d,0x8e,0x9f,0x9f,0x9f,
0x19f,0x9f,0x9f,0x9f,0x8e,0x9f,0x9f,0x9f,0x19f,0x9f,0x9f,0x9f,0x19f,0x9f,0x8f,0x8e,0x9f,0x19f,0x6a,0x0,0x0,0xddd,0xfff,0xfff,0xfff,
0xfff,0xfff,0x344,0x2,0x9f,0x19f,0x9f,0x9f,0x8cf,0xfff,0xfff,0xfff,0x2af,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,
0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0x9f,0x19f,0x5af,0xfff,0xfff,0xfff,0x4bf,0x9f,0x19f,0x9f,0x9f,0x8e,
0x8e,0x8f,0x9f,0x9f,0x19f,0x8e,0x19f,0x9f,0x9f,0x9f,0x9f,0x8e,0x9f,0x9f,0x9f,0x7d,0x8d,0x8e,0x9f,0x9f,0x9f,
0x9f,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0x8f,0xdef,0xfff,0xfff,0xeff,0x9f,0x19f,0x9f,
0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x3af,0x5bf,0x9f,0x19f,0x9f,0x9f,0x8f,0x7d,0x7d,0x8f,0x19f,0x9f,0x19f,0x9f,
0x29f,0x8cf,0x7cf,0x5bf,0x9f,0x19f,0x9f,0x9f,0x19f,0x19f,0x19f,0x9f,0x9f,0x8f,0x18e,0x18f,0x9e,0x8f,0x18e,0x1,0x0,0xfff,0xfff,0xfff,
0xfff,0xfff,0x434,0x11,0x1af,0x9f,0x9f,0x9f,0x8cf,0xfff,0xfff,0xfff,0x2af,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,
0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x5bf,0xfff,0xfff,0xfff,0x4bf,0x9f,0x9f,0x9f,0x9f,
0x8e,0x8f,0x9f,0x19f,0x9f,0x9f,0x8e,0x19f,0x9f,0x9f,0x9f,0x8f,0x9f,0x19f,0x9f,0x9f,0x9f,0x7d,0x18d,0x9f,
0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0x9f,0x9f,0x8f,0xdef,0xfff,0xfff,0xeff,0x8f,
0x19f,0x9f,0x19f,0x9f,0x9f,0x9f,0x2af,0xdef,0xfff,0xcef,0x8f,0x9f,0x19f,0x9f,0x9f,0x8f,0x7d,0x8f,0x9f,0x9f,
0x9f,0x9f,0x7bf,0xfff,0xfff,0xeff,0x8f,0x9f,0x19f,0x9f,0x9f,0x9f,0x9f,0x19f,0x19f,0x8f,0x8e,0x8e,0x8f,0x8f,0x18f,0x7d,
0x0,0x666,0xfff,0xfff,
0xfff,0xfff,0x434,0x11,0xaf,0x9f,0x9f,0x9f,0x8cf,0xfff,0xfff,0xfff,0x2af,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,
0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x5af,0xfff,0xfff,0xfff,0x6bf,0x2af,0x2af,0x29f,0x2af,
0x29f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0x9f,0x19f,0x19f,0x8f,0x19f,0x29f,0x2af,
0x2af,0x2af,0x29f,0x9f,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x8f,0xdef,0xfff,0xfff,0xeff,0x2af,
0x2af,0x2af,0x9f,0x9f,0x9f,0x9f,0x8cf,0xeff,0x5bf,0x8f,0x19f,0x9f,0x9f,0x9f,0x19f,0x9f,0x29f,0x2af,0x2af,0x2af,
0x2af,0x19f,0x5bf,0xeff,0xeff,0xcef,0x8f,0x9f,0x9f,0x29f,0x2af,0x2af,0x2af,0x29f,0x2af,0x2af,0x18e,0x8e,0x8e,
0x18f,0x8f,0x9f,0x35,0x0,0xfff,0xfff,
0xfff,0xfff,0x434,0x11,0xaf,0x9f,0x9f,0x9f,0x8cf,0xfff,0xfff,0xfff,0x2af,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,
0x19f,0x19f,0x19f,0x19f,0x19f,0x19f,0x19f,0x19f,0x9f,0x9f,0x5af,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0x3af,0x9f,0x9f,0x8f,0x19f,0x19f,0x19f,0x19f,0x19f,0x19f,0x19f,0x9f,0x8f,0x8f,0x6bf,0xfff,0xfff,
0xfff,0xfff,0xfff,0xadf,0x9f,0x19f,0x19f,0x19f,0x19f,0x19f,0x19f,0x19f,0x19f,0x9f,0x9f,0x9f,0xdef,0xfff,0xfff,
0xfff,0xfff,0xfff,0xdff,0x8f,0x19f,0x9f,0x19f,0x19f,0x8f,0x19f,0x19f,0x19f,0x9f,0x9f,0x19f,0x9f,0xcef,0xfff,
0xfff,0xfff,0xfff,0xfff,0x4bf,0x8f,0x9f,0x8f,0x8f,0x9f,0x39f,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0x8cf,0x7e,0x8e,0x18e,0x8f,0x17b,0x0,0xbbb,0xfff,
0xfff,0xfff,0x434,0x11,0xaf,0x9f,0x9f,0x9f,0x8cf,0xfff,0xfff,0xfff,0x2af,0x9f,0x9f,0x9f,0x9f,0x8f,0x9f,0x29f,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xbef,0x9f,0x4af,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xcef,0x8f,0x19f,0xeff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x8df,0x9f,0x29f,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xadf,0x8f,0xcef,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x3af,0x8f,0xdef,0xfff,
0xfff,0xfff,0xfff,0xfff,0xcef,0x8f,0x6bf,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x4af,0x9f,0x8cf,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0x3af,0x7bf,0xfff,0xfff,0xfff,0x8f,0xdef,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0x29e,0x8d,0x8e,0x18e,0x18f,0x0,0x888,0xfff,
0xfff,0xfff,0x434,0x11,0xaf,0x9f,0x9f,0x9f,0x8cf,0xfff,0xfff,0xfff,0x2af,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0x29f,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x7cf,0x5af,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xeff,0x8f,0xcdf,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x4af,0x6bf,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xadf,0x8f,0xcef,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x8f,0xdef,0xfff,0xfff,0xfff,
0xfff,0xfff,0xdff,0x18f,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xeff,0x8f,0xdef,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0x3af,0x6bf,0xfff,0xfff,0xeff,0x8f,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0x4bf,0x8e,0x8e,0x18e,0x19f,0x1,0x888,0xfff,
0xfff,0xfff,0x434,0x11,0xaf,0x9f,0x9f,0x9f,0x8cf,0xfff,0xfff,0xfff,0x2af,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0x39f,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x9df,0x5af,0xfff,0xfff,0xfff,0xadf,0x8cf,0x8cf,0x9cf,0xfff,0xfff,
0xfff,0xfff,0x8f,0xdef,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x5bf,0x6bf,0xfff,0xfff,0xfff,0xbef,0x8cf,
0x8cf,0x5bf,0x8f,0xdef,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x8f,0xdef,0xfff,0xfff,0xfff,0x7cf,0x8cf,
0x6cf,0x29f,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x8f,0xdef,0xfff,0xfff,0xfff,0x9df,0x8cf,0x9cf,
0x19f,0x7bf,0xfff,0xfff,0xeff,0x8f,0xfff,0xfff,0xfff,0xfff,0x8cf,0x8cf,0x8cf,0xdef,0xfff,0xfff,0xfff,0x4bf,0x19f,
0x9f,0x9f,0x19f,0x1,0x444,0xfff,
0xfff,0xfff,0x434,0x11,0xaf,0x9f,0x9f,0x9f,0x8cf,0xfff,0xfff,0xfff,0x2af,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0x9f,
0x8f,0x8f,0x9f,0x8f,0xdef,0xfff,0xfff,0x9df,0x4af,0xfff,0xfff,0xfff,0x5bf,0x9f,0x9f,0x8f,0xcdf,0xfff,0xfff,0xfff,0x8f,
0xeef,0xfff,0xfff,0xbef,0x29f,0x3af,0x3af,0xfff,0xfff,0xfff,0x6bf,0x6bf,0xfff,0xfff,0xfff,0x4bf,0x9f,0x9f,0x9f,0x9f,
0x9f,0x8f,0x8f,0x9f,0x8f,0x8f,0x5bf,0xfff,0xfff,0xfff,0x8f,0xdef,0xfff,0xfff,0xfff,0x9f,0x9f,0x9f,0x3af,0xfff,0xfff,
0xfff,0x6bf,0x29f,0x29f,0x9cf,0xfff,0xfff,0xfff,0x8f,0xdef,0xfff,0xfff,0xeff,0x8f,0x19f,0x9f,0x9f,0x7bf,0xfff,0xfff,
0xeff,0x8f,0xfff,0xfff,0xfff,0xbef,0x8f,0x9f,0x9f,0x5bf,0xfff,0xfff,0xfff,0x4bf,0x9f,0x9f,0x9f,0x9f,0x1,0x444,0xfff,
0xfff,0xfff,0x434,0x11,0xaf,0x9f,0x9f,0x9f,0x8cf,0xfff,0xfff,0xfff,0x2af,0x9f,0x9f,0x9f,0x19f,0x9f,0x9f,0x9f,0x7cf,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x9df,0x4af,0xfff,0xfff,0xfff,0x4bf,0x19f,0x19f,0x9f,0xbdf,0xfff,
0xfff,0xfff,0x8f,0xeef,0xfff,0xfff,0x7cf,0x9f,0x9f,0x8f,0xfff,0xfff,0xfff,0x6cf,0x6bf,0xfff,0xfff,0xfff,0x4bf,0x19f,
0x9f,0x9f,0x9f,0x29f,0xeef,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x8f,0xdef,0xfff,0xfff,0xeff,0x8f,0x19f,
0x9f,0x3af,0xfff,0xfff,0xfff,0x19f,0x19f,0x19f,0x4af,0xfff,0xfff,0xfff,0x8f,0xdef,0xfff,0xfff,0xfff,0x9f,0x9f,0x19f,
0x9f,0x6bf,0xfff,0xfff,0xeff,0x8f,0xfff,0xfff,0xfff,0xbef,0x8f,0x19f,0x19f,0x5af,0xfff,0xfff,0xfff,0x4bf,0x19f,0x9f,
0x9f,0x19f,0x1,0x444,0xfff,
0xfff,0xfff,0x434,0x11,0xaf,0x9f,0x9f,0x9f,0x8cf,0xfff,0xfff,0xfff,0x2af,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0x6af,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x9df,0x4af,0xfff,0xfff,0xfff,0x5bf,0x19f,0x9f,0x9f,0xcdf,0xfff,0xfff,
0xfff,0x8f,0xeef,0xfff,0xfff,0x7cf,0x9f,0x9f,0x8f,0xeff,0xfff,0xfff,0x6cf,0x6bf,0xfff,0xfff,0xfff,0x4af,0x9f,0x9f,0x9f,
0x8f,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x8f,0xdef,0xfff,0xfff,0xfff,0x8f,0x9f,0x9f,0x39f,
0xfff,0xfff,0xfff,0x19f,0x9f,0x19f,0x4af,0xfff,0xfff,0xfff,0x8f,0xdef,0xfff,0xfff,0xfff,0x8f,0x9f,0x9f,0x9f,0x7bf,
0xfff,0xfff,0xeff,0x8f,0xfff,0xfff,0xfff,0xbef,0x8f,0x9f,0x9f,0x5af,0xfff,0xfff,0xfff,0x4bf,0x9f,0x9f,0x9f,0xaf,0x1,0x444,0xfff,
0xfff,0xfff,0x434,0x11,0xaf,0x9f,0x9f,0x9f,0x8cf,0xfff,0xfff,0xfff,0x29f,0x9f,0x9f,0x9f,0x9f,0x8f,0x9f,0x9df,0xfff,
0xfff,0xfff,0xdff,0xeff,0xeff,0xfff,0xfff,0xfff,0x9df,0x4af,0xfff,0xfff,0xfff,0x4bf,0x9f,0x9f,0x8f,0xbdf,0xfff,0xfff,
0xfff,0x8f,0xeef,0xfff,0xfff,0x8cf,0x9f,0x19f,0x9f,0xeff,0xfff,0xfff,0x6cf,0x6bf,0xfff,0xfff,0xfff,0x4bf,0x9f,0x19f,
0x19f,0x29f,0xfff,0xfff,0xfff,0xeff,0xeff,0xeff,0xeff,0xfff,0xfff,0xfff,0x8f,0xdef,0xfff,0xfff,0xeff,0x8f,0x9f,0x9f,
0x3af,0xfff,0xfff,0xfff,0x19f,0x9f,0x9f,0x4af,0xfff,0xfff,0xfff,0x8f,0xdef,0xfff,0xfff,0xfff,0x8f,0x9f,0x9f,0x9f,0x7bf,
0xfff,0xfff,0xeff,0x8f,0xfff,0xfff,0xfff,0xbef,0x8f,0x9f,0x9f,0x5af,0xfff,0xfff,0xfff,0x4bf,0x9f,0x9f,0x9f,0x9f,0x1,0x444,0xfff,
0xfff,0xfff,0x434,0x11,0xaf,0x9f,0x9f,0x9f,0x8cf,0xfff,0xfff,0xfff,0xfff,0xeff,0xfff,0xeff,0xeff,0xeff,0x9f,0xbdf,0xfff,
0xfff,0xbef,0x8f,0x8f,0x8f,0xddf,0xfff,0xfff,0x9df,0x4af,0xfff,0xfff,0xfff,0x8cf,0x5bf,0x5bf,0x5bf,0xeff,0xfff,0xfff,
0xfff,0x8f,0xeef,0xfff,0xfff,0x9df,0x8f,0x9f,0x19f,0xfff,0xfff,0xfff,0x6cf,0x6bf,0xfff,0xfff,0xfff,0x4bf,0x9f,0x9f,
0x9f,0x2af,0xfff,0xfff,0xfff,0x19f,0x8f,0x8f,0x5af,0xfff,0xfff,0xfff,0x8f,0xdef,0xfff,0xfff,0xfff,0x5bf,0x5bf,0x4bf,
0x39f,0xfff,0xfff,0xfff,0x3af,0x9f,0x8f,0x6bf,0xfff,0xfff,0xfff,0x8f,0xdef,0xfff,0xfff,0xfff,0x8f,0x9f,0x9f,0x9f,
0x7bf,0xfff,0xfff,0xeff,0x8f,0xfff,0xfff,0xfff,0xeff,0x5bf,0x5bf,0x4bf,0xbef,0xfff,0xfff,0xfff,0x4bf,0x9f,0x9f,0x9f,
0x9f,0x1,0x444,0xfff,
0xfff,0xfff,0x434,0x11,0xaf,0x9f,0x9f,0x9f,0x8cf,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x9f,0xbdf,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x9df,0x4af,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0x8f,0xeef,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x6bf,0x6bf,0xfff,0xfff,0xfff,
0x4af,0x9f,0x9f,0x19f,0x29f,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x8f,0xdef,0xfff,0xfff,0xfff,
0xfff,0xfff,0xcef,0x29f,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x8f,0xdef,0xfff,0xfff,0xfff,
0x8f,0x9f,0x9f,0x9f,0x7bf,0xfff,0xfff,0xeff,0x8f,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0x4bf,0x19f,0x9f,0x19f,0x19f,0x1,0x444,0xfff,
0xfff,0xfff,0x444,0x11,0x1af,0x19f,0x9f,0x9f,0x7bf,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x9f,0x9cf,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x8cf,0x4af,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xdef,0x8f,0xdef,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x4bf,0x6bf,0xfff,0xfff,0xfff,
0x4bf,0x9f,0x9f,0x9f,0x19f,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x8f,0xbdf,0xfff,0xfff,0xfff,
0xfff,0xfff,0xcef,0x19f,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x8f,0xdef,0xfff,0xfff,0xeff,
0x8f,0x19f,0x9f,0x9f,0x6bf,0xfff,0xfff,0xfff,0x8f,0xeef,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0x2af,0x8e,0x8e,0x8e,0x9f,0x0,0x778,0xfff,
0xfff,0xfff,0x434,0x11,0xaf,0x9f,0x9f,0x9f,0x7cf,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x9f,0x19f,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xeff,0x19f,0x5bf,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0x3bf,0x8f,0x4af,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xdff,0x8f,0x6bf,0xfff,0xfff,0xfff,
0x4bf,0x9f,0x19f,0x19f,0x8f,0xadf,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x7cf,0x9f,0x29f,0xfff,0xfff,
0xfff,0xfff,0xfff,0xdef,0x8f,0xadf,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x7cf,0x8f,0xdef,0xfff,0xfff,
0xfff,0x8f,0x9f,0x9f,0x9f,0x6bf,0xfff,0xfff,0xeff,0x8f,0x4af,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xaef,0x8e,0x8e,0x8e,0x18f,0x18e,0x0,0x888,0xfff,
0xfff,0xfff,0x555,0x12,0x9f,0x8f,0x8f,0x8f,0x29f,0x3af,0x2af,0x3af,0x3af,0x3af,0x3af,0x3af,0x3af,0x3af,0x9f,0x9f,
0x8f,0x2af,0x2af,0x3af,0x3af,0x3af,0x2af,0x29f,0x8f,0x9f,0x29f,0x3af,0x3af,0x3af,0x3af,0x3af,0x3af,0x3af,0x3af,
0x3af,0x9f,0x18f,0x9f,0x19f,0x8f,0x3af,0x3af,0x3af,0x3af,0x3af,0x2af,0x29f,0x8f,0x9f,0x19f,0x3af,0x3af,0x3af,
0x19f,0x19f,0x9f,0x19f,0x9f,0x8f,0x19f,0x2af,0x3af,0x2af,0x3af,0x2af,0x3af,0x8f,0x19f,0x9f,0x19f,0x8f,0x29f,
0x3af,0x3af,0x3af,0x2af,0x9f,0x8f,0x19f,0x3af,0x3af,0x3af,0x3af,0x3af,0x3af,0x19f,0x9f,0x9f,0x3af,0x2af,0x3af,
0x2af,0x9f,0x19f,0x9f,0x19f,0x19f,0x3af,0x3af,0x3af,0x19f,0x9f,0x8f,0x2af,0x2af,0x2af,0x2af,0x3af,0x3af,0x3af,
0x19f,0x8e,0x8e,0x18e,0x18e,0x8f,0x7b,0x0,0xbbc,0xfff,
0xfff,0xfff,0x455,0x0,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x19f,0x9f,0x19f,0x19f,0x19f,0x19f,0x9f,0x9f,0x9f,0x19f,
0x9f,0x9f,0x9f,0x9f,0x19f,0x19f,0x19f,0x19f,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x19f,0x19f,0x19f,
0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x19f,0x19f,0x19f,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,
0x9f,0x9f,0x19f,0x8e,0x18f,0x19f,0x19f,0x19f,0x19f,0x19f,0x9f,0x9f,0x9f,0x9f,0x19f,0x8f,0x19f,0x19f,0x19f,
0x19f,0x9f,0x9f,0x9f,0x9f,0x19f,0x19f,0x19f,0x19f,0x19f,0x19f,0x9f,0x9f,0x9f,0x19f,0x19f,0x18f,0x9f,0x9f,0x9f,
0x19f,0x19f,0x19f,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x19f,0x19f,0x19f,0x9f,0x19f,0x18f,0x18e,0x8d,0x18e,
0x8e,0x18f,0x9f,0x124,0x222,0xfff,0xfff,
0xfff,0xfff,0x999,0x0,0x17d,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0xaf,0x19f,0x9f,
0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0x9f,0x9f,0x19f,0x9f,
0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,
0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x8e,0x9f,0x9f,0x9f,0x9f,0x9f,0x18e,0x8f,0x9f,0x9f,0x19f,0x9f,0x9f,
0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0x9f,
0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x18f,0x8e,0x8f,0x8f,0x17b,0x0,0x999,0xfff,0xfff,
0xfff,0xfff,0xfff,0x0,0x22,0x1af,0x9f,0x19f,0x9f,0x9f,0x9f,0x9f,0x19f,0x19f,0x9f,0x5a,0x0,0x0,0x0,0x19d,
0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x19f,0x19f,0x9f,0x9f,0x19e,0x2,0x0,0x0,
0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x6a,0x9f,0x9f,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0x9f,
0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x8f,0x9f,0x9f,0x9f,0x9f,0x9f,0x8e,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,
0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,
0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0x9f,0x9f,0x9f,0x19f,0x7b,0x0,0x111,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0x444,0x0,0x7c,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x5a,0x0,0x0,0x0,0x9e,0x9f,
0x9f,0x9f,0x9f,0x19f,0x9f,0x9f,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x24,0x0,0x0,0x0,0x0,0x0,
0x0,0x0,0x0,0x0,0x0,0x6a,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x8e,0x19f,0x9f,0x9f,
0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,
0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,
0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0x9f,0x9f,0x8e,0x18e,0x12,0x211,0xfff,0xfff,0xfff,
0xfff,0xfff,0xbbb,0x111,0x47,0x9f,0x8e,0x8f,0x18f,0x8f,0x9f,0x9f,0x9f,0x9f,0x9f,0x5a,0x0,0x0,0x0,0x9e,0x9f,
0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x8e,0x8e,0x8e,0x9f,0x9f,0x9f,0x8f,0x8f,0x9f,0x9f,0x1,0x0,0x0,0x0,0x0,0x0,0x0,
0x0,0x0,0x0,0x0,0x6a,0x19f,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x8e,0x7d,0x9f,0x9f,0x9f,
0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x8f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,
0x9f,0x9f,0x9f,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x8e,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,
0x9f,0x9f,0x9f,0x9f,0x8f,0x8e,0x7d,0x7d,0x17d,0x8d,0x8e,0x111,0x455,0xfff,0xfff,
0xfff,0xfff,0x334,0x0,0x9f,0x18f,0x8e,0x8e,0x8e,0x8e,0x59,0x59,0x59,0x59,0x59,0x36,0x0,0x0,0x0,0x19e,0x9f,0x9f,
0x19f,0x9f,0x9f,0x9f,0x19f,0x8d,0x8e,0x8e,0x18e,0x8e,0x9f,0x9f,0x9f,0x9f,0x9f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
0x0,0x0,0x0,0x6a,0x9f,0x9f,0x9f,0x19f,0x19f,0x19f,0x19f,0x9f,0x9f,0x9f,0x18f,0x9f,0x9f,0x59,0x59,0x59,0x59,0x169,
0x9f,0x9f,0x19f,0x9f,0x9f,0x19f,0x19f,0x19f,0x19f,0x19f,0x9f,0x9f,0x9f,0x17c,0x59,0x58,0x59,0x59,0x59,0x59,0x59,
0x59,0x7b,0x9f,0x9f,0x19f,0x19f,0x19f,0x9f,0x9f,0x19f,0x9f,0x19f,0x9f,0x19f,0x19f,0x6b,0x59,0x59,0x69,0x59,0x159,
0x59,0x58,0x59,0x59,0x59,0x59,0x7b,0x8d,0x17c,0x8d,0x18e,0x18e,0x158,0x0,0xeee,0xfff,
0xfff,0xfff,0x0,0x135,0x19f,0x8e,0x18e,0x8e,0x16b,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x9e,0x9f,0x9f,0x1af,0xaf,
0xaf,0xaf,0xaf,0x1af,0x9f,0x8e,0x8e,0x18e,0x9f,0x9f,0x9f,0x9f,0x9f,0x0,0x0,0x0,0x35,0xaf,0x9f,0x9f,0x9f,0x9f,0x9f,
0x19f,0x9f,0x9f,0xaf,0x1af,0x1af,0xaf,0xaf,0x1af,0x9f,0x19f,0x18f,0x9f,0x6b,0x0,0x0,0x0,0x0,0x0,0x12,0x9f,0x9f,0xaf,
0x1af,0x1af,0xaf,0x1af,0x1af,0x1af,0x9f,0x19f,0xaf,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x47,0x9f,0x9f,0x9f,0x9f,
0x1af,0x19f,0xaf,0x9f,0x19f,0x9f,0x9f,0x19f,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x12,0x8e,0x7d,
0x8d,0x18e,0x18d,0x100,0x999,0xfff,
0xfff,0xdcd,0x0,0x59,0x18f,0x8e,0x8e,0x9f,0x24,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x9e,0x19e,0x13,0x0,0x0,0x0,
0x0,0x0,0x0,0x13,0x19f,0x8e,0x8e,0x9f,0x9f,0x9f,0x9f,0x9f,0x0,0x0,0x0,0x35,0x19f,0x9f,0x1af,0xaf,0xaf,0xaf,0xaf,0x9f,
0x7c,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x12,0x9e,0x9f,0x1,0x0,0x0,0x0,0x0,0x0,0x12,0x1af,0x35,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
0x47,0x19f,0x6b,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x47,0x9f,0x159,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7b,0x9f,0x35,
0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x69,0x17c,0x7d,0x18e,0x8f,0x122,0x555,0xfff,
0xfff,0xddd,0x0,0x6a,0x8f,0x8e,0x8e,0x9f,0x2,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x9e,0x36,0x0,0x0,0x0,0x0,0x0,
0x0,0x0,0x0,0x46,0x9f,0x8d,0x9f,0x9f,0x9f,0x9f,0x9f,0x0,0x0,0x0,0x35,0x1af,0x35,0x0,0x0,0x0,0x0,0x0,0x7a,0x7c,0x0,0x0,
0x0,0x0,0x0,0x0,0x0,0x0,0x34,0x19f,0x0,0x0,0x0,0x0,0x0,0x0,0x11,0x1af,0x35,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7b,0x59,
0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x47,0x8d,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xaf,0x24,0x0,0x0,0x0,0x0,0x0,
0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x57,0x8d,0x7d,0x18e,0x8e,0x234,0x555,0xfff,
0xfff,0xccc,0x0,0x6b,0x9f,0x9f,0x9f,0x9f,0x12,0x0,0x0,0x11,0x9f,0x9f,0x19f,0x59,0x0,0x0,0x0,0x19f,0x13,0x0,0x0,0x0,
0x0,0x0,0x0,0x0,0x0,0x23,0x9f,0x18e,0x9f,0x9f,0x9f,0x9f,0x9f,0x0,0x0,0x0,0x35,0x19f,0x35,0x0,0x0,0x0,0x0,0x0,0x6a,
0x7c,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x11,0xaf,0x0,0x0,0x0,0x24,0x19f,0x9f,0x19f,0x9f,0x25,0x0,0x0,0x0,0x0,0x0,0x0,
0x0,0x0,0x58,0x5a,0x0,0x0,0x0,0x7b,0x19f,0x19f,0x19f,0x0,0x0,0x0,0x47,0x6b,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x9e,
0x24,0x0,0x0,0x1,0x19f,0x9f,0x5a,0x0,0x0,0x0,0x18d,0x19f,0x7d,0x0,0x0,0x0,0x57,0x9f,0x9f,0x9f,0xaf,0x12,0x0,0xfff,
0xfff,0xccc,0x0,0x6b,0x9f,0x9f,0x9f,0x9f,0x12,0x0,0x0,0x23,0x9f,0x9f,0x19f,0x59,0x0,0x0,0x0,0x19f,0x13,0x0,0x0,0x79,
0x19f,0x19f,0x6a,0x0,0x0,0x23,0xaf,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x0,0x0,0x0,0x35,0xaf,0x35,0x0,0x0,0x0,0x0,0x0,0x7a,
0x9f,0x9e,0x1af,0xaf,0xaf,0xaf,0x7b,0x0,0x0,0x11,0xaf,0x0,0x0,0x0,0x46,0x9f,0x9f,0x9f,0x9f,0x9f,0xaf,0x1af,0x1af,0xaf,
0x1af,0x34,0x0,0x0,0x58,0x5a,0x0,0x0,0x0,0x18d,0x9f,0x9f,0x9f,0x0,0x0,0x0,0x47,0x6b,0x0,0x0,0x23,0x1af,0x9f,0x1af,0x1,
0x0,0x0,0x9e,0x24,0x0,0x0,0x11,0x1af,0x9f,0x6a,0x0,0x0,0x0,0x8d,0x9f,0x19f,0x0,0x0,0x0,0x57,0x9f,0x9f,0x9f,0xaf,0x12,0x0,0xfff,
0xfff,0xccc,0x0,0x6b,0x9f,0x9f,0x9f,0x9f,0x12,0x0,0x0,0x23,0x19f,0x9f,0x19f,0x59,0x0,0x0,0x0,0x19f,0x13,0x0,0x0,0x1,
0x1,0x1,0x0,0x0,0x0,0x24,0x19f,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x0,0x0,0x0,0x45,0x19f,0x5a,0x46,0x36,0x0,0x0,0x0,0x17a,
0x9f,0x23,0x0,0x1,0x0,0x1,0x0,0x0,0x0,0x11,0xaf,0x0,0x0,0x0,0x46,0x9f,0x9f,0x9f,0x9f,0x7d,0x1,0x1,0x0,0x0,0x0,0x0,0x0,
0x0,0x58,0x5a,0x0,0x0,0x0,0x8d,0x9f,0x9f,0x9f,0x0,0x0,0x0,0x47,0x6b,0x0,0x0,0x0,0x1,0x1,0x1,0x0,0x0,0x0,0x9f,0x24,0x0,
0x0,0x11,0x9f,0x9f,0x5a,0x0,0x0,0x0,0x8d,0x9f,0x9f,0x0,0x0,0x0,0x57,0x9f,0x9f,0x9f,0xaf,0x12,0x0,0xfff,
0xfff,0xccc,0x0,0x6b,0x9f,0x9f,0x9f,0x9f,0x12,0x0,0x0,0x23,0x19f,0x9f,0x19f,0x59,0x0,0x0,0x0,0x19f,0x13,0x0,0x0,0x0,
0x0,0x0,0x0,0x0,0x0,0x69,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x0,0x0,0x0,0x36,0x9f,0x19f,0x19f,0x8e,0x0,0x0,0x0,0x7a,
0x159,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x11,0xaf,0x0,0x0,0x0,0x46,0x9f,0x9f,0x9f,0x19f,0x12,0x0,0x0,0x0,0x0,0x0,0x0,
0x0,0x0,0x58,0x5a,0x0,0x0,0x0,0x8d,0x9f,0x9f,0x9f,0x0,0x0,0x0,0x47,0x6b,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x11,0x1af,
0x24,0x0,0x0,0x11,0x19f,0x9f,0x5a,0x0,0x0,0x0,0x8d,0x9f,0x19f,0x0,0x0,0x0,0x57,0x9f,0x9f,0x9f,0xaf,0x12,0x0,0xfff,
0xfff,0xccc,0x0,0x6b,0x9f,0x9f,0x19f,0x9f,0x12,0x0,0x0,0x22,0x1af,0xaf,0xaf,0x6a,0x0,0x0,0x0,0x9f,0x13,0x0,0x0,0x24,
0x36,0x36,0x36,0x36,0x7b,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x0,0x0,0x0,0x12,0x8c,0x7d,0x7c,0x7a,0x0,0x0,0x0,0x7b,
0x35,0x0,0x0,0x22,0x36,0x36,0x24,0x0,0x0,0x11,0xaf,0x0,0x0,0x0,0x46,0x9f,0x9f,0x9f,0x19f,0x0,0x0,0x0,0x35,0x36,0x36,0x1,
0x0,0x0,0x59,0x59,0x0,0x0,0x0,0x17c,0xaf,0x19f,0x1af,0x0,0x0,0x0,0x47,0x6b,0x0,0x0,0x1,0x36,0x36,0x36,0x36,0x48,0x9e,0x9f,
0x24,0x0,0x0,0x11,0x9f,0x9f,0x5a,0x0,0x0,0x0,0x8d,0x9f,0x9f,0x0,0x0,0x0,0x57,0x9f,0x9f,0x9f,0xaf,0x12,0x0,0xfff,
0xfff,0xccc,0x0,0x6b,0x9f,0x9f,0x9f,0x9f,0x12,0x0,0x0,0x0,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x9f,0x13,0x0,0x0,0x45,0x6a,0x6a,
0x6a,0x6a,0x6a,0x8d,0x9f,0x9f,0x9f,0x9f,0x19f,0x19f,0x19f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7b,0x35,0x0,0x0,
0x35,0x6a,0x6a,0x47,0x0,0x0,0x12,0x1af,0x0,0x0,0x0,0x46,0x9f,0x9f,0x9f,0x9f,0x0,0x0,0x0,0x16a,0x6a,0x16a,0x13,0x0,0x0,
0x158,0x5a,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x47,0x6b,0x0,0x0,0x11,0x6a,0x6a,0x6a,0x6a,0x69,0x16b,0xaf,0x24,0x0,
0x0,0x11,0x9f,0x9f,0x5a,0x0,0x0,0x0,0x8d,0x9f,0x9f,0x0,0x0,0x0,0x57,0x9f,0x9f,0x9f,0xaf,0x12,0x0,0xfff,
0xfff,0xccd,0x0,0x6a,0x8f,0x8f,0x8e,0x19f,0x13,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x9f,0x14,0x0,0x0,0x0,0x0,0x0,
0x0,0x0,0x0,0x7a,0x19f,0x9f,0x9f,0x9f,0x8e,0x8e,0x9f,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7b,0x35,0x0,0x0,0x0,
0x0,0x0,0x0,0x0,0x0,0x12,0xaf,0x0,0x0,0x0,0x46,0x9f,0x9f,0x9f,0x9f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x59,0x6b,0x0,
0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x47,0x6b,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x23,0x1af,0x24,0x0,0x0,0x11,0x9f,0x9f,
0x5a,0x0,0x0,0x0,0x8d,0x9f,0x9f,0x0,0x0,0x0,0x57,0x9f,0x9f,0x9f,0xaf,0x12,0x0,0xfff,
0xfff,0xcdd,0x0,0x169,0x8f,0x18e,0x18e,0x8e,0x59,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x9e,0x48,0x0,0x0,0x0,0x0,0x0,
0x0,0x0,0x0,0x7a,0x9f,0x19f,0x9f,0x9f,0x8e,0x8e,0x8e,0x37,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7a,0x5a,0x0,0x0,0x0,
0x0,0x0,0x0,0x0,0x0,0x36,0x9f,0x0,0x0,0x0,0x46,0x19f,0x9f,0x19f,0x9f,0x13,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8d,0x9f,0x1,
0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x46,0x19f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x23,0x1af,0x24,0x0,0x0,0x11,0x1af,0x9f,
0x5a,0x0,0x0,0x0,0x18d,0x9f,0x9f,0x0,0x0,0x0,0x57,0x9f,0x9f,0x9f,0xaf,0x12,0x0,0xfff,
0xfff,0xfff,0x0,0x36,0x19f,0x8e,0x18e,0x8e,0x9f,0x6b,0x25,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x19e,0x9f,0x59,0x24,
0x24,0x24,0x24,0x24,0x24,0x23,0x17b,0x9f,0x19f,0x9f,0x9f,0x8e,0x18e,0x8d,0x9f,0x16a,0x24,0x24,0x24,0x24,0x24,0x24,0x24,
0x24,0x23,0x7b,0x19f,0x6a,0x24,0x24,0x24,0x24,0x24,0x24,0x58,0x19f,0x9f,0x24,0x24,0x24,0x58,0x9f,0x9f,0x9f,0x9f,0x18e,
0x37,0x24,0x24,0x24,0x24,0x24,0x34,0x7c,0x9f,0x9f,0x19f,0x59,0x47,0x47,0x47,0x47,0x47,0x0,0x0,0x0,0x47,0x9f,0x18d,0x35,
0x24,0x24,0x24,0x24,0x23,0x24,0x146,0x1af,0x47,0x24,0x24,0x35,0x19f,0x9f,0x6b,0x23,0x24,0x24,0x9e,0x9f,0x19f,0x14,0x24,
0x24,0x69,0x9f,0x9f,0x9f,0x9f,0x12,0x0,0xfff,
0xfff,0xfff,0x333,0x101,0x19f,0x19e,0x8f,0x8e,0x8e,0x18f,0x9f,0x19f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0x19f,0x19f,0x19f,0x19f,
0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x19f,0x9f,0x9f,0x19f,0x8e,0x8e,0x18e,0x8d,0x8e,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,
0x19f,0x19f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x18f,0x9f,0x9f,0x9f,0x9f,
0x9f,0x9f,0x9f,0x19f,0x9f,0x19f,0x19f,0x9f,0x9f,0x19f,0x17d,0x58,0x59,0x59,0x59,0x59,0x158,0x58,0x0,0x0,0x0,0x47,0x9f,
0x9f,0x9f,0x19f,0x19f,0x19f,0x9f,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0x8f,0x19f,0x9f,0x19f,0x9f,0x19f,0x19f,0x19f,
0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0xaf,0x12,0x222,0xfff,
0xfff,0xfff,0xaab,0x0,0x158,0x18f,0x8e,0x18f,0x8e,0x8e,0x8e,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x8f,0x19f,0x9f,0x9f,
0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x8e,0x8f,0x8e,0x8e,0x8e,0x8d,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,
0x9f,0x9f,0x19f,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0x8f,0x9f,0x9f,0x9f,0x19f,0x8e,0x18e,
0x19f,0x9f,0x19f,0x19f,0x9f,0x9f,0x19f,0x9f,0x5a,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x57,0x19f,0x19f,0x9f,0x9f,0x19f,
0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x19f,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,
0x9f,0x19f,0x9f,0x9f,0x0,0x444,0xfff,
0xfff,0xfff,0xfff,0x223,0x0,0x7c,0x19f,0x9e,0x18e,0x8e,0x18e,0x9f,0x19f,0x19f,0x19f,0x19f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,
0x19f,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0x35,0x8e,0x18f,0x18f,0x18e,0x18e,0x8e,0x9f,0x9f,0x9f,0x9f,0x9f,
0x9f,0x9f,0x9f,0x19f,0x9f,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x18f,0x9f,0x9f,0x19f,0x9f,0x18e,
0x8e,0x9f,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x5a,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7c,0x9f,0x9f,0x9f,0x9f,0x9f,
0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0x9f,0x9f,0x19f,0x9f,0x19f,0x19f,0x19f,0x19f,0x9f,0x9f,
0x9f,0x9f,0x19f,0x58,0x0,0xaaa,0xfff,
0xfff,0xfff,0xfff,0xeee,0x0,0x0,0x6a,0x9f,0x18f,0x18f,0x8e,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x8f,
0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0xaf,0x59,0x0,0x0,0x17b,0x9f,0x18f,0x18f,0x8e,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,
0x9f,0x9f,0x9f,0x8f,0x8e,0x9f,0x9f,0x9f,0x9f,0x8e,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x8f,0x9f,0x9f,0x19f,0x9f,0x8e,0x8e,0x19f,
0x9f,0x19f,0x9f,0x19f,0x9f,0x9f,0x9f,0x59,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x57,0x9f,0x19f,0x9f,0x9f,0x9f,0x19f,0x9f,
0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x19f,0x19f,
0x19f,0x7c,0x0,0x222,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0x666,0x0,0x13,0x58,0x18d,0x8f,0x19f,0x19f,0x19f,0x19f,0x19f,0x19f,0x19f,0x9f,0x8f,0x6b,
0x18d,0x8e,0x9f,0x19f,0x19f,0x19f,0x19f,0x9f,0x19f,0x7b,0x24,0x0,0x333,0x666,0x0,0x23,0x169,0x8d,0x8e,0x19f,0x19f,0x19f,
0x19f,0x19f,0x19f,0x19f,0x19f,0x9e,0x7c,0x7d,0x8e,0x19f,0x19f,0x19f,0x19f,0x8e,0x18d,0x6b,0x19e,0x19f,0x9f,0x9f,0x18f,
0x8e,0x47,0x0,0x35,0x6b,0x18e,0x9f,0x19f,0x9f,0x19f,0x9f,0x9f,0x9f,0x8f,0x8e,0x18d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,
0x19f,0x9f,0x8e,0x8f,0x19f,0x9f,0x9f,0x19f,0x9f,0x19f,0x19f,0x19f,0x9f,0x8f,0x19f,0x19f,0x19f,0x9f,0x18d,0x7d,0x9f,0x9f,
0x19f,0x9f,0x8f,0x7c,0x19e,0x19f,0x9f,0x9f,0x9e,0x8c,0x35,0x0,0x211,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xddd,0x555,0x111,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x999,0xfff,0xfff,0xccc,0x343,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x444,0x111,0x0,0x0,0x0,0x0,0x0,0x1,0x1af,0x19f,0x19f,0x9f,0x9f,
0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0x9e,0x8e,0x18e,0x8e,0x18e,0x8e,0x19f,0x24,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x666,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xddd,0xeee,0xaba,0xaaa,0xaaa,0xaaa,0xaaa,0xaaa,0xaaa,0xbbb,0xbbb,
0xddd,0xccc,0xded,0xaaa,0xaaa,0xaaa,0xaaa,0xaaa,0xaaa,0xcbb,0xbbb,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfef,0xccd,0xded,
0xaaa,0xaaa,0xaaa,0xaaa,0xaaa,0xaaa,0xaaa,0xaaa,0xbcb,0xccc,0xccc,0xeee,0xaaa,0xaaa,0xaaa,0xaaa,0xeed,0xbcc,0xccc,0xbbb,
0xccc,0xaaa,0xaaa,0xccc,0xaaa,0xfff,0xfff,0xfff,0xeef,0xddd,0xccc,0xaaa,0x766,0x0,0x18d,0x9f,0x9f,0x9f,0x19f,0x9f,0x19f,
0x9f,0x9f,0x9f,0x9f,0x9f,0x18e,0x8e,0x8e,0x8e,0x8f,0x8f,0x6a,0x0,0x767,0xaaa,0xaaa,0xaaa,0xaaa,0xaab,0xaaa,0xaaa,0xaaa,
0xaaa,0xaaa,0xabb,0xaab,0xaaa,0xaaa,0xaaa,0xbab,0xbbb,0xabb,0xaaa,0xaa9,0xaaa,0xaa9,0xaaa,0xbbb,0xfee,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x0,0x13,0xaf,0x9f,0x9f,0x9f,0x19f,0x9f,
0x9f,0x9f,0x9f,0x9f,0x19f,0x18e,0x8e,0x8f,0x19e,0x9f,0x17b,0x0,0x544,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xaaa,0x0,0x24,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,
0x9f,0x9f,0x9f,0x9f,0x8f,0x19f,0x19f,0x8e,0x35,0x0,0x888,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xaaa,0x0,0x0,0x24,0x46,0x36,0x36,0x36,
0x36,0x36,0x36,0x36,0x146,0x35,0x12,0x0,0x322,0xddd,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x888,0x444,0x222,0x111,
0x111,0x111,0x111,0x111,0x111,0x111,0x332,0x555,0x888,0xddd,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,
};
void printldg(void) //Função para ordenar os pixels da matriz logoldg e montar a imagem
{
int x=0; int y=0; unsigned int z=0;
for(y=10;y<62;y=y+1) //Localização de onde deve começar a imagem e onde termina. Começando no ponto y=10 do LCD
{ // e terminando no ponto y=62(52+10), onde 52 é a altura da imagem e 10 o começo do primeiro ponto do LCD
for(x=5;x<130;x=x+1) //Localização do ponto x=5 do LCD terminando no ponto x=130(125+5), onde 125 é o comprimento da imagem
{ //e 5 é o começo do LCD
lcd.setPixel(pgm_read_word_near(logoldg+z),y,x); //Coloca o pixel da matriz logoldg no ponto [x,y] do LCD
z=z+1; //Vai para o próximo elemento da matriz logoldg
}
}
}

Por fim, conecte o Shield no Arduino e depois o Arduino no PC. Selecione a versão da sua placa Arduino (UNO, Duemilanove, etc) e selecione a porta a qual seu Arduino está conectado (COMx, ttyUSBx, ttyACMx, etc). Clique em UPLOAD e assim que terminar irá aparecer a imagem. Aqui fizemos com o logo e mais barras coloridas para demonstrar. Abaixo tem umas imagens mostrando o LCD em funcionamento.

Tivemos que colar a imagem em hexadecimal dentro da memória Flash, pois senão não funciona por causa da memória RAM limitada. 

E é isso! Esperamos que tenham gostado! Caso tenham dúvidas, postem aqui mesmo no blog! Caso tenham sugestões de tutoriais, postem aqui! E se quiserem ver outros tutoriais e projetos abertos, cliquem aqui e aqui respectivamente! Até a próxima galera!

Referências:

http://www.labdegaragem.org/loja/index.php/31-shields/lcd-shield-co...

http://www.labdegaragem.com.br/wiki/index.php?title=Color_Shield_LCD

http://www.sparkfun.com/products/9363

http://www.sparkfun.com/tutorials/286

https://github.com/downloads/jimblom/ColorLCDShield/ColorLCDShield-...

http://tronixstuff.wordpress.com/2011/02/07/tutorial-arduino-and-co...

http://peterdavenport.posterous.com/pages/prodjects

http://www.sparkfun.com/tutorial/Nokia%206100%20LCD%20Display%20Dri...

Exibições: 9429

Comentar

Você precisa ser um membro de Laboratorio de Garagem (arduino, eletrônica, robotica, hacking) para adicionar comentários!

Entrar em Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)

Comentário de Laboratório de Garagem em 28 maio 2012 às 12:22

Mario, voce reduziu a imagem para 132x132 pixels???

Comentário de Mário Mendes em 27 maio 2012 às 16:01

Oi.

tentei converter uma imagem bmp mas não consigo converter com o PYTHON, aqui não explica bem como se faz isso.

 

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço