st7735 160 на 128 подсветка барахлит

lilik
Offline
Зарегистрирован: 19.10.2017

Тогда думать надо :)

Хотя если ранний вариант работает, должен и этот работать. Может в другом дело?

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

lilik пишет:

Тогда думать надо :)

Хотя если ранний вариант работает, должен и этот работать. Может в другом дело?

Прежний скетч заработал, когда я перед выполнением loop включил очистку экрана
Осциллограмма работающего скетча:

Осциллограмма не работающего скетча

lilik
Offline
Зарегистрирован: 19.10.2017

А частота смены картинок какая?

Фотка слева 4 цвета - чёрный, белый, два серых, справа исходник ч\б.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

ua6em пишет:

не идёт, у него SPI 32-х разрядный, по 4 байта сразу кидает, это не отрабатывает:

Речь о RPi?

Что-то я сомневаюсь: польза от SPI, не поддерживающего байтовый обмен, немногим отлична от нуля.

Вряд ли кто-то будет делать заведомо бесполезную железку.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

andriano пишет:

Речь о RPi?

Что-то я сомневаюсь: польза от SPI, не поддерживающего байтовый обмен, немногим отлична от нуля.

Вряд ли кто-то будет делать заведомо бесполезную железку.

тут скорее проблема в адаптаторе )))

Что-то со скоростью SPI не то!
SPI c заявленной 8 мегагерц:

И с заявленной в 50 мегагерц:

Скетч сдёрнул отсюда:
 

//https://learnembeddedsystems.co.uk/bmp280-and-pi-pico-over-spi

#include <stdio.h>
#include <string.h>
#include "pico/stdlib.h"
#include "hardware/spi.h"

#define MISO 12
#define CS   13
#define SCLK 10
#define MOSI 11
/*
#define MISO 16
#define CS   17
#define SCLK 18
#define MOSI 19
*/
#define SPI_PORT spi1

int32_t t_fine;
uint16_t dig_T1;
int16_t dig_T2, dig_T3;

int32_t compTemp(int32_t adc_T) {
  int32_t var1, var2, T;
  var1 = ((((adc_T >> 3) - ((int32_t) dig_T1 << 1))) * ((int32_t) dig_T2)) >> 11;
  var2 = (((((adc_T >> 4) - ((int32_t) dig_T1)) * ((adc_T >> 4) - ((int32_t) dig_T1))) >> 12) * ((int32_t) dig_T3)) >> 14;

  t_fine = var1 + var2;
  T = (t_fine * 5 + 128) >> 8;
  return T;
}

void read_temp_comp() {
  uint8_t buffer[6], reg;

  reg = 0x88 | 0x80;
  gpio_put(CS, 0);
  spi_write_blocking(SPI_PORT, &reg, 1);
  spi_read_blocking(SPI_PORT, 0, buffer, 6);
  gpio_put(CS, 1);

  dig_T1 = buffer[0] | (buffer[1] << 8);
  dig_T2 = buffer[2] | (buffer[3] << 8);
  dig_T3 = buffer[4] | (buffer[5] << 8);
}


void setup() {
  spi_init(SPI_PORT, 50000000); // Initialise spi0 at 500kHz

  //Initialise GPIO pins for SPI communication
  gpio_set_function(MISO, GPIO_FUNC_SPI);
  gpio_set_function(SCLK, GPIO_FUNC_SPI);
  gpio_set_function(MOSI, GPIO_FUNC_SPI);
}



void loop() {
  /*
  stdio_init_all(); // Initialise I/O for USB Serial
  spi_init(SPI_PORT, 500000); // Initialise spi0 at 500kHz

  //Initialise GPIO pins for SPI communication
  gpio_set_function(MISO, GPIO_FUNC_SPI);
  gpio_set_function(SCLK, GPIO_FUNC_SPI);
  gpio_set_function(MOSI, GPIO_FUNC_SPI);
*/
  // Configure Chip Select
  gpio_init(CS); // Initialise CS Pin
  gpio_set_dir(CS, GPIO_OUT); // Set CS as output
  gpio_put(CS, 1); // Set CS High to indicate no currect SPI communication

  read_temp_comp(); // Read factory calibration/compensation values

  // Write Operation Example! Set oversampling and power on chip
  uint8_t data[2]; // Array to store data to be sent
  data[0] = 0xF4 & 0x7F; // Remove first bit to indicate write operation
  data[1] = 0x27; // Data to be sent
  gpio_put(CS, 0); // Indicate beginning of communication
  spi_write_blocking(SPI_PORT, data, 2); // Send data[]
  gpio_put(CS, 1); // Signal end of communication

  int32_t temperature, rawtemp;
  uint8_t reg, buffer[3];

  while (1) {
    reg = 0xFA | 0X80;
    gpio_put(CS, 0);
    spi_write_blocking(SPI_PORT, &reg, 1);
    spi_read_blocking(SPI_PORT, 0, buffer, 3);
    gpio_put(CS, 1);

    rawtemp = ((uint32_t) buffer[0] << 12) | ((uint32_t) buffer[1] << 4) | ((uint32_t) buffer[2] >> 4);

    temperature = compTemp(rawtemp);

    printf("Temp = %.2fC \n", temperature / 100.00);

    sleep_ms(1000);
  }
}

 

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Имеешь в виду, что вместо 50 там где-то вдвое ниже?

Но я бы еще хотел обратить внимание на то, что расстояние между пакетами в несколько раз больше, чем длина пакета.

На stm32 разница еще больше - там реальная скорость передачи где-то в 7 раз меньше, чем теоретически возможная. У меня вообще появилось желание переписать библиотеку SPI для stm32, чтобы добиться от нее вменяемой скорости и, в частности, ввести режим передачи не по 1 байту, а длинными последовательностями через DMA.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

andriano пишет:

Имеешь в виду, что вместо 50 там где-то вдвое ниже?

на 30 мегагерц в 100 наносекунд умещается ровно 2 импульса, но я про другое, библиотеку использую с заявленной адаптацией к RP2040 в которой скорость SPI устанавливается, в скетче она выставлена в 50 мегагерц, а на осциллограммах в постах которые выше  она 1 мегагерц...и как тут не быть дураком...

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

1. 2 импульса за 100 нс - это 20 МГц.

2. На той осциллограмме, что вверху, если я правильно понял, на 10 клеток по 100 нс (т.е. на 1 мкс) приходится 8 импульсов, что и соответствует 8 МГц. Откуда там мегагерц?

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

andriano пишет:

1. 2 импульса за 100 нс - это 20 МГц.

2. На той осциллограмме, что вверху, если я правильно понял, на 10 клеток по 100 нс (т.е. на 1 мкс) приходится 8 импульсов, что и соответствует 8 МГц. Откуда там мегагерц?

я про пост #152, это библиотека Adafruit_ST7735

lilik
Offline
Зарегистрирован: 19.10.2017

ua6em пишет:

andriano пишет:

1. 2 импульса за 100 нс - это 20 МГц.

2. На той осциллограмме, что вверху, если я правильно понял, на 10 клеток по 100 нс (т.е. на 1 мкс) приходится 8 импульсов, что и соответствует 8 МГц. Откуда там мегагерц?

я про пост #152, это библиотека Adafruit_ST7735

Внутри неё есть строчка

 mySPISettings = SPISettings(8000000, MSBFIRST, SPI_MODE0);

Вот её то я и мучал :), в итоге оставил как есть. Но на скорости 200000 и вправду картинка стала реально тормозить на выводе.

andycat
andycat аватар
Offline
Зарегистрирован: 07.09.2017

andriano пишет:

Имеешь в виду, что вместо 50 там где-то вдвое ниже?

Но я бы еще хотел обратить внимание на то, что расстояние между пакетами в несколько раз больше, чем длина пакета.

На stm32 разница еще больше - там реальная скорость передачи где-то в 7 раз меньше, чем теоретически возможная. У меня вообще появилось желание переписать библиотеку SPI для stm32, чтобы добиться от нее вменяемой скорости и, в частности, ввести режим передачи не по 1 байту, а длинными последовательностями через DMA.


Пишите на регистрах, получите максимальный потолок скорости.

lilik
Offline
Зарегистрирован: 19.10.2017

Всё таки добавление контурных цветов улучшает восприятие двухцветной картинки :) А тусклая подсветка правого нижнего угла экрана ещё даёт отсутствующий на самом деле голубой цвет.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

а я упёрся, не могу найти источник установки скорости SPI для библиотеки Adafruit_ST7735... отследил от ядра, должна быть не менее 16 мегагерц, ан нет )))
Ждём'c может более компетентные товарищи подтянутся...не люблю я непоняток...

lilik
Offline
Зарегистрирован: 19.10.2017

ua6em пишет:

а я упёрся, не могу найти источник установки скорости SPI для библиотеки Adafruit_ST7735... отследил от ядра, должна быть не менее 16 мегагерц, ан нет )))
Ждём'c может более компетентные товарищи подтянутся...не люблю я непоняток...

В библиотеке в 361 строке файла "...._ST7735".cpp строка

mySPISettings = SPISettings(8000000, MSBFIRST, SPI_MODE0);

 Она каждый раз вызывается при отправке данных (как я понял :) и 8000000 это скорость. Её нужно в библиотеке исправить, я ж писал. Увеличить скорость по факту не удалось, но уменьшить - пожалуйста :)

 

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

lilik пишет:

ua6em пишет:

а я упёрся, не могу найти источник установки скорости SPI для библиотеки Adafruit_ST7735... отследил от ядра, должна быть не менее 16 мегагерц, ан нет )))
Ждём'c может более компетентные товарищи подтянутся...не люблю я непоняток...

В библиотеке в 361 строке файла "...._ST7735".cpp строка

mySPISettings = SPISettings(8000000, MSBFIRST, SPI_MODE0);

 Она каждый раз вызывается при отправке данных (как я понял :) и 8000000 это скорость. Её нужно в библиотеке исправить, я ж писал. Увеличить скорость по факту не удалось, но уменьшить - пожалуйста :)

 

в моей библиотеке,а я скачал самые свежие, такого нет...

lilik
Offline
Зарегистрирован: 19.10.2017

 

:)

Ну тогда должна быть встроенная в иде библиотека TFT, а в ней опять же " ..._ST7735", а в ней к моему удивлению уже в 357 строке стоит:

 spisettings = SPISettings(4000000L, MSBFIRST, SPI_MODE0);

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

lilik пишет:

 

:)

Ну тогда должна быть встроенная в иде библиотека TFT, а в ней опять же " ..._ST7735", а в ней к моему удивлению уже в 357 строке стоит:

 spisettings = SPISettings(4000000L, MSBFIRST, SPI_MODE0);

там я еще не копал...покопал...и этот гвоздь не в ту стену...чётко 400кгц ))) во задача

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

andycat пишет:
Пишите на регистрах, получите максимальный потолок скорости.

Ну, может, оно и так, но в большинстве случаев максимальной скорости удается добиться, лишь изменив идеологию работы.

Т.е. "регистры" - необходимое, не достаточное условие.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

andriano пишет:

andycat пишет:
Пишите на регистрах, получите максимальный потолок скорости.

Ну, может, оно и так, но в большинстве случаев максимальной скорости удается добиться, лишь изменив идеологию работы.

Т.е. "регистры" - необходимое, не достаточное условие.

как может человек не запустивший чужой код, писать что-то своё, это я о себе ежели что )))
Можно было бы предположить, что spi1 (он у меня используется для вывода на дисплей), не умеет работать на высоких скоростях, ан нет,выше приводил код скетча, где частоту можно легко изменить и оно работает, в оригинале автор использует spi0 и код не для IDE, для проверки чуток поправил, результат spi1 умеет работать на высоких скоростях...
Загадка в том, где выставляется скорость в 400кГц, прошёл всю связку от харда ядра, не нашёл, увы...

andycat
andycat аватар
Offline
Зарегистрирован: 07.09.2017

andriano пишет:

andycat пишет:
Пишите на регистрах, получите максимальный потолок скорости.

Ну, может, оно и так, но в большинстве случаев максимальной скорости удается добиться, лишь изменив идеологию работы.

Т.е. "регистры" - необходимое, не достаточное условие.


Это как так?
Производитель чипа прописал в даташите скорость шины Х МГц, как идеология работы программы может повлиять на эту скорость?

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

andycat пишет:
Это как так? Производитель чипа прописал в даташите скорость шины Х МГц, как идеология работы программы может повлиять на эту скорость?

Давайте не путать между собой две скорости:

1. Темп передачи отдельного байта, т.е. по сути частоту CLK.

2. Реальную скорость передачи блока данных - с учетом всех задержек, пауз и прочих накладных расходов.

Так вот, в дэйташите прописана первая скорость, а пользователя, как правило, интересует вторая.

Так что, если иметь в виду именно вторую скорость, то ответ на Ваш вопрос:

Элементарно: ее можно снизить в несколько раз за счет неоптимальной организации работы.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

меня сейчас интересует CLK - где устанавливается в моём случае, библиотеки свежие, RP2040 в них прописан!!
Как говорил известный персонаж -"Ульри, где у него кнопка?"

lilik
Offline
Зарегистрирован: 19.10.2017

Вот этот вариант должен сработать, он аналог заработавшего.

// РИСУНОК контур 4 цвета
#include <Adafruit_GFX.h>    // Core graphics library
#include <Adafruit_ST7735.h> // Hardware-specific library
#include <SPI.h>
#define TFT_CS     10
#define TFT_RST    9  
#define TFT_DC     8
 Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS,  TFT_DC, TFT_RST);
extern const unsigned char ris_1[];
extern const unsigned char ris_2[];
extern const unsigned char ris_3[];
extern const unsigned char ris_4[];

void setup(void) {
  // Используйте этот инициализатор, если вы используете 1,8-дюймовый TFT
 tft.initR(INITR_BLACKTAB);   // initialize a ST7735S chip, black tab
 tft.fillScreen(ST7735_BLACK);
 tft.setRotation(0);//ориентация экрана
 }
void loop() {
// drawBitmap_(0,0,ris_3,128,160,tft.Color565(0,0,0),tft.Color565(50,50,50),tft.Color565(255,255,255),tft.Color565(255,0,0));
// drawBitmap_(0,0,ris_3,128,160,tft.Color565(50,50,50),tft.Color565(0,0,0),tft.Color565(0,255,0),tft.Color565(0,0,255));
drawBitmap_(0,0,ris_3,128,160,tft.Color565(0,175,175),tft.Color565(0,155,155),tft.Color565(255,255,255),tft.Color565(0,0,0));

 }
/////////////////////////////////////////////////////////////////////
void drawBitmap_(int x,int y, const uint8_t *bitmap,int w,int h,const uint16_t color_1,const uint16_t color_2,const uint16_t color_3,const uint16_t color_4) {
 bool flag=true;//  
 if(x<0||x+w>128||y<0||y+h>160){return;} 
 tft.setAddrWindow(x,y,x+w-1,y+h-1);
 int i, j, byteWidth = (w + 7) / 8;
  uint8_t byte_;uint8_t byte_st;
 for(j=0; j<h; j++) {
    for(i=0; i<w; i++) {
      if(i & 7) {byte_ <<= 1;byte_st <<= 1;}
      else     { byte_   = pgm_read_byte(bitmap + j * byteWidth + i / 8);if(j>0){byte_st = pgm_read_byte(bitmap + (j-1) * byteWidth + i / 8);}}
      if(byte_ & 0x80)
      {
     if(flag||!(byte_st & 0x80)){tft.pushColor(color_3 );}//цвет контура левого верхнего плана    
     else {tft.pushColor(color_1 );}// цвет раскраски внутри контура 
      flag=false;
      }
     else {
       if(!flag||byte_st & 0x80){tft.pushColor(color_4 );}//цвет контура правого нижнего плана
       else {tft.pushColor(color_2 );}// цвет фона
      flag=true;  
     }
    }
  }
}
///////////////////////////////////////////////////////////////////// 

При подборе цветов можно создавать иллюзию рельефа-объёма изображения.

Картинки:

#include <avr/pgmspace.h>

