run.h
void draw(){ matrix.fillScreen(BLACK); if( sin( millis()*.08)>0 ){ matrix.drawPixel(fx,fy,GRAY); } // draw gate --------- if(collision){ matrix.fillCircle(gx,gy,2,DARK_RED); matrix.drawCircle(gx,gy,2,RED); if( sin( millis()*.08)>0 ){ matrix.drawRect(0,0,16,16,DARK_RED); } }else{ matrix.fillRect(gx-1,gy-1,2,2,RED); } // draw cursor -------------------------- //matrix.drawPixel(pbx,pby,GRAY); if(collision_tick < 40){ matrix.drawPixel(bx,by+1,WHITE); } if(collision_tick < 30){ matrix.drawPixel(bx,by-1,WHITE); } if(collision_tick < 20){ matrix.drawPixel(bx-1,by,WHITE); } if(collision_tick < 10){ matrix.drawPixel(bx+1,by,WHITE); } matrix.drawPixel(bx,by,WHITE); pbx = bx; pby = by; //matrix.show(); //return; } void run(){ if(B_1.is_pressed){ accx -= force_intense; accy -= force_intense; // Serial.println("B1"); } if(B_2.is_pressed){ accx += force_intense; accy -= force_intense; //Serial.println("B2"); } if(B_3.is_pressed){ accx -= force_intense; accy += force_intense; //Serial.println("B3"); } if(B_4.is_pressed){ accx += force_intense; accy += force_intense; // Serial.println("B4"); } // add acc to ball position bx += accx; by += accy; accx *=.96; accy *=.96; //if( bx>15 || bx < 1 ){ accx *= -.01;} //if( by>15 || by < 1 ){ accy *= -.01;} if(by>16){by=16;} if(by<0){by=0;} if(bx>16){bx=16;} if(bx<0){bx=0;} // add centerforce ------------------------ center_diff_x = 8-bx; center_diff_y = 8-by; center_diff_x *= .01; center_diff_y *= .01; bx += center_diff_x; by += center_diff_y; // add turbulence ------------------------ turbx = sin(millis()*.00514); turby = sin(millis()*.00543); //bx += turbx *.1; //by += turby *.1; // ------------------------------- // gate turbulence! float turbx2 = cos(millis()*.0022); float turby2 = cos(millis()*.0023); gx += turbx2*.01; gy += turby2*.01; // ---------------------------- // gate attraction float magneticx = bx - gx; float magneticy = by - gy; gx += magneticx * gate_attraction; gy += magneticy * gate_attraction; // constantly count magnetism up! gate_attraction += .0002; //--------------------------------- // collision behaviour float disti = get_dist(); if(disti < 3){ collision = true; }else{ collision = false; } disti = get_food_dist(); if(disti < 3){ fx = random(16); fy = random(16); gate_attraction *=.66; playTone(11111); delay(22); noTone(); } // //------------------------------------ speed_radius +=.3; if( speed_radius> 10 ){ speed_radius = 0; } // -------------------------------------- // -------- GAME OVER HERE // ----------------------------------- if(collision_tick > 50){ hiscore = int( (millis() - run_timestamp ) / 500 ); mode = 3; } if(collision){ playTone(int(1000+random(400))); }else{ noTone();} // ------------------------------- // draw gate if(collision){ //matrix.drawRect(gx-1.85,gy-1.85,3,3,RED); if(sin(millis()*.08)>0){ //matrix.fillCircle(gx,gy,collision_tick*.01+2,BLACK); }else{ //matrix.fillCircle(gx,gy,collision_tick*.01+2,RED); } collision_tick++; }else{ // matrix.fillCircle(gx,gy,1,RED); collision_tick *= 0.9986; } }
main.cpp
#include <Arduino.h> #include <trxy_btn.h> #include <Adafruit_NeoMatrix.h> #define LIGHTBLUE 0x5e7c #define WHITE 0xffff #define BLACK 0x0000 #define GRAY 0x8C50 #define RED 0xF800 #define DARK_RED 0xA000 #define YELLOW 0xEEA0 #define FLIEDER 0x728F uint16_t color_palette[] = {0xA000, 0xF800,0xFFFF,0x5E7C, 0xFD67, 0x728F, 0x0000}; // define stag size #define w 16 #define h 16 aBTN B_3(GPIO_NUM_32,false); aBTN B_4(GPIO_NUM_33,false); aBTN B_2(GPIO_NUM_34,false); aBTN B_1(GPIO_NUM_35,false); float bx = 8; float by = 8; float pbx = 0; float pby = 0; float accx = 0; float accy = 0; float turbx = 0; float turby = 0; float force_intense = .04; float center_diff_x = 0; float center_diff_y = 0; bool collision = false; int collision_tick = 0; float speed_radius = 0; int count_in_ticker =0 ; int scoreshow_ticker = 0; int main_score = 0; float scrollx = 16; float gate_attraction = .01; long run_timestamp = 0; int hiscore = 0; float gx = 8; float gy = 8; int mode = 0; float fx = 12; float fy = 12; Adafruit_NeoMatrix matrix = Adafruit_NeoMatrix(w, h, GPIO_NUM_13, NEO_MATRIX_TOP + NEO_MATRIX_LEFT + NEO_MATRIX_COLUMNS + NEO_MATRIX_ZIGZAG, NEO_GRB + NEO_KHZ800); // ---------------------------------- float get_dist(){ return abs(bx - gx) + abs( by - gy); } float get_food_dist(){ return abs(bx - fx) + abs( by - fy); } int buzzer_pin = 15; int buzz_freq = 2000; int buzz_channel = 1; int resolution = 8; void noTone(){ ledcWriteTone(buzz_channel,0); } void playTone(int _f){ ledcWriteTone(buzz_channel,_f); } #include <run.h> void setup() { //Serial.begin(9600); //Serial.println("----- INITALIZING ---------"); //delay(100); matrix.begin(); matrix.setBrightness(2); matrix.clear(); ledcSetup(buzz_channel,buzz_freq,resolution); ledcAttachPin(12,buzz_channel); //ledcWriteTone(buzz_channel,3333); playTone(3333); delay(100); noTone(); } void resetGame(){ collision_tick = 0; scoreshow_ticker=0; main_score = 0; bx=8; by=8; run_timestamp = 0; gx = 1; gy = 1; gate_attraction = .01; matrix.setRotation(0); run_timestamp = millis(); } void showScore(){ scrollx -= .4; matrix.clear(); matrix.setRotation(0); matrix.setBrightness(12); matrix.setTextWrap(false); matrix.setCursor(scrollx,9); matrix.setTextColor(YELLOW); matrix.print(hiscore); matrix.setRotation(2); matrix.setCursor(scrollx,9); matrix.setTextColor(LIGHTBLUE); matrix.print(hiscore); matrix.show(); if(scrollx<-16){ scrollx = 16; } scoreshow_ticker++; if(scoreshow_ticker>300){ mode = 0; } delay(15); return; } void drawStats(){ // for(int i=0;i<collision_tick/50;i++){ matrix.drawLine(0,0,int(collision_tick/50),0,WHITE); //} } void idleRun(){ matrix.setBrightness(8); int s = random(4)+1; int x = random(8); int y = random(20)-2; uint16_t hue = random(7); matrix.fillRect(x,y,s,s, color_palette[hue]); matrix.fillRect(16-x-s,y,s,s, color_palette[hue]); matrix.show(); } void loop() { // operate all buttons ---------------------- B_1.operateBUTTON(); B_2.operateBUTTON(); B_3.operateBUTTON(); B_4.operateBUTTON(); if(mode==0){ idleRun(); matrix.show(); if( B_1.on_holded || B_2.on_holded || B_3.on_holded || B_4.on_holded){ mode = 1; delay(22); } count_in_ticker = 0; delay(10); return; } // end mode 0 ----------------------- if(mode == 1){ matrix.setPixelColor( count_in_ticker, matrix.gamma32(BLACK)); matrix.setPixelColor( 256-count_in_ticker, matrix.gamma32(BLACK)); matrix.show(); count_in_ticker++; ledcWriteTone(buzz_channel,random(1400)+1000 ); if(count_in_ticker>128){ ledcWriteTone(buzz_channel,0); matrix.setBrightness(20); resetGame(); mode = 2; } delay(4); return; } // end mode 1 ----------------------- if(mode==3){ showScore(); noTone(); return; } // --------------------------- // MAIN ------------- runmode if(mode==2){ run(); draw(); //drawStats(); matrix.show(); delay(10); return; } }
previous prototypes
first applied expample – the emoji workout
main.cpp
#include <Arduino.h> #include <FastLED.h> // FastLED by Daniel Garcia #include <Adafruit_NeoMatrix.h> #include <sprites.h> // define all constants here / setup // define stag size #define w 16 #define h 16 // define spritesheet size #define sw 272 #define sh 16 // define dimensions of our sprite brush #define bw 16 #define bh 16 #define PIN 13 Adafruit_NeoMatrix matrix = Adafruit_NeoMatrix(w, h, PIN, NEO_MATRIX_TOP + NEO_MATRIX_LEFT + NEO_MATRIX_COLUMNS + NEO_MATRIX_ZIGZAG, NEO_GRB + NEO_KHZ800); // ---------------------------------------------- // ---------------------------------------------- // ---------------------------------------------- // we work with a 16x16 brush uint16_t BUFFER_BRUSH[256]; // our 16x16 pixel brush // update the BUFFERBRUSH -------------------- void updateBufferBrush(int _i){ int i = 0; for(int y=0;y<bh;y++){ for(int x=0;x<bw;x++){ BUFFER_BRUSH[i] = SMILEY_MAP[_i + x + y*sw]; i++; }} } void setup() { // put your setup code here, to run once: delay(1000); matrix.begin(); matrix.setBrightness(60); matrix.clear(); } int animtick = 0; void drawImage(){ animtick++; if(animtick>30){ animtick=0; int rspid = int(random(8)); updateBufferBrush(rspid); } } // ------------------------------------------------- void loop() { drawImage(); matrix.clear(); matrix.show(); delay(10); }
sprites.h
0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x2106, 0x2106, 0x2106, 0x2106, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x2106, 0x2106, 0x2106, 0x2106, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x2106, 0x2106, 0x2106, 0x2106, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x2106, 0x2106, 0x2106, 0x2106, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x2106, 0x2106, 0x2106, 0x2106, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x2106, 0x2106, 0x2106, 0x2106, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x2106, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x2106, 0x5e7c, 0x5e7c, 0x2106, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x2106, 0x5e7c, 0x5e7c, 0x2106, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x2106, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xcedf, 0xcedf, 0xcedf, 0xcedf, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0xcedf, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0xcedf, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xdd0c, 0x5e7c, 0xdd0c, 0xdd0c, 0x5e7c, 0xdd0c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0xffff, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0xffff, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0xcedf, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0xcedf, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x2106, 0x2106, 0x2106, 0x2106, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x2106, 0x2106, 0x2106, 0x2106, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x0000, 0x64df, 0x64df, 0x64df, 0x64df, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0x64df, 0x64df, 0x64df, 0x64df, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0xcedf, 0x0000, 0xffff, 0xffff, 0x0000, 0xffff, 0x0000, 0x5e7c, 0xcedf, 0x0000, 0xffff, 0xffff, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x3310, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x3310, 0x5e7c, 0x5e7c, 0x3310, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x3310, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x0000, 0x0013, 0x0000, 0x0000, 0x0000, 0x0013, 0x0000, 0x0000, 0x0000, 0x0000, 0x0013, 0x0000, 0x0000, 0x0000, 0x0013, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x64df, 0x64df, 0x64df, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x64df, 0x64df, 0xffff, 0x0000, 0x5e7c, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x5e7c, 0x5e7c, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0xcedf, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0xcedf, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0xdaac, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xcedf, 0xcedf, 0xcedf, 0xcedf, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xcedf, 0xcedf, 0xcedf, 0xcedf, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x0000, 0x0000, 0x0013, 0x0013, 0x0013, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0013, 0x0013, 0x0013, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0xffff, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xcedf, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0xcedf, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0xdaac, 0xa986, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0xcedf, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xcedf, 0x5e7c, 0x5e7c, 0xcedf, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xcedf, 0x5e7c, 0x5e7c, 0x64df, 0x0000, 0xffff, 0xffff, 0x0000, 0x64df, 0x5e7c, 0x5e7c, 0x64df, 0x0000, 0xffff, 0xffff, 0x0000, 0x64df, 0x5e7c, 0x5e7c, 0x64df, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x64df, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x64df, 0x0000, 0xffff, 0xffff, 0x0000, 0x64df, 0x5e7c, 0x5e7c, 0x64df, 0x0000, 0xffff, 0xffff, 0x0000, 0x64df, 0x5e7c, 0x5e7c, 0x64df, 0x0000, 0x0000, 0x0000, 0x0000, 0x64df, 0x5e7c, 0x5e7c, 0x64df, 0x0000, 0x0000, 0x0000, 0x0000, 0x64df, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0xffff, 0x5e7c, 0x5e7c, 0xdaac, 0xdaac, 0xdaac, 0xdaac, 0xa986, 0xa986, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0xcedf, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0xa986, 0xffff, 0xffff, 0xa986, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x0000, 0x0000, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x0000, 0x0000, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x0000, 0x0000, 0x0000, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x0000, 0x0000, 0x0000, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x0000, 0x0000, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x0000, 0x0000, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x0000, 0x0000, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x0000, 0x0000, 0x64df, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x0000, 0x0000, 0x0000, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xdaac, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0xa986, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa986, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0xffff, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0xffff, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x5b7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x5b7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0xee13, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0xee13, 0x5e7c, 0x5e7c, 0xee13, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0xee13, 0x5e7c, 0x5e7c, 0x83f0, 0x83f0, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x83f0, 0x83f0, 0x83f0, 0x83f0, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0xa986, 0x0000, 0x0000, 0xa986, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xdaac, 0xdaac, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x5e7c, 0xdaac, 0xdaac, 0xa986, 0xa986, 0x5e7c, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x64df, 0xdaac, 0xdaac, 0xa986, 0xa986, 0x5e7c, 0x64df, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x64df, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x64df, 0x5e7c, 0x5e7c, 0x64df, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x64df, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xdaac, 0xdaac, 0xdaac, 0xdaac, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xdaac, 0xa986, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0x0000, 0x0000, 0xdaac, 0xdaac, 0xdaac, 0xdaac, 0xdaac, 0xdaac, 0x0000, 0x0000, 0x61c6, 0x61c6, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0x61c6, 0x0000, 0xffff, 0xffff, 0x0000, 0xffff, 0xffff, 0x0000, 0xffff, 0xffff, 0x0000, 0x61c6, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x5b7c, 0x5b7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x5b7c, 0x5b7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0xee13, 0x0000, 0x0000, 0x0000, 0xee13, 0x64df, 0x5e7c, 0x5e7c, 0x64df, 0xee13, 0x0000, 0x0000, 0x0000, 0xee13, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0xa986, 0x0000, 0x0000, 0xa986, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xdaac, 0xa986, 0x0000, 0x0000, 0xdaac, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xdaac, 0xa986, 0x0000, 0x0000, 0xdaac, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xdaac, 0xa986, 0x0000, 0x0000, 0xdaac, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xdaac, 0xdaac, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xdaac, 0xdaac, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0013, 0x0013, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x64df, 0x0000, 0x0000, 0x0000, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x0000, 0x0000, 0x0000, 0x64df, 0x5e7c, 0x5e7c, 0xa986, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0xdaac, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0xdaac, 0xdaac, 0x61c6, 0x61c6, 0x61c6, 0x61c6, 0x61c6, 0x61c6, 0xdaac, 0xdaac, 0x61c6, 0x61c6, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xdaac, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xdaac, 0xdaac, 0xdaac, 0xdaac, 0xdaac, 0xdaac, 0xdaac, 0xdaac, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0xee13, 0xee13, 0xee13, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0xee13, 0xee13, 0xee13, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0xa986, 0x0000, 0x0000, 0xa986, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0xee13, 0xdd0c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0xdaac, 0xdaac, 0xa986, 0x61c6, 0x5e7c, 0x5e7c, 0xee13, 0xdd0c, 0x5e7c, 0x5e7c, 0xee13, 0xdd0c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0xdaac, 0xdaac, 0xa986, 0x61c6, 0x5e7c, 0x5e7c, 0xee13, 0xdd0c, 0x5e7c, 0x5e7c, 0xee13, 0xdd0c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0xdaac, 0xdaac, 0xa986, 0x61c6, 0x5e7c, 0x5e7c, 0xee13, 0xdd0c, 0x5e7c, 0x5e7c, 0xee13, 0xdd0c, 0x5e7c, 0x5e7c, 0xdaac, 0xa986, 0x0000, 0x0000, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0xee13, 0xdd0c, 0x5e7c, 0x5e7c, 0xee13, 0xdd0c, 0x5e7c, 0x5e7c, 0xdaac, 0xa986, 0x0000, 0x0000, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0xee13, 0xdd0c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xdaac, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x61c6, 0x61c6, 0x61c6, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x61c6, 0x61c6, 0x61c6, 0x61c6, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xdaac, 0xdaac, 0xdaac, 0xdaac, 0xdaac, 0xdaac, 0xdaac, 0xdaac, 0xdaac, 0xdaac, 0x61c6, 0x5e7c, 0x5e7c, 0x5e7c, 0xee13, 0xee13, 0x5e7c, 0x5e7c, 0xdaac, 0xdaac, 0xdaac, 0xdaac, 0xdaac, 0xa986, 0x5e7c, 0x5e7c, 0xee13, 0xee13, 0x5e7c, 0x5e7c, 0xee13, 0xee13, 0x5e7c, 0xdaac, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0xa986, 0x5e7c, 0xee13, 0xee13, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0xa986, 0x0000, 0x0000, 0xdaac, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0xdd0c, 0xdd0c, 0x5e7c, 0x5e7c, 0x64df, 0xa986, 0x61c6, 0x61c6, 0x61c6, 0x64df, 0x5e7c, 0x5e7c, 0xdd0c, 0xdd0c, 0x5e7c, 0x5e7c, 0xdd0c, 0xdd0c, 0x5e7c, 0x5e7c, 0x64df, 0xa986, 0x61c6, 0x61c6, 0x61c6, 0x64df, 0x5e7c, 0x5e7c, 0xdd0c, 0xdd0c, 0x5e7c, 0x5e7c, 0xdd0c, 0xdd0c, 0x5e7c, 0x5e7c, 0x64df, 0xa986, 0x61c6, 0x61c6, 0x61c6, 0x64df, 0x5e7c, 0x5e7c, 0xdd0c, 0xdd0c, 0x5e7c, 0x5e7c, 0xdd0c, 0xdd0c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0xa986, 0xa986, 0xdaac, 0x61c6, 0x5e7c, 0x5e7c, 0xdd0c, 0xdd0c, 0x5e7c, 0x5e7c, 0xdd0c, 0xdd0c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0xa986, 0xa986, 0xdaac, 0x61c6, 0x5e7c, 0x5e7c, 0xdd0c, 0xdd0c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xee13, 0xdd0c, 0x5e7c, 0x5e7c, 0xdaac, 0xdaac, 0xdaac, 0xdaac, 0xa986, 0xa986, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0xee13, 0xdd0c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x61c6, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xdaac, 0xdaac, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x61c6, 0x61c6, 0x61c6, 0x61c6, 0x61c6, 0x61c6, 0x61c6, 0x61c6, 0x61c6, 0x61c6, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xee13, 0xee13, 0x5e7c, 0x5e7c, 0xa986, 0x0000, 0x0000, 0x0000, 0x0000, 0xa986, 0x5e7c, 0x5e7c, 0xee13, 0xee13, 0x5e7c, 0x5e7c, 0xee13, 0xee13, 0x5e7c, 0xa986, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x61c6, 0x5e7c, 0xee13, 0xee13, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xdaac, 0xdaac, 0x61c6, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x64df, 0xa986, 0x61c6, 0x61c6, 0x61c6, 0x64df, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x64df, 0xa986, 0x61c6, 0x61c6, 0x61c6, 0x64df, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xdd0c, 0xdd0c, 0x5e7c, 0xa986, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa986, 0x5e7c, 0xdd0c, 0xdd0c, 0x5e7c, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0x61c6, 0x61c6, 0x61c6, 0x61c6, 0x61c6, 0x61c6, 0x61c6, 0x61c6, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0x61c6, 0x61c6, 0x61c6, 0x61c6, 0x61c6, 0x61c6, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xdaac, 0xdaac, 0xdaac, 0xdaac, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0xa986, 0x61c6, 0x61c6, 0x61c6, 0x61c6, 0x61c6, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x61c6, 0x61c6, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x64df, 0x64df, 0x5e7c, 0xa986, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xdaac, 0x5e7c, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x64df, 0x64df, 0x64df, 0x64df, 0x64df, 0x64df, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x5b7c, 0x5b7c, 0x5b7c, 0x5b7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c
minimal animated sprite setup
Running pixel graphics based animations on the 16×16 matrix is unfortunately not that straight forward. We have to fall back to best practice „oldschool“ approach to realize this – as we need to deal with spritesheets converted to c++ array. Yeah! As one quick proof of concept we pick this simple 128×48 pixel graphics, that contains several phases of one character pixel animation – each with a 16×16 range. This graphic can be downloaded from OPEN GAME ART.
Now, we simply convert this graphics in C++ readable format with the help of a tool called LCD Image Converter – The graphics need to be in RGB and 16bit format to be readable with the Adafruit Neopixel Lib.
#include <Arduino.h> #include <FastLED.h> // FastLED by Daniel Garcia #include <Adafruit_NeoMatrix.h> #include <trx_btn.h> #define TRANSPARENT_COLOR 0xf8e4 #define WHITE 0xffff #define BLACK 0x0000 //static const uint16_t BUFFER[]; // 124 x 48 static const uint16_t SMILEY_MAP[] PROGMEM = { 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x2138, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2138, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x2138, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2138, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x2138, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2138, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x2138, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2138, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xc618, 0x2138, 0x2138, 0x2138, 0x0000, 0x0000, 0x2138, 0x2138, 0x2138, 0xc618, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x2138, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xc618, 0x2138, 0x2138, 0x2138, 0x0000, 0x0000, 0x2138, 0x2138, 0x2138, 0xc618, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2138, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xc618, 0x2138, 0x2138, 0x2138, 0x0000, 0x0000, 0x2138, 0x2138, 0x2138, 0xc618, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x2138, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xc618, 0x2138, 0x2138, 0x2138, 0x0000, 0x0000, 0x2138, 0x2138, 0x2138, 0xc618, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2138, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xc618, 0x0000, 0x2138, 0x2138, 0x2138, 0x2138, 0x2138, 0x2138, 0x0000, 0xc618, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xc618, 0x2138, 0x2138, 0x2138, 0x0000, 0x0000, 0x2138, 0x2138, 0x0000, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xc618, 0x0000, 0x2138, 0x2138, 0x2138, 0x2138, 0x2138, 0x2138, 0x0000, 0xc618, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0x0000, 0x2138, 0x2138, 0x0000, 0x0000, 0x2138, 0x2138, 0x2138, 0xc618, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xc618, 0x0000, 0x18f2, 0x2138, 0x2138, 0x2138, 0x2138, 0x18f2, 0x0000, 0xc618, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xc618, 0x2138, 0x2138, 0x2138, 0x0000, 0x0000, 0x2138, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xc618, 0x0000, 0x18f2, 0x2138, 0x2138, 0x2138, 0x2138, 0x18f2, 0x0000, 0xc618, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0x2138, 0x0000, 0x0000, 0x2138, 0x2138, 0x2138, 0xc618, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0x18f2, 0x2138, 0x2138, 0x2138, 0x2138, 0x18f2, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0x18f2, 0x2138, 0x2138, 0x2138, 0x2138, 0x2138, 0x0000, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0x18f2, 0x2138, 0x2138, 0x2138, 0x2138, 0x18f2, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0x0000, 0x2138, 0x2138, 0x2138, 0x2138, 0x2138, 0x18f2, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xc618, 0x0000, 0x18f2, 0x2138, 0x2138, 0x2138, 0x18f2, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0x18f2, 0x2138, 0x2138, 0x2138, 0x18f2, 0x0000, 0xc618, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0xc618, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0xc618, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0xc618, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0xc618, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0xc618, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0xc618, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0xc618, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0xc618, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0xc618, 0xc618, 0xc618, 0xc618, 0xc618, 0xc618, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0xc618, 0xc618, 0xc618, 0xc618, 0xc618, 0xc618, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xc618, 0x0000, 0x0000, 0xc618, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0xc618, 0xc618, 0x0000, 0x0000, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xc618, 0x0000, 0x0000, 0xc618, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x0000, 0x0000, 0xc618, 0xc618, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xc618, 0x0000, 0x0000, 0xc618, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0xc618, 0xc618, 0x0000, 0x0000, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xc618, 0x0000, 0x0000, 0xc618, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x0000, 0x0000, 0xc618, 0xc618, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x18f2, 0x18f2, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x18f2, 0x18f2, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x18f2, 0x18f2, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x18f2, 0x18f2, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x2138, 0x0000, 0x0000, 0x2138, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x2138, 0x18f2, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x2138, 0x0000, 0x0000, 0x2138, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x2138, 0x18f2, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x18f2, 0x2138, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x2138, 0x0000, 0x0000, 0x2138, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x18f2, 0x2138, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x2138, 0x0000, 0x0000, 0x2138, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x2138, 0x2138, 0x0000, 0x0000, 0xc618, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0xc618, 0x2138, 0x2138, 0x2138, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x2138, 0x2138, 0x2138, 0x0000, 0x0000, 0xc618, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x2138, 0x2138, 0x2138, 0xc618, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0xc618, 0x2138, 0x2138, 0x2138, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xc618, 0x0000, 0x0000, 0x2138, 0x2138, 0x2138, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x2138, 0x2138, 0x2138, 0xc618, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xc618, 0x0000, 0x0000, 0x2138, 0x2138, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x2138, 0x0000, 0xef16, 0xef16, 0xc618, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0x2138, 0x2138, 0x18f2, 0x0000, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xef16, 0x2138, 0x0000, 0xef16, 0xef16, 0xc618, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0x0000, 0x2138, 0x2138, 0x2138, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0x2138, 0x2138, 0x2138, 0x0000, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xc618, 0xef16, 0xef16, 0x0000, 0x2138, 0xef16, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0x0000, 0x18f2, 0x2138, 0x2138, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xc618, 0xef16, 0xef16, 0x0000, 0x2138, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x18f2, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0x18f2, 0x18f2, 0x18f2, 0x0000, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xef16, 0x18f2, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0x0000, 0x18f2, 0x18f2, 0x18f2, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0x18f2, 0x18f2, 0x18f2, 0x0000, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0x18f2, 0xef16, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0x0000, 0x18f2, 0x18f2, 0x18f2, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0x18f2, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xc618, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0xc618, 0x0000, 0x0000, 0xc618, 0xc618, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xc618, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0xc618, 0x0000, 0x0000, 0xc618, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0xc618, 0x0000, 0x0000, 0xc618, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0xc618, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0xc618, 0xc618, 0x0000, 0x0000, 0xc618, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0xc618, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0x0000, 0x0000, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x0000, 0x0000, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x9bc0, 0x0000, 0x9bc0, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x9bc0, 0x0000, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0x0000, 0x9bc0, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x9bc0, 0x0000, 0x9bc0, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0x0000, 0x0000, 0xef16, 0xef16, 0x0000, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0x0000, 0xc618, 0x0000, 0xef16, 0x0000, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0x0000, 0xc618, 0x0000, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0x0000, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0xc618, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xc618, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x2138, 0x18f2, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0xc618, 0x0000, 0x0000, 0x2138, 0x18f2, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0xc618, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0xc618, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2138, 0xc618, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0xc618, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x2138, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x2138, 0x2138, 0x2138, 0xc618, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2138, 0x2138, 0x2138, 0xc618, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x18f2, 0x0000, 0x2138, 0x2138, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x2138, 0x0000, 0xc618, 0xc618, 0xc618, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0x0000, 0x2138, 0x2138, 0x0000, 0x0000, 0x2138, 0x2138, 0x2138, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0x0000, 0x2138, 0x2138, 0x0000, 0x0000, 0x2138, 0x2138, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x2138, 0x2138, 0x0000, 0x0000, 0x2138, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xc618, 0x0000, 0x0000, 0x0000, 0x0000, 0x2138, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x2138, 0x2138, 0x2138, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x2138, 0x2138, 0x2138, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x2138, 0x2138, 0x2138, 0x2138, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x2138, 0x2138, 0x0000, 0x0000, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0x0000, 0x2138, 0x2138, 0x2138, 0x2138, 0x2138, 0x18f2, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0x0000, 0x2138, 0x2138, 0x2138, 0x2138, 0x2138, 0x18f2, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x18f2, 0x2138, 0x2138, 0x2138, 0x18f2, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xc618, 0x0000, 0x0000, 0x2138, 0x2138, 0x18f2, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x18f2, 0x18f2, 0x18f2, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x18f2, 0x18f2, 0x18f2, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0xc618, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0xc618, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0xc618, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0xc618, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0x18f2, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0xc618, 0x0000, 0x0000, 0xc618, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0xc618, 0x0000, 0x0000, 0xc618, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xc618, 0x0000, 0x0000, 0xc618, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xc618, 0x0000, 0x0000, 0xc618, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xc618, 0xc618, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xc618, 0xc618, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0xc618, 0xc618, 0x0000, 0x0000, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0x0000, 0x0000, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0x0000, 0x0000, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0x0000, 0x0000, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x0000, 0x0000, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x0000, 0x0000, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x9bc0, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x9bc0, 0x0000, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x9bc0, 0x0000, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0x0000, 0x9bc0, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0x0000, 0x9bc0, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4 }; int anim_table_off_x = 4; int anim_table_off_y = 0; int text_scroll = 0; // text scrolling pointer int mode = 0; #define w 16 #define h 16 #define PIN 13 Adafruit_NeoMatrix matrix = Adafruit_NeoMatrix(w, h, PIN, NEO_MATRIX_TOP + NEO_MATRIX_LEFT + NEO_MATRIX_COLUMNS + NEO_MATRIX_ZIGZAG, NEO_GRB + NEO_KHZ800); // BUTTON SETUP aBTN btn1(5,false); // init button 1 on digipin 2 aBTN btn2(18,false); // init button 2 on digipin 4 aBTN btn3(21,false); // init button 1 on digipin 2 aBTN btn4(19,false); // init button 2 on digipin 4 void prepareBuffers(){ // todo > transparency color stuff! } void setup() { // put your setup code here, to run once: delay(100); matrix.begin(); matrix.setBrightness(60); matrix.clear(); prepareBuffers(); } int animtick = 0; void drawImage(){ animtick++; if(animtick>3){ animtick=0; } float xpos = animtick*16; float ypos = 0;//sin(millis()*.003)*66+160; xpos += sin(millis()*.0063)*2+1; ypos += sin(millis()*.0033)*2+1; //matrix.drawRGBBitmap(int(-xpos)-anim_table_off_x*16,int(ypos)-anim_table_off_y*16-1, SMILEY_MAP,128,48); matrix.drawRGBBitmap(int(-xpos)-anim_table_off_x*16,int(ypos)-anim_table_off_y*16-1, SMILEY_MAP,128,48); } // ------------------------------------------------- void loop() { // ---- operate all buttons in parallel // ------------------------------- btn1.operateBUTTON(); btn2.operateBUTTON(); btn3.operateBUTTON(); btn4.operateBUTTON(); if(btn1.on_pressed){ anim_table_off_x = 0; anim_table_off_y = 0; mode = 0; } if(btn2.on_pressed){ anim_table_off_x = 4; anim_table_off_y = 0; mode = 0; } if(btn3.on_pressed){ anim_table_off_x = 0; anim_table_off_y = 1; mode = 1; } if(btn4.on_pressed){ anim_table_off_x = 4; anim_table_off_y = 1; mode = 1; } //matrix.clear(); //drawColorNoise(); if(mode==0){ drawImage(); }else if (mode==1){ matrix.fillScreen(WHITE); matrix.setCursor(text_scroll,4); matrix.setTextColor(BLACK); matrix.setTextWrap(false); matrix.print("Why run all the time?"); text_scroll--; if(text_scroll<-140){ text_scroll = 16; } } matrix.show(); delay(30); }
first approach
ESP32 + 16×16 RGB LED MATRIX
#include <FastLED.h> // FastLED by Daniel Garcia #include <Adafruit_GFX.h> #include <Adafruit_NeoMatrix.h> #include <Adafruit_NeoPixel.h> // what is it we can draw? // https://learn.adafruit.com/adafruit-gfx-graphics-library/graphics-primitives const unsigned short ASTRO[256] PROGMEM={ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x01F5, 0x01F5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0010 (16) pixels 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xE678, 0xFFFF, 0x01F5, 0x01F5, 0xFFFF, 0xE678, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0020 (32) pixels 0x0000, 0x0000, 0x0000, 0x0000, 0xE678, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xE678, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0030 (48) pixels 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0040 (64) pixels 0x0000, 0x0000, 0x0000, 0x01F5, 0xFFFF, 0x01F5, 0xA413, 0xA413, 0xA413, 0xA413, 0x01F5, 0xFFFF, 0x01F5, 0x0000, 0x0000, 0x0000, // 0x0050 (80) pixels 0x0000, 0x0000, 0xF904, 0x01F5, 0xFFFF, 0xFC98, 0x0000, 0xFC98, 0xFC98, 0x0000, 0xFC98, 0xFFFF, 0x01F5, 0xF904, 0x0000, 0x0000, // 0x0060 (96) pixels 0x0000, 0x0000, 0xF904, 0x01F5, 0xFFFF, 0xFC98, 0x0000, 0xFC98, 0xFC98, 0x0000, 0xFC98, 0xFFFF, 0x01F5, 0xF904, 0x0000, 0x0000, // 0x0070 (112) pixels 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFC98, 0xFC98, 0xFC98, 0xFC98, 0xFC98, 0xFC98, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0080 (128) pixels 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x01F5, 0xFC98, 0xF904, 0xF904, 0xFC98, 0x01F5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0090 (144) pixels 0x0000, 0x0000, 0x0000, 0x0000, 0xA413, 0xFFFF, 0x5A0D, 0x5A0D, 0x5A0D, 0x5A0D, 0xFFFF, 0xA413, 0x0000, 0x0000, 0x0000, 0x0000, // 0x00A0 (160) pixels 0x0000, 0x0000, 0x0000, 0x01F5, 0xFFFF, 0xF904, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xF904, 0xFFFF, 0x01F5, 0x0000, 0x0000, 0x0000, // 0x00B0 (176) pixels 0x0000, 0x0000, 0x0000, 0x01F5, 0x01F5, 0xFFFF, 0xF904, 0xFFFF, 0xFFFF, 0xF904, 0xFFFF, 0x01F5, 0x01F5, 0x0000, 0x0000, 0x0000, // 0x00C0 (192) pixels 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x01F5, 0x01F5, 0xF904, 0xF904, 0x01F5, 0x01F5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x00D0 (208) pixels 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xF904, 0xF904, 0x0000, 0x0000, 0xF904, 0xF904, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x00E0 (224) pixels 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x00F0 (240) pixels 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0100 (256) pixels }; const unsigned short UHR[256] PROGMEM={ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0010 (16) pixels 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0020 (32) pixels 0x0000, 0x0000, 0xE678, 0xA413, 0x0000, 0x0000, 0xE678, 0xE678, 0xE678, 0xE678, 0x0000, 0x0000, 0xA413, 0xE678, 0x0000, 0x0000, // 0x0030 (48) pixels 0x0000, 0xE678, 0xA413, 0x0000, 0xE678, 0xE678, 0xE678, 0xE678, 0xE678, 0xE678, 0xE678, 0xE678, 0x0000, 0xA413, 0xE678, 0x0000, // 0x0040 (64) pixels 0x0000, 0xA413, 0x0000, 0xE678, 0xE678, 0xE678, 0xE678, 0xE678, 0xE678, 0xE678, 0x5A0D, 0xE678, 0xE678, 0x0000, 0xA413, 0x0000, // 0x0050 (80) pixels 0x0000, 0xA413, 0x0000, 0xE678, 0xE678, 0xE678, 0xE678, 0xE678, 0xE678, 0x5A0D, 0xE678, 0xE678, 0xE678, 0x0000, 0xA413, 0x0000, // 0x0060 (96) pixels 0x0000, 0x0000, 0xE678, 0xA413, 0xA413, 0xE678, 0xE678, 0xE678, 0xE678, 0x5A0D, 0xE678, 0xA413, 0xA413, 0xE678, 0x0000, 0x0000, // 0x0070 (112) pixels 0x0000, 0x0000, 0xE678, 0xE678, 0xE678, 0xE678, 0xE678, 0xE678, 0x5A0D, 0xE678, 0xE678, 0xE678, 0xE678, 0xE678, 0x0000, 0x0000, // 0x0080 (128) pixels 0x0000, 0x0000, 0xE678, 0xFFFF, 0x0000, 0xE678, 0xE678, 0xFFFF, 0x0000, 0xE678, 0xE678, 0xFFFF, 0x0000, 0xE678, 0x0000, 0x0000, // 0x0090 (144) pixels 0x0000, 0x0000, 0xE678, 0x0000, 0x0000, 0xE678, 0xE678, 0x0000, 0x0000, 0xE678, 0xE678, 0x0000, 0x0000, 0xA413, 0x0000, 0x0000, // 0x00A0 (160) pixels 0x0000, 0x0000, 0xFC06, 0xFC06, 0xFC06, 0xE678, 0xE678, 0xE678, 0xE678, 0xE678, 0xE678, 0xFC06, 0xFC06, 0xFC06, 0x0000, 0x0000, // 0x00B0 (176) pixels 0x0000, 0x0000, 0x0000, 0xE678, 0xE678, 0xE678, 0xE678, 0xE678, 0xE678, 0xE678, 0xE678, 0xA413, 0xA413, 0x0000, 0x0000, 0x0000, // 0x00C0 (192) pixels 0x0000, 0x0000, 0x0000, 0xE678, 0xE678, 0xE678, 0xE678, 0x0000, 0x0000, 0xE678, 0xA413, 0xA413, 0xA413, 0x0000, 0x0000, 0x0000, // 0x00D0 (208) pixels 0x0000, 0x0000, 0xFFFF, 0x0000, 0x0000, 0xA413, 0xA413, 0xA413, 0xA413, 0xA413, 0xA413, 0x0000, 0x0000, 0xFFFF, 0x0000, 0x0000, // 0x00E0 (224) pixels 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x00F0 (240) pixels 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0100 (256) pixels }; #define PIN 13 // MATRIX DECLARATION: // Parameter 1 = width of NeoPixel matrix // Parameter 2 = height of matrix // Parameter 3 = pin number (most are valid) // Parameter 4 = matrix layout flags, add together as needed: // NEO_MATRIX_TOP, NEO_MATRIX_BOTTOM, NEO_MATRIX_LEFT, NEO_MATRIX_RIGHT: // Position of the FIRST LED in the matrix; pick two, e.g. // NEO_MATRIX_TOP + NEO_MATRIX_LEFT for the top-left corner. // NEO_MATRIX_ROWS, NEO_MATRIX_COLUMNS: LEDs are arranged in horizontal // rows or in vertical columns, respectively; pick one or the other. // NEO_MATRIX_PROGRESSIVE, NEO_MATRIX_ZIGZAG: all rows/columns proceed // in the same order, or alternate lines reverse direction; pick one. // See example below for these values in action. // Parameter 5 = pixel type flags, add together as needed: // NEO_KHZ800 800 KHz bitstream (most NeoPixel products w/WS2812 LEDs) // NEO_KHZ400 400 KHz (classic 'v1' (not v2) FLORA pixels, WS2811 drivers) // NEO_GRB Pixels are wired for GRB bitstream (most NeoPixel products) // NEO_GRBW Pixels are wired for GRBW bitstream (RGB+W NeoPixel products) // NEO_RGB Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2) // Example for NeoPixel Shield. In this application we'd like to use it // as a 5x8 tall matrix, with the USB port positioned at the top of the // Arduino. When held that way, the first pixel is at the top right, and // lines are arranged in columns, progressive order. The shield uses // 800 KHz (v2) pixels that expect GRB color data. Adafruit_NeoMatrix matrix = Adafruit_NeoMatrix(16, 16, PIN, NEO_MATRIX_TOP + NEO_MATRIX_RIGHT + NEO_MATRIX_COLUMNS + NEO_MATRIX_ZIGZAG, NEO_GRB + NEO_KHZ800); // ####################################### // stuff for procedural noise uint16_t speed = 8; uint16_t noise[16][16]; uint16_t scale = 80; static uint16_t x; static uint16_t y; static uint16_t z; // Fill the x/y array of 8-bit noise values using the inoise8 function. void fillnoise8() { for(int i = 0; i < 16; i++) { int ioffset = scale * i; for(int j = 0; j < 16; j++) { int joffset = scale * j; noise[i][j] = inoise8(x + ioffset,y + joffset,z); } } z += speed; } // ####################################### // image drawing function - this might be really bad solution :( void drawImage(int x, int y) { int imageHeight = 16; int imageWidth = 16; int counter = 0; for (int yy = 0; yy < imageHeight; yy++) { for (int xx = 0; xx < imageWidth; xx++) { matrix.drawPixel(xx + x , yy + y, ASTRO[counter] ); counter++; } } } // ####################################### void setup() { // Initialize our coordinates to some random values x = random16(); y = random16(); z = random16(); matrix.begin(); //matrix.setTextWrap(false); matrix.setBrightness(20); //matrix.setTextColor(colors[0]); matrix.clear(); //Serial.begin(9600); } void drawNoiseFrame(){ int idtick = 0; fillnoise8(); for(int y=0;y<16;y++){ for(int xi=0;xi<16;xi++){ //int dcid = round(noise[y][xi] * 3 ); int n = round(noise[y][xi] * 255 ); int n2 = round(noise[xi*2][y] * 255 ); matrix.drawPixel(xi, y, matrix.Color(n,0,n2) ); idtick++; } } } float px = 8.; float py = 8.; float pspeed = .15; float pax = pspeed*2; float pay = pspeed; int h = 16; int w = 16; void loop() { if(px>float(w)-1 || px<0 ){pax *=-1.;} if(py>float(h)-1 || py<0 ){pay *=-1.;} px += pax; py += pay; drawNoiseFrame(); matrix.clear(); // matrix.fillCircle(int(px),int(py),2,matrix.Color(152,32,122) ); //matrix.fillRect(px,py,2,2,matrix.Color(2,111,112)); //matrix.drawPixel(int(px),int(py), matrix.Color(11, 22, 22)); drawImage(int(px)-8,int(py)-8); matrix.show(); delay(10); }