Smart

Dependencies:   Hexi_KW40Z

Files at this revision

API Documentation at this revision

Comitter:
Team_Eta_MBED
Date:
Wed Feb 28 16:34:40 2018 +0000
Commit message:
Smart Baby Monitor Foundations

Changed in this revision

HTU21D.cpp Show annotated file Show diff for this revision Revisions of this file
HTU21D.h Show annotated file Show diff for this revision Revisions of this file
Hexi_KW40Z.lib Show annotated file Show diff for this revision Revisions of this file
Hexi_OLED_SSD1351.cpp Show annotated file Show diff for this revision Revisions of this file
Hexi_OLED_SSD1351.h Show annotated file Show diff for this revision Revisions of this file
OLED_info.h Show annotated file Show diff for this revision Revisions of this file
OLED_types.h Show annotated file Show diff for this revision Revisions of this file
OpenSans_Font.c Show annotated file Show diff for this revision Revisions of this file
OpenSans_Font.h Show annotated file Show diff for this revision Revisions of this file
images.c Show annotated file Show diff for this revision Revisions of this file
images.h Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed-os.lib Show annotated file Show diff for this revision Revisions of this file
mbed_config.h Show annotated file Show diff for this revision Revisions of this file
diff -r 000000000000 -r 69293b19ee19 HTU21D.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/HTU21D.cpp	Wed Feb 28 16:34:40 2018 +0000
@@ -0,0 +1,83 @@
+// EE 4391 Senior Design
+// Professor Hinkle and Dr. Compeau
+// @author Team Eta
+// Texas State University
+ 
+// @section DESCRIPTION
+// HTU21D Humidity and Temperature sensor.
+// Datasheet, specs, and information:
+// https://cdn.sparkfun.com/assets/6/a/8/e/f/525778d4757b7f50398b4567.pdf
+
+
+#include "HTU21D.h"
+
+HTU21D::HTU21D(PinName sda, PinName scl) {
+
+    i2c_ = new I2C(sda, scl);
+    //400KHz, as specified by the datasheet page 3.
+    i2c_->frequency(400000);
+}
+
+int HTU21D::sample_ctemp(void) {
+
+    char tx[1];
+    char rx[2];
+
+    tx[0] = TRIGGER_TEMP_MEASURE; // Triggers a temperature measure by feeding correct opcode.
+    i2c_->write((HTU21D_I2C_ADDRESS << 1) & 0xFE, tx, 1);
+    wait_ms(50); // Per datasheet, wait long enough for device to sample temperature
+    
+    // Reads triggered measure
+    i2c_->read((HTU21D_I2C_ADDRESS << 1) | 0x01, rx, 2);
+    wait_ms(1);
+    
+    // Algorithm from datasheet to compute temperature.
+    unsigned int rawTemperature = ((unsigned int) rx[0] << 8) | (unsigned int) rx[1];
+    rawTemperature &= 0xFFFC;
+
+    float tempTemperature = rawTemperature / (float)65536; //2^16 = 65536
+    float realTemperature = -46.85 + (175.72 * tempTemperature); //From page 14
+
+    return (int)realTemperature;
+}
+
+int HTU21D::sample_ftemp(void){
+    int temptemp = sample_ctemp();
+    int ftemp = temptemp * 1.8 + 32; //Change this value to fit our Hexiwear or adjut temperature calibration  -- "16" used to be "32"
+    
+    return ftemp;
+}
+
+int HTU21D::sample_ktemp(void){
+    int temptemp = sample_ctemp();
+    int ktemp = temptemp + 274;
+    
+    return ktemp;
+}
+
+int HTU21D::sample_humid(void) {
+
+    char tx[1];
+    char rx[2];
+
+
+    tx[0] = TRIGGER_HUMD_MEASURE; // Triggers a humidity measure by feeding correct opcode.
+    i2c_->write((HTU21D_I2C_ADDRESS << 1) & 0xFE, tx, 1);
+    wait_ms(16); // Per datasheet, wait long enough for device to sample humidity
+    
+    // Reads triggered measure
+    i2c_->read((HTU21D_I2C_ADDRESS << 1) | 0x01, rx, 2);
+    wait_ms(1);
+    
+    //Algorithm from datasheet.
+    unsigned int rawHumidity = ((unsigned int) rx[0] << 8) | (unsigned int) rx[1];
+
+    rawHumidity &= 0xFFFC; //Zero out the status bits but keep them in place
+    
+    //Given the raw humidity data, calculate the actual relative humidity
+    float tempRH = rawHumidity / (float)65536; //2^16 = 65536
+    float rh = 20 + (125 * tempRH); //From page 14 --- "20" used to be "-6"
+
+    return (int)rh;
+}
+
diff -r 000000000000 -r 69293b19ee19 HTU21D.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/HTU21D.h	Wed Feb 28 16:34:40 2018 +0000
@@ -0,0 +1,91 @@
+/**
+ * EE 4391 Senior Design
+ * Professor Hinkle and Dr. Compeau
+ * @author Team Eta
+ * Texas State University
+ *
+ * @section DESCRIPTION
+ *
+ * Honeywell HTU21D Humidity and Temperature sensor.
+ * Datasheet, specs, and information:
+ * https://cdn.sparkfun.com/assets/6/a/8/e/f/525778d4757b7f50398b4567.pdf
+ */
+
+#ifndef HTU21D_H
+#define HTU21D_H
+
+/**
+ * Includes
+ */
+#include "mbed.h"
+
+/**
+ * Defines
+ */
+// Acquired from Datasheet.
+
+#define HTU21D_I2C_ADDRESS  0x40 
+#define TRIGGER_TEMP_MEASURE  0xE3
+#define TRIGGER_HUMD_MEASURE  0xE5
+
+
+//Commands.
+#define HTU21D_EEPROM_WRITE 0x80
+#define HTU21D_EEPROM_READ  0x81
+
+
+/**
+ * Honeywell HTU21D digital humidity and temperature sensor.
+ */
+class HTU21D {
+
+public:
+
+    /**
+     * Constructor.
+     *
+     * @param sda mbed pin to use for SDA line of I2C interface.
+     * @param scl mbed pin to use for SCL line of I2C interface.
+     */
+    HTU21D(PinName sda, PinName scl);
+
+
+    //Samples the temperature, input void, outputs an int in celcius.
+    int sample_ctemp(void);
+    
+       //Samples the temperature, input void, outputs an int in fahrenheit.
+    int sample_ftemp(void);
+    
+       //Samples the temperature, input void, outputs an int in kelvin.
+    int sample_ktemp(void);
+    
+    //Samples the humidity, input void, outputs and int.
+    int sample_humid(void);
+
+   
+
+private:
+
+    I2C* i2c_;
+
+    /**
+     * Write to EEPROM or RAM on the device.
+     *
+     * @param EepromOrRam 0x80 -> Writing to EEPROM
+     * @param address Address to write to.
+     * @param data Data to write.
+     */
+    void write(int EepromOrRam, int address, int data);
+
+    /**
+     * Read EEPROM or RAM on the device.
+     *
+     * @param EepromOrRam 0x81 -> Reading from EEPROM
+     * @param address Address to read from.
+     * @return The contents of the memory address.
+     */
+    int read(int EepromOrRam, int address);
+
+};
+
+#endif /* HTU21D_H */
diff -r 000000000000 -r 69293b19ee19 Hexi_KW40Z.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Hexi_KW40Z.lib	Wed Feb 28 16:34:40 2018 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/teams/Hexiwear/code/Hexi_KW40Z/#8c7c1cc024ed
diff -r 000000000000 -r 69293b19ee19 Hexi_OLED_SSD1351.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Hexi_OLED_SSD1351.cpp	Wed Feb 28 16:34:40 2018 +0000
@@ -0,0 +1,1520 @@
+/** OLED Display Driver for Hexiwear
+ *  This file contains OLED driver functionality for drawing images and text
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this list
+ * of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright notice, this
+ * list of conditions and the following disclaimer in the documentation and/or
+ * other materials provided with the distribution.
+ *
+ * Neither the name of NXP, nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * visit: http://www.mikroe.com and http://www.nxp.com
+ *
+ * get support at: http://www.mikroe.com/forum and https://community.nxp.com
+ *
+ * Project HEXIWEAR, 2015
+ */
+
+#include "OLED_types.h"
+#include "OLED_info.h"
+#include "mbed.h"
+#include "Hexi_OLED_SSD1351.h"
+#include "OpenSans_Font.h"
+   
+const init_cmd_t seq[] = {
+    OLED_CMD_SET_CMD_LOCK,  CMD_BYTE,
+    OLED_UNLOCK,            DATA_BYTE,
+    OLED_CMD_SET_CMD_LOCK,  CMD_BYTE,
+    OLED_ACC_TO_CMD_YES,    DATA_BYTE,
+    OLED_CMD_DISPLAYOFF,    CMD_BYTE,
+    OLED_CMD_SET_OSC_FREQ_AND_CLOCKDIV, CMD_BYTE,
+    0xF1,                   DATA_BYTE,
+    OLED_CMD_SET_MUX_RATIO, CMD_BYTE,
+    0x5F,                   DATA_BYTE,
+    OLED_CMD_SET_REMAP,     CMD_BYTE,
+    OLED_REMAP_SETTINGS,    DATA_BYTE,
+    OLED_CMD_SET_COLUMN,    CMD_BYTE,
+    0x00,                   DATA_BYTE,
+    0x5F,                   DATA_BYTE,
+    OLED_CMD_SET_ROW,       CMD_BYTE,
+    0x00,                   DATA_BYTE,
+    0x5F,                   DATA_BYTE,
+    OLED_CMD_STARTLINE,     CMD_BYTE,
+    0x80,                   DATA_BYTE,
+    OLED_CMD_DISPLAYOFFSET, CMD_BYTE,
+    0x60,                   DATA_BYTE,
+    OLED_CMD_PRECHARGE,     CMD_BYTE,
+    0x32,                   CMD_BYTE,
+    OLED_CMD_VCOMH,         CMD_BYTE,
+    0x05,                   CMD_BYTE,
+    OLED_CMD_NORMALDISPLAY, CMD_BYTE,
+    OLED_CMD_CONTRASTABC,   CMD_BYTE,
+    0x8A,                   DATA_BYTE,
+    0x51,                   DATA_BYTE,
+    0x8A,                   DATA_BYTE,
+    OLED_CMD_CONTRASTMASTER, CMD_BYTE,
+    0xCF,                   DATA_BYTE,
+    OLED_CMD_SETVSL,        CMD_BYTE,
+    0xA0,                   DATA_BYTE,
+    0xB5,                   DATA_BYTE,
+    0x55,                   DATA_BYTE,
+    OLED_CMD_PRECHARGE2,    CMD_BYTE,
+    0x01,                   DATA_BYTE,
+    OLED_CMD_DISPLAYON,     CMD_BYTE
+    };
+
+
+    
+SSD1351::SSD1351(PinName mosiPin,PinName sclkPin,PinName pwrPin, PinName csPin,PinName rstPin, PinName dcPin): spi(mosiPin,NC,sclkPin) , power(pwrPin), cs(csPin),rst(rstPin),dc(dcPin) 
+{
+
+    spi.frequency(8000000);
+
+    
+    dc =0;
+    PowerOFF();
+    wait_ms(1);
+    rst = 0 ; 
+    wait_ms(1);
+    rst = 1 ;
+    wait_ms(1);
+    PowerON();
+    
+    currentChar_width  = 0,
+    currentChar_height = 0;
+    colorMask = COLOR_WHITE;
+    
+    oled_text_properties.alignParam = OLED_TEXT_ALIGN_CENTER;
+    oled_text_properties.background = NULL;
+    oled_text_properties.font       = OpenSans_10x15_Regular;
+    oled_text_properties.fontColor  = COLOR_WHITE;
+    SetTextProperties(&oled_text_properties);
+        
+    oled_dynamic_area.areaBuffer = NULL;
+    oled_dynamic_area.height = 0;
+    oled_dynamic_area.width = 0;
+    oled_dynamic_area.xCrd = 0;
+    oled_dynamic_area.yCrd = 0;
+   
+   
+    for (int i=0;i<39;i++) 
+    {
+       SendCmd(seq[i].cmd, seq[i].type);
+    }
+
+
+
+} 
+
+
+SSD1351::~SSD1351(void)
+{
+  //TO_DO
+  //Run Free and zero pointers. 
+  
+}
+
+
+
+ 
+void SSD1351::SendCmd(uint32_t cmd,
+                   uint8_t isFirst)
+{
+  
+  
+  
+  uint8_t
+     txSize = 1,
+     txBuf[4];
+
+  memcpy((void*)txBuf, (void*)&cmd, txSize );
+
+  if (isFirst )
+  {
+    dc = 0;   
+  }
+  else
+  {
+    dc = 1;
+  }
+  
+    cs = 0;
+    spi.write(*txBuf);
+    cs  = 1; 
+   
+}
+
+
+
+void SSD1351::SendData ( const uint8_t* dataToSend, 
+                           uint32_t dataSize)
+                            
+{
+    
+
+  uint16_t* arrayPtr = (uint16_t*)dataToSend;
+
+  for( uint32_t i = 0; i < dataSize/2; i++ )
+  {
+      arrayPtr[i] &= colorMask;
+  }
+  
+
+  SendCmd( OLED_CMD_WRITERAM, CMD_BYTE );
+  
+  /* sending data -> set DC pin */
+  dc = 1;
+  cs = 0 ;
+
+  const uint8_t*
+  /* traversing pointer */ 
+  bufPtr = dataToSend;
+
+
+  for ( uint32_t i = 0; i < dataSize; i++)
+  {
+      spi.write(*bufPtr);
+      bufPtr += 1;
+  }
+  
+  cs = 1;
+ 
+}
+
+
+oled_status_t SSD1351::DrawBox (
+                            int8_t xCrd,
+                            int8_t yCrd,
+                            uint8_t width,
+                            uint8_t height,
+                            uint16_t color
+                          )
+{
+  
+  oled_status_t status;  
+  oled_dynamic_area_t boxArea;
+
+  boxArea.xCrd   = xCrd;
+  boxArea.yCrd   = yCrd;
+  boxArea.width  = width;
+  boxArea.height = height;
+
+  uint32_t
+    boxSize = width*height;
+
+  SetDynamicArea( &boxArea );
+
+  /* helper pointer */
+  uint8_t*
+    boxBuf = (uint8_t*)oled_dynamic_area.areaBuffer;
+
+  if ( NULL == boxBuf )
+  {
+  
+    return OLED_STATUS_ERROR;
+  }
+
+  /* check the bounds */ 
+  if AreCoordsNotValid( xCrd, yCrd, width, height )
+  {
+    status = OLED_STATUS_INIT_ERROR;
+  }
+
+  else
+  {
+    /* fill the buffer with color */
+
+    for ( uint16_t i = 0; i < boxSize; i++ )
+    {
+      boxBuf[ 2*i ]     = color >> 8;
+      boxBuf[ 2*i + 1 ] = color;
+    }
+
+    /* set the locations */
+
+    /* adjust for the offset */
+    OLED_AdjustColumnOffset(xCrd);
+    OLED_AdjustRowOffset(yCrd);
+
+    SendCmd( OLED_CMD_SET_COLUMN, CMD_BYTE);   
+    SendCmd( xCrd, DATA_BYTE );  
+    SendCmd( xCrd + (width-1), DATA_BYTE );
+    SendCmd( OLED_CMD_SET_ROW, CMD_BYTE );
+    SendCmd( yCrd, DATA_BYTE );
+    SendCmd( yCrd + (height-1), DATA_BYTE );
+ 
+    /* fill the GRAM */
+    SendData( (uint8_t*)boxBuf, boxSize*OLED_BYTES_PER_PIXEL );
+    DestroyDynamicArea();
+   
+  }
+
+  return status;
+}
+
+/**
+ * fill the entire screen
+ * @param  color color to fill with
+ * @return status flag
+ */
+void SSD1351::FillScreen( uint16_t color )
+{
+  /* fill the screen buffer with color */
+  for ( uint16_t i = 0; i < ( OLED_SCREEN_WIDTH * OLED_SCREEN_HEIGHT ); i++ )
+  {
+    screenBuf[ 2*i ]     = color >> 8;
+    screenBuf[ 2*i + 1 ] = color;
+  }
+
+  /* set the locations */
+  SetBorders( 0, 0, OLED_SCREEN_WIDTH, OLED_SCREEN_HEIGHT );
+
+  /* fill GRAM */
+  SendData( (uint8_t*)screenBuf, OLED_SCREEN_WIDTH * OLED_SCREEN_HEIGHT * OLED_BYTES_PER_PIXEL  );
+
+}
+
+
+
+oled_status_t SSD1351::DrawPixel (
+                               int8_t xCrd,
+                               int8_t yCrd,
+                              uint16_t color
+                            )
+{
+  /* check the bounds */
+  if AreCoordsNotValid( xCrd, yCrd, 1, 1 )
+  {
+    return OLED_STATUS_INIT_ERROR;
+  }
+
+  else
+  {
+    /* set directions */
+    SetBorders( xCrd, yCrd, OLED_SCREEN_WIDTH, OLED_SCREEN_HEIGHT);
+
+    uint16_t
+      /* swap bytes */
+      dot = color;
+
+    OLED_SwapMe(dot);
+
+    /* fill the GRAM */
+    SendData( (uint8_t*)&dot, 2 );
+    
+    return OLED_STATUS_SUCCESS;
+  }
+}
+
+
+oled_status_t SSD1351::DrawScreen (
+                                   const uint8_t* image,
+                                          int8_t xCrd,
+                                          int8_t yCrd,
+                                          uint8_t width,
+                                          uint8_t height,
+                                oled_transition_t transition
+                              )
+{
+  oled_status_t
+    status = OLED_STATUS_SUCCESS;
+
+  if AreCoordsNotValid( xCrd, yCrd, width, height )
+  {
+    return OLED_STATUS_INIT_ERROR;
+  }
+
+  switch ( transition )
+  {
+    case OLED_TRANSITION_NONE:        {
+                                        /* set the locations */
+                                        SetBorders( xCrd, yCrd, width, height);
+
+                                        /* fill the GRAM */
+                                        SendData( (const uint8_t*)image, width * height * OLED_BYTES_PER_PIXEL );                                        
+                                        break;
+                                      }
+
+    case OLED_TRANSITION_TOP_DOWN:    {
+                                        TopDown( image, xCrd, yCrd, width, height );
+                                        break;
+                                      }
+
+    case OLED_TRANSITION_DOWN_TOP:    {
+                                        DownTop( image, xCrd, yCrd, width, height );
+                                        break;
+                                      }
+
+    case OLED_TRANSITION_LEFT_RIGHT:  {
+                                        LeftRight( image, xCrd, yCrd, width, height );
+                                        break;
+                                      }
+
+    case OLED_TRANSITION_RIGHT_LEFT:  {
+                                        RightLeft( image, xCrd, yCrd, width, height );
+                                        break;
+                                      }
+
+    default: {}
+  }
+
+  return status;
+}
+
+
+oled_status_t SSD1351::SetFont(
+                            const uint8_t* newFont,
+                                  uint16_t newColor
+                          )
+{
+  /* save the new values in intern variables */
+
+  selectedFont           = newFont;
+  selectedFont_firstChar = newFont[2] | ( (uint16_t)newFont[3] << 8 );
+  selectedFont_lastChar  = newFont[4] | ( (uint16_t)newFont[5] << 8 );
+  selectedFont_height    = newFont[6];
+  selectedFont_color     = newColor;
+
+  OLED_SwapMe( selectedFont_color );
+
+  return OLED_STATUS_SUCCESS;
+}
+
+
+void SSD1351::SetDynamicArea(oled_dynamic_area_t *dynamic_area)
+{
+
+  if( NULL == oled_dynamic_area.areaBuffer )
+  {
+      oled_dynamic_area.areaBuffer = (oled_pixel_t)AllocateDynamicArea( dynamic_area->width * dynamic_area->height );
+  }
+  else if(
+          ( dynamic_area->height != oled_dynamic_area.height ) ||
+          ( dynamic_area->width != oled_dynamic_area.width )
+         )
+  {
+    DestroyDynamicArea();
+    oled_dynamic_area.areaBuffer = (oled_pixel_t)AllocateDynamicArea( dynamic_area->width * dynamic_area->height );
+  }
+
+  oled_dynamic_area.xCrd   = dynamic_area->xCrd;
+  oled_dynamic_area.yCrd   = dynamic_area->yCrd;
+  oled_dynamic_area.width  = dynamic_area->width;
+  oled_dynamic_area.height = dynamic_area->height;
+}
+
+
+void SSD1351::DestroyDynamicArea()
+{
+    if ( NULL != oled_dynamic_area.areaBuffer )
+    {
+        DestroyDynamicArea( oled_dynamic_area.areaBuffer );
+        oled_dynamic_area.areaBuffer = NULL;
+    }
+}
+
+
+void SSD1351::SetTextProperties(oled_text_properties_t *textProperties)
+{
+  oled_text_properties.font       = textProperties->font;
+  oled_text_properties.fontColor  = textProperties->fontColor;
+  oled_text_properties.alignParam = textProperties->alignParam;
+  oled_text_properties.background = textProperties->background;
+
+  SetFont( oled_text_properties.font, oled_text_properties.fontColor );
+}
+
+void SSD1351::GetTextProperties(oled_text_properties_t *textProperties)
+{
+  textProperties->font        = oled_text_properties.font;      
+  textProperties->fontColor   = oled_text_properties.fontColor;  
+  textProperties->alignParam  = oled_text_properties.alignParam;
+  textProperties->background  = oled_text_properties.background;
+}
+
+uint8_t SSD1351::GetTextWidth(const uint8_t* text)
+{
+    uint8_t chrCnt = 0;
+    uint8_t text_width  = 0;
+
+    while ( 0 != text[chrCnt] )
+    {
+        text_width += *( selectedFont + 8 + (uint16_t)( ( text[chrCnt++] - selectedFont_firstChar ) << 2 ) );
+        /* make 1px space between chars */
+        text_width++;
+    }
+    /* remove the final space */
+    text_width--;
+
+    return text_width;
+}
+
+
+
+uint8_t SSD1351::CharCount(uint8_t width, const uint8_t* font, const uint8_t* text, uint8_t length)
+{
+    uint8_t chrCnt = 0;
+    uint8_t text_width  = 0;
+    uint16_t firstChar;
+
+    firstChar = font[2] | ( (uint16_t)font[3] << 8 );
+
+    while ( chrCnt < length )
+    {
+        text_width += *( font + 8 + (uint16_t)( ( text[chrCnt++] - firstChar ) << 2 ) );
+        if(text_width > width)
+        {
+            chrCnt--;
+            break;
+        }
+        /* make 1px space between chars */
+        text_width++;
+    }
+
+    return chrCnt;
+}
+
+
+
+
+oled_status_t SSD1351::AddText( const uint8_t* text,int8_t xCrd, int8_t yCrd )
+{
+    uint16_t
+        chrCnt = 0;
+        oled_pixel_t
+        chrBuf = NULL;
+
+    uint8_t
+        currentChar_x = 0,
+        currentChar_y = 0;
+
+    uint8_t
+        text_height = 0,
+        text_width  = 0;
+
+    text_width = GetTextWidth(text);
+
+    /*
+     * set default values, if necessary
+     */
+
+    text_height = selectedFont_height;
+    oled_dynamic_area_t textArea;
+
+    textArea.width  = text_width;
+    textArea.height = text_height;
+    textArea.xCrd = xCrd;
+    textArea.yCrd = yCrd; 
+    SetDynamicArea(&textArea);
+
+    currentChar_y = ( oled_dynamic_area.height - text_height ) >> 1;
+
+    switch ( oled_text_properties.alignParam & OLED_TEXT_HALIGN_MASK )
+    {
+        case OLED_TEXT_ALIGN_LEFT:
+        {
+            currentChar_x = 0;
+            break;
+        }
+
+        case OLED_TEXT_ALIGN_RIGHT:
+        {
+            currentChar_x = ( oled_dynamic_area.width - text_width );
+            break;
+        }
+
+        case OLED_TEXT_ALIGN_CENTER:
+        {
+            currentChar_x += ( oled_dynamic_area.width - text_width ) >> 1 ;
+            break;
+        }
+
+        case OLED_TEXT_ALIGN_NONE:
+        {
+            break;
+        }
+
+        default: {}
+    }
+
+    if ( CreateTextBackground() != OLED_STATUS_SUCCESS )
+    {
+        return OLED_STATUS_ERROR;
+    }
+
+    /*
+    * write the characters into designated space, one by one
+    */
+
+    chrCnt = 0;
+    while ( 0 != text[chrCnt] )
+    {
+        WriteCharToBuf( text[chrCnt++], &chrBuf );
+
+        if ( NULL == chrBuf )
+        {
+          return OLED_STATUS_INIT_ERROR;
+        }
+
+        else
+        {
+          if  (
+                        ( ( currentChar_x + currentChar_width )  > oled_dynamic_area.width )
+                    ||  ( ( currentChar_y + currentChar_height ) > oled_dynamic_area.height )
+              )
+          {
+            DestroyDynamicArea( chrBuf );
+            chrBuf = NULL;
+            return OLED_STATUS_ERROR;
+          }
+
+          /* copy data */
+          oled_pixel_t
+              copyAddr = oled_dynamic_area.areaBuffer + ( currentChar_y * oled_dynamic_area.width + currentChar_x );
+              
+          AddCharToTextArea( chrBuf, currentChar_width, currentChar_height, copyAddr, oled_dynamic_area.width );
+
+          currentChar_x += ( currentChar_width+1 );
+          currentChar_y += 0;
+
+          DestroyDynamicArea( chrBuf );
+          chrBuf = NULL;
+        }
+    }
+
+    UpdateBuffer(
+                                        oled_dynamic_area.xCrd,
+                                        oled_dynamic_area.yCrd,
+                                        oled_dynamic_area.width,
+                                        oled_dynamic_area.height,
+                                        (const uint8_t*)oled_dynamic_area.areaBuffer
+                                    );
+
+    return OLED_STATUS_SUCCESS;
+}
+
+
+oled_status_t SSD1351::AddText( const uint8_t* text)
+{
+    uint16_t
+        chrCnt = 0;
+        oled_pixel_t
+        chrBuf = NULL;
+
+    uint8_t
+        currentChar_x = 0,
+        currentChar_y = 0;
+
+    uint8_t
+        text_height = 0,
+        text_width  = 0;
+
+    text_width = GetTextWidth(text);
+
+    /**
+     * set default values, if necessary
+     */
+
+    text_height = selectedFont_height;
+  
+    /* Disable this for now.Generated Fontwidth supposedly a lot wider than it really is*/
+    #if 0
+   if  (( oled_dynamic_area.width  < text_width )||( oled_dynamic_area.height < text_height ))
+   {
+        oled_dynamic_area_t textArea;
+        textArea.width  = text_width;
+        textArea.height = text_height;
+        SetDynamicArea(&textArea);
+   }
+   #endif 
+  
+    currentChar_y = ( oled_dynamic_area.height - text_height ) >> 1;
+
+    switch ( oled_text_properties.alignParam & OLED_TEXT_HALIGN_MASK )
+    {
+        case OLED_TEXT_ALIGN_LEFT:
+        {
+            currentChar_x = 0;
+            break;
+        }
+
+        case OLED_TEXT_ALIGN_RIGHT:
+        {
+            currentChar_x = ( oled_dynamic_area.width - text_width );
+            break;
+        }
+
+        case OLED_TEXT_ALIGN_CENTER:
+        {
+            currentChar_x += ( oled_dynamic_area.width - text_width ) >> 1 ;
+            break;
+        }
+
+        case OLED_TEXT_ALIGN_NONE:
+        {
+            break;
+        }
+
+        default: {}
+    }
+
+    if ( CreateTextBackground() != OLED_STATUS_SUCCESS )
+    {
+        return OLED_STATUS_ERROR;
+    }
+
+    /**
+    * write the characters into designated space, one by one
+    */
+
+    chrCnt = 0;
+    while ( 0 != text[chrCnt] )
+    {
+        WriteCharToBuf( text[chrCnt++], &chrBuf );
+
+        if ( NULL == chrBuf )
+        {
+          return OLED_STATUS_INIT_ERROR;
+        }
+
+        else
+        {
+          if  (
+                        ( ( currentChar_x + currentChar_width )  > oled_dynamic_area.width )
+                    ||  ( ( currentChar_y + currentChar_height ) > oled_dynamic_area.height )
+              )
+          {
+            DestroyDynamicArea( chrBuf );
+            chrBuf = NULL;
+            return OLED_STATUS_ERROR;
+          }
+
+          /* copy data */ 
+          oled_pixel_t
+              copyAddr = oled_dynamic_area.areaBuffer + ( currentChar_y * oled_dynamic_area.width + currentChar_x );
+              
+          AddCharToTextArea( chrBuf, currentChar_width, currentChar_height, copyAddr, oled_dynamic_area.width );
+
+          currentChar_x += ( currentChar_width+1 );
+          currentChar_y += 0;
+
+          DestroyDynamicArea( chrBuf );
+          chrBuf = NULL;
+        }
+    }
+
+    UpdateBuffer(
+                                        oled_dynamic_area.xCrd,
+                                        oled_dynamic_area.yCrd,
+                                        oled_dynamic_area.width,
+                                        oled_dynamic_area.height,
+                                        (const uint8_t*)oled_dynamic_area.areaBuffer
+                                    );
+
+    return OLED_STATUS_SUCCESS;
+}
+
+
+
+oled_status_t SSD1351::DrawText( const uint8_t* text)
+{
+
+  if ( NULL == text )
+  {
+    return OLED_STATUS_ERROR;
+  }
+
+  AddText(text);
+  /* set the locations */
+  SetBorders( oled_dynamic_area.xCrd, oled_dynamic_area.yCrd, oled_dynamic_area.width, oled_dynamic_area.height );
+  /* fill the GRAM */
+  SendData( (const uint8_t*)oled_dynamic_area.areaBuffer, oled_dynamic_area.width * oled_dynamic_area.height * OLED_BYTES_PER_PIXEL );
+
+  //free( currentTextAreaImage );
+  return OLED_STATUS_SUCCESS;
+}
+
+
+void SSD1351::GetImageDimensions(uint8_t *width, uint8_t *height, const uint8_t* image)
+{
+  *height = image[2] + (image[3] << 8);
+  *width  = image[4] + (image[5] << 8);
+}
+
+
+oled_status_t SSD1351::AddImage ( const uint8_t* image )
+{
+  oled_status_t
+    status = OLED_STATUS_SUCCESS;
+
+  /* check the bounds */
+  if AreCoordsNotValid( oled_dynamic_area.xCrd, oled_dynamic_area.yCrd, oled_dynamic_area.width, oled_dynamic_area.height )
+  {
+    status = OLED_STATUS_INIT_ERROR;
+  }
+
+  else
+  {
+    Swap( (oled_pixel_t)oled_dynamic_area.areaBuffer, BMP_SkipHeader(image), oled_dynamic_area.width*oled_dynamic_area.height );
+
+    /* update the main screen buffer */
+    UpdateBuffer( oled_dynamic_area.xCrd, oled_dynamic_area.yCrd, oled_dynamic_area.width, oled_dynamic_area.height, (const uint8_t *)oled_dynamic_area.areaBuffer );
+  }
+
+  return status;
+}
+
+
+oled_status_t SSD1351::AddImage ( const uint8_t* image, int8_t xCrd, int8_t yCrd )
+{
+  oled_status_t
+    status = OLED_STATUS_SUCCESS;
+
+  oled_dynamic_area_t  image_dynamicArea;
+
+  image_dynamicArea.xCrd = xCrd;
+  image_dynamicArea.yCrd = yCrd;
+
+  GetImageDimensions(&image_dynamicArea.width, &image_dynamicArea.height, image);
+  SetDynamicArea(&image_dynamicArea);
+
+  /* check the bounds */
+  if AreCoordsNotValid( oled_dynamic_area.xCrd, oled_dynamic_area.yCrd, oled_dynamic_area.width, oled_dynamic_area.height )
+  {
+    status = OLED_STATUS_INIT_ERROR;
+  }
+
+  else
+  {
+    Swap( (oled_pixel_t)oled_dynamic_area.areaBuffer, BMP_SkipHeader(image), oled_dynamic_area.width*oled_dynamic_area.height );
+
+    /* update the main screen buffer */
+    UpdateBuffer( oled_dynamic_area.xCrd, oled_dynamic_area.yCrd, oled_dynamic_area.width, oled_dynamic_area.height, (const uint8_t *)oled_dynamic_area.areaBuffer );
+  }
+
+  return status;
+}
+
+
+
+oled_status_t SSD1351::DrawImage ( const uint8_t* image )
+{
+  
+  oled_status_t
+    status = OLED_STATUS_SUCCESS;
+
+  status = AddImage( image );
+
+  /* set the locations */
+  SetBorders( oled_dynamic_area.xCrd, oled_dynamic_area.yCrd, oled_dynamic_area.width, oled_dynamic_area.height );
+
+  /* fill the GRAM */
+  SendData( (const uint8_t*)oled_dynamic_area.areaBuffer, oled_dynamic_area.width * oled_dynamic_area.height * OLED_BYTES_PER_PIXEL );
+
+
+  return status;
+}
+
+oled_status_t SSD1351::DrawImage ( const uint8_t* image, int8_t xCrd, int8_t yCrd  )
+{
+  
+  oled_status_t
+    status = OLED_STATUS_SUCCESS;
+
+  status = AddImage( image,xCrd,yCrd);
+
+  /* set the locations */
+  SetBorders( oled_dynamic_area.xCrd, oled_dynamic_area.yCrd, oled_dynamic_area.width, oled_dynamic_area.height );
+
+  /* fill the GRAM */
+  SendData( (const uint8_t*)oled_dynamic_area.areaBuffer, oled_dynamic_area.width * oled_dynamic_area.height * OLED_BYTES_PER_PIXEL );
+
+
+  return status;
+}
+
+
+
+void SSD1351::DimScreenON()
+{
+    for ( int i = 0; i < 16; i++ )
+    {
+        SendCmd( OLED_CMD_CONTRASTMASTER, CMD_BYTE );
+        SendCmd( 0xC0 | (0xF-i), DATA_BYTE );
+        wait_ms(20);
+        // OSA_TimeDelay( 20 );
+    }
+}
+
+
+void SSD1351::DimScreenOFF()
+{
+  SendCmd( OLED_CMD_CONTRASTMASTER, CMD_BYTE );
+  SendCmd( 0xC0 | 0xF, DATA_BYTE );
+}
+
+
+
+void SSD1351::Swap(
+                    oled_pixel_t imgDst,
+                  const uint8_t* imgSrc,
+                        uint16_t imgSize
+                )
+{
+  for ( int var = 0; var < imgSize; var++ )
+  {
+    *imgDst = *imgSrc << 8;
+    imgSrc++;
+    *imgDst |= *imgSrc;
+    imgDst++;
+    imgSrc++;
+  }
+}
+
+
+void SSD1351::PowerON()
+{
+  power = 1;
+}
+
+void SSD1351::PowerOFF()
+{
+  power = 0;
+}
+
+
+
+ /* Formerly Known as GuiDriver_UpdateScreen */
+void SSD1351::UpdateBuffer (
+                                int8_t xCrd,
+                                int8_t yCrd,
+                                uint8_t width,
+                                uint8_t height,
+                                const uint8_t* image
+                              )
+{
+  /* copy data */
+  oled_pixel_t
+    copyAddr = (oled_pixel_t)screenBuf + ( yCrd*OLED_SCREEN_WIDTH + xCrd );
+
+  for ( uint8_t i = 0; i < height; i++ )
+  {
+    memcpy( (void*)copyAddr, (void*)image, width*OLED_BYTES_PER_PIXEL );
+    copyAddr += OLED_SCREEN_WIDTH;
+    image    += width*OLED_BYTES_PER_PIXEL;
+  }
+} 
+
+
+oled_status_t SSD1351::Label ( const uint8_t* text,int8_t xCrd, int8_t yCrd )
+{
+
+  if ( NULL == text )
+  {
+    return OLED_STATUS_ERROR;
+  }
+
+  AddText(text,xCrd,yCrd);
+
+  /* set the locations */
+  SetBorders( oled_dynamic_area.xCrd, oled_dynamic_area.yCrd, oled_dynamic_area.width, oled_dynamic_area.height );
+
+  /* fill the GRAM */
+  SendData( (const uint8_t*)oled_dynamic_area.areaBuffer, oled_dynamic_area.width * oled_dynamic_area.height * OLED_BYTES_PER_PIXEL );
+
+  //free( currentTextAreaImage );
+  return OLED_STATUS_SUCCESS;
+}
+
+
+oled_status_t SSD1351::TextBox(const uint8_t* text, int8_t xCrd, int8_t yCrd,uint8_t width,uint8_t height)
+{
+
+  if ( NULL == text )
+  {
+    return OLED_STATUS_ERROR;
+  }
+
+  oled_dynamic_area_t textArea;
+  textArea.width  = width;
+  textArea.height = height;
+  textArea.xCrd = xCrd;
+  textArea.yCrd = yCrd; 
+
+  SetDynamicArea(&textArea);
+  DrawText(text);
+
+  return OLED_STATUS_SUCCESS;
+
+}
+
+
+/* Internal Functions */
+
+/**
+ * [transpose description]
+ * @param transImage  Transposed Image    
+ * @param image       Source Image  
+ * @param width       Width to Transpose
+ * @param height      Height to Transpose 
+ */
+void SSD1351::Transpose(
+                             oled_pixel_t transImage,
+                       const oled_pixel_t image,
+                                  uint8_t width,
+                                  uint8_t height
+                     )
+{
+  for ( uint8_t i = 0; i < height; i++ )
+  {
+    for ( uint8_t j = 0; j < width ; j++ )
+    {
+      transImage[ j*height + i ] = image[ i*width + j ];
+    }
+  }
+}
+
+
+
+/**
+ * TopDown Transition Effect for Image
+ * @param  image  image to be transitioned
+ * @param  xCrd   x coordinate of image
+ * @param  yCrd   y coordinate of image
+ * @param  width  width of image
+ * @param  height height of image
+ * @return        status flag
+ */
+oled_status_t SSD1351::TopDown(
+                                const uint8_t* image,
+                                       int8_t xCrd,
+                                       int8_t yCrd,
+                                       uint8_t width,
+                                       uint8_t height
+                            )
+{
+  uint16_t
+    transStep = OLED_TRANSITION_STEP;
+
+  uint16_t
+    partImgSize = width*transStep;
+
+  oled_status_t
+    status = OLED_STATUS_SUCCESS;
+
+  uint8_t*
+    partImgPtr = (uint8_t*)image + ( height - transStep ) * ( width * OLED_BYTES_PER_PIXEL );
+
+  /**
+   * set locations
+   */
+
+  while (1)
+  {
+    SetBorders( xCrd, yCrd, width, height );
+
+    if ( partImgSize > width*height )
+    {
+        SendData( (const uint8_t*)image, width*height*OLED_BYTES_PER_PIXEL );
+        break;
+    }
+    else
+    {
+        SendData( (const uint8_t*)partImgPtr, partImgSize * OLED_BYTES_PER_PIXEL );
+    }
+
+
+    /**
+     * update variables
+     */
+
+    partImgPtr  -= ( width * transStep ) * OLED_BYTES_PER_PIXEL;
+    partImgSize += ( width * transStep );
+    transStep++;
+  }
+
+  return status;
+}
+
+/**
+ * DownTop Transition Effect for Image
+ * @param  image  image to be transitioned
+ * @param  xCrd   x coordinate of image
+ * @param  yCrd   y coordinate of image
+ * @param  width  width of image
+ * @param  height height of image
+ * @return        status flag
+ */
+
+oled_status_t SSD1351::DownTop(
+                                const uint8_t* image,
+                                      int8_t xCrd,
+                                      int8_t yCrd,
+                                      uint8_t width,
+                                      uint8_t height
+                            )
+{
+  uint16_t
+    transStep = OLED_TRANSITION_STEP;
+
+  uint16_t
+    partImgSize = width*transStep;
+
+  oled_status_t
+    status = OLED_STATUS_SUCCESS;
+
+  uint8_t*
+    partImgPtr = (uint8_t*)image;
+
+  uint8_t
+    yCrd_moving = ( yCrd + height ) - 1;
+
+  /**
+   * set locations
+   */
+
+  while (1)
+  {
+    if  (
+             ( partImgSize > OLED_SCREEN_SIZE )
+          ||        ( yCrd_moving < yCrd )
+        )
+    {
+      /* draw full image */
+      SetBorders( xCrd, yCrd, width, height );
+      SendData( (const uint8_t*)image, width * height * OLED_BYTES_PER_PIXEL );
+      break;
+    }
+
+    else
+    {
+      SetBorders( xCrd, yCrd_moving, width, ( yCrd + height ) - yCrd_moving );
+      SendData( (const uint8_t*)partImgPtr, partImgSize * OLED_BYTES_PER_PIXEL );
+    }
+
+    /**
+     * update variables
+     */
+
+    yCrd_moving -= transStep;
+    partImgSize += ( width * transStep );
+    transStep++;
+  }
+
+  return status;
+}
+
+
+/**
+ * LeftRight Transition Effect for Image
+ * @param  image  image to be transitioned
+ * @param  xCrd   x coordinate of image
+ * @param  yCrd   y coordinate of image
+ * @param  width  width of image
+ * @param  height height of image
+ * @return        status flag
+ */
+
+oled_status_t SSD1351::LeftRight(
+                                 const uint8_t* image,
+                                        int8_t xCrd,
+                                        int8_t yCrd,
+                                        uint8_t width,
+                                        uint8_t height
+                              )
+{
+  oled_status_t
+    status = OLED_STATUS_SUCCESS;
+
+  oled_dynamic_area_t
+      transImageArea =
+      {
+          .xCrd = 0,
+          .yCrd = 0,
+
+          .width = 96,
+          .height= 96
+      };
+
+  SetDynamicArea( &transImageArea );
+
+  /* helper pointer */
+  oled_pixel_t
+    transImage = (oled_pixel_t)oled_dynamic_area.areaBuffer;
+
+  if ( NULL == transImage )
+  {
+    return OLED_STATUS_INIT_ERROR;
+  }
+
+  Transpose( transImage,(oled_pixel_t)image, width, height );
+
+  SendCmd( OLED_CMD_SET_REMAP, CMD_BYTE );
+  SendCmd( OLED_REMAP_SETTINGS | REMAP_VERTICAL_INCREMENT, DATA_BYTE );
+ 
+  uint16_t
+    transStep = OLED_TRANSITION_STEP;
+
+  uint16_t
+    partImgSize = height*transStep;
+
+  uint8_t*
+    partImgPtr = (uint8_t*)transImage + ( width - transStep ) * ( height * OLED_BYTES_PER_PIXEL );
+
+  /**
+   * set locations
+   */
+
+  while (1)
+  {
+    SetBorders( xCrd, yCrd, width, height );
+
+    if ( partImgSize > width*height )
+    {
+      SendData((const uint8_t*)transImage, width * height * OLED_BYTES_PER_PIXEL );
+      break;
+    }
+    else
+    {
+      SendData( (const uint8_t*)partImgPtr, partImgSize * OLED_BYTES_PER_PIXEL );
+    }
+
+
+    partImgPtr  -= ( transStep * height ) * OLED_BYTES_PER_PIXEL;
+    partImgSize += ( transStep * height );
+    transStep++;
+    
+  }
+   
+    SendCmd( OLED_CMD_SET_REMAP, CMD_BYTE );
+    SendCmd( OLED_REMAP_SETTINGS, DATA_BYTE );
+    DestroyDynamicArea();
+    return status;
+}
+
+
+/**
+ * RightLeft Transition Effect for Image
+ * @param  image  image to be transitioned
+ * @param  xCrd   x coordinate of image
+ * @param  yCrd   y coordinate of image
+ * @param  width  width of image
+ * @param  height height of image
+ * @return        status flag
+ */
+oled_status_t SSD1351::RightLeft(
+                                 const uint8_t* image,
+                                        int8_t xCrd,
+                                        int8_t yCrd,
+                                        uint8_t width,
+                                        uint8_t height
+                              )
+{
+  oled_dynamic_area_t
+      transImageArea =
+      {
+          .xCrd = 0,
+          .yCrd = 0,
+
+          .width = 96,
+          .height= 96
+      };
+
+  SetDynamicArea( &transImageArea );
+
+  /* helper pointer */
+  oled_pixel_t
+    transImage = oled_dynamic_area.areaBuffer;
+
+  if ( NULL == transImage )
+  {
+    return OLED_STATUS_INIT_ERROR;
+  }
+
+  Transpose(transImage, (oled_pixel_t)image, width, height );
+
+  SendCmd( OLED_CMD_SET_REMAP, CMD_BYTE );
+  SendCmd( OLED_REMAP_SETTINGS | REMAP_VERTICAL_INCREMENT, DATA_BYTE );
+
+
+  uint16_t
+    transStep = OLED_TRANSITION_STEP;
+
+  uint16_t
+    partImgSize = height * transStep;
+
+  uint8_t*
+    partImgPtr = (uint8_t*)transImage;
+
+  uint8_t
+    xCrd_moving = ( xCrd + width ) - 1;
+
+  /** set locations */
+
+  while (1)
+  {
+    if  (( partImgSize > width*height )|| ( xCrd_moving < xCrd ))       
+    {
+       SetBorders( xCrd, yCrd, width, height );
+       SendData( (const uint8_t*)transImage, height * width * OLED_BYTES_PER_PIXEL );
+       break;
+    }
+    else
+    {
+       SetBorders( xCrd_moving, yCrd, ( xCrd + width ) - xCrd_moving, height );
+       SendData( (const uint8_t*)partImgPtr, partImgSize * OLED_BYTES_PER_PIXEL );
+    }
+
+    /** update variables*/
+
+    xCrd_moving -= transStep;
+    partImgSize += ( height * transStep );
+    transStep++;
+  }
+
+  SendCmd( OLED_CMD_SET_REMAP, CMD_BYTE );
+  SendCmd( OLED_REMAP_SETTINGS, DATA_BYTE );
+
+  DestroyDynamicArea();
+
+  return OLED_STATUS_SUCCESS;
+}
+
+
+/**
+ * [setDirection description]
+ * @param  self [description]
+ * @param  xCrd [description]
+ * @param  yCrd [description]
+ * @return      [description]
+ */
+void SSD1351::SetBorders(
+                        int8_t xCrd,
+                        int8_t yCrd,
+                        uint8_t width,
+                        uint8_t height
+                      )
+{
+  
+  /* adjust for the offset*/
+  OLED_AdjustColumnOffset(xCrd);
+  OLED_AdjustRowOffset(yCrd);
+
+  SendCmd( OLED_CMD_SET_COLUMN, CMD_BYTE );
+  SendCmd( xCrd, DATA_BYTE );
+  SendCmd( xCrd + (width-1), DATA_BYTE );
+  SendCmd( OLED_CMD_SET_ROW, CMD_BYTE );
+  SendCmd( yCrd, DATA_BYTE );
+  SendCmd( yCrd + (height-1), DATA_BYTE );
+  
+}
+
+/**
+ * create the buffer for a partial image
+ * @param  imgBuf [description]
+ * @param  width  [description]
+ * @param  height [description]
+ * @return        [description]
+ */
+oled_status_t SSD1351::CreateTextBackground()
+{
+  uint8_t
+    xCrd   = oled_dynamic_area.xCrd,
+    yCrd   = oled_dynamic_area.yCrd,
+    width  = oled_dynamic_area.width,
+    height = oled_dynamic_area.height;
+
+  oled_pixel_t
+    imgBuf = oled_dynamic_area.areaBuffer,
+    copyAddr;
+
+  const uint8_t*
+    background = oled_text_properties.background;
+
+  /* copy data */
+
+  if  (
+            ( NULL == imgBuf )
+        ||  ( ( xCrd + width )  > OLED_SCREEN_WIDTH )
+        ||  ( ( yCrd + height ) > OLED_SCREEN_HEIGHT )
+      )
+  {
+    return OLED_STATUS_INIT_ERROR;
+  }
+
+  if ( NULL == background )
+  {
+    for ( uint8_t i = 0; i < height; i++ )
+    {
+      memset( (void*)imgBuf, 0, width*OLED_BYTES_PER_PIXEL );
+      imgBuf   += width;
+    }
+  }
+
+  else
+  {
+    copyAddr = (oled_pixel_t)( BMP_SkipHeader( background ) ) + ( yCrd*OLED_SCREEN_WIDTH + xCrd );
+    for ( uint8_t i = 0; i < height; i++ )
+    {
+      Swap( (oled_pixel_t)imgBuf, (const uint8_t*)copyAddr, width );
+      imgBuf   += width;
+      copyAddr += OLED_SCREEN_WIDTH;
+    }
+  }
+
+  return OLED_STATUS_SUCCESS;
+}
+
+
+/**
+ * Write the character to Buffer
+ * @param charToWrite character to be written
+ * @param chrBuf      given pointer for buffer for the character
+ */
+void SSD1351::WriteCharToBuf(
+                            uint16_t charToWrite,
+                            oled_pixel_t* chrBuf
+                          )
+{
+  uint8_t
+    foo = 0,
+    mask;
+
+  const uint8_t*
+    pChTable = selectedFont + 8 + (uint16_t)( ( charToWrite - selectedFont_firstChar ) << 2 );
+
+  currentChar_width  = *pChTable,
+  currentChar_height = selectedFont_height;
+
+  uint32_t
+    offset =      (uint32_t)pChTable[1]
+              | ( (uint32_t)pChTable[2] << 8 )
+              | ( (uint32_t)pChTable[3] << 16 );
+
+  const uint8_t*
+    pChBitMap = selectedFont + offset;
+
+  /* allocate space for char image */
+  *chrBuf = (oled_pixel_t)AllocateDynamicArea( currentChar_height * currentChar_width );
+
+  if ( NULL == *chrBuf )
+  {
+    return;
+  }
+
+  for ( uint8_t yCnt = 0; yCnt < currentChar_height; yCnt++ )
+  {
+    mask = 0;
+
+    for ( uint8_t xCnt = 0; xCnt < currentChar_width; xCnt++ )
+    {
+      if ( 0 == mask )
+      {
+        mask = 1;
+        foo  = *pChBitMap++;
+      }
+
+      if ( 0 != ( foo & mask ) )
+      {
+        *( *chrBuf + yCnt*currentChar_width + xCnt ) = selectedFont_color;
+      }
+
+       else
+       {
+           *( *chrBuf + yCnt*currentChar_width + xCnt ) = 0;
+       }
+
+      mask <<= 1;
+    }
+  }
+}
+
+
+/**
+ * Add subimage/character to the active image buffer
+ * @param  xOffset offset for the x-coordinate
+ * @param  yOffset offset for the y-coordinate
+ * @param  width   desired width
+ * @param  height  desired height
+ * @return         status flag
+ */
+oled_status_t SSD1351::AddCharToTextArea(
+                                        oled_pixel_t chrPtr,
+                                             uint8_t chrWidth,
+                                             uint8_t chrHeight,
+                                        oled_pixel_t copyAddr,
+                                             uint8_t imgWidth
+                                      )
+{
+  if ( NULL == copyAddr )
+  {
+    return OLED_STATUS_INIT_ERROR;
+  }
+
+  for ( uint8_t i = 0; i < chrHeight; i++ )
+  {
+    for ( uint8_t j = 0; j < chrWidth; j++ )
+    {
+      if ( 0 != chrPtr[j] )
+      {
+          copyAddr[j] = chrPtr[j];
+      }
+    }
+    copyAddr += imgWidth;
+    chrPtr   += chrWidth;
+  }
+  return OLED_STATUS_SUCCESS;
+}
+
+
+/**
+ * Allocate memory for the desired image/character
+ * @param area desired area dimensions
+ */
+void* SSD1351::AllocateDynamicArea( uint32_t area )
+{
+  void*
+      ptr = malloc( area * OLED_BYTES_PER_PIXEL );
+
+  if ( NULL == ptr )
+  {
+      return NULL;
+  }
+
+  return ptr;
+}
+
+
+/**
+ * Deallocate current area
+ * @param area pointer to current area
+ */
+oled_status_t SSD1351::DestroyDynamicArea( void* ptr )
+{
+  if ( NULL == ptr )
+  {
+      return OLED_STATUS_INIT_ERROR;
+  }
+
+   free(ptr); 
+
+   return OLED_STATUS_SUCCESS; 
+}
diff -r 000000000000 -r 69293b19ee19 Hexi_OLED_SSD1351.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Hexi_OLED_SSD1351.h	Wed Feb 28 16:34:40 2018 +0000
@@ -0,0 +1,388 @@
+/** OLED Display Driver for Hexiwear 
+ *  This file contains OLED driver functionality for drawing images and text
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this list
+ * of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright notice, this
+ * list of conditions and the following disclaimer in the documentation and/or
+ * other materials provided with the distribution.
+ *
+ * Neither the name of NXP, nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * visit: http://www.mikroe.com and http://www.nxp.com
+ *
+ * get support at: http://www.mikroe.com/forum and https://community.nxp.com
+ *
+ * Project HEXIWEAR, 2015
+ */
+
+#ifndef HG_HEXI_OLED_SSD1351
+#define HG_HEXI_OLED_SSD1351
+
+#include "mbed.h"
+#include "OLED_types.h" 
+#include "OLED_info.h"
+
+
+/** OLED Display Driver for Hexiwear
+*/
+class SSD1351{
+
+public:
+
+ /**
+  * Create a Hexiwear OLED Driver connected to the specified pins
+  *
+  * @param mosiPin SPI Master Out, Slave In Pin
+  * @param sclkPin SPI CLock Pin
+  * @param pwrPin  OLED Power Pin
+  * @param csPin   OLED Chip Select Pin
+  * @param rstPin  OLED Reset Pin
+  * @param dcPin   OLED DC Pin
+  *
+  * @note Default TextProperties
+  *
+  *       .font       = OpenSans_10x15_Regular,    
+  *       .fontColor  = COLOR_WHITE,
+  *       .alignParam = OLED_TEXT_ALIGN_CENTER, 
+  *       .background = NULL
+  *
+  */
+  SSD1351(PinName mosiPin,PinName sclkPin,PinName pwrPin, PinName csPin,PinName rstPin, PinName dcPin);
+
+  /**
+  * Destroy the Hexiwear instance
+  */   
+  ~SSD1351(); 
+
+  /**
+   * Send the command to OLED
+   * @param  cmd     OLED command from the datasheet
+   * @param  isFirst designate if this is the first byte in the command
+   */
+  void SendCmd(uint32_t cmd,
+                     uint8_t isFirst);
+
+
+  /**
+   * Send data to OLED
+   * @param  dataToSend data to send to OLED
+   * @param  dataSize   data-size
+   */
+  void SendData ( const uint8_t* dataToSend, 
+                             uint32_t dataSize);
+
+  /**
+   * draw box on OLED
+   * @param  xCrd   x-coordinate for box's uper left corner
+   * @param  yCrd   y-coordinate for box's uper left corner
+   * @param  width  box's width
+   * @param  height box's height
+   * @param  color  color of the box
+   * @return        status flag
+   */
+  oled_status_t DrawBox (
+                              int8_t xCrd,
+                              int8_t yCrd,
+                              uint8_t width,
+                              uint8_t height,
+                              uint16_t color
+                            );
+
+  /**
+   * Fill the entire screen with specified color
+   * @param  color color to fill with
+   */
+  void FillScreen( uint16_t color );
+
+
+
+  /**
+   * Draw a single pixel
+   * @param  xCrd  pixel's x coordinate
+   * @param  yCrd  pixel's y coordinate
+   * @param  color pixel's color
+   * @return       status flag
+   */
+  oled_status_t DrawPixel (
+                                 int8_t xCrd,
+                                 int8_t yCrd,
+                                uint16_t color
+                              );
+
+
+  /**
+   * Draw the whole screen
+   * @param  image      image to draw
+   * @param  xCrd       image x-coordinate
+   * @param  yCrd       image y-coordinate
+   * @param  width      image width
+   * @param  height     image height
+   * @param  transition transition style for the new image arrival
+   * @return            status flag
+   */
+  oled_status_t DrawScreen (
+                                     const uint8_t* image,
+                                            int8_t xCrd,
+                                            int8_t yCrd,
+                                            uint8_t width,
+                                            uint8_t height,
+                                  oled_transition_t transition
+                                );
+
+
+  /**
+   * Set the font to use
+   * @param newFont  desired font
+   * @param newColor desired color
+   * @return         status flag
+   */
+  oled_status_t SetFont(
+                              const uint8_t* newFont,
+                                    uint16_t newColor
+                            );
+
+
+  /**
+   * Set OLED dynamic area
+   * @param dynamic_area data-structure with desired values
+   */
+  void SetDynamicArea(oled_dynamic_area_t *dynamic_area);
+
+  /**
+   * Destroy current OLED dynamic area
+   */
+  void DestroyDynamicArea();
+
+
+  /**
+   * Set OLED class text properties from parameter 
+   * @param textProperties data-structure with desired properties
+   */
+  void SetTextProperties(oled_text_properties_t *textProperties);
+
+  /**
+   * Copy OLED class text properties to parameter
+   * @param textProperties destination data-structure
+   */
+  void GetTextProperties(oled_text_properties_t *textProperties);
+
+  /**
+   * Return the width in [px] required for the given string to be displayed
+   * @param  text desired string
+   * @return      required text width in [px]
+   */
+  uint8_t GetTextWidth(const uint8_t* text);
+
+
+  /**
+   * Count the characters
+   * @param  width  text width
+   * @param  font   text font
+   * @param  text   given text string
+   * @param  length text length
+   * @return        character count
+   */
+  uint8_t CharCount(uint8_t width, const uint8_t* font, const uint8_t* text, uint8_t length);
+
+  /**
+   * Add text to the main screen buffer at position x,y. 
+   * @param text    text to add
+   * @param xCrd    x-coordinate for the given text
+   * @param yCrd    y-coordinate for the given text
+   * @return        status flag
+   */
+  oled_status_t AddText( const uint8_t* text,int8_t xCrd, int8_t yCrd );
+    /**
+   * Add text to the main screen buffer. Used with SetDynamicArea() Function.
+   * @param  text text to add
+   * @return      status flag
+   */
+  oled_status_t AddText( const uint8_t* text);
+ 
+  /**
+   * Write text on OLED at position set in Dynamic Area Field. Used with SetDynamicArea() Function.
+   * @param text desired text
+   * 
+   */
+  oled_status_t DrawText ( const uint8_t* text);
+
+  /**
+   * Return the dimensions of image 
+   * @param width  given image's width
+   * @param height given image's height
+   * @param image  desired image
+   */
+  void GetImageDimensions(uint8_t *width, uint8_t *height, const uint8_t* image);
+
+  /**
+   * Add image to the main screen buffer.Used with SetDynamicArea() Function.
+   * @param  image      desired image
+   * @return            status flag
+   */
+  oled_status_t AddImage ( const uint8_t* image );
+
+    /**
+   * Add image to the main screen buffer at position x,y 
+   * @param  image      desired image
+   * @param  xCrd       image x-coordinate
+   * @param  yCrd       image y-coordinate
+   * @return            status flag
+   */
+  oled_status_t AddImage ( const uint8_t* image, int8_t xCrd, int8_t yCrd );
+
+  /**
+   * Send image to OLED GRAM.Used with SetDynamicArea() Function for positioning image. 
+   * @param  image      desired image
+   * @return            status flag
+   */
+  oled_status_t DrawImage ( const uint8_t* image );
+    /**
+   * Send image to OLED GRAM at position x,y.
+   * @param  image      desired image
+   * @param  xCrd       image x-coordinate
+   * @param  yCrd       image y-coordinate
+   * @return            status flag
+   */
+  oled_status_t DrawImage ( const uint8_t* image, int8_t xCrd, int8_t yCrd );
+
+  /**
+   * Dim OLED screen on
+   */
+  void DimScreenON();
+
+  /**
+   * Return OLED back to full contrast
+   */
+  void DimScreenOFF();
+
+  /**
+   * Swap image's bytes per pixel to obtain the correct color format
+   * @param imgDst  desired image
+   * @param imgSrc  original image
+   * @param imgSize image's size
+   */
+  void Swap(
+                      oled_pixel_t imgDst,
+                    const uint8_t* imgSrc,
+                          uint16_t imgSize
+                  );
+    
+
+  /**
+   * Turn on Power for OLED Display
+   */              
+  void PowerON();
+
+  /**
+   * Turn off Power for OLED Display
+   */ 
+  void PowerOFF(); 
+
+  /**
+   * update the main screen buffer
+   * with the given image
+
+   * @param  xCrd       image x-coordinate
+   * @param  yCrd       image y-coordinate
+   * @param  width      image width
+   * @param  height     image height
+   * @param  image      image for buffer
+   */
+  void UpdateBuffer (
+                                int8_t xCrd,
+                                int8_t yCrd,
+                                uint8_t width,
+                                uint8_t height,
+                                const uint8_t* image
+                              );
+
+
+    /**
+   * Write text on OLED at position x,y. Recommended for Static Text. 
+   * @param text    desired text
+   * @param xCrd    x-coordinate for the given text
+   * @param yCrd    y-coordinate for the given text
+   */
+
+  oled_status_t Label(const uint8_t* text,
+                            int8_t xCrd, 
+                            int8_t yCrd );
+
+  /**
+  * Create a text box of width,height at position x,y. Recommended for Dynamic Text.
+  * Text is aligned in textbox accordingly to the align parameter set by SetTextProperties(). 
+  * @param text    desired text
+  * @param xCrd    x-coordinate for the textbox
+  * @param yCrd    y-coordinate for the textbox
+  * @param width   width of the textbox
+  * @param height  height of the textbox 
+  */
+  
+  oled_status_t TextBox(const uint8_t* text,
+                              int8_t xCrd, 
+                              int8_t yCrd,
+                              uint8_t width,
+                              uint8_t height);
+
+
+private:
+
+  SPI spi;
+  DigitalOut power;
+  DigitalOut cs;
+  DigitalOut rst; 
+  DigitalOut dc;
+
+ 
+  const uint8_t* selectedFont;
+
+  uint8_t
+    currentChar_width,
+    currentChar_height,
+    screenBuf[OLED_GRAM_SIZE];
+
+  uint16_t
+    selectedFont_color,
+    selectedFont_firstChar, /* first character in the font table */
+    selectedFont_lastChar,  /* last character in the font table */
+    selectedFont_height,
+    colorMask;
+
+  oled_dynamic_area_t oled_dynamic_area;
+  oled_text_properties_t oled_text_properties;
+
+  
+  /* Internal Functions */
+  void Transpose( oled_pixel_t transImage, const oled_pixel_t image, uint8_t width, uint8_t height );
+  oled_status_t TopDown   ( const uint8_t* image, int8_t xCrd, int8_t yCrd, uint8_t width, uint8_t height );
+  oled_status_t DownTop   ( const uint8_t* image, int8_t xCrd, int8_t yCrd, uint8_t width, uint8_t height );
+  oled_status_t LeftRight ( const uint8_t* image, int8_t xCrd, int8_t yCrd, uint8_t width, uint8_t height );
+  oled_status_t RightLeft ( const uint8_t* image, int8_t xCrd, int8_t yCrd, uint8_t width, uint8_t height );
+  void SetBorders( int8_t xCrd, int8_t yCrd, uint8_t width, uint8_t height );
+  oled_status_t CreateTextBackground();
+  void WriteCharToBuf( uint16_t charToWrite, oled_pixel_t* chrBuf );
+  oled_status_t AddCharToTextArea( oled_pixel_t chrPtr, uint8_t chrWidth, uint8_t chrHeight, oled_pixel_t copyAddr, uint8_t imgWidth );
+  void* AllocateDynamicArea( uint32_t area );
+  oled_status_t DestroyDynamicArea(void * ptr);
+
+};
+
+#endif           
diff -r 000000000000 -r 69293b19ee19 OLED_info.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/OLED_info.h	Wed Feb 28 16:34:40 2018 +0000
@@ -0,0 +1,288 @@
+/** OLED Screen Info  
+ *  This file contains OLED screen SSD1351-related defines and macros. 
+ * 
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this list
+ * of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright notice, this
+ * list of conditions and the following disclaimer in the documentation and/or
+ * other materials provided with the distribution.
+ *
+ * Neither the name of NXP, nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * visit: http://www.mikroe.com and http://www.nxp.com
+ *
+ * get support at: http://www.mikroe.com/forum and https://community.nxp.com
+ *
+ * Project HEXIWEAR, 2015
+ */
+ 
+#ifndef HG_OLED_INFO
+#define HG_OLED_INFO
+
+// command byte number
+#define CMD_BYTE (1)
+#define DATA_BYTE (0)
+
+#define OLED_COLUMN_OFFSET (16)
+#define OLED_ROW_OFFSET    (0)
+
+#define OLED_SCREEN_WIDTH  (96)
+#define OLED_SCREEN_HEIGHT (96)
+
+#define OLED_SCREEN_WIDTH_END  ( (OLED_SCREEN_WIDTH-1)  + OLED_COLUMN_OFFSET )
+#define OLED_SCREEN_HEIGHT_END ( (OLED_SCREEN_HEIGHT-1) + OLED_ROW_OFFSET )
+
+#define OLED_BYTES_PER_PIXEL ( 2 )
+
+#define OLED_TRANSITION_STEP    ( 1 )
+#define OLED_ACTION_DCON  ( 0xFE )
+#define OLED_ACTION_DCOFF ( 0xFF )
+
+#define OLED_CHAR_WIDTH_AUTO  ( 0xFF )
+#define OLED_CHAR_WIDTH_MAX   ( 0xFE )
+#define OLED_CHAR_WIDTH_NUM   ( 0xFD )
+#define OLED_CHAR_WIDTH_KEEP  ( 0xFC )
+#define OLED_CHAR_HEIGHT_AUTO ( 0xFB )
+#define OLED_CHAR_HEIGHT_KEEP ( 0xFA )
+
+#define OLED_SCREEN_SIZE ( OLED_SCREEN_WIDTH * OLED_SCREEN_HEIGHT )
+#define OLED_GRAM_SIZE ( OLED_SCREEN_WIDTH * OLED_SCREEN_HEIGHT * OLED_BYTES_PER_PIXEL )
+
+#define OLED_TEXT_HALIGN_SHIFT ( 0 )
+#define OLED_TEXT_HALIGN_MASK  ( 0x03 << OLED_TEXT_HALIGN_SHIFT )
+
+#define OLED_TEXT_VALIGN_SHIFT ( 4 )
+#define OLED_TEXT_VALIGN_MASK  ( 0x03 << OLED_TEXT_VALIGN_SHIFT )
+
+#define BMP_HEADER_BYTE_SIZE (6)
+
+
+
+/**
+ * remap settings
+ */
+
+#define REMAP_HORIZONTAL_INCREMENT ( 0 )
+#define REMAP_VERTICAL_INCREMENT   ( 1 << 0 )
+
+#define REMAP_COLUMNS_LEFT_TO_RIGHT ( 0 )
+#define REMAP_COLUMNS_RIGHT_TO_LEFT ( 1 << 1 )
+
+#define REMAP_ORDER_ABC ( 0 )
+#define REMAP_ORDER_CBA ( 1 << 2 )
+
+#define REMAP_SCAN_UP_TO_DOWN ( 0 )
+#define REMAP_SCAN_DOWN_TO_UP ( 1 << 4 )
+
+#define REMAP_COM_SPLIT_ODD_EVEN_DIS ( 0 )
+#define REMAP_COM_SPLIT_ODD_EVEN_EN  ( 1 << 5 )
+
+#define REMAP_COLOR_RGB565 ( 1 << 6 )
+
+#define OLED_REMAP_SETTINGS ( REMAP_ORDER_ABC | REMAP_COM_SPLIT_ODD_EVEN_EN | REMAP_COLOR_RGB565 | REMAP_COLUMNS_LEFT_TO_RIGHT | REMAP_SCAN_UP_TO_DOWN | REMAP_HORIZONTAL_INCREMENT )
+
+/**
+ * macros
+ */
+
+#define OLED_SwapMe(x) x = ( ( x & 0xFF00 ) >> 8 ) | ( ( x & 0x00FF ) << 8 )
+#define OLED_AdjustRowOffset(y)    y += OLED_ROW_OFFSET
+#define OLED_AdjustColumnOffset(x) x += OLED_COLUMN_OFFSET
+
+#define BMP_SkipHeader( imgPtr ) ( (const uint8_t*)(imgPtr) + BMP_HEADER_BYTE_SIZE )
+
+
+#define CheckLimits( x, y, w, h ) ( ( ( x + w - 1 ) > OLED_SCREEN_WIDTH ) || ( x < 0 ) || ( ( y + h - 1 ) > OLED_SCREEN_HEIGHT ) || ( y < 0 ) )
+#define AreCoordsValid( x, y, w, h )    ( 0 == CheckLimits( x, y, w ,h ) )
+#define AreCoordsNotValid( x, y, w, h ) ( 0 != CheckLimits( x, y, w, h ) )
+
+
+/**
+ * set start/end column/row
+ * the 2nd and 3rd byte represent the start and the end address, respectively
+ */
+#define OLED_CMD_SET_COLUMN ( 0x15 )
+#define OLED_CMD_SET_ROW    ( 0x75 )
+
+/**
+ * scanning direction
+ */
+
+#define OLED_DIRECTION_HORIZONTAL (0)
+#define OLED_DIRECTION_VERTICAL   (1)
+
+/**
+ * SPI-related
+ */
+
+#define OLED_SPI_CHUNK (511)
+
+/**
+ * set display
+ */
+#define OLED_CMD_SET_DISPLAY_MODE_ALL_OFF (0xA4)
+#define OLED_CMD_SET_DISPLAY_MODE_ALL_ON  (0xA5)
+#define OLED_CMD_SET_DISPLAY_MODE_NORMAL  (0xA6)
+#define OLED_CMD_SET_DISPLAY_MODE_INVERSE (0xA7)
+
+/**
+ * set lock command
+ * the locked OLED driver MCU interface prohibits all commands
+ * and memory access, except the 0xFD command
+ */
+#define OLED_CMD_SET_CMD_LOCK ( 0xFD /* << 8 */ )
+// unlock OLED driver MCU interface for entering command (default upon reset)
+#define OLED_UNLOCK           (0x12)
+// lock OLED driver MCU interface for entering command
+#define OLED_LOCK             (0x16)
+// commands 0xA2, 0xB1, 0xB3, 0xBB, 0xBE, 0xC1 are inaccessible in both lock and unlock state (default upon reset)
+#define OLED_ACC_TO_CMD_NO    (0xB0)
+// commands 0xA2, 0xB1, 0xB3, 0xBB, 0xBE, 0xC1 are accessible in unlock state
+#define OLED_ACC_TO_CMD_YES   (0xB1)
+
+/**
+ * NOP
+ */
+#define OLED_CMD_NOP (0xD1) // also, 0xE3
+
+/**
+ * set MUX ratio
+ */
+#define OLED_CMD_SET_MUX_RATIO (0xCA)
+
+/**
+ * set re-map / color depth
+ */
+#define OLED_CMD_SET_REMAP ( 0xA0 )
+
+// set horisontal or vertical increment
+#define OLED_ADDR_INC_HOR (0x00)
+#define OLED_ADDR_INC_VER (0x01)
+
+// column address mapping
+#define OLED_COLUMN_ADDR_REMAP_0_TO_SEG0   (0x00)
+#define OLED_COLUMN_ADDR_REMAP_127_TO_SEG0 (0x02)
+
+// color sequence order
+#define OLED_COLOR_SEQ_A_B_C (0x00)
+#define OLED_COLOR_SEQ_C_B_A (0x04)
+
+// scanning order (MR == MUX ratio)
+#define OLED_SCAN_FROM_COM_0_TO_MR (0x00)
+#define OLED_SCAN_FROM_COM_MR_TO_0 (0x10)
+
+// COM splitting to odd and even
+#define OLED_COM_SPLIT_DISABLE (0x00)
+#define OLED_COM_SPLIT_ENABLE  (0x20)
+
+// screen color depth
+#define OLED_COLOR_DEPTH_256    (0x00)
+#define OLED_COLOR_DEPTH_65K    (0x40)
+#define OLED_COLOR_DEPTH_262K_1 (0x80)
+#define OLED_COLOR_DEPTH_262K_2 (0xC0)
+
+/**
+ * set reset (phase 1) / pre-charge (phase 2) period in [DCLK]
+ * this command is locked by command 0xFD by default
+ */
+#define OLED_CMD_SET_RESET_AND_PRECHARGE_PERIOD (0xB1)
+
+#define OLED_RESET_PERIOD_5  (0x02)
+#define OLED_RESET_PERIOD_7  (0x03)
+#define OLED_RESET_PERIOD_9  (0x04)
+#define OLED_RESET_PERIOD_11 (0x05)
+#define OLED_RESET_PERIOD_13 (0x06)
+#define OLED_RESET_PERIOD_15 (0x07)
+#define OLED_RESET_PERIOD_17 (0x08)
+#define OLED_RESET_PERIOD_19 (0x09)
+#define OLED_RESET_PERIOD_21 (0x0A)
+#define OLED_RESET_PERIOD_23 (0x0B)
+#define OLED_RESET_PERIOD_25 (0x0C)
+#define OLED_RESET_PERIOD_27 (0x0D)
+#define OLED_RESET_PERIOD_29 (0x0E)
+#define OLED_RESET_PERIOD_31 (0x0F)
+
+#define OLED_PRECHARGE_PERIOD_3  (0x03)
+#define OLED_PRECHARGE_PERIOD_4  (0x04)
+#define OLED_PRECHARGE_PERIOD_5  (0x05)
+#define OLED_PRECHARGE_PERIOD_6  (0x06)
+#define OLED_PRECHARGE_PERIOD_7  (0x07)
+#define OLED_PRECHARGE_PERIOD_8  (0x08)
+#define OLED_PRECHARGE_PERIOD_9  (0x09)
+#define OLED_PRECHARGE_PERIOD_10 (0x0A)
+#define OLED_PRECHARGE_PERIOD_11 (0x0B)
+#define OLED_PRECHARGE_PERIOD_12 (0x0C)
+#define OLED_PRECHARGE_PERIOD_13 (0x0D)
+#define OLED_PRECHARGE_PERIOD_14 (0x0E)
+#define OLED_PRECHARGE_PERIOD_15 (0x0F)
+
+/**
+ * set front clock divider (divset) / oscillator frequency
+ * this command is locked by command 0xFD by default
+ */
+#define OLED_CMD_SET_OSC_FREQ_AND_CLOCKDIV (0xB3)
+
+// clock divider
+#define OLED_CLOCKDIV_1    (0x00)
+#define OLED_CLOCKDIV_2    (0x01)
+#define OLED_CLOCKDIV_4    (0x02)
+#define OLED_CLOCKDIV_8    (0x03)
+#define OLED_CLOCKDIV_16   (0x04)
+#define OLED_CLOCKDIV_32   (0x05)
+#define OLED_CLOCKDIV_64   (0x06)
+#define OLED_CLOCKDIV_128  (0x07)
+#define OLED_CLOCKDIV_256  (0x08)
+#define OLED_CLOCKDIV_512  (0x09)
+#define OLED_CLOCKDIV_1024 (0x0A)
+
+// oscillator frequency, frequency increases as level increases
+#define OLED_OSC_FREQ (0xB0)
+
+#define OLED_CMD_STARTLINE (0xA1)
+
+#define OLED_CMD_WRITERAM       (0x5C)
+#define OLED_CMD_READRAM        (0x5D)
+#define OLED_CMD_DISPLAYOFFSET  (0xA2)
+#define OLED_CMD_DISPLAYALLOFF  (0xA4)
+#define OLED_CMD_DISPLAYALLON   (0xA5)
+#define OLED_CMD_NORMALDISPLAY  (0xA6)
+#define OLED_CMD_INVERTDISPLAY  (0xA7)
+#define OLED_CMD_FUNCTIONSELECT (0xAB)
+#define OLED_CMD_DISPLAYOFF     (0xAE)
+#define OLED_CMD_DISPLAYON      (0xAF)
+#define OLED_CMD_PRECHARGE      (0xB1)
+#define OLED_CMD_DISPLAYENHANCE (0xB2)
+#define OLED_CMD_SETVSL         (0xB4)
+#define OLED_CMD_SETGPIO        (0xB5)
+#define OLED_CMD_PRECHARGE2     (0xB6)
+#define OLED_CMD_SETGRAY        (0xB8)
+#define OLED_CMD_USELUT         (0xB9)
+#define OLED_CMD_PRECHARGELEVEL (0xBB)
+#define OLED_CMD_VCOMH          (0xBE)
+#define OLED_CMD_CONTRASTABC    (0xC1)
+#define OLED_CMD_CONTRASTMASTER (0xC7)
+#define OLED_CMD_MUXRATIO       (0xCA)
+#define OLED_CMD_COMMANDLOCK    (0xFD)
+#define OLED_CMD_HORIZSCROLL    (0x96)
+#define OLED_CMD_STOPSCROLL     (0x9E)
+#define OLED_CMD_STARTSCROLL    (0x9F)
+
+#endif
+
diff -r 000000000000 -r 69293b19ee19 OLED_types.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/OLED_types.h	Wed Feb 28 16:34:40 2018 +0000
@@ -0,0 +1,149 @@
+/** OLED Types 
+ *  This file contains OLED-related data structures.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this list
+ * of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright notice, this
+ * list of conditions and the following disclaimer in the documentation and/or
+ * other materials provided with the distribution.
+ *
+ * Neither the name of NXP, nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * visit: http://www.mikroe.com and http://www.nxp.com
+ *
+ * get support at: http://www.mikroe.com/forum and https://community.nxp.com
+ *
+ * Project HEXIWEAR, 2015
+ */
+ 
+ 
+/**
+ * OLED-related data structures
+ * Project HEXIWEAR, 2015
+ */
+
+#ifndef HG_OLED_TYPES
+#define HG_OLED_TYPES
+
+#include <stdint.h>
+
+typedef enum
+{
+  OLED_TRANSITION_NONE,
+  OLED_TRANSITION_TOP_DOWN,
+  OLED_TRANSITION_DOWN_TOP,
+  OLED_TRANSITION_LEFT_RIGHT,
+  OLED_TRANSITION_RIGHT_LEFT
+
+} oled_transition_t;
+
+typedef enum
+{
+  OLED_STATUS_SUCCESS,        // success
+  OLED_STATUS_ERROR,          // fail
+  OLED_STATUS_PROTOCOL_ERROR, // SPI failure
+  OLED_STATUS_INIT_ERROR,     // initialization error
+  OLED_STATUS_DEINIT_ERROR    // deinitialization error
+
+} oled_status_t;
+
+
+#if 0 
+typedef struct
+{
+  /**
+   * SPI relevant information
+   */
+  genericSpiHandle_t protocol;
+
+} handleOLED_t;
+#endif
+
+
+typedef uint16_t* oled_pixel_t;
+
+typedef struct
+{
+  uint32_t DCpin;
+  uint32_t CSpin;
+  uint32_t RSTpin;
+// uint32_t RWpin;
+  uint32_t ENpin;
+
+} settingsOLED_t;
+
+typedef enum
+{
+  OLED_TEXT_ALIGN_NONE = 0,
+
+  OLED_TEXT_ALIGN_LEFT   = 0x1,
+  OLED_TEXT_ALIGN_RIGHT  = 0x2,
+  OLED_TEXT_ALIGN_CENTER = 0x3,
+
+  OLED_TEXT_VALIGN_TOP    = 0x10,
+  OLED_TEXT_VALIGN_BOTTOM = 0x20,
+  OLED_TEXT_VALIGN_CENTER = 0x30
+
+} oled_text_align_t;
+
+typedef struct
+{
+         int8_t xCrd;
+         int8_t yCrd;
+         uint8_t width;
+         uint8_t height;
+    oled_pixel_t areaBuffer;
+
+} oled_dynamic_area_t;
+
+typedef struct
+{
+  const uint8_t* font;
+  uint16_t fontColor;
+  oled_text_align_t alignParam;
+  const uint8_t* background;
+
+} oled_text_properties_t;
+
+
+/** color chart */
+typedef enum
+{
+  COLOR_BLACK    = 0x0000,
+  COLOR_BLUE_1   = 0x06FF,
+  COLOR_BLUE     = 0x001F,
+  COLOR_RED      = 0xF800,
+  COLOR_GREEN    = 0x07E0,
+  COLOR_CYAN     = 0x07FF,
+  COLOR_MAGENTA  = 0xF81F,
+  COLOR_YELLOW   = 0xFFE0,
+  COLOR_GRAY     = 0x528A,
+  COLOR_WHITE    = 0xFFFF
+
+} Color_t;     
+
+typedef struct _init_cmd_tag
+{
+    uint32_t cmd;
+    uint8_t  type;
+} init_cmd_t;
+
+#endif
+
diff -r 000000000000 -r 69293b19ee19 OpenSans_Font.c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/OpenSans_Font.c	Wed Feb 28 16:34:40 2018 +0000
@@ -0,0 +1,422 @@
+/** OpenSans Font 
+ *  This file contains the Hexiwear optimized OpenSans font. 
+ *
+ *  For more information 
+ *  visit: https://github.com/google/fonts/tree/master/apache/opensans
+ * 
+ *  Font converted with MicroElektronika's Hexiwear Resource Collection Tool
+ *  visit: https://github.com/MikroElektronika/HEXIWEAR/tree/master/SW/ResourceCollectionTool
+ */
+
+#include "OpenSans_Font.h"
+
+/*  Max Width of Character  = 12px
+ *  Max Height of Character = 18px */
+const uint8_t OpenSans_12x18_Regular[] = {
+   0x00,
+   0x00,
+   0x20,0x00,
+   0x7F,0x00,
+   0x12,
+   0x10,
+   0x02,0x88,0x01,0x00,
+   0x02,0x9A,0x01,0x00,
+   0x04,0xAC,0x01,0x00,
+   0x08,0xBE,0x01,0x00,
+   0x06,0xD0,0x01,0x00,
+   0x0A,0xE2,0x01,0x00, // % width
+   0x08,0x06,0x02,0x00,
+   0x02,0x18,0x02,0x00,
+   0x03,0x2A,0x02,0x00,
+   0x03,0x3C,0x02,0x00,
+   0x06,0x4E,0x02,0x00,
+   0x07,0x60,0x02,0x00,
+   0x02,0x72,0x02,0x00,
+   0x03,0x84,0x02,0x00,
+   0x02,0x96,0x02,0x00,
+   0x05,0xA8,0x02,0x00,
+   0x06,0xBA,0x02,0x00,
+   0x04,0xCC,0x02,0x00,
+   0x06,0xDE,0x02,0x00,
+   0x06,0xF0,0x02,0x00,
+   0x07,0x02,0x03,0x00,
+   0x06,0x14,0x03,0x00,
+   0x06,0x26,0x03,0x00,
+   0x06,0x38,0x03,0x00,
+   0x06,0x4A,0x03,0x00,
+   0x06,0x5C,0x03,0x00,
+   0x02,0x6E,0x03,0x00,
+   0x02,0x80,0x03,0x00,
+   0x06,0x92,0x03,0x00,
+   0x06,0xA4,0x03,0x00,
+   0x06,0xB6,0x03,0x00,
+   0x06,0xC8,0x03,0x00,
+   0x0B,0xDA,0x03,0x00,
+   0x08,0xFE,0x03,0x00,
+   0x07,0x10,0x04,0x00,
+   0x08,0x22,0x04,0x00,
+   0x08,0x34,0x04,0x00,
+   0x06,0x46,0x04,0x00,
+   0x07,0x58,0x04,0x00,
+   0x08,0x6A,0x04,0x00,
+   0x09,0x7C,0x04,0x00,
+   0x02,0xA0,0x04,0x00,
+   0x02,0xB2,0x04,0x00,
+   0x08,0xC4,0x04,0x00,
+   0x07,0xD6,0x04,0x00,
+   0x0B,0xE8,0x04,0x00,
+   0x09,0x0C,0x05,0x00,
+   0x09,0x30,0x05,0x00,
+   0x07,0x54,0x05,0x00,
+   0x09,0x66,0x05,0x00,
+   0x07,0x8A,0x05,0x00,
+   0x06,0x9C,0x05,0x00,
+   0x07,0xAE,0x05,0x00,
+   0x08,0xC0,0x05,0x00,
+   0x08,0xD2,0x05,0x00,
+   0x0C,0xE4,0x05,0x00,
+   0x08,0x08,0x06,0x00,
+   0x07,0x1A,0x06,0x00,
+   0x07,0x2C,0x06,0x00,
+   0x04,0x3E,0x06,0x00,
+   0x05,0x50,0x06,0x00,
+   0x03,0x62,0x06,0x00,
+   0x06,0x74,0x06,0x00,
+   0x06,0x86,0x06,0x00,
+   0x05,0x98,0x06,0x00,
+   0x06,0xAA,0x06,0x00,
+   0x07,0xBC,0x06,0x00,
+   0x06,0xCE,0x06,0x00,
+   0x07,0xE0,0x06,0x00,
+   0x06,0xF2,0x06,0x00,
+   0x05,0x04,0x07,0x00,
+   0x07,0x16,0x07,0x00,
+   0x07,0x28,0x07,0x00,
+   0x02,0x3A,0x07,0x00,
+   0x02,0x4C,0x07,0x00,
+   0x06,0x5E,0x07,0x00,
+   0x02,0x70,0x07,0x00,
+   0x0A,0x82,0x07,0x00,  //+1 width for m 
+   0x07,0xA6,0x07,0x00,
+   0x07,0xB8,0x07,0x00,
+   0x07,0xCA,0x07,0x00,
+   0x07,0xDC,0x07,0x00,
+   0x05,0xEE,0x07,0x00,
+   0x05,0x00,0x08,0x00,
+   0x05,0x12,0x08,0x00,
+   0x07,0x24,0x08,0x00,
+   0x07,0x36,0x08,0x00,
+   0x0A,0x48,0x08,0x00,
+   0x06,0x6C,0x08,0x00,
+   0x07,0x7E,0x08,0x00,
+   0x06,0x90,0x08,0x00,
+   0x05,0xA2,0x08,0x00,
+   0x04,0xB4,0x08,0x00,
+   0x05,0xC6,0x08,0x00,
+   0x07,0xD8,0x08,0x00,
+   0x03,0xEA,0x08,0x00,
+   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Code for char num 32
+   0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x02,0x02,0x00,0x00,0x00,0x00, // Code for char num 33
+   0x00,0x00,0x00,0x00,0x00,0x0A,0x0A,0x0A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Code for char num 34
+   0x00,0x00,0x00,0x00,0x00,0x48,0x28,0xFE,0x24,0x24,0x7F,0x14,0x14,0x12,0x00,0x00,0x00,0x00, // Code for char num 35
+   0x00,0x00,0x00,0x00,0x08,0x3C,0x0A,0x0A,0x0E,0x18,0x28,0x28,0x28,0x1E,0x08,0x00,0x00,0x00, // Code for char num 36
+   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x86,0x00,0x8A,0x00,0x4A,0x00,0x4A,0x03,0xAA,0x02,0x96,0x02,0x90,0x02,0x88,0x02,0x08,0x03,0x00,0x00,0x00, 0x00,0x00, 0x00, 0x00, 0x00, // Code for char num 37 (%)
+   0x00,0x00,0x00,0x00,0x00,0x1C,0x24,0x24,0x14,0x0C,0x96,0xA2,0x42,0xBC,0x00,0x00,0x00,0x00, // Code for char num 38
+   0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Code for char num 39
+   0x00,0x00,0x00,0x00,0x00,0x04,0x06,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x06,0x04,0x00,0x00, // Code for char num 40
+   0x00,0x00,0x00,0x00,0x00,0x02,0x06,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x06,0x02,0x00,0x00, // Code for char num 41
+   0x00,0x00,0x00,0x00,0x08,0x08,0x3E,0x08,0x14,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Code for char num 42
+   0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x08,0x08,0x7F,0x08,0x08,0x08,0x00,0x00,0x00,0x00,0x00, // Code for char num 43
+   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x01,0x00,0x00,0x00, // Code for char num 44
+   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Code for char num 45
+   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x00,0x00,0x00,0x00, // Code for char num 46
+   0x00,0x00,0x00,0x00,0x00,0x10,0x08,0x08,0x04,0x04,0x04,0x02,0x02,0x01,0x00,0x00,0x00,0x00, // Code for char num 47
+   0x00,0x00,0x00,0x00,0x00,0x1C,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x1C,0x00,0x00,0x00,0x00, // Code for char num 48
+   0x00,0x00,0x00,0x00,0x00,0x08,0x0C,0x0A,0x08,0x08,0x08,0x08,0x08,0x08,0x00,0x00,0x00,0x00, // Code for char num 49
+   0x00,0x00,0x00,0x00,0x00,0x1C,0x22,0x20,0x20,0x10,0x08,0x04,0x02,0x3E,0x00,0x00,0x00,0x00, // Code for char num 50
+   0x00,0x00,0x00,0x00,0x00,0x1E,0x22,0x20,0x30,0x1C,0x20,0x20,0x20,0x1E,0x00,0x00,0x00,0x00, // Code for char num 51
+   0x00,0x00,0x00,0x00,0x00,0x30,0x28,0x28,0x24,0x22,0x22,0x7F,0x30,0x30,0x00,0x00,0x00,0x00, // Code for char num 52 (4)
+   0x00,0x00,0x00,0x00,0x00,0x3E,0x02,0x02,0x1E,0x20,0x20,0x20,0x20,0x1E,0x00,0x00,0x00,0x00, // Code for char num 53
+   0x00,0x00,0x00,0x00,0x00,0x38,0x04,0x02,0x1E,0x22,0x22,0x22,0x22,0x1C,0x00,0x00,0x00,0x00, // Code for char num 54
+   0x00,0x00,0x00,0x00,0x00,0x3E,0x20,0x20,0x10,0x10,0x08,0x08,0x04,0x04,0x00,0x00,0x00,0x00, // Code for char num 55
+   0x00,0x00,0x00,0x00,0x00,0x1C,0x22,0x22,0x36,0x1C,0x22,0x22,0x22,0x1C,0x00,0x00,0x00,0x00, // Code for char num 56
+   0x00,0x00,0x00,0x00,0x00,0x1C,0x22,0x22,0x22,0x22,0x3C,0x20,0x30,0x0E,0x00,0x00,0x00,0x00, // Code for char num 57
+   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x00,0x00,0x00,0x02,0x02,0x00,0x00,0x00,0x00, // Code for char num 58
+   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x00,0x00,0x00,0x02,0x02,0x01,0x00,0x00,0x00, // Code for char num 59
+   0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x18,0x06,0x06,0x18,0x20,0x00,0x00,0x00,0x00,0x00,0x00, // Code for char num 60
+   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Code for char num 61
+   0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x0C,0x30,0x30,0x0C,0x02,0x00,0x00,0x00,0x00,0x00,0x00, // Code for char num 62
+   0x00,0x00,0x00,0x00,0x00,0x1E,0x30,0x20,0x10,0x0C,0x04,0x00,0x04,0x04,0x00,0x00,0x00,0x00, // Code for char num 63
+   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x01,0x0C,0x02,0xE4,0x04,0x92,0x04,0x92,0x04,0x8A,0x04,0x92,0x04,0x72,0x03,0x04,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Code for char num 64
+   0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x24,0x24,0x7E,0x42,0x42,0x81,0x00,0x00,0x00,0x00, // Code for char num 65
+   0x00,0x00,0x00,0x00,0x00,0x3E,0x42,0x42,0x42,0x3E,0x42,0x42,0x42,0x3E,0x00,0x00,0x00,0x00, // Code for char num 66
+   0x00,0x00,0x00,0x00,0x00,0xF8,0x04,0x02,0x02,0x02,0x02,0x02,0x04,0x78,0x00,0x00,0x00,0x00, // Code for char num 67
+   0x00,0x00,0x00,0x00,0x00,0x3E,0x42,0x82,0x82,0x82,0x82,0x82,0x42,0x3E,0x00,0x00,0x00,0x00, // Code for char num 68
+   0x00,0x00,0x00,0x00,0x00,0x3E,0x02,0x02,0x02,0x3E,0x02,0x02,0x02,0x3E,0x00,0x00,0x00,0x00, // Code for char num 69
+   0x00,0x00,0x00,0x00,0x00,0x7E,0x02,0x02,0x02,0x3E,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x00, // Code for char num 70
+   0x00,0x00,0x00,0x00,0x00,0xF8,0x04,0x02,0x02,0xE2,0x82,0x82,0x84,0xF8,0x00,0x00,0x00,0x00, // Code for char num 71
+   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x01,0x02,0x01,0x02,0x01,0x02,0x01,0xFE,0x01,0x02,0x01,0x02,0x01,0x02,0x01,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Code for char num 72
+   0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x00, // Code for char num 73
+   0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x01,0x00,0x00, // Code for char num 74
+   0x00,0x00,0x00,0x00,0x00,0x42,0x22,0x12,0x1A,0x1E,0x12,0x22,0x42,0xC2,0x00,0x00,0x00,0x00, // Code for char num 75
+   0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x7E,0x00,0x00,0x00,0x00, // Code for char num 76
+   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x06,0x0E,0x05,0x0A,0x05,0x0A,0x05,0x92,0x04,0x92,0x04,0x72,0x04,0x62,0x04,0x62,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Code for char num 77
+   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x01,0x0E,0x01,0x0A,0x01,0x12,0x01,0x32,0x01,0x22,0x01,0x42,0x01,0xC2,0x01,0x82,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Code for char num 78
+   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x00,0x84,0x00,0x02,0x01,0x02,0x01,0x02,0x01,0x02,0x01,0x02,0x01,0x84,0x00,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Code for char num 79
+   0x00,0x00,0x00,0x00,0x00,0x3E,0x42,0x42,0x42,0x42,0x3E,0x02,0x02,0x02,0x00,0x00,0x00,0x00, // Code for char num 80
+   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x00,0x84,0x00,0x02,0x01,0x02,0x01,0x02,0x01,0x02,0x01,0x02,0x01,0x84,0x00,0x78,0x00,0x40,0x00,0x80,0x00,0x00,0x00,0x00,0x00, // Code for char num 81
+   0x00,0x00,0x00,0x00,0x00,0x3E,0x42,0x42,0x42,0x3E,0x22,0x22,0x42,0x42,0x00,0x00,0x00,0x00, // Code for char num 82
+   0x00,0x00,0x00,0x00,0x00,0x3C,0x02,0x02,0x06,0x1C,0x20,0x20,0x20,0x1E,0x00,0x00,0x00,0x00, // Code for char num 83
+   0x00,0x00,0x00,0x00,0x00,0x7F,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x00,0x00,0x00,0x00, // Code for char num 84
+   0x00,0x00,0x00,0x00,0x00,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x44,0x3C,0x00,0x00,0x00,0x00, // Code for char num 85
+   0x00,0x00,0x00,0x00,0x00,0x81,0x42,0x42,0x66,0x24,0x24,0x3C,0x18,0x18,0x00,0x00,0x00,0x00, // Code for char num 86
+   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x61,0x08,0x62,0x04,0x62,0x04,0x92,0x04,0x96,0x04,0x94,0x02,0x0C,0x03,0x0C,0x03,0x08,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Code for char num 87
+   0x00,0x00,0x00,0x00,0x00,0x42,0x66,0x24,0x18,0x18,0x38,0x24,0x42,0xC3,0x00,0x00,0x00,0x00, // Code for char num 88
+   0x00,0x00,0x00,0x00,0x00,0x41,0x22,0x22,0x14,0x1C,0x08,0x08,0x08,0x08,0x00,0x00,0x00,0x00, // Code for char num 89
+   0x00,0x00,0x00,0x00,0x00,0x3E,0x20,0x10,0x18,0x08,0x04,0x04,0x02,0x7F,0x00,0x00,0x00,0x00, // Code for char num 90
+   0x00,0x00,0x00,0x00,0x00,0x0E,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x0E,0x00,0x00, // Code for char num 91
+   0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x02,0x04,0x04,0x04,0x08,0x08,0x10,0x00,0x00,0x00,0x00, // Code for char num 92
+   0x00,0x00,0x00,0x00,0x00,0x07,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x07,0x00,0x00, // Code for char num 93
+   0x00,0x00,0x00,0x00,0x00,0x08,0x14,0x14,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Code for char num 94
+   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x00,0x00, // Code for char num 95
+   0x00,0x00,0x00,0x00,0x08,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Code for char num 96
+   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x20,0x20,0x3C,0x22,0x22,0x3E,0x00,0x00,0x00,0x00, // Code for char num 97
+   0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x3A,0x46,0x42,0x42,0x42,0x46,0x3A,0x00,0x00,0x00,0x00, // Code for char num 98
+   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x02,0x02,0x02,0x02,0x02,0x1C,0x00,0x00,0x00,0x00, // Code for char num 99
+   0x00,0x00,0x00,0x00,0x40,0x40,0x40,0x5C,0x62,0x42,0x42,0x42,0x62,0x5C,0x00,0x00,0x00,0x00, // Code for char num 100
+   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x22,0x22,0x3E,0x02,0x02,0x3C,0x00,0x00,0x00,0x00, // Code for char num 101
+   0x00,0x00,0x00,0x00,0x1C,0x06,0x02,0x0F,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x00, // Code for char num 102
+   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x22,0x22,0x1E,0x02,0x02,0x3C,0x43,0x21,0x3E,0x00, // Code for char num 103
+   0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x3A,0x46,0x42,0x42,0x42,0x42,0x42,0x00,0x00,0x00,0x00, // Code for char num 104
+   0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x00, // Code for char num 105
+   0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x03,0x00, // Code for char num 106
+   0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x22,0x12,0x0A,0x0E,0x1A,0x32,0x22,0x00,0x00,0x00,0x00, // Code for char num 107
+   0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x00, // Code for char num 108
+   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xBA,0x03,0x66,0x02,0x22,0x02,0x22,0x02,0x22,0x02,0x22,0x02,0x22,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Code for char num 109 (m)
+   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3A,0x46,0x42,0x42,0x42,0x42,0x42,0x00,0x00,0x00,0x00, // Code for char num 110
+   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x66,0x42,0x42,0x42,0x66,0x3C,0x00,0x00,0x00,0x00, // Code for char num 111
+   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3A,0x46,0x42,0x42,0x42,0x46,0x3A,0x02,0x02,0x02,0x00, // Code for char num 112
+   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5C,0x62,0x42,0x42,0x42,0x62,0x5C,0x40,0x40,0x40,0x00, // Code for char num 113
+   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1A,0x06,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x00, // Code for char num 114
+   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x02,0x02,0x0C,0x10,0x10,0x1E,0x00,0x00,0x00,0x00, // Code for char num 115
+   0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x1F,0x02,0x02,0x02,0x02,0x06,0x1C,0x00,0x00,0x00,0x00, // Code for char num 116
+   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x42,0x42,0x42,0x42,0x42,0x62,0x5C,0x00,0x00,0x00,0x00, // Code for char num 117
+   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x22,0x22,0x36,0x14,0x14,0x08,0x00,0x00,0x00,0x00, // Code for char num 118
+   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x31,0x02,0x32,0x01,0x32,0x01,0x4A,0x01,0x4A,0x01,0xCC,0x00,0x84,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Code for char num 119
+   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x36,0x14,0x08,0x14,0x36,0x22,0x00,0x00,0x00,0x00, // Code for char num 120
+   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x22,0x22,0x36,0x14,0x14,0x08,0x08,0x04,0x07,0x00, // Code for char num 121
+   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x10,0x08,0x04,0x04,0x02,0x3E,0x00,0x00,0x00,0x00, // Code for char num 122
+   0x00,0x00,0x00,0x00,0x00,0x18,0x04,0x04,0x04,0x04,0x03,0x04,0x04,0x04,0x04,0x18,0x00,0x00, // Code for char num 123
+   0x00,0x00,0x00,0x00,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x00, // Code for char num 124
+   0x00,0x00,0x00,0x00,0x00,0x03,0x04,0x04,0x04,0x04,0x18,0x04,0x04,0x04,0x04,0x03,0x00,0x00, // Code for char num 125
+   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Code for char num 126 (~)
+   0x00,0x00,0x00,0x07,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x07,0x00,0x00,0x00,0x00,0x00  // Code for char num 127
+        };
+
+/*  Max Width of Character  = 10px
+ *  Max Height of Character = 15px  */
+ const uint8_t OpenSans_10x15_Regular[] = {
+   0x00,
+   0x00,
+   0x20,0x00,
+   0x7F,0x00,
+   0x0F,
+   0x10,
+   0x02,0x88,0x01,0x00,
+   0x02,0x97,0x01,0x00,
+   0x03,0xA6,0x01,0x00,
+   0x07,0xB5,0x01,0x00,
+   0x06,0xC4,0x01,0x00, //$ Incremented Width +1
+   0x08,0xD3,0x01,0x00,
+   0x07,0xE2,0x01,0x00,
+   0x02,0xF1,0x01,0x00,
+   0x02,0x00,0x02,0x00,
+   0x03,0x0F,0x02,0x00,
+   0x06,0x1E,0x02,0x00,
+   0x06,0x2D,0x02,0x00,
+   0x02,0x3C,0x02,0x00,
+   0x03,0x4B,0x02,0x00,
+   0x02,0x5A,0x02,0x00,
+   0x04,0x69,0x02,0x00,
+   0x05,0x78,0x02,0x00,
+   0x04,0x87,0x02,0x00,
+   0x05,0x96,0x02,0x00,
+   0x05,0xA5,0x02,0x00,
+   0x06,0xB4,0x02,0x00,
+   0x05,0xC3,0x02,0x00,
+   0x05,0xD2,0x02,0x00,
+   0x05,0xE1,0x02,0x00,
+   0x05,0xF0,0x02,0x00,
+   0x05,0xFF,0x02,0x00,
+   0x02,0x0E,0x03,0x00,
+   0x02,0x1D,0x03,0x00,
+   0x05,0x2C,0x03,0x00,
+   0x05,0x3B,0x03,0x00,
+   0x05,0x4A,0x03,0x00,
+   0x05,0x59,0x03,0x00,
+   0x09,0x68,0x03,0x00,
+   0x07,0x86,0x03,0x00,
+   0x06,0x95,0x03,0x00,
+   0x07,0xA4,0x03,0x00,
+   0x07,0xB3,0x03,0x00,
+   0x05,0xC2,0x03,0x00,
+   0x06,0xD1,0x03,0x00,
+   0x07,0xE0,0x03,0x00,
+   0x07,0xEF,0x03,0x00,
+   0x02,0xFE,0x03,0x00,
+   0x02,0x0D,0x04,0x00,
+   0x07,0x1C,0x04,0x00,
+   0x06,0x2B,0x04,0x00,
+   0x09,0x3A,0x04,0x00,
+   0x07,0x58,0x04,0x00,
+   0x08,0x67,0x04,0x00,
+   0x06,0x76,0x04,0x00,
+   0x08,0x85,0x04,0x00,
+   0x06,0x94,0x04,0x00,
+   0x05,0xA3,0x04,0x00,
+   0x06,0xB2,0x04,0x00,
+   0x07,0xC1,0x04,0x00,
+   0x07,0xD0,0x04,0x00,
+   0x0A,0xDF,0x04,0x00,
+   0x06,0xFD,0x04,0x00,
+   0x06,0x0C,0x05,0x00,
+   0x06,0x1B,0x05,0x00,
+   0x04,0x2A,0x05,0x00,
+   0x04,0x39,0x05,0x00,
+   0x03,0x48,0x05,0x00,
+   0x06,0x57,0x05,0x00,
+   0x05,0x66,0x05,0x00,
+   0x04,0x75,0x05,0x00,
+   0x05,0x84,0x05,0x00,
+   0x06,0x93,0x05,0x00,
+   0x05,0xA2,0x05,0x00,
+   0x06,0xB1,0x05,0x00,
+   0x05,0xC0,0x05,0x00,
+   0x04,0xCF,0x05,0x00,
+   0x06,0xDE,0x05,0x00,
+   0x06,0xED,0x05,0x00,
+   0x02,0xFC,0x05,0x00,
+   0x02,0x0B,0x06,0x00,
+   0x05,0x1A,0x06,0x00,
+   0x02,0x29,0x06,0x00,
+   0x0A,0x38,0x06,0x00,
+   0x06,0x56,0x06,0x00,
+   0x06,0x65,0x06,0x00,
+   0x06,0x74,0x06,0x00,
+   0x06,0x83,0x06,0x00,
+   0x04,0x92,0x06,0x00,
+   0x05,0xA1,0x06,0x00,
+   0x04,0xB0,0x06,0x00,
+   0x06,0xBF,0x06,0x00,
+   0x06,0xCE,0x06,0x00,
+   0x09,0xDD,0x06,0x00,
+   0x05,0xFB,0x06,0x00,
+   0x06,0x0A,0x07,0x00,
+   0x05,0x19,0x07,0x00,
+   0x04,0x28,0x07,0x00,
+   0x04,0x37,0x07,0x00,
+   0x03,0x46,0x07,0x00,
+   0x05,0x55,0x07,0x00,
+   0x03,0x64,0x07,0x00,
+   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,      // Code for char num 32
+   0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x02,0x00,0x00,0x00,      // Code for char num 33
+   0x00,0x00,0x00,0x00,0x06,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,      // Code for char num 34
+   0x00,0x00,0x00,0x00,0x20,0x24,0x7E,0x14,0x14,0x3F,0x12,0x02,0x00,0x00,0x00,      // Code for char num 35
+   0x00,0x00,0x00,0x00,0x08,0x3C,0x0A,0x0A,0x1E,0x28,0x28,0x1E,0x00,0x00,0x00,      // Code for char num 36 ($)
+   0x00,0x00,0x00,0x00,0x46,0x2A,0x2A,0xDA,0xB6,0xA8,0xA8,0xC4,0x00,0x00,0x00,      // Code for char num 37
+   0x00,0x00,0x00,0x00,0x1C,0x12,0x12,0x0C,0x4A,0x52,0x22,0x5E,0x00,0x00,0x00,      // Code for char num 38
+   0x00,0x00,0x00,0x00,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,      // Code for char num 39
+   0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x01,0x01,0x01,0x01,0x02,0x02,0x02,0x00,      // Code for char num 40
+   0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x04,0x04,0x04,0x04,0x02,0x02,0x02,0x00,      // Code for char num 41())
+   0x00,0x00,0x00,0x00,0x04,0x04,0x3F,0x0C,0x12,0x00,0x00,0x00,0x00,0x00,0x00,      // Code for char num 42
+   0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x08,0x3E,0x08,0x08,0x00,0x00,0x00,0x00,      // Code for char num 43 (+)
+   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x01,0x00,      // Code for char num 44
+   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x00,0x00,      // Code for char num 45
+   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,      // Code for char num 46
+   0x00,0x00,0x00,0x00,0x08,0x04,0x04,0x04,0x02,0x02,0x02,0x01,0x00,0x00,0x00,      // Code for char num 47
+   0x00,0x00,0x00,0x00,0x0C,0x12,0x12,0x12,0x12,0x12,0x12,0x0C,0x00,0x00,0x00,      // Code for char num 48
+   0x00,0x00,0x00,0x00,0x0C,0x0A,0x08,0x08,0x08,0x08,0x08,0x08,0x00,0x00,0x00,      // Code for char num 49
+   0x00,0x00,0x00,0x00,0x0E,0x10,0x10,0x10,0x08,0x04,0x02,0x1E,0x00,0x00,0x00,      // Code for char num 50
+   0x00,0x00,0x00,0x00,0x1E,0x10,0x10,0x0C,0x10,0x10,0x11,0x0E,0x00,0x00,0x00,      // Code for char num 51
+   0x00,0x00,0x00,0x00,0x18,0x18,0x14,0x12,0x12,0x3F,0x10,0x10,0x00,0x00,0x00,      // Code for char num 52
+   0x00,0x00,0x00,0x00,0x1E,0x02,0x02,0x1E,0x10,0x10,0x10,0x0E,0x00,0x00,0x00,      // Code for char num 53
+   0x00,0x00,0x00,0x00,0x1C,0x02,0x02,0x1E,0x12,0x12,0x12,0x1C,0x00,0x00,0x00,      // Code for char num 54
+   0x00,0x00,0x00,0x00,0x1F,0x10,0x10,0x08,0x08,0x04,0x04,0x04,0x00,0x00,0x00,      // Code for char num 55
+   0x00,0x00,0x00,0x00,0x1E,0x12,0x12,0x0C,0x12,0x12,0x12,0x1E,0x00,0x00,0x00,      // Code for char num 56
+   0x00,0x00,0x00,0x00,0x0E,0x12,0x12,0x12,0x1E,0x10,0x10,0x0E,0x00,0x00,0x00,      // Code for char num 57
+   0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,      // Code for char num 58
+   0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x02,0x02,0x01,0x00,      // Code for char num 59
+   0x00,0x00,0x00,0x00,0x00,0x10,0x08,0x06,0x02,0x0C,0x10,0x00,0x00,0x00,0x00,      // Code for char num 60
+   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x00,0x1E,0x00,0x00,0x00,0x00,0x00,      // Code for char num 61
+   0x00,0x00,0x00,0x00,0x00,0x02,0x04,0x18,0x10,0x0C,0x02,0x00,0x00,0x00,0x00,      // Code for char num 62 (>)
+   0x00,0x00,0x00,0x00,0x0F,0x10,0x10,0x08,0x04,0x00,0x00,0x06,0x00,0x00,0x00,      // Code for char num 63
+   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x00,0x04,0x01,0x72,0x01,0x4A,0x01,0x4A,0x01,0x4A,0x01,0xFA,0x01,0x02,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,// Code for char num 64
+   0x00,0x00,0x00,0x00,0x08,0x14,0x14,0x14,0x22,0x3E,0x22,0x41,0x00,0x00,0x00,      // Code for char num 65
+   0x00,0x00,0x00,0x00,0x3E,0x22,0x22,0x1E,0x22,0x22,0x22,0x3E,0x00,0x00,0x00,      // Code for char num 66
+   0x00,0x00,0x00,0x00,0x3C,0x06,0x02,0x02,0x02,0x02,0x06,0x3C,0x00,0x00,0x00,      // Code for char num 67 (C)
+   0x00,0x00,0x00,0x00,0x3E,0x62,0x42,0x42,0x42,0x42,0x62,0x3E,0x00,0x00,0x00,      // Code for char num 68
+   0x00,0x00,0x00,0x00,0x1E,0x02,0x02,0x1E,0x02,0x02,0x02,0x1E,0x00,0x00,0x00,      // Code for char num 69
+   0x00,0x00,0x00,0x00,0x3E,0x02,0x02,0x02,0x3E,0x02,0x02,0x02,0x00,0x00,0x00,      // Code for char num 70
+   0x00,0x00,0x00,0x00,0x78,0x06,0x02,0x02,0x62,0x42,0x46,0x7C,0x00,0x00,0x00,      // Code for char num 71
+   0x00,0x00,0x00,0x00,0x42,0x42,0x42,0x7E,0x42,0x42,0x42,0x42,0x00,0x00,0x00,      // Code for char num 72
+   0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x00,      // Code for char num 73
+   0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x01,0x00,      // Code for char num 74
+   0x00,0x00,0x00,0x00,0x22,0x12,0x1A,0x0E,0x0A,0x12,0x22,0x42,0x00,0x00,0x00,      // Code for char num 75
+   0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x3E,0x00,0x00,0x00,      // Code for char num 76
+   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x86,0x01,0x86,0x01,0x86,0x01,0x4A,0x01,0x4A,0x01,0x32,0x01,0x32,0x01,0x32,0x01,0x00,0x00,0x00,0x00,0x00,0x00, // Code for char num 77
+   0x00,0x00,0x00,0x00,0x42,0x46,0x4A,0x4A,0x52,0x52,0x62,0x42,0x00,0x00,0x00,      // Code for char num 78
+   0x00,0x00,0x00,0x00,0x7C,0xC6,0x82,0x82,0x82,0x82,0xC6,0x7C,0x00,0x00,0x00,      // Code for char num 79
+   0x00,0x00,0x00,0x00,0x1E,0x22,0x22,0x22,0x1E,0x02,0x02,0x02,0x00,0x00,0x00,      // Code for char num 80
+   0x00,0x00,0x00,0x00,0x7C,0xC6,0x82,0x82,0x82,0x82,0xC6,0x7C,0x20,0x40,0x00,      // Code for char num 81
+   0x00,0x00,0x00,0x00,0x1E,0x22,0x22,0x22,0x1E,0x12,0x22,0x22,0x00,0x00,0x00,      // Code for char num 82
+   0x00,0x00,0x00,0x00,0x1C,0x02,0x02,0x06,0x18,0x10,0x10,0x0E,0x00,0x00,0x00,      // Code for char num 83 (S)
+   0x00,0x00,0x00,0x00,0x3E,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x00,0x00,0x00,      // Code for char num 84 (T)
+   0x00,0x00,0x00,0x00,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x3C,0x00,0x00,0x00,      // Code for char num 85
+   0x00,0x00,0x00,0x00,0x41,0x22,0x22,0x22,0x14,0x14,0x14,0x08,0x00,0x00,0x00,      // Code for char num 86
+   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x31,0x02,0x31,0x01,0x32,0x01,0x4A,0x01,0x4A,0x01,0xCA,0x00,0xCC,0x00,0x84,0x00,0x00,0x00,0x00,0x00,0x00,0x00,// Code for char num 87
+   0x00,0x00,0x00,0x00,0x21,0x12,0x0C,0x0C,0x0C,0x12,0x12,0x21,0x00,0x00,0x00,      // Code for char num 88
+   0x00,0x00,0x00,0x00,0x21,0x12,0x12,0x0C,0x0C,0x08,0x08,0x08,0x00,0x00,0x00,      // Code for char num 89 (Y)
+   0x00,0x00,0x00,0x00,0x1E,0x10,0x08,0x08,0x04,0x02,0x02,0x3F,0x00,0x00,0x00,      // Code for char num 90
+   0x00,0x00,0x00,0x00,0x0E,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x0E,0x00,      // Code for char num 91
+   0x00,0x00,0x00,0x00,0x01,0x02,0x02,0x02,0x04,0x04,0x04,0x08,0x00,0x00,0x00,      // Code for char num 92
+   0x00,0x00,0x00,0x00,0x07,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x07,0x00,      // Code for char num 93
+   0x00,0x00,0x00,0x00,0x04,0x0C,0x12,0x12,0x21,0x00,0x00,0x00,0x00,0x00,0x00,      // Code for char num 94
+   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,      // Code for char num 95
+   0x00,0x00,0x00,0x04,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,      // Code for char num 96
+   0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x10,0x1E,0x12,0x12,0x1E,0x00,0x00,0x00,      // Code for char num 97
+   0x00,0x00,0x00,0x00,0x02,0x02,0x1E,0x22,0x22,0x22,0x22,0x1E,0x00,0x00,0x00,      // Code for char num 98
+   0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x02,0x02,0x02,0x02,0x1C,0x00,0x00,0x00,      // Code for char num 99
+   0x00,0x00,0x00,0x00,0x20,0x20,0x3C,0x22,0x22,0x22,0x22,0x3C,0x00,0x00,0x00,      // Code for char num 100
+   0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x12,0x1E,0x02,0x02,0x1C,0x00,0x00,0x00,      // Code for char num 101
+   0x00,0x00,0x00,0x00,0x0C,0x02,0x0F,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x00,      // Code for char num 102
+   0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x12,0x12,0x0E,0x02,0x1E,0x21,0x31,0x1E,      // Code for char num 103
+   0x00,0x00,0x00,0x00,0x02,0x02,0x1E,0x22,0x22,0x22,0x22,0x22,0x00,0x00,0x00,      // Code for char num 104
+   0x00,0x00,0x00,0x00,0x02,0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x00,      // Code for char num 105
+   0x00,0x00,0x00,0x00,0x02,0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x03,      // Code for char num 106
+   0x00,0x00,0x00,0x00,0x02,0x02,0x12,0x0A,0x06,0x0A,0x12,0x12,0x00,0x00,0x00,      // Code for char num 107
+   0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x00,      // Code for char num 108
+   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xDE,0x03,0x22,0x02,0x22,0x02,0x22,0x02,0x22,0x02,0x22,0x02,0x00,0x00,0x00,0x00,0x00, 0x00,   // code for 109 (m)
+   0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x22,0x22,0x22,0x22,0x22,0x00,0x00,0x00,      // Code for char num 110
+   0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x22,0x22,0x22,0x22,0x1C,0x00,0x00,0x00,      // Code for char num 111
+   0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x22,0x22,0x22,0x22,0x1E,0x02,0x02,0x02,      // Code for char num 112
+   0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x22,0x22,0x22,0x22,0x3C,0x20,0x20,0x20,      // Code for char num 113
+   0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x00,      // Code for char num 114
+   0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x02,0x04,0x08,0x10,0x0E,0x00,0x00,0x00,      // Code for char num 115 (s)
+   0x00,0x00,0x00,0x00,0x00,0x02,0x0F,0x02,0x02,0x02,0x02,0x0E,0x00,0x00,0x00,      // Code for char num 116
+   0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x22,0x22,0x22,0x3E,0x00,0x00,0x00,      // Code for char num 117
+   0x00,0x00,0x00,0x00,0x00,0x00,0x21,0x12,0x12,0x12,0x0C,0x0C,0x00,0x00,0x00,      // Code for char num 118
+   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x11,0x01,0xAA,0x00,0xAA,0x00,0xAA,0x00,0xA6,0x00,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Code for char num 119
+   0x00,0x00,0x00,0x00,0x00,0x00,0x12,0x12,0x0C,0x0C,0x12,0x12,0x00,0x00,0x00,      // Code for char num 120
+   0x00,0x00,0x00,0x00,0x00,0x00,0x21,0x12,0x12,0x12,0x0C,0x0C,0x04,0x04,0x03,      // Code for char num 121
+   0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x08,0x04,0x04,0x02,0x1F,0x00,0x00,0x00,      // Code for char num 122
+   0x00,0x00,0x00,0x00,0x0C,0x04,0x04,0x04,0x02,0x02,0x04,0x04,0x04,0x0C,0x00,      // Code for char num 123
+   0x00,0x00,0x00,0x00,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,      // Code for char num 124
+   0x00,0x00,0x00,0x00,0x03,0x02,0x02,0x02,0x04,0x04,0x02,0x02,0x02,0x03,0x00,      // Code for char num 125
+   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x18,0x00,0x00,0x00,0x00,0x00,0x00,      // Code for char num 126
+   0x00,0x00,0x00,0x07,0x05,0x05,0x05,0x05,0x05,0x05,0x07,0x00,0x00,0x00,0x00       // Code for char num 127
+   };
+
+ 
+
+
+
diff -r 000000000000 -r 69293b19ee19 OpenSans_Font.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/OpenSans_Font.h	Wed Feb 28 16:34:40 2018 +0000
@@ -0,0 +1,25 @@
+/** OpenSans Font 
+ *  This file contains the Hexiwear optimized OpenSans font. 
+ *
+ *  For more information 
+ *  visit: https://github.com/google/fonts/tree/master/apache/opensans
+ * 
+ *  Font converted with MicroElektronika's Hexiwear Resource Collection Tool
+ *  visit: https://github.com/MikroElektronika/HEXIWEAR/tree/master/SW/ResourceCollectionTool
+ */
+
+#ifndef HG_OPENSANS_FONT
+#define HG_OPENSANS_FONT
+
+#include <stdint.h>
+
+/** Max Width of Character  = 12px
+ *  Max Height of Character = 18px */
+extern const uint8_t OpenSans_12x18_Regular[];
+
+/** Max Width of Character  = 10px
+ *  Max Height of Character = 15px */
+extern const uint8_t OpenSans_10x15_Regular[];
+
+#endif
+
diff -r 000000000000 -r 69293b19ee19 images.c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/images.c	Wed Feb 28 16:34:40 2018 +0000
@@ -0,0 +1,1207 @@
+ /*  Hexiwear NXP Bitmap Images
+ *   This file contains the bitmaps for the full screen (96 by 96 pixels) NXP logo 
+ *   and a smaller 96 by 32 pixels NXP logo.  
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this list
+ * of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright notice, this
+ * list of conditions and the following disclaimer in the documentation and/or
+ * other materials provided with the distribution.
+ *
+ * Neither the name of NXP, nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * visit: http://www.mikroe.com and http://www.nxp.com
+ *
+ * get support at: http://www.mikroe.com/forum and https://community.nxp.com
+ *
+ * Project HEXIWEAR, 2015
+ */
+ 
+#include "images.h"
+
+
+/*
+* Bitmaps need to be formatted as 16bppRgb565, flipped vertically
+* and a 6 byte header needs to be appended at the start of the array.
+* Use the following tool to create arrays for images. 
+* https://github.com/MikroElektronika/HEXIWEAR/tree/master/SW/ResourceCollectionTool
+* It takes an image and outputs the array. It handles the flipping and the 6 byte header.  
+* Image needs to be converted outside the tool to fit the screen (96px by 96px).
+*/
+
+const uint8_t TempHumid[] = {
+0x00,0x10, //First 6 bytes are the header
+0x60,0x00, //They contain the Width and Height
+0x60,0x00, //Width = 96(0x60)Pixels, Height = 96(0x60)Pixels
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x24,0x21,0x82,0x10,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x24,0x21,0x82,0x10,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x14,0xA5,0x14,0xA5,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE3,0x18,0xFF,0xFF,0x71,0x8C,
+0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0xE7,0x39,0xDF,0xFF,
+0xEF,0x7B,0x00,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0xE3,0x18,0xFF,0xFF,0x92,0x94,
+0x00,0x00,0x20,0x00,0x00,0x00,0x24,0x21,0xFF,0xFF,0xB2,0x94,0x00,0x00,0x61,0x08,
+0x20,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x21,0xFF,0xFF,0x71,0x8C,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x24,0x21,0x14,0xA5,
+0x69,0x4A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x82,0x10,0xFF,0xFF,0xB2,0x94,
+0x00,0x00,0x20,0x00,0x00,0x00,0xCF,0x7B,0xFF,0xFF,0x45,0x29,0x00,0x00,0x9A,0xD6,
+0x75,0xAD,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x21,0xFF,0xFF,0xD3,0x9C,
+0xAE,0x73,0x55,0xAD,0x8A,0x52,0x00,0x00,0x41,0x08,0xAE,0x73,0x49,0x4A,0x00,0x00,
+0x61,0x08,0xCF,0x7B,0xA6,0x31,0x00,0x00,0x8E,0x73,0xC7,0x39,0x2C,0x63,0x34,0xA5,
+0xAA,0x52,0x61,0x08,0x51,0x8C,0x14,0xA5,0xE7,0x39,0x00,0x00,0x82,0x10,0x4D,0x6B,
+0x45,0x29,0x00,0x00,0x82,0x10,0x30,0x84,0x75,0xAD,0x0C,0x63,0xFF,0xFF,0xB2,0x94,
+0x00,0x00,0x00,0x00,0x00,0x00,0xFB,0xDE,0xDB,0xDE,0x00,0x00,0x4D,0x6B,0xDF,0xFF,
+0x3C,0xE7,0x30,0x84,0xE3,0x18,0x00,0x00,0xCB,0x5A,0x96,0xB5,0x34,0xA5,0xE7,0x39,
+0x00,0x00,0x82,0x10,0xAE,0x73,0x65,0x29,0x10,0x84,0x14,0xA5,0xA6,0x31,0xC3,0x18,
+0xD3,0x9C,0xD3,0x9C,0x24,0x21,0x00,0x00,0x86,0x31,0x6D,0x6B,0x65,0x29,0x14,0xA5,
+0xF3,0x9C,0x65,0x29,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x24,0x21,0xDF,0xFF,0xFF,0xFF,
+0x9E,0xF7,0xFF,0xFF,0xFF,0xFF,0x65,0x29,0x61,0x08,0xFF,0xFF,0x75,0xAD,0x00,0x00,
+0x45,0x29,0xFF,0xFF,0x30,0x84,0x00,0x00,0xDF,0xFF,0xBE,0xF7,0x9E,0xF7,0xFF,0xFF,
+0xFF,0xFF,0x1C,0xE7,0xBE,0xF7,0xFF,0xFF,0xBE,0xF7,0x61,0x08,0x86,0x31,0xFF,0xFF,
+0x10,0x84,0x00,0x00,0xF7,0xBD,0xFF,0xFF,0x79,0xCE,0xBE,0xF7,0xFF,0xFF,0x92,0x94,
+0x00,0x00,0x00,0x00,0x86,0x31,0xFF,0xFF,0xAE,0x73,0x00,0x00,0xD7,0xBD,0xDF,0xFF,
+0xBE,0xF7,0x3C,0xE7,0x45,0x29,0x6D,0x6B,0xFF,0xFF,0x34,0xA5,0x79,0xCE,0xFF,0xFF,
+0x24,0x21,0x04,0x21,0xFF,0xFF,0xBE,0xF7,0x9E,0xF7,0xFF,0xFF,0x9E,0xF7,0x5D,0xEF,
+0x9E,0xF7,0xFF,0xFF,0x9A,0xD6,0x00,0x00,0x6D,0x6B,0xFF,0xFF,0x9E,0xF7,0x79,0xCE,
+0xFF,0xFF,0x5D,0xEF,0xA2,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x21,0xFF,0xFF,0x59,0xCE,
+0x41,0x08,0xAA,0x52,0xFF,0xFF,0x0C,0x63,0x00,0x00,0xFF,0xFF,0x14,0xA5,0x00,0x00,
+0x24,0x21,0xFF,0xFF,0xCF,0x7B,0x00,0x00,0x5D,0xEF,0x3C,0xE7,0xA2,0x10,0x28,0x42,
+0xFF,0xFF,0xD7,0xBD,0x20,0x00,0x10,0x84,0xFF,0xFF,0x86,0x31,0x24,0x21,0xFF,0xFF,
+0x6D,0x6B,0x82,0x10,0xFF,0xFF,0x34,0xA5,0x00,0x00,0x49,0x4A,0xFF,0xFF,0x92,0x94,
+0x00,0x00,0x00,0x00,0x71,0x8C,0xFF,0xFF,0xE3,0x18,0x00,0x00,0x00,0x00,0x5D,0xEF,
+0x38,0xC6,0x00,0x00,0x20,0x00,0xBE,0xF7,0xF7,0xBD,0x00,0x00,0x82,0x10,0xFF,0xFF,
+0x10,0x84,0x82,0x10,0xFF,0xFF,0xF7,0xBD,0x41,0x08,0xCF,0x7B,0xFF,0xFF,0x51,0x8C,
+0x20,0x00,0xF7,0xBD,0xFF,0xFF,0x20,0x00,0xCB,0x5A,0xFF,0xFF,0xCF,0x7B,0x00,0x00,
+0xEF,0x7B,0xFF,0xFF,0x8A,0x52,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x21,0xFF,0xFF,0x71,0x8C,
+0x00,0x00,0xA6,0x31,0xFF,0xFF,0x0C,0x63,0x20,0x00,0xFF,0xFF,0x14,0xA5,0x00,0x00,
+0x04,0x21,0xFF,0xFF,0xEF,0x7B,0x00,0x00,0xBE,0xF7,0xF7,0xBD,0x00,0x00,0x45,0x29,
+0xFF,0xFF,0x6D,0x6B,0x00,0x00,0xEB,0x5A,0xFF,0xFF,0xA6,0x31,0x24,0x21,0xFF,0xFF,
+0x4D,0x6B,0x65,0x29,0xFF,0xFF,0x4D,0x6B,0x20,0x00,0xA2,0x10,0xFF,0xFF,0xB2,0x94,
+0x00,0x00,0x20,0x00,0x5D,0xEF,0x59,0xCE,0x00,0x00,0x00,0x00,0x00,0x00,0x5D,0xEF,
+0x59,0xCE,0x00,0x00,0x04,0x21,0xDF,0xFF,0x5D,0xEF,0xBA,0xD6,0xBA,0xD6,0xFF,0xFF,
+0x71,0x8C,0x82,0x10,0xFF,0xFF,0xCF,0x7B,0x00,0x00,0xCB,0x5A,0xFF,0xFF,0xC7,0x39,
+0x00,0x00,0xF3,0x9C,0xFF,0xFF,0x41,0x08,0xCB,0x5A,0xFF,0xFF,0x86,0x31,0x20,0x00,
+0x28,0x42,0xFF,0xFF,0x6D,0x6B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x21,0xFF,0xFF,0xB2,0x94,
+0x00,0x00,0xC7,0x39,0xFF,0xFF,0x0C,0x63,0x00,0x00,0xFF,0xFF,0x75,0xAD,0x00,0x00,
+0xA6,0x31,0xFF,0xFF,0xCF,0x7B,0x00,0x00,0x9E,0xF7,0x18,0xC6,0x00,0x00,0x65,0x29,
+0xFF,0xFF,0xCF,0x7B,0x00,0x00,0x2C,0x63,0xFF,0xFF,0x86,0x31,0x24,0x21,0xFF,0xFF,
+0x4D,0x6B,0x04,0x21,0xFF,0xFF,0x30,0x84,0x00,0x00,0x24,0x21,0xFF,0xFF,0xB2,0x94,
+0x00,0x00,0x28,0x42,0xFF,0xFF,0x0C,0x63,0x00,0x00,0x00,0x00,0x00,0x00,0x5D,0xEF,
+0x38,0xC6,0x00,0x00,0x82,0x10,0xFF,0xFF,0xD7,0xBD,0x24,0x21,0x45,0x29,0xC3,0x18,
+0x41,0x08,0x04,0x21,0xFF,0xFF,0x10,0x84,0x00,0x00,0xEB,0x5A,0xFF,0xFF,0x28,0x42,
+0x00,0x00,0x14,0xA5,0xFF,0xFF,0x41,0x08,0xCB,0x5A,0xFF,0xFF,0x49,0x4A,0x00,0x00,
+0x2C,0x63,0xFF,0xFF,0xCB,0x5A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x21,0xFF,0xFF,0xF3,0x9C,
+0x00,0x00,0xE7,0x39,0xFF,0xFF,0x6D,0x6B,0x00,0x00,0x5D,0xEF,0xFF,0xFF,0xF3,0x9C,
+0x5D,0xEF,0xFF,0xFF,0x10,0x84,0x00,0x00,0xFF,0xFF,0x59,0xCE,0x00,0x00,0x86,0x31,
+0xFF,0xFF,0xEF,0x7B,0x00,0x00,0x4D,0x6B,0xFF,0xFF,0xA6,0x31,0x24,0x21,0xFF,0xFF,
+0xCF,0x7B,0x00,0x00,0x9E,0xF7,0x9E,0xF7,0x8E,0x73,0x9A,0xD6,0xFF,0xFF,0xD3,0x9C,
+0x00,0x00,0x34,0xA5,0xDF,0xFF,0x82,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0xFB,0xDE,
+0x9E,0xF7,0xAE,0x73,0xC3,0x18,0xD7,0xBD,0xDF,0xFF,0x69,0x4A,0x86,0x31,0x6D,0x6B,
+0x24,0x21,0xE3,0x18,0xFF,0xFF,0x51,0x8C,0x00,0x00,0x0C,0x63,0xFF,0xFF,0x49,0x4A,
+0x00,0x00,0x75,0xAD,0xFF,0xFF,0x41,0x08,0xCB,0x5A,0xFF,0xFF,0x5D,0xEF,0xAE,0x73,
+0x3C,0xE7,0xFF,0xFF,0xE3,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA2,0x10,0x38,0xC6,0x6D,0x6B,
+0x00,0x00,0x45,0x29,0x38,0xC6,0x8A,0x52,0x00,0x00,0x8A,0x52,0xFB,0xDE,0x9E,0xF7,
+0xCF,0x7B,0xB6,0xB5,0x0C,0x63,0x00,0x00,0xD7,0xBD,0x92,0x94,0x00,0x00,0x04,0x21,
+0x38,0xC6,0xCB,0x5A,0x00,0x00,0x49,0x4A,0x38,0xC6,0x24,0x21,0xC3,0x18,0x38,0xC6,
+0xCB,0x5A,0x00,0x00,0x69,0x4A,0xFB,0xDE,0xBE,0xF7,0x30,0x84,0x55,0xAD,0x8E,0x73,
+0x00,0x00,0xBE,0xF7,0xB6,0xB5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xCB,0x5A,
+0x1C,0xE7,0x9E,0xF7,0x45,0x29,0xA2,0x10,0xB6,0xB5,0x9E,0xF7,0x9E,0xF7,0x1C,0xE7,
+0x86,0x31,0x61,0x08,0x38,0xC6,0x0C,0x63,0x00,0x00,0x28,0x42,0x38,0xC6,0x86,0x31,
+0x00,0x00,0xCF,0x7B,0x38,0xC6,0x20,0x00,0xEB,0x5A,0xFF,0xFF,0x14,0xA5,0x7D,0xEF,
+0x1C,0xE7,0xCB,0x5A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0xEB,0x5A,0xFF,0xFF,0x8A,0x52,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x41,0x08,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x63,0xFF,0xFF,0x65,0x29,0x00,0x00,
+0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,
+0xCF,0x7B,0xF7,0xBD,0x41,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0xEB,0x5A,0xFF,0xFF,0xC7,0x39,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x08,0x24,0x21,0x20,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC7,0x39,0x2C,0x63,0x8E,0x73,
+0xAE,0x73,0xAE,0x73,0xAE,0x73,0xAE,0x73,0xAE,0x73,0xAE,0x73,0xAE,0x73,0xAE,0x73,
+0xAE,0x73,0xAE,0x73,0xAE,0x73,0xAE,0x73,0xAE,0x73,0xAE,0x73,0xAE,0x73,0xAE,0x73,
+0xAE,0x73,0xAE,0x73,0xAE,0x73,0xAE,0x73,0xAE,0x73,0xAE,0x73,0xAE,0x73,0xAE,0x73,
+0xAE,0x73,0xAE,0x73,0xAE,0x73,0xAE,0x73,0xAE,0x73,0xAE,0x73,0xAE,0x73,0xAE,0x73,
+0x8E,0x73,0x2C,0x63,0x28,0x42,0x41,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0xA6,0x31,0x30,0x84,0x2C,0x63,0xA6,0x31,0xE3,0x18,
+0xA2,0x10,0xA2,0x10,0xA2,0x10,0xA2,0x10,0xA2,0x10,0xA2,0x10,0xA2,0x10,0xA2,0x10,
+0xA2,0x10,0xA2,0x10,0xA2,0x10,0xA2,0x10,0xA2,0x10,0xA2,0x10,0xA2,0x10,0xA2,0x10,
+0xA2,0x10,0xA2,0x10,0xA2,0x10,0xA2,0x10,0xA2,0x10,0xA2,0x10,0xA2,0x10,0xA2,0x10,
+0xA2,0x10,0xA2,0x10,0xA2,0x10,0xA2,0x10,0xA2,0x10,0xA2,0x10,0xA2,0x10,0xA2,0x10,
+0xC3,0x18,0x65,0x29,0xEB,0x5A,0x51,0x8C,0x69,0x4A,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x8A,0x52,0x10,0x84,0xA2,0x10,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x08,0x8E,0x73,0x4D,0x6B,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0xE7,0x39,0x10,0x84,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2C,0x63,0xCB,0x5A,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x61,0x08,0x71,0x8C,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x84,0x04,0x21,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x8A,0x52,0x69,0x4A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x65,0x29,0x6D,0x6B,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0xAE,0x73,0xC3,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xEF,0x7B,
+0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0xCF,0x7B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x82,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xAE,0x73,
+0xA2,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,
+0xCF,0x7B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,
+0xD3,0x9C,0x38,0xC6,0x18,0xC6,0x45,0x29,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8E,0x73,
+0xE3,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,
+0xCF,0x7B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xAE,0x73,
+0xD7,0xBD,0x00,0x00,0x8A,0x52,0xF7,0xBD,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8E,0x73,
+0xE3,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,
+0xCF,0x7B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0xF3,0x9C,
+0xEB,0x5A,0xC7,0x39,0x0C,0x63,0x9A,0xD6,0x41,0x08,0x00,0x00,0x00,0x00,0x00,0x00,
+0x82,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x82,0x10,0xA2,0x10,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8E,0x73,
+0xE3,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,
+0xCF,0x7B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xD3,0x9C,
+0x4D,0x6B,0x8A,0x52,0xDF,0xFF,0x3C,0xE7,0x20,0x00,0x00,0x00,0x00,0x00,0x49,0x4A,
+0xB6,0xB5,0x10,0x84,0x00,0x00,0x00,0x00,0x71,0x8C,0x79,0xCE,0x59,0xCE,0x75,0xAD,
+0x61,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8E,0x73,
+0xE3,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,
+0xCF,0x7B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xD3,0x9C,
+0x2C,0x6B,0x28,0x42,0x3C,0xE7,0x3C,0xE7,0x20,0x00,0x00,0x00,0x00,0x00,0x55,0xAD,
+0xE7,0x39,0x75,0xAD,0x61,0x08,0x0C,0x63,0x3C,0xE7,0xC3,0x18,0x61,0x08,0x9A,0xD6,
+0x34,0xA5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8E,0x73,
+0xE3,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,
+0xCF,0x7B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0xD3,0x9C,
+0x4D,0x6B,0xA6,0x31,0x3C,0xE7,0x3C,0xE7,0x20,0x00,0x00,0x00,0x00,0x00,0xC7,0x39,
+0xB6,0xB5,0xCF,0x7B,0x00,0x00,0x18,0xC6,0xEF,0x7B,0x00,0x00,0x00,0x00,0xC7,0x39,
+0xAE,0x73,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8E,0x73,
+0xE3,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,
+0xCF,0x7B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xB2,0x94,
+0x8A,0x52,0x2C,0x63,0x9E,0xF7,0x1C,0xE7,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x20,0x00,0x00,0x00,0x00,0x00,0x18,0xC6,0x8E,0x73,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8E,0x73,
+0xE3,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,
+0xCF,0x7B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x92,0x94,
+0x8A,0x52,0x04,0x21,0xFB,0xDE,0x3C,0xE7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0xF7,0xBD,0x8E,0x73,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8E,0x73,
+0xE3,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,
+0xCF,0x7B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x61,0x08,0x79,0xCE,
+0x04,0x21,0x92,0x94,0xDF,0xFF,0xDF,0xFF,0x28,0x42,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x18,0xC6,0x6D,0x6B,0x00,0x00,0x20,0x00,0x82,0x10,
+0x24,0x21,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8E,0x73,
+0xE3,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,
+0xCF,0x7B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xAE,0x73,0x30,0x84,
+0xE7,0x39,0xFF,0xFF,0xDF,0xFF,0xFF,0xFF,0xB6,0xB5,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x34,0xA5,0xB6,0xB5,0x00,0x00,0x00,0x00,0x92,0x94,
+0xF7,0xBD,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8E,0x73,
+0xE3,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,
+0xCF,0x7B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xCF,0x7B,0x59,0xCE,
+0xDB,0xDE,0xFF,0xFF,0xDF,0xFF,0xFF,0xFF,0x59,0xCE,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x24,0x21,0x1C,0xE7,0xD3,0x9C,0x51,0x8C,0x5D,0xEF,
+0x28,0x42,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8E,0x73,
+0xE3,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,
+0xCF,0x7B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x65,0x29,0xFF,0xFF,
+0xFF,0xFF,0xDF,0xFF,0xDF,0xFF,0xFF,0xFF,0xEF,0x7B,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x82,0x10,0x8E,0x73,0xAE,0x73,0x45,0x29,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8E,0x73,
+0xE3,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,
+0xCF,0x7B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x4D,0x6B,
+0x7D,0xEF,0xFF,0xFF,0xFF,0xFF,0x75,0xAD,0x41,0x08,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8E,0x73,
+0xE3,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,
+0xCF,0x7B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,
+0xE3,0x18,0xAA,0x52,0xC7,0x39,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8E,0x73,
+0xE3,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,
+0xCF,0x7B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8E,0x73,
+0xE3,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,
+0xCF,0x7B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x4D,0x6B,0xCF,0x7B,
+0xAE,0x73,0xCF,0x7B,0xCF,0x7B,0xCF,0x7B,0xCF,0x7B,0xCF,0x7B,0xCF,0x7B,0xCF,0x7B,
+0xCF,0x7B,0xCF,0x7B,0xCF,0x7B,0xCF,0x7B,0xCF,0x7B,0xCF,0x7B,0xCF,0x7B,0xCF,0x7B,
+0xCF,0x7B,0xCF,0x7B,0xCF,0x7B,0xCF,0x7B,0xCF,0x7B,0xCF,0x7B,0xCF,0x7B,0xCF,0x7B,
+0xCF,0x7B,0xCF,0x7B,0xCF,0x7B,0xCF,0x7B,0xCF,0x7B,0xCF,0x7B,0xCF,0x7B,0xAE,0x73,
+0xCF,0x7B,0xAE,0x73,0x61,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8E,0x73,
+0xE3,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,
+0xCF,0x7B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC7,0x39,0x08,0x42,
+0x08,0x42,0x08,0x42,0x08,0x42,0x08,0x42,0x08,0x42,0x08,0x42,0x08,0x42,0x08,0x42,
+0x08,0x42,0x08,0x42,0x08,0x42,0x08,0x42,0x08,0x42,0x08,0x42,0x08,0x42,0x08,0x42,
+0x08,0x42,0x08,0x42,0x08,0x42,0x08,0x42,0x08,0x42,0x08,0x42,0x08,0x42,0x08,0x42,
+0x08,0x42,0x08,0x42,0x08,0x42,0x08,0x42,0x08,0x42,0x08,0x42,0x08,0x42,0x08,0x42,
+0x08,0x42,0xE7,0x39,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8E,0x73,
+0xE3,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,
+0xCF,0x7B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8E,0x73,
+0xE3,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,
+0xCF,0x7B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0xE3,0x18,0x45,0x29,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8E,0x73,
+0xE3,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,
+0xCF,0x7B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x8E,0x73,0x14,0xA5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8E,0x73,
+0xE3,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,
+0xCF,0x7B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x08,
+0x08,0x42,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0xF7,0xBD,0x7D,0xEF,0x41,0x08,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8E,0x73,
+0xE3,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,
+0xCF,0x7B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x55,0xAD,
+0x75,0xAD,0x14,0xA5,0x00,0x00,0xA2,0x10,0x82,0x10,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0xEB,0x5A,0xFF,0xFF,0xFF,0xFF,0x71,0x8C,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8E,0x73,
+0xE3,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,
+0xCF,0x7B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x65,0x29,0xF7,0xBD,
+0x00,0x00,0x59,0xCE,0xC3,0x18,0xD3,0x9C,0x65,0x29,0x00,0x00,0x00,0x00,0x00,0x00,
+0xA2,0x10,0x7D,0xEF,0xFF,0xFF,0xDF,0xFF,0xFF,0xFF,0x86,0x31,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8E,0x73,
+0xE3,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,
+0xCF,0x7B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA2,0x10,0xF7,0xBD,
+0x8A,0x52,0x96,0xB5,0xEB,0x5A,0x71,0x8C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x2C,0x63,0xFF,0xFF,0xDF,0xFF,0xFF,0xFF,0xFF,0xFF,0xB2,0x94,0x00,0x00,0x30,0x84,
+0xA2,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8E,0x73,
+0xE3,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,
+0xCF,0x7B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x28,0x42,
+0xB2,0x94,0xC7,0x39,0xF3,0x9C,0x82,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x0C,0x63,0xFF,0xFF,0xDF,0xFF,0x18,0xC6,0x71,0x8C,0x92,0x94,0x00,0x00,0xDF,0xFF,
+0xC7,0x39,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8E,0x73,
+0xE3,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,
+0xCF,0x7B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0xAA,0x52,0x10,0x84,0x2C,0x63,0x92,0x94,0xA2,0x10,0x00,0x00,0x00,0x00,
+0x61,0x08,0x59,0xCE,0xFF,0xFF,0x55,0xAD,0xD7,0xBD,0xC3,0x18,0x4D,0x6B,0xFF,0xFF,
+0x55,0xAD,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8E,0x73,
+0xE3,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,
+0xCF,0x7B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x61,0x08,0xD3,0x9C,0x8E,0x73,0x92,0x94,0xAE,0x73,0x92,0x94,0x00,0x00,0x00,0x00,
+0x00,0x00,0x41,0x08,0xEB,0x5A,0xAE,0x73,0xE3,0x18,0x04,0x21,0xBE,0xF7,0xDF,0xFF,
+0xFF,0xFF,0xAA,0x52,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8E,0x73,
+0xE3,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,
+0xCF,0x7B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0xCF,0x7B,0xCB,0x5A,0xAE,0x73,0x0C,0x5B,0xE3,0x18,0x75,0xAD,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x75,0xAD,0xFF,0xFF,0xBE,0xF7,
+0xFF,0xFF,0x1C,0xE7,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8E,0x73,
+0xE3,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,
+0xCF,0x7B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x86,0x31,0x00,0x00,0xC7,0x39,0x18,0xC6,0xD6,0xB5,0x2C,0x63,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x08,0x5D,0xEF,0xDF,0xFF,0xFF,0xFF,
+0xFB,0xDE,0xDB,0xDE,0x65,0x29,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8E,0x73,
+0xE3,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,
+0xCF,0x7B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x45,0x29,0xC7,0x39,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xB6,0xB5,0xFF,0xFF,0xFB,0xDE,
+0x2C,0x63,0xD7,0xBD,0xA2,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8E,0x73,
+0xE3,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,
+0xCF,0x7B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE3,0x18,0xB6,0xB5,0xBA,0xD6,
+0xB6,0xB5,0x08,0x42,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8E,0x73,
+0xE3,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0xCF,0x7B,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC3,0x18,
+0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xAE,0x73,
+0xA2,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0xAE,0x73,0xC3,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0xEF,0x7B,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x69,0x4A,0x8A,0x52,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA6,0x31,0x4D,0x6B,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x41,0x08,0x51,0x8C,0x41,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x84,0xE3,0x18,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0xA6,0x31,0x30,0x84,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8E,0x73,0x8A,0x52,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x49,0x4A,0x51,0x8C,0xE3,0x18,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x61,0x08,0xCF,0x7B,0x0C,0x63,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x65,0x29,0x30,0x84,0x6D,0x6B,0x08,0x42,0x24,0x21,
+0x04,0x21,0x04,0x21,0x04,0x21,0x04,0x21,0x04,0x21,0x04,0x21,0x04,0x21,0x04,0x21,
+0x04,0x21,0x04,0x21,0x04,0x21,0x04,0x21,0x04,0x21,0x04,0x21,0x04,0x21,0x04,0x21,
+0x04,0x21,0x04,0x21,0x04,0x21,0x04,0x21,0x04,0x21,0x04,0x21,0x04,0x21,0x04,0x21,
+0x04,0x21,0x04,0x21,0x04,0x21,0x04,0x21,0x04,0x21,0x04,0x21,0x04,0x21,0x04,0x21,
+0x24,0x21,0xC7,0x39,0x4D,0x6B,0x51,0x8C,0x08,0x42,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x86,0x31,0xEB,0x5A,0x6D,0x6B,
+0x6D,0x6B,0x6D,0x6B,0x6D,0x6B,0x6D,0x6B,0x6D,0x6B,0x6D,0x6B,0x6D,0x6B,0x6D,0x6B,
+0x6D,0x6B,0x6D,0x6B,0x6D,0x6B,0x6D,0x6B,0x6D,0x6B,0x6D,0x6B,0x6D,0x6B,0x6D,0x6B,
+0x6D,0x6B,0x6D,0x6B,0x6D,0x6B,0x6D,0x6B,0x6D,0x6B,0x6D,0x6B,0x6D,0x6B,0x6D,0x6B,
+0x6D,0x6B,0x6D,0x6B,0x6D,0x6B,0x6D,0x6B,0x6D,0x6B,0x6D,0x6B,0x6D,0x6B,0x6D,0x6B,
+0x6D,0x6B,0x0C,0x63,0xE7,0x39,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 
+
+};
+
diff -r 000000000000 -r 69293b19ee19 images.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/images.h	Wed Feb 28 16:34:40 2018 +0000
@@ -0,0 +1,40 @@
+ /*  Hexiwear NXP Bitmap Images
+ *   This file contains the bitmaps for the full screen (96 by 96 pixels) NXP logo 
+ *   and a smaller 96 by 32 pixels NXP logo.  
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this list
+ * of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright notice, this
+ * list of conditions and the following disclaimer in the documentation and/or
+ * other materials provided with the distribution.
+ *
+ * Neither the name of NXP, nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * visit: http://www.mikroe.com and http://www.nxp.com
+ *
+ * get support at: http://www.mikroe.com/forum and https://community.nxp.com
+ *
+ * Project HEXIWEAR, 2015
+ */
+ 
+
+#include "stdint.h"
+
+extern const uint8_t TempHumid[];
\ No newline at end of file
diff -r 000000000000 -r 69293b19ee19 main.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Wed Feb 28 16:34:40 2018 +0000
@@ -0,0 +1,96 @@
+#include "mbed.h"
+#include "HTU21D.h"
+#include "Hexi_KW40Z.h"
+#include "Hexi_OLED_SSD1351.h"
+#include "images.h"
+#include "string.h"
+
+// Pin connections
+DigitalOut led1(LED_GREEN); // RGB LED
+Serial pc(USBTX, USBRX); // Serial interface
+HTU21D temphumid(PTB1,PTB0); // HTU21D Sensor
+DigitalOut powerEN (PTB12); // Power Enable HTU21D Sensor
+SSD1351 oled(PTB22,PTB21,PTC13,PTB20,PTE6, PTD15); // SSD1351 OLED Driver (MOSI,SCLK,POWER,CS,RST,DC)
+
+/* Instantiate the Hexi KW40Z Driver (UART TX, UART RX) */ 
+KW40Z kw40z_device(PTE24, PTE25);
+
+// Variables
+int sample_ftemp;
+int sample_ctemp;
+int sample_ktemp;
+int sample_humid;
+const uint8_t *image1; // Pointer for the image to be displayed
+char text[20]; // Text Buffer for dynamic value displayed
+
+int main() {
+    powerEN = 0;
+    
+    /* Setting pointer location of the 96 by 96 pixel bitmap */
+    image1  = TempHumid;
+
+    /* Turn on the backlight of the OLED Display */
+    //oled.DimScreenON();
+    
+    /* Fill 96px by 96px Screen with 96px by 96px NXP Image starting at x=0,y=0 */
+    oled.DrawImage(image1,0,0);  
+    
+    while(true) {
+
+        sample_ftemp = temphumid.sample_ftemp();
+        printf("Temperature: %d F\n\r", sample_ftemp);
+
+        sample_ctemp = temphumid.sample_ctemp();
+        printf("Temperature: %d C\n\r", sample_ctemp);
+
+        sample_ktemp = temphumid.sample_ktemp();
+        printf("Temperature: %d K\n\r", sample_ktemp);
+
+        sample_humid = temphumid.sample_humid();
+        printf("Humidity: %d %%\n\r", sample_humid);
+        printf("\n\r");
+        
+        /* Get OLED Class Default Text Properties */
+        oled_text_properties_t textProperties = {0};
+        oled.GetTextProperties(&textProperties);
+
+        /* Set text properties to white and right aligned for the dynamic text */
+        textProperties.fontColor = COLOR_RED;
+        textProperties.alignParam = OLED_TEXT_ALIGN_RIGHT;
+        oled.SetTextProperties(&textProperties);  
+      
+        /* Display Legends */
+        strcpy((char *) text,"Temp.");
+        oled.Label((uint8_t *)text,5,67);      
+      
+        /* Format the value */
+        sprintf(text,"%i",sample_ftemp);
+        /* Display time reading in 35px by 15px textbox at(x=55, y=40) */
+        oled.TextBox((uint8_t *)text,57,67,20,15); //Increase textbox for more digits
+        
+        /* Display Units */
+        strcpy((char *) text,"dF");
+        oled.Label((uint8_t *)text,80,67);     
+      
+        /* Set text properties to white and right aligned for the dynamic text */ 
+        textProperties.fontColor = COLOR_BLUE;
+        textProperties.alignParam = OLED_TEXT_ALIGN_RIGHT;
+        oled.SetTextProperties(&textProperties);  
+      
+        /* Display Legends */
+        strcpy((char *) text,"Humidity");
+        oled.Label((uint8_t *)text,5,81);       
+      
+        /* Format the value */
+        sprintf(text,"%i",sample_humid);
+        /* Display time reading in 35px by 15px textbox at(x=55, y=40) */
+        oled.TextBox((uint8_t *)text,57,81,20,15); //Increase textbox for more digits
+        
+        /* Display Units */
+        strcpy((char *) text,"%");
+        oled.Label((uint8_t *)text,80,81); 
+        
+        led1 = !led1;
+        Thread::wait(1000);
+    }
+}
diff -r 000000000000 -r 69293b19ee19 mbed-os.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed-os.lib	Wed Feb 28 16:34:40 2018 +0000
@@ -0,0 +1,1 @@
+https://github.com/ARMmbed/mbed-os/#a6f3fd1a60d5df59246d7caf3f108c4d34e1808e
diff -r 000000000000 -r 69293b19ee19 mbed_config.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed_config.h	Wed Feb 28 16:34:40 2018 +0000
@@ -0,0 +1,25 @@
+/*
+ * mbed SDK
+ * Copyright (c) 2017 ARM Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// Automatically generated configuration file.
+// DO NOT EDIT, content will be overwritten.
+
+#ifndef __MBED_CONFIG_DATA__
+#define __MBED_CONFIG_DATA__
+
+
+#endif