const unsigned char ris_1[]PROGMEM = {
0X00,0X00,0X00,0X00,0X80,0X00,0X00,0X05,0XB5,0X40,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X01,0X00,0X00,0X00,0X5A,0X40,0X94,0XA0,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X02,0X14,0X40,0X02,0XA8,0X08,0X55,0X0E,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X08,0X40,0X01,0X14,0XB1,0X03,0X08,0XA1,0XA4,0X80,0X00,0X00,0X00,
0X00,0X00,0X00,0X80,0X00,0X04,0X02,0XC0,0X2C,0X52,0X00,0XC0,0X08,0X00,0X00,0X00,
0X04,0X88,0X44,0X14,0X01,0X20,0X10,0XAA,0XB2,0XAB,0XAA,0X28,0X00,0X88,0X80,0X00,
0X10,0X01,0X00,0X00,0X08,0X00,0X0B,0XC0,0X55,0X54,0X90,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X10,0X40,0X04,0X42,0X93,0X54,0X82,0X26,0X12,0X40,0X00,0X01,0X00,
0X80,0X00,0X00,0X41,0X01,0X11,0X0B,0X45,0XA9,0X51,0X01,0X41,0X02,0X00,0X00,0X00,
0X00,0X08,0X24,0X00,0X04,0X00,0X45,0X4A,0XA2,0X0E,0XD4,0X80,0X08,0X00,0X00,0X00,
0X00,0X40,0X80,0X14,0X20,0XA1,0X55,0X76,0XB5,0XBB,0XFA,0X08,0X80,0X08,0X00,0X00,
0X04,0X00,0X00,0X80,0X81,0X08,0X96,0XAD,0X56,0XFF,0XAF,0XC0,0X20,0X20,0X00,0X00,
0X40,0X02,0X08,0X04,0X14,0XA2,0X55,0X5A,0XAD,0XF4,0X48,0X32,0X00,0X00,0X00,0X00,
0X00,0X10,0X01,0X12,0X8A,0X89,0X57,0X6A,0X5B,0XAF,0XB5,0X5C,0X24,0X00,0X00,0X00,
0X00,0X80,0X20,0X00,0X20,0X6A,0X57,0X5B,0X6F,0X5A,0XEA,0XA5,0X00,0X00,0X00,0X00,
0X04,0X00,0X84,0X94,0X0A,0X95,0X5A,0XEA,0XBA,0XFF,0XAD,0X52,0XC8,0X40,0X04,0X00,
0X80,0X04,0X00,0X01,0X55,0X55,0XB7,0X55,0XAD,0X4B,0XD5,0X55,0X41,0X00,0X00,0X00,
0X00,0X10,0X02,0X48,0X0A,0XBA,0XDB,0XBA,0XD6,0XBE,0XED,0X54,0X54,0X00,0X00,0X00,
0X10,0X40,0X90,0X02,0XB7,0XED,0X6D,0X6D,0X7A,0XAB,0X5F,0XAB,0X20,0X00,0X00,0X00,
0X01,0X00,0X02,0XA8,0X4A,0XBB,0X77,0XD7,0XAA,0XAA,0XEA,0XE9,0X49,0X00,0X00,0X00,
0X80,0X02,0X20,0X02,0XAD,0XF5,0XAD,0X7D,0XFF,0X5A,0XBF,0X7D,0X34,0X20,0X00,0X00,
0X04,0X00,0X09,0X14,0X2B,0XDE,0XDF,0XD6,0XB5,0XEB,0X55,0XAB,0X8E,0X80,0X00,0X00,
0X10,0X10,0X84,0X42,0XAF,0X77,0X7B,0X7F,0XEF,0X5D,0X55,0X74,0XF3,0X00,0X00,0X00,
0X40,0X00,0X21,0X11,0X55,0XDB,0XEF,0XFB,0X7D,0XEB,0XB5,0X5E,0X8D,0XA2,0X00,0X00,
0X00,0X44,0X04,0X4A,0X5B,0XBE,0XBD,0XDF,0XF7,0X7D,0X6A,0XA3,0X56,0X40,0X00,0X00,
0X00,0X00,0X81,0X24,0XAE,0XEB,0XF7,0XFF,0XDF,0XD7,0XD6,0XBD,0XD1,0X50,0X00,0X00,
0X82,0X10,0X10,0X52,0X57,0XBF,0XDF,0XFF,0XFF,0XFD,0X75,0XA6,0XB1,0XA0,0X04,0X00,
0X08,0X40,0X05,0X09,0XFA,0XFD,0XFF,0X76,0XFF,0XF7,0XBA,0XBB,0XFC,0X50,0X00,0X04,
0X00,0X02,0X40,0XA5,0X2F,0XDF,0X7B,0XFF,0XFD,0XBF,0XD7,0XCD,0X56,0X20,0X00,0X00,
0X20,0X00,0X0B,0X4A,0XF6,0XF7,0XDF,0XFF,0XEF,0XFD,0XFD,0X75,0XFD,0X14,0X00,0X00,
0X01,0X00,0X8A,0X95,0XDF,0XFD,0XFF,0XFF,0XFF,0XFF,0X6E,0XDB,0X57,0X90,0X00,0X00,
0X04,0X12,0X2B,0X2F,0X7D,0XFF,0XFF,0XFF,0XFF,0XFB,0XFB,0XB7,0XFE,0XDA,0X00,0X00,
0X40,0X00,0X0E,0X2B,0XFF,0XBF,0XFB,0X6F,0X7F,0XDF,0XDE,0XED,0X57,0XA8,0X00,0X00,
0X00,0X40,0XB8,0X77,0XDB,0XF7,0X7F,0XFF,0XFF,0XFF,0X77,0X7B,0XBD,0XCE,0X00,0X00,
0X01,0X02,0X59,0X5D,0X7F,0XFF,0XFF,0XFF,0XFD,0XBF,0XFD,0XDE,0XEE,0XA5,0X00,0X00,
0X04,0X01,0X69,0XB7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XBF,0XEB,0X77,0XF2,0X80,0X00,
0X80,0X14,0XA2,0XAF,0XFF,0XDF,0XFF,0XFF,0XFF,0XF7,0XEE,0XBE,0XBD,0XB4,0X40,0X00,
0X00,0X02,0XA5,0X7F,0XF7,0X7F,0XFF,0XFF,0XFF,0XFD,0XFB,0XF7,0XD7,0XE9,0X10,0X00,
0X10,0X91,0X04,0XB6,0XFF,0XFF,0XFD,0XFF,0XEE,0XFF,0X6F,0XBD,0X7F,0X7D,0X02,0X00,
0X00,0X04,0X53,0XAF,0XFF,0XFF,0XEF,0XFF,0XFF,0XBF,0XFE,0XEF,0XAB,0XED,0X00,0X00,
0X02,0X42,0X4A,0XBF,0XDE,0XFF,0X7F,0XFF,0XFF,0XEF,0X6F,0XFA,0XFF,0XBA,0X00,0X02,
0X08,0X10,0X05,0X77,0X7F,0XFD,0XFF,0XFF,0XFF,0XFB,0XFD,0XAF,0X5E,0XFB,0X80,0X20,
0X21,0X4A,0X49,0XBF,0XFF,0XF7,0XFF,0XFF,0XBF,0XFE,0XF7,0XFD,0XEF,0XEC,0X80,0X00,
0X04,0XA0,0X0A,0XD7,0XFF,0XDF,0XFF,0XFD,0XFF,0X7F,0XBF,0XBF,0XBF,0X76,0X40,0X00,
0X18,0X04,0X85,0XBE,0XFF,0X7F,0XFF,0XFF,0XFD,0XEE,0XFD,0XFB,0X77,0XDF,0X20,0X00,
0X50,0X00,0X16,0XEF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XEF,0XEF,0XDF,0XF2,0X90,0X00,
0X42,0X41,0X02,0XBB,0XFF,0XFF,0XF6,0XDB,0XFF,0XFF,0XFF,0XFE,0XFD,0XAD,0X44,0X08,
0XA0,0X11,0X1A,0XC1,0X5B,0XED,0XBF,0XE4,0X55,0XED,0XB6,0XFB,0XBF,0XF6,0X80,0X00,
0X80,0X82,0X84,0X05,0X7F,0X7F,0XFD,0XAA,0XAA,0X7F,0XFF,0XDF,0XFF,0XBA,0XD4,0X80,
0X04,0X01,0X14,0X05,0X5F,0XFF,0XF7,0XDD,0X15,0XBF,0XF7,0X7A,0XDE,0XED,0X40,0X00,
0X01,0X4A,0X84,0X17,0XFD,0XF7,0X7F,0XFE,0XDF,0XFE,0XDD,0XFF,0XFF,0XF5,0X50,0X00,
0X12,0X02,0X08,0X49,0X5F,0XDF,0XFF,0XFF,0X7B,0X7F,0XFF,0XF6,0XBF,0XDA,0X90,0X80,
0X01,0X45,0X09,0X77,0XFF,0XFF,0XFF,0XFB,0XFF,0XFD,0XEF,0XFF,0XFF,0X6D,0X52,0X00,
0X04,0X02,0X8A,0XDF,0XF7,0XFF,0XFF,0XFF,0XFF,0XFF,0XBF,0XDD,0XB7,0XF5,0X54,0X00,
0X41,0X25,0X15,0XFA,0XBF,0XFF,0XFD,0XDF,0XFE,0XEF,0XFB,0X7F,0XFF,0XAD,0X28,0X90,
0X14,0X86,0X8B,0XEF,0XFD,0XFF,0XFF,0XFF,0XF7,0XFE,0XAF,0XF7,0XAF,0XFF,0X8A,0X00,
0X02,0X05,0X0E,0XFD,0XAF,0XFF,0XFF,0XFF,0XBF,0XFF,0XFF,0XFE,0XFF,0XED,0X65,0X40,
0X54,0X92,0X97,0XAB,0XF6,0XEF,0XFF,0XF5,0XEF,0XFF,0XBB,0X77,0XFF,0XBF,0XA9,0X54,
0X00,0X02,0X16,0XF5,0X5B,0XBF,0XFF,0XFE,0X95,0XFE,0XDF,0XFF,0XDD,0XFD,0XB2,0X50,
0X15,0X05,0X1B,0XAA,0XAD,0X7F,0XF7,0X75,0XED,0X7B,0XEF,0XDD,0X7F,0XFF,0X5A,0X94,
0X00,0X10,0X8F,0XD5,0X75,0X7F,0XFF,0XFE,0XBA,0XBF,0XBB,0X7F,0XFF,0XFB,0XEA,0X43,
0X10,0X42,0X16,0X4A,0XBE,0XBF,0XDF,0XB5,0XDF,0X7F,0XDF,0XF7,0XEF,0XEF,0XD2,0XA8,
0X09,0X04,0X1B,0X20,0XAB,0X2F,0XFD,0XF4,0X2D,0XDD,0XB7,0XBB,0X7E,0XFA,0XB9,0X51,
0X00,0X02,0X16,0X8F,0X56,0X9F,0XFE,0XAB,0XD2,0XEF,0XFD,0XFF,0XFF,0XFE,0XD4,0XA8,
0X08,0X08,0X1A,0X3C,0X2B,0X3F,0X75,0XD7,0X01,0X7F,0XDF,0X6B,0XDF,0XEB,0X5E,0XA4,
0X08,0X22,0X4A,0X78,0X1A,0X9F,0XFF,0X6F,0X26,0XB7,0XF7,0XFE,0XFD,0XFF,0XD2,0XAA,
0X08,0X84,0X14,0X28,0X9B,0X37,0XD7,0XDF,0X03,0X5E,0XFF,0XAF,0XF7,0XB5,0X6D,0X44,
0X40,0X0A,0X16,0XD0,0X35,0X3E,0XFF,0X7E,0X82,0XFF,0XED,0XFB,0X7F,0XDD,0XAB,0X69,
0X10,0X04,0X2B,0X28,0X55,0X5B,0XED,0XCB,0X2B,0X6D,0XFF,0XF7,0XEE,0XB6,0XB4,0XA0,
0X08,0X82,0X0A,0X57,0X6E,0X6F,0XBF,0X75,0XBD,0XBF,0XFF,0X7D,0XBF,0XDB,0X5A,0X5A,
0X00,0X08,0X54,0X0A,0XDA,0X3E,0XF7,0XBA,0XA6,0XD5,0XED,0XEF,0XFF,0X6D,0XEB,0X24,
0X10,0X00,0X2A,0XA5,0X6C,0XFB,0XFD,0XDF,0X7B,0X7F,0X7F,0XFA,0XFA,0XD5,0X5D,0X54,
0X00,0X04,0X01,0X4A,0XD8,0X2F,0XB7,0X6B,0XDD,0XD5,0XFB,0X5F,0XDF,0XBA,0XD5,0X95,
0X14,0X40,0X55,0XAD,0XE8,0XBE,0XEF,0XFE,0XFF,0XFF,0XEF,0XF5,0X75,0X68,0X35,0X54,
0X00,0X00,0X22,0XB7,0X54,0X7B,0XBD,0XF7,0XF6,0XAE,0XFD,0X5F,0XDA,0XDE,0X8D,0X6A,
0X00,0X00,0X52,0XDA,0XF8,0XDE,0XFF,0XDE,0XBF,0XEB,0XBB,0XF5,0X6D,0X6C,0XC5,0X56,
0X20,0X00,0X4A,0XB7,0X51,0X77,0XB7,0XFF,0XFB,0X7F,0XFD,0XBB,0XB7,0X3B,0X42,0XAB,
0X00,0X01,0X2D,0XFD,0XF1,0X7D,0X7D,0XFF,0XFF,0XFA,0XDB,0XDD,0X6D,0XAE,0XD4,0XDA,
0X42,0X00,0X1B,0X57,0X55,0XAF,0XAF,0XBE,0XFF,0XDF,0XFE,0XEB,0XAE,0XFA,0X42,0X6F,
0X00,0X08,0X6D,0XFD,0XF2,0XFA,0XFB,0XFF,0XFF,0XFF,0XD7,0X5D,0X55,0X3D,0XA9,0X5A,
0X00,0X20,0X37,0X57,0XA5,0XDF,0X5F,0X7F,0XFD,0XFF,0XFD,0XF6,0XAD,0X76,0XA9,0XB7,
0X00,0X00,0X5D,0XFD,0XC7,0X75,0XD7,0XFF,0XFF,0XFD,0XF6,0XAD,0X55,0XFF,0X9D,0X5A,
0X00,0X20,0X5F,0X57,0X55,0XFF,0X5B,0XEF,0XFF,0XFF,0XDE,0XF7,0X1B,0XBD,0XD4,0XFF,
0X00,0X80,0X6B,0XDF,0XAF,0XFF,0XED,0XFE,0XEF,0XDF,0XFB,0XAD,0X5F,0XFF,0X6E,0X57,
0X04,0X00,0X3E,0XEA,0XCB,0X6D,0XB6,0XFF,0XFF,0XFE,0XFD,0X75,0X55,0XED,0XFE,0X5D,
0X00,0X00,0X5B,0XBF,0X9F,0XFF,0XDB,0XFF,0XFE,0XFF,0XEE,0XAE,0XBF,0XFF,0X6D,0X3F,
0X00,0X00,0X37,0X6A,0XCB,0XFF,0X6E,0XBF,0XFF,0XF7,0XF7,0X75,0X4B,0XFD,0XFF,0X7F,
0X00,0X00,0X5D,0XBF,0X97,0XFF,0XFD,0XEF,0XFB,0XFF,0X7A,0XBA,0XB7,0XBE,0XF6,0XBA,
0X00,0X00,0X2E,0XD7,0X4D,0XFF,0XB7,0X7F,0X7F,0XBF,0XEF,0X56,0XDB,0X75,0X7B,0X3F,
0X00,0X00,0X35,0X7E,0X07,0X76,0XFF,0XBB,0XFF,0XFD,0XFD,0X7B,0X4F,0XFF,0X5E,0XBB,
0X01,0X00,0X2F,0XBB,0X53,0XDF,0XBF,0X6F,0XFF,0XF7,0XDF,0X55,0X77,0X6B,0XBB,0X7D,
0X00,0X00,0X28,0XEF,0X01,0X7A,0XA5,0XBE,0XF7,0X7F,0XBA,0XDA,0X9F,0XDA,0XED,0X3E,
0X00,0X08,0X2B,0XBE,0X92,0XDD,0XFE,0XFF,0XBF,0XFE,0XFF,0X6E,0XDF,0XB7,0XEE,0XF6,
0X00,0X00,0X2A,0XFF,0XE0,0XAB,0XFB,0XF6,0XFF,0XD7,0XF5,0X55,0XAE,0XEA,0XB5,0X5B,
0X04,0X40,0X2B,0X75,0X5A,0X7F,0XBF,0XBF,0XBB,0X7F,0XFE,0XBA,0XBF,0XB5,0X7B,0X7E,
0X20,0X00,0X25,0XDE,0XFF,0XED,0XEE,0XF7,0XDF,0XFD,0XDB,0X6F,0X57,0XA5,0X55,0XD5,
0X04,0X80,0X32,0XFB,0XB7,0XFE,0XFB,0XDE,0XEF,0XDF,0XFE,0XB5,0XBD,0X95,0X5A,0XBA,
0X00,0X00,0X15,0XAE,0XFE,0XF7,0XFF,0XF7,0X5A,0XF7,0X7B,0X6A,0XAF,0X6A,0X8A,0XCE,
0X00,0X00,0X52,0XFB,0XFF,0XDF,0XDE,0XDD,0XF7,0XDD,0XFE,0XBE,0XBB,0X95,0X55,0X4A,
0X00,0X00,0X35,0X57,0X77,0XFD,0XF7,0XFE,0XBF,0X7F,0XEB,0X55,0XBE,0XD0,0XAA,0X8A,
0X00,0X00,0X29,0XBB,0XBE,0XFF,0XFF,0XD7,0XDB,0XF7,0XFD,0X7E,0XBB,0X40,0X55,0X00,
0X00,0X00,0X2A,0XDE,0XFF,0XEF,0XFB,0X7E,0XED,0XBE,0XF6,0XAA,0XAE,0X80,0XA2,0X04,
0X00,0X10,0X11,0X2B,0XEB,0XFE,0XDF,0XEF,0X5E,0XFB,0XFD,0XDD,0X4D,0X00,0X14,0X10,
0X00,0X00,0X35,0XAE,0XBF,0XBB,0XFA,0XBB,0XF7,0XDF,0XDA,0X77,0X40,0X00,0X00,0X00,
0X04,0X00,0X15,0X55,0XFB,0XFF,0XBF,0XEE,0XBA,0XFB,0XF7,0XBA,0X80,0X00,0X00,0X00,
0X10,0X00,0X0A,0XA9,0X5D,0X6A,0XE5,0X3B,0XDF,0XEF,0X7D,0X5D,0X40,0X00,0X00,0X00,
0X00,0X00,0X15,0XC5,0X56,0XB5,0XB6,0XD6,0XED,0X7F,0XEE,0XF6,0X80,0X00,0X00,0X00,
0X00,0X00,0X09,0X68,0X49,0X4A,0X9B,0X59,0X5F,0XF7,0XBA,0XBA,0X80,0X00,0X00,0X00,
0X00,0X10,0X15,0XB4,0X22,0X51,0X55,0X25,0X76,0XDE,0XFE,0XED,0X00,0X00,0X00,0X00,
0X00,0X00,0X08,0XFA,0X05,0X6A,0XAE,0X90,0X9F,0XFB,0XFA,0XF4,0X00,0X00,0X00,0X00,
0X40,0X00,0X0A,0X7D,0X4A,0XBB,0X7B,0X60,0XED,0X7F,0XFD,0XBA,0X00,0X00,0X00,0X00,
0X00,0X00,0X0A,0XB7,0X2B,0XED,0XDD,0XA2,0XBB,0XEF,0XD6,0XE8,0X00,0X00,0X00,0X20,
0X00,0X80,0X06,0X7F,0X8E,0XBF,0X77,0XA2,0XD6,0XFB,0XFD,0XE0,0X00,0X04,0X20,0X80,
0X00,0X00,0X05,0X5E,0XD7,0XF5,0XDE,0XC5,0XFD,0XEF,0XFB,0X70,0X02,0X10,0X00,0X00,
0X00,0X00,0X83,0XBF,0X9A,0XBF,0X76,0X97,0X7B,0XFF,0X6D,0XC0,0X00,0X00,0X00,0X00,
0X84,0X00,0X02,0XAF,0XCF,0XEB,0XDE,0XAD,0XFF,0X57,0XFB,0XA0,0X00,0X00,0X00,0X00,
0X00,0X00,0X01,0X9F,0X8B,0X7D,0X6E,0XB7,0XEB,0XFF,0XF7,0X80,0X10,0X00,0X00,0X00,
0X00,0X04,0X01,0XDE,0XCF,0XD7,0XBB,0X5A,0XFE,0XEE,0XDE,0X00,0X00,0X00,0X00,0X00,
0X00,0X10,0X00,0X6B,0XCF,0X7D,0XDE,0X6F,0XFD,0XDF,0XF6,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0XD7,0XC7,0XD6,0XBD,0X55,0XDF,0XFF,0XDC,0X00,0X00,0X00,0X01,0X02,
0X20,0X80,0X00,0X6F,0XCD,0XFB,0XDA,0XDF,0XFF,0XAD,0XE8,0X00,0X40,0X20,0X08,0X00,
0X00,0X00,0X00,0X37,0XA7,0X6E,0XBD,0X57,0X7D,0XFF,0X50,0X01,0X00,0X00,0X40,0X00,
0X00,0X00,0X00,0X37,0XC7,0XF6,0XD5,0X7E,0XF7,0XAF,0XA0,0X20,0X00,0X00,0X00,0X00,
0X02,0X00,0X00,0X1A,0XC5,0X5B,0X7D,0X5B,0XFF,0XFE,0X80,0X00,0X00,0X00,0X00,0X08,
0X40,0X00,0X02,0X1B,0XE7,0XF6,0XB5,0XFF,0XFF,0XBF,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X0A,0XC2,0XEF,0X7A,0XB7,0XBF,0XF6,0X00,0X00,0X00,0X21,0X00,0X01,
0X00,0X00,0X00,0X0D,0XE3,0XB5,0XAB,0XFE,0XFD,0XBC,0X80,0X80,0X00,0X80,0X00,0X00,
0X00,0X04,0X20,0X05,0X61,0X6E,0XF7,0XDF,0XFF,0X7A,0X02,0X02,0X00,0X00,0X00,0X44,
0X00,0X20,0X00,0X04,0XD1,0XF5,0XAA,0XFF,0XF7,0XF0,0X00,0X00,0X00,0X00,0X02,0X01,
0X04,0X00,0X00,0X02,0XF0,0XB6,0XEF,0XFF,0XFE,0XD0,0X00,0X00,0X04,0X00,0X10,0X11,
0X00,0X00,0X00,0X40,0X50,0XDB,0XAF,0XFB,0XBF,0X60,0X00,0X00,0X00,0X00,0X80,0X04,
0X00,0X00,0X01,0X00,0X38,0X6D,0XAF,0XEF,0XFB,0X80,0X00,0X00,0X00,0X04,0X00,0X22,
0X00,0X00,0X04,0X01,0X2C,0X2B,0X5F,0XFF,0XED,0X00,0X04,0X22,0X20,0X20,0X00,0X89,
0X10,0X00,0X10,0X00,0X14,0X5D,0XBF,0XBE,0XFC,0X00,0X00,0X00,0X01,0X00,0X00,0X04,
0X00,0X41,0X00,0X00,0X0E,0X12,0XBF,0XFF,0XD8,0X00,0X20,0X00,0X00,0X00,0X02,0X51,
0X00,0X00,0X00,0X00,0X03,0X0A,0X7F,0XF7,0X70,0X00,0X00,0X00,0X00,0X00,0X00,0X88,
0X00,0X00,0X00,0X00,0X05,0X01,0XFE,0XFF,0XC0,0X00,0X00,0X00,0X80,0X00,0X48,0X22,
0X42,0X04,0X00,0X00,0X02,0XC5,0XFF,0XFD,0X80,0X01,0X00,0X88,0X04,0X11,0X02,0X88,
0X00,0X00,0X00,0X00,0X01,0X7F,0XDF,0XEF,0X00,0X00,0X00,0X00,0X00,0X40,0X02,0X52,
0X10,0X00,0X00,0X10,0X80,0XAB,0X7B,0XBC,0X00,0X00,0X00,0X00,0X00,0X00,0X11,0X09,
0X00,0X20,0X11,0X00,0X00,0X5D,0XEE,0XF8,0X00,0X08,0X08,0X02,0X10,0X00,0X04,0XA4,
0X00,0X00,0X40,0X00,0X00,0X27,0X7B,0XE0,0X00,0X00,0X00,0X88,0X00,0X00,0XA2,0X51,
0X00,0X01,0X00,0X00,0X00,0X09,0XAD,0X40,0X00,0X00,0X00,0X00,0X01,0X04,0X19,0X24,
0X02,0X00,0X00,0X00,0X00,0X02,0X55,0X00,0X00,0X40,0X20,0X00,0X04,0X11,0X45,0X49,
0X08,0X10,0X00,0X01,0X08,0X00,0X10,0X00,0X01,0X00,0X00,0X00,0X40,0X00,0X14,0X90,
0X00,0X00,0X00,0X08,0X01,0X00,0X84,0X00,0X00,0X00,0X00,0X44,0X00,0X05,0X4A,0X05,
0X00,0X00,0X00,0X20,0X23,0X02,0XF8,0X00,0X00,0X00,0X81,0X00,0X00,0X10,0XA5,0X68,
0X00,0X00,0X00,0X80,0X07,0XF0,0X20,0X00,0X10,0X00,0X00,0X00,0X08,0X85,0X11,0X01,
0X00,0X88,0X80,0X00,0X87,0XF0,0X00,0X00,0X40,0X00,0X00,0X00,0X80,0X12,0XAA,0X48,
0X10,0X00,0X04,0X00,0X27,0X41,0X80,0X04,0X00,0X00,0X00,0X04,0X00,0X09,0X15,0X25,
0X00,0X00,0X00,0X02,0X0C,0X05,0X00,0X00,0X00,0X00,0X08,0X20,0X04,0XA5,0X52,0X90,
0X00,0X80,0X00,0X00,0X9A,0X42,0X00,0X00,0X00,0X01,0X00,0X80,0X20,0X29,0X28,0X44,
0X02,0X04,0X00,0X04,0X10,0X08,0X00,0X20,0X00,0X04,0X00,0X00,0X80,0XAA,0XA5,0X22,
0X08,0X00,0X40,0X10,0X31,0X20,0X00,0X80,0X00,0X10,0X00,0X02,0X02,0X2A,0X2A,0XA9,
0X00,0X10,0X02,0X01,0X20,0X00,0X00,0X00,0X00,0X80,0X08,0X10,0X04,0XAA,0XA4,0X92,
0X00,0X00,0X00,0X08,0X64,0X80,0X04,0X00,0X02,0X00,0X01,0X00,0X01,0X55,0X2A,0X44,
0X10,0X00,0X00,0X22,0X00,0X00,0X00,0X00,0X20,0X00,0X00,0X00,0X2A,0XA4,0XA2,0X28,
0X40,0X81,0X10,0X80,0X49,0X00,0X00,0X00,0X80,0X00,0X20,0X24,0X01,0X2A,0XA8,0X82,
0X00,0X08,0X00,0X14,0X00,0X00,0X20,0X00,0X00,0X00,0X02,0X00,0XAA,0XA9,0X4A,0XA8,
0X02,0X00,0X00,0X40,0X10,0X04,0X00,0X00,0X00,0X01,0X00,0X00,0X02,0X54,0X44,0X41
};
const unsigned char ris_2[]PROGMEM = {
0X50,0X00,0X02,0X10,0X80,0X08,0X09,0X24,0X84,0X81,0X24,0X80,0X10,0X00,0X15,0X40,
0XA9,0X02,0XA8,0XA5,0X28,0X24,0X24,0X92,0X02,0X51,0X49,0X28,0XA5,0X54,0X49,0X2A,
0XA0,0X00,0X12,0X12,0X20,0X12,0X12,0XAA,0X85,0X42,0X24,0X90,0X08,0X89,0X25,0X50,
0X54,0X81,0X41,0X48,0X90,0X28,0X4A,0X49,0X44,0XA1,0X52,0X48,0X52,0X20,0X14,0X92,
0XA8,0X00,0X14,0X25,0X20,0X04,0X29,0X25,0X22,0X82,0X95,0X24,0X09,0X4A,0X45,0X48,
0XA2,0X01,0X49,0X48,0X90,0X28,0X4A,0XAA,0X82,0X50,0XA4,0XA8,0X52,0X24,0X88,0XAA,
0X58,0X80,0X22,0X25,0X20,0X14,0X29,0X54,0XA2,0XA2,0X92,0X94,0X08,0X89,0X02,0X24,
0XA1,0X01,0X14,0X90,0X81,0X20,0X4A,0X4A,0X82,0X81,0X54,0XA2,0X25,0X24,0X90,0X52,
0XA8,0X00,0X42,0X4A,0X50,0X14,0X29,0X52,0X42,0X62,0X4A,0X48,0X28,0X92,0X0F,0XAC,
0X52,0X08,0X94,0X92,0X82,0X28,0X55,0X4A,0XA2,0X81,0X55,0X2A,0X12,0X4A,0X8A,0XDA,
0XA8,0X80,0X22,0X48,0X40,0X08,0X4A,0XAA,0XA2,0XA5,0X45,0XA4,0X25,0X22,0X8D,0X68,
0XA2,0X08,0X49,0X25,0X44,0X28,0X54,0XAA,0X82,0XAF,0X28,0XA8,0X12,0X40,0X4F,0X95,
0X58,0X80,0X24,0X95,0X02,0X24,0X52,0XAA,0XA2,0XB5,0XD1,0X64,0X49,0X22,0X0D,0XD0,
0XA2,0X08,0X2A,0X52,0XA4,0X14,0X2A,0XAA,0XA2,0XAE,0XAE,0X54,0X2A,0X90,0X2A,0X8A,
0X50,0X80,0X41,0X49,0X02,0X28,0X55,0X55,0X42,0XAA,0XFF,0XAA,0X12,0X42,0XA5,0X51,
0X54,0X0A,0X14,0X94,0X88,0X24,0X55,0X55,0X42,0XAB,0XF7,0XE8,0X29,0X21,0X54,0X48,
0XA9,0X00,0X0A,0X45,0X06,0X14,0X55,0X55,0X62,0XA5,0XBE,0XB4,0X25,0X40,0X22,0X85,
0X50,0X8A,0X21,0X29,0X08,0X28,0X55,0X55,0X82,0XCB,0XFF,0XD4,0X2A,0X43,0X48,0X50,
0XA4,0X00,0X14,0X94,0X8A,0X28,0X55,0X56,0XA3,0X49,0X4C,0XAA,0X29,0X20,0X90,0X8A,
0X92,0X8A,0X0A,0X4A,0X14,0X28,0X55,0X6A,0XA2,0X8B,0X3A,0XD4,0X25,0X45,0X20,0X20,
0XA8,0X01,0X11,0X52,0X0A,0X14,0X55,0XAA,0XC2,0XC9,0X6E,0X4A,0X2A,0X82,0X94,0X95,
0X52,0X8A,0X04,0X95,0X14,0X28,0X56,0XAD,0X43,0X05,0XFF,0XD4,0X29,0X44,0X48,0X22,
0X54,0X01,0X0A,0X48,0X2A,0X2C,0X5A,0XB6,0XC5,0X92,0XD7,0XD4,0X25,0X02,0XA4,0X49,
0X51,0X0A,0X05,0X55,0X12,0X28,0X6A,0XD5,0X62,0X91,0X6E,0XD4,0X2A,0X8A,0X50,0X12,
0X48,0X81,0X08,0X94,0X2A,0X14,0X55,0X5B,0X43,0X72,0XFF,0XB4,0X2A,0X85,0X2A,0X24,
0XAA,0X0A,0X85,0X52,0X2A,0X28,0X56,0XD5,0XA2,0X91,0XCB,0XEA,0X2A,0X09,0X44,0X11,
0X51,0X04,0X42,0X48,0X2A,0X2C,0X5B,0X5A,0XC3,0X72,0XFD,0X54,0X2A,0X8A,0XA8,0X24,
0XA8,0X89,0X05,0X28,0X54,0X28,0X6A,0XAE,0XA2,0XC1,0XB7,0XEC,0X2A,0X09,0X24,0X12,
0XA5,0X04,0X82,0XA8,0X54,0X28,0X55,0XEB,0X43,0X46,0XFF,0X34,0X55,0X15,0X55,0X14,
0X90,0X0A,0X42,0X54,0XAA,0X2C,0X6E,0XB5,0XE5,0XAD,0XBD,0XAA,0X2A,0X15,0X24,0X09,
0X55,0X01,0X41,0X50,0X54,0X28,0X55,0X5D,0X42,0XB7,0XC2,0X54,0X2B,0X00,0X00,0X24,
0XA9,0X0A,0X52,0XA8,0XAA,0X2C,0X6D,0XD6,0XC3,0X2F,0XE9,0XB6,0X34,0X00,0X00,0X12,
0XA4,0X89,0X41,0X40,0XAD,0X34,0X5B,0X6B,0X62,0X7B,0XEA,0XDA,0X2A,0X00,0X00,0X09,
0X52,0X05,0X21,0X31,0X54,0X14,0X6D,0XBD,0XA1,0X5F,0XB6,0XAA,0X2C,0X36,0XED,0X0A,
0X54,0X88,0XA0,0XA1,0X6A,0X34,0X56,0XD6,0XC5,0X6F,0XE9,0XB4,0X34,0X55,0X2A,0X85,
0X22,0X05,0X51,0X51,0X56,0X28,0X7B,0X6B,0X62,0XBD,0XB7,0X5A,0X2A,0X2A,0XA5,0X08,
0XD4,0X8A,0X48,0XA2,0XAA,0X2C,0X55,0XBD,0X95,0XAF,0XDF,0XEC,0X2C,0X55,0X54,0X85,
0XF2,0X05,0X28,0XA1,0X6C,0X34,0X6E,0XD6,0XCE,0XBF,0X75,0XB4,0X54,0X55,0X55,0X0A,
0XB9,0X09,0X50,0X42,0XAA,0X2C,0X5B,0X6D,0X2B,0X2D,0XAF,0XEC,0X58,0X55,0X55,0X41,
0X7A,0X85,0X48,0X43,0X5A,0X34,0X6D,0XB6,0X9D,0X7F,0XFF,0XB4,0X6C,0X5A,0XAA,0X85,
0X28,0X0A,0X54,0X45,0X6C,0X2A,0X36,0XDC,0X6B,0X2E,0XAB,0XEC,0X28,0XAA,0XA9,0X44,
0XF2,0X89,0X54,0X45,0X56,0X34,0X3B,0X75,0X5E,0X7B,0XFE,0XE8,0X68,0XAB,0X55,0X02,
0XF5,0X05,0X28,0X05,0XB4,0X2E,0X2D,0XD9,0X76,0X5E,0XAF,0XB4,0XB0,0XB5,0X55,0X45,
0XB8,0X8A,0XAA,0X0A,0XAA,0X35,0X17,0X65,0XBD,0X77,0X7A,0XD8,0XD8,0XD5,0X55,0X40,
0XF5,0X04,0XAA,0X0A,0XDE,0X2E,0X1A,0XD5,0X6E,0X5D,0XDF,0XA0,0XA9,0X5B,0X55,0X43,
0X59,0X0A,0XA4,0X0B,0X6A,0X35,0X87,0X66,0XFA,0X77,0X75,0XD1,0XD0,0XAA,0XAA,0XA1,
0XF4,0X8A,0X9A,0X0A,0XAA,0X2E,0X81,0X97,0XBC,0XBD,0XDE,0X82,0XB1,0XDA,0XD5,0X52,
0X72,0X04,0XAA,0X16,0XDC,0X35,0XC0,0X15,0XEC,0XEE,0XF7,0X07,0X61,0X6B,0X5A,0XA1,
0X1A,0X8A,0XAB,0X1A,0XAA,0X2E,0XF0,0X2F,0X7A,0X7B,0X5B,0X1A,0XD1,0XAD,0X55,0X50,
0X54,0X8A,0XAA,0X95,0XB6,0XB7,0X5E,0X5B,0XD8,0XB7,0X76,0XF7,0X65,0X55,0X55,0X45,
0XFA,0X54,0XAA,0X6A,0XAD,0X5A,0XE9,0X2F,0X75,0X7D,0XDD,0XAD,0XBB,0XB6,0XD5,0X5A,
0XD1,0X52,0XAA,0XAD,0XDB,0XED,0XBA,0X5D,0XDC,0XDB,0X76,0XF6,0XD6,0XDB,0X5A,0XA4,
0XFA,0X95,0X55,0XB6,0X6D,0X5B,0X64,0XB7,0XF0,0XFD,0XED,0X5B,0X7A,0XAA,0XAA,0XAA,
0XDA,0X55,0X55,0X55,0XB6,0XEE,0XD2,0X5E,0XAD,0X57,0XDE,0XED,0XAD,0XDB,0X6A,0XAA,
0XE9,0X4A,0XAA,0XAA,0XDB,0X5B,0XAD,0XB7,0XF0,0XFA,0XEB,0XB6,0XD6,0XB5,0X55,0X55,
0XBA,0XA9,0X55,0XB7,0X55,0XB6,0XB6,0XDA,0X89,0X6F,0X5D,0X6F,0X7B,0X6D,0XAD,0X54,
0XF4,0X55,0X56,0XAA,0XEE,0XDA,0XAD,0X6F,0XE1,0XF9,0XD6,0XDA,0XD6,0XD6,0XD5,0XAB,
0X5A,0XA5,0X55,0X5D,0X5B,0X75,0XFF,0XB5,0X41,0X5A,0XBB,0XB7,0X6D,0XBA,0XB6,0XA9,
0X52,0X95,0X55,0X6B,0X6D,0XAA,0XAA,0XDF,0X82,0XF5,0X56,0XED,0XB6,0XAB,0X55,0X55,
0X49,0X55,0X55,0XAD,0XB6,0XAB,0XFF,0XB5,0X51,0XB8,0X5B,0X76,0XDA,0XD5,0XAA,0XAA,
0XAA,0X55,0X56,0XB5,0X5A,0XAE,0XDD,0XEE,0XC2,0XE9,0X77,0XAB,0X6D,0XBE,0X6D,0X55,
0X55,0X4A,0XAA,0XD6,0XEC,0XAB,0XFF,0X75,0X41,0XD9,0X5D,0X6D,0XAA,0XA1,0X92,0XAA,
0XA9,0X2A,0XAA,0XAB,0X52,0XB7,0XEB,0XDB,0X02,0XF3,0X77,0XAA,0XAA,0XAD,0X49,0X55,
0X54,0XAA,0XAD,0X75,0XB2,0XAE,0XDE,0XE8,0X81,0XDA,0XED,0X76,0XED,0X56,0XB6,0XB5,
0X4A,0XA9,0X55,0X9E,0XC9,0X5B,0XFB,0X50,0X12,0XFB,0XB7,0XDB,0X55,0XAA,0XAA,0XD5,
0X52,0X55,0X56,0XE5,0X45,0X6F,0XAE,0XCA,0X09,0XDE,0XED,0X6D,0X54,0XD4,0XAD,0X55,
0X55,0X4A,0XAA,0XBB,0XA2,0XBE,0XF5,0X74,0X2A,0XF5,0XFB,0XBE,0XAF,0X5B,0X55,0X55,
0X49,0X2A,0XB5,0X4D,0X09,0X57,0XAB,0X50,0X78,0XB7,0X56,0XEB,0XF5,0XB5,0XB6,0XAA,
0XAA,0XAA,0XAB,0X75,0X84,0XBE,0XD5,0X49,0XDA,0XF5,0XEF,0X5D,0X5A,0XDA,0XDA,0XD5,
0X54,0XAA,0XAD,0XAE,0X22,0XAB,0XAA,0XA3,0X69,0XB7,0X5B,0XEB,0XAF,0X6F,0X55,0X55,
0X52,0XAA,0XAA,0XB5,0X09,0X5F,0XE9,0X0F,0XFC,0XDB,0XFD,0X7D,0X69,0X22,0XB6,0XAA,
0X95,0X4A,0XB5,0X57,0X22,0X5B,0X74,0X3D,0X55,0X6A,0XAB,0XAB,0XAD,0X5A,0XD5,0XB5,
0X54,0XAA,0XAB,0X6A,0X04,0XAF,0XDD,0XEF,0XF9,0XF7,0XBE,0XEE,0XD5,0XAD,0X5A,0XAA,
0XAA,0X55,0X55,0XBB,0X00,0X55,0XFA,0XB5,0X55,0X53,0X6B,0X55,0X5A,0XD2,0XA5,0X55,
0X52,0XAA,0XAD,0X56,0X92,0X8B,0X7F,0XBF,0XBC,0XED,0XDD,0XD6,0XAA,0XAA,0X95,0X6A,
0X95,0X4A,0XAA,0XDB,0X00,0X2B,0XDA,0XD5,0X6D,0XA7,0X77,0X55,0X56,0XD5,0X6A,0XAB,
0X49,0X2A,0XB5,0X6A,0X85,0X15,0X7F,0XEF,0XF4,0XED,0XBB,0XFB,0X6A,0XAD,0X55,0X55,
0X2A,0XAA,0XAB,0X5B,0X40,0X45,0XB7,0X6A,0XBD,0X56,0XDD,0X55,0XAB,0X55,0X5B,0X6A,
0XA9,0X55,0X55,0XAD,0X88,0X12,0XDF,0XF5,0XD5,0XCD,0XEF,0XBD,0X5D,0X2A,0XAD,0X55,
0X4A,0X4A,0XAD,0X6A,0XC1,0X44,0XBB,0XBC,0XFC,0XAD,0X75,0X6D,0XD5,0XDD,0XAA,0XAA,
0XA9,0X55,0X55,0XB7,0X60,0X09,0X56,0XF7,0X2D,0X6F,0XAF,0XDA,0XAA,0X54,0XB6,0XDB,
0X4A,0XAA,0XAA,0XAA,0XD8,0X21,0X5F,0XFE,0XB6,0XD5,0XFA,0XBE,0XAB,0X55,0X55,0X55,
0X29,0X2A,0XB6,0XDD,0XB4,0X84,0X2B,0X7F,0XDC,0XDB,0X5F,0XEB,0X6D,0XAA,0XAD,0XAA,
0X95,0X52,0XAA,0XAB,0X6E,0X01,0X55,0XED,0XAA,0XDD,0XEA,0XBD,0XB6,0XDB,0X6A,0XB5,
0X52,0XAA,0XAB,0X6D,0XB5,0X08,0X2B,0X7F,0XE6,0XF6,0XBD,0XD5,0X55,0X51,0X2D,0X55,
0X4A,0X4A,0XAD,0X56,0XDE,0XA1,0X0A,0XDF,0XFA,0XB5,0XEB,0X7B,0X55,0X55,0XAB,0X55,
0X55,0X2A,0XAA,0XB5,0X6B,0XC0,0X52,0XF5,0XBA,0XD7,0X7E,0XD7,0XBB,0XBE,0XB5,0XAA,
0XA9,0X55,0X55,0XAD,0XB5,0X70,0X0A,0X9F,0XEC,0XE9,0XAB,0XBA,0XAC,0XA5,0X4A,0XB5,
0X54,0XAA,0XAA,0XB6,0XDE,0XDC,0X81,0X6B,0X7F,0X7B,0XFD,0XE5,0X52,0X9A,0XAA,0XAA,
0XAA,0X95,0X55,0X55,0X6B,0X6A,0X14,0X9D,0XFE,0XB6,0XAB,0X5B,0XB7,0X6A,0XAA,0XD5,
0X52,0X52,0XAD,0XB7,0X5B,0XBF,0X42,0X57,0X6F,0XBD,0XFE,0XED,0X6D,0XBB,0X6D,0X55,
0X55,0X4A,0XAA,0XAA,0XED,0X6A,0XC0,0XAA,0XFB,0XDE,0XAB,0XBB,0XB5,0X55,0XAA,0XAA,
0XA8,0XAA,0XAA,0XDB,0X56,0XDD,0XB8,0X0B,0X5F,0X6B,0XF6,0XDE,0XDE,0XEE,0XB6,0XD5,
0X55,0X2A,0X55,0X55,0X7B,0X6B,0XED,0X25,0XED,0XFE,0XAF,0X6B,0X6B,0X5A,0XD5,0X55,
0X52,0XA5,0X55,0X5B,0XAD,0XBD,0X5E,0X85,0X5F,0XD6,0XFA,0XFB,0XB5,0XB5,0X5A,0XAA,
0XA9,0X2A,0X04,0XA4,0X2A,0X07,0XB5,0X41,0X76,0XFB,0XAF,0X84,0X5E,0XA2,0XD4,0XAA,
0XAA,0XA8,0XF0,0XD8,0XDB,0X1A,0XEE,0X70,0XAF,0XBB,0XDA,0XBB,0XAB,0X41,0X56,0XAA,
0XA8,0X92,0X8C,0XA8,0X55,0X1D,0XBA,0X6A,0X35,0X6A,0XBD,0X2E,0X8D,0XE0,0XB4,0XAA,
0XA5,0X41,0X54,0XA8,0X6E,0X16,0XD4,0X3C,0X17,0XFB,0XEA,0X75,0XC6,0XA8,0X54,0XAA,
0XAA,0X52,0XAA,0XA8,0XB5,0X1B,0X7C,0X57,0X0A,0XDB,0X5C,0X5E,0XA3,0X50,0X6A,0XAA,
0XA9,0X21,0X54,0XA8,0X57,0X16,0XD4,0X3A,0X83,0XF5,0X68,0X6B,0X42,0XCC,0X2C,0XAA,
0XAA,0X90,0X95,0X54,0XB5,0X1B,0X6A,0X1F,0XC5,0XBA,0XB8,0XB5,0XE3,0X6A,0X16,0XAA,
0XA4,0X50,0X2A,0XB0,0X5A,0X0D,0XBA,0X2A,0X96,0XEC,0XE8,0XDE,0XA1,0X54,0X14,0XAA,
0XA9,0X48,0X02,0XA8,0XAD,0X16,0XD3,0X1B,0XCB,0XF5,0XB0,0X6B,0X41,0XAB,0X0A,0XAA,
0XAA,0X50,0X01,0X54,0X00,0X1B,0X6D,0X0D,0X17,0X5B,0X50,0XB5,0XE1,0X55,0X0A,0X55,
0X51,0X2A,0X00,0X50,0XFF,0X15,0XB6,0X0E,0XAD,0XE9,0XF0,0XDE,0XA1,0XAA,0X84,0XA9,
0X2A,0X89,0XA0,0X58,0X12,0X1A,0XD5,0X8B,0X37,0XB4,0XA8,0X6A,0XA1,0X4D,0X02,0XA5,
0X51,0X54,0X50,0X48,0XD5,0X0E,0XAB,0X0C,0X5E,0XE8,0X70,0XB6,0XC1,0X6A,0XC2,0X55,
0X54,0X23,0X2C,0X50,0X5A,0X15,0XA4,0X86,0X57,0XB4,0X58,0X5B,0X62,0XAA,0XA0,0XAA,
0XAA,0X94,0XA2,0X58,0X55,0X1A,0XDB,0X44,0XBD,0XD4,0X68,0XD5,0XA3,0X4A,0XA0,0XA9,
0X51,0X42,0X54,0X24,0XAB,0X0B,0X4D,0X80,0XAF,0X68,0X5C,0X6D,0X42,0XAA,0XA0,0X95,
0X54,0X25,0X2A,0XA8,0X55,0X1A,0XB5,0X42,0X7B,0XB4,0X6A,0X36,0X85,0X6A,0XA8,0X52,
0X49,0X40,0X90,0X50,0X55,0X0B,0X56,0XE1,0X5D,0XA8,0X2A,0X55,0XCD,0XA5,0X50,0XA9,
0X52,0X22,0X49,0X48,0X55,0X15,0X55,0X40,0XB7,0X6C,0X76,0X2A,0X15,0X4A,0XA8,0X4A,
0XA9,0X44,0XA2,0XA0,0X28,0X0A,0X0B,0X22,0XDD,0XB4,0X0B,0X8D,0X55,0X25,0X54,0XA9,
0X54,0X29,0X0A,0X4A,0X96,0XA5,0X55,0XB8,0XBE,0XD5,0X5D,0X51,0X24,0X92,0XAA,0X95,
0X49,0X44,0X52,0X92,0X10,0X28,0XA1,0X52,0XEB,0X5A,0X15,0X4A,0X82,0XA2,0X92,0X49,
0X24,0X22,0X89,0X15,0X14,0XA8,0XAA,0XA1,0X5E,0XD4,0X0A,0XEA,0XC5,0X51,0X55,0X54,
0XB2,0X94,0X54,0X49,0X4A,0XA8,0X51,0X62,0XFB,0X6E,0X8B,0X2B,0X42,0XAA,0X49,0X22,
0XA8,0X42,0X92,0X25,0X54,0XA8,0XAA,0X81,0X5D,0X52,0X05,0XA5,0X42,0XA1,0X54,0X95,
0X4A,0X29,0X24,0X2A,0X89,0X50,0XB5,0X45,0XB6,0X2D,0X82,0XAA,0X85,0X55,0X52,0XA8,
0XA1,0X44,0X92,0X12,0X55,0X50,0XAA,0X82,0XFB,0X34,0XA2,0XAA,0XA2,0X94,0X8A,0X45,
0X58,0X12,0X48,0X09,0X4A,0X48,0XAA,0X82,0XAC,0X16,0X81,0X4A,0X82,0X52,0XA9,0X2A,
0XA5,0X48,0X92,0X00,0XA9,0X50,0X55,0X02,0XF6,0X14,0XE1,0X65,0X42,0X8A,0X55,0X50,
0X90,0X22,0X25,0X00,0X15,0X50,0XAA,0X05,0XB4,0X14,0X90,0X8A,0XA1,0X29,0X44,0X8A,
0XAA,0X89,0X48,0X80,0X09,0X28,0XAA,0X82,0XEE,0X16,0X68,0X6A,0X84,0X15,0X2A,0X52,
0X50,0X44,0X12,0X50,0X05,0X48,0X52,0X05,0XB4,0X14,0XA8,0X25,0X42,0X89,0X51,0X25,
0X55,0X29,0X44,0X95,0X0A,0X50,0XAA,0X86,0XEA,0X15,0X50,0X0A,0X42,0XA4,0X8A,0X90,
0XA0,0X02,0X29,0X24,0X85,0X28,0X4A,0X83,0X5A,0X14,0XAC,0X29,0X42,0X55,0X24,0X4A,
0XAA,0XA8,0X82,0X49,0X08,0XA0,0XA9,0X0D,0XEA,0X2A,0X52,0X05,0X01,0X20,0XA9,0X21,
0X50,0X02,0X28,0X24,0X85,0X50,0X55,0X45,0X54,0X2A,0XAA,0X0A,0XC5,0X55,0X12,0X4A,
0X4A,0XA8,0X84,0X92,0X52,0X08,0X8A,0X4B,0XD8,0X52,0X49,0X09,0X01,0X08,0XA4,0X91,
0X28,0X02,0X50,0X49,0X09,0X60,0X51,0X4A,0XA8,0X94,0XA5,0X04,0XA2,0X51,0X11,0X08,
0XA1,0X28,0X0A,0X04,0X92,0X10,0XAA,0X97,0XD4,0X52,0X54,0X8A,0X41,0X40,0X88,0X45,
0X54,0X02,0XA0,0X28,0X09,0X48,0X14,0X0A,0XA1,0X48,0X92,0X42,0X82,0X21,0X25,0X20,
0X90,0XA0,0X08,0X81,0X52,0X42,0XA2,0X97,0X6A,0XA5,0X29,0X08,0X10,0X88,0X90,0X94,
0XA9,0X0A,0XA2,0X24,0X09,0X28,0X4A,0X89,0X89,0X14,0X85,0X65,0X4A,0X24,0X44,0X02,
0XA0,0X20,0X08,0X89,0X50,0X95,0X24,0X56,0X64,0XAA,0X54,0X94,0XA1,0X49,0X12,0XA8,
0X9A,0X09,0X22,0X22,0X25,0X22,0X92,0X8A,0XAA,0XA2,0XAA,0X4A,0X4C,0X92,0X48,0X44,
0XA0,0XA0,0X88,0X91,0X48,0X94,0X54,0X5A,0XD5,0X2A,0XA5,0X51,0X22,0X49,0X25,0X22,
0X94,0X0A,0X22,0X4A,0X12,0X4A,0XA9,0XAE,0X52,0XAA,0X55,0X56,0XAA,0XA5,0X52,0X94,
0XA9,0X20,0X89,0X11,0X4A,0XA5,0X22,0XDA,0X95,0X55,0XAA,0XA9,0X55,0X55,0X4A,0X52,
0X90,0X44,0X24,0X48,0XA4,0X94,0XA9,0XAD,0X6D,0X55,0X55,0X56,0XAA,0XAA,0XAA,0XAA,
0XA9,0X12,0X89,0X25,0X12,0X55,0X50,0X06,0X96,0XED,0X6A,0XAA,0XAD,0X55,0X55,0X55,
0X44,0X00,0X20,0X92,0X55,0X55,0X50,0X05,0X5B,0X56,0XB6,0XDA,0XB5,0XBA,0XDB,0X6D,
0X30,0XAA,0X8A,0X49,0X4A,0XAA,0XA0,0X0E,0XAD,0XAD,0XDB,0X6D,0XAE,0XD5,0XB6,0XB6,
0X92,0X00,0X21,0X12,0X29,0X55,0X58,0X05,0X76,0XEB,0X5D,0X56,0XB5,0X7B,0X6D,0XDB,
0X50,0X55,0X14,0X49,0X55,0X2A,0XD0,0X02,0X9F,0XB9,0XD6,0XED,0XB7,0X96,0XFB,0X77,
0X4A,0X70,0XA2,0X92,0X44,0XAA,0XB9,0X15,0X4A,0XEE,0XDE,0XB5,0XF5,0XDB,0XAF,0XDD,
0X28,0X8A,0X08,0X49,0X2A,0XAA,0XAA,0X9D,0X7F,0XBD,0XEB,0XDF,0X55,0X77,0XFD,0XFF,
0XA5,0X25,0X65,0X24,0X91,0X2A,0XA9,0X03,0X0D,0XDF,0X6E,0XDA,0XEF,0XB5,0XB7,0X6B,
0X2A,0X94,0X9A,0XD5,0X55,0X4A,0XAA,0XC2,0X6F,0XF7,0XFF,0XFB,0XBD,0XFF,0XFF,0XFF,
0X56,0XEB,0X56,0XB6,0XDA,0XB5,0X53,0X03,0X57,0XFF,0XDE,0XDF,0XFF,0XB7,0XFF,0XFF,
0X56,0XA5,0XDD,0XDD,0XB7,0X55,0X59,0X61,0XA9,0XBD,0X7B,0XFD,0XED,0XFD,0X5B,0X6F,
0X57,0XE9,0XDF,0XFF,0XFA,0XEA,0XA5,0X61,0X40,0X3F,0XF7,0X56,0XB7,0XAF,0XEF,0XFF,
0X56,0X2C,0X77,0X77,0X6F,0XB5,0X40,0X00,0X01,0X07,0XFD,0XFF,0XDE,0XF5,0X7F,0XFF,
0X57,0XEF,0X1F,0XFF,0XFF,0XFD,0X51,0X20,0X28,0X0B,0XFF,0XDB,0XFF,0XFF,0XFF,0XFF,
0X4F,0XDD,0XDF,0XFD,0XFF,0XD6,0X84,0X10,0X00,0X1F,0XEF,0XFF,0XFF,0XFF,0XFF,0XFB,
0X57,0X7B,0XDE,0XDF,0XFD,0XFF,0XFB,0XA4,0X95,0XFF,0XFF,0XFF,0XFF,0XDF,0XF7,0XDF,
0X5F,0XF7,0XDF,0XFF,0XEF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X7F,0XFF,0XFF,0XFF
};
const unsigned char ris_3[]PROGMEM = {
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X03,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
0X03,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
0X03,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
0X03,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0XC0,
0X03,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0XC0,
0X03,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0XC0,
0X03,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0XC0,
0X03,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0XC0,
0X03,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0XC0,
0X03,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0XC0,
0X03,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0XC0,
0X03,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0XC0,
0X03,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0XC0,
0X03,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0XC0,
0X03,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0XC0,
0X03,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0XC0,
0X03,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0XC0,
0X03,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0XC0,
0X03,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0XC0,
0X03,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0XC0,
0X03,0X80,0X00,0X80,0X40,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0XC0,
0X03,0X80,0X00,0XFF,0XC1,0XE0,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0XC0,
0X03,0X80,0X01,0XFF,0X83,0XF8,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0XC0,
0X03,0X80,0X01,0XFF,0X0F,0XFE,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0XC0,
0X03,0X80,0X01,0XFE,0X1F,0XFF,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0XC0,
0X03,0X80,0X03,0XFC,0X3F,0XFF,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0XC0,
0X03,0X80,0X03,0XF8,0X7F,0XFF,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0XC0,
0X03,0X80,0X07,0XF0,0XFF,0XFF,0X01,0XF0,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0XC0,
0X03,0X80,0X07,0XE1,0XFF,0XFC,0X07,0XFE,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0XC0,
0X03,0X80,0X07,0XC3,0XFF,0XF8,0X0F,0XFF,0X80,0X00,0X00,0X00,0X00,0X00,0X01,0XC0,
0X03,0X80,0X07,0X83,0XFF,0XF0,0X3F,0XFF,0X00,0X00,0X03,0XE0,0X00,0X00,0X01,0XC0,
0X03,0X80,0X07,0X07,0XFF,0XC0,0X7F,0XFE,0X00,0X80,0X1F,0XFC,0X00,0X00,0X01,0XC0,
0X03,0X80,0X07,0X0F,0XFF,0X81,0XFF,0XFC,0X07,0XF8,0X7F,0XFF,0X00,0X00,0X01,0XC0,
0X03,0X80,0X06,0X1F,0XFF,0X03,0XFF,0XF8,0X1F,0XF8,0XFF,0XFF,0X80,0X7C,0X01,0XC0,
0X03,0X80,0X00,0X3F,0XFE,0X07,0XFF,0XF0,0X3F,0XF0,0XFF,0XFF,0XC0,0X7E,0X01,0XC0,
0X03,0X80,0X00,0X7F,0XF8,0X1F,0XFF,0XE0,0X7F,0XF1,0XFF,0X7F,0XC0,0X7E,0X01,0XC0,
0X03,0X80,0X00,0X7F,0XF0,0X3F,0XFF,0XC0,0XFF,0XE1,0XF8,0X0F,0XE0,0X7F,0X01,0XC0,
0X03,0X80,0X00,0XFF,0XE0,0X7F,0XFF,0X83,0XFF,0XE3,0XF0,0X03,0XE0,0X7F,0X01,0XC0,
0X03,0X80,0X01,0XFF,0XC0,0XFF,0XFF,0X07,0XFF,0XC3,0XF0,0X03,0XF0,0X7F,0X01,0XC0,
0X03,0X80,0X01,0XFE,0X01,0XFF,0XFE,0X0F,0XFF,0X87,0XE3,0XE1,0XF8,0X3F,0X01,0XC0,
0X03,0X80,0X00,0X00,0X00,0X7F,0XF8,0X3F,0XFF,0X87,0XE7,0XF0,0XFC,0X3F,0X01,0XC0,
0X03,0X80,0X00,0X00,0X00,0X1F,0XE0,0X7F,0XFF,0X0F,0XCF,0XF8,0XFF,0XFF,0X01,0XC0,
0X03,0X80,0X03,0XFE,0X00,0X00,0X00,0XFF,0XFE,0X0F,0XCF,0XF8,0X7F,0XFF,0X01,0XC0,
0X03,0X80,0X0F,0XFF,0XF8,0X00,0X01,0XFF,0XFE,0X1F,0XCF,0XF8,0X3F,0XFE,0X01,0XC0,
0X03,0X80,0X1F,0XFF,0XFF,0X80,0X03,0XFF,0XFC,0X1F,0XCF,0XFC,0X1F,0XFC,0X01,0XC0,
0X03,0X80,0X1F,0XFF,0XFF,0XF0,0X03,0XFF,0XF8,0X3F,0X8F,0XFC,0X07,0XF8,0X01,0XC0,
0X03,0X80,0X1F,0XFF,0XFF,0XFE,0X01,0XFF,0XF8,0X3F,0X87,0XFE,0X00,0X00,0X01,0XC0,
0X03,0X80,0X0F,0XFF,0XFF,0XFF,0X80,0XFF,0XF0,0X7F,0X87,0XFF,0X00,0X00,0X01,0XC0,
0X03,0X80,0X0F,0XFF,0XFF,0XFF,0XE0,0X3F,0XE0,0XFF,0X87,0XFF,0X80,0X1F,0X01,0XC0,
0X03,0X80,0X0F,0XFF,0XFF,0XFF,0XF8,0X0F,0XE0,0XFF,0X07,0XFF,0XC0,0X7F,0X01,0XC0,
0X03,0X80,0X07,0XFF,0XFF,0XFF,0XFE,0X00,0X01,0XFF,0X07,0XFF,0XE0,0X7F,0X81,0XC0,
0X03,0X80,0X07,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0XFE,0X07,0XFF,0XF0,0X7F,0X81,0XC0,
0X03,0X80,0X03,0XFF,0XFF,0XFF,0XFF,0XE0,0X00,0X3C,0X07,0XFF,0XF0,0XFF,0X81,0XC0,
0X03,0X80,0X00,0X00,0X07,0XFF,0XFF,0XFC,0X00,0X00,0X07,0XFF,0XF0,0XFF,0X01,0XC0,
0X03,0X80,0X00,0X00,0X00,0X7F,0XFF,0XFF,0X80,0X00,0X0F,0XFF,0XF0,0XFF,0X01,0XC0,
0X03,0X80,0X00,0X00,0X00,0X07,0XFF,0XFF,0XFE,0X0F,0X0F,0XFF,0XE0,0X7F,0X01,0XC0,
0X03,0X80,0X00,0X3F,0XF0,0X00,0XFF,0XFF,0XFF,0XFF,0X87,0XFF,0XE0,0X00,0X01,0XC0,
0X03,0X80,0X00,0X7F,0XFF,0X80,0X1F,0XFF,0XFF,0XFF,0XC7,0XFF,0XC0,0X00,0X01,0XC0,
0X03,0X80,0X00,0X7F,0XFF,0XF8,0X03,0XFF,0XFF,0XFF,0XC3,0XFF,0X80,0X00,0X01,0XC0,
0X03,0X80,0X00,0X7F,0XFF,0XFF,0X00,0X7F,0XFF,0XFF,0XC0,0XFC,0X02,0X00,0X01,0XC0,
0X03,0X80,0X00,0XFF,0XFF,0XFF,0XE0,0X07,0XFF,0XFF,0XC0,0X00,0X0F,0X00,0X01,0XC0,
0X03,0X80,0X00,0XFF,0XFF,0XFF,0XF8,0X00,0X1F,0XFF,0X80,0X00,0X1F,0X80,0X01,0XC0,
0X03,0X80,0X00,0XFF,0XFF,0XFF,0XFF,0X00,0X00,0X00,0X00,0X00,0X0F,0X80,0X01,0XC0,
0X03,0X80,0X00,0XFF,0X80,0X7F,0XFF,0XF0,0X00,0X00,0X07,0X0F,0X8F,0XC0,0X01,0XC0,
0X03,0X80,0X01,0XFC,0X00,0X1F,0XFF,0XFC,0X03,0XF8,0X07,0X8F,0X8F,0XE0,0X01,0XC0,
0X03,0X80,0X01,0XF8,0X00,0X07,0XFF,0XFC,0X0F,0XFE,0X07,0X8F,0XC7,0XF0,0X01,0XC0,
0X03,0X80,0X01,0XF1,0X80,0X01,0XFF,0XFC,0X1F,0XFF,0X07,0X8F,0XC7,0XF0,0X01,0XC0,
0X03,0X80,0X01,0XF1,0XF0,0XF0,0XFF,0XFC,0X3F,0XFF,0X87,0X87,0XC7,0XF8,0X01,0XC0,
0X03,0X80,0X03,0XE1,0XE3,0XFC,0X7F,0XF8,0X7E,0X3F,0X87,0X87,0XE3,0XFC,0X01,0XC0,
0X03,0X80,0X03,0XE1,0XE7,0XFE,0X1F,0XF8,0X7C,0X1F,0X87,0XC7,0XE3,0XFC,0X01,0XC0,
0X03,0X80,0X03,0XE3,0XE7,0XFE,0X03,0XE0,0X7E,0X0F,0X87,0XC7,0XE3,0XFE,0X01,0XC0,
0X03,0X80,0X07,0XE3,0XC7,0XFE,0X00,0X00,0X7E,0X0F,0X87,0XC7,0XE1,0XFE,0X01,0XC0,
0X03,0X80,0X07,0XE3,0XC7,0XFE,0X00,0X00,0X3F,0X0F,0X87,0XC7,0XF1,0XFF,0X01,0XC0,
0X03,0X80,0X07,0XE3,0XE0,0XFE,0X00,0X00,0X3F,0X0F,0X87,0XC3,0XF0,0XFF,0X81,0XC0,
0X03,0X80,0X0F,0XE1,0XE0,0X7C,0X00,0X00,0X00,0X1F,0X87,0XC3,0XF0,0XFF,0X81,0XC0,
0X03,0X80,0X1F,0XE1,0XF0,0X7C,0X0F,0XE0,0X00,0X3F,0X07,0XE3,0XF0,0XFF,0X81,0XC0,
0X03,0X80,0X1F,0XF1,0XFF,0XF8,0X3F,0XF8,0X00,0XFF,0X07,0XE3,0XF8,0XFF,0XC1,0XC0,
0X03,0X80,0X3F,0XF0,0XFF,0XF0,0X7F,0XF8,0X03,0XFE,0X07,0XE3,0XF8,0X7F,0XC1,0XC0,
0X03,0X80,0X7F,0XF8,0X7F,0XC1,0XFF,0XF8,0X07,0XFE,0X07,0XE3,0XF8,0X7F,0XC1,0XC0,
0X03,0X80,0XFF,0XFC,0X1F,0X03,0XFF,0XF0,0X0F,0XFC,0X07,0XE1,0XFC,0X7F,0XE1,0XC0,
0X03,0X81,0XFF,0XFE,0X00,0X0F,0XFF,0XF0,0X1F,0XF8,0X03,0XE1,0XFC,0X3F,0XE1,0XC0,
0X03,0X81,0XFF,0XFF,0X80,0X3F,0XFF,0XF0,0X1F,0XF8,0X03,0XE1,0XFC,0X3F,0XE1,0XC0,
0X03,0X81,0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0X0F,0XF0,0X03,0XF1,0XFE,0X3F,0XE1,0XC0,
0X03,0X83,0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0X00,0X00,0X03,0XF1,0XFE,0X1F,0XC1,0XC0,
0X03,0X83,0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0X00,0X00,0X03,0XF1,0XFE,0X1F,0XC1,0XC0,
0X03,0X83,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,0X3F,0X00,0X03,0XF0,0XFF,0X0F,0X81,0XC0,
0X03,0X83,0XFF,0XFF,0XFF,0XFF,0XFF,0XC1,0XFF,0XFF,0X03,0XF0,0XFF,0X07,0X01,0XC0,
0X03,0X83,0XF8,0X0F,0XFF,0XFF,0XFF,0XC3,0XFF,0XFF,0X83,0XF0,0XFF,0X00,0X01,0XC0,
0X03,0X83,0XF8,0X0F,0XFF,0XFF,0XFF,0X87,0XFF,0XFF,0X83,0XF0,0XFF,0X80,0X01,0XC0,
0X03,0X87,0XFF,0X07,0XFF,0XFF,0XFF,0X87,0XFF,0XFF,0X83,0XF8,0XFF,0X80,0X01,0XC0,
0X03,0X87,0XFF,0XC7,0XFF,0XFF,0XFF,0X87,0XFF,0XFF,0XC3,0XF8,0XFF,0X80,0X01,0XC0,
0X03,0X87,0XFF,0XC7,0XFF,0XFF,0XFF,0X87,0XFF,0XFF,0XC3,0XF8,0X7F,0XC0,0X01,0XC0,
0X03,0X87,0XFF,0XC7,0XFF,0XFF,0XFF,0X8F,0XF0,0X3F,0XC3,0XF8,0X7F,0XC0,0X01,0XC0,
0X03,0X87,0XFF,0XC3,0XFF,0XFF,0XFF,0X8F,0XF0,0X3F,0XC3,0XF8,0X7F,0XC0,0X01,0XC0,
0X03,0X87,0XFF,0X83,0XFF,0XFF,0XFF,0X8F,0XE0,0X1F,0XC3,0XF8,0X7F,0XC0,0X01,0XC0,
0X03,0X87,0XFF,0X01,0XFF,0XFF,0XFF,0X8F,0XE0,0X3F,0XC3,0XF8,0X7F,0XE0,0X01,0XC0,
0X03,0X80,0X78,0X00,0X7F,0XFF,0XFF,0X8F,0XE0,0X3F,0XC3,0XF8,0X7F,0XE0,0X01,0XC0,
0X03,0X80,0X00,0X00,0X3F,0XFF,0XFF,0X87,0XF0,0X7F,0XC3,0XF8,0X3F,0XE0,0X01,0XC0,
0X03,0X80,0X00,0X00,0X0F,0XFF,0XFF,0X87,0XF0,0XFF,0XC3,0XF8,0X3F,0XF0,0X01,0XC0,
0X03,0X80,0X3F,0XF8,0X03,0XFF,0XFF,0X87,0XFF,0XFF,0X83,0XFC,0X3F,0XF0,0X01,0XC0,
0X03,0X80,0XFF,0XFF,0X80,0XFF,0XFF,0X87,0XFF,0XFF,0X87,0XFC,0X3F,0XF0,0X01,0XC0,
0X03,0X81,0XFF,0XFF,0XE0,0X3F,0XFF,0X87,0XFF,0XFF,0X87,0XFC,0X3F,0XF0,0X01,0XC0,
0X03,0X80,0XFF,0XFF,0XF8,0X1F,0XFF,0X83,0XFF,0XFF,0X87,0XFC,0X3F,0XF0,0X01,0XC0,
0X03,0X80,0X7F,0XFF,0XFC,0X1F,0XFF,0X83,0XFF,0XFF,0X07,0XFC,0X1F,0XF8,0X01,0XC0,
0X03,0X80,0X01,0XFF,0XFE,0X0F,0XFF,0X81,0XFF,0XFF,0X07,0XFC,0X1F,0XF8,0X01,0XC0,
0X03,0X80,0X00,0X01,0XFF,0X07,0XFF,0X80,0X00,0XFE,0X07,0XFC,0X1F,0XF8,0X01,0XC0,
0X03,0X80,0X00,0X00,0XFF,0X87,0XFF,0X80,0X00,0X00,0X07,0XFC,0X1F,0XF8,0X01,0XC0,
0X03,0X80,0X00,0X00,0X7F,0X83,0XFF,0X80,0X00,0X00,0X07,0XFC,0X1F,0XF8,0X01,0XC0,
0X03,0X80,0X00,0X00,0X3F,0XC3,0XFF,0XC3,0XFF,0X00,0X07,0XFC,0X1F,0XF8,0X01,0XC0,
0X03,0X80,0X1F,0XC0,0X7F,0XC3,0XFF,0XC3,0XFF,0XFC,0X07,0XFC,0X0F,0XF8,0X01,0XC0,
0X03,0X80,0X1F,0XFF,0XFF,0XC3,0XFF,0XC3,0XFF,0XFF,0X07,0XFC,0X0F,0XF8,0X01,0XC0,
0X03,0X80,0X1F,0XFF,0XFF,0XC1,0XFF,0XC3,0XFF,0XFE,0X07,0XFC,0X0F,0XF8,0X01,0XC0,
0X03,0X80,0X1F,0XFF,0XFF,0XE1,0XFF,0XC1,0XC0,0X7E,0X0F,0XFC,0X0F,0XF8,0X01,0XC0,
0X03,0X80,0X0F,0XFF,0XFF,0XE1,0XFF,0XC1,0XE0,0X7E,0X07,0XF8,0X07,0XF8,0X01,0XC0,
0X03,0X80,0X03,0XFF,0XFF,0XE1,0XFF,0XC1,0XF0,0X7C,0X07,0XF8,0X07,0XF8,0X01,0XC0,
0X03,0X80,0X00,0X3F,0XFF,0XE1,0XFF,0XE0,0XF0,0XFC,0X07,0XF8,0X03,0XF0,0X01,0XC0,
0X03,0X80,0X00,0X0F,0XFF,0XE1,0XFF,0XE0,0X7B,0XF8,0X07,0XF8,0X01,0XE0,0X01,0XC0,
0X03,0X80,0X00,0X07,0XFF,0XE1,0XFF,0XE0,0X7F,0XF0,0X07,0XF0,0X00,0X00,0X01,0XC0,
0X03,0X80,0X00,0X01,0XFF,0XC1,0XFF,0XE0,0X3F,0XE0,0X07,0XF0,0X00,0X00,0X01,0XC0,
0X03,0X80,0X00,0X00,0X3E,0X01,0XFE,0X00,0X1F,0XC0,0X03,0XE0,0X00,0X00,0X01,0XC0,
0X03,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X0F,0X80,0X03,0X80,0X00,0X00,0X01,0XC0,
0X03,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X06,0X00,0X00,0X00,0X00,0X00,0X01,0XC0,
0X03,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0XC0,
0X03,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0XC0,
0X03,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0XC0,
0X03,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0XC0,
0X03,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0XC0,
0X03,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0XC0,
0X03,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0XC0,
0X03,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0XC0,
0X03,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0XC0,
0X03,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0XC0,
0X03,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0XC0,
0X03,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0XC0,
0X03,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0XC0,
0X03,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0XC0,
0X03,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0XC0,
0X03,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0XC0,
0X03,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0XC0,
0X03,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0XC0,
0X03,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0XC0,
0X03,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0XC0,
0X03,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0XC0,
0X03,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0XC0,
0X03,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0XC0,
0X03,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
0X03,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
0X03,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00
};
const unsigned char ris_4[]PROGMEM = {
0X00,0X00,0X00,0X01,0XE0,0X00,0X24,0X07,0XFF,0XFF,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X03,0X04,0X00,0X00,0X1F,0XF0,0X98,0XF8,0X0C,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X02,0X3F,0X00,0X42,0XF8,0X00,0X3F,0X9E,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X04,0XC0,0X00,0X8E,0XF0,0X03,0X98,0X83,0XC1,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X0C,0X00,0X00,0X0C,0XE1,0X1C,0X00,0X01,0XE0,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X1C,0X01,0X80,0X18,0XF2,0X39,0XFF,0XF0,0X78,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X10,0X28,0X98,0X31,0XE8,0X7F,0XFF,0XFE,0X2C,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X11,0X40,0X02,0X03,0XC1,0XE9,0XC0,0X12,0X06,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X18,0X80,0X01,0X83,0X81,0XF0,0X80,0X01,0X0B,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X18,0X00,0X30,0XC3,0XC7,0X10,0X03,0XC0,0X85,0X80,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X40,0X60,0X5B,0X77,0X13,0X1F,0XFE,0X80,0XC0,0X00,0X00,0X00,
0X00,0X00,0X00,0X06,0X30,0X80,0X8E,0X3E,0X3A,0XFF,0XFF,0XC0,0X40,0X00,0X00,0X00,
0X00,0X00,0X06,0X16,0X1F,0X8D,0X96,0X3E,0X3F,0XF8,0X00,0X70,0X2C,0X00,0X00,0X00,
0X00,0X00,0X19,0X93,0XEF,0XC9,0XB7,0X1A,0X3F,0XC1,0X72,0X3C,0X04,0X00,0X00,0X00,
0X00,0X00,0X09,0X00,0X10,0XF0,0X37,0X58,0X7F,0X06,0XFF,0X2F,0X10,0X00,0X00,0X00,
0X00,0X00,0X00,0XC4,0X00,0X19,0X37,0XF9,0XFE,0X7F,0X87,0X81,0XC8,0X00,0X00,0X00,
0X00,0X00,0X06,0X46,0X1A,0X09,0XB7,0X72,0XD8,0XFF,0XF0,0X59,0XEC,0X00,0X00,0X00,
0X00,0X00,0X88,0X02,0XEF,0XFC,0XFB,0X12,0X33,0X1F,0XCE,0X1C,0X70,0X00,0X00,0X00,
0X00,0X00,0X81,0X97,0XFB,0XFF,0X7B,0XFF,0XB0,0X08,0XFF,0XC3,0X18,0X40,0X00,0X00,
0X00,0X00,0X03,0X88,0X07,0XFA,0X6D,0X8F,0XF0,0X59,0XFE,0X70,0X08,0X00,0X00,0X00,
0X00,0X00,0X78,0X30,0X07,0XF9,0X2E,0XFC,0XFF,0X9B,0XFF,0XFC,0X3C,0X30,0X00,0X00,
0X00,0X00,0X31,0X1E,0X3F,0XFD,0X27,0XDF,0X7F,0XE1,0X1F,0XFF,0XEF,0X10,0X00,0X00,
0X00,0X00,0X9C,0XC7,0XBF,0XFD,0XFC,0X87,0X37,0XBC,0X0D,0XFC,0X73,0X80,0X00,0X00,
0X00,0X00,0XFE,0XE1,0XE7,0XD7,0XDE,0XFF,0X76,0X3B,0XF0,0X06,0X1D,0XCC,0X00,0X00,
0X00,0X06,0X00,0XFC,0X63,0X8F,0X8F,0XFF,0XFF,0X1F,0XEC,0X03,0X86,0X60,0X00,0X00,
0X00,0X00,0X03,0XDC,0X1F,0XEF,0XDF,0XFF,0XFF,0XFF,0XE6,0X5E,0XC1,0XB0,0X00,0X00,
0X00,0X00,0X18,0X50,0X3F,0X3F,0XFF,0XFF,0XFF,0XF3,0XE3,0XFF,0XF0,0XF0,0X00,0X00,
0X00,0X00,0X00,0X51,0XE1,0XFF,0XFF,0XE7,0XFF,0XFF,0XBA,0X8F,0XFC,0X70,0X00,0X00,
0X00,0X00,0X80,0XC3,0X0F,0XFE,0X9F,0XFF,0X7F,0XFF,0XDE,0XE3,0XFC,0X38,0X00,0X00,
0X00,0X03,0X83,0XC2,0X7E,0X00,0X0F,0XFF,0XE3,0XFC,0XFB,0X70,0X7F,0X10,0X00,0X00,
0X00,0X06,0X0B,0X81,0XE3,0XFF,0XFF,0XFF,0XFD,0XFF,0X3F,0XBB,0XEF,0X8C,0X00,0X00,
0X00,0X00,0X0F,0X0F,0X1F,0XFF,0XFF,0XFF,0XFF,0XBF,0XD9,0XEB,0XFF,0XCC,0X00,0X00,
0X00,0X20,0X0E,0X1C,0XFF,0X7F,0XFC,0X9F,0XBF,0XF7,0XEE,0X7F,0X3D,0XFC,0X00,0X00,
0X00,0X00,0X7C,0X37,0XE0,0X3A,0X7F,0XFF,0XF3,0XFC,0X73,0X3F,0XDE,0XCE,0X00,0X00,
0X00,0X00,0XFC,0XDE,0X7F,0XFF,0XFF,0XFF,0XFC,0X3F,0X39,0XBC,0XC7,0XE7,0X00,0X00,
0X00,0X01,0XF9,0XF3,0XFF,0XFF,0XFF,0XFF,0XFF,0XCF,0X8E,0XCE,0X73,0XB3,0XC0,0X00,
0X00,0X8F,0XF3,0X4F,0XFF,0XFF,0XFF,0XFF,0XFF,0XC3,0XF6,0X6F,0X1B,0XF1,0XC0,0X00,
0X00,0X1F,0XE2,0X3E,0XFF,0XFF,0XFF,0X7F,0X8F,0XF8,0XFF,0X7C,0XEF,0XF9,0X30,0X00,
0X00,0X02,0X64,0X77,0XFF,0XFF,0XFF,0XFF,0XFA,0X7F,0X35,0XFE,0XE7,0XED,0X10,0X00,
0X00,0X08,0X69,0X8F,0XFF,0XFF,0XFF,0XFF,0XFF,0X1F,0X9F,0XDF,0XFF,0XFD,0X80,0X00,
0X08,0X03,0X43,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XE7,0XEE,0X4F,0X9F,0XFE,0X00,0X00,
0X08,0X26,0X56,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XF1,0XF7,0X6F,0XCE,0XF9,0X80,0X00,
0X01,0XFC,0X0C,0XFF,0XFF,0XFF,0XFF,0XFF,0XFD,0XFE,0XFB,0XBF,0XFE,0X6D,0XC0,0X00,
0X07,0XF8,0X09,0XC0,0XFF,0XFF,0XFF,0XFF,0X7F,0X3D,0X7F,0XBF,0XBF,0XF4,0X40,0X00,
0X1C,0X05,0X93,0X0F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFD,0X9F,0X9F,0XB7,0X20,0X00,
0X38,0X00,0X86,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0XFF,0XDF,0X8B,0X50,0X00,
0X60,0X20,0X8F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFB,0XFF,0XFF,0X7B,0XC5,0X0C,0X00,
0XC0,0X71,0X9B,0XC0,0XFF,0XFF,0XFF,0XC0,0X7B,0XFB,0XFF,0X7B,0XBF,0XF9,0X8E,0X00,
0XC8,0X03,0X96,0X00,0X3F,0XFF,0XFD,0X00,0X20,0X3D,0XFF,0XD3,0XBF,0XFC,0XC7,0X00,
0X88,0X03,0X94,0X07,0X1F,0XFF,0XF9,0X8C,0X00,0X36,0XFB,0XFF,0XFF,0XFF,0X63,0X00,
0X1A,0XC3,0X8C,0X07,0XDF,0X7F,0XF3,0XDE,0X1F,0XBE,0XF7,0XFF,0XFF,0XF2,0X20,0X80,
0X13,0X83,0X88,0X03,0XFF,0XFF,0XF7,0XFE,0XFF,0XFF,0XF7,0XFD,0X3F,0XFD,0XD0,0X40,
0X05,0X81,0X88,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0XBF,0XDB,0XFA,0X40,
0X85,0XC3,0X8D,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X7F,0XDF,0X9F,0X80,0X7D,0X20,
0X01,0X07,0X9D,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XBF,0XEF,0XD7,0X80,0X0C,0X80,
0XD4,0X87,0X8F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XBF,0XFF,0XDF,0X9F,0X8E,0X00,
0X5F,0X87,0X8F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X3F,0XFF,0XAF,0XFF,0XC7,0X84,
0XDF,0X87,0X8F,0XFF,0XE7,0XFF,0XFF,0XFF,0XFF,0XFF,0XBF,0XF7,0XFF,0XFF,0X61,0XE0,
0X15,0X03,0X9F,0XE8,0XE3,0XFF,0XFF,0XF8,0X01,0XFF,0X9F,0XFF,0XDF,0XFE,0XB0,0X78,
0X14,0X87,0X1F,0XFC,0X30,0X7F,0XFF,0XF9,0XD8,0XFF,0X9F,0XFF,0X7F,0XF7,0X1E,0X1E,
0X14,0X03,0X1F,0XEF,0XFC,0X7F,0XFF,0XFF,0XFC,0X3F,0XDF,0XFB,0XFF,0XFF,0XCF,0X07,
0X98,0XC7,0X1F,0XC7,0XFE,0X3F,0XFF,0XFC,0XFF,0X1F,0XDF,0XF3,0XDF,0XE7,0XE3,0XE1,
0X98,0X87,0X1F,0X80,0XFF,0X3F,0XFE,0XF0,0X1F,0XFF,0X0F,0XBB,0XFF,0XF8,0XF8,0XD9,
0X98,0X87,0X1F,0X0F,0X77,0X1F,0XF8,0XE1,0XF3,0XEF,0XCF,0XFB,0XFF,0XFE,0X7C,0X6C,
0X08,0X0B,0X1E,0X3E,0X43,0X1F,0XF8,0X07,0X80,0XEF,0XDF,0X7F,0XDF,0XFF,0X1E,0XFE,
0X08,0X86,0X1E,0X78,0X19,0X1F,0XF2,0X4F,0X02,0X7F,0XFB,0XE7,0XFF,0XF9,0XC3,0X8F,
0X18,0X86,0X1E,0X30,0X9B,0X1F,0XF7,0XFF,0X23,0X0E,0XFB,0XDF,0XFF,0XFD,0XF6,0XC7,
0X18,0X8E,0X1E,0X98,0X1B,0X3F,0XF7,0XBF,0X03,0XFF,0XE7,0X7F,0XFF,0XBE,0X73,0XB3,
0X18,0XCE,0X3F,0XD8,0X73,0X3F,0XE7,0XC7,0X03,0XFF,0XFD,0XF3,0XEF,0X9D,0X18,0XF9,
0X18,0X46,0X0E,0X7F,0XF7,0X7F,0XF7,0XCB,0X7E,0X7F,0XFF,0XF7,0XFF,0X2F,0XDE,0X6C,
0X58,0X04,0X2E,0X0F,0XEE,0X7F,0XFB,0X10,0X30,0X11,0XFF,0XFF,0XFF,0X0F,0XE7,0X34,
0X18,0X04,0X2C,0X80,0X1C,0X7F,0XFD,0X9C,0X06,0X38,0XFD,0XFD,0XFF,0XFD,0XFF,0X1E,
0X00,0X04,0X09,0X81,0XF8,0X7F,0XFF,0X87,0XFF,0XFC,0XFF,0XFD,0XFF,0XF0,0XFF,0X8E,
0X00,0X04,0X33,0XEF,0XF8,0X7F,0XC7,0XF3,0XFF,0XEF,0XFF,0XFF,0XF9,0XF0,0X39,0XCD,
0X00,0X00,0X73,0XBF,0XB8,0X7E,0XF7,0XF8,0X7B,0XCF,0XFF,0XFF,0XF9,0X7C,0X1F,0XE7,
0X00,0X00,0X7A,0X96,0X78,0X76,0XFF,0XFF,0X0F,0XC6,0X79,0XFB,0X3C,0X1E,0XC6,0XE7,
0X00,0X00,0X48,0X4E,0X78,0XFE,0XFF,0XFF,0XF8,0X70,0X79,0XFF,0XFF,0X1E,0XC1,0XF3,
0X00,0X00,0X59,0XFE,0X79,0XFE,0X7F,0XFC,0XFF,0X9E,0XBF,0XFB,0XFF,0X0E,0XF4,0XFF,
0X00,0X00,0X1B,0XEB,0X71,0XFF,0XBD,0XFF,0XFF,0XFF,0XFD,0XFF,0XEE,0X7C,0X42,0X7F,
0X00,0X00,0X3F,0X3F,0XF3,0XBF,0XBE,0X7F,0XFF,0XF7,0XF6,0XFF,0X0E,0X7E,0XE9,0X3B,
0X00,0X00,0X3F,0XFF,0XE3,0XF2,0XBF,0X3F,0XFF,0XFF,0XFF,0XFD,0X8C,0X7E,0X99,0XBB,
0X00,0X00,0X7F,0XFF,0XC7,0XF2,0X5F,0XDF,0XFF,0XFF,0XFF,0XFF,0X99,0XFC,0X9D,0XBB,
0X00,0X00,0X7E,0XDF,0XC7,0XFF,0XCD,0XFF,0XFF,0XBF,0XF4,0XFF,0X9B,0XFD,0XCC,0XDF,
0X00,0X00,0X7F,0XCF,0X4F,0XFF,0XC9,0XFF,0XFF,0XFF,0XFF,0XDF,0X19,0XBD,0XEE,0XDF,
0X00,0X00,0X7F,0XDE,0XCF,0XFF,0XC8,0XFF,0XFF,0XFF,0XFE,0XDE,0X1D,0XBD,0X6E,0X5F,
0X00,0X00,0X7F,0XAD,0XCF,0XFF,0XC8,0XFF,0XFF,0XFF,0XFF,0X7F,0X3F,0XFF,0XEE,0X3F,
0X00,0X00,0X7F,0XFD,0XDF,0XFF,0XCC,0X7F,0XFF,0XFF,0XF6,0X3E,0X1F,0XFC,0XF7,0X3F,
0X00,0X00,0X3F,0XF7,0X8F,0XFF,0XDE,0X7F,0XFF,0XFF,0XF6,0X7E,0X8F,0XFC,0XFF,0X3B,
0X00,0X00,0X3F,0XEF,0X8F,0XFF,0XFF,0X37,0XFF,0XFF,0XFE,0X7E,0XC3,0X7A,0X7B,0X3F,
0X00,0X00,0X3F,0X3F,0X07,0XFF,0XFF,0XBB,0XFF,0XFF,0XFF,0X7F,0XC3,0X73,0X3B,0X3B,
0X00,0X00,0X3F,0X3F,0X07,0XFF,0XFF,0XBD,0XFF,0XFF,0XFF,0X3F,0XCF,0XB7,0X3F,0X3F,
0X00,0X00,0X3E,0XFF,0X03,0XFE,0X03,0X3E,0XFF,0XFF,0X9F,0X3C,0XCF,0XAB,0XCE,0X3F,
0X00,0X00,0X3B,0XFF,0X01,0XF8,0XFC,0X7E,0X7F,0XFF,0XDF,0X3B,0X8F,0X9B,0XE6,0X3F,
0X00,0X00,0X39,0XFF,0XE0,0X01,0XFC,0XFF,0X3F,0XEF,0XFF,0X7B,0XDF,0XB3,0XFE,0X7B,
0X00,0X00,0X39,0XFE,0XF8,0X0F,0X9F,0XFF,0XBF,0XFF,0XFF,0X37,0X9F,0XB7,0X3F,0X7F,
0X00,0X00,0X31,0XFA,0X7F,0XFC,0XB7,0XFF,0XDF,0XFF,0XFE,0X3F,0X9F,0XA4,0X7F,0X7F,
0X00,0X00,0X3B,0XFE,0XFF,0XF0,0XF6,0XBF,0XCF,0XFF,0XFE,0X7F,0X9B,0X84,0X3B,0XFE,
0X00,0X00,0X31,0XFD,0XFF,0XF3,0XF7,0XE0,0XCF,0XFF,0XFF,0X7B,0X9B,0XCF,0X01,0XEE,
0X00,0X00,0X33,0XF1,0XFF,0XF7,0XFF,0XF6,0X77,0XF9,0XFE,0X7B,0XBF,0XDF,0X87,0XCF,
0X00,0X00,0X31,0XB7,0XFF,0XF7,0XFF,0XFE,0X7B,0XFB,0XFE,0X7F,0XBF,0XF0,0XFF,0X8F,
0X00,0X00,0X31,0XF7,0XBF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X7F,0X3F,0XF0,0XFF,0X84,
0X00,0X00,0X39,0XDF,0X7C,0X7F,0XB7,0XCF,0XA9,0XFF,0XFE,0X7F,0X3F,0X84,0XF7,0X85,
0X00,0X00,0X39,0X9B,0X71,0XFD,0XF7,0XFF,0X8D,0X7F,0XFC,0X7F,0X4F,0X00,0X1F,0X05,
0X00,0X00,0X3D,0XBF,0XFF,0XFF,0XEF,0X7F,0XFF,0XFD,0XFF,0X3F,0XC4,0X00,0X00,0X00,
0X00,0X00,0X1D,0X97,0XFB,0XFF,0XFD,0XFF,0XFF,0XFF,0XF7,0X7F,0XC0,0X00,0X00,0X00,
0X00,0X00,0X19,0XCD,0XFB,0XFF,0XE5,0XBF,0XDF,0XFF,0XFE,0X7F,0XE0,0X00,0X00,0X00,
0X00,0X00,0X1D,0XC1,0XFF,0XBF,0XE3,0X7F,0XBE,0X7F,0XFE,0X3F,0X80,0X00,0X00,0X00,
0X00,0X00,0X0D,0XE0,0X64,0X00,0X8F,0X39,0X7F,0XFF,0XFE,0X7F,0X80,0X00,0X00,0X00,
0X00,0X00,0X0C,0XF0,0X00,0X00,0X08,0X0F,0XEE,0XFF,0XFE,0X7F,0X80,0X00,0X00,0X00,
0X00,0X00,0X1C,0XF8,0X05,0X70,0X09,0X10,0X1E,0XFF,0XFE,0XFB,0X00,0X00,0X00,0X00,
0X00,0X00,0X0C,0XFE,0X0F,0XF9,0XBE,0XF0,0X5E,0XFF,0XFC,0XFA,0X00,0X00,0X00,0X00,
0X00,0X00,0X0E,0X7F,0X2E,0X6F,0XFF,0XE1,0XCC,0XF7,0XFC,0XF8,0X00,0X00,0X00,0X00,
0X00,0X00,0X0E,0X7F,0XCF,0XFB,0XFF,0XE3,0X31,0XF7,0XFD,0XF0,0X00,0X00,0X00,0X00,
0X00,0X00,0X07,0X3F,0XCF,0XF3,0XEF,0XC3,0XF9,0XE7,0XF9,0XF0,0X00,0X00,0X00,0X00,
0X00,0X00,0X07,0XBD,0XCF,0XF7,0XEF,0X4F,0XF9,0XEF,0XF9,0XE0,0X00,0X00,0X00,0X00,
0X00,0X00,0X03,0X9F,0XCF,0X79,0XCF,0X0F,0XF9,0XEF,0XFB,0XC0,0X00,0X00,0X00,0X00,
0X00,0X00,0X03,0XDF,0X8F,0XFF,0X8E,0X3C,0XF9,0XEF,0XF3,0X80,0X00,0X00,0X00,0X00,
0X00,0X00,0X01,0XCF,0XCF,0XED,0XCF,0X79,0XF9,0XEF,0XF7,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0XEF,0XCF,0X7C,0XDE,0X73,0XFD,0XCF,0XF7,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0XE7,0XCE,0X32,0XDC,0X67,0XFD,0XCF,0XEE,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X77,0XCF,0XD3,0XDE,0X4F,0X7D,0XCF,0XFC,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X77,0XC7,0XF7,0X1C,0XCF,0X7F,0XDF,0XF8,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X33,0XC7,0X77,0X18,0X9E,0X7F,0XDF,0XF0,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X3B,0XE7,0XF7,0XD9,0X3F,0XFF,0XDF,0X80,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X1B,0XE7,0XE7,0X39,0X7A,0XFF,0X9F,0X80,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X19,0XE7,0XF7,0X39,0XFF,0XFF,0XBF,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X0D,0XE3,0XE7,0X39,0XEF,0XFF,0XBE,0X00,0X00,0X00,0X00,0X00,0X02,
0X00,0X00,0X00,0X0D,0XE3,0XE6,0X73,0XFF,0XFF,0X7C,0X00,0X00,0X00,0X00,0X00,0X01,
0X00,0X00,0X00,0X06,0XF1,0XF4,0XF3,0XFF,0XFE,0X78,0X00,0X00,0X00,0X00,0X00,0X03,
0X00,0X00,0X00,0X06,0XF1,0XFF,0XE7,0XFF,0XFE,0XF0,0X00,0X00,0X00,0X00,0X00,0X11,
0X00,0X00,0X00,0X02,0X78,0XF7,0XC7,0XFF,0XFF,0XE0,0X00,0X00,0X00,0X00,0X00,0X27,
0X00,0X00,0X00,0X01,0X78,0XF7,0XCF,0XFF,0XFF,0XC0,0X00,0X00,0X00,0X00,0X00,0X3F,
0X00,0X00,0X00,0X00,0X3C,0X7F,0X9F,0XFF,0XFF,0X00,0X00,0X00,0X00,0X00,0X00,0X03,
0X00,0X00,0X00,0X00,0X1C,0X7F,0X9F,0XFF,0XFE,0X00,0X00,0X00,0X00,0X00,0X00,0X07,
0X00,0X00,0X00,0X00,0X0E,0X3F,0X3F,0XFF,0XF8,0X00,0X00,0X00,0X00,0X00,0X01,0XE7,
0X00,0X00,0X00,0X00,0X0F,0X0C,0X7F,0XFF,0XF0,0X00,0X00,0X00,0X00,0X00,0X01,0XAF,
0X00,0X00,0X00,0X00,0X07,0X80,0XFF,0XFF,0XE0,0X00,0X00,0X00,0X00,0X00,0X04,0X02,
0X00,0X00,0X00,0X00,0X03,0XC1,0XFF,0XFF,0XC0,0X00,0X00,0X00,0X00,0X00,0X02,0X0A,
0X00,0X00,0X00,0X00,0X01,0XFF,0XFF,0XFF,0X00,0X00,0X00,0X00,0X00,0X00,0X02,0XDB,
0X00,0X00,0X00,0X00,0X00,0XFF,0XFF,0XFE,0X00,0X00,0X00,0X00,0X00,0X00,0X16,0X9D,
0X00,0X00,0X00,0X00,0X00,0X7D,0XEF,0XF8,0X00,0X00,0X00,0X00,0X00,0X00,0X11,0XF5,
0X00,0X00,0X00,0X00,0X00,0X7F,0XFF,0XF0,0X00,0X00,0X00,0X00,0X00,0X00,0X63,0X33,
0X00,0X00,0X00,0X00,0X00,0X0F,0XFF,0XC0,0X00,0X00,0X00,0X00,0X00,0X00,0X7D,0XB3,
0X00,0X00,0X00,0X00,0X00,0X02,0XFF,0X80,0X00,0X00,0X00,0X00,0X00,0X01,0X1B,0XBB,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X8C,0X71,
0X00,0X00,0X00,0X00,0X00,0X01,0X04,0X00,0X00,0X00,0X00,0X00,0X00,0X06,0XDF,0X07,
0X00,0X00,0X00,0X00,0X63,0X01,0XFC,0X00,0X00,0X00,0X00,0X00,0X00,0X04,0XF9,0XEB,
0X00,0X00,0X00,0X00,0X23,0XF0,0X70,0X00,0X00,0X00,0X00,0X00,0X00,0X0D,0X53,0XE1,
0X00,0X00,0X00,0X00,0X67,0XF8,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X17,0X88,0X0D,
0X00,0X00,0X00,0X02,0X47,0XC1,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X07,0X9E,0XC9,
0X00,0X00,0X00,0X03,0X0E,0X03,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X03,0X9A,0X9B,
0X00,0X00,0X00,0X01,0X8C,0X0A,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X79,0X48,0X8B,
0X00,0X00,0X00,0X01,0X18,0X38,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0XFF,0X3D,0X83,
0X00,0X00,0X00,0X02,0X30,0XF0,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X3D,0X15,0X73,
0X00,0X00,0X00,0X0E,0X31,0XE0,0X00,0X00,0X00,0X00,0X00,0X00,0X05,0XEA,0X31,0XB7,
0X00,0X00,0X00,0X0F,0X27,0XC0,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0XEF,0X3F,0X4B,
0X00,0X00,0X00,0X0C,0X67,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X1B,0X17,0XE2,0X4D,
0X00,0X00,0X00,0X16,0X4E,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X11,0X75,0XAC,0XC7,
0X00,0X00,0X00,0X7E,0X5C,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0X7F,0XFD,0XFF,0XFF,
0X00,0X00,0X00,0X7F,0X38,0X00,0X00,0X00,0X00,0X00,0X00,0X03,0XFF,0XFF,0XFF,0XFF  
};

 

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

