Browse Source

guider ok

master
pomin-163 6 months ago
parent
commit
32ace42c37
  1. 7
      .gitignore
  2. 3
      Proj.code-workspace
  3. 2
      components/lvgl/CMakeLists.txt
  4. 57
      components/myui/.gitignore
  5. 7
      components/myui/CMakeLists.txt
  6. 3
      components/myui/guider/.gitignore
  7. 1526
      components/myui/guider/ESP32_GUI.guiguider
  8. 40
      components/myui/guider/custom/custom.c
  9. 18
      components/myui/guider/custom/custom.h
  10. 9
      components/myui/guider/custom/custom.mk
  11. 129
      components/myui/guider/generated/events_init.c
  12. 22
      components/myui/guider/generated/events_init.h
  13. 16
      components/myui/guider/generated/generated.mk
  14. 15
      components/myui/guider/generated/gui_guider.c
  15. 40
      components/myui/guider/generated/gui_guider.h
  16. 573
      components/myui/guider/generated/gui_guider.py
  17. 12
      components/myui/guider/generated/guider_customer_fonts/guider_customer_fonts.h
  18. 6
      components/myui/guider/generated/guider_customer_fonts/guider_customer_fonts.mk
  19. 18
      components/myui/guider/generated/guider_fonts/guider_fonts.h
  20. 6
      components/myui/guider/generated/guider_fonts/guider_fonts.mk
  21. 1523
      components/myui/guider/generated/guider_fonts/lv_font_digifaw_12.c
  22. 1371
      components/myui/guider/generated/guider_fonts/lv_font_simsun_12.c
  23. 47
      components/myui/guider/generated/guider_lv_conf.h
  24. 236
      components/myui/guider/generated/images/__m_100x100.c
  25. 6
      components/myui/guider/generated/images/images.mk
  26. BIN
      components/myui/guider/generated/mPythonImages/mp1013635633.png
  27. BIN
      components/myui/guider/generated/mPythonImages/mp888477866.png
  28. BIN
      components/myui/guider/generated/mp888477866.png
  29. 323
      components/myui/guider/generated/setup_scr_screen.c
  30. 4
      examples/web_tts/main/app_wifi.c
  31. 2
      main/CMakeLists.txt
  32. 14
      main/main.c

7
.gitignore

@ -1,10 +1,3 @@
# 正在开发
# 闭源内容
Awtrix Finally.pcbdoc
# 无关内容
/index.html

3
Proj.code-workspace

@ -89,7 +89,8 @@
"lcd.h": "c",
"lvgl.h": "c",
"lv_demo_keypad_encoder.h": "c",
"esp_freertos_hooks.h": "c"
"esp_freertos_hooks.h": "c",
"gui_guider.h": "c"
},
},
}

2
components/lvgl/CMakeLists.txt

