Merge branch 'master' into zerostats

This commit is contained in:
dWiGhT 2024-04-10 13:21:52 -05:00 committed by GitHub
commit 331b39fd18
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
99 changed files with 20836 additions and 44 deletions

Binary file not shown.

View File

@ -48,10 +48,19 @@ Every time an stratum job notification is received miner update its current work
- LILYGO T-QT pro ([Aliexpress link\*](https://s.click.aliexpress.com/e/_DBQIr43))
- LILYGO T-Display 1.14 ([Aliexpress link\*](https://s.click.aliexpress.com/e/_DEqGvSJ))
- LILYGO T-Display S3 AMOLED ([Aliexpress link\*](https://s.click.aliexpress.com/e/_DmOIK6j))
- LILYGO T-Display S3 AMOLED Touch ([Board Info](https://www.lilygo.cc/products/t-display-s3-amoled?variant=43532279939253))
- LILYGO T-Dongle S3 ([Aliexpress link\*](https://s.click.aliexpress.com/e/_DmQCPyj))
- ESP32-2432S028R 2,8" ([Aliexpress link\*](https://s.click.aliexpress.com/e/_DdXkvLv) / Dev support: @nitroxgas / ⚡jadeddonald78@walletofsatoshi.com)
- ESP32-cam ([Board Info](https://lastminuteengineers.com/getting-started-with-esp32-cam/) / Dev support: @elmo128)
- M5-StampS3 ([Aliexpress link\*](https://s.click.aliexpress.com/e/_DevABY3) / Dev support: @gyengus)
- Wemos Lolin S3 Mini ([Board Info](https://docs.platformio.org/en/latest/boards/espressif32/lolin_s3_mini.html))
- Wemos Lolin S2 Mini ([Board Info](https://docs.platformio.org/en/latest/boards/espressif32/lolin_s2_mini.html))
- Weact S3 Mini ([Board Info](https://github.com/WeActStudio/WeActStudio.ESP32S3-MINI))
- Weact ESP32-D0WD-V3 ([Board Info](https://github.com/WeActStudio/WeActStudio.ESP32CoreBoard))
- ESP32-S3 Devkit ([Board Info](https://docs.platformio.org/en/latest/boards/espressif32/esp32-s3-devkitm-1.html))
- ESP32-C3 Devkit ([Board Info](https://docs.platformio.org/en/latest/boards/espressif32/esp32-c3-devkitm-1.html))
- ESP32-C3 Super Mini ([Board Info](https://docs.platformio.org/en/latest/boards/espressif32/seeed_xiao_esp32c3.html))
- Waveshare ESP32-S3-GEEK ([Board Info](https://www.waveshare.com/wiki/ESP32-S3-GEEK))
\*Affiliate links

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

46
boards/lilygo-t-hmi.json Normal file
View File

@ -0,0 +1,46 @@
{
"build": {
"arduino":{
"ldscript": "esp32s3_out.ld",
"memory_type": "qio_opi",
"partitions": "default_16MB.csv"
},
"core": "esp32",
"extra_flags": [
"-DBOARD_HAS_PSRAM",
"-DARDUINO_USB_MODE=1"
],
"f_cpu": "240000000L",
"f_flash": "80000000L",
"flash_mode": "qio",
"hwids": [
[
"0X303A",
"0x1001"
]
],
"mcu": "esp32s3",
"variant": "esp32s3"
},
"connectivity": [
"wifi",
"bluetooth"
],
"debug": {
"openocd_target": "esp32s3.cfg"
},
"frameworks": [
"arduino",
"espidf"
],
"name": "LILYGO T-HMI",
"upload": {
"flash_size": "16MB",
"maximum_ram_size": 327680,
"maximum_size": 16777216,
"require_upload_port": true,
"speed": 921600
},
"url": "https://www.adafruit.com/product/5290",
"vendor": "LILYGO"
}

View File

@ -137,8 +137,9 @@
#ifdef NERMINER_S3_AMOLED
#include <User_Setups/Setup206_LilyGo_T_Display_S3.h> //Just a stub. No driver implementation for S3 AMOLED in TFT_eSPI
#endif
//#include <User_Setups/Setup207_LilyGo_T_HMI.h> // For the LilyGo T-HMI S3 based ESP32S3 with ST7789 240 x 320 TFT
#ifdef NERDMINER_T_HMI
#include <User_Setups/Setup207_LilyGo_T_HMI.h> // For the LilyGo T-HMI S3 based ESP32S3 with ST7789 240 x 320 TFT
#endif
//#include <User_Setups/Setup208_ESP32_S3_Box_Lite.h> // For the ESP32 S3 Box Lite (may also work with ESP32 S3 Box)
//#include <User_Setups/Setup209_LilyGo_T_Dongle_S3.h> // For the LilyGo T-Dongle S3 based ESP32 with ST7735 80 x 160 TFT
@ -154,6 +155,9 @@
#ifdef ESP32_CAM
#include <User_Setups/Setup212_ESP32Cam_DongleDisplay.h> // For the LilyGo T-Dongle S3 based ESP32 with ST7735 80 x 160 TFT
#endif
#ifdef NERMINER_S3_GEEK
#include <User_Setups/Setup303_WaveShare ESP32S3_GEEK.h> // Setup file for Waveshare Setup303_WaveShare ESP32S3_GEEK with ST7789 135*240 TFT
#endif
//#include <User_Setups/Setup301_BW16_ST7735.h> // Setup file for Bw16-based boards with ST7735 160 x 80 TFT
//#include <User_Setups/SetupX_Template.h> // Template file for a setup

View File

@ -0,0 +1,41 @@
// ST7789 135 x 240 display
#define USER_SETUP_ID 303
#define ST7789_DRIVER // Configure all registers
#define TFT_WIDTH 135
#define TFT_HEIGHT 240
#define CGRAM_OFFSET // Library will add offsets required
#define TFT_RGB_ORDER TFT_BGR // Colour order Blue-Green-Red
#define TFT_INVERSION_ON
// Generic ESP32 setup
//#define TFT_MISO 19
#define TFT_MOSI 11
#define TFT_SCLK 12
#define TFT_CS 10
#define TFT_DC 8
#define TFT_RST 9
#define TFT_BL 7
#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH
#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters
#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters
#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm
#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:.
#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-.
//#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT
#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts
#define SMOOTH_FONT
// #define SPI_FREQUENCY 27000000
#define SPI_FREQUENCY 40000000
// #define SUPPORT_TRANSACTIONS

View File

@ -0,0 +1,21 @@
SET(SOURCES screens/ui_SplashScreen.c
screens/ui_HomeScreen.c
screens/ui_StatsScreen.c
screens/ui_ClockScreen.c
ui.c
components/ui_comp_hook.c
ui_helpers.c
ui_events.c
images/ui_img_sky_png.c
images/ui_img_1552732429.c
images/ui_img_metal2_png.c
fonts/ui_font_calculator128.c
fonts/ui_font_calculator16.c
fonts/ui_font_calculator24.c
fonts/ui_font_calculator32.c
fonts/ui_font_calculator48.c
fonts/ui_font_star24.c
fonts/ui_font_star32.c
fonts/ui_font_start16.c)
add_library(ui ${SOURCES})

View File

@ -0,0 +1,5 @@
// This file was generated by SquareLine Studio
// SquareLine Studio version: SquareLine Studio 1.4.0
// LVGL version: 8.3.6
// Project name: nostresp

View File

@ -0,0 +1,19 @@
screens/ui_SplashScreen.c
screens/ui_HomeScreen.c
screens/ui_StatsScreen.c
screens/ui_ClockScreen.c
ui.c
components/ui_comp_hook.c
ui_helpers.c
ui_events.c
images/ui_img_sky_png.c
images/ui_img_1552732429.c
images/ui_img_metal2_png.c
fonts/ui_font_calculator128.c
fonts/ui_font_calculator16.c
fonts/ui_font_calculator24.c
fonts/ui_font_calculator32.c
fonts/ui_font_calculator48.c
fonts/ui_font_star24.c
fonts/ui_font_star32.c
fonts/ui_font_start16.c

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,520 @@
/*******************************************************************************
* Size: 16 px
* Bpp: 1
* Opts: --bpp 1 --size 16 --font /home/valerio/SquareLine/assets/Calculator.ttf -o /home/valerio/SquareLine/assets/ui_font_calculator16.c --format lvgl -r 0x20-0x7f --no-compress --no-prefilter
******************************************************************************/
#include "../ui.h"
#ifndef UI_FONT_CALCULATOR16
#define UI_FONT_CALCULATOR16 1
#endif
#if UI_FONT_CALCULATOR16
/*-----------------
* BITMAPS
*----------------*/
/*Store the image of the glyphs*/
static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
/* U+0020 " " */
0x0,
/* U+0021 "!" */
0xff, 0xd0,
/* U+0022 "\"" */
0xfc,
/* U+0023 "#" */
0x12, 0x4, 0x81, 0x23, 0xb7, 0x12, 0x4, 0x8e,
0xdc, 0x48, 0x12, 0x4, 0x80,
/* U+0024 "$" */
0x21, 0x1d, 0x5a, 0x52, 0x8e, 0x29, 0x4b, 0x57,
0x10, 0x80,
/* U+0025 "%" */
0x1, 0xc, 0x22, 0x48, 0x49, 0x9, 0x20, 0xc8,
0x1, 0x0, 0x46, 0x1, 0x21, 0x24, 0x44, 0x88,
0x61, 0x0,
/* U+0026 "&" */
0x1c, 0x1, 0x10, 0x8, 0x80, 0x44, 0x1, 0x40,
0xe, 0x0, 0x63, 0x87, 0x87, 0x64, 0x46, 0x14,
0x20, 0x1, 0x5, 0x28, 0x46, 0x20, 0x0, 0xc0,
0x0,
/* U+0027 "'" */
0xf8,
/* U+0028 "(" */
0x16, 0xaa, 0xaa, 0xaa, 0x54,
/* U+0029 ")" */
0x2a, 0x55, 0x55, 0x56, 0xa8,
/* U+002A "*" */
0x4a, 0xd0,
/* U+002B "+" */
0x10, 0x20, 0x47, 0x71, 0x2, 0x4, 0x0,
/* U+002C "," */
0xe0,
/* U+002D "-" */
0xe0,
/* U+002E "." */
0x80,
/* U+002F "/" */
0x8, 0x44, 0x20, 0x10, 0x84, 0x2, 0x11, 0x8,
0x0,
/* U+0030 "0" */
0x7a, 0x39, 0x65, 0x94, 0xa, 0x69, 0xc7, 0x17,
0x80,
/* U+0031 "1" */
0x6a, 0x22, 0x22, 0x22, 0x22, 0x50,
/* U+0032 "2" */
0x7a, 0x10, 0x41, 0x5, 0xe8, 0x20, 0x82, 0x7,
0x80,
/* U+0033 "3" */
0xf0, 0x42, 0x10, 0xf8, 0x21, 0x8, 0x7c,
/* U+0034 "4" */
0x86, 0x18, 0x61, 0x85, 0xe0, 0x41, 0x4, 0x10,
0x40,
/* U+0035 "5" */
0x7a, 0x8, 0x20, 0x81, 0xe0, 0x41, 0x6, 0x17,
0x80,
/* U+0036 "6" */
0x7a, 0x8, 0x20, 0x81, 0xe8, 0x61, 0x86, 0x17,
0x80,
/* U+0037 "7" */
0xf0, 0x42, 0x10, 0x84, 0x21, 0x8, 0x42,
/* U+0038 "8" */
0x7a, 0x18, 0x61, 0x85, 0xe8, 0x61, 0x86, 0x17,
0x80,
/* U+0039 "9" */
0x7a, 0x18, 0x61, 0x85, 0xe0, 0x41, 0x4, 0x17,
0x80,
/* U+003A ":" */
0x82,
/* U+003B ";" */
0x83, 0x0,
/* U+003C "<" */
0x12, 0x4c, 0x88, 0x42, 0x11,
/* U+003D "=" */
0xf0, 0xf0,
/* U+003E ">" */
0x84, 0x23, 0x11, 0x24, 0x88,
/* U+003F "?" */
0xf0, 0x42, 0x10, 0x88, 0x84, 0x20, 0x8,
/* U+0040 "@" */
0x7f, 0xa0, 0x18, 0x6, 0x9, 0x8c, 0x64, 0x99,
0x26, 0x49, 0x8d, 0xa0, 0x8, 0x1, 0xfe,
/* U+0041 "A" */
0x7a, 0x18, 0x61, 0x85, 0xe8, 0x61, 0x86, 0x18,
0x40,
/* U+0042 "B" */
0xf4, 0xa3, 0x19, 0x32, 0x51, 0x8c, 0xbc,
/* U+0043 "C" */
0x7a, 0x18, 0x60, 0x80, 0x8, 0x20, 0x86, 0x17,
0x80,
/* U+0044 "D" */
0xf2, 0x28, 0x61, 0x84, 0x18, 0x61, 0x86, 0x2f,
0x0,
/* U+0045 "E" */
0x7c, 0x21, 0x8, 0x7e, 0x10, 0x84, 0x1e,
/* U+0046 "F" */
0x7c, 0x21, 0x8, 0x3e, 0x10, 0x84, 0x20,
/* U+0047 "G" */
0x79, 0xa, 0x14, 0x8, 0x3, 0x61, 0x42, 0x85,
0x9, 0xe0,
/* U+0048 "H" */
0x86, 0x18, 0x61, 0x85, 0xe8, 0x61, 0x86, 0x18,
0x40,
/* U+0049 "I" */
0xd9, 0x8, 0x42, 0x0, 0x84, 0x21, 0x36,
/* U+004A "J" */
0x6e, 0x20, 0x40, 0x81, 0x0, 0x4, 0x48, 0x91,
0x21, 0x80,
/* U+004B "K" */
0x84, 0x65, 0x4c, 0x62, 0x92, 0x94, 0x60,
/* U+004C "L" */
0x84, 0x21, 0x8, 0x42, 0x10, 0x84, 0x1e,
/* U+004D "M" */
0xcf, 0x3d, 0x6d, 0x86, 0x18, 0x61, 0x86, 0x18,
0x40,
/* U+004E "N" */
0x87, 0x1c, 0x69, 0xa4, 0x49, 0x65, 0x8e, 0x18,
0x40,
/* U+004F "O" */
0x7a, 0x18, 0x61, 0x84, 0x8, 0x61, 0x86, 0x17,
0x80,
/* U+0050 "P" */
0x7a, 0x18, 0x61, 0x85, 0xe8, 0x20, 0x82, 0x8,
0x0,
/* U+0051 "Q" */
0x79, 0xa, 0x14, 0x28, 0x40, 0x21, 0x4a, 0x8d,
0xf, 0xf8,
/* U+0052 "R" */
0x79, 0xa, 0x14, 0x28, 0x4f, 0x22, 0x42, 0x85,
0x6, 0x0,
/* U+0053 "S" */
0x7a, 0x18, 0x20, 0x81, 0xe0, 0x41, 0x6, 0x17,
0x80,
/* U+0054 "T" */
0xee, 0x20, 0x40, 0x81, 0x2, 0x4, 0x8, 0x10,
0x20, 0x40,
/* U+0055 "U" */
0x86, 0x18, 0x61, 0x86, 0x18, 0x61, 0x86, 0x17,
0x80,
/* U+0056 "V" */
0x1, 0x6, 0x14, 0x24, 0x49, 0xa, 0x14, 0x30,
/* U+0057 "W" */
0x86, 0x18, 0x61, 0x86, 0x1b, 0x6d, 0xcf, 0x38,
0x40,
/* U+0058 "X" */
0x9a, 0xa6, 0x6, 0xaa, 0x90,
/* U+0059 "Y" */
0x8c, 0x94, 0xa0, 0x10, 0x84, 0x21, 0x0,
/* U+005A "Z" */
0xf8, 0x42, 0x21, 0x19, 0x88, 0x84, 0x3e,
/* U+005B "[" */
0x72, 0x48, 0x24, 0x91, 0x80,
/* U+005C "\\" */
0x84, 0x20, 0x84, 0x20, 0x84, 0x0, 0x84, 0x10,
0x80,
/* U+005D "]" */
0xc4, 0x92, 0x9, 0x25, 0x80,
/* U+005E "^" */
0x6a, 0xa9,
/* U+005F "_" */
0xff, 0x80,
/* U+0060 "`" */
0x99, 0x80,
/* U+0061 "a" */
0xf0, 0x42, 0xf8, 0xf8,
/* U+0062 "b" */
0x82, 0x8, 0x20, 0x81, 0xe8, 0x61, 0x86, 0x17,
0x80,
/* U+0063 "c" */
0x7c, 0x21, 0x8, 0x3c,
/* U+0064 "d" */
0x4, 0x10, 0x41, 0x5, 0xe8, 0x61, 0x86, 0x17,
0x80,
/* U+0065 "e" */
0x7a, 0x1f, 0xa0, 0x81, 0xe0,
/* U+0066 "f" */
0x1c, 0x82, 0x8, 0x23, 0x62, 0x8, 0x20, 0x82,
0x0,
/* U+0067 "g" */
0x7a, 0x18, 0x61, 0x85, 0xe0, 0x41, 0x78,
/* U+0068 "h" */
0x82, 0x8, 0x20, 0x81, 0xe8, 0x61, 0x86, 0x18,
0x40,
/* U+0069 "i" */
0xfc,
/* U+006A "j" */
0x11, 0x11, 0x11, 0x11, 0x19, 0xe0,
/* U+006B "k" */
0x84, 0x21, 0x3b, 0x62, 0x92, 0x8c, 0x0,
/* U+006C "l" */
0xff, 0xe0,
/* U+006D "m" */
0x7d, 0x26, 0x4c, 0x99, 0x32, 0x40,
/* U+006E "n" */
0x7a, 0x18, 0x61, 0x86, 0x10,
/* U+006F "o" */
0x7a, 0x18, 0x61, 0x85, 0xe0,
/* U+0070 "p" */
0x7a, 0x18, 0x61, 0x85, 0xe8, 0x20, 0x80,
/* U+0071 "q" */
0x79, 0xa, 0x14, 0x28, 0x4f, 0x1, 0x3, 0x6,
/* U+0072 "r" */
0x78, 0x88, 0x88,
/* U+0073 "s" */
0x78, 0x88, 0xf1, 0x1f,
/* U+0074 "t" */
0x21, 0x8, 0x42, 0x6c, 0x84, 0x21, 0x8,
/* U+0075 "u" */
0x99, 0x99, 0x96,
/* U+0076 "v" */
0x19, 0xa6, 0x40,
/* U+0077 "w" */
0xad, 0x6b, 0x5a, 0xfc,
/* U+0078 "x" */
0x8a, 0x80, 0xa8, 0x80,
/* U+0079 "y" */
0x9, 0xaa, 0x64, 0x48, 0x80,
/* U+007A "z" */
0xf1, 0x24, 0x8f,
/* U+007B "{" */
0x1c, 0x82, 0x8, 0x20, 0x84, 0x20, 0xc1, 0x82,
0x8, 0x20, 0x82, 0x7,
/* U+007C "|" */
0xff, 0xfe,
/* U+007D "}" */
0xf0, 0x41, 0x4, 0x10, 0x40, 0x81, 0x8, 0x61,
0x4, 0x10, 0x41, 0x38,
/* U+007E "~" */
0x62, 0xae, 0x20
};
/*---------------------
* GLYPH DESCRIPTION
*--------------------*/
static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
{.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */,
{.bitmap_index = 0, .adv_w = 75, .box_w = 1, .box_h = 1, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 1, .adv_w = 37, .box_w = 1, .box_h = 12, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 3, .adv_w = 62, .box_w = 2, .box_h = 3, .ofs_x = 1, .ofs_y = 13},
{.bitmap_index = 4, .adv_w = 173, .box_w = 10, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 17, .adv_w = 112, .box_w = 5, .box_h = 15, .ofs_x = 1, .ofs_y = -2},
{.bitmap_index = 27, .adv_w = 199, .box_w = 11, .box_h = 13, .ofs_x = 1, .ofs_y = -1},
{.bitmap_index = 45, .adv_w = 234, .box_w = 13, .box_h = 15, .ofs_x = 1, .ofs_y = -2},
{.bitmap_index = 70, .adv_w = 37, .box_w = 1, .box_h = 5, .ofs_x = 1, .ofs_y = 9},
{.bitmap_index = 71, .adv_w = 59, .box_w = 2, .box_h = 19, .ofs_x = 1, .ofs_y = -3},
{.bitmap_index = 76, .adv_w = 59, .box_w = 2, .box_h = 19, .ofs_x = 1, .ofs_y = -3},
{.bitmap_index = 81, .adv_w = 86, .box_w = 3, .box_h = 5, .ofs_x = 1, .ofs_y = 9},
{.bitmap_index = 83, .adv_w = 125, .box_w = 7, .box_h = 7, .ofs_x = 1, .ofs_y = 3},
{.bitmap_index = 90, .adv_w = 37, .box_w = 1, .box_h = 3, .ofs_x = 1, .ofs_y = -2},
{.bitmap_index = 91, .adv_w = 73, .box_w = 3, .box_h = 1, .ofs_x = 1, .ofs_y = 4},
{.bitmap_index = 92, .adv_w = 37, .box_w = 1, .box_h = 1, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 93, .adv_w = 112, .box_w = 5, .box_h = 13, .ofs_x = 1, .ofs_y = -1},
{.bitmap_index = 102, .adv_w = 112, .box_w = 6, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 111, .adv_w = 86, .box_w = 4, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 117, .adv_w = 112, .box_w = 6, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 126, .adv_w = 106, .box_w = 5, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 133, .adv_w = 112, .box_w = 6, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 142, .adv_w = 112, .box_w = 6, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 151, .adv_w = 112, .box_w = 6, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 160, .adv_w = 105, .box_w = 5, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 167, .adv_w = 112, .box_w = 6, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 176, .adv_w = 112, .box_w = 6, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 185, .adv_w = 37, .box_w = 1, .box_h = 7, .ofs_x = 1, .ofs_y = 2},
{.bitmap_index = 186, .adv_w = 38, .box_w = 1, .box_h = 9, .ofs_x = 1, .ofs_y = -1},
{.bitmap_index = 188, .adv_w = 87, .box_w = 4, .box_h = 10, .ofs_x = 1, .ofs_y = 1},
{.bitmap_index = 193, .adv_w = 98, .box_w = 4, .box_h = 3, .ofs_x = 1, .ofs_y = 4},
{.bitmap_index = 195, .adv_w = 87, .box_w = 4, .box_h = 10, .ofs_x = 1, .ofs_y = 1},
{.bitmap_index = 200, .adv_w = 105, .box_w = 5, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 207, .adv_w = 187, .box_w = 10, .box_h = 12, .ofs_x = 1, .ofs_y = -2},
{.bitmap_index = 222, .adv_w = 112, .box_w = 6, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 231, .adv_w = 109, .box_w = 5, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 238, .adv_w = 112, .box_w = 6, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 247, .adv_w = 122, .box_w = 6, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 256, .adv_w = 106, .box_w = 5, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 263, .adv_w = 106, .box_w = 5, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 270, .adv_w = 135, .box_w = 7, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 280, .adv_w = 112, .box_w = 6, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 289, .adv_w = 90, .box_w = 5, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 296, .adv_w = 135, .box_w = 7, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 306, .adv_w = 107, .box_w = 5, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 313, .adv_w = 105, .box_w = 5, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 320, .adv_w = 112, .box_w = 6, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 329, .adv_w = 112, .box_w = 6, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 338, .adv_w = 112, .box_w = 6, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 347, .adv_w = 112, .box_w = 6, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 356, .adv_w = 138, .box_w = 7, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 366, .adv_w = 122, .box_w = 7, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 376, .adv_w = 112, .box_w = 6, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 385, .adv_w = 128, .box_w = 7, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 395, .adv_w = 112, .box_w = 6, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 404, .adv_w = 141, .box_w = 7, .box_h = 9, .ofs_x = 1, .ofs_y = 1},
{.bitmap_index = 412, .adv_w = 112, .box_w = 6, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 421, .adv_w = 87, .box_w = 4, .box_h = 9, .ofs_x = 1, .ofs_y = 1},
{.bitmap_index = 426, .adv_w = 91, .box_w = 5, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 433, .adv_w = 109, .box_w = 5, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 440, .adv_w = 61, .box_w = 3, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 445, .adv_w = 109, .box_w = 5, .box_h = 13, .ofs_x = 1, .ofs_y = -1},
{.bitmap_index = 454, .adv_w = 61, .box_w = 3, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 459, .adv_w = 89, .box_w = 4, .box_h = 4, .ofs_x = 1, .ofs_y = 9},
{.bitmap_index = 461, .adv_w = 172, .box_w = 9, .box_h = 1, .ofs_x = 1, .ofs_y = -2},
{.bitmap_index = 463, .adv_w = 62, .box_w = 3, .box_h = 3, .ofs_x = 1, .ofs_y = 10},
{.bitmap_index = 465, .adv_w = 110, .box_w = 5, .box_h = 6, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 469, .adv_w = 112, .box_w = 6, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 478, .adv_w = 105, .box_w = 5, .box_h = 6, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 482, .adv_w = 112, .box_w = 6, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 491, .adv_w = 113, .box_w = 6, .box_h = 6, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 496, .adv_w = 105, .box_w = 6, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 505, .adv_w = 112, .box_w = 6, .box_h = 9, .ofs_x = 1, .ofs_y = -3},
{.bitmap_index = 512, .adv_w = 112, .box_w = 6, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 521, .adv_w = 37, .box_w = 1, .box_h = 6, .ofs_x = 1, .ofs_y = 1},
{.bitmap_index = 522, .adv_w = 85, .box_w = 4, .box_h = 11, .ofs_x = 1, .ofs_y = -3},
{.bitmap_index = 528, .adv_w = 100, .box_w = 5, .box_h = 10, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 535, .adv_w = 37, .box_w = 1, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 537, .adv_w = 144, .box_w = 7, .box_h = 6, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 543, .adv_w = 112, .box_w = 6, .box_h = 6, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 548, .adv_w = 112, .box_w = 6, .box_h = 6, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 553, .adv_w = 112, .box_w = 6, .box_h = 9, .ofs_x = 1, .ofs_y = -3},
{.bitmap_index = 560, .adv_w = 135, .box_w = 7, .box_h = 9, .ofs_x = 1, .ofs_y = -3},
{.bitmap_index = 568, .adv_w = 81, .box_w = 4, .box_h = 6, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 571, .adv_w = 84, .box_w = 4, .box_h = 8, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 575, .adv_w = 86, .box_w = 5, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 582, .adv_w = 90, .box_w = 4, .box_h = 6, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 585, .adv_w = 91, .box_w = 4, .box_h = 5, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 588, .adv_w = 112, .box_w = 5, .box_h = 6, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 592, .adv_w = 102, .box_w = 5, .box_h = 5, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 596, .adv_w = 90, .box_w = 4, .box_h = 9, .ofs_x = 1, .ofs_y = -4},
{.bitmap_index = 601, .adv_w = 98, .box_w = 4, .box_h = 6, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 604, .adv_w = 111, .box_w = 6, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 616, .adv_w = 37, .box_w = 1, .box_h = 15, .ofs_x = 1, .ofs_y = -2},
{.bitmap_index = 618, .adv_w = 110, .box_w = 6, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 630, .adv_w = 144, .box_w = 7, .box_h = 3, .ofs_x = 1, .ofs_y = 5}
};
/*---------------------
* CHARACTER MAPPING
*--------------------*/
/*Collect the unicode lists and glyph_id offsets*/
static const lv_font_fmt_txt_cmap_t cmaps[] =
{
{
.range_start = 32, .range_length = 95, .glyph_id_start = 1,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
}
};
/*--------------------
* ALL CUSTOM DATA
*--------------------*/
#if LV_VERSION_CHECK(8, 0, 0)
/*Store all the custom data of the font*/
static lv_font_fmt_txt_glyph_cache_t cache;
static const lv_font_fmt_txt_dsc_t font_dsc = {
#else
static lv_font_fmt_txt_dsc_t font_dsc = {
#endif
.glyph_bitmap = glyph_bitmap,
.glyph_dsc = glyph_dsc,
.cmaps = cmaps,
.kern_dsc = NULL,
.kern_scale = 0,
.cmap_num = 1,
.bpp = 1,
.kern_classes = 0,
.bitmap_format = 0,
#if LV_VERSION_CHECK(8, 0, 0)
.cache = &cache
#endif
};
/*-----------------
* PUBLIC FONT
*----------------*/
/*Initialize a public general font descriptor*/
#if LV_VERSION_CHECK(8, 0, 0)
const lv_font_t ui_font_calculator16 = {
#else
lv_font_t ui_font_calculator16 = {
#endif
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
.line_height = 20, /*The maximum line height required by the font*/
.base_line = 4, /*Baseline measured from the bottom of the line*/
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
.subpx = LV_FONT_SUBPX_NONE,
#endif
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
.underline_position = -2,
.underline_thickness = 1,
#endif
.dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
};
#endif /*#if UI_FONT_CALCULATOR16*/

View File

@ -0,0 +1,565 @@
/*******************************************************************************
* Size: 24 px
* Bpp: 1
* Opts: --bpp 1 --size 24 --font /home/valerio/SquareLine/assets/Calculator.ttf -o /home/valerio/SquareLine/assets/ui_font_calculator24.c --format lvgl -r 0x20-0x7f --no-compress --no-prefilter
******************************************************************************/
#include "../ui.h"
#ifndef UI_FONT_CALCULATOR24
#define UI_FONT_CALCULATOR24 1
#endif
#if UI_FONT_CALCULATOR24
/*-----------------
* BITMAPS
*----------------*/
/*Store the image of the glyphs*/
static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
/* U+0020 " " */
0x0,
/* U+0021 "!" */
0xfd, 0xfa,
/* U+0022 "\"" */
0xb6, 0xd0,
/* U+0023 "#" */
0x8, 0x40, 0x21, 0x0, 0x84, 0x2, 0x10, 0xf7,
0xbc, 0x21, 0x0, 0x84, 0x2, 0x10, 0x8, 0x43,
0xde, 0xf0, 0x84, 0x2, 0x10, 0x8, 0x40, 0x21,
0x0,
/* U+0024 "$" */
0x8, 0x4, 0x1f, 0xd0, 0x18, 0x84, 0x42, 0x21,
0x10, 0x80, 0x3f, 0x80, 0x21, 0x10, 0x88, 0x46,
0x23, 0x1, 0x7f, 0x4, 0x2, 0x0,
/* U+0025 "%" */
0x0, 0x10, 0x0, 0x10, 0x78, 0x10, 0x84, 0x20,
0x84, 0x20, 0x84, 0x20, 0x84, 0x40, 0x78, 0x80,
0x0, 0x80, 0x1, 0x80, 0x1, 0xe, 0x0, 0x11,
0x2, 0x11, 0x2, 0x11, 0x2, 0x11, 0x4, 0xe,
0x4, 0x0,
/* U+0026 "&" */
0x7, 0x80, 0x0, 0xc4, 0x0, 0x18, 0x20, 0x1,
0x2, 0x0, 0x10, 0x20, 0x1, 0x86, 0x0, 0xc,
0xc0, 0x0, 0x78, 0x78, 0x7, 0x0, 0xc0, 0xc8,
0x1f, 0x18, 0xc3, 0x3, 0x6, 0x60, 0x60, 0x3c,
0xc, 0x1, 0x80, 0x40, 0x1c, 0x64, 0x2, 0x6c,
0x20, 0x42, 0x83, 0x8, 0x0, 0xf, 0x0, 0x0,
/* U+0027 "'" */
0xfe,
/* U+0028 "(" */
0x25, 0x2d, 0x24, 0x92, 0x49, 0x24, 0x92, 0x4c,
0x91, 0x20,
/* U+0029 ")" */
0x91, 0x26, 0x49, 0x24, 0x92, 0x49, 0x24, 0x92,
0x94, 0x80,
/* U+002A "*" */
0x21, 0x36, 0xa8, 0x80,
/* U+002B "+" */
0x8, 0x4, 0x2, 0x1, 0xf, 0x78, 0x40, 0x20,
0x10, 0x8, 0x0,
/* U+002C "," */
0xf0,
/* U+002D "-" */
0xf8,
/* U+002E "." */
0x80,
/* U+002F "/" */
0x2, 0x4, 0x10, 0x20, 0xc0, 0x2, 0x8, 0x10,
0x60, 0x80, 0x4, 0x8, 0x30, 0x40, 0x80, 0x0,
/* U+0030 "0" */
0x7e, 0x81, 0x87, 0x85, 0x85, 0x89, 0x89, 0x0,
0x91, 0x91, 0xa1, 0xa1, 0xe1, 0x81, 0x7e,
/* U+0031 "1" */
0x73, 0x41, 0x4, 0x10, 0x41, 0x4, 0x10, 0x41,
0x4, 0x11, 0xb0,
/* U+0032 "2" */
0x7e, 0x81, 0x81, 0x1, 0x1, 0x1, 0x1, 0x7e,
0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x7e,
/* U+0033 "3" */
0x7e, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0xfe,
0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x7e,
/* U+0034 "4" */
0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x7e, 0x1,
0x1, 0x1, 0x1, 0x1, 0x1,
/* U+0035 "5" */
0x7e, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x7e,
0x1, 0x1, 0x1, 0x1, 0x81, 0x81, 0x7e,
/* U+0036 "6" */
0x7e, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x7e,
0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x7e,
/* U+0037 "7" */
0xfc, 0x4, 0x8, 0x10, 0x20, 0x40, 0x80, 0x2,
0x4, 0x8, 0x10, 0x20, 0x40,
/* U+0038 "8" */
0x7e, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x7e,
0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x7e,
/* U+0039 "9" */
0x7e, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x7e,
0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x7e,
/* U+003A ":" */
0x80, 0x80,
/* U+003B ";" */
0x80, 0x78,
/* U+003C "<" */
0x4, 0x23, 0x18, 0xc2, 0x8, 0x10, 0x20, 0x40,
0x81,
/* U+003D "=" */
0xfe, 0x0, 0x7, 0xf0,
/* U+003E ">" */
0x81, 0x3, 0x6, 0xc, 0x10, 0x46, 0x31, 0x8c,
0x20,
/* U+003F "?" */
0xfc, 0x4, 0x8, 0x10, 0x20, 0x40, 0x86, 0x10,
0x20, 0x40, 0x80, 0x0, 0x4, 0x0,
/* U+0040 "@" */
0x7e, 0xfd, 0x0, 0x6, 0x0, 0xc, 0x0, 0x18,
0x4, 0x30, 0x70, 0x61, 0x10, 0x82, 0x20, 0x84,
0x43, 0x8, 0x86, 0xe, 0xf4, 0x0, 0x8, 0x0,
0x10, 0x0, 0x1f, 0xbf, 0x0,
/* U+0041 "A" */
0x7e, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x7e,
0x81, 0x81, 0x81, 0x81, 0x81, 0x81,
/* U+0042 "B" */
0x78, 0x86, 0x82, 0x81, 0x81, 0x81, 0x82, 0xfe,
0x86, 0x82, 0x81, 0x81, 0x82, 0x86, 0xfc,
/* U+0043 "C" */
0x7e, 0x81, 0x81, 0x81, 0x80, 0x80, 0x80, 0x0,
0x80, 0x80, 0x80, 0x81, 0x81, 0x81, 0x7e,
/* U+0044 "D" */
0x78, 0x43, 0x20, 0xd0, 0x38, 0xc, 0x6, 0x2,
0x1, 0x80, 0xc0, 0x60, 0x30, 0x18, 0x14, 0x33,
0xf0,
/* U+0045 "E" */
0x7e, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xff,
0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x7e,
/* U+0046 "F" */
0x7e, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x7f,
0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
/* U+0047 "G" */
0x7e, 0x20, 0x48, 0x12, 0x0, 0x80, 0x20, 0x8,
0x0, 0x1b, 0x81, 0x20, 0x48, 0x12, 0x4, 0x81,
0x20, 0x47, 0xe0,
/* U+0048 "H" */
0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x7e, 0x81,
0x81, 0x81, 0x81, 0x81, 0x81,
/* U+0049 "I" */
0xec, 0x20, 0x40, 0x81, 0x2, 0x4, 0x0, 0x10,
0x20, 0x40, 0x81, 0x2, 0x3b, 0x80,
/* U+004A "J" */
0x7b, 0xc1, 0x0, 0x40, 0x10, 0x4, 0x1, 0x0,
0x40, 0x0, 0x4, 0x1, 0x8, 0x42, 0x10, 0x84,
0x21, 0x7, 0x80,
/* U+004B "K" */
0x81, 0x82, 0x84, 0x8c, 0x98, 0xb0, 0xa0, 0xa0,
0x90, 0x98, 0x8c, 0x86, 0x83, 0x80,
/* U+004C "L" */
0x81, 0x2, 0x4, 0x8, 0x10, 0x0, 0x40, 0x81,
0x2, 0x4, 0x8, 0xf, 0xc0,
/* U+004D "M" */
0xc3, 0xa5, 0xa5, 0xbd, 0x99, 0x81, 0x0, 0x81,
0x81, 0x81, 0x81, 0x81, 0x81,
/* U+004E "N" */
0xc1, 0xc1, 0xa1, 0xa1, 0x91, 0x91, 0x89, 0x89,
0x8d, 0x85, 0x85, 0x83, 0x81, 0x81,
/* U+004F "O" */
0x7e, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x0,
0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x7e,
/* U+0050 "P" */
0x7e, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x7e,
0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
/* U+0051 "Q" */
0x7e, 0x10, 0x22, 0x4, 0x40, 0x88, 0x11, 0x2,
0x20, 0x40, 0x0, 0x81, 0x10, 0x22, 0x14, 0x43,
0x88, 0x19, 0x2, 0xbf, 0xd8,
/* U+0052 "R" */
0x7e, 0x40, 0xa0, 0x50, 0x28, 0x14, 0xa, 0x4,
0xfc, 0x82, 0x41, 0xa0, 0x50, 0x28, 0xc, 0x4,
/* U+0053 "S" */
0x7e, 0x81, 0x81, 0x80, 0x80, 0x80, 0x80, 0x7e,
0x1, 0x1, 0x1, 0x1, 0x81, 0x81, 0x7e,
/* U+0054 "T" */
0xf7, 0x84, 0x2, 0x1, 0x0, 0x80, 0x40, 0x20,
0x0, 0x8, 0x4, 0x2, 0x1, 0x0, 0x80, 0x40,
/* U+0055 "U" */
0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x0, 0x81,
0x81, 0x81, 0x81, 0x81, 0x81, 0x7e,
/* U+0056 "V" */
0x80, 0x38, 0x5, 0x1, 0x20, 0x22, 0xc, 0x41,
0x4, 0x20, 0x88, 0x19, 0x1, 0x60, 0x28, 0x3,
0x0,
/* U+0057 "W" */
0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x0, 0x99,
0xb9, 0xa5, 0xa5, 0xc3, 0xc3,
/* U+0058 "X" */
0x85, 0x34, 0x9a, 0x30, 0x3, 0xc, 0x49, 0x2c,
0x61,
/* U+0059 "Y" */
0x0, 0x89, 0x13, 0x62, 0x85, 0x0, 0x8, 0x10,
0x20, 0x40, 0x81, 0x2, 0x0,
/* U+005A "Z" */
0x7f, 0x1, 0x1, 0x3, 0x2, 0x2, 0x4, 0xc,
0x18, 0x20, 0x40, 0x40, 0xc0, 0x80, 0x7f,
/* U+005B "[" */
0x72, 0x49, 0x20, 0x92, 0x49, 0x18,
/* U+005C "\\" */
0x80, 0x40, 0x40, 0x60, 0x20, 0x0, 0x10, 0x10,
0x18, 0x8, 0x8, 0x0, 0x4, 0x2, 0x2, 0x3,
0x1,
/* U+005D "]" */
0xc4, 0x92, 0x48, 0x24, 0x92, 0x78,
/* U+005E "^" */
0x31, 0xa4, 0x91, 0x84, 0x0,
/* U+005F "_" */
0xff, 0xfc,
/* U+0060 "`" */
0x8c, 0x63,
/* U+0061 "a" */
0xfe, 0x1, 0x1, 0x1, 0x7f, 0x81, 0x81, 0xfe,
/* U+0062 "b" */
0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x7e, 0x81,
0x81, 0x81, 0x81, 0x81, 0x81, 0x7e,
/* U+0063 "c" */
0x7f, 0x2, 0x4, 0x8, 0x10, 0x20, 0x3f,
/* U+0064 "d" */
0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x7e, 0x81,
0x81, 0x81, 0x81, 0x81, 0x81, 0x7e,
/* U+0065 "e" */
0x7e, 0x81, 0x81, 0xfe, 0x80, 0x80, 0x80, 0x7e,
/* U+0066 "f" */
0x1e, 0x40, 0x81, 0x2, 0x4, 0x8, 0x6c, 0x20,
0x40, 0x81, 0x2, 0x4, 0x0,
/* U+0067 "g" */
0x7e, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x7e,
0x1, 0x1, 0x1, 0x1, 0x7e,
/* U+0068 "h" */
0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x7e, 0x81,
0x81, 0x81, 0x81, 0x81, 0x81,
/* U+0069 "i" */
0xbf,
/* U+006A "j" */
0x4, 0x10, 0x41, 0x4, 0x10, 0x41, 0x4, 0x10,
0x41, 0x87, 0xe0,
/* U+006B "k" */
0x81, 0x2, 0x4, 0x8, 0x10, 0xe3, 0x6c, 0xa1,
0x22, 0x24, 0x28, 0x30, 0x0,
/* U+006C "l" */
0xfd, 0xf8,
/* U+006D "m" */
0x7f, 0xd0, 0x86, 0x10, 0xc2, 0x18, 0x43, 0x8,
0x61, 0x8,
/* U+006E "n" */
0x7e, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81,
/* U+006F "o" */
0x7e, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x7e,
/* U+0070 "p" */
0x7e, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x7e,
0x80, 0x80, 0x80, 0x80,
/* U+0071 "q" */
0x7e, 0x10, 0x22, 0x4, 0x40, 0x88, 0x11, 0x2,
0x20, 0x43, 0xf0, 0x1, 0x0, 0x20, 0x5, 0x80,
0xc0,
/* U+0072 "r" */
0x7c, 0x21, 0x8, 0x42, 0x0,
/* U+0073 "s" */
0x7e, 0x8, 0x20, 0x83, 0xf0, 0x41, 0x7, 0xf0,
/* U+0074 "t" */
0x21, 0x8, 0x42, 0x13, 0x64, 0x21, 0x8, 0x42,
0x0,
/* U+0075 "u" */
0x86, 0x18, 0x61, 0x86, 0x17, 0x80,
/* U+0076 "v" */
0x85, 0x14, 0xda, 0x28, 0x0,
/* U+0077 "w" */
0x88, 0xc4, 0x62, 0x31, 0x18, 0x8c, 0x47, 0xfe,
/* U+0078 "x" */
0x82, 0x88, 0xa0, 0x2, 0x88, 0xa0, 0x80,
/* U+0079 "y" */
0x87, 0x14, 0xd2, 0x28, 0x81, 0x8, 0x21, 0x84,
0x10,
/* U+007A "z" */
0xff, 0x2, 0x4, 0x8, 0x10, 0x20, 0x40, 0xff,
/* U+007B "{" */
0x1f, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10,
0x20, 0x40, 0xc0, 0xc0, 0x60, 0x30, 0x10, 0x10,
0x10, 0x10, 0x10, 0x10, 0x10, 0xf,
/* U+007C "|" */
0xff, 0xff, 0xf0,
/* U+007D "}" */
0xf8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0xc,
0x6, 0x3, 0x1, 0x1, 0x6, 0xc, 0x8, 0x8,
0x8, 0x8, 0x8, 0x8, 0x8, 0xf0,
/* U+007E "~" */
0x18, 0x25, 0x8d, 0x1b, 0x41, 0x40
};
/*---------------------
* GLYPH DESCRIPTION
*--------------------*/
static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
{.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */,
{.bitmap_index = 0, .adv_w = 113, .box_w = 1, .box_h = 1, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 1, .adv_w = 55, .box_w = 1, .box_h = 15, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 3, .adv_w = 92, .box_w = 3, .box_h = 4, .ofs_x = 1, .ofs_y = 17},
{.bitmap_index = 5, .adv_w = 259, .box_w = 14, .box_h = 14, .ofs_x = 1, .ofs_y = 1},
{.bitmap_index = 30, .adv_w = 168, .box_w = 9, .box_h = 19, .ofs_x = 1, .ofs_y = -2},
{.bitmap_index = 52, .adv_w = 299, .box_w = 16, .box_h = 17, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 86, .adv_w = 351, .box_w = 20, .box_h = 19, .ofs_x = 1, .ofs_y = -2},
{.bitmap_index = 134, .adv_w = 55, .box_w = 1, .box_h = 7, .ofs_x = 1, .ofs_y = 12},
{.bitmap_index = 135, .adv_w = 89, .box_w = 3, .box_h = 25, .ofs_x = 1, .ofs_y = -4},
{.bitmap_index = 145, .adv_w = 88, .box_w = 3, .box_h = 25, .ofs_x = 1, .ofs_y = -4},
{.bitmap_index = 155, .adv_w = 128, .box_w = 5, .box_h = 5, .ofs_x = 2, .ofs_y = 12},
{.bitmap_index = 159, .adv_w = 188, .box_w = 9, .box_h = 9, .ofs_x = 1, .ofs_y = 4},
{.bitmap_index = 170, .adv_w = 55, .box_w = 1, .box_h = 4, .ofs_x = 1, .ofs_y = -2},
{.bitmap_index = 171, .adv_w = 109, .box_w = 5, .box_h = 1, .ofs_x = 1, .ofs_y = 5},
{.bitmap_index = 172, .adv_w = 55, .box_w = 1, .box_h = 1, .ofs_x = 1, .ofs_y = 1},
{.bitmap_index = 173, .adv_w = 167, .box_w = 7, .box_h = 18, .ofs_x = 2, .ofs_y = -2},
{.bitmap_index = 189, .adv_w = 167, .box_w = 8, .box_h = 15, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 204, .adv_w = 129, .box_w = 6, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 215, .adv_w = 167, .box_w = 8, .box_h = 15, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 230, .adv_w = 159, .box_w = 8, .box_h = 15, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 245, .adv_w = 167, .box_w = 8, .box_h = 13, .ofs_x = 1, .ofs_y = 1},
{.bitmap_index = 258, .adv_w = 167, .box_w = 8, .box_h = 15, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 273, .adv_w = 167, .box_w = 8, .box_h = 15, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 288, .adv_w = 157, .box_w = 7, .box_h = 14, .ofs_x = 2, .ofs_y = 1},
{.bitmap_index = 301, .adv_w = 167, .box_w = 8, .box_h = 15, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 316, .adv_w = 167, .box_w = 8, .box_h = 15, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 331, .adv_w = 55, .box_w = 1, .box_h = 9, .ofs_x = 1, .ofs_y = 2},
{.bitmap_index = 333, .adv_w = 57, .box_w = 1, .box_h = 13, .ofs_x = 1, .ofs_y = -1},
{.bitmap_index = 335, .adv_w = 130, .box_w = 6, .box_h = 12, .ofs_x = 1, .ofs_y = 2},
{.bitmap_index = 344, .adv_w = 146, .box_w = 7, .box_h = 4, .ofs_x = 1, .ofs_y = 6},
{.bitmap_index = 348, .adv_w = 130, .box_w = 6, .box_h = 12, .ofs_x = 1, .ofs_y = 2},
{.bitmap_index = 357, .adv_w = 157, .box_w = 7, .box_h = 15, .ofs_x = 1, .ofs_y = 1},
{.bitmap_index = 371, .adv_w = 281, .box_w = 15, .box_h = 15, .ofs_x = 1, .ofs_y = -2},
{.bitmap_index = 400, .adv_w = 167, .box_w = 8, .box_h = 14, .ofs_x = 1, .ofs_y = 1},
{.bitmap_index = 414, .adv_w = 164, .box_w = 8, .box_h = 15, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 429, .adv_w = 167, .box_w = 8, .box_h = 15, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 444, .adv_w = 182, .box_w = 9, .box_h = 15, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 461, .adv_w = 159, .box_w = 8, .box_h = 15, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 476, .adv_w = 159, .box_w = 8, .box_h = 14, .ofs_x = 1, .ofs_y = 1},
{.bitmap_index = 490, .adv_w = 202, .box_w = 10, .box_h = 15, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 509, .adv_w = 167, .box_w = 8, .box_h = 13, .ofs_x = 1, .ofs_y = 1},
{.bitmap_index = 522, .adv_w = 136, .box_w = 7, .box_h = 15, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 536, .adv_w = 202, .box_w = 10, .box_h = 15, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 555, .adv_w = 160, .box_w = 8, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 569, .adv_w = 157, .box_w = 7, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 582, .adv_w = 167, .box_w = 8, .box_h = 13, .ofs_x = 1, .ofs_y = 1},
{.bitmap_index = 595, .adv_w = 167, .box_w = 8, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 609, .adv_w = 167, .box_w = 8, .box_h = 15, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 624, .adv_w = 167, .box_w = 8, .box_h = 14, .ofs_x = 1, .ofs_y = 1},
{.bitmap_index = 638, .adv_w = 207, .box_w = 11, .box_h = 15, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 659, .adv_w = 183, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 1},
{.bitmap_index = 675, .adv_w = 167, .box_w = 8, .box_h = 15, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 690, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 1},
{.bitmap_index = 706, .adv_w = 167, .box_w = 8, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 720, .adv_w = 212, .box_w = 11, .box_h = 12, .ofs_x = 1, .ofs_y = 1},
{.bitmap_index = 737, .adv_w = 167, .box_w = 8, .box_h = 13, .ofs_x = 1, .ofs_y = 1},
{.bitmap_index = 750, .adv_w = 130, .box_w = 6, .box_h = 12, .ofs_x = 1, .ofs_y = 1},
{.bitmap_index = 759, .adv_w = 137, .box_w = 7, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 772, .adv_w = 164, .box_w = 8, .box_h = 15, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 787, .adv_w = 91, .box_w = 3, .box_h = 15, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 793, .adv_w = 164, .box_w = 8, .box_h = 17, .ofs_x = 1, .ofs_y = -1},
{.bitmap_index = 810, .adv_w = 91, .box_w = 3, .box_h = 15, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 816, .adv_w = 134, .box_w = 6, .box_h = 6, .ofs_x = 1, .ofs_y = 11},
{.bitmap_index = 821, .adv_w = 259, .box_w = 14, .box_h = 1, .ofs_x = 1, .ofs_y = -2},
{.bitmap_index = 823, .adv_w = 92, .box_w = 4, .box_h = 4, .ofs_x = 1, .ofs_y = 13},
{.bitmap_index = 825, .adv_w = 165, .box_w = 8, .box_h = 8, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 833, .adv_w = 167, .box_w = 8, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 847, .adv_w = 157, .box_w = 7, .box_h = 8, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 854, .adv_w = 167, .box_w = 8, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 868, .adv_w = 169, .box_w = 8, .box_h = 8, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 876, .adv_w = 158, .box_w = 7, .box_h = 14, .ofs_x = 1, .ofs_y = 1},
{.bitmap_index = 889, .adv_w = 167, .box_w = 8, .box_h = 13, .ofs_x = 1, .ofs_y = -5},
{.bitmap_index = 902, .adv_w = 167, .box_w = 8, .box_h = 13, .ofs_x = 1, .ofs_y = 1},
{.bitmap_index = 915, .adv_w = 55, .box_w = 1, .box_h = 8, .ofs_x = 1, .ofs_y = 1},
{.bitmap_index = 916, .adv_w = 128, .box_w = 6, .box_h = 14, .ofs_x = 1, .ofs_y = -5},
{.bitmap_index = 927, .adv_w = 151, .box_w = 7, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 940, .adv_w = 55, .box_w = 1, .box_h = 13, .ofs_x = 1, .ofs_y = 1},
{.bitmap_index = 942, .adv_w = 216, .box_w = 11, .box_h = 7, .ofs_x = 1, .ofs_y = 1},
{.bitmap_index = 952, .adv_w = 167, .box_w = 8, .box_h = 7, .ofs_x = 1, .ofs_y = 1},
{.bitmap_index = 959, .adv_w = 167, .box_w = 8, .box_h = 8, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 967, .adv_w = 167, .box_w = 8, .box_h = 12, .ofs_x = 1, .ofs_y = -4},
{.bitmap_index = 979, .adv_w = 203, .box_w = 11, .box_h = 12, .ofs_x = 1, .ofs_y = -4},
{.bitmap_index = 996, .adv_w = 122, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 1},
{.bitmap_index = 1001, .adv_w = 126, .box_w = 6, .box_h = 10, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1009, .adv_w = 129, .box_w = 5, .box_h = 13, .ofs_x = 1, .ofs_y = 1},
{.bitmap_index = 1018, .adv_w = 136, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1024, .adv_w = 136, .box_w = 6, .box_h = 6, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1029, .adv_w = 167, .box_w = 9, .box_h = 7, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1037, .adv_w = 152, .box_w = 7, .box_h = 7, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1044, .adv_w = 136, .box_w = 6, .box_h = 12, .ofs_x = 1, .ofs_y = -6},
{.bitmap_index = 1053, .adv_w = 146, .box_w = 8, .box_h = 8, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1061, .adv_w = 166, .box_w = 8, .box_h = 22, .ofs_x = 1, .ofs_y = -3},
{.bitmap_index = 1083, .adv_w = 55, .box_w = 1, .box_h = 20, .ofs_x = 1, .ofs_y = -3},
{.bitmap_index = 1086, .adv_w = 164, .box_w = 8, .box_h = 22, .ofs_x = 1, .ofs_y = -3},
{.bitmap_index = 1108, .adv_w = 216, .box_w = 11, .box_h = 4, .ofs_x = 1, .ofs_y = 7}
};
/*---------------------
* CHARACTER MAPPING
*--------------------*/
/*Collect the unicode lists and glyph_id offsets*/
static const lv_font_fmt_txt_cmap_t cmaps[] =
{
{
.range_start = 32, .range_length = 95, .glyph_id_start = 1,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
}
};
/*--------------------
* ALL CUSTOM DATA
*--------------------*/
#if LV_VERSION_CHECK(8, 0, 0)
/*Store all the custom data of the font*/
static lv_font_fmt_txt_glyph_cache_t cache;
static const lv_font_fmt_txt_dsc_t font_dsc = {
#else
static lv_font_fmt_txt_dsc_t font_dsc = {
#endif
.glyph_bitmap = glyph_bitmap,
.glyph_dsc = glyph_dsc,
.cmaps = cmaps,
.kern_dsc = NULL,
.kern_scale = 0,
.cmap_num = 1,
.bpp = 1,
.kern_classes = 0,
.bitmap_format = 0,
#if LV_VERSION_CHECK(8, 0, 0)
.cache = &cache
#endif
};
/*-----------------
* PUBLIC FONT
*----------------*/
/*Initialize a public general font descriptor*/
#if LV_VERSION_CHECK(8, 0, 0)
const lv_font_t ui_font_calculator24 = {
#else
lv_font_t ui_font_calculator24 = {
#endif
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
.line_height = 27, /*The maximum line height required by the font*/
.base_line = 6, /*Baseline measured from the bottom of the line*/
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
.subpx = LV_FONT_SUBPX_NONE,
#endif
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
.underline_position = -3,
.underline_thickness = 2,
#endif
.dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
};
#endif /*#if UI_FONT_CALCULATOR24*/

View File

@ -0,0 +1,685 @@
/*******************************************************************************
* Size: 32 px
* Bpp: 1
* Opts: --bpp 1 --size 32 --font /home/valerio/SquareLine/assets/Calculator.ttf -o /home/valerio/SquareLine/assets/ui_font_calculator32.c --format lvgl -r 0x20-0x7f --no-compress --no-prefilter
******************************************************************************/
#include "../ui.h"
#ifndef UI_FONT_CALCULATOR32
#define UI_FONT_CALCULATOR32 1
#endif
#if UI_FONT_CALCULATOR32
/*-----------------
* BITMAPS
*----------------*/
/*Store the image of the glyphs*/
static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
/* U+0020 " " */
0x0,
/* U+0021 "!" */
0xff, 0xbf, 0xe8,
/* U+0022 "\"" */
0x99, 0x99, 0x99,
/* U+0023 "#" */
0x4, 0x10, 0x2, 0x8, 0x1, 0x4, 0x0, 0x82,
0x0, 0x41, 0x7, 0xdf, 0x7c, 0x10, 0x40, 0x8,
0x20, 0x4, 0x10, 0x2, 0x8, 0x1, 0x4, 0x0,
0x82, 0xf, 0xbe, 0xf8, 0x20, 0x80, 0x10, 0x40,
0x8, 0x20, 0x4, 0x10, 0x2, 0x8, 0x0,
/* U+0024 "$" */
0x4, 0x0, 0x80, 0x10, 0x3f, 0xe8, 0x3, 0x8,
0x61, 0x4, 0x20, 0x84, 0x10, 0x82, 0x10, 0x42,
0x8, 0x0, 0xff, 0x80, 0x8, 0x21, 0x4, 0x20,
0x84, 0x10, 0x82, 0x10, 0x43, 0x8, 0x60, 0xb,
0xfe, 0x4, 0x0, 0x80, 0x10, 0x0,
/* U+0025 "%" */
0x0, 0x3, 0x0, 0x0, 0xc, 0x0, 0x0, 0x20,
0x1f, 0x1, 0x80, 0x82, 0x4, 0x2, 0x8, 0x30,
0x8, 0x20, 0xc0, 0x20, 0x80, 0x0, 0x82, 0x10,
0x1, 0xf0, 0xc0, 0x0, 0x3, 0x0, 0x0, 0x8,
0x0, 0x0, 0x60, 0x0, 0x1, 0x0, 0x0, 0x4,
0x1f, 0x80, 0x20, 0x81, 0x0, 0x82, 0x4, 0x6,
0x8, 0x10, 0x10, 0x20, 0x40, 0xc0, 0x81, 0x3,
0x1, 0xf8, 0x8, 0x0, 0x0, 0x20, 0x0, 0x0,
/* U+0026 "&" */
0x1, 0xf0, 0x0, 0x0, 0x62, 0x0, 0x0, 0x18,
0x60, 0x0, 0x6, 0x6, 0x0, 0x0, 0x80, 0x40,
0x0, 0x10, 0x8, 0x0, 0x2, 0x1, 0x0, 0x0,
0x60, 0x60, 0x0, 0x6, 0x18, 0x0, 0x0, 0x62,
0x0, 0x0, 0x7, 0x80, 0x0, 0x0, 0xe0, 0x3f,
0x0, 0x3e, 0x0, 0x60, 0xe, 0x60, 0x1f, 0xc3,
0x8e, 0x7, 0x0, 0xe0, 0xe1, 0xc0, 0x38, 0xe,
0x70, 0xc, 0x0, 0xdc, 0x3, 0x0, 0xf, 0x0,
0x20, 0x1, 0xc0, 0x44, 0x0, 0x7c, 0x18, 0x80,
0xc, 0xc6, 0x10, 0x3, 0xd, 0x81, 0x80, 0xc0,
0xa0, 0x18, 0x30, 0x0, 0x0, 0xfc, 0x0, 0x0,
0x1, 0x0, 0x0, 0x0,
/* U+0027 "'" */
0xff, 0xc0,
/* U+0028 "(" */
0x13, 0x26, 0x64, 0xc8, 0x88, 0x88, 0x88, 0x88,
0x88, 0x88, 0x88, 0x88, 0x88, 0x8c, 0xc4, 0x62,
0x23, 0x10,
/* U+0029 ")" */
0xc4, 0x46, 0x23, 0x31, 0x11, 0x11, 0x11, 0x11,
0x11, 0x11, 0x11, 0x11, 0x11, 0x13, 0x22, 0x64,
0xc8,
/* U+002A "*" */
0x8, 0x8, 0x8, 0xf7, 0x14, 0x76, 0x62,
/* U+002B "+" */
0x2, 0x0, 0x10, 0x0, 0x80, 0x4, 0x0, 0x20,
0x1, 0x3, 0xf7, 0xe0, 0x40, 0x2, 0x0, 0x10,
0x0, 0x80, 0x4, 0x0, 0x20, 0x0,
/* U+002C "," */
0xfc,
/* U+002D "-" */
0xfc,
/* U+002E "." */
0x80,
/* U+002F "/" */
0x0, 0x40, 0x10, 0xc, 0x2, 0x1, 0x80, 0x60,
0x10, 0x4, 0x2, 0x1, 0x80, 0x40, 0x30, 0xc,
0x2, 0x1, 0x80, 0x40, 0x10, 0xc, 0x2, 0x1,
0x80, 0x60, 0x10, 0xc, 0x2, 0x0,
/* U+0030 "0" */
0x7f, 0xd0, 0x6, 0x2, 0xc0, 0xd8, 0x1b, 0x2,
0x60, 0xcc, 0x11, 0x86, 0x30, 0xc4, 0x0, 0x40,
0x18, 0x83, 0x30, 0x66, 0xc, 0x81, 0xb0, 0x34,
0x6, 0x80, 0xc0, 0x17, 0xfc,
/* U+0031 "1" */
0x71, 0xe3, 0x40, 0x81, 0x2, 0x4, 0x8, 0x10,
0x20, 0x40, 0x81, 0x2, 0x4, 0x8, 0x10, 0x20,
0x47, 0x70,
/* U+0032 "2" */
0x7f, 0xd0, 0x6, 0x0, 0x80, 0x10, 0x2, 0x0,
0x40, 0x8, 0x1, 0x0, 0x20, 0x5, 0xff, 0x40,
0x8, 0x1, 0x0, 0x20, 0x4, 0x0, 0x80, 0x10,
0x2, 0x0, 0x40, 0x7, 0xfc,
/* U+0033 "3" */
0xff, 0x80, 0x10, 0x4, 0x1, 0x0, 0x40, 0x10,
0x4, 0x1, 0x0, 0x40, 0x1f, 0xf8, 0x1, 0x0,
0x40, 0x10, 0x4, 0x1, 0x0, 0x40, 0x10, 0x4,
0x1, 0xff, 0x80,
/* U+0034 "4" */
0x80, 0x30, 0x6, 0x0, 0xc0, 0x18, 0x3, 0x0,
0x60, 0xc, 0x1, 0x80, 0x2f, 0xf8, 0x0, 0x80,
0x10, 0x2, 0x0, 0x40, 0x8, 0x1, 0x0, 0x20,
0x4, 0x0, 0x80,
/* U+0035 "5" */
0x7f, 0xd0, 0x2, 0x0, 0x40, 0x8, 0x1, 0x0,
0x20, 0x4, 0x0, 0x80, 0x10, 0x1, 0xff, 0x0,
0x10, 0x2, 0x0, 0x40, 0x8, 0x1, 0x0, 0x30,
0x6, 0x0, 0xc0, 0x17, 0xfc,
/* U+0036 "6" */
0x7f, 0xd0, 0x2, 0x0, 0x40, 0x8, 0x1, 0x0,
0x20, 0x4, 0x0, 0x80, 0x10, 0x1, 0xff, 0x40,
0x18, 0x3, 0x0, 0x60, 0xc, 0x1, 0x80, 0x30,
0x6, 0x0, 0xc0, 0x17, 0xfc,
/* U+0037 "7" */
0xff, 0x80, 0x10, 0x4, 0x1, 0x0, 0x40, 0x10,
0x4, 0x1, 0x0, 0x40, 0x10, 0x4, 0x1, 0x0,
0x40, 0x10, 0x4, 0x1, 0x0, 0x40, 0x10, 0x4,
/* U+0038 "8" */
0x7f, 0xd0, 0x6, 0x0, 0xc0, 0x18, 0x3, 0x0,
0x60, 0xc, 0x1, 0x80, 0x30, 0x5, 0xff, 0x40,
0x18, 0x3, 0x0, 0x60, 0xc, 0x1, 0x80, 0x30,
0x6, 0x0, 0xc0, 0x17, 0xfc,
/* U+0039 "9" */
0x7f, 0xd0, 0x6, 0x0, 0xc0, 0x18, 0x3, 0x0,
0x60, 0xc, 0x1, 0x80, 0x30, 0x5, 0xff, 0x0,
0x10, 0x2, 0x0, 0x40, 0x8, 0x1, 0x0, 0x20,
0x4, 0x0, 0x80, 0x17, 0xfc,
/* U+003A ":" */
0x80, 0x8,
/* U+003B ";" */
0xc0, 0xf, 0x80,
/* U+003C "<" */
0x3, 0x6, 0xc, 0x1c, 0x38, 0x70, 0x60, 0xc0,
0x80, 0xc0, 0xc0, 0x60, 0x30, 0x18, 0xc, 0x6,
0x3,
/* U+003D "=" */
0xff, 0x80, 0x0, 0x0, 0x0, 0x7, 0xfc,
/* U+003E ">" */
0x80, 0xc0, 0x60, 0x30, 0x18, 0xc, 0x6, 0x3,
0x3, 0x3, 0x6, 0xc, 0x18, 0x30, 0x60, 0xc0,
0xc0,
/* U+003F "?" */
0xff, 0x80, 0x10, 0x4, 0x1, 0x0, 0x40, 0x10,
0x4, 0x1, 0x0, 0x41, 0xe0, 0x80, 0x20, 0x8,
0x2, 0x0, 0x80, 0x20, 0x0, 0x0, 0x0, 0x0,
0x20,
/* U+0040 "@" */
0x7f, 0xff, 0xe8, 0x0, 0x1, 0x80, 0x0, 0x18,
0x0, 0x1, 0x80, 0x0, 0x18, 0x0, 0x41, 0x80,
0x4, 0x18, 0x1f, 0x81, 0x82, 0x4, 0x18, 0x20,
0x41, 0x82, 0x4, 0x18, 0x20, 0x41, 0x82, 0x4,
0x18, 0x1f, 0xbe, 0x80, 0x0, 0x8, 0x0, 0x0,
0x80, 0x0, 0x8, 0x0, 0x0, 0x80, 0x0, 0x7,
0xff, 0xfe,
/* U+0041 "A" */
0x7f, 0xd0, 0x6, 0x0, 0xc0, 0x18, 0x3, 0x0,
0x60, 0xc, 0x1, 0x80, 0x30, 0x5, 0xff, 0x40,
0x18, 0x3, 0x0, 0x60, 0xc, 0x1, 0x80, 0x30,
0x6, 0x0, 0xc0, 0x10,
/* U+0042 "B" */
0x7c, 0x20, 0x48, 0x1a, 0x2, 0x80, 0x60, 0x18,
0x6, 0x1, 0x80, 0xa0, 0x67, 0xc2, 0x4, 0x81,
0xa0, 0x28, 0x6, 0x1, 0x80, 0x60, 0x8, 0xa,
0x4, 0x7c, 0x0,
/* U+0043 "C" */
0x7f, 0xd0, 0x6, 0x0, 0xc0, 0x18, 0x3, 0x0,
0x20, 0x4, 0x0, 0x80, 0x10, 0x0, 0x0, 0x40,
0x8, 0x1, 0x0, 0x20, 0x4, 0x0, 0x80, 0x30,
0x6, 0x0, 0xc0, 0x17, 0xfc,
/* U+0044 "D" */
0x7c, 0x8, 0x18, 0x80, 0xc8, 0x6, 0x80, 0x38,
0x0, 0x80, 0x18, 0x1, 0x80, 0x18, 0x1, 0x0,
0x18, 0x1, 0x80, 0x18, 0x1, 0x80, 0x18, 0x1,
0x80, 0x38, 0x6, 0x80, 0xc8, 0x18, 0x7f, 0x0,
/* U+0045 "E" */
0x7f, 0xe0, 0x8, 0x2, 0x0, 0x80, 0x20, 0x8,
0x2, 0x0, 0x80, 0x20, 0xf, 0xfe, 0x0, 0x80,
0x20, 0x8, 0x2, 0x0, 0x80, 0x20, 0x8, 0x2,
0x0, 0x7f, 0xc0,
/* U+0046 "F" */
0x7f, 0xe0, 0x8, 0x2, 0x0, 0x80, 0x20, 0x8,
0x2, 0x0, 0x80, 0x20, 0x7, 0xfe, 0x0, 0x80,
0x20, 0x8, 0x2, 0x0, 0x80, 0x20, 0x8, 0x2,
0x0,
/* U+0047 "G" */
0x7f, 0xc2, 0x0, 0x88, 0x2, 0x20, 0x8, 0x80,
0x2, 0x0, 0x8, 0x0, 0x20, 0x0, 0x80, 0x2,
0x0, 0x0, 0x1d, 0xe0, 0x8, 0x80, 0x22, 0x0,
0x88, 0x2, 0x20, 0x8, 0x80, 0x22, 0x0, 0x88,
0x2, 0x20, 0x8, 0x7f, 0xc0,
/* U+0048 "H" */
0x80, 0x30, 0x6, 0x0, 0xc0, 0x18, 0x3, 0x0,
0x60, 0xc, 0x1, 0x80, 0x2f, 0xfa, 0x0, 0xc0,
0x18, 0x3, 0x0, 0x60, 0xc, 0x1, 0x80, 0x30,
0x6, 0x0, 0x80,
/* U+0049 "I" */
0xee, 0x20, 0x40, 0x81, 0x2, 0x4, 0x8, 0x10,
0x20, 0x0, 0x81, 0x2, 0x4, 0x8, 0x10, 0x20,
0x40, 0x8e, 0xe0,
/* U+004A "J" */
0x7e, 0xfc, 0x4, 0x0, 0x10, 0x0, 0x40, 0x1,
0x0, 0x4, 0x0, 0x10, 0x0, 0x40, 0x1, 0x0,
0x4, 0x0, 0x0, 0x0, 0x40, 0x1, 0x0, 0x4,
0x8, 0x10, 0x20, 0x40, 0x81, 0x2, 0x4, 0x8,
0x10, 0x20, 0x40, 0x7e, 0x0,
/* U+004B "K" */
0x80, 0x20, 0x38, 0xe, 0x6, 0x83, 0x21, 0x88,
0xc2, 0x60, 0xb0, 0x0, 0xb, 0x2, 0x60, 0x8c,
0x21, 0x88, 0x32, 0x6, 0x80, 0xe0, 0x38, 0x0,
/* U+004C "L" */
0x80, 0x20, 0x8, 0x2, 0x0, 0x80, 0x20, 0x8,
0x2, 0x0, 0x80, 0x20, 0x8, 0x2, 0x0, 0x80,
0x20, 0x8, 0x2, 0x0, 0x80, 0x20, 0x7, 0xfc,
/* U+004D "M" */
0xc0, 0x3c, 0x16, 0x86, 0xd8, 0xd9, 0x13, 0x36,
0x66, 0x8c, 0x51, 0x80, 0x30, 0x6, 0x0, 0xc0,
0x18, 0x3, 0x0, 0x60, 0xc, 0x1, 0x80, 0x30,
0x6, 0x0, 0x80,
/* U+004E "N" */
0x80, 0x38, 0x7, 0x80, 0xd0, 0x1b, 0x3, 0x20,
0x66, 0xc, 0x41, 0x88, 0x30, 0x86, 0x18, 0xc1,
0x18, 0x33, 0x2, 0x60, 0x6c, 0x5, 0x80, 0xf0,
0x6, 0x0, 0x80,
/* U+004F "O" */
0x7f, 0xd0, 0x6, 0x0, 0xc0, 0x18, 0x3, 0x0,
0x60, 0xc, 0x1, 0x80, 0x30, 0x4, 0x0, 0x40,
0x18, 0x3, 0x0, 0x60, 0xc, 0x1, 0x80, 0x30,
0x6, 0x0, 0xc0, 0x17, 0xfc,
/* U+0050 "P" */
0x7f, 0xd0, 0x6, 0x0, 0xc0, 0x18, 0x3, 0x0,
0x60, 0xc, 0x1, 0x80, 0x30, 0x5, 0xff, 0x40,
0x8, 0x1, 0x0, 0x20, 0x4, 0x0, 0x80, 0x10,
0x2, 0x0, 0x40, 0x0,
/* U+0051 "Q" */
0x7f, 0xc2, 0x0, 0x88, 0x2, 0x20, 0x8, 0x80,
0x22, 0x0, 0x88, 0x2, 0x20, 0x8, 0x80, 0x22,
0x0, 0x80, 0x0, 0x20, 0x8, 0x80, 0x22, 0x0,
0x88, 0x32, 0x20, 0xe8, 0x81, 0xe2, 0x3, 0x88,
0x3, 0xa0, 0xb, 0x7f, 0xc4,
/* U+0052 "R" */
0x7f, 0xc8, 0x2, 0x80, 0x28, 0x2, 0x80, 0x28,
0x2, 0x80, 0x28, 0x2, 0x80, 0x28, 0x2, 0x7f,
0xc8, 0x4, 0x80, 0x48, 0x6, 0x80, 0x28, 0x2,
0x80, 0x38, 0x1, 0x80, 0x18, 0x0,
/* U+0053 "S" */
0x7f, 0xd0, 0x6, 0x0, 0xc0, 0x18, 0x1, 0x0,
0x20, 0x4, 0x0, 0x80, 0x10, 0x1, 0xff, 0x0,
0x10, 0x2, 0x0, 0x40, 0x8, 0x1, 0x0, 0x30,
0x6, 0x0, 0xc0, 0x17, 0xfc,
/* U+0054 "T" */
0xfd, 0xf8, 0x10, 0x0, 0x80, 0x4, 0x0, 0x20,
0x1, 0x0, 0x8, 0x0, 0x40, 0x2, 0x0, 0x10,
0x0, 0x80, 0x4, 0x0, 0x20, 0x1, 0x0, 0x8,
0x0, 0x40, 0x2, 0x0, 0x10, 0x0, 0x80,
/* U+0055 "U" */
0x80, 0x30, 0x6, 0x0, 0xc0, 0x18, 0x3, 0x0,
0x60, 0xc, 0x1, 0x80, 0x30, 0x6, 0x0, 0xc0,
0x18, 0x3, 0x0, 0x60, 0xc, 0x1, 0x80, 0x30,
0x5, 0xff, 0x0,
/* U+0056 "V" */
0x0, 0x6, 0x0, 0x3c, 0x0, 0xf0, 0x2, 0x40,
0x19, 0x80, 0x42, 0x3, 0x8, 0xc, 0x0, 0x20,
0x41, 0x81, 0x86, 0x2, 0x10, 0xc, 0xc0, 0x12,
0x0, 0x78, 0x1, 0xe0,
/* U+0057 "W" */
0x80, 0x30, 0x6, 0x0, 0xc0, 0x18, 0x3, 0x0,
0x60, 0xc, 0x1, 0x80, 0x30, 0x6, 0x20, 0xcd,
0x19, 0xb3, 0x26, 0x6c, 0x6d, 0xd, 0xe0, 0xfc,
0x1e, 0x0, 0x80,
/* U+0058 "X" */
0x83, 0xf, 0x1a, 0x26, 0xcd, 0xa, 0x0, 0x0,
0x71, 0xa3, 0x64, 0x58, 0xe1, 0xc1, 0x0,
/* U+0059 "Y" */
0x3, 0x7, 0x1e, 0x34, 0x4d, 0x8a, 0x14, 0x0,
0x20, 0x40, 0x81, 0x2, 0x4, 0x8, 0x10, 0x20,
/* U+005A "Z" */
0x7f, 0xc0, 0x8, 0x1, 0x0, 0x60, 0xc, 0x1,
0x0, 0x60, 0x8, 0x1, 0x0, 0xc0, 0x38, 0x6,
0x1, 0x0, 0x60, 0x8, 0x1, 0x0, 0x60, 0x8,
0x3, 0x0, 0x60, 0x7, 0xfc,
/* U+005B "[" */
0x78, 0x88, 0x88, 0x88, 0x88, 0x8, 0x88, 0x88,
0x88, 0x88, 0x70,
/* U+005C "\\" */
0x80, 0x20, 0xc, 0x1, 0x0, 0x60, 0x18, 0x2,
0x0, 0x0, 0x10, 0x6, 0x1, 0x80, 0x20, 0xc,
0x1, 0x0, 0x60, 0x8, 0x3, 0x0, 0xc0, 0x10,
0x6, 0x0, 0x80, 0x30, 0xc, 0x1,
/* U+005D "]" */
0xe1, 0x11, 0x11, 0x11, 0x11, 0x1, 0x11, 0x11,
0x11, 0x11, 0xf0,
/* U+005E "^" */
0x28, 0x28, 0x6c, 0x64, 0x46, 0xc6, 0x82, 0x82,
/* U+005F "_" */
0xff, 0xff, 0xc0,
/* U+0060 "`" */
0x86, 0x18, 0x61, 0x80,
/* U+0061 "a" */
0xff, 0x80, 0x10, 0x4, 0x1, 0x0, 0x40, 0x17,
0xfe, 0x1, 0x80, 0x60, 0x1f, 0xf8,
/* U+0062 "b" */
0x80, 0x10, 0x2, 0x0, 0x40, 0x8, 0x1, 0x0,
0x20, 0x4, 0x0, 0x80, 0xf, 0xfa, 0x0, 0xc0,
0x18, 0x3, 0x0, 0x60, 0xc, 0x1, 0x80, 0x30,
0x6, 0x0, 0xbf, 0xe0,
/* U+0063 "c" */
0x7f, 0xe0, 0x8, 0x2, 0x0, 0x80, 0x20, 0x8,
0x2, 0x0, 0x80, 0x20, 0x7, 0xfc,
/* U+0064 "d" */
0x0, 0x20, 0x4, 0x0, 0x80, 0x10, 0x2, 0x0,
0x40, 0x8, 0x1, 0x0, 0x2f, 0xfa, 0x0, 0xc0,
0x18, 0x3, 0x0, 0x60, 0xc, 0x1, 0x80, 0x30,
0x6, 0x0, 0xbf, 0xe0,
/* U+0065 "e" */
0x7f, 0xd0, 0x6, 0x0, 0xc0, 0x18, 0x3, 0xff,
0xa0, 0x4, 0x0, 0x80, 0x10, 0x1, 0xff, 0x0,
/* U+0066 "f" */
0xf, 0xc4, 0x1, 0x0, 0x40, 0x10, 0x4, 0x1,
0x0, 0x40, 0x10, 0x4, 0xe, 0xe0, 0x40, 0x10,
0x4, 0x1, 0x0, 0x40, 0x10, 0x4, 0x1, 0x0,
0x40,
/* U+0067 "g" */
0x7f, 0xd0, 0x6, 0x0, 0xc0, 0x18, 0x3, 0x0,
0x60, 0xc, 0x1, 0x80, 0x30, 0x5, 0xff, 0x0,
0x10, 0x2, 0x0, 0x40, 0x8, 0x1, 0x7f, 0xc0,
/* U+0068 "h" */
0x80, 0x10, 0x2, 0x0, 0x40, 0x8, 0x1, 0x0,
0x20, 0x4, 0x0, 0x80, 0xf, 0xfa, 0x0, 0xc0,
0x18, 0x3, 0x0, 0x60, 0xc, 0x1, 0x80, 0x30,
0x6, 0x0, 0x80,
/* U+0069 "i" */
0xff, 0xf0,
/* U+006A "j" */
0x2, 0x4, 0x8, 0x10, 0x20, 0x40, 0x81, 0x2,
0x4, 0x8, 0x10, 0x20, 0x40, 0x81, 0x83, 0x7,
0xf0,
/* U+006B "k" */
0x80, 0x20, 0x8, 0x2, 0x0, 0x80, 0x20, 0x8,
0x1a, 0xc, 0x86, 0x3b, 0xb, 0x82, 0x60, 0x8c,
0x21, 0x88, 0x32, 0x6, 0x80, 0xe0, 0x0,
/* U+006C "l" */
0xff, 0xff, 0xe0,
/* U+006D "m" */
0x7f, 0xfd, 0x2, 0x6, 0x4, 0xc, 0x8, 0x18,
0x10, 0x30, 0x20, 0x60, 0x40, 0xc0, 0x81, 0x81,
0x3, 0x2, 0x4,
/* U+006E "n" */
0x7f, 0xd0, 0x6, 0x0, 0xc0, 0x18, 0x3, 0x0,
0x60, 0xc, 0x1, 0x80, 0x30, 0x4,
/* U+006F "o" */
0x7f, 0xd0, 0x6, 0x0, 0xc0, 0x18, 0x3, 0x0,
0x60, 0xc, 0x1, 0x80, 0x30, 0x5, 0xff, 0x0,
/* U+0070 "p" */
0x7f, 0xd0, 0x6, 0x0, 0xc0, 0x18, 0x3, 0x0,
0x60, 0xc, 0x1, 0x80, 0x30, 0x5, 0xff, 0x40,
0x8, 0x1, 0x0, 0x20, 0x4, 0x0,
/* U+0071 "q" */
0x7f, 0xc2, 0x0, 0x88, 0x2, 0x20, 0x8, 0x80,
0x22, 0x0, 0x88, 0x2, 0x20, 0x8, 0x80, 0x22,
0x0, 0x87, 0xfc, 0x0, 0x8, 0x0, 0x20, 0x0,
0x90, 0x2, 0xc0, 0xe, 0x0, 0x10,
/* U+0072 "r" */
0x7f, 0x2, 0x4, 0x8, 0x10, 0x20, 0x40, 0x81,
0x0,
/* U+0073 "s" */
0x7f, 0x2, 0x4, 0x8, 0x10, 0x20, 0x7f, 0x2,
0x4, 0x8, 0x10, 0x3f, 0xc0,
/* U+0074 "t" */
0x10, 0x20, 0x40, 0x81, 0x2, 0x4, 0x8, 0x11,
0xdc, 0x40, 0x81, 0x2, 0x4, 0x8, 0x10, 0x20,
0x40,
/* U+0075 "u" */
0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81,
0x81, 0x7e,
/* U+0076 "v" */
0x0, 0x83, 0x82, 0xc6, 0x46, 0x64, 0x2c, 0x28,
/* U+0077 "w" */
0x84, 0x30, 0x86, 0x10, 0xc2, 0x18, 0x43, 0x8,
0x61, 0xc, 0x21, 0xff, 0xe0,
/* U+0078 "x" */
0xc0, 0xf8, 0x77, 0x38, 0xfc, 0x1e, 0x7, 0x83,
0xf1, 0xce, 0xe1, 0xf0, 0x30,
/* U+0079 "y" */
0x83, 0x82, 0xc2, 0x46, 0x64, 0x6c, 0x2c, 0x28,
0x10, 0x10, 0x30, 0x20, 0x60, 0x60, 0x40, 0x40,
/* U+007A "z" */
0xff, 0x80, 0xc0, 0xc0, 0xe0, 0x60, 0x60, 0x60,
0x60, 0x60, 0x20, 0x3f, 0xe0,
/* U+007B "{" */
0x7, 0xe1, 0x0, 0x20, 0x4, 0x0, 0x80, 0x10,
0x2, 0x0, 0x40, 0x8, 0x1, 0x0, 0x20, 0xc,
0x7, 0x1, 0xc0, 0x30, 0x6, 0x0, 0x60, 0x6,
0x0, 0x60, 0x4, 0x0, 0x80, 0x10, 0x2, 0x0,
0x40, 0x8, 0x1, 0x0, 0x20, 0x4, 0x0, 0x80,
0xf, 0xc0,
/* U+007C "|" */
0xff, 0xff, 0xff, 0xf0,
/* U+007D "}" */
0xfc, 0x1, 0x0, 0x40, 0x10, 0x4, 0x1, 0x0,
0x40, 0x10, 0x4, 0x1, 0x0, 0x60, 0xc, 0x1,
0x80, 0x30, 0x0, 0x3, 0x1, 0x80, 0xc0, 0x60,
0x10, 0x4, 0x1, 0x0, 0x40, 0x10, 0x4, 0x1,
0x0, 0x40, 0x10, 0x4, 0x3e, 0x0,
/* U+007E "~" */
0x14, 0x2, 0x6c, 0xd, 0xce, 0x77, 0xf, 0xcc,
0xf, 0x0
};
/*---------------------
* GLYPH DESCRIPTION
*--------------------*/
static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
{.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */,
{.bitmap_index = 0, .adv_w = 150, .box_w = 1, .box_h = 1, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 1, .adv_w = 73, .box_w = 1, .box_h = 21, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 4, .adv_w = 123, .box_w = 4, .box_h = 6, .ofs_x = 2, .ofs_y = 23},
{.bitmap_index = 7, .adv_w = 345, .box_w = 17, .box_h = 18, .ofs_x = 2, .ofs_y = 2},
{.bitmap_index = 46, .adv_w = 225, .box_w = 11, .box_h = 27, .ofs_x = 2, .ofs_y = -3},
{.bitmap_index = 84, .adv_w = 398, .box_w = 22, .box_h = 23, .ofs_x = 2, .ofs_y = 1},
{.bitmap_index = 148, .adv_w = 468, .box_w = 27, .box_h = 27, .ofs_x = 1, .ofs_y = -3},
{.bitmap_index = 240, .adv_w = 73, .box_w = 1, .box_h = 10, .ofs_x = 2, .ofs_y = 16},
{.bitmap_index = 242, .adv_w = 118, .box_w = 4, .box_h = 35, .ofs_x = 2, .ofs_y = -6},
{.bitmap_index = 260, .adv_w = 117, .box_w = 4, .box_h = 34, .ofs_x = 1, .ofs_y = -6},
{.bitmap_index = 277, .adv_w = 171, .box_w = 8, .box_h = 7, .ofs_x = 1, .ofs_y = 17},
{.bitmap_index = 284, .adv_w = 251, .box_w = 13, .box_h = 13, .ofs_x = 1, .ofs_y = 5},
{.bitmap_index = 306, .adv_w = 73, .box_w = 1, .box_h = 6, .ofs_x = 2, .ofs_y = -3},
{.bitmap_index = 307, .adv_w = 145, .box_w = 6, .box_h = 1, .ofs_x = 2, .ofs_y = 7},
{.bitmap_index = 308, .adv_w = 73, .box_w = 1, .box_h = 1, .ofs_x = 2, .ofs_y = 1},
{.bitmap_index = 309, .adv_w = 223, .box_w = 10, .box_h = 24, .ofs_x = 2, .ofs_y = -2},
{.bitmap_index = 339, .adv_w = 223, .box_w = 11, .box_h = 21, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 368, .adv_w = 172, .box_w = 7, .box_h = 20, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 386, .adv_w = 223, .box_w = 11, .box_h = 21, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 415, .adv_w = 212, .box_w = 10, .box_h = 21, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 442, .adv_w = 223, .box_w = 11, .box_h = 19, .ofs_x = 2, .ofs_y = 1},
{.bitmap_index = 469, .adv_w = 223, .box_w = 11, .box_h = 21, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 498, .adv_w = 223, .box_w = 11, .box_h = 21, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 527, .adv_w = 210, .box_w = 10, .box_h = 19, .ofs_x = 1, .ofs_y = 2},
{.bitmap_index = 551, .adv_w = 223, .box_w = 11, .box_h = 21, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 580, .adv_w = 223, .box_w = 11, .box_h = 21, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 609, .adv_w = 73, .box_w = 1, .box_h = 13, .ofs_x = 2, .ofs_y = 3},
{.bitmap_index = 611, .adv_w = 76, .box_w = 1, .box_h = 17, .ofs_x = 2, .ofs_y = -1},
{.bitmap_index = 614, .adv_w = 173, .box_w = 8, .box_h = 17, .ofs_x = 2, .ofs_y = 3},
{.bitmap_index = 631, .adv_w = 195, .box_w = 9, .box_h = 6, .ofs_x = 2, .ofs_y = 8},
{.bitmap_index = 638, .adv_w = 173, .box_w = 8, .box_h = 17, .ofs_x = 2, .ofs_y = 3},
{.bitmap_index = 655, .adv_w = 210, .box_w = 10, .box_h = 20, .ofs_x = 2, .ofs_y = 1},
{.bitmap_index = 680, .adv_w = 375, .box_w = 20, .box_h = 20, .ofs_x = 2, .ofs_y = -2},
{.bitmap_index = 730, .adv_w = 223, .box_w = 11, .box_h = 20, .ofs_x = 2, .ofs_y = 1},
{.bitmap_index = 758, .adv_w = 218, .box_w = 10, .box_h = 21, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 785, .adv_w = 223, .box_w = 11, .box_h = 21, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 814, .adv_w = 243, .box_w = 12, .box_h = 21, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 846, .adv_w = 212, .box_w = 10, .box_h = 21, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 873, .adv_w = 212, .box_w = 10, .box_h = 20, .ofs_x = 2, .ofs_y = 1},
{.bitmap_index = 898, .adv_w = 269, .box_w = 14, .box_h = 21, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 935, .adv_w = 223, .box_w = 11, .box_h = 19, .ofs_x = 2, .ofs_y = 1},
{.bitmap_index = 962, .adv_w = 181, .box_w = 7, .box_h = 21, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 981, .adv_w = 269, .box_w = 14, .box_h = 21, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 1018, .adv_w = 213, .box_w = 10, .box_h = 19, .ofs_x = 2, .ofs_y = 1},
{.bitmap_index = 1042, .adv_w = 209, .box_w = 10, .box_h = 19, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 1066, .adv_w = 223, .box_w = 11, .box_h = 19, .ofs_x = 2, .ofs_y = 1},
{.bitmap_index = 1093, .adv_w = 223, .box_w = 11, .box_h = 19, .ofs_x = 2, .ofs_y = 1},
{.bitmap_index = 1120, .adv_w = 223, .box_w = 11, .box_h = 21, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 1149, .adv_w = 223, .box_w = 11, .box_h = 20, .ofs_x = 2, .ofs_y = 1},
{.bitmap_index = 1177, .adv_w = 276, .box_w = 14, .box_h = 21, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 1214, .adv_w = 244, .box_w = 12, .box_h = 20, .ofs_x = 2, .ofs_y = 1},
{.bitmap_index = 1244, .adv_w = 223, .box_w = 11, .box_h = 21, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 1273, .adv_w = 257, .box_w = 13, .box_h = 19, .ofs_x = 1, .ofs_y = 2},
{.bitmap_index = 1304, .adv_w = 223, .box_w = 11, .box_h = 19, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 1331, .adv_w = 282, .box_w = 14, .box_h = 16, .ofs_x = 2, .ofs_y = 2},
{.bitmap_index = 1359, .adv_w = 223, .box_w = 11, .box_h = 19, .ofs_x = 2, .ofs_y = 1},
{.bitmap_index = 1386, .adv_w = 174, .box_w = 7, .box_h = 17, .ofs_x = 2, .ofs_y = 1},
{.bitmap_index = 1401, .adv_w = 182, .box_w = 7, .box_h = 18, .ofs_x = 2, .ofs_y = 1},
{.bitmap_index = 1417, .adv_w = 218, .box_w = 11, .box_h = 21, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1446, .adv_w = 122, .box_w = 4, .box_h = 21, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 1457, .adv_w = 218, .box_w = 10, .box_h = 24, .ofs_x = 2, .ofs_y = -2},
{.bitmap_index = 1487, .adv_w = 121, .box_w = 4, .box_h = 21, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 1498, .adv_w = 178, .box_w = 8, .box_h = 8, .ofs_x = 2, .ofs_y = 16},
{.bitmap_index = 1506, .adv_w = 345, .box_w = 18, .box_h = 1, .ofs_x = 2, .ofs_y = -3},
{.bitmap_index = 1509, .adv_w = 123, .box_w = 5, .box_h = 5, .ofs_x = 2, .ofs_y = 18},
{.bitmap_index = 1513, .adv_w = 220, .box_w = 10, .box_h = 11, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 1527, .adv_w = 223, .box_w = 11, .box_h = 20, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 1555, .adv_w = 209, .box_w = 10, .box_h = 11, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 1569, .adv_w = 223, .box_w = 11, .box_h = 20, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 1597, .adv_w = 226, .box_w = 11, .box_h = 11, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 1613, .adv_w = 210, .box_w = 10, .box_h = 20, .ofs_x = 2, .ofs_y = 1},
{.bitmap_index = 1638, .adv_w = 223, .box_w = 11, .box_h = 17, .ofs_x = 2, .ofs_y = -6},
{.bitmap_index = 1662, .adv_w = 223, .box_w = 11, .box_h = 19, .ofs_x = 2, .ofs_y = 1},
{.bitmap_index = 1689, .adv_w = 73, .box_w = 1, .box_h = 12, .ofs_x = 2, .ofs_y = 1},
{.bitmap_index = 1691, .adv_w = 171, .box_w = 7, .box_h = 19, .ofs_x = 2, .ofs_y = -6},
{.bitmap_index = 1708, .adv_w = 201, .box_w = 10, .box_h = 18, .ofs_x = 2, .ofs_y = 1},
{.bitmap_index = 1731, .adv_w = 73, .box_w = 1, .box_h = 19, .ofs_x = 2, .ofs_y = 1},
{.bitmap_index = 1734, .adv_w = 288, .box_w = 15, .box_h = 10, .ofs_x = 2, .ofs_y = 1},
{.bitmap_index = 1753, .adv_w = 223, .box_w = 11, .box_h = 10, .ofs_x = 2, .ofs_y = 1},
{.bitmap_index = 1767, .adv_w = 223, .box_w = 11, .box_h = 11, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 1783, .adv_w = 223, .box_w = 11, .box_h = 16, .ofs_x = 2, .ofs_y = -5},
{.bitmap_index = 1805, .adv_w = 271, .box_w = 14, .box_h = 17, .ofs_x = 2, .ofs_y = -6},
{.bitmap_index = 1835, .adv_w = 163, .box_w = 7, .box_h = 10, .ofs_x = 2, .ofs_y = 1},
{.bitmap_index = 1844, .adv_w = 168, .box_w = 7, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 1857, .adv_w = 173, .box_w = 7, .box_h = 19, .ofs_x = 2, .ofs_y = 1},
{.bitmap_index = 1874, .adv_w = 181, .box_w = 8, .box_h = 10, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 1884, .adv_w = 182, .box_w = 8, .box_h = 8, .ofs_x = 2, .ofs_y = 1},
{.bitmap_index = 1892, .adv_w = 223, .box_w = 11, .box_h = 9, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 1905, .adv_w = 203, .box_w = 10, .box_h = 10, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 1918, .adv_w = 181, .box_w = 8, .box_h = 16, .ofs_x = 2, .ofs_y = -8},
{.bitmap_index = 1934, .adv_w = 195, .box_w = 9, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1947, .adv_w = 222, .box_w = 11, .box_h = 30, .ofs_x = 1, .ofs_y = -4},
{.bitmap_index = 1989, .adv_w = 73, .box_w = 1, .box_h = 28, .ofs_x = 2, .ofs_y = -4},
{.bitmap_index = 1993, .adv_w = 219, .box_w = 10, .box_h = 30, .ofs_x = 2, .ofs_y = -4},
{.bitmap_index = 2031, .adv_w = 288, .box_w = 15, .box_h = 5, .ofs_x = 2, .ofs_y = 9}
};
/*---------------------
* CHARACTER MAPPING
*--------------------*/
/*Collect the unicode lists and glyph_id offsets*/
static const lv_font_fmt_txt_cmap_t cmaps[] =
{
{
.range_start = 32, .range_length = 95, .glyph_id_start = 1,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
}
};
/*--------------------
* ALL CUSTOM DATA
*--------------------*/
#if LV_VERSION_CHECK(8, 0, 0)
/*Store all the custom data of the font*/
static lv_font_fmt_txt_glyph_cache_t cache;
static const lv_font_fmt_txt_dsc_t font_dsc = {
#else
static lv_font_fmt_txt_dsc_t font_dsc = {
#endif
.glyph_bitmap = glyph_bitmap,
.glyph_dsc = glyph_dsc,
.cmaps = cmaps,
.kern_dsc = NULL,
.kern_scale = 0,
.cmap_num = 1,
.bpp = 1,
.kern_classes = 0,
.bitmap_format = 0,
#if LV_VERSION_CHECK(8, 0, 0)
.cache = &cache
#endif
};
/*-----------------
* PUBLIC FONT
*----------------*/
/*Initialize a public general font descriptor*/
#if LV_VERSION_CHECK(8, 0, 0)
const lv_font_t ui_font_calculator32 = {
#else
lv_font_t ui_font_calculator32 = {
#endif
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
.line_height = 37, /*The maximum line height required by the font*/
.base_line = 8, /*Baseline measured from the bottom of the line*/
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
.subpx = LV_FONT_SUBPX_NONE,
#endif
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
.underline_position = -3,
.underline_thickness = 2,
#endif
.dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
};
#endif /*#if UI_FONT_CALCULATOR32*/

View File

@ -0,0 +1,977 @@
/*******************************************************************************
* Size: 48 px
* Bpp: 1
* Opts: --bpp 1 --size 48 --font /home/valerio/SquareLine/assets/Calculator.ttf -o /home/valerio/SquareLine/assets/ui_font_calculator48.c --format lvgl -r 0x20-0x7f --no-compress --no-prefilter
******************************************************************************/
#include "../ui.h"
#ifndef UI_FONT_CALCULATOR48
#define UI_FONT_CALCULATOR48 1
#endif
#if UI_FONT_CALCULATOR48
/*-----------------
* BITMAPS
*----------------*/
/*Store the image of the glyphs*/
static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
/* U+0020 " " */
0x0,
/* U+0021 "!" */
0x3f, 0xff, 0xff, 0xc3, 0xff, 0xff, 0xfc, 0x3c,
/* U+0022 "\"" */
0x1, 0x8f, 0x1e, 0x3c, 0x78, 0xf1, 0xe3, 0x84,
/* U+0023 "#" */
0x0, 0x0, 0x0, 0x0, 0x18, 0xc, 0x0, 0x3,
0x1, 0x80, 0x0, 0x60, 0x30, 0x0, 0xc, 0x6,
0x0, 0x1, 0x80, 0xc0, 0x0, 0x30, 0x18, 0x0,
0x6, 0x3, 0x0, 0xff, 0x3f, 0x9f, 0xff, 0xe7,
0xf3, 0xfc, 0x3, 0x1, 0x80, 0x0, 0x60, 0x30,
0x0, 0xc, 0x6, 0x0, 0x1, 0x80, 0xc0, 0x0,
0x30, 0x18, 0x0, 0x6, 0x3, 0x0, 0x0, 0xc0,
0x60, 0x1f, 0xe7, 0xf3, 0xff, 0xfc, 0xfe, 0x7f,
0x80, 0x60, 0x30, 0x0, 0xc, 0x6, 0x0, 0x1,
0x80, 0xc0, 0x0, 0x30, 0x18, 0x0, 0x6, 0x3,
0x0, 0x0, 0xc0, 0x60, 0x0, 0x18, 0xc, 0x0,
0x0, 0x0, 0x0, 0x0,
/* U+0024 "$" */
0x1, 0x80, 0x1, 0x80, 0x1, 0x80, 0x0, 0x0,
0x3f, 0xfc, 0x3f, 0xfc, 0xc0, 0x3, 0xc0, 0x3,
0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80,
0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80,
0xc0, 0x0, 0xc0, 0x0, 0x3f, 0xfc, 0x3f, 0xfc,
0x0, 0x3, 0x0, 0x3, 0x1, 0x83, 0x1, 0x83,
0x1, 0x83, 0x1, 0x83, 0x1, 0x83, 0x1, 0x83,
0x1, 0x83, 0xc1, 0x83, 0xc0, 0x3, 0xc0, 0x3,
0x3f, 0xfc, 0x3f, 0xfc, 0x0, 0x0, 0x1, 0x80,
0x1, 0x80, 0x1, 0x80,
/* U+0025 "%" */
0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0x80,
0x0, 0x0, 0x1, 0x80, 0x0, 0x0, 0x0, 0xc0,
0x3, 0xf8, 0x0, 0xc0, 0x1, 0xfc, 0x0, 0x60,
0x3, 0x1, 0x80, 0x70, 0x1, 0x80, 0xc0, 0x30,
0x0, 0xc0, 0x60, 0x18, 0x0, 0x60, 0x30, 0x18,
0x0, 0x30, 0x18, 0x0, 0x0, 0x18, 0xc, 0xc,
0x0, 0xc, 0x6, 0x6, 0x0, 0x1, 0xfc, 0x6,
0x0, 0x0, 0xfe, 0x3, 0x0, 0x0, 0x0, 0x3,
0x80, 0x0, 0x0, 0x1, 0x80, 0x0, 0x0, 0x0,
0xc0, 0x0, 0x0, 0x0, 0xc0, 0x0, 0x0, 0x0,
0x60, 0x0, 0x0, 0x0, 0x70, 0x1f, 0xe0, 0x0,
0x30, 0xf, 0xf0, 0x0, 0x0, 0x18, 0x6, 0x0,
0x18, 0xc, 0x3, 0x0, 0xc, 0x6, 0x1, 0x80,
0xc, 0x3, 0x0, 0xc0, 0x6, 0x1, 0x80, 0x60,
0x7, 0x0, 0xc0, 0x30, 0x3, 0x0, 0x60, 0x18,
0x3, 0x80, 0xf, 0xf0, 0x1, 0x80, 0x7, 0xf8,
0x0, 0xc0, 0x0, 0x0, 0x0, 0xc0, 0x0, 0x0,
0x0, 0x20, 0x0, 0x0, 0x0,
/* U+0026 "&" */
0x0, 0x3f, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x80,
0x0, 0x0, 0x0, 0xe1, 0xc0, 0x0, 0x0, 0x1,
0xc0, 0xe0, 0x0, 0x0, 0x3, 0x80, 0x70, 0x0,
0x0, 0x7, 0x0, 0x38, 0x0, 0x0, 0x6, 0x0,
0x18, 0x0, 0x0, 0x6, 0x0, 0x18, 0x0, 0x0,
0x6, 0x0, 0x18, 0x0, 0x0, 0x6, 0x0, 0x18,
0x0, 0x0, 0x7, 0x0, 0x38, 0x0, 0x0, 0x3,
0x80, 0x70, 0x0, 0x0, 0x1, 0xc0, 0xe0, 0x0,
0x0, 0x0, 0xe1, 0xc0, 0x0, 0x0, 0x0, 0x7f,
0x80, 0x0, 0x0, 0x0, 0x3f, 0x0, 0x7f, 0x80,
0x0, 0x3c, 0x0, 0x7f, 0xf0, 0x0, 0x7e, 0x0,
0x0, 0xf0, 0x0, 0xe7, 0x0, 0x1, 0xff, 0x1,
0xc3, 0x80, 0x3, 0xdf, 0x3, 0x81, 0xc0, 0x7,
0x80, 0x7, 0x0, 0xe0, 0xf, 0x0, 0xe, 0x0,
0x70, 0x1e, 0x0, 0x1c, 0x0, 0x3c, 0x3c, 0x0,
0x38, 0x0, 0x1e, 0x78, 0x0, 0x70, 0x0, 0xf,
0xf0, 0x0, 0xe0, 0x0, 0x7, 0xe0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x60, 0x0, 0x7, 0xe0,
0x1c, 0x60, 0x0, 0xe, 0xf0, 0x3c, 0x60, 0x0,
0x1c, 0x78, 0x78, 0x60, 0x0, 0x38, 0x3c, 0xf0,
0x10, 0x0, 0x70, 0x1f, 0xe0, 0x30, 0x0, 0xe0,
0x7, 0x80, 0xc, 0x3, 0xc0, 0x0, 0x0, 0x6,
0x7, 0x80, 0x0, 0x0, 0x3, 0xef, 0x0, 0x0,
0x0, 0x1, 0xee, 0x0, 0x0, 0x0, 0x0, 0xc,
0x0, 0x0, 0x0,
/* U+0027 "'" */
0xff, 0xff, 0xff, 0x80,
/* U+0028 "(" */
0x4, 0x31, 0xc6, 0x18, 0xe3, 0x1c, 0x61, 0x86,
0x0, 0xc3, 0xc, 0x30, 0xc3, 0xc, 0x30, 0xc3,
0xc, 0x30, 0xc0, 0xc, 0x30, 0xc3, 0xc, 0x30,
0xc3, 0xc, 0x30, 0xc3, 0x0, 0x10, 0x61, 0x87,
0xc, 0x38, 0x61, 0x83, 0xc, 0x30,
/* U+0029 ")" */
0xc3, 0x6, 0x18, 0x70, 0xc3, 0x6, 0x18, 0x70,
0x80, 0xc, 0x30, 0xc3, 0xc, 0x30, 0xc3, 0xc,
0x30, 0xc3, 0x0, 0x30, 0xc3, 0xc, 0x30, 0xc3,
0xc, 0x30, 0xc3, 0xc, 0x30, 0x6, 0x18, 0x63,
0xc, 0x71, 0x8e, 0x30, 0xc2, 0x0,
/* U+002A "*" */
0x0, 0x0, 0x60, 0x6, 0x0, 0x60, 0x6, 0x7,
0x9e, 0x79, 0xe0, 0xf0, 0x3f, 0xc7, 0x9e, 0x70,
0xe6, 0x6,
/* U+002B "+" */
0x0, 0xc0, 0x0, 0x30, 0x0, 0xc, 0x0, 0x3,
0x0, 0x0, 0xc0, 0x0, 0x30, 0x0, 0xc, 0x0,
0x3, 0x0, 0xff, 0x3f, 0xff, 0xcf, 0xf0, 0xc,
0x0, 0x3, 0x0, 0x0, 0xc0, 0x0, 0x30, 0x0,
0xc, 0x0, 0x3, 0x0, 0x0, 0xc0, 0x0, 0x30,
0x0, 0x0, 0x0,
/* U+002C "," */
0x3f, 0xff, 0x0,
/* U+002D "-" */
0x7f, 0xbf, 0xc0,
/* U+002E "." */
0xf0,
/* U+002F "/" */
0x0, 0x2, 0x0, 0xc, 0x0, 0x18, 0x0, 0x70,
0x0, 0xc0, 0x3, 0x80, 0x6, 0x0, 0xc, 0x0,
0x38, 0x0, 0x60, 0x0, 0xc0, 0x0, 0x0, 0xc,
0x0, 0x18, 0x0, 0x30, 0x0, 0xe0, 0x1, 0x80,
0x7, 0x0, 0xc, 0x0, 0x38, 0x0, 0x60, 0x0,
0xc0, 0x1, 0x0, 0x0, 0x0, 0xc, 0x0, 0x38,
0x0, 0x60, 0x1, 0xc0, 0x3, 0x0, 0x6, 0x0,
0x1c, 0x0, 0x30, 0x0, 0xe0, 0x1, 0x80, 0x3,
0x0, 0x0,
/* U+0030 "0" */
0x3f, 0xfc, 0x3f, 0xfc, 0xc0, 0x3, 0xc0, 0xb,
0xc0, 0x1b, 0xc0, 0x1b, 0xc0, 0x3b, 0xc0, 0x33,
0xc0, 0x73, 0xc0, 0x63, 0xc0, 0x63, 0xc0, 0xe3,
0xc0, 0xc3, 0xc0, 0xc3, 0x0, 0x0, 0x0, 0x0,
0xc1, 0x3, 0xc3, 0x3, 0xc3, 0x3, 0xc7, 0x3,
0xc6, 0x3, 0xce, 0x3, 0xcc, 0x3, 0xcc, 0x3,
0xdc, 0x3, 0xd8, 0x3, 0xd8, 0x3, 0xc0, 0x3,
0x3f, 0xfc, 0x3f, 0xfc,
/* U+0031 "1" */
0x3e, 0xf, 0xc3, 0xd8, 0x73, 0xc, 0x60, 0xc,
0x1, 0x80, 0x30, 0x6, 0x0, 0xc0, 0x18, 0x3,
0x0, 0x60, 0x0, 0x0, 0x0, 0x30, 0x6, 0x0,
0xc0, 0x18, 0x3, 0x0, 0x60, 0xc, 0x1, 0x80,
0x30, 0x6, 0x0, 0xc0, 0x18, 0x3c, 0xf7, 0x9e,
/* U+0032 "2" */
0x3f, 0xfc, 0x3f, 0xfc, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3,
0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3,
0x0, 0x3, 0x0, 0x3, 0x3f, 0xfc, 0x3f, 0xfc,
0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0,
0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0,
0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0,
0x3f, 0xfc, 0x3f, 0xfc,
/* U+0033 "3" */
0x7f, 0xf8, 0xff, 0xf0, 0x0, 0x18, 0x0, 0x30,
0x0, 0x60, 0x0, 0xc0, 0x1, 0x80, 0x3, 0x0,
0x6, 0x0, 0xc, 0x0, 0x18, 0x0, 0x30, 0x0,
0x60, 0x0, 0xdf, 0xfe, 0x3f, 0xfc, 0x0, 0x6,
0x0, 0xc, 0x0, 0x18, 0x0, 0x30, 0x0, 0x60,
0x0, 0xc0, 0x1, 0x80, 0x3, 0x0, 0x6, 0x0,
0xc, 0x0, 0x18, 0x0, 0x37, 0xff, 0x8f, 0xff,
0x0,
/* U+0034 "4" */
0x0, 0x0, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0x3f, 0xfc, 0x3f, 0xfc, 0x0, 0x3,
0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3,
0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3,
0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x0,
/* U+0035 "5" */
0x3f, 0xfc, 0x3f, 0xfc, 0xc0, 0x0, 0xc0, 0x0,
0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0,
0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0,
0xc0, 0x0, 0xc0, 0x0, 0x3f, 0xfc, 0x3f, 0xfc,
0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3,
0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3,
0x0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0x3f, 0xfc, 0x3f, 0xfc,
/* U+0036 "6" */
0x3f, 0xfc, 0x3f, 0xfc, 0xc0, 0x0, 0xc0, 0x0,
0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0,
0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0,
0xc0, 0x0, 0xc0, 0x0, 0x3f, 0xfc, 0x3f, 0xfc,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0x3f, 0xfc, 0x3f, 0xfc,
/* U+0037 "7" */
0x7f, 0xf8, 0xff, 0xf0, 0x0, 0x18, 0x0, 0x30,
0x0, 0x60, 0x0, 0xc0, 0x1, 0x80, 0x3, 0x0,
0x6, 0x0, 0xc, 0x0, 0x18, 0x0, 0x30, 0x0,
0x60, 0x0, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x6,
0x0, 0xc, 0x0, 0x18, 0x0, 0x30, 0x0, 0x60,
0x0, 0xc0, 0x1, 0x80, 0x3, 0x0, 0x6, 0x0,
0xc, 0x0, 0x18, 0x0, 0x30, 0x0, 0x0,
/* U+0038 "8" */
0x3f, 0xfc, 0x3f, 0xfc, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0x3f, 0xfc, 0x3f, 0xfc,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0x3f, 0xfc, 0x3f, 0xfc,
/* U+0039 "9" */
0x3f, 0xfc, 0x3f, 0xfc, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0x3f, 0xfc, 0x3f, 0xfc,
0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3,
0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3,
0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3,
0x3f, 0xfc, 0x3f, 0xfc,
/* U+003A ":" */
0xf0, 0x0, 0x0, 0x0, 0x3c,
/* U+003B ";" */
0x6c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f, 0xff,
0xff, 0x40,
/* U+003C "<" */
0x0, 0x70, 0xf, 0x1, 0xe0, 0x3c, 0x7, 0x80,
0xf0, 0x1e, 0x3, 0xc0, 0x78, 0xf, 0x0, 0xe0,
0xc, 0x0, 0xc0, 0xe, 0x0, 0x70, 0x3, 0x80,
0x1c, 0x0, 0xe0, 0x7, 0x0, 0x38, 0x1, 0xc0,
0xe, 0x0, 0x70, 0x3,
/* U+003D "=" */
0x7f, 0xf9, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x1f, 0xfe, 0x7f, 0xf8,
/* U+003E ">" */
0xc0, 0xe, 0x0, 0x70, 0x3, 0x80, 0x1c, 0x0,
0xe0, 0x7, 0x0, 0x38, 0x1, 0xc0, 0xe, 0x0,
0x70, 0x3, 0x0, 0x70, 0xf, 0x1, 0xe0, 0x3c,
0x7, 0x80, 0xf0, 0x1e, 0x3, 0xc0, 0x78, 0xf,
0x0, 0xe0, 0xc, 0x0,
/* U+003F "?" */
0xff, 0xf9, 0xff, 0xf0, 0x0, 0x18, 0x0, 0x30,
0x0, 0x60, 0x0, 0xc0, 0x1, 0x80, 0x3, 0x0,
0x6, 0x0, 0xc, 0x0, 0x18, 0x0, 0x30, 0x0,
0x60, 0x0, 0xc0, 0x3e, 0x0, 0x7c, 0x3, 0x0,
0x6, 0x0, 0xc, 0x0, 0x18, 0x0, 0x30, 0x0,
0x60, 0x0, 0xc0, 0x1, 0x80, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x30, 0x0, 0x60,
0x0,
/* U+0040 "@" */
0x3f, 0xfc, 0xff, 0xf0, 0xff, 0xf3, 0xff, 0xcc,
0x0, 0x0, 0x0, 0xf0, 0x0, 0x0, 0x3, 0xc0,
0x0, 0x0, 0xf, 0x0, 0x0, 0x0, 0x3c, 0x0,
0x0, 0x0, 0xf0, 0x0, 0x0, 0x3, 0xc0, 0x0,
0x18, 0xf, 0x0, 0x0, 0x60, 0x3c, 0x1, 0xfe,
0x80, 0xf0, 0x7, 0xf8, 0x3, 0xc0, 0x60, 0x18,
0xf, 0x1, 0x80, 0x60, 0x30, 0x6, 0x1, 0x80,
0x0, 0x18, 0x6, 0x2, 0xc0, 0x60, 0x18, 0xf,
0x1, 0x80, 0x60, 0x3c, 0x6, 0x1, 0x80, 0xf0,
0x18, 0x6, 0x3, 0xc0, 0x1f, 0xe7, 0xf3, 0x0,
0x7f, 0x9f, 0xcc, 0x0, 0x0, 0x0, 0x30, 0x0,
0x0, 0x0, 0xc0, 0x0, 0x0, 0x3, 0x0, 0x0,
0x0, 0xc, 0x0, 0x0, 0x0, 0x30, 0x0, 0x0,
0x0, 0x3f, 0xfc, 0xff, 0xf0, 0xff, 0xf3, 0xff,
0xc0,
/* U+0041 "A" */
0x3f, 0xfc, 0x3f, 0xfc, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0x3f, 0xfc, 0x3f, 0xfc,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0x0, 0x0,
/* U+0042 "B" */
0x3f, 0xc0, 0x3f, 0xf8, 0xc0, 0x3c, 0xc0, 0x1e,
0xc0, 0xe, 0xc0, 0x6, 0xc0, 0x0, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x0, 0xc0, 0x6,
0xc0, 0x1e, 0xc0, 0x3c, 0x3f, 0xf8, 0x7f, 0xc0,
0xc0, 0x38, 0xc0, 0x1c, 0xc0, 0xe, 0xc0, 0x6,
0xc0, 0x0, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x0, 0xc0, 0xe, 0xc0, 0x1e, 0xc0, 0x3c,
0x3f, 0xf8, 0x3f, 0xc0,
/* U+0043 "C" */
0x3f, 0xfc, 0x3f, 0xfc, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x2, 0xc0, 0x0,
0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0,
0xc0, 0x0, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0,
0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x2,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0x3f, 0xfc, 0x3f, 0xfc,
/* U+0044 "D" */
0x3f, 0xc0, 0xf, 0xfc, 0xc, 0x3, 0xc3, 0x0,
0x78, 0xc0, 0xf, 0x30, 0x1, 0xec, 0x0, 0x3b,
0x0, 0x6, 0xc0, 0x0, 0x30, 0x0, 0x3c, 0x0,
0xf, 0x0, 0x3, 0xc0, 0x0, 0xf0, 0x0, 0x30,
0x0, 0xc, 0x0, 0x3, 0xc0, 0x0, 0xf0, 0x0,
0x3c, 0x0, 0xf, 0x0, 0x3, 0xc0, 0x0, 0xf0,
0x0, 0xc, 0x0, 0x3, 0x0, 0x6, 0xc0, 0x3,
0xb0, 0x1, 0xcc, 0x0, 0xe3, 0x0, 0xf0, 0x3f,
0xf8, 0xf, 0xf0, 0x0,
/* U+0045 "E" */
0x3f, 0xfc, 0x7f, 0xfb, 0x0, 0x6, 0x0, 0xc,
0x0, 0x18, 0x0, 0x30, 0x0, 0x60, 0x0, 0xc0,
0x1, 0x80, 0x3, 0x0, 0x6, 0x0, 0xc, 0x0,
0x18, 0x0, 0xf, 0xff, 0x7f, 0xfe, 0xc0, 0x1,
0x80, 0x3, 0x0, 0x6, 0x0, 0xc, 0x0, 0x18,
0x0, 0x30, 0x0, 0x60, 0x0, 0xc0, 0x1, 0x80,
0x3, 0x0, 0x6, 0x0, 0x3, 0xff, 0xc7, 0xff,
0x80,
/* U+0046 "F" */
0x3f, 0xfc, 0x7f, 0xfb, 0x0, 0x6, 0x0, 0xc,
0x0, 0x18, 0x0, 0x30, 0x0, 0x60, 0x0, 0xc0,
0x1, 0x80, 0x3, 0x0, 0x6, 0x0, 0xc, 0x0,
0x18, 0x0, 0xf, 0xff, 0x1f, 0xfe, 0xc0, 0x1,
0x80, 0x3, 0x0, 0x6, 0x0, 0xc, 0x0, 0x18,
0x0, 0x30, 0x0, 0x60, 0x0, 0xc0, 0x1, 0x80,
0x3, 0x0, 0x6, 0x0, 0x0, 0x0, 0x0,
/* U+0047 "G" */
0x3f, 0xfc, 0x3, 0xff, 0xc0, 0xc0, 0x3, 0xc,
0x0, 0x30, 0xc0, 0x3, 0xc, 0x0, 0x30, 0xc0,
0x0, 0xc, 0x0, 0x0, 0xc0, 0x0, 0xc, 0x0,
0x0, 0xc0, 0x0, 0xc, 0x0, 0x0, 0xc0, 0x0,
0xc, 0x0, 0x0, 0x0, 0x3d, 0xf0, 0x3, 0xcf,
0xc0, 0x3, 0xc, 0x0, 0x30, 0xc0, 0x3, 0xc,
0x0, 0x30, 0xc0, 0x3, 0xc, 0x0, 0x30, 0xc0,
0x3, 0xc, 0x0, 0x30, 0xc0, 0x3, 0xc, 0x0,
0x30, 0xc0, 0x3, 0xc, 0x0, 0x30, 0x3f, 0xfc,
0x3, 0xff, 0xc0,
/* U+0048 "H" */
0x0, 0x0, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0x3f, 0xfc, 0x3f, 0xfc, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0x0, 0x0,
/* U+0049 "I" */
0xf9, 0xef, 0x9f, 0x6, 0x0, 0x60, 0x6, 0x0,
0x60, 0x6, 0x0, 0x60, 0x6, 0x0, 0x60, 0x6,
0x0, 0x60, 0x6, 0x0, 0x60, 0x4, 0x0, 0x0,
0x6, 0x0, 0x60, 0x6, 0x0, 0x60, 0x6, 0x0,
0x60, 0x6, 0x0, 0x60, 0x6, 0x0, 0x60, 0x6,
0x0, 0x60, 0x6, 0x7, 0x9e, 0xf9, 0xf0,
/* U+004A "J" */
0x3f, 0xcf, 0xf1, 0xfe, 0x7f, 0x80, 0xc, 0x0,
0x0, 0x60, 0x0, 0x3, 0x0, 0x0, 0x18, 0x0,
0x0, 0xc0, 0x0, 0x6, 0x0, 0x0, 0x30, 0x0,
0x1, 0x80, 0x0, 0xc, 0x0, 0x0, 0x60, 0x0,
0x3, 0x0, 0x0, 0x18, 0x0, 0x0, 0xc0, 0x0,
0x0, 0x0, 0x0, 0x30, 0x0, 0x1, 0x80, 0x0,
0xc, 0x0, 0x0, 0x60, 0x0, 0x3, 0x0, 0x60,
0x18, 0x3, 0x0, 0xc0, 0x18, 0x6, 0x0, 0xc0,
0x30, 0x6, 0x1, 0x80, 0x30, 0xc, 0x1, 0x80,
0x60, 0xc, 0x3, 0x0, 0x1f, 0xe0, 0x0, 0xff,
0x0, 0x0,
/* U+004B "K" */
0x0, 0x0, 0xc0, 0x3, 0xc0, 0x7, 0xc0, 0xe,
0xc0, 0x1c, 0xc0, 0x38, 0xc0, 0x70, 0xc0, 0xe0,
0xc1, 0xc0, 0xc3, 0x80, 0xc7, 0x0, 0xce, 0x0,
0xcc, 0x0, 0x0, 0x0, 0x8c, 0x0, 0xce, 0x0,
0xcf, 0x0, 0xc7, 0x80, 0xc3, 0xc0, 0xc1, 0xe0,
0xc0, 0xf0, 0xc0, 0x78, 0xc0, 0x3c, 0xc0, 0x1e,
0xc0, 0xf, 0xc0, 0x7, 0xc0, 0x0,
/* U+004C "L" */
0x0, 0x1, 0x80, 0x3, 0x0, 0x6, 0x0, 0xc,
0x0, 0x18, 0x0, 0x30, 0x0, 0x60, 0x0, 0xc0,
0x1, 0x80, 0x3, 0x0, 0x6, 0x0, 0xc, 0x0,
0x0, 0x0, 0x0, 0x0, 0x60, 0x0, 0xc0, 0x1,
0x80, 0x3, 0x0, 0x6, 0x0, 0xc, 0x0, 0x18,
0x0, 0x30, 0x0, 0x60, 0x0, 0xc0, 0x1, 0x80,
0x3, 0x0, 0x1, 0xff, 0xe3, 0xff, 0xc0,
/* U+004D "M" */
0x0, 0x0, 0xf0, 0xf, 0xf8, 0x1f, 0xd8, 0x1b,
0xdc, 0x3b, 0xcc, 0x33, 0xcc, 0x33, 0xc6, 0x73,
0xc6, 0x63, 0xc7, 0xe3, 0xc3, 0xc3, 0xc1, 0xc3,
0xc0, 0x3, 0x0, 0x0, 0x0, 0x0, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0x0, 0x0,
/* U+004E "N" */
0xc0, 0x3, 0xf0, 0x3, 0xf8, 0x3, 0xd8, 0x3,
0xd8, 0x3, 0xcc, 0x3, 0xcc, 0x3, 0xce, 0x3,
0xc6, 0x3, 0xc7, 0x3, 0xc3, 0x3, 0xc3, 0x3,
0xc0, 0x3, 0x0, 0xc0, 0xc0, 0xc3, 0xc0, 0xe3,
0xc0, 0x63, 0xc0, 0x63, 0xc0, 0x33, 0xc0, 0x33,
0xc0, 0x3b, 0xc0, 0x1b, 0xc0, 0x1b, 0xc0, 0xb,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
/* U+004F "O" */
0x3f, 0xfc, 0x3f, 0xfc, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0x0, 0x0, 0x0, 0x0,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0x3f, 0xfc, 0x3f, 0xfc,
/* U+0050 "P" */
0x3f, 0xfc, 0x3f, 0xfc, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0x3f, 0xfc, 0x3f, 0xfc,
0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0,
0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0,
0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0,
/* U+0051 "Q" */
0x3f, 0xfc, 0x1, 0xff, 0xe0, 0x30, 0x0, 0xc1,
0x80, 0x6, 0xc, 0x0, 0x30, 0x60, 0x1, 0x83,
0x0, 0xc, 0x18, 0x0, 0x60, 0xc0, 0x3, 0x6,
0x0, 0x18, 0x30, 0x0, 0xc1, 0x80, 0x6, 0xc,
0x0, 0x30, 0x60, 0x1, 0x80, 0x0, 0x0, 0x0,
0x0, 0x0, 0xc0, 0x3, 0x6, 0x0, 0x18, 0x30,
0x0, 0xc1, 0x80, 0x6, 0xc, 0x6, 0x30, 0x60,
0x39, 0x83, 0x0, 0xec, 0x18, 0x3, 0xe0, 0xc0,
0xf, 0x6, 0x0, 0x1f, 0x30, 0x0, 0xdd, 0x80,
0x6, 0x73, 0xff, 0xc1, 0x9f, 0xfe, 0x0,
/* U+0052 "R" */
0x3f, 0xfc, 0xf, 0xff, 0xc, 0x0, 0x33, 0x0,
0xc, 0xc0, 0x3, 0x30, 0x0, 0xcc, 0x0, 0x33,
0x0, 0xc, 0xc0, 0x3, 0x30, 0x0, 0xcc, 0x0,
0x33, 0x0, 0xc, 0xc0, 0x3, 0x30, 0x0, 0xc3,
0xff, 0xc0, 0xff, 0xf0, 0xc0, 0x4, 0x30, 0x1,
0x8c, 0x0, 0x63, 0x0, 0x18, 0xc0, 0x3, 0x30,
0x0, 0xcc, 0x0, 0x3b, 0x0, 0x6, 0xc0, 0x1,
0xb0, 0x0, 0x3c, 0x0, 0xf, 0x0, 0x1,
/* U+0053 "S" */
0x3f, 0xfc, 0x3f, 0xfc, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0,
0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0,
0xc0, 0x0, 0xc0, 0x0, 0x3f, 0xfc, 0x3f, 0xfc,
0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3,
0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3,
0x0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0x3f, 0xfc, 0x3f, 0xfc,
/* U+0054 "T" */
0x7f, 0x9f, 0xe7, 0xf9, 0xfe, 0x0, 0x60, 0x0,
0x6, 0x0, 0x0, 0x60, 0x0, 0x6, 0x0, 0x0,
0x60, 0x0, 0x6, 0x0, 0x0, 0x60, 0x0, 0x6,
0x0, 0x0, 0x60, 0x0, 0x6, 0x0, 0x0, 0x60,
0x0, 0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x60, 0x0, 0x6, 0x0, 0x0, 0x60, 0x0,
0x6, 0x0, 0x0, 0x60, 0x0, 0x6, 0x0, 0x0,
0x60, 0x0, 0x6, 0x0, 0x0, 0x60, 0x0, 0x6,
0x0, 0x0, 0x60, 0x0, 0x6, 0x0, 0x0, 0x0,
0x0,
/* U+0055 "U" */
0x0, 0x0, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0x0, 0x0, 0x0, 0x0, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0x3f, 0xfc,
0x3f, 0xfc,
/* U+0056 "V" */
0x0, 0x0, 0x7, 0x0, 0x0, 0x36, 0x0, 0x1,
0xd8, 0x0, 0x6, 0x70, 0x0, 0x18, 0xc0, 0x0,
0xe3, 0x80, 0x3, 0x6, 0x0, 0x1c, 0x18, 0x0,
0x60, 0x30, 0x1, 0x80, 0xc0, 0x6, 0x1, 0x0,
0x10, 0x2, 0x0, 0x80, 0xc, 0x6, 0x0, 0x30,
0x18, 0x0, 0xe0, 0xe0, 0x1, 0x83, 0x0, 0x6,
0xc, 0x0, 0x1c, 0x60, 0x0, 0x31, 0x80, 0x0,
0xee, 0x0, 0x1, 0xb0, 0x0, 0x6, 0xc0, 0x0,
0x2, 0x0,
/* U+0057 "W" */
0x0, 0x0, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0x0, 0x0, 0x0, 0x0, 0xc0, 0x83,
0xc3, 0xc3, 0xc7, 0xe3, 0xc6, 0x63, 0xce, 0x73,
0xcc, 0x33, 0xcc, 0x33, 0xdc, 0x1b, 0xd8, 0x1b,
0xf8, 0x1f, 0xf0, 0xf, 0xc0, 0x7, 0x0, 0x0,
/* U+0058 "X" */
0x0, 0xc, 0x3, 0x60, 0x76, 0x6, 0x70, 0x63,
0xc, 0x38, 0xc1, 0x9c, 0x19, 0x80, 0xf8, 0xf,
0x0, 0x40, 0x0, 0x0, 0x60, 0xf, 0x1, 0xf8,
0x19, 0x81, 0x9c, 0x38, 0xc3, 0xc, 0x70, 0xe6,
0x6, 0x60, 0x7e, 0x3, 0x40, 0x10,
/* U+0059 "Y" */
0xc0, 0x3c, 0x3, 0xe0, 0x76, 0x6, 0x60, 0xe3,
0xc, 0x30, 0xc3, 0x9c, 0x19, 0x81, 0xf8, 0x9,
0x0, 0x0, 0x0, 0x0, 0x60, 0x6, 0x0, 0x60,
0x6, 0x0, 0x60, 0x6, 0x0, 0x60, 0x6, 0x0,
0x60, 0x6, 0x0, 0x60, 0x6, 0x0, 0x60,
/* U+005A "Z" */
0x3f, 0xfc, 0x3f, 0xfc, 0x0, 0x3, 0x0, 0x7,
0x0, 0x6, 0x0, 0xe, 0x0, 0xc, 0x0, 0xc,
0x0, 0x1c, 0x0, 0x18, 0x0, 0x38, 0x0, 0x30,
0x0, 0x0, 0x0, 0xe0, 0x1, 0xe0, 0x3, 0xc0,
0x3, 0x80, 0x3, 0x0, 0xc, 0x0, 0x1c, 0x0,
0x18, 0x0, 0x38, 0x0, 0x30, 0x0, 0x30, 0x0,
0x70, 0x0, 0x60, 0x0, 0xe0, 0x0, 0xc0, 0x0,
0x3f, 0xfc, 0x3f, 0xfc,
/* U+005B "[" */
0x3c, 0x7b, 0x6, 0xc, 0x18, 0x30, 0x60, 0xc1,
0x83, 0x6, 0xc, 0x18, 0x0, 0x0, 0xc1, 0x83,
0x6, 0xc, 0x18, 0x30, 0x60, 0xc1, 0x83, 0x6,
0x3, 0xc7, 0x80,
/* U+005C "\\" */
0x0, 0x0, 0xc0, 0x0, 0x60, 0x0, 0x60, 0x0,
0x70, 0x0, 0x30, 0x0, 0x30, 0x0, 0x18, 0x0,
0x18, 0x0, 0x1c, 0x0, 0xc, 0x0, 0x4, 0x0,
0x4, 0x0, 0x6, 0x0, 0x7, 0x0, 0x3, 0x0,
0x3, 0x80, 0x1, 0x80, 0x1, 0x80, 0x0, 0xc0,
0x0, 0xc0, 0x0, 0xe0, 0x0, 0x60, 0x0, 0x20,
0x0, 0x0, 0x0, 0x38, 0x0, 0x18, 0x0, 0x18,
0x0, 0xc, 0x0, 0xc, 0x0, 0xe, 0x0, 0x6,
0x0, 0x6, 0x0, 0x3, 0x0, 0x3, 0x0, 0x1,
/* U+005D "]" */
0x78, 0xf0, 0x18, 0x30, 0x60, 0xc1, 0x83, 0x6,
0xc, 0x18, 0x30, 0x60, 0xc0, 0x0, 0x6, 0xc,
0x18, 0x30, 0x60, 0xc1, 0x83, 0x6, 0xc, 0x18,
0x37, 0xcf, 0x80,
/* U+005E "^" */
0x4, 0x0, 0xd8, 0xd, 0x81, 0x9c, 0x18, 0xc3,
0x8c, 0x30, 0x67, 0x6, 0x60, 0x76, 0x3, 0xe0,
0x34, 0x1,
/* U+005F "_" */
0x7f, 0xf9, 0xff, 0xe7, 0xff, 0x9f, 0xfe,
/* U+0060 "`" */
0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0x80,
/* U+0061 "a" */
0x3f, 0xfc, 0x7f, 0xfc, 0x0, 0x3, 0x0, 0x3,
0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3,
0x3f, 0xdb, 0x3f, 0xdb, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0x3f, 0xfc, 0x7f, 0xfc,
/* U+0062 "b" */
0x0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0,
0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0,
0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0,
0xc0, 0x0, 0x3f, 0xfc, 0x3f, 0xfc, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0x3f, 0xfc,
0x3f, 0xfc,
/* U+0063 "c" */
0x3f, 0xfc, 0x7f, 0xfb, 0x0, 0x6, 0x0, 0xc,
0x0, 0x18, 0x0, 0x30, 0x0, 0x60, 0x0, 0xc0,
0x1, 0x80, 0x3, 0x0, 0x6, 0x0, 0xc, 0x0,
0x18, 0x0, 0xf, 0xff, 0x1f, 0xfe,
/* U+0064 "d" */
0x0, 0x0, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3,
0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3,
0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3,
0x0, 0x3, 0x3f, 0xfc, 0x3f, 0xfc, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0x3f, 0xfc,
0x3f, 0xfc,
/* U+0065 "e" */
0x3f, 0xfc, 0x3f, 0xfc, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x2, 0xd9, 0xfc,
0xd9, 0xfc, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0,
0xc0, 0x0, 0xc0, 0x0, 0x3f, 0xfc, 0x3f, 0xfc,
/* U+0066 "f" */
0x1, 0xfe, 0x3, 0xfc, 0x18, 0x0, 0x30, 0x0,
0x60, 0x0, 0xc0, 0x1, 0x80, 0x3, 0x0, 0x6,
0x0, 0xc, 0x0, 0x18, 0x0, 0x30, 0x0, 0x60,
0x0, 0xc0, 0x1e, 0x78, 0x3c, 0xf0, 0x6, 0x0,
0xc, 0x0, 0x18, 0x0, 0x30, 0x0, 0x60, 0x0,
0xc0, 0x1, 0x80, 0x3, 0x0, 0x6, 0x0, 0xc,
0x0, 0x18, 0x0, 0x30, 0x0, 0x0, 0x0,
/* U+0067 "g" */
0x3f, 0xfc, 0x3f, 0xfc, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0x3f, 0xfc, 0x3f, 0xfc,
0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3,
0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x3f, 0xfc,
0x3f, 0xfc,
/* U+0068 "h" */
0x0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0,
0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0,
0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0,
0xc0, 0x0, 0x3f, 0xfc, 0x3f, 0xfc, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0x0, 0x0,
/* U+0069 "i" */
0x3c, 0x3f, 0xff, 0xff, 0xc0,
/* U+006A "j" */
0x0, 0x0, 0xc, 0x1, 0x80, 0x0, 0x0, 0x0,
0xc0, 0x18, 0x3, 0x0, 0x60, 0xc, 0x1, 0x80,
0x30, 0x6, 0x0, 0xc0, 0x18, 0x3, 0x0, 0x60,
0x0, 0x1, 0x80, 0x30, 0x6, 0x0, 0xc0, 0x18,
0x3, 0xc0, 0x78, 0xc, 0xfe, 0x3f, 0xc0,
/* U+006B "k" */
0xc0, 0x3, 0x0, 0xc, 0x0, 0x30, 0x0, 0xc0,
0x3, 0x0, 0xc, 0x0, 0x30, 0x0, 0xc0, 0x3,
0x0, 0x6c, 0x3, 0xb0, 0x1c, 0xc1, 0xe0, 0xf,
0xf, 0xb8, 0x3f, 0xc0, 0xce, 0x3, 0x1c, 0xc,
0x38, 0x30, 0x70, 0xc0, 0xe3, 0x1, 0xcc, 0x3,
0xb0, 0x7, 0xc0, 0xf, 0x0, 0x0, 0x0, 0x0,
/* U+006C "l" */
0x3f, 0xff, 0xff, 0xc3, 0xff, 0xff, 0xfc,
/* U+006D "m" */
0x3f, 0xcf, 0xf0, 0xff, 0xff, 0xcc, 0x3, 0x0,
0xf0, 0xc, 0x3, 0xc0, 0x30, 0xf, 0x0, 0xc0,
0x3c, 0x3, 0x0, 0xf0, 0xc, 0x3, 0xc0, 0x30,
0xf, 0x0, 0xc0, 0x3c, 0x3, 0x0, 0xf0, 0xc,
0x3, 0xc0, 0x30, 0xf, 0x0, 0xc0, 0x30, 0x0,
0x0, 0x0,
/* U+006E "n" */
0x3f, 0xfc, 0x3f, 0xfc, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0x0, 0x0,
/* U+006F "o" */
0x3f, 0xfc, 0x3f, 0xfc, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0x3f, 0xfc, 0x3f, 0xfc,
/* U+0070 "p" */
0x3f, 0xfc, 0x3f, 0xfc, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0xc0, 0x3, 0x3f, 0xfc, 0x3f, 0xfc,
0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0,
0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0x40, 0x0,
/* U+0071 "q" */
0x3f, 0xfc, 0x1, 0xff, 0xe0, 0x30, 0x0, 0xc1,
0x80, 0x6, 0xc, 0x0, 0x30, 0x60, 0x1, 0x83,
0x0, 0xc, 0x18, 0x0, 0x60, 0xc0, 0x3, 0x6,
0x0, 0x18, 0x30, 0x0, 0xc1, 0x80, 0x6, 0xc,
0x0, 0x30, 0x60, 0x1, 0x80, 0xff, 0xf0, 0x7,
0xff, 0x80, 0x0, 0x3, 0x0, 0x0, 0x18, 0x0,
0x0, 0xc0, 0x0, 0x6, 0x0, 0x0, 0x33, 0x80,
0x1, 0xbc, 0x0, 0xf, 0xc0, 0x0, 0x1c,
/* U+0072 "r" */
0x3f, 0xcf, 0xfc, 0x3, 0x0, 0xc0, 0x30, 0xc,
0x3, 0x0, 0xc0, 0x30, 0xc, 0x3, 0x0, 0xc0,
0x30, 0x0, 0x0,
/* U+0073 "s" */
0x3f, 0x87, 0xfb, 0x0, 0x60, 0xc, 0x1, 0x80,
0x30, 0x6, 0x0, 0xc0, 0x7, 0xf1, 0xff, 0x80,
0x30, 0x6, 0x0, 0xc0, 0x18, 0x3, 0x0, 0x60,
0xc, 0xff, 0xbf, 0xc0,
/* U+0074 "t" */
0x0, 0x0, 0x60, 0x6, 0x0, 0x60, 0x6, 0x0,
0x60, 0x6, 0x0, 0x60, 0x6, 0x0, 0x60, 0x6,
0x0, 0x60, 0x6, 0x7, 0x9e, 0x79, 0xe0, 0x60,
0x6, 0x0, 0x60, 0x6, 0x0, 0x60, 0x6, 0x0,
0x60, 0x6, 0x0, 0x60, 0x6, 0x0, 0x60, 0x6,
0x0, 0x0,
/* U+0075 "u" */
0x0, 0xc, 0x3, 0xc0, 0x3c, 0x3, 0xc0, 0x3c,
0x3, 0xc0, 0x3c, 0x3, 0xc0, 0x3c, 0x3, 0xc0,
0x3c, 0x3, 0xc0, 0x33, 0xfc, 0x3f, 0xc0,
/* U+0076 "v" */
0x0, 0x6, 0x0, 0x98, 0xe, 0xc0, 0x67, 0x7,
0x18, 0x30, 0xc1, 0x83, 0x18, 0x18, 0xc0, 0xee,
0x3, 0x60, 0xb, 0x0,
/* U+0077 "w" */
0xc1, 0x83, 0xc1, 0x83, 0xc1, 0x83, 0xc1, 0x83,
0xc1, 0x83, 0xc1, 0x83, 0xc1, 0x83, 0xc1, 0x83,
0xc1, 0x83, 0xc1, 0x83, 0xc1, 0x83, 0xc1, 0x83,
0xff, 0xff, 0x3e, 0x7c,
/* U+0078 "x" */
0xc0, 0xf, 0x80, 0x77, 0x3, 0x8e, 0x1c, 0x1c,
0xe0, 0x3f, 0x0, 0x78, 0x1, 0xe0, 0xf, 0xc0,
0x73, 0x83, 0x87, 0x1c, 0xe, 0xe0, 0x1f, 0x0,
0x30,
/* U+0079 "y" */
0x0, 0x16, 0x1, 0xd8, 0xc, 0xc0, 0xe7, 0x6,
0x18, 0x30, 0xe3, 0x83, 0x18, 0x19, 0xc0, 0x6c,
0x3, 0x60, 0xa, 0x0, 0x20, 0x3, 0x80, 0x18,
0x1, 0xc0, 0xc, 0x0, 0x60, 0x7, 0x0, 0x30,
0x3, 0x80, 0x18, 0x0, 0xc0, 0x0,
/* U+007A "z" */
0x7f, 0xfb, 0xff, 0xe0, 0x1, 0x80, 0xe, 0x0,
0x70, 0x3, 0x80, 0x1c, 0x0, 0xe0, 0x7, 0x0,
0x38, 0x1, 0xc0, 0xe, 0x0, 0x70, 0x1, 0x80,
0x7, 0xff, 0xbf, 0xfe,
/* U+007B "{" */
0x1, 0xfe, 0x7, 0xfe, 0x6, 0x0, 0x6, 0x0,
0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0,
0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0,
0x6, 0x0, 0x6, 0x0, 0x0, 0x0, 0x6, 0x0,
0x1e, 0x0, 0x3c, 0x0, 0x78, 0x0, 0xf0, 0x0,
0xe0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xe0, 0x0,
0x70, 0x0, 0x38, 0x0, 0x1c, 0x0, 0x1e, 0x0,
0xe, 0x0, 0x0, 0x0, 0x6, 0x0, 0x6, 0x0,
0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0,
0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0,
0x6, 0x0, 0x6, 0x0, 0x1, 0xfe, 0x1, 0xfe,
/* U+007C "|" */
0x3f, 0xff, 0xff, 0xcf, 0xff, 0xff, 0xfc, 0xff,
0xff, 0xff, 0x80,
/* U+007D "}" */
0x7f, 0x80, 0x7f, 0x80, 0x0, 0xc0, 0x0, 0xc0,
0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0,
0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0,
0x0, 0xc0, 0x0, 0xc0, 0x0, 0x0, 0x0, 0x60,
0x0, 0x70, 0x0, 0x38, 0x0, 0x1c, 0x0, 0xe,
0x0, 0x7, 0x0, 0x3, 0x0, 0x3, 0x0, 0x7,
0x0, 0xe, 0x0, 0x1c, 0x0, 0x38, 0x0, 0x70,
0x0, 0x60, 0x0, 0x0, 0x0, 0xc0, 0x0, 0xc0,
0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0,
0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0,
0x0, 0xc0, 0x0, 0xc0, 0xff, 0x0, 0xff, 0x0,
/* U+007E "~" */
0x6, 0xc0, 0x6, 0x1d, 0xc0, 0x1c, 0x71, 0xc0,
0x71, 0xc1, 0xc1, 0xc7, 0x1, 0xc7, 0x1c, 0x1,
0xdc, 0x30, 0x1, 0xb0, 0x0
};
/*---------------------
* GLYPH DESCRIPTION
*--------------------*/
static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
{.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */,
{.bitmap_index = 0, .adv_w = 225, .box_w = 1, .box_h = 1, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 1, .adv_w = 110, .box_w = 2, .box_h = 31, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 9, .adv_w = 185, .box_w = 7, .box_h = 9, .ofs_x = 2, .ofs_y = 34},
{.bitmap_index = 17, .adv_w = 518, .box_w = 27, .box_h = 27, .ofs_x = 2, .ofs_y = 1},
{.bitmap_index = 109, .adv_w = 337, .box_w = 16, .box_h = 38, .ofs_x = 2, .ofs_y = -4},
{.bitmap_index = 185, .adv_w = 597, .box_w = 33, .box_h = 34, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 326, .adv_w = 701, .box_w = 40, .box_h = 39, .ofs_x = 2, .ofs_y = -4},
{.bitmap_index = 521, .adv_w = 110, .box_w = 2, .box_h = 13, .ofs_x = 2, .ofs_y = 24},
{.bitmap_index = 525, .adv_w = 177, .box_w = 6, .box_h = 50, .ofs_x = 2, .ofs_y = -8},
{.bitmap_index = 563, .adv_w = 176, .box_w = 6, .box_h = 50, .ofs_x = 3, .ofs_y = -9},
{.bitmap_index = 601, .adv_w = 257, .box_w = 12, .box_h = 12, .ofs_x = 2, .ofs_y = 24},
{.bitmap_index = 619, .adv_w = 376, .box_w = 18, .box_h = 19, .ofs_x = 3, .ofs_y = 7},
{.bitmap_index = 662, .adv_w = 110, .box_w = 2, .box_h = 9, .ofs_x = 2, .ofs_y = -5},
{.bitmap_index = 665, .adv_w = 218, .box_w = 9, .box_h = 2, .ofs_x = 2, .ofs_y = 10},
{.bitmap_index = 668, .adv_w = 110, .box_w = 2, .box_h = 2, .ofs_x = 2, .ofs_y = 1},
{.bitmap_index = 669, .adv_w = 335, .box_w = 15, .box_h = 35, .ofs_x = 3, .ofs_y = -3},
{.bitmap_index = 735, .adv_w = 335, .box_w = 16, .box_h = 30, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 795, .adv_w = 258, .box_w = 11, .box_h = 29, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 835, .adv_w = 335, .box_w = 16, .box_h = 30, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 895, .adv_w = 317, .box_w = 15, .box_h = 30, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 952, .adv_w = 335, .box_w = 16, .box_h = 28, .ofs_x = 2, .ofs_y = 1},
{.bitmap_index = 1008, .adv_w = 335, .box_w = 16, .box_h = 30, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 1068, .adv_w = 335, .box_w = 16, .box_h = 30, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 1128, .adv_w = 315, .box_w = 15, .box_h = 29, .ofs_x = 2, .ofs_y = 1},
{.bitmap_index = 1183, .adv_w = 335, .box_w = 16, .box_h = 30, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 1243, .adv_w = 335, .box_w = 16, .box_h = 30, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 1303, .adv_w = 110, .box_w = 2, .box_h = 19, .ofs_x = 2, .ofs_y = 4},
{.bitmap_index = 1308, .adv_w = 113, .box_w = 3, .box_h = 25, .ofs_x = 2, .ofs_y = -2},
{.bitmap_index = 1318, .adv_w = 260, .box_w = 12, .box_h = 24, .ofs_x = 2, .ofs_y = 4},
{.bitmap_index = 1354, .adv_w = 293, .box_w = 14, .box_h = 9, .ofs_x = 2, .ofs_y = 12},
{.bitmap_index = 1370, .adv_w = 260, .box_w = 12, .box_h = 24, .ofs_x = 2, .ofs_y = 4},
{.bitmap_index = 1406, .adv_w = 315, .box_w = 15, .box_h = 30, .ofs_x = 3, .ofs_y = 1},
{.bitmap_index = 1463, .adv_w = 562, .box_w = 30, .box_h = 30, .ofs_x = 2, .ofs_y = -3},
{.bitmap_index = 1576, .adv_w = 335, .box_w = 16, .box_h = 29, .ofs_x = 2, .ofs_y = 1},
{.bitmap_index = 1634, .adv_w = 327, .box_w = 16, .box_h = 30, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 1694, .adv_w = 335, .box_w = 16, .box_h = 30, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 1754, .adv_w = 365, .box_w = 18, .box_h = 30, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 1822, .adv_w = 317, .box_w = 15, .box_h = 30, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 1879, .adv_w = 317, .box_w = 15, .box_h = 29, .ofs_x = 2, .ofs_y = 1},
{.bitmap_index = 1934, .adv_w = 404, .box_w = 20, .box_h = 30, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 2009, .adv_w = 335, .box_w = 16, .box_h = 28, .ofs_x = 2, .ofs_y = 1},
{.bitmap_index = 2065, .adv_w = 271, .box_w = 12, .box_h = 31, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 2112, .adv_w = 404, .box_w = 21, .box_h = 31, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 2194, .adv_w = 320, .box_w = 16, .box_h = 27, .ofs_x = 2, .ofs_y = 2},
{.bitmap_index = 2248, .adv_w = 314, .box_w = 15, .box_h = 29, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 2303, .adv_w = 335, .box_w = 16, .box_h = 28, .ofs_x = 2, .ofs_y = 1},
{.bitmap_index = 2359, .adv_w = 335, .box_w = 16, .box_h = 27, .ofs_x = 2, .ofs_y = 1},
{.bitmap_index = 2413, .adv_w = 335, .box_w = 16, .box_h = 30, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 2473, .adv_w = 335, .box_w = 16, .box_h = 28, .ofs_x = 2, .ofs_y = 2},
{.bitmap_index = 2529, .adv_w = 414, .box_w = 21, .box_h = 30, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 2608, .adv_w = 366, .box_w = 18, .box_h = 28, .ofs_x = 2, .ofs_y = 2},
{.bitmap_index = 2671, .adv_w = 335, .box_w = 16, .box_h = 30, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 2731, .adv_w = 385, .box_w = 20, .box_h = 29, .ofs_x = 2, .ofs_y = 1},
{.bitmap_index = 2804, .adv_w = 335, .box_w = 16, .box_h = 29, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 2862, .adv_w = 423, .box_w = 22, .box_h = 24, .ofs_x = 2, .ofs_y = 2},
{.bitmap_index = 2928, .adv_w = 335, .box_w = 16, .box_h = 28, .ofs_x = 2, .ofs_y = 1},
{.bitmap_index = 2984, .adv_w = 260, .box_w = 12, .box_h = 25, .ofs_x = 2, .ofs_y = 2},
{.bitmap_index = 3022, .adv_w = 273, .box_w = 12, .box_h = 26, .ofs_x = 2, .ofs_y = 1},
{.bitmap_index = 3061, .adv_w = 327, .box_w = 16, .box_h = 30, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 3121, .adv_w = 183, .box_w = 7, .box_h = 30, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 3148, .adv_w = 327, .box_w = 16, .box_h = 36, .ofs_x = 2, .ofs_y = -3},
{.bitmap_index = 3220, .adv_w = 182, .box_w = 7, .box_h = 30, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 3247, .adv_w = 267, .box_w = 12, .box_h = 12, .ofs_x = 2, .ofs_y = 23},
{.bitmap_index = 3265, .adv_w = 517, .box_w = 28, .box_h = 2, .ofs_x = 2, .ofs_y = -4},
{.bitmap_index = 3272, .adv_w = 185, .box_w = 7, .box_h = 7, .ofs_x = 2, .ofs_y = 27},
{.bitmap_index = 3279, .adv_w = 330, .box_w = 16, .box_h = 16, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 3311, .adv_w = 335, .box_w = 16, .box_h = 29, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 3369, .adv_w = 314, .box_w = 15, .box_h = 16, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 3399, .adv_w = 335, .box_w = 16, .box_h = 29, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 3457, .adv_w = 339, .box_w = 16, .box_h = 16, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 3489, .adv_w = 315, .box_w = 15, .box_h = 29, .ofs_x = 2, .ofs_y = 1},
{.bitmap_index = 3544, .adv_w = 335, .box_w = 16, .box_h = 25, .ofs_x = 2, .ofs_y = -9},
{.bitmap_index = 3594, .adv_w = 335, .box_w = 16, .box_h = 28, .ofs_x = 2, .ofs_y = 1},
{.bitmap_index = 3650, .adv_w = 110, .box_w = 2, .box_h = 18, .ofs_x = 2, .ofs_y = 1},
{.bitmap_index = 3655, .adv_w = 256, .box_w = 11, .box_h = 28, .ofs_x = 2, .ofs_y = -10},
{.bitmap_index = 3694, .adv_w = 301, .box_w = 14, .box_h = 27, .ofs_x = 2, .ofs_y = 1},
{.bitmap_index = 3742, .adv_w = 110, .box_w = 2, .box_h = 28, .ofs_x = 2, .ofs_y = 1},
{.bitmap_index = 3749, .adv_w = 432, .box_w = 22, .box_h = 15, .ofs_x = 2, .ofs_y = 1},
{.bitmap_index = 3791, .adv_w = 335, .box_w = 16, .box_h = 15, .ofs_x = 2, .ofs_y = 1},
{.bitmap_index = 3821, .adv_w = 335, .box_w = 16, .box_h = 16, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 3853, .adv_w = 335, .box_w = 16, .box_h = 24, .ofs_x = 2, .ofs_y = -8},
{.bitmap_index = 3901, .adv_w = 406, .box_w = 21, .box_h = 24, .ofs_x = 2, .ofs_y = -8},
{.bitmap_index = 3964, .adv_w = 244, .box_w = 10, .box_h = 15, .ofs_x = 2, .ofs_y = 1},
{.bitmap_index = 3983, .adv_w = 252, .box_w = 11, .box_h = 20, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 4011, .adv_w = 259, .box_w = 12, .box_h = 28, .ofs_x = 2, .ofs_y = 1},
{.bitmap_index = 4053, .adv_w = 271, .box_w = 12, .box_h = 15, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 4076, .adv_w = 272, .box_w = 13, .box_h = 12, .ofs_x = 2, .ofs_y = 1},
{.bitmap_index = 4096, .adv_w = 335, .box_w = 16, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 4124, .adv_w = 305, .box_w = 14, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 4149, .adv_w = 271, .box_w = 13, .box_h = 23, .ofs_x = 2, .ofs_y = -11},
{.bitmap_index = 4187, .adv_w = 293, .box_w = 14, .box_h = 16, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 4215, .adv_w = 332, .box_w = 16, .box_h = 44, .ofs_x = 3, .ofs_y = -6},
{.bitmap_index = 4303, .adv_w = 110, .box_w = 2, .box_h = 41, .ofs_x = 2, .ofs_y = -6},
{.bitmap_index = 4314, .adv_w = 329, .box_w = 16, .box_h = 44, .ofs_x = 2, .ofs_y = -7},
{.bitmap_index = 4402, .adv_w = 432, .box_w = 23, .box_h = 7, .ofs_x = 2, .ofs_y = 14}
};
/*---------------------
* CHARACTER MAPPING
*--------------------*/
/*Collect the unicode lists and glyph_id offsets*/
static const lv_font_fmt_txt_cmap_t cmaps[] =
{
{
.range_start = 32, .range_length = 95, .glyph_id_start = 1,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
}
};
/*--------------------
* ALL CUSTOM DATA
*--------------------*/
#if LV_VERSION_CHECK(8, 0, 0)
/*Store all the custom data of the font*/
static lv_font_fmt_txt_glyph_cache_t cache;
static const lv_font_fmt_txt_dsc_t font_dsc = {
#else
static lv_font_fmt_txt_dsc_t font_dsc = {
#endif
.glyph_bitmap = glyph_bitmap,
.glyph_dsc = glyph_dsc,
.cmaps = cmaps,
.kern_dsc = NULL,
.kern_scale = 0,
.cmap_num = 1,
.bpp = 1,
.kern_classes = 0,
.bitmap_format = 0,
#if LV_VERSION_CHECK(8, 0, 0)
.cache = &cache
#endif
};
/*-----------------
* PUBLIC FONT
*----------------*/
/*Initialize a public general font descriptor*/
#if LV_VERSION_CHECK(8, 0, 0)
const lv_font_t ui_font_calculator48 = {
#else
lv_font_t ui_font_calculator48 = {
#endif
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
.line_height = 54, /*The maximum line height required by the font*/
.base_line = 11, /*Baseline measured from the bottom of the line*/
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
.subpx = LV_FONT_SUBPX_NONE,
#endif
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
.underline_position = -5,
.underline_thickness = 4,
#endif
.dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
};
#endif /*#if UI_FONT_CALCULATOR48*/

View File

@ -0,0 +1,893 @@
/*******************************************************************************
* Size: 24 px
* Bpp: 1
* Opts: --bpp 1 --size 24 --font /home/valerio/SquareLine/assets/Starjedi.ttf -o /home/valerio/SquareLine/assets/ui_font_star24.c --format lvgl -r 0x20-0x7f --no-compress --no-prefilter
******************************************************************************/
#include "../ui.h"
#ifndef UI_FONT_STAR24
#define UI_FONT_STAR24 1
#endif
#if UI_FONT_STAR24
/*-----------------
* BITMAPS
*----------------*/
/*Store the image of the glyphs*/
static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
/* U+0020 " " */
0x0,
/* U+0021 "!" */
0xfe, 0xf9, 0xf3, 0xe7, 0xcf, 0x9f, 0x3e, 0x7c,
0xf8, 0x0, 0x0, 0xf, 0x9f, 0x3e, 0x7c,
/* U+0022 "\"" */
0xf7, 0xfb, 0xfd, 0xfe, 0xff, 0x7f, 0xbf, 0xde,
/* U+0023 "#" */
0x1, 0xfc, 0x0, 0x31, 0x18, 0x6, 0x3e, 0x20,
0x67, 0xfc, 0x82, 0xf9, 0xfe, 0x3f, 0xef, 0xfb,
0xef, 0x7b, 0xd7, 0x31, 0x9d, 0x9c, 0x1, 0xcc,
0xf0, 0x1e, 0x67, 0x80, 0xf3, 0x38, 0x3, 0x9b,
0x98, 0xce, 0xfd, 0xef, 0x7d, 0xff, 0x7f, 0xcd,
0xfb, 0xf6, 0x33, 0xde, 0x61, 0x8f, 0xe2, 0x7,
0x3e, 0x20, 0xe, 0x46, 0x0, 0x1f, 0xc0, 0x0,
/* U+0024 "$" */
0x0, 0x0, 0x0, 0x0, 0xc0, 0x0, 0x7, 0x80,
0x0, 0xe, 0x0, 0x18, 0xb6, 0x20, 0x43, 0xd8,
0x43, 0x7, 0xc1, 0x88, 0xe, 0x6, 0x60, 0x38,
0x1d, 0x80, 0xc0, 0x77, 0x3, 0x1, 0xdc, 0xe,
0xf, 0xf8, 0x78, 0x3d, 0xf3, 0xf3, 0xf7, 0xff,
0xff, 0xdf, 0xff, 0xfe, 0x7f, 0xff, 0xf8, 0xff,
0xff, 0xe3, 0xff, 0xff, 0x7, 0xff, 0xf8, 0xf,
0xff, 0xc0, 0xf, 0xfe, 0x0, 0xf, 0xc0, 0x0,
/* U+0025 "%" */
0x0, 0x40, 0x0, 0x8, 0x0, 0x5, 0x40, 0x2,
0xaa, 0x0, 0x35, 0xc0, 0x6, 0xd8, 0x4, 0xd6,
0x40, 0xf0, 0x78, 0x18, 0x2, 0x1f, 0x8, 0x3c,
0xc7, 0xc6, 0x18, 0xfc, 0xcf, 0x1f, 0x8e, 0x63,
0xf3, 0xc, 0x7c, 0x63, 0xc3, 0xe, 0x88, 0x1,
0xe1, 0x80, 0x60, 0x38, 0x1c, 0x9, 0xfe, 0x80,
0x26, 0xc0, 0x4, 0x88, 0x0, 0x1, 0x0,
/* U+0026 "&" */
0x2, 0x44, 0x0, 0x24, 0x40, 0x3, 0xfc, 0x41,
0xf8, 0xf8, 0xe, 0x3, 0x80, 0x80, 0x10, 0x78,
0xf0, 0xf1, 0x1f, 0x8c, 0x71, 0xf8, 0xf3, 0x1f,
0x8e, 0x11, 0xf8, 0xc3, 0x8e, 0x1e, 0xf8, 0x1,
0xf0, 0xc0, 0x30, 0xe, 0xf, 0x1, 0x35, 0xc8,
0x3, 0x4c, 0x0, 0x24, 0xc0, 0x3, 0x54, 0x0,
0x15, 0x80, 0x0, 0x40, 0x0, 0x4, 0x0, 0x0,
0x40, 0x0, 0x4, 0x0, 0x0, 0x40, 0x0, 0x4,
0x0,
/* U+0027 "'" */
0xff, 0xff, 0xff, 0xf0,
/* U+0028 "(" */
0x1e, 0x3e, 0x3e, 0x7c, 0x7c, 0x7c, 0xf8, 0xf8,
0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0x7c,
0x7c, 0x7c, 0x3c, 0x3e, 0x1e,
/* U+0029 ")" */
0x78, 0x7c, 0x7c, 0x3c, 0x3e, 0x3e, 0x1e, 0x1f,
0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1e, 0x3e,
0x3e, 0x3e, 0x7c, 0x7c, 0x78,
/* U+002A "*" */
0x0, 0x0, 0x2, 0xf8, 0x1, 0x7c, 0x0, 0xfe,
0x0, 0x3e, 0x80, 0x5c, 0xc0, 0x24, 0x60, 0x1a,
0x60, 0x7, 0x64, 0x1f, 0xb7, 0xe, 0xf7, 0xce,
0x78, 0xe6, 0x34, 0x3e, 0x1c, 0x1f, 0xa, 0x7,
0x85, 0x3, 0xc3, 0x81, 0x30, 0xc3, 0x87, 0x70,
0x0, 0xb8, 0x0, 0x1c, 0x0, 0xe, 0x0, 0x6,
0x0,
/* U+002B "+" */
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xf0,
/* U+002C "," */
0x7d, 0xf7, 0xbe, 0xfb, 0xcf, 0x0,
/* U+002D "-" */
0xff, 0xff, 0xff,
/* U+002E "." */
0xff, 0xff, 0xf0,
/* U+002F "/" */
0x1, 0xe0, 0x7c, 0xf, 0x1, 0xe0, 0x78, 0xf,
0x3, 0xc0, 0x78, 0x1f, 0x3, 0xc0, 0xf8, 0x1e,
0x3, 0xc0, 0xf0, 0x1e, 0x7, 0x80, 0xf0, 0x0,
/* U+0030 "0" */
0x7, 0xf0, 0xf, 0xfe, 0xf, 0xff, 0x8f, 0xff,
0xe7, 0xe3, 0xf7, 0xe0, 0xff, 0xf0, 0x7f, 0xf8,
0x3f, 0xfc, 0x1f, 0xfe, 0xf, 0xff, 0x7, 0xff,
0x83, 0xf7, 0xe3, 0xf3, 0xff, 0xf8, 0xff, 0xf8,
0x3f, 0xf8, 0x7, 0xf0, 0x0,
/* U+0031 "1" */
0x7, 0xe1, 0xfc, 0xff, 0xbf, 0xff, 0xff, 0xff,
0xfd, 0xfb, 0x3f, 0x47, 0xe0, 0xfc, 0x1f, 0x83,
0xf0, 0x7e, 0xf, 0xc1, 0xf8, 0x3f, 0x7, 0xe0,
/* U+0032 "2" */
0xff, 0x87, 0xff, 0x3f, 0xfd, 0xff, 0xf8, 0x3f,
0x80, 0xfc, 0x7, 0xe0, 0x3f, 0x3, 0xf0, 0x3f,
0x7, 0xf0, 0x7f, 0xf, 0xe0, 0x7f, 0xff, 0xff,
0xff, 0xff, 0xff, 0xf8,
/* U+0033 "3" */
0x7f, 0x87, 0xff, 0x3f, 0xfd, 0xff, 0xf8, 0x3f,
0x80, 0xfc, 0x7, 0xe7, 0xfe, 0x3f, 0xc1, 0xff,
0x80, 0xfe, 0x3, 0xf8, 0x1f, 0xff, 0xff, 0xff,
0xdf, 0xfc, 0x7f, 0x80,
/* U+0034 "4" */
0x0, 0x78, 0x0, 0xf8, 0x1, 0xf8, 0x3, 0xf8,
0x7, 0xf8, 0xf, 0x78, 0x1f, 0x78, 0x3e, 0x78,
0x7c, 0x78, 0xf8, 0x78, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0x0, 0x78, 0x0, 0x78, 0x0, 0x78,
0x0, 0x78,
/* U+0035 "5" */
0xff, 0xf7, 0xff, 0xbf, 0xfd, 0xff, 0xef, 0xc0,
0x7e, 0x3, 0xf0, 0x1f, 0xfc, 0xff, 0xf0, 0x1f,
0xc0, 0x7e, 0x3, 0xf0, 0x3f, 0xff, 0xff, 0xff,
0xdf, 0xfc, 0x7f, 0x80,
/* U+0036 "6" */
0x3, 0xfc, 0xf, 0xfc, 0x3f, 0xfc, 0x7f, 0xfc,
0x7f, 0x0, 0xfc, 0x0, 0xfd, 0xf8, 0xff, 0xfc,
0xff, 0xfe, 0xfe, 0x7f, 0xfc, 0x3f, 0xfc, 0x3f,
0x7c, 0x3f, 0x7e, 0x7f, 0x3f, 0xfe, 0x1f, 0xfc,
0x7, 0xf0,
/* U+0037 "7" */
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1,
0xfc, 0x7, 0xe0, 0x3f, 0x80, 0xfc, 0x7, 0xf0,
0x1f, 0x80, 0xfe, 0x7, 0xf0, 0x1f, 0xc0, 0xfe,
0x3, 0xf8, 0x1f, 0xe0, 0x7f, 0x0,
/* U+0038 "8" */
0xf, 0xf0, 0x3f, 0xfc, 0x7f, 0xfe, 0xfe, 0x7f,
0xfc, 0x3f, 0xfc, 0x3f, 0x7e, 0x7e, 0x3f, 0xfc,
0x3f, 0xfc, 0x7e, 0x7e, 0xfc, 0x3f, 0xfc, 0x3f,
0xfc, 0x3f, 0xfe, 0x7f, 0x7f, 0xfe, 0x3f, 0xfc,
0xf, 0xf0,
/* U+0039 "9" */
0xf, 0xe0, 0x3f, 0xf8, 0x7f, 0xfc, 0xfe, 0x7e,
0xfc, 0x3e, 0xfc, 0x3f, 0xfc, 0x3f, 0xfe, 0x7f,
0x7f, 0xff, 0x3f, 0xff, 0x1f, 0xbf, 0x0, 0x3e,
0x0, 0xfe, 0x3f, 0xfe, 0x3f, 0xfc, 0x3f, 0xf0,
0x3f, 0xc0,
/* U+003A ":" */
0xff, 0xff, 0xf0, 0x0, 0x0, 0xff, 0xff, 0xf0,
/* U+003B ";" */
0xff, 0xfe, 0x7, 0xff, 0xf0, 0x3f, 0xff, 0x81,
0xff, 0xfc, 0xf, 0xc0, 0x0, 0x7e, 0x0, 0x3,
0xf0, 0x0, 0x1f, 0xfe, 0x0, 0xff, 0xf0, 0x7,
0xff, 0x80, 0x3f, 0x0, 0x1, 0xf8, 0x0, 0xf,
0xc0, 0x0, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xf8,
/* U+003C "<" */
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xf0,
/* U+003D "=" */
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xf0,
/* U+003E ">" */
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xf0,
/* U+003F "?" */
0x3f, 0x8f, 0xfe, 0xff, 0xff, 0xff, 0x83, 0xf0,
0x3f, 0x7, 0xe0, 0xfc, 0x1f, 0x81, 0xf8, 0x1f,
0x0, 0x0, 0x0, 0x1, 0xf0, 0x1f, 0x1, 0xf0,
0x1f, 0x0,
/* U+0040 "@" */
0x0, 0x7, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x1, 0xff, 0xff, 0xff, 0x8f, 0xf0,
0x3f, 0xfe, 0x0, 0x0, 0x7f, 0xff, 0xff, 0xf3,
0xff, 0x7, 0xff, 0xf0, 0x0, 0xf, 0xff, 0xff,
0xfe, 0x7f, 0xe0, 0xff, 0xff, 0x0, 0x1, 0xff,
0xff, 0xff, 0xcf, 0xfc, 0x1f, 0xff, 0xe0, 0x0,
0x3f, 0x80, 0x3f, 0x3, 0xff, 0xc3, 0xf0, 0x7e,
0x0, 0x3, 0xf8, 0x7, 0xe0, 0x7c, 0xf8, 0x7e,
0xf, 0xc0, 0x0, 0x7f, 0x80, 0xfc, 0x1f, 0x9f,
0xf, 0xff, 0xf0, 0x0, 0x7, 0xf8, 0x1f, 0x83,
0xf3, 0xf1, 0xff, 0xfe, 0x0, 0x0, 0x7f, 0x83,
0xf0, 0x7c, 0x3e, 0x3f, 0xff, 0x80, 0x0, 0x7,
0xf8, 0x7e, 0x1f, 0x87, 0xe7, 0xff, 0x80, 0x0,
0x0, 0x7f, 0xf, 0xc3, 0xff, 0xfc, 0xff, 0xf8,
0x1, 0xff, 0xff, 0xe1, 0xf8, 0x7f, 0xff, 0x9f,
0xbf, 0xf8, 0x3f, 0xff, 0xfc, 0x3f, 0x1f, 0xff,
0xfb, 0xf3, 0xff, 0x7, 0xff, 0xff, 0x7, 0xe3,
0xf0, 0x3f, 0x7e, 0x1f, 0xe0, 0xff, 0xff, 0xc0,
0xfc, 0x7e, 0x7, 0xef, 0xc1, 0xfc, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x7e, 0xf, 0xc3, 0xf7, 0xfc, 0xf,
0xff, 0x80, 0xff, 0xf7, 0xe3, 0xf8, 0x7e, 0xff,
0xc1, 0xff, 0xf8, 0x3f, 0xfe, 0xfc, 0x7f, 0x1f,
0xdf, 0xf8, 0x3f, 0xff, 0x87, 0xff, 0xdf, 0xcf,
0xe3, 0xf7, 0xff, 0x7, 0xff, 0xf8, 0xff, 0xf9,
0xf9, 0xfe, 0x7e, 0xff, 0xf0, 0xfc, 0x1f, 0x1f,
0xff, 0x3f, 0x3f, 0xdf, 0xdf, 0xfe, 0x1f, 0x83,
0xe3, 0xf8, 0x3, 0xff, 0xfb, 0xf7, 0xe7, 0xc3,
0xf0, 0x7c, 0x7f, 0x0, 0x7f, 0xff, 0xfe, 0xfc,
0xfc, 0x7f, 0xff, 0x87, 0xf0, 0xf, 0xff, 0xff,
0xdf, 0x9f, 0x8f, 0xff, 0xe0, 0x7f, 0x0, 0xff,
0xff, 0xf7, 0xe1, 0xf1, 0xff, 0xf8, 0x7, 0xf0,
0x1f, 0xff, 0xfe, 0xfc, 0x3f, 0x3f, 0xfc, 0x0,
0x7f, 0x3, 0xff, 0xff, 0xdf, 0xff, 0xe7, 0xff,
0xc0, 0xf, 0xe0, 0x3f, 0xcf, 0xf7, 0xff, 0xfc,
0xfd, 0xff, 0xff, 0xfc, 0x7, 0xf9, 0xfe, 0xff,
0xff, 0xdf, 0x9f, 0xff, 0xff, 0x80, 0x7f, 0x3f,
0xdf, 0x81, 0xfb, 0xf1, 0xff, 0xff, 0xf0, 0xf,
0xe3, 0xf7, 0xf0, 0x3f, 0x7e, 0x1f, 0xff, 0xfe,
0x1, 0xf8, 0x7e, 0xfc, 0x7, 0xff, 0xc1, 0xff,
0xff, 0x80,
/* U+0041 "A" */
0xff, 0xfc, 0xf, 0xff, 0xe0, 0xff, 0xfe, 0xf,
0xff, 0xe0, 0xf, 0xff, 0x0, 0xff, 0xf0, 0x1f,
0x9f, 0x1, 0xf9, 0xf8, 0x1f, 0x9f, 0x83, 0xf0,
0xf8, 0x3f, 0xf, 0xc3, 0xff, 0xfc, 0x3f, 0xff,
0xc7, 0xff, 0xfe, 0x7e, 0x7, 0xe7, 0xe0, 0x7e,
0xfe, 0x7, 0xf0,
/* U+0042 "B" */
0xff, 0xff, 0xe3, 0xff, 0xff, 0xcf, 0xff, 0xff,
0xbf, 0xff, 0xfe, 0xff, 0xc1, 0xf8, 0x3f, 0x7,
0xe0, 0xfc, 0x1f, 0x3, 0xff, 0xf8, 0xf, 0xff,
0xe0, 0x3f, 0xff, 0xe0, 0xfc, 0x1f, 0x83, 0xf0,
0x3f, 0xf, 0xc0, 0xfc, 0x3f, 0x7, 0xf0, 0xff,
0xff, 0xc3, 0xff, 0xfe, 0xf, 0xff, 0xe0,
/* U+0043 "C" */
0x3, 0xfc, 0x7, 0xff, 0x87, 0xff, 0xe7, 0xff,
0xe7, 0xf0, 0xe7, 0xf0, 0x23, 0xf0, 0x1, 0xf8,
0x0, 0xfc, 0x0, 0x7e, 0x0, 0x3f, 0x0, 0x1f,
0xc0, 0x87, 0xf0, 0xe1, 0xff, 0xf8, 0x7f, 0xfe,
0x1f, 0xfe, 0x3, 0xfc, 0x0,
/* U+0044 "D" */
0xff, 0xff, 0x83, 0xff, 0xff, 0x8f, 0xff, 0xff,
0x3f, 0xff, 0xfe, 0xff, 0xc1, 0xf8, 0x3f, 0x7,
0xf0, 0xfc, 0xf, 0xc3, 0xf0, 0x3f, 0xf, 0xc0,
0xfc, 0x3f, 0x3, 0xf0, 0xfc, 0xf, 0xc3, 0xf0,
0x7f, 0xf, 0xc1, 0xf8, 0x3f, 0xff, 0xe0, 0xff,
0xff, 0x3, 0xff, 0xf8, 0xf, 0xff, 0x80,
/* U+0045 "E" */
0xff, 0xff, 0xcf, 0xff, 0xfc, 0xff, 0xff, 0xcf,
0xff, 0xfc, 0x1f, 0x80, 0x1, 0xf8, 0x0, 0x1f,
0x80, 0x1, 0xff, 0xe0, 0x1f, 0xfe, 0x1, 0xff,
0xe0, 0x1f, 0x80, 0x1, 0xf8, 0x0, 0x1f, 0x80,
0x1, 0xff, 0xff, 0x1f, 0xff, 0xf1, 0xff, 0xff,
0x1f, 0xff, 0xf0,
/* U+0046 "F" */
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0x1f, 0x80, 0x7, 0xe0, 0x1, 0xf8, 0x0,
0x7f, 0xf8, 0x1f, 0xfe, 0x7, 0xff, 0x81, 0xf8,
0x0, 0x7e, 0x0, 0x1f, 0x80, 0x7, 0xe0, 0x1,
0xf8, 0x0, 0x7e, 0x0, 0x1f, 0x80, 0x0,
/* U+0047 "G" */
0x3, 0xfc, 0x7, 0xff, 0x87, 0xff, 0xc7, 0xff,
0xc7, 0xf0, 0xe3, 0xf0, 0x21, 0xf0, 0x0, 0xf8,
0x0, 0xfc, 0x0, 0x3e, 0x7, 0xdf, 0x3, 0xef,
0xc1, 0xf7, 0xf0, 0xf9, 0xff, 0xfc, 0x7f, 0xfe,
0x1f, 0xff, 0x3, 0xff, 0x80,
/* U+0048 "H" */
0xff, 0xc3, 0xff, 0xfc, 0x3f, 0xff, 0xc3, 0xff,
0xfc, 0x3f, 0xf, 0xc3, 0xf0, 0xfc, 0x3f, 0xf,
0xff, 0xf0, 0xff, 0xff, 0xf, 0xff, 0xf0, 0xff,
0xff, 0xf, 0xc3, 0xf0, 0xfc, 0x3f, 0xf, 0xc3,
0xf0, 0xfc, 0x3f, 0xf, 0xc3, 0xf0, 0xfc, 0x3f,
0xf, 0xc3, 0xf0,
/* U+0049 "I" */
0xfc, 0x3f, 0xff, 0xc3, 0xff, 0xfc, 0x3f, 0xff,
0xc3, 0xff, 0xfc, 0x3f, 0xf, 0xc3, 0xf0, 0xff,
0xff, 0xf, 0xff, 0xf0, 0xff, 0xff, 0xf, 0xff,
0xf0, 0xfc, 0x3f, 0xf, 0xc3, 0xf0, 0xfc, 0x3f,
0xf, 0xc3, 0xf0, 0xfc, 0x3f, 0xf, 0xc3, 0xf0,
0xfc, 0x3f, 0x0,
/* U+004A "J" */
0xf, 0xf8, 0x7f, 0xc3, 0xfe, 0x1f, 0xf0, 0xfc,
0x7, 0xe0, 0x3f, 0x1, 0xf8, 0xf, 0xc0, 0x7e,
0x3, 0xf0, 0x1f, 0x80, 0xfc, 0x7, 0xe0, 0x3f,
0x1, 0xf8, 0x1f, 0xc7, 0xfe, 0x3f, 0xe1, 0xfe,
0xf, 0x80, 0x0,
/* U+004B "K" */
0xfc, 0x7e, 0x7, 0xe3, 0xe0, 0x3f, 0x3e, 0x1,
0xf9, 0xf0, 0xf, 0xdf, 0x0, 0x7f, 0xf0, 0x3,
0xff, 0x80, 0x1f, 0xf8, 0x0, 0xff, 0x80, 0x7,
0xfc, 0x0, 0x3f, 0xf0, 0x1, 0xff, 0xc0, 0xf,
0xfe, 0x0, 0x7e, 0xff, 0xff, 0xf3, 0xff, 0xff,
0x8f, 0xff, 0xfc, 0x3f, 0xf8,
/* U+004C "L" */
0xff, 0xc0, 0x1f, 0xf8, 0x3, 0xff, 0x0, 0x7f,
0xe0, 0x0, 0xfc, 0x0, 0x1f, 0x80, 0x3, 0xf0,
0x0, 0x7e, 0x0, 0xf, 0xc0, 0x1, 0xf8, 0x0,
0x3f, 0x0, 0x7, 0xe0, 0x0, 0xfc, 0x0, 0x1f,
0xff, 0xc3, 0xff, 0xf8, 0x7f, 0xff, 0xf, 0xff,
0xe0,
/* U+004D "M" */
0xff, 0xc0, 0x7f, 0xff, 0xc1, 0xff, 0xff, 0x83,
0xff, 0xff, 0x8f, 0xf0, 0xff, 0xbf, 0xe1, 0xff,
0x7f, 0xc3, 0xff, 0xff, 0x87, 0xff, 0xff, 0xf,
0xff, 0xfe, 0x1f, 0xff, 0xfc, 0x3f, 0x7f, 0xf8,
0x7e, 0xfb, 0xf0, 0xfd, 0xf7, 0xe1, 0xf9, 0xcf,
0xc3, 0xf3, 0x9f, 0x87, 0xe2, 0x3f, 0xf, 0xc4,
0x7e,
/* U+004E "N" */
0xfc, 0x3f, 0xff, 0xf1, 0xff, 0xff, 0xcf, 0xff,
0xff, 0x7f, 0xff, 0xfb, 0xf0, 0x7f, 0xff, 0x83,
0xff, 0xfc, 0x1f, 0xff, 0xe0, 0xff, 0xff, 0x7,
0xff, 0xf8, 0x3f, 0xff, 0xc1, 0xfb, 0xfe, 0xf,
0xdf, 0xf0, 0x7e, 0x7f, 0x83, 0xf1, 0xfc, 0x1f,
0x8f, 0xe0, 0xfc, 0x3f, 0x0,
/* U+004F "O" */
0xff, 0xc3, 0xff, 0xfe, 0x3f, 0xff, 0xf3, 0xff,
0xff, 0xbf, 0xf, 0xfb, 0xf0, 0xff, 0xff, 0xf,
0xff, 0xf0, 0xff, 0xff, 0xf, 0xff, 0xf0, 0xff,
0xff, 0xf, 0xff, 0xf0, 0xfd, 0xff, 0xf, 0xdf,
0xf0, 0xfc, 0xff, 0xf, 0xc7, 0xf0, 0xfc, 0x7f,
0xf, 0xc3, 0xf0,
/* U+0050 "P" */
0xff, 0xff, 0x87, 0xff, 0xff, 0x3f, 0xff, 0xfd,
0xff, 0xff, 0xef, 0xfc, 0x1f, 0x87, 0xe0, 0xfc,
0x3f, 0x7, 0xe1, 0xff, 0xfe, 0xf, 0xff, 0xf0,
0x7f, 0xff, 0x3, 0xff, 0xe0, 0x1f, 0x80, 0x0,
0xfc, 0x0, 0x7, 0xe0, 0x0, 0x3f, 0x0, 0x1,
0xf8, 0x0, 0xf, 0xc0, 0x0,
/* U+0051 "Q" */
0xfc, 0x7, 0xff, 0xfc, 0x1f, 0xff, 0xf8, 0x3f,
0xff, 0xf8, 0xff, 0xff, 0xfb, 0xfe, 0x1f, 0xf7,
0xfc, 0x3f, 0xff, 0xf8, 0x7f, 0xff, 0xf0, 0xff,
0xff, 0xe1, 0xff, 0xff, 0xc3, 0xf7, 0xff, 0x87,
0xef, 0xbf, 0xf, 0xdf, 0x7e, 0x1f, 0x9c, 0xfc,
0x3f, 0x39, 0xf8, 0x7e, 0x23, 0xf0, 0xfc, 0x47,
0xe0,
/* U+0052 "R" */
0xff, 0xf8, 0x3, 0xff, 0xf8, 0xf, 0xff, 0xf0,
0x3f, 0xff, 0xc0, 0xfc, 0x1f, 0x3, 0xf0, 0x7e,
0xf, 0xc1, 0xf8, 0x3f, 0x7, 0xc0, 0xff, 0xff,
0x3, 0xff, 0xf8, 0xf, 0xff, 0xc0, 0x3f, 0xfc,
0x0, 0xff, 0xf8, 0x3, 0xf7, 0xff, 0xff, 0xc7,
0xff, 0xff, 0xf, 0xff, 0xfc, 0x1f, 0xfc,
/* U+0053 "S" */
0x0, 0xff, 0xf8, 0xf, 0xff, 0xc0, 0x7f, 0xfe,
0x3, 0xff, 0xf0, 0x1f, 0xc0, 0x0, 0xff, 0x0,
0x7, 0xfc, 0x0, 0x3f, 0xf0, 0x0, 0xff, 0x80,
0x3, 0xfe, 0x0, 0xf, 0xf8, 0x0, 0x3f, 0xc0,
0x1, 0xfe, 0x7f, 0xff, 0xf3, 0xff, 0xff, 0x9f,
0xff, 0xf8, 0xff, 0xff, 0x80,
/* U+0054 "T" */
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x7, 0xe0, 0x7, 0xe0, 0x7, 0xe0, 0x7, 0xe0,
0x7, 0xe0, 0x7, 0xe0, 0x7, 0xe0, 0x7, 0xe0,
0x7, 0xe0, 0x7, 0xe0, 0x7, 0xe0, 0x7, 0xe0,
0x7, 0xe0,
/* U+0055 "U" */
0xfc, 0x7e, 0xfc, 0x7c, 0xfc, 0xf8, 0xfd, 0xf8,
0xfd, 0xf0, 0xff, 0xe0, 0xff, 0xc0, 0xff, 0xc0,
0xff, 0x80, 0xff, 0xc0, 0xff, 0xc0, 0xff, 0xe0,
0xff, 0xf0, 0xfd, 0xf0, 0xfc, 0xf8, 0xfc, 0x78,
0xfc, 0x7c, 0x0, 0x3e, 0x0, 0x1f, 0x0, 0xf,
0x0, 0xf, 0x0, 0x3,
/* U+0056 "V" */
0xff, 0xf8, 0x3f, 0xff, 0x8f, 0xff, 0xf3, 0xff,
0xfc, 0xfc, 0x1f, 0xbf, 0x7, 0xef, 0xc1, 0xf3,
0xff, 0xfc, 0xff, 0xfe, 0x3f, 0xff, 0xf, 0xff,
0x3, 0xff, 0xe0, 0xfd, 0xf8, 0x3f, 0x3f, 0xf,
0xcf, 0xc3, 0xf1, 0xf8, 0xfc, 0x3f, 0x0, 0xf,
0xc0, 0x1, 0xfc, 0x0, 0x3f, 0x0, 0xf, 0xc0,
0x1, 0xf0, 0x0, 0x3c,
/* U+0057 "W" */
0xff, 0xf, 0x87, 0xdf, 0xe1, 0xf8, 0xfb, 0xfe,
0x7f, 0x3f, 0x7f, 0xcf, 0xe7, 0xe0, 0xf9, 0xfe,
0xf8, 0x1f, 0xff, 0xdf, 0x3, 0xff, 0xff, 0xe0,
0x3f, 0xff, 0xfc, 0x7, 0xff, 0xff, 0x0, 0xff,
0xff, 0xe0, 0x1f, 0xff, 0xfc, 0x1, 0xfe, 0xff,
0x80, 0x3f, 0xdf, 0xe0, 0x7, 0xf9, 0xfc, 0x0,
0x7f, 0x3f, 0x80, 0xf, 0xc7, 0xf0, 0x1, 0xf8,
0x7c, 0x0,
/* U+0058 "X" */
0xff, 0xfc, 0x1f, 0xff, 0xe3, 0xff, 0xfe, 0x7f,
0xff, 0xc0, 0x0, 0xf8, 0x0, 0x1f, 0x0, 0x3,
0xe3, 0xff, 0xfc, 0x7f, 0xff, 0x8f, 0xff, 0xe1,
0xff, 0xf0, 0x3f, 0xfc, 0x7, 0xff, 0xc0, 0xfd,
0xff, 0xdf, 0x9f, 0xfb, 0xf0, 0xff, 0x7e, 0xf,
0xe0,
/* U+0059 "Y" */
0xff, 0x3, 0xff, 0xfc, 0x3f, 0xbf, 0xf3, 0xfd,
0xff, 0x9f, 0xc0, 0xff, 0xfc, 0x3, 0xff, 0xc0,
0xf, 0xfe, 0x0, 0x7f, 0xe0, 0x1, 0xfe, 0x0,
0x7, 0xf0, 0x0, 0x3f, 0x0, 0x1, 0xf8, 0x0,
0xf, 0xc0, 0x0, 0x7e, 0x0, 0x3, 0xf0, 0x0,
0x1f, 0x80, 0x0, 0xfc, 0x0,
/* U+005A "Z" */
0x3, 0xff, 0xf0, 0x7f, 0xff, 0x7, 0xff, 0xf0,
0x7f, 0xff, 0xf, 0xff, 0x0, 0xf9, 0xf0, 0xf,
0x9f, 0x81, 0xf9, 0xf8, 0x1f, 0xf, 0x81, 0xf0,
0xfc, 0x3f, 0xf, 0xc3, 0xff, 0xfc, 0x3f, 0xff,
0xc7, 0xff, 0xfe, 0x7e, 0x7, 0xe7, 0xe0, 0x7e,
0xfe, 0x3, 0xf0,
/* U+005B "[" */
0xff, 0x8f, 0xc0, 0xff, 0x8f, 0x80, 0xff, 0x9f,
0x80, 0xff, 0xbf, 0x0, 0x1f, 0xfe, 0x0, 0x1f,
0xfc, 0x0, 0x1f, 0xfc, 0x0, 0x1f, 0xf8, 0x0,
0x1f, 0xf0, 0x0, 0x1f, 0xf8, 0x0, 0x1f, 0xf8,
0x0, 0x1f, 0xfc, 0x0, 0x1f, 0xfe, 0x0, 0x1f,
0xbf, 0xff, 0x1f, 0x9f, 0xff, 0x1f, 0x8f, 0xff,
0x1f, 0x87, 0xff,
/* U+005C "\\" */
0xff, 0xff, 0xff, 0xff,
/* U+005D "]" */
0xfc, 0x3e, 0x1f, 0xf7, 0xc3, 0xf1, 0xff, 0x7e,
0x7f, 0x3f, 0xf7, 0xe7, 0xf3, 0xff, 0x3e, 0x7f,
0xbe, 0x3, 0xff, 0xfb, 0xe0, 0x3f, 0xff, 0xfe,
0x3, 0xff, 0xff, 0xe0, 0x1f, 0xff, 0xfc, 0x1,
0xff, 0xff, 0xc0, 0x1f, 0xff, 0xfc, 0x0, 0xff,
0x7f, 0xc0, 0xf, 0xf7, 0xf8, 0x0, 0xff, 0x3f,
0x80, 0x7, 0xf3, 0xf8, 0x0, 0x7e, 0x3f, 0x80,
0x7, 0xe1, 0xf0, 0x0,
/* U+005E "^" */
0x0, 0x30, 0x0, 0x3, 0xfe, 0x0, 0x1f, 0xff,
0x0, 0x7f, 0xff, 0x1, 0xff, 0xff, 0x7, 0xf0,
0x7f, 0xf, 0x80, 0x3f, 0x3e, 0x0, 0x3e, 0x78,
0x0, 0x3e, 0xf0, 0x70, 0x7c, 0x1, 0xf0, 0x0,
0x7, 0xf0, 0x0, 0xf, 0xe0, 0x0, 0x1f, 0xc0,
0x0, 0x1f, 0x0, 0x3c, 0x1c, 0x1f, 0x7c, 0x0,
0x3e, 0xf8, 0x0, 0xf8, 0xf8, 0x3, 0xf0, 0xfc,
0x1f, 0xc1, 0xff, 0xff, 0x0, 0xff, 0xfc, 0x0,
0xff, 0xf0, 0x0, 0x7f, 0x80,
/* U+005F "_" */
0xff, 0xc1, 0xff, 0xfe, 0xf, 0xff, 0xf0, 0x7f,
0xff, 0x83, 0xf0, 0xfc, 0x1f, 0x87, 0xe0, 0xfc,
0x3f, 0x7, 0xe1, 0xf8, 0x3f, 0xf, 0xc1, 0xf8,
0x7e, 0xf, 0xc3, 0xf0, 0x7e, 0x1f, 0x83, 0xf0,
0xfe, 0x3f, 0x83, 0xff, 0xf8, 0xf, 0xff, 0x80,
0x3f, 0xf8, 0x0, 0x7f, 0x0,
/* U+0060 "`" */
0xff, 0x80, 0xff, 0xff, 0x1, 0xfb, 0xfe, 0x3,
0xf7, 0xfe, 0xf, 0xe0, 0xfc, 0x1f, 0x81, 0xf8,
0x3f, 0x3, 0xf8, 0xfc, 0x3, 0xf1, 0xf8, 0x7,
0xe3, 0xf0, 0xf, 0xef, 0xc0, 0xf, 0xdf, 0x80,
0x1f, 0xbf, 0x0, 0x1f, 0xfc, 0x0, 0x3f, 0xf8,
0x0, 0x7f, 0xe0, 0x0, 0x7f, 0xc0,
/* U+0061 "a" */
0x7, 0xfc, 0x0, 0x7f, 0xe0, 0x7, 0xfe, 0x0,
0xff, 0xe0, 0xf, 0xff, 0x0, 0xfb, 0xf0, 0x1f,
0x9f, 0x1, 0xf9, 0xf8, 0x1f, 0x1f, 0x83, 0xf0,
0xf8, 0x3f, 0xf, 0xc3, 0xff, 0xfc, 0x3f, 0xff,
0xc7, 0xff, 0xfe, 0x7e, 0xf, 0xe7, 0xe0, 0x7e,
0xfc, 0x7, 0xf0,
/* U+0062 "b" */
0xff, 0xfe, 0x3f, 0xff, 0xcf, 0xff, 0xfb, 0xff,
0xfe, 0xfc, 0x1f, 0xbf, 0x7, 0xef, 0xc1, 0xf3,
0xff, 0xf8, 0xff, 0xfe, 0x3f, 0xff, 0xef, 0xc1,
0xfb, 0xf0, 0x3f, 0xfc, 0xf, 0xff, 0x7, 0xff,
0xff, 0xff, 0xff, 0xfe, 0xff, 0xfe, 0x0,
/* U+0063 "c" */
0x3, 0xff, 0xc3, 0xff, 0xf3, 0xff, 0xfd, 0xff,
0xff, 0x7f, 0x0, 0x3f, 0x80, 0xf, 0xc0, 0x3,
0xf0, 0x0, 0xfc, 0x0, 0x3f, 0x0, 0xf, 0xc0,
0x3, 0xf8, 0x0, 0x7f, 0x0, 0xf, 0xff, 0xf3,
0xff, 0xfc, 0x3f, 0xff, 0x3, 0xff, 0xc0,
/* U+0064 "d" */
0xff, 0xf8, 0x3f, 0xff, 0x8f, 0xff, 0xf3, 0xff,
0xfe, 0xfc, 0x1f, 0xbf, 0x7, 0xff, 0xc0, 0xff,
0xf0, 0x3f, 0xfc, 0xf, 0xff, 0x3, 0xff, 0xc0,
0xff, 0xf0, 0x7f, 0xfc, 0x1f, 0xbf, 0xff, 0xef,
0xff, 0xf3, 0xff, 0xf8, 0xff, 0xf8, 0x0,
/* U+0065 "e" */
0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe,
0xfc, 0x0, 0xfc, 0x0, 0xfc, 0x0, 0xff, 0xf0,
0xff, 0xf0, 0xff, 0xf0, 0xfc, 0x0, 0xfc, 0x0,
0xfc, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff,
/* U+0066 "f" */
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xc0, 0x1f, 0x80, 0x3f, 0x0, 0x7f, 0xf8, 0xff,
0xf1, 0xff, 0xe3, 0xf0, 0x7, 0xe0, 0xf, 0xc0,
0x1f, 0x80, 0x3f, 0x0, 0x7e, 0x0, 0xfc, 0x0,
/* U+0067 "g" */
0x3, 0xff, 0xc3, 0xff, 0xf3, 0xff, 0xfc, 0xff,
0xff, 0x7f, 0x0, 0x3f, 0x80, 0xf, 0xc0, 0x3,
0xf0, 0x0, 0xfc, 0xf, 0xff, 0x3, 0xff, 0xc0,
0xfd, 0xf8, 0x3f, 0x7f, 0xf, 0xcf, 0xff, 0xf1,
0xff, 0xfc, 0x3f, 0xff, 0x3, 0xff, 0xc0,
/* U+0068 "h" */
0xfc, 0x3f, 0xfc, 0x3f, 0xfc, 0x3f, 0xfc, 0x3f,
0xfc, 0x3f, 0xfc, 0x3f, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xfc, 0x3f, 0xfc, 0x3f,
0xfc, 0x3f, 0xfc, 0x3f, 0xfc, 0x3f, 0xfc, 0x3f,
0xfc, 0x3f,
/* U+0069 "i" */
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xfc,
/* U+006A "j" */
0xf, 0xc3, 0xf0, 0xfc, 0x3f, 0xf, 0x83, 0xe0,
0xf8, 0x3e, 0xf, 0x83, 0xe0, 0xf8, 0xfe, 0xff,
0xbf, 0xef, 0xf3, 0xf8, 0xfc, 0x0,
/* U+006B "k" */
0xfc, 0x7e, 0x7e, 0x3e, 0x3f, 0x3e, 0x1f, 0x9f,
0xf, 0xdf, 0x7, 0xff, 0x3, 0xff, 0x81, 0xff,
0x80, 0xff, 0x80, 0x7f, 0xc0, 0x3f, 0xf0, 0x1f,
0xfc, 0xf, 0xfe, 0x7, 0xff, 0xff, 0xf3, 0xff,
0xf8, 0xff, 0xfc, 0x3f, 0x80,
/* U+006C "l" */
0xfc, 0x1, 0xf8, 0x3, 0xf0, 0x7, 0xe0, 0xf,
0xc0, 0x1f, 0x80, 0x3f, 0x0, 0x7e, 0x0, 0xfc,
0x1, 0xf8, 0x3, 0xf0, 0x7, 0xe0, 0xf, 0xc0,
0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe,
/* U+006D "m" */
0xfc, 0x7, 0xff, 0xc1, 0xff, 0xf8, 0x3f, 0xff,
0x8f, 0xff, 0xf1, 0xff, 0xff, 0x7f, 0xff, 0xef,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xfe, 0xfb, 0xff, 0xdf, 0x7f, 0xf9,
0xcf, 0xff, 0x39, 0xff, 0xe2, 0x3f, 0xfc, 0x47,
0xe0,
/* U+006E "n" */
0xfc, 0x3f, 0xfe, 0x3f, 0xff, 0x3f, 0xff, 0x3f,
0xff, 0xbf, 0xff, 0xbf, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff,
0xfd, 0xff, 0xfc, 0xff, 0xfc, 0xff, 0xfc, 0x7f,
0xfc, 0x3f,
/* U+006F "o" */
0x3, 0xf8, 0x3, 0xff, 0xe0, 0xff, 0xfe, 0x3f,
0xff, 0xe7, 0xf1, 0xfd, 0xfc, 0x1f, 0xff, 0x1,
0xff, 0xe0, 0x3f, 0xfc, 0x7, 0xff, 0x80, 0xff,
0xf0, 0x1f, 0xff, 0x7, 0xf7, 0xe0, 0xfc, 0xff,
0xff, 0x8f, 0xff, 0xe0, 0xff, 0xf8, 0x3, 0xf8,
0x0,
/* U+0070 "p" */
0xff, 0xf8, 0x7f, 0xff, 0x3f, 0xff, 0xdf, 0xff,
0xef, 0xc1, 0xff, 0xe0, 0xff, 0xf0, 0x7f, 0xff,
0xfe, 0xff, 0xff, 0x7f, 0xff, 0x3f, 0xfe, 0x1f,
0x80, 0xf, 0xc0, 0x7, 0xe0, 0x3, 0xf0, 0x1,
0xf8, 0x0, 0xfc, 0x0, 0x0,
/* U+0071 "q" */
0x3, 0xfc, 0x3, 0xff, 0xe0, 0xff, 0xfe, 0x3f,
0xff, 0xe7, 0xf1, 0xfd, 0xfc, 0x1f, 0xff, 0x1,
0xff, 0xe0, 0x3f, 0xfc, 0x7, 0xff, 0x80, 0xfb,
0xf0, 0x1f, 0x7f, 0x3, 0xc7, 0xe7, 0xfe, 0xff,
0xff, 0xcf, 0xff, 0xf8, 0xff, 0xff, 0x7, 0xff,
0xe0,
/* U+0072 "r" */
0xff, 0xf8, 0x3f, 0xff, 0x8f, 0xff, 0xf3, 0xff,
0xfc, 0xfc, 0x1f, 0x3f, 0x7, 0xef, 0xc1, 0xfb,
0xf0, 0x7c, 0xff, 0xff, 0x3f, 0xff, 0x8f, 0xff,
0xc3, 0xff, 0xc0, 0xff, 0xf8, 0x3f, 0x7f, 0xff,
0xc7, 0xff, 0xf0, 0xff, 0xfc, 0x1f, 0xc0,
/* U+0073 "s" */
0x1f, 0xfc, 0xff, 0xf7, 0xff, 0xdf, 0xff, 0x7f,
0x1, 0xfe, 0x7, 0xfc, 0xf, 0xf8, 0x3f, 0xe0,
0x7f, 0xc0, 0xff, 0x81, 0xfe, 0x7, 0xfb, 0xff,
0xef, 0xff, 0xbf, 0xfc, 0xff, 0xe0,
/* U+0074 "t" */
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x7, 0xe0, 0x7, 0xe0, 0x7, 0xe0, 0x7, 0xe0,
0x7, 0xe0, 0x7, 0xe0, 0x7, 0xe0, 0x7, 0xe0,
0x7, 0xe0, 0x7, 0xe0, 0x7, 0xe0, 0x7, 0xe0,
0x7, 0xe0,
/* U+0075 "u" */
0xfc, 0x1f, 0xfe, 0xf, 0xff, 0x7, 0xff, 0x83,
0xff, 0xc1, 0xff, 0xe0, 0xff, 0xf0, 0x7f, 0xf8,
0x3f, 0xfc, 0x1f, 0xfe, 0xf, 0xff, 0x7, 0xff,
0x83, 0xff, 0xe3, 0xfb, 0xff, 0xf9, 0xff, 0xf8,
0x3f, 0xf8, 0x7, 0xf0, 0x0,
/* U+0076 "v" */
0xfe, 0x3, 0xfb, 0xf0, 0x1f, 0xdf, 0x81, 0xfc,
0xfe, 0xf, 0xe3, 0xf0, 0x7e, 0x1f, 0x83, 0xf0,
0xfc, 0x3f, 0x83, 0xf1, 0xf8, 0x1f, 0x8f, 0xc0,
0xfc, 0xfe, 0x3, 0xf7, 0xe0, 0x1f, 0xbf, 0x0,
0xfd, 0xf8, 0x3, 0xff, 0x80, 0x1f, 0xfc, 0x0,
0xff, 0xe0, 0x3, 0xfe, 0x0,
/* U+0077 "w" */
0x7c, 0x3e, 0x1f, 0xbe, 0x1f, 0x8f, 0x9f, 0x8f,
0xc7, 0xcf, 0xcf, 0xe7, 0xe3, 0xe7, 0xfb, 0xf1,
0xfb, 0xfd, 0xf0, 0xff, 0xfe, 0xf8, 0x3f, 0xff,
0xfc, 0x1f, 0xff, 0xfe, 0xf, 0xff, 0xfe, 0x3,
0xff, 0xff, 0x1, 0xfe, 0xff, 0x80, 0xff, 0x3f,
0xc0, 0x7f, 0x9f, 0xc0, 0x1f, 0xcf, 0xe0, 0xf,
0xc7, 0xf0, 0x7, 0xe1, 0xf8, 0x0,
/* U+0078 "x" */
0x7e, 0x3, 0xf1, 0xf8, 0x3f, 0x8f, 0xe3, 0xf8,
0x3f, 0x1f, 0x80, 0xfd, 0xfc, 0x7, 0xff, 0xc0,
0x1f, 0xfc, 0x0, 0x7f, 0xc0, 0x1, 0xfe, 0x0,
0x1f, 0xf0, 0x1, 0xff, 0xc0, 0x1f, 0xff, 0x0,
0xfd, 0xfc, 0xf, 0xc7, 0xe0, 0xfe, 0x3f, 0x87,
0xe0, 0xfe, 0x7e, 0x3, 0xf0,
/* U+0079 "y" */
0xfe, 0x7, 0xf7, 0xe0, 0x7e, 0x7f, 0xf, 0xe3,
0xf9, 0xfc, 0x1f, 0xbf, 0x81, 0xff, 0xf8, 0xf,
0xff, 0x0, 0x7f, 0xe0, 0x7, 0xfe, 0x0, 0x3f,
0xc0, 0x1, 0xf8, 0x0, 0x1f, 0x80, 0x1, 0xf8,
0x0, 0x1f, 0x80, 0x1, 0xf8, 0x0, 0x1f, 0x80,
0x1, 0xf8, 0x0,
/* U+007A "z" */
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
0x1f, 0xe0, 0x3f, 0x80, 0xfe, 0x3, 0xf8, 0xf,
0xe0, 0x3f, 0x80, 0xfe, 0x3, 0xf8, 0xf, 0xf0,
0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe,
/* U+007B "{" */
0x0, 0x40, 0x0, 0x35, 0x0, 0x2, 0xe3, 0xe0,
0x4, 0xf9, 0x8, 0xae, 0x22, 0x1f, 0x87, 0xfb,
0xe0, 0xf0, 0x88, 0x3c, 0x36, 0xf, 0xf, 0x83,
0xe3, 0xe0, 0xf8, 0xf8, 0x3e, 0x2a, 0x10, 0x8f,
0x84, 0x23, 0xe2, 0x8, 0xf8, 0x82, 0x3a, 0x20,
0x8f, 0x88, 0x27, 0xff, 0xff, 0x8f, 0xfb, 0xff,
0xff, 0xdf, 0xff, 0xfc,
/* U+007C "|" */
0xff, 0xff, 0xff, 0xff,
/* U+007D "}" */
0x0, 0x7c, 0x0, 0x3, 0x87, 0x80, 0xf, 0x26,
0x60, 0x11, 0x8a, 0xf0, 0x29, 0x0, 0xc8, 0x2c,
0x18, 0x18, 0x44, 0x78, 0x3c, 0x78, 0x7c, 0x22,
0x90, 0xfe, 0x2, 0x81, 0x6e, 0x1e, 0x81, 0x67,
0x2, 0xb0, 0xe6, 0x2, 0xf0, 0xf8, 0x1e, 0x80,
0xbc, 0x2, 0x90, 0x78, 0xa, 0x40, 0x0, 0x2,
0x4c, 0x78, 0x44, 0x29, 0x1, 0x24, 0x2a, 0x85,
0x8, 0x1b, 0xb4, 0x90, 0xc, 0x74, 0x20, 0x3,
0x1, 0xc0, 0x0, 0xfe, 0x0,
/* U+007E "~" */
0xfe, 0x7, 0xfb, 0xf8, 0x7f, 0xdf, 0xe7, 0xfe,
0x7f, 0x3f, 0xf1, 0xff, 0xf0, 0x7, 0xff, 0x80,
0x1f, 0xf8, 0x0, 0xff, 0x80, 0x3, 0xfc, 0x0,
0xf, 0xc0, 0x0, 0x7e, 0x0, 0x3, 0xf0, 0x0,
0x1f, 0x80, 0x0, 0xfc, 0x0, 0x7, 0xe0, 0x0,
0x3f, 0x0
};
/*---------------------
* GLYPH DESCRIPTION
*--------------------*/
static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
{.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */,
{.bitmap_index = 0, .adv_w = 178, .box_w = 1, .box_h = 1, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 1, .adv_w = 164, .box_w = 7, .box_h = 17, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 16, .adv_w = 214, .box_w = 9, .box_h = 7, .ofs_x = 2, .ofs_y = 10},
{.bitmap_index = 24, .adv_w = 382, .box_w = 21, .box_h = 21, .ofs_x = 1, .ofs_y = 1},
{.bitmap_index = 80, .adv_w = 386, .box_w = 22, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 144, .adv_w = 361, .box_w = 19, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 199, .adv_w = 354, .box_w = 20, .box_h = 26, .ofs_x = 1, .ofs_y = -3},
{.bitmap_index = 264, .adv_w = 121, .box_w = 4, .box_h = 7, .ofs_x = 2, .ofs_y = 10},
{.bitmap_index = 268, .adv_w = 142, .box_w = 8, .box_h = 21, .ofs_x = 1, .ofs_y = -1},
{.bitmap_index = 289, .adv_w = 142, .box_w = 8, .box_h = 21, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 310, .adv_w = 304, .box_w = 17, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 359, .adv_w = 273, .box_w = 19, .box_h = 4, .ofs_x = -1, .ofs_y = 13},
{.bitmap_index = 369, .adv_w = 142, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = -3},
{.bitmap_index = 375, .adv_w = 142, .box_w = 6, .box_h = 4, .ofs_x = 1, .ofs_y = 4},
{.bitmap_index = 378, .adv_w = 142, .box_w = 5, .box_h = 4, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 381, .adv_w = 142, .box_w = 11, .box_h = 17, .ofs_x = -1, .ofs_y = 0},
{.bitmap_index = 405, .adv_w = 284, .box_w = 17, .box_h = 17, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 442, .adv_w = 200, .box_w = 11, .box_h = 17, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 466, .adv_w = 227, .box_w = 13, .box_h = 17, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 494, .adv_w = 227, .box_w = 13, .box_h = 17, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 522, .adv_w = 270, .box_w = 16, .box_h = 17, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 556, .adv_w = 227, .box_w = 13, .box_h = 17, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 584, .adv_w = 263, .box_w = 16, .box_h = 17, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 618, .adv_w = 227, .box_w = 14, .box_h = 17, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 648, .adv_w = 263, .box_w = 16, .box_h = 17, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 682, .adv_w = 263, .box_w = 16, .box_h = 17, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 716, .adv_w = 142, .box_w = 5, .box_h = 12, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 724, .adv_w = 255, .box_w = 21, .box_h = 17, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 769, .adv_w = 0, .box_w = 19, .box_h = 4, .ofs_x = -19, .ofs_y = -6},
{.bitmap_index = 779, .adv_w = 273, .box_w = 19, .box_h = 4, .ofs_x = -1, .ofs_y = 0},
{.bitmap_index = 789, .adv_w = 0, .box_w = 19, .box_h = 4, .ofs_x = 0, .ofs_y = -6},
{.bitmap_index = 799, .adv_w = 221, .box_w = 12, .box_h = 17, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 825, .adv_w = 1033, .box_w = 75, .box_h = 36, .ofs_x = -12, .ofs_y = -7},
{.bitmap_index = 1163, .adv_w = 284, .box_w = 20, .box_h = 17, .ofs_x = -1, .ofs_y = 0},
{.bitmap_index = 1206, .adv_w = 305, .box_w = 22, .box_h = 17, .ofs_x = -3, .ofs_y = 0},
{.bitmap_index = 1253, .adv_w = 270, .box_w = 17, .box_h = 17, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1290, .adv_w = 312, .box_w = 22, .box_h = 17, .ofs_x = -3, .ofs_y = 0},
{.bitmap_index = 1337, .adv_w = 255, .box_w = 20, .box_h = 17, .ofs_x = -3, .ofs_y = 0},
{.bitmap_index = 1380, .adv_w = 249, .box_w = 18, .box_h = 17, .ofs_x = -3, .ofs_y = 0},
{.bitmap_index = 1419, .adv_w = 270, .box_w = 17, .box_h = 17, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 1456, .adv_w = 262, .box_w = 20, .box_h = 17, .ofs_x = -3, .ofs_y = 0},
{.bitmap_index = 1499, .adv_w = 262, .box_w = 20, .box_h = 17, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1542, .adv_w = 164, .box_w = 13, .box_h = 21, .ofs_x = 0, .ofs_y = -4},
{.bitmap_index = 1577, .adv_w = 263, .box_w = 21, .box_h = 17, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1622, .adv_w = 246, .box_w = 19, .box_h = 17, .ofs_x = -3, .ofs_y = 0},
{.bitmap_index = 1663, .adv_w = 309, .box_w = 23, .box_h = 17, .ofs_x = -3, .ofs_y = 0},
{.bitmap_index = 1712, .adv_w = 268, .box_w = 21, .box_h = 17, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1757, .adv_w = 268, .box_w = 20, .box_h = 17, .ofs_x = -3, .ofs_y = 0},
{.bitmap_index = 1800, .adv_w = 281, .box_w = 21, .box_h = 17, .ofs_x = -3, .ofs_y = 0},
{.bitmap_index = 1845, .adv_w = 309, .box_w = 23, .box_h = 17, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1894, .adv_w = 291, .box_w = 22, .box_h = 17, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1941, .adv_w = 213, .box_w = 21, .box_h = 17, .ofs_x = -6, .ofs_y = 0},
{.bitmap_index = 1986, .adv_w = 201, .box_w = 16, .box_h = 17, .ofs_x = -2, .ofs_y = 0},
{.bitmap_index = 2020, .adv_w = 263, .box_w = 16, .box_h = 22, .ofs_x = 1, .ofs_y = -5},
{.bitmap_index = 2064, .adv_w = 291, .box_w = 18, .box_h = 23, .ofs_x = 1, .ofs_y = -6},
{.bitmap_index = 2116, .adv_w = 338, .box_w = 27, .box_h = 17, .ofs_x = -3, .ofs_y = 0},
{.bitmap_index = 2174, .adv_w = 291, .box_w = 19, .box_h = 17, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 2215, .adv_w = 276, .box_w = 21, .box_h = 17, .ofs_x = -2, .ofs_y = 0},
{.bitmap_index = 2260, .adv_w = 284, .box_w = 20, .box_h = 17, .ofs_x = -1, .ofs_y = 0},
{.bitmap_index = 2303, .adv_w = 263, .box_w = 24, .box_h = 17, .ofs_x = -3, .ofs_y = 0},
{.bitmap_index = 2354, .adv_w = 11, .box_w = 8, .box_h = 4, .ofs_x = -3, .ofs_y = 0},
{.bitmap_index = 2358, .adv_w = 338, .box_w = 28, .box_h = 17, .ofs_x = -2, .ofs_y = 0},
{.bitmap_index = 2418, .adv_w = 386, .box_w = 23, .box_h = 24, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 2487, .adv_w = 273, .box_w = 21, .box_h = 17, .ofs_x = -4, .ofs_y = 0},
{.bitmap_index = 2532, .adv_w = 306, .box_w = 23, .box_h = 16, .ofs_x = -3, .ofs_y = 0},
{.bitmap_index = 2578, .adv_w = 284, .box_w = 20, .box_h = 17, .ofs_x = -1, .ofs_y = 0},
{.bitmap_index = 2621, .adv_w = 305, .box_w = 18, .box_h = 17, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 2660, .adv_w = 278, .box_w = 18, .box_h = 17, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 2699, .adv_w = 312, .box_w = 18, .box_h = 17, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 2738, .adv_w = 255, .box_w = 16, .box_h = 17, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 2772, .adv_w = 249, .box_w = 15, .box_h = 17, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 2804, .adv_w = 278, .box_w = 18, .box_h = 17, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 2843, .adv_w = 262, .box_w = 16, .box_h = 17, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 2877, .adv_w = 103, .box_w = 6, .box_h = 17, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 2890, .adv_w = 165, .box_w = 10, .box_h = 17, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 2912, .adv_w = 263, .box_w = 17, .box_h = 17, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 2949, .adv_w = 246, .box_w = 15, .box_h = 17, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 2981, .adv_w = 309, .box_w = 19, .box_h = 17, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 3022, .adv_w = 268, .box_w = 16, .box_h = 17, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 3056, .adv_w = 314, .box_w = 19, .box_h = 17, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 3097, .adv_w = 281, .box_w = 17, .box_h = 17, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 3134, .adv_w = 307, .box_w = 19, .box_h = 17, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 3175, .adv_w = 291, .box_w = 18, .box_h = 17, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 3214, .adv_w = 213, .box_w = 14, .box_h = 17, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 3244, .adv_w = 256, .box_w = 16, .box_h = 17, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 3278, .adv_w = 273, .box_w = 17, .box_h = 17, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 3315, .adv_w = 306, .box_w = 21, .box_h = 17, .ofs_x = -1, .ofs_y = 0},
{.bitmap_index = 3360, .adv_w = 338, .box_w = 25, .box_h = 17, .ofs_x = -2, .ofs_y = 0},
{.bitmap_index = 3414, .adv_w = 276, .box_w = 21, .box_h = 17, .ofs_x = -2, .ofs_y = 0},
{.bitmap_index = 3459, .adv_w = 276, .box_w = 20, .box_h = 17, .ofs_x = -1, .ofs_y = 0},
{.bitmap_index = 3502, .adv_w = 263, .box_w = 15, .box_h = 17, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 3534, .adv_w = 314, .box_w = 18, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 3586, .adv_w = 11, .box_w = 8, .box_h = 4, .ofs_x = -3, .ofs_y = 13},
{.bitmap_index = 3590, .adv_w = 383, .box_w = 24, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 3659, .adv_w = 276, .box_w = 21, .box_h = 16, .ofs_x = -1, .ofs_y = 0}
};
/*---------------------
* CHARACTER MAPPING
*--------------------*/
/*Collect the unicode lists and glyph_id offsets*/
static const lv_font_fmt_txt_cmap_t cmaps[] =
{
{
.range_start = 32, .range_length = 95, .glyph_id_start = 1,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
}
};
/*--------------------
* ALL CUSTOM DATA
*--------------------*/
#if LV_VERSION_CHECK(8, 0, 0)
/*Store all the custom data of the font*/
static lv_font_fmt_txt_glyph_cache_t cache;
static const lv_font_fmt_txt_dsc_t font_dsc = {
#else
static lv_font_fmt_txt_dsc_t font_dsc = {
#endif
.glyph_bitmap = glyph_bitmap,
.glyph_dsc = glyph_dsc,
.cmaps = cmaps,
.kern_dsc = NULL,
.kern_scale = 0,
.cmap_num = 1,
.bpp = 1,
.kern_classes = 0,
.bitmap_format = 0,
#if LV_VERSION_CHECK(8, 0, 0)
.cache = &cache
#endif
};
/*-----------------
* PUBLIC FONT
*----------------*/
/*Initialize a public general font descriptor*/
#if LV_VERSION_CHECK(8, 0, 0)
const lv_font_t ui_font_star24 = {
#else
lv_font_t ui_font_star24 = {
#endif
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
.line_height = 36, /*The maximum line height required by the font*/
.base_line = 7, /*Baseline measured from the bottom of the line*/
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
.subpx = LV_FONT_SUBPX_NONE,
#endif
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
.underline_position = -1,
.underline_thickness = 1,
#endif
.dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
};
#endif /*#if UI_FONT_STAR24*/

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,651 @@
/*******************************************************************************
* Size: 16 px
* Bpp: 1
* Opts: --bpp 1 --size 16 --font /home/valerio/SquareLine/assets/Starjedi.ttf -o /home/valerio/SquareLine/assets/ui_font_start16.c --format lvgl -r 0x20-0x7f --no-compress --no-prefilter
******************************************************************************/
#include "../ui.h"
#ifndef UI_FONT_START16
#define UI_FONT_START16 1
#endif
#if UI_FONT_START16
/*-----------------
* BITMAPS
*----------------*/
/*Store the image of the glyphs*/
static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
/* U+0020 " " */
0x0,
/* U+0021 "!" */
0xff, 0xff, 0xff, 0xf0, 0xf, 0xff,
/* U+0022 "\"" */
0xcf, 0x3c, 0xf3, 0xcc,
/* U+0023 "#" */
0x7, 0xc0, 0x37, 0x60, 0xdf, 0x21, 0xf7, 0xa7,
0xef, 0xce, 0xdb, 0x54, 0x6, 0xbe, 0x1d, 0x58,
0x1a, 0xed, 0xb5, 0xfb, 0xf1, 0xf7, 0xa3, 0x7c,
0x83, 0x72, 0x1, 0xf8, 0x0,
/* U+0024 "$" */
0x1, 0x0, 0x3, 0x0, 0x6, 0x21, 0x3e, 0x22,
0x38, 0x48, 0x30, 0xd8, 0x61, 0xb0, 0xc3, 0xe1,
0x8e, 0xff, 0xbd, 0xff, 0xfb, 0xff, 0xe3, 0xff,
0xc7, 0xff, 0x7, 0xfc, 0x3, 0xe0,
/* U+0025 "%" */
0x0, 0x0, 0x8, 0x0, 0xdc, 0x1, 0x50, 0x25,
0xd0, 0x61, 0x87, 0x31, 0x89, 0xe4, 0x67, 0x98,
0x9e, 0x47, 0x31, 0x6, 0xb, 0x1c, 0x60, 0x1f,
0x0, 0x94, 0x0, 0x0,
/* U+0026 "&" */
0x0, 0x0, 0x54, 0x3, 0xe0, 0x79, 0x81, 0x4,
0x33, 0x99, 0xbc, 0xcd, 0xe4, 0x27, 0x27, 0x3,
0x8c, 0x30, 0x75, 0x80, 0xa8, 0x5, 0xc0, 0x2c,
0x0, 0x40, 0x2, 0x0, 0x10, 0x0, 0x80, 0x0,
0x0,
/* U+0027 "'" */
0xff, 0xc0,
/* U+0028 "(" */
0x3c, 0xe7, 0x9e, 0xf3, 0xcf, 0x3c, 0xf3, 0xcf,
0x1c, 0x78, 0xe3, 0xc0,
/* U+0029 ")" */
0xf1, 0xc7, 0x8e, 0x3c, 0xf3, 0xcf, 0x3c, 0xf3,
0xce, 0x79, 0xcf, 0x0,
/* U+002A "*" */
0x17, 0x3, 0xe0, 0x3c, 0x16, 0x41, 0x50, 0x7f,
0x1b, 0xb3, 0x73, 0xd6, 0x71, 0x86, 0x30, 0xa2,
0x22, 0x60, 0xc, 0x1, 0x80, 0x20,
/* U+002B "+" */
0xff, 0xff, 0xff, 0xff, 0xfe,
/* U+002C "," */
0x7b, 0x9c, 0xe6, 0x0,
/* U+002D "-" */
0xff, 0xf0,
/* U+002E "." */
0xff, 0xf0,
/* U+002F "/" */
0x7, 0xe, 0xe, 0xc, 0x1c, 0x1c, 0x38, 0x38,
0x70, 0x70, 0x70, 0xe0,
/* U+0030 "0" */
0x1f, 0x7, 0xf1, 0xff, 0x78, 0xff, 0x1f, 0xe3,
0xfc, 0x7f, 0x8f, 0xf1, 0xef, 0xf8, 0xfe, 0xf,
0x80,
/* U+0031 "1" */
0xf, 0x3f, 0x7f, 0x7f, 0x7f, 0x4f, 0xf, 0xf,
0xf, 0xf, 0xf, 0xf,
/* U+0032 "2" */
0xfe, 0x7f, 0xbf, 0xe1, 0xf0, 0x78, 0x3c, 0x3c,
0x7c, 0xf8, 0x7f, 0xff, 0xff, 0xf0,
/* U+0033 "3" */
0x7e, 0x7f, 0xbf, 0xe0, 0xf3, 0xf9, 0xf0, 0xfc,
0xf, 0x7, 0xff, 0xff, 0xcf, 0xc0,
/* U+0034 "4" */
0x3, 0x80, 0xf0, 0x3e, 0xf, 0xc3, 0xb8, 0xe7,
0x38, 0xe7, 0xff, 0xff, 0xff, 0xfc, 0xe, 0x1,
0xc0,
/* U+0035 "5" */
0xff, 0xff, 0xff, 0xf0, 0xf0, 0xfe, 0xbf, 0xf,
0xf, 0xff, 0xfe, 0xfc,
/* U+0036 "6" */
0xf, 0xc7, 0xf9, 0xff, 0x7c, 0xf, 0x79, 0xff,
0xbf, 0xff, 0x8f, 0xf1, 0xef, 0xfc, 0xff, 0xf,
0x80,
/* U+0037 "7" */
0xff, 0xff, 0xff, 0xe0, 0xf0, 0xf0, 0x78, 0x78,
0x3c, 0x3e, 0x1e, 0x1f, 0xf, 0x0,
/* U+0038 "8" */
0x3f, 0x1f, 0xef, 0x3f, 0xcf, 0xf3, 0xdf, 0xe7,
0xfb, 0xcf, 0xf3, 0xff, 0xf7, 0xf8, 0xfc,
/* U+0039 "9" */
0x3e, 0x1f, 0xcf, 0xfb, 0xcf, 0xf3, 0xfc, 0xf7,
0xfc, 0xff, 0x7, 0xdf, 0xe7, 0xf1, 0xf8,
/* U+003A ":" */
0xff, 0xf0, 0x0, 0xff, 0xf0,
/* U+003B ";" */
0xff, 0xc3, 0xff, 0xf, 0xfc, 0x3c, 0x0, 0xf0,
0x3, 0xfc, 0xf, 0xf0, 0x3c, 0x0, 0xf0, 0x3,
0xff, 0xff, 0xff, 0xff, 0xff,
/* U+003C "<" */
0xff, 0xff, 0xff, 0xff, 0xfe,
/* U+003D "=" */
0xff, 0xff, 0xff, 0xff, 0xfe,
/* U+003E ">" */
0xff, 0xff, 0xff, 0xff, 0xfe,
/* U+003F "?" */
0x7c, 0xff, 0xff, 0x8f, 0xe, 0x1e, 0x38, 0x38,
0x0, 0x38, 0x38, 0x38,
/* U+0040 "@" */
0x0, 0x3e, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f,
0xff, 0xe7, 0xc3, 0xff, 0x0, 0x1f, 0xff, 0xfb,
0xf8, 0xff, 0xe0, 0x7, 0xff, 0xfe, 0xfe, 0x3f,
0xf8, 0x1, 0xf0, 0x78, 0x7b, 0x8f, 0xe, 0x0,
0x3e, 0x1e, 0x1e, 0xf3, 0xff, 0x80, 0x7, 0xc7,
0x87, 0x3c, 0xff, 0xe0, 0x1, 0xf1, 0xe3, 0xc7,
0x3f, 0xe0, 0x0, 0x3e, 0x78, 0xff, 0xef, 0xf8,
0xf, 0xff, 0x9e, 0x3f, 0xfb, 0xdf, 0xe3, 0xff,
0xe7, 0x9f, 0xfe, 0xf3, 0xf8, 0xff, 0xf1, 0xe7,
0x87, 0xfc, 0x3e, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf,
0x1e, 0x3b, 0xf0, 0xff, 0x83, 0xfd, 0xe7, 0x9e,
0xfe, 0x3f, 0xf1, 0xff, 0x79, 0xf7, 0xff, 0x8f,
0xfe, 0x7f, 0xde, 0xfd, 0xde, 0xe3, 0xc3, 0x9f,
0xf3, 0xff, 0xf7, 0x3c, 0xf0, 0xe7, 0xc0, 0xff,
0xfd, 0xcf, 0x3f, 0xf0, 0xf8, 0x3f, 0xff, 0xf1,
0xcf, 0xf8, 0x1e, 0x7, 0xff, 0xbf, 0xfb, 0xfc,
0x3, 0xc1, 0xfb, 0xef, 0xfe, 0xf7, 0xff, 0xf0,
0x7e, 0xfb, 0xff, 0xbc, 0xff, 0xfc, 0xf, 0x3f,
0xe1, 0xef, 0x3f, 0xff, 0x3, 0xcf, 0x78, 0x3f,
0xc7, 0xff, 0xc0,
/* U+0041 "A" */
0xff, 0xc7, 0xfe, 0x3f, 0xf0, 0x3b, 0xc3, 0xde,
0x1e, 0x70, 0xe3, 0xcf, 0xfe, 0x7f, 0xf3, 0xff,
0x9e, 0x3f, 0xe0, 0xf0,
/* U+0042 "B" */
0xff, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf1,
0xe1, 0xe3, 0xff, 0x87, 0xfe, 0xf, 0xfe, 0x1e,
0x1e, 0x3f, 0xfc, 0x7f, 0xf8, 0xff, 0xe0,
/* U+0043 "C" */
0xf, 0xc7, 0xfd, 0xff, 0x7c, 0x6f, 0x1, 0xe0,
0x3c, 0x7, 0x80, 0xf8, 0xcf, 0xf8, 0xff, 0x87,
0xe0,
/* U+0044 "D" */
0xff, 0xf1, 0xff, 0xf3, 0xff, 0xf7, 0xf1, 0xf1,
0xe1, 0xe3, 0xc3, 0xc7, 0x87, 0x8f, 0xf, 0x1e,
0x3e, 0x3f, 0xf8, 0x7f, 0xf0, 0xff, 0x80,
/* U+0045 "E" */
0xff, 0xf7, 0xff, 0xbf, 0xfc, 0x78, 0x3, 0xc0,
0x1f, 0xe0, 0xff, 0x7, 0x80, 0x3c, 0x1, 0xff,
0xcf, 0xfe, 0x7f, 0xf0,
/* U+0046 "F" */
0xff, 0xff, 0xff, 0xff, 0xf3, 0xc0, 0x3c, 0x3,
0xfc, 0x3f, 0xc3, 0xc0, 0x3c, 0x3, 0xc0, 0x3c,
0x3, 0xc0,
/* U+0047 "G" */
0xf, 0xc1, 0xff, 0x3f, 0xe7, 0x8c, 0x70, 0xf,
0x0, 0x70, 0xf7, 0xf, 0x78, 0xf7, 0xff, 0x3f,
0xf0, 0xff,
/* U+0048 "H" */
0xfe, 0x7f, 0xf3, 0xff, 0x9e, 0x3c, 0xf1, 0xff,
0x8f, 0xfc, 0x7f, 0xe3, 0xcf, 0x1e, 0x78, 0xf3,
0xc7, 0x9e, 0x3c, 0xf0,
/* U+0049 "I" */
0xf3, 0xff, 0xcf, 0xff, 0x3f, 0xfc, 0xf0, 0xff,
0xc3, 0xff, 0xf, 0xfc, 0x3c, 0xf0, 0xf3, 0xc3,
0xcf, 0xf, 0x3c, 0x3c, 0xf0,
/* U+004A "J" */
0x1f, 0x8f, 0xc7, 0xe3, 0xc1, 0xe0, 0xf0, 0x78,
0x3c, 0x1e, 0xf, 0x7, 0x83, 0xcf, 0xe7, 0xe3,
0xe0,
/* U+004B "K" */
0xf3, 0xc3, 0xce, 0xf, 0x70, 0x3f, 0xc0, 0xfe,
0x3, 0xf8, 0xf, 0xc0, 0x3f, 0x80, 0xfe, 0x3,
0xff, 0xff, 0x7f, 0xfc, 0xff,
/* U+004C "L" */
0xfe, 0x7, 0xf0, 0x3f, 0x80, 0x3c, 0x1, 0xe0,
0xf, 0x0, 0x78, 0x3, 0xc0, 0x1e, 0x0, 0xff,
0xc7, 0xfe, 0x3f, 0xf0,
/* U+004D "M" */
0xfe, 0x1f, 0xfe, 0x7f, 0xfc, 0xf8, 0xff, 0xf1,
0xff, 0xe3, 0xff, 0xc7, 0xff, 0x8f, 0xff, 0x1e,
0xde, 0x3d, 0xbc, 0x7b, 0x78, 0xf4, 0xf0,
/* U+004E "N" */
0xf1, 0xff, 0xe7, 0xff, 0xdf, 0xff, 0xf8, 0xff,
0xe3, 0xff, 0x8f, 0xfe, 0x3f, 0xf8, 0xf7, 0xe3,
0xdf, 0x8f, 0x3e, 0x3c, 0x78,
/* U+004F "O" */
0xfe, 0x3f, 0xfc, 0xff, 0xfb, 0xc7, 0xff, 0x1f,
0xfc, 0x7f, 0xf1, 0xff, 0xc7, 0xff, 0x1e, 0xfc,
0x7b, 0xf1, 0xe7, 0xc7, 0x8f,
/* U+0050 "P" */
0xff, 0xf3, 0xff, 0xef, 0xff, 0xff, 0x8f, 0x1e,
0x3c, 0x7f, 0xf1, 0xff, 0x87, 0xfc, 0x1e, 0x0,
0x78, 0x1, 0xe0, 0x7, 0x80,
/* U+0051 "Q" */
0xf0, 0xff, 0xf9, 0xff, 0xf9, 0xff, 0xff, 0xf0,
0xff, 0xf0, 0xff, 0xf0, 0xff, 0xf0, 0xff, 0xf0,
0xf6, 0xf0, 0xf6, 0xf0, 0xf6, 0xf0, 0xf4, 0xf0,
/* U+0052 "R" */
0xff, 0x81, 0xff, 0x83, 0xff, 0x87, 0x8f, 0xf,
0x1e, 0x1f, 0xfc, 0x3f, 0xf0, 0x7f, 0xc0, 0xff,
0x1, 0xef, 0xff, 0xcf, 0xff, 0x8f, 0xf0,
/* U+0053 "S" */
0x7, 0xfc, 0x1f, 0xf0, 0xff, 0xc3, 0xe0, 0x7,
0xc0, 0x1f, 0x80, 0x3e, 0x0, 0x7c, 0x1, 0xf3,
0xff, 0xcf, 0xff, 0x3f, 0xf8,
/* U+0054 "T" */
0xff, 0xff, 0xff, 0xff, 0x8f, 0x1, 0xe0, 0x3c,
0x7, 0x80, 0xf0, 0x1e, 0x3, 0xc0, 0x78, 0xf,
0x0,
/* U+0055 "U" */
0xf3, 0xde, 0xf3, 0xdc, 0x7f, 0x8f, 0xe1, 0xf8,
0x3f, 0x7, 0xf0, 0xfe, 0x1e, 0xe3, 0xdc, 0x79,
0xc0, 0x1c, 0x3, 0xc0, 0x38, 0x3,
/* U+0056 "V" */
0xff, 0x8f, 0xfc, 0xff, 0xef, 0x1e, 0xf1, 0xef,
0xfc, 0xff, 0xcf, 0xf0, 0xff, 0xf, 0x78, 0xf3,
0xcf, 0x3c, 0x1, 0xe0, 0xf, 0x0, 0xf0, 0x7,
/* U+0057 "W" */
0xf8, 0xf3, 0xff, 0x3c, 0xef, 0xdf, 0x78, 0xf7,
0xfe, 0x1f, 0xff, 0x87, 0xff, 0xc1, 0xff, 0xf0,
0x3f, 0xfc, 0xf, 0xbf, 0x3, 0xe7, 0xc0, 0x79,
0xe0, 0x1e, 0x78,
/* U+0058 "X" */
0xff, 0xc7, 0xff, 0x3f, 0xfc, 0x1, 0xe0, 0x7,
0x3f, 0xf9, 0xff, 0x8f, 0xf0, 0x7f, 0x83, 0xdf,
0xde, 0x7e, 0xf1, 0xf0,
/* U+0059 "Y" */
0xf8, 0x7f, 0xf3, 0xef, 0xef, 0x7, 0xfc, 0x1f,
0xe0, 0x3f, 0x0, 0x7c, 0x1, 0xe0, 0x7, 0x80,
0x1e, 0x0, 0x78, 0x1, 0xe0,
/* U+005A "Z" */
0x1f, 0xf8, 0xff, 0xc7, 0xfe, 0x7b, 0x83, 0xde,
0x1c, 0xf1, 0xe3, 0x8f, 0xfe, 0x7f, 0xf3, 0xff,
0xbe, 0x3d, 0xe0, 0xf0,
/* U+005B "[" */
0xfc, 0xf0, 0xfd, 0xe0, 0xfd, 0xe0, 0x3f, 0xc0,
0x3f, 0x80, 0x3f, 0x0, 0x3f, 0x0, 0x3f, 0x80,
0x3f, 0xc0, 0x3f, 0xff, 0x3d, 0xff, 0x3c, 0xff,
/* U+005C "\\" */
0xff, 0xfe,
/* U+005D "]" */
0x71, 0xe7, 0xef, 0x3c, 0xfd, 0xef, 0xbf, 0xbd,
0xff, 0x83, 0xff, 0xf0, 0x7f, 0xfc, 0xf, 0xff,
0x80, 0xff, 0xf0, 0x1f, 0x7e, 0x3, 0xe7, 0x80,
0x7c, 0xf0, 0x7, 0x9e, 0x0,
/* U+005E "^" */
0x1, 0x0, 0x1f, 0xc0, 0xff, 0xe3, 0xe3, 0xc7,
0x1, 0xdc, 0x1, 0xf8, 0xe3, 0x83, 0xe0, 0x7,
0xc0, 0xf, 0x83, 0x8e, 0x3f, 0x0, 0x77, 0x1,
0xcf, 0x87, 0x8f, 0xfe, 0xf, 0xf8, 0x7, 0xc0,
/* U+005F "_" */
0xfe, 0x3f, 0xf8, 0xff, 0xe3, 0xc7, 0x8f, 0x1e,
0x3c, 0x78, 0xf1, 0xe3, 0xc7, 0x8f, 0x1e, 0x3c,
0x3f, 0xf0, 0xff, 0x80, 0xf8,
/* U+0060 "`" */
0xfc, 0x1f, 0xf8, 0x7f, 0xf0, 0xf0, 0xf1, 0xe1,
0xe3, 0xc3, 0xcf, 0x3, 0xde, 0x7, 0xbc, 0xf,
0xf0, 0xf, 0xe0, 0x1f, 0xc0, 0x3f, 0x0,
/* U+0061 "a" */
0xf, 0xc0, 0x7e, 0x7, 0xf0, 0x3b, 0xc1, 0xce,
0x1e, 0x70, 0xe3, 0xc7, 0xfe, 0x7f, 0xf3, 0xff,
0xde, 0x1e, 0xf0, 0xf0,
/* U+0062 "b" */
0xff, 0xcf, 0xff, 0xff, 0xff, 0xf, 0xf0, 0xff,
0xfe, 0xff, 0xcf, 0xfe, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xfe,
/* U+0063 "c" */
0xf, 0xf3, 0xff, 0x7f, 0xff, 0x80, 0xf0, 0xf,
0x0, 0xf0, 0xf, 0x0, 0xf8, 0x7, 0xff, 0x3f,
0xf0, 0xff,
/* U+0064 "d" */
0xff, 0x8f, 0xfc, 0xff, 0xef, 0x1f, 0xf0, 0xff,
0xf, 0xf0, 0xff, 0xf, 0xf1, 0xff, 0xfe, 0xff,
0xef, 0xf8,
/* U+0065 "e" */
0xff, 0xdf, 0xfb, 0xff, 0x78, 0xf, 0x1, 0xfe,
0x3f, 0xc7, 0x80, 0xf0, 0x1f, 0xff, 0xff, 0xff,
0xf0,
/* U+0066 "f" */
0xff, 0xff, 0xff, 0xff, 0xc0, 0xf0, 0x3f, 0xcf,
0xf3, 0xc0, 0xf0, 0x3c, 0xf, 0x3, 0xc0,
/* U+0067 "g" */
0xf, 0xf3, 0xff, 0x7f, 0xff, 0x80, 0xf0, 0xf,
0x0, 0xf0, 0xff, 0xf, 0xf8, 0xf7, 0xff, 0x3f,
0xf0, 0xff,
/* U+0068 "h" */
0xf3, 0xfc, 0xff, 0x3f, 0xcf, 0xff, 0xff, 0xff,
0xff, 0xcf, 0xf3, 0xfc, 0xff, 0x3f, 0xcf,
/* U+0069 "i" */
0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
/* U+006A "j" */
0x1e, 0x3c, 0x78, 0xe1, 0xc3, 0x87, 0xe, 0xfd,
0xfb, 0xf7, 0xc0,
/* U+006B "k" */
0xf3, 0xde, 0x73, 0xdc, 0x7f, 0x8f, 0xe1, 0xfc,
0x3f, 0x7, 0xf0, 0xfe, 0x1f, 0xff, 0xdf, 0xf9,
0xf0,
/* U+006C "l" */
0xf0, 0x3c, 0xf, 0x3, 0xc0, 0xf0, 0x3c, 0xf,
0x3, 0xc0, 0xf0, 0x3f, 0xff, 0xff, 0xff,
/* U+006D "m" */
0xf0, 0xff, 0x9f, 0xf9, 0xff, 0x9f, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xf6, 0xff, 0x6f, 0xf6,
0xff, 0x4f,
/* U+006E "n" */
0xf1, 0xff, 0x3f, 0xf7, 0xfe, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xf7, 0xfe, 0xff, 0xcf, 0xf8,
0xf0,
/* U+006F "o" */
0x1f, 0x81, 0xff, 0x1f, 0xfd, 0xf1, 0xff, 0x7,
0xf8, 0x3f, 0xc1, 0xfe, 0xf, 0xf8, 0xfb, 0xff,
0x8f, 0xf8, 0x3f, 0x80,
/* U+0070 "p" */
0xff, 0x9f, 0xfb, 0xff, 0xf8, 0xff, 0x1f, 0xff,
0xff, 0xf7, 0xfc, 0xf0, 0x1e, 0x3, 0xc0, 0x78,
0x0,
/* U+0071 "q" */
0x1f, 0xc1, 0xff, 0x1f, 0xfd, 0xf1, 0xff, 0x7,
0xf8, 0x3f, 0xc1, 0xfe, 0xe, 0xfb, 0xfb, 0xff,
0xcf, 0xfe, 0x3f, 0xf0,
/* U+0072 "r" */
0xff, 0x8f, 0xfc, 0xff, 0xef, 0x1e, 0xf1, 0xef,
0xfe, 0xff, 0xcf, 0xf0, 0xff, 0xf, 0x7f, 0xf3,
0xff, 0x1f,
/* U+0073 "s" */
0x3f, 0xdf, 0xf7, 0xfd, 0xe0, 0x7c, 0x1f, 0x83,
0xe0, 0x7c, 0xf, 0x3f, 0xcf, 0xf3, 0xf8,
/* U+0074 "t" */
0xff, 0xff, 0xff, 0xff, 0x8f, 0x1, 0xe0, 0x3c,
0x7, 0x80, 0xf0, 0x1e, 0x3, 0xc0, 0x78, 0xf,
0x0,
/* U+0075 "u" */
0xf1, 0xfe, 0x3f, 0xc7, 0xf8, 0xff, 0x1f, 0xe3,
0xfc, 0x7f, 0x8f, 0xf1, 0xef, 0xf9, 0xff, 0xf,
0x80,
/* U+0076 "v" */
0x78, 0x3d, 0xe1, 0xf7, 0x87, 0xcf, 0x1e, 0x3c,
0x78, 0xf3, 0xe1, 0xcf, 0x7, 0xbc, 0x1f, 0xf0,
0x3f, 0x80, 0xfe, 0x3, 0xf8,
/* U+0077 "w" */
0xf3, 0xcf, 0xf3, 0xcf, 0x73, 0xef, 0x7b, 0xee,
0x7f, 0xee, 0x7f, 0xfe, 0x3f, 0xfe, 0x3f, 0xfc,
0x3f, 0x7c, 0x1f, 0x7c, 0x1e, 0x7c, 0x1e, 0x78,
/* U+0078 "x" */
0xf8, 0x79, 0xe3, 0xc3, 0xdf, 0xf, 0xf8, 0x1f,
0xc0, 0x3f, 0x0, 0xfc, 0x7, 0xf0, 0x3f, 0xe0,
0xf7, 0xc7, 0x8f, 0x3e, 0x1e,
/* U+0079 "y" */
0xf8, 0x7d, 0xf3, 0xe3, 0xcf, 0xf, 0xfc, 0x1f,
0xe0, 0x3f, 0x0, 0xfc, 0x1, 0xe0, 0x7, 0x80,
0x1e, 0x0, 0x78, 0x1, 0xe0,
/* U+007A "z" */
0xff, 0xff, 0xff, 0xfc, 0x1f, 0xf, 0x87, 0xc3,
0xe1, 0xf0, 0xf8, 0x3f, 0xff, 0xff, 0xff,
/* U+007B "{" */
0x1, 0x0, 0xf8, 0xe0, 0x6e, 0x49, 0xe3, 0xea,
0x38, 0xe3, 0xce, 0x3c, 0xe3, 0xce, 0x44, 0xe4,
0x4e, 0x44, 0xe0, 0x4f, 0xff, 0xb7, 0xff, 0xff,
/* U+007C "|" */
0xff, 0xfe,
/* U+007D "}" */
0xf, 0xe0, 0x1d, 0xd0, 0x24, 0xf8, 0x71, 0x14,
0x51, 0x8e, 0xa3, 0xca, 0xa3, 0xc6, 0xa3, 0x42,
0xe5, 0x87, 0x83, 0x82, 0xa3, 0x86, 0x53, 0x92,
0x64, 0x2c, 0x3d, 0xb8, 0x1a, 0x10, 0x7, 0xe0,
/* U+007E "~" */
0xf8, 0x7e, 0xf9, 0xfc, 0xff, 0xf8, 0xff, 0x1,
0xfe, 0x1, 0xf8, 0x1, 0xe0, 0x3, 0xc0, 0x7,
0x80, 0xf, 0x0, 0x1e, 0x0, 0x3c, 0x0
};
/*---------------------
* GLYPH DESCRIPTION
*--------------------*/
static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
{.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */,
{.bitmap_index = 0, .adv_w = 119, .box_w = 1, .box_h = 1, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 1, .adv_w = 109, .box_w = 4, .box_h = 12, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 7, .adv_w = 142, .box_w = 6, .box_h = 5, .ofs_x = 2, .ofs_y = 7},
{.bitmap_index = 11, .adv_w = 254, .box_w = 15, .box_h = 15, .ofs_x = 0, .ofs_y = 1},
{.bitmap_index = 40, .adv_w = 257, .box_w = 15, .box_h = 16, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 70, .adv_w = 240, .box_w = 14, .box_h = 16, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 98, .adv_w = 236, .box_w = 13, .box_h = 20, .ofs_x = 1, .ofs_y = -3},
{.bitmap_index = 131, .adv_w = 81, .box_w = 2, .box_h = 5, .ofs_x = 1, .ofs_y = 7},
{.bitmap_index = 133, .adv_w = 95, .box_w = 6, .box_h = 15, .ofs_x = 1, .ofs_y = -1},
{.bitmap_index = 145, .adv_w = 95, .box_w = 6, .box_h = 15, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 157, .adv_w = 203, .box_w = 11, .box_h = 16, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 179, .adv_w = 182, .box_w = 13, .box_h = 3, .ofs_x = -1, .ofs_y = 9},
{.bitmap_index = 184, .adv_w = 95, .box_w = 5, .box_h = 5, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 188, .adv_w = 95, .box_w = 4, .box_h = 3, .ofs_x = 1, .ofs_y = 3},
{.bitmap_index = 190, .adv_w = 95, .box_w = 4, .box_h = 3, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 192, .adv_w = 95, .box_w = 8, .box_h = 12, .ofs_x = -1, .ofs_y = 0},
{.bitmap_index = 204, .adv_w = 190, .box_w = 11, .box_h = 12, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 221, .adv_w = 133, .box_w = 8, .box_h = 12, .ofs_x = -1, .ofs_y = 0},
{.bitmap_index = 233, .adv_w = 152, .box_w = 9, .box_h = 12, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 247, .adv_w = 152, .box_w = 9, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 261, .adv_w = 180, .box_w = 11, .box_h = 12, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 278, .adv_w = 152, .box_w = 8, .box_h = 12, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 290, .adv_w = 175, .box_w = 11, .box_h = 12, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 307, .adv_w = 152, .box_w = 9, .box_h = 12, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 321, .adv_w = 175, .box_w = 10, .box_h = 12, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 336, .adv_w = 175, .box_w = 10, .box_h = 12, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 351, .adv_w = 95, .box_w = 4, .box_h = 9, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 356, .adv_w = 170, .box_w = 14, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 377, .adv_w = 0, .box_w = 13, .box_h = 3, .ofs_x = -13, .ofs_y = -4},
{.bitmap_index = 382, .adv_w = 182, .box_w = 13, .box_h = 3, .ofs_x = -1, .ofs_y = 0},
{.bitmap_index = 387, .adv_w = 0, .box_w = 13, .box_h = 3, .ofs_x = 0, .ofs_y = -4},
{.bitmap_index = 392, .adv_w = 147, .box_w = 8, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 404, .adv_w = 688, .box_w = 50, .box_h = 26, .ofs_x = -8, .ofs_y = -5},
{.bitmap_index = 567, .adv_w = 189, .box_w = 13, .box_h = 12, .ofs_x = -1, .ofs_y = 0},
{.bitmap_index = 587, .adv_w = 204, .box_w = 15, .box_h = 12, .ofs_x = -2, .ofs_y = 0},
{.bitmap_index = 610, .adv_w = 180, .box_w = 11, .box_h = 12, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 627, .adv_w = 208, .box_w = 15, .box_h = 12, .ofs_x = -2, .ofs_y = 0},
{.bitmap_index = 650, .adv_w = 170, .box_w = 13, .box_h = 12, .ofs_x = -2, .ofs_y = 0},
{.bitmap_index = 670, .adv_w = 166, .box_w = 12, .box_h = 12, .ofs_x = -2, .ofs_y = 0},
{.bitmap_index = 688, .adv_w = 180, .box_w = 12, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 706, .adv_w = 175, .box_w = 13, .box_h = 12, .ofs_x = -2, .ofs_y = 0},
{.bitmap_index = 726, .adv_w = 175, .box_w = 14, .box_h = 12, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 747, .adv_w = 110, .box_w = 9, .box_h = 15, .ofs_x = 0, .ofs_y = -3},
{.bitmap_index = 764, .adv_w = 176, .box_w = 14, .box_h = 12, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 785, .adv_w = 164, .box_w = 13, .box_h = 12, .ofs_x = -2, .ofs_y = 0},
{.bitmap_index = 805, .adv_w = 206, .box_w = 15, .box_h = 12, .ofs_x = -2, .ofs_y = 0},
{.bitmap_index = 828, .adv_w = 179, .box_w = 14, .box_h = 12, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 849, .adv_w = 179, .box_w = 14, .box_h = 12, .ofs_x = -2, .ofs_y = 0},
{.bitmap_index = 870, .adv_w = 188, .box_w = 14, .box_h = 12, .ofs_x = -2, .ofs_y = 0},
{.bitmap_index = 891, .adv_w = 206, .box_w = 16, .box_h = 12, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 915, .adv_w = 194, .box_w = 15, .box_h = 12, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 938, .adv_w = 142, .box_w = 14, .box_h = 12, .ofs_x = -4, .ofs_y = 0},
{.bitmap_index = 959, .adv_w = 134, .box_w = 11, .box_h = 12, .ofs_x = -1, .ofs_y = 0},
{.bitmap_index = 976, .adv_w = 176, .box_w = 11, .box_h = 16, .ofs_x = 1, .ofs_y = -4},
{.bitmap_index = 998, .adv_w = 194, .box_w = 12, .box_h = 16, .ofs_x = 1, .ofs_y = -4},
{.bitmap_index = 1022, .adv_w = 225, .box_w = 18, .box_h = 12, .ofs_x = -2, .ofs_y = 0},
{.bitmap_index = 1049, .adv_w = 194, .box_w = 13, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 1069, .adv_w = 184, .box_w = 14, .box_h = 12, .ofs_x = -1, .ofs_y = 0},
{.bitmap_index = 1090, .adv_w = 189, .box_w = 13, .box_h = 12, .ofs_x = -1, .ofs_y = 0},
{.bitmap_index = 1110, .adv_w = 176, .box_w = 16, .box_h = 12, .ofs_x = -2, .ofs_y = 0},
{.bitmap_index = 1134, .adv_w = 7, .box_w = 5, .box_h = 3, .ofs_x = -2, .ofs_y = 0},
{.bitmap_index = 1136, .adv_w = 225, .box_w = 19, .box_h = 12, .ofs_x = -2, .ofs_y = 0},
{.bitmap_index = 1165, .adv_w = 257, .box_w = 15, .box_h = 17, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 1197, .adv_w = 182, .box_w = 14, .box_h = 12, .ofs_x = -3, .ofs_y = 0},
{.bitmap_index = 1218, .adv_w = 204, .box_w = 15, .box_h = 12, .ofs_x = -2, .ofs_y = -1},
{.bitmap_index = 1241, .adv_w = 189, .box_w = 13, .box_h = 12, .ofs_x = -1, .ofs_y = 0},
{.bitmap_index = 1261, .adv_w = 204, .box_w = 12, .box_h = 12, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1279, .adv_w = 186, .box_w = 12, .box_h = 12, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1297, .adv_w = 208, .box_w = 12, .box_h = 12, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1315, .adv_w = 170, .box_w = 11, .box_h = 12, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1332, .adv_w = 166, .box_w = 10, .box_h = 12, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1347, .adv_w = 186, .box_w = 12, .box_h = 12, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1365, .adv_w = 175, .box_w = 10, .box_h = 12, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1380, .adv_w = 69, .box_w = 4, .box_h = 12, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1386, .adv_w = 110, .box_w = 7, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 1397, .adv_w = 176, .box_w = 11, .box_h = 12, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1414, .adv_w = 164, .box_w = 10, .box_h = 12, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1429, .adv_w = 206, .box_w = 12, .box_h = 12, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1447, .adv_w = 179, .box_w = 11, .box_h = 12, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1464, .adv_w = 210, .box_w = 13, .box_h = 12, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1484, .adv_w = 188, .box_w = 11, .box_h = 12, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1501, .adv_w = 205, .box_w = 13, .box_h = 12, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1521, .adv_w = 194, .box_w = 12, .box_h = 12, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1539, .adv_w = 142, .box_w = 10, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 1554, .adv_w = 171, .box_w = 11, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 1571, .adv_w = 182, .box_w = 11, .box_h = 12, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1588, .adv_w = 204, .box_w = 14, .box_h = 12, .ofs_x = -1, .ofs_y = 0},
{.bitmap_index = 1609, .adv_w = 225, .box_w = 16, .box_h = 12, .ofs_x = -1, .ofs_y = 0},
{.bitmap_index = 1633, .adv_w = 184, .box_w = 14, .box_h = 12, .ofs_x = -1, .ofs_y = 0},
{.bitmap_index = 1654, .adv_w = 184, .box_w = 14, .box_h = 12, .ofs_x = -1, .ofs_y = 0},
{.bitmap_index = 1675, .adv_w = 175, .box_w = 10, .box_h = 12, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1690, .adv_w = 209, .box_w = 12, .box_h = 16, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1714, .adv_w = 7, .box_w = 5, .box_h = 3, .ofs_x = -2, .ofs_y = 9},
{.bitmap_index = 1716, .adv_w = 255, .box_w = 16, .box_h = 16, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 1748, .adv_w = 184, .box_w = 15, .box_h = 12, .ofs_x = -1, .ofs_y = -1}
};
/*---------------------
* CHARACTER MAPPING
*--------------------*/
/*Collect the unicode lists and glyph_id offsets*/
static const lv_font_fmt_txt_cmap_t cmaps[] =
{
{
.range_start = 32, .range_length = 95, .glyph_id_start = 1,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
}
};
/*--------------------
* ALL CUSTOM DATA
*--------------------*/
#if LV_VERSION_CHECK(8, 0, 0)
/*Store all the custom data of the font*/
static lv_font_fmt_txt_glyph_cache_t cache;
static const lv_font_fmt_txt_dsc_t font_dsc = {
#else
static lv_font_fmt_txt_dsc_t font_dsc = {
#endif
.glyph_bitmap = glyph_bitmap,
.glyph_dsc = glyph_dsc,
.cmaps = cmaps,
.kern_dsc = NULL,
.kern_scale = 0,
.cmap_num = 1,
.bpp = 1,
.kern_classes = 0,
.bitmap_format = 0,
#if LV_VERSION_CHECK(8, 0, 0)
.cache = &cache
#endif
};
/*-----------------
* PUBLIC FONT
*----------------*/
/*Initialize a public general font descriptor*/
#if LV_VERSION_CHECK(8, 0, 0)
const lv_font_t ui_font_start16 = {
#else
lv_font_t ui_font_start16 = {
#endif
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
.line_height = 26, /*The maximum line height required by the font*/
.base_line = 5, /*Baseline measured from the bottom of the line*/
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
.subpx = LV_FONT_SUBPX_NONE,
#endif
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
.underline_position = -1,
.underline_thickness = 0,
#endif
.dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
};
#endif /*#if UI_FONT_START16*/

View File

@ -0,0 +1,180 @@
// This file was generated by SquareLine Studio
// SquareLine Studio version: SquareLine Studio 1.4.0
// LVGL version: 8.3.6
// Project name: han-wt32
#include "../ui.h"
#ifndef LV_ATTRIBUTE_MEM_ALIGN
#define LV_ATTRIBUTE_MEM_ALIGN
#endif
// IMAGE DATA: assets/bitcoin-btc-logo-100.png
const LV_ATTRIBUTE_MEM_ALIGN uint8_t ui_img_1552732429_data[] = {
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x03,0xF4,0x83,0x08,0xF4,0x83,0x1F,0xF4,0x83,0x4A,0xF4,0x83,0x70,0xF4,0x83,0x92,0xF4,0x83,0xB1,0xF4,0x83,0xCB,0xF4,0x83,0xDF,0xF4,0x83,0xEF,0xF4,0x83,0xF9,0xF4,0x83,0xFE,0xF4,0x83,0xFE,0xF4,0x83,0xF9,0xF4,0x83,0xEF,0xF4,0x83,0xDF,0xF4,0x83,0xCB,0xF4,0x83,0xB2,0xF4,0x83,0x92,0xF4,0x83,0x70,0xF4,0x83,0x4A,0xF4,0x83,0x20,0xF4,0x83,0x09,0xF4,0x83,0x03,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x01,0xF4,0x83,0x08,0xF4,0x83,0x2C,0xF4,0x83,0x6B,0xF4,0x83,0xA4,0xF4,0x83,0xD9,0xF4,0x83,0xF6,0xF4,0x83,0xFA,0xF4,0x83,0xFE,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFE,0xF4,0x83,0xFA,0xF4,0x83,0xF6,0xF4,0x83,0xD9,0xF4,0x83,0xA4,0xF4,0x83,0x6B,0xF4,0x83,0x2C,0xF4,0x83,0x08,0xF4,0x83,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x01,0xF4,0x83,0x08,0xF4,0x83,0x39,0xF4,0x83,0x87,0xF4,0x83,0xD0,0xF4,0x83,0xF7,0xF4,0x83,0xFD,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFD,0xF4,0x83,0xF7,0xF4,0x83,0xD1,0xF4,0x83,0x88,0xF4,0x83,0x3A,0xF4,0x83,0x08,0xF4,0x83,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x03,0xF4,0x83,0x1D,0xF4,0x83,0x74,0xF4,0x83,0xCC,0xF4,0x83,0xF8,0xF4,0x83,0xFE,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFE,0xF4,0x83,0xF8,0xF4,0x83,0xCD,0xF4,0x83,0x74,0xF4,0x83,0x1D,0xF4,0x83,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x04,0xF4,0x83,0x2F,0xF4,0x83,0x97,0xF4,0x83,0xEC,0xF4,0x83,0xFD,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFD,0xF4,0x83,0xEC,0xF4,0x83,0x97,0xF4,0x83,0x2F,0xF4,0x83,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x03,0xF4,0x83,0x2F,0xF4,0x83,0xA2,0xF4,0x83,0xF3,0xF4,0x83,0xFE,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFE,0xF4,0x83,0xF3,0xF4,0x83,0xA2,0xF4,0x83,0x2F,0xF4,0x83,0x03,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x01,0xF4,0x83,0x1E,0xF4,0x83,0x93,0xF4,0x83,0xF1,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xF1,0xF4,0x83,0x93,0xF4,0x83,0x1E,0xF4,0x83,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x09,0xF4,0x83,0x68,0xF4,0x83,0xE3,0xF4,0x83,0xFE,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFE,0xF4,0x83,0xE3,0xF4,0x83,0x68,0xF4,0x83,0x09,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x01,0xF4,0x83,0x2A,0xF4,0x83,0xB8,0xF4,0x83,0xFB,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFB,0xF4,0x83,0xB8,0xF4,0x83,0x2B,0xF4,0x83,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x05,0xF4,0x83,0x62,0xF4,0x83,0xE8,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xE8,0xF4,0x83,0x62,0xF4,0x83,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x11,0xF4,0x83,0x99,0xF4,0x83,0xF9,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xF9,0xF4,0x83,0x9A,0xF4,0x83,0x12,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x24,0xF4,0x83,0xC1,0xF4,0x83,0xFD,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFD,0xF4,0x83,0xC2,0xF4,0x83,0x24,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x01,
0xF4,0x83,0x37,0xF4,0x83,0xD9,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xD9,0xF4,0x83,0x37,0xF4,0x83,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x01,0xF4,0x83,0x43,0xF4,0x83,0xE5,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xE5,0xF4,0x83,0x43,0xF4,0x83,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x01,0xF4,0x83,0x48,0xF4,0x83,0xEA,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xEA,0xF4,0x83,0x48,0xF4,0x83,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x01,0xF4,0x83,0x43,0xF4,0x83,0xEA,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xEA,0xF4,0x83,0x44,0xF4,0x83,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x37,0xF4,0x83,0xE5,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xE5,0xF4,0x83,0x37,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x24,0xF4,0x83,0xD9,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xD9,0xF4,0x83,0x24,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x11,0xF4,0x83,0xC1,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xFC,0xEA,0xFF,0xFD,0x0B,0xFF,0xF4,0xA6,0xFF,0xF4,0xA4,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xC2,0xF4,0x83,0x12,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x05,0xF4,0x83,0x99,0xF4,0x83,0xFD,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xFE,0x76,0xFF,0xFF,0xDF,0xFF,0xFF,0x7C,0xFF,0xFE,0xD8,0xFF,0xFD,0xF3,0xFF,0xFD,0x0B,0xFF,0xF4,0xA4,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFD,0xF4,0x83,0x99,0xF4,0x83,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x01,0xF4,0x83,0x62,0xF4,0x83,0xF9,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xA5,0xFF,
0xFF,0x3A,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xBE,0xFF,0xFC,0xE9,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xA5,0xFF,0xF4,0xA4,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xF9,0xF4,0x83,0x62,0xF4,0x83,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x2B,0xF4,0x83,0xE8,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xC8,0xFF,0xFF,0xBE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x5C,0xFF,0xF4,0xA6,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xA4,0xFF,0xFE,0x96,0xFF,0xFE,0xD8,0xFF,0xFE,0x13,0xFF,0xFD,0x2C,0xFF,0xF4,0xA6,0xFF,0xF4,0xA4,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xE8,0xF4,0x83,0x2B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x09,0xF4,0x83,0xB8,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xFD,0x90,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xB8,0xFF,0xF4,0xA4,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xC7,0xFF,0xFF,0x9D,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xFF,0xFF,0x7C,0xFF,0xFE,0x76,0xFF,0xF4,0xA5,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xB8,0xF4,0x83,0x09,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x01,0xF4,0x83,0x68,0xF4,0x83,0xFB,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xFE,0x76,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0xF2,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xFD,0x4E,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xF9,0xFF,0xF4,0xA4,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFB,0xF4,0x83,0x68,0xF4,0x83,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x1E,0xF4,0x83,0xE3,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xA6,0xFF,0xF4,0xC7,0xFF,0xF4,0xA4,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xA5,0xFF,0xFF,0x1A,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xFF,0xFD,0x0B,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xFE,0x35,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x34,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xE3,0xF4,0x83,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x03,0xF4,0x83,0x93,0xF4,0x83,0xFE,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xA3,0xFF,0xFE,0x97,0xFF,0xFF,0x9D,0xFF,0xFE,0xF9,0xFF,0xFE,0x34,0xFF,0xFD,0x4D,0xFF,0xF4,0xC7,0xFF,0xF4,0xA4,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xC8,0xFF,0xFF,0xBE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x5C,0xFF,0xF4,0xA6,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xA4,0xFF,0xFE,0xF9,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x4D,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFE,0xF4,0x83,0x93,0xF4,0x83,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x2F,0xF4,0x83,0xF1,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xA6,0xFF,0xFF,0x5B,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x9D,0xFF,0xFE,0xF9,0xFF,0xFE,0x34,0xFF,0xFD,0x2C,0xFF,0xF4,0xC7,0xFF,0xF4,0xA4,0xFF,0xFD,0x90,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xB8,0xFF,0xF4,0xA4,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xC7,0xFF,0xFF,0x9D,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x9D,0xFF,0xF4,0xC7,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xF1,0xF4,0x83,0x2F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x04,0xF4,0x83,0xA2,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xFC,0xEA,0xFF,0xFF,0xDE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x9D,0xFF,0xFE,0xF9,0xFF,0xFF,0x1A,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFD,0xF2,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xFD,0x4E,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xF9,0xFF,0xF4,0xA4,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xA2,0xF4,0x83,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x2F,0xF4,0x83,0xF3,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xFD,0xD2,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x8F,0xFF,0xF4,0xC7,0xFF,0xF4,0xA4,0xFF,0xF4,0x83,0xFF,0xFE,0x34,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x34,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xF3,0xF4,0x83,0x2F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x03,0xF4,0x83,0x97,0xF4,0x83,0xFE,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xA3,0xFF,0xFE,0x97,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x9D,0xFF,0xFE,0xF9,0xFF,0xFE,0x35,0xFF,0xFF,0x3B,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x4D,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFE,0xF4,0x83,0x97,0xF4,0x83,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x1D,0xF4,0x83,0xEC,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xA5,0xFF,0xFE,0xB8,0xFF,0xFF,0xDE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x9D,0xFF,0xF4,0xC7,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xEC,0xF4,0x83,0x1D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x01,0xF4,0x83,0x74,0xF4,0x83,0xFD,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xA5,0xFF,0xFC,0xE9,0xFF,
0xFD,0xB1,0xFF,0xFE,0x97,0xFF,0xFF,0x5C,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x9D,0xFF,0xFD,0xF3,0xFF,0xFC,0xC8,0xFF,0xF4,0xA4,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFD,0xF4,0x83,0x74,0xF4,0x83,0x01,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x08,0xF4,0x83,0xCD,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xA6,0xFF,0xFD,0xF3,0xFF,0xFF,0xDF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x9D,0xFF,
0xFE,0x97,0xFF,0xFD,0x2C,0xFF,0xF4,0xA4,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xCC,0xF4,0x83,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x39,0xF4,0x83,0xF8,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xA4,0xFF,0xFE,0xD8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDE,0xFF,0xFE,0x97,0xFF,0xFC,0xEA,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xF8,0xF4,0x83,0x39,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x01,0xF4,0x83,0x87,0xF4,0x83,0xFE,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xFE,0x35,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x9D,0xFF,0xFD,0xD1,0xFF,0xF4,0xA4,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFE,0xF4,0x83,0x87,0xF4,0x83,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x08,0xF4,0x83,0xD0,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xA4,0xFF,0xFE,0xB8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xD8,0xFF,0xFE,0x55,0xFF,0xFE,0xF9,0xFF,0xFF,0x9D,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xFF,0xFE,0x55,0xFF,0xF4,0xA5,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xD1,0xF4,0x83,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x2C,0xF4,0x83,0xF7,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xA6,0xFF,0xFF,0x5C,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x8F,0xFF,0xF4,0x83,0xFF,0xF4,0xA4,0xFF,0xF4,0xC7,0xFF,0xFD,0x4E,0xFF,0xFE,0x55,0xFF,0xFF,0x5B,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x55,0xFF,0xF4,0xA4,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xF7,0xF4,0x83,0x2C,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x6B,0xF4,0x83,0xFD,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xFD,0x0A,0xFF,0xFF,0xDF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xBE,0xFF,0xF4,0xC8,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xA6,0xFF,0xFD,0x8F,0xFF,0xFF,0x1A,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xFF,0xFD,0x90,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFD,0xF4,0x83,0x6A,0x00,0x00,0x00,0xF4,0x83,0x03,0xF4,0x83,0xA4,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xFD,0xF2,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1A,0xFF,0xF4,0xA5,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xA5,0xFF,0xFD,0xF2,0xFF,0xFF,0xBE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x5B,0xFF,0xF4,0xA6,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xA4,0xF4,0x83,0x03,0xF4,0x83,0x09,0xF4,0x83,0xD9,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xA4,0xFF,0xFE,0xB8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x76,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xFD,0x90,0xFF,0xFF,0xDE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x6F,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xD9,0xF4,0x83,0x08,0xF4,0x83,0x20,0xF4,0x83,0xF6,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xA6,0xFF,0xFF,0x5C,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x8F,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xA4,0xFF,0xFE,0x76,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x55,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xF6,0xF4,0x83,0x1F,0xF4,0x83,0x4A,0xF4,0x83,0xFA,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xFD,0x0A,0xFF,0xFF,0xDF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xBE,0xFF,0xF4,0xC8,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xFD,0x4E,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xB8,0xFF,0xF4,0xA4,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFA,0xF4,0x83,0x4A,0xF4,0x83,0x70,0xF4,0x83,0xFE,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xFD,0xF2,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1A,0xFF,0xF4,0xA5,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xFD,0x0A,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xD8,0xFF,0xF4,0xA4,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFE,0xF4,0x83,0x70,0xF4,0x83,0x92,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xA4,0xFF,0xFE,0xB8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x76,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xFD,0x6F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x97,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0x92,0xF4,0x83,0xB1,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xA6,0xFF,0xFF,0x5B,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x90,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xA4,0xFF,0xFE,0x97,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x14,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xB1,0xF4,0x83,0xCB,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xFD,0x0A,0xFF,0xFF,0xDE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xBE,0xFF,0xFC,0xEA,0xFF,0xF4,0xA4,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xFD,0x6E,0xFF,0xFF,0xBE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x4D,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xCB,0xF4,0x83,0xDF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xFD,0xD2,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x9D,0xFF,0xFE,0xF9,0xFF,0xFE,0x14,0xFF,0xFD,0x4D,0xFF,0xF4,0xC7,0xFF,0xF4,0xA6,0xFF,0xF4,0xA5,0xFF,0xF4,0xA4,0xFF,0xF4,0xA4,0xFF,0xF4,0xA5,0xFF,0xF4,0xC8,0xFF,0xFE,0x13,0xFF,0xFF,0xBD,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x5B,0xFF,
0xF4,0xA6,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xDF,0xF4,0x83,0xEF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0xA4,0xFF,0xFE,0xB7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xBE,0xFF,0xFF,0x5B,0xFF,0xFF,0x1A,0xFF,0xFE,0xD9,0xFF,0xFE,0xD9,0xFF,0xFF,0x3A,0xFF,0xFF,0xBE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x13,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xEF,
0xF4,0x83,0xF9,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xA6,0xFF,0xFF,0x5C,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1A,0xFF,0xF4,0xA6,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xF9,0xF4,0x83,0xFE,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xFD,0x0A,0xFF,0xFF,0xDF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x5B,0xFF,0xFD,0x0B,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFE,0xF4,0x83,0xFE,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xFD,0xD2,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xFF,0xFE,0xB8,0xFF,0xFC,0xE9,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFE,0xF4,0x83,0xF9,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xA3,0xFF,0xFE,0xB7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1A,0xFF,0xFE,0xF9,0xFF,0xFF,0x9D,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDE,0xFF,0xFE,0x97,0xFF,0xFD,0x4D,0xFF,0xF4,0xA4,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xF9,0xF4,0x83,0xEF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xA6,0xFF,0xFF,0x5C,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x90,0xFF,0xF4,0xA5,0xFF,
0xF4,0xC7,0xFF,0xFD,0x2D,0xFF,0xFE,0x14,0xFF,0xFE,0xF9,0xFF,0xFF,0xBE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3B,0xFF,0xFD,0x6E,0xFF,0xF4,0xA3,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xEF,0xF4,0x83,0xDF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xFD,0x0A,0xFF,0xFF,0xDF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xBE,0xFF,0xF4,0xC8,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xA4,0xFF,0xF4,0xC8,0xFF,0xFD,0xD1,0xFF,0xFE,0xF9,0xFF,0xFF,0xDE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xBE,0xFF,0xFD,0xF3,0xFF,0xF4,0xA4,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xDF,0xF4,0x83,0xCB,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xFD,0xD2,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1A,0xFF,0xF4,0xA5,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xA5,0xFF,0xFD,0x2D,0xFF,0xFE,0xD8,0xFF,0xFF,0xDF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xFF,0xFD,0xF3,0xFF,0xF4,0xA3,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xCB,0xF4,0x83,0xB1,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xA3,0xFF,0xFE,0xB7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x76,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xA5,0xFF,0xFD,0xB1,0xFF,0xFF,0x9D,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xBE,0xFF,0xFD,0x4E,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xB1,0xF4,0x83,0x92,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xA6,0xFF,0xFF,0x5C,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x90,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xFD,0x4D,0xFF,0xFF,0x9D,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xF9,0xFF,0xF4,0xA5,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0x92,0xF4,0x83,0x70,0xF4,0x83,0xFE,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xFD,0x0A,0xFF,0xFF,0xDF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xBE,0xFF,0xF4,0xC8,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xFD,0xF3,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDE,0xFF,0xFD,0x0B,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFD,0xF4,0x83,0x6F,0xF4,0x83,0x4A,0xF4,0x83,0xFA,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xFD,0xD2,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1A,0xFF,0xF4,0xA5,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xC7,0xFF,0xFF,0x9D,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0xD2,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFA,0xF4,0x83,0x4A,0xF4,0x83,0x20,0xF4,0x83,0xF6,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xC7,0xFF,0xFE,0x56,0xFF,0xFD,0xB1,0xFF,0xFC,0xE9,0xFF,0xF4,0xA5,0xFF,0xF4,0xA3,0xFF,0xF4,0xC6,0xFF,0xFE,0xFA,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x76,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xA5,0xFF,0xFF,0x3B,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x55,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xF6,0xF4,0x83,0x1F,0xF4,0x83,0x09,0xF4,0x83,0xD9,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xFD,0xF3,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDE,0xFF,0xFF,0x3B,0xFF,0xFE,0xB8,0xFF,0xFF,0x3B,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x90,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xA6,0xFF,0xFF,0x5C,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x55,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xD9,0xF4,0x83,0x08,0xF4,0x83,0x03,0xF4,0x83,0xA4,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xA6,0xFF,0xFF,0x3B,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xBE,0xFF,
0xF4,0xC8,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xFC,0xEA,0xFF,0xFF,0xDE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x14,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xA4,0xF4,0x83,0x03,0x00,0x00,0x00,0xF4,0x83,0x6B,0xF4,0x83,0xFD,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xFD,0x8F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3A,0xFF,0xF4,0xA5,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xA4,0xFF,0xFE,0x76,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x8F,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFD,0xF4,0x83,0x6A,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x2C,0xF4,0x83,0xF7,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xA4,0xFF,0xFE,0xD9,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x9D,0xFF,0xFE,0x76,0xFF,0xFD,0x90,0xFF,0xF4,0xC8,0xFF,0xF4,0xA5,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xA5,0xFF,0xFD,0xF3,0xFF,0xFF,0xDF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xBE,0xFF,0xF4,0xC8,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xF7,0xF4,0x83,0x2C,0x00,0x00,0x00,
0x00,0x00,0x00,0xF4,0x83,0x08,0xF4,0x83,0xD0,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xFD,0x0B,0xFF,0xFF,0xDE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xBE,0xFF,0xFF,0x3B,0xFF,0xFE,0x97,0xFF,0xFD,0xF3,0xFF,0xFD,0x6E,0xFF,0xFC,0xE9,0xFF,0xF4,0xC7,0xFF,0xF4,0xC7,0xFF,0xF4,0xC7,0xFF,0xFD,0x0B,0xFF,0xFD,0xF3,0xFF,0xFF,0x1A,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xF9,0xFF,0xF4,0xA5,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xD0,0xF4,0x83,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x01,0xF4,0x83,0x87,0xF4,0x83,0xFE,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xFD,0xB1,0xFF,0xFF,0x9D,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xFF,0xFF,0xBE,0xFF,0xFF,0xBE,0xFF,0xFF,0xDE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0xF2,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFE,0xF4,0x83,0x87,0xF4,0x83,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x39,0xF4,0x83,0xF8,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xA4,0xFF,0xF4,0xC7,0xFF,0xFD,0x2D,0xFF,0xFE,0x14,0xFF,0xFE,0xD9,0xFF,0xFF,0x9D,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7C,0xFF,0xF4,0xC7,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xF8,0xF4,0x83,0x39,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x08,0xF4,0x83,0xCC,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xA4,0xFF,0xF4,0xC7,0xFF,0xFD,0x2D,0xFF,0xFE,0x14,0xFF,0xFE,0xF9,0xFF,0xFF,0x9D,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x13,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xCC,0xF4,0x83,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x01,0xF4,0x83,0x74,0xF4,0x83,0xFD,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xA4,0xFF,0xF4,0xC7,0xFF,0xFD,0x4E,0xFF,0xFF,0x7C,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1A,0xFF,0xF4,0xA6,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFD,0xF4,0x83,0x74,0xF4,0x83,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x1D,0xF4,0x83,0xEC,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xC7,0xFF,0xFF,0xBE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xFF,0xFF,0xDE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x5C,0xFF,0xFD,0x0A,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xEC,0xF4,0x83,0x1D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x03,0xF4,0x83,0x97,0xF4,0x83,0xFE,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xFD,0x6F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFE,0xD8,0xFF,0xFC,0xEA,0xFF,0xFD,0xD1,0xFF,0xFE,0x97,0xFF,0xFF,0x5C,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1A,0xFF,0xFD,0x0B,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFE,0xF4,0x83,0x97,0xF4,0x83,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0xF4,0x83,0x2F,0xF4,0x83,0xF3,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xFE,0x55,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x13,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xA3,0xFF,0xFD,0x4D,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7D,0xFF,0xFE,0x14,0xFF,0xF4,0xA6,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xF3,0xF4,0x83,0x2F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x04,0xF4,0x83,0xA2,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xA5,0xFF,0xFF,0x1A,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xFF,0xFD,0x2C,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xFE,0x14,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x97,0xFF,0xFE,0x13,0xFF,0xFE,0x97,0xFF,0xFE,0xF9,0xFF,0xFF,0x3B,0xFF,0xFF,0x7C,0xFF,0xFF,0x9D,0xFF,0xFF,0xBE,0xFF,0xFF,0x9D,0xFF,0xFF,0x7C,0xFF,0xFF,0x1A,0xFF,0xFE,0x97,0xFF,0xFD,0xB1,0xFF,0xF4,0xC7,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xA2,0xF4,0x83,0x04,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x2F,0xF4,0x83,0xF1,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xC7,0xFF,0xFF,0xBE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7C,0xFF,0xF4,0xA6,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xA4,0xFF,0xFE,0xD9,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x4E,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xA4,0xFF,0xF4,0xA6,0xFF,0xF4,0xA6,0xFF,0xF4,0xC7,0xFF,0xF4,0xC7,0xFF,0xF4,0xC7,0xFF,
0xF4,0xA6,0xFF,0xF4,0xA5,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xF1,0xF4,0x83,0x2E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x03,0xF4,0x83,0x92,0xF4,0x83,0xFE,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xFD,0x6F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xD8,0xFF,0xF4,0xA4,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xC7,0xFF,0xFF,0x7D,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x9D,0xFF,0xF4,0xC7,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFE,0xF4,0x83,0x93,0xF4,0x83,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x1E,0xF4,0x83,0xE3,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xFE,0x55,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x13,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xFD,0x2C,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xF9,0xFF,0xF4,0xA5,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xE3,0xF4,0x83,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x01,0xF4,0x83,0x68,0xF4,0x83,0xFB,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xA5,0xFF,0xFF,0x1A,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xFF,0xFD,0x2C,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xFE,0x14,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x35,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFB,0xF4,0x83,0x68,0xF4,0x83,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x09,0xF4,0x83,0xB8,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xA4,0xFF,0xFE,0x14,0xFF,0xFF,0x1A,0xFF,0xFF,0xBE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7C,0xFF,0xF4,0xA6,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xA4,0xFF,
0xFE,0xD9,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x6E,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xB8,0xF4,0x83,0x09,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0xF4,0x83,0x2B,0xF4,0x83,0xE8,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xA5,0xFF,0xF4,0xC7,0xFF,0xFD,0x6F,0xFF,0xFE,0x55,0xFF,0xFE,0x14,0xFF,0xF4,0xA4,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xC7,0xFF,0xFF,0x7D,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x9D,0xFF,0xF4,0xC7,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xE8,0xF4,0x83,0x2B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x01,0xF4,0x83,0x62,0xF4,0x83,0xF9,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xA4,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xFC,0xEA,0xFF,0xFF,0x9D,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xF9,0xFF,0xF4,0xA5,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xF9,0xF4,0x83,0x62,0xF4,0x83,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x05,0xF4,0x83,0x99,0xF4,0x83,0xFD,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xA3,0xFF,0xF4,0xC7,0xFF,0xFD,0x6F,0xFF,0xFE,0x55,0xFF,0xFF,0x1A,0xFF,0xFF,0x9D,0xFF,0xFE,0x35,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFD,0xF4,0x83,0x99,0xF4,0x83,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x12,0xF4,0x83,0xC2,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0xA5,0xFF,0xF4,0xC7,0xFF,0xF4,0xA6,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xC2,0xF4,0x83,0x11,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x24,0xF4,0x83,0xD9,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xD9,0xF4,0x83,0x24,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x37,0xF4,0x83,0xE5,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xE5,0xF4,0x83,0x37,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x01,0xF4,0x83,0x43,0xF4,0x83,0xEA,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xEA,0xF4,0x83,0x43,0xF4,0x83,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0xF4,0x83,0x01,0xF4,0x83,0x48,0xF4,0x83,0xEA,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xEA,0xF4,0x83,0x48,0xF4,0x83,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x01,0xF4,0x83,0x43,0xF4,0x83,0xE5,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xE5,0xF4,0x83,0x43,0xF4,0x83,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x01,0xF4,0x83,0x37,0xF4,0x83,0xD9,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xD9,0xF4,0x83,0x37,0xF4,0x83,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x24,0xF4,0x83,0xC1,0xF4,0x83,0xFD,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFD,0xF4,0x83,0xC2,0xF4,0x83,0x24,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x11,0xF4,0x83,0x99,0xF4,0x83,0xF9,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xF9,0xF4,0x83,0x99,0xF4,0x83,0x12,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x05,0xF4,0x83,0x61,0xF4,0x83,0xE8,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xE8,0xF4,0x83,0x62,0xF4,0x83,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x01,0xF4,0x83,0x2B,0xF4,0x83,0xB8,0xF4,0x83,0xFB,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFB,0xF4,0x83,0xB8,0xF4,0x83,0x2B,0xF4,0x83,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x09,0xF4,0x83,0x68,0xF4,0x83,0xE3,0xF4,0x83,0xFE,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFE,0xF4,0x83,0xE3,0xF4,0x83,0x69,0xF4,0x83,0x09,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x01,0xF4,0x83,0x1E,0xF4,0x83,0x92,0xF4,0x83,0xF1,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xF1,0xF4,0x83,0x93,0xF4,0x83,0x1E,0xF4,0x83,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x03,0xF4,0x83,0x2E,0xF4,0x83,0xA1,0xF4,0x83,0xF3,0xF4,0x83,0xFE,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFE,0xF4,0x83,0xF3,
0xF4,0x83,0xA2,0xF4,0x83,0x2F,0xF4,0x83,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x04,0xF4,0x83,0x2F,0xF4,0x83,0x97,0xF4,0x83,0xEC,0xF4,0x83,0xFD,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFD,0xF4,0x83,0xEC,0xF4,0x83,0x97,0xF4,0x83,0x2F,0xF4,0x83,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x03,0xF4,0x83,0x1D,0xF4,0x83,0x73,0xF4,0x83,0xCC,0xF4,0x83,0xF8,0xF4,0x83,0xFE,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFE,0xF4,0x83,0xF8,0xF4,0x83,0xCD,0xF4,0x83,0x74,0xF4,0x83,0x1D,0xF4,0x83,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x01,0xF4,0x83,0x08,0xF4,0x83,0x39,0xF4,0x83,0x87,0xF4,0x83,0xD0,0xF4,0x83,0xF7,0xF4,0x83,0xFD,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFD,0xF4,0x83,0xF7,0xF4,0x83,0xD1,0xF4,0x83,0x87,0xF4,0x83,0x39,0xF4,0x83,0x08,0xF4,0x83,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x01,0xF4,0x83,0x08,0xF4,0x83,0x2C,0xF4,0x83,0x6A,0xF4,0x83,0xA3,0xF4,0x83,0xD9,0xF4,0x83,0xF6,0xF4,0x83,0xFA,0xF4,0x83,0xFE,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,0xF4,0x83,0xFF,
0xF4,0x83,0xFF,0xF4,0x83,0xFD,0xF4,0x83,0xFA,0xF4,0x83,0xF6,0xF4,0x83,0xD9,0xF4,0x83,0xA4,0xF4,0x83,0x6B,0xF4,0x83,0x2C,0xF4,0x83,0x08,0xF4,0x83,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF4,0x83,0x03,0xF4,0x83,0x08,0xF4,0x83,0x1F,0xF4,0x83,0x4A,0xF4,0x83,0x70,0xF4,0x83,0x91,0xF4,0x83,0xB1,0xF4,0x83,0xCB,0xF4,0x83,0xDF,0xF4,0x83,0xEF,0xF4,0x83,0xF9,0xF4,0x83,0xFE,0xF4,0x83,0xFE,0xF4,0x83,0xF9,0xF4,0x83,0xEF,0xF4,0x83,0xDF,0xF4,0x83,0xCB,0xF4,0x83,0xB1,0xF4,0x83,0x92,0xF4,0x83,0x6F,0xF4,0x83,0x4A,0xF4,0x83,0x20,0xF4,0x83,0x09,0xF4,0x83,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
};
const lv_img_dsc_t ui_img_1552732429 = {
.header.always_zero = 0,
.header.w = 100,
.header.h = 100,
.data_size = sizeof(ui_img_1552732429_data),
.header.cf = LV_IMG_CF_TRUE_COLOR_ALPHA,
.data = ui_img_1552732429_data
};

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,17 @@
{
"name": "HANSOLOminerv2",
"description": "Libs for HAN SOLOminer v2",
"keywords": "hansolominer,bitcoin",
"authors": {
"name": "valerio vaccaro",
"url": "https://github.com/valerio-vaccaro",
"maintainer": true
},
"version": "0.0.1",
"frameworks": ["arduino", "espidf"],
"platforms": ["espressif32"],
"headers": "ui.h",
"build": {
"libArchive": false
}
}

759
lib/hansolov2/lv_conf.h Normal file
View File

@ -0,0 +1,759 @@
/**
* @file lv_conf.h
* Configuration file for v8.3.0
*/
/*
* Copy this file as `lv_conf.h`
* 1. simply next to the `lvgl` folder
* 2. or any other places and
* - define `LV_CONF_INCLUDE_SIMPLE`
* - add the path as include path
*/
/* clang-format off */
#if 1 /*Set it to "1" to enable content*/
#ifndef LV_CONF_H
#define LV_CONF_H
#include <stdint.h>
/*====================
COLOR SETTINGS
*====================*/
/*Color depth: 1 (1 byte per pixel), 8 (RGB332), 16 (RGB565), 32 (ARGB8888)*/
#define LV_COLOR_DEPTH 16
/*Swap the 2 bytes of RGB565 color. Useful if the display has an 8-bit interface (e.g. SPI)*/
#define LV_COLOR_16_SWAP 1
/*Enable features to draw on transparent background.
*It's required if opa, and transform_* style properties are used.
*Can be also used if the UI is above another layer, e.g. an OSD menu or video player.*/
#define LV_COLOR_SCREEN_TRANSP 0
/* Adjust color mix functions rounding. GPUs might calculate color mix (blending) differently.
* 0: round down, 64: round up from x.75, 128: round up from half, 192: round up from x.25, 254: round up */
#define LV_COLOR_MIX_ROUND_OFS 0
/*Images pixels with this color will not be drawn if they are chroma keyed)*/
#define LV_COLOR_CHROMA_KEY lv_color_hex(0x00ff00) /*pure green*/
/*=========================
MEMORY SETTINGS
*=========================*/
/*1: use custom malloc/free, 0: use the built-in `lv_mem_alloc()` and `lv_mem_free()`*/
#define LV_MEM_CUSTOM 1
#if LV_MEM_CUSTOM == 0
/*Size of the memory available for `lv_mem_alloc()` in bytes (>= 2kB)*/
//#define LV_MEM_SIZE (64U * 1024U) /*[bytes]*/
/*Set an address for the memory pool instead of allocating it as a normal array. Can be in external SRAM too.*/
#define LV_MEM_ADR 0 /*0: unused*/
/*Instead of an address give a memory allocator that will be called to get a memory pool for LVGL. E.g. my_malloc*/
#if LV_MEM_ADR == 0
#undef LV_MEM_POOL_INCLUDE
#undef LV_MEM_POOL_ALLOC
#endif
#else /*LV_MEM_CUSTOM*/
#define LV_MEM_CUSTOM_INCLUDE <stdlib.h> /*Header for the dynamic memory function*/
#define LV_MEM_CUSTOM_ALLOC malloc
#define LV_MEM_CUSTOM_FREE free
#define LV_MEM_CUSTOM_REALLOC realloc
#endif /*LV_MEM_CUSTOM*/
/*Number of the intermediate memory buffer used during rendering and other internal processing mechanisms.
*You will see an error log message if there wasn't enough buffers. */
#define LV_MEM_BUF_MAX_NUM 16
/*Use the standard `memcpy` and `memset` instead of LVGL's own functions. (Might or might not be faster).*/
#define LV_MEMCPY_MEMSET_STD 0
/*====================
HAL SETTINGS
*====================*/
/*Default display refresh period. LVG will redraw changed areas with this period time*/
#define LV_DISP_DEF_REFR_PERIOD 30 /*[ms]*/
/*Input device read period in milliseconds*/
#define LV_INDEV_DEF_READ_PERIOD 30 /*[ms]*/
/*Use a custom tick source that tells the elapsed time in milliseconds.
*It removes the need to manually update the tick with `lv_tick_inc()`)*/
#define LV_TICK_CUSTOM 1
#if LV_TICK_CUSTOM
#define LV_TICK_CUSTOM_INCLUDE "Arduino.h" /*Header for the system time function*/
#define LV_TICK_CUSTOM_SYS_TIME_EXPR (millis()) /*Expression evaluating to current system time in ms*/
#endif /*LV_TICK_CUSTOM*/
/*Default Dot Per Inch. Used to initialize default sizes such as widgets sized, style paddings.
*(Not so important, you can adjust it to modify default sizes and spaces)*/
#define LV_DPI_DEF 130 /*[px/inch]*/
/*=======================
* FEATURE CONFIGURATION
*=======================*/
/*-------------
* Drawing
*-----------*/
/*Enable complex draw engine.
*Required to draw shadow, gradient, rounded corners, circles, arc, skew lines, image transformations or any masks*/
#define LV_DRAW_COMPLEX 1
#if LV_DRAW_COMPLEX != 0
/*Allow buffering some shadow calculation.
*LV_SHADOW_CACHE_SIZE is the max. shadow size to buffer, where shadow size is `shadow_width + radius`
*Caching has LV_SHADOW_CACHE_SIZE^2 RAM cost*/
#define LV_SHADOW_CACHE_SIZE 0
/* Set number of maximally cached circle data.
* The circumference of 1/4 circle are saved for anti-aliasing
* radius * 4 bytes are used per circle (the most often used radiuses are saved)
* 0: to disable caching */
#define LV_CIRCLE_CACHE_SIZE 4
#endif /*LV_DRAW_COMPLEX*/
/**
* "Simple layers" are used when a widget has `style_opa < 255` to buffer the widget into a layer
* and blend it as an image with the given opacity.
* Note that `bg_opa`, `text_opa` etc don't require buffering into layer)
* The widget can be buffered in smaller chunks to avoid using large buffers.
*
* - LV_LAYER_SIMPLE_BUF_SIZE: [bytes] the optimal target buffer size. LVGL will try to allocate it
* - LV_LAYER_SIMPLE_FALLBACK_BUF_SIZE: [bytes] used if `LV_LAYER_SIMPLE_BUF_SIZE` couldn't be allocated.
*
* Both buffer sizes are in bytes.
* "Transformed layers" (where transform_angle/zoom properties are used) use larger buffers
* and can't be drawn in chunks. So these settings affects only widgets with opacity.
*/
#define LV_LAYER_SIMPLE_BUF_SIZE (24 * 1024)
#define LV_LAYER_SIMPLE_FALLBACK_BUF_SIZE (3 * 1024)
/*Default image cache size. Image caching keeps the images opened.
*If only the built-in image formats are used there is no real advantage of caching. (I.e. if no new image decoder is added)
*With complex image decoders (e.g. PNG or JPG) caching can save the continuous open/decode of images.
*However the opened images might consume additional RAM.
*0: to disable caching*/
#define LV_IMG_CACHE_DEF_SIZE 0
/*Number of stops allowed per gradient. Increase this to allow more stops.
*This adds (sizeof(lv_color_t) + 1) bytes per additional stop*/
#define LV_GRADIENT_MAX_STOPS 2
/*Default gradient buffer size.
*When LVGL calculates the gradient "maps" it can save them into a cache to avoid calculating them again.
*LV_GRAD_CACHE_DEF_SIZE sets the size of this cache in bytes.
*If the cache is too small the map will be allocated only while it's required for the drawing.
*0 mean no caching.*/
#define LV_GRAD_CACHE_DEF_SIZE 0
/*Allow dithering the gradients (to achieve visual smooth color gradients on limited color depth display)
*LV_DITHER_GRADIENT implies allocating one or two more lines of the object's rendering surface
*The increase in memory consumption is (32 bits * object width) plus 24 bits * object width if using error diffusion */
#define LV_DITHER_GRADIENT 0
#if LV_DITHER_GRADIENT
/*Add support for error diffusion dithering.
*Error diffusion dithering gets a much better visual result, but implies more CPU consumption and memory when drawing.
*The increase in memory consumption is (24 bits * object's width)*/
#define LV_DITHER_ERROR_DIFFUSION 0
#endif
/*Maximum buffer size to allocate for rotation.
*Only used if software rotation is enabled in the display driver.*/
#define LV_DISP_ROT_MAX_BUF (10*1024)
/*-------------
* GPU
*-----------*/
/*Use Arm's 2D acceleration library Arm-2D */
#define LV_USE_GPU_ARM2D 0
/*Use STM32's DMA2D (aka Chrom Art) GPU*/
#define LV_USE_GPU_STM32_DMA2D 0
#if LV_USE_GPU_STM32_DMA2D
/*Must be defined to include path of CMSIS header of target processor
e.g. "stm32f769xx.h" or "stm32f429xx.h"*/
#define LV_GPU_DMA2D_CMSIS_INCLUDE
#endif
/*Use SWM341's DMA2D GPU*/
#define LV_USE_GPU_SWM341_DMA2D 0
#if LV_USE_GPU_SWM341_DMA2D
#define LV_GPU_SWM341_DMA2D_INCLUDE "SWM341.h"
#endif
/*Use NXP's PXP GPU iMX RTxxx platforms*/
#define LV_USE_GPU_NXP_PXP 0
#if LV_USE_GPU_NXP_PXP
/*1: Add default bare metal and FreeRTOS interrupt handling routines for PXP (lv_gpu_nxp_pxp_osa.c)
* and call lv_gpu_nxp_pxp_init() automatically during lv_init(). Note that symbol SDK_OS_FREE_RTOS
* has to be defined in order to use FreeRTOS OSA, otherwise bare-metal implementation is selected.
*0: lv_gpu_nxp_pxp_init() has to be called manually before lv_init()
*/
#define LV_USE_GPU_NXP_PXP_AUTO_INIT 0
#endif
/*Use NXP's VG-Lite GPU iMX RTxxx platforms*/
#define LV_USE_GPU_NXP_VG_LITE 0
/*Use SDL renderer API*/
#define LV_USE_GPU_SDL 0
#if LV_USE_GPU_SDL
#define LV_GPU_SDL_INCLUDE_PATH <SDL2/SDL.h>
/*Texture cache size, 8MB by default*/
#define LV_GPU_SDL_LRU_SIZE (1024 * 1024 * 8)
/*Custom blend mode for mask drawing, disable if you need to link with older SDL2 lib*/
#define LV_GPU_SDL_CUSTOM_BLEND_MODE (SDL_VERSION_ATLEAST(2, 0, 6))
#endif
/*-------------
* Logging
*-----------*/
/*Enable the log module*/
#define LV_USE_LOG 0
#if LV_USE_LOG
/*How important log should be added:
*LV_LOG_LEVEL_TRACE A lot of logs to give detailed information
*LV_LOG_LEVEL_INFO Log important events
*LV_LOG_LEVEL_WARN Log if something unwanted happened but didn't cause a problem
*LV_LOG_LEVEL_ERROR Only critical issue, when the system may fail
*LV_LOG_LEVEL_USER Only logs added by the user
*LV_LOG_LEVEL_NONE Do not log anything*/
#define LV_LOG_LEVEL LV_LOG_LEVEL_WARN
/*1: Print the log with 'printf';
*0: User need to register a callback with `lv_log_register_print_cb()`*/
#define LV_LOG_PRINTF 0
/*Enable/disable LV_LOG_TRACE in modules that produces a huge number of logs*/
#define LV_LOG_TRACE_MEM 1
#define LV_LOG_TRACE_TIMER 1
#define LV_LOG_TRACE_INDEV 1
#define LV_LOG_TRACE_DISP_REFR 1
#define LV_LOG_TRACE_EVENT 1
#define LV_LOG_TRACE_OBJ_CREATE 1
#define LV_LOG_TRACE_LAYOUT 1
#define LV_LOG_TRACE_ANIM 1
#endif /*LV_USE_LOG*/
/*-------------
* Asserts
*-----------*/
/*Enable asserts if an operation is failed or an invalid data is found.
*If LV_USE_LOG is enabled an error message will be printed on failure*/
#define LV_USE_ASSERT_NULL 1 /*Check if the parameter is NULL. (Very fast, recommended)*/
#define LV_USE_ASSERT_MALLOC 1 /*Checks is the memory is successfully allocated or no. (Very fast, recommended)*/
#define LV_USE_ASSERT_STYLE 0 /*Check if the styles are properly initialized. (Very fast, recommended)*/
#define LV_USE_ASSERT_MEM_INTEGRITY 0 /*Check the integrity of `lv_mem` after critical operations. (Slow)*/
#define LV_USE_ASSERT_OBJ 0 /*Check the object's type and existence (e.g. not deleted). (Slow)*/
/*Add a custom handler when assert happens e.g. to restart the MCU*/
#define LV_ASSERT_HANDLER_INCLUDE <stdint.h>
#define LV_ASSERT_HANDLER while(1); /*Halt by default*/
/*-------------
* Others
*-----------*/
/*1: Show CPU usage and FPS count*/
#define LV_USE_PERF_MONITOR 0
#if LV_USE_PERF_MONITOR
#define LV_USE_PERF_MONITOR_POS LV_ALIGN_BOTTOM_RIGHT
#endif
/*1: Show the used memory and the memory fragmentation
* Requires LV_MEM_CUSTOM = 0*/
#define LV_USE_MEM_MONITOR 0
#if LV_USE_MEM_MONITOR
#define LV_USE_MEM_MONITOR_POS LV_ALIGN_BOTTOM_LEFT
#endif
/*1: Draw random colored rectangles over the redrawn areas*/
#define LV_USE_REFR_DEBUG 0
/*Change the built in (v)snprintf functions*/
#define LV_SPRINTF_CUSTOM 0
#if LV_SPRINTF_CUSTOM
#define LV_SPRINTF_INCLUDE <stdio.h>
#define lv_snprintf snprintf
#define lv_vsnprintf vsnprintf
#else /*LV_SPRINTF_CUSTOM*/
#define LV_SPRINTF_USE_FLOAT 1
#endif /*LV_SPRINTF_CUSTOM*/
#define LV_USE_USER_DATA 1
/*Garbage Collector settings
*Used if lvgl is bound to higher level language and the memory is managed by that language*/
#define LV_ENABLE_GC 0
#if LV_ENABLE_GC != 0
#define LV_GC_INCLUDE "gc.h" /*Include Garbage Collector related things*/
#endif /*LV_ENABLE_GC*/
/*=====================
* COMPILER SETTINGS
*====================*/
/*For big endian systems set to 1*/
#define LV_BIG_ENDIAN_SYSTEM 0
/*Define a custom attribute to `lv_tick_inc` function*/
#define LV_ATTRIBUTE_TICK_INC
/*Define a custom attribute to `lv_timer_handler` function*/
#define LV_ATTRIBUTE_TIMER_HANDLER
/*Define a custom attribute to `lv_disp_flush_ready` function*/
#define LV_ATTRIBUTE_FLUSH_READY
/*Required alignment size for buffers*/
#define LV_ATTRIBUTE_MEM_ALIGN_SIZE 1
/*Will be added where memories needs to be aligned (with -Os data might not be aligned to boundary by default).
* E.g. __attribute__((aligned(4)))*/
#define LV_ATTRIBUTE_MEM_ALIGN
/*Attribute to mark large constant arrays for example font's bitmaps*/
#define LV_ATTRIBUTE_LARGE_CONST
/*Compiler prefix for a big array declaration in RAM*/
#define LV_ATTRIBUTE_LARGE_RAM_ARRAY
/*Place performance critical functions into a faster memory (e.g RAM)*/
#define LV_ATTRIBUTE_FAST_MEM
/*Prefix variables that are used in GPU accelerated operations, often these need to be placed in RAM sections that are DMA accessible*/
#define LV_ATTRIBUTE_DMA
/*Export integer constant to binding. This macro is used with constants in the form of LV_<CONST> that
*should also appear on LVGL binding API such as Micropython.*/
#define LV_EXPORT_CONST_INT(int_value) struct _silence_gcc_warning /*The default value just prevents GCC warning*/
/*Extend the default -32k..32k coordinate range to -4M..4M by using int32_t for coordinates instead of int16_t*/
#define LV_USE_LARGE_COORD 0
/*==================
* FONT USAGE
*===================*/
/*Montserrat fonts with ASCII range and some symbols using bpp = 4
*https://fonts.google.com/specimen/Montserrat*/
#define LV_FONT_MONTSERRAT_8 0
#define LV_FONT_MONTSERRAT_10 1
#define LV_FONT_MONTSERRAT_12 1
#define LV_FONT_MONTSERRAT_14 1
#define LV_FONT_MONTSERRAT_16 1
#define LV_FONT_MONTSERRAT_18 1
#define LV_FONT_MONTSERRAT_20 1
#define LV_FONT_MONTSERRAT_22 1
#define LV_FONT_MONTSERRAT_24 1
#define LV_FONT_MONTSERRAT_26 1
#define LV_FONT_MONTSERRAT_28 1
#define LV_FONT_MONTSERRAT_30 1
#define LV_FONT_MONTSERRAT_32 1
#define LV_FONT_MONTSERRAT_34 1
#define LV_FONT_MONTSERRAT_36 1
#define LV_FONT_MONTSERRAT_38 0
#define LV_FONT_MONTSERRAT_40 1
#define LV_FONT_MONTSERRAT_42 0
#define LV_FONT_MONTSERRAT_44 1
#define LV_FONT_MONTSERRAT_46 0
#define LV_FONT_MONTSERRAT_48 1
/*Demonstrate special features*/
#define LV_FONT_MONTSERRAT_12_SUBPX 0
#define LV_FONT_MONTSERRAT_28_COMPRESSED 0 /*bpp = 3*/
#define LV_FONT_DEJAVU_16_PERSIAN_HEBREW 0 /*Hebrew, Arabic, Persian letters and all their forms*/
#define LV_FONT_SIMSUN_16_CJK 0 /*1000 most common CJK radicals*/
/*Pixel perfect monospace fonts*/
#define LV_FONT_UNSCII_8 0
#define LV_FONT_UNSCII_16 0
/*Optionally declare custom fonts here.
*You can use these fonts as default font too and they will be available globally.
*E.g. #define LV_FONT_CUSTOM_DECLARE LV_FONT_DECLARE(my_font_1) LV_FONT_DECLARE(my_font_2)*/
#define LV_FONT_CUSTOM_DECLARE
/*Always set a default font*/
#define LV_FONT_DEFAULT &lv_font_montserrat_16
/*Enable handling large font and/or fonts with a lot of characters.
*The limit depends on the font size, font face and bpp.
*Compiler error will be triggered if a font needs it.*/
#define LV_FONT_FMT_TXT_LARGE 0
/*Enables/disables support for compressed fonts.*/
#define LV_USE_FONT_COMPRESSED 0
/*Enable subpixel rendering*/
#define LV_USE_FONT_SUBPX 0
#if LV_USE_FONT_SUBPX
/*Set the pixel order of the display. Physical order of RGB channels. Doesn't matter with "normal" fonts.*/
#define LV_FONT_SUBPX_BGR 0 /*0: RGB; 1:BGR order*/
#endif
/*Enable drawing placeholders when glyph dsc is not found*/
#define LV_USE_FONT_PLACEHOLDER 1
/*=================
* TEXT SETTINGS
*=================*/
/**
* Select a character encoding for strings.
* Your IDE or editor should have the same character encoding
* - LV_TXT_ENC_UTF8
* - LV_TXT_ENC_ASCII
*/
#define LV_TXT_ENC LV_TXT_ENC_UTF8
/*Can break (wrap) texts on these chars*/
#define LV_TXT_BREAK_CHARS " ,.;:-_"
/*If a word is at least this long, will break wherever "prettiest"
*To disable, set to a value <= 0*/
#define LV_TXT_LINE_BREAK_LONG_LEN 0
/*Minimum number of characters in a long word to put on a line before a break.
*Depends on LV_TXT_LINE_BREAK_LONG_LEN.*/
#define LV_TXT_LINE_BREAK_LONG_PRE_MIN_LEN 3
/*Minimum number of characters in a long word to put on a line after a break.
*Depends on LV_TXT_LINE_BREAK_LONG_LEN.*/
#define LV_TXT_LINE_BREAK_LONG_POST_MIN_LEN 3
/*The control character to use for signalling text recoloring.*/
#define LV_TXT_COLOR_CMD "#"
/*Support bidirectional texts. Allows mixing Left-to-Right and Right-to-Left texts.
*The direction will be processed according to the Unicode Bidirectional Algorithm:
*https://www.w3.org/International/articles/inline-bidi-markup/uba-basics*/
#define LV_USE_BIDI 0
#if LV_USE_BIDI
/*Set the default direction. Supported values:
*`LV_BASE_DIR_LTR` Left-to-Right
*`LV_BASE_DIR_RTL` Right-to-Left
*`LV_BASE_DIR_AUTO` detect texts base direction*/
#define LV_BIDI_BASE_DIR_DEF LV_BASE_DIR_AUTO
#endif
/*Enable Arabic/Persian processing
*In these languages characters should be replaced with an other form based on their position in the text*/
#define LV_USE_ARABIC_PERSIAN_CHARS 0
/*==================
* WIDGET USAGE
*================*/
/*Documentation of the widgets: https://docs.lvgl.io/latest/en/html/widgets/index.html*/
#define LV_USE_ARC 1
#define LV_USE_BAR 1
#define LV_USE_BTN 1
#define LV_USE_BTNMATRIX 1
#define LV_USE_CANVAS 1
#define LV_USE_CHECKBOX 1
#define LV_USE_DROPDOWN 1 /*Requires: lv_label*/
#define LV_USE_IMG 1 /*Requires: lv_label*/
#define LV_USE_LABEL 1
#if LV_USE_LABEL
#define LV_LABEL_TEXT_SELECTION 1 /*Enable selecting text of the label*/
#define LV_LABEL_LONG_TXT_HINT 1 /*Store some extra info in labels to speed up drawing of very long texts*/
#endif
#define LV_USE_LINE 1
#define LV_USE_ROLLER 1 /*Requires: lv_label*/
#if LV_USE_ROLLER
#define LV_ROLLER_INF_PAGES 7 /*Number of extra "pages" when the roller is infinite*/
#endif
#define LV_USE_SLIDER 1 /*Requires: lv_bar*/
#define LV_USE_SWITCH 1
#define LV_USE_TEXTAREA 1 /*Requires: lv_label*/
#if LV_USE_TEXTAREA != 0
#define LV_TEXTAREA_DEF_PWD_SHOW_TIME 1500 /*ms*/
#endif
#define LV_USE_TABLE 1
/*==================
* EXTRA COMPONENTS
*==================*/
/*-----------
* Widgets
*----------*/
#define LV_USE_ANIMIMG 1
#define LV_USE_CALENDAR 1
#if LV_USE_CALENDAR
#define LV_CALENDAR_WEEK_STARTS_MONDAY 0
#if LV_CALENDAR_WEEK_STARTS_MONDAY
#define LV_CALENDAR_DEFAULT_DAY_NAMES {"Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"}
#else
#define LV_CALENDAR_DEFAULT_DAY_NAMES {"Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"}
#endif
#define LV_CALENDAR_DEFAULT_MONTH_NAMES {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"}
#define LV_USE_CALENDAR_HEADER_ARROW 1
#define LV_USE_CALENDAR_HEADER_DROPDOWN 1
#endif /*LV_USE_CALENDAR*/
#define LV_USE_CHART 1
#define LV_USE_COLORWHEEL 1
#define LV_USE_IMGBTN 1
#define LV_USE_KEYBOARD 1
#define LV_USE_LED 1
#define LV_USE_LIST 1
#define LV_USE_MENU 1
#define LV_USE_METER 1
#define LV_USE_MSGBOX 1
#define LV_USE_SPAN 1
#if LV_USE_SPAN
/*A line text can contain maximum num of span descriptor */
#define LV_SPAN_SNIPPET_STACK_SIZE 64
#endif
#define LV_USE_SPINBOX 1
#define LV_USE_SPINNER 1
#define LV_USE_TABVIEW 1
#define LV_USE_TILEVIEW 1
#define LV_USE_WIN 1
/*-----------
* Themes
*----------*/
/*A simple, impressive and very complete theme*/
#define LV_USE_THEME_DEFAULT 1
#if LV_USE_THEME_DEFAULT
/*0: Light mode; 1: Dark mode*/
#define LV_THEME_DEFAULT_DARK 0
/*1: Enable grow on press*/
#define LV_THEME_DEFAULT_GROW 1
/*Default transition time in [ms]*/
#define LV_THEME_DEFAULT_TRANSITION_TIME 80
#endif /*LV_USE_THEME_DEFAULT*/
/*A very simple theme that is a good starting point for a custom theme*/
#define LV_USE_THEME_BASIC 1
/*A theme designed for monochrome displays*/
#define LV_USE_THEME_MONO 1
/*-----------
* Layouts
*----------*/
/*A layout similar to Flexbox in CSS.*/
#define LV_USE_FLEX 1
/*A layout similar to Grid in CSS.*/
#define LV_USE_GRID 1
/*---------------------
* 3rd party libraries
*--------------------*/
/*File system interfaces for common APIs */
/*API for fopen, fread, etc*/
#define LV_USE_FS_STDIO 0
#if LV_USE_FS_STDIO
#define LV_FS_STDIO_LETTER '\0' /*Set an upper cased letter on which the drive will accessible (e.g. 'A')*/
#define LV_FS_STDIO_PATH "" /*Set the working directory. File/directory paths will be appended to it.*/
#define LV_FS_STDIO_CACHE_SIZE 0 /*>0 to cache this number of bytes in lv_fs_read()*/
#endif
/*API for open, read, etc*/
#define LV_USE_FS_POSIX 0
#if LV_USE_FS_POSIX
#define LV_FS_POSIX_LETTER '\0' /*Set an upper cased letter on which the drive will accessible (e.g. 'A')*/
#define LV_FS_POSIX_PATH "" /*Set the working directory. File/directory paths will be appended to it.*/
#define LV_FS_POSIX_CACHE_SIZE 0 /*>0 to cache this number of bytes in lv_fs_read()*/
#endif
/*API for CreateFile, ReadFile, etc*/
#define LV_USE_FS_WIN32 0
#if LV_USE_FS_WIN32
#define LV_FS_WIN32_LETTER '\0' /*Set an upper cased letter on which the drive will accessible (e.g. 'A')*/
#define LV_FS_WIN32_PATH "" /*Set the working directory. File/directory paths will be appended to it.*/
#define LV_FS_WIN32_CACHE_SIZE 0 /*>0 to cache this number of bytes in lv_fs_read()*/
#endif
/*API for FATFS (needs to be added separately). Uses f_open, f_read, etc*/
#define LV_USE_FS_FATFS 0
#if LV_USE_FS_FATFS
#define LV_FS_FATFS_LETTER '\0' /*Set an upper cased letter on which the drive will accessible (e.g. 'A')*/
#define LV_FS_FATFS_CACHE_SIZE 0 /*>0 to cache this number of bytes in lv_fs_read()*/
#endif
/*PNG decoder library*/
#define LV_USE_PNG 0
/*BMP decoder library*/
#define LV_USE_BMP 0
/* JPG + split JPG decoder library.
* Split JPG is a custom format optimized for embedded systems. */
#define LV_USE_SJPG 0
/*GIF decoder library*/
#define LV_USE_GIF 0
/*QR code library*/
#define LV_USE_QRCODE 0
/*FreeType library*/
#define LV_USE_FREETYPE 0
#if LV_USE_FREETYPE
/*Memory used by FreeType to cache characters [bytes] (-1: no caching)*/
#define LV_FREETYPE_CACHE_SIZE (16 * 1024)
#if LV_FREETYPE_CACHE_SIZE >= 0
/* 1: bitmap cache use the sbit cache, 0:bitmap cache use the image cache. */
/* sbit cache:it is much more memory efficient for small bitmaps(font size < 256) */
/* if font size >= 256, must be configured as image cache */
#define LV_FREETYPE_SBIT_CACHE 0
/* Maximum number of opened FT_Face/FT_Size objects managed by this cache instance. */
/* (0:use system defaults) */
#define LV_FREETYPE_CACHE_FT_FACES 0
#define LV_FREETYPE_CACHE_FT_SIZES 0
#endif
#endif
/*Rlottie library*/
#define LV_USE_RLOTTIE 0
/*FFmpeg library for image decoding and playing videos
*Supports all major image formats so do not enable other image decoder with it*/
#define LV_USE_FFMPEG 0
#if LV_USE_FFMPEG
/*Dump input information to stderr*/
#define LV_FFMPEG_DUMP_FORMAT 0
#endif
/*-----------
* Others
*----------*/
/*1: Enable API to take snapshot for object*/
#define LV_USE_SNAPSHOT 0
/*1: Enable Monkey test*/
#define LV_USE_MONKEY 0
/*1: Enable grid navigation*/
#define LV_USE_GRIDNAV 0
/*1: Enable lv_obj fragment*/
#define LV_USE_FRAGMENT 0
/*1: Support using images as font in label or span widgets */
#define LV_USE_IMGFONT 0
/*1: Enable a published subscriber based messaging system */
#define LV_USE_MSG 0
/*1: Enable Pinyin input method*/
/*Requires: lv_keyboard*/
#define LV_USE_IME_PINYIN 0
#if LV_USE_IME_PINYIN
/*1: Use default thesaurus*/
/*If you do not use the default thesaurus, be sure to use `lv_ime_pinyin` after setting the thesauruss*/
#define LV_IME_PINYIN_USE_DEFAULT_DICT 1
/*Set the maximum number of candidate panels that can be displayed*/
/*This needs to be adjusted according to the size of the screen*/
#define LV_IME_PINYIN_CAND_TEXT_NUM 6
/*Use 9 key input(k9)*/
#define LV_IME_PINYIN_USE_K9_MODE 1
#if LV_IME_PINYIN_USE_K9_MODE == 1
#define LV_IME_PINYIN_K9_CAND_TEXT_NUM 3
#endif // LV_IME_PINYIN_USE_K9_MODE
#endif
/*==================
* EXAMPLES
*==================*/
/*Enable the examples to be built with the library*/
#define LV_BUILD_EXAMPLES 1
/*===================
* DEMO USAGE
====================*/
/*Show some widget. It might be required to increase `LV_MEM_SIZE` */
#define LV_USE_DEMO_WIDGETS 1
#if LV_USE_DEMO_WIDGETS
#define LV_DEMO_WIDGETS_SLIDESHOW 0
#endif
/*Demonstrate the usage of encoder and keyboard*/
#define LV_USE_DEMO_KEYPAD_AND_ENCODER 0
/*Benchmark your system*/
#define LV_USE_DEMO_BENCHMARK 0
#if LV_USE_DEMO_BENCHMARK
/*Use RGB565A8 images with 16 bit color depth instead of ARGB8565*/
#define LV_DEMO_BENCHMARK_RGB565A8 0
#endif
/*Stress test for LVGL*/
#define LV_USE_DEMO_STRESS 0
/*Music player demo*/
#define LV_USE_DEMO_MUSIC 0
#if LV_USE_DEMO_MUSIC
#define LV_DEMO_MUSIC_SQUARE 0
#define LV_DEMO_MUSIC_LANDSCAPE 0
#define LV_DEMO_MUSIC_ROUND 0
#define LV_DEMO_MUSIC_LARGE 0
#define LV_DEMO_MUSIC_AUTO_PLAY 0
#endif
/*--END OF LV_CONF_H--*/
#endif /*LV_CONF_H*/
#endif /*End of "Content enable"*/

View File

@ -0,0 +1,103 @@
// This file was generated by SquareLine Studio
// SquareLine Studio version: SquareLine Studio 1.4.0
// LVGL version: 8.3.6
// Project name: han-wt32
#include "../ui.h"
void ui_ClockScreen_screen_init(void)
{
ui_ClockScreen = lv_obj_create(NULL);
lv_obj_clear_flag(ui_ClockScreen, LV_OBJ_FLAG_SCROLLABLE); /// Flags
lv_obj_set_style_bg_img_src(ui_ClockScreen, &ui_img_sky_png, LV_PART_MAIN | LV_STATE_DEFAULT);
ui_Label18 = lv_label_create(ui_ClockScreen);
lv_obj_set_width(ui_Label18, LV_SIZE_CONTENT); /// 1
lv_obj_set_height(ui_Label18, LV_SIZE_CONTENT); /// 1
lv_obj_set_x(ui_Label18, -177);
lv_obj_set_y(ui_Label18, -131);
lv_obj_set_align(ui_Label18, LV_ALIGN_CENTER);
lv_label_set_text(ui_Label18, "Clock");
lv_obj_set_style_text_color(ui_Label18, lv_color_hex(0xFAFF00), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_opa(ui_Label18, 255, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_font(ui_Label18, &ui_font_star32, LV_PART_MAIN | LV_STATE_DEFAULT);
ui_btnpre3 = lv_btn_create(ui_ClockScreen);
lv_obj_set_width(ui_btnpre3, 100);
lv_obj_set_height(ui_btnpre3, 50);
lv_obj_set_x(ui_btnpre3, -177);
lv_obj_set_y(ui_btnpre3, 124);
lv_obj_set_align(ui_btnpre3, LV_ALIGN_CENTER);
lv_obj_add_flag(ui_btnpre3, LV_OBJ_FLAG_SCROLL_ON_FOCUS); /// Flags
lv_obj_clear_flag(ui_btnpre3, LV_OBJ_FLAG_SCROLLABLE); /// Flags
lv_obj_set_style_bg_color(ui_btnpre3, lv_color_hex(0x2EFF00), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_bg_opa(ui_btnpre3, 255, LV_PART_MAIN | LV_STATE_DEFAULT);
ui_btnconfirm3 = lv_btn_create(ui_ClockScreen);
lv_obj_set_width(ui_btnconfirm3, 100);
lv_obj_set_height(ui_btnconfirm3, 50);
lv_obj_set_x(ui_btnconfirm3, -59);
lv_obj_set_y(ui_btnconfirm3, 124);
lv_obj_set_align(ui_btnconfirm3, LV_ALIGN_CENTER);
lv_obj_add_flag(ui_btnconfirm3, LV_OBJ_FLAG_SCROLL_ON_FOCUS); /// Flags
lv_obj_clear_flag(ui_btnconfirm3, LV_OBJ_FLAG_SCROLLABLE); /// Flags
lv_obj_set_style_bg_color(ui_btnconfirm3, lv_color_hex(0xFAFF00), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_bg_opa(ui_btnconfirm3, 255, LV_PART_MAIN | LV_STATE_DEFAULT);
ui_btnpost3 = lv_btn_create(ui_ClockScreen);
lv_obj_set_width(ui_btnpost3, 100);
lv_obj_set_height(ui_btnpost3, 50);
lv_obj_set_x(ui_btnpost3, 60);
lv_obj_set_y(ui_btnpost3, 124);
lv_obj_set_align(ui_btnpost3, LV_ALIGN_CENTER);
lv_obj_add_flag(ui_btnpost3, LV_OBJ_FLAG_SCROLL_ON_FOCUS); /// Flags
lv_obj_clear_flag(ui_btnpost3, LV_OBJ_FLAG_SCROLLABLE); /// Flags
lv_obj_set_style_bg_color(ui_btnpost3, lv_color_hex(0xFF9400), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_bg_opa(ui_btnpost3, 255, LV_PART_MAIN | LV_STATE_DEFAULT);
ui_btndelete3 = lv_btn_create(ui_ClockScreen);
lv_obj_set_width(ui_btndelete3, 100);
lv_obj_set_height(ui_btndelete3, 50);
lv_obj_set_x(ui_btndelete3, 183);
lv_obj_set_y(ui_btndelete3, 124);
lv_obj_set_align(ui_btndelete3, LV_ALIGN_CENTER);
lv_obj_add_flag(ui_btndelete3, LV_OBJ_FLAG_SCROLL_ON_FOCUS); /// Flags
lv_obj_clear_flag(ui_btndelete3, LV_OBJ_FLAG_SCROLLABLE); /// Flags
lv_obj_set_style_bg_color(ui_btndelete3, lv_color_hex(0xFF0000), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_bg_opa(ui_btndelete3, 255, LV_PART_MAIN | LV_STATE_DEFAULT);
ui_lblclock2 = lv_label_create(ui_ClockScreen);
lv_obj_set_width(ui_lblclock2, LV_SIZE_CONTENT); /// 1
lv_obj_set_height(ui_lblclock2, LV_SIZE_CONTENT); /// 1
lv_obj_set_x(ui_lblclock2, -6);
lv_obj_set_y(ui_lblclock2, -28);
lv_obj_set_align(ui_lblclock2, LV_ALIGN_CENTER);
lv_label_set_text(ui_lblclock2, "00:00:00");
lv_obj_set_style_text_color(ui_lblclock2, lv_color_hex(0xFAFF00), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_opa(ui_lblclock2, 255, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_font(ui_lblclock2, &ui_font_calculator128, LV_PART_MAIN | LV_STATE_DEFAULT);
ui_Label15 = lv_label_create(ui_ClockScreen);
lv_obj_set_width(ui_Label15, LV_SIZE_CONTENT); /// 1
lv_obj_set_height(ui_Label15, LV_SIZE_CONTENT); /// 1
lv_obj_set_x(ui_Label15, -179);
lv_obj_set_y(ui_Label15, 126);
lv_obj_set_align(ui_Label15, LV_ALIGN_CENTER);
lv_label_set_text(ui_Label15, "Pre");
lv_obj_set_style_text_color(ui_Label15, lv_color_hex(0x000000), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_opa(ui_Label15, 255, LV_PART_MAIN | LV_STATE_DEFAULT);
ui_Label17 = lv_label_create(ui_ClockScreen);
lv_obj_set_width(ui_Label17, LV_SIZE_CONTENT); /// 1
lv_obj_set_height(ui_Label17, LV_SIZE_CONTENT); /// 1
lv_obj_set_x(ui_Label17, 59);
lv_obj_set_y(ui_Label17, 126);
lv_obj_set_align(ui_Label17, LV_ALIGN_CENTER);
lv_label_set_text(ui_Label17, "Post");
lv_obj_set_style_text_color(ui_Label17, lv_color_hex(0x000000), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_opa(ui_Label17, 255, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_add_event_cb(ui_btnpre3, ui_event_btnpre3, LV_EVENT_ALL, NULL);
lv_obj_add_event_cb(ui_btnpost3, ui_event_btnpost3, LV_EVENT_ALL, NULL);
}

View File

@ -0,0 +1,278 @@
// This file was generated by SquareLine Studio
// SquareLine Studio version: SquareLine Studio 1.4.0
// LVGL version: 8.3.6
// Project name: han-wt32
#include "../ui.h"
void ui_HomeScreen_screen_init(void)
{
ui_HomeScreen = lv_obj_create(NULL);
lv_obj_clear_flag(ui_HomeScreen, LV_OBJ_FLAG_SCROLLABLE); /// Flags
lv_obj_set_style_bg_img_src(ui_HomeScreen, &ui_img_sky_png, LV_PART_MAIN | LV_STATE_DEFAULT);
ui_btnconfirm = lv_btn_create(ui_HomeScreen);
lv_obj_set_width(ui_btnconfirm, 100);
lv_obj_set_height(ui_btnconfirm, 50);
lv_obj_set_x(ui_btnconfirm, -59);
lv_obj_set_y(ui_btnconfirm, 124);
lv_obj_set_align(ui_btnconfirm, LV_ALIGN_CENTER);
lv_obj_add_flag(ui_btnconfirm, LV_OBJ_FLAG_SCROLL_ON_FOCUS); /// Flags
lv_obj_clear_flag(ui_btnconfirm, LV_OBJ_FLAG_SCROLLABLE); /// Flags
lv_obj_set_style_bg_color(ui_btnconfirm, lv_color_hex(0xFAFF00), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_bg_opa(ui_btnconfirm, 255, LV_PART_MAIN | LV_STATE_DEFAULT);
ui_btnpost = lv_btn_create(ui_HomeScreen);
lv_obj_set_width(ui_btnpost, 100);
lv_obj_set_height(ui_btnpost, 50);
lv_obj_set_x(ui_btnpost, 60);
lv_obj_set_y(ui_btnpost, 124);
lv_obj_set_align(ui_btnpost, LV_ALIGN_CENTER);
lv_obj_add_flag(ui_btnpost, LV_OBJ_FLAG_SCROLL_ON_FOCUS); /// Flags
lv_obj_clear_flag(ui_btnpost, LV_OBJ_FLAG_SCROLLABLE); /// Flags
lv_obj_set_style_bg_color(ui_btnpost, lv_color_hex(0xFF9400), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_bg_opa(ui_btnpost, 255, LV_PART_MAIN | LV_STATE_DEFAULT);
ui_Image1 = lv_img_create(ui_HomeScreen);
lv_img_set_src(ui_Image1, &ui_img_1552732429);
lv_obj_set_width(ui_Image1, LV_SIZE_CONTENT); /// 100
lv_obj_set_height(ui_Image1, LV_SIZE_CONTENT); /// 100
lv_obj_set_x(ui_Image1, 189);
lv_obj_set_y(ui_Image1, -110);
lv_obj_set_align(ui_Image1, LV_ALIGN_CENTER);
lv_obj_add_flag(ui_Image1, LV_OBJ_FLAG_ADV_HITTEST); /// Flags
lv_obj_clear_flag(ui_Image1, LV_OBJ_FLAG_SCROLLABLE); /// Flags
ui_barhashrate = lv_bar_create(ui_HomeScreen);
lv_bar_set_range(ui_barhashrate, 0, 1000);
lv_bar_set_value(ui_barhashrate, 800, LV_ANIM_OFF);
lv_bar_set_start_value(ui_barhashrate, 0, LV_ANIM_OFF);
lv_obj_set_width(ui_barhashrate, 363);
lv_obj_set_height(ui_barhashrate, 17);
lv_obj_set_x(ui_barhashrate, -52);
lv_obj_set_y(ui_barhashrate, -74);
lv_obj_set_align(ui_barhashrate, LV_ALIGN_CENTER);
lv_obj_set_style_bg_color(ui_barhashrate, lv_color_hex(0xFAFF00), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_bg_opa(ui_barhashrate, 50, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_anim_time(ui_barhashrate, 500, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_bg_color(ui_barhashrate, lv_color_hex(0xFAFF20), LV_PART_INDICATOR | LV_STATE_DEFAULT);
lv_obj_set_style_bg_opa(ui_barhashrate, 255, LV_PART_INDICATOR | LV_STATE_DEFAULT);
ui_Label6 = lv_label_create(ui_HomeScreen);
lv_obj_set_width(ui_Label6, LV_SIZE_CONTENT); /// 1
lv_obj_set_height(ui_Label6, LV_SIZE_CONTENT); /// 1
lv_obj_set_x(ui_Label6, 65);
lv_obj_set_y(ui_Label6, -46);
lv_obj_set_align(ui_Label6, LV_ALIGN_CENTER);
lv_label_set_text(ui_Label6, "Best difficulty");
lv_obj_set_style_text_color(ui_Label6, lv_color_hex(0x2EFF00), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_opa(ui_Label6, 255, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_font(ui_Label6, &ui_font_start16, LV_PART_MAIN | LV_STATE_DEFAULT);
ui_Label4 = lv_label_create(ui_HomeScreen);
lv_obj_set_width(ui_Label4, LV_SIZE_CONTENT); /// 1
lv_obj_set_height(ui_Label4, LV_SIZE_CONTENT); /// 1
lv_obj_set_x(ui_Label4, -47);
lv_obj_set_y(ui_Label4, -128);
lv_obj_set_align(ui_Label4, LV_ALIGN_CENTER);
lv_label_set_text(ui_Label4, "Hashrate KH/s");
lv_obj_set_style_text_color(ui_Label4, lv_color_hex(0xFAFF00), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_opa(ui_Label4, 255, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_font(ui_Label4, &ui_font_star32, LV_PART_MAIN | LV_STATE_DEFAULT);
ui_Label7 = lv_label_create(ui_HomeScreen);
lv_obj_set_width(ui_Label7, LV_SIZE_CONTENT); /// 1
lv_obj_set_height(ui_Label7, LV_SIZE_CONTENT); /// 1
lv_obj_set_x(ui_Label7, -173);
lv_obj_set_y(ui_Label7, -47);
lv_obj_set_align(ui_Label7, LV_ALIGN_CENTER);
lv_label_set_text(ui_Label7, "valid blocks");
lv_obj_set_style_text_color(ui_Label7, lv_color_hex(0xFF0000), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_opa(ui_Label7, 255, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_font(ui_Label7, &ui_font_start16, LV_PART_MAIN | LV_STATE_DEFAULT);
ui_btndelete = lv_btn_create(ui_HomeScreen);
lv_obj_set_width(ui_btndelete, 100);
lv_obj_set_height(ui_btndelete, 50);
lv_obj_set_x(ui_btndelete, 183);
lv_obj_set_y(ui_btndelete, 124);
lv_obj_set_align(ui_btndelete, LV_ALIGN_CENTER);
lv_obj_add_flag(ui_btndelete, LV_OBJ_FLAG_SCROLL_ON_FOCUS); /// Flags
lv_obj_clear_flag(ui_btndelete, LV_OBJ_FLAG_SCROLLABLE); /// Flags
lv_obj_set_style_bg_color(ui_btndelete, lv_color_hex(0xFF0000), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_bg_opa(ui_btndelete, 255, LV_PART_MAIN | LV_STATE_DEFAULT);
ui_Label8 = lv_label_create(ui_HomeScreen);
lv_obj_set_width(ui_Label8, LV_SIZE_CONTENT); /// 1
lv_obj_set_height(ui_Label8, LV_SIZE_CONTENT); /// 1
lv_obj_set_x(ui_Label8, -154);
lv_obj_set_y(ui_Label8, -14);
lv_obj_set_align(ui_Label8, LV_ALIGN_CENTER);
lv_label_set_text(ui_Label8, "block templates");
lv_obj_set_style_text_color(ui_Label8, lv_color_hex(0xFAFF00), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_opa(ui_Label8, 255, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_font(ui_Label8, &ui_font_start16, LV_PART_MAIN | LV_STATE_DEFAULT);
ui_Label10 = lv_label_create(ui_HomeScreen);
lv_obj_set_width(ui_Label10, LV_SIZE_CONTENT); /// 1
lv_obj_set_height(ui_Label10, LV_SIZE_CONTENT); /// 1
lv_obj_set_x(ui_Label10, 75);
lv_obj_set_y(ui_Label10, -13);
lv_obj_set_align(ui_Label10, LV_ALIGN_CENTER);
lv_label_set_text(ui_Label10, "32bits shares");
lv_obj_set_style_text_color(ui_Label10, lv_color_hex(0x2EFF00), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_opa(ui_Label10, 255, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_font(ui_Label10, &ui_font_start16, LV_PART_MAIN | LV_STATE_DEFAULT);
ui_lblhashrate = lv_label_create(ui_HomeScreen);
lv_obj_set_width(ui_lblhashrate, LV_SIZE_CONTENT); /// 1
lv_obj_set_height(ui_lblhashrate, LV_SIZE_CONTENT); /// 1
lv_obj_set_x(ui_lblhashrate, 8);
lv_obj_set_y(ui_lblhashrate, -126);
lv_obj_set_align(ui_lblhashrate, LV_ALIGN_CENTER);
lv_label_set_text(ui_lblhashrate, "00.00");
lv_obj_set_style_text_color(ui_lblhashrate, lv_color_hex(0xFAFF00), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_opa(ui_lblhashrate, 255, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_font(ui_lblhashrate, &ui_font_calculator48, LV_PART_MAIN | LV_STATE_DEFAULT);
ui_lblbestdiff = lv_label_create(ui_HomeScreen);
lv_obj_set_width(ui_lblbestdiff, LV_SIZE_CONTENT); /// 1
lv_obj_set_height(ui_lblbestdiff, LV_SIZE_CONTENT); /// 1
lv_obj_set_x(ui_lblbestdiff, 392);
lv_obj_set_y(ui_lblbestdiff, 95);
lv_label_set_text(ui_lblbestdiff, "0");
lv_obj_set_style_text_color(ui_lblbestdiff, lv_color_hex(0x2EFF00), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_opa(ui_lblbestdiff, 255, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_font(ui_lblbestdiff, &ui_font_calculator32, LV_PART_MAIN | LV_STATE_DEFAULT);
ui_lbltemplates = lv_label_create(ui_HomeScreen);
lv_obj_set_width(ui_lbltemplates, LV_SIZE_CONTENT); /// 1
lv_obj_set_height(ui_lbltemplates, LV_SIZE_CONTENT); /// 1
lv_obj_set_x(ui_lbltemplates, 178);
lv_obj_set_y(ui_lbltemplates, 129);
lv_label_set_text(ui_lbltemplates, "0");
lv_obj_set_style_text_color(ui_lbltemplates, lv_color_hex(0xFAFF00), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_opa(ui_lbltemplates, 255, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_font(ui_lbltemplates, &ui_font_calculator32, LV_PART_MAIN | LV_STATE_DEFAULT);
ui_lblvalid = lv_label_create(ui_HomeScreen);
lv_obj_set_width(ui_lblvalid, LV_SIZE_CONTENT); /// 1
lv_obj_set_height(ui_lblvalid, LV_SIZE_CONTENT); /// 1
lv_obj_set_x(ui_lblvalid, 178);
lv_obj_set_y(ui_lblvalid, 96);
lv_label_set_text(ui_lblvalid, "0");
lv_obj_set_style_text_color(ui_lblvalid, lv_color_hex(0xFF0000), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_opa(ui_lblvalid, 255, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_font(ui_lblvalid, &ui_font_calculator32, LV_PART_MAIN | LV_STATE_DEFAULT);
ui_lblshares32 = lv_label_create(ui_HomeScreen);
lv_obj_set_width(ui_lblshares32, LV_SIZE_CONTENT); /// 1
lv_obj_set_height(ui_lblshares32, LV_SIZE_CONTENT); /// 1
lv_obj_set_x(ui_lblshares32, 392);
lv_obj_set_y(ui_lblshares32, 129);
lv_label_set_text(ui_lblshares32, "0");
lv_obj_set_style_text_color(ui_lblshares32, lv_color_hex(0x2EFF00), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_opa(ui_lblshares32, 255, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_font(ui_lblshares32, &ui_font_calculator32, LV_PART_MAIN | LV_STATE_DEFAULT);
ui_lblclock = lv_label_create(ui_HomeScreen);
lv_obj_set_width(ui_lblclock, LV_SIZE_CONTENT); /// 1
lv_obj_set_height(ui_lblclock, LV_SIZE_CONTENT); /// 1
lv_obj_set_x(ui_lblclock, 141);
lv_obj_set_y(ui_lblclock, 62);
lv_obj_set_align(ui_lblclock, LV_ALIGN_CENTER);
lv_label_set_text(ui_lblclock, "0 00:00:00");
lv_obj_set_style_text_color(ui_lblclock, lv_color_hex(0xFAFF00), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_opa(ui_lblclock, 255, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_font(ui_lblclock, &ui_font_calculator48, LV_PART_MAIN | LV_STATE_DEFAULT);
ui_Label2 = lv_label_create(ui_HomeScreen);
lv_obj_set_width(ui_Label2, LV_SIZE_CONTENT); /// 1
lv_obj_set_height(ui_Label2, LV_SIZE_CONTENT); /// 1
lv_obj_set_x(ui_Label2, 12);
lv_obj_set_y(ui_Label2, 68);
lv_obj_set_align(ui_Label2, LV_ALIGN_CENTER);
lv_label_set_text(ui_Label2, "uptime");
lv_obj_set_style_text_color(ui_Label2, lv_color_hex(0xFAFF00), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_opa(ui_Label2, 255, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_font(ui_Label2, &ui_font_start16, LV_PART_MAIN | LV_STATE_DEFAULT);
ui_btnpre = lv_btn_create(ui_HomeScreen);
lv_obj_set_width(ui_btnpre, 100);
lv_obj_set_height(ui_btnpre, 50);
lv_obj_set_x(ui_btnpre, -177);
lv_obj_set_y(ui_btnpre, 124);
lv_obj_set_align(ui_btnpre, LV_ALIGN_CENTER);
lv_obj_add_flag(ui_btnpre, LV_OBJ_FLAG_SCROLL_ON_FOCUS); /// Flags
lv_obj_clear_flag(ui_btnpre, LV_OBJ_FLAG_SCROLLABLE); /// Flags
lv_obj_set_style_bg_color(ui_btnpre, lv_color_hex(0x2EFF00), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_bg_opa(ui_btnpre, 255, LV_PART_MAIN | LV_STATE_DEFAULT);
ui_Label11 = lv_label_create(ui_HomeScreen);
lv_obj_set_width(ui_Label11, LV_SIZE_CONTENT); /// 1
lv_obj_set_height(ui_Label11, LV_SIZE_CONTENT); /// 1
lv_obj_set_x(ui_Label11, -156);
lv_obj_set_y(ui_Label11, 19);
lv_obj_set_align(ui_Label11, LV_ALIGN_CENTER);
lv_label_set_text(ui_Label11, "Total hashrate ");
lv_obj_set_style_text_color(ui_Label11, lv_color_hex(0x2EFF00), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_opa(ui_Label11, 255, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_font(ui_Label11, &ui_font_start16, LV_PART_MAIN | LV_STATE_DEFAULT);
ui_lbltotalhashrate = lv_label_create(ui_HomeScreen);
lv_obj_set_width(ui_lbltotalhashrate, LV_SIZE_CONTENT); /// 1
lv_obj_set_height(ui_lbltotalhashrate, LV_SIZE_CONTENT); /// 1
lv_obj_set_x(ui_lbltotalhashrate, 178);
lv_obj_set_y(ui_lbltotalhashrate, 160);
lv_label_set_text(ui_lbltotalhashrate, "0");
lv_obj_set_style_text_color(ui_lbltotalhashrate, lv_color_hex(0x2EFF00), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_opa(ui_lbltotalhashrate, 255, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_font(ui_lbltotalhashrate, &ui_font_calculator32, LV_PART_MAIN | LV_STATE_DEFAULT);
ui_Label19 = lv_label_create(ui_HomeScreen);
lv_obj_set_width(ui_Label19, LV_SIZE_CONTENT); /// 1
lv_obj_set_height(ui_Label19, LV_SIZE_CONTENT); /// 1
lv_obj_set_x(ui_Label19, -172);
lv_obj_set_y(ui_Label19, 68);
lv_obj_set_align(ui_Label19, LV_ALIGN_CENTER);
lv_label_set_text(ui_Label19, "Temperature");
lv_obj_set_style_text_color(ui_Label19, lv_color_hex(0xFF9A00), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_opa(ui_Label19, 255, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_font(ui_Label19, &ui_font_start16, LV_PART_MAIN | LV_STATE_DEFAULT);
ui_lbltemperature = lv_label_create(ui_HomeScreen);
lv_obj_set_width(ui_lbltemperature, LV_SIZE_CONTENT); /// 1
lv_obj_set_height(ui_lbltemperature, LV_SIZE_CONTENT); /// 1
lv_obj_set_x(ui_lbltemperature, 179);
lv_obj_set_y(ui_lbltemperature, 67);
lv_obj_set_align(ui_lbltemperature, LV_ALIGN_LEFT_MID);
lv_label_set_text(ui_lbltemperature, "00");
lv_obj_set_style_text_color(ui_lbltemperature, lv_color_hex(0xFF9A00), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_opa(ui_lbltemperature, 255, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_font(ui_lbltemperature, &ui_font_calculator32, LV_PART_MAIN | LV_STATE_DEFAULT);
ui_Label5 = lv_label_create(ui_HomeScreen);
lv_obj_set_width(ui_Label5, LV_SIZE_CONTENT); /// 1
lv_obj_set_height(ui_Label5, LV_SIZE_CONTENT); /// 1
lv_obj_set_x(ui_Label5, -179);
lv_obj_set_y(ui_Label5, 126);
lv_obj_set_align(ui_Label5, LV_ALIGN_CENTER);
lv_label_set_text(ui_Label5, "Pre");
lv_obj_set_style_text_color(ui_Label5, lv_color_hex(0x000000), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_opa(ui_Label5, 255, LV_PART_MAIN | LV_STATE_DEFAULT);
ui_Label9 = lv_label_create(ui_HomeScreen);
lv_obj_set_width(ui_Label9, LV_SIZE_CONTENT); /// 1
lv_obj_set_height(ui_Label9, LV_SIZE_CONTENT); /// 1
lv_obj_set_x(ui_Label9, 59);
lv_obj_set_y(ui_Label9, 126);
lv_obj_set_align(ui_Label9, LV_ALIGN_CENTER);
lv_label_set_text(ui_Label9, "Post");
lv_obj_set_style_text_color(ui_Label9, lv_color_hex(0x000000), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_opa(ui_Label9, 255, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_add_event_cb(ui_btnpost, ui_event_btnpost, LV_EVENT_ALL, NULL);
lv_obj_add_event_cb(ui_btnpre, ui_event_btnpre, LV_EVENT_ALL, NULL);
}

View File

@ -0,0 +1,67 @@
// This file was generated by SquareLine Studio
// SquareLine Studio version: SquareLine Studio 1.4.0
// LVGL version: 8.3.6
// Project name: han-wt32
#include "../ui.h"
void ui_SplashScreen_screen_init(void)
{
ui_SplashScreen = lv_obj_create(NULL);
lv_obj_clear_flag(ui_SplashScreen, LV_OBJ_FLAG_SCROLLABLE); /// Flags
lv_obj_set_style_bg_img_src(ui_SplashScreen, &ui_img_sky_png, LV_PART_MAIN | LV_STATE_DEFAULT);
ui_Label3 = lv_label_create(ui_SplashScreen);
lv_obj_set_width(ui_Label3, LV_SIZE_CONTENT); /// 1
lv_obj_set_height(ui_Label3, LV_SIZE_CONTENT); /// 1
lv_obj_set_x(ui_Label3, -84);
lv_obj_set_y(ui_Label3, -128);
lv_obj_set_align(ui_Label3, LV_ALIGN_CENTER);
lv_label_set_text(ui_Label3, "Han Solominer");
lv_obj_set_style_text_color(ui_Label3, lv_color_hex(0xFAFF00), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_opa(ui_Label3, 255, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_font(ui_Label3, &ui_font_star32, LV_PART_MAIN | LV_STATE_DEFAULT);
ui_Label1 = lv_label_create(ui_SplashScreen);
lv_obj_set_width(ui_Label1, LV_SIZE_CONTENT); /// 1
lv_obj_set_height(ui_Label1, LV_SIZE_CONTENT); /// 1
lv_obj_set_x(ui_Label1, -72);
lv_obj_set_y(ui_Label1, -93);
lv_obj_set_align(ui_Label1, LV_ALIGN_CENTER);
lv_label_set_text(ui_Label1, "The rise of hashrate");
lv_obj_set_style_text_color(ui_Label1, lv_color_hex(0xFAFF00), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_opa(ui_Label1, 255, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_font(ui_Label1, &ui_font_star24, LV_PART_MAIN | LV_STATE_DEFAULT);
ui_lblpassword = lv_label_create(ui_SplashScreen);
lv_obj_set_width(ui_lblpassword, LV_SIZE_CONTENT); /// 1
lv_obj_set_height(ui_lblpassword, LV_SIZE_CONTENT); /// 1
lv_obj_set_x(ui_lblpassword, 7);
lv_obj_set_y(ui_lblpassword, 286);
lv_label_set_text(ui_lblpassword, "password");
lv_obj_set_style_text_color(ui_lblpassword, lv_color_hex(0xFAFF00), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_opa(ui_lblpassword, 255, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_font(ui_lblpassword, &ui_font_start16, LV_PART_MAIN | LV_STATE_DEFAULT);
ui_lblssid = lv_label_create(ui_SplashScreen);
lv_obj_set_width(ui_lblssid, LV_SIZE_CONTENT); /// 1
lv_obj_set_height(ui_lblssid, LV_SIZE_CONTENT); /// 1
lv_obj_set_x(ui_lblssid, 8);
lv_obj_set_y(ui_lblssid, 259);
lv_label_set_text(ui_lblssid, "ssid");
lv_obj_set_style_text_color(ui_lblssid, lv_color_hex(0xFAFF00), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_opa(ui_lblssid, 255, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_font(ui_lblssid, &ui_font_start16, LV_PART_MAIN | LV_STATE_DEFAULT);
ui_lblversion = lv_label_create(ui_SplashScreen);
lv_obj_set_width(ui_lblversion, LV_SIZE_CONTENT); /// 1
lv_obj_set_height(ui_lblversion, LV_SIZE_CONTENT); /// 1
lv_obj_set_x(ui_lblversion, -5);
lv_obj_set_y(ui_lblversion, 284);
lv_obj_set_align(ui_lblversion, LV_ALIGN_TOP_RIGHT);
lv_label_set_text(ui_lblversion, "version ");
lv_obj_set_style_text_color(ui_lblversion, lv_color_hex(0xFAFF00), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_opa(ui_lblversion, 255, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_font(ui_lblversion, &ui_font_start16, LV_PART_MAIN | LV_STATE_DEFAULT);
}

View File

@ -0,0 +1,102 @@
// This file was generated by SquareLine Studio
// SquareLine Studio version: SquareLine Studio 1.4.0
// LVGL version: 8.3.6
// Project name: han-wt32
#include "../ui.h"
void ui_StatsScreen_screen_init(void)
{
ui_StatsScreen = lv_obj_create(NULL);
lv_obj_clear_flag(ui_StatsScreen, LV_OBJ_FLAG_SCROLLABLE); /// Flags
lv_obj_set_style_bg_img_src(ui_StatsScreen, &ui_img_sky_png, LV_PART_MAIN | LV_STATE_DEFAULT);
ui_btnconfirm2 = lv_btn_create(ui_StatsScreen);
lv_obj_set_width(ui_btnconfirm2, 100);
lv_obj_set_height(ui_btnconfirm2, 50);
lv_obj_set_x(ui_btnconfirm2, -59);
lv_obj_set_y(ui_btnconfirm2, 124);
lv_obj_set_align(ui_btnconfirm2, LV_ALIGN_CENTER);
lv_obj_add_flag(ui_btnconfirm2, LV_OBJ_FLAG_SCROLL_ON_FOCUS); /// Flags
lv_obj_clear_flag(ui_btnconfirm2, LV_OBJ_FLAG_SCROLLABLE); /// Flags
lv_obj_set_style_bg_color(ui_btnconfirm2, lv_color_hex(0xFAFF00), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_bg_opa(ui_btnconfirm2, 255, LV_PART_MAIN | LV_STATE_DEFAULT);
ui_btnpost2 = lv_btn_create(ui_StatsScreen);
lv_obj_set_width(ui_btnpost2, 100);
lv_obj_set_height(ui_btnpost2, 50);
lv_obj_set_x(ui_btnpost2, 60);
lv_obj_set_y(ui_btnpost2, 124);
lv_obj_set_align(ui_btnpost2, LV_ALIGN_CENTER);
lv_obj_add_flag(ui_btnpost2, LV_OBJ_FLAG_SCROLL_ON_FOCUS); /// Flags
lv_obj_clear_flag(ui_btnpost2, LV_OBJ_FLAG_SCROLLABLE); /// Flags
lv_obj_set_style_bg_color(ui_btnpost2, lv_color_hex(0xFF9400), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_bg_opa(ui_btnpost2, 255, LV_PART_MAIN | LV_STATE_DEFAULT);
ui_Image2 = lv_img_create(ui_StatsScreen);
lv_img_set_src(ui_Image2, &ui_img_1552732429);
lv_obj_set_width(ui_Image2, LV_SIZE_CONTENT); /// 100
lv_obj_set_height(ui_Image2, LV_SIZE_CONTENT); /// 100
lv_obj_set_x(ui_Image2, -10);
lv_obj_set_y(ui_Image2, -13);
lv_obj_set_align(ui_Image2, LV_ALIGN_CENTER);
lv_obj_add_flag(ui_Image2, LV_OBJ_FLAG_ADV_HITTEST); /// Flags
lv_obj_clear_flag(ui_Image2, LV_OBJ_FLAG_SCROLLABLE); /// Flags
ui_btndelete2 = lv_btn_create(ui_StatsScreen);
lv_obj_set_width(ui_btndelete2, 100);
lv_obj_set_height(ui_btndelete2, 50);
lv_obj_set_x(ui_btndelete2, 183);
lv_obj_set_y(ui_btndelete2, 124);
lv_obj_set_align(ui_btndelete2, LV_ALIGN_CENTER);
lv_obj_add_flag(ui_btndelete2, LV_OBJ_FLAG_SCROLL_ON_FOCUS); /// Flags
lv_obj_clear_flag(ui_btndelete2, LV_OBJ_FLAG_SCROLLABLE); /// Flags
lv_obj_set_style_bg_color(ui_btndelete2, lv_color_hex(0xFF0000), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_bg_opa(ui_btndelete2, 255, LV_PART_MAIN | LV_STATE_DEFAULT);
ui_btnpre2 = lv_btn_create(ui_StatsScreen);
lv_obj_set_width(ui_btnpre2, 100);
lv_obj_set_height(ui_btnpre2, 50);
lv_obj_set_x(ui_btnpre2, -177);
lv_obj_set_y(ui_btnpre2, 124);
lv_obj_set_align(ui_btnpre2, LV_ALIGN_CENTER);
lv_obj_add_flag(ui_btnpre2, LV_OBJ_FLAG_SCROLL_ON_FOCUS); /// Flags
lv_obj_clear_flag(ui_btnpre2, LV_OBJ_FLAG_SCROLLABLE); /// Flags
lv_obj_set_style_bg_color(ui_btnpre2, lv_color_hex(0x2EFF00), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_bg_opa(ui_btnpre2, 255, LV_PART_MAIN | LV_STATE_DEFAULT);
ui_Label13 = lv_label_create(ui_StatsScreen);
lv_obj_set_width(ui_Label13, LV_SIZE_CONTENT); /// 1
lv_obj_set_height(ui_Label13, LV_SIZE_CONTENT); /// 1
lv_obj_set_x(ui_Label13, -51);
lv_obj_set_y(ui_Label13, -128);
lv_obj_set_align(ui_Label13, LV_ALIGN_CENTER);
lv_label_set_text(ui_Label13, "Stats (To Be Done)");
lv_obj_set_style_text_color(ui_Label13, lv_color_hex(0xFAFF00), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_opa(ui_Label13, 255, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_font(ui_Label13, &ui_font_star32, LV_PART_MAIN | LV_STATE_DEFAULT);
ui_Label14 = lv_label_create(ui_StatsScreen);
lv_obj_set_width(ui_Label14, LV_SIZE_CONTENT); /// 1
lv_obj_set_height(ui_Label14, LV_SIZE_CONTENT); /// 1
lv_obj_set_x(ui_Label14, -179);
lv_obj_set_y(ui_Label14, 126);
lv_obj_set_align(ui_Label14, LV_ALIGN_CENTER);
lv_label_set_text(ui_Label14, "Pre");
lv_obj_set_style_text_color(ui_Label14, lv_color_hex(0x000000), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_opa(ui_Label14, 255, LV_PART_MAIN | LV_STATE_DEFAULT);
ui_Label16 = lv_label_create(ui_StatsScreen);
lv_obj_set_width(ui_Label16, LV_SIZE_CONTENT); /// 1
lv_obj_set_height(ui_Label16, LV_SIZE_CONTENT); /// 1
lv_obj_set_x(ui_Label16, 59);
lv_obj_set_y(ui_Label16, 126);
lv_obj_set_align(ui_Label16, LV_ALIGN_CENTER);
lv_label_set_text(ui_Label16, "Post");
lv_obj_set_style_text_color(ui_Label16, lv_color_hex(0x000000), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_opa(ui_Label16, 255, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_add_event_cb(ui_btnpost2, ui_event_btnpost2, LV_EVENT_ALL, NULL);
lv_obj_add_event_cb(ui_btnpre2, ui_event_btnpre2, LV_EVENT_ALL, NULL);
}

159
lib/hansolov2/ui.c Normal file
View File

@ -0,0 +1,159 @@
// This file was generated by SquareLine Studio
// SquareLine Studio version: SquareLine Studio 1.4.0
// LVGL version: 8.3.6
// Project name: han-wt32
#include "ui.h"
#include "ui_helpers.h"
///////////////////// VARIABLES ////////////////////
// SCREEN: ui_SplashScreen
void ui_SplashScreen_screen_init(void);
lv_obj_t * ui_SplashScreen;
lv_obj_t * ui_Label3;
lv_obj_t * ui_Label1;
lv_obj_t * ui_lblpassword;
lv_obj_t * ui_lblssid;
lv_obj_t * ui_lblversion;
// SCREEN: ui_HomeScreen
void ui_HomeScreen_screen_init(void);
lv_obj_t * ui_HomeScreen;
lv_obj_t * ui_btnconfirm;
void ui_event_btnpost(lv_event_t * e);
lv_obj_t * ui_btnpost;
lv_obj_t * ui_Image1;
lv_obj_t * ui_barhashrate;
lv_obj_t * ui_Label6;
lv_obj_t * ui_Label4;
lv_obj_t * ui_Label7;
lv_obj_t * ui_btndelete;
lv_obj_t * ui_Label8;
lv_obj_t * ui_Label10;
lv_obj_t * ui_lblhashrate;
lv_obj_t * ui_lblbestdiff;
lv_obj_t * ui_lbltemplates;
lv_obj_t * ui_lblvalid;
lv_obj_t * ui_lblshares32;
lv_obj_t * ui_lblclock;
lv_obj_t * ui_Label2;
void ui_event_btnpre(lv_event_t * e);
lv_obj_t * ui_btnpre;
lv_obj_t * ui_Label11;
lv_obj_t * ui_lbltotalhashrate;
lv_obj_t * ui_Label19;
lv_obj_t * ui_lbltemperature;
lv_obj_t * ui_Label5;
lv_obj_t * ui_Label9;
// SCREEN: ui_StatsScreen
void ui_StatsScreen_screen_init(void);
lv_obj_t * ui_StatsScreen;
lv_obj_t * ui_btnconfirm2;
void ui_event_btnpost2(lv_event_t * e);
lv_obj_t * ui_btnpost2;
lv_obj_t * ui_Image2;
lv_obj_t * ui_btndelete2;
void ui_event_btnpre2(lv_event_t * e);
lv_obj_t * ui_btnpre2;
lv_obj_t * ui_Label13;
lv_obj_t * ui_Label14;
lv_obj_t * ui_Label16;
// SCREEN: ui_ClockScreen
void ui_ClockScreen_screen_init(void);
lv_obj_t * ui_ClockScreen;
lv_obj_t * ui_Label18;
void ui_event_btnpre3(lv_event_t * e);
lv_obj_t * ui_btnpre3;
lv_obj_t * ui_btnconfirm3;
void ui_event_btnpost3(lv_event_t * e);
lv_obj_t * ui_btnpost3;
lv_obj_t * ui_btndelete3;
lv_obj_t * ui_lblclock2;
lv_obj_t * ui_Label15;
lv_obj_t * ui_Label17;
lv_obj_t * ui____initial_actions0;
const lv_img_dsc_t * ui_imgset_2063710799[1] = {&ui_img_1552732429};
const lv_img_dsc_t * ui_imgset_metal[1] = {&ui_img_metal2_png};
///////////////////// TEST LVGL SETTINGS ////////////////////
#if LV_COLOR_DEPTH != 16
#error "LV_COLOR_DEPTH should be 16bit to match SquareLine Studio's settings"
#endif
#if LV_COLOR_16_SWAP !=1
#error "LV_COLOR_16_SWAP should be 1 to match SquareLine Studio's settings"
#endif
///////////////////// ANIMATIONS ////////////////////
///////////////////// FUNCTIONS ////////////////////
void ui_event_btnpost(lv_event_t * e)
{
lv_event_code_t event_code = lv_event_get_code(e);
lv_obj_t * target = lv_event_get_target(e);
if(event_code == LV_EVENT_CLICKED) {
_ui_screen_change(&ui_StatsScreen, LV_SCR_LOAD_ANIM_FADE_ON, 500, 0, &ui_StatsScreen_screen_init);
}
}
void ui_event_btnpre(lv_event_t * e)
{
lv_event_code_t event_code = lv_event_get_code(e);
lv_obj_t * target = lv_event_get_target(e);
if(event_code == LV_EVENT_CLICKED) {
_ui_screen_change(&ui_ClockScreen, LV_SCR_LOAD_ANIM_FADE_ON, 500, 0, &ui_ClockScreen_screen_init);
}
}
void ui_event_btnpost2(lv_event_t * e)
{
lv_event_code_t event_code = lv_event_get_code(e);
lv_obj_t * target = lv_event_get_target(e);
if(event_code == LV_EVENT_CLICKED) {
_ui_screen_change(&ui_ClockScreen, LV_SCR_LOAD_ANIM_FADE_ON, 500, 0, &ui_ClockScreen_screen_init);
}
}
void ui_event_btnpre2(lv_event_t * e)
{
lv_event_code_t event_code = lv_event_get_code(e);
lv_obj_t * target = lv_event_get_target(e);
if(event_code == LV_EVENT_CLICKED) {
_ui_screen_change(&ui_HomeScreen, LV_SCR_LOAD_ANIM_FADE_ON, 500, 0, &ui_HomeScreen_screen_init);
}
}
void ui_event_btnpre3(lv_event_t * e)
{
lv_event_code_t event_code = lv_event_get_code(e);
lv_obj_t * target = lv_event_get_target(e);
if(event_code == LV_EVENT_CLICKED) {
_ui_screen_change(&ui_StatsScreen, LV_SCR_LOAD_ANIM_FADE_ON, 500, 0, &ui_StatsScreen_screen_init);
}
}
void ui_event_btnpost3(lv_event_t * e)
{
lv_event_code_t event_code = lv_event_get_code(e);
lv_obj_t * target = lv_event_get_target(e);
if(event_code == LV_EVENT_CLICKED) {
_ui_screen_change(&ui_ClockScreen, LV_SCR_LOAD_ANIM_FADE_ON, 500, 0, &ui_ClockScreen_screen_init);
}
}
///////////////////// SCREENS ////////////////////
void ui_init(void)
{
lv_disp_t * dispp = lv_disp_get_default();
lv_theme_t * theme = lv_theme_default_init(dispp, lv_palette_main(LV_PALETTE_BLUE), lv_palette_main(LV_PALETTE_RED),
true, LV_FONT_DEFAULT);
lv_disp_set_theme(dispp, theme);
ui_SplashScreen_screen_init();
ui_HomeScreen_screen_init();
ui_StatsScreen_screen_init();
ui_ClockScreen_screen_init();
ui____initial_actions0 = lv_obj_create(NULL);
lv_disp_load_scr(ui_SplashScreen);
}

107
lib/hansolov2/ui.h Normal file
View File

@ -0,0 +1,107 @@
// This file was generated by SquareLine Studio
// SquareLine Studio version: SquareLine Studio 1.4.0
// LVGL version: 8.3.6
// Project name: han-wt32
#ifndef _HAN_WT32_UI_H
#define _HAN_WT32_UI_H
#ifdef __cplusplus
extern "C" {
#endif
#include "lvgl.h"
#include "ui_helpers.h"
#include "ui_events.h"
// SCREEN: ui_SplashScreen
void ui_SplashScreen_screen_init(void);
extern lv_obj_t * ui_SplashScreen;
extern lv_obj_t * ui_Label3;
extern lv_obj_t * ui_Label1;
extern lv_obj_t * ui_lblpassword;
extern lv_obj_t * ui_lblssid;
extern lv_obj_t * ui_lblversion;
// SCREEN: ui_HomeScreen
void ui_HomeScreen_screen_init(void);
extern lv_obj_t * ui_HomeScreen;
extern lv_obj_t * ui_btnconfirm;
void ui_event_btnpost(lv_event_t * e);
extern lv_obj_t * ui_btnpost;
extern lv_obj_t * ui_Image1;
extern lv_obj_t * ui_barhashrate;
extern lv_obj_t * ui_Label6;
extern lv_obj_t * ui_Label4;
extern lv_obj_t * ui_Label7;
extern lv_obj_t * ui_btndelete;
extern lv_obj_t * ui_Label8;
extern lv_obj_t * ui_Label10;
extern lv_obj_t * ui_lblhashrate;
extern lv_obj_t * ui_lblbestdiff;
extern lv_obj_t * ui_lbltemplates;
extern lv_obj_t * ui_lblvalid;
extern lv_obj_t * ui_lblshares32;
extern lv_obj_t * ui_lblclock;
extern lv_obj_t * ui_Label2;
void ui_event_btnpre(lv_event_t * e);
extern lv_obj_t * ui_btnpre;
extern lv_obj_t * ui_Label11;
extern lv_obj_t * ui_lbltotalhashrate;
extern lv_obj_t * ui_Label19;
extern lv_obj_t * ui_lbltemperature;
extern lv_obj_t * ui_Label5;
extern lv_obj_t * ui_Label9;
// SCREEN: ui_StatsScreen
void ui_StatsScreen_screen_init(void);
extern lv_obj_t * ui_StatsScreen;
extern lv_obj_t * ui_btnconfirm2;
void ui_event_btnpost2(lv_event_t * e);
extern lv_obj_t * ui_btnpost2;
extern lv_obj_t * ui_Image2;
extern lv_obj_t * ui_btndelete2;
void ui_event_btnpre2(lv_event_t * e);
extern lv_obj_t * ui_btnpre2;
extern lv_obj_t * ui_Label13;
extern lv_obj_t * ui_Label14;
extern lv_obj_t * ui_Label16;
// SCREEN: ui_ClockScreen
void ui_ClockScreen_screen_init(void);
extern lv_obj_t * ui_ClockScreen;
extern lv_obj_t * ui_Label18;
void ui_event_btnpre3(lv_event_t * e);
extern lv_obj_t * ui_btnpre3;
extern lv_obj_t * ui_btnconfirm3;
void ui_event_btnpost3(lv_event_t * e);
extern lv_obj_t * ui_btnpost3;
extern lv_obj_t * ui_btndelete3;
extern lv_obj_t * ui_lblclock2;
extern lv_obj_t * ui_Label15;
extern lv_obj_t * ui_Label17;
extern lv_obj_t * ui____initial_actions0;
LV_IMG_DECLARE(ui_img_sky_png); // assets/sky.png
LV_IMG_DECLARE(ui_img_1552732429); // assets/bitcoin-btc-logo-100.png
LV_IMG_DECLARE(ui_img_metal2_png); // assets/metal2.png
LV_FONT_DECLARE(ui_font_calculator128);
LV_FONT_DECLARE(ui_font_calculator16);
LV_FONT_DECLARE(ui_font_calculator24);
LV_FONT_DECLARE(ui_font_calculator32);
LV_FONT_DECLARE(ui_font_calculator48);
LV_FONT_DECLARE(ui_font_star24);
LV_FONT_DECLARE(ui_font_star32);
LV_FONT_DECLARE(ui_font_start16);
void ui_init(void);
#ifdef __cplusplus
} /*extern "C"*/
#endif
#endif

17
lib/hansolov2/ui_events.h Normal file
View File

@ -0,0 +1,17 @@
// This file was generated by SquareLine Studio
// SquareLine Studio version: SquareLine Studio 1.4.0
// LVGL version: 8.3.6
// Project name: han-wt32
#ifndef _UI_EVENTS_H
#define _UI_EVENTS_H
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __cplusplus
} /*extern "C"*/
#endif
#endif

347
lib/hansolov2/ui_helpers.c Normal file
View File

@ -0,0 +1,347 @@
// This file was generated by SquareLine Studio
// SquareLine Studio version: SquareLine Studio 1.4.0
// LVGL version: 8.3.6
// Project name: han-wt32
#include "ui_helpers.h"
void _ui_bar_set_property(lv_obj_t * target, int id, int val)
{
if(id == _UI_BAR_PROPERTY_VALUE_WITH_ANIM) lv_bar_set_value(target, val, LV_ANIM_ON);
if(id == _UI_BAR_PROPERTY_VALUE) lv_bar_set_value(target, val, LV_ANIM_OFF);
}
void _ui_basic_set_property(lv_obj_t * target, int id, int val)
{
if(id == _UI_BASIC_PROPERTY_POSITION_X) lv_obj_set_x(target, val);
if(id == _UI_BASIC_PROPERTY_POSITION_Y) lv_obj_set_y(target, val);
if(id == _UI_BASIC_PROPERTY_WIDTH) lv_obj_set_width(target, val);
if(id == _UI_BASIC_PROPERTY_HEIGHT) lv_obj_set_height(target, val);
}
void _ui_dropdown_set_property(lv_obj_t * target, int id, int val)
{
if(id == _UI_DROPDOWN_PROPERTY_SELECTED) lv_dropdown_set_selected(target, val);
}
void _ui_image_set_property(lv_obj_t * target, int id, uint8_t * val)
{
if(id == _UI_IMAGE_PROPERTY_IMAGE) lv_img_set_src(target, val);
}
void _ui_label_set_property(lv_obj_t * target, int id, const char * val)
{
if(id == _UI_LABEL_PROPERTY_TEXT) lv_label_set_text(target, val);
}
void _ui_roller_set_property(lv_obj_t * target, int id, int val)
{
if(id == _UI_ROLLER_PROPERTY_SELECTED_WITH_ANIM) lv_roller_set_selected(target, val, LV_ANIM_ON);
if(id == _UI_ROLLER_PROPERTY_SELECTED) lv_roller_set_selected(target, val, LV_ANIM_OFF);
}
void _ui_slider_set_property(lv_obj_t * target, int id, int val)
{
if(id == _UI_SLIDER_PROPERTY_VALUE_WITH_ANIM) lv_slider_set_value(target, val, LV_ANIM_ON);
if(id == _UI_SLIDER_PROPERTY_VALUE) lv_slider_set_value(target, val, LV_ANIM_OFF);
}
void _ui_screen_change(lv_obj_t ** target, lv_scr_load_anim_t fademode, int spd, int delay, void (*target_init)(void))
{
if(*target == NULL)
target_init();
lv_scr_load_anim(*target, fademode, spd, delay, false);
}
void _ui_screen_delete(lv_obj_t ** target)
{
if(*target == NULL) {
lv_obj_del(*target);
target = NULL;
}
}
void _ui_arc_increment(lv_obj_t * target, int val)
{
int old = lv_arc_get_value(target);
lv_arc_set_value(target, old + val);
lv_event_send(target, LV_EVENT_VALUE_CHANGED, 0);
}
void _ui_bar_increment(lv_obj_t * target, int val, int anm)
{
int old = lv_bar_get_value(target);
lv_bar_set_value(target, old + val, anm);
}
void _ui_slider_increment(lv_obj_t * target, int val, int anm)
{
int old = lv_slider_get_value(target);
lv_slider_set_value(target, old + val, anm);
lv_event_send(target, LV_EVENT_VALUE_CHANGED, 0);
}
void _ui_keyboard_set_target(lv_obj_t * keyboard, lv_obj_t * textarea)
{
lv_keyboard_set_textarea(keyboard, textarea);
}
void _ui_flag_modify(lv_obj_t * target, int32_t flag, int value)
{
if(value == _UI_MODIFY_FLAG_TOGGLE) {
if(lv_obj_has_flag(target, flag)) lv_obj_clear_flag(target, flag);
else lv_obj_add_flag(target, flag);
}
else if(value == _UI_MODIFY_FLAG_ADD) lv_obj_add_flag(target, flag);
else lv_obj_clear_flag(target, flag);
}
void _ui_state_modify(lv_obj_t * target, int32_t state, int value)
{
if(value == _UI_MODIFY_STATE_TOGGLE) {
if(lv_obj_has_state(target, state)) lv_obj_clear_state(target, state);
else lv_obj_add_state(target, state);
}
else if(value == _UI_MODIFY_STATE_ADD) lv_obj_add_state(target, state);
else lv_obj_clear_state(target, state);
}
void _ui_textarea_move_cursor(lv_obj_t * target, int val)
{
if(val == UI_MOVE_CURSOR_UP) lv_textarea_cursor_up(target);
if(val == UI_MOVE_CURSOR_RIGHT) lv_textarea_cursor_right(target);
if(val == UI_MOVE_CURSOR_DOWN) lv_textarea_cursor_down(target);
if(val == UI_MOVE_CURSOR_LEFT) lv_textarea_cursor_left(target);
lv_obj_add_state(target, LV_STATE_FOCUSED);
}
void scr_unloaded_delete_cb(lv_event_t * e)
{
lv_obj_t ** var = lv_event_get_user_data(e);
lv_obj_del(*var);
(*var) = NULL;
}
void _ui_opacity_set(lv_obj_t * target, int val)
{
lv_obj_set_style_opa(target, val, 0);
}
void _ui_anim_callback_free_user_data(lv_anim_t * a)
{
lv_mem_free(a->user_data);
a->user_data = NULL;
}
void _ui_anim_callback_set_x(lv_anim_t * a, int32_t v)
{
ui_anim_user_data_t * usr = (ui_anim_user_data_t *)a->user_data;
lv_obj_set_x(usr->target, v);
}
void _ui_anim_callback_set_y(lv_anim_t * a, int32_t v)
{
ui_anim_user_data_t * usr = (ui_anim_user_data_t *)a->user_data;
lv_obj_set_y(usr->target, v);
}
void _ui_anim_callback_set_width(lv_anim_t * a, int32_t v)
{
ui_anim_user_data_t * usr = (ui_anim_user_data_t *)a->user_data;
lv_obj_set_width(usr->target, v);
}
void _ui_anim_callback_set_height(lv_anim_t * a, int32_t v)
{
ui_anim_user_data_t * usr = (ui_anim_user_data_t *)a->user_data;
lv_obj_set_height(usr->target, v);
}
void _ui_anim_callback_set_opacity(lv_anim_t * a, int32_t v)
{
ui_anim_user_data_t * usr = (ui_anim_user_data_t *)a->user_data;
lv_obj_set_style_opa(usr->target, v, 0);
}
void _ui_anim_callback_set_image_zoom(lv_anim_t * a, int32_t v)
{
ui_anim_user_data_t * usr = (ui_anim_user_data_t *)a->user_data;
lv_img_set_zoom(usr->target, v);
}
void _ui_anim_callback_set_image_angle(lv_anim_t * a, int32_t v)
{
ui_anim_user_data_t * usr = (ui_anim_user_data_t *)a->user_data;
lv_img_set_angle(usr->target, v);
}
void _ui_anim_callback_set_image_frame(lv_anim_t * a, int32_t v)
{
ui_anim_user_data_t * usr = (ui_anim_user_data_t *)a->user_data;
usr->val = v;
if(v < 0) v = 0;
if(v >= usr->imgset_size) v = usr->imgset_size - 1;
lv_img_set_src(usr->target, usr->imgset[v]);
}
int32_t _ui_anim_callback_get_x(lv_anim_t * a)
{
ui_anim_user_data_t * usr = (ui_anim_user_data_t *)a->user_data;
return lv_obj_get_x_aligned(usr->target);
}
int32_t _ui_anim_callback_get_y(lv_anim_t * a)
{
ui_anim_user_data_t * usr = (ui_anim_user_data_t *)a->user_data;
return lv_obj_get_y_aligned(usr->target);
}
int32_t _ui_anim_callback_get_width(lv_anim_t * a)
{
ui_anim_user_data_t * usr = (ui_anim_user_data_t *)a->user_data;
return lv_obj_get_width(usr->target);
}
int32_t _ui_anim_callback_get_height(lv_anim_t * a)
{
ui_anim_user_data_t * usr = (ui_anim_user_data_t *)a->user_data;
return lv_obj_get_height(usr->target);
}
int32_t _ui_anim_callback_get_opacity(lv_anim_t * a)
{
ui_anim_user_data_t * usr = (ui_anim_user_data_t *)a->user_data;
return lv_obj_get_style_opa(usr->target, 0);
}
int32_t _ui_anim_callback_get_image_zoom(lv_anim_t * a)
{
ui_anim_user_data_t * usr = (ui_anim_user_data_t *)a->user_data;
return lv_img_get_zoom(usr->target);
}
int32_t _ui_anim_callback_get_image_angle(lv_anim_t * a)
{
ui_anim_user_data_t * usr = (ui_anim_user_data_t *)a->user_data;
return lv_img_get_angle(usr->target);
}
int32_t _ui_anim_callback_get_image_frame(lv_anim_t * a)
{
ui_anim_user_data_t * usr = (ui_anim_user_data_t *)a->user_data;
return usr->val;
}
void _ui_arc_set_text_value(lv_obj_t * trg, lv_obj_t * src, const char * prefix, const char * postfix)
{
char buf[_UI_TEMPORARY_STRING_BUFFER_SIZE];
lv_snprintf(buf, sizeof(buf), "%s%d%s", prefix, (int)lv_arc_get_value(src), postfix);
lv_label_set_text(trg, buf);
}
void _ui_slider_set_text_value(lv_obj_t * trg, lv_obj_t * src, const char * prefix, const char * postfix)
{
char buf[_UI_TEMPORARY_STRING_BUFFER_SIZE];
lv_snprintf(buf, sizeof(buf), "%s%d%s", prefix, (int)lv_slider_get_value(src), postfix);
lv_label_set_text(trg, buf);
}
void _ui_checked_set_text_value(lv_obj_t * trg, lv_obj_t * src, const char * txt_on, const char * txt_off)
{
if(lv_obj_has_state(src, LV_STATE_CHECKED)) lv_label_set_text(trg, txt_on);
else lv_label_set_text(trg, txt_off);
}
void _ui_spinbox_step(lv_obj_t * target, int val)
{
if(val > 0) lv_spinbox_increment(target);
else lv_spinbox_decrement(target);
lv_event_send(target, LV_EVENT_VALUE_CHANGED, 0);
}
void _ui_switch_theme(int val)
{
#ifdef UI_THEME_ACTIVE
ui_theme_set(val);
#endif
}

148
lib/hansolov2/ui_helpers.h Normal file
View File

@ -0,0 +1,148 @@
// This file was generated by SquareLine Studio
// SquareLine Studio version: SquareLine Studio 1.4.0
// LVGL version: 8.3.6
// Project name: han-wt32
#ifndef _HAN_WT32_UI_HELPERS_H
#define _HAN_WT32_UI_HELPERS_H
#ifdef __cplusplus
extern "C" {
#endif
#include "ui.h"
#define _UI_TEMPORARY_STRING_BUFFER_SIZE 32
#define _UI_BAR_PROPERTY_VALUE 0
#define _UI_BAR_PROPERTY_VALUE_WITH_ANIM 1
void _ui_bar_set_property(lv_obj_t * target, int id, int val);
#define _UI_BASIC_PROPERTY_POSITION_X 0
#define _UI_BASIC_PROPERTY_POSITION_Y 1
#define _UI_BASIC_PROPERTY_WIDTH 2
#define _UI_BASIC_PROPERTY_HEIGHT 3
void _ui_basic_set_property(lv_obj_t * target, int id, int val);
#define _UI_DROPDOWN_PROPERTY_SELECTED 0
void _ui_dropdown_set_property(lv_obj_t * target, int id, int val);
#define _UI_IMAGE_PROPERTY_IMAGE 0
void _ui_image_set_property(lv_obj_t * target, int id, uint8_t * val);
#define _UI_LABEL_PROPERTY_TEXT 0
void _ui_label_set_property(lv_obj_t * target, int id, const char * val);
#define _UI_ROLLER_PROPERTY_SELECTED 0
#define _UI_ROLLER_PROPERTY_SELECTED_WITH_ANIM 1
void _ui_roller_set_property(lv_obj_t * target, int id, int val);
#define _UI_SLIDER_PROPERTY_VALUE 0
#define _UI_SLIDER_PROPERTY_VALUE_WITH_ANIM 1
void _ui_slider_set_property(lv_obj_t * target, int id, int val);
void _ui_screen_change(lv_obj_t ** target, lv_scr_load_anim_t fademode, int spd, int delay, void (*target_init)(void));
void _ui_screen_delete(lv_obj_t ** target);
void _ui_arc_increment(lv_obj_t * target, int val);
void _ui_bar_increment(lv_obj_t * target, int val, int anm);
void _ui_slider_increment(lv_obj_t * target, int val, int anm);
void _ui_keyboard_set_target(lv_obj_t * keyboard, lv_obj_t * textarea);
#define _UI_MODIFY_FLAG_ADD 0
#define _UI_MODIFY_FLAG_REMOVE 1
#define _UI_MODIFY_FLAG_TOGGLE 2
void _ui_flag_modify(lv_obj_t * target, int32_t flag, int value);
#define _UI_MODIFY_STATE_ADD 0
#define _UI_MODIFY_STATE_REMOVE 1
#define _UI_MODIFY_STATE_TOGGLE 2
void _ui_state_modify(lv_obj_t * target, int32_t state, int value);
#define UI_MOVE_CURSOR_UP 0
#define UI_MOVE_CURSOR_RIGHT 1
#define UI_MOVE_CURSOR_DOWN 2
#define UI_MOVE_CURSOR_LEFT 3
void _ui_textarea_move_cursor(lv_obj_t * target, int val)
;
void scr_unloaded_delete_cb(lv_event_t * e);
void _ui_opacity_set(lv_obj_t * target, int val);
/** Describes an animation*/
typedef struct _ui_anim_user_data_t {
lv_obj_t * target;
lv_img_dsc_t ** imgset;
int32_t imgset_size;
int32_t val;
} ui_anim_user_data_t;
void _ui_anim_callback_free_user_data(lv_anim_t * a);
void _ui_anim_callback_set_x(lv_anim_t * a, int32_t v);
void _ui_anim_callback_set_y(lv_anim_t * a, int32_t v);
void _ui_anim_callback_set_width(lv_anim_t * a, int32_t v);
void _ui_anim_callback_set_height(lv_anim_t * a, int32_t v);
void _ui_anim_callback_set_opacity(lv_anim_t * a, int32_t v);
void _ui_anim_callback_set_image_zoom(lv_anim_t * a, int32_t v);
void _ui_anim_callback_set_image_angle(lv_anim_t * a, int32_t v);
void _ui_anim_callback_set_image_frame(lv_anim_t * a, int32_t v);
int32_t _ui_anim_callback_get_x(lv_anim_t * a);
int32_t _ui_anim_callback_get_y(lv_anim_t * a);
int32_t _ui_anim_callback_get_width(lv_anim_t * a);
int32_t _ui_anim_callback_get_height(lv_anim_t * a);
int32_t _ui_anim_callback_get_opacity(lv_anim_t * a);
int32_t _ui_anim_callback_get_image_zoom(lv_anim_t * a);
int32_t _ui_anim_callback_get_image_angle(lv_anim_t * a);
int32_t _ui_anim_callback_get_image_frame(lv_anim_t * a);
void _ui_arc_set_text_value(lv_obj_t * trg, lv_obj_t * src, const char * prefix, const char * postfix);
void _ui_slider_set_text_value(lv_obj_t * trg, lv_obj_t * src, const char * prefix, const char * postfix);
void _ui_checked_set_text_value(lv_obj_t * trg, lv_obj_t * src, const char * txt_on, const char * txt_off);
void _ui_spinbox_step(lv_obj_t * target, int val)
;
void _ui_switch_theme(int val)
;
#ifdef __cplusplus
} /*extern "C"*/
#endif
#endif

View File

@ -11,8 +11,7 @@
[platformio]
globallib_dir = lib
default_envs = M5Stick-C, esp32cam, ESP32-2432S028R, ESP32_2432S028_2USB, NerminerV2, Lilygo-T-Embed, ESP32-devKitv1, NerminerV2-S3-DONGLE, NerminerV2-S3-AMOLED, NerminerV2-T-QT, NerdminerV2-T-Display_V1, ESP32-2432S028R, M5-StampS3, ESP32-S3-devKitv1, ESP32-S3-mini-wemos, ESP32-S3-mini-weact, ESP32-C3-devKitmv1, ESP32-C3-super-mini
default_envs = NerdminerV2-T-HMI, wt32-sc01, wt32-sc01-plus, han_m5stack, M5Stick-C, esp32cam, ESP32-2432S028R, ESP32_2432S028_2USB, NerminerV2, Lilygo-T-Embed, ESP32-devKitv1, NerminerV2-S3-DONGLE, NerminerV2-S3-GEEK, NerminerV2-S3-AMOLED, NerminerV2-S3-AMOLED-TOUCH, NerminerV2-T-QT, NerdminerV2-T-Display_V1, ESP32-2432S028R, M5-StampS3, ESP32-S3-devKitv1, ESP32-S3-mini-wemos, ESP32-S2-mini-wemos, ESP32-S3-mini-weact, ESP32-D0WD-V3-weact, ESP32-C3-devKitmv1, ESP32-C3-super-mini
[env:M5Stick-C]
platform = espressif32
@ -41,7 +40,75 @@ lib_ignore =
SD
SD_MMC
rm67162
HANSOLOminerv2
;--------------------------------------------------------------------
[env:wt32-sc01]
platform = espressif32
board = esp-wrover-kit
framework = arduino
monitor_filters =
esp32_exception_decoder
time
log2file
monitor_speed = 115200
upload_speed = 921600
board_build.partitions = huge_app.csv
lib_deps =
fbiego/ESP32Time@^2.0.0
bblanchon/ArduinoJson@^6.21.2
lvgl/lvgl@^8.3.1
lovyan03/LovyanGFX@^0.4.18
https://github.com/tzapu/WiFiManager.git
arduino-libraries/NTPClient
mathertel/OneButton @ ^2.0.3
build_flags =
-D BOARD_HAS_PSRAM
-mfix-esp32-psram-cache-issue
-I lib
-D LV_MEM_SIZE="(64U * 1024U)"
;-D DEBUG_MINING=1
-D HAN=1
-D WT32_BOARD=1
lib_ignore =
TFT_eSPI
;--------------------------------------------------------------------
[env:wt32-sc01-plus]
platform = espressif32
board = esp32-s3-devkitc-1
framework = arduino
monitor_filters =
esp32_exception_decoder
time
log2file
monitor_speed = 115200
upload_speed = 921600
board_build.partitions = default_8MB.csv
board_build.mcu = esp32s3
board_build.f_cpu = 240000000L
lib_deps =
fbiego/ESP32Time@^2.0.0
bblanchon/ArduinoJson@^6.21.2
lvgl/lvgl@^8.3.1
lovyan03/LovyanGFX@^0.4.18
https://github.com/tzapu/WiFiManager.git
arduino-libraries/NTPClient
mathertel/OneButton @ ^2.0.3
build_flags =
-D BOARD_HAS_PSRAM
-mfix-esp32-psram-cache-issue
-I lib
-D LV_MEM_SIZE="(96U * 1024U)"
;-D DEBUG_MINING=1
-D HAN=1
-D WT32_BOARD=1
-D PLUS=1
lib_ignore =
TFT_eSPI
;--------------------------------------------------------------------
[env:ESP32-S3-mini-wemos]
@ -72,6 +139,65 @@ lib_deps =
https://github.com/FastLED/FastLED
lib_ignore =
TFT_eSPI
HANSOLOminerv2
;--------------------------------------------------------------------
[env:han_m5stack]
platform = espressif32
board = m5stack-core-esp32
framework = arduino
monitor_filters =
esp32_exception_decoder
time
log2file
;board_build.arduino.memory_type = qio_opi
monitor_speed = 115200
upload_speed = 115200
# 2 x 4.5MB app, 6.875MB SPIFFS
board_build.partitions = huge_app.csv
build_flags =
-D HAN=1
-D M5STACK_BOARD=1
;-D DEBUG_MINING=1
lib_deps =
bblanchon/ArduinoJson@^6.21.2
https://github.com/tzapu/WiFiManager.git#v2.0.16-rc.2
mathertel/OneButton @ ^2.0.3
arduino-libraries/NTPClient
m5stack@^0.4.6
lib_ignore =
TFT_eSPI
HANSOLOminerv2
;--------------------------------------------------------------------
[env:ESP32-S2-mini-wemos]
platform = espressif32
board = lolin_s2_mini
framework = arduino
monitor_filters =
esp32_exception_decoder
time
log2file
monitor_speed = 115200
upload_speed = 115200
board_build.partitions = huge_app.csv
build_flags =
-D BOARD_HAS_PSRAM
-D DEVKITV1=1
-D PIN_BUTTON_1=0
-D LED_PIN=15
;-D DEBUG_MINING=1
lib_deps =
https://github.com/takkaO/OpenFontRender
bblanchon/ArduinoJson@^6.21.2
https://github.com/tzapu/WiFiManager.git#v2.0.16-rc.2
mathertel/OneButton @ ^2.0.3
arduino-libraries/NTPClient
lib_ignore =
TFT_eSPI
;--------------------------------------------------------------------
@ -103,6 +229,39 @@ lib_deps =
https://github.com/FastLED/FastLED
lib_ignore =
TFT_eSPI
HANSOLOminerv2
;--------------------------------------------------------------------
[env:ESP32-D0WD-V3-weact]
platform = espressif32
board = esp32dev
framework = arduino
monitor_filters =
esp32_exception_decoder
time
log2file
monitor_speed = 115200
upload_speed = 115200
board_build.partitions = huge_app.csv
build_flags =
-D DEVKITV1=1
-D PIN_BUTTON_1=0
-D LED_PIN=22
-D ACTIVE_LED=LOW
-D INACTIVE_LED=HIGH
lib_deps =
https://github.com/takkaO/OpenFontRender
bblanchon/ArduinoJson@^6.21.2
https://github.com/tzapu/WiFiManager.git#v2.0.16-rc.2
mathertel/OneButton @ ^2.0.3
arduino-libraries/NTPClient
lib_ignore =
TFT_eSPI
;--------------------------------------------------------------------
[env:ESP32-C3-super-mini]
@ -117,7 +276,6 @@ monitor_speed = 115200
upload_speed = 115200
board_build.partitions = huge_app.csv
build_flags =
-D BOARD_HAS_PSRAM
-D ARDUINO_USB_MODE=1
-D ARDUINO_USB_CDC_ON_BOOT=1
-D DEVKITV1=1
@ -132,6 +290,8 @@ lib_deps =
arduino-libraries/NTPClient
lib_ignore =
TFT_eSPI
HANSOLOminerv2
;--------------------------------------------------------------------
[env:ESP32-C3-devKitmv1]
@ -146,7 +306,6 @@ monitor_speed = 115200
upload_speed = 115200
board_build.partitions = huge_app.csv
build_flags =
-D BOARD_HAS_PSRAM
-D ARDUINO_USB_MODE=1
-D ARDUINO_USB_CDC_ON_BOOT=1
-D ESP32RGB=1
@ -162,6 +321,7 @@ lib_deps =
https://github.com/FastLED/FastLED
lib_ignore =
TFT_eSPI
HANSOLOminerv2
;--------------------------------------------------------------------
@ -193,6 +353,7 @@ lib_deps =
https://github.com/FastLED/FastLED
lib_ignore =
TFT_eSPI
HANSOLOminerv2
;--------------------------------------------------------------------
@ -226,6 +387,8 @@ lib_deps =
mathertel/OneButton @ ^2.0.3
arduino-libraries/NTPClient
;https://github.com/golden-guy/Arduino_wolfssl.git#v5.5.4
lib_ignore =
HANSOLOminerv2
;--------------------------------------------------------------------
@ -259,6 +422,8 @@ lib_deps =
mathertel/OneButton @ ^2.0.3
arduino-libraries/NTPClient
;https://github.com/golden-guy/Arduino_wolfssl.git#v5.5.4
lib_ignore =
HANSOLOminerv2
;--------------------------------------------------------------------
@ -284,6 +449,8 @@ lib_deps =
https://github.com/tzapu/WiFiManager.git#v2.0.16-rc.2
mathertel/OneButton @ ^2.0.3
arduino-libraries/NTPClient
lib_ignore =
HANSOLOminerv2
;--------------------------------------------------------------------
@ -310,6 +477,8 @@ lib_deps =
mathertel/OneButton @ ^2.0.3
arduino-libraries/NTPClient
;https://github.com/golden-guy/Arduino_wolfssl.git#v5.5.4
lib_ignore =
HANSOLOminerv2
;--------------------------------------------------------------------
@ -320,6 +489,7 @@ framework = arduino
board_build.partitions = huge_app.csv
build_flags =
-DNERMINER_S3_AMOLED
-DTOUCH=0
-DBOARD_HAS_PSRAM
-DARDUINO_USB_CDC_ON_BOOT
lib_deps =
@ -332,6 +502,28 @@ lib_deps =
;--------------------------------------------------------------------
[env:NerminerV2-S3-AMOLED-TOUCH]
platform = espressif32
board = lilygo-t-amoled
framework = arduino
board_build.partitions = huge_app.csv
build_flags =
-DNERMINER_S3_AMOLED
-DTOUCH=1
-DBOARD_HAS_PSRAM
-DARDUINO_USB_CDC_ON_BOOT
lib_deps =
https://github.com/takkaO/OpenFontRender
bblanchon/ArduinoJson@^6.21.2
https://github.com/tzapu/WiFiManager.git#v2.0.16-rc.2
mathertel/OneButton @ ^2.0.3
arduino-libraries/NTPClient
https://github.com/golden-guy/Arduino_wolfssl.git#v5.5.4
lib_ignore =
HANSOLOminerv2
;--------------------------------------------------------------------
[env:NerminerV2-S3-DONGLE]
platform = espressif32
board = esp32-s3-devkitc-1
@ -351,6 +543,29 @@ lib_deps =
arduino-libraries/NTPClient
https://github.com/FastLED/FastLED
;https://github.com/golden-guy/Arduino_wolfssl.git#v5.5.4
lib_ignore =
HANSOLOminerv2
;--------------------------------------------------------------------
[env:NerminerV2-S3-GEEK]
platform = espressif32
board = esp32-s3-devkitc-1
framework = arduino
board_build.partitions = huge_app.csv
build_flags =
-DNERMINER_S3_GEEK
-DBOARD_HAS_PSRAM
-DARDUINO_USB_CDC_ON_BOOT
-DTFT_BACKLIGHT_ON=HIGH
lib_deps =
https://github.com/takkaO/OpenFontRender
bblanchon/ArduinoJson@^6.21.2
https://github.com/tzapu/WiFiManager.git#v2.0.16-rc.2
mathertel/OneButton @ ^2.0.3
arduino-libraries/NTPClient
;https://github.com/golden-guy/Arduino_wolfssl.git#v5.5.4
;--------------------------------------------------------------------
@ -379,7 +594,7 @@ lib_deps =
arduino-libraries/NTPClient
https://github.com/takkaO/OpenFontRender
lib_ignore =
;TFT_eSPI
HANSOLOminerv2
;--------------------------------------------------------------------
@ -394,17 +609,17 @@ monitor_filters =
;board_build.arduino.memory_type = qio_opi
monitor_speed = 115200
upload_speed = 115200
build_flags =
-D BOARD_HAS_PSRAM
-D NERMINER_T_QT=1
lib_deps =
https://github.com/takkaO/OpenFontRender
bblanchon/ArduinoJson@^6.21.2
https://github.com/tzapu/WiFiManager.git#v2.0.16-rc.2
mathertel/OneButton @ ^2.0.3
arduino-libraries/NTPClient
lib_ignore =
HANSOLOminerv2
;--------------------------------------------------------------------
@ -455,6 +670,8 @@ lib_deps =
arduino-libraries/NTPClient
bodmer/TFT_eSPI @ ^2.5.31
https://github.com/achillhasler/TFT_eTouch
lib_ignore =
HANSOLOminerv2
;--------------------------------------------------------------------
@ -500,6 +717,42 @@ lib_deps =
arduino-libraries/NTPClient
bodmer/TFT_eSPI @ ^2.5.31
https://github.com/achillhasler/TFT_eTouch
lib_ignore =
HANSOLOminerv2
;--------------------------------------------------------------------
[env:NerdminerV2-T-HMI]
platform = espressif32
board = lilygo-t-hmi
framework = arduino
board_build.partitions = default_16MB.csv
monitor_filters =
esp32_exception_decoder
time
log2file
monitor_speed = 115200
upload_speed = 921600
upload_port = /dev/ttyACM0
build_flags =
-D ARDUINO_USB_MODE=1
-D ARDUINO_USB_CDC_ON_BOOT=1
-D BOARD_HAS_PSRAM
-D NERDMINER_T_HMI=1
-D USER_SETUP_LOADED=1
-include $PROJECT_LIBDEPS_DIR/$PIOENV/TFT_eSPI/User_Setups/Setup207_LilyGo_T_HMI.h
board_build.arduino.memory_type = qio_opi
lib_deps =
https://github.com/takkaO/OpenFontRender
bblanchon/ArduinoJson@^6.21.2
https://github.com/tzapu/WiFiManager.git#v2.0.16-rc.2
mathertel/OneButton @ ^2.0.3
arduino-libraries/NTPClient
bodmer/TFT_eSPI @ ^2.5.31
https://github.com/achillhasler/TFT_eTouch
;--------------------------------------------------------------------
@ -507,22 +760,20 @@ lib_deps =
platform = espressif32
board = ttgo-lora32-v1
framework = arduino
monitor_speed = 115200
upload_speed = 115200
board_build.partitions = huge_app.csv
build_flags =
-D NERDMINER_T_DISPLAY_V1=1
-D DEBUG_MINING=1
lib_deps =
https://github.com/takkaO/OpenFontRender
bblanchon/ArduinoJson@^6.21.2
https://github.com/tzapu/WiFiManager.git#v2.0.16-rc.2
mathertel/OneButton @ ^2.0.3
https://github.com/arduino-libraries/NTPClient
lib_ignore =
HANSOLOminerv2
;--------------------------------------------------------------------
@ -553,3 +804,4 @@ lib_ignore =
SD
rm67162
SPI
HANSOLOminerv2

View File

@ -1,4 +1,5 @@
#include <Wire.h>
#include <Arduino.h>
#include <WiFi.h>
@ -12,6 +13,7 @@
#include "monitor.h"
#include "drivers/displays/display.h"
#include "drivers/storage/SDCard.h"
#include "timeconst.h"
//3 seconds WDT
#define WDT_TIMEOUT 3
@ -53,7 +55,7 @@ void setup()
#endif //MONITOR_SPEED
Serial.setTimeout(0);
delay(100);
delay(SECOND_MS/10);
esp_task_wdt_init(WDT_MINER_TIMEOUT, true);
// Idle task that would reset WDT never runs, because core 0 gets fully utilized
@ -62,7 +64,7 @@ void setup()
// Setup the buttons
#if defined(PIN_BUTTON_1) && !defined(PIN_BUTTON_2) //One button device
button1.setPressTicks(5000);
button1.setPressMs(5*SECOND_MS);
button1.attachClick(switchToNextScreen);
button1.attachDoubleClick(alternateScreenRotation);
button1.attachLongPressStart(reset_configuration);
@ -70,13 +72,13 @@ void setup()
#endif
#if defined(PIN_BUTTON_1) && defined(PIN_BUTTON_2) //Button 1 of two button device
button1.setPressTicks(5000);
button1.setPressMs(5*SECOND_MS);
button1.attachClick(alternateScreenState);
button1.attachDoubleClick(alternateScreenRotation);
#endif
#if defined(PIN_BUTTON_2) //Button 2 of two button device
button2.setPressTicks(5000);
button2.setPressMs(5*SECOND_MS);
button2.attachClick(switchToNextScreen);
button2.attachLongPressStart(reset_configuration);
#endif
@ -89,7 +91,7 @@ void setup()
/******** PRINT INIT SCREEN *****/
drawLoadingScreen();
delay(2000);
delay(2*SECOND_MS);
/******** SHOW LED INIT STATUS (devices without screen) *****/
mMonitor.NerdStatus = NM_waitingConfig;
@ -128,7 +130,6 @@ void setup()
/******** MONITOR SETUP *****/
setup_monitor();
}
void app_error_fault_handler(void *arg) {
@ -152,7 +153,7 @@ void loop() {
button2.tick();
#endif
wifiManagerProcess(); // avoid delays() in loop when non-blocking and other long running code
wifiManagerProcess(); // avoid delays() in loop when non-blocking and other long running code
vTaskDelay(50 / portTICK_PERIOD_MS);
}

View File

@ -27,6 +27,23 @@
#include "esp32CAM.h"
#elif defined(ESP32RGB)
#include "esp32RGB.h"
#elif defined(M5_STAMP_S3)
#include "m5StampS3.h"
#elif defined(DEVKITV1RGB)
#include "esp32DevKitRGB.h"
#elif defined(S3MINIWEMOS)
#include "esp32S3MiniWemos.h"
#elif defined(S3MINIWEACT)
#include "esp32S3MiniWeact.h"
#elif defined(M5STACK_BOARD)
#include "m5stack.h"
#elif defined(WT32_BOARD)
#include "wt32.h"
#elif defined(NERMINER_S3_GEEK)
#include "waveshareS3Geek.h"
#elif defined(NERDMINER_T_HMI)
#include "lilygoT_HMI.h"
#else
#error "No device defined"

View File

@ -7,4 +7,16 @@
#define LED_PIN 4 // Red pin
#define LED_PIN_G 17 // Green pin
// Pin defines for the SD card interface
// This is working for both, ESP32 2432S028R and ESP 2432S028_2USB boards
// --------------------------------------
// use SPI interface
// (default SPI unit provided by <SPI.h>)
// setup SPI pins.
#define SDSPI_CS 5
#define SDSPI_CLK 18
#define SDSPI_MOSI 23
#define SDSPI_MISO 19
#endif

View File

@ -4,6 +4,9 @@
#define PIN_BUTTON_1 0
#define LED_PIN 33
#define ACTIVE_LED HIGH
#define INACTIVE_LED LOW
#define NO_DISPLAY
// example how to configure SD card.

View File

@ -5,6 +5,14 @@
#define PIN_BUTTON_1 0
#endif
#ifndef ACTIVE_LED
#define ACTIVE_LED HIGH
#endif
#ifndef INACTIVE_LED
#define INACTIVE_LED LOW
#endif
#ifndef LED_PIN
#define LED_PIN 2
#endif

View File

@ -0,0 +1,42 @@
#ifndef _NERD_MINER_T_HMI_H
#define _NERD_MINER_T_HMI_H
#define T_HMI_DISPLAY
#define PWR_EN_PIN (10)
#define PWR_ON_PIN (14)
#define BAT_ADC_PIN (5)
#define BUTTON1_PIN (0)
#define BUTTON2_PIN (21)
#define PIN_BUTTON_1 BUTTON1_PIN
// #define PIN_BUTTON_2 BUTTON2_PIN
// touch screen
#define TOUCHSCREEN_SCLK_PIN (1)
#define TOUCHSCREEN_MISO_PIN (4)
#define TOUCHSCREEN_MOSI_PIN (3)
#define TOUCHSCREEN_CS_PIN (2)
#define TOUCHSCREEN_IRQ_PIN (9)
#define TOUCH_CLK TOUCHSCREEN_SCLK_PIN
#define TOUCH_MISO TOUCHSCREEN_MISO_PIN
#define TOUCH_MOSI TOUCHSCREEN_MOSI_PIN
#define ETOUCH_CS TOUCHSCREEN_CS_PIN
// lcd
#define PCLK_PIN (8)
#define CS_PIN (6)
#define DC_PIN (7)
#define RST_PIN (-1)
#define BK_LIGHT_PIN (38)
#define LED_PIN (8)
#ifndef TFT_BL
// XXX - defined in User_Setups/Setup207_LilyGo_T_HMI.h:37
#define TFT_BL (38) // LED back-light
#endif
#endif

View File

@ -0,0 +1,6 @@
#ifndef _M5_STACK_H
#define _M5_STACK_H
#define M5STACK_DISPLAY
#endif

View File

@ -0,0 +1,7 @@
#ifndef _WAVESHARE_S3_GEEK_H
#define _WAVESHARE_S3_GEEK_H
#define PIN_BUTTON_1 0
#define V1_DISPLAY
#endif

View File

@ -0,0 +1,6 @@
#ifndef _M5_STACK_H
#define _M5_STACK_H
#define WT32_DISPLAY
#endif

View File

@ -0,0 +1,377 @@
// Attach this header file to your sketch to use the GFX Free Fonts. You can write
// sketches without it, but it makes referencing them easier.
// This calls up ALL the fonts but they only get loaded if you actually
// use them in your sketch.
//
// No changes are needed to this header file unless new fonts are added to the
// library "Fonts/GFXFF" folder.
//
// To save a lot of typing long names, each font can easily be referenced in the
// sketch in three ways, either with:
//
// 1. Font file name with the & in front such as &FreeSansBoldOblique24pt7b
// an example being:
//
// tft.setFreeFont(&FreeSansBoldOblique24pt7b);
//
// 2. FF# where # is a number determined by looking at the list below
// an example being:
//
// tft.setFreeFont(FF32);
//
// 3. An abbreviation of the file name. Look at the list below to see
// the abbreviations used, for example:
//
// tft.setFreeFont(FSSBO24)
//
// Where the letters mean:
// F = Free font
// M = Mono
// SS = Sans Serif (double S to distinguish is form serif fonts)
// S = Serif
// B = Bold
// O = Oblique (letter O not zero)
// I = Italic
// # = point size, either 9, 12, 18 or 24
//
// Setting the font to NULL will select the GLCD font:
//
// tft.setFreeFont(NULL); // Set font to GLCD
#define LOAD_GFXFF
#ifdef LOAD_GFXFF // Only include the fonts if LOAD_GFXFF is defined in User_Setup.h
// Use these when printing or drawing text in GLCD and high rendering speed fonts
#define GFXFF 1
#define GLCD 0
#define FONT2 2
#define FONT4 4
#define FONT6 6
#define FONT7 7
#define FONT8 8
// Use the following when calling setFont()
//
// Reserved for GLCD font // FF0
//
#define TT1 &TomThumb
#define FM9 &FreeMono9pt7b
#define FM12 &FreeMono12pt7b
#define FM18 &FreeMono18pt7b
#define FM24 &FreeMono24pt7b
#define FMB9 &FreeMonoBold9pt7b
#define FMB12 &FreeMonoBold12pt7b
#define FMB18 &FreeMonoBold18pt7b
#define FMB24 &FreeMonoBold24pt7b
#define FMO9 &FreeMonoOblique9pt7b
#define FMO12 &FreeMonoOblique12pt7b
#define FMO18 &FreeMonoOblique18pt7b
#define FMO24 &FreeMonoOblique24pt7b
#define FMBO9 &FreeMonoBoldOblique9pt7b
#define FMBO12 &FreeMonoBoldOblique12pt7b
#define FMBO18 &FreeMonoBoldOblique18pt7b
#define FMBO24 &FreeMonoBoldOblique24pt7b
#define FSS9 &FreeSans9pt7b
#define FSS12 &FreeSans12pt7b
#define FSS18 &FreeSans18pt7b
#define FSS24 &FreeSans24pt7b
#define FSSB9 &FreeSansBold9pt7b
#define FSSB12 &FreeSansBold12pt7b
#define FSSB18 &FreeSansBold18pt7b
#define FSSB24 &FreeSansBold24pt7b
#define FSSO9 &FreeSansOblique9pt7b
#define FSSO12 &FreeSansOblique12pt7b
#define FSSO18 &FreeSansOblique18pt7b
#define FSSO24 &FreeSansOblique24pt7b
#define FSSBO9 &FreeSansBoldOblique9pt7b
#define FSSBO12 &FreeSansBoldOblique12pt7b
#define FSSBO18 &FreeSansBoldOblique18pt7b
#define FSSBO24 &FreeSansBoldOblique24pt7b
#define FS9 &FreeSerif9pt7b
#define FS12 &FreeSerif12pt7b
#define FS18 &FreeSerif18pt7b
#define FS24 &FreeSerif24pt7b
#define FSI9 &FreeSerifItalic9pt7b
#define FSI12 &FreeSerifItalic12pt7b
#define FSI19 &FreeSerifItalic18pt7b
#define FSI24 &FreeSerifItalic24pt7b
#define FSB9 &FreeSerifBold9pt7b
#define FSB12 &FreeSerifBold12pt7b
#define FSB18 &FreeSerifBold18pt7b
#define FSB24 &FreeSerifBold24pt7b
#define FSBI9 &FreeSerifBoldItalic9pt7b
#define FSBI12 &FreeSerifBoldItalic12pt7b
#define FSBI18 &FreeSerifBoldItalic18pt7b
#define FSBI24 &FreeSerifBoldItalic24pt7b
#define FF0 NULL //ff0 reserved for GLCD
#define FF1 &FreeMono9pt7b
#define FF2 &FreeMono12pt7b
#define FF3 &FreeMono18pt7b
#define FF4 &FreeMono24pt7b
#define FF5 &FreeMonoBold9pt7b
#define FF6 &FreeMonoBold12pt7b
#define FF7 &FreeMonoBold18pt7b
#define FF8 &FreeMonoBold24pt7b
#define FF9 &FreeMonoOblique9pt7b
#define FF10 &FreeMonoOblique12pt7b
#define FF11 &FreeMonoOblique18pt7b
#define FF12 &FreeMonoOblique24pt7b
#define FF13 &FreeMonoBoldOblique9pt7b
#define FF14 &FreeMonoBoldOblique12pt7b
#define FF15 &FreeMonoBoldOblique18pt7b
#define FF16 &FreeMonoBoldOblique24pt7b
#define FF17 &FreeSans9pt7b
#define FF18 &FreeSans12pt7b
#define FF19 &FreeSans18pt7b
#define FF20 &FreeSans24pt7b
#define FF21 &FreeSansBold9pt7b
#define FF22 &FreeSansBold12pt7b
#define FF23 &FreeSansBold18pt7b
#define FF24 &FreeSansBold24pt7b
#define FF25 &FreeSansOblique9pt7b
#define FF26 &FreeSansOblique12pt7b
#define FF27 &FreeSansOblique18pt7b
#define FF28 &FreeSansOblique24pt7b
#define FF29 &FreeSansBoldOblique9pt7b
#define FF30 &FreeSansBoldOblique12pt7b
#define FF31 &FreeSansBoldOblique18pt7b
#define FF32 &FreeSansBoldOblique24pt7b
#define FF33 &FreeSerif9pt7b
#define FF34 &FreeSerif12pt7b
#define FF35 &FreeSerif18pt7b
#define FF36 &FreeSerif24pt7b
#define FF37 &FreeSerifItalic9pt7b
#define FF38 &FreeSerifItalic12pt7b
#define FF39 &FreeSerifItalic18pt7b
#define FF40 &FreeSerifItalic24pt7b
#define FF41 &FreeSerifBold9pt7b
#define FF42 &FreeSerifBold12pt7b
#define FF43 &FreeSerifBold18pt7b
#define FF44 &FreeSerifBold24pt7b
#define FF45 &FreeSerifBoldItalic9pt7b
#define FF46 &FreeSerifBoldItalic12pt7b
#define FF47 &FreeSerifBoldItalic18pt7b
#define FF48 &FreeSerifBoldItalic24pt7b
// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
// Now we define "s"tring versions for easy printing of the font name so:
// tft.println(sFF5);
// will print
// Mono bold 9
// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
#define sFF0 "GLCD"
#define sTT1 "Tom Thumb"
#define sFF1 "Mono 9"
#define sFF2 "Mono 12"
#define sFF3 "Mono 18"
#define sFF4 "Mono 24"
#define sFF5 "Mono bold 9"
#define sFF6 "Mono bold 12"
#define sFF7 "Mono bold 18"
#define sFF8 "Mono bold 24"
#define sFF9 "Mono oblique 9"
#define sFF10 "Mono oblique 12"
#define sFF11 "Mono oblique 18"
#define sFF12 "Mono oblique 24"
#define sFF13 "Mono bold oblique 9"
#define sFF14 "Mono bold oblique 12"
#define sFF15 "Mono bold oblique 18"
#define sFF16 "Mono bold obl. 24" // Full text line is too big for 480 pixel wide screen
#define sFF17 "Sans 9"
#define sFF18 "Sans 12"
#define sFF19 "Sans 18"
#define sFF20 "Sans 24"
#define sFF21 "Sans bold 9"
#define sFF22 "Sans bold 12"
#define sFF23 "Sans bold 18"
#define sFF24 "Sans bold 24"
#define sFF25 "Sans oblique 9"
#define sFF26 "Sans oblique 12"
#define sFF27 "Sans oblique 18"
#define sFF28 "Sans oblique 24"
#define sFF29 "Sans bold oblique 9"
#define sFF30 "Sans bold oblique 12"
#define sFF31 "Sans bold oblique 18"
#define sFF32 "Sans bold oblique 24"
#define sFF33 "Serif 9"
#define sFF34 "Serif 12"
#define sFF35 "Serif 18"
#define sFF36 "Serif 24"
#define sFF37 "Serif italic 9"
#define sFF38 "Serif italic 12"
#define sFF39 "Serif italic 18"
#define sFF40 "Serif italic 24"
#define sFF41 "Serif bold 9"
#define sFF42 "Serif bold 12"
#define sFF43 "Serif bold 18"
#define sFF44 "Serif bold 24"
#define sFF45 "Serif bold italic 9"
#define sFF46 "Serif bold italic 12"
#define sFF47 "Serif bold italic 18"
#define sFF48 "Serif bold italic 24"
#else // LOAD_GFXFF not defined so setup defaults to prevent error messages
// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
// Free fonts are not loaded in User_Setup.h so we must define all as font 1
// to prevent compile error messages
// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
#define GFXFF 1
#define GLCD 1
#define FONT2 2
#define FONT4 4
#define FONT6 6
#define FONT7 7
#define FONT8 8
#define FF0 1
#define FF1 1
#define FF2 1
#define FF3 1
#define FF4 1
#define FF5 1
#define FF6 1
#define FF7 1
#define FF8 1
#define FF9 1
#define FF10 1
#define FF11 1
#define FF12 1
#define FF13 1
#define FF14 1
#define FF15 1
#define FF16 1
#define FF17 1
#define FF18 1
#define FF19 1
#define FF20 1
#define FF21 1
#define FF22 1
#define FF23 1
#define FF24 1
#define FF25 1
#define FF26 1
#define FF27 1
#define FF28 1
#define FF29 1
#define FF30 1
#define FF31 1
#define FF32 1
#define FF33 1
#define FF34 1
#define FF35 1
#define FF36 1
#define FF37 1
#define FF38 1
#define FF39 1
#define FF40 1
#define FF41 1
#define FF42 1
#define FF43 1
#define FF44 1
#define FF45 1
#define FF46 1
#define FF47 1
#define FF48 1
#define FM9 1
#define FM12 1
#define FM18 1
#define FM24 1
#define FMB9 1
#define FMB12 1
#define FMB18 1
#define FMB24 1
#define FMO9 1
#define FMO12 1
#define FMO18 1
#define FMO24 1
#define FMBO9 1
#define FMBO12 1
#define FMBO18 1
#define FMBO24 1
#define FSS9 1
#define FSS12 1
#define FSS18 1
#define FSS24 1
#define FSSB9 1
#define FSSB12 1
#define FSSB18 1
#define FSSB24 1
#define FSSO9 1
#define FSSO12 1
#define FSSO18 1
#define FSSO24 1
#define FSSBO9 1
#define FSSBO12 1
#define FSSBO18 1
#define FSSBO24 1
#define FS9 1
#define FS12 1
#define FS18 1
#define FS24 1
#define FSI9 1
#define FSI12 1
#define FSI19 1
#define FSI24 1
#define FSB9 1
#define FSB12 1
#define FSB18 1
#define FSB24 1
#define FSBI9 1
#define FSBI12 1
#define FSBI18 1
#define FSBI24 1
#endif // LOAD_GFXFF

View File

@ -1,5 +1,6 @@
#include "displayDriver.h"
#ifdef AMOLED_DISPLAY
#include <rm67162.h>
@ -10,6 +11,7 @@
#include "version.h"
#include "monitor.h"
#include "OpenFontRender.h"
#include "rotation.h"
#define WIDTH 536
#define HEIGHT 240
@ -29,8 +31,12 @@ TFT_eSprite background = TFT_eSprite(&tft);
void amoledDisplay_Init(void)
{
#if TOUCH
pinMode(38, OUTPUT);
digitalWrite(38, OUTPUT);
#endif
rm67162_init();
lcd_setRotation(1);
lcd_setRotation(LANDSCAPE);
background.createSprite(WIDTH, HEIGHT);
background.setSwapBytes(true);
@ -51,11 +57,11 @@ void amoledDisplay_AlternateScreenState(void)
screen_state ^= 1;
}
int screen_rotation = 1;
int screen_rotation = LANDSCAPE;
void amoledDisplay_AlternateRotation(void)
{
screen_rotation == 1 ? lcd_setRotation(3) : lcd_setRotation(1);
screen_rotation ^= 1;
screen_rotation = flipRotation(screen_rotation);
screen_rotation ^= 1;
}
void amoledDisplay_MinerScreen(unsigned long mElapsed)

View File

@ -4,6 +4,14 @@
DisplayDriver *currentDisplayDriver = &noDisplayDriver;
#endif
#ifdef M5STACK_DISPLAY
DisplayDriver *currentDisplayDriver = &m5stackDisplayDriver;
#endif
#ifdef WT32_DISPLAY
DisplayDriver *currentDisplayDriver = &wt32DisplayDriver;
#endif
#ifdef LED_DISPLAY
DisplayDriver *currentDisplayDriver = &ledDisplayDriver;
#endif
@ -40,6 +48,10 @@ DisplayDriver *currentDisplayDriver = &tDisplayV1Driver;
DisplayDriver *currentDisplayDriver = &m5stickCDriver;
#endif
#ifdef T_HMI_DISPLAY
DisplayDriver *currentDisplayDriver = &t_hmiDisplayDriver;
#endif
// Initialize the display
void initDisplay()

View File

@ -28,6 +28,8 @@ typedef struct
extern DisplayDriver *currentDisplayDriver;
extern DisplayDriver m5stackDisplayDriver;
extern DisplayDriver wt32DisplayDriver;
extern DisplayDriver noDisplayDriver;
extern DisplayDriver ledDisplayDriver;
extern DisplayDriver tDisplayDriver;
@ -37,6 +39,7 @@ extern DisplayDriver esp32_2432S028RDriver;
extern DisplayDriver t_qtDisplayDriver;
extern DisplayDriver tDisplayV1Driver;
extern DisplayDriver m5stickCDriver;
extern DisplayDriver t_hmiDisplayDriver;
#define SCREENS_ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))

View File

@ -9,6 +9,7 @@
#include "version.h"
#include "monitor.h"
#include "OpenFontRender.h"
#include "rotation.h"
#ifdef USE_LED
#include <FastLED.h>
@ -85,7 +86,7 @@ void dongleDisplay_Init(void)
#endif // USE_LED
tft.init();
tft.setRotation(3);
tft.setRotation(LANDSCAPE_INVERTED);
tft.setSwapBytes(true);
background.createSprite(BUFFER_WIDTH, BUFFER_HEIGHT);
background.setSwapBytes(true);
@ -110,7 +111,7 @@ void dongleDisplay_AlternateScreenState(void)
void dongleDisplay_AlternateRotation(void)
{
tft.getRotation() == 1 ? tft.setRotation(3) : tft.setRotation(1);
tft.setRotation( flipRotation(tft.getRotation()) );
}
void dongleDisplay_MinerScreen(unsigned long mElapsed)

View File

@ -12,6 +12,7 @@
#include "monitor.h"
#include "OpenFontRender.h"
#include <SPI.h>
#include "rotation.h"
#define WIDTH 130 //320
#define HEIGHT 170
@ -31,7 +32,7 @@ bool hasChangedScreen = true;
void esp32_2432S028R_Init(void)
{
tft.init();
tft.setRotation(1);
tft.setRotation(ROTATION_90);
#ifdef ESP32_2432S028_2USB
/*
In addition to TFT_INVERSION this adjusts the gamma curve to have better
@ -79,7 +80,7 @@ void esp32_2432S028R_AlternateScreenState(void)
void esp32_2432S028R_AlternateRotation(void)
{
tft.getRotation() == 1 ? tft.setRotation(3) : tft.setRotation(1);
tft.setRotation( flipRotation(tft.getRotation()) );
hasChangedScreen = true;
}

View File

@ -0,0 +1,118 @@
#include "displayDriver.h"
#ifdef M5STACK_DISPLAY
#include <Arduino.h>
#include <M5Stack.h>
#include <WiFi.h>
#include "Free_Fonts.h"
#include "monitor.h"
#include "drivers/storage/storage.h"
#include "wManager.h"
extern monitor_data mMonitor;
extern TSettings Settings;
void m5stackDisplay_Init(void)
{
Serial.println("M5stack display driver initialized");
M5.begin(); //Init M5Stack
M5.Power.begin(); //Init power
M5.Lcd.setTextColor(WHITE);
M5.Lcd.setFreeFont(FMB9);
M5.Lcd.setCursor(0,0);
M5.Lcd.fillScreen(BLACK);
M5.Lcd.println("");
M5.Lcd.println(" Han ANother SOLOminer");
M5.Lcd.drawLine(0,25,320,25,GREENYELLOW);
M5.Lcd.fillRect(0,30,320,20,WHITE);
M5.Lcd.println("");
M5.Lcd.println("");
M5.Lcd.println("HAN SOLO is a solo miner");
M5.Lcd.println(" on a ESP32."); M5.Lcd.setTextColor(RED);
M5.Lcd.println("WARNING: you may have to wait");
M5.Lcd.println(" longer than the current age");
M5.Lcd.println(" of the universe to find a ");
M5.Lcd.println(" valid block."); M5.Lcd.setTextColor(WHITE);
M5.Lcd.drawLine(0,200,320,200,GREENYELLOW);
M5.Lcd.println("Connect via wifi to HanSoloAP");
M5.Lcd.println(" with password MineYourCoins");
}
void m5stackDisplay_AlternateScreenState(void)
{
}
void m5stackDisplay_AlternateRotation(void)
{
}
void m5stackDisplay_NoScreen(unsigned long mElapsed)
{
mining_data data = getMiningData(mElapsed);
// Print hashrate to serial
Serial.printf(">>> Completed %s share(s), %s Khashes, avg. hashrate %s KH/s\n",
data.completedShares.c_str(), data.totalKHashes.c_str(), data.currentHashRate.c_str());
//Serial.printf(">>> Temperature: %s\n", data.temp.c_str());
M5.Lcd.setTextColor(WHITE);
M5.Lcd.setFreeFont(FMB9);
M5.Lcd.setCursor(0,0);
M5.Lcd.fillScreen(BLACK);
M5.Lcd.println("");
M5.Lcd.println(" Han ANother SOLOminer");
M5.Lcd.drawLine(0,25,320,25,GREENYELLOW);
M5.Lcd.fillRect(0,30,320,20,WHITE);
M5.Lcd.progressBar(0,30,320,20, data.currentHashRate.toInt());
M5.Lcd.println("");
M5.Lcd.println("");
M5.Lcd.print("Avg. hashrate : "); M5.Lcd.setTextColor(GREEN); M5.Lcd.print(data.currentHashRate); M5.Lcd.setTextColor(WHITE); M5.Lcd.println(" KH/s");
M5.Lcd.print("Running time : "); M5.Lcd.setTextColor(GREEN); M5.Lcd.println(data.timeMining); M5.Lcd.setTextColor(WHITE);
M5.Lcd.print("Total hashes : "); M5.Lcd.setTextColor(GREEN); M5.Lcd.print(data.totalKHashes); M5.Lcd.setTextColor(WHITE); M5.Lcd.println(" KH");
M5.Lcd.print("Block templ. : "); M5.Lcd.setTextColor(YELLOW); M5.Lcd.println(data.templates); M5.Lcd.setTextColor(WHITE);
M5.Lcd.print("Best dificulty: "); M5.Lcd.setTextColor(YELLOW); M5.Lcd.println(data.bestDiff); M5.Lcd.setTextColor(WHITE);
M5.Lcd.print("Shares 32bits : "); M5.Lcd.setTextColor(YELLOW); M5.Lcd.println(data.completedShares); M5.Lcd.setTextColor(WHITE);
M5.Lcd.print("Valid blocks : "); M5.Lcd.setTextColor(RED); M5.Lcd.println(data.valids); M5.Lcd.setTextColor(WHITE);
M5.Lcd.println("");
M5.Lcd.drawLine(0,200,320,200,GREENYELLOW);
M5.Lcd.print("Pool: "); M5.Lcd.setTextColor(GREENYELLOW); M5.Lcd.print(Settings.PoolAddress); M5.Lcd.print(":"); M5.Lcd.println(Settings.PoolPort); M5.Lcd.setTextColor(WHITE);
M5.Lcd.print("IP : "); M5.Lcd.setTextColor(GREENYELLOW); M5.Lcd.println(WiFi.localIP()); M5.Lcd.setTextColor(WHITE);
M5.Lcd.println("");
}
void m5stackDisplay_LoadingScreen(void)
{
Serial.println("Initializing...");
}
void m5stackDisplay_SetupScreen(void)
{
Serial.println("Setup...");
}
void m5stackDisplay_DoLedStuff(unsigned long frame)
{
}
void m5stackDisplay_AnimateCurrentScreen(unsigned long frame)
{
}
CyclicScreenFunction m5stackDisplayCyclicScreens[] = {m5stackDisplay_NoScreen};
DisplayDriver m5stackDisplayDriver = {
m5stackDisplay_Init,
m5stackDisplay_AlternateScreenState,
m5stackDisplay_AlternateRotation,
m5stackDisplay_LoadingScreen,
m5stackDisplay_SetupScreen,
m5stackDisplayCyclicScreens,
m5stackDisplay_AnimateCurrentScreen,
m5stackDisplay_DoLedStuff,
SCREENS_ARRAY_SIZE(m5stackDisplayCyclicScreens),
0,
0,
0,
};
#endif

View File

@ -9,6 +9,7 @@
#include "media/Free_Fonts.h"
#include "version.h"
#include "monitor.h"
#include "rotation.h"
#define WIDTH 80
#define HEIGHT 160
@ -21,7 +22,7 @@ int screen_state = 1;
void m5stickCDriver_Init(void)
{
M5.begin();
M5.Lcd.setRotation(1);
M5.Lcd.setRotation(LANDSCAPE);
M5.Lcd.setTextSize(1);
M5.Lcd.fillScreen(BLACK);
M5.Axp.ScreenBreath(10); //screen brightness 7-15
@ -42,8 +43,7 @@ void m5stickCDriver_AlternateScreenState(void)
void m5stickCDriver_AlternateRotation(void)
{
if (M5.Lcd.getRotation() == 3) M5.Lcd.setRotation(1);
else M5.Lcd.setRotation(3);
M5.Lcd.setRotation( flipRotation(M5.Lcd.getRotation()) );
}
void m5stickCDriver_MinerScreen(unsigned long mElapsed)

View File

@ -7,6 +7,7 @@
#include "wManager.h"
extern monitor_data mMonitor;
bool ledOn = false;
void noDisplay_Init(void)
{
@ -16,6 +17,8 @@ void noDisplay_Init(void)
void noDisplay_AlternateScreenState(void)
{
Serial.println("Switching display state");
ledOn = !ledOn;
}
void noDisplay_AlternateRotation(void)
@ -56,11 +59,17 @@ void noDisplay_DoLedStuff(unsigned long frame)
{
unsigned long currentMillis = millis();
if (!ledOn)
{
digitalWrite(LED_PIN, INACTIVE_LED);
return;
}
switch (mMonitor.NerdStatus)
{
case NM_waitingConfig:
digitalWrite(LED_PIN, HIGH); // LED encendido de forma continua
digitalWrite(LED_PIN, ACTIVE_LED); // LED encendido de forma continua
break;
case NM_Connecting:

View File

@ -0,0 +1,42 @@
//
// Rotation can be 0, 90, 180 or 270 degrees, but TFT_eSPI cryptically
// identifies these as 0, 1, 2, and 3. ?!?!?!?!?!?
//
// Created by dwight on 3/14/24.
//
#ifndef NERDMINER_V2_ROTATION_H
// Rotation value 0 sets the display to a portrait (tall) mode, with the USB jack at the top right.
#define ROTATION_0 0
#define PORTRAIT ROTATION_0
// Rotation 1 is landscape (wide) mode, with the USB jack at the bottom right.
#define ROTATION_90 1
#define LANDSCAPE ROTATION_90
// Rotation value 2 is also a portrait mode, with the USB jack at the bottom left.
#define ROTATION_180 2
#define PORTRAIT_INVERTED ROTATION_180
// Rotation 3 is also landscape, but with the USB jack at the top left.
#define ROTATION_270 3
#define LANDSCAPE_INVERTED ROTATION_270
// Helper function to rotate display left (-90 deg)
int rotationLeft(int d) {
return (d-ROTATION_90) % 4;
}
// Helper function to rotate display right (90 deg)
int rotationRight(int d) {
return (d+ROTATION_90) % 4;
}
// Helper function to rotate display 180 deg
int flipRotation(int d) {
return (d+ROTATION_180) % 4;
}
#define NERDMINER_V2_ROTATION_H
#endif //NERDMINER_V2_ROTATION_H

View File

@ -9,6 +9,7 @@
#include "version.h"
#include "monitor.h"
#include "OpenFontRender.h"
#include "rotation.h"
#define WIDTH 340
#define HEIGHT 170
@ -21,9 +22,9 @@ void tDisplay_Init(void)
{
tft.init();
#ifdef LILYGO_S3_T_EMBED
tft.setRotation(3);
tft.setRotation(ROTATION_270);
#else
tft.setRotation(1);
tft.setRotation(ROTATION_90);
#endif
tft.setSwapBytes(true); // Swap the colour byte order when rendering
background.createSprite(WIDTH, HEIGHT); // Background Sprite
@ -49,7 +50,7 @@ void tDisplay_AlternateScreenState(void)
void tDisplay_AlternateRotation(void)
{
tft.getRotation() == 1 ? tft.setRotation(3) : tft.setRotation(1);
tft.setRotation( flipRotation(tft.getRotation()) );
}
void tDisplay_MinerScreen(unsigned long mElapsed)

View File

@ -9,6 +9,7 @@
#include "version.h"
#include "monitor.h"
#include "OpenFontRender.h"
#include "rotation.h"
#define WIDTH 240
#define HEIGHT 135
@ -20,7 +21,7 @@ TFT_eSprite background = TFT_eSprite(&tft); // Invoke library sprite
void tDisplay_Init(void)
{
tft.init();
tft.setRotation(1);
tft.setRotation(ROTATION_90);
tft.setSwapBytes(true); // Swap the colour byte order when rendering
background.createSprite(WIDTH, HEIGHT); // Background Sprite
background.setSwapBytes(true);
@ -45,7 +46,7 @@ void tDisplay_AlternateScreenState(void)
void tDisplay_AlternateRotation(void)
{
tft.getRotation() == 1 ? tft.setRotation(3) : tft.setRotation(1);
tft.setRotation( flipRotation(tft.getRotation()) );
}
void tDisplay_MinerScreen(unsigned long mElapsed)

View File

@ -0,0 +1,355 @@
#include "displayDriver.h"
#ifdef T_HMI_DISPLAY
#include <TFT_eSPI.h>
#include <TFT_eTouch.h>
#include "media/images_320_170.h"
#include "media/images_bottom_320_70.h"
#include "media/myFonts.h"
#include "media/Free_Fonts.h"
#include "version.h"
#include "monitor.h"
#include "OpenFontRender.h"
#define WIDTH 320
#define HEIGHT 240
OpenFontRender render;
TFT_eSPI tft = TFT_eSPI(); // Invoke library, pins defined in User_Setup.h
TFT_eSprite background = TFT_eSprite(&tft); // Invoke library sprite
SPIClass hSPI(HSPI);
TFT_eTouch<TFT_eSPI> touch(tft, ETOUCH_CS, 0xFF, hSPI);
bool showbtcprice = false;
extern monitor_data mMonitor;
extern pool_data pData;
extern DisplayDriver *currentDisplayDriver;
void t_hmiDisplay_Init(void)
{
tft.init();
tft.setRotation(1);
tft.setSwapBytes(true); // Swap the colour byte order when rendering
background.createSprite(WIDTH,HEIGHT); // Background Sprite
background.setSwapBytes(true);
render.setDrawer(background); // Link drawing object to background instance (so font will be rendered on background)
render.setLineSpaceRatio(0.9);
// Load the font and check it can be read OK
// if (render.loadFont(NotoSans_Bold, sizeof(NotoSans_Bold))) {
if (render.loadFont(DigitalNumbers, sizeof(DigitalNumbers)))
{
Serial.println("Initialise error");
return;
}
/* XXX - Pass for first version
Serial.println(F("Initialize the touch screen"));
hSPI.begin(TOUCH_CLK, TOUCH_MISO, TOUCH_MOSI, ETOUCH_CS);
TFT_eTouchBase::Calibation calibation = { 233, 3785, 3731, 120, 2 };
touch.setCalibration(calibation);
*/
Serial.println(F("Power on peripherals, such as the LCD backlight"));
pinMode(PWR_EN_PIN, OUTPUT);
digitalWrite(PWR_EN_PIN, HIGH);
pinMode(LED_PIN, OUTPUT);
pData.bestDifficulty = "0";
pData.workersHash = "0";
pData.workersCount = 0;
}
void t_hmiDisplay_AlternateScreenState(void)
{
int screen_state = digitalRead(TFT_BL);
Serial.println("Switching display state");
digitalWrite(TFT_BL, !screen_state);
}
void t_hmiDisplay_AlternateRotation(void)
{
tft.getRotation() == 1 ? tft.setRotation(3) : tft.setRotation(1);
}
void printPoolData()
{
// Serial.print("\nPool ============ Free Heap:");
// Serial.println(ESP.getFreeHeap());
pData = getPoolData();
background.pushImage(0, 170, 320, 70, bottonPoolScreen);
render.setLineSpaceRatio(1);
render.setFontSize(24);
render.drawString(String(pData.workersCount).c_str(), 146, 170+35, TFT_BLACK);
render.setFontSize(18);
render.drawString(pData.workersHash.c_str(), 216, 170+34, TFT_BLACK);
render.drawString(pData.bestDifficulty.c_str(), 5, 170+34, TFT_BLACK);
}
void printMemPoolFees(unsigned long mElapsed)
{
// Serial.print("\nFees ============ Free Heap:");
// Serial.println(ESP.getFreeHeap());
coin_data data = getCoinData(mElapsed);
render.setFontSize(18);
background.pushImage(0, 170, 320, 70, bottomMemPoolFees);
if (showbtcprice)
{
// XXX -- remove when bitmap is done
background.fillRect( 105, 170, 110, 20, TFT_BLACK);
String st = data.btcPrice;
if (st.length()) st.remove(st.length()-1);
render.drawString(st.c_str(), 125, 170, TFT_WHITE);
}
render.drawString(data.economyFee.c_str(), 140, 170+38, TFT_BLACK);
render.setFontSize(18);
// XXX - less than sign in DigitalNumbers
// render.drawChar('<', 245, 170+32, TFT_RED);
render.drawString(data.minimumFee.c_str(), 250, 170+32, TFT_RED);
render.drawString(data.fastestFee.c_str(), 30, 170+32, TFT_BLACK);
}
void t_hmiDisplay_MinerScreen(unsigned long mElapsed)
{
mining_data data = getMiningData(mElapsed);
background.pushImage(0, 0, MinerWidth, 170, MinerScreen);
Serial.printf(">>> Completed %s share(s), %s Khashes, avg. hashrate %s KH/s\n",
data.completedShares.c_str(), data.totalKHashes.c_str(), data.currentHashRate.c_str());
// Hashrate
render.setFontSize(35);
render.setCursor(19, 118);
render.setFontColor(TFT_BLACK);
render.rdrawString(data.currentHashRate.c_str(), 118, 114, TFT_BLACK);
// Total hashes
render.setFontSize(18);
render.rdrawString(data.totalMHashes.c_str(), 268, 138, TFT_BLACK);
// Block templates
render.setFontSize(18);
render.drawString(data.templates.c_str(), 186, 20, 0xDEDB);
// Best diff
render.drawString(data.bestDiff.c_str(), 186, 48, 0xDEDB);
// 32Bit shares
render.setFontSize(18);
render.drawString(data.completedShares.c_str(), 186, 76, 0xDEDB);
// Hores
render.setFontSize(14);
render.rdrawString(data.timeMining.c_str(), 315, 104, 0xDEDB);
// Valid Blocks
render.setFontSize(24);
render.drawString(data.valids.c_str(), 285, 56, 0xDEDB);
// Print Temp
render.setFontSize(10);
render.rdrawString(data.temp.c_str(), 239, 1, TFT_BLACK);
render.setFontSize(4);
render.rdrawString(String(0).c_str(), 244, 3, TFT_BLACK);
// Print Hour
render.setFontSize(10);
render.rdrawString(data.currentTime.c_str(), 286, 1, TFT_BLACK);
printPoolData();
// Push prepared background to screen
background.pushSprite(0, 0);
}
void t_hmiDisplay_ClockScreen(unsigned long mElapsed)
{
clock_data data = getClockData(mElapsed);
// Print background screen
background.pushImage(0, 0, minerClockWidth, 170 /*minerClockHeight*/, minerClockScreen);
Serial.printf(">>> Completed %s share(s), %s Khashes, avg. hashrate %s KH/s\n",
data.completedShares.c_str(), data.totalKHashes.c_str(), data.currentHashRate.c_str());
// Hashrate
render.setFontSize(25);
render.setCursor(19, 122);
render.setFontColor(TFT_BLACK);
render.rdrawString(data.currentHashRate.c_str(), 94, 129, TFT_BLACK);
// Print BTC Price
background.setFreeFont(FSSB9);
background.setTextSize(1);
background.setTextDatum(TL_DATUM);
background.setTextColor(TFT_BLACK);
background.drawString(data.btcPrice.c_str(), 202, 3, GFXFF);
// Print BlockHeight
render.setFontSize(18);
render.rdrawString(data.blockHeight.c_str(), 254, 140, TFT_BLACK);
// Print Hour
background.setFreeFont(FF23);
background.setTextSize(2);
background.setTextColor(0xDEDB, TFT_BLACK);
background.drawString(data.currentTime.c_str(), 130, 50, GFXFF);
printMemPoolFees(mElapsed);
// Push prepared background to screen
background.pushSprite(0, 0);
}
void t_hmiDisplay_GlobalHashScreen(unsigned long mElapsed)
{
coin_data data = getCoinData(mElapsed);
// Print background screen
background.pushImage(0, 0, globalHashWidth, 170 /* globalHashHeight */, globalHashScreen);
Serial.printf(">>> Completed %s share(s), %s Khashes, avg. hashrate %s KH/s\n",
data.completedShares.c_str(), data.totalKHashes.c_str(), data.currentHashRate.c_str());
// Print BTC Price
background.setFreeFont(FSSB9);
background.setTextSize(1);
background.setTextDatum(TL_DATUM);
background.setTextColor(TFT_BLACK);
background.drawString(data.btcPrice.c_str(), 198, 3, GFXFF);
// Print Hour
background.setFreeFont(FSSB9);
background.setTextSize(1);
background.setTextDatum(TL_DATUM);
background.setTextColor(TFT_BLACK);
background.drawString(data.currentTime.c_str(), 268, 3, GFXFF);
// Print Last Pool Block
background.setFreeFont(FSS9);
background.setTextDatum(TR_DATUM);
background.setTextColor(0x9C92);
background.drawString(data.halfHourFee.c_str(), 302, 52, GFXFF);
// Print Difficulty
background.setFreeFont(FSS9);
background.setTextDatum(TR_DATUM);
background.setTextColor(0x9C92);
background.drawString(data.netwrokDifficulty.c_str(), 302, 88, GFXFF);
// Print Global Hashrate
render.setFontSize(17);
render.rdrawString(data.globalHashRate.c_str(), 274, 145, TFT_BLACK);
// Print BlockHeight
render.setFontSize(28);
render.rdrawString(data.blockHeight.c_str(), 140, 104, 0xDEDB);
// Draw percentage rectangle
int x2 = 2 + (138 * data.progressPercent / 100);
background.fillRect(2, 149, x2, 168, 0xDEDB);
// Print Remaining BLocks
background.setTextFont(FONT2);
background.setTextSize(1);
background.setTextDatum(MC_DATUM);
background.setTextColor(TFT_BLACK);
background.drawString(data.remainingBlocks.c_str(), 72, 159, FONT2);
printMemPoolFees(mElapsed);
// Push prepared background to screen
background.pushSprite(0, 0);
}
void t_hmiDisplay_BTCprice(unsigned long mElapsed)
{
clock_data data = getClockData(mElapsed);
// Print background screen
background.pushImage(0, 0, priceScreenWidth, 170 /*priceScreenHeight*/, priceScreen);
Serial.printf(">>> Completed %s share(s), %s Khashes, avg. hashrate %s KH/s\n",
data.completedShares.c_str(), data.totalKHashes.c_str(), data.currentHashRate.c_str());
// Hashrate
render.setFontSize(25);
render.setCursor(19, 122);
render.setFontColor(TFT_BLACK);
render.rdrawString(data.currentHashRate.c_str(), 94, 129, TFT_BLACK);
// Print BlockHeight
render.setFontSize(18);
render.rdrawString(data.blockHeight.c_str(), 254, 138, TFT_WHITE);
// Print Hour
background.setFreeFont(FSSB9);
background.setTextSize(1);
background.setTextDatum(TL_DATUM);
background.setTextColor(TFT_BLACK);
background.drawString(data.currentTime.c_str(), 222, 3, GFXFF);
// Print BTC Price
background.setFreeFont(FF24);
background.setTextDatum(TR_DATUM);
background.setTextSize(1);
background.setTextColor(0xDEDB, TFT_BLACK);
background.drawString(data.btcPrice.c_str(), 300, 58, GFXFF);
printPoolData();
// Push prepared background to screen
background.pushSprite(0, 0);
}
void t_hmiDisplay_LoadingScreen(void)
{
tft.fillScreen(TFT_BLACK);
// tft.pushImage(0, 0, initWidth, initHeight, initScreen);
tft.pushImage(0, 0, initWidth, initHeight, initScreen);
tft.setTextColor(TFT_BLACK);
tft.drawString(CURRENT_VERSION, 24, 147, FONT2);
delay(2000);
tft.fillScreen(TFT_BLACK);
// tft.pushImage(0, 0, initWidth, initHeight, MinerScreen);
tft.pushImage(0, 0, initWidth, 170, MinerScreen);
tft.pushImage(0, 170, initWidth, 70, bottonPoolScreen);
if (showbtcprice)
{
// blackout title
tft.fillRect( 105, 170, 110, 20, TFT_BLACK);
}
}
void t_hmiDisplay_SetupScreen(void)
{
tft.pushImage(0, 0, setupModeWidth, setupModeHeight, setupModeScreen);
}
void t_hmiDisplay_AnimateCurrentScreen(unsigned long frame)
{
}
void t_hmiDisplay_DoLedStuff(unsigned long frame)
{
}
CyclicScreenFunction t_hmiDisplayCyclicScreens[] = {t_hmiDisplay_MinerScreen, t_hmiDisplay_ClockScreen, t_hmiDisplay_GlobalHashScreen, t_hmiDisplay_BTCprice};
DisplayDriver t_hmiDisplayDriver = {
t_hmiDisplay_Init,
t_hmiDisplay_AlternateScreenState,
t_hmiDisplay_AlternateRotation,
t_hmiDisplay_LoadingScreen,
t_hmiDisplay_SetupScreen,
t_hmiDisplayCyclicScreens,
t_hmiDisplay_AnimateCurrentScreen,
t_hmiDisplay_DoLedStuff,
SCREENS_ARRAY_SIZE(t_hmiDisplayCyclicScreens),
0,
WIDTH,
HEIGHT};
#endif

View File

@ -9,6 +9,7 @@
#include "version.h"
#include "monitor.h"
#include "OpenFontRender.h"
#include "rotation.h"
#define WIDTH 128
#define HEIGHT 128
@ -20,7 +21,7 @@ TFT_eSprite background = TFT_eSprite(&tft); // Invoke library sprite
void t_qtDisplay_Init(void)
{
tft.init();
tft.setRotation(1);
tft.setRotation(LANDSCAPE);
tft.setSwapBytes(true); // Swap the colour byte order when rendering
background.createSprite(WIDTH, HEIGHT); // Background Sprite
background.setSwapBytes(true);
@ -45,7 +46,7 @@ void t_qtDisplay_AlternateScreenState(void)
void t_qtDisplay_AlternateRotation(void)
{
tft.setRotation((tft.getRotation()+1) % 4);
tft.setRotation( rotationRight(tft.getRotation()) );
}
void t_qtDisplay_MinerScreen(unsigned long mElapsed)

View File

@ -0,0 +1,363 @@
#include "displayDriver.h"
#ifdef WT32_DISPLAY
#define LGFX_USE_V1
#include <WiFi.h>
#include <Wire.h>
#include <SPI.h>
#include <LovyanGFX.hpp>
#include <lvgl.h>
#include "monitor.h"
#include "drivers/storage/storage.h"
#include "wManager.h"
#include "ui.h"
extern monitor_data mMonitor;
extern TSettings Settings;
#ifdef PLUS
#define SCR 30
class LGFX : public lgfx::LGFX_Device
{
lgfx::Panel_ST7796 _panel_instance;
lgfx::Bus_Parallel8 _bus_instance;
lgfx::Light_PWM _light_instance;
lgfx::Touch_FT5x06 _touch_instance;
public:
LGFX(void)
{
{
auto cfg = _bus_instance.config();
cfg.port = 0;
cfg.freq_write = 40000000;
cfg.pin_wr = 47; // pin number connecting WR
cfg.pin_rd = -1; // pin number connecting RD
cfg.pin_rs = 0; // Pin number connecting RS(D/C)
cfg.pin_d0 = 9; // pin number connecting D0
cfg.pin_d1 = 46; // pin number connecting D1
cfg.pin_d2 = 3; // pin number connecting D2
cfg.pin_d3 = 8; // pin number connecting D3
cfg.pin_d4 = 18; // pin number connecting D4
cfg.pin_d5 = 17; // pin number connecting D5
cfg.pin_d6 = 16; // pin number connecting D6
cfg.pin_d7 = 15; // pin number connecting D7
_bus_instance.config(cfg); // Apply the settings to the bus.
_panel_instance.setBus(&_bus_instance); // Sets the bus to the panel.
}
{ // Set display panel control.
auto cfg = _panel_instance.config(); // Get the structure for display panel settings.
cfg.pin_cs = -1; // Pin number to which CS is connected (-1 = disable)
cfg.pin_rst = 4; // pin number where RST is connected (-1 = disable)
cfg.pin_busy = -1; // pin number to which BUSY is connected (-1 = disable)
// * The following setting values are set to general default values for each panel, and the pin number (-1 = disable) to which BUSY is connected, so please try commenting out any unknown items.
cfg.memory_width = 320; // Maximum width supported by driver IC
cfg.memory_height = 480; // Maximum height supported by driver IC
cfg.panel_width = 320; // actual displayable width
cfg.panel_height = 480; // actual displayable height
cfg.offset_x = 0; // Panel offset in X direction
cfg.offset_y = 0; // Panel offset in Y direction
cfg.offset_rotation = 2;
cfg.dummy_read_pixel = 8;
cfg.dummy_read_bits = 1;
cfg.readable = false;
cfg.invert = true;
cfg.rgb_order = false;
cfg.dlen_16bit = false;
cfg.bus_shared = true;
_panel_instance.config(cfg);
}
{ // Set backlight control. (delete if not necessary)
auto cfg = _light_instance.config(); // Get the structure for backlight configuration.
cfg.pin_bl = 45; // pin number to which the backlight is connected
cfg.invert = false; // true to invert backlight brightness
cfg.freq = 44100; // backlight PWM frequency
cfg.pwm_channel = 0; // PWM channel number to use
_light_instance.config(cfg);
_panel_instance.setLight(&_light_instance); // Sets the backlight to the panel.
}
{ // Configure settings for touch screen control. (delete if not necessary)
auto cfg = _touch_instance.config();
cfg.x_min = 0; // Minimum X value (raw value) obtained from the touchscreen
cfg.x_max = 319; // Maximum X value (raw value) obtained from the touchscreen
cfg.y_min = 0; // Minimum Y value obtained from touchscreen (raw value)
cfg.y_max = 479; // Maximum Y value (raw value) obtained from the touchscreen
cfg.pin_int = 7; // pin number to which INT is connected
cfg.bus_shared = false;
cfg.offset_rotation = 0;
// For I2C connection
cfg.i2c_port = 0; // Select I2C to use (0 or 1)
cfg.i2c_addr = 0x38; // I2C device address number
cfg.pin_sda = 6; // pin number where SDA is connected
cfg.pin_scl = 5; // pin number to which SCL is connected
cfg.freq = 400000; // set I2C clock
_touch_instance.config(cfg);
_panel_instance.setTouch(&_touch_instance); // Set the touchscreen to the panel.
}
setPanel(&_panel_instance); // Sets the panel to use.
}
};
#else
#define SCR 8
class LGFX : public lgfx::LGFX_Device
{
lgfx::Panel_ST7796 _panel_instance;
lgfx::Bus_SPI _bus_instance;
lgfx::Light_PWM _light_instance;
lgfx::Touch_FT5x06 _touch_instance;
public:
LGFX(void)
{
{
auto cfg = _bus_instance.config(); // Get the structure for bus configuration.
// SPI bus settings
cfg.spi_host = VSPI_HOST; // Select the SPI to use ESP32-S2,C3 : SPI2_HOST or SPI3_HOST / ESP32 : VSPI_HOST or HSPI_HOST
// * With the ESP-IDF version upgrade, VSPI_HOST and HSPI_HOST descriptions are deprecated, so if an error occurs, use SPI2_HOST and SPI3_HOST instead.
cfg.spi_mode = 3; // Set SPI communication mode (0 ~ 3)
cfg.freq_write = 27000000; // SPI clock when sending (up to 80MHz, rounded to 80MHz divided by an integer)
cfg.freq_read = 6000000; // SPI clock when receiving
cfg.spi_3wire = false; // set to true if receiving on MOSI pin
cfg.use_lock = true; // set to true to use transaction lock
cfg.dma_channel = SPI_DMA_CH_AUTO; // Set the DMA channel to use (0=not use DMA / 1=1ch / 2=ch / SPI_DMA_CH_AUTO=auto setting)
// * With the ESP-IDF version upgrade, SPI_DMA_CH_AUTO (automatic setting) is recommended for the DMA channel. Specifying 1ch and 2ch is deprecated.
cfg.pin_sclk = 14; // set SPI SCLK pin number
cfg.pin_mosi = 13; // Set MOSI pin number for SPI
cfg.pin_miso = -1; // set SPI MISO pin number (-1 = disable)
cfg.pin_dc = 21; // Set SPI D/C pin number (-1 = disable)
_bus_instance.config(cfg); // Apply the settings to the bus.
_panel_instance.setBus(&_bus_instance); // Sets the bus to the panel.
}
{ // Set display panel control.
auto cfg = _panel_instance.config(); // Get the structure for display panel settings.
cfg.pin_cs = 15; // Pin number to which CS is connected (-1 = disable)
cfg.pin_rst = 22; // pin number where RST is connected (-1 = disable)
cfg.pin_busy = -1; // pin number to which BUSY is connected (-1 = disable)
// * The following setting values are set to general default values for each panel, and the pin number (-1 = disable) to which BUSY is connected, so please try commenting out any unknown items.
cfg.memory_width = 320; // Maximum width supported by driver IC
cfg.memory_height = 480; // Maximum height supported by driver IC
cfg.panel_width = 320; // actual displayable width
cfg.panel_height = 480; // actual displayable height
cfg.offset_x = 0; // Panel offset in X direction
cfg.offset_y = 0; // Panel offset in Y direction
cfg.offset_rotation = 0;
cfg.dummy_read_pixel = 8;
cfg.dummy_read_bits = 1;
cfg.readable = false;
cfg.invert = false;
cfg.rgb_order = false;
cfg.dlen_16bit = false;
cfg.bus_shared = false;
_panel_instance.config(cfg);
}
{ // Set backlight control. (delete if not necessary)
auto cfg = _light_instance.config(); // Get the structure for backlight configuration.
cfg.pin_bl = 23; // pin number to which the backlight is connected
cfg.invert = false; // true to invert backlight brightness
cfg.freq = 44100; // backlight PWM frequency
cfg.pwm_channel = 1; // PWM channel number to use
_light_instance.config(cfg);
_panel_instance.setLight(&_light_instance); // Sets the backlight to the panel.
}
{ // Configure settings for touch screen control. (delete if not necessary)
auto cfg = _touch_instance.config();
cfg.x_min = 0; // Minimum X value (raw value) obtained from the touchscreen
cfg.x_max = 319; // Maximum X value (raw value) obtained from the touchscreen
cfg.y_min = 0; // Minimum Y value obtained from touchscreen (raw value)
cfg.y_max = 479; // Maximum Y value (raw value) obtained from the touchscreen
cfg.pin_int = 39; // pin number to which INT is connected
cfg.bus_shared = false;
cfg.offset_rotation = 0;
// For I2C connection
cfg.i2c_port = 1; // Select I2C to use (0 or 1)
cfg.i2c_addr = 0x38; // I2C device address number
cfg.pin_sda = 18; // pin number where SDA is connected
cfg.pin_scl = 19; // pin number to which SCL is connected
cfg.freq = 400000; // set I2C clock
_touch_instance.config(cfg);
_panel_instance.setTouch(&_touch_instance); // Set the touchscreen to the panel.
}
setPanel(&_panel_instance); // Sets the panel to use.
}
};
#endif
// Create an instance of the prepared class.
LGFX tft;
/* Change to your screen resolution */
static const uint32_t screenWidth = 480;
static const uint32_t screenHeight = 320;
static lv_disp_draw_buf_t draw_buf;
static lv_disp_drv_t disp_drv;
static lv_color_t disp_draw_buf[screenWidth * SCR];
static lv_color_t disp_draw_buf2[screenWidth * SCR];
/* Display flushing */
void my_disp_flush(lv_disp_drv_t *disp, const lv_area_t *area, lv_color_t *color_p)
{
if (tft.getStartCount() == 0)
{
tft.endWrite();
}
tft.pushImageDMA(area->x1, area->y1, area->x2 - area->x1 + 1, area->y2 - area->y1 + 1, (lgfx::swap565_t *)&color_p->full);
lv_disp_flush_ready(disp); /* tell lvgl that flushing is done */
}
/*Read the touchpad*/
void my_touchpad_read(lv_indev_drv_t *indev_driver, lv_indev_data_t *data)
{
uint16_t touchX, touchY;
bool touched = tft.getTouch(&touchX, &touchY);
if (!touched)
{
data->state = LV_INDEV_STATE_REL;
}
else
{
data->state = LV_INDEV_STATE_PR;
/*Set the coordinates*/
data->point.x = touchX;
data->point.y = touchY;
}
}
void onBrightnessChange(lv_event_t *e)
{
lv_obj_t *slider = lv_event_get_target(e);
int brightness = (int)lv_slider_get_value(slider);
tft.setBrightness(brightness);
}
void wt32Display_Init(void)
{
Serial.println("M5stack display driver initialized");
tft.init();
tft.initDMA();
tft.startWrite();
lv_init();
// Setting display to landscape
if (tft.width() < tft.height())
tft.setRotation(tft.getRotation() ^ 1);
Serial.print("Width: ");
Serial.print(screenWidth);
Serial.print("\tHeight: ");
Serial.println(screenHeight);
if (!disp_draw_buf)
{
Serial.println("LVGL disp_draw_buf allocate failed!");
}
else
{
Serial.print("Display buffer size: ");
lv_disp_draw_buf_init(&draw_buf, disp_draw_buf, disp_draw_buf2, screenWidth * SCR);
/* Initialize the display */
lv_disp_drv_init(&disp_drv);
/* Change the following line to your display resolution */
disp_drv.hor_res = screenWidth;
disp_drv.ver_res = screenHeight;
disp_drv.flush_cb = my_disp_flush;
disp_drv.draw_buf = &draw_buf;
lv_disp_drv_register(&disp_drv);
/* Initialize the input device driver */
static lv_indev_drv_t indev_drv;
lv_indev_drv_init(&indev_drv);
indev_drv.type = LV_INDEV_TYPE_POINTER;
indev_drv.read_cb = my_touchpad_read;
lv_indev_drv_register(&indev_drv);
ui_init();
lv_timer_handler();
}
}
void wt32Display_AlternateScreenState(void)
{
}
void wt32Display_AlternateRotation(void)
{
}
void wt32Display_NoScreen(unsigned long mElapsed)
{
mining_data data = getMiningData(mElapsed);
// Print hashrate to serial
Serial.printf(">>> Completed %s share(s), %s Khashes, avg. hashrate %s KH/s\n",
data.completedShares.c_str(), data.totalKHashes.c_str(), data.currentHashRate.c_str());
//Serial.printf(">>> Temperature: %s\n", data.temp.c_str());
lv_label_set_text(ui_lblhashrate, data.currentHashRate.c_str());
lv_bar_set_value(ui_barhashrate, data.currentHashRate.toInt() * 10, LV_ANIM_ON);
lv_label_set_text(ui_lblvalid, data.valids.c_str());
lv_label_set_text(ui_lbltemplates, data.templates.c_str());
lv_label_set_text(ui_lbltotalhashrate, data.totalKHashes.c_str());
lv_label_set_text(ui_lblbestdiff, data.bestDiff.c_str());
lv_label_set_text(ui_lblshares32, data.completedShares.c_str());
lv_label_set_text(ui_lblclock, data.timeMining.c_str());
lv_label_set_text(ui_lbltemperature, data.temp.c_str());
lv_label_set_text(ui_lblclock2, data.currentTime.c_str());
/*
M5.Lcd.print("Pool: "); M5.Lcd.setTextColor(GREENYELLOW); M5.Lcd.print(Settings.PoolAddress); M5.Lcd.print(":"); M5.Lcd.println(Settings.PoolPort); M5.Lcd.setTextColor(WHITE);
M5.Lcd.print("IP : "); M5.Lcd.setTextColor(GREENYELLOW); M5.Lcd.println(WiFi.localIP()); M5.Lcd.setTextColor(WHITE);
*/
}
void wt32Display_LoadingScreen(void)
{
Serial.println("Initializing...");
lv_label_set_text(ui_lblssid, "SSID HanSoloAP");
lv_label_set_text(ui_lblpassword, "Password MineYourCoins");
lv_label_set_text(ui_lblversion, "Version 1.6.4 (RC1)");
_ui_screen_change(&ui_HomeScreen, LV_SCR_LOAD_ANIM_FADE_ON, 500, 0, &ui_HomeScreen_screen_init);
}
void wt32Display_SetupScreen(void)
{
Serial.println("Setup...");
}
void wt32Display_DoLedStuff(unsigned long frame)
{
// we will use led function to update lvgl
lv_timer_handler();
}
void wt32Display_AnimateCurrentScreen(unsigned long frame)
{
}
CyclicScreenFunction wt32DisplayCyclicScreens[] = {wt32Display_NoScreen};
DisplayDriver wt32DisplayDriver = {
wt32Display_Init,
wt32Display_AlternateScreenState,
wt32Display_AlternateRotation,
wt32Display_LoadingScreen,
wt32Display_SetupScreen,
wt32DisplayCyclicScreens,
wt32Display_AnimateCurrentScreen,
wt32Display_DoLedStuff,
SCREENS_ARRAY_SIZE(wt32DisplayCyclicScreens),
0,
0,
0,
};
#endif

View File

@ -6,7 +6,11 @@
// config files
// default settings
#ifndef HAN
#define DEFAULT_SSID "NerdMinerAP"
#else
#define DEFAULT_SSID "HanSoloAP"
#endif
#define DEFAULT_WIFIPW "MineYourCoins"
#define DEFAULT_POOLURL "public-pool.io"
#define DEFAULT_POOLPASS "x"

File diff suppressed because it is too large Load Diff

View File

@ -10,6 +10,7 @@
#include "mining.h"
#include "utils.h"
#include "monitor.h"
#include "timeconst.h"
#include "drivers/displays/display.h"
#include "drivers/storage/storage.h"
@ -43,7 +44,7 @@ monitor_data mMonitor;
bool isMinerSuscribed = false;
unsigned long mLastTXtoPool = millis();
int saveIntervals[8] = {1 * 60, 5 * 60, 15 * 60, 30 * 60, 1 * 360, 3 * 360, 6 * 360, 12 * 360};
int saveIntervals[7] = {5 * 60, 15 * 60, 30 * 60, 1 * 3600, 3 * 3600, 6 * 3600, 12 * 3600};
int saveIntervalsSize = sizeof(saveIntervals)/sizeof(saveIntervals[0]);
int currentIntervalIndex = 0;

View File

@ -91,7 +91,12 @@ void updateGlobalData(void){
deserializeJson(doc, payload);
String temp = "";
if (doc.containsKey("halfHourFee")) gData.halfHourFee = doc["halfHourFee"].as<int>();
#ifdef NERDMINER_T_HMI
if (doc.containsKey("fastestFee")) gData.fastestFee = doc["fastestFee"].as<int>();
if (doc.containsKey("hourFee")) gData.hourFee = doc["hourFee"].as<int>();
if (doc.containsKey("economyFee")) gData.economyFee = doc["economyFee"].as<int>();
if (doc.containsKey("minimumFee")) gData.minimumFee = doc["minimumFee"].as<int>();
#endif
doc.clear();
mGlobalUpdate = millis();
@ -293,6 +298,12 @@ coin_data getCoinData(unsigned long mElapsed)
data.currentHashRate = getCurrentHashRate(mElapsed);
data.btcPrice = getBTCprice();
data.currentTime = getTime();
#ifdef NERDMINER_T_HMI
data.hourFee = String(gData.hourFee);
data.fastestFee = String(gData.fastestFee);
data.economyFee = String(gData.economyFee);
data.minimumFee = String(gData.minimumFee);
#endif
data.halfHourFee = String(gData.halfHourFee) + " sat/vB";
data.netwrokDifficulty = gData.difficulty;
data.globalHashRate = gData.globalHash;

View File

@ -54,6 +54,12 @@ typedef struct{
float progressPercent;
int remainingBlocks;
int halfHourFee;
#ifdef NERDMINER_T_HMI
int fastestFee;
int hourFee;
int economyFee;
int minimumFee;
#endif
}global_data;
typedef struct {
@ -94,6 +100,12 @@ typedef struct {
String btcPrice;
String currentTime;
String halfHourFee;
#ifdef NERDMINER_T_HMI
String hourFee;
String fastestFee;
String economyFee;
String minimumFee;
#endif
String netwrokDifficulty;
String globalHashRate;
String blockHeight;

View File

@ -54,7 +54,11 @@ bool tx_mining_subscribe(WiFiClient& client, mining_subscribe& mSubscribe)
// Subscribe
id = 1; //Initialize id messages
#ifndef HAN
sprintf(payload, "{\"id\": %u, \"method\": \"mining.subscribe\", \"params\": [\"NerdMinerV2\"]}\n", id);
#else
sprintf(payload, "{\"id\": %u, \"method\": \"mining.subscribe\", \"params\": [\"HAN_SOLOminer\"]}\n", id);
#endif
Serial.printf("[WORKER] ==> Mining subscribe\n");
Serial.print(" Sending : "); Serial.println(payload);

17
src/timeconst.h Normal file
View File

@ -0,0 +1,17 @@
//
// Created by dwight on 3/14/24.
//
#ifndef NERDMINER_V2_TIMECONST_H
#define NERDMINER_V2_TIMECONST_H
#define SECOND_MS 1000
#define SECOND 1
#define MINUTE 60*SECOND // 60 Seconds
#define HOUR 60*MINUTE // 3,600 Seconds
#define DAY 24*HOUR // 86,400 Seconds
#define WEEK 7*DAY // 604,800 Seconds
#define MONTH 30*DAY // 2,592,000 Seconds
#define YEAR 365*DAY // 31,536,000 Seconds
#endif //NERDMINER_V2_TIMECONST_H

View File

@ -14,6 +14,7 @@
#include "drivers/storage/nvMemory.h"
#include "drivers/storage/storage.h"
#include "mining.h"
#include "timeconst.h"
// Flag for saving data
@ -136,6 +137,9 @@ void init_WifiManager()
// Text box (Number) - 7 characters maximum
WiFiManagerParameter port_text_box_num("Poolport", "Pool port", convertedValue, 7);
// Text box (String) - 80 characters maximum
WiFiManagerParameter password_text_box("Poolpassword", "Pool password (Optional)", Settings.PoolPassword, 80);
// Text box (String) - 80 characters maximum
WiFiManagerParameter addr_text_box("btcAddress", "Your BTC address", Settings.BtcWallet, 80);
@ -185,10 +189,10 @@ void init_WifiManager()
Settings.saveStats = (strncmp(save_stats_to_nvs.getValue(), "T", 1) == 0);
nvMem.saveConfig(&Settings);
delay(3000);
delay(3*SECOND_MS);
//reset and try again, or maybe put it to deep sleep
ESP.restart();
delay(5000);
delay(5*SECOND_MS);
};
}
else