На RP2040 заработало, если смотреть под углом градусов в 45 (фон станет голубоватым), то выделение по контуру придаёт рисунку объём...

Фото барельефов будут идти отлично

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Продолжаю  поиски частоты CLK!
В файл Adafruit_SPITFT.h  добавил это:
 

#if defined(__AVR__)
#define DEFAULT_SPI_FREQ 8000000L ///< Hardware SPI default speed
#elif  ( defined(ARDUINO_NANO_RP2040_CONNECT) || defined(ARDUINO_RASPBERRY_PI_PICO) || defined(ARDUINO_ADAFRUIT_FEATHER_RP2040) || \
      defined(ARDUINO_GENERIC_RP2040) )
#define DEFAULT_SPI_FREQ 32000000L ///< Hardware SPI default speed RP2040
#else 
#define DEFAULT_SPI_FREQ 16000000L ///< Hardware SPI default spee
#endif

Вывожу в лупе в монитор порта - Serial.println(DEFAULT_SPI_FREQ);
Вижу:

32000000
32000000
32000000

А фактическая частота 400кГц, то-есть SPI работает не с дефолтными установками... ищем дальше )))

lilik
Offline
Зарегистрирован: 19.10.2017

ua6em пишет:

На RP2040 заработало, если смотреть под углом градусов в 45 ...

