🔍

ESP-NOW multiplayer

With the inherit ESP-NOW system integrated in each ESP32, we can create seamless communication between multiple nodes – without any router or external amplification. The following is a first prototype to connect three TTGO V1.4 with one another.


#include <Arduino.h>
 
#include "WiFi.h"
#include "esp_wifi.h"
#include <esp_now.h>
 
#include <Adafruit_GFX.h>                                  // Core graphics library
#include <Adafruit_ST7735.h>    
 #include <sheet.h>

  #include <sprite_routines.h>
 
 
#define LED_BUILTIN 22
Adafruit_ST7735 tft = Adafruit_ST7735(16, 17, 23, 5, 9); // CS,A0,SDA,SCK,RESET
 
// ONE >>  24:0A:C4:2F:A0:04
// TWO >>  A4:CF:12:24:A3:B0
// TRE >>  A4:CF:12:24:A3:2C

// REPLACE WITH YOUR RECEIVER MAC Address
uint8_t ONE_address[] = {0x24, 0x0A, 0xC4, 0x2F, 0xA0, 0x04};
uint8_t TWO_address[] = {0xA4, 0xCF, 0x12, 0x24, 0xA3, 0xB0};
uint8_t TRE_address[] = {0xA4, 0xCF, 0x12, 0x24, 0xA3, 0x2C};



 uint8_t my_mac_adress[6]; 
 
//uint8_t target_mac_adress[] = {0xA4, 0xCF, 0x12, 0x24, 0xA3, 0xB0};
//uint8_t my_mac_adress[] = {0xA4, 0xCF, 0x12, 0x24, 0xA3, 0x00}; 
 
//bool is_ONE = false;

int mex = 55;
int mey = 55;


int nodeID = 1;

int ox1 = 0;
int oy1 = 0;
float sox1 = 0.0;
float soy1 = 0.0;

int ox2 = 0;
int oy2 = 0;
float sox2 = 0.0;
float soy2 = 0.0;

int ox3 = 0;
int oy3 = 0;
float sox3 = 0.0;
float soy3 = 0.0;

float move_speed = .88;


void wifi_mac_to_uint8_t(const char* mac_address_str, uint8_t* mac_address_uint8_t) {
    sscanf(mac_address_str, "%hhx:%hhx:%hhx:%hhx:%hhx:%hhx", 
        &mac_address_uint8_t[0], &mac_address_uint8_t[1], &mac_address_uint8_t[2], 
        &mac_address_uint8_t[3], &mac_address_uint8_t[4], &mac_address_uint8_t[5]);
}
 
bool compare_mac_addresses(const uint8_t* mac_address1, const uint8_t* mac_address2) {
    return memcmp(mac_address1, mac_address2, 6) == 0;
}

// --------------------
 
typedef struct struct_message {
  char a[64];
  int node_id;
  int tx;
  int ty;
  
} struct_message;
 
// Create a struct_message called myData
struct_message myData;
esp_now_peer_info_t peerInfo;
 
// Create a struct_message to hold incoming sensor readings
struct_message incomingReadings;
 
//--------------------------------------------------
 

float smooth(float current_value, float previous_value, float alpha) {
  return (alpha * current_value) + ((1 - alpha) * previous_value);
}


// ---------------------------------
 
 

 
 
// --------------------
 
// callback when data is sent
void OnDataSent(const uint8_t *mac_addr, esp_now_send_status_t status) {
 // Serial.print("\r\nLast Packet Send Status:\t");
 // Serial.println(status == ESP_NOW_SEND_SUCCESS ? "Delivery Success" : "Delivery Fail");
 
 if(status == ESP_NOW_SEND_SUCCESS){
  Serial.println( " send somthing from ... ");
 }
 
}
  
 #include <send_recieve.h>

// --------------------------
 
