oled displey

Files at this revision

API Documentation at this revision

Comitter:
docent
Date:
Tue Jul 23 12:32:26 2019 +0000
Commit message:
for my students

Changed in this revision

TroykaOLED.cpp Show annotated file Show diff for this revision Revisions of this file
TroykaOLED.h Show annotated file Show diff for this revision Revisions of this file
defaultFonts.h Show annotated file Show diff for this revision Revisions of this file
defaultImages.h Show annotated file Show diff for this revision Revisions of this file
diff -r 000000000000 -r cd4a2add97a0 TroykaOLED.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TroykaOLED.cpp	Tue Jul 23 12:32:26 2019 +0000
@@ -0,0 +1,836 @@
+/****************************************************************************/
+//  Function:       Cpp file for TroykaOLED
+//  Hardware:       SSD1306
+//  Arduino IDE:    Arduino-1.8.5
+//  Author:         Igor Dementiev
+//  Date:           NOV 10,2018
+//  Version:        v1.0.0
+//  by www.amperka.ru
+/****************************************************************************/
+
+#include "TroykaOLED.h"
+#define pgm_read_byte * //my
+TroykaOLED::TroykaOLED (I2C *i2c,uint8_t i2cAddress, uint8_t width, uint8_t height):
+        _wire(i2c) 
+{
+    _i2cAddress = i2cAddress;
+    _width = width;
+    _height = height;
+    _bufferDisplay = new uint8_t[_width * _height / 8];
+    _stateInvert = false;
+    _stateAutoUpdate = true;
+    _stateImageBG = true;
+    _codingName = TXT_UTF8;
+}
+
+void TroykaOLED::begin() {
+  _font.width=0;
+  _font.height=0;
+  _font.firstSymbol=0;
+  _font.sumSymbol=0;
+  _font.invert=false;
+  _font.background= true;  
+  _font.setFont= false;
+//    _wire = wire;
+    // инициируем I²C
+//    _wire->begin();
+
+    // выключаем дисплей
+    _sendCommand(SSD1306_DISPLAY_OFF);
+    // устанавливаем частоту обновления дисплея в значение 0x80 (по умолчанию)
+    _sendCommand(SSD1306_SET_DISPLAY_CLOCK);
+    _sendCommand(0x80);
+    // устанавливаем multiplex ratio (коэффициент мультиплексирования COM выводов) в значение 0x3F (по умолчанию)
+    _sendCommand(SSD1306_SET_MULTIPLEX_RATIO);
+    _sendCommand(0x3F);
+    // устанавливаем смещение дисплея в 0 (без смещения)
+    _sendCommand(SSD1306_SET_DISPLAY_OFFSET);
+    _sendCommand(0x00);
+    // устанавливаем смещение ОЗУ в значение 0 (без смещения)
+    _sendCommand(SSD1306_SET_START_LINE | 0);
+    // настраиваем схему питания (0x14 - включить внутренний DC-DC преобразователь, 0x10 - отключить внутренний DC/DC)
+    _sendCommand(SSD1306_CHARGE_DCDC_PUMP);
+    _sendCommand(0x14);
+    // устанавливаем режим автоматической адресации (0x00-горизонтальная, 0x01-вертикальная, 0x10-страничная)
+    _sendCommand(SSD1306_ADDR_MODE);
+    _sendCommand(0x00);
+    // устанавливаем режим строчной развертки (слева/направо)
+    _sendCommand(SSD1306_SET_REMAP_L_TO_R);
+    // устанавливаем режим кадровой развертки (сверху/вниз)
+    _sendCommand(SSD1306_SET_REMAP_T_TO_D);
+    // устанавливаем аппаратную конфигурация COM выводов в значение 0x12 (по умолчанию)
+    _sendCommand(SSD1306_SET_COM_PINS);
+    _sendCommand(0x12);
+    // устанавливаем контрастность в значение 0xCF (допустимы значения от 0x00 до 0xFF)
+    _sendCommand(SSD1306_SET_CONTRAST);
+    _sendCommand(0xFF);
+    // настраиваем схему DC/DC преобразователя (0xF1 - Vcc снимается с DC/DC преобразователя, 0x22 - Vcc подается извне)
+    _sendCommand(SSD1306_SET_PRECHARGE_PERIOD);
+    _sendCommand(0xF1); 
+    // устанавливаем питание светодиодов VcomH в значение выше чем по умолчанию: 0x30
+    // это увеличит яркость дисплея
+    // допустимые значения: 0x00, 0x10, 0x20, 0x30, 0x40, 0x50, 0x60, 0x70
+    _sendCommand(SSD1306_SET_VCOM_DESELECT);
+    _sendCommand(0x40); 
+    // разрешаем отображать содержимое RAM памяти
+    _sendCommand(SSD1306_RAM_ON);
+    // отключаем инверсию
+    _sendCommand(SSD1306_INVERT_OFF);
+    // включаем дисплей
+    _sendCommand(SSD1306_DISPLAY_ON);
+    // чистим экран
+    clearDisplay();
+}
+
+void TroykaOLED::update() {
+    _sendBuffer();
+}
+
+void TroykaOLED::autoUpdate(bool stateAutoUpdate) {
+    _stateAutoUpdate = stateAutoUpdate;
+}
+
+void TroykaOLED::setBrigtness(uint8_t brigtness) {
+    _sendCommand(SSD1306_SET_CONTRAST);
+    _sendCommand(brigtness);
+}
+
+void TroykaOLED::clearDisplay() {
+    memset(_bufferDisplay, 0, _width * _height / 8);
+
+    if(_stateAutoUpdate) {
+        _sendBuffer();
+    }
+}
+
+void TroykaOLED::invertDisplay(bool stateInvert) {
+    if(stateInvert) {
+        _stateInvert = true;
+        _sendCommand(SSD1306_INVERT_ON);
+    } else {
+        _stateInvert = false;
+        _sendCommand(SSD1306_INVERT_OFF);
+    }
+}
+
+void TroykaOLED::invertText (bool stateInvertText) {
+    _font.invert = stateInvertText;
+}
+
+void TroykaOLED::bgText (bool stateTextBG) {
+    _font.background = stateTextBG;
+}
+
+void TroykaOLED::bgImage (bool stateImageBG) {
+    _stateImageBG = stateImageBG;
+}
+
+void TroykaOLED::setFont(const uint8_t* fontData) {
+    // сохраняем указатель на первый байт массива в области памяти программ
+    _font.fontData = fontData;
+    //  сохраняем ширину символов выбранного шрифта читая её из 0 байта массива по указателю fontData
+    _font.width = pgm_read_byte(&fontData[0]);
+    // сохраняем высоту символов выбранного шрифта читая её из 1 байта массива по указателю fontData
+    _font.height = pgm_read_byte(&fontData[1]);
+    // сохраняем код первого симола выбран. шрифта читая его из 2 байта массива по указателю fontData
+    _font.firstSymbol = pgm_read_byte(&fontData[2]);
+    // сохраняем количество символов в выбр шрифте читая их  из 3 байта массива по указателю fontData
+    _font.sumSymbol = pgm_read_byte(&fontData[3]);
+    //  устанавливаем флаг выбора шрифта
+    _font.setFont = true;
+    // определяем позицию бита указывающего количество пустых интервалов в массиве шрифта.
+    uint16_t i = (uint16_t) _font.sumSymbol * _font.width * _font.height / 8 + 0x04;
+    // определяем количество пустых интервалов в массиве шрифта.
+    uint16_t j = pgm_read_byte(&fontData[i]);
+    // указываем что первый пустой интервал в массиве шрифта находится после символа с кодом (0xFF) и состоит из 0 символов
+    _font.startSpace[0] = 0xFF;
+    _font.sumSpace[0] = 0;
+    // указываем что второй пустой интервал в массиве шрифта находится после символа с кодом (0xFF) и состоит из 0 символов
+    _font.startSpace[1] = 0xFF;
+    _font.sumSpace[1] = 0;
+    // указываем что третий пустой интервал в массиве шрифта находится после символа с кодом (0xFF) и состоит из 0 символов
+    _font.startSpace[2] = 0xFF;
+    _font.sumSpace[2] = 0;
+    // если количество пустых интервалов больше 0
+    // сохраняем начало первого пустого интервала символов и размер первого пустого интервала символов
+    if (j > 0) {
+        _font.startSpace[0] = pgm_read_byte(&fontData[i + 1]);
+        _font.sumSpace[0] = pgm_read_byte(&fontData[i + 2]);
+    }
+    // если количество пустых интервалов больше 1
+    // сохраняем начало второго пустого интервала символов и размер второго пустого интервала символов
+    if (j > 1) {
+        _font.startSpace[1] = pgm_read_byte(&fontData[i + 3]);
+        _font.sumSpace[1] = pgm_read_byte(&fontData[i + 4]);
+    }
+    // если количество пустых интервалов больше 2
+    // сохраняем начало третьего пустого интервала символов и размер третьего пустого интервала символов
+    if (j > 2) {
+        _font.startSpace[2] = pgm_read_byte(&fontData[i + 5]);
+        _font.sumSpace[2] = pgm_read_byte(&fontData[i + 6]);
+    }
+}
+
+void TroykaOLED::setCoding(uint8_t codingName) {
+    _codingName = codingName;
+}
+
+void TroykaOLED::setCursor(int numX, int numY) {
+    if(numX < _width) {
+        _numX = numX;
+    }
+    if(numY < _height) {
+        _numY = numY;
+    }
+}
+
+void TroykaOLED::print(char* data, int x, int y) {
+    _print(_codingCP866(data), x, y);
+}
+/*
+void TroykaOLED::print(String str, int x, int y) {
+    char data[str.length() + 1];
+    str.toCharArray(data, str.length() + 1);
+    _print(_codingCP866(data), x, y);
+}
+*/
+void TroykaOLED::print(const char* str, int x, int y) {
+    char data[strlen(str) + 1];
+    for (uint8_t i = 0; i <= strlen(str); i++) {
+        data[i] = str[i];
+    }
+    _print(_codingCP866(data), x, y);
+}
+
+void TroykaOLED::print(int8_t num, int x, int y, uint8_t base) {
+    print(int32_t(num), x, y, base);
+}
+
+void TroykaOLED::print(uint8_t num, int x, int y, uint8_t base) {
+    print(uint32_t(num), x, y, base);
+}
+
+void TroykaOLED::print(int16_t num, int x, int y, uint8_t base) {
+    print(int32_t(num), x, y, base);
+}
+
+void TroykaOLED::print(uint16_t num, int x, int y, uint8_t base) {
+    print(uint32_t(num), x, y, base);
+}
+
+void TroykaOLED::print(int32_t num, int x, int y, uint8_t base) {
+    // определяем количество разрядов числа
+    // i = количество разрядов + 2, j = множитель кратный основанию системы счисления
+    int8_t i = 2;
+    int32_t j = 1;
+    while (num / j) {
+        j *= base;
+        i++;
+    }
+    // создаём строку k из i символов и добавляем символ(ы) конца строки
+    char k[i];
+    i--;
+    k[i] = 0;
+    i--;
+    if(num > 0) {
+        k[i] = 0;
+        i--;
+    }
+    // создаём строку k из i символов и добавляем символ(ы) конца строки
+    uint32_t n = num < 0 ? num*-1 : num;
+    while (i) {
+        k[i]=_itoa(n % base);
+        n /= base; i--;
+    }
+    // заполняем строку k
+    if (num >= 0) { 
+        k[i]=_itoa(n % base);
+    } else { 
+        k[i]='-';
+    }
+    //  добавляем первый символ (либо первая цифра, либо знак минус)
+    //  выводим строку k
+    print(k, x, y);                                                                                             
+}
+
+void TroykaOLED::print(uint32_t num, int x, int y, uint8_t base) {
+    // определяем количество разрядов числа
+    // i = количество разрядов + 1, j = множитель кратный основанию системы счисления
+    int8_t i = 1;
+    uint32_t j = 1;
+    while (num / j) {
+        j *= base; 
+        i++;
+    }
+    if (num == 0) {
+        i++;
+    }
+    // определяем строку k из i символов и заполняем её
+    char k[i];
+    i--;
+    k[i] = 0;
+
+    while(i) {
+        k[i - 1] = _itoa(num % base);
+        num /= base;
+        i--;
+    }
+    // выводим строку k
+    print(k, x, y);
+}
+
+void TroykaOLED::print(double num, int x, int y, uint8_t sum) {
+    uint32_t i = 1, j = 0, k = 0;
+    j = sum;
+    while (j) {
+        i *= 10;
+        j--;
+    }
+    // выводим целую часть числа
+    print(int32_t(num), x, y);
+    // если требуется вывести хоть один знак после запятой, то ...
+    if (sum) {
+        //  выводим символ разделителя
+        print(".");
+        // получаем целое число, которое требуется вывести после запятой
+        j = num * i * (num < 0 ? -1 : 1);
+        j %= i;
+        k = j;
+        // если полученное целое число равно нулю, то выводим sum раз символ «0»
+        if (j == 0) {
+            while(sum) {
+                print("0");
+                sum--;
+            }
+        } else {
+            // иначе, если в полученном целом числе меньше разрядов чем требуется
+            // заполняем эти разряды выводя символ «0», после чего выводим само число
+            while (j * 10 < i) {
+                print("0");
+                j *= 10;
+            }
+            print(k);
+        }
+    }
+}
+
+void TroykaOLED::drawPixel(int x, int y, uint8_t color) {
+    _drawPixel(x, y, color);
+        if(_stateAutoUpdate) {
+        _sendBuffer();
+    }
+    _numX = x;
+    _numY = y;
+}
+
+void TroykaOLED::drawLine(int x1, int y1, int x2, int y2, uint8_t color) {
+    _drawLine(x1, y1, x2, y2, color);
+    if(_stateAutoUpdate) {
+        _sendBuffer();
+    }
+    _numX = x2; 
+    _numY = y2;
+}   
+
+void TroykaOLED::drawLine(int x2, int y2, uint8_t color) {
+    drawLine(_numX, _numY, x2, y2, color);
+}
+
+void TroykaOLED::drawRect(int x1, int y1, int x2, int y2, bool fill, uint8_t color) {
+    if (fill) { 
+        if (x1 < x2) {
+            for (int x = x1; x <= x2; x++) {
+                _drawLine(x,y1,x,y2,color);
+            }
+        } else {
+            for (int x = x1; x >= x2; x--) {
+                _drawLine(x,y1,x,y2,color);
+            }
+        }
+    } else {
+        _drawLine(x1, y1, x2, y1, color);
+        _drawLine(x2, y2, x2, y1, color);
+        _drawLine(x2, y2, x1, y2, color);
+        _drawLine(x1, y1, x1, y2, color);
+    }
+    if(_stateAutoUpdate) {
+        _sendBuffer();
+    }
+    _numX = x2;
+    _numY = y2;
+}
+
+void TroykaOLED::drawCircle(int x, int y, uint8_t r, bool fill, uint8_t color) {
+    // x1,y1 - положительные координаты точек круга с центром 00
+    // p - отрицательная парабола
+    int x1 = 0, y1 = r, p = 1 - r;
+    // цикл будет выполняться пока координата x не станет чуть меньше y
+    // прочертит дугу от 0 до 45° - это 1/8 часть круга
+    while (x1 < y1 + 1) {
+        if (fill) {
+            // прорисовываем горизонтальные линии вверху круга (между точками 3 и 1 дуг)
+            _drawLine(x - x1, y - y1, x + x1, y - y1, color);
+            // прорисовываем горизонтальные линии внизу  круга (между точками 4 и 2 дуг)                                                                   
+            _drawLine(x - x1, y + y1, x + x1, y + y1, color);
+            // прорисовываем горизонтальные линии выше середины круга (между точками 7 и 5 дуг)
+            _drawLine(x - y1, y - x1, x + y1, y - x1, color);
+            // прорисовываем горизонтальные линии выше середины круга (между точками 8 и 6 дуг)
+            _drawLine(x - y1, y + x1, x + y1, y + x1, color);
+        } else {
+            // 1 дуга 0° - 45° (построенная в соответствии с уравнением)
+            _drawPixel(x + x1, y - y1, color);
+            // 2 дуга 180° - 135° (1 дуга отражённая по вертикали)
+            _drawPixel(x + x1, y + y1, color);
+            // 3 дуга 360° - 315° (1 дуга отражённая по горизонтали)
+            _drawPixel(x - x1, y - y1, color);
+            // 4 дуга 180° - 225° (2 дуга отражённая по горизонтали)
+            _drawPixel(x - x1, y + y1, color);
+            // 5 дуга  90° - 45°  (2 дуга повёрнутая на -90°)
+            _drawPixel(x + y1, y - x1, color);
+            // 6 дуга  90° - 135° (1 дуга повёрнутая на +90°)
+            _drawPixel(x + y1, y + x1, color);
+            // 7 дуга 270° - 315° (1 дуга повёрнутая на -90°)
+            _drawPixel(x - y1, y - x1, color);
+            // 8 дуга 270° - 225° (2 дуга повёрнутая на +90°)
+            _drawPixel(x - y1, y + x1, color);
+        }
+        // если парабола p вышла в положительный диапазон  
+        if(p >= 0) {
+            // сдвигаем её вниз на y1 * 2 (каждый такой сдвиг провоцирет смещение точки y1 первой дуги вниз)
+            y1--; 
+            p -= y1 * 2;
+        }
+        // с каждым проходом цикла, смещаем точку x1 первой дуги влево и находим новую координату параболы p
+        p++;
+        x1++;
+        p += x1 * 2;
+    }
+    if(_stateAutoUpdate) {
+        _sendBuffer();
+    }
+    _numX = x;
+    _numY = y;
+}
+
+bool TroykaOLED::bitRead(uint8_t data, uint8_t bit)
+{
+   uint8_t b;
+   b=(data>>bit)&1;
+   if(b)
+        return true;
+   else
+        return false;         
+}    
+
+void TroykaOLED::drawImage(const uint8_t* image, int x, int y, uint8_t mem) {
+    uint8_t w = getImageWidth(image, mem);
+    uint8_t h = getImageHeight(image, mem);
+    bool color;
+    // колонка с которой требуется начать вывод изображения ...
+    switch(x) {
+        // определяем начальную колонку для выравнивания по левому краю                                                                                         
+        case OLED_LEFT:
+            _numX = 0;          
+            break;
+        // определяем начальную колонку для выравнивания по центру
+        case OLED_CENTER:
+            _numX = (_width - w) / 2;
+            break;
+        //  определяем начальную колонку для выравнивания по правому краю
+        case OLED_RIGHT:
+            _numX = _width - w;
+            break;  
+        // начальной колонкой останется та, на которой был закончен вывод предыдущего текста или изображения                                                                
+        case OLED_THIS:
+            _numX = _numX;
+            break;
+        //  начальная колонка определена пользователем
+        default:
+            _numX = x;
+            break;
+    }
+    // строка с которой требуется начать вывод изображения ...  
+    switch(y) {
+        // определяем начальную строку для выравнивания по верхнему краю
+        case OLED_TOP:
+            _numY = h - 1;
+            break;
+        // определяем начальную строку для выравнивания по центру
+        case OLED_CENTER: 
+            _numY = (_height - h) / 2;
+            break;
+        // определяем начальную строку для выравнивания по нижнему краю
+        case OLED_BOTTOM:
+            _numY = _height - 1;
+            break;
+        // начальной строкой останется та, на которой выведен предыдущий текст или изображение
+        case OLED_THIS:
+            _numY = _numY;
+            break;
+        // начальная строка определена пользователем
+        default:
+            _numY = y;
+            break;
+    }
+    // проходим по страницам изображения...
+    for (uint8_t p = 0; p < h; p++) {
+        // проходим по колонкам  изображения...
+        for (uint8_t k = 0; k < w; k++) {
+            // если массив изображения находится в памяти ОЗУ
+           if (mem == IMG_RAM) {
+                // получаем цвет очередного пикселя из p % 8 бита
+                // 2 + (p / 8 * w) + k байта, массива image
+                color = bitRead(image[2 + (p / 8 * w) + k], p % 8);
+            } else if (mem == IMG_ROM) {
+                // если массив изображения находится в памяти ПЗУ
+                // получаем цвет очередного пикселя из p % 8 бита
+                // 2 + (p / 8 * w) + k байта, массива image
+                color = bitRead(pgm_read_byte(&image[2 + (p / 8 * w) + k]), p % 8);
+            }
+            // если у изображения есть фон или цвет пикселя белый
+            if (_stateImageBG || color) {
+                // прорисовываем пиксель в координате (_numX + k, _numY + p)
+                _drawPixel( _numX + k, _numY + p, color);
+            }
+        }
+    }
+    // добавляем ширину изображения к координате _numX
+    _numX += w;
+    if(_stateAutoUpdate) {
+        _sendBuffer();
+    }
+}
+
+bool TroykaOLED::getPixel(int x, int y) {
+    if(x < 0 || x > _height - 1 || y < 0 || y > _width - 1) {
+        return 0;
+    }
+    // определяем номер байта массива _bufferDisplay в котором находится пиксель
+    uint16_t numByte = (y / 8 * 128) + x;
+    // определяем номер бита в найденном байте, который соответсвует искомому пикселю
+    uint8_t  numBit = y % 8;
+    // возвращаем цвет пикселя из бита numBit элемента numByte массива _bufferDisplay
+    return bitRead(_bufferDisplay[numByte], numBit);
+}
+
+uint8_t TroykaOLED::getImageWidth(const uint8_t* image, uint8_t mem) {
+    // возвращаем ширину изображения
+    return (mem == IMG_RAM) ? image[0] : pgm_read_byte(&image[0]);
+}
+
+uint8_t TroykaOLED::getImageHeight(const uint8_t* image, uint8_t mem) {
+    // возвращаем высоту изображения
+    return (mem == IMG_RAM) ? image[1] : pgm_read_byte(&image[1]);
+}
+
+void TroykaOLED::_print(char* data, int x, int y) {
+    // если шрифт не выбран или его высота не кратна 8 пикселям, то выходим из функции
+    if (_font.setFont == false || _font.height % 8 > 0) {
+        return;
+    }
+    // определяем количество колонок которое занимают выводимые символы
+    uint16_t len = strlen(data) * _font.width;
+    if (len > _width) {
+        len = _width / _font.width * _font.width;
+    }
+    // объявляем переменную для хранения номера байта в массиве шрифта
+    uint16_t num;
+    // объявляем переменные для хранения координат точек
+    int x1, y1;
+    // объявляем переменную для хранения цвета точек
+    bool c;
+    // колонка с которой требуется начать вывод текста ...
+    switch (x) {
+        // определяем начальную колонку для выравнивания по левому краю.
+        case OLED_LEFT: 
+            _numX = 0;
+            break;
+        // определяем начальную колонку для выравнивания по центру
+        case OLED_CENTER:
+            _numX = (_width - len) / 2;
+            break;
+        // определяем начальную колонку для выравнивания по правому краю
+        case OLED_RIGHT:
+            _numX = _width - len;
+            break;
+        // начальной колонкой останется та, на которой был закончен вывод предыдущего текста или изображения
+        case OLED_THIS: 
+            _numX = _numX;
+            break;
+        // начальная колонка определена пользователем
+        default:
+            _numX = x;
+            break;
+    }
+    // строка с которой требуется начать вывод текста ...
+    switch (y) {
+        // определяем начальную строку для выравнивания по верхнему краю
+        case OLED_TOP:
+            _numY = _font.height - 1;
+            break;
+        // определяем начальную строку для выравнивания по центру
+        case OLED_CENTER:
+            _numY = (_height - _font.height) / 2 + _font.height;
+            break;
+        // определяем начальную строку для выравнивания по нижнему краю
+        case OLED_BOTTOM:
+            _numY = _height;
+            break;
+        // начальной строкой останется та, на которой выведен предыдущий текст или изображение
+        case OLED_THIS:
+            _numY = _numY;
+            break;
+        // начальная строка определена пользователем
+        default:
+            _numY = y;
+            break;
+    }
+    // пересчитываем количество колонок которое занимают выводимые символы, с учётом начальной позиции
+    if (_numX + len > _width) {
+        len = (_width - _numX) / _font.width * _font.width;
+    }
+    // проходим по страницам символов...                                            
+    for (int8_t p = 0; p < _font.height / 8; p++) {
+        // проходим по выводимым символам...                                                                    
+        for (uint8_t n = 0; n < (len / _font.width); n++) {
+            // присваиваем переменной num код выводимого символа
+            num  = uint8_t(data[n]);
+            // если в массиве символов, до кода текущего символа, имеется пустой интервал
+            // уменьшаем код текущего символа на количество символов в пустом интервале
+            if(_font.startSpace[0] < num) {
+                num -= _font.sumSpace[0];
+            }
+            // если в массиве символов, до кода текущего символа, имеется пустой интервал
+            // уменьшаем код текущего символа на количество символов в пустом интервале
+            if (_font.startSpace[1] < num) {
+                num -= _font.sumSpace[1];
+            }
+            // если в массиве символов, до кода текущего символа, имеется пустой интервал
+            // то уменьшаем код текущего символа на количество символов в пустом интервале                                  
+            if (_font.startSpace[2] < num) {
+                num -= _font.sumSpace[2];
+            }
+            // вычитаем код первого символа (с которого начинается массив шрифта)                                   
+            num -= _font.firstSymbol;
+            // умножаем полученное значение на ширину символа (количество колонок)
+            num *= _font.width;
+            // умножаем полученное значение на высоту символа (количество страниц)
+            num *= _font.height / 8;
+            // добавляем количество колонок данного символа, которые уже были выведены на предыдущих страницах
+            num += p * _font.width;
+            // добавляем количество байт в начале массива шрифта, которые не являются байтами символов
+            num += 0x04;
+            // проходим по байтам очередного символа
+            for (uint8_t k = 0; k < _font.width; k++) {
+                // проходим по байтам очередного символа
+                for (uint8_t b = 0; b < 8; b++) {
+                    // начальная колонка всего текста + (количество выведенных символов * ширина символов) + номер байта текущего символа
+                    x1 = _numX + n * _font.width + k;
+                    // нижняя строка текста - высота симолов + количество уже выведенных страниц + номер бита байта текущего символа + 1
+                    y1 = _numY + p * 8 + b;
+                    // цвет точки символа: 1-белый, 0-чёрный
+                    c = bitRead( pgm_read_byte(&_font.fontData[num + k]), b);
+                    // если цвет текста требуется инвертировать
+                    if (_font.invert) {
+                        // если установлен фон текста или точка стоит на букве (а не на фоне)
+                        if (_font.background || c) {
+                            // выводим инвертированную точку
+                            _drawPixel(x1, y1, !c);
+                        }
+                    } else { 
+                        // если цвет текста не требуется инвертировать
+                        // если установлен фон текста или точка стоит на букве (а не на фоне)
+                        if (_font.background || c) {
+                            // выводим не инвертированную точку
+                            _drawPixel(x1, y1,  c);
+                        }
+                    }
+                }
+            }
+        }
+    }
+    if(_stateAutoUpdate) {
+        _sendBuffer();
+    }
+    // сохраняем координату окончания текста.
+    _numX += len;
+}
+
+//  параметр: одна цифра от 0 до 15
+//  преобразуем цифры 0-9 в символ с кодом 48-57, а цифры 10-15 в символ с кодом 65-71
+char TroykaOLED::_itoa(uint8_t num) {
+    return char(num + (num < 10 ? 48 : 55));
+}
+
+char* TroykaOLED::_codingCP866(char* StrIn) {
+    // определяем строку для вывода результата
+    char* StrOut = StrIn;
+    // переменненые для хранения номера сивола в строках StrIn и StrOut
+    uint8_t numIn = 0, numOut = 0;
+    // переменненые для хранения текущего кода символа в строках StrIn и StrOut
+    uint8_t charThis =  StrIn[0], charNext = StrIn[1];
+    switch (_codingName) {
+        // преобразуем текст из кодировки UTF-8:
+        case TXT_UTF8:
+            while (charThis > 0 && numIn < 0xFF ) {
+                // если код текущего символа равен 208, а за ним следует символ с кодом 144...191
+                // значит это буква «А»...«п» требующая преобразования к коду 128...175
+                if (charThis == 0xD0 && charNext >= 0x90 && charNext <= 0xBF) {
+                    StrOut[numOut] = charNext - 0x10;
+                    numIn++;
+                } else if (charThis == 0xD0 && charNext == 0x81) {
+                    // если код текущего символа равен 208, а за ним следует символ с кодом 129
+                    // значит это буква «Ё» требующая преобразования к коду 240
+                    StrOut[numOut] = 0xF0; numIn++;
+                } else if (charThis == 0xD1 && charNext >= 0x80 && charNext <= 0x8F) {
+                    // если код текущего символа равен 209, а за ним следует символ с кодом 128...143
+                    // значит это буква «р»...«я» требующая преобразования к коду 224...239
+                    StrOut[numOut] = charNext + 0x60; numIn++;
+                } else if (charThis == 0xD1 && charNext == 0x91) {
+                    // если код текущего символа равен 209, а за ним следует символ с кодом 145
+                    // значит это буква «ё» требующая преобразования к коду 241
+                    StrOut[numOut] = 0xF1;
+                    numIn++;
+                } else {
+                    // иначе не меняем символ
+                    StrOut[numOut] = charThis;
+                }
+                // переходим к следующему символу
+                numIn++;
+                numOut++;
+                charThis = StrIn[numIn];
+                charNext = StrIn[numIn + 1];
+                // добавляем символ конца строки и возвращаем строку StrOut
+            }
+            StrOut[numOut] = '\0';
+        break;
+        //преобразуем текст из кодировки WINDOWS-1251:
+        case TXT_WIN1251:
+            // если код текущего символа строки StrIn больше 0 и номер текушего символа строки StrIn меньше 255
+            while (charThis > 0 && numIn < 0xFF) {
+                // если код текущего символа равен 192...239
+                // значит это буква «А»...«п» требующая преобразования к коду 128...175
+                if (charThis >= 0xC0 && charThis <= 0xEF) {
+                    StrOut[numOut] = charThis - 0x40;
+                } else if (charThis >= 0xF0 && charThis <= 0xFF) {
+                    // если код текущего символа равен 240...255
+                    // значит это буква «р»...«я» требующая преобразования к коду 224...239
+                    StrOut[numOut] = charThis - 0x10;
+                } else if (charThis == 0xA8) {
+                    // если код текущего символа равен 168, значит это буква «Ё» требующая преобразования к коду 240
+                    StrOut[numOut] = 0xF0;
+                }else if (charThis == 0xB8) {
+                    // если код текущего символа равен 184, значит это буква «ё» требующая преобразования к коду 241
+                    StrOut[numOut] = 0xF1;
+                } else {
+                    // иначе не меняем символ
+                    StrOut[numOut] = charThis;
+                }
+                // переходим к следующему символу
+                numIn++;
+                numOut++;
+                charThis = StrIn[numIn];
+                // добавляем символ конца строки
+            }
+            StrOut[numOut] = '\0';
+        break;
+    }
+    // возвращаем строку StrOut
+    return StrOut;
+}
+
+void TroykaOLED::_drawPixel(int x, int y, uint8_t color) {
+    if(x < 0 || x > _width - 1 || y < 0 || y > _height - 1) {
+        return;
+    }
+    // определяем номер страницы в которой должен находиться пиксель
+    uint8_t  p = y / 8; 
+    // определяем номер байта массива _bufferDisplay в котором требуется прорисовать пиксель                                                                                            
+    uint16_t numByte = (p * 128 ) + x;
+    // определяем номер бита в найденном байте, который соответсвует рисуемому пикселю
+    uint8_t numBit = y % 8;
+    switch (color) {
+        case WHITE:
+            _bufferDisplay[numByte] |= 1 << numBit;
+            break;
+        case BLACK:
+            _bufferDisplay[numByte] &= ~(1 << numBit);
+            break;
+        case INVERSE:
+            _bufferDisplay[numByte] ^= 1 << numBit;
+            break;
+    }
+}
+
+void TroykaOLED::_drawLine(int x1, int y1, int x2, int y2, uint8_t color) {
+    int x3 = x2 - x1;
+    int y3 = y2 - y1;
+    // рисуем линию по линейному уровнению (y-y1)/(y2-y1) = (x-x1)/(x2-x1)
+    // определяем где больше расстояние (по оси x или y)
+    // по той оси проходим в цикле, для поиска точек на другой оси
+    if (abs(x3) > abs(y3)) {
+        if (x1 < x2) {
+            for (int x = x1; x <= x2; x++) {
+                _drawPixel(x,((x - x1) * y3 / x3 + y1), color);
+            }
+        } else {
+            for (int x = x1; x >= x2; x--) {
+                _drawPixel(x,((x - x1) * y3 / x3 + y1), color);
+            }
+        }
+    } else {
+        if (y1 < y2) {
+            for (int y = y1; y <= y2; y++) {
+                _drawPixel(((y - y1) * x3 / y3 + x1), y, color);
+            }
+        } else {
+            for (int y = y1; y >= y2; y--) {
+                _drawPixel(((y - y1) * x3 / y3 + x1), y, color);
+            }
+        }
+    }
+}
+
+// отправка байта команды
+/*
+void TroykaOLED::_sendCommand(uint8_t command){
+    _wire->beginTransmission(_i2cAddress);
+    _wire->write(0x80);
+    _wire->write(command);
+    _wire->endTransmission();
+}
+*/
+void TroykaOLED::_sendCommand(uint8_t command)
+{
+ char data_write[2];        
+ data_write[0]=0x80; 
+ data_write[1]=command;
+ _wire->write(_i2cAddress,data_write, 2,0);       
+}       
+// отправка буфера (массива _bufferDisplay) в дисплей
+void TroykaOLED::_sendBuffer() {
+    _sendCommand(SSD1306_ADDR_PAGE);
+    _sendCommand(0);
+    _sendCommand(_height / 8 - 1);
+    _sendCommand(SSD1306_ADDR_COLUMN);
+    _sendCommand(0);
+    _sendCommand(_width - 1);
+ char data_write[17];          //my
+    data_write[0]=0x40; 
+    for (int i = 0; i < _width * _height / 8; i++){
+        for (uint8_t x = 0; x < 16; x++) {
+            data_write[x+1]=_bufferDisplay[i++];  
+        }  
+/*        
+        _wire->beginTransmission(_i2cAddress);
+        _wire->write(0x40);
+        for (uint8_t x = 0; x < 16; x++) {
+            _wire->write(_bufferDisplay[i++]);
+        }
+        i--;
+        _wire->endTransmission();
+*/        
+        i--;
+        _wire->write(_i2cAddress,data_write, 17,0);   
+    }
+}
\ No newline at end of file
diff -r 000000000000 -r cd4a2add97a0 TroykaOLED.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TroykaOLED.h	Tue Jul 23 12:32:26 2019 +0000
@@ -0,0 +1,214 @@
+#ifndef TROYKA_OLED_H
+#define TROYKA_OLED_H
+
+#include "mbed.h"
+//#include <Wire.h>
+#include "defaultFonts.h"
+#include "defaultImages.h"
+
+#define DEC 10 //my
+// адрес дисплея
+#define SSD1306_ADDRESS                0x78         //0x3C
+// установка контрастности, за данной командой должен быть отправлен байт контрастности от 00 до FF (по умолчанию 0x7F)
+#define SSD1306_SET_CONTRAST                    0x81
+// включить  изображение
+#define SSD1306_RAM_ON                          0xA4
+// выключить изображение
+#define SSD1306_RAM_OFF                         0xA5
+// пиксель установленный в 1 будет светиться
+#define SSD1306_INVERT_OFF                      0xA6
+// пиксель установленный в 1 будет выключен
+#define SSD1306_INVERT_ON                       0xA7
+// выключить дисплей
+#define SSD1306_DISPLAY_OFF                     0xAE
+// включить  дисплей
+#define SSD1306_DISPLAY_ON                      0xAF
+// пустая команда
+#define SSD1306_NOP                             0xE3
+
+// включить  прокрутку
+#define SSD1306_SCROLL_ON                       0x2F
+// выключить  прокрутку
+#define SSD1306_SCROLL_OFF                      0x2E
+// настройка непрерывной горизонтальной прокрутки вправо. За данной командой должны быть отправлены 6 байт настроек
+#define SSD1306_SCROLL_HORIZONTAL_RIGHT         0x26
+// настройка непрерывной горизонтальной прокрутки влево. За данной командой должны быть отправлены 6 байт настроек
+#define SSD1306_SCROLL_HORIZONTAL_LEFT          0x27
+// настройка непрерывной диагональной прокрутки вправо. За данной командой должны быть отправлены 5 байт настроек
+#define SSD1306_SCROLL_DIAGONAL_RIGHT           0x29
+// настройка непрерывной диагональной прокрутки влево. За данной командой должны быть отправлены 5 байт настроек
+#define SSD1306_SCROLL_DIAGONAL_LEFT            0x2A
+// настройка непрерывной вертикальной прокрутки. За данной командой должны быть отправлены 2 байта настроек
+#define SSD1306_SCROLL_VERTICAL                 0xA3
+
+// установка младшей части адреса колонки на странице
+// у данной команды младщие четыре бита должны быть изменены на младшие биты адреса
+// комадна предназначена только для режима страничной адресации
+#define SSD1306_ADDR_COLUMN_LBS                 0x00
+// установка старшей части адреса колонки на странице
+// у данной команды младщие четыре бита должны быть изменены на старшие биты адреса
+// комадна предназначена только для режима страничной адресации
+#define SSD1306_ADDR_COLUMN_MBS                 0x10
+// выбор режима адресации 
+// за данной командой должен быть отправлен байт младшие биты которого определяют режим:
+// 00-горизонтальная (с переходом на новую страницу (строку))
+// 01-вертикальная (с переходом на новую колонку) 
+// 10-страничная (только по выбранной странице)
+#define SSD1306_ADDR_MODE                       0x20
+// установка адреса колонки
+// за данной командой должны быть отправлены два байта: начальный адрес и конечный адрес
+// так можно определить размер экрана в колонках по ширине
+#define SSD1306_ADDR_COLUMN                     0x21
+// установка адреса страницы
+// за данной командой должны быть отправлены два байта: начальный адрес и конечный адрес
+// так можно определить размер экрана в строках по высоте
+#define SSD1306_ADDR_PAGE                       0x22
+// установка номера страницы которая будет выбрана для режима страничной адресации
+// у данной команды младщие три бита должны быть изменены на номер страницы
+// комадна предназначена только для режима страничной адресации
+#define SSD1306_ADDR_ONE_PAGE                   0xB0
+
+// установить начальный адрес ОЗУ (смещение памяти)
+// у данной команды младщие шесть битов должны быть изменены на начальный адрес ОЗУ
+#define SSD1306_SET_START_LINE                  0x40
+// установить режим строчной развёртки справа-налево
+#define SSD1306_SET_REMAP_R_TO_L                0xA0
+// установить режим строчной развёртки слева-направо
+#define SSD1306_SET_REMAP_L_TO_R                0xA1
+// установить multiplex ratio (количество используемых выводов COM для вывода данных на дисплей)
+// за данной командой должен быть отправлен один байт с указанием количества COM выводов (от 15 до 63)
+#define SSD1306_SET_MULTIPLEX_RATIO             0xA8
+// установить режим кадровой развёртки снизу-верх
+#define SSD1306_SET_REMAP_D_TO_T                0xC0
+// установить режим кадровой развёртки сверху-вниз
+#define SSD1306_SET_REMAP_T_TO_D                0xC8
+// установить смещение дисплея
+// за данной командой должен быть отправлен один байт с указанием вертикального сдвига чтения выходов COM (от 0 до 63).
+#define SSD1306_SET_DISPLAY_OFFSET              0xD3
+// установить тип аппаратной конфигурации COM выводов
+// за данной командой должен быть отправлен один байт, у которого:
+// четвёртый бит: 0-последовательная / 1-альтернативная 
+// пятый бит: 0-отключить COM Left/Right remap / 1-включить COM Left/Right remap
+#define SSD1306_SET_COM_PINS                    0xDA
+
+// установить частоту обновления дисплея
+// за данной командой должен быть отправлен один байт, старшие четыре бита которого определяют частоту, а младшие делитель
+#define SSD1306_SET_DISPLAY_CLOCK               0xD5
+// установить фазы DC/DC преобразователя
+// за данной командой должен быть отправлен один байт, старшие четыре бита которого определяют период, а младшие период
+#define SSD1306_SET_PRECHARGE_PERIOD            0xD9
+// установить VcomH (влияет на яркость)
+// за данной командой должен быть отправлен один байт, старшие четыре бита которого определяют напряжение
+// пример: 0000 - VcomH=0.65Vcc, 0010 - VcomH=0.77Vcc, 0011 - VcomH=0.83Vcc и т.д.
+#define SSD1306_SET_VCOM_DESELECT               0xDB
+// управление DC/DC преобразователем
+// за данной командой должен быть отправлен один байт:
+// 0x10 - отключить (VCC подается извне), 0x14 - запустить внутренний DC/DC
+#define SSD1306_CHARGE_DCDC_PUMP                0x8D
+
+// положение бита DC в командном байте
+// этот бит указывает что следующим байтом будет: 0-команда или 1-данные
+#define SSD1306_SHIFT_DC                        0x06
+// положение бита CO в командном байте
+// этот бит указывает что после следующего байта (команды или данных) будет следовать (если будет): 0-байт данных или 1-новый командный байт
+#define SSD1306_SHIFT_CO                        0x07
+// (CO=0, DC=0) => 0x00 контрольный байт после которого следует байт команды
+#define SSD1306_COMMAND                         (0 << SSD1306_SHIFT_CO) | (0 << SSD1306_SHIFT_DC)
+// (CO=0, DC=1) => 0x40 контрольный байт после которого следует байт данных
+#define SSD1306_DATA                            (0 << SSD1306_SHIFT_CO) | (1 << SSD1306_SHIFT_DC)
+
+#define OLED_TOP                                250
+#define OLED_BOTTOM                             251
+#define OLED_LEFT                               252
+#define OLED_RIGHT                              253
+#define OLED_CENTER                             254
+#define OLED_THIS                               255
+
+#define IMG_RAM                                 0
+#define IMG_ROM                                 1
+
+#define TXT_CP866                               0
+#define TXT_UTF8                                1
+#define TXT_WIN1251                             2
+
+#define BLACK                                   0
+#define WHITE                                   1
+#define INVERSE                                 2
+
+class TroykaOLED {
+public:
+    TroykaOLED (I2C *i2c,uint8_t address = SSD1306_ADDRESS, uint8_t width = 128, uint8_t heigth = 64);
+    void begin();// = &Wire);
+    void update();
+    void autoUpdate(bool stateAutoUpdate = true);
+    void setBrigtness(uint8_t brigtness);
+    void clearDisplay();
+    void invertDisplay(bool stateInvert = true);
+    void invertText(bool stateInvertText = true);
+    void bgText(bool stateTextBG = true);
+    void bgImage(bool stateImageBG = true);
+    void setFont(const uint8_t* fontData);
+    void setCoding(uint8_t codingName = false);
+    void setCursor(int numX, int numY);
+    void print(char* s, int x = OLED_THIS, int y = OLED_THIS);
+    void print(const char* s, int x = OLED_THIS, int y = OLED_THIS);
+    //void print(String s , int x = OLED_THIS, int y = OLED_THIS);
+    void print(int8_t n, int x = OLED_THIS, int y = OLED_THIS, uint8_t base = DEC);
+    void print(uint8_t n, int x = OLED_THIS, int y = OLED_THIS, uint8_t base = DEC);
+    void print(int16_t n, int x = OLED_THIS, int y = OLED_THIS, uint8_t base = DEC);
+    void print(uint16_t n, int x = OLED_THIS, int y = OLED_THIS, uint8_t base = DEC);
+    void print(int32_t n, int x = OLED_THIS, int y = OLED_THIS, uint8_t base = DEC);
+    void print(uint32_t n, int x = OLED_THIS, int y = OLED_THIS, uint8_t base = DEC);
+    void print(double n, int x = OLED_THIS, int y = OLED_THIS, uint8_t digits = 2);
+    void drawPixel(int x, int y, uint8_t color = WHITE); 
+    void drawLine(int x1, int y1, int x2, int y2, uint8_t color = WHITE);
+    void drawLine(int x2, int y2, uint8_t color = WHITE);
+    void drawRect(int x1, int y1, int x2, int y2, bool fill = false, uint8_t color = WHITE);
+    void drawCircle(int x, int y, uint8_t r, bool fill = false, uint8_t color = WHITE);
+    void drawImage(const uint8_t* image, int x = OLED_THIS, int y = OLED_THIS, uint8_t mem = IMG_ROM);
+    bool getPixel(int x, int y);
+    uint8_t getWidth() { return _width; }
+    uint8_t getHeigth() { return _height; }
+    uint8_t getFontWidth() { return _font.width; }
+    uint8_t getFontHeight() {  return _font.height; } 
+    uint8_t getImageWidth(const uint8_t* image, uint8_t mem = IMG_ROM);
+    uint8_t getImageHeight(const uint8_t* image, uint8_t mem = IMG_ROM);
+
+private:
+    //TwoWire* _wire;
+    I2C    *_wire;
+    uint8_t _i2cAddress;
+    uint8_t _width;
+    uint8_t _height;
+    uint8_t _numX;
+    uint8_t _numY;
+    uint8_t _codingName;
+    bool _stateInvert;
+    bool _stateAutoUpdate;
+    bool _stateImageBG;
+    uint8_t *_bufferDisplay;
+    struct {
+        const uint8_t* fontData;
+        uint8_t width;// = 0;
+        uint8_t height;// = 0;
+        uint8_t firstSymbol;// = 0;
+        uint8_t sumSymbol;// = 0;
+        uint8_t startSpace[3];
+        uint8_t sumSpace[3];
+        bool invert;// = false;
+        bool background;// = true;
+        bool setFont;// = false;
+    } _font;
+
+    bool bitRead(uint8_t data, uint8_t bit);//my
+    void _drawPixel(int x, int y, uint8_t color = WHITE);
+    void _drawLine(int x1, int y1, int x2, int y2, uint8_t color = WHITE);
+    void _print(char*, int x, int y);
+    char _itoa(uint8_t num);
+    char* _codingCP866(char* data);
+    void _sendCommand(uint8_t command);
+    void _sendData(uint8_t* data, uint8_t sum);
+    void _sendBuffer();
+};
+
+#endif // TROYKA_OLED_H
diff -r 000000000000 -r cd4a2add97a0 defaultFonts.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/defaultFonts.h	Tue Jul 23 12:32:26 2019 +0000
@@ -0,0 +1,658 @@
+// ширина символов, высота символов, код первого символа и количество символов
+const uint8_t font6x8[] = {
+    0x06, 0x08, 0x20, 0x5F,
+
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,             // пробел
+    0x00, 0x00, 0x00, 0x2F, 0x00, 0x00,             // !
+    0x00, 0x00, 0x07, 0x00, 0x07, 0x00,             // "
+    0x00, 0x14, 0x7F, 0x14, 0x7F, 0x14,             // #
+    0x00, 0x24, 0x2A, 0x7F, 0x2A, 0x12,             // $
+    0x00, 0x23, 0x13, 0x08, 0x64, 0x62,             // %
+    0x00, 0x36, 0x49, 0x55, 0x22, 0x50,             // &
+    0x00, 0x00, 0x05, 0x03, 0x00, 0x00,             // '
+    0x00, 0x00, 0x1C, 0x22, 0x41, 0x00,             // (
+    0x00, 0x00, 0x41, 0x22, 0x1C, 0x00,             // )
+    0x00, 0x14, 0x08, 0x3E, 0x08, 0x14,             // *
+    0x00, 0x08, 0x08, 0x3E, 0x08, 0x08,             // +
+    0x00, 0x00, 0x00, 0xA0, 0x60, 0x00,             // ,
+    0x00, 0x08, 0x08, 0x08, 0x08, 0x08,             // -
+    0x00, 0x00, 0x60, 0x60, 0x00, 0x00,             // .
+    0x00, 0x20, 0x10, 0x08, 0x04, 0x02,             // /
+
+    0x00, 0x3E, 0x51, 0x49, 0x45, 0x3E,             // 0
+    0x00, 0x00, 0x42, 0x7F, 0x40, 0x00,             // 1
+    0x00, 0x42, 0x61, 0x51, 0x49, 0x46,             // 2
+    0x00, 0x21, 0x41, 0x45, 0x4B, 0x31,             // 3
+    0x00, 0x18, 0x14, 0x12, 0x7F, 0x10,             // 4
+    0x00, 0x27, 0x45, 0x45, 0x45, 0x39,             // 5
+    0x00, 0x3C, 0x4A, 0x49, 0x49, 0x30,             // 6
+    0x00, 0x01, 0x71, 0x09, 0x05, 0x03,             // 7
+    0x00, 0x36, 0x49, 0x49, 0x49, 0x36,             // 8
+    0x00, 0x06, 0x49, 0x49, 0x29, 0x1E,             // 9
+    0x00, 0x00, 0x36, 0x36, 0x00, 0x00,             // :
+    0x00, 0x00, 0x56, 0x36, 0x00, 0x00,             // ;
+    0x00, 0x08, 0x14, 0x22, 0x41, 0x00,             // <
+    0x00, 0x14, 0x14, 0x14, 0x14, 0x14,             // =
+    0x00, 0x00, 0x41, 0x22, 0x14, 0x08,             // >
+    0x00, 0x02, 0x01, 0x51, 0x09, 0x06,             // ?
+
+    0x00, 0x32, 0x49, 0x59, 0x51, 0x3E,             // @
+    0x00, 0x7C, 0x12, 0x11, 0x12, 0x7C,             // A
+    0x00, 0x7F, 0x49, 0x49, 0x49, 0x36,             // B
+    0x00, 0x3E, 0x41, 0x41, 0x41, 0x22,             // C
+    0x00, 0x7F, 0x41, 0x41, 0x22, 0x1C,             // D
+    0x00, 0x7F, 0x49, 0x49, 0x49, 0x41,             // E
+    0x00, 0x7F, 0x09, 0x09, 0x09, 0x01,             // F
+    0x00, 0x3E, 0x41, 0x49, 0x49, 0x7A,             // G
+    0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F,             // H
+    0x00, 0x00, 0x41, 0x7F, 0x41, 0x00,             // I
+    0x00, 0x20, 0x40, 0x41, 0x3F, 0x01,             // J
+    0x00, 0x7F, 0x08, 0x14, 0x22, 0x41,             // K
+    0x00, 0x7F, 0x40, 0x40, 0x40, 0x40,             // L
+    0x00, 0x7F, 0x02, 0x0C, 0x02, 0x7F,             // M
+    0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F,             // N
+    0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E,             // O
+
+    0x00, 0x7F, 0x09, 0x09, 0x09, 0x06,             // P
+    0x00, 0x3E, 0x41, 0x51, 0x21, 0x5E,             // Q
+    0x00, 0x7F, 0x09, 0x19, 0x29, 0x46,             // R
+    0x00, 0x46, 0x49, 0x49, 0x49, 0x31,             // S
+    0x00, 0x01, 0x01, 0x7F, 0x01, 0x01,             // T
+    0x00, 0x3F, 0x40, 0x40, 0x40, 0x3F,             // U
+    0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F,             // V
+    0x00, 0x3F, 0x40, 0x38, 0x40, 0x3F,             // W
+    0x00, 0x63, 0x14, 0x08, 0x14, 0x63,             // X
+    0x00, 0x07, 0x08, 0x70, 0x08, 0x07,             // Y
+    0x00, 0x61, 0x51, 0x49, 0x45, 0x43,             // Z
+    0x00, 0x00, 0x7F, 0x41, 0x41, 0x00,             // [
+    0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55,             // обратный слеш
+    0x00, 0x00, 0x41, 0x41, 0x7F, 0x00,             // ]
+    0x00, 0x04, 0x02, 0x01, 0x02, 0x04,             // ^
+    0x00, 0x40, 0x40, 0x40, 0x40, 0x40,             // _
+
+    0x00, 0x00, 0x03, 0x05, 0x00, 0x00,             // `
+    0x00, 0x20, 0x54, 0x54, 0x54, 0x78,             // a
+    0x00, 0x7F, 0x28, 0x44, 0x44, 0x38,             // b
+    0x00, 0x38, 0x44, 0x44, 0x44, 0x20,             // c
+    0x00, 0x38, 0x44, 0x44, 0x48, 0x7F,             // d
+    0x00, 0x38, 0x54, 0x54, 0x54, 0x18,             // e
+    0x00, 0x08, 0x7E, 0x09, 0x01, 0x02,             // f
+    0x00, 0x18, 0xA4, 0xA4, 0xA4, 0x7C,             // g
+    0x00, 0x7F, 0x08, 0x04, 0x04, 0x78,             // h
+    0x00, 0x00, 0x44, 0x7D, 0x40, 0x00,             // i
+    0x00, 0x40, 0x80, 0x84, 0x7D, 0x00,             // j
+    0x00, 0x7F, 0x10, 0x28, 0x44, 0x00,             // k
+    0x00, 0x00, 0x41, 0x7F, 0x40, 0x00,             // l
+    0x00, 0x7C, 0x04, 0x18, 0x04, 0x78,             // m
+    0x00, 0x7C, 0x08, 0x04, 0x04, 0x78,             // n
+    0x00, 0x38, 0x44, 0x44, 0x44, 0x38,             // o
+
+    0x00, 0xFC, 0x24, 0x24, 0x24, 0x18,             // p
+    0x00, 0x18, 0x24, 0x24, 0x18, 0xFC,             // q
+    0x00, 0x7C, 0x08, 0x04, 0x04, 0x08,             // r
+    0x00, 0x48, 0x54, 0x54, 0x54, 0x20,             // s
+    0x00, 0x04, 0x3F, 0x44, 0x40, 0x20,             // t
+    0x00, 0x3C, 0x40, 0x40, 0x20, 0x7C,             // u
+    0x00, 0x1C, 0x20, 0x40, 0x20, 0x1C,             // v
+    0x00, 0x3C, 0x40, 0x30, 0x40, 0x3C,             // w
+    0x00, 0x44, 0x28, 0x10, 0x28, 0x44,             // x
+    0x00, 0x1C, 0xA0, 0xA0, 0xA0, 0x7C,             // y
+    0x00, 0x44, 0x64, 0x54, 0x4C, 0x44,             // z
+    0x00, 0x00, 0x10, 0x7C, 0x82, 0x00,             // {
+    0x00, 0x00, 0x00, 0xFF, 0x00, 0x00,             // |
+    0x00, 0x00, 0x82, 0x7C, 0x10, 0x00,             // }
+    0x00, 0x00, 0x06, 0x09, 0x09, 0x06,             // ~
+    0
+};
+
+// ширина символов, высота символов, код первого символа и количество символов
+const uint8_t fontRus6x8[] = {
+    0x06, 0x08, 0x20, 0xB0,
+
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,             // пробел
+    0x00, 0x00, 0x00, 0x2F, 0x00, 0x00,             // !
+    0x00, 0x00, 0x07, 0x00, 0x07, 0x00,             // "
+    0x00, 0x14, 0x7F, 0x14, 0x7F, 0x14,             // #
+    0x00, 0x24, 0x2A, 0x7F, 0x2A, 0x12,             // $
+    0x00, 0x23, 0x13, 0x08, 0x64, 0x62,             // %
+    0x00, 0x36, 0x49, 0x55, 0x22, 0x50,             // &
+    0x00, 0x00, 0x05, 0x03, 0x00, 0x00,             // '
+    0x00, 0x00, 0x1C, 0x22, 0x41, 0x00,             // (
+    0x00, 0x00, 0x41, 0x22, 0x1C, 0x00,             // )
+    0x00, 0x14, 0x08, 0x3E, 0x08, 0x14,             // *
+    0x00, 0x08, 0x08, 0x3E, 0x08, 0x08,             // +
+    0x00, 0x00, 0x00, 0xA0, 0x60, 0x00,             // ,
+    0x00, 0x08, 0x08, 0x08, 0x08, 0x08,             // -
+    0x00, 0x00, 0x60, 0x60, 0x00, 0x00,             // .
+    0x00, 0x20, 0x10, 0x08, 0x04, 0x02,             // /
+
+    0x00, 0x3E, 0x51, 0x49, 0x45, 0x3E,             // 0
+    0x00, 0x00, 0x42, 0x7F, 0x40, 0x00,             // 1
+    0x00, 0x42, 0x61, 0x51, 0x49, 0x46,             // 2
+    0x00, 0x21, 0x41, 0x45, 0x4B, 0x31,             // 3
+    0x00, 0x18, 0x14, 0x12, 0x7F, 0x10,             // 4
+    0x00, 0x27, 0x45, 0x45, 0x45, 0x39,             // 5
+    0x00, 0x3C, 0x4A, 0x49, 0x49, 0x30,             // 6
+    0x00, 0x01, 0x71, 0x09, 0x05, 0x03,             // 7
+    0x00, 0x36, 0x49, 0x49, 0x49, 0x36,             // 8
+    0x00, 0x06, 0x49, 0x49, 0x29, 0x1E,             // 9
+    0x00, 0x00, 0x36, 0x36, 0x00, 0x00,             // :
+    0x00, 0x00, 0x56, 0x36, 0x00, 0x00,             // ;
+    0x00, 0x08, 0x14, 0x22, 0x41, 0x00,             // <
+    0x00, 0x14, 0x14, 0x14, 0x14, 0x14,             // =
+    0x00, 0x00, 0x41, 0x22, 0x14, 0x08,             // >
+    0x00, 0x02, 0x01, 0x51, 0x09, 0x06,             // ?
+
+    0x00, 0x32, 0x49, 0x59, 0x51, 0x3E,             // @
+    0x00, 0x7C, 0x12, 0x11, 0x12, 0x7C,             // A
+    0x00, 0x7F, 0x49, 0x49, 0x49, 0x36,             // B
+    0x00, 0x3E, 0x41, 0x41, 0x41, 0x22,             // C
+    0x00, 0x7F, 0x41, 0x41, 0x22, 0x1C,             // D
+    0x00, 0x7F, 0x49, 0x49, 0x49, 0x41,             // E
+    0x00, 0x7F, 0x09, 0x09, 0x09, 0x01,             // F
+    0x00, 0x3E, 0x41, 0x49, 0x49, 0x7A,             // G
+    0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F,             // H
+    0x00, 0x00, 0x41, 0x7F, 0x41, 0x00,             // I
+    0x00, 0x20, 0x40, 0x41, 0x3F, 0x01,             // J
+    0x00, 0x7F, 0x08, 0x14, 0x22, 0x41,             // K
+    0x00, 0x7F, 0x40, 0x40, 0x40, 0x40,             // L
+    0x00, 0x7F, 0x02, 0x0C, 0x02, 0x7F,             // M
+    0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F,             // N
+    0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E,             // O
+
+    0x00, 0x7F, 0x09, 0x09, 0x09, 0x06,             // P
+    0x00, 0x3E, 0x41, 0x51, 0x21, 0x5E,             // Q
+    0x00, 0x7F, 0x09, 0x19, 0x29, 0x46,             // R
+    0x00, 0x46, 0x49, 0x49, 0x49, 0x31,             // S
+    0x00, 0x01, 0x01, 0x7F, 0x01, 0x01,             // T
+    0x00, 0x3F, 0x40, 0x40, 0x40, 0x3F,             // U
+    0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F,             // V
+    0x00, 0x3F, 0x40, 0x38, 0x40, 0x3F,             // W
+    0x00, 0x63, 0x14, 0x08, 0x14, 0x63,             // X
+    0x00, 0x07, 0x08, 0x70, 0x08, 0x07,             // Y
+    0x00, 0x61, 0x51, 0x49, 0x45, 0x43,             // Z
+    0x00, 0x00, 0x7F, 0x41, 0x41, 0x00,             // [
+    0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55,             // обратный слеш
+    0x00, 0x00, 0x41, 0x41, 0x7F, 0x00,             // ]
+    0x00, 0x04, 0x02, 0x01, 0x02, 0x04,             // ^
+    0x00, 0x40, 0x40, 0x40, 0x40, 0x40,             // _
+
+    0x00, 0x00, 0x03, 0x05, 0x00, 0x00,             // `
+    0x00, 0x20, 0x54, 0x54, 0x78, 0x40,             // a
+    0x00, 0x7F, 0x28, 0x44, 0x44, 0x38,             // b
+    0x00, 0x38, 0x44, 0x44, 0x44, 0x20,             // c
+    0x00, 0x38, 0x44, 0x44, 0x48, 0x7F,             // d
+    0x00, 0x38, 0x54, 0x54, 0x54, 0x18,             // e
+    0x00, 0x08, 0x7E, 0x09, 0x01, 0x02,             // f
+    0x00, 0x18, 0xA4, 0xA4, 0xA4, 0x7C,             // g
+    0x00, 0x7F, 0x08, 0x04, 0x04, 0x78,             // h
+    0x00, 0x00, 0x44, 0x7D, 0x40, 0x00,             // i
+    0x00, 0x40, 0x80, 0x84, 0x7D, 0x00,             // j
+    0x00, 0x7F, 0x10, 0x28, 0x44, 0x00,             // k
+    0x00, 0x00, 0x41, 0x7F, 0x40, 0x00,             // l
+    0x00, 0x7C, 0x04, 0x18, 0x04, 0x78,             // m
+    0x00, 0x7C, 0x08, 0x04, 0x04, 0x78,             // n
+    0x00, 0x38, 0x44, 0x44, 0x44, 0x38,             // o
+ 
+    0x00, 0xFC, 0x24, 0x24, 0x24, 0x18,             // p
+    0x00, 0x18, 0x24, 0x24, 0x18, 0xFC,             // q
+    0x00, 0x7C, 0x08, 0x04, 0x04, 0x08,             // r
+    0x00, 0x48, 0x54, 0x54, 0x54, 0x20,             // s
+    0x00, 0x04, 0x3F, 0x44, 0x40, 0x20,             // t
+    0x00, 0x3C, 0x40, 0x40, 0x20, 0x7C,             // u
+    0x00, 0x1C, 0x20, 0x40, 0x20, 0x1C,             // v
+    0x00, 0x3C, 0x40, 0x30, 0x40, 0x3C,             // w
+    0x00, 0x44, 0x28, 0x10, 0x28, 0x44,             // x
+    0x00, 0x1C, 0xA0, 0xA0, 0xA0, 0x7C,             // y
+    0x00, 0x44, 0x64, 0x54, 0x4C, 0x44,             // z
+    0x00, 0x00, 0x10, 0x7C, 0x82, 0x00,             // {
+    0x00, 0x00, 0x00, 0xFF, 0x00, 0x00,             // |
+    0x00, 0x00, 0x82, 0x7C, 0x10, 0x00,             // }
+    0x00, 0x10, 0x08, 0x10, 0x20, 0x10,             // ~
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,             // ⌂
+
+    0x00, 0x7C, 0x12, 0x11, 0x12, 0x7C,             // А
+    0x00, 0x7F, 0x49, 0x49, 0x49, 0x31,             // Б
+    0x00, 0x7F, 0x45, 0x45, 0x45, 0x3A,             // В
+    0x00, 0x7F, 0x01, 0x01, 0x01, 0x03,             // Г
+    0x00, 0x60, 0x3F, 0x21, 0x3F, 0x60,             // Д
+    0x00, 0x7F, 0x49, 0x49, 0x49, 0x41,             // Е
+    0x00, 0x73, 0x0C, 0x7F, 0x0C, 0x73,             // Ж
+    0x00, 0x22, 0x41, 0x49, 0x49, 0x36,             // З
+    0x00, 0x7F, 0x10, 0x08, 0x04, 0x7F,             // И
+    0x00, 0x7E, 0x20, 0x11, 0x08, 0x7E,             // Й
+    0x00, 0x7F, 0x08, 0x14, 0x22, 0x41,             // К
+    0x00, 0x40, 0x3F, 0x01, 0x01, 0x7F,             // Л
+    0x00, 0x7F, 0x06, 0x08, 0x06, 0x7F,             // М
+    0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F,             // Н
+    0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E,             // О
+    0x00, 0x7F, 0x01, 0x01, 0x01, 0x7F,             // П
+
+    0x00, 0x7F, 0x09, 0x09, 0x09, 0x06,             // Р
+    0x00, 0x3E, 0x41, 0x41, 0x41, 0x22,             // С
+    0x00, 0x03, 0x01, 0x7F, 0x01, 0x03,             // Т
+    0x00, 0x61, 0x26, 0x18, 0x06, 0x01,             // У
+    0x00, 0x1C, 0x22, 0x7F, 0x22, 0x1C,             // Ф
+    0x00, 0x63, 0x14, 0x08, 0x14, 0x63,             // Х
+    0x00, 0x3F, 0x20, 0x20, 0x3F, 0x60,             // Ц
+    0x00, 0x07, 0x08, 0x08, 0x08, 0x7F,             // Ч
+    0x00, 0x7F, 0x40, 0x7F, 0x40, 0x7F,             // Ш
+    0x00, 0x3F, 0x20, 0x3F, 0x20, 0x7F,             // Щ
+    0x00, 0x01, 0x7F, 0x48, 0x48, 0x30,             // Ъ
+    0x00, 0x7F, 0x48, 0x78, 0x00, 0x7F,             // Ы
+    0x00, 0x7F, 0x48, 0x48, 0x30, 0x00,             // Ь
+    0x00, 0x41, 0x49, 0x49, 0x2A, 0x1C,             // Э
+    0x00, 0x7F, 0x10, 0x3E, 0x41, 0x3E,             // Ю
+    0x00, 0x66, 0x19, 0x09, 0x09, 0x7F,             // Я
+
+    0x00, 0x20, 0x54, 0x54, 0x78, 0x40,             // а
+    0x00, 0x3E, 0x49, 0x45, 0x45, 0x38,             // б
+    0x00, 0x7C, 0x54, 0x54, 0x58, 0x20,             // в
+    0x00, 0x7C, 0x04, 0x04, 0x0C, 0x00,             // г
+    0x00, 0x38, 0x45, 0x45, 0x49, 0x3E,             // д
+    0x00, 0x38, 0x54, 0x54, 0x54, 0x18,             // е
+    0x00, 0x4C, 0x30, 0x7C, 0x30, 0x4C,             // ж
+    0x00, 0x28, 0x44, 0x54, 0x28, 0x00,             // з
+    0x00, 0x7C, 0x20, 0x10, 0x7C, 0x00,             // и
+    0x00, 0x7C, 0x21, 0x11, 0x7C, 0x00,             // й
+    0x00, 0x7C, 0x10, 0x28, 0x44, 0x00,             // к
+    0x00, 0x40, 0x3C, 0x04, 0x04, 0x7C,             // л
+    0x00, 0x7C, 0x08, 0x10, 0x08, 0x7C,             // м
+    0x00, 0x7C, 0x10, 0x10, 0x7C, 0x00,             // н
+    0x00, 0x38, 0x44, 0x44, 0x44, 0x38,             // о
+    0x00, 0x7C, 0x04, 0x04, 0x7C, 0x00,             // п
+
+    0x00, 0xFC, 0x28, 0x44, 0x44, 0x38,             // р
+    0x00, 0x38, 0x44, 0x44, 0x44, 0x28,             // с
+    0x00, 0x04, 0x04, 0x7C, 0x04, 0x04,             // т
+    0x00, 0x4C, 0x50, 0x50, 0x50, 0x3C,             // у
+    0x00, 0x38, 0x44, 0xFE, 0x44, 0x38,             // ф
+    0x00, 0x44, 0x28, 0x10, 0x28, 0x44,             // х
+    0x00, 0x7C, 0x40, 0x40, 0x7C, 0xC0,             // ц
+    0x00, 0x1C, 0x10, 0x10, 0x7C, 0x00,             // ч
+    0x00, 0x7C, 0x40, 0x7C, 0x40, 0x7C,             // ш
+    0x00, 0x7C, 0x40, 0x7C, 0x40, 0xFC,             // щ
+    0x00, 0x04, 0x7C, 0x50, 0x70, 0x00,             // ъ
+    0x00, 0x7C, 0x50, 0x70, 0x00, 0x7C,             // ы
+    0x00, 0x00, 0x7C, 0x50, 0x70, 0x00,             // ь
+    0x00, 0x28, 0x44, 0x54, 0x38, 0x00,             // э
+    0x00, 0x7C, 0x10, 0x38, 0x44, 0x38,             // ю
+    0x00, 0x08, 0x54, 0x34, 0x14, 0x7C,             // я
+
+    0x00, 0x7E, 0x4B, 0x4A, 0x4B, 0x42,             // Ё
+    0x00, 0x38, 0x55, 0x54, 0x55, 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, 0x06, 0x09, 0x09, 0x06,             // °
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,             // ∙
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,             // ·
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,             // √
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,             // №
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,             // ¤
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,             // ■
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,             //  
+    0x01, 0xAF, 0x30
+};
+
+// ширина символов, высота символов, код первого символа и количество символов
+const uint8_t font12x10[] = {
+    0x0C,0x10,0x20,0x5F,
+
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,     // пробел
+    0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00,     // !
+    0x00, 0x00, 0x00, 0x16, 0x0E, 0x00, 0x00, 0x16, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,     // "
+    0x00, 0x00, 0x60, 0xE0, 0xF8, 0x7E, 0x6E, 0xE0, 0xF8, 0x7E, 0x6E, 0x00, 0x00, 0x76, 0x7E, 0x1F, 0x07, 0x76, 0x7E, 0x1F, 0x07, 0x06, 0x00, 0x00,     // #
+    0x00, 0x78, 0xFC, 0xCE, 0x86, 0xFF, 0xFF, 0x86, 0x9E, 0x1C, 0x18, 0x00, 0x00, 0x18, 0x38, 0x79, 0x61, 0xFF, 0xFF, 0x61, 0x73, 0x3F, 0x1E, 0x00,     // $
+    0x00, 0x3C, 0x7E, 0x66, 0x7E, 0xBC, 0xE0, 0x78, 0x1E, 0x06, 0x00, 0x00, 0x00, 0x00, 0x60, 0x78, 0x1E, 0x07, 0x3D, 0x7E, 0x66, 0x7E, 0x3C, 0x00,     // %
+    0x00, 0x00, 0x00, 0x80, 0x80, 0xFC, 0xFE, 0xE6, 0xE6, 0x7E, 0x3C, 0x00, 0x00, 0x1E, 0x3F, 0x73, 0x61, 0x61, 0x71, 0x7F, 0x3F, 0x7C, 0x6C, 0x00,     // &
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,     // '
+    0x00, 0x00, 0x00, 0x00, 0xF0, 0xFC, 0x0E, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x3F, 0x70, 0xC0, 0x00, 0x00, 0x00, 0x00,     // (
+    0x00, 0x00, 0x00, 0x00, 0x03, 0x0E, 0xFC, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x70, 0x3F, 0x0F, 0x00, 0x00, 0x00, 0x00,     // )
+    0x00, 0x00, 0x00, 0x08, 0x78, 0x3C, 0x3C, 0x78, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,     // *
+    0x00, 0x00, 0x80, 0x80, 0x80, 0xF0, 0xF0, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x0F, 0x0F, 0x01, 0x01, 0x01, 0x00, 0x00,     // +
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00,     // ,
+    0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,     // -
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00,     // .
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xE0, 0x78, 0x1E, 0x06, 0x00, 0x00, 0x00, 0x00, 0x60, 0x78, 0x1E, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,     // /
+
+    0x00, 0xF8, 0xFC, 0x0E, 0x06, 0x06, 0x06, 0x06, 0x0E, 0xFC, 0xF8, 0x00, 0x00, 0x1F, 0x3F, 0x70, 0x60, 0x60, 0x60, 0x60, 0x70, 0x3F, 0x1F, 0x00,     // 0
+    0x00, 0x00, 0x00, 0x30, 0x38, 0x1C, 0xFE, 0xFE, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x60, 0x00, 0x00, 0x00,     // 1
+    0x00, 0x18, 0x1C, 0x1E, 0x06, 0x06, 0x06, 0x86, 0xCE, 0xFC, 0x78, 0x00, 0x00, 0x78, 0x7C, 0x7E, 0x66, 0x67, 0x63, 0x63, 0x61, 0x70, 0x70, 0x00,     // 2
+    0x00, 0x0E, 0x0E, 0x06, 0x06, 0xC6, 0xE6, 0xF6, 0xFE, 0x9E, 0x0E, 0x00, 0x00, 0x18, 0x38, 0x78, 0x60, 0x60, 0x60, 0x60, 0x71, 0x3F, 0x1F, 0x00,     // 3
+    0x00, 0x00, 0x80, 0xC0, 0xE0, 0x70, 0x38, 0x1C, 0xFE, 0xFE, 0x06, 0x00, 0x00, 0x07, 0x07, 0x07, 0x06, 0x06, 0x06, 0x66, 0x7F, 0x7F, 0x66, 0x00,     // 4
+    0x00, 0xFE, 0xFE, 0xE6, 0x66, 0x66, 0x66, 0x66, 0xE6, 0xCE, 0x8E, 0x00, 0x00, 0x18, 0x38, 0x78, 0x60, 0x60, 0x60, 0x60, 0x70, 0x3F, 0x1F, 0x00,     // 5
+    0x00, 0xF8, 0xFC, 0xCE, 0xC6, 0xC6, 0xC6, 0xC6, 0xDE, 0x9C, 0x18, 0x00, 0x00, 0x1F, 0x3F, 0x71, 0x60, 0x60, 0x60, 0x60, 0x71, 0x3F, 0x1F, 0x00,     // 6
+    0x00, 0x1E, 0x1E, 0x06, 0x06, 0x06, 0x06, 0x86, 0xE6, 0x7E, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x78, 0x1E, 0x07, 0x01, 0x00, 0x00, 0x00,     // 7
+    0x00, 0x78, 0xFC, 0xCE, 0x86, 0x86, 0x86, 0x86, 0xCE, 0xFC, 0x78, 0x00, 0x00, 0x1E, 0x3F, 0x73, 0x61, 0x61, 0x61, 0x61, 0x73, 0x3F, 0x1E, 0x00,     // 8
+    0x00, 0xF8, 0xFC, 0x8E, 0x06, 0x06, 0x06, 0x06, 0x8E, 0xFC, 0xF8, 0x00, 0x00, 0x18, 0x39, 0x7B, 0x63, 0x63, 0x63, 0x63, 0x73, 0x3F, 0x1F, 0x00,     // 9
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00,     // :
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2C, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00,     // ;
+    0x00, 0x00, 0x80, 0xC0, 0xC0, 0xE0, 0x60, 0x70, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x07, 0x06, 0x0E, 0x0C, 0x0C, 0x00, 0x00,     // <
+    0x00, 0x00, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00,     // =
+    0x00, 0x00, 0x30, 0x30, 0x70, 0x60, 0xE0, 0xC0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0C, 0x0E, 0x06, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00,     // >
+    0x00, 0x18, 0x1C, 0x1E, 0x06, 0x06, 0x86, 0x86, 0xCE, 0xFC, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00,     // ?
+
+    0x00, 0xF8, 0xFC, 0x0E, 0xE6, 0xF6, 0x36, 0xF6, 0xF6, 0x0E, 0xFC, 0xF8, 0x00, 0x1F, 0x3F, 0x70, 0x67, 0x6F, 0x6C, 0x6F, 0x67, 0x6C, 0x2F, 0x07,     //@
+    0x00, 0x00, 0xF0, 0xFC, 0x1E, 0x06, 0x06, 0x06, 0xFE, 0xFE, 0x06, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x63, 0x03, 0x03, 0x63, 0x7F, 0x7F, 0x60, 0x00,     //A
+    0x00, 0x06, 0xFE, 0xFE, 0x86, 0x86, 0x86, 0x86, 0xCE, 0xFC, 0x78, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x61, 0x61, 0x61, 0x61, 0x73, 0x3F, 0x1E, 0x00,     //B
+    0x00, 0xF8, 0xFC, 0x0E, 0x06, 0x06, 0x06, 0x06, 0x1E, 0x1C, 0x18, 0x00, 0x00, 0x1F, 0x3F, 0x70, 0x60, 0x60, 0x60, 0x60, 0x78, 0x38, 0x18, 0x00,     //C
+    0x00, 0x06, 0xFE, 0xFE, 0x06, 0x06, 0x06, 0x06, 0x0E, 0xFC, 0xF8, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x60, 0x60, 0x60, 0x60, 0x70, 0x3F, 0x1F, 0x00,     //D
+    0x00, 0x06, 0xFE, 0xFE, 0x86, 0x86, 0x86, 0xC6, 0xC6, 0x0E, 0x0E, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x61, 0x61, 0x61, 0x63, 0x63, 0x70, 0x70, 0x00,     //E
+    0x00, 0x06, 0xFE, 0xFE, 0x86, 0x86, 0xC6, 0xC6, 0x06, 0x0E, 0x0E, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x61, 0x01, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00,     //F
+    0x00, 0xF8, 0xFC, 0x0E, 0x06, 0x06, 0x06, 0x06, 0x1E, 0x1C, 0x18, 0x00, 0x00, 0x1F, 0x3F, 0x70, 0x60, 0x60, 0x63, 0x63, 0x73, 0x3F, 0x1F, 0x00,     //G
+    0x00, 0x06, 0xFE, 0xFE, 0x86, 0x80, 0x80, 0x86, 0xFE, 0xFE, 0x06, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x61, 0x01, 0x01, 0x61, 0x7F, 0x7F, 0x60, 0x00,     //H
+    0x00, 0x00, 0x00, 0x00, 0x06, 0xFE, 0xFE, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x60, 0x00, 0x00, 0x00, 0x00,     //I
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xFE, 0xFE, 0x06, 0x00, 0x00, 0x00, 0x18, 0x38, 0x78, 0x60, 0x60, 0x70, 0x3F, 0x1F, 0x00, 0x00,     //J
+    0x00, 0x06, 0xFE, 0xFE, 0x86, 0x80, 0xC0, 0xF6, 0x7E, 0x1E, 0x06, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x61, 0x01, 0x03, 0x6F, 0x7E, 0x78, 0x60, 0x00,     //K
+    0x00, 0x06, 0xFE, 0xFE, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x60, 0x60, 0x60, 0x60, 0x60, 0x70, 0x70, 0x00,     //L
+    0x00, 0x06, 0xFE, 0xFE, 0x78, 0xE0, 0xE0, 0x78, 0xFE, 0xFE, 0x06, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x60, 0x01, 0x01, 0x60, 0x7F, 0x7F, 0x60, 0x00,     //M
+    0x00, 0x06, 0xFE, 0xFE, 0x78, 0xE0, 0x80, 0x06, 0xFE, 0xFE, 0x06, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x60, 0x01, 0x07, 0x1E, 0x7F, 0x7F, 0x60, 0x00,     //N
+    0x00, 0xF8, 0xFC, 0x0E, 0x06, 0x06, 0x06, 0x06, 0x0E, 0xFC, 0xF8, 0x00, 0x00, 0x1F, 0x3F, 0x70, 0x60, 0x60, 0x60, 0x60, 0x70, 0x3F, 0x1F, 0x00,     //O
+
+    0x00, 0x06, 0xFE, 0xFE, 0x06, 0x06, 0x06, 0x06, 0x8E, 0xFC, 0xF8, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x63, 0x03, 0x03, 0x03, 0x03, 0x01, 0x00, 0x00,     // P
+    0x00, 0xF8, 0xFC, 0x0E, 0x06, 0x06, 0x06, 0x06, 0x0E, 0xFC, 0xF8, 0x00, 0x00, 0x1F, 0x3F, 0x70, 0x60, 0x60, 0x6C, 0x7C, 0x38, 0x7F, 0x6F, 0x00,     // Q
+    0x00, 0x06, 0xFE, 0xFE, 0x06, 0x06, 0x06, 0x06, 0x8E, 0xFC, 0xF8, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x63, 0x03, 0x03, 0x6F, 0x7F, 0x79, 0x60, 0x00,     // R
+    0x00, 0x78, 0xFC, 0xCE, 0x86, 0x86, 0x86, 0x86, 0x9E, 0x1C, 0x18, 0x00, 0x00, 0x18, 0x38, 0x79, 0x61, 0x61, 0x61, 0x61, 0x73, 0x3F, 0x1E, 0x00,     // S
+    0x00, 0x0E, 0x0E, 0x06, 0x06, 0xFE, 0xFE, 0x06, 0x06, 0x0E, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x60, 0x00, 0x00, 0x00, 0x00,     // T
+    0x00, 0x06, 0xFE, 0xFE, 0x06, 0x00, 0x00, 0x06, 0xFE, 0xFE, 0x06, 0x00, 0x00, 0x00, 0x1F, 0x3F, 0x70, 0x60, 0x60, 0x70, 0x3F, 0x1F, 0x00, 0x00,     // U
+    0x00, 0x06, 0xFE, 0xFE, 0x06, 0x00, 0x00, 0x06, 0xFE, 0xFE, 0x06, 0x00, 0x00, 0x00, 0x03, 0x0F, 0x3E, 0x78, 0x78, 0x3E, 0x0F, 0x03, 0x00, 0x00,     // V
+    0x00, 0x06, 0xFE, 0xFE, 0x06, 0x80, 0x80, 0x06, 0xFE, 0xFE, 0x06, 0x00, 0x00, 0x00, 0x1F, 0x7F, 0x78, 0x1F, 0x1F, 0x78, 0x7F, 0x1F, 0x00, 0x00,     // W
+    0x00, 0x06, 0x1E, 0x7E, 0xF6, 0xC0, 0xC0, 0xF6, 0x7E, 0x1E, 0x06, 0x00, 0x00, 0x60, 0x78, 0x7E, 0x6F, 0x03, 0x03, 0x6F, 0x7E, 0x78, 0x60, 0x00,     // X
+    0x00, 0x06, 0x7E, 0xFE, 0xC6, 0x00, 0x00, 0xC6, 0xFE, 0x7E, 0x06, 0x00, 0x00, 0x00, 0x00, 0x01, 0x63, 0x7F, 0x7F, 0x63, 0x01, 0x00, 0x00, 0x00,     // Y
+    0x00, 0x0E, 0x0E, 0x06, 0x06, 0x86, 0xC6, 0xE6, 0x76, 0x3E, 0x1E, 0x00, 0x00, 0x78, 0x7C, 0x6E, 0x67, 0x63, 0x61, 0x60, 0x60, 0x70, 0x70, 0x00,     // Z
+    0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00,     // [
+    0x00, 0x00, 0x06, 0x1E, 0x78, 0xE0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x1E, 0x78, 0x60, 0x00, 0x00,     // обратный слеш
+    0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,     // ]
+    0x00, 0x00, 0x00, 0x30, 0x3C, 0x1E, 0x1E, 0x3C, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,     // ^
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x00,     // _
+
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,     // `
+    0x00, 0xC0, 0xE0, 0x70, 0x30, 0x30, 0x30, 0x70, 0xE0, 0xC0, 0x00, 0x00, 0x00, 0x1C, 0x3E, 0x77, 0x63, 0x63, 0x63, 0x33, 0x7F, 0x7F, 0x60, 0x00,     // a
+    0x00, 0x06, 0xFE, 0xFE, 0x66, 0x30, 0x30, 0x30, 0x70, 0xE0, 0xC0, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x30, 0x60, 0x60, 0x60, 0x70, 0x3F, 0x1F, 0x00,     // b
+    0x00, 0xC0, 0xE0, 0x70, 0x30, 0x30, 0x30, 0x30, 0xF0, 0xE0, 0xC0, 0x00, 0x00, 0x1F, 0x3F, 0x70, 0x60, 0x60, 0x60, 0x60, 0x78, 0x38, 0x18, 0x00,     // c
+    0x00, 0xC0, 0xE0, 0x70, 0x30, 0x30, 0x30, 0x66, 0xFE, 0xFE, 0x06, 0x00, 0x00, 0x1F, 0x3F, 0x70, 0x60, 0x60, 0x60, 0x30, 0x7F, 0x7F, 0x60, 0x00,     // d
+    0x00, 0xC0, 0xE0, 0x70, 0x30, 0x30, 0x30, 0x30, 0x70, 0xE0, 0xC0, 0x00, 0x00, 0x1F, 0x3F, 0x76, 0x66, 0x66, 0x66, 0x66, 0x76, 0x37, 0x17, 0x00,     // e
+    0x00, 0x00, 0x00, 0x60, 0xFC, 0xFE, 0x66, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,     // f
+    0x00, 0xC0, 0xE0, 0x70, 0x30, 0x30, 0x30, 0x60, 0xF0, 0xF0, 0x30, 0x00, 0x00, 0x33, 0x77, 0xEE, 0xCC, 0xCC, 0xCC, 0xEE, 0x7F, 0x3F, 0x00, 0x00,     // g
+    0x00, 0x06, 0xFE, 0xFE, 0x66, 0x30, 0x30, 0x70, 0xE0, 0xC0, 0x00, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x60, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x60, 0x00,     // h
+    0x00, 0x00, 0x00, 0x00, 0x30, 0xF6, 0xF6, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x60, 0x00, 0x00, 0x00, 0x00,     // i
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xF6, 0xF6, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x60, 0x7F, 0x3F, 0x00, 0x00, 0x00, 0x00,     // j
+    0x00, 0x06, 0xFE, 0xFE, 0x06, 0x80, 0xF0, 0xF0, 0x70, 0x30, 0x30, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x63, 0x07, 0x0F, 0x7C, 0x78, 0x70, 0x60, 0x00,     // k
+    0x00, 0x00, 0x00, 0x00, 0x06, 0xFE, 0xFE, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x60, 0x00, 0x00, 0x00, 0x00,     // l
+    0x30, 0xF0, 0xE0, 0x30, 0x30, 0xF0, 0xE0, 0x30, 0x30, 0xF0, 0xE0, 0x00, 0x60, 0x7F, 0x7F, 0x60, 0x00, 0x7F, 0x7F, 0x00, 0x60, 0x7F, 0x7F, 0x60,     // m
+    0x00, 0x30, 0xF0, 0xF0, 0x60, 0x30, 0x30, 0x70, 0xE0, 0xC0, 0x00, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x60, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x60, 0x00,     // n
+    0x00, 0xC0, 0xE0, 0x70, 0x30, 0x30, 0x30, 0x30, 0x70, 0xE0, 0xC0, 0x00, 0x00, 0x1F, 0x3F, 0x70, 0x60, 0x60, 0x60, 0x60, 0x70, 0x3F, 0x1F, 0x00,     // o
+
+    0x00, 0x30, 0xF0, 0xF0, 0x60, 0x30, 0x30, 0x30, 0x70, 0xE0, 0xC0, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 0xD8, 0x30, 0x30, 0x30, 0x38, 0x1F, 0x0F, 0x00,     // p
+    0x00, 0xC0, 0xE0, 0x70, 0x30, 0x30, 0x30, 0x60, 0xF0, 0xF0, 0x30, 0x00, 0x00, 0x0F, 0x1F, 0x38, 0x30, 0x30, 0x30, 0xD8, 0xFF, 0xFF, 0xC0, 0x00,     // q
+    0x00, 0x00, 0x30, 0xF0, 0xF0, 0x60, 0x30, 0x30, 0x70, 0x60, 0x00, 0x00, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,     // r
+    0x00, 0xE0, 0xF0, 0x30, 0x30, 0x30, 0x30, 0x30, 0x70, 0x70, 0x60, 0x00, 0x00, 0x19, 0x3B, 0x7B, 0x63, 0x63, 0x63, 0x63, 0x77, 0x3E, 0x1C, 0x00,     // s
+    0x00, 0x00, 0x00, 0x30, 0xFE, 0xFE, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x7F, 0x60, 0x60, 0x00, 0x00, 0x00, 0x00,     // t
+    0x00, 0x30, 0xF0, 0xF0, 0x30, 0x00, 0x00, 0x30, 0xF0, 0xF0, 0x30, 0x00, 0x00, 0x00, 0x1F, 0x3F, 0x70, 0x60, 0x60, 0x30, 0x7F, 0x7F, 0x60, 0x00,     // u
+    0x00, 0x30, 0xF0, 0xF0, 0x30, 0x00, 0x00, 0x30, 0xF0, 0xF0, 0x30, 0x00, 0x00, 0x00, 0x00, 0x07, 0x1F, 0x78, 0x78, 0x1F, 0x07, 0x00, 0x00, 0x00,     // v
+    0x30, 0xF0, 0xF0, 0x30, 0x00, 0x00, 0x00, 0x00, 0x30, 0xF0, 0xF0, 0x30, 0x00, 0x03, 0x1F, 0x7C, 0x70, 0x1E, 0x1E, 0x70, 0x7C, 0x1F, 0x03, 0x00,     // w
+    0x00, 0x00, 0x30, 0x70, 0xF0, 0x80, 0x80, 0xF0, 0x70, 0x30, 0x00, 0x00, 0x00, 0x00, 0x60, 0x70, 0x7D, 0x0F, 0x0F, 0x7D, 0x70, 0x60, 0x00, 0x00,     // x
+    0x00, 0x00, 0x30, 0xF0, 0xC0, 0x00, 0x00, 0xC0, 0xF0, 0x30, 0x00, 0x00, 0x00, 0x00, 0x60, 0x60, 0x73, 0x3F, 0x0F, 0x03, 0x00, 0x00, 0x00, 0x00,     // y
+    0x00, 0x00, 0x70, 0x70, 0x30, 0x30, 0xB0, 0xF0, 0xF0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x78, 0x7C, 0x6E, 0x67, 0x63, 0x61, 0x70, 0x70, 0x00, 0x00,     // z
+    0x00, 0x00, 0x80, 0xC0, 0xFC, 0x7E, 0x07, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x3F, 0x7E, 0xE0, 0xC0, 0xC0, 0x00, 0x00, 0x00,     // {
+    0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00,     // |
+    0x00, 0x00, 0x00, 0x03, 0x03, 0x07, 0x7E, 0xFC, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xC0, 0xE0, 0x7E, 0x3F, 0x03, 0x01, 0x00, 0x00,     // }
+    0x00, 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0x80, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x03, 0x03, 0x03, 0x03, 0x01, 0x00,     // ~
+    0
+};
+
+// ширина символов, высота символов, код первого символа и количество символов
+const uint8_t fontRus12x10[]  = {
+    0x0C, 0x10, 0x20,0xB0,
+
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,     // пробел
+    0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00,     // !
+    0x00, 0x00, 0x00, 0x16, 0x0E, 0x00, 0x00, 0x16, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,     // "
+    0x00, 0x00, 0x60, 0xE0, 0xF8, 0x7E, 0x6E, 0xE0, 0xF8, 0x7E, 0x6E, 0x00, 0x00, 0x76, 0x7E, 0x1F, 0x07, 0x76, 0x7E, 0x1F, 0x07, 0x06, 0x00, 0x00,     // #
+    0x00, 0x78, 0xFC, 0xCE, 0x86, 0xFF, 0xFF, 0x86, 0x9E, 0x1C, 0x18, 0x00, 0x00, 0x18, 0x38, 0x79, 0x61, 0xFF, 0xFF, 0x61, 0x73, 0x3F, 0x1E, 0x00,     // $
+    0x00, 0x3C, 0x7E, 0x66, 0x7E, 0xBC, 0xE0, 0x78, 0x1E, 0x06, 0x00, 0x00, 0x00, 0x00, 0x60, 0x78, 0x1E, 0x07, 0x3D, 0x7E, 0x66, 0x7E, 0x3C, 0x00,     // %
+    0x00, 0x00, 0x00, 0x80, 0x80, 0xFC, 0xFE, 0xE6, 0xE6, 0x7E, 0x3C, 0x00, 0x00, 0x1E, 0x3F, 0x73, 0x61, 0x61, 0x71, 0x7F, 0x3F, 0x7C, 0x6C, 0x00,     // &
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,     // '
+    0x00, 0x00, 0x00, 0x00, 0xF0, 0xFC, 0x0E, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x3F, 0x70, 0xC0, 0x00, 0x00, 0x00, 0x00,     // (
+    0x00, 0x00, 0x00, 0x00, 0x03, 0x0E, 0xFC, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x70, 0x3F, 0x0F, 0x00, 0x00, 0x00, 0x00,     // )
+    0x00, 0x00, 0x00, 0x08, 0x78, 0x3C, 0x3C, 0x78, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,     // *
+    0x00, 0x00, 0x80, 0x80, 0x80, 0xF0, 0xF0, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x0F, 0x0F, 0x01, 0x01, 0x01, 0x00, 0x00,     // +
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00,     // ,
+    0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,     // -
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00,     // .
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xE0, 0x78, 0x1E, 0x06, 0x00, 0x00, 0x00, 0x00, 0x60, 0x78, 0x1E, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,     // /
+
+    0x00, 0xF8, 0xFC, 0x0E, 0x06, 0x06, 0x06, 0x06, 0x0E, 0xFC, 0xF8, 0x00, 0x00, 0x1F, 0x3F, 0x70, 0x60, 0x60, 0x60, 0x60, 0x70, 0x3F, 0x1F, 0x00,     // 0
+    0x00, 0x00, 0x00, 0x30, 0x38, 0x1C, 0xFE, 0xFE, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x60, 0x00, 0x00, 0x00,     // 1
+    0x00, 0x18, 0x1C, 0x1E, 0x06, 0x06, 0x06, 0x86, 0xCE, 0xFC, 0x78, 0x00, 0x00, 0x78, 0x7C, 0x7E, 0x66, 0x67, 0x63, 0x63, 0x61, 0x70, 0x70, 0x00,     // 2
+    0x00, 0x0E, 0x0E, 0x06, 0x06, 0xC6, 0xE6, 0xF6, 0xFE, 0x9E, 0x0E, 0x00, 0x00, 0x18, 0x38, 0x78, 0x60, 0x60, 0x60, 0x60, 0x71, 0x3F, 0x1F, 0x00,     // 3
+    0x00, 0x00, 0x80, 0xC0, 0xE0, 0x70, 0x38, 0x1C, 0xFE, 0xFE, 0x06, 0x00, 0x00, 0x07, 0x07, 0x07, 0x06, 0x06, 0x06, 0x66, 0x7F, 0x7F, 0x66, 0x00,     // 4
+    0x00, 0xFE, 0xFE, 0xE6, 0x66, 0x66, 0x66, 0x66, 0xE6, 0xCE, 0x8E, 0x00, 0x00, 0x18, 0x38, 0x78, 0x60, 0x60, 0x60, 0x60, 0x70, 0x3F, 0x1F, 0x00,     // 5
+    0x00, 0xF8, 0xFC, 0xCE, 0xC6, 0xC6, 0xC6, 0xC6, 0xDE, 0x9C, 0x18, 0x00, 0x00, 0x1F, 0x3F, 0x71, 0x60, 0x60, 0x60, 0x60, 0x71, 0x3F, 0x1F, 0x00,     // 6
+    0x00, 0x1E, 0x1E, 0x06, 0x06, 0x06, 0x06, 0x86, 0xE6, 0x7E, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x78, 0x1E, 0x07, 0x01, 0x00, 0x00, 0x00,     // 7
+    0x00, 0x78, 0xFC, 0xCE, 0x86, 0x86, 0x86, 0x86, 0xCE, 0xFC, 0x78, 0x00, 0x00, 0x1E, 0x3F, 0x73, 0x61, 0x61, 0x61, 0x61, 0x73, 0x3F, 0x1E, 0x00,     // 8
+    0x00, 0xF8, 0xFC, 0x8E, 0x06, 0x06, 0x06, 0x06, 0x8E, 0xFC, 0xF8, 0x00, 0x00, 0x18, 0x39, 0x7B, 0x63, 0x63, 0x63, 0x63, 0x73, 0x3F, 0x1F, 0x00,     // 9
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00,     // :
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2C, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00,     // ;
+    0x00, 0x00, 0x80, 0xC0, 0xC0, 0xE0, 0x60, 0x70, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x07, 0x06, 0x0E, 0x0C, 0x0C, 0x00, 0x00,     // <
+    0x00, 0x00, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00,     // =
+    0x00, 0x00, 0x30, 0x30, 0x70, 0x60, 0xE0, 0xC0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0C, 0x0E, 0x06, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00,     // >
+    0x00, 0x18, 0x1C, 0x1E, 0x06, 0x06, 0x86, 0x86, 0xCE, 0xFC, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00,     // ?
+
+    0x00, 0xF8, 0xFC, 0x0E, 0xE6, 0xF6, 0x36, 0xF6, 0xF6, 0x0E, 0xFC, 0xF8, 0x00, 0x1F, 0x3F, 0x70, 0x67, 0x6F, 0x6C, 0x6F, 0x67, 0x6C, 0x2F, 0x07,     // @
+    0x00, 0x00, 0xF0, 0xFC, 0x1E, 0x06, 0x06, 0x06, 0xFE, 0xFE, 0x06, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x63, 0x03, 0x03, 0x63, 0x7F, 0x7F, 0x60, 0x00,     // A
+    0x00, 0x06, 0xFE, 0xFE, 0x86, 0x86, 0x86, 0x86, 0xCE, 0xFC, 0x78, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x61, 0x61, 0x61, 0x61, 0x73, 0x3F, 0x1E, 0x00,     // B
+    0x00, 0xF8, 0xFC, 0x0E, 0x06, 0x06, 0x06, 0x06, 0x1E, 0x1C, 0x18, 0x00, 0x00, 0x1F, 0x3F, 0x70, 0x60, 0x60, 0x60, 0x60, 0x78, 0x38, 0x18, 0x00,     // C
+    0x00, 0x06, 0xFE, 0xFE, 0x06, 0x06, 0x06, 0x06, 0x0E, 0xFC, 0xF8, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x60, 0x60, 0x60, 0x60, 0x70, 0x3F, 0x1F, 0x00,     // D
+    0x00, 0x06, 0xFE, 0xFE, 0x86, 0x86, 0x86, 0xC6, 0xC6, 0x0E, 0x0E, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x61, 0x61, 0x61, 0x63, 0x63, 0x70, 0x70, 0x00,     // E
+    0x00, 0x06, 0xFE, 0xFE, 0x86, 0x86, 0xC6, 0xC6, 0x06, 0x0E, 0x0E, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x61, 0x01, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00,     // F
+    0x00, 0xF8, 0xFC, 0x0E, 0x06, 0x06, 0x06, 0x06, 0x1E, 0x1C, 0x18, 0x00, 0x00, 0x1F, 0x3F, 0x70, 0x60, 0x60, 0x63, 0x63, 0x73, 0x3F, 0x1F, 0x00,     // G
+    0x00, 0x06, 0xFE, 0xFE, 0x86, 0x80, 0x80, 0x86, 0xFE, 0xFE, 0x06, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x61, 0x01, 0x01, 0x61, 0x7F, 0x7F, 0x60, 0x00,     // H
+    0x00, 0x00, 0x00, 0x00, 0x06, 0xFE, 0xFE, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x60, 0x00, 0x00, 0x00, 0x00,     // I
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xFE, 0xFE, 0x06, 0x00, 0x00, 0x00, 0x18, 0x38, 0x78, 0x60, 0x60, 0x70, 0x3F, 0x1F, 0x00, 0x00,     // J
+    0x00, 0x06, 0xFE, 0xFE, 0x86, 0x80, 0xC0, 0xF6, 0x7E, 0x1E, 0x06, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x61, 0x01, 0x03, 0x6F, 0x7E, 0x78, 0x60, 0x00,     // K
+    0x00, 0x06, 0xFE, 0xFE, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x60, 0x60, 0x60, 0x60, 0x60, 0x70, 0x70, 0x00,     // L
+    0x00, 0x06, 0xFE, 0xFE, 0x78, 0xE0, 0xE0, 0x78, 0xFE, 0xFE, 0x06, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x60, 0x01, 0x01, 0x60, 0x7F, 0x7F, 0x60, 0x00,     // M
+    0x00, 0x06, 0xFE, 0xFE, 0x78, 0xE0, 0x80, 0x06, 0xFE, 0xFE, 0x06, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x60, 0x01, 0x07, 0x1E, 0x7F, 0x7F, 0x60, 0x00,     // N
+    0x00, 0xF8, 0xFC, 0x0E, 0x06, 0x06, 0x06, 0x06, 0x0E, 0xFC, 0xF8, 0x00, 0x00, 0x1F, 0x3F, 0x70, 0x60, 0x60, 0x60, 0x60, 0x70, 0x3F, 0x1F, 0x00,     // O
+
+    0x00, 0x06, 0xFE, 0xFE, 0x06, 0x06, 0x06, 0x06, 0x8E, 0xFC, 0xF8, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x63, 0x03, 0x03, 0x03, 0x03, 0x01, 0x00, 0x00,     // P
+    0x00, 0xF8, 0xFC, 0x0E, 0x06, 0x06, 0x06, 0x06, 0x0E, 0xFC, 0xF8, 0x00, 0x00, 0x1F, 0x3F, 0x70, 0x60, 0x60, 0x6C, 0x7C, 0x38, 0x7F, 0x6F, 0x00,     // Q
+    0x00, 0x06, 0xFE, 0xFE, 0x06, 0x06, 0x06, 0x06, 0x8E, 0xFC, 0xF8, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x63, 0x03, 0x03, 0x6F, 0x7F, 0x79, 0x60, 0x00,     // R
+    0x00, 0x78, 0xFC, 0xCE, 0x86, 0x86, 0x86, 0x86, 0x9E, 0x1C, 0x18, 0x00, 0x00, 0x18, 0x38, 0x79, 0x61, 0x61, 0x61, 0x61, 0x73, 0x3F, 0x1E, 0x00,     // S
+    0x00, 0x0E, 0x0E, 0x06, 0x06, 0xFE, 0xFE, 0x06, 0x06, 0x0E, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x60, 0x00, 0x00, 0x00, 0x00,     // T
+    0x00, 0x06, 0xFE, 0xFE, 0x06, 0x00, 0x00, 0x06, 0xFE, 0xFE, 0x06, 0x00, 0x00, 0x00, 0x1F, 0x3F, 0x70, 0x60, 0x60, 0x70, 0x3F, 0x1F, 0x00, 0x00,     // U
+    0x00, 0x06, 0xFE, 0xFE, 0x06, 0x00, 0x00, 0x06, 0xFE, 0xFE, 0x06, 0x00, 0x00, 0x00, 0x03, 0x0F, 0x3E, 0x78, 0x78, 0x3E, 0x0F, 0x03, 0x00, 0x00,     // V
+    0x00, 0x06, 0xFE, 0xFE, 0x06, 0x80, 0x80, 0x06, 0xFE, 0xFE, 0x06, 0x00, 0x00, 0x00, 0x1F, 0x7F, 0x78, 0x1F, 0x1F, 0x78, 0x7F, 0x1F, 0x00, 0x00,     // W
+    0x00, 0x06, 0x1E, 0x7E, 0xF6, 0xC0, 0xC0, 0xF6, 0x7E, 0x1E, 0x06, 0x00, 0x00, 0x60, 0x78, 0x7E, 0x6F, 0x03, 0x03, 0x6F, 0x7E, 0x78, 0x60, 0x00,     // X
+    0x00, 0x06, 0x7E, 0xFE, 0xC6, 0x00, 0x00, 0xC6, 0xFE, 0x7E, 0x06, 0x00, 0x00, 0x00, 0x00, 0x01, 0x63, 0x7F, 0x7F, 0x63, 0x01, 0x00, 0x00, 0x00,     // Y
+    0x00, 0x0E, 0x0E, 0x06, 0x06, 0x86, 0xC6, 0xE6, 0x76, 0x3E, 0x1E, 0x00, 0x00, 0x78, 0x7C, 0x6E, 0x67, 0x63, 0x61, 0x60, 0x60, 0x70, 0x70, 0x00,     // Z
+    0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00,     // [
+    0x00, 0x00, 0x06, 0x1E, 0x78, 0xE0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x1E, 0x78, 0x60, 0x00, 0x00,     // обратный слеш
+    0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,     // ]
+    0x00, 0x00, 0x00, 0x30, 0x3C, 0x1E, 0x1E, 0x3C, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,     // ^
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x00,     // _
+
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,     // `
+    0x00, 0xC0, 0xE0, 0x70, 0x30, 0x30, 0x30, 0x70, 0xE0, 0xC0, 0x00, 0x00, 0x00, 0x1C, 0x3E, 0x77, 0x63, 0x63, 0x63, 0x33, 0x7F, 0x7F, 0x60, 0x00,     // a
+    0x00, 0x06, 0xFE, 0xFE, 0x66, 0x30, 0x30, 0x30, 0x70, 0xE0, 0xC0, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x30, 0x60, 0x60, 0x60, 0x70, 0x3F, 0x1F, 0x00,     // b
+    0x00, 0xC0, 0xE0, 0x70, 0x30, 0x30, 0x30, 0x30, 0xF0, 0xE0, 0xC0, 0x00, 0x00, 0x1F, 0x3F, 0x70, 0x60, 0x60, 0x60, 0x60, 0x78, 0x38, 0x18, 0x00,     // c
+    0x00, 0xC0, 0xE0, 0x70, 0x30, 0x30, 0x30, 0x66, 0xFE, 0xFE, 0x06, 0x00, 0x00, 0x1F, 0x3F, 0x70, 0x60, 0x60, 0x60, 0x30, 0x7F, 0x7F, 0x60, 0x00,     // d
+    0x00, 0xC0, 0xE0, 0x70, 0x30, 0x30, 0x30, 0x30, 0x70, 0xE0, 0xC0, 0x00, 0x00, 0x1F, 0x3F, 0x76, 0x66, 0x66, 0x66, 0x66, 0x76, 0x37, 0x17, 0x00,     // e
+    0x00, 0x00, 0x00, 0x60, 0xFC, 0xFE, 0x66, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,     // f
+    0x00, 0xC0, 0xE0, 0x70, 0x30, 0x30, 0x30, 0x60, 0xF0, 0xF0, 0x30, 0x00, 0x00, 0x33, 0x77, 0xEE, 0xCC, 0xCC, 0xCC, 0xEE, 0x7F, 0x3F, 0x00, 0x00,     // g
+    0x00, 0x06, 0xFE, 0xFE, 0x66, 0x30, 0x30, 0x70, 0xE0, 0xC0, 0x00, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x60, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x60, 0x00,     // h
+    0x00, 0x00, 0x00, 0x00, 0x30, 0xF6, 0xF6, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x60, 0x00, 0x00, 0x00, 0x00,     // i
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xF6, 0xF6, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x60, 0x7F, 0x3F, 0x00, 0x00, 0x00, 0x00,     // j
+    0x00, 0x06, 0xFE, 0xFE, 0x06, 0x80, 0xF0, 0xF0, 0x70, 0x30, 0x30, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x63, 0x07, 0x0F, 0x7C, 0x78, 0x70, 0x60, 0x00,     // k
+    0x00, 0x00, 0x00, 0x00, 0x06, 0xFE, 0xFE, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x60, 0x00, 0x00, 0x00, 0x00,     // l
+    0x30, 0xF0, 0xE0, 0x30, 0x30, 0xF0, 0xE0, 0x30, 0x30, 0xF0, 0xE0, 0x00, 0x60, 0x7F, 0x7F, 0x60, 0x00, 0x7F, 0x7F, 0x00, 0x60, 0x7F, 0x7F, 0x60,     // m
+    0x00, 0x30, 0xF0, 0xF0, 0x60, 0x30, 0x30, 0x70, 0xE0, 0xC0, 0x00, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x60, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x60, 0x00,     // n
+    0x00, 0xC0, 0xE0, 0x70, 0x30, 0x30, 0x30, 0x30, 0x70, 0xE0, 0xC0, 0x00, 0x00, 0x1F, 0x3F, 0x70, 0x60, 0x60, 0x60, 0x60, 0x70, 0x3F, 0x1F, 0x00,     // o
+
+    0x00, 0x30, 0xF0, 0xF0, 0x60, 0x30, 0x30, 0x30, 0x70, 0xE0, 0xC0, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 0xD8, 0x30, 0x30, 0x30, 0x38, 0x1F, 0x0F, 0x00,     // p
+    0x00, 0xC0, 0xE0, 0x70, 0x30, 0x30, 0x30, 0x60, 0xF0, 0xF0, 0x30, 0x00, 0x00, 0x0F, 0x1F, 0x38, 0x30, 0x30, 0x30, 0xD8, 0xFF, 0xFF, 0xC0, 0x00,     // q
+    0x00, 0x00, 0x30, 0xF0, 0xF0, 0x60, 0x30, 0x30, 0x70, 0x60, 0x00, 0x00, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,     // r
+    0x00, 0xE0, 0xF0, 0x30, 0x30, 0x30, 0x30, 0x30, 0x70, 0x70, 0x60, 0x00, 0x00, 0x19, 0x3B, 0x7B, 0x63, 0x63, 0x63, 0x63, 0x77, 0x3E, 0x1C, 0x00,     // s
+    0x00, 0x00, 0x00, 0x30, 0xFE, 0xFE, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x7F, 0x60, 0x60, 0x00, 0x00, 0x00, 0x00,     // t
+    0x00, 0x30, 0xF0, 0xF0, 0x30, 0x00, 0x00, 0x30, 0xF0, 0xF0, 0x30, 0x00, 0x00, 0x00, 0x1F, 0x3F, 0x70, 0x60, 0x60, 0x30, 0x7F, 0x7F, 0x60, 0x00,     // u
+    0x00, 0x30, 0xF0, 0xF0, 0x30, 0x00, 0x00, 0x30, 0xF0, 0xF0, 0x30, 0x00, 0x00, 0x00, 0x00, 0x07, 0x1F, 0x78, 0x78, 0x1F, 0x07, 0x00, 0x00, 0x00,     // v
+    0x30, 0xF0, 0xF0, 0x30, 0x00, 0x00, 0x00, 0x00, 0x30, 0xF0, 0xF0, 0x30, 0x00, 0x03, 0x1F, 0x7C, 0x70, 0x1E, 0x1E, 0x70, 0x7C, 0x1F, 0x03, 0x00,     // w
+    0x00, 0x00, 0x30, 0x70, 0xF0, 0x80, 0x80, 0xF0, 0x70, 0x30, 0x00, 0x00, 0x00, 0x00, 0x60, 0x70, 0x7D, 0x0F, 0x0F, 0x7D, 0x70, 0x60, 0x00, 0x00,     // x
+    0x00, 0x00, 0x30, 0xF0, 0xC0, 0x00, 0x00, 0xC0, 0xF0, 0x30, 0x00, 0x00, 0x00, 0x00, 0x60, 0x60, 0x73, 0x3F, 0x0F, 0x03, 0x00, 0x00, 0x00, 0x00,     // y
+    0x00, 0x00, 0x70, 0x70, 0x30, 0x30, 0xB0, 0xF0, 0xF0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x78, 0x7C, 0x6E, 0x67, 0x63, 0x61, 0x70, 0x70, 0x00, 0x00,     // z
+    0x00, 0x00, 0x80, 0xC0, 0xFC, 0x7E, 0x07, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x3F, 0x7E, 0xE0, 0xC0, 0xC0, 0x00, 0x00, 0x00,     // {
+    0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00,     // |
+    0x00, 0x00, 0x00, 0x03, 0x03, 0x07, 0x7E, 0xFC, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xC0, 0xE0, 0x7E, 0x3F, 0x03, 0x01, 0x00, 0x00,     // }
+    0x00, 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0x80, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x03, 0x03, 0x03, 0x03, 0x01, 0x00,     // ~
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,     // ⌂
+
+    0x00, 0x00, 0xF0, 0xFC, 0x1E, 0x06, 0x06, 0x06, 0xFE, 0xFE, 0x06, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x63, 0x03, 0x03, 0x63, 0x7F, 0x7F, 0x60, 0x00,     // А
+    0x00, 0x06, 0xFE, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x8E, 0x0E, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x60, 0x60, 0x60, 0x60, 0x71, 0x3F, 0x1F, 0x00,     // Б
+    0x00, 0x06, 0xFE, 0xFE, 0x86, 0x86, 0x86, 0x86, 0xCE, 0xFC, 0x78, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x61, 0x61, 0x61, 0x61, 0x73, 0x3F, 0x1E, 0x00,     // В
+    0x00, 0x06, 0xFE, 0xFE, 0x06, 0x06, 0x06, 0x06, 0x06, 0x0E, 0x0E, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,     // Г
+    0x00, 0x00, 0xF0, 0xFC, 0x1E, 0x06, 0x06, 0x06, 0xFE, 0xFE, 0x06, 0x00, 0x00, 0x78, 0x7F, 0x1F, 0x18, 0x18, 0x18, 0x18, 0x1F, 0x7F, 0x78, 0x00,     // Д
+    0x00, 0x06, 0xFE, 0xFE, 0x86, 0x86, 0x86, 0xC6, 0xC6, 0x0E, 0x0E, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x61, 0x61, 0x61, 0x63, 0x63, 0x70, 0x70, 0x00,     // Е
+    0x00, 0x06, 0x7E, 0xFE, 0xC0, 0xFE, 0xFE, 0xC0, 0xFE, 0x7E, 0x06, 0x00, 0x00, 0x60, 0x7E, 0x7F, 0x03, 0x7F, 0x7F, 0x03, 0x7F, 0x7E, 0x60, 0x00,     // Ж
+    0x00, 0x18, 0x1C, 0x1E, 0x06, 0x06, 0xC6, 0xC6, 0xEE, 0xFC, 0x38, 0x00, 0x00, 0x18, 0x38, 0x78, 0x60, 0x60, 0x60, 0x60, 0x71, 0x3F, 0x1F, 0x00,     // З
+    0x00, 0x06, 0xFE, 0xFE, 0x06, 0x80, 0xE0, 0x78, 0xFE, 0xFE, 0x06, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x1E, 0x07, 0x01, 0x60, 0x7F, 0x7F, 0x60, 0x00,     // И
+    0x00, 0x06, 0xFE, 0xFE, 0x01, 0x83, 0xE3, 0x79, 0xFE, 0xFE, 0x06, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x1E, 0x07, 0x01, 0x60, 0x7F, 0x7F, 0x60, 0x00,     // Й
+    0x00, 0x06, 0xFE, 0xFE, 0x86, 0x80, 0xC0, 0xF6, 0x7E, 0x1E, 0x06, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x61, 0x01, 0x03, 0x6F, 0x7E, 0x78, 0x60, 0x00,     // К
+    0x00, 0x00, 0xF0, 0xFC, 0x1E, 0x06, 0x06, 0x06, 0xFE, 0xFE, 0x06, 0x00, 0x00, 0x60, 0x7F, 0x3F, 0x00, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x60, 0x00,     // Л
+    0x00, 0x06, 0xFE, 0xFE, 0x78, 0xE0, 0xE0, 0x78, 0xFE, 0xFE, 0x06, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x60, 0x01, 0x01, 0x60, 0x7F, 0x7F, 0x60, 0x00,     // М
+    0x00, 0x06, 0xFE, 0xFE, 0x86, 0x80, 0x80, 0x86, 0xFE, 0xFE, 0x06, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x61, 0x01, 0x01, 0x61, 0x7F, 0x7F, 0x60, 0x00,     // Н
+    0x00, 0xF8, 0xFC, 0x0E, 0x06, 0x06, 0x06, 0x06, 0x0E, 0xFC, 0xF8, 0x00, 0x00, 0x1F, 0x3F, 0x70, 0x60, 0x60, 0x60, 0x60, 0x70, 0x3F, 0x1F, 0x00,     // О
+    0x00, 0x06, 0xFE, 0xFE, 0x06, 0x06, 0x06, 0x06, 0xFE, 0xFE, 0x06, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x60, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x60, 0x00,     // П
+
+    0x00, 0x06, 0xFE, 0xFE, 0x06, 0x06, 0x06, 0x06, 0x8E, 0xFC, 0xF8, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x63, 0x03, 0x03, 0x03, 0x03, 0x01, 0x00, 0x00,     // Р
+    0x00, 0xF8, 0xFC, 0x0E, 0x06, 0x06, 0x06, 0x06, 0x1E, 0x1C, 0x18, 0x00, 0x00, 0x1F, 0x3F, 0x70, 0x60, 0x60, 0x60, 0x60, 0x78, 0x38, 0x18, 0x00,     // С
+    0x00, 0x0E, 0x0E, 0x06, 0x06, 0xFE, 0xFE, 0x06, 0x06, 0x0E, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x60, 0x00, 0x00, 0x00, 0x00,     // Т
+    0x00, 0x06, 0x1E, 0x7E, 0xF6, 0xC0, 0xC0, 0xF6, 0x7E, 0x1E, 0x06, 0x00, 0x00, 0x60, 0x60, 0x70, 0x7D, 0x1F, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00,     // У
+    0x00, 0xF0, 0xF8, 0x1C, 0x0C, 0xFE, 0xFE, 0x0C, 0x1C, 0xF8, 0xF0, 0x00, 0x00, 0x0F, 0x1F, 0x38, 0x30, 0x7F, 0x7F, 0x30, 0x38, 0x1F, 0x0F, 0x00,     // Ф
+    0x00, 0x06, 0x1E, 0x7E, 0xF6, 0xC0, 0xC0, 0xF6, 0x7E, 0x1E, 0x06, 0x00, 0x00, 0x60, 0x78, 0x7E, 0x6F, 0x03, 0x03, 0x6F, 0x7E, 0x78, 0x60, 0x00,     // Х
+    0x00, 0x06, 0xFE, 0xFE, 0x06, 0x00, 0x00, 0x06, 0xFE, 0xFE, 0x06, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x60, 0x60, 0x60, 0x60, 0x7F, 0x7F, 0xE0, 0xE0,     // Ц
+    0x00, 0x06, 0xFE, 0xFE, 0x86, 0x00, 0x00, 0x06, 0xFE, 0xFE, 0x06, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x03, 0x63, 0x7F, 0x7F, 0x60, 0x00,     // Ч
+    0x00, 0x06, 0xFE, 0xFE, 0x06, 0xF0, 0xF0, 0x06, 0xFE, 0xFE, 0x06, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x60, 0x7F, 0x7F, 0x60, 0x7F, 0x7F, 0x60, 0x00,     // Ш
+    0x00, 0x06, 0xFE, 0xFE, 0x06, 0xF0, 0xF0, 0x06, 0xFE, 0xFE, 0x06, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x60, 0x7F, 0x7F, 0x60, 0x7F, 0x7F, 0xE0, 0xE0,     // Щ
+    0x06, 0x06, 0xFE, 0xFE, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x61, 0x61, 0x61, 0x61, 0x73, 0x3F, 0x1E, 0x00,     // Ъ
+    0x00, 0x06, 0xFE, 0xFE, 0x86, 0x80, 0x00, 0x06, 0xFE, 0xFE, 0x06, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x61, 0x7F, 0x1F, 0x60, 0x7F, 0x7F, 0x60, 0x00,     // Ы
+    0x00, 0x06, 0xFE, 0xFE, 0x86, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x61, 0x61, 0x61, 0x61, 0x73, 0x3F, 0x1E, 0x00,     // Ь
+    0x00, 0x18, 0x1C, 0x1E, 0x06, 0x06, 0x86, 0x86, 0x8E, 0xFC, 0xF8, 0x00, 0x00, 0x18, 0x38, 0x78, 0x60, 0x60, 0x61, 0x61, 0x71, 0x3F, 0x1F, 0x00,     // Э
+    0x00, 0x06, 0xFE, 0xFE, 0x86, 0xF8, 0xFC, 0x0E, 0x06, 0x0E, 0xFC, 0xF8, 0x00, 0x60, 0x7F, 0x7F, 0x61, 0x1F, 0x3F, 0x70, 0x60, 0x70, 0x3F, 0x1F,     // Ю
+    0x00, 0xF8, 0xFC, 0x8E, 0x06, 0x06, 0x06, 0x06, 0xFE, 0xFE, 0x06, 0x00, 0x00, 0x60, 0x79, 0x7F, 0x6F, 0x03, 0x03, 0x63, 0x7F, 0x7F, 0x60, 0x00,     // Я
+
+    0x00, 0xC0, 0xE0, 0x70, 0x30, 0x30, 0x30, 0x70, 0xE0, 0xC0, 0x00, 0x00, 0x00, 0x1C, 0x3E, 0x77, 0x63, 0x63, 0x63, 0x33, 0x7F, 0x7F, 0x60, 0x00,     // а
+    0x00, 0x30, 0xF0, 0xF0, 0x30, 0x30, 0x30, 0x30, 0x30, 0x70, 0x70, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x63, 0x63, 0x63, 0x63, 0x77, 0x3E, 0x1C, 0x00,     // б
+    0x00, 0x30, 0xF0, 0xF0, 0x30, 0x30, 0x30, 0x30, 0xF0, 0xE0, 0xC0, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x63, 0x63, 0x63, 0x63, 0x77, 0x3F, 0x1C, 0x00,     // в
+    0x00, 0x30, 0xF0, 0xF0, 0x30, 0x30, 0x30, 0x30, 0x30, 0x70, 0x70, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,     // г
+    0x00, 0x00, 0xC0, 0xE0, 0x70, 0x30, 0x30, 0x30, 0xF0, 0xF0, 0x30, 0x00, 0x00, 0xF0, 0xFF, 0x3F, 0x30, 0x30, 0x30, 0x30, 0x3F, 0xFF, 0xF0, 0x00,     // д
+    0x00, 0xC0, 0xE0, 0x70, 0x30, 0x30, 0x30, 0x30, 0x70, 0xE0, 0xC0, 0x00, 0x00, 0x1F, 0x3F, 0x76, 0x66, 0x66, 0x66, 0x66, 0x76, 0x37, 0x17, 0x00,     // е
+    0x00, 0x30, 0x70, 0xF0, 0x80, 0xF0, 0xF0, 0x80, 0xF0, 0x70, 0x30, 0x00, 0x00, 0x60, 0x70, 0x7D, 0x0F, 0x7F, 0x7F, 0x0F, 0x7D, 0x70, 0x60, 0x00,     // ж
+    0x00, 0xC0, 0xE0, 0xF0, 0x30, 0x30, 0x30, 0x30, 0xF0, 0xE0, 0xC0, 0x00, 0x00, 0x18, 0x38, 0x78, 0x60, 0x63, 0x63, 0x63, 0x77, 0x3F, 0x1C, 0x00,     // з
+    0x00, 0x30, 0xF0, 0xF0, 0x30, 0x00, 0x00, 0xB0, 0xF0, 0xF0, 0x30, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x7C, 0x0E, 0x07, 0x63, 0x7F, 0x7F, 0x60, 0x00,     // и
+    0x00, 0x30, 0xF0, 0xF3, 0x37, 0x06, 0x06, 0xB7, 0xF3, 0xF0, 0x30, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x7C, 0x0E, 0x07, 0x63, 0x7F, 0x7F, 0x60, 0x00,     // й
+    0x00, 0x30, 0xF0, 0xF0, 0x30, 0x00, 0x80, 0xF0, 0xF0, 0x70, 0x30, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x63, 0x07, 0x0F, 0x7D, 0x78, 0x70, 0x60, 0x00,     // к
+    0x00, 0x00, 0xC0, 0xE0, 0x70, 0x30, 0x30, 0x30, 0xF0, 0xF0, 0x30, 0x00, 0x00, 0x60, 0x7F, 0x3F, 0x00, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x60, 0x00,     // л
+    0x00, 0x30, 0xF0, 0xF0, 0xC0, 0x80, 0x80, 0xC0, 0xF0, 0xF0, 0x30, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x61, 0x07, 0x07, 0x61, 0x7F, 0x7F, 0x60, 0x00,     // м
+    0x00, 0x30, 0xF0, 0xF0, 0x30, 0x00, 0x00, 0x30, 0xF0, 0xF0, 0x30, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x63, 0x03, 0x03, 0x63, 0x7F, 0x7F, 0x60, 0x00,     // н
+    0x00, 0xC0, 0xE0, 0x70, 0x30, 0x30, 0x30, 0x30, 0x70, 0xE0, 0xC0, 0x00, 0x00, 0x1F, 0x3F, 0x70, 0x60, 0x60, 0x60, 0x60, 0x70, 0x3F, 0x1F, 0x00,     // о
+    0x00, 0x30, 0xF0, 0xF0, 0x30, 0x30, 0x30, 0x30, 0xF0, 0xF0, 0x30, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x60, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x60, 0x00,     // п
+
+    0x00, 0x30, 0xF0, 0xF0, 0x60, 0x30, 0x30, 0x30, 0x70, 0xE0, 0xC0, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 0xD8, 0x30, 0x30, 0x30, 0x38, 0x1F, 0x0F, 0x00,     // р
+    0x00, 0xC0, 0xE0, 0x70, 0x30, 0x30, 0x30, 0x30, 0xF0, 0xE0, 0xC0, 0x00, 0x00, 0x1F, 0x3F, 0x70, 0x60, 0x60, 0x60, 0x60, 0x78, 0x38, 0x18, 0x00,     // с
+    0x00, 0x70, 0x70, 0x30, 0x30, 0xF0, 0xF0, 0x30, 0x30, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x60, 0x00, 0x00, 0x00, 0x00,     // т
+    0x00, 0x00, 0x30, 0xF0, 0xF0, 0x00, 0x00, 0xF0, 0xF0, 0x30, 0x00, 0x00, 0x00, 0x00, 0x60, 0x60, 0x73, 0x3F, 0x0F, 0x03, 0x00, 0x00, 0x00, 0x00,     // у
+    0x00, 0xC0, 0xE0, 0x70, 0x30, 0xF8, 0xF8, 0x30, 0x70, 0xE0, 0xC0, 0x00, 0x00, 0x1F, 0x3F, 0x70, 0x60, 0xFF, 0xFF, 0x60, 0x70, 0x3F, 0x1F, 0x00,     // ф
+    0x00, 0x00, 0x30, 0x70, 0xF0, 0x80, 0x80, 0xF0, 0x70, 0x30, 0x00, 0x00, 0x00, 0x00, 0x60, 0x70, 0x7D, 0x0F, 0x0F, 0x7D, 0x70, 0x60, 0x00, 0x00,     // х
+    0x00, 0x30, 0xF0, 0xF0, 0x30, 0x00, 0x00, 0x30, 0xF0, 0xF0, 0x30, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x60, 0x60, 0x60, 0x60, 0x7F, 0x7F, 0xE0, 0xE0,     // ц
+    0x00, 0x30, 0xF0, 0xF0, 0x30, 0x00, 0x00, 0x30, 0xF0, 0xF0, 0x30, 0x00, 0x00, 0x00, 0x03, 0x07, 0x06, 0x06, 0x06, 0x66, 0x7F, 0x7F, 0x60, 0x00,     // ч
+    0x00, 0x30, 0xF0, 0xF0, 0x30, 0x80, 0x80, 0x30, 0xF0, 0xF0, 0x30, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x60, 0x7F, 0x7F, 0x60, 0x7F, 0x7F, 0x60, 0x00,     // ш
+    0x00, 0x30, 0xF0, 0xF0, 0x30, 0x80, 0x80, 0x30, 0xF0, 0xF0, 0x30, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x60, 0x7F, 0x7F, 0x60, 0x7F, 0x7F, 0xE0, 0xE0,     // щ
+    0x30, 0x30, 0xF0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x63, 0x63, 0x63, 0x63, 0x77, 0x3E, 0x1C, 0x00,     // ъ
+    0x30, 0xF0, 0xF0, 0x30, 0x00, 0x00, 0x00, 0x00, 0x30, 0xF0, 0xF0, 0x30, 0x60, 0x7F, 0x7F, 0x63, 0x63, 0x77, 0x3E, 0x1C, 0x60, 0x7F, 0x7F, 0x60,     // ы
+    0x00, 0x30, 0xF0, 0xF0, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x63, 0x63, 0x63, 0x63, 0x77, 0x3E, 0x1C, 0x00,     // ь
+    0x00, 0xC0, 0xE0, 0xF0, 0x30, 0x30, 0x30, 0x30, 0x70, 0xE0, 0xC0, 0x00, 0x00, 0x18, 0x38, 0x78, 0x60, 0x60, 0x63, 0x63, 0x73, 0x3F, 0x1F, 0x00,     // э
+    0x30, 0xF0, 0xF0, 0x30, 0xC0, 0xE0, 0x70, 0x30, 0x30, 0x70, 0xE0, 0xC0, 0x60, 0x7F, 0x7F, 0x63, 0x1F, 0x3F, 0x70, 0x60, 0x60, 0x70, 0x3F, 0x1F,     // ю
+    0x00, 0xC0, 0xE0, 0x70, 0x30, 0x30, 0x30, 0x30, 0xF0, 0xF0, 0x30, 0x00, 0x00, 0x61, 0x73, 0x7F, 0x6E, 0x06, 0x06, 0x66, 0x7F, 0x7F, 0x60, 0x00,     // я
+
+    0x00, 0x0C, 0xFC, 0xFF, 0x8F, 0x8C, 0x8C, 0xCF, 0xCF, 0x1C, 0x1C, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x61, 0x61, 0x61, 0x63, 0x63, 0x70, 0x70, 0x00,     // Ё
+    0x00, 0xC0, 0xE0, 0x76, 0x36, 0x30, 0x30, 0x36, 0x76, 0xE0, 0xC0, 0x00, 0x00, 0x1F, 0x3F, 0x76, 0x66, 0x66, 0x66, 0x66, 0x76, 0x37, 0x17, 0x00,     // ё
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,     // Є
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,     // є
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,     // Ї
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,     // ї
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,     // Ў
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,     // ў
+    0x00, 0x3C, 0x7E, 0x66, 0x66, 0x7E, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,     // °
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,     // ∙
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,     // ·
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,     // √
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,     // №
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,     // ¤
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,     // ■
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,     //  
+    0x01, 0xAF, 0x30
+};
+// ширина символов, высота символов, код первого символа и количество символов
+const uint8_t mediumNumbers[]  = {
+    0x0C, 0x10, 0x2D, 0x0D,
+
+    0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x01, 0x00, 0x00,     // -
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00,     // .
+    0x00, 0x00, 0x02, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x02, 0x00, 0x00, 0x00, 0x00, 0x81, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0x81, 0x00, 0x00,     // /
+    0x00, 0xFC, 0x7A, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x7A, 0xFC, 0x00, 0x00, 0x7E, 0xBC, 0xC0, 0xC0, 0xc0, 0xC0, 0xC0, 0xC0, 0xBC, 0x7E, 0x00,     // 0
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x7E, 0x00,     // 1
+    0x00, 0x00, 0x02, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x7A, 0xFC, 0x00, 0x00, 0x7E, 0xBD, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0x81, 0x00, 0x00,     // 2
+    0x00, 0x00, 0x02, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x7A, 0xFC, 0x00, 0x00, 0x00, 0x81, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xBD, 0x7E, 0x00,     // 3
+    0x00, 0xFC, 0x78, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x78, 0xFC, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x3D, 0x7E, 0x00,     // 4
+    0x00, 0xFC, 0x7A, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x02, 0x00, 0x00, 0x00, 0x00, 0x81, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xBD, 0x7E, 0x00,     // 5
+    0x00, 0xFC, 0x7A, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x02, 0x00, 0x00, 0x00, 0x7E, 0xBD, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xBD, 0x7E, 0x00,     // 6
+    0x00, 0x00, 0x02, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x7A, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x7E, 0x00,     // 7
+    0x00, 0xFC, 0x7A, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x7A, 0xFC, 0x00, 0x00, 0x7E, 0xBD, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xBD, 0x7E, 0x00,     // 8
+    0x00, 0xFC, 0x7A, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x7A, 0xFC, 0x00, 0x00, 0x00, 0x81, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xBD, 0x7E, 0x00,     // 9
+    0
+};
+
+// ширина символов, высота символов, код первого символа и количество символов
+const uint8_t bigNumbers[]  = {
+    0x0E, 0x18, 0x2D, 0x0D,
+
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 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, 0x40, 0xE0, 0xE0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,  // .
+    0x00, 0x00, 0x02, 0x06, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x06, 0x02, 0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xC0, 0x80, 0x00, 0x00,  // /
+    0x00, 0xFC, 0xFA, 0xF6, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0xF6, 0xFA, 0xFC, 0x00, 0x00, 0xEF, 0xC7, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0xC7, 0xEF, 0x00, 0x00, 0x7F, 0xBF, 0xDF, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xDF, 0xbf, 0x7F, 0x00,  // 0
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0xF8, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0xC7, 0xEF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x3F, 0x7F, 0x00,  // 1
+    0x00, 0x00, 0x02, 0x06, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0xF6, 0xFA, 0xFC, 0x00, 0x00, 0xE0, 0xD0, 0xB8, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x3B, 0x17, 0x0f, 0x00, 0x00, 0x7F, 0xBF, 0xDF, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xC0, 0x80, 0x00, 0x00,  // 2
+    0x00, 0x00, 0x02, 0x06, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0e, 0xF6, 0xFA, 0xFC, 0x00, 0x00, 0x00, 0x10, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0xBB, 0xD7, 0xEF, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xDF, 0xBF, 0x7F, 0x00,  // 3
+    0x00, 0xFC, 0xF8, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0xF8, 0xFC, 0x00, 0x00, 0x0F, 0x17, 0x3B, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0xBB, 0xD7, 0xEF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x3F, 0x7F, 0x00,  // 4
+    0x00, 0xFC, 0xFA, 0xF6, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x06, 0x02, 0x00, 0x00, 0x00, 0x0F, 0x17, 0x3B, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0xB8, 0xD0, 0xE0, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xDF, 0xBF, 0x7F, 0x00,  // 5
+    0x00, 0xFC, 0xFA, 0xF6, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x06, 0x02, 0x00, 0x00, 0x00, 0xEF, 0xD7, 0xBB, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0xB8, 0xD0, 0xE0, 0x00, 0x00, 0x7F, 0xBF, 0xDF, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xDF, 0xBF, 0x7F, 0x00,  // 6
+    0x00, 0x00, 0x02, 0x06, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0xF6, 0xFA, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0xC7, 0xEF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x3F, 0x7F, 0x00,  // 7
+    0x00, 0xFC, 0xFA, 0xF6, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0xF6, 0xFA, 0xFC, 0x00, 0x00, 0xEF, 0xD7, 0xBB, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0xBB, 0xD7, 0xEF, 0x00, 0x00, 0x7F, 0xBF, 0xDF, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xDF, 0xBF, 0x7F, 0x00,  // 8
+    0x00, 0xFC, 0xFA, 0xF6, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0xF6, 0xFA, 0xFC, 0x00, 0x00, 0x0F, 0x17, 0x3B, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0xBB, 0xD7, 0xEF, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xDF, 0xBF, 0x7F, 0x00,  // 9
+    0
+};
+
+// ширина символов, высота символов, код первого символа и количество символов
+const uint8_t megaNumbers[]  = {
+    0x18, 0x28, 0x2D, 0x0D,
+
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // -
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xF8, 0xFC, 0xFE, 0xFE, 0xFC, 0xF8, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // .
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0F, 0x1F, 0x3F, 0x3F, 0x1F, 0x0F, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x7C, 0xFE, 0xFF, 0xFF, 0xFE, 0x7C, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // /
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0xF0, 0xF8, 0xF8, 0xF8, 0xF0, 0xF0, 0xE0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xF0, 0xFC, 0xFE, 0x3F, 0x07, 0x01, 0x03, 0x03, 0x07, 0x0F, 0x1F, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xF8, 0xF0, 0xE0, 0xE0, 0xC0, 0x80, 0xE0, 0xF8, 0xFF, 0x3F, 0x0F, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x07, 0x0F, 0x1F, 0x1F, 0x1F, 0x0F, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0xF0, 0xF0, 0xE0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x07, 0x07, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x0F, 0x1F, 0x3F, 0x3F, 0x1F, 0x0F, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, // 1
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0xF0, 0xF8, 0xF8, 0xF0, 0xF0, 0xE0, 0xC0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x1C, 0x3E, 0x7F, 0x7F, 0x3F, 0x1F, 0x0F, 0x07, 0x03, 0x03, 0x01, 0x83, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0xF8, 0xFC, 0xFF, 0xFF, 0x7F, 0x3F, 0x1F, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xE0, 0xF0, 0xF8, 0xFE, 0xDF, 0xEF, 0xEF, 0xE7, 0xE3, 0xE1, 0xE1, 0xE0, 0xE0, 0xC0, 0xC0, 0xC0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x1F, 0x0F, 0x0F, 0x0F, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x0F, 0x0F, 0x1F, 0x1F, 0x0F, 0x07, 0x03, 0x00, 0x00, 0x00, // 2
+    0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0xE0, 0xF0, 0xF8, 0xF8, 0xF8, 0xF0, 0xF0, 0xE0, 0xE0, 0xC0, 0xC0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0F, 0x1F, 0x0F, 0x07, 0x03, 0x01, 0x81, 0xC0, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x0E, 0x0E, 0x0F, 0x0F, 0x0F, 0x1F, 0x3F, 0xFF, 0xFF, 0xFF, 0xF9, 0xF0, 0xE0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x18, 0x3C, 0x7E, 0xFF, 0xFF, 0xFE, 0xFC, 0xF8, 0xF0, 0xE0, 0xC0, 0x80, 0x00, 0xC1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 0x07, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 3
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xE0, 0xF8, 0xF8, 0xF8, 0xF0, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xE0, 0xF8, 0x3C, 0x1F, 0x07, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xFC, 0xFF, 0xE7, 0xE3, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x83, 0xC3, 0xC3, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x07, 0x0F, 0x0F, 0x0F, 0x07, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, // 4
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0x07, 0x01, 0x81, 0xC1, 0xC1, 0xE1, 0xF1, 0xE1, 0xE1, 0xC1, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x3F, 0x3F, 0x1F, 0x0E, 0x07, 0x07, 0x07, 0x07, 0x0F, 0x1F, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xF0, 0xFC, 0xFC, 0xFC, 0xF8, 0xF0, 0xF0, 0xE0, 0xC0, 0xC0, 0x80, 0x80, 0xE0, 0xFF, 0xFF, 0x7F, 0x3F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x07, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 0x07, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 5
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0xF0, 0xF8, 0xF8, 0xF8, 0xF0, 0xF0, 0xE0, 0xC0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xF8, 0xFC, 0xFE, 0x7F, 0x0F, 0x01, 0x01, 0x03, 0x83, 0x87, 0xCF, 0xCF, 0xDF, 0x8F, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x1C, 0x1E, 0x0E, 0x07, 0x0F, 0x1F, 0x3F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFE, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xF8, 0xF0, 0xE0, 0xC0, 0xC0, 0x80, 0xE0, 0xFF, 0xFF, 0x3F, 0x1F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 6
+    0x00, 0x00, 0x00, 0x00, 0xC0, 0xF0, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0x78, 0x38, 0x00, 0x00, 0x00, 0x00, 0x18, 0x1E, 0x1F, 0x07, 0x03, 0x03, 0x01, 0x01, 0x01, 0x81, 0xC1, 0xF1, 0xF9, 0xFD, 0x3F, 0x0F, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xF0, 0xFC, 0xFE, 0xFF, 0xFF, 0x3F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x0F, 0x07, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 7
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xE0, 0xF0, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF0, 0xE0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0xFC, 0xFF, 0xFF, 0xE7, 0xC1, 0xC1, 0x81, 0x81, 0x81, 0x81, 0x83, 0xC3, 0xFF, 0xFF, 0x7F, 0x3F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xCF, 0xFF, 0xFF, 0x7F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x7F, 0x7F, 0xFF, 0xFF, 0xFE, 0xF8, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xF0, 0xE0, 0xE0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xE0, 0xE0, 0xFB, 0x7F, 0x1F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x1F, 0x1F, 0x0F, 0x0F, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 8
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0xF0, 0xF0, 0xF8, 0xF8, 0xF8, 0xF0, 0xE0, 0xE0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xF8, 0xFE, 0xFF, 0xFF, 0x87, 0x01, 0x01, 0x01, 0x03, 0x07, 0x0F, 0x1F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFE, 0xFC, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x03, 0x1F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFE, 0xFC, 0xF8, 0xF0, 0x70, 0x38, 0x3C, 0x1E, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xF0, 0xF9, 0xFD, 0xFB, 0xF1, 0xF0, 0xE0, 0xC0, 0xC0, 0xE0, 0xFC, 0xFF, 0x7F, 0x1F, 0x0F, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x07, 0x07, 0x0F, 0x0F, 0x0F, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 9
+    0
+};
diff -r 000000000000 -r cd4a2add97a0 defaultImages.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/defaultImages.h	Tue Jul 23 12:32:26 2019 +0000
@@ -0,0 +1,190 @@
+#define PROGMEM 
+
+const uint8_t alarm[]  = {
+    9, 8,
+    0x06, 0xBB, 0x45, 0x82, 0x9E, 0x92, 0x45, 0xBB, 0x06
+};
+
+const uint8_t antenna[]  = {
+    10, 8,
+    0x01, 0x03, 0x06, 0x0C, 0xFF, 0xFF, 0x0C, 0x06, 0x03, 0x01
+};
+
+const uint8_t arrowDown[]  = {
+    8, 8,
+    0x04, 0x0C, 0x1C, 0x3C, 0x3C, 0x1C, 0x0C, 0x04
+};
+
+const uint8_t arrowLeft[]  = {
+    8, 8,
+    0x00, 0x00, 0x18, 0x3C, 0x7E, 0xFF, 0x00, 0x00
+};
+
+const uint8_t arrowRight[] = {
+    8, 8,
+    0x00, 0x00, 0xFF, 0x7E, 0x3C, 0x18, 0x00, 0x00
+};
+
+const uint8_t arrowUp[]  = {
+    8, 8,
+    0x20, 0x30, 0x38, 0x3C, 0x3C, 0x38, 0x30, 0x20
+};
+
+const uint8_t battery0[]  = {
+    13, 8,
+    0xFF, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0xFF, 0x3C
+};
+
+const uint8_t battery1[]  = {
+    13, 8,
+    0xFF, 0x81, 0xBD, 0xBD, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0xFF, 0x3C
+};
+
+const uint8_t battery2[] = {
+    13, 8,
+    0xFF, 0x81, 0xBD, 0xBD, 0x81, 0xBD, 0xBD, 0x81, 0x81, 0x81, 0x81, 0xFF, 0x3C
+};
+
+const uint8_t battery3[]  = {
+    13, 8,
+    0xFF, 0x81, 0xBD, 0xBD, 0x81, 0xBD, 0xBD, 0x81, 0xBD, 0xBD, 0x81, 0xFF, 0x3C
+};
+
+const uint8_t batteryCharging[]  = {
+    13, 8,
+    0xFF, 0x81, 0x81, 0x81, 0x99, 0xBF, 0xB9, 0xBF, 0x99, 0x81, 0x81, 0xFF, 0x3C
+};
+
+const uint8_t batteryLow[]  = {
+    13, 8,
+    0xFF, 0x81, 0x81, 0xC3, 0xA5, 0x99, 0x99, 0xA5, 0xC3, 0x81, 0x81, 0xFF, 0x3C
+};
+
+const uint8_t bluetooth[]  = {
+    5, 8,
+    0x42, 0x24, 0xFF, 0x5A, 0x24
+};
+
+const uint8_t call[]  = {
+    8, 8,
+    0x0E, 0x1F, 0x3E, 0x70, 0xE5, 0xED, 0xE1, 0x4E
+};
+
+const uint8_t callIn[]  = {
+    8, 8,
+    0x0E, 0x1F, 0x3E, 0x70, 0xE0, 0xE7, 0xE6, 0x45
+};
+
+const uint8_t callOut[]  = {
+    8, 8,
+    0x0E, 0x1F, 0x3E, 0x70, 0xE0, 0xE5, 0xE3, 0x47
+};
+
+const uint8_t check[]  = {
+    7, 8,
+    0x30, 0x70, 0xE0, 0xF0, 0x7C, 0x1F, 0x07
+};
+
+const uint8_t checkboxOff[] PROGMEM = {
+    8, 8,
+    0x7E, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x7E
+};
+
+const uint8_t checkboxOn[] PROGMEM = {
+    8, 8,
+    0x7E, 0x81, 0x99, 0xB1, 0x99, 0x8D, 0x81, 0x7E
+};
+
+const uint8_t dynamic[] PROGMEM = {
+    10, 8,
+    0x3C, 0x24, 0x3C, 0x42, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
+};
+
+const uint8_t dynamicOff[] PROGMEM = {
+    10, 8,
+    0x3C, 0x24, 0x3C, 0x42, 0xFF, 0x00, 0x24, 0x18, 0x18, 0x24
+};
+
+const uint8_t dynamicOn[] PROGMEM = {
+    10, 8,
+    0x3C, 0x24, 0x3C, 0x42, 0xFF, 0x00, 0x24, 0x99, 0x42, 0x3C
+};
+
+const uint8_t signal1[] PROGMEM = {
+    11, 8,
+    0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+};
+
+const uint8_t signal2[] PROGMEM = {
+    11, 8,
+    0xC0, 0xC0, 0x00, 0xF0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+};
+
+const uint8_t signal3[] PROGMEM = {
+    11, 8,
+    0xC0, 0xC0, 0x00, 0xF0, 0xF0, 0x00, 0xFC, 0xFC, 0x00, 0x00, 0x00
+};
+
+const uint8_t signal4[] PROGMEM = {
+    11, 8,
+    0xC0, 0xC0, 0x00, 0xF0, 0xF0, 0x00, 0xFC, 0xFC, 0x00, 0xFF, 0xFF
+};
+
+const uint8_t light[] PROGMEM = {
+    9, 8,
+    0x10, 0x92, 0x6C, 0x44, 0x93, 0x44, 0x6C, 0x92, 0x10
+};
+
+const uint8_t melody[] PROGMEM = {
+    4, 8,
+    0x40, 0xEC, 0xE6, 0x7F
+};
+
+const uint8_t sms[] PROGMEM = {
+    10, 8,
+    0x7E, 0xA5, 0x99, 0x91, 0xA1, 0xA1, 0x91, 0x99, 0xA5, 0x7E
+};
+
+const uint8_t netlevel1[] PROGMEM = {
+    8, 8,
+    0x07, 0x03, 0x05, 0x00, 0x00, 0x00, 0xC0, 0xC0
+};
+const uint8_t netlevel2[] PROGMEM = {
+    8,8,
+    0x07, 0x03, 0x05, 0xC0, 0xF0, 0x30, 0xD8, 0xD8
+};
+
+const uint8_t netlevel3[] PROGMEM = {
+    8, 8,
+    0xE3, 0xF9, 0x3C, 0xCE, 0xF6, 0x37, 0xDB, 0xDB
+};
+
+const uint8_t radioOff[] PROGMEM = {
+    8, 8,
+    0x3C, 0x42, 0x81, 0x81, 0x81, 0x81, 0x42, 0x3C
+};
+
+const uint8_t radioOn[] PROGMEM = {
+    8, 8,
+    0x3C, 0x42, 0x99, 0xBD, 0xBD, 0x99, 0x42, 0x3C
+};
+
+const uint8_t settings[] PROGMEM = {
+    8, 8,
+    0x5A, 0xFF, 0x66, 0xDB, 0xDB, 0x66, 0xFF, 0x5A
+};
+
+const uint8_t mesege [] PROGMEM = {
+    42, 32,
+    0xFC, 0xFC, 0xFC, 0x1C, 0x1C, 0x1C, 0x3C, 0x7C, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC,
+    0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC,
+    0xFC, 0x7C, 0x3C, 0x1C, 0x1C, 0x1C, 0xFC, 0xFC, 0xFC, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFC,
+    0xF8, 0xF0, 0xE0, 0xC1, 0x83, 0x07, 0x0F, 0x1F, 0x3F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0x7F, 0x3F, 0x1F, 0x0F, 0x07, 0x83, 0xC1, 0xE0, 0xF0, 0xF8, 0xFC, 0xFE, 0xFF,
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x3F, 0x1F, 0x0F, 0x07, 0x83, 0xC1, 0xE0,
+    0xF0, 0xF8, 0xFC, 0xF8, 0xF0, 0xE1, 0xC3, 0x87, 0x0F, 0x87, 0xC3, 0xE1, 0xF0, 0xF8, 0xFC, 0xF8,
+    0xF0, 0xE0, 0xC1, 0x83, 0x07, 0x0F, 0x1F, 0x3F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x3F,
+    0x3F, 0x38, 0x38, 0x38, 0x3C, 0x3E, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
+    0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3E,
+    0x3C, 0x38, 0x38, 0x38, 0x3F, 0x3F, 0x3F, 0x3F 
+};
\ No newline at end of file