Добавил градиент и рельеф пошёл :)

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

lilik пишет:

ua6em пишет:

На RP2040 заработало, если смотреть под углом градусов в 45 ...

Добавил градиент и рельеф пошёл :)

можно свой логотип делать )))

lilik
Offline
Зарегистрирован: 19.10.2017

ua6em пишет:

lilik пишет:

ua6em пишет:

На RP2040 заработало, если смотреть под углом градусов в 45 ...

Добавил градиент и рельеф пошёл :)

можно свой логотип делать )))

Фантазия у меня не ах.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Симпатишно!!!
А я вот в поисках истины SPI залил пробный скетч (благо там изменений почти никаких делать не надо было) под ядром
Mbed OS RP2040 и, тактовая частота поднялась до порядка 600 килогерц, библиотеки те же
То-есть проблема точно в библиотеках, там низкая скорость устанавливается для этого чипа...скорее всего...

Komandir
Komandir аватар
Offline
Зарегистрирован: 18.08.2018

ua6em а отдебажить не получается ? Сдаётся мне что там через ногодрыг происходит вывод.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Komandir пишет:

ua6em а отдебажить не получается ? Сдаётся мне что там через ногодрыг происходит вывод.

я это умею только для Intel )))

Залил скетч под микроПитоном, там всё красиво, правда ПО Хантека пока еще сильно кривое, проверил до частоты 35 мегагерц, работает!!! Вот картинка для CLK 1 мегагерц - как в аптеке )))

