From 279a3fed96153a47873f85c382f763a7a744156f Mon Sep 17 00:00:00 2001 From: Kichan Kwon Date: Fri, 29 May 2020 15:14:25 +0900 Subject: [PATCH] Detach fota_gui - It is moved to tota-gui Change-Id: I76e5d141a93193fdc159c07081510e7c57581e0b Signed-off-by: Kichan Kwon --- CMakeLists.txt | 4 - fota_gui/CMakeLists.txt | 61 --- fota_gui/fota_fbinfo.h | 33 -- fota_gui/fota_gr.c | 73 ---- fota_gui/fota_gr.h | 29 -- fota_gui/fota_gr_direct.c | 363 ---------------- fota_gui/fota_gr_direct.h | 29 -- fota_gui/fota_gr_direct_tw.c | 464 --------------------- fota_gui/fota_gui_common.h | 43 -- fota_gui/fota_gui_log.h | 74 ---- fota_gui/fota_gui_main.c | 273 ------------ fota_gui/fota_gui_util.c | 81 ---- fota_gui/fota_gui_util.h | 26 -- fota_gui/fota_log.h | 78 ---- fota_gui/fota_png.c | 455 -------------------- fota_gui/fota_png.h | 31 -- fota_gui/tdm-if.c | 318 -------------- fota_gui/tdm-if.h | 74 ---- packaging/tota-ua.spec | 24 -- res/rpi3/images/dummy.png | 1 - res/wearable/images/tw_fota_downloading_0.png | Bin 1221 -> 0 bytes res/wearable/images/tw_fota_downloading_1.png | Bin 1095 -> 0 bytes res/wearable/images/tw_fota_downloading_2.png | Bin 1225 -> 0 bytes res/wearable/images/tw_fota_downloading_3.png | Bin 1274 -> 0 bytes res/wearable/images/tw_fota_downloading_4.png | Bin 1175 -> 0 bytes res/wearable/images/tw_fota_downloading_5.png | Bin 1217 -> 0 bytes res/wearable/images/tw_fota_downloading_6.png | Bin 1279 -> 0 bytes res/wearable/images/tw_fota_downloading_7.png | Bin 1188 -> 0 bytes res/wearable/images/tw_fota_downloading_8.png | Bin 1273 -> 0 bytes res/wearable/images/tw_fota_downloading_9.png | Bin 1293 -> 0 bytes .../images/tw_fota_downloading_percent.png | Bin 1384 -> 0 bytes res/wearable/images/tw_fota_progress_000.png | Bin 18895 -> 0 bytes res/wearable/images/tw_fota_progress_001.png | Bin 899 -> 0 bytes res/wearable/images/tw_fota_progress_002.png | Bin 1020 -> 0 bytes res/wearable/images/tw_fota_progress_003.png | Bin 1085 -> 0 bytes res/wearable/images/tw_fota_progress_004.png | Bin 1136 -> 0 bytes res/wearable/images/tw_fota_progress_005.png | Bin 1153 -> 0 bytes res/wearable/images/tw_fota_progress_006.png | Bin 1175 -> 0 bytes res/wearable/images/tw_fota_progress_007.png | Bin 1172 -> 0 bytes res/wearable/images/tw_fota_progress_008.png | Bin 1208 -> 0 bytes res/wearable/images/tw_fota_progress_009.png | Bin 1222 -> 0 bytes res/wearable/images/tw_fota_progress_010.png | Bin 1232 -> 0 bytes res/wearable/images/tw_fota_progress_011.png | Bin 1233 -> 0 bytes res/wearable/images/tw_fota_progress_012.png | Bin 1229 -> 0 bytes res/wearable/images/tw_fota_progress_013.png | Bin 1217 -> 0 bytes res/wearable/images/tw_fota_progress_014.png | Bin 1251 -> 0 bytes res/wearable/images/tw_fota_progress_015.png | Bin 1252 -> 0 bytes res/wearable/images/tw_fota_progress_016.png | Bin 1231 -> 0 bytes res/wearable/images/tw_fota_progress_017.png | Bin 1232 -> 0 bytes res/wearable/images/tw_fota_progress_018.png | Bin 1238 -> 0 bytes res/wearable/images/tw_fota_progress_019.png | Bin 1202 -> 0 bytes res/wearable/images/tw_fota_progress_020.png | Bin 1160 -> 0 bytes res/wearable/images/tw_fota_progress_021.png | Bin 1143 -> 0 bytes res/wearable/images/tw_fota_progress_022.png | Bin 1090 -> 0 bytes res/wearable/images/tw_fota_progress_023.png | Bin 1019 -> 0 bytes res/wearable/images/tw_fota_progress_024.png | Bin 958 -> 0 bytes res/wearable/images/tw_fota_progress_025.png | Bin 880 -> 0 bytes res/wearable/images/tw_fota_progress_026.png | Bin 842 -> 0 bytes res/wearable/images/tw_fota_progress_027.png | Bin 978 -> 0 bytes res/wearable/images/tw_fota_progress_028.png | Bin 1048 -> 0 bytes res/wearable/images/tw_fota_progress_029.png | Bin 1103 -> 0 bytes res/wearable/images/tw_fota_progress_030.png | Bin 1157 -> 0 bytes res/wearable/images/tw_fota_progress_031.png | Bin 1177 -> 0 bytes res/wearable/images/tw_fota_progress_032.png | Bin 1184 -> 0 bytes res/wearable/images/tw_fota_progress_033.png | Bin 1201 -> 0 bytes res/wearable/images/tw_fota_progress_034.png | Bin 1213 -> 0 bytes res/wearable/images/tw_fota_progress_035.png | Bin 1230 -> 0 bytes res/wearable/images/tw_fota_progress_036.png | Bin 1256 -> 0 bytes res/wearable/images/tw_fota_progress_037.png | Bin 1238 -> 0 bytes res/wearable/images/tw_fota_progress_038.png | Bin 1205 -> 0 bytes res/wearable/images/tw_fota_progress_039.png | Bin 1236 -> 0 bytes res/wearable/images/tw_fota_progress_040.png | Bin 1213 -> 0 bytes res/wearable/images/tw_fota_progress_041.png | Bin 1219 -> 0 bytes res/wearable/images/tw_fota_progress_042.png | Bin 1220 -> 0 bytes res/wearable/images/tw_fota_progress_043.png | Bin 1189 -> 0 bytes res/wearable/images/tw_fota_progress_044.png | Bin 1186 -> 0 bytes res/wearable/images/tw_fota_progress_045.png | Bin 1154 -> 0 bytes res/wearable/images/tw_fota_progress_046.png | Bin 1138 -> 0 bytes res/wearable/images/tw_fota_progress_047.png | Bin 1127 -> 0 bytes res/wearable/images/tw_fota_progress_048.png | Bin 1070 -> 0 bytes res/wearable/images/tw_fota_progress_049.png | Bin 993 -> 0 bytes res/wearable/images/tw_fota_progress_050.png | Bin 887 -> 0 bytes res/wearable/images/tw_fota_progress_051.png | Bin 887 -> 0 bytes res/wearable/images/tw_fota_progress_052.png | Bin 1023 -> 0 bytes res/wearable/images/tw_fota_progress_053.png | Bin 1086 -> 0 bytes res/wearable/images/tw_fota_progress_054.png | Bin 1128 -> 0 bytes res/wearable/images/tw_fota_progress_055.png | Bin 1142 -> 0 bytes res/wearable/images/tw_fota_progress_056.png | Bin 1168 -> 0 bytes res/wearable/images/tw_fota_progress_057.png | Bin 1185 -> 0 bytes res/wearable/images/tw_fota_progress_058.png | Bin 1208 -> 0 bytes res/wearable/images/tw_fota_progress_059.png | Bin 1222 -> 0 bytes res/wearable/images/tw_fota_progress_060.png | Bin 1231 -> 0 bytes res/wearable/images/tw_fota_progress_061.png | Bin 1258 -> 0 bytes res/wearable/images/tw_fota_progress_062.png | Bin 1232 -> 0 bytes res/wearable/images/tw_fota_progress_063.png | Bin 1216 -> 0 bytes res/wearable/images/tw_fota_progress_064.png | Bin 1271 -> 0 bytes res/wearable/images/tw_fota_progress_065.png | Bin 1235 -> 0 bytes res/wearable/images/tw_fota_progress_066.png | Bin 1239 -> 0 bytes res/wearable/images/tw_fota_progress_067.png | Bin 1239 -> 0 bytes res/wearable/images/tw_fota_progress_068.png | Bin 1234 -> 0 bytes res/wearable/images/tw_fota_progress_069.png | Bin 1220 -> 0 bytes res/wearable/images/tw_fota_progress_070.png | Bin 1163 -> 0 bytes res/wearable/images/tw_fota_progress_071.png | Bin 1146 -> 0 bytes res/wearable/images/tw_fota_progress_072.png | Bin 1131 -> 0 bytes res/wearable/images/tw_fota_progress_073.png | Bin 1040 -> 0 bytes res/wearable/images/tw_fota_progress_074.png | Bin 985 -> 0 bytes res/wearable/images/tw_fota_progress_075.png | Bin 897 -> 0 bytes res/wearable/images/tw_fota_progress_076.png | Bin 896 -> 0 bytes res/wearable/images/tw_fota_progress_077.png | Bin 1005 -> 0 bytes res/wearable/images/tw_fota_progress_078.png | Bin 1075 -> 0 bytes res/wearable/images/tw_fota_progress_079.png | Bin 1130 -> 0 bytes res/wearable/images/tw_fota_progress_080.png | Bin 1162 -> 0 bytes res/wearable/images/tw_fota_progress_081.png | Bin 1169 -> 0 bytes res/wearable/images/tw_fota_progress_082.png | Bin 1201 -> 0 bytes res/wearable/images/tw_fota_progress_083.png | Bin 1196 -> 0 bytes res/wearable/images/tw_fota_progress_084.png | Bin 1216 -> 0 bytes res/wearable/images/tw_fota_progress_085.png | Bin 1232 -> 0 bytes res/wearable/images/tw_fota_progress_086.png | Bin 1227 -> 0 bytes res/wearable/images/tw_fota_progress_087.png | Bin 1238 -> 0 bytes res/wearable/images/tw_fota_progress_088.png | Bin 1189 -> 0 bytes res/wearable/images/tw_fota_progress_089.png | Bin 1239 -> 0 bytes res/wearable/images/tw_fota_progress_090.png | Bin 1233 -> 0 bytes res/wearable/images/tw_fota_progress_091.png | Bin 1198 -> 0 bytes res/wearable/images/tw_fota_progress_092.png | Bin 1192 -> 0 bytes res/wearable/images/tw_fota_progress_093.png | Bin 1191 -> 0 bytes res/wearable/images/tw_fota_progress_094.png | Bin 1205 -> 0 bytes res/wearable/images/tw_fota_progress_095.png | Bin 1160 -> 0 bytes res/wearable/images/tw_fota_progress_096.png | Bin 1139 -> 0 bytes res/wearable/images/tw_fota_progress_097.png | Bin 1134 -> 0 bytes res/wearable/images/tw_fota_progress_098.png | Bin 1057 -> 0 bytes res/wearable/images/tw_fota_progress_099.png | Bin 985 -> 0 bytes res/wearable/images/tw_fota_progress_100.png | Bin 859 -> 0 bytes res/wearable/images/tw_fota_progress_bg.png | Bin 18895 -> 0 bytes res/wearable/images/tw_fota_progress_final.png | Bin 17677 -> 0 bytes res/wearable/images/tw_start_downloading.png | Bin 17714 -> 0 bytes scripts/wearable/41-tota-ua.list | 124 ------ 136 files changed, 2658 deletions(-) delete mode 100755 fota_gui/CMakeLists.txt delete mode 100755 fota_gui/fota_fbinfo.h delete mode 100755 fota_gui/fota_gr.c delete mode 100755 fota_gui/fota_gr.h delete mode 100755 fota_gui/fota_gr_direct.c delete mode 100755 fota_gui/fota_gr_direct.h delete mode 100755 fota_gui/fota_gr_direct_tw.c delete mode 100755 fota_gui/fota_gui_common.h delete mode 100755 fota_gui/fota_gui_log.h delete mode 100755 fota_gui/fota_gui_main.c delete mode 100755 fota_gui/fota_gui_util.c delete mode 100755 fota_gui/fota_gui_util.h delete mode 100755 fota_gui/fota_log.h delete mode 100755 fota_gui/fota_png.c delete mode 100755 fota_gui/fota_png.h delete mode 100755 fota_gui/tdm-if.c delete mode 100755 fota_gui/tdm-if.h delete mode 100644 res/rpi3/images/dummy.png delete mode 100755 res/wearable/images/tw_fota_downloading_0.png delete mode 100755 res/wearable/images/tw_fota_downloading_1.png delete mode 100755 res/wearable/images/tw_fota_downloading_2.png delete mode 100755 res/wearable/images/tw_fota_downloading_3.png delete mode 100755 res/wearable/images/tw_fota_downloading_4.png delete mode 100755 res/wearable/images/tw_fota_downloading_5.png delete mode 100755 res/wearable/images/tw_fota_downloading_6.png delete mode 100755 res/wearable/images/tw_fota_downloading_7.png delete mode 100755 res/wearable/images/tw_fota_downloading_8.png delete mode 100755 res/wearable/images/tw_fota_downloading_9.png delete mode 100755 res/wearable/images/tw_fota_downloading_percent.png delete mode 100755 res/wearable/images/tw_fota_progress_000.png delete mode 100755 res/wearable/images/tw_fota_progress_001.png delete mode 100755 res/wearable/images/tw_fota_progress_002.png delete mode 100755 res/wearable/images/tw_fota_progress_003.png delete mode 100755 res/wearable/images/tw_fota_progress_004.png delete mode 100755 res/wearable/images/tw_fota_progress_005.png delete mode 100755 res/wearable/images/tw_fota_progress_006.png delete mode 100755 res/wearable/images/tw_fota_progress_007.png delete mode 100755 res/wearable/images/tw_fota_progress_008.png delete mode 100755 res/wearable/images/tw_fota_progress_009.png delete mode 100755 res/wearable/images/tw_fota_progress_010.png delete mode 100755 res/wearable/images/tw_fota_progress_011.png delete mode 100755 res/wearable/images/tw_fota_progress_012.png delete mode 100755 res/wearable/images/tw_fota_progress_013.png delete mode 100755 res/wearable/images/tw_fota_progress_014.png delete mode 100755 res/wearable/images/tw_fota_progress_015.png delete mode 100755 res/wearable/images/tw_fota_progress_016.png delete mode 100755 res/wearable/images/tw_fota_progress_017.png delete mode 100755 res/wearable/images/tw_fota_progress_018.png delete mode 100755 res/wearable/images/tw_fota_progress_019.png delete mode 100755 res/wearable/images/tw_fota_progress_020.png delete mode 100755 res/wearable/images/tw_fota_progress_021.png delete mode 100755 res/wearable/images/tw_fota_progress_022.png delete mode 100755 res/wearable/images/tw_fota_progress_023.png delete mode 100755 res/wearable/images/tw_fota_progress_024.png delete mode 100755 res/wearable/images/tw_fota_progress_025.png delete mode 100755 res/wearable/images/tw_fota_progress_026.png delete mode 100755 res/wearable/images/tw_fota_progress_027.png delete mode 100755 res/wearable/images/tw_fota_progress_028.png delete mode 100755 res/wearable/images/tw_fota_progress_029.png delete mode 100755 res/wearable/images/tw_fota_progress_030.png delete mode 100755 res/wearable/images/tw_fota_progress_031.png delete mode 100755 res/wearable/images/tw_fota_progress_032.png delete mode 100755 res/wearable/images/tw_fota_progress_033.png delete mode 100755 res/wearable/images/tw_fota_progress_034.png delete mode 100755 res/wearable/images/tw_fota_progress_035.png delete mode 100755 res/wearable/images/tw_fota_progress_036.png delete mode 100755 res/wearable/images/tw_fota_progress_037.png delete mode 100755 res/wearable/images/tw_fota_progress_038.png delete mode 100755 res/wearable/images/tw_fota_progress_039.png delete mode 100755 res/wearable/images/tw_fota_progress_040.png delete mode 100755 res/wearable/images/tw_fota_progress_041.png delete mode 100755 res/wearable/images/tw_fota_progress_042.png delete mode 100755 res/wearable/images/tw_fota_progress_043.png delete mode 100755 res/wearable/images/tw_fota_progress_044.png delete mode 100755 res/wearable/images/tw_fota_progress_045.png delete mode 100755 res/wearable/images/tw_fota_progress_046.png delete mode 100755 res/wearable/images/tw_fota_progress_047.png delete mode 100755 res/wearable/images/tw_fota_progress_048.png delete mode 100755 res/wearable/images/tw_fota_progress_049.png delete mode 100755 res/wearable/images/tw_fota_progress_050.png delete mode 100755 res/wearable/images/tw_fota_progress_051.png delete mode 100755 res/wearable/images/tw_fota_progress_052.png delete mode 100755 res/wearable/images/tw_fota_progress_053.png delete mode 100755 res/wearable/images/tw_fota_progress_054.png delete mode 100755 res/wearable/images/tw_fota_progress_055.png delete mode 100755 res/wearable/images/tw_fota_progress_056.png delete mode 100755 res/wearable/images/tw_fota_progress_057.png delete mode 100755 res/wearable/images/tw_fota_progress_058.png delete mode 100755 res/wearable/images/tw_fota_progress_059.png delete mode 100755 res/wearable/images/tw_fota_progress_060.png delete mode 100755 res/wearable/images/tw_fota_progress_061.png delete mode 100755 res/wearable/images/tw_fota_progress_062.png delete mode 100755 res/wearable/images/tw_fota_progress_063.png delete mode 100755 res/wearable/images/tw_fota_progress_064.png delete mode 100755 res/wearable/images/tw_fota_progress_065.png delete mode 100755 res/wearable/images/tw_fota_progress_066.png delete mode 100755 res/wearable/images/tw_fota_progress_067.png delete mode 100755 res/wearable/images/tw_fota_progress_068.png delete mode 100755 res/wearable/images/tw_fota_progress_069.png delete mode 100755 res/wearable/images/tw_fota_progress_070.png delete mode 100755 res/wearable/images/tw_fota_progress_071.png delete mode 100755 res/wearable/images/tw_fota_progress_072.png delete mode 100755 res/wearable/images/tw_fota_progress_073.png delete mode 100755 res/wearable/images/tw_fota_progress_074.png delete mode 100755 res/wearable/images/tw_fota_progress_075.png delete mode 100755 res/wearable/images/tw_fota_progress_076.png delete mode 100755 res/wearable/images/tw_fota_progress_077.png delete mode 100755 res/wearable/images/tw_fota_progress_078.png delete mode 100755 res/wearable/images/tw_fota_progress_079.png delete mode 100755 res/wearable/images/tw_fota_progress_080.png delete mode 100755 res/wearable/images/tw_fota_progress_081.png delete mode 100755 res/wearable/images/tw_fota_progress_082.png delete mode 100755 res/wearable/images/tw_fota_progress_083.png delete mode 100755 res/wearable/images/tw_fota_progress_084.png delete mode 100755 res/wearable/images/tw_fota_progress_085.png delete mode 100755 res/wearable/images/tw_fota_progress_086.png delete mode 100755 res/wearable/images/tw_fota_progress_087.png delete mode 100755 res/wearable/images/tw_fota_progress_088.png delete mode 100755 res/wearable/images/tw_fota_progress_089.png delete mode 100755 res/wearable/images/tw_fota_progress_090.png delete mode 100755 res/wearable/images/tw_fota_progress_091.png delete mode 100755 res/wearable/images/tw_fota_progress_092.png delete mode 100755 res/wearable/images/tw_fota_progress_093.png delete mode 100755 res/wearable/images/tw_fota_progress_094.png delete mode 100755 res/wearable/images/tw_fota_progress_095.png delete mode 100755 res/wearable/images/tw_fota_progress_096.png delete mode 100755 res/wearable/images/tw_fota_progress_097.png delete mode 100755 res/wearable/images/tw_fota_progress_098.png delete mode 100755 res/wearable/images/tw_fota_progress_099.png delete mode 100755 res/wearable/images/tw_fota_progress_100.png delete mode 100755 res/wearable/images/tw_fota_progress_bg.png delete mode 100755 res/wearable/images/tw_fota_progress_final.png delete mode 100755 res/wearable/images/tw_start_downloading.png delete mode 100755 scripts/wearable/41-tota-ua.list diff --git a/CMakeLists.txt b/CMakeLists.txt index 7b6a847..6c8e781 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -65,9 +65,5 @@ ADD_EXECUTABLE(${FOTA_GUI_TEST} src/fota_gui_test.c) INSTALL(TARGETS ${EXECNAME} DESTINATION ${BINDIR}) INSTALL(TARGETS ${FOTA_GUI_TEST} DESTINATION ${BINDIR}) -IF("${FOTA_GUI_TYPE}" STREQUAL "GUI_TW") - INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/res/wearable/images DESTINATION ${RESDIR}) - ADD_SUBDIRECTORY(fota_gui) -ENDIF("${FOTA_GUI_TYPE}" STREQUAL "GUI_TW") ADD_SUBDIRECTORY(update-helper) diff --git a/fota_gui/CMakeLists.txt b/fota_gui/CMakeLists.txt deleted file mode 100755 index 48f3efd..0000000 --- a/fota_gui/CMakeLists.txt +++ /dev/null @@ -1,61 +0,0 @@ -CMAKE_MINIMUM_REQUIRED(VERSION 2.6) - -#set( CMAKE_VERBOSE_MAKEFILE on ) - -SET(PREFIX ${CMAKE_INSTALL_PREFIX}) -SET(BINDIR "${PREFIX}/bin") -SET(FOTA_GUI "fota_gui") - - -STRING(FIND ${CMAKE_C_FLAGS} "mfloat-abi=hard" IFFOUND1) -STRING(FIND ${CMAKE_C_FLAGS} "mhard-float" IFFOUND2) - -INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}) - -IF("${CMAKE_BUILD_TYPE}" STREQUAL "") - SET(CMAKE_BUILD_TYPE "Release") -ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "") -MESSAGE("Build type: ${CMAKE_BUILD_TYPE}") - -INCLUDE(FindPkgConfig) -pkg_check_modules(gui_pkgs REQUIRED - libtbm - libtdm - libpng -) -SET(GUI_SRCS - fota_gui_main.c - fota_gr.c - fota_png.c - fota_gui_util.c - tdm-if.c -) - -FOREACH(flag ${gui_pkgs_CFLAGS}) - SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}") -ENDFOREACH(flag) - - -IF("${FOTA_GUI_TYPE}" STREQUAL "GUI_TW") - SET(GUI_SRCS ${GUI_SRCS} fota_gr_direct_tw.c) -ENDIF("${FOTA_GUI_TYPE}" STREQUAL "GUI_TW") - -SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIE") -SET(CMAKE_C_FLAGS_DEBUG "-O0 -g") -SET(CMAKE_C_FLAGS_RELEASE "-O2") - -FIND_PROGRAM(UNAME NAMES uname) -EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH") -IF("${ARCH}" STREQUAL "arm") - ADD_DEFINITIONS("-DTARGET") - MESSAGE("add -DTARGET") -ENDIF("${ARCH}" STREQUAL "arm") - -ADD_DEFINITIONS("-D${FOTA_GUI_TYPE}") - -SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--as-needed -pie") - -ADD_EXECUTABLE(${FOTA_GUI} ${GUI_SRCS}) -TARGET_LINK_LIBRARIES(${FOTA_GUI} ${gui_pkgs_LDFLAGS} ${LIBS} -lpthread) - -INSTALL(TARGETS ${FOTA_GUI} DESTINATION ${BINDIR}) diff --git a/fota_gui/fota_fbinfo.h b/fota_gui/fota_fbinfo.h deleted file mode 100755 index 6b60e7f..0000000 --- a/fota_gui/fota_fbinfo.h +++ /dev/null @@ -1,33 +0,0 @@ -/* - * tota-ua - * - * Copyright (c) 2017 Samsung Electronics Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the License); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef __FOTA_FBINFO_H__ -#define __FOTA_FBINFO_H__ - -typedef struct _FbInfo { - unsigned char *buf[2]; - unsigned int current_fb_id; - int w; - int h; - int sz; - int degree; - int full_flag; -} FbInfo; - -#endif /* __FOTA_FBINFO_H__ */ - diff --git a/fota_gui/fota_gr.c b/fota_gui/fota_gr.c deleted file mode 100755 index 8787e34..0000000 --- a/fota_gui/fota_gr.c +++ /dev/null @@ -1,73 +0,0 @@ -/* - * tota-ua - * - * Copyright (c) 2017 Samsung Electronics Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the License); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "fota_gr.h" -#if defined(USE_CAIRO) -#include "fota_gr_cairo.h" -#else -#include "fota_gr_direct.h" -#endif - -/*----------------------------------------------------------------------------- - fota_gr_init - ----------------------------------------------------------------------------*/ -int fota_gr_init(void) -{ -#if defined(USE_CAIRO) - return fota_gr_cairo_init(); -#else - return fota_gr_direct_init(); -#endif -} - -/*----------------------------------------------------------------------------- - fota_gr_deinit - ----------------------------------------------------------------------------*/ -void fota_gr_deinit(void) -{ -#if defined(USE_CAIRO) - fota_gr_cairo_deinit(); -#else - fota_gr_direct_deinit(); -#endif -} - -/*----------------------------------------------------------------------------- - fota_gr_clear_screen - ----------------------------------------------------------------------------*/ -void fota_gr_clear_screen(u32 color) -{ -#if defined(USE_CAIRO) - fota_gr_cairo_clear_screen(color); -#else - fota_gr_direct_clear_screen(color); -#endif -} - -/*----------------------------------------------------------------------------- - fota_gr_update_progress - ----------------------------------------------------------------------------*/ -void fota_gr_update_progress(int percent) -{ -#if defined(USE_CAIRO) - fota_gr_cairo_update_progress(percent); -#else - fota_gr_direct_update_progress(percent); -#endif -} - diff --git a/fota_gui/fota_gr.h b/fota_gui/fota_gr.h deleted file mode 100755 index 85cfc0a..0000000 --- a/fota_gui/fota_gr.h +++ /dev/null @@ -1,29 +0,0 @@ -/* - * tota-ua - * - * Copyright (c) 2017 Samsung Electronics Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the License); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef __FOTA_GR_H__ -#define __FOTA_GR_H__ - -extern int fota_gr_init(void); -extern void fota_gr_deinit(void); -extern void fota_gr_update_progress(int percent); -extern void fota_gr_clear_screen(unsigned int color); - -extern void fota_gr_direct_circular_progress(void); -#endif /* __FOTA_GR_H__ */ - diff --git a/fota_gui/fota_gr_direct.c b/fota_gui/fota_gr_direct.c deleted file mode 100755 index 70ebd56..0000000 --- a/fota_gui/fota_gr_direct.c +++ /dev/null @@ -1,363 +0,0 @@ -/* - * tota-ua - * - * Copyright (c) 2017 Samsung Electronics Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the License); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/***************************************************************************** -** header files -*****************************************************************************/ -#include -#include - -#include "fota_common.h" -#include "fota_png.h" -#include "tdm-if.h" - - -#define COLOR_RED 0xFF0000 -#define COLOR_GREEN 0xFF00 -#define COLOR_BLUE 0x00FF -#define COLOR_WHITE 0xFFFFFF -#define COLOR_BLACK 0x0000 -#define COLOR_GRAY 0xAAAAAA -#define COLOR_LIGHTGRAY 0xDE39 - - -#define G_OFFSET_X 100 -#define G_OFFSET_Y 200 - -#define PROGRESSBAR_WIDTH 400 -#define PROGRESSBAR_HEIGHT 25 - -#define PROGRESSBAR_START_X (40 + G_OFFSET_X) -#define PROGRESSBAR_START_Y (550 + G_OFFSET_Y) - - -#define MAX_PATH 256 - -#if !defined(RESDIR) -#define RESDIR "/usr/share/fota/res" -#endif -#define IMG_BASE RESDIR "/images/" - -#define MAIN_IMG_NAME "A07_firmware_update.png" -#define PROGRESS1_IMG_NAME "A07_progress_bar.png" -#define PROGRESS2_IMG_NAME "A07_progress_bg.png" -#define NUM_IMG_PREFIX "A07_num_" -#define PERCENT_IMG_NAME "A07_percent.png" - -/***************************************************************************** -** global variables -*****************************************************************************/ -FbInfo s_fbi; -FbInfo s_fbi_local; - -/*----------------------------------------------------------------------------- - _gr_direct_fill_rect - ----------------------------------------------------------------------------*/ -static void _gr_direct_fill_rect(FbInfo *fbi, s32 x, s32 y, s32 w, s32 h, u32 color) -{ - unsigned int *fb_buf_int = NULL; - unsigned int *fb_buf_cur = NULL; - s32 dx = 0; - s32 dy = 0; - s32 wb = 0; - - if (NULL == fbi) - return; - - dx = w; - dy = h; - wb = w * sizeof(u32); - - fb_buf_int = (unsigned int *)fbi->buf; - fb_buf_int += y * fbi->w + x; - fb_buf_cur = fb_buf_int; - - while (dx--) - *fb_buf_cur++ = color; - - fb_buf_cur -= w; - fb_buf_cur += fbi->w; - dy--; - while (dy--) { - memcpy((void*)fb_buf_cur, (void*)fb_buf_int, wb); - fb_buf_cur += fbi->w; - } - -} - -/*----------------------------------------------------------------------------- - _gr_direct_clear_screen - ----------------------------------------------------------------------------*/ -static void _gr_direct_clear_screen(FbInfo *fbi, u32 color) -{ - unsigned int *fb_buf_int = NULL; - unsigned int *fb_buf_cur = NULL; - s32 dx = 0; - s32 dy = 0; - s32 w = 0; - - if (NULL == fbi) - return; - - dx = fbi->w; - dy = fbi->h; - w = fbi->w * sizeof(u32); - - fb_buf_int = (unsigned int *)fbi->buf; - fb_buf_cur = fb_buf_int; - - while (dx--) - *fb_buf_cur++ = color; - - dy--; - while (dy--) { - memcpy((void*)fb_buf_cur, (void*)fb_buf_int, w); - fb_buf_cur += fbi->w; - } -} - -/*----------------------------------------------------------------------------- - _gr_direct_draw_text - ----------------------------------------------------------------------------*/ -static void _gr_direct_draw_text(FbInfo *fbi, int x1, int y1, char* str, int len) -{ - int i = 0; - int w = 0; - char ch; - char img_name[256]; - - for (i = 0; i < len; i++) { - ch = *(str + i); - if ((ch >= '0') && (ch <= '9')) { - sprintf(img_name, "%s%s%c.png", IMG_BASE, NUM_IMG_PREFIX, ch); - w = 20; - } else if (ch == '%') { - sprintf(img_name, "%s%s", IMG_BASE, PERCENT_IMG_NAME); - w = 29; - } else { - continue; - } - - if (read_png_file(img_name) < 0) - continue; - - draw_png_img_xy(fbi, x1, y1); - release_png_res(); - - x1 += w; - } -} - -/*----------------------------------------------------------------------------- - _gr_direct_draw_prog_text - ----------------------------------------------------------------------------*/ -static void _gr_direct_draw_prog_text(FbInfo *fbi, int percent) -{ - char str_percent[256]; - - if (percent <= 0) - percent = 0; - - if (percent > 100) - percent = 100; - - sprintf(str_percent, "%d%%", percent); - _gr_direct_fill_rect(fbi, 320, 751, 200, 32, COLOR_BLACK); - _gr_direct_draw_text(fbi, 320, 751, str_percent, strlen(str_percent)); -} - -/*----------------------------------------------------------------------------- - _gr_direct_draw_prog_img - ----------------------------------------------------------------------------*/ -static void _gr_direct_draw_prog_img(FbInfo *fbi, int percent) -{ - int img_x = 0; - int img_y = 0; - int x; - int shaft_max; - int shaft; - - if (read_png_file(IMG_BASE PROGRESS1_IMG_NAME) < 0) - return; - - if (percent <= 0) - return; - - if (percent > 100) - percent = 100; - - /* left part */ - img_x = 36; - img_y = 696; - draw_png_img_clip_xy(fbi, img_x, img_y, 0, 0, 17, 27); - - /* middle part */ -#if 0 - for (x = 36+17; x <= 648+17; x += 2) - draw_png_img_clip_xy(fbi, x, img_y, 17, 0, 2, 27); -#endif - - /* drawing range calculation : 0(1%), max(100%)*/ - shaft_max = 648 - 17 - 17; - shaft = shaft_max * (percent - 1) / 99; - - for (x = 36+17; x < (36+17+shaft); x += 2) - draw_png_img_clip_xy(fbi, x, img_y, 17, 0, 2, 27); - - /* right part */ - img_x = 36+17+shaft; - img_y = 696; - draw_png_img_clip_xy(fbi, img_x, img_y, 19, 0, 17, 27); - - release_png_res(); -} - - -/*----------------------------------------------------------------------------- - _gr_direct_draw_prog_bg_img - ----------------------------------------------------------------------------*/ -static void _gr_direct_draw_prog_bg_img(FbInfo *fbi) -{ - int img_x = 0; - int img_y = 0; - int x; - - if (read_png_file(IMG_BASE PROGRESS2_IMG_NAME) < 0) - return; - - img_x = 36; - img_y = 696; - draw_png_img_xy(fbi, img_x, img_y); - - img_x = 648; - img_y = 696; - draw_png_img_xy(fbi, img_x, img_y); - - for (x = 36+17; x <= 648+17; x += 2) - draw_png_img_clip_xy(fbi, x, img_y, 17, 0, 2, 27); - - release_png_res(); -} - -/*----------------------------------------------------------------------------- - _gr_direct_draw_main_img - ----------------------------------------------------------------------------*/ -static void _gr_direct_draw_main_img(FbInfo *fbi) -{ - int img_x = 0; - int img_y = 0; - - if (read_png_file(IMG_BASE MAIN_IMG_NAME) < 0) - return; - - img_x = (fbi->w - 456)/2; - img_y = 212; - - draw_png_img_xy(fbi, img_x, img_y); - release_png_res(); - -} - -/*----------------------------------------------------------------------------- - _gr_direct_update_screen - ----------------------------------------------------------------------------*/ -static void _gr_direct_update_screen() -{ - tdm_if_buffer_update(s_fbi.buf); - tdm_if_display_update(); -} - -/*----------------------------------------------------------------------------- - __init_screen - ----------------------------------------------------------------------------*/ -static void __init_screen(FbInfo *fbi) -{ - _gr_direct_clear_screen(fbi, COLOR_BLACK); - - _gr_direct_draw_main_img(fbi); - - _gr_direct_draw_prog_bg_img(fbi); - - _gr_direct_draw_prog_text(fbi, 0); - - _gr_direct_update_screen(); -} - -/*----------------------------------------------------------------------------- - fota_gr_direct_update_progress - ----------------------------------------------------------------------------*/ -void fota_gr_direct_update_progress(int percent) -{ - _gr_direct_draw_prog_img(&s_fbi, percent); - _gr_direct_draw_prog_text(&s_fbi, percent); - _gr_direct_update_screen(); -} - -/*----------------------------------------------------------------------------- - fota_gr_direct_clear_screen - ----------------------------------------------------------------------------*/ -void fota_gr_direct_clear_screen(u32 color) -{ - _gr_direct_clear_screen(&s_fbi, color); - _gr_direct_update_screen(); -} - -/*----------------------------------------------------------------------------- - fota_gr_direct_init - ----------------------------------------------------------------------------*/ -int fota_gr_direct_init(void) -{ - unsigned char *buf = NULL; - - if (tdm_if_display_init() < 0) - return -1; - - tdm_if_lcd_off(); - - s_fbi.w = tdm_if_display_width(); - s_fbi.h = tdm_if_display_height(); - s_fbi.sz = tdm_if_display_bufsize(); - - buf = malloc(s_fbi.sz); - if (NULL == buf) { - LOG("Not enough memory (s_fbi.sz = %d)\n", s_fbi.sz); - tdm_if_display_deinit(); - return -1; - } - s_fbi.buf = buf; - - __init_screen(&s_fbi); - - _gr_direct_update_screen(); - - tdm_if_lcd_on(); - - return 0; -} - -/*----------------------------------------------------------------------------- - fota_gr_direct_deinit - ----------------------------------------------------------------------------*/ -void fota_gr_direct_deinit(void) -{ - if (s_fbi.buf) { - free(s_fbi.buf); - s_fbi.buf = NULL; - } - tdm_if_display_deinit(); -} diff --git a/fota_gui/fota_gr_direct.h b/fota_gui/fota_gr_direct.h deleted file mode 100755 index e0e2cc0..0000000 --- a/fota_gui/fota_gr_direct.h +++ /dev/null @@ -1,29 +0,0 @@ -/* - * tota-ua - * - * Copyright (c) 2017 Samsung Electronics Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the License); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef __FOTA_GR_DIRECT_H__ -#define __FOTA_GR_DIRECT_H__ - -#include "fota_gui_common.h" - -extern int fota_gr_direct_init(void); -extern void fota_gr_direct_deinit(void); -extern void fota_gr_direct_clear_screen(u32 color); -extern void fota_gr_direct_update_progress(int percent); - -#endif /* __FOTA_GR_DIRECT_H__ */ diff --git a/fota_gui/fota_gr_direct_tw.c b/fota_gui/fota_gr_direct_tw.c deleted file mode 100755 index cb073cb..0000000 --- a/fota_gui/fota_gr_direct_tw.c +++ /dev/null @@ -1,464 +0,0 @@ -/* - * tota-ua - * - * Copyright (c) 2017 Samsung Electronics Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the License); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/***************************************************************************** -** header files -*****************************************************************************/ -#include -#include -#include - -#include "fota_gui_common.h" -#include "fota_png.h" -#include "fota_fbinfo.h" -#include "tdm-if.h" - -#define UNUSED(x) (void)(x) - -#define COLOR_BLACK 0x0000 - -#define MAX_PATH 256 -#define MAX_FILE_PATH 512 - -#if !defined(RESDIR) -#define RESDIR "/usr/share/fota/res" -#endif -#define IMG_BASE RESDIR "/images/" - -#define MAIN_IMG_NAME "tw_start_downloading.png" -#define MAIN_PG_IMG_NAME "tw_fota_progress_bg.png" -#define PROGRESS_BAR_IMG_PREFIX "tw_fota_progress_" -#define PROGRESS_NUM_PREFIX "tw_fota_downloading_" -#define PERCENT_IMG_NAME "tw_fota_downloading_percent.png" - -/***************************************************************************** -** global variables -*****************************************************************************/ -FbInfo s_fbi; -tdm_if_disp s_disp; - -int s_percent_to_draw = 0; -int s_saved_percent = -1; - -/*----------------------------------------------------------------------------- - fb_open() - ----------------------------------------------------------------------------*/ -int fb_open(FbInfo *fbi) -{ - memset(&s_disp, 0x00, sizeof(struct _tdm_if_disp)); - - if (tdm_if_display_init(&s_disp)) { - LOGE("tdm_if_display_init fail!!\n"); - return -1; - } - - fbi->buf[FRONT_BUFFER] = s_disp.buffer[FRONT_BUFFER]; - fbi->buf[BACK_BUFFER] = s_disp.buffer[BACK_BUFFER]; - fbi->current_fb_id = s_disp.current_buf_id; - fbi->w = s_disp.width; - fbi->h = s_disp.height; - fbi->sz = s_disp.buffer_size; - - return 0; -} - -/*----------------------------------------------------------------------------- - fb_close() - ----------------------------------------------------------------------------*/ -void fb_close(FbInfo *fbi) -{ - UNUSED(fbi); - tdm_if_display_deinit(&s_disp); -} - -/*------------------------------------------------------------------------------ - fb_display() -------------------------------------------------------------------------------*/ -int fb_display(FbInfo *fbi) -{ - s_disp.current_buf_id = fbi->current_fb_id; - LOG("current_fb_id : %d\n", fbi->current_fb_id); - tdm_if_display_update(&s_disp); - - return 0; -} - -/*----------------------------------------------------------------------------- - fb_draw_img_forced_update() - ----------------------------------------------------------------------------*/ -void fb_draw_img_forced_update(FbInfo *fbi) -{ - int ret = 0; - ret = fb_display(fbi); - LOG("current_fb_id : %d, ret : %d\n", fbi->current_fb_id, ret); -} -/*----------------------------------------------------------------------------- - fb_draw_img_check_lcd_on() - ----------------------------------------------------------------------------*/ -void fb_draw_img_check_lcd_on(FbInfo *fbi) -{ - - int ret = 0; - - fbi->current_fb_id = FRONT_BUFFER; - - LOG("current_fb_id :%d\n", fbi->current_fb_id); - - ret = fb_display(fbi); - - LOG("%s - drawing... ret : %d\n", __func__, ret); -} - -/*----------------------------------------------------------------------------- - fb_clear_screen() - ----------------------------------------------------------------------------*/ -void fb_clear_screen(FbInfo *fbi, unsigned int color) -{ - unsigned int *fb_buf_cur = NULL; - int loop_count = fbi->w * fbi->h; - - fb_buf_cur = (unsigned int *)fbi->buf[FRONT_BUFFER]; - - if (fb_buf_cur == NULL) { - LOG("fb_buf_cur is null error...\n"); - return; - } - while (loop_count--) - *(fb_buf_cur++) = color; - -} - -/*----------------------------------------------------------------------------- - _gr_direct_fill_rect - ----------------------------------------------------------------------------*/ -static void _gr_direct_fill_rect(FbInfo *fbi, s32 x, s32 y, s32 w, s32 h, u32 color) -{ - unsigned int *fb_buf_int = NULL; - unsigned int *fb_buf_cur = NULL; - s32 dx = 0; - s32 dy = 0; - s32 wb = 0; - - if (NULL == fbi) - return; - - dx = w; - dy = h; - wb = w * sizeof(u32); - - fb_buf_int = (unsigned int *)fbi->buf[FRONT_BUFFER]; - fb_buf_int += y * fbi->w + x; - fb_buf_cur = fb_buf_int; - - while (dx--) - *fb_buf_cur++ = color; - - fb_buf_cur -= w; - fb_buf_cur += fbi->w; - dy--; - while (dy--) { - memcpy((void*)fb_buf_cur, (void*)fb_buf_int, wb); - fb_buf_cur += fbi->w; - } - -} - -/*----------------------------------------------------------------------------- - _gr_direct_clear_screen - ----------------------------------------------------------------------------*/ -static void _gr_direct_clear_screen(FbInfo *fbi, u32 color) -{ - unsigned int *fb_buf_int = NULL; - unsigned int *fb_buf_cur = NULL; - s32 dx = 0; - s32 dy = 0; - s32 w = 0; - - if (NULL == fbi) - return; - - dx = fbi->w; - dy = fbi->h; - w = fbi->w * sizeof(u32); - - fb_buf_int = (unsigned int *)fbi->buf[FRONT_BUFFER]; - fb_buf_cur = fb_buf_int; - - while (dx--) - *fb_buf_cur++ = color; - - dy--; - while (dy--) { - memcpy((void*)fb_buf_cur, (void*)fb_buf_int, w); - fb_buf_cur += fbi->w; - } -} - -/*----------------------------------------------------------------------------- - _gr_direct_draw_text - ----------------------------------------------------------------------------*/ -static void _gr_direct_draw_text(FbInfo *fbi, int percent) -{ - char img_name[MAX_PATH]; - int img_x; - int img_y; - int num; - - img_x = 110; - img_y = 240; - - if (percent < 10) - img_x += 10; - else if (percent < 100) - img_x += 20; - else if (percent == 100) - img_x += 30; - - if (percent == 100) { - snprintf(img_name, MAX_PATH, "%s%s%d.png", IMG_BASE, PROGRESS_NUM_PREFIX, 1); - if (read_png_file(img_name) < 0) - return; - - draw_png_img_xy(fbi, img_x, img_y); - release_png_res(); - } - - img_x += 18; - if (percent >= 10) { - num = percent / 10; - if (num == 10) - num = 0; - - snprintf(img_name, MAX_PATH, "%s%s%d.png", IMG_BASE, PROGRESS_NUM_PREFIX, num); - if (read_png_file(img_name) < 0) - return; - - draw_png_img_xy(fbi, img_x, img_y); - release_png_res(); - } - - img_x += 18; - num = percent % 10; - - snprintf(img_name, MAX_PATH, "%s%s%d.png", IMG_BASE, PROGRESS_NUM_PREFIX, num); - if (read_png_file(img_name) < 0) - return; - - draw_png_img_xy(fbi, img_x, img_y); - release_png_res(); - - img_x += 17; - - snprintf(img_name, MAX_PATH, "%s%s", IMG_BASE, PERCENT_IMG_NAME); - if (read_png_file(img_name) < 0) - return; - - draw_png_img_xy(fbi, img_x, img_y); - release_png_res(); -} - -/*----------------------------------------------------------------------------- - _gr_direct_draw_prog_text - ----------------------------------------------------------------------------*/ -static void _gr_direct_draw_prog_text(FbInfo *fbi, int percent) -{ - if (percent <= 0) - percent = 0; - - if (percent > 100) - percent = 100; - - _gr_direct_fill_rect(fbi, 110, 240, 100, 41, COLOR_BLACK); - _gr_direct_draw_text(fbi, percent); -} - -static void _gr_direct_draw_main_prog_img(FbInfo *fbi, int percent) -{ - int img_x = 0; - int img_y = 0; - - if (read_png_file(IMG_BASE MAIN_PG_IMG_NAME) < 0) - return; - - img_x = 0; - img_y = 0; - - draw_png_img_xy(fbi, img_x, img_y); - release_png_res(); -} - -/*----------------------------------------------------------------------------- - _gr_direct_draw_main_img - ----------------------------------------------------------------------------*/ -static void _gr_direct_draw_main_img(FbInfo *fbi) -{ - int img_x = 0; - int img_y = 0; - - if (read_png_file(IMG_BASE MAIN_IMG_NAME) < 0) - return; - - img_x = 0; - img_y = 0; - - draw_png_img_xy(fbi, img_x, img_y); - release_png_res(); - -} - -/*----------------------------------------------------------------------------- - __init_screen - ----------------------------------------------------------------------------*/ -static void __init_screen(FbInfo *fbi) -{ - _gr_direct_clear_screen(fbi, COLOR_BLACK); - - //_gr_direct_draw_text_img(fbi); - - _gr_direct_draw_main_img(fbi); - - _gr_direct_draw_main_prog_img(fbi, 0); - - _gr_direct_draw_prog_text(fbi, 0); -} - -static void _gr_direct_final_circle_progress_bar(FbInfo *fbi, int progress) -{ - char img_name[MAX_PATH]; - - // draw current progress image - snprintf(img_name, MAX_PATH, "%s%sfinal.png", IMG_BASE, PROGRESS_BAR_IMG_PREFIX); - if (read_png_file(img_name) < 0) { - LOG("ERROR \n"); - return; - } - - draw_png_img_xy(fbi, 0, 0); - release_png_res(); -} - -static void _gr_direct_circle_progress_bar(FbInfo *fbi, int progress) -{ - char img_name[MAX_PATH]; - - static int prog_pre = 0; - int count = 0; - int prog_cnt = 0; - - if (progress <= 0) - return; - - if (progress > 100) - progress = 100; - - prog_cnt = progress; - - for (; prog_pre <= prog_cnt; prog_pre++) { - LOG("prog_pre/prog_cnt : %d, %d \n", prog_pre , prog_cnt); - - // draw current progress image - snprintf(img_name, MAX_PATH, "%s%s%03d.png", IMG_BASE, PROGRESS_BAR_IMG_PREFIX, prog_pre); - if (read_png_file(img_name) < 0) { - LOG("ERROR \n"); - return; - } - - draw_png_img_xy(fbi, 0, 0); - release_png_res(); - - s_saved_percent = prog_pre; - - count++; - - if (count > 3) - break; - } -} - -/*----------------------------------------------------------------------------- - _gr_direct_update_screen - ----------------------------------------------------------------------------*/ -static void _gr_direct_update_screen() -{ - s_disp.current_buf_id = s_fbi.current_fb_id; - - tdm_if_display_update(&s_disp); -} - -/*----------------------------------------------------------------------------- - fota_gr_direct_update_progress - ----------------------------------------------------------------------------*/ -void fota_gr_direct_circular_progress(void) -{ - if (s_saved_percent != s_percent_to_draw) { - - LOG("fota_gr_direct_circular_progress progress : %d \n", s_percent_to_draw); - - if (s_percent_to_draw == 100) { - _gr_direct_final_circle_progress_bar(&s_fbi, 100); - _gr_direct_draw_prog_text(&s_fbi, 100); - - } else if (s_percent_to_draw > 0) { - _gr_direct_circle_progress_bar(&s_fbi, s_percent_to_draw); - _gr_direct_draw_prog_text(&s_fbi, s_percent_to_draw); - } - } - _gr_direct_update_screen(); -} - -/*----------------------------------------------------------------------------- - fota_gr_direct_update_progress - ----------------------------------------------------------------------------*/ -void fota_gr_direct_update_progress(int percent) -{ - s_percent_to_draw = percent; -} - -/*----------------------------------------------------------------------------- - fota_gr_direct_clear_screen - ----------------------------------------------------------------------------*/ -void fota_gr_direct_clear_screen(u32 color) -{ - _gr_direct_clear_screen(&s_fbi, color); - _gr_direct_update_screen(); -} - -/*----------------------------------------------------------------------------- - fota_gr_direct_init - ----------------------------------------------------------------------------*/ -int fota_gr_direct_init(void) -{ - /* open display interface */ - if (fb_open(&s_fbi) < 0) - LOG("fb_open failed \n"); - - __init_screen(&s_fbi); - - tdm_if_lcd_on(&s_disp); - - return 0; -} - -/*----------------------------------------------------------------------------- - fota_gr_direct_deinit - ----------------------------------------------------------------------------*/ -void fota_gr_direct_deinit(void) -{ - fb_close(&s_fbi); -} - diff --git a/fota_gui/fota_gui_common.h b/fota_gui/fota_gui_common.h deleted file mode 100755 index bf3330a..0000000 --- a/fota_gui/fota_gui_common.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * tota-ua - * - * Copyright (c) 2017 Samsung Electronics Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the License); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef __FOTA_GUI_COMMON_H__ -#define __FOTA_GUI_COMMON_H__ - - -#include -#include "fota_gui_log.h" - -typedef signed char s8; -typedef unsigned char u8; - -typedef signed short s16; -typedef unsigned short u16; - -typedef signed int s32; -typedef unsigned int u32; -typedef u32 size_t; - -typedef signed long sl32; -typedef unsigned long ul32; - -typedef signed long long s64; -typedef unsigned long long u64; - - -#endif /* __FOTA_GUI_COMMON_H__ */ diff --git a/fota_gui/fota_gui_log.h b/fota_gui/fota_gui_log.h deleted file mode 100755 index 5faa394..0000000 --- a/fota_gui/fota_gui_log.h +++ /dev/null @@ -1,74 +0,0 @@ -/* - * tota-ua - * - * Copyright (c) 2017 Samsung Electronics Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the License); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef __FOTA_GUI_LOG_H__ -#define __FOTA_GUI_LOG_H__ - -#include - -extern unsigned int __log_level__; -extern FILE *__log_out_file__; - -#define LOG_INFO (1<<8) -#define LOG_SSENGINE (1<<7) -#define LOG_FUNCS (1<<6) -#define LOG_GUI (1<<5) -#define LOG_DEBUG (1<<4) -#define LOG_FILE (1<<3) -#define LOG_FLASH (1<<2) - -#define LOG_PRFIX "FOTA_GUI" - -#define DEBUG_STDOUT -//#define DEBUG_FILE - -#ifdef DEBUG_STDOUT -#define LOGE(s, args...) printf(LOG_PRFIX "/ERROR(%s) " s, __func__, ##args) // Error log -#define LOGL(mask, s, args...) do { if ((mask) & __log_level__) \ - printf(LOG_PRFIX "/(%s): " s, __func__, ##args); } while (0) -#define LOG(s, args...) LOGL(LOG_DEBUG, s, ##args) - -#elif defined(DEBUG_FILE) -#define LOGE(s, args...) fprintf(__log_out_file__, LOG_PRFIX "/ERROR(%s) " s, __func__, ##args) -#define LOGL(mask, s, args...) do { if ((mask) & __log_level__) \ - fprintf(__log_out_file__, LOG_PRFIX "/(%s): " s , __func__, ##args); } while (0) -#define LOG(s, args...) LOGL(LOG_DEBUG, s, ##args) - -#elif defined(DEBUG_STDOUT_FILE) // debug printf -#define LOGE(s, args...) do {\ - printf(LOG_PRFIX "/ERROR(%s) " s, __func__, ##args);\ - fprintf(__log_out_file__, LOG_PRFIX "/ERROR(%s) " s, __func__, ##args);\ - } while (0) -#define LOGL(mask, s, args...) do { \ - if ((mask) & __log_level__) { \ - printf(LOG_PRFIX "/(%s): " s , __func__, ##args);\ - fprintf(__log_out_file__, LOG_PRFIX "/(%s): " s, __func__, ##args);\ - } \ - } while (0) -#define LOG(s, args...) LOGL(LOG_DEBUG, s, ##args) - -#else -#define LOGE(s, args...) -#define LOGL(mask, s, args...) -#define LOG(s, args...) - -#endif - - -#endif /* __FOTA_GUI_LOG_H__ */ - diff --git a/fota_gui/fota_gui_main.c b/fota_gui/fota_gui_main.c deleted file mode 100755 index a4e8254..0000000 --- a/fota_gui/fota_gui_main.c +++ /dev/null @@ -1,273 +0,0 @@ -/* - * tota-ua - * - * Copyright (c) 2017 Samsung Electronics Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the License); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "fota_gui_common.h" -#include "fota_gui_util.h" -#include "fota_gr.h" - -#define SERV_PATH "/tmp/FotaGuiSocket" - - -unsigned int __log_level__ = - (LOG_DEBUG | LOG_FLASH | LOG_FILE | LOG_FUNCS | LOG_GUI | LOG_SSENGINE | LOG_INFO); -FILE *__log_out_file__; - -int s_prog_percent = 0; -int s_last_prog_percent = 0; - - -typedef struct { - char cmd_name[64]; - int argc; - char argv[3][64]; -} sock_cmd; - -typedef struct { - int ack; - char ack_desc[256]; -} sock_ack; - -#define CMD_SUCCESS 0 -#define CMD_ERROR -1 -#define MISSING_PARAM -2 - -int do_exit = 0; - -int s_pid = -1; - -int run_command(sock_cmd * recvbuff, sock_ack * sendbuff, int connfd) -{ - char cmd[100]; - int argc = 0, ret = -1; - int val = 0; - - memset(cmd, 0x00, sizeof(cmd)); - strncpy(cmd, recvbuff->cmd_name, sizeof(cmd)-1); - argc = recvbuff->argc; - - if (!strcmp(cmd, "draw_progress")) { - LOG("draw_progress selected\n"); - if (argc != 1) { - sendbuff->ack = MISSING_PARAM; - strncpy(sendbuff->ack_desc, "Missing parameter", - sizeof(sendbuff->ack_desc) - 1); - ret = send(connfd, sendbuff, sizeof(sock_ack), 0); - } else { - LOG("argv[0]: %s\n", recvbuff->argv[0]); - ret = CMD_SUCCESS; - sendbuff->ack = ret; - strncpy(sendbuff->ack_desc, "Command recieved", - sizeof(sendbuff->ack_desc) - 1); - ret = send(connfd, sendbuff, sizeof(sock_ack), 0); - - val = atoi(recvbuff->argv[0]); - if (val < 0) - val = 0; - else if (val > 100) - val = 100; - - s_prog_percent = val; - fota_gr_update_progress(s_prog_percent); - s_last_prog_percent = s_prog_percent; - } - } else if (!strcmp(cmd, "draw_end")) { - LOG("draw_end selected\n"); - if (argc != 0) { - sendbuff->ack = MISSING_PARAM; - strncpy(sendbuff->ack_desc, "Missing parameter", - sizeof(sendbuff->ack_desc) - 1); - ret = send(connfd, sendbuff, sizeof(sock_ack), 0); - } else { - LOG("argv[0]: %s\n", recvbuff->argv[0]); - ret = CMD_SUCCESS; - sendbuff->ack = ret; - strncpy(sendbuff->ack_desc, "Command recieved", - sizeof(sendbuff->ack_desc) - 1); - ret = send(connfd, sendbuff, sizeof(sock_ack), 0); - LOG("send() returned %d\n", ret); - return -1; - } - } else { - LOG("Command Not Found \n"); - sendbuff->ack = MISSING_PARAM; - strncpy(sendbuff->ack_desc, "Command Not found", - sizeof(sendbuff->ack_desc) - 1); - ret = send(connfd, sendbuff, sizeof(sock_ack), 0); - } - - LOG("run_command() ret = %d\n", ret); - return ret; -} - -static void *__thread_draw_progress_img(void *arg) -{ - int delay = 20000; - - if (setpriority(PRIO_PROCESS, getpid(), -11) < 0) - LOG("failed to setpriority\n"); - - if (fota_gr_init() < 0) { - LOG("fota_gr_init() failed.\n"); - _exit_stdio(); - return -1; - } - - while (do_exit != 1) { - usleep(delay); - fota_gr_direct_circular_progress(); - } - - fota_gr_deinit(); - - return NULL; -} - -int main(int argc, char **argv) -{ - int connfd = 0, sockfd = 0; - socklen_t slen, clen; - struct sockaddr_un saddr, caddr; - int cnt, done; - sock_cmd *recvbuff = NULL; - sock_ack *sendbuff = NULL; - -// _init_stdio(); - - fota_gr_update_progress(s_prog_percent); - s_last_prog_percent = s_prog_percent; - int error = 0; - pthread_t th_id = 0; - - error = pthread_create(&th_id, NULL, __thread_draw_progress_img, NULL); - if (error != 0) { - LOG("Thread creation failed errno [%d]\n", errno); - _exit_stdio(); - return -1; - } - - recvbuff = malloc(sizeof(sock_cmd)); - if (recvbuff == NULL) { - LOG("memory allocation failed:\n"); - _exit_stdio(); - return -1; - } - - sendbuff = malloc(sizeof(sock_ack)); - if (sendbuff == NULL) { - LOG("memory allocation failed:\n"); - _exit_stdio(); - return -1; - } - - sockfd = socket(AF_UNIX, SOCK_STREAM, 0); - if (sockfd <= 0) { - LOG("invalide sockfd\n"); - _exit_stdio(); - return -1; - } - - memset((char *)&saddr, 0, sizeof(saddr)); - saddr.sun_family = AF_UNIX; - strncpy(saddr.sun_path, SERV_PATH, - sizeof(saddr.sun_path) - 1); - slen = sizeof(saddr); - - unlink(SERV_PATH); - if (bind(sockfd, (const struct sockaddr *)&saddr, slen) < 0) { - LOG("bind fail\n"); - _exit_stdio(); - return -1; - } - - if (chmod(SERV_PATH, (S_IRWXU | S_IRWXG | S_IRWXO)) < 0) /* 0777 */ - LOG("failed to change the socket permission\n"); - - if (listen(sockfd, 5) < 0) { - LOG("listen fail\n"); - _exit_stdio(); - return -1; - } - - while (1) { - clen = sizeof(caddr); - connfd = accept(sockfd, (struct sockaddr *)&caddr, &clen); - if (connfd < 0) { - LOG("accept fail \n"); - _exit_stdio(); - return -1; - } - - LOG("Client Connected...\n"); - - done = 0; - do { - cnt = 0; - cnt = recv(connfd, recvbuff, sizeof(sock_cmd), 0); - if (cnt <= 0) { - if (cnt < 0) - perror("recv!"); - done = 1; - LOG("recv() <= 0\n"); - } - - if (!done) { - if (run_command(recvbuff, sendbuff, connfd) < 0) { - done = 1; - do_exit = 1; - LOG("run_command() < 0\n"); - } - } - } while (!done); - - close(connfd); - - if (do_exit) - break; - } - - close(sockfd); - - LOG("waiting for termination of thread((th_id) = %lu)\n", (th_id)); - if (pthread_join(th_id, NULL) != 0) { - LOG("pthread_join failed for thread [%lu] errno [%d]\n", - th_id, errno); - _exit_stdio(); - return -1; - } - - _exit_stdio(); - - return 0; -} diff --git a/fota_gui/fota_gui_util.c b/fota_gui/fota_gui_util.c deleted file mode 100755 index 6e762d2..0000000 --- a/fota_gui/fota_gui_util.c +++ /dev/null @@ -1,81 +0,0 @@ -/* - * tota-ua - * - * Copyright (c) 2017 Samsung Electronics Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the License); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "fota_gui_log.h" - -int s_fd_stdin = -1; -int s_fd_stdout = -1; -int s_fd_stderr = -1; - -/*----------------------------------------------------------------------------- - set_default_stdio - ----------------------------------------------------------------------------*/ -static int set_default_stdio(int flags, int nfd) -{ - int fd, r; - - fd = open("/dev/null", flags|O_NOCTTY); - if (fd < 0) - return -errno; - - if (fd == nfd) { - return fd; - } else { - r = dup2(fd, nfd) < 0 ? -errno : nfd; - close(fd); - return r; - } -} - -/*----------------------------------------------------------------------------- - _init_stdio - ----------------------------------------------------------------------------*/ -void _init_stdio(void) -{ - s_fd_stdin = set_default_stdio(O_RDONLY, STDIN_FILENO); - - s_fd_stdout = set_default_stdio(O_WRONLY, STDOUT_FILENO); - - s_fd_stderr = set_default_stdio(O_WRONLY, STDERR_FILENO); -} - -/*----------------------------------------------------------------------------- - _exit_stdio - ----------------------------------------------------------------------------*/ -void _exit_stdio(void) -{ - if (s_fd_stdin >= 0) - close(s_fd_stdin); - - if (s_fd_stdout >= 0) - close(s_fd_stdout); - - if (s_fd_stderr >= 0) - close(s_fd_stderr); -} - diff --git a/fota_gui/fota_gui_util.h b/fota_gui/fota_gui_util.h deleted file mode 100755 index e4ec592..0000000 --- a/fota_gui/fota_gui_util.h +++ /dev/null @@ -1,26 +0,0 @@ -/* - * tota-ua - * - * Copyright (c) 2017 Samsung Electronics Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the License); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef _FOTA_GUI_UTIL_H_ -#define _FOTA_GUI_UTIL_H_ - -extern void _init_stdio(void); -extern void _exit_stdio(void); - -#endif /* _FOTA_GUI_UTIL_H_ */ - diff --git a/fota_gui/fota_log.h b/fota_gui/fota_log.h deleted file mode 100755 index c4b303f..0000000 --- a/fota_gui/fota_log.h +++ /dev/null @@ -1,78 +0,0 @@ -/* - * tota-ua - * - * Copyright (c) 2017 Samsung Electronics Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the License); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef __FOTA_LOG_H__ -#define __FOTA_LOG_H__ - -#include - -/* - * DEBUGGING FEATURE - */ - -extern unsigned int __log_level__; -extern FILE *__log_out_file__; - -#define LOG_INFO (1<<8) -#define LOG_SSENGINE (1<<7) -#define LOG_FUNCS (1<<6) -#define LOG_GUI (1<<5) -#define LOG_DEBUG (1<<4) -#define LOG_FILE (1<<3) -#define LOG_FLASH (1<<2) - -#define LOG_PRFIX "FOTA_GUI" - -#define DEBUG_STDOUT -//#define DEBUG_FILE - -#ifdef DEBUG_STDOUT -#define LOGE(s, args...) printf(LOG_PRFIX "/ERROR(%s) " s, __func__, ##args) // Error log -#define LOGL(mask, s, args...) do { if ((mask) & __log_level__) \ - printf(LOG_PRFIX "/(%s): " s, __func__, ##args); } while (0) -#define LOG(s, args...) LOGL(LOG_DEBUG, s, ##args) - -#elif defined(DEBUG_FILE) -#define LOGE(s, args...) fprintf(__log_out_file__, LOG_PRFIX "/ERROR(%s) " s, __func__, ##args) -#define LOGL(mask, s, args...) do { if ((mask) & __log_level__) \ - fprintf(__log_out_file__, LOG_PRFIX "/(%s): " s , __func__, ##args); } while (0) -#define LOG(s, args...) LOGL(LOG_DEBUG, s, ##args) - -#elif defined(DEBUG_STDOUT_FILE) // debug printf -#define LOGE(s, args...) do {\ - printf(LOG_PRFIX "/ERROR(%s) " s, __func__, ##args);\ - fprintf(__log_out_file__, LOG_PRFIX "/ERROR(%s) " s, __func__, ##args);\ - } while (0) -#define LOGL(mask, s, args...) do {\ - if ((mask) & __log_level__) {\ - printf(LOG_PRFIX "/(%s): " s , __func__, ##args);\ - fprintf(__log_out_file__, LOG_PRFIX "/(%s): " s, __func__, ##args);\ - } \ - } while (0) -#define LOG(s, args...) LOGL(LOG_DEBUG, s, ##args) - -#else -#define LOGE(s, args...) -#define LOGL(mask, s, args...) -#define LOG(s, args...) - -#endif - - -#endif /* __FOTA_LOG_H__ */ - diff --git a/fota_gui/fota_png.c b/fota_gui/fota_png.c deleted file mode 100755 index f36bc50..0000000 --- a/fota_gui/fota_png.c +++ /dev/null @@ -1,455 +0,0 @@ -/* - * tota-ua - * - * Copyright (c) 2017 Samsung Electronics Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the License); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include -#include "fota_gui_common.h" -#include "fota_png.h" - -int png_img_width; -int png_img_height; -/* clear screen based on img size */ -//int png_img_width_batt_normal; -//int png_img_height_batt_normal; - -png_byte png_color_type; -png_byte png_bit_depth; - -png_structp png_ptr; -png_infop info_ptr; -int number_of_passes; -png_bytep *row_pointers; - -/*----------------------------------------------------------------------------- - read_png_file() - ----------------------------------------------------------------------------*/ -int read_png_file(char *file_name) -{ - char header[8]; /* 8 is the maximum size that can be checked */ - int y; - size_t rn; - - /* open file and test for it being a png */ - FILE *fp = fopen(file_name, "rb"); - if (!fp) { - LOG("[read_png_file] File %s could not be opened" - " for reading \n", file_name); - - LOG("Failed to open png file, path = [%s]\n", file_name); - return -1; - } - - rn = fread(header, 1, 8, fp); - if (rn != 8) - LOG("fread() read num mismatch\n"); - if (png_sig_cmp((png_bytep)header, 0, 8)) { - fclose(fp); - LOG("[read_png_file] File %s is not recognized" - " as a PNG file \n", file_name); - LOG("Failed to recognized PNG file\n"); - return -1; - } - - /* initialize stuff */ - png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL); - if (!png_ptr) { - fclose(fp); - LOG("[read_png_file] png_create_read_struct failed \n"); - - LOG("Failed png_create_read_struct()\n"); - return -1; - } - - info_ptr = png_create_info_struct(png_ptr); - if (!info_ptr) { - png_destroy_read_struct(&png_ptr, NULL, NULL); - fclose(fp); - LOG("[read_png_file] png_create_info_struct failed \n"); - - LOG("Failed png_create_info_struct()\n"); - return -1; - } - - if (setjmp(png_jmpbuf(png_ptr))) { - png_destroy_read_struct(&png_ptr, &info_ptr, NULL); - fclose(fp); - LOG("[read_png_file] Error during init_io \n"); - - LOG("Failed png_destroy_read_struct()\n"); - return -1; - } - - int bit_depth, color_type; - png_uint_32 png_width; - png_uint_32 png_height; - - png_init_io(png_ptr, fp); - png_set_sig_bytes(png_ptr, 8); - png_read_info(png_ptr, info_ptr); - - int ret = png_get_IHDR(png_ptr, info_ptr, &png_width, &png_height, &bit_depth, &color_type, NULL, NULL, NULL); - if (ret == 0) { - LOGE("Failed png_get_IHDR(), ret = [%d]\n", ret); - } else if (ret == 1) { - LOG("color_type = [%d]\n", color_type); - - if (color_type == PNG_COLOR_TYPE_RGB) - LOG("png color type is PNG_COLOR_TYPE_RGB, color_type = [%d]\n", color_type); - else if (color_type == PNG_COLOR_TYPE_RGBA) - LOG("png color type is PNG_COLOR_TYPE_RGBA, color_type = [%d]\n", color_type); - else if (color_type == PNG_COLOR_TYPE_PALETTE) - LOG("png color type is PNG_COLOR_TYPE_PALETTE, color_type = [%d]\n", color_type); - else if (color_type == PNG_COLOR_TYPE_RGB_ALPHA) - LOG("png color type is PNG_COLOR_TYPE_RGB_ALPHA, color_type = [%d]\n", color_type); - else if (color_type == PNG_COLOR_TYPE_GRAY_ALPHA) - LOG("png color type is PNG_COLOR_TYPE_GRAY_ALPHA, color_type = [%d]\n", color_type); - else if (color_type == PNG_COLOR_TYPE_GA) - LOG("png color type is PNG_COLOR_TYPE_GA, color_type = [%d]\n", color_type); - else - LOG("Unknown color type = [%d]\n", color_type); - } - - png_img_width = png_width; - png_img_height = png_height; - png_color_type = color_type; - LOG("png_color_type = [%d]\n", png_color_type); - png_bit_depth = bit_depth; - - number_of_passes = png_set_interlace_handling(png_ptr); - png_read_update_info(png_ptr, info_ptr); - - /* read file */ - if (setjmp(png_jmpbuf(png_ptr))) { - png_destroy_read_struct(&png_ptr, &info_ptr, NULL); - fclose(fp); - LOG("[read_png_file] Error during read_image \n"); - - LOG("Failed png_destroy_read_struct()\n"); - return -1; - } - - png_size_t row_size = 0; - - row_pointers = (png_bytep *) malloc(sizeof(png_bytep)*png_img_height); - for (y = 0; y < png_img_height; y++) { - row_size = png_get_rowbytes(png_ptr, info_ptr); - row_pointers[y] = (png_byte *) malloc(row_size); - } - - png_read_image(png_ptr, row_pointers); - - fclose(fp); - - return 0; -} - -/*----------------------------------------------------------------------------- - draw_png_img_clip_xy() - - x1, y1 : cordinate on canvas (fb) - - cx, cy, cw, ch : image clip (rect on image) - ----------------------------------------------------------------------------*/ -void draw_png_img_clip_xy(FbInfo *fbi, int x1, int y1, int cx, int cy, int cw, int ch) -{ - unsigned int *fb_buf_cur = NULL; - int bpp; - int x, y; - /* temp patch - lcd resoultion for qualcomm */ - - fb_buf_cur = (unsigned int *)fbi->buf[0]; - - /* check out range */ - if ((x1 + cw > fbi->w) || - (y1 + ch > fbi->h)) { - LOG("[%s] output range exceeds frame buffer range \n", __func__); - return; - } - - if ((cw > png_img_width) || (ch > png_img_height)) { - LOG("[%s] clip range exceeds image range \n", __func__); - return; - } - - if (png_color_type == PNG_COLOR_TYPE_RGB) - bpp = 3; - else if (png_color_type == PNG_COLOR_TYPE_RGBA) - bpp = 4; - else { - LOG("[draw_png_img_xy] png type does not match RGB or RGBA \n"); - return; - } - /* temp patch - lcd resoultion for qualcomm */ - fb_buf_cur += (y1 * (fbi->w)); - fb_buf_cur += x1; - for (y = 0; y < ch; y++) { - png_byte *row = (png_byte *) row_pointers[cy + y]; - if (png_bit_depth == 8) - row += (bpp * cx); - else if (png_bit_depth == 16) - row += (bpp * 2 * cx); - for (x = 0; x < cw; x++) { - if (bpp == 3) { - if (png_bit_depth == 8) { - (*fb_buf_cur) = ((*fb_buf_cur)&0xff000000) | - (row[0] << 16) | (row[1] << 8) | (row[2]); - row += bpp; - } else if (png_bit_depth == 16) { - (*fb_buf_cur) = ((*fb_buf_cur)&0xff000000) | - (row[0] << 16) | (row[2] << 8) | (row[4]); - row += bpp*2; - } - } else if (bpp == 4) { - if (png_bit_depth == 8) { - if (row[3] != 0) { - char r1, g1, b1, a1; - char r2, g2, b2, a2; - char r3, g3, b3, a3; - // background pixel - b1 = ((*fb_buf_cur)&0x000000ff); - g1 = ((*fb_buf_cur)&0x0000ff00)>>8; - r1 = ((*fb_buf_cur)&0x00ff0000)>>16; - a1 = ((*fb_buf_cur)&0xff000000)>>24; - // new pixel - r2 = row[0]; - g2 = row[1]; - b2 = row[2]; - a2 = row[3]; - // blended pixel - r3 = (r2 * a2 + r1 * (0xff - a2)) >> 8 ; - g3 = (g2 * a2 + g1 * (0xff - a2)) >> 8; - b3 = (b2 * a2 + b1 * (0xff - a2)) >> 8; - a3 = a1; - (*fb_buf_cur) = (a3 << 24) | - (r3 << 16) | (g3 << 8) | (b3); - } - row += bpp; - } else if (png_bit_depth == 16) { - if (row[6] != 0) { - short r1, g1, b1, a1; - short r2, g2, b2, a2; - char r3, g3, b3, a3; - // background pixel - b1 = ((*fb_buf_cur)&0x000000ff)<<8; - g1 = ((*fb_buf_cur)&0x0000ff00); - r1 = ((*fb_buf_cur)&0x00ff0000)>>8; - a1 = ((*fb_buf_cur)&0xff000000)>>16; - // new pixel - r2 = (row[0]<<8) + row[1]; - g2 = (row[2]<<8) + row[3]; - b2 = (row[4]<<8) + row[5]; - a2 = (row[6]<<8) + row[7]; - // blended pixel - r3 = (r2 * a2 + r1 * (0xffff - a2)) >> 24; - g3 = (g2 * a2 + g1 * (0xffff - a2)) >> 24; - b3 = (b2 * a2 + b1 * (0xffff - a2)) >> 24; - a3 = a1 >> 8; - (*fb_buf_cur) = (a3 << 24) | - (r3 << 16) | (g3 << 8) | (b3); - } - row += bpp*2; - } - } - fb_buf_cur++; - } - fb_buf_cur -= cw; - fb_buf_cur += fbi->w;/* temp patch - lcd resoultion for qualcomm */ - } - -} - -/*----------------------------------------------------------------------------- - draw_png_img_xy() - ----------------------------------------------------------------------------*/ -void draw_png_img_xy(FbInfo *fbi, int x1, int y1) -{ - unsigned int *fb_buf_cur = NULL; - int bpp; - int x, y; - /* temp patch - lcd resoultion for qualcomm */ - - fb_buf_cur = (unsigned int *)fbi->buf[0]; - - /* check out range */ - if ((x1 + png_img_width > fbi->w) || - (y1 + png_img_height > fbi->h)) { - LOG("[draw_png_img_xy] output range exceeds frame buffer range \n"); - - LOG("[draw_png_img_xy] output range exceeds frame buffer range \n"); - return; - } - - LOG("png_color_type = [%d]", png_color_type); - if (png_color_type == PNG_COLOR_TYPE_RGB) { - bpp = 3; - LOG("png color type is PNG_COLOR_TYPE_RGB, png_color_type = [%d]\n", png_color_type); - } else if (png_color_type == PNG_COLOR_TYPE_RGBA) { - bpp = 4; - LOG("png color type is PNG_COLOR_TYPE_RGBA, png_color_type = [%d]\n", png_color_type); - } else { - LOG("[draw_png_img_xy] png type does not match RGB or RGBA \n"); - - LOG("[draw_png_img_xy] png type does not match RGB or RGBA, png_color_type = [%d] \n", png_color_type); - return; - } - - /* temp patch - lcd resoultion for qualcomm */ - fb_buf_cur += (y1 * (fbi->w)); - fb_buf_cur += x1; - for (y = 0; y < png_img_height; y++) { - png_byte *row = (png_byte *) row_pointers[y]; - for (x = 0; x < png_img_width; x++) { - if (bpp == 3) { - if (png_bit_depth == 8) { - (*fb_buf_cur) = ((*fb_buf_cur)&0xff000000) | - (row[0] << 16) | (row[1] << 8) | (row[2]); - row += bpp; - } else if (png_bit_depth == 16) { - (*fb_buf_cur) = ((*fb_buf_cur)&0xff000000) | - (row[0] << 16) | (row[2] << 8) | (row[4]); - row += bpp*2; - } - } else if (bpp == 4) { - if (png_bit_depth == 8) { - if (row[3] != 0) { - char r1, g1, b1, a1; - char r2, g2, b2, a2; - char r3, g3, b3, a3; - // background pixel - b1 = ((*fb_buf_cur)&0x000000ff); - g1 = ((*fb_buf_cur)&0x0000ff00)>>8; - r1 = ((*fb_buf_cur)&0x00ff0000)>>16; - a1 = ((*fb_buf_cur)&0xff000000)>>24; - // new pixel - r2 = row[0]; - g2 = row[1]; - b2 = row[2]; - a2 = row[3]; - // blended pixel - r3 = (r2 * a2 + r1 * (0xff - a2)) >> 8 ; - g3 = (g2 * a2 + g1 * (0xff - a2)) >> 8; - b3 = (b2 * a2 + b1 * (0xff - a2)) >> 8; - a3 = a1; - (*fb_buf_cur) = (a3 << 24) | - (r3 << 16) | (g3 << 8) | (b3); - } - row += bpp; - } else if (png_bit_depth == 16) { - if (row[6] != 0) { - short r1, g1, b1, a1; - short r2, g2, b2, a2; - char r3, g3, b3, a3; - // background pixel - b1 = ((*fb_buf_cur)&0x000000ff)<<8; - g1 = ((*fb_buf_cur)&0x0000ff00); - r1 = ((*fb_buf_cur)&0x00ff0000)>>8; - a1 = ((*fb_buf_cur)&0xff000000)>>16; - // new pixel - r2 = (row[0]<<8) + row[1]; - g2 = (row[2]<<8) + row[3]; - b2 = (row[4]<<8) + row[5]; - a2 = (row[6]<<8) + row[7]; - // blended pixel - r3 = (r2 * a2 + r1 * (0xffff - a2)) >> 24; - g3 = (g2 * a2 + g1 * (0xffff - a2)) >> 24; - b3 = (b2 * a2 + b1 * (0xffff - a2)) >> 24; - a3 = a1 >> 8; - (*fb_buf_cur) = (a3 << 24) | - (r3 << 16) | (g3 << 8) | (b3); - } - row += bpp*2; - } - } - fb_buf_cur++; - } - fb_buf_cur -= png_img_width; - fb_buf_cur += fbi->w;/* temp patch - lcd resoultion for qualcomm */ - } - -} - -/*----------------------------------------------------------------------------- - draw_png_mask_xy() - - draw pixel only when alpha>0 of given png image - ----------------------------------------------------------------------------*/ -void draw_png_mask_xy(FbInfo *fbi, int x1, int y1, char r, char g, char b) -{ - unsigned int *fb_buf_cur = NULL; - int bpp; - int x, y; - /* temp patch - lcd resoultion for qualcomm */ - - fb_buf_cur = (unsigned int *)fbi->buf[0]; - - /* check out range */ - if ((x1 + png_img_width > fbi->w) || - (y1 + png_img_height > fbi->h)) { - LOG("[draw_png_img_xy] output range exceeds frame buffer range \n"); - return; - } - - if (png_color_type == PNG_COLOR_TYPE_RGB) { - bpp = 3; - LOG("[draw_png_img_xy] PNG_COLOR_TYPE_RGB : no mask channel \n"); - return; - } else if (png_color_type == PNG_COLOR_TYPE_RGBA) - bpp = 4; - else { - LOG("[draw_png_img_xy] png type does not match RGB or RGBA \n"); - return; - } - /* temp patch - lcd resoultion for qualcomm */ - fb_buf_cur += (y1 * (fbi->w)); - fb_buf_cur += x1; - for (y = 0; y < png_img_height; y++) { - png_byte *row = (png_byte *) row_pointers[y]; - for (x = 0; x < png_img_width; x++) { - if (bpp == 4) { - if (png_bit_depth == 8) { - if (row[3] != 0) { - (*fb_buf_cur) = ((*fb_buf_cur)&0xff000000) | - (r << 16) | (g << 8) | (b); - } - row += bpp; - } else if (png_bit_depth == 16) { - if (row[6] != 0) { - (*fb_buf_cur) = ((*fb_buf_cur)&0xff000000) | - (r << 16) | (g << 8) | (b); - } - row += bpp*2; - } - } - fb_buf_cur++; - } - fb_buf_cur -= png_img_width; - fb_buf_cur += fbi->w;/* temp patch - lcd resoultion for qualcomm */ - } - -} - -/*----------------------------------------------------------------------------- - release_png_res() - ----------------------------------------------------------------------------*/ -void release_png_res(void) -{ - int y; - - for (y = 0; y < png_img_height; y++) - free((void *)row_pointers[y]); - free((void *)row_pointers); - - png_destroy_read_struct(&png_ptr, &info_ptr, NULL); -} diff --git a/fota_gui/fota_png.h b/fota_gui/fota_png.h deleted file mode 100755 index 4d2a525..0000000 --- a/fota_gui/fota_png.h +++ /dev/null @@ -1,31 +0,0 @@ -/* - * tota-ua - * - * Copyright (c) 2017 Samsung Electronics Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the License); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef __FOTA_PNG_H__ -#define __FOTA_PNG_H__ - -#include "fota_fbinfo.h" - -extern int read_png_file(char *file_name); -extern void draw_png_img_xy(FbInfo *fbi, int x1, int y1); -extern void draw_png_img_clip_xy(FbInfo *fbi, int x1, int y1, int cx, int cy, int cw, int ch); -extern void draw_png_mask_xy(FbInfo *fbi, int x1, int y1, char r, char g, char b); -extern void release_png_res(void); - - -#endif /* __FOTA_PNG_H__ */ diff --git a/fota_gui/tdm-if.c b/fota_gui/tdm-if.c deleted file mode 100755 index c3a2ee3..0000000 --- a/fota_gui/tdm-if.c +++ /dev/null @@ -1,318 +0,0 @@ -/* - * tota-ua - * - * Copyright (c) 2017 Samsung Electronics Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the License); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "fota_gui_common.h" -#include "tdm-if.h" - -static void tdm_if_display_commit_handler_cb(tdm_output *output, unsigned int sequence, - unsigned int tv_sec, unsigned int tv_usec, void *user_data) -{ - LOG("commit_handle_cb!!\n"); - - return ; -} - -int tdm_if_display_init(tdm_if_disp *st_disp) -{ - int color = 0; - int buf_cnt; - - tdm_error err = TDM_ERROR_NONE; - - tdm_output *output = NULL; - tdm_output_type output_type = TDM_OUTPUT_TYPE_Unknown; - tdm_output_conn_status conn_status = TDM_OUTPUT_CONN_STATUS_DISCONNECTED; - const tdm_output_mode *output_mode; - int output_count = 0; - - tdm_info_layer layer_info; - - tbm_surface_info_s surf_info; - - int i = 0; - - LOG("start\n"); - - st_disp->disp = tdm_display_init(&err); - if (!st_disp->disp) { - LOGE("failed to init tdm_display. error num = %d\n", err); - goto exit; - } - - err = tdm_display_get_fd(st_disp->disp, &st_disp->tdm_fd); - if (err != TDM_ERROR_NONE) { - LOGE("failed to get tdm fd. error num = %d\n", err); - goto exit; - } - - st_disp->drm_fd = tdm_helper_get_fd("TDM_DRM_MASTER_FD"); - if (st_disp->drm_fd == -1) { - LOGE("failed to get tdm fd. error num = %d\n", err); - goto exit; - } - - err = tdm_display_get_output_count(st_disp->disp, &output_count); - if (err != TDM_ERROR_NONE) { - LOGE("failed to get output count. error num = %d\n", err); - goto exit; - } - - for (i = 0; i < output_count; i++) { - output = tdm_display_get_output(st_disp->disp, i, &err); - if (err != TDM_ERROR_NONE) { - LOGE("failed to get outout. error num = %d\n", err); - goto exit; - } - - err = tdm_output_get_output_type(output, &output_type); - if (err != TDM_ERROR_NONE) { - LOGE("failed to get output type. error num = %d\n", err); - goto exit; - } - - err = tdm_output_get_conn_status(output, &conn_status); - if (err != TDM_ERROR_NONE) { - LOGE("failed to get output connection status. error num = %d\n", err); - goto exit; - } - - LOG("output_type=%d conn_status=%d\n", output_type, conn_status); - if ((output_type == TDM_OUTPUT_TYPE_LVDS || output_type == TDM_OUTPUT_TYPE_DSI) && - (conn_status == TDM_OUTPUT_CONN_STATUS_CONNECTED)) { - int cnt = 0; - err = tdm_output_get_available_modes(output, &output_mode, &cnt); - if (err != TDM_ERROR_NONE) { - LOGE("failed to get output available modes. error num = %d\n", err); - goto exit; - } - - err = tdm_output_set_mode(output, &output_mode[0]); - if (err != TDM_ERROR_NONE) { - LOGE("failed to set mode. error num = %d\n", err); - goto exit; - } - - /* GET MODE INFO */ - st_disp->output = output; - st_disp->width = output_mode->hdisplay; - st_disp->height = output_mode->vdisplay; - - unsigned int width_mm = 0; - unsigned int height_mm = 0; - err = tdm_output_get_physical_size(output, &width_mm, &height_mm); - LOG("TDM_OUTPUT_MODE:name[%s] mode:wh[%d %d] mm[%d %d]\n", - output_mode->name, st_disp->width, st_disp->height, width_mm, height_mm); - - break; - } - } - - /* MEMORY ALLOCATION */ - st_disp->bufmgr = tbm_bufmgr_init(st_disp->drm_fd); - if (!st_disp->bufmgr) { - LOGE("failed to tbm_bufmgr_init\n"); - goto exit; - } - - st_disp->buffer_size = st_disp->width * st_disp->height * RGB32_PITCH; - st_disp->stride = st_disp->width * RGB32_PITCH; - - surf_info.width = st_disp->width; - surf_info.height = st_disp->height; - surf_info.format = TBM_FORMAT_ARGB8888; - surf_info.bpp = 32; - surf_info.size = st_disp->buffer_size; - surf_info.num_planes = 1; - surf_info.planes[0].size = st_disp->buffer_size; - surf_info.planes[0].offset = 0; - surf_info.planes[0].stride = st_disp->stride; - - for (buf_cnt = 0; buf_cnt < MAX_BUF; buf_cnt++) { - st_disp->bo[buf_cnt] = tbm_bo_alloc(st_disp->bufmgr, st_disp->buffer_size, TBM_BO_NONCACHABLE); - if (!st_disp->bo[buf_cnt]) { - LOGE("failed to tbm_bo_alloc\n"); - goto exit; - } - - st_disp->bo_handle[buf_cnt] = tbm_bo_map(st_disp->bo[buf_cnt], TBM_DEVICE_CPU, TBM_OPTION_WRITE); - st_disp->buffer[buf_cnt] = st_disp->bo_handle[buf_cnt].ptr; - st_disp->handle[buf_cnt] = tbm_bo_get_handle(st_disp->bo[buf_cnt], TBM_DEVICE_2D).u32; - - memset(st_disp->buffer[buf_cnt], color, st_disp->stride * st_disp->height); - - tbm_bo_unmap(st_disp->bo[buf_cnt]); - - st_disp->surf[buf_cnt] = tbm_surface_internal_create_with_bos(&surf_info, &st_disp->bo[buf_cnt], 1); - if (!st_disp->surf[buf_cnt]) { - LOGE("failed to create tbm_surface!!\n"); - goto exit; - } - } - - /* CHECK HWC USAGE */ - tdm_output_capability output_caps; - tdm_output_get_capabilities(st_disp->output, &output_caps); - if (output_caps & TDM_OUTPUT_CAPABILITY_HWC) - st_disp->use_tdm_hwc = true; - else - st_disp->use_tdm_hwc = false; - - /* SET LAYER */ - if (st_disp->use_tdm_hwc) { - st_disp->hwc = tdm_output_get_hwc(st_disp->output, &err); - if (!st_disp->hwc) { - LOGE("failed to get hwc. error num = %d\n", err); - goto exit; - } - } else { - tdm_layer_capability layer_caps; - tdm_layer *tmp_layer = NULL; - for (i = 0; i < output_count; i++) { - tmp_layer = tdm_output_get_layer(st_disp->output, output_count, &err); - tdm_layer_get_capabilities(tmp_layer, &layer_caps); - if (layer_caps & TDM_LAYER_CAPABILITY_PRIMARY) - break; - } - - if (!tmp_layer) { - LOGE("failed to get output layer. error num = %d\n", err); - goto exit; - } - - st_disp->layer = tmp_layer; - - layer_info.src_config.size.h = st_disp->width; - layer_info.src_config.size.v = st_disp->height; - layer_info.src_config.pos.x = 0; - layer_info.src_config.pos.y = 0; - layer_info.src_config.pos.w = st_disp->width; - layer_info.src_config.pos.h = st_disp->height; - layer_info.src_config.format = TBM_FORMAT_ARGB8888; - layer_info.dst_pos.x = 0; - layer_info.dst_pos.y = 0; - layer_info.dst_pos.w = st_disp->width; - layer_info.dst_pos.h = st_disp->height; - layer_info.transform = TDM_TRANSFORM_NORMAL; - - err = tdm_layer_set_info(st_disp->layer, &layer_info); - if (err != TDM_ERROR_NONE) { - LOGE("failed to get output layer. error num = %d\n", err); - goto exit; - } - } - - st_disp->current_buf_id = 0; - LOG("done\n"); - return 0; -exit: - tdm_if_display_deinit(st_disp); - return -1; -} - -void tdm_if_display_deinit(tdm_if_disp *st_disp) -{ - int buf_cnt = 0; - - if (st_disp->disp != NULL) { - /* RELEASE RESOURCE */ - for (buf_cnt = 0; buf_cnt < MAX_BUF; buf_cnt++) { - if (st_disp->surf[buf_cnt] != NULL) - tbm_surface_destroy(st_disp->surf[buf_cnt]); - - if (st_disp->bo[buf_cnt] != NULL) - tbm_bo_unref(st_disp->bo[buf_cnt]); - } - - if (st_disp->bufmgr != NULL) - tbm_bufmgr_deinit(st_disp->bufmgr); - st_disp->bufmgr = NULL; - - tdm_display_deinit(st_disp->disp); - st_disp->disp = NULL; - } -} - -void tdm_if_display_update(tdm_if_disp *st_disp) -{ - /* DISPLAY UPDATE */ - int buf_cnt = 0; - - buf_cnt = st_disp->current_buf_id; - //st_disp->current_buf_id = (++st_disp->current_buf_id)%MAX_BUF; - - if (st_disp->use_tdm_hwc) { - uint32_t num_types; - tdm_region damage; - memset(&damage, 0, sizeof(damage)); - - tdm_hwc_set_client_target_buffer(st_disp->hwc, st_disp->surf[buf_cnt], damage); - tdm_hwc_validate(st_disp->hwc, NULL, 0, &num_types); - tdm_hwc_accept_validation(st_disp->hwc); - tdm_hwc_commit(st_disp->hwc, 1, tdm_if_display_commit_handler_cb, st_disp); - } else { - tdm_layer_set_buffer(st_disp->layer, st_disp->surf[buf_cnt]); - - // TODO: sync or async?? - tdm_output_commit(st_disp->output, 1, tdm_if_display_commit_handler_cb, st_disp); - } - - return ; -} - -void tdm_if_lcd_on(tdm_if_disp *st_disp) -{ - /* SET DPMS ON */ - LOG("DPMS ON!\n"); - tdm_output_set_dpms(st_disp->output, TDM_OUTPUT_DPMS_ON); - return ; -} - -void tdm_if_lcd_suspend(tdm_if_disp *st_disp) -{ - /* SET DPMS SUSPEND */ - LOG("DPMS SUSPEND!\n"); - tdm_output_set_dpms(st_disp->output, TDM_OUTPUT_DPMS_SUSPEND); - - return ; -} - -void tdm_if_lcd_off(tdm_if_disp *st_disp) -{ - /* SET DPMS OFF */ - LOG("DPMS OFF!\n"); - - tdm_output_set_dpms(st_disp->output, TDM_OUTPUT_DPMS_OFF); - - return ; -} diff --git a/fota_gui/tdm-if.h b/fota_gui/tdm-if.h deleted file mode 100755 index 9bd8d3b..0000000 --- a/fota_gui/tdm-if.h +++ /dev/null @@ -1,74 +0,0 @@ -/* - * tota-ua - * - * Copyright (c) 2017 Samsung Electronics Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the License); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef __TDM_IF_H__ -#define __TDM_IF_H__ - -#include -#include -#include -#include -#include - -#define MAX_BUF 2 -#define RGB32_BPP 32 -#define RGB32_PITCH 4 - -typedef struct _tdm_if_disp { - tdm_display *disp; - tdm_output *output; - tdm_layer *layer; - tdm_pp *pp; - int tdm_fd; - int drm_fd; - - tbm_surface_h surf[MAX_BUF]; - tbm_surface_h pp_surf[MAX_BUF]; - tbm_bufmgr bufmgr; - unsigned int handle[MAX_BUF]; - unsigned int pp_handle[MAX_BUF]; - tbm_bo bo[MAX_BUF]; - tbm_bo_handle bo_handle[MAX_BUF]; - tbm_bo pp_bo[MAX_BUF]; - tbm_bo_handle pp_bo_handle[MAX_BUF]; - void *buffer[MAX_BUF]; - void *pp_buffer[MAX_BUF]; - int buffer_size; - int width; - int height; - int stride; - int current_buf_id; - - bool use_tdm_hwc; - tdm_hwc *hwc; -} tdm_if_disp; - -typedef enum { - FRONT_BUFFER = 0, - BACK_BUFFER -} BUFFER_TYPE; - -extern tdm_if_disp s_disp; - -int tdm_if_display_init(tdm_if_disp *st_disp); -void tdm_if_display_deinit(tdm_if_disp *st_disp); -void tdm_if_display_update(tdm_if_disp *st_disp); -void tdm_if_lcd_on(tdm_if_disp *st_disp); -void tdm_if_lcd_suspend(tdm_if_disp *st_disp); -void tdm_if_lcd_off(tdm_if_disp *st_disp); -#endif /* __TDM_IF_H__ */ diff --git a/packaging/tota-ua.spec b/packaging/tota-ua.spec index 9ace3bf..04c8316 100755 --- a/packaging/tota-ua.spec +++ b/packaging/tota-ua.spec @@ -8,9 +8,6 @@ License: Apache-2.0 Source0: %{name}-%{version}.tar.gz BuildRequires: cmake -BuildRequires: pkgconfig(libtbm) -BuildRequires: pkgconfig(libtdm) -BuildRequires: pkgconfig(libpng) BuildRequires: pkgconfig(tota) BuildRequires: pkgconfig(openssl1.1) BuildRequires: pkgconfig(libtzplatform-config) @@ -23,12 +20,6 @@ Requires: gzip %description Fota update agent which update firmware using delta files -%package target_wearable -Summary: TOTA update GUI for wearable targets -Requires: %{name} = %{version}-%{release} -%description target_wearable -TOTA update GUI binary targeting wearable target. - %package -n update-helper-service Summary: Update Helper Package for update-agent Requires: %{name} = %{version}-%{release} @@ -47,7 +38,6 @@ LDFLAGS="$LDFLAGS" %cmake \ -DCMAKE_INSTALL_PREFIX=%{_prefix} \ - -DFOTA_GUI_TYPE="GUI_TW" \ -DSYSTEM_BUS_SERVICES_DIR=%{system_bus_services_dir} \ -DSYSTEMD_DBUS_CONF_DIR=%{systemd_dbus_conf_dir} @@ -55,12 +45,9 @@ make %{?jobs:-j%jobs} %install %make_install -mv %{buildroot}%{_datadir}/fota/res/images %{buildroot}%{_datadir}/fota/res/images_wearable mkdir -p %{buildroot}%{_datadir}/initrd-recovery/initrd.list.d cp scripts/40-tota-ua.list \ %{buildroot}%{_datadir}/initrd-recovery/initrd.list.d/40-tota-ua.list -cp scripts/wearable/41-tota-ua.list \ - %{buildroot}%{_datadir}/initrd-recovery/initrd.list.d/41-tota-ua.list.wearable install -m 755 scripts/upgrade-trigger.sh %{buildroot}%{_bindir} %define fota_dir /opt/usr/data/fota @@ -73,11 +60,6 @@ mkdir -p %{buildroot}%{_unitdir}/basic.target.wants install -m 755 update-helper/update-helper.sh %{buildroot}%{update_dir} install -m 644 update-helper/update-helper.service %{buildroot}%{_unitdir} -%post target_wearable -mv %{_datadir}/fota/res/images_wearable %{_datadir}/fota/res/images -mv %{_datadir}/initrd-recovery/initrd.list.d/41-tota-ua.list.wearable \ - %{_datadir}/initrd-recovery/initrd.list.d/41-tota-ua.list - %post %files @@ -91,12 +73,6 @@ mv %{_datadir}/initrd-recovery/initrd.list.d/41-tota-ua.list.wearable \ %attr(700,-,-) %{_datadir}/initrd-recovery/initrd.list.d/40-tota-ua.list %{_bindir}/fota_gui_test -%files target_wearable -%defattr(-,root,root,-) -%attr(700,-,-) %{_datadir}/initrd-recovery/initrd.list.d/41-tota-ua.list.wearable -%{_datadir}/fota/res/images_wearable -%{_bindir}/fota_gui - %files -n update-helper-service %{_bindir}/update-helper %{update_dir}/update-helper.sh diff --git a/res/rpi3/images/dummy.png b/res/rpi3/images/dummy.png deleted file mode 100644 index d0eec47..0000000 --- a/res/rpi3/images/dummy.png +++ /dev/null @@ -1 +0,0 @@ -This is not a used file. diff --git a/res/wearable/images/tw_fota_downloading_0.png b/res/wearable/images/tw_fota_downloading_0.png deleted file mode 100755 index 9f1733c86d79ff3979582efa952cf9510883b685..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1221 zcmbVMZD`zN9FNR8d+x?&WvC1c867)qE_w2HN$lC(CAaogub$WAdf*(FOP*^(FE2~d zUaqpW)E739I)=McRva6S#~zMh7#7cus3kOSM{nZZd(ii5^`eZXhk{%+7$OYF`PQY^OiOV zOHeb~hdzgc7`Dka%hjM-cv99KE2%{?$R;HHr# zCintfa1}UZj?8&*d~U3)&rR!+K@2^C4~8-#uwbC!q1Ci~IZP9)yfRux#}t9DiUiYX zV$G;(p@=Jv2XQ{hk~$3lE(l4$@qz#baE1m9MWZ2*fRlMaW>R?PA&@rDXvigXUq=_( zrHQE^aAk^WwOYv*n{>QM3P_R^aWD*tBuKw)2UA3Vq!(-N1BgJYv-9&PIb<+cl{67-!JPe=J^?COG1 z?Cz{65=7R>PkAOviq=#eea3=zkXO?Lx=9+QA+rJt0nkMfNSaP^OkE>2rY@4a2pb&3 zNSpwc( zDmhkRXh8%(WSC4gD=A7Q%d@7x|>?fH^ zo8$9dFZtP(`wsm5et7%p+t-^5yT2Pf-UrTRk8-n#rI!z%=D2Qhubnyi=#`y!SG3r3{a+pI-E#HQGXr~F{`EhWPTzRyjuYd6n7O5LZ7>-s%wu)6mYN0TV2nuGildmSBYu!z@y5QDjyU;}tnoXwN*i9xT({8#a z?LkyL2;RJih#(670R=%&^x#4CAc6>@C|<;SQ78LRJ(L~{N#-N(^E~goAGuPVKCvq` zl42NUSMj7-q2nI<9NDp*zTcQnbvhg%g&LW`^Q2{kh{-v)jzH0~7ElFQ&dT|hXo6t| ze79O7wbCiw#$MV=Y|^n8P&C6#OvZs_FCqf!Xu@4m)`aOvE}R@DQ;;>^1#JkF#utSEuu2n`c4Cge+#+u2Z#A85lT3Ku(LC zoq-T2N*YSCqQIj-$UuS5&|Bf4q|1sfjDz0AQnk>T*DK~!Pm8XyY=e+M=lNEvm2Qb? z94_!s)3k&`5IAbVMJqnBV$P2a_8CkR*`XT{7yBS#wCZ??WLfHI_Xu84Dy!`XCAijbkycF6rAM*$MU>dv4g%U&Rjea_GX;Q4F ziR~p1`J`xOS^6dIxQ;F=B7)FXIjC7SCkb_nvxK_J$ts$c1VNJ&B=vbV#Anokra(y( zrxXYak}8ZtO@>lIHlV4hW*=MhBVzeB>TA1+b{8vdiq(w}Sp{;-sC!})h3+zPrb6t2PK|zh-Z4 z0l$s{W$f9Zo#oQ=K~y=Sz-VH diff --git a/res/wearable/images/tw_fota_downloading_2.png b/res/wearable/images/tw_fota_downloading_2.png deleted file mode 100755 index e9aca8e31e86611e2edc3eab60193509aa405448..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1225 zcmbVMZD`zN91rW(ZQY6;3|SA+G?igtN$$y8lkCoVm)y0dyIZ*)?3jp`OP=;(FE1vk zcP)ZlDaE-H{Ll)DU~zS*l)*r7GDIv`7_Q2wli~-NQ2k=D6hZwU*5}&0>W8uqh9u8R z{=eVv|NLKac`(!8-WF=ZFswZ_pk~o{0zExPTG4w|U6Rqz86@(-kTV=qG!J4i!zn^M zWoaWY3pHc>#oI7~VJ)_q%Ln=NIazlsN~_yYRm(+a42$$tT}>Z_0bYb7rX3|VZ+%YS zrV%AB@ab^cRba^+nDF4xL?)+CjOvm>^gW43sxl(5V4&eut8DvnHA?L8%4lBSrU`t< zBp8hnyH4fPgSg^&5a%hD)WZPafx^2_ z84IEW@^tqImYYuR5!-$vP$*<{RdZ=Tg=x#GpKHh353=xIH}VhcO>GltH?Z6T zv9jVpEpWV?}GR-tFU1dXKUSoltiWph7$ zmhFwjl?1CWVL=2yWSCeyE-6YZ&a=Fz5Dl#Hf8$0Yhv<5d{HJJ|Tc{H2)4dizi@hd- zHtHM?waB&Bm6NEwwo+;=SN*>D*Y#gnSFV22&adBq0yXWAi3oWlcH-Gbyk2+hwzRw(-t|)xr zw`=&@G4tl}uIaDtE*(CTdEw-{i7TI7dZtX}SKE*NsMQ|6_w+*RBDi=bxPPTsUOV)B zsB8HRkE0if*^Rqf=eQQx{qV~<=9~GS<_2G;POl%R-AUHE%!Sb8O2@kQ`0N@t{pg%{ z^~7Vz%ZO|%62E+ns zEd}vNUdq5Yl+vTmd=6VNY>TQS`mDZa7cXmhmsGKF74temV_56HqAtlFciG6K&Ymr9;d1y&^F`rXSzUU{`czHCh zY?B1OW@2Ui#JW>`(QaJO42XMOv{QBifHRB>c)Sb)T5!q@DAJ8?#tA&Um*FWNUcCsU zW~2xCxEQW#p_QK)vMik^$wHyvD$p*?$dG{JxC#eFIgy3a991o;=v2*y8iNQ;*-&&# z(Nw&`D5bO!%TFLr*N>3bqtOjw)vN{zg^VmpItg5EGM}%UYt7oU;_zQLHnlbrqdFwx z(9}i@8RcWJp$0~=yR%Tm5P8ENFcg#&DJN?3NFJ(IMD!Eriz}_9d77ai05aHixy5;;UxisU~%QziykqG&#_I zy^bB9oNFlCS8e>=*SzIJj_y~PzkY5!W?LxzFqzr&cGuA>u7hte)4N_@_1`eIotSMZ z9lzPRaPRZYw$c+HJ-T${!tV!G=JXck9be?9E~@<8NxhdHPQ0}EWz)&tmDA2_vtwyb z)7CB9uQA-?BQIx8hhw|HnYn##|H6uKG5Nu-k6bu5_389?rT(s?MzQ^huWcfuw_lo{ zeQ*N*^QqS^PnTPFH_bHW4(7^J9g8;=@yx|-O0LYG|I9JH_{Qzt2kiH^amx)``&&AP zvyUZzj5&_@51k5UXXos1?yp@$jjquYU2H g@O{VMoxf}!z#hIe^Yug{_DAJ!6bZ$|`QX6#KgY+l`~Uy| diff --git a/res/wearable/images/tw_fota_downloading_4.png b/res/wearable/images/tw_fota_downloading_4.png deleted file mode 100755 index 081e84e031e4d079211aba222d0eb2e3cea0498f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1175 zcmbVMOKj9e7&b|Pb|FeVnh(QjfdEC;?;fZ{lNLjV#8asSf^ung0@_OxV(=W2$Vy2 z5>=7w&t6zVgB;fz1+_Y@S3a^l9ExsgBeuhsp*e1Fs2#iB6r!MkCW9!)KmFl84+1~O zpVKPYN^GNMP?{rXY;L6H%}sfx&kvmhgKdiugowJJ9ZpAy)z0x-ycV0M+Y%49Oz2dO z-*&2A83i^b2xy`rcv%R6u8UCBbRB*GEW339s+Oi(@&M>uJX0h7gjIEhJ6dd& z;2Gkvd`ukef?4cd zE|eNFZ>*0=z>?xlJJ_2EQAEp5j%Qy)KkzL@R}h4rAwbjh1XXUhf-5%+K{L>VD$Ay- zBel!38(xNrqUIgPREBj3i>e_HKvRQiQL~|A7)}>kjuPrd9_nfbOuK`%Uy8MCf?SG8 z4ddx<6^u49#Yq##z#h}V@pD1s<5qGaP0{v=9Yli9kv~ju2)1Hu1-t1h%0Rwg7ZqF1 z>IQ^{EawXa)3);kP0$g{H3->PfKUwfEn%}QCgKu8zKmF<6+gGj*+FZ{;?%CNJa`V8-7wNB} MTpV$}D~vDv1J71_;s5{u diff --git a/res/wearable/images/tw_fota_downloading_5.png b/res/wearable/images/tw_fota_downloading_5.png deleted file mode 100755 index f015a4e732ba2e1eede16c7318f21ebae50efc60..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1217 zcmbVMTWs4@7dRpEO?U3-;;a zh8Jkjq=8x?#HMwyJr$wBfHByGi^?>KOT`Nt5@H~vF)^e~li15N9=IL1N#UW|1D5S` z@&A3_fBuX2jSLTTc5Lb(2%_eLEPb3r7|k#pHvLjj_Z+4JhVNGCWyZ6p{E<;5Rnx)W;rS9w@*H! zNXtx7qe4EB_f%N31{*#sHik<^W89EUYWw44U#MUL8zP+y?FlDP!W6a4tKfOG%~0gB z2^vpPD^8X3Bc$s3kQCw^Z6p97MKKO|K@`DbB%1&%lfbt~16~nCg-w#pi^6KYSyc*J ze^U#uQdA8gPhpsPy&kV~an~PXfGo=q2g}mff)1t}q=&QsJl>jurU6`j`EibM+% ztnw@?^CIM1JZs?r%ZebIlw_`71R%>xY!b)<;Io1XG)dB0*qjp}-7#QG+rrvSZ1T2P zMfIVMT)*VH6Rj#3skz7vYOY7BMUmV(YB{D`4|<{$t(;hczO@IM{l06H%Q050HS}4I zOQthwmQ&e;C;=d`Y&w&XRW+RvI6+dWCf5AFabvJUOjIQQDVo+6uEc1%+5&j7+C+I}r`IdanJx3%UVYfu^kx68 z7aM-V5sMzYqOi*n%#fq(fb-N zv|XEisdjKSSV&AEIPAsJH}wc>%H`P?H#R4d)KlWJD0A|>Ida|_jEnid*SZ3 zc1`$#LIQCT78#ltCa|a>2Apw5qhv7SU=a*5qY=>$#!OTa6XOTJ>C>&9epvY6ZNaL_CmQ1uY@`^PgF zswyEY?MsjeQvi9jr)+`#a&Jm556YZ^bw7>%T8qyeW+kq0QGsixJ*(M%Ca7c@v$uR7)p~AO_1V-iyOUdy` zF;>-rs}PoV9Fr%AVzKBcdOe0UKu{dVRXAuGhZeX!qB~Lv*X?aJ1`*h@rJ9av=xBve z${IsX2!oz3A3-w{i4|hqt_BK*j3`MaL3v0*(<sA;QE zyNdPR7t0G4kQ~EG8AhR21$}wLG3>lyqC!85?o6w?VifJpN{W_GECNd%21?8_G;}G( zyt;}$?e+S@5h3aoXp#+3RDh<#kq9RU;fT-c3kX;htNh=%5zrx`QY8N=n%Wku#L9G~ z1>j<(iGU6}$AT^L#6=hE*9UgQ#c-;0``*6q+%J$DUp&7-S-0<+>*=;#@2=T(v*C8b z-Sy5|KC*jFOPf21wR8;M{q0=ic(3c2J$2*2S?7x_6LS~-iWJ(rv2QP4`?9s`ovp3k zMCT?q*H2%)fy;m9gQ@F@mecI+Q^!50+GH%-+sTYc}#9^#6P*!^vBDMM<+LYwJMCB>t?;)TfmL;nC%5~|ez diff --git a/res/wearable/images/tw_fota_downloading_7.png b/res/wearable/images/tw_fota_downloading_7.png deleted file mode 100755 index 023aa8e9e491d000af66b8834fd19019536b953e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1188 zcmbVMTWB0r7@oK)A!(qELTid}n7mkZF6Yc;XNGLk-I!AlDRlD zaX0b7O$BL0r0v%FQba+;DirgkZAC0qq6i{QL5m_*5q*;SpgxH8Op=X0gg!XT%(=|} zegAj<%dAXIJT}lb)JIX&K$tM9O%85yssHoG%`Gp6zj=!Fq1UR2vd0{urMfj z<}9vY(^-7-Q#?XZ8Q-nelX`hvvjdMcQyaGBg#=AeBcrX*wC8XFEIjM_Ir`U2AJV{e za&%29^W{*-4fpU;gr}D#s`k>HtvdARK`_$N2!V$a6STZ}Kh|0~dV^OZ^K_e|!G=jP zm!mgD)yq>r4@2$8zyexgOt& zVs~dpsUcCLO-3$BiaBot_JW7~q-5l1@`ZI=M-yZLLue}uR85-^k!3O_vJ^&A@QjF% zD#}>w^6Z3%2+6RRhN2i*YgEQkQANX!aDyqZX6NBrA6|eqUmmtN=&EQEkG9AO@w{Y zIT2}*p39H_MB3}~l98{rZdiZazCD_GqrI}+cWnLSYu4H`=-vM7N3R^edI3}>)!qGf z-O7Q3{kJmw*PZsYzlRSEji0+ebNBL}?0Q>Ri(cPXdGW`-z0t0o_isM9-v0LI->!Z# zF(mT&SMSr$8ntgee)G8%tG4@>!TJlApS}3J^YXsT>fo6VhE9Cf>GbHQzIr-*oBrq# z<@)#W%HZkR?QleaiMVR_&;@#hvEPL diff --git a/res/wearable/images/tw_fota_downloading_8.png b/res/wearable/images/tw_fota_downloading_8.png deleted file mode 100755 index 37f59ec85dd0808be24309d42d4ddcfff92a8883..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1273 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 diff --git a/res/wearable/images/tw_fota_progress_001.png b/res/wearable/images/tw_fota_progress_001.png deleted file mode 100755 index 6ac35be0ae8efd9361bc8d0ca709edacccf3f38c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 899 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{DzdxNitiF5hQa)ui&j>aWiv*s>cAZf*V_FT{fp1JiG-srHNolrVm{*>>1 z#RTE=Z*Hhx{(1c7<3*YLyJYr7sd!q-=%0S^WL-~s`PnCDH_h1-JN4w5w~`6o%RFBh z@5}#tq^15b+gZDvUPix@@2W}Ko^kh7^E}4?*yQBfu*;xu9RjKxIWjOm9$8Ipx-v%cup`&)~g?T-SfLsR$h+NUcL7G z%e?i=v+6y!@16DT*Yc3JTlcQlQQv9Mvf|2>6C0QhY>?SqSiaorRNQCR@9xVt@7#1b z_HRUK__Y4AY4P>He?58l{^ueI55HI5j=|BPMwJh0EH7z9b0?=}EAA{YJ-YSwdG@Ki zLae@feZOqpq1C@*^|*$BO@#GSElK_fBWlM&pK#kyjpet zZt61uv~xAP<|SbcNf>})jr`uFBzZQJW+?w4m+?+-i|e<$ON ze(vGeF*%^wr5o1@q2xl?E)|-GB9|$`njxgN@xNA4yg0U diff --git a/res/wearable/images/tw_fota_progress_003.png b/res/wearable/images/tw_fota_progress_003.png deleted file mode 100755 index 8d62ed9251f2ef707644a7300f964671b041d6e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1085 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{DzO->y-LQ_{*DFm7tV!l;cQYk z!O^VnmP7W13pQ$C)lNQDIX{UHi%|thhMMk z`lcc;ZmH$n!N|+|;>G%Ps+N~La!o%ami)Q*b^H8t^KV&g4HuC!eYWn}8-@?_U*v7s z5OMk5txf;0@H)@jA8H14(QB(;tBpLb%iMma<03XqoLMSuyQSx8nQAsMC63eGjJ%s) z|7)Ii`?GA*)8h?oH%rfN{P*&=@X_C`9EUzVQdK;&VAU%5@7n#}a`Rr=)~vpEHCRk~ z_pL6|+}S}>Ue{lKSJ7OV=x~^)?k7|7_ZL^ae=p0Q^4j`%_?s8Ck*_VkY}@wyLB!hX z_qP_UEspLgiVd{5#}J`&d{T@@k?Q^b0y3UKXSamq+_1Y;_29|JG}hG2j|h($ diff --git a/res/wearable/images/tw_fota_progress_004.png b/res/wearable/images/tw_fota_progress_004.png deleted file mode 100755 index b4cad036dc03f611dda993a7dd0e2739107408ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1136 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{Dz*bTGZ_oE83K|OK{gmZjbUu%i<5}Uz{7u zCf>Tr(d3`=!H%$8?{ZdM@wGxdGP|EhX6 z-`90>|GoIwTf8zq_Qd3O@#o#2O`79dq;)c6lCfu6bl2%>KS$?gFU`nO9rvJ5f4yJx z@8W;``tr-Ob7BI|`z-zUxaiXkze#bEygm1Me~RXwSlO?ck#XZhisi(V@6zp6#if5= zm#i;;`F!E8S0{Is*H)!!rfypmGilF*oQAeupJ}^2!}h(c`T6{uPx=2B&r||0oVlK9 z&7h;IJo)Koodt6yFOib7T{WX}ZsRuQ145gh%6|KEse)@73oGwgsrUzf{@VOy;g4Im zU|}Tp-sX9){6fC|pVYGNxul87i+hbXStUQ06zp25WHeI>= z5A*lTY@EbRpiwZ4L*T*T&-(M9RQ&ugnc*SG No1U(IF6*2UngB%eGvojO diff --git a/res/wearable/images/tw_fota_progress_005.png b/res/wearable/images/tw_fota_progress_005.png deleted file mode 100755 index 336dfd0b8d72f14a2d5f81c42f9e90b1b373e9a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1153 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{DzfweKzcXEfDJd7v~Q$GBU}DWE4{}Qu`uDid*4ANsrle0}CuHkfP**?Rv`Tgg{%{%85|2*`xPW*XM z9uv@Y3=FduM_V)a?3}40KG|k^itfpL&tsv&j6S=Aynea+?YldBw*Jc!?@5!MtXD~& zv}bxs{@I!<*RSv~TwXP0(!rP3%V*t;m0uPs+q>^?R?YiY8|-(L**%W7|7-r%ZPMod zefg_emvXW4it@HSeXX+IuA;W)_w?P1kG9tB{*s#hcK6bhJ@ZuTpVtM}PkM508XHLI zRGzlf^hr-u{<{0c#Ad#awY!`vE?)K8TyI^^?W=c}PT7{ZXJ5ayzl4?~&*_IM;%bqb z{~i9i^eO*0c@H7hzdv4I*?ss z+MHOabkbW`&-(lGjmz%#*yQ+gNp17cOiljt_oejuHFx)v*e?F|oinen>hhtDx;LBK zbUz)q_i^F3Q#ZvYFZurF&ZjdE%j@P?ehAyXIsN`;PvhSco^CT=Heo$)!133fekztz zo~-O$ZT)Lz<f%U#etI(*I|1ZO#f|(FCi~$!FAmTAWOp^!1MY zr`Ss+r~1U>et$jLFShR8uRqT|&QfIbnCDq!baJOk`RD)tE#+!wur}zL&VF)M<^452 kNX&twZ81CZA|UHx3vIVCg!085ZMtpET3 diff --git a/res/wearable/images/tw_fota_progress_006.png b/res/wearable/images/tw_fota_progress_006.png deleted file mode 100755 index 797aeccd1073b99252743710f31e464e6a2cbe6a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1175 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{DziKdBRyML|BZHL&!5d}o=@I0`^m~G?VDMlcNq_;#c18WRi9#c^2h$; zyUed&dv=bue7~)A&F|x@J$D9Ait+mtIO+W4lGmN7t0OKH$Y+$F+NUyi_gsDRy2#kQ zCA)6^{q^`xWSqyOsVd7S%e)U(vNZ@PXV{?0Ze|tfYjZP4)^g(UwE9y&R_?rd@ul@Zzh_nQr@hmE`t#d!gXI2iI`eZ4-vYaSwMylam7QoEE4wZ1bNQW)z4*} HQ$iB}Obkd1 diff --git a/res/wearable/images/tw_fota_progress_007.png b/res/wearable/images/tw_fota_progress_007.png deleted file mode 100755 index 9b580225fae481705a4634b986782a0c0fc11695..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1172 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{Dz%)++D!RU0ftE-p{ull{r7B`bnfodC6i)2KIKe0mvNc#&cRh$n|)>HWv{w# zTfNl$^QDt@zxTCo>;83JC0})>bgoy~D$`dC2j0Ch+d9KhP~9_X<*k^=TW@Or9lUbw zRqK*hQImo_@A-fFyrQV6noCN}WBW?KN%50xKIFgtJ-z`{N~Zy|C&;} z4|EEv9S-(9r|wx@RbT(=<@Nou>)!P;&zx!dM?QI<|ECYPoL28w=aih))OPZMXOYdx z)t-HM`g>k)Ts%F^ujWhi^9vK*UtfFt_vzNwYcKcma270|eg1*HOt{gHrVUp7=l&Ny zn7e-3?)Wd&cb8?YTiN|{nN2g3#Kdaj9gF^Hns@K2{qXPW-~75=Hr2l_bTuPz< diff --git a/res/wearable/images/tw_fota_progress_008.png b/res/wearable/images/tw_fota_progress_008.png deleted file mode 100755 index 4276f1c5401406f132fe8d2ccdf1e2e1a78f7c6d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1208 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{DzyLFnw3?R%WQQ=1c#8mf=hQpN5@=7*3Jj5 zF529R3SwfjEV`B%E?{(=7!k2VP(-^sbfU%X%`^Y%USrkgRB?UQ@!96Gu%Di9iCvRbtQCgNO@^z)kc9YqY!Y(s5Jk(yghJ2eoss{&(Z2Bh z<+YnCKTT9gpL{1WTQz6M3_v`Yh_xX0Ec~7t04!<5%y>vxi z;s(dVFDfmj2cGi`O55J=|F-^Nz}l_ltwx26TvBcaj&0qgGJD$Y_4jA*`gS|j?$PT_ z$>*h)PPs9!{rK#*i=P}Ol}ANC3tui*{dD$6>u>MZF10P^EdD)B?DX<*E1CN1c~%St zA(uVZt^E7+_3wC@`+GnATb+ExEU`&4UPa-P zwy34E1^3I_ZmzuVY`$d5%KdY!=RaAt^k~tx#vTUcT*Z^_k^ieUY&u?B|TUzz3d6%yv^B?m&lb_sPBmUKxH=Xf; r{4GzpGso(!Fk^pIWN3zf#4dY=;%kd;tGsI30rG*TtDnm{r-UW|U)on; diff --git a/res/wearable/images/tw_fota_progress_009.png b/res/wearable/images/tw_fota_progress_009.png deleted file mode 100755 index c59beb5427554e8733ba2bafd784bc7d5a9ab946..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1222 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{DzQ%eN>Lpl0xXSh zvlMw;J$7iUb}iTc;wa*%Ec#H1jqB7xDHjQ;-+cS&DHl0*MFV! ze9q@NlYtJz4Vu^7e9v%r*}eA+2mU*0pEUPeHmPQ2%Fg|T3~e!*s!ONz*w()}%lq9n zF6gS)q|2W3Jc3>q+cZ23^*Z^ZJ+)|4@VPD4OLOWTKauaf{Z7l%Yts5jcP>BgU_L7< z@M7hvRVK44H>%8@ykuYL^%p-Lp5OHHLG|-&^PHQLpG;P9pM2-W^##nQj58K2FI#?R z(v!C_VcM^v%dWV~SL})oU3qT)ucUIllKDQLswb`gEl`~BazUeZrRm;f=C98Fda+nP z{JQ+lx|Nl`_X>NaO{$rd@?7efbVlfYW`@_nyMw=}{rr=4U4MSX^Yce%rb|D4lke@h zZCcQ?)n1)H^-C@|=&z4G{b*uszp2{2S<&|jz8`)MlnmFtVi35Xaes`|>g+pP-Y$H1 z=S}JLnx<>G7ctH0~}gsX=c z-VQK4%J^sYQI%@_Gv|GE_tx*2Tiku$to-fjpw+p14$Yg{`tsG+ty~s7AU8br&o39cP`$nTrRg`@sxU#a(nfgI}KvzMt+{c;G7dZiGS0luL+qs_lv6@-B`c; z*4&_fWil^{-5M5_)lZV2G$mx~rK%@OC%^6Am416}(Vt7FT^W8YpZa9#nm=dPUAY~+ z-$!od-pEF_2>UXXpBCEnTbUE)u1vasJ4uYn42=+AyWr}ivCR9qkgqhz!Je*uF6*2U FngD5+Wn%yU diff --git a/res/wearable/images/tw_fota_progress_010.png b/res/wearable/images/tw_fota_progress_010.png deleted file mode 100755 index 160f583b80904da21e4c88cfaec34a2a1b2e2d93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1232 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{Dz^`;)JEsO2UD7^ZUcI!Wdg-02H*@QfQ_4LzO?gr=$?vQndr)XOL&AsB z>ZcBq_&-12l=*-8(VsV8mi@n??Ws9m-E!6wA74TCNm3>SvAgzO@+wj~`EEbYmRn~R zI=f%m_xaxG?&bb{)8^M#D4ndCmVIT76VQPN4pgh1Y^;~gc{^W1s_x~Trwg6=%O~xb z@Z_z^;@6^i6D%E>v#-6Ky4N$#|599G((21HyWU?kanFm7vibaOpN_8GyeF4c;@3K# zX?)7U8?!mc%S-d*p+7#8W{2(0d+}lN+PC_37xVk??zKHxUjL`PKBbxM+LBeP7EfRH z?QZ?kM?153{m6cE=kiS}Q{!ka%fI!hw>9=WVz~CISEXO&+M1HP5c8K5QuV zPaykpB(NwGW^&*)tU#Cq({LJ41ot)`qh4uza^a4GKa<;A z9IkJ@_4J%d@z3cGqkDbL%dP+{#SbJdID~J#mFhjI zd~#2GQQ+D*>6>32vXUoj&-M4eHzVlX$yaatifvEHc;po_#0GkKPFkf?8s}N`v+7&V zz5gM(k8VyDUv+v}+N7E}Pqyi)@!2p-y;#=#od5kkOKts<`fl{?O>1{PTzI(MOLKm?Vc~C`dG99Uli8l@*7)cD&3*La&-bf8zHI#;@i}gi zE%)ZD7xpKyU&x+4dC&YMODv<*=KcRLIc)co?&IQX%VxeRS2$phtx~DE`u{_XH*de^AR)z!DjftN&=6YBa9D5l UZ07w3r9sZ|boFyt=akR{0O6r;_5c6? diff --git a/res/wearable/images/tw_fota_progress_012.png b/res/wearable/images/tw_fota_progress_012.png deleted file mode 100755 index 9304d6c230085689999f2acc7c2ac6337f78e7d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1229 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{DzUo=p(b1#Sc-J5CKt9_LW@$g6&EcsjF8< z$Q*Gj5wI7~?`kSF5LMq=B6LJc!)=4=HI}p2ZTZ5FF1)65Qu_VhzYk*L<}v>-udKLt z_@N5WdE|ftVUihE3p$@~9sNn3gCoZqwXSAU@-gncaCkK}mGk)0{ zm91B~{hr~)b)}EaE}eStrF8bBSt(|BSMFN>MPw@6_aLXt+k(e>9+2gt0fE#D*Df4 z&RTl1t>0T*kn^p1YSF(FC6khuPT3nRyw+06k!Q+;yGqF zt(14GtIYU5?_7WUd<*x#S(A2G?X^^wGTC6Ovt+mY-=gQ=mtH%x`1i7F`+mJSz4=P% zq&vk`%l7Qw`jO$+o%z2{Z1&9ZS}AV(``mNkw^9E;-nn1k(y*`G;I6gBs~3;m_uaU- zZtlmj+BGi&7)op>yxS{X`s11VyjMqqr5OIFZ&#~a_ELbHWHYLV?jd0NjGtrgR;@O# QZaI+Mp00i_>zopr0L$lX3IG5A diff --git a/res/wearable/images/tw_fota_progress_013.png b/res/wearable/images/tw_fota_progress_013.png deleted file mode 100755 index a158ad04c96e96135f91600f1f33e449c8cb6b2b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1217 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{Dzat^c8x&KGPTUhHGJk=TW_#@e0C>$9{ahXbL9`_-uwL6 zx_vUxb(DhtK~q!e?B%7FWy@uTP=ZoZQcm8?x;>**i$L2As zzE+L(T4^nJ;9IDd=kJipjdwMd-qlPkdG`G2*GX|cMuFw~{zrwDGc=sdDnC{1d2ipt zCsX6s>F%jnQd#@%Ptc^5D$8G=xW>&TCBgC5uTt$~$)ts|_5S^PeYJJEob12-Q@1p+ z{fgTiylm1OpG$v^yP8k?;-dL<_A042UAupJvRqL2(%hN*>E_9hO8xCx&s8KddEeLl z?auD~&G*jhQ($Ol`*xKSe$9*p`Jthv`~IBVEwAId|I_1Tc@j78=Is4=)hqdYW7wo% zPrk1v3H?B2^Y2bwveTsa&xK28J{E^g-P)VCA}ZNBdi~r;NvYfB)0Rx`ReNuDZG|<% z0o^|np1f8$9(I2I&G5R}`weXBzMRYX@Ndnn(&K&4eh7DK&lUDpoq4-yj%^~)2X|kV z>^~C`^Y6o1_H}!{9x9(bV~M``w|oCRCh1qpuP^txa6n1I#0=gU{^)b+p43=BAx>6h+KuB$5j z_IYpU;>x_^&F;HYW1r?sIu2Ab{}m6%hP%EhJ7+EFv8jJ_yDa_f_ z)_wWC_`?go`pwKQ^xKnHi&2_xM)lJy1XkRa-_^L)_4f1qyFhk$y85}Sb4q9e0OrAC AU;qFB diff --git a/res/wearable/images/tw_fota_progress_014.png b/res/wearable/images/tw_fota_progress_014.png deleted file mode 100755 index 2f975aad552b55789eec859ceea4e1c28bf3e383..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1251 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{DzB5k*T(M5!0xwhCF0T|B06>lT$Q(63NV~$)3;kGiBoOaWzT*2mG3P-M9bR5?>S>mg1guK4}fP}$;Fp@{;zsf!f@dK z!kb#no_1cJZroq5UsJrx_VcrO`*gPWt5%wL?iQ}q4tx((lw}&dbmEe!PbSviTix4p ztvYXC?!LcIFK$%1JxONoty=BWMz&p1n?tv${8TyF94-~SzqERKKb^V zPv-Zo@Bh@_N98$%PMem-_h#K$|605GPadkouPJ?!6|tZ(?_10y{@_r_s^6=PZEwH3 zz41-YPWxy2`)bPHKU#l(zJF2vB>C%BMN4xE8DdvYDY7`Jt*L6f{{5|uCGVE!PoH~b z|IYFk4^Hm9b)lDe=dt>vjSkGQt5>a3sWd+s9hs5-?5Op7jp=%SHr&}0^?BJ#U;jN{ zaweU>wyV$-Xx?kbsZai@{C;Jg^LMl1$J0l@e2IN2(|6f(-o6hNrT<<%UE8CckzlLg z`Ayw&=a1hzeT~=K26&%ZS}$3yaq?YW#2m(Jv)v}WpEPA(`#ekQnmsyZ(Mx%@d+n}V zwCBQ0i-z7jlau+LryksE4n7+;GjE=T_3nqe(;Ipd(kJaynao^${J5UHGuHvr#PCT6 k{oJXS#70e`N(g9w5)byMeSsutdPgg&ebxsLQ0M`_C%>V!Z diff --git a/res/wearable/images/tw_fota_progress_015.png b/res/wearable/images/tw_fota_progress_015.png deleted file mode 100755 index 0f43b63f27598da3fdccba04ec0a56831d555150..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1252 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{Dz&3bU4+LUavX`yAu&Q^^T$_Tu~#e`}7Nw)`;npUk}H zmgXRL(grl#o9S0nzF(PvElyK)>69lGl2SLz-=vt{(eq53w8cyF?>T0Pn59$h)NSe6 zZvFIg+43n9ndhHd9;WZvr?T?b-R*O#_A@h7J$!Iv-(2sL>YnfXC*6`Qznbm5c4_No zbvchu{*x}(^2W3=^5#^%^}9Lu$zhe~_5b%4zE=({|F*kCzvgqrBxBFIH}3bn%${tN zd+`6lyD3^H@2UI_kJ(aD`mz6Ir`z}CGf#WUc@-^mugqTc)tVt;?j57@A5+UW-74^# zbj-JR;@{)XR$qIO>v_-r(hUuLUfzrZ<5iPtY|5V;DDHmlH#fHUDR97cNLhWZuEFfa`yc6e4cvQG;Q(vh-~NLPbZ&UxboTaQ&DJW@asF}&Nj_#W=n&- zR;{v{@ucN~gwjR5YRlREI(Rc4J3x9q0bG@G0&52K*&pWd20H@TADXUg_ zO`1Mw&YOQ`yPuxQ4z3SBc_^#eYi*!>-Ph)yx6U38H9Mf|JpU%+?3+Q89(&G<`}OtD zx2zRkOCRrZKOTNJFn``ly)(8~ZOeak&l6d9NSQA|z-G>qkX5TJe|_6-{5ALcn~1ct zS5>Mf?WxQR->PW$*kD1UWeDy?z=cl?!tEOCfU%}A4 zddj4?>Zg>2-xe*rs+aoZ=i|F7swWrLiIrU4KAF+1A#8V#N~P+_&Drnct6n}Vv8yb% zJb6zg{;TrrCN{RP)v*K0b&(_VU`8;zT!OpeSGizlH0p3-_^d`%DlU+`g#2irIYu9 zytc1;wbC#D!hr=pEl%cCX-C$4+$XEK*ZZ{}e?L#ZoYlRPS3^&1v|@@|yr9w1Wb%{C zQ|0$d?*4P^;roBN6_;aw&pyjO&u3C{Xz1OK^Or}b9%bZNby6jLQqJ9PuWp`~-tPA{ zvb-vDi(5g-2c*hedceglaIUI-_Q5-eL5$ikm1gx zC#O}Sx9>HpU$?RN`;}Sgr#;gq@2N@Lwd$|CD8r=ZlcpT|Hd}w2-x{55x0Y_X^)zI4 ztlDo`o`eg$s+Mz?^w^X=IUKgz=4zI>G+P62Qu(ColYM{@PlseSY6X@MI1vArlc8?a TU8}>pB0$ofu6{1-oD!MPV diff --git a/res/wearable/images/tw_fota_progress_017.png b/res/wearable/images/tw_fota_progress_017.png deleted file mode 100755 index 0853460650039752eb62eb6f75f979c841c4f892..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1232 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{Dz^#yQu5c z7AIw=^L&X7U7xo6^d0m0cc(qcm^A-Z=rIRootP1qE4>Zi(i)st6V`}3w1)-4L%XI9|t|9GGJEoj-DSx+rkGH7Y`TYyfAtAkAZ9V0pU)r%rJxHpae8xwbRP33{iwk!#<9RUfRs$S&>L6f;Kz O6bhcMelF{r5}E)V8f9|; diff --git a/res/wearable/images/tw_fota_progress_018.png b/res/wearable/images/tw_fota_progress_018.png deleted file mode 100755 index 00d776e8101f8bf19c90985f911c7b7cf4197808..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1238 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{DzYXw)6VZe~u?u_grp%@>#O}{pWq>jcslI z)ambM0lIG>LBrcsc5j#%wl%s>GMOABTc*fh9i^$dbc#=1)VI5JRS#F+IuT)ha;E(} zW&;&r`RSc2%Pj9^O`jUJd&*sR|EVf>Rrq-~IfgS^b0*Br-s)|9vfDGx-{|Y}L$^Nl zp8HrmE4A`vjOJ61P~K%*udx+z9Wc9=HGS1pz2lQ==092cXRoFD$rHI}FD5Vdnshic zR8}S=j#p~IcJ+1hZv1zhx@Z2AeP^4>6ZBPQzF!x!dVOu(v*Yumz3TGp>V9lh(f>Mi z`~0&E)@Kf?#9u$AeqH^X-nwP0-u^uP%W0DN#nX Z4_VfgyPe(~aMJ_%*3;F`Wt~$(69DW4W$FL` diff --git a/res/wearable/images/tw_fota_progress_019.png b/res/wearable/images/tw_fota_progress_019.png deleted file mode 100755 index d9a4e8cf05e126d172fe73e29884997805043231..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1202 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{DzcEs_~LtEVkv$>bXu@B26ncG*1X{R1KNla$<7&_Q`B< zPWgfDjefk`zVpRZpC5jH z>Irn*U;+)Z-}x2&kK$)E_>{GF<<_*CWqCJk{$5q@{kZa|%KUqE{0F3F&RNO7E&cVz zZ!@d5+D5;=vG05Kr2CU|q|FwbmYpk*aAZsR>u)OWRd3E;Qu(_!HtI!8<`|ZjdXAmd^r-Jw>5Ar+@CW#78 z9(X@#PW0YwcV3*EzxRiEs_Dt;p5NA1*L>gWdCzy#h4*0#L-QNzpC46OKKpjrpG`l1 zTo3jP^3uCHYqF=Gu1&Pw+P4)9i&xKlvRq|uC;xN%S+iE2f8tSU&Gzopr04Nz%<^TWy diff --git a/res/wearable/images/tw_fota_progress_020.png b/res/wearable/images/tw_fota_progress_020.png deleted file mode 100755 index 9eb04864407b1fefd5164746f18ae5818d67f03d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1160 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{Dz zyF)md$0U}$t*nV7b;m}rtBdZma67loS#5mgw$juND`SK5IYvgYuS+?tOHJ{qam0Nj2FEG3=H}iaVcJ9r|SCXPP zR6n^=H0k-IH?g@Zn%E-t&z}?%x3fCE=I8VG^*P*mmKL!ueN;|%UTxFLXn1HbTcx>p zzR$L0YTL@K^ksb~J&t@jzXWKL#W{7!JOA_k-PF0i|DxC%xvG54lg6HLnWr@~8WdNo zy6w5oZ*9uUSBJiC%Sr!lU0HC(@b8Ch59(hA3~ jy9aZ+8X9ghnDmb+?&r*FUEY7)KrZ%l^>bP0l+XkK{FFYr diff --git a/res/wearable/images/tw_fota_progress_021.png b/res/wearable/images/tw_fota_progress_021.png deleted file mode 100755 index bc2cfeba9833f322677c3e41efd29a1ed7fe57da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1143 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{DzEG%8MHaTHmz``nMu3&L_PSI@d>d*(Sav;O<<51&?7Rm?1Z<_mP# z&;e#guDIzl7<|fFyK-yV>!VhG|A^bqeJNv6Xnpc-`t#qKuXigQcyY6A<-1j?@25XW z$>LKv`RdWlck%P*cf{0 zbL)y(c?~MWCp|g%^!#>{)+l`+|7~S&ye4h`eU5#<_<<9<=PW79kGV1T%F|^D>E9wI z?U`t2e=FbuLvy+P$*=C(rwGdh_nyoFO$|D*yex`6}+$`$S9*6#SX+r2pOCrMfTI{ktXd=FGmS zD(s)1tnS+n^pE0-t=}fa_)dB^clP&RZC>xDPg;NaO7VQPnVz4X??3+U6|aF!_@q7C zcU9zV+WWoW)02k}x2Dg(??2@jdj|v0!OP}X-uisHdgI$m{%x_V^m9LW4V{!VcwG9S Z|G08oOG(et{|`Zq@^tlcS?83{1OTR9O<4c{ diff --git a/res/wearable/images/tw_fota_progress_022.png b/res/wearable/images/tw_fota_progress_022.png deleted file mode 100755 index ee2a9789b7abab83c9a0cdd6921e92983e7e82aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1090 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{Dztu9FmeNA{T znF-xh5JvAFZ61GHK@fYVrM7XP@**69T$s$bzWz+qTLvEO9@6upB~*eoBR51y_m}ROJ*%uu5)_-&ZM(yEE$T??x*jmET7c#$CB^rw^irm z^lEmNZL&T&bCb?{@uNki;nx!U8p1XjpM1J*^K`Z@rRS%Na0$kJQ4@#9XViY~F!{bt+g|+MHSRDz zKJ}9Ufg-Q7vbm%dY&M9mb+6g36R&F;@BQ-d>GLmN?w!2;^W%~I z77Vi%>Yl8bR2rREQyo;Yu6|yM+R2hhFL!=E`rLFb--4rW`<9Ch+2lh{hp+y@Ys#3D T-k!z03uLXQtDnm{r-UW|lvEka diff --git a/res/wearable/images/tw_fota_progress_023.png b/res/wearable/images/tw_fota_progress_023.png deleted file mode 100755 index 4bd3f254b3dad96fbb799da26d77233ea469d415..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1019 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{Dzzx8w#E~y2wcmLST@rnF4$>++~{mxIf-sJhVd$Xs}rAGw}>Nnd}B)@#KGi^Qf za;M5n-L6Fe7Z~0~_)p48f4o8S%FKPY{f*|OL^(2VN!Io3ySFE!CQ2_~@2^DOa}g5< z>uZyj?EhG^Ni!sFm!;XAdto50-jiPaJ+0lla^vO2N00ne*|~55Sqdkp&)NQyfA~iGU0z>Za*bDQ^`DZyDmi`jT%6nnnS(TM#_rJ|{ zdipf_ugcQ-Eevme&QQ7fY<2L?{}0}8UaWL;?c}$M{N_HH*~FG{{UeeNq${<4Y#Schsh#}w||9>zIt*vFMNd*kAA4N zGAr+e#bzh>=!knpZjU`!RTAvT{N;^-=cYfmN?KoioY%zm;%4BaHP3yYbKmM>UQoZ> zGw4~m{Vu1iK#ADNDobr+OIug1P6nE?S# zD?02?^W2ox*ZzM;ylSTLohU7!ioKqncGOhW$4%d&nR&hRmdbO_Th9Ww?s)KXm_{(E d-fH;&RXC_S^x5(3g`YrrJzf1=);T3K0RXUY%c=kX diff --git a/res/wearable/images/tw_fota_progress_025.png b/res/wearable/images/tw_fota_progress_025.png deleted file mode 100755 index 20344af399da1eacc16b1477fcda07c24ae5f6eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 880 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{DzAC7>o?u2p zq3+}*@&D%W_pU0_XW}(jw_8QC{O-96E3&?4HL^)u&z&^oYnIuLSzCc}n?iw{O|mhj z#*J(@ChY&~8qNu{FK^P4_v^~r-LCrm_FKTH=7oe;-TcDH5WUR1C_>KbuKCOP_Se4a qn|+->|9;;wJDw2|QRv=m_uJzkesKhpUXO@geCxD9hm26HnL@8&rwM=xf>SV9;*+OKRanj&-3?Jua?yc0QD~O z3|bazdg1T0qux#p$I?8FX2gcc7k*ja@4A5TR+Nh8%=ouii|an?Twv(kt6HhCIWKgQ z{Qg$Eb@SQ&9c3(VI{mwD))Mbcf68`!eS7w+r#>jbj0o_dUcR6PvwNkLI}K+a6`0P^$)>|1tu4*Jfc=9?6}$Gv%^S9f1yyix>nEr> znfx!~Yziztro<(bcpy#e%;y6p#`zyZ?U(%&0=i-pfI{G3?98u>4CiL9RoSk8r@my% zk0)1m)SR{`mXx>CIiB8LY-}NOpz@o-$VJZ1K-b zycgE4_6%y1{yOt}=%j<|)jeOWIvvb7A#qYj^Ve&Ewl~+aNG*s4s+e}YDtB?(A5D;k z#7R?@POZDW!p=@0qoHrDs%PoTPf52|%zVRb;&9x}Gw2t0^R__SpE?&9WTU(`#r)#V zTy?ML_6EBj8bFa-9+U3<>OFkz>X+kNX1?JxacEzs?rC}}kGG_DOZ6m|1&mfDzu0Ye zeZ9W*o&D8n`B_Io^BeT`dVksywRc;{q$MevGmDhEE?|f3sIc{eE@m-R^MDPnUqo9#>5I zA~Q2))!MLW;is>^Orlj{!iXT+`T-c{`X+pOXVRAqtHng?=SxJ_H_SOefeLT z3@_A8W7*)#mVPQ>Qn2T;NpoUq|0Mi+Jy-j%=eg-Ya=EXcGWzopr0Cl4VUjP6A diff --git a/res/wearable/images/tw_fota_progress_029.png b/res/wearable/images/tw_fota_progress_029.png deleted file mode 100755 index ce92083d1ca90cf6fc28a6e0b16b166bb9d854a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1103 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{DzAba4!+ znDh4b!S2vhnPVT{U$uV3G1XUUN=Wyj9t|Ouvx_8Wm^t23`;{NH<@NcD;MroiIhT_H zmaOTSvgC@=>QI5i4kf?uw=xZRC9brJU2ptV6Q=+E_nr^YwlaLrMSu<(1%yN3gS`2w zZ~tz4KepsyIuLIg7kg*l_lKu<-~abfSd(rs4dPp4k|{=dZ2k@?L1gR5H8!}Ix^ z-B&N3&F+1?eRZ$dsj8w^d*j#d{rc+Fbs?|7!}W{rwn?jE0|*p{GM1yYt&vXj@p;C#7$_ckKJc zsZDG%mjAsv?`^f*u8Vy~Yd1Gt{;a;*PO>erw%8wN_4%T!haM*1KkMUrZTaQX>8t(j z?pq7=-SgS6=E|Pm|Lyde3tt|+^xVEIR6YOxcXh=Bf7XO%KVBa0b~X5__tmV$)1-H0 z8=L%mbogjiQ0*SmWTp)dj~K-LO0X!p|M6jO_5Hs;Pq(VipS|VdznzH^+p4S>@;0xo j%30k`IK~F4iU#Xv{P8!+_W$a?0(PONtDnm{r-UW|5cxK< diff --git a/res/wearable/images/tw_fota_progress_030.png b/res/wearable/images/tw_fota_progress_030.png deleted file mode 100755 index 85eddd2723516048692608d5e4feedf20e0f0c39..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1157 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 diff --git a/res/wearable/images/tw_fota_progress_035.png b/res/wearable/images/tw_fota_progress_035.png deleted file mode 100755 index 4c04bfa2849cdf70b03b712bee2f4692e7e16762..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1230 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{DzDFY7QTDxc^Q^WUQHGrxy85vYsU4^{KRaolQ)-MML7(ph@4QA6tj3_37$PcPoCxW-RS_&-0Vp_TX5# z6btK&gowB2(mpx+f?LLC1oq~p5=W0 zXUm_rHR0#u>*Z=Qy^HRzD*maTvk&%4pN+Bka;UGaJk#{#=amcR2($9?tjt^fs@(c& zwC6mZPq)8bulg*%=KDUYi7M;WA|-097=pY`-l)mkZm+F=t9WUTyzTa&-kxbHp9^_- z0_JDeuhm{ERsH+);k9@BzfAfwGiB4e{Wlpub6Mw<&;$Tk$Yxdm diff --git a/res/wearable/images/tw_fota_progress_036.png b/res/wearable/images/tw_fota_progress_036.png deleted file mode 100755 index 30a5da42613271ec3261fdb996c671f4c75e16ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1256 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{Dz8;E(&+JoXzasxC^HY{c?RdAUH9z|CT&^8rth`?~ zU7vg>UjEkS^#9qyo@=jdzxHU=7U_D~`Zx2I&WtZp{kg+fFg*PTMs4Z^;^FG-N5|$v;UZ$%w0O=bLdvnRU0q9WnlQf zeQML+B_UVuM#_cX*>mgG&5IMOe&2Z#G>Lt3°e9*YJ!v*IPcG*8a;wA*{<=gy56 zm;U@%KIzF%75P$wTWvXWqgfBAN#;yVn`A!8rt0O5M>jwIyg%Qz#&z1Q_o|f&r{hJK zE_g1TG9}2UWS5O)$*wKz_vY=2_{uv)<-YpPUAKQSY+LKi8tdhGe`Bz}$+vg^l~1;+ qRR2B8mymsP`jdd|&a_IPx9{E8v0lg0wMjk`WQC`zpUXO@geCw)a&qCHuS;tx<^k(I;Gt5x`>$%Tk)5iR_w(9NQ{+Y}$(Vo1-voGY+jrizUlkfIc z6jtq$Wk{H}XL3sN`&YC5`1gKvK0Bp&QbCHOcdf4es5h^PZ5_*cmC8-&M<0B- zurIlO$@bF2mf!A7dg8G=xL>Den`Q8Y13}x3Ppn*=KRepUkGwF)S z*=H)hCqH==JOA&U^5eCy(`=1xO>KXDx_0eK{&DrmH9Iay>Q4olx2n`LN_&2F^^Vf_ z*LLeaIbfe}d)c`1%W9QMt&`^5l6iJtO05|V#DrX3t!-v&YqsI%&FlJ4Bv1V~UcK!2 z{yX<4r<8}vX3RQW$5Q)~|0LtN<#$)g&P<(W^YgFzaEtZV zib>3t$8UUlvvIw;-`+0;_2>L*WxOCawl~G^ctxrB{dOdWKu;;q>Wp)jz+0U-; zGHri-F!X(I&$l%@cTV~FYU^zoitHpvwaL>!o{6#Jk(2?2bg|| YZ{56g&MC!nUqPmNy85}Sb4q9e0J%PE4*&oF diff --git a/res/wearable/images/tw_fota_progress_038.png b/res/wearable/images/tw_fota_progress_038.png deleted file mode 100755 index aa6cd0706380e033e17809c6a11f5c0b3bd0c89e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1205 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{DzlOU=756_$%GLQZ z0o^tV25AT!_`h-GONNI3FJ`Kgt65$z;a~`V>t{57$@P1mAI)2pwTrzWM)vtEi-JEP z&o9rK{cFuPGg;Px&9gm=3_X2iDn9S_+rH}Z+FQ5Q9`)P)&0My8aj&T?!v-&7&wV~c z(be}C8c$~Le;-pBaI#`jzxCa!l^b^{8eBM_QDM|vxNq;?_ZMbH$Jc%Tw<`Nvw$4fR zxp}g&zxO-@DyZ6See(Iw?}h(%moKy1`RAL|R^F+NY}Yp5REbxaIpfCvV=qH{J|9^6 z@8QPW?=>@)goa99jh0)xjG5uz!F4M4)gF4IZ zD*P%xD`!kR{KQ!_Vec=~lV6@_zt`P1-}=*oReopwRxYitNc;TB!hY(LGX~7gWoo<|F>}!^XI=u?`8Y<=+Cvco_^3`zD(8wsU1s!!S_0IYn11v30u-8 z*GxUA-T!*_d;M>Hw%aOS9=|+&(wVTUC!c;+&i(SAal^yXU0Y30UiU1E`&_WEd};Zc zj~|~F-kW`JMm`6dlmzG8yj=fJzLToM>sJ43ZT)xAeVfkQ--(BNjSrkyu`0(p(Aw(m zueF!g&ieIY`svy4?ge^QdCFz&;(xGgYtj75S1!KyKmPkJe*E37IL|u&P1zyuEtzv% s`qh4FHdmixSY!Oymz~m7SfKou^|Ro)78&qol`;+0IC3I3jhEB diff --git a/res/wearable/images/tw_fota_progress_039.png b/res/wearable/images/tw_fota_progress_039.png deleted file mode 100755 index aeeb890cff0ec50d38f609145d3eb86af9cc2269..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1236 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{DzMqV4|JaIVW0Q% z;rY|meoR0Ij)K7-0vjIkgvc^9)Zd!_-E}CnX6;lR`XrY-nxpJ;m^v6Pbwz0Uy|_n{E~lP&YhCi zXTxpl?N9DCe!SKD>XFyBth{Sj4|~RWZ(44*W9My~s$a8zoj4c!f783SD&NodT({cW z8_vth8G>^n;pe1f%U&&=60`G~GSH-_eJYndxAEWE_uc37&hu@TBqSnF zcHfP!w+XQScIxwL>Gf6HEE-nvsQ%2zcvNuT^tXEX)J>ZjKYl8YKN~;e&gPY8=GjkA zDW5by%rv#t=YoT(m*#Xf^=04q-p!VY%(T>>XLohyha)$Z8CC!DnYPXSTCSzKTE>E; zwPljtMOvQ!i(ZS_*=#KMc%u1l)Qm)um4^#Y0s<_rIT$I%)A@Q z_Jm8VEt{FQ)jJc2_S#*4dA~ONVmAGwa&i0?>!n+)pYB}N{8iasH(~J`&re~K-X6a0uh%30_fw6jS>bEZ$G@K~ zUp1LG^|iONFFV7(@2gbWC(rTPw0G<4#`o)N>(>2VUgS4P_^sd0RV?l@O!JG zKFMe4s!gf?z2kfBzMSdXRK@qVe4qcO^tx5QG9N2_(`V(q^7Ng`W>2;DW9qw-_3M9q z{ouR(?!La#`Kmkf>sGzGCcXZ@cTY;OI=MLToadVbjl37$ zO}XoNPUU9F)4xxR-|Oh_sag;!rXPDI%dq}}i(NxwsF&yOy`R23J-_Spk=>{Fo~`De zw&q{|7k{=*?*F&z52MT0PW{~N=_b|3Zm{Fpz4Uuq@~fU- ycyXgu#a{j9?GinPe=p{#n48Hmk&-%BTz_xXx@_W)|H*Gb+B{wTT-G@yGywo1$ysv% diff --git a/res/wearable/images/tw_fota_progress_041.png b/res/wearable/images/tw_fota_progress_041.png deleted file mode 100755 index 219d64a1a6ca16947eb3a61b0309e64914272d72..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1219 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{DzZlIs68N++vJclYpXJ=kz*LF3jel}f#n=AQ5Jw`?no&abt# z|9IrJb+GBSf2+TpQ&}JTxy5;%R0%_ZhOfHiyeIEeBI^YUCWE*w}jB`7HLs?Vh3v(4{ay7}wV8~(GimzS^o@N2zi+1%T~f4B4ry0;0k zZxCZYE^qlE^7WDaRME4Rp3B6<{m!ap-g*@=kBxVYS7@kbQCZP{ZR3?v*VjMG%YS#| zk$k)S9KWK3*h9S%%6tjFugX?Vs+sj3 zHt&ipQ;GE0^z(m~*z@OAbHl&)#r}IcJ#SL8=RKdKZ5x@SObS9@m03=Cvh=@9%&*Uv zT9eP`zd9%9?-l9sDMRz=?SCCDq92wwtPa|K`kBh-$f&*ElXU7#Z@=ENvHs1co5uC3 zmb0D&OnTR##FXQ+bc#=H%)6DhmtJ{4|9#)x-w`J-aU?6Ae8+g4`NocQYfk&Vvo2bd zm8%_DrMZ7b%H@W|j2FtCC-qOdWB5XWn6#QxQqNp=Z6(`PM}3KDD-F)2-+O+u?)ib;ziOY~ z*9SRs6b$JQ_;K3dGGoL4rMD-q@hIBzQi0(Mk9wuzNqJ8@zo1#Y%np-se2NS_eKkve zTie|0s> zilN|W)Wj!CRqm@-?kK%`V&&`kzaOlgczyq#jXgbgcNr|3{G|7oP~6iw@{G@=JT_UL z{OlRFY>G~O#_96wd3CuuYY)~(>)IRG#@WT}>iFx}$acD;%Sd+mAF>`FiD>bKu= zujuz{r^Pn#TQ;-(%X`~4-Tj_T!6%`v;z>)U( z^D5lCRYD}=f&8-Lr+p^L{y9fN_pK`Uf8F{CHL$r&$<6%UVQrWwe@?JO_`NqwAW3{eF=lFMeu_4 zJL@kur`{~^HJbe7sLI>6#f$~hmS4(t!bP0l+XkK D75-S9 diff --git a/res/wearable/images/tw_fota_progress_043.png b/res/wearable/images/tw_fota_progress_043.png deleted file mode 100755 index 380dac6f4d0451b11830a9e48e1fa593b08b62ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1189 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{Dz|kVfGgp&ImouxQ zwFQTkMwsfQJWW0=4n9XgQE_o`TPq3uoiU%S=BR6CEy`R{-D@bTYI zA)w<%!7vGdby45dBRz{UE;%wt?9x8@+%s#^Et?G+=0tg~Ej_f6VcGRu&vPjuXNt|g zrN#aDvbxrL>;C+eb}JUBulBKGFc2(PskA#eQ6=-u+`Ad}A8&cR{&3iQ`IK+*-~UW` zGA(cU7xgKHuT0fs86;L8_MA4kX5tf%$G2v3zg3U_U-j;8e0X%ZebMh}MShc7RgS9( zPEw4&U|>7XtH{Vxs`|Ovt^U26HvPW0n0u>9y8g#A`JQ>N%1-^F+>Uu_nxpS~mcu~&@ok7t|9v(|20oxDfH#AjmO@;?)vd`Y$6 zuy3lgJr z)3P1;e>HzK&Nr!gzu!dbS+QrI`p+Vzmki4S*P5=}dZzxy@49~_>-RsuC_MY=uD_;- zj~;%?!@rrqAaC(qiQVrltMjWO=ku&` R=)4b-_jL7hS?83{1OV={NBRH& diff --git a/res/wearable/images/tw_fota_progress_044.png b/res/wearable/images/tw_fota_progress_044.png deleted file mode 100755 index 1567063152b4d63d545bef0afde56ef5d852a80f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1186 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{DzIOju7RN^IB3UTxP*VUAl)r+ag| zIhs_mJ~thjcxwxXxmQ5vl2fhR?Y(rStaRe|G4h+>iWs$B&nv z_XIj_6bz>jXjr&;*-Hk7JDZeFYJ2YU{#1H6lEK4h+7pLK@sp;gEZzEU;mULSg#D)n z&GKa{n15^1le;S6MT-r#o7;u1x2=0uv)%kf`F@T0+80hcUoBxsaNIKajo&8wlf~xZ z;qUHzz5UAE@A_N!?Rom!_kEv~5^Wp!_kx4pvxRp{7#^&%o&4moO23NdYGX5r+Ls5u z&$Vqo_UXWnXDZVFuj+?;@~Kzmb`~4?TV+K2lk+KB`S-}T)pPf%*TwBDzCL+n)c?|` zWVMsesuuk!<^1%~{^f$inY(iPYAXNi?UrAAV@q=UB;MjX_xy?sHrosCbO%avlvF?c zsSiGAN8FN~LzWL@Zz3|IAhO&wi|WnQtd|_Dp=U zO8VrU@X*rSl}<+GX%`G!cJ2L?I!XNB#t5%8Js-dC_STkFe-GVUGR5BbcJBOBZ*-j* z#DX)F0s1@kqRs-&MfF)R7` ztBL9Hx|#iVbk0on{C31cctPQNm6iE6+fC-MHry_mye7+v1vQbDe=>hoI(5BO+M>-M N2~Sr)mvv4FO#n5FLht|p diff --git a/res/wearable/images/tw_fota_progress_045.png b/res/wearable/images/tw_fota_progress_045.png deleted file mode 100755 index 748edafdb14b1c88f6608059a45e3eac4545ef55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1154 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{Dz;##q_Ee>(B4+Ukc-jXls`u2`Xo@x)!)JS|Pv7T%_iCPf&FcQ@^R{V#*O3&uZSiRLuiswPz74J`3ll&*gob}T5 zKf6Z$YuVnd}Nq}|4iS*n$f zCpO!ky%O~}!c>r>#g?QU(tyr*UbU${`T^_tC()W2Jo+04uicV8^O@5G1Q{nm>&$Ez=1 znzD1x^T{%vMJq3EU?`s)m7P|$_qS*I>(i!ltMmR0u?F@p00i_>zopr0JSSP;Q#;t diff --git a/res/wearable/images/tw_fota_progress_046.png b/res/wearable/images/tw_fota_progress_046.png deleted file mode 100755 index 3d3eff3d933e45943aeda96c4da485800ec25a16..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1138 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 Ib4q9e0ObbUqW}N^ diff --git a/res/wearable/images/tw_fota_progress_050.png b/res/wearable/images/tw_fota_progress_050.png deleted file mode 100755 index c4ea519c35f7973cbd075407a8b22e2c82732eea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 887 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{Dz;q3Wk3O{MfSUEyD-bS1OCspB?9aY;e+T(pMGVN!=>P?+f!T zxW8@ElyV#OwM$yce_SkM_#u?-8@twKufVm%Crc*<@y^OLl{mNh>&4i+Ip>Td;{5)< zv3<8%Yr5wycgM{lYQLX%i%)Cge|-M`v*TVf*R8(I$Dk{@e=qB;r3+rJ?mg*P*u3Pj zh)L};5#QyS8NYlSFK2Sivdg~3$FM%|f=+k;p3{C8N@n$|=(O&>eE;_9{blp@&MdE= zJf+A!KE*D2%FC;Z?!+xSleg;k=EHM?P6a-)&)D@+K3>A=TGxk-&7g?$boFyt=akR{ E02BMI1poj5 diff --git a/res/wearable/images/tw_fota_progress_051.png b/res/wearable/images/tw_fota_progress_051.png deleted file mode 100755 index 127ea69650b15f27bb60d11c62a68772f14d96fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 887 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{Dz;fD{>zuWAvbHSWPHrst2av`=f7iLee>{!bIYqsKW+)1{yA|{%1@i9y?gVn zeay1E8x!9p?efoz)i--;kkQVS=|7KIg`WDOzIPe(0kg@ocgfG@u<~)doaPQRQ%y7D zR?ejohKxx~%g&0J%w4u1)0owFIZ*VBafa1d>7uCDPk(({QeU%6=keiCN!cr#>O)Sy zSP)+3ZvB$qYtod18{)n5H(y-w^>MuD{5v17?`2lEaY{6op1K7TbDpk#F6*2UngFY# BtyBO2 diff --git a/res/wearable/images/tw_fota_progress_052.png b/res/wearable/images/tw_fota_progress_052.png deleted file mode 100755 index b0c51a325b512da6b24e913f611d4708f6425874..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1023 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{Dz9W z|3oWyu6x(lx+y`Vu=`BjjQ81W@6Pc16C3TM9BLP?>|nm&@qN-7+3445H$65@O|d?CZvFG)D*luAtTa~eVPf@NyK2>` zH-FoUo9FVM|1GWmoK1SY)!(z%=dLQh;&;if=&OG6`$Y>f6@Uu67I~!a-8J>eul(1| zb=zObzUAYyuU*IYttzy9wf&8|K3o6pd$YH88u-)z5cqQ<@lpF8D;_l9qo9;6rNaWl^EqTTGG uJj0`Zc5b=l-K;fp-Ks2$_q$|$KQX8LkBbW0S@Z>zUOZj>T-G@yGywpqB=!CP diff --git a/res/wearable/images/tw_fota_progress_053.png b/res/wearable/images/tw_fota_progress_053.png deleted file mode 100755 index 2aed22bdf229c891633200977affcc9644814139..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1086 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{Dz8mfDUYNyx3qQFBmN2dkDPM*$8LQ)(1cq|CnY)4 zM^k#cVCtkagM~ZKWj{<)oV;%5^`}2-UcJn@_xwxjp68KsK9>mroihrCcL=PQT3{k>Lx5E61*>eD<_co9X*W<)qK@d8(C`J2DvluMG0KHrJwj+0N1&P0z@M(Q7x(`j(`G&g+co=Zsy9vPSrYR8^rPA0Z?8?}f4iK&{q|=5Z8ep4n-^Do zPg6NL(NFc{HkER==@S3y;tDSaFTVUVZ4$S(p2pSPo3{Meb>_V8w&!W9pU(UpJpWzX z{%I<`ZMhuwk54X8cU$hQeKJB^SN#6G+&eFVWmd4p--+CM@uktMcWuR!w)_%c%{tn! zOuX;EoB!(TiVO01GO7|co&I{-Gw!Q0$CXY-UwxU^MSt(y-rT!N-*bT*Pexeo&x>m( zr)EAZ7S~-{m)dAm$T#citsnnR{fzZA+L9SPD_J=6-OLlS{!V`T?8lSm&%W(F9BIAj zTl>6g^ZPmf%Q4To`fJLQkV%WL9{S_5wIDy~=f}N=J>4$djPK>0efdtQ!r8g(Mq83? zdRIy5Ev?z#SbX6_@jRYii5mCo=9FlhtXR%hwr=<27_Ub>CVvivzuR9jCG(=SB`BSF My85}Sb4q9e0JumRCjbBd diff --git a/res/wearable/images/tw_fota_progress_054.png b/res/wearable/images/tw_fota_progress_054.png deleted file mode 100755 index 6097e7c374f05b1d6acd03bd7dc65afa3f2e5bc0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1128 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{Dzjdm{Kw%e zTzcR{hzLuo?=^=b4&{M4C3|`-dQ&gNmFF(Kx~%Qx^G2^#ubRy*z80>qS}p{1)+iXp zA@D14#XAO_iv8+0CqIdt)NY#2_<%WmQb>LuyXQGI%SkCpo{`CV5ns+Mc)4y>*Hh)- z_U@&N{a0VxpM3T6O;OKl>NjUU37GWQ^PB2VQ%~cQr&ZS8`gBMs_=;>p>uSs3T#rxJ zcMI!3f440^cE5T3*E{^5!_WP{v9G$=b=9l=soIxkW-{ORXkNDZnNO+7$(8HOL)NFo zZ~eFP^1t7oVt(H`dhw_9bhlgI-><2x-l@T(|3hq^!mg}yA>xyKz6TU7G>v`pK3q=1 z#QPQBfkRj3tURT%yGm#G#eN-w6($+GZq7Ud_v9-;EDUX5+m-k?pK? zXy{)1GR* zZ`L{att71YjnAj(Ne@*bFU3s#^judmYPW9hSL=D<{qN@26g_${-!!e&)xCL{_+d{o z)tht9Y4z)RUR!3|S9h{~Hy`7QyAf9Pdp_GTGf42PXUxma5j~)NpbV4}Jzf1=);T3K F0RY1pC3pY; diff --git a/res/wearable/images/tw_fota_progress_055.png b/res/wearable/images/tw_fota_progress_055.png deleted file mode 100755 index b90df4c312a543d12eee6196d5cf8fc93d498988..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1142 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{Dzj6Fvk2Um8_4UY~IKgRy*W#%Y zqSj0oy?NuPd*ULqFr^Ns4o;^I{eVYz_g?obG#7fD?3?hu<8!US)tSbBj-KH!el`*4 zvQaQhLtsyH+bceY+An+qNVH!AC9H33ijkv^Q^jSzstPt z&(D|N)sLm=&ySqE^PGKo?TjZelY%|{_-!;y<}~Ha_&9Tw&!_51OZEH1{O8@>Tbupu zQb_){_Q|Vvm*@4I<(Kg;swmKGba6C4_rqta^em?Z+*zK39lDqe>uGr%-vEh2gRoRAvGvn{w_$-vAk6-7+0r0jUdz~dGulDb;vZ%W4DzA4e)%H7T0 zzfLX5+<9P&->>(s%%&eEY_OcR^grXNdn($Oq)vUf)j36YzHN5?&HI_U|9>>s`)hQ? z?AgBghS`e+4)dGxmi4|A|9VeFdeV}w7gudD_f30pId<;1UvJk=S^W0Z$>w}{8HxY9 zt}S8U-DY%hy63Xb-~U@iIbQ{ux@wNim&&y#87lHDPF_=SpB&?16qGFmNrPfX;}g2; U{(QK#c^*i>)78&qol`;+0QMU?TL1t6 diff --git a/res/wearable/images/tw_fota_progress_056.png b/res/wearable/images/tw_fota_progress_056.png deleted file mode 100755 index 8695306df2a991e455571429b282aa69bfdc0c61..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1168 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{Dz@Lk4DX_sPO=KQ@>+!y;Q08$#74#Nj+bTwJ*$F zb)WG?Z`ER($tmy7ZBO0#`R~`A*IN7ew&cf1`A7c$eK=@R{-l~YPp*|cW7)Ob@x9QNr)#p$BYxU3D?fVt`xpT@S75B+8cb9b>5X-z!?XWlSoBB`7lM&&p ztF^hc&))pGw0QDy@0$@};Zs*KSf6#+&wN2x_~kZB^^*Z_H{R0D|2rXN?<%dcl4Tma zRrwXq>#x*Y{4C<&zw^Qd@2S1EPkQ|7tF%sbN9+98JvlWlovG?HSJm`rEBn8{Q%pp>CXOnKA#dN{ZvtHc20e9V)fI7-}Se=7N34QdA_cR*Y{{ehC9mbn+u~qELT}7 yC8v4#y!`A-3mD7#v`%t+raiKkL8Qqyb@fc$f)h5&F11?-67_WTb6Mw<&;$UQzd!o` diff --git a/res/wearable/images/tw_fota_progress_057.png b/res/wearable/images/tw_fota_progress_057.png deleted file mode 100755 index 405e6fea8505a4fd689298ffbb725a30825b0893..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1185 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{DzHl@(i~<|rt(F72Ir$jr${)FV@|tg%5XYhjp{l#Yu^ zSJV%7N2At8mfSUdJ&OcZKYnneMEcx`w{qp%&p#5;cm2Y*$vXSpXU+S6dBf(k3SZ%W`t>~vfKUm`qJ93 z*5>}M&+{D3W|w$wn($<%%64-pfrRV7mTlQx8u{kR(vow%ZNKCHR_&|Jc$f7r^U7(@ zdp<_jGyEPbTRn^K!2Z`)o~BItzP&HhGctbHpU0=H&)?hn?eJ0OXuVjUPi2#eJ+G-x z7m{G-t?DX$b;;{f@uc>=h%KA;82os&^?vyNn#U(HKDfVLfARR_IrAM{5_(KtXkJ@+ zdZWtx+|@gJ)~&6r|2O^M&C9>9iPu{Nc}c2zhVDH2q5kR1xk+<(#dsB!v|o;U^?jB2 zaRK%j8_F&-?ugS=^}Mv!eBOz3vp;K`tTwk6zR+{6e)@%$gYNo!=52lGC;n?6P{Y!V zEKF*C&GVc>LuF-aK7G1#Rha#@cDn!anAhv`ieK$c=4JDll7Hdy>xnAMC&_qMpFeZ& zxL?Y*AH|2S9c0hj?f7@9O8f7IgR9;^9!{JTpfWmla3 zTd!}xbfKrr%zxYN2}_pjUH+!_%gXm&nim%^E;}A$cK+cDQ&|?Y^!Y&SgZe6;g{|Kn Ro>l@$dAjJrH7HXBV8}*L2G@P`tfsa;y&5 zQfI*}97-Hwmy`ITxPnBr9xd2mVX^9P?D@+v?{)hR2i_0JIe7ZN!F>J{&dLYejq*SL zdrktnZWIiQ5V$bqqe{POrnxNBf%$tUEK&Pub<&x4J3~PB*)Q#-$G07xKR^F|(eapT z?z_}1=RdiZ_L{*hVy)@i$zOZ@)?a&FU0V5T>Sgg;xASApymzkEI(aWmyHRcGGG@2X z<>BS(KebNY$oIc?E8gz+H}k)X+22X&=*8?)ueCaPP-Q-^tx!hD>X!|IWg7J|&s8*2 zi(WJP-`V?j@6Ohf%lm3B&YBVD{V8FR|7N=@-+AnXGrIgQ@V@x+>aXXyf45(I#qQow z^6ba~$bNl~wVJ#K$L@7&d%;z?7keX009lYi2hX+b^4JsixoE=#9${`)wc z@7hoK>FYkd`0jb{R)<=`XQK;;x8}dRV?9~?`}NX{||pSt8O{* z$=@|GyGoy)Hr_owt#9k88`lorcw5bux%Gcl=;vEG+vj905KegV*1Jg0Gq*HvU9kVY zeb+2E?z!~x>aCYokIqhe#k=)dn=qr>?OM;YNmq*A_E~NHfA!!tXZi1X^}m@Lp1t+` t6gcUs%I;adj1S)5xmJQb!G4(kLv+QxwVRJUZ@Ujt;pyt@QgY#IOn diff --git a/res/wearable/images/tw_fota_progress_059.png b/res/wearable/images/tw_fota_progress_059.png deleted file mode 100755 index 217b3b56744c2a8d01dd36d9bc3c1c37f34aa626..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1222 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{DzlPDqy0FRBZFN)&XXAxM zN=;o0+QgFC_U4K?ZRwn)87mUGTck;HFW^PioYf1dr_vm*YQo#J(W z-tGK8hXv@uQ81K4Afk5Fem;h2Go3yCRBv7_5oj=7KV?#om)pHrJ67MlS*7RcX*B(b z$E1g8ml@Y2erDZuS@-c=|KH;6^D8oqLRT-*yOKWH=2C%6!`9W8b=j@%20iP)eXQILJglG8x9|C^qD`pg%9V|V$x7iQb+)GeKOZ|;*;nzFokFQ=8G^g>k#s%hp(5ut5u%xnm1dY zyzTjo_wMHeGuz+qo?e?KEB!z9%#SPoUTsu8!M4W1>cv6J$xj+p{J-z}pY-dH@nUKH z`X5Q2`>+3Re_ibv7qP42fY;?bs{>kJd?$S`T3he_{>#eW>uSE$t*-sOEw1|aI_dXc zrGtO3-l)dJ6i|L8US0FG+xMx_@$=`rE%BCoIgNY!91Z2q^$iRcdct0{YCI3#daA8` zzLvSHTy=Wgc|L|&<;9a0uM}T;<0@Z*q*Rs_-ZZi`sTO<38&!?_5Y4fU*{`ycQI=hc!L)F$>PhW=Zo^o{K zzXzR=&r%`#)uHR>$M^Cyl^~o=l{Q2!O z4sczL*q8D(%4X}v4_}v`SKqmNy=CvhugU!TE6&~u@0XX&^8GjK$=#!+3~UdDj|+Ke zu3Yu1?crMUIoqPEG+?kaxUQK*=vESPJioa^*!#^&}VOp|Z9&A&sG(K5+b}oO) zpNZ3-U6!%_zTA`BGtYAC>RGGQa`uEUHI?o4^I zT4m|Z$Nx6H`}$JeTwW`=?<(UTa~}1Z^Hc0j%6@fYeDFRduAI0uJLw6(Z1Cp!HTj(t OAPt_belF{r5}E*$Vqmra diff --git a/res/wearable/images/tw_fota_progress_061.png b/res/wearable/images/tw_fota_progress_061.png deleted file mode 100755 index dc787a787fffc0cea1007c4bbd0d29832397b6a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1258 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{Dza?({;U+elRlH!tz~!@ z+?&?@nf3kjTxWJM|1WQ=-UUqh6n=a9l8ZN67)-BaP5&JIwrIyyy`@+6p6+?R-)ctM z`=W{eOinK2b7#p~@~Wia>!PcAXI11?ZWjLf`04hOi7)ToHrMy@`=V|+>&ZQp_;LlM z0OQ!Xd>i`SoVM>Oo)p6D9BsbO?4Nt_@3ZccVW z8XH^t{LPO2`(Me+%>MoE@mbG2@1oL4{FCQI&7R_L_sTcT4O1qmNLGBB>t5ylu5#s+ zsb|&1)cbmT?F$cYJNokEJ(c#!Jn5Oo*$=E*^;O6{G<5p>s_OHbyVd*F?l@2uyQQ?^ zL+|6@v)XQIllH`T&5YLj#;|(jHCC&W%YJ^8PxE`XZ&i8So6R>xzh`}k*^zi&{eF7p zU8x6aR^&FWTczc>&!Z^!=ilkhm;LWvGX8w8yIcFszv8PIb`zF_gl?_TZwP&=npk9X za<*pb={pDe*Tq=;3$9vsf9HgC?~HllR8PhRFTUEJJwtGXB5T#jm`UZ6&*=5^-!=LD z_TRgCuiwpC`OECz_3O>m%iUIoU$>ACaDMjee_8dU?W>B}+stgf{fhZ~Z1?QtbAPLy zJaHw%^!~yehOOm=lk_J~xo0h><;?!FxE`9$n te4gds{&I$rd*@X2ORQK(OU4KOe^VFIIQ(}5_ln~nou00KF6*2UngCV0cpv}( diff --git a/res/wearable/images/tw_fota_progress_062.png b/res/wearable/images/tw_fota_progress_062.png deleted file mode 100755 index 4ecbe8058f7801b874b1f3c4b3621adf972f45ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1232 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{Dzx$iqVCVE^}nSJNro%{Uf(w@ou2$MH% zx10=g-6$CRA&}GYZx{2G7p*FfJ@>7*=5X-WUi!zn?S0iBhe?xC%uXtsx--AX^?tf% zY2>%u+-c`-{5u?vYbjpIq%Z@64lX><(+I7A=rITU0(N*^@1N*L};M zht1b6FOR)$dHtRDr@%?@hIjx^I%7soB3j7q#2f=UWAMRo1`!Y}1f;`%Co& zPqj%k0kKBAYX2O4_U1rebo;f9&$e!!d^K5GmM6h<_BYO|nU6icO(}l6KDzy#%&gyE z=I%6oRzK-Ur`{8$h|u+ax);xVa<)V)Z`R)*FI?_l@JN4f%T{}@?Vl-6`ZiAvU48l| zgWd&g*10OrC(C#m8Jd56c<$UxVaa_D@A<9Tw{%fn`o=lSUw3m{xV=h8?zLXCb-sS@ z_S>8P%lzH9|6KxuPL;{Yod2TNr(Aq~uVU{z1BO4>bv^l(o9{~ll__Kay+`@c%)35^ SGl(q$>GyQ?b6Mw<&;$UVK5ktA diff --git a/res/wearable/images/tw_fota_progress_063.png b/res/wearable/images/tw_fota_progress_063.png deleted file mode 100755 index 05c28ee622916a8e353790937316a0353bc108d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1216 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{Dz*VolzvS|tLUE3#$pxUjdE39yK} z-kBq#!}q8}J$i9R(^W^4MK2aLmu^s;5pvmV{mH_Pl}m42v%7U?-}L+Z?~302KXhDj z-@|*=LO}P8g25RA4Yy1uzgcO`a$r}umt}qG^MAdb_xv}_c=B=9V#YQ3tDn}~Zch!~ z9rZ8c#m?>f{DL+GU3zSKoH^qDtw}JoQy>h8Np3tiH6y z`oPvp>rQ1%O7?sg9lJa8`r++qm6^Zpl+V96@rlEv{>gJzXeu2Dec9cV7oMtfGGx+j zy?y2t?|VGeJ@vF?tx>xC+{bTESG2<<%AB;B7Rbfw4m%1vI%KXCX z{Juv!PKbM|O{<$}XZ!t;b93a3_&rDN6irH>Vtj%7*U|;SUNcX%s{Xw$Kli_cwT1P? ziu|>k88;-^oSc95ZF1_96DN&VAK!O7v~uCQ1O}Dr$!AQr_fMTzUT<&x>EO)p*L*Ao z_J32GDSczx@j{TU#g&C@w^mw2EWG6^Qz9bLU=W4Cu8{aibLaLkM11$stlw+)cD{tK(aaRRlYM;48Q0`bKfbeY)0+&F z(>wS5)t}=TH0jTblqH8N8D2*(j^s0&mAdbuPU`2*O*g9V?^~(U`^DUo&3X>|hOAY7 z>}x_6N51lm^Zj(>zP;w==ks^H{_Y(-*<7ts|KvNB>FcT#4rsmZYRoe^{Y>S(%Fh4s z{4ulU|9g61+QFmqm#_CMQaPC%xoZ{Mi>R%B?0=>QdHs^N`;u@qYR;Ld$1FWx?LEw# zUsJkm+sge@pEyhs_uhEkp*;FBb8P5UX7RrLWm`-?AHJ|DeSPj7qYuBP$1lG(Tg5*- z^lQp*ZpK^bzWgPVR$lu#UvFN0+4W;*{%+fF=i#jnCvF_@mam()%4^!YaQiFYoEpp` zf#!Mr)H`|a=;r%+f2uP4{X?VHKHV3*|LZ&J_0`XAytKb>H+{+WwG$a~H!Wk|6}3y~ zpT^0>-0Anuzj=5({L1a(^Ye0R+2buIri4%WX{N@s296=49Vb|Gxfjck15Pk|UUYaXc zWf`1YnHBthTjO;5dAAEb%SumPvZ`py6dNPsxSh{=E;u@SE?ad_`qbC_y84ZUIqy8~ z>D~R7&G4W;+vMcVTNh3|^zpf3W67~$8&A0vbrWrb@jr&|2AdyE{~A9NWU{BLpUXO@ GgeCydc7Esp diff --git a/res/wearable/images/tw_fota_progress_065.png b/res/wearable/images/tw_fota_progress_065.png deleted file mode 100755 index c46965a114c7e2f1945f668cc6d7a4933f2e6441..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1235 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{DzGCHoHrnMKLNJQzqqnxp%R~Zg+M4^8@8y zpBB9H1-fq(40H%2`0i9VdE9edt`!Hv>0Nt^e*dsN|Hd&8FJd-JSd7<(x%xCNHV|_w@4XZEt>Pd8(hh?Rjpkp_;>6Dg76#R;4|w)_<$z zUcV=8>(=G>zkQfGcXgiCl%@98_s#@GGXK#xjl1Bk^l?s=oBG zxhJ1Lzx3fpmFw!2>*jSZe9hjoz+3aa>daV+9rnlL_wC>Ns_oi|D^I$A@AFUB@qFjK z>FIr6jtf1vwN1J+{r<&-B0U$-6+={HxO3 z3*vh3JI-G-Cwq$6G8{BjBdu<}_gNjQHvd=2y4%`I zZ);bduiQW9dVvkYq#kw40N;|+Pm<-|`0ek}oo>$H{9uv_zlkgp&5~im*2n&$N(-iG ShdZT!Eb(;pb6Mw<&;$TM0${`d diff --git a/res/wearable/images/tw_fota_progress_066.png b/res/wearable/images/tw_fota_progress_066.png deleted file mode 100755 index 695620f6918a1eb881fe4eb251e5c38b5ead1501..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1239 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{DzhaMTSt!WYW!SWqx2=b+=k zMXs_X;lEr~EY;EwSsAj%B+QCKE9l5Ex67YCy|++la;}VixBJ2K&2y{IJ*`X};(C(e;z2sKl#fezg=k@IQKYaM^b2 zrxm+{y?&qgb?Lwp-}=%^K=f|1!)3N~=_Ao;>YY_UCua-|6!EcK>+uW}eDv z&piK6!ST9{tRn{oL=~j3?Vv-d~@~zd-ZV zo!4_EDzn~gR*7G7y!}8n-yXxeyWaiEo5ViZCOF)pVcE*f4*Sc09=`tW{L-aU-M9e-J(|2F>r-{%V#R)6~@b3^bFFR_i_TREe?NbJWx}s%OI6C%DpPMWGnx40 z))!6*3JSfNFeyJu*ton$)^7W(gAWhRd$03v+lC)c*4>=a`&H$;nq{DOL<8H3T-Mmo z&`E35Dyts%$6ue$Z+m^Sg}SF{-QhPU8n64S{?s^mGq;c9g2rEqjparsYremDxTf}Z z=KHmMTGQL*Z?a?4?a!D0pI86L>*&w3D&?Bz7-|E&JST}ynlktN{>``EO)bP0l+XkK0Uc+C diff --git a/res/wearable/images/tw_fota_progress_067.png b/res/wearable/images/tw_fota_progress_067.png deleted file mode 100755 index 8e549daac26a8ae95c861be0fd71c1d55426d43b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1239 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{DzH?eXo5r2nnVZ1B4xd-KnXz? zg(qqUyE?K~g$hpbSi5NwSYJ$!IQJQ)<)jf61zMoNULvwNDCr`l;TWs^T3id_T_CYLEU&pGgZU=OU!P#SkWy;$BK_HZoBxSo|76~Ug?#1b%dL2E z^Zn#6YL>Cid<|}^7dzGmJp2FR%v{OWdqW@Q`tRGbc57jR;YnprzH1X$7i@f$aUp!t zoO%Br#Y|ha?{&%iy|u@WCFjTPD*P5TX`j?529qG&>IbpS)91-&4lEVbL_USg)VDCp(XxT)(N{Xd1(VcT~1`u887g+29DX0A6Bc1XT*X~F8LS3eX@T725r zerfT$l!8|QT#^h@>8AhGzE@AW`Sj&V z=eKjK#cu8X9_AV6`{~6S57V7opP4VXYM(qhZ>_cZFZc6y+pZ-t{Mat*c`I9%i7rVF c)sk5ct^9T8q$hss-U5>FboFyt=akR{04axRKmY&$ diff --git a/res/wearable/images/tw_fota_progress_068.png b/res/wearable/images/tw_fota_progress_068.png deleted file mode 100755 index 2ba24f46a9b6c4be351092fb6788f6987a7fa5df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1234 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{Dzdh*Y&JiR=*l0jzE#O7zeeXSQS?eWQB()+42tS_pWZRhQu^>ym>*B3ul zeVEt2J?~qn?WDbvr(f5fJJ+u$eUg7QNR{s$$N8&|Etkum`|D{M+jpKk$q=An{XV^= z>-Bk6XL=SbY|Lrccl9;PT$S)mRgW`l3l*B%`SPt@um66(W6!s<)3>WzPI=PIwu$jq z*m>a+P1VrQx$AFVHeTCbcTeN%gKNI~r%3PLZxEZW^UrG1lb1oKX0FP5;x5#%@AB(- znfl7byA9?~EqnWvQD~iDs(a$vdB(=kuo2etlL}{oUrr zlUnA>T7bsYJ8XMXbRO{=eea-mvUhOq`k~ ONROwhpUXO@geCwqUS(zg diff --git a/res/wearable/images/tw_fota_progress_069.png b/res/wearable/images/tw_fota_progress_069.png deleted file mode 100755 index 524caab6ca16c78daa7f1472f618d29436007616..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1220 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{DzUF?5y0}&5*Gt$m^3w=2;o7>gD3o=Xqc9-ZW>)-jhoi|Ev#{ zuH121cXQ~}zn<^3R5yEmdVPr3{#(ENOi!bDuga~f%t}}slCQp-H#bkxyC{0n?#XZd z{`t^N39=J?u_Wbr#hWFnh>F+U@XU&jN z*|~Jps?~ZvGa1fqUh1|@rP45a@7v_v&(F_awd&)hT}4a&KW(3``cl0zJz15>BzP`o zmFdaP`)fZ{ojRqzH}PPnwcL!D{deZ46h(+N6t6aRR6qHV=bYXawdLEltiN6R@9C!- z*Zls!IDVhcuckJ0()-CZyCy0z&RTJfWvAfSo&NF3ucx&u|0@E+ zV;8TL=RCPTAAEm#zvquF-cla7cXjR0t@f%rl}^50EW&;vWwFT%^GQ1ME8lj0Ok6lA z*mxy z+#P3n_2=tdi|0RCs?tAq&sM9d#8WH_`m`s{nY-ij!b>lwU8>wX=UvI^M!)T6^2!n! zRM?|~jqT(A{BYOzm({X>Ws85zNSY2Z&ePS;Wt~$( F69A{5TB!g4 diff --git a/res/wearable/images/tw_fota_progress_070.png b/res/wearable/images/tw_fota_progress_070.png deleted file mode 100755 index 83fc82976b4d672961ddecc2b487d8fee99654ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1163 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{Dzg$b#J0FST-|yr0<>Ey_+AApSLoPP_F9e0 zsomrI6h5t2juTD<2=dQk(sWtaTs<-M|Cvjd7k(6YV(sn6V=|wA&xbvG_J4m`{p-`G zPj;L@*Np;-LV(BB`edhy@L@hCgHN~SZrXZRQ+}KE)2PqAwfj{yJ^Q8xwaM~6s9zlQ zK4Ew8Hg(He*7s`b^1pvOdi(soId^A2iP215x9Zwo4~DES*_ZE5E}ma+_VHl2wfCyI z|1CCd`}Oqs8xSgrj+Wu||*>fLDjD}23sYYU=R zxlNMs+mz{Wlff-&f73t9lZ&59-|xNZXL@}3@$cvU%vvIvf02Rt;`#;NlZx+Fhfkh* z^w)WrHFI|_Ntb1pZqzrFzcheC#S>OohqrXUdvD4R&vT|cksTOH7oa+z6oIX x^R@r;(v7yp^K)!V(=Vy>P!#tx*PQU;AB&;jgy-v5_i%tL^K|udS?83{1ON}{L_Yuk diff --git a/res/wearable/images/tw_fota_progress_071.png b/res/wearable/images/tw_fota_progress_071.png deleted file mode 100755 index 722d775eb7c8bfb667dc56abce8874347d862635..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1146 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{DzeiUCb18c%oR7OgbKPncZxd+HvHRSI*nqORPCtJ*T@V zu?UraUaT}pMC%osV`mfBMJGprl7mP8T5HNk&)utZW`)IhW^umnbNKJQdi?m#Y@owN z0f`}S;CIr~2+4KpC9EbqshCvy-irS~`>Kz-m`@+~GCsLY{Cv!&Rqsz_V$D) z>s8!$&k|VRuAB9F-OiN%-`(wG^^Z^QpU&?2&$meD zCjBfu9?W=Qn`69(k!9`A?~SVt{hIag*`mgSlTwPKsE$_U6 d1FPKjWqmYv?asWq8=pW9@pScbS?83{1OTi;Jc|GT diff --git a/res/wearable/images/tw_fota_progress_072.png b/res/wearable/images/tw_fota_progress_072.png deleted file mode 100755 index 9ace826f329ef82afc241e6f97e430db61b0af01..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1131 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{Dz^$t{c5YBdW)! z#a=?YWl=~-it; zWUcP!Q&aNs?#5>0-ILC!SWZycS~(^6v1E1btB((+@3x-2XX2CNYrAhPF~#_U+-7@=lJAA>8j)RcVC{O z9_7z&aOm3n1?$y3|Nm}X2oyf|b@rze@0koIJ~RKCtx~@>ZvK6<9Ov&39@hG1Ixug^ z_}dWYS@d+j--XJ|-%oD5t3B-*r@Pc=`wWmRW;Oa>^6RIsv3t3HgSDq-q@Pj6i9fshr<>_39mu$4u|Qu{a!t&? zH;(Vm?)1M@{qyv!m_KiQcJ3E_$WU=lJ6e`dG!AC@hO^&93cr_LUtQYi3v#EYtDnm{ Hr-UW|0*^1) diff --git a/res/wearable/images/tw_fota_progress_073.png b/res/wearable/images/tw_fota_progress_073.png deleted file mode 100755 index 0c64d0d8403849cd689da1ccb0d6721a31a60bd2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1040 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{DzulU za(+;Vh^I-Vjc!^`hfKJ!?w`M5`p>Jy&cAvZU84?i(I~(Ofd~Fa@5{SAU!`>NqRM1X zwcwOTx8J^Yk2?D^*z=ug<&Eck48MbvPu^V^{e3-O%n_0m!Df+9naaY zWbcCb>91Gcb#6c2Zv8mqyfotkpiuaB^KTIs+S`s>Ee0B~r`wl&{hPi$;qQ~9=5s&Byw3*O@kz(?RJr!ryo1NiO!c4pF=xFu zdla71F)$Iv<^NrmCXy*U>tQY}3bOjRPf3j|Um@3JAIrlcm N7oM(uF6*2UngEt#`?&xB diff --git a/res/wearable/images/tw_fota_progress_074.png b/res/wearable/images/tw_fota_progress_074.png deleted file mode 100755 index e44c35842de2e8cde0dd3dbe44b30a0a20bd1407..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 985 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{DzqGbi|75K!*uSUY#03)lPu?i)Whx*YUl;f~%q^?;b8V$LEr z7pFYVPt2y1>e?VB%-T7VtAHo)uGnX~)&r_Y8NMtx8_kU3R!RQ~$WdY_QbVSADFu(fx(_ zO?C`DuQvSIR_XZu-G7P4?^tRXB(6UEef=!+=fhVeo_~*LZ^%BoVb`v=JC21;GPB;S z@2NLQXW432hs(9Ue!P2m`tf diff --git a/res/wearable/images/tw_fota_progress_076.png b/res/wearable/images/tw_fota_progress_076.png deleted file mode 100755 index 7e7cb001ba2d44cfbe6c8433f1ec528088de5203..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 896 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{Dz9b9Ta@PCKA&)$;#Ye(PDq;MDe{JgXGr_r_;^`G;esGWRv_4>ExKd-jGRSa|6{Od0>%1)-&*CuYS;M z-sJaxo_=~JM}g_z&-{meZZ(>{pS`sH!<)qa*I!RB_PjSe$ZYkhugjf>XIdb~S36wl Y8Q%U%KCyUhNIgiur>mdKI;Vst0RFz_mjD0& diff --git a/res/wearable/images/tw_fota_progress_078.png b/res/wearable/images/tw_fota_progress_078.png deleted file mode 100755 index 2ea32ca9cb56ec4a6708594469e052768029ff61..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1075 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 diff --git a/res/wearable/images/tw_fota_progress_084.png b/res/wearable/images/tw_fota_progress_084.png deleted file mode 100755 index ad3c8da47a12530dd93f72541b35f62c6c5e99f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1216 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{DzQxcz5^&jeS}aP!Da2seg;PlfMYNU~ z9BgP!61<>x)+xv*d2w&jWB;5Z^B2ShT@MAFv0JJV;!e<#V}dC~n> zj~`oq_hSOOkgni^ys7ak28Ni0QzogDtG)DlJFhzZ_C@`urBh;dF-XkSI_ZA(*xIFg zH+%`-9lS5M{FL)zKGqHMOxwQ9QJ?%K%l7XtuVw3ZtDXF&@_xJZ)3;^IW9*mkFeERP zI%J&Z^C|T6I(GAXi%$pb*UtAY$|&4sW!s{|ken_0vay_WA+wCb)V zcl150;_jIy4)J$ce>JN3$5?-N$~<$&&bA=^<=da7|1SEkT4goiVaYd!*HOBxRcpEP zR4ni9czDgn{#(-f`|n=Pt9kkR>e1rclisXX7Cx|J<>uyl^PlXy7JPh~@x?h3TQ>gr z_u2gJWc~L(o8~;3sq#$b!2dX1)?KSs@p{J1y|YpK?A_wC2dg*lD)}+dS97mQ<=QEq zQe|f{9P^Ep{Zg~)n9u7Av%{?=_Plv?eEIn`bN-g7ohz-^)vUvv3I*a+ke~T zE$r#1TDiUr7$U2$RXXhs-lk$X=Sjk^xnEPC9{RcYx%~ZIwoA(mPxgIrmtk15@~iEO zqc>ko2jZPyxIY}4nl0XU#&@kOk6iyF9)qa2emnQy)s)Yxdi?qPrTVGw+Et|8Ww;x> z)$(^G=TBNcS>{8g`GH@?Gavq)El1Y`HqtHQxqn|VXV%mmpTx94LE-7@=d#Wzp$P!m CQ)m|e diff --git a/res/wearable/images/tw_fota_progress_085.png b/res/wearable/images/tw_fota_progress_085.png deleted file mode 100755 index efbe6bddaab76f74c44f06715bd1648c0b884cee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1232 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{DzJ|6*LSKIcITbYIKNg zoh7kIESKAB%M7tghkWfhuACKUacyco7~!XE_IPhTx9Fmzcc+T=&OG02y@&nW=BkRH z^S;kv0lJUoph`N&>Og4q$xiJllJVih%9~0!*+pxmez}~N$=Tj z-9COi?RmIS(c?DLcec}>ygYjHRgUjXhF?x=mHX=V{HfLrHMRS7>G`&SCR3T%Uk0Yt5&`9|5TKHejktTo4Cz$CO=uPf8Ty<)u$U3lV++MzHY1FFn>k$ z5yLr8b~mow{zhu{-$K*1(${qE6xAjE`?D|lz2ElBzMnECJ>I&65+bSc@MQzLi*eehSlcwPb$nHJ7zEdeX~l@6wG*-aoc=mljWtv$z~-vDfmX zxhG#}=wx<3hF9U~j{j$+6g|H3`gzse8$X|3>GY02^Tub>oD{8-PhZROEx3Qh_R$RK z9Y6bIJ@1{IT72$*V5#-<>C5DIzkcj)YC&#lN8GgAfZod0%qS2I;`bp-Ka^B3DY5((hv9)?p>Xt(PNtb<} zF-L4)SG&WgY{#37`cKav9{jfLsfy~!&vnySF2paJR5Pos{2R>^*{B7$Lg2#T`wo%I Uf;fX;od7BEboFyt=akR{0AD0)R{#J2 diff --git a/res/wearable/images/tw_fota_progress_086.png b/res/wearable/images/tw_fota_progress_086.png deleted file mode 100755 index 583dda4482db13ef2e12bd3628d6810c7d2cb770..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1227 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{Dz!0@Ysvq;e z%iLoDI*%6M#)DaZ`9A2s@iLl{vh2Pi!;jnBRE*c=TBqH1x3>)O^3+^66~<-nM<$mDv#tdqcPL{`#kqKI`^z>9?K1-q~mDf~I~deSL6adbJ?Wg6mm< z7qsR7MR}eJE9dR!lmB01cec^Ao^j8|m)4iN?c@I_ooxJij^jf1R*e^;`KpzhYzwm% z7Jg@rz9tp-=i}`6>*m{SQ$ATVX=SND`-S9E%jSF2pKR7WFMsAj_WSjgF=^}l{#HHM z*S^_czKXu;&y2aB8NbBDn!Q*a&2KyJ+iLaeR^@)v#M0~PYyaGvT4WdL6?pDITS#}4 z-qJmWJDxukUYhle5U z{m(x?xBvU$ul(xACdc?~GJf}*!E8g6Xvw6KT}!7vahbF@a%%q1Q&*1O=d-h#79=*= zX6lpMcCIWp?pWRZ^Ih|QfZ(3XUdVk(hR017v9q%O^upKatM5|FXgT?T>7da|Gp4N Nv!|<{%Q~loCIB*bV(tI{ diff --git a/res/wearable/images/tw_fota_progress_087.png b/res/wearable/images/tw_fota_progress_087.png deleted file mode 100755 index 5d67e0c0a180ec08e24ff5fe7d29971d79a4a991..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1238 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{Dz0*nh8}9j9mCIG?`z_g?ne4B@su?^sS)Y7)?A+_qAEcLym7SZmo5#eV zH_ZLVEtSt#`?61c*f?4I_S~Rbo1Y&47IQPYSkB?P$t%7cA)%pfJwDZK&HZp}wVHiI zPR#b*Q&lu?#;tvFw`}>H_-Wd1^B~>x)ZXw4U>?RZd=OFF!3s;iUCjzseQ! zY#QF(^kR-xo#_>N*UseQwV?m=tY`l(j8#5avOAbBKSA2z`q!(n1)Om{pPoEetiRUe zeQnO!`PV{E)@rBw>Fb=Y|Mrn>3uDRMW&4}s{sw(`sNx>|UB>J6fg`(Si9e6C-T33) zYkl>~ZPRNR_HKH~zH8Mg>q#=w5__$~xs!IwX0f-=9Xz4`ld_RQ<(734 z5w8zT&40Gv!o2WyL|v`UrxMMlXYV~{{Nff`exPcrb!z>jmnzNw%i{F@6nuK4yxT2I zFD^r6rq8E4Zr>P7ZcmeZp^{mCDr3@274tt&6DnWc-puaaHf{g^Dua_DlbTJRFqT{m zt2pv;xAE^)!k&4apDxP3pZ59rJjwN8$A2DH>AxP#UNBR8sY?FzwB5nW*3HvBeKwl^ zjJl@hJ|Cl)Vz~oPUvJ+ps=IW_*7qlZJ*Q2snVz!bnF+(cwERgQcPUdVO^upEwGjCC azK(H+(rT8dAI+Q~Lp@#nT-G@yGywqacWCMW diff --git a/res/wearable/images/tw_fota_progress_088.png b/res/wearable/images/tw_fota_progress_088.png deleted file mode 100755 index 553146dbb1ec2f61920d0677783b3e5d100415b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1189 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{DzyL$5CBzD;lohF6S zukyQ&-4?SF5pi5K`Rc+4R}L<;*t*m=XTx#DPEE5(`))ijTR)%w&dWIut!p3tJ7>uW zbQwip@zch2%nSv)XR3%#wz*p>zz`lWoGBzs#=-(y5#ynhIdyYt~0({7L`3o#;a)C_U!!q{}1xlPfNT0^>xnEoW>^0nOAGk6m+76)BmpL}NBl;ZyfO~1)|yvq4zXCIe+_7i)7{>@9Q zdqY;SPoDGA*Ee5!&+og3WTzBQO8NKXxNn{HUsuhg;a;Aasm`03c(PY-zcf!}|CeRU z#Q9nB=UcAN`uDp0T>Sqxy?;H$CfQ7Wa=e#^bA#O8b=efKJuZGeauax_KU0>SmZhX;x-?e)|MW1hVUe`NQ`}Ld8 zq@60~RcGG)FoEIqmaFbE|1)m=s+#mYJUUwM`Okd2Dy5TCRrFPVmKlF$TklH_lm~{!x*eA$G^tizl7i<89|WDVkz@!1m=y75x%fCW;crsAk%R cK*QPZ=8Lzj`oYie;SIhAqL%=Py|A{mIvK!{1x~k|)=f z-`%i2-Bvy{G^&2CMOj&1O^)X2@Q=^dWqCE2mi*$Z+O_fVvG440zl-iZoipX8eVpvv zS<>>mRZrei*&cVchhh5VkKw1H+~ulw8CLwArqaG{M`dB%uRou+n~T-kY}P)h?}71zkFTgr{2k0&t?49xVxmvfk+Z5I)ojw{f$tJkigdt4Q?^Eui_Sbw&2bS)7%|}M+8PzfXA#fq> YKSN>p;*{vVyf~2cp00i_>zopr0ET8^&;S4c diff --git a/res/wearable/images/tw_fota_progress_090.png b/res/wearable/images/tw_fota_progress_090.png deleted file mode 100755 index c37815d6b57764aa9bb337a900a5456f420c5f0f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1233 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{Dz0<&VtSb#n#;r+Wx;I8xwt%SpO~?E@dl#|8|UYh4|MpRTYp%0@BQOH zHJm`_5e+`nmsd|}f5pdmpex90l8@TX3%3lcjQ4zh;G(Jem${*eN3GJ*Q}V{P#dkhk z^Zy*}_oqy4X$Y6p0=wwRHPe=CQU5;uV|g|A+&oR~6NZ58*sv_~s%*ks3C|*%lNTS}y}Wi~a=h*zUrY6qcRl0wTV8Bfmi2|J z>gmK|+fbR zUpG^{;1VaKHgoPOJ@uQDpB~z~PV42_`88i>$A7=SyLRcE-JWGGmdx2lxPJLt-Q8q- za=E8jTybJ%V%ob8PnO=hzI?mdOI6DmPa=f&3o~WAIj+C-a@z7qdoJ7S7aQBh)l@yt z?G`_m>s4fTaXHQMqH%3r_Vkf>iT^RC4E=ATnDH%n$s*I7Ts-mfV8tRUm8m;JsI zyjGg|$X6MkJ{mJ=&%~6k`u7>Gq$E!>_qi2b%*U|quyGa9>19;m;0S??p8Jf)q;`p0 Sg;gvBxyaMi&t;ucLK6UtcU#r~ diff --git a/res/wearable/images/tw_fota_progress_091.png b/res/wearable/images/tw_fota_progress_091.png deleted file mode 100755 index 5554045362b03e7b57745aca13d8e859d718ec33..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1198 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{DzfzDYrcf@e#+EY!2=SR19qVbv)lHT{A8f&h`Awcf2im=|hUbTl`4 z&vA0t#3{S#{KH4Pn#ObBy&$GWPI=}P7+i6v9y-wa^bugCmE;96#tbMgJ zsD9hF$nD-Ue{8Z@xuEg?sw}Gmx>-6Wt398!sqyn}kBhw{RasK?W!J~4D#ydpSDj6J z#Mqp$;w8iO1?`h`man=eQJq%y)7Z2_x zuf0BPn_Hjk{*5!%Z=d<(#Ven$fBzj}X6tQwcW$A|e6^WUwSR7Ic{XjEQQh(VQ$Nr9 z?71u~U2FD5hx0jwcaFSk-}ihq^V*fyULMU}yZ!vq(?x!hmQSAZBHk)tg64~NH5I?D z=dbUPt500Ae7V>2Psbj;-t4J1_Z34`YWHIA(%pAv&s8oJzI*2WzAZ(Cf6sjRdwc)? zOJ18Mq->l2v*BPe>)oYSXTA!WB%W`!{#DNZjfVBFc5j`|FMn6}`TEHbq2DT5+W76~d`kvfj(>%fD$kTbpC4@t9Yj)HYPi0QM#H}kbl3m{ZQe)D* zb<-@CW8J%;Kg?;SwL3Hvo6L+ZwHTRQtC=Hq?t%bsPr>o)um98)h`m2;`C*M5-*el1 zCZOYRfdf@{=07>R%$ecC`im;^>NB<9POLh9`R?G^Rs2@`HOem}q0^PEa$&5w!AH@{sozaI7d&AnZHrTbNHS{nyGGc%Jj z$au5hcfwES`%85nfA7t!e}3i9H~({~bDz#p**$5`#=@5kj!PH(UUF@h!KX{@@>}Lx z?Rk1kTwnHd^7%V&!`L^>YI@fk>1Zx#P;tnUsZES)z^?ohqccyP5Jo#eSXkbbwfyq$yJqUr8TFozzUMVWJ9rl9UGF!x^D?@WBf}7Od+w8kz-S!>Lp}tU Z-^wReu5z1l@RJV6FP^S`F6*2UngAx3Td4p5 diff --git a/res/wearable/images/tw_fota_progress_093.png b/res/wearable/images/tw_fota_progress_093.png deleted file mode 100755 index 1ecd08afb082b67c485686375f6af364ace016ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1191 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{DzkxX@xz0+Ue3BsXba#a)UDNdgn6 zBrR=9QY^dGxkholn(vQy zx6cMT4-;%S`_AuE*`%_|jtn<8%z1KIW$PLJE9d_D&s(!~*|l3GdJQW}4Nl%v*?OnK zd#-(1)t$c?25;&tepqf5W0hLwpJ~Mq>GvsWQuEq(LC^T+%aqI2RL%MJ=Dxc$|JrY- z)OnvWOC{~QImdePo>@;OhLvj;_wTp3_4h#V%C+BoCS4QF4xglP!63Ed!sPPmN#T=Z zbU$;azPsRc_wS41#cy8yxqZ5*a%=d$xej&-?H3&V1J;@@oszeD^Ya%u?`Lj$e!}~3 z$+Pt0-1CX5CzEf>2;Oikxgfmd>%#ZTF2~nhy;uHV-s`*bp7dRf`}x$KpY4rD_&KYa zZcC?33AzN7^O$t{`rcZTn#9*9<_61t_`lr2JYj2io&Tp_rui!#cOTZb`|FsMhWVMk1{;A$BR$;Gb`m|R<@Vy+P@!vRzJUfzq0QCk4vqwv$yxFS0)QdHl}G_ z;C=P&^~XQX>anjfatofVy|1^w`q8?N4<4O)_O{s5FE_4HbAf~Tirecqd)E1EGWQI6 z{p-V>-}Yd3#tTYsNQvVVWQ zGb;OVsZ4w=-)V+`P5(|IYiTroHr=wD$HS_Q^FDGE_Gt z^1S%C-TEZA=R6P1=)61C2EoP0r`@XNFA4JUycB7@QO$p95KqRBehpvt58Ly+KeZ0Tl3uC^YVPp z$wq74jZ}x`Ke;k^!9j8p4qZrB%*d-H2-_+`TMQu-(=&Se=7DY`<{OKR9icv z^3^P>27B$LOQuZvc4nWlC)?|oecC4*6;l|M(;WIY0k|o%d?)PJQC@?`551?9ZQ{R<`D|zu!~w{L{_LcU88lS=u+bBzW+=@LgaYf8Y1h zjrh8sr(2Di`TOHzemyz6JDg4YdY$0k8BZRn#P?_jN-!~33BNddefOlA$=cUftCaq1 zfA9Cd>XXNNpt*Ce&)GHO$yyb8^+>r|%>(~^)|&41f9<~a=hTB|*Xz|?y=Qs({43-0 zrYHS9{ZhW}m0{=!T5B5YFSmcW>E6FV>-e5+_Uu#Jx$>d~!z7jYsy~fRDtqQ->|kxk lE}6}T6yu}JVG#mmH{{=2b~&YNvuptQ$J5o%Wt~$(69A-FRC)ja diff --git a/res/wearable/images/tw_fota_progress_095.png b/res/wearable/images/tw_fota_progress_095.png deleted file mode 100755 index b5ebe826248e4377e12264f8d72a8ecce2b9fe4f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1160 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{DzfpgH1q;h9&H}B|$}-diy{GZCUNiarsBj0bRfn44-uOLs=YP!oe2Cw!!g9}Z z6`WusxzA_4=JhRZ+1dZAOaHuh`95ncuRHU+ z)EzGw*6cp1a(vPpk4@TZFK+oJ>-GDrzxCRe-zQJp80LBRc7a<0>ltNsXX}&fo_*?- z>PvZe-`h_3c3XXyGP~V6$-7sooX)Omz4^&KKA36sBNkf;JylDaEw$-x_pPRVdpNl} zHObxD|NnmXNps%%+a&0kyb!gU!@4r=* z_;35h#mn>fd-q@Re81JrcRgqQ{3nZ5l6{}CRJ^K$ds=Ptt{uGBK)&;I^>bP0l+XkKYp*;s diff --git a/res/wearable/images/tw_fota_progress_096.png b/res/wearable/images/tw_fota_progress_096.png deleted file mode 100755 index 340e68337a69d4fc971031eb8fb341812981521f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1139 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{Dznd2YN7klcdgt2VQm>89l{nuMnDNAwM1->ATvuct@moC^nxq0)2l`nz{ zidHrW1Quvmbxd2-?eTHJpPxl>zzT$*p6%$>$AGA3B>fc-Je(5ky| zGN^V`c-iE!s?j^f3ka>ybt8)8Z%~qS4JO8IY|9N$DW#Q8=%kS>D(tfu0r}w0jsy;2pK8v_BPYv4iD(T#m zl<2fw{JZDge`mM1qR938_m$`4?W&E8^1l>LI_+8KTeNasR0Esl(kIP_)wl8G$nKrL zO3U-vy6K+l)GcSFluz0xWy~nGc5;f<$&g9So?+K#Gas1K>)9qYhY1v2qhNT3z>LrQ Xr3Z><9Il;s9^^q!S3j3^P6^WTwBZ z5szFTu9GZ3Q z!_U_mef)kR!SrifskphCjy>0`$f^7O+^U*(GU(E&%^PpuwO@Bva(~S-x&ME!JbSnH zp=sr3kH_;>W>4zTsfuWb3-a>(Ki$19Z~gBIoy+q}_Rl)*S?B%9dD8nyHFC$(HYB`R zFf%kX)U(L;zopr09)-j9{>OV diff --git a/res/wearable/images/tw_fota_progress_098.png b/res/wearable/images/tw_fota_progress_098.png deleted file mode 100755 index b056990db008868ccd16ebfb3811fc7d7f626521..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1057 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mO}j)zieQK#H@#BeEDsGlDRqh0+%XAVZ}p zB%;K*C^fMpzledMVotHoNq?`<0v~Np-Jk+rZ*N~cO*RI{Dz}zpO*Dsh}VcqgF>dy8~G1fYP$dFwg zoD&5?cuxJyNbGdsJasX#?RlfU@dtbR3i0B&bC$(j4qv-e9(yjEbjP>I+Vk&sDc>Nq z%2`i5(;qpOuPC)*uwCf$$%4Jr=4W;6ug#G>alV#8{`U)PpL*Cn?X~V*GGRLCo9t|hQg%;!Tpz#voR;{Pu6=&&3#vt33wNCQ_2mxdargFTx86N? zAi*_jmCn2mKmMs4P8VdUYHeDk#l3vS#~I9h3m2?Bl{IOu@HvePi?*g^LeZODtxsO! zJbvt)689Ib{K9~xM^%jf-_nRW`}W%Rxo59!-#Yi%t#-HK)Q3*RrT=bSGUwYjVA2>dw2j?#1NSMc%tz|9{oBh&szFe||hm%P!A0IQbx6`L&nizw+)~^U2M8uN-mfhf7lKQ|5?n9SLWilWf;A zJW{?#rSN8on9rJdphlkO%-o&gex*OUqgh{lS3CJQzB{XO!np@!R@u_a-=A&{`Mb5` zcXQC)2>X*x?-TwMeZF?{->NJXlPkFkUovbte`#}gWW|pc(doI1U#(g5{Zj0ke`(oM zmrP%>d`hM=tMA)&wzVJ4o~ymse_{U;je@16v-ljed7t08A6pwcO;4F4CY5WJ8jpU# zF%jR_8X2<;_8gcw^}j6BIxC=7x7kKteaH+ zby>?ZNzaT^b5*`isyUTuSf6Xg2aKgrFziF%&+Pg3s{;4cy}z>^vm9go9#4#q}-d3|$JP+rT zE!%PR?31UyTq|yTc=fKVpzPy>U4edw3zz)c(YY=A(t=ziCD+^XHT&%6E(y`l`m@XN zCBuig?|%K$RB~Hd?7-;@HnsrMvtDnm{r-UW|q>7xA diff --git a/res/wearable/images/tw_fota_progress_bg.png b/res/wearable/images/tw_fota_progress_bg.png deleted file mode 100755 index 57c41671211ab3c6b43889bc02e7ac1a2dc32609..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18895 zcmYhjby!qg_dh&ArxMZ)(jnapf^<33jSMZ_JqUt|z|buqAR-{$HHvh1m!LG#9lvwm z&-1+R_m8<|u5;;O2BWcN#G0D zO~uF)_y+&;0gE%Az3LZ9AUalS>kYARkMz6M-o|^`@DlgnkQ(aw?j}r?d zAAmKqG3aRv0x^PA73FpPvUV4J{Y-ynpWmNT#RzXtCfGFg=&ihVhg!d^ctL9@35NG1 zzTx4_)b#(T$t08c>gm-{bBL->btX5asJ2QNOvQ>+fzQ$jNb#PDyR){P4SXq{k_eZ z$n;_I5@aa~Ayn(BifshL1%%R%ZE+$4^4prMa`Ca6Epth4pldSK*nZ?Q;8##{`Pb6I z5>SKmr%>a@=LDtL-!P^k+xz$$`V0s<$8*1MZBKKhZ`ppzWw@HlYp1)KV{RupkMZ^v zt6;l1g&fcd{CT5hB%C{GsD>m&cO6XQF>YjW2eIkMLe)MisKx~SCf7O>e~}mp3NZO$ zVV74z6&X0(&V{p!AsW^G5zN=1Vk1Uqk4e&&3eEgsvGbM)(E%+S&kK5#G>EK{JRsK` zR2iRilk>`n+_&A7#FeqL!DVB{X~B^uzYCDKvEzz%fZ3IMtPG-K(B81$o6D5+xWC@d z9_g90i~ZL96#*IXrk2$1G4MUU3|j+J<2r)DcI{4y=qR6Fiu8;*UNslY0dDQ9s z!U613D@JgthEqsVuI*S8%%-D*hiMZpx&Qj8`1bFN z582ReY9VT5Gx#Ud%9E9Dw8dz~&WBuZ_T3-QU+_MjT*{(1c{N*-6ZK=?&$M_dycMUD z%S5+y0uyT|1M(|mBkxNq>p*)jyNeR;n;k|Hr9~uz+uXhZ#yV3D*HIWG7t*L|{P6B8 z#1SQOxo35GdWK{KG+FTCCW}P#K6YGuQ)CY^=hT zjDEEqWiC?{6U-zaceC@xi7^uVCK*m@E=i~6^n1D&XD^T5ehI(Gx4($=;ZrX8HsYIy z*?L8EgqtVu*nt!|oB>P(ZvJPmtvPe`AH)%Hk4D)}(!|MG-A4;*EVz3G@oYq;*i9{s zxYi$x2<*$h?F3sART#4a)oGi3l&H)~HW7H8q3nx02DU&2?G0S$!05i+OT1d;FZuWvHGJv8R4VjsLq)vGF8E7rDoikYL^oeuEPh8P<>TKCRBru2sc3 zm3{=!RRxF0Oc5KQY~p`W7k?|xVE?{1k>|=h7b`z5dTGV2QSkYS2Ce=sR3RCMdZf4; zHkB&(=GEhPkpU`o%OS2t&SaG^tII#mQe5Aq1<7vf70}D5vhK`yDvy;P6wjX=FbnO* z^weFIymjf$$mExoac;YLpmjpHbmwC~$G0;X@6l=(R?f0BG51*HjXkW02%64$k6-nX zb2+Qp0KGd2FUsU#39kbG+65c^5cj3?mpi~-(N+;BjyWaavO0=KwP7{TH~5{n62$R@ zX|$_|lCgPk{*=REulxQkdz39!DvX~=$cb>9EEgP1#cAN(*LuQ>yi-&X z!dqC0-z);f7QM_I%n-}^hj0>u7j~7u5W(}V=c?AK=SY9AQ>PWD1$Rz`lr~;u`*T^< za}|4?A{@fa;#%Abt|}$Y@1~&=1I8cI#(0ES`zh?s`m}0#l#S&Mgsb!}p1{k0YQ9rL zjE~ZxcPiDcrOjt?jhhuy7U5l~`QZWF2ULi6>Y89+(#l5{)JK}B7nb{f zk>ky|{uU>dnvbhuZyp@r7&|7r^o7lbNyVQ!T`moBzov@L+b1a|dN(~Ie=B_8P++XA z$xOJ}E5gu7<%!KG7V*cNsM?^5VIVJeqV;2t9@i7*GiDn-IjC0m`D3nU6X3s!eSE1O z?i?;Pj2@LZpsp_bA|P%rv1vmkuDT98dIop$4_g~N)S&?$NzfdqEWvtwA~!kJX=-O^ zYRDI5my@g|Ua@;ce!&-axRN`)UQS`YEJ9ARvKc0fr-#)BJt-%C7?F90$7Qme%QEfyb_ee|%}Dm=(qLze?*FpxEkh26OZa*un1Jy&BEQ}*bBeT5;O zFL;cv_D;~@3;D35cfY*&g@#w^j~viBvyf9VBlXBTYertVc0%3N!>6~7X}+C5T|u$I z%C|TNyam|>F3ite)>-aF<-#V6*gt!4kRh%4<<~?@BC6>w#E)EG>=cp0pps7>f#qO* zIS7UCzr<9n&)-o>rTH=!`p4xug*d*HRw-U8dbdPI?y5uV^Sw<@`TTN*poLhRY{Rem zBbHZ?2Qm(FkGGy^z_Bw>8_j;^Xsa@(NFVq_GOeD`ciK0mVf)_2S=6tM}HH)om@z&gW z2``A=!7^XB$`n6{%1O-0N@Aeh<5%K`cqZ{0Dy_ejcL;np;tIQkjW6yFuLT0@`P+fBnS}dmj);W?1F9UQKc_wB9#WOuo2@H*!piW)ke$6(mvb=b!x0nRjp|^2f4Gj`)e{I^{Mp1^#}M8cTD4zt!Ynd( zpN&4W?aK^`8fzr@tSLQAnEe>2!2&L`D-_Djm% zQGbD})?m$&2Vycdzoc-@n5j}erk}Z|C@JrLzT&)j{=MPXEC1xtJ28@>agO3JJ>QRMA zy=&PbY`0-gJ~JRj)oz4>OFo6ZfNe8Nui{{ProPiB`*pCkQclDz3xc~;wA)~-l*GZt zjhIp93q`xcnXN`1BW;L&)B3xpj`Cu4dcYum$wg^WP> zFGr)Xx8C|A-XwK$%)VuXy89(6*51x;-vl*D#~dd>-wK*%JJN4;j7d$1w?A<;9xnNl z+(7kIsFvi{bKjK~fq7}P+deE{^jde37`o%HlQ)IF(b2ITyw0i8%JCzgRlD}|$}H(K zm0v0EvFg~tA($R(F>nFt4|ueTW@qwCxkm-$m5UJjagROr7BXrx;+}^#kvYhE5l1Rt z+4D3>)@9NMJ69Y(zx?v}-tsT>jv|0m$0kmwN9Gao)GOy~#79v!tSNhwlHN$`HY`0CSlF4682#S=Y82#B-yj3(l z59#@N<`|V-J3r;)`rIx_{%{s^gO1qW7Yrno32kzt;%tvOzD7*Crq&A8D@7J~eRIh4 z%1zYIum5CXm@N5b;B(0ng%Srjtk$xzlE>Y@34gv8ObdDFMH?0Wof?riGj|0fXDM_f43=%V1lnzF_n_FGJ4vBm@} zw|kW>Y@T2f>&x`p&xmE-cH|!W5_`>N3eV6d`#NWvQRvU2wjrDRFf?7^0zN{dQj9rULp`Mu0iA*Xl*qO16s2ztA*s@5b3-K_)6Re>=ERiSD0GC2AJ(*ZypK-FfA7p9ekbFZ%^7=YqBj)a+1NK0E3JMWmRsH)EpaB$Z20_wH_1A~d^Xy5q^(Y^k^Cv-RAj~YYW~2U<*sgMHCIg>#pD4Gy&GJSO4Jc6?$W;JBy@NJDL3bmw&m93Mc3O0-0 z6*Yz(3a3jnw<;_IKJt;qy8|QXdZyreg?SU}#R|s!rL5%-^xH7iJ~s#c>B$`^U@M3N z?ewBhLrEg`PJ@@f(mEP%0fH@%hmbT7*=vu9C&R6Go(*xDYPuo7c4zWiUK~8WA+}oI zUJ<&=VcmtPAvCWZ3R-GPl0qb_{?Iy!=PdGT8Wq6T-88%e|N9-L;YD}G~j z6Q6NjdpRzv;8T*C3_qjTPI*y&FIsqU5992Q>hXOwcA4Z>a*v1dT<}w^Zlow`iMl?) zfH6~NA!VKRj)ry_LNXLeER8C7!c|COEd@_^$2Vgqd@BE?)Hft$8hi5iw`}6BxM{>I zTUG8Y%8_&E-_D)Hy?Ga39QwOV9_JqAY+pu(z$AFFD}~3~-7>H2K6kpYMohsq*+9_K z?=~=8cyY4m7;o-9@xe1`3AZiY{qw&$G(+{!I5y`9wPM6fG;LQ~i@Z zA+Cbh85~pWype^aUEQi|LUup_t#;>p}Vpk2^QC0*3qC#q$`^Vw&SO z`U%|t3q4)^d+17n*LNOL9<319;-A1d_UKmts}mgFS4$(JN!lUcf=%CbpyFyM=Ie;v zyqX+UnvzEh`TO`;C>L=4eV`D?!ZULwQ=g*dK_@!RF{rt$^RiXOAC|~Wwh7fF4R*s&8vY?XmgQ1T}365a1 z*C#U^FS|(6s{1afY*k{56B2cN7;A?DLUQ4=opC{b|61n05R|v=I{Q=lno1q?9<}T4 zFT1p^Qj5HMI0ADQ;aOVWrvlu-p$F12SrKEIHKUw`a3lUH2bFAgHkt*)7TotGU}_YB z8db4w=V5zToN8Q*)Iu$h%w3iDRoz1Gn{ZXSJUG|nDI_z@cXU2s$B`v^HQsq`Fp!DN z6weE6k{}DG_#A}gobeb<4ddcVFx&-R9$oCU=3s>P!A68P0SZQ{n)q)Ds zD&-)2L(-wooFc!$&Xh{HRsH;_5+wz3C5d5LfV+jdN9JIMBu>b46^;$MB8ROr639K` z`pgHJciIg24*K0hHH&o(e_i0ZiLi;d^%5SrcW8|e&ohLrnxmfG#<7OJRVx-gp{@9! z!<}LK$`P{qiU* zfTx00X|my5q$f;9qniEly${&mkSD1A3RKb8d{>NTPh2%$9+82SRylD=wOF(|Qa$x| zDaNZBuExo(j2b`@Y{~B3e4tX#`wTANyORIR!OecF+2N}shi4j7-ecB!-1DGCbPlvN zZ*O5&sQZc@+Qv&WAM)3wX!V!o3OA&I`eIX8*IT2r>$p&bN`szznR)L%tL3V}E9dn_ zSPYEu-P#K^o5%bI1a54T_^V@?**T*j1b~_FD0d>SU{8liFC&I?JyF?`{sX4_d|BGN zH9s2h8%PQ53MYPIpc0dt>}7ane-${=51106q7c&skMuQsV4-A&>LHxMuiRSF+C;@q zKAbk6r+uDH`dP_YC}=9Kumn}9JE@hBE4G5Jr$S1f3BDTBu!Zse*lup}OUxp+WhaY} z(S~t=4xlU3#Z!1XoXO@tsE(Xgup=O=A8_a7INABH%xBw~jYK&gbLSGWB94nq@bo;h zbKKYcH=QxXF>X8sv5S)WB<~4mKh^71b*WC8elfvA#UW-31|B8SkE}}N_=0JAxg(y@ zWamtHlVsFEFv5J922n|HuIE^&SGZ#}lXEw=uA@p$LW@c(-+I4ns|3JkBA*a)#)L=4 zpfX+WBXmG#H>2CthkEdW65z45SKzky4r+fQXt#+yj@deX)_2UN=q9==9|fY5b*Geb z%mvyMhSeORUzOijAfvy{t8t1j4THrVQhsBjbTbd({TBIcTwulwM;98$?&;S1QNA3y z6w{3#y}TaeJ_#0c--E-GJ5#P1V=-Nd?O;`f=_i|6v5}- zLgB}7Sy*wSv?2PbyUs8Mb;dMUM|a1~S*ZI%ns}kB$5JE`o6C0I!pt0d@S0J;G>W!< z;}iai-Gt!|4bH@q>vSCnMpGTyKOnXYTsKv`YTWV#w0o>2Vf*HfBxKdga?@waHzl1;yrulCs8wTXFql8ZUK1(~l>k zKE|{?X%Gop(@`t-bM9=iqBM%6v$(a$~1`f!ND zC{pI?H6ktBsK3nU1do+wjl>n!EgC3Wi;vX=yK=tK?cWCc7@n->a+qgNM%buqH(HE@ z-M>BSrWu+3<#R@hhprsW_%WPUuE^+ILC3nYdf{l-~d9UJOvEP#LM`RnI@ydy9%^X8*I6yJ{ChgbK zO`OjF{h?7>yV;d$Ht>nRwlAh!smkN&FWgOSh(O?*+ClfA_}Sw}D{<~EMQ}CEWI2e5 z>EI_%4>p=kcJ`~tC)i#Mb>-j&syGVU^19Hc9F#JFcWR}7i<01+idPF_ZM#87eY=xW zV}A!>9g5qZ*d@d7a4ZF^ao5RbEM{A}Gi3f^+zEU?f1y^adk|>J4lLQ(=LpZTiv*<> z8>g{8_>u@P{(bQZkMe0EJ`4&2$li{xg;3(?s4-{ZV^#5v0w(wx_Y~FFwP?ip;_B{) zUParHzu@;@N~1n;U2~fd8G8>aBb96RjX0Bseo&p^xJ88V?a)phlIzLa$iN;ZWIuT) zk}HG82B)o6oDqyxZ@7YqOxysK#T$Xrh#qPTEZHm`tIVXM1-K=FK zBW4_rH3M)3Cq0JomISwvo!y)?2M07w{R54`OTtZJ(2(~qNHf0(bKF9{ z(h{I)CZlaN9`G$aT0s-KE}1lyJ>#&rc!N3j7uZ$$5U3q3%yzuH{s^WCRr%A@X0#~^ z?8po>(DL)HPv?Qw-@1@srVD9(Ki+1Ojr!`{~K;arJtg!VUJ z{ANY0(7gde$WfL_$E;)jAi)(cOqRTwsU2AGczzL~G{#A@pEDq%zPBoWp4qL;9I2Pt z{0d?)pJIp4L+<)?iAXZW+E@_@R>0*0J?08wd{lSU%F0 zC?bNKyV1+U6%a2L;#W|Fwj=VgGq6e?U&W|&#rAXN{sl?v4pwVnQ!b~sPUU0M zn!f-H@hBAL^(c05C;Y2F<7HsfVxboJRv+!}&$1FVmCxAy<7Qx0BpGmAZV3b&WVq7p z*%OLgYnuo7a_vCn9cynKj`x;JPf^}V)3z%$x19i=#A`t_aWPp*_cStHv+Ir|S)IBO z6eD6#EWOhqJED)Xt}+2VcTWqG`s@?J;x%YZwD@!6X=CQK3cN-W_c zqc|(d)JEKex^)2<2jipmdtc}+SWUXkqS_d9JLZY|!%Ch=>+IFExc_wga8l!tVRl9V z4E}>>w=xdcw*2hvOG`h{H>|$yxht6^f~!Gf>QVa8Bn=P*#nIQb>u?rUy+&BE(schh zmA}*g@h3D=Q1a)xV&n#d-O>QadOq$tPFnXaKXB@$2b2#!<*N#gX|Y1sv+r}+4(UW7+YyOk_t@*GRanNZlmkz zYUyvM{@pxR!n^nnv?f-VWGPTx=6?o40!S_Qyr^;S0d7#Ps$8_9Yx1bmbEzllU3tENeS*apRYiqLw7dVb7c-SF*GN+WSF<7S?NZT? zx4D zi~tG*I-#<%)buZ{U28I%O3NdGJ$8Qw;K^oaT$qXQ)A z<>#VZvJc#V#RtB^e0ox6XjdQ0pYT0Z9`Vjv1jIJJm$TqG<;dTJzd3&P32*`1+?3A1 z%>oJuc|OckE!525R`^|2*IloSU8%CkOZsBqZ1{TzR3c+}6TWkUr6Uz@3O8KxzAp~OSOuwfvhaD8BsAwEVlEb2Jshsq=VV~{$S<7-tY+#++5(Sc#bjpP$> zo*W%$S&bJ}6I!g%sR2kf#}3xnD^yL8}RP8GVrmd)61-k6yrt&yC|U zeo>|YlS=iDsCk3N{OkQTmrNmNA7RhU%8L?yZYU?dXz=>5Tpr~MP^69r33 z%MoGCC_JaaB={Px-6mt0)rPUXg_R$cvt7e-z`7f284&AHu&PI0@0Ry*|4?uVyM4wI zK9xV!5CuGYg6fy%A)!PtO~OiUPM(>PD$K&c}8)m{9O&NLnEIwBK)+dz{2ne24O%!KlTdj=X0KU+K?kEz_$z+A# zGQjmxg94Y}Nmw;-wL%U;d%%)Dryc=x;wR~}&$r|fjZ-X9<2L{QD$*a*zb2x=U}=@4 zt)m4_%0nKQnixJ3*R82sSW)#~T2DMc@USGXw%X6U)sWpL^k7@{w3om6|lli?WzgRTxbU$#5h$PVE6b1UU!U0 zGamQ#*d?0M_ko6LoQ16Fo^;!MN|B}*UQ3(N6F>h;7JnB=K*R7Ivqj~pz0yJlaB^(_ z(wgvm)e13k_o+v?MRMN?AXWm8x9Km+pW(}^Jci5maRuq_#OlChMDaMm+;UvhD)>6u z`oTx}Or~r6WA#$yYEl6u;HG{;Uc3ffCKcXr zE;uq^kN+&DZ6@oY3y>2dO~Hwc2P3N*J`^LEg;V)g|5tjVd2^LbkoH`L8z@MDegy;y-aFIgqTUm2VvPkrPeAMM z@_1}6(Dwd<(pwUPZi&EV(t8VH&(%1|@q33NC1a=n;#7aERvNdD@_{WnhPW%3eDCZE0Akqifm_J* z)l%l(Ar4)L-7q$-8it!Z#oH1_UzF>2J<$QSBASrSM#PSNg^iQrF$twTO#AErDTj>A zzr0@`+nUN3A!Psp6dSt#*@Njs9% zKyXtSG}7wBP_6>{5vWOfzFp;Vb9IU4v9K<%F}{T4_->^Sbd%lX_U3@9?mS~d#v?=Lu&+Pw3U+gn;4Lu<3yQLWKIlda<=!MA|Ku+ zt}0ze18*!*d8|KJjmHH%x%Pva%c=a#U4C7_4`NQI?Cq%pz#13@ z3_GE9qk%D3bDRL84I1&8xa%w$te%T=0ddvdet~mkz7eV*nL)0`e*kDc!~S2l7Ss;S zJ$-u{9T==1oP*skdG`{a1YSLao@+xz31IKtzg<^5hmb2(M%Xkb4#9l;_mk*SW#1W# zf9$w?l|Vv_H9mpDG$#@SxZc3qJ8tuuk#?&0*aFn)XXO0t0F#wdS}7M00GUljh+KA1pcuJ;ure zUzEW>Sd-1vU)lAeQ{bTJRJ$g56L+ggdxx;&HN4kFbHO1v5%v-|Ea7JcL*`Z@IssBT zG#!Be^3e1Jb1BwJ<eJJwNYj;^mwv>6qd;+w zu?}z55gZ=cTGZb=CjHM~Xb=N3v0TzZ!mjpolOgPea#{JGWQc5n^Qe(nn~H6ST#6U~ zq}=1s+EviZ(Gn%|=HM2NgTIC~zYJmkX0`DJPbO*k%GNgTrFnZEh$rNI>!coGT3H6$ z&;1GVzO|Xk*Vb5R1=9K#7Q2;cFTs`NezI`P~cb zvNOuZ3F%LwC2~6wSHjV2K*`z_(FBj50+Weq%7;PA^wf>>%&Gb}5@6qTmUk9@qI9Ku;p=~qtOT2!z zj@<}I!kb^}DoR?0%s%HbvGYbXt6`T0#_iWtR+N~yexbnJ@7lQNh35deAKiz&xh8Gt<>ix1gK)w8qZfe(``@oM`REzy}rPh!ImRZqd5w=)^uG zqq3C^9QAt2vve(@B+?HotD9FLzPnib5 z^h^n=)ds5ivsC-hF7Hpa6p2_z!L68nX)8FiAw!qjmpfdAj_S?t1Gq}>=S&E?`Ij6t%HUBgZBrKe);^e&eMoa zrK`8}y7{w%WEPaNIRe0FYu348G}-K>`CWUwOJufzf;c79RQHVH1{CLcF9axoS z(4*d#2+vJ%x>PzeAx7j5=u4J$sJBt}jUqKwsnY(ZJCS$R0Jdvy0a<$boQ$Y1?@ zlp=SJ11-7&W&N^$8PqH7AcYY`iR^L~*gSxCB|@W@Uu7Sjs#?C$_vR=};LLi$jnsZg znINylUP$1h`uQC(>6+?drHU;K+JbZQPok;u%OYQn!=zGR7&bwNTf-Y5j3T8NO2Y>6 z14o1WW}7@_N2cW#)Jn~(r%;5%C&R*XZ2GrAkhsT#kB5@k91G3HcO7(2|kK?xX; zPi2_0;ed)27x~3N^`4LJ&QE+kfols)$0y_eVCF+8h{)L|1b)erR*i*-ynm4^;LoC~ zW|POvYT}Vrtt8mpn>V<^0Gc6?PWw>Rbj&7`+o7=%jDApb4!d^Wu;cNgOVWk%K9KXYY8e40i^D91vKIS&u%NCW$q!+CZY|Gq2l&+tMpHiy`6$GLPGKCZAM$$evVmr}XEXhe2c!PKvv4Yq@ z1`rGNUk6F>^c^R3@`W1fi>wa>s!H#MBdeX@ngOt=zd=jH(*16sCv!s=9>-Rfg!(bR zy2DHoC6o$vyBf(a#3PlfSjCnv|IOA@20dyB75pkXBnD9b(bJ5V=VKlZGR$r)xk{q< z>266a<;RqO^d~F+KM7>c63-B&WBL+OJN^Vc)%hW3yRU#BA%4IFI=jcjlFZI|Vka^o z3}9L9@+r74bUZnMcH=f{K!6dhcfE>N@9&^Tjnc&Q+e{$J@z| zv|qjgg=r7)_`piYcFi9^HPP1ZYIGD()^$oZby;*qBm*sr0>^^Hm?vpo*nYJGXgQ1D zLP(kCAXU@w1+iU8a1~ld<`bfWXfH86ru8_Jv$s)?I+G`OqnF-Ex9NcD zg)yNfAn7?V07fw3v@Sl z2_nH|Anf>mN-G|Xw5qTqhGd)@@5rAK5c9Op8e1FVN<-G!JW*=JNr_QGf6EIho(g{7 zA{AHZ68?+1sa(ZgC>vH}471Mo{aUC0Gx< z8(b$>d(<$?IWx*i#j;Oir>&;ih$P}4kb^8lQ6*&j{7%2Y{wV2tUp-8VuV*Ny+$j)V zC}?sKc(a2xTVGehB1@8xbFWaY>LdU!U`r?9iD3?>2C%$80JUQR)ixx2f$V-}rKU9u zQ3j#b&H;@S7y5$O#Yq|PbI39}5t_OL`6n^|@SuZRF8q!NDF+gJ^30?$y8uq!eW`)? zey^m2<+SM>HrEMwVi$P*zt!Ilih+y36w$LlGUwQQMGC%i(R-!b%|{M~e{gkB&dEIqrOu`CBl4pFN+Z|T^UzC>$HtMDv6BkG~-=cNS!J20~`;$$G}Nq{7$}MbL_BsYtB!TOa83n2&Bi zQ&XdfiG;EXrB8OBe8`cb3U~5Hm#17U9_fJ+Jf?s5jp#Hhc6M9FHze-)>)TA#c*hOxi82h{HtKk}U2IYKod z7EE{`WhwF<&1_7h;0*N(9vc2y8fTu^hH0;)egOErf1iC7ksfINaa+~p#{cS;?c!RV z>-*9WYfeu#&KC8E{5oYOAy61;F9i{yXq@kXORzUJttnZ8{FsXK_0%+fwxWGO;cpBY z+nK}{i04Bbyo&;fjGDD(jqRj>#~C$i88E-uAiku;t_j>SJC)S89;KrUF!s7(qSa)O z(8|yRxMKn(S`5kmlG5!kb0KvshTz9pRGHapsrV)7;9hF`szOg#_$!1z*@e^%RHTN% zlVPl|R!5g9(@5jk8*RFtuQL}+0Otx{XHutT_?gHeg|X=Jl!_|Cx&3vUD9Y@$D?~Cu zWTY3h4<@WqJj5Zz-TLJ~GEo-wouCXf1&I^t+(2AF#)Cbda;cbY4 z%6h3c5vsp!RV%+fo63BoBTcB^K56ESt-?7JtNdLKQ~_-OZ>{DfWzbHA(Qp^qY?|aE znwsrC(hMmhPtoZJLN7rZI4nHkHP*43^a(7UR{t354Mr zUE9g$hD^6vi?5zS8<`r`;y2Te9}BW(F$txJe>#2Gx-jZP>G-IT`+NUjs*AtOpuofn zNDKb#K$ToEi#}KL;_HDd?&37el6|-OOM-$VmwEm&n%7fRN@`+q@AW=o3M)<(h&>V1 z?Vk!Xr-o2ZIq?ik!*fSO-Qxxw-Uq%J(Ch#YHK|WkIudO_B?{ zhl0S~bk=a{J1`;1SUYHn^kjH-H>5b!=QwdzV7)7%8$X+!V7=%_u;7P+D?Jx^`%8q~ zN|XRWvAcQA_r~ew!t>JI2T7V7!%T%<4rXOfK57u!qexmTAl$fEkKE6Yy003{=DBh> zr|aq707YH!-8}m3Pav;nZ z5StF??26tcxVaAta-_EWUAFIv^;&p-`95h<@Fb+*@OhUjSAQh3PWs(RVq0Xa67-%? z7bv;j|J@ru$ZwuA@cBu(qKn#%#7zc(-3`ir6<&&54T~fksd(O2v>>1<@mWpl>67@7 zA%{spVftCJ5ysnsbBNfOXP3IR=S5_0|2=_?_gHunfP~!5qMO4yR6-s8sWb=5r41v> z6-9G2+Iw!Rp&=40dP5IrpU%a8)~vo&?5T<2axn{gwe>CU3yJ;$7G~joj*K8i;5{On zmIx@#%8B28SXgEDu!`VN7WP1Z$wMRB_Id$-T^8|rxWQMArSSDvYHDC%Beq>E45SW}rv3b~a#>E?j_(MyHCH_`7WLN9Nay)q`cX;yk z0M;WCJigz%;LE5NPr7eEpbub^rj4sJ!PH7vCGoXevpsVsmI+Y9+AZotg!vom`upG!CB2dh)<=yS)Oae^$(x%VxfH&Y7%#Dn5g%R1^d8V?epwhF zTC-U6UDyD8kMvpy5TSw^aJ?f~aVe1Ymib7VR!@{-w$aueW0U(Lpj-8b&#Y zY@B}JmkC{6NWLBKg%Ph4$0JbD4Qs4NT;92`s0-w?|qtWWhc4EVvwk7dB~*# zI+We5g-RVNDe4)Y`PKkh)wNI|-?Y~0nES$ZJbv$25o-2CJN|`fQpPKDgxGFsSUU36 zPh+pspD9AGL&Pr#vH}LL67AwsTDwUFrb=_cbW+4)&v#@Q<8I(aM_)3eDh+m|aic^P zhK+W#&%ilQdW9X>$1Joh*CnM>_{ubTAZ;3?V@Pydo;4#W)MI>{ zH|Q1+cgp^on5+``Zvlya{ujUmC9*5CCaW9+>{3=j@oM}J&6i%x(9X zQ!CLr!$q))HGB5+5=8-2#@g^pO@W|ia8ZgKKD52vnW|ZJC{zB;5RI z7*RvJh|?o_*y)cyi>+&b#=1=Wm>`THcnLTGNv(INLdaH?MgKMc#iw1-=c?Gt=%I!0bVn#32ye7MG#sp6T(f#fp3~XZi(>WR>qCBNrd8>wKXUUrhXUVVs*Gb7oJmzyEYe^jmu2nDCG2m(S=pOUN%cxVO ztChHN@Q^wPUfEEYS4x(7kMspGfb_v6KY@0=AxDn?Gj-dPBuWrUYp0#(eF`!jCsSLCQxD}Cn``Nx%KB_SG);Hrt;+IYA4`E{ z1OUiv{^uiWaVJk6pjG+jRL$ac&Z@F3RS2d7$L9nUVA4VCHlhWv%HYXDztvgayX7yH z5wELmfNp?vGv(c9u}oJ~Zjx^s1U(*T(oK2t%g6$&am)9gmRTdm z%+3yU5%Pa6vyP?D)c%+gv;K(^qPj=F;@VmfL^Up5p(ZY+j?XMo=VzeDP*)zn!4 z+=v`JyaBn!J2ys9pr#2{h;$OK?P%#hSLBzbWcVNOOLzXP!bD(5d6Xp!WLY zM$hckkQc*gE>1=Uq4fxyJpdg|GSiOOj~sXZC*&MO-3*gl`N;Wx*8tZ87mxmp;gOSk zre6fr3t~Ib$BBOsPHdAK%yJ$eXfUT74d~QkAPsCjh1J&7yP!mKkwIAk>1dST?!Vw(VhGrU+}+=b z%&>O>!{=X^C49go$P9T6Qmu0d);hAKs8WKsvOf01h+{D_DE09tUxmSL>reZUvdixP z2giG=N(~y&>7^XmnfO8EbQh_2t!a=pkrlI(`|kb$+2Y%E3c8zR+pl@SCb9r>=)g{- z2752C8#zTIQ+AwrkpKS6kUHcg$bEyw$Pz|`;gRkAWiup{D`rDpVRA>;c|zLOwj8vM zRRj6&|L@4oKP|CL6B^Lz$%Cv@e*m}+Ylc=(CNt_8OXA-_=0+$WJwbZT$gjOEFwk-S zvWUeG97Z-d97d`|8i6L@1gTf*R|(7p<^c6bb;Uwtv(ZAVlDBAv0fm(k$feVvv{rsi zM9HL+p`QQO-r2o08HQo}w-4QiPB*QkmUR$hU{D=IR3}k%*hx^QL4Q~D2Xqib5J40b z6jXE&B; z)c*g1*118p4JOcspOa`-ec!p3P{f91$%>z8{zlVQR7$Ws@778}OCxUT*=A(Xxr}qb z3^0r0D;J$gI%5`XUZ#-fZ7J$%4?SV`@3e%?v3#$iu`=&TpNcJ6X@2#3)}!6pymcS1H3+MJ`J3eGoV?% z>fKTkcxP#KoZcxffZ9iw$+fgnmF|C-@Sjg(Sn3H&y z^17~+Bub^cMg{n6j;}*EDStqt*DouZKcMOeYLl)rq=dl^XFMnYZbT`sPSDwLxocc| zTm^WA(hHxUrwXHmFoAA;22iW;J>VL(|J>u%rq$8YnpuZq2ly3@4P+KIQ=Xg9rmVXe zTLs<&k5Q|>9oEpom_WA|gUC~T7d64S3#Q?ymO}bYLEkX=n$${c?2K{&7N%rrOib3F zoC9*kyhDQg6s^%4ZGZ`M`w~T+Y`2jU#EnApcx4NV4XdI<`@8wo4pd5zoYv;v;*@NQ zYb}cl$bs<;b#j_Dt_?APHUNC+n50`yU2$F$9Uaq^dJ ziE9P9jJh*lI`zqU&1hpxpp8aEP+RhKr!G)0*dTX9bPyuPMUq()mwFJ851+IC6yZWKKzjfEM z%LQ0Y$m?D6d@s+-g|d+pYKi{{d_b8dmSbXUi3zmvFL;3w;1W8u{3383XxzTo8J0_= z<|7XF%41xsW(3af1=Wf?+N+gvecYKv&6FFn1bju=Bwv8fz&PejHg<^#w9za)s2%zo zFpBaiMv;&QxA>fnZ3=`n)_lkv!Hs_9^?qhw=l02O)v9K?>;2Q~{nf>s>%%UrKt5A{ sT-avhknoP7%#ksaJ2HXAb{b9KFO5Csm%u|`=>Px#07*qoM6N<$g25l*7XSbN diff --git a/res/wearable/images/tw_fota_progress_final.png b/res/wearable/images/tw_fota_progress_final.png deleted file mode 100755 index 7959b95bcacfdf3bd6558a9f38624498a3ae34a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17677 zcmb81byQVdx9|^*bV)Zz2nf<$(v3(-N_Tg+bST{+ARwT0ql6&cNH<47y8Bz_dGCAg z9bb;`4+fjP7dzITYvyn6C^Z#XOf*t72n2#DFDLaH0)exF{h%U)Jw99Sropc#PI9`g z;5QuX2acciOdM>``@GR{d*x#O&dt#U0`barRr;l>py{NYbHXmm_dkm&2X2^J$pdtVO8-xoe#jDFP?km^UUu-PBqtX=a=H#H#7)kWoN-tA&uaYZ%N%IzZbbn|+dr#r6a@ zABt5=*t(KA!JtZ!&ImHbpa!`ma>QVvPHKS;0y@Sk4Gcv%%lx3i`dh~5LG*Zq{fGq8 z&uW zrNc8R+>Tkwma4TH3^60u5kul30h$zTyXr`XNIa`TN)eyZ?hY0b;Eauney@&)aN|k_ zxy)vZ+A+a&P^*hJYWpi^>W0+J-K>Q+<95^9D_G8=*YLTutP38o*J2VB19I2 zl!myy);x=nK zVn(-JDwsBI2zcKx=V*EwgFbQ5=3M?kiuTfQSG_&glVqa;GtoKFkzL~OkqcF!WEtce>n>& z*Jmhy{`vV;Q2$age1K%WYK2~Oh;UaB5>rEB$q$8bZftHY1RVw{CI)Qc5tUl~7sMEI z$>Yh&BuWf|F_s#;?5Hp0HgiX`yjKURn+?~RgO_YY)*Rm%m-6{}PUh?>lQ|B}$w9XR z!@3fQ!S%zyDJZ|{9RbE~VkZ|}sFL}>l)-st%nO+r2xF2|zE zXw%di;a23i?|fr(*NMO{a%Oy8c=!C#YGglyZr4!rYx~YgXGG%@1h2w~Qj(TEZ8g^0 z>otKD3tQZrkCyVgy>DL1eL9#qH9OiJMN)rw=`6Te_Ha{}bhMPcPOJJZeGf~3IIBHA zOZ`DNy7AfFg)psR{>7z_rqLrzz!czrG{UI|pt+}<##KUArw(!Y8NBV_q*rh zv@~mtU8$OmtC4mls5IXl#k{c1H>nEkFGzW-zY-{I_q2U32zu_`;75&paZfE={`1n& z=7%RsZ`>XJys}d{D32JMjokIGb!XuMQC7Rt0-b zFwUuU?2Ig3PPI9_!{=I9&U#~mCYF|2jCSVt(=J4nvq#pR-f(=?AnOofj>mzAiE~Pq zwU`OIrKlWqlVqa>0f-w*&i;V$qir(^R8n#ky%RfzC^tcMDZrVO_uC^-wq;i7$htqMh& zp1jQqXnveKQpSPs7iQYgJ(~Co+r4w8D&4;}+CWpV=sSO-#gVVD55?-w4R%D@)vCul z#9w(#4mp&GrU`=_E^8|<#5}~Y<(y_T4L7DpO6@w>s^9tsuBEkjytjP2io#j%?*fHV zhK94ui-Se+ktJIfF8k#RNAe`8M4^$ue4myFEvG8$?;AArtF148(aI{#hF+)H>1w*` zmspfNXG&Y}*{nzl?7p~Z*vPBXFuF=k%XVDqQpq}gYVmUjKA%zaD?<&Ui?2rL?#@lb zs{SO-gCHgQM|7imdBT?_@p>E;p}C2RlMUE6H+<+q+JWTnIn|@r`Sv@XoVa*?MdF$r zo4a^olt)Z4MLY)kFZvkrmzMj#`C@9Hw)doJvgJ8(u%Pv)y?wj&u>82UayFM2(HTqi z^^A8tidSgm7KOKQ_14Z=T7Uz;RdvTljVh(hVDCL|HA#n4Y@de9T1Af8Z0@*r9t!V* zqW<;WG=95+YM6v>%T$f_i8m#>pf=wc3R5kvpv*x9oSA%mosuAvmMer*)rfKguJT_B%*o}PBt4L}X zZ_GW7n4nO4H`kbPN4pSqbAC%uc0R-&UQp1(imOw@@wzYXB!7nNfHNEqD4L}kMh4;Yy!y#Uy($tcsTLcv)@@Z z)VYXqY>3^`7}@M3w+hW5>GR00>rj#+Aqb9i(WUBp`p28p?!RLp^bcqwg7jtHgwYXl z<95^S@(+>Ig7>Vru@F1kTD7u64EesnwR|)k%O#0=B=m5H@MI^xRg{yA(}8lqJrZ=P;m zluRlZ^=Uiz#D1W0ks97idB|j|c+0U&X0&;6TDhsv*KP=>CQnN^m^1^(0rxgK;zBZ9l?du1<78}gtYWTQ&r@YxaLn2HO|aIRC+ z198Hr-+sHwKcN1R{1ot%Uzt)20#RR%>e+Ylym`?^_WL&qor0%cwO^SvTh%_UkYBxt z*_`_oiRtukLIPC3cG0;&^I+HOJIrA@nmr1VF0<=-O9i|g^B4uAcZ!y2eT(W=kztvl zJ~N%pTlmhb?ECKo{}78ZHeQRvX}&%Y)z;D^v85_+G)mSR72a96nuBsAj=zyXh1;tV z6Z@Gu8W`QM^|MWQ`hpZaNW@C|H^Cyo~8A+LWFE_l; zYX1}SZ8?q!EQAk&FDg-|mS*6B;6z9}NQ-bJzpqyXe&@I>Ss9yIOpoU+ZnRbVYjq_YFIp;L5$}-jtpN-e-P_A z``a*vgFDJ2ytUBeqESL6j%wY^>v(gd(!IFLXxiKygBn`%+igAOp|ZkI)y%)_#m2<5 z6F%Y2)BCueNO^O>`s~h1G|%sU%p9%0Xmu1r4x+ONs|yozB!mhLHVp{eW>|;MeCA7) zq<6as9quX_-A4;#o)mS=IG>d4xoI3Fe`Mci)1!>uy0)9>)nN3~W?xpwzC`LW8mvP= zF3^c>t6t@)b)Wxo*`$k})-whdHWF~9w-#0Wh(dk(&spFhP5O1y9S5k|-;8yq7UXE3 z64->-%@TXu8`TerSSmR%CMB(q?@In+s2O%!6U^JX`C zE0v8!b64;7C|q)>ic)ldkCC0~EN)zsQ@jd%h zuFi#W(Agtq+?W}u;mBo%X(z`}`xb6~QR}VR`9;k7+{Z@b27&lzH66crJNhn5I3)Xz z0`D3^E8@^Auw^Mm3TW_zy{~-NoMcd+y+4dHU%|)~z7s*k#J!(^)UnMP>+ATZ0~_SN zX(_t&Y3a!6iniw>)QETFeu#3wE^aps=NPkpy&3=V#=!HhvQ;o@0a;BG))$^3gA+mX z;i%o8FY%7b3S6naoI2{B3k99s#_+WVkT!LYF2T;irqh8EyZyOK_gMc46B`xVrNAtA z$pTsI*c(YyxC-AD+LHC{B6TA!G^DB3oua)vJ+1o}OQM}S=aZ12<^yrNHNWOcRcmX* zu!L0!s}pHallZdFc4ihsLoqhpdo&cE+c!L;zOc`g_>snWeKwD!vuxgwY;A;2bSY(O zN2xu(o$^OV>Mi{}F=wuBPyX@)<$-B*VD98L?Yp71MW2hhMraSY(=;l9w8WKI*w`k? zv98-R>T)i=>*h>tY0>;|s}g1O)WdIfVpm&;X&KxaqDiPU#+5>KnOTi)j&($c#oIsW zmJeUNeZp}b*iD-Z?6l2-Dk-+Ckai}bU%A`G)mtO`;fJz^>)aDMtC-Uq^TkEI~!j#vOvM7btiW!yMe3z+>tRtRzzI-{r`SZ^2VF~Db?OL^RJ??ojg+!L^ z3LB5+8>)n7+5QQdru=l=;n$QE9g21~UM!gnuvcIHS=0gOWbSeIX9LL?Rs#m3uC*4h zE6HP6hE2$_(hUDD&1%-I6)jvm_bc2}2xBH1OI}c3upr=*X?>nEbv6zM8yIu=ZMU^h zgmIWKd2=2dd+l(UJlM*t{S~Zaxw<_8#o;(vzXa{-pVn@u#qaw^YYvZhr(e5nBw00> zDq4)z&Cg0t^QL_A6PJAvX5xJl`WSs7&*ZWv5Yg3}WQ@$8cjkrCR3n%zn#7Z^hVh@5|Btg4bJct*4Yo8V5e2t)K2p-q?D| z(clSsUj-C2Y@fdweV6`*_sJDHI+Y7*n$%twS4APN zPeq>~(IAGnPA{*{Z6t)0|7qBIPN=1qCwehSpUm@unPiO6^BzH8^W3x0nkD!42kOdLs#_koj@Vz{IJSCZWJFvF>{c#ciqQgSTU{IO0~Z<(3rh5nS1o~uB619-8x zE0=^D`ar(Zzle#FOmh~OR~w<_*nAM_3l#nlLNZ>ZEZ+)C()up@Ruy=l* z=S*KD1D3?*p4f(3%Yx7O{P>K1Ja8A_Ul8Re5MeTkz`=kGr7xMJD6!aYbdbyh=0!PEk<&_lW`WbohNvL0X)32SruS^PYv3=Y&mTt zQHvQ@rehkPYq$FQ>^IevD?F6ZjnWq}u*qZp!5w_xa-l_5;SiwjSu}=|1WY!=$nDu- ztt`;c)FZd>uTQV1#}}=wzO-CB$Jjcan~m(I*Wq$+c}&_lPaASr?Btf>z+45-l>k=Q z6i#HV_}{)f*6-G6!Hm--(9^H?+!)61D zKj^#lTtkL;UwaLzefdmil@!EXi)#&$M)Lh_Ua3=0`Rwi?RAs_t*9YT7zwc)yahk>m zd#mbCL69Sz!jI6KGLo5G)-I22wKv(9Yl$}Cmghrlcy$%`-J&noY$^U3mgNbLALH_0`;U;Cx=5i1ZQXb7h&Tq&zAOA_NjVpXswBxj}U{{|y|!rU-nH z;Ix64do2zHULHmYdIOj*pVl_u5~sz2MaT4k+H01%-N3NjBVqt)!FB0e;MZqnX1L1V zcD_uu@fUB&qTyYj&F8D-NzOCKl1wBrW^olVsY0Wbvsu#;x~}}a7K#Ii5n+t^bM98* z-)?H(GiwRu^`27A-cq)gA-^J_;noHA?0&rOJ%+2pgdZ_#(lb<^J8$#vny&Oo=k$Jv z!-S~^iB1He;^N1nc@Ui8_PZ}$L^@)Ou7e1ZKJ2T=Sj>DLE7yrm``X$`8Q z6E^HXXH(p@&ecYscWIEL7Rcj~)Xa&sJ0-E@7*tIgp6ip4S_znM2B$;Y|8BkyceYsC(ofj2}86CKpm6}dW#H|}P$m<*F+~PF>l?vOA=!2b#vV&% zV@WvJ&R5RHv*dLO+V*wm`s|xLy$ss6lV%V8@kwAr+lL)>! zLZjWKWLgkm!{XyuXaKGxQ<9$^Ir{*`aOGQjrc{J^!?QuJ13m}1;nqvdT64|m%(ypC zrlkj2X_`2V{*1g%|FZC zV;YD`!%cz+%|vc)m*?uMN+^6}qrA;>63?>59x+pd`pHyaCOuOVF#xu@14q)TrYyJ0 z@lSjqIPz29*J)eol4mW*VqaiXBU_>tGd>qra)-8Do!b&JlgqVM8q`NVmgIU@LlrnU z0up(zToI&yj&n&eRelC%2`aqTx2>`}pqNYOG|%gA`|~6&AC^dj|EODw-CT5y@z2?$ zK&~xOD09?`movk<*l9k2p(f86b%6MDEVGHQJ8v8=Z!9`v|sbd&Urovfmd`oV|w-|wZ z=F2=gefjWh8jMy|_jZS!d= zBJ=Xk#m|+3f1Y6axo0w`!UHX1uz7c5lQ`0_a)d0pemQV&sbU6HG%{o<>#~qi;uQJ9 z_w5=6g!-~>Kc+zpyh1)75;*50vC9nK9M+p(}|$}tSh#`N7+lCaLuA}edHG&jC{tI91T1*D4? zB(h~eR(af}n;`yklYxsC{-*N8+)WmRA+ldR5zJnC4#}dG=j^igVpDrw4T~ojt6|j}j&(U$u%jt(ka|vE+>reeX{K$rz~i zA@YY_JQeG_)K=Gy#F5NUU}q6PFyBs>{dqH!4mWJ3+xcbg9fvq#cpJIBKM>+Fu!Zp> zXxpuo%>3YYDZk5K#X7-{w=F_l33d{wG;XFnJBeEz2UwN7d;^QBNZeahd@nCZGAmfi z3`YynpMyKaC`rqR^^frXaypiWW`+JrOzB(p_K2L^mHihaTJZiR29=_>zITn~wNxBU z(phmmJ{zXMd{X|^e46ZA8tfM3f7k3{a?)F=L{hT&iaj0U&NHZ-j&i9l<+?Zl5?8xp z4%L~vEeo=6IkmKMFGNF-HD$*Hl9OfV5ueiTw)ytccIEjXQ>~^e+%r4^!yKyu@Lbk% z97ioPm&~;(ypEMdgc-l+y3z;MXKW9|Q@^v{J_u3vf_q~)9t`!3WVLP}$@xJCpUJDI zZDaohRLPvZ)q(9D`LiWE{a{$FbvsTX%$e`KU{@KZY1Fw*r;j6vx|D7h5kIn;1eYVC ze2bhCgw2ja8#czjWB%t41|^o&;7q6@^GE4h_;=J-Gd%;ZPz#2N(+ZM*N$NFF>XSZP zf~u)Z_fjUsARgkMWj;nj*vl+|EZvqIgm*=kiiOzDBvZ1Ntr7DI7de0TA)e zSZCMu^HLVajBxhbP+R*?pjwE}4vZU^j8qwmV<+)RLfe8F8G7pM3@>Z&PjhEA+?-~T zRC@nr0b<@GWPVewwelb(7vw#j_}Bben-NYzAiS5sNInTov^94ge*e1Ttm5q8nr3WP zNE784nq`YY?JIf2&dFfxC~4G!CnrJ_vXP%eR%o+-aYG=W!d_2`|7gtNFb&j5#N^%?NfXX*lpHXH;e;95a-=aOMIJ zS&drQtQJP+W=5NXfKZ zO7X*$Rygoa+4Y!HYsbHTZL?sH4%>4A8mDc?oTdAOyVrT%6Bn--!d)Ai66^288+HaB(=2 z%xDPU^}Hs)l$y2^S5Hj)1iW!3(?1q0>cPnJx8o~eaEkgB;7&f}Req4OD(ugM!z9on z9xVhn670}`C(Xdk6um8gm5FTY_s_7b%ILxgDMIr~UIJxXv05B(Gec)JDgA{?fCJ(7 zEyy5ou7u4B_+MQuE45EF!zwxqVpY})3!QmNH87bYBLegA&9X4lV^KN+`b z(G6Jr^T_;@gIcsm3)X7WD#I!m3>toeuqVr^ET5OJD0efgz|85b{pa>@#w_;jGy$M8 zjF{}2+3tiqpnvONtPnnF=9{ttd6}LR&hOHP4-Q=$gl@e&nMM< zN&F{UI7Tb0AErNFt!HIY)RL!9-?jcryE4>f2J-c~WZKi#dhzGqFKAIPN_3Xj)0p!v z39O+3nSQln&h+F)^RYp*`?7c}Y2^({wN3S}cMUJ{bi9G!H=l93xgjTDSpD#osCBhH z_EQA%!X-amFY`}D0}Uq4 zE+qfG6qZSsw%`;HJPc?F)xTRXIazO{YI{GhE|$`m^mAZY)qYibiYV&Kb)sW_?A@!EFxP=Z zft?G)Pe$rSjX_t z(G;0IMaVQ@BZ8ScMFzK@rrOjut8W7zW+3sn`@D-l!%uHxx! znG7KdaTNM3q;^^3;NFY#&nz%6s5mX8_;S?H#3{eA!5|3x5c6v^|>B^Ts3g8?=AHgOoLp6sU%#&L7GBo^t z$u%sZ!OfvRg4_-dUVz3+u$9kUDrRf3kJ)%OJ@Z$){l0K}q}KItk_BiU&J;r#ki;I> z)~kJ#S(%OX*s{5luRN@sR2*=+2A)ET#o0;W-?I;#l@~rF75;k#jgK0h4Y9@?>V&+P z&cnR0nP9a$*f8d>R;ivG)EN#U{Pd6)N<2kQIC*hbZS7A5u94)x8!bUAcP}>k*Yu2t zc9s@t_8zXev{thMp(@{ucWc=+vcwq77$Ok)U>2rvKdJo1$vHH@*U)i#666fVKu*4= z7}@f2WLl$Zht&$;Nd6H-*RF$$wHWrB9@dJa%?Hqv0IjvkHbju`G3#Hx_1K^kZPfR3 zw9%c5qFH0$yeCXdj#o`b0NNv|_Fc6>H9H7KJYj50b63XGxAw`o@fU!b;?c%L0w;un zOg${GSn;mLCIhwuPuU1O=*Xtu9^qAcxUi@0=w>1%Tne<^%=O)1#5fcJKpX6)d zx*?YJd&@MTIFdUdwexwCXqG`tHLe&hQR>9_kLbhT%eBa=noQVUSZ=QdXvxG77i|=^FLDRZxW6)g zK7xD2JRoc4`KrE>#~0#CS_d}}-G49<80K~9yT*nGM;Y3xqdXuG7&DdH|G|QcT$(Pd zq~){BXboa{>7L`px6UTSI)Fe?H}dgV)febsrMFEO_5CX+1>4+<&t1qOMTC+L3&(2d z!vk?Vck`!7B+nfWtDtV77MG$&u^68*g*8s-> zbWM?<9z=ul)`+16HZs*Vqu6!U*mqLB)7HLQYFi|Ma2A&v612Jh7TZMabd&R=QMSGR zZhw{6AsO)3hi|5m43q+#8!YHv%F#Q{-gq4f9bjY7hXw67X)cXE}ae05I{&*dy0Tu=rF~?UvkI# zdtRDbVC?u;D;rjJ!@0nLBcBaXA7nW-ao?PH(X#W{gPhQafpAZd%46-d_CzgsgOee> zJ&&M>nSy>evmj$5a;jK8Ii42jgU1EV{?6*pq2_1`&9KauU=u*U$iKk^xj{oa^&OV) zq}-#rpL1DWb&ZX!FqTJzA#pnknl*3SF@WUp&R-W8>yr9e5I8kjGX{YHv9QeWtjYm@ zXB0n$OW|(ht#sG8otW)`aSV$>-TY@z7R}$W5_MkQio2Be00Ac<4I&drhzV#8`hs+V zL`9`vS@Gm;j>0fwxzd|1nXz{+o_&JtS=v^5Rl%b#Zt|pNLx8&v<6=M>oK}(A)ANg> z8`~3XD}atlIavGYRp%6#6ojq>9OX*Qg2lnt1?+zU*!8M9XK~`HVP%K^!yg|!$}tE8 zz*+HE$aU|>F%ay2Ev9{UkL=Z@KrJvMPU5M0#j3}7`OKJj-`)=aZ{wW7?+hdHQ_z8@ zAac+4q~6*5%WG-g+{S%*830KWL_zI+(?J%{Q0UwBS!zJ3DK!btv%6^hO(y0e1n)K-Ew})?LJeBvIp@WvgxjFlJIYPv}$U%<1*akIpd0hjc>NQQ{jpu|mazT=QOiUO(_soW+~>bYVEnc^8S~t1$hYCO!d8gO8w^qCfWw z`quxgor9l*BN;;{Qx>3R(*MlkNJfH<{!Jol_6S6XiR%Ws=cl7&4#;DM zUl^9;v#Qn>6n-E3bxBD+|2h=<30Lw-QvLl{%a`89jxV0?)OM^7$-F+Xip`bkfAoo_ zQ-a}La)lQJm=SQM*IhqK-%|r1&06(Y7YTim90k##s!BMWvV!<+ zPCVUu_(%5L`Xbj8rGdJgLr^{gzM1-INv9$JbI#_Yh*Ub#V+BS{Gm?R>#Q^|V+{DsM z#cX^QPvAHA*|nTspP$eqlYD8#Iy4)EvQOBSx;37oJ={qceS^v~YL z0MwtX`+}0M=VZ3SHJ_c_f|NLsal0*iA;?U37PP0{$K%AZZ&Mk!H5-u+RDgn)>5 zpLdEZ-T62z)b+Qr?~`wNT=9TARm?napP5mSU2DXb4Mz=%?6t=MKaIaI>=VeQA8kf6 ze!3{JX!jVZldOQDH2;+1M087seG)RXtfp-l>-l)lRja&cNqDS5VG$WZos*NN(N4Kv zF9-?Bs&|SqpIx(b(n67BB2ChL2P4!RX1bpFEPOUhkOJ6PTI|i)Cn@n;kHv9(!N8Mh ziE+PJ8VH0Kx^&W1e2^obaT0=)naS#YxagSeIk?e+`4mYKs`^mx*he7(s-Lr;jGSZ0 zk@P&N9&_F;Pq6RU7x{?1{&Obl3e(a@g*1|XWU55;j#ia6Lb8Cmyn6}}7xulo?7&p) zB!9RxgDNV-=655m)uRC5(!gimDl3O;=nKD0^QF~`@;DGq0oUvYNA0=}_Zln6vg3u# zQp$m1ZRQy$vWHJ?y)KSdWO-xMd2nr2;$+dm;~C)3X(NTItPCS=l-7p)+C4xi8U~d? z(iC%sbjga8eZ&(8KetxCf)Qe8lpm2G-!)&n{ULVW+4(&t0+l8xi3sVs^zo7i#_O~! z^y5WBMIRJEMkC&AiZ~`29rToRP98^3O&!%*&692~pG2BNeOHv-ltEReyXLh05VlW_ z+rGFYBJVmUUK`I~(o5-qI3T%S{p)_7YR)Ps!0$N_kkS@>ls&-9uDB@a%6o=d@Jj*} zZrR_d()l=AOxl$zddj8z$E|9fQoCaPo!l>6xAf7;#@7cse`oEjh6*uU)7l)|4=39j zDQS{Bz8v_+!1hoo^AC#T+>5HN4E#d`5RK8Xlg=Q%s;GN4S3OG?9tmU3e%R-U<%LZ!&~L$1 zA~1Fgr#CV^<0aRqmYN?LRE{p0gbA?mmHAf$T&5)#8krCXYVg<&HZOWTPc77)z%&In<>L=Nj0SEx zfiAm&&Cy7M0BPXiqdfL^bXG7z6i1EAJMUw}mgSlyfr#4(_zzt!g$E`9O2m2q2%ulC z2+QUOy8U?F)^noDuc8ZIsn|(rlPPJ%24^hEE@a6@T%h5+d6ueg>@|KRlS$yinnz9> zCI&oUBwwa|Pf0|hUxMZeQlif(Ij-b5I(E&MQJ%YBYMTC*+zb8SwJgVPbFRCgYV4ni zZOH)Z(6fW{2~cEO03jK#<9nmIV(nkGrW#d+PLu5QEv$CE887jLVOs_$F8;&ekc>fQ zXa1r#aIh{pf=LH&=EC>taeRx{>cuI3X&|px& z&fq{<&w<=tOL^NE?Eej%*f8gb+Nb~+eu3b4ZZef}Z8JkTh^BIJ(# z9?RZmIo!)%Dehd5krce)Tqm6vx$LmbY&?@4XKlcCvVWfAcF-;4U(a*fZKT*ZYU^{) zZOQ?%>=x;bS0eMNWJ@PSnXhfgnt_}iHEy=Q)7Xeh4`xw;y_CnG(DzlE z##emA7T@+?=G-d{PeQ@?-y*YE>^&c>Q7|OG5sMbDfi^U40ZTEi$}!UOpRXgsR06*W zoREZMTzC(D$@9QSwMRMRdBb*%&}&(%?g;e%dUHgnADOnpz(1%g;GA3b{>AMU<*Z;p z#6f2SOzl3-XlktQEJS@c-T?q5j4>kypje!F1PUYw2Ip+=rYr!TC-`WVYu1%QyR#&NL=Vv;zqop9+F|Ahx}zr#`rse|u#-?BJa#|cGiz(! zQ$)wzz;gu^26?S*@FC`1q60bwUzDDS<4nzuJE5;?26O|R(GL*rU514 zp9omRpff`4z$X54|6c z8+ey(l>zO}BkPZmTO*8+CJ&s3>~bRH)`t)LhbQo>aFHbqsxQhPfBm#1x`)LMbTdC< z{ulhdi0%Ye_>KIpTYX(k^Dq7&v{82uIsN3gVVT#BfTwIeyUp`>{j$ODK|`H=jZDJE z(S`vye%-P|(kMnb#JV070Y7!zPdC0PwP1e~dQmq3K$)w?N$hsn&ucEa*d?!8wJi0D58|EprBKga^~Btq;~w;qQVqqI{Zq`>@2}d))oK zH(;zBAli*Q`-FfcBfg}?jm8g{T{HMQRF3)5C=d>kC`D_?e_gm5xbN6S1phMMG_-mK zF~i`!mJd-4C;+KMI@tsI0`joj<9>@vQ@HDX$yx% zME+j93OT$T>_7@ah>z;hb_}6qFZ{iTLZ~*WXk-cEu7nCMO(Yl~1LI(RG?&0Zu$_{1 zy7!6zcf;jf+-WgbP6!d{fO_@sL-l^8#QV072&ug9jOaV;S*;+l48vLVyt_t$!CuU^ zDu1E-tMf~d|8C$~sc)bGZ59L;&ij=m`_i3egXQI>?dTk_SIG1r5F~teY8ecd{usJdN)h+S{tXu|FH1XLSx^&+oG@|UXo>E=&1Q-3y+RC^kD{W1_1g|+?s zAN!P^jH(w!tu|8VD=(lwX0TOeV=JAFekNA#n3`Y)!Ekp>P*gZvj&U~;u4l(1lb)a@ zqkUd3Pw&|9O33G@!l_s z#_wsjmQpDDk^?%oDrn`yC2&1{OEB`zLc-FNS`xJ%-K_Yv7-N3zw z>Mh^W&109*PwY27WZ$%Yj$A$j53^l~f@B=!9-3?3?&UnvZqbKE+j|&?&~4PW!Q6Z_ zoolvMFT&s>E%E^{Ex$zUZ}Y1IYrndl_c=4+7c&J+K4ej|d!p!ZxMJqm^QqKzj&r@| zNMt1HxcSKHf=FW=@Z8a~>PuX@-9S@7Sw*ay7`k}cy^fSyvS+giJY>InJ$rBzE`0|9 z>WL6KZ~E0qn(WWwouf-Q7fTS=&#gGR52&#G+Z)x{mGwx0^VQZQ6B*&K+KW}CncP!h zZQe^PjtoXoB{X!TH)W-#A-g;Gs-26Ete{I7H4t4a|D)|DYwYY0EP+3t`^W=J!4q$I zVIU%uPX!zV{Uy25%6HIQI1)X+S7p9(_|$ZiSEsO6NA)e7i|Ui>34>p*Gvfc!|0#VR zr&gHWaG2BUBtVw_ck%Z3&NFlToGq@*|JDE+UE21V3iOmZoV~JRTbu_~h8SKTL)XrM zw~=THMwj`Z_Jer0Z1e=pn*`Pp6k)Zf|6T_aR1jnK_dr`X8mM%TeZIm>uBHL5(B*)3 ziw7(fyYcF6DVCpSi9ZgmGX#R@3HvTUx|4Ah=o9|^w~fjLpjJ_Pc^ye1aI}~1o}Udz zY4Gp@SnPDqkpuD>BXHpFENek zPrCyd?jP=rd`Y*GU@eRE#x;G`@$CNrDrWlct`!DMvVK#TjsMk472iKRFYkCjxB2dw zj2PmG1gHwGote||My)JR0%We;QJJ?hP|oNT^sXj00Us^~sUDL$C#j-J&Zqhv$) z^thLIaI~bzHA{8!>jVH3BK_y5&!{{8*v@oa~l0!djh!7wW_0$(0)`g7)w&0!5X`^nE1xHGDY zVD+1e%Lf@ycIna}-oZo=9F~4~k_%gD15hecfLEmebV_x*|7{v89uIZD6b7<96F+Jp z|L1|%VoV=UA}3I4CeX`WGCr5*m#-qwdTO9uJqZ@AbYMn1K}8_U|1Ft`%pyH0JT`=3 zoZ*+BE^N#%1j^^e9A+9a8ocHl8CG1Q@MO0i=kaAQ@L=UD%BBApXKnNL(7i&%zGe-8CWa+ z++F7}u?$>&!d(D+Qrh~R#&JP%@yYOR03wwt4l0+4aHCJm`!8FAKDCL%KAON89VUw~ zL4aikgP1a|*~k4ncs^!{g>vfQ3#RccB?hT#-uSXtbQvQ&LG8R`*^MFYm&2x{U}ET= z9LhdqEvjicubXT6ux($v^ViyA!0g8uG6e6eVs}+D;kg(4XHXvIq;KB@NIM2ZRW~2@ zVFw1Y9()l%1SybUdSZ`aHt3*}EO0B%=Z>aI6?#?QXm(cndX0Gg*Ow&B{`rzbSjz>* z&;QGZEkwTcaXpJIhX826y`PHu2TcMgnwun(mrBakMl69}-(K4WH!_C;y>QFe=KueP qIoz}Z=>Gq|%Tezcq_%z+==P_lP~}TIA^4ODL|$4&s!Gy0A diff --git a/res/wearable/images/tw_start_downloading.png b/res/wearable/images/tw_start_downloading.png deleted file mode 100755 index b1ab5d27ed5a51e45b6631c6542c4661479cad8f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17714 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 diff --git a/scripts/wearable/41-tota-ua.list b/scripts/wearable/41-tota-ua.list deleted file mode 100755 index 6e45816..0000000 --- a/scripts/wearable/41-tota-ua.list +++ /dev/null @@ -1,124 +0,0 @@ -# ---- Target contents ----------------------------------------------------- # -VERBATIMS=" -/usr/share/fota/res/images/tw_fota_downloading_0.png -/usr/share/fota/res/images/tw_fota_downloading_1.png -/usr/share/fota/res/images/tw_fota_downloading_2.png -/usr/share/fota/res/images/tw_fota_downloading_3.png -/usr/share/fota/res/images/tw_fota_downloading_4.png -/usr/share/fota/res/images/tw_fota_downloading_5.png -/usr/share/fota/res/images/tw_fota_downloading_6.png -/usr/share/fota/res/images/tw_fota_downloading_7.png -/usr/share/fota/res/images/tw_fota_downloading_8.png -/usr/share/fota/res/images/tw_fota_downloading_9.png -/usr/share/fota/res/images/tw_fota_downloading_percent.png -/usr/share/fota/res/images/tw_fota_progress_000.png -/usr/share/fota/res/images/tw_fota_progress_001.png -/usr/share/fota/res/images/tw_fota_progress_002.png -/usr/share/fota/res/images/tw_fota_progress_003.png -/usr/share/fota/res/images/tw_fota_progress_004.png -/usr/share/fota/res/images/tw_fota_progress_005.png -/usr/share/fota/res/images/tw_fota_progress_006.png -/usr/share/fota/res/images/tw_fota_progress_007.png -/usr/share/fota/res/images/tw_fota_progress_008.png -/usr/share/fota/res/images/tw_fota_progress_009.png -/usr/share/fota/res/images/tw_fota_progress_010.png -/usr/share/fota/res/images/tw_fota_progress_011.png -/usr/share/fota/res/images/tw_fota_progress_012.png -/usr/share/fota/res/images/tw_fota_progress_013.png -/usr/share/fota/res/images/tw_fota_progress_014.png -/usr/share/fota/res/images/tw_fota_progress_015.png -/usr/share/fota/res/images/tw_fota_progress_016.png -/usr/share/fota/res/images/tw_fota_progress_017.png -/usr/share/fota/res/images/tw_fota_progress_018.png -/usr/share/fota/res/images/tw_fota_progress_019.png -/usr/share/fota/res/images/tw_fota_progress_020.png -/usr/share/fota/res/images/tw_fota_progress_021.png -/usr/share/fota/res/images/tw_fota_progress_022.png -/usr/share/fota/res/images/tw_fota_progress_023.png -/usr/share/fota/res/images/tw_fota_progress_024.png -/usr/share/fota/res/images/tw_fota_progress_025.png -/usr/share/fota/res/images/tw_fota_progress_026.png -/usr/share/fota/res/images/tw_fota_progress_027.png -/usr/share/fota/res/images/tw_fota_progress_028.png -/usr/share/fota/res/images/tw_fota_progress_029.png -/usr/share/fota/res/images/tw_fota_progress_030.png -/usr/share/fota/res/images/tw_fota_progress_031.png -/usr/share/fota/res/images/tw_fota_progress_032.png -/usr/share/fota/res/images/tw_fota_progress_033.png -/usr/share/fota/res/images/tw_fota_progress_034.png -/usr/share/fota/res/images/tw_fota_progress_035.png -/usr/share/fota/res/images/tw_fota_progress_036.png -/usr/share/fota/res/images/tw_fota_progress_037.png -/usr/share/fota/res/images/tw_fota_progress_038.png -/usr/share/fota/res/images/tw_fota_progress_039.png -/usr/share/fota/res/images/tw_fota_progress_040.png -/usr/share/fota/res/images/tw_fota_progress_041.png -/usr/share/fota/res/images/tw_fota_progress_042.png -/usr/share/fota/res/images/tw_fota_progress_043.png -/usr/share/fota/res/images/tw_fota_progress_044.png -/usr/share/fota/res/images/tw_fota_progress_045.png -/usr/share/fota/res/images/tw_fota_progress_046.png -/usr/share/fota/res/images/tw_fota_progress_047.png -/usr/share/fota/res/images/tw_fota_progress_048.png -/usr/share/fota/res/images/tw_fota_progress_049.png -/usr/share/fota/res/images/tw_fota_progress_050.png -/usr/share/fota/res/images/tw_fota_progress_051.png -/usr/share/fota/res/images/tw_fota_progress_052.png -/usr/share/fota/res/images/tw_fota_progress_053.png -/usr/share/fota/res/images/tw_fota_progress_054.png -/usr/share/fota/res/images/tw_fota_progress_055.png -/usr/share/fota/res/images/tw_fota_progress_056.png -/usr/share/fota/res/images/tw_fota_progress_057.png -/usr/share/fota/res/images/tw_fota_progress_058.png -/usr/share/fota/res/images/tw_fota_progress_059.png -/usr/share/fota/res/images/tw_fota_progress_060.png -/usr/share/fota/res/images/tw_fota_progress_061.png -/usr/share/fota/res/images/tw_fota_progress_062.png -/usr/share/fota/res/images/tw_fota_progress_063.png -/usr/share/fota/res/images/tw_fota_progress_064.png -/usr/share/fota/res/images/tw_fota_progress_065.png -/usr/share/fota/res/images/tw_fota_progress_066.png -/usr/share/fota/res/images/tw_fota_progress_067.png -/usr/share/fota/res/images/tw_fota_progress_068.png -/usr/share/fota/res/images/tw_fota_progress_069.png -/usr/share/fota/res/images/tw_fota_progress_070.png -/usr/share/fota/res/images/tw_fota_progress_071.png -/usr/share/fota/res/images/tw_fota_progress_072.png -/usr/share/fota/res/images/tw_fota_progress_073.png -/usr/share/fota/res/images/tw_fota_progress_074.png -/usr/share/fota/res/images/tw_fota_progress_075.png -/usr/share/fota/res/images/tw_fota_progress_076.png -/usr/share/fota/res/images/tw_fota_progress_077.png -/usr/share/fota/res/images/tw_fota_progress_078.png -/usr/share/fota/res/images/tw_fota_progress_079.png -/usr/share/fota/res/images/tw_fota_progress_080.png -/usr/share/fota/res/images/tw_fota_progress_081.png -/usr/share/fota/res/images/tw_fota_progress_082.png -/usr/share/fota/res/images/tw_fota_progress_083.png -/usr/share/fota/res/images/tw_fota_progress_084.png -/usr/share/fota/res/images/tw_fota_progress_085.png -/usr/share/fota/res/images/tw_fota_progress_086.png -/usr/share/fota/res/images/tw_fota_progress_087.png -/usr/share/fota/res/images/tw_fota_progress_088.png -/usr/share/fota/res/images/tw_fota_progress_089.png -/usr/share/fota/res/images/tw_fota_progress_090.png -/usr/share/fota/res/images/tw_fota_progress_091.png -/usr/share/fota/res/images/tw_fota_progress_092.png -/usr/share/fota/res/images/tw_fota_progress_093.png -/usr/share/fota/res/images/tw_fota_progress_094.png -/usr/share/fota/res/images/tw_fota_progress_095.png -/usr/share/fota/res/images/tw_fota_progress_096.png -/usr/share/fota/res/images/tw_fota_progress_097.png -/usr/share/fota/res/images/tw_fota_progress_098.png -/usr/share/fota/res/images/tw_fota_progress_099.png -/usr/share/fota/res/images/tw_fota_progress_100.png -/usr/share/fota/res/images/tw_fota_progress_bg.png -/usr/share/fota/res/images/tw_fota_progress_final.png -/usr/share/fota/res/images/tw_start_downloading.png -" - -WITHLIBS=" -/usr/bin/fota_gui -/usr/lib/tdm/libtdm-default.so -/usr/lib/bufmgr/libtbm_default.so -" -- 2.7.4