void setup() {
  // Init Serial Monitor
  Serial.begin(9600);
  init_spritesheet();
 
  pinMode(27,OUTPUT);//Backlight:27
  analogWrite(27,35);//New version added to backlight control
  tft.initR(INITR_18GREENTAB);                             // 1.44 v2.1
  tft.fillScreen(ST7735_BLACK);                            // CLEAR
  pinMode(LED_BUILTIN, OUTPUT);
  
 
  // Set device as a Wi-Fi Station
  WiFi.mode(WIFI_STA);
   WiFi.disconnect();

  String mac_address_str = WiFi.macAddress();  // get MAC address as a String object
  wifi_mac_to_uint8_t(mac_address_str.c_str(), my_mac_adress);  // convert MAC address to uint8_t format
  
   // nodeID = 1;
    if( compare_mac_addresses( my_mac_adress, ONE_address)) {nodeID = 1;}
    if( compare_mac_addresses( my_mac_adress, TWO_address)) {nodeID = 2;}
    if( compare_mac_addresses( my_mac_adress, TRE_address)) {nodeID = 3;}

   
    
   
 /*
  if(nodeID!=1){
     
    for(int i=0;i<6;i++){
      target_mac_adress[i] = ONE_address[i];
    }
  }
   */
 
  // Init ESP-NOW
  if (esp_now_init() != ESP_OK) {
    Serial.println("Error initializing ESP-NOW");
    return;
  }
 
  // Once ESPNow is successfully Init, we will register for Send CB to
  // get the status of Trasnmitted packet
  esp_now_register_send_cb(OnDataSent);
   
  // Register peer
  //esp_now_peer_info_t peerInfo;
  /*
  memcpy(peerInfo.peer_addr, target_mac_adress, 6);
  peerInfo.channel = 0;  
  peerInfo.encrypt = false;
   */

 register_peers(nodeID);
  // Add peer        
 /*
  if (esp_now_add_peer(&peerInfo) != ESP_OK){
    Serial.println("Failed to add peer");
    return;
  }
 */
  esp_now_register_recv_cb(OnDataRecv);
  
  // set the wifi to get rssi shitty stuff!
   esp_wifi_set_promiscuous(true);
  esp_wifi_set_promiscuous_rx_cb(&promiscuous_rx_cb);

  
}
  
int send_tick = 0;

void loop() {

  if(send_tick>50){
    send_it();
    send_tick = 0;


   // esp_now_peer_info_t peers[2];
    
 // int numPeers = WiFi.espnowPeers(peers, 10);

  }else{
    send_tick++;
  }

   // -----------------------------------------------
  // ---------------- CALS ------------------
  // -----------------------------------------------


  soy1 = smooth(soy1,oy1,move_speed);
  sox1 = smooth(sox1,ox1,move_speed);

  soy2 = smooth(soy2,oy2,move_speed);
  sox2 = smooth(sox2,ox2,move_speed);

  soy3 = smooth(soy3,oy3,move_speed);
  sox3 = smooth(sox3,ox3,move_speed);
 
   // -----------------------------------------------
  // ---------------- DRAW ------------------
  // -----------------------------------------------
 
   tft.drawRGBBitmap(sox1,soy1,sprites[1],sprite_w,sprite_h);
   tft.drawRGBBitmap(sox2,soy2,sprites[5],sprite_w,sprite_h);
   tft.drawRGBBitmap(sox3,soy3,sprites[7],sprite_w,sprite_h);

  tft.setTextColor(ST7735_WHITE);  
  tft.setCursor(1,2);
  if(nodeID == 1){ tft.print("1"); }
  if(nodeID == 2){ tft.print("2"); }
  if(nodeID == 3){ tft.print("3"); }


  rssi = smooth( rssi,float(rssi_display),.8);

  tft.fillRect(2,90,40,10,ST7735_BLACK);
  tft.setCursor(2,92);
  tft.println( int(rssi));

      // tft.setCursor(2,12);
 // tft.print("mac: ");
  //tft.println(WiFi.macAddress());
   
   /*

 
  tft.setCursor(2,22);
  tft.println( String( target_mac_adress[5], HEX)  );
 
 */
   //tft.drawRect(mex,mey,4,4, ST7735_RED);
 
     //tft.fillRect(2,33,other_in,4, ST7735_WHITE);
   delay(40);
   
}

    // -----------------------------------------------
    // --------------- SEND --------------------------
    // -----------------------------------------------