ЗЫ крайняя частота SPI 62'499'999!!!

Komandir
Komandir аватар
Offline
Зарегистрирован: 18.08.2018

lilik вижу какие то лишние телодвижения у вас с setAddrWindow ...

/*!
  @brief  SPI displays set an address window rectangle for blitting pixels
  @param  x  Top left corner x coordinate
  @param  y  Top left corner x coordinate
  @param  w  Width of window
  @param  h  Height of window
*/
/**************************************************************************/
void Adafruit_ST77xx::setAddrWindow(uint16_t x, uint16_t y, uint16_t w,
                                    uint16_t h) {
  x += _xstart;
  y += _ystart;
  uint32_t xa = ((uint32_t)x << 16) | (x + w - 1);
  uint32_t ya = ((uint32_t)y << 16) | (y + h - 1);

  writeCommand(ST77XX_CASET); // Column addr set
  SPI_WRITE32(xa);

  writeCommand(ST77XX_RASET); // Row addr set
  SPI_WRITE32(ya);

  writeCommand(ST77XX_RAMWR); // write to RAM
}

Еще - почему везде стоит pushColor ?

/*!
    @brief  Essentially writePixel() with a transaction around it. I don't
            think this is in use by any of our code anymore (believe it was
            for some older BMP-reading examples), but is kept here in case
            any user code relies on it. Consider it DEPRECATED.
    @param  color  16-bit pixel color in '565' RGB format.
*/
void Adafruit_SPITFT::pushColor(uint16_t color) {
  startWrite();
  SPI_WRITE16(color);
  endWrite();
}