@ -3,7 +3,7 @@ if(ESP_PLATFORM)
file(GLOB_RECURSE SOURCES src/*.c)
idf_component_register(SRCS ${SOURCES}
INCLUDE_DIRS . src ../
INCLUDE_DIRS . src ../ src/font
REQUIRES main)
target_compile_definitions(${COMPONENT_LIB} PUBLIC "-DLV_CONF_INCLUDE_SIMPLE")

57
components/myui/.gitignore

@ -0,0 +1,57 @@
# 正在开发
# 闭源内容
Awtrix Finally.pcbdoc
# 无关内容
/index.html
/Desktop.ini
# 编译垃圾
out/
obj/
Lst/
Obj/
OUT/
OBJ/
Objects/
Listings/
DebugConfig/
build/
old/
*.log
*.POMIN
*.bak
*.ddk
*.edk
*.lst
*.lnp
*.mpf
*.mpj
*.obj
*.omf
*.o
*.plg
*.rpt
*.tmp
*.__i
*.crf
*.o
*.d
*.tra
*.dep
*.iex
*.htm
*.sct
*.map
*.zip
!build/confi*

7
components/myui/CMakeLists.txt

@ -0,0 +1,7 @@
set(GEN_DIR ./guider/generated)
file(GLOB SOURCES ${GEN_DIR}/*.c ${GEN_DIR}/images/*.c ${GEN_DIR}/guider_fonts/*.c ${GEN_DIR}/../custom/*.c)
set(INCLUDE_DIRS ${GEN_DIR} ${GEN_DIR}/guider_fonts ${GEN_DIR}/guider_customer_fonts ${GEN_DIR}/../custom)
idf_component_register(SRCS ${SOURCES}
INCLUDE_DIRS ${INCLUDE_DIRS}
REQUIRES lvgl)

3
components/myui/guider/.gitignore

@ -0,0 +1,3 @@
/temp
/lvgl*
/import

1526
components/myui/guider/ESP32_GUI.guiguider

File diff suppressed because it is too large

40
components/myui/guider/custom/custom.c

@ -0,0 +1,40 @@
// SPDX-License-Identifier: MIT
// Copyright 2020 NXP
/**
* @file custom.c
*
*/
/*********************
* INCLUDES
*********************/
#include <stdio.h>
#include "lvgl/lvgl.h"
#include "custom.h"
/*********************
* DEFINES
*********************/
/**********************
* TYPEDEFS
**********************/
/**********************
* STATIC PROTOTYPES
**********************/
/**********************
* STATIC VARIABLES
**********************/
/**
* Create a demo application
*/
void custom_init(lv_ui *ui)
{
/* Add your codes here */
}

18
components/myui/guider/custom/custom.h

@ -0,0 +1,18 @@
// SPDX-License-Identifier: MIT
// Copyright 2020 NXP
/*
* custom.h
*
* Created on: July 29, 2020
* Author: nxf53801
*/
#ifndef __CUSTOM_H_
#define __CUSTOM_H_
#include "gui_guider.h"
void custom_init(lv_ui *ui);
#endif /* EVENT_CB_H_ */

9
components/myui/guider/custom/custom.mk

@ -0,0 +1,9 @@
## SPDX-License-Identifier: MIT
## Copyright 2020 NXP
GEN_CSRCS += $(notdir $(wildcard $(PRJ_DIR)/custom/*.c))
DEPPATH += --dep-path $(PRJ_DIR)/custom
VPATH += :$(PRJ_DIR)/custom
CFLAGS += "-I$(PRJ_DIR)/custom"

129
components/myui/guider/generated/events_init.c

@ -0,0 +1,129 @@
/*
* Copyright 2022 NXP
* SPDX-License-Identifier: MIT
* The auto-generated can only be used on NXP devices
*/
#include "events_init.h"
#include <stdio.h>
#include "lvgl/lvgl.h"
void events_init(lv_ui *ui)
{
}
static void screen_btnm_1_event_handler(lv_event_t *e)
{
lv_event_code_t code = lv_event_get_code(e);
lv_anim_t screen_btn_1_anim_x;
lv_anim_t screen_btn_1_anim_y;
lv_anim_t screen_btnm_1_anim_x;
lv_anim_t screen_btnm_1_anim_y;
switch (code)
{
case LV_EVENT_CLICKED:
{
//Write animation: screen_btn_1move in x direction
lv_anim_init(&screen_btn_1_anim_x);
lv_anim_set_var(&screen_btn_1_anim_x, guider_ui.screen_btn_1);
lv_anim_set_time(&screen_btn_1_anim_x, 200);
lv_anim_set_exec_cb(&screen_btn_1_anim_x, (lv_anim_exec_xcb_t)lv_obj_set_x);
lv_anim_set_values(&screen_btn_1_anim_x, lv_obj_get_x(guider_ui.screen_btn_1), 315);
lv_anim_set_path_cb(&screen_btn_1_anim_x, &lv_anim_path_bounce);
lv_anim_start(&screen_btn_1_anim_x);
//Write animation: screen_btn_1move in y direction
lv_anim_init(&screen_btn_1_anim_y);
lv_anim_set_var(&screen_btn_1_anim_y, guider_ui.screen_btn_1);
lv_anim_set_time(&screen_btn_1_anim_y, 200);
lv_anim_set_exec_cb(&screen_btn_1_anim_y, (lv_anim_exec_xcb_t)lv_obj_set_y);
lv_anim_set_values(&screen_btn_1_anim_y, lv_obj_get_y(guider_ui.screen_btn_1), 0);
lv_anim_set_path_cb(&screen_btn_1_anim_y, &lv_anim_path_bounce);
lv_anim_start(&screen_btn_1_anim_y);
//Write animation: screen_btnm_1move in x direction
lv_anim_init(&screen_btnm_1_anim_x);
lv_anim_set_var(&screen_btnm_1_anim_x, guider_ui.screen_btnm_1);
lv_anim_set_time(&screen_btnm_1_anim_x, 200);
lv_anim_set_exec_cb(&screen_btnm_1_anim_x, (lv_anim_exec_xcb_t)lv_obj_set_x);
lv_anim_set_values(&screen_btnm_1_anim_x, lv_obj_get_x(guider_ui.screen_btnm_1), 320);
lv_anim_set_path_cb(&screen_btnm_1_anim_x, &lv_anim_path_linear);
lv_anim_start(&screen_btnm_1_anim_x);
//Write animation: screen_btnm_1move in y direction
lv_anim_init(&screen_btnm_1_anim_y);
lv_anim_set_var(&screen_btnm_1_anim_y, guider_ui.screen_btnm_1);
lv_anim_set_time(&screen_btnm_1_anim_y, 200);
lv_anim_set_exec_cb(&screen_btnm_1_anim_y, (lv_anim_exec_xcb_t)lv_obj_set_y);
lv_anim_set_values(&screen_btnm_1_anim_y, lv_obj_get_y(guider_ui.screen_btnm_1), 0);
lv_anim_set_path_cb(&screen_btnm_1_anim_y, &lv_anim_path_linear);
lv_anim_start(&screen_btnm_1_anim_y);
lv_obj_set_width(guider_ui.screen_tabview_1, 315);
}
break;
default:
break;
}
}
static void screen_btn_1_event_handler(lv_event_t *e)
{
lv_event_code_t code = lv_event_get_code(e);
lv_anim_t screen_btnm_1_anim_x;
lv_anim_t screen_btnm_1_anim_y;
lv_anim_t screen_btn_1_anim_x;
lv_anim_t screen_btn_1_anim_y;
switch (code)
{
case LV_EVENT_CLICKED:
{
//Write animation: screen_btnm_1move in x direction
lv_anim_init(&screen_btnm_1_anim_x);
lv_anim_set_var(&screen_btnm_1_anim_x, guider_ui.screen_btnm_1);
lv_anim_set_time(&screen_btnm_1_anim_x, 200);
lv_anim_set_exec_cb(&screen_btnm_1_anim_x, (lv_anim_exec_xcb_t)lv_obj_set_x);
lv_anim_set_values(&screen_btnm_1_anim_x, lv_obj_get_x(guider_ui.screen_btnm_1), 288);
lv_anim_set_path_cb(&screen_btnm_1_anim_x, &lv_anim_path_linear);
lv_anim_start(&screen_btnm_1_anim_x);
//Write animation: screen_btnm_1move in y direction
lv_anim_init(&screen_btnm_1_anim_y);
lv_anim_set_var(&screen_btnm_1_anim_y, guider_ui.screen_btnm_1);
lv_anim_set_time(&screen_btnm_1_anim_y, 200);
lv_anim_set_exec_cb(&screen_btnm_1_anim_y, (lv_anim_exec_xcb_t)lv_obj_set_y);
lv_anim_set_values(&screen_btnm_1_anim_y, lv_obj_get_y(guider_ui.screen_btnm_1), 0);
lv_anim_set_path_cb(&screen_btnm_1_anim_y, &lv_anim_path_linear);
lv_anim_start(&screen_btnm_1_anim_y);
//Write animation: screen_btn_1move in x direction
lv_anim_init(&screen_btn_1_anim_x);
lv_anim_set_var(&screen_btn_1_anim_x, guider_ui.screen_btn_1);
lv_anim_set_time(&screen_btn_1_anim_x, 200);
lv_anim_set_exec_cb(&screen_btn_1_anim_x, (lv_anim_exec_xcb_t)lv_obj_set_x);
lv_anim_set_values(&screen_btn_1_anim_x, lv_obj_get_x(guider_ui.screen_btn_1), 320);
lv_anim_set_path_cb(&screen_btn_1_anim_x, &lv_anim_path_linear);
lv_anim_start(&screen_btn_1_anim_x);
//Write animation: screen_btn_1move in y direction
lv_anim_init(&screen_btn_1_anim_y);
lv_anim_set_var(&screen_btn_1_anim_y, guider_ui.screen_btn_1);
lv_anim_set_time(&screen_btn_1_anim_y, 200);
lv_anim_set_exec_cb(&screen_btn_1_anim_y, (lv_anim_exec_xcb_t)lv_obj_set_y);
lv_anim_set_values(&screen_btn_1_anim_y, lv_obj_get_y(guider_ui.screen_btn_1), 0);
lv_anim_set_path_cb(&screen_btn_1_anim_y, &lv_anim_path_linear);
lv_anim_start(&screen_btn_1_anim_y);
lv_obj_set_width(guider_ui.screen_tabview_1, 288);
}
break;
default:
break;
}
}
void events_init_screen(lv_ui *ui)
{
lv_obj_add_event_cb(ui->screen_btnm_1, screen_btnm_1_event_handler, LV_EVENT_ALL, NULL);
lv_obj_add_event_cb(ui->screen_btn_1, screen_btn_1_event_handler, LV_EVENT_ALL, NULL);
}

22
components/myui/guider/generated/events_init.h

@ -0,0 +1,22 @@
/*
* Copyright 2022 NXP
* SPDX-License-Identifier: MIT
* The auto-generated can only be used on NXP devices
*/
#ifndef EVENTS_INIT_H_
#define EVENTS_INIT_H_
#ifdef __cplusplus
extern "C" {
#endif
#include "gui_guider.h"
void events_init(lv_ui *ui);
void events_init_screen(lv_ui *ui);
#ifdef __cplusplus
}
#endif
#endif /* EVENT_CB_H_ */

16
components/myui/guider/generated/generated.mk

@ -0,0 +1,16 @@
# images
include $(PRJ_DIR)/generated/images/images.mk
# GUI Guider fonts
include $(PRJ_DIR)/generated/guider_fonts/guider_fonts.mk
# GUI Guider customer fonts
include $(PRJ_DIR)/generated/guider_customer_fonts/guider_customer_fonts.mk
GEN_CSRCS += $(notdir $(wildcard $(PRJ_DIR)/generated/*.c))
DEPPATH += --dep-path $(PRJ_DIR)/generated
VPATH += :$(PRJ_DIR)/generated
CFLAGS += "-I$(PRJ_DIR)/generated"

15
components/myui/guider/generated/gui_guider.c

@ -0,0 +1,15 @@
/*
* Copyright 2022 NXP
* SPDX-License-Identifier: MIT
* The auto-generated can only be used on NXP devices
*/
#include "lvgl/lvgl.h"
#include <stdio.h>
#include "gui_guider.h"
void setup_ui(lv_ui *ui){
setup_scr_screen(ui);
lv_scr_load(ui->screen);
}

40
components/myui/guider/generated/gui_guider.h

@ -0,0 +1,40 @@
/*
* Copyright 2022 NXP
* SPDX-License-Identifier: MIT
* The auto-generated can only be used on NXP devices
*/
#ifndef GUI_GUIDER_H
#define GUI_GUIDER_H
#ifdef __cplusplus
extern "C" {
#endif
#include "lvgl/lvgl.h"
#include "guider_fonts.h"
typedef struct
{
lv_obj_t *screen;
lv_obj_t *screen_tabview_1;
lv_obj_t *screen_tabview_1_Home;
lv_obj_t *screen_img_1;
lv_obj_t *screen_label_2;
lv_obj_t *screen_sw_1;
lv_obj_t *screen_label_1;
lv_obj_t *screen_tabview_1_Sensor;
lv_obj_t *screen_tabview_1_ToDo;
lv_obj_t *screen_btnm_1;
lv_obj_t *screen_btn_1;
lv_obj_t *screen_btn_1_label;
}lv_ui;
void setup_ui(lv_ui *ui);
extern lv_ui guider_ui;
void setup_scr_screen(lv_ui *ui);
LV_IMG_DECLARE(__m_100x100);
#ifdef __cplusplus
}
#endif
#endif

573
components/myui/guider/generated/gui_guider.py

@ -0,0 +1,573 @@
# Copyright 2022 NXP
# SPDX-License-Identifier: MIT
# The auto-generated can only be used on NXP devices
import SDL
import utime as time
import usys as sys
import lvgl as lv
import lodepng as png
import ustruct
lv.init()
SDL.init(w=320,h=240)
# Register SDL display driver.
disp_buf1 = lv.disp_draw_buf_t()
buf1_1 = bytearray(320*10)
disp_buf1.init(buf1_1, None, len(buf1_1)//4)
disp_drv = lv.disp_drv_t()
disp_drv.init()
disp_drv.draw_buf = disp_buf1
disp_drv.flush_cb = SDL.monitor_flush
disp_drv.hor_res = 320
disp_drv.ver_res = 240
disp_drv.register()
# Regsiter SDL mouse driver
indev_drv = lv.indev_drv_t()
indev_drv.init()
indev_drv.type = lv.INDEV_TYPE.POINTER
indev_drv.read_cb = SDL.mouse_read
indev_drv.register()
# Below: Taken from https://github.com/lvgl/lv_binding_micropython/blob/master/driver/js/imagetools.py#L22-L94
COLOR_SIZE = lv.color_t.__SIZE__
COLOR_IS_SWAPPED = hasattr(lv.color_t().ch,'green_h')
class lodepng_error(RuntimeError):
def __init__(self, err):
if type(err) is int:
super().__init__(png.error_text(err))
else:
super().__init__(err)
# Parse PNG file header
# Taken from https://github.com/shibukawa/imagesize_py/blob/ffef30c1a4715c5acf90e8945ceb77f4a2ed2d45/imagesize.py#L63-L85
def get_png_info(decoder, src, header):
# Only handle variable image types
if lv.img.src_get_type(src) != lv.img.SRC.VARIABLE:
return lv.RES.INV
data = lv.img_dsc_t.__cast__(src).data
if data == None:
return lv.RES.INV
png_header = bytes(data.__dereference__(24))
if png_header.startswith(b'\211PNG\r\n\032\n'):
if png_header[12:16] == b'IHDR':
start = 16
# Maybe this is for an older PNG version.
else:
start = 8
try:
width, height = ustruct.unpack(">LL", png_header[start:start+8])
except ustruct.error:
return lv.RES.INV
else:
return lv.RES.INV
header.always_zero = 0
header.w = width
header.h = height
header.cf = lv.img.CF.TRUE_COLOR_ALPHA
return lv.RES.OK
def convert_rgba8888_to_bgra8888(img_view):
for i in range(0, len(img_view), lv.color_t.__SIZE__):
ch = lv.color_t.__cast__(img_view[i:i]).ch
ch.red, ch.blue = ch.blue, ch.red
# Read and parse PNG file
def open_png(decoder, dsc):
img_dsc = lv.img_dsc_t.__cast__(dsc.src)
png_data = img_dsc.data
png_size = img_dsc.data_size
png_decoded = png.C_Pointer()
png_width = png.C_Pointer()
png_height = png.C_Pointer()
error = png.decode32(png_decoded, png_width, png_height, png_data, png_size)
if error:
raise lodepng_error(error)
img_size = png_width.int_val * png_height.int_val * 4
img_data = png_decoded.ptr_val
img_view = img_data.__dereference__(img_size)
if COLOR_SIZE == 4:
convert_rgba8888_to_bgra8888(img_view)
else:
raise lodepng_error("Error: Color mode not supported yet!")
dsc.img_data = img_data
return lv.RES.OK
# Above: Taken from https://github.com/lvgl/lv_binding_micropython/blob/master/driver/js/imagetools.py#L22-L94
decoder = lv.img.decoder_create()
decoder.info_cb = get_png_info
decoder.open_cb = open_png
def anim_x_cb(obj, v):
obj.set_x(v)
def anim_y_cb(obj, v):
obj.set_y(v)
def ta_event_cb(e,kb):
code = e.get_code()
ta = e.get_target()
if code == lv.EVENT.FOCUSED:
kb.set_textarea(ta)
kb.clear_flag(lv.obj.FLAG.HIDDEN)
if code == lv.EVENT.DEFOCUSED:
kb.set_textarea(None)
kb.add_flag(lv.obj.FLAG.HIDDEN)
screen = lv.obj()
# create style style_screen_main_main_default
style_screen_main_main_default = lv.style_t()
style_screen_main_main_default.init()
style_screen_main_main_default.set_bg_color(lv.color_make(0xff,0xff,0xff))
style_screen_main_main_default.set_bg_opa(0)
# add style for screen
screen.add_style(style_screen_main_main_default, lv.PART.MAIN|lv.STATE.DEFAULT)
screen_tabview_1 = lv.tabview(screen, lv.DIR.TOP, 30)
screen_tabview_1_tab_btns = screen_tabview_1.get_tab_btns()
# create style style_screen_tabview_1_extra_btnm_main_default
style_screen_tabview_1_extra_btnm_main_default = lv.style_t()
style_screen_tabview_1_extra_btnm_main_default.init()
style_screen_tabview_1_extra_btnm_main_default.set_bg_color(lv.color_make(0xff,0xff,0xff))
style_screen_tabview_1_extra_btnm_main_default.set_bg_grad_color(lv.color_make(0xff,0xff,0xff))
style_screen_tabview_1_extra_btnm_main_default.set_bg_grad_dir(lv.GRAD_DIR.VER)
style_screen_tabview_1_extra_btnm_main_default.set_bg_opa(255)
style_screen_tabview_1_extra_btnm_main_default.set_border_color(lv.color_make(0x21,0x95,0xf6))
style_screen_tabview_1_extra_btnm_main_default.set_border_width(0)
style_screen_tabview_1_extra_btnm_main_default.set_border_opa(100)
style_screen_tabview_1_extra_btnm_main_default.set_pad_left(0)
style_screen_tabview_1_extra_btnm_main_default.set_pad_right(0)
style_screen_tabview_1_extra_btnm_main_default.set_pad_top(0)
style_screen_tabview_1_extra_btnm_main_default.set_pad_bottom(0)
# add style for screen_tabview_1_tab_btns
screen_tabview_1_tab_btns.add_style(style_screen_tabview_1_extra_btnm_main_default, lv.PART.MAIN|lv.STATE.DEFAULT)
# create style style_screen_tabview_1_extra_btnm_items_default
style_screen_tabview_1_extra_btnm_items_default = lv.style_t()
style_screen_tabview_1_extra_btnm_items_default.init()
style_screen_tabview_1_extra_btnm_items_default.set_text_color(lv.color_make(0x4d,0x4d,0x4d))
try:
style_screen_tabview_1_extra_btnm_items_default.set_text_font(lv.font_digifaw_12)
except AttributeError:
try:
style_screen_tabview_1_extra_btnm_items_default.set_text_font(lv.font_montserrat_12)
except AttributeError:
style_screen_tabview_1_extra_btnm_items_default.set_text_font(lv.font_montserrat_16)
# add style for screen_tabview_1_tab_btns
screen_tabview_1_tab_btns.add_style(style_screen_tabview_1_extra_btnm_items_default, lv.PART.ITEMS|lv.STATE.DEFAULT)
# create style style_screen_tabview_1_extra_btnm_items_checked
style_screen_tabview_1_extra_btnm_items_checked = lv.style_t()
style_screen_tabview_1_extra_btnm_items_checked.init()
style_screen_tabview_1_extra_btnm_items_checked.set_bg_color(lv.color_make(0x21,0x95,0xf6))
style_screen_tabview_1_extra_btnm_items_checked.set_bg_grad_color(lv.color_make(0x21,0x95,0xf6))
style_screen_tabview_1_extra_btnm_items_checked.set_bg_grad_dir(lv.GRAD_DIR.VER)
style_screen_tabview_1_extra_btnm_items_checked.set_bg_opa(60)
style_screen_tabview_1_extra_btnm_items_checked.set_border_color(lv.color_make(0x21,0x95,0xf6))
style_screen_tabview_1_extra_btnm_items_checked.set_border_width(4)
style_screen_tabview_1_extra_btnm_items_checked.set_border_opa(255)
style_screen_tabview_1_extra_btnm_items_checked.set_border_side(lv.BORDER_SIDE.BOTTOM)
style_screen_tabview_1_extra_btnm_items_checked.set_text_color(lv.color_make(0x21,0x95,0xf6))
try:
style_screen_tabview_1_extra_btnm_items_checked.set_text_font(lv.font_digifaw_12)
except AttributeError:
try:
style_screen_tabview_1_extra_btnm_items_checked.set_text_font(lv.font_montserrat_12)
except AttributeError:
style_screen_tabview_1_extra_btnm_items_checked.set_text_font(lv.font_montserrat_16)
# add style for screen_tabview_1_tab_btns
screen_tabview_1_tab_btns.add_style(style_screen_tabview_1_extra_btnm_items_checked, lv.PART.ITEMS|lv.STATE.CHECKED)
screen_tabview_1_Home = screen_tabview_1.add_tab("Home")
screen_img_1 = lv.img(screen_tabview_1_Home)
screen_img_1.set_pos(15,17)
screen_img_1.set_size(100,100)
screen_img_1.add_flag(lv.obj.FLAG.CLICKABLE)
try:
with open('F:\\MyEnv\\esp_code\\esp32-s2-kaluga-1\\components\\myui\\guider\\generated\\mPythonImages\\mp1013635633.png','rb') as f:
screen_img_1_img_data = f.read()
except:
print('Could not open F:\\MyEnv\\esp_code\\esp32-s2-kaluga-1\\components\\myui\\guider\\generated\\mPythonImages\\mp1013635633.png')
sys.exit()
screen_img_1_img = lv.img_dsc_t({
'data_size': len(screen_img_1_img_data),
'header': {'always_zero': 0, 'w': 100, 'h': 100, 'cf': lv.img.CF.TRUE_COLOR_ALPHA},
'data': screen_img_1_img_data
})
screen_img_1.set_src(screen_img_1_img)
screen_img_1.set_pivot(0,0)
screen_img_1.set_angle(0)
# create style style_screen_img_1_main_main_default
style_screen_img_1_main_main_default = lv.style_t()
style_screen_img_1_main_main_default.init()
style_screen_img_1_main_main_default.set_img_recolor(lv.color_make(0xff,0xff,0xff))
style_screen_img_1_main_main_default.set_img_recolor_opa(0)
style_screen_img_1_main_main_default.set_img_opa(255)
# add style for screen_img_1
screen_img_1.add_style(style_screen_img_1_main_main_default, lv.PART.MAIN|lv.STATE.DEFAULT)
screen_label_2 = lv.label(screen_tabview_1_Home)
screen_label_2.set_pos(167,24)
screen_label_2.set_size(37,16)
screen_label_2.set_text("LED")
screen_label_2.set_long_mode(lv.label.LONG.WRAP)
screen_label_2.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
# create style style_screen_label_2_main_main_default
style_screen_label_2_main_main_default = lv.style_t()
style_screen_label_2_main_main_default.init()
style_screen_label_2_main_main_default.set_radius(0)
style_screen_label_2_main_main_default.set_bg_color(lv.color_make(0x21,0x95,0xf6))
style_screen_label_2_main_main_default.set_bg_grad_color(lv.color_make(0x21,0x95,0xf6))
style_screen_label_2_main_main_default.set_bg_grad_dir(lv.GRAD_DIR.VER)
style_screen_label_2_main_main_default.set_bg_opa(0)
style_screen_label_2_main_main_default.set_text_color(lv.color_make(0x00,0x00,0x00))
try:
style_screen_label_2_main_main_default.set_text_font(lv.font_digifaw_12)
except AttributeError:
try:
style_screen_label_2_main_main_default.set_text_font(lv.font_montserrat_12)
except AttributeError:
style_screen_label_2_main_main_default.set_text_font(lv.font_montserrat_16)
style_screen_label_2_main_main_default.set_text_letter_space(2)
style_screen_label_2_main_main_default.set_pad_left(0)
style_screen_label_2_main_main_default.set_pad_right(0)
style_screen_label_2_main_main_default.set_pad_top(0)
style_screen_label_2_main_main_default.set_pad_bottom(0)
# add style for screen_label_2
screen_label_2.add_style(style_screen_label_2_main_main_default, lv.PART.MAIN|lv.STATE.DEFAULT)
screen_sw_1 = lv.switch(screen_tabview_1_Home)
screen_sw_1.set_pos(212,21)
screen_sw_1.set_size(40,20)
# create style style_screen_sw_1_main_main_default
style_screen_sw_1_main_main_default = lv.style_t()
style_screen_sw_1_main_main_default.init()
style_screen_sw_1_main_main_default.set_radius(100)
style_screen_sw_1_main_main_default.set_bg_color(lv.color_make(0xe6,0xe2,0xe6))
style_screen_sw_1_main_main_default.set_bg_grad_color(lv.color_make(0xe6,0xe2,0xe6))
style_screen_sw_1_main_main_default.set_bg_grad_dir(lv.GRAD_DIR.VER)
style_screen_sw_1_main_main_default.set_bg_opa(255)
# add style for screen_sw_1
screen_sw_1.add_style(style_screen_sw_1_main_main_default, lv.PART.MAIN|lv.STATE.DEFAULT)
# create style style_screen_sw_1_main_indicator_checked
style_screen_sw_1_main_indicator_checked = lv.style_t()
style_screen_sw_1_main_indicator_checked.init()
style_screen_sw_1_main_indicator_checked.set_radius(100)
style_screen_sw_1_main_indicator_checked.set_bg_color(lv.color_make(0x21,0x95,0xf6))
style_screen_sw_1_main_indicator_checked.set_bg_grad_color(lv.color_make(0x21,0x95,0xf6))
style_screen_sw_1_main_indicator_checked.set_bg_grad_dir(lv.GRAD_DIR.VER)
style_screen_sw_1_main_indicator_checked.set_bg_opa(255)
# add style for screen_sw_1
screen_sw_1.add_style(style_screen_sw_1_main_indicator_checked, lv.PART.INDICATOR|lv.STATE.CHECKED)
# create style style_screen_sw_1_main_knob_default
style_screen_sw_1_main_knob_default = lv.style_t()
style_screen_sw_1_main_knob_default.init()
style_screen_sw_1_main_knob_default.set_radius(100)
style_screen_sw_1_main_knob_default.set_bg_color(lv.color_make(0xff,0xff,0xff))
style_screen_sw_1_main_knob_default.set_bg_grad_color(lv.color_make(0xff,0xff,0xff))
style_screen_sw_1_main_knob_default.set_bg_grad_dir(lv.GRAD_DIR.VER)
style_screen_sw_1_main_knob_default.set_bg_opa(255)
# add style for screen_sw_1
screen_sw_1.add_style(style_screen_sw_1_main_knob_default, lv.PART.KNOB|lv.STATE.DEFAULT)
screen_label_1 = lv.label(screen_tabview_1_Home)
screen_label_1.set_pos(16,127)
screen_label_1.set_size(96,15)
screen_label_1.set_text("pomin")
screen_label_1.set_long_mode(lv.label.LONG.WRAP)
screen_label_1.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
# create style style_screen_label_1_main_main_default
style_screen_label_1_main_main_default = lv.style_t()
style_screen_label_1_main_main_default.init()
style_screen_label_1_main_main_default.set_radius(0)
style_screen_label_1_main_main_default.set_bg_color(lv.color_make(0x21,0x95,0xf6))
style_screen_label_1_main_main_default.set_bg_grad_color(lv.color_make(0x21,0x95,0xf6))
style_screen_label_1_main_main_default.set_bg_grad_dir(lv.GRAD_DIR.VER)
style_screen_label_1_main_main_default.set_bg_opa(0)
style_screen_label_1_main_main_default.set_text_color(lv.color_make(0x00,0x00,0x00))
try:
style_screen_label_1_main_main_default.set_text_font(lv.font_digifaw_12)
except AttributeError:
try:
style_screen_label_1_main_main_default.set_text_font(lv.font_montserrat_12)
except AttributeError:
style_screen_label_1_main_main_default.set_text_font(lv.font_montserrat_16)
style_screen_label_1_main_main_default.set_text_letter_space(2)
style_screen_label_1_main_main_default.set_pad_left(0)
style_screen_label_1_main_main_default.set_pad_right(0)
style_screen_label_1_main_main_default.set_pad_top(0)
style_screen_label_1_main_main_default.set_pad_bottom(0)
# add style for screen_label_1
screen_label_1.add_style(style_screen_label_1_main_main_default, lv.PART.MAIN|lv.STATE.DEFAULT)
screen_tabview_1_Sensor = screen_tabview_1.add_tab("Sensor")
screen_tabview_1_ToDo = screen_tabview_1.add_tab("ToDo")
screen_tabview_1.set_pos(0,0)
screen_tabview_1.set_size(314,240)
# create style style_screen_tabview_1_main_main_default
style_screen_tabview_1_main_main_default = lv.style_t()
style_screen_tabview_1_main_main_default.init()
style_screen_tabview_1_main_main_default.set_bg_color(lv.color_make(0xea,0xef,0xf3))
style_screen_tabview_1_main_main_default.set_bg_grad_color(lv.color_make(0xea,0xef,0xf3))
style_screen_tabview_1_main_main_default.set_bg_grad_dir(lv.GRAD_DIR.VER)
style_screen_tabview_1_main_main_default.set_bg_opa(255)
style_screen_tabview_1_main_main_default.set_border_color(lv.color_make(0xc0,0xc0,0xc0))
style_screen_tabview_1_main_main_default.set_border_width(0)
style_screen_tabview_1_main_main_default.set_border_opa(100)
style_screen_tabview_1_main_main_default.set_text_color(lv.color_make(0x4d,0x4d,0x4d))
try:
style_screen_tabview_1_main_main_default.set_text_font(lv.font_digifaw_12)
except AttributeError:
try:
style_screen_tabview_1_main_main_default.set_text_font(lv.font_montserrat_12)
except AttributeError:
style_screen_tabview_1_main_main_default.set_text_font(lv.font_montserrat_16)
style_screen_tabview_1_main_main_default.set_text_letter_space(2)
style_screen_tabview_1_main_main_default.set_text_line_space(16)
# add style for screen_tabview_1
screen_tabview_1.add_style(style_screen_tabview_1_main_main_default, lv.PART.MAIN|lv.STATE.DEFAULT)
screen_btnm_1 = lv.btnmatrix(screen)
screen_btnm_1.set_pos(288,0)
screen_btnm_1.set_size(32,240)
screen_btnm_1.update_layout()
screen_btnm_1_anim_move_x = lv.anim_t()
screen_btnm_1_anim_move_x.init()
screen_btnm_1_anim_move_x.set_var(screen_btnm_1)
screen_btnm_1_anim_move_x.set_values(screen_btnm_1.get_x(), 320)
screen_btnm_1_anim_move_x.set_time(500)
screen_btnm_1_anim_move_x.set_path_cb(lv.anim_t.path_bounce)
screen_btnm_1_anim_move_x.set_custom_exec_cb(lambda a,val: anim_x_cb(screen_btnm_1,val))
lv.anim_t.start(screen_btnm_1_anim_move_x)
screen_btnm_1_anim_move_y = lv.anim_t()
screen_btnm_1_anim_move_y.init()
screen_btnm_1_anim_move_y.set_var(screen_btnm_1)
screen_btnm_1_anim_move_y.set_values(screen_btnm_1.get_x(), 0)
screen_btnm_1_anim_move_y.set_time(500)
screen_btnm_1_anim_move_y.set_path_cb(lv.anim_t.path_bounce)
screen_btnm_1_anim_move_y.set_custom_exec_cb(lambda a,val: anim_y_cb(screen_btnm_1,val))
lv.anim_t.start(screen_btnm_1_anim_move_y)
btnm_map = [
"1",
"\n",
"2",
"\n",
"3",
"\n",
"4",
"\n",
"5",
"\n",
"6",
"",
""]
screen_btnm_1.set_map(btnm_map)
# create style style_screen_btnm_1_main_main_default
style_screen_btnm_1_main_main_default = lv.style_t()
style_screen_btnm_1_main_main_default.init()
style_screen_btnm_1_main_main_default.set_radius(4)
style_screen_btnm_1_main_main_default.set_bg_color(lv.color_make(0xff,0xff,0xff))
style_screen_btnm_1_main_main_default.set_bg_grad_color(lv.color_make(0xff,0xff,0xff))
style_screen_btnm_1_main_main_default.set_bg_grad_dir(lv.GRAD_DIR.HOR)
style_screen_btnm_1_main_main_default.set_bg_opa(255)
style_screen_btnm_1_main_main_default.set_border_color(lv.color_make(0xff,0xff,0xff))
style_screen_btnm_1_main_main_default.set_border_width(1)
style_screen_btnm_1_main_main_default.set_pad_left(5)
style_screen_btnm_1_main_main_default.set_pad_right(5)
style_screen_btnm_1_main_main_default.set_pad_top(5)
style_screen_btnm_1_main_main_default.set_pad_bottom(5)
style_screen_btnm_1_main_main_default.set_pad_row(8)
style_screen_btnm_1_main_main_default.set_pad_column(8)
# add style for screen_btnm_1
screen_btnm_1.add_style(style_screen_btnm_1_main_main_default, lv.PART.MAIN|lv.STATE.DEFAULT)
# create style style_screen_btnm_1_main_items_default
style_screen_btnm_1_main_items_default = lv.style_t()
style_screen_btnm_1_main_items_default.init()
style_screen_btnm_1_main_items_default.set_radius(4)
style_screen_btnm_1_main_items_default.set_bg_color(lv.color_make(0xe6,0xe6,0xe6))
style_screen_btnm_1_main_items_default.set_bg_grad_color(lv.color_make(0xe6,0xe6,0xe6))
style_screen_btnm_1_main_items_default.set_bg_grad_dir(lv.GRAD_DIR.VER)
style_screen_btnm_1_main_items_default.set_bg_opa(255)
style_screen_btnm_1_main_items_default.set_border_color(lv.color_make(0xd6,0xdd,0xe3))
style_screen_btnm_1_main_items_default.set_border_width(1)
style_screen_btnm_1_main_items_default.set_text_color(lv.color_make(0x00,0x00,0x00))
try:
style_screen_btnm_1_main_items_default.set_text_font(lv.font_simsun_12)
except AttributeError:
try:
style_screen_btnm_1_main_items_default.set_text_font(lv.font_montserrat_12)
except AttributeError:
style_screen_btnm_1_main_items_default.set_text_font(lv.font_montserrat_16)
# add style for screen_btnm_1
screen_btnm_1.add_style(style_screen_btnm_1_main_items_default, lv.PART.ITEMS|lv.STATE.DEFAULT)
screen_btn_1 = lv.btn(screen)
screen_btn_1.set_pos(315,0)
screen_btn_1.set_size(5,240)
screen_btn_1.add_flag(lv.obj.FLAG.CHECKABLE)
# create style style_screen_btn_1_main_main_default
style_screen_btn_1_main_main_default = lv.style_t()
style_screen_btn_1_main_main_default.init()
style_screen_btn_1_main_main_default.set_radius(5)
style_screen_btn_1_main_main_default.set_bg_color(lv.color_make(0x21,0x95,0xf6))
style_screen_btn_1_main_main_default.set_bg_grad_color(lv.color_make(0x21,0x95,0xf6))
style_screen_btn_1_main_main_default.set_bg_grad_dir(lv.GRAD_DIR.VER)
style_screen_btn_1_main_main_default.set_bg_opa(255)
style_screen_btn_1_main_main_default.set_shadow_color(lv.color_make(0x21,0x95,0xf6))
style_screen_btn_1_main_main_default.set_shadow_opa(255)
style_screen_btn_1_main_main_default.set_border_color(lv.color_make(0x21,0x95,0xf6))
style_screen_btn_1_main_main_default.set_border_width(0)
style_screen_btn_1_main_main_default.set_border_opa(255)
# add style for screen_btn_1
screen_btn_1.add_style(style_screen_btn_1_main_main_default, lv.PART.MAIN|lv.STATE.DEFAULT)
def screen_btnm_1_clicked_1_event_cb(e,screen_btn_1):
src = e.get_target()
code = e.get_code()
screen_btn_1_event_move_x = lv.anim_t()
screen_btn_1_event_move_x.init()
screen_btn_1_event_move_x.set_var(screen_btn_1)
screen_btn_1_event_move_x.set_values(screen_btn_1.get_x(), 315)
screen_btn_1_event_move_x.set_time(200)
screen_btn_1_event_move_x.set_path_cb(lv.anim_t.path_bounce)
screen_btn_1_event_move_x.set_custom_exec_cb(lambda a,val: anim_x_cb(screen_btn_1,val))
lv.anim_t.start(screen_btn_1_event_move_x)
screen_btn_1_event_move_y = lv.anim_t()
screen_btn_1_event_move_y.init()
screen_btn_1_event_move_y.set_var(screen_btn_1)
screen_btn_1_event_move_y.set_values(screen_btn_1.get_y(), 0)
screen_btn_1_event_move_y.set_time(200)
screen_btn_1_event_move_y.set_path_cb(lv.anim_t.path_bounce)
screen_btn_1_event_move_y.set_custom_exec_cb(lambda a,val: anim_y_cb(screen_btn_1,val))
lv.anim_t.start(screen_btn_1_event_move_y)
screen_btnm_1.add_event_cb(lambda e: screen_btnm_1_clicked_1_event_cb(e,screen_btn_1), lv.EVENT.CLICKED, None)
def screen_btnm_1_clicked_2_event_cb(e,screen_btnm_1):
src = e.get_target()
code = e.get_code()
screen_btnm_1_event_move_x = lv.anim_t()
screen_btnm_1_event_move_x.init()
screen_btnm_1_event_move_x.set_var(screen_btnm_1)
screen_btnm_1_event_move_x.set_values(screen_btnm_1.get_x(), 320)
screen_btnm_1_event_move_x.set_time(200)
screen_btnm_1_event_move_x.set_path_cb(lv.anim_t.path_linear)
screen_btnm_1_event_move_x.set_custom_exec_cb(lambda a,val: anim_x_cb(screen_btnm_1,val))
lv.anim_t.start(screen_btnm_1_event_move_x)
screen_btnm_1_event_move_y = lv.anim_t()
screen_btnm_1_event_move_y.init()
screen_btnm_1_event_move_y.set_var(screen_btnm_1)
screen_btnm_1_event_move_y.set_values(screen_btnm_1.get_y(), 0)
screen_btnm_1_event_move_y.set_time(200)
screen_btnm_1_event_move_y.set_path_cb(lv.anim_t.path_linear)
screen_btnm_1_event_move_y.set_custom_exec_cb(lambda a,val: anim_y_cb(screen_btnm_1,val))
lv.anim_t.start(screen_btnm_1_event_move_y)
screen_btnm_1.add_event_cb(lambda e: screen_btnm_1_clicked_2_event_cb(e,screen_btnm_1), lv.EVENT.CLICKED, None)
def screen_btnm_1_clicked_3_event_cb(e,screen_tabview_1):
src = e.get_target()
code = e.get_code()
screen_tabview_1.set_width(315)
screen_btnm_1.add_event_cb(lambda e: screen_btnm_1_clicked_3_event_cb(e,screen_tabview_1), lv.EVENT.CLICKED, None)
def screen_btn_1_clicked_1_event_cb(e,screen_btnm_1):
src = e.get_target()
code = e.get_code()
screen_btnm_1_event_move_x = lv.anim_t()
screen_btnm_1_event_move_x.init()
screen_btnm_1_event_move_x.set_var(screen_btnm_1)
screen_btnm_1_event_move_x.set_values(screen_btnm_1.get_x(), 288)
screen_btnm_1_event_move_x.set_time(200)
screen_btnm_1_event_move_x.set_path_cb(lv.anim_t.path_linear)
screen_btnm_1_event_move_x.set_custom_exec_cb(lambda a,val: anim_x_cb(screen_btnm_1,val))
lv.anim_t.start(screen_btnm_1_event_move_x)
screen_btnm_1_event_move_y = lv.anim_t()
screen_btnm_1_event_move_y.init()
screen_btnm_1_event_move_y.set_var(screen_btnm_1)
screen_btnm_1_event_move_y.set_values(screen_btnm_1.get_y(), 0)
screen_btnm_1_event_move_y.set_time(200)
screen_btnm_1_event_move_y.set_path_cb(lv.anim_t.path_linear)
screen_btnm_1_event_move_y.set_custom_exec_cb(lambda a,val: anim_y_cb(screen_btnm_1,val))
lv.anim_t.start(screen_btnm_1_event_move_y)
screen_btn_1.add_event_cb(lambda e: screen_btn_1_clicked_1_event_cb(e,screen_btnm_1), lv.EVENT.CLICKED, None)
def screen_btn_1_clicked_2_event_cb(e,screen_btn_1):
src = e.get_target()
code = e.get_code()
screen_btn_1_event_move_x = lv.anim_t()
screen_btn_1_event_move_x.init()
screen_btn_1_event_move_x.set_var(screen_btn_1)
screen_btn_1_event_move_x.set_values(screen_btn_1.get_x(), 320)
screen_btn_1_event_move_x.set_time(200)
screen_btn_1_event_move_x.set_path_cb(lv.anim_t.path_linear)
screen_btn_1_event_move_x.set_custom_exec_cb(lambda a,val: anim_x_cb(screen_btn_1,val))
lv.anim_t.start(screen_btn_1_event_move_x)
screen_btn_1_event_move_y = lv.anim_t()
screen_btn_1_event_move_y.init()
screen_btn_1_event_move_y.set_var(screen_btn_1)
screen_btn_1_event_move_y.set_values(screen_btn_1.get_y(), 0)
screen_btn_1_event_move_y.set_time(200)
screen_btn_1_event_move_y.set_path_cb(lv.anim_t.path_linear)
screen_btn_1_event_move_y.set_custom_exec_cb(lambda a,val: anim_y_cb(screen_btn_1,val))
lv.anim_t.start(screen_btn_1_event_move_y)
screen_btn_1.add_event_cb(lambda e: screen_btn_1_clicked_2_event_cb(e,screen_btn_1), lv.EVENT.CLICKED, None)
def screen_btn_1_clicked_3_event_cb(e,screen_tabview_1):
src = e.get_target()
code = e.get_code()
screen_tabview_1.set_width(288)
screen_btn_1.add_event_cb(lambda e: screen_btn_1_clicked_3_event_cb(e,screen_tabview_1), lv.EVENT.CLICKED, None)
# content from custom.py
# Load the default screen
lv.scr_load(screen)
while SDL.check():
time.sleep_ms(5)

12
components/myui/guider/generated/guider_customer_fonts/guider_customer_fonts.h

@ -0,0 +1,12 @@
#ifndef GUIDER_CUSTOMER_FONTS_H
#define GUIDER_CUSTOMER_FONTS_H
#ifdef __cplusplus
extern "C" {
#endif
#include "lv_font.h"
#ifdef __cplusplus
}
#endif
#endif

6
components/myui/guider/generated/guider_customer_fonts/guider_customer_fonts.mk

@ -0,0 +1,6 @@
GEN_CSRCS += $(notdir $(wildcard $(PRJ_DIR)/generated/guider_customer_fonts/*.c))
DEPPATH += --dep-path $(PRJ_DIR)/generated/guider_customer_fonts
VPATH += :$(PRJ_DIR)/generated/guider_customer_fonts
CFLAGS += "-I$(PRJ_DIR)/generated/guider_customer_fonts"

18
components/myui/guider/generated/guider_fonts/guider_fonts.h

@ -0,0 +1,18 @@
#ifndef GUIDER_FONTS_H
#define GUIDER_FONTS_H
#ifdef __cplusplus
extern "C" {
#endif
#include "lv_font.h"
LV_FONT_DECLARE(lv_font_digifaw_12)
LV_FONT_DECLARE(lv_font_simsun_12)
#ifdef __cplusplus
}
#endif
#endif

6
components/myui/guider/generated/guider_fonts/guider_fonts.mk

@ -0,0 +1,6 @@
GEN_CSRCS += $(notdir $(wildcard $(PRJ_DIR)/generated/guider_fonts/*.c))
DEPPATH += --dep-path $(PRJ_DIR)/generated/guider_fonts
VPATH += :$(PRJ_DIR)/generated/guider_fonts
CFLAGS += "-I$(PRJ_DIR)/generated/guider_fonts"

1523
components/myui/guider/generated/guider_fonts/lv_font_digifaw_12.c

File diff suppressed because it is too large

1371
components/myui/guider/generated/guider_fonts/lv_font_simsun_12.c

File diff suppressed because it is too large

47
components/myui/guider/generated/guider_lv_conf.h

@ -0,0 +1,47 @@
#ifndef GUIDER_LV_CONF_H
#define GUIDER_LV_CONF_H
/* Maximal horizontal and vertical resolution to support by the library.*/
#define LV_HOR_RES_MAX (480)
#define LV_VER_RES_MAX (272)
/* Color depth:
* - 1: 1 byte per pixel
* - 8: RGB233
* - 16: RGB565
* - 32: ARGB8888
*/
#define LV_COLOR_DEPTH 16
/* Dot Per Inch: used to initialize default sizes.
* E.g. a button with width = LV_DPI / 2 -> half inch wide
* (Not so important, you can adjust it to modify default sizes and spaces)*/
#define LV_DPI 100 /*[px]*/
/* 1: use custom malloc/free, 0: use the built-in `lv_mem_alloc` and `lv_mem_free` */
#define LV_MEM_CUSTOM 0
#if LV_MEM_CUSTOM == 0
/* Size of the memory used by `lv_mem_alloc` in bytes (>= 2kB)*/
# define LV_MEM_SIZE (128U * 1024U + LV_HOR_RES_MAX * LV_VER_RES_MAX * 4)
/* Complier prefix for a big array declaration */
# define LV_MEM_ATTR
/* Set an address for the memory pool instead of allocating it as an array.
* Can be in external SRAM too. */
# define LV_MEM_ADR 0
/* Automatically defrag. on free. Defrag. means joining the adjacent free cells. */
# define LV_MEM_AUTO_DEFRAG 1
#else /*LV_MEM_CUSTOM*/
# define LV_MEM_CUSTOM_INCLUDE <stdlib.h> /*Header for the dynamic memory function*/
# define LV_MEM_CUSTOM_ALLOC malloc /*Wrapper to malloc*/
# define LV_MEM_CUSTOM_FREE free /*Wrapper to free*/
#endif /*LV_MEM_CUSTOM*/
/* 1: Enable GPU interface*/
#define LV_USE_GPU 1
#define LV_USE_GPU_STM32_DMA2D 0
#endif

236
components/myui/guider/generated/images/__m_100x100.c

@ -0,0 +1,236 @@
/*
* Copyright 2022 NXP
* SPDX-License-Identifier: MIT
*/
#include "lvgl/lvgl.h"
#include "lvgl/lvgl.h"
#include "lvgl/lvgl.h"
#ifndef LV_ATTRIBUTE_MEM_ALIGN
#define LV_ATTRIBUTE_MEM_ALIGN
#endif
#ifndef LV_ATTRIBUTE_IMG___M_100X100
#define LV_ATTRIBUTE_IMG___M_100X100
#endif
const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_IMG___M_100X100 uint8_t __m_100x100_map[] = {
#if LV_COLOR_DEPTH == 16 && LV_COLOR_16_SWAP == 0
/*Pixel format: Alpha 8 bit, Red: 5 bit, Green: 6 bit, Blue: 5 bit*/
0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xb6, 0xbd, 0x00, 0x95, 0xb5, 0x00, 0x55, 0xad, 0x34, 0xce, 0x83, 0x56, 0x4c, 0x7b, 0x68, 0x4b, 0x73, 0x79, 0x6c, 0x7b, 0x8d, 0xcd, 0x83, 0x9f, 0x2e, 0x94, 0xad, 0x2f, 0x94, 0xb7, 0x4f, 0x94, 0xbb, 0x4e, 0x94, 0xb7, 0x4e, 0x94, 0xad, 0x4f, 0x94, 0x9f, 0x4f, 0x94, 0x8d, 0x4f, 0x94, 0x79, 0x4f, 0x94, 0x68, 0x90, 0x9c, 0x56, 0x75, 0xb5, 0x34, 0x96, 0xb5, 0x00, 0xd6, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0x96, 0xb5, 0x00, 0x08, 0x42, 0x00,
0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xde, 0xff, 0x1f, 0x3c, 0xef, 0x57, 0x1b, 0xe7, 0x7e, 0x98, 0xde, 0xaa, 0xf5, 0xc5, 0xc4, 0xb4, 0xbd, 0xd5, 0xf1, 0xac, 0xeb, 0x90, 0xa4, 0xf4, 0x90, 0xa4, 0xf6, 0xd1, 0xac, 0xf8, 0x32, 0xbd, 0xfb, 0xb4, 0xc5, 0xfe, 0xd4, 0xcd, 0xff, 0xd4, 0xcd, 0xff, 0xf4, 0xcd, 0xff, 0xf4, 0xcd, 0xfe, 0xf4, 0xcd, 0xfb, 0xf5, 0xcd, 0xf8, 0xf5, 0xcd, 0xf6, 0xf5, 0xd5, 0xf4, 0x16, 0xd6, 0xeb, 0x37, 0xd6, 0xd5, 0x37, 0xd6, 0xc4, 0xb9, 0xe6, 0xaa, 0x3b, 0xef, 0x7e, 0x3c, 0xef, 0x57, 0xde, 0xff, 0x1f, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xbe, 0xf7, 0x00, 0xeb, 0x5a, 0x00,
0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x7d, 0xf7, 0x34, 0x1b, 0xef, 0x70, 0xb9, 0xde, 0xa8, 0x37, 0xd6, 0xcc, 0xd5, 0xcd, 0xe9, 0xb4, 0xc5, 0xf7, 0x93, 0xbd, 0xfd, 0x53, 0xbd, 0xff, 0x12, 0xad, 0xff, 0xb0, 0xa4, 0xff, 0x70, 0xa4, 0xff, 0x4f, 0x9c, 0xff, 0xb0, 0xac, 0xff, 0x52, 0xbd, 0xff, 0xb3, 0xc5, 0xff, 0xb3, 0xc5, 0xff, 0xb3, 0xc5, 0xff, 0xb3, 0xc5, 0xff, 0xb4, 0xc5, 0xff, 0xd4, 0xcd, 0xff, 0xd4, 0xcd, 0xff, 0xd5, 0xcd, 0xff, 0xf5, 0xcd, 0xff, 0xf5, 0xcd, 0xff, 0xd5, 0xcd, 0xff, 0xd5, 0xcd, 0xff, 0xd5, 0xcd, 0xfd, 0xf5, 0xcd, 0xf7, 0xf5, 0xd5, 0xe9, 0x37, 0xde, 0xcc, 0xb9, 0xe6, 0xa8, 0x1b, 0xef, 0x70, 0x7d, 0xf7, 0x34, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x9e, 0xf7, 0x00, 0xeb, 0x5a, 0x00,
0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xde, 0xff, 0x18, 0x1b, 0xe7, 0x65, 0x99, 0xde, 0xa9, 0x16, 0xd6, 0xd5, 0x15, 0xce, 0xf3, 0x16, 0xce, 0xfd, 0xf5, 0xcd, 0xff, 0xd5, 0xc5, 0xff, 0x94, 0xc5, 0xff, 0x73, 0xbd, 0xff, 0x53, 0xb5, 0xff, 0x12, 0xad, 0xff, 0xb0, 0xa4, 0xff, 0x4f, 0x9c, 0xff, 0x2f, 0x9c, 0xff, 0xb0, 0xa4, 0xff, 0x72, 0xbd, 0xff, 0x93, 0xc5, 0xff, 0x93, 0xc5, 0xff, 0x92, 0xc5, 0xff, 0x93, 0xc5, 0xff, 0x93, 0xc5, 0xff, 0x93, 0xc5, 0xff, 0xb4, 0xc5, 0xff, 0xb4, 0xcd, 0xff, 0xd5, 0xcd, 0xff, 0xd5, 0xcd, 0xff, 0xd5, 0xcd, 0xff, 0xd4, 0xcd, 0xff, 0xd5, 0xcd, 0xff, 0xd5, 0xcd, 0xff, 0xf5, 0xd5, 0xff, 0xf5, 0xd5, 0xff, 0xf5, 0xd5, 0xfd, 0xf5, 0xd5, 0xf3, 0x36, 0xd6, 0xd5, 0xd9, 0xe6, 0xa9, 0x5c, 0xef, 0x65, 0xde, 0xff, 0x18, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x9e, 0xf7, 0x00, 0xeb, 0x5a, 0x00,
0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x9d, 0xf7, 0x33, 0x1b, 0xef, 0x85, 0x77, 0xd6, 0xc6, 0xb4, 0xc5, 0xec, 0xd5, 0xc5, 0xfd, 0x16, 0xce, 0xff, 0x16, 0xce, 0xff, 0xf5, 0xcd, 0xff, 0xd5, 0xc5, 0xff, 0x94, 0xbd, 0xff, 0x73, 0xbd, 0xff, 0x53, 0xbd, 0xff, 0x32, 0xb5, 0xff, 0xf1, 0xac, 0xff, 0x90, 0x9c, 0xff, 0x2f, 0x9c, 0xff, 0x0e, 0x94, 0xff, 0x90, 0xa4, 0xff, 0x52, 0xbd, 0xff, 0x93, 0xc5, 0xff, 0x92, 0xc5, 0xff, 0x72, 0xbd, 0xff, 0x73, 0xbd, 0xff, 0x73, 0xbd, 0xff, 0x93, 0xc5, 0xff, 0x94, 0xc5, 0xff, 0x94, 0xc5, 0xff, 0xb4, 0xc5, 0xff, 0xb4, 0xcd, 0xff, 0xb4, 0xcd, 0xff, 0xb4, 0xcd, 0xff, 0xb4, 0xcd, 0xff, 0xd5, 0xcd, 0xff, 0xd5, 0xcd, 0xff, 0xf5, 0xcd, 0xff, 0xf5, 0xd5, 0xff, 0xf5, 0xd5, 0xff, 0x16, 0xd6, 0xff, 0x36, 0xd6, 0xfd, 0x36, 0xd6, 0xec, 0x77, 0xde, 0xc6, 0x1b, 0xef, 0x85, 0x9d, 0xf7, 0x33, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x9e, 0xf7, 0x00, 0xeb, 0x5a, 0x00,
0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x9d, 0xf7, 0x36, 0xfa, 0xe6, 0x8e, 0x77, 0xde, 0xd1, 0x36, 0xd6, 0xf6, 0xf5, 0xcd, 0xff, 0x94, 0xc5, 0xff, 0xd4, 0xc5, 0xff, 0xf5, 0xcd, 0xff, 0xf5, 0xcd, 0xff, 0xd5, 0xcd, 0xff, 0x94, 0xc5, 0xff, 0x73, 0xbd, 0xff, 0x53, 0xbd, 0xff, 0x32, 0xb5, 0xff, 0x11, 0xad, 0xff, 0xb0, 0xa4, 0xff, 0x6f, 0x9c, 0xff, 0xee, 0x8b, 0xff, 0xcd, 0x8b, 0xff, 0x70, 0x9c, 0xff, 0x52, 0xbd, 0xff, 0x92, 0xc5, 0xff, 0x72, 0xbd, 0xff, 0x72, 0xbd, 0xff, 0x72, 0xbd, 0xff, 0x72, 0xbd, 0xff, 0x72, 0xc5, 0xff, 0x73, 0xc5, 0xff, 0x73, 0xc5, 0xff, 0x94, 0xc5, 0xff, 0xb4, 0xc5, 0xff, 0xb4, 0xc5, 0xff, 0xb4, 0xcd, 0xff, 0xb4, 0xcd, 0xff, 0xb4, 0xcd, 0xff, 0xd4, 0xcd, 0xff, 0xd5, 0xcd, 0xff, 0xf5, 0xcd, 0xff, 0xf5, 0xd5, 0xff, 0x15, 0xd6, 0xff, 0x16, 0xd6, 0xff, 0x36, 0xd6, 0xff, 0x35, 0xd6, 0xff, 0x15, 0xd6, 0xf6, 0x56, 0xd6, 0xd1, 0xd9, 0xe6, 0x8e, 0x9d, 0xf7, 0x36, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x9e, 0xf7, 0x00, 0xeb, 0x5a, 0x00,
0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x9d, 0xf7, 0x26, 0xfa, 0xe6, 0x87, 0x78, 0xde, 0xd1, 0x57, 0xd6, 0xf7, 0x57, 0xd6, 0xff, 0x36, 0xd6, 0xff, 0xb4, 0xc5, 0xff, 0x94, 0xbd, 0xff, 0xd4, 0xc5, 0xff, 0xf5, 0xcd, 0xff, 0xd5, 0xcd, 0xff, 0xb4, 0xc5, 0xff, 0x73, 0xbd, 0xff, 0x32, 0xb5, 0xff, 0x32, 0xb5, 0xff, 0x12, 0xb5, 0xff, 0xf1, 0xac, 0xff, 0x8f, 0x9c, 0xff, 0x0e, 0x94, 0xff, 0xac, 0x83, 0xff, 0x6c, 0x7b, 0xff, 0x0e, 0x94, 0xff, 0x11, 0xb5, 0xff, 0x52, 0xbd, 0xff, 0x52, 0xbd, 0xff, 0x51, 0xbd, 0xff, 0x51, 0xbd, 0xff, 0x51, 0xbd, 0xff, 0x52, 0xbd, 0xff, 0x72, 0xbd, 0xff, 0x73, 0xbd, 0xff, 0x93, 0xc5, 0xff, 0x93, 0xc5, 0xff, 0x94, 0xc5, 0xff, 0x94, 0xc5, 0xff, 0xb4, 0xc5, 0xff, 0xb4, 0xc5, 0xff, 0xb4, 0xcd, 0xff, 0xd4, 0xcd, 0xff, 0xd5, 0xcd, 0xff, 0xf5, 0xcd, 0xff, 0xf5, 0xcd, 0xff, 0xf5, 0xd5, 0xff, 0x15, 0xd6, 0xff, 0x15, 0xd6, 0xff, 0x15, 0xd6, 0xff, 0x15, 0xd6, 0xff, 0x15, 0xd6, 0xf7, 0x56, 0xd6, 0xd1, 0xd9, 0xe6, 0x87, 0x9d, 0xf7, 0x26, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x9e, 0xf7, 0x00, 0xeb, 0x5a, 0x00,
0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xdf, 0xff, 0x00, 0x3c, 0xef, 0x6b, 0x98, 0xde, 0xc4, 0x77, 0xde, 0xf5, 0x57, 0xde, 0xff, 0x57, 0xd6, 0xff, 0x57, 0xd6, 0xff, 0x16, 0xce, 0xff, 0xb4, 0xc5, 0xff, 0xb4, 0xc5, 0xff, 0xd4, 0xc5, 0xff, 0xd5, 0xcd, 0xff, 0xb4, 0xc5, 0xff, 0x73, 0xbd, 0xff, 0x32, 0xb5, 0xff, 0x11, 0xad, 0xff, 0x11, 0xad, 0xff, 0xd1, 0xac, 0xff, 0x90, 0x9c, 0xff, 0x0e, 0x8c, 0xff, 0x8c, 0x7b, 0xff, 0x4b, 0x73, 0xff, 0xea, 0x6a, 0xff, 0x8c, 0x83, 0xff, 0xb0, 0xa4, 0xff, 0x11, 0xb5, 0xff, 0x31, 0xb5, 0xff, 0x11, 0xb5, 0xff, 0x11, 0xb5, 0xff, 0x11, 0xb5, 0xff, 0x31, 0xb5, 0xff, 0x52, 0xbd, 0xff, 0x52, 0xbd, 0xff, 0x73, 0xbd, 0xff, 0x73, 0xbd, 0xff, 0x73, 0xc5, 0xff, 0x93, 0xc5, 0xff, 0x94, 0xc5, 0xff, 0x94, 0xc5, 0xff, 0xb4, 0xcd, 0xff, 0xd5, 0xcd, 0xff, 0xd5, 0xcd, 0xff, 0xd5, 0xcd, 0xff, 0xd5, 0xcd, 0xff, 0xf5, 0xcd, 0xff, 0xf5, 0xcd, 0xff, 0xf5, 0xcd, 0xff, 0x15, 0xce, 0xff, 0x15, 0xd6, 0xff, 0x15, 0xd6, 0xff, 0x15, 0xd6, 0xff, 0x15, 0xd6, 0xf5, 0x57, 0xd6, 0xc4, 0x3b, 0xef, 0x6b, 0xdf, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x9e, 0xf7, 0x00, 0xeb, 0x5a, 0x00,
0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x9d, 0xf7, 0x3a, 0xd9, 0xe6, 0xa6, 0x57, 0xd6, 0xe9, 0x57, 0xd6, 0xff, 0x57, 0xde, 0xff, 0x57, 0xd6, 0xff, 0x57, 0xd6, 0xff, 0x36, 0xd6, 0xff, 0xf5, 0xcd, 0xff, 0x93, 0xbd, 0xff, 0xb3, 0xc5, 0xff, 0xb4, 0xc5, 0xff, 0xb4, 0xc5, 0xff, 0x73, 0xbd, 0xff, 0x32, 0xb5, 0xff, 0xf0, 0xac, 0xff, 0xd0, 0xac, 0xff, 0xaf, 0xa4, 0xff, 0x8f, 0x9c, 0xff, 0x2e, 0x8c, 0xff, 0xad, 0x7b, 0xff, 0x8d, 0x73, 0xff, 0x6d, 0x73, 0xff, 0x6d, 0x7b, 0xff, 0xad, 0x83, 0xff, 0x90, 0x9c, 0xff, 0xd0, 0xac, 0xff, 0xf0, 0xac, 0xff, 0xf0, 0xac, 0xff, 0xf0, 0xac, 0xff, 0xf0, 0xac, 0xff, 0x11, 0xb5, 0xff, 0x31, 0xb5, 0xff, 0x32, 0xb5, 0xff, 0x32, 0xb5, 0xff, 0x52, 0xbd, 0xff, 0x73, 0xbd, 0xff, 0x73, 0xbd, 0xff, 0x93, 0xc5, 0xff, 0x94, 0xc5, 0xff, 0xb4, 0xc5, 0xff, 0xb4, 0xc5, 0xff, 0xb4, 0xc5, 0xff, 0xb4, 0xc5, 0xff, 0xb4, 0xc5, 0xff, 0xd4, 0xcd, 0xff, 0xd4, 0xcd, 0xff, 0xd5, 0xcd, 0xff, 0xf5, 0xcd, 0xff, 0xf5, 0xcd, 0xff, 0xf5, 0xcd, 0xff, 0x15, 0xd6, 0xff, 0x15, 0xd6, 0xff, 0x15, 0xd6, 0xff, 0x15, 0xd6, 0xe9, 0xb9, 0xe6, 0xa6, 0x9d, 0xf7, 0x3a, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x9e, 0xf7, 0x00, 0xeb, 0x5a, 0x00,
0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xdf, 0xff, 0x00, 0x3b, 0xef, 0x6d, 0x57, 0xd6, 0xce, 0x36, 0xd6, 0xfa, 0x57, 0xd6, 0xff, 0x57, 0xd6, 0xff, 0x57, 0xd6, 0xff, 0x56, 0xd6, 0xff, 0x36, 0xd6, 0xff, 0x16, 0xce, 0xff, 0xd4, 0xc5, 0xff, 0x73, 0xbd, 0xff, 0x93, 0xbd, 0xff, 0xb4, 0xc5, 0xff, 0x73, 0xbd, 0xff, 0x32, 0xb5, 0xff, 0xd0, 0xac, 0xff, 0x8e, 0xa4, 0xff, 0x8e, 0xa4, 0xff, 0x6f, 0x9c, 0xff, 0x2f, 0x8c, 0xff, 0x0f, 0x84, 0xff, 0x0f, 0x84, 0xff, 0x10, 0x84, 0xff, 0xf0, 0x7b, 0xff, 0xf0, 0x7b, 0xff, 0x10, 0x84, 0xff, 0x50, 0x8c, 0xff, 0x90, 0x94, 0xff, 0x90, 0x9c, 0xff, 0x90, 0x9c, 0xff, 0xb0, 0xa4, 0xff, 0xb0, 0xa4, 0xff, 0xd0, 0xac, 0xff, 0xf1, 0xb4, 0xff, 0x11, 0xb5, 0xff, 0x11, 0xb5, 0xff, 0x32, 0xb5, 0xff, 0x32, 0xb5, 0xff, 0x52, 0xbd, 0xff, 0x73, 0xbd, 0xff, 0x73, 0xbd, 0xff, 0x94, 0xc5, 0xff, 0x94, 0xc5, 0xff, 0x94, 0xc5, 0xff, 0xb4, 0xc5, 0xff, 0xb4, 0xc5, 0xff, 0xb4, 0xc5, 0xff, 0xb4, 0xc5, 0xff, 0xb4, 0xc5, 0xff, 0xd4, 0xcd, 0xff, 0xf5, 0xcd, 0xff, 0xf5, 0xcd, 0xff, 0xf5, 0xcd, 0xff, 0xf4, 0xcd, 0xff, 0xf4, 0xcd, 0xff, 0x15, 0xce, 0xff, 0x15, 0xd6, 0xfa, 0x36, 0xd6, 0xce, 0x1b, 0xef, 0x6d, 0xdf, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x9e, 0xf7, 0x00, 0xeb, 0x5a, 0x00,
0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xde, 0xff, 0x1c, 0xda, 0xe6, 0x94, 0x36, 0xd6, 0xe6, 0x36, 0xd6, 0xff, 0x36, 0xd6, 0xff, 0x36, 0xd6, 0xff, 0x57, 0xd6, 0xff, 0x36, 0xd6, 0xff, 0x36, 0xd6, 0xff, 0x36, 0xd6, 0xff, 0xf5, 0xcd, 0xff, 0x93, 0xbd, 0xff, 0x52, 0xb5, 0xff, 0x73, 0xbd, 0xff, 0x53, 0xbd, 0xff, 0x32, 0xb5, 0xff, 0xd0, 0xac, 0xff, 0x6e, 0x9c, 0xff, 0x4e, 0x9c, 0xff, 0x6f, 0x9c, 0xff, 0x4f, 0x94, 0xff, 0x10, 0x8c, 0xff, 0x31, 0x84, 0xff, 0x10, 0x84, 0xff, 0x10, 0x84, 0xff, 0x11, 0x84, 0xff, 0xd0, 0x7b, 0xff, 0xf0, 0x7b, 0xff, 0x31, 0x84, 0xff, 0x51, 0x8c, 0xff, 0x51, 0x8c, 0xff, 0x71, 0x94, 0xff, 0x71, 0x94, 0xff, 0x70, 0x94, 0xff, 0x70, 0x94, 0xff, 0xb0, 0xa4, 0xff, 0xd0, 0xa4, 0xff, 0xd0, 0xac, 0xff, 0xf1, 0xac, 0xff, 0x12, 0xb5, 0xff, 0x12, 0xb5, 0xff, 0x32, 0xb5, 0xff, 0x53, 0xbd, 0xff, 0x73, 0xbd, 0xff, 0x73, 0xbd, 0xff, 0x74, 0xbd, 0xff, 0x74, 0xbd, 0xff, 0x94, 0xc5, 0xff, 0xb4, 0xc5, 0xff, 0xb4, 0xc5, 0xff, 0x94, 0xc5, 0xff, 0xb4, 0xc5, 0xff, 0xb4, 0xc5, 0xff, 0xd4, 0xcd, 0xff, 0xd4, 0xcd, 0xff, 0xd4, 0xcd, 0xff, 0xd4, 0xcd, 0xff, 0xf4, 0xcd, 0xff, 0xf4, 0xcd, 0xff, 0xf4, 0xcd, 0xff, 0xf4, 0xcd, 0xe6, 0xd9, 0xe6, 0x94, 0xde, 0xff, 0x1c, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x9e, 0xf7, 0x00, 0xeb, 0x5a, 0x00,
0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x7d, 0xf7, 0x39, 0x78, 0xde, 0xb2, 0x16, 0xd6, 0xf6, 0x16, 0xd6, 0xff, 0x36, 0xd6, 0xff, 0x36, 0xd6, 0xff, 0x36, 0xd6, 0xff, 0x36, 0xd6, 0xff, 0x36, 0xd6, 0xff, 0x16, 0xd6, 0xff, 0x16, 0xce, 0xff, 0xd5, 0xc5, 0xff, 0x72, 0xbd, 0xff, 0x31, 0xb5, 0xff, 0x31, 0xb5, 0xff, 0x11, 0xb5, 0xff, 0xd0, 0xa4, 0xff, 0x4f, 0x9c, 0xff, 0x2f, 0x8c, 0xff, 0x2f, 0x8c, 0xff, 0x30, 0x84, 0xff, 0x10, 0x84, 0xff, 0x31, 0x84, 0xff, 0x11, 0x84, 0xff, 0x31, 0x84, 0xff, 0x51, 0x8c, 0xff, 0x31, 0x84, 0xff, 0xaf, 0x73, 0xff, 0xf0, 0x7b, 0xff, 0x31, 0x84, 0xff, 0x31, 0x8c, 0xff, 0x31, 0x8c, 0xff, 0x31, 0x8c, 0xff, 0x51, 0x8c, 0xff, 0x71, 0x8c, 0xff, 0x50, 0x8c, 0xff, 0x71, 0x8c, 0xff, 0x71, 0x94, 0xff, 0x70, 0x9c, 0xff, 0x90, 0x9c, 0xff, 0xb1, 0xa4, 0xff, 0xd1, 0xa4, 0xff, 0xf1, 0xac, 0xff, 0x12, 0xb5, 0xff, 0x32, 0xb5, 0xff, 0x53, 0xbd, 0xff, 0x53, 0xbd, 0xff, 0x53, 0xbd, 0xff, 0x53, 0xbd, 0xff, 0x73, 0xbd, 0xff, 0x73, 0xbd, 0xff, 0x73, 0xbd, 0xff, 0x74, 0xc5, 0xff, 0x94, 0xc5, 0xff, 0xb4, 0xc5, 0xff, 0xb4, 0xc5, 0xff, 0xb4, 0xc5, 0xff, 0xd4, 0xcd, 0xff, 0xd4, 0xcd, 0xff, 0xd4, 0xcd, 0xff, 0xf4, 0xcd, 0xff, 0xf4, 0xcd, 0xff, 0xf4, 0xcd, 0xf6, 0x36, 0xd6, 0xb2, 0x5c, 0xf7, 0x39, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x9e, 0xf7, 0x00, 0xeb, 0x5a, 0x00,
0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x7d, 0xf7, 0x51, 0x57, 0xd6, 0xc3, 0x16, 0xd6, 0xfa, 0x16, 0xce, 0xff, 0x16, 0xce, 0xff, 0x16, 0xce, 0xff, 0x36, 0xd6, 0xff, 0x36, 0xd6, 0xff, 0x36, 0xd6, 0xff, 0x16, 0xd6, 0xff, 0x16, 0xce, 0xff, 0xf5, 0xcd, 0xff, 0xb4, 0xc5, 0xff, 0x31, 0xb5, 0xff, 0xf0, 0xac, 0xff, 0x10, 0xad, 0xff, 0xd0, 0xa4, 0xff, 0x6f, 0x9c, 0xff, 0xef, 0x83, 0xff, 0x10, 0x84, 0xff, 0x10, 0x84, 0xff, 0x11, 0x7c, 0xff, 0x11, 0x84, 0xff, 0x11, 0x7c, 0xff, 0x31, 0x84, 0xff, 0x31, 0x84, 0xff, 0x31, 0x84, 0xff, 0x31, 0x84, 0xff, 0xd0, 0x7b, 0xff, 0x11, 0x84, 0xff, 0x51, 0x84, 0xff, 0x31, 0x84, 0xff, 0x10, 0x84, 0xff, 0x31, 0x84, 0xff, 0x31, 0x8c, 0xff, 0x31, 0x8c, 0xff, 0x71, 0x8c, 0xff, 0x71, 0x8c, 0xff, 0x71, 0x8c, 0xff, 0x91, 0x94, 0xff, 0x91, 0x94, 0xff, 0x71, 0x94, 0xff, 0x71, 0x94, 0xff, 0x71, 0x94, 0xff, 0x91, 0x9c, 0xff, 0xd1, 0xa4, 0xff, 0xf2, 0xac, 0xff, 0x12, 0xb5, 0xff, 0x32, 0xb5, 0xff, 0x33, 0xb5, 0xff, 0x53, 0xbd, 0xff, 0x53, 0xbd, 0xff, 0x53, 0xbd, 0xff, 0x73, 0xbd, 0xff, 0x73, 0xbd, 0xff, 0x73, 0xbd, 0xff, 0x73, 0xbd, 0xff, 0x93, 0xc5, 0xff, 0x93, 0xc5, 0xff, 0xb3, 0xc5, 0xff, 0xb3, 0xc5, 0xff, 0xd3, 0xcd, 0xff, 0xd4, 0xcd, 0xff, 0xf4, 0xcd, 0xff, 0xd3, 0xcd, 0xfa, 0x15, 0xce, 0xc3, 0x5c, 0xef, 0x51, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x9e, 0xf7, 0x00, 0xeb, 0x5a, 0x00,
0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x7d, 0xf7, 0x60, 0x57, 0xd6, 0xd2, 0x16, 0xce, 0xfd, 0x16, 0xce, 0xff, 0xf5, 0xcd, 0xff, 0x15, 0xce, 0xff, 0x16, 0xce, 0xff, 0x16, 0xce, 0xff, 0x36, 0xd6, 0xff, 0x16, 0xd6, 0xff, 0x16, 0xce, 0xff, 0xf5, 0xcd, 0xff, 0xd5, 0xc5, 0xff, 0x94, 0xbd, 0xff, 0xd0, 0xac, 0xff, 0xcf, 0xa4, 0xff, 0xaf, 0xa4, 0xff, 0x4f, 0x94, 0xff, 0xef, 0x83, 0xff, 0xd0, 0x7b, 0xff, 0xd1, 0x7b, 0xff, 0xf1, 0x7b, 0xff, 0x11, 0x7c, 0xff, 0xf1, 0x7b, 0xff, 0x31, 0x84, 0xff, 0x11, 0x84, 0xff, 0x31, 0x84, 0xff, 0x31, 0x84, 0xff, 0x31, 0x84, 0xff, 0x10, 0x7c, 0xff, 0x10, 0x7c, 0xff, 0x31, 0x84, 0xff, 0x31, 0x84, 0xff, 0x51, 0x8c, 0xff, 0x31, 0x84, 0xff, 0x11, 0x84, 0xff, 0x51, 0x8c, 0xff, 0x51, 0x8c, 0xff, 0x72, 0x8c, 0xff, 0x72, 0x8c, 0xff, 0x72, 0x8c, 0xff, 0x72, 0x94, 0xff, 0x72, 0x8c, 0xff, 0x51, 0x8c, 0xff, 0x51, 0x8c, 0xff, 0x51, 0x8c, 0xff, 0x51, 0x8c, 0xff, 0x71, 0x94, 0xff, 0x91, 0x9c, 0xff, 0xd1, 0xa4, 0xff, 0xf2, 0xac, 0xff, 0x32, 0xb5, 0xff, 0x32, 0xb5, 0xff, 0x53, 0xb5, 0xff, 0x53, 0xb5, 0xff, 0x53, 0xb5, 0xff, 0x53, 0xbd, 0xff, 0x53, 0xbd, 0xff, 0x53, 0xbd, 0xff, 0x72, 0xbd, 0xff, 0x72, 0xbd, 0xff, 0x92, 0xc5, 0xff, 0xb3, 0xc5, 0xff, 0xb3, 0xc5, 0xff, 0xd3, 0xcd, 0xff, 0xd3, 0xc5, 0xff, 0xb3, 0xc5, 0xfd, 0xf4, 0xcd, 0xd2, 0x5c, 0xef, 0x60, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x9e, 0xf7, 0x00, 0xeb, 0x5a, 0x00,
0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x3c, 0xef, 0x67, 0x77, 0xd6, 0xdb, 0x16, 0xd6, 0xff, 0x16, 0xce, 0xff, 0x16, 0xce, 0xff, 0xf5, 0xcd, 0xff, 0xf5, 0xcd, 0xff, 0xf5, 0xcd, 0xff, 0xf6, 0xcd, 0xff, 0x16, 0xce, 0xff, 0x16, 0xce, 0xff, 0xf5, 0xcd, 0xff, 0xf5, 0xcd, 0xff, 0xd5, 0xc5, 0xff, 0x53, 0xb5, 0xff, 0x8f, 0x9c, 0xff, 0x6f, 0x94, 0xff, 0x0f, 0x84, 0xff, 0xcf, 0x7b, 0xff, 0xaf, 0x73, 0xff, 0xd0, 0x73, 0xff, 0xd0, 0x73, 0xff, 0xf1, 0x7b, 0xff, 0xf1, 0x7b, 0xff, 0x11, 0x7c, 0xff, 0xf1, 0x7b, 0xff, 0x31, 0x84, 0xff, 0x31, 0x84, 0xff, 0x31, 0x84, 0xff, 0x52, 0x84, 0xff, 0x10, 0x7c, 0xff, 0xf0, 0x7b, 0xff, 0x11, 0x84, 0xff, 0x51, 0x84, 0xff, 0x31, 0x84, 0xff, 0x11, 0x84, 0xff, 0x31, 0x8c, 0xff, 0x31, 0x84, 0xff, 0x51, 0x8c, 0xff, 0x52, 0x8c, 0xff, 0x72, 0x94, 0xff, 0x72, 0x8c, 0xff, 0x72, 0x8c, 0xff, 0x51, 0x8c, 0xff, 0x51, 0x8c, 0xff, 0x31, 0x84, 0xff, 0x51, 0x84, 0xff, 0x51, 0x8c, 0xff, 0x51, 0x8c, 0xff, 0x71, 0x8c, 0xff, 0x50, 0x8c, 0xff, 0x70, 0x94, 0xff, 0xd1, 0xa4, 0xff, 0xf1, 0xac, 0xff, 0x12, 0xad, 0xff, 0x32, 0xad, 0xff, 0x32, 0xb5, 0xff, 0x32, 0xb5, 0xff, 0x32, 0xb5, 0xff, 0x32, 0xbd, 0xff, 0x52, 0xbd, 0xff, 0x32, 0xbd, 0xff, 0x31, 0xb5, 0xff, 0x31, 0xb5, 0xff, 0x31, 0xbd, 0xff, 0x51, 0xbd, 0xff, 0x71, 0xc5, 0xff, 0x92, 0xc5, 0xff, 0x92, 0xc5, 0xff, 0xd4, 0xc5, 0xdb, 0xfa, 0xe6, 0x67, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x9e, 0xf7, 0x00, 0xeb, 0x5a, 0x00,
0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x7d, 0xf7, 0x65, 0x57, 0xd6, 0xdd, 0x36, 0xd6, 0xff, 0x16, 0xce, 0xff, 0xf5, 0xcd, 0xff, 0xf5, 0xcd, 0xff, 0xf5, 0xcd, 0xff, 0xf5, 0xcd, 0xff, 0xf5, 0xcd, 0xff, 0xf5, 0xcd, 0xff, 0xf5, 0xcd, 0xff, 0xd5, 0xcd, 0xff, 0xf5, 0xcd, 0xff, 0xd5, 0xcd, 0xff, 0x94, 0xbd, 0xff, 0xd1, 0xa4, 0xff, 0x2f, 0x8c, 0xff, 0xcf, 0x7b, 0xff, 0xaf, 0x73, 0xff, 0xb0, 0x73, 0xff, 0xd0, 0x73, 0xff, 0xb0, 0x73, 0xff, 0xf0, 0x7b, 0xff, 0xd0, 0x7b, 0xff, 0x11, 0x84, 0xff, 0xf1, 0x7b, 0xff, 0x32, 0x84, 0xff, 0x11, 0x84, 0xff, 0x32, 0x84, 0xff, 0x52, 0x8c, 0xff, 0x11, 0x84, 0xff, 0x11, 0x7c, 0xff, 0xf0, 0x73, 0xff, 0x31, 0x84, 0xff, 0x31, 0x84, 0xff, 0x31, 0x84, 0xff, 0x31, 0x84, 0xff, 0x31, 0x84, 0xff, 0x52, 0x8c, 0xff, 0x51, 0x8c, 0xff, 0x72, 0x8c, 0xff, 0x72, 0x8c, 0xff, 0x72, 0x8c, 0xff, 0x72, 0x8c, 0xff, 0x51, 0x8c, 0xff, 0x11, 0x84, 0xff, 0x51, 0x8c, 0xff, 0x31, 0x8c, 0xff, 0x52, 0x8c, 0xff, 0x72, 0x8c, 0xff, 0x51, 0x8c, 0xff, 0x51, 0x8c, 0xff, 0xef, 0x7b, 0xff, 0xce, 0x7b, 0xff, 0x50, 0x8c, 0xff, 0x91, 0x9c, 0xff, 0xd1, 0xa4, 0xff, 0xf1, 0xa4, 0xff, 0xf2, 0xac, 0xff, 0x12, 0xad, 0xff, 0x32, 0xb5, 0xff, 0x31, 0xb5, 0xff, 0x10, 0xb5, 0xff, 0xaf, 0xac, 0xff, 0xcf, 0xac, 0xff, 0xf0, 0xb4, 0xff, 0xf0, 0xb4, 0xff, 0xcf, 0xb4, 0xff, 0xef, 0xb4, 0xff, 0x31, 0xbd, 0xff, 0x51, 0xbd, 0xff, 0x72, 0xc5, 0xdd, 0x3c, 0xef, 0x65, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x9e, 0xf7, 0x00, 0xeb, 0x5a, 0x00,
0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x7d, 0xf7, 0x59, 0x77, 0xd6, 0xd7, 0x16, 0xce, 0xff, 0x16, 0xce, 0xff, 0x16, 0xce, 0xff, 0xf5, 0xcd, 0xff, 0xf5, 0xcd, 0xff, 0xd5, 0xc5, 0xff, 0xd5, 0xc5, 0xff, 0xd5, 0xc5, 0xff, 0xd5, 0xc5, 0xff, 0xd5, 0xc5, 0xff, 0xd5, 0xc5, 0xff, 0xd4, 0xc5, 0xff, 0x74, 0xbd, 0xff, 0xd2, 0xa4, 0xff, 0x10, 0x84, 0xff, 0xb0, 0x73, 0xff, 0xb0, 0x73, 0xff, 0x90, 0x6b, 0xff, 0xd0, 0x73, 0xff, 0xb0, 0x73, 0xff, 0xd0, 0x73, 0xff, 0xd0, 0x73, 0xff, 0xf1, 0x7b, 0xff, 0xf1, 0x7b, 0xff, 0x31, 0x84, 0xff, 0x32, 0x84, 0xff, 0x32, 0x84, 0xff, 0x32, 0x84, 0xff, 0x32, 0x84, 0xff, 0x52, 0x84, 0xff, 0x11, 0x7c, 0xff, 0xd0, 0x73, 0xff, 0x11, 0x7c, 0xff, 0x32, 0x84, 0xff, 0x52, 0x8c, 0xff, 0x32, 0x84, 0xff, 0x52, 0x8c, 0xff, 0x52, 0x8c, 0xff, 0x52, 0x8c, 0xff, 0x72, 0x8c, 0xff, 0x72, 0x8c, 0xff, 0x72, 0x8c, 0xff, 0x31, 0x84, 0xff, 0x10, 0x84, 0xff, 0x11, 0x84, 0xff, 0x31, 0x84, 0xff, 0x51, 0x8c, 0xff, 0x72, 0x8c, 0xff, 0x72, 0x8c, 0xff, 0x72, 0x94, 0xff, 0x71, 0x8c, 0xff, 0x51, 0x84, 0xff, 0x8f, 0x6b, 0xff, 0x8f, 0x6b, 0xff, 0xf0, 0x7b, 0xff, 0x30, 0x84, 0xff, 0x50, 0x8c, 0xff, 0x70, 0x94, 0xff, 0x90, 0x9c, 0xff, 0xd1, 0xa4, 0xff, 0xf0, 0xac, 0xff, 0xd0, 0xac, 0xff, 0x31, 0xb5, 0xff, 0xf4, 0xd5, 0xff, 0x35, 0xde, 0xff, 0x15, 0xd6, 0xff, 0xb3, 0xcd, 0xff, 0xef, 0xb4, 0xff, 0x6d, 0xa4, 0xff, 0xae, 0xac, 0xff, 0x10, 0xb5, 0xff, 0x73, 0xbd, 0xd7, 0x3c, 0xef, 0x59, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x9e, 0xf7, 0x00, 0xeb, 0x5a, 0x00,