float rssi = 0;


int rssi_display = 0;

// Estructuras para calcular los paquetes, el RSSI, etc
typedef struct {
  unsigned frame_ctrl: 16;
  unsigned duration_id: 16;
  uint8_t addr1[6]; /* receiver address */
  uint8_t addr2[6]; /* sender address */
  uint8_t addr3[6]; /* filtering address */
  unsigned sequence_ctrl: 16;
  uint8_t addr4[6]; /* optional */
} wifi_ieee80211_mac_hdr_t;


typedef struct {
  wifi_ieee80211_mac_hdr_t hdr;
  uint8_t payload[0]; /* network data ended with 4 bytes csum (CRC32) */
} wifi_ieee80211_packet_t;



//La callback que hace la magia
void promiscuous_rx_cb(void *buf, wifi_promiscuous_pkt_type_t type) {
  // All espnow traffic uses action frames which are a subtype of the mgmnt frames so filter out everything else.
  if (type != WIFI_PKT_MGMT)
    return;

  const wifi_promiscuous_pkt_t *ppkt = (wifi_promiscuous_pkt_t *)buf;
  const wifi_ieee80211_packet_t *ipkt = (wifi_ieee80211_packet_t *)ppkt->payload;
  const wifi_ieee80211_mac_hdr_t *hdr = &ipkt->hdr;

  int rssi = ppkt->rx_ctrl.rssi;
  rssi_display = rssi;
}


 void send_it(){

 
    strcpy(myData.a, "nodemessage");
    myData.node_id = nodeID;
    myData.tx = int( random(14,90));
    myData.ty = int( random(14,90));
    // myData.c = 2341.24;
    // myData.d = false;
    
    // Send message via ESP-NOW
    esp_err_t result = esp_now_send(0, (uint8_t *) &myData, sizeof(myData));


   // esp_err_t result = esp_now_send(0, (uint8_t *) &test, sizeof(test_struct));
  
        
    if (result == ESP_OK) {
        //Serial.println("Sent with success");
        
    }
    else {
        Serial.println("Error sending the data");
    }
  
    if(nodeID == 1){
        ox1 = myData.tx;
        oy1 = myData.ty;
    }

     if(nodeID ==2){
        ox2 = myData.tx;
        oy2 = myData.ty;
    }

     if(nodeID == 3){
        ox3 = myData.tx;
        oy3 = myData.ty;
    }

}

    // -----------------------------------------------
    // --------------- REC --------------------------
    // -----------------------------------------------


// Callback when data is received
void OnDataRecv(const uint8_t * mac, const uint8_t *incomingData, int len) {
  memcpy(&incomingReadings, incomingData, sizeof(incomingReadings));
 
 if(incomingReadings.node_id ==1){

        ox1 = incomingReadings.tx;
        oy1 = incomingReadings.ty;

  }

  if(incomingReadings.node_id ==2){

        ox2 = incomingReadings.tx;
        oy2 = incomingReadings.ty;

  }

  if(incomingReadings.node_id ==3){

        ox3 = incomingReadings.tx;
        oy3 = incomingReadings.ty;

  }
  

   rssi = WiFi.RSSI();
 
 
    digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
    delay(10);                       // wait for a second
    digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW

 
      
}
 


 // -----------------------------------------------
    // --------------- REGISTER PEERS --------------------------
    // -----------------------------------------------

    void register_peers(int _id){

        
          
            //memcpy(peerInfo.peer_addr, TWO_address, 6);
             peerInfo.channel = 0;  
            peerInfo.encrypt = false;

        if(_id!=1){ memcpy(
            peerInfo.peer_addr, ONE_address, 6);
            peerInfo.channel = 0;  
            peerInfo.encrypt = false;
            if (esp_now_add_peer(&peerInfo) != ESP_OK){
                Serial.println("Failed to add peer");
                return;
            }
        
         }

         if(_id!=2){    
            
                memcpy(peerInfo.peer_addr, TWO_address, 6);
                peerInfo.channel = 0;  
                peerInfo.encrypt = false;
             if (esp_now_add_peer(&peerInfo) != ESP_OK){
                Serial.println("Failed to add peer");
                return;
            }
         
         }
          if(_id!=3){   
            
            memcpy(peerInfo.peer_addr, TRE_address, 6); 
          peerInfo.channel = 0;  
            peerInfo.encrypt = false;
             if (esp_now_add_peer(&peerInfo) != ESP_OK){
                Serial.println("Failed to add peer");
                return;
            }
          
          }

    }