Один раз вызываем startWrite, потом в цикле вместо pushColor используем SPI_WRITE16 и в конце один раз вызываем endWrite.

lilik
Offline
Зарегистрирован: 19.10.2017
void Adafruit_ST7735::setAddrWindow(uint8_t x0, uint8_t y0, uint8_t x1,
 uint8_t y1) 
{
  writecommand(ST7735_CASET); // Column addr set
  writedata(0x00);
  writedata(x0+xstart);     // XSTART 
  writedata(0x00);
  writedata(x1+xstart);     // XEND

  writecommand(ST7735_RASET); // Row addr set
  writedata(0x00);
  writedata(y0+ystart);     // YSTART
  writedata(0x00);
  writedata(y1+ystart);     // YEND

  writecommand(ST7735_RAMWR); // write to RAM
}


void Adafruit_ST7735::pushColor(uint16_t color) 
{
#if defined (SPI_HAS_TRANSACTION)
  if (hwSPI)  SPI.beginTransaction(mySPISettings);
#endif

  DC_HIGH();
  CS_LOW();
  spiwrite(color >> 8);
  spiwrite(color);
  CS_HIGH();

#if defined (SPI_HAS_TRANSACTION)
  if (hwSPI)  SPI.endTransaction();
#endif
}

У меня функции такой вид имеют. Со вторым замечанием вроде понял - не надо на каждую пару байт цвета писать CS_LOW, CS_HIGH ?

 

