Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Revision 0:cd4a2add97a0, committed 2019-07-23
- Comitter:
 - docent
 - Date:
 - Tue Jul 23 12:32:26 2019 +0000
 - Commit message:
 - for my students
 
Changed in this revision
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