// ----------------------------

const int srows=3;
const int scols=3;
const int sprite_w = 24;
const int sprite_h = 24;
uint16_t* sprites[scols * srows];

//const int gscl = 2;




uint16_t* scaleSprite(uint16_t* spritey, float scaleFactor) {
 

  // Calculate the new width and height of the sprite
  int newWidth = sprite_w * scaleFactor;
  int newHeight = sprite_h * scaleFactor;

  

  // Create a new image buffer with the new width and height
  uint16_t* newBuffer = new uint16_t[newWidth * newHeight];

  // Loop through each pixel in the new image buffer and set it to 0
  for (int i = 0; i < newWidth * newHeight; i++) {
  

    int div_id = int(float(i)/(scaleFactor));
    newBuffer[i] = spritey[div_id]; 

  }

  return newBuffer;
}


// -------------------------

void init_spritesheet(){

   int jit = 0;

  for (int row = 0; row < srows; row++) {
    for (int column = 0; column < scols; column++) {
      // go thru all cols and rows

      // create new sprite
      uint16_t* spriteBuffer = new uint16_t[sprite_w * sprite_h];

        uint32_t offset = ((row * sprite_h) * 72) + (column * sprite_w);
     
        int it = 0;
         for (int j = 0; j < sprite_h; j++) {
            for (int i = 0; i < sprite_w; i++) {
              spriteBuffer[it] =  SLIMEY_MAP[offset + (j * 72) + i];
              it++;
        }
        }

        sprites[jit] = spriteBuffer;

       
        jit++;

    }
  }


}

// ---------------------------------------------------