Komandir
Komandir аватар
Offline
Зарегистрирован: 18.08.2018

я библиотеку смотрю свежую на гитхабе ...

beginTransaction endTransaction тоже ...

Если одно устройство начало вывод на экран - какой смысл его дергать ? Если много устройств на шине и всем нужно одновременно что то слать, тогда другое дело ...

andycat
andycat аватар
Offline
Зарегистрирован: 07.09.2017

нет конечно, задается координаты прямоугольника для заполнения и сплошным потоком дисплею массив цветов загоняется

lilik
Offline
Зарегистрирован: 19.10.2017

andycat пишет:

нет конечно, задается координаты прямоугольника для заполнения и сплошным потоком дисплею массив цветов загоняется

Ну да, не самый быстрый вариант, зато штатными функциями библиотеки. Но я два варианта || веду :) 

Komandir
Komandir аватар
Offline
Зарегистрирован: 18.08.2018

На одну полезную операцию вывода в порт SPI байтов цвета у вас прилипает десяток комплектов CALL PUSH POP RET, а это одни из самых долгих команд ...

lilik
Offline
Зарегистрирован: 19.10.2017

Komandir пишет:

На одну полезную операцию вывода в порт SPI байтов цвета у вас прилипает десяток комплектов CALL PUSH POP RET, а это одни из самых долгих команд ...

Попробую интуитивно по аналогии, как уже делал.

///

  SPI.beginTransaction(SPISettings(8000000, MSBFIRST, SPI_MODE0));
 digitalWrite(TFT_DC, HIGH);
 digitalWrite(TFT_CS, LOW);
 SPI.transfer(&lineBuf, 2*dispW);
 digitalWrite(TFT_CS, HIGH);
 SPI.endTransaction();

    ///

 

Komandir
Komandir аватар
Offline
Зарегистрирован: 18.08.2018

Это лучше уже ...

Вот вместо transfer и вставьте цикл вывода всей картинки заменив pushColor на два spiwrite

lilik
Offline
Зарегистрирован: 19.10.2017

Протестировал два варианта, новый и предыдущий, самый быстрый. Новый выиграл со счётом 9:8 :)

новый

// РИСУНОК
#include <Adafruit_GFX.h>    // Core graphics library
#include <Adafruit_ST7735.h> // Hardware-specific library
#include <SPI.h>
#define TFT_CS     10
#define TFT_RST    9  
#define TFT_DC     8
 Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS,  TFT_DC, TFT_RST);
extern const unsigned char ris_1[];
extern const unsigned char ris_2[];
int st=0;long Y=0;//

void setup(void) {
  // Используйте этот инициализатор, если вы используете 1,8-дюймовый TFT
 tft.initR(INITR_BLACKTAB);   // initialize a ST7735S chip, black tab
 tft.fillScreen(ST7735_BLACK);
 tft.setRotation(0);//ориентация экрана
 Serial.begin(9600);
 }
void loop() {
  
 if(millis()-Y>5000){Y=millis();Serial.println(st/5);st=0;}//число кадров в секунду
  
 drawBitmap_(0,0,ris_1,128,160,tft.Color565(255,255,255),tft.Color565(0,0,0));
 st++;
 drawBitmap_(0,0,ris_2,128,160,tft.Color565(255,155,100),tft.Color565(0,0,0));
 st++;
 }
/////////////////////////////////////////////////////////////////////
void drawBitmap_(int x,int y, const uint8_t *bitmap,int w,int h,const uint16_t color_1,const uint16_t color_2) {
 if(x<0||x+w>128||y<0||y+h>160){return;} 
 tft.setAddrWindow(x,y,x+w-1,y+h-1);
 int16_t i, j, byteWidth = (w + 7) / 8;
  uint8_t byte_;
  //
  SPI.beginTransaction(SPISettings(8000000, MSBFIRST, SPI_MODE0));
  digitalWrite(TFT_DC, HIGH);
  digitalWrite(TFT_CS, LOW); 
 for(j=0; j<h; j++) {
    for(i=0; i<w; i++) {
      if(i & 7) byte_ <<= 1;
      else      byte_   = pgm_read_byte(bitmap + j * byteWidth + i / 8);
      if(byte_ & 0x80)
      {
   // tft.pushColor(color_1 ); 
    SPI.transfer(color_1>> 8);
    SPI.transfer(color_1);
      }
     else {
   // tft.pushColor(color_2 );
    SPI.transfer(color_2>> 8);
    SPI.transfer(color_2);
     }
    }
  }
  digitalWrite(TFT_CS, HIGH);
  SPI.endTransaction();
 /// 
}
///////////////////////////////////////////////////////////////////// 

   

Быстрый:

//РИСУНОК
#include <Adafruit_GFX.h>    // Core graphics library
#include <Adafruit_ST7735.h> // Hardware-specific library

#include <SPI.h>

#define TFT_CS     10
#define TFT_RST    9
#define TFT_DC     8

Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS,  TFT_DC, TFT_RST);

extern const unsigned char ris_1[];
extern const unsigned char ris_2[];
int st=0;long Y=0;//

void setup() {
  // put your setup code here, to run once:
  // Используйте этот инициализатор, если вы используете 1,8-дюймовый TFT
  tft.initR(INITR_BLACKTAB);   // initialize a ST7735S chip, black tab
  tft.fillScreen(ST7735_BLACK);
  tft.setRotation(0);//ориентация экрана
Serial.begin(9600);
}

void loop() {
 if(millis()-Y>5000){Y=millis();Serial.println(st/5);st=0;}//число кадров в секунду
  
  drawBitmap_(0,0,ris_1,128,160,tft.Color565(255,255,255),tft.Color565(0,0,0));
 st++;
 // delay(2000);
  drawBitmap_(0,0,ris_2,128,160,tft.Color565(255,155,100),tft.Color565(0,0,0));
 // delay(2000);
 st++;
}
/////////////////////////////////////////////////////////////////////////////////////////
void drawBitmap_(int x,int y, const uint8_t *bitmap,int16_t W ,int16_t H,const uint16_t color_1,const uint16_t color_2) {
 if(x<0||x+W>128||y<0||y+H>160){return;} 
 unsigned char  lineBuf[W*2 ]; 
  int16_t i, j, byteWidth = (W + 7) / 8;
  uint8_t byte;
  for (unsigned short j = 0; j < H; j++) {
    for (unsigned short i = 0; i < W; ++i) {
       if(i & 7) byte <<= 1;
      else      byte   = pgm_read_byte(bitmap + j * byteWidth + i / 8);
     if(byte & 0x80)
     {
          lineBuf[i*2 ] =color_1/256 ; lineBuf[i * 2 + 1] =color_1%256 ; // один цвет
      // lineBuf[i*2 ] =tft.Color565((1.6)*(j%H),200-(200/W)*(i%W),(255/W)*(i%W))/256;lineBuf[i*2+1 ] =tft.Color565((1.6)*(j%H),200-(200/W)*(i%W),(255/W)*(i%W))%256;
        } else {
          lineBuf[i*2 ] =color_2/256 ; lineBuf[i * 2 + 1] =color_2%256 ; // второй цвет
       // lineBuf[i*2 ] =tft.Color565(50,50,50)/256;lineBuf[i*2+1 ] =tft.Color565(50,50,50)%256;
        }
    }
    
    tft.setAddrWindow(x+0, y+j, x+W-1, y+j);
    ///
    SPI.beginTransaction(SPISettings(8000000, MSBFIRST, SPI_MODE0));
    digitalWrite(TFT_DC, HIGH);
    digitalWrite(TFT_CS, LOW);
    SPI.transfer(&lineBuf, 2*W);
    digitalWrite(TFT_CS, HIGH);
    SPI.endTransaction();
    ///
  }
  
}
//////////////////////////////////////////////////////////////////////////////////////

 

lilik
Offline
Зарегистрирован: 19.10.2017

Ну и буфера в дин.памяти  для строки ему не надо.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

для микроПитона  фактическая скорость SPI шины в 23 мегагерца видимо предел, не удалось повысить даже разгоном процессора до 250 мегагерц (точнее до 273, далее модуль встряёт)

Komandir
Komandir аватар
Offline
Зарегистрирован: 18.08.2018

Думаю это предел скорости переключения выходных ключей.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

А на С++ оверклокать вроде можно аж до 300 мегагерц, оценивал только по работающему или нет дисплею, скорость шины SPI снижал значительно, на порядок...
Осталось найти где в драйверах задаётся скорость шины, под микропитоном при инициализации SPI прямо в строке инициализации

коды цветов

/* 
 * BLACK = 0 
 * RED = TFTColor(0xFF, 0x00, 0x00)  
 * MAROON = TFTColor(0x80, 0x00, 0x00)  
 * ORANGE = TFTColor(0xFF,0x66,0x00)  
 * GOLD = TFTColor(0x80, 0x80, 0x80)  
 * GREEN = TFTColor(0x00, 0xFF, 0x00)  
 * FOREST = TFTColor(0x00, 0x80, 0x80)  
 * BLUE = TFTColor(0x00, 0x00, 0xFF)  
 * NAVY = TFTColor(0x00, 0x00, 0x80)  
 * CYAN = TFTColor(0x00, 0xFF, 0xFF)  
 * YELLOW = TFTColor(0xFF, 0xFF, 0x00)  
 * PURPLE = TFTColor(0xFF, 0x00, 0xFF)  
 * WHITE = TFTColor(0xFF, 0xFF, 0xFF)  
 * GRAY = TFTColor(0x80, 0x80, 0x80) 
 */

 

Komandir
Komandir аватар
Offline
Зарегистрирован: 18.08.2018

Тогда может и дисплей тонет в потоке ...

lilik
Offline
Зарегистрирован: 19.10.2017

А просто оценить скорость SPI, по факту? 9 картинок в 1 сек, 160*128 пикселей, по 2 байта, по 8 бит...

andycat
andycat аватар
Offline
Зарегистрирован: 07.09.2017

ua6em пишет:

для микроПитона  фактическая скорость SPI шины в 23 мегагерца видимо предел, 

есть куда стремиться:

For example, at the maximum SSPCLK (clk_peri) frequency on RP2040 of 133MHz, the maximum peak bit rate in
master mode is 62.5Mbps. This is achieved with the SSPCPSR register programmed with a value of 2, and the SCR[7:0]
field in the SSPCR0 register programmed with a value of 0.

 

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

andycat пишет:

ua6em пишет:

для микроПитона  фактическая скорость SPI шины в 23 мегагерца видимо предел, 

есть куда стремиться:

For example, at the maximum SSPCLK (clk_peri) frequency on RP2040 of 133MHz, the maximum peak bit rate in
master mode is 62.5Mbps. This is achieved with the SSPCPSR register programmed with a value of 2, and the SCR[7:0]
field in the SSPCR0 register programmed with a value of 0.

я не знаю как это сделать, особенно в питоне это раз, во вторых и стандартными средствами ардуино на этой библиотеке (Adafruit_ST7735) через костыли (правил параметры хардового SPI) добиться реальной скорости свыше 12MHz не удалось...

Картинко кликабельна...

lilik
Offline
Зарегистрирован: 19.10.2017

Я вот подумал о написанном... действительно удалось существенно увеличить скорость вывода в область экрана, фактически отказавшись от штатных функций библиотеки. Но именно вывод "пикселя в пиксель экрана" основа использования функций графических примитивов. Посмотрел ещё раз цепочку его реализации... многократные открытия-закрытия сеанса передачи данных в функциях цепочки. То есть можно применить подход и свести к последовательности SPI.transfer(c); в одном сеансе?

andycat
andycat аватар
Offline
Зарегистрирован: 07.09.2017

Не, все зависит от задачи, функция закраски одного пикселя неким цветом она не так часто используется.
Более распространено например вывод символа, или прямоугольника или спрайта и т д.
Соответственно выкидываются все эти биьлиотечные функцию, берём логику/напрягает мозг + математика =готовим некий буфер его подготавливаем к выводу и тупо по spi кидаем весь массив /часть экрана, чем сильно ускоряем работу.