static const uint16_t SLIMEY_MAP[] PROGMEM = {
    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x8000, 0xfa08, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfa08, 0x8000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x8000, 0xfa08, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfa08, 0x8000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfc10, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfc10, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x8000, 0xfa08, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfa08, 0x8000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfc10, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfc10, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfc10, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfc10, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfc10, 0xfdf7, 0xfdf7, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfdf7, 0xfdf7, 0xfc10, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfdf7, 0xfdf7, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfdf7, 0xfdf7, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfdf7, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfdf7, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfdf7, 0xfdf7, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfdf7, 0xfdf7, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfc10, 0xfdf7, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfdf7, 0xfc10, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfdf7, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfdf7, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfc10, 0xfc10, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfc10, 0xfc10, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfc10, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfc10, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfc10, 0xfc10, 0xfc10, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfc10, 0xfc10, 0xfc10, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfc10, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfc10, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfc10, 0xfc10, 0xfc10, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfc10, 0xfc10, 0xfc10, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfc10, 0xfc10, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfc10, 0xfc10, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfc10, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfc10, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfc10, 0xfc10, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfc10, 0xfc10, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfc10, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfc10, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfc10, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfc10, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfc10, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfc10, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfc10, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfc10, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfc10, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfc10, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x8000, 0xfa08, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfa08, 0x8000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x8000, 0xfa08, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfa08, 0x8000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x8000, 0xfa08, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfa08, 0x8000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x8000, 0xfa08, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfa08, 0x8000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfc10, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfc10, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x8000, 0xfa08, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfa08, 0x8000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfc10, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfc10, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x8000, 0xfa08, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfa08, 0x8000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfdf7, 0xfdf7, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfdf7, 0xfdf7, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfc10, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfc10, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfdf7, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfdf7, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfdf7, 0xfdf7, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfdf7, 0xfdf7, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfc10, 0xfdf7, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfdf7, 0xfc10, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfc10, 0xfdf7, 0xfdf7, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfdf7, 0xfdf7, 0xfc10, 0x8000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x8000, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xffff, 0x1082, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xffff, 0x1082, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0x8000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xffff, 0x1082, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0x8000, 0x0000, 0x0000, 0x8000, 0xfc10, 0xfc10, 0xfc10, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0x1082, 0x1082, 0xfa08, 0xfc10, 0xfc10, 0xfc10, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfc10, 0xfc10, 0xfc10, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0x1082, 0x1082, 0xfa08, 0xfc10, 0xfc10, 0xfc10, 0x8000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfc10, 0xfc10, 0xfc10, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0x1082, 0x1082, 0xfa08, 0xfc10, 0xfc10, 0xfc10, 0x8000, 0x0000, 0x0000, 0x8000, 0xfc10, 0xfc10, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0x1082, 0x1082, 0xfa08, 0xfa08, 0xfc10, 0xfc10, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfc10, 0xfc10, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0x1082, 0x1082, 0xfa08, 0xfa08, 0xfc10, 0xfc10, 0x8000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfc10, 0xfc10, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0x1082, 0x1082, 0xfa08, 0xfa08, 0xfc10, 0xfc10, 0x8000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfc10, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfc10, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfc10, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfc10, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfc10, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfc10, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x8000, 0xfa08, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfa08, 0x8000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x8000, 0xfa08, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfa08, 0x8000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x8000, 0xfa08, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfa08, 0x8000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x8000, 0xfa08, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfa08, 0x8000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x8000, 0xfa08, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfa08, 0x8000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x8000, 0xfa08, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfa08, 0x8000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfc10, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfc10, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfc10, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfc10, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfc10, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfc10, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfdf7, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfdf7, 0xfdf7, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfdf7, 0xfdf7, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfdf7, 0xfdf7, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfdf7, 0xfdf7, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfc10, 0xfdf7, 0xfdf7, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfdf7, 0xfdf7, 0xfc10, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfdf7, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfdf7, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfc10, 0xfdf7, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfdf7, 0xfc10, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfdf7, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfdf7, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xffff, 0x1082, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xffff, 0x1082, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfc10, 0xfc10, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfc10, 0xfc10, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfc10, 0xfc10, 0xfc10, 0xfa08, 0x1082, 0x1082, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0x1082, 0x1082, 0xfa08, 0xfc10, 0xfc10, 0xfc10, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfc10, 0xfc10, 0xfc10, 0xffff, 0x1082, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xffff, 0x1082, 0xfc10, 0xfc10, 0xfc10, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfc10, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfc10, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfc10, 0xfc10, 0xfa08, 0xfa08, 0x1082, 0x1082, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0x1082, 0x1082, 0xfa08, 0xfa08, 0xfc10, 0xfc10, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfc10, 0xfc10, 0xfa08, 0x1082, 0x1082, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0x1082, 0x1082, 0xfa08, 0xfc10, 0xfc10, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfc10, 0xfa08, 0xfa08, 0xffff, 0x1082, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xffff, 0x1082, 0xfa08, 0xfa08, 0xfc10, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfa08, 0x1082, 0x1082, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0x1082, 0x1082, 0xfa08, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfc10, 0xfa08, 0xfa08, 0x1082, 0x1082, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0x1082, 0x1082, 0xfa08, 0xfa08, 0xfc10, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfc10, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfc10, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfa08, 0x1082, 0x1082, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0x1082, 0x1082, 0xfa08, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfc10, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfc10, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfc10, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfc10, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x8000, 0xfa08, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfa08, 0x8000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfc10, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfc10, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x8000, 0xfa08, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfa08, 0x8000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xfa08, 0xfc10, 0xfc10, 0xfa08, 0xfa08, 0xfa08, 0xfa08, 0xfc10, 0xfc10, 0xfa08, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x8000, 0xfa08, 0xfc10, 0xfc10, 0xfc10, 0xfc10, 0xfa08, 0x8000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
};